diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fe3960b --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +*.pi +*.pyc +/.project +/.pydevproject +*.egg-info +._* +*.tmproj +*~ +mayaRenderLog.txt +mayaJournal +mayaLog +shelf_*.mel.deleted +autobak.mb \ No newline at end of file diff --git a/2009-x64/AnimationScripts/ChinaMarkerDocs.mht b/2009-x64/AnimationScripts/ChinaMarkerDocs.mht new file mode 100644 index 0000000..9d0350d --- /dev/null +++ b/2009-x64/AnimationScripts/ChinaMarkerDocs.mht @@ -0,0 +1,2704 @@ +MIME-Version: 1.0 +Content-Type: multipart/related; boundary="----=_NextPart_01C6F537.9C6307E0" + +This document is a Single File Web Page, also known as a Web Archive file. If you are seeing this message, your browser or editor doesn't support Web Archive files. Please download a browser that supports Web Archive, such as Microsoft Internet Explorer. + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs.htm +Content-Transfer-Encoding: quoted-printable +Content-Type: text/html; charset="us-ascii" + + + + + + + + + + + + + + + + + + + +
+ +

+ +

 

+ +

1)    What is China Marker

+ +

 

+ +

Chi= +na +Marker is a Maya tool that lets you sketch within the Maya viewport.  The sketches do not interfere with +selection and can easily be made invisible.  The tool is based on the Grease Pe= +ncil +tool developed by Jason Schleifer.  It is an evolution of that tool si= +nce, +like actual china markers, you can use many colours to +sketch on multiple frames.

+ +

 

+ +

 

+ +

 

+ +

 

+ +

2)    Installation= +

+ +

 

+ +

The= + archive +contains 3 main parts.

+ +

a.    chinaMark= +er.mel  - the Maya script file<= +/span>

+ +

b.    chinaMark= +erIcons – directory containing = +icons

+ +

c.     docs – directory contain= +ing +documentation file

+ +

 

+ +

Mov= +e both the chinaMarker.mel a= +nd docs/ +directory to your user Maya scripts directory.  Move the chin= +aMarkerIcons/ +directory to the prefs/icons/ directory.

+ +

 

+ +

 

+ +

3)    5 Minute Tour

+ +

 

+ +

To = +start +the tool, source chinaMarker.mel and type:= +

+ +

chinaMarker_GUI;

+ +

 

+ +

The= + tool +consists of 3 main areas: Sketch Layers, Frames and Stored Frames.  Sketch Layers displays layers that= + have +been associated to various cameras.  +Frames displays the frame numbers that ha= +ve +sketches on them for the selected layer.&n= +bsp; +Stored Frames displays those frames that have been made persistent f= +or +the selected layer.

+ +

+ +

To = +start +sketching, make sure your camera view is set the camera you want to sketch = +on.  Add a new sketch layer by pressing  the +‘+’ button.  This = +opens +a dialog where you select the camera you want to associate with this +layer.  Tip: Name the layer wi= +th +some hint of what camera it belongs to.&nb= +sp; +Also, do not use underscores (_) in the name.

+ +

 

+ +

A new layer is made with one n= +ew +frame in the Frames scroll view.  If +that’s not the frame you want to sketch on, scrub the timeline to the +desired frame.  Press +the ‘+’ button next to the Frames area.  This creates a new sketch on the c= +urrent +frame.  Now enter draw mode by +pressing the pencil icon.  Now started sketching in the current camera view.= +

+ +

 

+ +

If = +you want +to change colours, press the colour +swatch below the pencil icon.  This +opens up a dialog where you can select one of 31 colou= +rs.

+ +

 

+ +

If you want to slip the timing= + of +the frame, use the up and down arrows to move the frame forward and back +through the timeline.  This ch= +anges +the frame number of the selected frame only.

+ +

 

+ +

If you want to slip the timing= + of +the current frame and have it ripple through the rest of the frames, use the +multiple up and down arrows.

+ +

 

+ +

 

+ +

You’ll notice that the +sketches will ghost in and out as you scrub through the timeline.  If you want a sketch to be persist= +ent +through the whole time range, store the frame.  Press the store frame button.  This will open up a dialog asking = +for a +new name for the frame.  Once = +this +is entered the frame will be removed from the Frames area and will be moved= + to +the Store Frames area.  Expand= + the +frame in order to see it.

+ +

 

+ +

 

+ +

4)    Usage In Depth

+ +

 

+ +

a. = +Sketch +Layers

+ +

 

+ +

Add or remove a sketch layer.<= +span +style=3D'mso-spacerun:yes'>  A layer is associated to a specific +camera.  It is useful if the s= +ketch +layer name contains at least some idea of what camera it is attached to.  It’s easy to get confused ot= +herwise.

+ +

 

+ +

 

+ +

The visibility toggle turns the +layer invisible/visible.  This +affects both numbered frame sketches and stored frames. + +

 

+ +

 

+ +

The templ= +ated +toggle makes the layer either templated or non-= +templated.  Templated layers will not display any associated colours.

+ +

 

+ +

 

+ +

 

+ +

The postG= +host +and preGhost toggles affect how the sketches are +displayed when scrubbing.  Fra= +mes +display ghosted a few frames before and after their position in the +timeline.  You can turn off th= +is +ghosting feature for either before or after their timeline position.

+ +

 

+ +

 

+ +

b. = +Frames

+ +

 

+ +

Add or remove a sketch frame o= +n a +frame number.  When adding a f= +rame, +the current frame in the timeline is used.

+ +

 

+ +

 

+ +

 

+ +

The single up and down timing = +arrows +are used to affect timing on the selected frame.  All other frames are unaffected.

+ +

 

+ +

 

+ +

 

+ +

The multiple frame +up and down timing arrows are used to affect timing on the selected frame a= +nd +all other frames further down the timeline.  This will ripple the timing across +multiple frames.

+ +

 

+ +

 The selection button will select the +sketch curves for the selected frame.  +The curve geometry can then be deleted or can be manipulated using +translation, rotation and scale.

+ +

 

+ +

 The draw mode button allows sketchi= +ng in +the camera view for the currently selected frame.  The curves will be displayed using= + the +current colour.  +To change the colour, press the colour swatch and select a different colour.  Tip: The colo= +urs +are from Maya preferences.  If= + the colour preferences have never been modified, a requir= +ed +file will not exist and the dialog box will be empty.  Simply go to the Maya colour preferences gui +and make sure you save the colours to generate = +the +needed file.

+ +

+ +

 The lock/unlock toggle will allow +modifications to the actual sketch geometry.  By default a sketch frame is +“locked”.  If you = +unlock +it, the curves become selectable and they then can be deleted (or +“erased”).

+ +

 

+ +

 

+ +

 The store frames button allows you = +to +change a sketch frame to be persistent across the whole timeline.  By default a  sketch is associated to a f= +rame +number.  When you store a fram= +e and +give it a new name, the frame will be displayed while scrubbing across the +entire timeline.

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ +

c. = +Stored +Frames

+ +

 

+ +

 

+ +

The visibility toggle turns the +stored frame visible/invisible.

+ +

 

+ +

 

+ +

+ + + The select button will select the c= +urrent +store frame.

+ +

 

+ +

The template toggle +will template/untemplate the stored fram= +e

+ +

 

+ +

 

+ +

Use this to delete the selected +stored frame.

+ +
+ + + + + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image001.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP +ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e +Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAK+AcEDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1R9A8 +F2uI7vVdc1C5AxLLFdeTGSP7qquAKb/ZPgT+94h/8GTf4VzPifXjperm0aeCytoYI5ppntGuWIdn +X5UEkf3fLJPJzntjmr4z1DxLovhe08U6ReaLruj3MRm82HT5opI4w+xmZDKeFbCsQSFJXOAyk3PF +UoNrV2PTpZRWqKF5Jc217/LW1vxOw/snwJ/e8Q/+DJv8KP7J8Cf3vEP/AIMm/wAK5T4VeJbjxd4e +uL68s4IJra8e2YwltkmFVgwB5XhwCMnkH6Cr4h+I2h6Xrc+jWOla54gvbVS15Ho9kbj7L/10OQB+ +GcYOcVvCdOUVJPc4MRQnh6sqU94ux2v9k+BP73iH/wAGTf4Uf2T4E/veIf8AwZN/hXLx+N/D86+G +3tPtN1F4ilaKykjiwAVHzb9xBABBHAPNdU0SgElOnoK05Y6+RgpXG/2T4E/veIf/AAZN/hR/ZPgT ++94h/wDBk3+FY3gnxBp/i3QhrGm211DbmaSELcxbH3IcHgE8fj+RyK2/JH92nyx3C43+yfAn97xD +/wCDJv8ACj+yfAn97xD/AODJv8Kd5I/u0eSP7tHLELjf7J8Cf3vEP/gyb/Cj+yfAn97xD/4Mm/wr +K0XXNM1bWtY0i03/AGrSJY4roMABl03KVweR1HOOQaPCmt6b4m06XUNLDtBFdS2xLgDLRtgkYJ4P +UexFJKL/AD/r7wvY1f7J8Cf3vEP/AIMm/wAKP7J8Cf3vEP8A4Mm/wp3kj+7R5I/u0+WIXG/2T4E/ +veIf/Bk3+FH9k+BP73iH/wAGTf4Vj+DNe0/xXozarpsFxHbi4kgxOoViyNgnAJ49K2vJH92koxau +Fxv9k+BP73iH/wAGTf4Uf2T4E/veIf8AwZN/hTvJH92jyR/dp8sQuN/snwJ/e8Q/+DJv8KP7J8Cf +3vEP/gyb/CneSP7tVdXu7DSNMudT1KZLa0tozJNK2cKo+nJ+g5NJqCV2NXeiLH9k+BP73iH/AMGT +f4Uf2T4E/veIf/Bk3+FcV4Z+I2h63rVppT6VrmkTXyGTT31KyMMd4oGSYmyc8YPOOort/JX+6KFG +LVxcw3+yfAn97xD/AODJv8KP7J8Cf3vEP/gyb/CuC1j4qeGNM1O6tmsNaurKxnFve6pa2Rks7WQn +BV5M5yCRnAPXjNd7EsUsSSxFXR1DKynIIPQiiKhJXQN2dmH9k+BP73iH/wAGTf4Uf2T4E/veIf8A +wZN/hTvJX+6KPJX+6KfLELjf7J8Cf3vEP/gyb/Cj+yfAn97xD/4Mm/wp3kr/AHRR5K/3RRyxC43+ +yfAn97xD/wCDJv8ACj+yfAn97xD/AODJv8Kd5K/3RR5K/wB0UcsQuJfaV4FvoLeC+k8RXUVsxa3S +bUmdYiVZSVBHynazDjsxHc1c/wCKZ/6Cvi3/AMHMlVPJX+6KPJX+6KOWIXI7rRfAN3O1xdf2/PM+ +N0kmoszHAwMkjPQVF/wjvw5/599a/wDA4/8AxNWfJX+6KPJX+6KfzMnRpt3cV9yK3/CO/Dn/AJ99 +a/8AA4//ABNH/CO/Dn/n31r/AMDj/wDE1Z8lf7oo8kf3afzYewpfyr7kVv8AhHfhz/z761/4HH/4 +mj/hHfhz/wA++tf+Bx/+Jqz5I/u0eSP7tHzYewpfyr7kVv8AhHfhz/z761/4HH/4mj/hHfhz/wA+ ++tf+Bx/+Jqz5I/u0eSP7tHzYewpfyr7kVv8AhHfhz/z761/4HH/4mp7HSvAtjKZrJ/ENrIV2l4dS +ZCR1xkDpwPyp3kj+7R5I/u0vmNUqcXdRX3Fv/imf+gr4t/8ABzJR/wAUz/0FfFv/AIOZKqeSP7tH +kj+7S5Ymly3/AMUz/wBBXxb/AODmSoZ7nwhAQJ9d8URE8gPrjrn86i8kf3a3vhzMtk+sTRxoszXa +oZMfMVEMZC59MsTj3NJpJBcwv7R8E/8AQx+JP/B89H9o+Cf+hj8Sf+D569L/ALZuP+ep/Oj+2bj/ +AJ6H86i/l+IzzrzvCfkef/bfirysZ3/23Jtx9ah/tHwT/wBDH4k/8Hz0vk23/CwsfZIPJ/tbf5Wz +5M/Y9+cdM7vm+vNbnjj4qx+EtTgsLvSdYvGntxcJJaeQU2l2XB3yqc5Q9sdKprshLUwv7R8E/wDQ +x+JP/B89SW914QnYi317xRKy8nZrkhI/Kof+F/WP/QueJfytf/j9aPifWLbxPovhjXoYCBeMk0LS +qBKsUlu7hDgn/ZyMkZFCWuqsMof2z4JsWFt/wlXiS2MShBH/AMJC6bABwuOwxjiop9b8AzsGn8Wa +/KQMAv4iY/zNZ/wpk1vVLax0bRtUstOlltxK81yGkGQu5isaspkck5I3rwWbJ27W0b3xR4lsNcPh +68066/tzescdlDMXNwWyVaJjgNGwViHO0KFffsKOF8h5hU+KMNPU+iqZNTp1XSc9Ur720+aIkv8A +4cvqEF0viLW2u4vMWGUa8TInmsrSBT1G9lUkD7xUE9BVzVtR0zwppkuuHX7q78PRgtetfbpbi0IT +hwVUs6kKFwckcYwBgs8er4k0eCLT/EOo6Zei8h8ww2xf91nIaN1cneo6CT5d/wA37tNvPNT6f/bP +w0g02e2jvhqNrZwyQzzvEk++SJSryKCyg7iCwBIySATXVh67rOUJqzRwYzAxo0IV4SupX/D7jj/+ +GrPh5/0BvFP/AICwf/HqKwv+GUpv+fKP/wAK0/8Ayrop2POOi+KeoQaR8bvDdldWyXCXkNtEFkn8 +pUd5pkjkLFXGEdlfBVgQpBBBNdRaa1p1z4xX4eeIPFDTaj9oKLbanA7O1nJKfKjacnHn/ZJbk4ZS +zefjhkUju/iv8AfCnxH1ex1bV7vWLC9s4fJWXT7hELpu3KGDow+UliCAD8xznAxT1/8AZ+s9didN +S8eeMpDI0TTSRyWUUs7RACMyyJbBpSoAALk4rFUvek+7PUrZh7SnTitOVJfd1/ryPIv2PI5L34W6 +pMi5ZdYmVfc+RCf61sfsvWqzfD++Zwf7TOr3P9p7j8/nbh978MfrXtnwr+E3h/4b+Fv+Ee8P/a5I +GuHuZZruUPLLI2BuOAFGFVVAUAYUdSSTz/in4A6HqviS68QaLr/iTwpf33N82iXxt1um/vOMHnr0 +wCSSRkk10U5ez27W/FM8+vUdaTk973/NHk/xs0RZ/FHw80vTb2XTEn1O4hWezIDxZUb9h6K33hns +ee1P8K6Xq2nfEvxH8OZvFGvahp82jreW91dXW+8tnYhDslx+I4wCBx1J9etfgV4bs7bwxBYz39sn +hy6kurVRJvWR3+/v3Ak5PPBHJPbitxPhlp0fxHm8cpc3f26ewFhJASph2BtwIGMhs+5HtTTSuk92 +/u5dPxMnd7dEv/Sv8j5PsNb8TSfADSdRi8R6ompP4lW1F7JcNJIFLkANuPzL/sng12+n6fqfgb4w +aN4fbxRrus6VrWnzyyLq1157RSRAtuVsDaMcYH454x6lbfs/eHrfwLD4QTVNWNlBqi6nDKzR+aJA +xIVjswV57AH3rpNc+F+m6v4y0PxVcXNyt5o8MsMcS7fJlWQYbeCM59MH86pTs7p/1ypf+lBNJ3tt +/wDbN/kfI2s+IvEsVwfiD4aXxj/wjjaqAlzf65G9pIjSbXQWhTcFySqnccYB4I4+nxYkx+ZyFxnJ +9K5q+/Zb8L3NvNp8fibxZBo5lae20xb/AHW9nIWyGiUqRkZYAtuOGOcnmvXf+EYDaMdOknlOYDCZ +lwH+7jd0Iz36daFU5adlv/wP8/zBq879P+D/AJHxJ4c1q+8M3uu+PnmeW08UvqUFntGcTxNm3Gff +5wPpW54Ams/hx4V8feG/EF5qCf2b9nnaSzbbcFrmFFzEegYNjBPTrX0Zp3wP8NWngfR/CTNc3Fpo +98l9aSy7fM8xXLjdgAEEsQcAZBpviz4F+GPEuuaxqepS3xGsafHZXUCOqoPLYNHKhxkSKQOSSOME +EZqb8q5YvS1vlvf1b0+4d7y5n3v872/BfifP/wAMLnxpo3xQ0nQ9eg8R2tjrdlLIkOsa1HqLs0a7 +g6FUUx46FT1zz0GNX4EeHdY8Tad/wlGs+MfEtx9k1OeOCxW/ZYGRG6Sj7z854zjAA6cV6t4d/Z50 +3SPFOmeJpPF3inVNT00kQy6heCbMRUjyjlfuDLEAY5Y9eMdh8Ovhnp3gjRZ9I025urm3lupLkNcl +S6s5yRlQBj8KrmV79k/zTX4EWdrd2vyaf4nx38KtavtQ1bRfBN1d6loOhyatdyNe27vCdQn35W2E +q42DBGcHJyBwSDXTfELxBquofFTV/Dcg8fx6To0MSJF4Ti3TvK6hvMlkJyFwSAOc4zwQc+8t+z/4 +ZfwFceD5L3VDbNfnULe7EiC5tpi27cjBcdyPu9Ce/NSeK/gXpmvX9prKeI/EWja9Dara3Gq6VdC2 +nvIxjAlwME8A5AH5AARGVoxT6f5L8np9z3LespNdf8/1X46bHznqet+PD8J/Lu5/EOkXkHiKCzsL +6+ga2uprZgdhlH8ZH8XJB7knJr3LwZ4Kfw7azo+va7rUtw4d5dTuzMUwOiDACL1OB+fArob34J6V +e+BLDwleazrNxFY3y3yXcs4knklVy+XZgcgliTjHtiu+j0NVRVIyQAM461pGaV9f+Gsv1TIavb+u +r/Rnzh8TJtQ8EePdC8WXGoXn/CM3h/s3U4GmYwW7tzHPszheRgkdh71Y+EceoeL5dc8ZX812+lal +M1tpVjJI3krap8pkMZO3c5BySM4Hoa9w8aeAtL8W+F7/AMO6vE7Wd7F5blCA6HOQykggMCARweRT +F8AWcXgo+FbG4udOtvsf2SOe0ISWJdu3KEggMB0ODUqfKn17fPf+uzZTV2vx+X9fgfPWko/xD+Ny +39kqt4e8G+ZDHOo+W5vHUKwU9Nq8dP7o7MK9ZvNOm+yTeUG8zy22465xxWJ4X/ZstfDL266N8RPH +FrbQTCYWkeoKkDkEEhkVQCDjkd67XSPhRpmmfEjVfHUF9qDX2qW6QXMDygwYRVAKrjj7o6k45xjN +PmXJyX73fn/w/wBysL7XN6fd2/U+cPh7BA/7J+tyT7fMS31D7Vn73nZb73+1939K9R+EWn3B+F3h +gzg+Z/ZcGfpsGP0xWtrH7OPhe/128vY9V16002/uvtd7okN6RYXEuclmj68kA4zxjjA4r1K38Pw2 +8EcEUYWONQqgDAAFONXRt7u34X/z0E1rZef4nAf2c3oaP7Ob0Neh/wBir/do/sVf7tP2oWPPP7Ob +0NH9nN6GvQ/7FX+7R/Yq/wB2j2oWPPP7Ob0NH9nN6GvQ/wCxV/u0f2Kv92j2oWPPP7Ob0NH9nN6G +vQ/7FX+7R/Yq/wB2j2oWPPP7Ob0NH9nN6GvQ/wCxV/u0f2Kv92j2oWPPP7Ob0NL/AGc3oa9C/sVf +7tH9ir/do9qFjz3+zn9DR/Zz+hr0L+xV/uij+xV/uij2oWPPf7Of0NH9nP6GvQv7FX+6KP7FX+6K +PahY89/s5/Q0f2c/oa9C/sVf7oo/sVf7oo9qFjz3+zn9DR/Zz+hr0L+xV/uij+xV/uij2oWPPf7O +f0NQaE4tbnVoWIBF6Dyf+mENek/2Kv8AdFeTeNbux0TxVrmmaxbyGzv42QrkKJYpbVYW2sQRkHd1 +Bq6cud2E9Do/ti/31/Oj7Yv99fzrxO58KfCSa3kh/s6/j8xCu+O6twy5GMg/Z+DXXf8ACVaf/wA/ +MdbeyYcyNrP/ABVH2vPH9q7c/wDbhWlb6hLb+P714bl4vM0CwzscjOLrUPSsfdL/AMIb/wAJH9mm ++zf23v37P+WX2Tyt/wDu7+M1iX+s+GdQniub2DfcxW4tvOh1K8tmaNXd1VhDMithpXwSM/NUuDlt +0BOx6JrWqXNz4d1mGS8lkVtLvMq0hIP7hz0rjPCDfaPAHgKAHJ+yWvA9rJ6yE1DwkjEiC5IIKsra +9qTKykYKkG5wQQSCDwQSDW98N2sr/XtC0bSYma0sM8LllhiS3kRQWPPVlAzyafI4puwXTPP/AAxL +eGLSoNMiuJ9Rk8tLSG3OJXkC5G05GCMFixICgFiQASPpjT5Z4odP0/WtS0M+NX0+YQzLbllXcQWA +XcrMmUQsAY/M8osAmMJ8z+CvGOofD/V5sWsMd/HAbSaC7ic7OVJ4UjnKjv0NUL3xdLe6u+r3OpzP +fvIJTPyHDDoQR0xgYxjGBjGK+dpSdFPTU/RMwwEsxmrySglo922/0/M6XxY+tweIb+28TK6awrB5 +9z7lkU5CyRtgbojg7SAMbSpCsrKvV6HalPBnh2Yg4P8AZn6zQVwnjL4j33jCHTrfUBbyzWgZIzBC +weZn2g5GcZJUdAByeK9ln0efTfhh4bW5haK4ibSY5UI5RhLCCD9DxXTgly1JNbM8jP3NYWjCrZSV +9Ft8jo6KKK7D5Y5PQLK8vfDum6ldeKNXikurWKZwHhChmQMQMx9Oat/2Yf8Aob9W/wC/0H/xurXg +Wygv/Bmhw3DlEGnW7A+/lqP61s/8I1pn/Pw351M63LKw1C6Oc/sw/wDQ36t/3+g/+N0f2Yf+hv1b +/v8AQf8Axuuk/wCEa0z/AJ+G/Oj/AIRnTP8An5b86j6x/Wg+RnN/2Yf+hv1b/v8AQf8Axuj+zD/0 +N+rf9/oP/jddJ/wjWmf8/LfnR/wjWm/8/LfnR9Y/rQORnN/2Yf8Aob9W/wC/0H/xuj+zD/0N+rf9 +/oP/AI3XSf8ACNab/wA/LfnR/wAI1pv/AD8t+dP6x/WgcjOb/sw/9Dfq3/f6D/43R/Zh/wChv1b/ +AL/Qf/G66T/hGdN/5+G/Ol/4RnTf+fhvzo+sf1oHIzmv7MP/AEN+rf8Af6D/AON0f2Yf+hv1b/v9 +B/8AG66X/hGdM/5+G/Oj/hGdN/5+W/Oj6x/WgcjOb/sw/wDQ36t/3+g/+N0f2Yf+hv1b/v8AQf8A +xuul/wCEY03/AJ+W/Ok/4RjTf+flvzo+sf1oHIzmv7MP/Q36t/3+g/8AjdL/AGYf+hv1b/v9B/8A +G66T/hGNN/5+W/Oj/hGNN/5+W/Oj6x/WgcjOb/sw/wDQ36t/3+g/+N0f2Yf+hv1b/v8AQf8Axuuk +PhnTf+flvzo/4RnTv+flvzo+sf1oHIzm/wCzD/0N+rf9/oP/AI3R/Zh/6G/Vv+/0H/xuuk/4RnTv ++flvzo/4RnTv+flvzo+sf1oHIzm/7MP/AEN+rf8Af6D/AON0f2Yf+hv1b/v9B/8AG66P/hGdO/5+ +W/Oj/hGdP/5+W/Oj6x/WgcjOc/sw/wDQ36t/3+g/+N0f2Yf+hv1b/v8AQf8Axuuj/wCEZ0//AJ+W +/Oj/AIRnT/8An5b86X1j+tA5Gc5/Zh/6G/Vv+/0H/wAbo/sw/wDQ36t/3+g/+N10f/CM6f8A8/Lf +nS/8Izp3/Py350/rH9aByM5v+zD/ANDfq3/f6D/43R/Zh/6G/Vv+/wBB/wDG66T/AIRnTv8An5b8 +6P8AhGdO/wCflvzo+sByM5v+zD/0N+rf9/oP/jdH9mH/AKG/Vv8Av9B/8brpP+EZ0/8A5+W/Oj/h +GdP/AOflvzo+sf1oHIzm/wCzD/0N+rf9/oP/AI3R/Zh/6G/Vv+/0H/xuuk/4RnT/APn5b86P+EZ0 +/wD5+W/Oj6x/WgcjOb/sw/8AQ36t/wB/oP8A43R/Zjf9Ddq3/f6D/wCN10n/AAjOn/8APy350f8A +CM6f/wA/LfnR9YDkZzf9mN/0N2rf9/oP/jdH9mN/0N2rf9/oP/jddJ/wjOn/APPy350n/CM6f/z8 +t+dH1gORnOf2Y3/Q3at/3+g/+N0f2Yf+hv1b/v8AQf8Axuuj/wCEZ0//AJ+W/Oj/AIRmw/5+W/Ol +9YDkZzn9mH/ob9W/7/Qf/G6P7MP/AEN+rf8Af6D/AON10X/CM2H/AD8t+dH/AAjOn/8AP0fzo+sB +yM53+zD/ANDfq3/f6D/43R/Zh/6G/Vv+/wBB/wDG66L/AIRmw/5+W/Oj/hGbD/n5b86PrIezZzv9 +mH/ob9W/7/Qf/G6P7MP/AEN+rf8Af6D/AON10X/CM2H/AD9N+dJ/wjNh/wA/R/Oj6yg9mznf7MP/ +AEN+rf8Af6D/AON0f2Yf+hv1b/v9B/8AG66L/hGbD/n5P50h8M2H/P0350fWUP2bOe/sw/8AQ36t +/wB/oP8A43R/Zh/6G/Vv+/0H/wAbrof+EZsP+fpvzo/4Rmw/5+m/Ol9ZQvZs57+zD/0N+rf9/oP/ +AI3R/Zh/6G/Vv+/0H/xuug/4Rmw/5+W/Oj/hGrD/AJ+W/Oj6yh+zZz/9mH/ob9W/7/Qf/G6P7MP/ +AEN+rf8Af6D/AON10H/CNWH/AD8t+dH/AAjVj/z8t+dH1pB7NnP/ANmH/ob9W/7/AEH/AMbo/sw/ +9Dfq3/f6D/43XQf8I1Y/8/LfnSf8I1Y/8/LfnR9aQezZgf2Yf+hv1b/v9B/8brGvZLmHWbrTTq91 +qFsiabOvnMjEO2oxqfuqOyj8zXcf8I1Y/wDPyfzri/EFjFYeMLyGF96taaU2ff8AtNR/StKVZTlY +mUGlc7aiiiqEZfgCWeHwdojW9v57HTbcFcZ48tea3/t2pf8AQK/8dNcz4MF+fBOh/wBnlxL/AGdb +52jJ2+Wv9cVp7fFOf9ZP/wB8n/Cs6kbyNqdSMVZ2NP7dqf8A0Cv/AB00fb9T/wCgV/46azNvin/n +pP8A98n/AAo/4qdcGSeVFz95gQBUchftoeX4mp9v1P8A6BQ/75NA1DUj00sH/gJqrc3/ANgsWm1D +UCI1HzvI+B+X9K5m38R3ereIbeHw5NfSW/lyLMREwi3cEN9eCOfauqngalSDmr2X3HBWzWhSqRpy +teTSSvrq7Xt2OvOoaiP+YWP++TS/b9T/AOgT/wCOmoIftPlL9sJM/wDGT1rnfDd94nu7CSY3U7KL +iRFLDsGwO1Z/Vn7N1L7W/H/hjb69BVlScd769NLf5nU/2hqP/QLH/fNBv9SHXSh/3yazddnntdCv +7mGQxzxWskiOOqsFJB/OofDk2uXWlWV1qMsssM1skm5h94lQc03hWoKd9L2JWPg6jpcutr/jY2Bq +GpHppY/75NH2/U84/sof98mue16+1aDxHollplxJH9q8/wAxFH39qAjP05ratH1JIyb2WQT9M9Di +ieFcOW73V/xa/QdLHwqc6UdYuz+5P9Sf7fqf/QK/8cNIdQ1LOP7MGfTaaz5pNf8AO22948qn7vHN +Txtdpbl9QLGZQS2Rzj/9VZRpNuxtLExjG6Sf3ln7dqf/AEC//HDSG/1IddLA7cqa5nwfeeLNQ8O2 +t61zPN5u47yvXDEdh7Vv2j6gYSL6dnfd93+7/wDXq6mGdOrKm3s2vuM6OOhWoRrRj8STt111LP27 +U/8AoFf+Omj7fqf/AEC//HTWOs2vx3jWNtdSyqq74icsSmcYJ7kZAz7j1qf/AIqv+9L/AN8H/Con +ScXa5rTxMJxvZfiaP27Uv+gX/wCOGj7fqOf+QX/46azs+K/70v8A3z/9apJ31RrDdHdut6oyGzwS +P4T7dv1ohS5na4VMTGEb2T+8u/btR/6BX/jpoF9qJ/5hf/jprJsrrxDcQxXH2h1gfqxXGPUfUcjH +tS63earbT2ktpdOI5JPJkU8jc+NjfmNv/AhVRw8pNrqRUxlOCUrJp+vXqa327Uf+gYP++TSG+1AD +J0wAD/ZNZ3/FVf3pf++f/rVNaPq4Z11Cd8YwExjP1qFTu7Gsq8Yq9l+Jb+36gf8AmF5/4CaPt2of +9Ar/AMdNZV5Nq9veRpZ3LmGc4VTzsfHQexA/Me4qT/iqv70v/fJ/wpzouL3Jp4mE1sk/maP9oX3/ +AEDB/wB80fb7/wD6Bf8A46az9XvDp2k3N80fmmCIyFN2N2B0z2p2iX13dafDdy2k1i8qhhGzg5Uj +III6g59q1+qS5Oe+m3Q5/wC0aftPZcutr9dvXYvfb9Q/6Bf/AI6aQalfZwNMB/4DWJa6vrF/rGo2 +NlcSSCykRXIGeGXI/kw/CpPFdzc2fh29ubOV4p448xunUHI6U4YOTqKm3Zu347CqZlSjRdaKTSvt +fpv+Rsf2jqA/5hf/AI6aX+0NQ/6Bf/jpqjps2of2bGdSumd9gLbj93A7+9ZGmeJdQ1rWbi20kXU1 +hb4ElxjKE55H5dPxpLBzlGUlstxyzKhCcYSsnLbfXr/TOk/tK+HXTB/3zQNSv2zjTAcei1leI9U/ +sfSnvvs5uCrKojDbSSxA6/jWUsvje71Wxlj0W70q3j8zzgLgOJMr8u5QAeCPQ9a0hgZSg6jkktd2 +uivZLd/8ExqZvThVVLkbk7bKTsm7Xb2SWr1fQ6o6jfjrpn/jpo/tC/P/ADC//HTVe3+2eUPt+7z/ +AOLIwfas3w9rFxqkl2f7Olt4YJ3hWcSBldlOCOxB79PxrOGFlODmnovQ2qZhTp1FTcdXe2/T+upt +fb9Q/wCgV/46aQ39/wD9Ar/x01j6vrGoQ65Y6ZaXEjS3ccjKo5IKDP6jP/fNT7vFPrN/3wf8KznQ +lC3N11RvSxdKpflto7PfR6P8maP2+/8A+gX/AOOmk/tC+/6Bf/jprO3eKf8Apt/3wf8ACjd4o9Zv +++D/AIVnyG3toeX4mj/aF9/0C/8Ax00HUL7/AKBf/jprO3eKPWb/AL4P+FJu8Ues3/fB/wAKOQPb +Q8vxNH7fff8AQM/8dNJ9vvf+gYf++TWdu8T+s3/fB/wo3eJ/Wb/vg/4Ucge3h5fiaP2+9/6Bf/jp +pPt17/0Cz/3yaz93if1m/wC+D/hRu8T+s3/fB/wo5A9vDy/Ebrni2z0Pyf7XSOz8/d5W+Jzu24z9 +1T0yPzqh/wALH8Of8/1p/wB+5P8A4ms7WpdVTx54WfUFLEG6EYkXjmMA/wBK7MTyH/lhb/8AfFNU +0Zyru+hzv/CxvDn/AD/Wn/fuT/4mj/hY3hz/AJ/rT/v3J/8AE10glc/8sIP++K57xlrPi3TmtE8M +eDLLXzKHM7TaglmkGNu0ZKsWLZPQcbeeop+zQvbSI/8AhY3hz/n+tP8Av3J/8TR/wsbw5/z/AFp/ +37k/+Jqv8JvHX/CeaBe376ENJu9P1KfTL21dllCTxY3bJFwHX5h8wA5zXY5b/njD/wB8UezQe3kc +t/wsbw5/z/Wn/fuT/wCJq1pHjPTdXu2tNLaG7nRDIyJE4woIGclQOpH51v5b/njB/wB8VxN+9+3x +WYWK7JV0UA+Wv8PnZ/mRSdNDjXd9TrPt93/0Dv8Ax01w/iSaSbxjdvLD5JFnpQ24x/zE15rp93iT ++9N/3yf8K5LWDfHxbefbyxl+y6VjcMfL/aa//XrSjC0h1qsZRsrHdUUUVZzmB4VnvLfwNoT2JcSH +T7cHaOceUP8A61W/7V8RD/lpcfkKTwFeR2Xg3RJZYhIDptuuD/1zX/Ctz/hIbT/nyj/SqcLsxnKz +MX+1fEf/AD0n/IVe0u81O58xdQeUgYKBgB65q5/wkNp/z5J+lNl12zkiZDaKuR1GARTULMhyucn4 +20q81PWdOzE81hErMyL03+/4fyPrWjb3uu28Kw26yQxIMKiIqqB7ACkm8RG1YrdaddSKOktsokU/ +Vc7h9Ofqao3HjASajp8WmxXig3SfaRJa4DR9xkg45x0/Ou+VCviIxj9mK+Xf7zyViMLhak5/bk16 +9FZXtojp7OS4mtkkuiTMw+bPWubTxZd3BkNj4dvbmNJGj3hgFJBwa0ta8T21rOrDTdQnEmTi1hDh +cevIqt8PtUSx0BormwdXa5lkAlXa2GbIyDSpU1Ci6k432tr632ZWIrSq4mNClPl0bdlftbdNdS94 +lJbwvqbEbSbKUkenyGqfg671OTSNPguGkNqtnHsBAxwox+lVPFPiGJrK/wBNi0vVJnmt3jWSK33R +5ZSBzn354rU0nWIbfwnp9vJZuslvZxBwq/OSqAEY9faidKSw6v1f6BTrRljJWe0bP1uZniyW5g8V ++HZbQsJl+1bcDn/VjP6ZrfguLyXTzPdljOFY/MPTOK5ZNcW/8Y6HeppOoxQ2f2jzTcwbF+ePA5ye +4/lW1r/iS2hLD7BeyeajY+zw71TAxzg8VVajJulC2vL/AO3SZGGxNNKvVv7rlvr/ACQX5jPCutya +npVtcXkHkSSjhh9xznHB7H2P4ZrU1iVxpl3K7sSsDncTzwprK8Dapb2vg6xsrqwVmWNldZF65Y9Q +frSa9fE6ZfRWcTyLLbyKiFssrFSBgnqM468/XoJqQj9ZcY6JS+VrmlGpU+pRnLVuK9b2K3w9udWT +QrCBZZI7RItw4HIJJwPzq94mttYuzZJpckUSpOss7uxBIU5CgY5/+sKraJqYtPD2lRNayN5dqiy7 +fvKdo/h7989/rWJpc+s60099c6veadA0zCG3jRQQo9c/l+BrVU37ada6Su99d79Ec0qqWHpYZRk2 +4rbTRJX1f3Ha3cc7wh7aUwXMfzROOzY6H2PQ1lw614hlTcrTcEgjaOCDgj86htbxdF0u5lnvL/Ui +gMgEmC/0Ht/9eo/B+v6m97d3mo6fBBZ3AUxQnmQMONx+o4PToOK5pYfmpyknotn38rbnbHF8tWMH +FqUt1vbzbWnl/wAMaljqOvTXSJPLKkXViQBxRdatBBr1ppDKxluYnkBH8O3pn6/Nz7e9T6pr9sIl +kW0lIU8rCgLfXGefwrmvDWo29z441PWZoWeGGFba3EilSM8k4PI6H/vqjDYdOE5y2S/HZfncMZin +GpTpQfvSa+7d/grfM6a6ng02yubqaRkt0zM4zwDjnA9T+pPvVPTblPEPhtZ3jeBbpGGP4k5IBB9e +AQaxPF4m1vVbLTwHi0jJluWU/M2D93+WPqT2rotQ1rTLPTvMjtmhgtYuI4lz8o6AD2rRwjGnDl1m +3f0WyXq2ZqpOdWopK1KKtr1b1b9Evvu+xR0nWPEdztjkmYOjmKZtowGU4Y/TuPYirniePUrvR7iD +TnT7VMNm+RsbQep6dcVgaFr15cX17djR5ILSYI6h5AGdx8pOD3K49vlHNV5b/VNa8QXUcN/d6Vp9 +uihdsYDu3fr+P5CrjhHTrOV0lHXXVLbTS/Uwljo1cPGCUpOV4qys3vrd2S0V7nWWkE7aVFb3sm6c +RqryIedw/iB7HIz7GqP9r+IUmkt2leSSI4ZlQfMOzfj/AIjtUGkJ9gnkmm1m/vgy42TbcD3GO9Ut +F8R6pe+Io7yLTY7bTY1aOTz/APWSjtj3B6fjzzWTw/tFK0k0tb7a9te50LFeycFKLUpaW307trtv +qbHi058K6iXyf9GfPbtUsDTXXh2H+z5DbyNaqIGlG7Z8o259aw/F+vRyWF9pcOmanNJNCUWSO33R +5Yeuf6Vt6fqluNEsYmt2jkitkVsDBJCjIx61ThKFCLfe/wCCJjUjVxU0noo2frd9Tn/CdtrGhxTo +jStcXEu66kwDub6n6n8810ev3iafpFxeyQiZIQHZD3AI/WsLw54i1e+1trx7SO10kKU8qVcySHs3 +sf07c9ai8Za/bT6Xf6VDaX7zOm1XWAlCeD1rV4epPFL2mrdm7dPL5GCxVGjgG6S5Uk1G63dtHr38 +9zd1uxXXdBe2juJYFnQMrLxnvg+x71R0L+09KtotNs4mhtUba6hRznqSe5PrWiNXgXSYGS1bzYrc +fIpALkL0571ieEtS1ifUZ9W1V/Itpo/Listo4HZjnkEZPuc9hisOSc6UlzWjF7d2dLqU4YiEuS85 +K17bL16av1ZteI9Si0nSnvZbdrhVZV8sYySSAOtZEev+JZtYVLOxv7KzEJ3pLEuDJnqDz2461Lee +K7aKeSBtF1icI2NyWoZGx3B3cioh4umk1XTo7SwvoYnl/wBJFza4ymOx5xzW1PDy9m04K7T1b8ux +z1sXD2yaquya91Ld36vtr+B0VjNdT2yyXu7ziTncMH2rH8Dyxtp97FGsi7NQn37jkMxbqPwxVrXP +Eltaskg0++nEnG21iD7cevIrO8DagkGj3qXFnLE019LMnmptcBsEcVlCm44aTfW36nRVqxljIRW6 +Ur/OxSj07WbPxbPq805uLjaVtmRcBIzxwOx5x+PvW1/a3iP+9N/3yKydV8QavNriWGjWqxJA6vNc +3C5UjrgD0I/H6da64a9a4GbWMnvxU4uFSXLOo9WtlbRdPQrL50o88KSdk3du+r66vV22Mc6r4j/v +T/8AfIo/tbxH6zf98itn+3rX/n0T9KP7dtf+fRK4/Znocxjf2t4j/vTf98ij+1vEXrN/3yK2P7dt +f+fVKP7dtf8An1Sj2Ycxjf2r4i9Zv++RR/aviP1m/wC+RWz/AG7a/wDPqlH9u2v/AD6pR7MOYx/7 +V8Res3/fIpP7V8Rf3pv++BWx/blr/wA+qUf25bf8+qUezDmOJ1a61G68eeFhflzte52bgB1QZ/pX +fpGK5bxbZad4imsp5J72xls/M8t7SQI3zhQcnB/u9vU1l/8ACOWX/Qe8Qn/t+P8AhSdN9DSNSNtT +0JYh6Vx/xvTUl+Fmtro9zrlreyRxxJNounm9vEDSIrGKIMpJ2k5IYFRlu1Zv/COWf/Qe8Q/+Bx/w +pP8AhG7P/oP+Iv8AwO/+tS9nIr2ke532gaDpmhaTb6To9jBZWVuu2KGJQqgevuSeSepJJNaItvav +MP8AhHLP/oP+If8AwO/+tR/wjll/0H/EX/gcf8KPZyD2ke56j9l9q811yW8tPi7MbHeJP7HUHaMn +HmD/AOtUH/COWf8A0H/EX/gcf8KveG9L07RdYk1UXmo30725t/8AS5hIApYNxxnqPXuaFTZLqRto +Xf7S8Q+s/wD3yK5fVJryfxXevfFvMFrpQG4Y4/tNf/r13/8Abdt/z7JXEeI7pLvxjdyIgQCz0pcD +/sJr/jWkYW1JhK7O0ooorM3OV0lynw+0Ej/nytv/AEUKr+e/rWv4Njjl8E6GskauP7Ptzhhkf6ta +1Psdp/z6wf8AfsU5XuKyZynnv60ee/rXV/Y7T/n1g/79ij7Haf8APrB/37FLXuLlRynnv60ee/rX +V/Y7T/n1g/79ij7Haf8APrB/37FGvcOVHKee/qaPPf1NdX9jtP8An1g/79ij7Haf8+sH/fsUa9w5 +Ucp57+tHnv611f2O0/59YP8Av2KPsdp/z6wf9+xRr3DlRynnv6mjz39a6v7Haf8APrB/37FH2O0/ +59YP+/Yo17hyo5Tz39aPPf1NdX9jtP8An1g/79ij7Haf8+sH/fsUa9w5Ucp57+tHnv611f2O0/59 +YP8Av2KPsdp/z6wf9+xRd9w5Ucp57+tHnv611f2O0/59YP8Av2KPsdp/z6wf9+xRqHKjlPPf1o89 +/Wur+x2n/PrB/wB+xR9jtP8An1g/79ii77hyo5Tz39aPPf1rq/sdp/z6wf8AfsUfY7T/AJ9YP+/Y +o17hyo5Tz39TR57+tdX9jtP+fWD/AL9ij7Haf8+sH/fsUa9w5Ucp57+po89/Wur+x2n/AD6wf9+x +R9jtP+fWD/v2KNe4cqOU89/Wjz39a6v7Haf8+sH/AH7FH2O0/wCfWD/v2KNQ5Ucp57+tH2hvU11f +2O0/59YP+/Yo+x2n/PrB/wB+xRqHKjlPtDepo89vWur+x2n/AD6wf9+xR9jtP+fWD/v2KNQ5Ucp5 +7+tH2h/7xrq/sdp/z6wf9+xR9jtP+fWD/v2KNe4cqOU+0P6mj7Q/qa6v7Haf8+sH/fsUfY7T/n1g +/wC/Yo17hyo5T7Q/qaPPf1rq/sdp/wA+sH/fsUfY7T/n1g/79ijXuHKjlPtD/wB40faH/vGur+x2 +n/PrB/37FH2O0/59YP8Av2KNe4cqOU+0P60faH9a6v7Haf8APrB/37FH2O0/59YP+/Yo17hyo5T7 +Q/rR9of1rq/sdp/z6wf9+xR9jtP+fWD/AL9ii77hyo5T7Q/rR9of1rq/sdp/z6wf9+xR9jtP+fWD +/v2KLvuHKjlPtD+tH2h/Wur+x2n/AD6wf9+xR9jtP+fWD/v2KLvuHKjlPtD+tH2h/Wur+x2n/PrB +/wB+xR9jtP8An1g/79ii77hyo5T7Q/rR9of1rq/sdp/z6wf9+xR9jtP+fWD/AL9ii77hyo5T7Q/r +R9of1rq/sdp/z6wf9+xR9jtP+fWD/v2KLvuHKjlPtD+tZIcv4jvyf+eGlj/ypJXoP2O0/wCfWD/v +2K47XY44vF94sUaIPsmlHCjA/wCQmtXC9w5UjuKKKKgo5zQtSstG+Gdhq+pTeRY2OjR3NzLtLbI0 +hDM2FBJwATgAmsTSvihYXnhq+8Q3HhfxPp1hbaH/AG7FLc2sbJd2uxn/AHckcjxiTAB8t2R/mBxj +JG3oVv8Aa/hnYWv2G0v/ADtGjj+y3bYgnzCB5ch2thGzg/K3BPB6V5Np/g/xzJo/inTNN8P6toHh +668DvpttoWpa4t/nUysir9ndppAkKoRHktEDlTs4yrluB7X4Y1e28Q+GtL1+ySaO11KzhvIUmADq +kiB1DAEgHDDOCfrUPiXxJovhz+zP7Zvfsv8AamoRabZ/unfzbmXOxPlBxnaeTgDHJFfP2j/C/wCI +WmfA7xN4Gg0iFdd1XS7SdNajvwslxsEYfTZyZGYGONXhjKfuGjbnYS24vPhFrcumNJY+FNROnQeL +NL1WXRdSvNOBvYIY2juDHa2yJaQlhIqkGQ+YIiW2nAZAfTFc78N/F+m+PPBdh4r0iC7gsb7zPKju +kVZRskaM5Csw6ocYJ4xXmPhrwNrVh8RdT1DWfA/9sahceMJdUs/E39qpB9k09oQEj3q32iTYoMX2 +Yp5RzgttGa534JfCXxP4M1H4Z6j/AMI//Zl3D/bA8WTR3kZZ1kAFqkm1z5ifJGQi5VWG4gMSaAPc +P+Ev03/hZP8AwgXkXf8Aaf8AY/8Aa/m7F8jyfO8nbndu37ucbcY79q6KvK9f0zxLpv7QyeNrLwrq +OtaQ3hMaUWsri1V1n+1mXBWaaPjaByM9R744f48eDfiP4w1PUtR0vwxMt0tnpz+HZ7P+zY7izkSQ +yTpc3EjeekitnZ9mk8vpyctkA+jKK+V/C/grUvFvxI8ZXXg7xBaNY6RqGs3+na5byt5VzeatYxqs +UckeQv2cjLyKzNkp8gzxTm+DXjE/DDW9L0vwtq1pqd14f06ymguNR06GC8uo7uKRykNsoV9ipIRP +PL5hEm3DZJCuB9aUV4prngHVl+Peha9pHhGH+xrOO2hF0NU8uK2hijlA8lVKy25TJQ26LJbzrKC/ +lsC1eqeD7e0tPDtrb2Phv/hGrdN+zTPLgTyMuxPywM0Y3ElvlY/e5wcimBr0UUUAFFFFABRRRQAU +UUUAFFFFABRRRQAUUUUAFFFFABXD+GviKniPWNTsdG8I+Irq30vWJdIvL/dZpBFNEwDthrgSFAGD +ZCEkHgE8V3FeV/BjwFf6FrvjDWtcg1G0urzxZqF9YImqyfZ5rWXbskaCOTyiTlvvrvGB0wuAD1Si +vm3w18NPGOlfBrwR4WvPCNpJDFqF5deJLW3t9Oub4yHzRbSRm63WzfKUV2JLhdirwGFcPqXwT+J2 +p+DLa21Lwz9t1O08Hpptsbi+tpHhuU1gyqiM0h24tCQCDgKdmf4aVwPsqivmK7+FHjZrq3t7nR7u +TwtYeMNZuodHspbGXFlPEv2SSG3uibUIr+b8jgMnmsVUEki3qnwu8WDS/h5Bb+FLu/l0e3Eci33i +gTfY0N0knlNKqxNA8aBGS5tAzDyfJZJI9pLuB9JUVkeGre0t/wC0/snhv+w/N1CWSX93An22Q4zd +fumbO/1fDnHzAcVr0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcX4gUv4yu +0Dqha00oBmGQP+JmvJFdpXE+Ixnxfej1s9K/9Oa1cNxM7v8As+f/AKCln/4Dv/8AFUVT8oe9FPlQ +jir+5v7b4U+HF0zUJtOuLqbRLL7VCkbyRJPdW0MhUSKybtkjY3KQDzitvRvCl1quo63Y2/xO8crL +o18tlcGS20kKztbw3AKYszldk6DnByG4xgnB1L/kmHg//sJ+G/8A04WddhoUviDQ/H3iqJ/BmtXt +hrWtwXVvqdtcWX2eOL7DZwMzq9wso2vDJkCMnAGN2cVlPcoX/hXOqf8ARUfGf/fjSv8A5Co/4Vzq +n/RUfGf/AH40r/5Crx/XdA17w5qd54i1jTptLuJohe3cIGmW9prutQX9pe29rZLbYuZ2mNvdJG1y +rzKsucFmdW2fE/wm8SXGpxS3Uep37XEU89mdIm08R6RfXF/d3U0nn3kTTQqPtMCrcWieawty5jDL +EtTcDp/GOjHws2mJqPxJ+I0zalfQWUBtdJ0+WNHmnihUyyCx8uJd0qn52UsAQoZhtrF1lrzS9R1+ +OTxT8U59L8OyhNW1eKDQPs1qPs8Vy7lWhE7qkUqsdkTE8hQx4rprfwXqdt4AudPt9Hhh1G68djWr +hY2jVpoRr63ImdgcM32VEOCd2FVcZAWrth8OrLUvGHjLVfEVvqbW+o6vFLbW6axcJaXduun2kTCW +2jlEUil45UZZUO5Rggrii4E//CudU/6Kj4z/AO/Glf8AyFR/wrnVP+io+M/+/Glf/IVeZeJvhZ4p +vLzxpPDYa1daxqNtrYjvfP02G0vIbmG5W1tfNEf22XYJbdfKndIUaHcrFYolbT+M/hSTT9M8aajp +/haG20yDwbfwR3sdyixwQJYOkcEQUiRF3E7rQo1thY51dJldJC4HQeLPDV94ft7Mn4h/EDUr2/uf +stjY2dvowluZfLeVlVpbVI1xHFK5LuowhAyxVTP4b8H6zq9i89x45+I2j3EUpimtL+00gSIcBgQ0 +do8cilWU7o3YAkqSGVlXFsfCerWHiWz8UeHfh7N4f0XTL62uF8M27WME88wtdRt5riNIpvswZheW +oLNKrMtswI+WMPp/E3TfEfjfQ9Pj1PwPerpK3Msj6dEmk3mpJIqosMjLeb7RE+a5DBHeTmAhgGlR +S4G1/wAK51T/AKKj4z/78aV/8hUf8K51T/oqPjP/AL8aV/8AIVef+CPhZq87aReeNfC9lqF/dalZ +DXp74wXUl3Zx+H4omSZyWMyDUIkbYS37xFlA4D1B4S+G/jMeJfDuseKIfEF1rUMWkyHUUu9OaOzS +G1tluoJbmRJL0M8sd0WjgJilE+GdfNmYFwPR/wDhXOqf9FR8Z/8AfjSv/kKj/hXOqf8ARUfGf/fj +Sv8A5CryzxN8NfFsfwm8KaDp3hWZdR0bwtHHp39jxaUJrHWGjJnkmmuvmjUyiFlltGEhYTMzZ8o1 +9JUXA4D/AIVzqn/RUfGf/fjSv/kKj/hXOqf9FR8Z/wDfjSv/AJCrv6KLgcB/wrnVP+io+M/+/Glf +/IVH/CudU/6Kj4z/AO/Glf8AyFXf0UXA4D/hXOqf9FR8Z/8AfjSv/kKj/hXOqf8ARUfGf/fjSv8A +5Crv6KLgcB/wrnVP+io+M/8AvxpX/wAhViS6dq/hr4k6PpE3i/WtcsdR0fULmSLUYbNfLkgmslRl +MEEZ6TyAgkjp6V61XnXjr/ksXhT/ALF/WP8A0o0ymgIb281J9fk06yubG3SO1jmJnt3kLFndTja4 +wBtH50/y/EP/AEE9H/8AAGX/AOOVFGu7x1c/9gyH/wBGyVsT7EiJyM4obAzAniA9NU0f/wAAZf8A +45TJv7fiieRtU0jCqWP+gS9v+2lct8P/ABVLqXiHXrC8mj8uynQRknBwwPH6V2160cunXDRsGHlN +0PsaLgLol1JfaLY3soVZLi3jlcKOAWUE49uauVmeE/8AkVtJ/wCvGH/0AVp1QBXmOjNeR/DzwN4g +1/4i/EA3vie2035dO0iwkt4p7owJ80n2IpCgecY8xwSAQu9hg+nVy/hTS7/WP2bfhxaadB580dt4 +YumXeq4igns5pWyxA+WON2x1OMDJIFJgbX/CudU/6Kj4z/78aV/8hUf8K51T/oqPjP8A78aV/wDI +Vd/RU3A4D/hXOqf9FR8Z/wDfjSv/AJCo/wCFc6p/0VHxn/340r/5Crv6KLgcB/wrnVP+io+M/wDv +xpX/AMhUf8K51T/oqPjP/vxpX/yFXf0UXA4D/hXOqf8ARUfGf/fjSv8A5Co/4Vzqn/RUfGf/AH40 +r/5Crv6KLgcB/wAK51T/AKKj4z/78aV/8hUf8K51T/oqPjP/AL8aV/8AIVd/RRcDgP8AhXOqf9FR +8Z/9+NK/+QqP+Fc6p/0VHxn/AN+NK/8AkKu/oouBwH/CudU/6Kj4z/78aV/8hUf8K51T/oqPjP8A +78aV/wDIVd/RRcDgP+Fc6p/0VHxn/wB+NK/+QqP+Fc6p/wBFR8Z/9+NK/wDkKu/oouBwH/CudU/6 +Kj4z/wC/Glf/ACFR/wAK51T/AKKj4z/78aV/8hV39FFwOA/4Vzqn/RUfGf8A340r/wCQqwfHXhzX +PCejWmtW3xD8TX7LrGmWz215b6d5Usc99BBIreXao4+SRsFWBBwa9drhvjl/yIcH/YwaJ/6dbSnc +Cn4gvLu0+wx2clvHJdXQgLzxs6qNjt0Ug5yoHXvTPL8Qnpqmkf8AgDL/APHKj8UjN1oY/wComv8A +6Klra2qq8kChsDJ2eIM4/tTR/wDwBl/+OUbPEHfVNI/8AZf/AI5XJ6v4nnsvihp2iean2W5hkLBu +xC7gRXdwzQTj91IrHvg5ouBT8P3l3d/bo7yS3kktbowB4I2RWGxG6MSc5Yjr2rn/ABAM+Mrsetpp +X/pzWtnwsMXOuD/qJt/6KirJ1cbvHUy+tvpI/wDKotaUxM7byG9f0ore+yr6UUucLHh3jX/kiGg/ +9fOgf+l1pWb4bv7q71nxNb3Eu+Ky1NILddoGxDZ20hHA5+eRzk5POOgFbHii3e7+Dnhq1jKh5r3w +9GpboCb+0Az+daCfBzXYfEF3q1n4ruLRL26jubmyjMLQyMscceMvbmQArEoOHHfGKq6TBnAJ8RtA +Ot3ejMJReW11Hb+XHPbzF91zHbbsRysYwryx5EgRsE4UlWArax8VfC2lTiG9kliKvOJ/MlgjMSRX +EsDSbXkVpQWhkIWIO+FGVBZQeo1j4A68LFLbSddhmWOyfTbFLy5Cx6TA5jZZYdlv5kksTQQlN75y +md4b5q25PghcpMj6brD6UrQrb3S2lyd13GHdwJJHjaQNullJkRkkJkZixbBBzCseZ65r3iDWNVsx +4fs/FMGnRvqNvcPp8Vhvllt5oYlbdclkVCfPAGVdtuduBmsiHxNqt/Lq8uieI/EmoTQeR/Y0EejK +1peb7K3lj+0Si2xH5kkh35ki2q38Awa9oPwa1eGzWDTfEtxpji6ubgzW8ysW+0TNM6lJIWjI3N8p +27lAwG5bdZ8MfCCbw5BcW2lz2sdvM8TCJ5nYRiO3igVVJXOAkKdSTnJzRzLuFjy6++Kvha01LUrF +5JZHsEui3lywM8r26O8saxeZ5qkCKTDSIiHbwx3IW0tT8a2emrfNeaRq8YsNPN7dYijbysRNL5Zw +55KxuBJ/qSylBIXG2usvvgZeXdrqVg/iC4j0y/S6DWMdwFiie4D+bIp8rexJlkYLIzoGbIUbU2x+ +NvghrGuWeryW+sQreXemXVpbwy3L/Z45JofLLEiMuFICZjB8vKh9hcBqOYLHFap4mvL/AFDTfD8M +OpeHb+7vVjuBKtvJcRQNb3MqSRkGWL5ntWTDZIAb5RlWq7rOtHwToK3OuajLqyPdCKKaaW0tJcFS +2HaR4omIKtjaFO3aNp2s56xvgdqckhvbjxNcT6urxtDqjvEJoQiyqqqiwCIjbcTj5o2P7085VNss +nwW1pvIuV8W3iapD5i/2j5sbSskmzdHsaAwqp8qI/JGpymc5ZyxzILHC2/xC0+8n2aXo+r6jFK8U +VpPCIUS7lktkugiCSRWU+Q5clwi/Kwzu2qY0+KHhOXXLLS4Lzzftn2cRzeZEmGuFRoV8l3E7bhJH +8yxso3/MRtfb3OgfAhtFi0+O11EOLC6juYvMnzlo7EWQDYjHHljJxj5ueny0aH8DLzRVtIdO8QXE +FnAluJbVbgBLp4Yo4kkkYReYDtiiBVGVG2YKkM4Y5vMLHDX3xL0PT/Dui69qVtc2Nlq8JuI/tFxa +pJHCNp3lDNufKsG2xCRsEAqGIU9tUN7+z/cTaDHo1r4huLC3/siPR7loJY2e6to1ZUVzJAwBAkk5 +QITvOc4XHZf8IDrH/PzYf99v/wDE01JBY5Oius/4QHWP+fmw/wC+3/8AiaP+EB1j/n5sP++3/wDi +afMhWOTorrP+EB1j/n5sP++3/wDiaP8AhAdY/wCfmw/77f8A+Jo5kFjk6K6z/hAdY/5+bD/vt/8A +4mj/AIQHWP8An5sP++3/APiaOZBY5Oqmgf8AJYtH/wCxf1P/ANKNPrt/+EB1j/n5sP8Avt//AImu +fbQLzQ/jFoH2uWB/P8P6rt8picbbjTs5yB6iplJNDSOggRpPHF2q9f7Lh/8ARslcv4k8AeLtZZzL +461KzgLE+XZwpHhewBwT/Out0544/Ht0ZXVB/ZkPLHH/AC1krrIriyK4a6gwf+mgrJlHyP8ADX4T +2E/xJ8QadqmpavcyWzKUeS4wXB4JbA5r6N0zw5Z+HfDM1hZK4hSJyA7ljnB7mtO30LQLXX59ahlt +lu50CSOJB8wBzVjWri1bTboLcQsTC4ADj+6aQGJ4T/5FbSf+vGH/ANAFadZnhP8A5FbSf+vGH/0A +Vp1YBXFeH9Q8SaT8AfhXf6HqllZ2xtvDlrfxy2RmlninmsoSsblwsXyyOCSjkg/LsIDV2teaeAvF +/hy++BXgXSdWs9aggtLPQ2E6+RErz20lo8YHmPkq0qBemWAbbyyFk1cDvPHt/ruieJNKvbfxDe7L +3UrS0t9LGnINPMDzQxztcXLISs22WRov30QdlijWORgwk9ArwvX/AB/4DvvGkFpqviLXLd2vLS4k +8OS6jYeXJdRtC8D7WczoQwify4nVGMJOxvMPm96nxI05tudD1pN2M5EHy52ZziXtubOP+ebYz8u5 +WYHb0VxCfEjTm250PWk3YzkQfLnZnOJe25s4/wCebYz8u4T4kac23Oh60m7GciD5c7M5xL23NnH/ +ADzbGfl3HK+wXO3oriE+JGnNtzoetJuxnIg+XOzOcS9tzZx/zzbGfl3CfEjTm250PWk3YzkQfLnZ +nOJe25s4/wCebYz8u45X2C529FcQnxI05tudD1pN2M5EHy52ZziXtubOP+ebYz8u4T4kac23Oh60 +m7GciD5c7M5xL23NnH/PNsZ+Xccr7Bc7eiuIT4kac23Oh60m7GciD5c7M5xL23NnH/PNsZ+XcJ8S +NObbnQ9aTdjORB8udmc4l7bmzj/nm2M/LuOV9gudvRXEJ8SNObbnQ9aTdjORB8udmc4l7bmzj/nm +2M/LuE+JGnNtzoetJuxnIg+XOzOcS9tzZx/zzbGfl3HK+wXO3oriE+JGnNtzoetJuxnIg+XOzOcS +9tzZx/zzbGfl3CfEjTm250PWk3YzkQfLnZnOJe25s4/55tjPy7jlfYLnb0VxCfEjTm250PWk3Yzk +QfLnZnOJe25s4/55tjPy7hPiRpzbc6HrSbsZyIPlzsznEvbc2cf882xn5dxyvsFzt6K4hPiRpzbc +6HrSbsZyIPlzsznEvbc2cf8APNsZ+XcJ8SNObbnQ9aTdjORB8udmc4l7bmzj/nm2M/LuOV9gudvX +DfHL/kQ4P+xg0T/062lOT4kac23Oh60m7GciD5c7M5xL23NnH/PNsZ+XdyPxW8dWGreGdO01NJ1a +2kufEGihXmjjKKRqNo+GKO2P4hnplSM8ruLMDb8SDN7oQ9dTX/0VLWd4w8K+J9ZnkXT/ABRcaVbM +oAW3gUsD3JY5P5YrR8RFVv8AQSxAA1Rck9v3UtdfBc2eObmD/v4KGB8jeMfhSYPiroVrrPiLXtSS +83BpZrgBgccAYHA4r6C8C+A9L8LxvJYeeXlUB2llLZA9uldHrmh6BquoWd/cy2rz2knmRN5gyprR +eezVAq3MBwP+egpAcn4bGL3Xh/1E2/8ARUVYuuOYvGtzIoBZLXSWAPQ41Na2vDhDX2vMpBB1RiCO +/wC6irJ1P/kfpP8ArhpH/p0WtaYmd/8A23ef8+tv/wB/D/hRXQ0VF12GeH6l/wAkw8H/APYT8N/+ +nCzr3CvD9S/5Jh4P/wCwn4b/APThZ17hRPcAoooqQCiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAK868df8AJYvCn/Yv6x/6UaZXotedeOv+SxeFP+xf1j/0o0ymgLF7pWmX0olvdOs7mQLt +DzQK5A9MkdOTUH/CPaB/0A9M/wDARP8AClvNVaDUWsYNMvr2VYVlcwCPCqxYDO515+U0z+1L7/oW +tY/8gf8Axyq0Ad/wj2gf9APTP/ARP8KP+Ee0D/oB6Z/4CJ/hTf7Uvv8AoWtY/wDIH/xyhtVvVBJ8 +N6wAOT/qP/jlK6A0oY44YkiijWONFCoijAUDoAOwp9V9Puo77T7e9iDLHcRLKgYcgMARn35qxTAK ++XtF02wm+CngS9uNPtnu7S40c20z26+ZDvvbYOUJRSu4dSB8w7v94/UNef8Aw28JRx/BvwDL4d8I +wajd3Wg2dzcvda7PYWsZMEDNny1kYu7YIUR7SBLuZS22QvYTOW1P/ib+NbXSH/49NJhj1O5Q9JpX +aRLYY5DKpimkIIBDpAyng46SqngvxF4W8WeK7bStD0fQ4YZfsUkMGqeNLiDVZoJbK1vDIlmqSB9s +b4x5mGMcuWAZifWU8AeFk24srs7cYzqNwemzGcyc/cXOeuWz95s17RCseY0V6cngDwsm3FldnbjG +dRuD02YzmTn7i5z1y2fvNkTwB4WTbiyuztxjOo3B6bMZzJz9xc565bP3mye0QWPMaK9OTwB4WTbi +yuztxjOo3B6bMZzJz9xc565bP3myJ4A8LJtxZXZ24xnUbg9NmM5k5+4uc9ctn7zZPaILHmNFenJ4 +A8LJtxZXZ24xnUbg9NmM5k5+4uc9ctn7zZE8AeFk24srs7cYzqNwemzGcyc/cXOeuWz95sntEFjz +GivTk8AeFk24srs7cYzqNwemzGcyc/cXOeuWz95sieAPCybcWV2duMZ1G4PTZjOZOfuLnPXLZ+82 +T2iCx5jRXpyeAPCybcWV2duMZ1G4PTZjOZOfuLnPXLZ+82RPAHhZNuLK7O3GM6jcHpsxnMnP3Fzn +rls/ebJ7RBY8xor05PAHhZNuLK7O3GM6jcHpsxnMnP3Fznrls/ebIngDwsm3FldnbjGdRuD02Yzm +Tn7i5z1y2fvNk9ogseY0V6cngDwsm3FldnbjGdRuD02YzmTn7i5z1y2fvNkTwB4WTbiyuztxjOo3 +B6bMZzJz9xc565bP3mye0QWPMaK9OTwB4WTbiyuztxjOo3B6bMZzJz9xc565bP3myJ4A8LJtxZXZ +24xnUbg9NmM5k5+4uc9ctn7zZPaILHmNcz8QV3R+HDs3bfFGkHO3O3/TYhnO0464zleuM87W90Tw +B4WTbiyuztxjOo3B6bMZzJz9xc565bP3mzxvxe8F+HNM8KWGoWljL9ptvEGi+S8t3NLsJ1K0jJAd +yM7QRnr8zd2bI53Vh2OhvbOzvohFe2sFzGG3BJow4B9cHvyaqf8ACPaB/wBAPTP/AAET/CptV1Aa +etv/AKLcXUlxN5UccAXcW2s38RAxhT3qv/al9/0LWsf+QP8A45UjHf8ACPaB/wBAPTP/AAET/Cj/ +AIR7QP8AoB6Z/wCAif4U3+1L7/oWtY/8gf8Axyj+1L7/AKFrWP8AyB/8cpXQF2ys7OxiMVlawW0Z +bcUhjCAn1wO/ArmNT/5H6T/rhpH/AKdFrotK1Aagtx/otxayW83lSRzhdwbarfwkjGGHeuO8a3S2 +WvatetfwaesGm6bKbufHl24XUQfMbcQNq4yckDArSG4me30V4T/ws2y/6Lt4J/O0/wDj1FY6jJtS +/wCSYeD/APsJ+G//AE4Wde4V4fqX/JMPB/8A2E/Df/pws69wqp7gFFFFSAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABXnXjr/ksXhT/sX9Y/8ASjTK9Frzrx1/yWLwp/2L+sf+lGmU0BWV +d3jm4H/UNh/9GyVtrGAOcCsqzXd48uv+wZD/AOjZKq/EW38Ztpyf8IedOFyCd/2zdtI9sUMDoNi+ +oqpqcWLC44/5ZN/I15To6fHsX6/bIfDPkhhuzI/I/AV6yyXR0CU3qos/2dt4QkqDt5wT2pAVfCf/ +ACK2k/8AXjD/AOgCtOszwn/yK2k/9eMP/oArTqwCuX8F6bqurfs+eAbC00Dwz4jsJvDenre6Zrkj +RRS4t4WjcOIpgdrKfkMRyWVg67MP1FePeNvG0nhj9kvwdpWmeI4fD+tar4Niltbx7hIZI47ewSRx +FvxvlkcwwKqESA3HmKD5TYTA9GTwV4qTS9K8MTXGi31hFc6Te3+vO8sWoXU9i1s5aWEq4neVrRR5 +rTKVWQDa/lAyemV4zdJqUHju88aakt7qHhO+1vTF0e9svGV4imK4is4IjHYwn7PLCbl2Zi7gsrOd +rjaH9mqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4b45f8iHB/2MGif+nW0rua4b +45f8iHB/2MGif+nW0oAy/FQzc6GPXU1/9FS1spEAKyfEgze6CP8AqJr/AOipa0vEcOqto840byBe +7P3Jnzs3e+OabAm2L6imvEMdK8akh/aAW92rH4ZaPPDb3xj6YzXqng1PEZ0lP+Emjskvf4vsjMUP +/fQzSAr+FRi41wf9RJv/AEVFWD4sgiuvE+o20wLRTWGmRuAxUlTqSg8jkfUV0HhoYvNdH/UTb/0V +FWJ4h/5HC8/689K/9Oa1rTEzQ/4Qbw1/z53P/gfcf/F0V0tFRZDOA1L/AJJh4P8A+wn4b/8AThZ1 +7hXh+pf8kw8H/wDYT8N/+nCzr3Cie4BRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR +RQAV5146/wCSxeFP+xf1j/0o0yvRa868df8AJYvCn/Yv6x/6UaZTQDtLGfH11/2C4f8A0bJXYwRB +gARXG3mkmbUzqMGp31lO0Kwt5BjwyqzMPvIe7GlFhqQ6eKNaH4w//G6GgO1e2RRnaPyrJ1xANMu/ ++uL/APoJrCNlqh6+KtbP/Aof/jdRS6VfSxtHJ4l1llYEMCYeR/37osA7wn/yK2k/9eMP/oArTqvp +9rHY6fb2URZo7eJYkLHkhQAM+/FWKoAqh8J9LsNc/Z08JaJqkH2iw1DwjZWt1FvZfMiks0V1ypBG +VJGQQfSr9N+BP/JEPAf/AGLenf8ApNHSYGne+DfDt54iXXp7OZrvzY5njW8mW2mmjx5c0tuHEMsq +7I9sjozL5ceCPLTb0FFFSAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXDfHL/kQ4P+ +xg0T/wBOtpXc1w3xy/5EOD/sYNE/9OtpQBn+If8AkIaB/wBhRf8A0VLXZ28YNctq+nLqKW4NzcWz +28wmjkhK7gwVl/iBHRj2qNdP1FenijWh+MP/AMbqmgO2Nsm3O0flVW4jAzgVyv2LVMY/4SrW/wDv +qH/43TG07UW6+J9aP4w//G6VgIvD3Goa/wD9hRv/AEVFWF4h/wCRwvP+vPSv/TmtdPpGmppyXAFz +cXL3ExmkkmK7ixVV/hAHRR2rmPEP/I4Xn/XnpX/pzWtICZ2tFFFSM4DUv+SYeD/+wn4b/wDThZ17 +hXh+pf8AJMPB/wD2E/Df/pws69wpT3AKKKKkAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACvOvHX/JYvCn/AGL+sf8ApRplei15146/5LF4U/7F/WP/AEo0ymgLEupWsc8kJFw7xkB/LtpH +AJAOMqpHQj86b/alt/zyvf8AwCm/+JrL1m5ntLHVpred4JPt9unmIqsyhhArYDAjOCetTvaXaLub +xNqSj3t7f/4im2Bd/tS2/wCeV7/4BTf/ABNH9qW3/PK9/wDAKb/4ms+OC4k+54o1BvpBbf8AxFS/ +YL7Gf+El1M/9u9v/APEUXAvQX8M88cMcV5vkYKu60lUZJwMkrgfU1brK8KzXQ8U3VjPqE95HALZ0 +aaONSpZnz9wDj5V61q0wCm/An/kiHgP/ALFvTv8A0mjp1N+BP/JEPAf/AGLenf8ApNHSYHZ0UUVI +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcN8cv+RDg/7GDRP/AE62ldzXDfHL/kQ4 +P+xg0T/062lABe3lnYxCW9uoLaMttDzSBAT6ZPfg1U/4SHQP+g5pn/gWn+NV/FDFbnRCuM/2kByM +9YZRWm21F3OkX/ftf8KpsCp/wkOgf9BzTP8AwLT/ABo/4SHQP+g5pn/gWn+NYOl+PvCupeIZtCst +RtJryJirKqAjcOoBxgng/lXVbQVyEiwf+ma/4UrgJZXlnfRGWyuoLmMNtLwyBwD6ZHfkVyXiH/kc +Lz/rz0r/ANOa1teFyWudbLYz/aRHAA6QxDtWL4h/5HC8/wCvPSv/AE5rWkNxM7WiiipGcBqX/JMP +B/8A2E/Df/pws69wrw/Uv+SYeD/+wn4b/wDThZ17hSnuAUUUVIBRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFedeOv+SxeFP+xf1j/0o0yvRa868df8li8Kf9i/rH/pRplNAZfiXnStW/7C +Vr/O3rH8epqPiHWrHwdopUXNzma4lfJSGEfxMARnnoPWtnxH/wAgvVv+wla/zt6rx3EfhP4ojXNU +G3TtQsxZ/aD92CQNldx7KemaGBnyfA6/061e50TxnqEOoKMoFjRImOOhRQBinfDbxHqV3d3vhvxJ +CLfXdNYLMAMCVD0kX2NeIeKviD4kk8Sa3r914nv7PVNPvGW2skuWWJVV8BAm4KVK4O7B3Z/GvTfA +WpSeNPiq3ii0iZLZNNWOZscGVyGI98HP5UgPSvDo2+PdSH/TOz/nJWrWboa7fiBqQ/6Z2X85K0qp +AFN+BP8AyRDwH/2Lenf+k0dOpvwJ/wCSIeA/+xb07/0mjoYHZ0UUVIBRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFcN8cv+RDg/7GDRP/TraV3NcN8cv+RDg/7GDRP/AE62lAGZ4n/4+tD/ +AOwmv/oqWvKfjRr3i7xB4lT4f+B2aB5o86jfgEC2jPX5vXHpzzivWPEYzfaCPXU1H/kKWujXTLcC +SVIkEjDBbHJpsD4Uk8Bazo974hvfDN1dyv4f1FFlUffaMRr+9AHcMCTj+lfSfwH+Iv8AwmekNaXy +CPU7VQJSPuyr2df6jtVn4c6T9m+KXjO3nhIjuZIZU3LwwKnOPXrXeaV4O0PRbt7nTdNtbV3zuMUY +XOcE9PoKQGd4YGLvXR/1E2/9FRVieIf+RwvP+vPSv/TmtbnhwYv9eH/UUb/0VFWH4h/5HC8/689K +/wDTmta0xM7WiiipGcBqX/JMPB//AGE/Df8A6cLOvcK8P1L/AJJh4P8A+wn4b/8AThZ17hSnuAUU +UVIBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFedeOv+SxeFP8AsX9Y/wDSjTK9Frzr +x1/yWLwp/wBi/rH/AKUaZTQGV4ndI9I1eSRgqLqNqWYnAABt+TWzqGu+DNRtHtrvWdMkjcYZXlUg +ir9rFawtM5jmZ5pPMf8AeADO1V4G30UfrU+61/54zf8Af0f/ABNNoDx7U/hp8IdQ1MXs+r2fXPli +5G36c84/GvQvD194C0DT0stM1XS4IkHCpKB+J9TW/utf+eM3/f0f/E0brX/njN/39H/xNKwGD4Yv +rPUPHepXNhdRXMJSzAeNgwyDJxWxViKW2ilSRYJSUYMMyjt/wGq9UgCm/An/AJIh4D/7FvTv/SaO +nU34E/8AJEPAf/Yt6d/6TR0mB2dFFFSAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX +DfHL/kQ4P+xg0T/062ldzXDfHL/kQ4P+xg0T/wBOtpQBT1+0vbltPmsFt2ltLsT7ZpCisAjrjIU/ +3h2qymq+KVGP7N0U/wDb7L/8aq3RV2AoLe+I1nMw0nRBIep+2Sf/ABqnvqvipuum6L/4Gy//ABqr +lFKwGX4ftL22OoTX626y3d2Z9sMhdVBRFxkqP7p7Vz3iH/kcLz/rz0r/ANOa12tcV4h/5HC8/wCv +PSv/AE5rWkNxM7WiiioGcBqX/JMPB/8A2E/Df/pws69wrw/Uv+SYeD/+wn4b/wDThZ17hSnuAUUU +VIBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFedeOv+SxeFP+xf1j/0o0yvRa868df8 +li8Kf9i/rH/pRplNAbK28jIr/uwGGRukUZ5x3PtS/ZpP70P/AH+T/GsvxhcT2ugRTW07QSZiXzFV +WKhp9rYDAjOCetZ8FvczLuTxPqJHtBb/APxFO4HSfZpP70P/AH+T/Gj7NJ/eh/7/ACf41zwtLstt +/wCEm1LP/Xvb/wDxFD2d4mM+JtS5/wCne3/+IouBu3SfZraW5mkiWKJC7kSqcADJ4Byfwptcs010 +E8Q2M+oT3kcNgjo00calSyy5+4BkfKvWuppgFN+BP/JEPAf/AGLenf8ApNHTqb8Cf+SIeA/+xb07 +/wBJo6TA7OiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArhvjl/yIcH/YwaJ/6d +bSu5rhvjl/yIcH/YwaJ/6dbSgDM8Vli2lQ+bcRxzX4jk8idomZfKkONynOMgH8Kd/YlnjP2jWP8A +waT/APxVN8U/8fOif9hJf/RUtVY/GOhS+JJ/DP2xU1SKPeYHBUsP9nPX14psCC0Oi3Ws3OlQX+rP +c2yqZkGpz/Ju6ZO6tQ6JZgf8fGsf+DSf/wCKrzHwPr9hp/jb4gaxqVzHBbWlxEkkjnAUKh/+tXTf +Dr4laZ44v57fTLW7RYF3M0qgDGfl79+fypAdL4UJDarD5txJHDfmOPz52lZV8qM43Mc4ySfxrF8Q +/wDI4Xn/AF56V/6c1ra8LjF1rg/6ibf+ioqxfEP/ACOF5/156V/6c1rWmJna0UUVIzgNS/5Jh4P/ +AOwn4b/9OFnXuFeH6l/yTDwf/wBhPw3/AOnCzr3ClPcAoooqQCiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAK868df8AJYvCn/Yv6x/6UaZXotedeOv+SxeFP+xf1j/0o0ymgDx6SPDMWP79 +v/6UisjxHFcafMLnTiWlbO+3H/LQAckejD179DWv49/5FmH/AK6W/wD6VLU2oXVjb3UjXO1DHFuL +twAvfn8KGBwiyRppZ1GDVp4mDeZJcS4JOOqsD0HbAxWh4Z1abVNb8i/hlhfyRLbqy4DLnBbr97pw +emRXm3jm71WbXbjVLFBBpKsG+zIuZZiOPOC9Aw7Aj04z07H4d6i9/cWksQk1F4meFLz+FoiAxJPQ +kEKvv+dIDqLpduo+KB/1DYf/AEGauprmL8Eap4oyMf8AEsh/9Bmrp6pbAFN+BP8AyRDwH/2Lenf+ +k0dOpvwJ/wCSIeA/+xb07/0mjoYHZ0UUVIBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFcN8cv+RDg/7GDRP/TraV3NcN8cv+RDg/7GDRP/AE62lAGd4jGb7QR66mv/AKKlrivjl8KbnxZ5 +GvaBfvp3iHTxus51OASDkKfSu08Ts0U2j3IguJo7fUFkkEMLSMF8uQZwoJ6kD8a1U8WaZjDWGskf +9gyb/wCJpsD4msdB+IXjDxXqGgXlq9lPdais99GUKqXVFUse20EMR9fpX2B8M/AemeC/D8djZR5k +b5p5mHzyv3JrVTxB4eSczrpWsCU9W/sqbJ/HbUknizTW4Wx1n/wWTf8AxNIDL8ODF9rw/wCoo3/o +qKsPxD/yOF5/156V/wCnNa2/C7PLLrFyYLiFLjUGkjE0LRsV8uMZwwB6gj8KxPEP/I4Xn/XnpX/p +zWtaYmdrRRRUjOA1L/kmHg//ALCfhv8A9OFnXuFeH6l/yTDwf/2E/Df/AKcLOvcKU9wCiiipAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigArzrx1/yWLwp/2L+sf+lGmV6LXnXjr/ksXhT/ +ALF/WP8A0o0ymgDx8yp4Yjd2CqrwEknAAFyK5vXbzTdeuXW41i1tLaFv3QaRf3rj+Ig9VHp3rsLr ++0pHUQ3NpHEi7VV7ZmbqTyQ4zyT2qHytW/5/bL/wEb/45TaA82l8P6Nc25Z/F9nY3LSM8jJIjq2T +nIBHHOT3xmr2hrpfhAhtG1iHUbR2LTwCVSyserIBgD3UV3flat/z+2X/AICN/wDHKPK1b/n9sv8A +wEb/AOOUWAwGvbfULvxPc2sySxnTYhlGzghZuK62sy8s9TurSa2kvrMJNG0bFbRsgEYOP3ladNAF +N+BP/JEPAf8A2Lenf+k0dOpvwJ/5Ih4D/wCxb07/ANJo6TA7OiiipAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigArhvjl/yIcH/AGMGif8Ap1tK7muG+OX/ACIcH/YwaJ/6dbSgCxRWV4hv +bu0FjHZyW8cl1dCEvPGzqo2O3RSDnKgde9Rf8T7OP7V0f/wBl/8AjlXcDaorI8vxDjP9p6Pj/rxl +/wDjlN/4n+cf2po//gDL/wDHKVwNmuK8Q/8AI4Xn/XnpX/pzWug8PXt3di+jvHt5JLW6MIeCNkVh +sRujEnOWI69q5/xD/wAjhef9eelf+nNa0huJna0UUVAzgNS/5Jh4P/7Cfhv/ANOFnXuFeH6l/wAk +w8H/APYT8N/+nCzr3ClPcAoooqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK868df +8li8Kf8AYv6x/wClGmV6LXnXjr/ksXhT/sX9Y/8ASjTKaAj1LxNoWm3j2d9qEcE6AFkZW4yMjoKr +f8Jr4X/6C8P/AHw3+FVtNLf8LC1xAFINvbkgqD2Pr9a6T5B95Yv+/a/4U7gYn/Ca+F/+gvD/AN8N +/hR/wmvhf/oLw/8AfDf4Vtny/wC7D/37X/CoL/KWU7qsQIjYg+Wvp9KVwLUMiTQRTxMGjmjWWNh/ +ErAMp/EEU+qXh/8A5FvR/wDsG2v/AKJSrtUAU34E/wDJEPAf/Yt6d/6TR06m/An/AJIh4D/7FvTv +/SaOkwOzoooqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4b45f8AIhwf9jBon/p1 +tK7muG+OX/Ihwf8AYwaJ/wCnW0oAy/Fn+t0Y+mog/wDkKWvjv4wfGXxTb/F15NKu7i1stPl8qODk +Bwp5LDvnmvsbxON11oi+upKP/IUteMeM/AdtrH7TWhz3eiwzab/Z7tOWiBSRxv5b1OStNgbeu/Gb +S4Pg+vjKwUyzSKIkgIOVnI5U+w6/SvLv2cfjXqWqeNZtJ8T3U9ydSkxBK33Yn7LjsD0r6kk8CeHE +0I6euj2Qs87vs/krsz649a8T/Zq8B6KuqeJLq80mBri21PFu7x8xY3fd9KQHsfhT/X6176k3/oqK +sbxD/wAjhef9eelf+nNa2/DQ23mur6amw/8AIUVYniH/AJHC8/689K/9Oa1rTEztaKKKkZwGpf8A +JMPB/wD2E/Df/pws69wrw/Uv+SYeD/8AsJ+G/wD04Wde4Up7gFFFFSAUUUUAFFFFABRRRQAUUUUA +FFFFABRRRQAUUUUAFFFFABXnXjr/AJLF4U/7F/WP/SjTK9Frzrx1/wAli8Kf9i/rH/pRplNAZGnN +s+IGvOe1rB/KvGdT8beJvEviHVprHxEdIsLC6e3t4IoN7ylf4j65PavbNDiE3xF16M9DawfyrkvE +HwItLvV7rUNG1a70prpy8qxKrKSfTPShgcN4C8a+LdV1uXSdY1EJdpbrc2rRRjbLGWIO4diCOa9g +8Patc3+naha3qqLm2Rlcr0YFcgiuY8NfAsaFeSX8euX1xeSII2mlC8IOdqjHArvdP8NxaLpN63mS +SzSRM0kjnLMdppAWPD//ACLej/8AYNtf/RKVdql4f/5FvR/+wba/+iUq7VoApvwJ/wCSIeA/+xb0 +7/0mjp1N+BP/ACRDwH/2Lenf+k0dJgdnRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAVw3xy/5EOD/sYNE/9OtpXc1w3xy/5EOD/sYNE/8ATraUAZ3iMhb7QSxAA1Nck/8AXKWulRdN +aYTNNb+YBgEuM1l3tnZ30QivbWC5jDbgk0YcA+uD35NVP+Ee0D/oB6Z/4CJ/hVNAdVHc2rKyyXVv +t7fvBVGGDSrN5GtntYzIxZ9jKNx9T71h/wDCPaB/0A9M/wDARP8ACj/hHtA/6Aemf+Aif4UrAQ+H +CGvteZSCDqbYI7/uoqw/EP8AyOF5/wBeelf+nNa62ys7OxiMVlawW0ZbcUhjCAn1wO/ArkvEP/I4 +Xn/XnpX/AKc1rSG4mdrRRRUjOA1L/kmHg/8A7Cfhv/04Wde4V4fqX/JMPB//AGE/Df8A6cLOvcKU +9wCiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArzrx1/wAli8Kf9i/rH/pRplei +15146/5LF4U/7F/WP/SjTKaAgg03V7PxRf6zZPpUiXcUcfl3E0qMu0f7MbD9a2I9R8TJ0t/D5/7f +J/8A4zT6KdgB9V8TsMG28Pf+Bc//AMZqpez+JLq3lhaHQFEiFSRdz8ZGP+eNW6KLAQadbtZ6XY2T +yJI9taQwOyZ2lkjVSRkA4yD2qeiimAU34E/8kQ8B/wDYt6d/6TR06m/An/kiHgP/ALFvTv8A0mjp +MDs6KKKkAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuG+OX/Ihwf8AYwaJ/wCnW0ru +a4b45f8AIhwf9jBon/p1tKAItW1Aaetv/otxdSXE3lRxwBdxbazfxEDGFPeq/wDat7/0Lesf+QP/ +AI5UHisZuNEH/USX/wBFS0kuu6XDr8OhPcoL6eMypF3KjqapsCwNVvD08Oauf+/H/wAco/tS9/6F +vWP/ACB/8crQ8jYhfrWD4X8S6X4kkvk02QyfYpzBLlcYYentSuBraTqA1Bbj/Rbi1kt5vKkjnC7g +21W/hJGMMO9cv4h/5HC8/wCvPSv/AE5rWz4VGLjWx6ak3/oqKsbxD/yOF5/156V/6c1rSAmdrRRR +UjOA1L/kmHg//sJ+G/8A04Wde4V4fqX/ACTDwf8A9hPw3/6cLOvcKU9wCiiipAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigArzrx1/yWLwp/wBi/rH/AKUaZXotedeOv+SxeFP+xf1j/wBK +NMpoDnJdLsNV8e6xDqEM0qxwwMmydo8Erg/d69vyrSHgzw6f+XO6/wDA2T/Gq1pMlv4916aQgIlr +AST24rK8Q/Ei00nSb3VZLO5a0tYmkMgXAbH+NDA3v+EN8Of8+l1/4Gyf41FdeEfDsNtLILK6JRCw +/wBNk7D615NoPxF+IGrpBrVvFo7W1z80NgHbzCp6DP8Ae+uK9Y8I+JIfFPhKbUI4mgkVZIpoX+9F +IuQyn8aQG/oJLeHdIZiSTptqST3/AHKVcql4f/5FvR/+wba/+iUq7VoApvwJ/wCSIeA/+xb07/0m +jp1N+BP/ACRDwH/2Lenf+k0dJgdnRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +Vw3xy/5EOD/sYNE/9OtpXc1w3xy/5EOD/sYNE/8ATraUAZnin/X6MfTUVP8A5Ckr5d+IvxY0HSP2 +jtN16I3FxZ6dava3IRcEv+8BwD/vCvqTxIN15oaf3tSUf+Qpa8M+Jf7NU3ib4nrrmn3MNtply4ku +0P3lbPzbR702B3M/xv8ADifDxfF8trqEenvN5ChofnLfyx75rx79mr4taZB4m1LRntLmabWdSDW5 +QD5Qc/e/MV9O618NNC1PwAfCktki2HkCFUUY2ADgj3HWvMfgd8BYPAHiO91S+eC+mzts5tuGjTvk +etID0rwv/wAfOtn11Jv/AEVFWL4h/wCRwvP+vPSv/TmtbnhwYvteHpqbD/yFFWH4h/5HC8/689K/ +9Oa1rTEztaKKKkZwGpf8kw8H/wDYT8N/+nCzr3CvD9S/5Jh4P/7Cfhv/ANOFnXuFKe4BRRRUgFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5146/5LF4U/7F/WP/SjTK9Frzrx1/yWLwp/ +2L+sf+lGmU0Bzd5Zy3/ivxLawnDvZwAf98muT1nw1qOp6HcaBf6bcyQzxGItHjC+hHNegaebjTvH +WrX8+l6pLa3FvCkUtvYyyqxA55VSOK6OLXLEHLaJr/8A4KJ//iaGB4B4N+D3j/Q4o1sNcsYoQeBN +CzuFznBwcfhXrng/wj/wivhS8tpLlrq5m824uJmUL5kjAknA6D2rrG8S2W3C6N4gH/cIn/8Aiaz9 +U1yO4sp4o9I1/c8bKudJn6kf7lICLw//AMi3o/8A2DbX/wBEpV2qujxS2+haXBPE8Usen2yOjqVZ +WEKAgg9CD2q1VoApvwJ/5Ih4D/7FvTv/AEmjp1N+BP8AyRDwH/2Lenf+k0dJgdnRRRUgFFFFABRR +RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVw3xy/wCRDg/7GDRP/TraV3NcN8cv+RDg/wCxg0T/ +ANOtpQBDq+mrqKW4NzcWz28wmjkhK7gwVl/iBHRj2qIabqA6eJ9ZH4w//G6t3t5Z2MQlvbqC2jLb +Q80gQE+mT34NVP8AhIdA/wCg5pn/AIFp/jVgO+xapjH/AAlOt/8AfUP/AMbpp03UD18T6yfxh/8A +jdH/AAkOgf8AQc0z/wAC0/xo/wCEh0D/AKDmmf8AgWn+NKyAl0jTU05LgC5uLl7iYzSSTFdxYqq/ +wgDoo7VzHiH/AJHC8/689K/9Oa11tleWd9EZbK6guYw20vDIHAPpkd+RXK60M+N7gettpP8A6dFr +SG4mdlRWv5S/3B+VFTYLnlOpf8kw8H/9hPw3/wCnCzr3CvD9S/5Jh4P/AOwn4b/9OFnXuFTPcYUU +UVIBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFedeOv+SxeFP8AsX9Y/wDSjTK9Frzr +x1/yWLwp/wBi/rH/AKUaZTQGpRRRVAFFFFABRRRQAU34E/8AJEPAf/Yt6d/6TR06m/An/kiHgP8A +7FvTv/SaOkwOzoooqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4b45f8iHB/2MGi +f+nW0rua4b45f8iHB/2MGif+nW0oAzPFDFbnRCuM/wBpAcjPWGUVNq9/Bplr588alc4ASAMxPsAM +movEwzeaEP8AqJr/AOipaxfiJqf9nX+mx+VJMzyOY4YxlpGCkAD/AL6602BpaP4m0XU5TDbXFuZl ++9E0YVx9VIBraG1hlViP/bNf8K8i129kv/Dct+/h9GvbW4Mc8Uk217cA8uGUEnghsDsa9J8BWU1v +4et0uNTfUnK7vPcg7geRj2HSkAvhdi1zrZbGf7SI4AHSGIVlatz47mH/AE76T/6dFrW8MjF3ro/6 +ibf+ioqwfFFw9p4qv7qK2nupIbHS5FghKeZKRqSkKu9lXccYG5gMnkgc1rTEz1/YPSiuA/4T7W/+ +iceNP+/mk/8AybRWdxnMal/yTDwf/wBhPw3/AOnCzr3CvD9S/wCSYeD/APsJ+G//AE4Wde4U57gF +FFFSAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXnXjr/ksXhT/ALF/WP8A0o0yvRa8 +68df8li8Kf8AYv6x/wClGmU0BqUUUVQBRRRQAUUUUAFN+BP/ACRDwH/2Lenf+k0dOpvwJ/5Ih4D/ +AOxb07/0mjpMDs6KKKkAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuG+OX/Ihwf9jB +on/p1tK7muG+OX/Ihwf9jBon/p1tKAM/xFzf6D/2FF/9FS1r3/h61v8AUba/lTdLbbvKOem4YP6V +ma/aXtydPmsFt2ltLsT7ZpCisAjrjIU/3h2qymq+Kk6abov/AIGy/wDxqm0BxmrWyaZ44u7V8CO/ +gWVAejOuVb9NtO8Bx3kPiCa10mdn0eMHzUcZWOQn7sZ9PUdBWx4i0zUtfeKTUNK0oSQkmN4r6VWX +IweRH3FWtMXW9MtEtbHSNFjhQYUC7kH/ALTosAvhzi+14f8AUTb/ANFRVyfxGttSvb7XrPRrh7bU +59I0+KzmRVZo5m1ABGAYhSQxBwSB6kV2Ph+0vbY6hNfrbrLd3Zn2wyF1UFEXGSo/untWJqf/ACP0 +n/XDSP8A06LWkBM8v/4Vv+0l/wBFD1f/AMALD/4/RX1hRWWozw/Uv+SYeD/+wn4b/wDThZ17hXh+ +pf8AJMPB/wD2E/Df/pws69wqp7gFFFFSAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB +XnXjr/ksXhT/ALF/WP8A0o0yvRa868df8li8Kf8AYv6x/wClGmU0BqUUUVQBRRRQAUUUUAFN+BP/ +ACRDwH/2Lenf+k0dOpvwJ/5Ih4D/AOxb07/0mjpMDs6KKKkAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACuG+OX/Ihwf9jBon/p1tK7muG+OX/Ihwf9jBon/p1tKALFFYnissW0qHzbiOOa +/EcnkTtEzL5UhxuU5xkA/hUi6HZn/l41j/waT/8AxVU2Br0Vg6zZ6DommSalq+q6laW0YJy+qzZY +/wB1RuyzHsByaqWD6HeXsVhKPE2nXc6lreO9vJ4/OAGSFYOVLAclc7sc4ouB1Nchqf8AyP0n/XDS +P/Totavhbcr6tAZbiRIL8xx+fO0rKvlRnG5jnGST+NZWp/8AI/Sf9cNI/wDTotXATPYKKKKyGeH6 +l/yTDwf/ANhPw3/6cLOvcK8P1L/kmHg//sJ+G/8A04Wde4VU9wCiiipAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigArzrx1/wAli8Kf9i/rH/pRplei15146/5LF4U/7F/WP/SjTKaA1KKK +KoAooooAKKKKACm/An/kiHgP/sW9O/8ASaOnU34E/wDJEPAf/Yt6d/6TR0mB2dFFFSAUUUUAFFFF +ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXDfHL/AJEOD/sYNE/9OtpXc1w3xy/5EOD/ALGDRP8A +062lAGZ4nGbvQh/1E1/9FS1uX1zY6Tpk+qalOsFpbpvkdvT0A7kngAckkCsbxCM6hoA/6ii/+ipa +5Lxxr17qHxOfQLJbW+fw5Ha3/wDYpKia+WVirToWdVzCOQDkZIzglCGwNiPw9D4seXWPGWlQXHno +Y7PTrmMOtlATkZH/AD1bALMOnCjpk874S8Ny2fxQm0DRb6RvC+mCHUpbeVnl+yXWHVYI3YnaGDCQ +jJxjHANdFb67feKb4+HdEtdQ0q+XnUprmEBrCIgEFSCUaR84XBIHJPTB7fSdG0/QtMTTtMtxDApL +McktIx6uzHlmJ5JPJpAc74dOb7Xf+wm3/oqKsjU/+R+k/wCuGkf+nRa1vDgxf68P+oo3/oqKsnU/ ++R+k/wCuGkf+nRa1gJnsFFFFZDPD9S/5Jh4P/wCwn4b/APThZ17hXh+pf8kw8H/9hPw3/wCnCzr3 +CqnuAUUUVIBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFedeOv+SxeFP+xf1j/0o0yv +Ra868df8li8Kf9i/rH/pRplNAalFFFUAUUUUAFFFFABTfgT/AMkQ8B/9i3p3/pNHTqb8Cf8AkiHg +P/sW9O/9Jo6TA7OiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArhvjl/wAiHB/2 +MGif+nW0rua4b45f8iHB/wBjBon/AKdbSgDO8Ts0M2j3QguJkt9QWSQQwtIwXy5BnCgnqR+dcz4l +8JfDTxL46h8aa3oHiOfWIbcW6SJb3cShAGGMIBnh2Bz2Nd/RVNAUfDmqeEfDmnmx0Pw/qdjAzb2S +LSZhubGMk7ck8Dk1am8Xac/Sx1n/AMFk3/xNSUUWAxfC7PLLrFyYLiFLjUGkjE0LRsV8uMZwwB6g +j8KytT/5H6T/AK4aR/6dFrr65DU/+R+k/wCuGkf+nRauAmewUUUVkM8P1L/kmHg//sJ+G/8A04Wd +e4V4fqX/ACTDwf8A9hPw3/6cLOvcKqe4BRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB +RRRQAV5146/5LF4U/wCxf1j/ANKNMr0WvOvHX/JYvCn/AGL+sf8ApRplNAalFFFUAUUUUAFFFFAB +TfgT/wAkQ8B/9i3p3/pNHTqb8Cf+SIeA/wDsW9O/9Jo6TA7OiiipAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigArhvjl/yIcH/YwaJ/6dbSu5rhvjl/yIcH/YwaJ/6dbSgCPWL7+ztOlvBZ +3d6yYCW9rHvlldiFVQOAMkjLMVVRlmZVBYcwvj+CWUafa+G9cuddWSVJ9HQ2wuLcRrC7OztMICNt +zbH5ZGP74cZVwm54wu9asfDl1c+HtM/tPUxsWC33IPvOqs+HdFbYpZ9hdN23buXO4ebXvhi7ubzS +dck8I+MmNtHfQXsUWtQWup3k85tGF08tvdJG0eLdkKeYNuIlWIIi7LAt/EvxlrenatY/2LezWtrc +2EdwI5rQK+WZvvLIm9DgDKkAjHIBzXLf8LD8Y/8AQY/8lov/AImpPidDq1vc6DBr91Dd6vHolul/ +PCMJLOC4kdRheC2SOB16DpXI15lapNTaTPhcyxeIhipxjNpX7s+mPDdxNeeHdMu7h9809pFJI2AN +zMgJOBx1NYGp/wDI/Sf9cNI/9Oi1teDv+RR0b/rwg/8ARa1i6n/yP0n/AFw0j/06LXqUtj7Wk26U +W+yPYKKKKzNTw/Uv+SYeD/8AsJ+G/wD04Wde4V4fqX/JMPB//YT8N/8Apws69wqp7gFFFFSAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXnXjr/ksXhT/sX9Y/9KNMr0WvOvHX/JYvCn/Y +v6x/6UaZTQGpRRRVAFFFFABRRRQAU34E/wDJEPAf/Yt6d/6TR06m/An/AJIh4D/7FvTv/SaOkwOz +oooqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4b45f8AIhwf9jBon/p1tK7muG+O +X/Ihwf8AYwaJ/wCnW0oA5f4sazqWh+Hbe70u5+zzPdrGzbFbKlHOMMCOoFeY/wDCw/GP/QY/8lov +/ia9O+LGjalrnh23tNLtvtEyXayMu9VwoRxnLEDqRXmP/CvPGP8A0B//ACZi/wDiq5K/tOf3b2Pl +c3+u/WX7Hm5bLa9vwMTXdZ1LXLtLvVLn7RMkYjVtirhQScYUAdSaoV1X/CvPGP8A0B//ACZi/wDi +qP8AhXnjH/oD/wDkzF/8VXM6dR6tM8SeExc3zShJv0Z7T4O/5FHRv+vCD/0WtYup/wDI/Sf9cNI/ +9Oi1v+G7eaz8O6ZaXCbJoLSKORcg7WVACMjjqKwNT/5H6T/rhpH/AKdFr2KWx+gUk1Sin2R7BRRR +WZqeH6l/yTDwf/2E/Df/AKcLOvcK8P1L/kmHg/8A7Cfhv/04Wde4VU9wCiiipAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigArzrx1/yWLwp/wBi/rH/AKUaZXotedeOv+SxeFP+xf1j/wBK +NMpoDUoooqgCiiigAooooAKb8Cf+SIeA/wDsW9O/9Jo6dTfgT/yRDwH/ANi3p3/pNHSYHZ0UUVIB +RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcN8cv+RDg/wCxg0T/ANOtpXc1w3xy/wCR +Dg/7GDRP/TraUAWKKTVNQl0vw7PfRFz5CzSlFcrv2opxms+PVvFMiK62dkVYZH/E3b/43V3A0aKz +LnWvEttA89xBp8MSDLO+sMqqPcmOqWneLtV1GYw2babLIBu2DV3DEeoBi5HuKVwOgrkNT/5H6T/r +hpH/AKdFrfstd1ltYTTr6KOBnt3mVob9pfusi4I2rj7/AOlcnZ/8jDaf9g7RP/TklXDcTPbaKKKy +GeH6l/yTDwf/ANhPw3/6cLOvcK8P1L/kmHg//sJ+G/8A04Wde4VU9wCiiipAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigArzrx1/wAli8Kf9i/rH/pRplei15146/5LF4U/7F/WP/SjTKaA +1KKKKoAooooAKKKKACm/An/kiHgP/sW9O/8ASaOnU34E/wDJEPAf/Yt6d/6TR0mB2dFFFSAUUUUA +FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXDfHL/AJEOD/sYNE/9OtpXc1w3xy/5EOD/ALGD +RP8A062lAEXi/wD5EjUf+va5/wDRQqXSYN1hbnH/ACyU/pUXi/8A5EjUf+va5/8ARQqp4jSSTwrp +WnRh/wDiZ3lpZybM58pmBk6dtitn2zTYGTcyJ4g8Vtp8DxzQwiSOF1KusUiIC8205DFTJGgz0O70 +rPbS0sPGYsYZrp5DPatF9pneWQkCZppAWP3ShCHGBkdOBXWa/wDDvwHDqVldWsqeFtWeUi1uLC4W +3klJOSgRsq+c9NpPSm6VFq2l+PJfDt3rc+sWf9l/bFkuYUEsTGXYF3oBkEBjyO1ICu67fHVuP+ob +N/6Njrn7P/kYbT/sHaJ/6ckrpr5dvj22H/UMm/8ARsdczZ/8jDaf9g7RP/Tkla0xM9tooorIZ4fq +X/JMPB//AGE/Df8A6cLOvcK8P1L/AJJh4P8A+wn4b/8AThZ17hVT3AKKKKkAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACvOvHX/JYvCn/Yv6x/6UaZXotedeOv+SxeFP8AsX9Y/wDSjTKa +A1KKKKoAooooAKKKKACm/An/AJIh4D/7FvTv/SaOnU34E/8AJEPAf/Yt6d/6TR0mB2dFFFSAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXDfHL/kQ4P+xg0T/062ldzXDfHL/kQ4P+xg0T +/wBOtpQBF4v/AORI1H/r2uf/AEUKl1PTL3U/C1h/Zd0LfULNobu1ZidjOg+4+P4WBIP1purSCawb +T3025u4ZVcSmNkUFWAUry4OcA9PXrWKml2yY26Trox0xqbf/AB+qaAZq+qeHNc8QaVfeNdA1Sz1H +RRIYtPk09rmN5X2YkR0Vg4XYcdOTnHFdH4aguLzW9Z8UXNvPbJqAhgs4bhNsqwxBuWXqu5mY4POM +ZrHW32jA07Xcf9hI/wDx6opbCKQ5fS9dJ/7CZ/8Aj9KwF7VBjx/a/wDYLm/9Gx1y1n/yMNp/2DtE +/wDTklb1hZw2V59rg0XVTP5Zj3y3glwpIJA3ynHIH5ViRxSQeKLeCVdskdjoqOM5wRqSAitICZ7V +RRRWQzw/Uv8AkmHg/wD7Cfhv/wBOFnXuFeH6l/yTDwf/ANhPw3/6cLOvcKqe4BRRRUgFFFFABRRR +QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5146/5LF4U/7F/WP/AEo0yvRa868df8li8Kf9i/rH +/pRplNAalFFFUAUUUUAFFFFABTfgT/yRDwH/ANi3p3/pNHTqb8Cf+SIeA/8AsW9O/wDSaOkwOzoo +oqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4b45f8iHB/wBjBon/AKdbSu5rhvjl +/wAiHB/2MGif+nW0oAsUVieKyxbSofNuI45r8RyeRO0TMvlSHG5TnGQD+FU9XjttNvNPsbeHVbm8 +1BnW3E2syxRZVdxDOSecdgCTVNgdPRXJXNjqumtp95qt/b3em6jdpb/6DqE4Nsz5CYfdh1yBkkA5 +Na8ug2iMQZ9Y/wDBpP8A/FUXA1q5DU/+R+k/64aR/wCnRa1PChYNqsPm3EkcN+Y4/PnaVlXyozjc +xzjJJ/GsvU/+R+k/64aR/wCnRauAmewUUUVkM8P1L/kmHg//ALCfhv8A9OFnXuFeH6l/yTDwf/2E +/Df/AKcLOvcKqe4BRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5146/5LF4U/ +7F/WP/SjTK9Frzrx1/yWLwp/2L+sf+lGmU0BqUUUVQBRRRQAUUUUAFN+BP8AyRDwH/2Lenf+k0dO +pvwJ/wCSIeA/+xb07/0mjpMDs6KKKkAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuG ++OX/ACIcH/YwaJ/6dbSu5rhvjl/yIcH/AGMGif8Ap1tKAM3xKAbzQgf+gmv/AKKlqtLpGneIPiBJ +4d8XiW8tFhW/0m0LbbeQDKvuAALOpPQkjDdKt+Ihm/0Af9RRf/RUtct8STry/E3TLnQdIvNQ1PT4 +ILqzWGREVoQ7rcI25hkMHUZGcYFNgVPjN4R0DwrqWn3WkRRaBZatDNZySW0bFY7tCs9u+xQeS0RX +5RnBNbXwx1nXNTdrTX11NJ30+K7CahbpFIH3sjlQqrlMgEZAPNL8U9Z8T+I/CzabafDfxFBcCeKe +C6doGNvJG4YOqo7EngjtwTzV+319tb+JemSxaHrenSjTZ4btdQs/J+TKMrDk5G4EfjSAn8MDF3ro +/wCom3/oqKsvU/8AkfpP+uGkf+nRa1/Doxf68P8AqKN/6KirI1P/AJH6T/rhpH/p0WtYCZ7BRRRW +Qzw/Uv8AkmHg/wD7Cfhv/wBOFnXuFeH6l/yTDwf/ANhPw3/6cLOvcKqe4BRRRUgFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAV5146/5LF4U/7F/WP/AEo0yvRa868df8li8Kf9i/rH/pRp +lNAalFFFUAUUUUAFFFFABTfgT/yRDwH/ANi3p3/pNHTqb8Cf+SIeA/8AsW9O/wDSaOkwOzoooqQC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4b45f8iHB/wBjBon/AKdbSu5rhvjl/wAi +HB/2MGif+nW0oAzfE7NFNo9yILiZLfUFkkEMLSMF8uQZwoJ6kD8aTxBqNjq32K6s01Wx1SwmEtrc +tpc5AzwyMMDKsOCK26KpoDEHiPxd31Ox/Dw/d/8AxdT6brNjZNcXV3Fq15qV2Qbi4XSplGB91EG0 +7UXsM9ST1NalFFgMXwuzyy6xcmC4hS41BpIxNC0bFfLjGcMAeoI/CsrU/wDkfpP+uGkf+nRa6+uQ +1P8A5H6T/rhpH/p0WrgJnsFFFFZDPD9S/wCSYeD/APsJ+G//AE4Wde4V4fqX/JMPB/8A2E/Df/pw +s69wqp7gFFFFSAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXnXjr/ksXhT/sX9Y/8A +SjTK9Frzrx1/yWLwp/2L+sf+lGmU0BqUUUVQBRRRQAUUUUAFN+BP/JEPAf8A2Lenf+k0dOpvwJ/5 +Ih4D/wCxb07/ANJo6TA7OiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArhvjl/y +IcH/AGMGif8Ap1tK7muG+OX/ACIcH/YwaJ/6dbSgCxRRRVgFFFFABXIan/yP0n/XDSP/AE6LXX1y +Gp/8j9J/1w0j/wBOi1cNxM9gooorEZ4fqX/JMPB//YT8N/8Apws69wrw/Uv+SYeD/wDsJ+G//ThZ +17hVT3AKKKKkAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvOvHX/JYvCn/AGL+sf8A +pRplei15146/5LF4U/7F/WP/AEo0ymgNSiiiqAKKKKACiiigApvwJ/5Ih4D/AOxb07/0mjp1N+BP +/JEPAf8A2Lenf+k0dJgdnRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVw3xy/5 +EOD/ALGDRP8A062ldzXDfHL/AJEOD/sYNE/9OtpQBYoooqwCiiigArh/FH2r/hKr/wCxTwQXX2HS +/JlniaSNH/tJdrMqspZQcEgMpI4BHWu4rivEOP8AhMLzK7h9j0rI3Yz/AMTNe/arhuJm7j4m/wDQ +6eCf/Cavf/k6itf9x/z5P/4Gv/8AE0VHIh3OB1L/AJJh4P8A+wn4b/8AThZ17hXh+pf8kw8H/wDY +T8N/+nCzr3ClPcAoooqQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK868df8li8Kf9 +i/rH/pRplei15146/wCSxeFP+xf1j/0o0ymgNSiiiqAKKKKACiiigApvwJ/5Ih4D/wCxb07/ANJo +6dTfgT/yRDwH/wBi3p3/AKTR0mB2dFFFSAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BXDfHL/kQ4P+xg0T/wBOtpXc1w3xy/5EOD/sYNE/9OtpQBYoooqwCiiigArivEP/ACOF5/156V/6 +c1rta4rxD/yOF5/156V/6c1q4biZ2tFFFQM4DUv+SYeD/wDsJ+G//ThZ17hXh+pf8kw8H/8AYT8N +/wDpws69wpT3AKKKKkAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvOvHX/ACWLwp/2 +L+sf+lGmV6LXnXjr/ksXhT/sX9Y/9KNMpoDUoooqgCiiigAooooAKb8Cf+SIeA/+xb07/wBJo6dT +fgT/AMkQ8B/9i3p3/pNHSYHZ0UUVIBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcN8 +cv8AkQ4P+xg0T/062ldzXDfHL/kQ4P8AsYNE/wDTraUAWKKKKsAooooAK4rxD/yOF5/156V/6c1r +ta4rxD/yOF5/156V/wCnNauG4mdrRRRUDOA1L/kmHg//ALCfhv8A9OFnXuFeH6l/yTDwf/2E/Df/ +AKcLOvcKU9wCiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArzrx1/yWLwp/2L+s +f+lGmV6LXnXjr/ksXhT/ALF/WP8A0o0ymgNSiiiqAKKKKACiiigApvwJ/wCSIeA/+xb07/0mjp1N ++BP/ACRDwH/2Lenf+k0dJgdnRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVw3x +y/5EOD/sYNE/9OtpXc1w3xy/5EOD/sYNE/8ATraUAWKKKKsAooooAK4rxD/yOF5/156V/wCnNa7W +uK8Q/wDI4Xn/AF56V/6c1q4biZ2tFFFQM868Q3drYfCLwvfX1zDa2ltf+HZp55pAkcSLf2ZZ2Y8K +oAJJPAAr0P8A4Wx8LP8Aopfgz/we23/xdZPgj/kS9D/7B1v/AOi1rYokrsBv/C2PhZ/0UvwZ/wCD +22/+Lo/4Wx8LP+il+DP/AAe23/xdOopWAb/wtj4Wf9FL8Gf+D22/+Lo/4Wx8LP8Aopfgz/we23/x +dOoosA3/AIWx8LP+il+DP/B7bf8AxdH/AAtj4Wf9FL8Gf+D22/8Ai6dRRYBv/C2PhZ/0UvwZ/wCD +22/+Lo/4Wx8LP+il+DP/AAe23/xdOoosA3/hbHws/wCil+DP/B7bf/F0f8LY+Fn/AEUvwZ/4Pbb/ +AOLp1FFgG/8AC2PhZ/0UvwZ/4Pbb/wCLo/4Wx8LP+il+DP8Awe23/wAXTqKLAN/4Wx8LP+il+DP/ +AAe23/xdH/C2PhZ/0UvwZ/4Pbb/4unUUWAb/AMLY+Fn/AEUvwZ/4Pbb/AOLo/wCFsfCz/opfgz/w +e23/AMXTqKLAN/4Wx8LP+il+DP8Awe23/wAXR/wtj4Wf9FL8Gf8Ag9tv/i6dRRYBv/C2PhZ/0Uvw +Z/4Pbb/4uuT1TxZ4V8UfGLw5/wAIz4l0XW/s3h/VvtH9nX0Vx5W6407bu2MdudrYz1wfSuuoosAU +UUUwCiiigAooooAK5H4MfE34bWHwe8F2N98QvCVrd23h+whngm1m3SSJ1t0DIyl8qwIIIPIIrrqK +TVwG/wDC2PhZ/wBFL8Gf+D22/wDi6P8AhbHws/6KX4M/8Htt/wDF06iiwDf+FsfCz/opfgz/AMHt +t/8AF0f8LY+Fn/RS/Bn/AIPbb/4unUUWAb/wtj4Wf9FL8Gf+D22/+Lo/4Wx8LP8Aopfgz/we23/x +dOoosA3/AIWx8LP+il+DP/B7bf8AxdH/AAtj4Wf9FL8Gf+D22/8Ai6dRRYBv/C2PhZ/0UvwZ/wCD +22/+Lo/4Wx8LP+il+DP/AAe23/xdOoosA3/hbHws/wCil+DP/B7bf/F0f8LY+Fn/AEUvwZ/4Pbb/ +AOLp1FFgG/8AC2PhZ/0UvwZ/4Pbb/wCLo/4Wx8LP+il+DP8Awe23/wAXTqKLAN/4Wx8LP+il+DP/ +AAe23/xdH/C2PhZ/0UvwZ/4Pbb/4unUUWAb/AMLY+Fn/AEUvwZ/4Pbb/AOLo/wCFsfCz/opfgz/w +e23/AMXTqKLAN/4Wx8LP+il+DP8Awe23/wAXXJ/Ff4heAdc8L2Wl6J448M6nfz+INF8q1s9Vgmlk +26nasdqKxJwoJOB0BNddRRYAooopgFFFFABXFeIf+RwvP+vPSv8A05rXa1xXiH/kcLz/AK89K/8A +TmtXDcTO1oooqBnE/DO31nVfBlpcL4hWxht0jtkQ2aycCNSOevT+VdJ/Y2rf9Dkn/guFY/wb/wCS +cJ/18p/6JWvLdK+JHiyy/a08RfD5NPu9b0K5+zShYyN2l/6JCWmBYgCEkjcpI+ZgUy5KyJ7sD1XW +F1ew1TStPTxN9ofUJZEDLYIojCRs5Jz1JwBj3Jzxg3P7N1//AKGT/wAkU/xqr4k/5HLwr/13uf8A +0navNN+teHPiL9q8e6p4ttf7U8YeRoOoafqKPpkttLDi3sZbUucZ2urOIAQ4DeaPv0ID1X+zdf8A ++hk/8kU/xo/s3X/+hk/8kU/xryTw78WfEdhF4lOrWkOsySfESTwvoKmdbcIWbCpMViO2NFGRIBI7 +FiCAAGOtofxnudW8X6J4Vi8LQx6jea5qej37NqR8m2exWN5Hibyt0waOTKhlj+YYOB81O4Hov9m6 +/wD9DJ/5Ip/jR/Zuv/8AQyf+SKf415f4W+PTa1Ztrj+BNcj8NNZ6heJqEEU0hiS1DsBMXhSBTIsb +geXNLh8IxGciL4c+MfEvif49adcakn9maZqXw/i1S20y31OS5gHmXSlZXVo41E21ipwpwB945wC4 +Hqv9m6//ANDJ/wCSKf40f2br/wD0Mn/kin+NeSWD3+uftC/EDRr+LxlqenWcmkpbDTPEElnb6cJb +bMjui3MRIYjd8iuflbjJ+borX4uNLpPirUJ9J06yXR/EjeHdPjn1CZ31K5WQKQEit3cEqylVRZSc +NnaF3UAdz/Zuv/8AQyf+SKf40f2br/8A0Mn/AJIp/jXj13+0TKtjbtaeC/Mvhcazb3kNxqD26RNp +sCzvsLQeY2+NuA8cbKw2sB1qa3/aHjbRXkuPCMyau15pNtb2sF208LjUbf7RCxdYfNyqK4ZEhc7g +oXduypcD1v8As3X/APoZP/JFP8aP7N1//oZP/JFP8a861f4xa3pvgmHxBc/DrUbOT+1JdPuP7RuH +srSIKuYZvNlhEgjmLRoryRRorlhI0YALetWU0lxZwTy2s1pJJGrvBMVLxEjJRihZcjodpI44JHNA +GV/Zuv8A/Qyf+SKf40f2br//AEMn/kin+NbdFAGJ/Zuv/wDQyf8Akin+NH9m6/8A9DJ/5Ip/jW3R +QBif2br/AP0Mn/kin+NH9m6//wBDJ/5Ip/jW3RQBif2br/8A0Mn/AJIp/jR/Zuv/APQyf+SKf41t +0UAYn9m6/wD9DJ/5Ip/jR/Zuv/8AQyf+SKf41t0UAYn9m6//ANDJ/wCSKf40f2br/wD0Mn/kin+N +bdFAGJ/Zuv8A/Qyf+SKf40f2br//AEMn/kin+NbdFAGJ/Zuv/wDQyf8Akin+NH9m6/8A9DJ/5Ip/ +jW3RQBif2br/AP0Mn/kin+NH9m6//wBDJ/5Ip/jW3RQBif2br/8A0Mn/AJIp/jR/Zuv/APQyf+SK +f41t0UAYn9m6/wD9DJ/5Ip/jR/Zuv/8AQyf+SKf41t0UAYn9m6//ANDJ/wCSKf40f2br/wD0Mn/k +in+NbdFAGJ/Zuv8A/Qyf+SKf40f2br//AEMn/kin+NbdFAGJ/Zuv/wDQyf8Akin+NH9m6/8A9DJ/ +5Ip/jW3RQBif2br/AP0Mn/kin+NH9m6//wBDJ/5Ip/jW3RQBif2br/8A0Mn/AJIp/jR/Zuv/APQy +f+SKf41t0UAYn9m6/wD9DJ/5Ip/jR/Zuv/8AQyf+SKf41t0UAYn9m6//ANDJ/wCSKf40f2br/wD0 +Mn/kin+NbdFAGJ/Zuv8A/Qyf+SKf40f2br//AEMn/kin+NbdFAGJ/Zuv/wDQyf8Akin+NH9m6/8A +9DJ/5Ip/jW3RQBif2br/AP0Mn/kin+NYmuWVxY+J5Uur5r2aSw0mRpDGqDnUxgADsBj15z9B21cl +8QJ4rXxPPdT+b5UOj6TI/lQvK+0akCdqICznHRVBJ6AE1UNxM62iub/4Tvwx/d8U/wDhH6t/8jUV +HMhmP8NNVfTPAFpAdF1y8M7rMj2enSTJtEar94DHUEYB7HOOM3dOuNN07VtU1ay8EeJYb/VpI5L6 +4GjzF5zHGsaAkjoqqAFHAyxxlmJjttA1m2t47a2OpwwxIEjjj8YXKqigYAAFvgADjFSf2Nr/APz3 +1b/wsrr/AOMVo6buK46Wa+1nxd4fkg8P69bx2ss7SvdadJEoDQsByRjrgfiKm/4VZ4V/4SP+3v8A +hHZvtf8AaH9p+X50/wBm+2bNn2n7Pu8nzsf8tNm7PzZ3c1X/ALG1/wD576t/4WV1/wDGKP7G1/8A +576t/wCFldf/ABihU2FyxffCzwref2j53h2Zf7R1CLU5/Jmni2Xkf3bmLYw8mY4+aSPaz/xFqNJ+ +FnhXStR0vUrHw7NHfaXcXd1bXLTTySma6G2eSRmYmZ3AA3SbiABjGBVf+xtf/wCe+rf+Fldf/GKP +7G1//nvq3/hZXX/xij2YXHaZ8I/BmnXgubfwoWVI7mKG2neae1t0uTmdYbeRmihD5IIRVyCV6Eip +vCfwu8N+FtYj1fRtH1GO+i08aZFLcX91c+VahgwhQSyMFQFQQABjt1NV/wCxtf8A+e+rf+Fldf8A +xij+xtf/AOe+rf8AhZXX/wAYo9mFze0vwhp+meI9Y8Q2OkzRanrXkf2hPmRvO8lCkfyklVwpI+UD +PfNZM3ws8Ky6dfWDeHZhDfawdcmZZp1lW/JB+0RyBt8T5Uf6srgZA4JBr/2Nr/8Az31b/wALK6/+ +MUf2Nr//AD31b/wsrr/4xR7MLlaP4JeBUUg+GLyVmkvpWea+u5Hd72EQ3LMzSFmLxqASScdRgkmp +k+DfgiOCeGPwtMnnfYSZFubgSxtZJ5dq8cgfdE6J8u9CrEE5Jycv/sbX/wDnvq3/AIWV1/8AGKP7 +G1//AJ76t/4WV1/8Yo9mFxl58G/BF3o8elT+FpmhS4uLnzhc3C3MklwpWdnuA/myeYrbXDOQwCg5 +CrjsrLSzZWcFlZacba1t41ihhhg2JGijCqqgYAAAAA6VyH9ja/8A899W/wDCyuv/AIxR/Y2v/wDP +fVv/AAsrr/4xR7MLna/ZLr/n2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99 +W/8ACyuv/jFHIwudr9kuv+fab/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b +/wALK6/+MUcjC52v2S6/59pv++DR9kuv+fab/vg1xX9ja/8A899W/wDCyuv/AIxR/Y2v/wDPfVv/ +AAsrr/4xRyMLna/ZLr/n2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99W/8A +Cyuv/jFHIwudr9kuv+fab/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b/wAL +K6/+MUcjC52v2S6/59pv++DR9kuv+fab/vg1xX9ja/8A899W/wDCyuv/AIxR/Y2v/wDPfVv/AAsr +r/4xRyMLna/ZLr/n2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99W/8ACyuv +/jFHIwudr9kuv+fab/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b/wALK6/+ +MUcjC52v2S6/59pv++DR9kuv+fab/vg1xX9ja/8A899W/wDCyuv/AIxR/Y2v/wDPfVv/AAsrr/4x +RyMLna/ZLr/n2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99W/8ACyuv/jFH +Iwudr9kuv+fab/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b/wALK6/+MUcj +C52v2S6/59pv++DR9kuv+fab/vg1xX9ja/8A899W/wDCyuv/AIxR/Y2v/wDPfVv/AAsrr/4xRyML +na/ZLr/n2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99W/8ACyuv/jFHIwud +r9kuv+fab/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b/wALK6/+MUcjC52v +2S6/59pv++DR9kuv+fab/vg1xX9ja/8A899W/wDCyuv/AIxR/Y2v/wDPfVv/AAsrr/4xRyMLna/Z +Lr/n2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99W/8ACyuv/jFHIwudr9ku +v+fab/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b/wALK6/+MUcjC52v2S6/ +59pv++DR9kuv+fab/vg1xX9ja/8A899W/wDCyuv/AIxR/Y2v/wDPfVv/AAsrr/4xRyMLna/ZLr/n +2m/74NH2S6/59pv++DXFf2Nr/wDz31b/AMLK6/8AjFH9ja//AM99W/8ACyuv/jFHIwudr9kuv+fa +b/vg0fZLr/n2m/74NcV/Y2v/APPfVv8Awsrr/wCMUf2Nr/8Az31b/wALK6/+MUcjC52v2S6/59pv +++DXJ+NC8XjXIyrppmjnkdCNTFQxaH4gllSNZ9WBdgoz4yuu/wD271FFoGq/aDK0BeWWS2Etxd69 +NdusUNwk21Q8A/ukAbgPmNNRsB3v9qX3/Pf/AMcX/CiqdFZ2Gf/Z + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image002.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAJYAYADASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDqTa6N +H8vk3c57yNMV3fgOlJ5Gjf8APjcf+BDVi6jfyQ6w8A3uqIrbBMYlC45JYf1+lUPGUl7okQvtO1O5 +a2OAQ0nmbGPTnow7fl6ih1Uuh1xwt7Jytc6nyNG/58bj/wACGo8jRv8AnxuP/Ahqz9X1Y6Vp9vIs +BuLq6ZYoIQdu9yPXsBVZrzX7C1vJNStbJvJtWmjktmbaGH8DA859xW3unG7pmz5Gjf8APjcf+BDU +eTo3/Pjcf+BDVnaPr+narFDFHfWz3hhDywRtypxz+VR6dr0E9vd3V3eWSW0d15MUsUhII7bs9Gp6 +Aa3kaN/z43H/AIENSeRo3/Pjcf8AgQ1VrLVtM1KKWWxvobhIeZDG2dv1pNP1fS9WLrp9/BcmMAsI +25FFkFy15Gjf8+Nx/wCBDUeRo3/Pjcf+BDVneJNXGgaQb7YrkSIgVu+Tz+mabPrkUfiWx0hNrC7t +2m39x3X8wD+lFk3YDT8jRv8AnxuP/AhqPI0b/nxuP/AhqqR6zpU2otp0eoQNeKSph3fMCOo+tNbX +dIF19jGowG63FBCDliw7Ype6Bd8jRv8AnxuP/AhqPI0b/nxuP/AhqytG12G+0yxmvZYYLq9LiOFc +/NgkcDrVqTWtIi1AafJqNst2TgQl/mz6fWj3QLfkaN/z43H/AIENR5Gjf8+Nx/4ENVO41vSLS6Np +cajBFcBghiY/NuPQYqzd3VtYRCW7mSCNmCBn6bj0FOyAf5Gjf8+Nx/4ENR5Gjf8APjcf+BDUye6t +7eeO2eRftEwYxQk/NJgc4rEh1fWbfV7C21WztY49RLCKOF2MkO0Z+fPB49KWlw8ze8nRv+fG4/8A +AhqPI0b/AJ8bj/wIaotSvIdL064vp8+XAhcgdT7VjWes6tHqGnw6vaWsUOpqTB5BYtE2NwV88Hj0 +p2V7Bc3vI0b/AJ8bj/wIajydG/58bj/wIapNntRsoshXI/J0b/nxuP8AwIajydG/58bj/wACGqTZ +RsosguR+To3/AD43H/gQ1OSPSEYMlpdIw6Mty4Ip2yjZRZBcbGmkwu7xWl0jyHc7LcuCx9T60Spp +NwAJrS6kAOQHuXOD+NO2UbKLIHqQfYtB/wCgbN/3+aj7FoP/AEDZf+/zVPso2UyeSPYg+xaD/wBA +2b/v81H2LQf+gbN/3+ap9lGygOSPYg+xaD/0DZv+/wA1H2LQf+gbN/3+ap9lGygOSPYg+xaF/wBA +2b/v81Pih0eBi0NlcxEjBKXDDNSbKNlA+WK2Q7zNP/5433/gW/8AjR5mn/8APG+/8C3/AMabs9qN +ntSsh3FabTlGTFfdcD/S5OT+dSiCP/oGax/39lqFQUurVhwROv8AWt37U3940mMyPJj/AOgZrH/f +2WoRPp5bYINQLltnli5k3bvTGc5rd+1P/eNY6SEeJDLnne3P/bMUIGL5Mf8A0DNY/wC/stBhiAyd +M1j/AL+y0y61DxLJf3Sab/Z7W8Enlgzkh87VY5+Yf3qZBq3iO31eyttTSxEN2ZAGgJJBVd394+1I +Bv2vTAylIr9nfIUJcyFj6jGc1I01s67WsdYYehlmrJ1CVo9VLqxyxl5/4GK1XsbuSzhu9EuJb6Ny +FlimYeZG5757L6jt1HFYTqSUmondGhD2cZye5HI2nKVmk07VB5Z3K7PL8hxjIPbjj6VBq2tWfh/S +JdWje4ntFHzQyPucMfukMex6HripNXiTTVjgbUJbi9IzcKp/dL6ADsf59T2qpDYx6jo1lZStiO42 +Kx2K3BBzwwINOnNybTIq0VGmprqZmvRanpnxFtboaffy6dLAqTSWsLOMEEHIXrg4OD6Vi69/bF1o +t1o0OizXDTOi2sltYyoI41cbVZmA3Haq89ua9Zh125mhSWPSpCkihlPmKMgjjvT/AO2Lz/oEyf8A +f1P8afIZSqyla/Q5TxRoOoGy0vULG2a4udLmSVrdSMyLtwwHuKrXWqya7peo2tlompopspC0lxbm +PD44QKeWz6iuz/te8/6BD/8AfxP8aX+17z/oEP8A9/U/xqtbWMutzgho0sSeC5YrB0MThZmWLHlg +pzu44GfWs260W9bStbhOnzsDrqOE8k/NHu5IGOVx36V6d/a95/0CH/7+p/jS/wBr3n/QIf8A7+J/ +jTEtjhtX03U7XxTfz6RZN5smjnyiseEeQNwPQnHasnwxaTHxfYTpBrTI9q8dxLfwlVEnB2gY4Fen +f2veYx/ZD/8AfxP8aU6xeH/mEyf9/U/xoTaBnJ+LNGk1LUtE01rV5LWW4Z53CkqoVTjJ6dTXOw+H +9XsY7XVbm2kkurPUo7fCoSfs6goDx2OQc16b/a95/wBAh/8Av4n+NH9r3n/QJk/7+p/jS1GeST2+ +qS6jbzXtrrT6lBqQeZRCfs0cQbAK4HPGOR7113hfR3S68QSy2bRySXzlHePBdccEZ7fSuu/te8/6 +BMn/AH9T/Gj+17v/AKBD/wDfxP8AGgR5d4U0jU9AnsdUu7a5nt70vayKYDvsvmJU46hT3qiPD2ox +C50HUZNUja4uiSINNSWKQM2RJ53UfnxivX/7XvP+gTJ/39T/ABo/te8x/wAgmT/v6n+NCuM5HQtD +kh8Ya289szYWFYp5I/vgLzgn39K3NV8PR6tpdxYTr8k6Fd3909j+BrS/te7/AOgQ/wD38T/Gj+1r +v/oEP/38T/Gn0sLrc4vwhourPPc6pr0ZF1bp9jiG3nYnVgPVjzWXpGoi78XT6nqel6rG5P2axT7E ++yGPPLM3Ynv6V6R/a13/ANAh/wDv4n+NH9r3n/QJk/7+p/jRd3uFjlNVtLjxJpWvaNDp9zbTQqY4 +pJlwk56gqfTj9ay7NLvxHq2hR/2VeWf9l5ku2uYiih9u0KpP3ue9d/8A2vd/9Ah/+/if40f2vef9 +AmT/AL+p/jQrp3Ag/s9v7tH9nt6VP/a93/0CH/7+J/jR/a93/wBAh/8Av4n+NF2FiD+z29KP7Pb0 +qf8Ate7/AOgQ/wD38T/Gj+17v/oEP/38T/GndhYg/s9vSj+z29Kn/te7/wCgQ/8A38T/ABo/te7/ +AOgQ/wD38T/GldhYg/s9vSj+z29Kn/te7/6BD/8AfxP8aP7Xu/8AoEP/AN/E/wAaLsLEH9nt6Uf2 +e3pU/wDa93/0CH/7+J/jR/a93/0CH/7+J/jTuwsQf2e392j+zz/dqf8Ate7/AOgQ/wD38T/Gj+17 +v/oEP/38T/GldhYg/s8/3aP7PP8Adqf+17v/AKBD/wDfxP8AGj+17v8A6BD/APfxP8aLsLEH9nn+ +7R/Z5/u1P/a93/0CH/7+J/jR/a93/wBAh/8Av4n+NF2BB/Z5/u0f2ef7tT/2vd/9Ah/+/if40f2v +d/8AQIf/AL+J/jRdgZ2oWxtooZcY2zp/Ws681TUra6aKHQrq6jAUrNG3ytkA8ce+PwrY1G4n1Kza +2k0uaMEhg6SplSOhHNY/9kXX/T//AN9Rf41afcRNa6i89tHLLbPbSMPmhl+8hz0NMDYuftHrMy/+ +QhTP7HufS+/76i/xqc6e505bT7FdhllMvnebHuJIx0zjGOKd10AiFxcW95eEWU0yTTCRHjaMgjYg +7sD1B7VDczXFzqGmTGymhW2llMjSFOjR4HRj3p/9jXH92+/76i/xo/sa49L7/vqL/GhW7j1MzWiU +ltpf+ehn/wDQxWtFqNj4Vt0S0kjv7+fDXEob5Av90ent+Zov9GF/ZW1ubK8ia23bZVljLNuOTnJx +1rP/AOESYdDqH/fUVc0oS5m0elTrUXSjCo3p07hrcemlE1LTLhRHck+Zak/NG/UkegPcevStXToC +mlaNLj7zR/8AoLVlf8IiSef7Qx/vRVvi5TZZ6atm9sLOWLaGYN8pDAdD7UQi07szxNWnKmoQd7Fn +TLeW40iyEUmwrbpn3+UVY/s67/5+f1qLR3ZNJs9sJkzbx9O3yir3ny/8+bUSbucqjdFf+zbz/n5/ +Wj+zbz/n4/WrHny/8+bUefL/AM+bUrsfIVv7OvP+fgfnR/Z15/z8frVnz5On2Ns0G4kHW0ai7DlK +39m3n/Px+tH9m3n/AD8frVnz5f8Anzaj7RIelo1F2HKV/wCzbz/n4/Wj+zbz/n4/WrH2mT/n0b86 +DcS/8+bUXYcpX/s28/5+P1o/s28/5+P1qz583/Pm1IbiXOPsjZouw5Sv/Zt5/wA/H60f2bef8/H6 +1Y8+b/n0aj7RLnH2Rs0XYcpX/s28/wCfj9aP7NvP+fj9as+fN/z5tR58v/Pm1F2HIVv7NvP+fj9a +T+zrz/n4/WrXny/8+jUefL/z6PRdhyFX+zrz/nv+tH9nXn/Px+tWhPKf+XRqPPl/59Gouw5Cr/Z1 +5/z8frS/2def89/1qz9okBx9lbNHnyf8+j0XYchW/s28/wCfj9aP7NvP+fj9as/aHHW1b86T7Q// +AD6tRdhylf8As68/57/rR/Z15/z3/WrP2iTvaNSC5kPS0ai7DlK/9nXn/Pf9aP7OvP8Anv8ArVn7 +RIf+XRqDcuOtqw/Gi7DlK39nXn/Pf9aP7OvP+e/61Z+0uTgWrUfaXHW1ai7DlKv9nXn/AD3H50f2 +def89/1qz9oc9LRqXz5P+fRqLsOQq/2def8APf8AWj+zrz/nv+tWfPk/59Ho8+T/AJ9GpXYchW/s +68/57/rR/Z15/wA9/wBas/aJP+fR6PtEn/Pq9F2PkK39nXv/AD3/AFo/s69/57/rVj7RJ/z6vR58 +n/Pq9F2HIVv7Ovf+e/60f2fe/wDPf9as+fJ/z6vUU9+trA09xC0cScszZwO1F5ByEf8AZ97/AM9/ +1o/s+9/57/rUH/CS6aR/rV/Jv8KX/hI9N/56r/49/hR7wuVE39n3v/Pf9aP7Pvf+e/61B/wkmm/8 +9V/8e/wo/wCEj03/AJ6r/wCPf4Ue8FkT/wBn3n/Pf9aP7Pvf+e/61B/wkem/89V/8e/wpU8Q2Eki +RpIrO5Cqo3ck9ulF5Byom+wXv/Pf9ay5IpYdcKStubdbnP8A38rb+0P/AM+zVjXLl9fJKFObfg/W +Srg3fUUo2Rb0uK4l0izFvJsIt4884/hFWvsmo/8APwf++qp6fay3Oj2QiONtumf++RU39lXf98/n +VNamfM0TfZNS/wCfg/8AfVKnmwKz3FyxCjJ54FQ/2Vd/89D+dPv7Q3VpLbMdhcYzVRim9SJzlyux +Ra/uNSdF02GchZATP91SO/1rUCSxrtmfe/rmqC2DwxKvnqiIPoBVyKF4I9kjZbrmrk03otDGmpJP +md2yrYpqHkIbidx8xyrHnGaXUJJ1nsY7eVozLPtODjI2nrUVgNVvI1uvPjWEucqE5IBx1pdWQyXG +nopwzXGAf+AmtOW02Ze0bpK1+hfKyxxkStukAPOaqaR9sl023uJrhnV0ycnnrVlYXggMchywByao +6HbSppltOWzG0fA/GoS9z5/5m3M/bJdLP80XpRcscx3Dr6gnihhNDA7Tyb2Ckg57Yqrafa5dRvQh +3xxuuEPbI7GprxgLC5PQrG2QRjHFLktJB7Xmg/mQ6bHqU2mQTtdMd6ZJZuatOGePy/PYSgZDZ5H/ +ANaqml2zQWcLO+QYwQOwGKj8/T01B7ttQUuV2bN3ygVXJecrE+0cacU/IuQR6jNHuW4I5wRnoak+ +y6n/AM/H/j1VruEkrNHJsBwHOeMdjTjpl0FyZTjvzWMo9TojUexPsuFRkmnYv2IPSoYftrDc9yfl +bDDPNR3lzJBLZ28ADPNIFIP90Dmnaldrp9s8m3MrfKi45Zu1aKm3ZdzF11Fyk+m4+Y3QvI1inZVl +G3BPAYc/r/SpDbaioybnAHvULW9xLpqxXHy3BQMSOzdQaSxjfyxM8hbcOhP3T3qZR7FQqNafMncO +yeX57CULkNnn/wDVTIY9Qmj3LcY7EZ6Gqfn6emoNdtqClyuzZu4Aqe6iJKzRybA2A5zxjsaqULaE +wq6tllhLDExlbfIoJJ9ai064nuLOO4mVYzINw2McYpxieG1eOQ5YKefwqvZwm60KFJcossWMpxim +kuQmUpe007MdYXFxfCWYSloI5WTk/eAouPtJ1C2EMrpHtYyEHj2pljYG1wkci7YuqA8/U1LJNKup +21umCsqMWH0ppe87bA5Pki5PXQj1DUpIHW1td0t5LwqA9B6mrirPHFic7pMZPOfwqneWsEUjXm9Y +Xxh3PGRVmKN4oApfe2MhvX0qXbSyHFyvLmfyKMaa1qCROFhtlDhyFch8Dsa0Qk0a4nfc/rmsz7Jq +dyYHurmKPYSSq5B54xnvWjHC9vEUkbc3JzVT1krW+RFK/K73+ZDptzPdWizyoibyduxj0BxzTLSe +8v5bn7POdkMuwHPXim6ZGZ9FjEg2q4Zcpxxk/rTLXSmhU28EoG3nGeT70TUfe7jpTn7rvpbUvfZt +T/57/wDjwo+zan/z3/8AHhUP9l3f/PQ0f2Xd/wDPU1z2OvnZN9m1L/nv/wCPCk+y6n/z3/8AHhUX +9mXf/PU0f2Zef89TRYOdkv2bUv8Ansf++hR9m1L/AJ7H/voVF/Zl3/z1NH9mXY/5amiwc7Jfs2pf +89j/AN9Cs/XoL5NGuGll3INuRn/aFW/7Mu/+ep/Ws/XbG4h0a4kkkJVduev94UWDnZtLJIQD8vI/ +uil3P6L/AN81np4g0kKP9LU8f3T/AIU8eIdI/wCfsf8AfJ/woGZ3ibVtd0a3mv7SHTJLWFARHPv8 +6Z/7q7eMnt1rdt5JZraKWSHyneNWaNlGUJAJU+46VhajqGk32q6Tdi6t2SxmeVvMEm4EoVBUDgnn ++L8Oa1R4k0bveD/vg0AXPn9F/wC+RWVr3mFbBVwGa8jwQMYPNWv+El0T/n8H/fB/wrM1nVLDU2sL +eyuA8n2tDjaRQBp/ZtR/57H/AL6rKlSZNdInfc2635znj95Wj/Zl1/z0P61mvA8GtlJG3Nutzn8Z +KpIXM2WbK4aDR7EqxGYE6f7op/8AaMv/AD0b86js7f7Ro9iN23ECds/win/2af8Anr/47TuJxuL/ +AGjL/wA9G/Oo5rl5sHzXRx0ZTzT/AOzT/wA9f/HaP7NP/PX/AMdoUmhOCasUrj7VcRNDJfExt1Bj +GTVie5uJVUR3ckO3qVUHP51L/Zp/56/+O0f2af8Anr/47V+0kZqhFX8yK0neztlgSVmUZOTxnNQn +znuYppL2RxE+9EKgAHGO1W/7NP8Az1/8do/s0/8APX/x2kqkr3G6EGkuxDc3FxPjZdyRcYO1Qc/n +SQyyW9glpFO6iNdqvgZH4VP/AGaf+ev/AI7R/Zp/56/+O0ueVrB7GN+YgtJZbWSZzcNI0xBYkAdB +jtTrmc3UTxu7DcpXI64NS/2af+ev/jtH9mn/AJ6/+O0Ocm7jVKKjy9CvI7va+Qs7JiPy8j0x6UW/ +kW0KRJGmFAGdoyferH9mn/nr/wCO0f2af+ev/jtP2krWF7CF72Kd4v26RPOmfyVH+qU4BNXBfyBN +gc4AwPaj+zT/AM9f/HaP7NP/AD1/8dpObejHGlGLbXUqq0v2+O6knMhiUqgK4IzUkzrPdxXUhLPD +nbnoD61N/Zp/56/+O0f2af8Anr/47TdSTJVCCVreZHdXdxcQ7I7gxMTy4GTj0quqGO0a3juJRuBB +ZjnOetXP7NP/AD1/8do/s0/89f8Ax2hVJJWQSoQk7sr2/k20CRJGmFGMlRk+9MvF+3SL50z+So/1 +SnAJq3/Zp/56/wDjtH9mn/nr/wCO0e0ne4OhTceW2hBcTTTKqx3bwqFwQqg5H40+C4e3tEtklbCL +tUnt71J/Zp/56/8AjtH9mn/nr/47S55WsP2MbtlWxVbIu6yM80n35GOSaI2nF3HcS3bSNGCFG0DG +atf2af8Anr/47R/Zp/57f+O1XtZNti+rwsl2K12qX00bzuzJH/yzz8rH1NST3E8oURXTwBePkUHP +51L/AGaf+e3/AI7R/Zp/56/+O0lUlp5D9hDXzKUizyqqy38kiq4bDIO30qzc3U84Gy7eEjqVUHP5 +1J/Zp/57f+O0f2af+e3/AI7Q6kmJUIJNdyK1na1tVt1lYqueSPWobNRaSvOZWkuH+9Ix5x6Vb/s0 +/wDPb/x2j+zT/wA9f/HaPaS18x+xhdPsO/tGT++350f2jJ/fb86b/Zp/56/+O0f2af8Ant/47UXZ +pyjv7Rk/vn86P7Rk/vn86b/Zp/57f+O0f2af+ev/AI7Rdhyjv7Rk/wCeh/Oj+0ZP75/Om/2af+ev +/jtH9mn/AJ6/+O07sOUd/aEn98/nSG/dhgsSPQ0n9mn/AJ6/+O0f2af+ev8A47Rdhyifa/YflR9r +9h+VL/Zp/wCev/jtH9mn/nr/AOO0XYcon2v2H5Cj7X7D8qX+zT/z1/8AHaP7NP8Az1/8douw5RPt +f0/KgXmDkYB+lL/Zp/56/wDjtH9mn/nr/wCO0rhyi/b5P75qgJjNrRYnJ3W4/wDQ6vf2af8Anr/4 +7VEQ+RrRTdu+e3Ocf9dKaYKNi3b3trp3h23u7ydIIIraMvI/QcD/ADjvSxa9pUwhMd6p8+4+zRgq +ysZcZ2EEZBx64qne2Kaj4LS1eya9D20R8hJhEzEYI2seARjIz6Vz2r6J4q1ewtUWSWKaHV2mglnd +BNFBsIBkK8ZyccZIBHpSe5R3oB9KZDNFcqWglSVVYoTGwYBh1HHcelcRqWmeJL29tJrePULKBLSJ +I4IbpGaCZX+Ys5bkYwd2GJHYZqOHw9rVjiI211La/wBqXc91Fa3Wxp0dT5TKdwwAevI57GkB20N9 +a3F7c2UMyvcWgQzxgHMe4ZXP1ApXvrVL+KwaZRczRtKkXOWVeCfTjNcM3hzX49YvNUto7uK4ZrBY +s3gbcijE2/oHIHGSO5xXQatb3sXjTT9Vt9Pmu7aCymhfyWTcGZgRwzD0oA6DBxnFGD6GuI1q38Ry +6+l8nm2Nmk6b5VlAjW2MZDmTL/eBPQL2yDWVpel+Kb7RLe9F9ePBLPCrwiUmV4o0ZS43Mv32w2Mj +IwcmgD0zB9KMH0rhbbRPEaw3nnyai7HSUhtyb1RIJd5LDI+XcFwM45xjd3rd8OW13b2lquo2t0t2 +sLBpHufMQDfwv3up6jg4HG40AbtFFFMAooooAKKKKACiiigAooooAKKKKACiiigBk00dvBJPM4SK +JC7seiqBkn8qq6dq9jq677CZpl2hw3kuqlT0ILAA/hS6vBLdaJf28K75ZrWVEXOMsVIA/M1zX9g6 +xD4T0CwinvWliuLQ3kZuAPKiUYkVSuPl9snNAHY4PoaMHuDXnusaZ4yudRvZbSO4i86O6QiGcLEQ +QPJKkvndkc8Lj6VAmgeNIPtyWct1H5yXKxtJebxjEZjAyxweJACPXk0gPScHOMGiuBudF8Sf2K0V +t/acj/aw6RSXaRtt2YOcMSFJ6fOcHnBHFdnYpsE2YJ43Lje0sm/zGwMsvPT8F+goAt0UUUwCiiig +AooooAKKKKACiiigAooooAKKKKACiiigArJnDNrxCjLZt8DOM/6ytasi4/5Drc97f+clNAR7Hns/ +D1otxPAlxIiSNBIUYgQO2MjnqoP4VNYadZXehpqs2paxbxlWZh9vkfaAxHbr09Kr/aEtYfDE0mdq +zLnAyebeQVHbRxHR/wCzxrJmswSYQtp/t7sOQ/zr1BHGal7gXkstDcKR4j1HDbcZ1Fx94MRn04Vu +voaiW30ecItnreq3M8ofyYFv3V5CoyR82McEcnA5rJtNF0/fNaXjOLIxuCYkCec7lyGC87AgkdQM +85yc1paYmk6JcrqD3SR+Ukgk8q1WGMhtnJ5PTZ1JPXtRZgZ4njeHTnW7urdr63kmIvdceJU2sq7Q +wU7j836VowLob2sc1xrmrWrNbi4eOW/kBjXbuIPbIHOOtV7LU/CdmLGSbVre4jtbeW3TzQhDlnVi +evUYH50uoaXo2o3t5deft+2BmL/ZVaRXMfl5Dk8LtxwBn35oswLckPh+BHeTxJqSiMIW/wBPkyNx +AXjqTkjjqMiofsYvLpo9Iu9QvUjhSaR31aSPIYsAFG05b5GyG244/BmrILi4kubK+ZZXuIJFV7cb +U2urMx5G44XjoexJ4w1bmx0e5MkWvraXF8f9IMtuuZTvZsxgt8vMjdd3b05LMC7Pa6JaNMl1r+qQ +vAFMivfSZGcAY9eSOmetJ5GgeRJMPEepFI2Cti/kJyemAOT+HofQ1Sk0vT5NaTUX1CUmOXzATbZl +b94j4Z88gbMDgYGPSmTaNpMvlObtnkgH7vzrUOmd8rElcjPEpHUdAaLMDRa10IRzSDxDqjpAUEhS ++lbaWGV6eo5rQTwxayxrJHq+qujDKsuoOQR6jmsNtO01bA2kF26p5okCSWoaLiNY8FAQD93I6YJr +b0rU9P0vSbPT1klkFrAkIcx43bQBnHbpRZgP/wCEVg/6Cmr/APge9H/CKwf9BTV//A96sf8ACQ2H +/TX/AL4o/wCEhsP+mv8A3xRZgV/+EVg/6Cmr/wDge9H/AAisH/QU1f8A8D3qx/wkNh/01/74o/4S +Gw/6a/8AfFFmBX/4RWD/AKCmr/8Age9J/wAIrB/0FNX/APA96s/8JDYf9Nf++KP+EhsP+mv/AHxR +ZgZNtbNp/iG7slu7u4hFpDKBczGQqxaQHBPTIUflToDc3Pmt9sdAsrqFESkAA4702K9hvvFl7JDu +2rZW6ncMc75adZzQ21tPLPIsaC4kyzHAHzUASGK4XGdQkGf+mSUvk3P/AD/yf9+krj/F/jPSoYoU +tb8PKsykiLJOM10ej+IbXWGCW0VwBtzukiKikBdsZZJEmWSQyGOYoGKgHAA9PrVqqmn8G7/6+W/k +Kt0wM7X5JYtFnaGV4XLxKHjOGUNIqnB7HBNRxaVHJ4hm0p7jWY1jgEyTnUmIkBOOADkYPrTvEX/I +El/66wf+jkraNvbr4ga+N2glW08tocjIXfnce/tQwKv/AAisH/QU1f8A8D3o/wCEVg/6Cmr/APge +9atpe2t/AJ7O5iuIicB4nDLn6ip6QGH/AMIrB/0FNX/8D3o/4RWD/oKav/4HvW5RRcDD/wCEVg/6 +Cmr/APge9H/CKwf9BTV//A963KKLgYf/AAisH/QU1f8A8D3o/wCEVg/6Cmr/APge9blFFwMP/hFY +P+gpq/8A4HvR/wAIrB/0FNX/APA963KKLgYf/CKwf9BTV/8AwPej/hFYP+gpq/8A4HvW5RQBh/8A +CKwf9BTV/wDwPej/AIRWD/oKav8A+B71uUUAYf8AwisH/QU1f/wPek/4RWD/AKCmr/8Age9btFAH +Jz2B0rxBp0UV/fTRXEU/mJcXDSAlQpBAPQ8mpi08t9cRLctEsW3AWNT1GepqbW/+Rl0f/rlc/wAk +qGFlTUb53OFAjJJ7fLQA4xXCjJ1CQf8AbJKPJuD/AMv8n/fpK53xX4t0e20q4iTUIzPt+VYzuOfw +qfw34rtNUtbWGOO5aRkAZ2iOM455oA27aSX7ZPBJM0qoisCUCkE59PoKqSjOv49Tb/8AtSrUIxq1 +1/1yj/m1QDnxIP8Aet//AGpVIDNv+NN8Nk8fv4//AEQ9YNpdTxeHhaR291Hcxgh28l12AufmBx82 +Ac4HJrqoFVx4XVlBBmXgj/p2krrvs8P/ADyT/vkUNgeO297rsqNBHKXughkUOu3CqZFAcHkFsxnB +64zxSrBqd9A1td3N5JayRS7isWxycJgfPyeS2M4/GvXls7VHd1t4lZyC7BAC319ad9nh/wCeSf8A +fIouB5LbwX9zq4liubiG3SKRYp7i3DOwJjOGDAY+YNjjoKhuI9YsnntrGaZYYISltGsRbKCPg7vu +7t34+1ew/Z4f+eSf98ij7PD/AM8k/wC+RRcDyTUrq9tZJFNzfrD5sEfmIoJwXUELgHLEZ6c88gYG +X2cs0F3cS31tczpcRiOAmAuzorPgPx8pIZfvY6/WvVza27ABoIyAcjKDg0fZ4f8Ankn/AHyKLgeR +XM+sPqjRQ/aoYJXCsqIf3Kh0AKvjbyu48Zx+FNll10RIoluFR8NNIYyzp80gwoUZ5Cxk49Se9ewf +Z4f+eSf98ij7PD/zyT/vkUXA8jaTWRYzebJciR5EUSJGfkAjByqLknLEg8nB61uafLPLpttJdjbc +PEplUjbhsc8dua7/AOzw/wDPJP8AvkUvkQ/88k/75FHMBw+R6ijI9RXceRD/AM8U/wC+RR5EP/PF +P++RRzCscPkeooyPUV3HkQ/88U/75FHkQ/8APFP++RRzBY4fI9RRkeoruPIh/wCeKf8AfIo8iH/n +kn/fIo5gscToWD4i1H/r1t//AEKWtfT7SG7tJ0njWRftMnDDI+9SSoqeL7wKoUfYLfgDH8c1LDDe +229YLqII8jPhockZOcdaW4yh4n8Lpd6VssbaNZVkVwFUDODW5a2witkDKA2Bn61B5uqYx9rg/wDA +f/7KkL6met3B/wB+D/8AFUgIrH/WXn/X038hVqoLWB4BJ5kgkeWQyEhdoyQOMfhU9MDM8Rf8gSX/ +AK6wf+jkq5Np6ReKbu8Gm+bFNp22XZEv79g/3STwTj17VmeMSV8J35UkMFQgjqD5i1ik3TazNaNc +lIGtPMiK5DRndtySSc/yotcDr/DccxuNTupIpgtzOrRyTRGFnAQD7hAIx06c4zW7+FeZ6P581tJN +PdTXEckh8hpPlbYOMnbjqRnp0xWhsHq//fxv8afKK53n4UfhXBeWuMZfH/XRv8aXYPV/+/jf40co +XO8/Cj8K4PYM53P/AN9t/jSbB6v/AN/G/wAaOULne/hR+FcHsHq//fxv8aNg9X/7+N/jRyhc7z8K +PwrgvLX1f/v43+NLsHq//fxv8aOULnefhR+FcHsGc7nz/vt/jSbB6v8A9/G/xo5Qud7+FH4VwWwe +r/8Afxv8aXYPV/8Av43+NHKFzvPwoz7VwWxfV/8Av43+NHlj1f8A7+N/jRyjN3W/+Rl0f/rlc/yS +ktYUn1C/jkUMpEYIPf5a560yvjHT1DMQbW5OGYkZ+T1NdCILqO7mnt7hEEu3KvFuxgY9aVgI9W8N +2tzpVxBb20SySIQCEAp/h7TpLPRraK4QLKkYVhUwl1Qf8vcH/gP/APZUhfUz/wAvcH/fg/8AxVIC +MDGs3Q/6Yx/zaqcieZ4h2Zxk2/8A7Uq7DBMtzLcTzLI8iqvyptAAz7n1qoP+RlH1g/8AalUgIrf/ +AJlf/rsv/pNJXY1x1v8A8yv/ANdl/wDSaSuxpPcAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFAHOT/8AI4Xn/Xhb/wDoyalOoWwZl3OSrFTtiYjI7cCkn/5HC8/68Lf/ANGTU3TdximwTgXE +nGf9qmA7+0bb1l/78v8A4Uf2jbesn/fl/wDCrWT/AHj+dB3dmP50rgRwXEVwhaJiQDtOVIwfoakq +np+c3eTn/SW6/QVcpgZPimEXHhu6gYkCVokJHYGVBVHVLSx0y5nmvJrsBIGiNx9lGx8KXMa/NycA +nOMcYzWj4i/5Akv/AF1h/wDRyVa1nRb3V79RJDaG3jDAO7u3mIyFTG0fTqc7gc4GO5oAp6VoBuLN +Qj3NnHEBHGk8KZ2gADG1jx2q7/wjDf8AQQP/AH5H+NWdA0ubT/tbyW9vaJcSKyWls26OEBQDg4Xq +RnoOta9F2Bz/APwjD4/5CB/78j/Gj/hGGxn+0D/35H+NdBRRdgc//wAIw3/QQP8A35H+NH/CLv0/ +tA/9+R/jXQUUXYHP/wDCLt/0ED/35H+NH/CMN/0ED/35H+NdBRRdgc9/wjD4/wCQgf8AvyP8aX/h +GGxn+0D/AN+R/jXQUUXYHP8A/CMNn/kIH/vyP8aP+EXf/oIH/vyP8a6Cii7A5/8A4Rd/+ggf+/I/ +xo/4Rhv+ggf+/I/xroKKLsDnv+EYfH/IQP8A35H+NL/wi74/5CB/78j/ABroKKLsDjZ9I/s7xVpc +puDMXguVAKBcD5DWlJe28UrRMzb1xkLGzYz9BRrf/Iy6P/1yuf5JUdvuOp3oDED930P+zRcB39o2 +3rL/AN+X/wAKP7RtvWX/AL8v/hVrnux/Og5/vH86LgQw3UNwzLExLKASGUrjP1HtWZdzSQa08sKI +7qbfarvtU8ydT2q7Dn+1rnJJ/dR9fq1ZuqWcGoalLaXKb4Zfs4dfUZc/0poCa3/5lf8A67L/AOk0 +ldjXHW//ADK//XZf/SaSuxpPcAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHOT/API4 +3n/Xhb/+jJqdpSboJsf8/En/AKFTZ/8AkcLz/rwt/wD0ZNTdM1CztkmjnuEjf7RIcMf9qmBlan4e +8S3F48tn4g8iJjkRmAHaPrWro2n6nZQFNRvxeP2YRhMVorrOlY5vYvzpj6xph6XsX50gKVgMPdj/ +AKeW/kKt1T06RJftUkbbka5YqR34FXKYGb4h/wCQJL/11g/9HJWb4jmvrvxPNZuLy0gfT7qCGTYf +J5RSZTtOTgnHHP51o+Iv+QJL/wBdYP8A0cldVt+bOBkdDQwOf8ImBEvre1W0eKGVcXFmCIpiVBOA +Wbp0PJ6dq6KmRxrGu1FVV7BRgU+kAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc9rf8AyMuj +/wDXK5/klFmM6nff9s//AEGjW/8AkZdH/wCuVz/JKjt7y2tNUvBcTLHuEZXd3+WgClrmh69e3Hma +brP2RMf6swhv1qXRNJ1qxJOpaqL1SOB5IXH41sprOl972L86a+s6Yel7F+dAFJBjWLof9Mo/5tVK +f/kOn62/85KtwTxXOq3UkEgkTyoxuXpn5qqT/wDIdP1t/wCclUgEt/8AmV/+uy/+k0ldjXHW/wDz +K/8A12X/ANJpK7Gk9wCiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc5P/wAjhef9eFv/ +AOhzVaqrP/yON5/14W//AKMmqurtiFFSeaSSLzDifaBzjuaYGlRVDE//AD6XH/gWP8aMT/8APncf ++BY/xoAv0VQjJN1HBLFPEXBZSbjcOPofetFxiRgOOTTAyvEX/IEl/wCusH/o5K6uuU8Rf8gSX/rr +B/6OSurpMBaKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBz2t/wDIy6P/ANcrn+SVYqvr +f/Iy6P8A9crn+SVCTNNfXEYuZIlj27QiqRyM9xTAvUVTeKRBltRmA91T/Cl8iY/8v8//AHwn+FAF +usif/kOn62/85Kt2ryi9nged5VREYFwoIJJ9PpVSf/kOn62/85KaAS3/AOZX/wCuy/8ApNJXY1x1 +v/zK/wD12X/0mkrsaT3AKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzk/8AyON5/wBe +Fv8A+hzVViwLu1J7WhP6irU//I43n/Xhb/8AoyaqixGeWCNTgtZMAfxFMDPit9f164luNMuFtrRH +KI8nR8dSBjn61LBf6lpeqR6brkceZuILmLhHPofQ1l614gutH8KWmmW8rWdxFL5Ny68MqckMp9D6 +1lWmu3Wv2qaOZ5L2aG8RobhuTs4JJPtSA71xjV7T3jk/pV6T/Wv/ALxqnKpXVbLP/PKT+lXJP9a/ ++8aaAyvEX/IEl/66wf8Ao5K6uuU8Rf8AIEl/66wf+jkrq6GAtFFFIAooooAKKKKACiiigAooooAK +KKKACiiigAooooA57W/+Rl0f/rlc/wAkqs9xHaXOo3ErBUjVGYk9AFqzrf8AyMuj/wDXK5/klMt7 +eO5v7+OVA6Hy8qRkH5aAPLtf1DX/ABL9mvY82VhJciG0iOQZTz859uMV0fgjxXNM/wDYurq0d7ES +qlv4sdj71veLtNzaWBghysF1G21F6DNaUnh3TZ7xNRa1jNyMfvMc8dKAGwjGrXX/AFyj/wDZqpz/ +APIdP1t/5yVdUbdZuh/0yj/m1Up/+Q6frb/zkqkAlv8A8yv/ANdl/wDSaSuxrjrf/mV/+uy/+k0l +djSe4BRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOcn/AORxvP8Arwt//Rk1QQO8E9rc +C3kmQWxQmMDgkg+tTz/8jhef9eFv/wCjJquLIygAbQB22imBmahDYaom280e5kHui5H45pum2um6 +SpFlotxFnqQi5P45rW81/b/vkUea/t/3yKLAUTK91qlvKLWaJI0cMZAB1xjoauyf61/940vmv6gf +8BFMJJOT1NCAzPEX/IEl/wCusH/o5K6uuU8Rf8gSX/rrB/6OSuroYC0UUUgCiiigAooooAKKKKAC +iiigAooooAKKKKACiiigDntb/wCRl0f/AK5XP8kpPs9xHdSz290I/N27lMW7oMetLrf/ACMuj/8A +XK5/klEl7DHK0REjOmNwSJmxnpyBTAcf7QYYa+jI/wCvcf40E6jjH29P/Acf41H/AGhD/cn/AO/D +/wCFL9vh/uXH/fh/8KAFgt5UuZbiacSvIqrwm3AGff3qhP8A8h0/W3/nJWjDdRXDsibwyAEh0KnB +6dfpWdP/AMh0/W3/AJyU0Alv/wAyv/12X/0mkrsa463/AOZX/wCuy/8ApNJXY0nuAUUUUgCiiigA +ooooAKKKKACiiigAooooAKKKKACiiigDnJ/+Rwvf+vC3/wDQ5qnubyG2uPJMEjsQWARWbjOOcVBP +/wAjhef9eFv/AOjJqbfqzawqoxVhCxB/4EKYEv8AaMX/AD43P/fpqP7Ri/58bn/v01Z7ahOZPIVV +WVT8+49B6j1pBqx3LBIvlzO21QWyCPWgDSW/ikk8oW8sblWZfMRlBxToGL28bnksgJ/KqcgI1G2y +c/uZf5Crdt/x6w/9c1/lQBR8Rf8AIEl/66wf+jkrq65TxF/yBJf+usH/AKOSuroYC0UUUgCiiigA +ooooAKKKKACiiigAooooAKKKKACiiigDn9b/AORl0f8A65XP8kqKD/kJ3nJH+r7/AOzUmt/8jLo/ +/XK5/klVZrVr2TU4EkeNmVAHQ4Knb1oAg8RajNp9vb+Q+HmuEjyeeCea1PMVQFMnJ9+teU6zrura +WLPS9dt3e4s7pZYplHFxGM4/HpWz4P0zVvEOqnxDqkkkcW793FnAPoMegoA7aDP9q3OST+6j/m1V +J/8AkOn62/8AOSrsa7dXuR/0xj/m1Up/+Q6frb/zkqkAlv8A8yv/ANdl/wDSaSuxrjrf/mV/+uy/ ++k0ldjSe4BRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOcn/AORwvP8Arwt//Q5qW4x/ +boz0+zv/AOhCkn/5HC8/68Lf/wBDmpmozG31TzdjP+5ZRhScncKYGbrjw29kstqpku85iweSe+fa +sLT71rh5I7wKJGbLbRllZeePb0rYmsoJ5A8ly5LHMmI24+nHT2qKHSra1uPtcV/JJcqMLmAgEeh4 +5pAbchLX1oxUrmGTg/QVZtv+PWH/AK5r/KqMd0by8tmMboyRSBwVIwTjvV62/wCPWH/rmv8AKmgK +PiL/AJAkv/XWD/0cldXXKeIv+QJL/wBdYP8A0cldXQwFooopAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFAHPa3/yMuj/APXK5/klRwXltaapefaJBHv8srkHn5ak1v8A5GXR/wDrlc/ySrGT60wK +OpL4c1dES+aKUI25dyHg/lVuLUdItoVihuEVFGAAp4H5U/J9TRk+posBTgniudVupIW3p5UY3YPX +5qqT/wDIdP1t/wCcla5JPU1kT/8AIdP1t/5yU0Alv/zK/wD12X/0mkrsa463/wCZX/67L/6TSV2N +J7gFFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooA5yf/kcL3/rwt//AEOapTFIWJ+1TZJz +1H+FRT/8jhef9eFv/wChzVVtr3UruLzYYbTZuIG6Qg8HFMC95Mn/AD9T/mP8KXyZP+fqf8x/hVXf +rH/PGy/7+t/hSeZq/wDzxsv+/rf4UAWjA5GDdT4+o/wqREEcaovRQAPwqGymlngZp1RZEkZCIzle +AP8AGrFMDM8Rf8gSX/rrB/6OSurrlPEX/IEl/wCusH/o5K6ukwFooopAFFFFABRRRQAUUUUAFFFF +ABRRRQAUUUUAFFFFAHPa3/yMuj/9crn+SVXkd2vLkPdSwxwhcBNuANuT1FWNb/5GXR/+uVz/ACSu +c8X21/d6Tq8OnOElKIWJOMqFyefpQBs2csN/F5trqs0yZxuRkIz+VK7xpOsDapOJXGVTcmT+GK80 ++Fdn4itF+0pCH0y6ByWfoR3ArOvbLxfH8QUkwGvnJkiUNkbB2+mKAPYLVpBezwtNJKqojDfjIJz6 +D2FVZ/8AkOn62/8AOSp7EyG9lMq7ZDBEWUdj82RUE/8AyHT9bf8AnJVIBLf/AJlf/rsv/pNJXY1x +1v8A8yv/ANdl/wDSaSuxpPcAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHOTf8AI43n +/Xhb/wDoyaqGn3cFhokl1cuI4o5JCzHsN1X5v+RxvP8Arwt//Q5qwrnRptc8IT2cDhHeViCehw2c +GmA1PHukkqJFnhDnEZkjID/Stmz1S3vH2DKSddrDBrg7vwv4mvYvs72MR+XZ5rS5AHqBXW6ZpN8J +bbz4xGIOrZyzcYpAa1gMRzj/AKeZP5LVmq9kMJcD/p6k/ktWKaAzPEX/ACBJf+usH/o5K6uuU8Rf +8gSX/rrB/wCjkrq6GAtFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooA57W/wDkZdH/AOuV +z/JKhW1W8uNSt26SIin8VqbW/wDkZdH/AOuVz/JKT7NOt1LPBdmLzdu5fLDdBimA7w7osWgaTBp6 +NuWLOCe+Tmq914e8zxVBrIkA8qExlMdc96s41D/oI/8AkBf8aCNQPXUj/wB+F/xpAMAxrN0P+mMf +82qjP/yHT9bf+clX4beSO4lnluDM8iqpOwLgDPp9aoT/APIdP1t/5yVSAS3/AOZX/wCuy/8ApNJX +Y1x1v/zK/wD12X/0mkrsaT3AKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzk/8AyON5 +/wBeFv8A+jJqZpQvNPtTA1mJD5jNuWdACCc+tPn/AORwvP8Arwt//Q5qk+123/PxF/32KYFkahcD +/mGn/v8Ap/jTGvbk9NOI/wC26f41D9rtv+fmH/vsUfa7b/n5h/77FACWiSpHKZUCNJM8gUMGwDj0 ++lT01HSRd0bq6+qnIp1AGZ4i/wCQJL/11g/9HJXV1yniL/kCS/8AXWD/ANHJXV0MBaKKKQBRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQBz2t/8jLo/wD1yuf5JRJexRzNFsmdkxu2RFgM89RS63/y +Muj/APXK5/klVvNWG9v5XbCoqMT9FpgT/b4/+eFz/wB+Go+3J/zwuv8Avw1M029g1eyjvLVy0UnK +n1qKXV4Itai0k7vPljMg9MCgC3DdR3DuirIrIASJEK8H6/Ss6f8A5Dp+tv8Azkq3Bn+1bkZ/5ZR/ +zaqk/wDyHT9bf+clNAJb/wDMr/8AXZf/AEmkrsa463/5lf8A67L/AOk0ldjSe4BRRRSAKKKKACii +igAooooAKKKKACiiigAooooAKKKKAOcm/wCRxvP+vC3/APRk1UNIs7aaxLy2sLt5j/MyAn7xq/N/ +yON5/wBeFv8A+jJqw0vZLXTI44mCtJM/zHtyaYG01hp6jLWlsB3PligWFgwytnbn/tmK858Sanc/ +25a2l/PKbAxbgUbYHf3I9K3fCt0U1aO0tLxrq1kiZnUsW8kg8c+9IDqtORUgmREVFFy4CqMAcLVu +q1iMR3H/AF8v/Jas00BmeIv+QJL/ANdYP/RyV1dcp4i/5Akv/XWD/wBHJXV0MBaKKKQBRRRQAUUU +UAFFFFABRRRQAUUUUAFFFFABRRRQBz+t/wDIy6P/ANcrn+SVz3izUn0nStXuktzP8iIVB6ArjNdB +rf8AyMuj/wDXK5/klVJvsT3N/bX4PlTqgwUJDDbg9BQB578LfE+rXMMejQ2CvbWysXnyQVySRWZf +eNNYbx+k6aZtuYM24gyTuyepr1Lw9ZeGvDlu8FhmNXbcxMbEk/lRPZ+G5dZTVtv+mIMCQRsD+PFA +E9kZGvpWmULIYIiwHY/NVef/AJDp+tv/ADkq1bzR3Gp3MsJJj8qMAlSOfm9aqz/8h0/W3/nJVIBL +f/mV/wDrsv8A6TSV2Ncdb/8AMr/9dl/9JpK7Gk9wCiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRR +QAUUUUAc5N/yON5/14W//oyaqmk6bDqGkgSjOJnwR2+Y1bn/AORwvP8Arwt//Rk1OGn2S522qrk5 +IDMOfzpgJF4TsGwZ4hOB0EvzAVdt9LtLBSttbxxA/wBxQKqfYbT/AJ4D/vt/8aPsNp/zwH/fb/40 +WASz6XI6f6VJ/JasUyKGKCPy4YxGuS2ASck9TzT6AMzxF/yBJf8ArrB/6OSurrlPEX/IEl/66wf+ +jkrq6GAtFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooA57W/8AkZdH/wCuVz/JKsZPr+tV +9b/5GXR/+uVz/JKgIkmv7lDcTxrHs2iNgByM+lMDQyfU/nRk+p/Os/bH5hj/ALRud4/h81c/yqT7 +Mx6Xt3/38H+FFwLZJPU5rJlXd4g29Mtb/wDtSrNqXW+nhM0sirGhHmMDgknPb2qHr4kA/wBq3/8A +alNARW//ADK//XZf/SaSuxrjrf8A5lf/AK7L/wCk0ldjSe4BRRRSAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKAOcn/5HC8/68Lf/ANDmq1VWf/kcLz/rwt//AEOarVMAooopgFFFFAGZ4i/5Akv/ +AF1g/wDRyV1dcp4i/wCQJL/11g/9HJXV0mAtFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooo +oA57W/8AkZdH/wCuVz/JKjgH/Exvj6eX/wCg1Jrf/Iy6P/1yuf5JRZJv1K+Hr5f/AKDQBzRntL25 +EctuzM8jDzgMAN6bvWr/AIcku7h5vNdhDGxRYpSDIpHqR29KuavpMdpo7G3XHkv5oA9c5P8AWs2H +dPfwy6c5EzgGQjldn+17+lAGzEMavdD/AKZR/wDs1Ubq4+ya00/lyy7DbnZEm5jzJ0Her6AjV7nP +XyY//Zqx9ctby9uri2065a2upBbiKZcZQ5c5546ZqkBat/8AmV/+uy/+k0ldjXHW/wDzK/8A12X/ +ANJpK7Gk9wCiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc5P/wAjhef9eFv/AOhzVaqr +P/yOF5/14W//AKHNVqmAUUUUwCiiigDM8Rf8gSX/AK6wf+jkrq65TxF/yBJf+usH/o5K6ukwFooo +pAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHPa3/AMjLo/8A1yuf5JSG1lW5lngu3hMuNwCK +RwMd6XW/+Rl0f/rlc/ySh71EmeIQzyMmN3lx7gMjI5pgK0d46lW1GRlPUGJP8KihsJLYEQXZiB5O +2FOf0p/20f8APrd/9+TS/azjP2S7/wC/NABBbPFPJPJcNM8ihSSoGAM+n1qqP+RlH1g/9qVchukn +keMRyo6AErIm3g5x/KqQ/wCRlH1g/wDalNARW/8AzK//AF2X/wBJpK7GuOt/+ZX/AOuy/wDpNJXY +0nuAUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigDnJ/8AkcLz/rwt/wD0OarVVZ/+RwvP ++vC3/wDQ5qtUwCiiimAUUUUAZniL/kCS/wDXWD/0cldXXKeIv+QJL/11g/8ARyV1dJgLRRRSAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKAOe1v8A5GXR/wDrlc/ySo7cbtUvf+2f/oNSa3/yMuj/ +APXK5/klRx3EVncapdzkiKBEd8egWgCW+uvsMKBE825mOyCHP3j6n0UdSa529vNa0q48zUZS5nk2 +289oxKB8fLG0RHQ9MjnNXdP1a2e5nutTlFtfEf6uU8RxY3KEPQgg5J7mtC0spNRmh1G8QxwxN5lr +bHg5xw7++Og7fWgB0YI1a4yMMYY8jPQ/NVcf8jKPrB/7UqyM/wBtXX/XKP8Am1Vh/wAjKPrB/wC1 +KpbAQ2//ADK//XZf/SaSuxrjrf8A5lf/AK7L/wCk0ldjSe4BRRRSAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKAOcn/5HC8/68Lf/ANDmq1VWf/kcLz/rwt//AEOarVMAooopgFFFFAGZ4i/5Akv/ +AF1g/wDRyV1dcp4i/wCQJL/11g/9HJXV0mAtFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooo +oA57W/8AkZdH/wCuVz/JKqXH2aRtUs7wyrFeRLHuSNm4K4OMCret/wDIy6P/ANcrn+SVYyfWmBga +Ro2iadZ2trcajqeoRWmDElyrFRg5HAXnHbNdC+tWJ6NL/wB+X/wpuSe5pcN70AUoJkuNUuZow+wx +oAWQryM+tQj/AJGUfWD/ANqVpHPes0f8jKPrB/7UpoCG3/5lf/rsv/pNJXY1x1v/AMyv/wBdl/8A +SaSuxpPcAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHOT/8jhef9eFv/wChzVaqrP8A +8jhef9eFv/6HNVqmAUUUUwCiiigDM8Rf8gSX/rrB/wCjkrq65TxF/wAgSX/rrB/6OSurpMBaKKKQ +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBz2t/8AIy6P/wBcrn+SVW1W7vbLy5bdYHQsqiFg +TJOxONqYOBgc5578DFWdb/5GXR/+uVz/ACSszU5NPj1mO4m1mezuIYwgjQKVwTnPzKcE9DgjgCi9 +hOSjq2UBrkmraBfTrcW2PK3LHEHWSH5sYJP3v94Y+nNc19ruv+fqf/v41dBdtokGm3K2moNPJ5Bg +t4m6RIWDFF4HGQOSSeOtc1WFR66M8fGzvNOLO98Lu8mgxNI7O29+WOT1qUf8jKPrB/7UqHwp/wAi +/F/vv/Oph/yMo+sH/tSt4fCenR/hRIbf/mV/+uy/+k0ldjXHW/8AzK//AF2X/wBJpK7Gm9zYKKKK +QBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzk/8AyOF5/wBeFv8A+hzVaqrP/wAjhef9eFv/ +AOhzVapgFFFFMAooooAzPEX/ACBJf+usH/o5K6uuU8Rf8gSX/rrB/wCjkrq6TAWiiikAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAc9rf/Iy6N/1yuf5JXF+LCB4glyR/q0/lXaa3/yMuj/9crn+ +SVI8EEjbnhjdvVkBNTKPMrHPiKPtoct7Hl25fUUbl9RXqH2W2/59of8Av2P8KPstt/z7Q/8AfsVn +7LzOH+z3/MZfhQ/8U/Fj/no/86nH/Iyj6wf+1K0FRI12oqoo6BRgVnD/AJGUfWD/ANqVvFWVj06c +eSCiRW//ADK//XZf/SaSuxrjrf8A5lf/AK7L/wCk0ldjQ9ywooopAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFAHOT/8AI4Xn/Xhb/wDoc1Wqqz/8jhef9eFv/wChzVapgFFFFMAooooAzPEX/IEl +/wCusH/o5K6uuU8Rf8gSX/rrB/6OSurpMBaKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ +Bz2uf8jLo/8A1yuf5JUl3ePBcpBFbrKzqSOVXGMev1qPXP8AkZdH/wCuVz/JKS8G7WrUf9M3/ktA +D/td7/0D1/7+p/hVc60wm8owQ784x5ydfTOOtQ67qdrp1t5T3CxySdf9lepOe3TH41BdaWrWtvc2 +0Rm3jJELbkAKEAADtk9fagDUW/nFxFDNaLH5pIDb1boM9AKzrRi2twsxJJFvkn/tpVuWMx3+nqxy +RuBPqdlU7L/kMwfS3/8AalUgFt/+ZX/67L/6TSV2Ncdb/wDMr/8AXZf/AEmkrsaT3AKKKKQBRRRQ +AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzk//I4Xn/Xhb/8Aoc1Wqqz/API4Xn/Xhb/+hzVapgFF +FFMAooooAzPEX/IEl/66wf8Ao5K6uuU8Rf8AIEl/66wf+jkrq6TAWiiikAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAc9rn/ACMuj/8AXK5/klOnGddtR/0zf+S03XP+Rl0f/rlc/wAkpbwyxapb +3CW8kyojBgmMjIXHU+1AD7F4IoNYu7gJKqTuXXGSFVRwc+w/Ws5bbT2h0m906wk06a6uVPlnKNsw +WbIBxggfrU1ysk07XVpDd2k7gCUFEeOYf7S55+tSRSXIuUur2K4upIgREqRKix56nG7k0AS34xql +j/vSf+g1mWX/ACGYPpb/APtSr8sk13qFq4s5okiLlmfGOVwOhqhZf8hiD6W//tSqQC2//Mr/APXZ +f/SaSuxrjrf/AJlf/rsv/pNJXY0nuAUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigDnJ/ ++RwvP+vC3/8AQ5qtVVn/AORwvP8Arwt//Q5qtUwCiiimAUUUUAZniL/kCS/9dYP/AEcldXXKeIv+ +QJL/ANdYP/RyV1dJgLRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOe1v/kZdH/65XP8A +JKcbWBiSUJJ5Pzt/jTdb/wCRl0f/AK5XP8kqPzbmW9mhilijWLbw0ZYnIz1yKYE32SD+4f8Avtv8 +aPscH9w/99t/jVNbq+nXdZRNeKCd0iw7F464Jbk1LDJdXNvHcRXUPlyDIzAc/wDoVAE/2OD+4f8A +vtv8aoxosfiJEQYVTbgD0/1lWraaY3c0Ezo+xFYMiFeufc+lVx/yMo+sH/tSmgIbf/mV/wDrsv8A +6TSV2Ncdb/8AMr/9dl/9JpK7Gk9wCiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc5P8A +8jhef9eFv/6HNVqqs/8AyOF5/wBeFv8A+hzVapgFFFFMAooooAzPEX/IEl/66wf+jkrq65TxF/yB +Jf8ArrB/6OSurpMBaKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBz2t/8jLo//XK5/klQ +ZuFuNTktAGnREZAwyCQtT63/AMjLo/8A1yuf5JTIUke51VYeJTGoT67OKAKseg211oD6hp15efap +o2mikWZkAc8kbRwBntiszw/qt00kUalpLCaYbHMOFXeCSu49w2RV/wAMjXbXTHFnZ2UtvI5eNGuW +BhP8Sn5fXPHvUSQazZWUen3GnRq0t950LR3AKod24gLjOBz+dAGnENur3Q/6ZR/zaoB/yMo+sH/t +SrWP+J3d4/55R/zaqo/5GUfWD/2pVLYCG3/5lf8A67L/AOk0ldjXHW//ADK//XZf/SaSuxpPcAoo +opAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHOT/API4Xn/Xhb/+hzVaqrP/AMjhef8AXhb/ +APoc1WqYBRRRTAKKKKAMzxF/yBJf+usH/o5K6uuU8Rf8gSX/AK6wf+jkrq6TAWiiikAUUUUAFFFF +ABRRRQAUUUUAFFFFABRRRQAUUUUAc9rf/Iy6P/1yuf5JTVS8t7yee3MBWbbxIWyMDHYU7W/+Rl0f +/rlc/wAkqxTAoPZTvNJKCIWkbc4huJEUn1wO9SQRXds5kj8qSQjaHmldyB6DPSrdFAFaCK4+2TXN +wYsyIqgR54xn1+tVh/yMo+sH/tStKswf8jKPrB/7UpoCK3/5lf8A67L/AOk0ldjXHW//ADK//XZf +/SaSuxpPcAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHOT/API4Xn/Xhb/+hzVaqrP/ +AMjhef8AXhb/APoc1WqYBRRRTAKKKKAMzxF/yBJf+usH/o5K6uuU8Rf8gSX/AK6wf+jkrq6TAWii +ikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc9rf/Iy6P/1yuf5JViq+t/8AIy6P/wBcrn+S +VYpoAooopgFZg/5GUfWD/wBqVp1j3Us0OtvJbwefKv2fbFvCbj+87npQAW//ADK//XZf/SaSuxrj +rf8A5lf/AK7L/wCk0ldjSe4BRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOcn/5HC8/6 +8Lf/ANDmq1VWf/kcLz/rwt//AEOarVMAooopgFFFFAGZ4i/5Akv/AF1g/wDRyV1dcp4i/wCQJL/1 +1g/9HJXV0mAtFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooA57W/8AkZdH/wCuVz/JKsVX +1v8A5GXR/wDrlc/ySrFNAFFFFMArIn/5DpyCRm36HHeStesif/kOn62/85KEAlv/AMyv/wBdl/8A +SaSuxrjrf/mV/wDrsv8A6TSV2NJ7gFFFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooA5yf/ +AJHC8/68Lf8A9Dmq1VWf/kcLz/rwt/8A0OarVMAooopgFFFFAGZ4i/5Akv8A11g/9HJXV1yniL/k +CS/9dYP/AEcldXSYC0UUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigDntb/AORl0f8A65XP +8kqxVfW/+Rl0f/rlc/ySrFNAFFFFMArIn/5Dp+tv/OStesif/kOn62/85KEAlv8A8yv/ANdl/wDS +aSuxrjrf/mV/+uy/+k0ldjSe4BRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOcn/AORw +vP8Arwt//Q5qtVVn/wCRwvP+vC3/APQ5qtUwCiiimAUUUUAZniL/AJAkv/XWD/0cldXXKeIv+QJL +/wBdYP8A0cldXSYC0UUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigDntb/5GXR/+uVz/JKs +VX1v/kZdH/65XP8AJKsU0AUUUUwCsif/AJDp+tv/ADkrXrIn/wCQ6frb/wA5KEBC91DY2vhu6uX8 +uCKVC7kEhQbeQc49yB+NbX/CZeHf+grD+Tf4VBpLEaTZkHH+jp0P+yKt+Y/98/nSe4Ef/CZeHf8A +oKw/k3+FH/CZeHf+grD+Tf4VJ5j/AN8/nR5j/wB8/nRYCP8A4TLw7/0FYfyb/Cj/AITLw7/0FYfy +b/CpPMf++fzo8x/75/OiwEf/AAmXh3/oKw/k3+FH/CZeHf8AoKw/k3+FSeY/98/nR5j/AN8/nRYC +P/hMvDv/AEFYfyb/AAo/4TLw7/0FYfyb/CpPMf8Avn86PMf++fzosBH/AMJl4d/6CsP5N/hR/wAJ +l4d/6CsP5N/hUnmP/fP50eY/98/nRYCP/hMvDv8A0FYfyb/Cj/hMvDv/AEFYfyb/AAqTzH/vn86P +Mf8Avn86LAR/8Jl4d/6CsP5N/hR/wmXh3/oKw/k3+FSeY/8AfP50eY/98/nRYCP/AITLw7/0FYfy +b/Cj/hMvDv8A0FYfyb/CpPMf++fzo8x/75/OiwGXbajaap4nvbmxmE8Is4ELqDjcHlOOfqPzrTpS +xbq2fqaSgAooopgFFFFAGZ4jIXQZ3bO1HiZsAnAEqEnj2FaH/CY+Hv8AoKxfk3+FPBwcg4NL5j/3 +z+dKwEf/AAmXh3/oKw/k3+FH/CZeHf8AoKw/k3+FSeY/98/nR5j/AN8/nRYCP/hMvDv/AEFYfyb/ +AAo/4TLw7/0FYfyb/CpPMf8Avn86PMf++fzosBH/AMJl4d/6CsP5N/hR/wAJl4d/6CsP5N/hUnmP +/fP50eY/98/nRYCP/hMvDv8A0FYfyb/Cj/hMvDv/AEFYfyb/AAqTzH/vn86PMf8Avn86LAR/8Jl4 +d/6CsP5N/hR/wmXh3/oKw/k3+FSeY/8AfP50eY/98/nRYCP/AITLw7/0FYfyb/Cj/hMvDv8A0FYf +yb/CpPMf++fzo8x/75/OiwEf/CZeHf8AoKw/k3+FH/CZeHf+grD+Tf4VJ5j/AN8/nR5j/wB8/nRY +CP8A4TLw7/0FYfyb/Cj/AITLw7/0FYfyb/CpPMf++fzo8x/75/OiwGTc6xp+reJdL+wXK3Hkw3Bk +Kg4XITGeK1aUuxGCxP1NJQAUUUUwCsif/kOn62/85K16yJ/+Q8frb/8AtShAN8O2FncaFbyzWwlk +Y7clyOABVqyTQ9Sthc2cEc0RZl3LI3DA4IPPBBpvhfjw7anHAc/yFYvgjwjc+HDqF3d3MjTX87SG +3VsxxruOD7tjv+FIC4X0q0hu7m/VY4kvPIjA3EknAVVA5JJPSp7VtAvFgMLR7rhnWKNyyOzJ98bT +g5HcYqrdWP2/T72L7Cbxo9SEqos/kupUqd6N0DDtnAPrWedC1+7n0O8v2E01jdXTHfMDJFG6kRMW +HDFSATjPbrQB1H9j2fA+y9enLf40n9kWWM/ZuPXc3+NcGnhXxO9ukREka+VbpdK17n7TIsxaSUEN +wNhx2Jz0q63hvxKdZ1G4ivLiOSWS5Ntci5URLGyYiUrgt8pxxgAYzk0XA6eODSJtSn05EBurZEeW +M7htD/dOehziqum3Gg6vJssYZpRll8zyJVTKnBG4jHUY61Q8F6HfaTq95d3lk1qk1paxfPOJWeRA +d7ZBPBJzVW28Mava+AtR0+KWddTuDL5UQuv3abpdwK9lJHfPc0AdX/ZFlgn7NwPdv8aU6PZgZNrg +e5b/ABrktW0PxFJrltNYR+XBbS26xPFOqjyQpEivuO4tk9hgj3rK0nwl4ssbqznWSSJ0MAlkN5uA +G2QSkjJzyYz+HFFwPQf7IsuP9G69OW5/Wj+ybEf8u4/76P8AjXE2XhfxFDo15BI14biW3iRgb5AJ +JQ+Syge394jcDjjrXZaFb3Nrodlb3i7LiOILIvnGXafTceT/AJ5PWgB/9lWP/PuP++j/AI0f2VY/ +8+4/76P+NXKKYFP+yrH/AJ9x/wB9H/Gj+yrH/n3H/fR/xq5RQBT/ALKsf+fcf99H/Gj+yrH/AJ9x +/wB9H/GrlFAFP+yrH/n3H/fR/wAaP7Ksf+fcf99H/GrlFAFP+yrH/n3H/fR/xo/sqx/59x/30f8A +GrlFAFP+yrH/AJ9x/wB9H/Gj+yrH/n3H/fR/xq5RQBT/ALKsf+fcf99H/Gj+yrH/AJ9x/wB9H/Gr +lFAFP+yrH/n3H/fR/wAaP7Ksf+fcf99H/GrlFAFP+yrH/n3H/fR/xo/sqx/59x/30f8AGrlFAFP+ +yrH/AJ9x/wB9H/Gj+yrH/n3H/fR/xq5RQBT/ALKsf+fcf99H/Gj+yrH/AJ9x/wB9H/GrlFAFP+yr +H/n3H/fR/wAaP7Ksf+fcf99H/GrlFAFP+yrH/n3H/fR/xo/sqx/59x/30f8AGrlFAFP+yrH/AJ9x +/wB9H/Gj+yrH/n3H/fR/xq5RQBT/ALKsf+fcf99H/Gj+yrH/AJ9x/wB9H/GrlFAFP+yrH/n3H/fR +/wAaP7Ksf+fcf99H/GrlFAFP+yrH/n3H/fR/xo/sqx/59x/30f8AGrlFAFP+yrH/AJ9x/wB9H/Gq +s9vDa60kcKBFxbnA9cyVrVlanG8msBI7g27sltiVUDFeZOx4P40IDPt4EitYYHtIpDEoXd59yu4+ +uAuBT/Lg/wCfCP8A8Crr/wCJooqrIRZtbxrKIx29hbKrNuOZJ2JP1Ke1T/2xc/8APna/99Tf/EUU +UWQB/bFz/wA+dr/31N/8RSf2vcf8+dr/AN9T/wDxFFFFgD+2Ln/nztP++pv/AIil/ti5/wCfO1/7 +6m/+IooosAn9sXP/AD52v/fU3/xFL/bFz/z52n/fU3/xFFFFkAn9r3P/AD52n/fU3/xFL/bFz/z5 +2n/fU3/xFFFFkAf2xcf8+dp/31N/8RR/bFz/AM+dp/31N/8AEUUUrAH9sXH/AD52n/fU3/xFH9sX +H/Pnaf8AfU3/AMRRRRYA/ti5/wCfO0/76m/+Io/ti4/587T/AL6m/wDiKKKLAH9sXH/Pnaf99Tf/ +ABFH9sXP/Pnaf99Tf/EUUUWAP7YuP+fO0/76m/8AiKP7YuP+fO0/76m/+IooosAf2xcf8+dp/wB9 +Tf8AxFH9sXH/AD52n/fU3/xFFFFgD+2Lj/nztP8Avqb/AOIo/ti4/wCfO0/76m/+IooosAf2xcf8 ++dp/31N/8RR/bFx/z52n/fU3/wARRRRYA/ti5/587T/vqb/4ij+2Lj/nztP++pv/AIiiiiwB/bFx +/wA+dp/31N/8RR/bFz/z52n/AH1N/wDEUUUWAP7YuP8AnztP++pv/iKP7YuP+fO0/wC+pv8A4iii +iwB/bFz/AM+dp/31N/8AEUf2xcf8+dp/31N/8RRRRYA/ti4/587T/vqb/wCIo/ti4/587T/vqb/4 +iiiiwB/bFx/z52n/AH1N/wDEUf2xcf8APnaf99Tf/EUUUWAP7YuP+fO0/wC+pv8A4ij+2Lj/AJ87 +T/vqb/4iiiiwB/bFx/z52n/fU3/xFH9sXH/Pnaf99Tf/ABFFFFgD+2Ln/nztP++pv/iKP7YuP+fO +0/76m/8AiKKKLAH9r3J6WVr/AN9Tf/EVAJprrU0nlRFZniQJEshAVd5JJZR60UUWA//Z + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image003.png +Content-Transfer-Encoding: base64 +Content-Type: image/png + +iVBORw0KGgoAAAANSUhEUgAAACgAAABXCAIAAAD56JAuAAAACXBIWXMAAB2HAAAOxAFK0fCKAAAA +B3RJTUUH1goGFzEQpeuwzAAAB49JREFUaN7tWdtuE8kW3XtXudvxJXHicCKSwAmIORIHzzwx4ROQ ++AI+j0d+gSeeOCMEHxDBS0JiKRAFOxfH7u7q2vOwq6o7zgU7ZM5II9dDJ263a9W+1qrVuLW1BX/H +IPibxgx4BvzPA9Zjn1+/fv0XIb18+fI6YAB4/vz53Nzc2E1mnhAAEcfuDIfDN2/e/MBiAGi1Wq1W +a2yKi8DhzhhS+Bge6Pf7P3Y1AGxvb29s/BsAEVGmQURmBgSEMCn4OwWYIDGze97d4e3tnYmAEQCR +UCbD4q/7jpkZmC0zA597QPDkMyM6WMCJkgvCHN5WsZwZZDpmy2xlMDMRKaUQxRvofeOXwBb4kqhf +AQxARGEmZy0yAgADAzBzmqYnJyeDweDu3buyNgIiIoEDAEYAlnLlSS3GksWFJwEBECAHAGu53+/v +7u5+3d+P4+rycpvIeRQJgYGZUaJSTDBZA3G4/jeIiEhEiEiAAMDGmJOTk+2dnT/++N9oNJJ4i7+J +SB5FDKkysasBS/ASaPCZBMjMxpizs7Ojo6M4jvM8l3gzg08pMR4t2yty6zJgIiKXKG5wqCF3AWNM +lmVJkqRpmvshuQYAJI5BJKRwcyKLkShE1lckWJfMubU2yzJmztJ0OBoaY4wxAKgUSUjcUOTSbtJy +KjUEFhcys68hgRFbR0ly1D/q9XppmjpbFcVR3Gg0oijSoJXSU2R1aHgSvDAEL0mS09PTz58/b21t +bW9vE9GrV6+iKGo0GlElqkSVhYWFp0+fPnr0SGmFyAg0HbC1Ns/zNE2TJBkOh/1+/8uXL91ud29v +7+DgoNvtHh4e9vt9RPz+/fvKysrGxkYcx0qpLMtGwxEiEkozwCnqWCw2xuzu7n748GFnZ+fg4KDX +652eng6HwyzLRqORMQYRFxYWOp3Ow4cPl5aWWq3WnTt3VldXl5eXoygiIsmVS6H1Nbtbnue7u3uD +wWBtbe3x48eHh4dZlrXb7VardXx8vLe39/79+7W1tRcvXjx48CCO4yiKqtVqHMdaa621Usrn8zQt +k5lrc3PPnj170vkvW47jWNJb/PHt27ckSZrNZqVSUUo1m825uWoUxfJRIKUUreUpNgnXpYjmlW42 +G5LVknN5brMsm5+fJ6JarSapoJSKojiOHXBouNZanLyBIIBSiplJKaXsWKs1Jtc6tdbOz88vLi4O +zgbWWqWU1jqqVHRUIV+4YcPAaVomKiIEYL/8AK91ToTW2na7vbCwMBgMjDGyOZJWikg6hjiJEO3l +Ib6qgfhGTYjS/0LflnwxJv/XysrS0uJgMMiNcXFFQiJpk25TvprGXpXVWJQWAiGVKIlm5jiO7q2v +//77plZ6cWmpUqm4NEYSEkCEzGSvSq3LgQkkJYnI5xmGTQOAAbS1ttls/vLLf5RS9+7dq9frWmvp +0C60DBzYwKS7E5BnHcH8gtkgEGoSnyulOp2O9kPW6DieyyrEqXq1cyoDkvO2pwAu5lQhpUhrba2V +iIS9Tyy27My9io/rK3YIQBRO4f4HZPC9D4kQAAmVUkIBhCeUyh2Ck3HyXn1xGQCIjIASNqGcGMJp +LXuizcUvSjZMCmyM2dvbDYs9x6tLIQ8YLDjCoj3vkaWIGyQcPwZ+9+7d/+G0iDPVZwY8A54Bz4Bn +yt7PKns/M35K2bvBuB1l7wIBKPS2MaQL11tS9nDs9FcSE4OsJoTvdpQ9QeDz3i8zOiE6gs23quyB +v4zxr8CjnVLjsX9O2QucFt15isFJfPKNZ+7oSZ93AiHxtcqevk7ZAyAf58A2fYp5vRgYmBztRacl +FgT73MMT6VxC5y9R9kQ1RvS8H4B96JkBC9ciAlu2k3auoOxxSdtjf9611kqZXFRrymdwQmJkZiC+ +gbIHLOcl7zsIspevEw655gQ9dCfkIiBXHcuvVfa8uZaZ2eQmEwEzyxy8f5KQlFbufKxIK3de9SKX +nVpSDE2DLec2H5ye7u/v93q94XCYJonJc7ZWaR3Hcb1eb7fb7Xa7Wq1CDFprOVUSAttplD2SugmK +JnMySj5+/Pj27duvX78OBgM5Cud5HmSlRqPR6XQ2Nzd/+/VXrTQiEJJI5tMoe+V8QUREpVSlUqnX +60qp0Wg0PDtL0pSZlVJRFNVqNa11t9v99OnT+vr66upcmIfYTlfHoQSJUGuuVqubm5tPnjw5Pj4W +o0ejUZqmWutms1mv1xuNRrvdbjQa1Wo1iPSea+B0MSZEQGKwhBWMUSlVq9XaS+379+/nxuTWSoMU +HU8pEUyorOxNdz4uupxTnBQQEJPWUsdscyuiuXvLFESh8+Mmyp6LLhHKhnHuXR8w23Dm9m0NEAmh +fDa/qbKHQgQvGBH2DgfgJBIAAMvWv4fjmyt70ufKCpeX+qRjl15YMIsuAhYYGSz79aAscGplr3jZ +VKiKQk6ACMt8h9lKaMC69z1EIMoe0OQNhCDklre5UBVFairpb+JUZLZggYlcN/1LlD0qCGChMBVk +CydR9ugHyh4WaQsFEQC6POmKKxcOmeYI4xIWSh0AuazploTky1864IUX6Lej7PHYKvnCL25X2Svz +rmuUPX+ZKXszRWAG/M8G/hNOu3LEmBkY/AAAAABJRU5ErkJggk== + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image004.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAAwACQDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0aiqW +ookj2aSRrIrXABVhkH5Wqf8Asuw/58Lb/v2KAJqKqG00oT+T9jtd+M7dgzipf7MsP+fC2/79igCa +iqWnIkb3iRxrGi3BAVRgD5VooAde/wCvsf8Ar5H/AKC1SX+tadpgP2u7ihIGcM2D+VMuxm5sB/08 +j/0FqvS6NZXMhkltondhglkBJoA821Dxxpf/AAl1rPbyS3EaKykRITkkV22j62mr7tltPEFHWVMA +/Ss3WNBaHxNpt1bW48pSUbavAzXWx26xxjC4oAyLLie+/wCvk/8AoK0Utp/x83//AF8n/wBBWigB +bxZd9rLFE0vlTB2VSAcbWHcj1FWl1ecf8wuf/v5H/wDFUlFADm1iVuukz5/66R//ABVIdXnP/MLn +H/bSP/4qkooArWSy77qWWJovNnLqrEE42qOxPoaKs0UAf//Z + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image005.gif +Content-Transfer-Encoding: base64 +Content-Type: image/gif + +R0lGODlhKAAsAHcAESH/C01TT0ZGSUNFOS4wFQAAAAlwSFlzAAAdhwAADsQBStHwigAh/wtNU09G +RklDRTkuMBMAAAAHdElNRQfWCgYXNQY1U8CZACH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJ +Q0U5LjDkuPDz2wAsAAAAACgALACHAAAAOjo6MTExMDAwNTU1Pj4+NDQ0PT09UlJSXl5eUVFQWFhY +U1NTTk5OQ0NDVVVVWlpaQkJCQEBAV1dXUFBQUVFRRUVFRkZGX19fTU1NTExMSEhIT09PR0dHTU5N +SUlJVFRUVlZWfn5+d3d3YWFhaGhodnZ2enp6dHR0cnJybm5ua2trYGBgZ2dncXFxZGRkampqgICA +goKCg4ODhISEhoaGkpKSiYmJl5eXnJyclZWVnZ2dlJSUioqKnp6elpaWkJCQmZmZjY2NiIiIkpKT +n5+ft7e3uLi4uLe3s7Ozubm5vLy8paWlv7+/u7u7oKCgvb+9o6Ojvb29sbGxvLy7oqKiqqqqr6+v +vby9rKysq6urpKSkv8C/2NjYx8fH0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX19fW2NnZ2dnZ2tra +2tva29vb3Nzd3t7f2dnY2tnZ3Nzc3N3c3d3c39/fxMTE29ra3Nvb3d3d3t3d3t/fzMzMycnJ3Nvc +3d3e3t7e3t/e39/e29zcwsLCwcHAzc3NwcHBz8/Pzs7OwMDAw8PDyMjI1tbXx8fI1NPU09LS0NDR +z9DP4N/f4ODf5+fn6Ojo6enp6urq6+vr7Ozs7e3t7u7u4OHh4+Pj5OTk4ODg4eHh6Ofn5+bm4eDg +4uLi5eXl4eHi4uLj7O3s5ubm5eTk7+/v4uLh4+Tj7Ovs8PDw7u/u5eXm6ejp7e7t6eno5eTl8fHx +5OTl5eXk6erp8O/v8vLy5ubn8/Pz8fLy9PT09PPz8fLx6+zs9vb29fX18vPy8vLx6+rq7e3u6unp +7Ozt+Pj49/f28/T0+fn59/f39vb17+7v7Ovr8fHw+vr67e7u6+vq+/v77u/v8fHy9PT19fb1+Pf4 +/Pz8+Pn46+vs+/r6+fn68fDx6urrAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDCP8AuwgcSLCg +wYMIEypcyLChw4cQI0qcSLGixYsJY2jcyLFjDBkyZtCoUYPGDJAcFcbw8qWly5cuwYQRM4ZMmTJk +xogJA+aLlxgqzVCiVKmo0aOVLF3ClEnTpk2aMmGyVImSGaAZjZwx0wVNGjVq1rAZ28YNp06ULGFa +S9XTJzZvjmBFGANJlzRw1IyNE0fOHDqg0F7KVEfECBpJQmESNSqOEhkqj3y1cyfOHDx59HwiVcpS +0z0IbCxhkoAEH0yl6CyBnPEImz5x8Pj5AyhQYEqYNIG5oaCEGVKdSOFYIMgSqSYzVCqJnecPHTqf +THmqlGmTGAYNAghwYGLQJ08ncqD/JkRDOR7nkz6BOlWqEqpNlVCkYFNIx4MBBHZ04sEjUypD5WWk +BCDQgWJKJ6pUoskqmfQAgRmgPOdYBBIcMsES/gGokhOSqAdce5issooPDSDyyXMoPjEABRX84V8i +yWXkBCisdNJKe66s8ooiFsyIIopdXFDAILBgEksTrNHlBHCepCJLJjqaUcEPEf743CcTqODUJaVA +keRBMTjRSZPU6dgJBjWAcqKVoEQRAROvzEJLLVLMBaYTqoC4ii2ZpLACHmuiqF4dGdCQySuZhHLL +EnYaFMMSpVByySa2rALEg4FeCcoUGvCASaWYVIILFY0WFIMUlOSiySu2GLHBIlUK/wpKFRlMsecr +mlxSSSqMqiRFJZjoYsshGlgR65WkMMFBIrvsUmkmuvLSa0ZNWLJqHBh0IEEQP252hQeD9NLLLrhC +W9W0dDURoi9CQMCGEgaogSIodXywxC+/ABPMKlFNVQkWpRIUQxPCvLKLDCx8ooYBBhzQQhJlgBDE +L8MQU4wxq0CFyTGW1KlSIofuEgMAcdBBxh5S/PDBAyasMkzFuwTzyirISJWMxxkloozBQwAAwB6f +fIJHGi680MkwyzBDTDPOZqwJJpfgTBcXq/ZChM8AFJFCCA0s0MUwzizzDDS/9GLLK9FoIk3UAQ8U +QyKaTNNLFlh/AEMPWjDyDDXUhJRd8bgzV5OJNVKDCfcrvZBhwxaNlNILMc84c83k1IhNzC/OYrMJ +tIU72oQyq2TzizbEbDMMN85Qc0033VxDjTfPXN705ph0bmoT32xi8OPDPLOMM+Cs3no4lmMuTsaZ +jGO7wE4cckhLYMg0kxiOjGG9I2KI8QhPYEDyRSSHIOJE2wJ5ZP756GOk/vrst+/++/DHL39AADt= + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image006.png +Content-Transfer-Encoding: base64 +Content-Type: image/png + +iVBORw0KGgoAAAANSUhEUgAAACkAAABZCAIAAAAsIJpgAAAACXBIWXMAAB2HAAAOxAFK0fCKAAAA +B3RJTUUH1goGFzMKar8rNAAACm1JREFUaN7tmdtvFEcWh885VdU97m7bYzMewmW9XGziXKRsWJCy +8YsllAsQi/ghF5G/LA95yEuCk02CFCQLpEiOgq1cCChKFGWxsA14PDA22IOZ9kx3V519qJ7xGGzw +sMlG2nU/DFaLrl/VqVPn8hX+9ttv8Cc9BH/es629rb2t/cc+8uFXZ86c+YPE3n333cdoA8Brr73W +1tbW/IaZt66BiA+8WV1dPX/+/OPXDQDZbDabzTZG2VC48fJhpYc/XF5e3pLNAWB2dnbfvr8CICIy +ADYEEBDQjpgOi4APiTXPlZkBeHb2+la1EQCREBGYEdGOm44ODMxsf5gREZr+AyKmL5ntpBmAAbfq +a3YVDdPVRwdmAGbDzIa11sYYZiZEJBJCEJG1ChGlk2IGRGQDvPG+yE0PHxHawRDTBSAzs9E6SZIk +SYrFYhiGnuft2rVLKSWEkCiRsLF6RmAGRALgFtaNjaduA2Zgw1obrZMoii5evPjzzz9XKpXdu3b9 +7cUXn332Wdd1G8Lpd4B2Z4hoo2Vvvu7GKHZfjTFJorVOarXo66+//uSTT1ZWVjzPA4DyvbLv+fv2 +70NEQQRAjQ9T32H7z5bjml2EFdbaJEmSxFG1Wr148eKHH354+/bt+fl513WXl5cXFhY//eenxWIx +SZIk0YaNVUUkQkqdZesxlaznADCz1jpJ4loUle/dGxsbe//992/dutXR0RGG4czMzNzcXKFQKBQK +586dW1xcTJJEJ5qZrZ8gIZF1R2olniMCMDMnOqlWqzeuXz979uzo6GipVHJdt6enRymVz+er1Wqh +UFhaWvr1118vXLiwvLScJInW2rBJTz8iIrVyxtKwAFrrOIqv/uvqNxe/mZycLBaLSqmRkZEoii5f +vvz888/PzMzEcRyGISJeunQJAE6ePJnL5QBASklEADY+tZjHrItVKpXLVy5/9913xWLRdd133nnn +xIkTmUxGCNHT0zM0NJTNZokok8ncuXPn+++/P3/+/N27d5Mk0dowMyLTJuumDTfbKhtjtNarq6vX +rl1bWloKgmBkZGRkZMR1XWZ2XbdWq7388stDQ0OO48RxnM/ny+Xy5OTkV199tRquap0YY4CBW8rf +iGiYjTErKytjY2M3btzIZrOvvvrq6dOnfd+XUgKA7/u1Ws3zvDfeeGNwcDBJkqWlpXw+v7q6OjEx +cXXqahzHxhgGIILWzjcAJDopFArVanX//v19fQdPnXrT8zxrDKWU7/vGGETMZrNvv/02Iv7www93 +797t6elpa2ubmprq7+93XbeRH1qLLUqqvoMH8/md8/OF/v7+9vYAAG1ADYLA933rUI7jPPXUU2+9 +9ZbrutPT047jHDp0yBhjZ1YPya3kEiEEAATt7X7QvmfPbpstbI6IosjzPLvrQgjHcYQQvb29p0+f +XlxcBADP86rVqu/7QghEJGpFG+snRCoFzGmaArAGJ6IgCJRSxhgisksHgHx+Z1c2q42xZnNdV0pp +5XGLNjfGAAAJQUSEyAD2ewBIkkQIIYTo7OxwHMfGTkFkNRyHY0eyMcYw1RMrIcLG0o/IodZYNiwh +IaG1sBBSStnR0ZnJZLQxWmskkkJIJQFQCGFTwLpqirnVuJbmsTQgIzEyM0splFKZTMZxHESM4xgB +kOwjhBDWbPbX/sFbr5HtsU/rM7S1GgICAYEAIYRSMgiCzs7OKIrv37/PAMxsJ8mMRGQ9nA0bNggt +xhYCShdMa4UAIBCSlFIpp7u7+8iRo729f7GVU+MsWZdsFJaAj0ihjzrfAIDIgGTTISASIAuQSpkg +CP7x0kvL5QHr8M2S9peItDEEYBCZsTVtZkAETlMpIAIgI6AgBKWsHwTtASJaJydBa7UKNBUsmxTw +j4mpD1StyIiEgCBJ2i2xStbLHkxWvG4ZLWgnSTI3d7PZjGnV3VgEA6Q1eOoKa31AvT62BaYt5xtu +/3jtiYmJx7SvD9VAG47+GHNuM65t7W3tbe1t7f9nrvhkueR344rryoT11cHvyRWbleoURNuuBwDS +OpyoYYyHv3pCrgh1wteog2x3YtURwXYLVvshovgfcMWUcTVVL7ZKN8asroYWNQVBYJs36wdrXLFO +FzfjivQYwpVOIW1RCJEZjDHVavXHH38cHx+/efOm1jplgYQNrMOWytW7oQ3LRXpUVwJYL7DJNkaQ +8h9eWVm5cuXK3NzcWreHFiqlVIkas7Zc9om54prvAAEkxpgwDFdWVgAgCAKsd0QPmNZiLl43QItc +sYlPA4CxNo+iKI5jKaXrukRrxSs39V/pt4SbccXN6/NGCZwCYcB6zW05TK1Ws7QJ6xQwPXts7Bsi +IZpbpK1opwZsqqvt9jUE7H7HcWy3lgFM/YnjuFG0K0chStszbMgV5SPhmtbaMHDDiRralUoljmMh +RR3zJgCwtLS0uLiIiL7vV6vV3t5eEmTbylb7MdY69an5wnxff18QBIBoY0oYhlEU2fuLJEkI6dbt +W19++eX09IzrOgMDA47j5HI5x3FAtN6H2s5oenp6fHy8VCodPHjw1JunvLaUcYVhGIYhEWmtkyQp +l8ufffbZpUuXhBD5fH5qauqFF14QQiLimiduXVsQKaX27NmTyWRmZ2evXbt279699957z3GcJEni +OK5UKnYXy+Xy6Ojot99+m8lkduzYcefOnY6Ojv7+/ra2jBCCcFObb8oVKWU6nSdOnOjt7S2Xyxcu +XPjoo48qlYoNZJVKxXXdMAzPnTs3OTkppezq6iqVSm1tbYODg4cOHbLsyzr7hiunzTiTEEIqKaX0 +fb+vr6+7u7tSqZw9e/aLL76o1WqIWKvVXNednJwcHx+PokgptbCwkM1mBwcHX3nlFd/3lVIWlBGJ +1s43EQkWSsogCA7//XBYCSf0xPXr10dHR62w1nphYWFmZmZ5eVkIUavVenp6jhw5cvz4cetlVrje +D7fCFdOUwOy6mWcGngn8oM1rGxsbKxaLn3/++dNPPx1F0S+//HL//v1arZbL5bq6uo4ePTo8PJzL +5ZqpXprJWuKKlGaulLPt379/x44dnZ2dH3/88eLiYqlUiuO4VCp1d3dns1nP85577rnXXz+ey+Xc +jOsop4ED7Q5iizEVCZGYUSlRZ3rDw8PZbPaDDz4ol5d93z9w4EB7e7vjOEEQnDp1aufOvOM6ruMI +IRsMlBDNxuH8EbmkHghJCDaWKAohxNDQkDHmzJkznhdEUdTV1RUEwfDw8N69ezKZjOu4UimbyY3h +9Dr1Cbji2p0kgairE9GxY8eUUj/99FOlUtm9e/fhw4cPHDjgeV4mk5FKiXr0tWmMmZFaiqlNXNFC +PgAgk+ZpKcWxY8cGBgYqldD3vb1797qu6ziOvZlcI10MDEyIpqV1ExDAOupOSCCBmIQQSiqlnL6+ +fmZjIao9ytgEvpjZ4kA2BqFFm6cMeT1XJAILbJWSxjADY71qab6HtOWiYU7voBlazWOWJRI0c0W0 +PJyaiVu9nEpRWjMFb1QfT8gVEe3sERntpUt9/2mtcGYANs23UfYS+A/hitgcLbh+B/bf4Yq/y7PN +Fbe1t7X/d7X/DZr/i7YSN9wWAAAAAElFTkSuQmCC + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image007.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABZACgDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0alqp +qTFbQYZhmVAdrYOCwzzT/wCzrf8AvXP/AIEN/jQBYoqp9ks/M2edcbvT7S2f50/+zrf+9c/+BDf4 +0AT0VUsPlku4wzlUmwu9yxHyjuaKADVP+PRf+u0f/oQrM8XeKV8PW6JFCZ7uf5YIl7mtPU/+PVf+ +u0f/AKEKmk8PWU2prqcsIe5RcIzc7foKAPG5LzxJpmr3OoXMjSTwshnAORHu5x9O1er+G9fttfsB +LEdsq8SRnqprLsNNim8Z6zbTxh454ULK3QitHQ/BlroF689rJJhwQVY5GOwoAt2fFzff9d//AGUU +UtqMXd//ANd//ZRRQAmpBjaAqrNtlRiFGTgMM8VdGt2o6w3X/fhv8KZS0AVludMXUTfLb3QmZdpb +yG5H5VbbXLU/8sbr/vw3+FNooAqWTeZNeShHVZJty71KkjaOxoq1RQBBezPBb74yoYuq5YZAycdK +PKv/APn6tv8Avy3+NR6p/wAea/8AXaP/ANCFXfMj3FNw3YzjPNAFPF7v2/arbPp5Tf40/wAq/wD+ +fq2/78t/jWJp85m8a6iGY7YYUAGeBW1b6rY3c5ht7mOV1JBCtnGKAC0mlkadJWRmik27kUgHgHof +rRTLIYub7/rv/wCyiigA1P8A49F/67R/+hCsLxnouqpcxa3oZP2q2Hzx54lX0xW7qf8Ax6rn/ntH +/wChCtkSW7DBlj/76FAHhU3im9u7/UWsIJYri/8ALRx3j4+YD3zXovgfwk2i2puro5upgMr2Qen1 +rbTw1oSaq2pKkCzsckhhyfXHrWsZbdRgTR/99CgDGtBi7vx/03/9lFFLakG7vyCCPP6j/dFFAE8k +ccyFJUV1PVWGRUP9n2X/AD6Q/wDfAqxRQBX/ALPsv+fSH/v2KP7Psv8An0h/79irFFADIoYoFKwx +JGpOSFGOaKfRQB//2R== + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image008.png +Content-Transfer-Encoding: base64 +Content-Type: image/png + +iVBORw0KGgoAAAANSUhEUgAAACgAAABWCAIAAAAytEOLAAAACXBIWXMAAB2HAAAOxAFK0fCKAAAA +B3RJTUUH1goGFzQU3/GAkAAAC0hJREFUaN7tWltvW8UWXmvN7Iu9fdmOE+qmaVI1UX2CaJsmFEGq +lApxQDygApUqxCN/i2ckeCEHqRKiEuqBkF5ORQupyqlSpSVxoOA6ie04vu6ZdR5m20nTlDhHICSU +ibQVt+P5Zl1m1re+Hbx37x78FYPgLxr7wPvAfz9gue3zJ5988ichvf/++78HDABvvPFGJBL5AyFr +tdrly5d3sRgAfN/3fb/zkZk7vyNi57l1mDmdmdsmFIvF3V0NAIuLi2YRRNTMwBwuhEBIGA4y/wIc +DgDQWm/FRkRmBuDFxaWugLG9adaat6yLiCxYCoFIiKFZ3IbWWneACRGIEIAQGbCr5DKgxm9KaxUE ++cePc7lcLBYbOHTIi8cREACFEMbFBk8pFaigVq1VKhXbtuPxuG3bTIQICPh0aHYAJiJjnFZaKVVY +WZmenr5//77jOOPj41NTU5lMxswx5mqtgyBoNpv5fH5mZqZQKIyMjLz00kupnhQSAVK3xylE1Vpp +Va/XZ2dnZ2dnV1ZWiCifz2utzp9/RwiJqIiItQ4C1Ww2c7ncp59+eufOHWYul8ujo6PJZJJJM6IQ +YieDnwJGRCJiZqXU4uLizMxMPp+vVCrM3Gq1rl+/MTZ2KpvNIoKZ02o18/n8Z599dv369XK5bNv2 +o0eP7t+/n06nicgsBYAdJz3z5jLB06yr1eqNGzdyudzGxkaj0Wi1WhsbGw8fPrx8+fL6+nqr1Wq1 +mq1Wq1QqffXVVzdu3CgWiyaWCwsLly5d+vHHH4MgUEptPY27X5mseWlpaW5urlqtdhJba10sFq9e +vTo7O1utVpvNVqPRuHPnzszMzOPHj1utVqPRKJVKa2tr9/57b3p6enl52XzxaXN3djUAKKWWlhbL +5bJSyuSt+XKz2SwUCtPT05ZlTbw40azVr12/lsvlWq1Ws9kMggARLcuq1WsLCwtXrlzp7++X0trx +zqEdk4uI0une5557LplMSimJSAghhLBtGwDWVtdu3bq1Xl6vVKvr5XXLshzH6UxzXVdKqbV+9OhR +qVQG4K6y2oTEsqznn39eKXXt2rUvvvii2WxaljUwMJBOpy3L8n3/H9ms53lSyqmpqVgsViwWHz58 +mM/ntdbpdLq3tzcajWYyGQCmZ5yoHY4TM0sh4vH4+Ph4X1/fzZs36/V6T0/PBx98cOzYMTfqurab +SCQikQgzT01NnThxstGo/+vzz/995UoQBKOjo+++826ggkwm09vbS+aq2RVYa42ISCSEkFL29PQ4 +juM4TjqdPnXq1MDAgG3bQghzZzJzNBr1fb/ZbKZ8PxqNaq0PHz48PjFuWZaUUkpp5j6d2zu7mohM +pOv1OgBIKePxeDKZtG3bcRzLsswEk+qtVgsAPM+Lx+IMbMLRiToiAmB3dzWAOfuI2Gw2TU55XjQS +iUgpbdu2bVsQASIAK6URUSnluq7jOgAQjUZlexCRMVVr3YXFiJ00llImk8lKpeL7KeM58yARWmwu +dSGEMdFcQWbf5i5C7P6uBhBCmOoUi8Wy2SwiZrNZsxqRMD9IyKwBQZAgolgsHolEtNYmEMZh4ea6 +cbXxCQkhAVjrVCp1+vTpaDQ6PDxs8kUIIkJDCACIgI1xmcyBvr6+VqvV09NjIE1h1rBjiJ8RY0GE +AGxZnuedfvF0f39/f39/NBqV0qQVASAgEgIzCSIpxcjIyLlz56rV6ujoqBACkYgIEJG5ayIAgGE5 +QyKSUh7zjsn26UA0BUeDNtgopLS0lUqlXpmcVEHguq4Q5sQhPDvIcsfCYb4jhCASUmoAMIElIsQw +kxHJ5JFAtCzb1D5mNtsVJEJG1j0RICAAJAJABEZEYUwjJAZmzYZbGbMMnpTSOKlzbBCRAVhrhL25 +GgCQAFFs0kpE0JoZFTCzZibusMmtOWywNXPIMRn2AMwMiMDQjhIiEiAgmUSWkphFmN+IiIAAGtp8 +A7iNumNB/D3gbdsAQGQ0yAIEIfKW2w0At9vFT9jQLXAQBD//vLy1b+A2pw+3z1vJN7DBYYaQwUP7 +wcDQcf7uwLOzs7/XXj7JY3ZctJuB+6rPPvA+8D7wPvDfT9n7v4vE7srem2++uU3Z28acOurTjr31 +jsrel19+2ZWyl0wmn6XgmT59G+l5Bo0Jt1sqlbqqxz/99NPQ0KBZ2YB3lD3WoSZhdD8SIfd5Wljc +8tyLstfpFABxKw8BAlbcYTfYtnurleYzt3vTvSl7uG0908sB8Ob/PUEujVDUsTIkSkTI2nxnD20q +ArKRKbXZNxMiITFRR/1rd8la602+vdk2IQIQdM+rN63VYSpprYUQQEIIFkIY1RaRCIEBze4CFTTq +DaWV67hCCEkSN523lwvEkHalglqt9uDBg0plQ2vFDIAgBIUaQ1sm1Vqvl9dv3vzPtzPfrq6ubhoQ +2t21q00CK6Xq9catW7fu3r07NjY2NjYmhDBqLJFRNoC1VsDmLHzzzUwraHme19vbC4BhW9xlY25o +OjAYMbhUKn333Xfz8/O+7x8/frwjTLbvL4a2GJLP5wuFAjOvra2ZJsiY262y94SuqHW1Wp2fn//l +l1/m5+c7bRWadg6AAFU7d4zkaZTVJxX37nQubKvkRp1XSpXL5VqtViwWO/Iic9iYcCjRg9F2g0AB +hMDMbFof2FO32Hkd4DiOEZRqtVqj0fA8T2sdqIA0AiKYBNRKa12v15vNBgDU63WllBBSay0EINDT +peWZFmMb3nVd002tr6+Xy+VEImHEpc5C4XuBIKjVapVKRWu9urqqAhVQC4BZEwnZbXKFPTVzEASr +q6uNRqPRaKysrHz//fcbGxvRaNR13XgsFolENHO9Xi+VSvV6vVgsVqvVIAhyudyt27eCIMhkMkeO +HPG8aOfNye6u1lpXKpUffvjh2rVrhUKh0WgUCoWPP/44nU7btu37/vj4+JkzZyzLunr16u3bt4vF +4oMHD0qlktb63r17H330UTQaPXHixPnz5yORSFfn2Nw0QRDcvXv30qVLCwsLtVotCAJmXl5e/vXX +Xw2w53mnJiaaxeLMzMzc3NzGxka1Wm02m0S0srJSLpdTqdSBAwdg74oAr66u5vP5UqkUBIEpwCar +bdvu6emZmJhIxGJ1KROJRBAEjUbDTGPmWq1mQnbw4MFkMkmEXXEuk8xSyqGhoUQySe1hguQ4Tl9f +34ULFyYnJ+PxeCqVmpycHBwcNAKn53mO4wghIpHIyMjIa6+9FolEzGW3u3obCmxSHjlyZOzEidzS +UqlUMv4XQvi+f+bMmbNnpxKJBBEppU6ePLm0tFQsFn/77TciMqJyNpt97733BgcHLSmFENBNkTDH +XwoRi8VefuWVwcFBz/Nc1zUGDQ8Pv/XWW76fikSikWg0EnHT6fQ/X3/95ZdfTqVSZoWRkZG33377 +hReOO44jLUt2KZQbnwghLcs6evTo2bNn8/m8EYAPHjw4OTk5PDzsuq7rukSklIVIhwYGLl68GATB +3NwcMx86dCibzcZinm3bUkqj0O8uGxsvSCmYLc/zXn311Xw+Pz8/77ruxMTEuXPn4vGY4zi2bROJ +UM5HPHr06Icffvj111+bV3ypVMq2bCmleDYV3EG9JSAhpDn1mUzm4sWLS0tLiURiYGDA933XiTiO +I6UlBDEzUShuDw0NXbhwYX193bbtRCJh2ZYIFfq9HCchCFEatXJwcPDw4cMmuaS0HMc2eioSbiW5 +UkrHcXzfN2ojEpno8p7U23bRFaKdGkgoKNTshZRI4etCZpZSAoLB7tCuTWIKsCdgU0/CN+NEREZF +JQpfwWzpJxBJkECJRGSAWZuiCO0i17Wyt7yc2/YXAU88YYvYv0XZ400e/ycoe3/U2Ff29oH/fsD/ +A1+3HnyGIJ88AAAAAElFTkSuQmCC + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image009.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABWACgDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0aiqW +pIkjWaSRrIhuACrDIPytWdeap4asNSj0+5itI7iT7qmP+fpQBvUVWNhpqpvNjbAeuwVSsJ9B1OSW +OzgtJjCdr7UBwaANaiqWmokb3iRxrGi3BAVRgD5VooAdf8yWf/XwP/QWrxbxXoOtz+OTb4865uSZ +Itrfw84+mMV7VeDNxYj1uR/6C1Up/DDzeM7XW9w2wwmPb+f+JoA567tfFt14IFmYlS/OI2Iflk9c ++tch8OrXxBba80lvGWt0k8u5XPFe7tCpiIAGcVzHhPw/Po0moeeFxPOXTHpQBcsf9be/9fB/9BWi +ls/+Pm//AOvk/wDoK0UALerLvtZYoml8qYOyqQDjaw7keoqyNWnH/MLn/wC/kf8A8VRRQA5dXmXP +/EruOf8AppH/APFU1tWnPTS5x/20j/8AiqKKAK1ksu+6lliaLzZi6qxBONqjsT6GirNFAFW+eRTb +IkrRebNsZlAJxtY9x6gU/wCyS/8AQRuf+/cf/wATUd9/rrL/AK+R/wCgtWbceIWh8Y22ibBtmhMm +735/wNAGqLSY/wDMRuP+/cf/AMTR9kl/6CNz/wB+4/8A4mrzBRHkVzfhTWp9Ze/8/biCcomB2oA1 +LF5GNyjytL5U2xWYAHG1T2HqTRSWPE19/wBfJ/8AQVooAL7/AFtn/wBfA/8AQWrxfxZrut2/jo3H ++purYmOLav8ADzj69a9n1CSOGWykldURbkbmY4A+Vqq3mm+FNQ1SPUbqW1eePoxcfhn1oA5+8n8X +WngcXpkV77iRgE5VPTHrXH/Di58QXWvNHbyFbd5PMuTjiva21XRGh8s39uRjGN4rMsI/DWlTSyWU +9rEZjufawGTQBJZcTXv/AF8H/wBBWim6fLHNLeyROro1ySGU5B+VaKALlFFFABRRRQAUUUUAf//Z + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image010.gif +Content-Transfer-Encoding: base64 +Content-Type: image/gif + +R0lGODlhKQAsAHcAESH/C01TT0ZGSUNFOS4wFQAAAAlwSFlzAAAdhwAADsQBStHwigAh/wtNU09G +RklDRTkuMBMAAAAHdElNRQfWCgYXNToaPLweACH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJ +Q0U5LjDSd0pmQgAsAAAAACkALACHXl5eWFhYTU1NSUlJR0dHW1tbVVVVWllaSEhIU1NTXFxcTExM +UVFRWVlZRkZGTk5OXV1dS0tLSkpKWlpaT09PX19fUlJSdHR0eHh4bm5ue3t7fHx8enp6bGxrcHBw +ZmZmcXFxYmJiZ2dnd3d3eXl5dnZ2a2trfn5+b29vZWRldXV1f39/c3NzcnJyZGRkZWVlbGxsd3h3 +gICAgoKChISEh4eHi4uLkJCQl5eXnp6elZWVjY2Ng4ODmJiYkZGRiIiInJyclJSUjIyMmZmZhoaG +jo6OioqKmpqakpKSm5ucpaWlp6enpKSks7Ozt7e3tLS0uLe3qqqquLi4oaGhra2tu7u7ubm4vb29 +ubm5q6urv7+/pqamvLy8r6+vvLy7vb+/tbW1sLCwqKiov72/oKCgvb+9qamp2NjYx8fH0NDQ0dHR +0tLS1NTU1tbW2dnZ3NzcxMTE3t7e1dXV19fX39/fxcXF19fW29vb2trawsLC3t3dyMjI29ra2tnZ +2djY3d3d29zc2tvb2trZ3t3ew8PDz8/P3d7dwMDAzMzM3t/e09PTzc3Nzs7OxsbGy8vLysrKwsHC +0tLTz9DP4ODg5OTk4+Pj5+fn6enp6urq7Ozs7u7u8PDw8vLy7+/v6Ojo5eXl4uLi/Pz8+/v7/f39 +7e3t5ufm4eHh9/f35eTk8fHx6erp5ubm4eLh/v7+5+fo4+Lj5OPj+vv76+vr8/Pz9PT04ODh5OTl +5ubl5uXl9fX15+bm4+Pk8O/v+vr68fLy6uvr7u3t6+rq6urr+Pj47ezs6+vs7e3s7/Dv8vLz9vb2 +7/Dw6+vq8PHx7u7v8/P0+Pf48vHy5OPkAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDCP8AzwgcSLCg +wYMIEypcyLChw4cQI0qcSLGixYsQZWiUMWMGjRo2buDIoWQJkxw6dtTgMWOjS40LZaBJk0bNGjZt +3LyZRAlNDziV4riRs4amUaNoZMScY8nSJUyZNG3iRKfOjAsYfDTplAmTp69fm1qao1ShDCd2ztyh +QwlPkx8ZMuQ484SGhjyfJr3B48aNwDl2nJRNKAPKGTx6QLH5sSHKnkyhQonihAHIpUp03tzhg6eP +nzOCY0pxs/YTGw42RIUaxXqUqCAzSJUCRecPoDuBBLmRMhihDCl3BpmypGkKAEKgphQidSoUlQ5z +MlmqZIqOodt4eMes8mcSKkybUgH/CCBgAAEBBYTAAXAoFSlVqypNivPmjZXeB2VUoVPJkyZENxjg +wRV3PDHEBwO4cQARgKWRiSeUTJLIH1jgZ9AMVbCyiiJFgGCEHKy1ImIWCMgRQgIKiDBCEJO48god +cVS40AxXwOKJFiRIEUuIIrayCAJbXLFACYxUUcIisnxSXRUWFkQjJZeAQsMIs/AoIi0AmHDKCQJc +YQoKjUhXSS1MznjFJ5d0ckUKT1gp4gwMeEJHAwnYYIIUmnhiiyllmsXFJ/51goECpIzSo4h5EJCB +AgME4IQKW3Siyi2v9EkYF7h4QgonThTQhKGHxuHAA0cokosoM9ywiSy67GKpb1ys/3LJpl1A8EEu +h74ZgSKtsNbDCpyQ4sktXjRJkAxcWKKKJrMIAcIDTuTaCh4S4NDrKF2wAIommFhyhbEDyXCFJ7Lw +sksJhEzQQii59uLCC6ewhgYMcqzqyrcxfXFJJpssggIlSETgSK6hCEHBKqyBAgMYqTyIr1laYEKK +L3uY0EQYAsDQRn2OiMFDBTxUOUovMwzBSSaXjAGuQDJo8YsmnCCSQQPlIWCzzQNQYMEEL5RwghEq +FMEJMJhosfIZLcsCMx0c8PDIHlBHrQUYONiwggoKgHDBFpxoEozRMV0hDCmp5EJGBqa4eegooQzz +VibuyQK2WWXIQsomtEyyARG0qNF97SiIbHAHLZsQg8nDhGlRjDHHIJMMJB6Y0drkrVEigyO5cKIM +Kcsg7psWmZDCCye5DJPECGxAuIpYTX2CRBin0MIMV4cf3XIxpDSTijPJJEIECSDA4AEIxLcQgwxT +JJPLLJtokoksnueneO5T5fIMHoiggcYjjnTvyCKKDBM7NJ04L0z0BulXSCE1KdIGHnGYUkk0lNQf +TSW0vXGGHJGkIUkhRbKdS2bAAyLYwAc6wEEPFrhAHOgACTv4AQ1a8hKMWPCCGMygBjfIwQ56ECEB +AQA7 + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image011.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABXACgDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0aiqW +ookj2aSRrIrXABVhkH5Wqf8Asuw/58Lb/v2KAJqKqG00oT+T9jtd+M7dgzipf7MsP+fC2/79igCa +iqWnIkb3iRxrGi3BAVRgD5VooAde/wCvsf8Ar5H/AKC1SX+tadpgP2u7ihIGcM2D+VMuxm5sB/08 +j/0FqvS6NZXMhkltondhglkBJoA821Dxxpf/AAl1rPbyS3EaKykRITkkV22j62mr7tltPEFHWVMA +/Ss3WNBaHxNpt1bW48pSUbavAzXWx26xxjC4oAyLLie+/wCvk/8AoK0Utp/x83//AF8n/wBBWigB +bxZd9rLFE0vlTB2VSAcbWHcj1FWl1ecf8wuf/v5H/wDFUlFADm1iVuukz5/66R//ABVIdXnP/MLn +H/bSP/4qkooArWSy77qWWJovNnLqrEE42qOxPoaKs0UAVb55FNsiStF5s2xmUAnG1j3HqBTxZyn/ +AJiNz/37j/8AiajvhmexH/TyP/QWrRYrGu5jgCgCn9im/wCgjc/9+4//AImkNnKP+Yjc/wDfuP8A ++JqT+0rLdt+0R59N4qwpWRcqQRQBQsXkY3KPK0vlTbFZgAcbVPYepNFJY8TX3/Xyf/QVooAW75ub +D/r5H/oLVpXenw39q9vOu6NxhhnGay7+WOGWykldURbkEsxwB8rVpJrmlDrfwf8AfYoA5pvhfoJl +3+TMBnoJ2x/Oug03R7fSLUW9qrLGOgLFv51a/t7R8f8AIQt/++xUT63pR6X8H/fYoAz7P/j4v/8A +r5P/AKCtFNsJY5pb2SJ1dGuSQynIPyrRQBcooooAKKKKACiiigD/2Q== + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image012.gif +Content-Transfer-Encoding: base64 +Content-Type: image/gif + +R0lGODlhLgAxAHcAESH/C01TT0ZGSUNFOS4wFQAAAAlwSFlzAAAdhwAADsQBStHwigAh/wtNU09G +RklDRTkuMBMAAAAHdElNRQfWCgYXMSn67jjEACH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJ +Q0U5LjD0pUfjvwAsAAAAAC4AMQCHNjY2Ly8vPj4+Ojo6NDQ0LS0tMDAwKioqMTExMjIyKCgoNTU1 +KysrJycnX19fVlZWXl5eUlJSTExMTk5OU1NTVFRUT09PS0tLXV1dUFBQSkpKWFhYSUlJSEhITU1N +Q0NDWVlZR0dHUVFRV1dXXFxcVVVVW1tbRUVFeXl5dXV1ZmZmaGhoc3NzfHx8cHBwe3t8bm5ud3d3 +a2trdHR0aWlpcnJyY2NjZGRkZ2dnYWFhZWVlYGBgfX19f39/cXFxbGxsdnZ2YmJienp6gICAlpaW +h4eHn5+fmZmZj4+Pg4ODkpKSgoKCiYmJnp6ek5OTmpqaiIiIi4uLl5eXnJychISEjIyMhoaGlZWV +jY2Nk5SUkJCQt7e3uLe3uLi4vLy8ubm5oqKiubm4sLCwrKyspqamtbW1sbGxu7u7v7+/vb29s7Oz +oKCgq6uruLe4paWlp6envLy7o6Ojt7W1ra2tvL29r6+vvby9qampvb+9r6+t2NjYx8fHz8/P0NDQ +1tbW19fX1tbV19jY1dbV1dXV1tbX2dnZ2tra19fW2djY09PT0tLS0dLR0dHR2tnZ2NfX0tLRycnJ +wMDAxcXFy8vL1NTU19jX29vb2tvb2dra2dnY2tnawcHBxMTEzc3M3Nzc29zbysrKzs/O3d3d09PS +w8PDzs7N3N3cz9DP3d3e3t3e3Nvb3t7e39/f3t/eyMjIzc3Nzs7OxsbG29ra0M/Q2djZ0tHS0tHR +z8/Q39/g4N/f4ODf7+/v5ubm5+fn5eXl6urq9PT09fX19vb26Ojo8PDw/Pz8/f39/v7++fn57e3t +8fHx+/v74ODg+vr6+Pj44uHi6+vr4uLi4eHi4+Pi4eHh4+Pj8vLy5OTl5OXl5OTk6Ofn6enp6ejo +6Ojp5+fo6+rr6+rq6urr7Ozr7O3s6+vs5eTl7Ozs7O3t6urp7u3t7u7u7e7u7e3u7+/w6unq6uvq +8vHy8O/v8PDx8O/wAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDCP8A9QgcSLCg +wYMIEypcyLChw4cQI0qcSLGixYsYMwpEwbGjx48gQ4pUKLKkSZG7SJ5caXJXyoQdh8icSbOmzZsy +Xb5EGHMPn59Agwod2qdo0T1DdKpEMcQPL169ovLyRbWqr6dRs2qN+iepy6VDtgDy8yfQnz9+BA1a +S4hQID2FChmKK/Dsn0NbvO48GJPLHz2I9PwZlEjRIkaKFCUa5EegXEOGGhVC5EhPXqUwOQ7pApfy +oEeQInnxEknSpD6KKPmpVMiSpUuGMGUq1EUv2C6GNBXyo2gTkRQqVrAoYmQLp06MKP1p7ekTbNq2 +MzP94hoRJVBHWhRBksSFgwcQXoD/iRQq0R9DnkR5ch0mOk/N1A3pGUVKCRIYESRMoFDBwgUKMYhR +CiWFpCeKKZ584R5f8HliiB99bLGEBBgwMQYZX5TRRAwZaCCDGaf4YQgqqYgiioKYvcfUGarokQgo +TjwwAxq/ALNLMMIMA8oTG3DAQhqK6OHJKqyscsaCBnW0xBmWHNKHGjSoEAkxxRhzzJXIJKPIGg90 +AAUkg1jSCiu4HJkigygsackgrkRBgxTKLHPlnMcUA8wfU3hQARuM6CEKM8yY+ZV0SxaSCBow1GBI +M3QagwwyVzrzyhAftLAHIabo8oygeyXJURJnINKHGTZQAU0xc+4yyRdoRLPMMnyw/xHBA20M4kku +0nC6FBVe6AGLGzdUocychrQAQAAC4CCJMLBsgQMHbyhiCTPTwIFkQR3xWggfZORAhDBX+sLCABbQ +AEIHLqzSRxk3XBBHH5ZQU40X1xLUURJeWJKIHDpYYc0xzrARQgg1qOBABSGowccYIIgwRyKeRHMN +vWd6miYdq/wRyxAuSLKMNVYMsAMIV6jhAQEtTFLFCBB48Qcr1fhC8aAqLpEGNZ4oUocLPKyiDBQF +kHADFT2UYIAJRuDgAAp7WBLNVXbUO5CSaWBDjSx8GCEDFdWccQACKbDgQwUJZPCDCTfEQQkr2Wgz +TBpSb6RZGr34Qo0hs6yxAhBvxP+gAAIfnLCAAh+AEAQWk4hSTS/bcAN3xdjO3c0wvERjCSN3AIHD +DxQYwMABDQCQwQ1Z7BFxL79ss83jNKM5BB6/xO5NNaIcqoUKEJhAgQcebCBEHn0oPsw30ICzetx6 +xIRGOOKMQ8425bBCCyxtENHDDDFgUYcrejDjyy/mJHMONOiw3mnkTKEBjTnpqKMONN5kw4ollMzy +CiyJGML2MOaos8s6yYDG8SBnL80szxzs2EU7dqEOc7ijF1O5Ci+G8Y5kqIMYGFRHAH9hPrAcMIHE +UAY8lIHBeOwCg8SQhzKswUJlzEOD0AhHB6UzhDPwARY/KQojEMOIWiRGEbVAjC0+GFGUW/AhFDfU +FQ1xIpMlOPGJS2DiTAg4NY7o5IpYzKIWt6iSLXrxi1okCRjHOEaNmPGMaEyjGtfIxjYuJCAAOy== + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image013.gif +Content-Transfer-Encoding: base64 +Content-Type: image/gif + +R0lGODlhLQA0AHcAESH/C01TT0ZGSUNFOS4wFQAAAAlwSFlzAAAdhwAADsQBStHwigAh/wtNU09G +RklDRTkuMBMAAAAHdElNRQfWCgYXMhCOxuMPACH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJ +Q0U5LjDR7kM3+AAsAAAAAC0ANACHeXl5dHR0dnZ2enp6fX19cnJyf39/e3t7d3d3eHh4b29vZGRk +YGBggICAnZ2dkJCPjIyMkpKSmJiYh4eHhoSEiYmJn5+flpWVmpqak5OTioqKgoKClJSUnp6elZWV +nJyckJCQjY2Nj4+PhoaGi4uLi4uMiIiIl5eXjo6OlpaWhISEg4ODt7e3uLe3uLi4qampvLy8ubm5 +pqams7Ozvb2/ubm4oqKirKysqKiou7u7r6+vv7+/vLy7ra2toaGhvL29tbW1sbGxvb29paWlqqqq +vby9q6urpKSksLCwoKCgvb+9tLO0v7/A2NjYx8fH0NDQz8/P19fX19fW1tbW19jY2dnZ2drZ19fY +2tra2djY19jX1dXV1NTU29vb2tnZ29ra29va2NfX0tLSzs7O0tHR2tva3Nzc2tvb2dra2dnY29rb +29vc2NnY1dXU0dHRy8vL09PT3d3d29zb3dzcwsLCxcXFzc3N3t7e3t7d1dXWyMjI3N3c3d7d3Nzd +19bW09PSzMzM3t3e397e2NnZ2dna19bX39/e2NfY3t3dzc3O39/fwcHBxcXGxsbG1tbVzMvMwMDA +w8PD3NvbycnJ3d3eysrK3t/exMTE3d3c3N3dwsPD1dTUzczN0M/Qz8/Qzs/O39/g3+Df7+/v5+fn +5ubm5eXl6Ojo4ODg4uHh4uLh4OHg4eHh5OTk4+Pj5uXl4eDg4eHg4uHi4uLi5ebl4uLj4+Tk4+Pi +4eLh5eXk5OXl5+bm5ubn4eHi6Ofo6enp6unp6enq6urp6erp6+vr6+zs7Ovr6urq7Ozs7O3t7e3t +6urr7Ozt7u7u7e3u5+bn5eXm7+7vAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDCP8AmwgcSLCg +wYMIEypcyLChw4cQI0qcSLGixYsYM2rcyHEggI8gQ4ocSbJkwpIoU5YUdVKly5SiWCIE2aCmzZs4 +c+qsGVPmQZpOngh9AqWo0aNIoQwd6qRBz5YAGkQZRbVqVVKlspIiZZWqKVNVoziNCbUBCylTolBp +UqWKlSpNokS5IrAKFixtCUaRwmKsT4M0WwjMYvduFS1TtnDhktZuly53vVTxkqVJ36czPzZw0dbL +ly5gqoTZIgbKGChkuESpUqaLmS5nsKBJ08SF37IusKhxvQYLmzZu3rB4AeMNFDhTsJgxE8eMnNhV +bGP+qTmG6znNsUQRQ0eGAxZ1ZtD/sANHCxY5y5s/rnE7c9QYzO/gMYMljx4bN+qMuf9gxhvVVbgW +Rxx7mBFDe9S9x8cdDPZRhR9wQOEGF238AcgMOLBw3BZNYNFHIAMeOB1gmuUgCINxdDGIXE0Qspx2 +boxx2ht1iFFIF3EwmAOCJEaVwymG3FFGE1McgsUdp6CSiiqIWDEFHInoAEEOcFTBhyKg7DhiQTT9 +qIgZTYixSBRxrMJKVqyscgcWU7jBSAQSANJEHKCcoiVZ7jXw45pc5NAIFoq0spUrrbwSBxaOuPGI +DhM0EgUfsMRy519clojKmnbAMEUcspQyCyuyfNlEhFAAAgkFkZD5Ci2TlgWDLKeY/xEFF2asUgsr +rSgiSRhiXGjDDpNEUkEjm65iCw88VhoVDK3cokgflMDSSimtxDHFGDvkYEEAAkCwSCM9VMJFF6u0 +AkOyBNEEA6in3GFJLLiwosgULFwwAAENYOBAAT5EcgkMlVShCC3nbpmuZj+UIssdhJSJKyZOZKDB +Bj5IwEEHHWwABCQeBDHFHbIUjGeCDQiRZiZ1bAHyKlUw0QEHN2QwhAFEdHDABzNoAEkTgRaBrkea +CZHLKV/kUIkZitzRxBtGEAGCAxFUcEQICHQgAhK0olKKED8LRJMQCnfxxiNYpLgFC0F8EIIFI/hA +wgAd7JByraXowrXBQEclxC7yQv+mBpt2lGADCTZIYIIFGyShyRNkykLKV3eP3GMDSoBVCi+KdDEF +FHSQ4IEIHpwgAQQfZPACHHGw0osvv/gSOaUHR7UDMMEIs0srauRwgw4OjPBCAgoswAAAKCyCRSum +DEPMMMG8XtYOwwxTjDGmrALHDSAEQUclOkSgQQosvIGFLKYcg0wyw7jedRM07aDMMcskowwpoXCx +xAlCwCEXcmUowkr5zGAG+ozhvDy57xjNEOAwnLEKLEBhE/7LyjNG4YthMEMU0FCgMgpIshzIqChE +gYIdAPEGTpzmCZ1QylI8AYVPyKhVecLJBjagggloAAIkMMEIRqACFaxghhvYCd4nvPaRnhjxiEhM +ohJbosQmOjGJJ3miFKXYkSpa8YpYzKIWt8jFiwQEADs= + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image014.png +Content-Transfer-Encoding: base64 +Content-Type: image/png + +iVBORw0KGgoAAAANSUhEUgAAAC8AAABnCAIAAAAfToz6AAAACXBIWXMAAB2HAAAOxAFK0fCKAAAA +B3RJTUUH1goGFzIrP80KKwAACaZJREFUaN7tmk1zG8UWhs853T0z+rRkJ7IjJ7ECSUGqQqVwqGLB +hmIT/gFLfgI7/g977o4Ni1BsqKIq97JwQSqxlWBjO5Ej61sjaUb9cRc9M5ITwE7GQG5ddSqSI1nq +N+ec6X77PIMPHz6EN2YQvEljoWahZqHmfAd/4d9fffXV3zb3559//qbE5ssvv3xTMvW7Un4nU8lw +XfcvkvLFF1+ctW7mx927dzOZzDnqGI/H33777StU8fwolUqlUgkAEDGNCGOM/aHb7b7aNTU/dnd3 +a7UNAEREqyiShYCQ6ItegXjKZPqXHs3u7t7rq0EAREJEO5OVMicolhL9NiZzI6IxJvogIgIYAAP4 +yuvNSTkYP8fhwehVczJ5dr5IBxgwkSBjnwAATPL511UDQEQ2LUmiDJgkJvPfjklgkrhFgqxSMnOp +fK1MJeNkIrQBABVlMnrPaANRgHD2x4bUgDHRt0Gq2CR6TDyU0sZoY8xsvvhdMGDAICIRIhIRzUot +ilC6TCEhAiY6lJJKKSmlUsoYwxjjnNti1Vprre2LySAiqw1OV3KaGiIiQB1JUVLKIAw77fZvv/3W +aDQcx7l48eLq6moulzPG9Pt93/eFENlsNp/PZzIZIQRnnHEGRERkvzBVbGzham2kkr7vb21tfXfv +u8Onh57nZbNZRCyXy6VSKZ/Pc85d1xVCELF8Pre8vFypVPL5vADBBUeDiJTuCgcAAK2NUiqYBD/9 +56ev//X10dFRpVJhjAVBoJRqNpuDwcDzvM3NzY2NDSklgOx0wuFw2O12a7Xa8vIyIpIgRHMOamya +er3e/X/fbzabt27deuedd3K53IULF9rt9o8//jgYDPr9/tbW1q1bt9bX16WU/X6/2+22222llOdl +GGfcMAT2+t4vyrExWmsp5dHRUb1eB4AbN26srq6ura0FQdDv9x3H2dzcvH79eqPRqNfrNmC5XO7a +tWvZbLbVarXbLSWV1kYbc2rp0J/XjAEwxkyn06Ojo16vl8lkJpPJ8fHx06dPG41Gs9nknFer1du3 +b3POf/7551arFQSBEKJQKKytrRljWq2WlNIYg2hOXW/oLOuNlHIwGHDOAWAwGEgpnz9/PplMarVa +LpebTqeZTMZ13W636/t+pVLxPE9K6XkeYywMQ6UUoq1iPAc1nPNcLre0tBQEwaNHj46Pj40x2Wz2 +6OhoMpkEQbC/vz8ajeyF3e12R6ORMWYymWitM5kM59xuLGl3TSJijHmed+PGjbfffns6nSqlWq3W +ysrK9vY2IvZ6vXa7/euvv0opNzY2wjDsdDpE5Pt+u912HGdlZcVxHCIiSqFGa40ARGQXkqtXr370 +0UeFQqHVau3t7T1+/BgAbEFMp1PXdTc3Ny9fvjwYDGxObTg3Njaq1arrupxzxhgCaq1T7OGMJZvd +nTt3qtVqs9m0Fa21DsNQCFEsFpeXl/P5vJ1Ja22ruFQqFQoFuyQKzpEIUu6ahAhWEJHgolarVavV +6XSqtTHG/i9RiGirSiwnInLBBRecc8Y4Y2fL0xn2cEIEWz2aa6GF53nz0Z65hNhV2WpFRMZYtJXT +mczNaWoIMDYNAMg5JLYBAIiSy8Q+Rv53fuLYnhkE0CndFgFF5oQQwf6lxEoREtLMuScGyEYu8mW2 +kowxWiOY9JkCAEQDSGDdk80dIhEh2TVtTo3WmoiSciYipXXk0g2k3zURAIx15vYJTWTucPachAEJ +QcPMm88Z+FPNzZn2cJyzx4hIQNZZvmBzETF2p3NnHTP7Wet0mZJSHhzsv3CSOvE4f8qLqzs6yUWH +OvtgwEBSUq+p5ocffviHu0ln6ST83Z22P+qv/ANq/ikpAIALzrBQs1CzULNQs1CzUPM/qWbB7v7Y +RS3Y3YLdzcZfzu7mTvinsLu5V86J3SG8BHTorOzO6kLEc2N3MMNj8DK7mxGxmN3ZQ/qM3SGC0cmZ +PEWn7SV2Z4/eyfk75me2iWTitEafnWd3AOfN7uLTv+2yo+3+WX6mtQEwFIOyJAyEdM7s7kRfzwCi +0doYMEYbpZRFV1JKMMA4E0IwZjuF7PzZnW12JAwxuVRsB2Q6nXY6nYSfWSBSLBa9jMc1Z4wRMWb7 +SOnZHWhj02BjoLTWSkXXC+BkMt7a2vr++++fPXtm+RnnfG1t7a233nrvvfdWVlZcx0WBJu48pWV3 +BkBrJaWaTqfj8Xg4HI78ETFyHIcxdv/+/W+++abT7Vxau2T52WQy2dvbe/bs2e7u7scff3zt2jUk +TBqGaTttWmspVRAErVZrf3/f932KIeVgMLh3716j0fjggw9u3rxp+dl4PD44OHj0aLter4dh+Nln +n124cMHm6yzXFJ1BjXz+/PnOzk6r1YoLSIVheHh4uLOzI6VcX1+vVCqWnwVBcPHixU8/vXvp0qXt +7e2HDx9aFgGgKWVsEFFrbfHYaDQqlUrFYtFCEN/3Hzx44Pt+uVxuNBqFQmEwGFgUVa1Wa7Wa1vrJ +48f1nfrt27c9z4t7gqnVjMfjXq8HAIVCwfM8zrmUcjKZjMdjW7bdbrfT6QwGg2w2e+fOnTAMJ5NJ +uVx2XHfoD6fTKUYNfkjL7pRS48k4DEPGmJQyCILxeJzAy2KxKKU8ODh4+vSplDKbzT558uT4+FiG +stPpKKXK5bLjOPEaSmnXG621nErbHpdS2gvHssybN2/W6/WDg4MwDFutVrlcfvDgQTab9Tyv0Wj8 +8ssvrutev349l8slNw2kvabsvQmO44xGo36/v7S0ZFdZ3/evXLny4Ycf5nK5ZrN5fHzcbreFENY0 +uq67urr6ySefvP/++za5FN++kEqNEGJpaclmRGsdBIHjOL1ez7K4d999l4j6/b7rujYASqlMJnN5 +ff3KxtW11TXP8xzHsVxztp2+thouRLFYrFarQojRaDQcDofDod0WLC6s1WorKyuVSiWZkogc13GE +Y38holT2ToGUu6bgHD2vUqlkMpnxeDwajcIwtPeSCCHy+XyhUMznc44jiBglNAvRhiouF2NrMG2m +OBf2S4UQUkolld1D7XxCWGTJOeeMCIkidhe7oQQtaq0BU3o/As6ZMcQ5j02MTqaztoFzzrlgjFlw +OUc8IkZktNFGI6Re/QgIkRgDA8AY2DvBIidIyIhR5GNm3ioBLTNsFsEaPAd2RxQvWyK57clyV2bZ +HRGzRv4FdpcYdW1MxP8MplUT87o5hkhISBZq2usF504L1uPNMyyKbw1BTK3mBW2INM/u4CRYTtjd +7GVz4t1UaqSUh4cHsGB3r9BJ+Ls7bQt2B7Bgdws1CzULNf+vav4LqAmZlqJos5UAAAAASUVORK5C +YIJ= + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image015.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABgADADASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0V3SM +Zd1QerHFM+02/wDz8Rf9/BWR4tGdITP/AD2H8jVXT/C9jeWMNw00ytIuSABgGgDoftNv/wA/EX/f +wUfabf8A5+Iv+/grH/4Qyw/5+J/yFH/CG2H/AD8T/kKANj7Tb/8APxF/38FPVldQyMGU9CpyK5+T +wtp9vNbZkllEk6IVbABBPPSukkjjhfy4kVEQAKqjAAoAwfFv/IIT/rsP5Gp7W/g0vwxFeXDbY4ot +zGoPFv8AyCE/67D+RpJ9EbXfBkdmr7C8YwfcUAZh8fSRx/aZtIuEtT918gsfwrTsfFKXkCXIhYQS +cq45/Oubbwr4nRUiWG3k8vGJGk9PbFamheGtW0ux+yusTl2ZmfPAJ64HpQB0d1Isv2GRDkG6jIP4 +1euP9e1Z72hsrbT4Sc7bmMZ/GtC4/wBe1AGB4rVn0uNVBZmnUAAZJODWppMl3Y6bBby6Zcl41wSN +uP51MVBZWIBKnKn0PqKf5sn99vzoAmXUZR10m7/8c/xpG1GY9NJu/wDxz/GovNk/vt+dHmyf32/O +gCG6a6vJbVV0+4jEdwjsz7cAA89DVi4/17U3zZP77fnTSSTknJ96AILu8t7GIS3MnloTtBwTz+FU +/wDhItJ/5+x/3w3+FVvFv/IJT/rsP5GnaVo2mXOmwSy2as7J8zbjyaAJ/wDhItJ/5+x/3w3+FH/C +RaT/AM/Y/wC+G/wqX/hHtI/58l/77NJ/wj+kdrJf++zQBH/wkWk/8/Y/74b/AArQilWaJZUztcZG +VIyPoazZ9H022ntGis0VmuUUkknjPoa2bj/XtQBz/i3/AJBCf9dh/I0+11AWOiWYC75HXCqKZ4t/ +5BCf9dh/I0sGkyX2jWUsTbXROKAMTxL4vv7A21nCqQTXT480/MEHrimW2r6zp8LXj3a31tHzKGTa +cd8HvWnfeCpNbRIr0IoQ5WRPvCrFr8PLeAgTX13PFxmJ3wpx64oA055Vnj0+Zfuvcxkfiav3H+va +q+oQrAtgijAW6jAA+tWLj/XtQBieJLaa8sIbe3jMkjzqAB9DWlp9tqdhZRWy/YnEa4yZG5/SpKKA +J1n1Vekdh/38b/Cgzas38Fj/AN/G/wAKgooASa31C6lt/ONoiRTLIdjsScH6VNccztUVFAH/2Q== + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image016.gif +Content-Transfer-Encoding: base64 +Content-Type: image/gif + +R0lGODlhKAAtAHcAESH/C01TT0ZGSUNFOS4wFQAAAAlwSFlzAAAdhwAADsQBStHwigAh/wtNU09G +RklDRTkuMBMAAAAHdElNRQfWCgYXNC4Z/VkiACH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJ +Q0U5LjDhyJoHVAAsAAAAACgALQCHPT09VFRUTk5OWVlZe3t6dnZ2cXFxaWlpampqeXl5bGxsf39/ +Z2dncnJyfn5+ZWVlaGhodXV1b29vfHx8bW1tcHBwe3t7d3d3fX19c3NzgICAjY2Nl5eXh4eHgoKC +nJublZWVhISEk5OTkpGSkpKSj4+PmZmZm5ubiYmJhoaGlJSUmpqag4ODhoSGkZGRlpaWjIyMjo6O +nJyci4uLn5+fiIiIkJCQioqKt7e3uLe3uLi4u7u5ubm5v7+/s7Ozubm4p6eor6+vtLS0pKSkpqam +oaGho6Oju7u7qampq6urvb29tbW1qKiooqKivLy8sbGxvLy7p6enpaWlvL29oKCgoaCgvby9sLCw +rKysvb+92NjYx8fH0NDQz8/P19fX19fW1tbW19jY2NjZ2dna2dra2tra2dnZ2djY1dXV1NXU1dXU +29vb2tnZ2NfX29ra09PT0dDQ0dHR1NTU19bW29zb3Nzc2tvb2dnY29rbzc3NxMTEycnJzs7O3dzc +zMzM2tva3d3d3Nzb0tLSwMDA3N3c3d7d3t7e1tbXwsLCw8PD3d3e397eyMjIwcHB39/f2NnYysvK +xsbG2trbzc7NxcXF3Nzdy8vLysrK0tHSzMvLz8/Qzs/O39/g4N/f4ODf5+fn5ubm6Ojo4ODg4OHg +4eHh4eHi4uLi4uLj4+Tj4+Pi4uHi5OPj4+Lj5eXl5OTk4+Pj5OTj5OXk4uHh5OTl5ebm6Onp6enp +6Ofn6+vr6urq5+bn5+fo5eTk6enq7Ozs7Ovs7e3t7u7u6Ojp7u7v7+/v8PDw8fDx8vLy8fHx7e3s +5uXl6urr7Ozr7e7t8vHy8/Pz9PP08O/w6eno7u3t8/P09fX19PT17Ovr5ufn6+vs8fHy8/Tz9vX2 +9PT09vb29PPz7eztAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDCP8AtQgcSLCg +wYMIEypcyLChw4cQI0qcSLGixYsYM2rYyLGjx48gNyrUsIVLl5MoU6o8yaWly5ZbNIz08gnUp5s1 +Qem0ibPnp1BAcXqRmVADji9gvIQR6KWpFy1ixpApQ7WMGTMEvXzBQRShhhwCz1zVAgZNGjVJtZgp +s6btGqpszJxpo4XrSB1q2bgx8+UNnC5c4ryRM0cLWzpr6qyxU4bMHS06uh7UoKMMnrZi0OTZwaOH +nj184sj5sraO6Tp0GJuJPJJH4j5rzLzBsYFAAQ0cfOjxEweNFzN/EgNSvOaHZIMaeNQBBCiQFkFA +gggZ0sHAAQ9EBvGW46XMckCE6vD/OF4weSFDgNYc4vKhB6IePIQU0YAggZFEfgR5WaMIPaDxIx2x +CHplyMEICIk0MsiCPeiARAgKLCCCHnKUYYgjjhhyBHkEaXCEKJ4Y8kgcPIzQw4IoLnhEEQwEgIQc +azgyiiicbBggKaIAokUXSYigRINLoOgDEyQ0UAIkWgAiCimliGJjUUeYQoohXuTRhAk4FOGAAUHi +8AAABxSxBxp1iHIKKqmo8qRXR6xiiiFa5HECCChA8IAAQwziBAkDpKBHHGY4wkorraxyypqTOeHK +K47EqUIEEqwQxAQpHDEIDxtQ8ASgorxCaCuwQMHhQBo40UosoozhRwgPRKFHJERI/4DDgj4kwAIi +YNRBiiufOjGqQKWC0ooskkzSQgKJ5OHHEQZIcWIPURhQAiVgrNFpK7P4OtIUNb1SSRwuvODHG4JQ +4gEMlg7SAxUVxKCEIGU4Yoor2halRCif0CKKGY1QW4YWfMgwwawMVhGBBUT4oasrVvyqhQZK1GLL +La6IYpojU6KBgwFPpDjIFTMoIMMbnbiihMMQ24JLLqHo0opNu7yyBiUXNHEiio3QkEAQXojCy8kj +KdELLrj44ssvwAQDjDCO5FFDDE7gjIUHNHQBiCmgAF1UFrngAswwxBRjzDHIJPOKHEVggMWCjQTR +AQmMrEGKMp9o7VUPyzDTzDDFOL/zDDTPRBPKGkdEAAMOjWCRgg2UrIF1KNLYPVkPRU9DDDLHUFON +Ncdco0oeKWRARBMeqEBJHa9gk0sutkiOXA/ZfF2MNs9sUw033RQTSh0+hDAD1ZYA4orKvqzsenmw +y47M39V44803wYBSxyU6NCKHI63kAg4wwODSy/EdHsFSYHGUL4ggmMTRRR6WMLJHJnnw0YUmXWzC +Rx6IIhcSRx6w0MENMbBBCWBQgxB4wAMfyYgCF8jABjrwgRCMIEYCAgA7 + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image017.gif +Content-Transfer-Encoding: base64 +Content-Type: image/gif + +R0lGODlhLQAvAHcAESH/C01TT0ZGSUNFOS4wFQAAAAlwSFlzAAAdhwAADsQBStHwigAh/wtNU09G +RklDRTkuMBMAAAAHdElNRQfWCgYXNSGQWXXyACH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJ +Q0U5LjDqX0je3AAsAAAAAC0ALwCHOzs7PT09XFxcUlJSW1tbV1dXVVVVU1NTWFhYUVFRSEhIXl5e +eXl5cXFxfHx8dnZ2ZmZnZmZmdHR0cHBwbW1td3d3dXV1c3NzcnJyYGBge3t7b29vZGRkaWlpdnV2 +enp6f39/a2trfXx9Y2NjeHh4bGxsZWVlZ2dnbm5ugICAnp6egoKCl5eXnZ2dmpqahoaGmJiYioqK +k5OTkZGRm5ucgoCAjo+OkpKSg4ODlZWUj4+PmZmZh4eGnJych4eHjIyMiIiIm5ubhISEiYmJlpaW +lZWVn5+gt7e3uLe3uLi4qqqqqKiop6enr6+voqKisLCwra2tubm5paWlubm4tbW1tLS0t7e1o6Oj +u7u7vLy8s7OzoKCgvLy7s7O0oaKhvL29v7+/pqamvby9pKSkvb29vb+9qquqtbS0rKysv8DA2NjY +x8fH0NDQ19fX19fW2NnZ2dnZ2tra2tva29vb29vc29zc2tnZ3Nzc3N3c3d3cz8/P1dTU2djY29ra +3Nvb3d3d3t3d3d7e2tvb2trZ3Nvc3d3e3t7e3t/e39/e39/fwcHBzMzMwsLC3d7d1dXV19fY09PT +3t3eyMjIysrKxcXFxMTE0dHR1tbW0tLSwMDAw8PD1NTU0NDRz9DPzs7O4N/f4N/g4ODf5ubm7+/v +5+fn6Ojo4ODg4ODh4eHg4uLi4uLj4+Pj4eHh5OTk4+Pi4+Lj5uXl5eXl6Onp6+vr7Ozs6enp5+jo +4uLh5ebl7e3t7e7t8PDw7u7u4uPi8/Pz8fDx6urr9fX16urq5OXk5OTj5eTk/Pz8/f39+/v79PT0 +8O/v7ezt4+Pk/v7+5eXk6Ono8fHx8vLy7u3t8vLz5ubn8/P08PHx+fn59vb26uvr8vHx6+rq+vr6 +7u7v6unp+Pj47+7v7Ovr6+vs7e3s7/Dv9/f37e7u6+vq7u/v9/b3AQIDAQIDAQIDAQIDAQIDAQID +AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDCP8A1QgcSLCg +wYMIDYpamLChw4cLRT2cSHFgxIoYHV7MyFEhw44gBW4cyKCkyZMoU6pcqWakwJUwY64c1fIjSZk4 +Y46i6VKNyRRAgwodSrQo0J08bb4smWINm6dQo0qdKnVNCqQ1JRL82YYUqVJgw4odS9YrqTZXd2Yt ++POImzZq3sCJE0fOnLt06NS5e5cuHDgC27g5kjap1psMUiBRA8dOnLt37uDJc0dPEiVLljDZ3MTJ +njh2+KghjLXnzyRz+/i5k+cPoEBzVDRYwUKF7RYuHDxIM0fQIDhJCq/dyjTJHEJ3/hQydAhRIkUv +1LR5AiPGCxlH4syAgmdvnOCllfr/ZBolOSBDiRKZOoXKCY1FEGoYkeJERgQbTG4Y+hN5inDT5P2B +XiimpKLKKqykQEUVOLTiyiuppGJFBIxIIGAjf0Txn3g/RXGIeqyo0gospDjywB05XCEKLLG0EscE +S5hCwSOgGGKIhuEdtlRiWHxiCiuriCLLLLRgYYQoFTgySy22xKIDDKuwYEEcrJiSCBYb6jgej6zc +0gouteQCShYp7KAFD7rswgstkEgQCRYXtLFKL6ycgmWObDGFRSqrxBLmHzhgkIEAAxAQgxq+/LJE +D8BooAgpsayiCit3qgUgj32SMssuLPgQjC+LUFCAAQ8c0cQDkEjygzDCkDIMMa9U/2pYnjwWI0ot +vLSywRrGHIMMJMkAcQACBiQQAQVBKLNMLaQUw4yswyGWQhaxaDrKJBGYcswxzTRzjDG85EJJFFtw +0AApo8xSiijOcJElrdOK8gwt0HTRQTDbdtvttvz2YEE0u9DCrChk4klcYlmQIow003jhQa/6Ruzt +MUJ84As0uQhTCjUFW8ohU1+UMsso1cQAQr76IqPvtiuscHEu6pLS8awHpwCGMLRY48sQjKB8TQ8h +ELGLt9hQEEYw0PCyZClivFszGNnkoo0vY1SCsjAZABDAEd4aksEiSCu9TS1kOC0tGLPwAs0oIggB +cbcPhGAJN9tiMUItwUTTDS2zeP9TtsHSkgFMLtAEw0QEl+RbiwJY7GvMDyQkg/QoMAvzt8da/lTG +LLnsUk0iJGggyra0NKGyt8asUMQ3yUQDTi7hWG72jjaLMw4502CDyQUWZIINv/xCUgIk5SSztjm0 +nHM5zWfTkssohZcDyQcLXJDJKMnMcokiF1RxTfHQoLOm7IDTDoY4uXQDzTTBfMPLExOY0MADJZyA +ghnYfIPNxaOsOcvy0TIf+rqxi2gkIx3XuMYqztAENGgCEtRIYDny9ov+0QIYALxUCrCgBz08BROb +UMMcEgGkVpgQQYnwQxs2gQlOsKETevAEtDQ4lBXgwAc/mEERWACDHrKgCDP4gQ82cLCCopRvS0hJ +ohKXyMQmBnA8TYyiFJn4RAZM8YpXfGJIMNKTLVaki16cCBjDqBHxkBEiCwkIADs= + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/image018.jpg +Content-Transfer-Encoding: base64 +Content-Type: image/jpeg + +/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf +IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 +Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAAnACQDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDvL55F +NsiStF5s2xmUAnG1j3HqBTxZyn/mI3P/AH7j/wDiajvhmexH/TyP/QWrRYrGu5jgCgCn9im/6CNz +/wB+4/8A4mkNnKP+Yjc/9+4//iak/tKy3bftEefTeKsKVkXKkEUAULF5GNyjytL5U2xWYAHG1T2H +qTRSWPE19/18n/0FaKAFu+bmw/6+R/6C1aV3p8N/avbzrujcYYZxmsu/ljhlspJXVEW5BLMcAfK1 +aSa5pQ638H/fYoA5pvhfoJl3+TMBnoJ2x/Oug03R7fSLUW9qrLGOgLFv51a/t7R8f8hC3/77FRPr +elHpfwf99igDPs/+Pi//AOvk/wDoK0U2wljmlvZInV0a5JDKcg/KtFAFyiiigAooooAKKKKAP//Z + +------=_NextPart_01C6F537.9C6307E0 +Content-Location: file:///C:/9143C8D3/ChinaMarkerDocs_files/filelist.xml +Content-Transfer-Encoding: quoted-printable +Content-Type: text/xml; charset="utf-8" + + + + + + + + + + + + + + + + + + + + + + + +------=_NextPart_01C6F537.9C6307E0-- diff --git a/2009-x64/AnimationScripts/icons/T_GIJoe_icon.bmp b/2009-x64/AnimationScripts/icons/T_GIJoe_icon.bmp new file mode 100644 index 0000000..033e568 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_GIJoe_icon.bmp differ diff --git a/2009-x64/AnimationScripts/icons/T_Tangent.BMP b/2009-x64/AnimationScripts/icons/T_Tangent.BMP new file mode 100644 index 0000000..688db57 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_Tangent.BMP differ diff --git a/2009-x64/AnimationScripts/icons/T_autoTangnt.bmp b/2009-x64/AnimationScripts/icons/T_autoTangnt.bmp new file mode 100644 index 0000000..2217982 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_autoTangnt.bmp differ diff --git a/2009-x64/AnimationScripts/icons/T_autoTangnt.bmp.bak b/2009-x64/AnimationScripts/icons/T_autoTangnt.bmp.bak new file mode 100644 index 0000000..2217982 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_autoTangnt.bmp.bak differ diff --git a/2009-x64/AnimationScripts/icons/T_cMotion.BMP b/2009-x64/AnimationScripts/icons/T_cMotion.BMP new file mode 100644 index 0000000..f1dac7e Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_cMotion.BMP differ diff --git a/2009-x64/AnimationScripts/icons/T_cMotion.BMP.bak b/2009-x64/AnimationScripts/icons/T_cMotion.BMP.bak new file mode 100644 index 0000000..f1dac7e Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_cMotion.BMP.bak differ diff --git a/2009-x64/AnimationScripts/icons/T_icon2shelf.BMP b/2009-x64/AnimationScripts/icons/T_icon2shelf.BMP new file mode 100644 index 0000000..8d5c5f8 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_icon2shelf.BMP differ diff --git a/2009-x64/AnimationScripts/icons/T_poseLib.BMP b/2009-x64/AnimationScripts/icons/T_poseLib.BMP new file mode 100644 index 0000000..cdbe821 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_poseLib.BMP differ diff --git a/2009-x64/AnimationScripts/icons/T_toggleXRay.bmp b/2009-x64/AnimationScripts/icons/T_toggleXRay.bmp new file mode 100644 index 0000000..f59f50e Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_toggleXRay.bmp differ diff --git a/2009-x64/AnimationScripts/icons/T_tweenMachine.xpm b/2009-x64/AnimationScripts/icons/T_tweenMachine.xpm new file mode 100644 index 0000000..39c3c7f --- /dev/null +++ b/2009-x64/AnimationScripts/icons/T_tweenMachine.xpm @@ -0,0 +1,73 @@ +/* XPM */ +static char *tweenMachine[] = { +/* width height ncolors chars_per_pixel */ +"32 32 35 2", +/* colors */ +"AA c #FFFFEFEFC6C6", +"BA c #FFFFEFEFBDBD", +"CA c #EFEFE7E7B5B5", +"DA c #EFEFDEDEB5B5", +"EA c #EFEFDEDEADAD", +"FA c #DEDED6D6ADAD", +"GA c #DEDECECEADAD", +"HA c #DEDECECE9C9C", +"IA c #D6D6BDBD9494", +"JA c #CECEC6C69C9C", +"KA c #CECEBDBD9C9C", +"LA c #C6C6B5B58C8C", +"MA c #BDBDB5B58C8C", +"NA c #BDBDADAD8C8C", +"OA c #B5B5A5A57B7B", +"PA c #ADADA5A58484", +"AB c #ADADA5A57B7B", +"BB c #ADAD9C9C8484", +"CB c #ADAD9C9C7B7B", +"DB c #9C9C94947B7B", +"EB c #9C9C94946B6B", +"FB c #9C9C8C8C7373", +"GB c #9C9C8C8C6B6B", +"HB c #8C8C84846B6B", +"IB c #8C8C7B7B6363", +"JB c #8C8C7B7B5A5A", +"KB c #7B7B73735252", +"LB c #7B7B6B6B5252", +"MB c #73736B6B4A4A", +"NB c #6B6B63634A4A", +"OB c #6B6B5A5A4242", +"PB c #63635A5A3939", +"AC c #5A5A52523939", +"BC c #5A5A4A4A3131", +"CC c #4A4A42423131", +/* pixels */ +"GBABLAHBOBCCKBCBHBCBKAHBJBHBGBCBGBGBGBGBDBNAJABADACADACABADADABA", +"IBHBGBBCMBPBDBEAOAJAHANAJBGBGBGBDBGBGBIBCBBABADABADABADADABACADA", +"MAACACCBHBIBGAEAKALAHALAFBEBCBNADBCBCBHBCBJAKAIAGAGAJAGAHAGADAGA", +"KANAKAKAGBABGAHAHAKAKAMAEBDBCBCBCBCBEBEBCBGBCBNAJAEAGAEAFADADAEA", +"KALABANAKBLBABDAKALAEANALBHBEBDBGBGBGBGBDBGBHBGBLABADADACADADADA", +"KACBMACBLBMBNBKAJBPAJAGBLBEBGBGBDBGBCBGBGBGBGBEBGADADACADADADACA", +"OADBJBKBNBNBJBOBIBCBNAACKBGBGBGBGBFBCBHBLADAEADAEADADADACADACADA", +"CBDBJBOBACNBCCCCJBMAJBNBHBHBGBGBCBCBDBJBGABADADADADACADABACADADA", +"GBHBHBKBOBACACNBLBOBKBHBJBGBGBHBGBCBCBCBLAEADADADADACADADABADADA", +"EBNBNBOBLBKBOBACACNBIBGBCBDBCBGBCBEBGBEBDBNADACACADADABADADADABA", +"CBGBKBNBNBJBOBNBKBDBEBDBCBCBEBCBHBCBHBGBCBCBCBCADADADAGACADADADA", +"CBABCBCBCBDBEBCBCBEBCBCBGBPAOAGBCBGBHAJADBGBKABADADADADADABADACA", +"GBCBCBABABCBDBCBCBDBCBGBGBGBCBPACBLABAEACAEACADADADADADADADACABA", +"DBCBABCBCBDBCBCBGBGBEBDBEBGBGBCBCBKAGABACADADADACACACADACADADADA", +"CBGBCBCBCBNAGBCBEBGBGBGBGBDBGBGBGBEBKADADACADACAAADADAAADACAAADA", +"CBCBDBGBEBCBDBCBCBDBGBGBGBGBKAABHBCBKAFABADADADADABADACADAAADABA", +"EBCBCBGBCBCBGBGBCBGBHBGBABIABADALANALAKADACABADADADAAADAAADADADA", +"CBCBGBGBEBCBHBCBHBGBJBGBCBKACACACAEADAEAMADADADADAAADACADADACACA", +"DBGBCBNAPACBEBGBJACACBIBGBNADADADADACACADAGAEADADADACADACADAAADA", +"OAGBJABAEACBCBEBGABAHAHBCBBBDABACADADABADAEAKADACADAAADAAADADABA", +"KAMABADAJAABABFBEADAAAKANAEACADADAAADADABADADAPAGABADAAADABADADA", +"NADADADAEANACBCBDACADACABADAAACAAADADABADAAACADAJAGABADAAADACABA", +"BADACABAGAGAGAEADABADABADACADADACAAACADAAADABADABAKAGABADAAADAAA", +"CADABADANAGABADADADACADADABADAAADADADAAADADADABADABAMAKABADAAADA", +"BACADAKADBEADACADADADAAADADACADACADACADABADADADACADABAJAGABADAGA", +"DADAKAFBGBDBDBKABAPADBDAGABBDAKAFBBBDADANAFBDBGAGAFBBBFBPADAFAFA", +"BADACAKAFBFAKAPADABBCBDAKAPAGADBDAKABBGADBCAKACBGAFBGAFAFBKAGABA", +"DABADAJADBGAEADBGAPAKAKADBGAKAFBDBFBHBKADBFBFBFBGAFBBACAIBKABABA", +"BADAAAKADBEACABBPAGAJAPADBBAJADBDACADAKADBCACADAJADBCAGAHBGADADA", +"DAAABAFAGBDBDAKAFBEACAFBNADACAKAHBFBKACAKAFBFBKAFAHBGAEAHBGACABA", +"BADADABAGAGABADACAAADACADABABADACACADACADACACACADAGAFABACACADADA", +"DAAACADAGAHACADABADABACADAAADACADAAADABACADACAGAGADABADADACADABA"}; diff --git a/2009-x64/AnimationScripts/icons/T_zoomerate.bmp b/2009-x64/AnimationScripts/icons/T_zoomerate.bmp new file mode 100644 index 0000000..68c5f69 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/T_zoomerate.bmp differ diff --git a/2009-x64/AnimationScripts/icons/chinaMarker.xpm b/2009-x64/AnimationScripts/icons/chinaMarker.xpm new file mode 100644 index 0000000..2a3bedf --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarker.xpm @@ -0,0 +1,269 @@ +/* XPM */ +static char * spGreasePencil_drawTool_xpm[] = { +"30 30 236 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #848484", +"$ c #858585", +"% c #868686", +"& c #C8C8C8", +"* c #D1D1D1", +"= c #D2D2D2", +"- c #D3D3D3", +"; c #D4D4D4", +"> c #D5D5D5", +", c #D6D6D6", +"' c #D7D7D7", +") c #D8D8D8", +"! c #E8E8E8", +"~ c #E9E9E9", +"{ c #EAEAEA", +"] c #EBEBEB", +"^ c #ECECEC", +"/ c #EDEDED", +"( c #EEEEEE", +"_ c #EFEFEF", +": c #B8B8B8", +"< c #D8D8D7", +"[ c #D9D9D9", +"} c #D9DADA", +"| c #DADADA", +"1 c #DBDBDB", +"2 c #DBDCDB", +"3 c #DCDCDC", +"4 c #DDDDDE", +"5 c #DFDFE0", +"6 c #E1E2E2", +"7 c #E4E4E4", +"8 c #E5E5E5", +"9 c #E1E1E1", +"0 c #DADAD9", +"a c #B9B9B9", +"b c #B9B8B8", +"c c #DBDADA", +"d c #DDDDDD", +"e c #DDDEDD", +"f c #DEDEDD", +"g c #E0E0E0", +"h c #E2E2E2", +"i c #C5C5C5", +"j c #7E7E7E", +"k c #777777", +"l c #B3B3B3", +"m c #E9E8E8", +"n c #E8E7E7", +"o c #E2E1E1", +"p c #BABABA", +"q c #DCDBDB", +"r c #DDDCDC", +"s c #DEDEDE", +"t c #DFDEDE", +"u c #DFE0E0", +"v c #E3E3E3", +"w c #E6E6E6", +"x c #CDCDCD", +"y c #525252", +"z c #939393", +"A c #BDBDBD", +"B c #A6A6A6", +"C c #5E5E5E", +"D c #616161", +"E c #CACACA", +"F c #DDDCDD", +"G c #DEDEDF", +"H c #DFDFDF", +"I c #DFE0DF", +"J c #E0E0DF", +"K c #8A8A8A", +"L c #515150", +"M c #686868", +"N c #989898", +"O c #585858", +"P c #DCDDDD", +"Q c #BFBFBF", +"R c #E2E2E3", +"S c #535353", +"T c #4E4E4E", +"U c #3A3A3A", +"V c #313131", +"W c #434343", +"X c #767676", +"Y c #C3C3C3", +"Z c #7A7A7A", +"` c #9D9D9D", +" . c #C2C2C1", +".. c #E1E1E0", +"+. c #E3E3E4", +"@. c #EDEEED", +"#. c #747474", +"$. c #727272", +"%. c #CECECE", +"&. c #969696", +"*. c #555555", +"=. c #303030", +"-. c #353535", +";. c #9E9E9E", +">. c #959595", +",. c #E7E7E7", +"'. c #C2C2C2", +"). c #E6E5E5", +"!. c #F0F0F0", +"~. c #8B8B8B", +"{. c #5A5A5A", +"]. c #424242", +"^. c #404040", +"/. c #D0D0D0", +"(. c #575757", +"_. c #BBBBBB", +":. c #E1E0E0", +"<. c #9F9F9F", +"[. c #CFCFCF", +"}. c #A1A1A1", +"|. c #505050", +"1. c #515151", +"2. c #C1C1C1", +"3. c #E3E3E2", +"4. c #E4E5E4", +"5. c #EDECED", +"6. c #F1F1F1", +"7. c #C4C4C4", +"8. c #454545", +"9. c #464646", +"0. c #3E3E3E", +"a. c #EFF0EF", +"b. c #E6E6E7", +"c. c #C0C0C0", +"d. c #BCBCBC", +"e. c #EAE9EA", +"f. c #979797", +"g. c #6E6E6E", +"h. c #BEBFBE", +"i. c #5F5F5F", +"j. c #878787", +"k. c #A4A4A4", +"l. c #EEEFEE", +"m. c #EAEAE9", +"n. c #E6E5E6", +"o. c #BEBEBE", +"p. c #F2F2F2", +"q. c #6B6B6B", +"r. c #4D4D4D", +"s. c #E5E5E6", +"t. c #919191", +"u. c #B2B2B2", +"v. c #4C4C4C", +"w. c #E6E6E5", +"x. c #BDBDBC", +"y. c #EAEBEA", +"z. c #B7B7B7", +"A. c #484848", +"B. c #C9C9C9", +"C. c #A3A3A3", +"D. c #F1F0F0", +"E. c #ABABAB", +"F. c #4F4F4F", +"G. c #F3F3F3", +"H. c #E7E7E8", +"I. c #BFC0C0", +"J. c #474747", +"K. c #9A9A9A", +"L. c #B0B0B0", +"M. c #4D4E4D", +"N. c #F4F4F4", +"O. c #F2F3F3", +"P. c #8E8E8E", +"Q. c #343434", +"R. c #494949", +"S. c #F5F5F5", +"T. c #F5F4F4", +"U. c #F2F3F2", +"V. c #BEBDBE", +"W. c #ECEDED", +"X. c #606060", +"Y. c #3D3D3D", +"Z. c #676767", +"`. c #545454", +" + c #F7F7F7", +".+ c #F6F6F6", +"++ c #F3F4F3", +"@+ c #F3F3F2", +"#+ c #ECEBEB", +"$+ c #808080", +"%+ c #000000", +"&+ c #EEEEEF", +"*+ c #EBEAEA", +"=+ c #EDEDEE", +"-+ c #898989", +";+ c #717171", +">+ c #646464", +",+ c #F9F9F9", +"'+ c #F8F8F7", +")+ c #F4F5F5", +"!+ c #C0C1C0", +"~+ c #939394", +"{+ c #A0A0A0", +"]+ c #565656", +"^+ c #FAFAFA", +"/+ c #F8F8F8", +"(+ c #F7F7F6", +"_+ c #F0EFF0", +":+ c #EDECEC", +"<+ c #F2F2F1", +"[+ c #ADADAD", +"}+ c #6A6A6A", +"|+ c #ACACAC", +"1+ c #D7D7D8", +"2+ c #FBFBFB", +"3+ c #EEEFEF", +"4+ c #ECECEB", +"5+ c #A5A5A5", +"6+ c #C8C8C9", +"7+ c #FCFCFC", +"8+ c #EFF0F0", +"9+ c #F2F2F3", +"0+ c #F5F5F6", +"a+ c #F6F7F6", +"b+ c #F9F8F9", +"c+ c #FDFDFD", +"d+ c #F9FAF9", +"e+ c #ECECED", +"f+ c #FCFBFB", +"g+ c #FAFAFB", +"h+ c #F2F1F2", +"i+ c #EBEBEC", +"j+ c #D5D4D5", +"k+ c #D4D3D3", +"l+ c #D1D1D2", +"m+ c #D0D1D0", +". . . . . . . . . . . . . . . . + @ # $ % % $ # @ + . . . . ", +". & * * * * * * * * * * * * * = - ; > , ' ' , > ; - = * & . ", +". ) ! ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { ] ^ / ( _ _ ( / ^ { ~ ! ) . ", +". : < ) [ } | 1 1 2 3 3 3 4 5 6 7 ! { ^ ^ ^ { ~ 8 9 3 0 a . ", +". b [ | c 1 3 3 d d e f g h 7 ! ] / i j k $ l m ^ n o d p + ", +". a | 1 q r d f s t u 9 v w { / ( x y z A B C D E ^ w g A @ ", +". a 3 F d s G H I J h 7 ! ^ ( = K L M ) v 7 v N O P { v Q # ", +". p d s t H g g 9 R 8 ~ / _ ; S T U V W X Y 9 8 Z ` ^ w .$ ", +". p s H g ..9 h +.w ~ @._ ~ #.$.3 %.&.*.=.-.;.7 >.>./ ,.'.$ ", +". p I g 9 h R 7 ).~ ( !./ ~.{.) h g g d p ].^./.(.A / ,.'.$ ", +". _.:.9 h v 7 w ~ ^ !.!.<.T [.9 g g g g g }.=.|.1.H / ,.2.# ", +". _.h 3.7 4.w ~ 5.!.6.7.8._.h g g g g g g [ 9.0.Y a.^ b.c.@ ", +". d.v 7 8 ,.e./ !.6.) 1.f.h g g g g g g g 9 (.g.( _ ] w h.+ ", +". d.7 8 ,.~ / !.6.7 i.j.h 9 g g g g g g h k.].B 6.l.m.n.o.. ", +". d.).w ~ ^ !.p./ $.q.s 9 g g g g g 9 h i r.$ / 6./ m s.A . ", +". A w ! ] _ p.!.t.{.) 9 g g g g g 9 h u.v.>.^ p.!.^ ~ w.x.. ", +". o.! y.( 6.p.z.A.B.h g g g g g 9 h C.r.u.!.p.6.( ] ~ ,.A . ", +". o.~ ^ D.p./.v.E.h g g g g g 9 v B F.2.G.G.p.!./ ] ~ H.A . ", +". I.{ ( 6.d i.J.^.K.g g g g 9 v L.M.Y N.N.G.6.( / ] ~ ! A . ", +". c.^ !.O.P.{.3 p Q.1 g g g h i R.A S.S.T.U.!.( / ^ { ~ V.. ", +". c.W.6.G.@ X.9 1 Q.Q.Y.Z.l ' `.K.S. +.+++@+!._ ( ^ #+{ o.. ", +". 2./ 6.G.$+%+d g , x o.f.R.*.X !. + +.+G.U.6.!.&+/ ^ *+o.. ", +". 2.=+6.G.-+%+%+x 9 9 s | ;+>+7 +,+'+.+)+G.p.!._ ( ^ ] o.. ", +". !+( 6.N.~+%+%+%+{+$.]+T O [ +^+,+/+(+S.N.p.6._+( :+] o.. ", +". 2.( <+N.[+%+%+%+R.}+~.|+1+/+2+2+^+,+ +.+N.G.6.!.3+/ 4+o.. ", +". 2.( 6.N., z 5+6+w N..+/+^+7+7+7+2+,+/+.+S.G.p.8+_ / ] o.. ", +". c.=+!.9+S.0+.+a+ +b+^+2+7+c+c+7+2+d+/+.+S.G.p.!._ / ^ o.. ", +". c.e+_ 6.G.N..+ +/+,+^+f+7+c+c+7+g+,+/+.+S.G.h+!._ / i+o.. ", +". _././.* * = = - - ; ; j+> > > j+; ; k+- = = l+* m+/.[._.. ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_addButton.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_addButton.xpm new file mode 100644 index 0000000..e0fe948 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_addButton.xpm @@ -0,0 +1,287 @@ +/* XPM */ +static char * spGreasePencil_addButton_xpm[] = { +"30 30 254 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E9E9E9", +"* c #E7E7E7", +"= c #B8B8B8", +"- c #D8D8D7", +"; c #D9D9D9", +"> c #D9DADA", +", c #DADADA", +"' c #DBDBDB", +") c #DADBDA", +"! c #DADADB", +"~ c #D9D9DA", +"{ c #B9B8B8", +"] c #DBDADA", +"^ c #DCDCDC", +"/ c #DCDDDC", +"( c #DCDCDB", +"_ c #DCDBDB", +": c #DAD9D9", +"< c #B9B9B9", +"[ c #DDDCDC", +"} c #DDDDDD", +"| c #DEDEDD", +"1 c #DEDDDD", +"2 c #DDDEDE", +"3 c #D7D7D7", +"4 c #D5D5D5", +"5 c #D4D4D4", +"6 c #D6D6D6", +"7 c #DCDDDD", +"8 c #DBDCDC", +"9 c #DBDBDA", +"0 c #DDDCDD", +"a c #DEDEDE", +"b c #DEDEDF", +"c c #DFDFDF", +"d c #DEDFDE", +"e c #DFDFDE", +"f c #C4C4C4", +"g c #D2D2D2", +"h c #D7D7D6", +"i c #DDDEDD", +"j c #BABABA", +"k c #DFDEDE", +"l c #E0E0E0", +"m c #E0E0E1", +"n c #D7D7D8", +"o c #C1C1C1", +"p c #A4A4A4", +"q c #8D8C8C", +"r c #C0C0C1", +"s c #DFE0DF", +"t c #BABAB9", +"u c #E0E0DF", +"v c #E1E1E1", +"w c #E1E1E2", +"x c #E2E2E2", +"y c #BDBDBD", +"z c #979797", +"A c #6C6C6C", +"B c #878787", +"C c #CCCCCC", +"D c #E3E2E2", +"E c #8D8D8D", +"F c #5D5D5D", +"G c #737373", +"H c #C9C9C9", +"I c #DFDFE0", +"J c #E0DFE0", +"K c #BBBBBB", +"L c #E0DFDF", +"M c #E3E3E3", +"N c #E2E3E3", +"O c #DCDCDD", +"P c #B5B5B5", +"Q c #888888", +"R c #565656", +"S c #6D6D6D", +"T c #C6C6C6", +"U c #D3D3D3", +"V c #DFDEDF", +"W c #E2E2E1", +"X c #E2E3E2", +"Y c #E2E1E2", +"Z c #AFAFAF", +"` c #868686", +" . c #515050", +".. c #646564", +"+. c #C2C2C2", +"@. c #CFCFCF", +"#. c #D3D3D4", +"$. c #BCBCBC", +"%. c #A9A9A9", +"&. c #808080", +"*. c #494949", +"=. c #555555", +"-. c #B1B1B1", +";. c #BEBEBE", +">. c #C0C1C0", +",. c #C7C7C7", +"'. c #BBBCBB", +"). c #CBCBCB", +"!. c #848484", +"~. c #585858", +"{. c #292929", +"]. c #2B2B2B", +"^. c #505050", +"/. c #626262", +"(. c #686768", +"_. c #7C7C7C", +":. c #E1E1E0", +"<. c #CECECE", +"[. c #C5C5C5", +"}. c #7B7B7B", +"|. c #5F5F5F", +"1. c #4A4A4A", +"2. c #2F2F2F", +"3. c #1C1C1C", +"4. c #0C0C0C", +"5. c #0D0D0D", +"6. c #191919", +"7. c #303030", +"8. c #575757", +"9. c #5A5A5A", +"0. c #686868", +"a. c #A9A8A9", +"b. c #E2E1E1", +"c. c #E2E2E3", +"d. c #B7B7B7", +"e. c #838383", +"f. c #636363", +"g. c #4E4E4E", +"h. c #3D3D3D", +"i. c #313131", +"j. c #282828", +"k. c #232323", +"l. c #1B1B1B", +"m. c #171717", +"n. c #484848", +"o. c #6A6A6A", +"p. c #A2A2A2", +"q. c #E4E4E3", +"r. c #BDBDBC", +"s. c #9B9B9C", +"t. c #777777", +"u. c #7E7E7E", +"v. c #797979", +"w. c #747474", +"x. c #989898", +"y. c #8A8A8A", +"z. c #363636", +"A. c #515151", +"B. c #9C9C9C", +"C. c #CACACA", +"D. c #E4E4E4", +"E. c #E6E6E6", +"F. c #D2D2D3", +"G. c #C6C7C6", +"H. c #B6B6B6", +"I. c #828282", +"J. c #434343", +"K. c #9F9F9F", +"L. c #D3D3D2", +"M. c #E6E6E7", +"N. c #BDBEBE", +"O. c #E5E5E5", +"P. c #DDDDDC", +"Q. c #858585", +"R. c #4D4D4D", +"S. c #545454", +"T. c #CDCDCD", +"U. c #EAEAEA", +"V. c #E7E8E8", +"W. c #E3E3E4", +"X. c #939393", +"Y. c #5E5E5E", +"Z. c #535453", +"`. c #9A9A9A", +" + c #E6E5E5", +".+ c #EAEBEA", +"++ c #ECECEC", +"@+ c #EBEBEB", +"#+ c #BEBDBE", +"$+ c #E9EAEA", +"%+ c #ECEBEB", +"&+ c #EDEDED", +"*+ c #EEEEEE", +"=+ c #A6A6A6", +"-+ c #535353", +";+ c #969696", +">+ c #E8E9E8", +",+ c #EDEDEC", +"'+ c #EBEAEA", +")+ c #F0EFF0", +"!+ c #F0F0F0", +"~+ c #F1F1F1", +"{+ c #F2F2F2", +"]+ c #F2F2F3", +"^+ c #BCBDBD", +"/+ c #7F7F7E", +"(+ c #939292", +"_+ c #EEEFEE", +":+ c #EFEFEF", +"<+ c #EDEDEE", +"[+ c #EAEAEB", +"}+ c #F2F1F2", +"|+ c #F3F3F3", +"1+ c #F4F4F4", +"2+ c #F3F3F4", +"3+ c #848383", +"4+ c #BEBFBE", +"5+ c #F0F0F1", +"6+ c #F4F3F4", +"7+ c #F5F5F5", +"8+ c #F6F6F6", +"9+ c #F6F6F5", +"0+ c #EDECEC", +"a+ c #BFBFBF", +"b+ c #ECECED", +"c+ c #EEEEED", +"d+ c #EFF0EF", +"e+ c #F6F5F6", +"f+ c #F7F7F7", +"g+ c #F8F7F8", +"h+ c #EEEFEF", +"i+ c #ECECEB", +"j+ c #F0EFEF", +"k+ c #F5F5F6", +"l+ c #F7F7F8", +"m+ c #F9F9F9", +"n+ c #FAF9F9", +"o+ c #F9F8F9", +"p+ c #EFF0F0", +"q+ c #EFEFF0", +"r+ c #F5F6F5", +"s+ c #FBFBFB", +"t+ c #FAFAFA", +"u+ c #F6F7F6", +"v+ c #FBFAFA", +"w+ c #FCFCFC", +"x+ c #F8F8F9", +"y+ c #F8F8F8", +"z+ c #F1F0F1", +"A+ c #EBEBEC", +"B+ c #D4D3D4", +"C+ c #D3D2D2", +"D+ c #D1D1D2", +"E+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ # # # # # # # # # # # # # # @ @ @ @ @ @ + . ", +". $ % % & & & & % % % % % % * * * % % % % % & & & % % % $ . ", +". = - $ ; > , ' , ) ' ' ' ! ~ > , , ' ' , , ; , ; ; $ - = . ", +". { ; , ] ' ^ ^ ^ ^ / ( ' ; $ $ ; , ' ^ ^ ' ' _ ' ] : ; = . ", +". < , ' _ [ } | } 1 2 ^ , 3 4 5 6 ; ' / } } ^ 7 ^ 8 9 , < . ", +". < ^ 0 } a b c d e a ^ ; @ f < g h , } c a a a i 7 ^ ' < . ", +". j } a k c l l l m e ^ n o p q r 5 ; i c s c a a } ^ ^ t . ", +". j a c c u l v w x l / 3 y z A B C $ } u l v l c a i } j . ", +". j d c l v w x D x v } 6 < E F G H 6 ^ c l l l I J a a j . ", +". K L l v x M N M x v O 6 P Q R S T U ; ' } } V c l l c K . ", +". K v W x X x x Y l a , 5 Z ` ...+.@.#.6 3 ; ' } s l m K . ", +". $.x x v l c a } ' ; 4 # %.&.*.=.-.$.;.;.>.,.U ; } m l '.. ", +". $.x v a ^ , $ 6 g ).f = !.~.{.].^.R /.(.S _.-.4 / :.Y $.. ", +". $.x c ' 4 <.[.P z }.|.1.2.3.4.5.6.7.^.8.9.0.a.6 a b.c.$.. ", +". y x a 3 d.e.f.g.h.i.j.k.l.m.5.3.n.o._.E p.K # ^ l M q.r.. ", +". y x c 5 s.t.u.E v.w.Q x.y.S z.A.B.y f C.g ; } v D.E.E.y . ", +". y D.v 1 F.G.[.C ).).C C H.I.J.R K.C.L.; a v D.E.* % M.y . ", +". N.E.O.M m c a } } P., 4 f Q.R.S.B.T.; l O.% & U.U.% * y . ", +". ;.& % V.E.* * * * * W.a U X.Y.Z.`.# } +.+++++++@+& % #+. ", +". ;.$+@+%+@+++&+*+*+*+@+O.^ =+S -+;+g l >+,+*+*+&+@+'+& ;.. ", +". ;.U.++&+*+)+!+~+{+]+!+@+w ^+/+/.(+4 M U._+!+:+<+++@+'+;.. ", +". ;.[+++&+:+!+}+|+1+1+2+:+% ; P 3+p , * &+!+~+:+:+*+++@+;.. ", +". 4+++&+:+5+{+|+6+7+8+9+|+&+E.! = 4 O.@+:+{+~+!+)+*+0+@+;.. ", +". a+b+c+d+5+{+6+1+e+f+g+f+2+:+& D.% ++!+{+|+{+!+!+h+&+i+;.. ", +". a+&+*+j+~+|+1+k+8+l+m+n+o+8+|+~+~+{+1+1+1+{+~+p+:+&+@+;.. ", +". a+b+*+q+~+]+1+r+8+g+m+s+s+t+m+f+8+u+8+7+1+{+~+!+:+&+++;.. ", +". a+b+*+q+~+{+1+e+8+f+m+v+s+w+s+t+x+y+f+7+1+{+z+!+:+&+A+;.. ", +". K # # @ @ g g U U U U B+5 5 5 B+U U C+g @ @ D+@ E+# @.K . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_delButton.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_delButton.xpm new file mode 100644 index 0000000..683a95b --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_delButton.xpm @@ -0,0 +1,259 @@ +/* XPM */ +static char * spGreasePencil_delButton_xpm[] = { +"30 30 226 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DCDCDC", +") c #DCDCDD", +"! c #DCDDDD", +"~ c #B9B8B8", +"{ c #DBDADA", +"] c #DDDDDD", +"^ c #DDDEDD", +"/ c #DEDEDD", +"( c #DEDEDE", +"_ c #DCDBDB", +": c #DAD9D9", +"< c #B9B9B9", +"[ c #DDDCDC", +"} c #DFDEDE", +"| c #DEDFDF", +"1 c #DFDFDF", +"2 c #E0DFDF", +"3 c #DEDFDE", +"4 c #DBDCDC", +"5 c #DBDBDA", +"6 c #DDDCDD", +"7 c #DEDEDF", +"8 c #DFE0DF", +"9 c #E0E0DF", +"0 c #E0E0E0", +"a c #E1E1E1", +"b c #E1E1E0", +"c c #BABABA", +"d c #E0E0E1", +"e c #E1E1E2", +"f c #E2E1E1", +"g c #E0E1E0", +"h c #BABAB9", +"i c #E2E2E2", +"j c #E2E3E2", +"k c #E3E3E3", +"l c #E3E3E2", +"m c #E3E2E3", +"n c #E2E2E1", +"o c #E3E2E2", +"p c #E0DFE0", +"q c #BBBBBB", +"r c #E1E0E0", +"s c #E2E3E3", +"t c #DFDFE0", +"u c #DFE0E0", +"v c #E3E4E3", +"w c #E4E4E4", +"x c #E2E1E2", +"y c #D8D9D8", +"z c #DFDEDF", +"A c #BCBCBC", +"B c #E5E5E5", +"C c #E4E3E4", +"D c #D5D5D5", +"E c #D0D0D0", +"F c #CECECE", +"G c #CCCCCC", +"H c #CDCDCD", +"I c #CFCECF", +"J c #D2D2D2", +"K c #D6D6D6", +"L c #E2E2E3", +"M c #BBBCBB", +"N c #B6B6B6", +"O c #A5A5A5", +"P c #9C9C9C", +"Q c #969595", +"R c #929292", +"S c #919090", +"T c #949494", +"U c #9B9B9B", +"V c #A6A6A6", +"W c #D4D4D4", +"X c #E4E4E3", +"Y c #E6E5E5", +"Z c #E6E6E6", +"` c #9A9A9A", +" . c #585858", +".. c #414141", +"+. c #363636", +"@. c #383838", +"#. c #393939", +"$. c #3A3A3A", +"%. c #464646", +"&. c #727272", +"*. c #A9A9A9", +"=. c #D7D6D6", +"-. c #E5E4E4", +";. c #E3E3E4", +">. c #BDBDBD", +",. c #E7E7E7", +"'. c #D7D7D7", +"). c #9F9F9F", +"!. c #636363", +"~. c #444444", +"{. c #2E2E2E", +"]. c #252424", +"^. c #1E1E1E", +"/. c #1D1D1D", +"(. c #202020", +"_. c #262626", +":. c #303030", +"<. c #3E3E3E", +"[. c #575757", +"}. c #828282", +"|. c #C5C5C5", +"1. c #E5E5E4", +"2. c #BDBDBC", +"3. c #E7E8E7", +"4. c #E8E8E9", +"5. c #E7E7E8", +"6. c #CACACA", +"7. c #8C8C8C", +"8. c #909090", +"9. c #9D9D9D", +"0. c #A8A8A8", +"a. c #B3B3B3", +"b. c #C7C7C7", +"c. c #D3D3D3", +"d. c #EAE9E9", +"e. c #EAEAEB", +"f. c #E9EAE9", +"g. c #E9E8E9", +"h. c #E6E6E5", +"i. c #DCDCDB", +"j. c #E6E6E7", +"k. c #BDBEBE", +"l. c #EAEAEA", +"m. c #EBEBEC", +"n. c #ECECEC", +"o. c #EBEBEB", +"p. c #E5E4E5", +"q. c #BEBEBE", +"r. c #EBECEC", +"s. c #EEEEEE", +"t. c #EFEFEF", +"u. c #EEEEEF", +"v. c #EDEDED", +"w. c #EDECED", +"x. c #EBEBEA", +"y. c #EBECEB", +"z. c #EDEDEE", +"A. c #EEEDED", +"B. c #BEBDBE", +"C. c #EAEBEB", +"D. c #EDECEC", +"E. c #F0F0F0", +"F. c #F1F1F1", +"G. c #F2F2F2", +"H. c #F3F3F3", +"I. c #F3F3F2", +"J. c #F2F1F1", +"K. c #F0F1F0", +"L. c #F0F0EF", +"M. c #EBEAEA", +"N. c #F0EFF0", +"O. c #F4F4F5", +"P. c #F5F5F5", +"Q. c #F6F6F6", +"R. c #F5F5F6", +"S. c #F5F6F6", +"T. c #F6F6F5", +"U. c #F5F4F4", +"V. c #F5F5F4", +"W. c #F4F4F4", +"X. c #F1F2F1", +"Y. c #F3F2F3", +"Z. c #F6F6F7", +"`. c #F7F7F7", +" + c #F8F8F8", +".+ c #F8F7F7", +"++ c #F3F4F4", +"@+ c #BEBFBE", +"#+ c #F0F0F1", +"$+ c #F5F4F5", +"%+ c #F9F9F8", +"&+ c #F9F9F9", +"*+ c #FAFAFA", +"=+ c #FAFAFB", +"-+ c #F7F7F6", +";+ c #BFBFBF", +">+ c #ECECED", +",+ c #EEEEED", +"'+ c #EFF0EF", +")+ c #F4F3F4", +"!+ c #F7F6F7", +"~+ c #FAF9FA", +"{+ c #FBFBFB", +"]+ c #FBFBFC", +"^+ c #FCFCFC", +"/+ c #EEEFEF", +"(+ c #ECECEB", +"_+ c #F0EFEF", +":+ c #F8F8F9", +"<+ c #FCFBFB", +"[+ c #FDFCFD", +"}+ c #FDFDFD", +"|+ c #EFF0F0", +"1+ c #EFEFF0", +"2+ c #F2F2F3", +"3+ c #F5F6F5", +"4+ c #F9F8F9", +"5+ c #FEFEFE", +"6+ c #F9FAF9", +"7+ c #F6F5F6", +"8+ c #F2F1F2", +"9+ c #D5D4D5", +"0+ c #D4D3D3", +"a+ c #D1D1D2", +"b+ c #D0D1D0", +"c+ c #CFCFCF", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , ' ' ' ) ) ! ' ' ' ' > > ; ; = = # * & . ", +". ~ = ; { > ' ' ] ] ^ / ( ( ( ( ( ( ] ] ] ' ' _ > { : = & . ", +". < ; > _ [ ] / ( } | 1 1 1 1 2 1 1 1 3 ( ( ] ! ' 4 5 ; < . ", +". < ' 6 ] ( 7 1 8 9 0 0 a a a a a b 0 0 0 1 1 ( ^ ! ' > < . ", +". c ] ( } ( 1 1 0 d b a e a e f e a a g 0 8 1 ( 1 ( ] ] h . ", +". c ( 1 1 9 0 a e i i j k k k k l m i i n a a 0 1 ( ^ ( c . ", +". c 8 1 0 a e i o i k i i l l i o i k k i j i a d p ( ( c . ", +". q r 0 a i k s i a 0 t 1 1 1 1 1 u 0 a a i i m i a 0 1 q . ", +". q i n k v w k x ( ' ; : = y = = ; > ] z 0 i k k j a d q . ", +". A k k w B C i ( - D E F G G G H I J K = , 1 a k k L a M . ", +". A w w B B w a , F N O P Q R S T U V < G W > 1 L v X m A . ", +". A Y B Z Z w 0 W ` ...+.@.#.+.@.#.$.%.&.*.=.z k B -.;.A . ", +". >.Z Z ,.,.B a '.).!.~.{.].^./.(._.:.<.[.}.|.1 k Z Z 1.2.. ", +". >.,.3.$ 4.5.1.1 D 6.q O ` R 7.8.9.0.a.b.c.> a B ,.,.Z >.. ", +". >.$ $ d.e.f.g.h.i 1 6 ; =.W c.W '.= i.] 1 i B ,.$ $ j.>.. ", +". k.% % l.m.n.n.o.l.$ ,.p.k a 0 a j w B Z ,.$ % l.l.$ ,.>.. ", +". q.l.l.r.n.s.t.t.t.t.u.v.w.n.x.y.n.n.z.A.v.n.n.n.o.% $ B.. ", +". q.C.o.D.v.t.E.F.G.G.H.I.H.G.G.J.G.G.G.K.L.t.s.v.o.M.% q.. ", +". q.o.v.v.s.N.F.G.H.O.P.Q.R.S.T.P.U.V.W.G.X.E.t.z.n.o.d.q.. ", +". q.m.v.s.E.F.Y.H.W.P.Z.`. + + +.+`.T.P.++G.F.E.t.s.n.o.q.. ", +". @+n.v.t.#+G.H.$+Q.`.%+&+*+=+=+*+&+ +-+P.W.G.F.N.s.D.o.q.. ", +". ;+>+,+'+#+G.)+P.!+ +~+{+]+^+^+{+*+&+`.Q.W.H.F.E./+v.(+q.. ", +". ;+v.s._+F.H.W.R.`.:+*+<+[+}+}+^+{+&+ +Q.P.H.G.|+t.v.o.q.. ", +". ;+>+s.1+F.2+W.3+`.4+*+^+}+5+5+^+{+6+ +Q.P.H.G.E.t.v.n.q.. ", +". ;+>+s.1+F.G.W.7+`. +*+<+^+}+}+^+=+&+ +Q.P.H.8+E.t.v.m.q.. ", +". q E E @ @ J J c.c.W W 9+D D D 9+W W 0+c.J J a+@ b+E c+q . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_down.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_down.xpm new file mode 100644 index 0000000..764a875 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_down.xpm @@ -0,0 +1,300 @@ +/* XPM */ +static char * spGreasePencil_down_xpm[] = { +"30 30 267 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #C8C8C8", +"$ c #D1D1D1", +"% c #D0D0D0", +"& c #CFCFCF", +"* c #D8D8D8", +"= c #E8E8E8", +"- c #E9E9E9", +"; c #E7E7E7", +"> c #E6E6E6", +", c #E3E3E3", +"' c #E1E1E1", +") c #DFDFDF", +"! c #E2E2E2", +"~ c #E4E4E4", +"{ c #B8B8B8", +"] c #D8D8D7", +"^ c #D9D9D9", +"/ c #D9DADA", +"( c #DADADA", +"_ c #DADBDA", +": c #D5D5D5", +"< c #D2D2D3", +"[ c #D0D0D1", +"} c #D4D4D4", +"| c #D7D7D7", +"1 c #DBDBDB", +"2 c #B9B8B8", +"3 c #DBDADA", +"4 c #DCDCDC", +"5 c #D3D3D3", +"6 c #C9C9C9", +"7 c #BCBCBC", +"8 c #C6C6C6", +"9 c #D2D2D2", +"0 c #DCDBDB", +"a c #DAD9D9", +"b c #B9B9B9", +"c c #DDDCDC", +"d c #DDDDDC", +"e c #DDDDDD", +"f c #CBCBCB", +"g c #969696", +"h c #7B7B7B", +"i c #A9A9A9", +"j c #DCDDDC", +"k c #DBDCDC", +"l c #DADBDB", +"m c #DADAD9", +"n c #DCDBDC", +"o c #DDDDDE", +"p c #DEDEDE", +"q c #DEDFDE", +"r c #BEBEBE", +"s c #646464", +"t c #5F5F5F", +"u c #ADADAD", +"v c #BABABA", +"w c #DEDDDD", +"x c #D9D9D8", +"y c #B4B4B4", +"z c #575757", +"A c #D3D3D4", +"B c #BABAB9", +"C c #E0E0E0", +"D c #DFDFE0", +"E c #AEAEAE", +"F c #525252", +"G c #565656", +"H c #C0C0C0", +"I c #D5D5D4", +"J c #DEDEDD", +"K c #DDDEDD", +"L c #E0DFDF", +"M c #CECECE", +"N c #A1A1A1", +"O c #4B4B4B", +"P c #5A5A5A", +"Q c #C3C3C3", +"R c #D6D5D5", +"S c #D7D8D7", +"T c #DADADB", +"U c #DDDCDD", +"V c #BBBBBB", +"W c #CDCDCD", +"X c #949494", +"Y c #464646", +"Z c #5B5B5B", +"` c #C5C5C5", +" . c #D2D1D2", +".. c #D6D7D6", +"+. c #D6D6D6", +"@. c #CCCCCC", +"#. c #898989", +"$. c #414141", +"%. c #5E5F5E", +"&. c #C4C4C4", +"*. c #B0B0B0", +"=. c #B1B1B1", +"-. c #B3B3B3", +";. c #D9DAD9", +">. c #A6A5A6", +",. c #CACACA", +"'. c #D6D7D7", +"). c #7E7E7E", +"!. c #3B3B3B", +"~. c #D1D0D1", +"{. c #6B6B6B", +"]. c #49494A", +"^. c #505050", +"/. c #787878", +"(. c #BBBCBB", +"_. c #ABABAB", +":. c #6A6A6A", +"<. c #545454", +"[. c #777777", +"}. c #C7C8C7", +"|. c #C7C7C7", +"1. c #747474", +"2. c #313131", +"3. c #616161", +"4. c #656565", +"5. c #343434", +"6. c #4A4A4A", +"7. c #535353", +"8. c #CBCBCC", +"9. c #DFDFDE", +"0. c #727272", +"a. c #696969", +"b. c #6F6F6F", +"c. c #262626", +"d. c #636363", +"e. c #BFBFBF", +"f. c #2C2C2C", +"g. c #474747", +"h. c #373737", +"i. c #454545", +"j. c #A8A8A8", +"k. c #E1E0E0", +"l. c #E2E2E3", +"m. c #BDBDBD", +"n. c #222222", +"o. c #232323", +"p. c #1B1B1B", +"q. c #B6B6B6", +"r. c #2A2A2A", +"s. c #303030", +"t. c #404040", +"u. c #E4E4E3", +"v. c #BDBDBC", +"w. c #DFE0DF", +"x. c #767676", +"y. c #181818", +"z. c #1A1A1A", +"A. c #6E6E6E", +"B. c #707070", +"C. c #141414", +"D. c #717171", +"E. c #2F2F2F", +"F. c #242424", +"G. c #353535", +"H. c #E5E5E5", +"I. c #A9AAA9", +"J. c #6C6B6C", +"K. c #121212", +"L. c #171717", +"M. c #686868", +"N. c #111111", +"O. c #5C5C5C", +"P. c #1F1F1F", +"Q. c #2E2E2E", +"R. c #434343", +"S. c #E6E6E7", +"T. c #BDBEBE", +"U. c #DBDBDC", +"V. c #B5B5B5", +"W. c #757575", +"X. c #131313", +"Y. c #1D1D1D", +"Z. c #444444", +"`. c #0B0B0B", +" + c #3F3F3F", +".+ c #E6E7E7", +"++ c #858585", +"@+ c #2B2B2B", +"#+ c #060606", +"$+ c #3E3E3E", +"%+ c #C1C1C2", +"&+ c #E1E2E1", +"*+ c #EAEAEA", +"=+ c #EBEBEB", +"-+ c #BEBDBE", +";+ c #E9EAEA", +">+ c #EAE9E9", +",+ c #959595", +"'+ c #222221", +")+ c #3C3C3C", +"!+ c #494949", +"~+ c #4F4F4F", +"{+ c #E0E1E0", +"]+ c #E8E8E7", +"^+ c #EDEDED", +"/+ c #EBEAEA", +"(+ c #ECECEC", +"_+ c #EBEAEB", +":+ c #939393", +"<+ c #3A3A3A", +"[+ c #2C2C2D", +"}+ c #363636", +"|+ c #666666", +"1+ c #D6D6D5", +"2+ c #ECEDEC", +"3+ c #EEEEEE", +"4+ c #EFEFEF", +"5+ c #EDEDEE", +"6+ c #EAEAEB", +"7+ c #EEEDEE", +"8+ c #989898", +"9+ c #5D5D5D", +"0+ c #AAAAAA", +"a+ c #ECEDED", +"b+ c #F0F0F0", +"c+ c #BEBFBE", +"d+ c #EFEFF0", +"e+ c #F1F1F1", +"f+ c #F0EFF0", +"g+ c #E3E3E2", +"h+ c #B5B5B6", +"i+ c #F2F2F2", +"j+ c #EFEEEF", +"k+ c #EDECEC", +"l+ c #EBEBEC", +"m+ c #EDEDEC", +"n+ c #EEEFEE", +"o+ c #F3F2F3", +"p+ c #F3F3F3", +"q+ c #EDECED", +"r+ c #E4E4E5", +"s+ c #F4F4F4", +"t+ c #EEEFEF", +"u+ c #ECECEB", +"v+ c #EFEEEE", +"w+ c #F4F4F5", +"x+ c #F5F5F5", +"y+ c #F2F1F1", +"z+ c #F6F6F6", +"A+ c #ECECED", +"B+ c #F1F1F2", +"C+ c #F4F5F4", +"D+ c #F7F6F7", +"E+ c #F7F7F7", +"F+ c #F8F8F8", +"G+ c #F7F8F7", +"H+ c #F5F4F5", +"I+ c #F9F9F9", +"J+ c #FAF9F9", +"K+ c #FAFAFA", +"L+ c #FBFBFB", +"M+ c #F9F9FA", +"N+ c #F2F1F2", +"O+ c #D4D3D4", +"P+ c #D3D2D2", +"Q+ c #D1D1D2", +"R+ c #D0D1D0", +". . . . . . . . . . . . + @ @ @ @ + . . . . . . . . . . . . ", +". # $ $ $ $ $ % % % % % % & & & & % % % % % $ $ $ $ $ $ # . ", +". * = = - - - = = = ; > , ' ) ) ! ~ > = = = - - - = = = * . ", +". { ] * ^ / ^ ( ( _ ( * : < [ $ } | ^ 1 ( ( ( ( ^ ^ * ] { . ", +". 2 ^ ( 3 1 1 1 4 1 _ | 5 6 7 8 9 | ^ 1 4 1 4 0 1 3 a ^ { . ", +". b ( 1 0 c 4 d e c / : f g h i & | 1 j e e 4 k 1 l m ^ b . ", +". b 1 n 4 e o p q d ^ } r s t u 9 * 4 p ) p p e j k 1 ( b . ", +". v 4 e w p ) ) ) o x 9 y z z b A ( p q ) p p e e e 4 4 B . ", +". v e p ) ) C C D e * % E F G H I 1 p p J 4 4 4 e e K e v . ", +". v K e p ) D C L e * M N O P Q R 1 e 4 ^ S * * T U e p v . ", +"+ V e 4 1 1 e p p 4 | W X Y Z ` : ^ ^ | 9 $ $ .| 1 e p V . ", +"@ V 4 m | ..* ( 1 ( +.@.#.$.%.&.5 : : &.*.=.7 -.9 ;.e D V . ", +"@ 7 1 | W H >.,.+.'.5 ,.).!.t Q & ~.b {.].^./.).# * o C (.. ", +"@ 7 1 5 _.:.<.[.}.$ & |.1.2.3.H f V 4.2.5.6.7.+ 8.^ 9.' 7 . ", +"@ 7 w * 8 0.5.2.a.` f Q b.c.d.e.V s f.5.g.h.i.j.} 4 k.l.7 . ", +"+ m.C 1 : m.F n.o.:.H H b.p.:.q.b.r.s.i.2.t.. M ( ) , u.v.. ", +". m., w.^ # x.5.y.z.A.b B.C.D.h E.F.G.s.$.h 8 ^ ) , H.> m.. ", +". m.H.! w } I.J.2.K.L.b.M.N.O.!.P.n.Q.R.[.` ( C ~ > ; S.m.. ", +". T.; H.' U.9 V.W.f.X.Y.Z.`.s.F.y.f. +/.8 ( ' H.= - = ; m.. ", +". r - = .+! e +.# ++@+L.Q.#+z.f.5.$+:.%+( &+; *+=+=+- = -+. ", +". r ;+*+>+; H.C ( 9 ,+2.'+N.)+!+~+Z v * {+]+=+^+^+=+/+- r . ", +". r *+(+(+(+_+= , e : :+<+[+}+P |+-.1+C ; 2+3+4+5+(+=+>+r . ", +". r 6+(+^+3+3+7+=+> ) +.8+M.9+[.0++.C = a+4+b+4+3+^+=+=+r . ", +". c+=+(+3+d+e+e+f+^+= g+1 H h+H 4 , - 3+e+i+e+b+j+^+k+=+r . ", +". e.l+m+n+d+e+o+p+i+b+q+= r+, H.= ^+e+i+s+p+i+b+4+t+^+u+r . ", +". e.^+3+v+b+i+p+w+x+w+p+y+f+4+b+i+s+x+z+x+s+i+e+t+4+^+=+r . ", +". e.A+3+d+b+B+p+C+z+D+E+F+E+F+F+F+F+G+E+x+s+i+e+b+4+^+(+r . ", +". e.A+3+d+e+e+p+H+z+E+I+J+K+K+L+K+M+F+E+x+s+i+N+b+4+^+l+r . ", +". V % % $ $ 9 $ 9 9 5 5 O+} } } O+5 5 P+9 $ 9 Q+$ R+% & V . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_downAll.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_downAll.xpm new file mode 100644 index 0000000..f67294b --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_downAll.xpm @@ -0,0 +1,313 @@ +/* XPM */ +static char * spGreasePencil_downAll_xpm[] = { +"30 30 280 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #C8C8C8", +"# c #D1D1D1", +"$ c #D0D0D0", +"% c #CFCFCF", +"& c #D8D8D8", +"* c #E7E7E7", +"= c #E8E8E8", +"- c #E5E5E5", +"; c #E3E3E3", +"> c #E4E4E4", +", c #B8B8B8", +"' c #D7D7D6", +") c #D7D7D7", +"! c #D8D9D9", +"~ c #D9D9D9", +"{ c #DADADA", +"] c #DADBDA", +"^ c #D6D6D6", +"/ c #D5D5D6", +"( c #D6D6D7", +"_ c #DBDBDB", +": c #B9B8B8", +"< c #DAD9D9", +"[ c #DCDCDC", +"} c #D5D5D5", +"| c #DBDADA", +"1 c #D9D8D8", +"2 c #B9B9B9", +"3 c #DBDBDA", +"4 c #DCDBDB", +"5 c #DADBDB", +"6 c #DDDDDD", +"7 c #DBDCDB", +"8 c #D9DADA", +"9 c #DADAD9", +"0 c #DCDBDC", +"a c #D9D9DA", +"b c #D9DAD9", +"c c #DEDEDE", +"d c #DFDFDF", +"e c #DEDEDD", +"f c #DBDCDC", +"g c #BABABA", +"h c #D4D4D4", +"i c #DCDCDB", +"j c #DEDEDF", +"k c #DFDFE0", +"l c #E1E0E0", +"m c #E0E0E1", +"n c #D6D7D6", +"o c #CCCDCC", +"p c #BABAB9", +"q c #D5D5D4", +"r c #CDCDCD", +"s c #B2B2B2", +"t c #CBCBCC", +"u c #DEDFDE", +"v c #E1E1E1", +"w c #E2E2E2", +"x c #DFDEDF", +"y c #C9C9C9", +"z c #9A9A99", +"A c #909090", +"B c #C2C2C2", +"C c #DDDEDD", +"D c #DCDDDC", +"E c #9B9B9B", +"F c #6F6F6F", +"G c #A0A0A0", +"H c #E5E5E4", +"I c #E3E2E2", +"J c #A9A9A9", +"K c #5B5B5B", +"L c #565756", +"M c #DBDBDC", +"N c #DEDDDE", +"O c #BBBBBB", +"P c #D3D3D3", +"Q c #BEBEBE", +"R c #676767", +"S c #414141", +"T c #7F7F7F", +"U c #E6E6E6", +"V c #939393", +"W c #474747", +"X c #464646", +"Y c #8A8A8A", +"Z c #E0E0E0", +"` c #838383", +" . c #D8D8D7", +".. c #B3B4B3", +"+. c #272727", +"@. c #595959", +"#. c #E5E4E4", +"$. c #E7E7E6", +"%. c #E6E7E6", +"&. c #E7E6E6", +"*. c #E4E5E4", +"=. c #888888", +"-. c #404040", +";. c #3F3F3F", +">. c #878787", +",. c #DFE0DF", +"'. c #848484", +"). c #BCBCBC", +"!. c #B1B1B1", +"~. c #333333", +"{. c #1E1E1E", +"]. c #494949", +"^. c #CACACA", +"/. c #E4E3E4", +"(. c #828383", +"_. c #3C3C3D", +":. c #3C3C3C", +"<. c #BBBCBB", +"[. c #B7B7B7", +"}. c #313131", +"|. c #191919", +"1. c #C3C3C3", +"2. c #E2E1E1", +"3. c #7A7A7A", +"4. c #363636", +"5. c #7B7B7B", +"6. c #E0E0DF", +"7. c #E1E0E1", +"8. c #858585", +"9. c #BFBFBF", +"0. c #151515", +"a. c #B5B5B5", +"b. c #717171", +"c. c #2A2A2A", +"d. c #282828", +"e. c #696969", +"f. c #D0CFD0", +"g. c #868686", +"h. c #BDBDBD", +"i. c #CBCBCB", +"j. c #AEAEAE", +"k. c #0E0E0E", +"l. c #202020", +"m. c #AAAAAA", +"n. c #B3B3B3", +"o. c #C9C8C8", +"p. c #D2D1D1", +"q. c #616161", +"r. c #1C1C1C", +"s. c #4C4C4C", +"t. c #9E9E9E", +"u. c #9A9A9A", +"v. c #D2D2D2", +"w. c #DDDDDC", +"x. c #BDBDBC", +"y. c #999999", +"z. c #5F5F5F", +"A. c #161616", +"B. c #070707", +"C. c #0C0C0C", +"D. c #292929", +"E. c #424242", +"F. c #525252", +"G. c #C0C0C0", +"H. c #C5C5C5", +"I. c #8B8B8B", +"J. c #111111", +"K. c #0F0F0F", +"L. c #242424", +"M. c #383838", +"N. c #707070", +"O. c #9D9D9D", +"P. c #0D0D0D", +"Q. c #030303", +"R. c #060606", +"S. c #171717", +"T. c #5D5D5D", +"U. c #B6B7B7", +"V. c #B0B0B0", +"W. c #4D4D4D", +"X. c #1F1F1F", +"Y. c #141414", +"Z. c #0A0A0A", +"`. c #040404", +" + c #DADADB", +".+ c #1A1A1A", +"++ c #090909", +"@+ c #010101", +"#+ c #0B0B0B", +"$+ c #393939", +"%+ c #919191", +"&+ c #C4C4C4", +"*+ c #1B1B1B", +"=+ c #020202", +"-+ c #080808", +";+ c #727272", +">+ c #444545", +",+ c #121212", +"'+ c #2C2C2C", +")+ c #8D8D8D", +"!+ c #969696", +"~+ c #131313", +"{+ c #BEBDBE", +"]+ c #747373", +"^+ c #050505", +"/+ c #222222", +"(+ c #CBCBCA", +"_+ c #777777", +":+ c #1D1D1D", +"<+ c #444444", +"[+ c #DDDCDC", +"}+ c #ADADAD", +"|+ c #454545", +"1+ c #181818", +"2+ c #E2E2E3", +"3+ c #E4E5E5", +"4+ c #E1E1E0", +"5+ c #BDBCBC", +"6+ c #232323", +"7+ c #929292", +"8+ c #CCCCCD", +"9+ c #E6E5E5", +"0+ c #E1E1E2", +"a+ c #2F2F2F", +"b+ c #373737", +"c+ c #EBEBEB", +"d+ c #EDEDED", +"e+ c #EAEAEA", +"f+ c #B8B8B7", +"g+ c #2E2E2E", +"h+ c #5C5C5C", +"i+ c #BEBFBE", +"j+ c #6D6D6D", +"k+ c #4F4F4F", +"l+ c #F1F1F1", +"m+ c #F3F3F4", +"n+ c #F1F1F2", +"o+ c #808080", +"p+ c #6C6C6C", +"q+ c #E8E7E7", +"r+ c #E9E9E9", +"s+ c #E8E8E9", +"t+ c #E6E6E5", +"u+ c #A6A6A6", +"v+ c #E9E8E9", +"w+ c #F5F5F6", +"x+ c #F8F8F8", +"y+ c #F7F7F7", +"z+ c #F3F3F3", +"A+ c #C7C7C7", +"B+ c #E7E8E8", +"C+ c #EBEBEA", +"D+ c #E9E9EA", +"E+ c #F0F0F0", +"F+ c #F6F5F5", +"G+ c #FAF9FA", +"H+ c #FBFBFB", +"I+ c #F4F4F4", +"J+ c #EFEFEF", +"K+ c #EBEBEC", +"L+ c #EBECEB", +"M+ c #EEEEEE", +"N+ c #F5F5F5", +"O+ c #F9F9F9", +"P+ c #FDFDFD", +"Q+ c #FAFAFA", +"R+ c #F4F5F4", +"S+ c #ECECEC", +"T+ c #EDEDEE", +"U+ c #F2F1F2", +"V+ c #FBFAFA", +"W+ c #FCFCFC", +"X+ c #F9F9FA", +"Y+ c #EFEEEF", +"Z+ c #EAEAEB", +"`+ c #D4D3D4", +" @ c #D3D2D2", +".@ c #D0D0D1", +"+@ c #CFD0CF", +"@@ c #CECECE", +". . . . . . . . . . . + + + + + . . . . . . . . . . . . . . ", +". @ # # # # # $ $ $ $ $ % % $ $ $ $ $ $ # # # # # # # # @ . ", +". & * * = = = = = = * - ; ; > - * = = = = = = = = * * * & . ", +". , ' ) & ! ~ { { ] ~ & ^ / ( ! { _ _ _ { { ~ ~ & & ) ' , . ", +". : & ~ < { _ _ [ _ ] & ^ } ^ ~ _ [ [ [ _ { { | { < 1 & , . ", +". 2 ~ { | | _ 3 _ 4 5 ~ ) ) & _ [ 6 6 7 { { ~ 8 { 5 9 ~ 2 . ", +". 2 _ 0 _ { a ~ b 3 [ _ _ _ [ c d e [ { & ) & ~ ] f _ { 2 . ", +". g [ [ | & ^ h ) a i c j c k l m c _ n % o h ) _ [ [ [ p . ", +". g [ _ ~ q r s t ) _ u v w w w v x ~ y z A B ) _ 6 C 6 g . ", +". g D { ^ r E F G $ { d w > H > I c ~ J K L E ^ M N c c g . ", +"+ O [ & P Q R S T r ~ k > U U - > d & V W X Y ^ [ d Z d O . ", +"` O [ .# ..S +.@.r ~ Z #.$.%.&.*.d & =.-.;.>.^ [ ,.Z m O . ", +"'.)._ ^ $ !.~.{.].^.) c /.U U U > x ) (._.:.'.^ _ d m Z <.. ", +"'.).{ } $ [.}.|.-.1.} [ Z 2.w 2.Z [ } 3.4.4.5.P a 6 6.7.).+ ", +"8.).| } % 9.}.0.~.a.# ^ ~ _ _ _ ~ ^ # b.c.d.e.f.} ~ 4 j ).` ", +"g.h.{ h i.j.c.k.l.8.m.n.O o.p.$ @ 2 !.q.l.r.s.t.u.s v.w.x.'.", +">.h.& @ y.z.A.B.C.D.:.E.F.8.G.H.I.@.].+.J.K.L.M.E.N.9._ h.'.", +"=.Q h O.s.D.P.Q.R.P.J.S.+.T.U.V.W.X.Y.Z.`.R.J.A.+.@.G. +h.'.", +"=.Q P I.4..+++@+Q.Z.#+S.$+%+&+).K *+P.R.=+Q.-+J.D.;+% [ h.'.", +">.Q ) m.>+r.#+Q.`.Z.,+'+)+i.# r !+$+~+C.P.Z.#+.+W.a.& d {+` ", +"g.Q 5 ^.]++.P.`.^+P./+R (+~ _ & H._+D.,+Y..+:+<+G P [+w Q + ", +"'.Q c ^ }+|+1+C.#+1+|+!._ 2+3+4+& 5+q.6+Y..+S 7+8+{ v 9+Q + ", +"` Q 0+_ % '.a+r.{.b+T h ; c+d+e+w & f+T.a+g+h+2 & Z - = Q . ", +"+ i+- Z { 1.j+W k++ 1.4+e+l+m+n+c+; { 9.o+p+%+^.N > q+r+Q . ", +". 9.s+t+v _ &+u+n.$ Z v+l+w+x+y+z+d+U d h A+r _ ; B+e+C+Q . ", +". 9.c+r+* > w v w - D+E+F+G+H+H+x+I+J+e+U > ; U B+c+c+e+Q . ", +". 9.K+c+K+e+e+e+L+M+l+N+O+H+P+P+Q+x+R+l+M+S+c+S+S+d+S+c+Q . ", +". 9.K+d+T+M+M+E+U+z+N+x+V+H+W+W+H+X+y+N+z+l+E+Y+M+M+S+Z+Q . ", +". O % % $ $ # # v.v.P P `+h h h `+P P @v.# # .@$ +@% @@O . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_drawTool.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_drawTool.xpm new file mode 100644 index 0000000..2a3bedf --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_drawTool.xpm @@ -0,0 +1,269 @@ +/* XPM */ +static char * spGreasePencil_drawTool_xpm[] = { +"30 30 236 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #848484", +"$ c #858585", +"% c #868686", +"& c #C8C8C8", +"* c #D1D1D1", +"= c #D2D2D2", +"- c #D3D3D3", +"; c #D4D4D4", +"> c #D5D5D5", +", c #D6D6D6", +"' c #D7D7D7", +") c #D8D8D8", +"! c #E8E8E8", +"~ c #E9E9E9", +"{ c #EAEAEA", +"] c #EBEBEB", +"^ c #ECECEC", +"/ c #EDEDED", +"( c #EEEEEE", +"_ c #EFEFEF", +": c #B8B8B8", +"< c #D8D8D7", +"[ c #D9D9D9", +"} c #D9DADA", +"| c #DADADA", +"1 c #DBDBDB", +"2 c #DBDCDB", +"3 c #DCDCDC", +"4 c #DDDDDE", +"5 c #DFDFE0", +"6 c #E1E2E2", +"7 c #E4E4E4", +"8 c #E5E5E5", +"9 c #E1E1E1", +"0 c #DADAD9", +"a c #B9B9B9", +"b c #B9B8B8", +"c c #DBDADA", +"d c #DDDDDD", +"e c #DDDEDD", +"f c #DEDEDD", +"g c #E0E0E0", +"h c #E2E2E2", +"i c #C5C5C5", +"j c #7E7E7E", +"k c #777777", +"l c #B3B3B3", +"m c #E9E8E8", +"n c #E8E7E7", +"o c #E2E1E1", +"p c #BABABA", +"q c #DCDBDB", +"r c #DDDCDC", +"s c #DEDEDE", +"t c #DFDEDE", +"u c #DFE0E0", +"v c #E3E3E3", +"w c #E6E6E6", +"x c #CDCDCD", +"y c #525252", +"z c #939393", +"A c #BDBDBD", +"B c #A6A6A6", +"C c #5E5E5E", +"D c #616161", +"E c #CACACA", +"F c #DDDCDD", +"G c #DEDEDF", +"H c #DFDFDF", +"I c #DFE0DF", +"J c #E0E0DF", +"K c #8A8A8A", +"L c #515150", +"M c #686868", +"N c #989898", +"O c #585858", +"P c #DCDDDD", +"Q c #BFBFBF", +"R c #E2E2E3", +"S c #535353", +"T c #4E4E4E", +"U c #3A3A3A", +"V c #313131", +"W c #434343", +"X c #767676", +"Y c #C3C3C3", +"Z c #7A7A7A", +"` c #9D9D9D", +" . c #C2C2C1", +".. c #E1E1E0", +"+. c #E3E3E4", +"@. c #EDEEED", +"#. c #747474", +"$. c #727272", +"%. c #CECECE", +"&. c #969696", +"*. c #555555", +"=. c #303030", +"-. c #353535", +";. c #9E9E9E", +">. c #959595", +",. c #E7E7E7", +"'. c #C2C2C2", +"). c #E6E5E5", +"!. c #F0F0F0", +"~. c #8B8B8B", +"{. c #5A5A5A", +"]. c #424242", +"^. c #404040", +"/. c #D0D0D0", +"(. c #575757", +"_. c #BBBBBB", +":. c #E1E0E0", +"<. c #9F9F9F", +"[. c #CFCFCF", +"}. c #A1A1A1", +"|. c #505050", +"1. c #515151", +"2. c #C1C1C1", +"3. c #E3E3E2", +"4. c #E4E5E4", +"5. c #EDECED", +"6. c #F1F1F1", +"7. c #C4C4C4", +"8. c #454545", +"9. c #464646", +"0. c #3E3E3E", +"a. c #EFF0EF", +"b. c #E6E6E7", +"c. c #C0C0C0", +"d. c #BCBCBC", +"e. c #EAE9EA", +"f. c #979797", +"g. c #6E6E6E", +"h. c #BEBFBE", +"i. c #5F5F5F", +"j. c #878787", +"k. c #A4A4A4", +"l. c #EEEFEE", +"m. c #EAEAE9", +"n. c #E6E5E6", +"o. c #BEBEBE", +"p. c #F2F2F2", +"q. c #6B6B6B", +"r. c #4D4D4D", +"s. c #E5E5E6", +"t. c #919191", +"u. c #B2B2B2", +"v. c #4C4C4C", +"w. c #E6E6E5", +"x. c #BDBDBC", +"y. c #EAEBEA", +"z. c #B7B7B7", +"A. c #484848", +"B. c #C9C9C9", +"C. c #A3A3A3", +"D. c #F1F0F0", +"E. c #ABABAB", +"F. c #4F4F4F", +"G. c #F3F3F3", +"H. c #E7E7E8", +"I. c #BFC0C0", +"J. c #474747", +"K. c #9A9A9A", +"L. c #B0B0B0", +"M. c #4D4E4D", +"N. c #F4F4F4", +"O. c #F2F3F3", +"P. c #8E8E8E", +"Q. c #343434", +"R. c #494949", +"S. c #F5F5F5", +"T. c #F5F4F4", +"U. c #F2F3F2", +"V. c #BEBDBE", +"W. c #ECEDED", +"X. c #606060", +"Y. c #3D3D3D", +"Z. c #676767", +"`. c #545454", +" + c #F7F7F7", +".+ c #F6F6F6", +"++ c #F3F4F3", +"@+ c #F3F3F2", +"#+ c #ECEBEB", +"$+ c #808080", +"%+ c #000000", +"&+ c #EEEEEF", +"*+ c #EBEAEA", +"=+ c #EDEDEE", +"-+ c #898989", +";+ c #717171", +">+ c #646464", +",+ c #F9F9F9", +"'+ c #F8F8F7", +")+ c #F4F5F5", +"!+ c #C0C1C0", +"~+ c #939394", +"{+ c #A0A0A0", +"]+ c #565656", +"^+ c #FAFAFA", +"/+ c #F8F8F8", +"(+ c #F7F7F6", +"_+ c #F0EFF0", +":+ c #EDECEC", +"<+ c #F2F2F1", +"[+ c #ADADAD", +"}+ c #6A6A6A", +"|+ c #ACACAC", +"1+ c #D7D7D8", +"2+ c #FBFBFB", +"3+ c #EEEFEF", +"4+ c #ECECEB", +"5+ c #A5A5A5", +"6+ c #C8C8C9", +"7+ c #FCFCFC", +"8+ c #EFF0F0", +"9+ c #F2F2F3", +"0+ c #F5F5F6", +"a+ c #F6F7F6", +"b+ c #F9F8F9", +"c+ c #FDFDFD", +"d+ c #F9FAF9", +"e+ c #ECECED", +"f+ c #FCFBFB", +"g+ c #FAFAFB", +"h+ c #F2F1F2", +"i+ c #EBEBEC", +"j+ c #D5D4D5", +"k+ c #D4D3D3", +"l+ c #D1D1D2", +"m+ c #D0D1D0", +". . . . . . . . . . . . . . . . + @ # $ % % $ # @ + . . . . ", +". & * * * * * * * * * * * * * = - ; > , ' ' , > ; - = * & . ", +". ) ! ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { ] ^ / ( _ _ ( / ^ { ~ ! ) . ", +". : < ) [ } | 1 1 2 3 3 3 4 5 6 7 ! { ^ ^ ^ { ~ 8 9 3 0 a . ", +". b [ | c 1 3 3 d d e f g h 7 ! ] / i j k $ l m ^ n o d p + ", +". a | 1 q r d f s t u 9 v w { / ( x y z A B C D E ^ w g A @ ", +". a 3 F d s G H I J h 7 ! ^ ( = K L M ) v 7 v N O P { v Q # ", +". p d s t H g g 9 R 8 ~ / _ ; S T U V W X Y 9 8 Z ` ^ w .$ ", +". p s H g ..9 h +.w ~ @._ ~ #.$.3 %.&.*.=.-.;.7 >.>./ ,.'.$ ", +". p I g 9 h R 7 ).~ ( !./ ~.{.) h g g d p ].^./.(.A / ,.'.$ ", +". _.:.9 h v 7 w ~ ^ !.!.<.T [.9 g g g g g }.=.|.1.H / ,.2.# ", +". _.h 3.7 4.w ~ 5.!.6.7.8._.h g g g g g g [ 9.0.Y a.^ b.c.@ ", +". d.v 7 8 ,.e./ !.6.) 1.f.h g g g g g g g 9 (.g.( _ ] w h.+ ", +". d.7 8 ,.~ / !.6.7 i.j.h 9 g g g g g g h k.].B 6.l.m.n.o.. ", +". d.).w ~ ^ !.p./ $.q.s 9 g g g g g 9 h i r.$ / 6./ m s.A . ", +". A w ! ] _ p.!.t.{.) 9 g g g g g 9 h u.v.>.^ p.!.^ ~ w.x.. ", +". o.! y.( 6.p.z.A.B.h g g g g g 9 h C.r.u.!.p.6.( ] ~ ,.A . ", +". o.~ ^ D.p./.v.E.h g g g g g 9 v B F.2.G.G.p.!./ ] ~ H.A . ", +". I.{ ( 6.d i.J.^.K.g g g g 9 v L.M.Y N.N.G.6.( / ] ~ ! A . ", +". c.^ !.O.P.{.3 p Q.1 g g g h i R.A S.S.T.U.!.( / ^ { ~ V.. ", +". c.W.6.G.@ X.9 1 Q.Q.Y.Z.l ' `.K.S. +.+++@+!._ ( ^ #+{ o.. ", +". 2./ 6.G.$+%+d g , x o.f.R.*.X !. + +.+G.U.6.!.&+/ ^ *+o.. ", +". 2.=+6.G.-+%+%+x 9 9 s | ;+>+7 +,+'+.+)+G.p.!._ ( ^ ] o.. ", +". !+( 6.N.~+%+%+%+{+$.]+T O [ +^+,+/+(+S.N.p.6._+( :+] o.. ", +". 2.( <+N.[+%+%+%+R.}+~.|+1+/+2+2+^+,+ +.+N.G.6.!.3+/ 4+o.. ", +". 2.( 6.N., z 5+6+w N..+/+^+7+7+7+2+,+/+.+S.G.p.8+_ / ] o.. ", +". c.=+!.9+S.0+.+a+ +b+^+2+7+c+c+7+2+d+/+.+S.G.p.!._ / ^ o.. ", +". c.e+_ 6.G.N..+ +/+,+^+f+7+c+c+7+g+,+/+.+S.G.h+!._ / i+o.. ", +". _././.* * = = - - ; ; j+> > > j+; ; k+- = = l+* m+/.[._.. ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPostOff.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPostOff.xpm new file mode 100644 index 0000000..4feb430 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPostOff.xpm @@ -0,0 +1,278 @@ +/* XPM */ +static char * spGreasePencil_ghostPostOff_xpm[] = { +"30 30 245 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #848484", +"# c #858585", +"$ c #868686", +"% c #838383", +"& c #C7C7C7", +"* c #D0D0D0", +"= c #D1D1D1", +"- c #CFCFCF", +"; c #CECECE", +"> c #D6D6D6", +", c #E3E3E3", +"' c #E5E5E5", +") c #E6E6E6", +"! c #E7E7E7", +"~ c #E8E8E8", +"{ c #E9E9E9", +"] c #DFDFDF", +"^ c #DCDCDC", +"/ c #DBDBDB", +"( c #DEDEDE", +"_ c #D4D4D4", +": c #878787", +"< c #B9B9B9", +"[ c #D2D2D1", +"} c #D2D2D2", +"| c #D5D6D6", +"1 c #D8D8D8", +"2 c #DADADA", +"3 c #DADBDA", +"4 c #DCDCDD", +"5 c #DBDCDC", +"6 c #D3D3D3", +"7 c #CCCCCC", +"8 c #C1C1C1", +"9 c #C8C8C7", +"0 c #8C8C8C", +"a c #BBBABA", +"b c #C6C6C6", +"c c #CDCDCD", +"d c #D2D1D1", +"e c #D7D7D7", +"f c #D9D9D9", +"g c #DCDDDC", +"h c #DDDDDC", +"i c #DDDDDD", +"j c #D1D0D0", +"k c #C9C9C9", +"l c #AEAEAE", +"m c #A8A7A7", +"n c #C4C4C4", +"o c #BABABA", +"p c #8F8F8F", +"q c #BBBBBB", +"r c #D5D5D5", +"s c #D9D9D8", +"t c #DDDCDC", +"u c #DDDEDE", +"v c #DFDEDE", +"w c #DBDCDB", +"x c #C8C8C8", +"y c #AAAAAA", +"z c #A4A4A4", +"A c #C6C6C5", +"B c #9B9A9B", +"C c #BEBEBE", +"D c #D9DAD9", +"E c #E0E0E0", +"F c #DFDFDE", +"G c #A6A6A6", +"H c #A0A0A0", +"I c #C4C5C5", +"J c #8D8D8D", +"K c #BCBCBC", +"L c #CBCBCB", +"M c #939393", +"N c #B2B2B2", +"O c #DADADB", +"P c #DFDFE0", +"Q c #E0E0E1", +"R c #E1E0E0", +"S c #CACACA", +"T c #9F9F9F", +"U c #BABAB9", +"V c #898989", +"W c #8B8B8B", +"X c #DCDBDC", +"Y c #CBCBCA", +"Z c #A7A7A7", +"` c #9D9D9D", +" . c #C5C5C5", +".. c #B1B1B1", +"+. c #979797", +"@. c #DBDBDA", +"#. c #DCDCDB", +"$. c #969696", +"%. c #C2C2C2", +"&. c #D7D7D8", +"*. c #DBDADB", +"=. c #B7B7B7", +"-. c #9B9B9B", +";. c #8A8A8A", +">. c #D1D2D1", +",. c #666666", +"'. c #7B7B7B", +"). c #A5A5A5", +"!. c #BDBCBC", +"~. c #CBCCCB", +"{. c #CAC9C9", +"]. c #797979", +"^. c #AFAFAF", +"/. c #DFE0DF", +"(. c #B3B3B3", +"_. c #919191", +":. c #737373", +"<. c #525252", +"[. c #606060", +"}. c #A1A1A1", +"|. c #757475", +"1. c #686868", +"2. c #939494", +"3. c #AEAEAF", +"4. c #BBBCBB", +"5. c #E1E1E1", +"6. c #B8B8B8", +"7. c #959595", +"8. c #5E5E5E", +"9. c #505050", +"0. c #6D6D6D", +"a. c #787878", +"b. c #707070", +"c. c #5D5D5D", +"d. c #646464", +"e. c #909090", +"f. c #A9A9A9", +"g. c #ADADAD", +"h. c #D6D6D7", +"i. c #E0E0DF", +"j. c #E2E1E1", +"k. c #A8A8A8", +"l. c #767676", +"m. c #454545", +"n. c #464646", +"o. c #414141", +"p. c #4F4F4F", +"q. c #9A9A9A", +"r. c #BDBDBD", +"s. c #B6B6B6", +"t. c #DEDDDD", +"u. c #999999", +"v. c #ABABAB", +"w. c #B5B5B5", +"x. c #232323", +"y. c #3B3B3B", +"z. c #6F6F6F", +"A. c #ACACAC", +"B. c #C3C3C3", +"C. c #BDBDBC", +"D. c #B9B9BA", +"E. c #949494", +"F. c #B0B0B0", +"G. c #A2A2A2", +"H. c #535353", +"I. c #4C4C4C", +"J. c #E2E2E2", +"K. c #A3A3A3", +"L. c #6A6A6A", +"M. c #4A4A4A", +"N. c #4D4D4D", +"O. c #BFBFBF", +"P. c #BDBEBE", +"Q. c #989898", +"R. c #5A5A5A", +"S. c #808080", +"T. c #717171", +"U. c #585858", +"V. c #E4E4E4", +"W. c #D6D7D7", +"X. c #7C7C7C", +"Y. c #555555", +"Z. c #595959", +"`. c #7D7D7D", +" + c #777777", +".+ c #565656", +"++ c #9C9C9C", +"@+ c #BEBDBE", +"#+ c #E3E4E4", +"$+ c #7F7F7F", +"%+ c #7E7E7E", +"&+ c #575757", +"*+ c #B9B9B8", +"=+ c #B4B4B4", +"-+ c #DBDBDC", +";+ c #D5D4D4", +">+ c #E3E3E4", +",+ c #848384", +"'+ c #7E7E7F", +")+ c #D5D4D5", +"!+ c #E5E4E5", +"~+ c #EDECED", +"{+ c #EFEFEF", +"]+ c #EFEFF0", +"^+ c #F0F0F0", +"/+ c #EEEEEE", +"(+ c #EDEDED", +"_+ c #EBEBEB", +":+ c #969797", +"<+ c #A3A3A2", +"[+ c #747474", +"}+ c #727272", +"|+ c #8A8989", +"1+ c #E6E6E7", +"2+ c #F1F1F2", +"3+ c #F4F4F4", +"4+ c #F7F6F6", +"5+ c #F8F7F8", +"6+ c #F8F8F8", +"7+ c #F7F7F7", +"8+ c #F6F6F6", +"9+ c #F3F3F3", +"0+ c #ECECEC", +"a+ c #9E9E9E", +"b+ c #CACACB", +"c+ c #DEDEDF", +"d+ c #ECEDEC", +"e+ c #F2F2F2", +"f+ c #F6F5F6", +"g+ c #FAFAFA", +"h+ c #FBFBFB", +"i+ c #FCFCFC", +"j+ c #F9F9F9", +"k+ c #F7F8F7", +"l+ c #F1F1F1", +"m+ c #757575", +"n+ c #D3D3D4", +"o+ c #F2F1F2", +"p+ c #F5F5F5", +"q+ c #FBFAFA", +"r+ c #F9F9FA", +"s+ c #D4D3D4", +"t+ c #D3D2D2", +"u+ c #D0D0D1", +"v+ c #888888", +". . . . . . . . . . . . . . . . . . . . . . . + @ # $ # % + ", +"+ & * * * * * * * * * = = = = = = * * * * * * - - ; ; ; & @ ", +"@ > , , ' ) ! ~ ~ ~ ~ ~ { { { { ~ ~ ~ ~ ~ ! ' , ] ^ / ( _ $ ", +": < [ } _ | 1 2 2 3 / / / 4 4 5 / / / / 2 1 > 6 * 7 8 9 < : ", +"0 a b c d _ e f ^ ^ g h i i i i i i ^ ^ 2 e _ j k l m n o : ", +"p o l q c = r s / t u ( ( ( ( v ( ( i w f > } x y z A = o $ ", +"p q < B C c } > D ^ ( ( E E E E E F i / e 6 k G H I = _ o @ ", +"J K L y M N k } e O h ( P E Q R Q ( ^ 1 _ S G T b } r 1 U + ", +"V q } S y W z n } > f w ( ] E E ( X 1 _ Y Z ` .6 e D / o . ", +"# q e 6 c ..J +.q ; 6 > f @.#./ 2 e 6 k z $.%.6 &.*.^ i o . ", +"% q / e 6 c =.p + G .c = _ r r _ * %.-.;.o * > / ( ] ] q . ", +"+ q ( #.1 >.7 q 0 ,.'.).!.b ~.{.%.l @ ].^.k * e ^ /.E Q q . ", +". K E ( f 6 k (._.:.<.[.# }.z z +.|.1.2.3.o S _ 2 ( Q E 4.. ", +". K 5.( f = 6.7.0 M $ 8.9.0.a.b.c.d.e.f.y g.=.S h.w i.5.K . ", +". K j.( 1 L G e.T g...k.l.m.n.o.p.q.r.q s.l l 6.- 1 t.Q K . ", +". r.5.i > %.u._.v.w.< w.q.p.x.y.z.z q K K C N A.B._ ^ E C.+ ", +"+ r.5.g 6 D.M E.f.l F.G.z.o.H.I.9.. (.6.C n q f.6.* 2 E r.+ ", +"+ r.J.^ d w.E.M K.v.+.L.H.0.7.;.M.N.J r.8 8 O.y (.; 2 E r.+ ", +"+ P., i 6 6.Q.e.7.J 8.R.S.p Q.$.T.R.U.0 ..O.< G s.- 2 E r.+ ", +"+ C V.( W.n G._.X.Y.Z.@ u.W ;.`.'.J +.+0.++).z r.} 2 5.@++ ", +"% C #+] e c w.;.U..+$+e.e.: . + J T T %+<.&+`.A.k = 2 E C % ", +"# C 5.^ _ L ..b.T.` g.l g.^...=.q < *+w.++T.8.# =+- e t.C $ ", +"V C -+> S g.. X.=+c * } 6 6 r r ;+_ 6 } * 8 $.b.'.A.- f C W ", +"e.O.= K H ;.$+=.6 2 ( 5.J., >+>+, , J.E i f - ..,+'.K.; O._.", +"$.o K.W $ '+s.)+i !+{ ~+{+]+^+^+{+/+(+_+~ , ( e 8 :+X.<+q q.", +"u.f.[+}+|+6.r ( 1+(+2+3+4+5+6+6+7+8+3+9+{+0+) E f k q.$+a+}.", +"u.=.).=.b+e c+) d+e+f+6+g+h+i+i+g+j+k+8+9+l+0+~ 5.2 b e.m+Q.", +"E.O.n+e -+5.) 0+o+p+7+j+q+h+i+i+h+r+6+7+p+9+^+~+! E 1 D.b.m+", +"J K L L c ; * * } } 6 6 s+_ r r )+6 6 t+} = = u+- c S n M R.", +"$ V ;.V v+# @ + . . . . . . . . . . . . . . . + @ v+e.-.++z."}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPostOn.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPostOn.xpm new file mode 100644 index 0000000..442f812 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPostOn.xpm @@ -0,0 +1,289 @@ +/* XPM */ +static char * spGreasePencil_ghostPostOn_xpm[] = { +"30 30 256 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DCDCDC", +") c #DCDCDD", +"! c #DCDDDD", +"~ c #B9B8B8", +"{ c #DAD9D9", +"] c #DCDDDC", +"^ c #DDDDDC", +"/ c #DDDDDD", +"( c #DBDADA", +"_ c #B9B9B9", +": c #DCDBDB", +"< c #DEDDDD", +"[ c #DDDEDE", +"} c #DEDEDE", +"| c #DFDEDE", +"1 c #DDDEDD", +"2 c #DBDCDC", +"3 c #DADBDB", +"4 c #DADAD9", +"5 c #DCDBDC", +"6 c #DDDDDE", +"7 c #DEDEDD", +"8 c #DFDFDF", +"9 c #BABABA", +"0 c #DCDCDB", +"a c #BABAB9", +"b c #D9D9DA", +"c c #D7D7D7", +"d c #D7D8D7", +"e c #D8D7D8", +"f c #DEDFDE", +"g c #DADADB", +"h c #D4D4D4", +"i c #D0D0D0", +"j c #CDCDCD", +"k c #CCCCCC", +"l c #CFCFCF", +"m c #D3D3D3", +"n c #D4D4D3", +"o c #CECECE", +"p c #DFDEDF", +"q c #BBBBBB", +"r c #E0DFDF", +"s c #D6D6D6", +"t c #CFD0D0", +"u c #BEBEBE", +"v c #A0A0A0", +"w c #888888", +"x c #8E8E8E", +"y c #A3A3A3", +"z c #C5C5C5", +"A c #C4C4C4", +"B c #B6B6B6", +"C c #ABABAB", +"D c #AFAFAF", +"E c #C6C6C6", +"F c #E0E0E0", +"G c #DFDFDE", +"H c #D6D7D6", +"I c #CBCBCB", +"J c #9D9D9D", +"K c #5A595A", +"L c #3F3F3F", +"M c #474747", +"N c #515151", +"O c #525252", +"P c #636363", +"Q c #737373", +"R c #7F7F7F", +"S c #848484", +"T c #8B8B8B", +"U c #909090", +"V c #929293", +"W c #9E9E9E", +"X c #B0B0B0", +"Y c #D2D2D2", +"Z c #DFDFE0", +"` c #BCBCBC", +" . c #999899", +".. c #444444", +"+. c #2D2D2D", +"@. c #434343", +"#. c #4A4A4A", +"$. c #3D3D3D", +"%. c #303030", +"&. c #383838", +"*. c #6A6A6A", +"=. c #8A8A8A", +"-. c #8C8C8C", +";. c #8D8D8D", +">. c #929292", +",. c #C0C0C0", +"'. c #BBBCBB", +"). c #BFBFBF", +"!. c #2F2F2F", +"~. c #595959", +"{. c #555555", +"]. c #2A2A2A", +"^. c #3C3C3C", +"/. c #979797", +"(. c #B2B2B2", +"_. c #AEAEAE", +":. c #C8C8C9", +"<. c #D5D6D5", +"[. c #E0DFE0", +"}. c #828282", +"|. c #A9A9A9", +"1. c #7E7E7E", +"2. c #989898", +"3. c #A4A4A4", +"4. c #999999", +"5. c #5B5B5B", +"6. c #626262", +"7. c #4E4E4E", +"8. c #242424", +"9. c #727272", +"0. c #B1B1B1", +"a. c #DEDEDF", +"b. c #BDBDBD", +"c. c #767676", +"d. c #5F5F5F", +"e. c #7C7C7C", +"f. c #7D7D7D", +"g. c #282828", +"h. c #464646", +"i. c #898989", +"j. c #BDBDBC", +"k. c #C9C9C9", +"l. c #858585", +"m. c #343434", +"n. c #696969", +"o. c #787878", +"p. c #777777", +"q. c #878787", +"r. c #363636", +"s. c #B7B7B7", +"t. c #E1E1E1", +"u. c #313131", +"v. c #424242", +"w. c #6B6B6B", +"x. c #838383", +"y. c #707070", +"z. c #252525", +"A. c #969696", +"B. c #AAAAAA", +"C. c #A6A6A6", +"D. c #E0E0E1", +"E. c #BDBEBE", +"F. c #E3E3E3", +"G. c #D5D5D5", +"H. c #B5B5B5", +"I. c #666666", +"J. c #3E3E3E", +"K. c #585858", +"L. c #5C5C5C", +"M. c #5D5D5D", +"N. c #505050", +"O. c #212121", +"P. c #616161", +"Q. c #9B9B9B", +"R. c #919191", +"S. c #E2E2E2", +"T. c #E5E5E5", +"U. c #A2A2A2", +"V. c #606060", +"W. c #414141", +"X. c #353535", +"Y. c #2B2B2B", +"Z. c #323232", +"`. c #535353", +" + c #868686", +".+ c #BEBDBE", +"++ c #E7E8E8", +"@+ c #E6E6E6", +"#+ c #E3E2E2", +"$+ c #A7A7A7", +"%+ c #808080", +"&+ c #A8A8A8", +"*+ c #E6E5E5", +"=+ c #E7E7E7", +"-+ c #E4E4E4", +";+ c #E1E0E1", +">+ c #CFCFD0", +",+ c #CECECF", +"'+ c #D3D2D2", +")+ c #E3E3E4", +"!+ c #E9E8E8", +"~+ c #EAEAEB", +"{+ c #EBEBEB", +"]+ c #EAEAEA", +"^+ c #E2E2E1", +"/+ c #BEBFBE", +"(+ c #ECECEC", +"_+ c #EDEDED", +":+ c #EDEDEE", +"<+ c #EEEEEE", +"[+ c #EDECED", +"}+ c #EEEEED", +"|+ c #EEEEEF", +"1+ c #ECEBEB", +"2+ c #EBEBEC", +"3+ c #EDEDEC", +"4+ c #EEEFEE", +"5+ c #EFEFF0", +"6+ c #F0F0F0", +"7+ c #F2F1F2", +"8+ c #F2F2F2", +"9+ c #F3F2F3", +"0+ c #F3F3F3", +"a+ c #F5F4F5", +"b+ c #F6F6F6", +"c+ c #F6F6F7", +"d+ c #F7F7F7", +"e+ c #F5F5F5", +"f+ c #F4F4F4", +"g+ c #F1F1F1", +"h+ c #EFEFEF", +"i+ c #EDEEEE", +"j+ c #EBEBEA", +"k+ c #EFEEEE", +"l+ c #F4F4F5", +"m+ c #F8F8F8", +"n+ c #FAF9F9", +"o+ c #FBFAFB", +"p+ c #FBFBFB", +"q+ c #FAFAFA", +"r+ c #F9F9F9", +"s+ c #EEEFEF", +"t+ c #ECECED", +"u+ c #F1F1F2", +"v+ c #F4F5F4", +"w+ c #F8F7F8", +"x+ c #FCFCFC", +"y+ c #FDFDFD", +"z+ c #F8F9F8", +"A+ c #F6F5F6", +"B+ c #FCFBFB", +"C+ c #FAFAFB", +"D+ c #D5D4D5", +"E+ c #D4D3D3", +"F+ c #D1D1D2", +"G+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , ' ' ' ) ) ! ' ' ' ' > > ; ; = = # * & . ", +". ~ = ; { ; > > ' ' ] ^ / / / / / / ' ' ' > > ( ; ( { = & . ", +". _ = ; ( : ' ^ / < [ } } } } | } } } 1 / / ' 2 > 3 4 ; _ . ", +". _ > 5 ' / 6 } 1 7 } } 8 8 8 8 8 } } } } } } / ] 2 > ; _ . ", +". 9 ' / < } } / / ) 0 ' ) / 6 < ) ' ' ] / 1 } } } / ' ' a . ", +". 9 / } 8 } / ' b # c d # = ; = # e c # 4 > / } } } 1 / 9 . ", +". 9 f 8 } / g c h i j k l m n m @ l o @ h c ; ' 6 p } } 9 . ", +". q r } / ; s t u v w x y 9 z A B C D 9 E l h e > / 8 8 q . ", +". q F G ' H I J K L M N O P Q R S T U V W X E Y c , } Z q . ", +". ` F / = l ...+.@.#.#.M $.%.&.*.=.-.-.;.>.v ,.Y # / 8 '.. ", +". ` F ' s ).P !.~.. -.v x {.%.].^./.(._.v U x J :.<.0 [.` . ", +"}.` r ; Y |.L !.1.2.3.4.R 5.6.7.8.9.C C C 0.2.=.B Y ; a.` }.", +"}.b.8 = j >.%.&.c.S =.. *.d.e.f.g.h.2.3.X u D i.y o = G j.}.", +"}.b.F ; k.l.m.&.n.R Q o.T *.p.q.!.r.;.9 s.9 & -.J I ; F b.}.", +"}.b.t.> j U @.u.v.w.9.x.Q 6.y.n.z.v.A.B._._ X =.C.l > D.b.}.", +"}.E.F.} G.H.I.J.L K.w.L.M.7.N.!.O.P.U 4.Q.y R.U _ G./ S.b.}.", +". u T.S.' m U.Q V.W.X.X.u.%.Y.Z.`.f.x.x. +T A.H.m ' t.T..+. ", +". u ++@+#+' G.q $+U %+1.o.f.-.W B.&+&+C.C & + G.' t.*+=+u . ", +". u % % =+-+;+' s @ >+o o ,+m n m '+Y Y m d ' F )+@+$ !+u . ", +". u ~+{+{+]+$ @+-+S.S.S.S.F.F.F.#+S.^+S.S.F.@+=+% {+]+]+u . ", +". /+{+(+_+:+<+_+[+(+(+}+<+<+|+|+<+<+_+(+(+(+(+_+[+(+1+]+u . ", +". ).2+3+4+5+6+7+8+9+0+a+b+c+d+d+b+e+f+8+8+g+g+h+h+i+(+j+u . ", +". ).(+_+k+6+8+0+l+e+c+m+n+o+p+p+q+r+d+b+f+f+8+g+s+<+(+]+u . ", +". ).t+_+|+6+u+0+v+b+w+r+p+x+y+y+p+q+z+d+e+f+8+g+h+<+(+(+u . ", +". ).t+<+5+g+8+f+A+d+m+q+B+x+y+y+x+C+r+m+b+e+0+7+6+h+_+2+u . ", +". q i i @ @ Y Y m m h h D+G.G.G.D+h h E+m Y Y F+@ G+i l q . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPreOff.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPreOff.xpm new file mode 100644 index 0000000..f8f5eb6 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPreOff.xpm @@ -0,0 +1,295 @@ +/* XPM */ +static char * spGreasePencil_ghostPreOff_xpm[] = { +"30 30 262 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #848484", +"# c #858585", +"$ c #868686", +"% c #838383", +"& c #C7C7C7", +"* c #D0D0D0", +"= c #D1D1D1", +"- c #CFCFCF", +"; c #CECECE", +"> c #D6D6D6", +", c #E3E3E3", +"' c #E5E5E5", +") c #E6E6E6", +"! c #E7E7E7", +"~ c #E8E8E8", +"{ c #E9E9E9", +"] c #DFDFDF", +"^ c #DCDCDC", +"/ c #DBDBDB", +"( c #DEDEDE", +"_ c #D4D4D4", +": c #878787", +"< c #B9B9B9", +"[ c #D2D2D1", +"} c #D2D2D2", +"| c #D5D6D6", +"1 c #D8D8D8", +"2 c #DADADA", +"3 c #DADBDA", +"4 c #DCDCDD", +"5 c #DBDCDC", +"6 c #D3D3D3", +"7 c #CCCCCC", +"8 c #C1C1C1", +"9 c #C8C8C7", +"0 c #8C8C8C", +"a c #BBBABA", +"b c #C6C6C6", +"c c #CDCDCD", +"d c #D2D1D1", +"e c #D7D7D7", +"f c #D9D9D9", +"g c #DCDDDC", +"h c #DDDDDC", +"i c #DDDDDD", +"j c #D1D0D0", +"k c #C9C9C9", +"l c #AEAEAE", +"m c #A8A7A7", +"n c #C4C4C4", +"o c #BABABA", +"p c #8F8F8F", +"q c #BBBBBB", +"r c #D5D5D5", +"s c #D9D9D8", +"t c #DDDCDC", +"u c #DDDEDE", +"v c #DFDEDE", +"w c #DBDCDB", +"x c #C8C8C8", +"y c #AAAAAA", +"z c #A4A4A4", +"A c #C6C6C5", +"B c #9B9A9B", +"C c #BDBDBD", +"D c #D9DAD9", +"E c #DCDCDB", +"F c #DEDEDD", +"G c #A6A6A6", +"H c #A0A0A0", +"I c #C4C5C5", +"J c #8D8D8D", +"K c #BCBCBC", +"L c #CBCBCB", +"M c #939292", +"N c #B2B2B2", +"O c #DADADB", +"P c #DDDDDE", +"Q c #D7D8D7", +"R c #CACACA", +"S c #A7A7A7", +"T c #9F9F9F", +"U c #BABAB9", +"V c #898989", +"W c #A9A9A9", +"X c #898988", +"Y c #A2A2A2", +"Z c #C3C3C3", +"` c #D8D8D7", +" . c #D8D7D8", +".. c #A8A8A8", +"+. c #9E9E9E", +"@. c #D6D7D6", +"#. c #ADADAD", +"$. c #878788", +"%. c #939393", +"&. c #BAB9B9", +"*. c #D0D0CF", +"=. c #9B9B9B", +"-. c #C5C5C5", +";. c #D8D8D9", +">. c #D9D8D8", +",. c #B1B1B1", +"'. c #888888", +"). c #7D7D7D", +"!. c #A5A5A5", +"~. c #B4B4B4", +"{. c #919191", +"]. c #BFBFBF", +"^. c #D9D8D9", +"/. c #B6B6B6", +"(. c #6C6C6C", +"_. c #9B9A9A", +":. c #949494", +"<. c #989898", +"[. c #9C9C9C", +"}. c #797979", +"|. c #7C7C7C", +"1. c #B7B7B7", +"2. c #E0E0E0", +"3. c #E1E2E1", +"4. c #E1E1E1", +"5. c #E0E0E1", +"6. c #BEBEBE", +"7. c #B4B3B4", +"8. c #B0B0B0", +"9. c #595959", +"0. c #535353", +"a. c #737373", +"b. c #636363", +"c. c #5C5C5C", +"d. c #CECFCE", +"e. c #E2E2E2", +"f. c #E2E2E3", +"g. c #BBBCBB", +"h. c #8E8E8E", +"i. c #A3A3A3", +"j. c #757575", +"k. c #4E4E4E", +"l. c #4D4D4D", +"m. c #656565", +"n. c #5F5F5F", +"o. c #969696", +"p. c #A4A3A4", +"q. c #E1E1E2", +"r. c #E3E4E3", +"s. c #E4E4E3", +"t. c #E3E2E3", +"u. c #C2C1C1", +"v. c #ABABAB", +"w. c #959595", +"x. c #747474", +"y. c #6D6D6D", +"z. c #6B6B6B", +"A. c #545454", +"B. c #676767", +"C. c #606060", +"D. c #979797", +"E. c #B3B3B3", +"F. c #A1A1A1", +"G. c #D4D3D3", +"H. c #DCDBDC", +"I. c #E4E4E4", +"J. c #E5E4E4", +"K. c #E3E3E4", +"L. c #999999", +"M. c #B5B5B5", +"N. c #777777", +"O. c #5A5A5A", +"P. c #292929", +"Q. c #454545", +"R. c #ACACAC", +"S. c #E5E5E4", +"T. c #BDBDBC", +"U. c #5D5D5D", +"V. c #464646", +"W. c #565656", +"X. c #6F6F6F", +"Y. c #AFAFAF", +"Z. c #9D9D9D", +"`. c #7F7F7F", +" + c #3C3C3C", +".+ c #9A9A9A", +"++ c #5E5E5E", +"@+ c #E6E6E7", +"#+ c #B0B1B1", +"$+ c #484848", +"%+ c #626262", +"&+ c #686868", +"*+ c #525252", +"=+ c #717171", +"-+ c #8A8A8A", +";+ c #909090", +">+ c #4D4D4E", +",+ c #BEBDBE", +"'+ c #B5B6B6", +")+ c #999998", +"!+ c #6A6A6A", +"~+ c #767676", +"{+ c #E1E0E0", +"]+ c #616161", +"^+ c #929292", +"/+ c #D0D1D1", +"(+ c #727272", +"_+ c #C0C0C0", +":+ c #E0DFDF", +"<+ c #696969", +"[+ c #DFDFDE", +"}+ c #7B7B7B", +"|+ c #7C7C7D", +"1+ c #ECECED", +"2+ c #EDEDEE", +"3+ c #EEEEEE", +"4+ c #EDEDED", +"5+ c #EAEAEA", +"6+ c #E7E7E6", +"7+ c #888788", +"8+ c #7E7E7E", +"9+ c #9B9B9C", +"0+ c #7D7E7D", +"a+ c #787878", +"b+ c #EBEAEB", +"c+ c #F0F0F0", +"d+ c #F3F3F3", +"e+ c #F5F5F5", +"f+ c #F6F6F6", +"g+ c #EFEFEF", +"h+ c #EBEBEB", +"i+ c #979898", +"j+ c #707070", +"k+ c #6E6E6E", +"l+ c #EEEEEF", +"m+ c #F7F6F6", +"n+ c #F9F8F9", +"o+ c #FAFAFA", +"p+ c #FBFBFB", +"q+ c #F9F9F9", +"r+ c #F4F4F4", +"s+ c #F1F1F1", +"t+ c #ECECEC", +"u+ c #CACACB", +"v+ c #DEDEDF", +"w+ c #F5F4F5", +"x+ c #F7F7F7", +"y+ c #FCFCFC", +"z+ c #FDFDFD", +"A+ c #F8F9F8", +"B+ c #D3D3D4", +"C+ c #DBDBDC", +"D+ c #F1F0F1", +"E+ c #FBFAFA", +"F+ c #F9F9FA", +"G+ c #F8F8F8", +"H+ c #EDECED", +"I+ c #B9B9BA", +"J+ c #D4D3D4", +"K+ c #D5D4D5", +"L+ c #D3D2D2", +"M+ c #D0D0D1", +". . . . . . . . . . . . . . . . . . . . . . . + @ # $ # % + ", +"+ & * * * * * * * * * = = = = = = * * * * * * - - ; ; ; & @ ", +"@ > , , ' ) ! ~ ~ ~ ~ ~ { { { { ~ ~ ~ ~ ~ ! ' , ] ^ / ( _ $ ", +": < [ } _ | 1 2 2 3 / / / 4 4 5 / / / / 2 1 > 6 * 7 8 9 < : ", +"0 a b c d _ e f ^ ^ g h i i i i i i ^ ^ 2 e _ j k l m n o : ", +"p o l q c = r s / t u ( ( ( ( v ( ( i w f > } x y z A = o $ ", +"p q < B C c } > D E ( ( ] ] ( ( ( F ^ / e 6 k G H I = _ o @ ", +"J K L y M N k } e O ^ i P ^ 4 t 4 ^ / Q _ R S T b } r 1 U + ", +"V q } R W X Y Z } > 1 D f 1 1 e ` .> _ L ..+.b 6 e D / o . ", +"$ q @.} L #.$.%.&.c } 6 6 = *.- * = = k S =.-._ ;./ ^ i o . ", +"@ q >._ * k ,.'.).!.n L -.o N ~.K n C =.{.].6 ^.i ] ] ] q . ", +"# q f r * L b /.0 (.$ z _.:.<.[.[.:.}.|.1.- > ^ 2.3.4.5.q . ", +"V C e } k 6.7.,.8.:.9.0.a.%.<.<.: b.c.0 K d.e i 4.e.f.4.g.. ", +"h.C = Z 8.G !.!.i.+.j.k.l.% ..[.m.n.+ o.p.k > i q.r.s.t.K . ", +":.C u.v.i.G G z z w.x.y.z.A.B.9.C.D.E.F.D.o G.H.e.I.J.K.K . ", +"L.q E.i.v.E.M.o M.<.a.N.% O.P.Q.0 ~.].~.D.R.* / e.' ) S.T.. ", +"+.1.W F.N 1.o 1.,.L.% N.U.V.W.k.X.F.o o <.G 7 / e.) ! ) C . ", +"H E.z Y Y.E.~.E.l Z.`.A. +B..+h.n.++:.#.%.W 7 2 4.) ! @+C . ", +"T #+G i.#.,.Y.,.C D.A.$+%++ +.Z.p &+*+=+-+E.- 1 2.' ) ) C . ", +"Z.E.v.i.z #.l ~.=.b.c.).`.`.J {.;+'.&+>+y.l 7 r i e.I.) ,+. ", +"L.o '+S z W R.;+n.m.[.+.)+z #.l #.l 8.<.!+~+!.L e ^ {+I.6.% ", +":.].Z E.y T -+O.]+^+..l C c /+} } } } ; E.@ (+D._+r / :+6.$ ", +"^+].- 8 ,.{.&+<+T o Z ; 1 i 2.e.e.4.[+/ > -.Z.}+# N = f 6.-+", +":.].x Y.{.|+~+,.; 6 f ] I.{ 1+2+3+4+5+6+4./ = E.7+8+!.; ].{.", +"<.o 9+. 0+a+E.} 2 2.' b+c+d+e+f+f+e+d+g+h+' ( e 8 i+).i.q .+", +".+..j+k+$ 1._ i I.5+l+d+m+n+o+p+o+q+f+r+s+t+) 2.f k .+`.+.F.", +"L.1.z 1.u+e v+) t+s+w+x+o+y+z+z+p+o+A+f+d+s+t+~ 4.2 b ;+j.<.", +":.].B+e C+4.) t+D+r+f+q+E+p+y+y+p+F+G+x+e+d+c+H+! 2.1 I+j+j.", +"J K L L c ; * * } } 6 6 J+_ _ _ K+6 6 L+} = = M+- c R n %.O.", +"$ V -+V '.# @ + . . . . . . . . . . . . . . . + @ '.;+=.[.X."}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPreOn.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPreOn.xpm new file mode 100644 index 0000000..e99ac61 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_ghostPreOn.xpm @@ -0,0 +1,297 @@ +/* XPM */ +static char * spGreasePencil_ghostPreOn_xpm[] = { +"30 30 264 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DBDBDC", +") c #DBDCDC", +"! c #B9B8B8", +"~ c #DBDADA", +"{ c #DCDCDC", +"] c #DCDDDC", +"^ c #DDDDDC", +"/ c #DDDDDD", +"( c #DAD9D9", +"_ c #B9B9B9", +": c #DCDBDB", +"< c #DEDDDD", +"[ c #DDDEDE", +"} c #DEDEDE", +"| c #DADBDB", +"1 c #DADAD9", +"2 c #DCDBDC", +"3 c #DDDDDE", +"4 c #DEDFDE", +"5 c #DFDFDE", +"6 c #DFDFDF", +"7 c #DBDBDA", +"8 c #BABABA", +"9 c #DEDEDF", +"0 c #D9D9DA", +"a c #D6D6D7", +"b c #D6D6D6", +"c c #BABAB9", +"d c #DEDEDD", +"e c #DCDCDD", +"f c #D7D7D7", +"g c #D4D4D4", +"h c #D0D0D0", +"i c #CCCCCC", +"j c #CCCBCC", +"k c #CFCFCF", +"l c #D7D7D6", +"m c #DDDEDD", +"n c #D8D7D7", +"o c #BEBEBE", +"p c #A0A0A0", +"q c #888888", +"r c #8E8E8E", +"s c #A5A5A5", +"t c #BDBDBD", +"u c #CBCBCB", +"v c #D3D4D3", +"w c #DFDEDF", +"x c #BBBBBB", +"y c #D1D2D2", +"z c #CECECE", +"A c #CFCFD0", +"B c #C7C7C7", +"C c #999999", +"D c #585858", +"E c #3F3F3F", +"F c #474747", +"G c #515151", +"H c #555555", +"I c #6D6D6D", +"J c #909090", +"K c #D7D6D7", +"L c #B2B1B2", +"M c #B3B3B3", +"N c #3B3B3B", +"O c #2A2B2A", +"P c #434343", +"Q c #4A4A4A", +"R c #494949", +"S c #4E4E4E", +"T c #545454", +"U c #6F6F6F", +"V c #AFAFAF", +"W c #E0E0E1", +"X c #BCBCBC", +"Y c #9F9F9F", +"Z c #949494", +"` c #969696", +" . c #989898", +".. c #8B8B8B", +"+. c #444444", +"@. c #232323", +"#. c #575757", +"$. c #8C8C8C", +"%. c #979797", +"&. c #7A7A7A", +"*. c #535354", +"=. c #4B4B4B", +"-. c #696969", +";. c #C1C1C1", +">. c #D5D5D5", +",. c #DFDFE0", +"'. c #E0E0E0", +"). c #BBBCBB", +"!. c #D2D2D2", +"~. c #939393", +"{. c #959595", +"]. c #929292", +"^. c #1F1F1F", +"/. c #727272", +"(. c #A4A4A4", +"_. c #9C9C9C", +":. c #646464", +"<. c #E2E1E2", +"[. c #CACACA", +"}. c #8D8D8D", +"|. c #AAAAAA", +"1. c #AEAEAE", +"2. c #B5B5B5", +"3. c #676767", +"4. c #141414", +"5. c #252525", +"6. c #5A5A5A", +"7. c #7F7F7F", +"8. c #8A8A8A", +"9. c #848484", +"0. c #9B9B9B", +"a. c #9A9A9A", +"b. c #424141", +"c. c #747374", +"d. c #DFDEDE", +"e. c #E1E1E2", +"f. c #A9A9A9", +"g. c #B2B2B2", +"h. c #B6B6B6", +"i. c #A2A2A2", +"j. c #5E5E5E", +"k. c #1E1E1E", +"l. c #292929", +"m. c #6E6E6E", +"n. c #7C7C7C", +"o. c #B0B0B0", +"p. c #ABABAB", +"q. c #484848", +"r. c #686868", +"s. c #C3C3C3", +"t. c #E3E3E2", +"u. c #BDBDBC", +"v. c #B8B9B8", +"w. c #ADADAD", +"x. c #2C2C2C", +"y. c #2E2E2E", +"z. c #878787", +"A. c #AFAEAF", +"B. c #454545", +"C. c #797979", +"D. c #C9C9C9", +"E. c #E1E1E1", +"F. c #E4E4E4", +"G. c #A1A1A1", +"H. c #A8A8A8", +"I. c #282828", +"J. c #414141", +"K. c #656565", +"L. c #5C5C5C", +"M. c #666666", +"N. c #7D7D7D", +"O. c #525252", +"P. c #4C4C4C", +"Q. c #9E9E9E", +"R. c #E3E3E3", +"S. c #E5E5E6", +"T. c #D3D3D3", +"U. c #505050", +"V. c #2D2D2D", +"W. c #2F2F2F", +"X. c #343434", +"Y. c #424242", +"Z. c #595959", +"`. c #E2E2E2", +" + c #E5E5E5", +".+ c #E6E6E6", +"++ c #A6A6A6", +"@+ c #A3A3A3", +"#+ c #7E7E7E", +"$+ c #707070", +"%+ c #777777", +"&+ c #838383", +"*+ c #9F9E9E", +"=+ c #BCBDBC", +"-+ c #E7E7E7", +";+ c #BEBDBE", +">+ c #DCDDDD", +",+ c #C0BFBF", +"'+ c #8F8F8F", +")+ c #CDCDCD", +"!+ c #D6D7D6", +"~+ c #EAE9E9", +"{+ c #BFBFBF", +"]+ c #CBCBCC", +"^+ c #E1E0E0", +"/+ c #EAEAEA", +"(+ c #EBEBEC", +"_+ c #EBEBEB", +":+ c #D4D3D4", +"<+ c #EBEAEA", +"[+ c #ECECEC", +"}+ c #ECECEB", +"|+ c #ECEDED", +"1+ c #EDEDED", +"2+ c #EEEEEE", +"3+ c #BEBFBE", +"4+ c #E4E4E5", +"5+ c #E1E0E1", +"6+ c #E5E5E4", +"7+ c #EFEFF0", +"8+ c #F2F2F3", +"9+ c #F4F4F4", +"0+ c #F3F3F3", +"a+ c #F3F3F2", +"b+ c #F2F2F2", +"c+ c #F0F0F0", +"d+ c #EFEEEF", +"e+ c #ECEBEB", +"f+ c #EAEAEB", +"g+ c #EBECEB", +"h+ c #EBEAEB", +"i+ c #ECEBEC", +"j+ c #F0EFF0", +"k+ c #F4F4F5", +"l+ c #F7F7F7", +"m+ c #F8F8F8", +"n+ c #F5F5F5", +"o+ c #EFEFEF", +"p+ c #EDEEEE", +"q+ c #EBEBEA", +"r+ c #EEEDED", +"s+ c #F1F1F2", +"t+ c #F6F6F6", +"u+ c #F8F7F7", +"v+ c #FAF9FA", +"w+ c #FBFBFB", +"x+ c #FCFCFC", +"y+ c #FAFAFA", +"z+ c #F1F1F1", +"A+ c #EEEFEF", +"B+ c #EEEEEF", +"C+ c #F3F4F3", +"D+ c #F7F6F7", +"E+ c #FDFDFD", +"F+ c #F8F9F8", +"G+ c #F5F4F5", +"H+ c #F9F9F9", +"I+ c #FBFAFA", +"J+ c #F9F9FA", +"K+ c #F2F1F2", +"L+ c #D5D4D5", +"M+ c #D4D3D3", +"N+ c #D1D1D2", +"O+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , > > > ' ' ) > > > > ; ; = = = = # * & . ", +". ! = ; ~ > { { { { ] ^ / / / / / / { { { > > ~ ; ( ( = & . ", +". _ = ; ~ : { ^ / < [ } } } / < / / / ] / / { ) > | 1 = _ . ", +". _ > 2 { / 3 } 4 5 6 6 6 } / { > 7 > { / / } / ] ) > ; _ . ", +". 8 { / < } } } } 9 5 6 3 { 0 # a b # = > { / / } / { { c . ", +". 8 / } } d / / e / { , ; f g h i j k g l = { / } } m / 8 . ", +". 8 4 } / { 0 # n f f b g k o p q r s t u v f ; e w } } 8 . ", +". x < { ; f g y k z k A B C D E F G H I J t h K > } 6 6 x . ", +". x / 1 b @ + x L M 8 t q N O P Q Q R S T U V @ # / 6 W x . ", +". X > b k x Y Z ` . ...+.@.#.. $.p %.&.*.=.-.;.>.> ,.'.).. ", +". X = !._ %.$.~.{.{.].U ^.^./.%.(.C J J _.:.P C @ ; 5 <.X . ", +". t f [.s }._.|.1.2.|.3.4.5.6.7.8.9.. 0.x a.b.c.+ = d.e.X . ", +". o >.;.` }.f.g.h.g.i.j.k.l.Q m./.n.o.|.M p.q.r.s.; '.t.u.. ", +". o !.v.J J s p.w.p.Y -.x.5.y.T m.z.r ` A.a.B.C.D.> E.F.t . ", +". o h M ].J G.H.(.H._ ~.B.l.I.J.K.L.M.m.N.O.P.Q.g } R.S.t . ", +". o T.& .r ~.i.(.p.1.V n.U.N V.W.X.X.N Y.Z.{.k { `. +.+t . ", +". o # B ++Z ].0.G._.p @+s #+$+%+&.n.C.&+*+=+g { `..+-+$ ;+. ", +". o >+>.,+p.G.{.'+'+r ].` Y g.+ i )+z h !+{ '.F.-+$ ~+% o . ", +". o E./ b D.{+h.V 1.w.g.o ]+f ^ 6 ^+E.`.R..+$ /+(+_+_+~+o . ", +". o S.R.6 > f :+T.!.T.b > '.F.$ <+[+}+[+|+1+2+1+1+1+_+/+o . ", +". 3+% $ -+4+R.E.5+E.`.6+-+_+7+8+9+9+0+a+b+b+c+c+d+1+e+/+o . ", +". {+f+}+g+f+/+h+_+i+1+j+b+k+l+m+m+m+l+n+n+0+b+c+o+p+[+q+o . ", +". {+[+1+r+o+c+c+s+b+k+t+u+v+w+x+w+y+m+l+n+9+b+z+A+2+1+_+o . ", +". {+(+1+B+c+s+b+C+n+D+m+w+x+E+E+w+y+F+l+t+n+0+b+c+o+1+[+o . ", +". {+(+1+B+c+z+0+G+t+l+H+I+w+x+x+w+J+H+m+t+n+0+K+c+o+1+(+o . ", +". x h h @ @ !.!.T.T.g g L+>.>.>.L+g g M+T.!.!.N+@ O+h k x . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_helpButton.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_helpButton.xpm new file mode 100644 index 0000000..10ff9cd --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_helpButton.xpm @@ -0,0 +1,196 @@ +/* XPM */ +static char * helpButton_xpm[] = { +"57 21 172 2", +" c None", +". c #818181", +"+ c #848484", +"@ c #8E8E8E", +"# c #939393", +"$ c #E1E1E1", +"% c #F4F4F4", +"& c #F0F0F0", +"* c #D3D3D3", +"= c #DCDCDC", +"- c #DDDDDD", +"; c #DEDEDE", +"> c #DEDEDF", +", c #DFDFDF", +"' c #DFE0DF", +") c #E0E0E0", +"! c #E1E1E0", +"~ c #E2E1E2", +"{ c #E2E2E2", +"] c #E2E2E3", +"^ c #E2E3E3", +"/ c #E3E3E2", +"( c #E3E3E3", +"_ c #E3E3E4", +": c #E0DFDF", +"< c #E0E0DF", +"[ c #464646", +"} c #1C1C1C", +"| c #050505", +"1 c #000000", +"2 c #151515", +"3 c #535353", +"4 c #CBCBCB", +"5 c #E4E4E4", +"6 c #E4E4E5", +"7 c #E5E5E5", +"8 c #E5E5E4", +"9 c #DFDFE0", +"0 c #E1E0E0", +"a c #E2E1E1", +"b c #E2E2E1", +"c c #E3E4E3", +"d c #DADADA", +"e c #1A1A1A", +"f c #5A5A5A", +"g c #7A7A7A", +"h c #777677", +"i c #2A2A2A", +"j c #353535", +"k c #E6E6E6", +"l c #E7E6E7", +"m c #E7E7E7", +"n c #E8E7E7", +"o c #E7E8E7", +"p c #E7E8E8", +"q c #E5E6E5", +"r c #E4E5E4", +"s c #CCCCCC", +"t c #020202", +"u c #E8E8E8", +"v c #E8E8E9", +"w c #E9E8E9", +"x c #E9E9E9", +"y c #EAE9E9", +"z c #EAEAEA", +"A c #E9EAEA", +"B c #E9EAE9", +"C c #E9E9EA", +"D c #E4E3E3", +"E c #E6E6E5", +"F c #E6E6E7", +"G c #E7E7E8", +"H c #B8B8B8", +"I c #333333", +"J c #EAEAEB", +"K c #EAEBEA", +"L c #EBEBEB", +"M c #ECEBEB", +"N c #ECEBEC", +"O c #EBECEB", +"P c #ECECEC", +"Q c #EBEBEC", +"R c #E6E7E6", +"S c #E8E8E7", +"T c #EBEBEA", +"U c #CDCDCD", +"V c #262626", +"W c #363636", +"X c #ECEDEC", +"Y c #EDEDED", +"Z c #EEEDED", +"` c #EEEDEE", +" . c #EEEEEE", +".. c #E6E7E7", +"+. c #E8E9E8", +"@. c #EAEAE9", +"#. c #EBEAEB", +"$. c #EDEDEC", +"%. c #BDBDBD", +"&. c #111111", +"*. c #6B6C6B", +"=. c #EEEFEE", +"-. c #EFEFEF", +";. c #F0EFEF", +">. c #F0EFF0", +",. c #EBECEC", +"'. c #ECECED", +"). c #282828", +"!. c #F1F1F1", +"~. c #F2F1F1", +"{. c #F2F1F2", +"]. c #F2F2F2", +"^. c #E8E7E8", +"/. c #E8E9E9", +"(. c #ECEDED", +"_. c #EDEDEE", +":. c #EEEEEF", +"<. c #EFF0F0", +"[. c #0E0E0E", +"}. c #F1F2F1", +"|. c #F3F3F3", +"1. c #F4F3F3", +"2. c #F4F3F4", +"3. c #EAEBEB", +"4. c #ECECEB", +"5. c #F0F0EF", +"6. c #F0F1F1", +"7. c #F3F2F2", +"8. c #F3F2F3", +"9. c #F4F4F3", +"0. c #F4F4F5", +"a. c #F5F4F5", +"b. c #F5F5F5", +"c. c #F5F6F5", +"d. c #F5F6F6", +"e. c #F6F6F6", +"f. c #EEEEED", +"g. c #2C2C2C", +"h. c #F5F4F4", +"i. c #F5F5F4", +"j. c #F6F6F7", +"k. c #F7F7F7", +"l. c #F7F8F7", +"m. c #F7F8F8", +"n. c #F8F8F8", +"o. c #EFEEEE", +"p. c #F0F0F1", +"q. c #F7F7F6", +"r. c #F7F7F8", +"s. c #F9F9F9", +"t. c #FAF9F9", +"u. c #FAFAF9", +"v. c #FAFAFA", +"w. c #FAFAFB", +"x. c #FAFBFB", +"y. c #FBFBFB", +"z. c #F2F2F1", +"A. c #F2F2F3", +"B. c #F3F3F4", +"C. c #F6F5F6", +"D. c #F7F6F6", +"E. c #FBFAFA", +"F. c #FCFBFC", +"G. c #FCFCFC", +"H. c #FCFCFD", +"I. c #FDFDFD", +"J. c #FDFDFC", +"K. c #838383", +"L. c #8C8C8C", +"M. c #919191", +"N. c #929292", +"O. c #909090", +". . . + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ + . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . ", +". . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % . . ", +". . & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & . . ", +". . * = - - - - ; ; ; > , , , ' ) ) ) ) ) ! $ $ $ $ ~ { { { { { ] ^ / ( / ( ( ( ( ( ( ( ( ( ( ( ( _ ( ( ( ( * . . ", +". . * ; ; ; , , : < ) ) ) $ $ $ $ { { { { { ( = [ } | 1 2 3 4 5 5 6 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 * . . ", +". . * , 9 ) ) 0 $ $ a b { { ( ( ( c c c 5 5 7 d e f g h i 1 j k k l m m m m m m m n m m o p p o o m m m m m * . . ", +". . * $ $ b { { / ( ( c 5 5 5 7 7 7 7 q k k k r 7 m m m s 1 t u u v w x x x x x y y x x y z z A B y y x C x * . . ", +". . * { ^ ( D 5 5 5 8 7 7 E k k F m m G u u u u x x x x H 1 I z z J J K L L L L M M N N M M L O P P L Q Q L * . . ", +". . * 5 5 r 7 k k k k R m S u u u u w C z z z z T L L U V W * P P P P X Y Z Z ` Z Z . . . . . . . . . . . .* . . ", +". . * k k k ..m m o u +.x x y @.z z #.L L N P P $.Y %.&.*.K . . . .=.-.-.;.;.>.;.;.& & & & & & & & & & & & * . . ", +". . * m m G p u v x x z z z L L L ,.P '.'.Y Y . . .).1 ) -.& & & & & !.!.!.!.~.~.{.].].].].].].].].].].].].* . . ", +". . * ^.u /.x C z z K L L P P X (.Y _. . .:.-.<.& u [.[.!.!.}.].].].].|.|.|.|.1.1.2.2.% % % % % % % % % % % * . . ", +". . * w x C z K 3.L 4.P P Y Y ` . .-.-.5.& & 6.!.!.{.].7.8.|.|.1.9.% % 0.a.b.b.c.d.e.e.e.e.e.e.e.e.e.e.e.e.* . . ", +". . * x C z L L Q P P Y Y f. .:.-.-.& & 6.!.].].].x g.g.% % h.i.b.c.e.e.e.j.k.k.l.m.m.n.n.n.n.n.n.n.n.n.n.n.* . . ", +". . * z z L L P P '.Y Y .o.-.-.<.& p.!.}.].].8.1.S 1 1 b.b.e.e.q.k.r.m.n.s.s.t.u.v.v.w.x.y.y.y.y.y.y.y.y.w.* . . ", +". . * z L L ,.P '.Y Y . .-.-.;.& !.!.z.].A.|.|.B.% a.b.C.e.D.k.k.n.n.s.s.u.v.E.y.y.F.G.H.I.I.I.I.I.I.J.J.G.* . . ", +". . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . K.L.M.N.# # # # # # # # # O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.L.K.. . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_offLock.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_offLock.xpm new file mode 100644 index 0000000..9511ceb --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_offLock.xpm @@ -0,0 +1,274 @@ +/* XPM */ +static char * spGreasePencil_offLock_xpm[] = { +"30 30 241 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #E1E1E1", +"* c #C1C1C1", +"= c #A7A7A7", +"- c #AFAFAF", +"; c #C4C4C4", +"> c #E2E2E2", +", c #B8B8B8", +"' c #D8D8D7", +") c #D9D9D9", +"! c #D9DADA", +"~ c #DADADA", +"{ c #DBDBDB", +"] c #DBDCDB", +"^ c #DCDCDC", +"/ c #DCDCDD", +"( c #D7D7D8", +"_ c #ACADAD", +": c #787878", +"< c #7C7C7C", +"[ c #9E9E9E", +"} c #989898", +"| c #7E7E7E", +"1 c #BABABA", +"2 c #B9B8B8", +"3 c #DBDADA", +"4 c #DDDDDD", +"5 c #DDDEDD", +"6 c #DEDEDD", +"7 c #DEDEDE", +"8 c #D4D4D4", +"9 c #8C8C8C", +"0 c #828282", +"a c #C9C9C9", +"b c #ACACAC", +"c c #BBBBBB", +"d c #B1B1B1", +"e c #CECDCD", +"f c #DAD9D9", +"g c #B9B9B9", +"h c #DCDBDB", +"i c #DDDCDC", +"j c #DFDEDE", +"k c #DEDFDF", +"l c #DFDFDF", +"m c #D7D7D7", +"n c #8A8A8A", +"o c #A4A4A4", +"p c #DEDDDD", +"q c #5C5C5C", +"r c #6E6E6E", +"s c #929292", +"t c #A8A9A9", +"u c #DBDCDC", +"v c #DBDBDA", +"w c #DDDCDD", +"x c #DEDEDF", +"y c #DFE0DF", +"z c #E0E0DF", +"A c #E0E0E0", +"B c #959595", +"C c #999998", +"D c #D3D3D3", +"E c #CCCCCC", +"F c #5D5D5D", +"G c #BEBEBE", +"H c #DCDDDD", +"I c #E1E1E2", +"J c #E2E2E1", +"K c #7B7B7B", +"L c #CACACA", +"M c #D4D4D5", +"N c #CBCBCB", +"O c #B0B0B0", +"P c #D3D4D3", +"Q c #D5D6D5", +"R c #BABAB9", +"S c #E1E1E0", +"T c #E3E3E3", +"U c #E3E3E4", +"V c #E4E4E4", +"W c #ADAEAD", +"X c #8F8F8F", +"Y c #CFCFCF", +"Z c #E5E5E5", +"` c #E4E4E3", +" . c #E4E3E4", +".. c #A1A1A1", +"+. c #A8A8A8", +"@. c #DEDFDE", +"#. c #E7E6E6", +"$. c #7D7D7D", +"%. c #C5C5C5", +"&. c #A5A5A4", +"*. c #9F9F9F", +"=. c #E7E7E7", +"-. c #E6E6E6", +";. c #E3E4E3", +">. c #969696", +",. c #B7B7B7", +"'. c #E1E0E1", +"). c #E1E0E0", +"!. c #E9EAEA", +"~. c #ECECEC", +"{. c #EDEDED", +"]. c #CECECE", +"^. c #858585", +"/. c #EAEAEA", +"(. c #E8E9E9", +"_. c #ADADAD", +":. c #7F7F7F", +"<. c #D4D3D4", +"[. c #E3E3E2", +"}. c #E6E7E6", +"|. c #EEEEEE", +"1. c #BCBCBC", +"2. c #777777", +"3. c #8B8B8B", +"4. c #C9C8C8", +"5. c #727272", +"6. c #E8E9E8", +"7. c #F1F1F1", +"8. c #EFEFEF", +"9. c #DFDFE0", +"0. c #919091", +"a. c #868686", +"b. c #949494", +"c. c #848484", +"d. c #4D4D4D", +"e. c #5A5A5A", +"f. c #565656", +"g. c #535353", +"h. c #F4F4F4", +"i. c #F3F2F3", +"j. c #F0F0F0", +"k. c #E9E9EA", +"l. c #E1E2E1", +"m. c #BBBCBB", +"n. c #888888", +"o. c #D0D0D0", +"p. c #515151", +"q. c #555555", +"r. c #767676", +"s. c #C4C4C3", +"t. c #EBEBEB", +"u. c #E5E6E5", +"v. c #E5E5E4", +"w. c #E6E5E5", +"x. c #6F6F6F", +"y. c #FDFDFD", +"z. c #FEFEFE", +"A. c #FCFCFC", +"B. c #F8F8F8", +"C. c #898989", +"D. c #585858", +"E. c #5E5E5E", +"F. c #666666", +"G. c #F1F0F0", +"H. c #EEEDEE", +"I. c #E4E4E5", +"J. c #BDBDBD", +"K. c #FFFFFF", +"L. c #676767", +"M. c #747474", +"N. c #E6E6E5", +"O. c #BDBDBC", +"P. c #E9EAE9", +"Q. c #F2F2F2", +"R. c #B4B4B5", +"S. c #696969", +"T. c #F6F6F6", +"U. c #9D9D9D", +"V. c #757575", +"W. c #F3F3F3", +"X. c #EFEEEE", +"Y. c #F3F3F4", +"Z. c #A2A3A2", +"`. c #767576", +" + c #7A7A7A", +".+ c #E7E7E8", +"++ c #BDBEBE", +"@+ c #F4F4F5", +"#+ c #BFBFBF", +"$+ c #F1F2F2", +"%+ c #C3C3C3", +"&+ c #FAFAFA", +"*+ c #6B6B6B", +"=+ c #979797", +"-+ c #F7F7F7", +";+ c #6D6D6D", +">+ c #BEBDBE", +",+ c #EBECEC", +"'+ c #F3F2F2", +")+ c #A5A5A5", +"!+ c #606060", +"~+ c #3B3B3B", +"{+ c #3D3D3D", +"]+ c #CDCDCD", +"^+ c #ECEBEB", +"/+ c #7D7C7D", +"(+ c #D2D2D2", +"_+ c #FBFBFB", +":+ c #636363", +"<+ c #EFEFF0", +"[+ c #EBEAEA", +"}+ c #EBEBEC", +"|+ c #484848", +"1+ c #8D8D8D", +"2+ c #F5F5F5", +"3+ c #BEBFBE", +"4+ c #838383", +"5+ c #F9F9F9", +"6+ c #F0EFF0", +"7+ c #EDECEC", +"8+ c #ECECED", +"9+ c #EEEEED", +"0+ c #F0F1F0", +"a+ c #737373", +"b+ c #6C6C6C", +"c+ c #EEEFEF", +"d+ c #ECECEB", +"e+ c #C2C2C2", +"f+ c #B5B5B5", +"g+ c #EFF0F0", +"h+ c #707070", +"i+ c #656565", +"j+ c #717171", +"k+ c #ABACAB", +"l+ c #F8F7F8", +"m+ c #B6B5B5", +"n+ c #F2F1F2", +"o+ c #D5D5D5", +"p+ c #D1D1D2", +"q+ c #D0D1D0", +"r+ c #999999", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % & * = - ; > % % % $ $ $ # . ", +". , ' # ) ! ~ { { ] ^ ^ ^ / ( _ : < [ } | . 1 ~ ) ) # ' , . ", +". 2 ) ~ 3 { ^ ^ 4 4 5 6 7 8 9 0 , ~ a b c d : e { 3 f ) , . ", +". g ~ { h i 4 6 7 j k l m n o p 8 | q r r ~ s t ^ u v ~ g . ", +". g ^ w 4 7 x l y z A A o B & m < C D E F m G 9 5 H ^ { g . ", +". 1 4 7 j l A A & I J m K L M N O & > P q Q g 9 l 7 4 4 R . ", +". 1 7 l A S & T U V V W X Y K Z ` .T ; r 4 ..+.A l @.7 1 . ", +". 1 y A & > U Z #.$ > $.%.&.*.=.#.-.V } ..;.>.,.I '.l l 1 . ", +". c ).& > V =.!.~.{.].: $ ^.+ ~./.(.l >._.D :.<.T > & A c . ", +". c > [.Z }./.|.'.1.2.3.4.5.6.7.8.{.~.9.0.a.b.-.V ;.> I c . ", +". 1.T V -./.|.7 c.r d.e.f.g.n ) h.i.7.j.k.l.T $ -.V U > m.. ", +". 1.V -.$ ~.7.} n.{.* o.^.p.q.r., 1 s.> 7.7.|.t.$ u.v. .1.. ", +". 1.w.=./.8.Z x.+ y.z.z.A.B.C.g.D.F E.F.a.L G.H./.$ w.I.1.. ", +". J.-.$ ~.j.N F.& z.z.K.K.z.y.8.|.-.Y ..L.M.$ j.~.% =.N.O.. ", +". J.=.P.{.Q.R.S.T.z.z.K.K.K.K.z.z.z.z.z.U.V.W.7.{./.$ =.J.. ", +". J.$ t.X.Y.Z.`.y.z.K.K.K.K.K.K.K.K.z.z.^. +h.Q.|.t.% .+J.. ", +". ++% ~.j.@+3.:.z.z.K.K.K.K.A.K.K.K.z.z.0 0 h.Q.|.~.% $ J.. ", +". #+t.{.$+h.n %+z.z.K.K.&+U.*+=+7.K.z.-+;+= T.Q.8.~./.% >+. ", +". #+,+|.'+h.)+%.z.z.K.K.t.!+~+{+,.K.z.l !+]+T.Q.8.~.^+/.G . ", +". #+~.8.Q.j./+^.y.z.K.K.K.r.*+(+_+z.z.c :+/.T.W.<+{.~.[+G . ", +". G }+|.Q.T.+.F.m z.z.K./.|+c K.K.z.y.1+: 2+T.Q.j.|.~.t.G . ", +". 3+~.|.7.@+A : K =.z.z.{.O A.K.K.z.y.4+>.5+2+W.6+|.7+t.G . ", +". #+8+9+0+Y.-+D a+V.* -+z.z.z.z.z.z.8 b+8 B.2+Q.j.c+{.d+G . ", +". #+{.|.j.Q.T.B.8 +E.a+* j.2+~.m e+a+f+&+B.2+Q.g+8.{.t.G . ", +". #+8+|.<+Q.Y.T.5+8.d h+i+j+r.b+L.r k+-+5+-+h.Q.j.8.{.~.G . ", +". #+8+|.<+7.W.2+l+&+&+V m+- _.; 8 .+&+&+B.T.W.n+j.8.{.}+G . ", +". c o.o.@ @ D o+) ^ A > V Z Z Z V > A i # o+D p+@ q+o.Y c . ", +". . . . . . 0 c.n.1+s >.} r+r+r+} >.s 1+n.c.0 . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_onLock.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_onLock.xpm new file mode 100644 index 0000000..74c2124 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_onLock.xpm @@ -0,0 +1,273 @@ +/* XPM */ +static char * spGreasePencil_onLock_xpm[] = { +"30 30 240 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DCDCDC", +") c #DCDCDD", +"! c #DCDDDD", +"~ c #B9B8B8", +"{ c #DBDADA", +"] c #DDDDDD", +"^ c #DDDEDD", +"/ c #DEDEDD", +"( c #D0D0D0", +"_ c #B9B9B9", +": c #ABABAB", +"< c #A9A9A9", +"[ c #A8A8A8", +"} c #AFAFAF", +"| c #A3A3A3", +"1 c #D6D5D5", +"2 c #DAD9D9", +"3 c #DCDBDB", +"4 c #DDDCDC", +"5 c #DEDEDE", +"6 c #DFDEDE", +"7 c #DEDFDF", +"8 c #9F9F9F", +"9 c #717171", +"0 c #828282", +"a c #989898", +"b c #9E9E9E", +"c c #9B9B9B", +"d c #7C7C7C", +"e c #767676", +"f c #C0C1C1", +"g c #DBDCDC", +"h c #DBDBDA", +"i c #DDDCDD", +"j c #DEDEDF", +"k c #DFDFDF", +"l c #DFE0DF", +"m c #E0E0DF", +"n c #E0E0E0", +"o c #C2C2C2", +"p c #868686", +"q c #B1B1B1", +"r c #999999", +"s c #8B8B8B", +"t c #949494", +"u c #B7B7B7", +"v c #929292", +"w c #AEAEAE", +"x c #BABABA", +"y c #E1E1E1", +"z c #E1E1E2", +"A c #E2E2E1", +"B c #9C9C9D", +"C c #CDCDCD", +"D c #666667", +"E c #828181", +"F c #A0A0A1", +"G c #A6A6A6", +"H c #666666", +"I c #8F908F", +"J c #939393", +"K c #BABAB9", +"L c #E1E1E0", +"M c #E3E3E3", +"N c #E3E3E4", +"O c #E4E4E4", +"P c #E2E2E2", +"Q c #B6B6B6", +"R c #B5B5B5", +"S c #848484", +"T c #E5E5E5", +"U c #E4E4E3", +"V c #E4E3E4", +"W c #B7B7B6", +"X c #C3C3C3", +"Y c #747474", +"Z c #DEDFDE", +"` c #E7E6E6", +" . c #D6D6D6", +".. c #969695", +"+. c #A4A4A4", +"@. c #E7E7E7", +"#. c #E6E6E6", +"$. c #707070", +"%. c #6D6D6D", +"&. c #D8D8D9", +"*. c #E1E0E1", +"=. c #BBBBBB", +"-. c #E1E0E0", +";. c #E9EAEA", +">. c #ECECEC", +",. c #EDEDED", +"'. c #BCBCBC", +"). c #777777", +"!. c #EAEAEA", +"~. c #E8E9E9", +"{. c #909090", +"]. c #757575", +"^. c #E3E3E2", +"/. c #E6E7E6", +"(. c #EEEEEE", +"_. c #BDBDBD", +":. c #808080", +"<. c #9A9A9A", +"[. c #B3B3B3", +"}. c #888887", +"|. c #EEEFEE", +"1. c #F1F1F1", +"2. c #EFEFEF", +"3. c #D4D4D4", +"4. c #DFDEDF", +"5. c #737373", +"6. c #E3E4E3", +"7. c #727272", +"8. c #606060", +"9. c #5C5C5C", +"0. c #525252", +"a. c #5B5B5B", +"b. c #F4F4F4", +"c. c #F2F1F2", +"d. c #9D9D9D", +"e. c #EBEBEC", +"f. c #7B7B7B", +"g. c #BBBCBB", +"h. c #888888", +"i. c #F6F6F6", +"j. c #575757", +"k. c #555555", +"l. c #B0B0B0", +"m. c #C9C9C9", +"n. c #8D8D8D", +"o. c #EBEBEB", +"p. c #E5E6E5", +"q. c #E5E5E4", +"r. c #E6E5E5", +"s. c #6F6F6F", +"t. c #FDFDFD", +"u. c #FEFEFE", +"v. c #FCFCFC", +"w. c #F5F5F5", +"x. c #898989", +"y. c #535353", +"z. c #585858", +"A. c #515151", +"B. c #9C9C9C", +"C. c #F1F0F0", +"D. c #EEEDEE", +"E. c #E4E4E5", +"F. c #F0F0F0", +"G. c #CBCBCB", +"H. c #FFFFFF", +"I. c #C6C6C6", +"J. c #A1A1A1", +"K. c #646464", +"L. c #E6E6E5", +"M. c #BDBDBC", +"N. c #E9EAE9", +"O. c #F2F2F2", +"P. c #B4B4B5", +"Q. c #696969", +"R. c #F3F3F3", +"S. c #EFEEEE", +"T. c #F3F3F4", +"U. c #A2A3A2", +"V. c #767576", +"W. c #858585", +"X. c #7A7A7A", +"Y. c #E7E7E8", +"Z. c #BDBEBE", +"`. c #F4F4F5", +" + c #7F7F7F", +".+ c #BFBFBF", +"++ c #F1F2F2", +"@+ c #8A8A8A", +"#+ c #FAFAFA", +"$+ c #6B6B6B", +"%+ c #979797", +"&+ c #F7F7F7", +"*+ c #A7A7A7", +"=+ c #BEBDBE", +"-+ c #EBECEC", +";+ c #F3F2F2", +">+ c #A5A5A5", +",+ c #C5C5C5", +"'+ c #3B3B3B", +")+ c #3D3D3D", +"!+ c #ECEBEB", +"~+ c #BEBEBE", +"{+ c #7D7C7D", +"]+ c #D2D2D2", +"^+ c #FBFBFB", +"/+ c #636363", +"(+ c #EFEFF0", +"_+ c #EBEAEA", +":+ c #D7D7D7", +"<+ c #484848", +"[+ c #787878", +"}+ c #BEBFBE", +"|+ c #838383", +"1+ c #969696", +"2+ c #F9F9F9", +"3+ c #F0EFF0", +"4+ c #EDECEC", +"5+ c #ECECED", +"6+ c #EEEEED", +"7+ c #F0F1F0", +"8+ c #D3D3D3", +"9+ c #C1C1C1", +"0+ c #6C6C6C", +"a+ c #F8F8F8", +"b+ c #EEEFEF", +"c+ c #ECECEB", +"d+ c #5E5E5E", +"e+ c #EFF0F0", +"f+ c #656565", +"g+ c #676767", +"h+ c #6E6E6E", +"i+ c #ABACAB", +"j+ c #F8F7F8", +"k+ c #B6B5B5", +"l+ c #ADADAD", +"m+ c #C4C4C4", +"n+ c #D5D5D5", +"o+ c #D1D1D2", +"p+ c #D0D1D0", +"q+ c #CFCFCF", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , ' ' ' ) ) ! ' ' ' ' > > ; ; = = # * & . ", +". ~ = ; { > ' ' ] ] ^ / ] ( _ : < < [ [ [ } | 1 > { 2 = & . ", +". _ ; > 3 4 ] / 5 6 7 ' 8 9 0 a 8 8 8 b c d e f ' g h ; _ . ", +". _ ' i ] 5 j k l m n o p = # q r s p t u > v w ^ ! ' > _ . ", +". x ] 5 6 k n n y z A | B C D E F G | t H I [ J k 5 ] ] K . ", +". x 5 k n L y M N O P . Q R S T U V M M W H X Y 5 k Z 5 x . ", +". x l n y P N T ` $ .e ] ..+.@.` #.T > $.< y %.&.*.k k x . ", +". =.-.y P O @.;.>.,.'.F @.). .>.!.~.#.{.r O a ].> P y n =.. ", +". =.P ^.T /.!.(.*._.:.<.[.}.|.1.2.,.3.Y 4.=.5.# O 6.P z =.. ", +". '.M O #.!.(.5 S 7.8.9.0.a.s = b.c.< d.e.f.o $ #.O N P g.. ", +". '.O #.$ >.1.a h.i.b.C %.j.k.e & l.e 3.m.n.o.o.$ p.q.V '.. ", +". '.r.@.!.2.T s.+ t.u.v.3.w.x.y.z.k.A.H %.B.C.D.!.$ r.E.'.. ", +". _.#.$ >.F.G.H y u.u.H.H.u.t.2.(.I.x J.K.9 $ F.>.% @.L.M.. ", +". _.@.N.,.O.P.Q.i.u.u.H.H.H.H.u.u.u.u.u.d.].R.1.,.!.$ @._.. ", +". _.$ o.S.T.U.V.t.u.H.H.H.H.H.H.H.H.u.u.W.X.b.O.(.o.% Y._.. ", +". Z.% >.F.`.s +u.u.H.H.H.H.v.H.H.H.u.u.0 0 b.O.(.>.% $ _.. ", +". .+o.,.++b.@+X u.u.H.H.#+d.$+%+1.H.u.&+%.*+i.O.2.>.!.% =+. ", +". .+-+(.;+b.>+,+u.u.H.H.o.8.'+)+u H.u.k 8.C i.O.2.>.!+!.~+. ", +". .+>.2.O.F.{+W.t.u.H.H.H.e $+]+^+u.u.=./+!.i.R.(+,.>._+~+. ", +". ~+e.(.O.i.[ H :+u.u.H.!.<+=.H.H.u.t.n.[+w.i.O.F.(.>.o.~+. ", +". }+>.(.1.`.n [+f.@.u.u.,.l.v.H.H.u.t.|+1+2+w.R.3+(.4+o.~+. ", +". .+5+6+7+T.&+8+5.].9+&+u.u.u.u.u.u.3.0+3.a+w.O.F.b+,.c+~+. ", +". .+,.(.F.O.i.a+3.X.d+5.9+F.w.>.:+o 5.R #+a+w.O.e+2.,.o.~+. ", +". .+5+(.(+O.T.i.2+2.q $.f+9 e 0+g+h+i+&+2+&+b.O.F.2.,.>.~+. ", +". .+5+(.(+1.R.w.j+#+#+O k+} l+m+3.Y.#+#+a+i.R.c.F.2.,.e.~+. ", +". =.( ( @ @ 8+n+= ' n P O T T T O P n 4 # n+8+o+@ p+( q+=.. ", +". . . . . . 0 S h.n.v 1+a r r r a 1+v n.h.S 0 . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_selButton.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_selButton.xpm new file mode 100644 index 0000000..0313f9a --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_selButton.xpm @@ -0,0 +1,268 @@ +/* XPM */ +static char * spGreasePencil_selButton_xpm[] = { +"30 30 235 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E7E7E7", +"* c #E9E9E9", +"= c #B8B8B8", +"- c #D8D8D7", +"; c #D7D7D7", +"> c #D8D9D9", +", c #D9D9D9", +"' c #D9D9DA", +") c #DADADB", +"! c #DADBDB", +"~ c #DBDBDB", +"{ c #DADADA", +"] c #B9B8B8", +"^ c #DAD9D9", +"/ c #D6D6D6", +"( c #D5D6D5", +"_ c #D6D6D5", +": c #DCDCDC", +"< c #DBDADA", +"[ c #D9D8D8", +"} c #B9B9B9", +"| c #DCDBDB", +"1 c #D4D4D4", +"2 c #D2D1D1", +"3 c #D2D2D2", +"4 c #D5D5D5", +"5 c #D8D7D7", +"6 c #DCDDDC", +"7 c #DDDDDD", +"8 c #DBDCDC", +"9 c #DADAD9", +"0 c #DCDBDC", +"a c #CECECE", +"b c #BBBBBA", +"c c #BABABA", +"d c #C0C0C0", +"e c #C5C5C5", +"f c #CACACA", +"g c #CFCFCF", +"h c #DEDDDD", +"i c #B7B7B7", +"j c #8E8E8E", +"k c #7B7B7A", +"l c #767676", +"m c #989898", +"n c #B4B4B4", +"o c #CDCDCD", +"p c #DBDCDB", +"q c #DEDEDE", +"r c #BABAB9", +"s c #DDDDDC", +"t c #D3D3D3", +"u c #A8A8A9", +"v c #AFAFAF", +"w c #B5B5B5", +"x c #A5A5A5", +"y c #888888", +"z c #717171", +"A c #696969", +"B c #828282", +"C c #A7A7A7", +"D c #C1C1C1", +"E c #DDDEDD", +"F c #DEDFDE", +"G c #DFDFDF", +"H c #D7D7D8", +"I c #9D9C9C", +"J c #BFBFBF", +"K c #C3C3C3", +"L c #A2A2A2", +"M c #6A6A6A", +"N c #797979", +"O c #A4A4A4", +"P c #C4C4C4", +"Q c #DEDEDF", +"R c #BBBBBB", +"S c #E0DFDF", +"T c #C9C9C9", +"U c #969696", +"V c #C2C2C2", +"W c #AAAAAA", +"X c #858585", +"Y c #6C6C6C", +"Z c #7F7F7F", +"` c #949494", +" . c #E0E0E0", +".. c #E1E1E1", +"+. c #E1E1E0", +"@. c #D9DAD9", +"#. c #939293", +"$. c #676767", +"%. c #545454", +"&. c #E1E2E1", +"*. c #E0E0E1", +"=. c #BCBCBC", +"-. c #E2E2E2", +";. c #ACACAC", +">. c #BEBEBE", +",. c #B6B6B6", +"'. c #A9A9A9", +"). c #939393", +"!. c #727272", +"~. c #909090", +"{. c #CBCCCB", +"]. c #E2E2E3", +"^. c #BBBCBB", +"/. c #E3E3E3", +"(. c #A3A3A3", +"_. c #9A9A9A", +":. c #7E7E7E", +"<. c #656565", +"[. c #3D3D3D", +"}. c #E3E3E4", +"|. c #E4E5E4", +"1. c #E4E4E3", +"2. c #E3E2E3", +"3. c #E5E4E4", +"4. c #9C9C9C", +"5. c #8A8A8A", +"6. c #686868", +"7. c #4E4E4E", +"8. c #BDBDBD", +"9. c #595959", +"0. c #878787", +"a. c #E4E3E4", +"b. c #E6E6E6", +"c. c #E5E5E5", +"d. c #E4E4E4", +"e. c #959595", +"f. c #757575", +"g. c #6F6F6F", +"h. c #9B9B9B", +"i. c #B0B0B0", +"j. c #7C7C7C", +"k. c #868686", +"l. c #6D6D6D", +"m. c #B2B2B2", +"n. c #E5E5E4", +"o. c #BDBDBC", +"p. c #E5E6E5", +"q. c #A8A8A8", +"r. c #C7C7C7", +"s. c #848484", +"t. c #E3E2E2", +"u. c #DBDBDC", +"v. c #CECFCE", +"w. c #868586", +"x. c #A6A6A6", +"y. c #C6C6C6", +"z. c #E5E5E6", +"A. c #BDBEBE", +"B. c #DDDDDE", +"C. c #929292", +"D. c #979797", +"E. c #838383", +"F. c #8D8D8D", +"G. c #A1A1A1", +"H. c #707070", +"I. c #8F8F8F", +"J. c #E6E7E7", +"K. c #9D9D9D", +"L. c #A2A1A1", +"M. c #7B7B7B", +"N. c #BEBDBE", +"O. c #E9EAEA", +"P. c #EAEAEA", +"Q. c #E9E8E8", +"R. c #B1B1B1", +"S. c #8C8C8C", +"T. c #E1E0E0", +"U. c #ECECEC", +"V. c #EBEBEB", +"W. c #E8E7E8", +"X. c #E8E8E9", +"Y. c #777777", +"Z. c #A0A0A0", +"`. c #AFAFB0", +" + c #E6E5E5", +".+ c #EAEAEB", +"++ c #EDEDED", +"@+ c #EDECED", +"#+ c #EEEEEE", +"$+ c #EFEFEF", +"%+ c #E9E9EA", +"&+ c #898989", +"*+ c #ADADAD", +"=+ c #BEBFBE", +"-+ c #EFEFF0", +";+ c #F0F0F0", +">+ c #F1F1F1", +",+ c #F2F1F2", +"'+ c #F3F3F3", +")+ c #F2F2F2", +"!+ c #EEEEED", +"~+ c #7D7D7D", +"{+ c #E7E6E6", +"]+ c #EBEBEC", +"^+ c #EDEDEC", +"/+ c #EEEFEE", +"(+ c #F3F2F3", +"_+ c #F4F4F4", +":+ c #F5F4F5", +"<+ c #F1F0F1", +"[+ c #919191", +"}+ c #EAEAE9", +"|+ c #EFEEEE", +"1+ c #F4F4F5", +"2+ c #F6F6F6", +"3+ c #F5F5F6", +"4+ c #EDECEC", +"5+ c #737373", +"6+ c #E7E8E8", +"7+ c #ECECED", +"8+ c #F2F2F3", +"9+ c #F4F5F4", +"0+ c #F7F6F7", +"a+ c #F5F5F5", +"b+ c #B3B3B3", +"c+ c #CCCCCC", +"d+ c #F7F7F7", +"e+ c #F5F4F4", +"f+ c #CBCBCB", +"g+ c #EEEDEE", +"h+ c #D3D2D3", +"i+ c #CDCCCC", +"j+ c #D0D0D1", +"k+ c #CFD0CF", +"l+ c #8B8B8B", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ # # # # # # # # # # # # # # # # # @ @ @ @ @ @ @ @ + . ", +". $ % & % % % % & & & & & % % % % % % % % % * * * % % % $ . ", +". = - ; $ > , , $ $ $ $ , ' ) ! ~ ~ ~ ~ { { , , , , $ - = . ", +". ] , , ^ { { , ; / ( _ ; $ , { ~ : : : : ~ ~ < { ^ [ , = . ", +". } , { < | { - 1 2 # @ 3 1 4 5 , ~ : 6 : 7 : 8 ~ ! 9 , } . ", +". } ~ 0 : : ' / a b c d e f g 3 4 - { ~ 7 7 7 7 6 8 ~ { } . ", +". c : 7 h : { 1 i j k l . m n e o 3 / $ { p : 7 q 7 : : r . ", +". c 7 q q s , t u v w x y z A B C D o 3 4 $ ~ 7 q q E 7 c . ", +". c F G q : H @ I J K J c w L . M N O P o t $ : Q G q q c . ", +". R S G q ~ 4 T U P V D D D J } W X Y Z ` e 4 ~ G . .G R . ", +". R ..+.G @.3 c #.J D D D D D D D R L $.%.W 4 : .&...*.R . ", +". =.-...q , # ;.` >.J } ,.D D D n '.).!.~.{., q ..-.]...^.. ", +". =./.-.G $ a (._.= L :.z ,.D = <.[.A L f / 7 ..}.|.1.2.=.. ", +". =.3./.G , a 4.U 5.6.<.7.x D 8.).9.0.e 3 { .a.b.b.3.}.=.. ", +". 8.c.d. ., a e.f.g.h.i.j.k.=.D c j l.m.3 { ..d.b.b.b.n.o.. ", +". 8.b.p...) o X <.q.e r.C g.= D D n N s.K ; 7 -.c.b.b.b.8.. ", +". 8.& b.t.u.v.w.N P a o =.z x.J D d q.z ~.y.; : ..d.b.z.8.. ", +". A.% & d.B.3 C.D.o 1 t y.E.F.R D D d G.H.I.>.t ~ ./.c.8.. ", +". >.* % J...{ V y.; ~ , g K.j.= D D D d L.f.M.C o 7 -.c.N.. ", +". >.O.P.Q.c...7 7 .-.G / i z m.D D D D D R.S.Y K.1 T.c.>.. ", +". >.P.U.V.* W.b.& % X.d.: y.Y.(.J D D D D V Z.N `.$ .. +>.. ", +". >..+U.U.++++@+#+$+#+%+ .a &+I.8.D D D V *+E.Z.# q /.& >.. ", +". =+V.U.#+-+;+>+,+'+)+!+d.4 L ~+*+D D V i.y ).T : -.{+% >.. ", +". J ]+^+/+-+>+(+_+:+_+<+* : R f.F.= V *+0.[+y.: /.& * }+>.. ", +". J U.++|+;+)+'+1+2+3+'+4+2.a k.5+C (.B e.y.7 d.6+V.V.P.>.. ", +". J 7+#+-+>+8+_+9+2+0+a+>+* 7 b+X S.E.Z.c+q c.P.U.++U.V.>.. ", +". J 7+#+-+>+)+_+:+2+d+d+e+$+& 7 f+} V 4 .b.V.g+#+#+U..+>.. ", +". R # # @ @ 3 3 3 3 t t h+3 # a c+T f i+a g # j+# k+g a R . ", +". . . . . . . . . . . . B s.y l+I.[+~.F.&+X E.B . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_storeButton.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_storeButton.xpm new file mode 100644 index 0000000..5ef3cbf --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_storeButton.xpm @@ -0,0 +1,252 @@ +/* XPM */ +static char * spGreasePencil_storeButton_xpm[] = { +"30 30 219 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #858585", +"$ c #888888", +"% c #8C8C8C", +"& c #919191", +"* c #989898", +"= c #9F9F9F", +"- c #A6A6A6", +"; c #A8A8A8", +"> c #A5A5A5", +", c #969696", +"' c #8E8E8E", +") c #848484", +"! c #C8C8C8", +"~ c #D1D1D1", +"{ c #D2D2D2", +"] c #D3D3D3", +"^ c #D5D5D5", +"/ c #D7D7D7", +"( c #DADADA", +"_ c #DDDDDD", +": c #E1E1E1", +"< c #E5E5E5", +"[ c #999999", +"} c #C5C5C5", +"| c #E4E4E4", +"1 c #DFDFDF", +"2 c #D6D6D6", +"3 c #D8D8D8", +"4 c #E8E8E8", +"5 c #EAEAEA", +"6 c #EBEBEB", +"7 c #EDEDED", +"8 c #EFEFEF", +"9 c #F1F1F1", +"0 c #F3F3F3", +"a c #E0E0E0", +"b c #C6C6C6", +"c c #747474", +"d c #787878", +"e c #929292", +"f c #B4B4B4", +"g c #F0F0F0", +"h c #E9E9E9", +"i c #B8B8B8", +"j c #D8D8D7", +"k c #D9D9D9", +"l c #DCDCDC", +"m c #DBDBDB", +"n c #898989", +"o c #6E6E6E", +"p c #B5B5B5", +"q c #7B7B7B", +"r c #C3C3C3", +"s c #E6E6E6", +"t c #B9B8B8", +"u c #DFDEDE", +"v c #E3E3E3", +"w c #7C7C7C", +"x c #ABABAB", +"y c #C9C9C9", +"z c #FDFDFD", +"A c #FCFCFC", +"B c #9D9D9D", +"C c #DCDBDB", +"D c #DBDADA", +"E c #DAD9D9", +"F c #B9B9B9", +"G c #7A7A7A", +"H c #FEFEFE", +"I c #959595", +"J c #EEEEEE", +"K c #E7E8E7", +"L c #DEDEDE", +"M c #DCDDDD", +"N c #DBDCDC", +"O c #DBDBDA", +"P c #DFDEDF", +"Q c #E2E2E2", +"R c #A2A2A2", +"S c #5E5E5E", +"T c #C4C4C4", +"U c #D0D0D0", +"V c #F8F8F8", +"W c #AEAEAE", +"X c #6C6C6B", +"Y c #DEDFDE", +"Z c #BBBBBB", +"` c #E6E5E5", +" . c #F2F2F2", +".. c #585858", +"+. c #4D4D4D", +"@. c #494949", +"#. c #474747", +"$. c #5B5B5B", +"%. c #8D8D8D", +"&. c #C1C1C1", +"*. c #EAEBEA", +"=. c #E7E7E7", +"-. c #BABAB9", +";. c #BCBCBC", +">. c #CDCDCD", +",. c #555555", +"'. c #707070", +"). c #BEBEBE", +"!. c #9A9A9A", +"~. c #666666", +"{. c #5A595A", +"]. c #868686", +"^. c #DFE0DF", +"/. c #BABABA", +"(. c #E2E3E2", +"_. c #D4D4D4", +":. c #8F8F8F", +"<. c #717171", +"[. c #8B8B8B", +"}. c #FFFFFF", +"|. c #ACACAC", +"1. c #484848", +"2. c #626262", +"3. c #535353", +"4. c #5C5C5C", +"5. c #676767", +"6. c #777777", +"7. c #E8E8E9", +"8. c #E4E3E4", +"9. c #E5E4E4", +"0. c #C0C0C0", +"a. c #797979", +"b. c #FBFCFC", +"c. c #CECECE", +"d. c #A7A7A7", +"e. c #4C4C4C", +"f. c #767676", +"g. c #CFCFCF", +"h. c #ECECEC", +"i. c #F4F4F4", +"j. c #F5F5F5", +"k. c #6B6B6B", +"l. c #7E7E7E", +"m. c #6F6F6F", +"n. c #C7C7C7", +"o. c #E1E1E2", +"p. c #656465", +"q. c #515151", +"r. c #595959", +"s. c #E5E5E6", +"t. c #BBBCBB", +"u. c #BDBDBD", +"v. c #B7B7B7", +"w. c #757575", +"x. c #E7E7E6", +"y. c #E7E6E6", +"z. c #B3B3B3", +"A. c #464646", +"B. c #4E4E4E", +"C. c #9B9B9B", +"D. c #F6F6F6", +"E. c #E8E7E7", +"F. c #E4E4E5", +"G. c #B0B0B0", +"H. c #5D5D5D", +"I. c #4B4B4B", +"J. c #7F7F7F", +"K. c #BDBDBC", +"L. c #4A4A4A", +"M. c #737373", +"N. c #F1F0F0", +"O. c #5A5A5A", +"P. c #727272", +"Q. c #FBFBFB", +"R. c #646464", +"S. c #656565", +"T. c #6C6C6C", +"U. c #BEBFBF", +"V. c #939393", +"W. c #CCCCCC", +"X. c #4F4F4F", +"Y. c #B6B6B6", +"Z. c #BFBFBF", +"`. c #F2F3F3", +" + c #B1B1B1", +".+ c #A9A9A9", +"++ c #5F5F5F", +"@+ c #BFBEBF", +"#+ c #EBECEC", +"$+ c #525252", +"%+ c #EFEEEE", +"&+ c #CBCBCB", +"*+ c #ECEBEB", +"=+ c #EBEBEC", +"-+ c #A1A1A1", +";+ c #F9F9F9", +">+ c #BEBFBE", +",+ c #EEEDED", +"'+ c #ECECED", +")+ c #EEEEED", +"!+ c #F0F1F0", +"~+ c #F3F3F4", +"{+ c #F7F7F7", +"]+ c #C3C2C3", +"^+ c #AAAAAA", +"/+ c #808080", +"(+ c #F0F1F1", +"_+ c #ECECEB", +":+ c #9C9C9D", +"<+ c #F1F2F2", +"[+ c #EFEFF0", +"}+ c #F4F4F5", +"|+ c #777877", +"1+ c #F9F8F9", +"2+ c #F3F2F3", +"3+ c #E5E4E5", +"4+ c #D3D3D4", +"5+ c #D0D1D0", +"6+ c #878787", +". . . . + @ # $ % & * = - ; > = , ' $ ) + . . . . . . . . . ", +". ! ~ ~ { ] ^ / ( _ : < ! [ } | 1 ( 2 ] ~ ~ ~ ~ ~ ~ ~ ~ ! . ", +". 3 4 4 5 6 7 8 9 0 a b @ c d e f g 7 6 h h h h h 4 4 4 3 . ", +". i j k l a < m f n o o = k p # q r s : _ m ( ( k k 3 j i . ", +". t k m u v ^ n w x y 7 z z A 0 d B 5 | a _ l C m D E k i . ", +". F ( l a s ^ G % A z H H H H A I @ J K v a L M l N O ( F . ", +". F l P Q 4 8 R S T v R U J V z W X 3 7 4 | Q a Y M l m F . ", +". Z L : ` 6 9 .S ..+.@.#.+.$.%.} S &. .J *.=.| : 1 _ _ -.. ", +". ;.a | h 8 >.& ,.'.).l p !.~.@.( {.].3 j ~ 7 h < : ^.L /.. ", +"+ ;.(.=._.:.<.[.2 H H }.}.}.|.1.2 2.3.4.5.6.I : 7.8.a 1 /.. ", +"+ ).9.h 0.a.F b.H H }.}.}.}.c.1.d.).e.f.g.Z f.c.h.s Q a Z . ", +"+ ).< 5 v # 6.i.H H }.}.}.}.j.S k.V l.+.).Q m.n.7 4 | o.Z . ", +"+ ).s 5 g ).p.p H H }.}.}.}.}.@ q.h a r.3.% k.F 8 h s.Q t.. ", +". u.s h 8 g d 4.J H }.}.}.}.}.r #.o 4.@...v.w.d.g *.x.8.;.. ", +". u.y.h J 0 v.$.z.H }.}.}.}.}.1 A.B.C._.D.A + & 9 h.E.F.;.. ", +". u.=.5 J 0 G.H.~.D.}.}.}.}.}.}.@ I._.}.H H [ J.0 J h x.K.. ", +". u.4 *.8 i.%.<.B.v.}.}.}.}.}.}.m L.* }.H H G.M.v 8 6 4 ).. ", +". ).h h.N.F.f.T O.P.z }.}.}.}.}.Q.R.S.V H H ! T.2 9 h.7.).. ", +". U.5 7 9 c.m.< V.I.W.}.}.}.}.}.z %.X.=.H H v T.Y. .7 h ).. ", +". Z.6 J `.y k.z. ++.T./ _ _ W..+) ++) i.H H Q.+ !.0 7 5 @+. ", +". Z.#+8 0 >.o r.+.@.1.1.1.1.1.@.X.$+O.S.f.l.[.w.:.0 %+6 Z.. ", +". Z.h.8 0 a G ) &+y y y y y y 0.Y.* % J.w.4.<.c d.0 8 *+Z.. ", +". ).=+J .D.-+o Q H H }.}.}.}.}.}.}.}.H z ;+z.n 7 .J h.Z.. ", +". >+h.J 9 j.: w ].j.H H }.}.}.}.}.}.H H H >.w l j.9 ,+6 ).. ", +". Z.'+)+!+~+{+]+'.^+H H H H H H H H H H < /+W.D.0 (+J _+).. ", +". Z.7 J N.0 D.;+:+6.^ h < =.4 4 4 4 4 s V. +V j.<+g 7 6 ).. ", +". Z.'+J [+ .}+{+^.].a.<.T.'.<.<.<.P.|+. R {+D.i.9 8 7 h.).. ", +". Z.'+J [+9 0 D.1+m >.! ! &+W.W.W.W.c._.;+V j.2+g 8 7 =+).. ", +". Z U U ~ { _./ m 1 Q | 3+< < < 3+| v a _ k 2 4+~ 5+U g.Z . ", +". . . . . + ) 6+% e , * [ [ [ [ [ * , V.' n # @ . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_title.png b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_title.png new file mode 100644 index 0000000..581cdf1 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_title.png differ diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_title.png.bak b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_title.png.bak new file mode 100644 index 0000000..581cdf1 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_title.png.bak differ diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_tmpOff.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_tmpOff.xpm new file mode 100644 index 0000000..0b857d9 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_tmpOff.xpm @@ -0,0 +1,238 @@ +/* XPM */ +static char * spGreasePencil_tmpOff_xpm[] = { +"30 30 205 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #C7C7C7", +"# c #D0D0D0", +"$ c #858585", +"% c #D5D5D5", +"& c #E3E3E3", +"* c #E5E5E5", +"= c #E6E6E6", +"- c #E7E7E7", +"; c #E8E8E8", +"> c #D7D7D7", +", c #898989", +"' c #B9B9B9", +") c #D2D2D1", +"! c #D2D2D2", +"~ c #D4D4D4", +"{ c #D5D6D6", +"] c #D9D9D9", +"^ c #D9DAD9", +"/ c #DADADA", +"( c #D8D8D8", +"_ c #D8D8D9", +": c #DBDBDB", +"< c #D6D6D6", +"[ c #D7D7D6", +"} c #B8B8B8", +"| c #8C8C8C", +"1 c #BABABA", +"2 c #C8C8C8", +"3 c #CFCFCF", +"4 c #D2D1D1", +"5 c #D3D3D3", +"6 c #D8D9D8", +"7 c #D6D5D5", +"8 c #D7D6D6", +"9 c #8D8D8D", +"0 c #BBBBBB", +"a c #BEBEBE", +"b c #B5B5B5", +"c c #CAC9C9", +"d c #D1D0D0", +"e c #D6D6D5", +"f c #CECECE", +"g c #D3D4D4", +"h c #8B8B8B", +"i c #AAAAAA", +"j c #C4C4C4", +"k c #CECECF", +"l c #D1D1D1", +"m c #D2D3D2", +"n c #C9C9C9", +"o c #B3B3B3", +"p c #A3A3A3", +"q c #CBCBCB", +"r c #B6B6B6", +"s c #C4C5C4", +"t c #D4D5D5", +"u c #888888", +"v c #C0BFBF", +"w c #9F9F9F", +"x c #CDCDCD", +"y c #989898", +"z c #8B8B8C", +"A c #ACACAC", +"B c #BFBFC0", +"C c #ACABAB", +"D c #CCCCCC", +"E c #C9CAC9", +"F c #AEAEAE", +"G c #C2C2C2", +"H c #BABAB9", +"I c #999999", +"J c #B1B1B1", +"K c #C6C6C6", +"L c #B7B7B7", +"M c #909090", +"N c #BCBCBC", +"O c #7B7B7B", +"P c #C5C5C5", +"Q c #C3C3C2", +"R c #A2A2A2", +"S c #DBDCDB", +"T c #DCDCDC", +"U c #8E8E8E", +"V c #C1C1C1", +"W c #919191", +"X c #A6A6A6", +"Y c #BDBDBD", +"Z c #A3A4A3", +"` c #DEDEDE", +" . c #DEDDDD", +".. c #B0B0B0", +"+. c #868686", +"@. c #A5A5A5", +"#. c #C0C0C0", +"$. c #DDDDDD", +"%. c #DFDFDF", +"&. c #E0E0E0", +"*. c #DEDEDD", +"=. c #D4D5D4", +"-. c #A9A9A9", +";. c #7C7C7C", +">. c #BFBFBF", +",. c #848484", +"'. c #707070", +"). c #DDDEDD", +"!. c #E0E0E1", +"~. c #E1E1E1", +"{. c #CCCBCC", +"]. c #7E7E7E", +"^. c #A8A8A8", +"/. c #929292", +"(. c #7D7D7D", +"_. c #BBBCBB", +":. c #C2C1C1", +"<. c #949494", +"[. c #737373", +"}. c #C0BFC0", +"|. c #D7D7D8", +"1. c #E2E2E1", +"2. c #E3E2E3", +"3. c #E3E2E2", +"4. c #B2B2B2", +"5. c #7A7A7A", +"6. c #E2E1E1", +"7. c #E3E3E4", +"8. c #979797", +"9. c #808080", +"0. c #9C9C9C", +"a. c #878787", +"b. c #E2E2E2", +"c. c #E4E4E3", +"d. c #BDBDBC", +"e. c #E4E4E4", +"f. c #E2E3E2", +"g. c #DDDDDE", +"h. c #E0E0DF", +"i. c #727272", +"j. c #474747", +"k. c #838383", +"l. c #5E5E5E", +"m. c #636363", +"n. c #C3C3C3", +"o. c #CACACA", +"p. c #DEDEDF", +"q. c #4E4E4E", +"r. c #383838", +"s. c #4A4A4A", +"t. c #717171", +"u. c #969696", +"v. c #9A9A9A", +"w. c #6B6B6B", +"x. c #9D9D9D", +"y. c #BDBEBE", +"z. c #D9D9DA", +"A. c #D5D5D4", +"B. c #ABABAB", +"C. c #5B5B5B", +"D. c #676767", +"E. c #616161", +"F. c #666666", +"G. c #9E9E9E", +"H. c #7F7F7F", +"I. c #B4B4B4", +"J. c #959595", +"K. c #767676", +"L. c #5D5D5D", +"M. c #797979", +"N. c #9B9B9B", +"O. c #8A8A8A", +"P. c #BEBDBE", +"Q. c #E5E6E6", +"R. c #494949", +"S. c #A4A4A4", +"T. c #A0A0A0", +"U. c #B8B9B8", +"V. c #DADADB", +"W. c #E8E7E7", +"X. c #787878", +"Y. c #656565", +"Z. c #555555", +"`. c #E9E9E9", +" + c #BEBFBE", +".+ c #696969", +"++ c #5C5C5C", +"@+ c #E4E4E5", +"#+ c #C9C9CA", +"$+ c #6F6F6F", +"%+ c #646464", +"&+ c #E0E1E1", +"*+ c #E8E8E7", +"=+ c #A1A1A1", +"-+ c #A7A7A7", +";+ c #D6D7D6", +">+ c #B2B1B2", +",+ c #ADADAD", +"'+ c #E1E0E1", +")+ c #B0AFB0", +"!+ c #CECDCE", +"~+ c #D1D0D1", +"{+ c #C5C5C6", +"]+ c #939393", +"^+ c #8F8F8F", +". + + + . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"+ @ # # # # # # # # # # # # # # # # # # # # # # # # # # @ . ", +"$ % & & * = - ; ; ; ; - = = = - - ; ; ; ; ; - - - = = - > . ", +", ' ) ! ~ { > ] ] ^ / ] ( ( _ ] ] / : : / ] > > < < < [ } . ", +"| 1 2 3 4 5 < ( / ] 6 [ % % % > ( / / : / ( < % % 7 8 > } . ", +"9 0 a b c d 5 e > 8 % 5 3 f 3 ! % > ] ^ ( < 5 f @ g [ ( ' . ", +"h 0 3 a i j k l m ! # n o p 1 q 3 5 < > < 5 q r s t > ] ' . ", +"u 0 5 # v w 1 q x q 1 y z A B C 1 D l ! l E F G ! < ] : H . ", +"$ 1 > ~ 3 1 I J K L . M r G N h O i P x Q R } l % ( S T 1 . ", +"+ 1 : ( ~ f b U i V 0 a V V V 0 I W X Y y Z n l > : T ` 1 . ", +". 0 .: > ! q ..+.@.#.V V V V V Y a ' W U F q ! ( $.%.%.0 . ", +". 0 &.*./ =.f K -.;.X >.V V V V V 1 M ,.U '...l ( ).&.!.0 . ", +". N ~.%.: % {.A j X ].^.V V V V 0 /.O J L (.9 q ( $.!.~._.. ", +". N ~.%./ 5 o 1 f n X . F :.V 0 <.[.A V }.R O P |.` 1.2.N . ", +". N 3.%./ x ' ! % 5 q R + 4.Y y [.@.N V V L 5.G ( ` 6.7.N . ", +". Y & ~.$.> ~ / T / % n 8.9.M '.0.8.a.J V N . P > ` b.c.d.. ", +". Y e.f.&.g.g.h.&.%.] # N i.j.k.h l.m.].N n.i o.% T b.e.Y . ", +". Y * & ~.p.%.~.b.%.( D M q.r.s.t.u.v.w.x.G j Y o./ &.7.Y . ", +". y.= & %.z.T %.%.T A.B.C.D.'.E.F.U G.G.H.I.#.J.4.> %.& Y . ", +". a * b.$.n.! / / < Y O K.9 B.+ L.C.@.G.M.N.o O.V ( &.e.P.. ", +". a Q.~./ b V 5 5 >.| y w ^.M x.].R.;., [.N.O.F ~ T 3.= a . ", +". a * ~.] G Y D 0 O.v.S.B.v.U T.,.,.R.C.J.U.#.! V.~.= W.a . ", +". a = b./ ! q r ,.8.1 X.N., R I , G.Y.Z.J.j 3 < ` e.- `.a . ", +"+ += ~.: 5 >.O.<.} L H.W U J.y I | u..+++w q > ` e.W.`.a . ", +"k.>.@+h.6 #+I 8.y I X I ,.i X.$+%+l.[.(.O.9.A 3 : &+* *+a . ", +",.>.~.: # ^.=+@ j G., ..n.q ../.h u.I.j n -+O.J l T ~.e.a + ", +"+.>.$.% o =+o.< ;+# >+u.Y ~ ( ( ~ < ] / ( # ,+U J 3 T b.a ,.", +"u >./ 1 =+@ / %.'+%./ # 7 &.* = = = = * b.$.5 )+W N.l p.a $ ", +"a.N 2 -.I.2 D x f f x D !+3 # l ~+# # # 3 x q {+F 8.Y n N +.", +"+.| ]+u.y J.^+O.u , | 9 | , a.+.$ $ $ $ a.h W y N.8.y W O.$ "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_tmpOn.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_tmpOn.xpm new file mode 100644 index 0000000..517ff54 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_tmpOn.xpm @@ -0,0 +1,253 @@ +/* XPM */ +static char * spGreasePencil_tmpOn_xpm[] = { +"30 30 220 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E7E7E7", +"* c #E6E6E6", +"= c #E9E9E9", +"- c #B8B8B8", +"; c #D8D8D7", +"> c #D7D7D7", +", c #D8D9D9", +"' c #D9D9D9", +") c #DADADA", +"! c #DADBDA", +"~ c #D8D8D9", +"{ c #DBDBDB", +"] c #B9B8B8", +"^ c #DAD9D9", +"/ c #D8D9D8", +"( c #D6D6D6", +"_ c #D5D5D5", +": c #DCDCDC", +"< c #DBDADA", +"[ c #B9B9B9", +"} c #DCDBDB", +"| c #DCDCDB", +"1 c #D9D8D8", +"2 c #D3D3D3", +"3 c #CFCFCF", +"4 c #D3D2D2", +"5 c #DBDCDB", +"6 c #DDDDDD", +"7 c #DBDCDC", +"8 c #DADBDB", +"9 c #DADAD9", +"0 c #DCDBDC", +"a c #DCDCDD", +"b c #D9DAD9", +"c c #D6D6D5", +"d c #D2D2D2", +"e c #CCCCCC", +"f c #AAAAAA", +"g c #BDBDBD", +"h c #D4D4D4", +"i c #DEDEDE", +"j c #DCDDDC", +"k c #BABABA", +"l c #DEDDDD", +"m c #C3C3C3", +"n c #A7A7A7", +"o c #9E9E9E", +"p c #B7B7B7", +"q c #C6C6C6", +"r c #B4B3B3", +"s c #BEBEBF", +"t c #CECECE", +"u c #BABAB9", +"v c #DFDFDF", +"w c #DFDFDE", +"x c #D6D6D7", +"y c #C9C9C9", +"z c #A3A3A3", +"A c #ADADAD", +"B c #919190", +"C c #B4B4B4", +"D c #DDDEDD", +"E c #DEDFDE", +"F c #DDDDDE", +"G c #D8D7D7", +"H c #D4D4D3", +"I c #CDCDCD", +"J c #B3B3B3", +"K c #A9A9A9", +"L c #DFDEDF", +"M c #BBBBBB", +"N c #E0DFDF", +"O c #D9DADA", +"P c #DADADB", +"Q c #D8D7D8", +"R c #E1E1E1", +"S c #E0E0DF", +"T c #D9D8D9", +"U c #E3E2E2", +"V c #E3E3E2", +"W c #E1E2E1", +"X c #DFDEDE", +"Y c #CECECF", +"Z c #AFAFAF", +"` c #8D8D8D", +" . c #E0E0E0", +".. c #E0E0E1", +"+. c #BCBCBC", +"@. c #C2C2C2", +"#. c #E2E2E2", +"$. c #E5E5E5", +"%. c #C6C6C7", +"&. c #939393", +"*. c #999999", +"=. c #BBBCBB", +"-. c #C7C7C7", +";. c #E4E4E4", +">. c #E7E6E6", +",. c #E2E1E1", +"'. c #D7D7D6", +"). c #CDCCCD", +"!. c #B0B0B0", +"~. c #888888", +"{. c #E2E2E1", +"]. c #E3E2E3", +"^. c #E3E3E3", +"/. c #E6E7E6", +"(. c #C1C1C1", +"_. c #868585", +":. c #C4C4C4", +"<. c #E3E3E4", +"[. c #E4E5E5", +"}. c #DDDCDC", +"|. c #C0C0C0", +"1. c #CACACA", +"2. c #8A8A8A", +"3. c #E4E4E3", +"4. c #BDBDBC", +"5. c #E2E3E2", +"6. c #DEDEDF", +"7. c #A0A0A0", +"8. c #747474", +"9. c #767676", +"0. c #AEAEAE", +"a. c #CBCBCB", +"b. c #DFE0DF", +"c. c #E6E6E5", +"d. c #979696", +"e. c #7A7A7A", +"f. c #7D7D7D", +"g. c #808080", +"h. c #9B9B9B", +"i. c #727272", +"j. c #A2A2A2", +"k. c #C5C5C5", +"l. c #BDBEBE", +"m. c #DEDEDD", +"n. c #949494", +"o. c #8B8B8B", +"p. c #838383", +"q. c #959595", +"r. c #9F9F9F", +"s. c #828282", +"t. c #B6B6B6", +"u. c #969696", +"v. c #B2B2B2", +"w. c #BEBEBE", +"x. c #DDDEDE", +"y. c #C0C0C1", +"z. c #A6A6A6", +"A. c #7F7F7F", +"B. c #ABABAB", +"C. c #7B7B7B", +"D. c #9D9D9D", +"E. c #BEBDBE", +"F. c #E5E6E6", +"G. c #ACACAC", +"H. c #919191", +"I. c #A5A5A5", +"J. c #8E8E8E", +"K. c #777777", +"L. c #909090", +"M. c #B1B1B1", +"N. c #868686", +"O. c #8C8C8C", +"P. c #BFBFBF", +"Q. c #E8E7E7", +"R. c #E7E7E8", +"S. c #8C8C8D", +"T. c #898989", +"U. c #A1A1A1", +"V. c #C3C4C4", +"W. c #BEBFBE", +"X. c #E2E2E3", +"Y. c #989898", +"Z. c #E9E8E9", +"`. c #EAEAEA", +" + c #EBEAEA", +".+ c #EAEAEB", +"++ c #EBEBEA", +"@+ c #EAEBEA", +"#+ c #878787", +"$+ c #787878", +"%+ c #6F6F6F", +"&+ c #646464", +"*+ c #606060", +"=+ c #797979", +"-+ c #8F8F8F", +";+ c #ECECEC", +">+ c #ECEDED", +",+ c #EDECEC", +"'+ c #EBEBEB", +")+ c #979797", +"!+ c #EDEDED", +"~+ c #EDEEEE", +"{+ c #EEEEEE", +"]+ c #EBEBEC", +"^+ c #EDEDEE", +"/+ c #E0E1E0", +"(+ c #B5B4B5", +"_+ c #EFEFEF", +":+ c #EEEEEF", +"<+ c #E8E7E8", +"[+ c #D6D5D5", +"}+ c #E6E6E7", +"|+ c #F0F0F0", +"1+ c #F0EFF0", +"2+ c #CECDCE", +"3+ c #D1D0D1", +"4+ c #D0D0D1", +"5+ c #CFD0CF", +"6+ c #858585", +"7+ c #848484", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ # # # # # # # # # # # # # # # # @ @ @ @ @ @ + . ", +". $ % % % % % % % % % & * * * & & % % % % % % = = % % % $ . ", +". - ; > $ , ' ) ) ! ) ' $ $ ~ ' ' ) { { ) ) ' ' ' ' $ ; - . ", +". ] ' ' ^ ) { { { ) / > ( _ _ > $ ) { : : { { < ) < ^ ' - . ", +". [ ) ) < } : | ) 1 ( 2 # 3 # 4 _ $ ) 5 : 6 : 7 { 8 9 ' [ . ", +". [ { 0 : 6 a { b c d e - f g e # h > { 6 6 i 6 j 7 { ) [ . ", +". k : 6 l i 6 { $ 2 m n o p q r s t h / { j 6 6 i 6 : : u . ", +". k 6 i v w 6 { x y z A q 3 y z B C e _ $ ) : 6 i i D 6 k . ", +". k E v v v F ) G h # d _ c H I J K - # h ( ' { F L i i k . ", +". M N v v i : O $ $ ' P 6 6 { $ d 3 3 # e q 2 Q : i v v M . ", +". M R S v 5 ' > T { v R U V W X ! > h Y Z ` M h ) E ...M . ", +". +.R .6 ' 2 @.$ i #.$.* * $.#.v { > d %.&.*.I ' i ..R =.. ", +". +.R v { _ +.-.{ .;.& & >.;.,.i { '.d ).!.~.-.$ E {.].+.. ", +". +.U v { t g > i ^.* /.$.^. .6 ' h # # I (._.:.$ i ,.<.+.. ", +". g ^.R 6 $ _ 6 #.[.$.;. .}.1 2 I J z |.1.:.2.-.> i #.3.4.. ", +". g ;.5. .F 6.{.;.* ;.i > 3 |.+.7.8.9.` @.-.0.a._ : #.;.g . ", +". g $.^.R v b.].c.$. .> p d.e.f.g.h.o i.j.:.k.g a.) .<.g . ", +". l.* ^.v P i #.$.;.m.+ n.o.p.j.*.q.r.r.s.t.(.u.v.> v ^.g . ", +". w.$.#.x.q ( v ^.#.) y.r.q.A n.z.A.B.r.C.D.C o.(.' .;.E.. ", +". w.F.R } +.a.6 .v ' e G.B.H.o &.2.I.J.K.r.L.M._ 6 U * w.. ", +". w.* ^.: e ).{ i : ( - v.D.J.7.N.j.O.e.r.P.q ( 6 #.* Q.w.. ", +". w.R.$. .: { 0 { > t S.z O.z *.T.7.p.U.V.@ $ i ^.& = = w.. ", +". W.= % * X. .: > # m O.u.L.u.Y.*.` D.n.f h i $.Z.`. +`.w.. ", +". P..+++@+R.;.0 +.A !.o #+f $+%+&+*+=+-+@.{ ;.= ;+>+;+++w.. ", +". P.;+;+,+'+= #.h A H.v.m a.!.&.o.)+- e { ^.= !+~+{+;+`.w.. ", +". P.]+!+^+{+]+& /+_ (+Y.w.h $ $ h > 5 .$.= !+_+_+{+;+'+w.. ", +". P.]+!+:+_+{+;+<+#.{ # [+ .$.* * }+% `.;+_+|+1+_+{+;+]+w.. ", +". M 3 3 # # @ # # t I e 2+3 # @ 3+# @ @ @ @ @ 4+# 5+3 3 M . ", +". . . . . . s.p.6+~.o.` O.T.#+N.6+6+7+p.s.s.. . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_up.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_up.xpm new file mode 100644 index 0000000..8afcb48 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_up.xpm @@ -0,0 +1,293 @@ +/* XPM */ +static char * spGreasePencil_up_xpm[] = { +"30 30 260 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E9E9E9", +"* c #E7E7E7", +"= c #B8B8B8", +"- c #D8D8D7", +"; c #D9D9D9", +"> c #D8D9D9", +", c #DADADA", +"' c #DADBDA", +") c #DBDBDB", +"! c #D9D9DA", +"~ c #D9DADA", +"{ c #B9B8B8", +"] c #DAD9D9", +"^ c #DCDCDC", +"/ c #DBDCDB", +"( c #DADAD9", +"_ c #D7D7D7", +": c #DBDADA", +"< c #B9B9B9", +"[ c #DCDBDB", +"} c #DDDDDC", +"| c #D5D5D5", +"1 c #D3D3D3", +"2 c #D2D2D2", +"3 c #D4D3D3", +"4 c #DDDDDD", +"5 c #DBDCDC", +"6 c #DBDBDA", +"7 c #DCDBDC", +"8 c #DDDDDE", +"9 c #DCDDDC", +"0 c #CFCFCF", +"a c #B6B6B6", +"b c #ACACAC", +"c c #D4D4D4", +"d c #DEDEDE", +"e c #BABABA", +"f c #DEDDDD", +"g c #D4D4D3", +"h c #CDCDCD", +"i c #919191", +"j c #636363", +"k c #585858", +"l c #727171", +"m c #A3A3A3", +"n c #D8D9D8", +"o c #DFDFDF", +"p c #BABAB9", +"q c #D7D7D8", +"r c #8E8E8E", +"s c #373737", +"t c #2A2A2A", +"u c #343434", +"v c #636362", +"w c #AEADAE", +"x c #CECECE", +"y c #E0E0E0", +"z c #DDDEDD", +"A c #DEDFDE", +"B c #DADADB", +"C c #D3D2D2", +"D c #CCCCCC", +"E c #2E2E2E", +"F c #202020", +"G c #101010", +"H c #3B3B3B", +"I c #484848", +"J c #4E4E4E", +"K c #B5B5B5", +"L c #E0E0E1", +"M c #E0DFE0", +"N c #BBBBBB", +"O c #E0DFDF", +"P c #D6D6D6", +"Q c #D0D1D1", +"R c #C4C4C4", +"S c #828282", +"T c #292929", +"U c #161616", +"V c #060606", +"W c #1A1A1A", +"X c #2C2C2C", +"Y c #333333", +"Z c #3D3D3D", +"` c #686868", +" . c #BDBDBD", +".. c #E1E0E1", +"+. c #E1E1E1", +"@. c #DFDFDE", +"#. c #D6D7D6", +"$. c #B2B2B2", +"%. c #737373", +"&. c #2B2B2B", +"*. c #131313", +"=. c #1D1D1D", +"-. c #434343", +";. c #0B0B0B", +">. c #303030", +",. c #242424", +"'. c #181818", +"). c #3E3E3E", +"!. c #767676", +"~. c #C3C2C3", +"{. c #E1E2E1", +"]. c #BCBCBC", +"^. c #A8A7A8", +"/. c #6A6A6A", +"(. c #121212", +"_. c #171717", +":. c #6E6E6E", +"<. c #111111", +"[. c #5C5C5C", +"}. c #1F1F1F", +"|. c #222222", +"1. c #2D2D2D", +"2. c #424242", +"3. c #C2C2C2", +"4. c #E1E1E2", +"5. c #BBBCBB", +"6. c #C6C6C6", +"7. c #757575", +"8. c #191919", +"9. c #707070", +"0. c #141414", +"a. c #717171", +"b. c #7B7B7B", +"c. c #2F2F2F", +"d. c #353535", +"e. c #404040", +"f. c #7A7A7A", +"g. c #DCDCDD", +"h. c #E2E2E1", +"i. c #E3E2E3", +"j. c #525252", +"k. c #232323", +"l. c #C0C0C0", +"m. c #BFC0BF", +"n. c #6F6F6F", +"o. c #1B1B1B", +"p. c #454545", +"q. c #313131", +"r. c #CECDCE", +"s. c #E2E1E1", +"t. c #E2E2E3", +"u. c #838383", +"v. c #C7C7C7", +"w. c #323232", +"x. c #696969", +"y. c #C5C5C5", +"z. c #CBCBCB", +"A. c #262626", +"B. c #BFBFBF", +"C. c #656565", +"D. c #474747", +"E. c #A8A8A8", +"F. c #E4E4E3", +"G. c #BDBDBC", +"H. c #D5D6D5", +"I. c #6B6B6B", +"J. c #555555", +"K. c #797978", +"L. c #C9C9C9", +"M. c #747474", +"N. c #616161", +"O. c #C1C1C1", +"P. c #666666", +"Q. c #4A4A4A", +"R. c #535353", +"S. c #E4E4E4", +"T. c #D0CFCF", +"U. c #C2C2C3", +"V. c #808080", +"W. c #3C3C3C", +"X. c #6D6D6D", +"Y. c #4B4B4B", +"Z. c #515151", +"`. c #797979", +" + c #E2E2E2", +".+ c #E4E4E5", +"++ c #BDBEBE", +"@+ c #DBDBDC", +"#+ c #8B8B8B", +"$+ c #606060", +"%+ c #B3B3B3", +"&+ c #BEBEBE", +"*+ c #E3E3E3", +"=+ c #E6E6E6", +"-+ c #E3E4E4", +";+ c #979797", +">+ c #5E5E5E", +",+ c #CACACA", +"'+ c #DEDEDF", +")+ c #D9D8D8", +"!+ c #BEBDBE", +"~+ c #E8E9E9", +"{+ c #EAE9E9", +"]+ c #ECECEC", +"^+ c #EDEDED", +"/+ c #A6A6A5", +"(+ c #5D5D5D", +"_+ c #DFDEDE", +":+ c #E3E4E3", +"<+ c #E5E5E5", +"[+ c #E9E8E8", +"}+ c #EAEAEA", +"|+ c #EBEBEB", +"1+ c #EFEEEF", +"2+ c #F0F0F0", +"3+ c #EFEFEF", +"4+ c #565656", +"5+ c #5A5B5B", +"6+ c #EEEEED", +"7+ c #EEEEEE", +"8+ c #E9E9EA", +"9+ c #EAEAEB", +"0+ c #F2F1F2", +"a+ c #F1F1F1", +"b+ c #E1E0E0", +"c+ c #F0F0EF", +"d+ c #F2F2F2", +"e+ c #BEBFBE", +"f+ c #EFEFF0", +"g+ c #F3F2F3", +"h+ c #E3E3E2", +"i+ c #656566", +"j+ c #F4F4F3", +"k+ c #F3F3F3", +"l+ c #ECEBEB", +"m+ c #ECECED", +"n+ c #EFF0EF", +"o+ c #F0F0F1", +"p+ c #A0A0A1", +"q+ c #848484", +"r+ c #B4B4B4", +"s+ c #F4F4F4", +"t+ c #F5F5F5", +"u+ c #EDEEEE", +"v+ c #EBEBEA", +"w+ c #F0EFEF", +"x+ c #F4F4F5", +"y+ c #F2F2F3", +"z+ c #D9D8D9", +"A+ c #EFF0F0", +"B+ c #F1F1F2", +"C+ c #F4F5F4", +"D+ c #F5F4F5", +"E+ c #F6F6F6", +"F+ c #F4F3F3", +"G+ c #F3F3F4", +"H+ c #EBEBEC", +"I+ c #D3D2D3", +"J+ c #D1D1D2", +"K+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ # # # # # # # # # # # # # # # @ @ @ @ @ @ + . ", +". $ % % & & % % % % % % % * * * % % % % % % % & & % % % $ . ", +". = - $ ; > ; , , ' ) , , ! ! ~ , , ) ) , , ; ; ; ; $ - = . ", +". { ; , ] , ) ) ^ ^ / ( ; $ _ $ ; , ) ^ ^ ) ) : , : ] ; = . ", +". < ; , : [ ^ } ^ [ ~ $ | 1 2 3 | $ , / ^ 4 ^ 5 ) 5 6 , < . ", +". < ) 7 ^ 4 8 4 9 6 _ 1 0 a b a 0 c _ ) 4 d d 4 9 5 ^ ) < . ", +". e ^ 4 f d d 4 ) $ g h i j k l m h c n ^ d o d d 4 ^ 4 p . ", +". e 4 d o d 4 ) q c h r s t u k v w x | 6 d y y o d z 4 e . ", +". e A o d 4 B _ C D i E F G H I J k K @ _ 9 o y L M d d e . ", +". N O o 4 , P Q R S T U E V W X Y Z ` .1 ; d ..+.+.y o N . ", +". N y @.^ #.x $.%.&.*.=.-.;.>.,.'.X ).!.~.| ) o +.{.+.L N . ", +". ].y d ; @ ^./.>.(._.:.` <.[.H }.|.1.2.!.3.P ) o +.4.+.5.. ", +". ].y 4 _ 6.7.Y _.8.:.< 9.0.a.b.c.,.d.c.e.f.R _ g.y h.i.].. ", +"S ].O ) c .j.|.k./.l.m.n.o./.a n.t >.p.q.e.. r.; d s.t.].. ", +"u. .d ; v.%.u w.x.y.z.R n.A.j B.N C.X u D.s p.E.c ^ +.F.G.. ", +"u. .d H.b I.J.K.L.1 @ + M.q.N.O.D ].P.q.d.Q.R.u.h ) +.S. .. ", +"u. .o , T.U.E.h ( , P h V.W.N.y.2 c N X.Y.Z.`.V.z.^ +.+ .. ", +"u.++ +o ^ @+4 y ++.) # #+-.$++ $ ) , + %+%+&+a P o *+=+ .. ", +"S &+=+S.-+*+=+% % =+d 2 ;+I >+,+^ + +'+)+P P _ d *+=+* !+. ", +". &+~+% {+& ]+^+^+& +.| /+J (+,+_+=+& % :+h.y +<+* [+& &+. ", +". &+}+|+]+^+1+2+3+]+.+; %+4+5+v.y {+6+7+|+}+& & 8+}+}+{+&+. ", +". &+9+]+^+3+2+0+a+7+% d N [.(+3.b+|+c+d+a+3+3+^+^+^+|+}+&+. ", +". e+|+]+7+f+a+d+g+a+|+h++ I.i+a y }+a+j+k+k+a+2+1+^+l+}+&+. ", +". B.m+6+n+o+a+g+k+g+3+% , p+q+r+o |+d+s+t+k+d+2+3+u+]+v+&+. ", +". B.^+7+w+a+d+k+x+s+y+^+=+z+L.| S.^+d+t+t+s+k+d+A+3+^+|+&+. ", +". B.m+7+f+a+B+k+C+t+D+d+7+% <+=+}+2+C+E+t+s+k+d+2+3+^+]+&+. ", +". B.m+7+f+a+d+k+D+E+E+E+F+2+3+3+a+G+E+E+t+s+k+0+2+3+^+H+&+. ", +". N # # @ @ 2 @ 2 2 1 1 I+1 2 2 I+1 1 C 2 @ 2 J+@ K+# 0 N . ", +". . . . . . . . . . . . S u.u.u.u.S . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_upAll.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_upAll.xpm new file mode 100644 index 0000000..ae68142 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_upAll.xpm @@ -0,0 +1,323 @@ +/* XPM */ +static char * spGreasePencil_upAll_xpm[] = { +"30 30 290 2", +" c None", +". c #818181", +"+ c #C7C7C7", +"@ c #D0D0D0", +"# c #D7D7D7", +"$ c #E7E7E7", +"% c #E6E6E6", +"& c #E8E8E8", +"* c #B8B8B8", +"= c #D7D7D6", +"- c #D6D6D6", +"; c #D5D6D6", +"> c #D5D5D5", +", c #D6D7D6", +"' c #D8D8D8", +") c #D9D9D9", +"! c #DADADA", +"~ c #DBDBDC", +"{ c #DBDCDC", +"] c #DBDBDB", +"^ c #B9B8B8", +"/ c #D6D5D5", +"( c #D4D4D4", +"_ c #D3D3D3", +": c #D2D2D2", +"< c #D5D6D5", +"[ c #D9D9D8", +"} c #DCDCDC", +"| c #DDDDDD", +"1 c #D5D4D4", +"2 c #D8D7D7", +"3 c #D9D8D8", +"4 c #B9B9B9", +"5 c #D0CFCF", +"6 c #BABABA", +"7 c #9D9D9D", +"8 c #A9A9A9", +"9 c #C5C4C4", +"0 c #D0D1D1", +"a c #DDDCDC", +"b c #D1D2D1", +"c c #C8C8C8", +"d c #BCBCBC", +"e c #C2C2C2", +"f c #CFCFCF", +"g c #D7D8D8", +"h c #828282", +"i c #D5D4D5", +"j c #686868", +"k c #434343", +"l c #4A4A4A", +"m c #7C7C7C", +"n c #CECECE", +"o c #B7B7B7", +"p c #7A7A7A", +"q c #666666", +"r c #8B8B8B", +"s c #C1C1C1", +"t c #D2D3D2", +"u c #D6D7D7", +"v c #838383", +"w c #808080", +"x c #2D2D2D", +"y c #1A1A1A", +"z c #1C1C1C", +"A c #343434", +"B c #7A7A79", +"C c #CACACA", +"D c #D5D5D6", +"E c #DAD9D9", +"F c #D4D4D5", +"G c #B1B1B1", +"H c #595959", +"I c #2C2C2C", +"J c #2B2B2B", +"K c #585858", +"L c #B4B4B4", +"M c #BABAB9", +"N c #848484", +"O c #BBBBBB", +"P c #171717", +"Q c #0B0B0B", +"R c #0A0A0A", +"S c #424242", +"T c #ABABAB", +"U c #5E5E5E", +"V c #212121", +"W c #131313", +"X c #191919", +"Y c #3F3F3F", +"Z c #8F8F8F", +"` c #868686", +" . c #D3D4D3", +".. c #C5C5C5", +"+. c #717171", +"@. c #262626", +"#. c #0C0C0C", +"$. c #040404", +"%. c #050505", +"&. c #646464", +"*. c #D1D1D1", +"=. c #D3D3D2", +"-. c #C0C0C0", +";. c #747474", +">. c #272727", +",. c #111111", +"'. c #141414", +"). c #878787", +"!. c #A7A7A7", +"~. c #030303", +"{. c #2A2A2A", +"]. c #8A8A8A", +"^. c #CDCDCD", +"/. c #C9C9C9", +"(. c #939393", +"_. c #373737", +":. c #121212", +"<. c #0D0D0D", +"[. c #1A191A", +"}. c #4B4B4B", +"|. c #B2B2B2", +"1. c #888888", +"2. c #898988", +"3. c #353535", +"4. c #090909", +"5. c #010101", +"6. c #161616", +"7. c #383838", +"8. c #C2C3C2", +"9. c #BBBABA", +"0. c #595A59", +"a. c #060606", +"b. c #020202", +"c. c #080808", +"d. c #282828", +"e. c #707070", +"f. c #CCCCCC", +"g. c #D7D7D8", +"h. c #BDBDBD", +"i. c #9C9C9C", +"j. c #272627", +"k. c #5C5C5C", +"l. c #B5B5B5", +"m. c #AFAFAF", +"n. c #4C4C4C", +"o. c #1F1F1F", +"p. c #101010", +"q. c #151515", +"r. c #575757", +"s. c #BDBDBE", +"t. c #BBBCBB", +"u. c #C6C6C6", +"v. c #999999", +"w. c #5F5F5F", +"x. c #070707", +"y. c #292929", +"z. c #3C3C3C", +"A. c #414141", +"B. c #515151", +"C. c #858484", +"D. c #BFBFBF", +"E. c #C4C4C4", +"F. c #484848", +"G. c #0F0F0F", +"H. c #232323", +"I. c #6F6F6F", +"J. c #D9D8D9", +"K. c #CBCBCB", +"L. c #AEAEAE", +"M. c #0E0E0E", +"N. c #202020", +"O. c #AAAAAA", +"P. c #B2B3B2", +"Q. c #B8B8B9", +"R. c #606161", +"S. c #9E9D9E", +"T. c #9A9A9A", +"U. c #858585", +"V. c #313131", +"W. c #333333", +"X. c #DCDBDB", +"Y. c #696969", +"Z. c #E0E0DF", +"`. c #BDBDBC", +" + c #B7B7B8", +".+ c #404040", +"++ c #DEDEDE", +"@+ c #E3E3E3", +"#+ c #E5E5E5", +"$+ c #373637", +"%+ c #363636", +"&+ c #E0E0E0", +"*+ c #E2E2E2", +"=+ c #DFDFDF", +"-+ c #4B4B4A", +";+ c #E4E4E4", +">+ c #EAEAEA", +",+ c #EDECEC", +"'+ c #EDEDED", +")+ c #EDEDEC", +"!+ c #3E3E3E", +"~+ c #E5E5E6", +"{+ c #BDBEBE", +"]+ c #E1E1E1", +"^+ c #B6B6B6", +"/+ c #5B5B5B", +"(+ c #DFDFDE", +"_+ c #EEEDEE", +":+ c #F0F0F0", +"<+ c #F1F1F1", +"[+ c #EEEEEE", +"}+ c #E7E8E7", +"|+ c #8C8C8C", +"1+ c #BEBEBE", +"2+ c #D9DADA", +"3+ c #6A6A6A", +"4+ c #444444", +"5+ c #EAEAEB", +"6+ c #F3F2F3", +"7+ c #F4F4F4", +"8+ c #F3F3F2", +"9+ c #F0F1F0", +"0+ c #989899", +"a+ c #494949", +"b+ c #E9E9E9", +"c+ c #BEBDBE", +"d+ c #E6E7E7", +"e+ c #DFDEDE", +"f+ c #A0A0A0", +"g+ c #A6A6A6", +"h+ c #F2F2F1", +"i+ c #F5F5F5", +"j+ c #F2F1F1", +"k+ c #ECECEC", +"l+ c #B0B0B0", +"m+ c #606060", +"n+ c #A1A1A1", +"o+ c #EBEAEA", +"p+ c #E9E9EA", +"q+ c #EFEFEF", +"r+ c #F3F3F3", +"s+ c #F4F4F5", +"t+ c #F5F6F6", +"u+ c #F6F6F5", +"v+ c #EFEEEE", +"w+ c #E7E7E6", +"x+ c #979797", +"y+ c #E6E6E7", +"z+ c #EBEBEB", +"A+ c #EAE9E9", +"B+ c #E0DFE0", +"C+ c #F0F0F1", +"D+ c #F2F2F2", +"E+ c #F5F4F4", +"F+ c #ECECEB", +"G+ c #DADBDB", +"H+ c #BEBFBE", +"I+ c #ECEBEC", +"J+ c #F1F1F0", +"K+ c #F1F1F2", +"L+ c #F6F6F6", +"M+ c #ECEBEB", +"N+ c #EBEBEC", +"O+ c #EDEEED", +"P+ c #EDEDEE", +"Q+ c #EFEEEF", +"R+ c #F2F1F2", +"S+ c #F0EFF0", +"T+ c #F7F7F7", +"U+ c #EDEEEE", +"V+ c #EBEBEA", +"W+ c #F3F3F4", +"X+ c #F2F2F3", +"Y+ c #EBEAEB", +"Z+ c #F8F8F8", +"`+ c #EEEFEF", +" @ c #EEEEEF", +".@ c #F4F5F4", +"+@ c #F4F3F4", +"@@ c #F9F9F9", +"#@ c #F8F9F8", +"$@ c #F5F4F5", +"%@ c #F4F3F3", +"&@ c #F9F9FA", +"*@ c #F1F0F1", +"=@ c #D3D2D3", +"-@ c #D4D3D4", +";@ c #D3D2D2", +">@ c #D1D1D2", +",@ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ $ $ % % % % $ $ & & & & & & $ $ % % % $ $ $ $ $ # . ", +". * = - # ; > - - , ' ) ! ~ ~ { ] ! ) ) # - - - # ' # = * . ", +". ^ # # / ( _ : : _ < [ ] } | | } ! ' - ( _ _ 1 - 2 3 ' * . ", +". 4 # - _ 5 6 7 8 9 0 - ) } | a ! ' > b c d e f > g [ ) 4 . ", +"h 4 ' i @ d j k l m 6 : ' } | } ' ( n o p q r s t u ) ) 4 . ", +"v 6 - : c w x y z A B C D ) ] E F n G H I J K L @ > ' ] M . ", +"N O > f 8 k P Q R P S T : - ' > f o U V W X Y Z + : # ! 6 h ", +"` O ...+.@.#.$.%.#.V &...*.=.@ -.;.>.,.'.X z S 7 n ( ) 6 h ", +").d : !.k z Q ~.$.R ,.{.].+ ^./.(._.:.#.<.R Q [.}.|._ ' O v ", +"1.d f 2.3.X 4.5.~.R Q 6.7.Z 8.9.0.y <.a.b.~.c.,.d.e.f.g.O N ", +"1.h.*.i.}.d.<.~.a.<.,.6.j.k.l.m.n.o.'.R $.a.p.q.@.r.s.# t.N ", +").h.- u.v.w.6.x.#.y.z.A.B.C.D.E.].K F.>.,.G.H._.A.I.h.J.d N ", +"` d E _ K.L.{.M.N.N O.P.6 c *.@ + Q.G R.N.z n.S.T.|.*.~ d N ", +"U.h.] - f D.V.q.W.l.*.# ! X.} ] ! # *.+.{.d.Y.@ > ) | Z.`.v ", +"N h.| # *. +V.X .+E.# ++@+#+% #+@+++# m $+%+m > } &+*+@+h.h ", +"N h.=+) : |.A o.-+^.] ;+>+,+'+)+>+;+] U.!+!+` ) &+;+% ~+h.. ", +"v {+]+} > ^+k d./+*.(+& _+:+<+:+[+}+++|+S S ].] *+$ $ $ h.. ", +"h 1+;+&+2+e 3+4+h _ ]+5+:+6+7+8+9+>+&+0+}.a+Z | ;+& b+& c+. ", +". 1+d+;+e+_ f+;.g+' #+'+h+7+i+7+j+k+@+l+m+/+n+++#+& o+b+1+. ", +". 1+b+$ @+++i 6 ( *+p+q+r+s+t+u+r+v+w+( n+x+C ]+y+>+z+A+1+. ", +". 1+>+>+& #+*+B+;+& '+C+D+r+7+i+E+D+F+#+G+# =+;+b+z+z+>+1+. ", +". H+z+z+z+5+b+b+I+[+:+J+q+:+K+s+L+i+<+k+$ % $ b+I+k+M+>+1+. ", +". D.N+)+O+P+[+Q+:+R+<+S+'+k+q+7+L+T+i+D+q+'+'+'+[+U+k+V+1+. ", +". D.k+'+v+:+<+D+W+7+X+:+,+Y+[+7+T+Z+T+L+r+D+:+:+`+[+k+>+1+. ", +". D.N+'+ @:+K+r+.@i++@D+:+q+D+L+Z+@@#@T+i+7+D+<+q+[+k+z+1+. ", +". D.N+'+ @:+<+r+$@i+i+i+%@r+i+Z+@@&@Z+T+i+7+D+*@q+[+k+5+1+. ", +". O @ @ *.*.: *.: : _ _ =@_ _ ( -@_ _ ;@_ : : >@*.,@@ f O . ", +". . . . . . . . . . . h h h h h . . . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_visOff.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_visOff.xpm new file mode 100644 index 0000000..2777ab8 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_visOff.xpm @@ -0,0 +1,231 @@ +/* XPM */ +static char * spGreasePencil_visOff_xpm[] = { +"30 30 198 2", +" c None", +". c #828282", +"+ c #838383", +"@ c #848484", +"# c #818181", +"$ c #C7C7C7", +"% c #CFCFCF", +"& c #CECECE", +"* c #D0D0D0", +"= c #858585", +"- c #D5D5D5", +"; c #E0E0E0", +"> c #DEDEDE", +", c #E1E1E1", +"' c #E2E2E2", +") c #E3E3E3", +"! c #E4E4E4", +"~ c #E5E5E5", +"{ c #E6E6E6", +"] c #E7E7E7", +"^ c #E8E8E8", +"/ c #D7D7D7", +"( c #868686", +"_ c #B9B9B9", +": c #C8C8C8", +"< c #D1D1D1", +"[ c #D2D2D2", +"} c #D1D2D1", +"| c #D2D2D3", +"1 c #D3D3D4", +"2 c #D4D5D5", +"3 c #D6D6D6", +"4 c #D9D9D9", +"5 c #DADADA", +"6 c #D8D8D8", +"7 c #D3D3D3", +"8 c #D4D4D4", +"9 c #D5D5D4", +"0 c #B8B8B8", +"a c #878787", +"b c #BAB9B9", +"c c #BEBEBE", +"d c #B5B4B4", +"e c #CBCBCB", +"f c #C6C6C6", +"g c #CACACA", +"h c #CDCDCD", +"i c #D3D2D2", +"j c #C7C6C6", +"k c #BABABA", +"l c #BDBCBC", +"m c #A7A6A6", +"n c #BFBFBF", +"o c #C2C2C2", +"p c #B3B3B3", +"q c #A8A8A8", +"r c #A3A4A4", +"s c #A4A4A4", +"t c #A9A9A9", +"u c #B0B0B0", +"v c #C3C3C3", +"w c #B5B5B5", +"x c #D3D2D3", +"y c #BCBCBC", +"z c #929293", +"A c #9D9D9D", +"B c #A5A5A5", +"C c #ADADAD", +"D c #B1B1B1", +"E c #A6A6A6", +"F c #9F9F9F", +"G c #A1A1A1", +"H c #BDBDBD", +"I c #C9C9C9", +"J c #AEAEAE", +"K c #D0D1D1", +"L c #D2D1D1", +"M c #CCCCCC", +"N c #7A7A7A", +"O c #949494", +"P c #999999", +"Q c #979797", +"R c #9A9A9A", +"S c #9B9B9B", +"T c #9E9E9E", +"U c #BABAB9", +"V c #DBDBDB", +"W c #929292", +"X c #636363", +"Y c #ABABAB", +"Z c #B4B4B4", +"` c #A7A7A7", +" . c #B6B6B6", +".. c #DADBDA", +"+. c #DCDCDC", +"@. c #DBDCDB", +"#. c #8D8D8D", +"$. c #797979", +"%. c #C4C4C4", +"&. c #9C9C9C", +"*. c #909090", +"=. c #7D7D7D", +"-. c #959695", +";. c #C5C5C5", +">. c #BBBBBB", +",. c #DCDBDB", +"'. c #A2A2A2", +"). c #7E7E7E", +"!. c #AFAFAF", +"~. c #747474", +"{. c #696969", +"]. c #DDDDDD", +"^. c #DFDFDF", +"/. c #D7D7D6", +"(. c #AAAAAA", +"_. c #B7B7B7", +":. c #737373", +"<. c #8A8A8A", +"[. c #C0C0C0", +"}. c #E0E0E1", +"|. c #7F7F7F", +"1. c #BBBCBB", +"2. c #787878", +"3. c #D6D6D7", +"4. c #DCDDDC", +"5. c #E1E1E0", +"6. c #E2E1E2", +"7. c #DAD9D9", +"8. c #B2B2B2", +"9. c #6B6B6B", +"0. c #5F5F5F", +"a. c #646464", +"b. c #E1E0E0", +"c. c #E2E2E3", +"d. c #A3A3A3", +"e. c #404040", +"f. c #7B7B7B", +"g. c #C1C1C1", +"h. c #BDBDBC", +"i. c #8F8F8F", +"j. c #5C5C5C", +"k. c #585858", +"l. c #6D6D6D", +"m. c #CFCECE", +"n. c #ACACAC", +"o. c #616161", +"p. c #686868", +"q. c #E5E5E6", +"r. c #BDBEBE", +"s. c #C4C4C5", +"t. c #555555", +"u. c #757575", +"v. c #A0A0A0", +"w. c #5A5A5A", +"x. c #535353", +"y. c #989898", +"z. c #BEBDBE", +"A. c #E7E8E8", +"B. c #A8A8A7", +"C. c #E9E9E9", +"D. c #D5D4D5", +"E. c #6F6F6F", +"F. c #808080", +"G. c #969696", +"H. c #919191", +"I. c #666666", +"J. c #DDDDDE", +"K. c #E9E8E8", +"L. c #8E8E8E", +"M. c #BEBFBE", +"N. c #D4D4D3", +"O. c #8B8B8B", +"P. c #E6E6E7", +"Q. c #D1D1D2", +"R. c #E0E0DF", +"S. c #D6D5D5", +"T. c #E7E7E8", +"U. c #EAEAEA", +"V. c #888888", +"W. c #ECECEC", +"X. c #F0F0F0", +"Y. c #F2F2F2", +"Z. c #F1F1F1", +"`. c #F1F2F1", +" + c #B9B9BA", +".+ c #EBEAEB", +"++ c #F4F4F4", +"@+ c #F7F7F7", +"#+ c #F8F7F7", +"$+ c #F8F8F8", +"%+ c #F6F6F7", +"&+ c #F6F6F6", +"*+ c #DEDDDE", +"=+ c #CBCBCC", +"-+ c #8C8C8C", +";+ c #D4D3D4", +">+ c #CCCCCD", +",+ c #898989", +". . + @ @ + . . . . . . . . . # # # # # # # # # . . . # # # ", +"+ $ % & % % % % % % % % % % * * * * * * * * * * * * * * $ # ", +"= - ; > > ; , ' ' , , , , ' ) ! ~ { ] ] ^ ] { ~ ! ) ! ~ / # ", +"( _ * : & * < [ [ } < < < | 1 2 3 / 4 5 4 6 3 - 7 7 8 9 0 . ", +"a b * c d : & & e : f f : g h * [ - 3 6 4 / - i h j [ - 0 . ", +"( k [ % l m n o p q r s t u k v g % 7 - - - [ g w v 7 3 _ . ", +"@ _ 3 x % y z A B C D C E F A G C H I * [ * I J o K - / _ . ", +". k 4 3 L M J N O G P Q Q R S P R T C o M v E k < - / 5 U # ", +". k V 6 7 h c W X + Y k 0 c H Z ` S R B .A Y h 8 6 ..+.k # ", +"# k @.4 7 M Z P #.$.C < [ 8 8 * %.Z &.*.=.-.;.< / V +.> k # ", +". >.,.6 [ v B '.n C ).Z - / / - < : !.~.{.B I x 4 ].^.^.>.# ", +". >.V /.& w B Z [ [ (.)._.3 / / 3 h P :.<.S [.[ 4 > ; }.>.# ", +"+ y 5 8 I t q e 3 / < B |.H - 3 < s |.u Y Q !.& 6 ].}., 1.# ", +"@ y 4 [ o s !.< 3 / / < S 2.u n '.|.k ;.k A G : 3.4.5.6.y # ", +"@ y 7.[ c s 8.7 / / / M ` 9.0.~.a.B [ f c s A o - +.b.c.y # ", +"@ H 5 7 [.d. .- / / % Y R Q 0.e.f.t h f H d.T g.8 +., ) h.# ", +"+ H ].3 $ E 8.7 / - H T &.i.j.k.l.Q [.$ >.T F %.3 ].' ~ H # ", +". H ; 4 m.D n.f / 7 8.R i.o.i.J X p.` ;.!.T d.I 6 ^.! q.H # ", +". r.' ].- s.C u h 7 8.+ o.# !.u i.t.u.u v.F C & V ' ~ { H # ", +"# c ~ , V < H (.u % t w.:.q C n.'.. x.N y.F >.7 ].! ] ^ z.# ", +"# c A.~ b.4 % >.E y.~.# *.Q A T P i.$.t.N B.I 3 ^.! ^ C.c # ", +"# c C.^ ! ].D.e ` E.F.B d.y.G.O *.H.y.F.I.A g - J.! ] K.c # ", +"# c C.^ ! > 3 o L.Q C ` s '.F S S v.Y _.T . (.% 5 ; ! ] c . ", +"# M.^ ~ , V h G E e % : y 8.C !._.;.& N.M q O.u < V ; ! c + ", +". n P.' 4.Q.n.t % 5 ].].5 3.- - / +.^.> V [ C L.8.< V R.c = ", +"+ n ! > S.w B & J.! T.C.K.] { { ] C.U.C.! > 7 J L.D & V c V.", +"+ n ' V >.'.I ].~ W.X.Y.Y.Y.Y.Y.Z.Y.`.X.W.{ > 7 !.*.R < c O.", +"+ n c.V +%.V ) .+Z.++@+#+$+$+$+$+%+&+++Z.W.~ *+8 >.s =+c -+", +"+ >.h e : g M & * [ 7 7 ;+8 8 8 ;+7 7 i [ * % >+e : v : y <.", +". @ a -+i.i.-+V.@ . # # # # # # # # # # . + = ,+L.H.W *.-+a "}; diff --git a/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_visOn.xpm b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_visOn.xpm new file mode 100644 index 0000000..29c1e62 --- /dev/null +++ b/2009-x64/AnimationScripts/icons/chinaMarkerIcons/chinaMarker_visOn.xpm @@ -0,0 +1,286 @@ +/* XPM */ +static char * spGreasePencil_visOn_xpm[] = { +"30 30 253 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D0D0D0", +"# c #D1D1D1", +"$ c #D7D7D7", +"% c #E7E7E7", +"& c #E8E8E8", +"* c #E6E6E6", +"= c #D8D8D8", +"- c #B8B8B8", +"; c #D7D7D6", +"> c #D8D9D9", +", c #D6D7D6", +"' c #D6D6D6", +") c #D7D7D8", +"! c #D9D9D9", +"~ c #DADADA", +"{ c #DBDBDB", +"] c #D8D8D7", +"^ c #B9B8B8", +"/ c #DAD9D9", +"( c #D4D4D4", +"_ c #D3D3D3", +": c #D2D3D2", +"< c #D2D2D2", +"[ c #DBDADA", +"} c #D9D8D8", +"| c #B9B9B9", +"1 c #D3D3D2", +"2 c #CACACA", +"3 c #C1C1C1", +"4 c #BDBDBD", +"5 c #C6C6C6", +"6 c #CCCCCC", +"7 c #D5D5D5", +"8 c #D8D9D8", +"9 c #DCDCDC", +"0 c #DBDCDC", +"a c #DADBDB", +"b c #DADAD9", +"c c #DBDADB", +"d c #C2C2C2", +"e c #979797", +"f c #757575", +"g c #666666", +"h c #686868", +"i c #737373", +"j c #888888", +"k c #A0A0A0", +"l c #B7B7B7", +"m c #C5C5C5", +"n c #CECECD", +"o c #DDDDDD", +"p c #DCDDDC", +"q c #BABABA", +"r c #CBCBCB", +"s c #9A9A9A", +"t c #7C7C7C", +"u c #909090", +"v c #848484", +"w c #707070", +"x c #5F5F5F", +"y c #565656", +"z c #5E5E5E", +"A c #7B7B7C", +"B c #A3A3A3", +"C c #CFD0CF", +"D c #DEDEDE", +"E c #BABAB9", +"F c #D4D4D3", +"G c #C4C4C4", +"H c #939393", +"I c #6E6E6E", +"J c #525252", +"K c #4C4C4C", +"L c #4E4E4E", +"M c #535353", +"N c #545454", +"O c #4F4F4F", +"P c #4B4B4B", +"Q c #777777", +"R c #B1B1B1", +"S c #CFCFCE", +"T c #DDDEDD", +"U c #828282", +"V c #5D5D5D", +"W c #8A8A8A", +"X c #ADADAD", +"Y c #A7A7A7", +"Z c #B6B6B6", +"` c #9F9F9F", +" . c #505050", +".. c #4A4A4A", +"+. c #6B6B6B", +"@. c #B2B2B2", +"#. c #D0D1D0", +"$. c #DEDEDF", +"%. c #DFDEDF", +"&. c #BBBBBB", +"*. c #DDDCDC", +"=. c #949494", +"-. c #747474", +";. c #C0C0C0", +">. c #EBEBEB", +",. c #F5F5F5", +"'. c #F0F0F0", +"). c #F6F6F6", +"!. c #F7F7F7", +"~. c #E9E9E9", +"{. c #9B9B9B", +"]. c #585858", +"^. c #494949", +"/. c #BEBEBE", +"(. c #DFDFDF", +"_. c #E0E0E0", +":. c #B3B3B3", +"<. c #696969", +"[. c #F1F1F1", +"}. c #FDFDFD", +"|. c #FEFEFE", +"1. c #FFFFFF", +"2. c #FAFAFA", +"3. c #EEEEEE", +"4. c #A1A1A1", +"5. c #484848", +"6. c #898989", +"7. c #DFE0DF", +"8. c #E0E0E1", +"9. c #BCBCBC", +"0. c #C9C9C9", +"a. c #8C8C8C", +"b. c #989898", +"c. c #F2F2F2", +"d. c #FCFCFC", +"e. c #9D9D9D", +"f. c #4D4D4D", +"g. c #ACACAC", +"h. c #E1E1E1", +"i. c #BBBCBB", +"j. c #838383", +"k. c #BFBFBF", +"l. c #727272", +"m. c #FBFBFB", +"n. c #F9F9F9", +"o. c #CECECE", +"p. c #808080", +"q. c #434343", +"r. c #E1E1E0", +"s. c #E3E2E3", +"t. c #636363", +"u. c #858585", +"v. c #ECECEC", +"w. c #E3E3E3", +"x. c #B9B8B9", +"y. c #E1E0E0", +"z. c #E2E2E3", +"A. c #CFCFCF", +"B. c #A6A6A6", +"C. c #646464", +"D. c #8D8D8D", +"E. c #363636", +"F. c #2F2F2F", +"G. c #3E3E3E", +"H. c #676767", +"I. c #A8A8A8", +"J. c #E4E4E3", +"K. c #BDBDBC", +"L. c #616161", +"M. c #3A3A3A", +"N. c #595959", +"O. c #A4A4A4", +"P. c #E2E2E2", +"Q. c #E4E4E4", +"R. c #B7B6B6", +"S. c #656565", +"T. c #878787", +"U. c #F3F3F3", +"V. c #474747", +"W. c #B4B4B4", +"X. c #515151", +"Y. c #AEAEAE", +"Z. c #E5E5E6", +"`. c #BDBEBE", +" + c #C7C7C7", +".+ c #868686", +"++ c #606060", +"@+ c #969696", +"#+ c #343434", +"$+ c #575757", +"%+ c #B0B0B0", +"&+ c #7D7D7D", +"*+ c #2D2D2D", +"=+ c #5C5C5C", +"-+ c #7F7F7F", +";+ c #555555", +">+ c #303030", +",+ c #5B5B5B", +"'+ c #797979", +")+ c #BEBDBE", +"!+ c #E5E6E6", +"~+ c #DCDBDB", +"{+ c #2A2A2A", +"]+ c #313131", +"^+ c #717171", +"/+ c #323232", +"(+ c #6C6C6C", +"_+ c #E5E5E5", +":+ c #E9E8E8", +"<+ c #D1D0D1", +"[+ c #767676", +"}+ c #282828", +"|+ c #454545", +"1+ c #353535", +"2+ c #626262", +"3+ c #8E8E8E", +"4+ c #EAEAEA", +"5+ c #EAE9E9", +"6+ c #E9E9EA", +"7+ c #AAAAAA", +"8+ c #2B2B2B", +"9+ c #272727", +"0+ c #949595", +"a+ c #BEBFBE", +"b+ c #E8E8E9", +"c+ c #919191", +"d+ c #7A7A7A", +"e+ c #AFAFAE", +"f+ c #ECEBEC", +"g+ c #ECEBEB", +"h+ c #EBEBEC", +"i+ c #EDEDEC", +"j+ c #EDEEED", +"k+ c #ECECED", +"l+ c #E6E5E6", +"m+ c #DAD9DA", +"n+ c #EDEDED", +"o+ c #EDEEEE", +"p+ c #EBEBEA", +"q+ c #EFEEEE", +"r+ c #EFEFEF", +"s+ c #EEEFEF", +"t+ c #EEEEEF", +"u+ c #F0F0F1", +"v+ c #EBEAEB", +"w+ c #EBECEB", +"x+ c #F3F2F3", +"y+ c #F1F0F0", +"z+ c #F1F1F2", +"A+ c #F1F0F1", +"B+ c #D3D2D3", +"C+ c #D3D2D2", +"D+ c #D0D0D1", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # # # # # + . ", +". $ % % & & & % * * * * * * * % % & & & & & & & & & & & = . ", +". - ; $ = > = = $ , ' ' ' ) ) > ! ~ ~ { ~ ~ ! ! = = = ] - . ", +". ^ = ! / ! = ' ( _ : < _ _ ( ' $ ! ! ~ { { { [ ~ / } ! - . ", +". | ! ~ / } ' 1 2 3 4 4 3 5 6 # _ 7 $ 8 ~ 9 9 0 { a b ~ | . ", +". | { c ~ $ _ d e f g h i j k l m n < 7 = ~ 9 o p 0 { ~ | . ", +". q 9 9 / 7 r s t j u v w x y z A B 3 C ( = { o D o 9 9 E . ", +". q 9 { ! F G H u I J K L M N O P M Q R S 7 ~ o D D T o q . ", +". q o { $ # - U K V W X Y q Z ` Q ...+.@.#.$ { $.%.D D q . ", +". &.*.! ( r =.y -.;.>.,.'.).!.~.r {.].^.i /._ ! o (._.(.&.. ", +"U &.9 ] # :.<.g 3 [.}.|.1.1.1.2.3._ 4.y 5.6.2 ' 9 7._.8.&.. ", +"U 9.9 ' 0.a.<.b.c.d.1.1.1.1.1.1.}.,.= e.f.N g.< ! D h.h.i.. ", +"j.9.~ ( k.I l.{ m.1.1.1.1.|.2.2.1.1.n.o.p.q.t + ) T r.s.9.. ", +"v 9./ # @.t.u.v.}.1.1.1.'.6 q k.w.d.d.@ g.J y x.' o y.z.9.. ", +"u.4 ! A.B.C.D.c.1.1.1.{ t E.F.G.H.5 !.A.- H.^.I._ 9 h.J.K.. ", +"u.4 ~ @ Y L.e !.1.1.* i M.O <.N.5.w (.# Z C.P O.# 9 P.Q.4 . ", +"v 4 9 ( R.S.T.U.1.n.g.V.V.l.g x N V.W.@ X N.X.Y.( o w.Z.4 . ", +"j.`.(.= +. w 5 d.U..+M.++N.@+W.f.#+t 6 D.$+z 4 = _.Q.* 4 . ", +"U /.P.o _ %+w &+(.c.6.*+=+C.u.-+;+>+,+k H.x '++ 9 w.* % )+. ", +"U /.!+P.~+@ k +.u.Q.&.{+]+f i ^+N /+ .(+,+C.O.7 _._+:+~./.. ", +". /.& * P.{ <+4.h [+I.Q }+]+q.|+1+}+q.N.2+3+6 D Q.& 4+5+/.. ", +". /.6+~.% w.9 < 7+[+H.(+M >+8+{+9+E. .C.0++ o w.& >.4+4+/.. ", +". a+>.>.>.b+Q.D ( k.c+g z ,+M f.f.].d+e+# D Q.~.f+v.g+4+/.. ", +". k.h+i+j+k+4+l+_.m+A.x.e -+-.Q 3+%+0.! h.* >.n+3.o+v.p+/.. ", +". k.v.n+q+r+r+v.b+_+_.9 7 <+o.A.( { _._+~.n+r+'.s+3.v.4+/.. ", +". k.h+n+t+'.u+'.r+n+v+& % * * % % ~.w+3.r+[.[.[.r+3.v.>./.. ", +". k.h+n+t+'.[.c.x+c.[.[.y+'.[.[.[.z+c.U.U.U.c.A+r+3.v.h+/.. ", +". &.@ A.@ @ # # < < _ < B+_ _ _ B+< _ C+< # # D+@ C @ A.&.. ", +". . . . . . . . . . . U U U U U U U . . . . . . . . . . . . "}; diff --git a/2009-x64/AnimationScripts/icons/curveFilter.BMP b/2009-x64/AnimationScripts/icons/curveFilter.BMP new file mode 100644 index 0000000..259cc2a Binary files /dev/null and b/2009-x64/AnimationScripts/icons/curveFilter.BMP differ diff --git a/2009-x64/AnimationScripts/icons/curveFilter.BMP.bak b/2009-x64/AnimationScripts/icons/curveFilter.BMP.bak new file mode 100644 index 0000000..259cc2a Binary files /dev/null and b/2009-x64/AnimationScripts/icons/curveFilter.BMP.bak differ diff --git a/2009-x64/AnimationScripts/icons/eye_Br.bmp b/2009-x64/AnimationScripts/icons/eye_Br.bmp new file mode 100644 index 0000000..8bc3620 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/eye_Br.bmp differ diff --git a/2009-x64/AnimationScripts/icons/eye_Br.bmp.bak b/2009-x64/AnimationScripts/icons/eye_Br.bmp.bak new file mode 100644 index 0000000..8bc3620 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/eye_Br.bmp.bak differ diff --git a/2009-x64/AnimationScripts/icons/face.bmp b/2009-x64/AnimationScripts/icons/face.bmp new file mode 100644 index 0000000..22db27f Binary files /dev/null and b/2009-x64/AnimationScripts/icons/face.bmp differ diff --git a/2009-x64/AnimationScripts/icons/face.bmp.bak b/2009-x64/AnimationScripts/icons/face.bmp.bak new file mode 100644 index 0000000..22db27f Binary files /dev/null and b/2009-x64/AnimationScripts/icons/face.bmp.bak differ diff --git a/2009-x64/AnimationScripts/icons/jsPickWalkUI.BMP b/2009-x64/AnimationScripts/icons/jsPickWalkUI.BMP new file mode 100644 index 0000000..4f5ebd6 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/jsPickWalkUI.BMP differ diff --git a/2009-x64/AnimationScripts/icons/jsPickWalkUI.BMP.bak b/2009-x64/AnimationScripts/icons/jsPickWalkUI.BMP.bak new file mode 100644 index 0000000..4f5ebd6 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/jsPickWalkUI.BMP.bak differ diff --git a/2009-x64/AnimationScripts/icons/mouth.bmp b/2009-x64/AnimationScripts/icons/mouth.bmp new file mode 100644 index 0000000..b981fa3 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/mouth.bmp differ diff --git a/2009-x64/AnimationScripts/icons/mouth.bmp.bak b/2009-x64/AnimationScripts/icons/mouth.bmp.bak new file mode 100644 index 0000000..b981fa3 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/mouth.bmp.bak differ diff --git a/2009-x64/AnimationScripts/icons/toggleXRay1.png b/2009-x64/AnimationScripts/icons/toggleXRay1.png new file mode 100644 index 0000000..1f4fe30 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/toggleXRay1.png differ diff --git a/2009-x64/AnimationScripts/icons/toggleXRay1.png.bak b/2009-x64/AnimationScripts/icons/toggleXRay1.png.bak new file mode 100644 index 0000000..1f4fe30 Binary files /dev/null and b/2009-x64/AnimationScripts/icons/toggleXRay1.png.bak differ diff --git a/2009-x64/AnimationScripts/icons/tweenMachine.xpm b/2009-x64/AnimationScripts/icons/tweenMachine.xpm new file mode 100644 index 0000000..39c3c7f --- /dev/null +++ b/2009-x64/AnimationScripts/icons/tweenMachine.xpm @@ -0,0 +1,73 @@ +/* XPM */ +static char *tweenMachine[] = { +/* width height ncolors chars_per_pixel */ +"32 32 35 2", +/* colors */ +"AA c #FFFFEFEFC6C6", +"BA c #FFFFEFEFBDBD", +"CA c #EFEFE7E7B5B5", +"DA c #EFEFDEDEB5B5", +"EA c #EFEFDEDEADAD", +"FA c #DEDED6D6ADAD", +"GA c #DEDECECEADAD", +"HA c #DEDECECE9C9C", +"IA c #D6D6BDBD9494", +"JA c #CECEC6C69C9C", +"KA c #CECEBDBD9C9C", +"LA c #C6C6B5B58C8C", +"MA c #BDBDB5B58C8C", +"NA c #BDBDADAD8C8C", +"OA c #B5B5A5A57B7B", +"PA c #ADADA5A58484", +"AB c #ADADA5A57B7B", +"BB c #ADAD9C9C8484", +"CB c #ADAD9C9C7B7B", +"DB c #9C9C94947B7B", +"EB c #9C9C94946B6B", +"FB c #9C9C8C8C7373", +"GB c #9C9C8C8C6B6B", +"HB c #8C8C84846B6B", +"IB c #8C8C7B7B6363", +"JB c #8C8C7B7B5A5A", +"KB c #7B7B73735252", +"LB c #7B7B6B6B5252", +"MB c #73736B6B4A4A", +"NB c #6B6B63634A4A", +"OB c #6B6B5A5A4242", +"PB c #63635A5A3939", +"AC c #5A5A52523939", +"BC c #5A5A4A4A3131", +"CC c #4A4A42423131", +/* pixels */ +"GBABLAHBOBCCKBCBHBCBKAHBJBHBGBCBGBGBGBGBDBNAJABADACADACABADADABA", +"IBHBGBBCMBPBDBEAOAJAHANAJBGBGBGBDBGBGBIBCBBABADABADABADADABACADA", +"MAACACCBHBIBGAEAKALAHALAFBEBCBNADBCBCBHBCBJAKAIAGAGAJAGAHAGADAGA", +"KANAKAKAGBABGAHAHAKAKAMAEBDBCBCBCBCBEBEBCBGBCBNAJAEAGAEAFADADAEA", +"KALABANAKBLBABDAKALAEANALBHBEBDBGBGBGBGBDBGBHBGBLABADADACADADADA", +"KACBMACBLBMBNBKAJBPAJAGBLBEBGBGBDBGBCBGBGBGBGBEBGADADACADADADACA", +"OADBJBKBNBNBJBOBIBCBNAACKBGBGBGBGBFBCBHBLADAEADAEADADADACADACADA", +"CBDBJBOBACNBCCCCJBMAJBNBHBHBGBGBCBCBDBJBGABADADADADACADABACADADA", +"GBHBHBKBOBACACNBLBOBKBHBJBGBGBHBGBCBCBCBLAEADADADADACADADABADADA", +"EBNBNBOBLBKBOBACACNBIBGBCBDBCBGBCBEBGBEBDBNADACACADADABADADADABA", +"CBGBKBNBNBJBOBNBKBDBEBDBCBCBEBCBHBCBHBGBCBCBCBCADADADAGACADADADA", +"CBABCBCBCBDBEBCBCBEBCBCBGBPAOAGBCBGBHAJADBGBKABADADADADADABADACA", +"GBCBCBABABCBDBCBCBDBCBGBGBGBCBPACBLABAEACAEACADADADADADADADACABA", +"DBCBABCBCBDBCBCBGBGBEBDBEBGBGBCBCBKAGABACADADADACACACADACADADADA", +"CBGBCBCBCBNAGBCBEBGBGBGBGBDBGBGBGBEBKADADACADACAAADADAAADACAAADA", +"CBCBDBGBEBCBDBCBCBDBGBGBGBGBKAABHBCBKAFABADADADADABADACADAAADABA", +"EBCBCBGBCBCBGBGBCBGBHBGBABIABADALANALAKADACABADADADAAADAAADADADA", +"CBCBGBGBEBCBHBCBHBGBJBGBCBKACACACAEADAEAMADADADADAAADACADADACACA", +"DBGBCBNAPACBEBGBJACACBIBGBNADADADADACACADAGAEADADADACADACADAAADA", +"OAGBJABAEACBCBEBGABAHAHBCBBBDABACADADABADAEAKADACADAAADAAADADABA", +"KAMABADAJAABABFBEADAAAKANAEACADADAAADADABADADAPAGABADAAADABADADA", +"NADADADAEANACBCBDACADACABADAAACAAADADABADAAACADAJAGABADAAADACABA", +"BADACABAGAGAGAEADABADABADACADADACAAACADAAADABADABAKAGABADAAADAAA", +"CADABADANAGABADADADACADADABADAAADADADAAADADADABADABAMAKABADAAADA", +"BACADAKADBEADACADADADAAADADACADACADACADABADADADACADABAJAGABADAGA", +"DADAKAFBGBDBDBKABAPADBDAGABBDAKAFBBBDADANAFBDBGAGAFBBBFBPADAFAFA", +"BADACAKAFBFAKAPADABBCBDAKAPAGADBDAKABBGADBCAKACBGAFBGAFAFBKAGABA", +"DABADAJADBGAEADBGAPAKAKADBGAKAFBDBFBHBKADBFBFBFBGAFBBACAIBKABABA", +"BADAAAKADBEACABBPAGAJAPADBBAJADBDACADAKADBCACADAJADBCAGAHBGADADA", +"DAAABAFAGBDBDAKAFBEACAFBNADACAKAHBFBKACAKAFBFBKAFAHBGAEAHBGACABA", +"BADADABAGAGABADACAAADACADABABADACACADACADACACACADAGAFABACACADADA", +"DAAACADAGAHACADABADABACADAAADACADAAADABACADACAGAGADABADADACADABA"}; diff --git a/2009-x64/AnimationScripts/scripts/FrameCounterUserSetup.mel b/2009-x64/AnimationScripts/scripts/FrameCounterUserSetup.mel new file mode 100644 index 0000000..31a37bb --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/FrameCounterUserSetup.mel @@ -0,0 +1,40 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: frameCounter v1.0 +'' Author: Patrick McNabb +'' Last Updated: December 31, 2002 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=interface#2079 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +//stick this file in your My Documents/maya/4.0/scripts directory and rename it to: userSetup.mel +//it'll give you a framecounter display menu item +//if you already have a userSetup.mel file add this stuff to it: + +headsUpDisplay +-section 8 +-block 0 +-blockSize "medium" +-dfs "large" +-command "currentTime -q" +-atr + HUDFrameCount; + + + +// Adds menu items to control the framecounter - it'll be under display-headsupdisplay + +global string $gHeadsUpDisplayMenu; + +menuItem +-parent $gHeadsUpDisplayMenu +-checkBox true +-label "Frame Counter" +-command "headsUpDisplay -e -vis #1 HUDFrameCount" +-annotation "Frame Counter: Toggle the display of frame counter"; diff --git a/2009-x64/AnimationScripts/scripts/autoTangent.mel b/2009-x64/AnimationScripts/scripts/autoTangent.mel new file mode 100644 index 0000000..90a4137 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/autoTangent.mel @@ -0,0 +1,241 @@ +// -------------------------------------------------------------------------- +// autoTangent.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Changes selected graph editor keys to be smooth but without overshoot. +// Kinda like 3DSMax's autoTangents. The amount of softness can be +// user set, so that the tangents will overshoot a little bit if desired. +// +// This also has a built in UI to run all of this and to set the softness. +// The softness value is also remembered per session from the last one used. +// +// USAGE: +// source "autoTangent.mel"; autoTangent(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2003 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 09/06/2003 - Michael B. Comet - Initial Release +// 1.01 - 10/16/2003 - comet - Made -cc for slider so more interactive. +// 1.02 - 04/12/2005 - mcomet - Made "Flatten" for start/end keys option +// at bequest of Rob Dollase. This will work truly flat when the +// soften value is at 0. When soften is higher the keys will +// be rounder like the others tho still more towards flat. +// +// -------------------------------------------------------------------------- + +/* + * Global Vars + */ +global string $aTan_version = "1.02"; + +// -------------------------------------------------------------------------- + +/* + * autoTangent() - Main Entry + */ +global proc autoTangent() +{ + global string $aTan_version ; + + if (`window -q -ex autoTangentWin`) + { + showWindow autoTangentWin ; + return ; + } + + + // Load Prefs + float $soft = 0.0 ; + int $bFlatten = 0 ; + if(`optionVar -ex "aTan_softness"`) + $soft = `optionVar -q "aTan_softness"` * 100.0 ; + if(`optionVar -ex "aTan_flatten"`) + $bFlatten = `optionVar -q "aTan_flatten"` ; + + + // Make Window + window -w 200 -h 125 -t ("autoTangent - "+$aTan_version) -in "autoTangent" autoTangentWin; + columnLayout ; + + separator -style "in" -w 200 -h 5 ; + checkBox -l "Flatten Start/End Keys" -v $bFlatten cbFlatten ; + floatSliderGrp -label "Softness:" -field true -min 0.0 -max 100.0 -v $soft -adj 3 -cw3 60 40 90 -cc ("aTan_start();") fsgSoft; + button -l ("Auto Tangent Selected Keys") -al "center" -w 180 -c ("aTan_start();") btnTan; + separator -style "in" -w 200 -h 5 ; + text -l ("Copyright ©2003-2005 Michael B. Comet"); + text -l ("All Rights Reserved") ; + + showWindow autoTangentWin ; + +} + +// -------------------------------------------------------------------------- + +/* + * aTan_start() - Wrapper for start from UI. + */ +global proc aTan_start() +{ + float $soft = `floatSliderGrp -q -v fsgSoft` / 100.0 ; + int $bFlatten = `checkBox -q -v cbFlatten` ; + + // Store in option var too! + optionVar -fv "aTan_softness" $soft ; + optionVar -iv "aTan_flatten" $bFlatten ; + + // Make it so! + aTan_smoothKeys($soft, $bFlatten) ; + +} + + +// -------------------------------------------------------------------------- + +/* + * aTan_smoothKeys() - Does actual smooth work + */ +global proc aTan_smoothKeys(float $softness, int $bFlatten) +{ + string $curves[] = `keyframe -q -name -sl` ; // get all selected animCurve Nodes + string $crv ; + + waitCursor -state on ; + + // For each curve... + for ($crv in $curves) + { + // What key indexes 0..1..2..n for that curve are chosen? + // + int $idxs[] = `keyframe -q -indexValue -sl $crv` ; + int $idx ; + + for ($idx in $idxs) + { + // How many keys on this curve? + int $total = `keyframe -q -keyframeCount $crv` ; + + // Figure current Time and Value + // + float $valCs[] = `keyframe -index $idx -q -valueChange $crv` ; + float $timeCs[] = `keyframe -index $idx -q -timeChange $crv` ; + + float $valPs[] = $valCs ; + float $valNs[] = $valCs ; + float $timePs[] = $timeCs ; + float $timeNs[] = $timeCs ; + + // Figure prev Time and Value + // + if ($idx > 0) + { + $valPs = `keyframe -index ($idx-1) -q -valueChange $crv` ; + $timePs = `keyframe -index ($idx-1) -q -timeChange $crv` ; + } + + // Figure next Time and Value + // + if ($idx < $total-1) + { + $valNs = `keyframe -index ($idx+1) -q -valueChange $crv` ; + $timeNs = `keyframe -index ($idx+1) -q -timeChange $crv` ; + } + + float $valC = $valCs[0] ; + float $valP = $valPs[0] ; + float $valN = $valNs[0] ; + float $timeC = $timeCs[0] ; + float $timeP = $timePs[0] ; + float $timeN = $timeNs[0] ; + + // Make start/end keys nice and not flat + if ($idx == 0 && !$bFlatten) + { + $timeP = $timeC - ($timeN - $timeC) ; + $valP = $valC - ($valN - $valC) ; + } + else if ($idx == ($total-1) && !$bFlatten) + { + $timeN = $timeC + ($timeC - $timeP) ; + $valN = $valC + ($valC - $valP) ; + } + + + // Now we have all the basic data we need of current and prev and next + // key times and values... so use that to adjust the current tangents. + // + // print ("// valC="+$valC+" timeC="+$timeC+" //\n") ; + // print ("// valP="+$valP+" timeP="+$timeP+" //\n") ; + // print ("// valN="+$valN+" timeN="+$timeN+" //\n") ; + + // Compare changes in value + float $valIn = $valC - $valP ; + float $valOut = $valN - $valC ; + + // Compare changes in time + float $timeIn = $timeC - $timeP ; + float $timeOut = $timeN - $timeC ; + + // Figure slopes + float $slopeIn = 0 ; + float $slopeOut = 0 ; + if ($timeIn != 0) + $slopeIn = $valIn / $timeIn ; + if ($timeOut != 0) + $slopeOut = $valOut / $timeOut ; + + // print ("// slopeIn="+$slopeIn+" slopeOut="+$slopeOut+" //\n") ; + + // Now set power to be more of whichever one has LESS slope + float $powIn = 0.5, $powOut = 0.5; + + if ($slopeIn + $slopeOut != 0) + $powIn = 1.0 - ( abs($slopeIn) / ( abs($slopeIn) + abs($slopeOut) ) ) ; + $powOut = 1.0 - $powIn ; + + // Now use softness value so that as it goes to 1, we reset the + // weight power evenly to 0.5... so that it becomes more like smooth. + // + $powIn = ((1.0 - $softness) * $powIn ) + ($softness * 0.5) ; + $powOut = ((1.0 - $softness) * $powOut ) + ($softness * 0.5) ; + + // print ("// powIn="+$powIn+" powOut="+$powOut+" //\n") ; + + float $newSlope = ( $powIn * $slopeIn ) + ( $powOut * $slopeOut ) ; + + // print ("// newSlope="+$newSlope+" //\n") ; + + float $ang = atan( $newSlope ) * 180.0 / 3.14159 ; + + // print ("// ang="+$ang+" //\n") ; + + // Update the tangents + keyTangent -itt spline -ott spline -time $timeC $crv ; + keyTangent -ia $ang -oa $ang -time $timeC $crv ; + + // Also does this use weighted tangents? + int $wts[] = `keyTangent -q -wt $crv` ; + if ($wts[0] == 1) + { + float $inWt = abs($timeIn) / 3.0 ; + float $outWt = abs($timeOut) / 3.0 ; + keyTangent -iw $inWt -ow $outWt -time $timeC $crv ; + } + } // end of each idx + + } // end of each curve + + waitCursor -state off ; + + print ("// autoTangent Done. //\n") ; + +} + + +// -------------------------------------------------------------------------- + diff --git a/2009-x64/AnimationScripts/scripts/chinaMarker.mel b/2009-x64/AnimationScripts/scripts/chinaMarker.mel new file mode 100644 index 0000000..1d74903 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/chinaMarker.mel @@ -0,0 +1,1907 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: China Marker +'' Author: +'' Last Updated: Oct 22, 2006 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/interface_display/4348.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +/* + chinaMarker.mel + Descr: This is a quick hack to simulate a colored china marker interface in Maya + + Revised: Ron Bublitz (rbublitz_at_yahoo_dot_com) + (based on code from Jason Schleifer (ver 4 - Aug 2005)) + +*/ + +/* + +Revision History: +Oct 2006 Added colored lines and storable frames + Revised GUI layout + + +Jason Schliefer notes: + Aug 14, 2005 - Fixes + -------------------- + o Added Edit/Lock button which will let the user "erase" curves if they need to + o Fixed bug with crashing when on frame 1 + o Added checking for system os, if on windows it should look + for bmp files, otherwise it should look for iff + o additional misc fixes + + May 22, 2005 - Fixes + -------------------- + o fixed size of planes for orthographic views + + April 30, 2005 - Additions + -------------------------- + o added post frame ghosting + o added warning for pre-frame 1 errors + o made it so when you store a frame, it automatically removes it from the timed frames + o removed Trans and Scale fields, added ability to select frames instead + o added ability to shift frames up and down + o can now select "stored" frames + o can now toggle template and visibility of "stored" frames + + April 27, 2005 - Additions + -------------------------- + o Added ability to change timing of drawings + o New cleaner interface which shows what frames drawings are on + o Snap to drawing by clicking on item in interface + o Remembers previous camera + o Visibility toggle + o Curves are no longer stored under the camera + o Can scale and translate plane + o can turn on and off the ghosting + o added ability to store frames so they stay throughout the shot + + + To Do: + ------ + o Add ability to modify thickness +*/ + + +proc string chinaMarker_getIconPath() { + // get the user icon path + $path = `internalVar -ubd`; + return ($path + "chinaMarkerIcons/"); + + } + + +global proc string chinaMarker_IconExt() { + // it seems that windows needs to display bmp files.. and mac needs iff files.. + // so hopefully this will take care of it. If on windows, then it'll pick bmp.. + // otherwise, it'll use iff. + + string $ext; + $system = `about -os`; + if (($system == "nt") || ($system == "win64") ) { + $ext = "XPM"; + } + else if ($system == "linux") { + $ext = "xpm"; + } + else { + $ext = "xpm"; + } + return $ext; + } + + +// this procedure will create a window which will prompt the user to create +// a Sketch Layer +global proc chinaMarker_CreateSketchLayerWin() { + + $win = "chinaMarker_CreateSketchLayerWindow"; + if (`window -exists $win`) + deleteUI $win; + + window -title "Create Sketch Layer" $win; + + $f1 = `formLayout -nd 100`; + $tfg = `textFieldGrp -l "Layer Name:" -adj 2 -cw 1 100 -tx "NewLayer" chinaMarker_NewLayerTFG`; + // create an option menu which shows all the cameras + $om = `optionMenuGrp -cw 1 100 -adj 2 -ad2 1 -cal 1 "right" -l "Camera:" gp_om`; + + // check for the optionVar + string $prevCam; + if (`optionVar -exists "chinaMarker_CameraOptionVar"`) { + $prevCam = `optionVar -q "chinaMarker_CameraOptionVar"`; + } + $cameras = `ls -type camera`; + for ($cam in $cameras) { + $p = `listRelatives -p $cam`; + menuItem -l $p[0]; + if ($prevCam != "") { + if ($p[0] == $prevCam) { + optionMenuGrp -e -v $prevCam $om; + } + } + } + + $createButton = `button -l "Create" -c ("chinaMarker_CreateSketchLayer \""+$win+"\"")`; + $cancelButton = `button -l "Cancel" -c ("deleteUI " + $win)`; + + + formLayout -e + -af $tfg top 5 + -af $tfg left 5 + -af $tfg right 5 + + -af $om left 5 + -af $om right 5 + -ac $om top 5 $tfg + + -af $createButton left 5 + -ap $createButton right 0 50 + -af $createButton bottom 5 + + -af $cancelButton right 5 + -ap $cancelButton left 0 50 + -af $cancelButton bottom 5 + $f1; + showWindow $win; + } + + +global proc chinaMarker_ShiftFrames(string $direction, int $type) { + // This procedure will shift all frames from the current one on either up or down, unless $type is 0. If $type is + // then only the currently selected frame will move. + // the first frame will not go above frame 1. + // inputs are "up" and "down" + // first get the camera and curGP + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + if (`objExists ($cam +"_gpGrp")`) { + // get a list of all the items in the textScrollList + // then get the selected item number + string $items[] = `textScrollList -q -ai chinaMarker_TSL`; + int $sel[] = `textScrollList -q -sii chinaMarker_TSL`; + if (size($sel) > 0) { + $size = size($items); + if (($sel[0] == 1) && ($direction == "up") && ($items[0] == 1)) { + confirmDialog -m ("Sorry, can't go up past frame 1!"); + } + else { + int $exit=0; + //print ("Sel[0] = "+$sel[0] + "\n"); + if (($sel[0]-2) >= 0) { + int $curItem = $items[($sel[0]-1)]; + int $prevItem = $items[($sel[0]-2)]; + if (($direction == "up") && (($curItem-1) == $prevItem)) { + confirmDialog -m ("You can't go past this value!"); + $exit = 1; + } + // check and see if the item selected is the last item in the list. + // if not, make sure it's isn't being asked to move past the next item. + if ($sel[0] == $size) { + } + else { + int $nextItem = $items[($sel[0])]; + if (($direction == "down") && ($type == 0) && (($nextItem-1) == $curItem)) { + confirmDialog -m ("You can't go past this value!"); + $exit = 1; + } + } + } + + if ($exit == 0) { + if ($direction == "down") { + if ($type == 1) { + for ($x = ($size-1); $x >=($sel[0]-1); $x--) { + $name = ("gp_"+$cam+"_"+$items[$x]); + + $dir = 1; + int $newValue = (int($items[$x]) + 1); + $newName = ("gp_"+$cam+"_"+$newValue); + rename $name $newName; + } + } + else { + $curItem = $items[($sel[0]-1)]; + $name = ("gp_"+$cam+"_"+$curItem); + int $newValue = (int($curItem) + 1); + $newName = ("gp_"+$cam+"_"+$newValue); + rename $name $newName; + } + } + else { + if ($type == 1) { + for ($x = ($sel[0]-1); $x < $size; $x++) { + $name = ("gp_"+$cam+"_"+$items[$x]); + int $newValue = (int($items[$x]) -1); + $newName = ("gp_"+$cam+"_"+$newValue); + rename $name $newName; + } + } + else { + $curItem = $items[($sel[0]-1)]; + $name = ("gp_"+$cam+"_"+$curItem); + int $newValue = (int($curItem) - 1); + $newName = ("gp_"+$cam+"_"+$newValue); + rename $name $newName; + + } + } + chinaMarker_updateGPVis $cam; + chinaMarker_sortFramesList $cam; + //chinaMarker_pmUpdateInterface; + // now select the item + textScrollList -e -sii $sel[0] chinaMarker_TSL; + chinaMarker_goSelectedFrame; + + } + } + + } + } + } + + +global proc chinaMarker_sortFramesList(string $layer) { + // given the layer, it will sort the list of frames + string $children[0]; + $children = `chinaMarker_getGPList $layer`; + $framesTSL = "chinaMarker_TSL"; + int $ordered[0]; + int $num = 0; + + textScrollList -e -ra $framesTSL; + for ($item in $children) { + string $break[0]; + tokenize ($item, "_", $break); + $ordered[$num++] = $break[2]; + } + $ordered = `sort $ordered`; + for ($number in $ordered) { + textScrollList -e -a $number $framesTSL; + } + } + + +global proc string chinaMarker_getCurGP( string $camera) { + $curFrame = `currentTime -q`; + // first check and see if the frame exists + + $cmPlane = ("gp_"+$camera + "_" + $curFrame); + + return $cmPlane; + } + + +global proc chinaMarker_addChinaMarkerFrame( string $camera, + string $frame ) { + // this procedure will add a cm pencil plane for the current frame for the given camera + + // first check to see if we're on a frame less than frame 1. If so, return a warning. + if (`currentTime -q` < 1) { + confirmDialog -m ("The China Marker script does not work on any frames less than 1."); + } + else { + string $cmPlane; + if ($frame == "cur") + $cmPlane = `chinaMarker_getCurGP $camera`; + else + $cmPlane = ("gp_"+$camera+"_1"); + string $camGrp = ($camera + "_gpGrp"); + + if (`objExists $cmPlane`) { + // it already exists, do nothing + } + else { + // create the plane + $plane = `nurbsPlane -p 0 0 0 -ax 0 1 0 -w 1 -lr 1 -d 3 -u 1 -v 1 -ch 0`; + $cmPlane = `rename $plane $cmPlane`; + + // parent the cmPlane to the camGrp + parent $cmPlane ("chinaMarkerGroup|"+$camGrp); + + // set the attributes + setAttr ($cmPlane + ".tx") 0; + setAttr ($cmPlane + ".ty") 0; + setAttr ($cmPlane + ".tz") -1; + setAttr ($cmPlane + ".rx") 90; + setAttr ($cmPlane + ".ry") 0; + setAttr ($cmPlane + ".rz") 0; + setAttr ($cmPlane + ".v") 1; + if (`getAttr ($camGrp + ".orthographic")`) { + setAttr ($cmPlane + ".sx") 32; + setAttr ($cmPlane + ".sy") 1; + setAttr ($cmPlane + ".sz") 20; + } + else { + setAttr ($cmPlane + ".sx") 3; + setAttr ($cmPlane + ".sy") 1; + setAttr ($cmPlane + ".sz") 2; + } + // get the shape + $shape = `listRelatives -f -s $cmPlane`; + + setAttr ($shape[0] + ".overrideEnabled") 1; + setAttr ($shape[0] + ".overrideShading") 0; + // leave the object in normal selection mode so we can manipulate the colour + setAttr ($shape[0] + ".overrideDisplayType") 2; + } + + chinaMarker_updateGPVis $camera; + //chinaMarker_setGPLive $camera; + } + } + + +// this proc will create the scriptJob that makes it so every time the frame changes and stops, the +// approriate visible gpf will be active +global proc int chinaMarker_createGPFScriptJob(string $camera) { + + global int $gDrawToolOn; + + print "China Marker Tool: ON"; + $gDrawToolOn = 1; + $job = `scriptJob -cf "playingBack" ("chinaMarker_setGPLive " + $camera )`; + // script job that will set the right curve color for new curves that are drawn + $dagJob = `scriptJob -e "DagObjectCreated" "chinaMarker_setCurveColor()"`; + // set the selection draw to be black + //displayColor -active lead 1; + //selectType -cos 0; + refresh; + scriptJob -event "ToolChanged" ("chinaMarker_removeGPFScriptJob " + $job +" " + $dagJob ) -ro 1; + return $job; + } + + +// this will find the currently active gp for the camera & make it live +global proc chinaMarker_setGPLive(string $camera) { + + // first, we have to have a hilighted layer, otherwise we don't know which + // layer to make live.. + //print ("make live\n"); + string $items[0]; + $items = `textScrollList -q -si chinaMarker_LayerTSL`; + if (size($items) > 0) { + string $camGrp; + $camGrp = `chinaMarker_getCamGrp $camera`; + + //print ("camera: " +$camGrp + "\n"); + string $gp; + //$gp = `chinaMarker_findVisGPS $camera`; + $gp = `chinaMarker_findVisGPS $camGrp`; + + if ($gp == "") { + warning "No cm pencil planes available for this camera. Creating one.."; + chinaMarker_addChinaMarkerFrame $camera "cur"; + $gp = `chinaMarker_findVisGPS $camGrp`; + } + + //print ("gp: " + $gp + "\n"); + select $gp; + makeLive; + select -d; + } + else { + warning ("There are no sketch layers selected."); + select -d; + makeLive; + } + } + + +global proc string chinaMarker_findVisGPS(string $camera) { + string $gp; + string $children[]; + $children = `listRelatives -c -type "transform" $camera`; + string $child; + for ($child in $children) { + string $break[0]; + tokenize ($child, "_", $break); + if ($break[0] == "gp") { + // check and see if it's visible. + if ((`getAttr ($child + ".v")`) && (!`getAttr ($child + ".template")`)) { + $gp = $child; + } + } + } + return $gp; + } + + +global proc chinaMarker_removeGPFScriptJob(int $job, int $dagJob) { + global int $gDrawToolOn; + + // hack this so the tool stays on if we're still in pencilContext + $currentCtx = `currentCtx`; + if ($currentCtx != "pencilContext") { + string $objs[0]; + $objs = `ls -sl`; + print "China Marker Tool: OFF"; + $gDrawToolOn = 0; + scriptJob -kill $job; + scriptJob -kill $dagJob; + $jobs = `scriptJob -lj`; + string $job; + for ($job in $jobs) { + if (`gmatch $job "*chinaMarker_setGPLive*"`) { + string $tmp[0]; + tokenize ($job, ":", $tmp); + int $jobNum = (int($tmp[0])); + scriptJob -kill $jobNum; + } + } + + //displayColor -active lead 19; + //selectType -cos 0; + + select -d; + makeLive; + select $objs; + } + } + + +// This procedure sets the tool to the pencil +global proc chinaMarker_setGPTool(string $camera) { + + // first, we need to set the tool: + curveSketchToolScript 4; + curveSketchCtx -e -d 1 `currentCtx`; + refresh; + // check that the clipping plane is right + chinaMarker_clippingPlaneCheck(); + + // now start the scriptJobs + chinaMarker_createGPFScriptJob $camera; + chinaMarker_setGPLive $camera; + } + + +global proc chinaMarker_SelectFrame() { + string $frame; + $frame = `chinaMarker_GetSelectedFrame`; + if ($frame != "") + select $frame; + else + warning ("Cannot select " +$frame+ " because it doesn't exist..\n"); + } + + +global proc chinaMarker_SelectStoredFrame() { + string $items[] = `textScrollList -q -si chinaMarker_StoredFramesTSL`; + if (size($items) > 0) { + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + setToolTo "selectSuperContext"; + $name = ("stored_gp_"+$cam+"_"+$items[0]); + if (`objExists $name`) + select $name; + else + warning ("Cannot select " +$name+ " because it doesn't exist..\n"); + } + } + + + + +// this proc will remove a gp from the selected frame in the +// cmPencilwindow +global proc chinaMarker_removeGPFrame(string $camera) { + + string $items[] = `textScrollList -q -si chinaMarker_TSL`; + if (size($items) > 0) { + // attempt to delete it + $cmPlane = ("gp_"+$camera+"_"+$items[0]); + + if (`objExists $cmPlane`) { + // it exists, delete it + delete $cmPlane; + chinaMarker_updateGPVis $camera; + chinaMarker_setGPLive $camera; + //$gp = `chinaMarker_findVisGPS $camera`; + //print ("Current Vis: " + $gp + "\n"); + } + } + chinaMarker_pmUpdateInterface; + } + + +// this proc will remove a stored frame from the selected frame in the +// cmPencilwindow +global proc chinaMarker_removeGPStoredFrame(string $camera) { + + string $items[] = `textScrollList -q -si chinaMarker_StoredFramesTSL`; + if (size($items) > 0) { + // attempt to delete it + $cmPlane = ("stored_gp_"+$camera+"_"+$items[0]); + + if (`objExists $cmPlane`) { + // it exists, delete it + delete $cmPlane; + chinaMarker_updateGPVis $camera; + chinaMarker_setGPLive $camera; + //$gp = `chinaMarker_findVisGPS $camera`; + //print ("Current Vis: " + $gp + "\n"); + } + } + + chinaMarker_pmUpdateInterface; + } + + +global proc chinaMarker_makeFrameActive(string $camera) { + chinaMarker_addChinaMarkerFrame $camera "cur"; + + $cmPlane = `chinaMarker_getCurGP $camera`; + select $cmPlane; + makeLive(); + } + + +global proc chinaMarker_makeFrameNotActive(string $camera){ + select -d; + makeLive; + } + + +global proc int chinaMarker_GetValidReturn( string $camera, + int $initial){ + int $return = $initial; + string $result = "good"; + string $text; + int $enteredValue; + string $value; + string $newValue; + + // this proc will query the user for a new number to enter. It will return + // the number as long as it doesn't match another pre-existing frame, other + // than the one that they started with + + do { + $return = $initial; + $result = "good"; + $text = ""; + $enteredValue = 0; + $value = ""; + $newValue = ""; + $value = `promptDialog + -title "Set New Frame" + -message "New Frame #" + -button "OK" -button "Cancel" + -defaultButton "OK" -cancelButton "Cancel" + -text $initial + -dismissString "Cancel" `; + + if ($value == "OK") { + $newValue = `promptDialog -q -text `; + $enteredValue = $newValue; + + if ($enteredValue == $initial) { + $result = "good"; + $return = $initial; + } + else { + // now we have to check all the other items in the list to make + // sure it doesn't match one of those. + string $items[] = `textScrollList -q -ai chinaMarker_TSL`; + for ($item in $items) { + // now check the newValue and see if it matches an + // item.. + if ($enteredValue == $item) { + $result = "bad"; + confirmDialog -m "Ooops! You already have a drawing on this frame!"; + } + } + if ($result == "good") + $return = $enteredValue; + + } + } + else { + $result = "good"; + $return = $initial; + } + } while ($result == "bad"); + // ("Returning: " + $return + "\n"); + return $return; + } + + +global proc chinaMarker_createChinaMarkerWindow(string $win) { + + $iconPath = chinaMarker_getIconPath(); + string $ext; + $ext = `chinaMarker_IconExt`; + + window -title "China Marker v2.0" $win; + + $f = `formLayout -nd 100 chinaMarker_mainFL`; + + // help button + $helpButton = `iconTextButton -w 57 -h 23 -st "iconOnly" -mw 0 + -i ($iconPath+"chinaMarker_helpButton.xpm") + -ann "Launch Help Page" -c "chinaMarker_launchDocs()"`; + + // title bar + string $titleImagePath = ($iconPath+"chinaMarker_title.png"); + $titleImage = `image -w 800 -h 50 `; + if(`filetest -r $titleImagePath`) + image -e -i $titleImagePath $titleImage; + + $layerForm = `formLayout -nd 100`; + // create a textScrollList for the cm pencil layers + $layerText = `text -align "left" -l "Sketch Layers:" -fn "boldLabelFont"`; + $layerTSL = `textScrollList -ams 0 -nr 10 -sc "chinaMarker_pmUpdateInterface" chinaMarker_LayerTSL`; + $layerAddB = `iconTextButton -mw 0 -w 32 -h 32 + -i ($iconPath+"chinaMarker_addButton."+$ext) + -ann "Add Sketch Layer" -c "chinaMarker_CreateSketchLayerWin" chinaMarker_NewLayerB`; + + $layerDelB = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_delButton."+$ext) + -ann "Delete Sketch Layer" -c "chinaMarker_DeleteSketchLayer" chinaMarker_DelLayerB`; + + $vb = `symbolCheckBox -enable 0 -w 32 -h 32 + -ann "Visibility" + -i ($iconPath+"chinaMarker_visOn."+$ext) + -onc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_visOn."+$ext+"\" chinaMarker_VisIconTextButton") + -ofc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_visOff."+$ext+"\" chinaMarker_VisIconTextButton") + chinaMarker_VisIconTextButton`; + + $tb = `symbolCheckBox -enable 0 -w 32 -h 32 + -ann "Template Layer" + -i ($iconPath+"chinaMarker_tmpOn." +$ext) + -onc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_tmpOn."+$ext+"\" chinaMarker_TemplateIconTextButton") + -ofc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_tmpOff."+$ext+"\" chinaMarker_TemplateIconTextButton") + chinaMarker_TemplateIconTextButton`; + + $gb1 = `symbolCheckBox -enable 0 -h 32 -w 32 + -ann "Enable Ghost Post" + -i ($iconPath+"chinaMarker_ghostPostOn."+$ext) + -onc "chinaMarker_Ghost 1 1" + -ofc "chinaMarker_Ghost 1 0" chinaMarker_PostGhostIconTextButton`; + + $gb2 = `symbolCheckBox -enable 0 -h 32 -w 32 + -ann "Enable Ghost Pre" + -i ($iconPath+"chinaMarker_ghostPreOn."+$ext) + -onc "chinaMarker_Ghost 2 1" + -ofc "chinaMarker_Ghost 2 0" chinaMarker_PreGhostIconTextButton`; + + formLayout -e + -af $layerText top 5 + -af $layerText left 5 + -af $layerText right 0 + + -ac $layerTSL top 0 $layerText + -ap $layerTSL right 0 80 + -af $layerTSL left 5 + -af $layerTSL bottom 0 + + -ac $layerAddB left 5 $layerTSL + -ac $layerAddB top 0 $layerText + //-af $layerAddB right 0 + + -ac $layerDelB top 10 $layerAddB + -ac $layerDelB left 5 $layerTSL + //-af $layerDelB right 0 + + -ac $vb top 10 $layerDelB + -ac $vb left 5 $layerTSL + //-af $vb right 0 + + -ac $tb top 10 $vb + -ac $tb left 5 $layerTSL + //-af $tb right 0 + + -ac $gb1 top 10 $tb + -ac $gb1 left 5 $layerTSL + //-af $gb1 right 0 + + -ac $gb2 top 10 $gb1 + -ac $gb2 left 5 $layerTSL + //-af $gb2 right 0 + $layerForm; + + setParent $f; + + $framesForm = `formLayout -nd 100`; + + + // create a textScrollList, this will show all the frames for the current + // sketch layer + $frameText = `text -align "left" -l "Frames:" -fn "boldLabelFont"`; + $tsl = `textScrollList + -nr 10 + -dcc "chinaMarker_DoubleClickTSL" + -sc "chinaMarker_goSelectedFrame" + chinaMarker_TSL`; + + // add a checkbox for visibility + //$cbg = `checkBoxGrp -cw 1 50 -cal 1 "right" -l "Vis:" -ncb 1 chinaMarker_pmCheckBoxGrp`; + //$gbg = `checkBoxGrp -cw 1 50 -cw 2 50 -cw 3 50 -l "Ghost:" -l1 "Pre" -l2 "Post" -ncb 2 -on1 "chinaMarker_Ghost 1 1" -of1 "chinaMarker_Ghost 1 0" -on2 "chinaMarker_Ghost 2 1" -of2 "chinaMarker_Ghost 2 0" -cal 1 "right" chinaMarker_pmGhostCheckBoxGrp`; + + $b2 = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_addButton."+$ext) + -ann "Add Frame" -c "chinaMarker_pmAddFrame" chinaMarker_AddFrameB`; + + $b3 = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_delButton."+$ext) + -ann "Delete Frame" -c "chinaMarker_pmDelFrame" chinaMarker_DelFrameB`; + + $b7a = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_down."+$ext) + -ann "Shift Frame Down" -c "chinaMarker_ShiftFrames down 0" chinaMarker_DownThisFrame`; + + $b8a = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_up."+$ext) + -ann "Shift Frame Down" -c "chinaMarker_ShiftFrames up 0" chinaMarker_UpThisFrame`; + + $b7 = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_downAll."+$ext) + -ann "Shift Frames Down" -c "chinaMarker_ShiftFrames down 1" chinaMarker_DownFrame`; + + $b8 = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_upAll."+$ext) + -ann "Shift Frames Up" -c "chinaMarker_ShiftFrames up 1" chinaMarker_UpFrame`; + + $b9 = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_selButton."+$ext) + -ann "Select hilighted frame" -c "chinaMarker_SelectFrame" chinaMarker_SelectFrameB`; + + $drawToolButton = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_drawTool." +$ext) + -ann "Use Draw Tool" -c "chinaMarker_pmDrawToolGo()" chinaMarker_UseDrawToolB`; + + $colorButton = `canvas -enable 0 -w 28 -h 28 -rgb 0 0 0 + -ann "Open color selector" + -pc "chinaMarker_colorSelector" chinaMarker_colorSelectorB`; + + $colorIndex = `text -l "1" chinaMarker_colorIndex`; + + $b10 = `symbolCheckBox -enable 0 -w 32 -h 32 + -i ($iconPath + "chinaMarker_offLock."+$ext) + -ann "Lock/Unlock hilighted frame" + -onc "chinaMarker_ToggleRef" + -ofc "chinaMarker_ToggleRef" chinaMarker_ToggleRefB`; + + $storeButton = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath + "chinaMarker_storeButton." + $ext) + -ann "Store Selected Frame" -c "chinaMarker_SaveFrame()" + chinaMarker_storeFrameB`; + + formLayout -e + -af $frameText top 5 + -af $frameText left 5 + -af $frameText right 0 + + -af $tsl left 5 + -ac $tsl top 0 $frameText + -ap $tsl right 0 80 + -af $tsl bottom 0 + + -ac $b2 left 5 $tsl + -ac $b2 top 0 $frameText + //-af $b2 right 5 + + -ac $b3 left 5 $tsl + -ac $b3 top 10 $b2 + //-af $b3 right 5 + + -ac $b7 left 5 $tsl + -ac $b7 top 10 $b8 + //-af $b7 right 5 + + -ac $b8a left 5 $tsl + -ac $b8a top 10 $b3 + //-af $b8a right 5 + + -ac $b7a left 5 $tsl + -ac $b7a top 10 $b8a + //-af $b7a right 5 + + -ac $b8 left 5 $tsl + -ac $b8 top 10 $b7a + //-af $b8 right 5 + + -ac $b9 left 5 $tsl + -ac $b9 top 10 $b7 + //-af $b9 right 5 + + -ac $drawToolButton left 5 $tsl + -ac $drawToolButton top 10 $b9 + + -ac $colorButton left 6 $tsl + -ac $colorButton top 10 $drawToolButton + + -ac $colorIndex left 6 $tsl + -ac $colorIndex top 10 $drawToolButton + + -ac $b10 left 4 $tsl + -ac $b10 top 10 $colorButton + + -ac $storeButton left 5 $tsl + -ac $storeButton top 10 $b10 + + $framesForm; + + + setParent $f; + // construct Stored Frame layout + $storedFramesFL = `frameLayout -bv 1 -bs "in" -h 24 + -cll 1 -cl 1 + -cc "chinaMarker_StoredFrameCollapse()" + -ec "chinaMarker_StoredFrameExpand()" + -l "Stored Frames" -fn "boldLabelFont" chinaMarker_StoredFrame`; + $storedFramesForm = `formLayout -nd 100 `; + // create stored frames textScrollList + $storedFramesTSL = `textScrollList -nr 10 + -dcc "" + -sc "chinaMarker_enableStoredFrame()" + chinaMarker_StoredFramesTSL`; + + $storedVisB = `symbolCheckBox -enable 0 -w 32 -h 32 + -ann "Visibility" + -i ($iconPath+"chinaMarker_visOn."+$ext) + -onc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_visOn."+$ext+"\" chinaMarker_StoredVisButton") + -ofc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_visOff."+$ext+"\" chinaMarker_StoredVisButton") + chinaMarker_StoredVisButton`; + + $storedTemplateB = `symbolCheckBox -enable 0 -w 32 -h 32 + -ann "Template" + -i ($iconPath+"chinaMarker_tmpOn." +$ext) + -onc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_tmpOn."+$ext+"\" chinaMarker_StoredTemplateButton") + -ofc ("symbolCheckBox -e -i \""+$iconPath+"chinaMarker_tmpOff."+$ext+"\" chinaMarker_StoredTemplateButton") + chinaMarker_StoredTemplateButton`; + + $storedSelectB = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_selButton."+$ext) + -ann "Select stored frame" -c "chinaMarker_SelectStoredFrame" + chinaMarker_SelectStoredFrameB`; + + $storedDeleteB = `iconTextButton -enable 0 -w 32 -h 32 -mw 0 + -i ($iconPath+"chinaMarker_delButton."+$ext) + -ann "Delete Stored Frame" -c "chinaMarker_DeleteStoredFrame" + chinaMarker_DelStoredFrameB`; + + + formLayout -e + -ap $storedFramesTSL top 4 0 + -ap $storedFramesTSL left 4 0 + -ap $storedFramesTSL right 5 90 + -ap $storedFramesTSL bottom 4 100 + + -ap $storedVisB top 4 0 + -ac $storedVisB left 5 $storedFramesTSL + + -ac $storedTemplateB top 10 $storedVisB + -ac $storedTemplateB left 5 $storedFramesTSL + + -ac $storedSelectB top 10 $storedTemplateB + -ac $storedSelectB left 5 $storedFramesTSL + + -ac $storedDeleteB top 10 $storedSelectB + -ac $storedDeleteB left 5 $storedFramesTSL + $storedFramesForm; + + + // construct overall form layout + formLayout -e + -ap $helpButton top 18 0 + -ap $helpButton right 14 100 + + -ap $titleImage top 4 0 + -ap $titleImage left 4 0 + + -ac $layerForm top 4 $titleImage + -af $layerForm left 0 + -ac $layerForm bottom 10 $storedFramesFL + -ap $layerForm right 5 50 + + -ac $framesForm top 4 $titleImage + -af $framesForm right 0 + -ac $framesForm bottom 10 $storedFramesFL + -ap $framesForm left 5 50 + + //-ap $storedFramesFL top 10 $layerForm + -af $storedFramesFL left 0 + -af $storedFramesFL right 0 + -af $storedFramesFL bottom 0 + + $f; + + chinaMarker_UpdateLayersList; + //chinaMarker_pmUpdateInterface; + } + + +global proc chinaMarker_goSelectedFrame() { + + // set the curve on surface selection off + selectType -cos 0; + + $delFrameB = "chinaMarker_DelFrameB"; + $dwnFrameB = "chinaMarker_DownFrame"; + $upFrameB = "chinaMarker_UpFrame"; + $selFrame = "chinaMarker_SelectFrameB"; + $upThisFrameB = "chinaMarker_UpThisFrame"; + $downThisFrameB = "chinaMarker_DownThisFrame"; + $toggleRefB = "chinaMarker_ToggleRefB"; + $drawToolB = "chinaMarker_UseDrawToolB"; + $colorSwatch = "chinaMarker_colorSelectorB"; + $toggleLockB = "chinaMarker_ToggleRefB"; + $storeFrameB = "chinaMarker_storeFrameB"; + + string $items[] = `textScrollList -q -si chinaMarker_TSL`; + if (size($items) > 0) { + currentTime -e $items[0]; + // enable all the buttons + iconTextButton -e -enable 1 $delFrameB; + iconTextButton -e -enable 1 $dwnFrameB; + iconTextButton -e -enable 1 $upFrameB; + iconTextButton -e -enable 1 $selFrame; + iconTextButton -e -enable 1 $upThisFrameB; + iconTextButton -e -enable 1 $downThisFrameB; + iconTextButton -e -enable 1 $drawToolB; + control -e -enable 1 $colorSwatch; + symbolCheckBox -e -enable 1 $toggleRefB; + symbolCheckBox -e -enable 1 $toggleLockB; + iconTextButton -e -enable 1 $storeFrameB; + chinaMarker_ToggleRefCheck; + } + else { + // disable all the buttons + iconTextButton -e -enable 0 $delFrameB; + iconTextButton -e -enable 0 $dwnFrameB; + iconTextButton -e -enable 0 $upFrameB; + iconTextButton -e -enable 0 $selFrame; + iconTextButton -e -enable 0 $upThisFrameB; + iconTextButton -e -enable 0 $downThisFrameB; + iconTextButton -e -enable 0 $drawToolB; + control -e -enable 0 $colorSwatch; + symbolCheckBox -e -enable 0 $toggleRefB; + symbolCheckBox -e -enable 0 $toggleLockB; + iconTextButton -e -enable 0 $storeFrameB; + + } + } + + +// get the name that the person input and try and create a display layer +// based on that name. +global proc chinaMarker_CreateSketchLayer(string $win) { + + string $layerName; + string $cameraName; + + $layerName = `textFieldGrp -q -tx chinaMarker_NewLayerTFG`; + if ((`objExists ($layerName + "_gpGrp")`) || (`objExists ("gp_"+$layerName+"_1")`)) { + confirmDialog -m ("An object already exists with the name " + $layerName + "\nPlease try a new one.."); + } + else { + $cameraName = `optionMenuGrp -q -v "gp_om"`; + + // now create the layer group + chinaMarker_CreateSketchLayerGo $cameraName $layerName; + deleteUI $win; + } + } + + +// the user wants to delete a sketch layer. Confirm that this is the case, +// and then delete it +global proc chinaMarker_DeleteSketchLayer() { + + // first get the name of the layer they want to delete + string $layer[0]; + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + if (size($layer) > 0) { + // confirm with the user that they want to do this + $result = `confirmDialog -m ("Do you want to remove the layer " + $layer[0] + "?") -b "Delete" -b "Cancel" -db "Delete" -cb "Cancel"`; + if ($result == "Delete") { + // get the index number of the selected item + $index = `textScrollList -q -sii chinaMarker_LayerTSL`; + + // now get the size + $size = `textScrollList -q -ni chinaMarker_LayerTSL`; + + if (`objExists ($layer[0] + "_gpGrp")`) + delete ($layer[0] + "_gpGrp"); + + // now re-draw the layers + chinaMarker_UpdateLayersList; + + // next, select the next item. If the user deleted item 2, then + // select what was item 3. + if ($index[0] == $size) + $index[0] = $size-1; + if ($index[0] > 0) + textScrollList -e -sii $index[0] chinaMarker_LayerTSL; + } + } + } + + +// this is now the first time we're creating a layer, so we'll want to +// create the group itself based on the camera, and then create one plane +global proc chinaMarker_CreateSketchLayerGo(string $camera, + string $layer) { + + // first save the camera in the optionVar + optionVar -sv "chinaMarker_CameraOptionVar" $camera; + // ** create a group which will be point and orient constrained to the + // camera. This group will be the thing that all planes are under + // first check and see if it already exists + + $dup = `duplicate $camera`; + delete `listRelatives -f -s $dup[0]`; + $camGrp = `rename $dup[0] ($layer + "_gpGrp")`; + parent $camGrp "chinaMarkerGroup"; + + addAttr -ln "orthographic" -at "bool" $camGrp; + connectAttr ($camera + ".orthographic") ($camGrp + ".orthographic"); + + // add attributes for ghosting, pre and post + addAttr -ln "preGhost" -at "bool" $camGrp; + addAttr -ln "postGhost" -at "bool" $camGrp; + + setAttr ($camGrp + ".preGhost") 1; + setAttr ($camGrp + ".postGhost") 1; + + // make sure that all the group attributes are unlocked + string $attrs[] = {"tx", "ty", "tz", "rx", "ry", "rz", "sx", "sy", "sz", "v", "translate", "rotate", "scale" }; + for ($at in $attrs) { + setAttr -l 0 ($camGrp +"." + $at); + } + setAttr ($camGrp + ".v") 1; + // now point and orientConstrain the camGrp to the camera + select $camera $camGrp; + pointConstraint; + orientConstraint; + + chinaMarker_UpdateLayersList; + + // we know that we've just added a new item to the list.. so now we should + // select the most recent item + $numItems = `textScrollList -q -ni chinaMarker_LayerTSL`; + if ($numItems > 0) + textScrollList -e -si ($layer) chinaMarker_LayerTSL; + + chinaMarker_addChinaMarkerFrame $layer "1"; + chinaMarker_pmUpdateInterface(); + } + + +global proc chinaMarker_UpdateLayersList() { + // first remove all layers from the list + textScrollList -e -ra chinaMarker_LayerTSL; + + string $layers[0]; + string $layer; + $layers = `ls "*_gpGrp"`; + if (size($layers) > 0) { + for ($layer in $layers) { + $layer = `substitute "_gpGrp" $layer "" `; + textScrollList -e -a $layer chinaMarker_LayerTSL; + } + } + } + + +// one of the items in the layer list was selected. +global proc chinaMarker_pmUpdateInterface() { + + // to update the interface, first we must disable everything, then we'll + // start seeing what we can add. + + global int $gDrawToolOn; + $layerTSL = "chinaMarker_LayerTSL"; + $layerDelB = "chinaMarker_DelLayerB"; + $framesTSL = "chinaMarker_TSL"; + $storedFramesTSL = "chinaMarker_StoredFramesTSL"; + + $addFrameB = "chinaMarker_AddFrameB"; + $delFrameB = "chinaMarker_DelFrameB"; + $dwnFrameB = "chinaMarker_DownFrame"; + $upFrameB = "chinaMarker_UpFrame"; + $selFrame = "chinaMarker_SelectFrameB"; + $ghostPreB = "chinaMarker_PreGhostIconTextButton"; + $ghostPostB= "chinaMarker_PostGhostIconTextButton"; + $visB = "chinaMarker_VisIconTextButton"; + $tempB = "chinaMarker_TemplateIconTextButton"; + $drawB = "chinaMarker_UseDrawToolB"; + $colorSelector = "chinaMarker_colorSelectorB"; + $storeFrameB = "chinaMarker_storeFrameB"; + //stored frame buttons + $storedVisB = "chinaMarker_StoredVisButton"; + $storedTemplateB = "chinaMarker_StoredTemplateButton"; + $storedSelectB = "chinaMarker_SelectStoredFrameB"; + $storedDeleteB = "chinaMarker_DelStoredFrameB"; + + // set everything disabled + textScrollList -e -enable 0 -ra $framesTSL; + textScrollList -e -enable 0 -ra $storedFramesTSL; + + string $ext; + $ext = `chinaMarker_IconExt`; + $iconPath = chinaMarker_getIconPath(); + + iconTextButton -e -enable 0 $layerDelB; + iconTextButton -e -enable 0 $addFrameB; + iconTextButton -e -enable 0 $delFrameB; + iconTextButton -e -enable 0 $dwnFrameB; + iconTextButton -e -enable 0 $upFrameB; + iconTextButton -e -enable 0 $selFrame; + iconTextButton -e -enable 0 $drawB; + control -e -enable 0 $colorSelector; + iconTextButton -e -enable 0 $storeFrameB; + symbolCheckBox -e -enable 0 -v 0 $ghostPreB; + symbolCheckBox -e -enable 0 -v 0 $ghostPostB; + symbolCheckBox -e -enable 0 -i ($iconPath+"chinaMarker_visOff."+$ext) -v 0 $visB; + symbolCheckBox -e -enable 0 -i ($iconPath+"chinaMarker_tmpOff."+$ext) -v 0 $tempB; + symbolCheckBox -e -enable 0 -i ($iconPath + "chinaMarker_visOff."+$ext) -v 0 $storedVisB; + symbolCheckBox -e -enable 0 -i ($iconPath+"chinaMarker_tmpOff."+$ext) -v 0 $storedTemplateB; + control -e -enable 0 $storedSelectB; + control -e -enable 0 $storedDeleteB; + + // updates the interface based on the selected item in the layer TSL + string $sel[0]; + $sel = `textScrollList -q -si $layerTSL`; + + if (size($sel) > 0) { + $item = ($sel[0] + "_gpGrp"); + + // now we start enabling things. First, we enable the other layer + // buttons + iconTextButton -e -enable 1 $layerDelB; + symbolCheckBox -e -enable 1 $ghostPreB; + symbolCheckBox -e -enable 1 $ghostPostB; + symbolCheckBox -e -enable 1 $visB; + symbolCheckBox -e -enable 1 $tempB; + //iconTextButton -e -enable 1 $drawB; + textScrollList -e -enable 1 $framesTSL; + iconTextButton -e -enable 1 $addFrameB; + iconTextButton -e -enable 1 $storeFrameB; + + // now we have to set the state of the layer buttons + if (`objExists $item`) { + connectControl $visB ($item + ".v"); + if (`getAttr ($item + ".v")`) + symbolCheckBox -e -i ($iconPath+"chinaMarker_visOn."+$ext) $visB; + connectControl $tempB ($item + ".template"); + if (`getAttr ($item + ".template")`) + symbolCheckBox -e -i ($iconPath+"chinaMarker_tmpOn."+$ext) $tempB; + connectControl $ghostPreB ($item + ".preGhost"); + connectControl $ghostPostB ($item + ".postGhost"); + + // now fill the textScrollList with frame numbers + string $children[0]; + $children = `chinaMarker_getGPList $sel[0]`; + int $ordered[0]; + + for ($item in $children) { + string $break[0]; + tokenize ($item, "_", $break); + $ordered[size($ordered)] = $break[2]; + } + $ordered = `sort $ordered`; + for ($number in $ordered) { + textScrollList -e -a $number $framesTSL; + } + + // now fill in any stored frames + $children = chinaMarker_getStoredGPList($sel[0]); + string $orderedS[]; + if(size($children)) { + textScrollList -e -enable 1 $storedFramesTSL; + for ($item in $children) { + string $break[]; + tokenize ($item, "_", $break); + $orderedS[size($orderedS)] = $break[3]; + } + $orderedS = `sort $orderedS`; + + for($item in $orderedS) { + textScrollList -e -a $item $storedFramesTSL; + } + } + } + + + if ($gDrawToolOn) + chinaMarker_setGPLive $sel[0]; + } + } + + +// this proc will check the selected TSL and see if it should turn on or off the +// checkboxes for the hilighted stored plane +global proc chinaMarker_StoredTSLSel() { + + string $sel[0]; + $sel = `textScrollList -q -si chinaMarker_StoredFramesTSL`; + if (size($sel) > 0) { + checkBoxGrp -e -enable 1 chinaMarker_pmStoredCheckBoxGrp; + checkBoxGrp -e -enable 1 chinaMarker_pmStoredTemplateCheckBoxGrp; + + string $om = "gp_om"; + $cam = `optionMenuGrp -q -v $om`; + + $name = ("stored_gp_"+$cam+"_"+$sel[0]); + if (`objExists $name`) { + connectControl -index 2 chinaMarker_pmStoredCheckBoxGrp ($name + ".v"); + connectControl -index 2 chinaMarker_pmStoredTemplateCheckBoxGrp ($name + ".template"); + } + } + else { + checkBoxGrp -e -v1 0 -enable 0 chinaMarker_pmStoredCheckBoxGrp; + checkBoxGrp -e -v1 0 -enable 0 chinaMarker_pmStoredTemplateCheckBoxGrp; + } + } + + +// set the value of the checkbox either on or off +global proc chinaMarker_Ghost(int $cb, int $value) { + + // first get the camera + string $item[0]; + $item = `textScrollList -q -si chinaMarker_LayerTSL`; + + // now get the camGrp + $camGrp = ($item[0] + "_gpGrp"); + + // set the value of ghost + if ($cb == 2) { + setAttr ($camGrp + ".preGhost") $value; + //checkBoxGrp -e -v1 $value $cbg; + } + else { + setAttr ($camGrp + ".postGhost") $value; + //checkBoxGrp -e -v2 $value $cbg; + } + chinaMarker_updateGPVis $item[0]; + } + + +// if the textScrollList is double-clicked, that means the user may want to +// change the frame number that the image is currently on. +global proc chinaMarker_DoubleClickTSL() { + + // first, get the camera + string $tsl = "chinaMarker_TSL"; + string $cam; + string $item; + string $items[]; + + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + + // now find out what was selected + $items = `textScrollList -q -si $tsl`; + $item = $items[0]; + // pop up a box which will ask the user to enter a new frame number + $result = `chinaMarker_GetValidReturn $cam $item`; + + // now we have a result.. check and see if the result is the same as the + // $item. If so, do nothing.. if not, re-order things! woo! + if ($result != $item) { + // create a new name for the item + $newName = ("gp_"+$cam+"_"+$result); + + // the old name is + $oldName = ("gp_"+$cam+"_"+$item); + + // rename it + rename $oldName $newName; + + // now update everything + chinaMarker_updateGPVis $cam; + chinaMarker_setGPLive $cam; + chinaMarker_pmUpdateInterface; + + // now go to that frame + textScrollList -e -si $result chinaMarker_TSL; + currentTime -e $result; + } + } + + +global proc chinaMarker_pmAddFrame(){ + // get the current value in the camera pullDown + $sel = `textScrollList -q -si chinaMarker_LayerTSL`; + chinaMarker_addChinaMarkerFrame $sel[0] "cur"; + chinaMarker_pmUpdateInterface; + } + + +global proc chinaMarker_pmDelFrame(){ + // get the current value in the camera pullDown + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + chinaMarker_removeGPFrame $cam; + } + + +global proc chinaMarker_DeleteStoredFrame(){ + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + chinaMarker_removeGPStoredFrame $cam; + } + + +global proc chinaMarker_pmDrawToolGo(){ + // get the current value in the camera pullDown + string $cam[0]; + $cam = `textScrollList -q -si chinaMarker_LayerTSL`; + chinaMarker_setGPTool $cam[0]; + } + + +global proc string chinaMarker_createExtrudeCircle(string $grp){ + // create a circle and connect it to the camGrp + string $circle[0]; + $circle = `circle -radius .005`; + hide $circle; + + addAttr -ln "gp_ExtrudeCircle" -at "message" $grp; + connectAttr ($circle[0] + ".message") ($grp + ".gp_ExtrudeCircle"); + return ($circle[0]); + } + + +global proc string chinaMarker_getExtrudeCircle(string $camGrp){ + $tmp = `listConnections ($camGrp + ".gp_ExtrudeCircle")`; + return ($tmp[0]); + } + + +global proc string chinaMarker_getCamGrp(string $camera){ + string $camGrp; + string $items[] = `textScrollList -q -si chinaMarker_LayerTSL`; + $camGrp = ($items[0] + "_gpGrp"); + return $camGrp; + } + + +global proc string[] chinaMarker_getStoredGPList( string $item ){ + // get a list of all the gps for the current selected layer item + string $list[0]; + int $count = 0; + string $itemGrp; + $itemGrp = ($item + "_gpGrp"); + string $children[]; + $children = `listRelatives -c -type "transform" $itemGrp`; + string $child; + for ($child in $children) { + string $break[0]; + tokenize ($child, "_", $break); + if ($break[0] == "stored") { + $list[$count++] = $child; + } + } + + return $list; + } + + +// get a list of all the gps for the current selected item +global proc string[] chinaMarker_getGPList( string $item ){ + + string $list[0]; + int $count = 0; + string $itemGrp; + $itemGrp = ($item + "_gpGrp"); + string $children[0]; + $children = `listRelatives -c -type "transform" $itemGrp`; + string $child; + for ($child in $children) { + string $break[0]; + tokenize ($child, "_", $break); + if ($break[0] == "gp") { + $list[$count++] = $child; + } + } + + return $list; + } + + +// this procedure will duplicate the hilighted frame and "store" it for +// later use. +global proc chinaMarker_SaveFrame(){ + + // first find out which one is selected + + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + + // now find out what was selected + $item = chinaMarker_GetSelectedFrame(); + + if ($item != "") { + // prompt the user for a name + $result = `promptDialog -t "New Stored Frame" -m "What would you like to call this frame?" -b "Store it" -b "Cancel" -db "Store it" -cb "Cancel" `; + + if ($result == "Store it") { + $value = `promptDialog -q -text`; + + // duplicate it + string $dup[0]; + $dup = `duplicate $item`; + + + $newName = `rename $dup[0] ("stored_gp_"+$cam+"_"+$value)`; + + // now remove the drawing so it's not part of the animated bit + chinaMarker_pmDelFrame; + chinaMarker_pmUpdateInterface; + } + } + } + + +global proc chinaMarker_updateGPVis(string $camera){ + // first get a list of all the cm pencils in the list + string $camGrp; + string $children[0]; + string $gps[0]; + int $frames[0]; + int $count = 0; + int $count2 = 0; + int $count3 = 0; + + $camGrp = `chinaMarker_getCamGrp $camera`; + //$children = `listRelatives -c -type "transform" $camera`; + $children = `listRelatives -c -type "transform" $camGrp`; + string $child; + for ($child in $children) { + string $break[0]; + tokenize ($child, "_", $break); + if ($break[0] == "gp") { + $frames[$count++] = $break[size($break)-1]; + } + } + + $frames = `sort $frames`; + int $preGhost = `getAttr ($camGrp + ".preGhost")`; + int $postGhost = `getAttr ($camGrp + ".postGhost")`; + + ////print ("Setting up visibility ... \n"); + //print ("-----------------------------------------\n"); + for ($x = 0; $x < size($frames); $x++) { + + // first delete all the keys on the visibility for the gp + $gp = ("gp_" + $camera + "_" + $frames[$x]); + //print ("\nWorking on " + $gp + "\n"); + if (`objExists $gp`) + catch (`cutKey -at "visibility" -at "template" $gp`); + + // now, set a key for the value of 0 at $x before this current value, unless $x = 0; + if ($x > 0) { + // make sure that all visibility is off first + + $cmd = ("setKeyframe -at \"visibility\" -v 0 -ott \"step\" -t (0) \""+$gp+"\""); + //$cmd = ("setKeyframe -at \"visibility\" -v 0 -ott \"step\" -t (0) -t ("+$frames[$x+1+$postGhost]+") \""+$gp+"\""); + //print ($cmd + "\n"); + eval $cmd; + } + else { + // turn on visibility for the first item + $cmd = ("setKeyframe -at \"visibility\" -v 1 -ott \"step\" -t 0 \""+$gp+"\""); + //print ($cmd + "\n"); + eval $cmd; + } + + // now set a key for it to be on at this frame + if (`objExists $gp`) { + //print ("Now set up when the drawing should be turned on and off\n"); + if ($x > 0) { + //setKeyframe -at "visibility" -v 1 -ott "step" -t ($frames[$x-$preGhost]) $gp; + $cmd = ("setKeyframe -at \"visibility\" -v 1 -ott \"step\" -t ("+($frames[$x - $postGhost])+") \""+$gp+"\""); + //print ($cmd + "\n"); + eval $cmd; + $cmd = ("setKeyframe -at \"visibility\" -v 0 -ott \"step\" -t ("+($frames[$x +1+ $preGhost])+") \""+$gp+"\""); + //print ($cmd + "\n"); + eval $cmd; + setKeyframe -at "template" -v 1 -ott "step" -t ($frames[$x - $postGhost]) $gp; + setKeyframe -at "template" -v 0 -ott "step" -t ($frames[$x]) $gp; + } + else { + if ((size($frames)) > 1 ) { + if ((size($frames)) == 2) { + if ($preGhost == 0) { + $cmd = ("setKeyframe -at \"visibility\" -v 0 -ott \"step\" -t ("+($frames[($x +1)])+") \""+$gp+"\""); + //print ($cmd + "\n"); + eval $cmd; + } + } + else { + $cmd = ("setKeyframe -at \"visibility\" -v 0 -ott \"step\" -t ("+($frames[($x +1+ $preGhost)])+") \""+$gp+"\""); + //print ($cmd + "\n"); + eval $cmd; + } + setKeyframe -at "template" -v 0 -ott "step" -t ($frames[$x]) $gp; + } + else + setKeyframe -at "template" -v 0 -ott "step" -t ($frames[$x]) $gp; + } + setKeyframe -at "template" -v 1 -ott "step" -t ($frames[$x+1]) $gp; + } + } + } + + +// this provides a quick way to "erase" drawings.. it's not a true eraser, but it sorta works. +global proc string chinaMarker_GetSelectedFrame() { + string $frame; + + string $items[] = `textScrollList -q -si chinaMarker_TSL`; + if (size($items) > 0) { + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + $cam = $layer[0]; + setToolTo "selectSuperContext"; + $name = ("gp_"+$cam+"_"+$items[0]); + if (`objExists $name`) + $frame = $name; + } + return $frame; + } + + +global proc string chinaMarker_getSelectedStoredFrame() { + string $frame; + string $items[] = `textScrollList -q -si chinaMarker_StoredFramesTSL`; + if(size($items) ) { + $layers = `textScrollList -q -si chinaMarker_LayerTSL`; + $curLayer = $layers[0]; + $name = ("stored_gp_"+$curLayer+"_"+$items[0]); + if(`objExists $name`) $frame = $name; + } + + return $frame; + } + + +//check if the frame is locked or normal +global proc chinaMarker_ToggleRefCheck() { + // check the hilighted frame to see if it's referenced or not. If it is referenced, then set the chinaMarker_ToggleRefB + // to show that it can be turned to non-referenced, otherwise set the chinaMarker_ToggleRefB to show that it can be set to + // Edit. + // if it's not referenced then set the curve on surface selectType on + + string $iconPath = chinaMarker_getIconPath(); + string $button = "chinaMarker_ToggleRefB"; + string $frame; + int $currentState; + + $frame = `chinaMarker_GetSelectedFrame`; + if ($frame != "") { + $shape = `listRelatives -f -s $frame`; + $currentState = `getAttr ($shape[0] + ".overrideDisplayType")`; + if ($currentState == 2) { + symbolCheckBox -e -v 1 -i ($iconPath+"chinaMarker_onLock.xpm") $button; + selectType -cos 0; + //button -e -l "Edit" $button; + } + else { + symbolCheckBox -e -v 0 -i ($iconPath+"chinaMarker_offLock.xpm") $button; + selectType -cos 1; + //button -e -l "Lock" $button; + } + } + } + + +// will toggle the currently selected frame between editable and not +global proc chinaMarker_ToggleRef(){ + + string $frame; + int $currentState; + int $newState; + $frame = `chinaMarker_GetSelectedFrame`; + if ($frame != "") { + $shape = `listRelatives -f -s $frame`; + $currentState = `getAttr ($shape[0] + ".overrideDisplayType")`; + if ($currentState == 2) + setAttr ($shape[0] + ".overrideDisplayType") 0; + else + setAttr ($shape[0] + ".overrideDisplayType") 2; + + chinaMarker_ToggleRefCheck ; + } + } + + +////////////////////// +// stored frame commands + +global proc chinaMarker_StoredFrameExpand() { + // windows handles the expand natively + $system = `about -os`; + if (($system == "nt") || ($system == "win64") ) + return; + + $win = "chinaMarker_cmPencilWin"; + $frame = "chinaMarker_StoredFrame"; + $curWinHeight = `window -q -h $win`; + $curFrameHeight = `control -q -h $frame`; + + window -e -h ($curWinHeight + 75) $win; + control -e -h ($curFrameHeight + 75) $frame; + + } + +global proc chinaMarker_StoredFrameCollapse() { + // windows handles the collapse natively + $system = `about -os`; + if (($system == "nt") || ($system == "win64") ) + return; + + $win = "chinaMarker_cmPencilWin"; + $frame = "chinaMarker_StoredFrame"; + $curHeight = `window -q -h $win`; + $curFrameHeight = `control -q -h $frame`; + + window -e -h ($curHeight-75) $win; + control -e -h ($curFrameHeight-75) $frame; + } + + +global proc chinaMarker_enableStoredFrame() { + string $ext = chinaMarker_IconExt(); + string $iconPath = chinaMarker_getIconPath(); + + $storedVisB = "chinaMarker_StoredVisButton"; + $storedTemplateB = "chinaMarker_StoredTemplateButton"; + $storedSelectB = "chinaMarker_SelectStoredFrameB"; + $storedDeleteB = "chinaMarker_DelStoredFrameB"; + symbolCheckBox -e -enable 1 -i ($iconPath+"chinaMarker_visOff."+$ext) $storedVisB; + symbolCheckBox -e -enable 1 -i ($iconPath+"chinaMarker_tmpOff."+ $ext) $storedTemplateB; + control -e -enable 1 $storedSelectB; + control -e -enable 1 $storedDeleteB; + + string $curStoredFrame = chinaMarker_getSelectedStoredFrame(); + + if(`objExists $curStoredFrame`) { + connectControl $storedVisB ($curStoredFrame+ ".v"); + if(`getAttr($curStoredFrame+".v")`) + symbolCheckBox -e -v 1 -i ($iconPath+"chinaMarker_visOn."+$ext) $storedVisB; + connectControl $storedTemplateB ($curStoredFrame+".template"); + if(`getAttr($curStoredFrame +".template")`) + symbolCheckBox -e -v 1 -i ($iconPath+"chinaMarker_tmpOn."+$ext) $storedTemplateB; + + } + } + + +// check that the clipping plane hasn't been set farther back than +// the China Marker drawing plane +global proc chinaMarker_clippingPlaneCheck() { + + string $curView, $curCamera, $curCamAttrHolder, $dValue; + int $nearClipPlaneValue; + + // get the layer name + $layer = `textScrollList -q -si chinaMarker_LayerTSL`; + // what camera is it constrained to + string $constObj[] = `listConnections -s 1 ($layer[0]+"_gpGrp.tx")`; + string $constAttrs[] = `listAttr $constObj[0]`; + for($x in $constAttrs) { + if(`gmatch $x "*W0"`) { + + $curCamera = `substring $x 1 (size($x)-2)`; + break; + } + } + + + //find the value of the near clippling plane on the current camera + $curCamAttrHolder = $curCamera + ".nearClipPlane"; + $nearClipPlaneValue = `getAttr $curCamAttrHolder`; + + + if($nearClipPlaneValue >= 1) { + $dValue = `confirmDialog + -title "Clipping Plane Warning" + -messageAlign "center" + -message ("Your near clipping plane is greater than 1,"+ + "which will not work with the tool. Should it be changed?") + -button "Change Clipping Plane" + -defaultButton "Change Clipping Plane" + -button "Cancel" + -cancelButton "Cancel" + -parent "MayaWindow" + -dismissString "Cancel"`; + + if($dValue == "Change Clipping Plane") { + setAttr $curCamAttrHolder .1; + } + else return; + } + } + + +/////////////////////// +// color procs + +// these are the color values for the object overrides colors +proc float[] chinaMarker_getColorValues() { + + // get prefs dir + string $path = `internalVar -upd`; + $path = ($path + "paletteColors.mel"); + if(! `filetest -r $path`) return {}; + + $fileId = `fopen $path "r"`; + string $fileContents[]; + string $nextLine = `fgetline $fileId`; + while(size($nextLine) > 0) { + $fileContents[size($fileContents)] = $nextLine; + $nextLine = `fgetline $fileId`; + } + fclose $fileId; + + float $rgbValues[]; + for ($x in $fileContents) { + string $tok[]; + tokenizeList($x, $tok); + + $rgbValues[size($rgbValues)] = float($tok[2]); + $rgbValues[size($rgbValues)] = float($tok[3]); + $rgbValues[size($rgbValues)] = float(`substring $tok[4] 1 (size($tok[4])-1) `); + + } + + return $rgbValues; + + } + +// create a selection gui to pick an override color +global proc chinaMarker_colorSelector() { + int $colorIndex; + + string $canvasWid[]; + float $rgbValues[] = chinaMarker_getColorValues(); + + $winName = "chinaMarker_colorSelector"; + if(`window -ex $winName`) deleteUI $winName; + + $win = `window -t "Color Selector" $winName`; + $scroll = `scrollLayout -hst 0`; + $fl = `formLayout -nd 100`; + + // create the canvas widgets + for($x=0; $x < size($rgbValues); $x=$x+3) { + + int $index = $x/3; + + string $widName = ("chinaMarker_color"+$index); + float $r = $rgbValues[$x]; + float $g = $rgbValues[$x+1]; + float $b = $rgbValues[$x+2]; + string $wid = `canvas -rgbValue $r $g $b -w 75 -h 20 + -pc ("chinaMarker_colorSelected "+$index) $widName`; + + $label = `text -l ($index+1) -fn "boldLabelFont"`; + + formLayout -e + -af $wid top (10+($index*30)) + -af $wid left 10 + -ap $wid right 10 50 + + -af $label top (10 + ($index*30)) + -ac $label left 30 $wid + $fl; + + $canvasWid[$index] = $wid; + } + + showWindow $win; + window -e -w 200 -h 250 $win; + } + + +// set the color swatch to the new index and apply the color +// to any selected curves +global proc chinaMarker_colorSelected(int $index) { + + // change the swatch color in the GUI + string $swatch = "chinaMarker_colorSelectorB"; + string $colorIndex = "chinaMarker_colorIndex"; + + float $rgbValues[] = chinaMarker_getColorValues(); + float $r = $rgbValues[$index*3]; + float $g = $rgbValues[($index*3) +1]; + float $b = $rgbValues[($index*3) +2]; + canvas -e -rgb $r $g $b $swatch; + text -e -l $index $colorIndex; + + // are there any selected curves + string $objs[] = `ls -sl`; + for($obj in $objs) { + // is it a nurbs curve + string $shapes[] = `listRelatives -ad -typ "nurbsCurve" $obj`; + $a = size($shapes); print $a; + // is it a nurbs surface + if(! size($shapes)) { + // get the surface shape node + string $children[] = `listRelatives -ad $obj`; + // get the shape node + $shapes = `listRelatives -ad -type "nurbsCurve" $children[0]`; + } + + for($x in $shapes) { + // enable overrides + setAttr($x+".overrideEnabled") 1; + // set the color index + setAttr($x+".overrideColor") ($index+1); + } + } + + } + + +// called from scriptJob when new DAG object created; sets current +// color on new curve +global proc chinaMarker_setCurveColor() { + string $objs[] = `ls -sl`; + + // get current color index + string $colorIndex = "chinaMarker_colorIndex"; + int $index = int(`text -q -l $colorIndex`); + + for($obj in $objs) { + // get the shape node + string $shapes[] = `listRelatives -s $obj`; + // is it a nurbs curve + string $type[]= `ls -st $shapes[0]`; + if($type[1] != "nurbsCurve") continue; + + setAttr ($shapes[0]+".overrideEnabled") 1; + setAttr ($shapes[0]+".overrideColor") ($index+1); + } + + } + +/////////////////////// + +global proc chinaMarker_launchDocs() { + string $scriptPath = `internalVar -usd`; + $scriptPath = ($scriptPath + "docs/ChinaMarkerDocs.mht"); + print $scriptPath; + if(`filetest -r $scriptPath`){ + print "here"; + system("load "+ $scriptPath); + } + } + + + +////////////////////// +// launch the GUI +global proc chinaMarker_GUI() { + + $win = "chinaMarker_cmPencilWin"; + + // check if a node exists to stick China Marker objects under + if (!`objExists chinaMarkerGroup`) { + createNode "transform" -n "chinaMarkerGroup"; + } + + + // create the window + if (`window -exists $win`) + deleteUI $win; + + chinaMarker_createChinaMarkerWindow $win; + window -e -w 450 -h 700 $win; + + showWindow $win; + //chinaMarker_StoredFrameCollapse(); + + } diff --git a/2009-x64/AnimationScripts/scripts/endName.mel b/2009-x64/AnimationScripts/scripts/endName.mel new file mode 100644 index 0000000..aacf6bd --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/endName.mel @@ -0,0 +1,14 @@ +global proc string endName (string $fullPath) +{ + // This script takes a full path name and strips out all the "|"'s and just + // returns the end name + // + // example: + // endName "|root|waist|torso_1|torso_2|torso_3|torso4"; + // // Result: torso4 // + + string $break[0]; + + tokenize ($fullPath, "|", $break); + return ($break[(size($break)-1)]); +} diff --git a/2009-x64/AnimationScripts/scripts/icon2shelf_1.BMP b/2009-x64/AnimationScripts/scripts/icon2shelf_1.BMP new file mode 100644 index 0000000..ea8f85e Binary files /dev/null and b/2009-x64/AnimationScripts/scripts/icon2shelf_1.BMP differ diff --git a/2009-x64/AnimationScripts/scripts/jsPickWalk.mel b/2009-x64/AnimationScripts/scripts/jsPickWalk.mel new file mode 100644 index 0000000..f8b8571 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/jsPickWalk.mel @@ -0,0 +1,451 @@ +// Copyright (C) 1997-2001 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +//-----------------------------------------------------------------// +//-----------------------------------------------------------------// +// SCRIPT: jsPickWalk.mel +// AUTHOR: Jason Schleifer +// oy_vay@hotmail.com +// DATE: July 16, 2001 +// +// DESCRIPTION: allows the user to pickWalk to any object +// using the traditional up/down/left/right +// +// USAGE: There are two different parts to jsPickWalk, +// definition and usage. +// +// To define a direction, you use jsMakePickWalk +// with the object you want to add the pickWalk on, +// the object you want to pickWalk to, and the direction. +// eg: jsMakePickWalk nurbsSphere1 nurbsSphere2 down +// +// To go a direction, use jsPickWalk with an object +// selected: +// jsPickWalk down; +// +// To be added: jsMakePickWalkUI for adding a pickWalk +// interface. +// +// NOTE: This script will work with multiple objects +// selected. +// +//-----------------------------------------------------------------// +//-----------------------------------------------------------------// + +global proc int isValidDir (string $dir) +{ + // checks and makes sure that $dir is a valid direction + $validDirs = { "u", "d", "l", "r", "up", "down", "left", "right", "north", + "south", "west", "east", "n", "s", "w", "e" }; + + for ($valid in $validDirs) + { + if ($valid == $dir) + return 1; + } + + return 0; +} + +global proc string returnValidDir (string $dir) +{ + // returns a valid direction for what we use.. for example, the user can + // enter "north" "up" "n" or "u" and they will all work for "up" + switch ($dir) + { + case "u": + case "n": + case "up": + case "north": + return "up"; + break; + case "d": + case "s": + case "down": + case "south": + return "down"; + break; + case "l": + case "w": + case "left": + case "west": + return "left"; + break; + case "r": + case "e": + case "right": + case "east": + return "right"; + break; + + } + return ""; +} +global proc jsSetPickWalkModeCreate () +{ + global string $gJsPickWalkMode; + $gJsPickWalkMode = "create"; + +} +global proc jsSetPickWalkModeNavigate () +{ + global string $gJsPickWalkMode; + $gJsPickWalkMode = "navigate"; + +} +global proc jsBuildMakePickWalkWin (string $win) +{ + window -t "Make jsPickWalk" $win; + columnLayout -adj true; + $f = `formLayout -nd 100`; + $t1 = `text -l "" js_t1`; + $t2 = `button -l "blank" js_t2`; + $t3 = `text -l "" js_t3`; + $t4 = `button -l "blank" js_t4`; + $t5 = `button -l "nothing selected" js_t5`; + $t6 = `button -l "blank" js_t6`; + $t7 = `text -l "" js_t7`; + $t8 = `button -l "blank" js_t8`; + $t9 = `text -l "" js_t9`; + $mode = `radioButtonGrp -cw 1 100 -cal 1 "left" -l "CURRENT MODE:" -sl 1 + -l1 "Creation" -l2 "Navigation" -nrb 2 -on1 "jsSetPickWalkModeCreate" + -on2 "jsSetPickWalkModeNavigate"`; + + formLayout -e + -af $mode top 5 + -af $mode left 5 + -af $mode right 5 + + -ac $t1 top 10 $mode + -af $t1 left 0 + -ap $t1 right 0 33 + + -ac $t2 top 10 $mode + -ap $t2 left 0 33 + -ap $t2 right 0 66 + + -ac $t3 top 10 $mode + -ap $t3 left 0 66 + -af $t3 right 0 + + -ac $t4 top 5 $t2 + -af $t4 left 0 + -ap $t4 right 0 33 + + -ac $t5 top 5 $t2 + -ap $t5 left 0 33 + -ap $t5 right 0 66 + + -ac $t6 top 5 $t2 + -ap $t6 left 0 66 + -af $t6 right 0 + + -ac $t7 top 5 $t4 + -af $t7 left 0 + -ap $t7 right 0 33 + + -ac $t8 top 5 $t4 + -ap $t8 left 0 33 + -ap $t8 right 0 66 + + -ac $t9 top 5 $t4 + -ap $t9 left 0 66 + -af $t9 right 0 + + $f; + + + button -e -c jsAddSelectedObjectToMiddle js_t5; + button -e -c ("jsMakePickWalkButtonClicked js_t2") js_t2; + button -e -c ("jsMakePickWalkButtonClicked js_t4") js_t4; + button -e -c ("jsMakePickWalkButtonClicked js_t6") js_t6; + button -e -c ("jsMakePickWalkButtonClicked js_t8") js_t8; +} +global proc jsMakePickWalkUI () +{ + // builds a window which displays a UI to make it easier to build a + // pickWalk relationship + + $win = "jsMakePickWalkWin"; + if (`window -exists $win`) + deleteUI $win; + + jsBuildMakePickWalkWin $win; + + showWindow $win; + jsAddSelectedObjectToMiddle; +} +global proc jsResetMakePickWalkButtons () +{ + button -e -l "blank" js_t2; + button -e -l "blank" js_t4; + button -e -l "nothing selected" js_t5; + button -e -l "blank" js_t6; + button -e -l "blank" js_t8; + +} +global proc jsAddSelectedObjectToMiddle () +{ + // look at the selected object, add it to the middle, then update the ui + $objs = `ls -sl`; + if (size($objs) > 0) + { + // get the good name + $goodName = `endName $objs[0]`; + button -e -l $goodName -ann $objs[0] js_t5; + } + + jsUpdateBuildMakePickWalkWin; +} +global proc jsUpdateBuildMakePickWalkWin () +{ + // based on the middle object, find out what objects are connected up down + // left and right, and put them in the buttons + string $midObject = `button -q -ann js_t5`; + + if (!`objExists $midObject`) + { + // clear all buttons + jsResetMakePickWalkButtons; + } + else + { + $goodName = "blank"; + $up = "blank"; + $down = "blank"; + $left = "blank"; + $right = "blank"; + + // search and see if there are any connections + $up = `jsReturnConnectedObj $midObject "up"`; + $down = `jsReturnConnectedObj $midObject "down"`; + $left = `jsReturnConnectedObj $midObject "left"`; + $right = `jsReturnConnectedObj $midObject "right"`; + + // now replace them if they're true + + if ($up != "blank") + $goodName = `endName $up`; + button -e -l $goodName -ann $up js_t2; + + $goodName = "blank"; + if ($down != "blank") + $goodName = `endName $down`; + button -e -l $goodName -ann $down js_t8; + + $goodName = "blank"; + if ($left != "blank") + $goodName = `endName $left`; + button -e -l $goodName -ann $left js_t4; + + $goodName = "blank"; + if ($right != "blank") + $goodName = `endName $right`; + button -e -l $goodName -ann $right js_t6; + + } +} + +global proc jsMakePickWalkButtonClicked (string $button) +{ + // one of the buttons was clicked. Let's see if there's anything in the + // middle. + + // get the button based on the dir + string $dir; + string $attr; + switch ($button) + { + case "js_t2": + $dir = "up"; + $attr = "js_up"; + break; + case "js_t8": + $dir = "down"; + $attr = "js_down"; + break; + case "js_t4": + $dir = "left"; + $attr = "js_left"; + break; + case "js_t6": + $dir = "right"; + $attr = "js_right"; + break; + } + string $midObject = `button -q -ann js_t5`; + if (`objExists $midObject`) + { + // check and see what mode we're in + global string $gJsPickWalkMode; + + if ($gJsPickWalkMode == "create") + { + // check and see if something is selected, if not, it may mean they + // want to clear the pickWalk direction + string $sel[0]; + $sel = `ls -sl`; + if (size($sel) == 0) + { + // check and see if anything is in the appropriate button + $label = `button -q -l $button`; + if ($label != "blank") + { + // check and see if they want to clear + $result = `confirmDialog -m ("You have nothing selected.\nDo you want to clear the " + $dir + " direction for " + $midObject + "?") -b "Yes" -b "No" -cancelButton "No"`; + if ($result == "Yes") + { + string $con[0]; + $con = `listConnections ($midObject + "." + $attr)`; + if (size($con) > 0) + { + disconnectAttr ($con[0] + ".message") ($midObject + "." + $attr); + } + } + } + } + else + { + // something IS selected. Let's make that the new connection + // first, we'll add the attribute to $midObject if necessary + if (!`attributeQuery -exists -node $midObject $attr`) + addAttr -ln $attr -at message $midObject; + + // first make sure they're not the same object + if ($midObject == $sel[0]) + { + confirmDialog -m "You're trying to make an object pickWalk to itself.. it can't do that!\n"; + error "You're trying to make an object pickWalk to itself.. it can't do that!\n"; + + } + else + { + // now make the connection + connectAttr -f ($sel[0] + ".message") ($midObject + "." + $attr); + } + } + } + else // we're in navigate mode.. + { + // pickWalk + jsPickWalk $dir; + + // rebuild the UI + jsAddSelectedObjectToMiddle; + } + } + jsUpdateBuildMakePickWalkWin; +} +global proc jsMakePickWalk (string $object, string $destination, string $dir) +{ + // check and make sure the direction is valid + if (!`isValidDir $dir`) + error ($dir + " is not a valid direction.\n"); + + $validDir = `returnValidDir $dir`; + + // now make sure $object and $destination are valid objects + if (!`objExists $object`) + error ($object + " does not exist.\n"); + if (!`objExists $destination`) + error ($destination + " does not exist.\n"); + + // now add the attribute + $attr = ("js_"+$validDir); + + if (!`attributeQuery -exists -node $object $attr`) + addAttr -ln $attr -at message ($object); + + // connect the attribute + connectAttr -f ($destination + ".message") ($object + "." + $attr); + +} + +global proc jsMakePickWalkSel ( string $dir ) +{ + // this proc can be used to make a pickWalk if you do it based off the + // selection list. + // + // the first object selected is the destination, the second is the object + + // check and make sure the direction is valid + if (!`isValidDir $dir`) + error ($dir + " is not a valid direction.\n"); + + $validDir = `returnValidDir $dir`; + + // get the selected objects + $objs = `ls -sl`; + + // check that there are enough + if (size($objs)<2) + error ("You need 2 objects selected to perform jsMakePickWalkSel.\n"); + + $dest = $objs[0]; + $obj = $objs[1]; + + $cmd = ("jsMakePickWalk \"" + $obj + "\" \"" + $dest + "\" \"" + $validDir + "\""); + evalEcho $cmd; +} + +global proc string jsReturnConnectedObj (string $ob, string $dir) +{ + // given an object and a direction, this proc returns the name of the + // connected object. + if (`attributeQuery -exists -node $ob ("js_"+$dir)`) + { + // the attribute exists. check and see if an object is connected + string $con[0]; + $con = `listConnections ($ob + ".js_"+$dir)`; + if (size($con)>0) + { + // the object exists + return $con[0]; + } + } + return ""; +} + +global proc jsPickWalk ( string $dir ) +{ + + // check and make sure the direction is valid + if (!`isValidDir $dir`) + error ($dir + " is not a valid direction.\n"); + + $validDir = `returnValidDir $dir`; + + // now get a list of selected objects + string $objs[0]; + string $newSel[0]; + int $new = 0; + // for each selected object, find out of there's an object that can be + // reached by the given jsPickWalk dir + $objs = `ls -sl`; + for ($ob in $objs) + { + string $connected = ""; + + $connected = `jsReturnConnectedObj $ob $validDir`; + if ($connected != "") + { + $newSel[$new++] = $connected; + } + } + if (size($newSel) > 0) + select $newSel; + +} diff --git a/2009-x64/AnimationScripts/scripts/keyScaler.mel b/2009-x64/AnimationScripts/scripts/keyScaler.mel new file mode 100644 index 0000000..5d09a85 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/keyScaler.mel @@ -0,0 +1,83 @@ +/* +Key Frame Scaler - keyScaler.mel - By David Peers (davidp@al.com.au) +for info see www.andrewsilke.com/mel_info.html + +WHAT IT DOES +This script scales keys from the center of each curve from selected keys in the graph editor. + + + HOW TO INSTALL + 1. Unzip the zip file with the 2 scripts: + keyScalerButtons.mel + keyScaler.mel + 1. Copy both mel files to a directory in your scripts path + eg. documents path \maya\5.0\scripts + 2. map the following to a hotkey or shelf button: + keyScalerButtons; + + HOW TO USE + 1. Press the hotkey or shelf button to run the key scaler UI + 2. Select the function curves you wish to modify, press the buttons on the UI +*/ + +// ******UI******** + +global proc keyScaler() +{ +//kill existing +if ((`window -ex frameyWindow`) == true) deleteUI frameyWindow; + +//create UI +window -t "Multi Key Scaler" -mxb 0 -rtf 1 frameyWindow; +columnLayout controlLayout; +floatSliderGrp -l "Scale" -f 1 -v 1 -min (-1) -max 3 scaler; +button -l "Scale It" -c doKeyScaler doButton; + +showWindow frameyWindow; +} + +//*****CODE******* + +global proc doKeyScaler () +{ +// make array of selected curves +string $selCurves[] = `keyframe -query -name -sl`; +string $curve; + +// loop scaler for each curve +for ($curve in $selCurves) +{ + +// array for keys on a single curve +float $keyVals[] = `keyframe -query -sl -vc -attribute $curve`; +int $keyIndex[] = `keyframe -query -sl -iv -attribute $curve`; +int $indexSize = size($keyIndex); +int $indexLast = $keyIndex[$indexSize-1]; + + +string $curveObj[] = `listConnections -p 1 $curve`; +string $curveAttr[] = `listAttr $curveObj[0]`; + + +// init variables +float $key; +float $maxKey = -1000000; +float $minKey = 1000000; + +// scan keyframes for max and min values +for ($key in $keyVals) + { + $maxKey = `max $maxKey $key`; + $minKey = `min $minKey $key`; + } + +float $midPoint = ($maxKey + $minKey)/2; +float $scaleAmount = `floatSliderGrp -q -v scaler`; + +string $insert = $keyIndex[0] + ":" + $indexLast; + +// Scale around centre pivot - ts and tp are ineffectual for magnitude scaling +scaleKey -iub false -ts 1 -tp 52 -index $insert -vs $scaleAmount -vp $midPoint -attribute $curveAttr[0] $curveObj[0]; +}; + +} \ No newline at end of file diff --git a/2009-x64/AnimationScripts/scripts/keyScalerButtons.mel b/2009-x64/AnimationScripts/scripts/keyScalerButtons.mel new file mode 100644 index 0000000..2ce264d --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/keyScalerButtons.mel @@ -0,0 +1,92 @@ +/* +Key Frame Scaler - keyScalerButtons.mel - By David Peers (davidp@al.com.au) +for info see www.andrewsilke.com/mel_info.html + +WHAT IT DOES +this script scales keys from the center of each curve from selected keys in the graph editor. + + + HOW TO INSTALL + 1. Unzip the zip file with the 2 scripts: + keyScalerButtons.mel + keyScaler.mel + 1. Copy both mel files to a directory in your scripts path + eg. documents path \maya\5.0\scripts + 2. map the following to a hotkey or shelf button: + keyScalerButtons; + + HOW TO USE + 1. Press the hotkey or shelf button to run the key scaler UI + 2. Select the curves you wish to modify, press the buttons on the UI +*/ + + +// ******UI******** + +global proc keyScalerButtons() +{ +//kill existing +if ((`window -ex frameyWindow`) == true) deleteUI frameyWindow; + + + +//create UI +window -t "Multi Key Scaler" -mxb 0 -rtf 1 frameyWindow; +rowLayout -numberOfColumns 6 -w 1; +button -l "-1 (invert)" -c "doKeyScaler(-1)" doButton1; +button -l "<<-0.2" -c "doKeyScaler(0.8)" doButton2; +button -l "<-0.1" -c "doKeyScaler(0.9)" doButton3; +button -l "+0.1>" -c "doKeyScaler(1.1)" doButton4; +button -l "+0.2>>" -c "doKeyScaler(1.2)" doButton5; +button -l "+1>>>" -c "doKeyScaler(2)" doButton6; + + +showWindow frameyWindow; +} + + +//*****CODE******* + +global proc doKeyScaler (float $scaleButt) +{ +// make array of selected curves +string $selCurves[] = `keyframe -query -name -sl`; +string $curve; + +// loop scaler for each curve +for ($curve in $selCurves) +{ + +// array for keys on a single curve +float $keyVals[] = `keyframe -query -sl -vc -attribute $curve`; +int $keyIndex[] = `keyframe -query -sl -iv -attribute $curve`; +int $indexSize = size($keyIndex); +int $indexLast = $keyIndex[$indexSize-1]; + + +string $curveObj[] = `listConnections -p 1 $curve`; +string $curveAttr[] = `listAttr $curveObj[0]`; + + +// init variables +float $key; +float $maxKey = -1000000; +float $minKey = 1000000; + +// scan keyframes for max and min values +for ($key in $keyVals) + { + $maxKey = `max $maxKey $key`; + $minKey = `min $minKey $key`; + } + +float $midPoint = ($maxKey + $minKey)/2; +//float $scaleAmount = `floatSliderGrp -q -v scaler`; + +string $insert = $keyIndex[0] + ":" + $indexLast; + +// Scale around centre pivot - ts and tp are ineffectual for magnitude scaling +scaleKey -iub false -ts 1 -tp 52 -index $insert -vs $scaleButt -vp $midPoint -attribute $curveAttr[0] $curveObj[0]; +}; + +} \ No newline at end of file diff --git a/2009-x64/AnimationScripts/scripts/lpFilterCurves.mel b/2009-x64/AnimationScripts/scripts/lpFilterCurves.mel new file mode 100644 index 0000000..1d977b8 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/lpFilterCurves.mel @@ -0,0 +1,75 @@ +//-------------------------------------------------------------------------- +// filterCurves.mel script - (c) Laurent Pancaccini. +// +// AUTHORS: +// Laurent Pancaccini. +// +// REQUIRES: +// +// DESCRIPTION: +// Filter the curves in the Graph Editor according to the selected channel in the channel box. +// Rerun the Mel, and maya goes back to it's normal behavior. +// +// VERSIONS: +// 1.1.0 +//-------------------------------------------------------------------------- + +global int $LP_filterCurvesjobNb = -1 ; + +global proc displayCurve() +{ + string $sel[] ; + string $channels[] ; + + $sel = `ls -sl` ; + $channels = `channelBox -q -sma mainChannelBox` ; + + if (`size $channels` != 0) + { + selectionConnection -e -clear graphEditor1FromOutliner ; + for ($i in $sel) + { + for ($j in $channels) + { + if (`attributeExists $j $i ` == 1 ) + { + selectionConnection -e -select ($i + "." + $j) graphEditor1FromOutliner ; + } + } + } + } + else + { + for ($i in $sel) + { + selectionConnection -e -select $i graphEditor1FromOutliner ; + } + } + +} + +global proc lpFilterCurves () +{ + global int $LP_filterCurvesjobNb ; + print $LP_filterCurvesjobNb ; + + string $sel[] = `ls -sl` ; + + int $ex = `scriptJob -ex $LP_filterCurvesjobNb` ; + + if ($ex == 1) + { + scriptJob -k $LP_filterCurvesjobNb ; + scriptJob -lj ; + for ($i in $sel) + { + selectionConnection -e -select $i graphEditor1FromOutliner ; + } + } + else + { + $LP_filterCurvesjobNb = `scriptJob -e "ToolChanged" "displayCurve"`; + displayCurve ; + scriptJob -lj ; + } +} \ No newline at end of file diff --git a/2009-x64/AnimationScripts/scripts/oaIcon2Shelf.mel b/2009-x64/AnimationScripts/scripts/oaIcon2Shelf.mel new file mode 100644 index 0000000..b615df8 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/oaIcon2Shelf.mel @@ -0,0 +1,228 @@ +/* +=========================================================================== +NAME: oaIcon2Shelf.mel +AUTHOR: Oleg Alexander, olegalexander@gmail.com +DATE: September 28, 2005 + +DESCRIPTION: +Works just like the classic pose2shelf.mel by Erick Miller, but also adds +an icon of the pose to the shelf! + +TO USE: +Make sure the Shelf is visible. Execute 'oaIcon2Shelf' to bring up the UI. + +Save Pose Icon: + o Pose your control objects and select them. + o Give the pose a label. + o Frame your view for the snapshot. + o Press 'Save Pose Icon'. + +Save Selection Icon: + o Select your objects. + o Give the selection a label. + o Frame your view for the snapshot. + o Press 'Save Selection Icon'. + +=========================================================================== +*/ + +//Make Icon Procedure +global proc oaIcon2ShelfMakeIcon(string $label) { + + //Store the original Render Globals image format + int $origImageFormat = `getAttr defaultRenderGlobals.imageFormat`; + + //Temporarily set the image format to Bitmap + setAttr defaultRenderGlobals.imageFormat 20; + + //Get the icons folder + string $iconsFolder = `internalVar -userBitmapsDir`; + + //Get the current frame + int $currentFrame = `currentTime -q`; + + //Get the name of the active view + string $editorName = `getPanel -withFocus`; + + //Get the current display state of the active view + string $origDisplayState = `modelEditor -q -stateString $editorName`; + + //This part is just stupid! But it works. + $origDisplayState = `substitute "$editorName*" $origDisplayState $editorName`; + $origDisplayState = `substitute "$editorName*" $origDisplayState $editorName`; + + //Make only geometry visible + //FEEL FREE TO UNCOMMENT ANY OF THESE + modelEditor -e -allObjects off $editorName; + modelEditor -edit + -nurbsSurfaces on + -polymeshes on + -subdivSurfaces on + //-nurbsCurves on + //-planes on + //-lights on + //-cameras on + //-controlVertices on + //-hulls on + //-grid on + //-joints on + //-ikHandles on + //-deformers on + //-dynamics on + //-fluids on + //-hairSystems on + //-follicles on + //-locators on + //-dimensions on + //-handles on + //-pivots on + //-textures on + //-strokes on + $editorName; + + //Take the snapshot + playblast + -showOrnaments off + -frame $currentFrame + -percent 100 + -wh 30 30 + -viewer off + -format "image" + -filename ($iconsFolder + $label); + + //Reset the display state of the active view to what it was + eval $origDisplayState; + + //Reset image format to what it was + setAttr defaultRenderGlobals.imageFormat $origImageFormat; + +} + +//Save Pose Procedure +global proc oaIcon2ShelfSavePose(string $poseLabel) { + + //Replace spaces with underscores + string $poseLabel = substituteAllString($poseLabel, " ", "_"); + + //Get selection + string $selected[] = `ls -sl`; + if (size($selected) == 0) error -sl on "Nothing is selected."; + + //Declare the $command variable + string $command = ("//Pose: '" + $poseLabel + "'\n"); + + for ($item in $selected) { + + //For each item, get the list of keyable attributes + string $attrs[] = `listAttr -keyable $item`; + + for ($attr in $attrs) { + + //For each attribute, get the value + float $value = `getAttr ($item + "." + $attr)`; + + //Append the setAttr command to the $command string + $command += ("catch(`setAttr " + $item + "." + $attr + " " + $value + "`);\n"); + } + } + + //Call the Save to Shelf procedure + oaIcon2ShelfSaveToShelf $poseLabel $command; + +} + +//Save Selection Procedure +global proc oaIcon2ShelfSaveSelection(string $selectionLabel) { + + //Replace spaces with underscores + string $selectionLabel = substituteAllString($selectionLabel, " ", "_"); + + //Get selection + string $selected[] = `ls -sl`; + if (size($selected) == 0) error -sl on "Nothing is selected."; + + //Declare the $command variable + string $command = ("//Selection: '" + $selectionLabel + "'\n"); + + for ($item in $selected) { + + //For each item, append the select command to the $command string + $command += ("catch(`select -tgl " + $item + "`);\n"); + } + + //Call the Save to Shelf procedure + oaIcon2ShelfSaveToShelf $selectionLabel $command; + +} + +//Save to Shelf procedure +global proc string oaIcon2ShelfSaveToShelf(string $label, string $command) { + + //Declare the Maya shelf global variable + global string $gShelfTopLevel; + + //Make sure the shelf is visible + if (`tabLayout -q -isObscured $gShelfTopLevel`) error -sl on "Please make the shelf visible."; + + //Create the icon snapshot + oaIcon2ShelfMakeIcon $label; + + //If a shelf button with that label already exists, delete it + if (`shelfButton -exists ("i2sbutton_" + $label)`) deleteUI ("i2sbutton_" + $label); + + //Get the current shelfItemStyle + string $shelfStyle = `optionVar -q "shelfItemStyle"`; + + //Create the shelf button + shelfButton + -parent ($gShelfTopLevel + "|" + `tabLayout -q -selectTab $gShelfTopLevel`) + -annotation $label + -label $label + -imageOverlayLabel $label + -image ($label + ".0000.bmp") + -style $shelfStyle + -command $command + ("i2sbutton_" + $label); + + //Print the shelf commands for the user + print $command; + + //Return the shelf commands also. Why not? + return $command; +} + +//UI +global proc oaIcon2Shelf() { + + //If the UI already exists, delete it + if (`window -query -exists icon2shelfWin`) { + deleteUI icon2shelfWin; + windowPref -remove icon2shelfWin; + } + + //Create the UI + window + -title "oaIcon2Shelf" + -resizeToFitChildren true + -sizeable false + icon2shelfWin; + + columnLayout -adjustableColumn true -rowSpacing 5; + + textField -text "Label" -ann "Enter a unique name for the pose or selection." icon2shelfTxtFld; + + button + -h 30 + -w 130 + -l "Save Pose Icon" + -c "oaIcon2ShelfSavePose(`textField -q -text icon2shelfTxtFld`)" + -ann "Save the pose icon to the current visible shelf."; + + button + -l "Save Selection Icon" + -c "oaIcon2ShelfSaveSelection(`textField -q -text icon2shelfTxtFld`)" + -ann "Save the selection icon to the current visible shelf."; + + showWindow icon2shelfWin; + +} diff --git a/2009-x64/AnimationScripts/scripts/poseLib.mel b/2009-x64/AnimationScripts/scripts/poseLib.mel new file mode 100644 index 0000000..58941a3 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/poseLib.mel @@ -0,0 +1,2776 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: poseLib +'' Author: +'' Last Updated: Jun 16, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/animation/4268.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +// =============================== +// poseLib +// =============================== +// +// Purpose: +// -------- +// Allows you to record poses for anything in Maya (most likely the controls of a character rig). +// +// Usage: +// ------ +// poseLib; +// + +proc poseLibInitializeVariables() + { + // -------------------------- + // Initializing variables. + // -------------------------- + global string $poseLibVersion; + $poseLibVersion = "4.3.1"; + global string $poseLibCurrentProject; + //$poseLibCurrentProject = `internalVar -userWorkspaceDir`; + $poseLibCurrentProject = `workspace -q -fn`; + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + $poseLibCharacterList = { "default" }; + global string $poseLibCategoryList[]; + $poseLibCategoryList = { "default" }; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + global float $poseLibApplyIncrement; + $poseLibApplyIncrement = 0.75; + global string $poseLibPathsBookmarks[]; + global string $poseLibTextEditor; + //$poseLibTextEditor = "C:/Program Files/EditPlus 2/editplus.exe"; + global int $poseLibUseTexturesForIconPreview; + global string $poseLibIconFormat = ".bmp"; + global string $poseLibCancelIsolateCmd; + + // Identify the os. + if ( `about -os` == "linux" ) + { + $poseLibIconFormat = ".xpm"; + print "Operating system: Linux\n"; + } + else if ( `about -macOS` ) + { + $poseLibIconFormat = ".xpm"; + print "Operating system: MAC OS\n"; + } + else if ( `about -os` == "win64" ) + print "Operating system: Windows x64\n"; + //else if ( `about -os` == "nt" ) + // print "Operating system: Windows XP\n"; + + // Check if the default path option var exists and set the poseLib default path accordingly. + if ( `optionVar -exists poseLibDefaultPathStatus` ) + $poseLibDefaultPath = `optionVar -q poseLibDefaultPathStatus`; + else + $poseLibDefaultPath = $poseLibCurrentProject + "/poseLib"; //print ("\n$defaultPath=" + $poseLibDefaultPath ); + + if ( `optionVar -exists poseLibTextEditorStatus` ) + $poseLibTextEditor = `optionVar -q poseLibTextEditorStatus`; + else + $poseLibTextEditor = "C:/Program Files/Windows NT/Accessories/wordpad.exe"; //print ("\n$defaultPath=" + $poseLibDefaultPath ); + + if ( `optionVar -exists iconsSizeWidthStatus` ) + $poseLibIconsSize[0] = `optionVar -q iconsSizeWidthStatus`; + + if ( `optionVar -exists iconsSizeHeightStatus` ) + $poseLibIconsSize[1] = `optionVar -q iconsSizeHeightStatus`; + + if ( `optionVar -exists useTexturesForIconPreviewStatus` ) + $poseLibUseTexturesForIconPreview = `optionVar -q useTexturesForIconPreviewStatus`; + else + $poseLibUseTexturesForIconPreview = 1; + } + +// --------------------------------------------------------------------------- +// For Maya 6.0 backward compatibility. +// --------------------------------------------------------------------------- +global proc int stringArrayContains(string $item, string $list[]) + { + int $result = false; + + string $listItem; + + for ($listItem in $list) + { + if ($item == $listItem) + { + $result = true; + break; + } + } + + return $result; + } + +global proc int stringArrayInsertAtIndex( int $index, string $list[], string $item ) + { + int $i; + string $result[]; + int $len = size( $list ); + + // Check for a valid index and simple case of appending to end. + // + if ( $index < 0 ) { + return( false ); + } else if ( $index >= $len ) { + $list[$len] = $item; + return( true ); + } + + // Copy any entries prior to $index. + // + for ( $i = 0; $i < $index; $i++ ) { + $result[$i] = $list[$i]; + } + + // Add the new item. + // + $result[$i] = $item; + + // Copy any items which come after $index. + // + for ( ; $i < $len; $i++ ) { + $result[$i + 1] = $list[$i]; + } + + // Copy the result to the list argument. + // + $list = $result; + + return( true ); + } + +global proc int stringArrayContains(string $item, string $list[]) + { + int $result = false; + + string $listItem; + + for ($listItem in $list) { + if ($item == $listItem) { + $result = true; + break; + } + } + + return $result; + } + +// --------------------------------------------------------------------------- + +global proc poseLibSavePrefs() + /* Save poseLib preferences, including the currently displayed icons order. */ + { + global string $poseLibDefaultPath; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + global string $poseLibPathsBookmarks[]; + global string $poseLibTextEditor; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + // Store all the option choices in option variables. + optionVar -stringValue poseLibDefaultPathStatus $poseLibDefaultPath; + optionVar -stringValue poseLibTextEditorStatus $poseLibTextEditor; + optionVar -intValue useCurrentCharacterStatus `checkBox -q -v useCurrentCharacterCB`; + optionVar -intValue useCustomNamespaceStatus `checkBox -q -v useCustomNamespaceCB`; + optionVar -stringValue namespaceTextFieldStatus `textField -q -tx namespaceTextFieldTF`; + optionVar -stringValue characterChoiceStatus `optionMenu -q -v characterChoiceOM`; + optionVar -stringValue categoryChoiceStatus `optionMenu -q -v categoryChoiceOM`; + optionVar -intValue iconsSizeWidthStatus $poseLibIconsSize[0]; + optionVar -intValue iconsSizeHeightStatus $poseLibIconsSize[1]; + optionVar -stringValue iconsBackgroundColorStatus $poseLibIconsBackgroundColor; + string $pathsBookmarksStatusTmp = stringArrayToString($poseLibPathsBookmarks, ","); + optionVar -stringValue pathsBookmarksStatus $pathsBookmarksStatusTmp; //print ("\nSaved $pathsBookmarksStatusTmp: " + $pathsBookmarksStatusTmp + "\n"); + + // what we need to do is to embed the poses index order in the pose files + // Get the list of poses currently displayed and their index. + string $posesUINames[] = `shelfLayout -q -ca plPosesSL`; + string $poseNames[] = {}; + for ($i=0;$i<`size $posesUINames`;$i++) + { + $poseNames[$i] = `shelfButton -q -l $posesUINames[$i]`; + } + //print ("$poseNames:\n"); print $poseNames; print "\n"; + + // Open each pose file. + for ($i=0;$i<`size $poseNames`;$i++) + { + if (`filetest -w ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseNames[$i])`) + { + //print ("\nAssigning index order " + $i + " to pose \"" + $poseNames[$i] + "\""); + string $allLines[] = {}; + int $fileId = `fopen ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseNames[$i]) "r"`; + + // Store the file's content. + while ( !`feof $fileId` ) + { + $allLines[`size $allLines`] = `fgetline $fileId`; + } + fclose $fileId; + //print ("pose = " + $poseNames[$i] + "\n"); + + // Rewrite the file starting with the new index number. + int $fileId = `fopen ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseNames[$i]) "w"`; + fprint $fileId ("\nposeLibIndexOrder " + $i); + + int $start = 1; + string $buffer[]; + int $numTokens = `tokenize $allLines[1] " " $buffer`; //print ($buffer[`size $buffer`-1]); + if ( $buffer[0] == "poseLibIndexOrder" ) + $start = 2; + + for ($j=$start;$j<`size $allLines`;$j++) + { + $allLines[$j] = strip($allLines[$j]); + if ( $allLines[$j] != "" ) + fprint $fileId ("\n" + $allLines[$j]); + } + fclose $fileId; + } + } + + evalDeferred("poseLibRefreshPoseList(\"\")"); + print "poseLib: Saved preferences!\n"; + } + +global proc string poseLibCheckIfIndexExists( int $fileId ) + /* Find if there's an index order keyword at the start of the pose file + and position the file pointer just before the first attribute name. */ + { + // check if the index order keyword exists + string $checkForIndex = `fgetword $fileId`; + string $result = ""; + // if it does, then read one more word (the index itself), so that + // the next word will be the attribute name + if ( $checkForIndex == "poseLibIndexOrder" ) + $result = `fgetword $fileId`; + // if not, then rewind the file and skip the first line (empty) + else + { + frewind $fileId; + string $controlName = `fgetline $fileId`; // This is because the first line is empty. + } + return $result; + } + +global proc poseLibChooseTextEditor() + /* Set the text editor to be used when editing poses. */ + { + // get the text-editor program + global string $poseLibTextEditor; + string $result = `fileDialog -dm "*.exe"`; + + if ( $result != "" ) + { + text -e -ann $result -l $result poseLibTextEditorOptionText; + $poseLibTextEditor = $result; + } + else + text -e -ann $poseLibTextEditor -l $poseLibTextEditor poseLibTextEditorOptionText; + + // save the prefs + poseLibSavePrefs; + } + +global proc poseLibGetNamepaceFromSelection() + { + // Set the namespace based on the current selection. + string $selection[] = `ls -sl`; + string $buffer[]; + int $numTokens = `tokenize $selection[0] ":" $buffer`; //print ($buffer[`size $buffer`-1]); + string $namespace = $buffer[0]; + + textField -e -text $namespace namespaceTextFieldTF; + } + +global proc poseLibBrowseForFolder( string $startFolder ) + { + global string $poseLibDefaultPath; + + workspace -dir $startFolder; + + fileBrowserDialog -mode 4 + -fileCommand ( "poseLibBrowseForFolderCallback \"" + $poseLibDefaultPath + "\"" ) + -actionName "Choose New poseLib Folder:"; + } + +global proc poseLibBrowseForFolderCallback( string $poseLibBookmarkDoubleClicked, string $poseLibFolderResult, string $type ) + { + global string $poseLibDefaultPath; + global string $poseLibPathsBookmarks[]; + + string $checkName = `match "[$%\\#@.;?!\"\'\`]" $poseLibFolderResult`; + + if ( `size $checkName` ) + error "poseLib: The poseLib path can NOT include any space (\" \") nor either of these: \" $ % \\ # @ . ; ? ! \' \`"; + + if ( $poseLibFolderResult != $poseLibDefaultPath ) + { + string $askToCopyOldPoseLibFolder = `confirmDialog + -title "New poseLib Folder" + -message ( "Do you want to copy any existing character(s) and categories to the new directory?\n\n(Note: You will have to manually delete the old poseLib folder. This is a safety mesure!)" ) -ma "center" + -button "Yes" -button "No, just change the path" -button "Cancel" + -defaultButton "Yes" -cancelButton "Cancel" + -dismissString "No"`; + + string $oldPoseLibDefaultPath = $poseLibDefaultPath; + + if ( `checkBox -q -v poseLibFolderOptionCB` ) + $poseLibDefaultPath = $poseLibFolderResult + "/poseLib"; + else + $poseLibDefaultPath = $poseLibFolderResult; + + if ( $askToCopyOldPoseLibFolder == "Yes" ) + { + text -e -l $poseLibDefaultPath poseLibFolderOptionText; + + string $tmp = toNativePath( $oldPoseLibDefaultPath ); + string $tmp2 = toNativePath( $poseLibDefaultPath ); + system( "xcopy " + $tmp + " " + $tmp2 + "/s /e /i" ); + } + + else if ( $askToCopyOldPoseLibFolder == "No, just change the path" ) + { + text -e -l $poseLibDefaultPath poseLibFolderOptionText; + } + + // If the user didn't simply double-click on a bookmark, then add the location to the bookmark list. + if ( $poseLibBookmarkDoubleClicked != "yes" ) + { + textScrollList -e -appendPosition 1 $poseLibDefaultPath poseLibDirectoriesBookmarksTSL; + $poseLibPathsBookmarks = `textScrollList -q -ai poseLibDirectoriesBookmarksTSL`; //print ( "Updating $poseLibPathsBookmarks[zero] = " + $poseLibPathsBookmarks[0] + "\n"); + } + + if ( $askToCopyOldPoseLibFolder != "Cancel" ) + { + poseLibSavePrefs; + evalDeferred("poseLib"); + } + + print ( "poseLib: Successfuly changed default path to \"" + $poseLibDefaultPath + "\"." ); + } + } + +global proc poseLibOutputPoseInfo ( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + // ------------------- + // Open the file + // ------------------- + int $fileId=`fopen $poseFilePath "r"`; + string $controlName = `fgetline $fileId`; // Because first line is empty + + poseLibCheckIfIndexExists($fileId); + + string $alreadyDone = ""; + string $consTmp = ""; + + print ( "\n===================================\n" ); + print ( "Pose Control List for \"" + $poseName + "\":\n" ); + print ( "===================================\n" ); + int $count = 0; + + // Go through all the controls. + while ( size( $controlName ) > 0 ) + { + $controlName = `fgetword $fileId`; //print $controlName; + string $attributeName = `fgetword $fileId`; //print $attributeName; + string $attributeValue = `fgetword $fileId`; //print $attributeValue; + string $checkTmp = $controlName; + + if ( ($checkTmp != $alreadyDone) && ($controlName != "") ) + { + $count++; + print ( $count + "- " + $controlName + "\n" ); + } + + $alreadyDone = $checkTmp; + } + fclose $fileId; + + print ( "--> " + $count + " control(s) in this pose... (see script editor for details)" ); + } + +global proc poseLibResetView () + { + string $getTextfield = `textFieldGrp -q -tx setNameField`; //print ("\n$getTextfield = " + $getTextfield); + poseLibCreateNewPose( $getTextfield ); + } + +global proc poseLibIsolateSelected ( int $cancel ) + { + string $currentSelection[] = `ls -l -sl`; + string $allGeometries[] = `ls -l -type "mesh" -type "nurbsSurface"`; + global string $poseLibCancelIsolateCmd; + + if ( `size $currentSelection` != 0 && $poseLibCancelIsolateCmd == "" && $cancel == 0 ) + { + // Get list of every geometry in the scene and their visibility. + select -cl; + string $allGeometries[] = `ls -l -type "mesh" -type "nurbsSurface" -type "subdiv"`; + + // Hide the geometries. + for ($i=0;$i<`size $allGeometries`;$i++) + { + for ($j=0;$j<`size $currentSelection`;$j++) + { + string $parent[] = `listRelatives -f -p $allGeometries[$i]`; + if (!stringArrayContains($parent[0], $currentSelection)) + { + if ( `getAttr ($allGeometries[$i] + ".visibility")` ) + { + $poseLibCancelIsolateCmd = $poseLibCancelIsolateCmd + "; setAttr \"" + $allGeometries[$i] + ".visibility\" 1"; + setAttr ($allGeometries[$i] + ".visibility") 0; + } + } + } + } + select -r $currentSelection; + //poseLibResetView; + } + else + { + // Put back the visibilities the way they were. + catchQuiet(`eval($poseLibCancelIsolateCmd)`); + $poseLibCancelIsolateCmd = ""; + //poseLibResetView; + } + } + +global proc poseLibCreateNewPose ( string $ifTextfieldNotEmpty ) + { + global int $poseLibIconsSize[]; + global int $poseLibUseTexturesForIconPreview; + + // ------------------------------ + // 1- Create snapshot window UI + // ------------------------------ + if ( `window -exists poseLibCreateNewPoseWindow` ) + deleteUI poseLibCreateNewPoseWindow; + + string $selection[] = `ls -sl`; + + window -rtf true -menuBar false -title "Create New Pose" -w 10 -h 10 -te 300 -le 500 poseLibCreateNewPoseWindow; + columnLayout -adjustableColumn true -h 50; + rowLayout -nc 3 -cw3 106 1 150 iconCaptureRL; + //columnLayout -adjustableColumn false captureImageColumn; + frameLayout -borderStyle "etchedOut" -cl false -cll false -m on -labelVisible false -width 104 -height 104 iconCameraFrame; + glRenderEditor hardwareRenderViewBis; + popupMenu -button 3 -p iconCameraFrame snapShotPopup; + menuItem -en on -label "Isolate Selected" -p snapShotPopup -c "poseLibIsolateSelected(0)"; + setParent ..; + + image -m off -h 25 -image "sphere.xpm" toto; + + frameLayout -borderStyle "etchedOut" -labelVisible false -mw 4 -width 164 -height 104 buttonsFrame; + columnLayout -adjustableColumn true createNewPoseButtonsCL; + + separator -style "none" -h 2; + textFieldGrp -cw2 50 100 -l "Name:" -tx $ifTextfieldNotEmpty setNameField; + separator -style "none" -h 2; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 80 -columnWidth 2 4 -columnWidth 3 68; + button -label "Preview Icon" -align "center" -c "button -e -en on createPoseButton; poseLibResetView; poseLibDoIconPreview; poseLibDoIconPreview; button -e -en on createPoseButton" -w 100 -h 23; + separator -style "none" -h 2; + checkBox -l "Textures" -v $poseLibUseTexturesForIconPreview -onc "setAttr defaultHardwareRenderGlobals.texturing 1; $poseLibUseTexturesForIconPreview = 1; optionVar -intValue useTexturesForIconPreviewStatus `checkBox -q -v poseLibUseTexturesForIconPreviewCB`" -ofc "setAttr defaultHardwareRenderGlobals.texturing 0; $poseLibUseTexturesForIconPreview = 0; optionVar -intValue useTexturesForIconPreviewStatus `checkBox -q -v poseLibUseTexturesForIconPreviewCB`" poseLibUseTexturesForIconPreviewCB; + setParent ..; + separator -style "none" -h 2; + button -label "Create Pose" -en off -h 23 -c "poseLibDoCreateNewPose" createPoseButton; + + separator -style "none" -h 2; + + rowColumnLayout -numberOfColumns 2 -columnWidth 1 90 -columnWidth 2 58; + button -label "Reset View" -c "poseLibResetView" -h 23; + button -label "Cancel" -c "deleteUI poseLibCreateNewPoseWindow; poseLibIsolateSelected(1)" -h 23; + setParent ..; + setParent ..; + + // ------------------------------------------------- + // 2- Generate a unique camera using current view. + // ------------------------------------------------- + if ( !`objExists SnapShotCamera` ) + { + string $CurrentPanel = `getPanel -withFocus`; + + if (`getPanel -to $CurrentPanel` != "modelPanel") // make sure we've got a camera + { + string $visPanel[] = `getPanel -vis`; // get all visible Panels + + string $n; + for ($n in $visPanel) + { + string $modelPanels[] = `getPanel -type modelPanel`; // get all modelPanels + + if ( (`getPanel -to $n`) == "modelPanel") + { + setFocus($n); + $CurrentPanel = $n; + break; + } + } + } + + string $CurrentCamera = `modelPanel -q -cam $CurrentPanel`; + float $campos[] = `camera -q -position $CurrentCamera`; + float $camrot[] = `camera -q -rotation $CurrentCamera`; + float $camwup[] = `camera -q -worldUp $CurrentCamera`; + float $camcoi = `camera -q -coi $CurrentCamera`; + float $focal = `camera -q -fl $CurrentCamera`; + + string $camShapeNode = `createNode "camera"`; + string $camTopNode[] = `listRelatives -p $camShapeNode`; + rename $camTopNode[0] "SnapShotCamera"; + hide SnapShotCamera; + + camera -edit + -centerOfInterest $camcoi + -position $campos[0] $campos[1] $campos[2] + -rotation $camrot[0] $camrot[1] $camrot[2] + -worldUp $camwup[0] $camwup[1] $camwup[2] + -fl 200.0 + -farClipPlane 10000 + SnapShotCamera; + } + + // --------------------------------------------- + // 3- Hardware render looks thru snapshot camera. + // --------------------------------------------- + glRenderEditor -e -lt SnapShotCamera hardwareRenderViewBis; + + // --------------------------------------------- + // 4- Setup hardware render options. + // --------------------------------------------- + int $frame = `currentTime -q`; + + if ( $frame < 0 ) + { + currentTime 1; + $frame = 1; + } + + // Unlock start and end frame first (as sometimes they get locked (!?) ). + setAttr -l false "defaultHardwareRenderGlobals.startFrame"; + setAttr -l false "defaultHardwareRenderGlobals.endFrame"; + setAttr -l false "defaultHardwareRenderGlobals.byFrame"; + + setAttr "defaultHardwareRenderGlobals.startFrame" $frame; + setAttr "defaultHardwareRenderGlobals.endFrame" $frame; + setAttr "defaultHardwareRenderGlobals.extension" 1; // 1=xxx.#.ext + setAttr "defaultHardwareRenderGlobals.backgroundColor" -type double3 0.75 0.75 0.75; + + // Use textures or not? + if ( $poseLibUseTexturesForIconPreview == 1 ) + setAttr "defaultHardwareRenderGlobals.texturing" 1; + else + setAttr "defaultHardwareRenderGlobals.texturing" 0; + + setAttr "defaultHardwareRenderGlobals.imageFormat" 20; // bmp=20; jpg=8; tiff=3 + + // This is because the first time the window appears, everything gets deselected (?!!). + select -r $selection; + showWindow poseLibCreateNewPoseWindow; + // window -e -w ($poseLibIconsSize[0] + `frameLayout -q -width buttonsFrame` + 10) poseLibCreateNewPoseWindow; + window -e -w 272 poseLibCreateNewPoseWindow; + + print "Ready to capture icon..."; + } + +global proc poseLibDoIconPreview () + { + global int $poseLibIconsSize[]; + + setAttr -type "string" defaultHardwareRenderGlobals.filename "iconTmp"; + setAttr -type "string" defaultHardwareRenderGlobals.resolution ( $poseLibIconsSize[0] + "x" + $poseLibIconsSize[1] + " " + $poseLibIconsSize[0] + " " + $poseLibIconsSize[1] + " 1.0"); + + // Set the correct frame number to render (the current one). + float $tmp = `currentTime -q`; //print ("\ntmp = " + $tmp); + int $prout = `glRender -q -fs`; //print ("\nprout = " + $prout); + + glRender -e -fs $tmp; + glRender -e -ti 0 -abp 2 -is $poseLibIconsSize[0] $poseLibIconsSize[1] 1.0 -es 1 -aam "gaussian" -rs hardwareRenderViewBis; + + rowLayout -e -cw 1 $poseLibIconsSize[0] iconCaptureRL; //print ("$poseLibIconsSize[0] = " + $poseLibIconsSize[0] + "\n"); + frameLayout -e -width ($poseLibIconsSize[0] + 4) -height ($poseLibIconsSize[1] + 4) -cl false -cll false -m on iconCameraFrame; + + // Display the temp icon (if we're on windows). + if ( `about -os` == "nt" ) + { + rowLayout -e -cw 1 1 iconCaptureRL; //print ("$poseLibIconsSize[0] = " + $poseLibIconsSize[0] + "\n"); + rowLayout -e -cw 2 $poseLibIconsSize[0] iconCaptureRL; //print ("$poseLibIconsSize[0] = " + $poseLibIconsSize[0] + "\n"); + string $imagesDir = `workspace -q -renderTypeEntry "images"`; //print ( "\n$imagesDir = " + $imagesDir ); + int $frame = `currentTime -q`; + + if ( $frame < 0 ) + { + currentTime 1; + $frame = 1; + warning "==> poseLib doesn't work with negative frame numbers (e.g.: Current time frame has to be 1 or higher). Sorry..."; + } + string $iconTmp = $imagesDir + "/iconTmp." + $frame + ".bmp"; //print ( "\n$newPoseIconFileTmp = " + $newPoseIconFileTmp ); + //frameLayout -e -m off iconCameraFrame; + //image -e -m on -w $poseLibIconsSize[0] -h $poseLibIconsSize[1] -image $iconTmp toto; + + int $heightTmp = `frameLayout -q -height buttonsFrame` + 30; + if ( $heightTmp < $poseLibIconsSize[1] ) + $heightTmp = $poseLibIconsSize[1]; + + window -e -h $heightTmp -w ($poseLibIconsSize[0] + `frameLayout -q -width buttonsFrame` + 10) poseLibCreateNewPoseWindow; + } + } + +global proc poseLibDoCreateNewPose () + { + global string $poseLibDefaultPath; + global string $poseLibIconFormat; + global int $poseLibIconsSize[]; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $selection[] = `ls -l -sl`; + string $theAttributes[] = {}; + + if ( size($selection) == 0 ) + { + warning " ---> Please select the character's controls first!\n"; + return; + } + + //---------------------- + // 1- Get pose name. + //---------------------- + string $nameTmp = `textFieldGrp -q -tx setNameField`; + string $name = `strip $nameTmp`; + string $checkName = `match "[$%\\/#@.:;?!\"\'\`]" $name`; + + if ( (`size $checkName` > 0) || (`size $name` == 0) ) + { + error "You must enter a valid name, without any of these: \" $ % \\ / # @ . :; ? ! \' \`"; + return; + } + + //--------------------------------- + // 2- Check if file already exists. + //--------------------------------- + string $newPoseFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $name; + + if ( `file -q -ex $newPoseFile` ) + { + string $result = `confirmDialog + -parent poseLibWindow + -title "Confirm Save Pose" + -message ( "Overwrite the existing pose: " + $newPoseFile + " ?" ) -ma "center" + -button "Yes" -button "No" + -defaultButton "Yes" -cancelButton "No" + -dismissString "No"`; + + if ($result == "No") + { + error "---> The pose has NOT been saved!!!"; + return; + } + } + + //--------------------------------- + // 3- Write down pose file. + //--------------------------------- + int $fileId=`fopen $newPoseFile "w"`; + int $i, $k; + + for ($i=0;$i<`size $selection`;$i++) + { + // Get the list of attributes to save. + select -r $selection[$i]; + $theAttributes = `listAttr -k -s`;//print ($selection[$i] + "\n"); + + // Get the short name of the control. + string $selection[] = `ls -l -sl`; + string $buffer1[]; + int $numTokens = `tokenize $selection[0] "|" $buffer1`; //print ($buffer1[`size $buffer1`-1]); + string $shortNameTmp = $buffer1[`size $buffer1`-1]; + + // Check if the control has a namespace... + string $buffer2[]; + $numTokens = `tokenize $shortNameTmp ":" $buffer2`; //print ($buffer2[`size $buffer2`-1]); + + // ... And remove it if it does. + string $controlName = ($buffer2[`size $buffer2`-1]); //print ("\n$controlName = " + $controlName); + + string $showType[] = `ls -st -sl`; //print ( $selection[$i] + "is of type:" + $showType[1] + "\n"); + + // Are we dealing with a blendshape? + if ( $showType[1] == "blendShape" ) + { + // Write down the lines in the pose file. + fprint $fileId ( "\n" + $controlName + " envelope " + `blendShape -q -envelope` ); + string $listOfTargets[] = `aliasAttr -q $selection[0]`; + fprint $fileId ( "\n" + $controlName + " " + $listOfTargets[0] + " " + (`getAttr ($selection[0] + "." + $listOfTargets[0])`) ); + } + + // Are we dealing with a character set? + else if ( $showType[1] == "character" ) + { + string $objectsPlusAttributes[] = `sets -q`; + //print $objectsPlusAttributes; + + for ($attribute in $objectsPlusAttributes) + { + string $bufferTmp[]; + $numTokens = `tokenize $attribute "." $bufferTmp`; //print ($buffer2[`size $buffer2`-1]); + + // Remove the namespace if it exists. + string $bufferNameTmp[]; + $numTokens = `tokenize $bufferTmp[0] ":" $bufferNameTmp`; //print ($buffer2[`size $buffer2`-1]); + + fprint $fileId ( "\n" + $bufferNameTmp[1] + " " + $bufferTmp[1] + " " + (`getAttr ($bufferTmp[0]+"."+$bufferTmp[1])`) );//print ( "\n" + $selection[$i] + "." + $theAttributes[$k] ); + } + } + else + { + // Write down the line in the pose file. + for ($k=0;$k<`size $theAttributes`;$k++) + { + fprint $fileId ( "\n" + $controlName + " " + $theAttributes[$k] + " " + (`getAttr ($selection[0]+"."+$theAttributes[$k])`) );//print ( "\n" + $selection[$i] + "." + $theAttributes[$k] ); + } + } + } + fclose $fileId; + + //-------------------------------------------------------------------- + // 4- Copy icon file from maya default "image" dir to the poselib dir. + //-------------------------------------------------------------------- + int $frame = `currentTime -q`; + + if ( $frame < 0 ) + { + currentTime 1; + $frame = 1; + warning "==> poseLib doesn't work with negative frame numbers (e.g.: Current time frame has to be 1 or higher). Sorry..."; + } + + //string $currentImagePath = `workspace -q -rd` + "images/"; print ( "\n$currentImagePath = " + $currentImagePath ); + string $ws = `workspace -q -fullName`; //print ( "\n$ws = " + $ws ); + string $imagesDir = `workspace -q -renderTypeEntry "images"`; //print ( "\n$imagesDir = " + $imagesDir ); + string $currentImagePath = ""; + string $newPoseIconFileTmp = ""; + + // This is in the case the "images" directory path is an absolute path (e.g.: C:/blah...). + string $buffer[]; + int $numTokens = `tokenize $imagesDir ":" $buffer`; //print ($buffer[`size $buffer`-1]); + + if ( $buffer[1] == "" ) + { + $currentImagePath = $ws + "/" + $imagesDir + "/"; //print ( "\n$currentImagePath = " + $currentImagePath ); + } + else + { + $currentImagePath = $imagesDir + "/"; //print ( "\n$currentImagePath = " + $currentImagePath ); + } + // Temp icon created by Maya + string $iconTmp = $currentImagePath + "iconTmp." + $frame + ".bmp"; //print ( "\n$newPoseIconFileTmp = " + $newPoseIconFileTmp ); + string $newPoseIconFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $name + $poseLibIconFormat; //print ("\n$newPoseIconFile = " + $newPoseIconFile ); + // This is valid for MAC and Windows + if ( $poseLibIconFormat == ".xpm" && `about -os` == "macOS" ) + system("imconvert " + $iconTmp + " xpm:" + $currentImagePath + "iconTmp." + $frame + ".xpm"); + else if ( $poseLibIconFormat == ".xpm" && `about -os` == "linux" ) + { + system("mogrify -resize " + $poseLibIconsSize[0] + "x" + $poseLibIconsSize[1] + " " + $iconTmp); + system("mogrify -format xpm " + $iconTmp); + string $userNameTmp = system("whoami"); + system("chown " + $userNameTmp + " " + $currentImagePath + "iconTmp." + $frame + ".xpm"); + system("chmod 666 " + $currentImagePath + "iconTmp." + $frame + ".xpm"); + $iconTmp = $currentImagePath + "iconTmp." + $frame + ".xpm"; + } + + // Copy the icon file to its destination. + sysFile -copy $newPoseIconFile $iconTmp; + // For Linux, give the ownership to the user; without this, the icon won't show up. + if (`about -os` == "linux") + { + string $userTmp = system("whoami"); + evalDeferred(`system( "chown " + $userTmp + " " + $newPoseIconFile)`); + } + + //--------------------------------- + // 5- Clean-up behind us. + //--------------------------------- + clear $theAttributes; + sysFile -delete $iconTmp; + + // Update the poses. + poseLibRefreshPoseList(""); + + deleteUI poseLibCreateNewPoseWindow; + //delete SnapShotCamera; + select -r $selection; + print ( "poseLib: Created new pose \"" + $name + "\"\n" ); + } + +global proc poseLibMoveCopyUpdateMenu( string $defaultPathTmp ) + { + string $characterName = `optionMenu -q -v characterChoiceOMtmp`; + string $categoryName = `optionMenu -q -v categoryChoiceOMtmp`; + string $allCategoryDirsTmp[] = `getFileList -folder ($defaultPathTmp + $characterName + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCategoryDirs[] = {}; + int $numberOfCategoriesTmp = `optionMenu -q -ni categoryChoiceOMtmp`; + + int $i; + for ($i=0;$i<`size $allCategoryDirsTmp`;$i++) + { + if ( `match ".deleted" $allCategoryDirsTmp[$i]` != ".deleted" ) + $allCategoryDirs = stringArrayCatenate ( $allCategoryDirs, { $allCategoryDirsTmp[$i] } ); + } + + for ($i=0;$i<$numberOfCategoriesTmp;$i++) + { + deleteUI ("categoryMItmp_" + $i + "_"); + } + + optionMenu -e categoryChoiceOMtmp; + for ($i=0;$i<`size $allCategoryDirs`;$i++) + { + menuItem -label $allCategoryDirs[$i] -p categoryChoiceOMtmp categoryMItmp[$i]; //print ("\nlabel = " + $poseLibCategoryList[$i] + " control = categoryMI_" + $i + "_" ); + } + + if ( `optionMenu -q -ni categoryChoiceOMtmp` > 1 ) + { + optionMenu -e -sl 2 categoryChoiceOMtmp; + optionMenu -e -sl 1 categoryChoiceOMtmp; + } + } + +global proc poseLibRenamePose ( int $controlNumber ) + { + if (`window -exists poseLibRenamePoseWindow` ) + deleteUI poseLibRenamePoseWindow; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + window -tlb off -rtf on -w 300 -h 85 -title "Rename Pose" poseLibRenamePoseWindow; + columnLayout -adj true; + textFieldGrp -cw2 50 150 -l "Name" -cc ("poseLibDoRenamePose ( \"" + $poseName + "\" )") -tx $poseName setNameField; + button -w 100 -l "Cancel" -al "center" -c "deleteUI poseLibRenamePoseWindow"; + + if ( $poseName != "" ) + { + showWindow poseLibRenamePoseWindow; + int $poseLibWindowPos[] = `window -q -topLeftCorner poseLibWindow`; //print ("\nleft=" + $poseLibWindowPos[1] ); + window -e -tlc ($poseLibWindowPos[0]+50) ($poseLibWindowPos[1]+50) poseLibRenamePoseWindow; + } + else + warning " ---> Please select a pose first!\n"; + } + +global proc poseLibDoRenamePose ( string $nameTmp ) + { + global string $poseLibDefaultPath; + global string $poseLibIconFormat; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $softPoseToRename = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $nameTmp; + string $newName = `textFieldGrp -q -tx setNameField`; + string $newPoseFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName; + + string $result = ""; + + if ( `file -q -exists $newPoseFile` ) + { + setFocus plMainFL; + + $result = `confirmDialog + -parent poseLibWindow + -title "Confirm Rename Pose" + -message "There is already a pose with this name!" -ma "center" + -button "Overwrite It" -button "Cancel" + -defaultButton "Overwrite It" -cancelButton "Cancel" + -dismissString "Cancel"`; + } + + if ($result == "Overwrite It" || $result == "" ) + { + sysFile -rename ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName) $softPoseToRename; //print ( "\noldName= " + $nameTmp + "\nnewName= " + $newName ); + + string $softPoseIconToRename = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $nameTmp + $poseLibIconFormat; + sysFile -rename ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName + $poseLibIconFormat) $softPoseIconToRename; + evalDeferred("poseLibRefreshPoseList(\"\")"); + print ( "poseLib: Renamed pose \"" + $nameTmp + "\" to \"" + $newName + "\"\n" ); + } + + deleteUI poseLibRenamePoseWindow; + } + +global proc poseLibMovePose ( int $controlNumber ) + { + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + global string $poseLibCategoryList[]; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + if ( $poseName != "" ) + { + if (`window -exists poseLibMovePoseWindow` ) + deleteUI poseLibMovePoseWindow; + + window -tlb off -w 300 -h 85 -title ("Move Pose -> " + $poseName) poseLibMovePoseWindow; + columnLayout; + text -al "center" " Where do you want to move this pose?"; + separator -style "in" -w 305 -h 10; + setParent..; + rowLayout -nc 2 -cw2 150 160; + + optionMenu -h 29 -w 150 -label " Character:" -cc "poseLibMoveCopyUpdateMenu ( ($poseLibDefaultPath + \"/\") )" characterChoiceOMtmp; + + string $c; + for ( $c in $poseLibCharacterList ) + { + menuItem -label $c; + } + + optionMenu -h 29 -w 160 -label " Category:" categoryChoiceOMtmp; + + int $i; + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + menuItem -label $poseLibCategoryList[$i] -p categoryChoiceOMtmp categoryMItmp[$i]; + } + setParent.. ; + + optionMenu -e -v (`optionMenu -q -v characterChoiceOM`) characterChoiceOMtmp; + optionMenu -e -v (`optionMenu -q -v categoryChoiceOM`) categoryChoiceOMtmp; + + rowLayout -nc 2 -cw2 150 163; + button -w 147 -l " Apply" -al "left" -c ("poseLibDoMovePose ( \"" + $poseName + "\" )"); + button -w 154 -l " Cancel" -al "left" -c "deleteUI poseLibMovePoseWindow"; + + showWindow poseLibMovePoseWindow; + int $poseLibWindowPos[] = `window -q -topLeftCorner poseLibWindow`; //print ("\nleft=" + $poseLibWindowPos[1] ); + window -e -tlc ($poseLibWindowPos[0]+50) ($poseLibWindowPos[1]+50) poseLibMovePoseWindow; + } + else + warning " ---> Please select a pose first!\n"; + } + +global proc poseLibDoMovePose ( string $poseName ) + { + global string $poseLibDefaultPath; + global string $poseLibIconFormat; + string $originCharacterName = `optionMenu -q -v characterChoiceOM`; //print ( "\n $originCharacterName = " + $originCharacterName ); + string $originCategoryName = `optionMenu -q -v categoryChoiceOM`; //print ( "\n $originCategoryName = " + $originCategoryName ); + string $destinationCharacterName = `optionMenu -q -v characterChoiceOMtmp`; //print ( "\n $destinationCharacterName = " + $destinationCharacterName ); + string $destinationCategoryName = `optionMenu -q -v categoryChoiceOMtmp`; //print ( "\n $destinationCategoryName = " + $destinationCategoryName ); + + if ( (($destinationCharacterName == $originCharacterName) && ($destinationCategoryName != $originCategoryName)) + || ($destinationCharacterName != $originCharacterName) ) + { + string $softPoseOrigin = $poseLibDefaultPath + "/" + $originCharacterName + "/" + $originCategoryName + "/" + $poseName; + string $softPoseDestination = $poseLibDefaultPath + "/" + $destinationCharacterName + "/" + $destinationCategoryName + "/" + $poseName; + + string $softPoseIconOrigin = $poseLibDefaultPath + "/" + $originCharacterName + "/" + $originCategoryName + "/" + $poseName + $poseLibIconFormat; + string $softPoseIconDestination = $poseLibDefaultPath + "/" + $destinationCharacterName + "/" + $destinationCategoryName + "/" + $poseName + $poseLibIconFormat; + + sysFile -move $softPoseDestination $softPoseOrigin; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + sysFile -move $softPoseIconDestination $softPoseIconOrigin; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + deleteUI poseLibMovePoseWindow; + poseLibRefreshPoseList(""); + print ( "poseLib: Moved selected pose to: " + $destinationCharacterName + "/" + $destinationCategoryName +"\n"); + } + else + warning " ---> The selected pose already belongs to this character AND category!\n"; + } + +global proc poseLibDeletePose ( int $controlNumber ) + { + global string $poseLibDefaultPath; + global string $poseLibIconFormat; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $confirmDeleteWindow = ""; + + setFocus plMainFL; + $confirmDeleteWindow = `confirmDialog -p poseLibWindow -title "Confirm Delete Pose" -message ("Are you sure you want to delete: \"" + $poseName + "\" ?") -button "Yes" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel"`; + + if ( $confirmDeleteWindow == "Yes" ) + { + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $softPoseToDelete = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; + string $softPoseIconToDelete = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName + $poseLibIconFormat; + + // sysFile -delete $softPoseToDelete; print ("\n$Deleted pose: " + $softPoseToDelete); + // --> Well, actually let's make a backup of the file rather than delete it. + sysFile -rename ($softPoseToDelete + ".deleted") $softPoseToDelete; print ("poseLib: Deleted pose: " + $softPoseToDelete +"\n"); + + if ( `filetest -r $softPoseIconToDelete` ) + sysFile -delete $softPoseIconToDelete; //print ("\n$Deleted pose: " + $softPoseToDelete); + + poseLibRefreshPoseList(""); + } + + else + print "poseLib: Did nothing..."; + } + +global proc poseLibReplacePose ( int $controlNumber ) + { + global string $poseLibDefaultPath; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $confirmDeleteWindow = ""; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $selection[] = `ls -l -sl`; + string $theAttributes[] = {}; + + if ( size($selection) == 0 ) + { + warning " ---> Please select the character's controls first!\n"; + return; + } + + //---------------------- + // 1- Get pose name. + //---------------------- + setFocus plMainFL; + string $confirmReplaceWindow = `confirmDialog -p poseLibWindow -title "Confirm Replace Pose" -message ("Are you sure you want to replace: \"" + $poseName + "\" ?") -button "Yes" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel"`; + + if ( $confirmReplaceWindow == "Yes" ) + { + //------------------------------------------------------ + // 2- Write down pose file (no need to change the icon). + //------------------------------------------------------ + string $newPoseFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; + + // do a backup before messing with the pose (you never know) + sysFile -copy ($newPoseFile + ".deleted") $newPoseFile; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + // Get the existing index order. + int $fileId=`fopen $newPoseFile "r"`; + string $getIndex = poseLibCheckIfIndexExists($fileId); print ("$getIndex = " + $getIndex); + // If there's no index order, set it to 100. + if ( $getIndex == "" ) + $getIndex = 100; + fclose $fileId; + + int $fileId=`fopen $newPoseFile "w"`; + fprint $fileId ("\nposeLibIndexOrder " + $getIndex); + + int $i, $k; + for ($i=0;$i<`size $selection`;$i++) + { + // Get the list of attributes to save. + select -r $selection[$i]; + $theAttributes = `listAttr -k -s`;//print ($selection[$i] + "\n"); + + // Get the short name of the control. + string $selection[] = `ls -l -sl`; + string $buffer1[]; + int $numTokens = `tokenize $selection[0] "|" $buffer1`; //print ($buffer1[`size $buffer1`-1]); + string $shortNameTmp = $buffer1[`size $buffer1`-1]; + + // Check if the control has a namespace... + string $buffer2[]; + $numTokens = `tokenize $shortNameTmp ":" $buffer2`; //print ($buffer2[`size $buffer2`-1]); + + // ... And remove it if it does. + string $controlName = ($buffer2[`size $buffer2`-1]); //print ("\n$controlName = " + $controlName); + + // Are we dealing with a blendshape? + string $showType[] = `ls -st -sl`; + + if ( $showType[1] == "blendShape" ) + { + // Write down the lines in the pose file. + fprint $fileId ( "\n" + $controlName + " envelope " + `blendShape -q -envelope` ); + string $listOfTargets[] = `aliasAttr -q $selection[0]`; + fprint $fileId ( "\n" + $controlName + " " + $listOfTargets[0] + " " + (`getAttr ($selection[0] + "." + $listOfTargets[0])`) ); + } + + else + { + // Write down the line in the pose file. + for ($k=0;$k<`size $theAttributes`;$k++) + { + fprint $fileId ( "\n" + $controlName + " " + $theAttributes[$k] + " " + (`getAttr ($selection[0]+"."+$theAttributes[$k])`) );//print ( "\n" + $selection[$i] + "." + $theAttributes[$k] ); + } + } + } + fclose $fileId; + + //----------------------------- + // 3- Clean-up behind us. + //----------------------------- + clear $theAttributes; + select -r $selection; + + poseLibRefreshPoseList(""); + print ( "poseLib: Replaced pose \"" + $poseName + "\"\n" ); + } + + else + print "poseLib: Did nothing -> Aborted by user."; + } + +global proc poseLibSelectPoseControls ( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $actualControlName[] = {}; + string $controlsToSelect[] = {}; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + // --------------------------------------------------- + // 1- Read the pose file to get all the control names + // --------------------------------------------------- + int $fileId=`fopen $poseFilePath "r"`; + string $controlName = `fgetline $fileId`; + + poseLibCheckIfIndexExists($fileId); + + string $alreadyDone = ""; + string $consTmp = ""; + string $controlsToSelect[] = {}; + string $array[] = {}; + + while ( size( $controlName ) > 0 ) + { + $controlName = `fgetword $fileId`; //print $controlName; + string $attributeName = `fgetword $fileId`; //print $attributeName; + string $attributeValue = `fgetword $fileId`; //print $attributeValue; + string $checkTmp = $controlName; + + if ( $checkTmp != $alreadyDone ) + $controlsToSelect = stringArrayCatenate ( $controlsToSelect, { $controlName } ); + + $alreadyDone = $checkTmp; + } + fclose $fileId; + + // -------------------------- + // 2- Select the controls + // -------------------------- + string $namespace = ""; + int $didSomething = 0; + + for ($i=0;$i<`size $controlsToSelect`;$i++) + { + // If we're in ref mode, add the namespace to the control name. + if ( `checkBox -q -v useCurrentCharacterCB` ) + $namespace = $characterName + ":"; //print ($namespace + "\n"); + else if ( `checkBox -q -v useCustomNamespaceCB` ) + $namespace = `textField -q -tx namespaceTextFieldTF` + ":"; + + $controlsToSelect[$i] = $namespace + $controlsToSelect[$i]; + + if ( `objExists $controlsToSelect[$i]` ) + { + select -add $controlsToSelect[$i]; + $didSomething = 1; //print ("\n$controlsToSelect[$i]=" + $controlsToSelect[$i] ); + } + } + + if ( $didSomething == 0 ) + warning " ---> Could not find the controls! (check reference mode)\n"; + else + print "poseLib: Selected pose controls done!\n"; + } + +global proc poseLibEditPoseFile( int $controlNumber ) + { + global string $poseLibDefaultPath; + global string $poseLibTextEditor; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + system("start " + $poseLibTextEditor + " " + $poseFilePath); + } + +global proc poseLibAddReplaceSelectedControls( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + string $selection[] = `ls -l -sl`; + string $controlsToAdd[] = `ls -l -sl`; + string $array[] = {}; + + setFocus plMainFL; + string $confirmAddControlsWindow; + if ( $controlsToAdd[0] != "" ) + $confirmAddControlsWindow = `confirmDialog -parent poseLibWindow -title "Confirm Add/Replace Control(s)" -message "Are you sure you want to Add/Replace the selected control(s) in this pose?" -button "Yes" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel"`; + else + warning " ---> Please select controls first!\n"; + + // Get control short name and remove potential namespace. + string $controlsToAdd[] = `ls -l -sl`; + + int $i; + for ($i=0;$i<`size $controlsToAdd`;$i++) + { + string $buffer[]; + int $numTokens = `tokenize ($controlsToAdd[$i]) "|:" $buffer`; //print $buffer[`size $buffer` -1]; + + $controlsToAdd[$i] = $buffer[`size $buffer` -1]; + } + + // The way this works is: We create a temporary new pose file, and fill-it up line after + // line, while parsing through the original, in order to create the new file (without the undesirable controls)... + string $softPoseToTweak = $poseFilePath; + string $softNewPosePath = $poseFilePath + ".TMP"; + + // First, remove the controls to add/replace (we'll add them at the end of the file)... + if ( $confirmAddControlsWindow == "Yes" ) + { + int $fileId1=`fopen $softPoseToTweak "r"`; + int $fileId2=`fopen $softNewPosePath "w"`; + + // Do a backup of the pose file before messing with the controls (you never know)... + sysFile -copy ($softPoseToTweak + ".deleted") $softPoseToTweak; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + string $controlName = `fgetline $fileId1`; // because 1st line is empty + + // Get the existing index order. + string $getIndex = poseLibCheckIfIndexExists($fileId1); print ("$getIndex = " + $getIndex); + // If there's no index order, set it to 100. + if ( $getIndex == "" ) + $getIndex = 100; + fprint $fileId2 ("\nposeLibIndexOrder " + $getIndex); + + string $previouslyWritten = ""; + int $didSomething = 0; + + while ( !`feof $fileId1` ) + { + $controlName = `fgetword $fileId1`; //print $controlName; + string $attributeName = `fgetword $fileId1`; //print $attributeName; + float $attributeValue = `fgetword $fileId1`; //print $attributeValue; + + int $check = 0; + + string $c; + for ( $c in $controlsToAdd ) + { + if ( $c == $controlName ) + { + $check = 1; + + if ( $previouslyWritten != $c ) + { + print ("poseLib: Added/Replaced \"" + $c + "\" in \"" + $poseName + "\"\n" ); + $previouslyWritten = $c; + } + } + } + + if ( $check == 0 ) + fprint $fileId2 ( "\n" + $controlName + " " + $attributeName + " " + $attributeValue ); + } + + // ... Now, add the selected controls at the end of the file. + for ($i=0;$i<`size $selection`;$i++) + { + select -r $selection[$i]; + string $theAttributes[] = `listAttr -k`; + + // Get the short name of the control. + string $selection[] = `ls -l -sl`; + string $buffer1[]; + int $numTokens = `tokenize $selection[0] "|" $buffer1`; //print ($buffer1[`size $buffer1`-1]); + string $shortNameTmp = $buffer1[`size $buffer1`-1]; + + // Check if the control has a namespace... + string $buffer2[]; + $numTokens = `tokenize $shortNameTmp ":" $buffer2`; //print ($buffer2[`size $buffer2`-1]); + + // ... And remove it if it does. + string $controlName = ($buffer2[`size $buffer2`-1]); //print ("\n$controlName = " + $controlName); + + // Are we dealing with a blendshape? + string $showType[] = `ls -st -sl`; //print ( $selection[$i] + "is of type:" + $showType[1] + "\n"); + + if ( $showType[1] == "blendShape" ) + { + // Write down the lines in the pose file. + fprint $fileId2 ( "\n" + $controlName + " envelope " + `blendShape -q -envelope` ); + string $listOfTargets[] = `blendShape -q -t`; + fprint $fileId2 ( "\n" + $controlName + " " + $listOfTargets[0] + " " + (`getAttr ($selection[$i] + "." + $listOfTargets[0])`) ); + $didSomething = 1; + } + + else + { + int $j; + for ($j=0;$j<`size $theAttributes`;$j++) + { + fprint $fileId2 ( "\n" + $controlsToAdd[$i] + " " + $theAttributes[$j] + " " + `getAttr ($selection[$i]+"."+$theAttributes[$j])`); + $didSomething = 1; + } + } + } + + fclose $fileId1; + fclose $fileId2; + + // Now we delete the original file and rename the copy to take it's place. + sysFile -delete $softPoseToTweak; //print ("\n$Deleted pose: " + $softPoseToDelete); + sysFile -rename $softPoseToTweak $softNewPosePath; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + select -r $selection; + + if ( $didSomething == 1 ) + print "poseLib: Selected control(s) have been Added/Replaced in pose! (see script editor for details)\n"; + else + warning "--> Did nothing!\n"; + } + } + +global proc poseLibRemoveSelectedControls( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + string $controlsToRemove[] = `ls -l -sl`; + string $array[] = {}; + + string $confirmRemoveControlsWindow; + setFocus plMainFL; + + if ( $controlsToRemove[0] != "" ) + $confirmRemoveControlsWindow = `confirmDialog -parent poseLibWindow -title "Confirm" -message "Are you sure you want to Remove the selected control(s) from this pose?" -button "Yes" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel"`; + else + warning " ---> Please select controls first!\n"; + + // Get control short name and remove potential namespace. + string $controlsToRemove[] = `ls -l -sl`; + + int $i; + for ($i=0;$i<`size $controlsToRemove`;$i++) + { + string $buffer[]; + int $numTokens = `tokenize ($controlsToRemove[$i]) "|:" $buffer`; //print $buffer[`size $buffer` -1]; + + $controlsToRemove[$i] = $buffer[`size $buffer` -1]; + } + + // The way this works is: We create a temporary new pose file, and fill-it up line after + // line, while parsing through the original, in order to create the new file (without the undesirable controls)... + string $softPoseToTweak = $poseFilePath; + string $softNewPosePath = $poseFilePath + ".TMP"; + + if ( $confirmRemoveControlsWindow == "Yes" ) + { + int $fileId1=`fopen $softPoseToTweak "r"`; + int $fileId2=`fopen $softNewPosePath "w"`; + + // Do a backup of the pose file before messing with the controls (you never know)... + sysFile -copy ($softPoseToTweak + ".deleted") $softPoseToTweak; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + string $controlName = `fgetline $fileId1`; + + poseLibCheckIfIndexExists($fileId1); + + string $previouslyWritten = ""; + int $didSomething = 0; + + while ( !`feof $fileId1` ) + { + $controlName = `fgetword $fileId1`; //print $controlName; + string $attributeName = `fgetword $fileId1`; //print $attributeName; + float $attributeValue = `fgetword $fileId1`; //print $attributeValue; + + int $check = 0; + + string $c; + for ( $c in $controlsToRemove ) + { + if ( $c == $controlName ) + { + $check = 1; + + if ( $previouslyWritten != $c ) + { + print ("poseLib: Removed \"" + $c + "\" from \"" + $poseName + "\"\n" ); + $previouslyWritten = $c; + $didSomething = 1; + } + } + } + + if ( $check == 0 ) + fprint $fileId2 ( "\n" + $controlName + " " + $attributeName + " " + $attributeValue ); + } + fclose $fileId1; + fclose $fileId2; + + // Now we delete the original file and rename the copy to take it's place. + sysFile -delete $softPoseToTweak; //print ("\n$Deleted pose: " + $softPoseToDelete); + sysFile -rename $softPoseToTweak $softNewPosePath; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + if ( $didSomething == 1 ) + print "poseLib: Selected control(s) have been removed from pose! (see script editor for details)\n"; + else + warning "--> The selected controls were NOT a part of this pose!\n"; + } + } + +global proc poseLibApplyPose ( int $controlNumber ) + { + // Is the ALT key pressed? + int $altKeyDown = 0; + int $getModifiers = `getModifiers`; + + if ( ($getModifiers == 8) || ($getModifiers == 4) ) + { + //print ("mod down and we have an inverse increment val of "+ $poseLibApplyIncrement +"\n"); // ALT key down x% + $altKeyDown = 1; // to pass into the value mult operation + } + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + poseLibDoApplyPose ( $poseName, $altKeyDown ); + } + +global proc poseLibDoApplyPose( string $poseName, int $altKeyDown ) + { + global string $poseLibDefaultPath; + global float $poseLibApplyIncrement; // KDL hack for alt key + + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $selection[] = `ls -l -sl`; + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + string $namespace = ""; + string $array[] = {}; + string $sel[] = `ls -sl`; + + // Are we dealing with a character set? + for ($object in $sel) + { + string $checkTmp[] = `ls -type "character" $object`; + // Deselect the set itself. + if ( $checkTmp[0] != "" ) + { + select -d $object; + // Select instead its members. + string $membersTmp[] = `sets -q -no $object`; + select -add $membersTmp; + } + } + + // This is here for backward compatibility with previous poseLib versions (where attribute names were saved as "long"). + string $selectedChannels[] = `channelBox -q -sma "mainChannelBox"`; //print $selectedChannels; + + for ($i=0;$i<`size $selectedChannels`;$i++) + { + string $defaultObjectPlusAttribute = $selection[0] + "." + $selectedChannels[$i]; + string $longObjectPlusAttribute = `longNameOf($defaultObjectPlusAttribute)`;// print ( $longObjectPlusAttribute + "\n" ); + + string $buffer[]; + int $numTokens = `tokenize $longObjectPlusAttribute "." $buffer`; //print $buffer[1]; + + $selectedChannels[$i] = $buffer[1]; + } + + // Parse through the pose file. + if ( `filetest -r $poseFilePath` ) + { + // Open pose file. + int $fileId=`fopen $poseFilePath "r"`; + string $controlName = `fgetline $fileId`; // This is because the first line is empty. + + poseLibCheckIfIndexExists($fileId); + + // In order to know what's selected when the user clicks on the button. + string $poseLibApplyPoseCommand = "string $poseName = \"" + $poseName + "\"; int $didSomething = 0; "; + string $currentSelection[] = `ls -l -sl`; + + // Get a list of all the namespaces in the current selection. + string $allNamespaces[] = { "" }; + + if ( $sel[0] != "" ) + { + for ($i=0;$i<`size $sel`;$i++) + { + string $checkForNameSpace[]; + int $numTokens = `tokenize $sel[$i] ":" $checkForNameSpace`; //print $buffer[1]; + int $alreadyThere = stringArrayContains($checkForNameSpace[0], $allNamespaces); + + if ( $checkForNameSpace[0] != "" && $alreadyThere == 0 ) + $allNamespaces[`size $allNamespaces`] = $checkForNameSpace[0]; + } + + for ($i=1;$i<`size $allNamespaces`;$i++) + { + $allNamespaces[$i] = $allNamespaces[$i] + ":"; + } + } + + // If the user precises a namespace to use, then nuke the existing namespaces and set the official one. + if ( `checkBox -q -v useCurrentCharacterCB` ) + { + clear $allNamespaces; + $allNamespaces[0] = $characterName + ":"; //print ($namespace + "\n"); + } + else if ( `checkBox -q -v useCustomNamespaceCB` ) + { + clear $allNamespaces; + $allNamespaces[0] = `textField -q -tx namespaceTextFieldTF` + ":"; + } + //print $allNamespaces; + + waitCursor -state on; + + // For every line in the pose file: + while ( !`feof $fileId` ) + { + string $controlName = `fgetword $fileId`; + string $attributeName = `fgetword $fileId`; //print ($attributeName + "\n"); + string $attributeValue = `fgetword $fileId`; //print ($attributeValue + "\n"); + + // Here for simplicity purpose we use the $allNamespaces variable even if there's no namespace + // since $allNamespaces[0] is "", meaning that by default there is no namespace. + for ($i=0;$i<`size $allNamespaces`;$i++) + { + string $newControlName = $allNamespaces[$i] + $controlName; //print ("\n$newControlName = " + $newControlName); + string $parsing[] = `ls -sl $newControlName`; + string $multiple[] = `ls $newControlName`; + + // Match the selected channel(s) with the one in the pose. + if ( stringArrayContains($attributeName, $selectedChannels) || $selectedChannels[0] == "" ) + { + // If the ALT key is pressed, then set a fraction of the pose. + if ( $altKeyDown ) + { + // First get the attribute name. + string $currentAttributeValueAsString; + + if ( ($parsing[0] != "" && $currentSelection[0] != "") && (`objExists ($parsing[0] + "." + $attributeName)`) && (`getAttr -se ($newControlName + "." + $attributeName)`) ) + $currentAttributeValueAsString = `getAttr ($parsing[0] + "." + $attributeName)`; + + else if ( ($currentSelection[0] == "") && (`objExists ($newControlName + "." + $attributeName)`) && ($multiple[1] == "") && (`getAttr -se ($newControlName + "." + $attributeName)`) ) + $currentAttributeValueAsString = `getAttr ($newControlName + "." + $attributeName)`; + + float $currentAttrFloat = $currentAttributeValueAsString; // turns the string into a float if possible + string $gPassOnVal = $attributeValue; // capture pose val string for later if it can't float + float $valFloat = $attributeValue; // convert the pose doc val string to a float if you can + + if (($currentAttrFloat >= 0) || ($currentAttrFloat <= 0)) // if the string is a number of some kind and not just a 0 + { + float $valDifference = ($currentAttrFloat - $valFloat); //get the difference in values between what is current and what is in the pose + float $modAttrVal = ($valDifference * $poseLibApplyIncrement); // multiply the value difference by the increment + float $currValPlusModVal = ($valFloat + $modAttrVal); // add the current value plus the incremented value to get the modified value to pass along + string $gPassOnVal = $currValPlusModVal; // get the modified value into a string form + $attributeValue = $gPassOnVal; // pass on the results + } + } + + // Add to the existing command to be executed later all at once. + if ( ($parsing[0]!="" && $currentSelection[0]!="") && (`objExists ($parsing[0] + "." + $attributeName)`) && (`getAttr -se ($newControlName + "." + $attributeName)`) ) + $poseLibApplyPoseCommand = $poseLibApplyPoseCommand + " setAttr " + $parsing[0] + "." + $attributeName + " " + $attributeValue + "; $didSomething = 1;"; + + else if ( ($currentSelection[0] == "") && (`objExists ($newControlName + "." + $attributeName)`) && ($multiple[1] == "") && (`getAttr -se ($newControlName + "." + $attributeName)`) ) + $poseLibApplyPoseCommand = $poseLibApplyPoseCommand + " setAttr " + $newControlName + "." + $attributeName + " " + $attributeValue + "; $didSomething = 1;"; + } + } + } + //print ("\n$poseLibApplyPoseCommand = " + $poseLibApplyPoseCommand); + + fclose $fileId; + + // This is to warn the user in the case nothing was accomplished. + string $amountTmp = "100% of"; + string $mentionTheChannels = ""; + + if ( $selectedChannels[0] != "" ) + $mentionTheChannels = "of selected channel(s) for "; + + if ( $altKeyDown == 1) + $amountTmp = "Increment"; + + $poseLibApplyPoseCommand = $poseLibApplyPoseCommand + "if ($didSomething == 0) warning \"poseLib: ==> Nothing happened! <== (please refer to script editor for possible reasons)\\n\\n1) Your current selection might not part of this pose.\\n2) Maybe the Ref/Unref choice is wrong: Try unchecking the Use Namespace checkbox.\\n3) There might be two or more controls with the exact same name in your scene. (in this case, just select the one you want to pose)\"; else print (\"poseLib: " + $amountTmp + " " + $mentionTheChannels + "pose -->\" + $poseName + \"<-- done!\")"; + + catch( `eval( $poseLibApplyPoseCommand )` ); + } + else + error ( "poseLib: The file " + $poseFilePath + " can not be found!"); + + // This is in case we deselected a character set before applying the pose. + select -r $sel; + setFocus `getPanel -wf`; + + waitCursor -state off; + } + +global proc poseLibRefreshPoseList( string $categoryName ) + { + global string $poseLibDefaultPath; + global string $poseLibCategoryList[]; + global int $realNumber; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + global string $poseLibIconFormat; + string $characterName = `optionMenu -q -v characterChoiceOM`; + if ($categoryName == "" ) + $categoryName = `optionMenu -q -v categoryChoiceOM`; //print ("poseLib: $categoryName = " + $categoryName +"\n"); + string $allCategoryDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/" + $characterName + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCategoryDirs[] = {}; + + if ( $poseLibIconsSize[0] < 32 ) + { + $poseLibIconsSize[0] = 50; + $poseLibIconsSize[1] = 50; + } + + if ( $poseLibIconsBackgroundColor == "" ) + $poseLibIconsBackgroundColor = "iconsBackgroundColorWhiteIRB"; + + // --------------------------------- + // 1- Filter out what can be shown + // --------------------------------- + int $i; + for ($i=0;$i<`size $allCategoryDirsTmp`;$i++) + { + if ( `match ".deleted" $allCategoryDirsTmp[$i]` != ".deleted" ) + $allCategoryDirs = stringArrayCatenate ( $allCategoryDirs, { $allCategoryDirsTmp[$i] } ); + } + + // --------------------------------------- + // 2- Update the category option menus + // --------------------------------------- + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + deleteUI ("categoryMI_" + $i + "_"); + } + + $poseLibCategoryList = $allCategoryDirs; + + optionMenu -e -h 28 -w 180 -label "Category:" -cc "poseLibRefreshPoseList(\"\")" -p optionMenusRow categoryChoiceOM; + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + menuItem -label $poseLibCategoryList[$i] -p categoryChoiceOM categoryMI[$i]; //print ("\nlabel = " + $poseLibCategoryList[$i] + " control = categoryMI_" + $i + "_" ); + } + + string $myIntersector = `stringArrayIntersector`; + stringArrayIntersector -edit -intersect $poseLibCategoryList $myIntersector; + stringArrayIntersector -edit -intersect $categoryName $myIntersector; + string $isItIncluded[] = `stringArrayIntersector -query $myIntersector`; + + if ( $isItIncluded[0] != "" ) + optionMenu -e -h 28 -w 180 -v $categoryName -cc "poseLibRefreshPoseList(\"\")" -p optionMenusRow categoryChoiceOM; + else + { + if ( $poseLibCategoryList[0] != "" ) + { + optionMenu -e -h 28 -w 180 -v $poseLibCategoryList[0] -cc "poseLibRefreshPoseList(\"\")" -p optionMenusRow categoryChoiceOM; // print ("poseLib: \"" + $categoryName + "\" category doesn't exist for this character!\n" ); + $categoryName = $poseLibCategoryList[0]; //print ("poseLib: $poseLibCategoryList[0] = " + $poseLibCategoryList[0] +"\n"); + } + } + + if ( (`optionMenu -q -sl categoryChoiceOM` == 1) && (`optionMenu -q -ni categoryChoiceOM` > 1) ) + { + optionMenu -e -m off -sl 2 -p optionMenusRow categoryChoiceOM; // absolutely absurd: if not, first item is shown as last! + optionMenu -e -m on -sl 1 -p optionMenusRow categoryChoiceOM; + } + + //print ("poseLib: character/category = " + $characterName + "/" + $categoryName +"\n"); + string $poseFilesPath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/"; //print ("\n$poseFilesPath="+$poseFilesPath); + string $allPoseFiles[] = `getFileList -folder $poseFilesPath`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $iconsPath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/"; //print ("\n$iconsPath="+$iconsPath); + + // ------------------------------ + // 3- Clear previous poses icons. + // ------------------------------ + frameLayout -e -m off plPosesFL; + shelfLayout -e -m off -st "iconAndTextVertical" -cw ($poseLibIconsSize[0] + 5) -ch ($poseLibIconsSize[1] + 23) plPosesSL; + string $iconsToDelete[] = `shelfLayout -q -ca plPosesSL`; + + for ($icon in $iconsToDelete) + deleteUI $icon; + + // -------------------------------------------- + // 4- Get the indices for the pose orders + // -------------------------------------------- + $realNumber = 0; + string $listOfPoses[] = {}; + int $listOfIndexes[] = {}; + int $count = 0; + for ($i=0;$i<`size $allPoseFiles`;$i++) + { + if ( (`match ".bmp" $allPoseFiles[$i]` != ".bmp") && + (`match ".xpm" $allPoseFiles[$i]` != ".xpm") && + (`match ".deleted" $allPoseFiles[$i]` != ".deleted") && + (`match ".bak" $allPoseFiles[$i]` != ".bak") ) + { + // Open pose file. + int $fileId = `fopen ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $allPoseFiles[$i]) "r"`; + string $firstWord = `fgetword $fileId`; // This is because the first line is empty. + + // Get the pose index number. + if ( $firstWord == "poseLibIndexOrder") + { + //print ("\n$firstWord of \"" + $allPoseFiles[$i] + "\" is \"" + $firstWord + "\""); + int $indexOrder = `fgetword $fileId`; //print ("$indexOrder = " + $indexOrder + "\n"); + $listOfIndexes[`size $listOfIndexes`] = $indexOrder; + $listOfPoses[`size $listOfPoses`] = $allPoseFiles[$i]; + //stringArrayInsertAtIndex($indexOrder, $listOfPosesByIndex, $allPoseFiles[$count]); + $count ++; + } + else + { + //print ("\n$firstWord of \"" + $allPoseFiles[$i] + "\" is \"" + $firstWord + "\""); + //stringArrayInsertAtIndex(100+$count, $listOfPosesByIndex, $allPoseFiles[$count]); + $listOfIndexes[`size $listOfIndexes`] = 100 + $count; + $listOfPoses[`size $listOfPoses`] = $allPoseFiles[$i]; + $count ++; + } + fclose $fileId; + } + } + + //print "\n\n$listOfIndexes:\n"; print $listOfIndexes; + //print "\n\n$listOfPoses:\n"; print $listOfPoses; + + string $listOfPosesByIndex[] = {}; + for ($i=0;$i<`size $listOfIndexes`;$i++) + { + $listOfPosesByIndex[$listOfIndexes[$i]] = $listOfPoses[$i]; + //print ("\n$listOfPosesByIndex[" + $listOfIndexes[$i] + "] = " + $listOfPosesByIndex[$listOfIndexes[$i]]); + } + //$listOfPosesByIndex = stringArrayRemoveExact({""}, $listOfPosesByIndex); + //print "\n\n$listOfPoses = "; print $listOfPoses; + //print "\n\n$listOfPosesByIndex = "; print $listOfPosesByIndex; print "<-end"; + + // ------------------------------ + // 5- Create new poses buttons. + // ------------------------------ + for ($i=0;$i<`size $listOfPosesByIndex`;$i++) + { + if ( $listOfPosesByIndex[$i] != "" ) + { + float $bgColorTmp[] = {}; + + if ( `gmatch $poseLibIconsBackgroundColor "*Black*"` ) + $bgColorTmp = { 0, 0, 0 }; + + else if ( `gmatch $poseLibIconsBackgroundColor "*DarkGray*"` ) + $bgColorTmp = { .4, .4, .4 }; + + else if ( `gmatch $poseLibIconsBackgroundColor "*LightGray*"` ) + $bgColorTmp = { .7, .7, .7 }; + + else if ( `gmatch $poseLibIconsBackgroundColor "*White*"` ) + $bgColorTmp = { 1, 1, 1 }; + + shelfButton + -style "iconOnly" + -bgc $bgColorTmp[0] $bgColorTmp[1] $bgColorTmp[2] + -parent plPosesSL + -iol $listOfPosesByIndex[$i] + -l $listOfPosesByIndex[$i] + -c ("poseLibApplyPose (" + $realNumber + ")") poseButton[$realNumber]; + + //Add a popup to each shelfButton so we can edit its parameters, or delete it. + popupMenu -button 3 posePopupMenu[$realNumber]; + + menuItem -en on -label "Select Pose Controls" -c ("poseLibSelectPoseControls (" + $realNumber + ")") poseLibSelectPoseControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Rename Pose" -c ("poseLibRenamePose (" + $realNumber + ")") poseLibRenamePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Move Pose" -c ("poseLibMovePose (" + $realNumber + ")") poseLibMovePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Replace Pose" -c ("poseLibReplacePose (" + $realNumber + ")") poseLibReplacePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Delete Pose" -c ("poseLibDeletePose (" + $realNumber + ")") poseLibDeletePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Edit Pose" -subMenu true; + menuItem -en on -label "Add/Replace Selected Control(s)" -c ("poseLibAddReplaceSelectedControls (" + $realNumber + ")") addReplaceControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Remove Selected Control(s)" -c ("poseLibRemoveSelectedControls (" + $realNumber + ")") removeControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Output Pose Info to Script Editor" -c ("poseLibOutputPoseInfo(" + $realNumber + ")") poseLibSelectPoseControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Edit Pose File" -c ("poseLibEditPoseFile(" + $realNumber + ")") poseLibSelectPoseControlsPUM[$realNumber]; + setParent ..; + setParent ..; + + //print ($iconsPath + $listOfPosesByIndex[$i] + ".bmp\n"); + + // Assign the icon if it exists. + if ( `filetest -r ($iconsPath + $listOfPosesByIndex[$i] + ".xpm")` ) + { + //print ("\nIcon file for \"" + $listOfPosesByIndex[$i] + "\" = " + $iconsPath + $listOfPosesByIndex[$i] + ".xpm"); + shelfButton -e -image1 ($iconsPath + $listOfPosesByIndex[$i] + ".xpm") ("poseButton_" + $realNumber + "_"); + } + else if ( `filetest -r ($iconsPath + $listOfPosesByIndex[$i] + ".bmp")` ) + { + //print ("\nIcon file for \"" + $listOfPosesByIndex[$i] + "\" = " + $iconsPath + $listOfPosesByIndex[$i] + ".bmp"); + shelfButton -e -image1 ($iconsPath + $listOfPosesByIndex[$i] + ".bmp") ("poseButton_" + $realNumber + "_"); + } + // If there's no icon for the pose, just display a red background. + else + { + shelfButton -e -bgc .9 .2 0 ("poseButton_" + $realNumber + "_"); + print ("\n-> Did not find an icon file (either .xpm or .bmp) for \"" + $listOfPosesByIndex[$i] + "\""); + } + + $realNumber++; + } + } + + // -------------------------- + // 6- Update frame layouts. + // -------------------------- + frameLayout -e -m on plPosesFL; + shelfLayout -e -m on plPosesSL; + int $tmp = `frameLayout -q -w plPosesFL` / 2.8; + frameLayout -e -li $tmp -lw 75 -l ("Poses: " + $realNumber) -fn "smallFixedWidthFont" plPosesFL; + } + +global proc poseLibEditOptions () + { + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + global string $poseLibCategoryList[]; + global string $poseLibTextEditor; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + global string $poseLibPathsBookmarks[]; + + print "\nOption window: "; + print $poseLibPathsBookmarks; + print "\n"; + + // --------------------- + // Check directories. + // --------------------- + string $allCharDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allCharDirs="+$allCharDirs[0]); + string $allCharDirs[] = {}; + + int $i; + for ($i=0;$i<`size $allCharDirsTmp`;$i++) + { + if ( `match ".deleted" $allCharDirsTmp[$i]` != ".deleted" ) + $allCharDirs = stringArrayCatenate ( $allCharDirs, { $allCharDirsTmp[$i] } ); + } + + $poseLibCharacterList = $allCharDirs; + + // ------------------ + // Build UI layout + // ------------------ + if (`window -exists poseLibEditOptionsWindow` ) + deleteUI poseLibEditOptionsWindow; + + if (`window -exists poseLibCreateNewPoseWindow` ) + deleteUI poseLibCreateNewPoseWindow; + + window -tlb off -rtf on -sizeable true -width 200 -height 350 -title "poseLib - Edit Options" poseLibEditOptionsWindow; + + string $form = `formLayout`; + string $tabs = `tabLayout -cc "window -e -h 378 poseLibEditOptionsWindow" -innerMarginWidth 1 -innerMarginHeight 1 poseLibOptionsWindowTL`; + + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "bottom" 0 + -attachForm $tabs "right" 0 + $form; + + string $characterCategoriesUI = `frameLayout -mw 2 -lv off -collapsable false -borderVisible off -w 322 -p $tabs charactersCategoriesOptionsFL`; + + columnLayout -adjustableColumn false -width 500 -p charactersCategoriesOptionsFL mainColumn; + + frameLayout -mw 5 -h 31 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn newCharFrame; + columnLayout -adjustableColumn false newCharColumn; + + separator -style "none" -h 2; + textFieldButtonGrp -label "New Character:" -bc "poseLibCreateNewCharacterMenu" -text "" -buttonLabel " Add " -cw3 98 120 50 newCharacterTFG; + separator -style "none" -h 2; + + setParent..; + setParent..; + + separator -style "none" -h 4; + + frameLayout -mw 5 -h 57 -bv on -lv off -collapsable false -p mainColumn -borderStyle "etchedOut" -w 322 newCatFrame; + columnLayout -adjustableColumn false -w 172 -p newCatFrame newCatColumn; + + separator -style "none" -h 2; + textFieldButtonGrp -label "New Category:" -bc "poseLibCreateNewCategoryMenu" -text "" -buttonLabel " Add " -cw3 98 120 50 newCategoryTFG; + separator -style "none" -h 6; + + rowLayout -nc 2 -cw2 175 160 -p newCatColumn; + + radioCollection forCurrentOrAllCharRB; + radioButton -ann "" -label "To selected character only" -al "left" forCurrentChar; + radioButton -ann "" -label "To every characters" -al "left" forAllChar; + radioCollection -e -sl forCurrentChar forCurrentOrAllCharRB; + + setParent..; + + separator -style "none" -h 2; + setParent..; + setParent..; + + separator -style "none" -h 4; + + frameLayout -mw 5 -h 225 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 322 tweakFrame; + + columnLayout -adjustableColumn false tweakColumn; + rowLayout -nc 2 -cw2 158 158 ; + columnLayout -adjustableColumn true; + text -al "center" -l "Characters:"; + textScrollList -fn "boldLabelFont" -ams false -w 150 -h 120 listCharacters; + setParent..; + columnLayout -adjustableColumn true; + text -al "center" -l "Categories:"; + textScrollList -fn "boldLabelFont" -ams false -w 150 -h 120 listCategories; + setParent..; + setParent..; + + separator -style "none" -h 4; + + rowLayout -nc 2 -cw2 158 158; + columnLayout -adjustableColumn true; + button -w 150 -al "center" -l "Rename Character" -c poseLibRenameCharacterMenu; + button -w 150 -l "Delete Character" -c poseLibDeleteCharacterMenu; + setParent..; + + columnLayout -adjustableColumn true; + button -w 150 -l "Rename Category" -c poseLibRenameCategoryMenu; + button -w 150 -l "Delete Category" -c poseLibDeleteCategoryMenu; + setParent..; + setParent..; + + columnLayout -adj true; + + separator -style "none" -h 4; + button -w 308 -c "deleteUI poseLibEditOptionsWindow" -al "center" -l "Close"; + separator -style "none" -h 4; + setParent..; + setParent..; + + string $displayUI = `frameLayout -lv off -collapsable false -borderVisible off -w 322 -p $tabs displayIconsOptionsFL`; + + columnLayout -adjustableColumn true -width 500 -p displayIconsOptionsFL mainColumn2; + + separator -style "none" -h 2; + frameLayout -mw 5 -bv on -lv on -li 8 -l "Icons Size:" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn2 iconsDisplayFrame; + columnLayout -adjustableColumn true -w 320 iconsDisplayColumn; + + separator -style "none" -h 8; + radioButtonGrp -numberOfRadioButtons 4 -cw4 70 70 90 80 -sl 1 + -labelArray4 "50x50" "64x64" "100x100" "128x128" iconsSizeRB; + + separator -style "in" -h 10; + + rowColumnLayout -numberOfColumns 5 + -columnWidth 1 90 + -columnWidth 2 30 + -columnWidth 3 20 + -columnWidth 4 30 + -columnWidth 5 150; + + checkBox -l "Custom Size:" -onc "intField -e -en on iconsWidthIF; intField -e -en on iconsHeightIF; radioButtonGrp -e -en off iconsSizeRB" + -ofc "intField -e -en off iconsWidthIF; intField -e -en off iconsHeightIF; radioButtonGrp -e -en on iconsSizeRB" customSizeCB; + + intField -v 256 -en off -min 32 -max 512 iconsWidthIF; + text " x"; + intField -v 256 -en off -min 32 -max 512 iconsHeightIF; + + text -bgc .75 .75 .75 " (Min= 32*32 Max=512*512)"; + separator -style "none" -h 4; + + setParent..; + setParent..; + setParent..; + + separator -style "none" -h 4; + frameLayout -mw 5 -bv on -lv on -li 8 -l "Icons Background Color: (Windows XP only)" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn2 iconsBackgroundColorFrame; + columnLayout -adjustableColumn true -w 320 iconsDisplayColumn; + + separator -style "none" -h 8; + + rowColumnLayout -cs 4 4 -cs 2 4 -cs 3 4 -numberOfColumns 4 + -columnWidth 1 75 + -columnWidth 2 75 + -columnWidth 3 75 + -columnWidth 4 75; + + int $h = 30; + + iconTextRadioCollection iconsBackgroundColorIRC; + iconTextRadioButton -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc 0 0 0 -l "Black" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundColorBlackIRB\"" iconsBackgroundColorBlackIRB; + iconTextRadioButton -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc .4 .4 .4 -l "Dark Gray" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundDarkGrayIRB\"" iconsBackgroundDarkGrayIRB; + iconTextRadioButton -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc .7 .7 .7 -l "Light Gray" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundColorLightGrayIRB\"" iconsBackgroundColorLightGrayIRB; + iconTextRadioButton -sl -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc 1 1 1 -l "White" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundColorWhiteIRB\"" iconsBackgroundColorWhiteIRB; + setParent..; + + separator -style "none" -h 4; + + setParent..; + setParent..; + + separator -style "none" -h 8; + + button -l "Apply and Close" -command "poseLibChangeIconsDisplay"; + separator -style "none" -h 4; + + setParent..; + + string $poseLibFolderUI = `frameLayout -lv off -collapsable false -borderVisible off -w 322 -p $tabs poseLibFolderOptionsFL`; + + columnLayout -adjustableColumn true -width 500 -p poseLibFolderOptionsFL mainColumn3; + + separator -style "none" -h 2; + + frameLayout -mw 5 -h 280 -bv on -lv on -li 8 -l "Directories Bookmarks:" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn3 poseLibFolderFrame; + columnLayout -adjustableColumn true poseLibFolderColumn; + + separator -style "none" -h 2; + + text -l "(Double-click to set path) (DEL key to delete)"; + paneLayout -w 308 -h 110; + textScrollList -numberOfRows 8 + -allowMultiSelection false + -dkc "string $toto[] = `textScrollList -q -si poseLibDirectoriesBookmarksTSL`; textScrollList -e -ri $toto[0] poseLibDirectoriesBookmarksTSL; string $tmpList[] = $poseLibPathsBookmarks; string $tmpItems[] = $toto; $poseLibPathsBookmarks = stringArrayRemove($tmpItems, $tmpList); poseLibSavePrefs;" + -sc "textScrollList -e -ann `textScrollList -q -si poseLibDirectoriesBookmarksTSL` poseLibDirectoriesBookmarksTSL" + -dcc "string $pathTmp[] = `textScrollList -q -si poseLibDirectoriesBookmarksTSL`; poseLibBrowseForFolderCallback( \"yes\", $pathTmp[0], \"typeNothing\" )" + poseLibDirectoriesBookmarksTSL; + setParent..; + + for ($i=0;$i<`size $poseLibPathsBookmarks`;$i++) + { + textScrollList -e -appendPosition 1 $poseLibPathsBookmarks[$i] -si $poseLibDefaultPath poseLibDirectoriesBookmarksTSL; + print ( "Loaded poseLib bookmark: " + $poseLibPathsBookmarks[$i] + "\n"); + } + + text -w 210 -fn "boldLabelFont" -l "Current poseLib Directory:"; + text -bgc .8 .8 .8 -ann ($poseLibDefaultPath + "/") -l ($poseLibDefaultPath + "/") poseLibFolderOptionText; + separator -style "none" -h 2; + checkBox -v 0 -en on -l "Add \"/poseLib/\" at the end of the chosen path." poseLibFolderOptionCB; + separator -style "none" -h 2; + + if ( `about -os` == "linux" ) + textField -cc "poseLibBrowseForFolderCallback( \"\", `textField -q -tx poseLibFolderOptionTF`, \"\")" -ann ($poseLibDefaultPath + "/") -tx ($poseLibDefaultPath + "/") poseLibFolderOptionTF; + else + { + button -w 308 -l "Choose Location Of poseLib Directory" -c ("poseLibBrowseForFolder( \"" + $poseLibDefaultPath + "\" )"); + } + + separator -style "none" -h 4; + button -w 308 -l "Open Windows Explorer Here" -c ("string $lastPlaceTmp = `text -q -label poseLibFolderOptionText`; string $lastPlace = toNativePath( $lastPlaceTmp ); system (\"start explorer /n,/e, \" + $lastPlace)"); + separator -style "none" -h 4; + + setParent..; + setParent..; + + separator -style "none" -h 4; + button -w 320 -c "deleteUI poseLibEditOptionsWindow" -al "center" -l "Close"; + setParent..; + + string $poseLibTextEditorUI = `frameLayout -lv off -collapsable false -borderVisible off -w 322 -p $tabs poseLibTextEditorOptionsFL`; + + columnLayout -adjustableColumn false -width 500 -p poseLibTextEditorOptionsFL mainColumn3; + separator -style "none" -h 2; + frameLayout -mw 5 -bv on -lv on -li 8 -l "Current Text Editor:" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn3 poseLibTextEditorFrame; + columnLayout -adjustableColumn false poseLibTextEditorColumn; + separator -style "none" -h 2; + text -l "(This is the program to use when editing pose files)"; + text -bgc .8 .8 .8 -ann $poseLibTextEditor -l $poseLibTextEditor poseLibTextEditorOptionText; + separator -style "none" -h 2; + button -w 308 -l "Choose Text Editor" -c "poseLibChooseTextEditor"; + separator -style "none" -h 4; + + setParent..; + setParent..; + + separator -style "none" -h 4; + button -w 320 -c "deleteUI poseLibEditOptionsWindow" -al "left" -l " Close"; + setParent..; + + // ------------------ + // Organize tabs + // ------------------ + tabLayout -edit + -tabLabel $characterCategoriesUI "Characters/Categories" + -tabLabel $displayUI "Display" + -tabLabel $poseLibFolderUI "Directory" + -tabLabel $poseLibTextEditorUI "Text Editor" + -st $characterCategoriesUI + $tabs; + + if ( ($poseLibIconsSize[0] == 50) && ($poseLibIconsSize[1] == 50) ) + { + radioButtonGrp -e -sl 1 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else if ( ($poseLibIconsSize[0] == 64) && ($poseLibIconsSize[1] == 64) ) + { + radioButtonGrp -e -sl 2 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else if ( ($poseLibIconsSize[0] == 100) && ($poseLibIconsSize[1] == 100) ) + { + radioButtonGrp -e -sl 3 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else if ( ($poseLibIconsSize[0] == 128) && ($poseLibIconsSize[1] == 128) ) + { + radioButtonGrp -e -sl 4 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else + { + radioButtonGrp -e -en off iconsSizeRB; + checkBox -e -en on -v 1 customSizeCB; + intField -e -en on -v $poseLibIconsSize[0] iconsWidthIF; + intField -e -en on -v $poseLibIconsSize[1] iconsHeightIF; + } + + if ( $poseLibIconsBackgroundColor == "" ) + $poseLibIconsBackgroundColor = "iconsBackgroundColorWhiteIRB"; + else + iconTextRadioCollection -e -sl $poseLibIconsBackgroundColor iconsBackgroundColorIRC; + + // ------------------ + // Populate lists. + // ------------------ + string $characterName = `optionMenu -q -v characterChoiceOM`; + + textScrollList -e -ra listCharacters; + + string $c; + for ( $c in $poseLibCharacterList ) + { + textScrollList -e -m off -w 150 -h 120 -append $c -sc "poseLibRefreshCategoryList" listCharacters; + } + textScrollList -e -si $characterName -m on listCharacters; + poseLibRefreshCategoryList; + showWindow poseLibEditOptionsWindow; + window -e -h 378 poseLibEditOptionsWindow; + } + +global proc poseLibChangeIconsDisplay () + { + global int $poseLibIconsSize[]; + + if ( `radioButtonGrp -q -sl iconsSizeRB` == 1 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 50; + $poseLibIconsSize[1] = 50; + } + + else if ( `radioButtonGrp -q -sl -en iconsSizeRB` == 2 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 64; + $poseLibIconsSize[1] = 64; + } + + else if ( `radioButtonGrp -q -sl -en iconsSizeRB` == 3 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 100; + $poseLibIconsSize[1] = 100; + } + + else if ( `radioButtonGrp -q -sl -en iconsSizeRB` == 4 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 128; + $poseLibIconsSize[1] = 128; + } + + else + { + $poseLibIconsSize[0] = `intField -q -v iconsWidthIF`; + $poseLibIconsSize[1] = `intField -q -v iconsHeightIF`; + } + + //poseLibRefreshPoseList; + poseLibSavePrefs; + poseLib; + print ("iconsSize set at " + $poseLibIconsSize[0] + " x " + $poseLibIconsSize[1] + "\n"); + } + +global proc poseLibRefreshCategoryList () + { + global string $poseLibDefaultPath; + string $characterName[0] = `textScrollList -q -si listCharacters`; + string $allCatDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/" + $characterName[0] + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCatDirs[] = {}; + + int $i; + for ($i=0;$i<`size $allCatDirsTmp`;$i++) + { + if ( `match ".deleted" $allCatDirsTmp[$i]` != ".deleted" ) + $allCatDirs = stringArrayCatenate ( $allCatDirs, { $allCatDirsTmp[$i] } ); + } + + textScrollList -e -ra listCategories; + + string $g; + for ( $g in $allCatDirs ) + { + textScrollList -e -m off -w 150 -h 120 -append $g listCategories; + } + textScrollList -e -m on listCategories; + } + +global proc poseLibCreateNewCharacterMenu () + { + global string $poseLibDefaultPath; + string $character = `textFieldButtonGrp -q -text newCharacterTFG`; + string $checkName = `match " [$%\\/#@.:;?!\"\'\`]" $character`; + string $allCharDirs[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + + if ( (`size $checkName` > 0) || (`size $character` == 0) ) + { + error "You must enter a valid name, without any of these: \" $ % \\ / # @ . :; ? ! \' \`"; + return; + } + else + { + sysFile -makeDir ( $poseLibDefaultPath + "/" + $character ); + sysFile -makeDir ( $poseLibDefaultPath + "/" + $character + "/default" ); + poseLib; + poseLibEditOptions; + textScrollList -e -si $character listCharacters; + poseLibRefreshCategoryList; + + print ( "poseLib: Created new character: " + $character + "\n" ); + + string $c; + for ( $c in $allCharDirs ) + { + string $checkTmp = `match $c $character`; + + if ( `size $checkTmp` > 0 ) + warning "There is already a character with this name!"; + } + } + } + +global proc poseLibRenameCharacterMenu () + { + if (`window -exists renameCharacterWindow` ) + deleteUI renameCharacterWindow; + + string $nameTmp[0] = `textScrollList -q -si listCharacters`; + + window -tlb off -rtf true -w 10 -h 10 -title "Rename Character" renameCharacterWindow; + columnLayout -adj true; + frameLayout -mw 2 -lv false -collapsable false -borderStyle "etchedOut"; + columnLayout -adj true; + textFieldGrp -cw2 50 150 -l "Name" -cc "poseLibDoRenameCharacterMenu" -tx (`textScrollList -q -si listCharacters`) setNameField; + button -l "Cancel" -al "center" -c "deleteUI renameCharacterWindow"; + + if ( $nameTmp[0] != "" ) + showWindow renameCharacterWindow; + else + warning " ---> Please select a character first!\n"; + } + +global proc poseLibDoRenameCharacterMenu () + { + global string $poseLibDefaultPath; + string $nameTmp[0] = `textScrollList -q -si listCharacters`; + string $softCharacterToRename = ( $poseLibDefaultPath + "/" + $nameTmp[0] ); + + string $newName = `textFieldGrp -q -tx setNameField`; + + sysFile -rename ($poseLibDefaultPath + "/" + $newName) $softCharacterToRename; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + evalDeferred("poseLib"); + poseLibEditOptions; + textScrollList -e -si $newName listCharacters; + poseLibRefreshCategoryList; + print ("poseLib: Renamed character: " + $poseLibDefaultPath + "/" + $nameTmp[0] + " to: " + $newName + "\n" ); + } + +global proc poseLibDeleteCharacterMenu () + { + global string $poseLibDefaultPath; + string $nameTmp[0] = `textScrollList -q -si listCharacters`; + string $confirmDeleteWindow = ""; + + if ( $nameTmp[0] != "" ) + $confirmDeleteWindow = `confirmDialog -title "Confirm" -message "Are you sure you want to delete this character\nwith all the poses and categories inside?" -button "Yes" -button "No" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel" -dismissString "No"`; + else + warning " ---> Please select a character in the list first!\n"; + + if ( $confirmDeleteWindow == "Yes" ) + { + string $solidPath = ""; + string $buffer[]; + int $numTokens = `tokenize ($poseLibDefaultPath + "/" + $nameTmp[0]) "\/" $buffer`; + + int $i; + for ($i=0;$i<`size $buffer`;$i++) + { + if ( $i < (`size $buffer`-1) ) + $solidPath = $solidPath + $buffer[$i] + "\\"; + else + $solidPath = $solidPath + $buffer[$i]; + } + + if ( `filetest -d ($poseLibDefaultPath + "/" + $nameTmp[0] + ".deleted")` ) + system ("rmdir " + $solidPath + ".deleted /s /q" ); //print ("\nrmdir " + $solidPath + ".deleted"); + + sysFile -rename (($poseLibDefaultPath + "/" + $nameTmp[0]) + ".deleted") ($poseLibDefaultPath + "/" + $nameTmp[0]); //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + poseLib; + poseLibEditOptions; + print ("poseLib: Deleted character: " + $poseLibDefaultPath + "/" + $nameTmp[0] + "\n" ); + } + } + +global proc poseLibCreateNewCategoryMenu () + { + global string $poseLibDefaultPath; + string $character[0] = `textScrollList -q -si listCharacters`; + string $category = `textFieldButtonGrp -q -text newCategoryTFG`; + string $checkName = `match " [$%\\/#@.:;?!\"\'\`]" $category`; + string $allCharDirs[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCatDirs[] = `getFileList -folder ($poseLibDefaultPath + "/" + $character[0])`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + + if ( (`size $checkName` > 0) || (`size $category` == 0) ) + { + error "You must enter a valid name, without any of these: \" $ % \\ / # @ . :; ? ! \' \`"; + return; + } + + if ( `radioCollection -q -sl forCurrentOrAllCharRB` == "forCurrentChar" ) + { + sysFile -makeDir ( $poseLibDefaultPath + "/" + $character[0] + "/" + $category ); + poseLib; + poseLibEditOptions; + textScrollList -e -si $character[0] listCharacters; + radioCollection -e -sl forCurrentChar forCurrentOrAllCharRB; + poseLibRefreshCategoryList; + + print ( "poseLib: Created new category: " + $category + "\n" ); + + string $c; + for ( $c in $allCatDirs ) + { + string $checkTmp = `match $c $category`; + + if ( `size $checkTmp` > 0 ) + warning "There is already a category with this name!"; + } + } + else + { + string $g; + for ( $g in $allCharDirs ) + { + sysFile -makeDir ( $poseLibDefaultPath + "/" + $g + "/" + $category ); + } + poseLib; + poseLibEditOptions; + textScrollList -e -si $character[0] listCharacters; + radioCollection -e -sl forAllChar forCurrentOrAllCharRB; + poseLibRefreshCategoryList; + + print ( "poseLib: Created new category: " + $category + " for all characters\n" ); + } + } + +global proc poseLibRenameCategoryMenu () + { + if (`window -exists renameCategoryWindow` ) + deleteUI renameCategoryWindow; + + string $nameTmp[0] = `textScrollList -q -si listCategories`; + + window -tlb off -rtf true -w 10 -h 10 -title "Rename Category" renameCategoryWindow; + columnLayout -adj true; + frameLayout -mw 2 -lv false -collapsable false -borderStyle "etchedOut"; + columnLayout -adj true; + textFieldGrp -cw2 50 150 -l "Name" -cc "poseLibDoRenameCategoryMenu" -tx (`textScrollList -q -si listCategories`) setNameField; + button -w 100 -l "Cancel" -al "center" -c "deleteUI renameCategoryWindow"; + + if ( $nameTmp[0] != "" ) + showWindow renameCategoryWindow; + else + warning " ---> Please select a category in the list first!\n"; + } + +global proc poseLibDoRenameCategoryMenu () + { + global string $poseLibDefaultPath; + string $charTmp[0] = `textScrollList -q -si listCharacters`; + string $nameTmp[0] = `textScrollList -q -si listCategories`; + string $softCategoryToRename = ( $poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0] ); + + string $newName = `textFieldGrp -q -tx setNameField`; + + sysFile -rename ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $newName) $softCategoryToRename; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + evalDeferred("poseLib"); + poseLibEditOptions; + textScrollList -e -si $charTmp[0] listCharacters; + poseLibRefreshCategoryList; + textScrollList -e -si $newName listCategories; + print ("poseLib: Renamed category: " + $poseLibDefaultPath + "/" + $nameTmp[0] + " to: " + $newName + "\n"); + } + +global proc poseLibDeleteCategoryMenu () + { + global string $poseLibDefaultPath; + string $charTmp[0] = `textScrollList -q -si listCharacters`; + string $nameTmp[0] = `textScrollList -q -si listCategories`; + string $confirmDeleteWindow = ""; + + if ( $nameTmp[0] != "" ) + $confirmDeleteWindow = `confirmDialog -title "Confirm" -message "Are you sure you want to delete\nthis category with all the poses inside?" -button "Yes" -button "No" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel" -dismissString "No"`; + else + warning " ---> Please select a category in the list first!\n"; + + if ( $confirmDeleteWindow == "Yes" ) + { + string $solidPath = ""; + string $buffer[]; + int $numTokens = `tokenize ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0]) "\/" $buffer`; + + int $i; + for ($i=0;$i<`size $buffer`;$i++) + { + if ( $i < (`size $buffer`-1) ) + $solidPath = $solidPath + $buffer[$i] + "\\"; + else + $solidPath = $solidPath + $buffer[$i]; + } + + if ( `filetest -d ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0] + ".deleted")` ) + { + system ("rmdir " + $solidPath + ".deleted /s /q" ); //print ("\nrmdir " + $solidPath + ".deleted"); + } + + sysFile -rename ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0] + ".deleted") ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0]); + + poseLib; + poseLibEditOptions; + textScrollList -e -si $charTmp[0] listCharacters; + poseLibRefreshCategoryList; + print ("poseLib: Deleted category: " + $poseLibDefaultPath + "/" + $nameTmp[0] + "\n"); + } + } + +global proc poseLib () + { + global string $poseLibVersion; + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + global string $poseLibCategoryList[]; + global string $poseLibCurrentProject = ""; + global string $poseLibPathsBookmarks[]; + global int $poseLibIconsSize[]; + string $c; + + // Run the proc to initialize all the global variable at the start. + // This is in case poseLib is launched without being sourced first. + poseLibInitializeVariables; + + // ------------------------------- + // Create characters directories. + // ------------------------------- + string $allCharDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allCharDirs="+$allCharDirs[0]); + string $allCharDirs[]; + + for ($i=0;$i<`size $allCharDirsTmp`;$i++) + { + if ( `match ".deleted" $allCharDirsTmp[$i]` != ".deleted" ) + $allCharDirs = stringArrayCatenate ( $allCharDirs, { $allCharDirsTmp[$i] } ); + } + + if ( $allCharDirs[0] == "" ) + { + string $softPosesPathTmp; + for ( $c in $poseLibCharacterList ) + { + $softPosesPathTmp = $poseLibDefaultPath + "/" + $c; //print ( "\ncreated " + $softPosesPathTmp ); + sysFile -makeDir $softPosesPathTmp; + } + + $softPosesPathTmp = $poseLibDefaultPath + "/" + $c; + + string $g; + for ( $g in $poseLibCategoryList ) + { + string $softCategoriesPathTmp = $softPosesPathTmp + "/" + $g; //print ( "\ncreated =" + $softCategoriesPathTmp ); + sysFile -makeDir $softCategoriesPathTmp; + } + } + else + $poseLibCharacterList = $allCharDirs; + + // Delete any existing poseLib-related window. + if (`window -exists poseLibWindow` ) + deleteUI poseLibWindow; + + if (`window -exists poseLibEditOptionsWindow` ) + deleteUI poseLibEditOptionsWindow; + + if (`window -exists poseLibCreateNewPoseWindow` ) + deleteUI poseLibCreateNewPoseWindow; + + if (`window -exists renameCharacterWindow` ) + deleteUI renameCharacterWindow; + + if (`window -exists renameCategoryWindow` ) + deleteUI renameCategoryWindow; + + if (`window -exists poseLibRenamePoseWindow` ) + deleteUI poseLibRenamePoseWindow; + + // ---------------- + // Build main UI. + // ---------------- + window -tlb off -rtf off -sizeable true -menuBar true -w 450 -title ("poseLib v" + $poseLibVersion + " - " + $poseLibDefaultPath) poseLibWindow; + + int $h = 20; + + // -------------- + // Poses frame. + // -------------- + string $form = `formLayout -numberOfDivisions 100 plMainFL`; + string $posesFrameLayout = `frameLayout -m off -mw 2 -mh 2 -p plMainFL -l "Poses: " -fn "smallFixedWidthFont" -collapsable false -borderStyle "etchedOut" plPosesFL`; + string $posesShelfLayout = `shelfLayout -p $posesFrameLayout -st "iconAndTextVertical" plPosesSL`; + string $optionsFrameLayout = `frameLayout -lv off -p plMainFL -collapsable false -borderVisible off plOptionsFL`; + string $optionsColumn = `columnLayout -p $optionsFrameLayout -adjustableColumn true plOptionsColumn`; + + // --------------- + // Options frame. + // --------------- + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 190 -p plOptionsColumn namespaceFrameLayoutFL; + columnLayout -adjustableColumn true -p namespaceFrameLayoutFL; + separator -st none -h 4 -w 150; + checkBox -al "left" -l "Use Character Menu Namespace" -en on -value 0 -onc "checkBox -e -v 0 -en off useCustomNamespaceCB; textField -e -en off namespaceTextFieldTF" -ofc "checkBox -e -en on useCustomNamespaceCB" useCurrentCharacterCB; + checkBox -al "left" -l "Use Custom Namespace" -en on -value 0 -onc "textField -e -en on namespaceTextFieldTF" -ofc "textField -e -en off namespaceTextFieldTF" useCustomNamespaceCB; + textField -w 150 -en off -text "myNamespace" namespaceTextFieldTF; + separator -st none -h 4 -w 150; + setParent ..; + setParent ..; + + separator -st none -h 4 -w 150; + + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 190 -p plOptionsColumn characterCategoryFL; + columnLayout -adjustableColumn true -p characterCategoryFL; + separator -st none -h 2 -w 150; + optionMenu -h ($h+2) -label "Character: " -cc "poseLibRefreshPoseList(\"\")" characterChoiceOM; + for ( $c in $poseLibCharacterList ) + { + menuItem -label $c; + } + + separator -st none -h 4 -w 150; + + optionMenu -h ($h+2) -label "Category: " -cc "poseLibRefreshPoseList(\"\")" categoryChoiceOM; + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + menuItem -label $poseLibCategoryList[$i] -p categoryChoiceOM categoryMI[$i]; + } + setParent ..; + setParent ..; + + separator -st "none" -h 4; + + // -------------------- + // Create pose frame. + // -------------------- + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -p plOptionsColumn frameCreate; + columnLayout -adjustableColumn true -p frameCreate setPosesColumn; + + separator -st none -h 4; + + button //-bgc .8 .8 .8 + -label "Create New Pose!" -h 32 -w 156 + -ann "Create a new pose based on the current selection" -c ("poseLibCreateNewPose( \"\" )") newPoseButton; + + separator -st none -h 4; + + setParent ..; + setParent ..; + + separator -st "none" -h 4; + + // -------------------- + // Settings frame. + // -------------------- + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -p plOptionsColumn frameSettings; + columnLayout -adjustableColumn true -p frameSettings setPosesColumn; + + separator -st none -h 4; + + button -label "Edit Options" -h $h //-bgc .85 .85 .85 + -ann "Edit/Create characters and categories" -c "poseLibEditOptions" editSettingsButton; + + separator -st none -h 2; + + button -label "Save Preferences" -h $h //-bgc .85 .85 .85 + -ann "Create a new pose based on the current selection" -c "poseLibSavePrefs" savePrefsButton; + + separator -st none -h 4; + + setParent ..; + setParent ..; + + separator -st none -h 4; + button -label "Online Help" -h $h //-bgc .85 .85 .85 + -c "system(\"load http://seithcg.com/wordpress/?page_id=19\")" helpButton; + + separator -st none -h 2; + button -label "Close" -h $h //-bgc .85 .85 .85 + -c "deleteUI poseLibWindow" closeButton; + + setParent ..; + setParent ..; + + formLayout -edit + -attachForm $posesFrameLayout "top" 2 + -attachForm $posesFrameLayout "left" 2 + -attachForm $posesFrameLayout "bottom" 2 + -attachControl $posesFrameLayout "right" 2 $optionsFrameLayout + + -attachForm $optionsFrameLayout "top" 2 + -attachNone $optionsFrameLayout "left" + -attachForm $optionsFrameLayout "bottom" 2 + -attachForm $optionsFrameLayout "right" 2 + $form; + + // --------------------------------------------------------------------- + // Update poses list to populate the menus and icons. + if ( `optionVar -exists characterChoiceStatus` ) + { + string $characterTmp = `optionVar -q characterChoiceStatus`; + catchQuiet ( `optionMenu -e -v $characterTmp characterChoiceOM` ); + } + + if ( `optionVar -exists categoryChoiceStatus` ) + { + string $categoryTmp = `optionVar -q categoryChoiceStatus`; + poseLibRefreshPoseList($categoryTmp); + catchQuiet( `optionMenu -e -v $categoryTmp categoryChoiceOM` ); + } + // --------------------------------------------------------------------- + + // Finally show the window. + showWindow poseLibWindow; + + // If we're on Linux, the first frame appears by default with 0 height!!! + if ( `about -os` == "linux" ) + frameLayout -e -h 78 namespaceFrameLayoutFL; + + // Update the number of poses readout at the top of the icons shelf layout. + string $numberOfIconsTmp[] = `shelfLayout -q -ca plPosesSL`; + int $tmp = `frameLayout -q -w plPosesFL` / 2.8; + frameLayout -e -m on -li $tmp -lw 75 -l ("Poses: " + `size $numberOfIconsTmp`) -fn "smallFixedWidthFont" plPosesFL; + + // --------------------- + // Recall preferences. + // --------------------- + if ( `optionVar -exists useCurrentCharacterStatus` ) + { + checkBox -e -v `optionVar -q useCurrentCharacterStatus` useCurrentCharacterCB; + checkBox -e -en (!`optionVar -q useCurrentCharacterStatus`) useCustomNamespaceCB; + } + + if ( `optionVar -exists useCustomNamespaceStatus` ) + { + checkBox -e -v `optionVar -q useCustomNamespaceStatus` useCustomNamespaceCB; + textField -e -en `checkBox -q -v useCustomNamespaceCB` namespaceTextFieldTF; + } + + if ( `optionVar -exists pathsBookmarksStatus` ) + { + string $pathsBookmarksStatusTmp = `optionVar -q pathsBookmarksStatus`; + $poseLibPathsBookmarks = stringToStringArray($pathsBookmarksStatusTmp, ","); //print "\n$poseLibPathsBookmarks = "; print $poseLibPathsBookmarks; print "\n"; + } + + print ( "poseLib path = " + $poseLibDefaultPath + "/\n" ); + + // ----------------------- + // First time run! + // ----------------------- + if ( !`optionVar -exists poseLibDefaultPathStatus` ) + { + poseLibEditOptions; + tabLayout -edit -selectTabIndex 3 poseLibOptionsWindowTL; + + if (`window -exists poseLibFirstTimeWindow` ) + deleteUI poseLibFirstTimeWindow; + + window -rtf true -t "First Time Run!" poseLibFirstTimeWindow; + columnLayout -adj true columnTmp; + text -bgc .7 .6 .9 "!Warning!"; + text "poseLib detects it's the first time it's being launched!"; + text -bgc .5 .6 .9 " "; + text " Please set the chosen path for poseLib before starting to use it "; + text " by clicking on \"Choose Location of poseLib Directory\" "; + text " in the \"Edit Options\" window... "; + text " -------------------------------------------------"; + text "Note that the characters and category lists reflect REAL directories"; + text "on your hard drive/network. There shouldn’t be any real risk since"; + text "poseLib will only add \".deleted\" at the end of the directory’s"; + text " (or pose’s) name if you delete them, but that could be a problem in itself. \n"; + + text "In short, if you see a list of all your projects coming up in the characters"; + text "list, it is not a good idea to delete them; It just means the poseLib path"; + text "is not set correctly. That's why you should do it right now!\n"; + + button -l "OK" -c "deleteUI poseLibFirstTimeWindow"; + showWindow poseLibFirstTimeWindow; + } + } diff --git a/2009-x64/AnimationScripts/scripts/poseLib.mel.4.2.1 b/2009-x64/AnimationScripts/scripts/poseLib.mel.4.2.1 new file mode 100644 index 0000000..7bba890 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/poseLib.mel.4.2.1 @@ -0,0 +1,2380 @@ +// =============================== +// poseLib +// =============================== +// +// Purpose: +// -------- +// Allows you to record poses for anything in Maya (most likely the controls of a character rig). +// +// Usage: +// ------ +// poseLib; +// + +// -------------------------- +// Initializing variables. +// -------------------------- +global string $poseLibVersion; +$poseLibVersion = "4.2.1"; +global string $poseLibCurrentProject; +//$poseLibCurrentProject = `internalVar -userWorkspaceDir`; +$poseLibCurrentProject = `workspace -q -fn`; +global string $poseLibDefaultPath; +global string $poseLibCharacterList[]; +$poseLibCharacterList ={ "default" }; +global string $poseLibCategoryList[]; +$poseLibCategoryList = { "default" }; +global int $poseLibIconsSize[]; +global string $poseLibIconsBackgroundColor; +global float $poseLibApplyIncrement; +$poseLibApplyIncrement = 0.75; +global string $poseLibPathsBookmarks[]; + +// Check if the default path option var exists and set the poseLib default path accordingly. +if ( `optionVar -exists poseLibDefaultPathStatus` ) + $poseLibDefaultPath = `optionVar -q poseLibDefaultPathStatus`; +else + $poseLibDefaultPath = $poseLibCurrentProject + "/poseLib"; //print ("\n$defaultPath=" + $poseLibDefaultPath ); + +if ( `optionVar -exists iconsSizeWidthStatus` ) + $poseLibIconsSize[0] = `optionVar -q iconsSizeWidthStatus`; + +if ( `optionVar -exists iconsSizeHeightStatus` ) + $poseLibIconsSize[1] = `optionVar -q iconsSizeHeightStatus`; + +// --------------------------------------------------------------------------- +// For Maya 6.0 backward compatibility. +// --------------------------------------------------------------------------- +global proc int stringArrayContains(string $item, string $list[]) + { + int $result = false; + + string $listItem; + + for ($listItem in $list) + { + if ($item == $listItem) + { + $result = true; + break; + } + } + + return $result; + } +// --------------------------------------------------------------------------- + +// ===================== +// Save preferences. +// ===================== +global proc poseLibSavePrefs() + { + global string $poseLibDefaultPath; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + global string $poseLibPathsBookmarks[]; + + // Store all the option choices in global variables. + optionVar -stringValue poseLibDefaultPathStatus $poseLibDefaultPath; + optionVar -intValue useNamespaceStatus `checkBox -q -v useNamespaceCB`; + optionVar -intValue useCurrentCharacterStatus `checkBox -q -v useCurrentCharacterCB`; + optionVar -stringValue namespaceTextFieldStatus `textField -q -tx namespaceTextFieldTF`; + optionVar -stringValue characterChoiceStatus `optionMenu -q -v characterChoiceOM`; + optionVar -stringValue categoryChoiceStatus `optionMenu -q -v categoryChoiceOM`; + optionVar -stringValue smartModeStatus `checkBox -q -v smartModeCB`; + optionVar -intValue iconsSizeWidthStatus $poseLibIconsSize[0]; + optionVar -intValue iconsSizeHeightStatus $poseLibIconsSize[1]; + optionVar -stringValue iconsBackgroundColorStatus $poseLibIconsBackgroundColor; + + string $pathsBookmarksStatusTmp = stringArrayToString($poseLibPathsBookmarks, ","); + optionVar -stringValue pathsBookmarksStatus $pathsBookmarksStatusTmp; //print ("\nSaved $pathsBookmarksStatusTmp: " + $pathsBookmarksStatusTmp + "\n"); + + print "poseLib: Saved preferences!\n"; + } + +// ================================= +// Get namespace from selection +// ================================= +global proc poseLibGetNamepaceFromSelection() + { + // Get the namespace. + string $selection[] = `ls -sl`; + string $buffer[]; + int $numTokens = `tokenize $selection[0] ":" $buffer`; //print ($buffer[`size $buffer`-1]); + string $namespace = $buffer[0]; + + textField -e -text $namespace namespaceTextFieldTF; + } + +//====================================================================== +// browse for poseLib directory +//====================================================================== +global proc browseForFolder( string $startFolder ) + { + global string $poseLibDefaultPath; + + workspace -dir $startFolder; + + fileBrowserDialog -mode 4 + -fileCommand ( "browseForFolderCallback \"" + $poseLibDefaultPath + "\"" ) + -actionName "Choose New poseLib Folder:"; + } + +//======== +// ... +//======== +global proc browseForFolderCallback( string $poseLibBookmarkDoubleClicked, string $poseLibFolderResult, string $type ) + { + global string $poseLibDefaultPath; + global string $poseLibPathsBookmarks[]; + + string $checkName = `match "[$%\\ #@.;?!\"\'\`]" $poseLibFolderResult`; + + if ( `size $checkName` ) + error "poseLib: The poseLib path can NOT include any space (\" \") nor either of these: \" $ % \\ # @ . ; ? ! \' \`"; + + if ( $poseLibFolderResult != $poseLibDefaultPath ) + { + string $askToCopyOldPoseLibFolder = `confirmDialog + -title "New poseLib Folder" + -message ( "Do you want to copy any existing character(s) and categories to the new directory?\n\n(Note: You will have to manually delete the old poseLib folder. This is a safety mesure!)" ) -ma "center" + -button "Yes" -button "No, just change the path" -button "Cancel" + -defaultButton "Yes" -cancelButton "Cancel" + -dismissString "No"`; + + string $oldPoseLibDefaultPath = $poseLibDefaultPath; + + if ( `checkBox -q -v poseLibFolderOptionCB` ) + $poseLibDefaultPath = $poseLibFolderResult + "/poseLib"; + else + $poseLibDefaultPath = $poseLibFolderResult; + + if ( $askToCopyOldPoseLibFolder == "Yes" ) + { + text -e -l $poseLibDefaultPath poseLibFolderOptionText; + + string $tmp = toNativePath( $oldPoseLibDefaultPath ); + string $tmp2 = toNativePath( $poseLibDefaultPath ); + system( "xcopy " + $tmp + " " + $tmp2 + "/s /e /i" ); + } + + else if ( $askToCopyOldPoseLibFolder == "No, just change the path" ) + { + text -e -l $poseLibDefaultPath poseLibFolderOptionText; + } + + // If the user didn't simply double-click on a bookmark, then add the location to the bookmark list. + if ( $poseLibBookmarkDoubleClicked != "yes" ) + { + textScrollList -e -appendPosition 1 $poseLibDefaultPath poseLibDirectoriesBookmarksTSL; + $poseLibPathsBookmarks = `textScrollList -q -ai poseLibDirectoriesBookmarksTSL`; //print ( "Updating $poseLibPathsBookmarks[zero] = " + $poseLibPathsBookmarks[0] + "\n"); + } + + if ( $askToCopyOldPoseLibFolder != "Cancel" ) + { + poseLibSavePrefs; + poseLib; + } + + print ( "poseLib: Successfuly changed default path to \"" + $poseLibDefaultPath + "\"." ); + } + } + +// ===================== +// Output pose info. +// ===================== +global proc poseLibOutputPoseInfo ( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + // ------------------- + // Open the file + // ------------------- + int $fileId=`fopen $poseFilePath "r"`; + string $controlName = `fgetline $fileId`; + string $alreadyDone = ""; + string $consTmp = ""; + + print ( "\n===================================\n" ); + print ( "Pose Control List for \"" + $poseName + "\":\n" ); + print ( "===================================\n" ); + int $count = 0; + + // Go through all the controls. + while ( size( $controlName ) > 0 ) + { + $controlName = `fgetword $fileId`; //print $controlName; + string $attributeName = `fgetword $fileId`; //print $attributeName; + string $attributeValue = `fgetword $fileId`; //print $attributeValue; + string $checkTmp = $controlName; + + if ( ($checkTmp != $alreadyDone) && ($controlName != "") ) + { + $count++; + print ( $count + "- " + $controlName + "\n" ); + } + + $alreadyDone = $checkTmp; + } + fclose $fileId; + + print ( "--> " + $count + " control(s) in this pose... (see script editor for details)" ); + } + +// ===================== +// Reset capture view +// ===================== +global proc poseLibResetView () + { + string $getTextfield = `textFieldGrp -q -tx setNameField`; //print ("\n$getTextfield = " + $getTextfield); + poseLibCreateNewPose( $getTextfield ); + } + +// ==================== +// Create new pose +// ==================== +global proc poseLibCreateNewPose ( string $ifTextfieldNotEmpty ) + { + global int $poseLibIconsSize[]; + + // ------------------------------ + // 1- Create snapshot window UI + // ------------------------------ + if ( `window -exists poseLibCreateNewPoseWindow` ) + deleteUI poseLibCreateNewPoseWindow; + + string $selection[] = `ls -sl`; + + window -rtf true -menuBar false -title "Create New Pose" -w 10 -h 10 -te 300 -le 500 poseLibCreateNewPoseWindow; + columnLayout -adjustableColumn true; + rowLayout -nc 2 -cw2 106 150 iconCaptureRL; + + frameLayout -borderStyle "etchedOut" -cl false -cll false -m on -labelVisible false -width 104 -height 104 iconCameraFrame; + + glRenderEditor hardwareRenderViewBis; + + setParent ..; + + frameLayout -borderStyle "etchedOut" -labelVisible false -width 160 -height 104 buttonsFrame; + columnLayout -adjustableColumn true; + + separator -style "none" -h 2; + textFieldGrp -cw2 50 100 -l "Name:" -tx $ifTextfieldNotEmpty setNameField; + separator -style "none" -h 2; + button -label "Preview Icon" -align "center" -c "button -e -en on createPoseButton; poseLibDoIconPreview" -w 100 -h 23; + separator -style "none" -h 2; + button -label "Create Pose" -en off -c "poseLibDoCreateNewPose" -w 100 -h 23 createPoseButton; + + separator -style "none" -h 2; + + rowLayout -numberOfColumns 2 -columnWidth2 100 50; + button -label " Reset View " -c "poseLibResetView" -h 23; + button -label " Cancel " -c "deleteUI poseLibCreateNewPoseWindow" -h 23; + setParent ..; + setParent ..; + + // ------------------------------------------------- + // 2- Generate a unique camera using current view. + // ------------------------------------------------- + if ( !`objExists SnapShotCamera` ) + { + string $CurrentPanel = `getPanel -withFocus`; + + if (`getPanel -to $CurrentPanel` != "modelPanel") // make sure we've got a camera + { + string $visPanel[] = `getPanel -vis`; // get all visible Panels + + string $n; + for($n in $visPanel) + { + string $modelPanels[] = `getPanel -type modelPanel`; // get all modelPanels + + if( (`getPanel -to $n`) == "modelPanel") + { + setFocus($n); + $CurrentPanel = $n; + break; + } + } + } + + string $CurrentCamera = `modelPanel -q -cam $CurrentPanel`; + float $campos[] = `camera -q -position $CurrentCamera`; + float $camrot[] = `camera -q -rotation $CurrentCamera`; + float $camwup[] = `camera -q -worldUp $CurrentCamera`; + float $camcoi = `camera -q -coi $CurrentCamera`; + float $focal = `camera -q -fl $CurrentCamera`; + + string $camShapeNode = `createNode "camera"`; + string $camTopNode[] = `listRelatives -p $camShapeNode`; + rename $camTopNode[0] "SnapShotCamera"; + hide SnapShotCamera; + + camera -edit + -centerOfInterest $camcoi + -position $campos[0] $campos[1] $campos[2] + -rotation $camrot[0] $camrot[1] $camrot[2] + -worldUp $camwup[0] $camwup[1] $camwup[2] + -fl 100.0 + SnapShotCamera; + } + + // --------------------------------------------- + // 3- Hardware render looks thru snapshot camera. + // --------------------------------------------- + glRenderEditor -e -lt SnapShotCamera hardwareRenderViewBis; + + // --------------------------------------------- + // 4- Setup hardware render options. + // --------------------------------------------- + int $frame = `currentTime -q`; + + if ( $frame < 0 ) + { + currentTime 1; + $frame = 1; + } + + // Unlock start and end frame first (as sometimes they get locked (!?) ). + setAttr -l false "defaultHardwareRenderGlobals.startFrame"; + setAttr -l false "defaultHardwareRenderGlobals.endFrame"; + setAttr -l false "defaultHardwareRenderGlobals.byFrame"; + + setAttr "defaultHardwareRenderGlobals.startFrame" $frame; + setAttr "defaultHardwareRenderGlobals.endFrame" $frame; + setAttr "defaultHardwareRenderGlobals.extension" 1; // 1=xxx.#.ext + setAttr "defaultHardwareRenderGlobals.backgroundColor" -type double3 0.75 0.75 0.75; + setAttr "defaultHardwareRenderGlobals.texturing" 1; + setAttr "defaultHardwareRenderGlobals.imageFormat" 20; // bmp=20; jpg=8; tiff=3 + + // This is because the first time the window appears, everything gets deselected (?!!). + select -r $selection; + showWindow poseLibCreateNewPoseWindow; + print "Ready to capture icon..."; + } + +// ==================== +// Do icon preview +// ==================== +global proc poseLibDoIconPreview () + { + global int $poseLibIconsSize[]; + + setAttr -type "string" defaultHardwareRenderGlobals.filename "iconTmp"; + setAttr -type "string" defaultHardwareRenderGlobals.resolution ( $poseLibIconsSize[0] + "x" + $poseLibIconsSize[1] + " " + $poseLibIconsSize[0] + " " + $poseLibIconsSize[1] + " 1.0"); + + // Set the correct frame number to render (the current one). + float $tmp = `currentTime -q`; //print ("\ntmp = " + $tmp); + int $prout = `glRender -q -fs`; //print ("\nprout = " + $prout); + + glRender -e -fs $tmp; + glRender -e -ti 0 -aam "gaussian" -rs hardwareRenderViewBis; + + window -e -rtf true -w 10 -h 10 poseLibCreateNewPoseWindow; + rowLayout -e -adj 1 -cw2 ($poseLibIconsSize[0]) 150 iconCaptureRL; //print ("$poseLibIconsSize[0] = " + $poseLibIconsSize[0] + "\n"); + frameLayout -e -width ($poseLibIconsSize[0] - 6) -height ($poseLibIconsSize[1] + 4) -cl false -cll false -m on iconCameraFrame; + } + +// ======================= +// Do create new pose +// ======================= +global proc poseLibDoCreateNewPose () + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $selection[] = `ls -l -sl`; + string $theAttributes[] = {}; + + if ( size($selection) == 0 ) + { + warning " ---> Please select the character's controls first!\n"; + return; + } + + //---------------------- + // 1- Get pose name. + //---------------------- + string $nameTmp = `textFieldGrp -q -tx setNameField`; + string $name = `strip $nameTmp`; + string $checkName = `match "[$%\\/#@.:;?!\"\'\`]" $name`; + + if ( (`size $checkName` > 0) || (`size $name` == 0) ) + { + error "You must enter a valid name, without any of these: \" $ % \\ / # @ . :; ? ! \' \`"; + return; + } + + //--------------------------------- + // 2- Check if file already exists. + //--------------------------------- + string $newPoseFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $name; + + if ( `file -q -ex $newPoseFile` ) + { + string $result = `confirmDialog + -title "Confirm Save Pose" + -message ( "Overwrite the existing pose: " + $newPoseFile + " ?" ) -ma "center" + -button "Yes" -button "No" + -defaultButton "Yes" -cancelButton "No" + -dismissString "No"`; + + if ($result == "No") + { + error "---> The pose has NOT been saved!!!"; + return; + } + } + + //--------------------------------- + // 3- Write down pose file. + //--------------------------------- + int $fileId=`fopen $newPoseFile "w"`; + int $i, $k; + + for ($i=0;$i<`size $selection`;$i++) + { + // Get the list of attributes to save. + select -r $selection[$i]; + $theAttributes = `listAttr -k -s`;//print ($selection[$i] + "\n"); + + // Get the short name of the control. + string $selection[] = `ls -l -sl`; + string $buffer1[]; + int $numTokens = `tokenize $selection[0] "|" $buffer1`; //print ($buffer1[`size $buffer1`-1]); + string $shortNameTmp = $buffer1[`size $buffer1`-1]; + + // Check if the control has a namespace... + string $buffer2[]; + $numTokens = `tokenize $shortNameTmp ":" $buffer2`; //print ($buffer2[`size $buffer2`-1]); + + // ... And remove it if it does. + string $controlName = ($buffer2[`size $buffer2`-1]); //print ("\n$controlName = " + $controlName); + + // Are we dealing with a blendshape? + string $showType[] = `ls -st -sl`; //print ( $selection[$i] + "is of type:" + $showType[1] + "\n"); + + if ( $showType[1] == "blendShape" ) + { + // Write down the lines in the pose file. + fwrite $fileId ( "\n" + $controlName + " envelope " + `blendShape -q -envelope` ); + string $listOfTargets[] = `aliasAttr -q $selection[0]`; + fwrite $fileId ( "\n" + $controlName + " " + $listOfTargets[0] + " " + (`getAttr ($selection[0] + "." + $listOfTargets[0])`) ); + } + + else + { + // Write down the line in the pose file. + for ($k=0;$k<`size $theAttributes`;$k++) + { + fwrite $fileId ( "\n" + $controlName + " " + $theAttributes[$k] + " " + (`getAttr ($selection[0]+"."+$theAttributes[$k])`) );//print ( "\n" + $selection[$i] + "." + $theAttributes[$k] ); + } + } + } + fclose $fileId; + + //-------------------------------------------------------------------- + // 4- Copy icon file from maya default "image" dir to the poselib dir. + //-------------------------------------------------------------------- + int $frame = `currentTime -q`; + + if ( $frame < 0 ) + { + currentTime 1; + $frame = 1; + warning "==> poseLib doesn't work with negative frame numbers (e.g.: Current time frame has to be 1 or higher). Sorry..."; + } + + //string $currentImagePath = `workspace -q -rd` + "images/"; print ( "\n$currentImagePath = " + $currentImagePath ); + string $ws = `workspace -q -fullName`; //print ( "\n$ws = " + $ws ); + string $imagesDir = `workspace -q -renderTypeEntry "images"`; //print ( "\n$imagesDir = " + $imagesDir ); + string $currentImagePath = ""; + string $newPoseIconFileTmp = ""; + + // This is in the case the "images" directory path is an absolute path (e.g.: C:/blah...). + string $buffer[]; + int $numTokens = `tokenize $imagesDir ":" $buffer`; //print ($buffer[`size $buffer`-1]); + + if ( $buffer[1] == "" ) + { + $currentImagePath = $ws + "/" + $imagesDir + "/"; //print ( "\n$currentImagePath = " + $currentImagePath ); + } + else + { + $currentImagePath = $imagesDir + "/"; //print ( "\n$currentImagePath = " + $currentImagePath ); + } + + string $newPoseIconFileTmp = $currentImagePath + "iconTmp." + $frame + ".bmp"; //print ( "\n$newPoseIconFileTmp = " + $newPoseIconFileTmp ); + string $newPoseIconFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $name + ".bmp"; //print ( "\n$newPoseIconFile = " + $newPoseIconFile ); + + sysFile -copy $newPoseIconFile $newPoseIconFileTmp; + + //--------------------------------- + // 5- Clean-up behind us. + //--------------------------------- + clear $theAttributes; + sysFile -delete $newPoseIconFileTmp; + + // Update the poses. + poseLibRefreshPoseList; + + deleteUI poseLibCreateNewPoseWindow; + //delete SnapShotCamera; + select -r $selection; + sysFile -copy $newPoseIconFile $newPoseIconFileTmp; + print ( "poseLib: Created new pose \"" + $name + "\"\n" ); + } + +// ========================================== +// Move pose update category option menu +// ========================================== +global proc poseLibMoveCopyUpdateMenu( string $defaultPathTmp ) + { + string $characterName = `optionMenu -q -v characterChoiceOMtmp`; + string $categoryName = `optionMenu -q -v categoryChoiceOMtmp`; + string $allCategoryDirsTmp[] = `getFileList -folder ($defaultPathTmp + $characterName + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCategoryDirs[] = {}; + int $numberOfCategoriesTmp = `optionMenu -q -ni categoryChoiceOMtmp`; + + int $i; + for ($i=0;$i<`size $allCategoryDirsTmp`;$i++) + { + if ( `match ".deleted" $allCategoryDirsTmp[$i]` != ".deleted" ) + $allCategoryDirs = stringArrayCatenate ( $allCategoryDirs, { $allCategoryDirsTmp[$i] } ); + } + + for ($i=0;$i<$numberOfCategoriesTmp;$i++) + { + deleteUI ("categoryMItmp_" + $i + "_"); + } + + optionMenu -e categoryChoiceOMtmp; + for ($i=0;$i<`size $allCategoryDirs`;$i++) + { + menuItem -label $allCategoryDirs[$i] -p categoryChoiceOMtmp categoryMItmp[$i]; //print ("\nlabel = " + $poseLibCategoryList[$i] + " control = categoryMI_" + $i + "_" ); + } + + if ( `optionMenu -q -ni categoryChoiceOMtmp` > 1 ) + { + optionMenu -e -sl 2 categoryChoiceOMtmp; + optionMenu -e -sl 1 categoryChoiceOMtmp; + } + } + +// ============== +// Rename pose +// ============== +global proc poseLibRenamePose ( int $controlNumber ) + { + if (`window -exists poseLibRenamePoseWindow` ) + deleteUI poseLibRenamePoseWindow; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + window -tlb off -w 300 -h 85 -title "Rename Pose" poseLibRenamePoseWindow; + columnLayout; + textFieldGrp -cw2 50 150 -l "Name" -tx $poseName setNameField; + rowColumnLayout -nc 2 -cs 2 2 -cw 1 100 -cw 2 100; + button -w 100 -l "Apply" -al "center" -c ("poseLibDoRenamePose ( \"" + $poseName + "\" )"); + button -w 100 -l "Close" -al "center" -c "deleteUI poseLibRenamePoseWindow"; + + if ( $poseName != "" ) + showWindow poseLibRenamePoseWindow; + else + warning " ---> Please select a pose first!\n"; + } + +// ================== +// Do rename pose +// ================== +global proc poseLibDoRenamePose ( string $nameTmp ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $softPoseToRename = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $nameTmp; + + string $newName = `textFieldGrp -q -tx setNameField`; + string $newPoseFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName; + + if ( `file -q -ex $newPoseFile` ) + { + string $result = `confirmDialog + -title "Confirm Rename Pose" + -message ( "There is already a pose with this name!" ) -ma "center" + -button "Overwrite It" -button "Cancel" + -defaultButton "Overwrite It" -cancelButton "Cancel" + -dismissString "Cancel"`; + + if ($result == "Overwrite It") + { + sysFile -rename ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName) $softPoseToRename; //print ( "\noldName= " + $nameTmp + "\nnewName= " + $newName ); + + string $softPoseIconToRename = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $nameTmp + ".bmp"; + sysFile -rename ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName + ".bmp") $softPoseIconToRename; + + deleteUI poseLibRenamePoseWindow; + poseLibRefreshPoseList; + + print ( "poseLib: Renamed pose \"" + $nameTmp + "\" to \"" + $newName + "\"\n" ); + } + } + else + { + sysFile -rename ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName) $softPoseToRename; //print ( "\noldName= " + $nameTmp + "\nnewName= " + $newName ); + + string $softPoseIconToRename = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $nameTmp + ".bmp"; + sysFile -rename ($poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $newName + ".bmp") $softPoseIconToRename; + + deleteUI poseLibRenamePoseWindow; + poseLibRefreshPoseList; + + print ( "poseLib: Renamed pose \"" + $nameTmp + "\" to \"" + $newName + "\"\n" ); + } + } + +// ============= +// Move pose +// ============= +global proc poseLibMovePose ( int $controlNumber ) + { + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + global string $poseLibCategoryList[]; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + if ( $poseName != "" ) + { + if (`window -exists poseLibMovePoseWindow` ) + deleteUI poseLibMovePoseWindow; + + window -tlb off -w 300 -h 85 -title ("Move Pose -> " + $poseName) poseLibMovePoseWindow; + columnLayout; + text -al "center" " Where do you want to move this pose?"; + separator -style "in" -w 305 -h 10; + setParent..; + rowLayout -nc 2 -cw2 150 160; + + optionMenu -h 29 -w 150 -label " Character:" -cc "poseLibMoveCopyUpdateMenu ( ($poseLibDefaultPath + \"/\") )" characterChoiceOMtmp; + + string $c; + for ( $c in $poseLibCharacterList ) + { + menuItem -label $c; + } + + optionMenu -h 29 -w 160 -label " Category:" categoryChoiceOMtmp; + + int $i; + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + menuItem -label $poseLibCategoryList[$i] -p categoryChoiceOMtmp categoryMItmp[$i]; + } + setParent.. ; + + optionMenu -e -v (`optionMenu -q -v characterChoiceOM`) characterChoiceOMtmp; + optionMenu -e -v (`optionMenu -q -v categoryChoiceOM`) categoryChoiceOMtmp; + + rowLayout -nc 2 -cw2 150 163; + button -w 147 -l " Apply" -al "left" -c ("poseLibDoMovePose ( \"" + $poseName + "\" )"); + button -w 154 -l " Cancel" -al "left" -c "deleteUI poseLibMovePoseWindow"; + + showWindow poseLibMovePoseWindow; + } + else + warning " ---> Please select a pose first!\n"; + } + +// =============== +// Do move pose +// =============== +global proc poseLibDoMovePose ( string $poseName ) + { + global string $poseLibDefaultPath; + string $originCharacterName = `optionMenu -q -v characterChoiceOM`; //print ( "\n $originCharacterName = " + $originCharacterName ); + string $originCategoryName = `optionMenu -q -v categoryChoiceOM`; //print ( "\n $originCategoryName = " + $originCategoryName ); + string $destinationCharacterName = `optionMenu -q -v characterChoiceOMtmp`; //print ( "\n $destinationCharacterName = " + $destinationCharacterName ); + string $destinationCategoryName = `optionMenu -q -v categoryChoiceOMtmp`; //print ( "\n $destinationCategoryName = " + $destinationCategoryName ); + + if ( (($destinationCharacterName == $originCharacterName) && ($destinationCategoryName != $originCategoryName)) + || ($destinationCharacterName != $originCharacterName) ) + { + string $softPoseOrigin = $poseLibDefaultPath + "/" + $originCharacterName + "/" + $originCategoryName + "/" + $poseName; + string $softPoseDestination = $poseLibDefaultPath + "/" + $destinationCharacterName + "/" + $destinationCategoryName + "/" + $poseName; + + string $softPoseIconOrigin = $poseLibDefaultPath + "/" + $originCharacterName + "/" + $originCategoryName + "/" + $poseName + ".bmp"; + string $softPoseIconDestination = $poseLibDefaultPath + "/" + $destinationCharacterName + "/" + $destinationCategoryName + "/" + $poseName + ".bmp"; + + sysFile -move $softPoseDestination $softPoseOrigin; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + sysFile -move $softPoseIconDestination $softPoseIconOrigin; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + deleteUI poseLibMovePoseWindow; + poseLibRefreshPoseList; + print ( "poseLib: Moved selected pose to: " + $destinationCharacterName + "/" + $destinationCategoryName +"\n"); + } + else + warning " ---> The selected pose already belongs to this character AND category!\n"; + } + +// ============== +// Delete pose +// ============== +global proc poseLibDeletePose ( int $controlNumber ) + { + global string $poseLibDefaultPath; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $confirmDeleteWindow = ""; + + $confirmDeleteWindow = `confirmDialog -p poseLibWindow -title ("Confirm Delete Pose") -message ("Are you sure you want to delete: \"" + $poseName + "\" ?") -button "Yes" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel"`; + + if ( $confirmDeleteWindow == "Yes" ) + { + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $softPoseToDelete = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; + string $softPoseIconToDelete = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName + ".bmp"; + + // sysFile -delete $softPoseToDelete; print ("\n$Deleted pose: " + $softPoseToDelete); + // --> Well, actually let's make a backup of the file rather than delete it. + sysFile -rename ($softPoseToDelete + ".deleted") $softPoseToDelete; print ("poseLib: Deleted pose: " + $softPoseToDelete +"\n"); + + if ( `filetest -r $softPoseIconToDelete` ) + sysFile -delete $softPoseIconToDelete; //print ("\n$Deleted pose: " + $softPoseToDelete); + + poseLibRefreshPoseList; + } + + else + print "poseLib: Did nothing..."; + } + +// =============== +// Replace pose +// =============== +global proc poseLibReplacePose ( int $controlNumber ) + { + global string $poseLibDefaultPath; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $confirmDeleteWindow = ""; + + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $selection[] = `ls -l -sl`; + string $theAttributes[] = {}; + + if ( size($selection) == 0 ) + { + warning " ---> Please select the character's controls first!\n"; + return; + } + + //---------------------- + // 1- Get pose name. + //---------------------- + string $confirmReplaceWindow = `confirmDialog -p poseLibWindow -title "Confirm Replace Pose" -message ("Are you sure you want to replace: \"" + $poseName + "\" ?") -button "Yes" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel"`; + + if ( $confirmReplaceWindow == "Yes" ) + { + //------------------------------------------------------ + // 2- Write down pose file (no need to change the icon). + //------------------------------------------------------ + string $newPoseFile = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; + + // do a backup before messing with the pose (you never know) + sysFile -copy ($newPoseFile + ".deleted") $newPoseFile; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + int $fileId=`fopen $newPoseFile "w"`; + + int $i, $k; + for ($i=0;$i<`size $selection`;$i++) + { + // Get the list of attributes to save. + select -r $selection[$i]; + $theAttributes = `listAttr -k -s`;//print ($selection[$i] + "\n"); + + // Get the short name of the control. + string $selection[] = `ls -l -sl`; + string $buffer1[]; + int $numTokens = `tokenize $selection[0] "|" $buffer1`; //print ($buffer1[`size $buffer1`-1]); + string $shortNameTmp = $buffer1[`size $buffer1`-1]; + + // Check if the control has a namespace... + string $buffer2[]; + $numTokens = `tokenize $shortNameTmp ":" $buffer2`; //print ($buffer2[`size $buffer2`-1]); + + // ... And remove it if it does. + string $controlName = ($buffer2[`size $buffer2`-1]); //print ("\n$controlName = " + $controlName); + + // Are we dealing with a blendshape? + string $showType[] = `ls -st -sl`; + + if ( $showType[1] == "blendShape" ) + { + // Write down the lines in the pose file. + fwrite $fileId ( "\n" + $controlName + " envelope " + `blendShape -q -envelope` ); + string $listOfTargets[] = `aliasAttr -q $selection[0]`; + fwrite $fileId ( "\n" + $controlName + " " + $listOfTargets[0] + " " + (`getAttr ($selection[0] + "." + $listOfTargets[0])`) ); + } + + else + { + // Write down the line in the pose file. + for ($k=0;$k<`size $theAttributes`;$k++) + { + fwrite $fileId ( "\n" + $controlName + " " + $theAttributes[$k] + " " + (`getAttr ($selection[0]+"."+$theAttributes[$k])`) );//print ( "\n" + $selection[$i] + "." + $theAttributes[$k] ); + } + } + } + fclose $fileId; + + //----------------------------- + // 3- Clean-up behind us. + //----------------------------- + clear $theAttributes; + select -r $selection; + + poseLibRefreshPoseList; + print ( "poseLib: Replaced pose \"" + $poseName + "\"\n" ); + } + + else + print "poseLib: Did nothing -> Aborted by user."; + } + +// ========================= +// Select pose controls +// ========================= +global proc poseLibSelectPoseControls ( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $actualControlName[] = {}; + string $controlsToSelect[] = {}; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + // --------------------------------------------------- + // 1- Read the pose file to get all the control names + // --------------------------------------------------- + int $fileId=`fopen $poseFilePath "r"`; + string $controlName = `fgetline $fileId`; + string $alreadyDone = ""; + string $consTmp = ""; + string $controlsToSelect[] = {}; + string $array[] = {}; + + while ( size( $controlName ) > 0 ) + { + $controlName = `fgetword $fileId`; //print $controlName; + string $attributeName = `fgetword $fileId`; //print $attributeName; + string $attributeValue = `fgetword $fileId`; //print $attributeValue; + string $checkTmp = $controlName; + + if ( $checkTmp != $alreadyDone ) + $controlsToSelect = stringArrayCatenate ( $controlsToSelect, { $controlName } ); + + $alreadyDone = $checkTmp; + } + fclose $fileId; + + // -------------------------- + // 2- Select the controls + // -------------------------- + string $namespace = ""; + int $didSomething = 0; + + int $i; + for ($i=0;$i<`size $controlsToSelect`;$i++) + { + // If we're in ref mode, add the namespace to the control name. + if ( `checkBox -q -v useNamespaceCB` ) + { + if ( `checkBox -q -v useCurrentCharacterCB` ) + $namespace = $characterName + ":"; //print ($namespace + "\n"); + + else + $namespace = `textField -q -tx namespaceTextFieldTF` + ":"; + + $controlsToSelect[$i] = $namespace + $controlsToSelect[$i]; + } + + if ( `objExists $controlsToSelect[$i]` ) + { + select -add $controlsToSelect[$i]; + $didSomething = 1; //print ("\n$controlsToSelect[$i]=" + $controlsToSelect[$i] ); + } + } + + if ( $didSomething == 0 ) + warning " ---> Could not find the controls! (check reference mode)\n"; + else + print "poseLib: Selected pose controls done!\n"; + } + +// ================================== +// Add/replace selected controls +// ================================== +global proc poseLibAddReplaceSelectedControls( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + string $selection[] = `ls -l -sl`; + string $controlsToAdd[] = `ls -l -sl`; + string $array[] = {}; + + string $confirmAddControlsWindow; + if ( $controlsToAdd[0] != "" ) + $confirmAddControlsWindow = `confirmDialog -title "Confirm" -message "Are you sure you want to Add/Replace the selected control(s) in this pose?" -button "Yes" -button "No" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel" -dismissString "No"`; + else + warning " ---> Please select controls first!\n"; + + // Get control short name and remove potential namespace. + string $controlsToAdd[] = `ls -l -sl`; + + int $i; + for ($i=0;$i<`size $controlsToAdd`;$i++) + { + string $buffer[]; + int $numTokens = `tokenize ($controlsToAdd[$i]) "|:" $buffer`; //print $buffer[`size $buffer` -1]; + + $controlsToAdd[$i] = $buffer[`size $buffer` -1]; + } + + // The way this works is: We create a temporary new pose file, and fill-it up line after + // line, while parsing through the original, in order to create the new file (without the undesirable controls)... + string $softPoseToTweak = $poseFilePath; + string $softNewPosePath = $poseFilePath + ".TMP"; + + // First, remove the controls to add/replace (we'll add them at the end of the file)... + if ( $confirmAddControlsWindow == "Yes" ) + { + int $fileId1=`fopen $softPoseToTweak "r"`; + int $fileId2=`fopen $softNewPosePath "w"`; + + // Do a backup of the pose file before messing with the controls (you never know)... + sysFile -copy ($softPoseToTweak + ".deleted") $softPoseToTweak; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + string $controlName = `fgetline $fileId1`; + string $previouslyWritten = ""; + int $didSomething = 0; + + while ( !`feof $fileId1` ) + { + $controlName = `fgetword $fileId1`; //print $controlName; + string $attributeName = `fgetword $fileId1`; //print $attributeName; + float $attributeValue = `fgetword $fileId1`; //print $attributeValue; + + int $check = 0; + + string $c; + for ( $c in $controlsToAdd ) + { + if ( $c == $controlName ) + { + $check = 1; + + if ( $previouslyWritten != $c ) + { + print ("poseLib: Added/Replaced \"" + $c + "\" in \"" + $poseName + "\"\n" ); + $previouslyWritten = $c; + } + } + } + + if ( $check == 0 ) + fwrite $fileId2 ( "\n" + $controlName + " " + $attributeName + " " + $attributeValue ); + } + + // ... Now, add the selected controls at the end of the file. + for ($i=0;$i<`size $selection`;$i++) + { + select -r $selection[$i]; + string $theAttributes[] = `listAttr -k`; + + // Get the short name of the control. + string $selection[] = `ls -l -sl`; + string $buffer1[]; + int $numTokens = `tokenize $selection[0] "|" $buffer1`; //print ($buffer1[`size $buffer1`-1]); + string $shortNameTmp = $buffer1[`size $buffer1`-1]; + + // Check if the control has a namespace... + string $buffer2[]; + $numTokens = `tokenize $shortNameTmp ":" $buffer2`; //print ($buffer2[`size $buffer2`-1]); + + // ... And remove it if it does. + string $controlName = ($buffer2[`size $buffer2`-1]); //print ("\n$controlName = " + $controlName); + + // Are we dealing with a blendshape? + string $showType[] = `ls -st -sl`; //print ( $selection[$i] + "is of type:" + $showType[1] + "\n"); + + if ( $showType[1] == "blendShape" ) + { + // Write down the lines in the pose file. + fwrite $fileId2 ( "\n" + $controlName + " envelope " + `blendShape -q -envelope` ); + string $listOfTargets[] = `blendShape -q -t`; + fwrite $fileId2 ( "\n" + $controlName + " " + $listOfTargets[0] + " " + (`getAttr ($selection[$i] + "." + $listOfTargets[0])`) ); + $didSomething = 1; + } + + else + { + int $j; + for ($j=0;$j<`size $theAttributes`;$j++) + { + fwrite $fileId2 ( "\n" + $controlsToAdd[$i] + " " + $theAttributes[$j] + " " + `getAttr ($selection[$i]+"."+$theAttributes[$j])`); + $didSomething = 1; + } + } + } + + fclose $fileId1; + fclose $fileId2; + + // Now we delete the original file and rename the copy to take it's place. + sysFile -delete $softPoseToTweak; //print ("\n$Deleted pose: " + $softPoseToDelete); + sysFile -rename $softPoseToTweak $softNewPosePath; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + select -r $selection; + + if ( $didSomething == 1 ) + print "poseLib: Selected control(s) have been Added/Replaced in pose! (see script editor for details)\n"; + else + warning "--> Did nothing!\n"; + } + } + +// ============================ +// Remove selected controls +// ============================ +global proc poseLibRemoveSelectedControls( int $controlNumber ) + { + global string $poseLibDefaultPath; + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + + string $controlsToRemove[] = `ls -l -sl`; + string $array[] = {}; + + string $confirmRemoveControlsWindow; + + if ( $controlsToRemove[0] != "" ) + $confirmRemoveControlsWindow = `confirmDialog -title "Confirm" -message "Are you sure you want to Remove the selected control(s) from this pose?" -button "Yes" -button "No" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel" -dismissString "No"`; + else + warning " ---> Please select controls first!\n"; + + // Get control short name and remove potential namespace. + string $controlsToRemove[] = `ls -l -sl`; + + int $i; + for ($i=0;$i<`size $controlsToRemove`;$i++) + { + string $buffer[]; + int $numTokens = `tokenize ($controlsToRemove[$i]) "|:" $buffer`; //print $buffer[`size $buffer` -1]; + + $controlsToRemove[$i] = $buffer[`size $buffer` -1]; + } + + // The way this works is: We create a temporary new pose file, and fill-it up line after + // line, while parsing through the original, in order to create the new file (without the undesirable controls)... + string $softPoseToTweak = $poseFilePath; + string $softNewPosePath = $poseFilePath + ".TMP"; + + if ( $confirmRemoveControlsWindow == "Yes" ) + { + int $fileId1=`fopen $softPoseToTweak "r"`; + int $fileId2=`fopen $softNewPosePath "w"`; + + // Do a backup of the pose file before messing with the controls (you never know)... + sysFile -copy ($softPoseToTweak + ".deleted") $softPoseToTweak; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + string $controlName = `fgetline $fileId1`; + string $previouslyWritten = ""; + int $didSomething = 0; + + while ( !`feof $fileId1` ) + { + $controlName = `fgetword $fileId1`; //print $controlName; + string $attributeName = `fgetword $fileId1`; //print $attributeName; + float $attributeValue = `fgetword $fileId1`; //print $attributeValue; + + int $check = 0; + + string $c; + for ( $c in $controlsToRemove ) + { + if ( $c == $controlName ) + { + $check = 1; + + if ( $previouslyWritten != $c ) + { + print ("poseLib: Removed \"" + $c + "\" from \"" + $poseName + "\"\n" ); + $previouslyWritten = $c; + $didSomething = 1; + } + } + } + + if ( $check == 0 ) + fwrite $fileId2 ( "\n" + $controlName + " " + $attributeName + " " + $attributeValue ); + } + fclose $fileId1; + fclose $fileId2; + + // Now we delete the original file and rename the copy to take it's place. + sysFile -delete $softPoseToTweak; //print ("\n$Deleted pose: " + $softPoseToDelete); + sysFile -rename $softPoseToTweak $softNewPosePath; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + if ( $didSomething == 1 ) + print "poseLib: Selected control(s) have been removed from pose! (see script editor for details)\n"; + else + warning "--> The selected controls were NOT a part of this pose!\n"; + } + } + +// ============= +// Apply pose +// ============= +global proc poseLibApplyPose ( int $controlNumber ) + { + // Is the ALT key pressed? + int $altKeyDown = 0; + int $getModifiers = `getModifiers`; + + if ( ($getModifiers == 8) || ($getModifiers == 4) ) + { + //print ("mod down and we have an inverse increment val of "+ $poseLibApplyIncrement +"\n"); // ALT key down x% + $altKeyDown = 1; // to pass into the value mult operation + } + + string $poseNameTmp = `shelfButton -q -l ("poseButton_" + $controlNumber + "_")`; + string $poseName = `strip $poseNameTmp`; //print ("\n$poseName=" + $poseName ); + + poseLibDoApplyPose ( $poseName, $altKeyDown ); + } + +// ================= +// Do apply pose +// ================= +global proc poseLibDoApplyPose( string $poseName, int $altKeyDown ) + { + global string $poseLibDefaultPath; + global float $poseLibApplyIncrement; // KDL hack for alt key + + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; + string $selection[] = `ls -l -sl`; + string $poseFilePath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/" + $poseName; //print ("\n$poseFilePath="+$poseFilePath); + string $namespace = ""; + string $array[] = {}; + + // This is here for backward compatibility with previous poseLib versions (where attribute names were saved as "long"). + string $selectedChannels[] = `channelBox -q -sma "mainChannelBox"`; //print $selectedChannels; + + for ($i=0;$i<`size $selectedChannels`;$i++) + { + string $defaultObjectPlusAttribute = $selection[0] + "." + $selectedChannels[$i]; + string $longObjectPlusAttribute = `longNameOf($defaultObjectPlusAttribute)`;// print ( $longObjectPlusAttribute + "\n" ); + + string $buffer[]; + int $numTokens = `tokenize $longObjectPlusAttribute "." $buffer`; //print $buffer[1]; + + $selectedChannels[$i] = $buffer[1]; + } + + // Parse through the pose file. + if ( `filetest -r $poseFilePath` ) + { + // Open pose file. + int $fileId=`fopen $poseFilePath "r"`; + string $controlName = `fgetline $fileId`; // This is because the first line is empty. + + // In order to know what's selected when the user clicks on the button. + string $poseLibApplyPoseCommand = "string $poseName = \"" + $poseName + "\"; int $didSomething = 0; "; + string $currentSelection[] = `ls -l -sl`; + + // If we're in ref mode, add the namespace to the control name. + if ( `checkBox -q -v useNamespaceCB` ) + { + if ( `checkBox -q -v useCurrentCharacterCB` ) + $namespace = $characterName + ":"; //print ($namespace + "\n"); + + else if ( !`checkBox -q -v useCurrentCharacterCB` ) + $namespace = `textField -q -tx namespaceTextFieldTF` + ":"; + } + + waitCursor -state on; + + // For every line in the pose file: + while ( !`feof $fileId` ) + { + $controlName = `fgetword $fileId`; + $controlName = $namespace + $controlName; //print ("\n$controlName = " + $controlName); + + string $attributeName = `fgetword $fileId`; //print ($attributeName + "\n"); + string $attributeValue = `fgetword $fileId`; //print ($attributeValue + "\n"); + + string $parsing[] = `ls -sl $controlName`; + string $multiple[] = `ls $controlName`; + + // Match the selected channel(s) with the one in the pose. + if ( stringArrayContains($attributeName, $selectedChannels) || $selectedChannels[0] == "" ) + { + // If the ALT key is pressed, then set a fraction of the pose. + if ( $altKeyDown ) + { + // First get the attribute name. + string $currentAttributeValueAsString; + + if ( ($parsing[0] != "" && $currentSelection[0] != "") && (`objExists ($parsing[0] + "." + $attributeName)`) && (`getAttr -se ($controlName + "." + $attributeName)`) ) + $currentAttributeValueAsString = `getAttr ($parsing[0] + "." + $attributeName)`; + + else if ( ($currentSelection[0] == "") && (`objExists ($controlName + "." + $attributeName)`) && ($multiple[1] == "") && (`getAttr -se ($controlName + "." + $attributeName)`) ) + $currentAttributeValueAsString = `getAttr ($controlName + "." + $attributeName)`; + + float $currentAttrFloat = $currentAttributeValueAsString; // turns the string into a float if possible + string $gPassOnVal = $attributeValue; // capture pose val string for later if it can't float + float $valFloat = $attributeValue; // convert the pose doc val string to a float if you can + + if (($currentAttrFloat >= 0) || ($currentAttrFloat <= 0)) // if the string is a number of some kind and not just a 0 + { + float $valDifference = ($currentAttrFloat - $valFloat); //get the difference in values between what is currne tnd what is in the pose + float $modAttrVal = ($valDifference * $poseLibApplyIncrement); // multiply the value difference by the increment + float $currValPlusModVal = ($valFloat + $modAttrVal); // add the current value plus the incremented value to get the modified value to pass along + string $gPassOnVal = $currValPlusModVal; // get the modified value into a string form + $attributeValue = $gPassOnVal; // pass on the results + } + } + + // Add to the existing command to be executed later all at once. + if ( ($parsing[0]!="" && $currentSelection[0]!="") && (`objExists ($parsing[0] + "." + $attributeName)`) && (`getAttr -se ($controlName + "." + $attributeName)`) ) + $poseLibApplyPoseCommand = $poseLibApplyPoseCommand + " setAttr " + $parsing[0] + "." + $attributeName + " " + $attributeValue + "; $didSomething = 1;"; + + else if ( ($currentSelection[0] == "") && (`objExists ($controlName + "." + $attributeName)`) && ($multiple[1] == "") && (`getAttr -se ($controlName + "." + $attributeName)`) ) + $poseLibApplyPoseCommand = $poseLibApplyPoseCommand + " setAttr " + $controlName + "." + $attributeName + " " + $attributeValue + "; $didSomething = 1;"; + } + } + //print ("\n$poseLibApplyPoseCommand = " + $poseLibApplyPoseCommand); + + fclose $fileId; + + // This is to warn the user in the case nothing was accomplished. + string $amountTmp = "100% of"; + string $mentionTheChannels = ""; + + if ( $selectedChannels[0] != "" ) + $mentionTheChannels = "of selected channel(s) for "; + + if ( $altKeyDown == 1) + $amountTmp = "Increment"; + + $poseLibApplyPoseCommand = $poseLibApplyPoseCommand + "if ($didSomething == 0) warning \"poseLib: ==> Nothing happened! <== (please refer to script editor for possible reasons)\\n\\n1) Your current selection might not part of this pose.\\n2) Maybe the Ref/Unref choice is wrong.\\n3) There might be two or more controls with the exact same name in your scene. (in this case, just select the one you want to pose)\"; else print (\"poseLib: " + $amountTmp + " " + $mentionTheChannels + "pose -->\" + $poseName + \"<-- done!\")"; + + catch( `eval( $poseLibApplyPoseCommand )` ); + } + else + error ( "poseLib: The file " + $poseFilePath + " can not be found!"); + + setFocus `getPanel -wf`; + + waitCursor -state off; + } + +// =================== +// RefreshPoseList +// =================== +global proc poseLibRefreshPoseList() + { + global string $poseLibDefaultPath; + global string $poseLibCategoryList[]; + global int $realNumber; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + + string $characterName = `optionMenu -q -v characterChoiceOM`; + string $categoryName = `optionMenu -q -v categoryChoiceOM`; //print ("poseLib: $categoryName = " + $categoryName +"\n"); + string $allCategoryDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/" + $characterName + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCategoryDirs[] = {}; + + if ( $poseLibIconsSize[0] < 32 ) + { + $poseLibIconsSize[0] = 50; + $poseLibIconsSize[1] = 50; + } + + if ( $poseLibIconsBackgroundColor == "" ) + $poseLibIconsBackgroundColor = "iconsBackgroundColorWhiteIRB"; + + // --------------------------------- + // 1- Filter out what can be shown + // --------------------------------- + int $i; + for ($i=0;$i<`size $allCategoryDirsTmp`;$i++) + { + if ( `match ".deleted" $allCategoryDirsTmp[$i]` != ".deleted" ) + $allCategoryDirs = stringArrayCatenate ( $allCategoryDirs, { $allCategoryDirsTmp[$i] } ); + } + + // --------------------------------------- + // 2- Update the category option menus + // --------------------------------------- + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + deleteUI ("categoryMI_" + $i + "_"); + } + + $poseLibCategoryList = $allCategoryDirs; + + optionMenu -e -h 28 -w 180 -label "Category:" -cc "poseLibRefreshPoseList" -p optionMenusRow categoryChoiceOM; + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + menuItem -label $poseLibCategoryList[$i] -p categoryChoiceOM categoryMI[$i]; //print ("\nlabel = " + $poseLibCategoryList[$i] + " control = categoryMI_" + $i + "_" ); + } + + string $myIntersector = `stringArrayIntersector`; + stringArrayIntersector -edit -intersect $poseLibCategoryList $myIntersector; + stringArrayIntersector -edit -intersect $categoryName $myIntersector; + string $isItIncluded[] = `stringArrayIntersector -query $myIntersector`; + + if ( $isItIncluded[0] != "" ) + optionMenu -e -h 28 -w 180 -v $categoryName -cc "poseLibRefreshPoseList" -p optionMenusRow categoryChoiceOM; + else + { + if ( $poseLibCategoryList[0] != "" ) + { + optionMenu -e -h 28 -w 180 -v $poseLibCategoryList[0] -cc "poseLibRefreshPoseList" -p optionMenusRow categoryChoiceOM; // print ("poseLib: \"" + $categoryName + "\" category doesn't exist for this character!\n" ); + $categoryName = $poseLibCategoryList[0]; //print ("poseLib: $poseLibCategoryList[0] = " + $poseLibCategoryList[0] +"\n"); + } + } + + if ( (`optionMenu -q -sl categoryChoiceOM` == 1) && (`optionMenu -q -ni categoryChoiceOM` > 1) ) + { + optionMenu -e -m off -sl 2 -p optionMenusRow categoryChoiceOM; // absolutely absurd: if not, first item is shown as last! + optionMenu -e -m on -sl 1 -p optionMenusRow categoryChoiceOM; + } + + //print ("poseLib: character/category = " + $characterName + "/" + $categoryName +"\n"); + string $poseFilesPath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/"; //print ("\n$poseFilesPath="+$poseFilesPath); + string $allPoseFiles[] = `getFileList -folder $poseFilesPath`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $iconsPath = $poseLibDefaultPath + "/" + $characterName + "/" + $categoryName + "/"; //print ("\n$iconsPath="+$iconsPath); + + // ------------------------------ + // 3- Clear previous poses icons. + // ------------------------------ + int $poseLibWindowWidthTmp = `window -q -w poseLibWindow`; + int $poseLibWindowHeightTmp = `window -q -h poseLibWindow`; + + frameLayout -e -m off posesFrameLayoutFL; + + deleteUI iconsFormLayoutFL; + + $form = `formLayout -h 302 -p posesFrameLayoutFL iconsFormLayoutFL`; + $stl = `shelfLayout -m off -st "iconAndTextVertical" -w 300 -cw ($poseLibIconsSize[0] + 5) -ch ($poseLibIconsSize[1] + 23) iconsShelfLayoutSL`; + + formLayout -e + -af $stl left 2 + -af $stl top 2 + -af $stl right 3 + -af $stl bottom 2 $form; + + // ------------------------------ + // 4- Create new poses buttons. + // ------------------------------ + $realNumber = 0; + + int $i; + for ($i=0;$i<`size $allPoseFiles`;$i++) + { + if ( (`match ".bmp" $allPoseFiles[$i]` != ".bmp") && + (`match ".xpm" $allPoseFiles[$i]` != ".xpm") && + (`match ".deleted" $allPoseFiles[$i]` != ".deleted") && + (`match ".bak" $allPoseFiles[$i]` != ".bak") ) + { + float $bgColorTmp[] = {}; + + if ( `gmatch $poseLibIconsBackgroundColor "*Black*"` ) + $bgColorTmp = { 0, 0, 0 }; + + else if ( `gmatch $poseLibIconsBackgroundColor "*DarkGray*"` ) + $bgColorTmp = { .4, .4, .4 }; + + else if ( `gmatch $poseLibIconsBackgroundColor "*LightGray*"` ) + $bgColorTmp = { .7, .7, .7 }; + + else if ( `gmatch $poseLibIconsBackgroundColor "*White*"` ) + $bgColorTmp = { 1, 1, 1 }; + + shelfButton + -style "iconOnly" + -bgc $bgColorTmp[0] $bgColorTmp[1] $bgColorTmp[2] + -parent iconsShelfLayoutSL + -iol $allPoseFiles[$i] + -l $allPoseFiles[$i] + -c ("poseLibApplyPose (" + $realNumber + ")") poseButton[$realNumber]; + + //Add a popup to each shelfButton so we can edit its parameters, or delete it. + popupMenu -button 3 posePopupMenu[$realNumber]; + + menuItem -en on -label "Select Pose Controls" -c ("poseLibSelectPoseControls (" + $realNumber + ")") poseLibSelectPoseControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Rename Pose" -c ("poseLibRenamePose (" + $realNumber + ")") poseLibRenamePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Move Pose" -c ("poseLibMovePose (" + $realNumber + ")") poseLibMovePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Replace Pose" -c ("poseLibReplacePose (" + $realNumber + ")") poseLibReplacePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Delete Pose" -c ("poseLibDeletePose (" + $realNumber + ")") poseLibDeletePosePUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Edit Pose" -subMenu true; + menuItem -en on -label "Add/Replace Selected Control(s)" -c ("poseLibAddReplaceSelectedControls (" + $realNumber + ")") addReplaceControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Remove Selected Control(s)" -c ("poseLibRemoveSelectedControls (" + $realNumber + ")") removeControlsPUM[$realNumber]; + menuItem -divider true; + menuItem -en on -label "Output Pose Info to Script Editor" -c ("poseLibOutputPoseInfo(" + $realNumber + ")") poseLibSelectPoseControlsPUM[$realNumber]; + + setParent ..; + setParent ..; + + //print ($iconsPath + $allPoseFiles[$i] + ".bmp\n"); + + // Assign the icon if it exists. + if ( `filetest -r ($iconsPath + $allPoseFiles[$i] + ".bmp")` ) + shelfButton -e -image1 ($iconsPath + $allPoseFiles[$i] + ".bmp") ("poseButton_" + $realNumber + "_"); + // If there's no icon for the pose, just display a red background. + else + shelfButton -e -bgc .9 .2 0 ("poseButton_" + $realNumber + "_"); + + $realNumber++; + } + } + + // -------------------------- + // 5- Update frame layouts. + // -------------------------- + int $tmp = `frameLayout -q -w posesFrameLayoutFL` / 2.5; + frameLayout -e -m on -li $tmp -l ("Poses: " + $realNumber) -fn "smallFixedWidthFont" -collapsable false -borderStyle "etchedOut" -p mainRowRL posesFrameLayoutFL; + shelfLayout -e -m on iconsShelfLayoutSL; + window -e -w $poseLibWindowWidthTmp -h $poseLibWindowHeightTmp poseLibWindow; + } + +// ========================= +// Edit settings window +// ========================= +global proc poseLibEditOptions () + { + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + global string $poseLibCategoryList[]; + global int $poseLibIconsSize[]; + global string $poseLibIconsBackgroundColor; + global string $poseLibPathsBookmarks[]; + + print "\nOption window: "; + print $poseLibPathsBookmarks; + print "\n"; + + // --------------------- + // Check directories. + // --------------------- + string $allCharDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allCharDirs="+$allCharDirs[0]); + string $allCharDirs[] = {}; + + int $i; + for ($i=0;$i<`size $allCharDirsTmp`;$i++) + { + if ( `match ".deleted" $allCharDirsTmp[$i]` != ".deleted" ) + $allCharDirs = stringArrayCatenate ( $allCharDirs, { $allCharDirsTmp[$i] } ); + } + + $poseLibCharacterList = $allCharDirs; + + // ------------------ + // Build UI layout + // ------------------ + if (`window -exists poseLibEditOptionsWindow` ) + deleteUI poseLibEditOptionsWindow; + + if (`window -exists poseLibCreateNewPoseWindow` ) + deleteUI poseLibCreateNewPoseWindow; + + window -tlb off -rtf on -sizeable true -width 200 -height 350 -title "poseLib - Edit Options" poseLibEditOptionsWindow; + + string $form = `formLayout`; + string $tabs = `tabLayout -innerMarginWidth 1 -innerMarginHeight 1`; + + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "bottom" 0 + -attachForm $tabs "right" 0 + $form; + + string $characterCategoriesUI = `frameLayout -lv off -collapsable false -borderVisible off -w 322 -p $tabs charactersCategoriesOptionsFL`; + + columnLayout -adjustableColumn false -width 500 -p charactersCategoriesOptionsFL mainColumn; + + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn newCharFrame; + columnLayout -adjustableColumn false newCharColumn; + + separator -style "none" -h 2; + textFieldButtonGrp -label "New Character:" -bc "poseLibCreateNewCharacterMenu" -text "" -buttonLabel " Add " -cw3 105 120 50 newCharacterTFG; + separator -style "none" -h 2; + + setParent..; + setParent..; + + separator -style "none" -h 4; + + frameLayout -mw 5 -bv on -lv off -collapsable false -p mainColumn -borderStyle "etchedOut" -w 322 newCatFrame; + columnLayout -adjustableColumn false -w 172 -p newCatFrame newCatColumn; + + separator -style "none" -h 2; + textFieldButtonGrp -label "New Category:" -bc "poseLibCreateNewCategoryMenu" -text "" -buttonLabel " Add " -cw3 105 120 50 newCategoryTFG; + separator -style "none" -h 6; + + rowLayout -nc 2 -cw2 175 160 -p newCatColumn; + + radioCollection forCurrentOrAllCharRB; + radioButton -ann "" -label "For selected character only" -al "left" forCurrentChar; + radioButton -ann "" -label "For every characters" -al "left" forAllChar; + radioCollection -e -sl forCurrentChar forCurrentOrAllCharRB; + + setParent..; + + separator -style "none" -h 2; + setParent..; + setParent..; + + separator -style "none" -h 4; + + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 322 tweakFrame; + + columnLayout -adjustableColumn false tweakColumn; + + rowLayout -nc 2 -cw2 158 158 ; + + text -al "center" -l " Characters:"; + text -al "center" -l " Categories:"; + setParent..; + + rowLayout -nc 2 -cw2 158 158 ; + + textScrollList -fn "boldLabelFont" -ams false -w 150 -h 120 listCharacters; + textScrollList -fn "boldLabelFont" -ams false -w 150 -h 120 listCategories; + setParent..; + + separator -style "none" -h 4; + + rowLayout -nc 2 -cw2 158 158; + + button -w 150 -al "center" -l " Rename Character" -c poseLibRenameCharacterMenu; + button -w 150 -l " Rename Category" -c poseLibRenameCategoryMenu; + setParent..; + + rowLayout -nc 2 -cw2 158 158; + + button -w 150 -l " Delete Character" -c poseLibDeleteCharacterMenu; + button -w 150 -l " Delete Category" -c poseLibDeleteCategoryMenu; + setParent..; + + columnLayout -w 310; + + separator -style "none" -h 4; + button -w 308 -c "deleteUI poseLibEditOptionsWindow" -al "left" -l " Close"; + separator -style "none" -h 4; + setParent..; + setParent..; + + string $displayUI = `frameLayout -lv off -collapsable false -borderVisible off -w 322 -p $tabs displayIconsOptionsFL`; + + columnLayout -adjustableColumn true -width 500 -p displayIconsOptionsFL mainColumn2; + + separator -style "none" -h 2; + frameLayout -mw 5 -bv on -lv on -li 8 -l "Icons Size:" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn2 iconsDisplayFrame; + columnLayout -adjustableColumn true -w 320 iconsDisplayColumn; + + separator -style "none" -h 8; + radioButtonGrp -numberOfRadioButtons 4 -cw4 70 70 90 80 -sl 1 + -labelArray4 "50x50" "64x64" "100x100" "128x128" iconsSizeRB; + + separator -style "in" -h 10; + + rowColumnLayout -numberOfColumns 5 + -columnWidth 1 90 + -columnWidth 2 30 + -columnWidth 3 20 + -columnWidth 4 30 + -columnWidth 5 150; + + checkBox -l "Custom Size:" -onc "intField -e -en on iconsWidthIF; intField -e -en on iconsHeightIF; radioButtonGrp -e -en off iconsSizeRB" + -ofc "intField -e -en off iconsWidthIF; intField -e -en off iconsHeightIF; radioButtonGrp -e -en on iconsSizeRB" customSizeCB; + + intField -v 256 -en off -min 32 -max 512 iconsWidthIF; + text " x"; + intField -v 256 -en off -min 32 -max 512 iconsHeightIF; + + text -bgc .75 .75 .75 " (Min= 32*32 Max=512*512)"; + separator -style "none" -h 4; + + setParent..; + setParent..; + setParent..; + + separator -style "none" -h 4; + frameLayout -mw 5 -bv on -lv on -li 8 -l "Icons Background Color:" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn2 iconsBackgroundColorFrame; + columnLayout -adjustableColumn true -w 320 iconsDisplayColumn; + + separator -style "none" -h 8; + + rowColumnLayout -cs 4 4 -cs 2 4 -cs 3 4 -numberOfColumns 4 + -columnWidth 1 75 + -columnWidth 2 75 + -columnWidth 3 75 + -columnWidth 4 75; + + int $h = 30; + + iconTextRadioCollection iconsBackgroundColorIRC; + iconTextRadioButton -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc 0 0 0 -l "Black" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundColorBlackIRB\"" iconsBackgroundColorBlackIRB; + iconTextRadioButton -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc .4 .4 .4 -l "Dark Gray" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundDarkGrayIRB\"" iconsBackgroundDarkGrayIRB; + iconTextRadioButton -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc .7 .7 .7 -l "Light Gray" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundColorLightGrayIRB\"" iconsBackgroundColorLightGrayIRB; + iconTextRadioButton -sl -mw 6 -mh 6 -h $h -st "iconAndTextVertical" + -bgc 1 1 1 -l "White" + -onc "$poseLibIconsBackgroundColor = \"iconsBackgroundColorWhiteIRB\"" iconsBackgroundColorWhiteIRB; + setParent..; + + separator -style "none" -h 4; + + setParent..; + setParent..; + + separator -style "none" -h 8; + + button -l "Apply and Close" -command "poseLibChangeIconsDisplay"; + separator -style "none" -h 4; + + setParent..; + + string $poseLibFolderUI = `frameLayout -lv off -collapsable false -borderVisible off -w 322 -p $tabs poseLibFolderOptionsFL`; + + columnLayout -adjustableColumn false -width 500 -p poseLibFolderOptionsFL mainColumn3; + + separator -style "none" -h 2; + + frameLayout -mw 5 -bv on -lv on -li 8 -l "Directories Bookmarks:" -collapsable false -borderStyle "etchedOut" -w 322 -p mainColumn3 poseLibFolderFrame; + columnLayout -adjustableColumn false poseLibFolderColumn; + + separator -style "none" -h 2; + + text -l "(Double-click to set path) (DEL key to delete)"; + paneLayout -w 308 -h 110; + textScrollList -numberOfRows 8 + -allowMultiSelection false + -dkc "string $toto[] = `textScrollList -q -si poseLibDirectoriesBookmarksTSL`; textScrollList -e -ri $toto[0] poseLibDirectoriesBookmarksTSL; string $tmpList[] = $poseLibPathsBookmarks; string $tmpItems[] = $toto; $poseLibPathsBookmarks = stringArrayRemove($tmpItems, $tmpList); poseLibSavePrefs;" + -sc "textScrollList -e -ann `textScrollList -q -si poseLibDirectoriesBookmarksTSL` poseLibDirectoriesBookmarksTSL" + -dcc "string $pathTmp[] = `textScrollList -q -si poseLibDirectoriesBookmarksTSL`; browseForFolderCallback( \"yes\", $pathTmp[0], \"typeNothing\" )" + poseLibDirectoriesBookmarksTSL; + setParent..; + + for ($i=0;$i<`size $poseLibPathsBookmarks`;$i++) + { + textScrollList -e -appendPosition 1 $poseLibPathsBookmarks[$i] -si $poseLibDefaultPath poseLibDirectoriesBookmarksTSL; + print ( "Loaded poseLib bookmark: " + $poseLibPathsBookmarks[$i] + "\n"); + } + + text -w 150 -fn "boldLabelFont" -l "Current poseLib Directory:"; + text -bgc .8 .8 .8 -ann ($poseLibDefaultPath + "/") -l ($poseLibDefaultPath + "/") poseLibFolderOptionText; + separator -style "none" -h 2; + checkBox -v 0 -en on -l "Add \"/poseLib/\" at the end of the chosen path." poseLibFolderOptionCB; + separator -style "none" -h 2; + button -w 308 -l "Change Location Of poseLib Directory" -c ("browseForFolder( \"" + $poseLibDefaultPath + "\" )"); + separator -style "none" -h 4; + button -w 308 -l "Open Windows Explorer Here" -c ("string $lastPlaceTmp = `text -q -label poseLibFolderOptionText`; string $lastPlace = toNativePath( $lastPlaceTmp ); system (\"start explorer /n,/e, \" + $lastPlace)"); + separator -style "none" -h 4; + + setParent..; + setParent..; + + separator -style "none" -h 4; + button -w 320 -c "deleteUI poseLibEditOptionsWindow" -al "left" -l " Close"; + setParent..; + + tabLayout -edit + -tabLabel $characterCategoriesUI "Characters/Categories" + -tabLabel $displayUI "Display" + -tabLabel $poseLibFolderUI "Directory" + -st $characterCategoriesUI + $tabs; + + if ( ($poseLibIconsSize[0] == 50) && ($poseLibIconsSize[1] == 50) ) + { + radioButtonGrp -e -sl 1 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else if ( ($poseLibIconsSize[0] == 64) && ($poseLibIconsSize[1] == 64) ) + { + radioButtonGrp -e -sl 2 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else if ( ($poseLibIconsSize[0] == 100) && ($poseLibIconsSize[1] == 100) ) + { + radioButtonGrp -e -sl 3 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else if ( ($poseLibIconsSize[0] == 128) && ($poseLibIconsSize[1] == 128) ) + { + radioButtonGrp -e -sl 4 iconsSizeRB; + checkBox -e -v 0 customSizeCB; + } + + else + { + radioButtonGrp -e -en off iconsSizeRB; + checkBox -e -en on -v 1 customSizeCB; + intField -e -en on -v $poseLibIconsSize[0] iconsWidthIF; + intField -e -en on -v $poseLibIconsSize[1] iconsHeightIF; + } + + if ( $poseLibIconsBackgroundColor == "" ) + $poseLibIconsBackgroundColor = "iconsBackgroundColorWhiteIRB"; + else + iconTextRadioCollection -e -sl $poseLibIconsBackgroundColor iconsBackgroundColorIRC; + + // ------------------ + // Populate lists. + // ------------------ + string $characterName = `optionMenu -q -v characterChoiceOM`; + + textScrollList -e -ra listCharacters; + + string $c; + for ( $c in $poseLibCharacterList ) + { + textScrollList -e -m off -w 150 -h 120 -append $c -sc "poseLibRefreshCategoryList" listCharacters; + } + textScrollList -e -si $characterName -m on listCharacters; + poseLibRefreshCategoryList; + showWindow poseLibEditOptionsWindow; + } + +// ========================= +// Change icons size +// ========================= +global proc poseLibChangeIconsDisplay () + { + global int $poseLibIconsSize[]; + + if ( `radioButtonGrp -q -sl iconsSizeRB` == 1 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 50; + $poseLibIconsSize[1] = 50; + } + + else if ( `radioButtonGrp -q -sl -en iconsSizeRB` == 2 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 64; + $poseLibIconsSize[1] = 64; + } + + else if ( `radioButtonGrp -q -sl -en iconsSizeRB` == 3 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 100; + $poseLibIconsSize[1] = 100; + } + + else if ( `radioButtonGrp -q -sl -en iconsSizeRB` == 4 && `radioButtonGrp -q -en iconsSizeRB` ) + { + $poseLibIconsSize[0] = 128; + $poseLibIconsSize[1] = 128; + } + + else + { + $poseLibIconsSize[0] = `intField -q -v iconsWidthIF`; + $poseLibIconsSize[1] = `intField -q -v iconsHeightIF`; + } + + //poseLibRefreshPoseList; + poseLibSavePrefs; + poseLib; + print ("iconsSize set at " + $poseLibIconsSize[0] + " x " + $poseLibIconsSize[1] + "\n"); + } + +// ========================= +// Refresh category list +// ========================= +global proc poseLibRefreshCategoryList () + { + global string $poseLibDefaultPath; + string $characterName[0] = `textScrollList -q -si listCharacters`; + string $allCatDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/" + $characterName[0] + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCatDirs[] = {}; + + int $i; + for ($i=0;$i<`size $allCatDirsTmp`;$i++) + { + if ( `match ".deleted" $allCatDirsTmp[$i]` != ".deleted" ) + $allCatDirs = stringArrayCatenate ( $allCatDirs, { $allCatDirsTmp[$i] } ); + } + + textScrollList -e -ra listCategories; + + string $g; + for ( $g in $allCatDirs ) + { + textScrollList -e -m off -w 150 -h 120 -append $g listCategories; + } + textScrollList -e -m on listCategories; + } + +// ============================== +// Create new character menu +// ============================== +global proc poseLibCreateNewCharacterMenu () + { + global string $poseLibDefaultPath; + string $character = `textFieldButtonGrp -q -text newCharacterTFG`; + string $checkName = `match " [$%\\/#@.:;?!\"\'\`]" $character`; + string $allCharDirs[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + + if ( (`size $checkName` > 0) || (`size $character` == 0) ) + { + error "You must enter a valid name, without any of these: \" $ % \\ / # @ . :; ? ! \' \`"; + return; + } + else + { + sysFile -makeDir ( $poseLibDefaultPath + "/" + $character ); + sysFile -makeDir ( $poseLibDefaultPath + "/" + $character + "/default" ); + poseLib; + poseLibEditOptions; + textScrollList -e -si $character listCharacters; + poseLibRefreshCategoryList; + + print ( "poseLib: Created new character: " + $character + "\n" ); + + string $c; + for ( $c in $allCharDirs ) + { + string $checkTmp = `match $c $character`; + + if ( `size $checkTmp` > 0 ) + warning "There is already a character with this name!"; + } + } + } + +// ========================== +// Rename character menu +// ========================== +global proc poseLibRenameCharacterMenu () + { + if (`window -exists renameCharacterWindow` ) + deleteUI renameCharacterWindow; + + string $nameTmp[0] = `textScrollList -q -si listCharacters`; + + window -tlb off -w 300 -h 85 -title "Rename Character" renameCharacterWindow; + columnLayout; + textFieldGrp -cw2 50 150 -l "Name" -tx (`textScrollList -q -si listCharacters`) setNameField; + rowLayout -nc 2 -cw2 100 100; + button -w 100 -l " Apply" -al "center" -c "poseLibDoRenameCharacterMenu"; + button -w 100 -l " Close" -al "center" -c "deleteUI renameCharacterWindow"; + + if ( $nameTmp[0] != "" ) + showWindow renameCharacterWindow; + else + warning " ---> Please select a character first!\n"; + } + +// ============================= +// Do rename character menu +// ============================= +global proc poseLibDoRenameCharacterMenu () + { + global string $poseLibDefaultPath; + string $nameTmp[0] = `textScrollList -q -si listCharacters`; + string $softCharacterToRename = ( $poseLibDefaultPath + "/" + $nameTmp[0] ); + + string $newName = `textFieldGrp -q -tx setNameField`; + + sysFile -rename ($poseLibDefaultPath + "/" + $newName) $softCharacterToRename; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + deleteUI renameCharacterWindow; + poseLib; + poseLibEditOptions; + textScrollList -e -si $newName listCharacters; + print ("poseLib: Renamed character: " + $poseLibDefaultPath + "/" + $nameTmp[0] + " to: " + $newName + "\n" ); + } + +// =========================== +// Delete character menu +// =========================== +global proc poseLibDeleteCharacterMenu () + { + global string $poseLibDefaultPath; + string $nameTmp[0] = `textScrollList -q -si listCharacters`; + string $confirmDeleteWindow = ""; + + if ( $nameTmp[0] != "" ) + $confirmDeleteWindow = `confirmDialog -title "Confirm" -message "Are you sure you want to delete this character\nwith all the poses and categories inside?" -button "Yes" -button "No" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel" -dismissString "No"`; + else + warning " ---> Please select a character in the list first!\n"; + + if ( $confirmDeleteWindow == "Yes" ) + { + string $solidPath = ""; + string $buffer[]; + int $numTokens = `tokenize ($poseLibDefaultPath + "/" + $nameTmp[0]) "\/" $buffer`; + + int $i; + for ($i=0;$i<`size $buffer`;$i++) + { + if ( $i < (`size $buffer`-1) ) + $solidPath = $solidPath + $buffer[$i] + "\\"; + else + $solidPath = $solidPath + $buffer[$i]; + } + + if ( `filetest -d ($poseLibDefaultPath + "/" + $nameTmp[0] + ".deleted")` ) + system ("rmdir " + $solidPath + ".deleted /s /q" ); //print ("\nrmdir " + $solidPath + ".deleted"); + + sysFile -rename (($poseLibDefaultPath + "/" + $nameTmp[0]) + ".deleted") ($poseLibDefaultPath + "/" + $nameTmp[0]); //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + poseLib; + poseLibEditOptions; + print ("poseLib: Deleted character: " + $poseLibDefaultPath + "/" + $nameTmp[0] + "\n" ); + } + } + +// ============================ +// Create new category menu +// ============================ +global proc poseLibCreateNewCategoryMenu () + { + global string $poseLibDefaultPath; + string $character[0] = `textScrollList -q -si listCharacters`; + string $category = `textFieldButtonGrp -q -text newCategoryTFG`; + string $checkName = `match " [$%\\/#@.:;?!\"\'\`]" $category`; + string $allCharDirs[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + string $allCatDirs[] = `getFileList -folder ($poseLibDefaultPath + "/" + $character[0])`; //print ("\n$allPoseFiles="+$allPoseFiles[0]); + + if ( (`size $checkName` > 0) || (`size $category` == 0) ) + { + error "You must enter a valid name, without any of these: \" $ % \\ / # @ . :; ? ! \' \`"; + return; + } + + if ( `radioCollection -q -sl forCurrentOrAllCharRB` == "forCurrentChar" ) + { + sysFile -makeDir ( $poseLibDefaultPath + "/" + $character[0] + "/" + $category ); + poseLib; + poseLibEditOptions; + textScrollList -e -si $character[0] listCharacters; + radioCollection -e -sl forCurrentChar forCurrentOrAllCharRB; + poseLibRefreshCategoryList; + + print ( "poseLib: Created new category: " + $category + "\n" ); + + string $c; + for ( $c in $allCatDirs ) + { + string $checkTmp = `match $c $category`; + + if ( `size $checkTmp` > 0 ) + warning "There is already a category with this name!"; + } + } + else + { + string $g; + for ( $g in $allCharDirs ) + { + sysFile -makeDir ( $poseLibDefaultPath + "/" + $g + "/" + $category ); + } + poseLib; + poseLibEditOptions; + textScrollList -e -si $character[0] listCharacters; + radioCollection -e -sl forAllChar forCurrentOrAllCharRB; + poseLibRefreshCategoryList; + + print ( "poseLib: Created new category: " + $category + " for all characters\n" ); + } + } + +// ======================== +// Rename category menu +// ======================== +global proc poseLibRenameCategoryMenu () + { + if (`window -exists renameCategoryWindow` ) + deleteUI renameCategoryWindow; + + string $nameTmp[0] = `textScrollList -q -si listCategories`; + + window -tlb off -w 300 -h 85 -title "Rename Category" renameCategoryWindow; + columnLayout; + textFieldGrp -cw2 50 150 -l "Name" -tx (`textScrollList -q -si listCategories`) setNameField; + rowLayout -nc 2 -cw2 100 100; + button -w 100 -l " Apply" -al "center" -c "poseLibDoRenameCategoryMenu"; + button -w 100 -l " Close" -al "center" -c "deleteUI renameCategoryWindow"; + + if ( $nameTmp[0] != "" ) + showWindow renameCategoryWindow; + else + warning " ---> Please select a category in the list first!\n"; + } + +// ============================ +// Do rename category menu +// ============================ +global proc poseLibDoRenameCategoryMenu () + { + global string $poseLibDefaultPath; + string $charTmp[0] = `textScrollList -q -si listCharacters`; + string $nameTmp[0] = `textScrollList -q -si listCategories`; + string $softCategoryToRename = ( $poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0] ); + + string $newName = `textFieldGrp -q -tx setNameField`; + + sysFile -rename ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $newName) $softCategoryToRename; //print ( "\noldName= " + $currentName + "\nnewName= " + $newName ); + + deleteUI renameCategoryWindow; + poseLib; + poseLibEditOptions; + textScrollList -e -si $charTmp[0] listCharacters; + poseLibRefreshCategoryList; + textScrollList -e -si $newName listCategories; + print ("poseLib: Renamed category: " + $poseLibDefaultPath + "/" + $nameTmp[0] + " to: " + $newName + "\n"); + } + +// ======================= +// Delete category menu +// ======================= +global proc poseLibDeleteCategoryMenu () + { + global string $poseLibDefaultPath; + string $charTmp[0] = `textScrollList -q -si listCharacters`; + string $nameTmp[0] = `textScrollList -q -si listCategories`; + string $confirmDeleteWindow = ""; + + if ( $nameTmp[0] != "" ) + $confirmDeleteWindow = `confirmDialog -title "Confirm" -message "Are you sure you want to delete\nthis category with all the poses inside?" -button "Yes" -button "No" -button "Cancel" -defaultButton "Yes" -cancelButton "Cancel" -dismissString "No"`; + else + warning " ---> Please select a category in the list first!\n"; + + if ( $confirmDeleteWindow == "Yes" ) + { + string $solidPath = ""; + string $buffer[]; + int $numTokens = `tokenize ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0]) "\/" $buffer`; + + int $i; + for ($i=0;$i<`size $buffer`;$i++) + { + if ( $i < (`size $buffer`-1) ) + $solidPath = $solidPath + $buffer[$i] + "\\"; + else + $solidPath = $solidPath + $buffer[$i]; + } + + if ( `filetest -d ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0] + ".deleted")` ) + { + system ("rmdir " + $solidPath + ".deleted /s /q" ); //print ("\nrmdir " + $solidPath + ".deleted"); + } + + sysFile -rename ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0] + ".deleted") ($poseLibDefaultPath + "/" + $charTmp[0] + "/" + $nameTmp[0]); + + poseLib; + poseLibEditOptions; + textScrollList -e -si $charTmp[0] listCharacters; + poseLibRefreshCategoryList; + print ("poseLib: Deleted category: " + $poseLibDefaultPath + "/" + $nameTmp[0] + "\n"); + } + } + +// ============================================================== +// poseLib UI +// ============================================================== +global proc poseLib () + { + global string $poseLibVersion; + global string $poseLibDefaultPath; + global string $poseLibCharacterList[]; + global string $poseLibCategoryList[]; + global string $poseLibCurrentProject = ""; + global string $poseLibPathsBookmarks[]; + global int $poseLibIconsSize[]; + string $c; + + // ------------------------------- + // Create characters directories. + // ------------------------------- + string $allCharDirsTmp[] = `getFileList -folder ($poseLibDefaultPath + "/")`; //print ("\n$allCharDirs="+$allCharDirs[0]); + string $allCharDirs[]; + + int $i; + for ($i=0;$i<`size $allCharDirsTmp`;$i++) + { + if ( `match ".deleted" $allCharDirsTmp[$i]` != ".deleted" ) + $allCharDirs = stringArrayCatenate ( $allCharDirs, { $allCharDirsTmp[$i] } ); + } + + if ( $allCharDirs[0] == "" ) + { + string $softPosesPathTmp; + for ( $c in $poseLibCharacterList ) + { + $softPosesPathTmp = $poseLibDefaultPath + "/" + $c; //print ( "\ncreated " + $softPosesPathTmp ); + sysFile -makeDir $softPosesPathTmp; + } + + $softPosesPathTmp = $poseLibDefaultPath + "/" + $c; + + string $g; + for ( $g in $poseLibCategoryList ) + { + string $softCategoriesPathTmp = $softPosesPathTmp + "/" + $g; //print ( "\ncreated =" + $softCategoriesPathTmp ); + sysFile -makeDir $softCategoriesPathTmp; + } + } + else + $poseLibCharacterList = $allCharDirs; + + // ---------------- + // Build main UI. + // ---------------- + if (`window -exists poseLibWindow` ) + deleteUI poseLibWindow; + + if (`window -exists poseLibEditOptionsWindow` ) + deleteUI poseLibEditOptionsWindow; + + if (`window -exists poseLibCreateNewPoseWindow` ) + deleteUI poseLibCreateNewPoseWindow; + + window -tlb off -rtf on -sizeable true -menuBar true -w 450 -title ("poseLib v" + $poseLibVersion + " - " + $poseLibDefaultPath) poseLibWindow; + + // -------------- + // Poses frame. + // -------------- + rowLayout -adj 1 -ct3 "left" "left" "left" -co3 2 2 2 -nc 3 -cw3 265 175 6 mainRowRL; + + frameLayout -mw 2 -l "Poses: " -fn "smallFixedWidthFont" -collapsable false -w 265 -borderStyle "etchedOut" -p mainRowRL posesFrameLayoutFL; + + $form = `formLayout -h 300 iconsFormLayoutFL`; + + $stl = `shelfLayout -st "iconAndTextVertical" -w 300 -cellWidth 50 -cellHeight 50 -h 300 iconsShelfLayoutSL`; + + formLayout -e + -af $stl left 2 + -af $stl top 2 + -af $stl right 3 + -af $stl bottom 2 $form; + + setParent ..; + + separator -st none -h 4; + + setParent ..; + + columnLayout -adjustableColumn true -p mainRowRL secondColumnCL; + + // --------------- + // Options frame. + // --------------- + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 170 -p secondColumnCL namespaceFrameLayoutFL; + columnLayout -adjustableColumn true -p namespaceFrameLayoutFL optionsColumn; + + separator -st none -h 2; + + checkBox -bgc .8 .8 .8 -al "left" -l "Use Namespace" -ed on -onc "checkBox -e -en on useCurrentCharacterCB; if (!`checkBox -q -v useCurrentCharacterCB`) {textField -e -en on namespaceTextFieldTF; button -e -en on getNamespaceFromSelectionButton;}" -ofc "checkBox -e -en off useCurrentCharacterCB; textField -e -en off namespaceTextFieldTF; button -e -en off getNamespaceFromSelectionButton" useNamespaceCB; + separator -st none -h 2; + checkBox -al "left" -l "Use Current Character Name" -en off -value on -onc "textField -e -en off namespaceTextFieldTF; button -e -en off getNamespaceFromSelectionButton" -ofc "textField -e -en on namespaceTextFieldTF; button -e -en on getNamespaceFromSelectionButton" useCurrentCharacterCB; + button -label "Get Namespace From Selection" -h 18 -ann "Get namespace from current selection" -c "poseLibGetNamepaceFromSelection" getNamespaceFromSelectionButton; + textField -w 150 -en off -text "myNamespace" namespaceTextFieldTF; + + separator -st none -h 4 -w 150; + + optionMenu -h 29 -label "Character: " -cc "poseLibRefreshPoseList" -p optionsColumn characterChoiceOM; + for ( $c in $poseLibCharacterList ) + { + menuItem -label $c; + } + + optionMenu -h 28 -label "Category: " -cc "poseLibRefreshPoseList" -p optionsColumn categoryChoiceOM; + for ($i=0;$i<`size $poseLibCategoryList`;$i++) + { + menuItem -label $poseLibCategoryList[$i] -p categoryChoiceOM categoryMI[$i]; + } + + separator -st none -h 4 -w 150; + + checkBox -ann "Apply pose regardless of ref mode" -al "left" -en off -v on -vis 1 -label "Smart Mode" smartModeCB; + + setParent ..; + setParent ..; + + separator -st "none" -h 4; + + // -------------------- + // Create pose frame. + // -------------------- + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 170 -p secondColumnCL frameCreate; + columnLayout -adjustableColumn true -p frameCreate setPosesColumn; + + separator -st none -h 4; + + button //-bgc .8 .8 .8 + -label "Create New Pose!" -h 32 -w 156 + -ann "Create a new pose based on the current selection" -c ("poseLibCreateNewPose( \"\" )") newPoseButton; + + separator -st none -h 4; + + setParent ..; + setParent ..; + + separator -st "none" -h 4; + + // -------------------- + // Settings frame. + // -------------------- + frameLayout -mw 5 -bv on -lv off -collapsable false -borderStyle "etchedOut" -w 170 -p secondColumnCL frameSettings; + columnLayout -adjustableColumn true -p frameSettings setPosesColumn; + + separator -st none -h 4; + + button -label "Edit Options" -h 22 -w 156 //-bgc .85 .85 .85 + -ann "Edit/Create characters and categories" -c "poseLibEditOptions" editSettingsButton; + + button -label "Save Preferences" -h 22 -w 156 //-bgc .85 .85 .85 + -ann "Create a new pose based on the current selection" -c "poseLibSavePrefs" savePrefsButton; + + separator -st none -h 6; + + button -label "Close" -h 22 -w 156 //-bgc .85 .85 .85 + -c "deleteUI poseLibWindow" closeButton; + + separator -st none -h 4; + + setParent ..; + setParent ..; + + separator -st none -h 4; + + rowLayout -numberOfColumns 2 + -columnWidth2 90 90 + sizeButtonsRL; + + button -h 18 -p sizeButtonsRL -w 86 -l " Shorter" -c ("global int $poseLibIconsSize[]; float $poseLibNewSizeTmp = `frameLayout -q -h posesFrameLayoutFL` - (" + $poseLibIconsSize[1] + " + 23); if ( $poseLibNewSizeTmp >= 320 ) frameLayout -e -h $poseLibNewSizeTmp posesFrameLayoutFL; int $poseLibWindowSizeTmp = `window -q -w poseLibWindow`; window -e -w $poseLibWindowSizeTmp -h (`frameLayout -q -h posesFrameLayoutFL` + 28) poseLibWindow;//print (\"\\nremove = \" + "); + button -h 18 -p sizeButtonsRL -w 86 -l " Taller" -c ("global int $poseLibIconsSize[]; frameLayout -e -h ( `frameLayout -q -h posesFrameLayoutFL` + " + $poseLibIconsSize[1] + " + 23 ) posesFrameLayoutFL; int $poseLibWindowSizeTmp = `window -q -w poseLibWindow`; window -e -w $poseLibWindowSizeTmp -h (`frameLayout -q -h posesFrameLayoutFL` + 28) poseLibWindow;"); + setParent ..; + + setParent ..; + setParent ..; + + separator -st none -h 4; + + // --------------------- + // Recall preferences. + // --------------------- + if ( `optionVar -exists useNamespaceStatus` ) + { + int $refTmp = `optionVar -q useNamespaceStatus`; + catchQuiet( `checkBox -e -v $refTmp useNamespaceCB` ); + } + + if ( `optionVar -exists useCurrentCharacterStatus` ) + { + int $refTmp = `optionVar -q useCurrentCharacterStatus`; + catchQuiet( `checkBox -e -v $refTmp useCurrentCharacterCB` ); + } + + if ( `optionVar -exists namespaceTextFieldStatus` ) + { + string $refTmp = `optionVar -q namespaceTextFieldStatus`; + catchQuiet( `textField -e -tx $refTmp namespaceTextFieldTF` ); + } + + if ( `checkBox -q -v useNamespaceCB` ) + { + checkBox -e -en true useCurrentCharacterCB; + + if ( !`checkBox -q -v useCurrentCharacterCB` ) + textField -e -en true namespaceTextFieldTF; + } + + if ( `optionVar -exists characterChoiceStatus` ) + { + string $characterTmp = `optionVar -q characterChoiceStatus`; + catchQuiet ( `optionMenu -e -v $characterTmp characterChoiceOM` ); + } + + if ( `optionVar -exists smartModeStatus` ) + { + int $refTmp = `optionVar -q smartModeStatus`; + catchQuiet( `checkBox -e -v $refTmp smartModeCB` ); + } + + if ( `optionVar -exists pathsBookmarksStatus` ) + { + string $pathsBookmarksStatusTmp = `optionVar -q pathsBookmarksStatus`; + $poseLibPathsBookmarks = stringToStringArray($pathsBookmarksStatusTmp, ","); print "$poseLibPathsBookmarks = "; print $poseLibPathsBookmarks; print "\n"; + } + + // --------------------------------------------------------------------- + // Update poses list to populate the menus and icons. Once... + poseLibRefreshPoseList; + + if ( `optionVar -exists categoryChoiceStatus` ) + { + string $categoryTmp = `optionVar -q categoryChoiceStatus`; + catchQuiet( `optionMenu -e -v $categoryTmp categoryChoiceOM` ); + } + + // ... And twice (because if not it doesn't work (?!)). + poseLibRefreshPoseList; + // --------------------------------------------------------------------- + + showWindow poseLibWindow; + window -e -h (`frameLayout -q -h posesFrameLayoutFL` + 28) poseLibWindow; + + print ( "poseLib path = " + $poseLibDefaultPath + "/\n" ); + } \ No newline at end of file diff --git a/2009-x64/AnimationScripts/scripts/selectFromCurve.mel b/2009-x64/AnimationScripts/scripts/selectFromCurve.mel new file mode 100644 index 0000000..ee5a701 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/selectFromCurve.mel @@ -0,0 +1,47 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: selectFromCurve v1.4 +'' Author: Seith +'' Last Updated: August 4, 2003 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=animation#2463 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +//==================== +// select from curve +//==================== + +/* We all know the situation: you have hundreds of curves visible in +the graph editor, and you select a curve or a key. Now you have to hunt +down in the left column, to find what channel in the world it affects... +Well not anymore. After you select the specific key(s) or curve(s) you want, +just launch this little script. It will clear up the graph, keeping selected +only the objects affected by the selected curve(s) or key(s)... Yey! */ + +global proc selectFromCurve () +{ +string $currentSelection[] = `ls -sl` ; +string $animCurves[] = `keyframe -q -name` ; +string $objectsToStaySelected[] ; +float $testForSelection[] = `keyframe -q -sl` ; + +if ( `size $testForSelection` < 1 ) + error "===> You must select an animation curve or a key first!!!" ; + +for ($i=0;$i<`size $animCurves`;$i++) + { + string $effects[0] = `listConnections -plugs true $animCurves[$i]` ; //print (" $effects[" + $i + "]=" + $effects[0]) ; + string $buffer[] ; + $numTokens = `tokenize $effects[0] "." $buffer` ; + $objectsToStaySelected[$i] = $buffer[0] ; //print (" $objectsToStaySelected[" + $i + "]=" + $objectsToStaySelected[$i]) ; + } +string $objectsToBeUnselected[] = stringArrayRemove($objectsToStaySelected, $currentSelection) ; +select -d $objectsToBeUnselected ; +} +selectFromCurve ; \ No newline at end of file diff --git a/2009-x64/AnimationScripts/scripts/toggleXRay.mel b/2009-x64/AnimationScripts/scripts/toggleXRay.mel new file mode 100644 index 0000000..417c466 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/toggleXRay.mel @@ -0,0 +1,45 @@ +// -------------------------------------------------------------------------- +// toggleAffected.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Changes display options so XRay mode is on or off. +// I usually bind to CTRL+x +// +// USAGE: +// source "toggleXRay.mel"; toggleXRay(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2004 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 07/05/2004 - Michael B. Comet - Initial Release +// +// -------------------------------------------------------------------------- + +/* + * toggleXRay() - Main entry + */ +global proc toggleXRay() +{ + string $currentPanel = `getPanel -underPointer`; + if ("" == $currentPanel) + { + $currentPanel = `getPanel -withFocus`; + } + if ("" != $currentPanel) + { + string $panelType = `getPanel -typeOf $currentPanel`; + if ($panelType == "modelPanel") + { + int $state = `modelEditor -q -xray $currentPanel`; + modelEditor -e -xray (!$state) $currentPanel; + } + } +} + + +// -------------------------------------------------------------------------- diff --git a/2009-x64/AnimationScripts/scripts/tweenMachine.mel b/2009-x64/AnimationScripts/scripts/tweenMachine.mel new file mode 100644 index 0000000..8e42c05 --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/tweenMachine.mel @@ -0,0 +1,1575 @@ +// -------------------------------------------------------------------------- +// tweenMachine.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Creates a new key inbetween the previous and next keys, using a +// slider to adjust the "bias" or weight that each key has over the +// new key. Requested/inspired by Doron Meir. :) +// +// v2.0 - Major upgrade from version 1. Version 1 history in original script +// +// USAGE: +// source tweenMachine.mel; tweenMachine; +// +// AUTHOR: +// Justin Barrett - http://www.justinanimator.com +// +// ADDITIONAL CREDITS: +// xml_lib.mel: J. Adrian Herbez +// +// COPYRIGHT: +// Copyright ©2005, 2006 Justin Barrett - All Rights Reserved +// +// VERSIONS: +// 2.00 - Initial release of upgrade - Justin Barrett +// +// +// ************************************************************************ +// ************************************************************************ +// Startup procedures +// ************************************************************************ +// ************************************************************************ + +global proc tweenMachine() { + + // Global Variables + global string $tmGroups[], $tmSets[], $tmButtonRGB[], $tmSelConArray; + global int $tmNumButtons, $tmSliderWidth, $tmShowButtons, $tmShowSliders, $tmButtonRowPad, $mayaVers, $tmSpecTick; + global float $tmButtonVal[]; + + clear $tmGroups; + clear $tmSets; + + $tmSliderWidth = 200; + $mayaVers = (int) startString(`about -v`,1); + $tmSpecTick = 0; + + // Source needed libraries + source xml_lib.mel; + + // OS check -- this will probably go away once the UI is built using forms + if (`about -mac`) { + $tmButtonRowPad = 10; + } else { + $tmButtonRowPad = 1; + } + + if (`window -q -ex tweenMachineWin`) deleteUI tweenMachineWin ; + + // Make Window + window -w 300 -h 5 -mnb 1 -mxb 0 -menuBar 1 -mbv 1 -rtf 1 -s 1 -t "tweenMachine - 2.02" -in "tweenMachine" tweenMachineWin; + + menu -l "File" tmFile; + menuItem -l "New..." -en 1 -c "tmNew"; + menuItem -d true; + menuItem -l "Open..." -en 1 -c "tmLoadFromFile"; + menuItem -l "Save..." -en 1 -c "fileBrowser \"tmSaveToFile\" \"Save\" \"\" 1"; + + menu -l "Tools" tmTools; + menuItem -l "Add Set..." -en 0 -c "tmAddSetUI" tmAddSetMI; + menuItem -l "Add Group..." -c "tmAddGroupUI"; + menuItem -d true; + menuItem -l "Manage Sets..." -en 1 -c "tmSGMBuildUI(0)"; + menuItem -l "Manage Groups..." -en 1 -c "tmSGMBuildUI(1)"; + //menuItem -d true; + //menuItem -l "Manage Buttons..." -en 0; + menuItem -d true; + menuItem -l "Character Sets..." -sm 1; + menuItem -l "Add Character Group" -c "tmAddCharacterGroup"; + menuItem -l "Import Character Sets" -c "tmImportCharSets"; + + menu -l "Options" -to 1 tmOptions; + menuItem -l "Sliders" -cb 1 -c "tmShowChange" tmSliderTog; + menuItem -l "Buttons" -cb 1 -c "tmShowChange" tmButtonTog; + menuItem -d true; + menuItem -l "Overshoot" -cb 0 -c "tmToggleOvershoot" tmOvershootTog; + if ($mayaVers > 6) { + menuItem -d true; + menuItem -l "Special Tick Color" -cb 0 -c "$tmSpecTick = 1-$tmSpecTick"; + } + + + columnLayout -adj 1 -cat "both" 0 tmMainGroupCL; + + tmBuildAllGroups; + + showWindow tweenMachineWin ; + + + //scriptJob -p tweenMachineWin -e "SceneOpened" "deleteUI tweenMachineWin; tweenMachine;"; + scriptJob -p tweenMachineWin -e "NewSceneOpened" "deleteUI tweenMachineWin;"; + scriptJob -uid tweenMachineWin "tmRestoreTimeControl"; + +} + +// -------------------------------------------------------------------------- + +global proc tmNew () { + + global string $tmGroups[]; + + string $c = "Yes"; + if (size($tmGroups) > 0) $c = `confirmDialog -t "Start over?" -m "Erase all tweenMachine data?" -b "Yes" -b "No" -db "Yes" -cb "No" -ds "No"`; + + if ($c != "No") { + delete tmXML1; + tweenMachine; + } +} + +// -------------------------------------------------------------------------- + +global proc tmBuildAllGroups () { + + // start with the default data + tmDefaultData; + + // build the "Selected" set no matter what + tmBuildSet ("Main", "Selected"); + timeControl -e -mlc animationList timeControl1; + + separator -style "none" -h 5; + + // create master selectionConnection object + if (!`selectionConnection -ex tmMasterSC`) selectionConnection -lst tmMasterSC; + + // If data exists in scene, pull the options and interface data from it + // if not, build XML data using default values + + int $XMLexists = `objExists tmXML1`; + if ($XMLexists) { + tmReadXML; + } else { + tmDefaultXML; + } + + setParent tweenMachineWin; +} + +// -------------------------------------------------------------------------- + +global proc tmDefaultData () { + + global int $tmNumButtons, $tmShowButtons, $tmShowSliders; + global float $tmButtonVal[]; + global string $tmGroups[], $tmSets[], $tmButtonRGB[]; + + clear $tmGroups; + clear $tmSets; + + $tmNumButtons = 7; + $tmShowButtons = 1; + $tmShowSliders = 1; + + clear $tmButtonVal; + + $tmButtonVal[0] = -75; + $tmButtonVal[1] = -60; + $tmButtonVal[2] = -33; + $tmButtonVal[3] = 0; + $tmButtonVal[4] = 33; + $tmButtonVal[5] = 60; + $tmButtonVal[6] = 75; + + int $i; + for ($i=0; $i<$tmNumButtons; $i++) $tmButtonRGB[$i] = "0.6 0.6 0.6"; + +} + +// -------------------------------------------------------------------------- + +global proc tmDefaultXML () { + + global int $tmNumButtons, $tmShowButtons, $tmShowSliders; + global float $tmButtonVal[]; + global string $tmGroups[], $tmSets[], $tmButtonRGB[]; + + // build XML-based data structure + + makeNode ("tmXML",1); + makeNode ("tmOptions",0); + makeNode ("tmSliderVis",0); + addContent ("1"); + closeTag; + makeNode ("tmButtonVis",0); + addContent ("1"); + closeTag; + makeNode ("tmButtons id=\"7\"",0); + for ($i=0; $i<$tmNumButtons; $i++) { + makeNode ("tmButton",0); + makeNode ("tmButtonRGB",0); + addContent ($tmButtonRGB[$i]); + closeTag; + makeNode ("tmButtonValue",0); + addContent ($tmButtonVal[$i]); + closeTag; + closeTag; + } + closeTag; + closeTag; + makeNode ("tmGroups",0); + closeTag; + closeTag; + + select -cl; +} + +// ************************************************************************ +// ************************************************************************ +// Ticks and Toggles +// ************************************************************************ +// ************************************************************************ + +global proc tmShowChange () { + + global string $tmSets[]; + + int $sliderState = `menuItem -q -cb tmSliderTog`; + int $buttonState = `menuItem -q -cb tmButtonTog`; + int $sliderEnable = `menuItem -q -en tmSliderTog`; + int $buttonEnable = `menuItem -q -en tmButtonTog`; + + if (!$sliderState && $buttonState) { + menuItem -e -en 0 tmButtonTog; + for ($set in $tmSets) { + string $fullName = $set + "Bias"; + floatSliderGrp -e -m 0 $fullName; + rowLayout -e -rat 1 "top" 5 -rat 2 "top" 10 ($set + "OuterRow"); + } + } + + if ($sliderState && !$buttonEnable) { + menuItem -e -en 1 tmButtonTog; + for ($set in $tmSets) { + string $fullName = $set + "Bias"; + floatSliderGrp -e -m 1 $fullName; + rowLayout -e -rat 1 "bottom" 10 -rat 2 "top" 0 ($set + "OuterRow"); + } + } + + if ($sliderState && !$buttonState) { + menuItem -e -en 0 tmSliderTog; + for ($set in $tmSets) { + string $fullName = $set + "Buttons"; + rowLayout -e -m 0 $fullName; + rowLayout -e -rat 1 "top" 3 ($set + "OuterRow"); + } + } + + if (!$sliderEnable && $buttonState) { + menuItem -e -en 1 tmSliderTog; + for ($set in $tmSets) { + string $fullName = $set + "Buttons"; + rowLayout -e -m 1 $fullName; + rowLayout -e -rat 1 "bottom" 10 ($set + "OuterRow"); + } + } + +} + +// -------------------------------------------------------------------------- + +global proc tmToggleOvershoot () { + + global string $tmSets[]; + float $oldMin, $newMin, $newMax; + + float $oldMin = `floatSliderGrp -q -min tmMainSelectedSetBias`; + + if ($oldMin == -100) { + $newMin = -150; + $newMax = 150; + } else { + $newMin = -100; + $newMax = 100; + } + + for ($set in $tmSets) { + string $fullName = $set + "Bias"; + float $oldVal = `floatSliderGrp -q -v $fullName`; + float $newVal = `clamp $newMin $newMax $oldVal`; + floatSliderGrp -e -min $newMin -max $newMax -v $newVal $fullName; + } + +} + +// -------------------------------------------------------------------------- + +global proc tmTickToggle (string $objName, string $objParent) { + + global string $tmSets[], $tmGroups[]; + + if ($objName == "tmMainSelectedSet") { + + // swap selectionConnection + int $selChk = `checkBox -q -v tmMainSelectedSetTicks`; + if (!$selChk) { + timeControl -e -mlc tmMasterSC timeControl1; + } else { + timeControl -e -mlc animationList timeControl1; + } + + // toggle "enable" setting for all + int $en = 1-(`checkBox -q -v tmMainSelectedSetTicks`); + + for ($grp in $tmGroups) { + string $grpTk = $grp + "Ticks"; + checkBox -e -en $en $grpTk; + + for ($set in tmSetsInGroup($grp,1)) { + int $v = `checkBox -q -v $grpTk`; + string $setTk = $set + "Ticks"; + if ($v && $en) checkBox -e -en 1 $setTk; + if (!$v && $en) checkBox -e -en 0 $setTk; + if ($v && !$en) checkBox -e -en 0 $setTk; + } + } + } else { + string $objTk = $objName + "Ticks"; + if (startsWith($objName,"tm")) { + // object is a set + string $objSC = $objName + "SC"; + string $parSC = "tm" + $objParent + "GroupSC"; + + int $tkStat = `checkBox -q -v $objTk`; + if ($tkStat) { + selectionConnection -e -add $objSC $parSC; + } else { + selectionConnection -e -rm $objSC $parSC; + } + } else { + // object is a group + string $objSC = "tm" + $objName + "GroupSC"; + string $parSC = "tmMasterSC"; + + int $tkStat = `checkBox -q -v $objTk`; + if ($tkStat) { + selectionConnection -e -add $objSC $parSC; + } else { + selectionConnection -e -rm $objSC $parSC; + } + + for ($set in tmSetsInGroup($objName,1)) { + string $setTk = $set + "Ticks"; + int $s = 1-(`checkBox -q -en $setTk`); + checkBox -e -en $s $setTk; + } + + } + } +} + + +// ************************************************************************ +// ************************************************************************ +// Manage sets and groups +// ************************************************************************ +// ************************************************************************ + +global proc tmSGMBuildUI (int $mode) { + + // $mode: 0 = manage sets, 1 = manage groups + + global string $sgmArray[], $tmGroups[]; + string $winTitle; + + if (!$mode) $winTitle = "Manage Sets"; else $winTitle = "Manage Groups"; + + if (`window -ex tmSGMWin`) deleteUI tmSGMWin; + + window -t $winTitle -w 250 -h 250 -rtf 1 tmSGMWin; + + formLayout -w 250 -nd 100 tmSGMFormLayout; + + textScrollList -ams 0 -sc ("tmSGMSelect(" + $mode + ")") -dkc ("tmSGMDelete(" + $mode + ",1)") -da tmSGMList; + if (!$mode) textScrollList -e -dcc "tmSGMMembers" tmSGMList; + + optionMenu -l "Manage:" -cc "tmSGMMode" tmSGMMode; + menuItem -l "Sets"; + menuItem -l "Groups"; + optionMenu -e -sl ($mode+1) tmSGMMode; + setParent tmSGMFormLayout; + + optionMenu -l "in group: " -cc "tmSGMRebuildList" -m (1-$mode) tmSGMGroups; + for ($grp in $tmGroups) menuItem -l $grp; + setParent tmSGMFormLayout; + + button -l "Move Up" -al "center" -w 80 -vis 0 -h 1 sgmUp; + button -l "Move Down" -al "center" -w 80 -vis 0 -h 1 sgmDown; + + //button -l "Move Up" -al "center" -w 80 -en 0 -c ("tmReorderSGMList(-1," + $mode + ")") sgmUp; + //button -l "Move Down" -al "center" -w 80 -en 0 -c ("tmReorderSGMList(1," + $mode + ")") sgmDown; + + button -l "Rename" -al "center" -w 80 -en 0 -c ("tmSGMRename(" + $mode + ")") sgmRen; + button -l "Delete" -al "center" -w 80 -en 0 -c ("tmSGMDelete(" + $mode + ",1)") sgmDel; + button -l "Properties..." -al "center" -w 80 -en 0 -m 0 -c "tmSGMProperties" sgmProp; + //button -l "Properties..." -al "center" -w 80 -en 0 -m (1-$mode) -c "tmSGMProperties" sgmProp; + + formLayout -e + + -af tmSGMMode "top" 5 + -af tmSGMMode "left" 5 + + -ac tmSGMGroups "left" 10 tmSGMMode + -af tmSGMGroups "top" 5 + + -af sgmUp "right" 5 + -ac sgmUp "top" 5 tmSGMMode + + -af sgmDown "right" 5 + -ac sgmDown "top" 2 sgmUp + + -af sgmRen "right" 5 + -ac sgmRen "top" 2 sgmDown + + -af sgmDel "right" 5 + -ac sgmDel "top" 2 sgmRen + + -af sgmProp "right" 5 + -ac sgmProp "top" 2 sgmDel + + -ac tmSGMList "top" 5 tmSGMMode + -ac tmSGMList "right" 5 sgmUp + -af tmSGMList "bottom" 5 + -af tmSGMList "left" 5 + + tmSGMFormLayout; + + showWindow tmSGMWin; + + tmSGMRebuildList; + +} + +// ------------------------------------------------------------------------ + +global proc tmSGMMode () { + int $i = (`optionMenu -q -sl tmSGMMode`)-1; + tmSGMBuildUI($i); +} + +// ------------------------------------------------------------------------ + +global proc tmSGMSelect (int $mode) { + button -e -en 1 sgmRen; + button -e -en 1 sgmDel; + //if (!$mode) button -e -en 1 sgmProp; + int $item[]; + $item = `textScrollList -q -sii tmSGMList`; + int $numItems = `textScrollList -q -ni tmSGMList`; + //if ($item[0] > 1) button -e -en 1 sgmUp; else button -e -en 0 sgmUp; + //if ($item[0] < $numItems) button -e -en 1 sgmDown; else button -e -en 0 sgmDown; +} + +// ------------------------------------------------------------------------ + +global proc tmReorderSGMList (int $dir, int $mode) { + global string $sgmArray[]; + + int $item[], $index; + $item = `textScrollList -q -sii tmSGMList`; + $index = $item[0]-1; + $sgmArray = stringArrayMoveItem($sgmArray,$index,$dir); + + textScrollList -e -ra tmSGMList; + + for ($i in $sgmArray) { + textScrollList -e -append $i tmSGMList; + } + textScrollList -e -sii ($item[0]+$dir) tmSGMList; + tmSGMSelect($mode); + button -e -en 1 sgmApp; + +} + +// ------------------------------------------------------------------------ + +global proc tmSGMRebuildList() { + + global string $tmGroups[], $sgmArray[]; + + int $mode = (`optionMenu -q -sl tmSGMMode`)-1; + + clear $sgmArray; + if (!$mode) { + string $group = `optionMenu -q -v tmSGMGroups`; + $sgmArray = tmSetsInGroup($group,0); + } else { + $sgmArray = $tmGroups; + } + + textScrollList -e -ra tmSGMList; + + for ($item in $sgmArray) textScrollList -e -append $item tmSGMList; + + textScrollList -e -da tmSGMList; + button -e -en 0 sgmRen; + button -e -en 0 sgmDel; + button -e -en 0 sgmDown; + button -e -en 0 sgmUp; + +} + +// ------------------------------------------------------------------------ + +global proc tmSGMRename(int $mode) { + + global string $tmGroups[]; + string $modeName[], $item[], $group; + $modeName[0] = " set"; + $modeName[1] = " group"; + + $item = `textScrollList -q -si tmSGMList`; + string $oldName = $item[0]; + + if ($mode == 1 && $oldName == "CharacterSet") { + confirmDialog -t "Rename not allowed" -m "You are not allowed to rename this item."; + return; + } + + string $result = `promptDialog -t ("Rename" + $modeName[$mode]) -message "Enter new name:" -b "OK" -b "Cancel" + -defaultButton "OK" -cancelButton "Cancel" + -dismissString "Cancel"`; + + if ($result == "OK") { + string $newName = `promptDialog -q -text`; + if (`isValidObjectName($newName)`) { + if (!$mode) { + $group = `optionMenu -q -v tmSGMGroups`; + string $oldNameLong = "tm" + $group + $oldName + "Set"; + string $newNameLong = "tm" + $group + $newName + "Set"; + + if (`objExists $newNameLong`) { + confirmDialog -t "Set exists" -m "A set by that name already exists. Please choose a new name."; + return; + } + + tmSGMRenameSet ($group, $oldNameLong, $newNameLong); + + text -e -l ($newName) ($newNameLong + "Label"); + + // change id in XML data node + string $grpObj = tmFindInXML("tmGroup","tmGroups1",".id",$group); + string $setObj = tmFindInXML("tmSet",$grpObj,".id",$oldName); + setAttr -type "string" ($setObj + ".id") $newName; + + tmSGMRebuildList; + } else { + for ($grp in $tmGroups) { + if ($grp == $newName) { + confirmDialog -t "Group exists" -m "A group by that name already exists. Please choose a new name."; + return; + } + } + + $group = $oldName; + string $oldPrefix = "tm" + $group; + string $newPrefix = "tm" + $newName; + + // rename and relabel group frameLayout + renameUI ($oldPrefix + "Group") ($newPrefix + "Group"); + frameLayout -e -l $newName ($newPrefix + "Group"); + + // rename columnLayout + renameUI ($oldPrefix + "GroupCL") ($newPrefix + "GroupCL"); + + // rename tick check box, and change command + string $checkCommand = "tmTickToggle(\"" + $newName + "\", \"Main\")"; + renameUI ($oldName + "Ticks") ($newName + "Ticks"); + checkBox -e -cc $checkCommand ($newName + "Ticks"); + + // rename group SC + renameUI ($oldPrefix + "GroupSC") ($newPrefix + "GroupSC"); + + // rename sets in group + string $set; + for ($set in tmSetsInGroup($group,0)) { + string $oldName = $oldPrefix + $set + "Set"; + string $newName = $newPrefix + $set + "Set"; + tmSGMRenameSet ($group, $oldName, $newName); + } + + // rename item in $tmGroups array + int $g; + for ($g=0; $g<=size($tmGroups); $g++) if ($tmGroups[$g] == $group) $tmGroups[$g] = $newName; + + // change ID in XML data node + string $grpObj = tmFindInXML("tmGroup","tmGroups1",".id",$group); + setAttr -type "string" ($grpObj + ".id") $newName; + + tmSGMRebuildList; + + } + } else { + confirmDialog -t "Invalid name" -m "The name entered is not valid.\nSet and group names must be valid Maya object names."; + } + } +} + +// ------------------------------------------------------------------------ + +global proc tmSGMRenameSet(string $group, string $oldName, string $newName) { + + global string $tmSets[]; + global int $tmNumButtons; + global float $tmButtonVal[]; + + rename $oldName $newName; + renameUI ($oldName + "SC") ($newName + "SC"); + renameUI ($oldName + "Spacer") ($newName + "Spacer"); + renameUI ($oldName + "OuterRow") ($newName + "OuterRow"); + + renameUI ($oldName + "Bias") ($newName + "Bias"); + floatSliderGrp -e -cc ("tmSliderStart(\"" + $newName + "\");") ($newName + "Bias"); + + string $checkCommand = "tmTickToggle(\"" + $newName + "\", \"" + $group + "\")"; + renameUI ($oldName + "Ticks") ($newName + "Ticks"); + checkBox -e -cc $checkCommand ($newName + "Ticks"); + + renameUI ($oldName + "Buttons") ($newName + "Buttons"); + int $i; + for ($i=0; $i<$tmNumButtons; $i++) { + string $buttonName = $newName + "Button" + $i; + renameUI ($oldName + "Button" + $i) $buttonName; + canvas -e -pc ("tmButtonStart(" + $tmButtonVal[$i] + ", \"" + $newName + "\")") $buttonName ; + } + + renameUI ($oldName + "Label") ($newName + "Label"); + + // rename item in $tmSets array + int $s; + for ($s=0; $s<=size($tmSets); $s++) if ($tmSets[$s] == $oldName) $tmSets[$s]= $newName; + +} + +// ------------------------------------------------------------------------ + +global proc tmSGMDelete(int $mode, int $confirm) { + + global string $tmSets[], $tmGroups[], $sgmArray[]; + + string $modeName[]; + $modeName[0] = " set?"; + $modeName[1] = " group?"; + + string $i[], $item; + int $iP[], $itemPos; + $i = `textScrollList -q -si tmSGMList`; + $iP = `textScrollList -q -sii tmSGMList`; + $item = $i[0]; + $itemPos = $iP[0]-1; + + // display confirmation if $confirm is 1 + string $c; + if ($confirm) { + string $confirmMsg = "Are you sure you want to delete the \"" + $item + "\"" + $modeName[$mode]; + $c = `confirmDialog -t ("Delete" + $modeName[$mode]) -m $confirmMsg -b "Yes" -b "No" -db "Yes" -cb "No" -ds "No"`; + } else $c = "Yes"; + + if ($c == "Yes") { + if (!$mode) { + // query group from UI + string $group = `optionMenu -q -v tmSGMGroups`; + + // build name of full set + $setName = "tm" + $group + $item + "Set"; + + // remove set from $tmSets array + $tmSets = stringArrayRemove ({$setName},$tmSets); + + // remove setSC from groupSC, and delete setSC + string $setSC = $setName + "SC"; + string $grpSC = "tm" + $group + "GroupSC"; + selectionConnection -e -rm $setSC $grpSC; + + // remove set from group in main window + deleteUI ($setName + "Spacer"); + deleteUI ($setName + "OuterRow"); + + // remove set from XML + for ($set in tmSetsInGroup($group,2)) { + int $setOrder = `getAttr ($set + ".order")`; + if ($setOrder == $itemPos) delete $set; + if ($setOrder > $itemPos) setAttr -type "string" ($set + ".order") ($setOrder -1); + } + + // remove set + delete $setName; + + tmSGMRebuildList; + + } else { + // remove group from $tmGroups array + $tmGroups = stringArrayRemove ({$item},$tmGroups); + + // remove groupSC from masterSC + selectionConnection -e -rm ("tm" + $item + "GroupSC") tmMasterSC; + + // remove all sets in group from $tmSets array + string $set; + for ($set in tmSetsInGroup($item,1)) { + $tmSets = stringArrayRemove ({$set},$tmSets); + } + + if (!size($tmGroups)) menuItem -e -en 0 tmAddSetMI; + + // remove group from UI + deleteUI ("tm" + $item + "Group"); + + // remove group from XML + for ($grp in getByType("tmGroups1","tmGroup")) { + int $grpOrder = `getAttr ($grp + ".order")`; + if ($grpOrder == $itemPos) delete $grp; + if ($grpOrder > $itemPos) setAttr -type "string" ($grp + ".order") ($grpOrder-1); + } + + tmSGMRebuildList; + } + + } +} + +// ************************************************************************ +// ************************************************************************ +// Build sets and groups +// ************************************************************************ +// ************************************************************************ + +global proc tmBuildGroup (string $groupName, int $order) { + + global string $tmGroups[]; + + print ("Building group: " + $groupName + "..."); + + $tmGroups[$order] = $groupName; + string $grpPrefix = "tm" + $groupName; + string $checkCommand = "tmTickToggle(\"" + $groupName + "\", \"Main\")"; + + setParent tmMainGroupCL; + + int $s = 1-(`checkBox -q -v tmMainSelectedSetTicks`); + frameLayout -l $groupName -cl 1 -cll 1 ($grpPrefix + "Group"); + columnLayout ($grpPrefix + "GroupCL"); + checkBox -l "Toggle All" -v 1 -en $s -cc $checkCommand ($groupName + "Ticks"); + + setParent tweenMachineWin; + + // make selectionConnection for group and add to master + string $grpSC = $grpPrefix + "GroupSC"; + selectionConnection -p ($grpPrefix + "GroupCL") -lst $grpSC; + selectionConnection -e -add $grpSC tmMasterSC; + + print ("done.\n"); + +} + +// ------------------------------------------------------------------------ + +global proc tmBuildSet (string $groupName, string $setName) { + + global string $tmSets[]; + global int $tmSliderWidth, $tmShowSliders; + + $setLabel = $setName; + + $setName = "tm" + $groupName + $setName + "Set"; + $tmSets[size($tmSets)] = $setName; + + // if first set (Selected), check and disable + // if second set or later, check only; enable based on current Selected set check status + int $tickCheck, $tickEnable; + if (size($tmSets)==1) { + $tickCheck = 1; + $tickEnable = 0; + } else { + $tickCheck = 1; + $tickEnable = 1-(`checkBox -q -v tmMainSelectedSetTicks`); + checkBox -e -en 1 tmMainSelectedSetTicks; + } + + string $groupCLName = "tm" + $groupName + "GroupCL"; // this will need to change to the name of the group form + setParent ($groupCLName); + + separator -style "none" -h 7 ($setName + "Spacer"); // this will go away once the form system is used + + string $checkCommand = "tmTickToggle(\"" + $setName + "\", \"" + $groupName + "\")"; + rowLayout -nc 2 -adj 2 -w 300 -h 30 -rat 1 "bottom" 10 -cat 1 "both" 5 -cal 1 "right" ($setName + "OuterRow"); + columnLayout -adj 1; + rowLayout -nc 2 -adj 2 -cw2 20 70 -rat 1 "bottom" 5 -rat 2 "bottom" 5; + checkBox -l "" -v $tickCheck -en $tickEnable -cc $checkCommand -rs 1 ($setName + "Ticks"); + text -l $setLabel -al "right" ($setName + "Label"); + setParent ..; + setParent ..; + columnLayout; + floatSliderGrp -field 1 -min -100.0 -max 100.0 -v 0 -adj 2 -m $tmShowSliders -cw2 40 $tmSliderWidth -cc ("tmSliderStart(\"" + $setName + "\");") ($setName + "Bias"); + + tmBuildButtonRow ($setName); + + setParent $groupCLName; + + // make selectionConnection for set and add to parent group's selectionConnection + if ($setName != "tmMainSelectedSet" && $setName != "tmCharacterSetCurrentSet") { + string $setSC = $setName + "SC"; + string $grpSC = "tm" + $groupName + "GroupSC"; + selectionConnection -p ($setName + "OuterRow") -obj $setName $setSC; + selectionConnection -e -add $setSC $grpSC; + } + + +} + +// ------------------------------------------------------------------------ + +global proc tmBuildButtonRow (string $setName) { + + global int $tmNumButtons, $tmSliderWidth, $tmShowButtons, $tmButtonRowPad; + global float $tmButtonVal[]; + global string $tmButtonRGB[]; + + int $totalSpace = ($tmNumButtons) * 5; + int $buttonWidth = floor((($tmSliderWidth)-$totalSpace)/$tmNumButtons); + int $leftover = ($tmSliderWidth) - ($totalSpace + ($tmNumButtons * $buttonWidth)) + $tmButtonRowPad; + + string $rowLayoutName = $setName + "Buttons"; + if (`rowLayout -exists $rowLayoutName`) deleteUI $rowLayoutName; + + string $rowBuilder = "rowLayout -nc " + ($tmNumButtons + 1) + " -w 300 -h 15 -m " + $tmShowButtons + " -cw 1 " + ($leftover + 40); + + int $i; + for ($i=1; $i<=$tmNumButtons; $i++) + $rowBuilder += " -cw " + ($i + 1) + " " + ($buttonWidth + 5); + $rowBuilder += " " + $rowLayoutName + ";"; + + eval $rowBuilder; + + text -l "" -h 12; + + for ($i=0; $i<$tmNumButtons; $i++) { + + string $buttonName = $setName + "Button" + $i; + string $canvasBuilder = "canvas -rgb " + $tmButtonRGB[$i] + " -width " + $buttonWidth; + $canvasBuilder += " -h 10 -ann " + $tmButtonVal[$i] + " -pc \"tmButtonStart(" + $tmButtonVal[$i] + ",\\\"" + $setName + "\\\")\" " + $buttonName + ";"; + eval $canvasBuilder; + + } +} + +// ************************************************************************ +// ************************************************************************ +// Add Sets and Groups +// ************************************************************************ +// ************************************************************************ + +global proc tmAddGroupUI () { + + window -t "Add Group" -w 100 -h 5 -rtf 1 -s 0 -mnb 0 -mxb 0 tmGroupUIWin; + + string $command = "tmAddGroup(`textField -q -tx tmGroupUIText`)"; + formLayout -nd 10 tmAddGrpFL; + text -l "Enter name of new group:" tmAddGrpLabel; + textField -w 100 -ec $command tmGroupUIText; + button -l "OK" -al "center" -c $command tmAddGrpOK; + + formLayout -e + -af tmAddGrpLabel "top" 5 + -af tmAddGrpLabel "left" 5 + -af tmAddGrpLabel "right" 5 + + -ac tmGroupUIText "top" 5 tmAddGrpLabel + -af tmGroupUIText "left" 5 + -af tmGroupUIText "right" 5 + + -ac tmAddGrpOK "top" 5 tmGroupUIText + -ap tmAddGrpOK "left" 0 2 + -ap tmAddGrpOK "right" 0 8 + + tmAddGrpFL; + + showWindow tmGroupUIWin; + +} + +// ------------------------------------------------------------------------ + +global proc tmAddGroup (string $newGroup) { + + global string $tmGroups[], $currParent; + + if (`isValidObjectName($newGroup)`) { + if (`frameLayout -ex ("tm" + $newGroup + "Group")`) { + confirmDialog -t "Group exists" -m "A group by that name already exists. Please choose a new name."; + } else { + + $currParent = "tmGroups1"; + int $order = size($tmGroups); + string $nodeString = "tmGroup id=\"" + $newGroup + "\" order=\"" + $order + "\""; + makeNode ($nodeString,0); + + select -cl; + + tmBuildGroup ($newGroup, $order); + + if (!`menuItem -q -en tmAddSetMI`) menuItem -e -en 1 tmAddSetMI; + + if (`window -ex tmGroupUIWin`) textField -e -tx "" tmGroupUIText; + + } + } else { + confirmDialog -t "Invalid name" -m "The name entered is not valid.\nGroup names must be valid Maya object names."; + } + +} + +// ------------------------------------------------------------------------ + +global proc tmAddSetUI () { + + global string $tmGroups[]; + + window -t "Add Set" -w 50 -h 10 -rtf 1 -s 0 -mnb 0 -mxb 0 tmSetUIWin; + + string $command = "tmAddSet(`ls -sl`,`textField -q -tx tmSetUIText`,`optionMenu -q -v tmSelectGroup`)"; + formLayout -w 50 -nd 10 tmSetUIFL; + + text -l "Enter name of new set:" tmSetUILabel1; + textField -ec $command tmSetUIText; + + text -l "Add new set to group:" tmSetUILabel2; + optionMenu tmSelectGroup; + for ($grp in $tmGroups) menuItem -l $grp; + setParent tmSetUIFL; + button -l "OK" -al "center" -c $command tmSetUIOK; + + formLayout -e + + -af tmSetUILabel1 "top" 5 + -af tmSetUILabel1 "left" 5 + -af tmSetUILabel1 "right" 5 + + -ac tmSetUIText "top" 5 tmSetUILabel1 + -af tmSetUIText "left" 5 + -af tmSetUIText "right" 5 + + -ac tmSetUILabel2 "top" 5 tmSetUIText + -af tmSetUILabel2 "left" 5 + -af tmSetUILabel2 "right" 5 + + -ac tmSelectGroup "top" 5 tmSetUILabel2 + -af tmSelectGroup "left" 5 + -af tmSelectGroup "right" 5 + + -ac tmSetUIOK "top" 7 tmSelectGroup + -ap tmSetUIOK "left" 0 2 + -ap tmSetUIOK "right" 0 8 + -af tmSetUIOK "bottom" 5 + + tmSetUIFL; + + showWindow tmSetUIWin; + +} + +// ------------------------------------------------------------------------ + +global proc tmAddSet (string $nodes[], string $newSet, string $groupName) { + + global string $tmGroups[], $tmSets[], $currParent; + + if (!size($nodes)) { + confirmDialog -t "Nothing Selected" -m "You must select one or more objects to make a new set."; + return; + } + + if (`isValidObjectName($newSet)`) { + + string $set; + for ($set in tmSetsInGroup($groupName,0)) { + if ($newSet == $set) { + confirmDialog -t "Set exists in selected group" -m "A set by that name already exists in the selected group.\nPlease choose a new set name, or pick a different group."; + return; + } + } + + string $longSetName = "tm" + $groupName + $newSet + "Set"; + + // create new set + sets -n $longSetName $nodes; + select -r $nodes; + + string $groups[]; + $groups = getByType("tmGroups1","tmGroup"); + + for ($grp in $groups) { + if(`getAttr($grp+".id")` == $groupName) { + $currParent = $grp; + } + } + + string $sets[]; + $sets = getByType($currParent,"tmSet"); + int $order = size($sets); + + string $nodeString = "tmSet id=\"" + $newSet + "\" order=\"" + $order + "\""; + makeNode ($nodeString,0); + + for ($n in $nodes) { + makeNode ("tmObject",0); + addContent ($n); + closeTag; + } + + select -r $nodes; + + tmBuildSet ($groupName, $newSet); + + if (`window -ex tmSetUIWin`) textField -e -tx "" tmSetUIText; + string $parentLayout = "tm" + $groupName + "Group"; + frameLayout -e -cl 0 $parentLayout; + } else { + confirmDialog -t "Invalid name" -m "The name entered is not valid.\nSet names must be valid Maya object names."; + } + +} +// ************************************************************************ +// ************************************************************************ +// Character set utilities +// ************************************************************************ +// ************************************************************************ + +global proc tmAddCharacterGroup () { + + global string $tmGroups[], $currParent; + + // check to see if custom set already exists + if (`frameLayout -ex "tmCharacterSetGroup"`) { + confirmDialog -t "Group exists" -m "A group and set that control the current character set already exist."; + return; + } + + // add group + $currParent = "tmGroups1"; + int $order = size($tmGroups); + string $nodeString = "tmGroup id=\"CharacterSet\" order=\"" + $order + "\""; + makeNode ($nodeString,0); + + tmBuildGroup ("CharacterSet", $order); + + if (!`menuItem -q -en tmAddSetMI`) menuItem -e -en 1 tmAddSetMI; + + // add set named "Current" + + makeNode ("tmSet id=\"Current\" order=\"0\"",0); + + makeNode ("tmObject",0); + addContent ("tmCustomCharacterSet"); + closeTag; + + tmBuildSet ("CharacterSet", "Current"); + +} + +proc tmGetSubChars (string $curChar,string $group) { + int $i; + string $ind, $subChars[], $obj, $charSet; + + $charSet = $curChar; + // if name has namespace, replace colon with underscore + if (`match ".*:.*" $curChar` != "") $curChar = `substitute ":" $curChar "_"`; + + print ("Adding set for sub-character: " + $charSet + "\n"); + tmAddSet ({$charSet}, $curChar, $group); + select -cl; + + $subChars = `character -q $charSet`; + + for ($obj in $subChars) if (`nodeType $obj` == "character") getSubChars ($obj, $group); +} + +global proc tmImportCharSets () { + + string $chars[], $subChars[], $obj, $charSet; + $chars = `currentCharacters`; + + for ($char in $chars) { + $charSet = $char; + // if name has namespace, replace colon with underscore + if (`match ".*:.*" $char` != "") $char = `substitute ":" $char "_"`; + + if (`frameLayout -ex ("tm" + $char + "Group")`) + print ("Skipping character: " + $char + " . Group already exists.\n"); + else { + print ("Adding group and set for parent character: " + $charSet + "\n"); + + tmAddGroup ($char); + tmAddSet ({$charSet}, $char, $char); + select -cl; + + $subChars = `character -q $charSet`; + + for ($obj in $subChars) if (`nodeType $obj` == "character") tmGetSubChars ($obj, $char); + + } + } +} + +// ************************************************************************ +// ************************************************************************ +// Read from XML data in scene +// ************************************************************************ +// ************************************************************************ + +global proc tmReadXML () { + + global string $tmGroups[], $tmSets[], $tmButtonRGB[]; + global int $tmNumButtons, $tmShowButtons, $tmShowSliders; + global float $tmButtonVal[]; + + clear $tmGroups; + clear $tmSets; + clear $tmButtonVal; + clear $tmButtonRGB; + + $tmSets[0] = "tmMainSelectedSet"; + + // read button/slider visibility settings + $tmShowSliders = getData("tmSliderVis1"); + $tmShowButtons = getData("tmButtonVis1"); + menuItem -e -cb $tmShowSliders tmSliderTog; + menuItem -e -cb $tmShowButtons tmButtonTog; + + // read button values and RGB settings + $tmNumButtons = (int) `getAttr ("tmButtons1.id")`; + + int $i; + for ($i=0; $i<$tmNumButtons; $i++) { + string $buttonVal = "tmButtonValue" + ($i+1); + $tmButtonVal[$i] = `getData ($buttonVal)`; + string $buttonRGB = "tmButtonRGB" + ($i+1); + $tmButtonRGB[$i] = `getData ($buttonRGB)`; + } + + // read groups + + string $groups[]; + $groups = getByType ("tmGroups1","tmGroup"); + + for ($grp in $groups) { + + string $grpId = `getAttr ($grp + ".id")`; + int $grpOrd = `getAttr ($grp + ".order")`; + $tmGroups[$grpOrd] = $grpId; + tmBuildGroup ($grpId,$grpOrd); + + // get sets in the group and put them in order + + string $sets[]; + $sets = getByType ($grp, "tmSet"); + + string $tmpSet[]; + clear $tmpSet; + + for ($set in $sets) { + + int $setOrd = `getAttr ($set + ".order")`; + $tmpSet[$setOrd] = $set; + + } + + // build sets into groups + for ($i=0; $i\n"; + fprint $fileId "\n"; + + // export data for options + fprint $fileId " \n"; + + // need to add script to export Options data + fprint $fileId (" " + $tmShowSliders + "\n"); + fprint $fileId (" " + $tmShowButtons + "\n"); + fprint $fileId (" \n"); + + int $i = 0; + for ($i=0; $i<$tmNumButtons; $i++) { + fprint $fileId " \n"; + fprint $fileId (" " + $tmButtonRGB[$i] + "\n"); + fprint $fileId (" " + $tmButtonVal[$i] + "\n"); + fprint $fileId " \n"; + } + + fprint $fileId (" \n"); + fprint $fileId " \n"; + + // export data for groups and sets + fprint $fileId " \n"; + + string $groups[]; + $groups = getByType ("tmGroups1","tmGroup"); + + for ($grp in $groups) { + + string $grpId = `getAttr ($grp + ".id")`; + string $grpOrd = `getAttr ($grp + ".order")`; + fprint $fileId (" \n"); + + string $sets[]; + $sets = getByType ($grp,"tmSet"); + + for ($set in $sets) { + string $setId = `getAttr ($set + ".id")`; + string $order = `getAttr ($set + ".order")`; + fprint $fileId (" \n"); + + string $tmObjects[]; + $tmObjects = getByType ($set,"tmObject"); + + for ($obj in $tmObjects) { + string $objName = getData($obj); + fprint $fileId (" " + $objName + "\n"); + } + fprint $fileId (" \n"); + } + fprint $fileId " \n"; + } + + fprint $fileId " \n"; + fprint $fileId "\n"; + fclose $fileId; + + // return true to close browser dialog + return 1; + + } else { + fileBrowser tmSaveToFile "Save" "" 1; + return 0; + } + +} + +// -------------------------------------------------------------------------- + +global proc tmLoadFromFile () { + + global string $tmSets[]; + + string $c; + // if a set exists, confirm that user wants to load new data + if (size($tmSets) > 1) $c = `confirmDialog -t "Replace data?" -m "Replace current data with data from file?" -b "Yes" -b "No" -db "Yes" -cb "No" -ds "No"`; + + if ($c != "No") { + + // show file browser dialog (fileDialog) for user to choose file + string $file = `fileDialog -dm "*.xml"`; + if ($file != "") { + + // delete existing XML data + delete tmXML1; + + // load XML data from file + loadXML ($file); + + // check that data is valid tweenMachine data + string $s[] = `ls -sl`; + string $test[]; + $test = getByType ("XML1","tmOptions"); + if (size($test)==0) { + confirmDialog -t "Invalid file" -m "Selected file does not contain valid tweenMachine data."; + } else { + rename XML1 tmXML1; + select -cl; + tweenMachine; + } + } + } + +} + +// ************************************************************************ +// ************************************************************************ +// Starters and main TM procedure +// ************************************************************************ +// ************************************************************************ + +global proc tmSliderStart (string $name) { + + string $nodes[], $biasCtl; + + $biasCtl = $name + "Bias"; + $poseBias = (`floatSliderGrp -q -v $biasCtl` + 100) / 200; + + if (startsWith($name,"tmCharacterSet")) + $nodes = `currentCharacters`; + else if ($biasCtl == "tmMainSelectedSetBias") + $nodes = `ls -sl`; + else + $nodes = `sets -q $name`; + + + tween_Machine ($poseBias,$nodes); + +} + +// -------------------------------------------------------------------------- + +global proc tmButtonStart (float $poseBias, string $name) { + + string $nodes[]; + + $biasCtl = $name + "Bias"; + floatSliderGrp -e -v $poseBias $biasCtl; + $poseBias = ($poseBias + 100) / 200; + + if (startsWith ($name, "tmCharacterSet")) + $nodes = `currentCharacters`; + else if ($biasCtl == "tmMainSelectedSetBias") + $nodes = `ls -sl`; + else + $nodes = `sets -q $name`; + + tween_Machine ($poseBias,$nodes); + +} + +// -------------------------------------------------------------------------- + +global proc tween_Machine(float $poseBias, string $nodes[]) { + + global int $tmSpecTick; + string $nodes[], $curves[], $newCurves[], $attrs[], $crv, $attr, $biasCtl; + + clear $curves; + clear $newCurves; + + string $pf = `getPanel -wf`; + + float $timeRng[] = `timeControl -q -ra timeControl1`; // get selected range on timeline (as an array) + int $timeC = $timeRng[0]; // current keyframe, where new key will be added + + $curves = `keyframe -q -name $nodes` ; // get names of all keyframed curves on all selected objects + $attrs = `channelBox -q -sma "mainChannelBox"`; // get names of selected attributes in channel box + + if (size($attrs) > 0) { + + // convert short entries in attribute list to long names + int $i; + for ($i=0; $i + +tweenMachine Documentation + + + + + +
+ +

tweenMachine

+

by Justin Barrett

+ + + +

Table of Contents

+ + + + + +

File List

+

[ back to top ]

+ +

Included in the tweenMachine.zip archive are the following files...

+ + + + + +
tweenMachine.melthe main script
xml_lib.melXML file parser library by J. Adrian Herbez
tweenMachine_docs.htmlthe very text you are reading right now!
+ + + + +

Installation

+

[ back to top ]

+ +

Save the following two files to your default Maya scripts directory:

+ +

tweenMachine.mel
+xml_lib.mel

+ +

For Windows, look under "My Documents" for the following path:

+

maya/x.x/scripts

+ +

For Macs, the path would look something like this:

+

user/Library/Preferences/Alias/maya/x.x/scripts

+ +

In both cases, replace "x.x" with the version of Maya you're running.

+ +

Once the scripts are installed in the correct folder, open Maya. In the script editor, type the following:

+ +

tweenMachine;

+ +

Highlight the line, then select File-->Save Selected to Shelf to turn it into a shelf button. To start the tweenMachine, just click the button.

+ + + + +

Operation

+

[ back to top ]

+ +

When running the tweenMachine for the first time, it will open with a bare-bones interface. There's a single slider labeled "Selected", a group of seven buttons below the slider, and a disabled check-box on the left. In this mode, the tweenMachine operates only on selected objects. Click between two keys on the timeline, and either adjust the "Selected" slider (or click one of the buttons below the slider) to create a new breakdown key. The values set for the new breakdown key will be biased toward the surrounding keys on the timeline based on how you set the slider (or which button you clicked). In the slider's default position, the new keys will be exactly halfway between the surrounding keys. Slider values (or buttons) to the left will favor the new key toward the previous key, while values (or buttons) to the right will favor the next key. If you wish, you can highlight individual channels in Maya's channel box, and the tweenMachine will only perform its work on those channels, leaving others untouched.

+ +

While the tweenMachine is useful in this default mode, its real power lies in the use of groups and sets. In tweenMachine lingo, a "set" refers to a custom slider that affects a specific list of objects in your scene, while a "group" is simply a container that can hold one or more sets. The idea here is that you can create a group for each character in your scene, and then create sets in each group that affect specific parts of those characters. Make a set that affects the whole character, one that affects only the spine, one that only affects the left hand, etc. In this way, you can create breakdown poses for different parts of a character's body that favor the surrounding poses in different ways. This will allow you to easily block in overlap between different body parts in the early stages of animating a scene, rather than waiting for a later pass.

+ +

Another important thing to note about sets is that you don't have to have anything selected to use them. Once a set is made, the set's slider and buttons will affect the objects in the set at any time, allowing you to very quickly adjust multiple sets without selecting and deselecting controls.

+ +

So if you don't have to select anything to use sets, how do you see where your poses lie on the timeline? That's where the check-boxes come in. In the tweenMachine's default mode, the timeline behaves as usual, only displaying tick marks for the selected objects. As you start adding custom groups and sets, you'll notice that each set has a check-box, and each group also has a "Toggle All" check-box. Once you've added at least one custom set, the "Selected" check box will become enabled. When you uncheck this box, all the other check boxes become enabled, and the ticks on the timeline will be driven by keyframes on the objects in your custom sets. Using the check boxes for sets and groups, you can selectively hide and unhide the tick marks for individual sets or entire groups. To go back to seeing ticks for selected objects, check the box by the "Selected" slider at the top.

+ +

Now you've created a number of groups and sets, and you want to use them the next time you open your scene. Easy...just save your file, and all the group and set information is saved with it! Open your scene later, run the tweenMachine, and it will read all the data and recreate all the groups and sets. If you have the tweenMachine open when you open a new scene, and the scene has tweenMachine data inside it, the interface will automatically update with the sets and groups it finds in the file.

+ +

If you want to use the same groups and sets in a different scene, choose File-->Save.... A file dialog will appear, allowing you to choose a location and filename, and the data will be saved as an XML data file. Open the new scene, run the tweenMachine, and choose File-->Open.... Use the file dialog to find the data file you created previously, and the data will be read in to create the interface. Once you save that file, the tweenMachine data will be saved with it.

+ +

That covers the core operation of the tweenMachine, but there are additional features available through various menu items. A full breakdown of all menu items is covered in the next section. + + + + +

Menu Breakdown

+

[ back to top ]

+ +

The functions for all tweenMachine menu items are as follows...

+
+
File
+
+
+
New...
+
Erases all data for custom sets and groups, returning the tweenMachine to its default state. A prompt is displayed first, allowing you to confirm the choice.
+
Open...
+
Open a saved tweenMachine data file. File dialog will only display XML files by default.
+
Save...
+
Saves data to an XML data file. File extension of ".xml" will be added automatically if not added by you.
+
+
+ +
Tools
+
+
+
Add Set...
+
Opens a dialog box to add a new set. Select the desired objects, enter a name into the text field, choose the group that the set should belong to from the drop-down menu, and click "OK". After adding a set, the group containing the set will be expanded to show the set. In addition, the text field in the "Add Set" dialog will clear, allowing you to add additional sets if desired. Use the standard window close button to close the dialog.
+
Add Group...
+
Opens a dialog box to add a new group. Enter a name into the text field and click "OK". After adding a group, the text field in the "Add Group" dialog will clear, allowing you to add additional groups if desired. Use the standard window close button to close the dialog.
+
Manage Sets...
+
Opens a UI for managing sets. Details in the Manage Sets and Groups section below. +
Manage Sets...
+
Opens a UI for managing groups. Details in the Manage Sets and Groups section below. +
Character Sets...
+
+
+
Add Character Group
+
Creates a "CharacterSet" group containing a set labeled "Current". This allows you to apply pose favoring to the active character set. NOTE: For data-management reasons, the "CharacterSet" group cannot be renamed.
+
Import Character Sets
+
Creates a new group named after the active character set. Inside this group is a set that affects the specified character set, along with sets for all sub-character sets beneath it.
+
+
+
+
+ +
Options
+
+
+
Sliders
+
Toggles the visibility of sliders in the interface. Un-check to only use buttons.
+
Buttons
+
Toggles the visibility of buttons in the interface. Un-check to only use sliders. For more info on buttons, see the Buttons section below.
+
Overshoot
+
Toggles "overshoot mode" for all sliders. By default, the range of all sliders is -100 to 100. When "overshoot mode" is active, the range of all sliders changes to -150 to 150. Using this mode allows you to create overshoot poses on the right end of the sliders in the 101-150 range, while using it in the -101 to -150 range on the left end effectively creates anticipation poses.
+
Special Tick Color
+
Toggles the tick color used for keys added using the tweenMachine. When off (default), the standard tick color is used. When on, the "special" tick color is used. NOTE: This menu item is only visible for those using Maya 7 or higher.
+
+
+ +
+ + + +

Manage Sets and Groups

+

[ back to top ]

+ +

Whether you choose either Manage Sets or Manage Groups from the Tools menu, the same UI will open, with slightly different options available depending on which mode you chose.

+ +

In the upper-left corner is a drop-down menu that allows you to switch modes between sets and groups. When in "Groups" mode, the list area of the UI will display all groups in the main tweenMachine interface. When in "Sets" mode, another drop-down menu will appear to the right of the mode menu, containing a list of all groups in the main interface. By default it will show the top-most group, and the list area will display all the sets in that group. Change the group, and the list will update appropriately.

+ +

In either mode, there are a number of options available on the right of the list...

+ +
+
Rename
+
Allows you to rename the selected set/group. An error popup will appear if the name entered already exists in the selected group.
+
Delete
+
Allows you to delete the selected set/group. A confirmation popup will appear, giving you a chance to back out. (NOTE: You can also hit the "Delete" key on the keyboard instead of clicking this button.) +
+ +

Additional options will be coming in future updates, including the ability to change the order of sets and groups, move sets between groups, and manage the objects controlled by a set.

+ + + + +

Buttons

+

[ back to top ]

+ +

The buttons below each set slider provide a quick way to set the slider to predictable values. By default they are set to mimic the style of pose favoring familiar to 2D animators. The center button is an exact halfway point between the two poses, and spreading out from the center on either side, the remaining buttons represent pose favoring by 1/3, 1/5, and 1/8 in their respective directions.

+ +

By holding the mouse over any button, a small annotation popup will appear showing the numerical value assigned to that button. A future update will allow you to modify the number of buttons, the button values, and the button colors.

+ + + + +

Coming Soon

+

[ back to top ]

+ +

There are a number of features not yet active. Some of those (but not all) include...

+
+
Import/Export
+
A more detailed version of the save/load feature. This will allow you to import/export only specific parts of the data. For example, export an entire group and merge it with the groups in another scene, or export/import a single set.
+
Additions to set/group management UI
+
Still to come in the set/group management UI are options that allow you to change the order of sets and groups in the interface, move sets between groups, and add/remove objects to/from existing sets.
+
Manage buttons
+
This will allow you to specify the number of buttons in the button row, alter the value of each button, and change button colors.
+
+ + + + +

Version History

+

[ back to top ]

+ +
+ +
v2.02
+
    +
  • removed the need to source the script before running
  • +
  • added "Special Tick Color" toggle to "Options" menu (only visible when using Maya 7 or higher)
  • +
+ +
v2.01
+
    +
  • fixed minor hiccup with display of "Add Groups" UI
  • +
  • fixed problem where normal timeline ticks for selected objects would not return after the main UI was closed
  • +
  • disabled auto-refresh after opening a scene. Once I figure out why it sometimes crashes Maya, I'll enable it again. +
  • added "Character Sets" item under "Tools," with two sub-items: "Add Character Group" and "Import Character Sets" +
+ +
v2.00
+
    +
  • if all groups have been deleted, "Add Set" item in Tools menu is disabled
  • +
  • removed "Manage Buttons" item from Tools menu. It will be returned once the feature is added.
  • +
  • removed "Move Up", "Move Down", and "Properties..." buttons from group/set management UI. They will be returned once the features are added.
  • +
  • removed "Cancel" button from "Add Set" and "Add Group" windows.
  • +
  • text fields in "Add Set" and "Add Group" windows now clear after a set/group has been added, and windows stay open so additional sets/groups may be added if desired.
  • +
  • renaming a set/group checks for an existing set/group by the same name
  • +
  • after adding a new set to a group, the group expands to show its contents
  • +
+ +
v2.00 beta 4.5
+
    +
  • added scriptjobs to automatically refresh the interface under certain circumstances
  • +
  • documentation updated with path to "scripts" folder for Macs.
  • +
+ +
v2.00 beta 4
+
    +
  • added set/group management interface ("Rename" and "Delete" only for now)
  • +
  • button height increased
  • +
  • increased the width of set check boxes so they don't get chopped off on Macs
  • +
  • added a little extra padding to the left of the buttons on Macs to (hopefully) center them beneath the slider better
  • +
+ +
v2.00 beta 3
+
    +
  • check boxes now work, allowing control over the visibility of ticks on the timeline
  • +
  • new groups are now expanded by default
  • +
+ +
v2.00 beta 2
+
    +
  • "New" added to "File" menu
  • +
  • Open and Save functions now active
  • +
  • fixed multiple instances of tmXML data being created
  • +
  • fixed conflict with underscores in group/set names
  • +
  • removed window size restriction
  • +
+ +
v2.00 beta 1
+
    +
  • initial beta release +
+ +
+ + + + +

Contact

+

[ back to top ]

+ +

Feel free to write to report bugs with the tweenMachine, or to suggest features you'd like to see in future versions. To contact me, please use the contact page on my web site.

+
+ + diff --git a/2009-x64/AnimationScripts/scripts/xml_lib.mel b/2009-x64/AnimationScripts/scripts/xml_lib.mel new file mode 100644 index 0000000..73fce1d --- /dev/null +++ b/2009-x64/AnimationScripts/scripts/xml_lib.mel @@ -0,0 +1,254 @@ +/* + +xml_lib.mel +J. Adrian Herbez + +This script is meant to be used as a library, rather than a standalone script. To use the script, place the following line at the top of your MEL script: + +source xml_lib.mel; + +That will give you access to all of the functions defined herein. The script will parse XML data and store it into a scene in the form of empty transform nodes, parented to preserve the hierarchy in the file. + +*/ + +global string $currParent; + +global proc string getData(string $node) +{ + string $output; + + if (catch($output = `getAttr ($node+".data")`)) + { + warning("Specified node has no data - try requesting attributes, or examining the children nodes"); + } + + return $output; +} + + +// this procedure returns an array of all the attributes of the given node +// at a minimum, there should always be a type attribute holding the type of node +// each attribute is listed as attName=value +// break it apart with tokenize, or just use MEL's getAttr directly +global proc string[] getAtts(string $node) +{ + string $atts[] = `listAttr -ud $node`; + + string $list[]; + string $temp; + + for ($i in $atts) + { + $temp = $i; + $temp += "="; + $temp += `getAttr ($node+"."+$i)`; + + $list[size($list)] = $temp; + } + + return $list; +} + + +// returns a list of all nodes of a given type in the specified XML file +global proc string[] getByType(string $topNode, string $type) +{ + string $list[]; + string $all[] = `listRelatives -ad $topNode`; + + string $temp; + + for ($i in $all) + { + $temp = `getAttr ($i+".type")`; + + if ($temp == $type) + { + $list[size($list)] = $i; + } + } + + return $list; +} + +// parses the specified XML file +global proc string loadXML(string $fileName) +{ + global string $currParent; + int $fileID = `fopen $fileName "r"`; + + string $currTag[]; + int $tagI = 0; + + string $line = `fgetline $fileID`; + + string $char; + string $tag; + string $close; + int $start = 1; + string $content = ""; + + string $topNode = makeNode("XML file",1); + $currParent = $topNode; + string $newNode; + + while ($line != "") + { + for ($i=1;$i"` != 0) + { + $tag += $char; + $i++; + $char = `substring $line $i $i`; + } + if ($start) + { + // make a new node + makeNode($tag,0); + } + else + { + // jump up a level + closeTag(); + } + } + else + { + // not in a tag- must be actual data + $content += $char; + $i++; + $char = `substring $line $i $i`; + while ((`strcmp $char "<"` != 0) && ($i < size($line))) + { + $content += $char; + $i++; + $char = `substring $line $i $i`; + } + $i--; + } + + } + + $line = `fgetline $fileID`; + } + + fclose $fileID; + + select -r $topNode; + + print ("\n"+$content+"\n"); + + return $topNode; +} + +///////////////////////////////////////////////////////////////////////////////////////// +/* +Below are a number of helper procedures used by the above functions. The procedures below aren't meant to be called directly. +*/ + +// creates a node, sets its attributes, and parents it to the appropriate node +global proc string makeNode(string $type,int $root) +{ + $type = substituteAllString($type,"?",""); + + global string $currParent; + + string $buffer[]; + + tokenize $type " " $buffer; + if (size($buffer) > 1) + { + $type = $buffer[0]; + } + + int $addOn = 1; + + string $tempName = $type + $addOn; + + while (`objExists $tempName`) + { + $addOn++; + $tempName = $type + $addOn; + } + + $name = `group -em `; + + if (!$root) + { + string $temp[] = `parent $name $currParent`; + $name = $temp[0]; + } + + $name = `rename $name $tempName`; + $currParent = $name; + + addAttr -ln type -dt "string" $name; + setAttr -type "string" ($name+".type") $type; + + for ($i=1;$i + +Comet Maya Scripts + + + + +

Comet Maya Scripts

+Copyright ©2004 Michael B. Comet All Rights Reserved +

+DESCRIPTION: +

+These are several free scripts for use with Maya. Use at your own risk. +

+ +REQUIREMENTS: +

+These scripts have been made to work with Maya 6.0, but may work with other +versions as well. +

+ +INSTALL: +

+

    +
  1. Quit Maya if it is running. +

    +

  2. Un-zip the contents of the scripts to your local sourceable script path for yourself. +Typically something like:
    +        C:\Documents and Settings\YOURNAME\My Documents\maya\scripts\ +
    +will work just fine. +

    +

  3. If you wish to have a nice menu for all of these scripts, you want to do a +source "cometMenu.mel" ; command. You can set this up to happen automatically in the +next few steps. +

    +

  4. In your Maya Version script direcory, namely (note this is a different directory than above):
    +        C:\Documents and Settings\YOURNAME\My Documents\maya\6.0\scripts\ +
    +edit (or create if it doesn't exist) a file called userSetup.mel +

    +

  5. Add the line:
    +        source "cometMenu.mel" ; +
    +at the end of that file. +

    +

  6. Start Maya. +

    +

  7. You can read the top of each script file for information as to what they each do, +and for more specific help. +

    +

+ + + +
+Comet Cartoons - http://www.comet-cartoons.com/ - Michael B. Comet + + diff --git a/2009-x64/CometScripts/scripts/autoTangent.mel b/2009-x64/CometScripts/scripts/autoTangent.mel new file mode 100644 index 0000000..90a4137 --- /dev/null +++ b/2009-x64/CometScripts/scripts/autoTangent.mel @@ -0,0 +1,241 @@ +// -------------------------------------------------------------------------- +// autoTangent.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Changes selected graph editor keys to be smooth but without overshoot. +// Kinda like 3DSMax's autoTangents. The amount of softness can be +// user set, so that the tangents will overshoot a little bit if desired. +// +// This also has a built in UI to run all of this and to set the softness. +// The softness value is also remembered per session from the last one used. +// +// USAGE: +// source "autoTangent.mel"; autoTangent(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2003 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 09/06/2003 - Michael B. Comet - Initial Release +// 1.01 - 10/16/2003 - comet - Made -cc for slider so more interactive. +// 1.02 - 04/12/2005 - mcomet - Made "Flatten" for start/end keys option +// at bequest of Rob Dollase. This will work truly flat when the +// soften value is at 0. When soften is higher the keys will +// be rounder like the others tho still more towards flat. +// +// -------------------------------------------------------------------------- + +/* + * Global Vars + */ +global string $aTan_version = "1.02"; + +// -------------------------------------------------------------------------- + +/* + * autoTangent() - Main Entry + */ +global proc autoTangent() +{ + global string $aTan_version ; + + if (`window -q -ex autoTangentWin`) + { + showWindow autoTangentWin ; + return ; + } + + + // Load Prefs + float $soft = 0.0 ; + int $bFlatten = 0 ; + if(`optionVar -ex "aTan_softness"`) + $soft = `optionVar -q "aTan_softness"` * 100.0 ; + if(`optionVar -ex "aTan_flatten"`) + $bFlatten = `optionVar -q "aTan_flatten"` ; + + + // Make Window + window -w 200 -h 125 -t ("autoTangent - "+$aTan_version) -in "autoTangent" autoTangentWin; + columnLayout ; + + separator -style "in" -w 200 -h 5 ; + checkBox -l "Flatten Start/End Keys" -v $bFlatten cbFlatten ; + floatSliderGrp -label "Softness:" -field true -min 0.0 -max 100.0 -v $soft -adj 3 -cw3 60 40 90 -cc ("aTan_start();") fsgSoft; + button -l ("Auto Tangent Selected Keys") -al "center" -w 180 -c ("aTan_start();") btnTan; + separator -style "in" -w 200 -h 5 ; + text -l ("Copyright ©2003-2005 Michael B. Comet"); + text -l ("All Rights Reserved") ; + + showWindow autoTangentWin ; + +} + +// -------------------------------------------------------------------------- + +/* + * aTan_start() - Wrapper for start from UI. + */ +global proc aTan_start() +{ + float $soft = `floatSliderGrp -q -v fsgSoft` / 100.0 ; + int $bFlatten = `checkBox -q -v cbFlatten` ; + + // Store in option var too! + optionVar -fv "aTan_softness" $soft ; + optionVar -iv "aTan_flatten" $bFlatten ; + + // Make it so! + aTan_smoothKeys($soft, $bFlatten) ; + +} + + +// -------------------------------------------------------------------------- + +/* + * aTan_smoothKeys() - Does actual smooth work + */ +global proc aTan_smoothKeys(float $softness, int $bFlatten) +{ + string $curves[] = `keyframe -q -name -sl` ; // get all selected animCurve Nodes + string $crv ; + + waitCursor -state on ; + + // For each curve... + for ($crv in $curves) + { + // What key indexes 0..1..2..n for that curve are chosen? + // + int $idxs[] = `keyframe -q -indexValue -sl $crv` ; + int $idx ; + + for ($idx in $idxs) + { + // How many keys on this curve? + int $total = `keyframe -q -keyframeCount $crv` ; + + // Figure current Time and Value + // + float $valCs[] = `keyframe -index $idx -q -valueChange $crv` ; + float $timeCs[] = `keyframe -index $idx -q -timeChange $crv` ; + + float $valPs[] = $valCs ; + float $valNs[] = $valCs ; + float $timePs[] = $timeCs ; + float $timeNs[] = $timeCs ; + + // Figure prev Time and Value + // + if ($idx > 0) + { + $valPs = `keyframe -index ($idx-1) -q -valueChange $crv` ; + $timePs = `keyframe -index ($idx-1) -q -timeChange $crv` ; + } + + // Figure next Time and Value + // + if ($idx < $total-1) + { + $valNs = `keyframe -index ($idx+1) -q -valueChange $crv` ; + $timeNs = `keyframe -index ($idx+1) -q -timeChange $crv` ; + } + + float $valC = $valCs[0] ; + float $valP = $valPs[0] ; + float $valN = $valNs[0] ; + float $timeC = $timeCs[0] ; + float $timeP = $timePs[0] ; + float $timeN = $timeNs[0] ; + + // Make start/end keys nice and not flat + if ($idx == 0 && !$bFlatten) + { + $timeP = $timeC - ($timeN - $timeC) ; + $valP = $valC - ($valN - $valC) ; + } + else if ($idx == ($total-1) && !$bFlatten) + { + $timeN = $timeC + ($timeC - $timeP) ; + $valN = $valC + ($valC - $valP) ; + } + + + // Now we have all the basic data we need of current and prev and next + // key times and values... so use that to adjust the current tangents. + // + // print ("// valC="+$valC+" timeC="+$timeC+" //\n") ; + // print ("// valP="+$valP+" timeP="+$timeP+" //\n") ; + // print ("// valN="+$valN+" timeN="+$timeN+" //\n") ; + + // Compare changes in value + float $valIn = $valC - $valP ; + float $valOut = $valN - $valC ; + + // Compare changes in time + float $timeIn = $timeC - $timeP ; + float $timeOut = $timeN - $timeC ; + + // Figure slopes + float $slopeIn = 0 ; + float $slopeOut = 0 ; + if ($timeIn != 0) + $slopeIn = $valIn / $timeIn ; + if ($timeOut != 0) + $slopeOut = $valOut / $timeOut ; + + // print ("// slopeIn="+$slopeIn+" slopeOut="+$slopeOut+" //\n") ; + + // Now set power to be more of whichever one has LESS slope + float $powIn = 0.5, $powOut = 0.5; + + if ($slopeIn + $slopeOut != 0) + $powIn = 1.0 - ( abs($slopeIn) / ( abs($slopeIn) + abs($slopeOut) ) ) ; + $powOut = 1.0 - $powIn ; + + // Now use softness value so that as it goes to 1, we reset the + // weight power evenly to 0.5... so that it becomes more like smooth. + // + $powIn = ((1.0 - $softness) * $powIn ) + ($softness * 0.5) ; + $powOut = ((1.0 - $softness) * $powOut ) + ($softness * 0.5) ; + + // print ("// powIn="+$powIn+" powOut="+$powOut+" //\n") ; + + float $newSlope = ( $powIn * $slopeIn ) + ( $powOut * $slopeOut ) ; + + // print ("// newSlope="+$newSlope+" //\n") ; + + float $ang = atan( $newSlope ) * 180.0 / 3.14159 ; + + // print ("// ang="+$ang+" //\n") ; + + // Update the tangents + keyTangent -itt spline -ott spline -time $timeC $crv ; + keyTangent -ia $ang -oa $ang -time $timeC $crv ; + + // Also does this use weighted tangents? + int $wts[] = `keyTangent -q -wt $crv` ; + if ($wts[0] == 1) + { + float $inWt = abs($timeIn) / 3.0 ; + float $outWt = abs($timeOut) / 3.0 ; + keyTangent -iw $inWt -ow $outWt -time $timeC $crv ; + } + } // end of each idx + + } // end of each curve + + waitCursor -state off ; + + print ("// autoTangent Done. //\n") ; + +} + + +// -------------------------------------------------------------------------- + diff --git a/2009-x64/CometScripts/scripts/cometAttrEditor.mel b/2009-x64/CometScripts/scripts/cometAttrEditor.mel new file mode 100644 index 0000000..b62eedc --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometAttrEditor.mel @@ -0,0 +1,173 @@ +// -------------------------------------------------------------------------- +// cometAttrEditor.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// A util for dealing with some attribute stuff. +// +// REQUIRES: +// Nothing. +// +// +// USAGE: +// source "cometAttrEditor.mel"; cometAttrEditor(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Aug 27, 2004 - Initial Release. +// +// -------------------------------------------------------------------------- + + +/* + * cometAttrEditor() - Main Entry + */ +global proc cometAttrEditor() +{ + if (`window -q -ex cometAttrEditorWin`) + { + showWindow cometAttrEditorWin ; + return ; + } + + + window -w 230 -h 60 -t "Comet Attr. Editor - 1.00" cometAttrEditorWin ; + + formLayout mainForm ; + + button -l ("Move UP") -c ("cAE_moveAttrs(0)") -ann ("Slide selected channelBox attributes up.") btnUp ; + button -l ("Move DOWN") -c ("cAE_moveAttrs(1)") -ann ("Slide selected channelBox attributes down.") btnDown ; + + formLayout -e + + -af btnUp "top" 5 + -an btnUp "bottom" + -af btnUp "left" 5 + -ap btnUp "right" 0 50 + + -af btnDown "top" 5 + -an btnDown "bottom" + -ap btnDown "left" 0 50 + -af btnDown "right" 5 + + mainForm ; + + + showWindow cometAttrEditorWin ; + +} + + +// -------------------------------------------------------------------------- + +/* + * cAE_moveAttrs() - Adjust attrs + */ +global proc cAE_moveAttrs(int $dir) +{ + + // What objs and attrs are highlighted in the channel box? + string $cbObjs[] = `channelBox -q -mol mainChannelBox` ; + string $cbAttrs[] = `channelBox -q -sma mainChannelBox` ; + int $i; + + string $obj ; + for ($obj in $cbObjs) + { + if ($dir == 0) // Work top to bottom if moving up + { + for ($i=0; $i < size($cbAttrs); ++$i) + cAE_moveAttr($obj, $cbAttrs[$i], $dir) ; + } + else if ($dir == 1) // Work bottom to top moving down + { + for ($i=size($cbAttrs)-1; $i >= 0; --$i) + cAE_moveAttr($obj, $cbAttrs[$i], $dir) ; + } + + // Must do this or channel box won't refresh. + string $sel[] = `ls -sl -l`; + select -cl ; + refresh ; + select -r $sel ; + } + + +} + + +// -------------------------------------------------------------------------- + +/* + * cAE_moveAttr() - Adjust one attr specified up or down. + * $dir: 0=up 1=down + */ +global proc cAE_moveAttr(string $obj, string $attr, int $dir) +{ + string $udAttrs[] = `listAttr -ud $obj` ; // Get just user defined ones. + int $i ; + + // First find out where in the order of all the user defined attrs this one is. + int $idx = -1 ; + for ($i=0; $i < size($udAttrs); ++$i) + { + if ($udAttrs[$i] == $attr) + { + $idx = $i; + break ; + } + } + + // If we couldn't find it, it's not a ud, so ignore, we can't shift. + if ($idx < 0) + { + warning -sl 0 ("Can't shift "+$obj+"."+$attr+" it's not user defined.") ; + return ; + } + + print ("// Shifting "+($dir==0 ? "Up" : "Down")+" "+$idx+".) "+$obj+"."+$attr+" //\n") ; + + // Now shift as needed + if ($dir == 0 && $idx > 0) + { + cAE_dropToBottom($obj, $udAttrs[$idx]) ; // First this goes down + + cAE_dropToBottom($obj, $udAttrs[$idx-1]) ; // Then the one above + + // Then do the rest + for ($i=$idx+1; $i < size($udAttrs); ++$i) + { + cAE_dropToBottom($obj, $udAttrs[$i]) ; + } + } + else if ($dir == 1 && $idx < size($udAttrs)-1) + { + cAE_dropToBottom($obj, $udAttrs[$idx+1]) ; // First the one below goes down + + cAE_dropToBottom($obj, $udAttrs[$idx]) ; // First this goes down + + // Then do the rest + for ($i=$idx+2; $i < size($udAttrs); ++$i) + { + cAE_dropToBottom($obj, $udAttrs[$i]) ; + } + } + +} + +// -------------------------------------------------------------------------- + +/* + * cAE_dropToBottom() - Drop an attr to bottom by rename and back + */ +global proc cAE_dropToBottom(string $obj, string $attr) +{ + renameAttr ($obj+"."+$attr) ($attr+"TEMPREN") ; // there + renameAttr ($obj+"."+$attr+"TEMPREN") ($attr) ; // and back again +} + +// -------------------------------------------------------------------------- + diff --git a/2009-x64/CometScripts/scripts/cometJointOrient.mel b/2009-x64/CometScripts/scripts/cometJointOrient.mel new file mode 100644 index 0000000..421fda3 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometJointOrient.mel @@ -0,0 +1,499 @@ +// -------------------------------------------------------------------------- +// cometJointOrient.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// A nicer utility for setting rotation axis and aiming of joints +// automatically. +// +// REQUIRES: +// Nothing. +// +// +// USAGE: +// source "cometJointOrient.mel"; cometJointOrient(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Feb 21, 2004 - Initial Release. +// 1.01 - Feb 21, 2004 - Added dot check for up vector so that it will +// stop the up vector from flipping in cases where the bones go +// up and then down. +// 1.02 - Sep 17, 2004 - Added + and - tweak buttons, and right click on tweak. +// 1.03 - April 10, 2005 - Fixed so only unparents transform/joint not shapes. +// +// -------------------------------------------------------------------------- + +global string $cJO_version = "1.03" ; +global string $cJO_date = "Apr 10, 2004" ; + +// -------------------------------------------------------------------------- + +/* + * cometJointOrient() - Main UI entry. + */ +global proc cometJointOrient() +{ + global string $cJO_version ; + global string $cJO_date ; + + if (`window -ex cometJointOrientWin` != true) + { + window -w 310 -h 256 -t ("cometJointOrient - "+$cJO_version) -in "cometJointOrient" -s true -tb true cometJointOrientWin; + + formLayout mainForm ; + + separator -style "in" -h 3 sep0 ; + + button -l "Show Axis" -h 18 -al "center" -c ("toggle -state on -localAxis; ") -ann ("Show Local Axis") btnShow ; + button -l "Hide Axis" -h 18 -al "center" -c ("toggle -state off -localAxis; ") -ann ("Hide Local Axis") btnHide ; + + radioButtonGrp -l "Aim Axis:" -nrb 3 -la3 "X" "Y" "Z" -sl 2 -cw4 80 40 40 40 rbgAim ; + radioButtonGrp -l "Up Axis:" -nrb 3 -la3 "X" "Y" "Z" -sl 1 -cw4 80 40 40 40 rbgUp ; + + checkBox -l "Reverse" -v 0 cbRevAim ; + checkBox -l "Reverse" -v 0 cbRevUp ; + + separator -style "in" -h 3 sep1 ; + + floatFieldGrp -nf 3 -label "World Up Dir:" -v1 1.0 -v2 0.0 -v3 0.0 -cw4 80 50 50 50 ffgUpDir ; + button -l "X" -w 20 -c ("floatFieldGrp -e -v1 1.0 -v2 0.0 -v3 0.0 ffgUpDir; ") -ann ("Auto Set UpDir to X-Axis") btnX ; + button -l "Y" -w 20 -c ("floatFieldGrp -e -v1 0.0 -v2 1.0 -v3 0.0 ffgUpDir; ") -ann ("Auto Set UpDir to Y-Axis") btnY ; + button -l "Z" -w 20 -c ("floatFieldGrp -e -v1 0.0 -v2 0.0 -v3 1.0 ffgUpDir; ") -ann ("Auto Set UpDir to Z-Axis") btnZ ; + + checkBox -l "Auto-Guess Up Direction" -v 0 cbAutoDir ; + + button -l "Orient Joints" -al "center" -c ("cJO_orientUI();") -ann ("Orient selected joints based on settings above.") btnOJ; + + + separator -style "double" -h 7 sepBig ; + + floatFieldGrp -nf 3 -label "Tweak:" -v1 0.0 -v2 0.0 -v3 0.0 -cw4 80 50 50 50 ffgTweak ; + button -l "ZERO" -w 40 -c ("floatFieldGrp -e -v1 0.0 -v2 0.0 -v3 0.0 ffgTweak; ") -ann ("Zero's tweak values.") btnZero ; + + popupMenu -p ffgTweak ; + menuItem -l "X=1" -c ("floatFieldGrp -e -v1 1.0 ffgTweak ; ") ; + menuItem -l "Y=1" -c ("floatFieldGrp -e -v2 1.0 ffgTweak ; ") ; + menuItem -l "Z=1" -c ("floatFieldGrp -e -v3 1.0 ffgTweak ; ") ; + menuItem -divider true ; + menuItem -l "X=5" -c ("floatFieldGrp -e -v1 5.0 ffgTweak ; ") ; + menuItem -l "Y=5" -c ("floatFieldGrp -e -v2 5.0 ffgTweak ; ") ; + menuItem -l "Z=5" -c ("floatFieldGrp -e -v3 5.0 ffgTweak ; ") ; + menuItem -divider true ; + menuItem -l "X=10" -c ("floatFieldGrp -e -v1 10.0 ffgTweak ; ") ; + menuItem -l "Y=10" -c ("floatFieldGrp -e -v2 10.0 ffgTweak ; ") ; + menuItem -l "Z=10" -c ("floatFieldGrp -e -v3 10.0 ffgTweak ; ") ; + + + button -l "Manual + Rot Tweak" -al "center" -c ("cJO_tweakUI(1.0);") -ann ("Manually rotates selected joints axis positive.") btnTweakP ; + button -l "Manual - Rot Tweak" -al "center" -c ("cJO_tweakUI(-1.0);") -ann ("Manually rotates selected joints axis negative.") btnTweakN ; + + separator -style "in" -h 3 sep2 ; + + iconTextButton -style "textOnly" -l ("comet@comet-cartoons.com") -ann ("cometJointOrient - "+$cJO_version+" - "+$cJO_date+" Copyright ©2004 Michael B. Comet All Rights Reserved") -c ("showHelp -a \"http://www.comet-cartoons.com/toons/\"") -h 24 email ; + + formLayout -e + -af sep0 "left" 0 + -af sep0 "right" 0 + -af sep0 "top" 0 + -an sep0 "bottom" + + -af btnShow "left" 0 + -ap btnShow "right" 0 50 + -ac btnShow "top" 0 sep0 + -an btnShow "bottom" + + -ap btnHide "left" 0 50 + -af btnHide "right" 0 + -ac btnHide "top" 0 sep0 + -an btnHide "bottom" + + + -af rbgAim "left" 0 + -an rbgAim "right" + -ac rbgAim "top" 0 btnShow + -an rbgAim "bottom" + + -ac cbRevAim "left" 0 rbgAim + -af cbRevAim "right" 0 + -ac cbRevAim "top" 0 btnShow + -an cbRevAim "bottom" + + + -af rbgUp "left" 0 + -an rbgUp "right" + -ac rbgUp "top" 0 rbgAim + -an rbgUp "bottom" + + -ac cbRevUp "left" 0 rbgUp + -af cbRevUp "right" 0 + -ac cbRevUp "top" 0 rbgAim + -an cbRevUp "bottom" + + -af sep1 "left" 0 + -af sep1 "right" 0 + -ac sep1 "top" 0 rbgUp + -an sep1 "bottom" + + -af ffgUpDir "left" 0 + -an ffgUpDir "right" + -ac ffgUpDir "top" 0 sep1 + -an ffgUpDir "bottom" + + -ac btnX "left" 2 ffgUpDir + -an btnX "right" + -ac btnX "top" 0 sep1 + -an btnX "bottom" + + -ac btnY "left" 2 btnX + -an btnY "right" + -ac btnY "top" 0 sep1 + -an btnY "bottom" + + -ac btnZ "left" 2 btnY + -an btnZ "right" + -ac btnZ "top" 0 sep1 + -an btnZ "bottom" + + -af cbAutoDir "left" 20 + -af cbAutoDir "right" 0 + -ac cbAutoDir "top" 0 ffgUpDir + -an cbAutoDir "bottom" + + -af btnOJ "left" 5 + -af btnOJ "right" 5 + -ac btnOJ "top" 5 cbAutoDir + -an btnOJ "bottom" + + -af sepBig "left" 0 + -af sepBig "right" 0 + -ac sepBig "top" 5 btnOJ + -an sepBig "bottom" + + -af ffgTweak "left" 0 + -an ffgTweak "right" + -ac ffgTweak "top" 5 sepBig + -an ffgTweak "bottom" + + -ac btnZero "left" 2 ffgTweak + -an btnZero "right" + -ac btnZero "top" 5 sepBig + -an btnZero "bottom" + + -af btnTweakP "left" 5 + -ap btnTweakP "right" 0 49 + -ac btnTweakP "top" 5 ffgTweak + -an btnTweakP "bottom" + + -ap btnTweakN "left" 0 51 + -af btnTweakN "right" 5 + -ac btnTweakN "top" 5 ffgTweak + -an btnTweakN "bottom" + + -af sep2 "left" 5 + -af sep2 "right" 5 + -ac sep2 "top" 5 btnTweakP + -an sep2 "bottom" + + -af email "left" 0 + -af email "right" 0 + -ac email "top" 0 sep2 + -an email "bottom" + + mainForm ; + + + showWindow cometJointOrientWin; + } + else // else just pop it up from being minimized again + { + showWindow cometJointOrientWin; + } + +} + + +// -------------------------------------------------------------------------- + +/* + * cJO_orientUI() - UI wrapper for starting an orient + */ +global proc cJO_orientUI() +{ + print ("// cometJointOrient\n"); + + int $nAimAxis = `radioButtonGrp -q -sl rbgAim` ; + int $nUpAxis = `radioButtonGrp -q -sl rbgUp` ; + float $aimAxis[] = {0,0,0} ; + float $upAxis[] = {0,0,0} ; + + float $revAim = 1.0 ; + if (`checkBox -q -v cbRevAim`) + $revAim = -1.0 ; + + float $revUp = 1.0 ; + if (`checkBox -q -v cbRevUp`) + $revUp = -1.0 ; + + if ($nAimAxis == $nUpAxis) + warning -sl 0 ("The AIM and UP axis are the same! Orientaiton probably won't work!") ; + + $aimAxis[ ($nAimAxis-1) ] = $revAim ; + $upAxis[ ($nUpAxis-1) ] = $revUp ; + + float $upDir[3] ; + $upDir[0] = `floatFieldGrp -q -v1 ffgUpDir` ; + $upDir[1] = `floatFieldGrp -q -v2 ffgUpDir` ; + $upDir[2] = `floatFieldGrp -q -v3 ffgUpDir` ; + + int $doAuto = `checkBox -q -v cbAutoDir` ; + + string $joints[] = `ls -type "joint" -sl` ; + + // Now do it! + cJO_orient($joints, $aimAxis, $upAxis, $upDir, $doAuto) ; + + // End with same stuff selected! + select -r $joints ; + + +} + + +// -------------------------------------------------------------------------- + +/* + * cJO_orient() - The real worker orient proc. + * + * $joints is array of joints to orient + * $aimAxis = is xyz array of what axis of joint does aim + * $upAxis = is xyz array of what axis of joint does up + * $upDir = what vector to use for up direction? + * $doAuto = If possible will try to guess the up axis otherwise + * it will use prev joint up axis or else world upDir. + * + */ +global proc cJO_orient(string $joints[], float $aimAxis[], float $upAxis[], + float $upDir[], int $doAuto) +{ + + int $nJnt = size($joints) ; + int $i; + + vector $prevUp = <<0,0,0>>; + + // Now orient each joint + for ($i=0; $i < $nJnt; ++$i) + { + + // First we need to unparent everything and then store that, + string $childs[] = `listRelatives -children -type "transform" -type "joint" $joints[$i]` ; + if (size($childs) > 0) + $childs = `parent -w $childs` ; // unparent and get NEW names in case they changed... + + // Find parent for later in case we need it. + string $parents[] = `listRelatives -parent $joints[$i]` ; + string $parent = $parents[0] ; + + + // Now if we have a child joint...aim to that. + string $aimTgt="" ; + string $child ; + for ($child in $childs) + { + if (nodeType($child) == "joint") + { + $aimTgt = $child ; + break ; + } + } + +// print ("// DEBUG: JNT="+$joints[$i]+" Parent="+$parent+" AimTgt="+$aimTgt+" //\n") ; + + + if ($aimTgt != "") + { + float $upVec[3] = {0,0,0} ; + + // First off...if $doAuto is on, we need to guess the cross axis dir. + // + if ($doAuto) + { + // Now since the first joint we want to match the second orientation + // we kind of hack the things passed in if it is the first joint + // ie: If the joint doesn't have a parent...OR if the parent it has + // has the "same" position as itself...then we use the "next" joints + // as the up cross calculations + // + float $posJ[3] = `xform -q -ws -rp $joints[$i]` ; + float $posP[3] = $posJ ; + if ($parent != "") + $posP = `xform -q -ws -rp $parent` ; + + float $tol = 0.0001 ; // How close to we consider "same"? + + if ($parent == "" || (abs($posJ[0] - $posP[0]) <= $tol && abs($posJ[1] - $posP[1]) <= $tol && abs($posJ[2] - $posP[2]) <= $tol )) + { + string $aimChilds[] = `listRelatives -children $aimTgt` ; + string $aimChild = "" ; + string $child ; + for ($child in $aimChilds) + { + if (nodeType($child) == "joint") + { + $aimChild = $child ; + break ; + } + } + $upVec = cJO_getCrossDir($joints[$i], $aimTgt, $aimChild) ; + } + else + $upVec = cJO_getCrossDir($parent, $joints[$i], $aimTgt) ; + } + + if (!$doAuto || ($upVec[0] == 0.0 && $upVec[1] == 0.0 && $upVec[2] == 0.0)) + $upVec = $upDir ; // or else use user set up Dir. if needed + + + string $aCons[] = `aimConstraint + -aim $aimAxis[0] $aimAxis[1] $aimAxis[2] + -upVector $upAxis[0] $upAxis[1] $upAxis[2] + -worldUpVector $upVec[0] $upVec[1] $upVec[2] + -worldUpType "vector" + -weight 1.0 + $aimTgt + $joints[$i]` ; + + delete $aCons ; + + + + // Now compare the up we used to the prev one. + vector $curUp = << $upVec[0], $upVec[1], $upVec[2] >> ; + $curUp = unit($curUp) ; + float $dot = $curUp * $prevUp ; // dot product for angle betwen... + $prevUp = << $upVec[0], $upVec[1], $upVec[2] >> ; // store for later + + if ($i > 0 && $dot <= 0.0) + { + // Adjust the rotation axis 180 if it looks like we've flopped the wrong way! + xform -r -os -ra ($aimAxis[0]*180.0) ($aimAxis[1]*180.0) ($aimAxis[2]*180.0) $joints[$i] ; + $prevUp *= -1.0 ; + } + + + // And now finish clearing out joint axis... + joint -e -zso $joints[$i] ; + makeIdentity -apply true $joints[$i] ; + + + } + else if ($parent != "") + { + // Otherwise if there is no target, just dup orienation of parent... + string $oCons[] = `orientConstraint + -weight 1.0 + $parent + $joints[$i]` ; + + delete $oCons ; + + // And now finish clearing out joint axis... + joint -e -zso $joints[$i] ; + makeIdentity -apply true $joints[$i] ; + } + + // Now that we're done... reparent + if (size($childs) > 0) + parent $childs $joints[$i] ; + } + +} + +// -------------------------------------------------------------------------- + +/* + * cJO_getCrossDir() - Given three nodes, this gets the cross product of + * the directions from B->A and B->C. + */ +global proc float[] cJO_getCrossDir(string $objA, string $objB, string $objC) +{ + float $cross[3] = {0,0,0} ; + + if ($objA == "" || $objB == "" || $objC == "" || + objExists($objA) != true || objExists($objB) != true || objExists($objC) != true) + return $cross ; + + float $posA[3] = `xform -q -ws -rp $objA` ; + float $posB[3] = `xform -q -ws -rp $objB` ; + float $posC[3] = `xform -q -ws -rp $objC` ; + + vector $v1 = << $posA[0]-$posB[0], $posA[1]-$posB[1], $posA[2]-$posB[2] >> ; + vector $v2 = << $posC[0]-$posB[0], $posC[1]-$posB[1], $posC[2]-$posB[2] >> ; + + vector $vC = $v1 ^ $v2 ; // Do cross product! + $vC = unit($vC) ; // normalize + + $cross[0] = $vC.x ; + $cross[1] = $vC.y ; + $cross[2] = $vC.z ; + + return $cross ; +} + +// -------------------------------------------------------------------------- + + + +/* + * cJO_tweakUI() - UI wrapper for starting a joint tweak + */ +global proc cJO_tweakUI(float $mult) +{ + float $rot[3] ; + $rot[0] = `floatFieldGrp -q -v1 ffgTweak` * $mult ; + $rot[1] = `floatFieldGrp -q -v2 ffgTweak` * $mult ; + $rot[2] = `floatFieldGrp -q -v3 ffgTweak` * $mult ; + + string $joints[] = `ls -type "joint" -sl` ; + + // Now do it! + cJO_tweak($joints, $rot) ; + + // End with same stuff selected! + select -r $joints ; + +} + +// -------------------------------------------------------------------------- + +/* + * cJO_tweak() - Tweaks the rotation of a joint the amount specified + * + * $joints is array of joints to orient + * $rot = is xyz array of how much to rotate + * + */ +global proc cJO_tweak(string $joints[], float $rot[]) +{ + int $nJnt = size($joints) ; + int $i; + + // Now tweak each joint + for ($i=0; $i < $nJnt; ++$i) + { + // Adjust the rotation axis + xform -r -os -ra $rot[0] $rot[1] $rot[2] $joints[$i] ; + + // And now finish clearing out joint axis... + joint -e -zso $joints[$i] ; + makeIdentity -apply true $joints[$i] ; + } +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/cometMenu.mel b/2009-x64/CometScripts/scripts/cometMenu.mel new file mode 100644 index 0000000..2f2e175 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometMenu.mel @@ -0,0 +1,118 @@ +//---------------------------------------------------------------------------- +// cometMenu.mel - MEL Script +//---------------------------------------------------------------------------- +// Copyright ©2004 Michael B. Comet All Rights Reserved +// +// DESCRIPTION: +// +// REQUIRES: +// +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// +//---------------------------------------------------------------------------- + + +/* + * Globals + */ +global string $gMainWindow; // defined elsewhere by Maya + +// -------------------------------------------------------------------------- + + // Get rid of existing menu in case it exists already... + // +if (`menu -q -exists ccCometMenu`) + { + menu -e -dai ccCometMenu; + } +else + { + setParent $gMainWindow ; + menu -l "Comet" -p MayaWindow -to true ccCometMenu ; + } + +setParent -menu ccCometMenu ; + + +menuItem -l "Tools" -sm true -to true ; + menuItem -l ("cometRename...") -c ("source \"cometRename.mel\"; cometRename(); ") -ann ("Rename selected nodes.") -image "cometRename.bmp" ; + setParent -menu ".." ; + +menuItem -l "Modeling" -sm true -to true ; + menuItem -l ("cometMirrorMesh...") -c ("source \"cometMirrorMesh.mel\"; cometMirrorMesh(); ") -ann ("Performs useful poly utilities, such as mirroring selection, mirroring geometry, reverting and storing points.") -image "cometMirrorMesh.bmp" ; + setParent -menu ".." ; + +menuItem -l "Shapes" -sm true -to true ; + menuItem -l ("null") -c ("source \"wireShape.mel\"; wireShape(\"null\"); ") -ann ("Makes a group.") ; + menuItem -l ("locator") -c ("source \"wireShape.mel\"; wireShape(\"locator\"); ") -ann ("Makes a locator.") ; + menuItem -l ("plus") -c ("source \"wireShape.mel\"; wireShape(\"plus\"); ") -ann ("Makes a plus.") ; + menuItem -divider true ; + menuItem -l ("circleX") -c ("source \"wireShape.mel\"; wireShape(\"circleX\"); ") -ann ("Makes a circleX.") ; + menuItem -l ("circleY") -c ("source \"wireShape.mel\"; wireShape(\"circleY\"); ") -ann ("Makes a circleY.") ; + menuItem -l ("circleZ") -c ("source \"wireShape.mel\"; wireShape(\"circleZ\"); ") -ann ("Makes a circleZ.") ; + menuItem -l ("square") -c ("source \"wireShape.mel\"; wireShape(\"square\"); ") -ann ("Makes a square.") ; + menuItem -l ("cube") -c ("source \"wireShape.mel\"; wireShape(\"cube\"); ") -ann ("Makes a cube.") ; + menuItem -l ("sphere") -c ("source \"wireShape.mel\"; wireShape(\"sphere\"); ") -ann ("Makes a sphere.") ; + menuItem -l ("arrow") -c ("source \"wireShape.mel\"; wireShape(\"arrow\"); ") -ann ("Makes an arrow.") ; + menuItem -l ("cross") -c ("source \"wireShape.mel\"; wireShape(\"cross\"); ") -ann ("Makes a cross.") ; + menuItem -l ("orient") -c ("source \"wireShape.mel\"; wireShape(\"orient\"); ") -ann ("Makes an orient.") ; + menuItem -l ("bulb") -c ("source \"wireShape.mel\"; wireShape(\"bulb\"); ") -ann ("Makes a bulb.") ; + menuItem -divider true ; + menuItem -l ("joint") -c ("source \"wireShape.mel\"; wireShape(\"joint\"); ") -ann ("Makes a joint.") ; + setParent -menu ".." ; + + +menuItem -l "Display" -sm true -to true ; + menuItem -l ("Show Selection Handle") -c ("toggle -state on -selectHandle ; ") -ann ("Shows the selection handle for all selected objects") ; + menuItem -l ("Hide Selection Handle") -c ("toggle -state off -selectHandle ; ") -ann ("Hides the selection handle for all selected objects") ; + menuItem -divider true ; + menuItem -l ("Show Local Axis") -c ("toggle -state on -localAxis ; ") -ann ("Shows localAxis for all selected objects") ; + menuItem -l ("Hide Local Axis") -c ("toggle -state off -localAxis ; ") -ann ("Hides localAxis for all selected objects") ; + menuItem -divider true ; + menuItem -l ("Toggle Affected") -c ("source \"toggleAffected.mel\" ; toggleAffected ;") -ann ("Toggles pink affect highlighting for current viewport.") -image "toggleAffected.bmp" ; + menuItem -l ("Toggle Isolate Select") -c ("source \"toggleIsolateSelect.mel\" ; toggleIsolateSelect ;") -ann ("Isolates or un-isolates whatever is selected for current viewport.") -image "toggleIsolateSelect.bmp" ; + menuItem -l ("Toggle Wireframe On Shaded") -c ("source \"toggleWireframeOnShaded.mel\" ; toggleWireframeOnShaded ;") -ann ("Toggles display of wireframe on shaded mode for current viewport.") -image "toggleWireframeOnShaded.bmp" ; + menuItem -l ("Toggle X-Ray") -c ("source \"toggleXRay.mel\" ; toggleXRay ;") -ann ("Toggles display of X-Ray mode for current viewport.") -image "toggleXRay.bmp" ; + setParent -menu ".." ; + + +menuItem -l "Constraints" -sm true -to true ; + menuItem -l ("Offset Point and Orient") -c ("source \"offsetConstraint.mel\"; offsetConstraintPO(); ") -ann ("Point & Orient Constrains slave to master(s).") -image "offsetConstraintPO.bmp" ; + menuItem -l ("Offset Point") -c ("source \"offsetConstraint.mel\"; offsetConstraintP(); ") -ann ("Point Constrains slave to master(s).") -image "offsetConstraintP.bmp" ; + menuItem -l ("Offset Orient") -c ("source \"offsetConstraint.mel\"; offsetConstraintO(); ") -ann ("Orient Constrains slave to master(s).") -image "offsetConstraintO.bmp" ; + menuItem -divider true ; + menuItem -l ("Snap") -c ("source \"snaps.mel\"; snap(\"\",\"\"); ") -ann ("Snaps slave object to master.") -image "snap.bmp" ; + menuItem -l ("Anim Snap") -c ("source \"snaps.mel\"; animSnap(\"\",\"\"); ") -ann ("Snaps slave object to master even if it has keys.") -image "animSnap.bmp" ; + setParent -menu ".." ; + +menuItem -l "Joints/Hierarchy" -sm true -to true ; + menuItem -l ("cometJointOrient...") -c ("source \"cometJointOrient.mel\"; cometJointOrient(); ") -ann ("Set joints rotation axis easily.") -image "cometJointOrient.bmp" ; + menuItem -l ("Select All Joints") -c ("select -r `ls -type \"joint\" \"*\"`; ") -ann ("Selects all joints in the scene.") ; + menuItem -divider true ; + menuItem -l ("zeroOut") -c ("source \"zeroOut.mel\"; zeroOut(\"\"); ") -ann ("Zero's out selected nodes by grouping.") -image "zeroOut.bmp" ; + menuItem -divider true ; + menuItem -l ("cometSkinWeight...") -c ("source \"cometSkinWeight.mel\"; cometSkinWeight(); ") -ann ("Easily set/edit skin weights on components, without having to use the component editor. Allows multiple wildcard filters for joints list, etc...") -image "cometSkinWeight.bmp" ; + menuItem -l ("cometTransferWeights...") -c ("source \"cometTransferWeights.mel\"; cometTransferWeights(); ") -ann ("Quickly transfer weights from one or more joints to another joint for selected points of a skinCluster deformed object.") -image "cometTransferWeights.bmp" ; + menuItem -l ("cometSaveWeights...") -c ("source \"cometSaveWeights.mel\"; cometSaveWeights(); ") -ann ("Save and Reload skinCluster weights.") -image "cometSaveWeights.bmp" ; + + setParent -menu ".." ; + +menuItem -l "Attributes" -sm true -to true ; + menuItem -l ("cometAttrEditor...") -c ("source \"cometAttrEditor.mel\"; cometAttrEditor(); ") -ann ("Adjust attributes up/down.") -image "cometAttrEditor.bmp" ; + setParent -menu ".." ; + +menuItem -l "Animation" -sm true -to true ; + menuItem -l ("autoTangent...") -c ("source \"autoTangent.mel\"; autoTangent(); ") -ann ("Auto set tangents so they are smooth, but with no overshoot.") -image "autoTangent.bmp" ; + setParent -menu ".." ; + + +menuItem -divider true ; +menuItem -l "Visit Website..." -c ("showHelp -a \"http://www.comet-cartoons.com/\"; ") -ann ("Visit website.") ; +menuItem -l "Re-Build Menu" -c ("rehash; source \"cometMenu.mel\" ;") -ann ("Re-Creates this menu, and does a rehash to pick up any new scripts.") ; + + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/cometMirrorMesh.mel b/2009-x64/CometScripts/scripts/cometMirrorMesh.mel new file mode 100644 index 0000000..d238ed8 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometMirrorMesh.mel @@ -0,0 +1,765 @@ +// -------------------------------------------------------------------------- +// cometMirrorMesh.mel - MEL Script +// -------------------------------------------------------------------------- +// Copyright ©2005 Michael B. Comet - All Rights Reserved. +// +// DESCRIPTION: +// Lets you do polygon mesh mirroring operations, such as selecting mirrored +// points, reverting points, mirroring/flipping a mesh etc... +// Good use when building blendshapes. +// +// REQUIRES: +// poseDeformer.mll - My free Pose Deformer plugin is required as this +// use the mirrorData node that comes with it. +// +// USAGE: +// source "cometMirrorMesh.mel"; cometMirrorMesh() ; +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// +// VERSIONS: +// 1.00 - June 25, 2005 - mcomet - Initial Rev. +// +// -------------------------------------------------------------------------- + +/* + * Includes + */ + +/* + * globals + */ +global int $cMM_storedIndexes[] ; + + +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// UI Procs +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- + +/* + * cometMirrorMesh() - + */ +global proc cometMirrorMesh() +{ + if (!`pluginInfo -q -loaded "poseDeformer"`) + { + if (catch(`loadPlugin "poseDeformer"`)) + error -sl 0 ("This tool requires my free poseDeformer plugin since it uses the mirrorData node in it.") ; + } + + if (`window -ex cometMirrorMeshWin`) + { + showWindow cometMirrorMeshWin ; + return ; + } + + window -w 275 -h 340 -t "Comet Mirror Mesh - 1.00" cometMirrorMeshWin ; + formLayout mainForm ; + + text -l "Base Mesh:" txBase ; + textField -tx "" -ed 0 tfBase ; + button -l "<<<" -w 30 -c ("cMM_loadBase();") -ann ("Choose symmetrical base mesh object") btnBase ; + + radioButtonGrp -l "Mirror Axis:" -nrb 3 -la3 "X-Axis" "Y-Axis" "Z-Axis" -sl 1 -cw4 70 60 60 60 -cc ("cMM_updateBaseSettings();") rbgAxis ; + + radioButtonGrp -l "Mirror Mode:" -nrb 2 -la2 "Object" "World" -sl 1 -cw3 70 60 60 -cc ("cMM_updateBaseSettings();") rbgMode ; + + text -l "Threshold:" txThreshold ; + floatField -v 0.01 -pre 12 -min 0.0 -cc ("cMM_updateBaseSettings();") ffThreshold ; + + separator -style "in" -h 3 sepBase ; + + + button -l "Store Sel." -ann ("Store selection to reapply later or on a different object") -c ("cMM_storeSel();") btnStoreSel ; + button -l "Retrieve Sel." -ann ("Re-apply selection onto currently selected objects") -c ("cMM_retrieveSel();") btnRetrieveSel ; + button -l "Select Opposite Side Points" -ann ("Selects points on the opposite side of the current selection") -c ("cMM_selectOppSide();") btnSelOppSide ; + button -l "Select Modified Points" -ann ("Selects points on the current objects that have moved relative to the base.") -c ("cMM_selAlteredPoints();") btnSelAltered ; + + separator -style "in" -h 3 sepSel ; + + button -l "Revert Selected Points" -ann ("Reverts selected points back to their original positions.") -c ("cMM_revertSel();") btnRevertSel ; + button -l "Mirror Selected Points" -ann ("Mirrors the points on the opposite side of the selected ones.") -c ("cMM_mirrorSel();") btnMirrorSel ; + button -l "Flip Selected Points" -ann ("Flips the points on both sides of the selected ones.") -c ("cMM_flipSel();") btnFlipSel ; + button -l "Build Flipped Copy" -ann ("Builds a copy of the selected objects that is a flipped version.") -c ("cMM_buildFlipped();") btnBuildFlipped ; + + iconTextButton -style "textOnly" -l ("www.comet-cartoons.com") -ann ("Copyright ©2005 Michael B. Comet All Rights Reserved") -c ("showHelp -a \"http://www.comet-cartoons.com/\"") -h 24 email ; + + + + formLayout -e + -af txBase "top" 8 + -an txBase "bottom" + -af txBase "left" 5 + -an txBase "right" + + -af tfBase "top" 5 + -an tfBase "bottom" + -ac tfBase "left" 5 txBase + -ac tfBase "right" 5 btnBase + + -af btnBase "top" 5 + -an btnBase "bottom" + -an btnBase "left" + -af btnBase "right" 5 + + -ac rbgAxis "top" 5 tfBase + -an rbgAxis "bottom" + -af rbgAxis "left" 5 + -af rbgAxis "right" 5 + + -ac rbgMode "top" 5 rbgAxis + -an rbgMode "bottom" + -af rbgMode "left" 5 + -af rbgMode "right" 5 + + -ac txThreshold "top" 8 rbgMode + -an txThreshold "bottom" + -af txThreshold "left" 5 + -an txThreshold "right" + + -ac ffThreshold "top" 5 rbgMode + -an ffThreshold "bottom" + -ac ffThreshold "left" 5 txThreshold + -af ffThreshold "right" 5 + + -ac sepBase "top" 3 ffThreshold + -an sepBase "bottom" + -af sepBase "left" 0 + -af sepBase "right" 0 + + -ac btnStoreSel "top" 3 sepBase + -an btnStoreSel "bottom" + -af btnStoreSel "left" 5 + -ap btnStoreSel "right" 0 50 + + -ac btnRetrieveSel "top" 3 sepBase + -an btnRetrieveSel "bottom" + -ap btnRetrieveSel "left" 0 50 + -af btnRetrieveSel "right" 5 + + + -ac btnSelOppSide "top" 3 btnStoreSel + -an btnSelOppSide "bottom" + -af btnSelOppSide "left" 5 + -af btnSelOppSide "right" 5 + + -ac btnSelAltered "top" 3 btnSelOppSide + -an btnSelAltered "bottom" + -af btnSelAltered "left" 5 + -af btnSelAltered "right" 5 + + -ac sepSel "top" 3 btnSelAltered + -an sepSel "bottom" + -af sepSel "left" 0 + -af sepSel "right" 0 + + -ac btnRevertSel "top" 3 sepSel + -an btnRevertSel "bottom" + -af btnRevertSel "left" 5 + -af btnRevertSel "right" 5 + + -ac btnMirrorSel "top" 3 btnRevertSel + -an btnMirrorSel "bottom" + -af btnMirrorSel "left" 5 + -af btnMirrorSel "right" 5 + + -ac btnFlipSel "top" 3 btnMirrorSel + -an btnFlipSel "bottom" + -af btnFlipSel "left" 5 + -af btnFlipSel "right" 5 + + -ac btnBuildFlipped "top" 3 btnFlipSel + -an btnBuildFlipped "bottom" + -af btnBuildFlipped "left" 5 + -af btnBuildFlipped "right" 5 + + -ac email "top" 3 btnBuildFlipped + -an email "bottom" + -af email "left" 5 + -af email "right" 5 + + mainForm ; + + showWindow cometMirrorMeshWin ; + +} + +// -------------------------------------------------------------------------- + +/* + * cMM_loadBase() - Loads the base mesh in, applies a mirrorData node and + * sets up UI. + */ +global proc cMM_loadBase() +{ + string $objs[] = `ls -sl -fl` ; + string $base = $objs[0] ; + + textField -e -tx $base tfBase ; + + if ($base == "" || objExists($base) != true) + return ; + + // Apply mirrorData node if needed + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "") + { + string $mirrorDatas[] = `deformer -frontOfChain -type "mirrorData" $base` ; + $mirrorData = $mirrorDatas[0] ; + setAttr ($mirrorData+".envelope") 0 ; // Disable for speed now that applied + print ("// Applied mirrorData node "+$mirrorData+" to "+$base+" //\n") ; + } + + cMM_updateBaseSettings() ; +} + +// -------------------------------------------------------------------------- + +/* + * cMM_findMirrorData() - Finds a mirror data object on a node if any + */ +global proc string cMM_findMirrorData(string $obj) +{ + if ($obj == "" || objExists($obj) != true) + return "" ; + + string $hist[] = `listHistory -pdo 1 -il 2 $obj` ; + string $h ; + + for ($h in $hist) + { + if (nodeType($h) == "mirrorData") + { + return $h ; + } + } + + return "" ; +} + +// -------------------------------------------------------------------------- + +/* + * cMM_updateBaseSettings() - Called when user changes a setting to update the base object + */ +global proc cMM_updateBaseSettings() +{ + string $base = `textField -q -tx tfBase` ; + + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + + int $nAxis = `radioButtonGrp -q -sl rbgAxis` - 1 ; + int $nMode = `radioButtonGrp -q -sl rbgMode` - 1 ; + float $fThreshold = `floatField -q -v ffThreshold` ; + + if ($nAxis < 0 || $nMode < 0) // Dunno why maya calls twice with an invalid call first... + return ; +// print ("// $nAxis="+$nAxis+" $nMode="+$nMode+" $fThreshold="+$fThreshold+" //\n") ; + + setAttr ($mirrorData+".mirrorAxis") $nAxis ; // axis + setAttr ($mirrorData+".mirrorSpace") $nMode ; // object-world + setAttr ($mirrorData+".threshold") $fThreshold ; // large enough threshold please. + + waitCursor -state on ; + setAttr ($mirrorData+".envelope") 1 ; // Turn on for refresh update + refresh ; + setAttr ($mirrorData+".envelope") 0 ; // Disable for speed now that applied + waitCursor -state off ; + + print ("// Set mirrorData settings for "+$mirrorData+" - "+$base+" //\n") ; +} + + +// -------------------------------------------------------------------------- + +/* + * cMM_getSelObjsOnly() - Returns sel objects only even if verts are chosen + */ +global proc string[] cMM_getSelObjsOnly() +{ + string $sel[] = `ls -sl -fl` ; + string $s ; + string $objs[] ; + clear $objs ; + + for ($s in $sel) + { + string $parts[] ; + tokenize($s, ".", $parts) ; // obj.attr + $objs[size($objs)] = $parts[0] ; + } + + $objs = stringArrayRemoveDuplicates($objs) ; + + return $objs ; +} + +// -------------------------------------------------------------------------- + +/* + * cMM_storeSel() - Stores selected point indices + */ +global proc cMM_storeSel() +{ + global int $cMM_storedIndexes[] ; + clear $cMM_storedIndexes ; + + + string $pts[] = `ls -sl -fl` ; + string $pt ; + + waitCursor -state on ; + + for ($pt in $pts) + { + if (!gmatch($pt, "*.vtx*")) + continue ; + + string $parts[] ; + tokenize($pt, ".", $parts) ; + string $obj = $parts[0] ; // myObj + string $attr = $parts[1] ; // vtx[12] + + clear $parts ; + tokenize($attr, "[]", $parts) ; + int $idx = $parts[1] ; // 12 + + $cMM_storedIndexes[size($cMM_storedIndexes)] = $idx ; // Store it! + } + + waitCursor -state off ; + + print ("// Stored selection. //\n") ; +} + +// -------------------------------------------------------------------------- + +/* + * cMM_retrieveSel() - Re-selects same indexed points on any similar object + */ +global proc cMM_retrieveSel() +{ + global int $cMM_storedIndexes[] ; + + string $objs[] = cMM_getSelObjsOnly() ; + string $obj ; + select -cl ; + + changeSelectMode -component ; + + waitCursor -state on ; + + for ($obj in $objs) + { + hilite $obj ; + + for ($i=0; $i < size($cMM_storedIndexes); ++$i) + select -add ($obj+".vtx["+$cMM_storedIndexes[$i]+"]") ; + } + + waitCursor -state off ; + + print ("// Retrieved selection. //\n") ; +} + +// -------------------------------------------------------------------------- + + +/* + * cMM_selectOppSide() - Select the same points on the opposite side + */ +global proc cMM_selectOppSide() +{ + string $base = `textField -q -tx tfBase` ; + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + string $pts[] = `ls -sl -fl` ; + string $pt ; + select -cl ; + + waitCursor -state on ; + + + for ($pt in $pts) + { + if (!gmatch($pt, "*.vtx*")) + continue ; + + string $parts[] ; + tokenize($pt, ".", $parts) ; + string $obj = $parts[0] ; // myObj + string $attr = $parts[1] ; // vtx[12] + + clear $parts ; + tokenize($attr, "[]", $parts) ; + int $idx = $parts[1] ; // 12 + + // Now we now base shape object, and the index of the point... + // Use the mirror data node to get the opposite pt index, and then select + // that on this shaape. + + int $mirrorIdx = `getAttr ($mirrorData+".mirrorIndex["+$idx+"]")` ; + + select -add ($obj+".vtx["+$mirrorIdx+"]"); + } + + waitCursor -state off ; + + + print ("// Selected opposite side points. //\n") ; +} + + +// -------------------------------------------------------------------------- + +/* + * cMM_selAlteredPoints() - Selects points that have moved + */ +global proc cMM_selAlteredPoints() +{ + string $base = `textField -q -tx tfBase` ; + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + int $data[] = `polyEvaluate -vertex $base` ; // How many verts? + int $nVerts = $data[0] ; + string $objs[] = cMM_getSelObjsOnly() ; + string $obj ; + + select -cl ; + + changeSelectMode -component ; + + waitCursor -state on ; + + for ($obj in $objs) + { + int $i ; + for ($i=0; $i < $nVerts; ++$i) // Compare each pt of this object + { + float $posOrig[3] = `xform -q -os -t ($base+".vtx["+$i+"]")` ; + float $posCur[3] = `xform -q -os -t ($obj+".vtx["+$i+"]")` ; + + if ($posOrig[0] != $posCur[0] || $posOrig[1] != $posCur[1] || $posOrig[2] != $posCur[2]) + { + hilite $obj ; + select -add ($obj+".vtx["+$i+"]") ; + } + } + } + + waitCursor -state off ; + + print ("// Selected modified points. //\n") ; +} + + +// -------------------------------------------------------------------------- + +/* + * cMM_revertSel() - Reverts sel points to match the base again. + */ +global proc cMM_revertSel() +{ + string $base = `textField -q -tx tfBase` ; + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + int $data[] = `polyEvaluate -vertex $base` ; // How many verts? + int $nVerts = $data[0] ; + + string $pts[] = `ls -sl -fl`; + string $pt ; + + waitCursor -state on ; + + for ($pt in $pts) + { + if (!gmatch($pt, "*.vtx*")) + continue ; + + string $parts[] ; + tokenize($pt, ".", $parts) ; + string $obj = $parts[0] ; // myObj + string $attr = $parts[1] ; // vtx[12] + + clear $parts ; + tokenize($attr, "[]", $parts) ; + int $idx = $parts[1] ; // 12 + + float $posOrig[3] = `xform -q -os -t ($base+".vtx["+$idx+"]")` ; + + xform -os -a -t $posOrig[0] $posOrig[1] $posOrig[2] ($obj+".vtx["+$idx+"]") ; + } + + waitCursor -state off ; + + + print ("// Reverted selection. //\n") ; +} + + +// -------------------------------------------------------------------------- + +/* + * cMM_mirrorSel() - Mirrors the topology + */ +global proc cMM_mirrorSel() +{ + string $base = `textField -q -tx tfBase` ; + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + int $data[] = `polyEvaluate -vertex $base` ; // How many verts? + int $nVerts = $data[0] ; + + string $new[] ; + clear $new ; + + string $pts[] = `ls -sl -fl`; + string $pt ; + + int $nAxis = `radioButtonGrp -q -sl rbgAxis` - 1; + + float $mult[3] = {1.0, 1.0, 1.0} ; + $mult[$nAxis] = -1.0 ; // Adjust needed axis for mirroring + + waitCursor -state on ; + + for ($pt in $pts) + { + if (!gmatch($pt, "*.vtx*")) + { + continue ; + } + + string $parts[] ; + tokenize($pt, ".", $parts) ; + string $obj = $parts[0] ; // myObj + string $attr = $parts[1] ; // vtx[12] + + clear $parts ; + tokenize($attr, "[]", $parts) ; + int $idx = $parts[1] ; // 12 + + float $posCur[3] = `xform -q -os -t ($obj+".vtx["+$idx+"]")` ; + + int $mirrorIdx = `getAttr ($mirrorData+".mirrorIndex["+$idx+"]")` ; + + // Figure adjustment location + float $delta[3] ; + $posCur[0] = $mult[0] * ($posCur[0]) ; + $posCur[1] = $mult[1] * ($posCur[1]) ; + $posCur[2] = $mult[2] * ($posCur[2]) ; + + xform -os -a -t $posCur[0] $posCur[1] $posCur[2] ($obj+".vtx["+$mirrorIdx+"]") ; + $new[size($new)] = ($obj+".vtx["+$mirrorIdx+"]") ; + } + + if (size($new) > 0) + select -r $new ; + + waitCursor -state off ; + + print ("// Mirrored Selected Points. //\n") ; + +} + +// -------------------------------------------------------------------------- + +/* + * cMM_flipSel() - Flips the topology + */ +global proc cMM_flipSel() +{ + string $base = `textField -q -tx tfBase` ; + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + int $data[] = `polyEvaluate -vertex $base` ; // How many verts? + int $nVerts = $data[0] ; + + string $new[] ; + clear $new ; + + string $pts[] = `ls -sl -fl`; + string $pt ; + + int $nAxis = `radioButtonGrp -q -sl rbgAxis` - 1; + + float $mult[3] = {1.0, 1.0, 1.0} ; + $mult[$nAxis] = -1.0 ; // Adjust needed axis for mirroring + + waitCursor -state on ; + + for ($pt in $pts) + { + if (!gmatch($pt, "*.vtx*")) + { + continue ; + } + + string $parts[] ; + tokenize($pt, ".", $parts) ; + string $obj = $parts[0] ; // myObj + string $attr = $parts[1] ; // vtx[12] + + clear $parts ; + tokenize($attr, "[]", $parts) ; + int $idx = $parts[1] ; // 12 + + float $posCur[3] = `xform -q -os -t ($obj+".vtx["+$idx+"]")` ; + + int $mirrorIdx = `getAttr ($mirrorData+".mirrorIndex["+$idx+"]")` ; + + float $posOpp[3] = `xform -q -os -t ($obj+".vtx["+$mirrorIdx+"]")` ; + + // Figure adjustment locations + float $delta[3] ; + $posCur[0] = $mult[0] * ($posCur[0]) ; + $posCur[1] = $mult[1] * ($posCur[1]) ; + $posCur[2] = $mult[2] * ($posCur[2]) ; + $posOpp[0] = $mult[0] * ($posOpp[0]) ; + $posOpp[1] = $mult[1] * ($posOpp[1]) ; + $posOpp[2] = $mult[2] * ($posOpp[2]) ; + + xform -os -a -t $posCur[0] $posCur[1] $posCur[2] ($obj+".vtx["+$mirrorIdx+"]") ; + xform -os -a -t $posOpp[0] $posOpp[1] $posOpp[2] ($obj+".vtx["+$idx+"]") ; + $new[size($new)] = ($obj+".vtx["+$idx+"]") ; + } + + if (size($new) > 0) + select -r $new ; + + waitCursor -state off ; + + print ("// Flipped Selected Points. //\n") ; +} + + +// -------------------------------------------------------------------------- + + +/* + * cMM_buildFlipped() - Builds a new object that is an entire flip of the original + */ +global proc cMM_buildFlipped() +{ + string $base = `textField -q -tx tfBase` ; + if ($base == "" || objExists($base) != true) + return ; + + // Find the mirrorData node... + string $mirrorData = cMM_findMirrorData($base) ; + if ($mirrorData == "" || objExists($mirrorData) != true) + return ; + + int $data[] = `polyEvaluate -vertex $base` ; // How many verts? + int $nVerts = $data[0] ; + + string $objs[] = cMM_getSelObjsOnly() ; + string $obj ; + string $new[] ; + clear $new ; + + int $nAxis = `radioButtonGrp -q -sl rbgAxis` - 1; + + float $mult[3] = {1.0, 1.0, 1.0} ; + $mult[$nAxis] = -1.0 ; // Adjust needed axis for mirroring + + waitCursor -state on ; + + for ($obj in $objs) + { + string $dups[] = `duplicate -rr -rc $obj` ; + string $dup = $dups[0] ; + $new[size($new)] = $dup ; + + // Move entire node to other side to be nice in case it was pulled over. + if ($nAxis == 0) + { + float $tx = `getAttr ($dup+".translateX")` ; + setAttr -lock 0 ($dup+".translateX") ; + setAttr ($dup+".translateX") (-1.0 * $tx) ; + } + else if ($nAxis == 1) + { + float $ty = `getAttr ($dup+".translateY")` ; + setAttr -lock 0 ($dup+".translateY") ; + setAttr ($dup+".translateY") (-1.0 * $ty) ; + } + else if ($nAxis == 2) + { + float $tz = `getAttr ($dup+".translateZ")` ; + setAttr -lock 0 ($dup+".translateZ") ; + setAttr ($dup+".translateZ") (-1.0 * $tz) ; + } + + int $idx ; + for ($idx=0; $idx < $nVerts; ++$idx) + { + float $posCur[3] = `xform -q -os -t ($obj+".vtx["+$idx+"]")` ; + + int $mirrorIdx = `getAttr ($mirrorData+".mirrorIndex["+$idx+"]")` ; + + // Figure adjustment location + float $delta[3] ; + $posCur[0] = $mult[0] * ($posCur[0]) ; + $posCur[1] = $mult[1] * ($posCur[1]) ; + $posCur[2] = $mult[2] * ($posCur[2]) ; + + xform -os -a -t $posCur[0] $posCur[1] $posCur[2] ($dup+".vtx["+$mirrorIdx+"]") ; + + } + } + + if (size($new) > 0) + select -r $new ; + + waitCursor -state off ; + + print ("// Built Flipped Copies. //\n") ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/cometRename.mel b/2009-x64/CometScripts/scripts/cometRename.mel new file mode 100644 index 0000000..dd3f062 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometRename.mel @@ -0,0 +1,329 @@ +// -------------------------------------------------------------------------- +// cometRename.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// A nice renaming utility that allows basic Prefix, Suffix, Search & +// Replace, and Rename+Number methods. Works properly on any hierarchy, +// even if renaming nodes in the hierarchy out of order. +// +// REQUIRES: +// Nothing. +// +// +// USAGE: +// source "cometRename.mel"; cometRename(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2003 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Feb 20, 2003 - Initial Release. +// 1.10 - Feb 20, 2003 - Fixed so also handles non-unique node names. +// 1.20 - Feb 28, 2003 - Fixed up code so string Replace won't die +// if you search for nothing...And also sanity check for other +// fields not to be blank +// Also made UI nicer so won't hit wrong buttons. +// +// -------------------------------------------------------------------------- + + +/* + * stringReplace() - Given a main string str, looks for ALL occurances + * of $search, and replaces them with $replace. + * + * This properly handles the replace string being similar or a part + * of the search string, and handling multiple matches. + */ +proc string stringReplace(string $str, string $search, string $replace) +{ + string $retstr = ""; + + // Sanity check please! + if ($search == "") + return $str; + + if ($str == "") + return $str; + + + int $len = size($str); + int $lenS = size($search); + + int $i, $j; + int $match; + + for ($i=1; $i <= $len; ++$i) + { + $match = 0; + + // Now get substring from where we are currently + // to the number of letters past of the length + // of the search string. Basically the same + // length as the search string. So if it is identical + // we know we have a match. + // + // If not, we don't. We also make sure we aren't + // trying to look past the end of the string... + // + $j = $i + ($lenS - 1); + + if ($j <= $len) + { + string $part = `substring $str $i $j`; + if ($part == $search) + $match = 1; + } + + if ($match == 1) + { + $retstr += $replace; // we did it, so insert replace str + $i = $j; // skip forward + } + else + { + string $char = `substring $str $i $i`; + $retstr += $char; + } + } + + return $retstr; + +} + +// -------------------------------------------------------------------------- + +/* + * getShortName() - Given a string, get last part after last | pipe. + */ +proc string getShortName(string $obj) +{ + string $ret = ""; + + if ($obj == "") + return $ret; + + string $parts[]; + int $cnt = tokenize($obj, "|", $parts); + + if ($cnt <= 0) + $ret = $obj; + else + $ret = $parts[($cnt-1)]; + + return $ret; +} + +// -------------------------------------------------------------------------- + +/* + * chop() - Removes last char + */ +proc string chop(string $str) +{ + string $ret = ""; + + int $cnt = size($str); + + if ($cnt <= 1) + return $ret; + + $ret = `substring $str 1 ($cnt-1)`; + + return $ret; +} + +// -------------------------------------------------------------------------- + +/* + * cR_doRename() - Does real work of renaming selected objects + * + * $mode: 0=S&R 1=Pre 2=Suf 3=R&N + */ +global proc cR_doRename(int $mode) +{ + string $objs[] = `ls -sl -long`; + int $objCnt = size($objs); + int $i; + + // Get all UI data... + // + string $search = `textField -q -tx tfSearch`; + string $replace = `textField -q -tx tfReplace`; + string $prefix = `textField -q -tx tfPrefix`; + string $suffix = `textField -q -tx tfSuffix`; + string $rename = `textField -q -tx tfRename`; + int $start = `intField -q -v ifNumber`; + int $padding = `intField -q -v ifPadding`; + + string $shortName; + string $newShortName; + string $newName; + + // Now do it + // + for ($i=0; $i < $objCnt; ++$i) + { + $obj = $objs[$i]; + + $shortName = getShortName($obj); + + switch ($mode) + { + case 0: + if ($search == "") + { + warning -sl 0 ("Can't search and replace, search entry field is blank!"); + return; + } + $newShortName = stringReplace($shortName, $search, $replace); + break; + + case 1: + if ($prefix == "") + { + warning -sl 0 ("Can't add prefix, prefix entry field is blank!"); + return; + } + $newShortName = ($prefix + $shortName); + break; + + case 2: + if ($suffix == "") + { + warning -sl 0 ("Can't add suffix, suffix entry field is blank!"); + return; + } + $newShortName = ($shortName + $suffix); + break; + + case 3: + if ($rename == "") + { + warning -sl 0 ("Can't rename and number, rename entry field is blank!"); + return; + } + // get index of string as user wants + int $n = $i + $start; + // pad of 0's + string $padStr = ""; + + // Add padding as needed + for ($p=1; $p < $padding; ++$p) + { + if ($n < pow(10, $p) ) + $padStr += "0"; + } + + $newShortName = ($rename+$padStr+$n); + break; + + } // end of switch + + + $newName = `rename $obj $newShortName`; + select -r $newName; + string $newLongNames[] = `ls -sl -long`; + string $newLongName = $newLongNames[0]; + + // Now update rest of stuff in list in case |long|names + // required it + for ($j=0; $j < $objCnt; ++$j) + { + string $tmp = $objs[$j]; + + $tmp += "|"; // add to end for easy replacing + $tmp = `substitute ($obj+"|") $tmp ("|"+$newLongName+"|")`; + $tmp = chop($tmp); + + $objs[$j] = $tmp; + } + + + } // end of for all objs + + select $objs; + +} + + +// -------------------------------------------------------------------------- + +/* + * cometRename() - Main UI entry. + */ +global proc cometRename() +{ + if (`window -ex cometRenameWin` != true) + { + window -w 310 -h 360 -t ("cometRename - 1.20") -in "cometRename" -s true -tb true cometRenameWin; + + columnLayout cr_mainCol; + + separator -style "in" -w 300 -h 8; + + rowColumnLayout -nc 2 -cw 1 50 -cw 2 250; + text -l "Search: " -al "right"; + textField -tx "" tfSearch; + setParent ".."; + rowColumnLayout -nc 2 -cw 1 50 -cw 2 250; + text -l "Replace: " -al "right"; + textField -tx "" tfReplace; + setParent ".."; + separator -style "none" -w 300 -h 4; + button -l "Search And Replace" -al "center" -w 300 -c ("cR_doRename(0);") -ann "Searches for Search text and replaecs with Replace text. Replace CAN be blank to remove text, or CAN be a part of or contain search string in it." butSearchReplace; + + separator -style "none" -w 300 -h 10; + separator -style "in" -w 300 -h 8; + + rowColumnLayout -nc 2 -cw 1 50 -cw 2 250; + text -l "Prefix: " -al "right"; + textField -tx "" tfPrefix; + setParent ".."; + separator -style "none" -w 300 -h 4; + button -l "Add Prefix" -al "center" -w 300 -c ("cR_doRename(1);") -ann "Adds prefix text in before current name of each object" butPrefix; + + + separator -style "none" -w 300 -h 10; + separator -style "in" -w 300 -h 8; + + rowColumnLayout -nc 2 -cw 1 50 -cw 2 250; + text -l "Suffix: " -al "right"; + textField -tx "" tfSuffix; + setParent ".."; + separator -style "none" -w 300 -h 4; + button -l "Add Suffix" -al "center" -w 300 -c ("cR_doRename(2);") -ann "Adds suffix text in after current name of each object" butSuffix; + + separator -style "none" -w 300 -h 10; + separator -style "in" -w 300 -h 8; + + rowColumnLayout -nc 2 -cw 1 50 -cw 2 250; + text -l "Rename: " -al "right"; + textField -tx "" tfRename; + setParent ".."; + rowColumnLayout -nc 2 -cw 1 50 -cw 2 60; + text -l "Start #: " -al "right"; + intField -v 1 -w 60 -min 0 ifNumber; + setParent ".."; + rowColumnLayout -nc 2 -cw 1 50 -cw 2 60; + text -l "Padding: " -al "right"; + intField -v 0 -w 60 -min 0 ifPadding; + setParent ".."; + separator -style "none" -w 300 -h 4; + button -l "Rename And Number" -al "center" -w 300 -c ("cR_doRename(3);") -ann "Renames each object with the base rename text, then adds a number after each, with the specfied number of zero padding in front of the number" butRenameNumber; + + separator -style "in" -w 300 -h 8; + + + showWindow cometRenameWin; + } + else // else just pop it up from being minimized again + { + showWindow cometRenameWin; + } + +} + + +// -------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/cometSaveWeights.mel b/2009-x64/CometScripts/scripts/cometSaveWeights.mel new file mode 100644 index 0000000..bdfa212 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometSaveWeights.mel @@ -0,0 +1,1142 @@ +// -------------------------------------------------------------------------- +// cometSaveWeights.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// A tool to easily save and load skin weights. Handles search and replace, +// mirroring and normalization/pruning. +// +// NOTE: To do mirroring, you MUST: +// - Load by Point Position +// - Select BOTH a Search/Replace AND a Mirror Axis. +// +// +// REQUIRES: +// libSkin.mel - For skin procs +// libString.mel - For string procs +// +// USAGE: +// source "cometSaveWeights.mel"; cometSaveWeights() ; +// +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ?2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Sep 18, 2004 - Initial Release. +// 1.01 - 11/02/04 - mcomet - Fixing. +// 1.02 - 11/02/04 - mcomet - Now does pruning on save and works better. +// 1.03 - 11/03/04 - mcomet - Fixed big bug in pruning I added yesterday and +// also better printing now for matches. +// +// -------------------------------------------------------------------------- + + +/* + * Includes + */ +eval("source \"libSkin.mel\"; ") ; +eval("source \"libString.mel\"; ") ; + +/* + * globals + */ +global string $cSaveW_version = "1.03" ; +global string $cSaveW_date = "Nov 3, 2004" ; + +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// UI Procs +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- + +/* + * cometSaveWeights() - Main Entry + */ +global proc cometSaveWeights() +{ + global string $cSaveW_version ; + global string $cSaveW_date ; + + if (`window -q -ex cometSaveWeightsWin`) + { + showWindow cometSaveWeightsWin ; + return ; + } + + + window -w 350 -h 280 -t ("Comet Save Weights - v"+$cSaveW_version) cometSaveWeightsWin ; + formLayout mainSaveForm ; + + text -l "skinCluster:" txSkinCl ; + textField -tx "" tfSkinCl ; + button -l "<<<" -w 30 -c ("cSaveW_loadSkin();") -ann ("Load skinCluster from selected geometry.") btnSkinCl ; + + popupMenu -p tfSkinCl -pmc ("cSaveW_buildSkinMenu();") pmSkinCl ; + + + text -l "Filename:" txFile ; + textField -tx "" tfFileWts ; + button -l "..." -w 30 -c ("cSaveW_chooseFile();") -ann ("Choose file for load/save.") btnFile ; + + separator -style "in" -h 3 sepMain ; + + button -l "Save Weights" -c ("cSaveW_saveUI();") -ann ("Save weights for chosen skinCluster") btnSave ; + + separator -style "in" -h 3 sepSave ; + + radioButtonGrp -l "Load By:" -cc ("cSaveW_updateUI();") -nrb 3 -la3 "Pt. Order" "World Pos." "Local pos." -sl 1 -cw4 52 70 80 80 -ann ("Load by either Point Order, where point count cannot have changed, or by Closest Point Position matching.") rbgLoadBy ; + + text -l "Point Position Match Tolerance:" txTol ; + floatField -w 150 -v -1.0 -min -1.0 -pre 6 -en false tfTol ; + popupMenu -p tfTol ; + menuItem -l "0.0001" -c ("floatField -e -v 0.0001 tfTol ;") ; + menuItem -l "0.001" -c ("floatField -e -v 0.001 tfTol ;") ; + menuItem -l "0.01" -c ("floatField -e -v 0.01 tfTol ;") ; + menuItem -l "0.1" -c ("floatField -e -v 0.1 tfTol ;") ; + menuItem -divider true ; + menuItem -l "Disabled (-1)" -c ("floatField -e -v -1.0 tfTol ;") ; + + + checkBox -l "Prune weights to" -v 1 -cc ("cSaveW_updateUI();") cbPrune ; + intField -v 3 -min 1 -max 12 -w 40 ifPrune ; + text -l "decimal places." txPrune ; + popupMenu -p ifPrune ; + menuItem -l "1" -c ("intField -e -v 1 ifPrune ;") ; + menuItem -l "2" -c ("intField -e -v 2 ifPrune ;") ; + menuItem -l "3" -c ("intField -e -v 3 ifPrune ;") ; + menuItem -l "4" -c ("intField -e -v 4 ifPrune ;") ; + menuItem -l "5" -c ("intField -e -v 5 ifPrune ;") ; + + + radioButtonGrp -l "Mirror Pos.:" -nrb 4 -la4 "None" "X" "Y" "Z" -sl 1 -en false -cw5 63 50 40 40 40 rbgMirror ; + + + text -l "Search:" txSearch ; + textField -tx "" tfSearch ; + text -l "Replace:" txReplace ; + textField -tx "" tfReplace ; + + popupMenu -p tfSearch ; + menuItem -l "*NONE*" -c ("textField -e -tx \"\" tfSearch; textField -e -tx \"\" tfReplace; radioButtonGrp -e -sl 1 rbgMirror ; ") ; + menuItem -l "Lf" -c ("textField -e -tx \"Lf\" tfSearch; textField -e -tx \"Rt\" tfReplace; radioButtonGrp -e -sl 2 rbgMirror ; ") ; + menuItem -l "Rt" -c ("textField -e -tx \"Rt\" tfSearch; textField -e -tx \"Lf\" tfReplace; radioButtonGrp -e -sl 2 rbgMirror ; ") ; + + popupMenu -p tfReplace ; + menuItem -l "*NONE*" -c ("textField -e -tx \"\" tfSearch; textField -e -tx \"\" tfReplace; radioButtonGrp -e -sl 1 rbgMirror ; ") ; + menuItem -l "Rt" -c ("textField -e -tx \"Lf\" tfSearch; textField -e -tx \"Rt\" tfReplace; radioButtonGrp -e -sl 2 rbgMirror ; ") ; + menuItem -l "Lf" -c ("textField -e -tx \"Rt\" tfSearch; textField -e -tx \"Lf\" tfReplace; radioButtonGrp -e -sl 2 rbgMirror ; ") ; + + button -l "Select Joints from File" -c ("cSaveW_selJntsUI();") -ann ("Attempts to re-select original skin joints based on what was stored in the save weights file.") btnSelJnts ; + + button -l "Load Weights" -c ("cSaveW_loadUI();") -ann ("Loads weights for chosen skinCluster.") btnLoad ; + + separator -style "in" -h 3 sepEmail ; + iconTextButton -style "textOnly" -l ("comet@comet-cartoons.com") -ann ("cometSaveWeights - "+$cSaveW_version+" - "+$cSaveW_date+" Copyright ?2004 Michael B. Comet All Rights Reserved") -c ("showHelp -a \"http://www.comet-cartoons.com/toons/\"") -h 24 email ; + + + + formLayout -e + + -af txSkinCl "top" 8 + -an txSkinCl "bottom" + -af txSkinCl "left" 5 + -an txSkinCl "right" + + -af tfSkinCl "top" 5 + -an tfSkinCl "bottom" + -ac tfSkinCl "left" 5 txSkinCl + -ac tfSkinCl "right" 5 btnSkinCl + + -af btnSkinCl "top" 5 + -an btnSkinCl "bottom" + -an btnSkinCl "left" + -af btnSkinCl "right" 5 + + + -ac txFile "top" 8 tfSkinCl + -an txFile "bottom" + -af txFile "left" 5 + -an txFile "right" + + -ac tfFileWts "top" 5 tfSkinCl + -an tfFileWts "bottom" + -ac tfFileWts "left" 5 txFile + -ac tfFileWts "right" 5 btnFile + + -ac btnFile "top" 5 tfSkinCl + -an btnFile "bottom" + -an btnFile "left" + -af btnFile "right" 5 + + -ac sepMain "top" 5 tfFileWts + -an sepMain "bottom" + -af sepMain "left" 0 + -af sepMain "right" 0 + + -ac btnSave "top" 5 sepMain + -an btnSave "bottom" + -af btnSave "left" 5 + -af btnSave "right" 5 + + -ac sepSave "top" 5 btnSave + -an sepSave "bottom" + -af sepSave "left" 0 + -af sepSave "right" 0 + + -ac rbgLoadBy "top" 5 sepSave + -an rbgLoadBy "bottom" + -af rbgLoadBy "left" 5 + -an rbgLoadBy "right" + + -ac txTol "top" 8 rbgLoadBy + -an txTol "bottom" + -af txTol "left" 5 + -an txTol "right" + + -ac tfTol "top" 5 rbgLoadBy + -an tfTol "bottom" + -ac tfTol "left" 5 txTol + -af tfTol "right" 5 + + + -ac cbPrune "top" 8 tfTol + -an cbPrune "bottom" + -af cbPrune "left" 5 + -an cbPrune "right" + + -ac ifPrune "top" 5 tfTol + -an ifPrune "bottom" + -ac ifPrune "left" 0 cbPrune + -an ifPrune "right" + + -ac txPrune "top" 8 tfTol + -an txPrune "bottom" + -ac txPrune "left" 5 ifPrune + -an txPrune "right" + + + -ac rbgMirror "top" 5 ifPrune + -an rbgMirror "bottom" + -af rbgMirror "left" 5 + -af rbgMirror "right" 5 + + + + -ac txSearch "top" 8 rbgMirror + -an txSearch "bottom" + -af txSearch "left" 5 + -an txSearch "right" + + -ac tfSearch "top" 5 rbgMirror + -an tfSearch "bottom" + -ac tfSearch "left" 5 txSearch + -ap tfSearch "right" 0 49 + + -ac txReplace "top" 8 rbgMirror + -an txReplace "bottom" + -ap txReplace "left" 0 51 + -an txReplace "right" + + -ac tfReplace "top" 5 rbgMirror + -an tfReplace "bottom" + -ac tfReplace "left" 5 txReplace + -af tfReplace "right" 5 + + -ac btnSelJnts "top" 5 tfSearch + -an btnSelJnts "bottom" + -af btnSelJnts "left" 5 + -ap btnSelJnts "right" 0 50 + + -ac btnLoad "top" 5 tfSearch + -an btnLoad "bottom" + -ap btnLoad "left" 0 50 + -af btnLoad "right" 5 + + -ac sepEmail "top" 5 btnLoad + -an sepEmail "bottom" + -af sepEmail "left" 0 + -af sepEmail "right" 0 + + -ac email "top" 0 sepEmail + -an email "bottom" + -af email "left" 5 + -af email "right" 5 + + mainSaveForm ; + + + + showWindow cometSaveWeightsWin ; +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_loadSkin() - Loads the skinCluster up into field + */ +global proc cSaveW_loadSkin() +{ + string $objs[] = `ls -sl` ; + + string $skins[] = libSkin_getSkinFromGeo($objs[0]) ; + textField -e -tx $skins[0] tfSkinCl ; +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_buildSkinMenu() - Makes popup menu for the geo list + */ +global proc cSaveW_buildSkinMenu() +{ + menu -e -dai pmSkinCl ; + setParent -menu pmSkinCl ; + + string $geos[] = libSkin_getSkinGeosInScene() ; + string $g; + + $geos = `sort $geos` ; + + for ($g in $geos) + { + menuItem -l $g -c ("select -r \""+$g+"\"; cSaveW_loadSkin(); ") ; + } + +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_chooseFile() - Use the nicer Maya file browser.... + */ +global proc cSaveW_chooseFile() +{ + // See the top of fileBrowser.mel in Maya for info. + // Basically you call : + // fileBrowser( string $procCB, string $action, string $type, int $mode) ; + // + // $procCB = callback proc to be invoked when the action button is pressed + // $action = label of the button in the browser that will do something, like "Load" or "Save" + // $type = File type to be used... like *.mel + // $mode = 0=read 1=write 2=write (no paths) 4=Read dir's only + // + // + // The Callback proc must take two strings, and return an int + // ie: + // global proc int fileProcCB(string $file, string $type) + // + // $file = file or dir that was chosen + // $type = type of file + // Returns 1 if dialog should close and success, 0 if keep open and fail. + // + // Finally another useful items is: + // global string $gDefaultFileBrowserDir; + // + // This will put the filebrowser to point to the path. Useful to make + // it go somewhere right before the initial fileBrowser call. + // + global string $gDefaultFileBrowserDir; + + string $curFile = `textField -q -tx tfFileWts` ; + string $dir = dirname($curFile) ; + + if ($dir != "") + pv_goDirectory($dir) ; // And start in that place... + + fileBrowser( "cSaveW_chooseFileCB", "Choose", "*.*", 1) ; + + +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_chooseFileCB() - Callback proc for fileBrowser call. + */ +global proc int cSaveW_chooseFileCB(string $file, string $type) +{ + textField -e -tx $file tfFileWts ; + return 1 ; +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_saveUI() - Wrapper for save from ui call + */ +global proc cSaveW_saveUI() +{ + string $skinCl = `textField -q -tx tfSkinCl`; + string $file = `textField -q -tx tfFileWts` ; + int $bDoPrune = `checkBox -q -v cbPrune` ; + int $prunePlaces = `intField -q -v ifPrune` ; + + string $comps[] = libSkin_getSelComps($skinCl) ; + + cSaveW_save($skinCl, $file, $comps, $bDoPrune, $prunePlaces ) ; +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_save() - Real Save proc + */ +global proc cSaveW_save(string $skinCl, string $file, string $comps[], + int $bDoPrune, int $prunePlaces) +{ + if (size($comps) <= 0) + { + error -sl 0 ("cometSaveWeights: You must select one or more points/vertices to save.") ; + } + + if ($file == "") + { + error -sl 0 ("cometSaveWeights: You must choose a file to save to."); + } + + if (`filetest -r $file`) // Does file already exist? + { + if (`filetest -w $file` != true) // If so is it not writable? + { + error -sl 0 ("cometSaveWeights: The file you have chosen is NOT writeable."); + } + string $ret = `confirmDialog + -title "Overwrite File?" + -message ("The file: "+$file+" \n\n Already exists. Do you wish to overwrite it?\n") + -button "Save" + -button "Cancel" + -defaultButton "Cancel" + -cancelButton "Cancel" + -dismissString "Cancel" + `; + + if ($ret != "Save") + { + print ("// cometSaveWeights aborted at user request. //\n") ; + return ; + } + + } + + + // At this point we are ready to save weights. + // + + // Open file + int $fileId = `fopen $file "w"`; + if ($fileId == 0) { + error -sl 1 ("cometSaveWeights: Error Opening File: "+$file); + return; + } + + fprint $fileId ("// "+$file+" - cometSaveWeights.mel OUTPUT.\n"); + fprint $fileId ("// \n\n"); + fprint $fileId ("[WEIGHTS]\n"); + + waitCursor -state on; + + string $comp="" ; + + string $usedJnts[] ; + clear $usedJnts ; + string $cmd="" ; + + + setAttr ($skinCl+".envelope") 0.0 ; // Disable so we get a valid point pos read... + + for ($comp in $comps) + { + float $wts[] ; + string $jnts[] ; + clear $jnts; // erase array + clear $wts ; + + // What joints are being used? + $cmd = ("skinPercent -q -t "+$skinCl+" "+$comp); + $jnts = eval($cmd); + // And what are their skinPercent weights? + $cmd = ("skinPercent -q -v "+$skinCl+" "+$comp); + $wts = eval($cmd); + + if ($bDoPrune) + cSaveW_pruneAndNormalize($wts, $prunePlaces) ; + + float $posW[3] = `pointPosition -w $comp`; + float $posL[3] = `pointPosition -l $comp`; + + fprint $fileId "[COMPONENT]\n"; + fprint $fileId ($comp+"\n"); // print sel name + fprint $fileId ($posW[0]+" "+$posW[1]+" "+$posW[2]+"\n"); // print pos World + fprint $fileId ($posL[0]+" "+$posL[1]+" "+$posL[2]+"\n"); // print pos Local + + string $output = "" ; + float $total = 0.0 ; + for ($n=0; $n < size($jnts); ++$n) + { + if ($wts[$n] != 0.0) + { + $total += $wts[$n] ; + $output += ($jnts[$n]+" "+$wts[$n]+" "); + + // Now keep list of joints we've seen... + cSaveW_addToArray($jnts[$n], $usedJnts ) ; + } + } + if ($total <= 0.0 || $output == "") + $output = "// No weights" ; + + fprint $fileId ($output+"\n"); // write to file + } // end of each comp + + fprint $fileId ("[END-WEIGHTS]\n"); + + fprint $fileId ("\n"); + + fprint $fileId ("[JOINTS]\n"); + for ($n=0; $n < size($usedJnts); ++$n) + { + fprint $fileId ($usedJnts[$n]+"\n"); + } + fprint $fileId ("[END-JOINTS]\n"); + + fprint $fileId ("\n\n"); + fprint $fileId ("// end of output.\n"); + + fclose $fileId; + + setAttr ($skinCl+".envelope") 1.0 ; // RE-Enable + + + waitCursor -state off; + + print ("// cometSaveWeights ended successfully. //\n"); + +} + + +// -------------------------------------------------------------------------- + + +/* + * cSaveW_addToArray() - Helper function that checks to see if the passed in + * string/bonename is in our list, and if not, adds it to the end. + */ +global proc cSaveW_addToArray(string $b, string $array[]) +{ + int $n; + int $found=0; + int $total = size($array); + + for ($n=0; $n < $total; ++$n) { + if ($array[$n] == $b) { + $found = 1; + break; + } + } + + if ($found == 0) // haven't seen it yet, add to end of list. + $array[$total] = $b; // add it + +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_updateUI + */ +global proc cSaveW_updateUI() +{ + int $mode = `radioButtonGrp -q -sl rbgLoadBy` ; + if ($mode == 1) // Order + { + textField -e -en false tfTol ; + radioButtonGrp -e -en false rbgMirror ; + } + else + { + textField -e -en true tfTol ; + radioButtonGrp -e -en true rbgMirror ; + } + + + int $prune = `checkBox -q -v cbPrune` ; + intField -e -en $prune ifPrune ; + +} + +// -------------------------------------------------------------------------- + + +/* + * cSaveW_loadUI() - Wrapper for load from ui call + */ +global proc cSaveW_loadUI() +{ + string $skinCl = `textField -q -tx tfSkinCl`; + string $file = `textField -q -tx tfFileWts` ; + int $mode = `radioButtonGrp -q -sl rbgLoadBy` ; + float $tol = `floatField -q -v tfTol` ; + int $mirrorMode = `radioButtonGrp -q -sl rbgMirror` ; + string $search = `textField -q -tx tfSearch` ; + string $replace = `textField -q -tx tfReplace` ; + int $bDoPrune = `checkBox -q -v cbPrune` ; + int $prunePlaces = `intField -q -v ifPrune` ; + + string $comps[] = libSkin_getSelComps($skinCl) ; + + cSaveW_load($skinCl, $file, $comps, $mode, $tol, $mirrorMode, $search, $replace, $bDoPrune, $prunePlaces) ; + +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_load() - Real load proc + */ +global proc cSaveW_load(string $skinCl, string $file, string $comps[], + int $mode, float $tol, int $mirrorMode, string $search, string $replace, + int $bDoPrune, int $prunePlaces) +{ + // Store some vars for pointPosition loads... + int $ppCnt = 0 ; // How many read in? + string $ppComps[] ; // Original component name for the saved pp comp + string $ppJnts[] ; // string of joints for each point + string $ppWts[] ; // Weight string of float weights for each point + float $ppXPos[] ; // X Pos for each loaded pt + float $ppYPos[] ; // X Pos for each loaded pt + float $ppZPos[] ; // X Pos for each loaded pt + + + if (size($comps) <= 0) + { + error -sl 0 ("cometSaveWeights: You must select one or more points/vertices to load points for.") ; + } + + if ($file == "") + { + error -sl 0 ("cometSaveWeights: You must choose a file to load from."); + } + + if (`filetest -r $file` != true) // Does file already exist? + error -sl 0 ("cometSaveWeights: The file \""+$file+"\" does not exist.") ; + + + $fileId = `fopen $file "r"`; + if ($fileId == 0) { + error -sl 1 ("saveWeights.mel: Error Opening File or File does not exist: "+$file); + return; + } + + waitCursor -state on; + + setAttr ($skinCl+".envelope") 0.0 ; // Disable so we get a valid point pos read... + + // Start the reading... + $line = `fgetline $fileId`; // get the first comment line/header + $line = cSaveW_stripCR($line); + + string $parts[] ; + + string $curObj = "" ; + tokenize($comps[0], ".", $parts) ; // Break on obj.attr to get at least what current obj is. + $curObj = $parts[0] ; + + do + { + + + if ($line == "" || substring($line,1,1) == " " || substring($line,1,2) == "//") + $line = "[COMMENT]" ; + + switch ($line) + { + case "[WEIGHTS]": + print ("// cometSaveWeights: Reading weights... //\n") ; + break ; + + case "[COMPONENT]": + // Now read next items... + string $comp = `fgetline $fileId` ; // obj.vtx[] + $comp = cSaveW_stripCR($comp) ; + + string $posWStr = `fgetline $fileId` ; // posW + $posWStr = cSaveW_stripCR($posWStr) ; + tokenize($posWStr, $parts) ; + float $posW[3]; + $posW[0] = (float)$parts[0] ; + $posW[1] = (float)$parts[1] ; + $posW[2] = (float)$parts[2] ; + if ($mirrorMode == 2) + $posW[0] *= -1.0 ; + else if ($mirrorMode == 3) + $posW[1] *= -1.0 ; + else if ($mirrorMode == 4) + $posW[2] *= -1.0 ; + + string $posLStr = `fgetline $fileId` ; // posL + $posLStr = cSaveW_stripCR($posLStr) ; + tokenize($posLStr, $parts) ; + float $posL[3]; + $posL[0] = (float)$parts[0] ; + $posL[1] = (float)$parts[1] ; + $posL[2] = (float)$parts[2] ; + if ($mirrorMode == 2) + $posL[0] *= -1.0 ; + else if ($mirrorMode == 3) + $posL[1] *= -1.0 ; + else if ($mirrorMode == 4) + $posL[2] *= -1.0 ; + + string $tvStr = `fgetline $fileId` ; // jnt wt jnt wt jnt wt ... + $tvStr = cSaveW_stripCR($tvStr) ; + tokenize($tvStr, $parts) ; + string $jnts[] ; + float $wts[] ; + clear $jnts ; + clear $wts ; + int $j; + for ($j=0; $j < size($parts); $j += 2) + { + if ($search != "") + $parts[$j] = strSearchReplace($parts[$j], $search, $replace) ; + + $jnts[size($jnts)] = $parts[$j] ; + $wts[size($wts)] = $parts[$j+1] ; + } + + // Now actually do something with all the data we read. + // We know the points World and Local space with mirroring done, + // as well as the joints, weights and comp with search/replace done. + // + if ($mode == 1) // Order + { + tokenize($comp, ".", $parts) ; // Break into obj.attr + string $c; + + + // Now to allow for loading of one obj to another, we only really keep + // the .vtx part, and retack that onto the real object the skinCluster is for. + // + $comp = ($curObj+"."+$parts[1]) ; + + int $isSel = false ; + for ($c in $comps) + { + if ($c == $comp) + { + $isSel = true ; + break ; + } + } + + // Now only actually do the load if the comp we just read was in the selected comp list... + if ($isSel) + { + print ("// "+$comp+" Loading... //\n"); + + string $cmd = "" ; + + if ($bDoPrune) + { + // Prune and normalize + int $floodIdx = cSaveW_pruneAndNormalize($wts, $prunePlaces) ; + + // Flood to largest value first, to ensure proper set. + $cmd += "skinPercent " ; + $cmd += ("-tv "+$jnts[$floodIdx]+" 1.0 "); + $cmd += ($skinCl+" "+$comp+" ; ") ; + eval($cmd) ; + } + + + $cmd = "skinPercent " ; + + for ($j=0; $j < size($jnts); ++$j) + $cmd += ("-tv "+$jnts[$j]+" "+$wts[$j]+" "); + + $cmd += ($skinCl+" "+$comp+" ;") ; + + eval($cmd) ; // Load the weight! + } + } + else // Point position, just store data + { + $ppComps[$ppCnt] = $comp ; + $ppJnts[$ppCnt] = "" ; + $ppWts[$ppCnt] = "" ; + for ($j=0; $j < size($jnts); ++$j) // Re-assemble as strings for now... + { + $ppJnts[$ppCnt] = $ppJnts[$ppCnt] + ($jnts[$j] + " "); + $ppWts[$ppCnt] = $ppWts[$ppCnt] + ($wts[$j] + " ") ; + } + + if ($mode == 2) // World + { + $ppXPos[$ppCnt] = $posW[0] ; + $ppYPos[$ppCnt] = $posW[1] ; + $ppZPos[$ppCnt] = $posW[2] ; + } + else if ($mode == 3) // Local + { + $ppXPos[$ppCnt] = $posL[0] ; + $ppYPos[$ppCnt] = $posL[1] ; + $ppZPos[$ppCnt] = $posL[2] ; + } + + ++$ppCnt ; // Keep track of how many pts read. + } + + + break ; + + case "[END-WEIGHTS]": + print ("// cometSaveWeights: Finished reading weight data. //\n") ; + break ; + + + case "[JOINTS]": + // Orig jnt list, read until we hit the END marker for it... + string $temp ; + do + { + $temp = `fgetline $fileId` ; // orig jnt + $temp = cSaveW_stripCR($temp) ; + + } while ($temp != "[END-JOINTS]" && !feof($fileId)) ; + break ; + + + case "[COMMENT]": + default: + ; // Ignore it! + break ; + } + + + // Attempt to read next line + $line = `fgetline $fileId`; // get the first comment line/header + $line = cSaveW_stripCR($line); + + } while ( !feof($fileId) ) ; + + + + if ($mode == 2 || $mode == 3) // Point position load...must finish... + { + print ("// cometSaveWeights: Loading by point position... //\n") ; + + // At this stage we have stored jnt, wts, pos for each original comp pt. + // Now for each real selected vert, we can loop thru and load. + // + + // Go thru each selected comp...and find best match for it.. + int $i; + for ($i=0; $i < size($comps); ++$i) + { + // Get position of the component + float $posC[3] ; + if ($mode == 2) + $posC = `pointPosition -w $comps[$i]`; + else if ($mode == 3) + $posC = `pointPosition -l $comps[$i]`; + + + int $idxClosest = -1 ; + float $closestDist = -1 ; + + int $j ; + for ($j=0; $j < $ppCnt; ++$j) + { + + vector $vDist = << ($posC[0] - $ppXPos[$j]), ($posC[1] - $ppYPos[$j]), ($posC[2] - $ppZPos[$j]) >> ; + float $dist = mag($vDist) ; + + + // Now if we are closer, or if first round, store... + if ($dist < $closestDist || $idxClosest == -1) + { + $idxClosest = $j ; + $closestDist = $dist ; + } + + } + + // Now we have a closest point..but make sure it is within threshold + if ($closestDist > $tol && $tol >= 0.0) // The closest match was not close enough....neg tol means ignore tolerance + { + print ("// "+$comps[$i]+" distance "+$closestDist+" is out of tolerance "+$tol+" for closest point INDEX "+$idxClosest+". //\n") ; + continue ; + } + + print ("// "+$comps[$i]+" matches "+$ppComps[$idxClosest]+" (Internal Index "+$idxClosest+") //\n") ; + + // At this point we can weight..we just have to munge the strings we stored + // back into something usable + // + string $jnts[] ; + float $wts[] ; + clear $jnts ; + clear $wts ; + + tokenize($ppJnts[$idxClosest], $parts) ; + for ($j=0; $j < size($parts); ++$j) + $jnts[size($jnts)] = $parts[$j] ; + + tokenize($ppWts[$idxClosest], $parts) ; + for ($j=0; $j < size($parts); ++$j) + $wts[size($wts)] = (float)$parts[$j] ; + + + // Now we can actually load it. + // + string $cmd = "" ; + + if ($bDoPrune) + { + // Prune and normalize + int $floodIdx = cSaveW_pruneAndNormalize($wts, $prunePlaces) ; + + // Flood to largest value first, to ensure proper set. + $cmd += "skinPercent " ; + $cmd += ("-tv "+$jnts[$floodIdx]+" 1.0 "); + $cmd += ($skinCl+" "+$comps[$i]+" ; ") ; + eval($cmd) ; + } + + + $cmd = "skinPercent " ; + + for ($j=0; $j < size($jnts); ++$j) + $cmd += ("-tv "+$jnts[$j]+" "+$wts[$j]+" "); + + $cmd += ($skinCl+" "+$comps[$i]+" ;") ; + + eval($cmd) ; // Load the weight! + + + } + + print ("// cometSaveWeights: Point position load done. //\n") ; + } + + + setAttr ($skinCl+".envelope") 1.0 ; // RE-Enable + + + waitCursor -state off; + + + fclose $fileId; + +} + +// -------------------------------------------------------------------------- + + +/* + * cSaveW_stripCR - removes leading AND trailing \r\n stuff. + */ +global proc string cSaveW_stripCR(string $s) +{ + return ( match( "^[^(\r\n)]*", $s ) ); +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_selJntsUI() - Wrapper for sel jnts proc + */ +global proc cSaveW_selJntsUI() +{ + string $file = `textField -q -tx tfFileWts` ; + string $search = `textField -q -tx tfSearch` ; + string $replace = `textField -q -tx tfReplace` ; + + cSaveW_selJntsFromFile($file, $search, $replace) ; +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_selJntsFromFile() - Selects skin joints from a while. + */ +global proc cSaveW_selJntsFromFile(string $file, string $search, string $replace) +{ + string $jntsMissed[] ; + clear $jntsMissed ; + + + if ($file == "") + { + error -sl 0 ("cometSaveWeights: You must choose a file to load from."); + } + + if (`filetest -r $file` != true) // Does file already exist? + error -sl 0 ("cometSaveWeights: The file \""+$file+"\" does not exist.") ; + + + $fileId = `fopen $file "r"`; + if ($fileId == 0) { + error -sl 1 ("saveWeights.mel: Error Opening File or File does not exist: "+$file); + return; + } + + waitCursor -state on; + + // Start the reading... + $line = `fgetline $fileId`; // get the first comment line/header + $line = cSaveW_stripCR($line); + + string $parts[] ; + + select -cl ; // Start with nada + + do + { + + + if ($line == "" || substring($line,1,1) == " " || substring($line,1,2) == "//") + $line = "[COMMENT]" ; + + switch ($line) + { + case "[JOINTS]": + // Orig jnt list, read until we hit the END marker for it... + string $jntStr ; + do + { + $jntStr = `fgetline $fileId` ; // orig jnt + $jntStr = cSaveW_stripCR($jntStr) ; + + if ($jntStr != "" && $jntStr != "[END-JOINTS]") + { + $jntStr = strSearchReplace($jntStr, $search, $replace) ; + if (objExists($jntStr)) + select -add $jntStr ; + else + $jntsMissed[size($jntsMissed)] = $jntStr ; + } + + } while ($jntStr != "[END-JOINTS]" && !feof($fileId)) ; + break ; + + + case "[WEIGHTS]": + case "[COMPONENT]": + case "[END-WEIGHTS]": + case "[COMMENT]": + default: + ; // Ignore it! + break ; + } + + + // Attempt to read next line + $line = `fgetline $fileId`; // get the first comment line/header + $line = cSaveW_stripCR($line); + + } while ( !feof($fileId) ) ; + + + waitCursor -state off; + + + fclose $fileId; + + if (size($jntsMissed) > 0) + { + string $missedStr = "" ; + string $j ; + for ($j in $jntsMissed) + $missedStr += ($j + " "); + + warning -sl 0 ("cometSaveWeights: Could not re-select all joints, the following were missing: "+$missedStr) ; + + confirmDialog + -title ("cometSaveWeights - WARNING") + -message ("Could not re-select all joints, the following were missing: \n "+$missedStr) + -ma "left" + -button "OK" + ; + + } + + +} + +// -------------------------------------------------------------------------- + +/* + * cSaveW_roundTo() - Rounds a float value to so many decimal places... + * + * ie: cSaveW_roundTo(1.23456789, 1) ---> 1.2 + * ie: cSaveW_roundTo(1.23456789, 2) ---> 1.23 + * ie: cSaveW_roundTo(1.23456789, 3) ---> 1.234 + * etc... + */ +global proc float cSaveW_roundTo(float $val, int $places) +{ + float $mult = pow(10.0, $places) ; + $val = 1.0 * $val * $mult ; // Shift it all over to the left + int $nVal = (int)$val ; // Remove anything left in the decimal + $val = 1.0 * $nVal / $mult ; // Now shift back. + return $val ; +} + +// -------------------------------------------------------------------------- + + +/* + * cSaveW_pruneAndNormalize() - Given a weight float array this will go thru, + * prune all weights to a certain # of decimal places, and normalize + * so that any leftover goes back to the largest wt. + * Returns which index had the largest value (for flooding). + * $prunePlaces = Only keep up to N decimal places...anything smaller becomes 0. + */ +global proc int cSaveW_pruneAndNormalize(float $wts[], int $prunePlaces) +{ + + if (size($wts) <= 0) + return -1; + + int $i ; + int $nWts = size($wts) ; + + + int $largestIdx = 0 ; + float $largestVal = $wts[0] ; + + float $fTotal = 0.0 ; + + // Find largest index...and also round off weights + for ($i=0; $i < $nWts; ++$i) + { + // If bigger, then store that... + if ($wts[$i] > $largestVal) + { + $largestVal = $wts[$i] ; + $largestIdx = $i ; + } + + $wts[$i] = cSaveW_roundTo($wts[$i], $prunePlaces) ; + $fTotal += $wts[$i] ; // Now keep track of total amount for current new values + } + + // If there is any leftover due to pruning removing causing normalization to be off, + // then we'll just add that small amt back to the largest weight.... + float $fLeftover = 1.0 - $fTotal ; + $wts[$largestIdx] += $fLeftover ; + if ($wts[$largestIdx] > 1.0) + $wts[$largestIdx] = 1.0 ; + + + return $largestIdx ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/cometSkinWeight.mel b/2009-x64/CometScripts/scripts/cometSkinWeight.mel new file mode 100644 index 0000000..919bcf1 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometSkinWeight.mel @@ -0,0 +1,878 @@ +// -------------------------------------------------------------------------- +// cometSkinWeight.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// A tool to more easily do basic skin weighting, without the hassle +// of using the component editor. +// +// REQUIRES: +// libSkin.mel - For skin procs +// +// USAGE: +// source "cometSkinWeight.mel"; cometSkinWeight() ; +// +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ?2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Sep 8, 2004 - Initial Release. +// 1.01 - Dec 1, 2004 - Now can add joints in or remove from cluster. +// 1.02 - Dec 9, 2004 - Now does hilite. +// 1.03 - Mar 15, 2006 - Now has Right click for easier weight setting +// -------------------------------------------------------------------------- + + + +/* + * Includes + */ +eval("source \"libSkin.mel\"; ") ; +eval("source \"libString.mel\"; ") ; + +/* + * globals + */ +global string $cSW_version = "1.03" ; +global string $cSW_date = "Mar 15, 2006" ; + +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// UI Procs +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- + +/* + * cometSkinWeight() - Main Entry + */ +global proc cometSkinWeight() +{ + global string $cSW_version ; + global string $cSW_date ; + + if (`window -q -ex cometSkinWeightWin`) + { + showWindow cometSkinWeightWin ; + return ; + } + + + window -w 300 -h 500 -t ("Comet Skin Weight - v"+$cSW_version) cometSkinWeightWin ; + formLayout mainSkinForm ; + + text -l "GEO:" txGeo ; + textField -tx "" -cc ("cSW_refreshList();") tfGeo ; + button -l "<<<" -c ("cSW_loadGeo; ") -ann ("Load selected geometry") btnGeo ; + + popupMenu -p tfGeo -pmc ("cSW_buildGeoMenu") pmGeo ; + + + text -l "Skin:" txSkin ; + textField -tx "" -cc ("cSW_refreshList();") tfSkin ; + button -l "<<<" -c ("cSW_loadGeo; ") -ann ("Load skinCluster for chosen geometry") btnSkin ; + + popupMenu -p tfSkin -pmc ("cSW_buildSkinMenu") pmSkin ; + + separator -style "in" -h 3 sepLoad ; + + + floatSliderGrp -label "Weight:" + -field true + -minValue 0.0 -maxValue 1.0 + -fieldMinValue 0.0 -fieldMaxValue 1.0 + -value 0 + -sliderStep 0.1 + -pre 3 + -adj 3 + -cw3 50 60 100 + fsgWeight ; + + checkBox -l "Live" -v 1 -cc ("cSW_adjustLive(); ") cbLive ; + button -l "Set Weight" -c ("cSW_setWeight();") -ann ("Manually Set Weight for selected components") btnWt ; + + popupMenu -p fsgWeight popWt ; + float $f ; + for ($f=0.0; $f <= 1.001; $f += 0.05) + { + menuItem -l (floatToStr($f, 1, 2)) -c ("floatSliderGrp -e -v "+$f+" fsgWeight; if (`checkBox -q -v cbLive`) cSW_setWeight(); ") ; + } + + + + textScrollList + -ams true + -selectCommand ("cSW_selChangedCB();") + tslJoints ; + + popupMenu -p tslJoints ; + + menuItem -l ("Highlight All") -c ("cSW_highlightAll(); ") ; + menuItem -divider true ; + menuItem -l ("UN-Lock Weights") -c ("cSW_setLocks(0); ") ; + menuItem -l ("LOCK Weights") -c ("cSW_setLocks(1); ") ; + menuItem -l ("TOGGLE Lock Weights") -c ("cSW_setLocks(2); ") ; + menuItem -divider true ; + menuItem -l ("Select Highlighted Joints") -c ("cSW_selectFromList(0); ") ; + menuItem -l ("Select All Joints in List") -c ("cSW_selectFromList(1); ") ; + menuItem -l ("Select All Joints in skinCluster") -c ("cSW_selectFromList(2); ") ; + menuItem -divider true ; + menuItem -l ("Select Points from Highlighted Joints") -c ("cSW_selectCVsFromJoints(); ") ; + menuItem -l ("Highlight Joints from Selected Points") -c ("cSW_selectJointsFromCVs(); ") ; + menuItem -divider true ; + menuItem -l ("Add selected joints to skinCluster") -c ("cSW_addInfs(); ") ; + menuItem -l ("Remove selected joints from skinCluster") -c ("cSW_removeInfs(); ") ; + + + text -l "Filter:" txFilter ; + textField -tx "*" -cc ("cSW_adjustFilter(0);") -ec ("cSW_adjustFilter(0);") tfFilter ; + + popupMenu -p tfFilter ; + menuItem -l "ALL (*)" -c ("cSW_adjustFilter(1); ") ; + menuItem -l "Filter Highlighted Joints" -c ("cSW_adjustFilter(2); ") ; + + checkBox -l "Sort" -v 1 -cc ("cSW_refreshList") cbSort ; + + + + formLayout -e + + -af txGeo "top" 5 + -an txGeo "bottom" + -af txGeo "left" 5 + -an txGeo "right" + + -af tfGeo "top" 5 + -an tfGeo "bottom" + -ac tfGeo "left" 5 txGeo + -ac tfGeo "right" 5 btnGeo + + -af btnGeo "top" 5 + -an btnGeo "bottom" + -an btnGeo "left" + -af btnGeo "right" 5 + + + -ac txSkin "top" 5 tfGeo + -an txSkin "bottom" + -af txSkin "left" 5 + -an txSkin "right" + + -ac tfSkin "top" 5 tfGeo + -an tfSkin "bottom" + -ac tfSkin "left" 5 txSkin + -ac tfSkin "right" 5 btnSkin + + -ac btnSkin "top" 5 tfGeo + -an btnSkin "bottom" + -an btnSkin "left" + -af btnSkin "right" 5 + + -ac sepLoad "top" 5 tfSkin + -an sepLoad "bottom" + -af sepLoad "left" 0 + -af sepLoad "right" 0 + + -ac fsgWeight "top" 5 sepLoad + -an fsgWeight "bottom" + -af fsgWeight "left" 5 + -af fsgWeight "right" 5 + + -ac cbLive "top" 8 fsgWeight + -an cbLive "bottom" + -af cbLive "left" 8 + -an cbLive "right" + + -ac btnWt "top" 5 fsgWeight + -an btnWt "bottom" + -ac btnWt "left" 5 cbLive + -af btnWt "right" 8 + + -ac tslJoints "top" 5 btnWt + -ac tslJoints "bottom" 5 tfFilter + -af tslJoints "left" 5 + -af tslJoints "right" 5 + + -an txFilter "top" + -af txFilter "bottom" 5 + -af txFilter "left" 5 + -an txFilter "right" + + -an tfFilter "top" + -af tfFilter "bottom" 5 + -ac tfFilter "left" 5 txFilter + -ac tfFilter "right" 5 cbSort + + -an cbSort "top" + -af cbSort "bottom" 8 + -an cbSort "left" + -af cbSort "right" 5 + + + mainSkinForm ; + + + // Get a script job going... + scriptJob -event "SelectionChanged" "cSW_selChangedCB" -p cometSkinWeightWin ; + + + cSW_loadGeo() ; // Try to do an initial load. + cSW_adjustLive() ; // Setup initial slider callbacks + + showWindow cometSkinWeightWin ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_loadObjTF() - Loads the 1st sel object into the text field + */ +global proc cSW_loadObjTF(string $tf) +{ + string $objs[] = `ls -sl` ; + + string $parts[] ; + if (gmatch($objs[0], "*.*") == 1) // have a component? + { + tokenize($objs[0], ".", $parts) ; + $objs[0] = $parts[0] ; // Just get object name part. + } + + textField -e -tx $objs[0] $tf ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_loadGeo() - Wrapper to load geo and skin + */ +global proc cSW_loadGeo() +{ + cSW_loadObjTF("tfGeo") ; + cSW_autoFillSkin(); + cSW_refreshList() ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_autoFillSkin() - Tries to auto fill skinCluster data from + * geometry loaded in + */ +global proc cSW_autoFillSkin() +{ + string $geo = cSW_getGeo() ; + + string $skins[] = libSkin_getSkinFromGeo($geo) ; + + textField -e -tx $skins[0] tfSkin ; + + +} + + +// -------------------------------------------------------------------------- + +/* + * cSW_getGeo() - Wrapper to get the geo loaded in from text field + */ +global proc string cSW_getGeo() +{ + string $geo = `textField -q -tx tfGeo` ; + return $geo ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_getSkin() - Wrapper to get the geo loaded in from text field + */ +global proc string cSW_getSkin() +{ + string $skinCl = `textField -q -tx tfSkin` ; + return $skinCl ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_buildGeoMenu() - Makes popup menu for the geo list + */ +global proc cSW_buildGeoMenu() +{ + menu -e -dai pmGeo ; + setParent -menu pmGeo ; + + string $geos[] = libSkin_getSkinGeosInScene() ; + string $g; + + $geos = `sort $geos` ; + + for ($g in $geos) + { + menuItem -l $g -c ("select -r \""+$g+"\"; cSW_loadGeo(); ") ; + } + +} + +// -------------------------------------------------------------------------- + + +/* + * cSW_buildSkinMenu() - Makes popup menu for the skin list + */ +global proc cSW_buildSkinMenu() +{ + menu -e -dai pmSkin ; + setParent -menu pmSkin ; + + // First get the geo in the TF + string $geo = cSW_getGeo() ; + + string $skins[] = libSkin_getSkinFromGeo($geo) ; + + for ($s in $skins) + { + menuItem -l $s -c ("textField -e -tx \""+$s+"\" tfSkin ; cSW_refreshList(); ") ; + } + +} + +// -------------------------------------------------------------------------- + +/* + * cSW_refreshList() - Refresh's list and such + */ +global proc cSW_refreshList() +{ + string $origSel[] = cSW_getJoints() ; // Store Original Selections, so we can try to reselect at end.... + + textScrollList -e -removeAll tslJoints ; + + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + + + // What should we be adding? + string $jnts[] = libSkin_getJointsFromSkin($skin); + + if (`checkBox -q -v cbSort`) + $jnts = `sort $jnts` ; + + // Add it to list assuming it passes + string $j ; + for ($j in $jnts) + { + // Make sure we properly filter. + if (cSW_passesFilter($j) != true) + continue ; + + string $label = $j ; + + int $lock = libSkin_isLocked($skin, $j) ; + if ($lock) + $label += (" (HOLD)") ; + + textScrollList -e -append $label tslJoints ; + } + + + // Now try to restore selection + int $i ; + string $o ; + string $newItems[] = `textScrollList -q -allItems tslJoints` ; // Get entire list + int $nNew = size($newItems) ; + for ($i=0; $i < $nNew; ++$i) // Convert new items to short name list only... + { + string $parts[]; + tokenize($newItems[$i], $parts) ; + $newItems[$i] = $parts[0] ; + } + int $idxToSel[] ; // What index's should we resel? + clear $idxToSel ; + for ($o in $origSel) + { + int $idx = -1; + for ($i=0; $i < $nNew; ++$i) + { + if ($newItems[$i] == $o) // did we find a match? + { + $idx = $i ; + break ; + } + } + + // Did we find a match? + if ($idx != -1) + $idxToSel[size($idxToSel)] = $idx + 1; // Store for later, +1 since TSL uses 1 based indexing. + } + + $idxToSel = `sort $idxToSel` ; // Sort it in order. + + // At this point $idxToSel has a nice ordered list of index's of the TSL we want to + // reselect....or it might be empty. + for ($i=0; $i < size($idxToSel); ++$i) + textScrollList -e -sii $idxToSel[$i] tslJoints ; // Reselect each one + if (size($idxToSel) > 0) + { + // Now if we did sel something, scroll to the first one if needed. + + int $numVis = `textScrollList -q -numberOfRows tslJoints` ; // How many can we see? + if ($idxToSel[0] > $numVis) + textScrollList -e -showIndexedItem $idxToSel[0] tslJoints ; + } + else // End with first item selected if nothing was before. + { + if (`textScrollList -q -numberOfItems tslJoints` >= 1) + textScrollList -e -sii 1 tslJoints ; + } + + + cSW_selChangedCB() ; // Call this too to update weight etc.. +} + + +// -------------------------------------------------------------------------- + +/* + * cSW_getJoints() - Returns what jnts are highlighted from tsl + */ +global proc string[] cSW_getJoints() +{ + string $jnts[] ; + clear $jnts ; + + string $names[] = `textScrollList -q -selectItem tslJoints` ; + string $n ; + + // For each one, just get 1st part before any whitespace + for ($n in $names) + { + string $parts[] ; + tokenize($n, $parts) ; + $jnts[size($jnts)] = $parts[0] ; + } + + return $jnts ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_selChangedCB() - Called when selection changed + */ +global proc cSW_selChangedCB() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + string $jnts[] = cSW_getJoints() ; + + + string $comps[] = cSW_getSelComps() ; // What pts chosen? + int $nComp = size($comps) ; + + int $bLive = `checkBox -q -v cbLive` ; + + + if ($bLive && $nComp > 0 && $jnts[0] != "") + { + float $avgWt = libSkin_getAvgWeights($skin, $jnts[0], $comps) ; + + floatSliderGrp -e -v $avgWt fsgWeight ; // Update slider + + hilite -r $geo $jnts ; + } + else if ($nComp > 0 && $jnts[0] != "") // Even if not live...still highlight. + { + hilite -r $jnts ; + } + +// print ("// "+$nComp+" components chosen. //\n") ; + +} + + +// -------------------------------------------------------------------------- + +/* + * cSW_getSelComps() - Returns a list of obj.comp[] for any selected components + * that match the current skin cluster... + */ +global proc string[] cSW_getSelComps() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + + string $comps[] = libSkin_getSelComps($skin) ; // Use version in library. + + return $comps ; +} + + +// -------------------------------------------------------------------------- + +/* + * cSW_setWeight() - Sets weight for sel comps + */ +global proc cSW_setWeight() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + string $jnts[] = cSW_getJoints() ; + int $nJnts = size($jnts) ; + + string $comps[] = cSW_getSelComps() ; // What pts chosen? + int $nComp = size($comps) ; + + if ($nJnts <= 0 || $nComp <= 0) + return ; + + float $wt = `floatSliderGrp -q -v fsgWeight` ; // What wt to set? + + // If just one joint selected, directly set, if possible + if ($nJnts == 1) + { + int $lock = libSkin_isLocked($skin, $jnts[0]) ; + if (!$lock) + { + string $c ; + for ($c in $comps) + { + libSkin_setWeight( $skin, $jnts[0], $c, $wt) ; + } + } + } + else + { + int $lock0 = libSkin_isLocked($skin, $jnts[0]) ; + int $lock1 = libSkin_isLocked($skin, $jnts[1]) ; + + // First flood 0 jnt fully + if (!$lock0) + { + string $c ; + for ($c in $comps) + { + libSkin_setWeight( $skin, $jnts[0], $c, 1.0) ; + } + } + // Then put real remainder onto second + if (!$lock1) + { + string $c ; + for ($c in $comps) + { + libSkin_setWeight( $skin, $jnts[1], $c, (1.0-$wt) ) ; + } + } + } // multi jnt + + print ("// cometSkinWeight: Set weight of "+$jnts[0]+" to "+$wt+" for "+$nComp+" components. //\n") ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_setLocks() - Sets locks for highlighted joints + * + * $lock 0=off 1=on 2=toggle + */ +global proc cSW_setLocks(int $lock) +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + string $jnts[] = cSW_getJoints() ; + int $nJnts = size($jnts) ; + + if ($nJnts <= 0) + return ; + + string $j ; + for ($j in $jnts) + { + if ($lock == 2) + libSkin_toggleLock($skin, $j) ; + else + libSkin_setLock($skin, $j, $lock) ; + } // end of each jnt + + + cSW_refreshList() ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_adjustLive() - Called when live mode changed to adjust stuff + */ +global proc cSW_adjustLive() +{ + int $bLive = `checkBox -q -v cbLive` ; + + if ($bLive) + floatSliderGrp -e -cc ("cSW_setWeight();") fsgWeight ; + else + floatSliderGrp -e -cc ("") -dc ("") fsgWeight ; + + cSW_selChangedCB() ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_adjustFilter() - Adjust the text filter somehow + */ +global proc cSW_adjustFilter(int $mode) +{ + switch ($mode) + { + case 0: + // User change + break ; + + case 1: // ALL + textField -e -tx "*" tfFilter ; + break ; + + case 2: // Filter Highlighted + string $filterStr = "" ; + string $jnts[] = cSW_getJoints() ; + int $nJnts = size($jnts) ; + int $i ; + for ($i=0; $i < $nJnts; ++$i) + $filterStr += ($jnts[$i] + " " ) ; + + textField -e -tx $filterStr tfFilter ; + break ; + + } + + cSW_refreshList() ; // Now refresh list +} + +// -------------------------------------------------------------------------- + +/* + * cSW_passesFilter() - Returns true if the str passes the filters, false otherwise. + */ +global proc int cSW_passesFilter(string $str) +{ + string $filterStr = `textField -q -tx tfFilter` ; + + // Easy case, empty or plain * means all, so all are passed. + if ($filterStr == "" || $filterStr == "*") + return 1 ; + + string $filters[] ; + int $nFilters = tokenize($filterStr, $filters); + + // Do a basic OR type match, if we pass any of them we succeed. + string $f ; + for ($f in $filters) + { + if (gmatch($str, $f) == 1) + return 1 ; + } + + return 0 ; +} + + +// -------------------------------------------------------------------------- + +/* + * cSW_highlightAll() - Highlight all items in the tsl + */ +global proc cSW_highlightAll() +{ + int $total = `textScrollList -q -numberOfItems tslJoints` ; + int $i ; + for ($i=1; $i <= $total; ++$i) + textScrollList -e -selectIndexedItem $i tslJoints ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_selectFromList() - Selects jnts from list + */ +global proc cSW_selectFromList(int $mode) +{ + switch ($mode) + { + case 0: // Sel Highlighted + string $jnts[] = cSW_getJoints() ; + select -r $jnts ; + break ; + + + case 1: // Sel those shown in list + string $jnts[] = `textScrollList -q -allItems tslJoints` ; + int $nJnts = size($jnts) ; + for ($i=0; $i < $nJnts; ++$i) // Convert items to short name list only... + { + string $parts[]; + tokenize($jnts[$i], $parts) ; + $jnts[$i] = $parts[0] ; + } + select -r $jnts ; + break ; + + case 2: // ALL joints in cluster + string $skin = cSW_getSkin() ; + // What should we be adding? + string $jnts[] = libSkin_getJointsFromSkin($skin); + select -r $jnts ; + break ; + } + +} + +// -------------------------------------------------------------------------- + +/* + * cSW_selectCVsFromJoints() - Selects cvs from highlighted jnts + */ +global proc cSW_selectCVsFromJoints() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + string $jnts[] = cSW_getJoints() ; + int $nJnts = size($jnts) ; + + select -cl ; + if ($nJnts <= 0) + return ; + + // So try to get cv's... + string $comps[] = libSkin_getCompsFromJoints($skin, $jnts) ; + + // And select if we did. + if (size($comps) > 0) + select -r $comps ; + +} + + +// -------------------------------------------------------------------------- + +/* + * cSW_selectJointsFromCVs() - Selects jnts from selected cvs + */ +global proc cSW_selectJointsFromCVs() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + + // Start by getting any selected points related to this skinCluster + string $comps[] = cSW_getSelComps() ; // What pts chosen? + int $nComp = size($comps) ; + + // Unhighlight to start + textScrollList -e -deselectAll tslJoints ; + + if ($nComp <= 0) + return ; + + // Get all jnts related to the cvs... + string $jnts[] = libSkin_getJointsFromComps($skin, $comps) ; + + // Now highlight those...if they are in the list we are looking at... + + + // Get all items in the list + string $j ; + string $allItems[] = `textScrollList -q -allItems tslJoints` ; // Get entire list + int $nItems = size($allItems) ; + for ($i=0; $i < $nItems; ++$i) // Convert items to short name list only... + { + string $parts[]; + tokenize($allItems[$i], $parts) ; + $allItems[$i] = $parts[0] ; + } + int $idxToSel[] ; // What index's should we sel? + clear $idxToSel ; + for ($j in $jnts) + { + int $idx = -1; + for ($i=0; $i < $nItems; ++$i) + { + if ($allItems[$i] == $j) // did we find a match? + { + $idx = $i ; + break ; + } + } + + // Did we find a match? + if ($idx != -1) + $idxToSel[size($idxToSel)] = $idx + 1; // Store for later, +1 since TSL uses 1 based indexing. + } + + $idxToSel = `sort $idxToSel` ; // Sort it in order. + + // Unhighlight to start + textScrollList -e -deselectAll tslJoints ; + + for ($i=0; $i < size($idxToSel); ++$i) + textScrollList -e -sii $idxToSel[$i] tslJoints ; // Reselect each one + + + cSW_selChangedCB() ; // And update slider too if needed... +} + +// -------------------------------------------------------------------------- + +/* + * cSW_addInfs() - Adds selected nodes as influences to the skin cluster. + */ +global proc cSW_addInfs() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + + string $objs[] = `ls -sl` ; + if (size($objs) <= 0) + return ; + + if ($skin == "") + return ; + + libSkin_addInfluences($skin, $objs) ; + + cSW_refreshList() ; + + print ("// Added objects to skinCluster. // \n") ; +} + +// -------------------------------------------------------------------------- + +/* + * cSW_removeInfs() - Removes selected nodes as influences to the skin cluster. + */ +global proc cSW_removeInfs() +{ + string $geo = cSW_getGeo() ; + string $skin = cSW_getSkin() ; + + string $objs[] = `ls -sl` ; + if (size($objs) <= 0) + return ; + + if ($skin == "") + return ; + + libSkin_removeInfluences($skin, $objs) ; + + cSW_refreshList() ; + + print ("// Removed objects from skinCluster. // \n") ; +} + + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/cometTransferWeights.mel b/2009-x64/CometScripts/scripts/cometTransferWeights.mel new file mode 100644 index 0000000..48a7341 --- /dev/null +++ b/2009-x64/CometScripts/scripts/cometTransferWeights.mel @@ -0,0 +1,197 @@ +// -------------------------------------------------------------------------- +// cometTransferWeights.mel - MEL Script +// -------------------------------------------------------------------------- +// Copyright ©2005 Michael B. Comet - All Rights Reserved. +// +// DESCRIPTION: +// Lets you transfer weights from one or more joints onto another joint +// for selected points of a skinCluster. +// +// REQUIRES: +// libSkin.mel - For skin procs +// +// USAGE: +// source "cometTransferWeights.mel"; cometTransferWeights() ; +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// +// VERSIONS: +// 1.00 - June 25, 2005 - mcomet - Initial Rev. +// +// -------------------------------------------------------------------------- + +/* + * Includes + */ +eval("source \"libSkin.mel\"; ") ; + +/* + * globals + */ + + +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- +// UI Procs +// -------------------------------------------------------------------------- + +// -------------------------------------------------------------------------- + +/* + * cometTransferWeights() - + */ +global proc cometTransferWeights() +{ + if (`window -ex cometTransferWeightsWin`) + { + showWindow cometTransferWeightsWin ; + return ; + } + + window -w 330 -h 140 -t "Comet Transfer Weights - 1.00" cometTransferWeightsWin ; + formLayout mainForm ; + + text -l "Transfer From:" txFrom ; + textField -tx "" tfFrom ; + button -l "<<<" -w 30 -c ("cTW_loadObjs(\"tfFrom\");") btnFrom ; + + text -l "Transfer To:" txTo ; + textField -tx "" tfTo ; + button -l "<<<" -w 30 -c ("cTW_loadObj(\"tfTo\");") btnTo ; + + text -l "skinCluster:" txSkinClXfer ; + textField -tx "" tfSkinClXfer ; + button -l "<<<" -w 30 -c ("cTW_loadSkinCl(\"tfSkinClXfer\");") btnSkinClXfer ; + + button -l "Transfer Weights" -c ("cTW_transferWeights();") -ann "Transfer Skin Weights for Selected Points" btnXfer ; + + formLayout -e + -af txFrom "top" 5 + -an txFrom "bottom" + -af txFrom "left" 5 + -an txFrom "right" + + -af tfFrom "top" 5 + -an tfFrom "bottom" + -ac tfFrom "left" 5 txFrom + -ac tfFrom "right" 5 btnFrom + + -af btnFrom "top" 5 + -an btnFrom "bottom" + -an btnFrom "left" + -af btnFrom "right" 5 + + + -ac txTo "top" 5 tfFrom + -an txTo "bottom" + -af txTo "left" 5 + -an txTo "right" + + -ac tfTo "top" 5 tfFrom + -an tfTo "bottom" + -ac tfTo "left" 5 txTo + -ac tfTo "right" 5 btnTo + + -ac btnTo "top" 5 tfFrom + -an btnTo "bottom" + -an btnTo "left" + -af btnTo "right" 5 + + + -ac txSkinClXfer "top" 5 tfTo + -an txSkinClXfer "bottom" + -af txSkinClXfer "left" 5 + -an txSkinClXfer "right" + + -ac tfSkinClXfer "top" 5 tfTo + -an tfSkinClXfer "bottom" + -ac tfSkinClXfer "left" 5 txSkinClXfer + -ac tfSkinClXfer "right" 5 btnSkinClXfer + + -ac btnSkinClXfer "top" 5 tfTo + -an btnSkinClXfer "bottom" + -an btnSkinClXfer "left" + -af btnSkinClXfer "right" 5 + + + -ac btnXfer "top" 5 tfSkinClXfer + -an btnXfer "bottom" + -af btnXfer "left" 5 + -af btnXfer "right" 5 + + + mainForm ; + + showWindow cometTransferWeightsWin ; + +} + +// -------------------------------------------------------------------------- + +global proc cTW_loadObjs(string $tf) +{ + string $objs[] = `ls -sl` ; + string $obj ; + string $text = "" ; + + for ($obj in $objs) + $text += ($obj+" ") ; + + textField -e -tx $text $tf ; +} + + +// -------------------------------------------------------------------------- + +global proc cTW_loadObj(string $tf) +{ + string $objs[] = `ls -sl` ; + + textField -e -tx $objs[0] $tf ; +} + + +// -------------------------------------------------------------------------- + +global proc cTW_loadSkinCl(string $tf) +{ + string $objs[] = `ls -sl -fl` ; + string $skins[] = libSkin_getSkinFromGeo($objs[0]) ; + + textField -e -tx $skins[0] $tf ; + +} + +// -------------------------------------------------------------------------- + +/* + * cTW_transferWeights() - Main wrapper + */ +global proc cTW_transferWeights() +{ + string $fromStr = `textField -q -tx tfFrom` ; + string $jntsFrom[] ; + tokenize($fromStr, " \t\r\n", $jntsFrom) ; // Convert from string to array + string $jntTo = `textField -q -tx tfTo` ; + string $skinCl = `textField -q -tx tfSkinClXfer` ; + + string $comps[] = `ls -sl -fl` ; // flatten list of selected points! + + if ($fromStr == "" || size($jntsFrom) <= 0) + error -sl 0 ("No From Joints chosen.") ; + if ($jntTo == "") + error -sl 0 ("No To Joint chosen.") ; + if ($skinCl == "") + error -sl 0 ("No Skin Cluster chosen.") ; + if (size($comps) <= 0) + error -sl 0 ("No points selected to transfer weights for.") ; + + libSkin_transferWeight($skinCl, $jntsFrom, $jntTo, $comps) ; + print ("// Transferred weights. //\n") ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/icons.zip b/2009-x64/CometScripts/scripts/icons.zip new file mode 100644 index 0000000..2e9dd63 Binary files /dev/null and b/2009-x64/CometScripts/scripts/icons.zip differ diff --git a/2009-x64/CometScripts/scripts/libBubbleSort.mel b/2009-x64/CometScripts/scripts/libBubbleSort.mel new file mode 100644 index 0000000..240d1b2 --- /dev/null +++ b/2009-x64/CometScripts/scripts/libBubbleSort.mel @@ -0,0 +1,171 @@ +// +//----BEGINDOC----------------------------------------------------------- +// Copyright (C) 2001, Big Idea Productions +// +//----------------------------------------------------------------------- +// Name: libBubbleSort.mel - MEL Script +//----------------------------------------------------------------------- +// +// Synopsis: bubbleSortString(string $array[], string $compareProc); +// bubbleSortInt(int $array[], string $compareProc); +// bubbleSortFloat(float $array[], string $compareProc); +// +// Description: This is generic bubble sort routine. It takes an array +// to work on, and then a name of a compare proc. The +// +// +// Arguments: $array[] - Array of items to sort +// $compareProc - Name only (no parens) of global proc to +// do comparison. Must take 2 items of the +// same data type as is being sorted. +// The compare proc should return -1, 0 or 1. +// +// Returns: Sorted arrays of String, Int or Float based on what is +// called. +// ***Note that the ORIGINAL array is ALSO modified! This is +// because of how Maya passes arrays as references and not +// as copies. +// +// Examples: // This example uses Maya's built in strcmp() proc as the +// // comparison proc. +// string $array[] = {"foo", "biz", "baz"}; +// bubbleSortString($array, "strcmp"); +// // Result: baz biz foo // +// +// Requires: Patience. +// +// Authors: Michael B. Comet - michael.comet@bigidea.com +// +// Versions: Version 1.00 - Michael B. Comet +// +// Known Bugs: None. +// +//----ENDDOC------------------------------------------------------------- +// +// + + + +//---------------------------------------------------------------------------- + +/* + * bubbleSortString() - Does a bubble sort on a STRING array + */ +global proc string[] bubbleSortString(string $array[], string $compareProc) +{ + if (size($array) <= 0) // nothing to sort + return $array; + + if ($compareProc == "") // no compare proc given + { + warning -sl 1 ("No compareProc given"); + return $array; + } + + int $cnt = size($array); + int $i, $j, $r; + string $temp; + + for ($i=0; $i < $cnt; ++$i) + { + for ($j=$i+1; $j < $cnt; ++$j) + { + $r = eval($compareProc+"(\""+$array[$i]+"\", \""+$array[$j]+"\");"); + if ($r > 0) + { + $temp = $array[$j]; + $array[$j] = $array[$i]; + $array[$i] = $temp; + } + + } // end of j loop + + } // end of i loop + + return $array; +} + + +//---------------------------------------------------------------------------- + + +/* + * bubbleSortInt() - Does a bubble sort on an INT array + */ +global proc int[] bubbleSortInt(int $array[], string $compareProc) +{ + if (size($array) <= 0) // nothing to sort + return $array; + + if ($compareProc == "") // no compare proc given + { + warning -sl 1 ("No compareProc given"); + return $array; + } + + int $cnt = size($array); + int $i, $j, $r; + int $temp; + + for ($i=0; $i < $cnt; ++$i) + { + for ($j=$i+1; $j < $cnt; ++$j) + { + $r = eval($compareProc+"("+$array[$i]+", "+$array[$j]+");"); + if ($r > 0) + { + $temp = $array[$j]; + $array[$j] = $array[$i]; + $array[$i] = $temp; + } + + } // end of j loop + + } // end of i loop + + return $array; +} + + +//---------------------------------------------------------------------------- + + +/* + * bubbleSortFloat() - Does a bubble sort on a FLOAT array + */ +global proc float[] bubbleSortFloat(float $array[], string $compareProc) +{ + if (size($array) <= 0) // nothing to sort + return $array; + + if ($compareProc == "") // no compare proc given + { + warning -sl 1 ("No compareProc given"); + return $array; + } + + int $cnt = size($array); + int $i, $j, $r; + float $temp; + + for ($i=0; $i < $cnt; ++$i) + { + for ($j=$i+1; $j < $cnt; ++$j) + { + $r = eval($compareProc+"("+$array[$i]+", "+$array[$j]+");"); + if ($r > 0) + { + $temp = $array[$j]; + $array[$j] = $array[$i]; + $array[$i] = $temp; + } + + } // end of j loop + + } // end of i loop + + return $array; +} + + +//---------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/libMirror.mel b/2009-x64/CometScripts/scripts/libMirror.mel new file mode 100644 index 0000000..2efafcb --- /dev/null +++ b/2009-x64/CometScripts/scripts/libMirror.mel @@ -0,0 +1,155 @@ +// -------------------------------------------------------------------------- +// libMirror.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// This is a nice library of procs to mirror objects. +// This will mirror for behavior, similar to Maya's mirror skeleton cmd, +// but this works on any object. +// +// REQUIRES: +// Nothing. +// +// USAGE: +// source "libMirror.mel"; +// +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Oct 16, 2004 - Initial Release. +// +// -------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------- +// Library Functions +// -------------------------------------------------------------------------- + + +/* + * libMirror_mirrorObject() - Takes the current object and mirrors it + * for behavior + * + * $nAxis. 0=X 1=Y 2=Z which axis to mirror across + */ +global proc libMirror_mirrorObject(string $obj, int $nAxis) +{ + if ($obj == "" || objExists($obj) != true) + { + warning -sl 0 ("libMirror_mirrorObject: \""+$obj+"\" does not exist. ") ; + return ; + } + + // First move to new spot + float $pos[3] = `xform -q -ws -t $obj` ; + + $pos[$nAxis] *= -1.0 ; + + xform -a -ws -t $pos[0] $pos[1] $pos[2] $obj ; + + + // Now mirror rotation. We simply do an aim on the object, + // but with everything backwards. We can pick any two axis. + // I will just pick Y as aim and X as up, but it doesn't really + // matter at all, so long as the way we move them matches the + // aim constraint later. + // + // + string $aimTgt = `group -em -w -n "grpAimTgtMirrorTEMP"` ; + string $aimUp = `group -em -w -n "grpAimUpTgtMirrorTEMP"` ; + parent $aimTgt $obj ; + parent $aimUp $obj ; + // Now snap these to the same spot + string $pCons[], $oCons[] ; + $pCons = `pointConstraint -w 1 $obj $aimTgt` ; + $oCons = `orientConstraint -w 1 $obj $aimTgt` ; + refresh -f; + delete $pCons $oCons ; + $pCons = `pointConstraint -w 1 $obj $aimUp` ; + $oCons = `orientConstraint -w 1 $obj $aimUp` ; + refresh -f; + delete $pCons $oCons ; + + // Now we have two groups at same spot...move them down axis, but reverse. + xform -r -os -t 0 -1 0 $aimTgt ; + xform -r -os -t -1 0 0 $aimUp ; + + // Now how did aimTgt move, what is world vector + float $posTgt[3] = `xform -q -ws -t $aimTgt` ; + float $posUp[3] = `xform -q -ws -t $aimUp` ; + float $deltaTgt[3] = {($posTgt[0]-$pos[0]), ($posTgt[1]-$pos[1]), ($posTgt[2]-$pos[2]) } ; + float $deltaUp[3] = {($posUp[0]-$pos[0]), ($posUp[1]-$pos[1]), ($posUp[2]-$pos[2]) } ; + // Now mirror that vector as needed + $deltaTgt[$nAxis] *= -1.0 ; + $deltaUp[$nAxis] *= -1.0 ; + xform -r -os -t 0 1 0 $aimTgt ; // Then move aim tgt back + xform -r -os -t 1 0 0 $aimUp ; // Then move aim up back + xform -r -ws -t $deltaTgt[0] $deltaTgt[1] $deltaTgt[2] $aimTgt ; // Then move right way... + xform -r -ws -t $deltaUp[0] $deltaUp[1] $deltaUp[2] $aimUp ; // Then move right way... + // unparent. + parent -w $aimTgt ; + parent -w $aimUp ; + + + // Now use these to do the aimConstraint. + string $aCons[] = `aimConstraint -aim 0 1 0 -u 1 0 0 -wut "object" -wuo $aimUp -w 1 $aimTgt $obj` ; + refresh -f; + delete $aCons ; + delete $aimTgt $aimUp ; + + // Also zero out rotation on joint if what we have is a joint, so it does + // something like a joint align + // + if (nodeType($obj) == "joint") + makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 $obj ; + + select -r $obj ; + // Done! +} + + +// -------------------------------------------------------------------------- + +/* + * libMirror_mirrorSelection() - Mirrors selected objects + */ +global proc libMirror_mirrorSelection(int $nAxis) +{ + string $objs[] = `ls -sl` ; + int $nObj = size($objs) ; + if ($nObj <= 0) + return ; + + int $i; + string $parents[] ; + + // Store parents + for ($i=0; $i < $nObj; ++$i) + { + string $pars[] = `listRelatives -parent $objs[$i]`; + $parents[$i] = $pars[0] ; // store + if ($parents[$i] != "") // And un-link for now! + parent -w $objs[$i] ; + } + + // Do mirroring! + for ($i=0; $i < $nObj; ++$i) + libMirror_mirrorObject($objs[$i], $nAxis) ; + + + // RE-parent + for ($i=0; $i < $nObj; ++$i) + { + if ($parents[$i] != "") // redo + parent $objs[$i] $parents[$i] ; + } + + select -r $objs ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/libSkin.mel b/2009-x64/CometScripts/scripts/libSkin.mel new file mode 100644 index 0000000..86292dc --- /dev/null +++ b/2009-x64/CometScripts/scripts/libSkin.mel @@ -0,0 +1,505 @@ +// -------------------------------------------------------------------------- +// libSkin.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// This is a nice library of "skin" procedures to help those that +// do MEL scripting. These handle things for the skin deformer +// such as wrapping skinCluster and skinPercent commands. +// +// REQUIRES: +// Nothing. +// +// +// USAGE: +// source "libSkin.mel"; +// +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ?2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Sep 8, 2004 - Initial Release. +// 1.01 - Dec 1, 2004 - Added add inf func. +// 1.02 - June 8, 2005 - Added transfer func. +// +// -------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------- +// Library Functions +// -------------------------------------------------------------------------- + +/* + * libSkin_getSkinFromGeo() - Returns the names of any skinClusters + * tied to the history of passed in node. + */ +global proc string[] libSkin_getSkinFromGeo(string $geo) +{ + string $skins[] ; + clear $skins ; + + if ($geo == "" || objExists($geo) != true) + return $skins ; + + string $hist[] = `listHistory -pdo 1 -il 2 $geo` ; + string $h ; + + for ($h in $hist) + { + if (nodeType($h) == "skinCluster") + { + $skins[size($skins)] = $h ; // Store it + } + } + + return $skins ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getSkinsInScene() - Returns all skinClusters in scene + */ +global proc string[] libSkin_getSkinsInScene() +{ + string $skins[]; + clear $skins ; + + $skins = `ls -type "skinCluster" "*"` ; + + return $skins ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getGeoFromSkins() - For each skinCl passed in, returns related geo + */ +global proc string[] libSkin_getGeoFromSkins(string $skins[]) +{ + string $geos[] ; + clear $geos ; + + int $i; + for ($i=0; $i < size($skins); ++$i) + { + if ($skins[$i] == "" || objExists($skins[$i]) != true) + { + $geos[$i] = "" ; + continue ; + } + + string $shapes[] = `skinCluster -q -geometry $skins[$i]` ; + string $xforms[] = `listRelatives -parent $shapes[0]` ; + + $geos[$i] = $xforms[0] ; + + } + + return $geos ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getSkinGeosInScene() - Returns all geometry that has a skinCl in scene + */ +global proc string[] libSkin_getSkinGeosInScene() +{ + string $geos[]; + clear $geos ; + + string $skins[] = libSkin_getSkinsInScene() ; + $geos = libSkin_getGeoFromSkins( $skins ) ; + + return $geos ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getJointsFromSkin() - Returns joints from a skinCl + */ +global proc string[] libSkin_getJointsFromSkin(string $skin) +{ + string $jnts[] ; + clear $jnts ; + + if ($skin == "" || objExists($skin) != true) + return $jnts ; + + $jnts = `skinCluster -q -influence $skin` ; + + return $jnts ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getWeight() - Returns the weight given a skinCluster, + * a joint we want the weight for, and the actual component. + */ +global proc float libSkin_getWeight(string $skin, string $jnt, string $comp) +{ + float $wt = `skinPercent -t $jnt -q $skin $comp`; + return $wt ; +} + +// -------------------------------------------------------------------------- + + +/* + * libSkin_getAvgWeights() - Returns the average weights for the given + * components and joint and skinCl. + */ +global proc float libSkin_getAvgWeights(string $skin, string $jnt, string $comps[]) +{ + float $wt = 0.0 ; + + int $nComp = size($comps) ; + if ($nComp <= 0) + return 0.0 ; + + string $c ; + for ($c in $comps) + { + $wt += libSkin_getWeight($skin, $jnt, $c) ; + } + + $wt = $wt / $nComp ; // Average it! + + return $wt ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_setWeight() - Sets the weight given a skinCluster, + * a joint we want the weight for, and the actual component. + */ +global proc libSkin_setWeight(string $skin, string $jnt, string $comp, float $val) +{ + skinPercent -tv $jnt $val $skin $comp ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_isLocked() - Returns 0 or 1 if the related jnt is locked/held + * for skining. + */ +global proc int libSkin_isLocked(string $skin, string $jnt) +{ + int $lock = `skinCluster -inf $jnt -q -lockWeights $skin` ; + return $lock ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_setLock() - Sets a HOLD/Lock weight + */ +global proc libSkin_setLock(string $skin, string $jnt, int $lock) +{ + skinCluster -inf $jnt -e -lockWeights $lock $skin ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_toggleLock() - Togles a HOLD/Lock weight + */ +global proc libSkin_toggleLock(string $skin, string $jnt) +{ + int $lock = libSkin_isLocked($skin, $jnt) ; + $lock = 1 - $lock ; + libSkin_setLock($skin, $jnt, $lock) ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getCompsFromJoints() - Given a skinCl and some joints in it, + * return any components that have a non-zero weight for those joints/cluster. + */ +global proc string[] libSkin_getCompsFromJoints(string $skin, string $jnts[]) +{ + string $comps[] ; + clear $comps ; + + string $shapes[] = `skinCluster -q -geometry $skin` ; + string $shape = $shapes[0] ; + + // Select all comps as a start to determine how many etc.... + if (nodeType($shape) == "nurbsSurface" || nodeType($shape) == "nurbsCurve") + select -r ($shape+".cv[*]") ; + else if (nodeType($shape) == "mesh") + select -r ($shape+".vtx[*]") ; + else if (nodeType($shape) == "subdiv") + select -r ($shape+".smp[*]") ; + else if (nodeType($shape) == "lattice") + select -r ($shape+".pt[*]") ; + else + return $comps ; + + // So what are all the components? + string $allComps[] = `ls -sl -flatten` ; + select -cl ; + + // What joints are used? + string $skinJnts[] = `skinCluster -q -influence $skin` ; + + string $c; + for ($c in $allComps) + { + // What is the weight of the current component for all transforms? + float $wts[] = `skinPercent -q -v $skin $c` ; + + // For each non zero weight... + int $w ; + for ($w=0 ; $w < size($wts); ++$w) + { + if ($wts[$w] > 0.0) + { + // If it is non zero, then see if it is one of the joints we want.. + int $idx = -1 ; + int $j ; + for ($j=0; $j < size($jnts); ++$j) + { + if ($jnts[$j] == $skinJnts[$w]) + { + $idx = $j ; + break ; + } + } + if ($idx >= 0) // So if it is a joint we want, add this cv + { + $comps[size($comps)] = $c ; + break ; + } + + } // end of if wt > 0 + + } // end of each wt + + } // end of sel + + + return $comps ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_getJointsFromComps() - Given a skinCluster and some components, + * figure out what joints are affecting these cv's with a non zero wt. + */ +global proc string[] libSkin_getJointsFromComps(string $skin, string $comps[]) +{ + string $jnts[] ; + clear $jnts ; + + + // Get all joints used in skin cluster... + string $skinJnts[] = `skinCluster -q -influence $skin` ; + + string $c; + for ($c in $comps) + { + // Get weights for this component... + float $wts[] = `skinPercent -q -v $skin $c` ; + + // Now for each non zero weight... + int $w ; + for ($w=0 ; $w < size($wts); ++$w) + { + if ($wts[$w] > 0.0) + { + // If it is non zero, then add the joint with this index to the list + // if it hasn't been added yet. + int $idx = -1 ; + int $j ; + for ($j=0; $j < size($jnts); ++$j) + { + if ($jnts[$j] == $skinJnts[$w]) + { + $idx = $j ; + break ; + } + } + if ($idx == -1) // If still -1, then we haven't seen it yet! + { + $jnts[size($jnts)] = $skinJnts[$w] ; + } + + } // end of if wt > 0 + + } // end of each wt + + } // end of sel + + + return $jnts ; + +} + + + +// -------------------------------------------------------------------------- + +/* + * libSkin_getSelComps() - Returns a list of obj.comp[] for any selected components + * that match the current skin cluster... + */ +global proc string[] libSkin_getSelComps(string $skin) +{ + string $sel[] = `ls -sl -fl`; + int $nSel = size($sel) ; + + if ($skin == "" || objExists($skin) != true) + return {} ; + + + // Get things that look like components only..ie: has a . dot in it. + string $comps[] ; + clear $comps ; + int $nComp = 0 ; + + int $i ; + for ($i=0; $i < $nSel; ++$i) + { + // Does it have a . ? + if (gmatch($sel[$i], "*.*") == 1) + { + // If so, also make sure it is related to this skinCluster. + string $skins[] = libSkin_getSkinFromGeo($sel[$i]) ; + if ($skins[0] == $skin) + { + $comps[$nComp] = $sel[$i] ; + ++$nComp ; + } // same skinCl + + } // matches a . comp + + } // Each sel item + + return $comps ; +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_addInfluences() - Adds influences to a node. + */ +global proc libSkin_addInfluences(string $skin, string $infs[]) +{ + string $jnts[] = libSkin_getJointsFromSkin($skin) ; // What is currently in the skinCl ? + + string $inf ; + for ($inf in $infs) + { + string $j; + int $exists = 0 ; + for ($j in $jnts) + { + if ($inf == $j) + { + $exists = 1; + break ; + } + } + if ($exists) // If already a part of the cluster, ignore. + continue ; + + skinCluster -e -dr 16 -lw true -wt 0.0 -ai $inf $skin ; // First add it to cluster with a lock weight of 0. + skinCluster -e -lw false -inf $inf $skin ; // Then unlock the weight for it. + } + +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_removeInfluences() - Adds influences to a node. + */ +global proc libSkin_removeInfluences(string $skin, string $infs[]) +{ + string $jnts[] = libSkin_getJointsFromSkin($skin) ; // What is currently in the skinCl ? + + string $inf ; + for ($inf in $infs) + { + string $j; + int $exists = 0 ; + for ($j in $jnts) + { + if ($inf == $j) + { + $exists = 1; + break ; + } + } + if (!$exists) // If not a part of the cluster, ignore. + continue ; + + skinCluster -e -ri $inf $skin ; // Remove this influence from the skinCluster. + } + +} + +// -------------------------------------------------------------------------- + +/* + * libSkin_transferWeight() - Transfers weight from all from jnts to the to jnt + */ +global proc libSkin_transferWeight(string $skin, string $jntsFrom[], string $jntTo, string $comps[] ) +{ + int $nComp = size($comps) ; + int $i ; + + if (size($jntsFrom) <= 0) + return ; + if ($jntTo == "" || objExists($jntTo) != true) + return ; + if ($skin == "" || objExists($skin) != true) + return ; + + setAttr ($skin+".normalizeWeights") 0 ; // Turn off Normalize now! + + // Go thru each point + for ($i=0; $i < $nComp; ++$i) + { + int $nPct = 100 * $i / ($nComp-1) ; + print ("// "+$nPct+"%: "+$comps[$i]+" //\n") ; + + // Go thru each jnt for this pt + string $jntFrom ; + for ($jntFrom in $jntsFrom) + { + float $wt = libSkin_getWeight($skin, $jntFrom, $comps[$i] ) ; // Get current weight + if ($wt == 0.0) + continue ; + + float $wtTo = libSkin_getWeight($skin, $jntTo, $comps[$i] ) ; // Get current weight To + + libSkin_setWeight($skin, $jntFrom, $comps[$i], 0.0 ) ; // Set orig to 0 + libSkin_setWeight($skin, $jntTo, $comps[$i], $wtTo+$wt) ; // Add wts to new one + + } + } + + + setAttr ($skin+".normalizeWeights") 1 ; // Turn on! Normalize now! + +} + +// -------------------------------------------------------------------------- + + + + + + + diff --git a/2009-x64/CometScripts/scripts/libString.mel b/2009-x64/CometScripts/scripts/libString.mel new file mode 100644 index 0000000..3f3402d --- /dev/null +++ b/2009-x64/CometScripts/scripts/libString.mel @@ -0,0 +1,350 @@ +// -------------------------------------------------------------------------- +// libString.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// This is a nice library of "string" procedures to help those that +// do MEL scripting. +// +// REQUIRES: +// Nothing. +// +// +// USAGE: +// source "libString.mel"; +// +// // Replace $search text in $str with $replace text. +// string $s = strSearchReplace(string $str, string $search, string $replace); +// +// // Remove last character from $str +// string $s = strChop(string $str); +// +// // UPPER or lower case the character at $index in $str +// // $index is one based. +// string $s = strUpperIdx(string $str, int $index); +// string $s = strLowerIdx(string $str, int $index); +// +// // Convert and int or a float to a string with specified padding +// string $s = intToStr(int $i, int $padding); +// string $s = floatToStr(float $f, int $prePad, int $decPad); +// +// // Returns the short name of an object, even if it has | pipes in the name. +// string $s = objShortName(string $obj); +// +// // Given an object name like foo_bar, returns the "foo" part. Works +// // even if the obj passed in has a long name with | pipes in it. +// string $s = objGetPrefix(string $obj); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2003 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Feb 28, 2003 - Initial Release. +// +// -------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------- +// Library Functions +// -------------------------------------------------------------------------- + +/* + * strSearchReplace() - Given a main string $str, looks for ALL occurances + * of $search, and replaces them with $replace. + * + * This properly handles the replace string being similar or a part + * of the search string, and handling multiple matches. + */ +global proc string strSearchReplace(string $str, string $search, string $replace) +{ + string $retstr = ""; + + // Sanity check please! + if ($search == "") + return $str; + + if ($str == "") + return $str; + + int $len = size($str); + int $lenS = size($search); + + int $i, $j; + int $match; + + for ($i=1; $i <= $len; ++$i) + { + $match = 0; + + // Now get substring from where we are currently + // to the number of letters past of the length + // of the search string. Basically the same + // length as the search string. So if it is identical + // we know we have a match. + // + // If not, we don't. We also make sure we aren't + // trying to look past the end of the string... + // + $j = $i + ($lenS - 1); + + if ($j <= $len) + { + string $part = `substring $str $i $j`; + if ($part == $search) + $match = 1; + } + + if ($match == 1) + { + $retstr += $replace; // we did it, so insert replace str + $i = $j; // skip forward + } + else + { + string $char = `substring $str $i $i`; + $retstr += $char; + } + } + + return $retstr; + +} + +// -------------------------------------------------------------------------- + +/* + * strChop() - Removes last char from a string + */ +global proc string strChop(string $str) +{ + string $ret = ""; + + int $cnt = size($str); + + if ($cnt <= 1) + return $ret; + + $ret = `substring $str 1 ($cnt-1)`; + + return $ret; +} + + + +// -------------------------------------------------------------------------- + +/* + * strUpperIdx() - Upper cases only the given $index character of a string + * + * ie: strUpperIdx("michael", 1) ; + * // Result: Michael // + * + * strUpperIdx("michael", 3); + * // Result: miChael / + */ +global proc string strUpperIdx(string $str, int $index) +{ + int $cnt = size($str); + if ($index < 1 || $index > $cnt) + return $str; + + string $pre = ""; + string $post = ""; + string $mid = ""; + + if ($index > 1) + $pre = `substring $str 1 ($index-1)`; + if ($index < $cnt) + $post = `substring $str ($index+1) $cnt`; + $mid = `substring $str $index $index`; + $mid = `toupper $mid`; + + string $ret = ($pre + $mid + $post); + + return $ret; +} + +// -------------------------------------------------------------------------- + +/* + * strLowerIdx() - Upper cases only the given $index character of a string + * + * ie: strUpperIdx("MICHAEL", 1) ; + * // Result: mICHAEL // + * + * strUpperIdx("MICHAEL", 3); + * // Result: MIcHAEL / + */ +global proc string strLowerIdx(string $str, int $index) +{ + int $cnt = size($str); + if ($index < 1 || $index > $cnt) + return $str; + + string $pre = ""; + string $post = ""; + string $mid = ""; + + if ($index > 1) + $pre = `substring $str 1 ($index-1)`; + if ($index < $cnt) + $post = `substring $str ($index+1) $cnt`; + $mid = `substring $str $index $index`; + $mid = `tolower $mid`; + + string $ret = ($pre + $mid + $post); + + return $ret; +} + + +// -------------------------------------------------------------------------- + +/* + * intToStr() - Converts the int $i to a string, with the specified # of + * 0 field padding in it. ie: 2 padding would be 01,02...09,10,11 + * 3 padding is 001,002...099,100,101 etc... + * padding of 0 and 1 or less is identical. + * + */ +global proc string intToStr(int $i, int $padding) +{ + string $s = (string)$i; + + while (size($s) < $padding) + $s = ("0" + $s); // add zero in front as needed. + + return $s; +} + +// -------------------------------------------------------------------------- + +/* + * floatToStr() - Converts the float $f to a string, with the specified # of + * 0 field padding in it. + * $prePad is the # of fields to have before the decimal. + * $decPad is the # to have after. This value will extend extra 0's + * at the end of the value, or will CROP the #'s after the decimal + * so exactly and only that number of post decimal values are shown. + * + * + * ie: + * floatToStr(0.2, 2, 3); + * // Result: 00.200 // + * + * floatToStr(12.34, 3, 5); + * // Result: 012.34000 // + * + * // Not this CROPS the after decimal value as specified // + * floatToStr(12.345, 1, 1); + * // Result: 12.3 // + * + * // Not this CROPS the after decimal value as specified // + * floatToStr(12.345, 1, 0); + * // Result: 12 // + * + */ +global proc string floatToStr(float $f, int $prePad, int $decPad) +{ + string $s = (string)$f; + + + string $parts[]; + tokenize($s, ".", $parts); + + while (size($parts[0]) < $prePad) + $parts[0] = ("0" + $parts[0]); // add zero in front as needed. + + while (size($parts[1]) < $decPad) + $parts[1] = ($parts[1] + "0"); // add zero in back as needed. + + // Now crop so we ONLY have the part after the decimal we want. + // + if ($decPad >= 1) + { + $parts[1] = `substring $parts[1] 1 $decPad`; + + $s = ($parts[0] + "." + $parts[1]); // put it back together now. + } + else + $s = $parts[0]; // if 0 pad, means only want part before . + + return $s; +} + + + +// -------------------------------------------------------------------------- +// Object string Procedures +// -------------------------------------------------------------------------- + +/* + * objShortName() - Given a |Obj|Obj|Obj string, get last part after + * last | pipe. + */ +global proc string objShortName(string $obj) +{ + string $ret = ""; + + if ($obj == "") + return $ret; + + string $parts[]; + int $cnt = tokenize($obj, "|", $parts); + + if ($cnt <= 0) + $ret = $obj; + else + $ret = $parts[($cnt-1)]; + + return $ret; +} + +// -------------------------------------------------------------------------- + + +/* + * objGetPrefix() - Given an object name like foo_bar_myObj (as if it was + * referenced, parse out and return the prefix up to the last _ + * Works even if you pass in a full path object. + * + * Returns "" if no prefix is found + * Otherwise returns prefix without trailing _ + * + * ie: foo_bar --> foo + * biz --> "" (empty string) + * biz_bang_doo --> biz_bang + * |a_b_c|d_e_f --> d_e + * + */ +global proc string objGetPrefix(string $obj) +{ + string $ret = ""; + + if ($obj == "") + return $ret; + + $obj = objShortName($obj); // First make sure we only have short name part of object + + string $parts[]; + int $cnt = tokenize($obj, "_", $parts); + + if ($cnt <= 1) + $ret = ""; + else + { + // Add all pre parts together + for ($i=0; $i < $cnt-1; ++$i) + { + if ($i > 0) + $ret += "_"; + $ret += $parts[$i]; + } + } + + return $ret; +} + +// -------------------------------------------------------------------------- + diff --git a/2009-x64/CometScripts/scripts/mirrorSelX.mel b/2009-x64/CometScripts/scripts/mirrorSelX.mel new file mode 100644 index 0000000..cbb86b0 --- /dev/null +++ b/2009-x64/CometScripts/scripts/mirrorSelX.mel @@ -0,0 +1,38 @@ +// -------------------------------------------------------------------------- +// mirrorSelX.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Mirrors selected nodes for behavior. Similar to Maya's mirror Skeleton +// except this works on any object, and does not create a duplicate. +// +// REQUIRES: +// libMirror - For real proc +// +// USAGE: +// source "mirrorSelX.mel"; mirrorSelX ; +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Oct 16, 2004 - Initial Release. +// +// -------------------------------------------------------------------------- + + +source "libMirror.mel" ; + + +/* + * mirrorSelX() - + */ +global proc mirrorSelX() +{ +libMirror_mirrorSelection(0) ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/mirrorSelY.mel b/2009-x64/CometScripts/scripts/mirrorSelY.mel new file mode 100644 index 0000000..d4c192f --- /dev/null +++ b/2009-x64/CometScripts/scripts/mirrorSelY.mel @@ -0,0 +1,38 @@ +// -------------------------------------------------------------------------- +// mirrorSelY.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Mirrors selected nodes for behavior. Similar to Maya's mirror Skeleton +// except this works on any object, and does not create a duplicate. +// +// REQUIRES: +// libMirror - For real proc +// +// USAGE: +// source "mirrorSelY.mel"; mirrorSelY ; +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Oct 16, 2004 - Initial Release. +// +// -------------------------------------------------------------------------- + + +source "libMirror.mel" ; + + +/* + * mirrorSelY() - + */ +global proc mirrorSelY() +{ +libMirror_mirrorSelection(1) ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/mirrorSelZ.mel b/2009-x64/CometScripts/scripts/mirrorSelZ.mel new file mode 100644 index 0000000..cace428 --- /dev/null +++ b/2009-x64/CometScripts/scripts/mirrorSelZ.mel @@ -0,0 +1,38 @@ +// -------------------------------------------------------------------------- +// mirrorSelZ.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Mirrors selected nodes for behavior. Similar to Maya's mirror Skeleton +// except this works on any object, and does not create a duplicate. +// +// REQUIRES: +// libMirror - For real proc +// +// USAGE: +// source "mirrorSelZ.mel"; mirrorSelZ ; +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2004 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00 - Oct 16, 2004 - Initial Release. +// +// -------------------------------------------------------------------------- + + +source "libMirror.mel" ; + + +/* + * mirrorSelZ() - + */ +global proc mirrorSelZ() +{ +libMirror_mirrorSelection(2) ; +} + +// -------------------------------------------------------------------------- + + diff --git a/2009-x64/CometScripts/scripts/offsetConstraint.mel b/2009-x64/CometScripts/scripts/offsetConstraint.mel new file mode 100644 index 0000000..7ae640d --- /dev/null +++ b/2009-x64/CometScripts/scripts/offsetConstraint.mel @@ -0,0 +1,154 @@ +//--------------------------------------------------------------------------- +// offsetConstraint.mel - MEL Script +//--------------------------------------------------------------------------- +// Copyright ©2004 Michael B. Comet All Rights Reserved +// +// DESCRIPTION: +// Does basic offset constriants +// +// REQUIRES: +// snaps.mel - For snapping +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// +//---------------------------------------------------------------------------- + +source "snaps.mel" ; + +//---------------------------------------------------------------------------- + +/* + * offsetConstraintPO() - Does a pt and orient offset on selected + */ +global proc offsetConstraintPO() +{ + string $objs[] = `ls -sl` ; + int $cnt = size($objs) ; + if ($cnt < 2) + error -sl 0 ("You must select master(s) and then a slave to constrain.") ; + + string $slave = $objs[$cnt-1] ; // Last one is slave + + // Now for each master, constrain... + int $i ; + for ($i=0; $i < $cnt-1; ++$i) + offC_doConstraint($objs[$i], $slave, 1,1) ; + + select -r $objs ; +} + + +//---------------------------------------------------------------------------- + +/* + * offsetConstraintPO() - Does a pt and orient offset on selected + */ +global proc offsetConstraintP() +{ + string $objs[] = `ls -sl` ; + int $cnt = size($objs) ; + if ($cnt < 2) + error -sl 0 ("You must select master(s) and then a slave to constrain.") ; + + string $slave = $objs[$cnt-1] ; // Last one is slave + + // Now for each master, constrain... + int $i ; + for ($i=0; $i < $cnt-1; ++$i) + offC_doConstraint($objs[$i], $slave, 1,0) ; + + select -r $objs ; +} + + +//---------------------------------------------------------------------------- + +/* + * offsetConstraintO() - Does an orient offset on selected + */ +global proc offsetConstraintO() +{ + string $objs[] = `ls -sl` ; + int $cnt = size($objs) ; + if ($cnt < 2) + error -sl 0 ("You must select master(s) and then a slave to constrain.") ; + + string $slave = $objs[$cnt-1] ; // Last one is slave + + // Now for each master, constrain... + int $i ; + for ($i=0; $i < $cnt-1; ++$i) + offC_doConstraint($objs[$i], $slave, 0,1) ; + + select -r $objs ; +} + + +//---------------------------------------------------------------------------- + +/* + * offC_doConstraint() - Main worker proc. + */ +global proc offC_doConstraint(string $master, string $slave, int $doPos, int $doRot) +{ + // Make an uppercased version of the slave name + int $len = size($slave) ; + string $Slave = $slave ; + string $cap = toupper( substring($slave, 1, 1) ) ; + if ($len > 1) + { + string $end = substring($slave, 2, $len) ; + $Slave = $cap + $end ; + } + else + $Slave = $cap ; + + + // Now if this grp exists, and if it has the same parent object, + // just reuse it.... + string $name = ("grp"+$Slave+"OffConsTgt") ; + string $grp = "" ; + if (objExists($name)) + { + string $parents[] = `listRelatives -parent $name` ; + if ($parents[0] == $master) + $grp = $name ; + } + + // Otherwise, if we don't have it yet, or if we need to make a new one...do so + if (objExists($name) != true || $grp == "") + { + + int $num=1; + while (objExists($name)) // find unique name + { + ++$num; + $name = ("grp"+$num+$Slave+"OffConsTgt") ; + } + $grp = `group -em -w -n $name` ; + } + + // Whew we have a group..now we just snap it and parent it and go! + // + + // Snap grp to slave + // + snap($slave, $grp) ; + + // Parent if needed + string $parents[] = `listRelatives -parent $grp` ; + if ($parents[0] != $master) + parent $grp $master ; + + // And finally constrain + // + if ($doPos) + pointConstraint -w 1 $grp $slave ; + if ($doRot) + orientConstraint -w 1 $grp $slave ; + +} + +//---------------------------------------------------------------------------- + diff --git a/2009-x64/CometScripts/scripts/snaps.mel b/2009-x64/CometScripts/scripts/snaps.mel new file mode 100644 index 0000000..d3aa9ee --- /dev/null +++ b/2009-x64/CometScripts/scripts/snaps.mel @@ -0,0 +1,104 @@ +//--------------------------------------------------------------------------- +// snaps.mel - MEL Script +//--------------------------------------------------------------------------- +// Copyright ©2004 Michael B. Comet All Rights Reserved +// +// DESCRIPTION: +// +// REQUIRES: +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Based on code by Mark Behm +// +//---------------------------------------------------------------------------- + + +/* + * animSnap() - Does a "safe" snap for stuff that is animated... + */ +global proc animSnap (string $master, string $slave) +{ + // get selection + string $s[]=`ls -sl`; + if ($master == "" || $slave == "") + { + $master = $s[0] ; + $slave = $s[1] ; + } + + // dupe slave + string $d[] = `duplicate -rc -rr $slave`; + $dupeSlave=$d[0]; + // snap dupeSlave to master + snap($master, $dupeSlave) ; + // ndsSnap slave to dupeSlave + ndsSnap($dupeSlave, $slave) ; + // delete dupeSlave + delete $dupeSlave; + + select -r $master $slave ; +} + +//---------------------------------------------------------------------------- + +/* + * snap() - Main snap that uses constraints + */ +global proc snap(string $master, string $slave) +{ + //get selection + string $s[]=`ls -sl`; + // check inputs + if ($master=="" || $slave=="") + { + $master = $s[0]; + $slave = $s[1]; + } + + // constrain + string $oCons[] = `orientConstraint -w 1 $master $slave` ; + string $pCons[] = `pointConstraint -w 1 $master $slave` ; + refresh; + + // delete constraints + delete $oCons ; + delete $pCons ; + + select -r $master $slave ; +} + +//---------------------------------------------------------------------------- + +/* + * ndsSnap() - Snaps but via set attrs. + */ +global proc ndsSnap(string $master, string $slave) +{ + // get selection + string $s[] = `ls -sl`; + + // check inputs + if ($master=="" || $slave=="") + { + $master = $s[0]; + $slave = $s[1]; + } + + if ($master == "" || $slave == "") + return ; + + // snap attributes + float $xt[] = `getAttr ($master+".translate")`; + float $xr[] = `getAttr ($master+".rotate")`; + setAttr ($slave+".translateX") $xt[0]; + setAttr ($slave+".translateY") $xt[1]; + setAttr ($slave+".translateZ") $xt[2]; + setAttr ($slave+".rotateX") $xr[0]; + setAttr ($slave+".rotateY") $xr[1]; + setAttr ($slave+".rotateZ") $xr[2]; + +} + + +//---------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/superLag.mel b/2009-x64/CometScripts/scripts/superLag.mel new file mode 100644 index 0000000..a29b19a --- /dev/null +++ b/2009-x64/CometScripts/scripts/superLag.mel @@ -0,0 +1,953 @@ +// -------------------------------------------------------------------------- +// superLag.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Creates/Rigs an object for secondary action, then allows you to +// "Bake that data" and then lag in realtime with it. +// +// You select an object control that you want to add Lag-Attributes +// onto. Then a SuperLAG group is created as a child. This group will +// rotate with secondary action. All original children of the control +// are re-parented under this group. +// +// Controls for Lag can be "Enabled" to an on state, or "Disabled" to +// speed up playback when you don't need to see them. +// +// Basic animation controls are given in overall Percent 0-100% (or more +// or negative). Frequency in frames of a bounce back-and-forth. And +// a Falloff in frames, for approx time for lag to come to rest. +// +// There is also percentage controls for adjusting how much lag is based +// on rotation vs. translation movement of the master object. +// +// A Start Frame can also be set so that Lags can be done without popping +// problems for multiple shots in a scene file. Simply animate the value +// with stepped keys to match the frame # of each start frame of your shots. +// on those frames. +// +// REQUIRES: +// Nothing. +// +// +// USAGE: +// source "superLag"; superLag(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Copyright ©2003 Michael B. Comet - All Rights Reserved. +// +// VERSIONS: +// 1.00a1 - Mar 08, 2003 - Initial Release of Alpha. +// 1.00 - Mar 16, 2003 - Initial Release. +// +// -------------------------------------------------------------------------- + + +/* + * Global Vars + */ +global string $superLagVersion = "1.00"; + + +// -------------------------------------------------------------------------- + +/* + * superLag_snap() - Properly snaps slave to master node + */ +global proc superLag_snap(string $master, string $slave) +{ + string $dups[] = `duplicate -rc $slave`; + string $dup = $dups[0]; + + pointConstraint -n "superLagSnapPX" $master $dup ; + orientConstraint -n "superLagSnapOX" $master $dup ; + + delete "superLagSnapPX"; + delete "superLagSnapOX"; + + float $tx = `getAttr ($dup+".tx")`; + float $ty = `getAttr ($dup+".ty")`; + float $tz = `getAttr ($dup+".tz")`; + float $rx = `getAttr ($dup+".rx")`; + float $ry = `getAttr ($dup+".ry")`; + float $rz = `getAttr ($dup+".rz")`; + + delete $dup; + + setAttr ($slave+".tx") $tx; + setAttr ($slave+".ty") $ty; + setAttr ($slave+".tz") $tz; + setAttr ($slave+".rx") $rx; + setAttr ($slave+".ry") $ry; + setAttr ($slave+".rz") $rz; + +} + +// -------------------------------------------------------------------------- + +/* + * superLag_enableAll() - Sets all lag nodes to be enabled or disabled as + * specified. + */ +global proc superLag_enableAll(int $onOff) +{ + string $lagNodes[] = `ls -type "transform" "*SuperLAG"`; + string $lag; + + for ($lag in $lagNodes) + { + string $s[] = `listConnections ($lag+".masterLagNode")`; + $master = $s[0]; + if (`getAttr -se ($master+".lagEnabled")` == 1) + setAttr ($master+".lagEnabled") $onOff; + } +} + +// -------------------------------------------------------------------------- + +/* + * superLag_selectAll() - Sets all lag nodes to be enabled or disabled as + * specified. + */ +global proc superLag_selectAll() +{ + string $lagNodes[] = `ls -type "transform" "*SuperLAG"`; + string $lag; + + select -cl; + + for ($lag in $lagNodes) + { + string $s[] = `listConnections ($lag+".masterLagNode")`; + $master = $s[0]; + select -add $master; + } + +} + + +// -------------------------------------------------------------------------- + +/* + * superLag_erase() - Erases lag keys for all time + */ +global proc superLag_erase() +{ + string $objs[] = `ls -sl`; // Get names of selected objects + string $obj; + + + for ($obj in $objs) + { + string $master = ""; + string $slave = ""; + + // First make sure we have a Lag node of some sort...if we have the + // master, or slave, figure the other one out so we can work.. + // + if (objExists($obj+".slaveLagNode")) + { + $master = $obj; + string $s[] = `listConnections ($obj+".slaveLagNode")`; + $slave = $s[0]; + } + else if (objExists($obj+".masterLagNode")) + { + $slave = $obj; + string $s[] = `listConnections ($obj+".masterLagNode")`; + $master = $s[0]; + } + else + { + warning -sl 0 ("Object \""+$obj+"\" is not setup for Lag. Skipping it."); + continue; + } + + + // Remove any old keys + cutKey -time (":") -at "lagForceT0" -at "lagForceT1" -at "lagForceT2" $slave; + cutKey -time (":") -at "lagForceR0" -at "lagForceR1" -at "lagForceR2" $slave; + + setAttr ($slave+".lagForceT0") 0.0; + setAttr ($slave+".lagForceT1") 0.0; + setAttr ($slave+".lagForceT2") 0.0; + setAttr ($slave+".lagForceR0") 0.0; + setAttr ($slave+".lagForceR1") 0.0; + setAttr ($slave+".lagForceR2") 0.0; + + } + + print ("// superLag: Erased ALL Lag Data on Selected Objects. //\n"); + + select -r $objs; // End with original objs seleted still + +} + +// -------------------------------------------------------------------------- + +/* + * superLag_eraseRange() - Erases lag keys for current time range + */ +global proc superLag_eraseRange() +{ + string $objs[] = `ls -sl`; // Get names of selected objects + string $obj; + + + // Get start/end times + int $sf = `playbackOptions -q -ast`; + int $ef = `playbackOptions -q -aet`; + + + for ($obj in $objs) + { + string $master = ""; + string $slave = ""; + + // First make sure we have a Lag node of some sort...if we have the + // master, or slave, figure the other one out so we can work.. + // + if (objExists($obj+".slaveLagNode")) + { + $master = $obj; + string $s[] = `listConnections ($obj+".slaveLagNode")`; + $slave = $s[0]; + } + else if (objExists($obj+".masterLagNode")) + { + $slave = $obj; + string $s[] = `listConnections ($obj+".masterLagNode")`; + $master = $s[0]; + } + else + { + warning -sl 0 ("Object \""+$obj+"\" is not setup for Lag. Skipping it."); + continue; + } + + + // Remove any old keys + cutKey -time ($sf+":"+$ef) -at "lagForceT0" -at "lagForceT1" -at "lagForceT2" $slave; + cutKey -time ($sf+":"+$ef) -at "lagForceR0" -at "lagForceR1" -at "lagForceR2" $slave; + + setKeyframe -t $sf -t $ef -v 0.0 -at ("lagForceR0") -at ("lagForceR1") -at ("lagForceR2") $slave; + setKeyframe -t $sf -t $ef -v 0.0 -at ("lagForceT0") -at ("lagForceT1") -at ("lagForceT2") $slave; + + } + + print ("// superLag: Erased Lag Data for Current Range on Selected Objects. //\n"); + + select -r $objs; // End with original objs seleted still + +} + + +// -------------------------------------------------------------------------- + +/* + * superLag_bake() - + */ +global proc superLag_bake() +{ + string $objs[] = `ls -sl`; // Get names of selected objects + string $obj; + + for ($obj in $objs) + { + string $master = ""; + string $slave = ""; + + // First make sure we have a Lag node of some sort...if we have the + // master, or slave, figure the other one out so we can work.. + // + if (objExists($obj+".slaveLagNode")) + { + $master = $obj; + string $s[] = `listConnections ($obj+".slaveLagNode")`; + $slave = $s[0]; + } + else if (objExists($obj+".masterLagNode")) + { + $slave = $obj; + string $s[] = `listConnections ($obj+".masterLagNode")`; + $master = $s[0]; + } + else + { + warning -sl 0 ("Object \""+$obj+"\" is not setup for Lag. Skipping it."); + continue; + } + + + // Init forces to nothing + float $forceT[3] = {0,0,0}; + float $forceR[3] = {0,0,0}; + float $prevForceT[3] = {0,0,0}; + float $prevForceR[3] = {0,0,0}; + + // Get start/end times + int $sf = `playbackOptions -q -ast`; + int $ef = `playbackOptions -q -aet`; + + int $cf = `currentTime -q`; + + // Remove any old keys + cutKey -time ($sf+":"+$ef) -at "lagForceT0" -at "lagForceT1" -at "lagForceT2" $slave; + cutKey -time ($sf+":"+$ef) -at "lagForceR0" -at "lagForceR1" -at "lagForceR2" $slave; + + // Go to start time + currentTime -e $sf; + + // Get user pref + int $Zup = `getAttr ($slave+".lagZup")`; + + + // Start to get storage data ready. + float $T1[], $T2[]; + float $R1[], $R2[]; + $T1 = `xform -q -ws -rp $master`; + $R1 = `xform -q -ws -ro $master`; + + // Make our reader helper objects and put them at right spot + string $locs[] = `spaceLocator`; + string $locX = $locs[0]; + string $locs[] = `spaceLocator`; + string $locY = $locs[0]; + string $locs[] = `spaceLocator`; + string $locZ = $locs[0]; + $locX = `rename $locX ("superLagReaderX")`; + $locY = `rename $locY ("superLagReaderY")`; + $locZ = `rename $locZ ("superLagReaderZ")`; + // Parent them too + parent $locX $master; + parent $locY $master; + parent $locZ $master; + superLag_snap($master, $locX); + superLag_snap($master, $locY); + superLag_snap($master, $locZ); + // Now they are snapped...move em to a spot out on each "local" axis for reading + xform -r -os -t 1 0 0 $locX; + xform -r -os -t 0 1 0 $locY; + xform -r -os -t 0 0 1 $locZ; + + + // Turn off all lags...but store original state so we can set back. + // + string $lagNodes[] = `ls -type "transform" "*SuperLAG"`; + int $lagStates[] ; + string $lag; + int $lc = 0; + for ($lag in $lagNodes) + { + // Now really store master node...not lag node. + string $s[] = `listConnections ($lag+".masterLagNode")`; + $lagNodes[$lc] = $s[0]; + + $lagStates[$lc] = `getAttr ($lagNodes[$lc] + ".lagEnabled")`; + if (`getAttr -se ($lagNodes[$lc]+".lagEnabled")` == 1) + setAttr ($lagNodes[$lc] +".lagEnabled") 0; // turn it off for faster update on bake + ++$lc; + } + + string $panels[] = `getPanel -vis`; + string $panel; + select -r $locX $locY $locZ; + + for ($panel in $panels) + { + string $type = `getPanel -typeOf $panel`; + // Result: modelPanel // + if ($type == "modelPanel") + { + isolateSelect -state 1 $panel; + isolateSelect -ls $panel; + } + } + + waitCursor -state on; + + int $t; + + // Now calc and store forces for each frame + // + for ($t= $sf; $t <= $ef; ++$t) + { + currentTime -e $t; // go to new time + + /* + * Deal with rotation first.... + */ + $T2 = `xform -q -ws -rp $master`; + $R2 = `xform -q -ws -ro $master`; + + + // now we get mover readers pos in world space and subtract + // from center point to get true dir vectors at origin. We store + // these as vectors for the nice math procs. + float $TX[] = `xform -q -ws -rp $locX`; + float $TY[] = `xform -q -ws -rp $locY`; + float $TZ[] = `xform -q -ws -rp $locZ`; + vector $vX = <<$TX[0] - $T2[0], $TX[1] - $T2[1], $TX[2] - $T2[2] >>; + vector $vY = <<$TY[0] - $T2[0], $TY[1] - $T2[1], $TY[2] - $T2[2] >>; + vector $vZ = <<$TZ[0] - $T2[0], $TZ[1] - $T2[1], $TZ[2] - $T2[2] >>; + // These are already unit vectors since that's how we made them. + + // Get stuff ready to unrotate back to world type orientation + // We rotate back by PREVIOUS rotation in world space, so that + // we are always looking at the difference. In other words since + // the locators and obj are always aligned, normally we will always + // have returns to world unit axis. But since we are unrotating by + // prev frame, our locators will be offset a bit. That's the amount + // we rotated by. And since we have done this back via the master + // orienation, even if it moved/rotated in world space, what we will + // have is answer relative to the parent space of the master which is + // what we need. + float $rz = -1 * deg_to_rad($R1[2]); + float $ry = -1 * deg_to_rad($R1[1]); + float $rx = -1 * deg_to_rad($R1[0]); + + + // Do the reverse transforms + // + // Order here MUST be opposite of the master node order + // or else xform returns values that won't work right with + // the order we are reversing! + // + vector $vX = `rot $vX <<0, 1, 0>> $ry`; + vector $vX = `rot $vX <<1, 0, 0>> $rx`; + vector $vX = `rot $vX <<0, 0, 1>> $rz`; + + vector $vY = `rot $vY <<0, 1, 0>> $ry`; + vector $vY = `rot $vY <<1, 0, 0>> $rx`; + vector $vY = `rot $vY <<0, 0, 1>> $rz`; + + vector $vZ = `rot $vZ <<0, 1, 0>> $ry`; + vector $vZ = `rot $vZ <<1, 0, 0>> $rx`; + vector $vZ = `rot $vZ <<0, 0, 1>> $rz`; + + // Now we have rotations but in true parent space. + // So figure it out using basic trig SOH CAH TOA.... :) + // + // + if ($vY.y != 0) + $forceR[0] = atand( $vY.z / $vY.y ); + else if ($vZ.z != 0) + $forceR[0] = atand( $vZ.y / $vZ.z ); + else + $forceR[0] = 0; + + if ($vX.x != 0) + $forceR[1] = atand( $vX.z / $vX.x ); + else if ($vZ.z != 0) + $forceR[1] = atand( $vZ.x / $vZ.z ); + else + $forceR[1] = 0; + + if ($vX.x != 0) + $forceR[2] = atand( $vX.y / $vX.x ); + else if ($vY.y != 0) + $forceR[2] = atand( $vY.x / $vY.y ); + else + $forceR[2] = 0; + + + /* + * Now for Translation...we deal with a similar issue. + * We can easily see if the object is moving thru world space... + * But we'll want to know that motion relative to the objects + * coordinate system. ie: if the object is rotated down 90's + * then even tho we move forward on an axis, we're really moving + * across a different axis on the master obj. Which means we'll + * need to rotate that way, not the worldspace way. + * + * So we just get the world change in pos, put it through the + * same reverse rotation matrix stuff so we can read it relative + * to the original object. + */ + + // Get our movement vector. + vector $vM = << $T2[0]-$T1[0], $T2[1]-$T1[1], $T2[2]-$T1[2] >>; + + // Now we already figured our radian stuff earlier, so just use that + // again...and put out motion thru the un-rotations. + vector $vM = `rot $vM <<0, 1, 0>> $ry`; + vector $vM = `rot $vM <<1, 0, 0>> $rx`; + vector $vM = `rot $vM <<0, 0, 1>> $rz`; + + // At this point we know which way we have moved for real relative to + // the master. The only last tricky bit is deciding what to do with this + // data. ie: we want to get rotation force not trans. + // + // So for example it is pre-determined that Y-axis point down the + // chain, and we won't have "roll" on translation lag. So if we move + // on the Z axis, then we rotate on X and vice versa. THe only last + // question is do we rotate on X or Z if we move fwd/back on Y. That's + // user determined by getting the Zup attribute. If Z is "up" then we'll + // assume rotate on X to yield an up/down look. If Zup if off we use Z. + // + // So we're really storing a rotation amount on the forceT attributes. + // + $forceT[0] = $vM.z; + $forceT[1] = 0; + $forceT[2] = $vM.x; + + if ($Zup) + $forceT[0] += $vM.y; + else + $forceT[2] += $vM.y; + + + // Now we're all done. The only other thing we do is try + // to make force "absoulute". So that even if we go back + // and forth...we still keep adding force.... + // + // So once a force is starting we let it go positive or + // negative as needed...but then we keep it that way until + // it drops to zero again. + // + for ($i=0; $i < 3; ++$i) + { + if ($prevForceR[$i] > 0.0 && $forceR[$i] < 0.0) + $forceR[$i] *= -1; + else if ($prevForceR[$i] < 0.0 && $forceR[$i] > 0.0) + $forceR[$i] *= -1; + + if ($prevForceT[$i] > 0.0 && $forceT[$i] < 0.0) + $forceT[$i] *= -1; + else if ($prevForceT[$i] < 0.0 && $forceT[$i] > 0.0) + $forceT[$i] *= -1; + + } + + // Now store this data in keyframes on the Lag Object + // And prep for next loop + // + for ($i=0; $i < 3; ++$i) + { + setKeyframe -v $forceR[$i] -at ("lagForceR"+$i) $slave; + setKeyframe -v $forceT[$i] -at ("lagForceT"+$i) $slave; + + $prevForceR[$i] = $forceR[$i]; + $prevForceT[$i] = $forceT[$i]; + + } + + $T1 = `xform -q -ws -rp $master`; + $R1 = `xform -q -ws -ro $master`; + + } + + + delete $locX; + delete $locY; + delete $locZ; + + + currentTime -e $cf; + + int $lc = 0; + for ($lag in $lagNodes) + { + if (`getAttr -se ($lag+".lagEnabled")` == 1) + setAttr ($lag+".lagEnabled") $lagStates[$lc]; // set it back to how it was. + ++$lc; + } + // Except force this on on, since we just baked. + if (`getAttr -se ($master+".lagEnabled")` == 1) + setAttr ($master+".lagEnabled") 1; + + for ($panel in $panels) + { + string $type = `getPanel -typeOf $panel`; + // Result: modelPanel // + if ($type == "modelPanel") + { + isolateSelect -state 0 $panel; + } + } + + waitCursor -state off; + + } + + print ("// superLag: Baked selected objects. //\n"); + + select -r $objs; // End with original objs seleted still +} + + +// -------------------------------------------------------------------------- + + +/* + * superLag_rig() - Rigs objects for lag. + * + * The way this works...is for each selected object... + * + * A group is created with the same name and "SuperLAG" + * appended to the name. This is created to be a child of + * the selected object. + * All original children are then grouped under this node. + * So that they inherit the lag as well as the usual values. + * + * The original object is then the master object. And this newly + * create group becomes the slave with lag. Data is stored on this + * node, while user defined prefernces for key data like Lag strength + * etc is stored on the original object. A message attr is added to + * both to allow the scripts to find the related object, even if the + * user changes names later on. Other attrs while normally keyed + * on the master object, are connected the slave, so the slave script can + * run properly even if names change later. + * + * Y axis is assumed to point "down" the length of the node. + * In addition axis-order for both are set to ZXY, which MUST occur + * for this script to work right. + */ +global proc superLag_rig() +{ + string $objs[] = `ls -sl`; // Get names of selected objects + string $obj; + + print ("// Rigging superLag... //\n"); + + for ($obj in $objs) + { + string $parents[] = `listRelatives -ni -fullPath -parent $obj`; + string $children[] = `listRelatives -ni -fullPath -children -type "transform" $obj`; + + string $grp = `group -em -world -name ($obj+"SuperLAG")`; + + + // Make axis rotate order same + int $order = 2; // ZXY + setAttr ($grp+".rotateOrder") $order; + setAttr ($obj+".rotateOrder") $order; + + // Snap grp to master + float $T[] = `xform -q -ws -rp $obj`; + float $R[] = `xform -q -ws -ro $obj`; + + parent $grp $obj; // Parent the superLag grp + + xform -a -ws -t $T[0] $T[1] $T[2] $grp; + xform -a -ws -ro $R[0] $R[1] $R[2] $grp; + + // Now link original children to this node. + string $child; + for ($child in $children) + { + parent $child $grp; + } + + + + + // Finally we just do attribute stuff. + // + addAttr -ln "slaveLagNode" -at "message" $obj; + connectAttr -f ($grp+".message") ($obj+".slaveLagNode"); + + addAttr -ln "masterLagNode" -at "message" $grp; + connectAttr -f ($obj+".message") ($grp+".masterLagNode"); + + addAttr -ln "lagEnabled" -at "bool" -keyable true $obj; + addAttr -ln "lagEnabled" -at "bool" -keyable true $grp; + addAttr -ln "lagPercent" -at "float" -dv 100.0 -keyable true $obj; + addAttr -ln "lagPercent" -at "float" -dv 100.0 -keyable true $grp; + addAttr -ln "lagFreq" -at "float" -keyable true -dv 24 -min 1 -hnv true $obj; + addAttr -ln "lagFreq" -at "float" -keyable true -dv 24 -min 1 -hnv true $grp; + addAttr -ln "lagFalloff" -at "float" -keyable true -dv 48 -min 1 -hnv true $obj; + addAttr -ln "lagFalloff" -at "float" -keyable true -dv 48 -min 1 -hnv true $grp; + addAttr -ln "lagTraPct" -at "float" -keyable true -dv 100.0 $obj; + addAttr -ln "lagTraPct" -at "float" -keyable true -dv 100.0 $grp; + addAttr -ln "lagRotPct" -at "float" -keyable true -dv 100.0 $obj; + addAttr -ln "lagRotPct" -at "float" -keyable true -dv 100.0 $grp; + addAttr -ln "lagStartFrame" -at "short" -keyable true -dv 0.0 $obj; + addAttr -ln "lagStartFrame" -at "short" -keyable true -dv 0.0 $grp; + + // Make this hidden + addAttr -ln "lagPrefixIdx" -at "short" -dv 0 -min 0 -hnv true -keyable false $grp; + + addAttr -ln "lagForceT0" -at "float" -dv 0.0 -keyable true $grp; + addAttr -ln "lagForceT1" -at "float" -dv 0.0 -keyable true $grp; + addAttr -ln "lagForceT2" -at "float" -dv 0.0 -keyable true $grp; + addAttr -ln "lagForceR0" -at "float" -dv 0.0 -keyable true $grp; + addAttr -ln "lagForceR1" -at "float" -dv 0.0 -keyable true $grp; + addAttr -ln "lagForceR2" -at "float" -dv 0.0 -keyable true $grp; + addAttr -ln "lagZup" -at "bool" -keyable true $grp; + + setAttr ($obj+".lagEnabled") false; // default to off + connectAttr -f ($obj+".lagEnabled") ($grp+".lagEnabled"); + connectAttr -f ($obj+".lagPercent") ($grp+".lagPercent"); + connectAttr -f ($obj+".lagFreq") ($grp+".lagFreq"); + connectAttr -f ($obj+".lagFalloff") ($grp+".lagFalloff"); + connectAttr -f ($obj+".lagTraPct") ($grp+".lagTraPct"); + connectAttr -f ($obj+".lagRotPct") ($grp+".lagRotPct"); + connectAttr -f ($obj+".lagStartFrame") ($grp+".lagStartFrame"); + + + /* + * **** CREATE REAL LAG WORKER SCRIPT HERE on $grp **** + */ + + string $script = ""; + + $script += ("// Automated LAG Script for "+$grp+" // \n"); + $script += ("// --------------------------------------- // \n"); + $script += ("// \n"); + $script += ("// Read current data values... //\n"); + $script += ("// \n"); + $script += ("int $enabled = "+$grp+".lagEnabled; \n"); + $script += ("if ($enabled != 1) \n"); + $script += (" { \n"); + $script += (" "+$grp+".rotateX = 0; \n"); + $script += (" "+$grp+".rotateY = 0; \n"); + $script += (" "+$grp+".rotateZ = 0; \n"); + $script += (" } \n"); + $script += ("else \n"); + $script += (" { \n"); + $script += (" // \n"); + $script += (" int $pIdx = "+$grp+".lagPrefixIdx; \n"); + $script += (" global string $lagPrefixArray[]; \n"); + $script += (" string $prefix = $lagPrefixArray[$pIdx]; \n"); + $script += (" // \n"); + $script += (" float $pct = "+$grp+".lagPercent / 100.0; \n"); + $script += (" float $freq = "+$grp+".lagFreq; \n"); + $script += (" float $falloff = "+$grp+".lagFalloff; \n"); + $script += (" float $pctT = "+$grp+".lagTraPct / 100.0; \n"); + $script += (" float $pctR = "+$grp+".lagRotPct / 100.0; \n"); + $script += (" int $startFrame = "+$grp+".lagStartFrame; \n"); + $script += (" float $tFactor = 10; // This value makes rotations and trans's more similar in range \n"); + $script += (" // Initialize force for this frame // \n"); + $script += (" // \n"); + $script += (" float $forceT[3] = {0,0,0}; \n"); + $script += (" float $forceR[3] = {0,0,0}; \n"); + $script += (" // Figure out how much force drops for each prev frame // \n"); + $script += (" // \n"); + $script += (" float $fPct = 1.0; \n"); + $script += (" float $pctFall = (1.0 / $falloff); \n"); + $script += (" float $ff[]; \n"); + $script += (" // Now go thru and calc force at this frame from // \n"); + $script += (" // previously baked data. Force is 100% at current time // \n"); + $script += (" // and then falls off from forces from earlier frames based // \n"); + $script += (" // on the falloff the user set. // \n"); + $script += (" // \n"); + $script += (" for ($t=frame; $t >= $startFrame && $t >= frame - $falloff; --$t) \n"); + $script += (" { \n"); + $script += (" for ($i=0; $i < 3; ++$i) \n"); + $script += (" { \n"); + $script += (" $ff = `keyframe -at (\"lagForceR\"+$i) -t $t -q -eval ($prefix+\""+$grp+"\")`; \n"); + $script += (" $forceR[$i] += $fPct * $ff[0]; \n"); + $script += (" $ff = `keyframe -at (\"lagForceT\"+$i) -t $t -q -eval ($prefix+\""+$grp+"\")`; \n"); + $script += (" $forceT[$i] += $fPct * $ff[0]; \n"); + $script += (" } \n"); + $script += (" \n"); + $script += (" $fPct -= $pctFall; // fade out for next iteration \n"); + $script += (" } \n"); + $script += (" // Now do real true rotation data based on cos function on the forces. // \n"); + $script += (" for ($i=0; $i < 3; ++$i) \n"); + $script += (" { \n"); + $script += (" $forceT[$i] *= $tFactor; \n"); + $script += (" $forceR[$i] = -1 * $pctR * ($forceR[$i] * $pct * (cosd( frame * 360.0 / $freq )) ); \n"); + $script += (" $forceT[$i] = -1 * $pctT * ($forceT[$i] * $pct * (cosd( frame * 360.0 / $freq )) ); \n"); + $script += (" } \n"); + $script += (" // Finally set our rotations! \n"); + $script += (" "+$grp+".rotateX = $forceR[0] + $forceT[0]; \n"); + $script += (" "+$grp+".rotateY = $forceR[1] + $forceT[1]; \n"); + $script += (" "+$grp+".rotateZ = $forceR[2] + $forceT[2]; \n"); + $script += (" } \n"); + $script += ("// \n"); + $script += ("// End of Automated LAG Script \n"); + + // Now set the expression into play! + expression -object $grp -name ("expr"+$grp) -string $script; + + } + + /* + * Now create our silly LagPrefix Script node if it doesn't exist + * yet.... this will allow our script to have the proper ref prefix_ + * in it even tho we use back ticks.... + */ + + if (objExists("scriptNodeSuperLagFixPrefix") != true) + { + string $script = ""; + + $script += ("// Automated SuperLAG FIX PREFIX scriptNode // \n"); + $script += ("// ---------------------------------------- // \n"); + $script += ("// \n"); + $script += ("// First defined some nice procedures for us to \n"); + $script += ("// use for object parsing of names... \n"); + $script += ("// \n"); + $script += ("/* \n"); + $script += (" * objShortName() - Given a |Obj|Obj|Obj string, get last part after \n"); + $script += (" * last | pipe. \n"); + $script += (" */ \n"); + $script += ("global proc string objShortName(string $obj) \n"); + $script += ("{ \n"); + $script += (" string $ret = \"\"; \n"); + $script += (" if ($obj == \"\") \n"); + $script += (" return $ret; \n"); + $script += (" string $parts[]; \n"); + $script += (" int $cnt = tokenize($obj, \"|\", $parts); \n"); + $script += (" \n"); + $script += (" if ($cnt <= 0) \n"); + $script += (" $ret = $obj; \n"); + $script += (" else \n"); + $script += (" $ret = $parts[($cnt-1)]; \n"); + $script += (" return $ret; \n"); + $script += ("} \n"); + $script += ("// \n"); + $script += ("/* \n"); + $script += (" * objGetPrefix() - Given an object name like foo_bar_myObj (as if it was \n"); + $script += (" * referenced, parse out and return the prefix up to the last _ \n"); + $script += (" * Works even if you pass in a full path object. \n"); + $script += (" * \n"); + $script += (" * Returns \"\" if no prefix is found \n"); + $script += (" * Otherwise returns prefix with trailing _ \n"); + $script += (" * \n"); + $script += (" * ie: foo_bar --> foo_ \n"); + $script += (" * biz --> \"\" (empty string) \n"); + $script += (" * biz_bang_doo --> biz_bang_ \n"); + $script += (" * |a_b_c|d_e_f --> d_e_ \n"); + $script += (" * \n"); + $script += (" */ \n"); + $script += ("global proc string objGetPrefix(string $obj) \n"); + $script += ("{ \n"); + $script += (" string $ret = \"\"; \n"); + $script += (" if ($obj == \"\") \n"); + $script += (" return $ret; \n"); + $script += (" $obj = objShortName($obj); // First make sure we only have short name part of object \n"); + $script += (" string $parts[]; \n"); + $script += (" int $cnt = tokenize($obj, \"_\", $parts); \n"); + $script += (" if ($cnt <= 1) \n"); + $script += (" $ret = \"\"; \n"); + $script += (" else \n"); + $script += (" { \n"); + $script += (" // Add all pre parts together \n"); + $script += (" for ($i=0; $i < $cnt-1; ++$i) \n"); + $script += (" { \n"); + $script += (" $ret += $parts[$i]; \n"); + $script += (" $ret += \"_\"; \n"); + $script += (" } \n"); + $script += (" } \n"); + $script += (" return $ret; \n"); + $script += ("} \n"); + $script += ("// \n"); + $script += ("// Now we do the real work of setting up our global array \n"); + $script += ("// and storing prefix's in it, as well as setting the prefix \n"); + $script += ("// index attr on each LagNode so we can use it. \n"); + $script += ("// \n"); + $script += ("print(\"// Fixing SuperLAG Prefix's. //\\n\"); \n"); + $script += ("global string $lagPrefixArray[]; \n"); + $script += ("clear $lagPrefixArray; // Start anew! \n"); + $script += ("int $preCnt = 0; \n"); + $script += ("// \n"); + $script += ("string $lagNodes[] = `ls -type \"transform\" \"*SuperLAG\"`; \n"); + $script += ("int $lagCnt = size($lagNodes); \n"); + $script += ("int $i; \n"); + $script += ("for ($i=0; $i < $lagCnt; ++$i) \n"); + $script += (" { \n"); + $script += (" string $prefix = objGetPrefix($lagNodes[$i]); \n"); + $script += (" int $preIdx = -1; // Now we try to find it in our list. \n"); + $script += (" for ($j=0; $j < $preCnt; ++$j) \n"); + $script += (" { \n"); + $script += (" if ($lagPrefixArray[$j] == $prefix) \n"); + $script += (" { \n"); + $script += (" $preIdx = $j; \n"); + $script += (" break; \n"); + $script += (" } \n"); + $script += (" } \n"); + $script += (" // Now if we found a match the idx is set, otherwise this \n"); + $script += (" // is a new prefix, so we need to add it to our list. \n"); + $script += (" if ($preIdx == -1) \n"); + $script += (" { \n"); + $script += (" $preIdx = $preCnt; // add to the end \n"); + $script += (" $lagPrefixArray[$preIdx] = $prefix; \n"); + $script += (" ++$preCnt; \n"); + $script += (" } \n"); + $script += (" // Finally we have added if needed to the global array and we \n"); + $script += (" // know what our index should be...so set it. \n"); + $script += (" setAttr ($lagNodes[$i]+\".lagPrefixIdx\") $preIdx; \n"); + $script += (" print (\"// Setting \"+$lagNodes[$i]+\" --> \\\"\"+$prefix+\"\\\" (\"+$preIdx+\") //\\n\"); \n"); + $script += (" } \n"); + $script += ("print (\"// SuperLAG Prefix's Set. //\\n\"); \n"); + $script += ("// \n"); + $script += ("// End of Automated SuperLAG scriptNode \n"); + + scriptNode -st 1 -bs $script -n "scriptNodeSuperLagFixPrefix"; + + } + + // eval it now to ensure proper prefix stuff + // + scriptNode -executeBefore "scriptNodeSuperLagFixPrefix"; + + + + print ("// superLag: Done Rigging selected objects. //\n"); + + select -r $obj; // end with same objs still selected +} + +// -------------------------------------------------------------------------- + +/* + * superLag() - Main entry and ui. + */ +global proc superLag() +{ + global string $superLagVersion; + + if (!`window -ex superLagWin`) + { + + window -w 210 -h 270 -t ("Super Lag - "+$superLagVersion) -in "superLag" superLagWin; + + columnLayout sLag_mainCol; + + separator -style "in" -w 195 -h 3; + + button -l "Bake Anim Data for Sel. Lag" -w 195 -al "center" -c ("superLag_bake();") butLagBake; + + separator -style "in" -w 195 -h 8; + + button -l "Select All Lag Controls" -w 195 -al "center" -c ("superLag_selectAll();") butLagSelect; + separator -style "in" -w 195 -h 3; + button -l "Enable All Lag Objects" -w 195 -al "center" -c ("superLag_enableAll(1);") butLagEnable; + button -l "Disable All Lag Objects" -w 195 -al "center" -c ("superLag_enableAll(0);") butLagDisable; + + separator -style "in" -w 195 -h 8; + + button -l "Erase Lag on Current Time Range" -w 195 -al "center" -c ("superLag_eraseRange();") butLagEraseRange; + button -l "Erase All Lag for Sel. Objects" -w 195 -al "center" -c ("superLag_erase();") butLagErase; + + separator -style "in" -w 195 -h 8; + + text -l " Rigging:" -fn "smallPlainLabelFont"; + button -l "Rig Objects for Lag" -w 195 -al "center" -c ("superLag_rig();") butLagRig; + + separator -style "in" -w 195 -h 8; + + text -l " Copyright ©2003 Michael B. Comet" -fn "smallPlainLabelFont"; + text -l " All Rights Reserved" -fn "smallPlainLabelFont"; + + separator -style "in" -w 195 -h 3; + + showWindow superLagWin; + } + else + { + showWindow superLagWin; + } + +} + + +// -------------------------------------------------------------------------- + + + + diff --git a/2009-x64/CometScripts/scripts/toggleAffected.mel b/2009-x64/CometScripts/scripts/toggleAffected.mel new file mode 100644 index 0000000..263d57f --- /dev/null +++ b/2009-x64/CometScripts/scripts/toggleAffected.mel @@ -0,0 +1,35 @@ +// -------------------------------------------------------------------------- +// toggleAffected.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Changes display options so the purple highlighting is on or off +// for being affected by other object. +// I usually bind a hotkey to this to CTRL+e. +// +// USAGE: +// source "toggleAffected.mel"; toggleAffected(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2004 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 07/05/2004 - Michael B. Comet - Initial Release +// +// -------------------------------------------------------------------------- + +/* + * toggleAffected() - Main entry + */ +global proc toggleAffected() +{ + // Toggle purple effects + int $state = `displayPref -q -displayAffected` ; + displayPref -displayAffected (!$state) ; +} + + +// -------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/toggleIsolateSelect.mel b/2009-x64/CometScripts/scripts/toggleIsolateSelect.mel new file mode 100644 index 0000000..68b486a --- /dev/null +++ b/2009-x64/CometScripts/scripts/toggleIsolateSelect.mel @@ -0,0 +1,42 @@ +// -------------------------------------------------------------------------- +// toggleIsolateSelect.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Toggles selected objects on/off for isolate select. +// I usually bind CTRL+i to this. +// +// USAGE: +// source "toggleIsolateSelect.mel"; toggleIsolateSelect(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2004 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 07/05/2004 - Michael B. Comet - Initial Release +// +// -------------------------------------------------------------------------- + +/* + * toggleIsolateSelect() - Toggle isolate + */ +global proc toggleIsolateSelect() +{ + string $currentPanel = `getPanel -withFocus`; + string $panelType = `getPanel -to $currentPanel`; + + if ($panelType == "modelPanel") + { + int $state = `isolateSelect -q -state $currentPanel`; + if ($state) + enableIsolateSelect $currentPanel false; + else + enableIsolateSelect $currentPanel true; + } +} + + +// -------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/toggleWireframeOnShaded.mel b/2009-x64/CometScripts/scripts/toggleWireframeOnShaded.mel new file mode 100644 index 0000000..95d8787 --- /dev/null +++ b/2009-x64/CometScripts/scripts/toggleWireframeOnShaded.mel @@ -0,0 +1,46 @@ +// -------------------------------------------------------------------------- +// toggleAffected.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Changes display options so wireframes is on or off on shaded mode. +// I usually bind to CTRL+w +// +// USAGE: +// source "toggleWireframeOnShaded.mel"; toggleWireframeOnShaded(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2004 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 07/05/2004 - Michael B. Comet - Initial Release +// +// -------------------------------------------------------------------------- + +/* + * toggleWireframeOnShaded() - Main entry + */ +global proc toggleWireframeOnShaded() +{ + string $currentPanel = `getPanel -underPointer`; + if ("" == $currentPanel) + { + $currentPanel = `getPanel -withFocus`; + } + if ("" != $currentPanel) + { + string $panelType = `getPanel -typeOf $currentPanel`; + if ($panelType == "modelPanel") + { + int $state = `modelEditor -q -wireframeOnShaded $currentPanel`; + modelEditor -e -wireframeOnShaded (!$state) $currentPanel; + } + } +} + + +// -------------------------------------------------------------------------- + diff --git a/2009-x64/CometScripts/scripts/toggleXRay.mel b/2009-x64/CometScripts/scripts/toggleXRay.mel new file mode 100644 index 0000000..417c466 --- /dev/null +++ b/2009-x64/CometScripts/scripts/toggleXRay.mel @@ -0,0 +1,45 @@ +// -------------------------------------------------------------------------- +// toggleAffected.mel - MEL Script +// -------------------------------------------------------------------------- +// +// DESCRIPTION: +// Changes display options so XRay mode is on or off. +// I usually bind to CTRL+x +// +// USAGE: +// source "toggleXRay.mel"; toggleXRay(); +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com - http://www.comet-cartoons.com/ +// +// COPYRIGHT: +// Copyright ©2004 Michael B. Comet - All Rights Reserved +// +// VERSIONS: +// 1.00 - 07/05/2004 - Michael B. Comet - Initial Release +// +// -------------------------------------------------------------------------- + +/* + * toggleXRay() - Main entry + */ +global proc toggleXRay() +{ + string $currentPanel = `getPanel -underPointer`; + if ("" == $currentPanel) + { + $currentPanel = `getPanel -withFocus`; + } + if ("" != $currentPanel) + { + string $panelType = `getPanel -typeOf $currentPanel`; + if ($panelType == "modelPanel") + { + int $state = `modelEditor -q -xray $currentPanel`; + modelEditor -e -xray (!$state) $currentPanel; + } + } +} + + +// -------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/wireShape.mel b/2009-x64/CometScripts/scripts/wireShape.mel new file mode 100644 index 0000000..c6da2c1 --- /dev/null +++ b/2009-x64/CometScripts/scripts/wireShape.mel @@ -0,0 +1,138 @@ +//---------------------------------------------------------------------------- +// wireShape.mel - MEL Script +//---------------------------------------------------------------------------- +// Copyright ©2004 Michael B. Comet All Rights Reserved +// +// DESCRIPTION: +// +// REQUIRES: +// snaps.mel +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Based on code by Mark Behm +//---------------------------------------------------------------------------- + +/* + * Includes... + */ +source "snaps.mel" ; + +//---------------------------------------------------------------------------- + +/* + * wireShape() - Main Entry + */ +global proc wireShape(string $what) +{ + // wire arrow + string $s[]=`ls -sl`; + string $c; + + string $new[] ; + + int $selcount = size($s); + int $i; + + if ($selcount == 0) // even if nothing is selected, still make a ctrl object at 0,0,0 + $selcount = 1; + + for ($i=0; $i < $selcount; ++$i) + { + switch ($what) + { + case "arrow": + $c = `curve -d 1 -p 0 0.6724194 0.4034517 -p 0 0 0.4034517 -p 0 0 0.6724194 -p 0 -0.4034517 0 -p 0 0 -0.6724194 -p 0 0 -0.4034517 -p 0 0.6724194 -0.4034517 -p 0 0.6724194 0.4034517 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -n "arrow#"` ; + break ; + + case "cross": + $c = `curve -d 1 -p 1 0 -1 -p 2 0 -1 -p 2 0 1 -p 1 0 1 -p 1 0 2 -p -1 0 2 -p -1 0 1 -p -2 0 1 -p -2 0 -1 -p -1 0 -1 -p -1 0 -2 -p 1 0 -2 -p 1 0 -1 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -n "cross#"`; + break ; + + case "square": + $c = `curve -d 1 -p -1 0 1 -p 1 0 1 -p 1 0 -1 -p -1 0 -1 -p -1 0 1 -k 0 -k 1 -k 2 -k 3 -k 4 -n "square#"`; + break ; + + case "cube": + $c = `curve -d 1 -p -0.5 0.5 0.5 -p 0.5 0.5 0.5 -p 0.5 0.5 -0.5 -p -0.5 0.5 -0.5 -p -0.5 0.5 0.5 -p -0.5 -0.5 0.5 -p -0.5 -0.5 -0.5 -p 0.5 -0.5 -0.5 -p 0.5 -0.5 0.5 -p -0.5 -0.5 0.5 -p 0.5 -0.5 0.5 -p 0.5 0.5 0.5 -p 0.5 0.5 -0.5 -p 0.5 -0.5 -0.5 -p -0.5 -0.5 -0.5 -p -0.5 0.5 -0.5 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -n "cube#"`; + break ; + + case "orient": + $c = `curve -d 3 -p 0.0959835 0.604001 -0.0987656 -p 0.500783 0.500458 -0.0987656 -p 0.751175 0.327886 -0.0987656 -p 0.751175 0.327886 -0.0987656 -p 0.751175 0.327886 -0.336638 -p 0.751175 0.327886 -0.336638 -p 1.001567 0 0 -p 1.001567 0 0 -p 0.751175 0.327886 0.336638 -p 0.751175 0.327886 0.336638 -p 0.751175 0.327886 0.0987656 -p 0.751175 0.327886 0.0987656 -p 0.500783 0.500458 0.0987656 -p 0.0959835 0.604001 0.0987656 -p 0.0959835 0.604001 0.0987656 -p 0.0959835 0.500458 0.500783 -p 0.0959835 0.327886 0.751175 -p 0.0959835 0.327886 0.751175 -p 0.336638 0.327886 0.751175 -p 0.336638 0.327886 0.751175 -p 0 0 1.001567 -p 0 0 1.001567 -p -0.336638 0.327886 0.751175 -p -0.336638 0.327886 0.751175 -p -0.0959835 0.327886 0.751175 -p -0.0959835 0.327886 0.751175 -p -0.0959835 0.500458 0.500783 -p -0.0959835 0.604001 0.0987656 -p -0.0959835 0.604001 0.0987656 -p -0.500783 0.500458 0.0987656 -p -0.751175 0.327886 0.0987656 -p -0.751175 0.327886 0.0987656 -p -0.751175 0.327886 0.336638 -p -0.751175 0.327886 0.336638 -p -1.001567 0 0 -p -1.001567 0 0 -p -0.751175 0.327886 -0.336638 -p -0.751175 0.327886 -0.336638 -p -0.751175 0.327886 -0.0987656 -p -0.751175 0.327886 -0.0987656 -p -0.500783 0.500458 -0.0987656 -p -0.0959835 0.604001 -0.0987656 -p -0.0959835 0.604001 -0.0987656 -p -0.0959835 0.500458 -0.500783 -p -0.0959835 0.327886 -0.751175 -p -0.0959835 0.327886 -0.751175 -p -0.336638 0.327886 -0.751175 -p -0.336638 0.327886 -0.751175 -p 0 0 -1.001567 -p 0 0 -1.001567 -p 0.336638 0.327886 -0.751175 -p 0.336638 0.327886 -0.751175 -p 0.0959835 0.327886 -0.751175 -p 0.0959835 0.327886 -0.751175 -p 0.0959835 0.500458 -0.500783 -p 0.0959835 0.604001 -0.0987656 -k 0 -k 0 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -k 16 -k 17 -k 18 -k 19 -k 20 -k 21 -k 22 -k 23 -k 24 -k 25 -k 26 -k 27 -k 28 -k 29 -k 30 -k 31 -k 32 -k 33 -k 34 -k 35 -k 36 -k 37 -k 38 -k 39 -k 40 -k 41 -k 42 -k 43 -k 44 -k 45 -k 46 -k 47 -k 48 -k 49 -k 50 -k 51 -k 52 -k 53 -k 53 -k 53 -n "orient#"` ; + break ; + + case "circleY": + { + string $tc[] = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1 `; + $c=$tc[0]; + } + break ; + + case "circleZ": + { + string $tc[] = `circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1` ; + $c=$tc[0]; + } + break ; + + case "circleX": + { + string $tc[] = `circle -c 0 0 0 -nr 1 0 0 -sw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1`; + $c=$tc[0]; + } + break ; + + case "null": + case "group": + case "grp": + $c = `group -em -n "grp#"`; + break ; + + case "locator": + case "loc": + { + string $tc[] = `spaceLocator -n "loc#"`; + $c=$tc[0]; + } + break ; + + case "bulb": + $c = `curve -d 3 -p -0.139471 -0.798108 0 -p -0.139471 -0.798108 0 -p -0.139471 -0.798108 0 -p -0.299681 -0.672294 0 -p -0.299681 -0.672294 0 -p -0.299681 -0.672294 0 -p -0.121956 -0.578864 0 -p -0.121956 -0.578864 0 -p -0.121956 -0.578864 0 -p -0.285304 -0.51952 0 -p -0.285304 -0.51952 0 -p -0.0744873 -0.442806 0 -p -0.0744873 -0.442806 0 -p -0.287769 -0.373086 0 -p -0.287769 -0.373086 0 -p -0.100386 -0.296549 0 -p -0.100386 -0.296549 0 -p -0.264344 -0.205725 0 -p -0.264344 -0.205725 0 -p -0.262544 -0.0993145 0 -p -0.262544 -0.0993145 0 -p -0.167051 -0.0613459 0 -p -0.167051 -0.0613459 0 -p -0.167051 -0.0613459 0 -p -0.166024 0.0163458 0 -p -0.157394 0.232092 0 -p -0.367902 0.680843 0 -p -0.96336 1.224522 0 -p -1.006509 1.992577 0 -p -0.316123 2.613925 0 -p 0.561786 2.548479 0 -p 1.094888 2.001207 0 -p 1.051638 1.166965 0 -p 0.436419 0.66543 0 -p 0.13283 0.232092 0 -p 0.15009 0.0163458 0 -p 0.15073 -0.046628 0 -p 0.15073 -0.046628 0 -p 0.270326 -0.0955798 0 -p 0.270326 -0.0955798 0 -p 0.267815 -0.208156 0 -p 0.267815 -0.208156 0 -p 0.0884224 -0.291145 0 -p 0.0884224 -0.291145 0 -p 0.292477 -0.366091 0 -p 0.292477 -0.366091 0 -p 0.0946189 -0.439723 0 -p 0.0946189 -0.439723 0 -p 0.306664 -0.508968 0 -p 0.306664 -0.508968 0 -p 0.112488 -0.57513 0 -p 0.112488 -0.57513 0 -p 0.323789 -0.674644 0 -p 0.323789 -0.674644 0 -p 0.152097 -0.794645 0 -p 0.152097 -0.794645 0 -p 0.152097 -0.794645 0 -p 0.106716 -0.907397 0 -p 0.0103741 -1.003739 0 -p -0.0919896 -0.907397 0 -p -0.139471 -0.798108 0 -p -0.139471 -0.798108 0 -k 0 -k 0 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -k 16 -k 17 -k 18 -k 19 -k 20 -k 21 -k 22 -k 23 -k 24 -k 25 -k 26 -k 27 -k 28 -k 29 -k 30 -k 31 -k 32 -k 33 -k 34 -k 35 -k 36 -k 37 -k 38 -k 39 -k 40 -k 41 -k 42 -k 43 -k 44 -k 45 -k 46 -k 47 -k 48 -k 49 -k 50 -k 51 -k 52 -k 53 -k 54 -k 55 -k 56 -k 57 -k 58 -k 59 -k 59 -k 59 -n "bulb#"`; + break ; + + case "sphere": + $c = `curve -d 1 -p 0 3 0 -p 0 2 -2 -p 0 0 -3 -p 0 -2 -2 -p 0 -3 0 -p 0 -2 2 -p 0 0 3 -p 0 2 2 -p 0 3 0 -p 2 2 0 -p 3 0 0 -p 2 -2 0 -p 0 -3 0 -p -2 -2 0 -p -3 0 0 -p -2 2 0 -p 0 3 0 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -k 16 -n "sphere#"`; + break ; + + case "plus": + $c = `curve -d 1 -p 0 1 0 -p 0 -1 0 -p 0 0 0 -p -1 0 0 -p 1 0 0 -p 0 0 0 -p 0 0 1 -p 0 0 -1 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -n "plus#"`; + break ; + + case "joint": + case "jnt": + select -cl ; + $c = `joint`; + select -cl ; + break ; + + } // end of switch for create + + //----------if user had something selected then snap new shape to that node--- + if (size($s) > 0) // check real array + { + snap($s[$i], $c) ; // in snaps.mel + } + + $new[size($new)] = $c ; // add to new list + + } // end of for loop + + + // Select all the new stuff + select -r $new ; + +} + + + +//---------------------------------------------------------------------------- diff --git a/2009-x64/CometScripts/scripts/zeroOut.mel b/2009-x64/CometScripts/scripts/zeroOut.mel new file mode 100644 index 0000000..a27e186 --- /dev/null +++ b/2009-x64/CometScripts/scripts/zeroOut.mel @@ -0,0 +1,90 @@ +//--------------------------------------------------------------------------- +// zeroOut.mel - MEL Script +//--------------------------------------------------------------------------- +// Copyright ©2004 Michael B. Comet All Rights Reserved +// +// DESCRIPTION: +// +// REQUIRES: +// snaps.mel +// +// AUTHORS: +// Michael B. Comet - comet@comet-cartoons.com +// Based on code by Mark Behm +// +//---------------------------------------------------------------------------- + +source "snaps.mel" ; + +//---------------------------------------------------------------------------- + +/* + * zeroOut() - + */ +global proc string[] zeroOut(string $n) +{ + string $s[]; + string $zeros[] ; + + if ($n=="") + $s =`ls -sl`; + else + $s[0] = $n; + + + string $node ; + for ($node in $s) + { + // Make an uppercased version of the node name + int $len = size($node) ; + string $Node = $node ; + string $cap = toupper( substring($node, 1, 1) ) ; + if ($len > 1) + { + string $end = substring($node, 2, $len) ; + $Node = $cap + $end ; + } + else + $Node = $cap ; + + // Make zero grp + string $name = ("grp"+$Node+"ZERO") ; + int $num=1; + while (objExists($name)) // find unique name + { + ++$num; + $name = ("grp"+$num+$Node+"ZERO") ; + } + string $grp = `group -em -w -n $name` ; + + string $parents[] = `listRelatives -parent $node` ; + if (size($parents) > 0) + parent $grp $parents[0] ; + + // Now, duplicate node ( inserting it into the heirarchy) + string $dupe[] = `duplicate -rr -rc $node `; + $dupe[0]=`rename $dupe[0] ("grp"+$node+"ZERO")`; + + // And do a NDSsnap.. + ndsSnap($dupe[0], $grp) ; + + // delete dupe... + delete $dupe ; + + // parent our node to the grp + string $parentedNode[0] = `parent $node $grp`; + + $zeros[size($zeros)] = $grp ; + } + + + // re select nodes + select -r $s ; + + + // return the ZERO grp + return $zeros ; +} + +//---------------------------------------------------------------------------- + diff --git a/2009-x64/GameProd/Doc/Programmers-Guide.pdf b/2009-x64/GameProd/Doc/Programmers-Guide.pdf new file mode 100644 index 0000000..cb9f058 Binary files /dev/null and b/2009-x64/GameProd/Doc/Programmers-Guide.pdf differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/arch.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/arch.mb new file mode 100644 index 0000000..81296e1 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/arch.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/cap1.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/cap1.mb new file mode 100644 index 0000000..08f7842 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/cap1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/cap2.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/cap2.mb new file mode 100644 index 0000000..8111c0f Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/cap2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/chain.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/chain.mb new file mode 100644 index 0000000..3ec2bae Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/chain.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/colmn.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/colmn.mb new file mode 100644 index 0000000..455b92a Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/colmn.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/fence.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/fence.mb new file mode 100644 index 0000000..ddfbcff Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/fence.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag1.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag1.mb new file mode 100644 index 0000000..3c5cc39 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag2.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag2.mb new file mode 100644 index 0000000..5710da0 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag3.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag3.mb new file mode 100644 index 0000000..30dfc01 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/flag3.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/gate.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/gate.mb new file mode 100644 index 0000000..dd57356 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/gate.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/arch.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/arch.bmp new file mode 100644 index 0000000..b53f751 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/arch.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/cap1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/cap1.bmp new file mode 100644 index 0000000..a9a5119 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/cap1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/cap2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/cap2.bmp new file mode 100644 index 0000000..61f60b1 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/cap2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/chain.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/chain.bmp new file mode 100644 index 0000000..1fa3920 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/chain.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/colmn.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/colmn.bmp new file mode 100644 index 0000000..8bb6376 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/colmn.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/fence.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/fence.bmp new file mode 100644 index 0000000..30e002c Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/fence.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag1.bmp new file mode 100644 index 0000000..fe36bd5 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag2.bmp new file mode 100644 index 0000000..298d369 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag3.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag3.bmp new file mode 100644 index 0000000..8c87476 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/flag3.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/gate.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/gate.bmp new file mode 100644 index 0000000..2fd32b3 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/gate.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pillar1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pillar1.bmp new file mode 100644 index 0000000..257c5f7 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pillar1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pillar2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pillar2.bmp new file mode 100644 index 0000000..0125b18 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pillar2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pot1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pot1.bmp new file mode 100644 index 0000000..bc937cf Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pot1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pot2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pot2.bmp new file mode 100644 index 0000000..c8b3e47 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/pot2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/rock.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/rock.bmp new file mode 100644 index 0000000..3b9297b Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/rock.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/rod.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/rod.bmp new file mode 100644 index 0000000..8889e4d Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/rod.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/skull1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/skull1.bmp new file mode 100644 index 0000000..903a960 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/skull1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/skull2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/skull2.bmp new file mode 100644 index 0000000..5b64b1a Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/skull2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/spike.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/spike.bmp new file mode 100644 index 0000000..72b33e5 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/spike.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/tools.bmp b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/tools.bmp new file mode 100644 index 0000000..f1e5cd4 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/icons/tools.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pillar1.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pillar1.mb new file mode 100644 index 0000000..805b009 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pillar1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pillar2.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pillar2.mb new file mode 100644 index 0000000..5bba7df Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pillar2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pot1.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pot1.mb new file mode 100644 index 0000000..d527455 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pot1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pot2.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pot2.mb new file mode 100644 index 0000000..9a4de22 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/pot2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/rock.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/rock.mb new file mode 100644 index 0000000..39692b0 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/rock.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/rod.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/rod.mb new file mode 100644 index 0000000..eee33ae Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/rod.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/skull1.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/skull1.mb new file mode 100644 index 0000000..36c7c7d Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/skull1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/skull2.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/skull2.mb new file mode 100644 index 0000000..f041376 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/skull2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/spike.mb b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/spike.mb new file mode 100644 index 0000000..b71c3ab Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-LairLevel/spike.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box1.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box1.mb new file mode 100644 index 0000000..cd666b3 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box2.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box2.mb new file mode 100644 index 0000000..90d9274 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box3.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box3.mb new file mode 100644 index 0000000..e0d9cfa Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/box3.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/bstop.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/bstop.mb new file mode 100644 index 0000000..4303da9 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/bstop.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/dump1.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/dump1.mb new file mode 100644 index 0000000..004bee0 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/dump1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/dump2.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/dump2.mb new file mode 100644 index 0000000..6d42254 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/dump2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/fence1.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/fence1.mb new file mode 100644 index 0000000..84d18b7 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/fence1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/fireh.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/fireh.mb new file mode 100644 index 0000000..7b4b78f Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/fireh.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box1.bmp new file mode 100644 index 0000000..323d496 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box2.bmp new file mode 100644 index 0000000..a405fa3 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box3.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box3.bmp new file mode 100644 index 0000000..7d62a45 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/box3.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/bstop.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/bstop.bmp new file mode 100644 index 0000000..a15c9fb Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/bstop.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/dump1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/dump1.bmp new file mode 100644 index 0000000..37a742c Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/dump1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/dump2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/dump2.bmp new file mode 100644 index 0000000..410892c Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/dump2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/fence1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/fence1.bmp new file mode 100644 index 0000000..fe38aa3 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/fence1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/fireh.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/fireh.bmp new file mode 100644 index 0000000..b19dbad Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/fireh.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/lamp.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/lamp.bmp new file mode 100644 index 0000000..c4e8248 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/lamp.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/lpost.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/lpost.bmp new file mode 100644 index 0000000..ff1f98f Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/lpost.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/stand1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/stand1.bmp new file mode 100644 index 0000000..f4594f5 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/stand1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/stand2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/stand2.bmp new file mode 100644 index 0000000..0ed5719 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/stand2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tbag1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tbag1.bmp new file mode 100644 index 0000000..e203aea Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tbag1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tcan1.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tcan1.bmp new file mode 100644 index 0000000..7fa7aac Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tcan1.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tcan2.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tcan2.bmp new file mode 100644 index 0000000..088f19b Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tcan2.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tlight.bmp b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tlight.bmp new file mode 100644 index 0000000..e1d7fb8 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/icons/tlight.bmp differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/lamp.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/lamp.mb new file mode 100644 index 0000000..b8458b2 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/lamp.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/lpost.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/lpost.mb new file mode 100644 index 0000000..18f88ff Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/lpost.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/stand1.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/stand1.mb new file mode 100644 index 0000000..4e77d3b Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/stand1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/stand2.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/stand2.mb new file mode 100644 index 0000000..038e907 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/stand2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tbag1.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tbag1.mb new file mode 100644 index 0000000..b40c112 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tbag1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tcan1.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tcan1.mb new file mode 100644 index 0000000..ce67c8d Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tcan1.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tcan2.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tcan2.mb new file mode 100644 index 0000000..63008f0 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tcan2.mb differ diff --git a/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tlight.mb b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tlight.mb new file mode 100644 index 0000000..181afd9 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/scenes/props-StreetLevel/tlight.mb differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/barrel1.tga b/2009-x64/GameProd/LT_Project/sourceimages/barrel1.tga new file mode 100644 index 0000000..1d87826 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/barrel1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/barrel1_bump.tga b/2009-x64/GameProd/LT_Project/sourceimages/barrel1_bump.tga new file mode 100644 index 0000000..cdeb009 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/barrel1_bump.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/barrel2.tga b/2009-x64/GameProd/LT_Project/sourceimages/barrel2.tga new file mode 100644 index 0000000..6725207 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/barrel2.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/barrel_dirt1.tga b/2009-x64/GameProd/LT_Project/sourceimages/barrel_dirt1.tga new file mode 100644 index 0000000..cf63f8c Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/barrel_dirt1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/cardboardbox1.tga b/2009-x64/GameProd/LT_Project/sourceimages/cardboardbox1.tga new file mode 100644 index 0000000..6db627c Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/cardboardbox1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/cottagebrick.jpg b/2009-x64/GameProd/LT_Project/sourceimages/cottagebrick.jpg new file mode 100644 index 0000000..04986ee Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/cottagebrick.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/crusty.bmp b/2009-x64/GameProd/LT_Project/sourceimages/crusty.bmp new file mode 100644 index 0000000..b7e1d92 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/crusty.bmp differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/drip_stone.jpg b/2009-x64/GameProd/LT_Project/sourceimages/drip_stone.jpg new file mode 100644 index 0000000..e1eeccf Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/drip_stone.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/drip_stone_top.jpg b/2009-x64/GameProd/LT_Project/sourceimages/drip_stone_top.jpg new file mode 100644 index 0000000..af44916 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/drip_stone_top.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/fence1.tga b/2009-x64/GameProd/LT_Project/sourceimages/fence1.tga new file mode 100644 index 0000000..2201859 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/fence1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/flag_left.jpg b/2009-x64/GameProd/LT_Project/sourceimages/flag_left.jpg new file mode 100644 index 0000000..ec7ea58 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/flag_left.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/flag_mid.jpg b/2009-x64/GameProd/LT_Project/sourceimages/flag_mid.jpg new file mode 100644 index 0000000..f2c4ca8 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/flag_mid.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/flag_right.jpg b/2009-x64/GameProd/LT_Project/sourceimages/flag_right.jpg new file mode 100644 index 0000000..4722c7e Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/flag_right.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebag.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebag.tga new file mode 100644 index 0000000..805e5b3 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebag.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_back.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_back.tga new file mode 100644 index 0000000..570df82 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_back.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_front.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_front.tga new file mode 100644 index 0000000..403238e Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_front.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_side1.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_side1.tga new file mode 100644 index 0000000..615f999 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_side1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_front.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_front.tga new file mode 100644 index 0000000..06a604d Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_front.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_side.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_side.tga new file mode 100644 index 0000000..d12a537 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_side.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_top.tga b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_top.tga new file mode 100644 index 0000000..c59ad8d Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/garbagebin_yl_top.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_base1.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_base1.tga new file mode 100644 index 0000000..d5f8880 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_base1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_base2.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_base2.tga new file mode 100644 index 0000000..1c751f9 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_base2.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_basebtm1.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_basebtm1.tga new file mode 100644 index 0000000..9551729 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_basebtm1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_basetop1.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_basetop1.tga new file mode 100644 index 0000000..8cb508c Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_basetop1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_glass.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_glass.tga new file mode 100644 index 0000000..98c3e0b Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_glass.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_lamp1.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_lamp1.tga new file mode 100644 index 0000000..f3b6f9e Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_lamp1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lightpost_main1.tga b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_main1.tga new file mode 100644 index 0000000..f92cd34 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lightpost_main1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/lk_fireh1.tga b/2009-x64/GameProd/LT_Project/sourceimages/lk_fireh1.tga new file mode 100644 index 0000000..2a0c815 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/lk_fireh1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/m_gcanside.tga b/2009-x64/GameProd/LT_Project/sourceimages/m_gcanside.tga new file mode 100644 index 0000000..83c58fa Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/m_gcanside.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/m_gcantop.tga b/2009-x64/GameProd/LT_Project/sourceimages/m_gcantop.tga new file mode 100644 index 0000000..84278ba Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/m_gcantop.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/marble1.jpg b/2009-x64/GameProd/LT_Project/sourceimages/marble1.jpg new file mode 100644 index 0000000..11ed405 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/marble1.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/mossystone.bmp b/2009-x64/GameProd/LT_Project/sourceimages/mossystone.bmp new file mode 100644 index 0000000..b94836f Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/mossystone.bmp differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_back1.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_back1.tga new file mode 100644 index 0000000..cbee243 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_back1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_back2.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_back2.tga new file mode 100644 index 0000000..b4b870d Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_back2.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_base.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_base.tga new file mode 100644 index 0000000..6e2c91e Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_base.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_paper.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_paper.tga new file mode 100644 index 0000000..6ec1ce3 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_paper.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_paper2.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_paper2.tga new file mode 100644 index 0000000..bdc6ada Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_paper2.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_post1.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_post1.tga new file mode 100644 index 0000000..fec6df5 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_post1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_post2.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_post2.tga new file mode 100644 index 0000000..6293607 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_post2.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_side1.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_side1.tga new file mode 100644 index 0000000..bcdebcc Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_side1.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/paperbox_side2.tga b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_side2.tga new file mode 100644 index 0000000..009d047 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/paperbox_side2.tga differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/pot_sides.bmp b/2009-x64/GameProd/LT_Project/sourceimages/pot_sides.bmp new file mode 100644 index 0000000..4b21040 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/pot_sides.bmp differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/pot_sides.jpg b/2009-x64/GameProd/LT_Project/sourceimages/pot_sides.jpg new file mode 100644 index 0000000..d8d0e42 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/pot_sides.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/rust.bmp b/2009-x64/GameProd/LT_Project/sourceimages/rust.bmp new file mode 100644 index 0000000..8d86e6b Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/rust.bmp differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/rust_03.jpg b/2009-x64/GameProd/LT_Project/sourceimages/rust_03.jpg new file mode 100644 index 0000000..16f6739 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/rust_03.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/skull1.jpg b/2009-x64/GameProd/LT_Project/sourceimages/skull1.jpg new file mode 100644 index 0000000..5cf102e Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/skull1.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/stone2.jpg b/2009-x64/GameProd/LT_Project/sourceimages/stone2.jpg new file mode 100644 index 0000000..05c78a4 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/stone2.jpg differ diff --git a/2009-x64/GameProd/LT_Project/sourceimages/stone6.jpg b/2009-x64/GameProd/LT_Project/sourceimages/stone6.jpg new file mode 100644 index 0000000..4a48215 Binary files /dev/null and b/2009-x64/GameProd/LT_Project/sourceimages/stone6.jpg differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/lamp1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/lamp1.mb new file mode 100644 index 0000000..e7f3ddc Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/lamp1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/lamp2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/lamp2.mb new file mode 100644 index 0000000..49de1af Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/lamp2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/light1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/light1.mb new file mode 100644 index 0000000..5088a49 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/light1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/light2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/light2.mb new file mode 100644 index 0000000..9501b08 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-lamps/light2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase1.mb new file mode 100644 index 0000000..66d6025 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase2.mb new file mode 100644 index 0000000..533db75 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase3.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase3.mb new file mode 100644 index 0000000..edb91eb Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase3.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase4.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase4.mb new file mode 100644 index 0000000..2bf2112 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/assets-L1-decor-vases/vase4.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate1.mb new file mode 100644 index 0000000..31cf147 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate2.mb new file mode 100644 index 0000000..141aa2b Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate3.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate3.mb new file mode 100644 index 0000000..7970fab Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/plate3.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter1.mb new file mode 100644 index 0000000..5e6acda Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter2.mb new file mode 100644 index 0000000..3f1296f Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter3.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter3.mb new file mode 100644 index 0000000..eccc5e2 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter3.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter4.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter4.mb new file mode 100644 index 0000000..d8b63cd Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-decor/platter4.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest1.mb new file mode 100644 index 0000000..cca5c7e Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest2.mb new file mode 100644 index 0000000..685d91f Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest3.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest3.mb new file mode 100644 index 0000000..6167708 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest3.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest4.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest4.mb new file mode 100644 index 0000000..7718cb5 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest4.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest5.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest5.mb new file mode 100644 index 0000000..9d5adb7 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/assets-L1-furniture-chests/chest5.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/bed1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/bed1.mb new file mode 100644 index 0000000..4934c8e Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/bed1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/seat1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/seat1.mb new file mode 100644 index 0000000..34258b8 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/seat1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/seat2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/seat2.mb new file mode 100644 index 0000000..3f70ee0 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/seat2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/table1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/table1.mb new file mode 100644 index 0000000..97a20f8 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/table1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/table2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/table2.mb new file mode 100644 index 0000000..e76545c Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/assets-L1-furniture/table2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/basket1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/basket1.mb new file mode 100644 index 0000000..55c5016 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/basket1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/doors.mb b/2009-x64/GameProd/LT_Repository/assets-L1/doors.mb new file mode 100644 index 0000000..93a823c Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/doors.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/knife.mb b/2009-x64/GameProd/LT_Repository/assets-L1/knife.mb new file mode 100644 index 0000000..c94ce19 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/knife.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/orb1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/orb1.mb new file mode 100644 index 0000000..0aff2cb Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/orb1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/plant1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/plant1.mb new file mode 100644 index 0000000..95ceb98 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/plant1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/plant2.mb b/2009-x64/GameProd/LT_Repository/assets-L1/plant2.mb new file mode 100644 index 0000000..ba99625 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/plant2.mb differ diff --git a/2009-x64/GameProd/LT_Repository/assets-L1/tree1.mb b/2009-x64/GameProd/LT_Repository/assets-L1/tree1.mb new file mode 100644 index 0000000..cf74070 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/assets-L1/tree1.mb differ diff --git a/2009-x64/GameProd/LT_Repository/icons/basket1.bmp b/2009-x64/GameProd/LT_Repository/icons/basket1.bmp new file mode 100644 index 0000000..36b3d61 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/basket1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/bed1.bmp b/2009-x64/GameProd/LT_Repository/icons/bed1.bmp new file mode 100644 index 0000000..5dc8d4e Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/bed1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/chest1.bmp b/2009-x64/GameProd/LT_Repository/icons/chest1.bmp new file mode 100644 index 0000000..b702c30 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/chest1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/chest2.bmp b/2009-x64/GameProd/LT_Repository/icons/chest2.bmp new file mode 100644 index 0000000..2779586 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/chest2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/chest3.bmp b/2009-x64/GameProd/LT_Repository/icons/chest3.bmp new file mode 100644 index 0000000..06dbc8b Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/chest3.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/chest4.bmp b/2009-x64/GameProd/LT_Repository/icons/chest4.bmp new file mode 100644 index 0000000..2bf3ac6 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/chest4.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/chest5.bmp b/2009-x64/GameProd/LT_Repository/icons/chest5.bmp new file mode 100644 index 0000000..66586ab Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/chest5.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/doors.bmp b/2009-x64/GameProd/LT_Repository/icons/doors.bmp new file mode 100644 index 0000000..d0f5472 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/doors.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/knife.bmp b/2009-x64/GameProd/LT_Repository/icons/knife.bmp new file mode 100644 index 0000000..29c3087 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/knife.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/lamp1.bmp b/2009-x64/GameProd/LT_Repository/icons/lamp1.bmp new file mode 100644 index 0000000..636447a Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/lamp1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/lamp2.bmp b/2009-x64/GameProd/LT_Repository/icons/lamp2.bmp new file mode 100644 index 0000000..cc74301 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/lamp2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/light1.bmp b/2009-x64/GameProd/LT_Repository/icons/light1.bmp new file mode 100644 index 0000000..c19623d Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/light1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/light2.bmp b/2009-x64/GameProd/LT_Repository/icons/light2.bmp new file mode 100644 index 0000000..28fda88 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/light2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/orb1.bmp b/2009-x64/GameProd/LT_Repository/icons/orb1.bmp new file mode 100644 index 0000000..b2c71b4 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/orb1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/plant1.bmp b/2009-x64/GameProd/LT_Repository/icons/plant1.bmp new file mode 100644 index 0000000..f89b626 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/plant1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/plant2.bmp b/2009-x64/GameProd/LT_Repository/icons/plant2.bmp new file mode 100644 index 0000000..62f28bc Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/plant2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/plate1.bmp b/2009-x64/GameProd/LT_Repository/icons/plate1.bmp new file mode 100644 index 0000000..d36c4a7 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/plate1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/plate2.bmp b/2009-x64/GameProd/LT_Repository/icons/plate2.bmp new file mode 100644 index 0000000..b0316c0 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/plate2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/plate3.bmp b/2009-x64/GameProd/LT_Repository/icons/plate3.bmp new file mode 100644 index 0000000..3719693 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/plate3.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/platter1.bmp b/2009-x64/GameProd/LT_Repository/icons/platter1.bmp new file mode 100644 index 0000000..e7bc7f7 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/platter1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/platter2.bmp b/2009-x64/GameProd/LT_Repository/icons/platter2.bmp new file mode 100644 index 0000000..85971f4 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/platter2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/platter3.bmp b/2009-x64/GameProd/LT_Repository/icons/platter3.bmp new file mode 100644 index 0000000..44d2c8d Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/platter3.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/platter4.bmp b/2009-x64/GameProd/LT_Repository/icons/platter4.bmp new file mode 100644 index 0000000..5cfdea0 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/platter4.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/seat1.bmp b/2009-x64/GameProd/LT_Repository/icons/seat1.bmp new file mode 100644 index 0000000..fe536c5 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/seat1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/seat2.bmp b/2009-x64/GameProd/LT_Repository/icons/seat2.bmp new file mode 100644 index 0000000..0a33fce Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/seat2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/table1.bmp b/2009-x64/GameProd/LT_Repository/icons/table1.bmp new file mode 100644 index 0000000..2caef4f Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/table1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/table2.bmp b/2009-x64/GameProd/LT_Repository/icons/table2.bmp new file mode 100644 index 0000000..4a9b61c Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/table2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/tree1.bmp b/2009-x64/GameProd/LT_Repository/icons/tree1.bmp new file mode 100644 index 0000000..01fd809 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/tree1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/vase1.bmp b/2009-x64/GameProd/LT_Repository/icons/vase1.bmp new file mode 100644 index 0000000..d07a516 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/vase1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/vase2.bmp b/2009-x64/GameProd/LT_Repository/icons/vase2.bmp new file mode 100644 index 0000000..e75d78f Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/vase2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/vase3.bmp b/2009-x64/GameProd/LT_Repository/icons/vase3.bmp new file mode 100644 index 0000000..04758c8 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/vase3.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/icons/vase4.bmp b/2009-x64/GameProd/LT_Repository/icons/vase4.bmp new file mode 100644 index 0000000..55caddc Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/icons/vase4.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/.mayaSwatches/sideleaf.rgb.swatch b/2009-x64/GameProd/LT_Repository/sourceimages/.mayaSwatches/sideleaf.rgb.swatch new file mode 100644 index 0000000..1b1f288 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/.mayaSwatches/sideleaf.rgb.swatch differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket1_front.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket1_front.bmp new file mode 100644 index 0000000..3dac467 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket1_front.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket1_side.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket1_side.bmp new file mode 100644 index 0000000..9c560b4 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket1_side.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket1_top.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket1_top.bmp new file mode 100644 index 0000000..8bd3841 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket1_top.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket2_front.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket2_front.bmp new file mode 100644 index 0000000..3d65832 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket2_front.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket2_top.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket2_top.bmp new file mode 100644 index 0000000..d6fc0ec Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket2_top.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket3_front.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket3_front.bmp new file mode 100644 index 0000000..07d8355 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket3_front.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket3_side.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket3_side.bmp new file mode 100644 index 0000000..392263e Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket3_side.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket3_top.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket3_top.bmp new file mode 100644 index 0000000..d50a6e2 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket3_top.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket4_front.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket4_front.bmp new file mode 100644 index 0000000..032931a Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket4_front.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket4_side.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket4_side.bmp new file mode 100644 index 0000000..8a99a6d Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket4_side.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basket4_top.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basket4_top.bmp new file mode 100644 index 0000000..593ff61 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basket4_top.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/basketWeave.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/basketWeave.bmp new file mode 100644 index 0000000..9c3d62e Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/basketWeave.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/ceramic1.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/ceramic1.bmp new file mode 100644 index 0000000..959f77e Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/ceramic1.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/ceramic2.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/ceramic2.bmp new file mode 100644 index 0000000..2f3f317 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/ceramic2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/chest.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/chest.bmp new file mode 100644 index 0000000..e52bc78 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/chest.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/column01.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/column01.bmp new file mode 100644 index 0000000..96e8db7 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/column01.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/floor01.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/floor01.bmp new file mode 100644 index 0000000..e8af3d5 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/floor01.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/frieze01.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/frieze01.bmp new file mode 100644 index 0000000..2314dd5 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/frieze01.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/frieze02.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/frieze02.bmp new file mode 100644 index 0000000..48d98ef Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/frieze02.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/goldpla.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/goldpla.bmp new file mode 100644 index 0000000..658b3e8 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/goldpla.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/lantern2.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/lantern2.bmp new file mode 100644 index 0000000..0cef279 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/lantern2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/lanterne2.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/lanterne2.bmp new file mode 100644 index 0000000..9c53495 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/lanterne2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/plank.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/plank.bmp new file mode 100644 index 0000000..55f4c7b Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/plank.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/plant2.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/plant2.bmp new file mode 100644 index 0000000..0aabc43 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/plant2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/plate01.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/plate01.bmp new file mode 100644 index 0000000..3bc277f Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/plate01.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/plate02.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/plate02.bmp new file mode 100644 index 0000000..934d7f2 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/plate02.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/plate03.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/plate03.bmp new file mode 100644 index 0000000..ed572da Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/plate03.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/porte2.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/porte2.bmp new file mode 100644 index 0000000..eecbe96 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/porte2.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/potPatern.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/potPatern.bmp new file mode 100644 index 0000000..16f1530 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/potPatern.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/purpleOrb.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/purpleOrb.bmp new file mode 100644 index 0000000..7256565 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/purpleOrb.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/rug.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/rug.bmp new file mode 100644 index 0000000..2755489 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/rug.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/sideleaf.rgb b/2009-x64/GameProd/LT_Repository/sourceimages/sideleaf.rgb new file mode 100644 index 0000000..1de8267 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/sideleaf.rgb differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/sourat.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/sourat.bmp new file mode 100644 index 0000000..fb5a2f9 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/sourat.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/table.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/table.bmp new file mode 100644 index 0000000..8c4f02a Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/table.bmp differ diff --git a/2009-x64/GameProd/LT_Repository/sourceimages/woodplank.bmp b/2009-x64/GameProd/LT_Repository/sourceimages/woodplank.bmp new file mode 100644 index 0000000..d8fd009 Binary files /dev/null and b/2009-x64/GameProd/LT_Repository/sourceimages/woodplank.bmp differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0.htm b/2009-x64/GameProd/LT_docs/LevelTools_2.0.htm new file mode 100644 index 0000000..2d0247a --- /dev/null +++ b/2009-x64/GameProd/LT_docs/LevelTools_2.0.htm @@ -0,0 +1,1561 @@ + + + + + + + + + + +LevelTools + + + + + + + +
+ +

LevelTools +2.0

+ +

 

+ +

General +Description

+ +

LevelTools is a suite of tools +specifically designed for game level building.  It provides new +functionality and also consolidates many of Maya's existing features into one +easy to use interface.  The interface itself is broken down into 3 main +sections: Import, Layout and Display.

+ +

The Import section provides a simple +icon based UI, which allows you to quickly, and easily bring assets into a game +level.  LevelTools looks in a user defined folder for importable files and +automatically builds icon buttons for each file it finds.  By simply +clicking on an icon, the associated file is imported into the scene.  The +imported object can then be easily positioned by click dragging it into place.

+ +

The Layout section contains tools +for the placement of objects within a level or scene.  This includes +positioning, orienting, aligning and snapping.  Standard Maya features +such as the Align Tool and the Snap Together Tool are integrated into the UI, +as well as new tools such as Geometry Snap and the Orient Tool.  

+ +

The Display section provides +controls for setting and adjusting visual aspects of a level and the objects +within it.  This includes tools for viewing and saving information such as +the Triangle Count heads-up display and the File Info window.  It also +contains simple toggles for things such as background color, wire frame on +shaded, polygon normals, geometry borders, single sidedness and vertex color +display.

+ +

LevelTools assumes that Y is up, therefore some tools will not behave +predictably if you change your coordinate system.  If you need to work in something other than Y up, then certain +features (e.g. DragTool, Base, Geo Snap, Walk Cam, Importing etc…) will need to +be modified in the original scripts.

+ +

 

+ +

New +Features Highlights for 2.0

+ +

 

+ +

          Improved UI:    Better organization of tools.  UI state is now preserved between sessions.

+ +

           

+ +

            Layout->Position->MoveAlongEdge +:               Move any object or +componant along an arbitrary edge

+ +

            Layout->Position->MoveAlongNormal +:           Move any object or componant +along an arbitrary face normal

+ +

            Layout->Orient->OrientTool +:                          Rotate align an +object to point at or touch a given edge or vert

+ +

 

+ +

            Display->Info->VertDistance:                           Calculate distance +between any two poly verts

+ +

            Display->View->CycleBG:                               White added to +cycle

+ +

            Display->View->WalkCam:                             Use w/s/a/d keys to +navigate through seen

+ +

            Display->View->FirstPerson:                           Use left mouse to +turn pov of camera (used with WalkCam)

+ +

            Display->View->Clipping:                                Slider for +interactively adjusting far clipping plane

+ +

 

+ +

            Import->Settings->InitialGround                       Setting for initial Y +placement of imported objects.

+ +

            Import->Settings->Import/Reference                Option for creating references instead +of importing directly.

+ +

                  

+ +

 

+ +

Installation

+ +

 

+ +

Quick install:  First close Maya. Then simply unzip the +LevelTools2.0.zip file into the MyDocuments/maya/6.0 folder.  Restart Maya and run LT from the LevelTools +shelf.  This will open the entire +LevelTools interface.  (Note:  Because of changes to Mel, LevelTools2.0 is +only compatible with Maya 6 and beyond.)

+ +

 

+ +

 

+ +

Manual install:  +First close Maya. Then put the five LT scripts...

+ +

 

+ +

                        LT_displayProcs.mel

+ +

                        LT_generalProcs.mel

+ +

                        LT_layoutProcs.mel

+ +

                        LT_optionVars.mel      

+ +

                        LT_UI.mel

+ +

 

+ +

…into your MyDocuments/maya/6.0/scripts folder.  Restart Maya.  Then run the command  < +LT_UI > from the command line or via a shelf button.  This will open the entire LevelTools +interface.  There is also a +levelTools.bmp file in the prefs/icons folder that can be loaded onto the shelf +as an icon.  See Maya documentation for +how to create a shelf button.  Also, see +the Import tab section of the documentation for more info about setting up +LevelTools once it’s installed.

+ +

 

+ +

 

+ +

Details

+ +

 

+ +

LevelTools is broken down into 3 main sections: Layout, +Display and Import.  Each tab contains a +set of related tools.  Every button, +field, check box, etc... has an annotation that describes its function.  Simply hold your cursor over each button to +get information about what it does. 

+ +

 

+ +

(Note: new features are highlighted +below in red.)

+ +

 

+ +
+ +

 

+ +
+ +

The +Layout Tab

+ +

 

+ +

+ +

 

+ +

 

+ +

General

+ +

 

+ +

CTM Tool +     Create a +ComponentTransfromManipulator for selected components.  This allows you to move, scale and snap the +components via a snapHandle.  The pivot of +the handle can be moved to change the snap from point.  Unlike a cluster, the affect of the handle +is preserved even after deleting it.

+ +

MRS Tool +     Enable +Modify->TransformTools->MoveRotateScaleTool : a Multi-manip for moving, +rotating and scaling

+ +

Drag Tool +      Enable Click/Drag tool to place +selected object along XZ plane.  Hold +ctrl to constrain to Y axis, and hold shift to constrain to view plane 

+ +

 

+ +

 

+ +

 

+ +

Position

+ +

 

+ +

            Move

+ +

Value : set value for move offset +and snap  (eg… 0.05, 2.5, 100)

+ +

x/y/z : choose axis for move +offset and snap

+ +

World / Object : set space to world axis +or objects axis

+ +

Edge : offset all +selected objects/components along last selected edge

+ +

Normal: offset all +selected objects/components along normal of last selected face

+ +

                       

+ +

Snap                Snap to nearest point along +selected axis divisible by value (Move Snap works along world axis only)

+ +

Offset-            Decrement +position along selected axis, edge or normal +using above value

+ +

Offset+           Increment +position along selected axis, edge or normal +using above value

+ +

 

+ +

   +

+ +

+ +

               Offset along edge…                                 +Offset along normal…

+ +

 

+ +

 

+ +

Orient

+ +

 

+ +

            Rotate

+ +

Value : set value for offset and +snap (0 to 90)

+ +

x/y/z : choose axis for rotate +offset and snap

+ +

World / Object : set space to world axis +or objects axis

+ +

 

+ +

Snap                Snap rotate to nearest angle +divisible by degree value (Rotate snap works along object axis only)

+ +

Offset-            Decrement rotation around selected +axis using above degree value

+ +

Offset+           Increment rotation around selected +axis using above degree value

+ +

 

+ +

            -----------------------------------------------------------------------------------

+ +

 

+ +

Orient Tool     Rotate first object around its pivot to orient/align with +second object.  The target will either +be an edge or a vertex on the second object.  +The orientation can take place on one axis at a time: X, Y or +Z.  (Note:  works only on poly objects)

+ +

 

+ +

x/y/z :     choose axis for rotation/orientation (object +space)

+ +

Edge :     Put OrientTool in edge mode.  First select a vertex on object you wish to +rotate.  Next, select an edge on the +target object you wish to rotate towards.  +If possible, the first object will then be rotated around its pivot so +that the vertex is touching the edge on the target object.

+ +

Vert :      Put OrientTool in vertex mode.  First select a vertex on object you wish to +rotate.  Next, select a vertex on the +target object you wish to rotate towards.  +The first object will then be rotated around its pivot so that the +vertex on the first object is pointing towards the vertex on the target +object.  The result will be an imaginary +line running between the pivot of the first object and the two vertices.

+ +

 

+ +

:          

+ +

              Before                                      After OrientToVert                    After +OrientToEdge

+ +

 

+ +

 

+ +

Align

+ +

 

+ +

x/y/z : choose axis for +Line/Stack/Dist

+ +

 

+ +

Line                 Center and line all selected objects +with last selected along the specifiedaxis

+ +

Base                Align all selected objects with base of last selected and +along specified axis (center for Y)

+ +

Stack               Stack all selected objects to last +selected on specified axis

+ +

Dist                 Make selected objects equidistant along specified +axis

+ +

 

+ +

More…           Open options for:   Modify->SnapAlign->AlignObjects

+ +

 

+ +

            -----------------------------------------------------------------------------------

+ +

 

+ +

            Align +Tool       Enable:   Modify->SnapAlign->AlignTool  (Manipulator for aligning objects based on +bounding box)

+ +

 

+ +

 

+ +

 

+ +

Snap

+ +

 

+ +

                        Orient : causes Snap Tool to +orient object as well

+ +

Face : causes Snap Tool to snap to face centers  (Note : snap tool also respects standard +Maya point, curve and grid snapping)

+ +

 

+ +

Snap Tool +      Enable:   Modify->SnapAlign->SnapTogetherTool  (Manipulator for snapping one object to +another at any arbitrary point and  +independently of its pivot)

+ +

 

+ +

            -----------------------------------------------------------------------------------

+ +

 

+ +

To Face           Snap all selected objects and/or components +to last selected face center

+ +

To Edge          Snap all selected objects and/or +components to last selected edge center

+ +

 

+ +

pt To pt           Point to point snap (first object to +second)

+ +

2pt Left           2 point to 2 point snap - align left +(first object to second)

+ +

2pt Mid           2 point to 2 point snap - align +center (first object to second)

+ +

2pt Right         2 point to 2 point snap - align right +(first object to second)

+ +

 

+ +

            -----------------------------------------------------------------------------------

+ +

 

+ +

Edge Snapping

+ +

 

+ +

Segments:  toggles edge +segment snapping on/off and sets magnet tolerance to 100 (maximum) or 0 +(minimum).

+ +

Snap To :               Midpoint:              set number of snapping magnets to +1

+ +

                                Thirds:                   set number of snapping magnets to 2

+ +

                                Quarter:                  set number of snapping magnets to 3

+ +

Use Prefs:              open user preferences to snapping +tab if more snap points are needed

+ +

 

+ +

Note: The edge snapping settings +work with both the SnapTogetherTool as well as with the standard snapping +workflow.  You still must hold down the “c” +key and middle click on the desired edge when attempting to snap an object or +component to an edge segment. These settings simply provide a more intuitive +way of modifying the standard preferences.

+ +

 

+ +

 

+ +

 

+ +

Constrain

+ +

 

+ +

 

+ +

Geo Snap        Snap the position and orientation of all +selected objects to the nearest point and normal of the last selected +object.  A combination of geometry +constraints and normal constraints are used to do this. By default The +Y axis +is used for normal alignment and the +X axis will point up if/when +possible.  For example, in order for a +wall sconce/lamp to snap correctly to a wall it would need to be built (or +transforms frozen) so that its front faced positive Y and its top faced +positive X. 

+ +

(Note: This can be changed by +using the following cycle and flip tools)

+ +

 

+ +

   +Before Geo Snap…

+ +

+ +

  +After…

+ +

 

+ +

Cycle Aim       Cycle the Aim vector axis for the +constrained (Geo Snapped) object between X, Y and Z

+ +

Flip Aim          Flip the Aim vector axis for the +constrained (Geo Snapped) object between positive and negative

+ +

Cycle Up         Cycle the Up vector axis for the +constrained (Geo Snapped) object between X, Y and Z

+ +

Flip Up            Flip the Aim vector axis for the +constrained (Geo Snapped) object between positive and negative

+ +

Break              Remove geometry and normal constraints for selected +object

+ +

 

+ +

 

+ +

 

+ +

Replace

+ +

 

+ +

Inherit Rotate : duplicated objects will inherit rotation

+ +

Inherit Scale : duplicated objects will inherit scale

+ +

Inst : creates instances instead of duplicates for +replace tool

+ +

 

+ +

Replace          Replace all selected objects with last +selected object.  First, select 1 or +more objects that you wish to replace (be sure to select top node of hierarchy +if one exists).  Then select the object +you wish to replace them with last. 

+ +

 

+ +

  Before Replace…

+ +

+ +

   After…

+ +

 

+ +

 

+ +
+ +

 

+ +
+ +

The +Display Tab

+ +

 

+ +

+ +

           

+ +

 

+ +

Info

+ +

 

+ +

Poly Count                  Toggle Display->HeadsUpDisplay->PolyCount

+ +

Shell Count                 Toggle heads up display which +counts number of shells for all selected objects

+ +

Edge Length +              Toggle heads up display +which calculates total length of all selected edges

+ +

Vert +Distance             Toggle heads up +display which calculates the distance between two selected vertices

+ +

 

+ +

-----------------------------------------------------------------------------------

+ +

 

+ +

File Info                      Opens an editable window +that allows you to create a text annotation for the current file.  The information in the window is saved with +the file via a scriptNode.  When the +file is reopened the File Info window will be shown with the previously saved +information.

+ +

 

+ +

+ +

 

+ +

 

+ +

Annotate                     Attach an annotation to the +selected object using Create->Annotation

+ +

 

+ +

 

+ +

 

+ +

View

+ +

 

+ +

Toggle UI                   Toggle display of all UI +elements (including main menus and panel menus) on and off

+ +

Cycle BG +                   Cycle background color +between white, light gray, dark gray and black for +all views

+ +

 

+ +

-----------------------------------------------------------------------------------

+ +

 

+ +

Walk Cam                  Use hotkeys Alt + w/s/a/d to navigate any perspective camera +front/back/left/right

+ +

First Person                Use left mouse button to change direction of camera for +WalkCam

+ +

 

+ +

Speed : change speed of walk cam (Slow +<-> Fast)

+ +

Clipping:  interactively edit the distance of the far +clipping plane of any active perspective camera

+ +

 

+ +

-----------------------------------------------------------------------------------

+ +

 

+ +

Toggle Grid                Toggle grid display for active +panel

+ +

Grid Numbers            Toggle grid numbers for all views

+ +

 

+ +

Grid Size: interactively increase or +decrease the overall size of the grid                  

+ +

 

+ +

-----------------------------------------------------------------------------------

+ +

 

+ +

Wire Shaded               Toggle wire frame on shaded +display mode for active panel

+ +

X-ray Mode                Toggle xray display mode for +active panel

+ +

Texture Filter             Toggle texture filtering for active +panel

+ +

Fast Interact               Toggle interactive wire shading +for faster navigation/manipulation in active panel

+ +

 

+ +

 

+ +

 

+ +

Polys

+ +

 

+ +

            Face +Normals             Toggle display of +face normals on selected objects

+ +

Vertex Normals         Toggle display of vertex normals on +selected objects

+ +

Normal +Length           Interactively adjust +slider to lengthen or shorten vertex or face normals for selected objects           

+ +

 

+ +

Geo Borders               Toggle display of thick geometry +borders on selected objects

+ +

Text Borders              Toggle display of thick texture +borders on selected objects

+ +

Edge +Thickness          Interactively adjust +slider to change thickness of geometry and texture borders for selected objects

+ +

 

+ +

Soft Edges +                 Toggle display of +wireframe dotted line of soft edges on selected objects

+ +

Inner +Triangles          Toggle display of +wireframe dotted line of hidden inner triangles on selected objects

+ +

Options                       Open Display->CustomPolygonDisplay +options

+ +

Reset                          Disable all custom +polygon display options

+ +

 

+ +

Back Culling               Toggle backface culling for +selected objects (note: now no visible wireframe for culled faces)

+ +

1:2 Sided +                    Toggle selected +polygon objects between single and double sided

+ +

All 1 Sided                  Make all polygon objects single +sided

+ +

All 2 Sided                  Make all polygon objects double +sided

+ +

 

+ +

 

+ +

 

+ +

Color

+ +

 

+ +

Vertex +Default           Display vertex color +with default lighting for all objects, in current panel

+ +

Vertex Color +Only     Display vertex color only for +all objects, in current panel (Note : now utilizes panel +Lighting->UseNoLights option)

+ +

Vertex + +Texture       Display vertex color +blended with texture for all objects, in current panel (Note : now utilizes +panel Lighting->UseNoLights option)

+ +

Reset                          Disable vertex color +display in current panel

+ +

 

+ +

 

+ +
+ +

 

+ +
+ +

The Import Tab

+ +

 

+ +

+ +

                                   

+ +

 

+ +

 

+ +

 

+ +

Refresh        Refresh icon list for new props.  When new props are added to one of your props +folders, or if your current project changes, simply press Refresh to rebuild +the icons in the import tab.  See Icons +section below about creating icons for props.

+ +

 

+ +

 

+ +

 

+ +
Import Settings
+ +

 

+ +

 

+ +

Initial +Ground:            Determines the initial placement of all imported/referenced +objects on the Y-axis.   This is used as +a starting point for the click/drag placement tool, which is activated as soon +as the object is brought into the scene.  +Changing this setting raises or lowers the ground plane for the +placement tool.  You can also adjust the +ground plane afterwards by holding down the ctrl key while the click/drag +placement tool is activated.

+ +

           

+ +

 

+ +

Import/Reference: +    By +default any assets or props are brought into the scene directly by +importing.  This can now be changed to a +reference instead.  Management of the +references will still need to be done through the ReferenceEditor.

+ +

 

+ +

 

+ +

Remove Duplicate Shaders:             Automatically clean up any +redundancy in the HyperShade upon import: including materials and +textures.  In other words, if you import +the same prop more than once, only one copy of its shader and textures will be +retained.  This can also be done after +importing by using File->OptimizeSceneSize.

+ +

 

+ +

 

+ +

Create +Reference Locator:               If objects are referenced then you can choose to also create +a reference locator.  This simply allows +you to load and unload your references directly from the camera view without +needing to open the ReferenceEditor.  +This is done by right clicking on the reference locator.

+ +

 

+ +

 

+ +

-----------------------------------------------------------------------------------

+ +

 

+ +

 

+ +

Folder Prefix:             The prefix is used to determine +which folders within your import path contain importable items.  All import assets or “props” should be put +into a folder or folders beginning with the specified prefix.  The default prefix is “props”.  In this case your folders would be named +something like: props-level3 or propsRoom2 or props_Architecture.  The prefix itself can be set to something +more meaningful to you simply by editing this field.  When changed, LevelTools will automatically re-search for any +folders beginning with the new prefix and build icons for those that it finds.

+ +

 

+ +

 

+ +
Include Subfolders:    By default, LevelTools will look +only at the top level of the import path (either defined RelativeToCurrentProject +or by SetPath).  Turning the Include +Subfolders option on will tell level tools to +begin at the import path and recursively look into all folders and subfoldes +for the current prefix.  You can even +search your entire drive for any folders beginning with the prefix by selecting +the root of the drive (eg… C:\ ).  While +it is possible, it could take a while to search the whole drive, so it is not +recommended.
+ +
 
+ +
 
+ +
Relative To Current Project:            When +enabled (default), LevelTools will use the scenes folder of the current project +as the import path.  It will then build +icons for any folder that it finds beginning with the Current Prefix at that location.  +If the current project changes, then the icons will need to be refreshed +with the Refresh button.
+ +

 

+ +

 

+ +
Set Path:         If the RelativeToCurrentProject option is turned off, then Set Path can be used to define the import path by specifying +an explicit location instead.  For +example, you may be managing your assets on a network server so that that all +users can access the same files.   In +this case you can point LevelTools +directly to that location (e.g. N:\Repository\Level2\Assets), rather than +relying on the current project.  The Set +Path button will open a file browser for finding +and setting the desired location.
+ +

 

+ +
 
+ +
+ +

 

+ +
+ +

 

+ +

 

+ +

 

+ +

 

+ +

Icons             Each +icon in the props section can be used to import a prop/asset.  When you press a given icon button, the +associated file will be imported into the scene and the resulting object +automatically selected.  The Drag Tool +will then be activated for easy placement of the object.  By default the drag tool will drag the +object on the XZ ground plane.  Holding +the ctrl key will lock the drag to the vertical Y axis.  In LevelTools 1.5 a bug was fixed that prevented +dragging from working with units set to something other than cm.

+ +

 

+ +

If LevelTools is not able to create any import icons then +you will get the following message (Nothing +to import. Check settings above.  Either +there is a problem with the path or there were no folders with the current +prefix found at that location.  See the +script editor for details.)  In this +case, try using SetPath to select the folder LT_Repository, which is +provided in the zip file.  Alternatively +you can set your current project to LT_Project (which is also provided) but you +will then need to press the refresh button in the import tab to update the +icons.  See Example Files section +below for a more detailed explanation of how to setup LevelTools to use them.

+ +

 

+ +

Each set of props/assets should +exist within a unique folder that begins with the current prefix.  Level tools will look for any folders +beginning with that prefix.  It will build +a drop-down menu for each one it finds, as well as buttons for each Maya file +found within those folders.

+ +

 

+ +

                        Previously +the icons for each prop were stored within the associated props folder, in a +subfolder simply called icons (e.g.… props-Level1/icons).  This is still an option, but as an +alternative you can now store all icons in one common “icons” folder at the +root of the import path.  LevelTools +will first search within the props folder for a given icon, and then look to +the root of the import path.  The icons +do not get created automatically, so if you are going to create your own props +you will likely want to create a unique icon (of the same name) for each one +and put it in the associated icons folder.  +To do this, simply render a 40x40 bmp image of the prop/asset.  LevelTools comes with a pre-set scene for +creating new icons called iconGenerator.mb.  +When you first open this scene a file info window appears, displaying a +step-by-step guide for generating custom icons.  If an icon does not exist or can’t be found, a simple button with +the filename will be created instead.

+ +

 

+ +

+ +

 

+ +

 

+ +

 

+ +

Example Files                   Example files for LevelTools +are included in the zip file.  If you +extracted this file directly into your MyDocuments/maya/5.0 folder then you +will find both of the following subfolders at that location.  It is not a problem to moves these to +another location or to simply delete them if you have no need for them.

+ +

 

+ +

LT_Project:                LT_Project is an example of how +you would setup a simple project structure to work with LevelTools.  For this example, set your current project +in Maya to the folder LT_Project.  Open +LevelTools and check the import tab.  If +the icons are not already loaded, reset the LevelTools settings +(Edit->ResetSettings).  You should +now see icons for props-LairLevel and props-StreetLevel in the LevelTools +Import tab. 

+ +

 

+ +

This illustrates how the Import +tab will behave in its default state.  +Notice that the folder LT_Project has a basic Maya project structure, +and the scenes folder within the project is the actual location of all props +folders.  Also notice that each prop +folder contains a separate folder for icons (e.g... +LT_Project/scenes/prop-LairLevel/icons).

+ +

 

+ +

LT_Repository:         LT_Repository +contains another set of example files for experimenting with some of the +changes in LevelTools 1.5.  Start by +resetting LevelTools (Edit->ResetSettings).  +Then use the SetPath button (under Settings in the Import tab) to select +the folder LT-Repository.  This will set +the folder as the root import path.  No +project/scenes folder is necessary.  You +will still not see any icons however, because this example uses a different +prefix.

+ +

 

+ +

Next you must edit the +CurrentPrefix.  Change this setting from +"props" to "assets".  +Now you'll notice that only a small set of icons appears, based on files +it found at the top level.

+ +

 

+ +

Finally, turn on include +subfolders.  This will cause LevelTools +to look into all folders and subfolders within LT_Repository.  Now you should see 6 sets of icons (one for +each subfolder that is found with the prefix "assets").

+ +

 

+ +

Also notice that instead of having +an icons folder within each subfolder, all of the icons are kept in one +location, at the root (LT_Repository/icons).  +This is just an alternative way of organizing your icons.

+ +

 

+ +

 

+ +

 

+ +

 

+ +
+ + + + diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/filelist.xml b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/filelist.xml new file mode 100644 index 0000000..88bfe70 --- /dev/null +++ b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/filelist.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image001.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image001.jpg new file mode 100644 index 0000000..7684b86 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image001.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image002.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image002.jpg new file mode 100644 index 0000000..33e6950 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image002.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image003.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image003.jpg new file mode 100644 index 0000000..40def30 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image003.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image004.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image004.jpg new file mode 100644 index 0000000..c3278f6 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image004.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image005.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image005.jpg new file mode 100644 index 0000000..a1c6931 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image005.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image006.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image006.jpg new file mode 100644 index 0000000..9582a17 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image006.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image007.png b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image007.png new file mode 100644 index 0000000..70d4c86 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image007.png differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image008.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image008.jpg new file mode 100644 index 0000000..aac7ce7 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image008.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image009.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image009.jpg new file mode 100644 index 0000000..6fbe163 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image009.jpg differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image010.png b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image010.png new file mode 100644 index 0000000..f9f5468 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image010.png differ diff --git a/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image011.jpg b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image011.jpg new file mode 100644 index 0000000..8df6867 Binary files /dev/null and b/2009-x64/GameProd/LT_docs/LevelTools_2.0_files/image011.jpg differ diff --git a/2009-x64/GameProd/icons/Connect.bmp b/2009-x64/GameProd/icons/Connect.bmp new file mode 100644 index 0000000..a06deb0 Binary files /dev/null and b/2009-x64/GameProd/icons/Connect.bmp differ diff --git a/2009-x64/GameProd/icons/ConnectVEF.bmp b/2009-x64/GameProd/icons/ConnectVEF.bmp new file mode 100644 index 0000000..e8838b0 Binary files /dev/null and b/2009-x64/GameProd/icons/ConnectVEF.bmp differ diff --git a/2009-x64/GameProd/icons/ConnectVEFslide.bmp b/2009-x64/GameProd/icons/ConnectVEFslide.bmp new file mode 100644 index 0000000..6683ac2 Binary files /dev/null and b/2009-x64/GameProd/icons/ConnectVEFslide.bmp differ diff --git a/2009-x64/GameProd/icons/Disconnect.bmp b/2009-x64/GameProd/icons/Disconnect.bmp new file mode 100644 index 0000000..efa17f5 Binary files /dev/null and b/2009-x64/GameProd/icons/Disconnect.bmp differ diff --git a/2009-x64/GameProd/icons/GIJoeicon.bmp b/2009-x64/GameProd/icons/GIJoeicon.bmp new file mode 100644 index 0000000..033e568 Binary files /dev/null and b/2009-x64/GameProd/icons/GIJoeicon.bmp differ diff --git a/2009-x64/GameProd/icons/GIicon.bmp b/2009-x64/GameProd/icons/GIicon.bmp new file mode 100644 index 0000000..bc7f77c Binary files /dev/null and b/2009-x64/GameProd/icons/GIicon.bmp differ diff --git a/2009-x64/GameProd/icons/LT.bmp b/2009-x64/GameProd/icons/LT.bmp new file mode 100644 index 0000000..4388f45 Binary files /dev/null and b/2009-x64/GameProd/icons/LT.bmp differ diff --git a/2009-x64/GameProd/icons/LTHelp.bmp b/2009-x64/GameProd/icons/LTHelp.bmp new file mode 100644 index 0000000..86d38cf Binary files /dev/null and b/2009-x64/GameProd/icons/LTHelp.bmp differ diff --git a/2009-x64/GameProd/icons/MJPolyToolsUI_shelf.bmp b/2009-x64/GameProd/icons/MJPolyToolsUI_shelf.bmp new file mode 100644 index 0000000..8629c7a Binary files /dev/null and b/2009-x64/GameProd/icons/MJPolyToolsUI_shelf.bmp differ diff --git a/2009-x64/GameProd/icons/NVEye.bmp b/2009-x64/GameProd/icons/NVEye.bmp new file mode 100644 index 0000000..e65a91f Binary files /dev/null and b/2009-x64/GameProd/icons/NVEye.bmp differ diff --git a/2009-x64/GameProd/icons/SkelMesh.bmp b/2009-x64/GameProd/icons/SkelMesh.bmp new file mode 100644 index 0000000..cebf376 Binary files /dev/null and b/2009-x64/GameProd/icons/SkelMesh.bmp differ diff --git a/2009-x64/GameProd/icons/StaticMesh.bmp b/2009-x64/GameProd/icons/StaticMesh.bmp new file mode 100644 index 0000000..5677f48 Binary files /dev/null and b/2009-x64/GameProd/icons/StaticMesh.bmp differ diff --git a/2009-x64/GameProd/icons/VimIcon.bmp b/2009-x64/GameProd/icons/VimIcon.bmp new file mode 100644 index 0000000..16db7c4 Binary files /dev/null and b/2009-x64/GameProd/icons/VimIcon.bmp differ diff --git a/2009-x64/GameProd/icons/chamferVseperate.bmp b/2009-x64/GameProd/icons/chamferVseperate.bmp new file mode 100644 index 0000000..9d2747f Binary files /dev/null and b/2009-x64/GameProd/icons/chamferVseperate.bmp differ diff --git a/2009-x64/GameProd/icons/chammferVtogether.bmp b/2009-x64/GameProd/icons/chammferVtogether.bmp new file mode 100644 index 0000000..21801a6 Binary files /dev/null and b/2009-x64/GameProd/icons/chammferVtogether.bmp differ diff --git a/2009-x64/GameProd/icons/extrudeVseperate.bmp b/2009-x64/GameProd/icons/extrudeVseperate.bmp new file mode 100644 index 0000000..1a17bfa Binary files /dev/null and b/2009-x64/GameProd/icons/extrudeVseperate.bmp differ diff --git a/2009-x64/GameProd/icons/extrudeVtogether.bmp b/2009-x64/GameProd/icons/extrudeVtogether.bmp new file mode 100644 index 0000000..6c6127a Binary files /dev/null and b/2009-x64/GameProd/icons/extrudeVtogether.bmp differ diff --git a/2009-x64/GameProd/icons/face352quad.bmp b/2009-x64/GameProd/icons/face352quad.bmp new file mode 100644 index 0000000..7fd5c9d Binary files /dev/null and b/2009-x64/GameProd/icons/face352quad.bmp differ diff --git a/2009-x64/GameProd/icons/forumButton.bmp b/2009-x64/GameProd/icons/forumButton.bmp new file mode 100644 index 0000000..bebe728 Binary files /dev/null and b/2009-x64/GameProd/icons/forumButton.bmp differ diff --git a/2009-x64/GameProd/icons/helpButton.bmp b/2009-x64/GameProd/icons/helpButton.bmp new file mode 100644 index 0000000..f68d523 Binary files /dev/null and b/2009-x64/GameProd/icons/helpButton.bmp differ diff --git a/2009-x64/GameProd/icons/linkButton.bmp b/2009-x64/GameProd/icons/linkButton.bmp new file mode 100644 index 0000000..5cfcba3 Binary files /dev/null and b/2009-x64/GameProd/icons/linkButton.bmp differ diff --git a/2009-x64/GameProd/icons/loopSplit.bmp b/2009-x64/GameProd/icons/loopSplit.bmp new file mode 100644 index 0000000..2b3f229 Binary files /dev/null and b/2009-x64/GameProd/icons/loopSplit.bmp differ diff --git a/2009-x64/GameProd/icons/multiLoopSplit.bmp b/2009-x64/GameProd/icons/multiLoopSplit.bmp new file mode 100644 index 0000000..6a3123e Binary files /dev/null and b/2009-x64/GameProd/icons/multiLoopSplit.bmp differ diff --git a/2009-x64/GameProd/icons/ringSelect.bmp b/2009-x64/GameProd/icons/ringSelect.bmp new file mode 100644 index 0000000..a0bd57c Binary files /dev/null and b/2009-x64/GameProd/icons/ringSelect.bmp differ diff --git a/2009-x64/GameProd/icons/selectOutline.bmp b/2009-x64/GameProd/icons/selectOutline.bmp new file mode 100644 index 0000000..dbc9c4b Binary files /dev/null and b/2009-x64/GameProd/icons/selectOutline.bmp differ diff --git a/2009-x64/GameProd/icons/skelimage.bmp b/2009-x64/GameProd/icons/skelimage.bmp new file mode 100644 index 0000000..c733456 Binary files /dev/null and b/2009-x64/GameProd/icons/skelimage.bmp differ diff --git a/2009-x64/GameProd/icons/slbutton.bmp b/2009-x64/GameProd/icons/slbutton.bmp new file mode 100644 index 0000000..ee115ad Binary files /dev/null and b/2009-x64/GameProd/icons/slbutton.bmp differ diff --git a/2009-x64/GameProd/icons/splitAroundVEF.bmp b/2009-x64/GameProd/icons/splitAroundVEF.bmp new file mode 100644 index 0000000..75dd56f Binary files /dev/null and b/2009-x64/GameProd/icons/splitAroundVEF.bmp differ diff --git a/2009-x64/GameProd/icons/statimage.bmp b/2009-x64/GameProd/icons/statimage.bmp new file mode 100644 index 0000000..adcf35b Binary files /dev/null and b/2009-x64/GameProd/icons/statimage.bmp differ diff --git a/2009-x64/GameProd/scripts/CRunrealSkelBuilder.mel b/2009-x64/GameProd/scripts/CRunrealSkelBuilder.mel new file mode 100644 index 0000000..c86d18d --- /dev/null +++ b/2009-x64/GameProd/scripts/CRunrealSkelBuilder.mel @@ -0,0 +1,829 @@ +/* CRunrealSkelBuilder.mel Cody Ritchie 2002 + +This script builds the 5 different skeletons used in Unreal 2k3. Source the +script, press a button to build the skel. Done. + +TODO: add actorX buttons +*/ + +source createPrefWndUI.mel; +setUpAxis "z"; +CRbuildSkelWindow; + +global proc CRbuildSkelWindow(){ + //main window + int $winHeight = 112; + int $winWidth = 110; + int $butWidth = 50; + string $windowName = "CRunrealSkelWindow"; + if (`window -q -ex $windowName`) deleteUI $windowName; + if (`windowPref -exists $windowName`){windowPref -e -h $winHeight $windowName; windowPref -e -w $winWidth $windowName;} + if (!`window -q -ex $windowName`) { + window -title "Skel" -in "Skel" -s 0 -mxb 0 -mnb 0 -te 150 -le 100 -wh $winWidth $winHeight $windowName; + rowColumnLayout -nc 2 -cw 1 $butWidth -cw 2 $butWidth ; + text -l "Build:"; + text -l""; + button -w $butWidth -l "MALE" -c "CRbuildSkel 0"; + button -w $butWidth -l "FEMALE" -c "CRbuildSkel 1"; + button -w $butWidth -l "ALIEN" -c "CRbuildSkel 2"; + button -w $butWidth -l "JUGG" -c "CRbuildSkel 3"; + button -w $butWidth -l "BOT" -c "CRbuildSkel 4"; + button -w $butWidth -l "Close" -c ("deleteUI " +$windowName); + }//ifwindExists + showWindow $windowName; +}//end window proc + + +global proc CRbuildSkel(int $skelNum){ + + if (`objExists Bip01`) error ("Can only create a single skeleton per scene.\n"); + switch ($skelNum){ + case 0: + //male skeleton + select -cl; + joint -p -0.04995095357 2.729829073 128.0474548 -n Bip01; + setAttr Bip01.r 0 5.005000046 -89.99991782; + group -em -n Male; + select -cl; + joint -p -0.1303012222 1.117433683e-007 1.487854481 -n Bip01_Pelvis; + setAttr Bip01_Pelvis.r -89.9999172 -90 0; + select -cl; + joint -p 12.66381168 -0.01625187695 1.824671381e-005 -n Bip01_Spine; + setAttr Bip01_Spine.r -0.0002384759524 -8.127289771e-005 0.04562508459; + select -cl; + joint -p 20.41410446 -0.01573992334 3.543460139e-007 -n Bip01_Spine1; + setAttr Bip01_Spine1.r -5.019813836e-006 3.787714097e-005 -14.49999957; + select -cl; + joint -p 20.415205 -0.01598647237 -3.25454323e-007 -n Bip01_Spine2; + setAttr Bip01_Spine2.r -2.682735572e-006 3.077497123e-005 -10.49999844; + select -cl; + joint -p 20.42148018 -0.006452747155 3.399496507e-007 -n Bip01_Neck; + setAttr Bip01_Neck.r -1.833636805e-005 -7.740658957e-005 27.3192941; + select -cl; + joint -p 9.113844872 5.69675592e-007 -5.693462981e-007 -n Bip01_Head; + setAttr Bip01_Head.r -5.426871251e-007 -1.383830949e-005 6.447800716; + select -cl; + joint -p 22.85765457 6.5740727e-007 1.886779444e-007 -n Dummy13; + setAttr Dummy13.r 1.604538394e-012 8.385831177e-013 -1.345212104e-008; + select -cl; + joint -p 7.86914552e-006 0.007271649782 -5.691968918 -n Bip01_R_Clavicle; + setAttr Bip01_R_Clavicle.r 27.90381857 77.08095417 179.9357603; + select -cl; + joint -p 18.9898777 -1.577361218e-006 2.854081231e-006 -n Bip01_R_UpperArm; + setAttr Bip01_R_UpperArm.r -29.16831195 -19.50953181 14.41337677; + select -cl; + joint -p 38.29537582 -8.283948887e-007 4.940248346e-006 -n Bip01_R_Forearm; + setAttr Bip01_R_Forearm.r 2.319296146e-007 -4.870621807e-006 -11.4591591; + select -cl; + joint -p 33.18931961 -2.43380839e-007 -1.200224324e-005 -n Bip01_R_Hand; + setAttr Bip01_R_Hand.r 89.53890799 -6.302839184 2.20876093; + select -cl; + joint -p 12.77285862 -4.839010217e-006 -1.165828735e-006 -n Bip01_R_Finger0; + setAttr Bip01_R_Finger0.r 0.04385640972 -0.01257232197 15.99998945; + select -cl; + joint -p 15.8886528 -5.584573955e-006 -4.763131187e-007 -n Dummy01; + setAttr Dummy01.r -2.77541784e-008 -3.504141567e-006 -179.9999982; + select -cl; + joint -p 11.21061039 0.1254657209 7.657693863 -n Bone_weapon; + setAttr Bone_weapon.r -88.9092987 -4.772665825 90.41966818; + select -cl; + joint -p 8.386870832e-006 0.007239905652 5.691968918 -n Bip01_L_Clavicle; + setAttr Bip01_L_Clavicle.r -27.90523766 -77.08095707 179.9371447; + select -cl; + joint -p 18.9898777 -2.41070552e-006 2.856253332e-006 -n Bip01_L_UpperArm; + setAttr Bip01_L_UpperArm.r 29.16831098 19.50952699 14.41338201; + select -cl; + joint -p 38.29537201 9.513390751e-007 1.610615641e-007 -n Bip01_L_Forearm; + setAttr Bip01_L_Forearm.r -5.812195317e-007 6.443686308e-006 -11.45915962; + select -cl; + joint -p 33.18931198 -1.856099516e-006 -6.607669548e-006 -n Bip01_L_Hand; + setAttr Bip01_L_Hand.r -89.53891 6.302839276 2.208762382; + select -cl; + joint -p 12.77285862 -3.76435014e-006 -2.483471349e-007 -n Bip01_L_Finger0; + setAttr Bip01_L_Finger0.r -0.04385379669 0.01257344035 15.99999696; + select -cl; + joint -p 15.88865662 5.194822734e-006 4.928778594e-007 -n Dummy06; + setAttr Dummy06.r -1.871868131e-007 4.04811331e-008 2.797934259e-006; + select -cl; + joint -p -1.662693649e-005 2.304093141e-005 12.3321228 -n Bip01_L_Thigh; + setAttr Bip01_L_Thigh.r -179.7364573 -4.960789122 175.7711106; + select -cl; + joint -p 60.3935051 -5.156135217e-007 8.902636068e-007 -n Bip01_L_Calf; + setAttr Bip01_L_Calf.r 3.176068761e-007 5.31524955e-007 -8.243725201; + select -cl; + joint -p 50.98649597 -6.557056622e-007 2.16303647e-006 -n Bip01_L_Foot; + setAttr Bip01_L_Foot.r -0.3231177495 -4.957358952 8.945144077; + select -cl; + joint -p 19.0838604 14.19417095 1.013837618e-007 -n Bip01_L_Toe0; + setAttr Bip01_L_Toe0.r -3.340432056e-006 -4.363375933e-008 90.00000155; + select -cl; + joint -p 13.69311333 -3.746245341e-007 -4.579541724e-007 -n Dummy12; + setAttr Dummy12.r -1.707547496e-006 7.458120839e-008 -180; + select -cl; + joint -p 1.879752926e-005 -1.127249288e-005 -12.3321228 -n Bip01_R_Thigh; + setAttr Bip01_R_Thigh.r 179.7365945 4.960964619 175.7711222; + select -cl; + joint -p 60.3935051 -2.894179545e-007 -1.378155389e-006 -n Bip01_R_Calf; + setAttr Bip01_R_Calf.r -3.409415821e-007 2.545548741e-006 -8.243725201; + select -cl; + joint -p 50.98649216 1.411141994e-007 8.782965892e-007 -n Bip01_R_Foot; + setAttr Bip01_R_Foot.r 0.3231271888 4.957353971 8.94514439; + select -cl; + joint -p 19.0838604 14.19417095 1.014844173e-007 -n Bip01_R_Toe0; + setAttr Bip01_R_Toe0.r 1.782211246e-006 8.15357431e-007 90.00000155; + select -cl; + joint -p 13.69311237 -1.188235046e-006 -2.231439709e-007 -n Dummy11; + setAttr Dummy11.r 5.167760136e-014 -5.672336796e-012 7.015421023e-010; + //parenting info + parent -r Bip01_Pelvis Bip01; + parent -r Bip01_Spine Bip01_Pelvis; + parent -r Bip01_Spine1 Bip01_Spine; + parent -r Bip01_Spine2 Bip01_Spine1; + parent -r Bip01_Neck Bip01_Spine2; + parent -r Bip01_Head Bip01_Neck; + parent -r Dummy13 Bip01_Head; + parent -r Bip01_R_Clavicle Bip01_Neck; + parent -r Bip01_R_UpperArm Bip01_R_Clavicle; + parent -r Bip01_R_Forearm Bip01_R_UpperArm; + parent -r Bip01_R_Hand Bip01_R_Forearm; + parent -r Bip01_R_Finger0 Bip01_R_Hand; + parent -r Dummy01 Bip01_R_Finger0; + parent -r Bone_weapon Bip01_R_Hand; + parent -r Bip01_L_Clavicle Bip01_Neck; + parent -r Bip01_L_UpperArm Bip01_L_Clavicle; + parent -r Bip01_L_Forearm Bip01_L_UpperArm; + parent -r Bip01_L_Hand Bip01_L_Forearm; + parent -r Bip01_L_Finger0 Bip01_L_Hand; + parent -r Dummy06 Bip01_L_Finger0; + parent -r Bip01_L_Thigh Bip01_Pelvis; + parent -r Bip01_L_Calf Bip01_L_Thigh; + parent -r Bip01_L_Foot Bip01_L_Calf; + parent -r Bip01_L_Toe0 Bip01_L_Foot; + parent -r Dummy12 Bip01_L_Toe0; + parent -r Bip01_R_Thigh Bip01_Pelvis; + parent -r Bip01_R_Calf Bip01_R_Thigh; + parent -r Bip01_R_Foot Bip01_R_Calf; + parent -r Bip01_R_Toe0 Bip01_R_Foot; + parent -r Dummy11 Bip01_R_Toe0; + parent -r Bip01 Male; + break; + case 1: + //female skeleton + group -em -n Female; + select -cl; + joint -p -0.0648880899 0.2386413813 128.0029755 -n Bip01; + setAttr Bip01.r 0 5.405399532 -89.99991297; + select -cl; + joint -p 1.63666153 -5.074895398e-006 2.143412113 -n Bip01_Pelvis; + setAttr Bip01_Pelvis.r -89.99992355 -90 0; + select -cl; + joint -p 12.91619682 -0.01141976193 1.749942203e-005 -n Bip01_Spine; + setAttr Bip01_Spine.r -0.000242740484 -7.465941914e-005 3.045626283; + select -cl; + joint -p 14.36687469 -0.01116893627 -3.943050046e-007 -n Bip01_Spine1; + setAttr Bip01_Spine1.r -3.715256094e-006 3.690653771e-005 -12.50000124; + select -cl; + joint -p 14.36546898 -0.01074879337 2.207190164e-007 -n Bip01_Spine2; + setAttr Bip01_Spine2.r -7.455844419e-006 5.134664446e-005 -19.99999789; + select -cl; + joint -p 14.37220573 -0.005626416765 -5.278089361e-007 -n Bip01_Neck; + setAttr Bip01_Neck.r -1.773462092e-005 -6.805734203e-005 26.78939953; + select -cl; + joint -p 7.913957596 5.416292197e-007 1.286408207e-007 -n Bip01_Head; + setAttr Bip01_Head.r -2.745390167e-006 -3.097438952e-005 10.60249465; + select -cl; + joint -p 22.93901825 4.671856573e-007 -3.134258293e-007 -n Dummy21; + setAttr Dummy21.r 2.076512403e-012 3.166086338e-008 -8.733501893e-007; + select -cl; + joint -p 18.87197495 -12.45067024 0.05935555696 -n Bip01_Ponytail1; + setAttr Bip01_Ponytail1.r -0.003220234085 0.05295462498 -90.06755803; + select -cl; + joint -p 9.571726799 -0.003462204244 -1.356174266e-007 -n Bip01_Ponytail11; + setAttr Bip01_Ponytail11.r -9.468552254e-005 0.000142725269 -66.22472256; + select -cl; + joint -p 10.77296638 -0.007561047096 -2.434620683e-007 -n Bip01_Ponytail12; + setAttr Bip01_Ponytail12.r -2.094248058e-005 7.348405316e-005 -28.32310808; + select -cl; + joint -p 10.77702904 1.372897714e-006 -4.078869722e-007 -n Dummy12; + setAttr Dummy12.r 179.9999979 -0.0001558600302 89.9543748; + select -cl; + joint -p -4.092900781e-006 0.006285399199 6.009548187 -n Bip01_L_Clavicle; + setAttr Bip01_L_Clavicle.r -32.47825313 -76.48847512 -175.0808668; + select -cl; + joint -p 12.10691833 3.464118663e-006 5.752243851e-006 -n Bip01_L_UpperArm; + setAttr Bip01_L_UpperArm.r 33.52023815 17.39365948 6.623639119; + select -cl; + joint -p 33.8103447 -1.757994141e-007 7.187153187e-006 -n Bip01_L_Forearm; + setAttr Bip01_L_Forearm.r 4.898424076e-007 -6.542809702e-006 -10.65836235; + select -cl; + joint -p 31.17009354 -1.287266542e-007 -4.346300557e-006 -n Bip01_L_Hand; + setAttr Bip01_L_Hand.r -99.97754908 12.72204795 1.815595201; + select -cl; + joint -p 8.711309433 -2.778334874e-006 7.514745448e-008 -n Bip01_L_Finger0; + setAttr Bip01_L_Finger0.r -0.04562416288 -1.789313501e-006 -4.547052469e-006; + select -cl; + joint -p 5.064937115 2.100672418e-006 1.637484672e-007 -n Dummy02; + setAttr Dummy02.r -2.977617583e-006 3.410944495e-006 1.319653561e-006; + select -cl; + joint -p 13.15054989 -0.7981255651 3.549330473 -n Bone_L_shoulder; + setAttr Bone_L_shoulder.r 21.39213518 -11.36736719 -7.352248189; + select -cl; + joint -p 17.04741669 -0.007763973437 0.3089444041 -n Dummy13; + setAttr Dummy13.r 0 0 0; + select -cl; + joint -p -3.81004179e-006 0.006318715401 -6.009548187 -n Bip01_R_Clavicle; + setAttr Bip01_R_Clavicle.r 32.47690441 76.488509 -175.082181; + select -cl; + joint -p 12.10691738 2.668135039e-006 -4.988321052e-006 -n Bip01_R_UpperArm; + setAttr Bip01_R_UpperArm.r -33.52024168 -17.39366963 6.623635406; + select -cl; + joint -p 33.81034088 -9.275319712e-008 2.35047014e-006 -n Bip01_R_Forearm; + setAttr Bip01_R_Forearm.r 1.353391964e-007 7.700738879e-006 -10.6583592; + select -cl; + joint -p 31.17009926 -1.738726041e-006 -1.705342584e-006 -n Bip01_R_Hand; + setAttr Bip01_R_Hand.r 99.97754938 -12.72204731 1.815590277; + select -cl; + joint -p 8.711307526 5.718618468e-006 -1.008496611e-007 -n Bip01_R_Finger0; + setAttr Bip01_R_Finger0.r 0.04562519675 2.52458996e-007 -1.958882255e-007; + select -cl; + joint -p 5.064940453 9.34338857e-007 -7.604149914e-007 -n Dummy01; + setAttr Dummy01.r -2.190627647e-006 -1.563379313e-006 179.9999989; + select -cl; + joint -p 9.23774147 1.394393206 5.289682865 -n Bone_weapon; + setAttr Bone_weapon.r -83.21921861 1.219199216 88.34173461; + select -cl; + joint -p 12.91643238 -0.7678086758 -3.501214504 -n Bone_R_shoulder; + setAttr Bone_R_shoulder.r -158.6079047 -11.36744634 172.6478839; + select -cl; + joint -p -16.97827911 -0.007763973437 0.3089444041 -n Dummy22; + setAttr Dummy22.r 0 0 0; + select -cl; + joint -p -1.261353282e-005 2.146267434e-005 11.47756004 -n Bip01_L_Thigh; + setAttr Bip01_L_Thigh.r -179.2093909 -5.22690763 175.4106446; + select -cl; + joint -p 55.40811157 1.156605407e-007 2.572347285e-006 -n Bip01_L_Calf; + setAttr Bip01_L_Calf.r 5.260814898e-007 -5.562378307e-006 -8.355576102; + select -cl; + joint -p 57.87014389 -8.512957947e-007 -4.089942195e-006 -n Bip01_L_Foot; + setAttr Bip01_L_Foot.r -0.8683919149 -5.21464962 9.24725952; + select -cl; + joint -p 17.33535385 16.6876297 -1.183271934e-006 -n Bip01_L_Toe0; + setAttr Bip01_L_Toe0.r 1.281735874e-012 -2.292875203e-006 89.99999825; + select -cl; + joint -p 13.74750614 4.172325134e-007 -9.219311323e-007 -n Dummy16; + setAttr Dummy16.r 0 0 180; + select -cl; + joint -p 1.850934314e-005 -1.018001876e-005 -11.477561 -n Bip01_R_Thigh; + setAttr Bip01_R_Thigh.r 179.2095274 5.227073485 175.4106567; + select -cl; + joint -p 55.40811157 -1.233580633e-007 -2.743128107e-006 -n Bip01_R_Calf; + setAttr Bip01_R_Calf.r -3.3485401e-007 -4.854221033e-007 -8.355576946; + select -cl; + joint -p 57.87014771 8.265524798e-007 -2.722105592e-006 -n Bip01_R_Foot; + setAttr Bip01_R_Foot.r 0.8684024166 5.214653965 9.247260662; + select -cl; + joint -p 17.33535194 16.6876297 -1.183172344e-006 -n Bip01_R_Toe0; + setAttr Bip01_R_Toe0.r 1.281735874e-012 -2.292875203e-006 89.99999825; + select -cl; + joint -p 13.74750519 -4.172325134e-007 -9.218356354e-007 -n Dummy11; + setAttr Dummy11.r 0 0 0; + //parenting info + parent -r Bip01_Pelvis Bip01; + parent -r Bip01_Spine Bip01_Pelvis; + parent -r Bip01_Spine1 Bip01_Spine; + parent -r Bip01_Spine2 Bip01_Spine1; + parent -r Bip01_Neck Bip01_Spine2; + parent -r Bip01_Head Bip01_Neck; + parent -r Dummy21 Bip01_Head; + parent -r Bip01_Ponytail1 Bip01_Head; + parent -r Bip01_Ponytail11 Bip01_Ponytail1; + parent -r Bip01_Ponytail12 Bip01_Ponytail11; + parent -r Dummy12 Bip01_Ponytail12; + parent -r Bip01_L_Clavicle Bip01_Neck; + parent -r Bip01_L_UpperArm Bip01_L_Clavicle; + parent -r Bip01_L_Forearm Bip01_L_UpperArm; + parent -r Bip01_L_Hand Bip01_L_Forearm; + parent -r Bip01_L_Finger0 Bip01_L_Hand; + parent -r Dummy02 Bip01_L_Finger0; + parent -r Bone_L_shoulder Bip01_L_Clavicle; + parent -r Dummy13 Bone_L_shoulder; + parent -r Bip01_R_Clavicle Bip01_Neck; + parent -r Bip01_R_UpperArm Bip01_R_Clavicle; + parent -r Bip01_R_Forearm Bip01_R_UpperArm; + parent -r Bip01_R_Hand Bip01_R_Forearm; + parent -r Bip01_R_Finger0 Bip01_R_Hand; + parent -r Dummy01 Bip01_R_Finger0; + parent -r Bone_weapon Bip01_R_Hand; + parent -r Bone_R_shoulder Bip01_R_Clavicle; + parent -r Dummy22 Bone_R_shoulder; + parent -r Bip01_L_Thigh Bip01_Pelvis; + parent -r Bip01_L_Calf Bip01_L_Thigh; + parent -r Bip01_L_Foot Bip01_L_Calf; + parent -r Bip01_L_Toe0 Bip01_L_Foot; + parent -r Dummy16 Bip01_L_Toe0; + parent -r Bip01_R_Thigh Bip01_Pelvis; + parent -r Bip01_R_Calf Bip01_R_Thigh; + parent -r Bip01_R_Foot Bip01_R_Calf; + parent -r Bip01_R_Toe0 Bip01_R_Foot; + parent -r Dummy11 Bip01_R_Toe0; + parent -r Bip01 Female; + break; + case 2: + //alien skeleton + group -em -n Alien; + select -cl; + joint -p 0.1279205084 -0.1529240608 133.6658173 -n Bip01; + setAttr Bip01.r 0 10.71070103 -89.99992241; + select -cl; + joint -p -1.164768577 -6.766213482e-005 -0.2202700227 -n Bip01_Pelvis; + setAttr Bip01_Pelvis.r -89.99991757 -90 0; + select -cl; + joint -p 14.58232307 -0.01258155331 1.990280907e-005 -n Bip01_Spine; + setAttr Bip01_Spine.r -0.0002250593833 -9.033992047e-005 -8.954369583; + select -cl; + joint -p 16.00129128 -0.01185595244 -2.741781202e-007 -n Bip01_Spine1; + setAttr Bip01_Spine1.r -1.161267134e-005 5.687264913e-005 -21.50000019; + select -cl; + joint -p 16.00398445 -0.01258385275 -6.415836538e-007 -n Bip01_Spine2; + setAttr Bip01_Spine2.r -2.244172574e-006 2.558482693e-005 -8.999993923; + select -cl; + joint -p 16.00959969 -0.007996326312 -4.201344552e-007 -n Bip01_Neck; + setAttr Bip01_Neck.r -1.345031021e-005 -6.354966187e-005 24.42439713; + select -cl; + joint -p 11.01882553 -1.090091644e-007 1.717190088e-007 -n Bip01_Head; + setAttr Bip01_Head.r -1.31547527e-005 -6.275394936e-005 23.73508465; + select -cl; + joint -p 31.01210594 -4.567404517e-007 1.116132921e-006 -n Dummy05; + setAttr Dummy05.r 1.662378131e-012 -1.837075106e-013 -4.752257074e-007; + select -cl; + joint -p 20.47010994 -9.891105652 -1.220415379e-005 -n Bip01_Ponytail1; + setAttr Bip01_Ponytail1.r -0.0002133915745 0.0001485276629 -111.019231; + select -cl; + joint -p 18.28774643 -0.006816411391 -1.066357669e-008 -n Bip01_Ponytail11; + setAttr Bip01_Ponytail11.r -9.574016519e-005 0.0001450443108 -66.56493785; + select -cl; + joint -p 21.5318737 -0.02536102571 -2.285946294e-007 -n Bip01_Ponytail12; + setAttr Bip01_Ponytail12.r -1.407322177e-005 6.840283542e-005 -24.06492166; + select -cl; + joint -p 34.89215851 -2.138408945e-006 1.985113386e-006 -n Dummy13; + setAttr Dummy13.r 179.9999981 -0.0001570806727 89.95438135; + select -cl; + joint -p 19.30231857 -5.408716202 -9.535084724 -n Bone_Rtentacle1; + setAttr Bone_Rtentacle1.r 85.73327277 -79.17179426 -119.4565847; + select -cl; + joint -p 0.05211329833 -21.785326 -0.04257556796 -n Bone_Rtentacle2; + setAttr Bone_Rtentacle2.r -58.47930103 3.000806686 0.03199849244; + select -cl; + joint -p 0.1834604889 -18.11567116 -0.703588903 -n Bone_Rtentacle3; + setAttr Bone_Rtentacle3.r -27.97873442 3.987563902 -1.751507564; + select -cl; + joint -p -2.001657248 -37.98904037 -0.2042278498 -n Dummy18; + setAttr Dummy18.r -13.75254577 -104.945317 13.96245114; + select -cl; + joint -p 19.3023262 -5.408742905 8.572934151 -n Bone_Ltentacle1; + setAttr Bone_Ltentacle1.r -111.7087491 -76.04190111 78.38841551; + select -cl; + joint -p 0.052110333 -21.78532028 -0.04260566831 -n Bone_Ltentacle2; + setAttr Bone_Ltentacle2.r -58.47930103 3.000808394 0.03199785211; + select -cl; + joint -p 0.1835735589 -18.16787529 -0.68941468 -n Bone_Ltentacle3; + setAttr Bone_Ltentacle3.r -27.97873271 3.987561341 -1.751507671; + select -cl; + joint -p 0.1975202113 -37.99911118 0.1499788165 -n Dummy07; + setAttr Dummy07.r 20.19858888 -79.87917163 -20.73923591; + select -cl; + joint -p 7.074067071e-006 0.008750212379 8.997787476 -n Bip01_L_Clavicle; + setAttr Bip01_L_Clavicle.r -73.76770394 -73.92746054 -131.325854; + select -cl; + joint -p 18.67382813 -1.279944627e-006 1.35747382e-006 -n Bip01_L_UpperArm; + setAttr Bip01_L_UpperArm.r 32.96475411 20.03295541 -6.174577364; + select -cl; + joint -p 42.74311447 3.307534371e-007 -2.84894486e-006 -n Bip01_L_Forearm; + setAttr Bip01_L_Forearm.r 1.108147902e-006 -1.359257122e-008 -39.38702614; + select -cl; + joint -p 42.99536896 -3.580649263e-006 7.485001788e-006 -n Bip01_L_Hand; + setAttr Bip01_L_Hand.r -76.60038537 -7.454887438 -7.503557506; + select -cl; + joint -p 14.59806061 5.598872121e-006 3.457282219e-006 -n Bip01_L_Finger0; + setAttr Bip01_L_Finger0.r -0.04562432087 1.264315472e-006 -1.525072408e-006; + select -cl; + joint -p 24.69991112 -2.703127393e-006 -8.275325172e-007 -n Dummy02; + setAttr Dummy02.r 1.536629108e-007 1.568979117e-006 6.705144001e-008; + select -cl; + joint -p 6.701640359e-006 0.008799455129 -8.997787476 -n Bip01_R_Clavicle; + setAttr Bip01_R_Clavicle.r 73.76695282 73.92769683 -131.3265879; + select -cl; + joint -p 18.67382813 -4.517927209e-006 8.107389817e-007 -n Bip01_R_UpperArm; + setAttr Bip01_R_UpperArm.r -32.96475518 -20.03296161 -6.174583689; + select -cl; + joint -p 42.74310684 -1.978651198e-006 6.575159659e-006 -n Bip01_R_Forearm; + setAttr Bip01_R_Forearm.r -2.627123216e-006 4.066871123e-008 -39.3870235; + select -cl; + joint -p 42.99536896 -1.589280032e-006 -1.299959968e-005 -n Bip01_R_Hand; + setAttr Bip01_R_Hand.r 77.89330177 -11.41660907 -2.761576175; + select -cl; + joint -p 14.59805679 9.075614571e-007 2.070704568e-006 -n Bip01_R_Finger0; + setAttr Bip01_R_Finger0.r 0.0456167524 9.337953843e-007 3.453549476e-006; + select -cl; + joint -p 24.69991112 -1.479466664e-005 3.315147751e-006 -n Dummy01; + setAttr Dummy01.r -5.239851766e-006 1.865551753e-006 -179.9999973; + select -cl; + joint -p 9.805373192 3.583120346 8.627514839 -n Bone_weapon; + setAttr Bone_weapon.r -8.112310217 -1.177294619 87.48247751; + select -cl; + joint -p -1.704921306e-005 2.162384226e-005 11.67843914 -n Bip01_L_Thigh; + setAttr Bip01_L_Thigh.r -174.0841555 -13.24327752 148.5565397; + select -cl; + joint -p 78.94628143 4.090073162e-006 -1.715919097e-006 -n Bip01_L_Calf; + setAttr Bip01_L_Calf.r -3.243185882e-006 6.378703059e-007 -108.3205191; + select -cl; + joint -p 53.25371552 3.428218179e-006 3.692281553e-006 -n Bip01_L_HorseLink; + setAttr Bip01_L_HorseLink.r -5.108942865e-006 -6.220804566e-006 118.5989602; + select -cl; + joint -p 45.54591751 -2.707251042e-006 -4.348478626e-007 -n Bip01_L_Foot; + setAttr Bip01_L_Foot.r -3.381375938 -14.45690681 -30.41257255; + select -cl; + joint -p 23.60493279 19.81247139 -1.71939962e-006 -n Bip01_L_Toe0; + setAttr Bip01_L_Toe0.r -4.077045671e-006 -1.363590939e-008 90.0000031; + select -cl; + joint -p 21.10844803 -1.314466317e-006 -2.563468342e-006 -n Dummy04; + setAttr Dummy04.r -1.679738965e-006 1.214719581e-006 -180; + select -cl; + joint -p 1.466337471e-005 -1.050911942e-005 -11.67843914 -n Bip01_R_Thigh; + setAttr Bip01_R_Thigh.r 174.0842021 13.24348866 148.5565447; + select -cl; + joint -p 78.94628143 2.096883691e-006 -1.945096528e-006 -n Bip01_R_Calf; + setAttr Bip01_R_Calf.r -7.343670841e-007 -6.87623652e-007 -108.3205175; + select -cl; + joint -p 53.25370407 2.167878847e-006 -8.326390599e-008 -n Bip01_R_HorseLink; + setAttr Bip01_R_HorseLink.r -1.330023051e-006 -2.431136678e-006 118.5989557; + select -cl; + joint -p 45.5459137 7.141684932e-007 9.286285945e-007 -n Bip01_R_Foot; + setAttr Bip01_R_Foot.r 3.381386169 14.45691355 -30.41257281; + select -cl; + joint -p 23.60493469 19.81246948 -2.773192591e-007 -n Bip01_R_Toe0; + setAttr Bip01_R_Toe0.r 7.374774022e-007 -4.120385427e-007 89.99999796; + select -cl; + joint -p 21.10844612 -6.36900495e-007 2.070583918e-007 -n Dummy03; + setAttr Dummy03.r -3.108330248e-010 -5.226455704e-008 4.32955948e-009; + select -cl; + joint -p -1.109396338 -14.49518967 1.853811773e-005 -n Bip01_Tail; + setAttr Bip01_Tail.r -4.894445669e-005 -1.614823889e-005 -127.0193075; + select -cl; + joint -p 49.27120209 -0.02455631644 -6.891047732e-009 -n Bip01_Tail1; + setAttr Bip01_Tail1.r -9.037662013e-006 5.208127134e-005 -19.56492929; + select -cl; + joint -p 32.7359314 -0.03357509524 -7.009540468e-007 -n Bip01_Tail2; + setAttr Bip01_Tail2.r -4.954319249e-006 4.065448782e-005 -14.06492025; + select -cl; + joint -p 43.47208023 3.963441486e-006 7.374096072e-007 -n Dummy06; + setAttr Dummy06.r 179.9999959 -0.0001554534925 89.9543745; + //parenting info + parent -r Bip01_Pelvis Bip01; + parent -r Bip01_Spine Bip01_Pelvis; + parent -r Bip01_Spine1 Bip01_Spine; + parent -r Bip01_Spine2 Bip01_Spine1; + parent -r Bip01_Neck Bip01_Spine2; + parent -r Bip01_Head Bip01_Neck; + parent -r Dummy05 Bip01_Head; + parent -r Bip01_Ponytail1 Bip01_Head; + parent -r Bip01_Ponytail11 Bip01_Ponytail1; + parent -r Bip01_Ponytail12 Bip01_Ponytail11; + parent -r Dummy13 Bip01_Ponytail12; + parent -r Bone_Rtentacle1 Bip01_Head; + parent -r Bone_Rtentacle2 Bone_Rtentacle1; + parent -r Bone_Rtentacle3 Bone_Rtentacle2; + parent -r Dummy18 Bone_Rtentacle3; + parent -r Bone_Ltentacle1 Bip01_Head; + parent -r Bone_Ltentacle2 Bone_Ltentacle1; + parent -r Bone_Ltentacle3 Bone_Ltentacle2; + parent -r Dummy07 Bone_Ltentacle3; + parent -r Bip01_L_Clavicle Bip01_Neck; + parent -r Bip01_L_UpperArm Bip01_L_Clavicle; + parent -r Bip01_L_Forearm Bip01_L_UpperArm; + parent -r Bip01_L_Hand Bip01_L_Forearm; + parent -r Bip01_L_Finger0 Bip01_L_Hand; + parent -r Dummy02 Bip01_L_Finger0; + parent -r Bip01_R_Clavicle Bip01_Neck; + parent -r Bip01_R_UpperArm Bip01_R_Clavicle; + parent -r Bip01_R_Forearm Bip01_R_UpperArm; + parent -r Bip01_R_Hand Bip01_R_Forearm; + parent -r Bip01_R_Finger0 Bip01_R_Hand; + parent -r Dummy01 Bip01_R_Finger0; + parent -r Bone_weapon Bip01_R_Hand; + parent -r Bip01_L_Thigh Bip01_Pelvis; + parent -r Bip01_L_Calf Bip01_L_Thigh; + parent -r Bip01_L_HorseLink Bip01_L_Calf; + parent -r Bip01_L_Foot Bip01_L_HorseLink; + parent -r Bip01_L_Toe0 Bip01_L_Foot; + parent -r Dummy04 Bip01_L_Toe0; + parent -r Bip01_R_Thigh Bip01_Pelvis; + parent -r Bip01_R_Calf Bip01_R_Thigh; + parent -r Bip01_R_HorseLink Bip01_R_Calf; + parent -r Bip01_R_Foot Bip01_R_HorseLink; + parent -r Bip01_R_Toe0 Bip01_R_Foot; + parent -r Dummy03 Bip01_R_Toe0; + parent -r Bip01_Tail Bip01_Pelvis; + parent -r Bip01_Tail1 Bip01_Tail; + parent -r Bip01_Tail2 Bip01_Tail1; + parent -r Dummy06 Bip01_Tail2; + parent -r Bip01 Alien; + break; + case 3: + //jugg skeleton + group -em -n Jugg; + select -cl; + joint -p -2.620367923e-006 1.182638168 130.9293671 -n Bip01; + setAttr Bip01.r 7.380784809e-006 10.50497817 -89.99991681; + select -cl; + joint -p -0.2722210586 3.823070529e-006 1.468045354 -n Bip01_Pelvis; + setAttr Bip01_Pelvis.r -89.99992234 -90 0; + select -cl; + joint -p 17.25888443 -0.0118469093 2.410045818e-005 -n Bip01_Spine; + setAttr Bip01_Spine.r -0.0002236991404 -9.383972352e-005 -9.954379583; + select -cl; + joint -p 15.1137085 -0.01167420391 -3.727811873e-007 -n Bip01_Spine1; + setAttr Bip01_Spine1.r -6.765845498e-007 1.313303158e-005 -5.000042129; + select -cl; + joint -p 14.7135458 -0.01953411847 -5.680614095e-007 -n Bip01_Spine2; + setAttr Bip01_Spine2.r -2.666996443e-006 3.109686601e-005 -10.00000389; + select -cl; + joint -p 24.91436195 -0.004883015528 6.56737484e-007 -n Bip01_Neck; + setAttr Bip01_Neck.r -2.930462912e-005 -9.060423843e-005 34.31924714; + select -cl; + joint -p 7.425927162 -2.252000513e-006 2.309229075e-008 -n Bip01_Head; + setAttr Bip01_Head.r -1.277514689e-007 1.291909108e-005 -4.552127812; + select -cl; + joint -p 28.55836296 -1.157079396e-006 2.160837766e-007 -n Dummy05; + setAttr Dummy05.r 5.497106171e-012 -7.343482225e-013 -1.912294991e-011; + select -cl; + joint -p 20.24321938 -10.11159325 -2.900728214e-005 -n Bip01_Ponytail1; + setAttr Bip01_Ponytail1.r 0.000621996672 0.001203456212 -57.01798123; + select -cl; + joint -p 6.796517372 -0.002683313331 1.607931353e-007 -n Bip01_Ponytail11; + setAttr Bip01_Ponytail11.r -3.777127013e-005 0.0001022806358 -41.0649328; + select -cl; + joint -p 4.467512608 -0.002585998271 -7.18201747e-008 -n Bip01_Ponytail12; + setAttr Bip01_Ponytail12.r -5.72629752e-005 0.0001241820703 -50.06494227; + select -cl; + joint -p 5.058409691 -0.008934774436 1.771478395e-007 -n Bip01_Ponytail13; + setAttr Bip01_Ponytail13.r -6.114629372e-005 0.0001271743284 -52.56492712; + select -cl; + joint -p 18.46276855 -8.04456235e-008 9.424617247e-007 -n Dummy06; + setAttr Dummy06.r 179.9999973 -0.0001627165703 89.95437981; + select -cl; + joint -p -3.889043001e-006 0.005881258287 11.0933733 -n Bip01_L_Clavicle; + setAttr Bip01_L_Clavicle.r -43.4141087 -67.86796141 -173.1333282; + select -cl; + joint -p 20.09139633 2.722235422e-006 5.335920832e-006 -n Bip01_L_UpperArm; + setAttr Bip01_L_UpperArm.r 25.07066047 13.53751641 4.952131579; + select -cl; + joint -p 41.88552475 -8.926451756e-008 -2.762248414e-006 -n Bip01_L_Forearm; + setAttr Bip01_L_Forearm.r -8.373040739e-007 2.636525531e-006 -13.95918753; + select -cl; + joint -p 32.80368042 3.509564976e-007 5.383921234e-006 -n Bip01_L_Hand; + setAttr Bip01_L_Hand.r -90.10673013 10.8097523 -0.8122040443; + select -cl; + joint -p 20.92655945 0.008028388023 0.1156769469 -n Dummy02; + setAttr Dummy02.r -0.2079599734 -0.2622476368 179.5730449; + select -cl; + joint -p -2.374992164e-006 0.005941986572 -11.0933733 -n Bip01_R_Clavicle; + setAttr Bip01_R_Clavicle.r 43.41326598 67.86799158 -173.134106; + select -cl; + joint -p 20.09139633 3.980585461e-007 -1.121189143e-006 -n Bip01_R_UpperArm; + setAttr Bip01_R_UpperArm.r -25.07066684 -13.53752406 4.952123401; + select -cl; + joint -p 41.88553238 9.127982139e-007 -4.912937129e-006 -n Bip01_R_Forearm; + setAttr Bip01_R_Forearm.r 5.062690396e-007 -6.269350501e-007 -13.9591867; + select -cl; + joint -p 32.80366898 -3.689712571e-007 -5.949714705e-006 -n Bip01_R_Hand; + setAttr Bip01_R_Hand.r 90.10673266 -10.80974935 -0.8122024791; + select -cl; + joint -p 20.92655945 0.008007015102 -0.1159790754 -n Dummy01; + setAttr Dummy01.r -0.2078440429 -0.2621308306 -0.4269717509; + select -cl; + joint -p 16.61231232 3.613291025 10.8753109 -n Bone_weapon; + setAttr Bone_weapon.r -99.62233617 -4.144753298 87.7431158; + select -cl; + joint -p -2.835887244e-005 2.952506657e-005 17.03221893 -n Bip01_L_Thigh; + setAttr Bip01_L_Thigh.r -178.5139727 -11.16742913 172.0908201; + select -cl; + joint -p 59.14352417 1.234764113e-008 4.2710667e-006 -n Bip01_L_Calf; + setAttr Bip01_L_Calf.r 4.891913574e-007 -3.882016219e-006 -11.19454564; + select -cl; + joint -p 51.59208298 5.801300631e-007 1.21883977e-006 -n Bip01_L_Foot; + setAttr Bip01_L_Foot.r -2.005262412 -11.08705284 14.0301968; + select -cl; + joint -p 19.25922012 21.94410515 -3.897712759e-006 -n Bip01_L_Toe0; + setAttr Bip01_L_Toe0.r 3.777047204e-006 4.75161333e-007 90.00000096; + select -cl; + joint -p 16.79012871 -9.917664556e-007 -3.816627014e-008 -n Dummy04; + setAttr Dummy04.r 6.645573814e-014 7.009375107e-008 -180; + select -cl; + joint -p 2.499953189e-005 -1.907231308e-005 -17.03221893 -n Bip01_R_Thigh; + setAttr Bip01_R_Thigh.r 178.5141015 11.16760669 172.0908459; + select -cl; + joint -p 59.14352417 -1.976994781e-007 1.19964875e-006 -n Bip01_R_Calf; + setAttr Bip01_R_Calf.r 8.271588474e-007 -3.985608879e-006 -11.1945448; + select -cl; + joint -p 51.59207916 -3.132913093e-007 -2.508410944e-006 -n Bip01_R_Foot; + setAttr Bip01_R_Foot.r 2.005272515 11.08705116 14.0301968; + select -cl; + joint -p 19.25922012 21.94410515 -3.897558145e-006 -n Bip01_R_Toe0; + setAttr Bip01_R_Toe0.r 3.777047204e-006 4.75161333e-007 90.00000096; + select -cl; + joint -p 16.79013062 1.276867678e-008 -3.800958837e-008 -n Dummy03; + setAttr Dummy03.r -1.681894942e-013 -5.523470764e-012 6.930529037e-010; + //parenting info + parent -r Bip01_Pelvis Bip01; + parent -r Bip01_Spine Bip01_Pelvis; + parent -r Bip01_Spine1 Bip01_Spine; + parent -r Bip01_Spine2 Bip01_Spine1; + parent -r Bip01_Neck Bip01_Spine2; + parent -r Bip01_Head Bip01_Neck; + parent -r Dummy05 Bip01_Head; + parent -r Bip01_Ponytail1 Bip01_Head; + parent -r Bip01_Ponytail11 Bip01_Ponytail1; + parent -r Bip01_Ponytail12 Bip01_Ponytail11; + parent -r Bip01_Ponytail13 Bip01_Ponytail12; + parent -r Dummy06 Bip01_Ponytail13; + parent -r Bip01_L_Clavicle Bip01_Neck; + parent -r Bip01_L_UpperArm Bip01_L_Clavicle; + parent -r Bip01_L_Forearm Bip01_L_UpperArm; + parent -r Bip01_L_Hand Bip01_L_Forearm; + parent -r Dummy02 Bip01_L_Hand; + parent -r Bip01_R_Clavicle Bip01_Neck; + parent -r Bip01_R_UpperArm Bip01_R_Clavicle; + parent -r Bip01_R_Forearm Bip01_R_UpperArm; + parent -r Bip01_R_Hand Bip01_R_Forearm; + parent -r Dummy01 Bip01_R_Hand; + parent -r Bone_weapon Bip01_R_Hand; + parent -r Bip01_L_Thigh Bip01_Pelvis; + parent -r Bip01_L_Calf Bip01_L_Thigh; + parent -r Bip01_L_Foot Bip01_L_Calf; + parent -r Bip01_L_Toe0 Bip01_L_Foot; + parent -r Dummy04 Bip01_L_Toe0; + parent -r Bip01_R_Thigh Bip01_Pelvis; + parent -r Bip01_R_Calf Bip01_R_Thigh; + parent -r Bip01_R_Foot Bip01_R_Calf; + parent -r Bip01_R_Toe0 Bip01_R_Foot; + parent -r Dummy03 Bip01_R_Toe0; + parent -r Bip01 Jugg; + break; + case 4: + //bot skeleton + group -em -n Bot; + select -cl; + joint -p -3.775190407e-006 2.472386122 138.4620667 -n Bip01; + setAttr Bip01.r 0 0 -89.99992273; + select -cl; + joint -p 0.5654580593 1.255750881e-008 0 -n Bip01_Pelvis; + setAttr Bip01_Pelvis.r -89.99991927 -90 0; + select -cl; + joint -p 13.86967468 -0.01168274879 1.872221401e-005 -n Bip01_Spine; + setAttr Bip01_Spine.r -0.0002454147735 -6.73974118e-005 5.545624986; + select -cl; + joint -p 14.74788857 -0.01121185347 4.417555886e-007 -n Bip01_Spine1; + setAttr Bip01_Spine1.r -2.777178734e-007 1.245127646e-005 -3.999986086; + select -cl; + joint -p 14.11477184 -0.0230597835 7.249271334e-007 -n Bip01_Spine2; + setAttr Bip01_Spine2.r -5.842886143e-009 1.052398525e-006 -1.499978746; + select -cl; + joint -p 28.97032356 -0.006989566144 2.845414571e-008 -n Bip01_Neck; + setAttr Bip01_Neck.r -1.501217219e-007 -6.231422482e-006 1.999989241; + select -cl; + joint -p 8.783086777 -1.50052486e-007 -9.057014694e-008 -n Bip01_Head; + setAttr Bip01_Head.r -3.389840863e-006 -3.239657291e-005 11.95424435; + select -cl; + joint -p 18.87295151 -3.440295359e-006 -1.575952346e-008 -n Dummy05; + setAttr Dummy05.r 2.028511729e-012 -6.454561452e-013 -2.756527107e-011; + select -cl; + joint -p -7.123152272e-007 0.006978537887 5.425952911 -n Bip01_L_Clavicle; + setAttr Bip01_L_Clavicle.r -90.1769655 -76.99976927 -91.86398689; + select -cl; + joint -p 25.65233994 -7.348805866e-007 -4.150970653e-006 -n Bip01_L_UpperArm; + setAttr Bip01_L_UpperArm.r 0.8749815611 59.77981949 -11.97185552; + select -cl; + joint -p 43.20011902 -4.997198744e-007 3.280339115e-006 -n Bip01_L_Forearm; + setAttr Bip01_L_Forearm.r -2.609058034e-008 6.092226547e-006 -0.9591361845; + select -cl; + joint -p 35.39158249 -5.891043742e-008 -3.738830856e-006 -n Bip01_L_Hand; + setAttr Bip01_L_Hand.r -89.61453266 2.812804011 0.6815632126; + select -cl; + joint -p 16.82011223 -0.9391385317 0.005761191249 -n Bip01_L_Finger0; + setAttr Bip01_L_Finger0.r -0.0456252201 -1.092138946e-008 -2.226276321e-006; + select -cl; + joint -p 6.446379185 -3.790131586e-007 2.50515285e-007 -n Bip01_L_Finger01; + setAttr Bip01_L_Finger01.r -4.482498213e-006 -1.120848941e-006 1.835421323; + select -cl; + joint -p 7.152192116 -2.425944103e-006 -4.046318338e-007 -n Bip01_L_Finger02; + setAttr Bip01_L_Finger02.r 5.389454885e-007 -3.68187923e-007 1.000020221; + select -cl; + joint -p 7.058089733 -2.372247309e-006 4.017787489e-007 -n Dummy02; + setAttr Dummy02.r 9.579323402e-009 1.094057218e-008 9.583148655e-007; + select -cl; + joint -p 19.77592468 2.230673313 0.3830761015 -n Bone_Lshoulder; + setAttr Bone_Lshoulder.r 0.009212926181 -0.03979796132 166.9999072; + select -cl; + joint -p -1.220192985e-006 0.007008647081 -5.425952911 -n Bip01_R_Clavicle; + setAttr Bip01_R_Clavicle.r 90.17691433 77.00008635 -91.86405494; + select -cl; + joint -p 25.65233994 -2.530063625e-007 -5.631762633e-006 -n Bip01_R_UpperArm; + setAttr Bip01_R_UpperArm.r -0.874981753 -59.77982196 -11.97186369; + select -cl; + joint -p 43.20013046 -3.69671227e-007 6.599077096e-006 -n Bip01_R_Forearm; + setAttr Bip01_R_Forearm.r 1.105624373e-008 -3.420328416e-007 -0.9591361845; + select -cl; + joint -p 35.3915863 1.889859504e-007 5.759461601e-006 -n Bip01_R_Hand; + setAttr Bip01_R_Hand.r 89.61453218 -2.812803369 0.6815667918; + select -cl; + joint -p 16.82011223 -0.9391406775 -0.005759874359 -n Bip01_R_Finger0; + setAttr Bip01_R_Finger0.r 0.04562440635 -1.70487868e-006 -2.004827072e-006; + select -cl; + joint -p 6.446374416 5.433277238e-006 -2.638493868e-007 -n Bip01_R_Finger01; + setAttr Bip01_R_Finger01.r 1.957909691e-007 -3.633044211e-006 1.835424523; + select -cl; + joint -p 7.152193069 2.406688736e-006 2.013987057e-007 -n Bip01_R_Finger02; + setAttr Bip01_R_Finger02.r 4.547303156e-006 1.087709549e-006 1.000021809; + select -cl; + joint -p 7.058087349 -2.356624009e-006 -6.096842071e-007 -n Dummy01; + setAttr Dummy01.r 7.93406922e-007 1.662892712e-006 179.9999997; + select -cl; + joint -p 20.06301498 4.404948235 13.69001579 -n Bone_weapon; + setAttr Bone_weapon.r -90.25806999 -0.3557603528 89.99733221; + select -cl; + joint -p 19.90997887 2.199792147 -0.3829751015 -n Bone_Rshoulder; + setAttr Bone_Rshoulder.r 0.009212817135 -0.03979799428 -12.99993385; + select -cl; + joint -p -2.276131818e-005 2.90972639e-005 16.60313225 -n Bip01_L_Thigh; + setAttr Bip01_L_Thigh.r 179.5297371 -0.3255814524 -179.1325041; + select -cl; + joint -p 54.79930496 -1.949056099e-007 1.578844717e-006 -n Bip01_L_Calf; + setAttr Bip01_L_Calf.r 4.847847213e-007 -1.793838323e-006 -4.396593775; + select -cl; + joint -p 61.18367386 -1.315706655e-008 -1.862175623e-006 -n Bip01_L_Foot; + setAttr Bip01_L_Foot.r 0.4653666364 -0.3327284485 5.261403139; + select -cl; + joint -p 22.57302666 22.07768631 -2.538553474e-007 -n Bip01_L_Toe0; + setAttr Bip01_L_Toe0.r -1.70754312e-006 2.561314425e-006 89.99999738; + select -cl; + joint -p 12.97087669 -1.811506536e-007 1.56052306e-006 -n Dummy04; + setAttr Dummy04.r -1.707547293e-006 -5.088876571e-014 180; + select -cl; + joint -p 2.276131272e-005 -1.693794547e-005 -16.60313225 -n Bip01_R_Thigh; + setAttr Bip01_R_Thigh.r -179.5295859 0.3257324611 -179.1325033; + select -cl; + joint -p 54.79930496 -7.755903653e-008 -1.181457037e-006 -n Bip01_R_Calf; + setAttr Bip01_R_Calf.r -1.141611623e-007 -1.450116427e-006 -4.396594037; + select -cl; + joint -p 61.18367386 3.608453198e-007 8.267227258e-007 -n Bip01_R_Foot; + setAttr Bip01_R_Foot.r -0.4653567107 0.3327304562 5.261403251; + select -cl; + joint -p 22.57302856 22.0776844 -2.537912849e-007 -n Bip01_R_Toe0; + setAttr Bip01_R_Toe0.r 1.707546784e-006 2.561314425e-006 90.0000008; + select -cl; + joint -p 12.97087765 -1.780968546e-007 1.550335924e-006 -n Dummy03; + setAttr Dummy03.r 1.272481212e-014 5.08888385e-014 2.544097959e-014; + //parenting info + parent -r Bip01_Pelvis Bip01; + parent -r Bip01_Spine Bip01_Pelvis; + parent -r Bip01_Spine1 Bip01_Spine; + parent -r Bip01_Spine2 Bip01_Spine1; + parent -r Bip01_Neck Bip01_Spine2; + parent -r Bip01_Head Bip01_Neck; + parent -r Dummy05 Bip01_Head; + parent -r Bip01_L_Clavicle Bip01_Neck; + parent -r Bip01_L_UpperArm Bip01_L_Clavicle; + parent -r Bip01_L_Forearm Bip01_L_UpperArm; + parent -r Bip01_L_Hand Bip01_L_Forearm; + parent -r Bip01_L_Finger0 Bip01_L_Hand; + parent -r Bip01_L_Finger01 Bip01_L_Finger0; + parent -r Bip01_L_Finger02 Bip01_L_Finger01; + parent -r Dummy02 Bip01_L_Finger02; + parent -r Bone_Lshoulder Bip01_L_Clavicle; + parent -r Bip01_R_Clavicle Bip01_Neck; + parent -r Bip01_R_UpperArm Bip01_R_Clavicle; + parent -r Bip01_R_Forearm Bip01_R_UpperArm; + parent -r Bip01_R_Hand Bip01_R_Forearm; + parent -r Bip01_R_Finger0 Bip01_R_Hand; + parent -r Bip01_R_Finger01 Bip01_R_Finger0; + parent -r Bip01_R_Finger02 Bip01_R_Finger01; + parent -r Dummy01 Bip01_R_Finger02; + parent -r Bone_weapon Bip01_R_Hand; + parent -r Bone_Rshoulder Bip01_R_Clavicle; + parent -r Bip01_L_Thigh Bip01_Pelvis; + parent -r Bip01_L_Calf Bip01_L_Thigh; + parent -r Bip01_L_Foot Bip01_L_Calf; + parent -r Bip01_L_Toe0 Bip01_L_Foot; + parent -r Dummy04 Bip01_L_Toe0; + parent -r Bip01_R_Thigh Bip01_Pelvis; + parent -r Bip01_R_Calf Bip01_R_Thigh; + parent -r Bip01_R_Foot Bip01_R_Calf; + parent -r Bip01_R_Toe0 Bip01_R_Foot; + parent -r Dummy03 Bip01_R_Toe0; + parent -r Bip01 Bot; + break; + default: + break; + }//switch +}//end proc diff --git a/2009-x64/GameProd/scripts/GI.ma b/2009-x64/GameProd/scripts/GI.ma new file mode 100644 index 0000000..c872595 --- /dev/null +++ b/2009-x64/GameProd/scripts/GI.ma @@ -0,0 +1,1171 @@ +//Maya ASCII 4.0 scene +//Name: GI.ma +//Last modified: Sun, May 26, 2002 04:03:42 AM +requires maya "4.0"; +currentUnit -l centimeter -a degree -t pal; +createNode transform -s -n "persp"; + setAttr ".v" no; + setAttr ".t" -type "double3" 65.847762053791214 47.701833943663729 28.737661309238156 ; + setAttr ".r" -type "double3" -35.138352729603476 422.99999999975415 -7.0057736522271077e-015 ; +createNode camera -s -n "perspShape" -p "persp"; + setAttr -k off ".v" no; + setAttr ".fl" 34.999999999999993; + setAttr ".coi" 85.171629667575161; + setAttr ".imn" -type "string" "persp"; + setAttr ".den" -type "string" "persp_depth"; + setAttr ".man" -type "string" "persp_mask"; + setAttr ".hc" -type "string" "viewSet -p %camera"; +createNode transform -s -n "top"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 100 0 ; + setAttr ".r" -type "double3" -89.999999999999986 0 0 ; +createNode camera -s -n "topShape" -p "top"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 100; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "top"; + setAttr ".den" -type "string" "top_depth"; + setAttr ".man" -type "string" "top_mask"; + setAttr ".hc" -type "string" "viewSet -t %camera"; + setAttr ".o" yes; +createNode transform -s -n "front"; + setAttr ".v" no; + setAttr ".t" -type "double3" 0 0 100 ; +createNode camera -s -n "frontShape" -p "front"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 100; + setAttr ".ow" 30; + setAttr ".imn" -type "string" "front"; + setAttr ".den" -type "string" "front_depth"; + setAttr ".man" -type "string" "front_mask"; + setAttr ".hc" -type "string" "viewSet -f %camera"; + setAttr ".o" yes; +createNode transform -s -n "side"; + setAttr ".v" no; + setAttr ".t" -type "double3" 100 0.089107039985592884 9.0928910038803892 ; + setAttr ".r" -type "double3" 0 89.999999999999986 0 ; +createNode camera -s -n "sideShape" -p "side"; + setAttr -k off ".v" no; + setAttr ".rnd" no; + setAttr ".coi" 100; + setAttr ".ow" 69.670354053450708; + setAttr ".imn" -type "string" "side"; + setAttr ".den" -type "string" "side_depth"; + setAttr ".man" -type "string" "side_mask"; + setAttr ".hc" -type "string" "viewSet -s %camera"; + setAttr ".o" yes; +createNode transform -n "GI"; +createNode transform -n "dome" -p "GI"; +createNode nurbsSurface -n "domeShape" -p "dome"; + setAttr -k off ".v"; + setAttr ".ovdt" 2; + setAttr ".ovs" no; + setAttr ".ovt" no; + setAttr ".ovp" no; + setAttr ".ove" yes; + setAttr ".ovc" 18; + setAttr ".mb" no; + setAttr ".csh" no; + setAttr ".rcsh" no; + setAttr ".vis" no; + setAttr ".ds" no; + setAttr ".smo" no; + setAttr ".dvu" 0; + setAttr ".dvv" 0; + setAttr ".cpr" 3; + setAttr ".cps" 1; + setAttr ".cc" -type "nurbsSurface" + 3 3 0 2 no + 9 0 0 0 1 2 3 4 4 4 + 13 -2 -1 0 1 2 3 4 5 6 7 8 9 10 + + 77 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 1.9192315495417408e-015 -20 -5.0630694529058596e-015 + 3.9983358167274523 -20 -3.9983358167274572 + 5.6545007389380721 -20 -1.8106171627863568e-015 + 3.9983358167274554 -20 3.9983358167274519 + 1.0108747667182863e-015 -20 5.6545007389380704 + -3.9983358167274519 -20 3.9983358167274541 + -5.6545007389380739 -20 3.5275368990165152e-016 + -3.9983358167274536 -20 -3.9983358167274554 + -1.5773600437240282e-015 -20 -5.654500738938073 + 3.9983358167274523 -20 -3.9983358167274572 + 5.6545007389380721 -20 -1.8106171627863568e-015 + 3.9983358167274554 -20 3.9983358167274519 + 12.328599593811786 -15.672232497824485 -12.328599593811793 + 17.435272750636063 -15.672232497824485 3.5455033157494616e-016 + 12.328599593811788 -15.672232497824485 12.328599593811786 + -4.1266656661747565e-018 -15.672232497824485 17.435272750636063 + -12.328599593811784 -15.672232497824485 12.328599593811788 + -17.43527275063607 -15.672232497824485 7.8297681380247763e-016 + -12.328599593811786 -15.672232497824485 -12.328599593811788 + -1.7425925885733481e-015 -15.672232497824485 -17.435272750636063 + 12.328599593811786 -15.672232497824485 -12.328599593811793 + 17.435272750636063 -15.672232497824485 3.5455033157494616e-016 + 12.328599593811788 -15.672232497824485 12.328599593811786 + 17.344048949830835 2.9723328954744026e-015 -17.344048949830839 + 24.528189251313606 1.9103512682259435e-015 3.3448509053126005e-015 + 17.344048949830835 8.4836964097748512e-016 17.344048949830835 + -1.501868820245819e-015 4.084824479801247e-016 24.528189251313606 + -17.344048949830832 8.4836964097748532e-016 17.344048949830835 + -24.528189251313613 1.9103512682259439e-015 9.5544062650988913e-016 + -17.344048949830832 2.9723328954744026e-015 -17.344048949830839 + -9.5544062650988893e-016 3.4122200884717631e-015 -24.528189251313606 + 17.344048949830835 2.9723328954744026e-015 -17.344048949830839 + 24.528189251313606 1.9103512682259435e-015 3.3448509053126005e-015 + 17.344048949830835 8.4836964097748512e-016 17.344048949830835 + 12.328599593811791 15.67223249782449 -12.328599593811793 + 17.435272750636067 15.67223249782449 4.4006631288898473e-015 + 12.328599593811791 15.67223249782449 12.328599593811793 + -2.1310079134393336e-015 15.67223249782449 17.435272750636067 + -12.328599593811788 15.67223249782449 12.328599593811791 + -17.435272750636074 15.67223249782449 5.7532711557105932e-016 + -12.328599593811786 15.67223249782449 -12.328599593811795 + 3.8428865919981048e-016 15.67223249782449 -17.435272750636067 + 12.328599593811791 15.67223249782449 -12.328599593811793 + 17.435272750636067 15.67223249782449 4.4006631288898473e-015 + 12.328599593811791 15.67223249782449 12.328599593811793 + 3.9983358167274541 19.999999999999996 -3.9983358167274519 + 5.6545007389380704 19.999999999999996 3.3527988315546585e-015 + 3.9983358167274519 19.999999999999996 3.9983358167274559 + -1.7033285199779747e-015 19.999999999999996 5.6545007389380721 + -3.9983358167274536 19.999999999999996 3.9983358167274528 + -5.654500738938073 19.999999999999996 8.7763110850143419e-017 + -3.998335816727451 19.999999999999996 -3.9983358167274541 + 1.1368432429722326e-015 19.999999999999996 -5.6545007389380695 + 3.9983358167274541 19.999999999999996 -3.9983358167274519 + 5.6545007389380704 19.999999999999996 3.3527988315546585e-015 + 3.9983358167274519 19.999999999999996 3.9983358167274559 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + 8.6998366831816898e-016 20 2.2738542350459501e-015 + + ; + setAttr ".nufa" 4.5; + setAttr ".nvfa" 4.5; +createNode transform -n "Key_Light" -p "GI"; + setAttr ".t" -type "double3" 3.3931909814406214 17.806366185323473 8.3373967386745491 ; + setAttr ".s" -type "double3" 2 2 2 ; + setAttr ".rp" -type "double3" 3.9378222904673521e-016 6.3219828677629764e-016 + -2.2417506219396532e-015 ; + setAttr ".rpt" -type "double3" -7.3404290952499486e-016 -2.1502214480598757e-015 + 4.6410799199126945e-016 ; + setAttr ".sp" -type "double3" 1.9689111452336761e-016 3.1609914338814882e-016 + -1.1208753109698266e-015 ; + setAttr ".spt" -type "double3" 1.9689111452336761e-016 3.1609914338814882e-016 + -1.1208753109698266e-015 ; +createNode directionalLight -n "Key_LightShape" -p "Key_Light"; + setAttr -k off ".v"; + setAttr ".col" 20.024984394500787; + setAttr ".dms" yes; + setAttr ".fs" 5; +createNode geometryConstraint -n "Key_Light_geometryConstraint1" -p "Key_Light"; + addAttr -ci true -sn "w0" -ln "domeW0" -bt "W000" -dv 1 -min 0 -at "double"; + setAttr -k on ".nds"; + setAttr -k off ".v"; + setAttr -k off ".tx"; + setAttr -k off ".ty"; + setAttr -k off ".tz"; + setAttr -k off ".rx"; + setAttr -k off ".ry"; + setAttr -k off ".rz"; + setAttr -k off ".sx"; + setAttr -k off ".sy"; + setAttr -k off ".sz"; + setAttr -k on ".w0"; +createNode aimConstraint -n "Key_Light_aimConstraint1" -p "Key_Light"; + addAttr -ci true -sn "w0" -ln "locator1W0" -bt "W000" -dv 1 -at "double"; + setAttr -k on ".nds"; + setAttr -k off ".v"; + setAttr -k off ".tx"; + setAttr -k off ".ty"; + setAttr -k off ".tz"; + setAttr -k off ".rx"; + setAttr -k off ".ry"; + setAttr -k off ".rz"; + setAttr -k off ".sx"; + setAttr -k off ".sy"; + setAttr -k off ".sz"; + setAttr ".a" -type "double3" 0 0 -1 ; + setAttr -k on ".w0"; +createNode transform -n "Key_Locator" -p "GI"; + setAttr ".v" no; +createNode locator -n "Key_LocatorShape" -p "Key_Locator"; + setAttr -k off ".v"; +createNode transform -n "up_Light_grp" -p "GI"; + addAttr -ci true -uac -sn "up_Color" -ln "up_Color" -at "float3" -nc 3; + addAttr -ci true -sn "up_ColorR" -ln "up_ColorR" -dv 0.865 -at "float" -p "up_Color"; + addAttr -ci true -sn "up_ColorG" -ln "up_ColorG" -dv 0.945 -at "float" -p "up_Color"; + addAttr -ci true -sn "up_ColorB" -ln "up_ColorB" -dv 1 -at "float" -p "up_Color"; + addAttr -ci true -sn "up_int" -ln "up_int" -dv 0.10000000000000001 -min + 0 -max 6 -at "double"; + addAttr -ci true -sn "up_shadow" -ln "up_shadow" -min 0 -max 1 -at "bool"; + addAttr -ci true -uac -sn "up_ShadowColor" -ln "up_ShadowColor" -at "float3" + -nc 3; + addAttr -ci true -sn "up_ShadowColorR" -ln "up_ShadowColorR" -at "float" + -p "up_ShadowColor"; + addAttr -ci true -sn "up_ShadowColorG" -ln "up_ShadowColorG" -at "float" + -p "up_ShadowColor"; + addAttr -ci true -sn "up_ShadowColorB" -ln "up_ShadowColorB" -at "float" + -p "up_ShadowColor"; + addAttr -ci true -sn "up_reuse_shadow" -ln "up_reuse_shadow" -min 0 -max + 1 -at "bool"; + addAttr -ci true -sn "up_shadow_Res" -ln "up_shadow_Res" -dv 256 -min 128 + -max 2048 -at "long"; + addAttr -ci true -sn "up_Filter_Size" -ln "up_Filter_Size" -dv 2 -min 0 + -max 8 -at "long"; + setAttr ".ovdt" 2; + setAttr ".up_Color" -type "float3" 0.86500001 0.94499999 1 ; + setAttr -k on ".up_int"; + setAttr -k on ".up_shadow"; + setAttr -k on ".up_reuse_shadow"; + setAttr -k on ".up_shadow_Res" 128; + setAttr -k on ".up_Filter_Size" 3; +createNode transform -n "up_LightA_1" -p "up_Light_grp"; + setAttr ".t" -type "double3" 0 2 20 ; + setAttr ".r" -type "double3" -5.7105931374996342 0 0 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".rpt" -type "double3" 0 -1.5189806485279936e-016 7.5760103315945847e-018 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; +createNode directionalLight -n "up_LightA_1Shape" -p "up_LightA_1"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241783; +createNode transform -n "up_LightA_2" -p "up_Light_grp"; + setAttr ".t" -type "double3" 14.142135623730951 2 14.142135623730949 ; + setAttr ".r" -type "double3" -5.7105931374994876 45.000000000000028 0 ; + setAttr ".rp" -type "double3" 0 1.1102230246251565e-016 1.7763568394002505e-015 ; + setAttr ".rpt" -type "double3" 1.2420288088245856e-015 1.762031292591369e-016 + -5.3432803057566563e-016 ; + setAttr ".sp" -type "double3" 0 1.1102230246251565e-016 1.7763568394002505e-015 ; +createNode directionalLight -n "up_LightA_2Shape" -p "up_LightA_2"; + setAttr -k off ".v"; + setAttr ".col" 20.09975124224178; +createNode transform -n "up_LightA_3" -p "up_Light_grp"; + setAttr ".t" -type "double3" 20 2 4.4408920985006262e-015 ; + setAttr ".r" -type "double3" -5.7105931374996421 90 0 ; + setAttr ".rp" -type "double3" 7.8886090522101181e-031 0 0 ; + setAttr ".rpt" -type "double3" -7.8886090522101181e-031 -5.4738221262688167e-048 + -7.8886090522101181e-031 ; + setAttr ".sp" -type "double3" 7.8886090522101181e-031 0 0 ; +createNode directionalLight -n "up_LightA_3Shape" -p "up_LightA_3"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241783; +createNode transform -n "up_LightA_4" -p "up_Light_grp"; + setAttr ".t" -type "double3" 14.14213562373096 2 -14.142135623730949 ; + setAttr ".r" -type "double3" 174.28940686250036 45.000000000000028 180 ; + setAttr ".s" -type "double3" 1.0000000000000002 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" 0 -2.2204460492503131e-016 0 ; + setAttr ".rpt" -type "double3" 1.5623003884585944e-017 1.1019651391410384e-018 + -1.5623003884585957e-017 ; + setAttr ".sp" -type "double3" 0 -2.2204460492503131e-016 0 ; +createNode directionalLight -n "up_LightA_4Shape" -p "up_LightA_4"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241783; +createNode transform -n "up_LightA_5" -p "up_Light_grp"; + setAttr ".t" -type "double3" 1.1330996904646013e-014 2 -20.000000000000007 ; + setAttr ".r" -type "double3" 174.28940686250033 -5.649800061504203e-030 + 179.99999999999937 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000004 ; + setAttr ".rp" -type "double3" 0 1.2655573305614249e-028 -2.3037127760971884e-015 ; + setAttr ".rpt" -type "double3" -2.5730133154487205e-030 -2.292279887778636e-016 + 4.5959926638758009e-015 ; + setAttr ".sp" -type "double3" 0 1.2655573305614249e-028 -2.3037127760971872e-015 ; + setAttr ".spt" -type "double3" 0 0 -1.1832913578315182e-030 ; +createNode directionalLight -n "up_LightA_5Shape" -p "up_LightA_5"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241787; +createNode transform -n "up_LightA_6" -p "up_Light_grp"; + setAttr ".t" -type "double3" -14.142135623730942 2 -14.142135623730974 ; + setAttr ".r" -type "double3" 174.28940686250036 -44.999999999999936 180 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000004 ; + setAttr ".rp" -type "double3" 1.7763568394002513e-015 2.2204460492503131e-016 + -1.7763568394002513e-015 ; + setAttr ".rpt" -type "double3" -1.7669674916958106e-015 -1.7785607696785325e-016 + 4.2978941209987359e-015 ; + setAttr ".sp" -type "double3" 1.7763568394002505e-015 2.2204460492503131e-016 + -1.7763568394002505e-015 ; + setAttr ".spt" -type "double3" 7.8886090522101216e-031 0 -7.8886090522101216e-031 ; +createNode directionalLight -n "up_LightA_6Shape" -p "up_LightA_6"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241791; +createNode transform -n "up_LightA_7" -p "up_Light_grp"; + setAttr ".t" -type "double3" -20.000000000000007 2 2.2204460492503137e-014 ; + setAttr ".r" -type "double3" -5.7105931374996404 -89.999999999999858 0 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" -6.3108872417680972e-030 0 0 ; + setAttr ".rpt" -type "double3" 6.3108872417680804e-030 1.313717310304515e-046 + -6.3108872417680972e-030 ; + setAttr ".sp" -type "double3" -6.3108872417680944e-030 0 0 ; + setAttr ".spt" -type "double3" -2.8025969286496354e-045 0 0 ; +createNode directionalLight -n "up_LightA_7Shape" -p "up_LightA_7"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241794; +createNode transform -n "up_LightA_8" -p "up_Light_grp"; + setAttr ".t" -type "double3" -14.142135623730944 2 14.142135623730969 ; + setAttr ".r" -type "double3" -5.7105931374994841 -44.999999999999972 0 ; + setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999989 1.0000000000000004 ; + setAttr ".rp" -type "double3" -1.7763568394002513e-015 5.5511151231257817e-016 + 1.7763568394002513e-015 ; + setAttr ".rpt" -type "double3" -6.9049992860218373e-016 1.7399919898085488e-016 + -1.8216480052918563e-015 ; + setAttr ".sp" -type "double3" -1.7763568394002505e-015 5.5511151231257827e-016 + 1.7763568394002505e-015 ; + setAttr ".spt" -type "double3" -7.8886090522101216e-031 -9.8607613152626465e-032 + 7.8886090522101216e-031 ; +createNode directionalLight -n "up_LightA_8Shape" -p "up_LightA_8"; + setAttr -k off ".v"; + setAttr ".col" 20.099751242241787; +createNode transform -n "up_LightB_1" -p "up_Light_grp"; + setAttr ".t" -type "double3" 7.6604444311897799 8.452365234813989 16.42787609686539 ; + setAttr ".r" -type "double3" -25 25 0 ; + setAttr ".s" -type "double3" 1 0.99999999999999989 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 4.4408920985006252e-016 ; + setAttr ".rpt" -type "double3" 1.7009603572736907e-016 1.8768020992463411e-016 + -7.9317084081478398e-017 ; + setAttr ".sp" -type "double3" 0 0 4.4408920985006262e-016 ; + setAttr ".spt" -type "double3" 0 0 -9.8607613152626465e-032 ; +createNode directionalLight -n "up_LightB_1Shape" -p "up_LightB_1"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_2" -p "up_Light_grp"; + setAttr ".t" -type "double3" 17.033014792782925 8.4523652348139873 6.1995103843888906 ; + setAttr ".r" -type "double3" -25.000000000000004 70.000000000000014 0 ; + setAttr ".s" -type "double3" 1 0.99999999999999989 0.99999999999999967 ; + setAttr ".rp" -type "double3" 0 1.3322676295501875e-015 3.5527136788004994e-015 ; + setAttr ".rpt" -type "double3" 2.496586107275372e-015 1.3766185769250791e-015 + -2.6440306484697356e-015 ; + setAttr ".sp" -type "double3" 0 1.3322676295501878e-015 3.5527136788005009e-015 ; + setAttr ".spt" -type "double3" 0 -3.9443045261050586e-031 -1.5777218104420231e-030 ; +createNode directionalLight -n "up_LightB_2Shape" -p "up_LightB_2"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_3" -p "up_Light_grp"; + setAttr ".t" -type "double3" 16.427876096865397 8.452365234813989 -7.6604444311897808 ; + setAttr ".r" -type "double3" 155.00000000000003 65 180 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000004 ; + setAttr ".rp" -type "double3" 3.9443045261050608e-031 -8.8817841970012523e-016 + -3.5527136788005025e-015 ; + setAttr ".rpt" -type "double3" -2.5779849346939382e-015 -1.4182262777490772e-015 + 4.7548477964565007e-015 ; + setAttr ".sp" -type "double3" 3.944304526105059e-031 -8.8817841970012523e-016 + -3.5527136788005009e-015 ; + setAttr ".spt" -type "double3" 1.7516230804060221e-046 0 -1.5777218104420243e-030 ; +createNode directionalLight -n "up_LightB_3Shape" -p "up_LightB_3"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_4" -p "up_Light_grp"; + setAttr ".t" -type "double3" 6.1995103843889012 8.452365234813989 -17.033014792782929 ; + setAttr ".r" -type "double3" 155 20.000000000000043 180 ; + setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999989 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 8.8817841970012504e-016 1.7763568394002501e-015 ; + setAttr ".rpt" -type "double3" 4.2224630901647503e-016 6.675054380505411e-016 + -2.9364690388710718e-015 ; + setAttr ".sp" -type "double3" 0 8.8817841970012523e-016 1.7763568394002505e-015 ; + setAttr ".spt" -type "double3" 0 -1.9721522630525293e-031 -3.9443045261050586e-031 ; +createNode directionalLight -n "up_LightB_4Shape" -p "up_LightB_4"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_5" -p "up_Light_grp"; + setAttr ".t" -type "double3" -7.6604444311897817 8.4523652348139944 -16.427876096865397 ; + setAttr ".r" -type "double3" 155 -25 180 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" 0 8.8817841970012543e-016 -3.1086244689504391e-015 ; + setAttr ".rpt" -type "double3" 1.3493064182545404e-015 -1.3969768711204344e-015 + 6.002221420785265e-015 ; + setAttr ".sp" -type "double3" 0 8.8817841970012543e-016 -3.1086244689504383e-015 ; + setAttr ".spt" -type "double3" 0 0 -7.8886090522101198e-031 ; +createNode directionalLight -n "up_LightB_5Shape" -p "up_LightB_5"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_6" -p "up_Light_grp"; + setAttr ".t" -type "double3" -17.033014792782929 8.4523652348139944 -6.1995103843889172 ; + setAttr ".r" -type "double3" 155.00000000000003 -69.999999999999929 180 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" 0 0 -1.7763568394002509e-015 ; + setAttr ".rpt" -type "double3" 1.5128356161382801e-015 -7.5072083969853626e-016 + 2.3269839730123571e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.7763568394002505e-015 ; + setAttr ".spt" -type "double3" 0 0 -3.9443045261050599e-031 ; +createNode directionalLight -n "up_LightB_6Shape" -p "up_LightB_6"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_7" -p "up_Light_grp"; + setAttr ".t" -type "double3" -16.427876096865393 8.4523652348139926 7.6604444311897968 ; + setAttr ".r" -type "double3" -25.000000000000007 -64.999999999999957 3.7629167612910259e-015 ; + setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999989 1.0000000000000004 ; + setAttr ".rp" -type "double3" -1.5777218104420243e-030 -1.7763568394002501e-015 + 0 ; + setAttr ".rpt" -type "double3" -6.8038414290947508e-016 1.6643080329599164e-016 + 3.172683363259129e-016 ; + setAttr ".sp" -type "double3" -1.5777218104420236e-030 -1.7763568394002505e-015 + 0 ; + setAttr ".spt" -type "double3" -7.0064923216240885e-046 3.9443045261050586e-031 + 0 ; +createNode directionalLight -n "up_LightB_7Shape" -p "up_LightB_7"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightB_8" -p "up_Light_grp"; + setAttr ".t" -type "double3" -6.1995103843888799 8.4523652348139962 17.033014792782943 ; + setAttr ".r" -type "double3" -25.000000000000007 -19.99999999999995 0 ; + setAttr ".s" -type "double3" 1.0000000000000004 1 1.0000000000000004 ; + setAttr ".rp" -type "double3" 0 4.4408920985006262e-016 0 ; + setAttr ".rpt" -type "double3" 6.4190412297814828e-017 -4.1607700823997929e-017 + -1.76361708333729e-016 ; + setAttr ".sp" -type "double3" 0 4.4408920985006262e-016 0 ; +createNode directionalLight -n "up_LightB_8Shape" -p "up_LightB_8"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_1" -p "up_Light_grp"; + setAttr ".t" -type "double3" 0 17.320508075688771 10.000000000000002 ; + setAttr ".r" -type "double3" -59.999999999999993 0 0 ; +createNode directionalLight -n "up_LightC_1Shape" -p "up_LightC_1"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_2" -p "up_Light_grp"; + setAttr ".t" -type "double3" 7.0710678118654782 17.320508075688778 7.0710678118654746 ; + setAttr ".r" -type "double3" -60.000000000000007 45.000000000000014 0 ; + setAttr ".s" -type "double3" 1 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" 0 -8.8817841970012523e-016 -4.4408920985006271e-016 ; + setAttr ".rpt" -type "double3" 3.8688673633582985e-016 5.9496672573349656e-017 + 8.3097594618589251e-016 ; + setAttr ".sp" -type "double3" 0 -8.8817841970012523e-016 -4.4408920985006262e-016 ; + setAttr ".spt" -type "double3" 0 0 -9.8607613152626498e-032 ; +createNode directionalLight -n "up_LightC_2Shape" -p "up_LightC_2"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_3" -p "up_Light_grp"; + setAttr ".t" -type "double3" 10.000000000000002 17.320508075688771 4.4408920985006262e-015 ; + setAttr ".r" -type "double3" -59.999999999999993 90 0 ; + setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999989 0.99999999999999989 ; + setAttr ".rp" -type "double3" 7.8886090522101163e-031 0 8.8817841970012504e-016 ; + setAttr ".rpt" -type "double3" 4.4408920985006183e-016 7.6918507455342513e-016 + -8.8817841970012523e-016 ; + setAttr ".sp" -type "double3" 7.8886090522101181e-031 0 8.8817841970012523e-016 ; + setAttr ".spt" -type "double3" -1.7516230804060211e-046 0 -1.9721522630525293e-031 ; +createNode directionalLight -n "up_LightC_3Shape" -p "up_LightC_3"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_4" -p "up_Light_grp"; + setAttr ".t" -type "double3" -7.0710678118654782 17.320508075688778 7.0710678118654746 ; + setAttr ".r" -type "double3" -60.000000000000007 -45.000000000000014 0 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 1.0000000000000002 ; + setAttr ".rp" -type "double3" 8.8817841970012563e-016 0 -8.8817841970012543e-016 ; + setAttr ".rpt" -type "double3" 5.3877055510139818e-017 -7.6918507455342572e-016 + 1.2021969114368808e-015 ; + setAttr ".sp" -type "double3" 8.8817841970012523e-016 0 -8.8817841970012523e-016 ; + setAttr ".spt" -type "double3" 3.9443045261050608e-031 0 -1.97215226305253e-031 ; +createNode directionalLight -n "up_LightC_4Shape" -p "up_LightC_4"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_5" -p "up_Light_grp"; + setAttr ".t" -type "double3" -10.000000000000004 17.320508075688771 8.8817841970012523e-015 ; + setAttr ".r" -type "double3" -59.999999999999993 -89.999999999999943 0 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 -1.7763568394002501e-015 ; + setAttr ".rpt" -type "double3" 8.8817841970012523e-016 -1.5383701491068505e-015 + 1.7763568394002493e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.7763568394002505e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050586e-031 ; +createNode directionalLight -n "up_LightC_5Shape" -p "up_LightC_5"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_6" -p "up_Light_grp"; + setAttr ".t" -type "double3" -7.0710678118654684 17.320508075688771 -7.0710678118654879 ; + setAttr ".r" -type "double3" 120.00000000000001 -44.999999999999936 180 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000004 1 ; + setAttr ".rp" -type "double3" 0 8.8817841970012563e-016 2.2204460492503131e-015 ; + setAttr ".rpt" -type "double3" -2.4115024713768007e-016 1.4788734765335013e-015 + -2.4615962963879939e-015 ; + setAttr ".sp" -type "double3" 0 8.8817841970012523e-016 2.2204460492503131e-015 ; + setAttr ".spt" -type "double3" 0 3.9443045261050608e-031 0 ; +createNode directionalLight -n "up_LightC_6Shape" -p "up_LightC_6"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_7" -p "up_Light_grp"; + setAttr ".t" -type "double3" 2.1210804240920263e-015 17.320508075688771 + -10.000000000000004 ; + setAttr ".r" -type "double3" 120.00000000000001 0 180 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 0.99999999999999978 ; + setAttr ".rp" -type "double3" 3.9443045261050608e-031 1.2987442821556796e-031 + -5.3290705182007498e-015 ; + setAttr ".rpt" -type "double3" -1.3540302629590901e-030 -4.6151104473205504e-015 + 7.9936057773011255e-015 ; + setAttr ".sp" -type "double3" 3.944304526105059e-031 1.2987442821556794e-031 + -5.3290705182007514e-015 ; + setAttr ".spt" -type "double3" 1.7516230804060221e-046 2.1895288505075272e-047 + 1.5777218104420233e-030 ; +createNode directionalLight -n "up_LightC_7Shape" -p "up_LightC_7"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "up_LightC_8" -p "up_Light_grp"; + setAttr ".t" -type "double3" 7.0710678118654844 17.320508075688771 -7.0710678118654746 ; + setAttr ".r" -type "double3" 120.00000000000001 45.000000000000014 180 ; + setAttr ".s" -type "double3" 1.0000000000000002 1 1 ; +createNode directionalLight -n "up_LightC_8Shape" -p "up_LightC_8"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_Light_grp" -p "GI"; + addAttr -ci true -uac -sn "down_Color" -ln "down_Color" -at "float3" -nc + 3; + addAttr -ci true -sn "down_ColorR" -ln "down_ColorR" -dv 0.78500000000000003 + -at "float" -p "down_Color"; + addAttr -ci true -sn "down_ColorG" -ln "down_ColorG" -dv 0.7 -at "float" + -p "down_Color"; + addAttr -ci true -sn "down_ColorB" -ln "down_ColorB" -dv 0.61 -at "float" + -p "down_Color"; + addAttr -ci true -sn "down_int" -ln "down_int" -dv 0.10000000000000001 -min + 0 -max 6 -at "double"; + addAttr -ci true -sn "down_shadow" -ln "down_shadow" -min 0 -max 1 -at "bool"; + addAttr -ci true -uac -sn "down_ShadowColor" -ln "down_ShadowColor" -at "float3" + -nc 3; + addAttr -ci true -sn "down_ShadowColorR" -ln "down_ShadowColorR" -at "float" + -p "down_ShadowColor"; + addAttr -ci true -sn "down_ShadowColorG" -ln "down_ShadowColorG" -at "float" + -p "down_ShadowColor"; + addAttr -ci true -sn "down_ShadowColorB" -ln "down_ShadowColorB" -at "float" + -p "down_ShadowColor"; + addAttr -ci true -sn "down_reuse_shadow" -ln "down_reuse_shadow" -min 0 + -max 1 -at "bool"; + addAttr -ci true -sn "down_shadow_Res" -ln "down_shadow_Res" -dv 256 -min + 128 -max 2048 -at "long"; + addAttr -ci true -sn "down_Filter_Size" -ln "down_Filter_Size" -dv 2 -min + 0 -max 8 -at "long"; + setAttr ".ovdt" 2; + setAttr ".down_Color" -type "float3" 0.73500001 0.64770627 0.46599001 ; + setAttr -k on ".down_int"; + setAttr -k on ".down_shadow"; + setAttr -k on ".down_reuse_shadow"; + setAttr -k on ".down_shadow_Res" 128; + setAttr -k on ".down_Filter_Size" 3; +createNode transform -n "down_LightA_1" -p "down_Light_grp"; + setAttr ".t" -type "double3" 7.3199630154133368 -9.9999999999999982 15.697711344427917 ; + setAttr ".r" -type "double3" 29.999999999999996 25 0 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".rpt" -type "double3" -5.5871691418925767e-016 7.6327832942979512e-016 + 3.2838436977498189e-016 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; +createNode directionalLight -n "down_LightA_1Shape" -p "down_LightA_1"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_2" -p "down_Light_grp"; + setAttr ".t" -type "double3" 16.275953626987476 -9.9999999999999982 5.9239626545204773 ; + setAttr ".r" -type "double3" 29.999999999999993 70.000000000000014 0 ; + setAttr ".s" -type "double3" 1 1 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" -1.2423082694283813e-015 7.6327832942979502e-016 + 1.0743934270049017e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050586e-031 ; +createNode directionalLight -n "down_LightA_2Shape" -p "down_LightA_2"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_3" -p "down_Light_grp"; + setAttr ".t" -type "double3" 15.697711344427915 -9.9999999999999982 -7.3199630154133306 ; + setAttr ".r" -type "double3" 29.999999999999993 114.99999999999997 0 ; + setAttr ".s" -type "double3" 0.99999999999999944 1 0.99999999999999956 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595897e-015 ; + setAttr ".rpt" -type "double3" -1.1981722890846085e-015 7.6327832942979473e-016 + 2.085273573048847e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 5.9164567891575859e-031 ; +createNode directionalLight -n "down_LightA_3Shape" -p "down_LightA_3"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_4" -p "down_Light_grp"; + setAttr ".t" -type "double3" 5.9239626545204773 -9.9999999999999982 -16.27595362698748 ; + setAttr ".r" -type "double3" 29.999999999999979 160 0 ; + setAttr ".s" -type "double3" 1 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595906e-015 ; + setAttr ".rpt" -type "double3" -4.5216323185468875e-016 7.6327832942979483e-016 + 2.7688649282879727e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 -3.9443045261050599e-031 ; +createNode directionalLight -n "down_LightA_4Shape" -p "down_LightA_4"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_5" -p "down_Light_grp"; + setAttr ".t" -type "double3" -7.3199630154133351 -9.9999999999999982 -15.697711344427919 ; + setAttr ".r" -type "double3" 29.999999999999972 205 0 ; + setAttr ".s" -type "double3" 0.99999999999999989 1 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" 5.5871691418925757e-016 7.6327832942979463e-016 + 2.7247289479441995e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050586e-031 ; +createNode directionalLight -n "down_LightA_5Shape" -p "down_LightA_5"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_6" -p "down_Light_grp"; + setAttr ".t" -type "double3" -16.275953626987473 -9.9999999999999947 -5.9239626545204809 ; + setAttr ".r" -type "double3" 29.999999999999972 250.00000000000003 0 ; + setAttr ".s" -type "double3" 0.99999999999999967 1 0.99999999999999978 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" 1.2423082694283817e-015 7.6327832942979423e-016 + 1.9787198907142776e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050582e-031 ; +createNode directionalLight -n "down_LightA_6Shape" -p "down_LightA_6"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_7" -p "down_Light_grp"; + setAttr ".t" -type "double3" -15.697711344427908 -9.9999999999999964 7.3199630154133386 ; + setAttr ".r" -type "double3" 29.999999999999993 -64.999999999999986 0 ; + setAttr ".s" -type "double3" 0.99999999999999933 1 0.99999999999999944 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595893e-015 ; + setAttr ".rpt" -type "double3" 1.1981722890846077e-015 7.6327832942979453e-016 + 9.6783974467033228e-016 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 9.8607613152626423e-031 ; +createNode directionalLight -n "down_LightA_7Shape" -p "down_LightA_7"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightA_8" -p "down_Light_grp"; + setAttr ".t" -type "double3" -5.9239626545204764 -9.9999999999999982 16.275953626987473 ; + setAttr ".r" -type "double3" 29.999999999999996 -19.999999999999996 0 ; + setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999989 0.99999999999999978 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" 4.5216323185468816e-016 7.6327832942979483e-016 + 2.8424838943120873e-016 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050582e-031 ; +createNode directionalLight -n "down_LightA_8Shape" -p "down_LightA_8"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_1" -p "down_Light_grp"; + setAttr ".t" -type "double3" 0 -17.320508075688771 10.000000000000002 ; + setAttr ".r" -type "double3" 59.999999999999993 0 0 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".rpt" -type "double3" 0 1.3220368468887001e-015 7.6327832942979492e-016 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; +createNode directionalLight -n "down_LightB_1Shape" -p "down_LightB_1"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_2" -p "down_Light_grp"; + setAttr ".t" -type "double3" 7.0710678118654782 -17.320508075688778 7.0710678118654746 ; + setAttr ".r" -type "double3" 60.000000000000007 45.000000000000014 0 ; + setAttr ".s" -type "double3" 1 1 1.0000000000000002 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595906e-015 ; + setAttr ".rpt" -type "double3" -5.3971928267254789e-016 1.3220368468887005e-015 + 9.8683737618704294e-016 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 -3.9443045261050599e-031 ; +createNode directionalLight -n "down_LightB_2Shape" -p "down_LightB_2"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_3" -p "down_Light_grp"; + setAttr ".t" -type "double3" 10.000000000000002 -17.320508075688771 4.4408920985006262e-015 ; + setAttr ".r" -type "double3" 59.999999999999986 89.999999999999986 0 ; + setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999989 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" -7.6327832942979552e-016 1.3220368468886997e-015 + 1.5265566588595898e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050586e-031 ; +createNode directionalLight -n "down_LightB_3Shape" -p "down_LightB_3"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_4" -p "down_Light_grp"; + setAttr ".t" -type "double3" 7.0710678118654791 -17.320508075688771 -7.0710678118654746 ; + setAttr ".r" -type "double3" 59.999999999999993 135 0 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".rpt" -type "double3" -5.3971928267254799e-016 1.3220368468887001e-015 + 2.0662759415321383e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; +createNode directionalLight -n "down_LightB_4Shape" -p "down_LightB_4"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_5" -p "down_Light_grp"; + setAttr ".t" -type "double3" 1.224606353822378e-015 -17.320508075688767 + -10.000000000000004 ; + setAttr ".r" -type "double3" 59.999999999999986 180 0 ; + setAttr ".s" -type "double3" 1 0.99999999999999989 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" -9.3471549195465671e-032 1.3220368468886989e-015 + 2.2898349882893846e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050586e-031 ; +createNode directionalLight -n "down_LightB_5Shape" -p "down_LightB_5"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_6" -p "down_Light_grp"; + setAttr ".t" -type "double3" -7.0710678118654791 -17.320508075688771 -7.0710678118654782 ; + setAttr ".r" -type "double3" 59.999999999999972 225 0 ; + setAttr ".s" -type "double3" 1 1 0.99999999999999989 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" 5.397192826725478e-016 1.3220368468886997e-015 + 2.0662759415321379e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050586e-031 ; +createNode directionalLight -n "down_LightB_6Shape" -p "down_LightB_6"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_7" -p "down_Light_grp"; + setAttr ".t" -type "double3" -10 -17.320508075688767 4.4408920985006254e-015 ; + setAttr ".r" -type "double3" 59.999999999999993 -89.999999999999986 0 ; + setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999978 0.99999999999999978 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595898e-015 ; + setAttr ".rpt" -type "double3" 7.6327832942979512e-016 1.3220368468886993e-015 + 1.5265566588595891e-015 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".spt" -type "double3" 0 0 3.9443045261050582e-031 ; +createNode directionalLight -n "down_LightB_7Shape" -p "down_LightB_7"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode transform -n "down_LightB_8" -p "down_Light_grp"; + setAttr ".t" -type "double3" -7.0710678118654773 -17.320508075688775 7.0710678118654737 ; + setAttr ".r" -type "double3" 60.000000000000007 -45.000000000000014 0 ; + setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999989 1 ; + setAttr ".rp" -type "double3" 0 0 -1.5265566588595902e-015 ; + setAttr ".rpt" -type "double3" 5.397192826725477e-016 1.3220368468887001e-015 + 9.8683737618704294e-016 ; + setAttr ".sp" -type "double3" 0 0 -1.5265566588595902e-015 ; +createNode directionalLight -n "down_LightB_8Shape" -p "down_LightB_8"; + setAttr -k off ".v"; + setAttr ".col" 20; +createNode lightLinker -n "lightLinker1"; +createNode displayLayerManager -n "layerManager"; +createNode displayLayer -n "defaultLayer"; +createNode renderLayerManager -n "renderLayerManager"; +createNode renderLayer -n "defaultRenderLayer"; +createNode renderLayer -s -n "globalRender"; +createNode script -n "sceneConfigurationScriptNode"; + setAttr ".b" -type "string" "playbackOptions -min 0 -max 140 -ast 0 -aet 140 "; + setAttr ".st" 6; +select -ne :time1; + setAttr ".o" 0; +select -ne :renderPartition; + setAttr -s 2 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 2 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :lightList1; + setAttr -s 41 ".l"; +select -ne :initialShadingGroup; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + setAttr ".fs" 1; + setAttr ".ef" 10; +select -ne :defaultLightSet; + setAttr -s 41 ".dsm"; +select -ne :hyperGraphLayout; + setAttr ".cch" no; + setAttr ".ihi" 2; + setAttr ".nds" 0; + setAttr ".img" -type "string" ""; + setAttr ".ims" 1; +connectAttr "GI.sx" "GI.sy"; +connectAttr "GI.sx" "GI.sz"; +connectAttr "Key_Light_geometryConstraint1.cgm" "Key_Light.g"; +connectAttr "Key_Light_aimConstraint1.crx" "Key_Light.rx"; +connectAttr "Key_Light_aimConstraint1.cry" "Key_Light.ry"; +connectAttr "Key_Light_aimConstraint1.crz" "Key_Light.rz"; +connectAttr "Key_Light.pim" "Key_Light_geometryConstraint1.cpim"; +connectAttr "domeShape.ws" "Key_Light_geometryConstraint1.tg[0].tgm"; +connectAttr "Key_Light_geometryConstraint1.w0" "Key_Light_geometryConstraint1.tg[0].tw" + ; +connectAttr "Key_Light.pim" "Key_Light_aimConstraint1.cpim"; +connectAttr "Key_Light.t" "Key_Light_aimConstraint1.ct"; +connectAttr "Key_Light.rp" "Key_Light_aimConstraint1.crp"; +connectAttr "Key_Light.rpt" "Key_Light_aimConstraint1.crt"; +connectAttr "Key_Light.ro" "Key_Light_aimConstraint1.cro"; +connectAttr "Key_Locator.t" "Key_Light_aimConstraint1.tg[0].tt"; +connectAttr "Key_Locator.rp" "Key_Light_aimConstraint1.tg[0].trp"; +connectAttr "Key_Locator.rpt" "Key_Light_aimConstraint1.tg[0].trt"; +connectAttr "Key_Locator.pm" "Key_Light_aimConstraint1.tg[0].tpm"; +connectAttr "Key_Light_aimConstraint1.w0" "Key_Light_aimConstraint1.tg[0].tw" + ; +connectAttr "up_Light_grp.up_int" "up_LightA_1Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_1Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_1Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_1Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_1Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_1Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_1Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_2Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_2Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_2Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_2Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_2Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_2Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_2Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_3Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_3Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_3Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_3Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_3Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_3Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_3Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_4Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_4Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_4Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_4Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_4Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_4Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_4Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_5Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_5Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_5Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_5Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_5Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_5Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_5Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_6Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_6Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_6Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_6Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_6Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_6Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_6Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_7Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_7Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_7Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_7Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_7Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_7Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_7Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightA_8Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightA_8Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightA_8Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightA_8Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightA_8Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightA_8Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightA_8Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_1Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_1Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_1Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_1Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_1Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_1Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_1Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_2Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_2Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_2Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_2Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_2Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_2Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_2Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_3Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_3Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_3Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_3Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_3Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_3Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_3Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_4Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_4Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_4Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_4Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_4Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_4Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_4Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_5Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_5Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_5Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_5Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_5Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_5Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_5Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_6Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_6Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_6Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_6Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_6Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_6Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_6Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_7Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_7Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_7Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_7Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_7Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_7Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_7Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightB_8Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightB_8Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightB_8Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightB_8Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightB_8Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightB_8Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightB_8Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_1Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_1Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_1Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_1Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_1Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_1Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_1Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_2Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_2Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_2Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_2Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_2Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_2Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_2Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_3Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_3Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_3Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_3Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_3Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_3Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_3Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_4Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_4Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_4Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_4Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_4Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_4Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_4Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_5Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_5Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_5Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_5Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_5Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_5Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_5Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_6Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_6Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_6Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_6Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_6Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_6Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_6Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_7Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_7Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_7Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_7Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_7Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_7Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_7Shape.fs"; +connectAttr "up_Light_grp.up_int" "up_LightC_8Shape.in"; +connectAttr "up_Light_grp.up_Color" "up_LightC_8Shape.cl"; +connectAttr "up_Light_grp.up_ShadowColor" "up_LightC_8Shape.sc"; +connectAttr "up_Light_grp.up_shadow" "up_LightC_8Shape.dms"; +connectAttr "up_Light_grp.up_reuse_shadow" "up_LightC_8Shape.du"; +connectAttr "up_Light_grp.up_shadow_Res" "up_LightC_8Shape.dr"; +connectAttr "up_Light_grp.up_Filter_Size" "up_LightC_8Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_1Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_1Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_1Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_1Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_1Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_1Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_1Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_2Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_2Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_2Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_2Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_2Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_2Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_2Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_3Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_3Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_3Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_3Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_3Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_3Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_3Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_4Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_4Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_4Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_4Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_4Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_4Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_4Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_5Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_5Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_5Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_5Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_5Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_5Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_5Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_6Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_6Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_6Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_6Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_6Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_6Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_6Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_7Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_7Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_7Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_7Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_7Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_7Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_7Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightA_8Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightA_8Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightA_8Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightA_8Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightA_8Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightA_8Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightA_8Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_1Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_1Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_1Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_1Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_1Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_1Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_1Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_2Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_2Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_2Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_2Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_2Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_2Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_2Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_3Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_3Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_3Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_3Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_3Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_3Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_3Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_4Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_4Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_4Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_4Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_4Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_4Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_4Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_5Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_5Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_5Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_5Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_5Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_5Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_5Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_6Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_6Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_6Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_6Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_6Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_6Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_6Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_7Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_7Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_7Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_7Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_7Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_7Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_7Shape.fs"; +connectAttr "down_Light_grp.down_int" "down_LightB_8Shape.in"; +connectAttr "down_Light_grp.down_Color" "down_LightB_8Shape.cl"; +connectAttr "down_Light_grp.down_ShadowColor" "down_LightB_8Shape.sc"; +connectAttr "down_Light_grp.down_shadow" "down_LightB_8Shape.dms"; +connectAttr "down_Light_grp.down_reuse_shadow" "down_LightB_8Shape.du"; +connectAttr "down_Light_grp.down_shadow_Res" "down_LightB_8Shape.dr"; +connectAttr "down_Light_grp.down_Filter_Size" "down_LightB_8Shape.fs"; +connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; +connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; +connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; +connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; +connectAttr "layerManager.dli[0]" "defaultLayer.id"; +connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; +connectAttr "lightLinker1.msg" ":lightList1.ln" -na; +connectAttr "up_LightA_1Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_2Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_3Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_4Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_5Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_6Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_7Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightA_8Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_1Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_2Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_3Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_4Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_5Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_6Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_7Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightB_8Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_1Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_2Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_3Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_8Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_7Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_6Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_5Shape.ltd" ":lightList1.l" -na; +connectAttr "up_LightC_4Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_1Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_1Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_2Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_3Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_4Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_5Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_6Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_7Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightA_8Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_2Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_3Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_4Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_5Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_6Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_7Shape.ltd" ":lightList1.l" -na; +connectAttr "down_LightB_8Shape.ltd" ":lightList1.l" -na; +connectAttr "Key_LightShape.ltd" ":lightList1.l" -na; +connectAttr "domeShape.iog" ":initialShadingGroup.dsm" -na; +connectAttr "up_LightA_1.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_2.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_3.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_4.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_5.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_6.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_7.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightA_8.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_1.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_2.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_3.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_4.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_5.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_6.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_7.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightB_8.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_1.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_2.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_3.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_8.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_7.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_6.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_5.iog" ":defaultLightSet.dsm" -na; +connectAttr "up_LightC_4.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_1.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_1.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_2.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_3.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_4.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_5.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_6.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_7.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightA_8.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_2.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_3.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_4.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_5.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_6.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_7.iog" ":defaultLightSet.dsm" -na; +connectAttr "down_LightB_8.iog" ":defaultLightSet.dsm" -na; +connectAttr "Key_Light.iog" ":defaultLightSet.dsm" -na; +// End of GI.ma diff --git a/2009-x64/GameProd/scripts/GI11.mel b/2009-x64/GameProd/scripts/GI11.mel new file mode 100644 index 0000000..ee54f04 --- /dev/null +++ b/2009-x64/GameProd/scripts/GI11.mel @@ -0,0 +1,438 @@ +// +// +// GLOBAL ILLUMINATION V1.1 +// AUTHOR : MARC DUBROIS +// +// +// +// +GI11(); + +proc MakeWin() +{ + + if (`window -exists "GI11"`) deleteUI "GI11"; + + + + window + -title " - [Global Illumination | V1.1] - " + -sizeable true + -titleBar true + -minimizeButton true + -maximizeButton false + -menuBarVisible false "GI11"; + + formLayout -numberOfDivisions 100 "Form1"; + + button -label "Render View" -align "center" -height 25 -command "RenderViewWindow;" "Rview"; + + button -label "Render Globals" -align "center" -height 25 -command "RenderGlobalsWindow;" "Rglobals"; + + button -label "SELECT G I " -align "center" -height 25 -command "select GI" "selGI"; + + button -label "DELETE G I " -align "center" -height 25 -command "delete GI" "delGI"; + + frameLayout -label "GLOBAL ILLUMINATION SETUP" -labelAlign "center" -collapsable false -borderStyle "etchedIn" "FrmMain"; + scrollLayout -horizontalScrollBarThickness 0 -verticalScrollBarThickness 12 -childResizable true "ScrMain"; + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 5 "ColMain"; + + +} + + +proc MakeFeet() +{ + formLayout -edit + + -attachForm "FrmMain" "top" 5 + -attachForm "FrmMain" "left" 5 + -attachControl "FrmMain" "bottom" 5 "selGI" + -attachForm "FrmMain" "right" 5 + + -attachNone "selGI" "top" + -attachForm "selGI" "left" 5 + -attachControl "selGI" "bottom" 5 "Rglobals" + -attachPosition "selGI" "right" 5 50 + + -attachNone "delGI" "top" + -attachControl "delGI" "left" 5 "selGI" + -attachControl "delGI" "bottom" 5 "Rview" + -attachForm "delGI" "right" 5 + + -attachNone "Rglobals" "top" + -attachForm "Rglobals" "left" 5 + -attachForm "Rglobals" "bottom" 5 + -attachPosition "Rglobals" "right" 5 50 + + -attachNone "Rview" "top" + -attachControl "Rview" "left" 5 "Rglobals" + -attachForm "Rview" "bottom" 5 + -attachForm "Rview" "right" 5 + + + + "Form1"; +} + +proc MakeEXTRA() +{ + frameLayout -label "EXTRA CONTROL" -labelAlign "center" -collapsable true -collapse false -borderStyle "etchedIn" FrmEXTRA; + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 5 "ColFrm"; + + +// Scale, visibility + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 5 "ColExtra"; + + global string $up = "up_Light_grp"; + global string $down = "down_Light_grp"; + global string $key = "Key_Light"; + global string $gi = "GI"; +// Scale of Global Illum Sphere + attrFieldSliderGrp -l "Global Scale" + -cal 1 "left" -cw 1 100 -cw 2 60 -cw 3 140 -cw 4 30 + -min 0 -max 10 -s 1 -attribute ("GI.sx"); + separator -h 5 -style "out"; +// checkbox visibility of GI, KeyLight, UpGrp, DownGrp + checkBoxGrp -numberOfCheckBoxes 2 -label "Visibility" -labelArray2 "Global Illum" "Key Light" -cal 1 "left" -cw 1 80 -cw 2 80 -cw 3 80 -cw 3 80 + -on1 ("setAttr " + $gi + ".visibility" + " on") + -on2 ("setAttr " + $key + ".visibility" + " on") + -of1 ("setAttr " + $gi + ".visibility" + " off") + -of2 ("setAttr " + $key + ".visibility" + " off") + -v1 (eval("getAttr " + $gi + ".visibility")) + -v2 (eval("getAttr " + $key + ".visibility")); + checkBoxGrp -numberOfCheckBoxes 2 -label "Visibility" -labelArray2 "Up Light" "Down Light" -cal 1 "left" -cw 1 80 -cw 2 80 -cw 3 80 -cw 3 80 + -on1 ("setAttr " + $up + ".visibility" + " on") + -on2 ("setAttr " + $down + ".visibility" + " on") + -of1 ("setAttr " + $up + ".visibility" + " off") + -of2 ("setAttr " + $down + ".visibility" + " off") + -v1 (eval("getAttr " + $up + ".visibility")) + -v2 (eval("getAttr " + $down + ".visibility")); + separator -h 5 -style "out"; + setParent ..; + setParent ..; + setParent ..; +// Fin EXTRA +} +////////////////////////////////////////// + +////////////////////////////////////////// + + +proc MakeKEY() +{ + frameLayout -label "KEY LIGHT CONTROL" -labelAlign "center" -collapsable true -collapse false -borderStyle "etchedIn" FrmKEY; + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 5 "ColFrm"; + + global string $key = "Key_Light"; + + + +// Color & Intensity + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 2 "ColColor"; + attrColorSliderGrp -label "Color" -columnAlign 1 "left" -adjustableColumn 3 -showButton true + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($key+".color"); + + attrFieldSliderGrp -label "Intensity" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($key+".intensity"); + + separator -h 5 -style "out" "SepColor1"; + setParent ..; + + +// Shadows + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 2 "ColShadows"; + attrColorSliderGrp -label "Shadow Color" -columnAlign 1 "left" -adjustableColumn 3 -showButton true + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($key+".shadowColor"); + + attrFieldSliderGrp -label "Shadow Resolution" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($key+".dmapResolution"); + + attrFieldSliderGrp -label "Shad Filter Size" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($key+".dmapFilterSize"); + + separator -h 5 -style "out" "SepShadows1"; + setParent ..; + + +// Attributes + formLayout -numberOfDivisions 60 "FormAttributes"; + + text -label "Shadow Attribute" -align "left" -height 20 "LblShadow"; + text -label "Light Attribute" -align "left" -height 20 "LblLight"; + + checkBox -label "Use Shadow" -height 20 -value (eval("getAttr " + $key + ".useDepthMapShadows")) -onCommand ("setAttr " + $key + ".useDepthMapShadows" + " on") -offCommand ("setAttr " + $key + ".useDepthMapShadows" + " off") "ChkUse"; + checkBox -label "ReUse Shadow" -height 20 -value (eval("getAttr " + $key + ".reuseDmap")) -onCommand ("setAttr " + $key + ".reuseDmap" + " on") -offCommand ("setAttr " + $key + ".reuseDmap" + " off") "ChkReUse"; + + checkBox -label "Emit Diffuse" -height 20 -value (eval("getAttr " + $key + ".emitDiffuse")) -onCommand ("setAttr " + $key + ".emitDiffuse" + " on") -offCommand ("setAttr " + $key + ".emitDiffuse" + " off") "ChkEmitD"; + checkBox -label "Emit Specular" -height 20 -value (eval("getAttr " + $key + ".emitSpecular")) -onCommand ("setAttr " + $key + ".emitSpecular" + " on") -offCommand ("setAttr " + $key + ".emitSpecular" + " off") "ChkEmitS"; + + separator -h 5 -style "out" "SepAttr1"; + + attrEnumOptionMenu -label "DECAY RATE" -attribute ($key + ".decayRate") "keydecay"; + + separator -h 5 -style "out" "SepAttr2"; + + button -label "SELECT KEY LIGHT " -align "center" -height 25 -command ("select -r" + " $key") "selkey"; + + + formLayout -edit + -attachForm "LblShadow" "top" 0 + -attachForm "LblShadow" "left" 5 + -attachNone "LblShadow" "bottom" + -attachPosition "LblShadow" "right" 5 20 + + -attachForm "ChkUse" "top" 0 + -attachControl "ChkUse" "left" 5 "LblShadow" + -attachNone "ChkUse" "bottom" + -attachPosition "ChkUse" "right" 5 40 + + -attachForm "ChkReUse" "top" 0 + -attachControl "ChkReUse" "left" 5 "ChkUse" + -attachNone "ChkReUse" "bottom" + -attachForm "ChkReUse" "right" 5 + + -attachControl "LblLight" "top" 5 "LblShadow" + -attachForm "LblLight" "left" 5 + -attachNone "LblLight" "bottom" + -attachPosition "LblLight" "right" 5 20 + + -attachControl "ChkEmitD" "top" 5 "ChkUse" + -attachControl "ChkEmitD" "left" 5 "LblLight" + -attachNone "ChkEmitD" "bottom" + -attachPosition "ChkEmitD" "right" 5 40 + + -attachControl "ChkEmitS" "top" 5 "ChkReUse" + -attachControl "ChkEmitS" "left" 5 "ChkEmitD" + -attachNone "ChkEmitS" "bottom" + -attachForm "ChkEmitS" "right" 5 + + -attachControl "SepAttr1" "top" 2 "LblLight" + -attachForm "SepAttr1" "left" 5 + -attachNone "SepAttr1" "bottom" + -attachForm "SepAttr1" "right" 5 + + -attachControl "keydecay" "top" 5 "SepAttr1" + -attachPosition "keydecay" "left" 5 10 + -attachNone "keydecay" "bottom" + -attachForm "keydecay" "right" 5 + + -attachControl "SepAttr2" "top" 2 "keydecay" + -attachForm "SepAttr2" "left" 5 + -attachNone "SepAttr2" "bottom" + -attachForm "SepAttr2" "right" 5 + + -attachControl "selkey" "top" 5 "SepAttr2" + -attachForm "selkey" "left" 5 + -attachForm "selkey" "bottom" 5 + -attachForm "selkey" "right" 5 + + "FormAttributes"; + + setParent ..; + setParent ..; + setParent ..; +// Fin KEY +} + +////////////////////////////////////////// + +////////////////////////////////////////// + +proc MakeUP() +{ + frameLayout -label "UP LIGHT CONTROL" -labelAlign "center" -collapsable true -collapse false -borderStyle "etchedIn" FrmUP; + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 5 "ColFrm"; + + global string $up = "up_Light_grp"; + +// Color & Intensity + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 2 "ColColor"; + attrColorSliderGrp -label "Color" -columnAlign 1 "left" -adjustableColumn 3 -showButton true + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($up+".up_Color"); + + attrFieldSliderGrp -label "Intensity" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($up+".up_int"); + + separator -h 5 -style "out" "SepColor1"; + setParent ..; + + +// Shadows + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 2 "ColShadows"; + attrColorSliderGrp -label "Shadow Color" -columnAlign 1 "left" -adjustableColumn 3 -showButton true + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($up+".up_ShadowColor"); + + attrFieldSliderGrp -label "Shadow Resolution" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($up+".up_shadow_Res"); + + attrFieldSliderGrp -label "Shad Filter Size" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($up+".up_Filter_Size"); + + separator -h 5 -style "out" "SepShadows1"; + setParent ..; + + +// Attributes + formLayout -numberOfDivisions 60 "FormAttributes"; + + text -label "Shadow Attribute" -align "left" -height 20 "LblShadow"; + + + checkBox -label "Use Shadow" -height 20 -value (eval("getAttr " + $up + ".up_shadow")) -onCommand ("setAttr " + $up + ".up_shadow" + " on") -offCommand ("setAttr " + $up + ".up_shadow" + " off") "ChkUse"; + checkBox -label "ReUse Shadow" -height 20 -value (eval("getAttr " + $up + ".up_reuse_shadow")) -onCommand ("setAttr " + $up + ".up_reuse_shadow" + " on") -offCommand ("setAttr " + $up + ".up_reuse_shadow" + " off") "ChkReUse"; + + separator -h 5 -style "out" "SepAttr1"; + + + formLayout -edit + -attachForm "LblShadow" "top" 0 + -attachForm "LblShadow" "left" 5 + -attachNone "LblShadow" "bottom" + -attachPosition "LblShadow" "right" 5 20 + + -attachForm "ChkUse" "top" 0 + -attachControl "ChkUse" "left" 5 "LblShadow" + -attachNone "ChkUse" "bottom" + -attachPosition "ChkUse" "right" 5 40 + + -attachForm "ChkReUse" "top" 0 + -attachControl "ChkReUse" "left" 5 "ChkUse" + -attachNone "ChkReUse" "bottom" + -attachForm "ChkReUse" "right" 5 + + -attachControl "SepAttr1" "top" 2 "ChkUse" + -attachForm "SepAttr1" "left" 5 + -attachNone "SepAttr1" "bottom" + -attachForm "SepAttr1" "right" 5 + + "FormAttributes"; + + setParent ..; + setParent ..; + setParent ..; +// Fin UP +} + +////////////////////////////////////////// + +////////////////////////////////////////// + +proc MakeDOWN() +{ + frameLayout -label "DOWN LIGHT CONTROL" -labelAlign "center" -collapsable true -collapse false -borderStyle "etchedIn" FrmDOWN; + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 5 "ColFrm"; + + global string $down = "down_Light_grp"; + +// Color & Intensity + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 2 "ColColor"; + attrColorSliderGrp -label "Color" -columnAlign 1 "left" -adjustableColumn 3 -showButton true + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($down+".down_Color"); + + attrFieldSliderGrp -label "Intensity" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($down+".down_int"); + + separator -h 5 -style "out" "SepColor1"; + setParent ..; + + +// Shadows + columnLayout -adjustableColumn true -columnAlign "left" -columnOffset "both" 5 -rowSpacing 2 "ColShadows"; + attrColorSliderGrp -label "Shadow Color" -columnAlign 1 "left" -adjustableColumn 3 -showButton true + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($down+".down_ShadowColor"); + + attrFieldSliderGrp -label "Shadow Resolution" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($down+".down_shadow_Res"); + + attrFieldSliderGrp -label "Shad Filter Size" -columnAlign 1 "left" -adjustableColumn 3 + -columnWidth 1 100 -columnWidth 2 60 -columnWidth 3 140 -columnWidth 4 30 + -columnAttach 1 "both" 2 -columnAttach 1 "both" 2 -columnAttach 2 "both" 2 -attribute ($down+".down_Filter_Size"); + + separator -h 5 -style "out" "SepShadows1"; + setParent ..; + + +// Attributes + formLayout -numberOfDivisions 60 "FormAttributes"; + + text -label "Shadow Attribute" -align "left" -height 20 "LblShadow"; + + + checkBox -label "Use Shadow" -height 20 -value (eval("getAttr " + $down + ".down_shadow")) -onCommand ("setAttr " + $down + ".down_shadow" + " on") -offCommand ("setAttr " + $down + ".down_shadow" + " off") "ChkUse"; + checkBox -label "ReUse Shadow" -height 20 -value (eval("getAttr " + $down + ".down_reuse_shadow")) -onCommand ("setAttr " + $down + ".down_reuse_shadow" + " on") -offCommand ("setAttr " + $down + ".down_reuse_shadow" + " off") "ChkReUse"; + + separator -h 5 -style "out" "SepAttr1"; + + + formLayout -edit + -attachForm "LblShadow" "top" 0 + -attachForm "LblShadow" "left" 5 + -attachNone "LblShadow" "bottom" + -attachPosition "LblShadow" "right" 5 20 + + -attachForm "ChkUse" "top" 0 + -attachControl "ChkUse" "left" 5 "LblShadow" + -attachNone "ChkUse" "bottom" + -attachPosition "ChkUse" "right" 5 40 + + -attachForm "ChkReUse" "top" 0 + -attachControl "ChkReUse" "left" 5 "ChkUse" + -attachNone "ChkReUse" "bottom" + -attachForm "ChkReUse" "right" 5 + + -attachControl "SepAttr1" "top" 2 "ChkUse" + -attachForm "SepAttr1" "left" 5 + -attachNone "SepAttr1" "bottom" + -attachForm "SepAttr1" "right" 5 + + "FormAttributes"; + + setParent ..; + setParent ..; + setParent ..; +// Fin DOWN +} + +////////////////////////////////////////// + +////////////////////////////////////////// + + +global proc GI11() +{ + if (`objExists"GI"`) + {} + else + {string $domeLight = `file -import -type "mayaAscii" -options "v=0" "D:/My Documents/maya/7.0/scripts/GI.ma"`;}; + + MakeWin(); + + MakeFeet(); + + MakeEXTRA(); + + MakeKEY(); + + MakeUP(); + + MakeDOWN(); + + showWindow GI11; +} + + diff --git a/2009-x64/GameProd/scripts/GIJoe.lights b/2009-x64/GameProd/scripts/GIJoe.lights new file mode 100644 index 0000000..6f8a65a Binary files /dev/null and b/2009-x64/GameProd/scripts/GIJoe.lights differ diff --git a/2009-x64/GameProd/scripts/GI_Joe.mel b/2009-x64/GameProd/scripts/GI_Joe.mel new file mode 100644 index 0000000..70c21ab --- /dev/null +++ b/2009-x64/GameProd/scripts/GI_Joe.mel @@ -0,0 +1,4493 @@ +/* + +GI_Joe mel script - version 2.1 - (c) Emmanuel Campin - 2001 / 2002 + + +****************************************** +version 2.1 / date: 12 26 2002 +Bugs fixed / improvements: see www.pixho.com for this bugs fixed / improvements list + +Features added: +- clean scene shadows +- clean all shadows (please refer to the doc for more details) +- HDRI fake feature (ray-trace only) +****************************************** + +This script creates a spherical based lighting (GI fake) plus a shader which allow +the user to bake the generated shadows. +This spherical lighting is separated in 2: skyLight_group and groundLight_group. +Each group can be controlled in color and intensity independantly to the other. +You can connect/disconnect any texture (environment textures excluded) you want. + +Usage: +Place the GIJoe.lights scene and the GI_Joe.mel into your script directory +IMPORTANT: You'll have to change the directory location in line 57 +(or search the string "your_script_directory_path/scripts/GIJoe.lights") + +Source the script and execute it. + + +Go to www.pixho.com for more infos and limitations about the GI_Joe.mel script. + +Send your comments to pixho@pixho.com + +If you find a bug, send a mail at gijoe_bug@pixho.com with a precise description of the bug + +*/ + + + + + + + + + + + + global proc gi_loadGIJ() + { + global string $light_win; + + int $lightType = `radioButtonGrp -q -select lightT`; + int $lightNumS = `radioButtonGrp -q -select numSLights`; + int $lightNumG = `radioButtonGrp -q -select numGLights`; + + // modify here the path of the imported scene. + string $pathL = "C:/Documents and Settings/Ty Carriere/My Documents/maya/6.0/scripts/GIJoe.lights"; + + string $domeLight = `file -import -type "mayaBinary" -options "v=0" $pathL`; + deleteUI -window $light_win; + + // how many lights and what type + + if ($lightType == 1) // Spots + { + string $g[] = `ls "SDir*"`; + string $s[] = `ls "GDir*"`; + delete $g $s; + + if ($lightNumS == 1) // Sky 16 + delete SSpot64_group SSpot256_group; + + if ($lightNumS == 2) // Sky 64 + delete SSpot256_group SSpot16_group; + + if ($lightNumS == 3) // Sky 256 + delete SSpot16_group SSpot64_group; + + if ($lightNumG == 1) // Ground 16 + delete GSpot64_group; + + if ($lightNumG == 2) // Ground 64 + delete GSpot16_group; + } + else // directionals + { + string $g[] = `ls "SSpot*"`; + string $s[] = `ls "GSpot*"`; + delete $g $s; + + if ($lightNumS == 1) // Sky 16 + delete SDir64_group SDir256_group; + + if ($lightNumS == 2) // Sky 64 + delete SDir256_group SDir16_group; + + if ($lightNumS == 3) // Sky 256 + delete SDir16_group SDir64_group; + + if ($lightNumG == 1) // Ground 16 + delete GDir64_group; + + if ($lightNumG == 2) // Ground 64 + delete GDir16_group; + } + + string $slights[]; + string $glights[]; + + if ($lightType == 1) + { + $slights = `ls "SkySpotShape*"`; + $glights = `ls "GroundSpotShape*"`; + } + else + { + $slights = `ls "SkyDirShape*"`; + $glights = `ls "GroundDirShape*"`; + } + + int $num = 1; + for ($item in $slights) + { + string $par[] = `listRelatives -p $item`; + rename $par[0] ("skyLight" + $num); + rename $item ("skyLightShape" + $num); + $num++; + } + int $num = 1; + for ($item in $glights) + { + string $par[] = `listRelatives -p $item`; + rename $par[0] ("groundLight" + $num); + rename $item ("groundLightShape" + $num); + $num++; + } + + string $sgrp[] = `listRelatives -p "skyLight1"`; + string $ggrp[] = `listRelatives -p "groundLight1"`; + rename $sgrp[0] "skyLight_group"; + rename $ggrp[0] "groundLight_group"; + + + gi_main ($lightType, $lightNumS, $lightNumG); + +} + + +// TEXTURES 2d + + // connecting the texture bulge + +proc gi_conBulge (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".uWidth") ($inc + ".uWidth"); + connectAttr -f ($tex + ".vWidth") ($inc + ".vWidth"); + connectAttr -f ($tex + ".invert") ($inc + ".invert"); + } +} + + + // connecting the texture checker + + proc gi_conChecker (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".color1") ($inc + ".color1"); + connectAttr -f ($tex + ".color2") ($inc + ".color2"); + connectAttr -f ($tex + ".contrast") ($inc + ".contrast"); + } + } + + + // connecting the texture cloth + + proc gi_conCloth (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".gapColor") ($inc + ".gapColor"); + connectAttr -f ($tex + ".uColor") ($inc + ".uColor"); + connectAttr -f ($tex + ".vColor") ($inc + ".vColor"); + connectAttr -f ($tex + ".uWidth") ($inc + ".uWidth"); + connectAttr -f ($tex + ".vWidth") ($inc + ".vWidth"); + connectAttr -f ($tex + ".uWave") ($inc + ".uWave"); + connectAttr -f ($tex + ".vWave") ($inc + ".vWave"); + connectAttr -f ($tex + ".randomness") ($inc + ".randomness"); + connectAttr -f ($tex + ".widthSpread") ($inc + ".widthSpread"); + connectAttr -f ($tex + ".brightSpread") ($inc + ".brightSpread"); + } + } + + + // connecting the texture file + + proc gi_conFile (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".fileTextureName") ($inc + ".fileTextureName"); + connectAttr -f ($tex + ".useFrameExtension") ($inc + ".useFrameExtension"); + connectAttr -f ($tex + ".frameExtension") ($inc + ".frameExtension"); + } + } + + // connecting the texture fractal + + proc gi_conFractal (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr -f ($tex + ".ratio") ($inc + ".ratio"); + connectAttr -f ($tex + ".threshold") ($inc + ".threshold"); + connectAttr -f ($tex + ".levelMin") ($inc + ".levelMin"); + connectAttr -f ($tex + ".levelMax") ($inc + ".levelMax"); + connectAttr -f ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr -f ($tex + ".bias") ($inc + ".bias"); + connectAttr -f ($tex + ".inflection") ($inc + ".inflection"); + connectAttr -f ($tex + ".animated") ($inc + ".animated"); + connectAttr -f ($tex + ".timeRatio") ($inc + ".timeRatio"); + connectAttr -f ($tex + ".time") ($inc + ".time"); + } + } + + // connecting the texture grid + + proc gi_conGrid (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr -f ($tex + ".lineColor") ($inc + ".lineColor"); + connectAttr -f ($tex + ".contrast") ($inc + ".contrast"); + connectAttr -f ($tex + ".uWidth") ($inc + ".uWidth"); + connectAttr -f ($tex + ".vWidth") ($inc + ".vWidth"); + } + } + + // connecting the texture mountain + + proc gi_conMountain (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".snowColor") ($inc + ".snowColor"); + connectAttr -f ($tex + ".rockColor") ($inc + ".rockColor"); + connectAttr -f ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr -f ($tex + ".snowRoughness") ($inc + ".snowRoughness"); + connectAttr -f ($tex + ".rockRoughness") ($inc + ".rockRoughness"); + connectAttr -f ($tex + ".boundary") ($inc + ".boundary"); + connectAttr -f ($tex + ".snowAltitude") ($inc + ".snowAltitude"); + connectAttr -f ($tex + ".snowDropoff") ($inc + ".snowDropoff"); + connectAttr -f ($tex + ".snowSlope") ($inc + ".snowSlope"); + connectAttr -f ($tex + ".depthMax") ($inc + ".depthMax"); + } + } + + // connecting the texture movie + + proc gi_conMovie (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".fileTextureName") ($inc + ".fileTextureName"); + connectAttr -f ($tex + ".useFrameExtension") ($inc + ".useFrameExtension"); + connectAttr -f ($tex + ".frameExtension") ($inc + ".frameExtension"); + } +} + +// connecting the texture noise + +proc gi_conNoise (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr -f ($tex + ".ratio") ($inc + ".ratio"); + connectAttr -f ($tex + ".threshold") ($inc + ".threshold"); + connectAttr -f ($tex + ".depthMax") ($inc + ".depthMax"); + connectAttr -f ($tex + ".frequency") ($inc + ".frequency"); + connectAttr -f ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr -f ($tex + ".inflection") ($inc + ".inflection"); + connectAttr -f ($tex + ".time") ($inc + ".time"); + connectAttr -f ($tex + ".noiseType") ($inc + ".noiseType"); + connectAttr -f ($tex + ".density") ($inc + ".density"); + connectAttr -f ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr -f ($tex + ".sizeRand") ($inc + ".sizeRand"); + connectAttr -f ($tex + ".randomness") ($inc + ".randomness"); + connectAttr -f ($tex + ".falloff") ($inc + ".falloff"); + connectAttr -f ($tex + ".numWaves") ($inc + ".numWaves"); + } +} + +// connecting the texture ramp + +proc gi_conRamp (string $tex, int $isSky) + +{ + global string $celBaseSky[]; + global string $celBaseGround[]; + string $celBase[]; + string $dupTex[]; + if ($isSky == 1) + { + $dupTex = `ls ("skyTex*")`; + $celBase = $celBaseSky = `listAttr -c -multi -st colorEntryList $tex`; + } + else + { + $dupTex = `ls ("groundTex*")`; + $celBase = $celBaseGround = `listAttr -c -multi -st colorEntryList $tex`; + } + string $inc; + int $num; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".type") ($inc + ".type"); + connectAttr -f ($tex + ".interpolation") ($inc + ".interpolation"); + for ($numCel in $celBase) + { + connectAttr -f ($tex + "." + $numCel) ($inc + "." + $numCel); + } + connectAttr -f ($tex + ".uWave") ($inc + ".uWave"); + connectAttr -f ($tex + ".vWave") ($inc + ".vWave"); + connectAttr -f ($tex + ".noise") ($inc + ".noise"); + connectAttr -f ($tex + ".noiseFreq") ($inc + ".noiseFreq"); + connectAttr -f ($tex + ".hueNoise") ($inc + ".hueNoise"); + connectAttr -f ($tex + ".satNoise") ($inc + ".satNoise"); + connectAttr -f ($tex + ".valNoise") ($inc + ".valNoise"); + connectAttr -f ($tex + ".hueNoiseFreq") ($inc + ".hueNoiseFreq"); + connectAttr -f ($tex + ".satNoiseFreq") ($inc + ".satNoiseFreq"); + connectAttr -f ($tex + ".valNoiseFreq") ($inc + ".valNoiseFreq"); + $num++; + } + global int $texChangedSJ; + string $stBase; + if($isSky == 1) + $stBase = "celBaseSky"; + else + $stBase = "celBaseGround"; + $texChangedSJ = `scriptJob -ac ($tex + ".outColor") ("global string $celBaseSky[]; global string $celBaseGround[] ; gi_celRamp (\"" + $tex + "\"," + $isSky + ", $" +$stBase + ");")`; +} + + +global proc gi_celRamp (string $tex, int $isSky, string $celB[]) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + + string $cel_new[] = `listAttr -c -multi -st colorEntryList $tex`; + int $sizeBase = `size $celB`; + int $sizeNewCel = `size $cel_new`; + + if ($sizeBase > $sizeNewCel) + { + string $celDif[] = stringArrayRemove ($cel_new, $celB); + string $cels; + for ($cels in $celDif) + { + string $dupRamp; + for ($dupRamp in $dupTex) + { + removeMultiInstance -break true ($dupRamp + "." + $cels); + } + } + } + else if ($sizeBase < $sizeNewCel) + { + string $celDif[] = stringArrayRemove ($celB, $cel_new); + string $cels; + for ($cels in $celDif) + { + string $dupRamp; + for ($dupRamp in $dupTex) + { + connectAttr -f ($tex + "." + $cels) ($dupRamp + "." + $cels); + } + } + } + global string $celBaseSky[]; + global string $celBaseGround[]; + if ($isSky == 1) + $celBaseSky = $cel_new; + else + $celBaseGround = $cel_new; +} + + +// connecting the texture water + +proc gi_conWater (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".numberOfWaves") ($inc + ".numberOfWaves"); + connectAttr -f ($tex + ".waveTime") ($inc + ".waveTime"); + connectAttr -f ($tex + ".waveVelocity") ($inc + ".waveVelocity"); + connectAttr -f ($tex + ".waveAmplitude") ($inc + ".waveAmplitude"); + connectAttr -f ($tex + ".waveFrequency") ($inc + ".waveFrequency"); + connectAttr -f ($tex + ".subWaveFrequency") ($inc + ".subWaveFrequency"); + connectAttr -f ($tex + ".smoothness") ($inc + ".smoothness"); + connectAttr -f ($tex + ".windUV") ($inc + ".windUV"); + connectAttr -f ($tex + ".rippleTime") ($inc + ".rippleTime"); + connectAttr -f ($tex + ".rippleFrequency") ($inc + ".rippleFrequency"); + connectAttr -f ($tex + ".rippleAmplitude") ($inc + ".rippleAmplitude"); + connectAttr -f ($tex + ".dropSize") ($inc + ".dropSize"); + connectAttr -f ($tex + ".rippleOrigin") ($inc + ".rippleOrigin"); + connectAttr -f ($tex + ".groupVelocity") ($inc + ".groupVelocity"); + connectAttr -f ($tex + ".phaseVelocity") ($inc + ".phaseVelocity"); + connectAttr -f ($tex + ".spreadRate") ($inc + ".spreadRate"); + connectAttr -f ($tex + ".reflectionBox") ($inc + ".reflectionBox"); + connectAttr -f ($tex + ".boxMin") ($inc + ".boxMin"); + connectAttr -f ($tex + ".boxMax") ($inc + ".boxMax"); + connectAttr -f ($tex + ".fast") ($inc + ".fast"); + } +} + + +// TEXTURES 3d + +// brownian + +proc gi_conBrownian (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".lacunarity") ($inc + ".lacunarity"); + connectAttr ($tex + ".increment") ($inc + ".increment"); + connectAttr ($tex + ".octaves") ($inc + ".octaves"); + connectAttr ($tex + ".weight3d") ($inc + ".weight3d"); + } +} + + +// cloud + +proc gi_conCloud (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".color1") ($inc + ".color1"); + connectAttr ($tex + ".color2") ($inc + ".color2"); + connectAttr ($tex + ".contrast") ($inc + ".contrast"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".softEdges") ($inc + ".softEdges"); + connectAttr ($tex + ".edgeThresh") ($inc + ".edgeThresh"); + connectAttr ($tex + ".centerThresh") ($inc + ".centerThresh"); + connectAttr ($tex + ".transpRange") ($inc + ".transpRange"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + } +} + + +// crater + +proc gi_conCrater (string $tex, int $isSky) +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".shaker") ($inc + ".shaker"); + connectAttr ($tex + ".channel1") ($inc + ".channel1"); + connectAttr ($tex + ".channel2") ($inc + ".channel2"); + connectAttr ($tex + ".channel3") ($inc + ".channel3"); + connectAttr ($tex + ".melt") ($inc + ".melt"); + connectAttr ($tex + ".balance") ($inc + ".balance"); + connectAttr ($tex + ".frequency") ($inc + ".frequency"); + } +} + + +// granite + +proc gi_conGranite (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".color1") ($inc + ".color1"); + connectAttr ($tex + ".color2") ($inc + ".color2"); + connectAttr ($tex + ".color3") ($inc + ".color3"); + connectAttr ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr ($tex + ".cellSize") ($inc + ".cellSize"); + connectAttr ($tex + ".density") ($inc + ".density"); + connectAttr ($tex + ".mixRatio") ($inc + ".mixRatio"); + connectAttr ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".creases") ($inc + ".creases"); + } +} + + +// leather + +proc gi_conLeather (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".cellColor") ($inc + ".cellColor"); + connectAttr ($tex + ".creaseColor") ($inc + ".creaseColor"); + connectAttr ($tex + ".cellSize") ($inc + ".cellSize"); + connectAttr ($tex + ".density") ($inc + ".density"); + connectAttr ($tex + ".mixRatio") ($inc + ".mixRatio"); + connectAttr ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".crease") ($inc + ".crease"); + } +} + + +// marble + +proc gi_conMarble (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr ($tex + ".veinColor") ($inc + ".veinColor"); + connectAttr ($tex + ".veinWidth") ($inc + ".veinWidth"); + connectAttr ($tex + ".diffusion") ($inc + ".diffusion"); + connectAttr ($tex + ".contrast") ($inc + ".contrast"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + } +} + + +// rock + +proc gi_conRock (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".color1") ($inc + ".color1"); + connectAttr ($tex + ".color2") ($inc + ".color2"); + connectAttr ($tex + ".diffusion") ($inc + ".diffusion"); + connectAttr ($tex + ".grainSize") ($inc + ".grainSize"); + connectAttr ($tex + ".mixRatio") ($inc + ".mixRatio"); + } +} + + +// solidFractal + +proc gi_conSolidFractal (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + connectAttr ($tex + ".bias") ($inc + ".bias"); + connectAttr ($tex + ".inflection") ($inc + ".inflection"); + connectAttr ($tex + ".animated") ($inc + ".animated"); + connectAttr ($tex + ".time") ($inc + ".time"); + connectAttr ($tex + ".timeRatio") ($inc + ".timeRatio"); + } +} + + +// stucco + +proc gi_conStucco (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".shaker") ($inc + ".shaker"); + connectAttr ($tex + ".channel1") ($inc + ".channel1"); + connectAttr ($tex + ".channel2") ($inc + ".channel2"); + } +} + +// volume noise + +proc gi_conVolumeNoise (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr ($tex + ".depthMax") ($inc + ".depthMax"); + connectAttr ($tex + ".inflection") ($inc + ".inflection"); + connectAttr ($tex + ".time") ($inc + ".time"); + connectAttr ($tex + ".frequency") ($inc + ".frequency"); + connectAttr ($tex + ".scale") ($inc + ".scale"); + connectAttr ($tex + ".origin") ($inc + ".origin"); + connectAttr ($tex + ".noiseType") ($inc + ".noiseType"); + connectAttr ($tex + ".density") ($inc + ".density"); + connectAttr ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr ($tex + ".sizeRand") ($inc + ".sizeRand"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".falloff") ($inc + ".falloff"); + connectAttr ($tex + ".numWaves") ($inc + ".numWaves"); + } +} + +// wood + +proc gi_conWood (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr ($tex + ".veinColor") ($inc + ".veinColor"); + connectAttr ($tex + ".veinSpread") ($inc + ".veinSpread"); + connectAttr ($tex + ".layerSize") ($inc + ".layerSize"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".age") ($inc + ".age"); + connectAttr ($tex + ".grainColor") ($inc + ".grainColor"); + connectAttr ($tex + ".grainContrast") ($inc + ".grainContrast"); + connectAttr ($tex + ".grainSpacing") ($inc + ".grainSpacing"); + connectAttr ($tex + ".center") ($inc + ".center"); + connectAttr ($tex + ".amplitudeX") ($inc + ".amplitudeX"); + connectAttr ($tex + ".amplitudeY") ($inc + ".amplitudeY"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + } +} + + + +proc gi_type2d (string $tex, int $isSky) + +{ + // Which 2d texture?? + + if (`nodeType $tex` == "bulge") + { + gi_conBulge ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "checker") + { + gi_conChecker ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "cloth") + { + gi_conCloth ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "file") + { + gi_conFile ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "fractal") + { + gi_conFractal ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "grid") + { + gi_conGrid ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "mountain") + { + gi_conMountain ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "movie") + { + gi_conMovie ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "noise") + { + gi_conNoise ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "ramp") + { + gi_conRamp ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "water") + { + gi_conWater ($tex, $isSky); + return; + } +} + + +proc gi_type3d (string $tex, int $isSky) + +{ + // which 3d texture? + + if (`nodeType $tex` == "brownian") + { + gi_conBrownian ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "cloud") + { + gi_conCloud ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "crater") + { + gi_conCrater ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "granite") + { + gi_conGranite ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "leather") + { + gi_conLeather ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "marble") + { + gi_conMarble ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "rock") + { + gi_conRock ($tex, $isSky); + return; + } + + + if (`nodeType $tex` == "solidFractal") + { + gi_conSolidFractal ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "stucco") + { + gi_conStucco ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "volumeNoise") + { + gi_conVolumeNoise ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "wood") + { + gi_conWood ($tex, $isSky); + return; + } +} + + +proc gi_con2dTexSky (string $skyTex) + +{ + textFieldGrp -e -tx "Texture2d" SColStat; + string $tex = $skyTex; + if (`objExists "skyTex1"` == 1) + { + return; + } + else + { + string $lights[] = `ls ("skyLightShape*")`; + string $inc; + int $num = 0; + string $place2d[]; + string $conInfo = `connectionInfo -sfd ($skyTex + ".uvCoord")`; + + if (`size $conInfo` == 0) + { + string $creaPlace = `shadingNode -au place2dTexture`; + connectAttr -f ($creaPlace + ".outUV") ($tex + ".uvCoord"); + connectAttr -f ($creaPlace + ".outUvFilterSize") ($tex + ".uvFilterSize"); + $place2d[0] = $creaPlace; + } + else + tokenize $conInfo "." $place2d; + + string $transformSky[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposSky = `createNode closestPointOnSurface -n cposSky1`; + string $skyDupTex[] = `duplicate -n skyTex1 -ic $skyTex`; + string $sr = `shadingNode -au setRange -n sky_SR1`; + connectAttr -f ($transformSky[$num] + ".translate") ($cposSky + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposSky + ".inputSurface"); + connectAttr -f ($place2d[0] + ".repeatU") ($sr + ".maxX"); + connectAttr -f ($place2d[0] + ".repeatV") ($sr + ".maxZ"); + connectAttr -f ($cposSky + ".parameterU") ($sr + ".valueX"); + connectAttr -f ($cposSky + ".parameterV") ($sr + ".valueZ"); + setAttr ($sr + ".oldMax") 1 1 1; + connectAttr -f ($sr + ".outValueX") ($skyDupTex[0] + ".uCoord"); + connectAttr -f ($sr + ".outValueZ") ($skyDupTex[0] + ".vCoord"); + + connectAttr -f ($skyDupTex[0] + ".outColor") ($inc + ".color"); + $num++; + } + } + select -cl; + gi_type2d ($tex, 1); + int $spec = `radioButtonGrp -q -select skySpec`; + if ($spec == 1) + gi_SSpecT; +} + + +proc gi_con3dTexSky (string $skyTex) + +{ + textFieldGrp -e -tx "Texture3d" SColStat; + string $tex = $skyTex; + if (`objExists skyTex1` == 1) + { + return; + } + else + { + string $lights[] = `ls ("skyLightShape*")`; + string $inc; + int $num = 0; + + string $transformSky[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposSky = `createNode closestPointOnSurface -n cposSky1`; + string $skyDupTex[] = `duplicate -n skyTex1 -ic $skyTex`; + connectAttr -f ($transformSky[$num] + ".translate") ($cposSky + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposSky + ".inputSurface"); + connectAttr -f ($cposSky + ".parameterU") ($skyDupTex[0] + ".refPointCameraX"); + connectAttr -f ($cposSky + ".parameterV") ($skyDupTex[0] + ".refPointCameraY"); + + connectAttr -f ($skyDupTex[0] + ".outColor") ($inc + ".color"); + + $num++; + } + } + select -cl; + gi_type3d ($tex, 1); + int $spec = `radioButtonGrp -q -v skySpec`; + if ($spec == 1) + gi_skySpec; +} + + + +proc gi_con2dTexGround (string $groundTex) + +{ + textFieldGrp -e -tx "Texture2d" GColStat; + string $tex = $groundTex; + if (`objExists groundTex1` == 1) + { + return; + } + else + { + string $lights[] = `ls ("groundLightShape*")`; + string $inc; + int $num = 0; + string $place2d[]; + string $conInfo = `connectionInfo -sfd ($groundTex + ".uvCoord")`; + + if (`size $conInfo` == 0) + { + string $creaPlace = `shadingNode -au place2dTexture`; + connectAttr -f ($creaPlace + ".outUV") ($tex + ".uvCoord"); + connectAttr -f ($creaPlace + ".outUvFilterSize") ($tex + ".uvFilterSize"); + $place2d[0] = $creaPlace; + } + else + tokenize $conInfo "." $place2d; + + string $transformGround[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposGround = `createNode closestPointOnSurface -n cposGround1`; + string $groundDupTex[] = `duplicate -n groundTex1 -ic $groundTex`; + string $sr = `shadingNode -au setRange -n ground_SR1`; + connectAttr -f ($transformGround[$num] + ".translate") ($cposGround + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposGround + ".inputSurface"); + connectAttr -f ($place2d[0] + ".repeatU") ($sr + ".maxX"); + connectAttr -f ($place2d[0] + ".repeatV") ($sr + ".maxZ"); + connectAttr -f ($cposGround + ".parameterU") ($sr + ".valueX"); + connectAttr -f ($cposGround + ".parameterV") ($sr + ".valueZ"); + setAttr ($sr + ".oldMax") 1 1 1; + connectAttr -f ($sr + ".outValueX") ($groundDupTex[0] + ".uCoord"); + connectAttr -f ($sr + ".outValueZ") ($groundDupTex[0] + ".vCoord"); + + connectAttr -f ($groundDupTex[0] + ".outColor") ($inc + ".color"); + $num++; + } + } + gi_type2d ($tex, 0); + select -cl; +} + + +proc gi_con3dTexGround (string $groundTex) + +{ + textFieldGrp -e -tx "Texture3d" GColStat; + string $tex = $groundTex; + if (`objExists groundTex1` == 1) + { + return; + } + else + { + string $lights[] = `ls ("groundLightShape*")`; + string $inc; + int $num = 0; + + string $transformGround[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposGround = `createNode closestPointOnSurface -n cposGround1`; + string $groundDupTex[] = `duplicate -n groundTex1 -ic $groundTex`; + connectAttr -f ($transformGround[$num] + ".translate") ($cposGround + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposGround + ".inputSurface"); + connectAttr -f ($cposGround + ".parameterU") ($groundDupTex[0] + ".refPointCameraX"); + connectAttr -f ($cposGround + ".parameterV") ($groundDupTex[0] + ".refPointCameraY"); + + connectAttr -f ($groundDupTex[0] + ".outColor") ($inc + ".color"); + $num++; + } + } + gi_type3d ($tex, 0); + select -cl; +} + + +global proc GI_Joe() + +{ + global string $light_win = ""; + global string $GIj_UI; + + if (`window -ex $GIj_UI` == 1) + return; + + int $gi_reload; + int $lightType; + int $lightNumS; + int $lightNumG; + + if (`objExists "GIJoe_group"` == 1) + { + string $lights[] = `ls "skyLightShape*"`; + string $lightT = `nodeType $lights[0]`; + if ($lightT == "spotLight") + $lightType = 1; + else + $lightType = 0; + string $slight[] = `ls "skyLight*"`; + if (`size $slight` == 16) + $lightNumS = 1; + else if (`size $slight` == 64) + $lightNumS = 2; + else if (`size $slight` == 256) + $lightNumS = 3; + + string $glight[] = `ls "groundLight*"`; + if (`size $glight` == 16) + $lightNumG = 1; + else if (`size $glight` == 64) + $lightNumG = 2; + else + $lightNumG = 3; + + $gi_reload = 1; + gi_GIUI ($gi_reload, $lightType, $lightNumS, $lightNumG); + } + else + { + string $sceneName; + if( `window -exists $light_win` == true) + deleteUI -window $light_win; + + $light_win = `window -in "GI_Joe_preload" -t "GI_Joe preload" + -widthHeight 300 100 + -s 1`; + + columnLayout -adjustableColumn 1; + frameLayout + -label "Light type" + -labelAlign "top" + -bs "etchedIn"; + columnLayout; + radioButtonGrp + -l1 "spot" + -numberOfRadioButtons 2 + -sl 2 + -l2 "directional" lightT; + setParent ..; + setParent ..; + frameLayout + -label "Number of lights" + -bs "etchedIn"; + columnLayout; + radioButtonGrp + -label "skyLight" + -numberOfRadioButtons 3 + -l1 "16" + -l2 "64" + -l3 "256" + -sl 2 numSLights; + radioButtonGrp + -label "groundLight" + -numberOfRadioButtons 2 + -l1 "16" + -l2 "64" + -sl 1 numGLights; + setParent ..; + setParent ..; + frameLayout + -bs "etchedIn" + -label "Creation"; + button + -label "Go create" + -c gi_loadGIJ createGIJ; + setParent ..; + setParent ..; + + showWindow $light_win; + } +} + + + +global proc gi_conGlobal () + +{ + string $skylights[] = `ls "skyLightShape*"`; + string $groundlights[] = `ls "groundLightShape*"`; + string $inc; + int $num = 0; + string $ppath = `workspace -q -rd`; + string $sdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $pwdShadows = `pwd`; + print ("A GIJoe_shadows directory has been created in: " + $pwdShadows + "\n"); + string $bakedShdws = `chdir ($ppath + "/sourceimages/baked_shadows")`; + string $pwdBaked = `pwd`; + print ("A baked_shadows directory has been created in: " + $pwdBaked + "\n"); + + string $fileName = `file -q -sn`; + string $buffer[]; + tokenize $fileName "/" $buffer; + string $sceneName[]; + tokenize $buffer[`size $buffer`-1] "." $sceneName; + + int $sres = `intSliderGrp -q -v SDmapRes`; + int $gres = `intSliderGrp -q -v GDmapRes`; + float $sint = `floatSliderGrp -q -v SkyInt`; + int $sres = `intSliderGrp -q -v SDmapRes`; + float $gint = `floatSliderGrp -q -v GroundInt`; + int $gres = `intSliderGrp -q -v GDmapRes`; + + for ($inc in $skylights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "_skyShadow" + ($num+1) + "_" + $sres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + connectAttr -f GIJoe_group.skyColor ($inc + ".color"); + connectAttr -f GIJoe_group.shadowSColor ($inc + ".shadowColor"); + setAttr ($inc + ".intensity") $sint; + setAttr ($inc + ".useDepthMapShadows") 1; + setAttr ($inc + ".dmapResolution") $sres; + setAttr ($inc + ".emitSpecular") 0; + setAttr ($inc + ".dmapFilterSize") 3; + $num++; + } + for ($inc in $groundlights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "groundShadow" + ($num+1) + "_" + $gres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + connectAttr -f GIJoe_group.groundColor ($inc + ".color"); + connectAttr -f GIJoe_group.shadowGColor ($inc + ".shadowColor"); + setAttr ($inc + ".intensity") $gint; + setAttr ($inc + ".dmapResolution") $gres; + setAttr ($inc + ".emitSpecular") 0; + setAttr ($inc + ".useDepthMapShadows") 0; + setAttr ($inc + ".dmapFilterSize") 3; + $num++; + } +} + + +global proc gi_main (int $lightType, int $lightNumS, int $lightNumG) + +{ + string $GIJ_Surface[] = `sphere -n domeSurface`; + reverseSurface -d 3 -ch 0 -rpo 1 $GIJ_Surface[0]; + setAttr ($GIJ_Surface[0] + ".scale") 15 15 15; + setAttr ($GIJ_Surface[0] + ".rotateZ") 90; + setAttr ($GIJ_Surface[0] + ".primaryVisibility") 0; + setAttr ($GIJ_Surface[0] + ".doubleSided") 0; + setAttr ($GIJ_Surface[0] + ".castsShadows") 0; + setAttr ($GIJ_Surface[0] + ".receiveShadows") 0; + $domeSurface = $GIJ_Surface[0]; + + rebuildSurface -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kc 0 -su 4 -du 3 -sv 4 -dv 3 -tol 0.01 -dir 2 $domeSurface; + + FreezeTransformations; + DeleteHistory; + + string $sphere_shader = `shadingNode -as surfaceShader -n GIJoe_SS`; + string $blend = `shadingNode -au blendColors -n blendMat1`; + string $rampMat = `shadingNode -at ramp -n rampMat`; + setAttr ($rampMat + ".colorEntryList[2].color") 0 0 0; + setAttr ($rampMat + ".colorEntryList[0].color") 1 1 1; + removeMultiInstance -break true ($rampMat + ".colorEntryList[1]"); + setAttr ($rampMat + ".colorEntryList[0].position") 0.5; + setAttr ($rampMat + ".interpolation") 0; + setAttr ($rampMat + ".type") 0; + connectAttr -f ($rampMat + ".outAlpha") ($blend + ".blender"); + connectAttr -f ($blend + ".output") ($sphere_shader + ".outColor"); + select -cl; select $domeSurface; + hyperShade -assign GIJoe_SS; + + select -cl; select -add domeSurface skyLight_group groundLight_group; + group -n GIJoe_group; + + // adding color (RGB) attributes to be linked with UI + addAttr -ln skyColor -at float3 -uac GIJoe_group; + addAttr -ln skyColorR -at "float" -p skyColor GIJoe_group; + addAttr -ln skyColorG -at "float" -p skyColor GIJoe_group; + addAttr -ln skyColorB -at "float" -p skyColor GIJoe_group; + + addAttr -ln shadowSColor -at float3 -uac GIJoe_group; + addAttr -ln shadowSColorR -at "float" -p shadowSColor GIJoe_group; + addAttr -ln shadowSColorG -at "float" -p shadowSColor GIJoe_group; + addAttr -ln shadowSColorB -at "float" -p shadowSColor GIJoe_group; + + addAttr -ln groundColor -at float3 -uac GIJoe_group; + addAttr -ln groundColorR -at "float" -p groundColor GIJoe_group; + addAttr -ln groundColorG -at "float" -p groundColor GIJoe_group; + addAttr -ln groundColorB -at "float" -p groundColor GIJoe_group; + + addAttr -ln shadowGColor -at float3 -uac GIJoe_group; + addAttr -ln shadowGColorR -at "float" -p shadowGColor GIJoe_group; + addAttr -ln shadowGColorG -at "float" -p shadowGColor GIJoe_group; + addAttr -ln shadowGColorB -at "float" -p shadowGColor GIJoe_group; + + addAttr -ln bakeColor1 -at float3 -uac GIJoe_group; + addAttr -ln bakeColor1R -at "float" -p bakeColor1 GIJoe_group; + addAttr -ln bakeColor1G -at "float" -p bakeColor1 GIJoe_group; + addAttr -ln bakeColor1B -at "float" -p bakeColor1 GIJoe_group; + + addAttr -ln bakeColor2 -at float3 -uac GIJoe_group; + addAttr -ln bakeColor2R -at "float" -p bakeColor2 GIJoe_group; + addAttr -ln bakeColor2G -at "float" -p bakeColor2 GIJoe_group; + addAttr -ln bakeColor2B -at "float" -p bakeColor2 GIJoe_group; + + // general sky params + addAttr -ln SkyInt -at time GIJoe_group; + setAttr GIJoe_group.SkyInt 0.1; + + if ($lightType == 1) + { + addAttr -ln SConeAngle -at time GIJoe_group; + setAttr GIJoe_group.SConeAngle 40; + addAttr -ln SPenumbra -at time GIJoe_group; + setAttr GIJoe_group.SPenumbra 1; + addAttr -ln SDropOff -at time GIJoe_group; + setAttr GIJoe_group.SDropOff 0; + } + + addAttr -ln numLs -at time GIJoe_group; + addAttr -ln numLg -at time GIJoe_group; + if ($lightNumS == "1") + setAttr GIJoe_group.numLs 16; + else if ($lightNumS == "2") + setAttr GIJoe_group.numLs 64; + else if ($lightNumS == "3") + setAttr GIJoe_group.numLs 256; + + if ($lightNumG == "1") + setAttr GIJoe_group.numLg 16; + else if ($lightNumG == "2") + setAttr GIJoe_group.numLg 64; + + addAttr -ln SkySpec -at time GIJoe_group; + setAttr GIJoe_group.SkySpec 2; + addAttr -ln SpecTres -at time GIJoe_group; + setAttr GIJoe_group.SpecTres 0; + addAttr -ln MultHigh -at time GIJoe_group; + setAttr GIJoe_group.MultHigh 1; + addAttr -ln LumTres -at time GIJoe_group; + setAttr GIJoe_group.LumTres 0; + addAttr -ln ShadOptType -at time GIJoe_group; + setAttr GIJoe_group.ShadOptType 2; + addAttr -ln SShado -at time GIJoe_group; + setAttr GIJoe_group.SShado 1; + addAttr -ln SColCal -at bool GIJoe_group; + setAttr GIJoe_group.SColCal 0; + + // ground + addAttr -ln GrInt -at time GIJoe_group; + setAttr GIJoe_group.GrInt 0.1; + if ($lightType == 1) + { + addAttr -ln GConeAngle -at time GIJoe_group; + setAttr GIJoe_group.GConeAngle 40; + addAttr -ln GPenumbra -at time GIJoe_group; + setAttr GIJoe_group.GPenumbra 1; + addAttr -ln GDropOff -at time GIJoe_group; + setAttr GIJoe_group.GDropOff 0; + } + addAttr -ln linkSky -at bool GIJoe_group; + setAttr GIJoe_group.linkSky 0; + addAttr -ln linkMult -at time GIJoe_group; + setAttr GIJoe_group.linkMult 1; + addAttr -ln HideGr -at bool GIJoe_group; + setAttr GIJoe_group.HideGr 0; + addAttr -ln GLumT -at time GIJoe_group; + setAttr GIJoe_group.GLumT 0; + addAttr -ln GShadOptType -at time GIJoe_group; + setAttr GIJoe_group.GShadOptType 2; + addAttr -ln GShado -at time GIJoe_group; + setAttr GIJoe_group.GShado 2; + addAttr -ln GColCal -at bool GIJoe_group; + setAttr GIJoe_group.GColCal 0; + // end of attributes + + select -cl; + + print ("\n"); + print ("###################################################" + "\n"); + print ("# GI_Joe v2.1 - (c) Emmanuel Campin - 2001 / 2002 #" + "\n"); + print ("###################################################" + "\n"); + print ("\n"); + + string $shdwDir = `workspace -q -rd`; + string $shadowsDir = `workspace -cr ($shdwDir + "renderData/GIJoe_shadows")`; + print ("Current project path: " + $shdwDir + "\n"); + string $convertDir = `workspace -cr ($shdwDir + "sourceimages/baked_shadows")`; + + connectAttr -f GIJoe_group.skyColor ($blend + ".color1"); + connectAttr -f GIJoe_group.groundColor ($blend + ".color2"); + + global int $sj3, $sj4; + $sj3 = `scriptJob -con GIJoe_group.skyColor gi_changeSkyCol`; + $sj4 = `scriptJob -con GIJoe_group.groundColor gi_changeGroundCol`; + + int $gi_reload; + + gi_GIUI ($gi_reload, $lightType, $lightNumS, $lightNumG); + gi_conGlobal (); +} + + +global proc gi_GIUI (int $gi_reload, int $lightType, int $lightNumS, int $lightNumG) +{ + + // GI_Joe UserInterface + + global string $GIj_UI; + if( `window -exists $GIj_UI` == 1) + deleteUI -window $GIj_UI; + + float $bcol1[], $bcol2[]; + if (`attributeExists "bden" GIJoe_group` == 1) + { + $bcol1 = `getAttr GIJoe_group.bakeColor1`; + $bcol2 = `getAttr GIJoe_group.bakeColor2`; + } + else + { + $bcol1[0] = 0; $bcol1[1] = 0; $bcol1[2] = 0; + $bcol2[0] = 1; $bcol2[1] = 1; $bcol2[2] = 1; + } + + float $skyCol[], $skyShad[], $gCol[], $gshadCol[]; + + if ($gi_reload == 1) + { + $skyCol = `getAttr GIJoe_group.skyColor`; + $skyShad = `getAttr GIJoe_group.shadowSColor`; + $gCol = `getAttr GIJoe_group.groundColor`; + $gshadCol = `getAttr GIJoe_group.shadowGColor`; + } + else + { + $skyCol[0] = 0.746; $skyCol[1] = 0.895; $skyCol[2] = 1; + $skyShad[0] = 0; $skyShad[1] = 0; $skyShad[2] = 0; + $gCol[0] = 1; $gCol[1] = 0.813; $gCol[2] = 0.625; + $gshadCol[0] = 0; $gshadCol[0] = 0; $gshadCol[0] = 0; + } + + $GIj_UI = `window -t "GI_Joe version 2.1 - UI build1" -w 450 -s 1 -in "GI_Joe UI"`; + scrollLayout Main; + columnLayout; + frameLayout -label "General Attributes" + -mh 5 + -w 460 + -cll 1 + -bs "etchedIn" GalAttr; + columnLayout; + button + -label "Delete GI_Joe" + -c gi_delGIJ delGIJ; + button -label "Clean scene shadows" + -c gi_clean shadClean; + button -label "Clean ALL shadows" + -c gi_cleanAll shadCleanA; + checkBox + -label "Quick help" + -cc gi_help giHelp; + setParent ..; + setParent ..; + frameLayout -label "Sky Attributes" + -mh 5 + -w 460 + -cll 1 + -bs "etchedIn" SkyAttr; + columnLayout; + attrColorSliderGrp + -label "Color" + -rgb $skyCol[0] $skyCol[1] $skyCol[2] + -at GIJoe_group.skyColor skyCol; + textFieldGrp + -label "Color status" + -cal 1 "left" + -tx "Solid Color" + -ed 0 SColStat; + floatSliderGrp + -cal 1 "left" + -label "Intensity" + -cc gi_SkyInt + -dc gi_SkyInt + -field 1 + -s 0.01 + -min 0 -max 1 -value 0.1 SkyInt; + if ($lightType == 1) + { + floatSliderGrp + -label "Cone Angle" + -cal 1 "left" + -field 1 + -cc gi_SConeAngle + -dc gi_SConeAngle + -min 0.01 -max 179.9 -value 40 SConeAngle; + floatSliderGrp + -label "Penumbra Angle" + -cal 1 "left" + -field 1 + -dc gi_SPenumbra + -cc gi_SPenumbra + -min -10 -max 10 -value 1 SPenumbra; + floatSliderGrp + -label "Dropoff" + -cal 1 "left" + -field 1 + -dc gi_SDropOff + -cc gi_SDropOff + -min 0 -max 255 -value 0 SDropOff; + } + radioButtonGrp + -label "Specular" + -numberOfRadioButtons 2 + -on1 gi_specOn + -l1 "On" + -on2 gi_specOff + -l2 "Off" + -cal 1 "left" + -sl 2 skySpec; + floatSliderGrp + -label "Specular Threshold" + -cc gi_SSpecT + -dc gi_SSpecT + -field 1 + -cal 1 "left" + -en 0 + -min 0 -max 1 -value 0 + -s 0.01 SSpecT; + floatSliderGrp + -label "Multiplicator highlights" + -cal 1 "left" + -field 1 + -dc gi_SkyInt + -cc gi_SkyInt + -en 0 + -min 1 -max 10 -value 1 SmultBoost; + frameLayout -label "HDRI fake" + -mh 5 + -w 455 + -cll 1 + -cl 1 + -bs "etchedIn" SkyAttr; + columnLayout; + checkBox + -label "Enable HDRI fake" + -align "left" + -cc gi_HDR HDR; + intSliderGrp + -label "HDRI intensity" + -cal 1 "left" + -field 1 + -en 0 + -min 1 -max 20 -value 1 + -cc gi_HDRint HDRint; + intSliderGrp + -label "HDRI power" + -cal 1 "left" + -field 1 + -s 10 + -en 0 + -min 1 -max 100 -value 20 + -cc gi_HDRPow HDRPow; + floatSliderGrp + -label "HDRI texture gamma" + -cal 1 "left" + -field 1 + -en 0 + -pre 3 + -min 0.01 -max 1 -value -0.1 + -cc gi_HDRGam + -dc gi_HDRGam HDRGam; + setParent ..; + setParent ..; + frameLayout + -label "Special" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" SSpe; + columnLayout; + if ($lightType == 1) + { + intFieldGrp + -label "Random translate min / max" + -nf 2 + -v1 -1 + -cal 1 "left" + -v2 1 SshadRand; + } + else + { + intFieldGrp + -label "Random rotate min / max" + -nf 2 + -v1 -1 + -cal 1 "left" + -v2 1 SshadRand; + } + button + -label "Randomize" + -c gi_SRand + -align "left" SRand; + setParent ..; + setParent ..; + frameLayout + -label "Optimization" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" SOptAttr; + columnLayout; + floatSliderGrp + -label "Luminance Threshold" + -cc gi_SLumT + -dc gi_SLumT + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0 + -s 0.01 SLumT; + radioButtonGrp + -numberOfRadioButtons 2 + -l "Optimize" + -l1 "Shadows" + -l2 "Lights" + -sl 2 + -cal 1 "left" gi_Sopt; + textFieldGrp + -label "Result" + -cal 1 "left" + -ed 0 SOptResult; + button + -label "Optimize" + -c gi_SDoOpt SDoOpt; + checkBox + -label "Freeze lighting" + -v 0 + -align "left" + -cc gi_Sfreeze SFreeze; + setParent ..; + setParent ..; + frameLayout -label "Shadows" + -mh 5 + -w 455 + -cll 1 + -cl 0 + -bs "etchedIn" SShadowsAttr; + columnLayout; + radioButtonGrp + -label "Shadows" + -l1 "On" + -l2 "Off" + -cal 1 "left" + -numberOfRadioButtons 2 + -on1 gi_SshadowsOn + -on2 gi_SshadowsOff + -sl 1 SshadowsOnOff; + attrColorSliderGrp + -label "Shadow Color" + -at GIJoe_group.shadowSColor + -rgb $skyShad[0] $skyShad[1] $skyShad[2] gi_SshadCol; + checkBox + -label "Reuse dmaps" + -cc gi_SReUseDmap + -align "left" SReUseDmap; + intSliderGrp + -label "Dmap Filter Size" + -cc gi_SDmapFS + -dc gi_SDmapFS + -field 1 + -step 1 + -cal 1 "left" + -min 1 -max 20 -value 3 SDmapFS; + intSliderGrp + -label "Dmap Resolution" + -cc gi_SDmapRes + -cal 1 "left" + -field 1 + -step 64 + -min 64 -max 1024 -value 128 SDmapRes; + floatSliderGrp + -label "Dmap Bias" + -dc gi_SDmapBias + -field 1 + -cal 1 "left" + -pre 3 + -min 0 -max 2 -value 0.01 + -s 0.001 SDmapBias; + checkBox + -label "Use MidDist Dmap" + -cc gi_SUseMidDist + -align "left" + -v 1 SUseMidDist; + checkBox + -label "Use Dmap autoFocus" + -align "left" + -cc gi_SAutoFocOnOff + -v 1 SAutoFocOnOff; + intFieldGrp + -label "Dmap widthFocus" + -cc gi_SDmapWF + -cal 1 "left" + -v1 90 + -en 0 SDmapWF; + setParent ..; + setParent ..; + frameLayout -label "Color Calibration" + -mh 5 + -w 455 + -cll 1 + -cl 1 + -bs "etchedIn" SColCal; + columnLayout; + checkBox -label "Enable Color calibration" + -align "left" + -cc gi_SColorCal SColorCal; + floatSliderGrp + -label "Contrast" + -dc gi_SContrast + -cc gi_SContrast + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 SContrast; + floatSliderGrp + -label "ContrastBias" + -dc gi_SContrastB + -cc gi_SContrastB + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0.5 + -s 0.01 + -en 0 SContrastB; + floatSliderGrp + -label "Hue" + -dc gi_SHue + -cc gi_SHue + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 SHue; + floatSliderGrp + -label "Saturation" + -dc gi_SSat + -cc gi_SSat + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 SSat; + floatSliderGrp + -label "Gamma" + -dc gi_SGam + -cc gi_SGam + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 SGam; + checkBox + -en 0 + -label "Freeze color calibration" + -align "left" + -cc gi_SFrCol SFrCol; + setParent; + setParent; + setParent ..; + setParent ..; + setParent ..; + setParent ..; + frameLayout -label "Ground Attributes" + -mh 5 + -w 460 + -cll 1 + -cl 1 + -bs "etchedIn" GAttr; + columnLayout; + attrColorSliderGrp + -label "Color" + -at GIJoe_group.groundColor + -rgb $gCol[0] $gCol[1] $gCol[2] groundCol; + textFieldGrp + -label "Color status" + -cal 1 "left" + -tx "Solid Color" + -ed 0 GColStat; + floatSliderGrp + -cal 1 "left" + -label "Intensity" + -dc gi_GroundInt + -cc gi_GroundInt + -field 1 + -s 0.01 + -min 0 -max 1 -value 0.05 GroundInt; + if ($lightType == 1) + { + floatSliderGrp + -label "Cone Angle" + -field 1 + -dc gi_GConeAngle + -cc gi_GConeAngle + -cal 1 "left" + -min 0 -max 179.9 -value 40 GConeAngle; + floatSliderGrp + -label "Penumbra Angle" + -field 1 + -cal 1 "left" + -dc gi_GPenumbra + -cc gi_GPenumbra + -min -10 -max 10 -value 1 GPenumbra; + floatSliderGrp + -label "Dropoff" + -field 1 + -cal 1 "left" + -cc gi_GDropOff + -dc gi_GDropOff + -min 0 -max 255 -value 0 GDropOff; + } + checkBox + -label "link to sky intensity" + -cc gi_linkSkyInt + -align "left" linkSkyInt; + floatSliderGrp + -label "Multiplicator" + -en 0 + -cal 1 "left" + -field 1 + -step 0.01 + -dc gi_GrIntMult + -cc gi_GrIntMult + -min 0 -max 2 -value 1 GrIntMult; + frameLayout + -label "Special" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" GSpe; + columnLayout; + checkBox + -label "Hide GroundLights" + -cc gi_HideGr + -align "left" HideGr; + checkBox + -label "Delete GroundLights" + -cc gi_delGrL + -align "left" DelGr; + setParent ..; + setParent ..; + frameLayout + -label "Optimization" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" GOptAttr; + columnLayout; + floatSliderGrp + -label "Luminance Threshold" + -dc gi_GLumT + -field 1 + -min 0 -max 1 -value 0 + -s 0.01 GLumT; + radioButtonGrp + -numberOfRadioButtons 2 + -l1 "Optimize Shadows" + -l2 "Optimize Lights" + -sl 2 + -cal 1 "left" gi_Gopt; + textFieldGrp + -label "Result" + -cal 1 "left" + -ed 0 GOptResult; + button + -label "Optimize" + -c gi_GDoOpt GDoOpt; + checkBox + -label "Freeze lighting" + -v 0 + -align "left" + -cc gi_Gfreeze GFreeze; + setParent ..; + setParent ..; + frameLayout -label "Shadows" + -mh 5 + -w 455 + -cll 1 + -cl 0 + -bs "etchedIn" GShadAttr; + columnLayout; + radioButtonGrp + -l "Shadows" + -l1 "On" + -l2 "Off" + -numberOfRadioButtons 2 + -on1 gi_GshadowsOn + -on2 gi_GshadowsOff + -sl 2 GShadOnOff; + attrColorSliderGrp + -label "Shadow Color" + -at GIJoe_group.shadowGColor + -rgb $gshadCol[0] $gshadCol[1] $gshadCol[2] gi_GshadCol; + checkBox + -label "Reuse dmaps" + -cc gi_GReUseDmap + -align "left" GReUseDmap; + intSliderGrp + -label "Dmap Filter Size" + -cc gi_GDmapFS + -dc gi_GDmapFS + -field 1 + -cal 1 "left" + -step 1 + -min 1 -max 20 -value 3 GDmapFS; + intSliderGrp + -label "Dmap Resolution" + -cc gi_GDmapRes + -cal 1 "left" + -field 1 + -min 64 -max 1024 -value 128 + -s 64 GDmapRes; + floatSliderGrp + -label "Dmap Bias" + -cc gi_GDmapBias + -dc gi_GDmapBias + -field 1 + -cal 1 "left" + -pre 3 + -min 0 -max 2 -value 0.01 + -s 0.001 GDmapBias; + checkBox + -label "Use MidDist Dmap" + -cc gi_GUseMidDist + -align "left" + -v 1 GUseMidDist; + checkBox + -label "Use Dmap autoFocus" + -align "left" + -cc gi_GAutoFocOnOff + -v 1 GAutoFocOnOff; + intFieldGrp + -label "Dmap widthFocus" + -cc gi_GDmapWF + -cal 1 "left" + -v1 90 + -en 0 GDmapWF; + setParent ..; + setParent ..; + frameLayout -label "Color Calibration" + -mh 5 + -w 455 + -cll 1 + -cl 1 + -bs "etchedIn" GColCal; + columnLayout; + checkBox -label "Enable Color calibration" + -align "left" + -cc gi_GColorCal GColorCal; + floatSliderGrp + -label "Contrast" + -cc gi_GContrast + -dc gi_GContrast + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 GContrast; + floatSliderGrp + -label "ContrastBias" + -cc gi_GContrastB + -dc gi_GContrastB + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0.5 + -s 0.01 + -en 0 GContrastB; + floatSliderGrp + -label "Hue" + -dc gi_GHue + -cc gi_GHue + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 GHue; + floatSliderGrp + -label "Saturation" + -cc gi_GSat + -dc gi_GSat + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 GSat; + floatSliderGrp + -label "Gamma" + -cc gi_GGam + -dc gi_GGam + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 GGam; + checkBox + -en 0 + -label "Freeze color calibration" + -align "left" + -cc gi_GFrCol GFrCol; + setParent; + setParent; + setParent ..; + setParent ..; + setParent ..; + setParent ..; + frameLayout -label "Bake Shadows" + -bs "etchedIn" + -w 460 + -cll 1 + -cl 1 BakeShad; + columnLayout; + checkBox -label "Enable bake shader" + -align "left" + -cc gi_BakeShad bakeOnOff; + checkBox -label "Retrieve shadow maps" + -align "left" + -cc gi_readB bRb; + attrColorSliderGrp + -label "Shadow Color 1" + -at GIJoe_group.bakeColor1 + -rgb $bcol1[0] $bcol1[1] $bcol1[2] gi_BakShadCol1; + attrColorSliderGrp + -label "Shadow Color 2" + -at GIJoe_group.bakeColor2 + -rgb $bcol2[0] $bcol2[1] $bcol2[2] gi_BakShadCol2; + floatSliderGrp + -label "Density Mult" + -cc gi_BakDensity + -dc gi_BakDensity + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 BakDensity; + floatSliderGrp + -label "Contrast" + -cc gi_BakeCon + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 BakCon; + floatSliderGrp + -label "Contrast Bias" + -cc gi_BakConBias + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0.5 + -s 0.01 + -en 0 BakeConB; + intSliderGrp + -label "Bake Min Resolution" + -field 1 + -cal 1 "left" + -min 64 -max 512 -value 128 + -s 1 + -cc gi_mres + -en 0 BakMinRes; + intSliderGrp + -label "Bake Max Resolution" + -field 1 + -cal 1 "left" + -min 64 -max 1024 -value 512 + -s 1 + -cc gi_Mres + -en 0 BakMaxRes; + optionMenuGrp + -en 0 + -label "File format" FF; + menuItem "IFF"; + menuItem "JPG"; + menuItem "TGA"; + menuItem "TIF"; + menuItem "BMP"; + textFieldGrp + -label "Output Baked Shadows Directory" + -text "" + -cal 1 "left" + -cc gi_bdir + -en 0 gi_outputShadDir; + checkBox + -label "Preview mode" + -en 0 + -align "left" BakePr; + button + -label "Bake All Assigned" + -en 0 + -c gi_bakAll bakAll; + button + -label "Get Files" + -en 0 + -c gi_bakeGetFil bakeGetFil; + setParent; + + global int $sjUI, $sj1, $sj2; + + $sjUI = `scriptJob -uid $GIj_UI gi_delSJs`; + $sj1 = `scriptJob -e deleteAll gi_delGI_UI`; + $sj2 = `scriptJob -e SceneOpened gi_delGI_UI`; + + if ($gi_reload == 1) + gi_assignUI (); + + showWindow $GIj_UI; +} + + +global proc gi_assignUI () +{ + // sky + // intensity params + + string $slight[] = `ls "skyLightShape*"`; + string $consCol = `connectionInfo -sfd GIJoe_group.skyColor`; + string $sTex[] = `ls "skyTex*"`; + float $scol[]; + if ((`size $consCol` > 0) && (`size $sTex` > 0)) + textFieldGrp -e -tx "Texture2d" SColStat; + else if ((`size $consCol` > 0) && (`size $sTex` == 0)) + textFieldGrp -e -tx "Frozen" SColStat; + else + { + $scol = `getAttr GIJoe_group.skyColor`; + textFieldGrp -e -tx "Solid Color" SColStat; + } + float $SkyInt = `getAttr GIJoe_group.SkyInt`; + floatSliderGrp -edit -v $SkyInt SkyInt; + if (`attributeExists "coneAngle" $slight[0]` == 1) + { + float $cang = `getAttr ($slight[0] + ".coneAngle")`; + float $pen = `getAttr ($slight[0] + ".penumbraAngle")`; + float $dropo = `getAttr ($slight[0] + ".dropoff")`; + floatSliderGrp -edit -v $cang SConeAngle; + floatSliderGrp -edit -v $pen SPenumbra; + floatSliderGrp -e -v $dropo SDropOff; + } + + // specular + + int $skySpec = `getAttr GIJoe_group.SkySpec`; + radioButtonGrp -e -sl $skySpec skySpec; + + float $SpecTres = `getAttr GIJoe_group.SpecTres`; + float $lumTres = `getAttr GIJoe_group.LumTres`; + float $SpecMult = `getAttr GIJoe_group.MultHigh`; + if ($skySpec == 1) + { + floatSliderGrp -e -en 1 -v $SpecTres SSpecT; + floatSliderGrp -e -en 1 -v $lumTres SLumT; + floatSliderGrp -e -en 1 -v $SpecMult SmultBoost; + } + + // HDRI fake + + if (`attributeExists "HDR" GIJoe_group` == 1) + { + int $HDR = `getAttr GIJoe_group.HDR`; + int $HDRInt = `getAttr GIJoe_group.HDRInt`; + int $HDRPow = `getAttr GIJoe_group.HDRPow`; + float $HDRGam = `getAttr GIJoe_group.HDRGam`; + + checkBox -e -en 1 -v 1 HDR; + intSliderGrp -e -en 1 -v $HDRInt HDRint; + intSliderGrp -e -en 1 -v $HDRPow HDRPow; + floatSliderGrp -e -en 1 -v $HDRGam HDRGam; + } + + // optimization + + int $shadOptType = `getAttr GIJoe_group.ShadOptType`; + radioButtonGrp -e -sl $shadOptType gi_Sopt; + + int $SShado = `getAttr GIJoe_group.SShado`; + radioButtonGrp -e -sl $SShado SshadowsOnOff; + + int $SColCal = `getAttr GIJoe_group.SColCal`; + checkBox -e -v $SColCal SColorCal; + + if ($SColCal == 1) + { + float $scon = `getAttr GIJoe_group.SCon`; + floatSliderGrp -e -v $scon SContrast; + float $sconb = `getAttr GIJoe_group.SConB`; + floatSliderGrp -e -v $sconb SContrastB; + float $shue = `getAttr GIJoe_group.SHue`; + floatSliderGrp -e -v $shue SHue; + float $ssat = `getAttr GIJoe_group.SSat`; + floatSliderGrp -e -v $ssat SSat; + float $sgam = `getAttr GIJoe_group.SGam`; + floatSliderGrp -e -v $sgam SGam; + + floatSliderGrp -e -en 1 SContrast; + floatSliderGrp -e -en 1 SContrastB; + floatSliderGrp -e -en 1 SHue; + floatSliderGrp -e -en 1 SSat; + floatSliderGrp -e -en 1 SGam; + } + + + int $reuseS = `getAttr ($slight[0] + ".reuseDmap")`; + checkBox -e -v $reuseS SReUseDmap; + int $dmapFS = `getAttr ($slight[0] + ".dmapFilterSize")`; + intSliderGrp -e -v $dmapFS SDmapFS; + int $dmapRS = `getAttr ($slight[0] + ".dmapResolution")`; + intSliderGrp -e -v $dmapRS SDmapRes; + float $dmapBias = `getAttr ($slight[0] + ".dmapBias")`; + floatSliderGrp -e -v $dmapBias SDmapBias; + int $useMid = `getAttr ($slight[0] + ".useMidDistDmap")`; + checkBox -e -v $useMid SUseMidDist; + int $useAF = `getAttr ($slight[0] + ".useDmapAutoFocus")`; + checkBox -e -v $useAF SAutoFocOnOff; + if ($useAF == 0) + intFieldGrp -e -en 1 SDmapWF; + int $SWF = `getAttr ($slight[0] + ".dmapWidthFocus")`; + intFieldGrp -e -v1 $SWF SDmapWF; + + + // ground + string $glight[] = `ls "groundLightShape*"`; + if (`size $glight` == 0) + return; + + string $congCol = `connectionInfo -sfd GIJoe_group.groundColor`; + string $gTex[] = `ls "groundTex*"`; + float $gcol[]; + if ((`size $congCol` > 0) && (`size $gTex` > 0)) + textFieldGrp -e -tx "Texture2d" GColStat; + else if ((`size $congCol` > 0) && (`size $gTex` == 0)) + textFieldGrp -e -tx "Frozen" GColStat; + else + { + $gcol = `getAttr GIJoe_group.groundColor`; + textFieldGrp -e -tx "Solid Color" GColStat; + } + + float $GrInt = `getAttr GIJoe_group.GrInt`; + floatSliderGrp -edit -v $GrInt GroundInt; + if (`attributeExists "coneAngle" $glight[0]` == 1) + { + float $cang = `getAttr ($glight[0] + ".coneAngle")`; + float $pen = `getAttr ($glight[0] + ".penumbraAngle")`; + float $dropo = `getAttr ($glight[0] + ".dropoff")`; + floatSliderGrp -edit -v $cang SConeAngle; + floatSliderGrp -edit -v $pen SPenumbra; + floatSliderGrp -e -v $dropo SDropOff; + } + + int $link = `getAttr GIJoe_group.linkSky`; + checkBox -e -v $link linkSkyInt; + float $GMult = `getAttr GIJoe_group.linkMult`; + floatSliderGrp -e -v $GMult GrIntMult; + int $Ghide = `getAttr GIJoe_group.HideGr`; + checkBox -e -v $Ghide HideGr; + float $GLumt = `getAttr GIJoe_group.GLumT`; + floatSliderGrp -e -v $GLumt GLumT; + int $GShado = `getAttr GIJoe_group.GShado`; + radioButtonGrp -e -sl $GShado GShadOnOff; + + int $Greuse = `getAttr ($glight[0] + ".reuseDmap")`; + checkBox -e -v $Greuse GReUseDmap; + int $GDmapFS = `getAttr ($glight[0] + ".dmapFilterSize")`; + intSliderGrp -e -v $GDmapFS GDmapFS; + int $GDMapRS =` getAttr ($glight[0] + ".dmapResolution")`; + intSliderGrp -e -v $GDMapRS GDmapRes; + float $GBias = `getAttr ($glight[0] + ".dmapBias")`; + floatSliderGrp -e -v $GBias GDmapBias; + + int $GuseMid = `getAttr ($glight[0] + ".useMidDistDmap")`; + checkBox -e -v $GuseMid GUseMidDist; + int $GuseAF = `getAttr ($glight[0] + ".useDmapAutoFocus")`; + checkBox -e -v $GuseAF GAutoFocOnOff; + if ($GuseAF == 0) + intFieldGrp -e -en 1 GDmapWF; + int $GWF = `getAttr ($glight[0] + ".dmapWidthFocus")`; + intFieldGrp -e -v1 $GWF GDmapWF; + + int $GColCal = `getAttr GIJoe_group.GColCal`; + checkBox -e -v $GColCal GColorCal; + + if ($GColCal == 1) + { + float $gcon = `getAttr GIJoe_group.GCon`; + floatSliderGrp -e -v $gcon GContrast; + float $gconb = `getAttr GIJoe_group.GConB`; + floatSliderGrp -e -v $gconb GContrastB; + float $ghue = `getAttr GIJoe_group.GHue`; + floatSliderGrp -e -v $ghue GHue; + float $gsat = `getAttr GIJoe_group.GSat`; + floatSliderGrp -e -v $gsat GSat; + float $ggam = `getAttr GIJoe_group.GGam`; + floatSliderGrp -e -v $ggam GGam; + + floatSliderGrp -e -en 1 GContrast; + floatSliderGrp -e -en 1 GContrastB; + floatSliderGrp -e -en 1 GHue; + floatSliderGrp -e -en 1 GSat; + floatSliderGrp -e -en 1 GGam; + + } + + // bake + + if (`attributeExists "bden" GIJoe_group` == 1) + { + float $col1[] = `getAttr GIJoe_group.bakeColor1`; + float $col2[] = `getAttr GIJoe_group.bakeColor2`; + float $den = `getAttr GIJoe_group.bden`; + float $bcon = `getAttr GIJoe_group.bcon`; + float $bconb = `getAttr GIJoe_group.bconb`; + int $mres = `getAttr GIJoe_group.mres`; + int $Mres = `getAttr GIJoe_group.Mres`; + string $bdir = `getAttr GIJoe_group.bdir`; + + floatSliderGrp -e -en 1 -v $den BakDensity; + floatSliderGrp -e -en 1 -v $bcon BakCon; + floatSliderGrp -e -en 1 -v $bconb BakeConB; + intSliderGrp -e -en 1 -v $mres BakMinRes; + intSliderGrp -e -en 1 -v $Mres BakMaxRes; + textFieldGrp -e -en 1 -ed 1 -tx $bdir gi_outputShadDir; + checkBox -e -en 1 -v 1 bakeOnOff; + optionMenuGrp -e -en 1 FF; + checkBox -e -en 1 BakePr; + button -e -en 1 bakAll; + button -e -en 0 bakeGetFil; + } + + // retrieve + + if (`attributeExists "breadSM" GIJoe_group` == 1) + { + string $bdir = `getAttr GIJoe_group.bdir`; + textFieldGrp -e -en 1 -ed 1 -tx $bdir gi_outputShadDir; + checkBox -e -v 1 bRb; + button -e -en 1 bakeGetFil; + } + + // scriptJobs + + global int $sj3, $sj4; + $sj3 = `scriptJob -con GIJoe_group.skyColor gi_changeSkyCol`; + $sj4 = `scriptJob -con GIJoe_group.groundColor gi_changeGroundCol`; +} + + +global proc gi_changeSkyCol () + +{ + string $sTex[] = `listConnections -d off -s on GIJoe_group.skyColor`; + string $lights[] = `ls "skyLightShape*"`; + string $texSky[] = `ls "skyTex*"`; + if (`size $sTex[0]` > 0) + { + string $skyTex = $sTex[0]; + string $nType = `nodeType $skyTex`; + if (($nType == "snow") || ($nType == "layeredTexture") || ($nType == "envBall") || ($nType == "envChrome") || ($nType == "envCube") || ($nType == "envSky") || ($nType == "envSphere")) + { + warning "Not a useable texture selected...!!"; + disconnectAttr ($skyTex + ".outColor") GIJoe_group.skyColor; + return; + } + string $class[] = `getClassification $nType`; + // selected texture: 2d or 3d? + if ($class[0] == "texture/2d") + gi_con2dTexSky ($skyTex); + else if ($class[0] == "texture/3d") + gi_con3dTexSky ($skyTex); + } + else if (`isConnected GIJoe_group.skyColor ($lights[0] + ".color")` == 0) + { + string $skyTex[] = `ls "skyTex*" "skyMult*" "skyRgb2Hsv*" "skyContrast*" "skyHsv2Rgb*" "skyGamma*" "sky_SR*"`; + string $inc; + for ($inc in $skyTex) + { + delete $inc; + } + + textFieldGrp -e -tx "Solid Color" SColStat; + + for ($inc in $lights) + { + connectAttr -f GIJoe_group.skyColor ($inc + ".color"); + } + + if (`objExists "HDR_limit"` == 1) + { + checkBox -e -v 0 HDR; + intSliderGrp -e -en 0 -v 1 HDRint; + intSliderGrp -e -en 0 -v 200 HDRPow; + floatSliderGrp -e -en 0 -v 0.1 HDRGam; + deleteAttr GIJoe_group.HDR; + deleteAttr GIJoe_group.HDRInt; + deleteAttr GIJoe_group.HDRPow; + deleteAttr GIJoe_group.HDRGam; + delete "HDR_shader" "HDR_shaderSG" "HDR_texture" "HDR_ramp" "HDR_limit" "HDR_gamma" "HDR_Hsv" "HDR_Surface"; + } + } + else + return; +} + + + + +global proc gi_changeGroundCol () + +{ + if (`objExists "GIJoe_group"` == 1) + { + string $gTex[] = `listConnections -d off -s on GIJoe_group.groundColor`; + string $texGround[] = `ls ("groundTex*")`; + if (`size $gTex[0]` > 0) + { + string $groundTex = $gTex[0]; + string $nType = `nodeType $groundTex`; + if (($nType == "snow") || ($nType == "layeredTexture") || ($nType == "envBall") || ($nType == "envChrome") || ($nType == "envCube") || ($nType == "envSky") || ($nType == "envSphere")) + { + warning "Not a useable texture selected...!!"; + disconnectAttr ($groundTex + ".outColor") GIJoe_group.groundColor; + return; + } + string $class[] = `getClassification $nType`; + // selected texture: 2d or 3d? + + if ($class[0] == "texture/2d") + gi_con2dTexGround ($groundTex); + else if ($class[0] == "texture/3d") + gi_con3dTexGround ($groundTex); + } + else if (`isConnected GIJoe_group.groundColor groundLightShape1.color` == 0) + { + string $groundTex[] = `ls "groundTex*" "groundMult*" "groundRgb2Hsv*" "groundContrast*" "groundHsv2Rgb*" "groundGamma*" "ground_SR*"`; + string $inc; + for ($inc in $groundTex) + { + delete $inc; + } + textFieldGrp -e -tx "Solid Color" GColStat; + string $lights[] = `ls ("groundLightShape*")`; + string $inc; + for ($inc in $lights) + { + connectAttr -f GIJoe_group.groundColor ($inc + ".color"); + } + } + else + return; + } + else + return; +} + + +global proc gi_updateShadowsNames() + +{ + + // setting up the shadows names. + + string $slights[] = `ls ("skyLightShape*")`; + string $glights[] = `ls ("groundLightShape*")`; + string $fileName = `file -q -sn`; + string $ppath = `workspace -q -rd`; + string $sdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $pwdShadows = `pwd`; + string $scene[]; + tokenize $fileName "/" $scene; + int $sizeFile = `size($scene)`; + string $sceneName[]; + tokenize $scene[$sizeFile-1] "." $sceneName; + + string $inc; + int $num = 0; + + int $sres = `intSliderGrp -q -v SDmapRes`; + int $gres = `intSliderGrp -q -v GDmapRes`; + + for ($inc in $slights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "_skyShadow" + ($num+1) + "_" + $sres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + $num++; + } + for ($inc in $glights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "_skyShadow" + ($num+1) + "_" + $sres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + $num++; + } + + // clean shadows test + + string $test = `system "dir /B"`; + string $maps[]; + tokenize $test "\n" $maps; + if (`size $maps` > 1000) + warning "Attention, the number of shadow maps in the GIJoe_shadows exceeds 1000 files: you should clean the directory!!"; +} + + +global proc gi_BakeShad() + +{ + int $bakOn = `checkBox -q -v bakeOnOff`; + if (($bakOn == 1) && (`objExists "pma_bake"` == 0)) + { + floatSliderGrp -e -en 1 BakDensity; + floatSliderGrp -e -en 1 BakCon; + floatSliderGrp -e -en 1 BakeConB; + intSliderGrp -e -en 1 BakMinRes; + intSliderGrp -e -en 1 BakMaxRes; + textFieldGrp -e -en 1 -ed 1 gi_outputShadDir; + optionMenuGrp -e -en 1 FF; + checkBox -e -en 1 BakePr; + button -e -en 1 bakAll; + checkBox -e -en 0 bRb; + + string $testGrSh[] = `ls "groundLightShape*"`; + string $alights[]; + if (`getAttr ($testGrSh[0] + ".useDepthMapShadows")` == 1) + $alights = `ls "skyLightShape*" "groundLightShape*"`; + else + $alights = `ls "skyLightShape*"`; + string $inc; + string $pma_bake = `shadingNode -au plusMinusAverage -n pma_bake`; + setAttr ($pma_bake + ".operation") 3; + int $num; + for ($inc in $alights) + { + connectAttr -f ($inc + ".lightShadowFraction") ($pma_bake + ".input1D[" + $num + "]"); + $num++; + } + + string $bc_bake = `shadingNode -au blendColors -n bc_bake`; + string $bakeMat = `shadingNode -as surfaceShader -n SS_bake`; + string $bc_contrast = `shadingNode -au contrast -n bc_contrast`; + string $sr = `shadingNode -au setRange -n bake_sr`; + setAttr ($sr + ".oldMaxX") 1; + setAttr ($sr + ".maxX") 1; + setAttr ($bc_contrast + ".contrastX") 1; + connectAttr -f ($bc_bake + ".output") ($bakeMat + ".outColor"); + connectAttr -f ($pma_bake + ".output1D") ($sr + ".valueX"); + connectAttr -f ($sr + ".outValueX") ($bc_contrast + ".valueX"); + connectAttr -f ($bc_contrast + ".outValueX") ($bc_bake + ".blender"); + connectAttr -f GIJoe_group.bakeColor1 ($bc_bake + ".color1"); + connectAttr -f GIJoe_group.bakeColor2 ($bc_bake + ".color2"); + + addAttr -ln bden -at time GIJoe_group; + setAttr GIJoe_group.bden 1; + addAttr -ln bcon -at time GIJoe_group; + setAttr GIJoe_group.bcon 1; + addAttr -ln bconb -at time GIJoe_group; + setAttr GIJoe_group.bconb 0.5; + addAttr -ln mres -at time GIJoe_group; + setAttr GIJoe_group.mres 128; + addAttr -ln Mres -at time GIJoe_group; + setAttr GIJoe_group.Mres 512; + addAttr -dt "string" -ln bdir GIJoe_group; + + select "SS_bake"; + } + else + { + delete "bc_bake" "bc_contrast" "bake_sr" "SS_bake" "pma_bake"; + floatSliderGrp -e -en 0 -v 1 BakDensity; + floatSliderGrp -e -en 0 -v 1 BakCon; + floatSliderGrp -e -en 0 -v 0.5 BakeConB; + intSliderGrp -e -en 0 -v 128 BakMinRes; + intSliderGrp -e -en 0 -v 512 BakMaxRes; + textFieldGrp -e -en 0 -ed 0 -tx "" gi_outputShadDir; + setAttr GIJoe_group.bakeColor1 0 0 0; + setAttr GIJoe_group.bakeColor2 1 1 1; + optionMenuGrp -e -en 0 -sl 1 FF; + checkBox -e -en 0 BakePr; + button -e -en 0 bakAll; + checkBox -e -en 1 bRb; + + deleteAttr GIJoe_group.bden; + deleteAttr GIJoe_group.bcon; + deleteAttr GIJoe_group.bconb; + deleteAttr GIJoe_group.mres; + deleteAttr GIJoe_group.Mres; + deleteAttr GIJoe_group.bdir; + } +} + +global proc gi_readB() +{ + int $test = `checkBox -q -v bRb`; + if ($test == 1) + { + button -e -en 1 bakeGetFil; + textFieldGrp -e -en 1 -ed 1 -tx "" gi_outputShadDir; + checkBox -e -en 0 bakeOnOff; + addAttr -dt "string" -ln bdir GIJoe_group; + addAttr -ln breadSM -at bool GIJoe_group; + } + else + { + button -e -en 0 bakeGetFil; + textFieldGrp -e -en 0 -tx "" gi_outputShadDir; + checkBox -e -en 1 bakeOnOff; + deleteAttr GIJoe_group.bdir; + deleteAttr GIJoe_group.breadSM; + } +} + + +global proc gi_bakAll() + + { + int $previewM = `checkBox -q -v BakePr`; + if ($previewM == 1) + { + print "\n"; + print "PREVIEW MODE ON: the bake process is disabled\n"; + print "\n"; + } + string $ppath, $bdir, $pwdBaked, $dirName; + + if ($previewM == 0) + { + $ppath = `workspace -q -rd`; + $bdir = `chdir ($ppath + "/sourceimages/baked_shadows")`; + $pwdBaked = `pwd`; + $dirName = `textFieldGrp -q -tx gi_outputShadDir`; + if ($dirName == "") + { + warning "You must specify an output directory name...!!"; + return; + } + } + + string $bakeSel[] = `hyperShade -objects SS_bake`; + string $selected[] = `ls -sl`; + if (`size $selected` == 0) + { + warning "You must select the objects to bake their shadows"; + return; + } + + for ($inc in $selected) + { + if (`nodeType $inc` == "transform") + { + performFreezeTransformations 0; + } + else + { + string $transform[] = `listRelatives -fullPath -p $inc`; + select $transform[0]; + performFreezeTransformations 0; + } + } + + int $sizes = `size $selected`; + int $res; + float $tab[]; + int $i= 0; + for ($inc in $selected) + { + float $bbox[] = `getAttr ($inc + ".boundingBoxSize")`; + vector $box = << $bbox[0], $bbox[1], $bbox[2]>>; + float $boxS = ($box.x)*($box.y) + ($box.x)*($box.z) + ($box.y)*($box.z); + $tab[$i] = $boxS; + $i++; + } + + float $sort0, $tab0; + float $sort[] = `sort $tab`; + int $resMin = `intSliderGrp -q -v BakMinRes`; + int $resMax = `intSliderGrp -q -v BakMaxRes`; + int $bakeRes; + int $i=0; + + string $dirExist = `system ("dir " + "/B")`; + string $dirs[]; + int $dirOk = 0; + tokenize $dirExist "\n" $dirs; + + for ($inc in $dirs) + { + int $si = (`size $inc`) - 1; + $inc = `substring $inc 1 $si`; + if ($inc == $dirName) + { + $dirOk = 1; + break; + } + else + { + continue; + } + } + + if (($previewM == 0) && ($dirOk == 0)) + { + string $outDir = `workspace -cr ($pwdBaked + "/" + $dirName)`; + print "\n"; + print ($dirName + " has been created in " + $pwdBaked + " directory..." + "\n"); + print "\n"; + } + + string $FF = `optionMenuGrp -q -v FF`; + + for ($tab0 in $tab) + { + if ($sort[$sizes-1] == $sort[0]) + { + $bakeRes = $resMax; + } + + else if (`size $bakeSel` == 1) + $bakeRes = $resMax; + else + { + $bakeRes = $resMin + (($tab0-$sort[0])/($sort[$sizes-1]-$sort[0]))*($resMax - $resMin); + } + select -cl; + if (`attributeExists "GIJoe_baked" $selected[$i]` == 0) + { + string $pipe = `substituteAllString $selected[$i] "|" "_"`; + rename $selected[$i] $pipe; + print ($selected[$i] + " has been renamed: " + $pipe + "\n"); + print ("converting " + $pipe + " with boundingBoxSum of " + $tab[$i] + " in " + $bakeRes + " * " + $bakeRes + " in " + $FF + "\n"); + print "\n"; + if ($previewM == 0) + { + convertSolidTx -rx $bakeRes -ry $bakeRes -fin ($pwdBaked + "/" + $dirName + "/" + $pipe + "_" + $bakeRes + "." + $FF) bc_bake.output $pipe; + addAttr -ln GIJoe_baked -at bool $pipe; + setAttr ($pipe + ".GIJoe_baked") 1; + } + $i++; + } + else + { + print "\n"; + print ("Found object " + $selected[$i] + " already baked. Skipped!!"); + print "\n"; + continue; + } + } +} + + +global proc gi_bakeGetFil() + +{ + string $selected[] = `ls -sl`; + if (`size $selected` == 0) + { + warning "You must select the objects to retrieve their shadows"; + return; + } + + string $ppath = `workspace -q -rd`; + string $bdir = `chdir ($ppath + "/sourceimages/baked_shadows")`; + string $pwdBaked = `pwd`; + string $dirName = `textFieldGrp -q -tx gi_outputShadDir`; + if ($dirName == "") + { + warning "You must specify an output directory name...!!"; + return; + } + + string $dirExist = `system ("dir " + "/B")`; + string $dirs[]; + int $dirOk = 0; + tokenize $dirExist "\n" $dirs; + + for ($inc in $dirs) + { + int $si = (`size $inc`) - 1; + $inc = `substring $inc 1 $si`; + if ($inc == $dirName) + { + print ("Output directory " + $dirName + " found!!\n"); + $dirOk = 1; + break; + } + else + continue; + } + if ($dirOk == 0) + { + warning "The specified directory doesn't exist. Process stopped!\n"; + return; + } + + string $content = `system ("dir " + "/B " + $dirName)`; + print ($content + "\n"); + if (`size $content` == 0) + { + warning ("directory " + $dirName + " contains nothing...!!!"); + return; + } + else + { + string $tab[]; + tokenize $content "\n" $tab; + string $sortDir[] = `sort ($tab)`; + string $item, $sel; + int $num; + int $m = 0; + + for ($sel in $selected) + { + if ($sel == "GIJoe_group") + continue; + string $shape[] = `listRelatives -s $sel`; + for( $item in $sortDir) + { + string $matche = `match ($shape[0]+"_[0-9]+") $item`; + if ($matche != "") + { + $m = 1; + break; + } + } + + if ($m == 0) + { + warning "No corresponding files were found!! Process stopped!\n"; + return; + } + + string $texFile = `shadingNode -at file -n ($item + "BShadow")`; + int $len = size ($item); + $fileName = `substring $item 1 ($len-1)`; + setAttr -type "string" ($texFile + ".fileTextureName") ($dirName + "\\" + $fileName); + + string $SG[] = `listConnections -s off -d on $shape`; + print ("Shading Group: " + $SG[0] + "\n"); + if (`size $shape[0]` == 0) + $shape[0] = $sel; + + string $mat[] = `listConnections -d off $SG[0]`; + print ("material found: " + $mat[0] + "\n"); + int $num2; + + if (`attributeExists "shadowMap" $mat[0]` == 1) + { + print ("Shader " + $mat[0] + " already has a shadowMap..." + "\n"); + print ("Creating a new one..." + "\n"); + + addAttr -ln ("shadowMap" + $num2) -at float3 -uac $mat[0]; + addAttr -ln ("shadowMap" + $num2 + "R") -at "float" -dv 0 -p ("shadowMap" + $num2) $mat[0]; + addAttr -ln ("shadowMap" + $num2 + "G") -at "float" -dv 0 -p ("shadowMap" + $num2) $mat[0]; + addAttr -ln ("shadowMap" + $num2 + "B") -at "float" -dv 0 -p ("shadowMap" + $num2) $mat[0]; + print ("connecting " + $texFile + ".outColor " + $mat[0] + ".shadowMap" + $num2 + "\n"); + connectAttr -f ($texFile + ".outColor") ($mat[0] + ".shadowMap" + $num2); + $num2++; + } + else + { + addAttr -ln shadowMap -at float3 -uac $mat[0]; + addAttr -ln shadowMapR -at "float" -dv 0 -p shadowMap $mat[0]; + addAttr -ln shadowMapG -at "float" -dv 0 -p shadowMap $mat[0]; + addAttr -ln shadowMapB -at "float" -dv 0 -p shadowMap $mat[0]; + + print ("connecting " + $texFile + ".outColor " + $mat[0] + ".shadowMap" + "\n"); + connectAttr -f ($texFile + ".outColor") ($mat[0] + ".shadowMap"); + $num++; + } + } + } +} + + +global proc gi_delSJs() +{ + global int $sjUI, $sj1, $sj2, $sj3, $sj4; + scriptJob -kill $sj1; + scriptJob -kill $sj2; + scriptJob -kill $sj3; + scriptJob -kill $sj4; +} + +global proc gi_delGI_UI () +{ + global string $GIj_UI; + deleteUI -window $GIj_UI; + global int $texChangedSJ; + if (`scriptJob -ex $texChangedSJ` == 1) + scriptJob -kill $texChangedSJ; +} + +global proc gi_delGIJ() +{ + delete GIJoe_group; + + if (`objExists "skyTex1"` == 1) + delete "skyTex*"; + + if (`objExists "sky_SR1"` == 1) + delete "sky_SR*"; + + delete GIJoe_SS rampMat blendMat1; + + if (`objExists "skyContrast1"` == 1) + delete "skyRgb2Hsv*" "skyMult*" "skyHsv2Rgb*" "skyGamma*" "skyContrast*"; + + if (`objExists "groundContrast1"` == 1) + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; + + if (`objExists "SS_bake"` == 1) + delete "bc_bake" "bc_contrast" "bake_sr" "SS_bake"; + + if (`objExists "GIJoe_brush*"` == 1) + delete "GIJoe_brush*"; + if (`objExists "GIJoe_sceneConfigurationScriptNode*"` == 1) + delete "GIJoe_sceneConfigurationScriptNode*"; + if (`objExists "GIJoe_uiConfigurationScriptNode*"` == 1) + delete "GIJoe_uiConfigurationScriptNode*"; + delete "GIJoe_SSSG"; + + if (`objExists "HDR_shader"` == 1) + delete "HDR_shader" "HDR_shaderSG" "HDR_texture" "HDR_ramp" "HDR_limit" "HDR_hsv" "HDR_gamma"; + + gi_delGI_UI; +} + +global proc gi_HideGr() +{ + string $lights[] = `ls "groundLightShape*"`; + int $hid = `checkBox -q -v HideGr`; + setAttr GIJoe_group.HideGr $hid; + if ($hid == 1) + hide $lights; + else + showHidden $lights; +} + +global proc gi_delGrL() +{ + frameLayout -edit -vis 0 GAttr; + string $lights[] = `ls "groundLight*"`; + delete $lights; + deleteAttr GIJoe_group.groundColor; + deleteAttr GIJoe_group.shadowGColor; + if (`objExists "groundTex1"` == 1) + delete "groundTex*"; + + if (`objExists "groundContrast1"` == 1) + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; +} + +global proc gi_help() +{ + int $hlp = `checkBox -q -v giHelp`; + if ($hlp == 1) + { + // Gal + button -e -ann "Click me to delete the whole GI_Joe setup" delGIJ; + button -e -ann "Click me to delete all the shadows under the scene's name" shadClean; + button -e -ann "Click me to delete ALL the shadows stored in the GI_Joe shadows directory" shadCleanA; + checkBox -e -ann "Quick help toggle on / off in English please!!" giHelp; + + // sky int + floatSliderGrp -e -ann "Set a plain color or drag a texture into it" skyCol; + textFieldGrp -e -ann "The color statuts shows the status: Solid Color, Texture2d / Texture3d, or Frozen" SColStat; + floatSliderGrp -e -ann "Sky intensity: adjust it to modify the intensity of the skyLight lighting" SkyInt; + + if (`floatSliderGrp -ex SConeAngle` == 1) + { + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" SConeAngle; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" SPenumbra; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" SDropOff; + } + + radioButtonGrp -e -ann "Sets the specular on / off" skySpec; + floatSliderGrp -e -ann "Modify the threshold to set what lights will 'cast' specular according the luminance of the texture plugged into the skyColor" SSpecT; + floatSliderGrp -e -ann "Modify the multiplicator to force the highlights (specular lights) to illuminate the scene as real ponctual lights" SmultBoost; + + // sky HDRI + checkBox -e -ann "Enables the fake HDRI lighting)" HDR; + intSliderGrp -e -ann "Sets the specularRollOff value of the HDR_shader" HDRint; + intSliderGrp -e -ann "Sets the level of specular reflectivity of the HDR_shader" HDRPow; + floatSliderGrp -e -ann "Sets the gamma level of the HDR_texture used by the HDR_shader" HDRGam; + + // sky special + intFieldGrp -e -ann "If you use directional lights, enter minimum and maximum values to randomize the rotation of the lights. If you use spotlights, these values will affect the translation of the lights" SshadRand; + button -e -ann "Click me to randomize the rotation (directional lights) or translation (spot lights)" SRand; + + // sky opt + floatSliderGrp -e -ann "Adjust this threshold to set the minimum level of luminance used for the optimization" SLumT; + radioButtonGrp -e -ann "Sets here if you want to optimize the shadows (selected light.castShadows OFF) or the lights (deletion)" gi_Sopt; + button -e -ann "Click me to perform the optimization (Note: the lights to be optimized have to be selected)" SDoOpt; + checkBox -e -ann "Freezing the lighting will remove the shading nodes necessary to get the color from the texture, but the light will still emit the correct color" SFreeze; + + // sky shadows + radioButtonGrp -e -ann "Shadows On or Off?? Your call!!" SshadowsOnOff; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SReUseDmap; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapFS; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapRes; + floatSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapBias; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SUseMidDist; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SAutoFocOnOff; + intFieldGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapWF; + + // skyColorCal + checkBox -e -ann "Enables or disables the color calibration" SColorCal; + floatSliderGrp -e -ann "Sets the contrast value of the texture" SContrast; + floatSliderGrp -e -ann "Sets the contrastBias value of the texture" SContrastB; + floatSliderGrp -e -ann "Sets the hue value of the texture" SHue; + floatSliderGrp -e -ann "Sets the saturation value of the texture" SSat; + floatSliderGrp -e -ann "Sets the gamma value of the texture" SGam; + checkBox -e -ann "Freezes the color calibration by deleting the color calibration nodes" SFrCol; + + // ground int + floatSliderGrp -e -ann "Set a plain color or drag a texture into it" groundCol; + textFieldGrp -e -ann "The color statuts shows the status: Solid Color, Texture2d / Texture3d, or Frozen" GColStat; + floatSliderGrp -e -ann "Sky intensity: adjust it to modify the intensity of the skyLight lighting" GroundInt; + + if (`floatSliderGrp -ex GConeAngle` == 1) + { + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" GConeAngle; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" GPenumbra; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" GDropOff; + } + + checkBox -e -ann "Click me to link the ground intensity to the sky intensity" linkSkyInt; + floatSliderGrp -e -ann "Sets the multiplicator value of the sky intensity: a value of 0.5 will give half of the skyIntensity" GrIntMult; + + // special + checkBox -e -ann "Click me to hide the groundLights (not deleted)" HideGr; + checkBox -e -ann "Delete the whole groundLights and its UI attributes. NOT UNDOABLE!!" DelGr; + + // ground opt + floatSliderGrp -e -ann "Adjust this threshold to set the minimum level of luminance used for the optimization" GLumT; + radioButtonGrp -e -ann "Sets here if you want to optimize the shadows (selected light.castShadows OFF) or the lights (deletion)" gi_Gopt; + button -e -ann "Click me to perform the optimization (Note: the lights to be optimized have to be selected)" GDoOpt; + checkBox -e -ann "Freezing the lighting will remove the shading nodes necessary to get the color from the texture, but the light will still emit the correct color" GFreeze; + + // ground shadows + radioButtonGrp -e -ann "Shadows On or Off?? You decide!!" GShadOnOff; + floatSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" gi_GshadCol; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GReUseDmap; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapFS; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapRes; + floatSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapBias; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GUseMidDist; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GAutoFocOnOff; + intFieldGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapWF; + + // groundColorCal + checkBox -e -ann "Enables or disables the color calibration" GColorCal; + floatSliderGrp -e -ann "Sets the contrast value of the texture" GContrast; + floatSliderGrp -e -ann "Sets the contrastBias value of the texture" GContrastB; + floatSliderGrp -e -ann "Sets the hue value of the texture" GHue; + floatSliderGrp -e -ann "Sets the saturation value of the texture" GSat; + floatSliderGrp -e -ann "Sets the gamma value of the texture" GGam; + checkBox -e -ann "" GFrCol; + + // bake + checkBox -e -ann "Enables or not the bakeShader" bakeOnOff; + floatSliderGrp -e -ann "Sets here the color of the baked 'light' color" gi_BakShadCol1; + floatSliderGrp -e -ann "Sets here the color of the baked 'shadow' color" gi_BakShadCol2; + floatSliderGrp -e -ann "Sets here the multiplicator value of the sum of all 'lights.lightShadowFraction'" BakDensity; + floatSliderGrp -e -ann "Sets the contrast value of the 'light' & 'shadow' colors" BakCon; + floatSliderGrp -e -ann "Sets the contrastBias value of the 'light' & 'shadow' colors" BakeConB; + intSliderGrp -e -ann "Sets here the minimum resolution of the baked texture" BakMinRes; + intSliderGrp -e -ann "Sets here the maximum resolution of the baked texture" BakMaxRes; + optionMenuGrp -e -ann "Select here the output file format of the baked shadows files. Formats available: Maya IFF, Jpeg JPG, Targa TGA, Tiff TIF and Windows BMP" FF; + textFieldGrp -e -ann "Sets here the name of the baked directory where the baked texture will be stored" gi_outputShadDir; + checkBox -e -ann "Sets the Preview mode ON or OFF. The preview mode doesn't bake the shadows. It displays the bake infos in the scriptEditor" BakePr; + button -e -ann "Click me to bake all the textures of the objects the bakeShader is assigned to" bakAll; + button -e -ann "Click me to retrieve the baked textures" bakeGetFil; + } + else + { + // Gal + button -e -ann "" delGIJ; + button -e -ann "" shadClean; + button -e -ann "" shadCleanA; + checkBox -e -ann "" giHelp; + + // sky int + floatSliderGrp -e -ann "" skyCol; + textFieldGrp -e -ann "" SColStat; + floatSliderGrp -e -ann "" SkyInt; + if (`floatSliderGrp -ex GConeAngle` == 1) + { + floatSliderGrp -e -ann "" SConeAngle; + floatSliderGrp -e -ann "" SPenumbra; + floatSliderGrp -e -ann "" SDropOff; + } + radioButtonGrp -e -ann "" skySpec; + floatSliderGrp -e -ann "" SSpecT; + floatSliderGrp -e -ann "" SmultBoost; + + // sky HDRI + checkBox -e -ann "" HDR; + intSliderGrp -e -ann "" HDRint; + intSliderGrp -e -ann "" HDRPow; + floatSliderGrp -e -ann "" HDRGam; + + // sky opt + floatSliderGrp -e -ann "" SLumT; + radioButtonGrp -e -ann "" gi_Sopt; + button -e -ann "" SDoOpt; + checkBox -e -ann "" SFreeze; + + // sky shadows + radioButtonGrp -e -ann "" SshadowsOnOff; + checkBox -e -ann "" SReUseDmap; + intSliderGrp -e -ann "" SDmapFS; + intSliderGrp -e -ann "" SDmapRes; + floatSliderGrp -e -ann "" SDmapBias; + checkBox -e -ann "" SUseMidDist; + checkBox -e -ann "" SAutoFocOnOff; + intFieldGrp -e -ann "" SDmapWF; + + // skyColorCal + checkBox -e -ann "" SColorCal; + floatSliderGrp -e -ann "" SContrast; + floatSliderGrp -e -ann "" SContrastB; + floatSliderGrp -e -ann "" SHue; + floatSliderGrp -e -ann "" SSat; + floatSliderGrp -e -ann "" SGam; + + // ground int + floatSliderGrp -e -ann "" groundCol; + textFieldGrp -e -ann "" GColStat; + floatSliderGrp -e -ann "" GroundInt; + if (`floatSliderGrp -ex GConeAngle` == 1) + { + floatSliderGrp -e -ann "" GConeAngle; + floatSliderGrp -e -ann "" GPenumbra; + floatSliderGrp -e -ann "" GDropOff; + } + checkBox -e -ann "" linkSkyInt; + floatSliderGrp -e -ann "" GrIntMult; + + // special + checkBox -e -ann "" HideGr; + checkBox -e -ann "" DelGr; + + // ground opt + floatSliderGrp -e -ann "" GLumT; + radioButtonGrp -e -ann "" gi_Gopt; + button -e -ann "" GDoOpt; + checkBox -e -ann "" GFreeze; + + // ground shadows + radioButtonGrp -e -ann "" GShadOnOff; + floatSliderGrp -e -ann "" gi_GshadCol; + checkBox -e -ann "" GReUseDmap; + intSliderGrp -e -ann "" GDmapFS; + intSliderGrp -e -ann "" GDmapRes; + floatSliderGrp -e -ann "" GDmapBias; + checkBox -e -ann "" GUseMidDist; + checkBox -e -ann "" GAutoFocOnOff; + intFieldGrp -e -ann "" GDmapWF; + + // groundColorCal + checkBox -e -ann "" GColorCal; + floatSliderGrp -e -ann "" GContrast; + floatSliderGrp -e -ann "" GContrastB; + floatSliderGrp -e -ann "" GHue; + floatSliderGrp -e -ann "" GSat; + floatSliderGrp -e -ann "" GGam; + + // bake + checkBox -e -ann "" bakeOnOff; + floatSliderGrp -e -ann "" gi_BakShadCol1; + floatSliderGrp -e -ann "" gi_BakShadCol2; + floatSliderGrp -e -ann "" BakDensity; + floatSliderGrp -e -ann "" BakCon; + floatSliderGrp -e -ann "" BakeConB; + intSliderGrp -e -ann "" BakMinRes; + intSliderGrp -e -ann "" BakMaxRes; + optionMenuGrp -e -ann "" FF; + textFieldGrp -e -ann "" gi_outputShadDir; + checkBox -e -ann "" BakePr; + button -e -ann "" bakAll; + button -e -ann "" bakeGetFil; + } +} + +// LIGHT ATTRIBUTES + +global proc gi_SkyInt() +{ + string $lights[] = `ls "skyLightShape*"`; + float $intensity = `floatSliderGrp -q -v SkyInt`; + float $mult = `floatSliderGrp -q -v SmultBoost`; + int $numLs = `getAttr GIJoe_group.numLs`; + float $newInt; + if ($numLs == "16") + $newInt = $intensity; + if ($numLs == "64") + $newInt = $intensity / 4; + if ($numLs == "256") + $newInt = $intensity / 16; + for ($inc in $lights) + { + if (`getAttr ($inc + ".emitSpecular")` == 1) + setAttr ($inc + ".intensity") ($newInt * $mult); + else + setAttr ($inc + ".intensity") $newInt; + } + setAttr GIJoe_group.SkyInt $intensity; + setAttr GIJoe_group.MultHigh $mult; + + int $link = `checkBox -q -v linkSkyInt`; + if ($link == 1) + { + string $lights[] = `ls "groundLightShape*"`; + float $Mult = `floatSliderGrp -q -v GrIntMult`; + + for ($inc in $lights) + setAttr ($inc + ".intensity") ($newInt * $Mult); + } +} + +global proc gi_GroundInt() +{ + string $lights[] = `ls "groundLightShape*"`; + float $intensity = `floatSliderGrp -q -v GroundInt`; + float $newInt; + int $numLg = `getAttr GIJoe_group.numLg`; + if ($numLg == "16") + $newInt = $intensity; + if ($numLg == "64") + $newInt = $intensity / 4; + setAttr GIJoe_group.GrInt $intensity; + for ($inc in $lights) + setAttr ($inc + ".intensity") $newInt; +} + +global proc gi_linkSkyInt() +{ + string $lights[] = `ls "groundLightShape*"`; + int $link = `checkBox -q -v linkSkyInt`; + setAttr GIJoe_group.linkSky $link; + if ($link == 1) + { + floatSliderGrp -edit -en 1 GrIntMult; + float $skyInt = `floatSliderGrp -q -v SkyInt`; + floatSliderGrp -edit -v $skyInt GroundInt; + float $mult = `floatSliderGrp -q -v GrIntMult`; + floatSliderGrp -edit -en 0 GroundInt; + int $testSpot = `floatSliderGrp -ex GConeAngle`; + if ( $testSpot == 1) + { + floatSliderGrp -edit -en 0 GConeAngle; + floatSliderGrp -edit -en 0 GPenumbra; + floatSliderGrp -edit -en 0 GDropOff; + } + for ($inc in $lights) + setAttr ($inc + ".intensity") ($skyInt * $mult); + } + else + { + floatSliderGrp -edit -en 0 GrIntMult; + floatSliderGrp -edit -en 1 GroundInt; + string $lights[] = `ls "groundLightShape*"`; + float $intensity = `floatSliderGrp -q -v GroundInt`; + for ($inc in $lights) + setAttr ($inc + ".intensity") $intensity; + + int $testSpot = `floatSliderGrp -ex GConeAngle`; + if ($testSpot == 1) + { + floatSliderGrp -edit -en 1 GConeAngle; + floatSliderGrp -edit -en 1 GPenumbra; + floatSliderGrp -edit -en 1 GDropOff; + } + } +} + +global proc gi_GrIntMult() +{ + string $lights[] = `ls "groundLightShape*"`; + float $mult = `floatSliderGrp -q -v GrIntMult`; + setAttr GIJoe_group.linkMult $mult; + float $sint = `floatSliderGrp -q -v SkyInt`; + for ($inc in $lights) + setAttr ($inc + ".intensity") ($sint * $mult); +} + +// SPOT ATTR + +global proc gi_SConeAngle() +{ + string $lights[] = `ls "skyLightShape*"`; + float $coneAngle = `floatSliderGrp -q -v SConeAngle`; + setAttr GIJoe_group.SConeAngle $coneAngle; + for ($inc in $lights) + setAttr ($inc + ".coneAngle") $coneAngle; +} + +global proc gi_GConeAngle() +{ + string $lights[] = `ls "groundLightShape*"`; + float $coneAngle = `floatSliderGrp -q -v GConeAngle`; + setAttr GIJoe_group.GConeAngle $coneAngle; + for ($inc in $lights) + setAttr ($inc + ".coneAngle") $coneAngle; +} + +global proc gi_SPenumbra() +{ + string $lights[] = `ls "skyLightShape*"`; + float $penumbra = `floatSliderGrp -q -v SPenumbra`; + setAttr GIJoe_group.SPenumbra $penumbra; + for ($inc in $lights) + setAttr ($inc + ".penumbraAngle") $penumbra; +} + +global proc gi_GPenumbra() +{ + string $lights[] = `ls "groundLightShape*"`; + float $penumbra = `floatSliderGrp -q -v GPenumbra`; + setAttr GIJoe_group.GPenumbra $penumbra; + for ($inc in $lights) + setAttr ($inc + ".penumbraAngle") $penumbra; +} + +global proc gi_SDropOff() +{ + string $lights[] = `ls "skyLightShape*"`; + float $dropOff = `floatSliderGrp -q -v SDropOff`; + setAttr GIJoe_group.SDropOff $dropOff; + for ($inc in $lights) + setAttr ($inc + ".dropoff") $dropOff; +} + +global proc gi_GDropOff() +{ + string $lights[] = `ls "groundLightShape*"`; + float $dropOff = `floatSliderGrp -q -v GDropOff`; + setAttr GIJoe_group.GDropOff $dropOff; + for ($inc in $lights) + setAttr ($inc + ".dropoff") $dropOff; +} + +// HDRI fake + +global proc gi_HDR() +{ + int $hdr = `checkBox -q -v HDR`; + string $skytex[] = `listConnections -d 0 -s 1 GIJoe_group.skyColor`; + + if ((`objExists "HDR_ramp"` == 1) && ($hdr == 0)) + { + intSliderGrp -e -en 0 -v 1 HDRint; + intSliderGrp -e -en 0 -v 200 HDRPow; + floatSliderGrp -e -en 0 -v 0.1 HDRGam; + deleteAttr GIJoe_group.HDR; + deleteAttr GIJoe_group.HDRInt; + deleteAttr GIJoe_group.HDRPow; + deleteAttr GIJoe_group.HDRGam; + delete "HDR_shader" "HDR_shaderSG" "HDR_texture" "HDR_ramp" "HDR_limit" "HDR_gamma" "HDR_Hsv" "HDR_Surface"; + return; + } + + if (`size $skytex[0]` == 0) + { + warning "Please set a texture to the skyColor to perform HDRI fake!!"; + checkBox -e -v 0 HDR; + intSliderGrp -e -en 0 HDRint; + intSliderGrp -e -en 0 HDRPow; + floatSliderGrp -e -en 0 HDRGam; + return; + } + + int $specTest = `radioButtonGrp -q -select skySpec`; + if ($specTest == 0) + { + warning "Please set Specular to On to perform HDRI fake"; + checkBox -e -v 0 HDR; + intSliderGrp -e -en 0 HDRint; + intSliderGrp -e -en 0 HDRPow; + floatSliderGrp -e -en 0 HDRGam; + return; + } + + if ($hdr == 1) + { + intSliderGrp -e -en 1 HDRint; + intSliderGrp -e -en 1 HDRPow; + floatSliderGrp -e -en 1 HDRGam; + int $HDRint = `intSliderGrp -q -v HDRint`; + int $HDRPow = `intSliderGrp -q -v HDRPow`; + float $HDRGam = `floatSliderGrp -q -v HDRGam`; + if (`attributeExists "HDRInt" GIJoe_group` == 0) + { + addAttr -ln HDR -at bool GIJoe_group; + addAttr -ln HDRInt -at time GIJoe_group; + setAttr GIJoe_group.HDR 1; + setAttr GIJoe_group.HDRInt $HDRint; + addAttr -ln HDRPow -at time GIJoe_group; + setAttr GIJoe_group.HDRPow $HDRPow; + addAttr -ln HDRGam -at time GIJoe_group; + setAttr GIJoe_group.HDRGam $HDRGam; + } + else + { + setAttr GIJoe_group.HDR 1; + setAttr GIJoe_group.HDRInt $HDRint; + setAttr GIJoe_group.HDRPow $HDRPow; + setAttr GIJoe_group.HDRGam $HDRGam; + } + } + + // HDR surface + + string $dup_Surf[] = `duplicate "domeSurface"`; + string $HDR_Surf = `rename $dup_Surf[0] "HDR_Surface"`; + setAttr ($HDR_Surf + ".explicitTessellationAttributes") 1; + setAttr ($HDR_Surf + ".numberU") 20; + setAttr ($HDR_Surf + ".numberV") 20; + setAttr ($HDR_Surf + ".primaryVisibility") 0; + + float $sca[] = `getAttr "domeSurface.scale"`; + float $HDRSca[]; + $HDRSca[0] = $sca[0] * .95; + $HDRSca[1] = $sca[1] * .95; + $HDRSca[2] = $sca[2] * .95; + setAttr ($HDR_Surf + ".scale") -type double3 $HDRSca[0] $HDRSca[1] $HDRSca[2]; + + // Surface's shader + + string $HDR_shader = `shadingNode -as blinn -n "HDR_shader"`; + setAttr ($HDR_shader + ".transparency") -type double3 1 1 1; + setAttr ($HDR_shader + ".specularRollOff") 1; + setAttr ($HDR_shader + ".eccentricity") 1; + setAttr ($HDR_shader + ".reflectivity") 0; + + // HDR texture shading nodes + + string $skytex[] = `listConnections -d 0 -s 1 GIJoe_group.skyColor`; + string $tex[] = `duplicate -ic $skytex[0]`; + string $HDR_tex = `rename $tex[0] "HDR_texture"`; + + string $HDRRp1 = `shadingNode -at ramp -n HDR_limit`; + string $HDRGam = `shadingNode -au gammaCorrect -n HDR_gamma`; + string $HDRRamp = `shadingNode -at ramp -n HDR_ramp`; + string $HDRHsv = `shadingNode -au rgbToHsv -n HDR_Hsv`; + + removeMultiInstance -break true ($HDRRp1 + ".colorEntryList[2]"); + setAttr ($HDRRp1 + ".colorEntryList[1].color") -type double3 1 1 1; + setAttr ($HDRRp1 + ".colorEntryList[1].position") 0.525; + setAttr ($HDRRp1 + ".colorEntryList[0].color") -type double3 0 0 0; + setAttr ($HDRRp1 + ".colorEntryList[0].position") 0.4; + setAttr ($HDRRp1 + ".interpolation") 4; + + removeMultiInstance -break true ($HDRRamp + ".colorEntryList[1]"); + setAttr ($HDRRamp + ".colorEntryList[2].color") -type double3 1 1 1; + setAttr ($HDRRamp + ".colorEntryList[0].color") -type double3 0 0 0; + setAttr ($HDRRamp + ".colorEntryList[2].position") 1; + setAttr ($HDRRamp + ".interpolation") 2; + setAttr ($HDRGam + ".gamma") -type double3 0.1 0.1 0.1; + connectAttr ($HDR_tex + ".outColor") ($HDRHsv + ".inRgb"); + connectAttr ($HDRHsv + ".outHsvH") ($HDRRamp + ".uCoord"); + connectAttr ($HDRHsv + ".outHsvV") ($HDRRamp + ".vCoord"); + connectAttr ($HDR_tex + ".outColor") ($HDRRamp + ".colorGain"); + connectAttr ($HDRRamp + ".outColor") ($HDRGam + ".value"); + connectAttr ($HDRGam + ".outValue") ($HDR_shader + ".specularColor"); + connectAttr ($HDRRp1 + ".outColor") ($HDR_tex + ".colorGain"); + + connectAttr GIJoe_group.HDRPow ($HDR_shader + ".reflectionSpecularity"); + + select $HDR_Surf; + hyperShade -a $HDR_shader; + + gi_HDRint; +} + + +global proc gi_HDRint() // specular rolloff value +{ + int $HDRint = `intSliderGrp -q -v HDRint`; + setAttr GIJoe_group.HDRInt $HDRint; + setAttr HDR_shader.specularRollOff $HDRint; +} + + +global proc gi_HDRPow() +{ + int $HDRpow = `intSliderGrp -q -v HDRPow`; + setAttr GIJoe_group.HDRPow $HDRpow; +} + +global proc gi_HDRGam() +{ + float $HDRGam = `floatSliderGrp -q -v HDRGam`; + setAttr GIJoe_group.HDRGam $HDRGam; + setAttr HDR_gamma.gamma -type double3 $HDRGam $HDRGam $HDRGam; +} + + +// SKY SPECIAL + +global proc gi_SRand() +{ + string $lightsS[] = `ls "skyLightShape*"`; + + int $randMin = `intFieldGrp -q -v1 SshadRand`; + int $randMax =` intFieldGrp -q -v2 SshadRand`; + + for ($inc in $lightsS) + { + string $Light[] = `listRelatives -p $inc`; + if (`nodeType $inc` == "directionalLight") + { + float $rotaX = `getAttr ($Light[0] + ".rotateX")`; + float $rotaY = `getAttr ($Light[0] + ".rotateY")`; + float $rotaZ = `getAttr ($Light[0] + ".rotateZ")`; + + $rotaX = (rand ($randMin, $randMax) + $rotaX); + $rotaY = (rand ($randMin, $randMax) + $rotaY); + $rotaZ = (rand ($randMin, $randMax) + $rotaZ); + + setAttr ($Light[0]+ ".rotateX") $rotaX; + setAttr ($Light[0]+ ".rotateY") $rotaY; + setAttr ($Light[0]+ ".rotateZ") $rotaZ; + } + else + { + float $traX = `getAttr ($Light[0] + ".translateX")`; + float $traY = `getAttr ($Light[0] + ".translateY")`; + float $traZ = `getAttr ($Light[0] + ".translateZ")`; + + $traX = (rand ($randMin, $randMax) + $traX); + $traY = (rand ($randMin, $randMax) + $traY); + $traZ = (rand ($randMin, $randMax) + $traZ); + + setAttr ($Light[0]+ ".translateX") $traX; + setAttr ($Light[0]+ ".translateY") $traY; + setAttr ($Light[0]+ ".translateZ") $traZ; + } + } +} + +// SPECULAR FEATURES + +global proc gi_specOn() +{ + string $lights[] = `ls "skyLightShape*"`; + for ($inc in $lights) + setAttr ($inc + ".emitSpecular") 1; + + setAttr GIJoe_group.SkySpec 1; + floatSliderGrp -e -en 1 SSpecT; + floatSliderGrp -e -en 1 SmultBoost; + gi_SSpecT; +} + +global proc gi_specOff() +{ + string $lights[] = `ls "skyLightShape*"`; + for ($inc in $lights) + setAttr ($inc + ".emitSpecular") 0; + + floatSliderGrp -e -en 0 -v 0 SSpecT; + floatSliderGrp -e -en 0 -v 1 SmultBoost; + + setAttr GIJoe_group.SkySpec 2; + + string $testHDR[] = `ls "DRLight*"`; + if (`size $testHDR` > 0) + { + delete "DRLight*"; + checkBox -e -v 0 DR; + floatSliderGrp -e -en -0 -v 0.1 DRint; + intSliderGrp -e -en 0 DRPow; + floatSliderGrp -e -en 0 DRGam; + deleteAttr GIJoe_group.DR; + deleteAttr GIJoe_group.DRInt; + deleteAttr GIJoe_group.DRPow; + deleteAttr GIJoe_group.DRGam; + delete "DR_shader" "DRS_texture" "DR_ramp" "DR_gamma" "DR_Hsv" "DR_Surface"; + } +} + +global proc gi_SSpecT() +{ + float $TresSpec = `floatSliderGrp -q -v SSpecT`; + string $lights[] = `ls "skyLightShape*"`; + int $specOn = `radioButtonGrp -q -select skySpec`; + + setAttr GIJoe_group.SpecTres $TresSpec; + select -cl; + + if ($specOn == 1) + { + for ($inc in $lights) + { + setAttr ($inc + ".emitSpecular") 0; + float $lumR = `getAttr ($inc + ".colorR")`; + float $lumG = `getAttr ($inc + ".colorG")`; + float $lumB = `getAttr ($inc + ".colorB")`; + + float $lum = (0.3 * $lumR) + (0.59 * $lumG) + (0.11 * $lumB); + + if ($lum < $TresSpec) + setAttr ($inc + ".emitSpecular") 0; + else + { + setAttr ($inc + ".emitSpecular") 1; + select -add $inc; + } + } + + //for ($inc in $lights) + //{ + // if (`getAttr ($inc + ".emitSpecular")` == 1) + // select -add $inc; + //} + + string $DRL[] = `ls "DRLight*"`; + if (`size $DRL` > 0) + gi_DR; + } + + else + return; +} + +// SHADOWS + +global proc gi_clean() +{ + string $ppath = `workspace -q -rd`; + string $bdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $shadDir = `pwd`; + string $scN = `file -q -sn`; + string $scene[]; + string $sceneName[]; + tokenize $scN "/" $scene; + tokenize $scene[`size $scene`-1] "." $sceneName; + system ("del " + $sceneName[0] + "*"); + print ("Scene lights maps deleted!!\n"); +} + +global proc gi_cleanAll() +{ + string $ppath = `workspace -q -rd`; + string $bdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $shadDir = `pwd`; + system "del /Q *.*"; + print ("All lights maps deleted!!\n"); +} + +global proc gi_SshadowsOn() +{ + string $lights[] = `ls "skyLightShape*"`; + setAttr GIJoe_group.SShado 1; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 1; +} + +global proc gi_SshadowsOff() +{ + string $lights[] = `ls "skyLightShape*"`; + setAttr GIJoe_group.SShado 2; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; +} + +global proc gi_GshadowsOn() +{ + string $lights[] = `ls "groundLightShape*"`; + setAttr GIJoe_group.GShado 1; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 1; +} + +global proc gi_GshadowsOff() +{ + string $lights[] = `ls "groundLightShape*"`; + setAttr GIJoe_group.GShado 2; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; +} + +global proc gi_SReUseDmap() +{ + string $lights[] = `ls "skyLightShape*"`; + int $reuse = `checkBox -q -v SReUseDmap`; + for ($inc in $lights) + setAttr ($inc + ".reuseDmap") $reuse; +} + +global proc gi_GReUseDmap() +{ + string $lights[] = `ls "groundLightShape*"`; + int $reuse = `checkBox -q -v GReUseDmap`; + for ($inc in $lights) + setAttr ($inc + ".reuseDmap") $reuse; +} + +global proc gi_SDmapFS() +{ + string $lights[] = `ls "skyLightShape*"`; + int $fs = `intSliderGrp -q -v SDmapFS`; + for ($inc in $lights) + setAttr ($inc + ".dmapFilterSize") $fs; +} + +global proc gi_GDmapFS() +{ + string $lights[] = `ls "groundLightShape*"`; + int $fs = `intSliderGrp -q -v GDmapFS`; + for ($inc in $lights) + setAttr ($inc + ".dmapFilterSize") $fs; +} + +global proc gi_SDmapRes() +{ + string $lights[] = `ls "skyLightShape*"`; + int $res = `intSliderGrp -q -v SDmapRes`; + for ($inc in $lights) + setAttr ($inc + ".dmapResolution") $res; + + gi_updateShadowsNames; +} + +global proc gi_GDmapRes() +{ + string $lights[] = `ls "groundLightShape*"`; + int $res = `intSliderGrp -q -v GDmapRes`; + for ($inc in $lights) + setAttr ($inc + ".dmapResolution") $res; + + gi_updateShadowsNames; +} + +global proc gi_SDmapBias() +{ + string $lights[] = `ls "skyLightShape*"`; + float $bias = `floatSliderGrp -q -v SDmapBias`; + for ($inc in $lights) + setAttr ($inc + ".dmapBias") $bias; +} + +global proc gi_GDmapBias() +{ + string $lights[] = `ls "groundLightShape*"`; + float $bias = `floatSliderGrp -q -v GDmapBias`; + for ($inc in $lights) + setAttr ($inc + ".dmapBias") $bias; +} + +global proc gi_SUseMidDist() +{ + string $lights[] = `ls "skyLightShape*"`; + int $midDist = `checkBox -q -v SUseMidDist`; + for ($inc in $lights) + setAttr ($inc + ".useMidDistDmap") $midDist; +} + +global proc gi_GUseMidDist() +{ + string $lights[] = `ls "groundLightShape*"`; + int $midDist = `checkBox -q -v GUseMidDist`; + for ($inc in $lights) + setAttr ($inc + ".useMidDistDmap") $midDist; +} + +global proc gi_SAutoFocOnOff() +{ + string $lights[] = `ls "skyLightShape*"`; + int $autoF = `checkBox -q -v SAutoFocOnOff`; + if ($autoF == 1) + { + intFieldGrp -edit -en 0 SDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } + else if ($autoF == 0) + { + intFieldGrp -edit -en 1 SDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } +} + +global proc gi_GAutoFocOnOff() +{ + string $lights[] = `ls "groundLightShape*"`; + int $autoF = `checkBox -q -v GAutoFocOnOff`; + if ($autoF == 1) + { + intFieldGrp -edit -en 0 GDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } + else if ($autoF == 0) + { + intFieldGrp -edit -en 1 GDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } +} + +global proc gi_SDmapWF() +{ + string $lights[] = `ls "skyLightShape*"`; + int $wf = `intFieldGrp -q -v1 SDmapWF`; + for ($inc in $lights) + setAttr ($inc + ".dmapWidthFocus") $wf; +} + +global proc gi_GDmapWF() +{ + string $lights[] = `ls "groundLightShape*"`; + int $wf = `intFieldGrp -q -v1 GDmapWF`; + for ($inc in $lights) + setAttr ($inc + ".dmapWidthFocus") $wf; +} + +// SKY COLOR CALIBRATION + +global proc gi_SColorCal() +{ + int $scolCal = `checkBox -q -v SColorCal`; + string $stat = `textFieldGrp -q -tx SColStat`; + string $sTex[] = `listConnections -d off -s on GIJoe_group.skyColor`; + + if (`size $sTex` == 0) + { + warning "No texture plugged into skyColor!!\n"; + checkBox -edit -v 0 SColorCal; + return; + } + else if ($stat == "Frozen") + { + warning "The sky lighting is frozen. Please disconnect and reconnect the texture to calibrate it"; + checkBox -edit -v 0 SColorCal; + return; + } + + string $texSky[] = `ls ("skyTex*")`; + + if (($scolCal == 1) && (`size $texSky` > 0)) + { + addAttr -ln SCon -at time GIJoe_group; + addAttr -ln SConB -at time GIJoe_group; + addAttr -ln SHue -at time GIJoe_group; + addAttr -ln SSat -at time GIJoe_group; + addAttr -ln SGam -at time GIJoe_group; + setAttr GIJoe_group.SColCal 1; + + floatSliderGrp -edit -en 1 SContrast; + floatSliderGrp -edit -en 1 SContrastB; + floatSliderGrp -edit -en 1 SHue; + floatSliderGrp -edit -en 1 SSat; + floatSliderGrp -edit -en 1 SGam; + checkBox -e -en 1 SFrCol; + + // creating nodes + + int $num = 0; + string $lights[] = `ls "skyLightShape*"`; + + for ($inc in $lights) + { + string $rgb2Hsv = `shadingNode -au rgbToHsv -n skyRgb2Hsv1`; + string $mult = `shadingNode -au multiplyDivide -n skyMult1`; + string $hsv2Rgb = `shadingNode -au hsvToRgb -n skyHsv2Rgb1`; + string $contrast = `shadingNode -au contrast -n skyContrast1`; + setAttr ($contrast + ".contrast") 1 1 1; + string $gamma = `shadingNode -au gammaCorrect -n skyGamma1`; + + connectAttr -f ($texSky[$num] + ".outColor") ($rgb2Hsv + ".inRgb"); + connectAttr -f ($rgb2Hsv + ".outHsv") ($mult + ".input1"); + connectAttr -f ($mult + ".output") ($hsv2Rgb + ".inHsv"); + connectAttr -f ($hsv2Rgb + ".outRgb") ($contrast + ".value"); + connectAttr -f ($contrast + ".outValue") ($gamma + ".value"); + connectAttr -f ($gamma + ".outValue") ($inc + ".color"); + $num++; + } + + connectAttr -f "skyMult1.input2X" GIJoe_group.SHue; + connectAttr -f "skyMult1.input2Y" GIJoe_group.SSat; + connectAttr -f "skyContrast1.contrastX" GIJoe_group.SCon; + connectAttr -f "skyContrast1.biasX" GIJoe_group.SConB; + connectAttr -f "skyGamma1.gammaX" GIJoe_group.SGam; + } + else if ($scolCal == 0) + { + floatSliderGrp -edit -v 1 SContrast; + floatSliderGrp -edit -v 0.5 SContrastB; + floatSliderGrp -edit -v 1 SHue; + floatSliderGrp -edit -v 1 SSat; + floatSliderGrp -edit -v 1 SGam; + + floatSliderGrp -edit -en 0 SContrast; + floatSliderGrp -edit -en 0 SContrastB; + floatSliderGrp -edit -en 0 SHue; + floatSliderGrp -edit -en 0 SSat; + floatSliderGrp -edit -en 0 SGam; + checkBox -e -en 0 SFrCol; + + deleteAttr GIJoe_group.SCon; + deleteAttr GIJoe_group.SConB; + deleteAttr GIJoe_group.SHue; + deleteAttr GIJoe_group.SSat; + deleteAttr GIJoe_group.SGam; + + setAttr GIJoe_group.SColCal 0; + + string $lights[] = `ls "skyLightShape*"`; + int $num = 0; + for ($inc in $lights) + { + connectAttr -f ($texSky[$num] + ".outColor") ($inc + ".color"); + $num++; + } + + if (`objExists "skyRgb2Hsv1"` == 1) + delete "skyRgb2Hsv*" "skyMult*" "skyHsv2Rgb*" "skyGamma*" "skyContrast*"; + } +} + +global proc gi_SContrast() +{ + float $scon = `floatSliderGrp -q -v SContrast`; + string $conNode[] = `ls "skyContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".contrastX") $scon; + setAttr ($inc + ".contrastY") $scon; + setAttr ($inc + ".contrastZ") $scon; + } +} + +global proc gi_SContrastB() +{ + float $sconB = `floatSliderGrp -q -v SContrastB`; + string $conNode[] = `ls "skyContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".biasX") $sconB; + setAttr ($inc + ".biasY") $sconB; + setAttr ($inc + ".biasZ") $sconB; + } +} + +global proc gi_SHue() +{ + float $shue = `floatSliderGrp -q -v SHue`; + string $multNode[] = `ls "skyMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2X") $shue; +} + +global proc gi_SSat() +{ + float $sSat = `floatSliderGrp -q -v SSat`; + string $multNode[] = `ls "skyMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2Y") $sSat; +} + +global proc gi_SGam() +{ + float $sGam = `floatSliderGrp -q -v SGam`; + string $conNode[] = `ls "skyGamma*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".gammaX") $sGam; + setAttr ($inc + ".gammaY") $sGam; + setAttr ($inc + ".gammaZ") $sGam; + } +} + +global proc gi_SFrCol() +{ + string $lights[] = `ls "skyLightShape*"`; + float $colL[]; + + for ($inc in $lights) + { + $colL = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $colL[0] $colL[1] $colL[2]; + } + + delete "skyRgb2Hsv*" "skyMult*" "skyHsv2Rgb*" "skyGamma*" "skyContrast*"; + + deleteAttr GIJoe_group.SCon; + deleteAttr GIJoe_group.SConB; + deleteAttr GIJoe_group.SHue; + deleteAttr GIJoe_group.SSat; + deleteAttr GIJoe_group.SGam; + + floatSliderGrp -edit -v 1 SContrast; + floatSliderGrp -edit -v 0.5 SContrastB; + floatSliderGrp -edit -v 1 SHue; + floatSliderGrp -edit -v 1 SSat; + floatSliderGrp -edit -v 1 SGam; + + floatSliderGrp -edit -en 0 SContrast; + floatSliderGrp -edit -en 0 SContrastB; + floatSliderGrp -edit -en 0 SHue; + floatSliderGrp -edit -en 0 SSat; + floatSliderGrp -edit -en 0 SGam; + checkBox -e -en 0 -v 0 SFrCol; + checkBox -e -v 0 SColorCal; + + textFieldGrp -e -tx "Frozen" SColStat; + setAttr GIJoe_group.SColCal 0; + + delete "skyTex*" "sky_SR*" "cposSky*"; +} + + +// GROUND COLOR CALIBRATION + +global proc gi_GColorCal() +{ + int $gcolCal = `checkBox -q -v GColorCal`; + string $stat = `textFieldGrp -q -tx GColStat`; + string $gTex[] = `listConnections -d off -s on GIJoe_group.groundColor`; + + if (`size $gTex` == 0) + { + warning "No texture plugged into groundColor!!\n"; + checkBox -edit -v 0 GColorCal; + return; + } + else if ($stat == "Frozen") + { + warning "The ground lighting is frozen. Please disconnect and reconnect the texture to calibrate it"; + checkBox -edit -v 0 GColorCal; + return; + } + + string $texGround[] = `ls ("groundTex*")`; + + if (($gcolCal == 1) && (`size $texGround` > 0)) + { + addAttr -ln GCon -at time GIJoe_group; + addAttr -ln GConB -at time GIJoe_group; + addAttr -ln GHue -at time GIJoe_group; + addAttr -ln GSat -at time GIJoe_group; + addAttr -ln GGam -at time GIJoe_group; + setAttr GIJoe_group.GColCal 1; + + floatSliderGrp -edit -en 1 GContrast; + floatSliderGrp -edit -en 1 GContrastB; + floatSliderGrp -edit -en 1 GHue; + floatSliderGrp -edit -en 1 GSat; + floatSliderGrp -edit -en 1 GGam; + checkBox -e -en 1 GFrCol; + + // creating nodes + + int $num = 0; + string $lights[] = `ls "groundLightShape*"`; + + for ($inc in $lights) + { + string $rgb2Hsv = `shadingNode -au rgbToHsv -n groundRgb2Hsv1`; + string $mult = `shadingNode -au multiplyDivide -n groundMult1`; + string $hsv2Rgb = `shadingNode -au hsvToRgb -n groundHsv2Rgb1`; + string $contrast = `shadingNode -au contrast -n groundContrast1`; + setAttr ($contrast + ".contrast") 1 1 1; + string $gamma = `shadingNode -au gammaCorrect -n groundGamma1`; + + connectAttr -f ($texGround[$num] + ".outColor") ($rgb2Hsv + ".inRgb"); + connectAttr -f ($rgb2Hsv + ".outHsv") ($mult + ".input1"); + connectAttr -f ($mult + ".output") ($hsv2Rgb + ".inHsv"); + connectAttr -f ($hsv2Rgb + ".outRgb") ($contrast + ".value"); + connectAttr -f ($contrast + ".outValue") ($gamma + ".value"); + connectAttr -f ($gamma + ".outValue") ($inc + ".color"); + $num++; + } + + connectAttr -f "groundMult1.input2X" GIJoe_group.GHue; + connectAttr -f "groundMult1.input2Y" GIJoe_group.GSat; + connectAttr -f "groundContrast1.contrastX" GIJoe_group.GCon; + connectAttr -f "groundContrast1.biasX" GIJoe_group.GConB; + connectAttr -f "groundGamma1.gammaX" GIJoe_group.GGam; + } + else if ($gcolCal == 0) + { + floatSliderGrp -edit -en 0 -v 1 GContrast; + floatSliderGrp -edit -en 0 -v 0.5 GContrastB; + floatSliderGrp -edit -en 0 -v 1 GHue; + floatSliderGrp -edit -en 0 -v 1 GSat; + floatSliderGrp -edit -en 0 -v 1 GGam; + checkBox -e -en 0 GFrCol; + + deleteAttr GIJoe_group.GCon; + deleteAttr GIJoe_group.GConB; + deleteAttr GIJoe_group.GHue; + deleteAttr GIJoe_group.GSat; + deleteAttr GIJoe_group.GGam; + + string $lights[] = `ls "groundLightShape*"`; + int $num = 0; + for ($inc in $lights) + { + connectAttr -f ($texGround[$num] + ".outColor") ($inc + ".color"); + $num++; + } + + if (`objExists "groundRgb2Hsv1"` == 1) + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; + } +} + +global proc gi_GContrast() +{ + float $gcon = `floatSliderGrp -q -v GContrast`; + string $conNode[] = `ls "groundContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".contrastX") $gcon; + setAttr ($inc + ".contrastY") $gcon; + setAttr ($inc + ".contrastZ") $gcon; + } +} + +global proc gi_GContrastB() +{ + float $gconB = `floatSliderGrp -q -v GContrastB`; + string $conNode[] = `ls "groundContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".biasX") $gconB; + setAttr ($inc + ".biasY") $gconB; + setAttr ($inc + ".biasZ") $gconB; + } +} + +global proc gi_GHue() +{ + float $ghue = `floatSliderGrp -q -v GHue`; + string $multNode[] = `ls "groundMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2X") $ghue; +} + +global proc gi_GSat() +{ + float $gSat = `floatSliderGrp -q -v GSat`; + string $multNode[] = `ls "groundMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2Y") $gSat; +} + +global proc gi_GGam() +{ + float $gGam = `floatSliderGrp -q -v GGam`; + string $conNode[] = `ls "groundGamma*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".gammaX") $gGam; + setAttr ($inc + ".gammaY") $gGam; + setAttr ($inc + ".gammaZ") $gGam; + } +} + +global proc gi_GFrCol() +{ + string $lights[] = `ls "groundLightShape*"`; + for ($inc in $lights) + { + float $lcol[] = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $lcol[0] $lcol[1] $lcol[2]; + } + + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; + deleteAttr GIJoe_group.GCon; + deleteAttr GIJoe_group.GConB; + deleteAttr GIJoe_group.GHue; + deleteAttr GIJoe_group.GSat; + deleteAttr GIJoe_group.GGam; + + floatSliderGrp -edit -en 0 -v 1 GContrast; + floatSliderGrp -edit -en 0 -v 0.5 GContrastB; + floatSliderGrp -edit -en 0 -v 1 GHue; + floatSliderGrp -edit -en 0 -v 1 GSat; + floatSliderGrp -edit -en 0 -v 1 GGam; + checkBox -e -en 0 -v 0 GFrCol; + checkBox -e -v 0 GColorCal; + + delete "groundTex*" "ground_SR*" "cposGround*"; + + textFieldGrp -e -tx "Frozen" GColStat; + setAttr GIJoe_group.GColCal 0; +} + +// OPTIMISATION + +global proc gi_SLumT() +{ + float $lumSTres = `floatSliderGrp -q -v SLumT`; + setAttr GIJoe_group.LumTres $lumSTres; + int $optShad = `radioButtonGrp -q -sl gi_Sopt`; + setAttr GIJoe_group.ShadOptType $optShad; + + string $texCon[] = `listConnections -s 1 -d 0 GIJoe_group.skyColor`; + if (`size $texCon` == 0) + { + textFieldGrp -edit -text "Optimize needs a texture!!" SOptResult; + return; + } + + string $lights[] = `ls "skyLightShape*"`; + select -cl; + int $numL; + + for ($inc in $lights) + { + float $lintR = `getAttr ($inc + ".colorR")`; + float $lintG = `getAttr ($inc + ".colorG")`; + float $lintB = `getAttr ($inc + ".colorB")`; + float $lint = (0.3 * $lintR) + (0.59 * $lintG) + (0.11 * $lintB); + if ($lint < $lumSTres) + { + select -add $inc; + $numL++; + } + } + + string $lightOpt[] = `ls -sl`; + int $sizeL = `size $lightOpt`; + int $sl = `size $lights`; + textFieldGrp -edit -text ("Selected lights (" + $sizeL + ") of " + $sl + " will be optimized") SOptResult; +} + +global proc gi_SDoOpt() +{ + int $optShad = `radioButtonGrp -q -sl gi_Sopt`; + + string $lights[] = `ls -sl`; + string $preLights[] = `ls "skyLightShape*"`; + for ($inc in $preLights) + setAttr ($inc + ".useDepthMapShadows") 1; + + if (`match "skyLightShape[0-9]+" $lights[0]` != $lights[0]) + { + textFieldGrp -edit -text "Lights to be optimized have to be selected!!" SOptResult; + return; + } + if ($optShad == 1) + { + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; + + textFieldGrp -edit -text "Shadows optimized!!" SOptResult; + } + else + { + for ($inc in $lights) + { + string $T[] = `listRelatives -p $inc`; + delete $T; + } + textFieldGrp -edit -text "Lights optimized!!" SOptResult; + } +} + +global proc gi_GLumT() +{ + float $lumGTres = `floatSliderGrp -q -v GLumT`; + setAttr GIJoe_group.GLumT $lumGTres; + int $optShad = `radioButtonGrp -q -sl gi_Gopt`; + setAttr GIJoe_group.GShadOptType $optShad; + + string $texCon[] = `listConnections -s 1 -d 0 GIJoe_group.groundColor`; + if (`size $texCon` == 0) + { + textFieldGrp -edit -text "Optimize needs a texture!!" GOptResult; + return; + } + + string $lights[] = `ls "groundLightShape*"`; + select -cl; + int $numL; + + for ($inc in $lights) + { + float $lintR = `getAttr ($inc + ".colorR")`; + float $lintG = `getAttr ($inc + ".colorG")`; + float $lintB = `getAttr ($inc + ".colorB")`; + float $lint = (0.3 * $lintR) + (0.59 * $lintG) + (0.11 * $lintB); + if ($lint < $lumGTres) + { + select -add $inc; + $numL++; + } + } + + string $lightOpt[] = `ls -sl`; + int $sizeL = `size $lightOpt`; + int $sl = `size $lights`; + textFieldGrp -edit -text ("Selected lights (" + $sizeL + ") of " + $sl + " will be optimized") GOptResult; +} + +global proc gi_GDoOpt() +{ + int $optShad = `radioButtonGrp -q -sl gi_Gopt`; + string $lights[] = `ls -sl`; + if (`match "groundLightShape[0-9]+" $lights[0]` != $lights[0]) + { + textFieldGrp -edit -text "Lights to be optimized have to be selected!!" GOptResult; + return; + } + if ($optShad == 1) + { + + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; + + textFieldGrp -edit -text "Shadows optimized!!" GOptResult; + } + else + { + for ($inc in $lights) + { + string $T[] = `listRelatives -p $inc`; + delete $T; + } + textFieldGrp -edit -text "Lights optimized!!" GOptResult; + } +} + +// BAKE CONTROLS + +global proc gi_BakDensity() +{ + float $bakden = `floatSliderGrp -q -v BakDensity`; + setAttr GIJoe_group.bden $bakden; + setAttr "bake_sr.maxX" $bakden; +} + +global proc gi_BakeCon() +{ + float $bakCon = `floatSliderGrp -q -v BakCon`; + setAttr GIJoe_group.bcon $bakCon; + setAttr "bc_contrast.contrastX" $bakCon; +} + +global proc gi_BakConBias() +{ + float $bakConB = `floatSliderGrp -q -v BakeConB`; + setAttr GIJoe_group.bconb $bakConB; + setAttr "bc_contrast.biasX" $bakConB; +} + +global proc gi_mres() +{ + int $mres = `intSliderGrp -q -v BakMinRes`; + setAttr GIJoe_group.mres $mres; +} + +global proc gi_Mres() +{ + int $Mres = `intSliderGrp -q -v BakMaxRes`; + setAttr GIJoe_group.Mres $Mres; +} + +global proc gi_bdir() +{ + string $bdir = `textFieldGrp -q -tx gi_outputShadDir`; + setAttr -type "string" GIJoe_group.bdir $bdir; +} + + +// Freeze + +global proc gi_Sfreeze() +{ + int $test = `checkBox -q -v SFreeze`; + string $stat = `textFieldGrp -q -tx SColStat`; + if (($test == 1) && ($stat == "Frozen")) + { + warning "The sky lighting is already frozen"; + checkBox -e -v 0 SFreeze; + return; + } + + if ($test == 1) + { + string $texTest[] = `listConnections -s 1 -d 0 GIJoe_group.skyColor`; + string $sTex[] = `ls "skyTex*"`; + + if (`size $texTest` == 0) + { + warning "No texture plugged in sky! Stopped!!"; + checkBox -e -v 0 SFreeze; + return; + } + + string $lights[] = `ls "skyLightShape*"`; + for ($inc in $lights) + { + float $lcol[] = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $lcol[0] $lcol[1] $lcol[2]; + } + delete "cposSky*" "sky_SR*" "skyTex*"; + checkBox -e -v 0 SFreeze; + textFieldGrp -e -tx "Frozen" SColStat; + } + else + return; +} + +global proc gi_Gfreeze() +{ + int $test = `checkBox -q -v GFreeze`; + string $stat = `textFieldGrp -q -tx GColStat`; + if (($test == 1) && ($stat == "Frozen")) + { + warning "The ground lighting is already frozen"; + checkBox -e -v 0 GFreeze; + return; + } + if ($test == 1) + { + string $texTest[] = `listConnections -s 1 -d 0 GIJoe_group.groundColor`; + if (`size $texTest` == 0) + { + warning "No texture plugged in ground! Stopped!!"; + checkBox -e -v 0 GFreeze; + return; + } + + string $lights[] = `ls "groundLightShape*"`; + for ($inc in $lights) + { + float $lcol[] = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $lcol[0] $lcol[1] $lcol[2]; + } + delete "cposGround*" "ground_SR*" "groundTex*"; + checkBox -e -v 0 GFreeze; + textFieldGrp -e -tx "Frozen" GColStat; + } + else + return; +} diff --git a/2009-x64/GameProd/scripts/GameProdUserSetup.mel b/2009-x64/GameProd/scripts/GameProdUserSetup.mel new file mode 100644 index 0000000..d7a30f8 --- /dev/null +++ b/2009-x64/GameProd/scripts/GameProdUserSetup.mel @@ -0,0 +1,28 @@ +//////////////////////////////// +// bonusTools userSetup.mel +//////////////////////////////// +// +// if you have an existing userSetup.mel file you will need to append +// this code to have all the bonusTools available +// cut and paste the contents of this file into your existing userSetup.mel +// and restart maya to get the full effect + +// scriptJob to rebuild menu as working mode changes +scriptJob + -permanent + -event "MenuModeChanged" "bonusToolsMenu"; + +// build the menu the first time +bonusToolsMenu; + +// publish (ctrl+RMB in channelBox) +// aka Quick Connect Attributes +// uncomment the next line if you wish to use this functionality +//publish; + + +/////////////////////////////////// +// end bonusTools userSetUp.mel +/////////////////////////////////// + +MJPolyTools; diff --git a/2009-x64/GameProd/scripts/LT_UI.mel b/2009-x64/GameProd/scripts/LT_UI.mel new file mode 100644 index 0000000..c9f0481 --- /dev/null +++ b/2009-x64/GameProd/scripts/LT_UI.mel @@ -0,0 +1,935 @@ +// Copyright (C) 1997-2003 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// +// LT_UI.mel +// +// Contains all procs for user interface of LevelToolsUI +// +// Author: Steven T. L. Roselle +// +// +// Creation Date: ( 04/04/03 ) +// Last Update: ( 11/29/04 ) +// +// Version: LevelTools 2.0 + + + +global proc LT_UI() +{ + + ////////////////////// + // + // This is the main UI proc for LevelTools. Use the command to launch user interface + // + ////////////////////// + + //Make sure other LT procs are available + // + LT_generalProcs; + LT_layoutProcs; + LT_displayProcs; + + //Initialize default settings for UI and set Path for importing and icons + // + LT_optionVars; + + //Setup hotkeys for Walk Camera + //setupWalkCam; + + // Global vars for UI controls + global int $LT_windowHeight; + global int $LT_windowWidth; + global string $LT_rotateFieldName; + global string $LT_moveFieldName; + global string $LT_snapRotateButtonName; + global string $LT_snapMoveButtonName; + global string $LT_moveAxisX; + global string $LT_moveAxisY; + global string $LT_moveAxisZ; + global string $LT_normSliderName; + global string $LT_bordSliderName; + global string $LT_camSpeedSliderName; + global string $LT_gridSliderName; + global string $LT_clipPlaneSliderName; + global string $LT_edgeSegmentOptionName; + global string $LT_autoCleanLightsCheckBox; + global string $LT_autoCleanCamerasCheckBox; + global string $LT_setPathButtonName; + global string $LT_setPathTextName; + global string $LT_setGroundFloatName; + global string $LT_setPrefixTextName; + global string $LT_tabName; + global string $LT_tab1; + global string $LT_tab2; + global string $LT_tab3; + global string $LT_importFrameName; + global string $LT_refLocatorCheckBox; + global string $LT_dupShadersCheckBox; + + + //initialize paths + global string $LT_projectPath; + global string $LT_importPath; + global string $LT_propFolderList[]; + + //Set local vars + + string $importPrefix; + float $moveValue; + float $rotateValue; + int $autoCleanCameras; + int $autoCleanLights; + string $iconsPrimary; + string $iconsSecondary; + int $iconCount; + int $gridSize; + string $file; + string $name[]; + string $command; + string $annotation; + string $propFolderList[]; + +/////////////////////////////////////////////////// +// +// Create Window, Tabs and Buttons for LevelTools +// +/////////////////////////////////////////////////// + + + //first delete window if it exists already + // + if( (`window -exists leveltools`) == true ) + { + deleteUI leveltools; + //windowPref -remove leveltools; + } + + print ("\nLaunching LevelTools 2.0\n\n"); + + //Define Window + // + $LT_windowHeight = 625; + $LT_windowWidth = 225; + window -h $LT_windowHeight -w $LT_windowWidth -tb 1 -s 1 -menuBar true -t "LevelTools 2.0" leveltools; + + menu -tearOff 0 -l "Edit"; + menuItem -l "Reset Layout Settings" -ann "Reset all setting to default values." -c "LT_deleteLayoutOptionVars ; LT_UI"; + menuItem -l "Reset Import Settings" -ann "Reset all setting to default values." -c "LT_deleteImportOptionVars ; LT_UI"; + menuItem -l "Reset Window Size" -ann "Reset window to default size." -c "window -e -h $LT_windowHeight -w $LT_windowWidth leveltools"; + + menu -label "Help" -helpMenu true; + menuItem -l "Help on LevelTools2.0..." -c "LT_help"; + + string $form = `formLayout`; + $LT_tabName = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5`; + formLayout -edit + -attachForm $LT_tabName "top" 0 + -attachForm $LT_tabName "left" 0 + -attachForm $LT_tabName "bottom" 0 + -attachForm $LT_tabName "right" 0 + $form; + +/////////////////////////////////////////////////// +// +// Layout Tab +// +/////////////////////////////////////////////////// + + string $LT_tab1 = `scrollLayout -hst 0`; + + columnLayout -adjustableColumn true; + + + ////////////////////// + // GENERAL + // + frameLayout -l "General" -bgc .7 .7 .7 -li 46 -cll 1 -borderStyle "in" -cl `optionVar -q LT_generalFrame` -cc "optionVar -iv LT_generalFrame 1" -ec "optionVar -iv LT_generalFrame 0"; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + button -l "CTM Tool" -bgc .95 .95 .95 -ann "Create ComponentTransfromManipulator for selected components" -c "componentTransformManip; MoveRotateScaleTool"; + button -l "MRS Tool" -bgc .95 .95 .95 -ann "Multi-manip for moving, rotating and scaling" -c "MoveRotateScaleTool"; + button -l "Drag Tool" -bgc .95 .95 .95 -ann "Drag Tool : Interactively place selected object along XZ plane Ctrl:Constrain to Y Shift:Constrain to view plane" -c "clickDragObj"; + separator -st none;separator -st none;separator -st none; + + setParent ..; //frame + setParent ..; //column + + ////////////////////// + // POSITION + // + frameLayout -l "Position" -bgc .77 .69 .69 -li 45 -cll 1 -borderStyle "in" -cl `optionVar -q LT_positionFrame` -cc "optionVar -iv LT_positionFrame 1" -ec "optionVar -iv LT_positionFrame 0"; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + text -l "Move" -al center -fn boldLabelFont; + text -l "Value : " -ann "Value used for move offset and snapping" -al right; + $moveValue = `optionVar -q LT_moveValue`; + $LT_moveFieldName = `floatField -minValue 0 -maxValue 100 -value $moveValue -pre 3 -step 5.0 -cc "setMoveValue $LT_moveFieldName"`; + + //Get state of axis radio buttons + if ((`optionVar -q LT_moveSpace` == "-os") || (`optionVar -q LT_moveSpace` == "-ws")) + $axisState = 1; + else + $axisState = 0; + + radioCollection; + if (`optionVar -q LT_moveOffsetAxis` == 1) + { + $LT_moveAxisX = `radioButton -al center -en $axisState -l "X" -sl -onc "optionVar -iv LT_moveOffsetAxis 1"`; + $LT_moveAxisY = `radioButton -al center -en $axisState -l "Y" -onc "optionVar -iv LT_moveOffsetAxis 2"`; + $LT_moveAxisZ = `radioButton -al center -en $axisState -l "Z" -onc "optionVar -iv LT_moveOffsetAxis 3"`; + } + else if (`optionVar -q LT_moveOffsetAxis` == 2) + { + $LT_moveAxisX = `radioButton -al center -en $axisState -l "X" -onc "optionVar -iv LT_moveOffsetAxis 1"`; + $LT_moveAxisY = `radioButton -al center -en $axisState -l "Y" -sl -onc "optionVar -iv LT_moveOffsetAxis 2"`; + $LT_moveAxisZ = `radioButton -al center -en $axisState -l "Z" -onc "optionVar -iv LT_moveOffsetAxis 3"`; + } + else if (`optionVar -q LT_moveOffsetAxis` == 3) + { + $LT_moveAxisX = `radioButton -al center -en $axisState -l "X" -onc "optionVar -iv LT_moveOffsetAxis 1"`; + $LT_moveAxisY = `radioButton -al center -en $axisState -l "Y" -onc "optionVar -iv LT_moveOffsetAxis 2"`; + $LT_moveAxisZ = `radioButton -al center -en $axisState -l "Z" -sl -onc "optionVar -iv LT_moveOffsetAxis 3"`; + } + + radioCollection; + if (`optionVar -q LT_moveSpace` == "-os") + { + text -l "Space : " -al right; + radioButton -l "Object" -ann "move in object space" -sl -onc "setToolTo $gMove; manipMoveContext -e -mode 0 Move; optionVar -sv LT_moveSpace \"-os\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + radioButton -l "World" -ann "move in world space" -onc "setToolTo $gMove; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-ws\"; button -e -en 1 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + text -l "Along : " -al right; + radioButton -l "Edge" -ann "move along edge" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-edge\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; + radioButton -l "Normal" -ann "move along face normal" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-normal\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; + } + else if (`optionVar -q LT_moveSpace` == "-ws") + { + text -l "Space : " -al right; + radioButton -l "Object" -ann "move in object space" -onc "setToolTo $gMove; manipMoveContext -e -mode 0 Move; optionVar -sv LT_moveSpace \"-os\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + radioButton -l "World" -ann "move in world space" -sl -onc "setToolTo $gMove; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-ws\"; button -e -en 1 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + text -l "Along : " -al right; + radioButton -l "Edge" -ann "move along edge" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-edge\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; + radioButton -l "Normal" -ann "move along face normal" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-normal\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; } + else if (`optionVar -q LT_moveSpace` == "-edge") + { + text -l "Space : " -al right; + radioButton -l "Object" -ann "move in object space" -onc "setToolTo $gMove; manipMoveContext -e -mode 0 Move; optionVar -sv LT_moveSpace \"-os\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + radioButton -l "World" -ann "move in world space" -onc "setToolTo $gMove; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-ws\"; button -e -en 1 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + text -l "Along : " -al right; + radioButton -l "Edge" -sl -ann "move along edge" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-edge\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; + radioButton -l "Normal" -ann "move along face normal" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-normal\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; } + else if (`optionVar -q LT_moveSpace` == "-normal") + { + text -l "Space : " -al right; + radioButton -l "Object" -ann "move in object space" -onc "setToolTo $gMove; manipMoveContext -e -mode 0 Move; optionVar -sv LT_moveSpace \"-os\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + radioButton -l "World" -ann "move in world space" -onc "setToolTo $gMove; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-ws\"; button -e -en 1 $LT_snapMoveButtonName; radioButton -e -en 1 $LT_moveAxisX; radioButton -e -en 1 $LT_moveAxisY; radioButton -e -en 1 $LT_moveAxisZ"; + text -l "Along : " -al right; + radioButton -l "Edge" -ann "move along edge" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-edge\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; + radioButton -l "Normal" -sl -ann "move along face normal" -onc "setToolTo $gSelect; manipMoveContext -e -mode 1 Move; optionVar -sv LT_moveSpace \"-normal\"; button -e -en 0 $LT_snapMoveButtonName; radioButton -e -en 0 $LT_moveAxisX; radioButton -e -en 0 $LT_moveAxisY; radioButton -e -en 0 $LT_moveAxisZ"; } + + separator -st none;separator -st none;separator -st none; + if (`optionVar -q LT_moveSpace` == "-ws") + $LT_snapMoveButtonName = `button -l "Snap" -en 1 -ann "Snap to nearest point along selected axis divisible by value : world axis only" -c "setToolTo $gMove; snapToVirtualGrid `optionVar -q LT_moveValue` `optionVar -q LT_moveOffsetAxis`" `; + else + $LT_snapMoveButtonName = `button -l "Snap" -en 0 -ann "Snap to nearest point along selected axis divisible by value : world axis only" -c "setToolTo $gMove; snapToVirtualGrid `optionVar -q LT_moveValue` `optionVar -q LT_moveOffsetAxis`" `; + + button -l "Offset -" -ann "Decrement position along selected axis based on value" -c "moveOffset (`optionVar -q LT_moveValue` * -1) `optionVar -q LT_moveOffsetAxis` `optionVar -q LT_moveSpace`" ; + button -l "Offset +" -ann "Increment position along selected axis based on value" -c "moveOffset `optionVar -q LT_moveValue` `optionVar -q LT_moveOffsetAxis` `optionVar -q LT_moveSpace`" ; + + separator -st none;separator -st none;separator -st none; + + setParent ..; //frame + setParent ..; //column + + ////////////////////// + // ORIENT + // + frameLayout -l "Orient" -bgc .7 .75 .7 -li 50 -cll 1 -borderStyle "in" -cl `optionVar -q LT_orientFrame` -cc "optionVar -iv LT_orientFrame 1" -ec "optionVar -iv LT_orientFrame 0"; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + text -l "Rotate" -al center -fn boldLabelFont; + text -l "Degrees : " -ann "Degree value used for rotation offset and snapping" -al right; + $rotateValue = `optionVar -q LT_rotateValue`; + $LT_rotateFieldName = `floatField -minValue 0 -maxValue 360 -value $rotateValue -step 15 -pre 1 -cc "setRotateValue $LT_rotateFieldName"`; + + radioCollection; + if (`optionVar -q LT_rotateOffsetAxis` == 1) + { + radioButton -l "X" -al center -sl -onc "optionVar -iv LT_rotateOffsetAxis 1"; + radioButton -l "Y" -al center -onc "optionVar -iv LT_rotateOffsetAxis 2"; + radioButton -l "Z" -al center -onc "optionVar -iv LT_rotateOffsetAxis 3"; + } + else if (`optionVar -q LT_rotateOffsetAxis` == 2) + { + radioButton -l "X" -al center -onc "optionVar -iv LT_rotateOffsetAxis 1"; + radioButton -l "Y" -al center -sl -onc "optionVar -iv LT_rotateOffsetAxis 2"; + radioButton -l "Z" -al center -onc "optionVar -iv LT_rotateOffsetAxis 3"; + } + else if (`optionVar -q LT_rotateOffsetAxis` == 3) + { + radioButton -l "X" -al center -onc "optionVar -iv LT_rotateOffsetAxis 1"; + radioButton -l "Y" -al center -onc "optionVar -iv LT_rotateOffsetAxis 2"; + radioButton -l "Z" -al center -sl -onc "optionVar -iv LT_rotateOffsetAxis 3"; + } + + radioCollection; + text -label "Space : " -al right; + if (`optionVar -q LT_rotateSpace` == "-os") + { + radioButton -l "Object" -ann "rotate in object space" -sl -onc "setToolTo $gRotate; manipRotateContext -e -mode 0 Rotate; optionVar -sv LT_rotateSpace \"-os\"; button -e -en 1 $LT_snapRotateButtonName"; + radioButton -l "World" -ann "rotate in world space" -onc "setToolTo $gRotate; manipRotateContext -e -mode 1 Rotate; optionVar -sv LT_rotateSpace \"-ws\"; button -e -en 0 $LT_snapRotateButtonName"; + } + else if (`optionVar -q LT_rotateSpace` == "-ws") + { + radioButton -l "Object" -ann "rotate in object space" -onc "setToolTo $gRotate; manipRotateContext -e -mode 0 Rotate; optionVar -sv LT_rotateSpace \"-os\"; button -e -en 1 $LT_snapRotateButtonName"; + radioButton -l "World" -ann "rotate in world space" -sl -onc "setToolTo $gRotate; manipRotateContext -e -mode 1 Rotate; optionVar -sv LT_rotateSpace \"-ws\"; button -e -en 0 $LT_snapRotateButtonName"; + } + + separator -st none;separator -st none;separator -st none; + if (`optionVar -q LT_rotateSpace` == "-os") + $LT_snapRotateButtonName = `button -l "Snap" -en 1 -ann "Snap rotate to nearest angle (between 0 and 360) divisible by degree value : object axis only" -c "setToolTo $gRotate; rotateSnap `optionVar -q LT_rotateValue` `optionVar -q LT_rotateOffsetAxis`"` ; + else if (`optionVar -q LT_rotateSpace` == "-ws") + $LT_snapRotateButtonName = `button -l "Snap" -en 0 -ann "Snap rotate to nearest angle (between 0 and 360) divisible by degree value : object axis only" -c "setToolTo $gRotate; rotateSnap `optionVar -q LT_rotateValue` `optionVar -q LT_rotateOffsetAxis`"` ; + + button -l "Offset -" -ann "Decrement rotation along selected axis based on value" -c "setToolTo $gRotate; rotateOffset (`optionVar -q LT_rotateValue` * -1) `optionVar -q LT_rotateOffsetAxis` `optionVar -q LT_rotateSpace`" ; + button -l "Offset +" -ann "Increment rotation along selected axis based on value" -c "setToolTo $gRotate; rotateOffset `optionVar -q LT_rotateValue` `optionVar -q LT_rotateOffsetAxis` `optionVar -q LT_rotateSpace`" ; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + $orientToolType = `optionVar -q LT_orientToolType`; + + radioCollection; + if (`optionVar -q rotationalAlignAxis` == 1) + { + radioButton -l "X" -al center -sl -onc "optionVar -iv rotationalAlignEdgeAxis 1 ; optionVar -iv rotationalAlignAxis 1 ; updateOrientToolOptions"; + radioButton -l "Y" -al center -onc "optionVar -iv rotationalAlignEdgeAxis 2 ; optionVar -iv rotationalAlignAxis 2 ; updateOrientToolOptions"; + radioButton -l "Z" -al center -onc "optionVar -iv rotationalAlignEdgeAxis 3 ; optionVar -iv rotationalAlignAxis 3 ; updateOrientToolOptions"; + } + else if (`optionVar -q rotationalAlignAxis` == 2) + { + radioButton -l "X" -al center -onc "optionVar -iv rotationalAlignEdgeAxis 1 ; optionVar -iv rotationalAlignAxis 1 ; updateOrientToolOptions"; + radioButton -l "Y" -al center -sl -onc "optionVar -iv rotationalAlignEdgeAxis 2 ; optionVar -iv rotationalAlignAxis 2 ; updateOrientToolOptions"; + radioButton -l "Z" -al center -onc "optionVar -iv rotationalAlignEdgeAxis 3 ; optionVar -iv rotationalAlignAxis 3 ; updateOrientToolOptions"; + } + else if (`optionVar -q rotationalAlignAxis` == 3) + { + radioButton -l "X" -al center -onc "optionVar -iv rotationalAlignEdgeAxis 1 ; optionVar -iv rotationalAlignAxis 1 ; updateOrientToolOptions"; + radioButton -l "Y" -al center -onc "optionVar -iv rotationalAlignEdgeAxis 2 ; optionVar -iv rotationalAlignAxis 2 ; updateOrientToolOptions"; + radioButton -l "Z" -al center -sl -onc "optionVar -iv rotationalAlignEdgeAxis 3 ; optionVar -iv rotationalAlignAxis 3 ; updateOrientToolOptions"; + } + + radioCollection; + if (`optionVar -q LT_orientToolType` == "edge") + { + radioButton -l "Edge" -sl -ann "Orient to edge." -onc "optionVar -sv LT_orientToolType edge ; orientTool"; + radioButton -l "Vert" -ann "Orient to vert." -onc "optionVar -sv LT_orientToolType vert ; orientTool"; + } + else if (`optionVar -q LT_orientToolType` == "vert") + { + radioButton -l "Edge" -ann "Orient to edge." -onc "optionVar -sv LT_orientToolType edge ; orientTool"; + radioButton -l "Vert" -sl -ann "Orient to vert." -onc "optionVar -sv LT_orientToolType vert ; orientTool"; + } + + button -l "OrientTool" -bgc .95 .95 .95 -ann "Orient Tool : select a vert on the object to be rotated, followed by a vert/edge on target object." -c "orientTool"; + + separator -st none;separator -st none; + + setParent ..; //frame + setParent ..; //column + + ////////////////////// + // ALIGN + // + frameLayout -l "Align" -bgc .67 .68 .77 -li 52 -cll 1 -borderStyle "in" -cl `optionVar -q LT_alignFrame` -cc "optionVar -iv LT_alignFrame 1" -ec "optionVar -iv LT_alignFrame 0"; + columnLayout -adjustableColumn true; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + radioCollection; + if (`optionVar -q LT_alignAxis` == 1) + { + radioButton -l "X" -al center -sl -onc "optionVar -iv LT_alignAxis 1"; + radioButton -l "Y" -al center -onc "optionVar -iv LT_alignAxis 2"; + radioButton -l "Z" -al center -onc "optionVar -iv LT_alignAxis 3"; + } + else if (`optionVar -q LT_alignAxis` == 2) + { + radioButton -l "X" -al center -onc "optionVar -iv LT_alignAxis 1"; + radioButton -l "Y" -al center -sl -onc "optionVar -iv LT_alignAxis 2"; + radioButton -l "Z" -al center -onc "optionVar -iv LT_alignAxis 3"; + } + else if (`optionVar -q LT_alignAxis` == 3) + { + radioButton -l "X" -al center -onc "optionVar -iv LT_alignAxis 1"; + radioButton -l "Y" -al center -onc "optionVar -iv LT_alignAxis 2"; + radioButton -l "Z" -al center -sl -onc "optionVar -iv LT_alignAxis 3"; + } + + separator -st none;separator -st none;separator -st none; + setParent ..; //frame + + rowColumnLayout -numberOfColumns 4 -columnWidth 1 44 -columnWidth 2 44 -columnWidth 3 44 -columnWidth 4 44; + + button -l "Line" -ann "Center and line all selected objects with last selected along the specified axis" -c "alignObjects line `optionVar -q LT_alignAxis`" ; + button -l "Base" -ann "Align all selected objects with the base of the last selected and line along specified axis (center for Y)" -c "alignObjects ground `optionVar -q LT_alignAxis`" ; + button -l "Stack" -ann "Stack all selected objects to last selected on specified axis" -c "stackAllOnLast `ls -sl` `optionVar -q LT_alignAxis`" ; + button -l "Dist" -ann "Make selected objects equadistant along specified axis" -c "alignObjects dist `optionVar -q LT_alignAxis`"; + + setParent ..; //frame + + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + button -l "More..." -ann "Open option box for Align Objects." -c "performAlignObjects 1"; + text -label "Manip : " -al right; + button -l "Align Tool" -bgc .95 .95 .95 -ann "Align Tool : use manipulator to align one object with another" -c "setToolTo alignToolCtx"; + + separator -st none;separator -st none; + + setParent ..; //frame + setParent ..; //column + setParent ..; //column + + ////////////////////// + // SNAP + // + frameLayout -l "Snap" -bgc .73 .68 .57 -li 51 -cll 1 -borderStyle "in" -cl `optionVar -q LT_snapFrame` -cc "optionVar -iv LT_snapFrame 1" -ec "optionVar -iv LT_snapFrame 0"; + columnLayout -adjustableColumn true; + + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + + checkBox -l "Face" -al "left" -ann "Set face center snapping option for snapTogether tool" + -v `snapTogetherCtx -query -snapPolygonFace snapTogetherToolCtx` + -onc "snapTogetherCtx -edit -spf 1 snapTogetherToolCtx" + -ofc "snapTogetherCtx -edit -spf 0 snapTogetherToolCtx"; + checkBox -l "Orient" -al "left" -ann "Set orient option for snapTogether tool" + -v `snapTogetherCtx -query -setOrientation snapTogetherToolCtx` + -onc "snapTogetherCtx -edit -so 1 snapTogetherToolCtx" + -ofc "snapTogetherCtx -edit -so 0 snapTogetherToolCtx"; + button -l "Snap Tool" -bgc .95 .95 .95 -ann "Snap Together Tool : use manipulator to snap one object to another at any arbitrary point (hold v to snap to verts)" -c "setToolTo snapTogetherToolCtx"; + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + + + button -l "To Edge" -ann "Snap all selected objects and/or components to selected edge center" -c "snapToEdgeCenter"; + button -l "To Face" -ann "Snap all selected objects and/or components to selected face center" -c "snapToFaceCenter"; + button -l "pt To pt" -ann "Point to point snap (first object to second)" -c "SnapPointToPoint"; + button -l "2pt Left" -ann "2 point to 2 point snap and orient / align left (first object to second)" -c "snap2PointsTo2Points(0,1)"; + button -l "2pt Mid" -ann "2 point to 2 point snap and orient / align center (first object to second)" -c "snap2PointsTo2Points(0,2)"; + button -l "2pt Right" -ann "2 point to 2 point snap and orient / align right (first object to second)" -c "snap2PointsTo2Points(0,3)"; + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + setParent ..; //rowColumn + + rowColumnLayout -numberOfColumns 2 -columnWidth 1 90 -columnWidth 2 90; + + text -l "Edge " -al center -ann "Easy access to settings for edge segment snapping (hold c key and use middle mouse button to snap)"; + + int $edgeSnap; + if (`snapMode -q -edgeMagnetTolerance` == 0) $edgeSnap = 0; + else $edgeSnap = 1; + + checkBox -l "Segments" -al "left" -ann "Turn edge segment snapping on (hold c key and use middle mouse button to snap to segment of desired edge)" -v $edgeSnap + -onc "snapMode -edgeMagnetTolerance 100;" //Max snapping tolerance + -ofc "snapMode -edgeMagnetTolerance 0;"; + text -l "Snapping : " -al center -ann "Easy access to settings for edge segment snapping (hold c key and use middle mouse button to snap)"; + + $LT_edgeSegmentOptionName = `optionMenu -cc "setEdgeSegment $LT_edgeSegmentOptionName" -ann "Set number of points for edge segment snapping"`; + menuItem -l "Mid Point"; + menuItem -l "Thirds"; + menuItem -l "Quarter"; + menuItem -l "User Prefs"; + if (`snapMode -q -edgeMagnet` > 3) + optionMenu -e -sl 4 $LT_edgeSegmentOptionName; + else + optionMenu -e -sl `snapMode -q -edgeMagnet` $LT_edgeSegmentOptionName; + + separator -st none;separator -st none; + + setParent ..; //column + setParent ..; //frame + setParent ..; //column + + + ////////////////////// + // CONSTRAIN + // + frameLayout -l "Constrain" -bgc .72 .64 .72 -li 40 -cll 1 -borderStyle "in" -cl `optionVar -q LT_constrainFrame` -cc "optionVar -iv LT_constrainFrame 1" -ec "optionVar -iv LT_constrainFrame 0"; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + button -l "Geo Snap" -ann "Snap position and orientation of all selected objects to nearest point and normal of last selected object" -c "geometrySnap"; + button -l "Cycle Aim" -ann "Cycle aim axis for selected object : assumes object is constrained" -c "cycleAimAxis"; + button -l "Flip Aim" -ann "Reverse aim axis for seleceted object : assumes object is constrained" -c "flipAimAxis"; + button -l "Break" -ann "Remove position and normal constraints for selected object" -c "DeleteConstraints"; + button -l "Cycle Up" -ann "Cycle up axis for selected object : assumes object is constrained" -c "cycleUpAxis"; + button -l "Flip Up" -ann "Reverse up axis for seleceted object : assumes object is constrained" -c "flipUpAxis"; + + separator -st none;separator -st none;separator -st none; + + setParent ..; //frame + setParent ..; //column + + + ////////////////////// + // REPLACE + // + frameLayout -l "Replace" -bgc .76 .75 .66 -li 43 -cll 1 -borderStyle "in" -cl `optionVar -q LT_replaceFrame` -cc "optionVar -iv LT_replaceFrame 1" -ec "optionVar -iv LT_replaceFrame 0"; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 58 -columnWidth 2 58 -columnWidth 3 58; + + separator -st none;separator -st none;separator -st none; + separator -st single;separator -st single;separator -st single; + separator -st none;separator -st none;separator -st none; + + text -l "Inherit : " -ann "Value used for move offset and snapping" -al right; + checkBox -l "Rotate" -al "left" -ann "Inherit rotate" -v `optionVar -q LT_replaceRotate` -onc "optionVar -iv LT_replaceRotate 1" -ofc "optionVar -iv LT_replaceRotate 0"; + checkBox -l "Scale" -al "left" -ann "Inherit scale" -v `optionVar -q LT_replaceScale` -onc "optionVar -iv LT_replaceScale 1" -ofc "optionVar -iv LT_replaceScale 0"; + + separator -st none; + checkBox -l "Inst" -al "left" -ann "Turn on instancing" -v `optionVar -q LT_replaceInst` -onc "optionVar -iv LT_replaceInst 1" -ofc "optionVar -iv LT_replaceInst 0"; + + button -l "Replace" -ann "Replace all selected with last selected" -c "replaceObj(`optionVar -q LT_replaceInst`, `optionVar -q LT_replaceRotate`, `optionVar -q LT_replaceScale`)" ; + + setParent ..; //frame + setParent ..; //column + + setParent ..; // scroll + setParent ..; //tab window + + +/////////////////////////////////////////////////// +// +// Display Tab +// +/////////////////////////////////////////////////// + + $LT_tab2 = `scrollLayout -hst 0`; //create scroll bar + + columnLayout -adjustableColumn true; + + + ////////////////////// + // INFO + // + frameLayout -l "Info" -bgc .7 .7 .7 -li 55 -cll 1 -borderStyle "in" -cl `optionVar -q LT_infoFrame` -cc "optionVar -iv LT_infoFrame 1" -ec "optionVar -iv LT_infoFrame 0"; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 84 -columnWidth 2 84; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Poly Count" -al "center" -ann "Heads Up Display: Standard poly count info (Verts/Edges/Faces/Tris/UVs)" -c "TogglePolyCount"; + button -l "Shell Count" -ann "Heads Up Display: Count number of poly shells for all selected objects" -c "toggleShellCountHUD"; + button -l "Edge Length" -ann "Heads Up Display: Calculate total length of all selected edges" -c "toggleEdgeLengthHUD"; + button -l "Vert Distance" -ann "Heads Up Display: Calculate distance between two selected vertices" -c "toggleVertDistanceHUD"; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "File Info" -c "createFileInfo" -ann "Create an annotation that will save with the current file. Upon reopening the info will be displayed in an editable window"; + button -l "Annotate" -c "CreateAnnotateNode" -ann "Add an annotation to the selected object"; + + setParent ..; // frame + setParent ..; // column + + ////////////////////// + // VIEW + // + frameLayout -l "View" -bgc .77 .69 .69 -li 53 -cll 1 -borderStyle "in" -cl `optionVar -q LT_viewFrame` -cc "optionVar -iv LT_viewFrame 1" -ec "optionVar -iv LT_viewFrame 0"; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 85 -columnWidth 2 85; + + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Toggle UI" -ann "Toggle UI elements : including menus" -c "toggleUIVisibility"; + button -l "Cycle BG" -ann "Cycle Background Colors" -c "cycleBGColor"; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + text -l "Walk Cam" -al "center" -fn boldLabelFont -ann "Use Alt + w/s/a/d to go forward/backward/left/right in any perspective view"; + button -l "First Person" -bgc .95 .95 .95 -ann "Use left mouse to change direction and Alt + w/s/a/d to go forward/backward/left/right in any perspective view" -c "firstPersonCam"; + text -l "Speed" -al "center" -ann "Set speed of walk cam : Slow <-> Fast"; + $camSpeed = `optionVar -q LT_walkCamSpeed`; + $LT_camSpeedSliderName = `floatSlider -min .1 -max 20 -step 1 -value $camSpeed -dc "setWalkCamSpeed $LT_camSpeedSliderName"`; + + separator -st single;separator -st single; + text -l "Clipping" -al "center" -ann "Set far clipping plane for current camera : Close <-> Distant"; + $LT_clipPlaneSliderName = `intSlider -min 50 -max 5000 -step 10 -value 1000 -cc "print (\"Far clipping plane set to \" + `intSlider -q -v $LT_clipPlaneSliderName` + \" units.\\n\")" -dc "undoInfo -swf 0; changeClippingPlane ; undoInfo -swf 1"`; + + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Toggle Grid" -ann "Toggle grid display in active panel" -c "gridToggle"; + button -l "Grid numbers" -ann "Toggle grid numbers" -c "gridNumberToggle"; + text -l "Grid Size" -al "center"; + $gridSize = `grid -q -size`; + $LT_gridSliderName = `intSlider -min 5 -max 1000 -step 1 -value $gridSize -cc "print (\"Grid set to \" + `intSlider -q -v $LT_gridSliderName` + \" units.\\n\")" -dc "undoInfo -swf 0; changeGridSize; undoInfo -swf 1"`; + + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Wire Shaded" -ann "Toggle wire frame on shaded display mode in active panel" -c "wosToggle"; + button -l "X-ray Mode" -ann "Toggle xray display mode in active panel" -c "xRayToggle"; + button -l "Texture Filter" -ann "Toggle texture filtering in active panel" -c "textureFilterToggle"; + button -l "Fast Interact" -ann "Toggle interactive wire shading for faster navigation in active panel" -c "fastInteractToggle"; + + //$camSpeedValue = `optionVar -q LT_camSpeedValue`; + //$LT_camSpeedSliderName = `floatField -minValue 0.1 -maxValue 20 -value 1 -pre 1 -step 1.0 -cc "setCamSpeedValue $LT_camSpeedSliderName"`; + + setParent ..; // frame + setParent ..; // column + + + ////////////////////// + // POLYS + // + frameLayout -l "Polys" -bgc .7 .75 .7 -li 52 -cll 1 -borderStyle "in" -cl `optionVar -q LT_polysFrame` -cc "optionVar -iv LT_polysFrame 1" -ec "optionVar -iv LT_polysFrame 0"; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 85 -columnWidth 2 85; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Face Normals" -ann "Toggle display of face normals on selected objects" -c "polyOptions -r -f -dn on"; + button -l "Vertex Normals" -ann "Toggle display of vertex normals on selected objects" -c "polyOptions -r -pt -dn on"; + text -l "Normal Length" -al "center"; + $LT_normSliderName = `floatSlider -min 0 -max 3 -value .25 -dc "changeNormalLength"` ; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Geo Borders" -ann "Toggle display of thick geometry borders on selected objects" -c "polyOptions -dmb 0 ;polyOptions -r -db on"; + button -l "Text Borders" -ann "Toggle display of thick texture borders on selected objects" -c "polyOptions -db 0 ;polyOptions -r -dmb 1"; + text -l "Edge Thickness" -al "center"; + $LT_bordSliderName = `floatSlider -min 1 -max 8 -value 3 -dc "changeBorderThickness"` ; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Soft Edges" -ann "Toggle display of wireframe soft edges on selected objects" -c "int $cond[1]=`polyOptions -q -ae`; if ($cond[0]) polyOptions -se; else polyOptions -ae;"; + button -l "Inner Triangles" -ann "Toggle display of hidden inner triangles on selected objects" -c "polyOptions -r -dt 1 ;polyOptions -sb 3"; + button -l "Poly Options" -ann "Open CustomPolygonDisplay options" -c "CustomPolygonDisplayOptions"; + button -l "Reset" -ann "Disable all CustomPolygonDisplay options for selected objects" -c "polyOptions -activeObjects -ae -sb 2 -db 0 -dmb 0 -dv 0 -dn 0 -facet -dc 0 -dt 0 -dw 0 -din 0 0 0 0 -sn 0.4 -bc -duv 0 -uvt 0 -cs 0 -cm diffuse -bcv 1"; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Back Culling" -ann "Toggle backface culling for selected objects" -c "int $cond[1]=`polyOptions -q -fb`; if ($cond[0]) polyOptions -bc; else polyOptions -fb;"; + button -l "1:2 Sided" -ann "Toggle selected polygon objects single/double sided" -c "toggleDoubleSided"; + button -l "All 1 Sided" -ann "Make all polygon objects single sided" -c "allSingleSided"; + button -l "All 2 Sided" -ann "Make all polygon objects double sided" -c "allDoubleSided"; + + setParent ..; // frame + setParent ..; // column + + + ////////////////////// + // Color + // + frameLayout -l "Color" -bgc .67 .68 .77 -li 52 -cll 1 -borderStyle "in" -cl `optionVar -q LT_colorFrame` -cc "optionVar -iv LT_colorFrame 1" -ec "optionVar -iv LT_colorFrame 0"; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 85 -columnWidth 2 85; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + button -l "Vtx Default" -ann "Display vertex color with default lighting for all objects" -c "vertexColorDefaultDisplay"; + button -l "Vtx Color Only" -ann "Display vertex color only for all objects : no lights" -c "vertexColorDisplay"; + button -l "Vtx + Texture" -ann "Display vertex color blended with texture for all objects : no lights" -c "vertexColorTextureDisplay"; + button -l "Reset" -ann "Disable vertex color display for all objects" -c "disableVertexColorDisplay"; + + setParent ..; // frame + setParent ..; // column + + setParent ..; // scroll + setParent ..; // tab-window + + +/////////////////////////////////////////////////// +// +// Import Tab +// +/////////////////////////////////////////////////// + + $LT_tab3 = `scrollLayout -hst 0`; //create scroll bar + + columnLayout -adjustableColumn true; + + //Refresh button for updating icons by resourcing LT_UI + // + rowColumnLayout -numberOfColumns 3 -columnWidth 1 40 -columnWidth 2 100 -columnWidth 3 40; + separator -st none; + button -l "- Refresh Icons -" -al "center" -w 60 -h 15 -bgc 1 1 1 -ann "Refresh icon list for new props" -c "LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName "; + separator -st none; + separator -st none; separator -st none; separator -st none; + setParent ..; // column + + + ////////////////////// + //Make a collapsable frame for import settings + $LT_importFrameName = `frameLayout -l "Settings" -bgc .7 .7 .7 -li 44 -cll 1 -cl 1 -borderStyle "in"`; + + + ////////////////////// + // Import path settings : either use the current project for import path or allow user to browse for path + + $LT_projectPath = (`workspace -q -fn` + "/scenes/"); + + + columnLayout -adjustableColumn true; + + + rowColumnLayout -numberOfColumns 2 -columnWidth 1 87 -columnWidth 2 87; + + separator -st none;separator -st none; + separator -st single;separator -st single; + separator -st none;separator -st none; + + + //define ground plane (Y value) for initial placement of objects + text -l "Initial Ground : " -al right -ann ("Starting point (Y value) for initial placement of objects." + $importPrefix); + float $groundVal = `optionVar -q LT_groundValue`; + $LT_setGroundFloatName = `floatField -v $groundVal -pre 3 -ann "Current setting for initial ground plane" -cc "setGroundValue $LT_setGroundFloatName"`; + separator -st single; separator -st single; + + //should we import or reference + separator -st none;separator -st none; + radioCollection; + if (`optionVar -q LT_reference` == 0) + { + radioButton -l " Import" -ann "Import objects into scene" -sl -onc "optionVar -iv LT_reference 0 ; checkBox -edit -en 1 $LT_dupShadersCheckBox ; checkBox -edit -en 0 $LT_refLocatorCheckBox"; + radioButton -l " Reference" -ann "Reference objects from scene" -onc "optionVar -iv LT_reference 1 ; checkBox -edit -en 0 $LT_dupShadersCheckBox ; checkBox -edit -en 1 $LT_refLocatorCheckBox"; + } + else if (`optionVar -q LT_reference` == 1) + { + radioButton -l " Import" -ann "Import objects into scene" -onc "optionVar -iv LT_reference 0 ; checkBox -edit -en 1 $LT_dupShadersCheckBox ; checkBox -edit -en 0 $LT_refLocatorCheckBox"; + radioButton -l " Reference" -ann "Reference objects from scene" -sl -onc "optionVar -iv LT_reference 1 ; checkBox -edit -en 0 $LT_dupShadersCheckBox ; checkBox -edit -en 1 $LT_refLocatorCheckBox"; + } + separator -st none; separator -st none; + setParent ..; //column + + + rowColumnLayout -numberOfColumns 1 -columnWidth 1 175; + $LT_dupShadersCheckBox = `checkBox`; + checkBox -edit -en (!`optionVar -q LT_reference`) -al "left" -l "Remove Duplicate Shaders" -ann "Automatically clean up any redundant shading networks (materials/textures) when importing" -v `optionVar -q removeDuplicateShadingNetworksOnImport` + -onc "optionVar -iv LT_autoCleanHyperShade 1; optionVar -iv removeDuplicateShadingNetworksOnImport 1" + -ofc "optionVar -iv LT_autoCleanHyperShade 0; optionVar -iv removeDuplicateShadingNetworksOnImport 0" $LT_dupShadersCheckBox; + $LT_refLocatorCheckBox = `checkBox`; + checkBox -edit -en `optionVar -q LT_reference` -al "left" -l "Create Reference Locator" -ann "Create locator for placement of referenced object" -v `optionVar -q LT_createRefLocator` + -onc "optionVar -iv LT_createRefLocator 1" + -ofc "optionVar -iv LT_createRefLocator 0" $LT_refLocatorCheckBox; + separator; + separator -st single; + setParent ..; //column + + + rowColumnLayout -numberOfColumns 2 -columnWidth 1 87 -columnWidth 2 87; + //define prefix for importing or referencing + $importPrefix = `optionVar -q LT_importPrefix`; + text -l " Folder Prefix : " -al right -ann ("Current setting for import prefix : " + $importPrefix); + $LT_setPrefixTextName = `textField -tx $importPrefix -ann "Current setting for import prefix" -cc "setImportPrefix $LT_setPrefixTextName; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName; frameLayout -e -cl 0 $LT_importFrameName"`; + //separator -st single; separator -st single; + setParent ..; //column + + + rowColumnLayout -numberOfColumns 1 -columnWidth 1 175; + separator -st none; + checkBox -al "left" -l "Include Subfolders" -ann "Also build frames and icons for any subfolders found with import prefix" -v `optionVar -q LT_includeSubfolders` + -onc "optionVar -iv LT_includeSubfolders 1; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName ; frameLayout -e -cl 0 $LT_importFrameName" + -ofc "optionVar -iv LT_includeSubfolders 0; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName ; frameLayout -e -cl 0 $LT_importFrameName"; + checkBox -l "Relative to Current Project" -al "left" -ann "Use current project/scenes to define import path" -v `optionVar -q LT_relativeToProject ` + //from project + -onc "optionVar -intValue LT_relativeToProject 1; button -e -en 0 $LT_setPathButtonName ; $LT_importPath = $LT_projectPath ; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName ; frameLayout -e -cl 0 $LT_importFrameName" + //from user defined folder + -ofc "optionVar -intValue LT_relativeToProject 0; button -e -en 1 $LT_setPathButtonName ; $LT_importPath = `optionVar -q LT_userImportPath` ; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName ; frameLayout -e -cl 0 $LT_importFrameName"; + text -l "or" -al center; + separator -st none; + setParent ..; //column + + + rowColumnLayout -numberOfColumns 3 -columnWidth 1 35 -columnWidth 2 100 -columnWidth 3 35; + separator -st none; + // initialize $LT_importPath and create file browser button for setting + if (`optionVar -q LT_relativeToProject ` == 1) + { + //if relative to project, disable button + $LT_setPathButtonName = `button -h 15 -en 0 -l "Set Path..." -ann "Use file browser to set explicit path for importing props" + -c "fileBrowserDialog -m 4 -fc setUserImportPathName -an \"Set Path for Importing Props\" ; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName; frameLayout -e -cl 0 $LT_importFrameName"`; + $LT_importPath = $LT_projectPath; + } + else + { + //if user defined, enable button + $LT_setPathButtonName = `button -h 15 -en 1 -l "Set Path..." -ann "Use file browser to set explicit path for importing props" + -c "fileBrowserDialog -m 4 -fc setUserImportPathName -an \"Set Path for Importing Props\" ; LT_UI ; tabLayout -edit -st $LT_tab3 $LT_tabName; frameLayout -e -cl 0 $LT_importFrameName"`; + $LT_importPath = `optionVar -q LT_userImportPath`; + } + separator -st none; + setParent ..; //column + + + rowColumnLayout -numberOfColumns 1 -columnWidth 1 175; + //display current path setting + $LT_setPathTextName = `textField -tx $LT_importPath -ann ("Current path : " + $LT_importPath) -ed 0`; + separator -st single; + setParent ..; //column + + setParent ..; //frame + setParent ..; //column + + ////////////////////// + // Make a collapsable set of import buttons for each folder found with given prefix + // Get list of all prop folders : any folder found with prefix defined by $importPrefix in $importPath + + //get current prefix setting + $importPrefix = `optionVar -q LT_importPrefix`; + + //clear old propFolderList if there is one + string $emptyList[]; + $LT_propFolderList = $emptyList; + + //get list of all folders with prefix and subfolders if specified + //the following proc will set the $LT_propFolderList + getPropFolderList ($LT_importPath, `optionVar -q LT_includeSubfolders`); + + for ($propFolder in $LT_propFolderList) + + { + //Set paths for icons + $iconsPrimary = ($propFolder + "/icons/"); + $iconsSecondary = ($LT_importPath + "/icons/"); + + + //strip off path from name of folder for frame label + string $buffer[]; + int $numTokens = `tokenize $propFolder "/" $buffer`; + + frameLayout -l $buffer[$numTokens - 1] -cll 1 -borderStyle "in"; + + // Dynamically build buttons based on the number and + // names of files returned from props folders + // Icons must be created manually and should be 40x40 + // If icon doesn't exist a generic button with name will be created instead. + + gridLayout -numberOfColumns 4 -cellWidthHeight 40 40; + $iconCount = 0; + for ($file in `listFilesAtPath ($propFolder + "/")`) + { + //Separate name from extension + tokenize ($file, ".", $name); + //make sure it's a Maya mb or ma file + if (($name[1] != "mb") && ($name[1] != "ma")) continue; + $annotation = $name[0] + " : Click/Drag to place on current gound plane Ctrl:Constrain vertically Shift:Constrain to view plane"; + + //Check for icon in primary location, then in secondary + if (`file -q -ex ($iconsPrimary+$name[0]+".bmp")`) + { + //Format command string for extra quotes + $command = "getProp \"" + $propFolder + "\" \"" + $name[0] + "\" \"" + $name[1] + "\"; clickDragObj"; + iconTextButton -st "iconOnly" -ann $annotation -i1 ($iconsPrimary+$name[0]+".bmp") -l $name[0] -c $command; + } + else if (`file -q -ex ($iconsSecondary+$name[0]+".bmp")`) + { + //Format command string for extra quotes + $command = "getProp \"" + $propFolder + "\" \"" + $name[0] + "\" \"" + $name[1] + "\"; clickDragObj"; + iconTextButton -st "iconOnly" -ann $annotation -i1 ($iconsSecondary+$name[0]+".bmp") -l $name[0] -c $command; + } + else + { + //Format command string for extra quotes + $command = "getProp \"" + $propFolder + "\" \"" + $name[0] + "\" \"" + $name[1] + "\"; clickDragObj"; + button -bgc .66 .66 .66 -ann $annotation -l $name[0] -c $command ; + } + $iconCount ++; + } + setParent ..; //frame + setParent ..; //column + } + + + // Print warning in UI if no props are found + // + if (`size $LT_propFolderList` != 0) + { + print ("\n"); + print ("Import icons built for " + `size $LT_propFolderList` + " folders with prefix \"" + $importPrefix + "\" at path -> " + $LT_importPath + "\n"); + } + else + { + warning ("No folders with prefix \"" + $importPrefix + "\" were found in " + $LT_importPath); + + string $info = "\n Nothing to import. \n\nCheck settings above. Either there is a problem with the path or there were no folders with the current prefix found at that location. See the script editor for details." ; + string $infoField = `scrollField -width 160 -height 220 -ed 0 -wordWrap true -text ($info)`; + + frameLayout -e -cl 0 $LT_importFrameName; + setParent ..; //column + } + + setParent ..; //scroll + + + ////////////////////// + //Finish setting up tabs + tabLayout -edit -tabLabel $LT_tab1 "Layout" -tabLabel $LT_tab2 "Display" -tabLabel $LT_tab3 "Import" $LT_tabName; + tabLayout -edit -sc "optionVar -iv LT_selectedTab `tabLayout -q -sti $LT_tabName` " $LT_tabName; + tabLayout -edit -sti `optionVar -q LT_selectedTab` $LT_tabName; + + showWindow; +} + + + + diff --git a/2009-x64/GameProd/scripts/LT_displayProcs.mel b/2009-x64/GameProd/scripts/LT_displayProcs.mel new file mode 100644 index 0000000..7ffe54e --- /dev/null +++ b/2009-x64/GameProd/scripts/LT_displayProcs.mel @@ -0,0 +1,909 @@ +// Copyright (C) 1997-2003 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// +// LT_displayProcs.mel +// +// Contains all procs used by LT_UI.mel for Display tab of LevelToolsUI +// +// Author: Steven T. L. Roselle +// +// +// Creation Date: ( 04/04/03 ) +// Last Update: ( 11/29/04 ) +// +// Version: LevelTools 2.0 + + + +global proc LT_displayProcs() +{ + // Force loading of all LevelTools display procs +} + +////////////////////////////////////////////// +// Display Procs +////////////////////////////////////////////// + +global proc showFileInfo() +{ + global string $LT_FileInfoMenu; + + if (`window -exists LT_fileInfo`) + { + warning "File info window is already open\n"; + //deleteUI LT_fileInfo; + //windowPref -remove LT_fileInfo; + } + else + { + string $info = `getAttr LT_fileInfo.notes`; + window -tbm 0 -title "File Information" -menuBar true -width 410 -height 350 LT_fileInfo; + menu -tearOff 0 -label "Edit"; + $LT_FileInfoMenu = `menuItem -label "Save and Close"`; + menuItem -label "Revert to Saved" -command "deleteUI LT_fileInfo; showFileInfo"; + menuItem -label "Close Without Saving" - command "deleteUI LT_fileInfo"; + menuItem -d 1; + menuItem -label "Delete File Info" -command "deleteFileInfo"; + columnLayout -width 445; + + string $infoField = `scrollField -width 400 -height 280 -ww 0 -text $info`; + text -align center -label " This info will be saved with the current file and will be displayed upon reopening"; + + string $saveCmd = "{ string $info = `scrollField -query -text " + $infoField + "`; setAttr LT_fileInfo.notes -type \"string\" $info ; deleteUI LT_fileInfo; }"; + menuItem -e -command $saveCmd $LT_FileInfoMenu; + + showWindow LT_fileInfo; + } +} + + +global proc deleteFileInfo() +{ + if (`window -exists LT_fileInfo`) + deleteUI LT_fileInfo ; + if (`objExists "LT_fileInfoScript"`) + delete LT_fileInfoScript ; + if (`objExists "LT_fileInfo"`) + delete LT_fileInfo; + warning ("All file info nodes were deleted and file information will no longer be saved with this file."); +} + + +global proc createFileInfo() +{ + //Create node and attr for storing info + if ( `objExists "LT_fileInfo"` == 0) + { + print ("Creating node LT_fileInfo.\n"); + createNode -name "LT_fileInfo" unknown; + } + if ( `attributeQuery -exists -node "LT_fileInfo" "notes"` == 0) + { + print ("Adding notes attribute to node.\n"); + addAttr -ln "notes" -dt "string" LT_fileInfo; + setAttr LT_fileInfo.notes -type "string" "Replace with info specific to the current file"; + } + if ( `objExists "LT_fileInfoScript"` == 0) + { + //create scriptNode for diplaying info + print ("Creating scriptNode for opening file info window.\n"); + + //this is really confusing, but the scriptNode will contain entire body of all 3 procs : deleteFileInfo, showFileInfo, createFileInfo with line for creating itself... trust me. + scriptNode -beforeScript "\r\nglobal proc showFileInfo()\r\n{\r\n\tglobal string $LT_FileInfoMenu;\r\n\r\n\tif (`window -exists LT_fileInfo`)\r\n\t\t{\r\n\t\twarning \"File info window is already open\\n\";\r\n\t\t//deleteUI LT_fileInfo;\r\n \t\t//windowPref -remove LT_fileInfo;\r\n\t\t}\r\n\telse\r\n\t\t{\r\n\t\tstring $info = `getAttr LT_fileInfo.notes`;\r\n\t\twindow -tbm 0 -title \"File Information\" -menuBar true -width 410 -height 350 LT_fileInfo;\r\n\t\t\tmenu -tearOff 0 -label \"Edit\";\r\n\t\t\t \t$LT_FileInfoMenu = `menuItem -label \"Save and Close\"`;\r\n\t\t\t\tmenuItem -label \"Revert to Saved\" -command \"deleteUI LT_fileInfo; showFileInfo\";\r\n\t\t\t\tmenuItem -label \"Close Without Saving\" - command \"deleteUI LT_fileInfo\"; \t\r\n\t\t\t\tmenuItem -d 1;\r\n\t\t\t\tmenuItem -label \"Delete File Info\" -command \"deleteFileInfo\";\r\n\t\t\tcolumnLayout -width 445;\r\n\r\n\t\t\tstring $infoField = `scrollField -width 400 -height 280 -ww 0 -text $info`;\r\n\t\t\ttext -align center -label \" This info will be saved with the current file and will be displayed upon reopening\";\r\n\r\n\t\t\tstring $saveCmd = \"{ string $info = `scrollField -query -text \" + $infoField + \"`; setAttr LT_fileInfo.notes -type \\\"string\\\" $info ; deleteUI LT_fileInfo; }\";\r\n\t\t\tmenuItem -e -command $saveCmd $LT_FileInfoMenu; \r\n\r\n\t\tshowWindow LT_fileInfo;\r\n\t\t}\r\n}\r\n\r\n\r\nglobal proc deleteFileInfo()\r\n{\r\n\tif (`window -exists LT_fileInfo`)\r\n\t\tdeleteUI LT_fileInfo ; \r\n\tif (`objExists \"LT_fileInfoScript\"`) \r\n\t\tdelete LT_fileInfoScript ; \r\n\tif (`objExists \"LT_fileInfo\"`) \r\n\t\tdelete LT_fileInfo;\r\n}\r\n\r\n\r\nglobal proc createFileInfo()\r\n{\r\n\t//Create node and attr for storing info\r\n\tif ( `objExists \"LT_fileInfo\"` == 0)\r\n\t\t{\r\n\t\tprint (\"Creating node LT_fileInfo.\\n\");\r\n\t\tcreateNode -name \"LT_fileInfo\" unknown;\r\n\t\t}\r\n\tif ( `attributeQuery -exists -node \"LT_fileInfo\" \"notes\"` == 0)\r\n\t\t{\r\n\t\tprint (\"Adding notes attribute to node.\\n\");\r\n\t\taddAttr -ln \"notes\" -dt \"string\" LT_fileInfo;\r\n\t\tsetAttr LT_fileInfo.notes -type \"string\" \"Replace with info specific to the current file\";\r\n\t\t}\r\n\tif ( `objExists \"LT_fileInfoScript\"` == 0)\r\n\t\t{\r\n\t\t//create scriptNode for diplaying info\r\n\t\tprint (\"Creating scriptNode for opening file info window.\\n\");\r\n\t\tscriptNode -beforeScript \"\\r\\nglobal proc showFileInfo()\\r\\n{\\r\\n\\tglobal string $LT_FileInfoMenu;\\r\\n\\r\\n\\tif (`window -exists LT_fileInfo`)\\r\\n\\t\\t{\\r\\n\\t\\twarning \\\"File info window is already open\\\\n\\\";\\r\\n\\t\\t//deleteUI LT_fileInfo;\\r\\n \\t\\t//windowPref -remove LT_fileInfo;\\r\\n\\t\\t}\\r\\n\\telse\\r\\n\\t\\t{\\r\\n\\t\\tstring $info = `getAttr LT_fileInfo.notes`;\\r\\n\\t\\twindow -tbm 0 -title \\\"File Information\\\" -menuBar true -width 410 -height 350 LT_fileInfo;\\r\\n\\t\\t\\tmenu -tearOff 0 -label \\\"Edit\\\";\\r\\n\\t\\t\\t \\t$LT_FileInfoMenu = `menuItem -label \\\"Save and Close\\\"`;\\r\\n\\t\\t\\t\\tmenuItem -label \\\"Revert to Saved\\\" -command \\\"deleteUI LT_fileInfo; showFileInfo\\\";\\r\\n\\t\\t\\t\\tmenuItem -label \\\"Close Without Saving\\\" - command \\\"deleteUI LT_fileInfo\\\"; \\t\\r\\n\\t\\t\\t\\tmenuItem -d 1;\\r\\n\\t\\t\\t\\tmenuItem -label \\\"Delete File Info\\\" -command \\\"deleteFileInfo\\\";\\r\\n\\t\\t\\tcolumnLayout -width 445;\\r\\n\\r\\n\\t\\t\\tstring $infoField = `scrollField -width 400 -height 280 -ww 0 -text $info`;\\r\\n\\t\\t\\ttext -align center -label \\\" This info will be saved with the current file and will be displayed upon reopening\\\";\\r\\n\\r\\n\\t\\t\\tstring $saveCmd = \\\"{ string $info = `scrollField -query -text \\\" + $infoField + \\\"`; setAttr LT_fileInfo.notes -type \\\\\\\"string\\\\\\\" $info ; deleteUI LT_fileInfo; }\\\";\\r\\n\\t\\t\\tmenuItem -e -command $saveCmd $LT_FileInfoMenu; \\r\\n\\r\\n\\t\\tshowWindow LT_fileInfo;\\r\\n\\t\\t}\\r\\n}\\r\\n\\r\\n\\r\\nglobal proc deleteFileInfo()\\r\\n{\\r\\n\\tif (`window -exists LT_fileInfo`)\\r\\n\\t\\tdeleteUI LT_fileInfo ; \\r\\n\\tif (`objExists \\\"LT_fileInfoScript\\\"`) \\r\\n\\t\\tdelete LT_fileInfoScript ; \\r\\n\\tif (`objExists \\\"LT_fileInfo\\\"`) \\r\\n\\t\\tdelete LT_fileInfo;\\r\\n}\\r\\n\\r\\n\\r\\nglobal proc createFileInfo()\\r\\n{\\r\\n\\t//Create node and attr for storing info\\r\\n\\tif ( `objExists \\\"LT_fileInfo\\\"` == 0)\\r\\n\\t\\t{\\r\\n\\t\\tprint (\\\"Creating node LT_fileInfo.\\\\n\\\");\\r\\n\\t\\tcreateNode -name \\\"LT_fileInfo\\\" unknown;\\r\\n\\t\\t}\\r\\n\\tif ( `attributeQuery -exists -node \\\"LT_fileInfo\\\" \\\"notes\\\"` == 0)\\r\\n\\t\\t{\\r\\n\\t\\tprint (\\\"Adding notes attribute to node.\\\\n\\\");\\r\\n\\t\\taddAttr -ln \\\"notes\\\" -dt \\\"string\\\" LT_fileInfo;\\r\\n\\t\\tsetAttr LT_fileInfo.notes -type \\\"string\\\" \\\"Replace with info specific to the current file\\\";\\r\\n\\t\\t}\\r\\n\\tif ( `objExists \\\"LT_fileInfoScript\\\"` == 0)\\r\\n\\t\\t{\\r\\n\\t\\t//create scriptNode for diplaying info\\r\\n\\t\\tprint (\\\"Creating scriptNode for opening file info window.\\\\n\\\");\\r\\n\\t\\t//setAttr LT_fileInfoScript.scriptType 1;\\r\\n\\t\\t}\\r\\n\\r\\n\\tshowFileInfo;\\r\\n}\\r\\n\\r\\ncreateFileInfo;\" -n LT_fileInfoScript;\r\n\t\tsetAttr LT_fileInfoScript.scriptType 1;\r\n\t\t}\r\n\r\n\tshowFileInfo;\r\n}\r\n\r\ncreateFileInfo;" -n LT_fileInfoScript; + setAttr LT_fileInfoScript.scriptType 1; + } + + showFileInfo; +} + + +global proc changeClippingPlane() +{ + global string $LT_clipPlaneSliderName; + + $currentPanel = `getPanel -withFocus`; + if (`getPanel -typeOf $currentPanel` == "modelPanel") + { + $cam = `modelPanel -q -camera $currentPanel`; + $isOrtho = `getAttr ($cam + ".orthographic")`; + if ($isOrtho != 1) //if it's a perspective + { + setAttr ($cam+"Shape.farClipPlane") `intSlider -q -v $LT_clipPlaneSliderName`; + } + else + warning ("Clipping place slider only works in perspective view."); + } + else + warning ("Set active panel to a camera."); + +} + + +global proc changeNormalLength() +{ + global string $LT_normSliderName; + polyOptions -sn `floatSlider -q -v $LT_normSliderName`; +} + + +global proc changeBorderThickness() +{ + global string $LT_bordSliderName; + polyOptions -sb `floatSlider -q -v $LT_bordSliderName`; +} + + +global proc changeGridSize() +{ + global string $LT_gridSliderName; + grid -size `intSlider -q -v $LT_gridSliderName`; +} + +global proc float edgeLengthCalc() +{ +// Author : Hiroyuki Haga +// Last update : Aug 22th, 2004 + + string $edges[] = `filterExpand -sm 32`; + float $edgeLength = 0.0; + + string $vertices[]; + float $v1[3]; + float $v2[3]; + float $edgeFloat[3]; + vector $edgeVector; + float $tmpEdgeLength; + string $attached[]; + + if ( `size($edges)` ){ + for( $thisEdge in $edges ){ + $attached = `polyListComponentConversion -ff -fe -fuv -fvf -tv $thisEdge`; + + $vertices = `filterExpand -sm 31 $attached`; + + $v1 = `pointPosition $vertices[0]`; + $v2 = `pointPosition $vertices[1]`; + + for ( $i = 0; $i < 3; $i++ ){ + $edgeFloat[$i] = $v1[$i] - $v2[$i]; + } + $edgeVector = $edgeFloat; + + $tmpEdgeLength = `mag $edgeVector`; + $edgeLength += $tmpEdgeLength; + } + } + else { + $edgeLength = 0.0; + } + print ($edgeLength + "\n"); + + return $edgeLength; +} + + +global proc float VertDistanceCalc() +{ +// Author : Hiroyuki Haga +// Last update : Aug 22th, 2004 + + float $VertDistance = 0.0; + + string $vertices[]; + float $v1[3]; + float $v2[3]; + float $edgeFloat[]; + vector $edgeVector; + $vertices = `filterExpand -sm 31`; + + if (`size $vertices` == 2) + { + $v1 = `pointPosition $vertices[0]`; + $v2 = `pointPosition $vertices[1]`; + + for ( $i = 0; $i < 3; $i++ ){ + $edgeFloat[$i] = $v1[$i] - $v2[$i]; + } + $edgeVector = $edgeFloat; + + $VertDistance = `mag $edgeVector`; + } + + return $VertDistance; +} + + +global proc int[] shellCounter () +{ + //Count number of shells in selected poly objects + // + string $names[] = `filterExpand -sm 12` ; // polygon + int $scountSelected[0]; + + if (`size( $names )`) + $scountSelected = `polyEvaluate -s`; + else + $scountSelected[0] = 0; + + return $scountSelected; +} + + +proc createEdgeLengthHUD (){ + + headsUpDisplay + -section 0 + -block 5 + -blockSize "small" + -label "Edge Length:" + -labelFontSize "small" + -dataFontSize "small" + -command "edgeLengthCalc" + -event "SelectionChanged" + -nodeChanges "attributeChange" + -dp 4 + HUDEdgeLength; +} + + +global proc createShellCountHUD (){ + + headsUpDisplay + -section 0 + -block 7 + -blockSize "small" + -label "Shells:" + -labelFontSize "small" + -dataFontSize "small" + -command "shellCounter" + -event "SelectionChanged" + -nodeChanges "attributeChange" + HUDShellCounter; +} + + +proc createVertDistanceHUD (){ + + headsUpDisplay + -section 0 + -block 6 + -blockSize "small" + -label "Vert Distance:" + -labelFontSize "small" + -dataFontSize "small" + -command "VertDistanceCalc" + -event "SelectionChanged" + -nodeChanges "attributeChange" + -dp 4 + HUDVertDistance; +} + + +global proc toggleShellCountHUD () +{ + + if (`headsUpDisplay -ex HUDShellCounter`) + headsUpDisplay -rem HUDShellCounter; + else + createShellCountHUD; + +} + + +global proc toggleEdgeLengthHUD (){ + + if (`headsUpDisplay -ex HUDEdgeLength`) + headsUpDisplay -rem HUDEdgeLength; + else + createEdgeLengthHUD; + +} + +global proc toggleVertDistanceHUD (){ + + if (`headsUpDisplay -ex HUDVertDistance`) + headsUpDisplay -rem HUDVertDistance; + else + createVertDistanceHUD; + +} + + +global proc cycleBGColor() +{ + // cycles the background color white/lightGray/middleGray/black + // + + float $c[] = `displayRGBColor -q background`; + $color = $c[0]; + + if ($color == 0) displayRGBColor -c background .99 .99 .99; + else if ($color < 0.4) displayRGBColor -c background 0 0 0; + else if ($color < 0.7) displayRGBColor -c background .357 .357 .357; + else if ($color < 1) displayRGBColor -c background .672 .672 .672; + else print ("nada \n"); +} + + +global proc allSingleSided() +{ + //Make all polys in scene single sided + // + + string $poly; + string $polys[] = `ls -type mesh`; + + for ($poly in $polys) + { + //print ("\n "+$poly); + $attr = $poly+".doubleSided"; + setAttr $attr off; + } +} + +global proc toggleDoubleSided() +{ + //Make all polys in scene single sided + // + + string $selected[] = `ls -sl`; + string $poly; + string $polys[] = `filterExpand -sm 12`; + + for ($poly in $polys) + { + select -r $poly; + $shape = `listRelatives -s`; + $attr = $shape[0]+".doubleSided"; + if (`getAttr $attr`) + setAttr $attr off; + else + setAttr $attr on; + } + select -r $selected; +} + + +global proc allDoubleSided() +{ + //Make all polys in scene single sided + // + + string $poly; + string $polys[] = `ls -type mesh`; + + for ($poly in $polys) + { + //print ("\n "+$poly); + $attr = $poly+".doubleSided"; + setAttr $attr 1; + } +} + +global proc wosToggle () +{ + //Enable Wireframe on shaded + // + + $currentPanel = `getPanel -withFocus`; + $wosState = `modelEditor -q -wos $currentPanel`; + if ($wosState == 0) + { + modelEditor -edit -wos 1 $currentPanel; + } + else + { + modelEditor -edit -wos 0 $currentPanel; + } +} + + + + +global proc fastInteractToggle () +{ + //Toggle wireframe for interation + // + + $currentPanel = `getPanel -withFocus`; + $interactiveState = `modelEditor -q -ui $currentPanel`; + if ($interactiveState == 0) + { + modelEditor -edit -ui 1 $currentPanel; + } + else + { + modelEditor -edit -ui 0 $currentPanel; + } +} + + +global proc textureFilterToggle() +{ + //Toggle texture filtering in panel + // + + $currentPanel = `getPanel -withFocus`; + $filterState = `modelEditor -q -ts $currentPanel`; + if ($filterState == 2) + { + modelEditor -e -ts 1 $currentPanel; + } + else + { + modelEditor -e -ts 2 $currentPanel; + } +} + + +global proc gridNumberToggle () +{ + //toggle grid numbers + // + + $gridNumberState = `grid -q -dpl`; + if ($gridNumberState == 0) + { + grid -dpl 1; + grid -dol 1; + } + else + { + grid -dpl 0; + grid -dol 0; + } +} + + +global proc gridToggle () +{ + //Show or hide grid + // + + $currentPanel = `getPanel -withFocus`; + $wosState = `modelEditor -q -gr $currentPanel`; + if ($wosState == 0) + { + modelEditor -edit -gr 1 $currentPanel; + } + else + { + modelEditor -edit -gr 0 $currentPanel; + } +} + +global proc xRayToggle () +{ + //Enable XRay Viewing + // + + $currentPanel = `getPanel -withFocus`; + $xrayState = `modelEditor -q -xray $currentPanel`; + if ($xrayState == 0) + { + modelEditor -edit -xray 1 $currentPanel; + } + else + { + modelEditor -edit -xray 0 $currentPanel; + } +} + + +global proc vertexColorDisplay () + +{ + //Display Vertex Color Only + //Set view mode to Emission + //Set panels to view selected lights only with textures turned off + // + + $currentPanel = `getPanel -withFocus`; + string $panelType = `getPanel -to $currentPanel`; + global string $gDynPaintEditorName; + + if ($panelType == "modelPanel") + { + modelEditor -edit -da "smoothShaded" -displayTextures off -dl "none" $currentPanel; + } + else if (`isTrue "MayaCreatorExists"` && `scriptedPanel -ex $currentPanel` && `scriptedPanel -q -type $currentPanel` == "dynPaintScriptedPanelType") + { + dynPaintEditor -e -dtx 1 -dsa "smoothShaded" -dsl "default" $gDynPaintEditorName; + } + polyOptions -global -cs 1 -cm emission; +} + + +global proc vertexColorTextureDisplay() +{ + //Display Vertex Color and Textures + //Set view mode to Emission + //Set panels to view selected lights only with textures turned on + // + + $currentPanel = `getPanel -withFocus`; + string $panelType = `getPanel -to $currentPanel`; + global string $gDynPaintEditorName; + + if ($panelType == "modelPanel") + { + modelEditor -edit -da "smoothShaded" -displayTextures on -dl "none" $currentPanel; + } + else if (`isTrue "MayaCreatorExists"` && `scriptedPanel -ex $currentPanel` && `scriptedPanel -q -type $currentPanel` == "dynPaintScriptedPanelType") + { + dynPaintEditor -e -dtx 1 -dsa "smoothShaded" -dsl "default" $gDynPaintEditorName; + } + polyOptions -global -cs 1 -cm emission; +} + + +global proc vertexColorDefaultDisplay() +{ + //Display Vertex Color Default + //Set view mode to AmbientDiffuse + //Set panels to view default lighting with textures on + // + + $currentPanel = `getPanel -withFocus`; + string $panelType = `getPanel -to $currentPanel`; + global string $gDynPaintEditorName; + + if ($panelType == "modelPanel") + { + modelEditor -edit -da "smoothShaded" -displayTextures on -dl "default" $currentPanel; + } + else if (`isTrue "MayaCreatorExists"` && `scriptedPanel -ex $currentPanel` && `scriptedPanel -q -type $currentPanel` == "dynPaintScriptedPanelType") + { + dynPaintEditor -e -dtx 1 -dsa "smoothShaded" -dsl "default" $gDynPaintEditorName; + } + polyOptions -global -cs 1 -cm ambientDiffuse; +} + + +global proc disableVertexColorDisplay() +{ + //Turn off Vertex Color display + + $currentPanel = `getPanel -withFocus`; + string $panelType = `getPanel -to $currentPanel`; + global string $gDynPaintEditorName; + + if ($panelType == "modelPanel") + { + modelEditor -edit -da "smoothShaded" -displayTextures on -dl "default" $currentPanel; + } + else if (`isTrue "MayaCreatorExists"` && `scriptedPanel -ex $currentPanel` && `scriptedPanel -q -type $currentPanel` == "dynPaintScriptedPanelType") + { + dynPaintEditor -e -dtx 1 -dsa "smoothShaded" -dsl "default" $gDynPaintEditorName; + } + polyOptions -global -cs 0 ; +} + + +global proc toggleUIVisibility() +{ + //contains procs for setting prefs + source createPrefWndUI.mel; + + global string $gMainWindow; + int $state = `optionVar -q LT_uiVisibility`; + + if ($state) + { + toggleMenuBarsInPanels false; + window -e -mbv false $gMainWindow; + HideUIElements; + optionVar -iv LT_uiVisibility 0; + } + else + { + toggleMenuBarsInPanels true; + window -e -mbv true $gMainWindow; + RestoreUIElements; + optionVar -iv LT_uiVisibility 1; + } +} + +///////////////////////////// +// Camera Tools +// + + +// Creation Date: 08 June 1999 +// Author: bwk +// Modified by: Steven Roselle +// Last Update: 11/23/04 +// + +proc string getFirstPersonCamera() +{ + string $panel = `getPanel -underPointer`; + string $camera = ""; + if ($panel != "") { + // + // Make sure the panel is a model view and contains a + // perspective camera. + // + string $type = `getPanel -typeOf $panel`; + if ($type == "modelPanel") { + $camera = `modelPanel -query -camera $panel`; + if (`camera -query -orthographic $camera`) { + warning ("First Person cam only works in perspective views"); + $camera = ""; + } + } + } + return $camera; +} + +global proc firstPersonCamPress() +{ + float $position[] = `draggerContext -query -anchorPoint firstPersonCamContext`; + + // Last coordinates of the mouse. + // + global float $gFirstPersonLastPosition[]; + + // Last rotation values of the camera. + // + global float $gFirstPersonRotation[]; + + // Coordinates of the mouse when the press happened or when the Ctrl + // key was released. + // + global float $gFirstPersonAnchor[]; + + if (`getFirstPersonCamera` != "") + { + $gFirstPersonAnchor = `draggerContext -query -anchorPoint firstPersonCamContext`; + $gFirstPersonRotation = `getAttr (getFirstPersonCamera() + ".rotate")`; + + $gFirstPersonLastPosition = $position; + + + //Just record last position and orientation for undo queue + setAttr (getFirstPersonCamera() + ".rotate") `getAttr (getFirstPersonCamera() + ".rx")` `getAttr (getFirstPersonCamera() + ".ry")` `getAttr (getFirstPersonCamera() + ".rz")`; + setAttr (getFirstPersonCamera() + ".translate") `getAttr (getFirstPersonCamera() + ".tx")` `getAttr (getFirstPersonCamera() + ".ty")` `getAttr (getFirstPersonCamera() + ".tz")`; + } +} + +global proc firstPersonCamRelease() +{ + if (`getFirstPersonCamera` != "") + { + //Just record last position and orientation for undo queue + setAttr (getFirstPersonCamera() + ".rotate") `getAttr (getFirstPersonCamera() + ".rx")` `getAttr (getFirstPersonCamera() + ".ry")` `getAttr (getFirstPersonCamera() + ".rz")`; + setAttr (getFirstPersonCamera() + ".translate") `getAttr (getFirstPersonCamera() + ".tx")` `getAttr (getFirstPersonCamera() + ".ty")` `getAttr (getFirstPersonCamera() + ".tz")`; + } +} + + +global proc firstPersonCamDrag() +{ + float $position[] = `draggerContext -query -dragPoint firstPersonCamContext`; + int $button = `draggerContext -query -button firstPersonCamContext`; + string $modifier = `draggerContext -query -modifier firstPersonCamContext`; + int $refresh = false; + + // These values represent the amount by which the camera will move + // forward, backward and side to side. + // + float $stepForwardDistance = 0.5; + float $stepSideDistance = 0.5; + + global float $gFirstPersonLastPosition[]; + global float $gFirstPersonRotation[]; + global float $gFirstPersonAnchor[]; + + string $camera = getFirstPersonCamera(); + if ("" != $camera) { + if (1 == $button) { + // + // No modifier button. Interpret mouse movements as looking + // around in the scene. + // + + float $dy = $position[1] - $gFirstPersonAnchor[1]; + float $dx = ($position[0] - $gFirstPersonAnchor[0]); + float $newRotation[] = $gFirstPersonRotation; + $newRotation[0] = $gFirstPersonRotation[0] + $dy; + $newRotation[1] = $gFirstPersonRotation[1] - $dx; + + setAttr ($camera + ".rotate") + $newRotation[0] $newRotation[1] $newRotation[2]; + + $refresh = true; + + // Need to update the anchor position and camera rotation so that + // when the camera stops moving further look actions are relative + // to where the Ctrl key was released. + // + $gFirstPersonAnchor = $position; + $gFirstPersonRotation = `getAttr ($camera + ".rotate")`; + } + } + $gFirstPersonLastPosition = $position; + + if ($refresh) refresh -currentView; +} + + +global proc firstPersonCam() +{ + if (`draggerContext -exists firstPersonCamContext`) + deleteUI firstPersonCamContext; + + draggerContext + -pressCommand "firstPersonCamPress" + -dragCommand ("undoInfo -swf 0; firstPersonCamDrag ; undoInfo -swf 1") // turn off undo first & turn on undo after + -releaseCommand "firstPersonCamRelease" + -cursor "fly" + -image1 "flyThrough.xpm" + firstPersonCamContext; + + setToolTo firstPersonCamContext; +} + + + +global proc startWalkCam(int $direction) +{ + //Direction: 1=forward 0=backward 2=right 3=left + // + $currentPanel = `getPanel -withFocus`; + if (`getPanel -typeOf $currentPanel` == "modelPanel") + { + $cam = `modelPanel -q -camera $currentPanel`; + $isOrtho = `getAttr ($cam + ".orthographic")`; + if ($isOrtho != 1) //if it's a perspective + { + print ("walkCamera: forward\n"); + //Just record last position and orientation for undo queue + setAttr ($cam + ".rotate") `getAttr ($cam + ".rx")` `getAttr ($cam + ".ry")` `getAttr ($cam + ".rz")`; + setAttr ($cam + ".translate") `getAttr ($cam + ".tx")` `getAttr ($cam + ".ty")` `getAttr ($cam + ".tz")`; + scriptJob -ie ("walkCamera " + $cam + " " +$direction); + undoInfo -swf 0; + } + else + warning ("Walk cam only works in perspective views."); + } + else + warning ("Set active panel to a camera."); +} + + +global proc stopWalkCam() +{ + string $lastJob; + // get list of script jobs + $jobList = `scriptJob -lj`; + + for ($lastJob in $jobList) + { + // make sure last job is walkCamera + string $match = match("walkCamera",$lastJob); + + if ($match == "walkCamera") + { + // extract first 4 characters from string + string $ID = `substring $lastJob 1 5`; + + // check to see if colan is attached to string + string $match = match(":",$ID); + + if ($match == ":") + $ID = `substring $lastJob 1 4`; + + string $match = match(":",$ID); + + if ($match == ":") + $ID = `substring $lastJob 1 3`; + + string $match = match(":",$ID); + + if ($match == ":") + $ID = `substring $lastJob 1 2`; + + // kill all instances of walkCamera + int $IDnum = $ID; + scriptJob -kill $IDnum ; + //print ("walkCamera: stop\n"); + } + //else print("ERROR : wrong job"); + } + + + $currentPanel = `getPanel -withFocus`; + if (`getPanel -typeOf $currentPanel` == "modelPanel") + { + $cam = `modelPanel -q -camera $currentPanel`; + $isOrtho = `getAttr ($cam + ".orthographic")`; + if ($isOrtho != 1) //if it's a perspective + { //Just record last position and orientation for undo queue + setAttr ($cam + ".rotate") `getAttr ($cam + ".rx")` `getAttr ($cam + ".ry")` `getAttr ($cam + ".rz")`; + setAttr ($cam + ".translate") `getAttr ($cam + ".tx")` `getAttr ($cam + ".ty")` `getAttr ($cam + ".tz")`; + } + } + undoInfo -swf 1; + //print ("walkCamera: stop\n"); + +} + + +global proc walkCamera( string $cam, int $moveMode ) +{ + // This script moves the camera only in x and z along the view direction. + // You can combine it with the walk tool, where the walk tool sets the current + // view direction. However you can't change the view direction while moving + // with the arrow keys. + // + // This moves the camera relative to its current view direction a step. + // It attaches a vectorProduct node to get the view direction vector from + // the camera matrix. + // + // Written by Duncan Brimsmead + // Modified by Steven Roselle + + float $speed = `optionVar -q LT_walkCamSpeed`; + //float $speed = `getAttr ($cam + ".speed")`; + string $camMat = $cam + ".xformMatrix"; + string $vprod = ""; + if( `connectionInfo -is $camMat` ){ + string $camMatConnections[] = `connectionInfo -dfs $camMat`; + if( size($camMatConnections) ){ + $vprod = `basename $camMatConnections[0] ".matrix"`; + } + } + if( !size($vprod) ){ + $vprod = `createNode vectorProduct`; + connectAttr $camMat ($vprod + ".matrix"); + setAttr ($vprod + ".input1Z") 1; + setAttr ($vprod + ".operation") 3; + } + float $pt[] = getAttr($cam + ".t"); + float $vec[] = getAttr($vprod + ".output"); + + // normalize the velocity + float $vlen = sqrt( $vec[0]*$vec[0]+$vec[2]*$vec[2]); + if( $vlen > 0 ){ + $speed = $speed/$vlen; + } else { + $speed = 0; + } + + if( $moveMode == 0 ){ + $pt[0] += $vec[0] * $speed; + $pt[2] += $vec[2] * $speed; + } else if( $moveMode == 1 ){ + $pt[0] -= $vec[0] * $speed; + $pt[2] -= $vec[2] * $speed; + } else if( $moveMode == 2 ){ + $pt[0] += $vec[2] * $speed; + $pt[2] -= $vec[0] * $speed; + } else if( $moveMode == 3 ){ + $pt[0] -= $vec[2] * $speed; + $pt[2] += $vec[0] * $speed; + } + setAttr ($cam + ".t") $pt[0] $pt[1] $pt[2]; + + select -cl; +} + + diff --git a/2009-x64/GameProd/scripts/LT_generalProcs.mel b/2009-x64/GameProd/scripts/LT_generalProcs.mel new file mode 100644 index 0000000..3423db3 --- /dev/null +++ b/2009-x64/GameProd/scripts/LT_generalProcs.mel @@ -0,0 +1,528 @@ +// Copyright (C) 1997-2003 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// +// LT_generalProcs.mel +// +// Contains general procs used by LT_UI.mel for LevelToolsUI +// +// Author: Steven T. L. Roselle +// +// +// Creation Date: ( 04/04/03 ) +// Last Update: ( 11/29/04 ) +// +// Version: LevelTools 2.0 + + + +global proc LT_generalProcs() +{ + // Force loading of all LevelTools general procs +} + + + +////////////////////////////////////////////// +// Misc Procs +////////////////////////////////////////////// + +global proc LT_help() +{ + string $LT_help6_5 = (`getenv HOME` + "/maya/6.5/LT_docs/LevelTools_2.0.htm"); + string $LT_help6 = (`getenv HOME` + "/maya/6.0/LT_docs/LevelTools_2.0.htm"); + string $LT_help5 = (`getenv HOME` + "/maya/5.0/LT_docs/LevelTools_2.0.htm"); + string $LT_help4_5 = (`getenv HOME` + "/maya/4.5/LT_docs/LevelTools_2.0.htm"); + string $LT_help4 = (`getenv HOME` + "/maya/4.0/LT_docs/LevelTools_2.0.htm"); + + if (`filetest -r $LT_help6_5`) + { + print ("Opening " + $LT_help6_5 + "\n"); + showHelp -absolute $LT_help6_5; + } + else if (`filetest -r $LT_help6`) + { + print ("Opening " + $LT_help6 + "\n"); + showHelp -absolute $LT_help6; + } + else if (`filetest -r $LT_help5`) + { + print ("Opening " + $LT_help5 + "\n"); + showHelp -absolute $LT_help5; + } + else if (`filetest -r $LT_help4_5`) + { + print ("Opening " + $LT_help4_5 + "\n"); + showHelp -absolute $LT_help4_5; + } + else if (`filetest -r $LT_help4`) + { + print ("Opening " + $LT_help4 + "\n"); + showHelp -absolute $LT_help4; + } + else + { + print ($LT_help6_5 + " does not exist.\n"); + print ($LT_help6 + " does not exist.\n"); + print ($LT_help5 + " does not exist.\n"); + print ($LT_help4_5 + " does not exist.\n"); + print ($LT_help4 + " does not exist.\n"); + warning ("LT_docs could not be found."); + } +} + + +global proc string swFloatToNiceString(float $swFloat) +{ + //Convert long float value to shorter string + // + + string $swReturn; + string $swPrintData[]; + + if (($swFloat < 0.000001) && ( $swFloat > -0.000001)) $swReturn = "0.000000"; + else + + { + string $swTmp = $swFloat; + tokenize $swTmp "." $swPrintData; + if (size ($swPrintData) == 2) + { + + $swPrintData[1] = $swPrintData[1] + "000"; + $swReturn = $swPrintData[0] + "." + `substring $swPrintData[1] 1 3`; + } + else + $swReturn = $swPrintData[0] + ".000"; + } + return $swReturn; +} + + +////////////////////////////////////////////// +// File I/O Procs +////////////////////////////////////////////// + +global proc string getProp(string $path, string $name, string $ext) +{ + //Import or reference object into current scene + // + + //get related optionVars + string $autoCleanHyperShade = `optionVar -q removeDuplicateShadingNetworksOnImport`; + string $referenceObject = `optionVar -q LT_reference`; // 1=reference : 0=import + string $createRefLocator = `optionVar -q LT_createRefLocator`; + + string $allXformsBefore[] = `ls -type transform`; + string $objName[]; + + //get cut code and extract date + string $cutCode = `about -c`; + int $dateCheck = `substring $cutCode 1 8`; + + //Set filetype and add extension to name + string $type; + if ($ext == "mb") + $type = "mayaBinary"; + else if ($ext == "ma") + $type = "mayaAscii"; + else + error ("File extension not recognized."); + string $file = $name+"."+$ext; + + + if ($referenceObject == 1) + { + //Reference the file + if ($createRefLocator == 1) + { + if ($dateCheck < 20040204) //if cut date preceeds 6.0 beta3 cut date + { + file -r -type $type -namespace $name -options "v=0" ($path+ "/" + $file); + //Select all dagNodes and then isolate last imported object + select -r -allDagObjects; + string $objName[] = `ls -selection -tail 1`; + select -r ("|"+$objName[0]); + //Move to user defined ground plane + setAttr ("|"+$objName[0]+".ty") `optionVar -q LT_groundValue`; + warning ("Reference locators only available in 6.0 and later\n"); + } + else + { + file -r -type $type -gr -gl -namespace $name -options "v=0" ($path+ "/" + $file); + string $objName[] = `ls -sl`; + //Move to user defined ground plane + setAttr ("|"+$objName[0]+".ty") `optionVar -q LT_groundValue`; + } + } + else + { + file -r -type $type -namespace $name -options "v=0" ($path+ "/" + $file); + //Select all dagNodes and then isolate last imported object + select -r -allDagObjects; + string $objName[] = `ls -selection -tail 1`; + select -r ("|"+$objName[0]); + //Move to user defined ground plane + setAttr ("|"+$objName[0]+".ty") `optionVar -q LT_groundValue`; + } + } + + else + { + //Import the file + if ($autoCleanHyperShade == 0) + file -import -type $type -rpr $name ($path+ "/" + $file); + else + { + if ($dateCheck < 20030718) //if cut date preceeds 5.0.1 early cut date + { + print ("\n"); + file -import -type $type -rpr $name ($path+ "/" + $file); + print ("Using pre-5.0.1 script to cleanup redundant shader networks\n"); + cleanUpAfterImport "" ($name+"_") 0 0; + } + else + { + print ("\n"); + file -import -type $type -rdn -rpr $name ($path+ "/" + $file); + print ("Using file option -rdn to cleanup redundant shader networks : available in version 5.0.1 or later\n"); + } + } + + print ($file + " imported from : " + $path + "\n"); + + //Select all dagNodes and then isolate last imported object + select -r -allDagObjects; + string $objName[] = `ls -selection -tail 1`; + select -r ("|"+$objName[0]); + //Move to user defined ground plane + setAttr ("|"+$objName[0]+".ty") `optionVar -q LT_groundValue`; + } + + + return $objName[0]; + +} + + +global proc string[] listFilesAtPath(string $currentPath) +{ + + //Get list of files in props folder + // + string $currentPath; + string $fileList[] =`getFileList -folder $currentPath`; + return $fileList; +} + + +global proc getPropFolderList(string $startingPoint, int $recursive) + +{ + global string $LT_propFolderList[]; + + string $importPrefix = `optionVar -q LT_importPrefix`; + string $subFolders[] = `getFileList -fld $startingPoint`; + int $maxFolderCount = size($subFolders); + int $pathListSize; + + //step through list of files + for($folderCount=0 ; $folderCount<$maxFolderCount ; $folderCount++) + { + int $folder = `filetest -d ($startingPoint + $subFolders[$folderCount])`; + //if file is a folder + if($folder) + { + //check for prefix match + if (`gmatch $subFolders[$folderCount] ($importPrefix + "*")`) + { + //add matching folder to the list + print ("Adding : " + $startingPoint + $subFolders[$folderCount] + " to import tab.\n"); + $pathListSize = (`size $LT_propFolderList`); + $LT_propFolderList[$pathListSize] = ($startingPoint + $subFolders[$folderCount]); + } + //recursively check subfolders also + if ($recursive == 1) + getPropFolderList ($startingPoint + $subFolders[$folderCount] + "/", 1); + } + + } +} + + +////////////////////////////////////////////// +// Clean-Up Procs +////////////////////////////////////////////// + +// Descriptions: +// Similar idea to layerCleanup. That is we take all shaders from +// one namespace and move the relate them to another namespace. Those +// objects that are assigned to shaders in one namespace will move assignment +// to the other objects in the other namespace (with identical names). +// +// NOTE: The command requires that the target namespace exist. +// + +global proc deleteNodesFromList( string $elem[] ) +// +// Description: +// Deletes a list of elements, if the element exists. +// +// Input: +// string $elem[] - a list of objects. +// +{ + string $item ; + for ( $item in $elem ) { + if ( objExists( $item ) ) { + delete $item; + } + } +} + +global proc string[] switchShaders( string $elem[], string $tons, string $frns ) +// +// Description: +// Takes a list of shaders and moves the shaders into another +// namespace with identical shader names. If the destination shader +// does not exists. It is renamed to fit the destination namespace. +// Note, it is important that the namespace be already created. +// +// Input: +// string [] ==> The shader elements to 'swap' +// string $tons ==> Target namespace +// string $frns ==> The namespace that we are moving from. +// Return: +// string [] ==> List of redundant shaders +// +{ + string $dest; + string $item; + + string $selList[] = `ls -sl`; + string $oldShaderList[]; + int $count = 0; + + for ( $item in $elem ) { + $dest = `substitute $frns $item $tons`; + + if ( objExists( $item ) ) { + hyperShade -objects $item; + if ( objExists( $dest ) ) { + hyperShade -assign $dest; + $oldShaderList[$count] = $item; + $count++; + } else { + rename $item $dest; + } + } + } + + select -r $selList; + + //print ($oldShaderList); + //print (" OLD \n"); + return $oldShaderList; + +} + + +global proc string[] listRedundancies( string $obj[], string $filt ) +{ + string $matches[]; + string $item; + string $connection; + int $match = 0; + + for ( $item in $obj ) { + + // add redundant items to list + if ( gmatch( $item, ($filt + "*") ) ) { + $matches[ $match ] = $item; + $match ++; + } + + // add redundant connections to list + string $connect[] = `listConnections $item`; + for ( $connection in $connect ) { + if ( gmatch( $connection, ($filt + "*") ) ) { + $matches[ $match ] = $connection; + $match ++; + } + } + } + //print $matches; + return $matches; +} + + +global proc removeShadingGroups( string $shaders[]) +{ + + string $shadingGroups[]; + int $count = 0; + + for ($item in $shaders) + { + delete `listConnections -d 1 ($item+".outColor")`; + } + +} + + + +global proc cleanUpAfterImport( string $tons, string $frns, int $cam, int $lite) +{ + + string $shadingNetwork[]; + string $shadingGroups[]; + string $oldShaders[]; + + // Get and delete redundant nodes : lights, cameras, shading networks + + if ($cam == 1) + { + string $cameras[] = listRedundancies(`ls -type camera -type imagePlane`, $frns); + deleteNodesFromList( $cameras ); + } + + if ($lite == 1) + { + string $lights[] = listRedundancies(`ls -type light`, $frns); + deleteNodesFromList( $lights ); + } + + string $shaders[] = listRedundancies(`ls -type defaultShaderList`, $frns); + $oldShaders = `switchShaders $shaders $tons $frns`; + + // Get rid of upstream and downstream + if (`size $oldShaders ` > 0) + { + removeShadingGroups($oldShaders); + $textureNetwork = `listHistory $oldShaders `; + deleteNodesFromList($textureNetwork); + deleteNodesFromList($oldShaders); + } +} + + +/////////////// +// Setup + + +global proc setupWalkCam() +{ + // The following Hotkeys will be automatically created with setupWalkCam proc + // + /* + Forward: map to Alt w press: + startWalkCam 1 + + Backward: map to Alt s press: + startWalkCam 0 + + Right: map to Alt d press: + startWalkCam 2 + + Left: map to Alt a press: + startWalkCam 3 + + Stop: map to Alt w,s,d,a release: + stopWalkCam; + */ + ///////////////////// + //Named Commands + // + nameCommand + -annotation "walkCamForwardNameCommand" + -command ("walkCamForward") + walkCamForwardNameCommand; + + nameCommand + -annotation "walkCamBackwardNameCommand" + -command ("walkCamBackward") + walkCamBackwardNameCommand; + + nameCommand + -annotation "walkCamLeftNameCommand" + -command ("walkCamLeft") + walkCamLeftNameCommand; + + nameCommand + -annotation "walkCamRightNameCommand" + -command ("walkCamRight") + walkCamRightNameCommand; + + nameCommand + -annotation "walkCamStopNameCommand" + -command ("walkCamStop") + walkCamStopNameCommand; + + ///////////////////// + //Run-Time Commands + // + + if (`runTimeCommand -exists walkCamForward` == 0) + runTimeCommand + -annotation "" + -category "User" + -command ("startWalkCam 1;") + walkCamForward; + + if (`runTimeCommand -exists walkCamBackward` == 0) + runTimeCommand + -annotation "" + -category "User" + -command ("startWalkCam 0;") + walkCamBackward; + + if (`runTimeCommand -exists walkCamLeft` == 0) + runTimeCommand + -annotation "" + -category "User" + -command ("startWalkCam 3;") + walkCamLeft; + + if (`runTimeCommand -exists walkCamRight` == 0) + runTimeCommand + -annotation "" + -category "User" + -command ("startWalkCam 2;") + walkCamRight; + + if (`runTimeCommand -exists walkCamStop` == 0) + runTimeCommand + -annotation "" + -category "User" + -command ("stopWalkCam;") + walkCamStop; + + ///////////////////// + //Hotkeys + // + hotkey -keyShortcut "w" -alt -name ("walkCamForwardNameCommand"); + hotkey -keyShortcut "w" -alt -releaseName ("walkCamStopNameCommand"); + hotkey -keyShortcut "s" -alt -name ("walkCamBackwardNameCommand"); + hotkey -keyShortcut "s" -alt -releaseName ("walkCamStopNameCommand"); + hotkey -keyShortcut "a" -alt -name ("walkCamLeftNameCommand"); + hotkey -keyShortcut "a" -alt -releaseName ("walkCamStopNameCommand"); + hotkey -keyShortcut "d" -alt -name ("walkCamRightNameCommand"); + hotkey -keyShortcut "d" -alt -releaseName ("walkCamStopNameCommand"); + +} \ No newline at end of file diff --git a/2009-x64/GameProd/scripts/LT_layoutProcs.mel b/2009-x64/GameProd/scripts/LT_layoutProcs.mel new file mode 100644 index 0000000..2c573bd --- /dev/null +++ b/2009-x64/GameProd/scripts/LT_layoutProcs.mel @@ -0,0 +1,1545 @@ +// Copyright (C) 1997-2003 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// +// LT_layoutProcs.mel +// +// Contains all procs used by LT_UI.mel for Layout tab in LevelToolsUI +// +// Author: Steven T. L. Roselle +// +// +// Creation Date: ( 04/04/03 ) +// Last Update: ( 11/29/04 ) +// +// Version: LevelTools 2.0 + + + +global proc LT_layoutProcs() +{ + // Force loading of all LevelTools layout procs +} + + +/////////////////////////////////////////////////// +// Dragger Context Procs - Click Drag Placement +/////////////////////////////////////////////////// + + +global proc buildContextPress(string $Obj) +{ + //Move selected object with cursor + // + + float $pressPosition[] = `draggerContext -query -anchorPoint buildContext`; + string $modifier = `draggerContext -query -modifier buildContext`; + string $message; + string $unit; + string $tmp; + + //print ("Drag: " + $pressPosition[0] + " " + $pressPosition[1] + " " + $pressPosition[2] + " Button is " + $button + " Modifier is " + $modifier + "\n"); + + //convert value from cm to current units because draggerContext always returns cm + $unit = `currentUnit -q -linear`; + if ($unit != "cm") + { + $tmp = $pressPosition[0]; + $pressPosition[0] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + $tmp = $pressPosition[1]; + $pressPosition[1] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + $tmp = $pressPosition[2]; + $pressPosition[2] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + } + + select -r $Obj; + + if ( $modifier == "shift" ) + { + //Move selected object with cursor along view plane + string $message = ("tx:"+`swFloatToNiceString $pressPosition[0]` + " ty:"+`swFloatToNiceString $pressPosition[1]` + " tz: "+`swFloatToNiceString $pressPosition[2]`); + draggerContext -edit -drawString $message buildContext; + move $pressPosition[0] $pressPosition[1] $pressPosition[2]; + } + else if ($modifier == "ctrl") + { + //Contrain translate to y axis + string $message = ("tx:LOCKED ty:"+`swFloatToNiceString $pressPosition[1]` + " tz:LOCKED"); + draggerContext -edit -drawString $message buildContext; + move `getAttr ($Obj+".tx")` $pressPosition[1] `getAttr ($Obj+".tz")`; + } + else + { + //Contrain translate to XZ plane + string $message = ("tx:"+`swFloatToNiceString $pressPosition[0]` + " ty:LOCKED tz:"+`swFloatToNiceString $pressPosition[2]`); + draggerContext -edit -drawString $message buildContext; + move $pressPosition[0] `getAttr ($Obj+".ty")` $pressPosition[2]; + } + + refresh -currentView; +} + + + + +global proc buildContextDrag(string $Obj) +{ + //Move selected object with cursor + // + + float $dragPosition[] = `draggerContext -query -dragPoint buildContext`; + string $modifier = `draggerContext -query -modifier buildContext`; + string $message; + string $unit; + string $tmp; + + //print ("Drag: " + $dragPosition[0] + " " + $dragPosition[1] + " " + $dragPosition[2] + " Button is " + $button + " Modifier is " + $modifier + "\n"); + + //convert value from cm to current units because draggerContext always returns cm + $unit = `currentUnit -q -linear`; + if ($unit != "cm") + { + $tmp = $dragPosition[0]; + $dragPosition[0] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + $tmp = $dragPosition[1]; + $dragPosition[1] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + $tmp = $dragPosition[2]; + $dragPosition[2] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + } + + select -r $Obj; + + if ( $modifier == "shift" ) + { + //Move selected object with cursor along view plane + string $message = ("tx:"+`swFloatToNiceString $dragPosition[0]` + " ty:"+`swFloatToNiceString $dragPosition[1]` + " tz: "+`swFloatToNiceString $dragPosition[2]`); + draggerContext -edit -drawString $message buildContext; + move $dragPosition[0] $dragPosition[1] $dragPosition[2]; + } + else if ($modifier == "ctrl") + { + //Contrain translate to y axis + string $message = ("tx:LOCKED ty:"+`swFloatToNiceString $dragPosition[1]` + " tz:LOCKED"); + draggerContext -edit -drawString $message buildContext; + move `getAttr ($Obj+".tx")` $dragPosition[1] `getAttr ($Obj+".tz")`; + } + else + { + //Contrain translate to XZ plane + string $message = ("tx:"+`swFloatToNiceString $dragPosition[0]` + " ty:LOCKED tz:"+`swFloatToNiceString $dragPosition[2]`); + draggerContext -edit -drawString $message buildContext; + move $dragPosition[0] `getAttr ($Obj+".ty")` $dragPosition[2]; + } + + refresh -currentView; +} + + +global proc buildContextRelease(string $Obj) +{ + + //Print location of object at release point + // + + float $releasePosition[] = `draggerContext -query -dragPoint buildContext`; + string $unit; + string $tmp; + + /* + //convert value from cm to current units because draggerContext always returns cm + $unit = `currentUnit -q -linear`; + if ($unit != "cm") + { + $tmp = $releasePosition[0]; + $releasePosition[0] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + $tmp = $releasePosition[1]; + $releasePosition[1] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + $tmp = $releasePosition[2]; + $releasePosition[2] = `convertUnit -fromUnit "cm" -toUnit $unit $tmp`; + } + select -r $Obj; + */ + + $releasePosition[0] = getAttr ($Obj+".tx"); + $releasePosition[1] = getAttr ($Obj+".ty"); + $releasePosition[2] = getAttr ($Obj+".tz"); + + print ($Obj +" is located at: " + `swFloatToNiceString $releasePosition[0]` + " " + `swFloatToNiceString $releasePosition[1]` + " " + `swFloatToNiceString $releasePosition[2]` + "\n"); + +} + + + +global proc clickDragObj() +{ + + //Create and enable the dragger context + //for interactively placing new or imported object + // + + global string $LT_buildContextName; + global string $LT_currentObj; + + string $objects[] = `ls -sl -type transform`; + + if (`size $objects` == 0) + error ("No transform selected to move"); + else if (`size $objects` > 1) + error ("Select only one transform at a time to move"); + else + $LT_currentObj = $objects[0]; + + + if ( `draggerContext -exists $LT_buildContextName` ) + { + deleteUI $LT_buildContextName; + } + + $LT_buildContextName = `draggerContext + -pressCommand (" buildContextPress($LT_currentObj)") + -dragCommand ("undoInfo -swf 0; buildContextDrag($LT_currentObj); undoInfo -swf 1") // turn off undo first & turn on undo after + -releaseCommand (" buildContextRelease($LT_currentObj)") + -cursor "crossHair" + -space world + buildContext`; + + // set the current tool to the dragger context + setToolTo buildContext; + +} + + +////////////////////////////////////////////// +// Snapping Tool Procs +////////////////////////////////////////////// + +global proc string createHandle() +{ + // Create dummy node for handle + $handleName = `createNode transform -name "snapHandle#"`; + + // Enable pivot icon, selection handle and local axis + // + setAttr ($handleName + ".displayHandle") 1; + setAttr ($handleName + ".displayRotatePivot") 1; + setAttr ($handleName + ".displayLocalAxis") 1; + + addAttr -ln expr -at bool $handleName; + setAttr -e -keyable true ($handleName+".expr"); + + return $handleName; + +} + +global proc float[] getCenter(string $vertices[]) +{ + //Return the center of selected verts + //Get center based on average + // + float $center[]; + float $tmpLocation[]; + float $xtotal = 0; + float $ytotal = 0; + float $ztotal = 0; + + $size = `size $vertices`; + print $size; + + for ($vert in $vertices) + { + $tmpLocation = `xform -q -ws -t $vert`; + $xtotal += $tmpLocation[0]; + $ytotal += $tmpLocation[1]; + $ztotal += $tmpLocation[2]; + } + + $center[0] = ($xtotal / ($size)); + $center[1] = ($ytotal / ($size)); + $center[2] = ($ztotal / ($size)); + + return $center; +} + +global proc int pivotWarning(float $dummy) +{ + string $selected[] = `ls -sl`; + string $handleName; + + // dummy var is just used to trigger expr + + for ($handleName in $selected) + { + $scaleVal = `getAttr ($handleName+ ".sx")`; + if ($scaleVal != 1) + { + warning ("Either create a new handle or reset the scale of the current handle back to 1 1 1 before moving pivot"); + warning ("Moving the pivot on " + $handleName + " could have adverse effects with current scale value."); + } + } + return 1; +} + + +global proc componentTransformManip() +{ + + global string $gMove; + global string $gRotate; + + //Filter out non-poly components and objects + // + $components = `filterExpand -sm 31 -sm 32 -sm 34`; + if (`size $components` == 0) + error("Nothing valid selected. Select one or more poly verts, faces or edges."); + + //Convert all to vertices + // + select -r `polyListComponentConversion -ff -fe -fvf -fv -tv`; + string $verts[] = `filterExpand -sm 31`; + + //Get object name + //select -r $verts; + //$shape = `selectedNodes`; + //$object = `listRelatives -f -parent $shape`; + + //Create visual handle + // + $handle = `createHandle`; + + //Create polyMoveVertex node + // + select -r $verts; + $pmvPivot = `getCenter ($verts)`; + $tmp = `polyMoveVertex -pvt $pmvPivot[0] $pmvPivot[1] $pmvPivot[2] `; + rename $tmp[0] ($handle + "_pmv"); + string $pmv = ($handle + "_pmv"); + //$pmvPivot = `getAttr ($pmv + ".pivot")`; + + //Connect Handle to PolyMoveVertex + // + select -r $handle; + setAttr ($handle + ".translate") $pmvPivot[0] $pmvPivot[1] $pmvPivot[2] ; + FreezeTransformations; + performFreezeTransformations(0); + setAttr ($handle + ".selectHandle") $pmvPivot[0] $pmvPivot[1] $pmvPivot[2] ; + connectAttr -f ($handle + ".translate") ($pmv + ".translate"); + connectAttr -f ($handle + ".scale") ($pmv + ".scale"); + connectAttr -f ($handle + ".scalePivot") ($handle + ".selectHandle"); + connectAttr -f ($handle + ".scalePivot") ($pmv + ".pivot"); + + //Create add nodes to calculate and drive pivot of PolyMoveVertex manip + // + $addX = `shadingNode -asUtility plusMinusAverage`; + connectAttr -f ($handle + ".rotatePivotX") ($addX + ".input1D[0]"); + connectAttr -f ($handle + ".translateX") ($addX + ".input1D[1]"); + connectAttr -f ($addX + ".output1D") ($pmv + ".pivotX"); + $addY = `shadingNode -asUtility plusMinusAverage`; + connectAttr -f ($handle + ".rotatePivotY") ($addY + ".input1D[0]"); + connectAttr -f ($handle + ".translateY") ($addY + ".input1D[1]"); + connectAttr -f ($addY + ".output1D") ($pmv + ".pivotY"); + $addZ = `shadingNode -asUtility plusMinusAverage`; + connectAttr -f ($handle + ".rotatePivotZ") ($addZ + ".input1D[0]"); + connectAttr -f ($handle + ".translateZ") ($addZ + ".input1D[1]"); + connectAttr -f ($addZ + ".output1D") ($pmv + ".pivotZ"); + + //put expressoin here to check handle for pivot-scale problem and print warning + // + select -r $handle; + $expr = "expression -n " + $handle + "_expr -s \"" + $handle + ".expr = `pivotWarning (" + $handle + ".scalePivotX)`;\\r\" -o \"\" -ae 1 -uc all;"; + eval $expr; + + //Ensure that move pivot is disabled and transform manip enabled + // + setToolTo $gRotate; + setToolTo $gMove; + +} + +////////////////////////////////////////////// +// XForm / Snap / Align Tool Procs +////////////////////////////////////////////// + +global proc snapToVirtualGrid(float $snapVal, int $axis) +{ + //Creates a virtual grid of a given subdivision interval + //and snaps selected object to nearest virtual point + // + + string $sel_items[] = `ls -sl` ; + int $sel_size = `size( $sel_items )` ; + + int $c; + for( $c = 0; $c < $sel_size; $c ++ ) + { + float $tx, $ty, $tz; + + string $obj = $sel_items[$c]; + + $tx = floor( float((`getAttr ($obj + ".tx")` / $snapVal) + 0.5) ) * $snapVal; + $ty = floor( float((`getAttr ($obj + ".ty")` / $snapVal) + 0.5) ) * $snapVal; + $tz = floor( float((`getAttr ($obj + ".tz")` / $snapVal) + 0.5) ) * $snapVal; + + if ($axis == 1 || $axis == 0) + { + setAttr ($obj + ".tx") $tx ; + print ($obj+".tx : snapped to "+$tx+"\n"); + } + if ($axis == 2 || $axis == 0) + { + setAttr ($obj + ".ty") $ty ; + print ($obj+".ty : snapped to "+$ty+"\n"); + } + if ($axis == 3 || $axis == 0) + { + setAttr ($obj + ".tz") $tz ; + print ($obj+".tz : snapped to "+$tz+"\n"); + } + if ($axis == -1) + { + setAttr ($obj + ".ty") 0; //ground plane snap + print ($obj+".ty : snapped to ground plane\n"); + } + + } +} + + + +global proc moveAlongEdge( float $offset ){ + + // Last update : 11/17/2004 + // Author : Hiroyuki Haga ( hhaga@alias.com ) + // Modified : Steven Roselle + + string $selectionList[]; + $selectionList = `ls -sl`; + int $listSize; + $listSize = `size $selectionList`; + + if ($listSize < 2) + error "Select 1 or more objects and/or components, followed by a target edge to move parallel to."; + + string $directionalEdge; + $directionalEdge = $selectionList[$listSize-1]; + + print $directionalEdge; + + //check last selection for edge + $edgeCheck = `filterExpand -sm 32 $directionalEdge`; + if (`size $edgeCheck` != 1) + error "Last selection must be a polygonal edge."; + + string $attachedVertices[]; + string $directionalVertex[]; + + $attachedVertices= `polyListComponentConversion -ff -fe -fuv -fvf -tv $directionalEdge`; + + $directionalVertex = `filterExpand -sm 31 $attachedVertices`; + + float $vertexPosition1[]; + float $vertexPosition2[]; + //calculate vector + $vertexPosition1 = `pointPosition $directionalVertex[0]`; + $vertexPosition2 = `pointPosition $directionalVertex[1]`; + + float $floatMoveDirection[3]; + for ( $i = 0; $i < 3; $i++ ){ + $floatMoveDirection[$i] = $vertexPosition1[$i] - $vertexPosition2[$i]; + } + + //Normalize + normalize( $floatMoveDirection ); + vector $moveDirection; + $moveDirection = $floatMoveDirection; + + //move component + select -replace $selectionList; + select -deselect $directionalEdge; + + $moveDirection *= $offset; + float $moveLength[3]; + $moveLength = $moveDirection; + print $moveDirection; + + move -r -worldSpace ($moveLength[0]) ($moveLength[1]) ($moveLength[2]); + + select $selectionList; +} + + +global proc moveAlongNormal( float $offset ){ + + // Last update : 11/17/04 + // Author : Hiroyuki Haga ( hhaga@alias.com ) + // Modified : Steven Roselle + + string $selectionList[]; + $selectionList = `ls -sl`; + int $listSize; + $listSize = `size $selectionList`; + + if ($listSize < 2) + error "Select 1 or more objects and/or components, followed by a target face to move parallel to."; + + string $targetFace; + $targetFace = $selectionList[$listSize-1]; + + print $targetFace; + + //check last selection for normal + $faceCheck = `filterExpand -sm 34 $targetFace`; + if (`size $faceCheck` != 1) + error "Last selection must be a polygonal face."; + + select -r $targetFace; + string $faceInfo[] = `polyInfo -faceNormals`; + string $stringNormal[]; + tokenize $faceInfo[0] " " $stringNormal; + float $faceNormal[3] = { + (float)$stringNormal[2], + (float)$stringNormal[3], + (float)$stringNormal[4] + }; + + //Get Worldspace + float $tMat[16] = `xform -q -ws -matrix`; + float $worldNorm[] = `pointMatrixMult $faceNormal $tMat`; + + //Normalize + //normalize( $floatMoveDirection ); + //vector $moveDirection; + //$moveDirection = $floatMoveDirection; + + normalize( $worldNorm ); + vector $moveDirection; + $moveDirection = $worldNorm; + + //move component + select -replace $selectionList; + select -deselect $targetFace; + + $moveDirection *= $offset; + float $moveLength[3]; + $moveLength = $moveDirection; + print $moveDirection; + + move -r -worldSpace ($moveLength[0]) ($moveLength[1]) ($moveLength[2]); + + select $selectionList; +} + + +global proc moveOffset (float $value, int $axis, string $space) +{ + global string $gSelect; + global string $gMove; + + if (($space == "-os") || ($space == "-ws")) + { + setToolTo $gMove; + if ($axis == 1) + move -r -wd $space $value 0 0; + else if ($axis == 2) + move -r -wd $space 0 $value 0; + else if ($axis == 3) + move -r -wd $space 0 0 $value; + else + warning ("No axis defined for move"); + } + else if ($space == "-edge") + { + setToolTo $gSelect; + moveAlongEdge ($value); + } + else if ($space == "-normal") + { + setToolTo $gSelect; + moveAlongNormal ($value); + } + + +} + + +global proc rotateOffset (float $value, int $axis, string $space) +{ +if ($axis == 1) + rotate -r $space $value 0 0; +else if ($axis == 2) + rotate -r $space 0 $value 0; +else if ($axis == 3) + rotate -r $space 0 0 $value; +else + warning ("No axis defined for rotation"); +} + + +global proc rotateSnap (float $snapVal, string $axis) +{ + //Snap rotate value of selected object to given interval + //and normalize between -360 and 360 degrees + // + + string $attr; + + if ($axis == 1) + $attr = ".rx"; + if ($axis == 2) + $attr = ".ry"; + if ($axis == 3) + $attr = ".rz"; + + string $sel_items[] = `ls -sl` ; + + int $sel_size = `size( $sel_items )` ; + + int $c; + for( $c = 0; $c < $sel_size; $c ++ ) + { + float $rot; + + string $obj = $sel_items[$c]; + + //get lower snap point + $r1 = floor( float( `getAttr ($obj + $attr)` / $snapVal ) ) * $snapVal ; + if( $r1 > 360.0 ) + $r1 -= 360.0 ; + + //get upper snap point + $r2 = floor( float( `getAttr ($obj + $attr)` / $snapVal ) ) * $snapVal + $snapVal; + if( $r2 > 360.0 ) + $r2 -= 360.0 ; + + //snap down + if ((`getAttr ($obj + $attr)` - $r1) < ($r2 - `getAttr ($obj + $attr)`)) + { + setAttr ($obj + $attr) $r1 ; + print ($obj+" "+ $attr +" : snapped to "+$r1+"\n"); + } + //snap up + else + { + setAttr ($obj + $attr) $r2 ; + print ($obj+" "+ $attr +" : snapped to "+$r2+"\n"); + } + + } +} + + +global proc stackAllOnLast (string $list[], int $axis) +{ + $size = `size $list`; + $last = $list[$size-1]; + $c = 0; + + if ($axis == 1) + $flag = "-x"; + else if ($axis == 2) + $flag = "-y"; + else if ($axis == 3) + $flag = "-z"; + + $stackTo = $last; + + while ($c <= ($size-2)) + { + select -r $list[$c] $stackTo; + + //make sure first obj is definitely on top + align -atl $flag Max; + select -r $list[$c]; + move -r -ws $flag 50; + + //then stack + select -r $list[$c] $stackTo; + align -atl $flag Stack; + + //set next obj to stack on + $stackTo = $list[$c]; + + $c++; + } + +select -r $list; +} + + +global proc alignObjects (string $type, int $axis) +{ + if (($type == "line") && ($axis == 1)) // X + align -atl -z Mid -y Mid; + else if (($type == "line") && ($axis == 2)) // Y + align -atl -x Mid -z Mid; + else if (($type == "line") && ($axis == 3)) // Z + align -atl -y Mid -x Mid; + else if (($type == "ground") && ($axis == 1)) // X + align -atl -z Mid -y Min; + else if (($type == "ground") && ($axis == 2)) // Y + align -atl -x Mid -z Mid; + else if (($type == "ground") && ($axis == 3)) // Z + align -atl -y Min -x Mid; + else if (($type == "dist") && ($axis == 1)) // X + align -x Dist; + else if (($type == "dist") && ($axis == 2)) // Y + align -y Dist; + else if (($type == "dist") && ($axis == 3)) // Z + align -z Dist; + else + warning "wrong parameters."; +} + + +global proc snapToEdgeCenter() +{ + string $selected[] = `ls -sl`; + string $lastSelected = $selected[`size $selected` - 1]; + + select -r $lastSelected; + + string $edge[] = `filterExpand -sm 32`; + float $xtotal = 0; + float $ytotal = 0; + float $ztotal = 0; + + if (`size $edge` == 0) + { + select -r $selected; + error ("A single edge must be selected last"); + } + else + { + float $pos[] = `xform -q -ws -t -r $edge`; + + //Get average position of all verts for selected edge + for ($i = 0; $i <= `size $pos`; $i += 3) + { + $xtotal += $pos[$i]; + $ytotal += $pos[$i+1]; + $ztotal += $pos[$i+2]; + } + float $xavg = ($xtotal / (`size $pos`/3)); + float $yavg = ($ytotal / (`size $pos`/3)); + float $zavg = ($ztotal / (`size $pos`/3)); + + //Move objects to edge + //reselect all but last edge + select -r $selected; + select -d $lastSelected; + string $objects[] = `ls -sl -type transform`; + for ($obj in $objects) + { + float $pivotx = `getAttr ($obj + ".rotatePivotX")`; + float $pivoty = `getAttr ($obj + ".rotatePivotY")`; + float $pivotz = `getAttr ($obj + ".rotatePivotZ")`; + select -r $obj; + + // move object and compensate for pivot + move -a ($xavg-$pivotx) ($yavg-$pivoty) ($zavg-$pivotz); + } + + //Move faces and edges to edge + //reselect all but last edge + select -r $selected; + select -d $lastSelected; + string $components[] = `filterExpand -sm 32 -sm 34`; + if (`size $components` != 0) + { + select -r $components; + componentTransformManip; + $manip = `ls -sl`; + float $pivotx = `getAttr ($manip[0] + ".rotatePivotX")`; + float $pivoty = `getAttr ($manip[0] + ".rotatePivotY")`; + float $pivotz = `getAttr ($manip[0] + ".rotatePivotZ")`; + select -r $manip[0]; + + // move object and compensate for pivot + move -a ($xavg-$pivotx) ($yavg-$pivoty) ($zavg-$pivotz); + delete $manip[0]; + } + + //Move verts to edge + //reselect all but last edge + select -r $selected; + select -d $lastSelected; + string $components[] = `filterExpand -sm 31`; + select -r $components; + if (`size $components` != 0) + move -a ($xavg) ($yavg) ($zavg); + + select -r $selected; + } +} + + +global proc snapToFaceCenter() +{ + string $selected[] = `ls -sl`; + string $lastSelected = $selected[`size $selected` - 1]; + + select -r $lastSelected; + + string $face[] = `filterExpand -sm 34`; + float $xtotal = 0; + float $ytotal = 0; + float $ztotal = 0; + + if (`size $face` == 0) + { + select -r $selected; + error ("A single face must be selected last"); + } + else + { + float $pos[] = `xform -q -ws -t -r $face`; + + //Get average position of all verts for selected face + for ($i = 0; $i <= `size $pos`; $i += 3) + { + $xtotal += $pos[$i]; + $ytotal += $pos[$i+1]; + $ztotal += $pos[$i+2]; + } + float $xavg = ($xtotal / (`size $pos`/3)); + float $yavg = ($ytotal / (`size $pos`/3)); + float $zavg = ($ztotal / (`size $pos`/3)); + + //Move objects to face + //reselect all but last face + select -r $selected; + select -d $lastSelected; + string $objects[] = `ls -sl -type transform`; + for ($obj in $objects) + { + float $pivotx = `getAttr ($obj + ".rotatePivotX")`; + float $pivoty = `getAttr ($obj + ".rotatePivotY")`; + float $pivotz = `getAttr ($obj + ".rotatePivotZ")`; + select -r $obj; + + // move object and compensate for pivot + move -a ($xavg-$pivotx) ($yavg-$pivoty) ($zavg-$pivotz); + } + + //Move faces and edges to face + //reselect all but last face + select -r $selected; + select -d $lastSelected; + string $components[] = `filterExpand -sm 32 -sm 34`; + if (`size $components` != 0) + { + select -r $components; + componentTransformManip; + $manip = `ls -sl`; + float $pivotx = `getAttr ($manip[0] + ".rotatePivotX")`; + float $pivoty = `getAttr ($manip[0] + ".rotatePivotY")`; + float $pivotz = `getAttr ($manip[0] + ".rotatePivotZ")`; + select -r $manip[0]; + + // move object and compensate for pivot + move -a ($xavg-$pivotx) ($yavg-$pivoty) ($zavg-$pivotz); + delete $manip[0]; + } + + //Move verts to face + //reselect all but last face + select -r $selected; + select -d $lastSelected; + string $components[] = `filterExpand -sm 31`; + select -r $components; + if (`size $components` != 0) + move -a ($xavg) ($yavg) ($zavg); + + select -r $selected; + } +} + + +global proc dupConnect() +{ + string $srcObj[] = `ls -sl`; + $relList = `listRelatives -shapes $srcObj[0]` ; + string $srcShape = $relList[0] ; + + // downstream connection to temporary shading group + // + string $shadeGrp[] = `listConnections -t shadingEngine $srcShape`; + //string $combined = ("|" + $srcObj[0] + "|" + $srcShape + ".instObjGroups[0]"); + + //duplicatePreset(1,1,1,0,1,0,0,0,0,0,0,0,1,1,1); + //duplicatePreset(1,1,1,0,1,0,0,0,0,0,0,0,0,1,1,1); + duplicate -rr; + + //connect to original shading group + // + sets -e -forceElement $shadeGrp[0]; + + //defaultNavigation -source $shadeGrp[0] -destination $combined -connectToExisting; + + +} + + +global proc replaceObj(int $inst, int $rot, int $scale) +{ +string $list[] = `ls -sl -tr`; +int $size = `size $list`; + +int $i = 0; +while ($i < ($size-1)) + { + select -r ($list[$size-1]); + if ($inst) + instance; + else + duplicate -rr; //duplicatePreset(1,1,1,0,1,0,0,0,0,0,0,0,0,1,1,1); + string $new[] = `ls -sl`; + + //Set Transform + // + //float $trans[] = `getAttr ($list[$i]+".t")`; + //setAttr ($new[0]+".t") $trans[0] $trans[1] $trans[2]; + + //Get and set Worldspace values + float $trans[] = `xform -q -ws -t $list[$i]`; + xform -a -ws -t $trans[0] $trans[1] $trans[2] $new[0]; + + if ($rot) + { + float $rotate[] = `getAttr ($list[$i]+".r")`; + setAttr ($new[0]+".r") $rotate[0] $rotate[1] $rotate[2]; + } + + if ($scale) + { + float $scale[] = `getAttr ($list[$i]+".s")`; + setAttr ($new[0]+".s") $scale[0] $scale[1] $scale[2]; + } + + delete $list[$i]; + warning ("Replacing " + $list[$i] + " with " +$new[0]); + + $i++; + } + +delete ($list[$size-1]); +select -cl; +} + + +global proc geometrySnap() +{ +string $list[] = `ls -sl -tr`; +int $size = `size $list`; + +// Geo and Normal snap all select to last selected +// +int $i = 0; +while ($i < ($size-1)) + { + select -r $list[$size-1]; //last object + select -add $list[$i]; //current item + geometryConstraint -weight 1; + normalConstraint -weight 1 -aimVector 0 1 0 -upVector 1 0 0 -worldUpType "scene"; + $i++; + } +select -cl; + +} + + + +global proc cycleAimAxis() +{ +string $list[] = `ls -sl -tr`; +int $size = `size $list`; +float $tmpValue; + +//Cycle through normal constraint options + +for ($item in $list) + { + $normConstraint = `listRelatives -type normalConstraint`; + $tmpValue = `getAttr ($normConstraint[0] + ".aimVectorX")`; + setAttr ($normConstraint[0] + ".aimVectorX") `getAttr ($normConstraint[0] + ".aimVectorY")`; + setAttr ($normConstraint[0] + ".aimVectorY") `getAttr ($normConstraint[0] + ".aimVectorZ")`; + setAttr ($normConstraint[0] + ".aimVectorZ") $tmpValue; + } +} + + +global proc flipAimAxis() +{ +string $list[] = `ls -sl -tr`; +int $size = `size $list`; +float $tmpValue; + +//Cycle through normal constraint options + +for ($item in $list) + { + $normConstraint = `listRelatives -type normalConstraint`; + setAttr ($normConstraint[0] + ".aimVectorX") (-1 * `getAttr ($normConstraint[0] + ".aimVectorX")`); + setAttr ($normConstraint[0] + ".aimVectorY") (-1 * `getAttr ($normConstraint[0] + ".aimVectorY")`); + setAttr ($normConstraint[0] + ".aimVectorZ") (-1 * `getAttr ($normConstraint[0] + ".aimVectorZ")`); + } +} + + +global proc cycleUpAxis() +{ +string $list[] = `ls -sl -tr`; +int $size = `size $list`; +float $tmpValue; + +//Cycle through normal constraint options + +for ($item in $list) + { + $normConstraint = `listRelatives -type normalConstraint`; + $tmpValue = `getAttr ($normConstraint[0] + ".upVectorX")`; + setAttr ($normConstraint[0] + ".upVectorX") `getAttr ($normConstraint[0] + ".upVectorY")`; + setAttr ($normConstraint[0] + ".upVectorY") `getAttr ($normConstraint[0] + ".upVectorZ")`; + setAttr ($normConstraint[0] + ".upVectorZ") $tmpValue; + } +} + + +global proc flipUpAxis() +{ +string $list[] = `ls -sl -tr`; +int $size = `size $list`; +float $tmpValue; + +//Cycle through normal constraint options + +for ($item in $list) + { + $normConstraint = `listRelatives -type normalConstraint`; + setAttr ($normConstraint[0] + ".upVectorX") (-1 * `getAttr ($normConstraint[0] + ".upVectorX")`); + setAttr ($normConstraint[0] + ".upVectorY") (-1 * `getAttr ($normConstraint[0] + ".upVectorY")`); + setAttr ($normConstraint[0] + ".upVectorZ") (-1 * `getAttr ($normConstraint[0] + ".upVectorZ")`); + } +} + + +///////////// Orient Tools +// Last update : Aug 22th, 2004 +// Author : Hiroyuki Haga ( hhaga@alias.com ) +// modified: cpam Oct 2004 + +global proc orientToEdgeToolProperties () { + + // Linux Motif2.1 shrinks the checkBox, if the string is "" + // NT would tab over the blank (" ") string label. + // So... + string $emptyLabel = ""; + if (`about -linux`) { + $emptyLabel = " "; + } + + string $parent = `toolPropertyWindow -q -location`; + + setUITemplate -pushTemplate OptionsTemplate; + + setParent $parent; + + columnLayout orientToEdgeTool; + frameLayout -collapsable true -collapse false + -l "Orient To Edge Tool Settings"; + columnLayout; + + radioButtonGrp -nrb 3 + -l "Rotate Axis" + -l1 "X" + -l2 "Y" + -l3 "Z" + rotationalAlignEdgeAxisRadio; + + setParent ..; + setParent ..; + setParent ..; + + setUITemplate -popTemplate; +} + +global proc orientToEdgeToolValues ( string $toolName ) { + + string $parent = (`toolPropertyWindow -q -location` + "|orientToEdgeTool"); + setParent $parent; + + // Initialize settings + // + + int $axis = `optionVar -q rotationalAlignEdgeAxis`; + switch ($axis) + { + case 0: + case 1: + radioButtonGrp -e -sl 1 rotationalAlignEdgeAxisRadio; + optionVar -iv rotationalAlignEdgeAxis 1; + //$manipMode = 1; + break; + case 2: + radioButtonGrp -e -sl 2 rotationalAlignEdgeAxisRadio; + optionVar -iv rotationalAlignEdgeAxis 2; + //$manipMode = 2; + break; + case 3: + radioButtonGrp -e -sl 3 rotationalAlignEdgeAxisRadio; + optionVar -iv rotationalAlignEdgeAxis 3; + //$manipMode = 3; + break; + } + + radioButtonGrp -e + -nrb 2 + -on1 ("optionVar -iv rotationalAlignEdgeAxis 1") + -on2 ("optionVar -iv rotationalAlignEdgeAxis 2") + -on3 ("optionVar -iv rotationalAlignEdgeAxis 3") + -select $axis + rotationalAlignEdgeAxisRadio; + + string $helpTag = "orientToEdgeTool"; + toolPropertySetCommon $toolName "orientToEdge.xpm" $helpTag; + toolPropertySelect "orientToEdgeTool"; +} + +global proc rotationalAlignEdge( string $Selection1[], int $axis ){ + + //string $selectionList[2]; + //$selectionList = `ls -sl`; + + string $shape[] = `listRelatives -f -parent $Selection1[0]`; + string $transform[] = `listRelatives -f -parent $shape[0]`; + string $moveObject = $transform[0]; + + float $pivots[3]; + $pivots =`xform -q -ws -scalePivot $moveObject`; + + float $objectVertex[3]; + $objectVertex = `pointPosition $Selection1[0]`; + + $attachedVertices = `polyListComponentConversion -ff -fe -fuv -fvf -tv $Selection1[1]`; + string $guideVertices[2]; + $guideVertices = `filterExpand -sm 31 $attachedVertices`; + + $guideVertex1 = `pointPosition $guideVertices[0]`; + + $guideVertex2 = `pointPosition $guideVertices[1]`; + + //locate center + float $guideFloat[3]; + for ($i = 0; $i < 3; $i++ ){ + $objectVertex[$i] -= $pivots[$i]; + $guideVertex1[$i] -= $pivots[$i]; + $guideVertex2[$i] -= $pivots[$i]; + $guideFloat[$i] = $guideVertex1[$i] - $guideVertex2[$i]; + + if ($i == ($axis-1)){ + $objectVertex[$i] = 0; + $guideVertex1[$i] = 0; + $guideVertex2[$i]= 0; + $guideFloat[$i] = 0; + } + } + vector $pivotVector; + vector $objectVector; + vector $guideVector; + vector $guidePivotVector; + + //detectNearPoint; + vector $vertex1; + vector $vertex2; + $vertex1 = $guideVertex1; + $vertex2 = $guideVertex2; + + //default vertex2 = pivot; + + if ( `mag $vertex1` < `mag $vertex2` ){ + for ($i = 0; $i < 3; $i++ ){ + $guideFloat[$i] = (-$guideFloat[$i]); + } + $guidePivotVector = $guideVertex1; + }else { + $guidePivotVector = $guideVertex2; + } + + $pivotVector = $pivots; + $objectVector = $objectVertex; + $guideVector = $guideFloat; + + float $radius; + $radius = `mag $objectVector`; + float $guideVectorSize = `mag $guideVector`; + $a = `pow $guideVectorSize 2`; + float $guideVectorDot = `dot $guideVector $guidePivotVector`; + $b = 2 * $guideVectorDot; + float $guidePivotVectorSize = `mag $guidePivotVector`; + float $radiusPower = `pow $radius 2`; + $c = `pow $guidePivotVectorSize 2 ` - $radiusPower; + $D = `pow $b 2` - (4 * $a * $c); + + if ( $D >= 0 ){ + float $t1, $t2; + if ( $a == 0 ) { + $t1 = ( (-$b) - `sqrt $D` ); + $t2 = ( (-$b) + `sqrt $D` ); + } else { + $t1 = ( (-$b) - `sqrt $D` )/ (2 * $a); + $t2 = ( (-$b) + `sqrt $D` )/ (2 * $a); + } + + vector $finalVector1 = $guidePivotVector + ($t1 * $guideVector); + vector $finalVector2 = $guidePivotVector + ($t2 * $guideVector); + + //$finalVector1 += $pivotVector; + //$finalVector2 += $pivotVector; + + vector $cross1; + $cross1 = `cross $objectVector $finalVector1`; + //print($cross1.y); print ("\n"); + + $rad = `angle $objectVector $finalVector1`; + $degree1 = rad_to_deg($rad); + + switch( $axis ){ + case 1: + if ($cross1.x < 0 ){ + $degree1 = (-$degree1); + } + break; + + case 2: + if ($cross1.y < 0 ){ + $degree1 = (-$degree1); + } + break; + + case 3: + if ($cross1.z < 0 ){ + $degree1 = (-$degree1); + } + break; + } + + + vector $cross2; + $cross2 = `cross $objectVector $finalVector2`; + + $rad = `angle $objectVector $finalVector2`; + $degree2 = rad_to_deg($rad); + + switch( $axis ){ + case 1: + if ($cross2.x < 0 ){ + $degree2 = (-$degree2); + } + break; + + case 2: + if ($cross2.y < 0 ){ + $degree2 = (-$degree2); + } + break; + + case 3: + if ($cross2.z < 0 ){ + $degree2 = (-$degree2); + } + break; + + } + + float $degree; + if (abs($degree1) < abs($degree2)){ + $degree = $degree1; + }else{ + $degree = $degree2; + } + + //print $degree1;print ("\n"); + //print $degree2;print ("\n"); + select -r $moveObject; + + switch( $axis ){ + case 1: + rotate -r -os $degree 0 0; + break; + + case 2: + rotate -r -os 0 $degree 0; + break; + + case 3: + rotate -r -os 0 0 $degree; + break; + } + } + //select $selectionList; +} + +proc orientToEdgeToolCtx(){ + + scriptCtx + -title "Orient To Edge Tool" + //-image1 "polyWedgeFace.xpm" + -showManipulators false + -baseClassName "orientToEdgeTool" + -toolCursorType "tumble" + -totalSelectionSets 1 + + -cumulativeLists false + -expandSelectionList true + //-fcs ("snapNearPoint $moveObject $axis") + //-fcs ("rotationalAlignEdge $Selection1 $Selection2 $axis") + -fcs ("rotationalAlignEdge $Selection1 `optionVar -q rotationalAlignEdgeAxis`") + + -setNoSelectionPrompt "Select an alignment vertex on object to rotate, then select an alignment edge on target object." + //-setSelectionPrompt ("Select additional vert " + + //"and press Enter to complete") + -setAutoToggleSelection true + -setAutoComplete true + -setSelectionCount 2 + -polymeshVertex on + -polymeshEdge on + + -exitUponCompletion false + //-toolFinish ("rotationalAlignEdge $Selection1 $Selection2 2") + orientToEdgeTool; + +} + + + +global proc orientToVertToolProperties () { + + // Linux Motif2.1 shrinks the checkBox, if the string is "" + // NT would tab over the blank (" ") string label. + // So... + string $emptyLabel = ""; + if (`about -linux`) { + $emptyLabel = " "; + } + + string $parent = `toolPropertyWindow -q -location`; + + setUITemplate -pushTemplate OptionsTemplate; + + setParent $parent; + + columnLayout orientToVertTool; + frameLayout -collapsable true -collapse false + -l "Orient To Vertex Tool Settings"; + columnLayout; + + radioButtonGrp -nrb 3 + -l "Rotate Axis" + -l1 "X" + -l2 "Y" + -l3 "Z" + rotationalAlignAxisRadio; + setParent ..; + setParent ..; + setParent ..; + + setUITemplate -popTemplate; +} + + + +global proc orientToVertToolValues ( string $toolName ) { + + string $parent = (`toolPropertyWindow -q -location` + "|orientToVertTool"); + //string $parent = `toolPropertyWindow -q -location`; + setParent $parent; + + // Initialize settings + // + + int $axis = `optionVar -q rotationalAlignAxis`; + switch ($axis) + { + case 0: + radioButtonGrp -e -sl 1 rotationalAlignAxisRadio; + //$manipMode = 1; + break; + case 1: + radioButtonGrp -e -sl 2 rotationalAlignAxisRadio; + //$manipMode = 2; + break; + case 2: + radioButtonGrp -e -sl 3 rotationalAlignAxisRadio; + //$manipMode = 3; + break; + } + + radioButtonGrp -e + -nrb 2 + -on1 ("optionVar -iv rotationalAlignAxis 1") + -on2 ("optionVar -iv rotationalAlignAxis 2") + -on3 ("optionVar -iv rotationalAlignAxis 3") + -select $axis + rotationalAlignAxisRadio; + + string $helpTag = "orientToVertTool"; + toolPropertySetCommon $toolName "orientToVert.xpm" $helpTag; + toolPropertySelect "orientToVertTool"; +} + + +global proc rotationalAlign(string $Selection1[], string $Selection2[], int $axis){ + //string $vertices[]; + //$vertices = `ls -sl`; + + string $shape[] = `listRelatives -f -parent $Selection1[0]`; //added full path + string $transform[] = `listRelatives -f -parent $shape[0]`; //added full path + string $moveObject = $transform[0]; + + float $point1[3]; + float $point2[3]; + float $point3[3]; + + $point1 = `pointPosition $Selection1[0]`; + + $point2 = `xform -q -ws -scalePivot $moveObject`; + + $point3 = `pointPosition $Selection2[0]`; + + float $floatDirection1[3]; + float $floatDirection2[3]; + + for ($i = 0; $i < 3; $i++ ){ + $floatDirection1[$i] = $point1[$i] - $point2[$i]; + $floatDirection2[$i] = $point3[$i] - $point2[$i]; + if( $i == ($axis-1) ){ + $floatDirection1[$i] = 0; + $floatDirection2[$i] = 0; + } + } + + vector $vectorDirection1; + vector $vectorDirection2; + + $vectorDirection1 = $floatDirection1; + $vectorDirection2 = $floatDirection2; + + vector $cross; + $cross = `cross $vectorDirection1 $vectorDirection2`; + + normalize($vectorDirection1); + normalize($vectorDirection2); + + + float $angle; + $angle = `angle $vectorDirection1 $vectorDirection2`; + + switch ($axis){ + case 1: + if ($cross.x < 0 ){ + $angle = (-$angle); + } + break; + case 2: + if ($cross.y < 0 ){ + $angle = (-$angle); + } + break; + case 3: + if ($cross.z < 0 ){ + $angle = (-$angle); + } + break; + } + $degree = rad_to_deg($angle); + print $degree; + + switch($axis){ + case 1: + rotate -r -os $degree 0 0 $moveObject; + break; + + case 2: + rotate -r -os 0 $degree 0 $moveObject; + break; + + case 3: + rotate -r -os 0 0 $degree $moveObject; + break; + } + //select $vertices; +} + + +proc orientToVertToolCtx(){ + + scriptCtx + -title "Orient To Vertex Tool" + //-image1 "polyWedgeFace.xpm" + -showManipulators false + -baseClassName "orientToVertTool" + -toolCursorType "tumble" + -totalSelectionSets 2 + + -cumulativeLists false + -expandSelectionList true + //-fcs ("snapNearPoint $moveObject $axis") + //-fcs ("rotationalAlign $Selection1 $Selection2 $axis") + -fcs ("rotationalAlign $Selection1 $Selection2 `optionVar -q rotationalAlignAxis`") + + -setNoSelectionPrompt "Select alignment vertex on object to rotate." + //-setSelectionPrompt ("Select additional vert " + + // "and press Enter to complete") + -setAutoToggleSelection true + -setAutoComplete true + -setSelectionCount 1 + -polymeshVertex true + + -setNoSelectionPrompt "Select alignment vertex on target object." + //-setSelectionPrompt ("Select additional vert " + + // "about and press Enter to complete") + -setAutoToggleSelection true + -setAutoComplete true + -setSelectionCount 1 + -polymeshVertex true + + -exitUponCompletion false + //-toolFinish ("rotationalAlign $Selection1 $Selection2 2") + orientToVertTool; + +} + + +global proc orientTool() + { + if (`optionVar -q LT_orientToolType` == "vert") + { + if (!`contextInfo -exists orientToVertTool`) + orientToVertToolCtx; + setToolTo orientToVertTool; + } + + else if (`optionVar -q LT_orientToolType` == "edge") + { + if (!`contextInfo -exists orientToEdgeTool`) + orientToEdgeToolCtx; + setToolTo orientToEdgeTool; + } + else + warning ("Can't find OrientTool"); + } diff --git a/2009-x64/GameProd/scripts/LT_optionVars.mel b/2009-x64/GameProd/scripts/LT_optionVars.mel new file mode 100644 index 0000000..0f663e9 --- /dev/null +++ b/2009-x64/GameProd/scripts/LT_optionVars.mel @@ -0,0 +1,376 @@ +// Copyright (C) 1997-2003 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// +// LT_optionVars.mel +// +// Defines the default setting for LT_UI.mel +// +// Author: Steven T. L. Roselle +// +// +// Creation Date: ( 04/04/03 ) +// Last Update: ( 11/29/04 ) +// +// Version: LevelTools 2.0 + + + +global proc LT_optionVars() +{ + //Define optionVars if they don't already exist + + ////////////////////// + // Tabs + // + if (`optionVar -ex LT_selectedTab` == 0) + optionVar -intValue LT_selectedTab 1; //1:Layout 2:Display 3:Import + + ////////////////////// + // General + // + if (`optionVar -ex LT_generalFrame` == 0) + optionVar -intValue LT_generalFrame 0; + + ////////////////////// + // Position + // + if (`optionVar -ex LT_positionFrame` == 0) + optionVar -intValue LT_positionFrame 0; + + if (`optionVar -ex LT_moveOffsetAxis` == 0) + optionVar -intValue LT_moveOffsetAxis 1; + if (`optionVar -ex LT_moveSpace` == 0) + optionVar -stringValue LT_moveSpace "-ws"; + if (`optionVar -ex LT_moveValue` == 0) + optionVar -floatValue LT_moveValue 5; + + ////////////////////// + // Orient + // + if (`optionVar -ex LT_orientFrame` == 0) + optionVar -intValue LT_orientFrame 0; + + if (`optionVar -ex LT_rotateOffsetAxis` == 0) + optionVar -intValue LT_rotateOffsetAxis 2; + if (`optionVar -ex LT_rotateSpace` == 0) + optionVar -stringValue LT_rotateSpace "-os"; + if (`optionVar -ex LT_rotateValue` == 0) + optionVar -floatValue LT_rotateValue 15; + + if (`optionVar -ex LT_orientToolType` == 0) + optionVar -stringValue LT_orientToolType "vert"; + + //used by bonusTools also + if (`optionVar -ex rotationalAlignAxis` == 0) + optionVar -intValue rotationalAlignAxis 1; + if (`optionVar -ex rotationalAlignEdgeAxis` == 0) + optionVar -intValue rotationalAlignEdgeAxis 1; + + ////////////////////// + // Align + // + if (`optionVar -ex LT_alignFrame` == 0) + optionVar -intValue LT_alignFrame 0; + + if (`optionVar -ex LT_alignAxis` == 0) + optionVar -intValue LT_alignAxis 1; + + ////////////////////// + // Snap + // + if (`optionVar -ex LT_snapFrame` == 0) + optionVar -intValue LT_snapFrame 0; + + if (`optionVar -ex LT_edgeSegment` == 0) + { + optionVar -intValue LT_edgeSegment 0; + //set default prefs for edge snapping + snapMode -edgeMagnet 1; + snapMode -edgeMagnetTolerance 0; + + // using LT_edgeSegment just to see if optionVars exist + // if not then set default face and orient option for snapTogether + snapTogetherCtx -edit -spf 0 snapTogetherToolCtx; + snapTogetherCtx -edit -so 0 snapTogetherToolCtx; + } + + ////////////////////// + // Replace + // + if (`optionVar -ex LT_replaceFrame` == 0) + optionVar -intValue LT_replaceFrame 0; + + if (`optionVar -ex LT_replaceInst` == 0) + optionVar -intValue LT_replaceInst 0; + if (`optionVar -ex LT_replaceRotate` == 0) + optionVar -intValue LT_replaceRotate 1; + if (`optionVar -ex LT_replaceScale` == 0) + optionVar -intValue LT_replaceScale 1; + + + ////////////////////// + // Info + // + if (`optionVar -ex LT_infoFrame` == 0) + optionVar -intValue LT_infoFrame 0; + + + ////////////////////// + // View + // + if (`optionVar -ex LT_viewFrame` == 0) + optionVar -intValue LT_viewFrame 0; + + if (`optionVar -ex LT_walkCamSpeed` == 0) + optionVar -floatValue LT_walkCamSpeed 0.5; + + + ////////////////////// + // Poly + // + if (`optionVar -ex LT_polyFrame` == 0) + optionVar -intValue LT_polyFrame 0; + + + ////////////////////// + // Color + // + if (`optionVar -ex LT_colorFrame` == 0) + optionVar -intValue LT_colorFrame 0; + + + ////////////////////// + // Import/Ref + // + if (`optionVar -ex LT_groundValue` == 0) + optionVar -floatValue LT_groundValue 0; + + if (`optionVar -ex LT_userImportPath ` == 0) + optionVar -stringValue LT_userImportPath "undefined"; + if (`optionVar -ex LT_relativeToProject` == 0) + optionVar -intValue LT_relativeToProject 1; // 1=project : 0=user + if (`optionVar -ex LT_includeSubfolders` == 0) + optionVar -intValue LT_includeSubfolders 0; // 1=recursive : 0=non + if (`optionVar -ex LT_importPrefix` == 0) + optionVar -stringValue LT_importPrefix "props"; + + // create optionVar only for 5.0 or earlier + // this var should already exist for later cuts + if (`optionVar -ex removeDuplicateShadingNetworksOnImport` == 0) + optionVar -iv removeDuplicateShadingNetworksOnImport 1; + + if (`optionVar -ex LT_reference` == 0) + optionVar -intValue LT_reference 0; // 1=reference : 0=import + if (`optionVar -ex LT_createRefLocator` == 0) + optionVar -intValue LT_createRefLocator 0; + +} + + +global proc LT_deleteImportOptionVars() +{ + //Delete import optionVars so they can be reset back to default values + + ////////////////////// + // Import/Ref + // + optionVar -rm LT_userImportPath; + optionVar -rm LT_relativeToProject; + optionVar -rm LT_includeSubfolders; + optionVar -rm LT_importPrefix; + + // instead of deleting standard optionVar just set default for file import + optionVar -iv removeDuplicateShadingNetworksOnImport 1; + + optionVar -rm LT_reference; + optionVar -rm LT_createRefLocator; + + optionVar -rm LT_groundValue; + + +} + + + +global proc LT_deleteLayoutOptionVars() +{ + //Delete layout optionVars so they can be reset back to default values + + ////////////////////// + // Tabs + // + optionVar -rm LT_selectedTab; + + ////////////////////// + // General + // + optionVar -rm LT_generalFrame; + + ////////////////////// + // Position + // + optionVar -rm LT_positionFrame; + optionVar -rm LT_moveOffsetAxis; + optionVar -rm LT_moveSpace; + optionVar -rm LT_moveValue; + + ////////////////////// + // Orient + // + optionVar -rm LT_orientFrame; + optionVar -rm LT_rotateOffsetAxis; + optionVar -rm LT_rotateSpace; + optionVar -rm LT_rotateValue; + + optionVar -rm LT_orientToolType; + + ////////////////////// + // Align + // + optionVar -rm LT_alignFrame; + optionVar -rm LT_alignAxis; + + ////////////////////// + // Snap + // + optionVar -rm LT_snapFrame; + optionVar -rm LT_edgeSegment; + + ////////////////////// + // Replace + // + optionVar -rm LT_replaceFrame; + optionVar -rm LT_replaceInst; + optionVar -rm LT_replaceRotate; + optionVar -rm LT_replaceScale; + + ////////////////////// + // Info + // + optionVar -rm LT_infoFrame; + + ////////////////////// + // View + // + optionVar -rm LT_viewFrame; + optionVar -rm LT_walkCamSpeed; + + ////////////////////// + // Poly + // + optionVar -rm LT_polyFrame; + + ////////////////////// + // Color + // + optionVar -rm LT_colorFrame; +} + + +////////////////////////////////////////////////////////////////// +// UI optionVar procs +////////////////////////////////////////////////////////////////// + + +global proc float setMoveValue(string $id) +{ + // Return number from integer field change + // + + float $val = `floatField -q -value $id` ; + optionVar -fv LT_moveValue $val; + return $val; +} + + +global proc float setRotateValue(string $id) +{ + // Return number from float field change + // + + float $val = `floatField -q -value $id` ; + optionVar -fv LT_rotateValue $val; + return $val; +} + + +global proc int setEdgeSegment(string $id) +{ + int $val = `optionMenu -q -sl $id` ; + + if ($val > 3) + { + PreferencesWindow; + switchPrefTabs 17; + } + else + { + optionVar -iv LT_edgeSegment $val; + snapMode -edgeMagnet $val; + } + return $val; +} + + +global proc float setWalkCamSpeed(string $id) +{ + // Return number from float field change + // + + float $val = `floatSlider -q -value $id` ; + optionVar -fv LT_walkCamSpeed $val; + return $val; +} + +global proc string setUserImportPathName (string $path, string $type) +{ + optionVar -sv LT_userImportPath ($path + "/"); + return $path; +} + + +global proc string setImportPrefix (string $id) +{ + string $text = `textField -q -tx $id`; + optionVar -sv LT_importPrefix $text; + return $text; +} + +global proc float setGroundValue(string $id) +{ + // Return number from float field change + // + + float $val = `floatField -q -value $id` ; + optionVar -fv LT_groundValue $val; + return $val; +} + +global proc updateOrientToolOptions() +{ + if (`optionVar -q LT_orientToolType` == "vert") + orientToVertToolValues orientToVertTool; + else if (`optionVar -q LT_orientToolType` == "edge") + orientToEdgeToolValues orientToEdgeTool; + else + warning ("No tool to update."); +} + + \ No newline at end of file diff --git a/2009-x64/GameProd/scripts/LightInten.mel b/2009-x64/GameProd/scripts/LightInten.mel new file mode 100644 index 0000000..70fa932 --- /dev/null +++ b/2009-x64/GameProd/scripts/LightInten.mel @@ -0,0 +1,56 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: LightInten v1.0 +'' Author: Diego Galtieri +'' Last Updated: February 28, 2003 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=rendering#2168 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +// LightInten - By Diego Galtieri - diego@diegogaltieri.com - Change intensity of all your lights +global proc LightInten() +{ + float $lint; + float $factor; + string $result = `promptDialog -t "LightInten - By Diego Galtieri" -message "Enter Intensity Factor for Selected Lights (1=No Change):" -button "Ok" -button "Cancel" -defaultButton "Ok" -cancelButton "Cancel" -dismissString "Cancel"`; + if ($result == "Ok") { + $factor = float(`promptDialog -query`); + } + else + { + $factor = 1; + } + string $selected[] = `ls -sl`; + string $shapes[] = `listRelatives -s $selected`; + string $lights[]; + if (`size $selected[0]` == 0) + { + warning "Nothing selected."; + return; + } + if (`size $shapes` > 1) + { + $lights = $shapes; + } + else + { + $lights = $selected; + } + for ($lightname in $lights) + { + if (`attributeExists "intensity" $lightname`) + { + $attr1 = $lightname + ".intensity"; + $lint = `getAttr $attr1`; + setAttr $attr1 ($lint * $factor); + print ("setAttr " + $attr1 + " " + string($lint * $factor) + "\n"); + } + } +} +LightInten; diff --git a/2009-x64/GameProd/scripts/LightLinker.mel b/2009-x64/GameProd/scripts/LightLinker.mel new file mode 100644 index 0000000..e826669 --- /dev/null +++ b/2009-x64/GameProd/scripts/LightLinker.mel @@ -0,0 +1,207 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: Multiple Lights Relationship Editor v0.1 +'' Author: Pramod Patel +'' Last Updated: January 15, 2002 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=utilities#1439 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +///Created on 11/01/2002 ---Pramod Patel email me at illych_sanchez@hotmail.com////// + +/// This enables us to make or break multiple light relationships//// + + + window -title "---------------Eagle 3d Multiple Light Linker--------------" -widthHeight 350 200 -maximizeButton false carl; + + string $form = `formLayout -numberOfDivisions 100`; + string $button1 = `button -label "Break Relation"`; ///// selection done through scrolllist + string $button2 = `button -label "Make Relation"`; ///// selection done through scrolllist + + + string $button3 = `button -label "Break Relation Manually"`; ///// Lights Manually Selected + string $button4 = `button -label "Make Relation Manually"`; ///// Lights Manually Selected + string $button5 = `button -label "Refresh"`; ///// As it says ...referesh the list + + button -edit -command ("breakrelation") $button1; + button -edit -command ("makerelation") $button2; + + button -edit -command ("breakownrelation") $button3; + button -edit -command ("makeownrelation") $button4; + button -edit -command ("refresh") $button5; + +$radioButton1 = `textScrollList -numberOfRows 7 -allowMultiSelection false -width 100 -height 150 -selectCommand("getnameshaders") me1`; +$radioButton2 = `textScrollList -numberOfRows 7 -allowMultiSelection true -width 100 -height 150 -selectCommand("getnamelights") me2`; + + +///create the form + +formLayout -edit + +-attachForm $radioButton1 "top" 25 +-attachForm $radioButton1 "left" 1 + + +-attachForm $radioButton2 "top" 25 +-attachForm $radioButton2 "left" 300 + + +-attachForm $button1 "top" 50 +-attachForm $button1 "left" 125 + + +-attachForm $button2 "top" 75 +-attachForm $button2 "left" 125 + + +-attachForm $button3 "top" 100 +-attachForm $button3 "left" 125 + + +-attachForm $button4 "top" 125 +-attachForm $button4 "left" 125 + + +-attachForm $button5 "top" 25 +-attachForm $button5 "left" 125 + +$form; + +showWindow carl; + +///get all shading groups and materials + + +global proc listshaders() +{ +hyperShadePanelMenuCommand("hyperShadePanel1", "selectShadingGroupsAndMaterials"); +string $object_names[] = `ls -sl`; +$count = size($object_names); +$count = $count - 1; + +while ($count > -1){ textScrollList-e -append $object_names[$count] me1; +$count = $count - 1; +} +} + + +/////get all lights + +global proc selectalllights() +{ +SelectAllLights; +string $object_names[] = `ls -sl`; +$count = size($object_names); +$count = $count - 1; + +while ($count > -1){ textScrollList-e -append $object_names[$count] me2; +$count = $count - 1; +} +} + + +global proc getnamelights() +{ +string $selection[] = `textScrollList -q -si me2`; +print $selection; +} + +///print name of selected shader---for debug only/// + +global proc getnameshaders() +{ +string $selection[] = `textScrollList -q -si me1`; +print $selection; +} + + +//// break relation of selected lights from scrolllist + +global proc breakrelation() +{ +string $sselection[] = `textScrollList -q -si me1`; +string $lselection[] = `textScrollList -q -si me2`; + + +$count = size($lselection); +$count = $count - 1; +while ($count > -1){ lightlink -break -light $lselection[$count] -object $sselection; +$count = $count - 1; +} +lightLinkingEditor; +} + +//// Make relation of selected lights from scrolllist + +global proc makerelation() +{ +string $sselection[] = `textScrollList -q -si me1`; +string $lselection[] = `textScrollList -q -si me2`; + + +$count = size($lselection); +$count = $count - 1; +while ($count > -1){ lightlink -make -light $lselection[$count] -object $sselection; +$count = $count - 1; +} +lightLinkingEditor; +} + + +//// break relation of selected lights from scene + +global proc breakownrelation() +{ +string $sselection[] = `textScrollList -q -si me1`; +string $lselection[] = `ls -sl -transforms`; + + + +$count = size($lselection); +$count = $count - 1; +while ($count > -1){ lightlink -break -light $lselection[$count] -object $sselection; +$count = $count - 1; +} +lightLinkingEditor; +} + + +//// break relation of selected lights from Scene +global proc makeownrelation() +{ +string $sselection1[] = `textScrollList -q -si me1`; +string $lselection1[] = `ls -sl -transforms`; + + + +$count = size($lselection1); +$count = $count - 1; +while ($count > -1){ lightlink -make -light $lselection1[$count] -object $sselection1; +$count = $count - 1; +} +lightLinkingEditor; +} + + +////Referesh Lists + +global proc refresh() +{ +textScrollList -e -removeAll me1; +textScrollList -e -removeAll me2; +list; +} + +/////List All + +global proc list() +{ +listshaders; +selectalllights; +} diff --git a/2009-x64/GameProd/scripts/MJPolyTools.mel b/2009-x64/GameProd/scripts/MJPolyTools.mel new file mode 100644 index 0000000..0b381d9 --- /dev/null +++ b/2009-x64/GameProd/scripts/MJPolyTools.mel @@ -0,0 +1,1983 @@ + +// MJ Poly Tools +// +// +// Created by: +// Mikkel Jans +// info@maya3d.dk +// www.maya3d.dk +// +// + + + +/// MJ POLY TOOLS MENU SETUP /////////// +global proc MJPolyTools(){ + + source MJPolyTools; + global string $gMainWindow; + + setParent $gMainWindow; + + menu -l "MJ Poly Tools 1.3" + -p MayaWindow + -to 1 + -aob true + MJPolyToolsMenu; + + + + + menuItem -l "Connect Verts/Edges/Faces Slide" + -ann "Connect Selected Vertices/Edges/Faces With Slide" + -echoCommand true + -c "connectVertsEdgesFacesSlide" + connectVertEdgeFaceSlideItem; + + + menuItem -l "Connect Verts/Edges/Faces" + -ann "Connect Selected Vertices/Edges/Faces Without Slide" + -echoCommand true + -c "connectVertsEdgesFaces" + connectVertEdgeFaceItem; + + + menuItem -l "Split Around Verts/Edges/Faces" + -ann "Split Around Selected Vertices/Edges/Faces" + -echoCommand true + -c "splitAroundVertsEdgesFaces" + splitAroundVertsEdgesFacesItem; + + + menuItem -l "Edge Loop Split" + -ann "Loop Split the selected Edge" + -echoCommand true + -c "loopSplit" + loopSplitItem; + + + menuItem -l "Multi Loop Split" + -ann "Multi Loop Split The Selected Edge" + -echoCommand true + -c "multiLoopSplit" + MultiLoopSplitItem; + + + menuItem -l "3/5 Faces 2 Quads" + -ann "Select a Edge which share a 5-side Face and a 3-side Face and split'em so you get 3 Quad Faces" + -echoCommand true + -c "quadSelection" + 35face2quadItem; + + + menuItem -divider true; + + + menuItem -l "Select Ring" + -ann "Select Loop Edges" + -echoCommand true + -c "ringSelect" + ringSelectItem; + + + menuItem -l "Select Loop" + -ann "Select Loop Edges" + -echoCommand true + -c "loopSelect" + loopSelectItem; + + + menuItem -l "Select Outline" + -ann "Select Faces Outline" + -echoCommand true + -c "selectOutline" + selectOutlineItem; + + + menuItem -divider true; + + + menuItem -l "Extrude Vertex Seperated" + -ann "Extrude Selected Vertex" + -echoCommand true + -c "extrudeVertex" + ExtrudeVertexItem; + + + menuItem -l "Extrude Vertex Together" + -ann "Extrude The Selected Vertices Together" + -echoCommand true + -c "extrudeVertexTo" + ExtrudeVertexToItem; + + + menuItem -l "Chamfer Vertex Seperated" + -ann "Chamfer Selected Vertices" + -echoCommand true + -c "chamferVertex" + ChamferVertexItem; + + + menuItem -l "Chamfer Vertex Together" + -ann "Chamfer The Selected Vertices Together" + -echoCommand true + -c "chamferVertexTo" + ChamferVertexToItem; + + + menuItem -divider true; + + + menuItem -l "Maya3D.DK" + -ann "Link to www.maya3d.dk" + -echoCommand true + -c "HomepageLink" + HomepageLinkItem; + + + menuItem -l "Help" + -ann "Get help with the Script" + -echoCommand true + -c "Docs" + HelpItem; + + + menuItem -l "Discuss this Script" + -ann "Report Bugs, Come with ideas to improments or ask any questions about this Script" + -echoCommand true + -c "Forum" + ForumItem; + +} + + + +/// CONNECT EDGES/VERTICES/FACES WITH SLIDE ////// +global proc connectVertsEdgesFacesSlide() +{ +if ( size(`filterExpand -sm 31`) > 0 ) connectVerticesSlide(); +if ( size(`filterExpand -sm 32`) > 0 ) connectEdgesSlide(); +if ( size(`filterExpand -sm 34`) > 0 ) connectFacesSlide(); +} +///////////////////////////// + + + + + +/// CONNECT EDGES/VERTICES/FACES WITHOUT SLIDE ////// +global proc connectVertsEdgesFaces() +{ +string $selection[] = `ls -sl -fl`; +string $Edges[]; +string $Faces[]; + +string $EdgeFilter[] = `filterExpand -sm 32`; +string $FaceFilter[] = `filterExpand -sm 34`; +string $VertFilter[] = `filterExpand -sm 31`; + +string $object = objectName($selection[0]); +select ($object+".vtx[*]"); +string $size[] = `ls -sl -fl`; + +if ( size($EdgeFilter) > 0 ) { DivideEdges($EdgeFilter); } +if ( size($FaceFilter) > 0 ) { DivideFaces($FaceFilter); } + +select ($object+".vtx[*]"); +select -d $size; + +select -add $VertFilter; +connectVertices(); +} +///////////////////////////// + + + + + +/// SPLIT AROUND VERTICES/EDGES/FACES /////////// +global proc splitAroundVertsEdgesFaces() +{ +if ( size(`filterExpand -sm 31`) > 0 ) splitAroundVerts(); +if ( size(`filterExpand -sm 32`) > 0 ) splitAroundEdges(); +if ( size(`filterExpand -sm 34`) > 0 ) splitAroundFaces(); +} +///////////////////////////// + + + + + + + + + + + + +/// EDGE LOOP SPLIT /////// +global proc loopSplit() +{ + +string $selection[] = `filterExpand -sm 32`; + +for ( $sel in $selection ) +{ + +string $ringEdges[] = getRingEdges($sel); +string $NodeName = SplitEdges($ringEdges); +addSlideAttr( $ringEdges, $NodeName ); +select $NodeName; +rename $NodeName "loopSplit"; +} + + + +} +//////////////////////////// + + + + + +/// MULTI EDGE LOOP SPLIT //////// +global proc multiLoopSplit() +{ + +string $selection[] = `filterExpand -sm 32`; + +if ( size($selection) == 1 ) { loopSplit(); +} else { + +string $Edges[] = MultiLoopOrder($selection); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); +select $NodeName; +rename $NodeName "multiLoopSplit"; +} + +} +/////////////////// + + + + +/// RING SELECT ////////// +global proc ringSelect() +{ +string $selection[] = `filterExpand -sm 32`; + +for ( $sel in $selection ) +{ +string $ringEdges[] = getRingEdges($sel); +select -add $ringEdges; +} + +} +///////////////////////////////// + + + + + +/// SELECT OUTLINE //////////// +global proc selectOutline() +{ +string $Faces[] = `ls -sl -fl`; +string $Edges[] = getEdges(); +string $Result[]; +int $i = 0; + + +for ( $Edge in $Edges ) +{ +if ( size(ArrayIntersector($Faces, edge2Face($Edge))) == 2 ) +$Result[$i++] = $Edge; +} + +select $Edges; select -d $Result; +} +////////////////////////////// + + + + + +/// EXTRUDE VERTEX SEPERATED ///////// +global proc extrudeVertex() +{ +string $vert[] = `filterExpand -sm 31`; +for ( $v in $vert ) +{ +string $Edges[] = OrderEdges(vertex2Edge($v)); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); +rename $NodeName "extrudeVertex"; +} + +for ( $ve in $vert ) +{ +select $ve; +moveVertexAlongDirection -n 5; +} +select $vert; +MoveNormalTool; +} +////////////////////////////////////// + + + + + +/// EXTRUDE VERTEX TOGETHER /////////// +global proc extrudeVertexTo() +{ +string $Vertices[] = `filterExpand -sm 31`; + +connectVertices(); + +select $Vertices; +GrowPolygonSelectionRegion; +GrowPolygonSelectionRegion; +polyMergeVertex -d 0.0001 -ch 1; + + +string $Edges[] = splitAroundVertsOrder($Vertices); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); + +for ( $ve in $Vertices ) +{ +select $ve; +moveVertexAlongDirection -n 5; +} +MoveNormalTool; +select $NodeName; +rename $NodeName "extrudeVertex"; + +} +////////////////////////////////// + + + + + +/// CHAMFER VERTEX ///////////// +global proc chamferVertex() +{ +string $vert[] = `filterExpand -sm 31`; +for ( $v in $vert ) +{ +string $Edges[] = OrderEdges(vertex2Edge($v)); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); +rename $NodeName "chamferVertex"; +} +select $vert; +DeleteVertex; +} +///////////////////////////////////// + + + + + +/// CHAMFER VERTEX TOGETHER //////////// +global proc chamferVertexTo() +{ +string $Vertex[] = `filterExpand -sm 31`; + +string $Edges[] = splitAroundVertsOrder($Vertex); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); + +select $Vertex; getEdges(); +DeleteEdge; +select $NodeName; +rename $NodeName "chamferVertices"; +} +///////////////////////////////// + +global proc quadSelection() +{ +string $sel[] = `filterExpand -sm 32`; +convert2Quad($sel[0]); +} + + +global proc convert2Quad( string $Edge ) +{ + + +string $Faces[] = edge2Face($Edge); +if ( size(face2Vertex($Faces[0])) == 3 && size(face2Vertex($Faces[1])) == 5 ) +{ +string $V[] = edge2Vertex($Edge); + +string $NewEdge = inverseEdgeFromVertex( $V[0], $Edge, $Faces[1] ); +string $NewVert = inverseVertexFromEdge( $V[0], $NewEdge ); +string $NewEdge = inverseEdgeFromVertex( $NewVert, $NewEdge, $Faces[1] ); +string $NewVert = inverseVertexFromEdge( $NewVert, $NewEdge ); + +select $Edge $NewVert; +connectVertsEdgesFaces(); +select -d $NewVert; +} + +if ( size(face2Vertex($Faces[1])) == 3 && size(face2Vertex($Faces[0])) == 5 ) +{ +string $V[] = edge2Vertex($Edge); + +string $NewEdge = inverseEdgeFromVertex( $V[0], $Edge, $Faces[0] ); +string $NewVert = inverseVertexFromEdge( $V[0], $NewEdge ); +string $NewEdge = inverseEdgeFromVertex( $NewVert, $NewEdge, $Faces[0] ); +string $NewVert = inverseVertexFromEdge( $NewVert, $NewEdge ); + +select $Edge $NewVert; +connectVertsEdgesFaces(); +select -d $NewVert; +} + + +} + + + + +/// CONNECT EDGES ///// +global proc connectEdgesSlide() +{ +string $selection[] = `filterExpand -sm 32`; +string $Edges[] = OrderEdges($selection); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); + +select $NodeName; +rename $NodeName "connectEdges"; +} +//////////////////////// + + + + +/// CONNECT VERTICES /////////// +global proc connectVerticesSlide() +{ +string $Vertices[] = `filterExpand -sm 31`; +string $Edges[] = splitAroundVertsOrder($Vertices); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); + +select $Vertices; +GrowPolygonSelectionRegion; +GrowPolygonSelectionRegion; +polyMergeVertex -d 0.0001 -ch 1; + +string $Slide = $NodeName+".Slide"; +setAttr $Slide 0.999999; + +select $NodeName; +rename $NodeName "connectVertices"; +} +//////////////////////////////// + + + + +/// CONNECT FACES /////////// +global proc connectFacesSlide() +{ +string $Faces[] = `filterExpand -sm 34`; +string $Edges[] = getEdges(); +string $Result[]; +int $i = 0; + +for ( $Edge in $Edges ) +{ +if ( size(ArrayIntersector($Faces, edge2Face($Edge))) == 2 ) +{$Result[$i++] = $Edge;} +} +string $EdgesOrder[] = OrderEdges($Result); +string $NodeName = SplitEdges($EdgesOrder); +addSlideAttr( $EdgesOrder, $NodeName ); +select $NodeName; +rename $NodeName "connectFaces"; +} +/////////////////////////////// + + + + + +/// SPLIT AROUND EDGES //////////// +global proc splitAroundEdges() +{ +string $selection[] = `filterExpand -sm 32`; +getVerts(); getEdges(); +select -d $selection; +string $Edges[] = OrderEdges(`ls -sl -fl`); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); +select $NodeName; +rename $NodeName "splitAroundEdges"; +} +///////////////////////////////// + + + + + +/// SPLIT AROUND VERTICES /////////// +global proc splitAroundVerts() +{ +string $selection[] = `filterExpand -sm 31`; +string $Edges[] = splitAroundVertsOrder($selection); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); +select $NodeName; +rename $NodeName "SplitAroundVerts"; +} +//////////////////////////////// + + + + + + +/// SPLIT AROUND FACES ////////// +global proc splitAroundFaces() +{ +getEdges(); +string $selection[] = `filterExpand -sm 32`; +getVerts(); getEdges(); select -d $selection; +string $Edges[] = OrderEdges(`ls -sl -fl`); +string $NodeName = SplitEdges($Edges); +addSlideAttr( $Edges, $NodeName ); +select $NodeName; +rename $NodeName "splitAroundFaces"; +} +///////////////////////////////// + + + + + + + +/// CONNECT EDGES WITHOUT SLIDE //////////// +global proc DivideEdges(string $Edges[]) +{ +string $ObjectName = objectName($Edges[0]); +select ($ObjectName+".vtx[*]"); +string $all[] = `ls -sl -fl`; +polySubdivideEdge -ws 0 -s 0 -dv 1 -ch 1 $Edges; +select ($ObjectName+".vtx[*]"); +select -d $all; +} +///////////////////////////// + + + + +/// CONNECT FACES WITHOUT SLIDE //////////// +global proc string[] DivideFaces(string $Faces[]) +{ +string $Edges[] = getEdges(); +string $Result[]; +int $i = 0; + +for ( $Edge in $Edges ) +{ +if ( size(ArrayIntersector($Faces, edge2Face($Edge))) == 2 ) +{$Result[$i++] = $Edge;} +} +string $Verts[] = DivideEdges($Result); +return $Verts; +} +//////////////////////////// + + + + + +/// CONNECT VERTICES WITHOUT SLIDE ////////////////// +global proc connectVertices() +{ + +/// STRING /// +string $Vertices[] = `ls -sl -fl`; +string $Faces[] = get2VertFaces($Vertices); +string $NewVertexList[]; +string $NewEdgeList[]; +string $VertexList[]; +string $EdgeList[]; +string $loopEdge; +string $loopVertex; +string $V; +int $stop = 0; +int $i = 0; +int $i2 = 0; +int $a = 0; +////////////// + + + +for ( $Face in $Faces ) +{ + +string $EdgeList[]={""}; /// RESET EDGELIST +string $Verts[] = ArrayIntersector($Vertices, face2Vertex($Face)); /// GET THE SELECTED VERTICES AROUND THE FACE +string $E[] = ArrayIntersector( vertex2Edge($Verts[0]), face2Edge($Face) ); /// FIND THE EDGES FROM A RANDOM VERTEX + +$loopEdge = $E[0]; /// ASSIGN LOOPEDGE +$loopVertex = $Verts[0]; /// ASSIGN LOOPVERTEX + +$EdgeList[$i++] = $loopEdge; +$VertexList[$i2++] = $loopVertex; + + +while ( $stop != 1 ) +{ + + $V = inverseVertexFromEdge( $loopVertex, $loopEdge ); /// FIND THE INVERSE VERTEX + string $VArray[] = {$V}; /// PUT IT IN A ARRAY + + + if ( size(ArrayIntersector($VArray, $Verts)) == 1 ) { + + string $NewEdge = inverseEdgeFromVertex( $V, $loopEdge, $Face ); + $loopVertex = $V; + $loopEdge = $NewEdge; + if ( $loopVertex == $Verts[0] ) { $stop = 1; break; } + $EdgeList[$i++] = $NewEdge; + $VertexList[$i2++] = $loopVertex; + + + } else { + + string $NewEdge = getNextEdge( $loopEdge, $Verts, $Face ); + string $Vertex[] = ArrayIntersector($Vertices, edge2Vertex($NewEdge)); + $loopVertex = $Vertex[0]; + $loopEdge = inverseEdgeFromVertex( $loopVertex, $NewEdge, $Face ); + if ( $loopVertex == $Verts[0] ) { $EdgeList[$i++] = $NewEdge; + $VertexList[$i2++] = $loopVertex; + $stop = 1; break; } + $EdgeList[$i++] = $loopEdge; + $VertexList[$i2++] = $loopVertex; + + + } + + + +} + + +string $SplitVertexList[] = SplitReturnVerts($EdgeList); + +$i = 0; +$stop = 0; + +string $NewVertexList[] = addStringArrays( $NewVertexList, $SplitVertexList); +string $NewEdgeList[] = addStringArrays( $NewEdgeList, $EdgeList); + +$a++; +if ( $a == size($Faces) ) { +int $v = 0; + +for ( $v = 0; $v < size($VertexList); $v++ ) +{ +float $Pose[] = `pointPosition -w $VertexList[$v]`; +move $Pose[0] $Pose[1] $Pose[2] $NewVertexList[$v]; +} +select $VertexList $NewVertexList; +polyMergeVertex -d 0.00001 -ch 1; +} + +} + +} +////////////////////////////////////// + + + + + + + + +global proc string[] addStringArrays (string $array1[], string $array2[]) +{ + string $x; + + //...add the two arrays together + for ($x in $array2) + { + $array1[size($array1)] = $x; + } + + return ($array1); +} + + + + + +/// SPLIT A LIST OF EDGE /////////// +global proc string SplitEdges( string $EdgeList[] ) +{ +string $polySplit = "polySplit -ch on -s 1 "; +float $length = 0.5; +string $epFlag = "-ep"; +int $loop = 0; +int $EdgeIndexList[] = getIndexList($EdgeList); +for ( $loop = 0; $loop < size($EdgeIndexList); $loop++ ) +{ +$polySplit = $polySplit + " " + $epFlag + " " + $EdgeIndexList[$loop] + " " + $length; +} +string $ObjectName = objectName($EdgeList[0]); +$polySplit = $polySplit + " " + $ObjectName; +string $NodeName[] = eval($polySplit); + +return $NodeName[0]; +} +////////////////////////////////// + + + + + +/// SPLIT A LIST OF EDGE AND RETURN THE NEW VERTICES /////////// +global proc string[] SplitReturnVerts( string $EdgeList[] ) +{ +string $polySplit = "polySplit -ch on -s 1 "; +float $length = 0.5; +string $epFlag = "-ep"; +int $loop = 0; +string $VertexList[]; + +string $ObjectName = objectName($EdgeList[0]); +select ($ObjectName+".vtx[*]"); +string $AllVerts[] = `ls -sl -fl`; + +int $EdgeIndexList[] = getIndexList($EdgeList); +for ( $loop = 0; $loop < size($EdgeIndexList); $loop++ ) +{ +$polySplit = $polySplit + " " + $epFlag + " " + $EdgeIndexList[$loop] + " " + $length; +} + +$polySplit = $polySplit + " " + $ObjectName; +string $NodeName[] = eval($polySplit); + +select ($ObjectName+".vtx[*]"); select -d $AllVerts; +string $Vertices[] = `ls -sl -fl`; + +for ( $i = 0; $i < size($EdgeList); $i++ ) +{ +string $V[] = edge2Vertex($EdgeList[$i]); +string $Inter[] = ArrayIntersector($Vertices, $V); +$VertexList[$i] = $Inter[0]; +} + +return $VertexList; +} +////////////////////////////////// + + + + + + +/// ADD A SLIDE ATTRIBUTE TO A NODE /////////// +global proc addSlideAttr( string $EdgeList[], string $NodeName ) +{ + +int $sliceList[]; +for ( $i = 0; $i < size($EdgeList)-1; $i++ ) +{ +if ( size(ArrayIntersector( edge2Face($EdgeList[$i]), edge2Face($EdgeList[$i+1]) )) == 1 ) { +$sliceList[$i] = 1; +} else { +$sliceList[$i] = 0; +} +} + +int $list[]; +$list[0] = 0; +for ( $i = 1; $i < size($EdgeList); $i++ ) +{ +if ( $sliceList[$i-1] == 1 ) +{ +$list[$i] = $list[$i-1]; +} else { +$list[$i] = abs($list[$i-1]-1); +} + +} + + +addAttr -ln Slide -min 0.0001 -max 0.9999 -dv 0.5 -at "float" $NodeName; +setAttr -k 1 ($NodeName+".Slide"); +string $exp = "float $Slide = "+$NodeName+".Slide;\n"; +for ( $i = 0; $i < (size($EdgeList)); $i++ ) +{ +$exp += $NodeName +".edge["+$i+"] = abs($Slide -"+$list[$i]+");\n"; +} +expression -n ($NodeName+"Slide") -s $exp -o $NodeName -ae 1; + + + +} +//////////////////////////////////// + + + + + +global proc int IsEdgesShareVtx(string $firstEdge ,string $secondEdge ) +{ +int $result = 0; +string $edgeOfFirstEdgeList[] = edge2Vertex($firstEdge); +string $edgeOfSecondEdgeList[] = edge2Vertex($secondEdge); +if ($edgeOfFirstEdgeList[0] == $edgeOfSecondEdgeList[0] ) $result = 1; +if ($edgeOfFirstEdgeList[1] == $edgeOfSecondEdgeList[0] ) $result = 1; +if ($edgeOfFirstEdgeList[0] == $edgeOfSecondEdgeList[1] ) $result = 1; +if ($edgeOfFirstEdgeList[1] == $edgeOfSecondEdgeList[1] ) $result = 1; +return $result; +} + + + + +global proc int areVtxConnected(string $firstVtx , string $secondVtx ) +{ +string $result =0; +string $edgeOfFirstVtxList[] = vertex2Edge($firstVtx ); +string $edgeOfSecondVtxList[] = vertex2Edge($secondVtx ); +for ( $an1Edge in $edgeOfFirstVtxList) + { + for ( $an2Edge in $edgeOfSecondVtxList) + { + if ( $an2Edge == $an1Edge ) $result = 1 ; + } + } +return $result ; +} + + + + + +global proc string[] getRingEdges(string $theEdge) +{ +string $faces[] = edge2Face($theEdge); +string $EdgeList[]; +$EdgeList[0] = $theEdge; + +string $loopFace = $faces[0]; +string $loopEdge = $theEdge; + +int $i = 1; +int $stop = 0; +int $loop = 0; + +while ( $stop != 1 ){ +if (!(isFaceQuad($loopFace))) { $stop = 1; break; } +$loopEdge = oppositeEdgeOnFace( $loopFace, $loopEdge); +$EdgeList[$i++] = $loopEdge; +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } +if ( $loopEdge == $EdgeList[0] ) { $loop = 1; $stop = 1; break; } + +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + +} + +if ( size($faces) == 2 ) { +if ( $loop == 0 ) +{ +$loopFace = $faces[1]; +$loopEdge = $theEdge; +$EdgeList = inverseArray($EdgeList); +$stop = 0; + +while ( $stop != 1 ) { +if (!(isFaceQuad($loopFace))) { $stop = 1; break; } +$loopEdge = oppositeEdgeOnFace( $loopFace, $loopEdge); +$EdgeList[$i++] = $loopEdge; +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } + +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + +} +} +} +return $EdgeList; +} + + + + + + + + + + +global proc string objectName(string $Comp) +{ +string $result[]; +tokenize $Comp "." $result; +return $result[0]; +} + + +global proc string[] invert (string $comps[]){ + +string $newComps[], $compNum[]; + +for ($comp in $comps) { +if (`tokenize $comp "[]" $compNum` > 1) { +int $newCompSize = `size $newComps`; +$newComps[$newCompSize] = $compNum[0] + "[*] "; +} +} +select -r $newComps; +select -d $comps; +string $result[] = `ls -sl -fl`; +return $result; +} + + + + +global proc int polyComponentId(string $selection) +{ +int $id; +string $result[]; +tokenize $selection "[]" $result; +$id = $result[1]; +return $id; +} + +global proc string[] getVerts() +{ + string $verts[]=`polyListComponentConversion -tv`; + select -r $verts; + string $result[]=`filterExpand -ex true -sm 31`; + return $result; +} + +global proc string[] getEdges() +{ + string $edges[]=`polyListComponentConversion -te`; + select -r $edges; + string $result[]=`filterExpand -ex true -sm 32`; + return $result; +} + + + +global proc string[] getFaces() +{ + string $faces[]=`polyListComponentConversion -tf`; + select -r $faces; + string $result[]=`filterExpand -ex true -sm 34`; + return $result; +} + + + +global proc int isFaceQuad(string $face ) +{ +int $result = 0; +if (size(faceToVertex($face)) == 4 ){ $result = 1;} +return $result; +} + + + +global proc int IsEdgeBorder( string $Edge ) { +string $result = 0; +string $faces[] = edge2Face($Edge); +if ( size($faces) < 2 ){ $result = 1 ;} +return $result ; +} + + + +global proc string inverseFacefromEdge( string $Face, string $Edge ) { +string $result ; +string $FaceOfEdgeList[] = edge2Face($Edge); +if ($Face == $FaceOfEdgeList[0] ) $result = $FaceOfEdgeList[1]; +else $result = $FaceOfEdgeList[0]; +return $result; +} + + + +global proc string[] faceToVertex(string $theFace) +{ +string $buffer[]; +string $listVtx[] = `polyInfo -fv $theFace`; +tokenize $theFace "." $buffer; +string $ObjectName = $buffer[0]; +int $nbVtx = tokenize($listVtx[0] ,$buffer); +$nbVtx -= 2; +string $listVtxName[]; +for ($i=2;$i - 1; --$i ) +{ +$result[ size($result) ] = $list[$i]; +} +return $result; +} + + + +global proc string[] edge2Face(string $theEdge) +{ +string $buffer[]; +string $listFace[] = `polyInfo -ef $theEdge`; +tokenize $theEdge "." $buffer; +string $ObjectName = $buffer[0]; +int $nbFace = tokenize($listFace[0] ,$buffer); +$nbFace -= 2; +string $listFaceName[]; +for ($i=2;$i 1) +{ +$faces[ size($faces) ] = $face; +} +} + +return $faces; +} + + + + + + + + + + + + +global proc string[] OrderEdges( string $EdgeList[] ) +{ +string $faces[] = edge2Face($EdgeList[0]); +string $NewEdgeList[]; +$NewEdgeList[0] = $EdgeList[0]; + +string $loopFace = $faces[0]; +string $loopEdge = $EdgeList[0]; + +int $i = 1; +int $stop = 0; +int $loop = 0; + +while ( $stop != 1 ){ + +$loopEdge = NextEdgeOnFace( $loopFace, $loopEdge, $EdgeList); +if ( $loopEdge == "" ) { $stop = 1; break;} +$NewEdgeList[$i++] = $loopEdge; +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break;} +if ( $loopEdge == $NewEdgeList[0] ) { $loop = 1; $stop = 1; break;} +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + +} + +if ( size($faces) == 2 ) { +if ( $loop == 0 ) +{ +$loopFace = $faces[1]; +$loopEdge = $EdgeList[0]; +$NewEdgeList = inverseArray($NewEdgeList); +$stop = 0; + +while ( $stop != 1 ) { +$loopEdge = NextEdgeOnFace( $loopFace, $loopEdge, $EdgeList); +if ( $loopEdge == "" ) { $stop = 1; break; } +$NewEdgeList[$i++] = $loopEdge; + +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } + +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); +} +} +} +return $NewEdgeList; +} + +global proc string NextEdgeOnFace( string $Face, string $Edge, string $EdgeList[] ) +{ +string $Result = ""; + +string $Edges[] = ArrayIntersector( face2Edge($Face), $EdgeList ); + +if ( size( $Edges ) == 2 ) { + +if ( $Edges[0] == $Edge ){ $Result = $Edges[1]; +} else { +$Result = $Edges[0]; } +} +return $Result; +} + + +global proc string[] face2Vertex(string $theFace) +{ +string $buffer[]; +string $listVtx[] = `polyInfo -fv $theFace`; +tokenize $theFace "." $buffer; +string $ObjectName = $buffer[0]; +int $nbVtx = tokenize($listVtx[0] ,$buffer); +$nbVtx -= 2; +string $listVtxName[]; +for ($i=2;$i 1) { +int $newCompSize = `size $newComps`; +$newComps[$newCompSize] = $compNum[0] + "[*] "; +} +} +int $result = size($newComps); +return $result; +} + + + +global proc string[] ArrayIntersector(string $array1[] ,string $array2[] ) +{ + string $myIntersector = `stringArrayIntersector`; + stringArrayIntersector -edit -intersect $array1 $myIntersector; + stringArrayIntersector -edit -intersect $array2 $myIntersector; + string $result[] = `stringArrayIntersector -query $myIntersector`; + stringArrayIntersector -edit -reset $myIntersector; + return $result; +} + + +global proc string[] vertex2Edge(string $theVtx) +{ +string $buffer[]; +string $listEdge[]; +string $listEdge[] = `polyInfo -ve $theVtx`; +tokenize $theVtx "." $buffer; +string $ObjectName = $buffer[0]; +int $nbVertex = tokenize($listEdge[0] ,$buffer); +$nbVertex -= 2; +string $listEdgeName[]; +for ($i=2;$i 1 ) + { + $loopFace1 = $Face; + $loopEdge = $Edg[0]; + $loopEdge2 = $Edg[1]; + $Turn = 1; + break; + } +} +////////////////// + + +/// IF NON IS FOUND SELECT A RANDOM EDGE FROM ONE OF THE SELECTED EDGES AND GET A RANDOM FACE FROM THAT EDGE /// +if ( $loopFace1 == "" ) +{ + string $F[] = edge2Face($EdgeList[0]); + $loopFace = $F[0]; + $loopFace2 = $F[1]; + $loopEdge = $EdgeList[0]; + $Turn = 0; +} +///////////////// + + + +/// IF THERE IS 2 LOOP EDGES /// +if ( $Turn == 1 ) { +$loopFace = inverseFacefromEdge( $loopFace1, $loopEdge ); +$loopFace2 = inverseFacefromEdge( $loopFace1, $loopEdge2 ); +} +//////////////// + + + +int $i2 = 1; +$NewEdgeList[0] = $loopEdge; + + +/// START THE LOOP /// +int $stop = 0; +while ( $stop != 1 ) +{ + +string $loopEdgeArray[] = {$loopEdge}; +/// FIND ALL THE EDGES THAT LOOP-FACE HAS EXEPCT FROM ALL IN THE NEW-EDGE-LIST /// +string $Edges[] = subtractStringArray($loopEdgeArray, ArrayIntersector(face2Edge($loopFace), $EdgeList)); +/////////// + +if ( size(subtractStringArray($loopEdgeArray, ArrayIntersector(face2Edge($loopFace), $NewEdgeList))) > 0 ) +{ $stop = 1; break; } + +if ( size( $Edges ) > 1 ) { $stop = 1; break; } + + +/// IF THE NEXT EDGE IS NOT A PART OF THE-EDGE-LIST /// +if ( size( $Edges ) == 0 ) { + + /// IF THE NEW FACE IS QUAD THEN SPLIT TO THE OPPESITE EDGE /// + if ( size(face2Edge($loopFace)) == 4 ) { + $loopEdge = oppositeEdgeOnFace( $loopFace, $loopEdge ); + $NewEdgeList[$i2++] = $loopEdge; + + if ( IsEdgeBorder($loopEdge) ) { + if ($Turn == 0) { + string $NEdgeList[] = Loop($loopFace2, $EdgeList[0], $EdgeList); + return $NEdgeList; + } + $stop = 1; break; + } + + + $loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + + + /// ELSE STOP THE LOOP /// + } else { + $stop = 1; break; + } +} +////////////////////// + + + +/// IF THE NEXT EDGE IS A PART OF THE-EDGE-LIST /// +if ( size( $Edges ) == 1 ) { + + if ( IsEdgeBorder($NewEdgeList[0]) ) { $NewEdgeList[$i2++] = $Edges[0]; $stop = 1; break; } + if ( $Turn == 0 ) { $NewEdgeList[$i2++] = $Edges[0]; + string $NEdgeList[] = Loop2($loopFace2, $EdgeList[0], $EdgeList, $NewEdgeList); + return $NEdgeList; $stop = 1; break; + } + + + string $IFace2 = inverseFacefromEdge($loopFace, $Edges[0]); /// FIND THE NEXT FACE + + + /// GET ALL THE EDGES FROM THE NEXT FACE EXEPCT EDGES FROM THE-EDGE-LIST /// + if ( IsEdgeBorder($Edges[0]) ) { $NewEdgeList[$i2++] = $Edges[0]; $stop = 1; break; } + string $NewEdge[] = subtractStringArray($Edges, ArrayIntersector( face2Edge($IFace2), $EdgeList)); + //////////////// + + + /// IF THERE IS 1 OR MORE EDGES THEN CONTENIUE THE LOOP /// + if ( size($NewEdge) == 1 ) + { + $loopEdge = $NewEdge[0]; + $loopFace = inverseFacefromEdge($IFace2, $NewEdge[0]); + + $NewEdgeList[$i2++] = $Edges[0]; + $NewEdgeList[$i2++] = $loopEdge; + if ( $Edges[0] == $loopEdge2 ) { $stop = 1; $Turn = 0; break; } + if ( $Edges[0] == $NewEdgeList[0] ) { $stop = 1; $Turn = 0; break; } + if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } + + + /// ELSE STOP THE LOOP + } else { + $NewEdgeList[$i2++] = $Edges[0]; + $stop = 1; break; + } +} + +} +/////////////////// + + + + +if ( $Turn == 1 ) +{ + +$NewEdgeList = inverseArray($NewEdgeList); +$stop = 0; +$loopEdge = $loopEdge2; +$loopFace = $loopFace2; +$NewEdgeList[$i2++] = $loopEdge; +while ( $stop != 1 ) +{ + +string $loopEdgeArray[] = {$loopEdge}; +string $Edges[] = subtractStringArray($loopEdgeArray, ArrayIntersector(face2Edge($loopFace), $EdgeList)); + +if ( size(subtractStringArray($loopEdgeArray, ArrayIntersector(face2Edge($loopFace), $NewEdgeList))) > 0 ) +{ $stop = 1; break; } + +if ( size( $Edges ) > 1 ) { $stop = 1; break; } + + +if ( size( $Edges ) == 0 ) { +if ( size(face2Edge($loopFace)) == 4 ) { +$loopEdge = oppositeEdgeOnFace( $loopFace, $loopEdge ); +$NewEdgeList[$i2++] = $loopEdge; +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + +} else { +$stop = 1; break;} +} + + +if ( size( $Edges ) == 1 ) { +string $IFace2 = inverseFacefromEdge($loopFace, $Edges[0]); + +if ( IsEdgeBorder($Edges[0]) ) { $NewEdgeList[$i2++] = $Edges[0]; $stop = 1; break; } + +string $NewEdge[] = subtractStringArray($Edges, ArrayIntersector(face2Edge($IFace2), $EdgeList)); + +if ( size($NewEdge) == 1 ) +{ +$loopEdge = $NewEdge[0]; +$loopFace = inverseFacefromEdge($IFace2, $NewEdge[0]); +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } +$NewEdgeList[$i2++] = $Edges[0]; +$NewEdgeList[$i2++] = $loopEdge; +} else { +$NewEdgeList[$i2++] = $Edges[0]; +$stop = 1; break; +} +} + + + +} + +} + +return $NewEdgeList; +} + + + + + + + +global proc string[] Loop( string $loopFace, string $loopEdge, string $List[] ) +{ +string $EdgeList[]; +int $stop = 0; +int $i = 1; + +$EdgeList[0] = $loopEdge; + +while ( $stop != 1 ) +{ +if (!(isFaceQuad($loopFace))) { $stop = 1; break; } +$loopEdge = oppositeEdgeOnFace( $loopFace, $loopEdge); +$EdgeList[$i++] = $loopEdge; +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; break; } +if ( $loopEdge == $EdgeList[0] ) { $stop = 1; break; } +string $loopEdgeArray[] = {$loopEdge}; +if ( size(ArrayIntersector($loopEdgeArray, $List)) > 0 ) { $stop = 1; break; } + +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + +} +return $EdgeList; +} + + + + + + + + +global proc string[] Loop2( string $loopFace, string $loopEdge, string $List[], string $NewList[] ) +{ +string $EdgeList[]; +int $stop = 0; +int $i = 1; + +$EdgeList[0] = $loopEdge; + +while ( $stop != 1 ) +{ +if (!(isFaceQuad($loopFace))) { $stop = 1; return $NewList; break; } +$loopEdge = oppositeEdgeOnFace( $loopFace, $loopEdge); +$EdgeList[$i++] = $loopEdge; +if ( IsEdgeBorder($loopEdge) ) { $stop = 1; return $NewList; break; } +if ( $loopEdge == $EdgeList[0] ) { $stop = 1; break; } +string $loopEdgeArray[] = {$loopEdge}; +if ( size(ArrayIntersector($loopEdgeArray, $List)) > 0 ) { $stop = 1; break; } + +$loopFace = inverseFacefromEdge( $loopFace, $loopEdge ); + +} + +if ( size($EdgeList) > size($NewList) ) { return $NewList; +} else { +return $EdgeList; } + +} + + + + + + + +global proc string inverseVertexFromEdge(string $Vertex, string $Edge) +{ +string $Verts[] = edge2Vertex($Edge); +if ( $Verts[0] == $Vertex ) { return $Verts[1]; +} else { return $Verts[0]; } +} + + + +global proc string inverseEdgeFromVertex(string $Vertex, string $Edge, string $Face) +{ +string $EdgeArray[] = {$Edge}; +string $Result[] = subtractStringArray( $EdgeArray, ArrayIntersector(face2Edge($Face), vertex2Edge($Vertex)) ); +return $Result[0]; +} + + + +global proc HomepageLink() +{ +string $link = "start explorer \"http://www.maya3d.dk\""; +system($link); +} + + + +global proc Docs() +{ +string $link = "start explorer \"http://www.maya3d.dk/MEL/MJPolyTools/MJPolyTools.htm\""; +system($link); +} + + +global proc Forum() +{ +string $link = "start explorer \"http://www.maya3d.dk/Forum/forum.asp?FORUM_ID=2\""; +system($link); +} + + + + + + + + + +global proc float[] face2Normal(string $theFace) +{ +string $buffer[]; +string $Normal[] = `polyInfo -fn $theFace`; +tokenize($Normal[0] ,$buffer); +float $normalValue[]; +for ($i=2;$i= $numradios) + $nextFountain = 0; + select $listRadios[ $num - 1]; +} + +global proc deleteFountain() +{ + global string $selectedNode; + global string $selectedFountain; + global string $nombreEmitter; + global int $numFountains; + + string $selectedDagNodes[] = `selectedNodes -dagObjects`; + print $selectedDagNodes[0]; + print "\n"; +// if ( `nodeType $selectedDagNodes[0]` != "|nurbsCircle" ) +// return; + + $selectedFountain = getFountainNodeCorrespongingToCircle( $selectedDagNodes[0] ); + print $selectedFountain; + print "\n"; + if( $selectedFountain == "") + return; + + delete $selectedFountain; + delete $selectedNode; + +// string $listRadios[] = `listConnections -t "transform" $nombreEmitter`; +// int $numradios = size( $listRadios); +// if( $numradios > 0) +// select $listRadios[0]; +// else +// select -r $nombreEmitter; + + $numFountains = $numFountains - 1; + ActualizaTablaSources(); +} + +global proc ActualizaTablaSources() +{ + global int $numFountains; + global string $tablaFountain; + + scriptTable -edit -rows $numFountains $tablaFountain; + scriptTable -edit -clearTable $tablaFountain; +} + + +global proc string getFountain() +{ + global string $nombreEmitter; + global int $nextFountain; + string $listConnections[] = `listConnections -t "sourceGlu" $nombreEmitter`; + if( $nextFountain >= size( $listConnections)) + $nextFountain = 0; + if(size($listConnections)) + return $listConnections[ $nextFountain]; + else + return ""; +} + +global proc string getFountainNodeCorrespongingToCircle( string $circleNode ) +{ + global string $nombreEmitter; + string $listConnections[] = `listConnections -t "transform" $nombreEmitter`; + string $listados[] = `listConnections -t "sourceGlu" $nombreEmitter`; + string $result = ""; + + int $i = size( $listConnections); + for( $i = 0; $i < size( $listConnections); $i++) + { + string $match = match( $listConnections[$i], $circleNode); + + if( $match != "") + $result = $listados[$i]; + } + return $result; +} +global proc string recortaValue( string $value) +{ + string $array[]; + string $cola; + tokenize $value "." $array; + $cola = $array[1]; + $sizeCola = size( $cola); + if( $sizeCola > 4) + { + $cola = `substring $array[1] 1 4`; + $value = ( $array[0] + "." + $cola); + } + else + $value = ( $array[0] + ".0000"); + + return $value; +} + +global proc string getTableValue( int $row, int $column) +{ + global string $nombreEmitter; + global string $tablaFountain; + string $listConnections[] = `listConnections -t "sourceGlu" $nombreEmitter`; + string $value; + string $result; + + if( $column == 1) + return $listConnections[$row - 1]; + if( $column == 2) + $result = string(`getAttr ($listConnections[$row - 1]+ ".radius")`); + + if( $column == 3) + $result = string(`getAttr ($listConnections[$row - 1]+ ".speed")`); + if( $column == 4) + { + $emitState = `getAttr ($listConnections[$row - 1]+ ".stopEmitting")`; + if( $emitState == 1) + return "0"; + else + return "1"; + } + if( $column == 5) + $result = string(`getAttr ($listConnections[$row - 1] + ".thickness")`); + if( $column == 6) + $result = string(`getAttr ($listConnections[$row - 1] + ".simulationLOD")`); + if( $column == 7) + return string(`getAttr ($listConnections[$row - 1] + ".startAtFrame")`); + if( $column == 8) + return string(`getAttr ($listConnections[$row - 1] + ".stopAtFrame")`); + + return recortaValue( $result); +} + + + +global proc int setTableValue( int $row, int $column, string $value) +{ + global string $nombreEmitter; + string $listConnections[] = `listConnections -t "sourceGlu" $nombreEmitter`; + global string $tablaFountain; + + select -add $listConnections[$row - 1]; + + selectNextFountain( $row); + + if( $column == 1) + return true; + if( $column == 2) + { + float $radiusValue = $value; + string $cadena = `setAttr ($listConnections[$row - 1] + ".radius") $radiusValue`; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + if( $column == 3 ) + { + float $speedValue = $value; + setAttr ($listConnections[$row - 1] + ".speed") $speedValue; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + if( $column == 4 ) + { + float $stopEmittingValue = $value; + if( $value == 0) + $stopEmittingValue = 1; + else + $stopEmittingValue = 0; + setAttr ($listConnections[$row - 1] + ".stopEmitting") $stopEmittingValue; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + if( $column == 5) + { + float $falue = $value; + string $cadena = `setAttr ($listConnections[$row - 1] + ".thickness") $falue`; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + if( $column == 6) + { + float $falue = $value; + string $cadena = `setAttr ($listConnections[$row - 1] + ".simulationLOD") $falue`; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + if( $column == 7) + { + float $falue = $value; + string $cadena = `setAttr ($listConnections[$row - 1] + ".startAtFrame") $falue`; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + if( $column == 8) + { + float $falue = $value; + string $cadena = `setAttr ($listConnections[$row - 1] + ".stopAtFrame") $falue`; + scriptTable -edit -clearTable $tablaFountain; + return true; + } + + return false; +} + + +global proc CreaEmitter() +{ + global string $nombreEmitter; + global string $nombreParticles[]; + global string $nombreShape; + global string $sliderAccuracy; + global string $sliderThickness; + global int $numFountains; + + $numFountains = 0; + $nombreEmitter = `createNode GluEmitter -name GluEmitter`; + $nombreParticles = `particle`; + select -r $nombreEmitter; + + connectDynamic -em $nombreEmitter $nombreParticles[0]; + setAttr ($nombreParticles[0] + "|" + $nombreParticles[1] + ".emissionInWorld") off; + setAttr ($nombreParticles[0] + "|" + $nombreParticles[1] + ".dynamicsWeight") 0.0; + setAttr ($nombreParticles[0] + "|" + $nombreParticles[1] + ".lifespanMode") 3; + + select -r $nombreParticles[0]; + string $gravity[] = `gravity -pos 0 0 0 -m 9.8 -att 0 -dx 0 -dy -1 -dz 0 -mxd -1 -vsh none -vex 0 -vof 0 0 0 -vsw 360 -tsr 0.5`; + connectDynamic -f $gravity[0] $nombreParticles[0]; + + if( `upAxis -q -axis` == "z") + gravity -e -dx 0 -dy 0 -dz -1 $gravity[0]; + + + string $nombreMesh= `createNode transform -n GluSurface`; + $nombreShape= `createNode mesh -p $nombreMesh -n GluPolySurfaceShape`; + setAttr ( $nombreShape + ".backfaceCulling") 3; + sets -add initialShadingGroup $nombreShape; + connectAttr time1.outTime ($nombreEmitter + ".time"); + connectAttr ($nombreEmitter + ".polysurface") ($nombreShape + ".inMesh"); + + connectAttr ($nombreParticles[1] + ".force") ( $nombreEmitter + ".forces"); + connectAttr ($nombreParticles[1] + ".maxCount") ( $nombreEmitter + ".numMaxParticles"); +} + +global proc CreateBowlInScene() +{ + if( `upAxis -q -axis` == "z") + { + polySphere -r 10.0656 -sx 8 -sy 8 -ax 0 0 1 -tx 1 -ch 1; + select -r pSphere1.f[24:47] pSphere1.f[56:63] ; + delete; + } + else + { + polySphere -r 10.0656 -sx 8 -sy 8 -ax 0 1 0 -tx 1 -ch 1; + select -r pSphere1.f[24:47] pSphere1.f[56:63] ; + delete; + } +} + +global proc string buscaEmitter() +{ + string $allObjects[]; + string $obj; + $allObjects = `ls -l`; + for ( $obj in $allObjects ) { + if ( `nodeType $obj` == "GluEmitter" ) { + return $obj; + } + } + return ""; +} + +global proc shelfButtonPressed() +{ + string $emitter = buscaEmitter(); + global string $nostring; + int $result; + string $answer = "Yes"; + global int $firstTimeCreatedGluEmitter; + + $nostring = ""; + $result = EditGlu( $emitter); + if ( $result == 0) + { + //if( $firstTimeCreatedGluEmitter == false) + { + if( `objExists $emitter`) + { + $answer =`confirmDialog -title "glu3D" -message "Only a single glu3D instance is allowed per scene." + -button "OK" -defaultButton "OK" + -cancelButton "OK" -dismissString "OK"`; + if ( $answer == "OK") + { + //warning "To edit an existing glu3D emitter, select it before pushing glu3D shelf button."; + return; + } + } + } + mainGlu( 9.8, 1100, $nostring, $nostring); + } +} + +global proc glu() +{ + global string $nostring; + global string $gluShelfButton; + global string $menuGlu; + int $i = 0; + int $found = 0; + string $anotationShelfButton = "Creates a new Glu Emitter or edit an existing one ( select it before pushing shelf button)."; + string $anotation; + + $nostring = ""; + + if ( !`pluginInfo -query -loaded glu` ) + { + loadPlugin "glu"; + loadPlugin "sourceGlu"; + } + + if (!`menu -exists Glu3DMenu`) + { + menu -l "glu3D" -p "MayaWindow" Glu3DMenu; + $menuGlu = `menuItem -l "Open glu3D Control Panel" -c "shelfButtonPressed" -p Glu3DMenu GluMenuItem`; + setParent -menu ..; + } +} + + +global proc string CreaFountain() +{ + global string $nombreEmitter; + global string $nombreParticles[]; + global string $tablaFountain; + string $nombreCircle[]; + global int $numFountains; + + float $pi = 3.141592; + float $delta = 2.0 * 2.0 * $pi / 11.0; + + float $coordx = -5.5 * cos( $numFountains * $delta); + float $coordy = -5.5 * sin( $numFountains * $delta); + $delta = $numFountains * $delta * 180.0 / 3.141592; + + if( `upAxis -q -axis` == "z") + { + $nombreCircle= `circle -c 0 0 0 -nr 1 0 1`; + move -r $coordx $coordy 0.3; + rotate -r 0 0 $delta; + } + else + { + $nombreCircle= `circle -c 0 0 0 -nr 1 1 0`; + move -r $coordx 0.3 $coordy; + $delta = - $delta; + rotate -r 0 $delta 0; + } + + select -add -r $nombreEmitter $nombreCircle; + string $nombreFountain = `createNode sourceGlu -name sourceGlu`; + connectAttr ($nombreFountain + ".radius") ($nombreCircle[1] + ".radius"); + connectAttr -na ($nombreFountain + ".radius") ($nombreEmitter + ".radius"); + setAttr ($nombreFountain + ".speed") 4; + connectAttr time1.outTime ($nombreFountain + ".time"); + connectAttr ($nombreEmitter + ".scaleFactor") ($nombreFountain + ".scaleFactor"); + + connectAttr -na ($nombreFountain + ".speed") ($nombreEmitter + ".velocidad"); + connectAttr -na ($nombreFountain + ".simulationLOD") ($nombreEmitter + ".simulationLOD"); + connectAttr -na ($nombreFountain + ".thickness") ($nombreEmitter + ".thickness"); + connectAttr -na ($nombreFountain + ".startAtFrame") ($nombreEmitter + ".startAtFrame"); + connectAttr -na ($nombreFountain + ".stopAtFrame") ($nombreEmitter + ".stopAtFrame"); + connectAttr -na ($nombreFountain + ".stopEmitting") ($nombreEmitter + ".stopEmitting"); + connectAttr -na ($nombreFountain + ".lifespan") ($nombreEmitter + ".lifespan"); + connectAttr -na ($nombreCircle[0] + ".translate") ($nombreEmitter + ".emitterLocation"); + connectAttr -na ($nombreCircle[1] + ".normal") ($nombreEmitter + ".emitterDirection"); + connectAttr -na ($nombreCircle[0] + ".worldMatrix") ($nombreEmitter + ".transfMatrix"); + connectAttr -na ($nombreFountain + ".filledPositionsOutput") ($nombreEmitter + ".filledPositionsInput"); + + select -r $nombreCircle; + + int $result = `scriptTable -exists $tablaFountain`; + + $numFountains = $numFountains + 1; + if( $result == true ) + { + scriptTable -edit -rows $numFountains $tablaFountain; + scriptTable -edit -clearTable $tablaFountain; + } + + return $nombreCircle[0]; + +} + +global proc string getSelectedGluEmitter() +{ + string $dagnodes[] = `selectedNodes -dagObjects`; + string $tipo = "|nurbsCircle"; + string $selectedNode = ""; + string $result; + int $j = 0; + int $comp; + int $alguno = 0; + global string $nombreEmitter; + + //$nombreEmitter = ""; + while( $j < size($dagnodes))// && $nombreEmitter == "") + { + $result = match( $tipo, $dagnodes[$j]); + $comp = `strcmp $result $tipo`; + if( $comp == 0) + { + string $listados[] = `listConnections -t "GluEmitter" $dagnodes[$j]`; + //$nombreEmitter = $listados[0]; + $selectedNode = $dagnodes[$j]; + break; + } + $j ++; + } + + if( $nombreEmitter == "") + { + $j = 0; + while( $j < size($dagnodes))// && $nombreEmitter == "") + { + $result = match( "GluEmitter", $dagnodes[$j]); + $comp = `strcmp $result "GluEmitter"`; + if( $comp == 0) + { + string $listados[] = `listConnections -t "transform" $dagnodes[$j]`; + //$nombreEmitter = $dagnodes[$j]; + if( size( $listados) > 0 ) + $selectedNode = $listados[0]; + break; + } + $j ++; + } + } + + return $selectedNode; +} + + +global proc int EditGlu(string $emitter) +{ + global int $openPanelIfSelected; + global string $nameMainWindow; + global int $selectedTab; + global string $tabs; + global string $nombreEmitter; + float $gravity; + float $resolution; + float $density; + string $selectedNode; + + $selectedNode = $emitter; + if( $selectedNode != "") + { + $gravity = `getAttr ($nombreEmitter + ".gravity")`; + $density = `getAttr ($nombreEmitter + ".density")`; + } + + if( `window -exists $nameMainWindow`) + { + $selectedTab = `tabLayout -q -sti $tabs`; + deleteUI $nameMainWindow; + } + + { + mainGlu( $gravity, $density, $nombreEmitter, $selectedNode); + return 1; + } +} + +global proc REPlay() +{ + global string $nombreEmitter; + global string $buttonPLAY; + + $start = `playbackOptions -q -minTime`; + currentTime $start; + play; +} + + +global proc Recalculate() +{ + global string $nombreEmitter; + + int $respuesta = Asegurate(); + if( $respuesta == 0) + return; + + $start = `playbackOptions -q -minTime`; + setAttr( $nombreEmitter + ".recalculate" ) true; + currentTime $start; +} + +global proc renderRange( int $start, int $end) +{ + for( $i = $start; $i < $end; $i++) + { + currentTime $i; + render; + } + print "Render completed"; +} + +global proc ComputeGlu() +{ + global string $nombreEmitter; + + setAttr ($nombreEmitter + ".isSolverWorking") true; + $start = `getAttr ($nombreEmitter + ".lastComputedFrame")`; + $end = `playbackOptions -q -maxTime`; + $totalFrames = $end - $start; + + int $amount = 0; + progressWindow + -title "Solving glu3D scene..." + -progress $amount + -status "Percentage done: 0%" + -isInterruptable true; + currentTime $start; + + $i = 0; + while ( $start != $end) { + // Check if the dialog has been cancelled + if ( `progressWindow -query -isCancelled` ) break; + + // Check if end condition has been reached + // if ( `progressWindow -query -progress` >= 100 ) break; + + $start++; + currentTime $start; + $amount = 100 * ( $start / $totalFrames ) ; + + $start = `getAttr ($nombreEmitter + ".lastComputedFrame")`; + progressWindow -edit + -progress $amount + -status ("Percentage done: "+$amount+"%"); + } + + progressWindow -endProgress; + + setAttr ($nombreEmitter + ".isSolverWorking") false; +} + +global proc HoldTime() +{ + global string $nombreEmitter; + + setAttr ($nombreEmitter + ".isSolverWorking") true; + $start = `getAttr ($nombreEmitter + ".lastComputedFrame")`; + $end = `playbackOptions -q -maxTime`; + $totalFrames = $end - $start; + + int $amount = 0; + progressWindow + -title "Solving glu3D scene..." + -progress $amount + -status "Percentage done: 0%" + -isInterruptable true; + currentTime $start; + + $i = 0; + while ( $i != $totalFrames) { + // Check if the dialog has been cancelled + if ( `progressWindow -query -isCancelled` ) break; + + // Check if end condition has been reached + if ( `progressWindow -query -progress` >= 100 ) break; + + //$start++; + setAttr ($nombreEmitter + ".relaxing") true; + currentTime $start; + $i += 1; + + $amount = 100 * ( $i / $totalFrames ) ; + + progressWindow -edit + -progress $amount + -status ("Percentage done: "+$amount+"%"); + + } + + progressWindow -endProgress; + setAttr ($nombreEmitter + ".relaxing") false; + setAttr ($nombreEmitter + ".isSolverWorking") false; +} + +global proc BuildMesh() +{ + global string $nombreEmitter; + + $start = `playbackOptions -q -minTime`; + $end = `getAttr ($nombreEmitter + ".lastComputedFrame")`; + $totalFrames = $end - $start; + + int $amount = 0; + progressWindow + -title "Solving glu3D scene..." + -progress $amount + -status "Percentage done: 0%" + -isInterruptable true; + currentTime $start; + + $i = 0; + while ( $i != $totalFrames) { + // Check if the dialog has been cancelled + if ( `progressWindow -query -isCancelled` ) break; + + // Check if end condition has been reached + if ( `progressWindow -query -progress` >= 100 ) break; + + $start++; + currentTime $start; + $i += 1; + $amount = 100 * ( $i / $totalFrames ) ; + + progressWindow -edit + -progress $amount + -status ("Percentage done: "+$amount+"%"); + } + progressWindow -endProgress; +} + +global proc ShowMesh() +{ + global string $nombreEmitter; + setAttr( $nombreEmitter + ".withMesh" ) true; +} + +global proc FlushMeshCache() +{ + global string $nombreEmitter; + int $respuesta = Asegurate(); + if( $respuesta == 0) + return; + + setAttr( $nombreEmitter + ".flushMesh" ) true; +// BuildMesh(); +} + +global proc string perObjectGetValue(int $fila, int $columna) +{ + string $result; + string $nombreObj; + string $array[]; + global string $nombreEmitter; + global string $tablaObstacles; + $numObjs = `getAttr -s ($nombreEmitter + ".objectList")`; + if( $fila > $numObjs) + return ""; + + int $contObjs = 0; + int $i; + int $collideValue; + + for( $i = 0; $i < $numObjs; $i++) + { + $collideValue = getAttr ( $nombreEmitter + ".collisionList[" + $i + "]"); + if( $collideValue != 0) + $contObjs ++; + if( $fila == $contObjs) + break; + } + + if( $columna == 1) + { + $nombreObj = `getAttr ($nombreEmitter + ".objectList[" + $i + "]")`; + tokenize $nombreObj "|" $array; + return $array[1]; + } + if( $columna == 2) + return string(`getAttr ($nombreEmitter + ".collisionList[" + $i + "]")`); + if( $columna == 3) + $result = `getAttr ($nombreEmitter + ".frictionList[" + $i + "]")`; + if( $columna == 4) + $result = `getAttr ($nombreEmitter + ".adherenceList[" + $i + "]")`; + if( $columna == 5) + $result = `getAttr ($nombreEmitter + ".bounceList[" + $i + "]")`; + if( $columna == 6) + $result = `getAttr ($nombreEmitter + ".gapList[" + $i + "]")`; + if( $columna == 7) + return string( `getAttr ($nombreEmitter + ".kilL[" + $i + "]")`); + + return ( recortaValue( $result)); +} + + +global proc ActualizaTablaObjects() +{ + global string $nombreEmitter; + global string $tablaObstacles; + $numObjs = `getAttr -s ($nombreEmitter + ".objectList")`; + int $collideValue; + int $contObjs = 0; + int $i; + + for( $i = 0; $i < $numObjs; $i++) + { + $collideValue = getAttr ( $nombreEmitter + ".collisionList[" + $i + "]"); + if( $collideValue != 0) + $contObjs ++; + } + + scriptTable -edit -rows $contObjs $tablaObstacles; + scriptTable -edit -clearTable $tablaObstacles; +} + +global proc int perObjectSetValue(int $fila, int $columna, string $value) +{ + global string $nombreEmitter; + global string $tablaObstacles; + $numObjs = `getAttr -s ($nombreEmitter + ".objectList")`; + if( $fila > $numObjs) + return false; + + int $contObjs = 0; + int $i; + int $collideValue; + + for( $i = 0; $i < $numObjs; $i++) + { + $collideValue = getAttr ( $nombreEmitter + ".collisionList[" + $i + "]"); + if( $collideValue != 0) + $contObjs ++; + if( $fila == $contObjs) + break; + } + + string $result; + + if( $columna == 1) + return true; + + if( $columna == 2) + { + int $collideValue = $value; + setAttr ($nombreEmitter + ".collisionList[" + $i + "]") $collideValue; + ActualizaTablaObjects(); + return true; + } + + + if( $columna == 3) + { + float $frictionListValue = $value; + if( $frictionListValue > 100.0) + $frictionListValue = 100.0; + if( $frictionListValue < 0.0) + $frictionListValue = 0.0; + setAttr ($nombreEmitter + ".frictionList[" + $i + "]") $frictionListValue; + ActualizaTablaObjects(); + return true; + } + + if( $columna == 4) + { + float $adherenceListValue = $value; + if( $adherenceListValue > 1.0) + $adherenceListValue = 1.0; + if( $adherenceListValue < 0.0) + $adherenceListValue = 0.0; + setAttr ($nombreEmitter + ".adherenceList[" + $i + "]") $adherenceListValue; + ActualizaTablaObjects(); + return true; + } + + if( $columna == 5) + { + float $bounceListValue = $value; + if( $bounceListValue > 100.0) + $bounceListValue = 100.0; + if( $bounceListValue < 0.0) + $bounceListValue = 0.0; + setAttr ($nombreEmitter + ".bounceList[" + $i + "]") $bounceListValue; + ActualizaTablaObjects(); + return true; + } + + if( $columna == 6) + { + float $gapListValue = $value; + if( $gapListValue > 5.0) + $gapListValue = 5.0; + if( $gapListValue < 0.001) + $gapListValue = 0.001; + + setAttr ($nombreEmitter + ".gapList[" + $i + "]") $gapListValue; + ActualizaTablaObjects(); + return true; + } + + if( $columna == 7) + { + int $killerValue = $value; + setAttr ($nombreEmitter + ".kilL[" + $i + "]") $killerValue; + ActualizaTablaObjects(); + return true; + } + + return false; +} + + + +glu; +global int $counter = 0; +global int $veces = 0; + + diff --git a/2009-x64/GameProd/scripts/lightBox.mel b/2009-x64/GameProd/scripts/lightBox.mel new file mode 100644 index 0000000..60a9f2e --- /dev/null +++ b/2009-x64/GameProd/scripts/lightBox.mel @@ -0,0 +1,149 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: lightBox.mel v1.1 +'' Author: Kang, Sung-Uk +'' Last Updated: March 19, 2001 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=rendering#936 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +/* lightBox.mel v1.1 + + MEL script for Maya + + by Kang, Sung-Uk + mayan@naver.com + http://myhom.naver.com/mayan + + studio PRISM + Seoul, South Korea + http://www.studioprism.co.kr + + Last update : 6 Mar 2001 +*/ + +global proc lightBox() +{ +if ((`window -ex lightBoxWin`) == true) deleteUI lightBoxWin; +window -title "Light Box v1.1" -widthHeight 169 223 -sizeable false lightBoxWin; + +columnLayout -adj true; + +gridLayout -numberOfColumns 5 -cellWidthHeight 32 32; + +iconTextButton -ann "Create Ambient Light" +-l "Ambient Light" -i1 "ambientlight.xpm" -st "iconOnly" +-c "defaultAmbientLight(1, 0.45, 1,1,1, \"0\", 0,0,0, \"1\");"; + +iconTextButton -ann "Create Directional Light" +-l "Directional Light" -i1 "directionallight.xpm" -st "iconOnly" +-c "defaultDirectionalLight(1, 1,1,1, \"0\", 0,0,0);"; + +iconTextButton -ann "Create Point Light" +-l "Point Light" -i1 "pointlight.xpm" -st "iconOnly" +-c "defaultPointLight(1, 1,1,1, 0, 0, 0,0,0, 1);"; + +iconTextButton -ann "Create Spot Light" +-l "Spot Light" -i1 "spotlight.xpm" -st "iconOnly" +-c "defaultSpotLight(1, 1,1,1, 0, 40, 0, 0, 0, 0,0,0, 1);"; + +iconTextButton -ann "Create Area Light" +-l "Area Light" -i1 "arealight.xpm" -st "iconOnly" +-c "defaultAreaLight(1, 1,1,1, 0, 0, 0,0,0, 1);"; + +setParent..; +setParent..; + +button -label "Decay Intensity" -command "decayLight"; +button -label "Decay Dmap Shadow" -command "decayShadow"; +button -label "Shadow Only Light" -command "shadowOnlyLight"; +text " "; +button -label "Graph Editor" -command "openGraphEditor"; +button -label "Relationship Editor" -command "openRelationshipEditor"; +text " "; + +button -label "Close" -command "deleteUI lightBoxWin;"; + +showWindow; +} + +global proc decayLight() +{ +string $sel[] = `ls -dag -s -sl`; +setKeyframe -at "intensity" -f 0 -v 1; +setKeyframe -at "intensity" -f 10 -v 0; +string $inf = `shadingNode -asUtility lightInfo`; +connectAttr -f ($sel[0] + ".worldMatrix[0]") ($inf + ".worldMatrix"); +connectAttr -f ($inf + ".sampleDistance") ($sel[0] + "_intensity.input"); +select -r $sel[0]; +} + +global proc decayShadow() +{ +string $sel[] = `ls -dag -s -sl`; +string $useDmap = $sel[0] + ".useDepthMapShadows"; +setAttr $useDmap 1; +setKeyframe -at "dmapFilterSize" -f 0 -v 1; +setKeyframe -at "dmapFilterSize" -f 10 -v 10; +string $inf = `shadingNode -asUtility lightInfo`; +connectAttr -f ($sel[0] + ".worldMatrix[0]") ($inf + ".worldMatrix"); +connectAttr -f ($inf + ".sampleDistance") ($sel[0] + "_dmapFilterSize.input"); +select -r $sel[0]; +} + +global proc shadowOnlyLight() +{ +string $pos[] = `ls -sl`; +string $posShape[] = `ls -dag -s -sl`; +string $positive = $pos[0]; +string $positiveShape = $posShape[0]; + +duplicate -rr; +string $neg[] = `ls -sl`; +string $negShape[] = `ls -dag -s -sl`; +string $negative = $neg[0]; +string $negativeShape = $negShape[0]; + +connectAttr -f ($positiveShape + ".color") ($negativeShape + ".color"); +connectAttr -f ($positiveShape + ".coneAngle") ($negativeShape + ".coneAngle"); +connectAttr -f ($positiveShape + ".penumbraAngle") ($negativeShape + ".penumbraAngle"); +connectAttr -f ($positiveShape + ".dropoff") ($negativeShape + ".dropoff"); +connectAttr -f ($positiveShape + ".barnDoors") ($negativeShape + ".barnDoors"); +connectAttr -f ($positiveShape + ".leftBarnDoor") ($negativeShape + ".leftBarnDoor"); +connectAttr -f ($positiveShape + ".rightBarnDoor") ($negativeShape + ".rightBarnDoor"); +connectAttr -f ($positiveShape + ".topBarnDoor") ($negativeShape + ".topBarnDoor"); +connectAttr -f ($positiveShape + ".bottomBarnDoor") ($negativeShape + ".bottomBarnDoor"); +connectAttr -f ($positiveShape + ".useDecayRegions") ($negativeShape + ".useDecayRegions"); +connectAttr -f ($positiveShape + ".startDistance1") ($negativeShape + ".startDistance1"); +connectAttr -f ($positiveShape + ".endDistance1") ($negativeShape + ".endDistance1"); +connectAttr -f ($positiveShape + ".startDistance2") ($negativeShape + ".startDistance2"); +connectAttr -f ($positiveShape + ".endDistance2") ($negativeShape + ".endDistance2"); +connectAttr -f ($positiveShape + ".startDistance3") ($negativeShape + ".startDistance3"); +connectAttr -f ($positiveShape + ".endDistance3") ($negativeShape + ".endDistance3"); + +expression -s ($negativeShape + ".intensity = -" + $positiveShape + ".intensity;"); + +setAttr ($positiveShape + ".useDepthMapShadows") 1; +select -add $positive; +parent; +setAttr ($negativeShape + ".overrideEnabled") 1; +setAttr ($negativeShape + ".overrideDisplayType") 2; +select -r $positive; +ToggleSelectionHandles; +} + +global proc openGraphEditor() +{ + tearOffPanel "Graph Editor" "graphEditor" true; +} + +global proc openRelationshipEditor() +{ + LightCentricLightLinkingEditor; +} \ No newline at end of file diff --git a/2009-x64/GameProd/scripts/massUVTransfer.mel b/2009-x64/GameProd/scripts/massUVTransfer.mel new file mode 100644 index 0000000..85d3af5 --- /dev/null +++ b/2009-x64/GameProd/scripts/massUVTransfer.mel @@ -0,0 +1,109 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: massUVTransfer v1.0 +'' Author: Edvard Toth +'' Last Updated: June 16, 2003 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=rendering#2376 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +//============================== +// massUVTransfer v1.0 (06/2003) +// by Edvard Toth +// +// The script is freeware. Non-commercial redistribution is permitted as long as this header remains included and unmodified. +// Your feedback is always appreciated - if you find the script useful or if you have questions, comments, suggestions, +// requests, bug-reports, if you created an updated version, or to check for updates please contact me at: +// +// contact@edvardtoth.com +// http://www.edvardtoth.com +// +//============================== +// INSTALLATION: Copy the script into your Maya script-directory and start it with the massUVTransfer; command. +// +// COMPATIBILITY NOTE: Tested only with Maya4.0 +// +// DESCRIPTION: +// The script transfers the UV coordinates of a specified object to any number of other objects of identical topology in one pass, +// eliminating the need to select individual object-pairs for the transfer. +// + +global proc massUVTransfer() + +{ + + global string $MUVwin = "massUVTransfer"; + global string $MUV_theobject; + + if (`window -ex $MUVwin`) + { + deleteUI $MUVwin; + } + + window -t "massUVTransfer" -rtf 1 -w 100 -h 100 -s 1 -mnb 1 -mxb 0 $MUVwin; + + columnLayout -w 100 -columnWidth 100 -adjustableColumn false -cal "center" -rowSpacing 10 -cat "left" 10 MainColumn; + + button -w 100 -label "Specify Object" -command "MUV_specify()" -annotation "Specifies an object to transfer UVs from."; + + text -w 100 -al "center" -fn "smallBoldLabelFont" -l ($MUV_theobject) -annotation "This is the object currently specified to transfer UVs from."; + + button -w 100 -label "Transfer UVs" -command "MUV_transfer()" -annotation "Transfers the UVs of the specified object to any number of selected objects."; + + showWindow; +} + + +// *** SPECIFY ORIGIN-OBJECT + +global proc MUV_specify() + +{ + string $MUV_original[] = `ls -sl -tr`; + + if ( size ($MUV_original[0]) == 0 ) + { + confirmDialog -t "Oops..." -m "Specify an object to transfer UVs from." -b Continue; + return; + } + + global string $MUV_theobject; + + $MUV_theobject = $MUV_original[0]; + + massUVTransfer; +} + + +// *** TRANSFER UVs + +global proc MUV_transfer() + +{ + + global string $MUV_theobject; + string $MUV_selection[] = `ls -sl -tr`; + + int $MUV_objectnum; + + $MUV_objectnum = size ($MUV_selection); + + + if ( size ($MUV_selection[0]) == 0 ) + { + confirmDialog -t "Oops..." -m "Select objects to transfer UVs to." -b Continue; + return; + } + + + for ($i = 0; $i < $MUV_objectnum; $i++) + { + polyTransfer -vc 0 -uv 1 -v 0 -ao $MUV_theobject $MUV_selection[$i]; + } +} diff --git a/2009-x64/GameProd/scripts/saveAllRenderViewImages.mel b/2009-x64/GameProd/scripts/saveAllRenderViewImages.mel new file mode 100644 index 0000000..dbe846b --- /dev/null +++ b/2009-x64/GameProd/scripts/saveAllRenderViewImages.mel @@ -0,0 +1,74 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: saveAllRenderViewImages.mel v1.0 +'' Author: Andrew Chapman +'' Last Updated: January 28, 2003 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=rendering#2124 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +// +// Written by Andrew Chapman - July 2002 - chapman@technolumiere.com +// Cleaned up for publishing - Jan 2003 +// +// This script saves out all the images in Maya's Render View window as an image +// sequence. This is handy for when you've been doing a long session of look development +// work and you want to keep the progression of images (for that next 'Making Of' tape!) +// +// Images are saved out using the format and naming scheme currently specified in Maya's +// render globals. Images are written to the images directory of the current project with +// the name renderView.N.ext. The images are numbered from 1 (oldest) to N (newest). +// +// Maya will warn you about overwriting each existing image - so delete the existing sequence +// first if this is causing you grief. + + +global proc saveAllRenderViewImages() +{ + // first find the render view controls + string $renderViewPanels[] = `getPanel -scriptType "renderWindowPanel"`; + if (size($renderViewPanels) < 1) { error "Render View window not found"; } + string $renderViewForm = `renderWindowEditor -query -parent $renderViewPanels[0]`; + if ($renderViewForm == "") { error "Render View window not found"; } + string $scrollBarName = `match ".*|" $renderViewForm` + "scrollBarForm|scrollBar"; + + // work out where to save the image files to + string $ws = `workspace -q -fullName`; + string $imagesDir = `workspace -q -renderTypeEntry "images"`; + string $imagesDir = $ws + "/" + $imagesDir; + + // find out which of the render view images we're currently looking at + // so we can set it back after stepping through them + int $currentIndex = `intScrollBar -q -value $scrollBarName`; + + // now step through all the saved images in the render view window, saving each one out + //int $maxImageIndex = `intScrollBar -query -maxValue $scrollBarName`; + int $maxImageIndex = `renderWindowEditor -q -nbImages renderView` + 1; + int $imagesWritten = 0; + for($i=0; $i<$maxImageIndex; $i++) { + if ($maxImageIndex != 1) { // if only one image then there will be no scroll bar yet + intScrollBar -e -value ($i - 1) $scrollBarName; + } + renderWindowScrollDisplayImage renderView; + renderWindowSaveImageCallback "renderView" ($imagesDir + "/renderView." + ($maxImageIndex - $i)) ""; + ++$imagesWritten; + } + + // reset the current render view back to what it was before stepping through them + intScrollBar -e -value $currentIndex $scrollBarName; + renderWindowScrollDisplayImage renderView; + + if ($imagesWritten == 0) { + print("Error saving: render view contains no images\n"); + } else if ($imagesWritten == 1) { + print("Save complete: 1 render view image written\n"); + } else { + print("Save complete: " + $imagesWritten + " render view images written\n"); + } +} diff --git a/2009-x64/GameProd/scripts/skin1.ma b/2009-x64/GameProd/scripts/skin1.ma new file mode 100644 index 0000000..1e2c59b --- /dev/null +++ b/2009-x64/GameProd/scripts/skin1.ma @@ -0,0 +1,239 @@ +//Maya ASCII 5.0 scene +//Name: skin1.1.ma +//Last modified: Fri, Jun 25, 2004 06:16:33 PM +requires maya "5.0"; +currentUnit -l centimeter -a degree -t film; +fileInfo "application" "maya"; +fileInfo "product" "Maya Unlimited 5.0"; +fileInfo "version" "5.0.1"; +fileInfo "cutIdentifier" "200309220008"; +fileInfo "osv" "Microsoft Windows XP Service Pack 1 (Build 2600)\n"; +createNode blinn -n "skinHighlights"; + setAttr ".dc" 0.80342000722885132; + setAttr ".c" -type "float3" 0 0 0 ; + setAttr ".it" -type "float3" 1 1 1 ; + setAttr ".rfl" 0; + setAttr ".ec" 0.44442000985145569; +createNode multiplyDivide -n "multiplyDivide3"; + setAttr ".i2" -type "float3" 0.40000001 0.5 0.60000002 ; +createNode file -n "specularMapFile"; + addAttr -ci true -sn "nts" -ln "notes" -dt "string"; + setAttr ".cg" -type "float3" 0.49599999 0.63871604 1 ; + setAttr ".nts" -type "string" ( + "Color Gain has been tinted blue to counteract the tendency of yellow highlights on the skin. Specular highlights should appear white."); +createNode place2dTexture -n "place2dTexture25"; +createNode luminance -n "luminance1"; +createNode contrast -n "contrast2"; + setAttr ".c" -type "float3" 0.5 0.5 0.5 ; + setAttr ".b" -type "float3" 0.60000002 0.60000002 0.60000002 ; +createNode bump2d -n "skinBump"; + setAttr ".bd" 0.05000000074505806; + setAttr ".vt1" -type "float2" 0 9.9999997e-006 ; + setAttr ".vt2" -type "float2" 9.9999997e-006 9.9999997e-006 ; + setAttr ".vc2" -type "float3" 9.9999997e-006 9.9999997e-006 0 ; +createNode file -n "bumpMapFile"; + setAttr ".ail" yes; +createNode place2dTexture -n "place2dTexture26"; +createNode blinn -n "skinShader"; + addAttr -ci true -sn "rC_softness_min" -ln "rC_softness_min" -dv -1 -min + -5 -max 0 -at "double"; + addAttr -ci true -sn "rC_softness_max" -ln "rC_softness_max" -dv 1 -min + 0.01 -max 5 -at "double"; + setAttr ".c" -type "float3" 0.85799998 0.71485698 0.59373599 ; + setAttr ".tcf" 0.83758002519607544; + setAttr ".rfl" 0; + setAttr ".ec" 0.55549997091293335; + setAttr ".sro" 0.23931999504566193; + setAttr ".rC_softness_min" -0.55551999999999957; + setAttr ".rC_softness_max" 0.52176; +createNode ramp -n "translucneceRamp"; + addAttr -ci true -sn "nts" -ln "notes" -dt "string"; + setAttr ".cg" -type "float3" 0.75213999 0.75213999 0.75213999 ; + setAttr ".in" 5; + setAttr -s 3 ".cel"; + setAttr ".cel[0].ep" 0.35499998927116394; + setAttr ".cel[0].ec" -type "float3" 0.221 0.043718513 0.021657998 ; + setAttr ".cel[1].ep" 0.76499998569488525; + setAttr ".cel[1].ec" -type "float3" 0 0 0 ; + setAttr ".cel[2].ep" 0; + setAttr ".cel[2].ec" -type "float3" 0 -0.084350005 -0.1 ; + setAttr ".nts" -type "string" ( + "This ramp controls the translucence fake and is channeled into the ambient colour of the skin shader. This is an adoption of a method by Steven Stahlberg (www.optidigit.com/stevens). This gives the same effect of translucence as the fist version of this shader but is now mental ray compatible.\r\n" + + "\r\n" + + "The top colour is black.\r\n" + + "\r\n" + + "The middle colour is a dark orangey-red and defines the translucent colour it also brings more luminance into the dark side. \r\n" + + "\r\n" + + "The bottom colour is the opposite to the middle colour with a negative value of -0.1. This means the shader will not be illuminated in shadowed areas.\r\n" + + "\r\n" + + "Take care when using Final Gather as this translucence fake will change the luminance of the surface.\r\n"); +createNode clamp -n "translucenceClamp"; + setAttr ".mx" -type "float3" 1 1 1 ; +createNode lambert -n "translucenceLambert"; + addAttr -ci true -sn "nts" -ln "notes" -dt "string"; + setAttr ".nts" -type "string" ( + "This is a default Lambert used as a shading model for the translucence fake."); +createNode multiplyDivide -n "multiplyDivide2"; + setAttr ".i2" -type "float3" 0.083999999 0.2212 0.3906 ; +createNode blendColors -n "peachFuzzControl"; + addAttr -ci true -sn "nts" -ln "notes" -dt "string"; + setAttr ".b" 0.60000002384185791; + setAttr ".nts" -type "string" ( + "This blendColors node is a convienient way to control how much \"Peach Fuzz\" is seen in the dark side of the shader.\r\n" + + "\r\n" + + "If Blender is set to 0 the \"Peach Fuzz\" will be visible only in light (more realistic).\r\n" + + "\r\n" + + "If Blender is set to 1 the \"Peach Fuzz\" will be visible in light and shade (same as the previous version of this shader)."); +createNode ramp -n "peachFuzzRamp"; + addAttr -ci true -sn "nts" -ln "notes" -dt "string"; + setAttr ".in" 4; + setAttr -s 2 ".cel"; + setAttr ".cel[0].ep" 0; + setAttr ".cel[0].ec" -type "float3" 0.2735 0.2735 0.2735 ; + setAttr ".cel[2].ep" 0.46500000357627869; + setAttr ".cel[2].ec" -type "float3" 0 0 0 ; + setAttr ".nts" -type "string" ( + "This ramp controls the intensity of the \"Peach Fuzz\", the effect of the tiny hairs on the surface of the skin, making the skin lighter towards the edges.\r\n" + + "\r\n" + + "Take care when using Final Gather as this changes the luminance of the surface.\r\n"); +createNode samplerInfo -n "samplerInfo3"; +createNode multiplyDivide -n "multiplyDivide4"; + addAttr -ci true -sn "nts" -ln "notes" -dt "string"; + setAttr ".nts" -type "string" ( + "Multiplies the \"Peach Fuzz\" by the surface luminance so it is only visible in light."); +createNode surfaceLuminance -n "surfaceLuminance2"; +createNode layeredShader -n "skinWithHighlightsShader"; + setAttr -s 2 ".cs"; +createNode lightLinker -n "lightLinker1"; +select -ne :time1; + setAttr ".o" 70; +select -ne :renderPartition; + setAttr -s 2 ".st"; +select -ne :renderGlobalsList1; +select -ne :defaultShaderList1; + setAttr -s 6 ".s"; +select -ne :postProcessList1; + setAttr -s 2 ".p"; +select -ne :defaultRenderUtilityList1; + setAttr -s 12 ".u"; +select -ne :lightList1; +select -ne :defaultTextureList1; + setAttr -s 4 ".tx"; +select -ne :initialShadingGroup; + setAttr ".ro" yes; +select -ne :initialParticleSE; + setAttr ".ro" yes; +select -ne :defaultRenderGlobals; + addAttr -ci true -sn "currentRenderer" -ln "currentRenderer" -dt "string"; + setAttr ".currentRenderer" -type "string" "mayaSoftware"; +select -ne :hardwareRenderGlobals; + addAttr -ci true -sn "tcov" -ln "textureCompression" -bt "TCOV" -min 0 + -max 1 -en "Disabled:Enabled" -at "enum"; + addAttr -ci true -sn "ehql" -ln "enableHighQualityLighting" -bt "EHQL" -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "eams" -ln "enableAcceleratedMultiSampling" -bt "EAMS" + -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "tshc" -ln "transparentShadowCasting" -bt "TSHC" -min + 0 -max 1 -at "bool"; + addAttr -ci true -sn "lith" -ln "lightIntensityThreshold" -bt "LITH" -at "float"; + addAttr -ci true -sn "ani" -ln "animation" -bt "ANIM" -min 0 -max 1 -at "bool"; + setAttr ".fn" -type "string" "%s.%e"; + setAttr ".ctrs" 256; + setAttr ".btrs" 512; + setAttr -k on ".tcov" 1; + setAttr -k on ".ehql" yes; + setAttr -k on ".eams" yes; + setAttr -k on ".tshc" yes; + setAttr -k on ".lith" 0.0010000000474974513; + setAttr -k on ".ani"; +select -ne :defaultHardwareRenderGlobals; + setAttr ".fn" -type "string" "im"; + setAttr ".res" -type "string" "ntsc_4d 646 485 1.333"; +connectAttr "multiplyDivide3.o" "skinHighlights.sc"; +connectAttr "luminance1.o" "skinHighlights.sro"; +connectAttr "skinBump.o" "skinHighlights.n"; +connectAttr "specularMapFile.oc" "multiplyDivide3.i1"; +connectAttr "place2dTexture25.c" "specularMapFile.c"; +connectAttr "place2dTexture25.tf" "specularMapFile.tf"; +connectAttr "place2dTexture25.rf" "specularMapFile.rf"; +connectAttr "place2dTexture25.mu" "specularMapFile.mu"; +connectAttr "place2dTexture25.s" "specularMapFile.s"; +connectAttr "place2dTexture25.wu" "specularMapFile.wu"; +connectAttr "place2dTexture25.wv" "specularMapFile.wv"; +connectAttr "place2dTexture25.re" "specularMapFile.re"; +connectAttr "place2dTexture25.of" "specularMapFile.of"; +connectAttr "place2dTexture25.r" "specularMapFile.ro"; +connectAttr "place2dTexture25.n" "specularMapFile.n"; +connectAttr "place2dTexture25.o" "specularMapFile.uv"; +connectAttr "place2dTexture25.ofs" "specularMapFile.fs"; +connectAttr "place2dTexture25.mv" "specularMapFile.mv"; +connectAttr "place2dTexture25.vt1" "specularMapFile.vt1"; +connectAttr "place2dTexture25.vt2" "specularMapFile.vt2"; +connectAttr "place2dTexture25.vt3" "specularMapFile.vt3"; +connectAttr "place2dTexture25.vc1" "specularMapFile.vc1"; +connectAttr "contrast2.o" "luminance1.v"; +connectAttr "specularMapFile.oc" "contrast2.v"; +connectAttr "bumpMapFile.oa" "skinBump.bv"; +connectAttr "place2dTexture26.c" "bumpMapFile.c"; +connectAttr "place2dTexture26.tf" "bumpMapFile.tf"; +connectAttr "place2dTexture26.rf" "bumpMapFile.rf"; +connectAttr "place2dTexture26.mu" "bumpMapFile.mu"; +connectAttr "place2dTexture26.s" "bumpMapFile.s"; +connectAttr "place2dTexture26.wu" "bumpMapFile.wu"; +connectAttr "place2dTexture26.wv" "bumpMapFile.wv"; +connectAttr "place2dTexture26.re" "bumpMapFile.re"; +connectAttr "place2dTexture26.of" "bumpMapFile.of"; +connectAttr "place2dTexture26.r" "bumpMapFile.ro"; +connectAttr "place2dTexture26.n" "bumpMapFile.n"; +connectAttr "place2dTexture26.o" "bumpMapFile.uv"; +connectAttr "place2dTexture26.ofs" "bumpMapFile.fs"; +connectAttr "place2dTexture26.mv" "bumpMapFile.mv"; +connectAttr "place2dTexture26.vt1" "bumpMapFile.vt1"; +connectAttr "place2dTexture26.vt2" "bumpMapFile.vt2"; +connectAttr "place2dTexture26.vt3" "bumpMapFile.vt3"; +connectAttr "place2dTexture26.vc1" "bumpMapFile.vc1"; +connectAttr "translucneceRamp.oc" "skinShader.ambc"; +connectAttr "multiplyDivide2.o" "skinShader.sc"; +connectAttr "peachFuzzControl.op" "skinShader.ic"; +connectAttr "translucenceClamp.opr" "translucneceRamp.v"; +connectAttr "translucenceLambert.oc" "translucenceClamp.ip"; +connectAttr "specularMapFile.oc" "multiplyDivide2.i1"; +connectAttr "peachFuzzRamp.oc" "peachFuzzControl.c1"; +connectAttr "multiplyDivide4.o" "peachFuzzControl.c2"; +connectAttr "samplerInfo3.fr" "peachFuzzRamp.v"; +connectAttr "peachFuzzRamp.oc" "multiplyDivide4.i1"; +connectAttr "surfaceLuminance2.o" "multiplyDivide4.i2x"; +connectAttr "surfaceLuminance2.o" "multiplyDivide4.i2y"; +connectAttr "surfaceLuminance2.o" "multiplyDivide4.i2z"; +connectAttr "skinHighlights.oc" "skinWithHighlightsShader.cs[4].c"; +connectAttr "skinHighlights.ot" "skinWithHighlightsShader.cs[4].t"; +connectAttr "skinHighlights.ogc" "skinWithHighlightsShader.cs[4].g"; +connectAttr "skinShader.oc" "skinWithHighlightsShader.cs[6].c"; +connectAttr "skinShader.ot" "skinWithHighlightsShader.cs[6].t"; +connectAttr "skinShader.ogc" "skinWithHighlightsShader.cs[6].g"; +connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[0].llnk"; +connectAttr ":initialShadingGroup.msg" "lightLinker1.lnk[0].olnk"; +connectAttr ":defaultLightSet.msg" "lightLinker1.lnk[1].llnk"; +connectAttr ":initialParticleSE.msg" "lightLinker1.lnk[1].olnk"; +connectAttr "skinShader.msg" ":defaultShaderList1.s" -na; +connectAttr "skinWithHighlightsShader.msg" ":defaultShaderList1.s" -na; +connectAttr "skinHighlights.msg" ":defaultShaderList1.s" -na; +connectAttr "translucenceLambert.msg" ":defaultShaderList1.s" -na; +connectAttr "multiplyDivide2.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "place2dTexture25.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "place2dTexture26.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "skinBump.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "multiplyDivide3.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "luminance1.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "contrast2.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "samplerInfo3.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "surfaceLuminance2.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "translucenceClamp.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "multiplyDivide4.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "peachFuzzControl.msg" ":defaultRenderUtilityList1.u" -na; +connectAttr "lightLinker1.msg" ":lightList1.ln" -na; +connectAttr "translucneceRamp.msg" ":defaultTextureList1.tx" -na; +connectAttr "specularMapFile.msg" ":defaultTextureList1.tx" -na; +connectAttr "bumpMapFile.msg" ":defaultTextureList1.tx" -na; +connectAttr "peachFuzzRamp.msg" ":defaultTextureList1.tx" -na; +// End of skin1.1.ma diff --git a/2009-x64/GameProd/scripts/transfXuv_UI.mel b/2009-x64/GameProd/scripts/transfXuv_UI.mel new file mode 100644 index 0000000..fdf3403 --- /dev/null +++ b/2009-x64/GameProd/scripts/transfXuv_UI.mel @@ -0,0 +1,117 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: transfXuv_UI v0.3 +'' Author: jm Lepretre +'' Last Updated: June 3, 2004 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=rendering#2944 +'' +'' History: +'' transfXuv_UI v0.3 on june 03, 2004 by jm Lepretre +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + + + + +//transfXuv_UI -------------------------------------------------------------- +// +// script name : transfXuv_UI.mel // +// Creation Date: 24 Mai 2004 +// +// Last Updated: 3 June 2004 +// +// Author: Jean-Marc Lepretre - -// www.jmlepretre.com \\- XD-PRODUCTIONS +// +// Description: Au contraire de Maya ce script de debutant peut transferer les uv du 1er polygone selectione sur tous les autres de la selection. +// >> selectionner le poly source puis tous les polys cibles, lancer la fenetre (transfXUV_UI) /appuyer sur TRANSFERT +// Unlike Maya does, this B-A BA Script Can do the incredible task to transfer +// the UV's from the first Poly objet in the selection to the hundred of other polygons selected. +// >> select the source and then the target polys, launch the window (transfXUV_UI) /Hit TRANSFERT +// Setup: +// Source transfXuv_UI.mel or place it in your +// ~user/my Documents/maya/5.0/scripts folder. +// +// Command: transfXuv_UI; +// +// nota: evidemment ne fonctionne que si les conditions requisent +// pour Polygon/transfert/UV sont verifiees: +// la meme topologie, etc... (voir Maya help) +// +// nota: only works if conditions required +// for Polygon/transfer/UV are true: +// same topologie, etc... (see Maya help) +// + //futures amelioration: + //testeur de transfert avec le decompte des differences/ detecter si certains objets ne remplissent pas les conditions requisent + //possibilite de transferer les vertex aussi ou les 2 / avec ou sans l'historique + //Version 0.3 added some warns + //Version 0.2 caps in the name and Command description corrected . Desole Sorry + //Suggestions - commentaires bienvenus - Merci!! + +//NOTES: mon 1er mel(...utile...)! +//***Merci Hubert!*** +//// +// ****Ce script est dedie a tous les paresseux de la souris, les faineants de la touche Enter,**** \\ +// ****et les lazy guys de la HotBox.**** \\ +//// + + +global proc transfXuv_UI() +{ +if (`window -exists transfXuv_UI`) deleteUI transfXuv_UI ; +string $window = `window -title "transfert 1-2-X poly UV - XD-PRODUCTIONS v0.3" -s 1 + -wh 50 12 -iconName "transfXuv" transfXuv_UI` ; +columnLayout -adjustableColumn true; + button -label "X TRANSFERT !!! " -command transfXuv; +button -label "Close" -command ("deleteUI -window " + $window); +setParent ..; + + + +showWindow $window ; + +} + +global proc transfXuv() + +{ +string $lsSel[] = `ls -sl` ; +int $UV[] ; +$size = size($lsSel); + + if ($size == 0) + { + error "No Poly"; + } + else if ($size == 1) + { + error "Select more than 1 Poly"; + } + + + +for ($i = 1 ; $i < $size ; $i++) + { + $UV = `polyEvaluate -t $lsSel[$i]` ; +int $numt = $UV[0]; + + if ($UV[0] < 1) + { + error "no triangle in poly!"; + } + +polyTransfer -uv 1 -ao ($lsSel[0]) ($lsSel[$i]) ; + + } +print ($size); +print " polygons of "; +print ($UV[0]); +print " triangles DONE"; +} + diff --git a/2009-x64/GameProd/scripts/y3PointLight.mel b/2009-x64/GameProd/scripts/y3PointLight.mel new file mode 100644 index 0000000..8cfdcbb --- /dev/null +++ b/2009-x64/GameProd/scripts/y3PointLight.mel @@ -0,0 +1,1338 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: 3PointLight v1.1 +'' Author: Yogesh Lakhani +'' Last Updated: September 17, 2003 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=rendering#2488 +'' +'' History: +'' 3PointLight v1.0 on August 20, 2003 by Yogesh Lakhani +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + + + + +// Author: Yogesh Lakhani +// Date: 08/20/03 +// Version: 01 +// +// y3PointLight mel script v1.0 - (c) Yogesh Lakhani - August 20th 2003 +// +// Description: a)The main purpose of this program is create Three-point Lighting in the scene with a lot of +// user-friendly features. +// b)It has 2 parts: a.)Initial settings window for creation & b.)Edit settings window. +// c)In the "Initial Settings" section, just input values, select your primary object for lighting +// and click on the Create button. +// d)After creation, you can edit and update the values in the "Edit Settings" section. +// e)For new setup, go back to the "Initial Settings" tab and click on the button "New". +// +// Installation: +// +// 1. Copy the script y3PointLight.mel to your local user\scripts folder +// +// C:\Documents and Settings\"USER"\My Documents\maya\5.0\scripts\ +// +// 2. Start Maya +// +// 4. Source y3PointLight.mel script in the Script Editor. Will automatically execute. +// +// Please send me your feedback or comments about this script on www.fxyogi.com +// +// Thanks. +// +//----------------------------------------------------------------------------------------------------------------- + + + + +// Main procedure for generating the UI. +global proc y3PointLight() +{ +// Declare my variables. + string $myWindowLight = "y3PointLight"; + +// Check to see if my window exists. + if (`window -ex $myWindowLight`) + { + deleteUI $myWindowLight; + } + +// Create a new window + window -w 350 -h 500 -t ("y3PointLight - 1.0") -tb true $myWindowLight; + +// Create a TabLayout for "Initial Settings" and "Edit Settings" + scrollLayout -hst 16 -vst 16 -childResizable true; + + //"Initial Settings" - TAB1 + string $cLayout1 = "myColumnLayout1"; + string $tab1 = `columnLayout $cLayout1`; + + separator -style "none" -w 350 -h 8; + + //Frame1 - KeyLight Attributes + frameLayout -label "KeyLight Attributes" -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutKey; + + columnLayout myColumnLayout3; + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 2 + -cw 1 100 -cw 2 200 + myRowColumnLayout1; + text -l "Name: " -al "right"; + textField myNameKey; + setParent ..; + + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 3 + -cw 1 100 -cw 2 100 -cw 3 100 + myRowColumnLayout2; + text -l "Type: " -al "right"; + radioCollection myRadioCollectionTypeKey; + radioButton -label "SpotLight" -al "left" rBtnSpotKey; + radioButton -label "Directional Light" -al "left" rBtnDirectionalKey; + setParent ..; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the light from the camera in the horizontal direction" + -field true + -label "Horizontal Angle" + -columnAlign 1 "center" + -minValue 23.0 -maxValue 45.0 + -precision 3 + -value 30.0 + myFloatSliderGrp_HorAngKey; + + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 3 + -cw 1 100 -cw 2 100 -cw 3 100 + myRowColumnLayout3; + text -label "" -align "right"; + radioCollection myRadioCollectionCamSideKey; + radioButton -label "Left of Camera" -al "left" rBtnCamLeft; + radioButton -label "Right of Camera" -al "left" rBtnCamRight; + setParent ..; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the light from the camera in the vertical direction" + -field true + -label "Vertical Up Angle" + -columnAlign 1 "center" + -minValue 15.0 -maxValue 45.0 + -precision 3 + -value 30.0 + myFloatSliderGrp_VerAngKey; + + separator -style "none" -w 350 -h 4; + setParent ..; + setParent ..; + + //Frame2 - Fill Light Attributes + frameLayout -label "Fill Light Attributes" -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutFill; + + columnLayout myColumnLayout6; + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 2 -cw 1 100 -cw 2 200 myRowColumnLayout5; + text -l "Name: " -al "right"; + textField myNameFill; + setParent ..; + + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 3 + -cw 1 100 -cw 2 100 -cw 3 100 + myRowColumnLayout6; + text -l "Type: " -al "right"; + radioCollection myRadioCollectionTypeFill; + radioButton -label "SpotLight" -al "left" rBtnSpotFill; + radioButton -label "Directional Light" -al "left" rBtnDirectionalFill; + setParent ..; + + separator -style "none" -w 350 -h 4; + setParent ..; + setParent ..; + + //Frame3 - Key-To-Fill Ratio + frameLayout -label "Key-To-Fill Ratio" -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutKTF; + + columnLayout myColumnLayout4; + + columnLayout -columnOffset "left" 15 myColumnLayout5; + separator -style "none" -w 350 -h 4; + radioCollection myRadioCollectionRatioKTF; + radioButton -label "1.5 : 1 (Low key-to-fill ratio)" + -al "center" + -onCommand "offCustomRBtn();" + rBtnLowKTF; + radioButton -label " 4 : 1 (Moderate key-to-fill ratio)" + -al "center" + -onCommand "offCustomRBtn();" + rBtnModKTF; + radioButton -label " 8 : 1 (High key-to-fill ratio)" + -al "center" + -onCommand "offCustomRBtn();" + rBtnHighKTF; + radioButton -label "Custom " + -al "center" + -onCommand "onCustomRBtn();" + rBtnCustomKTF; + floatSliderGrp -width 200 + -adjustableColumn 1 + -ann "Key-To-Fill Ratio" + -field true + -label "" + -columnAlign 1 "center" + -columnAttach 1 "left" 20 + -minValue 1.0 -maxValue 10.0 + -precision 1 + -value 4.0 + -enable false + myFloatSliderGrp_CusKTF; + + setParent ..; + setParent ..; + setParent ..; + + //Frame4 - Back Light Attributes + frameLayout -label "Back Light Attributes" -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutBack; + + columnLayout myColumnLayout7; + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 2 -cw 1 100 -cw 2 200 myRowColumnLayout7; + text -l "" -al "right"; + checkBox -label "No Back Light" + -align "left" -value 0 + -changeCommand "chngStateCheckBack();" + myCheckBack; + setParent ..; + + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 2 -cw 1 100 -cw 2 200 myRowColumnLayout8; + text -l "Name: " -al "right"; + textField myNameBack; + setParent ..; + + separator -style "none" -w 350 -h 4; + + rowColumnLayout -numberOfColumns 3 + -cw 1 100 -cw 2 100 -cw 3 100 + myRowColumnLayout9; + text -l "Type: " -al "right"; + radioCollection myRadioCollectionTypeBack; + radioButton -label "SpotLight" -al "left" rBtnSpotBack; + radioButton -label "Directional Light" -al "left" rBtnDirectionalBack; + setParent ..; + + separator -style "none" -w 350 -h 4; + setParent ..; + setParent ..; + + separator -style "none" -w 350 -h 4; + + //Checkbox for Default Light Settings + int $defaultLight = `getAttr defaultRenderGlobals.enableDefaultLight`; + checkBox -label "Enable Default Light" -align "left" -value $defaultLight myCheckDefaultLight; + + //Connecting the checkbox control to the Default Light attribute in the Render Globals. + string $defaultLightAttr = "defaultRenderGlobals.enableDefaultLight"; + connectControl myCheckDefaultLight $defaultLightAttr; + + separator -style "none" -w 350 -h 4; + separator -style "out" -w 350 -h 4; + + //Create buttons for "New" and "Create 3-Point Lighting" + rowColumnLayout -numberOfColumns 2 -cw 1 150 -cw 2 200 myRowColumnLayout10; + separator -style "none" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + button -width 100 + -label "New" + -align "center" + -enable false + -recomputeSize true + -command "resetTAB1();" + btnReset; + button -width 150 + -label "Create 3-Point Lighting" + -align "center" + -recomputeSize true + -command "create3PointLight();" + btn3PointLight; + setParent ..; + + separator -style "none" -w 350 -h 4; + separator -style "out" -w 350 -h 4; + setParent ..; + + showWindow $myWindowLight; +} + +y3PointLight(); + +//---------------------------------------------------------------------------------------------------------------- +// Actual Procedure to create 3 Point Lighting +global proc create3PointLight() +{ + initSettingsInfo(); +} + +//---------------------------------------------------------------------------------------------------------------- +// Procedure to disable controls in TAB1. +global proc disableTab1() +{ + textField -edit -enable false myNameKey; + radioButton -edit -enable false rBtnSpotKey; + radioButton -edit -enable false rBtnDirectionalKey; + floatSliderGrp -edit -enable false myFloatSliderGrp_HorAngKey; + radioButton -edit -enable false rBtnCamLeft; + radioButton -edit -enable false rBtnCamRight; + floatSliderGrp -edit -enable false myFloatSliderGrp_VerAngKey; + textField -edit -enable false myNameFill; + radioButton -edit -enable false rBtnSpotFill; + radioButton -edit -enable false rBtnDirectionalFill; + radioButton -edit -enable false rBtnLowKTF; + radioButton -edit -enable false rBtnModKTF; + radioButton -edit -enable false rBtnHighKTF; + radioButton -edit -enable false rBtnCustomKTF; + floatSliderGrp -edit -enable false myFloatSliderGrp_CusKTF; + checkBox -edit -enable false myCheckBack; + textField -edit -enable false myNameBack; + radioButton -edit -enable false rBtnSpotBack; + radioButton -edit -enable false rBtnDirectionalBack; + button -edit -enable false btn3PointLight; + button -edit -enable true btnReset; +} + +//---------------------------------------------------------------------------------------------------------------- +// Procedure to Initialize the controls in TAB1. +global proc resetTAB1() +{ + finishProc(); + select -cl; + y3PointLight(); +} + +//---------------------------------------------------------------------------------------------------------------- +// Procedure to extract values entered by the user from the controls in the Initial Settings. +global proc initSettingsInfo() +{ + //Get Key Light Information. + string $nameKey = `textField -query -text myNameKey`; + if ($nameKey == "") + { + confirmDialog -title "Key Light Name" + -message "Please give a name to the Key Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + string $typeKey = `radioCollection -query -select myRadioCollectionTypeKey`; + if ($typeKey == "NONE") + { + confirmDialog -title "Key Light Type" + -message "Please select the type of Key Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + // Check whether Key Light side is selected or not. + string $camSideKey = `radioCollection -query -select myRadioCollectionCamSideKey`; + if ($camSideKey == "NONE") + { + confirmDialog -title "Key Light Horizontal Side" + -message "Please select which side (Left/Right) of the camera you want the Key Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + //Get Fill Light Information. + string $nameFill = `textField -query -text myNameFill`; + if ($nameFill == "") + { + confirmDialog -title "Fill Light Name" + -message "Please give a name to the Fill Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + // Check whether Fill Light Type is selected or not. + string $typeFill = `radioCollection -query -select myRadioCollectionTypeFill`; + if ($typeFill == "NONE") + { + confirmDialog -title "Fill Light Type" + -message "Please select the type of Fill Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + // Check whether Key-To-Fill Ratio is selected or not. + string $ratioKTF = `radioCollection -query -select myRadioCollectionRatioKTF`; + if ($ratioKTF == "NONE") + { + confirmDialog -title "Key-To-Fill Ratio" + -message "Please select Key-To-Fill Ratio." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + //Value for the Custom Key-To-Fill Ratio. + float $cusKTF = `floatSliderGrp -query -value myFloatSliderGrp_CusKTF`; + + // Check whether Back Light is needed or not. + int $boolBackLight = `checkBox -query -value myCheckBack`; + if (!$boolBackLight) + { + //Get Back Light Information. + string $nameBack = `textField -query -text myNameBack`; + if ($nameBack == "") + { + confirmDialog -title "Back Light Name" + -message "Please give a name to the Back Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + + string $typeBack = `radioCollection -query -select myRadioCollectionTypeBack`; + if ($typeBack == "NONE") + { + confirmDialog -title "Back Light Type" + -message "Please select the type of Back Light." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + } + + selectSubject(); +} + +//---------------------------------------------------------------------------------------------------------------- +// Procedure to select the Primary Object for 3 Point Lighting and store its Translation Values. +global proc selectSubject() +{ + global float $subTx; + global float $subTy; + global float $subTz; + + string $selections[]; + clear($selections); + string $selections[] = `ls -selection -transforms`; + int $selectionSize = size($selections); + + if ($selectionSize < 1) + { + confirmDialog -title "Subject Select" + -message "Please select any ONE PRIMARY OBJECT in the VIEW where you want to render." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + else if ($selectionSize > 1) + { + confirmDialog -title "Subject Select" + -message "Please select ONLY ONE PRIMARY OBJECT in the VIEW where you want to render." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + else + { + string $confirm = `confirmDialog -title "Confirm" + -message "Are you sure you have selected the right PRIMARY OBJECT?" + -button "Yes" + -button "No" + -defaultButton "Yes" + -cancelButton "No" + -dismissString "No"`; + + if ($confirm == "Yes") + { + global string $mainSubjectSelect; + $mainSubjectSelect = $selections[0]; + $subTx = `getAttr ( $mainSubjectSelect + ".tx" )`; + $subTy = `getAttr ( $mainSubjectSelect + ".ty" )`; + $subTz = `getAttr ( $mainSubjectSelect + ".tz" )`; + } + else + return; + + cameraInfo(); + } +} + + +//-------------------------------------------------------------------------------------------------------------- +// Procedure to get the camera information. +global proc cameraInfo() +{ + // Check whether the selected panel is ModelPanel or some other panel. + string $panel = `getPanel -wf`; + if ($panel == "devicePanel1" || $panel == "hardwareRenderPanel1" || $panel == "blendShapePanel1" || $panel == "outlinerPanel1") + { + confirmDialog -title "Panel Type" + -message "Please select a view to Render." + -messageAlign "center" + -button "OK" + -defaultButton "OK"; + return; + } + else + { + // Get the camera info. + string $camera = `modelPanel -q -camera $panel`; + global float $camTx; + global float $camTy; + global float $camTz; + global float $camRx; + global float $camRy; + global float $camRz; + $camTx = `getAttr ($camera + ".translateX")`; + $camTy = `getAttr ($camera + ".translateY")`; + $camTz = `getAttr ($camera + ".translateZ")`; + $camRx = `getAttr ($camera + ".rotateX")`; + $camRy = `getAttr ($camera + ".rotateY")`; + $camRz = `getAttr ($camera + ".rotateZ")`; + + createKeyLight(); + } +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create and position Key Light in the scene. +global proc createKeyLight() +{ + // Get Camera Information from cameraInfo(). + global float $camTx; + global float $camTy; + global float $camTz; + global float $camRx; + global float $camRy; + global float $camRz; + global string $nameLocatorKey; + + //Get Key Light Information. + string $nameKey = `textField -query -text myNameKey`; + + string $typeKey = `radioCollection -query -select myRadioCollectionTypeKey`; + switch ($typeKey) + { + case "rBtnSpotKey": + // Create SpotLight. + string $spotLightShapeKey = `spotLight`; + string $spotLightKey[] = `pickWalk -direction "up" $spotLightShapeKey`; + global string $renameSpotKey; + $renameSpotKey = `rename $spotLightKey $nameKey`; + + // Positioning the Key Light. + setAttr ($renameSpotKey + ".tx") $camTx; + setAttr ($renameSpotKey + ".ty") $camTy; + setAttr ($renameSpotKey + ".tz") $camTz; + setAttr ($renameSpotKey + ".rx") $camRx; + setAttr ($renameSpotKey + ".ry") $camRy; + setAttr ($renameSpotKey + ".rz") $camRz; + + locatorKey(); + + break; + + case "rBtnDirectionalKey": + // Create Directional Light. + string $directionalLightShapeKey = `directionalLight`; + string $directionalLightKey[] = `pickWalk -direction "up" $directionalLightShapeKey`; + global string $renameDirectionalKey; + $renameDirectionalKey = `rename $directionalLightKey $nameKey`; + + // Positioning the Directional Light. + setAttr ($renameDirectionalKey + ".tx") $camTx; + setAttr ($renameDirectionalKey + ".ty") $camTy; + setAttr ($renameDirectionalKey + ".tz") $camTz; + setAttr ($renameDirectionalKey + ".rx") $camRx; + setAttr ($renameDirectionalKey + ".ry") $camRy; + setAttr ($renameDirectionalKey + ".rz") $camRz; + + locatorKey(); + + break; + } +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create Locator for Key Light and position it exactly where the Object is. +global proc locatorKey() +{ + global float $subTx; + global float $subTy; + global float $subTz; + + string $locatorKey[] = `spaceLocator`; + global string $nameLocatorKey; + $nameLocatorKey = `rename $locatorKey[0] "locatorKey"`; + + setAttr ($nameLocatorKey + ".tx") $subTx; + setAttr ($nameLocatorKey + ".ty") $subTy; + setAttr ($nameLocatorKey + ".tz") $subTz; + + string $typeKey = `radioCollection -query -select myRadioCollectionTypeKey`; + + // Parent the light to the locator. + switch ($typeKey) + { + case "rBtnSpotKey": + global string $renameSpotKey; + select -cl; + parent $renameSpotKey $nameLocatorKey; + break; + + case "rBtnDirectionalKey": + global string $renameDirectionalKey; + select -cl; + parent $renameDirectionalKey $nameLocatorKey; + break; + } + + rotateKey(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to rotate the Key Light Horizontally and Vertically. +global proc rotateKey() +{ + global string $nameLocatorKey; + + // Value for the Horizontal angle of the Key Light. + float $horAngKey = `floatSliderGrp -query -value myFloatSliderGrp_HorAngKey`; + + // Check whether Key Light side is selected or not. + string $camSideKey = `radioCollection -query -select myRadioCollectionCamSideKey`; + + // Value for the Vertical angle of the Key Light. + float $verAngKey = `floatSliderGrp -query -value myFloatSliderGrp_VerAngKey`; + + // Initial rotational values of the locator. + float $locatorKeyRx = `getAttr ($nameLocatorKey + ".rx")`; + float $locatorKeyRy = `getAttr ($nameLocatorKey + ".ry")`; + float $locatorKeyRz = `getAttr ($nameLocatorKey + ".rz")`; + + switch ($camSideKey) + { + case "rBtnCamLeft": + setAttr ($nameLocatorKey + ".ry") ($locatorKeyRy - $horAngKey); + break; + + case "rBtnCamRight": + setAttr ($nameLocatorKey + ".ry") ($locatorKeyRy + $horAngKey); + break; + } + + setAttr ($nameLocatorKey + ".rz") ($locatorKeyRz + $verAngKey); + + createFillLight(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create and position Fill Light in the scene. +global proc createFillLight() +{ + // Get Camera Information from cameraInfo(). + global float $camTx; + global float $camTy; + global float $camTz; + global float $camRx; + global float $camRy; + global float $camRz; + global string $nameLocatorFill; + + //Get Fill Light Information. + string $nameFill = `textField -query -text myNameFill`; + + string $typeFill = `radioCollection -query -select myRadioCollectionTypeFill`; + switch ($typeFill) + { + case "rBtnSpotFill": + // Create SpotLight. + string $spotLightShapeFill = `spotLight`; + string $spotLightFill[] = `pickWalk -direction "up" $spotLightShapeFill`; + global string $renameSpotFill; + $renameSpotFill = `rename $spotLightFill $nameFill`; + + // Positioning the Spot Light. + setAttr ($renameSpotFill + ".tx") $camTx; + setAttr ($renameSpotFill + ".ty") $camTy; + setAttr ($renameSpotFill + ".tz") $camTz; + setAttr ($renameSpotFill + ".rx") $camRx; + setAttr ($renameSpotFill + ".ry") $camRy; + setAttr ($renameSpotFill + ".rz") $camRz; + + locatorFill(); + + break; + + case "rBtnDirectionalFill": + // Create Directional Light. + string $directionalLightShapeFill = `directionalLight`; + string $directionalLightFill[] = `pickWalk -direction "up" $directionalLightShapeFill`; + global string $renameDirectionalFill; + $renameDirectionalFill = `rename $directionalLightFill $nameFill`; + + // Positioning the Directional Light. + setAttr ($renameDirectionalFill + ".tx") $camTx; + setAttr ($renameDirectionalFill + ".ty") $camTy; + setAttr ($renameDirectionalFill + ".tz") $camTz; + setAttr ($renameDirectionalFill + ".rx") $camRx; + setAttr ($renameDirectionalFill + ".ry") $camRy; + setAttr ($renameDirectionalFill + ".rz") $camRz; + + locatorFill(); + + break; + } +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create Locator for Fill Light and position it exactly where the Object is. +global proc locatorFill() +{ + global float $subTx; + global float $subTy; + global float $subTz; + + string $locatorFill[] = `spaceLocator`; + global string $nameLocatorFill; + $nameLocatorFill = `rename $locatorFill[0] "locatorFill"`; + + setAttr ($nameLocatorFill + ".tx") $subTx; + setAttr ($nameLocatorFill + ".ty") $subTy; + setAttr ($nameLocatorFill + ".tz") $subTz; + + string $typeFill = `radioCollection -query -select myRadioCollectionTypeFill`; + + // Parent the light to the locator. + switch ($typeFill) + { + case "rBtnSpotFill": + global string $renameSpotFill; + select -cl; + parent $renameSpotFill $nameLocatorFill; + break; + + case "rBtnDirectionalFill": + global string $renameDirectionalFill; + select -cl; + parent $renameDirectionalFill $nameLocatorFill; + break; + } + + rotateFill(); +} + + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to rotate the Fill Light Horizontally and Vertically. +global proc rotateFill() +{ + global string $nameLocatorFill; + + // Value for the Horizontal angle of the Key Light. + float $horAngKey = `floatSliderGrp -query -value myFloatSliderGrp_HorAngKey`; + + // Value for the Horizontal angle of the Fill Light. + float $horAngFill = ($horAngKey / 1.467); + + // Check whether Key Light side is selected or not. + string $camSideKey = `radioCollection -query -select myRadioCollectionCamSideKey`; + + // Value for the Vertical angle of the Key Light. + float $verAngKey = `floatSliderGrp -query -value myFloatSliderGrp_VerAngKey`; + + // Value for the Vertical angle of the Fill Light. + float $verAngFill = ($verAngKey - 15.0); + + // Initial rotational values of the locator. + float $locatorFillRx = `getAttr ($nameLocatorFill + ".rx")`; + float $locatorFillRy = `getAttr ($nameLocatorFill + ".ry")`; + float $locatorFillRz = `getAttr ($nameLocatorFill + ".rz")`; + + switch ($camSideKey) + { + case "rBtnCamLeft": + setAttr ($nameLocatorFill + ".ry") ($locatorFillRy + $horAngFill); + break; + + case "rBtnCamRight": + setAttr ($nameLocatorFill + ".ry") ($locatorFillRy - $horAngFill); + break; + } + + setAttr ($nameLocatorFill + ".rz") ($locatorFillRz + $verAngFill); + + keyToFill(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to calculate Key-To-Fill Ratio. +global proc keyToFill() +{ + global string $nameLocatorKey; + global string $nameLocatorFill; + + //Value for the Custom Key-To-Fill Ratio. + float $cusKTF = `floatSliderGrp -query -value myFloatSliderGrp_CusKTF`; + + // To select the final Key Light. + string $locatorKeyChildren[] = `listRelatives -c $nameLocatorKey`; + string $finalKeyLight = $locatorKeyChildren[1]; + float $keyLightIntensity = `getAttr ($finalKeyLight + ".intensity")`; + + // To select the final Fill Light. + string $locatorFillChildren[] = `listRelatives -c $nameLocatorFill`; + string $finalFillLight = $locatorFillChildren[1]; + + // Calculate Fill Light Intensity based on KTF Ratio. + float $lowKTFIntensityFill = ($keyLightIntensity / 1.5); + float $modKTFIntensityFill = ($keyLightIntensity / 4); + float $highKTFIntensityFill = ($keyLightIntensity / 8); + float $customKTFIntensityFill = ($keyLightIntensity / $cusKTF); + + // Assign Fill Light Intensity. + string $ratioKTF = `radioCollection -query -select myRadioCollectionRatioKTF`; + + switch ($ratioKTF) + { + case "rBtnLowKTF": + setAttr ($finalFillLight + ".intensity") $lowKTFIntensityFill; + break; + + case "rBtnModKTF": + setAttr ($finalFillLight + ".intensity") $modKTFIntensityFill; + break; + + case "rBtnHighKTF": + setAttr ($finalFillLight + ".intensity") $highKTFIntensityFill; + break; + + case "rBtnCustomKTF": + setAttr ($finalFillLight + ".intensity") $customKTFIntensityFill; + break; + } + + createBackLight(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create and position Back Light in the scene. +global proc createBackLight() +{ + int $boolBackLight = `checkBox -query -value myCheckBack`; + + if (!$boolBackLight) + { + // Get Camera Information from cameraInfo(). + global float $camTx; + global float $camTy; + global float $camTz; + global float $camRx; + global float $camRy; + global float $camRz; + global string $nameLocatorBack; + + //Get Back Light Information. + string $nameBack = `textField -query -text myNameBack`; + + string $typeBack = `radioCollection -query -select myRadioCollectionTypeBack`; + switch ($typeBack) + { + case "rBtnSpotBack": + // Create SpotLight. + string $spotLightShapeBack = `spotLight`; + string $spotLightBack[] = `pickWalk -direction "up" $spotLightShapeBack`; + global string $renameSpotBack; + $renameSpotBack = `rename $spotLightBack $nameBack`; + + // Positioning the Spot Light. + setAttr ($renameSpotBack + ".tx") $camTx; + setAttr ($renameSpotBack + ".ty") $camTy; + setAttr ($renameSpotBack + ".tz") $camTz; + setAttr ($renameSpotBack + ".rx") $camRx; + setAttr ($renameSpotBack + ".ry") $camRy; + setAttr ($renameSpotBack + ".rz") $camRz; + + locatorBack(); + + break; + + case "rBtnDirectionalBack": + // Create Directional Light. + string $directionalLightShapeBack = `directionalLight`; + string $directionalLightBack[] = `pickWalk -direction "up" $directionalLightShapeBack`; + global string $renameDirectionalBack; + $renameDirectionalBack = `rename $directionalLightBack $nameBack`; + + // Positioning the Directional Light. + setAttr ($renameDirectionalBack + ".tx") $camTx; + setAttr ($renameDirectionalBack + ".ty") $camTy; + setAttr ($renameDirectionalBack + ".tz") $camTz; + setAttr ($renameDirectionalBack + ".rx") $camRx; + setAttr ($renameDirectionalBack + ".ry") $camRy; + setAttr ($renameDirectionalBack + ".rz") $camRz; + + locatorBack(); + + break; + } + } + else + tab2(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create Locator for Back Light and position it exactly where the Object is. +global proc locatorBack() +{ + global float $subTx; + global float $subTy; + global float $subTz; + + string $locatorBack[] = `spaceLocator`; + global string $nameLocatorBack; + $nameLocatorBack = `rename $locatorBack[0] "locatorBack"`; + + setAttr ($nameLocatorBack + ".tx") $subTx; + setAttr ($nameLocatorBack + ".ty") $subTy; + setAttr ($nameLocatorBack + ".tz") $subTz; + + string $typeBack = `radioCollection -query -select myRadioCollectionTypeBack`; + + // Parent the light to the locator. + switch ($typeBack) + { + case "rBtnSpotBack": + global string $renameSpotBack; + select -cl; + parent $renameSpotBack $nameLocatorBack; + break; + + case "rBtnDirectionalBack": + global string $renameDirectionalBack; + select -cl; + parent $renameDirectionalBack $nameLocatorBack; + break; + } + + rotateBack(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to rotate the Back Light Horizontally and Vertically. +global proc rotateBack() +{ + global string $nameLocatorBack; + + // Value for the Horizontal angle of the Key Light. + float $horAngKey = `floatSliderGrp -query -value myFloatSliderGrp_HorAngKey`; + + // Value for the Horizontal angle of the Back Light. + float $horAngBack = ($horAngKey / 2.2); + + // Check whether Key Light side is selected or not. + string $camSideKey = `radioCollection -query -select myRadioCollectionCamSideKey`; + + // Value for the Vertical angle of the Key Light. + float $verAngKey = `floatSliderGrp -query -value myFloatSliderGrp_VerAngKey`; + + float $verAngBack = ($verAngKey / 3.0); + + // Initial rotational values of the locator. + float $locatorBackRx = `getAttr ($nameLocatorBack + ".rx")`; + float $locatorBackRy = `getAttr ($nameLocatorBack + ".ry")`; + float $locatorBackRz = `getAttr ($nameLocatorBack + ".rz")`; + + switch ($camSideKey) + { + case "rBtnCamLeft": + setAttr ($nameLocatorBack + ".ry") ($locatorBackRy - (180 - $horAngBack)); + break; + + case "rBtnCamRight": + setAttr ($nameLocatorBack + ".ry") ($locatorBackRy + (180 - $horAngBack)); + break; + } + + setAttr ($nameLocatorBack + ".rz") ($locatorBackRz + $verAngBack); + + tab2(); +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to create "Edit Settings" TAB +global proc tab2() +{ + global string $nameLocatorKey; + global string $nameLocatorFill; + global string $nameLocatorBack; + + // To select the final Key Light. + string $locatorKeyChildren[] = `listRelatives -c $nameLocatorKey`; + string $finalKeyLight = $locatorKeyChildren[1]; + + // To select the final Fill Light. + string $locatorFillChildren[] = `listRelatives -c $nameLocatorFill`; + string $finalFillLight = $locatorFillChildren[1]; + + // To create the window for the Edit settings. + string $myWindowLightEdit = "y3PointLightEdit"; + if (`window -ex $myWindowLightEdit`) + { + deleteUI $myWindowLightEdit; + } + window -w 350 -h 500 -t ("Edit y3PointLight Settings") -tb 1 $myWindowLightEdit; + + + + scrollLayout -hst 16 -vst 16 -childResizable true; + columnLayout -adj 1; + + //Frame1 - KeyLight Attributes + frameLayout -label ($finalKeyLight + " Attributes") -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutKeyNew; + + columnLayout myColumnLayout8; + separator -style "none" -w 350 -h 4; + + string $colorAttrKey = $finalKeyLight + ".color"; + attrColorSliderGrp -width 350 + -adjustableColumn 1 + -attribute $colorAttrKey + -label "Color" + -columnAlign 1 "center" + -columnAttach 1 "left" 10 + myAttrColorSliderGrp_Key; + + separator -style "none" -w 350 -h 4; + + string $intensityAttrKey = $finalKeyLight + ".intensity"; + attrFieldSliderGrp -width 350 + -adjustableColumn 1 + -fieldMinValue -100 + -fieldMaxValue 9999999 + -minValue 0 + -maxValue 10 + -columnAlign 1 "center" + -columnAttach 1 "left" 5 + -attribute $intensityAttrKey + -label "Intensity" + myAttrFieldSliderGrp_IntenKey; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + string $horAngleAttrKey = $nameLocatorKey + ".ry"; + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the Key light from the camera in the horizontal direction" + -field true + -label "Horizontal Angle" + -columnAlign 1 "center" + -minValue -45.0 -maxValue 45.0 + -precision 3 + myFloatSliderGrp_HorAngKeyEdit; + + connectControl myFloatSliderGrp_HorAngKeyEdit $horAngleAttrKey; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + string $verAngleAttrKey = $nameLocatorKey + ".rz"; + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the Key light from the camera in the vertical direction" + -field true + -label "Vertical Angle" + -columnAlign 1 "center" + -minValue -45.0 -maxValue 45.0 + -precision 3 + myFloatSliderGrp_VerAngKeyEdit; + + connectControl myFloatSliderGrp_VerAngKeyEdit $verAngleAttrKey; + + separator -style "none" -w 350 -h 4; + + setParent ..; + setParent ..; + + //Frame2 - Fill Light Attributes + frameLayout -label ($finalFillLight + " Attributes") -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutFillNew; + + columnLayout myColumnLayout9; + separator -style "none" -w 350 -h 4; + + string $colorAttrFill = $finalFillLight + ".color"; + attrColorSliderGrp -width 350 + -adjustableColumn 1 + -attribute $colorAttrFill + -label "Color" + -columnAlign 1 "center" + -columnAttach 1 "left" 10 + myAttrColorSliderGrp_Fill; + + separator -style "none" -w 350 -h 4; + + string $intensityAttrFill = $finalFillLight + ".intensity"; + attrFieldSliderGrp -width 350 + -adjustableColumn 1 + -fieldMinValue -100 + -fieldMaxValue 9999999 + -minValue 0 + -maxValue 10 + -columnAlign 1 "center" + -columnAttach 1 "left" 5 + -attribute $intensityAttrFill + -label "Intensity" + myAttrFieldSliderGrp_IntenFill; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + string $horAngleAttrFill = $nameLocatorFill + ".ry"; + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the Fill light from the camera in the horizontal direction" + -field true + -label "Horizontal Angle" + -columnAlign 1 "center" + -minValue -45.0 -maxValue 45.0 + -precision 3 + myFloatSliderGrp_HorAngFillEdit; + + connectControl myFloatSliderGrp_HorAngFillEdit $horAngleAttrFill; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + string $verAngleAttrFill = $nameLocatorFill + ".rz"; + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the Fill light from the camera in the vertical direction" + -field true + -label "Vertical Angle" + -columnAlign 1 "center" + -minValue -45.0 -maxValue 45.0 + -precision 3 + myFloatSliderGrp_VerAngFillEdit; + + connectControl myFloatSliderGrp_VerAngFillEdit $verAngleAttrFill; + + separator -style "none" -w 350 -h 4; + + setParent ..; + setParent ..; + + //Frame3 - Back Light Attributes + int $boolBackLight = `checkBox -query -value myCheckBack`; + + if (!$boolBackLight) + { + // To select the final Back Light. + string $locatorBackChildren[] = `listRelatives -c $nameLocatorBack`; + string $finalBackLight = $locatorBackChildren[1]; + + frameLayout -label ($finalBackLight + " Attributes") -w 350 -borderStyle "etchedIn" + -font "boldLabelFont" -collapsable true myFrameLayoutBackNew; + + columnLayout myColumnLayout10; + separator -style "none" -w 350 -h 4; + + string $colorAttrBack = $finalBackLight + ".color"; + attrColorSliderGrp -width 350 + -adjustableColumn 1 + -attribute $colorAttrBack + -label "Color" + -columnAlign 1 "center" + -columnAttach 1 "left" 10 + myAttrColorSliderGrp_Back; + + separator -style "none" -w 350 -h 4; + + string $intensityAttrBack = $finalBackLight + ".intensity"; + attrFieldSliderGrp -width 350 + -adjustableColumn 1 + -fieldMinValue -100 + -fieldMaxValue 9999999 + -minValue 0 + -maxValue 10 + -columnAlign 1 "center" + -columnAttach 1 "left" 5 + -attribute $intensityAttrBack + -label "Intensity" + myAttrFieldSliderGrp_IntenBack; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + string $horAngleAttrBack = $nameLocatorBack + ".ry"; + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the Back light from the camera in the horizontal direction" + -field true + -label "Horizontal Angle" + -columnAlign 1 "center" + -minValue -45.0 -maxValue 45.0 + -precision 3 + myFloatSliderGrp_HorAngBackEdit; + + connectControl myFloatSliderGrp_HorAngBackEdit $horAngleAttrBack; + + separator -style "in" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + string $verAngleAttrBack = $nameLocatorBack + ".rz"; + floatSliderGrp -width 350 + -adjustableColumn 1 + -ann "Angle of the Back light from the camera in the vertical direction" + -field true + -label "Vertical Angle" + -columnAlign 1 "center" + -minValue -45.0 -maxValue 45.0 + -precision 3 + myFloatSliderGrp_VerAngBackEdit; + + connectControl myFloatSliderGrp_VerAngBackEdit $verAngleAttrBack; + + separator -style "none" -w 350 -h 4; + + setParent ..; + setParent ..; + } + separator -style "none" -w 350 -h 4; + separator -style "out" -w 350 -h 4; + separator -style "none" -w 350 -h 4; + + button -width 350 + -label "Click AFTER deciding FINAL POSITION of the lights" + -align "center" + -recomputeSize true + -command "finishProc();" + btnFinishProc; + + separator -style "none" -w 350 -h 4; + separator -style "out" -w 350 -h 4; + + // Disable controls in TAB1. + disableTab1(); + +showWindow $myWindowLightEdit; +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure to unparent the lights and delete the locators. +global proc finishProc() +{ + global string $nameLocatorKey; + global string $nameLocatorFill; + global string $nameLocatorBack; + + string $listTransforms[] = `ls -transforms "locator*"`; + + for ($locator in $listTransforms) + { + if ($locator == $nameLocatorKey) + { + // To select the final Key Light. + string $locatorKeyChildren[] = `listRelatives -c $nameLocatorKey`; + string $finalKeyLight = $locatorKeyChildren[1]; + // Unparent the Light and delete the locator. + parent -world $finalKeyLight; + delete $nameLocatorKey; + } + else if ($locator == $nameLocatorFill) + { + // To select the final Fill Light. + string $locatorFillChildren[] = `listRelatives -c $nameLocatorFill`; + string $finalFillLight = $locatorFillChildren[1]; + // Unparent the Light and delete the locator. + parent -world $finalFillLight; + delete $nameLocatorFill; + } + else if ($locator == $nameLocatorBack) + { + // To select the final Fill Light. + string $locatorBackChildren[] = `listRelatives -c $nameLocatorBack`; + string $finalBackLight = $locatorBackChildren[1]; + // Unparent the Light and delete the locator. + parent -world $finalBackLight; + delete $nameLocatorBack; + } + } +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure for enabling custom value FloatSlider for Key-To-Fill ratios. +global proc onCustomRBtn() +{ + floatSliderGrp -edit -enable true myFloatSliderGrp_CusKTF; +} + + +// Procedure for disabling custom value FloatSlider for Key-To-Fill ratios. +global proc offCustomRBtn() +{ + floatSliderGrp -edit -enable false myFloatSliderGrp_CusKTF; +} + +//--------------------------------------------------------------------------------------------------------------- +// Procedure for Enabling / Disabling Back Light Settings. +global proc chngStateCheckBack() +{ + int $boolBackLight = `checkBox -query -value myCheckBack`; + if ($boolBackLight) + { + textField -edit -enable false myNameBack; + radioButton -edit -enable false rBtnSpotBack; + radioButton -edit -enable false rBtnDirectionalBack; + } + else + { + textField -edit -enable true myNameBack; + radioButton -edit -enable true rBtnSpotBack; + radioButton -edit -enable true rBtnDirectionalBack; + } +} diff --git a/2009-x64/Maya.env b/2009-x64/Maya.env new file mode 100644 index 0000000..d34f157 --- /dev/null +++ b/2009-x64/Maya.env @@ -0,0 +1,32 @@ +# Lines starting with # are comments / commented out... + +# DISABLE_GENERICK_INTERNAL_ZOO_SCRIPT_NODES = TRUE + +MAYA_VERSIONED_SETTINGS_DIR = %LOCAL_MAYA_2009_DIR% +MAYA_VERSION = 2009 +#MAYA_VERSION_EXTENSION = -x64 +#MAYA_VERSIONED_SETTINGS_DIR = %MAYA_APP_DIR%\%MAYA_VERSION%%MAYA_VERSION_EXTENSION% + +MAYA_MODULE_PATH = %MAYA_APP_DIR%\%MAYA_VERSION%\modules\%USERDOMAIN% +ANIMATION_SCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\AnimationScripts +CPS = %MAYA_VERSIONED_SETTINGS_DIR%\cps4.03 +OMTOOLBOX = %MAYA_VERSIONED_SETTINGS_DIR%\omtoolbox +PAUL_SCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\PaulScripts +MISC_SCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\MiscScripts +GAME_PROD = %MAYA_VERSIONED_SETTINGS_DIR%\GameProd +PYMEL = %MAYA_VERSIONED_SETTINGS_DIR%\PyMelBase +ZOOSCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\zooScripts +MENTALRAY_USER = %MAYA_VERSIONED_SETTINGS_DIR%\mentalray +STOP_STARING = %MAYA_VERSIONED_SETTINGS_DIR%\StopStaring +COMET_SCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\CometScripts +LIGHT_MAP_GEN = %MAYA_VERSIONED_SETTINGS_DIR%\lightMapGen +SPHERICAL_LIGHT = %MAYA_VERSIONED_SETTINGS_DIR%\sphericalLight + +MAYA_SCRIPT_PATH = %PAUL_SCRIPTS%\scripts;%MISC_SCRIPTS%\scripts;%ANIMATION_SCRIPTS%\scripts;%CPS%\scripts;%OMTOOLBOX%\scripts;%ZOOSCRIPTS%\scripts;%MENTALRAY_USER%\scripts;%STOP_STARING%\scripts;%COMET_SCRIPTS%\scripts;%LIGHT_MAP_GEN%\mel;%SPHERICAL_LIGHT%\mel +XBMLANGPATH = %PAUL_SCRIPTS%\icons;%MISC_SCRIPTS%\icons;%ANIMATION_SCRIPTS%\icons;%CPS%\icons;%OMTOOLBOX%\icons;%ZOOSCRIPTS%\icons;%MENTALRAY_USER%\icons;%COMET_SCRIPTS%\icons + +MI_CUSTOM_SHADER_PATH = %MENTALRAY_USER%\include;%MAYA_LOCATION%\mentalray\include;%SPHERICAL_LIGHT%\include +MI_LIBRARY_PATH = %MENTALRAY_USER%\lib_%PROCESSOR_BITS%-bit;%MAYA_LOCATION%\mentalray\lib;%SPHERICAL_LIGHT%\lib-win%PROCESSOR_BITS% +# PYTHONPATH now set in userSetup.py + +MAYA_PLUG_IN_PATH = C:\Dev\Projects\eclipse\workspace\softIK\src \ No newline at end of file diff --git a/2009-x64/Maya.env._1_ b/2009-x64/Maya.env._1_ new file mode 100644 index 0000000..38c69fe --- /dev/null +++ b/2009-x64/Maya.env._1_ @@ -0,0 +1,19 @@ +# Lines starting with # are comments / commented out... + +# DISABLE_GENERICK_INTERNAL_ZOO_SCRIPT_NODES = TRUE + +MAYA_VERSIONED_SETTINGS_DIR = %LOCAL_MAYA_2008_DIR% + +MAYA_MODULE_PATH = %MAYA_APP_DIR%\%MAYA_VERSION%\modules\%USERDOMAIN% +ANIMATION_SCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\AnimationScripts +CPS = %MAYA_VERSIONED_SETTINGS_DIR%\cps4.03 +MAYA7_ICONS = %MAYA_VERSIONED_SETTINGS_DIR%\Maya7Icons +OMTOOLBOX = %MAYA_VERSIONED_SETTINGS_DIR%\omtoolbox +PAUL_SCRIPTS = %MAYA_VERSIONED_SETTINGS_DIR%\PaulScripts +GAME_PROD = %MAYA_VERSIONED_SETTINGS_DIR%\GameProd +DRASTER = %MAYA_VERSIONED_SETTINGS_DIR%\dRaster\%PROCESSOR_ARCHITECTURE%\1.5\maya + +MAYA_SCRIPT_PATH = %ANIMATION_SCRIPTS%\scripts;%CPS%\scripts;%MAYA7_ICONS%\scripts;%OMTOOLBOX%\scripts;%PAUL_SCRIPTS%\scripts;%GAME_PROD%\scripts;%DRASTER% +MAYA_PLUG_IN_PATH = %DRASTER%\%MAYA_VERSION%\plug-ins +XBMLANGPATH = %ANIMATION_SCRIPTS%\icons;%CPS%\icons;%MAYA7_ICONS%\icons;%OMTOOLBOX%\icons;%PAUL_SCRIPTS%\icons;%GAME_PROD%\icons;%DRASTER%\%MAYA_VERSION%\icons +# PYTHONPATH = %PYTHONPATH%;%OMTOOLBOX%\pyScripts;%PAUL_SCRIPTS%\pyScripts;C:\MayaBonusTools2008\python;C:\Program Files\Autodesk\MayaBonusTools8.5\python \ No newline at end of file diff --git a/2009-x64/MiscScripts/HKMagnetTool Documentation.txt b/2009-x64/MiscScripts/HKMagnetTool Documentation.txt new file mode 100644 index 0000000..1385513 --- /dev/null +++ b/2009-x64/MiscScripts/HKMagnetTool Documentation.txt @@ -0,0 +1,77 @@ +* * +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| HK Magnet Tool Documentation ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| + +Author: Henry Korol ( HawK) + Date created: 27.08.2004 +Version 1.0 + +|----------------------------------------------------------------------------------- Installation -------------------------------------------------------------------------------------------------| + + 1. Copy the HKMagnetTool.mel file to " Documents and Settings\"Username"\My Documents\maya\6.0\scripts" + + 2. Copy the HKMagnetIcon.bmp to " Documents and Settings\"Username"\My Documents\maya\6.0\prefs\icons " + + 3. Open your userSetup.mel file located at "My Documents\maya\6.0\scripts" and type new line with this code: " HKMagnetTool; " + + 4. Open Maya. To install an Magnet Icon on the shelf select the shelf where you want the button to be placed, and in command line, + or in script editor call " HKMInstallShelfIcon; " The new shelf button will be created. Clicking the button will activate the Magnet tool, + to enter tool options double click the shelf button. + + * In case you will want to assign a hotkey or marking menu on Magnet: to Enter the tool use "HKMagnetToolEnter;" command. + To open option window for this tool use "HKMOptionBox;" command. + +|-------------------------------------------------------------------------------- Tool Description --------------------------------------------------------------------------------------------| + + This tool is designed to speed up polygon modeling( tweaking) in maya. It allows to move the points on the mesh in one click. The + points in fallof radius( larger circle) are moved proportionally from the cursors center( using defined falloff ), + the points that are in offset radius ( smallers circle) are moved with cursor. The vertexies are moved in a plane which is most + perpendicular to the current view direction ( The curren slide plane is printed in the output line). + The tool can be used on multiple objects at the time. + After installing the shelf icon with the tool( see Installation) you'll be able to call it by clicking the button, or changing the options by +double clicking the shelf button. + The tool uses it's own undo( see Actions) so while the tool is activated maya's native undo is turned off, but the queue is preserved. + To complete the tool just call any other tool( select, move, scale). + +|--------------------------------------------------------------------------------- Tool Options -------------------------------------------------------------------------------------------------| + +* Apply Tool On: + Whole Object - all vertexies of the selected object(s) are affected. + Components - select the components to use with the tool and activate it. Only those vertexies are affected by the tool. + +*** Radius - the maximum distance from the cursor at which the vertexies are affected. + +*** Offset - the radius in which vertexies are moved without falloff. + +* Falloff Type: + *Note that the falloff calculation starts from the offset circle and not from the cursor. + Linear - vertex is moved proportionally based on inverse linear proportionality ( Affect value => Distance to the cursor ). + Smooth - vertex is moved proportionally based on inverse square proportionality ( Affect value => (Distance to the cursor)^2 ). + +* Backface Culling: + Toggles the back face culling for the object. Note that tool ignores objects backface culling parameters. + +*** Display Control Curves - toggles the display of curves showing the radius and offset sizes. + ( the vertexies are still selected during the radius change so you can see the which vertexies you will affect). + +* Kill history on tool completion: + Toggles if the objects history is deleted after the tools completion. + +The controls marked with *** can be modyfied using keyboard and mouse combinations( see Actions ) + +|------------------------------------------------------------------------------------- Actions -------------------------------------------------------------------------------------------------| + + To Change the magnet's radius click drag middle mouse button. To change tool's offset press ctrl and middle mouse drag. + To Toggle Control Curves Display hold shift and middle mouse click. + To Undo previous action left mouse click holding the ctrl key. + To Undo all actions performed with this tool hold control + left mouse button for 3 - 4 seconds. + + -------------------------------------------------------------------------------------- Limitations ---------------------------------------------------------------------------------------------- + + Since the tool works in local space and distance is calculated in world direction, it is prefered that the rotation transformations are + freezed on deformed object(s). + You won't be able to use maya's undo while the tool is activated. + You won't be able to use script's undo after deleting objects history. + You won't be able to complete the tool using the complete tool command, instead just call any other tool. + The tool works only on maya version 6( or higher :-) ) since it uses some of the new features. + +* * \ No newline at end of file diff --git a/2009-x64/MiscScripts/abxPicker.zip b/2009-x64/MiscScripts/abxPicker.zip new file mode 100644 index 0000000..1fccdeb Binary files /dev/null and b/2009-x64/MiscScripts/abxPicker.zip differ diff --git a/2009-x64/MiscScripts/djRivet - README.txt b/2009-x64/MiscScripts/djRivet - README.txt new file mode 100644 index 0000000..80de9ef --- /dev/null +++ b/2009-x64/MiscScripts/djRivet - README.txt @@ -0,0 +1,33 @@ +//////////////////////////////////////////////////////////////////////////////////////////// +// author: David Johnson +// contact: david@djx.com.au +// website: www.djx.com.au +// last rev: 28 Aug 2007 +// version: 1.5.5 +// +// ©2007 David Johnson +//////////////////////////////////////////////////////////////////////////////////////////// + +ZIP file contents: + +djRivet - README.txt You are reading it :) +djRivet.bmp A windows bmp image shelf icon (put it in your icons or bitmaps folder) +djRivet_makeShelfButton.mel Creates a shelf button that you can use to run djRivet + +djRivet.mel The mel script (for maya 7,8,8.5) + +extras (required for maya 7)/ + AEclosestPointOnMeshTemplate.mel Maya 7 Plugin template for attribute editor + closestPointOnMesh.mll Required maya 7 plugin + +Open the mel files in a text editor and you will find usage instructions at the head of the file. + + + +NOTE: The closestPointOnMesh plugin which is used by djRivet.mel is part of the default maya 8 & 8.5 install. + If you are using maya 8 or 8.5 you dont need to worry about this. + + In maya 7 this plugin was part of the optional bonus tools. + If you are using maya 7 you must install the plugin by putting it in your plugins folder, + and loading it using the plugin manager. + AEclosestPointOnMeshTemplate.mel goes in your scripts folder. diff --git a/2009-x64/MiscScripts/djRivet_v1.5.5.zip b/2009-x64/MiscScripts/djRivet_v1.5.5.zip new file mode 100644 index 0000000..0c1cd13 Binary files /dev/null and b/2009-x64/MiscScripts/djRivet_v1.5.5.zip differ diff --git a/2009-x64/MiscScripts/icons/GIJoe_icon.bmp b/2009-x64/MiscScripts/icons/GIJoe_icon.bmp new file mode 100644 index 0000000..033e568 Binary files /dev/null and b/2009-x64/MiscScripts/icons/GIJoe_icon.bmp differ diff --git a/2009-x64/MiscScripts/icons/HKMagnetIcon.bmp b/2009-x64/MiscScripts/icons/HKMagnetIcon.bmp new file mode 100644 index 0000000..9159167 Binary files /dev/null and b/2009-x64/MiscScripts/icons/HKMagnetIcon.bmp differ diff --git a/2009-x64/MiscScripts/icons/LTIcon.bmp b/2009-x64/MiscScripts/icons/LTIcon.bmp new file mode 100644 index 0000000..fa160a1 Binary files /dev/null and b/2009-x64/MiscScripts/icons/LTIcon.bmp differ diff --git a/2009-x64/MiscScripts/icons/Nelson3DHor.bmp b/2009-x64/MiscScripts/icons/Nelson3DHor.bmp new file mode 100644 index 0000000..982ee9b Binary files /dev/null and b/2009-x64/MiscScripts/icons/Nelson3DHor.bmp differ diff --git a/2009-x64/MiscScripts/icons/Persp_Persp_Graph_Layout.bmp b/2009-x64/MiscScripts/icons/Persp_Persp_Graph_Layout.bmp new file mode 100644 index 0000000..27aae01 Binary files /dev/null and b/2009-x64/MiscScripts/icons/Persp_Persp_Graph_Layout.bmp differ diff --git a/2009-x64/MiscScripts/icons/StaticMesh.bmp b/2009-x64/MiscScripts/icons/StaticMesh.bmp new file mode 100644 index 0000000..5677f48 Binary files /dev/null and b/2009-x64/MiscScripts/icons/StaticMesh.bmp differ diff --git a/2009-x64/MiscScripts/icons/abxPicker.bmp b/2009-x64/MiscScripts/icons/abxPicker.bmp new file mode 100644 index 0000000..39de429 Binary files /dev/null and b/2009-x64/MiscScripts/icons/abxPicker.bmp differ diff --git a/2009-x64/MiscScripts/icons/abxSmartKey.bmp b/2009-x64/MiscScripts/icons/abxSmartKey.bmp new file mode 100644 index 0000000..01906fa Binary files /dev/null and b/2009-x64/MiscScripts/icons/abxSmartKey.bmp differ diff --git a/2009-x64/MiscScripts/icons/djRivet.bmp b/2009-x64/MiscScripts/icons/djRivet.bmp new file mode 100644 index 0000000..0a81a1e Binary files /dev/null and b/2009-x64/MiscScripts/icons/djRivet.bmp differ diff --git a/2009-x64/MiscScripts/icons/rivet.xpm b/2009-x64/MiscScripts/icons/rivet.xpm new file mode 100644 index 0000000..606406f --- /dev/null +++ b/2009-x64/MiscScripts/icons/rivet.xpm @@ -0,0 +1,295 @@ +/* XPM */ +static char *rivet[] = { +/* width height num_colors chars_per_pixel */ +" 32 32 256 2", +/* colors */ +"`` c #1c2a1c", +"`. c #548654", +"`# c #84420c", +"`a c #ac8674", +"`b c #acb2ac", +"`c c #8c6a4c", +"`d c #245a1c", +"`e c #8c7664", +"`f c #4c624c", +"`g c #dcb294", +"`h c #bc9e84", +"`i c #848684", +"`j c #2c6e24", +"`k c #ac764c", +"`l c #dccabc", +"`m c #945214", +"`n c #84a284", +"`o c #246624", +"`p c #b49274", +"`q c #3c5e3c", +"`r c #9c765c", +"`s c #6c4a1c", +"`t c #2c4224", +"`u c #24621c", +"`v c #c49e84", +"`w c #8c725c", +"`x c #8c4a14", +"`y c #ecbe9c", +"`z c #a4866c", +"`A c #ac7e54", +"`B c #e4d6cc", +"`C c #ccb29c", +"`D c #9c5224", +"`E c #9c9e9c", +"`F c #9c7e64", +"`G c #2c5a1c", +"`H c #c49264", +"`I c #ccaa94", +"`J c #9c6e4c", +"`K c #bc8664", +"`L c #347a2c", +"`M c #eccab4", +"`N c #245224", +"`O c #6c866c", +"`P c #bcbebc", +"`Q c #547654", +"`R c #dcbea4", +"`S c #8c968c", +"`T c #bc8254", +"`U c #94420c", +"`V c #dcd2cc", +"`W c #845a34", +"`X c #ac7e6c", +"`Y c #a47244", +"`Z c #243624", +"`0 c #bcbabc", +"`1 c #8c827c", +"`2 c #3c6e3c", +"`3 c #3c663c", +"`4 c #bc9a7c", +"`5 c #d49e74", +"`6 c #9c4a14", +"`7 c #a4aaa4", +"`8 c #a47e64", +".` c #2c5a2c", +".. c #6c966c", +".# c #647664", +".a c #8c460c", +".b c #b4bab4", +".c c #94765c", +".d c #acaaac", +".e c #347224", +".f c #e4cab4", +".g c #94a694", +".h c #a47654", +".i c #2c621c", +".j c #c4a68c", +".k c #ecc6a4", +".l c #9c9a9c", +".m c #bc8e6c", +".n c #2c5624", +".o c #8c3e04", +".p c #b48e6c", +".q c #b4b2b4", +".r c #9c6234", +".s c #245e1c", +".t c #e4ba94", +".u c #948a84", +".v c #b47a54", +".w c #945224", +".x c #8ca68c", +".y c #2c6624", +".z c #b49684", +".A c #244a24", +".B c #944a14", +".C c #b4825c", +".D c #a45a2c", +".E c #9ca69c", +".F c #2c5e1c", +".G c #c49a7c", +".H c #d4ae8c", +".I c #c48654", +".J c #748e74", +".K c #e4c2ac", +".L c #8c9a8c", +".M c #a46e54", +".N c #947a6c", +".O c #a47a64", +".P c #243224", +".Q c #94663c", +".R c #8c8e8c", +".S c #2c722c", +".T c #ac7a5c", +".U c #8c9e8c", +".V c #cca27c", +".W c #946e4c", +".X c #ac825c", +".Y c #ecd6c4", +".Z c #c4c2bc", +".0 c #a45624", +".1 c #9c826c", +".2 c #c4966c", +".3 c #9c724c", +".4 c #3c763c", +".5 c #2c4e24", +".6 c #748a6c", +".7 c #547e54", +".8 c #dcc2ac", +"#` c #949294", +"#. c #649664", +"## c #b4a6a4", +"#a c #647e64", +"#b c #d4baac", +"#c c #5c6644", +"#d c #945a2c", +"#e c #2c3e24", +"#f c #ecd2bc", +"#g c #a4b2a4", +"#h c #8c8a8c", +"#i c #a4a2a4", +"#j c #b48264", +"#k c #749274", +"#l c #b4aaa4", +"#m c #a49694", +"#n c #6c826c", +"#o c #242e1c", +"#p c #946a4c", +"#q c #bc926c", +"#r c #e4d2c4", +"#s c #cca684", +"#t c #f4c6a4", +"#u c #bc967c", +"#v c #a4a6a4", +"#w c #2c622c", +"#x c #2c4a24", +"#y c #dccec4", +"#z c #c4a28c", +"#A c #9c4e1c", +"#B c #a48264", +"#C c #947a64", +"#D c #e4cebc", +"#E c #a47a54", +"#F c #8c4204", +"#G c #945624", +"#H c #2c6a24", +"#I c #944e14", +"#J c #ecdacc", +"#K c #945e34", +"#L c #ac8a74", +"#M c #acb6ac", +"#N c #3c623c", +"#O c #2c4624", +"#P c #ecc29c", +"#Q c #9c5624", +"#R c #ccae94", +"#S c #bc8a64", +"#T c #6c8a6c", +"#U c #bcc2bc", +"#V c #547a54", +"#W c #94460c", +"#X c #ac826c", +"#Y c #243a24", +"#Z c #3c6a3c", +"#0 c #2c5e2c", +"#1 c #acaeac", +"#2 c #b4b6b4", +"#3 c #a47254", +"#4 c #8ca28c", +"#5 c #3c7a3c", +"#6 c #2c5224", +"#7 c #949694", +"#8 c #a49a94", +"a` c #245a24", +"a. c #2c6e2c", +"a# c #ac7654", +"aa c #246224", +"ab c #a48674", +"ac c #ac7e5c", +"ad c #9c7e6c", +"ae c #2c5a24", +"af c #c4926c", +"ag c #9c6e54", +"ah c #dcbeac", +"ai c #a4724c", +"aj c #bc9a84", +"ak c #a47e6c", +"al c #947664", +"am c #34722c", +"an c #e4cabc", +"ao c #a4765c", +"ap c #2c6224", +"aq c #ecc6ac", +"ar c #2c562c", +"as c #b48e74", +"at c #245e24", +"au c #e4ba9c", +"av c #944a1c", +"aw c #2c5e24", +"ax c #d4ae94", +"ay c #c4865c", +"az c #946e54", +"aA c #c4c2c4", +"aB c #8c420c", +"aC c #94562c", +"aD c #2c6a2c", +"aE c #000000", +"aF c #000000", +"aG c #000000", +"aH c #000000", +"aI c #000000", +"aJ c #000000", +"aK c #000000", +"aL c #000000", +"aM c #000000", +"aN c #000000", +"aO c #000000", +"aP c #000000", +"aQ c #000000", +"aR c #000000", +"aS c #000000", +"aT c #000000", +"aU c #000000", +"aV c #000000", +"aW c #000000", +"aX c #000000", +"aY c #000000", +"aZ c #000000", +"a0 c #000000", +"a1 c #000000", +"a2 c #000000", +"a3 c #000000", +"a4 c #000000", +"a5 c #000000", +"a6 c #000000", +"a7 c #000000", +"a8 c #000000", +/* pixels */ +"aAaA#UaAaA#UaAaA#UaA#U#4#4`baAaA#UaAaA#UaAaA#UaAaA#UaAaA#UaAaA#U", +"#UaAaA#UaAaA#UaAaA`P#0.nae#O#UaAaA#UaAaA#UaAaA#UaAaA#UaAaA#UaAaA", +"aA`PaAaA`PaAaA`PaAaA`2.saw`t#UaA`PaA`PaAaA`PaAaA`PaAaA`PaAaA`PaA", +"aA#UaA`PaA`PaAaA#UaA#V`d.F`N`PaAaA#UaA`PaAaA`PaAaA`PaAaA`PaA#UaA", +"aA`PaAaAaAaA#UaAaA`P#Zaw`d`NaA#UaAaAaAaA#UaAaA#UaAaA#UaAaA#UaAaA", +"aAaA#UaA#UaA`PaA`PaA#Z.saw#YaAaA`PaA`PaAaA`PaAaA`PaAaA`PaAaA`PaA", +"#UaA`PaA`PaAaA`PaAaA#V.Fat`NaA`PaAaA#UaA`PaA`PaAaA`PaAaA`PaAaA#U", +"aAaA#UaAaA`PaAaA#UaA#Taw`G#0.ZaA.b#ka`.gaA.ZaA#UaAaA#UaAaA`PaAaA", +"#UaA`7`P#UaA.Z`PaAaA#T`uat.`#U.J#6.n#O`Q`P#UaAaA`PaAaA`PaAaA`PaA", +"aA#.#H.iat.4.x`b#UaA#V.i`u#Oa`.n`N#O``#UaAaA`PaAaA`PaAaA#UaA#UaA", +"aA`..s.y#H`j#H.yap`o`o.yaw#O`N#x#Y.#aAaA`PaAaA`PaAaA#UaAaA`PaAaA", +"#U`0#n.`.5`Gap.y#H`jaw`jaa.e`d#O#a.Z`PaAaA`PaAaA#UaAaA`PaAaA`PaA", +"aA#UaA#U.Z.E`O`N.n`d#H`G`j.e.S`L.yap.S`2#k`P#UaAaA`PaAaA`PaAaA#U", +"aA.Z`PaA`PaA`Pat#H.F`N.i.5a`.y#H`j#H`j#H.y.saaaD.g`PaA`PaA#UaAaA", +"#UaAaA`PaA.7a`#H.n.5#O.P#O.n.``t#x.Fat.y.y#H#H.y`q`0`PaA`PaA`PaA", +"aA`PaA#Tat#6`G#6`N#Y#Y`N`d#ZaA#U.E#c`s`##F.o#FaB`W##`0`0`P`PaA`P", +"aA#U#5ae.n`N.5#x#o`S#T`Gae`3aA`P`a`x#Q#3.h.p`A.Q.0`6#B#2`0`0`PaA", +"aAaAa.a``G#x`Z.P#2aA.Lat`d#NaAab#Wao.W#p`c.c`r.h.C`K`6`X#1`0`0`P", +"#UaA..aea`#Y`faA#UaA.U.Fae`3#lav`r#p`wal.c#C`F`p#z.2`K#A#8#1`0`0", +"aA`PaA#4a.`baAaA`PaA.L.s`N#V#3`D`J`e.cad`p#u`4#s`g`g`5.0.M#i#1`0", +"aAaA`PaA#UaA`PaAaA#U.Uaw`d`O#I.T.3`F`F`4.H`y#t#P`yau.V.C`D.l.d#2", +"#UaA#UaAaA`PaA#UaAaA.L`dae`Q#Fac`r`F`Y.B`T.t.I#I`Haq.H#S.a#`#i`b", +"aAaAaA`PaAaAaAaA`P#UaA..`n#2.o.m`F#B.B.o.o.o#F.o`m.fah#z#F.R.l#1", +"#UaA`PaA#UaA`PaAaAaA`PaAaA`0#W.p`8`p`k#I.I#P`T`maf`l#R#L.B`i.l.d", +"aA`PaAaA`PaA#UaA`PaA`PaA`P`0`D.v.T`h#s.tau`y.k#f#f`l`4`8#d`i#7.d", +"aAaA#UaAaA`PaA`PaAaA#UaA`P`P.M.0#S.H`gau.K#D#f#J`B#y.z.raz#h.l`7", +"#UaAaA`PaAaA#UaA#UaAaA`PaA`0#l#A.C`H.H`R.8.f#y#r`V.j#L#d`1.R.l#1", +"aA`PaAaA#UaAaAaAaA`PaAaA`P`P`0#X.B.T#q.G.j#b`Caj.z#L#G`e.R#`#i#1", +"aA#UaA`PaA`PaA`PaA`PaA`PaA`P`0#2ak.BaC.h#B.z`z`8#K#d`e`S#h`E.d#2", +"aA#UaAaAaA#UaA`PaAaA#UaAaAaA`P`0#1#8`J.w.a#F`x#d`c`1`S#h.l#v#1`0", +"aAaA`PaA`PaAaAaA#UaAaA`PaA`P`P`0#2.q#i`E#`.R`i.R#7.R#`.l#v.q#2`0", +"#UaA`PaAaA`PaA`PaA`PaAaA#UaAaA`P`P#2`b.d`E`E.l#7.l.l#i.d#1#2`0aA" +}; diff --git a/2009-x64/MiscScripts/icons/sIBL.xpm b/2009-x64/MiscScripts/icons/sIBL.xpm new file mode 100644 index 0000000..d0e625b --- /dev/null +++ b/2009-x64/MiscScripts/icons/sIBL.xpm @@ -0,0 +1,66 @@ +/* XPM */ +static char *sIBL[] = { +/* width height ncolors chars_per_pixel */ +"32 32 28 2", +/* colors */ +"AA c #D8D8D8D8D8D8", +"BA c #D0D0D0D0D0D0", +"CA c #C8C8C8C8C8C8", +"DA c #C0C0C0C0C0C0", +"EA c #B8B8B8B8B8B8", +"FA c #B0B0B0B0B0B0", +"GA c #A8A8A8A8A8A8", +"HA c #A0A0A0A0A0A0", +"IA c #989898989898", +"JA c #909090909090", +"KA c #888888888888", +"LA c #808080808080", +"MA c #787878787878", +"NA c #707070707070", +"OA c #686868686868", +"PA c #606060606060", +"AB c #585858585858", +"BB c #505050505050", +"CB c #484848484848", +"DB c #404040404040", +"EB c #383838383838", +"FB c #303030303030", +"GB c #282828282828", +"HB c #202020202020", +"IB c #181818181818", +"JB c #101010101010", +"KB c #080808080808", +"LB c #000000000000", +/* pixels */ +"HBIBJBJBIBJBJBJBIBIBJBIBJBIBJBJBIBJBJBIBFBDBGBIBIBKBIBJBJBIBJBGB", +"JBLBLBLBLBLBLBLBLBLBLBLBLBLBLBJBLBJBMACAAABAAACAPAIBLBKBKBLBLBJB", +"KBLBLBLBLBLBLBLBKBLBKBLBLBLBEBABDBEABAGAFABABACABAFACBNAMAMAHBKB", +"LBLBLBLBLBLBLBKBLBLBLBKBLBJBHAJAEAFAFADABACACABABACAGAKABACAFAJB", +"LBLBLBLBLBLBLBLBLBKBLBKBLBIBGAKADAGADAAACACAAACACABACALAFABABAJB", +"LBLBLBKBLBLBLBLBLBLBLBLBKBHBLAGAGACABADABADAGAEACAAADAHAJACADAGB", +"LBLBLBLBLBLBLBLBKBLBLBLBLBHBNACAHADAAACAHAMANALACACAAAEAKADABAHB", +"KBLBLBLBLBLBLBLBLBKBLBKBLBIBLAEAGACABAIAMAHADAFADABACADAMABADAHB", +"LBLBLBLBLBLBLBLBKBLBKBLBKBIBNADAEABAEAMAHABABAFAEABABADAMABACAHB", +"KBLBLBLBLBLBLBLBLBLBLBLBLBIBKAHABACACAFAGADABAEAFACABAFAKACACAHB", +"LBLBLBLBLBLBKBLBLBLBLBKBLBIBGALABABABACAFAFABACAHABACALAFACABAHB", +"KBLBLBLBLBLBLBLBLBLBKBLBLBHBDAJAJABABACACAFAGABAGACAGAMABABACAHB", +"LBLBLBLBLBKBLBLBLBLBLBLBLBIBBADAMAHACAAABADAGAEADAHAMAFACABADAHB", +"KBLBLBLBLBLBLBLBLBLBLBLBLBJBDABACALALAHADAAADAHAIALAMAIABABABAHB", +"LBLBLBLBLBLBLBLBLBLBKBLBKBJBDACAAADAFAJALAMAPALAKAKAKANAEADABAIB", +"KBLBLBLBLBKBLBLBLBLBLBLBLBIBDABACABABABACABAIANALAKAMAOAJABACAHB", +"JBJBLBLBKBLBKBIBLBKBLBLBKBIBCABABABACACACABADANAMAMAMAMAPADABAHB", +"FBCAFBLBLBLBHAIALBLBLBLBLBIBEACACACACABABACACAJAPAMALAOALACADAHB", +"DBKAJAGBKBMAMALALBKBLBKBLBKBFABACABACABABACABADAMAMAOAABFABAGAIB", +"DBPAGBMACBMAHBNAABPAKBLBLADBIBMALAMAMALAMAMALALAOAOAABBBMANADBLB", +"DBOALBMAEAKBJBKAKBLACBPAOALBKBLBLBKBLBLBLBLBLBLBLBLBLBLBKBLBLBLB", +"CBPALBEBKALBNAFACBJBGAJALBDBEBLBLBLBLBLBLBLBLBLBLBLBLBLBLBKBLBKB", +"EBNAKBJBIBLBFBHBLADBKABBLBHAJAKBLBLBLBLBLBLBLBLBLBLBKBLBLBLBLBLB", +"DBNALBLBLBFBJALACBNAPAEBHBLAJAIBKBLBLBLBLBLBLBLBKBLBKBLBKBLBLBLB", +"DBOALBLBKBKAHBMANALAPAFBOAEBBBOALBLBLBLBLBLBLBLBLBLBLBLBLBLBLBLB", +"EBOALBKBLBNAPABBFAKAABCBIABBJBJAJBLBKBKBLBLBLBKBLBLBLBLBLBLBLBLB", +"DBNALBLBLBHBMAEADBDBOAABMAPAIBMABBLBLBKBLBKBLBLBLBLBLBLBLBLBLBLB", +"CBOALBLBKBLBIBKALANACAIANALALAIAABKBLBLBLBLBLBLBLBLBLBLBLBLBLBLB", +"DBOALBLBLBKBLBKBKBLBOADBLBLBLBLBKBLBLBLBLBLBLBKBLBLBLBLBLBLBLBLB", +"DBOALBLBLBKBKBLBLBLBNAEBLBLBLBKBLBKBKBLBLBLBLBLBLBLBLBLBLBLBLBLB", +"IBFBLBLBKBLBLBLBKBLBGBJBLBKBLBLBKBLBLBLBLBKBKBLBLBLBLBLBLBLBLBLB", +"LBLBKBLBLBLBKBLBLBKBLBLBLBLBLBLBLBLBLBKBLBLBLBLBLBLBLBLBLBLBLBLB"}; diff --git a/2009-x64/MiscScripts/packaged/GI_Joe2-v2.1-.1.zip b/2009-x64/MiscScripts/packaged/GI_Joe2-v2.1-.1.zip new file mode 100644 index 0000000..bf73347 Binary files /dev/null and b/2009-x64/MiscScripts/packaged/GI_Joe2-v2.1-.1.zip differ diff --git a/2009-x64/MiscScripts/packaged/zenTools.zip b/2009-x64/MiscScripts/packaged/zenTools.zip new file mode 100644 index 0000000..741a51b Binary files /dev/null and b/2009-x64/MiscScripts/packaged/zenTools.zip differ diff --git a/2009-x64/MiscScripts/sIBL_readMe.txt b/2009-x64/MiscScripts/sIBL_readMe.txt new file mode 100644 index 0000000..664838d --- /dev/null +++ b/2009-x64/MiscScripts/sIBL_readMe.txt @@ -0,0 +1,26 @@ +sIBL 0.17a +Installation instructions: + +1.Copy all mel files into your maya - script folder. +2.Copy sIBL.xpm into your maya - icons folder. +3.Copy sIBLmaya.jpg in the root of your sIBL-collection folder. +4.Enter sIBL_setup.mel at the command line to install a shelf button for this sIBL. +5.Enter sIBL at the command line to run the script. +6.Create an environment variable called sIBL pointing to your sIBL-collection. If you +don«t know how to do this check out this tutorial: +http://www.renderwahnsinn.de/sIBL-environment/Site/How_to_create_environment_variables_for_sIBL_4_Maya.html + +News: +Thanks to Zap Andersons Production Shaders for Mental Ray this release allows you to use +background, reflection and environment lighting in one render pass with a correct result. +I was finally able to pass on the final gather rays thanks to a cg-talk thread by Filip Orrby. This requires +that users download and install the puppet shaders from http://www.puppet.tfdv.com/download/shaders_p_e.shtml +but enables Maya 8.5 users to render everything in one pass! +For anyone who is running Maya 2008 or above I recommend turning on the "use rayswitch" - parameter! + +For more details about sIBL visit http://www.smartibl.com! + +If you have any ideas how to improve this script send me an email or join us at the forum! + +Volker Heisterberg (volk@renderwahnsinn.de) + diff --git a/2009-x64/MiscScripts/scripts/AS_Optimizer.mel b/2009-x64/MiscScripts/scripts/AS_Optimizer.mel new file mode 100644 index 0000000..c4a884f --- /dev/null +++ b/2009-x64/MiscScripts/scripts/AS_Optimizer.mel @@ -0,0 +1,138 @@ +//-------------------------------------------------------------------------------------------------------------------------------------// +//-------------------------------------------------------------------------------------------------------------------------------------// +// SCRIPT: AS_Optimizer V1.0 +// AUTHOR: Asi Sudai Character TD, Animator +// http://www.reel.asimation.com +// asi@asimation.com +// +// +// DATE: 23/12/2004 17:02 +// +// DESCRIPTION: This script use the command "dgtimer" that not so famous among users. +// dgtimer is built-in pluging to measures dependency graph node performance. +// after optimizing you can print all the data to a text file, and lock for +// Black holes in the scene. +// +// Update 1.0: We start here. +// +// Known Bugs: pressing "ESC" isn't really stoping... +//-------------------------------------------------------------------------------------------------------------------------------------// +// Run Proc: AS_Optimizer +//-------------------------------------------------------------------------------------------------------------------------------------// + + + +//----------- +// Optimiz Action Proc +//----------- +global proc AS_OptimizerStart() +{ + // Quary Usetr playBack options. + // We need to change them before dgTime, and return them after. + float $minTime=`playbackOptions -q -min`; + float $maxTime=`playbackOptions -q -max`; + string $playOption=`playbackOptions -q -l`; + + // If no File selected, use the Temp file + if (`textFieldButtonGrp -q -fi Optimizer_file`==" - no file to save data - ") + textFieldButtonGrp -e -fi (`internalVar -utd`+"OptimizTemp.mel") Optimizer_file; + + // Quary Optimizer UI settings + string $fileName=`textFieldButtonGrp -q -fi Optimizer_file`; + float $threshold=`floatFieldGrp -q -v1 Optimizer_threshold`; + int $repeatTime=`intSliderGrp -q -v Optimizer_repeat`; + + // If no File selected, use the Temp file + if (`textFieldButtonGrp -q -fi Optimizer_file`==" - no file to save data - ") + textFieldButtonGrp -e -fi (`internalVar -utd`+"Optimiz.mel"); + + // Change Button Text + button -e -l "press ESC to stop" Optimizer_Gobutton; + + // Start dgTime Loop + global string $gMainProgressBar; + progressBar -edit -bp -isInterruptable true -status "Optimization Check" -maxValue $repeatTime $gMainProgressBar; + dgtimer -on -reset; + int $i=0; + playbackOptions -l "once"; + currentTime $minTime; + do { + //if(`progressBar -query -isCancelled $gMainProgressBar`) + progressBar -edit -step 1 $gMainProgressBar; + play -forward true -wait; + currentTime $minTime; + $i++; + } while ($i<$repeatTime); + dgtimer -threshold $threshold -outputFile $fileName -query; + dgtimer -off -reset; + + // Return playBack options. + button -e -l "Optimize" Optimizer_Gobutton; + playbackOptions -e -l $playOption; + progressBar -edit -endProgress $gMainProgressBar; + +}//End AS_OptimizerStart + + + +//-------------------- +// Optimizer Browser +//-------------------- +global proc AS_OptimizerBrowser(string $fileName, string $fileType) +{ + textFieldButtonGrp -e -fi $fileName Optimizer_file; +}// End AS_OptimizerBrowser + + + +//-------- +// Optimizer UI Proc +//-------- +global proc AS_Optimizer() +{ + if(`window -exists OptimizerWin`) + deleteUI OptimizerWin; + if( `windowPref -exists OptimizerWin` ) + windowPref -r OptimizerWin; + + window -w 290 -h 170 -t "Optimizer - asisudai@gmail.com" + -titleBar 1 -mnb 1 -mxb 1 -mb 1 + -tlb 1 -sizeable 1 OptimizerWin; + + columnLayout; + frameLayout -lv 0 -l "Optimizer" + -li 5 -mh 3 -mw 5 -la "bottom" -bs "etchedIn" + ; + columnLayout -rs 2 -adj 1 ; + + intSliderGrp + -l "Repeat Times" -field 1 -fmn 1 -fmx 10 -min 1 -max 5 + -v 1 -cw3 80 25 20 Optimizer_repeat; + + button -l "Optimize" -h 22 -align "center" + -bgc 0.75 0.8 0.9 -c "AS_OptimizerStart" Optimizer_Gobutton; + + separator -bgc 0.75 0.75 0.8 -h 2 -hr 1 -st "none"; + + floatFieldGrp + -l "Min Threshold" -nf 1 -v1 0.001 -pre 3 -cw2 80 50 Optimizer_threshold; + + textFieldButtonGrp + -cw2 220 40 + -tx " - no file - " + -fi " - no file to save data - " + -bl "Browse" + -bc "fileBrowserDialog \ + -m 1 \ + -fc \"AS_OptimizerBrowser\" \ + -fileType \"mel\" \ + -an \"Save\"" + Optimizer_file; + + button -bgc 0.77 0.89 0.8 -h 20 -label "Open Optimize Report File" + -c "string $fileName=`textFieldButtonGrp -q -fi Optimizer_file`; \ + showHelp -a $fileName;"; + + showWindow OptimizerWin; +}// End AS_Optimizer + diff --git a/2009-x64/MiscScripts/scripts/AS_Skinny.mel b/2009-x64/MiscScripts/scripts/AS_Skinny.mel new file mode 100644 index 0000000..971c78a --- /dev/null +++ b/2009-x64/MiscScripts/scripts/AS_Skinny.mel @@ -0,0 +1,2390 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: Skinny +'' Author: +'' Last Updated: May 25, 2007 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/misc/2950.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//-------------------------------------------------------------------------------------------------------------------------------------// +//-------------------------------------------------------------------------------------------------------------------------------------// +// SCRIPT: AS_Skinny v 3.8 +// AUTHOR: Asi Sudai Character TD, Animator +// asi@asimation.com | www.reel.asimation.com +// +// DATE: 01/4/2007 18:00 +// +// DESCRIPTION: Skinny is skinning tool/UI. Skinny main advantage, on Maya +// Paint Weight tool, is it's presets list of joints & Influences. +// the Presets of joints makes the skinning process much more efficient. +// +// Update 3.8: +// - User can paint on selected vertex's ( isolate mode ) +// - Copy one Vertex weight to other ( solve crazy vertex's problem, and matching weight between diffrent mesh's ) +// +// +// +//-------------------------------------------------------------------------------------------------------------------------------------// +// +// Run Proc: AS_Skinny +// +//-------------------------------------------------------------------------------------------------------------------------------------// + +AS_Skinny; +////////////////////////////// +// Weight Tools features // +////////////////////////////// + +// Assign Joint to Vertex's: +global proc SkinnyVertex.assignValue() +{ + // If selected item, isn't Vertex or CV or Lattice, exit: + string $joint[] =`textScrollList -q -si jointScrollList`; + $joint[0] = `AS_SkinnyTokenize $joint[0]`; + float $Value = `textFieldButtonGrp -q -tx SkinnyUI|skinToolmenuBar|SkinnyMainLayout|skinnyVertexFrame|skinnyVertexFrameCol|assignValue`; + string $target[] =`ls -fl -sl`; + if (size($target)==0){print "Skinny: Select Vertex's to assign\n";return;} + string $trns[] =`listTransforms $target[0]`; + string $skinCluster = `findRelatedSkinCluster $trns[0]`; + if ($skinCluster==""){print "Skinny: Select Vertex's aren't skinned\n";return;} + skinPercent -nrm 1 -tv $joint[0] $Value $skinCluster $target; + print ("Skinny: Assign selection to " + $joint[0] + " Value: " + $Value +"\n"); +}// End Fun + + +// Zero skin value on point. before copying new value. +proc SkinnyVertex.zeroValue(string $item, string $T_skincluster){ + string $joints[] = `skinPercent -ib 0.001 -q -t $T_skincluster $item`; + for ($i=0;$i<`size($joints)`;$i++) + skinPercent -nrm 0 -tv $joints[$i] 0 $T_skincluster $item; +}//End fun + +// Update UI with selected Vertex: +global proc SkinnyVertex.getSource() +{ + // If selected item, isn't Vertex or CV or Lattice, exit: + string $ls[0] = `ls -fl -sl -hd 1 `; + if (`objectType $ls[0]` != "nurbsSurface" && `objectType $ls[0]` != "mesh" && + `objectType $ls[0]` != "lattice") + { + warning ("Works only on Vertexs,CV's,Lattice points.\n"); + return; + } + textFieldButtonGrp -e -tx $ls[0] SourceV; +}// End Fun + +// Copy Skin Value: +global proc SkinnyVertex.copyValue() +{ + //Time Debug: + $startTime = `timerX`; + // Get Source Values: + string $Source = `textFieldButtonGrp -q -tx SkinnyUI|skinToolmenuBar|SkinnyMainLayout|skinnyVertexFrame|skinnyVertexFrameCol|SourceV`; + if (!`objExists $Source`){ warning "Please Select one Vertex or Cv point to copy weights from";return;} + string $S_trns[] = `listRelatives -p $Source`; + string $S_skincluster = `findRelatedSkinCluster $S_trns[0]`; + string $joints[] = `skinPercent -ib 0.002 -q -t $S_skincluster $Source`; + float $values[]= `skinPercent -ib 0.002 -q -v $S_skincluster $Source`; + // Optimize: turn off skinCluster + setAttr ($S_skincluster + ".envelope") 0; + setAttr ($S_skincluster + ".normalizeWeights") 0; + setAttr ($S_skincluster + ".nodeState") 1; + // Copy skinValue to targets: + string $targets[] = `ls -sl`; + string $numParents[] = `listRelatives -ap $targets`; + + string $T_trns[]; + string $T_skincluster; + if (`size($numParents)`==1){ + $T_trns = `listRelatives -p $targets[0]`; + $T_skincluster = `findRelatedSkinCluster $T_trns[0]`; + + for ($item in $targets){ + SkinnyVertex.zeroValue($item, $T_skincluster); + for ($i=0;$i<`size($joints)`;$i++) + skinPercent -nrm 0 -tv $joints[$i] $values[$i] $T_skincluster $item; + } + } else { + for ($item in $targets){ + $T_trns = `listRelatives -p $item`; + $T_skincluster = `findRelatedSkinCluster $T_trns[0]`; + SkinnyVertex.zeroValue($item, $T_skincluster); + for ($i=0;$i<`size($joints)`;$i++){ + catchQuiet (`skinPercent -nrm 0 -tv $joints[$i] $values[$i] $T_skincluster $item`); + print $i; + } + } + } +// Optimization off: +setAttr ($S_skincluster + ".envelope") 1; +setAttr ($S_skincluster + ".normalizeWeights") 1; +setAttr ($S_skincluster + ".nodeState") 0; +//Time Debug: +$totalTime = `timerX -startTime $startTime`; +print ("\nSkinny Copy Total Time: "+$totalTime+"\n"); +print ("Skinny Copy Weight - Done\n"); + + +}// End Fun + + + + +//This procedure transfers skinCluster weight between two influence objects. +//We either loop through all the points in the skinCluster set, or use the current selection of points. +//We speed this process up by not acting on points that have a zero value per-infuence. +//This should work on all surface types, curves, and lattices. +//NOTE: $infB is the destination influence, $infA is the source influence. +//ST_TransferInfluence joint2 joint1 skinCluster1 1 1 100; +proc ST_TransferInfluence(string $infB, string $infA, string $skinCluster, int $mode, int $componentsCheck, float $percent) +{ +//Report errors. +if ((! `objExists $skinCluster`) || (`nodeType $skinCluster` != "skinCluster")) + error "Skin cluster specified incorrectly. Try again."; +//If either $obj1 or $obj2 are not in the influence list for the skinCluster, report an error. +string $influences[] = `skinCluster -q -inf $skinCluster`; +//DOESN´T WORK: if ((! `stringArrayCount($infB, $influences)`) || (! `stringArrayCount($infB, $influences)`)) +int $obj1Count = stringArrayCount($infB, $influences); +int $obj2Count = stringArrayCount($infA, $influences); +if (! $obj1Count) + error ($infB + " is not in the list of influences for " + $skinCluster + ". Try again."); +if (! $obj2Count) + error ($infA + " is not in the list of influences for " + $skinCluster + ". Try again."); + + +//Let´s time the operation, using the `timerX` cmd. +$startTime = `timerX`; + +//Get the value of the skinCluster.normalizeWeights attr. Turn it off. Later turn it back on. +//This isn´t really necessary, but is a precaution. +int $normalize = `getAttr ($skinCluster + ".normalizeWeights")`; +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 0; + +//Get the cluster set. +string $skinClusterSet[] = `listConnections -type objectSet $skinCluster`; + +//Assign the components - either all points in set, or selected points. +string $components[]; +if ($componentsCheck == 1) + { + $components = `sets -q $skinClusterSet[0]`; + if (! `size $components`) + error ($skinCluster + " has no members. Try again."); + //filter set membership: 36 - subD mesh points; 28 - CV´s; 31 - polygon mesh vertices; 46 - lattice points. + $components = `filterExpand -sm 36 -sm 28 -sm 31 -sm 46 $components`; + } +else if ($componentsCheck == 2) + { + $components = `ls -sl -fl`; + if (! `size $components`) + error ("Select some points and try again."); + + //Check if the user has selected components, or (by mistake) the object. + string $objectSelection[] = `ls -sl -o`; + if ($objectSelection[0] == $components[0]) + error ("Select some points and try again."); + } + +//Set "Hold" off for both joints. +int $hold1 = `getAttr ($infB + ".lockInfluenceWeights")`; +int $hold2 = `getAttr ($infA + ".lockInfluenceWeights")`; +if ($hold1) + setAttr ($infB + ".lockInfluenceWeights") 0; +if ($hold2) + setAttr ($infB + ".lockInfluenceWeights") 0; + + +//WE NEED TO QUERY THE VALUE OF EACH POINT IN BOTH OBJS, AND TRANSFER THIS. +//Start the progress bar. +global string $gMainProgressBar; +int $numberOfPoints = `size $components`; //-maxValue for progressBar +progressBar + -edit + -beginProgress + -isInterruptable 1 + -status ("Transferring skin weights between " + $infA + " and " + $infB + "...") + -maxValue $numberOfPoints + $gMainProgressBar; + +float $infAValue; //Source weight. +float $infBValue; //Destination weight. +//print ($mode + "\n"); +for ($c in $components) + { + //Query values of both influences for current component. + $infAValue = `skinPercent -t $infA -q -v $skinCluster $c`; + if ($mode == 2) + $infBValue = `skinPercent -t $infB -q -v $skinCluster $c`; + + //Reset component values to zero first. This allows us to transfer values only if the original value was greater than zero. + //If the original value was zero, it will remain zero, and we can go to the next iteration *much* faster by not touching it. + if ($infAValue > 0.0) + skinPercent -tv $infA 0 $skinCluster $c; + if (($infBValue > 0.0) && ($mode == 2)) + skinPercent -tv $infB 0 $skinCluster $c; + + //print ("The mode is: " + $mode + "\n"); + //print ("Influence " + $infB + "'s original value is " + `skinPercent -t $infB -q -v $skinCluster $c` + "\n"); + + //Transfer component values between influences, only if the original value was greater than zero. + if ($infAValue > 0.0) + { + //print ("The weight of " + $infA + " is " + $infAValue + "\n"); + //print ("The percentage is: " + $percent + "\n"); + //print ("The percent value is: " + ($infAValue * ($percent/100)) + "\n"); + + //Transfer the $infAValue onto $infB - use relative mode in order to add to any existing weight. + skinPercent -tv $infB ($infAValue * ($percent/100)) -relative 1 $skinCluster $c; + //Now, because of the percent factor, we need to put back any weight that remains on infA. + if ($percent < 100) + skinPercent -tv $infA ($infAValue * ((100 - $percent)/100)) -relative 1 $skinCluster $c; + } + if (($infBValue > 0.0) && ($mode == 2)) + { + //Transfer the $infBValue onto $infA + skinPercent -tv $infA ($infBValue * ($percent/100)) -relative 1 $skinCluster $c; + //And put back any remaining weight onto $infB + if ($percent < 100) + skinPercent -tv $infB ($infBValue * ((100 - $percent)/100)) -relative 1 $skinCluster $c; + } + + //print ("Influence " + $infB + "'s new value is " + `skinPercent -t $infB -q -v $skinCluster $c` + "\n"); + + + + + if (`progressBar -q -isCancelled $gMainProgressBar`) + { + progressBar -edit -endProgress $gMainProgressBar; + break; + } + + //Increase the progress bar. + progressBar -edit -step 1 $gMainProgressBar; + } + +//End progress bar. +progressBar -edit -endProgress $gMainProgressBar; + + + +//Turn on "Hold". +if ($hold1) + setAttr ($infB + ".liw") 1; +if ($hold2) + setAttr ($infB + ".liw") 1; + +//Turn normalizeWeights back on. +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 1; + + +//How long did it take? +$totalTime = `timerX -startTime $startTime`; +print ("Total Time: " + $totalTime + " seconds. \n"); +} + + +global proc SkinnyVertex.transferValue(){ + global string $g_skinnySelOrder[]; + + string $source = `AS_SkinnyTokenize $g_skinnySelOrder[0]`; + string $target = `AS_SkinnyTokenize $g_skinnySelOrder[1]`; + string $ls[0] = `ls -sl`; + string $skinCluster; + string $lsPoints[]; + print `objectType $ls[0]`; + // can work on entire mesh or selected point: + if (`objectType $ls[0]` == "nurbsSurface" || `objectType $ls[0]` == "mesh" || + `objectType $ls[0]` == "lattice") + { + string $trns[] =`listTransforms $ls[0]`; + $skinCluster = `findRelatedSkinCluster $trns[0]`; + if ($skinCluster==""){ warning "Select Skinned object"; return;} + ST_TransferInfluence $target $source $skinCluster 1 2 100; + }else{ + $skinCluster = `findRelatedSkinCluster $ls[0]`; + if ($skinCluster==""){ warning "Select Skinned object ot vertex"; return;} + ST_TransferInfluence $target $source $skinCluster 1 1 100; + } + textScrollList -e -da -si $g_skinnySelOrder[1] jointScrollList; + setSmoothSkinInfluence $target; + + //ST_TransferInfluence joint2 joint3 skinCluster1 1 1 100; +}//End Proc + + +////////////////////// +// CLUSTER FEATURE // +////////////////////// + +// Append string to String Arry. return New Arry +proc string[] Skinny_AppendStringtoArry(string $Arry[],string $string) { + int $size=size($Arry); + $Arry[$size]=$string; + return $Arry; +}//END Proc + +//----------------------------- +// find related Cluster deformer connected to given object +//----------------------------- +proc string[] findRelatedClusters(string $obj) { + + string $ClusterList[]; // The return array of all related Clusters + string $objShape[]=`listRelatives -noIntermediate -shapes $obj`; + if (!size($objShape)) return {"",""}; + string $ListObjSets[]=`listConnections -d on -s off -type objectSet $objShape[0]`; + for ($set in $ListObjSets) { + string $foundCluster[0]=`listConnections -type cluster $set`; + if (size($foundCluster)) + Skinny_AppendStringtoArry $ClusterList $foundCluster[0]; + } + return $ClusterList; +} +// End findRelatedClusters + + +//------------------------------- +// Prunce Cluster weight less then threshold +// if member weight below threshold, remove it +//------------------------------- +proc skinny_pruneCluster() { + + string $Cluster[0]=`textScrollList -q -si jointScrollList`; + if ($Cluster[0]=="") { warning "Select cluster to purne"; return; } + string $ClusterSet[0]=`listConnections -type objectSet $Cluster[0]`; + string $ClusterMembers[]=`sets -q $ClusterSet[0]`; + // filterExpand 31= vertex,28 =CVs, 36=Subdivision, 46=Lattice Points. + $ClusterMembers=`filterExpand -sm 31 -sm 28 -sm 36 -sm 46 $ClusterMembers`; + int $i=0; + float $PurneValue=`floatField -q -v PurneClusterWeightField`; + for ($member in $ClusterMembers) { + float $memberWeight[]=`percent -q -v $Cluster[0] $member`; + if ($memberWeight[0] <= $PurneValue) { + sets -remove $ClusterSet[0] $member; + $i++; + } + } + print ("\t Number of members removed: "+$i+"\n"); +} +// End skinny_pruneCluster + + + +//--------------------------- +// create attrFieldSliderGrp +//--------------------------- +proc Skinny_createClusterSlider(string $label, float $min, + float $max, float $cw[],string $at, string $SliderName, int $resetValue) +{ +attrFieldSliderGrp + -parent "skinnyClustercolumn" + -at $at + -l $label + -pre 1 + -step 0.2 + -en true + -min $min + -max $max + -cw 1 $cw[0] + -cw 2 $cw[1] + -cw 3 $cw[2] + -cat 1 "right" 0 + -cat 2 "both" 2 + -cat 3 "both" 2 + -cal 3 "center" + $SliderName; + + // Clusters PopupMenu + popupMenu -parent $SliderName; + menuItem -l "Reset" -c ("setAttr " + $at + " "+ $resetValue); +} +// End Skinny_attrFieldSliderGrp + +//----------------------- +// Edit Cluster Members +// to paint members need to turn off Skinny +//----------------------- +global proc Skinny_clusterEditMembers() { + string $Cluster[0]=`textScrollList -q -si jointScrollList`; + if (`size($Cluster)`==0) return; + checkBoxGrp -e -v1 0 ScriptJobBox; + Skinny_ScriptJob; + // Open Edit Painter + PaintSetMembershipTool; + //setEditPaintToolScript 4; Note: working only in ver Maya 5 + toolPropertyWindow -inMainWindow true; + string $ClusterSet[0]=`listConnections -type objectSet $Cluster[0]`; + textScrollList -e -si $ClusterSet[0] artSetPaintScrollList; + //setEditPaintCtx -e -settomodify $ClusterSet[0] `currentCtx`; Note: working only in ver Maya 5 + artSetScrollListClick artSetPaintCtx; + textScrollList -e -si $ClusterSet[0] artSetPaintScrollList; +} +// End Skinny_clusterEditMembers + + +// Cluster Reset transformation proc +// $function = reset All or Selected +//-------------------- +global proc Skinny_ClusterTranformReset (string $function) { + string $allItems[]; + int $reset; + if ($function=="All") + $allItems=`textScrollList -q -ai jointScrollList`; + else + $allItems=`textScrollList -q -si jointScrollList`; + + string $transform[]={"translate","rotate","scale"}; + + for ($item in $allItems) { + string $clusterHandle=`cluster -q -weightedNode $item`; + for ($trans in $transform) { + if ($trans!="scale") { $reset=0; } else { $reset=1; } + setAttr ( $clusterHandle + "." + $trans + "X" ) $reset; + setAttr ( $clusterHandle + "." + $trans + "Y" ) $reset; + setAttr ( $clusterHandle + "." + $trans + "Z" ) $reset; + } + } +} +// End Skinny_ClusterTranformReset // + + + +//--------------------------- +// manipulte the cluster by it's UI sliders +// create ClusterSlider from selected cluster +// in scroollList. +//--------------------------- +global proc Skinny_ClusterTranformProc(string $transform) { + // Delete existsing Sliders + columnLayout -e -m 0 skinnyJNTRotMaincolumn; + if (`attrFieldSliderGrp -ex "ClusterSliderX"`) deleteUI ClusterSliderX; + if (`attrFieldSliderGrp -ex "ClusterSliderY"`) deleteUI ClusterSliderY; + if (`attrFieldSliderGrp -ex "ClusterSliderZ"`) deleteUI ClusterSliderZ; + // Create new ones + int $reset; int $min; int $max; + if ($transform!="scale") { $reset=0; } else { $reset=1; } // Set Reset Value + if ($transform!="rotate") { $min="-10"; $max="10"; } // Set Min Max value + else { $min="-180"; $max="180"; } + string $selItem[]=`textScrollList -q -si jointScrollList`; + if (size($selItem)==0) return; + string $clusterHandle=`cluster -q -weightedNode $selItem[0]`; + Skinny_createClusterSlider ("X", $min, $max, {15,48,225}, + ($clusterHandle+"."+$transform+"X") , "ClusterSliderX", $reset); + Skinny_createClusterSlider ("Y", $min, $max, {15,48,225}, + ($clusterHandle+"."+$transform+"Y") , "ClusterSliderY", $reset); + Skinny_createClusterSlider ("Z", $min, $max, {15,48,225}, + ($clusterHandle+"."+$transform+"Z") , "ClusterSliderZ", $reset); + // Create Reset All button. + if (`rowColumnLayout -q -exists skinnyClusterResetColumn`) deleteUI "skinnyClusterResetColumn"; + rowColumnLayout -parent "skinnyClustercolumn" -numberOfRows 1 -rowHeight 1 22 "skinnyClusterResetColumn"; + button -bgc 0.756 0.857 0.955 -w 240 -l "Reset Selected" -c ("Skinny_ClusterTranformReset Select") -ann "Reset Selected Cluster"; + button -bgc 0.636 0.817 0.915 -w 50 -l "All" -c ("Skinny_ClusterTranformReset All") -ann "Reset All Clusters"; + + columnLayout -e -m 1 skinnyJNTRotMaincolumn; +} +// End Skinny_ClusterTranformProc + + +//------------------- +// Skinny UI switcher between Skin / Cluster +// Change Skinny UI to current Mode +//------------------- +global proc Skinny_UISwitcher(string $mode) { + +// Global string of current contextTool in Skinny. +// Skin = artAttrSkinContext , Cluster = artAttrContext. +global string $Skinny_CurrentCtx; + +if ($mode=="cluster") +{ + // CurrentCtx + $Skinny_CurrentCtx = "artAttrContext"; + + // Call updateSetsScrollList + Skinny_updateSetsScrollList; + + // Create SkinnyClusterSets Node + if (!`objExists "SkinnyClusterSets"`) + { + string $lsSel[]=`ls -sl`; + createNode objectSet -n "SkinnyClusterSets"; + select $lsSel; + } + + // MenuBar + int $SetToolStatus=`menuItem -q -cb Skinny_SetsTool`; + menu -e -deleteAllItems -l "Cluster Sets" SkinToolPreset; + menuItem -p "SkinToolPreset" -cb $SetToolStatus -label "Sets Tool" -c ( "Skinny_SetsTool" ) Skinny_SetsTool; + menuItem -p "SkinToolPreset" -d 1; + menuItem -p "SkinToolPreset" -cb 1 -label "All Clusters" -c ( "AS_SkinnyFullSet" ) Skinny_FullSet; + Skinny_findSets; + menu -e -vis 0 -en 0 SkinToolOrder; + + + // ScrollList + textScrollList -e -removeAll jointScrollList; + textScrollList -e -allowMultiSelection 1 -dcc ( "" ) jointScrollList; + // PopupMenu for Clusters Create + popupMenu -e -dai jointScrollListPopup; + menuItem -p jointScrollListPopup -l "Edit Membership" -c ( "Skinny_clusterEditMembers" ); + + // Lock & unLock Weight buttons: + rowColumnLayout -e -m 0 Skinny_LockweightColumn; + rowColumnLayout -e -m 0 Skinny_unLockweightColumn; + if (!`button -exists Skinny_editMembership`) + button -bgc 0.756 0.857 0.955 -parent LockUnlockColumn -h 20 -label "Edit Membership" + -c ( "Skinny_clusterEditMembers" ) Skinny_editMembership; + + button -e -en 1 -m 1 Skinny_editMembership; + + // Influnce Frame + frameLayout -e -m 0 skinnyInfluenceFrame; + + // UI Buttons + columnLayout -e -enable 1 LockUnlockColumn ; + + // Joint Rotation / Cluster Translation + frameLayout -e -label "Cluster Transform" skinnyJNTRotFrame; + columnLayout -e -m 0 skinnyJNTRotcolumn; + if (!`columnLayout -exists skinnyClustercolumn`) { + columnLayout -parent "skinnyJNTRotMaincolumn" -adj 1 -rs 1 skinnyClustercolumn; + // clusters transformation radioButton + radioButtonGrp -label "" + -numberOfRadioButtons 3 + -label1 "Translate" + -label2 "Rotate" + -label3 "Scale" + -on1 ("Skinny_ClusterTranformProc translate") + -on2 ("Skinny_ClusterTranformProc rotate") + -on3 ("Skinny_ClusterTranformProc scale") + -cw 1 10 -cw 2 80 + -cw 3 70 -cw 4 70 + -select 1 skinnyClusterTransRadio; + separator -h 2 -w 10 -style single -horizontal on -bgc 0.4 0.7 1; + // Delete existsing Sliders + if (`attrFieldSliderGrp -ex "ClusterSliderX"`) deleteUI ClusterSliderX; + if (`attrFieldSliderGrp -ex "ClusterSliderY"`) deleteUI ClusterSliderY; + if (`attrFieldSliderGrp -ex "ClusterSliderZ"`) deleteUI ClusterSliderZ; + } else { + columnLayout -e -m 1 skinnyClustercolumn; + }// End of cluster coulmn building + + // Util Frame + formLayout -e -m 0 skinnyUtilForm; // Disable Skin Util FormLayout + if (!`rowColumnLayout -ex skinnyClusterUtilColumn`) { + rowColumnLayout -parent skinnyUtilCoulmn -cw 2 33 -nc 2 skinnyClusterUtilColumn; + //symbolButton -image "AS_SkinnyPurne.XPM" -c ("skinny_pruneCluster") -ann "Prune members ( vertex, cv's ) that have zero weight. from all related clusters" PurneClusterWeight; + button -l "Prune Weight" -c ("skinny_pruneCluster") -ann "Prune members ( vertex, cv's ) that have zero weight. from all related clusters" PurneClusterWeight; + floatField -v 0.01 -minValue 0.001 -maxValue 1 -precision 2 -step .001 PurneClusterWeightField; + + //button -enable 0 -l "Purne Cluster Memebers" + // -c ("string $SelObj[1]=`ls -sl -hd 1`; cluster -e -prune $SelObj[0];"); + } else { + rowColumnLayout -e -m 1 skinnyClusterUtilColumn; + } + + // Update ScrollList + Skinny_UpdateCluster; + // Update ScriptJob + Skinny_ScriptJob; + // Update Skinny UI + Skinny_QueryUI; +} + +if ($mode=="skin") +{ + // CurrentCtx + $Skinny_CurrentCtx = "artAttrSkinContext"; + + // Call updateSetsScrollList + Skinny_updateSetsScrollList; + + // Sets menuBar + int $SetToolStatus=`menuItem -q -cb Skinny_SetsTool`; + menu -e -dai -l "Skin Sets" SkinToolPreset; + menuItem -p "SkinToolPreset" -cb $SetToolStatus -label "Sets Tool" -c ( "Skinny_SetsTool" ) Skinny_SetsTool; + menuItem -p "SkinToolPreset" -d 1; + menuItem -p "SkinToolPreset" -cb 1 -label "All Bind Set" -c ( "AS_SkinnyFullSet" ) Skinny_FullSet; + Skinny_findSets; + menu -e -vis 1 -en 1 SkinToolOrder; + + // ScrollList + textScrollList -e -removeAll jointScrollList; // Clear before switching + textScrollList -e -allowMultiSelection 1 + -dcc ( "Skinny_Function DubbleClickHold" ) "jointScrollList"; + + // scrollList PopupMenu create again + menuItem -p jointScrollListPopup -l "Lock Selected" -c ( "AS_SkinnyLockFunction Selected 1" ); + menuItem -p jointScrollListPopup -l "UnLock Selected" -c ( "AS_SkinnyLockFunction Selected 0" ); + menuItem -p jointScrollListPopup -d 1; + menuItem -p jointScrollListPopup -l "Lock All" -c ( "AS_SkinnyLockFunction All 1" ); + menuItem -p jointScrollListPopup -l "UnLock All" -c ( "AS_SkinnyLockFunction All 0" ); + menuItem -p jointScrollListPopup -d 1; + //menuItem -p jointScrollListPopup -l "Set Selected" -c ( "AS_SkinnySetsMakerUI" ); + + // Lock & unLock Weight buttons: + rowColumnLayout -e -m 1 Skinny_LockweightColumn; + rowColumnLayout -e -m 1 Skinny_unLockweightColumn; + button -e -m 0 Skinny_editMembership; + + // Influnce Frame + frameLayout -e -m 1 skinnyInfluenceFrame; + + // UI Buttons + columnLayout -e -enable 1 LockUnlockColumn; + + // Joint Rotation / Cluster Translation + frameLayout -e -label "Joint Rotate " skinnyJNTRotFrame; + columnLayout -e -m 1 skinnyJNTRotcolumn; + columnLayout-e -m 0 skinnyClustercolumn; + + // Util Frame + rowColumnLayout -e -m 0 skinnyClusterUtilColumn; + formLayout -e -m 1 skinnyUtilForm; + + // Update ScrollList + Skinny_UpdateSkin ByName 0; + // Update ScriptJob + Skinny_ScriptJob; + // Update Skinny UI + Skinny_QueryUI; +} +} +// End ScrollListClusterMode + + +//------------------ +// Update Skinny ScrollList Clusters +// Update ScrollList with Cluster according to selected Sets +// And if no Set active, show all available cluster +//------------------- +global proc Skinny_UpdateCluster() { + +// Active Sets collection: + // Find Active Sets, ask if active. + // If one or more active, use them. + string $ClusterSets[]=`listAttr -ud "SkinnyClusterSets"`; + string $SetCollector[]; + for ( $SetFound in $ClusterSets) { + if (`menuItem -q -cb ("Skinny_"+$SetFound) `) { + string $tempString=`addAttr -q -enumName ("SkinnyClusterSets."+$SetFound)`; + string $SetMembers[]; + tokenize $tempString ":" $SetMembers; + int $SetSize = size($SetMembers); + appendStringArray ( $SetCollector, $SetMembers, $SetSize ); + menuItem -e -cb 0 Skinny_FullSet; + } + } + // Remove Duplicate cluster from list. + $SetCollector=stringArrayRemoveDuplicates($SetCollector); + + +// No Set Active: + // if no set is active, get all the cluster ralted to the object. + // findRelatedCluster to update jointScrollList + if (size($SetCollector)==0) + { + menuItem -e -cb 1 Skinny_FullSet; // turn on All clusters menuItem + string $selObj[]=`ls -sl`; + if (size($selObj)==0) return; // if nothing selected return; + $SetCollector=`findRelatedClusters $selObj[0]`; + if (size($SetCollector)==0) return; // if no cluster found return; + } + + // switch to Cluster Ctx + if ( `currentCtx` != "artAttrContext" ) { + artAttrToolScript 4 "cluster"; + artAttrInitPaintableAttr;; + } + +// TextScrollList Update + // Add cluster in to jointScrollList; + textScrollList -e -removeAll jointScrollList; // Clear before update + for ( $cluster in $SetCollector) + textScrollList -e -append $cluster jointScrollList; +} +// End SkinnyGoClusterMode + + + + +/// ADD MAYA SMOOTH SKIN MENU +proc AddSmoothSkinMenu() { + menu -l "Smooth Skin" -parent skinToolmenuBar -to true -aob true; + menuItem -l "Add Influence" -annotation "Add Influence: Select surface(s) first and then the influence transform" -c "AddInfluence"; + menuItem -optionBox true -annotation "Add Influence Option Box" -l "Add Influence Option Box" -c "AddInfluenceOptions"; + menuItem -l "Remove Influence" -annotation "Remove Influence: Select surface(s) first and then the influence transform" -c "RemoveInfluence"; + menuItem -l "Set Max Influences..." -annotation "Set Max Influences: Display dialog to set max influences" -c "SetMaxInfluences"; + menuItem -divider true; + menuItem -l "Mirror Skin Weights" -annotation "Mirror Skin Weights: Select either a single skin or the source and the destination skin." -c "MirrorSkinWeights"; + menuItem -optionBox true -annotation "Mirror Skin Weights Option Box" -l "Mirror Skin Weights Option Box" -c "MirrorSkinWeightsOptions"; + menuItem -l "Copy Skin Weights" -annotation "Copy Skin Weights: Select the source surface and the destination surface" -c "CopySkinWeights"; + menuItem -l "Reset Weights to Default" -annotation "Reset Weights to Default: Select the surface(s) or component(s)" -c "ResetWeightsToDefault"; + menuItem -l "Prune Small Weights" -annotation "Prune Small Weights: Select the surface(s) or component(s)" -c "PruneSmallWeights"; + menuItem -optionBox true -annotation "Prune Small Weights Option Box" -l "Prune Small Weights Option Box" -c "PruneSmallWeightsOptions"; + menuItem -l "Remove Unused Influences" -annotation "Remove Unused Influences: Select the skin and unused joints and influences will be disconnected to improve performance." -c "removeUnusedInfluences"; + menuItem -divider true; + menuItem -l "Disable Weight Normalization" -annotation "Disable Weight Normalization: Select the surface(s)" -c "doNormalizeWeightsArgList 1 {\"1\"}"; + menuItem -l "Enable Weight Normalization" -annotation "Enable Weight Normalization: Select the surface(s)" -c "doNormalizeWeightsArgList 1 {\"2\"}"; + menuItem -l "Normalize Weights" -annotation "Normalize Weights: Select the surface(s) or component(s)" -c "doNormalizeWeightsArgList 1 {\"3\"}"; +}//END Proc + + +/// REMOVE INFLUENCE FEATURE Version 1.00 + + global proc Skinny_createSet() + { + string $SelObj[]=`ls -sl`; + for ($item in $SelObj) { + $getSelectedSkinCluster= `findRelatedSkinCluster $item`; + if ($getSelectedSkinCluster!="") { +print "debug2"; + $jointsInSkinCluster=`skinCluster -q -inf $getSelectedSkinCluster`; + if(`objExists "SkinnySets"`) { + sets -cl "SkinnySets"; + sets -add "SkinnySets" $jointsInSkinCluster; + //print ("Skinny Message: "+$item + " Skinny FullSet Updated \n"); + } else { + sets -n "SkinnySets" $jointsInSkinCluster; + } + } } + }//End Proc + + // Find Joints with no Weight + proc string[] FindNoWeight(string $SelObj){ + // get SkinCluster Name & all joints in skinCluster + string $getSelectedSkinCluster= `findRelatedSkinCluster $SelObj`; + if ($getSelectedSkinCluster=="") return {""}; + string $jointsInSkinCluster[]=`skinCluster -q -inf $getSelectedSkinCluster`; + // get all the joints with WEIGHTS & Substract the unused joints + string $jointsWithWeight[]=`skinCluster -q -wi $getSelectedSkinCluster`; + $jointsWithNoWeight=stringArrayRemove($jointsWithWeight,$jointsInSkinCluster); + return $jointsWithNoWeight; + }//End Proc + + + // Add muilti influences to object + global proc Skinny_addInflunce() { + string $listSelected[]=`ls -sl`; + string $Joints[]; + string $SkinObj[]; + string $SkinCluster; + for ($item in $listSelected) { + if (`objectType $item`=="joint") + Skinny_AppendStringtoArry $Joints $item; + else + // If item isn't joint type, ask if tansfrom, and if so ask if he has skinCluster. + if (`objectType $item`=="transform") { + $SkinCluster=`findRelatedSkinCluster $item`; + if ($SkinCluster!="") + Skinny_AppendStringtoArry $SkinObj $item; + } + } + // Add all selected joints, to all selected SkinObj + for ($obj in $SkinObj) { + string $SkinCluster=`findRelatedSkinCluster $obj`; +print "debug4"; + string $existingInfluences[] = `skinCluster -q -inf $SkinCluster`; + for ($joint in $Joints) { + // Check if joints isn't already a member + int $alreadyConnected; + for ($ei in $existingInfluences) + if ($ei == $joint) { + $alreadyConnected=1; + print ("\nJoint already a member\n"); + } + if (!$alreadyConnected) { + skinCluster -e -dr 8 -lw true -wt 0 -ai $joint $SkinCluster; + print ("\nSkinny Add influence " + $joint + " to " + $obj + "\n"); + } + } + } + }//END Proc + + + + // Remove selected joints with in JointScrollList from SkinCluster + global proc Skinny_removeInflunce(){ + // Get Selected joints from ScrollList + string $SelItemsName[]=`textScrollList -q -si jointScrollList`; + // Find Selected Obj & SkinCluster + string $SelObj[]=`ls -sl`; + string $buffer; + if (!size($SelObj)) { + print "Skinny Message: Nothing Is Selected\n"; + return; + } + for ($item in $SelObj){ + string $SkinCluster= `findRelatedSkinCluster $item`; + for ($joint in $SelItemsName) { + $buffer=`AS_SkinnyTokenize $joint`; + skinCluster -e -ri $buffer $SkinCluster; + print ("Skinny Message: "+$buffer+" removed\n"); + } + } + // Deselect removed joints + textScrollList -e -da "jointScrollList"; + // Update the ScrollList + Skinny_UpdateSkin "ByName" "1"; + }//End Proc + + +/// SMOOTH MESH FEATURE Version 1.00 /// + +//------------------------------ +// Check if object can be smooth. only if it's connected +// To Skincluster or cluster, And it's shape is mesh kind. +//------------------------------ +proc int CheckIfSmooth(string $SelObj){ + int $IsSmooth=0; + string $ObjShapes[]=`listRelatives -shapes $SelObj`; + // For every shape found, check if it's Mesh & it's connected to Skincluster.inMesh. + for ($shape in $ObjShapes){ + if (`nodeType $shape`=="mesh"){ + string $InMeshNode[1]=`listConnections -d off -s on ($shape+".inMesh")`; + if ($InMeshNode[0]!="") + if( `nodeType $InMeshNode[0]`=="skinCluster" || `nodeType $InMeshNode[0]`=="cluster") + { + $IsSmooth="1"; + break; + } + } + } + return $IsSmooth; +}// End Proc + +// Smooth Selected object and connect the smooth divisions to display layer for control +proc SmoothSelected(string $SelObj) { + // Check If Obj can be Smooth + if (`CheckIfSmooth $SelObj`){ + //string $PolyNode[0]=`polySmooth -mth 0 -dv 1 -c 1 -kb 1 -ksb 1 -khe 0 -kt 1 -kmb 1 -suv 0 -sl 1 -dpe 1 -ps 0.1 -ro 1 -ch 1 $SelObj`; + string $PolyNode[0]=`polySmooth -mth 0 -dv 1 $SelObj`; + $PolyNode[0]=`rename $PolyNode[0] ("SkinnySmooth_"+$SelObj)`; + // Add menuitem to toggel on/off into MeshSmooth Menu + menuItem -cb 1 -c ("Skinny_LayerSmoothToggel") -label $SelObj -p SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth ("SkinnySmooth_"+$SelObj); + // Bug Fix: after smooth the mesh color change... so a select again, and it's fix:) + select $SelObj; + print ("Skinny Message: MeshSmooth Applied on "+$SelObj+"\n"); + } +}//End Proc +// Remove SmoothNode & DisplayNode +proc RemoveSmooth(string $SelObj) { + string $ObjShapes[]=`listRelatives -shapes $SelObj`; + for ($shape in $ObjShapes){ + // Check if shapes are Skinny related + if (`nodeType $shape`=="mesh" && `CheckIfSmooth $SelObj`==0){ + // Find Connected Node to the Obj + string $InMeshNode[1]=`listConnections -d off -s on ($shape+".inMesh")`; + if ($InMeshNode[0]!=""){ + if (`nodeType $InMeshNode[0]`=="polySmoothFace"){ + //string $DisplayNode[1]=`listConnections -d off -s on ($InMeshNode[0]+".divisions")`; + // Check if they Skinny related and del them. + if (`gmatch $InMeshNode[0] "SkinnySmooth*"`) + delete $InMeshNode[0]; + // delete Smooth MenuItem from Skinny UI + deleteUI -menuItem ("SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth|"+"SkinnySmooth_"+$SelObj); + // Bug Fix: after smooth the mesh color change... so a select again, and it's fix:) + select $SelObj; + print ("Skinny Message: MeshSmooth Removed From "+$SelObj+"\n"); + break; + } + } + } + } +}//End Proc + +// Find & Add SmoothObject to MeshSmooth menuBar +proc FindSmoothMesh() { + // Find Skinny displayLayers + string $SkinnySets[]=`ls -type "polySmoothFace" "SkinnySmooth_*"`; + // Add Found displayLayers to SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth + for ( $SetFound in $SkinnySets) { + string $newMenuName=`substitute "SkinnySmooth_" $SetFound ""`; + // query smooth division to match Ui to divisions + int $state=`getAttr ($SetFound+".divisions")`; + menuItem -cb $state -c ("Skinny_LayerSmoothToggel") -label $newMenuName -p SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth ("SkinnySmooth_"+$newMenuName); + } +}//End Proc + + +//---------------------------- +// Calling proc to make/remove Skinny smooth +//---------------------------- +global proc Skinny_SmoothMesh(string $function) { + string $ListSelected[]=`ls -sl`; + if (!size($ListSelected)){ + print "Skinny Message: Nothing Is Selected\n"; + return;} + if ($function=="make"){ + for ($SelObj in $ListSelected) + SmoothSelected $SelObj; + } else { + for ($SelObj in $ListSelected) + RemoveSmooth $SelObj; + } +}//End Proc + + + +//---------------------- +// Toggel layerVis on/off +//---------------------- +global proc Skinny_LayerSmoothToggel() +{ + // Get Menu item stats + string $MenuList[]=`menu -q -ia SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth`; + for ($menuItem in $MenuList) + { + if(`gmatch $menuItem "SkinnySmooth_*"`==1) + { + int $Value=`menuItem -q -cb $menuItem`; + setAttr ($menuItem+".divisions") $Value; + } + } + // Bug Fix: when toggel smooth, current painting obj become opacity. + // Fix this bug with simply selecting joint to paint. + Skinny_Function paint; +} +//End Skinny_LayerSmoothToggel + + + + +//-------------------------------- +// ScriptJob manger. Check if ScriptJob should be active. +// then check if should be in Skin / Cluster mode. +//-------------------------------- +global proc Skinny_ScriptJob(){ + global int $SkinnyScriptJob; + + // Check if should be active. if not kill. + if (!`checkBoxGrp -q -v1 ScriptJobBox`) { + if (`scriptJob -exists $SkinnyScriptJob` && $SkinnyScriptJob!=0 ) + scriptJob -kill $SkinnyScriptJob -force; + global string $gSelect; setToolTo $gSelect; + print "\nhere1"; + return; + } + + // Check if in Skin mode. + if (`radioButton -q -sl SkinnyModeSkin`) { + if (`scriptJob -exists $SkinnyScriptJob` && $SkinnyScriptJob!=0 ) + scriptJob -kill $SkinnyScriptJob -force; + Skinny_UpdateSkin ByName 0; + $SkinnyScriptJob=`scriptJob -p SkinnyUI -e "SelectionChanged" "Skinny_UpdateSkin ByName 1"`; + return; + } + + // Check if in Cluster Mode + if (`radioButton -q -sl SkinnyModeCluster`) { + if (`scriptJob -exists $SkinnyScriptJob` && $SkinnyScriptJob!=0 ) + scriptJob -kill $SkinnyScriptJob -force; + Skinny_UpdateCluster; + $SkinnyScriptJob=`scriptJob -p SkinnyUI -e "SelectionChanged" "Skinny_UpdateCluster"`; + } + +} +// END Skinny_ScriptJob // + + + + + +/////////////////////////////////////// +/// Query From Paint Weight Tool: ////// +/// Value, Display, Brush, Statlus ///// +/// Operation(replace,add,smooth) ///// +/// And Applying to SkinTool UI ///// +/////////////////////////////////////////// +global proc Skinny_QueryUI() { + + // CurrentCtx + global string $Skinny_CurrentCtx; + + // artAttrSkinContext & artAttrContext need to be open first + // before Skinny can query them. Open and close them to fix that. + if (`artAttrCtx -ex artAttrSkinContext`==0 ) { // Skin Context + ArtPaintSkinWeightsTool; + SelectMaskToolMarkingMenu; + SelectMaskToolMarkingMenuPopDown; + //artAttrCtx artAttrSkinContext; + } + if (`artAttrCtx -ex artAttrContext`==0 ) { // Cluster Context + artAttrCtx artAttrContext; + //ArtPaintSkinWeightsTool; + //SelectMaskToolMarkingMenu; + //SelectMaskToolMarkingMenuPopDown; + } + + +// Query-Paint Value + floatSliderGrp -e -v `artAttrCtx -q -value $Skinny_CurrentCtx` ValSlider; +// Query-Display Value + floatSliderGrp -e -v `artAttrCtx -q -colorrangeupper $Skinny_CurrentCtx` DisSlider; +// Query-Staylus On/Off + checkBoxGrp -e -v1 `artAttrCtx -q -usepressure $Skinny_CurrentCtx` statlusBox; +// Query-Paint Operation + radioButton -e -sl ("Operation"+ `artAttrCtx -q -sao $Skinny_CurrentCtx`); + +// Query-Brush type + if (`artAttrCtx -q -stampProfile $Skinny_CurrentCtx`=="gaussian") { + iconTextRadioButton -e -sl ButtonBrush1; + } else if (`artAttrCtx -q -stampProfile $Skinny_CurrentCtx`=="poly") { + iconTextRadioButton -e -sl ButtonBrush2; + } else if (`artAttrCtx -q -stampProfile $Skinny_CurrentCtx`=="solid") { + iconTextRadioButton -e -sl ButtonBrush3; + } +// Query Color FeedBack & WireFrame + checkBoxGrp -e -v1 `artAttrCtx -q -showactive $Skinny_CurrentCtx` SkinnyWireFrame; + checkBoxGrp -e -v1 `artAttrCtx -q -colorfeedback $Skinny_CurrentCtx` SkinnyColorFeed; +} // Query From Paint Weight Tool END// + + + + + + + + +///////////////////////////////// +//// SkinToolHELP Windows //// +/////////////////////////////// + +global proc AS_SkinnyHelp ( int $function ) { +if (`window -ex SkinToolHelpUI`) + { + deleteUI SkinToolHelpUI; + } +window -tlb 1 -title "Skinny helper" SkinToolHelpUI; +formLayout SkinToolHelp; +string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5 SkinToolHelpTab `; + +// FormLayout Adjustment Start + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "bottom" 0 + -attachForm $tabs "right" 0 + SkinToolHelp; + + string $HelpTab = `columnLayout -columnAlign "left"`; + text -w 340 -fn "tinyBoldLabelFont" ("Skinny version 3.8\n" + " Asi Sudai asi@asimation.com www.reel.asimation.com\n"); + + text -h 15 "Skinny Features:\n"; + + text -h 15 " Paint Tools\n"; + text -h 15 " All the basic Paint tools from Maya paint weight tool."; + text -h 15 " Add, Replace, Smooth, Scale..."; + text -h 15 " Val Slider is value of the brush"; + text -h 15 " Dis Slider is the max color feedback"; + text -h 15 " "; + + text -h 15 " Joint Rotate\n"; + text -h 15 " Rotate Joints while skinning.\n"; + text -h 15 " select joints from ScrollList and Rotate them.\n"; + text -h 15 " can work on muiltiply joints. if joint rotate is already connect\n"; + text -h 15 " it won't be rotated.\n"; + text -h 15 " "; + + text -h 15 " Preset\n"; + text -h 15 " The reason i made Skinny, Maya UI joint List uncomfortable.\n"; + text -h 15 " make set for Parts you want to paint, and hide the rest.\n"; + text -h 15 " See & Paint only the Joints you need, joints that you don't see\n"; + text -h 15 " in ScrollList are automatic hold/lock by skinny\n"; + text -h 15 " So they won't be painted by mistake.\n"; + text -h 15 " "; + + text -h 15 " Joint Order\n"; + text -h 27 " `Alphabetical`, `Graph Order` And `By Hold`.\n"; + + text -h 15 " Utility\n"; + text -h 15 " Mirror Weight, simple mirror X+ to X- and backwards.\n"; + text -h 15 " Right Click open Maya Mirror Options."; + text -h 15 " Purne Weight, with Purne Value."; + + text -h 15 " Influence\n"; + text -h 15 " -Show Zero Weights, show in Skinny ScrollList only joints.\n"; + text -h 20 " that have 0 weight on current painted object.\n"; + text -h 15 " -Remove influence. select joints in Skinny and remove them from.\n"; + text -h 20 " from current painted object.\n"; + text -h 15 " -Add influence. select joints to add to selected objects with skin.\n"; + text -h 15 " the order of selection ( joints & skinObj ) isn't important.\n"; + + setParent ..; + + string $BugsTab = `columnLayout -columnAlign "left"`; + text -h 15 "Bugs And Other `Features` \n"; + + text -h 15 " - Skinny won't update selection if select paint joint\n"; + text -h 15 " from outside Skinny UI .\n"; + text -h 15 " - when Removing influence,Skinny show warning messages\n"; + text -h 15 " It's ok, Ignore it... \n"; + text -h 15 " "; + text -h 15 " If you find a Bug or even worse, lot's of Bugs! Email me \n"; + text -h 15 -w 300 -fn "tinyBoldLabelFont" "Asi Sudai, asi@asimation.com"; + setParent ..; + + tabLayout -edit + -tabLabel $HelpTab "help..." -tabLabel $BugsTab "known Bugs" + $tabs; + // FormLayout Adjustment END + +//Query Witch tab should show. If 1 "known Bugs" <-else-> "help..." +if ( $function==1 ) { +tabLayout -e -selectTabIndex 2 SkinToolHelpTab; +} + +window -e -w 350 -h 620 -s 0 SkinToolHelpUI; +showWindow; +}// END + +////////////////////////////////// +//// SkinToolHELP Windows END /// +//////////////////////////////// + + + + +///////////////////////////////// +//// SkinTool Update Proc //// +/////////////////////////////// +global proc Skinny_UpdateSkin ( string $ByName, int $createFullSet ) { + +// If selected Obj have SkinCluster +// Then open Paint Skin Weights +// If nothing is selected skip Updating + +string $SelObj[1]= `ls -hd 1 -sl`; +if (size($SelObj)==1) { + // Note.Error msg accurse if Nothing selected. + string $SClusterName= `findRelatedSkinCluster $SelObj[0]`; + if ( $SClusterName == ""){ + string $Shape[] = `listRelatives -ni -p $SelObj[0]`; + $SClusterName= `findRelatedSkinCluster $Shape[0]`; + } + if ( `currentCtx` != "artAttrSkinContext" ) { + if ( $SClusterName != "") { + ArtPaintSkinWeightsTool; + } else { + textScrollList -e -removeAll jointScrollList; + print "Skinny Message: works only on Skinned Objects\n"; + return; + } + } + // Create Skinny Full Set for selected Objs. + if ($createFullSet) + Skinny_createSet; + // Get ScrollList Items from Proc AS_SkinnyScrollListItems. + string $SortedScrollListItems[] = `AS_SkinnyScrollListItems`; + + // $ByName ask if Update ScrollList items should be kept by- + // Name or line Number + string $SelItemsName[]; + int $SelItemsNumber[]; + if ( $ByName=="ByName" ) { + $SelItemsName=`textScrollList -q -si jointScrollList`; + } else { + $SelItemsNumber=`textScrollList -q -sii jointScrollList`; + } + + // Clear ScrollList before updateing ScrollList + textScrollList -e -removeAll jointScrollList; + + + // Add Items to jointScrollList. + // If Hold, Add Prifx "[H] " to Hold Joints + for ( $ScrollListItem in $SortedScrollListItems ) { + if ( `getAttr ( $ScrollListItem + ".liw" )` == 1 ) { + string $ScrollListHoldItem = "[H] " + $ScrollListItem; + textScrollList -e -append $ScrollListHoldItem jointScrollList; + } else { + string $ScrollListCleanItem= " " + $ScrollListItem; + textScrollList -e -append $ScrollListCleanItem jointScrollList; + } + } + + // Get back Selected Items In ScrollList. + if ( $ByName=="ByName" ) { + + //string $itemName; + for ($itemName in $SelItemsName) { + textScrollList -e -si $itemName jointScrollList; + } + } else { + //int $itemNum; + for ($itemNum in $SelItemsNumber) { + textScrollList -e -sii $itemNum jointScrollList; + } + } + + // Lock Joints that are in SkinCluster and NOT in ScrollList right now. + AS_SkinnyHoldPresets; +}// End of If nothing selected + +}// END +///////////////////////////////////// +//// SkinTool Update Proc END //// +/////////////////////////////////// + + +/////////////////// +// Tokenize Proc // +/////////////////// +global proc string AS_SkinnyTokenize ( string $TokenizeString) { + +string $buffer[]; // Temp String + +int $tokens = `tokenize $TokenizeString "[] " $buffer`; + +if ($tokens==1){ + return $buffer[0]; + } else { + return $buffer[1]; + } +}//End Rotate Joint Proc + + + + +///////////////////////////////// +//// SkinTool Functions Proc//// +/////////////////////////////// +global proc Skinny_Function ( string $function ) { + + // global function to hold selected by order + global string $g_skinnySelOrder[]; + + switch ( $function ) { + + +//-------------------- +// ScrollList selection proc: Skin / Cluster mode. +// Check whice mode is on. +//-------------------- +case "paint": + + // Used for Wieght Tools, transfer weight; + string $tempArray[] = `textScrollList -q -si jointScrollList`; + print $tempArray[1]; + if(size($tempArray)==1){ + clear $g_skinnySelOrder; + $g_skinnySelOrder[0] = $tempArray[0]; + } + else + if ($g_skinnySelOrder[0] == $tempArray[0]) + $g_skinnySelOrder[1] = $tempArray[1]; + else + $g_skinnySelOrder[1] = $tempArray[0]; + + + if (!`checkBoxGrp -q -v1 ScriptJobBox`) return; + + string $scrollListItems[]= `textScrollList -q -selectItem jointScrollList`; + if (size($scrollListItems)==0) return; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + { + + string $PaintSelJoint = `AS_SkinnyTokenize $scrollListItems[0]`; + setSmoothSkinInfluence $PaintSelJoint; // paint joint + // Update Joint Rotation Slider to Joint Rotation + float $SelJointRot[] = `getAttr ($PaintSelJoint+".rotate")`; + floatSliderGrp -e -v $SelJointRot[0] SliderX; + floatSliderGrp -e -v $SelJointRot[1] SliderY; + floatSliderGrp -e -v $SelJointRot[2] SliderZ; + } + + else // If Cluster mode + { + artSetToolAndSelectAttr( "artAttrCtx", ("cluster."+ $scrollListItems[0] +".weights") ); + // Cluster transform layout + int $ClusterRadioButton=`radioButtonGrp -q -sl skinnyClusterTransRadio`; + string $transform; + if ($ClusterRadioButton){$transform="translate";} + else if ($ClusterRadioButton==2){$transform="rotate";} + else if ($ClusterRadioButton==3){$transform="scale";} + Skinny_ClusterTranformProc $transform; + print "\n"; // Fix maya warning for no reason. + } + break; // case "paint" END + + +case "DubbleClickHold": //ASI NOTE, an all Update isn't needed can be more simple +string $SelJoint[]= `textScrollList -q -selectItem jointScrollList`; + + + string $buffer[]; + int $tokens=`tokenize $SelJoint[0] " " $buffer`; + if ($tokens==1){ + setAttr ( $buffer[0] + ".liw" ) 1; + } else { + setAttr ( $buffer[1] + ".liw" ) 0; + } + +// update the ScrollList + Skinny_UpdateSkin ByNumber 0; + +// Update Maya influnce list + artAttrSkinJointMenu("skinClusterInflList",""+ "artAttrCtx"+""); + break; // case DubbleClickHold END + + } +}// Skinny_Function END +///////////////////////////////////// +//// SkinTool Functions Proc END//// +/////////////////////////////////// + + + + + +////////////////////////// +/// Weighting Proc // +/// Mirror, Purn // +///////////////////////// +global proc AS_SkinnyWeightFunction ( string $case, string $function ) { + + //Find SkinCluster number + string $SelObj[1]= `ls -hd 1 -sl`; + string $SClusterName= `findRelatedSkinCluster $SelObj[0]`; + +switch ($case) { + + +case "MirorWeight": + if ( $function == "X" ) { + copySkinWeights -ss $SClusterName -ds $SClusterName -mirrorMode YZ; + } else { + copySkinWeights -ss $SClusterName -ds $SClusterName -mirrorInverse -mirrorMode YZ; + } + break; + + +case "PurnWeight": + float $PurneValue = `floatField -q -v PurneWeightText`; + //Purn Weight + skinPercent -prw $PurneValue $SClusterName; + break; + } +// Bug Fix. need to update paint weight tool to show new status + select `ls -sl`; +} // END +//////////////////////////////////// +//// Weighting Proc END ////// +////////////////////////////////// + + + +////////////////////////// +/// Lock & UnLock Proc // +///////////////////////// +global proc AS_SkinnyLockFunction ( string $AllorSel, int $setLockValue ) { + +switch ($AllorSel) { + + case "All": // Get All items from jointScrollList + string $ItemsInJointScroll[] = `textScrollList -q -ai jointScrollList`; + break; + + case "Selected": // Get Selected items from jointScrollList + string $ItemsInJointScroll[] = `textScrollList -q -selectItem jointScrollList`; + break; + } +// Lock or Unlock Action +for ( $jointScroll in $ItemsInJointScroll ) + setAttr `AS_SkinnyTokenize ( $jointScroll + ".liw")` $setLockValue; +// Update jointScrollList + Skinny_UpdateSkin ByNumber 0; +// Update Maya Influnce list + artAttrSkinJointMenu("skinClusterInflList",""+ "artAttrCtx"+""); +} // END +//////////////////////////////////// +//// Lock & UnLock Proc END ////// +////////////////////////////////// + + + + +//-------------- +// Set Finder +// make menuItem for the Sets Attributes in SkinnySets Node +//-------------- +global proc Skinny_findSets() +{ + // Which Mode are we? + // $SkinnySet[0]= which mode are we + // $SkinnySet[1]= what action to do + string $SkinnySet[2]; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet={"SkinnySets", "Skinny_UpdateSkin ByName 0"}; + else + $SkinnySet={"SkinnyClusterSets", "Skinny_UpdateCluster"}; + + // Find Sets that start with "Skinny_" + string $SkinnySets[]=sort(`listAttr -ud $SkinnySet[0]`); + + // Add Found Sets to SkinnyUI|skinToolmenuBar|SkinToolPreset + for ( $SetFound in $SkinnySets) menuItem -cb 0 -c ( $SkinnySet[1] ) -label $SetFound -p SkinnyUI|skinToolmenuBar|SkinToolPreset ("Skinny_"+$SetFound); +}// Skinny_findSets END + + + +//----------- +// Set Maker +// add Set to SkinnySets or SkinnyClusterSets. +// get setName and Memebers from SkinnyUI makeSet button +//----------- +global proc Skinny_SetMaker( string $setName, string $setMembers[]) +{ + // Quary which Mode are we Skin or Cluster, an add + // Set to the right Mode. SkinnySets or SkinnyClusterSets. + string $SkinnySet[2]; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet={"SkinnySets", "Skinny_UpdateSkin ByName 0"}; + else + $SkinnySet={"SkinnyClusterSets", "Skinny_UpdateCluster"}; + + // selected item from scrollList need to be toknized + for ( $i=0 ; $i < size($setMembers) ; $i++ ) + $setMembers[$i]=`AS_SkinnyTokenize $setMembers[$i]`; + + // we need to break the SetsMemebrs array to add ":" + // so later on we could use this string to add "enum" attr. + int $SizeMembers=`size($setMembers)`; + int $i=0; + string $tempString=""; + do{ + $tempString=($tempString+$setMembers[$i]+":"); + $i++; + } while ($i<=$SizeMembers); + + // now we can add the members in to SkinntSets Node. + addAttr -ln $setName -at "enum" -en $tempString $SkinnySet[0]; + setAttr -k on ($SkinnySet[0]+"."+$setName); + + // Add Set menu to Skinny UI + if (!`menuItem -q -ex ("Skinny_"+$setName)`) + menuItem -cb 0 -c ( $SkinnySet[1] ) -label $setName -p SkinnyUI|skinToolmenuBar|SkinToolPreset ("Skinny_"+$setName); +} //Skinny_SetsMaker + + + + +//-------------------- +// Save / Load Skinny sets into files +//-------------------- +global proc Skinny_saveSet(){ + fileBrowserDialog + -m 1 + -fc "Skinny_saveSetProc" + -fileType "mel" + -an "Save"; +}// End proc + + + +//------------ +// Update SetsTool ScrollList +//------------ +global proc Skinny_updateSetsScrollList() +{ + // If set Tools isn't exists return,no error jumps. + if (!`textScrollList -ex skinny_SetsScrollList`) return; + + // Switch between Modes + string $SkinnySet; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet="SkinnySets"; + else + $SkinnySet="SkinnyClusterSets"; + + // Find all sets from SetsNode + string $SkinnySets[]=sort(`listAttr -ud $SkinnySet`); + + // Clear current items from Sets ScrollList + textScrollList -e -ra skinny_SetsScrollList; + + // Add current Sets + for ($item in $SkinnySets) + textScrollList -e -append $item skinny_SetsScrollList; + +}//Skinny_updateSetsScrollList + +//--------------- +// Add Remove from Set +//--------------- +global proc Skinny_AddRemove2Set(string $whatToDo) +{ + // Check which mode are we Skin or Cluster + string $SkinnySet; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet="SkinnySets"; + else + $SkinnySet="SkinnyClusterSets"; + + + // Get selected Sets + string $selSets[]=`textScrollList -q -si skinny_SetsScrollList`; + if (`size($selSets)`==0) return; + + // Get selected Items. And clear there names. + string $selItems[]=`textScrollList -q -si jointScrollList`; + for ( $i=0 ; $i0) { Skinny_SetMaker ($setName, $setMembers); Skinny_updateSetsScrollList; textField -e -tx \"- Set Name - \" skinny_setName; print \"New Set Created\"; } else { warning \"Select Items to set first\"; }"; + + separator -bgc 0.5 0.6 1 -h 3; + setParent ..; + + // Set Tools + textScrollList -h 180 -allowMultiSelection 1 skinny_SetsScrollList; + separator -bgc 0.5 0.6 1 -h 3; + + rowColumnLayout -nc 2 -cs 2 3 -cw 1 65 -cw 2 65; + button -h 18 -l "Add" -ann "Add items to Set" -c ("Skinny_AddRemove2Set Add"); + + button -h 18 -l "Remove" -ann "Remove items to Set" -c ("Skinny_AddRemove2Set Remove"); + + + setParent ..; + + rowColumnLayout -nc 2 -cs 2 1 -cw 1 65 -cw 2 65; + button -en 0 -h 18 -l "Save Sets" -c ("Skinny_saveSet"); + button -en 0 -h 18 -l "Load Sets" -c ("Skinny_loadSet"); + setParent ..; + + button -h 18 -l "Delete Set" + -c "string $Sets[]=`textScrollList -q -si skinny_SetsScrollList`; string $SkinnySet=\"SkinnySets\";if (!`radioButton -q -sl SkinnyModeSkin`) $SkinnySet=\"SkinnyClusterSets\";for ($item in $Sets) { deleteAttr ($SkinnySet+\".\"+$item); deleteUI -mi (\"Skinny_\"+$item); }Skinny_updateSetsScrollList; "; + + } // End of if SetsTool UI exists + else columnLayout -e -m 1 skinnySetsTool; + + // Call updateSetsScrollList + Skinny_updateSetsScrollList; +} +// If Sets Tool menuItem is 0 +else { + + // Hide Sets Tools UI + frameLayout -e -cl 0 skinnyPaintFrame; + frameLayout -e -l "Paint Tools" + -cc "menuItem -e -cb 1 Skinny_SetsTool; Skinny_SetsTool" + skinnyPaintFrame; + columnLayout -e -m 0 skinnySetsTool; + + // Show Paint Tools UI + formLayout -e -m 1 skinnyPaintForm; +} + +}// Skinny_SetsTool + + + + + + + + + +///////////////////////////////////////// +/// Hold Joints not in ScrollList /// +/// When one or more Preset changes /// +////////////////////////////////////// +global proc AS_SkinnyHoldPresets() { + +// Get joints in ScrollList, DON'T hold them. +// Hold all the other joints in SkinCluster. + string $ScrollListItems[] = `textScrollList -q -ai jointScrollList`; + for ( $i=0 ; $i0){ + string $NotInScrollListItems[]=`skinCluster -q -inf $SClusterName`; + + // stringArrayRemove (Joints ScrollList) from (Joints in SkinCluster) + $NotInScrollListItems = stringArrayRemove($ScrollListItems, $NotInScrollListItems); + + // Lock All the joints that aren't in ScrollListItems + for ( $jointScroll in $NotInScrollListItems ) { + setAttr (`AS_SkinnyTokenize ($jointScroll+ ".liw")`) 1; + } + } +}// AS_SkinnyHoldPresets END +/////////////////////////////////////////// +/// Hold Joints not in ScrollList END /// +///////////////////////////////////////// + + + +//---------------- +// manger menuItem "complete set" in Skinny UI +//---------------- +global proc AS_SkinnyFullSet(){ + string $SkinSetMode="SkinnySets"; + if (!`radioButton -q -sl SkinnyModeSkin`) + $SkinSetMode="SkinnyClusterSets"; + + string $SkinnySets[]=`listAttr -ud $SkinSetMode`; + // If Full Set Is Select. UnSelect all the others + if (`menuItem -q -cb Skinny_FullSet`==1){ + for ( $SetFound in $SkinnySets) { + menuItem -e -cb 0 ("Skinny_"+$SetFound); + } + } + // Run Update ScrollList + if ($SkinSetMode=="SkinnySets") + Skinny_UpdateSkin ByName 0; + else + Skinny_UpdateCluster; +} + + +/////////////////////////////////////////////// +// Show ScrollList items by Skinny Presets /// +///////////////////////////////////////////// +global proc string[] AS_SkinnyScrollListItems() { + + +// Find Sets that start with "Skinny_" + string $SkinnySets[]=`listAttr -ud "SkinnySets"`; +// Query state of Skinny Sets + string $SetCollector[]; // Sets Collector Items + string $ScrollListItems[]; // The Final Items Arry. + string $tempString; + +// PRESET Collector. +// Ask Sets Status (On/Off) +for ( $SetFound in $SkinnySets) { + +// If any of SkinnySet menuItems are ON,Collect there Sets Members + if (`menuItem -q -cb ("Skinny_"+$SetFound) `) { + $tempString=`addAttr -q -enumName ("SkinnySets."+$SetFound)`; + string $SetMembers[]; + tokenize $tempString ":" $SetMembers; + int $SetSize = size($SetMembers); + appendStringArray ( $SetCollector, $SetMembers, $SetSize ); + //UnSelect "Full Set" PresetMenu + menuItem -e -cb 0 Skinny_FullSet; + } + } + + // Remove From collected Set, members that aren't bind joint, cause they can't be Locked, and they couse error messages. + string $JointsToRemove[]; + for ($item in $SetCollector) { + // ask if joint have lockInfluenceWeights attr, if not remove him from string arry. + if (!size(`listAttr -r -st "lockInfluenceWeights" $item`)) + $JointsToRemove=`Skinny_AppendStringtoArry $JointsToRemove $item`; + } + // Remove found Joints from SetCollector + $SetCollector=stringArrayRemove($JointsToRemove, $SetCollector); + +// If ALL SkinnySet menuItems are OFF, Get Members from Full Set SkinnyFullSet_+ObjName. + string $SelObj[5]= `ls -sl`; + if (!size($SetCollector)){ + for ($item in $SelObj) { + if (!`objExists "SkinnySets"`) return $ScrollListItems; + string $FullSetMembers[]=`sets -q "SkinnySets"`; + int $SetSize=size($FullSetMembers); + appendStringArray($SetCollector, $FullSetMembers, $SetSize); + } + + // Select "Full Set" PresetMenu + menuItem -e -cb 1 Skinny_FullSet; + } + + // Remove Sets Duplicate Members. + string $ScrollListItems[] = stringArrayRemoveDuplicates($SetCollector); + + + // Zero Weight take only the joints with no influence from it list. + if (`checkBoxGrp -q -v1 ShowZeroWeight`) { + string $ListOfNoWeight[]=`FindNoWeight $SelObj[0]`; + // Substract list of Zero Weight with Sorted list, and then substract again for clear list + string $ListOfWeight[]=stringArrayRemove($ListOfNoWeight, $ScrollListItems); + $ScrollListItems=stringArrayRemove($ListOfWeight, $ScrollListItems); + } + +// After All Members were collected. +// Ask if need to Sort by: Alphabetical/Graph Order/By Hold/. +// Sorted or Not? + string $SortedScrollListItems[]; + //Alphabetical// + if ( `menuItem -q -rb SkinnyUI|skinToolmenuBar|SkinToolOrder|OrderAlph`==1 ) { + $SortedScrollListItems = `sort $ScrollListItems`; + //By Hold// + } else if ( `menuItem -q -rb SkinnyUI|skinToolmenuBar|SkinToolOrder|OrderHold`==1 ) { + string $buffer[]; + for ( $ScrollListItem in $ScrollListItems ) { + if ( `getAttr ( $ScrollListItem + ".liw" )` == 0 ) { + $buffer[0] = $ScrollListItem; + appendStringArray($SortedScrollListItems, $buffer, 1); + } + } + for ( $ScrollListItem in $ScrollListItems ) { + if ( `getAttr ( $ScrollListItem + ".liw" )` == 1 ) { + $buffer[0] = $ScrollListItem; + appendStringArray($SortedScrollListItems, $buffer, 1); + } + } + //Graph Order// + } else { + $SortedScrollListItems = $ScrollListItems; + } + +return $SortedScrollListItems; +}// AS_SkinnyScrollListItems END + + + + + +// Joint Rotation FrameLayout Command +// Set Key on Selected joints + + +// Rotate Joints +global proc SkinnyRotJNT(string $Selected ,int $reset) { +// Query Selected Items in ScrollList. + string $JNTsRotate[]; + if ($Selected=="Selected"){ + $JNTsRotate=`textScrollList -q -si jointScrollList`; + } else { + $JNTsRotate=`textScrollList -q -ai jointScrollList`; + } + if ($reset) { + // Reset Value + floatSliderGrp -e -v 0.0 SliderX; + floatSliderGrp -e -v 0.0 SliderY; + floatSliderGrp -e -v 0.0 SliderZ; + } + + // Rotate Selected Joints + for ( $i=0 ; $i < size($JNTsRotate) ; $i++ ) { + // Clean Joint name + string $JNTRotate= `AS_SkinnyTokenize $JNTsRotate[$i]`; + // Connect Slider Value To Joint + int $RotXvalue = `floatSliderGrp -q -v SliderX`; + int $RotYvalue = `floatSliderGrp -q -v SliderY`; + int $RotZvalue = `floatSliderGrp -q -v SliderZ`; + + + rotate $RotXvalue $RotYvalue $RotZvalue $JNTRotate; + } +}//End Rotate Joint Proc + + + +global proc JointRotKey ( string $function, string $Selection ){ +// Query Selected Joints +string $JNTtoKey[]; +if ($Selection=="Selected") + $JNTtoKey=`textScrollList -q -si jointScrollList`; +if ($Selection=="All") + $JNTtoKey=`textScrollList -q -ai jointScrollList`; + + +if (size($JNTtoKey)==0){ + print "Skinny Message: Nothing Is Selected\n"; +} else { +if ($function=="SetKey") +{ + // Turn off autoKey, can cause problem with Keying joints + if (`autoKeyframe -q -state`){ + autoKeyframe -state false; + print "Skinny Message: autoKeyframe was turn off. can make unwanted keys\n"; + } + // Set Key + for ( $joint in $JNTtoKey) { + $joint= `AS_SkinnyTokenize $joint`; + setKeyframe ($joint + ".rotate"); + } + // Print confirmation message + print "Skinny Message: Set Keyframes For Selected Joints\n"; +} else { + // Delete Keys + for ( $joint in $JNTtoKey){ + $joint= `AS_SkinnyTokenize $joint`; + // Cut all Keys + cutKey -attribute rotate $joint; + // Reset Slider + SkinnyRotJNT Selected 1; + } + // Print confirmation message + print "Skinny Message: Delete Keyframes Form Selected Joints\n"; + } + } +}//End JointRotKey + + +//--------------- +// Skinny Check for missing XPM before loading Skinny +//--------------- +proc string XpmFileCheck() +{ + global string $gXBMLANGPATH[]; + string $FoundedXpm[]; + string $XmpFiles[]={ + "AS_SkinnyAdd.XPM", + "AS_SkinnyFLOOD.XPM", + "AS_SkinnyMirorMins.XPM", + "AS_SkinnyMirorPlus.XPM", + "AS_SkinnyPurne.XPM", + "AS_SkinnyRemove.XPM" + }; + + for ($t=0; $t<=size($XmpFiles); $t++) { + for ($i=0; $i<=size($gXBMLANGPATH); $i++) { + string $srchSkinny[]=`getFileList -folder "E:/My Pictures/maya/6.0/prefs/icons/" -filespec $XmpFiles[$t]`; + if (`size($srchSkinny)`){ + $FoundedXpm[$t]=$XmpFiles[$t]; + break; + } + } + } + + string $missingXpm[]=stringArrayRemove($FoundedXpm, $XmpFiles); + if (`size($missingXpm)`==0) return "Ok"; + + string $PrintMisingXpm; + for ($i=0; $i<=size($missingXpm); $i++) + $PrintMisingXpm=($PrintMisingXpm+$missingXpm[$i]+"\n"); + + string $XpmCheck=`confirmDialog -title "Missing XPM files" + -message ("Skinny is missing Xpm images: \n"+$PrintMisingXpm+"Copy missing Xpm files to your ICONS path and RESTART Maya") + -button "Confirm" -cancelButton "Confirm" -dismissString "Confirm"`; + return $XpmCheck; + +}//END XPMCheck + + + + +//---------------------- +// Skinny Main Proc. build UI +//---------------------- +global proc AS_Skinny() { + +// Run Xpm file Check + //if (`XpmFileCheck`!="Ok") return; + +// CurrentCtx +global string $Skinny_CurrentCtx; + +if (`window -ex SkinnyUI`) { deleteUI SkinnyUI; } + +// Window Creation // + $skinToolWindow = `window -rtf 1 -h 420 -w 295 -s 1 -title "Skinny V 3.8" SkinnyUI`; + +/// Menu Bars : "Preset", "Order", "Edit Smooth Skin". + menuBarLayout -p SkinnyUI skinToolmenuBar ; + menu -label "Skin Sets" -to 1 SkinToolPreset; + menuItem -cb 0 -label "Sets Tool" -c ( "Skinny_SetsTool" ) Skinny_SetsTool; + menuItem -d 1; + menuItem -cb 1 -label "All Bind Set" -c ( "AS_SkinnyFullSet" ) Skinny_FullSet; + + menu -label "Order" SkinToolOrder; + radioMenuItemCollection; + menuItem -label "Alphabetical" -c ( "Skinny_UpdateSkin ByName 0" ) -radioButton off OrderAlph; + menuItem -label "Graph Order" -c ( "Skinny_UpdateSkin ByName 0" ) -radioButton on OrderGrap; + menuItem -label "By Hold" -c ( "Skinny_UpdateSkin ByName 0" ) -radioButton off OrderHold; + + menu -label "MeshSmooth" -to 1 SkinnyMeshSmooth; + menuItem -c ("Skinny_SmoothMesh make") -label "Smooth Selected"; + menuItem -c ("Skinny_SmoothMesh remove") -label "Smooth Remove"; + menuItem -d 1; + + // Add MAYA SMOOTH SKIN MENU + // AddSmoothSkinMenu; + menu -label "Help"; + menuItem -l "Help..." -c ( "AS_SkinnyHelp 0" ); + menuItem -l "Bugs & Features" -c ( "AS_SkinnyHelp 1" ); + + + // Menu Bars END // + + + + +// FormLayout Creation Main FormLayout + + formLayout SkinnyMainLayout; + + //ScrollList jointScrollList. + textScrollList -w 150 -h 270 -numberOfRows 20 -allowMultiSelection 1 + -sc ( "Skinny_Function paint" ) -dcc ( "Skinny_Function DubbleClickHold" ) "jointScrollList"; + //ScrollList Lock/Unlock PopUp Menus + popupMenu -parent jointScrollList jointScrollListPopup; + menuItem -l "Lock Selected" -c ( "AS_SkinnyLockFunction Selected 1" ); + menuItem -l "UnLock Selected" -c ( "AS_SkinnyLockFunction Selected 0" ); + menuItem -d 1; + menuItem -l "Lock All" -c ( "AS_SkinnyLockFunction All 1" ); + menuItem -l "UnLock All" -c ( "AS_SkinnyLockFunction All 0" ); + menuItem -d 1; + //menuItem -l "Set Selected" -c ( "AS_SkinnySetsMakerUI" ); + + + // Buttons-Lock/UnLock + columnLayout -adj 1 LockUnlockColumn; + rowColumnLayout -numberOfRows 1 -rowHeight 1 18 Skinny_LockweightColumn; + button -bgc 0.955 0.905 0.718 -w 120 -c ( "AS_SkinnyLockFunction Selected 1" ) -ann "Lock weight on selected joints" -label "Lock Weight"; + button -bgc 0.955 0.905 0.718 -w 30 -c ( "AS_SkinnyLockFunction All 1" ) -ann "Lock weight on All joints in Skinny ScrollList" -label "All"; + setParent ..; + rowColumnLayout -numberOfRows 1 -rowHeight 1 18 Skinny_unLockweightColumn; + button -bgc 0.832 0.865 0.955 -w 120 -c ( "AS_SkinnyLockFunction Selected 0" ) -ann "UnLock weight on selected joints" -label "UnLock Weight"; + button -bgc 0.832 0.865 0.955 -w 30 -c ( "AS_SkinnyLockFunction All 0" ) -ann "UnLock weight on All joints in Skinny ScrollList" -label "All"; + + setParent ..; + setParent ..; + + +///////////////////////////////// +// Paint Selected FrameLayout // +/////////////////////////////// +float $color[] = {0.7, 0.8, 0.5}; +frameLayout -bgc $color[0] $color[1] $color[2] -lv 0 -mw 2 -mh 2 -label "Selection" -labelAlign "top" -cll 0 -li 5 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnySelectionFrame; + columnLayout -bgc $color[0] $color[1] $color[2]; + checkBoxGrp -bgc $color[0] $color[1] $color[2] -cc ("Skinny_ScriptJob") -v1 1 -l "Skinny Active" -ann "Active scriptJob, Auto Paint on selection" + -cw 1 80 -cw 2 53 -adj 2 ScriptJobBox; + + // Skinny Skin / Cluster modes + rowColumnLayout -bgc $color[0] $color[1] $color[2] -numberOfRows 1 SkinModeLayout; + radioCollection; + radioButton -bgc $color[0] $color[1] $color[2] -sl -onc ("Skinny_UISwitcher skin") -label "Skin" SkinnyModeSkin; + radioButton -bgc $color[0] $color[1] $color[2] -onc ("Skinny_UISwitcher cluster") -label "Cluster" SkinnyModeCluster; + + setParent ..; + setParent ..; +setParent ..; + +/////////////////////// +// Paint Frame Layout// +/////////////////////// +frameLayout -label "Paint Tools" -labelAlign "top" -mh 2 -mw 3 -cll 1 -cl 0 + -cc "menuItem -e -cb 1 Skinny_SetsTool; Skinny_SetsTool" + -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyPaintFrame; + columnLayout skinnyPaintColumn; + formLayout skinnyPaintForm; + + + // Buttons-Brushs size + iconTextRadioCollection; + iconTextRadioButton -w 40 -h 38 -onc ( "artAttrCtx -e -stP \"gaussian\" $Skinny_CurrentCtx;" ) -image1 "circleGaus.xpm" ButtonBrush1; + iconTextRadioButton -w 40 -h 38 -onc ( "artAttrCtx -e -stP \"poly\" $Skinny_CurrentCtx;" ) -image1 "circlePoly.xpm" ButtonBrush2; + iconTextRadioButton -w 40 -h 38 -onc ( "artAttrCtx -e -stP \"solid\" $Skinny_CurrentCtx;" ) -image1 "circleSolid.xpm" ButtonBrush3; + + + + // Button-Paint operations ( Replace, Add ,Scale, Smooth ) + radioCollection; + radioButton -onc ( "artAttrCtx -e -sao \"absolute\" $Skinny_CurrentCtx" ) -label "replace" Operationabsolute; + radioButton -onc ( "artAttrCtx -e -sao \"additive\" $Skinny_CurrentCtx" ) -label "add" Operationadditive; + radioButton -onc ( "artAttrCtx -e -sao \"scale\" $Skinny_CurrentCtx" ) -label "scale" Operationscale; + radioButton -onc ( "artAttrCtx -e -sao \"smooth\" $Skinny_CurrentCtx") -label "smooth" Operationsmooth; + + // Button-Flood + //symbolButton -c ( "artAttrCtx -e -clear $Skinny_CurrentCtx" ) -image "AS_SkinnyFLOOD.XPM" -ann "Flood paint weight" Operationflood; + button -h 20 -l "Flood" -c ( "artAttrCtx -e -clear $Skinny_CurrentCtx" ) -ann "Flood paint weight" Operationflood; + + // ChackBox-Staylus pressure + checkBoxGrp -onc ( "artAttrCtx -e -usepressure 1 $Skinny_CurrentCtx;" ) + -ofc ( "artAttrCtx -e -usepressure 0 $Skinny_CurrentCtx;" ) + -v1 1 -l "Stylus pressure" -ann "Stylus pressure on/off" + -cw 1 80 -cw 2 15 -adj 2 statlusBox; + + // Sliders-Value&Display + floatSliderGrp -label "Val" -field true // Value Slider. + -minValue -0 -maxValue 1 + -fieldMinValue -0 -fieldMaxValue 1 + -dc ( "artAttrCtx -e -value `floatSliderGrp -q -v ValSlider` $Skinny_CurrentCtx;" ) + -cc ( "artAttrCtx -e -value `floatSliderGrp -q -v ValSlider` $Skinny_CurrentCtx;" ) + -pre 2 -s 0.05 + -ann "Paint Brush Value" + -adj 3 -cw 1 25 -cw 2 30 -cw 3 70 + -value 1 ValSlider; + + popupMenu -parent ValSlider; + menuItem -l "0.10" -c ( "floatSliderGrp -e -v 0.10 ValSlider; artAttrCtx -e -value 0.10 $Skinny_CurrentCtx;" ); + menuItem -l "0.25" -c ( "floatSliderGrp -e -v 0.25 ValSlider; artAttrCtx -e -value 0.25 $Skinny_CurrentCtx;" ); + menuItem -l "0.50" -c ( "floatSliderGrp -e -v 0.50 ValSlider; artAttrCtx -e -value 0.50 $Skinny_CurrentCtx;" ); + + floatSliderGrp -label "Dis" -field true // Display Slider. + -minValue 0.01 -maxValue 1 + -fieldMinValue 0.01 -fieldMaxValue 1 + -dc ( "artAttrCtx -e -colorrangeupper `floatSliderGrp -q -v DisSlider` $Skinny_CurrentCtx;" ) + -cc ( "artAttrCtx -e -colorrangeupper `floatSliderGrp -q -v DisSlider` $Skinny_CurrentCtx;" ) + -pre 2 -s 0.05 + -ann "Max Value Of Color Feedback Display" + -adj 3 -cw 1 25 -cw 2 30 -cw 3 70 + -value 1 DisSlider; + + popupMenu -parent DisSlider; + menuItem -l "0.10" -c ( "floatSliderGrp -e -v 0.10 DisSlider; artAttrCtx -e -colorrangeupper 0.10 $Skinny_CurrentCtx;" ); + menuItem -l "0.25" -c ( "floatSliderGrp -e -v 0.25 DisSlider; artAttrCtx -e -colorrangeupper 0.25 $Skinny_CurrentCtx;" ); + menuItem -l "0.50" -c ( "floatSliderGrp -e -v 0.50 DisSlider; artAttrCtx -e -colorrangeupper 0.50 $Skinny_CurrentCtx;" ); + + + // ChackBox-Show Wireframe & Color Feedback + checkBoxGrp -onc ("artAttrCtx -e -showactive true $Skinny_CurrentCtx;") -ofc ("artAttrCtx -e -showactive false $Skinny_CurrentCtx;") + -v1 1 -l "Wire" -ann "Show WireFrame while painting" SkinnyWireFrame; + checkBoxGrp -e -adj 1 -cw 1 32 SkinnyWireFrame; + checkBoxGrp -e -adj 2 -cw 2 25 SkinnyWireFrame; + + checkBoxGrp -onc ("artAttrCtx -e -colorfeedback true $Skinny_CurrentCtx;") -ofc ("artAttrCtx -e -colorfeedback false $Skinny_CurrentCtx;") + -v1 1 -l "Color" -ann "Show color feedback" SkinnyColorFeed; + checkBoxGrp -e -adj 1 -cw 1 45 SkinnyColorFeed; + checkBoxGrp -e -adj 2 -cw 2 15 SkinnyColorFeed; + + setParent ..; + setParent ..; // Go back up to skinnyPaintFrame. +setParent ..; // Go back up to SkinnyMainLayout. + + +/////////////////////// +// Util Frame Layout // +/////////////////////// +frameLayout -mh 3 -mw 4 -label "Util" -labelAlign "top" -cll 1 -cl 1 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyUtilFrame; + columnLayout skinnyUtilCoulmn; + formLayout skinnyUtilForm; + + //symbolButton -image "AS_SkinnyMirorPlus.XPM" -c ("AS_SkinnyWeightFunction MirorWeight X") -ann " Mirror Weight from Right to Left, +X" UtilMirorPlus; + button -h 20 -w 90 -l "Mirror X+" -c ("AS_SkinnyWeightFunction MirorWeight X") -ann " Mirror Weight from Right to Left, +X" UtilMirorPlus; + popupMenu; + menuItem -l "Mirror Options" -c ("MirrorSkinWeightsOptions"); + //symbolButton -image "AS_SkinnyMirorMins.XPM" -c ("AS_SkinnyWeightFunction MirorWeight Xinvert") -ann " Mirror Weight from Left to Right, -X" UtilMirorMinus; + button -h 20 -w 40 -l "X-" -c ("AS_SkinnyWeightFunction MirorWeight Xinvert") -ann " Mirror Weight from Left to Right, -X" UtilMirorMinus; + //symbolButton -image "AS_SkinnyPurne.XPM" -c ("AS_SkinnyWeightFunction PurnWeight Purne") -ann "Purne weight below purne value" PurneWeight; + button -h 20 -w 90 -l "Prune Weight" -c ("AS_SkinnyWeightFunction PurnWeight Purne") -ann "Purne weight below purne value" PurneWeight; + floatField -w 39 -v 0.01 -minValue 0 -maxValue 1 -precision 2 -step .001 PurneWeightText; + setParent ..; +setParent ..; +setParent ..; +// FormLayout End // + + +/////////////////////////// +// Influence Frame Layout// +/////////////////////////// +frameLayout -mh 2 -mw 4 -label "Influences" -labelAlign "top" -cll 1 -cl 1 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyInfluenceFrame; + //formLayout skinnyInfluenceForm; + columnLayout -adj 1 -rowSpacing 3; + checkBoxGrp -cc ("Skinny_UpdateSkin ByName 0") -v1 0 -l "Show Zero Weight" -ann "Show joint with zero weight only" ShowZeroWeight; + checkBoxGrp -e -adj 1 -cw 1 100 ShowZeroWeight; + checkBoxGrp -e -adj 2 -cw 2 28 ShowZeroWeight; + //symbolButton -image "AS_SkinnyRemove.XPM" -c ("Skinny_removeInflunce") -ann "Disconnect joints from current SkinCluster"; + button -h 20 -l "Remove Influnce" -c ("Skinny_removeInflunce") -ann "Disconnect joints from current SkinCluster"; + //symbolButton -image "AS_SkinnyAdd.XPM" -c ("Skinny_addInflunce") -ann "Add multiple influnences to multiple skin Objects, Select Joints and Object"; + button -h 20 -l "Add Influnce" -c ("Skinny_addInflunce") -ann "Add multiple influnences to multiple skin Objects, Select Joints and Object"; + setParent ..; +setParent ..; + +/////////////////////////// +// Vertexs Frame Layout // +///////////////////////// +frameLayout -mh 2 -mw 4 -label "Vertex Tools" -labelAlign "top" -cll 1 -cl 1 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyVertexFrame; + columnLayout -rs 2 skinnyVertexFrameCol; + + // Copy Vertex Value: + textFieldButtonGrp + -cw2 85 40 + -tx "Source Vertex" + -bl "Select" + -bc "SkinnyVertex.getSource()" + -ann "select one vertex or CV to copy weight from" + SourceV; + button -w 130 -l "Copy Skin Value" -h 18 -align "center" + -ann "Select couple of Vertexs or CV's to copy weigth to" + -bgc 0.75 0.8 0.9 -c "SkinnyVertex.copyValue()"; + separator -height 10 -w 125 -style "in"; + + // assign value + text -rs on -l "select joint from list \n and vertex's to assign:"; + textFieldButtonGrp + -cw2 40 150 + -tx "1.0" + -bgc 0.75 0.8 0.9 + -bl "Assign Selection" + -bc "SkinnyVertex.assignValue()" + -ann "select joint from Skinny, and vertex's to assign to" assignValue; + + separator -height 10 -w 125 -style "in"; + + + // Copy from Joint: + text -rs on -l "select source and target:"; + button -w 130 -l "Transfer Skin" -h 18 -align "center" + -ann "Select source and target joints from the list, then select couple of Vertexs or CV's to copy weigth to" + -bgc 0.75 0.8 0.7 -c "SkinnyVertex.transferValue()"; + setParent..; +setParent..; + + +///////////////////////// +// Rotate Frame Layout // +///////////////////////// +frameLayout -label "Joint Rotate " -labelAlign "top" -cll 1 -cl 1 + -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyJNTRotFrame; + columnLayout skinnyJNTRotMaincolumn; + columnLayout -adj 1 skinnyJNTRotcolumn; + + // Rotate Sliders + floatSliderGrp -label "X" -field true + -minValue -180 -maxValue 180 + -fieldMinValue -360 -fieldMaxValue 360 + -dc ( "SkinnyRotJNT Selected 0" ) + -cc ( "SkinnyRotJNT Selected 0" ) + -ann "Rotate X selected joints" + -adj 3 -cw 1 25 -cw 2 35 -cw 3 222 + -value 0 SliderX; + + floatSliderGrp -label "Y" -field true + -minValue -180 -maxValue 180 + -fieldMinValue -360 -fieldMaxValue 360 + -dc ( "SkinnyRotJNT Selected 0" ) + -cc ( "SkinnyRotJNT Selected 0" ) + -ann "Rotate Y selected joints" + -adj 3 -cw 1 25 -cw 2 35 -cw 3 222 + -value 0 SliderY; + + floatSliderGrp -label "Z" -field true + -minValue -180 -maxValue 180 + -fieldMinValue -360 -fieldMaxValue 360 + -dc ( "SkinnyRotJNT Selected 0" ) + -cc ( "SkinnyRotJNT Selected 0" ) + -ann "Rotate Z selected joints" + -adj 3 -cw 1 25 -cw 2 35 -cw 3 222 + -value 0 SliderZ; + + // PopUp Menu for Sliders + popupMenu -parent SliderX ; + menuItem -label "Reset Rotations" -c ( "SkinnyRotJNT Selected 1" ); + popupMenu -parent SliderY ; + menuItem -label "Reset Rotations" -c ( "SkinnyRotJNT Selected 1" ); + popupMenu -parent SliderZ ; + menuItem -label "Reset Rotations" -c ( "SkinnyRotJNT Selected 1" ); + + // Rotation Buttons ( Reset , Key , DelKey ) + columnLayout -adj 1 ; + // Reset Rotation Button + rowColumnLayout -numberOfRows 1 -rowHeight 1 22; + button -w 240 -l "Reset Selected Rotation" -c ("SkinnyRotJNT Selected 1") -ann "Reset Selected Joints Rotation" JointRotReset; + button -w 50 -l "All" -c ("SkinnyRotJNT all 1") -ann "Reset Rotations for All the Joints in ScrollList"; + setParent ..; + + // Set Key Button + rowColumnLayout -numberOfRows 1 -rowHeight 1 20; + button -w 120 -bgc 0.578 0.8 0.567 -l "Key Selected" -c ("JointRotKey SetKey Selected") -ann "Set Rotation Keyframes On Selected Joints" JointRotKey; + button -w 120 -bgc 1 0.6 0.6 -l "Del Selected" -c ("JointRotKey DelKey Selected") -ann "Delete Rotation Keyframes From Selected Joints" JointRotDelKey; + button -w 50 -l "All" -c ("JointRotKey DelKey All") -ann "Delete Rotation Keyframes From All the Joints in ScrollList" JointRotDelAllKey; + setParent ..; + setParent ..; + + +// FormLayout Adjustment Start +formLayout -edit + + -attachForm skinnyJNTRotFrame "bottom" 5 + -attachForm skinnyJNTRotFrame "left" 5 + + -attachForm LockUnlockColumn "left" 5 + -attachControl LockUnlockColumn "bottom" 10 skinnyJNTRotFrame + + -attachForm jointScrollList "top" 5 + -attachForm jointScrollList "left" 5 + -attachControl jointScrollList "bottom" 2 LockUnlockColumn + + -attachControl skinnySelectionFrame "left" 3 jointScrollList + -attachForm skinnySelectionFrame "top" 3 + + + -attachControl skinnyPaintFrame "left" 3 jointScrollList + -attachControl skinnyPaintFrame "top" 3 skinnySelectionFrame + + -attachControl skinnyVertexFrame "left" 3 jointScrollList + -attachControl skinnyVertexFrame "top" 3 skinnyPaintFrame + + + -attachControl skinnyUtilFrame "left" 3 jointScrollList + -attachControl skinnyUtilFrame "top" 3 skinnyVertexFrame + + + -attachControl skinnyInfluenceFrame "left" 3 jointScrollList + -attachControl skinnyInfluenceFrame "top" 3 skinnyUtilFrame + + SkinnyMainLayout; //END edit of main Layout. + + + +formLayout -edit // FormLayout, skinnyPaintForm, Edit + + -attachForm ButtonBrush1 "left" 3 + -attachForm ButtonBrush1 "top" 3 + + -attachControl ButtonBrush2 "left" 3 ButtonBrush1 + -attachForm ButtonBrush2 "top" 3 + + -attachControl ButtonBrush3 "left" 3 ButtonBrush2 + -attachForm ButtonBrush3 "top" 3 + + -attachForm Operationabsolute "left" 3 + -attachControl Operationabsolute "top" 10 ButtonBrush1 + + -attachOppositeControl Operationadditive "left" 60 Operationabsolute + -attachOppositeControl Operationadditive "bottom" 0 Operationabsolute + + -attachForm Operationscale "left" 3 + -attachControl Operationscale "top" 25 ButtonBrush1 + + -attachOppositeControl Operationsmooth "left" 60 Operationscale + -attachOppositeControl Operationsmooth "bottom" 0 Operationscale + + -attachForm statlusBox "left" 3 + -attachControl statlusBox "top" 5 Operationsmooth + + -attachForm ValSlider "left" 3 + -attachControl ValSlider "top" 5 statlusBox + + -attachForm DisSlider "left" 3 + -attachControl DisSlider "top" 0 ValSlider + + -attachForm Operationflood "left" 2 + -attachForm Operationflood "right" 2 + -attachControl Operationflood "top" 5 DisSlider + + -attachForm SkinnyWireFrame "left" 3 + -attachControl SkinnyWireFrame "top" 3 Operationflood + + -attachControl SkinnyColorFeed "left" 3 SkinnyWireFrame + -attachControl SkinnyColorFeed "top" 3 Operationflood + + skinnyPaintForm;//END edit of Slave FormLayout + + +formLayout -edit // FormLayout, skinnyUtilForm, Edit + + -attachForm UtilMirorPlus "top" 1 + -attachForm UtilMirorPlus "left" 0 + + -attachForm UtilMirorMinus "top" 1 + -attachControl UtilMirorMinus "left" 0 UtilMirorPlus + + -attachControl PurneWeight "top" 3 UtilMirorPlus + -attachForm PurneWeight "left" 0 + + -attachControl PurneWeightText "top" 3 UtilMirorPlus + -attachControl PurneWeightText "left" 0 PurneWeight + + skinnyUtilForm; +// FormLayout Ajustment End // + + +showWindow SkinnyUI; +// Create SkinnySets Node +string $ls[] = `ls -sl`; +if (!`objExists "SkinnySets"`) + createNode objectSet -n "SkinnySets"; +select $ls; +// Find SkinTool Sets, add them to UI "Preset" + Skinny_findSets; +/// Skinny CurrentCtx, default is Skin + $Skinny_CurrentCtx = "artAttrSkinContext"; +// Query Status of Paint Weight Tools + Skinny_QueryUI; +// Update the ScrollList + Skinny_UpdateSkin ByName 0; +// Find SkinnySmooth Meshes + FindSmoothMesh; +/// ScriptJob : Update when Select change + Skinny_ScriptJob; +/// Print Skinny Version + print "\nSkinny Version 3.80 \n"; +}// Skinny UI End // + diff --git a/2009-x64/MiscScripts/scripts/AS_Skinny_V3.8.mel b/2009-x64/MiscScripts/scripts/AS_Skinny_V3.8.mel new file mode 100644 index 0000000..971c78a --- /dev/null +++ b/2009-x64/MiscScripts/scripts/AS_Skinny_V3.8.mel @@ -0,0 +1,2390 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: Skinny +'' Author: +'' Last Updated: May 25, 2007 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/misc/2950.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//-------------------------------------------------------------------------------------------------------------------------------------// +//-------------------------------------------------------------------------------------------------------------------------------------// +// SCRIPT: AS_Skinny v 3.8 +// AUTHOR: Asi Sudai Character TD, Animator +// asi@asimation.com | www.reel.asimation.com +// +// DATE: 01/4/2007 18:00 +// +// DESCRIPTION: Skinny is skinning tool/UI. Skinny main advantage, on Maya +// Paint Weight tool, is it's presets list of joints & Influences. +// the Presets of joints makes the skinning process much more efficient. +// +// Update 3.8: +// - User can paint on selected vertex's ( isolate mode ) +// - Copy one Vertex weight to other ( solve crazy vertex's problem, and matching weight between diffrent mesh's ) +// +// +// +//-------------------------------------------------------------------------------------------------------------------------------------// +// +// Run Proc: AS_Skinny +// +//-------------------------------------------------------------------------------------------------------------------------------------// + +AS_Skinny; +////////////////////////////// +// Weight Tools features // +////////////////////////////// + +// Assign Joint to Vertex's: +global proc SkinnyVertex.assignValue() +{ + // If selected item, isn't Vertex or CV or Lattice, exit: + string $joint[] =`textScrollList -q -si jointScrollList`; + $joint[0] = `AS_SkinnyTokenize $joint[0]`; + float $Value = `textFieldButtonGrp -q -tx SkinnyUI|skinToolmenuBar|SkinnyMainLayout|skinnyVertexFrame|skinnyVertexFrameCol|assignValue`; + string $target[] =`ls -fl -sl`; + if (size($target)==0){print "Skinny: Select Vertex's to assign\n";return;} + string $trns[] =`listTransforms $target[0]`; + string $skinCluster = `findRelatedSkinCluster $trns[0]`; + if ($skinCluster==""){print "Skinny: Select Vertex's aren't skinned\n";return;} + skinPercent -nrm 1 -tv $joint[0] $Value $skinCluster $target; + print ("Skinny: Assign selection to " + $joint[0] + " Value: " + $Value +"\n"); +}// End Fun + + +// Zero skin value on point. before copying new value. +proc SkinnyVertex.zeroValue(string $item, string $T_skincluster){ + string $joints[] = `skinPercent -ib 0.001 -q -t $T_skincluster $item`; + for ($i=0;$i<`size($joints)`;$i++) + skinPercent -nrm 0 -tv $joints[$i] 0 $T_skincluster $item; +}//End fun + +// Update UI with selected Vertex: +global proc SkinnyVertex.getSource() +{ + // If selected item, isn't Vertex or CV or Lattice, exit: + string $ls[0] = `ls -fl -sl -hd 1 `; + if (`objectType $ls[0]` != "nurbsSurface" && `objectType $ls[0]` != "mesh" && + `objectType $ls[0]` != "lattice") + { + warning ("Works only on Vertexs,CV's,Lattice points.\n"); + return; + } + textFieldButtonGrp -e -tx $ls[0] SourceV; +}// End Fun + +// Copy Skin Value: +global proc SkinnyVertex.copyValue() +{ + //Time Debug: + $startTime = `timerX`; + // Get Source Values: + string $Source = `textFieldButtonGrp -q -tx SkinnyUI|skinToolmenuBar|SkinnyMainLayout|skinnyVertexFrame|skinnyVertexFrameCol|SourceV`; + if (!`objExists $Source`){ warning "Please Select one Vertex or Cv point to copy weights from";return;} + string $S_trns[] = `listRelatives -p $Source`; + string $S_skincluster = `findRelatedSkinCluster $S_trns[0]`; + string $joints[] = `skinPercent -ib 0.002 -q -t $S_skincluster $Source`; + float $values[]= `skinPercent -ib 0.002 -q -v $S_skincluster $Source`; + // Optimize: turn off skinCluster + setAttr ($S_skincluster + ".envelope") 0; + setAttr ($S_skincluster + ".normalizeWeights") 0; + setAttr ($S_skincluster + ".nodeState") 1; + // Copy skinValue to targets: + string $targets[] = `ls -sl`; + string $numParents[] = `listRelatives -ap $targets`; + + string $T_trns[]; + string $T_skincluster; + if (`size($numParents)`==1){ + $T_trns = `listRelatives -p $targets[0]`; + $T_skincluster = `findRelatedSkinCluster $T_trns[0]`; + + for ($item in $targets){ + SkinnyVertex.zeroValue($item, $T_skincluster); + for ($i=0;$i<`size($joints)`;$i++) + skinPercent -nrm 0 -tv $joints[$i] $values[$i] $T_skincluster $item; + } + } else { + for ($item in $targets){ + $T_trns = `listRelatives -p $item`; + $T_skincluster = `findRelatedSkinCluster $T_trns[0]`; + SkinnyVertex.zeroValue($item, $T_skincluster); + for ($i=0;$i<`size($joints)`;$i++){ + catchQuiet (`skinPercent -nrm 0 -tv $joints[$i] $values[$i] $T_skincluster $item`); + print $i; + } + } + } +// Optimization off: +setAttr ($S_skincluster + ".envelope") 1; +setAttr ($S_skincluster + ".normalizeWeights") 1; +setAttr ($S_skincluster + ".nodeState") 0; +//Time Debug: +$totalTime = `timerX -startTime $startTime`; +print ("\nSkinny Copy Total Time: "+$totalTime+"\n"); +print ("Skinny Copy Weight - Done\n"); + + +}// End Fun + + + + +//This procedure transfers skinCluster weight between two influence objects. +//We either loop through all the points in the skinCluster set, or use the current selection of points. +//We speed this process up by not acting on points that have a zero value per-infuence. +//This should work on all surface types, curves, and lattices. +//NOTE: $infB is the destination influence, $infA is the source influence. +//ST_TransferInfluence joint2 joint1 skinCluster1 1 1 100; +proc ST_TransferInfluence(string $infB, string $infA, string $skinCluster, int $mode, int $componentsCheck, float $percent) +{ +//Report errors. +if ((! `objExists $skinCluster`) || (`nodeType $skinCluster` != "skinCluster")) + error "Skin cluster specified incorrectly. Try again."; +//If either $obj1 or $obj2 are not in the influence list for the skinCluster, report an error. +string $influences[] = `skinCluster -q -inf $skinCluster`; +//DOESN´T WORK: if ((! `stringArrayCount($infB, $influences)`) || (! `stringArrayCount($infB, $influences)`)) +int $obj1Count = stringArrayCount($infB, $influences); +int $obj2Count = stringArrayCount($infA, $influences); +if (! $obj1Count) + error ($infB + " is not in the list of influences for " + $skinCluster + ". Try again."); +if (! $obj2Count) + error ($infA + " is not in the list of influences for " + $skinCluster + ". Try again."); + + +//Let´s time the operation, using the `timerX` cmd. +$startTime = `timerX`; + +//Get the value of the skinCluster.normalizeWeights attr. Turn it off. Later turn it back on. +//This isn´t really necessary, but is a precaution. +int $normalize = `getAttr ($skinCluster + ".normalizeWeights")`; +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 0; + +//Get the cluster set. +string $skinClusterSet[] = `listConnections -type objectSet $skinCluster`; + +//Assign the components - either all points in set, or selected points. +string $components[]; +if ($componentsCheck == 1) + { + $components = `sets -q $skinClusterSet[0]`; + if (! `size $components`) + error ($skinCluster + " has no members. Try again."); + //filter set membership: 36 - subD mesh points; 28 - CV´s; 31 - polygon mesh vertices; 46 - lattice points. + $components = `filterExpand -sm 36 -sm 28 -sm 31 -sm 46 $components`; + } +else if ($componentsCheck == 2) + { + $components = `ls -sl -fl`; + if (! `size $components`) + error ("Select some points and try again."); + + //Check if the user has selected components, or (by mistake) the object. + string $objectSelection[] = `ls -sl -o`; + if ($objectSelection[0] == $components[0]) + error ("Select some points and try again."); + } + +//Set "Hold" off for both joints. +int $hold1 = `getAttr ($infB + ".lockInfluenceWeights")`; +int $hold2 = `getAttr ($infA + ".lockInfluenceWeights")`; +if ($hold1) + setAttr ($infB + ".lockInfluenceWeights") 0; +if ($hold2) + setAttr ($infB + ".lockInfluenceWeights") 0; + + +//WE NEED TO QUERY THE VALUE OF EACH POINT IN BOTH OBJS, AND TRANSFER THIS. +//Start the progress bar. +global string $gMainProgressBar; +int $numberOfPoints = `size $components`; //-maxValue for progressBar +progressBar + -edit + -beginProgress + -isInterruptable 1 + -status ("Transferring skin weights between " + $infA + " and " + $infB + "...") + -maxValue $numberOfPoints + $gMainProgressBar; + +float $infAValue; //Source weight. +float $infBValue; //Destination weight. +//print ($mode + "\n"); +for ($c in $components) + { + //Query values of both influences for current component. + $infAValue = `skinPercent -t $infA -q -v $skinCluster $c`; + if ($mode == 2) + $infBValue = `skinPercent -t $infB -q -v $skinCluster $c`; + + //Reset component values to zero first. This allows us to transfer values only if the original value was greater than zero. + //If the original value was zero, it will remain zero, and we can go to the next iteration *much* faster by not touching it. + if ($infAValue > 0.0) + skinPercent -tv $infA 0 $skinCluster $c; + if (($infBValue > 0.0) && ($mode == 2)) + skinPercent -tv $infB 0 $skinCluster $c; + + //print ("The mode is: " + $mode + "\n"); + //print ("Influence " + $infB + "'s original value is " + `skinPercent -t $infB -q -v $skinCluster $c` + "\n"); + + //Transfer component values between influences, only if the original value was greater than zero. + if ($infAValue > 0.0) + { + //print ("The weight of " + $infA + " is " + $infAValue + "\n"); + //print ("The percentage is: " + $percent + "\n"); + //print ("The percent value is: " + ($infAValue * ($percent/100)) + "\n"); + + //Transfer the $infAValue onto $infB - use relative mode in order to add to any existing weight. + skinPercent -tv $infB ($infAValue * ($percent/100)) -relative 1 $skinCluster $c; + //Now, because of the percent factor, we need to put back any weight that remains on infA. + if ($percent < 100) + skinPercent -tv $infA ($infAValue * ((100 - $percent)/100)) -relative 1 $skinCluster $c; + } + if (($infBValue > 0.0) && ($mode == 2)) + { + //Transfer the $infBValue onto $infA + skinPercent -tv $infA ($infBValue * ($percent/100)) -relative 1 $skinCluster $c; + //And put back any remaining weight onto $infB + if ($percent < 100) + skinPercent -tv $infB ($infBValue * ((100 - $percent)/100)) -relative 1 $skinCluster $c; + } + + //print ("Influence " + $infB + "'s new value is " + `skinPercent -t $infB -q -v $skinCluster $c` + "\n"); + + + + + if (`progressBar -q -isCancelled $gMainProgressBar`) + { + progressBar -edit -endProgress $gMainProgressBar; + break; + } + + //Increase the progress bar. + progressBar -edit -step 1 $gMainProgressBar; + } + +//End progress bar. +progressBar -edit -endProgress $gMainProgressBar; + + + +//Turn on "Hold". +if ($hold1) + setAttr ($infB + ".liw") 1; +if ($hold2) + setAttr ($infB + ".liw") 1; + +//Turn normalizeWeights back on. +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 1; + + +//How long did it take? +$totalTime = `timerX -startTime $startTime`; +print ("Total Time: " + $totalTime + " seconds. \n"); +} + + +global proc SkinnyVertex.transferValue(){ + global string $g_skinnySelOrder[]; + + string $source = `AS_SkinnyTokenize $g_skinnySelOrder[0]`; + string $target = `AS_SkinnyTokenize $g_skinnySelOrder[1]`; + string $ls[0] = `ls -sl`; + string $skinCluster; + string $lsPoints[]; + print `objectType $ls[0]`; + // can work on entire mesh or selected point: + if (`objectType $ls[0]` == "nurbsSurface" || `objectType $ls[0]` == "mesh" || + `objectType $ls[0]` == "lattice") + { + string $trns[] =`listTransforms $ls[0]`; + $skinCluster = `findRelatedSkinCluster $trns[0]`; + if ($skinCluster==""){ warning "Select Skinned object"; return;} + ST_TransferInfluence $target $source $skinCluster 1 2 100; + }else{ + $skinCluster = `findRelatedSkinCluster $ls[0]`; + if ($skinCluster==""){ warning "Select Skinned object ot vertex"; return;} + ST_TransferInfluence $target $source $skinCluster 1 1 100; + } + textScrollList -e -da -si $g_skinnySelOrder[1] jointScrollList; + setSmoothSkinInfluence $target; + + //ST_TransferInfluence joint2 joint3 skinCluster1 1 1 100; +}//End Proc + + +////////////////////// +// CLUSTER FEATURE // +////////////////////// + +// Append string to String Arry. return New Arry +proc string[] Skinny_AppendStringtoArry(string $Arry[],string $string) { + int $size=size($Arry); + $Arry[$size]=$string; + return $Arry; +}//END Proc + +//----------------------------- +// find related Cluster deformer connected to given object +//----------------------------- +proc string[] findRelatedClusters(string $obj) { + + string $ClusterList[]; // The return array of all related Clusters + string $objShape[]=`listRelatives -noIntermediate -shapes $obj`; + if (!size($objShape)) return {"",""}; + string $ListObjSets[]=`listConnections -d on -s off -type objectSet $objShape[0]`; + for ($set in $ListObjSets) { + string $foundCluster[0]=`listConnections -type cluster $set`; + if (size($foundCluster)) + Skinny_AppendStringtoArry $ClusterList $foundCluster[0]; + } + return $ClusterList; +} +// End findRelatedClusters + + +//------------------------------- +// Prunce Cluster weight less then threshold +// if member weight below threshold, remove it +//------------------------------- +proc skinny_pruneCluster() { + + string $Cluster[0]=`textScrollList -q -si jointScrollList`; + if ($Cluster[0]=="") { warning "Select cluster to purne"; return; } + string $ClusterSet[0]=`listConnections -type objectSet $Cluster[0]`; + string $ClusterMembers[]=`sets -q $ClusterSet[0]`; + // filterExpand 31= vertex,28 =CVs, 36=Subdivision, 46=Lattice Points. + $ClusterMembers=`filterExpand -sm 31 -sm 28 -sm 36 -sm 46 $ClusterMembers`; + int $i=0; + float $PurneValue=`floatField -q -v PurneClusterWeightField`; + for ($member in $ClusterMembers) { + float $memberWeight[]=`percent -q -v $Cluster[0] $member`; + if ($memberWeight[0] <= $PurneValue) { + sets -remove $ClusterSet[0] $member; + $i++; + } + } + print ("\t Number of members removed: "+$i+"\n"); +} +// End skinny_pruneCluster + + + +//--------------------------- +// create attrFieldSliderGrp +//--------------------------- +proc Skinny_createClusterSlider(string $label, float $min, + float $max, float $cw[],string $at, string $SliderName, int $resetValue) +{ +attrFieldSliderGrp + -parent "skinnyClustercolumn" + -at $at + -l $label + -pre 1 + -step 0.2 + -en true + -min $min + -max $max + -cw 1 $cw[0] + -cw 2 $cw[1] + -cw 3 $cw[2] + -cat 1 "right" 0 + -cat 2 "both" 2 + -cat 3 "both" 2 + -cal 3 "center" + $SliderName; + + // Clusters PopupMenu + popupMenu -parent $SliderName; + menuItem -l "Reset" -c ("setAttr " + $at + " "+ $resetValue); +} +// End Skinny_attrFieldSliderGrp + +//----------------------- +// Edit Cluster Members +// to paint members need to turn off Skinny +//----------------------- +global proc Skinny_clusterEditMembers() { + string $Cluster[0]=`textScrollList -q -si jointScrollList`; + if (`size($Cluster)`==0) return; + checkBoxGrp -e -v1 0 ScriptJobBox; + Skinny_ScriptJob; + // Open Edit Painter + PaintSetMembershipTool; + //setEditPaintToolScript 4; Note: working only in ver Maya 5 + toolPropertyWindow -inMainWindow true; + string $ClusterSet[0]=`listConnections -type objectSet $Cluster[0]`; + textScrollList -e -si $ClusterSet[0] artSetPaintScrollList; + //setEditPaintCtx -e -settomodify $ClusterSet[0] `currentCtx`; Note: working only in ver Maya 5 + artSetScrollListClick artSetPaintCtx; + textScrollList -e -si $ClusterSet[0] artSetPaintScrollList; +} +// End Skinny_clusterEditMembers + + +// Cluster Reset transformation proc +// $function = reset All or Selected +//-------------------- +global proc Skinny_ClusterTranformReset (string $function) { + string $allItems[]; + int $reset; + if ($function=="All") + $allItems=`textScrollList -q -ai jointScrollList`; + else + $allItems=`textScrollList -q -si jointScrollList`; + + string $transform[]={"translate","rotate","scale"}; + + for ($item in $allItems) { + string $clusterHandle=`cluster -q -weightedNode $item`; + for ($trans in $transform) { + if ($trans!="scale") { $reset=0; } else { $reset=1; } + setAttr ( $clusterHandle + "." + $trans + "X" ) $reset; + setAttr ( $clusterHandle + "." + $trans + "Y" ) $reset; + setAttr ( $clusterHandle + "." + $trans + "Z" ) $reset; + } + } +} +// End Skinny_ClusterTranformReset // + + + +//--------------------------- +// manipulte the cluster by it's UI sliders +// create ClusterSlider from selected cluster +// in scroollList. +//--------------------------- +global proc Skinny_ClusterTranformProc(string $transform) { + // Delete existsing Sliders + columnLayout -e -m 0 skinnyJNTRotMaincolumn; + if (`attrFieldSliderGrp -ex "ClusterSliderX"`) deleteUI ClusterSliderX; + if (`attrFieldSliderGrp -ex "ClusterSliderY"`) deleteUI ClusterSliderY; + if (`attrFieldSliderGrp -ex "ClusterSliderZ"`) deleteUI ClusterSliderZ; + // Create new ones + int $reset; int $min; int $max; + if ($transform!="scale") { $reset=0; } else { $reset=1; } // Set Reset Value + if ($transform!="rotate") { $min="-10"; $max="10"; } // Set Min Max value + else { $min="-180"; $max="180"; } + string $selItem[]=`textScrollList -q -si jointScrollList`; + if (size($selItem)==0) return; + string $clusterHandle=`cluster -q -weightedNode $selItem[0]`; + Skinny_createClusterSlider ("X", $min, $max, {15,48,225}, + ($clusterHandle+"."+$transform+"X") , "ClusterSliderX", $reset); + Skinny_createClusterSlider ("Y", $min, $max, {15,48,225}, + ($clusterHandle+"."+$transform+"Y") , "ClusterSliderY", $reset); + Skinny_createClusterSlider ("Z", $min, $max, {15,48,225}, + ($clusterHandle+"."+$transform+"Z") , "ClusterSliderZ", $reset); + // Create Reset All button. + if (`rowColumnLayout -q -exists skinnyClusterResetColumn`) deleteUI "skinnyClusterResetColumn"; + rowColumnLayout -parent "skinnyClustercolumn" -numberOfRows 1 -rowHeight 1 22 "skinnyClusterResetColumn"; + button -bgc 0.756 0.857 0.955 -w 240 -l "Reset Selected" -c ("Skinny_ClusterTranformReset Select") -ann "Reset Selected Cluster"; + button -bgc 0.636 0.817 0.915 -w 50 -l "All" -c ("Skinny_ClusterTranformReset All") -ann "Reset All Clusters"; + + columnLayout -e -m 1 skinnyJNTRotMaincolumn; +} +// End Skinny_ClusterTranformProc + + +//------------------- +// Skinny UI switcher between Skin / Cluster +// Change Skinny UI to current Mode +//------------------- +global proc Skinny_UISwitcher(string $mode) { + +// Global string of current contextTool in Skinny. +// Skin = artAttrSkinContext , Cluster = artAttrContext. +global string $Skinny_CurrentCtx; + +if ($mode=="cluster") +{ + // CurrentCtx + $Skinny_CurrentCtx = "artAttrContext"; + + // Call updateSetsScrollList + Skinny_updateSetsScrollList; + + // Create SkinnyClusterSets Node + if (!`objExists "SkinnyClusterSets"`) + { + string $lsSel[]=`ls -sl`; + createNode objectSet -n "SkinnyClusterSets"; + select $lsSel; + } + + // MenuBar + int $SetToolStatus=`menuItem -q -cb Skinny_SetsTool`; + menu -e -deleteAllItems -l "Cluster Sets" SkinToolPreset; + menuItem -p "SkinToolPreset" -cb $SetToolStatus -label "Sets Tool" -c ( "Skinny_SetsTool" ) Skinny_SetsTool; + menuItem -p "SkinToolPreset" -d 1; + menuItem -p "SkinToolPreset" -cb 1 -label "All Clusters" -c ( "AS_SkinnyFullSet" ) Skinny_FullSet; + Skinny_findSets; + menu -e -vis 0 -en 0 SkinToolOrder; + + + // ScrollList + textScrollList -e -removeAll jointScrollList; + textScrollList -e -allowMultiSelection 1 -dcc ( "" ) jointScrollList; + // PopupMenu for Clusters Create + popupMenu -e -dai jointScrollListPopup; + menuItem -p jointScrollListPopup -l "Edit Membership" -c ( "Skinny_clusterEditMembers" ); + + // Lock & unLock Weight buttons: + rowColumnLayout -e -m 0 Skinny_LockweightColumn; + rowColumnLayout -e -m 0 Skinny_unLockweightColumn; + if (!`button -exists Skinny_editMembership`) + button -bgc 0.756 0.857 0.955 -parent LockUnlockColumn -h 20 -label "Edit Membership" + -c ( "Skinny_clusterEditMembers" ) Skinny_editMembership; + + button -e -en 1 -m 1 Skinny_editMembership; + + // Influnce Frame + frameLayout -e -m 0 skinnyInfluenceFrame; + + // UI Buttons + columnLayout -e -enable 1 LockUnlockColumn ; + + // Joint Rotation / Cluster Translation + frameLayout -e -label "Cluster Transform" skinnyJNTRotFrame; + columnLayout -e -m 0 skinnyJNTRotcolumn; + if (!`columnLayout -exists skinnyClustercolumn`) { + columnLayout -parent "skinnyJNTRotMaincolumn" -adj 1 -rs 1 skinnyClustercolumn; + // clusters transformation radioButton + radioButtonGrp -label "" + -numberOfRadioButtons 3 + -label1 "Translate" + -label2 "Rotate" + -label3 "Scale" + -on1 ("Skinny_ClusterTranformProc translate") + -on2 ("Skinny_ClusterTranformProc rotate") + -on3 ("Skinny_ClusterTranformProc scale") + -cw 1 10 -cw 2 80 + -cw 3 70 -cw 4 70 + -select 1 skinnyClusterTransRadio; + separator -h 2 -w 10 -style single -horizontal on -bgc 0.4 0.7 1; + // Delete existsing Sliders + if (`attrFieldSliderGrp -ex "ClusterSliderX"`) deleteUI ClusterSliderX; + if (`attrFieldSliderGrp -ex "ClusterSliderY"`) deleteUI ClusterSliderY; + if (`attrFieldSliderGrp -ex "ClusterSliderZ"`) deleteUI ClusterSliderZ; + } else { + columnLayout -e -m 1 skinnyClustercolumn; + }// End of cluster coulmn building + + // Util Frame + formLayout -e -m 0 skinnyUtilForm; // Disable Skin Util FormLayout + if (!`rowColumnLayout -ex skinnyClusterUtilColumn`) { + rowColumnLayout -parent skinnyUtilCoulmn -cw 2 33 -nc 2 skinnyClusterUtilColumn; + //symbolButton -image "AS_SkinnyPurne.XPM" -c ("skinny_pruneCluster") -ann "Prune members ( vertex, cv's ) that have zero weight. from all related clusters" PurneClusterWeight; + button -l "Prune Weight" -c ("skinny_pruneCluster") -ann "Prune members ( vertex, cv's ) that have zero weight. from all related clusters" PurneClusterWeight; + floatField -v 0.01 -minValue 0.001 -maxValue 1 -precision 2 -step .001 PurneClusterWeightField; + + //button -enable 0 -l "Purne Cluster Memebers" + // -c ("string $SelObj[1]=`ls -sl -hd 1`; cluster -e -prune $SelObj[0];"); + } else { + rowColumnLayout -e -m 1 skinnyClusterUtilColumn; + } + + // Update ScrollList + Skinny_UpdateCluster; + // Update ScriptJob + Skinny_ScriptJob; + // Update Skinny UI + Skinny_QueryUI; +} + +if ($mode=="skin") +{ + // CurrentCtx + $Skinny_CurrentCtx = "artAttrSkinContext"; + + // Call updateSetsScrollList + Skinny_updateSetsScrollList; + + // Sets menuBar + int $SetToolStatus=`menuItem -q -cb Skinny_SetsTool`; + menu -e -dai -l "Skin Sets" SkinToolPreset; + menuItem -p "SkinToolPreset" -cb $SetToolStatus -label "Sets Tool" -c ( "Skinny_SetsTool" ) Skinny_SetsTool; + menuItem -p "SkinToolPreset" -d 1; + menuItem -p "SkinToolPreset" -cb 1 -label "All Bind Set" -c ( "AS_SkinnyFullSet" ) Skinny_FullSet; + Skinny_findSets; + menu -e -vis 1 -en 1 SkinToolOrder; + + // ScrollList + textScrollList -e -removeAll jointScrollList; // Clear before switching + textScrollList -e -allowMultiSelection 1 + -dcc ( "Skinny_Function DubbleClickHold" ) "jointScrollList"; + + // scrollList PopupMenu create again + menuItem -p jointScrollListPopup -l "Lock Selected" -c ( "AS_SkinnyLockFunction Selected 1" ); + menuItem -p jointScrollListPopup -l "UnLock Selected" -c ( "AS_SkinnyLockFunction Selected 0" ); + menuItem -p jointScrollListPopup -d 1; + menuItem -p jointScrollListPopup -l "Lock All" -c ( "AS_SkinnyLockFunction All 1" ); + menuItem -p jointScrollListPopup -l "UnLock All" -c ( "AS_SkinnyLockFunction All 0" ); + menuItem -p jointScrollListPopup -d 1; + //menuItem -p jointScrollListPopup -l "Set Selected" -c ( "AS_SkinnySetsMakerUI" ); + + // Lock & unLock Weight buttons: + rowColumnLayout -e -m 1 Skinny_LockweightColumn; + rowColumnLayout -e -m 1 Skinny_unLockweightColumn; + button -e -m 0 Skinny_editMembership; + + // Influnce Frame + frameLayout -e -m 1 skinnyInfluenceFrame; + + // UI Buttons + columnLayout -e -enable 1 LockUnlockColumn; + + // Joint Rotation / Cluster Translation + frameLayout -e -label "Joint Rotate " skinnyJNTRotFrame; + columnLayout -e -m 1 skinnyJNTRotcolumn; + columnLayout-e -m 0 skinnyClustercolumn; + + // Util Frame + rowColumnLayout -e -m 0 skinnyClusterUtilColumn; + formLayout -e -m 1 skinnyUtilForm; + + // Update ScrollList + Skinny_UpdateSkin ByName 0; + // Update ScriptJob + Skinny_ScriptJob; + // Update Skinny UI + Skinny_QueryUI; +} +} +// End ScrollListClusterMode + + +//------------------ +// Update Skinny ScrollList Clusters +// Update ScrollList with Cluster according to selected Sets +// And if no Set active, show all available cluster +//------------------- +global proc Skinny_UpdateCluster() { + +// Active Sets collection: + // Find Active Sets, ask if active. + // If one or more active, use them. + string $ClusterSets[]=`listAttr -ud "SkinnyClusterSets"`; + string $SetCollector[]; + for ( $SetFound in $ClusterSets) { + if (`menuItem -q -cb ("Skinny_"+$SetFound) `) { + string $tempString=`addAttr -q -enumName ("SkinnyClusterSets."+$SetFound)`; + string $SetMembers[]; + tokenize $tempString ":" $SetMembers; + int $SetSize = size($SetMembers); + appendStringArray ( $SetCollector, $SetMembers, $SetSize ); + menuItem -e -cb 0 Skinny_FullSet; + } + } + // Remove Duplicate cluster from list. + $SetCollector=stringArrayRemoveDuplicates($SetCollector); + + +// No Set Active: + // if no set is active, get all the cluster ralted to the object. + // findRelatedCluster to update jointScrollList + if (size($SetCollector)==0) + { + menuItem -e -cb 1 Skinny_FullSet; // turn on All clusters menuItem + string $selObj[]=`ls -sl`; + if (size($selObj)==0) return; // if nothing selected return; + $SetCollector=`findRelatedClusters $selObj[0]`; + if (size($SetCollector)==0) return; // if no cluster found return; + } + + // switch to Cluster Ctx + if ( `currentCtx` != "artAttrContext" ) { + artAttrToolScript 4 "cluster"; + artAttrInitPaintableAttr;; + } + +// TextScrollList Update + // Add cluster in to jointScrollList; + textScrollList -e -removeAll jointScrollList; // Clear before update + for ( $cluster in $SetCollector) + textScrollList -e -append $cluster jointScrollList; +} +// End SkinnyGoClusterMode + + + + +/// ADD MAYA SMOOTH SKIN MENU +proc AddSmoothSkinMenu() { + menu -l "Smooth Skin" -parent skinToolmenuBar -to true -aob true; + menuItem -l "Add Influence" -annotation "Add Influence: Select surface(s) first and then the influence transform" -c "AddInfluence"; + menuItem -optionBox true -annotation "Add Influence Option Box" -l "Add Influence Option Box" -c "AddInfluenceOptions"; + menuItem -l "Remove Influence" -annotation "Remove Influence: Select surface(s) first and then the influence transform" -c "RemoveInfluence"; + menuItem -l "Set Max Influences..." -annotation "Set Max Influences: Display dialog to set max influences" -c "SetMaxInfluences"; + menuItem -divider true; + menuItem -l "Mirror Skin Weights" -annotation "Mirror Skin Weights: Select either a single skin or the source and the destination skin." -c "MirrorSkinWeights"; + menuItem -optionBox true -annotation "Mirror Skin Weights Option Box" -l "Mirror Skin Weights Option Box" -c "MirrorSkinWeightsOptions"; + menuItem -l "Copy Skin Weights" -annotation "Copy Skin Weights: Select the source surface and the destination surface" -c "CopySkinWeights"; + menuItem -l "Reset Weights to Default" -annotation "Reset Weights to Default: Select the surface(s) or component(s)" -c "ResetWeightsToDefault"; + menuItem -l "Prune Small Weights" -annotation "Prune Small Weights: Select the surface(s) or component(s)" -c "PruneSmallWeights"; + menuItem -optionBox true -annotation "Prune Small Weights Option Box" -l "Prune Small Weights Option Box" -c "PruneSmallWeightsOptions"; + menuItem -l "Remove Unused Influences" -annotation "Remove Unused Influences: Select the skin and unused joints and influences will be disconnected to improve performance." -c "removeUnusedInfluences"; + menuItem -divider true; + menuItem -l "Disable Weight Normalization" -annotation "Disable Weight Normalization: Select the surface(s)" -c "doNormalizeWeightsArgList 1 {\"1\"}"; + menuItem -l "Enable Weight Normalization" -annotation "Enable Weight Normalization: Select the surface(s)" -c "doNormalizeWeightsArgList 1 {\"2\"}"; + menuItem -l "Normalize Weights" -annotation "Normalize Weights: Select the surface(s) or component(s)" -c "doNormalizeWeightsArgList 1 {\"3\"}"; +}//END Proc + + +/// REMOVE INFLUENCE FEATURE Version 1.00 + + global proc Skinny_createSet() + { + string $SelObj[]=`ls -sl`; + for ($item in $SelObj) { + $getSelectedSkinCluster= `findRelatedSkinCluster $item`; + if ($getSelectedSkinCluster!="") { +print "debug2"; + $jointsInSkinCluster=`skinCluster -q -inf $getSelectedSkinCluster`; + if(`objExists "SkinnySets"`) { + sets -cl "SkinnySets"; + sets -add "SkinnySets" $jointsInSkinCluster; + //print ("Skinny Message: "+$item + " Skinny FullSet Updated \n"); + } else { + sets -n "SkinnySets" $jointsInSkinCluster; + } + } } + }//End Proc + + // Find Joints with no Weight + proc string[] FindNoWeight(string $SelObj){ + // get SkinCluster Name & all joints in skinCluster + string $getSelectedSkinCluster= `findRelatedSkinCluster $SelObj`; + if ($getSelectedSkinCluster=="") return {""}; + string $jointsInSkinCluster[]=`skinCluster -q -inf $getSelectedSkinCluster`; + // get all the joints with WEIGHTS & Substract the unused joints + string $jointsWithWeight[]=`skinCluster -q -wi $getSelectedSkinCluster`; + $jointsWithNoWeight=stringArrayRemove($jointsWithWeight,$jointsInSkinCluster); + return $jointsWithNoWeight; + }//End Proc + + + // Add muilti influences to object + global proc Skinny_addInflunce() { + string $listSelected[]=`ls -sl`; + string $Joints[]; + string $SkinObj[]; + string $SkinCluster; + for ($item in $listSelected) { + if (`objectType $item`=="joint") + Skinny_AppendStringtoArry $Joints $item; + else + // If item isn't joint type, ask if tansfrom, and if so ask if he has skinCluster. + if (`objectType $item`=="transform") { + $SkinCluster=`findRelatedSkinCluster $item`; + if ($SkinCluster!="") + Skinny_AppendStringtoArry $SkinObj $item; + } + } + // Add all selected joints, to all selected SkinObj + for ($obj in $SkinObj) { + string $SkinCluster=`findRelatedSkinCluster $obj`; +print "debug4"; + string $existingInfluences[] = `skinCluster -q -inf $SkinCluster`; + for ($joint in $Joints) { + // Check if joints isn't already a member + int $alreadyConnected; + for ($ei in $existingInfluences) + if ($ei == $joint) { + $alreadyConnected=1; + print ("\nJoint already a member\n"); + } + if (!$alreadyConnected) { + skinCluster -e -dr 8 -lw true -wt 0 -ai $joint $SkinCluster; + print ("\nSkinny Add influence " + $joint + " to " + $obj + "\n"); + } + } + } + }//END Proc + + + + // Remove selected joints with in JointScrollList from SkinCluster + global proc Skinny_removeInflunce(){ + // Get Selected joints from ScrollList + string $SelItemsName[]=`textScrollList -q -si jointScrollList`; + // Find Selected Obj & SkinCluster + string $SelObj[]=`ls -sl`; + string $buffer; + if (!size($SelObj)) { + print "Skinny Message: Nothing Is Selected\n"; + return; + } + for ($item in $SelObj){ + string $SkinCluster= `findRelatedSkinCluster $item`; + for ($joint in $SelItemsName) { + $buffer=`AS_SkinnyTokenize $joint`; + skinCluster -e -ri $buffer $SkinCluster; + print ("Skinny Message: "+$buffer+" removed\n"); + } + } + // Deselect removed joints + textScrollList -e -da "jointScrollList"; + // Update the ScrollList + Skinny_UpdateSkin "ByName" "1"; + }//End Proc + + +/// SMOOTH MESH FEATURE Version 1.00 /// + +//------------------------------ +// Check if object can be smooth. only if it's connected +// To Skincluster or cluster, And it's shape is mesh kind. +//------------------------------ +proc int CheckIfSmooth(string $SelObj){ + int $IsSmooth=0; + string $ObjShapes[]=`listRelatives -shapes $SelObj`; + // For every shape found, check if it's Mesh & it's connected to Skincluster.inMesh. + for ($shape in $ObjShapes){ + if (`nodeType $shape`=="mesh"){ + string $InMeshNode[1]=`listConnections -d off -s on ($shape+".inMesh")`; + if ($InMeshNode[0]!="") + if( `nodeType $InMeshNode[0]`=="skinCluster" || `nodeType $InMeshNode[0]`=="cluster") + { + $IsSmooth="1"; + break; + } + } + } + return $IsSmooth; +}// End Proc + +// Smooth Selected object and connect the smooth divisions to display layer for control +proc SmoothSelected(string $SelObj) { + // Check If Obj can be Smooth + if (`CheckIfSmooth $SelObj`){ + //string $PolyNode[0]=`polySmooth -mth 0 -dv 1 -c 1 -kb 1 -ksb 1 -khe 0 -kt 1 -kmb 1 -suv 0 -sl 1 -dpe 1 -ps 0.1 -ro 1 -ch 1 $SelObj`; + string $PolyNode[0]=`polySmooth -mth 0 -dv 1 $SelObj`; + $PolyNode[0]=`rename $PolyNode[0] ("SkinnySmooth_"+$SelObj)`; + // Add menuitem to toggel on/off into MeshSmooth Menu + menuItem -cb 1 -c ("Skinny_LayerSmoothToggel") -label $SelObj -p SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth ("SkinnySmooth_"+$SelObj); + // Bug Fix: after smooth the mesh color change... so a select again, and it's fix:) + select $SelObj; + print ("Skinny Message: MeshSmooth Applied on "+$SelObj+"\n"); + } +}//End Proc +// Remove SmoothNode & DisplayNode +proc RemoveSmooth(string $SelObj) { + string $ObjShapes[]=`listRelatives -shapes $SelObj`; + for ($shape in $ObjShapes){ + // Check if shapes are Skinny related + if (`nodeType $shape`=="mesh" && `CheckIfSmooth $SelObj`==0){ + // Find Connected Node to the Obj + string $InMeshNode[1]=`listConnections -d off -s on ($shape+".inMesh")`; + if ($InMeshNode[0]!=""){ + if (`nodeType $InMeshNode[0]`=="polySmoothFace"){ + //string $DisplayNode[1]=`listConnections -d off -s on ($InMeshNode[0]+".divisions")`; + // Check if they Skinny related and del them. + if (`gmatch $InMeshNode[0] "SkinnySmooth*"`) + delete $InMeshNode[0]; + // delete Smooth MenuItem from Skinny UI + deleteUI -menuItem ("SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth|"+"SkinnySmooth_"+$SelObj); + // Bug Fix: after smooth the mesh color change... so a select again, and it's fix:) + select $SelObj; + print ("Skinny Message: MeshSmooth Removed From "+$SelObj+"\n"); + break; + } + } + } + } +}//End Proc + +// Find & Add SmoothObject to MeshSmooth menuBar +proc FindSmoothMesh() { + // Find Skinny displayLayers + string $SkinnySets[]=`ls -type "polySmoothFace" "SkinnySmooth_*"`; + // Add Found displayLayers to SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth + for ( $SetFound in $SkinnySets) { + string $newMenuName=`substitute "SkinnySmooth_" $SetFound ""`; + // query smooth division to match Ui to divisions + int $state=`getAttr ($SetFound+".divisions")`; + menuItem -cb $state -c ("Skinny_LayerSmoothToggel") -label $newMenuName -p SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth ("SkinnySmooth_"+$newMenuName); + } +}//End Proc + + +//---------------------------- +// Calling proc to make/remove Skinny smooth +//---------------------------- +global proc Skinny_SmoothMesh(string $function) { + string $ListSelected[]=`ls -sl`; + if (!size($ListSelected)){ + print "Skinny Message: Nothing Is Selected\n"; + return;} + if ($function=="make"){ + for ($SelObj in $ListSelected) + SmoothSelected $SelObj; + } else { + for ($SelObj in $ListSelected) + RemoveSmooth $SelObj; + } +}//End Proc + + + +//---------------------- +// Toggel layerVis on/off +//---------------------- +global proc Skinny_LayerSmoothToggel() +{ + // Get Menu item stats + string $MenuList[]=`menu -q -ia SkinnyUI|skinToolmenuBar|SkinnyMeshSmooth`; + for ($menuItem in $MenuList) + { + if(`gmatch $menuItem "SkinnySmooth_*"`==1) + { + int $Value=`menuItem -q -cb $menuItem`; + setAttr ($menuItem+".divisions") $Value; + } + } + // Bug Fix: when toggel smooth, current painting obj become opacity. + // Fix this bug with simply selecting joint to paint. + Skinny_Function paint; +} +//End Skinny_LayerSmoothToggel + + + + +//-------------------------------- +// ScriptJob manger. Check if ScriptJob should be active. +// then check if should be in Skin / Cluster mode. +//-------------------------------- +global proc Skinny_ScriptJob(){ + global int $SkinnyScriptJob; + + // Check if should be active. if not kill. + if (!`checkBoxGrp -q -v1 ScriptJobBox`) { + if (`scriptJob -exists $SkinnyScriptJob` && $SkinnyScriptJob!=0 ) + scriptJob -kill $SkinnyScriptJob -force; + global string $gSelect; setToolTo $gSelect; + print "\nhere1"; + return; + } + + // Check if in Skin mode. + if (`radioButton -q -sl SkinnyModeSkin`) { + if (`scriptJob -exists $SkinnyScriptJob` && $SkinnyScriptJob!=0 ) + scriptJob -kill $SkinnyScriptJob -force; + Skinny_UpdateSkin ByName 0; + $SkinnyScriptJob=`scriptJob -p SkinnyUI -e "SelectionChanged" "Skinny_UpdateSkin ByName 1"`; + return; + } + + // Check if in Cluster Mode + if (`radioButton -q -sl SkinnyModeCluster`) { + if (`scriptJob -exists $SkinnyScriptJob` && $SkinnyScriptJob!=0 ) + scriptJob -kill $SkinnyScriptJob -force; + Skinny_UpdateCluster; + $SkinnyScriptJob=`scriptJob -p SkinnyUI -e "SelectionChanged" "Skinny_UpdateCluster"`; + } + +} +// END Skinny_ScriptJob // + + + + + +/////////////////////////////////////// +/// Query From Paint Weight Tool: ////// +/// Value, Display, Brush, Statlus ///// +/// Operation(replace,add,smooth) ///// +/// And Applying to SkinTool UI ///// +/////////////////////////////////////////// +global proc Skinny_QueryUI() { + + // CurrentCtx + global string $Skinny_CurrentCtx; + + // artAttrSkinContext & artAttrContext need to be open first + // before Skinny can query them. Open and close them to fix that. + if (`artAttrCtx -ex artAttrSkinContext`==0 ) { // Skin Context + ArtPaintSkinWeightsTool; + SelectMaskToolMarkingMenu; + SelectMaskToolMarkingMenuPopDown; + //artAttrCtx artAttrSkinContext; + } + if (`artAttrCtx -ex artAttrContext`==0 ) { // Cluster Context + artAttrCtx artAttrContext; + //ArtPaintSkinWeightsTool; + //SelectMaskToolMarkingMenu; + //SelectMaskToolMarkingMenuPopDown; + } + + +// Query-Paint Value + floatSliderGrp -e -v `artAttrCtx -q -value $Skinny_CurrentCtx` ValSlider; +// Query-Display Value + floatSliderGrp -e -v `artAttrCtx -q -colorrangeupper $Skinny_CurrentCtx` DisSlider; +// Query-Staylus On/Off + checkBoxGrp -e -v1 `artAttrCtx -q -usepressure $Skinny_CurrentCtx` statlusBox; +// Query-Paint Operation + radioButton -e -sl ("Operation"+ `artAttrCtx -q -sao $Skinny_CurrentCtx`); + +// Query-Brush type + if (`artAttrCtx -q -stampProfile $Skinny_CurrentCtx`=="gaussian") { + iconTextRadioButton -e -sl ButtonBrush1; + } else if (`artAttrCtx -q -stampProfile $Skinny_CurrentCtx`=="poly") { + iconTextRadioButton -e -sl ButtonBrush2; + } else if (`artAttrCtx -q -stampProfile $Skinny_CurrentCtx`=="solid") { + iconTextRadioButton -e -sl ButtonBrush3; + } +// Query Color FeedBack & WireFrame + checkBoxGrp -e -v1 `artAttrCtx -q -showactive $Skinny_CurrentCtx` SkinnyWireFrame; + checkBoxGrp -e -v1 `artAttrCtx -q -colorfeedback $Skinny_CurrentCtx` SkinnyColorFeed; +} // Query From Paint Weight Tool END// + + + + + + + + +///////////////////////////////// +//// SkinToolHELP Windows //// +/////////////////////////////// + +global proc AS_SkinnyHelp ( int $function ) { +if (`window -ex SkinToolHelpUI`) + { + deleteUI SkinToolHelpUI; + } +window -tlb 1 -title "Skinny helper" SkinToolHelpUI; +formLayout SkinToolHelp; +string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5 SkinToolHelpTab `; + +// FormLayout Adjustment Start + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "bottom" 0 + -attachForm $tabs "right" 0 + SkinToolHelp; + + string $HelpTab = `columnLayout -columnAlign "left"`; + text -w 340 -fn "tinyBoldLabelFont" ("Skinny version 3.8\n" + " Asi Sudai asi@asimation.com www.reel.asimation.com\n"); + + text -h 15 "Skinny Features:\n"; + + text -h 15 " Paint Tools\n"; + text -h 15 " All the basic Paint tools from Maya paint weight tool."; + text -h 15 " Add, Replace, Smooth, Scale..."; + text -h 15 " Val Slider is value of the brush"; + text -h 15 " Dis Slider is the max color feedback"; + text -h 15 " "; + + text -h 15 " Joint Rotate\n"; + text -h 15 " Rotate Joints while skinning.\n"; + text -h 15 " select joints from ScrollList and Rotate them.\n"; + text -h 15 " can work on muiltiply joints. if joint rotate is already connect\n"; + text -h 15 " it won't be rotated.\n"; + text -h 15 " "; + + text -h 15 " Preset\n"; + text -h 15 " The reason i made Skinny, Maya UI joint List uncomfortable.\n"; + text -h 15 " make set for Parts you want to paint, and hide the rest.\n"; + text -h 15 " See & Paint only the Joints you need, joints that you don't see\n"; + text -h 15 " in ScrollList are automatic hold/lock by skinny\n"; + text -h 15 " So they won't be painted by mistake.\n"; + text -h 15 " "; + + text -h 15 " Joint Order\n"; + text -h 27 " `Alphabetical`, `Graph Order` And `By Hold`.\n"; + + text -h 15 " Utility\n"; + text -h 15 " Mirror Weight, simple mirror X+ to X- and backwards.\n"; + text -h 15 " Right Click open Maya Mirror Options."; + text -h 15 " Purne Weight, with Purne Value."; + + text -h 15 " Influence\n"; + text -h 15 " -Show Zero Weights, show in Skinny ScrollList only joints.\n"; + text -h 20 " that have 0 weight on current painted object.\n"; + text -h 15 " -Remove influence. select joints in Skinny and remove them from.\n"; + text -h 20 " from current painted object.\n"; + text -h 15 " -Add influence. select joints to add to selected objects with skin.\n"; + text -h 15 " the order of selection ( joints & skinObj ) isn't important.\n"; + + setParent ..; + + string $BugsTab = `columnLayout -columnAlign "left"`; + text -h 15 "Bugs And Other `Features` \n"; + + text -h 15 " - Skinny won't update selection if select paint joint\n"; + text -h 15 " from outside Skinny UI .\n"; + text -h 15 " - when Removing influence,Skinny show warning messages\n"; + text -h 15 " It's ok, Ignore it... \n"; + text -h 15 " "; + text -h 15 " If you find a Bug or even worse, lot's of Bugs! Email me \n"; + text -h 15 -w 300 -fn "tinyBoldLabelFont" "Asi Sudai, asi@asimation.com"; + setParent ..; + + tabLayout -edit + -tabLabel $HelpTab "help..." -tabLabel $BugsTab "known Bugs" + $tabs; + // FormLayout Adjustment END + +//Query Witch tab should show. If 1 "known Bugs" <-else-> "help..." +if ( $function==1 ) { +tabLayout -e -selectTabIndex 2 SkinToolHelpTab; +} + +window -e -w 350 -h 620 -s 0 SkinToolHelpUI; +showWindow; +}// END + +////////////////////////////////// +//// SkinToolHELP Windows END /// +//////////////////////////////// + + + + +///////////////////////////////// +//// SkinTool Update Proc //// +/////////////////////////////// +global proc Skinny_UpdateSkin ( string $ByName, int $createFullSet ) { + +// If selected Obj have SkinCluster +// Then open Paint Skin Weights +// If nothing is selected skip Updating + +string $SelObj[1]= `ls -hd 1 -sl`; +if (size($SelObj)==1) { + // Note.Error msg accurse if Nothing selected. + string $SClusterName= `findRelatedSkinCluster $SelObj[0]`; + if ( $SClusterName == ""){ + string $Shape[] = `listRelatives -ni -p $SelObj[0]`; + $SClusterName= `findRelatedSkinCluster $Shape[0]`; + } + if ( `currentCtx` != "artAttrSkinContext" ) { + if ( $SClusterName != "") { + ArtPaintSkinWeightsTool; + } else { + textScrollList -e -removeAll jointScrollList; + print "Skinny Message: works only on Skinned Objects\n"; + return; + } + } + // Create Skinny Full Set for selected Objs. + if ($createFullSet) + Skinny_createSet; + // Get ScrollList Items from Proc AS_SkinnyScrollListItems. + string $SortedScrollListItems[] = `AS_SkinnyScrollListItems`; + + // $ByName ask if Update ScrollList items should be kept by- + // Name or line Number + string $SelItemsName[]; + int $SelItemsNumber[]; + if ( $ByName=="ByName" ) { + $SelItemsName=`textScrollList -q -si jointScrollList`; + } else { + $SelItemsNumber=`textScrollList -q -sii jointScrollList`; + } + + // Clear ScrollList before updateing ScrollList + textScrollList -e -removeAll jointScrollList; + + + // Add Items to jointScrollList. + // If Hold, Add Prifx "[H] " to Hold Joints + for ( $ScrollListItem in $SortedScrollListItems ) { + if ( `getAttr ( $ScrollListItem + ".liw" )` == 1 ) { + string $ScrollListHoldItem = "[H] " + $ScrollListItem; + textScrollList -e -append $ScrollListHoldItem jointScrollList; + } else { + string $ScrollListCleanItem= " " + $ScrollListItem; + textScrollList -e -append $ScrollListCleanItem jointScrollList; + } + } + + // Get back Selected Items In ScrollList. + if ( $ByName=="ByName" ) { + + //string $itemName; + for ($itemName in $SelItemsName) { + textScrollList -e -si $itemName jointScrollList; + } + } else { + //int $itemNum; + for ($itemNum in $SelItemsNumber) { + textScrollList -e -sii $itemNum jointScrollList; + } + } + + // Lock Joints that are in SkinCluster and NOT in ScrollList right now. + AS_SkinnyHoldPresets; +}// End of If nothing selected + +}// END +///////////////////////////////////// +//// SkinTool Update Proc END //// +/////////////////////////////////// + + +/////////////////// +// Tokenize Proc // +/////////////////// +global proc string AS_SkinnyTokenize ( string $TokenizeString) { + +string $buffer[]; // Temp String + +int $tokens = `tokenize $TokenizeString "[] " $buffer`; + +if ($tokens==1){ + return $buffer[0]; + } else { + return $buffer[1]; + } +}//End Rotate Joint Proc + + + + +///////////////////////////////// +//// SkinTool Functions Proc//// +/////////////////////////////// +global proc Skinny_Function ( string $function ) { + + // global function to hold selected by order + global string $g_skinnySelOrder[]; + + switch ( $function ) { + + +//-------------------- +// ScrollList selection proc: Skin / Cluster mode. +// Check whice mode is on. +//-------------------- +case "paint": + + // Used for Wieght Tools, transfer weight; + string $tempArray[] = `textScrollList -q -si jointScrollList`; + print $tempArray[1]; + if(size($tempArray)==1){ + clear $g_skinnySelOrder; + $g_skinnySelOrder[0] = $tempArray[0]; + } + else + if ($g_skinnySelOrder[0] == $tempArray[0]) + $g_skinnySelOrder[1] = $tempArray[1]; + else + $g_skinnySelOrder[1] = $tempArray[0]; + + + if (!`checkBoxGrp -q -v1 ScriptJobBox`) return; + + string $scrollListItems[]= `textScrollList -q -selectItem jointScrollList`; + if (size($scrollListItems)==0) return; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + { + + string $PaintSelJoint = `AS_SkinnyTokenize $scrollListItems[0]`; + setSmoothSkinInfluence $PaintSelJoint; // paint joint + // Update Joint Rotation Slider to Joint Rotation + float $SelJointRot[] = `getAttr ($PaintSelJoint+".rotate")`; + floatSliderGrp -e -v $SelJointRot[0] SliderX; + floatSliderGrp -e -v $SelJointRot[1] SliderY; + floatSliderGrp -e -v $SelJointRot[2] SliderZ; + } + + else // If Cluster mode + { + artSetToolAndSelectAttr( "artAttrCtx", ("cluster."+ $scrollListItems[0] +".weights") ); + // Cluster transform layout + int $ClusterRadioButton=`radioButtonGrp -q -sl skinnyClusterTransRadio`; + string $transform; + if ($ClusterRadioButton){$transform="translate";} + else if ($ClusterRadioButton==2){$transform="rotate";} + else if ($ClusterRadioButton==3){$transform="scale";} + Skinny_ClusterTranformProc $transform; + print "\n"; // Fix maya warning for no reason. + } + break; // case "paint" END + + +case "DubbleClickHold": //ASI NOTE, an all Update isn't needed can be more simple +string $SelJoint[]= `textScrollList -q -selectItem jointScrollList`; + + + string $buffer[]; + int $tokens=`tokenize $SelJoint[0] " " $buffer`; + if ($tokens==1){ + setAttr ( $buffer[0] + ".liw" ) 1; + } else { + setAttr ( $buffer[1] + ".liw" ) 0; + } + +// update the ScrollList + Skinny_UpdateSkin ByNumber 0; + +// Update Maya influnce list + artAttrSkinJointMenu("skinClusterInflList",""+ "artAttrCtx"+""); + break; // case DubbleClickHold END + + } +}// Skinny_Function END +///////////////////////////////////// +//// SkinTool Functions Proc END//// +/////////////////////////////////// + + + + + +////////////////////////// +/// Weighting Proc // +/// Mirror, Purn // +///////////////////////// +global proc AS_SkinnyWeightFunction ( string $case, string $function ) { + + //Find SkinCluster number + string $SelObj[1]= `ls -hd 1 -sl`; + string $SClusterName= `findRelatedSkinCluster $SelObj[0]`; + +switch ($case) { + + +case "MirorWeight": + if ( $function == "X" ) { + copySkinWeights -ss $SClusterName -ds $SClusterName -mirrorMode YZ; + } else { + copySkinWeights -ss $SClusterName -ds $SClusterName -mirrorInverse -mirrorMode YZ; + } + break; + + +case "PurnWeight": + float $PurneValue = `floatField -q -v PurneWeightText`; + //Purn Weight + skinPercent -prw $PurneValue $SClusterName; + break; + } +// Bug Fix. need to update paint weight tool to show new status + select `ls -sl`; +} // END +//////////////////////////////////// +//// Weighting Proc END ////// +////////////////////////////////// + + + +////////////////////////// +/// Lock & UnLock Proc // +///////////////////////// +global proc AS_SkinnyLockFunction ( string $AllorSel, int $setLockValue ) { + +switch ($AllorSel) { + + case "All": // Get All items from jointScrollList + string $ItemsInJointScroll[] = `textScrollList -q -ai jointScrollList`; + break; + + case "Selected": // Get Selected items from jointScrollList + string $ItemsInJointScroll[] = `textScrollList -q -selectItem jointScrollList`; + break; + } +// Lock or Unlock Action +for ( $jointScroll in $ItemsInJointScroll ) + setAttr `AS_SkinnyTokenize ( $jointScroll + ".liw")` $setLockValue; +// Update jointScrollList + Skinny_UpdateSkin ByNumber 0; +// Update Maya Influnce list + artAttrSkinJointMenu("skinClusterInflList",""+ "artAttrCtx"+""); +} // END +//////////////////////////////////// +//// Lock & UnLock Proc END ////// +////////////////////////////////// + + + + +//-------------- +// Set Finder +// make menuItem for the Sets Attributes in SkinnySets Node +//-------------- +global proc Skinny_findSets() +{ + // Which Mode are we? + // $SkinnySet[0]= which mode are we + // $SkinnySet[1]= what action to do + string $SkinnySet[2]; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet={"SkinnySets", "Skinny_UpdateSkin ByName 0"}; + else + $SkinnySet={"SkinnyClusterSets", "Skinny_UpdateCluster"}; + + // Find Sets that start with "Skinny_" + string $SkinnySets[]=sort(`listAttr -ud $SkinnySet[0]`); + + // Add Found Sets to SkinnyUI|skinToolmenuBar|SkinToolPreset + for ( $SetFound in $SkinnySets) menuItem -cb 0 -c ( $SkinnySet[1] ) -label $SetFound -p SkinnyUI|skinToolmenuBar|SkinToolPreset ("Skinny_"+$SetFound); +}// Skinny_findSets END + + + +//----------- +// Set Maker +// add Set to SkinnySets or SkinnyClusterSets. +// get setName and Memebers from SkinnyUI makeSet button +//----------- +global proc Skinny_SetMaker( string $setName, string $setMembers[]) +{ + // Quary which Mode are we Skin or Cluster, an add + // Set to the right Mode. SkinnySets or SkinnyClusterSets. + string $SkinnySet[2]; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet={"SkinnySets", "Skinny_UpdateSkin ByName 0"}; + else + $SkinnySet={"SkinnyClusterSets", "Skinny_UpdateCluster"}; + + // selected item from scrollList need to be toknized + for ( $i=0 ; $i < size($setMembers) ; $i++ ) + $setMembers[$i]=`AS_SkinnyTokenize $setMembers[$i]`; + + // we need to break the SetsMemebrs array to add ":" + // so later on we could use this string to add "enum" attr. + int $SizeMembers=`size($setMembers)`; + int $i=0; + string $tempString=""; + do{ + $tempString=($tempString+$setMembers[$i]+":"); + $i++; + } while ($i<=$SizeMembers); + + // now we can add the members in to SkinntSets Node. + addAttr -ln $setName -at "enum" -en $tempString $SkinnySet[0]; + setAttr -k on ($SkinnySet[0]+"."+$setName); + + // Add Set menu to Skinny UI + if (!`menuItem -q -ex ("Skinny_"+$setName)`) + menuItem -cb 0 -c ( $SkinnySet[1] ) -label $setName -p SkinnyUI|skinToolmenuBar|SkinToolPreset ("Skinny_"+$setName); +} //Skinny_SetsMaker + + + + +//-------------------- +// Save / Load Skinny sets into files +//-------------------- +global proc Skinny_saveSet(){ + fileBrowserDialog + -m 1 + -fc "Skinny_saveSetProc" + -fileType "mel" + -an "Save"; +}// End proc + + + +//------------ +// Update SetsTool ScrollList +//------------ +global proc Skinny_updateSetsScrollList() +{ + // If set Tools isn't exists return,no error jumps. + if (!`textScrollList -ex skinny_SetsScrollList`) return; + + // Switch between Modes + string $SkinnySet; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet="SkinnySets"; + else + $SkinnySet="SkinnyClusterSets"; + + // Find all sets from SetsNode + string $SkinnySets[]=sort(`listAttr -ud $SkinnySet`); + + // Clear current items from Sets ScrollList + textScrollList -e -ra skinny_SetsScrollList; + + // Add current Sets + for ($item in $SkinnySets) + textScrollList -e -append $item skinny_SetsScrollList; + +}//Skinny_updateSetsScrollList + +//--------------- +// Add Remove from Set +//--------------- +global proc Skinny_AddRemove2Set(string $whatToDo) +{ + // Check which mode are we Skin or Cluster + string $SkinnySet; + if (`radioButton -q -sl SkinnyModeSkin`) // If Skin mode + $SkinnySet="SkinnySets"; + else + $SkinnySet="SkinnyClusterSets"; + + + // Get selected Sets + string $selSets[]=`textScrollList -q -si skinny_SetsScrollList`; + if (`size($selSets)`==0) return; + + // Get selected Items. And clear there names. + string $selItems[]=`textScrollList -q -si jointScrollList`; + for ( $i=0 ; $i0) { Skinny_SetMaker ($setName, $setMembers); Skinny_updateSetsScrollList; textField -e -tx \"- Set Name - \" skinny_setName; print \"New Set Created\"; } else { warning \"Select Items to set first\"; }"; + + separator -bgc 0.5 0.6 1 -h 3; + setParent ..; + + // Set Tools + textScrollList -h 180 -allowMultiSelection 1 skinny_SetsScrollList; + separator -bgc 0.5 0.6 1 -h 3; + + rowColumnLayout -nc 2 -cs 2 3 -cw 1 65 -cw 2 65; + button -h 18 -l "Add" -ann "Add items to Set" -c ("Skinny_AddRemove2Set Add"); + + button -h 18 -l "Remove" -ann "Remove items to Set" -c ("Skinny_AddRemove2Set Remove"); + + + setParent ..; + + rowColumnLayout -nc 2 -cs 2 1 -cw 1 65 -cw 2 65; + button -en 0 -h 18 -l "Save Sets" -c ("Skinny_saveSet"); + button -en 0 -h 18 -l "Load Sets" -c ("Skinny_loadSet"); + setParent ..; + + button -h 18 -l "Delete Set" + -c "string $Sets[]=`textScrollList -q -si skinny_SetsScrollList`; string $SkinnySet=\"SkinnySets\";if (!`radioButton -q -sl SkinnyModeSkin`) $SkinnySet=\"SkinnyClusterSets\";for ($item in $Sets) { deleteAttr ($SkinnySet+\".\"+$item); deleteUI -mi (\"Skinny_\"+$item); }Skinny_updateSetsScrollList; "; + + } // End of if SetsTool UI exists + else columnLayout -e -m 1 skinnySetsTool; + + // Call updateSetsScrollList + Skinny_updateSetsScrollList; +} +// If Sets Tool menuItem is 0 +else { + + // Hide Sets Tools UI + frameLayout -e -cl 0 skinnyPaintFrame; + frameLayout -e -l "Paint Tools" + -cc "menuItem -e -cb 1 Skinny_SetsTool; Skinny_SetsTool" + skinnyPaintFrame; + columnLayout -e -m 0 skinnySetsTool; + + // Show Paint Tools UI + formLayout -e -m 1 skinnyPaintForm; +} + +}// Skinny_SetsTool + + + + + + + + + +///////////////////////////////////////// +/// Hold Joints not in ScrollList /// +/// When one or more Preset changes /// +////////////////////////////////////// +global proc AS_SkinnyHoldPresets() { + +// Get joints in ScrollList, DON'T hold them. +// Hold all the other joints in SkinCluster. + string $ScrollListItems[] = `textScrollList -q -ai jointScrollList`; + for ( $i=0 ; $i0){ + string $NotInScrollListItems[]=`skinCluster -q -inf $SClusterName`; + + // stringArrayRemove (Joints ScrollList) from (Joints in SkinCluster) + $NotInScrollListItems = stringArrayRemove($ScrollListItems, $NotInScrollListItems); + + // Lock All the joints that aren't in ScrollListItems + for ( $jointScroll in $NotInScrollListItems ) { + setAttr (`AS_SkinnyTokenize ($jointScroll+ ".liw")`) 1; + } + } +}// AS_SkinnyHoldPresets END +/////////////////////////////////////////// +/// Hold Joints not in ScrollList END /// +///////////////////////////////////////// + + + +//---------------- +// manger menuItem "complete set" in Skinny UI +//---------------- +global proc AS_SkinnyFullSet(){ + string $SkinSetMode="SkinnySets"; + if (!`radioButton -q -sl SkinnyModeSkin`) + $SkinSetMode="SkinnyClusterSets"; + + string $SkinnySets[]=`listAttr -ud $SkinSetMode`; + // If Full Set Is Select. UnSelect all the others + if (`menuItem -q -cb Skinny_FullSet`==1){ + for ( $SetFound in $SkinnySets) { + menuItem -e -cb 0 ("Skinny_"+$SetFound); + } + } + // Run Update ScrollList + if ($SkinSetMode=="SkinnySets") + Skinny_UpdateSkin ByName 0; + else + Skinny_UpdateCluster; +} + + +/////////////////////////////////////////////// +// Show ScrollList items by Skinny Presets /// +///////////////////////////////////////////// +global proc string[] AS_SkinnyScrollListItems() { + + +// Find Sets that start with "Skinny_" + string $SkinnySets[]=`listAttr -ud "SkinnySets"`; +// Query state of Skinny Sets + string $SetCollector[]; // Sets Collector Items + string $ScrollListItems[]; // The Final Items Arry. + string $tempString; + +// PRESET Collector. +// Ask Sets Status (On/Off) +for ( $SetFound in $SkinnySets) { + +// If any of SkinnySet menuItems are ON,Collect there Sets Members + if (`menuItem -q -cb ("Skinny_"+$SetFound) `) { + $tempString=`addAttr -q -enumName ("SkinnySets."+$SetFound)`; + string $SetMembers[]; + tokenize $tempString ":" $SetMembers; + int $SetSize = size($SetMembers); + appendStringArray ( $SetCollector, $SetMembers, $SetSize ); + //UnSelect "Full Set" PresetMenu + menuItem -e -cb 0 Skinny_FullSet; + } + } + + // Remove From collected Set, members that aren't bind joint, cause they can't be Locked, and they couse error messages. + string $JointsToRemove[]; + for ($item in $SetCollector) { + // ask if joint have lockInfluenceWeights attr, if not remove him from string arry. + if (!size(`listAttr -r -st "lockInfluenceWeights" $item`)) + $JointsToRemove=`Skinny_AppendStringtoArry $JointsToRemove $item`; + } + // Remove found Joints from SetCollector + $SetCollector=stringArrayRemove($JointsToRemove, $SetCollector); + +// If ALL SkinnySet menuItems are OFF, Get Members from Full Set SkinnyFullSet_+ObjName. + string $SelObj[5]= `ls -sl`; + if (!size($SetCollector)){ + for ($item in $SelObj) { + if (!`objExists "SkinnySets"`) return $ScrollListItems; + string $FullSetMembers[]=`sets -q "SkinnySets"`; + int $SetSize=size($FullSetMembers); + appendStringArray($SetCollector, $FullSetMembers, $SetSize); + } + + // Select "Full Set" PresetMenu + menuItem -e -cb 1 Skinny_FullSet; + } + + // Remove Sets Duplicate Members. + string $ScrollListItems[] = stringArrayRemoveDuplicates($SetCollector); + + + // Zero Weight take only the joints with no influence from it list. + if (`checkBoxGrp -q -v1 ShowZeroWeight`) { + string $ListOfNoWeight[]=`FindNoWeight $SelObj[0]`; + // Substract list of Zero Weight with Sorted list, and then substract again for clear list + string $ListOfWeight[]=stringArrayRemove($ListOfNoWeight, $ScrollListItems); + $ScrollListItems=stringArrayRemove($ListOfWeight, $ScrollListItems); + } + +// After All Members were collected. +// Ask if need to Sort by: Alphabetical/Graph Order/By Hold/. +// Sorted or Not? + string $SortedScrollListItems[]; + //Alphabetical// + if ( `menuItem -q -rb SkinnyUI|skinToolmenuBar|SkinToolOrder|OrderAlph`==1 ) { + $SortedScrollListItems = `sort $ScrollListItems`; + //By Hold// + } else if ( `menuItem -q -rb SkinnyUI|skinToolmenuBar|SkinToolOrder|OrderHold`==1 ) { + string $buffer[]; + for ( $ScrollListItem in $ScrollListItems ) { + if ( `getAttr ( $ScrollListItem + ".liw" )` == 0 ) { + $buffer[0] = $ScrollListItem; + appendStringArray($SortedScrollListItems, $buffer, 1); + } + } + for ( $ScrollListItem in $ScrollListItems ) { + if ( `getAttr ( $ScrollListItem + ".liw" )` == 1 ) { + $buffer[0] = $ScrollListItem; + appendStringArray($SortedScrollListItems, $buffer, 1); + } + } + //Graph Order// + } else { + $SortedScrollListItems = $ScrollListItems; + } + +return $SortedScrollListItems; +}// AS_SkinnyScrollListItems END + + + + + +// Joint Rotation FrameLayout Command +// Set Key on Selected joints + + +// Rotate Joints +global proc SkinnyRotJNT(string $Selected ,int $reset) { +// Query Selected Items in ScrollList. + string $JNTsRotate[]; + if ($Selected=="Selected"){ + $JNTsRotate=`textScrollList -q -si jointScrollList`; + } else { + $JNTsRotate=`textScrollList -q -ai jointScrollList`; + } + if ($reset) { + // Reset Value + floatSliderGrp -e -v 0.0 SliderX; + floatSliderGrp -e -v 0.0 SliderY; + floatSliderGrp -e -v 0.0 SliderZ; + } + + // Rotate Selected Joints + for ( $i=0 ; $i < size($JNTsRotate) ; $i++ ) { + // Clean Joint name + string $JNTRotate= `AS_SkinnyTokenize $JNTsRotate[$i]`; + // Connect Slider Value To Joint + int $RotXvalue = `floatSliderGrp -q -v SliderX`; + int $RotYvalue = `floatSliderGrp -q -v SliderY`; + int $RotZvalue = `floatSliderGrp -q -v SliderZ`; + + + rotate $RotXvalue $RotYvalue $RotZvalue $JNTRotate; + } +}//End Rotate Joint Proc + + + +global proc JointRotKey ( string $function, string $Selection ){ +// Query Selected Joints +string $JNTtoKey[]; +if ($Selection=="Selected") + $JNTtoKey=`textScrollList -q -si jointScrollList`; +if ($Selection=="All") + $JNTtoKey=`textScrollList -q -ai jointScrollList`; + + +if (size($JNTtoKey)==0){ + print "Skinny Message: Nothing Is Selected\n"; +} else { +if ($function=="SetKey") +{ + // Turn off autoKey, can cause problem with Keying joints + if (`autoKeyframe -q -state`){ + autoKeyframe -state false; + print "Skinny Message: autoKeyframe was turn off. can make unwanted keys\n"; + } + // Set Key + for ( $joint in $JNTtoKey) { + $joint= `AS_SkinnyTokenize $joint`; + setKeyframe ($joint + ".rotate"); + } + // Print confirmation message + print "Skinny Message: Set Keyframes For Selected Joints\n"; +} else { + // Delete Keys + for ( $joint in $JNTtoKey){ + $joint= `AS_SkinnyTokenize $joint`; + // Cut all Keys + cutKey -attribute rotate $joint; + // Reset Slider + SkinnyRotJNT Selected 1; + } + // Print confirmation message + print "Skinny Message: Delete Keyframes Form Selected Joints\n"; + } + } +}//End JointRotKey + + +//--------------- +// Skinny Check for missing XPM before loading Skinny +//--------------- +proc string XpmFileCheck() +{ + global string $gXBMLANGPATH[]; + string $FoundedXpm[]; + string $XmpFiles[]={ + "AS_SkinnyAdd.XPM", + "AS_SkinnyFLOOD.XPM", + "AS_SkinnyMirorMins.XPM", + "AS_SkinnyMirorPlus.XPM", + "AS_SkinnyPurne.XPM", + "AS_SkinnyRemove.XPM" + }; + + for ($t=0; $t<=size($XmpFiles); $t++) { + for ($i=0; $i<=size($gXBMLANGPATH); $i++) { + string $srchSkinny[]=`getFileList -folder "E:/My Pictures/maya/6.0/prefs/icons/" -filespec $XmpFiles[$t]`; + if (`size($srchSkinny)`){ + $FoundedXpm[$t]=$XmpFiles[$t]; + break; + } + } + } + + string $missingXpm[]=stringArrayRemove($FoundedXpm, $XmpFiles); + if (`size($missingXpm)`==0) return "Ok"; + + string $PrintMisingXpm; + for ($i=0; $i<=size($missingXpm); $i++) + $PrintMisingXpm=($PrintMisingXpm+$missingXpm[$i]+"\n"); + + string $XpmCheck=`confirmDialog -title "Missing XPM files" + -message ("Skinny is missing Xpm images: \n"+$PrintMisingXpm+"Copy missing Xpm files to your ICONS path and RESTART Maya") + -button "Confirm" -cancelButton "Confirm" -dismissString "Confirm"`; + return $XpmCheck; + +}//END XPMCheck + + + + +//---------------------- +// Skinny Main Proc. build UI +//---------------------- +global proc AS_Skinny() { + +// Run Xpm file Check + //if (`XpmFileCheck`!="Ok") return; + +// CurrentCtx +global string $Skinny_CurrentCtx; + +if (`window -ex SkinnyUI`) { deleteUI SkinnyUI; } + +// Window Creation // + $skinToolWindow = `window -rtf 1 -h 420 -w 295 -s 1 -title "Skinny V 3.8" SkinnyUI`; + +/// Menu Bars : "Preset", "Order", "Edit Smooth Skin". + menuBarLayout -p SkinnyUI skinToolmenuBar ; + menu -label "Skin Sets" -to 1 SkinToolPreset; + menuItem -cb 0 -label "Sets Tool" -c ( "Skinny_SetsTool" ) Skinny_SetsTool; + menuItem -d 1; + menuItem -cb 1 -label "All Bind Set" -c ( "AS_SkinnyFullSet" ) Skinny_FullSet; + + menu -label "Order" SkinToolOrder; + radioMenuItemCollection; + menuItem -label "Alphabetical" -c ( "Skinny_UpdateSkin ByName 0" ) -radioButton off OrderAlph; + menuItem -label "Graph Order" -c ( "Skinny_UpdateSkin ByName 0" ) -radioButton on OrderGrap; + menuItem -label "By Hold" -c ( "Skinny_UpdateSkin ByName 0" ) -radioButton off OrderHold; + + menu -label "MeshSmooth" -to 1 SkinnyMeshSmooth; + menuItem -c ("Skinny_SmoothMesh make") -label "Smooth Selected"; + menuItem -c ("Skinny_SmoothMesh remove") -label "Smooth Remove"; + menuItem -d 1; + + // Add MAYA SMOOTH SKIN MENU + // AddSmoothSkinMenu; + menu -label "Help"; + menuItem -l "Help..." -c ( "AS_SkinnyHelp 0" ); + menuItem -l "Bugs & Features" -c ( "AS_SkinnyHelp 1" ); + + + // Menu Bars END // + + + + +// FormLayout Creation Main FormLayout + + formLayout SkinnyMainLayout; + + //ScrollList jointScrollList. + textScrollList -w 150 -h 270 -numberOfRows 20 -allowMultiSelection 1 + -sc ( "Skinny_Function paint" ) -dcc ( "Skinny_Function DubbleClickHold" ) "jointScrollList"; + //ScrollList Lock/Unlock PopUp Menus + popupMenu -parent jointScrollList jointScrollListPopup; + menuItem -l "Lock Selected" -c ( "AS_SkinnyLockFunction Selected 1" ); + menuItem -l "UnLock Selected" -c ( "AS_SkinnyLockFunction Selected 0" ); + menuItem -d 1; + menuItem -l "Lock All" -c ( "AS_SkinnyLockFunction All 1" ); + menuItem -l "UnLock All" -c ( "AS_SkinnyLockFunction All 0" ); + menuItem -d 1; + //menuItem -l "Set Selected" -c ( "AS_SkinnySetsMakerUI" ); + + + // Buttons-Lock/UnLock + columnLayout -adj 1 LockUnlockColumn; + rowColumnLayout -numberOfRows 1 -rowHeight 1 18 Skinny_LockweightColumn; + button -bgc 0.955 0.905 0.718 -w 120 -c ( "AS_SkinnyLockFunction Selected 1" ) -ann "Lock weight on selected joints" -label "Lock Weight"; + button -bgc 0.955 0.905 0.718 -w 30 -c ( "AS_SkinnyLockFunction All 1" ) -ann "Lock weight on All joints in Skinny ScrollList" -label "All"; + setParent ..; + rowColumnLayout -numberOfRows 1 -rowHeight 1 18 Skinny_unLockweightColumn; + button -bgc 0.832 0.865 0.955 -w 120 -c ( "AS_SkinnyLockFunction Selected 0" ) -ann "UnLock weight on selected joints" -label "UnLock Weight"; + button -bgc 0.832 0.865 0.955 -w 30 -c ( "AS_SkinnyLockFunction All 0" ) -ann "UnLock weight on All joints in Skinny ScrollList" -label "All"; + + setParent ..; + setParent ..; + + +///////////////////////////////// +// Paint Selected FrameLayout // +/////////////////////////////// +float $color[] = {0.7, 0.8, 0.5}; +frameLayout -bgc $color[0] $color[1] $color[2] -lv 0 -mw 2 -mh 2 -label "Selection" -labelAlign "top" -cll 0 -li 5 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnySelectionFrame; + columnLayout -bgc $color[0] $color[1] $color[2]; + checkBoxGrp -bgc $color[0] $color[1] $color[2] -cc ("Skinny_ScriptJob") -v1 1 -l "Skinny Active" -ann "Active scriptJob, Auto Paint on selection" + -cw 1 80 -cw 2 53 -adj 2 ScriptJobBox; + + // Skinny Skin / Cluster modes + rowColumnLayout -bgc $color[0] $color[1] $color[2] -numberOfRows 1 SkinModeLayout; + radioCollection; + radioButton -bgc $color[0] $color[1] $color[2] -sl -onc ("Skinny_UISwitcher skin") -label "Skin" SkinnyModeSkin; + radioButton -bgc $color[0] $color[1] $color[2] -onc ("Skinny_UISwitcher cluster") -label "Cluster" SkinnyModeCluster; + + setParent ..; + setParent ..; +setParent ..; + +/////////////////////// +// Paint Frame Layout// +/////////////////////// +frameLayout -label "Paint Tools" -labelAlign "top" -mh 2 -mw 3 -cll 1 -cl 0 + -cc "menuItem -e -cb 1 Skinny_SetsTool; Skinny_SetsTool" + -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyPaintFrame; + columnLayout skinnyPaintColumn; + formLayout skinnyPaintForm; + + + // Buttons-Brushs size + iconTextRadioCollection; + iconTextRadioButton -w 40 -h 38 -onc ( "artAttrCtx -e -stP \"gaussian\" $Skinny_CurrentCtx;" ) -image1 "circleGaus.xpm" ButtonBrush1; + iconTextRadioButton -w 40 -h 38 -onc ( "artAttrCtx -e -stP \"poly\" $Skinny_CurrentCtx;" ) -image1 "circlePoly.xpm" ButtonBrush2; + iconTextRadioButton -w 40 -h 38 -onc ( "artAttrCtx -e -stP \"solid\" $Skinny_CurrentCtx;" ) -image1 "circleSolid.xpm" ButtonBrush3; + + + + // Button-Paint operations ( Replace, Add ,Scale, Smooth ) + radioCollection; + radioButton -onc ( "artAttrCtx -e -sao \"absolute\" $Skinny_CurrentCtx" ) -label "replace" Operationabsolute; + radioButton -onc ( "artAttrCtx -e -sao \"additive\" $Skinny_CurrentCtx" ) -label "add" Operationadditive; + radioButton -onc ( "artAttrCtx -e -sao \"scale\" $Skinny_CurrentCtx" ) -label "scale" Operationscale; + radioButton -onc ( "artAttrCtx -e -sao \"smooth\" $Skinny_CurrentCtx") -label "smooth" Operationsmooth; + + // Button-Flood + //symbolButton -c ( "artAttrCtx -e -clear $Skinny_CurrentCtx" ) -image "AS_SkinnyFLOOD.XPM" -ann "Flood paint weight" Operationflood; + button -h 20 -l "Flood" -c ( "artAttrCtx -e -clear $Skinny_CurrentCtx" ) -ann "Flood paint weight" Operationflood; + + // ChackBox-Staylus pressure + checkBoxGrp -onc ( "artAttrCtx -e -usepressure 1 $Skinny_CurrentCtx;" ) + -ofc ( "artAttrCtx -e -usepressure 0 $Skinny_CurrentCtx;" ) + -v1 1 -l "Stylus pressure" -ann "Stylus pressure on/off" + -cw 1 80 -cw 2 15 -adj 2 statlusBox; + + // Sliders-Value&Display + floatSliderGrp -label "Val" -field true // Value Slider. + -minValue -0 -maxValue 1 + -fieldMinValue -0 -fieldMaxValue 1 + -dc ( "artAttrCtx -e -value `floatSliderGrp -q -v ValSlider` $Skinny_CurrentCtx;" ) + -cc ( "artAttrCtx -e -value `floatSliderGrp -q -v ValSlider` $Skinny_CurrentCtx;" ) + -pre 2 -s 0.05 + -ann "Paint Brush Value" + -adj 3 -cw 1 25 -cw 2 30 -cw 3 70 + -value 1 ValSlider; + + popupMenu -parent ValSlider; + menuItem -l "0.10" -c ( "floatSliderGrp -e -v 0.10 ValSlider; artAttrCtx -e -value 0.10 $Skinny_CurrentCtx;" ); + menuItem -l "0.25" -c ( "floatSliderGrp -e -v 0.25 ValSlider; artAttrCtx -e -value 0.25 $Skinny_CurrentCtx;" ); + menuItem -l "0.50" -c ( "floatSliderGrp -e -v 0.50 ValSlider; artAttrCtx -e -value 0.50 $Skinny_CurrentCtx;" ); + + floatSliderGrp -label "Dis" -field true // Display Slider. + -minValue 0.01 -maxValue 1 + -fieldMinValue 0.01 -fieldMaxValue 1 + -dc ( "artAttrCtx -e -colorrangeupper `floatSliderGrp -q -v DisSlider` $Skinny_CurrentCtx;" ) + -cc ( "artAttrCtx -e -colorrangeupper `floatSliderGrp -q -v DisSlider` $Skinny_CurrentCtx;" ) + -pre 2 -s 0.05 + -ann "Max Value Of Color Feedback Display" + -adj 3 -cw 1 25 -cw 2 30 -cw 3 70 + -value 1 DisSlider; + + popupMenu -parent DisSlider; + menuItem -l "0.10" -c ( "floatSliderGrp -e -v 0.10 DisSlider; artAttrCtx -e -colorrangeupper 0.10 $Skinny_CurrentCtx;" ); + menuItem -l "0.25" -c ( "floatSliderGrp -e -v 0.25 DisSlider; artAttrCtx -e -colorrangeupper 0.25 $Skinny_CurrentCtx;" ); + menuItem -l "0.50" -c ( "floatSliderGrp -e -v 0.50 DisSlider; artAttrCtx -e -colorrangeupper 0.50 $Skinny_CurrentCtx;" ); + + + // ChackBox-Show Wireframe & Color Feedback + checkBoxGrp -onc ("artAttrCtx -e -showactive true $Skinny_CurrentCtx;") -ofc ("artAttrCtx -e -showactive false $Skinny_CurrentCtx;") + -v1 1 -l "Wire" -ann "Show WireFrame while painting" SkinnyWireFrame; + checkBoxGrp -e -adj 1 -cw 1 32 SkinnyWireFrame; + checkBoxGrp -e -adj 2 -cw 2 25 SkinnyWireFrame; + + checkBoxGrp -onc ("artAttrCtx -e -colorfeedback true $Skinny_CurrentCtx;") -ofc ("artAttrCtx -e -colorfeedback false $Skinny_CurrentCtx;") + -v1 1 -l "Color" -ann "Show color feedback" SkinnyColorFeed; + checkBoxGrp -e -adj 1 -cw 1 45 SkinnyColorFeed; + checkBoxGrp -e -adj 2 -cw 2 15 SkinnyColorFeed; + + setParent ..; + setParent ..; // Go back up to skinnyPaintFrame. +setParent ..; // Go back up to SkinnyMainLayout. + + +/////////////////////// +// Util Frame Layout // +/////////////////////// +frameLayout -mh 3 -mw 4 -label "Util" -labelAlign "top" -cll 1 -cl 1 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyUtilFrame; + columnLayout skinnyUtilCoulmn; + formLayout skinnyUtilForm; + + //symbolButton -image "AS_SkinnyMirorPlus.XPM" -c ("AS_SkinnyWeightFunction MirorWeight X") -ann " Mirror Weight from Right to Left, +X" UtilMirorPlus; + button -h 20 -w 90 -l "Mirror X+" -c ("AS_SkinnyWeightFunction MirorWeight X") -ann " Mirror Weight from Right to Left, +X" UtilMirorPlus; + popupMenu; + menuItem -l "Mirror Options" -c ("MirrorSkinWeightsOptions"); + //symbolButton -image "AS_SkinnyMirorMins.XPM" -c ("AS_SkinnyWeightFunction MirorWeight Xinvert") -ann " Mirror Weight from Left to Right, -X" UtilMirorMinus; + button -h 20 -w 40 -l "X-" -c ("AS_SkinnyWeightFunction MirorWeight Xinvert") -ann " Mirror Weight from Left to Right, -X" UtilMirorMinus; + //symbolButton -image "AS_SkinnyPurne.XPM" -c ("AS_SkinnyWeightFunction PurnWeight Purne") -ann "Purne weight below purne value" PurneWeight; + button -h 20 -w 90 -l "Prune Weight" -c ("AS_SkinnyWeightFunction PurnWeight Purne") -ann "Purne weight below purne value" PurneWeight; + floatField -w 39 -v 0.01 -minValue 0 -maxValue 1 -precision 2 -step .001 PurneWeightText; + setParent ..; +setParent ..; +setParent ..; +// FormLayout End // + + +/////////////////////////// +// Influence Frame Layout// +/////////////////////////// +frameLayout -mh 2 -mw 4 -label "Influences" -labelAlign "top" -cll 1 -cl 1 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyInfluenceFrame; + //formLayout skinnyInfluenceForm; + columnLayout -adj 1 -rowSpacing 3; + checkBoxGrp -cc ("Skinny_UpdateSkin ByName 0") -v1 0 -l "Show Zero Weight" -ann "Show joint with zero weight only" ShowZeroWeight; + checkBoxGrp -e -adj 1 -cw 1 100 ShowZeroWeight; + checkBoxGrp -e -adj 2 -cw 2 28 ShowZeroWeight; + //symbolButton -image "AS_SkinnyRemove.XPM" -c ("Skinny_removeInflunce") -ann "Disconnect joints from current SkinCluster"; + button -h 20 -l "Remove Influnce" -c ("Skinny_removeInflunce") -ann "Disconnect joints from current SkinCluster"; + //symbolButton -image "AS_SkinnyAdd.XPM" -c ("Skinny_addInflunce") -ann "Add multiple influnences to multiple skin Objects, Select Joints and Object"; + button -h 20 -l "Add Influnce" -c ("Skinny_addInflunce") -ann "Add multiple influnences to multiple skin Objects, Select Joints and Object"; + setParent ..; +setParent ..; + +/////////////////////////// +// Vertexs Frame Layout // +///////////////////////// +frameLayout -mh 2 -mw 4 -label "Vertex Tools" -labelAlign "top" -cll 1 -cl 1 -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyVertexFrame; + columnLayout -rs 2 skinnyVertexFrameCol; + + // Copy Vertex Value: + textFieldButtonGrp + -cw2 85 40 + -tx "Source Vertex" + -bl "Select" + -bc "SkinnyVertex.getSource()" + -ann "select one vertex or CV to copy weight from" + SourceV; + button -w 130 -l "Copy Skin Value" -h 18 -align "center" + -ann "Select couple of Vertexs or CV's to copy weigth to" + -bgc 0.75 0.8 0.9 -c "SkinnyVertex.copyValue()"; + separator -height 10 -w 125 -style "in"; + + // assign value + text -rs on -l "select joint from list \n and vertex's to assign:"; + textFieldButtonGrp + -cw2 40 150 + -tx "1.0" + -bgc 0.75 0.8 0.9 + -bl "Assign Selection" + -bc "SkinnyVertex.assignValue()" + -ann "select joint from Skinny, and vertex's to assign to" assignValue; + + separator -height 10 -w 125 -style "in"; + + + // Copy from Joint: + text -rs on -l "select source and target:"; + button -w 130 -l "Transfer Skin" -h 18 -align "center" + -ann "Select source and target joints from the list, then select couple of Vertexs or CV's to copy weigth to" + -bgc 0.75 0.8 0.7 -c "SkinnyVertex.transferValue()"; + setParent..; +setParent..; + + +///////////////////////// +// Rotate Frame Layout // +///////////////////////// +frameLayout -label "Joint Rotate " -labelAlign "top" -cll 1 -cl 1 + -borderStyle "etchedOut" -font "smallFixedWidthFont" skinnyJNTRotFrame; + columnLayout skinnyJNTRotMaincolumn; + columnLayout -adj 1 skinnyJNTRotcolumn; + + // Rotate Sliders + floatSliderGrp -label "X" -field true + -minValue -180 -maxValue 180 + -fieldMinValue -360 -fieldMaxValue 360 + -dc ( "SkinnyRotJNT Selected 0" ) + -cc ( "SkinnyRotJNT Selected 0" ) + -ann "Rotate X selected joints" + -adj 3 -cw 1 25 -cw 2 35 -cw 3 222 + -value 0 SliderX; + + floatSliderGrp -label "Y" -field true + -minValue -180 -maxValue 180 + -fieldMinValue -360 -fieldMaxValue 360 + -dc ( "SkinnyRotJNT Selected 0" ) + -cc ( "SkinnyRotJNT Selected 0" ) + -ann "Rotate Y selected joints" + -adj 3 -cw 1 25 -cw 2 35 -cw 3 222 + -value 0 SliderY; + + floatSliderGrp -label "Z" -field true + -minValue -180 -maxValue 180 + -fieldMinValue -360 -fieldMaxValue 360 + -dc ( "SkinnyRotJNT Selected 0" ) + -cc ( "SkinnyRotJNT Selected 0" ) + -ann "Rotate Z selected joints" + -adj 3 -cw 1 25 -cw 2 35 -cw 3 222 + -value 0 SliderZ; + + // PopUp Menu for Sliders + popupMenu -parent SliderX ; + menuItem -label "Reset Rotations" -c ( "SkinnyRotJNT Selected 1" ); + popupMenu -parent SliderY ; + menuItem -label "Reset Rotations" -c ( "SkinnyRotJNT Selected 1" ); + popupMenu -parent SliderZ ; + menuItem -label "Reset Rotations" -c ( "SkinnyRotJNT Selected 1" ); + + // Rotation Buttons ( Reset , Key , DelKey ) + columnLayout -adj 1 ; + // Reset Rotation Button + rowColumnLayout -numberOfRows 1 -rowHeight 1 22; + button -w 240 -l "Reset Selected Rotation" -c ("SkinnyRotJNT Selected 1") -ann "Reset Selected Joints Rotation" JointRotReset; + button -w 50 -l "All" -c ("SkinnyRotJNT all 1") -ann "Reset Rotations for All the Joints in ScrollList"; + setParent ..; + + // Set Key Button + rowColumnLayout -numberOfRows 1 -rowHeight 1 20; + button -w 120 -bgc 0.578 0.8 0.567 -l "Key Selected" -c ("JointRotKey SetKey Selected") -ann "Set Rotation Keyframes On Selected Joints" JointRotKey; + button -w 120 -bgc 1 0.6 0.6 -l "Del Selected" -c ("JointRotKey DelKey Selected") -ann "Delete Rotation Keyframes From Selected Joints" JointRotDelKey; + button -w 50 -l "All" -c ("JointRotKey DelKey All") -ann "Delete Rotation Keyframes From All the Joints in ScrollList" JointRotDelAllKey; + setParent ..; + setParent ..; + + +// FormLayout Adjustment Start +formLayout -edit + + -attachForm skinnyJNTRotFrame "bottom" 5 + -attachForm skinnyJNTRotFrame "left" 5 + + -attachForm LockUnlockColumn "left" 5 + -attachControl LockUnlockColumn "bottom" 10 skinnyJNTRotFrame + + -attachForm jointScrollList "top" 5 + -attachForm jointScrollList "left" 5 + -attachControl jointScrollList "bottom" 2 LockUnlockColumn + + -attachControl skinnySelectionFrame "left" 3 jointScrollList + -attachForm skinnySelectionFrame "top" 3 + + + -attachControl skinnyPaintFrame "left" 3 jointScrollList + -attachControl skinnyPaintFrame "top" 3 skinnySelectionFrame + + -attachControl skinnyVertexFrame "left" 3 jointScrollList + -attachControl skinnyVertexFrame "top" 3 skinnyPaintFrame + + + -attachControl skinnyUtilFrame "left" 3 jointScrollList + -attachControl skinnyUtilFrame "top" 3 skinnyVertexFrame + + + -attachControl skinnyInfluenceFrame "left" 3 jointScrollList + -attachControl skinnyInfluenceFrame "top" 3 skinnyUtilFrame + + SkinnyMainLayout; //END edit of main Layout. + + + +formLayout -edit // FormLayout, skinnyPaintForm, Edit + + -attachForm ButtonBrush1 "left" 3 + -attachForm ButtonBrush1 "top" 3 + + -attachControl ButtonBrush2 "left" 3 ButtonBrush1 + -attachForm ButtonBrush2 "top" 3 + + -attachControl ButtonBrush3 "left" 3 ButtonBrush2 + -attachForm ButtonBrush3 "top" 3 + + -attachForm Operationabsolute "left" 3 + -attachControl Operationabsolute "top" 10 ButtonBrush1 + + -attachOppositeControl Operationadditive "left" 60 Operationabsolute + -attachOppositeControl Operationadditive "bottom" 0 Operationabsolute + + -attachForm Operationscale "left" 3 + -attachControl Operationscale "top" 25 ButtonBrush1 + + -attachOppositeControl Operationsmooth "left" 60 Operationscale + -attachOppositeControl Operationsmooth "bottom" 0 Operationscale + + -attachForm statlusBox "left" 3 + -attachControl statlusBox "top" 5 Operationsmooth + + -attachForm ValSlider "left" 3 + -attachControl ValSlider "top" 5 statlusBox + + -attachForm DisSlider "left" 3 + -attachControl DisSlider "top" 0 ValSlider + + -attachForm Operationflood "left" 2 + -attachForm Operationflood "right" 2 + -attachControl Operationflood "top" 5 DisSlider + + -attachForm SkinnyWireFrame "left" 3 + -attachControl SkinnyWireFrame "top" 3 Operationflood + + -attachControl SkinnyColorFeed "left" 3 SkinnyWireFrame + -attachControl SkinnyColorFeed "top" 3 Operationflood + + skinnyPaintForm;//END edit of Slave FormLayout + + +formLayout -edit // FormLayout, skinnyUtilForm, Edit + + -attachForm UtilMirorPlus "top" 1 + -attachForm UtilMirorPlus "left" 0 + + -attachForm UtilMirorMinus "top" 1 + -attachControl UtilMirorMinus "left" 0 UtilMirorPlus + + -attachControl PurneWeight "top" 3 UtilMirorPlus + -attachForm PurneWeight "left" 0 + + -attachControl PurneWeightText "top" 3 UtilMirorPlus + -attachControl PurneWeightText "left" 0 PurneWeight + + skinnyUtilForm; +// FormLayout Ajustment End // + + +showWindow SkinnyUI; +// Create SkinnySets Node +string $ls[] = `ls -sl`; +if (!`objExists "SkinnySets"`) + createNode objectSet -n "SkinnySets"; +select $ls; +// Find SkinTool Sets, add them to UI "Preset" + Skinny_findSets; +/// Skinny CurrentCtx, default is Skin + $Skinny_CurrentCtx = "artAttrSkinContext"; +// Query Status of Paint Weight Tools + Skinny_QueryUI; +// Update the ScrollList + Skinny_UpdateSkin ByName 0; +// Find SkinnySmooth Meshes + FindSmoothMesh; +/// ScriptJob : Update when Select change + Skinny_ScriptJob; +/// Print Skinny Version + print "\nSkinny Version 3.80 \n"; +}// Skinny UI End // + diff --git a/2009-x64/MiscScripts/scripts/GIJoe.lights b/2009-x64/MiscScripts/scripts/GIJoe.lights new file mode 100644 index 0000000..6f8a65a Binary files /dev/null and b/2009-x64/MiscScripts/scripts/GIJoe.lights differ diff --git a/2009-x64/MiscScripts/scripts/GI_Joe.mel b/2009-x64/MiscScripts/scripts/GI_Joe.mel new file mode 100644 index 0000000..5253bb0 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/GI_Joe.mel @@ -0,0 +1,4493 @@ +/* + +GI_Joe mel script - version 2.1 - (c) Emmanuel Campin - 2001 / 2002 + + +****************************************** +version 2.1 / date: 12 26 2002 +Bugs fixed / improvements: see www.pixho.com for this bugs fixed / improvements list + +Features added: +- clean scene shadows +- clean all shadows (please refer to the doc for more details) +- HDRI fake feature (ray-trace only) +****************************************** + +This script creates a spherical based lighting (GI fake) plus a shader which allow +the user to bake the generated shadows. +This spherical lighting is separated in 2: skyLight_group and groundLight_group. +Each group can be controlled in color and intensity independantly to the other. +You can connect/disconnect any texture (environment textures excluded) you want. + +Usage: +Place the GIJoe.lights scene and the GI_Joe.mel into your script directory +IMPORTANT: You'll have to change the directory location in line 57 +(or search the string "your_script_directory_path/scripts/GIJoe.lights") + +Source the script and execute it. + + +Go to www.pixho.com for more infos and limitations about the GI_Joe.mel script. + +Send your comments to pixho@pixho.com + +If you find a bug, send a mail at gijoe_bug@pixho.com with a precise description of the bug + +*/ + + + + + + + + + + + + global proc gi_loadGIJ() + { + global string $light_win; + + int $lightType = `radioButtonGrp -q -select lightT`; + int $lightNumS = `radioButtonGrp -q -select numSLights`; + int $lightNumG = `radioButtonGrp -q -select numGLights`; + + // modify here the path of the imported scene. + string $pathL = "GIJoe.lights"; + + string $domeLight = `file -import -type "mayaBinary" -options "v=0" $pathL`; + deleteUI -window $light_win; + + // how many lights and what type + + if ($lightType == 1) // Spots + { + string $g[] = `ls "SDir*"`; + string $s[] = `ls "GDir*"`; + delete $g $s; + + if ($lightNumS == 1) // Sky 16 + delete SSpot64_group SSpot256_group; + + if ($lightNumS == 2) // Sky 64 + delete SSpot256_group SSpot16_group; + + if ($lightNumS == 3) // Sky 256 + delete SSpot16_group SSpot64_group; + + if ($lightNumG == 1) // Ground 16 + delete GSpot64_group; + + if ($lightNumG == 2) // Ground 64 + delete GSpot16_group; + } + else // directionals + { + string $g[] = `ls "SSpot*"`; + string $s[] = `ls "GSpot*"`; + delete $g $s; + + if ($lightNumS == 1) // Sky 16 + delete SDir64_group SDir256_group; + + if ($lightNumS == 2) // Sky 64 + delete SDir256_group SDir16_group; + + if ($lightNumS == 3) // Sky 256 + delete SDir16_group SDir64_group; + + if ($lightNumG == 1) // Ground 16 + delete GDir64_group; + + if ($lightNumG == 2) // Ground 64 + delete GDir16_group; + } + + string $slights[]; + string $glights[]; + + if ($lightType == 1) + { + $slights = `ls "SkySpotShape*"`; + $glights = `ls "GroundSpotShape*"`; + } + else + { + $slights = `ls "SkyDirShape*"`; + $glights = `ls "GroundDirShape*"`; + } + + int $num = 1; + for ($item in $slights) + { + string $par[] = `listRelatives -p $item`; + rename $par[0] ("skyLight" + $num); + rename $item ("skyLightShape" + $num); + $num++; + } + int $num = 1; + for ($item in $glights) + { + string $par[] = `listRelatives -p $item`; + rename $par[0] ("groundLight" + $num); + rename $item ("groundLightShape" + $num); + $num++; + } + + string $sgrp[] = `listRelatives -p "skyLight1"`; + string $ggrp[] = `listRelatives -p "groundLight1"`; + rename $sgrp[0] "skyLight_group"; + rename $ggrp[0] "groundLight_group"; + + + gi_main ($lightType, $lightNumS, $lightNumG); + +} + + +// TEXTURES 2d + + // connecting the texture bulge + +proc gi_conBulge (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".uWidth") ($inc + ".uWidth"); + connectAttr -f ($tex + ".vWidth") ($inc + ".vWidth"); + connectAttr -f ($tex + ".invert") ($inc + ".invert"); + } +} + + + // connecting the texture checker + + proc gi_conChecker (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".color1") ($inc + ".color1"); + connectAttr -f ($tex + ".color2") ($inc + ".color2"); + connectAttr -f ($tex + ".contrast") ($inc + ".contrast"); + } + } + + + // connecting the texture cloth + + proc gi_conCloth (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".gapColor") ($inc + ".gapColor"); + connectAttr -f ($tex + ".uColor") ($inc + ".uColor"); + connectAttr -f ($tex + ".vColor") ($inc + ".vColor"); + connectAttr -f ($tex + ".uWidth") ($inc + ".uWidth"); + connectAttr -f ($tex + ".vWidth") ($inc + ".vWidth"); + connectAttr -f ($tex + ".uWave") ($inc + ".uWave"); + connectAttr -f ($tex + ".vWave") ($inc + ".vWave"); + connectAttr -f ($tex + ".randomness") ($inc + ".randomness"); + connectAttr -f ($tex + ".widthSpread") ($inc + ".widthSpread"); + connectAttr -f ($tex + ".brightSpread") ($inc + ".brightSpread"); + } + } + + + // connecting the texture file + + proc gi_conFile (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".fileTextureName") ($inc + ".fileTextureName"); + connectAttr -f ($tex + ".useFrameExtension") ($inc + ".useFrameExtension"); + connectAttr -f ($tex + ".frameExtension") ($inc + ".frameExtension"); + } + } + + // connecting the texture fractal + + proc gi_conFractal (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr -f ($tex + ".ratio") ($inc + ".ratio"); + connectAttr -f ($tex + ".threshold") ($inc + ".threshold"); + connectAttr -f ($tex + ".levelMin") ($inc + ".levelMin"); + connectAttr -f ($tex + ".levelMax") ($inc + ".levelMax"); + connectAttr -f ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr -f ($tex + ".bias") ($inc + ".bias"); + connectAttr -f ($tex + ".inflection") ($inc + ".inflection"); + connectAttr -f ($tex + ".animated") ($inc + ".animated"); + connectAttr -f ($tex + ".timeRatio") ($inc + ".timeRatio"); + connectAttr -f ($tex + ".time") ($inc + ".time"); + } + } + + // connecting the texture grid + + proc gi_conGrid (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr -f ($tex + ".lineColor") ($inc + ".lineColor"); + connectAttr -f ($tex + ".contrast") ($inc + ".contrast"); + connectAttr -f ($tex + ".uWidth") ($inc + ".uWidth"); + connectAttr -f ($tex + ".vWidth") ($inc + ".vWidth"); + } + } + + // connecting the texture mountain + + proc gi_conMountain (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".snowColor") ($inc + ".snowColor"); + connectAttr -f ($tex + ".rockColor") ($inc + ".rockColor"); + connectAttr -f ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr -f ($tex + ".snowRoughness") ($inc + ".snowRoughness"); + connectAttr -f ($tex + ".rockRoughness") ($inc + ".rockRoughness"); + connectAttr -f ($tex + ".boundary") ($inc + ".boundary"); + connectAttr -f ($tex + ".snowAltitude") ($inc + ".snowAltitude"); + connectAttr -f ($tex + ".snowDropoff") ($inc + ".snowDropoff"); + connectAttr -f ($tex + ".snowSlope") ($inc + ".snowSlope"); + connectAttr -f ($tex + ".depthMax") ($inc + ".depthMax"); + } + } + + // connecting the texture movie + + proc gi_conMovie (string $tex, int $isSky) + + { + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".fileTextureName") ($inc + ".fileTextureName"); + connectAttr -f ($tex + ".useFrameExtension") ($inc + ".useFrameExtension"); + connectAttr -f ($tex + ".frameExtension") ($inc + ".frameExtension"); + } +} + +// connecting the texture noise + +proc gi_conNoise (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr -f ($tex + ".ratio") ($inc + ".ratio"); + connectAttr -f ($tex + ".threshold") ($inc + ".threshold"); + connectAttr -f ($tex + ".depthMax") ($inc + ".depthMax"); + connectAttr -f ($tex + ".frequency") ($inc + ".frequency"); + connectAttr -f ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr -f ($tex + ".inflection") ($inc + ".inflection"); + connectAttr -f ($tex + ".time") ($inc + ".time"); + connectAttr -f ($tex + ".noiseType") ($inc + ".noiseType"); + connectAttr -f ($tex + ".density") ($inc + ".density"); + connectAttr -f ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr -f ($tex + ".sizeRand") ($inc + ".sizeRand"); + connectAttr -f ($tex + ".randomness") ($inc + ".randomness"); + connectAttr -f ($tex + ".falloff") ($inc + ".falloff"); + connectAttr -f ($tex + ".numWaves") ($inc + ".numWaves"); + } +} + +// connecting the texture ramp + +proc gi_conRamp (string $tex, int $isSky) + +{ + global string $celBaseSky[]; + global string $celBaseGround[]; + string $celBase[]; + string $dupTex[]; + if ($isSky == 1) + { + $dupTex = `ls ("skyTex*")`; + $celBase = $celBaseSky = `listAttr -c -multi -st colorEntryList $tex`; + } + else + { + $dupTex = `ls ("groundTex*")`; + $celBase = $celBaseGround = `listAttr -c -multi -st colorEntryList $tex`; + } + string $inc; + int $num; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".type") ($inc + ".type"); + connectAttr -f ($tex + ".interpolation") ($inc + ".interpolation"); + for ($numCel in $celBase) + { + connectAttr -f ($tex + "." + $numCel) ($inc + "." + $numCel); + } + connectAttr -f ($tex + ".uWave") ($inc + ".uWave"); + connectAttr -f ($tex + ".vWave") ($inc + ".vWave"); + connectAttr -f ($tex + ".noise") ($inc + ".noise"); + connectAttr -f ($tex + ".noiseFreq") ($inc + ".noiseFreq"); + connectAttr -f ($tex + ".hueNoise") ($inc + ".hueNoise"); + connectAttr -f ($tex + ".satNoise") ($inc + ".satNoise"); + connectAttr -f ($tex + ".valNoise") ($inc + ".valNoise"); + connectAttr -f ($tex + ".hueNoiseFreq") ($inc + ".hueNoiseFreq"); + connectAttr -f ($tex + ".satNoiseFreq") ($inc + ".satNoiseFreq"); + connectAttr -f ($tex + ".valNoiseFreq") ($inc + ".valNoiseFreq"); + $num++; + } + global int $texChangedSJ; + string $stBase; + if($isSky == 1) + $stBase = "celBaseSky"; + else + $stBase = "celBaseGround"; + $texChangedSJ = `scriptJob -ac ($tex + ".outColor") ("global string $celBaseSky[]; global string $celBaseGround[] ; gi_celRamp (\"" + $tex + "\"," + $isSky + ", $" +$stBase + ");")`; +} + + +global proc gi_celRamp (string $tex, int $isSky, string $celB[]) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + + string $cel_new[] = `listAttr -c -multi -st colorEntryList $tex`; + int $sizeBase = `size $celB`; + int $sizeNewCel = `size $cel_new`; + + if ($sizeBase > $sizeNewCel) + { + string $celDif[] = stringArrayRemove ($cel_new, $celB); + string $cels; + for ($cels in $celDif) + { + string $dupRamp; + for ($dupRamp in $dupTex) + { + removeMultiInstance -break true ($dupRamp + "." + $cels); + } + } + } + else if ($sizeBase < $sizeNewCel) + { + string $celDif[] = stringArrayRemove ($celB, $cel_new); + string $cels; + for ($cels in $celDif) + { + string $dupRamp; + for ($dupRamp in $dupTex) + { + connectAttr -f ($tex + "." + $cels) ($dupRamp + "." + $cels); + } + } + } + global string $celBaseSky[]; + global string $celBaseGround[]; + if ($isSky == 1) + $celBaseSky = $cel_new; + else + $celBaseGround = $cel_new; +} + + +// connecting the texture water + +proc gi_conWater (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr -f ($tex + ".numberOfWaves") ($inc + ".numberOfWaves"); + connectAttr -f ($tex + ".waveTime") ($inc + ".waveTime"); + connectAttr -f ($tex + ".waveVelocity") ($inc + ".waveVelocity"); + connectAttr -f ($tex + ".waveAmplitude") ($inc + ".waveAmplitude"); + connectAttr -f ($tex + ".waveFrequency") ($inc + ".waveFrequency"); + connectAttr -f ($tex + ".subWaveFrequency") ($inc + ".subWaveFrequency"); + connectAttr -f ($tex + ".smoothness") ($inc + ".smoothness"); + connectAttr -f ($tex + ".windUV") ($inc + ".windUV"); + connectAttr -f ($tex + ".rippleTime") ($inc + ".rippleTime"); + connectAttr -f ($tex + ".rippleFrequency") ($inc + ".rippleFrequency"); + connectAttr -f ($tex + ".rippleAmplitude") ($inc + ".rippleAmplitude"); + connectAttr -f ($tex + ".dropSize") ($inc + ".dropSize"); + connectAttr -f ($tex + ".rippleOrigin") ($inc + ".rippleOrigin"); + connectAttr -f ($tex + ".groupVelocity") ($inc + ".groupVelocity"); + connectAttr -f ($tex + ".phaseVelocity") ($inc + ".phaseVelocity"); + connectAttr -f ($tex + ".spreadRate") ($inc + ".spreadRate"); + connectAttr -f ($tex + ".reflectionBox") ($inc + ".reflectionBox"); + connectAttr -f ($tex + ".boxMin") ($inc + ".boxMin"); + connectAttr -f ($tex + ".boxMax") ($inc + ".boxMax"); + connectAttr -f ($tex + ".fast") ($inc + ".fast"); + } +} + + +// TEXTURES 3d + +// brownian + +proc gi_conBrownian (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".lacunarity") ($inc + ".lacunarity"); + connectAttr ($tex + ".increment") ($inc + ".increment"); + connectAttr ($tex + ".octaves") ($inc + ".octaves"); + connectAttr ($tex + ".weight3d") ($inc + ".weight3d"); + } +} + + +// cloud + +proc gi_conCloud (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".color1") ($inc + ".color1"); + connectAttr ($tex + ".color2") ($inc + ".color2"); + connectAttr ($tex + ".contrast") ($inc + ".contrast"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".softEdges") ($inc + ".softEdges"); + connectAttr ($tex + ".edgeThresh") ($inc + ".edgeThresh"); + connectAttr ($tex + ".centerThresh") ($inc + ".centerThresh"); + connectAttr ($tex + ".transpRange") ($inc + ".transpRange"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + } +} + + +// crater + +proc gi_conCrater (string $tex, int $isSky) +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".shaker") ($inc + ".shaker"); + connectAttr ($tex + ".channel1") ($inc + ".channel1"); + connectAttr ($tex + ".channel2") ($inc + ".channel2"); + connectAttr ($tex + ".channel3") ($inc + ".channel3"); + connectAttr ($tex + ".melt") ($inc + ".melt"); + connectAttr ($tex + ".balance") ($inc + ".balance"); + connectAttr ($tex + ".frequency") ($inc + ".frequency"); + } +} + + +// granite + +proc gi_conGranite (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".color1") ($inc + ".color1"); + connectAttr ($tex + ".color2") ($inc + ".color2"); + connectAttr ($tex + ".color3") ($inc + ".color3"); + connectAttr ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr ($tex + ".cellSize") ($inc + ".cellSize"); + connectAttr ($tex + ".density") ($inc + ".density"); + connectAttr ($tex + ".mixRatio") ($inc + ".mixRatio"); + connectAttr ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".creases") ($inc + ".creases"); + } +} + + +// leather + +proc gi_conLeather (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".cellColor") ($inc + ".cellColor"); + connectAttr ($tex + ".creaseColor") ($inc + ".creaseColor"); + connectAttr ($tex + ".cellSize") ($inc + ".cellSize"); + connectAttr ($tex + ".density") ($inc + ".density"); + connectAttr ($tex + ".mixRatio") ($inc + ".mixRatio"); + connectAttr ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".crease") ($inc + ".crease"); + } +} + + +// marble + +proc gi_conMarble (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr ($tex + ".veinColor") ($inc + ".veinColor"); + connectAttr ($tex + ".veinWidth") ($inc + ".veinWidth"); + connectAttr ($tex + ".diffusion") ($inc + ".diffusion"); + connectAttr ($tex + ".contrast") ($inc + ".contrast"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + } +} + + +// rock + +proc gi_conRock (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".color1") ($inc + ".color1"); + connectAttr ($tex + ".color2") ($inc + ".color2"); + connectAttr ($tex + ".diffusion") ($inc + ".diffusion"); + connectAttr ($tex + ".grainSize") ($inc + ".grainSize"); + connectAttr ($tex + ".mixRatio") ($inc + ".mixRatio"); + } +} + + +// solidFractal + +proc gi_conSolidFractal (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + connectAttr ($tex + ".bias") ($inc + ".bias"); + connectAttr ($tex + ".inflection") ($inc + ".inflection"); + connectAttr ($tex + ".animated") ($inc + ".animated"); + connectAttr ($tex + ".time") ($inc + ".time"); + connectAttr ($tex + ".timeRatio") ($inc + ".timeRatio"); + } +} + + +// stucco + +proc gi_conStucco (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".shaker") ($inc + ".shaker"); + connectAttr ($tex + ".channel1") ($inc + ".channel1"); + connectAttr ($tex + ".channel2") ($inc + ".channel2"); + } +} + +// volume noise + +proc gi_conVolumeNoise (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".threshold") ($inc + ".threshold"); + connectAttr ($tex + ".amplitude") ($inc + ".amplitude"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".frequencyRatio") ($inc + ".frequencyRatio"); + connectAttr ($tex + ".depthMax") ($inc + ".depthMax"); + connectAttr ($tex + ".inflection") ($inc + ".inflection"); + connectAttr ($tex + ".time") ($inc + ".time"); + connectAttr ($tex + ".frequency") ($inc + ".frequency"); + connectAttr ($tex + ".scale") ($inc + ".scale"); + connectAttr ($tex + ".origin") ($inc + ".origin"); + connectAttr ($tex + ".noiseType") ($inc + ".noiseType"); + connectAttr ($tex + ".density") ($inc + ".density"); + connectAttr ($tex + ".spottyness") ($inc + ".spottyness"); + connectAttr ($tex + ".sizeRand") ($inc + ".sizeRand"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".falloff") ($inc + ".falloff"); + connectAttr ($tex + ".numWaves") ($inc + ".numWaves"); + } +} + +// wood + +proc gi_conWood (string $tex, int $isSky) + +{ + string $dupTex[]; + if ($isSky == 1) + $dupTex = `ls ("skyTex*")`; + else + $dupTex = `ls ("groundTex*")`; + string $inc; + for ($inc in $dupTex) + { + connectAttr ($tex + ".fillerColor") ($inc + ".fillerColor"); + connectAttr ($tex + ".veinColor") ($inc + ".veinColor"); + connectAttr ($tex + ".veinSpread") ($inc + ".veinSpread"); + connectAttr ($tex + ".layerSize") ($inc + ".layerSize"); + connectAttr ($tex + ".randomness") ($inc + ".randomness"); + connectAttr ($tex + ".age") ($inc + ".age"); + connectAttr ($tex + ".grainColor") ($inc + ".grainColor"); + connectAttr ($tex + ".grainContrast") ($inc + ".grainContrast"); + connectAttr ($tex + ".grainSpacing") ($inc + ".grainSpacing"); + connectAttr ($tex + ".center") ($inc + ".center"); + connectAttr ($tex + ".amplitudeX") ($inc + ".amplitudeX"); + connectAttr ($tex + ".amplitudeY") ($inc + ".amplitudeY"); + connectAttr ($tex + ".ratio") ($inc + ".ratio"); + connectAttr ($tex + ".ripples") ($inc + ".ripples"); + connectAttr ($tex + ".depth") ($inc + ".depth"); + } +} + + + +proc gi_type2d (string $tex, int $isSky) + +{ + // Which 2d texture?? + + if (`nodeType $tex` == "bulge") + { + gi_conBulge ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "checker") + { + gi_conChecker ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "cloth") + { + gi_conCloth ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "file") + { + gi_conFile ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "fractal") + { + gi_conFractal ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "grid") + { + gi_conGrid ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "mountain") + { + gi_conMountain ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "movie") + { + gi_conMovie ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "noise") + { + gi_conNoise ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "ramp") + { + gi_conRamp ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "water") + { + gi_conWater ($tex, $isSky); + return; + } +} + + +proc gi_type3d (string $tex, int $isSky) + +{ + // which 3d texture? + + if (`nodeType $tex` == "brownian") + { + gi_conBrownian ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "cloud") + { + gi_conCloud ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "crater") + { + gi_conCrater ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "granite") + { + gi_conGranite ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "leather") + { + gi_conLeather ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "marble") + { + gi_conMarble ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "rock") + { + gi_conRock ($tex, $isSky); + return; + } + + + if (`nodeType $tex` == "solidFractal") + { + gi_conSolidFractal ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "stucco") + { + gi_conStucco ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "volumeNoise") + { + gi_conVolumeNoise ($tex, $isSky); + return; + } + + if (`nodeType $tex` == "wood") + { + gi_conWood ($tex, $isSky); + return; + } +} + + +proc gi_con2dTexSky (string $skyTex) + +{ + textFieldGrp -e -tx "Texture2d" SColStat; + string $tex = $skyTex; + if (`objExists "skyTex1"` == 1) + { + return; + } + else + { + string $lights[] = `ls ("skyLightShape*")`; + string $inc; + int $num = 0; + string $place2d[]; + string $conInfo = `connectionInfo -sfd ($skyTex + ".uvCoord")`; + + if (`size $conInfo` == 0) + { + string $creaPlace = `shadingNode -au place2dTexture`; + connectAttr -f ($creaPlace + ".outUV") ($tex + ".uvCoord"); + connectAttr -f ($creaPlace + ".outUvFilterSize") ($tex + ".uvFilterSize"); + $place2d[0] = $creaPlace; + } + else + tokenize $conInfo "." $place2d; + + string $transformSky[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposSky = `createNode closestPointOnSurface -n cposSky1`; + string $skyDupTex[] = `duplicate -n skyTex1 -ic $skyTex`; + string $sr = `shadingNode -au setRange -n sky_SR1`; + connectAttr -f ($transformSky[$num] + ".translate") ($cposSky + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposSky + ".inputSurface"); + connectAttr -f ($place2d[0] + ".repeatU") ($sr + ".maxX"); + connectAttr -f ($place2d[0] + ".repeatV") ($sr + ".maxZ"); + connectAttr -f ($cposSky + ".parameterU") ($sr + ".valueX"); + connectAttr -f ($cposSky + ".parameterV") ($sr + ".valueZ"); + setAttr ($sr + ".oldMax") 1 1 1; + connectAttr -f ($sr + ".outValueX") ($skyDupTex[0] + ".uCoord"); + connectAttr -f ($sr + ".outValueZ") ($skyDupTex[0] + ".vCoord"); + + connectAttr -f ($skyDupTex[0] + ".outColor") ($inc + ".color"); + $num++; + } + } + select -cl; + gi_type2d ($tex, 1); + int $spec = `radioButtonGrp -q -select skySpec`; + if ($spec == 1) + gi_SSpecT; +} + + +proc gi_con3dTexSky (string $skyTex) + +{ + textFieldGrp -e -tx "Texture3d" SColStat; + string $tex = $skyTex; + if (`objExists skyTex1` == 1) + { + return; + } + else + { + string $lights[] = `ls ("skyLightShape*")`; + string $inc; + int $num = 0; + + string $transformSky[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposSky = `createNode closestPointOnSurface -n cposSky1`; + string $skyDupTex[] = `duplicate -n skyTex1 -ic $skyTex`; + connectAttr -f ($transformSky[$num] + ".translate") ($cposSky + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposSky + ".inputSurface"); + connectAttr -f ($cposSky + ".parameterU") ($skyDupTex[0] + ".refPointCameraX"); + connectAttr -f ($cposSky + ".parameterV") ($skyDupTex[0] + ".refPointCameraY"); + + connectAttr -f ($skyDupTex[0] + ".outColor") ($inc + ".color"); + + $num++; + } + } + select -cl; + gi_type3d ($tex, 1); + int $spec = `radioButtonGrp -q -v skySpec`; + if ($spec == 1) + gi_skySpec; +} + + + +proc gi_con2dTexGround (string $groundTex) + +{ + textFieldGrp -e -tx "Texture2d" GColStat; + string $tex = $groundTex; + if (`objExists groundTex1` == 1) + { + return; + } + else + { + string $lights[] = `ls ("groundLightShape*")`; + string $inc; + int $num = 0; + string $place2d[]; + string $conInfo = `connectionInfo -sfd ($groundTex + ".uvCoord")`; + + if (`size $conInfo` == 0) + { + string $creaPlace = `shadingNode -au place2dTexture`; + connectAttr -f ($creaPlace + ".outUV") ($tex + ".uvCoord"); + connectAttr -f ($creaPlace + ".outUvFilterSize") ($tex + ".uvFilterSize"); + $place2d[0] = $creaPlace; + } + else + tokenize $conInfo "." $place2d; + + string $transformGround[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposGround = `createNode closestPointOnSurface -n cposGround1`; + string $groundDupTex[] = `duplicate -n groundTex1 -ic $groundTex`; + string $sr = `shadingNode -au setRange -n ground_SR1`; + connectAttr -f ($transformGround[$num] + ".translate") ($cposGround + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposGround + ".inputSurface"); + connectAttr -f ($place2d[0] + ".repeatU") ($sr + ".maxX"); + connectAttr -f ($place2d[0] + ".repeatV") ($sr + ".maxZ"); + connectAttr -f ($cposGround + ".parameterU") ($sr + ".valueX"); + connectAttr -f ($cposGround + ".parameterV") ($sr + ".valueZ"); + setAttr ($sr + ".oldMax") 1 1 1; + connectAttr -f ($sr + ".outValueX") ($groundDupTex[0] + ".uCoord"); + connectAttr -f ($sr + ".outValueZ") ($groundDupTex[0] + ".vCoord"); + + connectAttr -f ($groundDupTex[0] + ".outColor") ($inc + ".color"); + $num++; + } + } + gi_type2d ($tex, 0); + select -cl; +} + + +proc gi_con3dTexGround (string $groundTex) + +{ + textFieldGrp -e -tx "Texture3d" GColStat; + string $tex = $groundTex; + if (`objExists groundTex1` == 1) + { + return; + } + else + { + string $lights[] = `ls ("groundLightShape*")`; + string $inc; + int $num = 0; + + string $transformGround[] = `listRelatives -p $lights`; + for ($inc in $lights) + { + // connections closestPointOnSurface & other needed nodes + string $cposGround = `createNode closestPointOnSurface -n cposGround1`; + string $groundDupTex[] = `duplicate -n groundTex1 -ic $groundTex`; + connectAttr -f ($transformGround[$num] + ".translate") ($cposGround + ".inPosition"); + connectAttr -f domeSurfaceShape.worldSpace ($cposGround + ".inputSurface"); + connectAttr -f ($cposGround + ".parameterU") ($groundDupTex[0] + ".refPointCameraX"); + connectAttr -f ($cposGround + ".parameterV") ($groundDupTex[0] + ".refPointCameraY"); + + connectAttr -f ($groundDupTex[0] + ".outColor") ($inc + ".color"); + $num++; + } + } + gi_type3d ($tex, 0); + select -cl; +} + + +global proc GI_Joe() + +{ + global string $light_win = ""; + global string $GIj_UI; + + if (`window -ex $GIj_UI` == 1) + return; + + int $gi_reload; + int $lightType; + int $lightNumS; + int $lightNumG; + + if (`objExists "GIJoe_group"` == 1) + { + string $lights[] = `ls "skyLightShape*"`; + string $lightT = `nodeType $lights[0]`; + if ($lightT == "spotLight") + $lightType = 1; + else + $lightType = 0; + string $slight[] = `ls "skyLight*"`; + if (`size $slight` == 16) + $lightNumS = 1; + else if (`size $slight` == 64) + $lightNumS = 2; + else if (`size $slight` == 256) + $lightNumS = 3; + + string $glight[] = `ls "groundLight*"`; + if (`size $glight` == 16) + $lightNumG = 1; + else if (`size $glight` == 64) + $lightNumG = 2; + else + $lightNumG = 3; + + $gi_reload = 1; + gi_GIUI ($gi_reload, $lightType, $lightNumS, $lightNumG); + } + else + { + string $sceneName; + if( `window -exists $light_win` == true) + deleteUI -window $light_win; + + $light_win = `window -in "GI_Joe_preload" -t "GI_Joe preload" + -widthHeight 300 100 + -s 1`; + + columnLayout -adjustableColumn 1; + frameLayout + -label "Light type" + -labelAlign "top" + -bs "etchedIn"; + columnLayout; + radioButtonGrp + -l1 "spot" + -numberOfRadioButtons 2 + -sl 2 + -l2 "directional" lightT; + setParent ..; + setParent ..; + frameLayout + -label "Number of lights" + -bs "etchedIn"; + columnLayout; + radioButtonGrp + -label "skyLight" + -numberOfRadioButtons 3 + -l1 "16" + -l2 "64" + -l3 "256" + -sl 2 numSLights; + radioButtonGrp + -label "groundLight" + -numberOfRadioButtons 2 + -l1 "16" + -l2 "64" + -sl 1 numGLights; + setParent ..; + setParent ..; + frameLayout + -bs "etchedIn" + -label "Creation"; + button + -label "Go create" + -c gi_loadGIJ createGIJ; + setParent ..; + setParent ..; + + showWindow $light_win; + } +} + + + +global proc gi_conGlobal () + +{ + string $skylights[] = `ls "skyLightShape*"`; + string $groundlights[] = `ls "groundLightShape*"`; + string $inc; + int $num = 0; + string $ppath = `workspace -q -rd`; + string $sdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $pwdShadows = `pwd`; + print ("A GIJoe_shadows directory has been created in: " + $pwdShadows + "\n"); + string $bakedShdws = `chdir ($ppath + "/sourceimages/baked_shadows")`; + string $pwdBaked = `pwd`; + print ("A baked_shadows directory has been created in: " + $pwdBaked + "\n"); + + string $fileName = `file -q -sn`; + string $buffer[]; + tokenize $fileName "/" $buffer; + string $sceneName[]; + tokenize $buffer[`size $buffer`-1] "." $sceneName; + + int $sres = `intSliderGrp -q -v SDmapRes`; + int $gres = `intSliderGrp -q -v GDmapRes`; + float $sint = `floatSliderGrp -q -v SkyInt`; + int $sres = `intSliderGrp -q -v SDmapRes`; + float $gint = `floatSliderGrp -q -v GroundInt`; + int $gres = `intSliderGrp -q -v GDmapRes`; + + for ($inc in $skylights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "_skyShadow" + ($num+1) + "_" + $sres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + connectAttr -f GIJoe_group.skyColor ($inc + ".color"); + connectAttr -f GIJoe_group.shadowSColor ($inc + ".shadowColor"); + setAttr ($inc + ".intensity") $sint; + setAttr ($inc + ".useDepthMapShadows") 1; + setAttr ($inc + ".dmapResolution") $sres; + setAttr ($inc + ".emitSpecular") 0; + setAttr ($inc + ".dmapFilterSize") 3; + $num++; + } + for ($inc in $groundlights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "groundShadow" + ($num+1) + "_" + $gres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + connectAttr -f GIJoe_group.groundColor ($inc + ".color"); + connectAttr -f GIJoe_group.shadowGColor ($inc + ".shadowColor"); + setAttr ($inc + ".intensity") $gint; + setAttr ($inc + ".dmapResolution") $gres; + setAttr ($inc + ".emitSpecular") 0; + setAttr ($inc + ".useDepthMapShadows") 0; + setAttr ($inc + ".dmapFilterSize") 3; + $num++; + } +} + + +global proc gi_main (int $lightType, int $lightNumS, int $lightNumG) + +{ + string $GIJ_Surface[] = `sphere -n domeSurface`; + reverseSurface -d 3 -ch 0 -rpo 1 $GIJ_Surface[0]; + setAttr ($GIJ_Surface[0] + ".scale") 15 15 15; + setAttr ($GIJ_Surface[0] + ".rotateZ") 90; + setAttr ($GIJ_Surface[0] + ".primaryVisibility") 0; + setAttr ($GIJ_Surface[0] + ".doubleSided") 0; + setAttr ($GIJ_Surface[0] + ".castsShadows") 0; + setAttr ($GIJ_Surface[0] + ".receiveShadows") 0; + $domeSurface = $GIJ_Surface[0]; + + rebuildSurface -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kc 0 -su 4 -du 3 -sv 4 -dv 3 -tol 0.01 -dir 2 $domeSurface; + + FreezeTransformations; + DeleteHistory; + + string $sphere_shader = `shadingNode -as surfaceShader -n GIJoe_SS`; + string $blend = `shadingNode -au blendColors -n blendMat1`; + string $rampMat = `shadingNode -at ramp -n rampMat`; + setAttr ($rampMat + ".colorEntryList[2].color") 0 0 0; + setAttr ($rampMat + ".colorEntryList[0].color") 1 1 1; + removeMultiInstance -break true ($rampMat + ".colorEntryList[1]"); + setAttr ($rampMat + ".colorEntryList[0].position") 0.5; + setAttr ($rampMat + ".interpolation") 0; + setAttr ($rampMat + ".type") 0; + connectAttr -f ($rampMat + ".outAlpha") ($blend + ".blender"); + connectAttr -f ($blend + ".output") ($sphere_shader + ".outColor"); + select -cl; select $domeSurface; + hyperShade -assign GIJoe_SS; + + select -cl; select -add domeSurface skyLight_group groundLight_group; + group -n GIJoe_group; + + // adding color (RGB) attributes to be linked with UI + addAttr -ln skyColor -at float3 -uac GIJoe_group; + addAttr -ln skyColorR -at "float" -p skyColor GIJoe_group; + addAttr -ln skyColorG -at "float" -p skyColor GIJoe_group; + addAttr -ln skyColorB -at "float" -p skyColor GIJoe_group; + + addAttr -ln shadowSColor -at float3 -uac GIJoe_group; + addAttr -ln shadowSColorR -at "float" -p shadowSColor GIJoe_group; + addAttr -ln shadowSColorG -at "float" -p shadowSColor GIJoe_group; + addAttr -ln shadowSColorB -at "float" -p shadowSColor GIJoe_group; + + addAttr -ln groundColor -at float3 -uac GIJoe_group; + addAttr -ln groundColorR -at "float" -p groundColor GIJoe_group; + addAttr -ln groundColorG -at "float" -p groundColor GIJoe_group; + addAttr -ln groundColorB -at "float" -p groundColor GIJoe_group; + + addAttr -ln shadowGColor -at float3 -uac GIJoe_group; + addAttr -ln shadowGColorR -at "float" -p shadowGColor GIJoe_group; + addAttr -ln shadowGColorG -at "float" -p shadowGColor GIJoe_group; + addAttr -ln shadowGColorB -at "float" -p shadowGColor GIJoe_group; + + addAttr -ln bakeColor1 -at float3 -uac GIJoe_group; + addAttr -ln bakeColor1R -at "float" -p bakeColor1 GIJoe_group; + addAttr -ln bakeColor1G -at "float" -p bakeColor1 GIJoe_group; + addAttr -ln bakeColor1B -at "float" -p bakeColor1 GIJoe_group; + + addAttr -ln bakeColor2 -at float3 -uac GIJoe_group; + addAttr -ln bakeColor2R -at "float" -p bakeColor2 GIJoe_group; + addAttr -ln bakeColor2G -at "float" -p bakeColor2 GIJoe_group; + addAttr -ln bakeColor2B -at "float" -p bakeColor2 GIJoe_group; + + // general sky params + addAttr -ln SkyInt -at time GIJoe_group; + setAttr GIJoe_group.SkyInt 0.1; + + if ($lightType == 1) + { + addAttr -ln SConeAngle -at time GIJoe_group; + setAttr GIJoe_group.SConeAngle 40; + addAttr -ln SPenumbra -at time GIJoe_group; + setAttr GIJoe_group.SPenumbra 1; + addAttr -ln SDropOff -at time GIJoe_group; + setAttr GIJoe_group.SDropOff 0; + } + + addAttr -ln numLs -at time GIJoe_group; + addAttr -ln numLg -at time GIJoe_group; + if ($lightNumS == "1") + setAttr GIJoe_group.numLs 16; + else if ($lightNumS == "2") + setAttr GIJoe_group.numLs 64; + else if ($lightNumS == "3") + setAttr GIJoe_group.numLs 256; + + if ($lightNumG == "1") + setAttr GIJoe_group.numLg 16; + else if ($lightNumG == "2") + setAttr GIJoe_group.numLg 64; + + addAttr -ln SkySpec -at time GIJoe_group; + setAttr GIJoe_group.SkySpec 2; + addAttr -ln SpecTres -at time GIJoe_group; + setAttr GIJoe_group.SpecTres 0; + addAttr -ln MultHigh -at time GIJoe_group; + setAttr GIJoe_group.MultHigh 1; + addAttr -ln LumTres -at time GIJoe_group; + setAttr GIJoe_group.LumTres 0; + addAttr -ln ShadOptType -at time GIJoe_group; + setAttr GIJoe_group.ShadOptType 2; + addAttr -ln SShado -at time GIJoe_group; + setAttr GIJoe_group.SShado 1; + addAttr -ln SColCal -at bool GIJoe_group; + setAttr GIJoe_group.SColCal 0; + + // ground + addAttr -ln GrInt -at time GIJoe_group; + setAttr GIJoe_group.GrInt 0.1; + if ($lightType == 1) + { + addAttr -ln GConeAngle -at time GIJoe_group; + setAttr GIJoe_group.GConeAngle 40; + addAttr -ln GPenumbra -at time GIJoe_group; + setAttr GIJoe_group.GPenumbra 1; + addAttr -ln GDropOff -at time GIJoe_group; + setAttr GIJoe_group.GDropOff 0; + } + addAttr -ln linkSky -at bool GIJoe_group; + setAttr GIJoe_group.linkSky 0; + addAttr -ln linkMult -at time GIJoe_group; + setAttr GIJoe_group.linkMult 1; + addAttr -ln HideGr -at bool GIJoe_group; + setAttr GIJoe_group.HideGr 0; + addAttr -ln GLumT -at time GIJoe_group; + setAttr GIJoe_group.GLumT 0; + addAttr -ln GShadOptType -at time GIJoe_group; + setAttr GIJoe_group.GShadOptType 2; + addAttr -ln GShado -at time GIJoe_group; + setAttr GIJoe_group.GShado 2; + addAttr -ln GColCal -at bool GIJoe_group; + setAttr GIJoe_group.GColCal 0; + // end of attributes + + select -cl; + + print ("\n"); + print ("###################################################" + "\n"); + print ("# GI_Joe v2.1 - (c) Emmanuel Campin - 2001 / 2002 #" + "\n"); + print ("###################################################" + "\n"); + print ("\n"); + + string $shdwDir = `workspace -q -rd`; + string $shadowsDir = `workspace -cr ($shdwDir + "renderData/GIJoe_shadows")`; + print ("Current project path: " + $shdwDir + "\n"); + string $convertDir = `workspace -cr ($shdwDir + "sourceimages/baked_shadows")`; + + connectAttr -f GIJoe_group.skyColor ($blend + ".color1"); + connectAttr -f GIJoe_group.groundColor ($blend + ".color2"); + + global int $sj3, $sj4; + $sj3 = `scriptJob -con GIJoe_group.skyColor gi_changeSkyCol`; + $sj4 = `scriptJob -con GIJoe_group.groundColor gi_changeGroundCol`; + + int $gi_reload; + + gi_GIUI ($gi_reload, $lightType, $lightNumS, $lightNumG); + gi_conGlobal (); +} + + +global proc gi_GIUI (int $gi_reload, int $lightType, int $lightNumS, int $lightNumG) +{ + + // GI_Joe UserInterface + + global string $GIj_UI; + if( `window -exists $GIj_UI` == 1) + deleteUI -window $GIj_UI; + + float $bcol1[], $bcol2[]; + if (`attributeExists "bden" GIJoe_group` == 1) + { + $bcol1 = `getAttr GIJoe_group.bakeColor1`; + $bcol2 = `getAttr GIJoe_group.bakeColor2`; + } + else + { + $bcol1[0] = 0; $bcol1[1] = 0; $bcol1[2] = 0; + $bcol2[0] = 1; $bcol2[1] = 1; $bcol2[2] = 1; + } + + float $skyCol[], $skyShad[], $gCol[], $gshadCol[]; + + if ($gi_reload == 1) + { + $skyCol = `getAttr GIJoe_group.skyColor`; + $skyShad = `getAttr GIJoe_group.shadowSColor`; + $gCol = `getAttr GIJoe_group.groundColor`; + $gshadCol = `getAttr GIJoe_group.shadowGColor`; + } + else + { + $skyCol[0] = 0.746; $skyCol[1] = 0.895; $skyCol[2] = 1; + $skyShad[0] = 0; $skyShad[1] = 0; $skyShad[2] = 0; + $gCol[0] = 1; $gCol[1] = 0.813; $gCol[2] = 0.625; + $gshadCol[0] = 0; $gshadCol[0] = 0; $gshadCol[0] = 0; + } + + $GIj_UI = `window -t "GI_Joe version 2.1 - UI build1" -w 450 -s 1 -in "GI_Joe UI"`; + scrollLayout Main; + columnLayout; + frameLayout -label "General Attributes" + -mh 5 + -w 460 + -cll 1 + -bs "etchedIn" GalAttr; + columnLayout; + button + -label "Delete GI_Joe" + -c gi_delGIJ delGIJ; + button -label "Clean scene shadows" + -c gi_clean shadClean; + button -label "Clean ALL shadows" + -c gi_cleanAll shadCleanA; + checkBox + -label "Quick help" + -cc gi_help giHelp; + setParent ..; + setParent ..; + frameLayout -label "Sky Attributes" + -mh 5 + -w 460 + -cll 1 + -bs "etchedIn" SkyAttr; + columnLayout; + attrColorSliderGrp + -label "Color" + -rgb $skyCol[0] $skyCol[1] $skyCol[2] + -at GIJoe_group.skyColor skyCol; + textFieldGrp + -label "Color status" + -cal 1 "left" + -tx "Solid Color" + -ed 0 SColStat; + floatSliderGrp + -cal 1 "left" + -label "Intensity" + -cc gi_SkyInt + -dc gi_SkyInt + -field 1 + -s 0.01 + -min 0 -max 1 -value 0.1 SkyInt; + if ($lightType == 1) + { + floatSliderGrp + -label "Cone Angle" + -cal 1 "left" + -field 1 + -cc gi_SConeAngle + -dc gi_SConeAngle + -min 0.01 -max 179.9 -value 40 SConeAngle; + floatSliderGrp + -label "Penumbra Angle" + -cal 1 "left" + -field 1 + -dc gi_SPenumbra + -cc gi_SPenumbra + -min -10 -max 10 -value 1 SPenumbra; + floatSliderGrp + -label "Dropoff" + -cal 1 "left" + -field 1 + -dc gi_SDropOff + -cc gi_SDropOff + -min 0 -max 255 -value 0 SDropOff; + } + radioButtonGrp + -label "Specular" + -numberOfRadioButtons 2 + -on1 gi_specOn + -l1 "On" + -on2 gi_specOff + -l2 "Off" + -cal 1 "left" + -sl 2 skySpec; + floatSliderGrp + -label "Specular Threshold" + -cc gi_SSpecT + -dc gi_SSpecT + -field 1 + -cal 1 "left" + -en 0 + -min 0 -max 1 -value 0 + -s 0.01 SSpecT; + floatSliderGrp + -label "Multiplicator highlights" + -cal 1 "left" + -field 1 + -dc gi_SkyInt + -cc gi_SkyInt + -en 0 + -min 1 -max 10 -value 1 SmultBoost; + frameLayout -label "HDRI fake" + -mh 5 + -w 455 + -cll 1 + -cl 1 + -bs "etchedIn" SkyAttr; + columnLayout; + checkBox + -label "Enable HDRI fake" + -align "left" + -cc gi_HDR HDR; + intSliderGrp + -label "HDRI intensity" + -cal 1 "left" + -field 1 + -en 0 + -min 1 -max 20 -value 1 + -cc gi_HDRint HDRint; + intSliderGrp + -label "HDRI power" + -cal 1 "left" + -field 1 + -s 10 + -en 0 + -min 1 -max 100 -value 20 + -cc gi_HDRPow HDRPow; + floatSliderGrp + -label "HDRI texture gamma" + -cal 1 "left" + -field 1 + -en 0 + -pre 3 + -min 0.01 -max 1 -value -0.1 + -cc gi_HDRGam + -dc gi_HDRGam HDRGam; + setParent ..; + setParent ..; + frameLayout + -label "Special" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" SSpe; + columnLayout; + if ($lightType == 1) + { + intFieldGrp + -label "Random translate min / max" + -nf 2 + -v1 -1 + -cal 1 "left" + -v2 1 SshadRand; + } + else + { + intFieldGrp + -label "Random rotate min / max" + -nf 2 + -v1 -1 + -cal 1 "left" + -v2 1 SshadRand; + } + button + -label "Randomize" + -c gi_SRand + -align "left" SRand; + setParent ..; + setParent ..; + frameLayout + -label "Optimization" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" SOptAttr; + columnLayout; + floatSliderGrp + -label "Luminance Threshold" + -cc gi_SLumT + -dc gi_SLumT + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0 + -s 0.01 SLumT; + radioButtonGrp + -numberOfRadioButtons 2 + -l "Optimize" + -l1 "Shadows" + -l2 "Lights" + -sl 2 + -cal 1 "left" gi_Sopt; + textFieldGrp + -label "Result" + -cal 1 "left" + -ed 0 SOptResult; + button + -label "Optimize" + -c gi_SDoOpt SDoOpt; + checkBox + -label "Freeze lighting" + -v 0 + -align "left" + -cc gi_Sfreeze SFreeze; + setParent ..; + setParent ..; + frameLayout -label "Shadows" + -mh 5 + -w 455 + -cll 1 + -cl 0 + -bs "etchedIn" SShadowsAttr; + columnLayout; + radioButtonGrp + -label "Shadows" + -l1 "On" + -l2 "Off" + -cal 1 "left" + -numberOfRadioButtons 2 + -on1 gi_SshadowsOn + -on2 gi_SshadowsOff + -sl 1 SshadowsOnOff; + attrColorSliderGrp + -label "Shadow Color" + -at GIJoe_group.shadowSColor + -rgb $skyShad[0] $skyShad[1] $skyShad[2] gi_SshadCol; + checkBox + -label "Reuse dmaps" + -cc gi_SReUseDmap + -align "left" SReUseDmap; + intSliderGrp + -label "Dmap Filter Size" + -cc gi_SDmapFS + -dc gi_SDmapFS + -field 1 + -step 1 + -cal 1 "left" + -min 1 -max 20 -value 3 SDmapFS; + intSliderGrp + -label "Dmap Resolution" + -cc gi_SDmapRes + -cal 1 "left" + -field 1 + -step 64 + -min 64 -max 1024 -value 128 SDmapRes; + floatSliderGrp + -label "Dmap Bias" + -dc gi_SDmapBias + -field 1 + -cal 1 "left" + -pre 3 + -min 0 -max 2 -value 0.01 + -s 0.001 SDmapBias; + checkBox + -label "Use MidDist Dmap" + -cc gi_SUseMidDist + -align "left" + -v 1 SUseMidDist; + checkBox + -label "Use Dmap autoFocus" + -align "left" + -cc gi_SAutoFocOnOff + -v 1 SAutoFocOnOff; + intFieldGrp + -label "Dmap widthFocus" + -cc gi_SDmapWF + -cal 1 "left" + -v1 90 + -en 0 SDmapWF; + setParent ..; + setParent ..; + frameLayout -label "Color Calibration" + -mh 5 + -w 455 + -cll 1 + -cl 1 + -bs "etchedIn" SColCal; + columnLayout; + checkBox -label "Enable Color calibration" + -align "left" + -cc gi_SColorCal SColorCal; + floatSliderGrp + -label "Contrast" + -dc gi_SContrast + -cc gi_SContrast + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 SContrast; + floatSliderGrp + -label "ContrastBias" + -dc gi_SContrastB + -cc gi_SContrastB + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0.5 + -s 0.01 + -en 0 SContrastB; + floatSliderGrp + -label "Hue" + -dc gi_SHue + -cc gi_SHue + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 SHue; + floatSliderGrp + -label "Saturation" + -dc gi_SSat + -cc gi_SSat + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 SSat; + floatSliderGrp + -label "Gamma" + -dc gi_SGam + -cc gi_SGam + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 SGam; + checkBox + -en 0 + -label "Freeze color calibration" + -align "left" + -cc gi_SFrCol SFrCol; + setParent; + setParent; + setParent ..; + setParent ..; + setParent ..; + setParent ..; + frameLayout -label "Ground Attributes" + -mh 5 + -w 460 + -cll 1 + -cl 1 + -bs "etchedIn" GAttr; + columnLayout; + attrColorSliderGrp + -label "Color" + -at GIJoe_group.groundColor + -rgb $gCol[0] $gCol[1] $gCol[2] groundCol; + textFieldGrp + -label "Color status" + -cal 1 "left" + -tx "Solid Color" + -ed 0 GColStat; + floatSliderGrp + -cal 1 "left" + -label "Intensity" + -dc gi_GroundInt + -cc gi_GroundInt + -field 1 + -s 0.01 + -min 0 -max 1 -value 0.05 GroundInt; + if ($lightType == 1) + { + floatSliderGrp + -label "Cone Angle" + -field 1 + -dc gi_GConeAngle + -cc gi_GConeAngle + -cal 1 "left" + -min 0 -max 179.9 -value 40 GConeAngle; + floatSliderGrp + -label "Penumbra Angle" + -field 1 + -cal 1 "left" + -dc gi_GPenumbra + -cc gi_GPenumbra + -min -10 -max 10 -value 1 GPenumbra; + floatSliderGrp + -label "Dropoff" + -field 1 + -cal 1 "left" + -cc gi_GDropOff + -dc gi_GDropOff + -min 0 -max 255 -value 0 GDropOff; + } + checkBox + -label "link to sky intensity" + -cc gi_linkSkyInt + -align "left" linkSkyInt; + floatSliderGrp + -label "Multiplicator" + -en 0 + -cal 1 "left" + -field 1 + -step 0.01 + -dc gi_GrIntMult + -cc gi_GrIntMult + -min 0 -max 2 -value 1 GrIntMult; + frameLayout + -label "Special" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" GSpe; + columnLayout; + checkBox + -label "Hide GroundLights" + -cc gi_HideGr + -align "left" HideGr; + checkBox + -label "Delete GroundLights" + -cc gi_delGrL + -align "left" DelGr; + setParent ..; + setParent ..; + frameLayout + -label "Optimization" + -cll 1 + -cl 1 + -mh 5 + -w 455 + -bs "etchedIn" GOptAttr; + columnLayout; + floatSliderGrp + -label "Luminance Threshold" + -dc gi_GLumT + -field 1 + -min 0 -max 1 -value 0 + -s 0.01 GLumT; + radioButtonGrp + -numberOfRadioButtons 2 + -l1 "Optimize Shadows" + -l2 "Optimize Lights" + -sl 2 + -cal 1 "left" gi_Gopt; + textFieldGrp + -label "Result" + -cal 1 "left" + -ed 0 GOptResult; + button + -label "Optimize" + -c gi_GDoOpt GDoOpt; + checkBox + -label "Freeze lighting" + -v 0 + -align "left" + -cc gi_Gfreeze GFreeze; + setParent ..; + setParent ..; + frameLayout -label "Shadows" + -mh 5 + -w 455 + -cll 1 + -cl 0 + -bs "etchedIn" GShadAttr; + columnLayout; + radioButtonGrp + -l "Shadows" + -l1 "On" + -l2 "Off" + -numberOfRadioButtons 2 + -on1 gi_GshadowsOn + -on2 gi_GshadowsOff + -sl 2 GShadOnOff; + attrColorSliderGrp + -label "Shadow Color" + -at GIJoe_group.shadowGColor + -rgb $gshadCol[0] $gshadCol[1] $gshadCol[2] gi_GshadCol; + checkBox + -label "Reuse dmaps" + -cc gi_GReUseDmap + -align "left" GReUseDmap; + intSliderGrp + -label "Dmap Filter Size" + -cc gi_GDmapFS + -dc gi_GDmapFS + -field 1 + -cal 1 "left" + -step 1 + -min 1 -max 20 -value 3 GDmapFS; + intSliderGrp + -label "Dmap Resolution" + -cc gi_GDmapRes + -cal 1 "left" + -field 1 + -min 64 -max 1024 -value 128 + -s 64 GDmapRes; + floatSliderGrp + -label "Dmap Bias" + -cc gi_GDmapBias + -dc gi_GDmapBias + -field 1 + -cal 1 "left" + -pre 3 + -min 0 -max 2 -value 0.01 + -s 0.001 GDmapBias; + checkBox + -label "Use MidDist Dmap" + -cc gi_GUseMidDist + -align "left" + -v 1 GUseMidDist; + checkBox + -label "Use Dmap autoFocus" + -align "left" + -cc gi_GAutoFocOnOff + -v 1 GAutoFocOnOff; + intFieldGrp + -label "Dmap widthFocus" + -cc gi_GDmapWF + -cal 1 "left" + -v1 90 + -en 0 GDmapWF; + setParent ..; + setParent ..; + frameLayout -label "Color Calibration" + -mh 5 + -w 455 + -cll 1 + -cl 1 + -bs "etchedIn" GColCal; + columnLayout; + checkBox -label "Enable Color calibration" + -align "left" + -cc gi_GColorCal GColorCal; + floatSliderGrp + -label "Contrast" + -cc gi_GContrast + -dc gi_GContrast + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 GContrast; + floatSliderGrp + -label "ContrastBias" + -cc gi_GContrastB + -dc gi_GContrastB + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0.5 + -s 0.01 + -en 0 GContrastB; + floatSliderGrp + -label "Hue" + -dc gi_GHue + -cc gi_GHue + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 GHue; + floatSliderGrp + -label "Saturation" + -cc gi_GSat + -dc gi_GSat + -field 1 + -cal 1 "left" + -min 0 -max 2 -value 1 + -s 0.01 + -en 0 GSat; + floatSliderGrp + -label "Gamma" + -cc gi_GGam + -dc gi_GGam + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 GGam; + checkBox + -en 0 + -label "Freeze color calibration" + -align "left" + -cc gi_GFrCol GFrCol; + setParent; + setParent; + setParent ..; + setParent ..; + setParent ..; + setParent ..; + frameLayout -label "Bake Shadows" + -bs "etchedIn" + -w 460 + -cll 1 + -cl 1 BakeShad; + columnLayout; + checkBox -label "Enable bake shader" + -align "left" + -cc gi_BakeShad bakeOnOff; + checkBox -label "Retrieve shadow maps" + -align "left" + -cc gi_readB bRb; + attrColorSliderGrp + -label "Shadow Color 1" + -at GIJoe_group.bakeColor1 + -rgb $bcol1[0] $bcol1[1] $bcol1[2] gi_BakShadCol1; + attrColorSliderGrp + -label "Shadow Color 2" + -at GIJoe_group.bakeColor2 + -rgb $bcol2[0] $bcol2[1] $bcol2[2] gi_BakShadCol2; + floatSliderGrp + -label "Density Mult" + -cc gi_BakDensity + -dc gi_BakDensity + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 BakDensity; + floatSliderGrp + -label "Contrast" + -cc gi_BakeCon + -field 1 + -cal 1 "left" + -min 0 -max 4 -value 1 + -s 0.01 + -en 0 BakCon; + floatSliderGrp + -label "Contrast Bias" + -cc gi_BakConBias + -field 1 + -cal 1 "left" + -min 0 -max 1 -value 0.5 + -s 0.01 + -en 0 BakeConB; + intSliderGrp + -label "Bake Min Resolution" + -field 1 + -cal 1 "left" + -min 64 -max 512 -value 128 + -s 1 + -cc gi_mres + -en 0 BakMinRes; + intSliderGrp + -label "Bake Max Resolution" + -field 1 + -cal 1 "left" + -min 64 -max 1024 -value 512 + -s 1 + -cc gi_Mres + -en 0 BakMaxRes; + optionMenuGrp + -en 0 + -label "File format" FF; + menuItem "IFF"; + menuItem "JPG"; + menuItem "TGA"; + menuItem "TIF"; + menuItem "BMP"; + textFieldGrp + -label "Output Baked Shadows Directory" + -text "" + -cal 1 "left" + -cc gi_bdir + -en 0 gi_outputShadDir; + checkBox + -label "Preview mode" + -en 0 + -align "left" BakePr; + button + -label "Bake All Assigned" + -en 0 + -c gi_bakAll bakAll; + button + -label "Get Files" + -en 0 + -c gi_bakeGetFil bakeGetFil; + setParent; + + global int $sjUI, $sj1, $sj2; + + $sjUI = `scriptJob -uid $GIj_UI gi_delSJs`; + $sj1 = `scriptJob -e deleteAll gi_delGI_UI`; + $sj2 = `scriptJob -e SceneOpened gi_delGI_UI`; + + if ($gi_reload == 1) + gi_assignUI (); + + showWindow $GIj_UI; +} + + +global proc gi_assignUI () +{ + // sky + // intensity params + + string $slight[] = `ls "skyLightShape*"`; + string $consCol = `connectionInfo -sfd GIJoe_group.skyColor`; + string $sTex[] = `ls "skyTex*"`; + float $scol[]; + if ((`size $consCol` > 0) && (`size $sTex` > 0)) + textFieldGrp -e -tx "Texture2d" SColStat; + else if ((`size $consCol` > 0) && (`size $sTex` == 0)) + textFieldGrp -e -tx "Frozen" SColStat; + else + { + $scol = `getAttr GIJoe_group.skyColor`; + textFieldGrp -e -tx "Solid Color" SColStat; + } + float $SkyInt = `getAttr GIJoe_group.SkyInt`; + floatSliderGrp -edit -v $SkyInt SkyInt; + if (`attributeExists "coneAngle" $slight[0]` == 1) + { + float $cang = `getAttr ($slight[0] + ".coneAngle")`; + float $pen = `getAttr ($slight[0] + ".penumbraAngle")`; + float $dropo = `getAttr ($slight[0] + ".dropoff")`; + floatSliderGrp -edit -v $cang SConeAngle; + floatSliderGrp -edit -v $pen SPenumbra; + floatSliderGrp -e -v $dropo SDropOff; + } + + // specular + + int $skySpec = `getAttr GIJoe_group.SkySpec`; + radioButtonGrp -e -sl $skySpec skySpec; + + float $SpecTres = `getAttr GIJoe_group.SpecTres`; + float $lumTres = `getAttr GIJoe_group.LumTres`; + float $SpecMult = `getAttr GIJoe_group.MultHigh`; + if ($skySpec == 1) + { + floatSliderGrp -e -en 1 -v $SpecTres SSpecT; + floatSliderGrp -e -en 1 -v $lumTres SLumT; + floatSliderGrp -e -en 1 -v $SpecMult SmultBoost; + } + + // HDRI fake + + if (`attributeExists "HDR" GIJoe_group` == 1) + { + int $HDR = `getAttr GIJoe_group.HDR`; + int $HDRInt = `getAttr GIJoe_group.HDRInt`; + int $HDRPow = `getAttr GIJoe_group.HDRPow`; + float $HDRGam = `getAttr GIJoe_group.HDRGam`; + + checkBox -e -en 1 -v 1 HDR; + intSliderGrp -e -en 1 -v $HDRInt HDRint; + intSliderGrp -e -en 1 -v $HDRPow HDRPow; + floatSliderGrp -e -en 1 -v $HDRGam HDRGam; + } + + // optimization + + int $shadOptType = `getAttr GIJoe_group.ShadOptType`; + radioButtonGrp -e -sl $shadOptType gi_Sopt; + + int $SShado = `getAttr GIJoe_group.SShado`; + radioButtonGrp -e -sl $SShado SshadowsOnOff; + + int $SColCal = `getAttr GIJoe_group.SColCal`; + checkBox -e -v $SColCal SColorCal; + + if ($SColCal == 1) + { + float $scon = `getAttr GIJoe_group.SCon`; + floatSliderGrp -e -v $scon SContrast; + float $sconb = `getAttr GIJoe_group.SConB`; + floatSliderGrp -e -v $sconb SContrastB; + float $shue = `getAttr GIJoe_group.SHue`; + floatSliderGrp -e -v $shue SHue; + float $ssat = `getAttr GIJoe_group.SSat`; + floatSliderGrp -e -v $ssat SSat; + float $sgam = `getAttr GIJoe_group.SGam`; + floatSliderGrp -e -v $sgam SGam; + + floatSliderGrp -e -en 1 SContrast; + floatSliderGrp -e -en 1 SContrastB; + floatSliderGrp -e -en 1 SHue; + floatSliderGrp -e -en 1 SSat; + floatSliderGrp -e -en 1 SGam; + } + + + int $reuseS = `getAttr ($slight[0] + ".reuseDmap")`; + checkBox -e -v $reuseS SReUseDmap; + int $dmapFS = `getAttr ($slight[0] + ".dmapFilterSize")`; + intSliderGrp -e -v $dmapFS SDmapFS; + int $dmapRS = `getAttr ($slight[0] + ".dmapResolution")`; + intSliderGrp -e -v $dmapRS SDmapRes; + float $dmapBias = `getAttr ($slight[0] + ".dmapBias")`; + floatSliderGrp -e -v $dmapBias SDmapBias; + int $useMid = `getAttr ($slight[0] + ".useMidDistDmap")`; + checkBox -e -v $useMid SUseMidDist; + int $useAF = `getAttr ($slight[0] + ".useDmapAutoFocus")`; + checkBox -e -v $useAF SAutoFocOnOff; + if ($useAF == 0) + intFieldGrp -e -en 1 SDmapWF; + int $SWF = `getAttr ($slight[0] + ".dmapWidthFocus")`; + intFieldGrp -e -v1 $SWF SDmapWF; + + + // ground + string $glight[] = `ls "groundLightShape*"`; + if (`size $glight` == 0) + return; + + string $congCol = `connectionInfo -sfd GIJoe_group.groundColor`; + string $gTex[] = `ls "groundTex*"`; + float $gcol[]; + if ((`size $congCol` > 0) && (`size $gTex` > 0)) + textFieldGrp -e -tx "Texture2d" GColStat; + else if ((`size $congCol` > 0) && (`size $gTex` == 0)) + textFieldGrp -e -tx "Frozen" GColStat; + else + { + $gcol = `getAttr GIJoe_group.groundColor`; + textFieldGrp -e -tx "Solid Color" GColStat; + } + + float $GrInt = `getAttr GIJoe_group.GrInt`; + floatSliderGrp -edit -v $GrInt GroundInt; + if (`attributeExists "coneAngle" $glight[0]` == 1) + { + float $cang = `getAttr ($glight[0] + ".coneAngle")`; + float $pen = `getAttr ($glight[0] + ".penumbraAngle")`; + float $dropo = `getAttr ($glight[0] + ".dropoff")`; + floatSliderGrp -edit -v $cang SConeAngle; + floatSliderGrp -edit -v $pen SPenumbra; + floatSliderGrp -e -v $dropo SDropOff; + } + + int $link = `getAttr GIJoe_group.linkSky`; + checkBox -e -v $link linkSkyInt; + float $GMult = `getAttr GIJoe_group.linkMult`; + floatSliderGrp -e -v $GMult GrIntMult; + int $Ghide = `getAttr GIJoe_group.HideGr`; + checkBox -e -v $Ghide HideGr; + float $GLumt = `getAttr GIJoe_group.GLumT`; + floatSliderGrp -e -v $GLumt GLumT; + int $GShado = `getAttr GIJoe_group.GShado`; + radioButtonGrp -e -sl $GShado GShadOnOff; + + int $Greuse = `getAttr ($glight[0] + ".reuseDmap")`; + checkBox -e -v $Greuse GReUseDmap; + int $GDmapFS = `getAttr ($glight[0] + ".dmapFilterSize")`; + intSliderGrp -e -v $GDmapFS GDmapFS; + int $GDMapRS =` getAttr ($glight[0] + ".dmapResolution")`; + intSliderGrp -e -v $GDMapRS GDmapRes; + float $GBias = `getAttr ($glight[0] + ".dmapBias")`; + floatSliderGrp -e -v $GBias GDmapBias; + + int $GuseMid = `getAttr ($glight[0] + ".useMidDistDmap")`; + checkBox -e -v $GuseMid GUseMidDist; + int $GuseAF = `getAttr ($glight[0] + ".useDmapAutoFocus")`; + checkBox -e -v $GuseAF GAutoFocOnOff; + if ($GuseAF == 0) + intFieldGrp -e -en 1 GDmapWF; + int $GWF = `getAttr ($glight[0] + ".dmapWidthFocus")`; + intFieldGrp -e -v1 $GWF GDmapWF; + + int $GColCal = `getAttr GIJoe_group.GColCal`; + checkBox -e -v $GColCal GColorCal; + + if ($GColCal == 1) + { + float $gcon = `getAttr GIJoe_group.GCon`; + floatSliderGrp -e -v $gcon GContrast; + float $gconb = `getAttr GIJoe_group.GConB`; + floatSliderGrp -e -v $gconb GContrastB; + float $ghue = `getAttr GIJoe_group.GHue`; + floatSliderGrp -e -v $ghue GHue; + float $gsat = `getAttr GIJoe_group.GSat`; + floatSliderGrp -e -v $gsat GSat; + float $ggam = `getAttr GIJoe_group.GGam`; + floatSliderGrp -e -v $ggam GGam; + + floatSliderGrp -e -en 1 GContrast; + floatSliderGrp -e -en 1 GContrastB; + floatSliderGrp -e -en 1 GHue; + floatSliderGrp -e -en 1 GSat; + floatSliderGrp -e -en 1 GGam; + + } + + // bake + + if (`attributeExists "bden" GIJoe_group` == 1) + { + float $col1[] = `getAttr GIJoe_group.bakeColor1`; + float $col2[] = `getAttr GIJoe_group.bakeColor2`; + float $den = `getAttr GIJoe_group.bden`; + float $bcon = `getAttr GIJoe_group.bcon`; + float $bconb = `getAttr GIJoe_group.bconb`; + int $mres = `getAttr GIJoe_group.mres`; + int $Mres = `getAttr GIJoe_group.Mres`; + string $bdir = `getAttr GIJoe_group.bdir`; + + floatSliderGrp -e -en 1 -v $den BakDensity; + floatSliderGrp -e -en 1 -v $bcon BakCon; + floatSliderGrp -e -en 1 -v $bconb BakeConB; + intSliderGrp -e -en 1 -v $mres BakMinRes; + intSliderGrp -e -en 1 -v $Mres BakMaxRes; + textFieldGrp -e -en 1 -ed 1 -tx $bdir gi_outputShadDir; + checkBox -e -en 1 -v 1 bakeOnOff; + optionMenuGrp -e -en 1 FF; + checkBox -e -en 1 BakePr; + button -e -en 1 bakAll; + button -e -en 0 bakeGetFil; + } + + // retrieve + + if (`attributeExists "breadSM" GIJoe_group` == 1) + { + string $bdir = `getAttr GIJoe_group.bdir`; + textFieldGrp -e -en 1 -ed 1 -tx $bdir gi_outputShadDir; + checkBox -e -v 1 bRb; + button -e -en 1 bakeGetFil; + } + + // scriptJobs + + global int $sj3, $sj4; + $sj3 = `scriptJob -con GIJoe_group.skyColor gi_changeSkyCol`; + $sj4 = `scriptJob -con GIJoe_group.groundColor gi_changeGroundCol`; +} + + +global proc gi_changeSkyCol () + +{ + string $sTex[] = `listConnections -d off -s on GIJoe_group.skyColor`; + string $lights[] = `ls "skyLightShape*"`; + string $texSky[] = `ls "skyTex*"`; + if (`size $sTex[0]` > 0) + { + string $skyTex = $sTex[0]; + string $nType = `nodeType $skyTex`; + if (($nType == "snow") || ($nType == "layeredTexture") || ($nType == "envBall") || ($nType == "envChrome") || ($nType == "envCube") || ($nType == "envSky") || ($nType == "envSphere")) + { + warning "Not a useable texture selected...!!"; + disconnectAttr ($skyTex + ".outColor") GIJoe_group.skyColor; + return; + } + string $class[] = `getClassification $nType`; + // selected texture: 2d or 3d? + if ($class[0] == "texture/2d") + gi_con2dTexSky ($skyTex); + else if ($class[0] == "texture/3d") + gi_con3dTexSky ($skyTex); + } + else if (`isConnected GIJoe_group.skyColor ($lights[0] + ".color")` == 0) + { + string $skyTex[] = `ls "skyTex*" "skyMult*" "skyRgb2Hsv*" "skyContrast*" "skyHsv2Rgb*" "skyGamma*" "sky_SR*"`; + string $inc; + for ($inc in $skyTex) + { + delete $inc; + } + + textFieldGrp -e -tx "Solid Color" SColStat; + + for ($inc in $lights) + { + connectAttr -f GIJoe_group.skyColor ($inc + ".color"); + } + + if (`objExists "HDR_limit"` == 1) + { + checkBox -e -v 0 HDR; + intSliderGrp -e -en 0 -v 1 HDRint; + intSliderGrp -e -en 0 -v 200 HDRPow; + floatSliderGrp -e -en 0 -v 0.1 HDRGam; + deleteAttr GIJoe_group.HDR; + deleteAttr GIJoe_group.HDRInt; + deleteAttr GIJoe_group.HDRPow; + deleteAttr GIJoe_group.HDRGam; + delete "HDR_shader" "HDR_shaderSG" "HDR_texture" "HDR_ramp" "HDR_limit" "HDR_gamma" "HDR_Hsv" "HDR_Surface"; + } + } + else + return; +} + + + + +global proc gi_changeGroundCol () + +{ + if (`objExists "GIJoe_group"` == 1) + { + string $gTex[] = `listConnections -d off -s on GIJoe_group.groundColor`; + string $texGround[] = `ls ("groundTex*")`; + if (`size $gTex[0]` > 0) + { + string $groundTex = $gTex[0]; + string $nType = `nodeType $groundTex`; + if (($nType == "snow") || ($nType == "layeredTexture") || ($nType == "envBall") || ($nType == "envChrome") || ($nType == "envCube") || ($nType == "envSky") || ($nType == "envSphere")) + { + warning "Not a useable texture selected...!!"; + disconnectAttr ($groundTex + ".outColor") GIJoe_group.groundColor; + return; + } + string $class[] = `getClassification $nType`; + // selected texture: 2d or 3d? + + if ($class[0] == "texture/2d") + gi_con2dTexGround ($groundTex); + else if ($class[0] == "texture/3d") + gi_con3dTexGround ($groundTex); + } + else if (`isConnected GIJoe_group.groundColor groundLightShape1.color` == 0) + { + string $groundTex[] = `ls "groundTex*" "groundMult*" "groundRgb2Hsv*" "groundContrast*" "groundHsv2Rgb*" "groundGamma*" "ground_SR*"`; + string $inc; + for ($inc in $groundTex) + { + delete $inc; + } + textFieldGrp -e -tx "Solid Color" GColStat; + string $lights[] = `ls ("groundLightShape*")`; + string $inc; + for ($inc in $lights) + { + connectAttr -f GIJoe_group.groundColor ($inc + ".color"); + } + } + else + return; + } + else + return; +} + + +global proc gi_updateShadowsNames() + +{ + + // setting up the shadows names. + + string $slights[] = `ls ("skyLightShape*")`; + string $glights[] = `ls ("groundLightShape*")`; + string $fileName = `file -q -sn`; + string $ppath = `workspace -q -rd`; + string $sdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $pwdShadows = `pwd`; + string $scene[]; + tokenize $fileName "/" $scene; + int $sizeFile = `size($scene)`; + string $sceneName[]; + tokenize $scene[$sizeFile-1] "." $sceneName; + + string $inc; + int $num = 0; + + int $sres = `intSliderGrp -q -v SDmapRes`; + int $gres = `intSliderGrp -q -v GDmapRes`; + + for ($inc in $slights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "_skyShadow" + ($num+1) + "_" + $sres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + $num++; + } + for ($inc in $glights) + { + setAttr -type "string" ($inc + ".dmapName") ($pwdShadows + "/" + $sceneName[0] + "_skyShadow" + ($num+1) + "_" + $sres); + setAttr ($inc + ".dmapLightName") 0; + setAttr ($inc + ".dmapSceneName") 1; + $num++; + } + + // clean shadows test + + string $test = `system "dir /B"`; + string $maps[]; + tokenize $test "\n" $maps; + if (`size $maps` > 1000) + warning "Attention, the number of shadow maps in the GIJoe_shadows exceeds 1000 files: you should clean the directory!!"; +} + + +global proc gi_BakeShad() + +{ + int $bakOn = `checkBox -q -v bakeOnOff`; + if (($bakOn == 1) && (`objExists "pma_bake"` == 0)) + { + floatSliderGrp -e -en 1 BakDensity; + floatSliderGrp -e -en 1 BakCon; + floatSliderGrp -e -en 1 BakeConB; + intSliderGrp -e -en 1 BakMinRes; + intSliderGrp -e -en 1 BakMaxRes; + textFieldGrp -e -en 1 -ed 1 gi_outputShadDir; + optionMenuGrp -e -en 1 FF; + checkBox -e -en 1 BakePr; + button -e -en 1 bakAll; + checkBox -e -en 0 bRb; + + string $testGrSh[] = `ls "groundLightShape*"`; + string $alights[]; + if (`getAttr ($testGrSh[0] + ".useDepthMapShadows")` == 1) + $alights = `ls "skyLightShape*" "groundLightShape*"`; + else + $alights = `ls "skyLightShape*"`; + string $inc; + string $pma_bake = `shadingNode -au plusMinusAverage -n pma_bake`; + setAttr ($pma_bake + ".operation") 3; + int $num; + for ($inc in $alights) + { + connectAttr -f ($inc + ".lightShadowFraction") ($pma_bake + ".input1D[" + $num + "]"); + $num++; + } + + string $bc_bake = `shadingNode -au blendColors -n bc_bake`; + string $bakeMat = `shadingNode -as surfaceShader -n SS_bake`; + string $bc_contrast = `shadingNode -au contrast -n bc_contrast`; + string $sr = `shadingNode -au setRange -n bake_sr`; + setAttr ($sr + ".oldMaxX") 1; + setAttr ($sr + ".maxX") 1; + setAttr ($bc_contrast + ".contrastX") 1; + connectAttr -f ($bc_bake + ".output") ($bakeMat + ".outColor"); + connectAttr -f ($pma_bake + ".output1D") ($sr + ".valueX"); + connectAttr -f ($sr + ".outValueX") ($bc_contrast + ".valueX"); + connectAttr -f ($bc_contrast + ".outValueX") ($bc_bake + ".blender"); + connectAttr -f GIJoe_group.bakeColor1 ($bc_bake + ".color1"); + connectAttr -f GIJoe_group.bakeColor2 ($bc_bake + ".color2"); + + addAttr -ln bden -at time GIJoe_group; + setAttr GIJoe_group.bden 1; + addAttr -ln bcon -at time GIJoe_group; + setAttr GIJoe_group.bcon 1; + addAttr -ln bconb -at time GIJoe_group; + setAttr GIJoe_group.bconb 0.5; + addAttr -ln mres -at time GIJoe_group; + setAttr GIJoe_group.mres 128; + addAttr -ln Mres -at time GIJoe_group; + setAttr GIJoe_group.Mres 512; + addAttr -dt "string" -ln bdir GIJoe_group; + + select "SS_bake"; + } + else + { + delete "bc_bake" "bc_contrast" "bake_sr" "SS_bake" "pma_bake"; + floatSliderGrp -e -en 0 -v 1 BakDensity; + floatSliderGrp -e -en 0 -v 1 BakCon; + floatSliderGrp -e -en 0 -v 0.5 BakeConB; + intSliderGrp -e -en 0 -v 128 BakMinRes; + intSliderGrp -e -en 0 -v 512 BakMaxRes; + textFieldGrp -e -en 0 -ed 0 -tx "" gi_outputShadDir; + setAttr GIJoe_group.bakeColor1 0 0 0; + setAttr GIJoe_group.bakeColor2 1 1 1; + optionMenuGrp -e -en 0 -sl 1 FF; + checkBox -e -en 0 BakePr; + button -e -en 0 bakAll; + checkBox -e -en 1 bRb; + + deleteAttr GIJoe_group.bden; + deleteAttr GIJoe_group.bcon; + deleteAttr GIJoe_group.bconb; + deleteAttr GIJoe_group.mres; + deleteAttr GIJoe_group.Mres; + deleteAttr GIJoe_group.bdir; + } +} + +global proc gi_readB() +{ + int $test = `checkBox -q -v bRb`; + if ($test == 1) + { + button -e -en 1 bakeGetFil; + textFieldGrp -e -en 1 -ed 1 -tx "" gi_outputShadDir; + checkBox -e -en 0 bakeOnOff; + addAttr -dt "string" -ln bdir GIJoe_group; + addAttr -ln breadSM -at bool GIJoe_group; + } + else + { + button -e -en 0 bakeGetFil; + textFieldGrp -e -en 0 -tx "" gi_outputShadDir; + checkBox -e -en 1 bakeOnOff; + deleteAttr GIJoe_group.bdir; + deleteAttr GIJoe_group.breadSM; + } +} + + +global proc gi_bakAll() + + { + int $previewM = `checkBox -q -v BakePr`; + if ($previewM == 1) + { + print "\n"; + print "PREVIEW MODE ON: the bake process is disabled\n"; + print "\n"; + } + string $ppath, $bdir, $pwdBaked, $dirName; + + if ($previewM == 0) + { + $ppath = `workspace -q -rd`; + $bdir = `chdir ($ppath + "/sourceimages/baked_shadows")`; + $pwdBaked = `pwd`; + $dirName = `textFieldGrp -q -tx gi_outputShadDir`; + if ($dirName == "") + { + warning "You must specify an output directory name...!!"; + return; + } + } + + string $bakeSel[] = `hyperShade -objects SS_bake`; + string $selected[] = `ls -sl`; + if (`size $selected` == 0) + { + warning "You must select the objects to bake their shadows"; + return; + } + + for ($inc in $selected) + { + if (`nodeType $inc` == "transform") + { + performFreezeTransformations 0; + } + else + { + string $transform[] = `listRelatives -fullPath -p $inc`; + select $transform[0]; + performFreezeTransformations 0; + } + } + + int $sizes = `size $selected`; + int $res; + float $tab[]; + int $i= 0; + for ($inc in $selected) + { + float $bbox[] = `getAttr ($inc + ".boundingBoxSize")`; + vector $box = << $bbox[0], $bbox[1], $bbox[2]>>; + float $boxS = ($box.x)*($box.y) + ($box.x)*($box.z) + ($box.y)*($box.z); + $tab[$i] = $boxS; + $i++; + } + + float $sort0, $tab0; + float $sort[] = `sort $tab`; + int $resMin = `intSliderGrp -q -v BakMinRes`; + int $resMax = `intSliderGrp -q -v BakMaxRes`; + int $bakeRes; + int $i=0; + + string $dirExist = `system ("dir " + "/B")`; + string $dirs[]; + int $dirOk = 0; + tokenize $dirExist "\n" $dirs; + + for ($inc in $dirs) + { + int $si = (`size $inc`) - 1; + $inc = `substring $inc 1 $si`; + if ($inc == $dirName) + { + $dirOk = 1; + break; + } + else + { + continue; + } + } + + if (($previewM == 0) && ($dirOk == 0)) + { + string $outDir = `workspace -cr ($pwdBaked + "/" + $dirName)`; + print "\n"; + print ($dirName + " has been created in " + $pwdBaked + " directory..." + "\n"); + print "\n"; + } + + string $FF = `optionMenuGrp -q -v FF`; + + for ($tab0 in $tab) + { + if ($sort[$sizes-1] == $sort[0]) + { + $bakeRes = $resMax; + } + + else if (`size $bakeSel` == 1) + $bakeRes = $resMax; + else + { + $bakeRes = $resMin + (($tab0-$sort[0])/($sort[$sizes-1]-$sort[0]))*($resMax - $resMin); + } + select -cl; + if (`attributeExists "GIJoe_baked" $selected[$i]` == 0) + { + string $pipe = `substituteAllString $selected[$i] "|" "_"`; + rename $selected[$i] $pipe; + print ($selected[$i] + " has been renamed: " + $pipe + "\n"); + print ("converting " + $pipe + " with boundingBoxSum of " + $tab[$i] + " in " + $bakeRes + " * " + $bakeRes + " in " + $FF + "\n"); + print "\n"; + if ($previewM == 0) + { + convertSolidTx -rx $bakeRes -ry $bakeRes -fin ($pwdBaked + "/" + $dirName + "/" + $pipe + "_" + $bakeRes + "." + $FF) bc_bake.output $pipe; + addAttr -ln GIJoe_baked -at bool $pipe; + setAttr ($pipe + ".GIJoe_baked") 1; + } + $i++; + } + else + { + print "\n"; + print ("Found object " + $selected[$i] + " already baked. Skipped!!"); + print "\n"; + continue; + } + } +} + + +global proc gi_bakeGetFil() + +{ + string $selected[] = `ls -sl`; + if (`size $selected` == 0) + { + warning "You must select the objects to retrieve their shadows"; + return; + } + + string $ppath = `workspace -q -rd`; + string $bdir = `chdir ($ppath + "/sourceimages/baked_shadows")`; + string $pwdBaked = `pwd`; + string $dirName = `textFieldGrp -q -tx gi_outputShadDir`; + if ($dirName == "") + { + warning "You must specify an output directory name...!!"; + return; + } + + string $dirExist = `system ("dir " + "/B")`; + string $dirs[]; + int $dirOk = 0; + tokenize $dirExist "\n" $dirs; + + for ($inc in $dirs) + { + int $si = (`size $inc`) - 1; + $inc = `substring $inc 1 $si`; + if ($inc == $dirName) + { + print ("Output directory " + $dirName + " found!!\n"); + $dirOk = 1; + break; + } + else + continue; + } + if ($dirOk == 0) + { + warning "The specified directory doesn't exist. Process stopped!\n"; + return; + } + + string $content = `system ("dir " + "/B " + $dirName)`; + print ($content + "\n"); + if (`size $content` == 0) + { + warning ("directory " + $dirName + " contains nothing...!!!"); + return; + } + else + { + string $tab[]; + tokenize $content "\n" $tab; + string $sortDir[] = `sort ($tab)`; + string $item, $sel; + int $num; + int $m = 0; + + for ($sel in $selected) + { + if ($sel == "GIJoe_group") + continue; + string $shape[] = `listRelatives -s $sel`; + for( $item in $sortDir) + { + string $matche = `match ($shape[0]+"_[0-9]+") $item`; + if ($matche != "") + { + $m = 1; + break; + } + } + + if ($m == 0) + { + warning "No corresponding files were found!! Process stopped!\n"; + return; + } + + string $texFile = `shadingNode -at file -n ($item + "BShadow")`; + int $len = size ($item); + $fileName = `substring $item 1 ($len-1)`; + setAttr -type "string" ($texFile + ".fileTextureName") ($dirName + "\\" + $fileName); + + string $SG[] = `listConnections -s off -d on $shape`; + print ("Shading Group: " + $SG[0] + "\n"); + if (`size $shape[0]` == 0) + $shape[0] = $sel; + + string $mat[] = `listConnections -d off $SG[0]`; + print ("material found: " + $mat[0] + "\n"); + int $num2; + + if (`attributeExists "shadowMap" $mat[0]` == 1) + { + print ("Shader " + $mat[0] + " already has a shadowMap..." + "\n"); + print ("Creating a new one..." + "\n"); + + addAttr -ln ("shadowMap" + $num2) -at float3 -uac $mat[0]; + addAttr -ln ("shadowMap" + $num2 + "R") -at "float" -dv 0 -p ("shadowMap" + $num2) $mat[0]; + addAttr -ln ("shadowMap" + $num2 + "G") -at "float" -dv 0 -p ("shadowMap" + $num2) $mat[0]; + addAttr -ln ("shadowMap" + $num2 + "B") -at "float" -dv 0 -p ("shadowMap" + $num2) $mat[0]; + print ("connecting " + $texFile + ".outColor " + $mat[0] + ".shadowMap" + $num2 + "\n"); + connectAttr -f ($texFile + ".outColor") ($mat[0] + ".shadowMap" + $num2); + $num2++; + } + else + { + addAttr -ln shadowMap -at float3 -uac $mat[0]; + addAttr -ln shadowMapR -at "float" -dv 0 -p shadowMap $mat[0]; + addAttr -ln shadowMapG -at "float" -dv 0 -p shadowMap $mat[0]; + addAttr -ln shadowMapB -at "float" -dv 0 -p shadowMap $mat[0]; + + print ("connecting " + $texFile + ".outColor " + $mat[0] + ".shadowMap" + "\n"); + connectAttr -f ($texFile + ".outColor") ($mat[0] + ".shadowMap"); + $num++; + } + } + } +} + + +global proc gi_delSJs() +{ + global int $sjUI, $sj1, $sj2, $sj3, $sj4; + scriptJob -kill $sj1; + scriptJob -kill $sj2; + scriptJob -kill $sj3; + scriptJob -kill $sj4; +} + +global proc gi_delGI_UI () +{ + global string $GIj_UI; + deleteUI -window $GIj_UI; + global int $texChangedSJ; + if (`scriptJob -ex $texChangedSJ` == 1) + scriptJob -kill $texChangedSJ; +} + +global proc gi_delGIJ() +{ + delete GIJoe_group; + + if (`objExists "skyTex1"` == 1) + delete "skyTex*"; + + if (`objExists "sky_SR1"` == 1) + delete "sky_SR*"; + + delete GIJoe_SS rampMat blendMat1; + + if (`objExists "skyContrast1"` == 1) + delete "skyRgb2Hsv*" "skyMult*" "skyHsv2Rgb*" "skyGamma*" "skyContrast*"; + + if (`objExists "groundContrast1"` == 1) + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; + + if (`objExists "SS_bake"` == 1) + delete "bc_bake" "bc_contrast" "bake_sr" "SS_bake"; + + if (`objExists "GIJoe_brush*"` == 1) + delete "GIJoe_brush*"; + if (`objExists "GIJoe_sceneConfigurationScriptNode*"` == 1) + delete "GIJoe_sceneConfigurationScriptNode*"; + if (`objExists "GIJoe_uiConfigurationScriptNode*"` == 1) + delete "GIJoe_uiConfigurationScriptNode*"; + delete "GIJoe_SSSG"; + + if (`objExists "HDR_shader"` == 1) + delete "HDR_shader" "HDR_shaderSG" "HDR_texture" "HDR_ramp" "HDR_limit" "HDR_hsv" "HDR_gamma"; + + gi_delGI_UI; +} + +global proc gi_HideGr() +{ + string $lights[] = `ls "groundLightShape*"`; + int $hid = `checkBox -q -v HideGr`; + setAttr GIJoe_group.HideGr $hid; + if ($hid == 1) + hide $lights; + else + showHidden $lights; +} + +global proc gi_delGrL() +{ + frameLayout -edit -vis 0 GAttr; + string $lights[] = `ls "groundLight*"`; + delete $lights; + deleteAttr GIJoe_group.groundColor; + deleteAttr GIJoe_group.shadowGColor; + if (`objExists "groundTex1"` == 1) + delete "groundTex*"; + + if (`objExists "groundContrast1"` == 1) + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; +} + +global proc gi_help() +{ + int $hlp = `checkBox -q -v giHelp`; + if ($hlp == 1) + { + // Gal + button -e -ann "Click me to delete the whole GI_Joe setup" delGIJ; + button -e -ann "Click me to delete all the shadows under the scene's name" shadClean; + button -e -ann "Click me to delete ALL the shadows stored in the GI_Joe shadows directory" shadCleanA; + checkBox -e -ann "Quick help toggle on / off in English please!!" giHelp; + + // sky int + floatSliderGrp -e -ann "Set a plain color or drag a texture into it" skyCol; + textFieldGrp -e -ann "The color statuts shows the status: Solid Color, Texture2d / Texture3d, or Frozen" SColStat; + floatSliderGrp -e -ann "Sky intensity: adjust it to modify the intensity of the skyLight lighting" SkyInt; + + if (`floatSliderGrp -ex SConeAngle` == 1) + { + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" SConeAngle; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" SPenumbra; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" SDropOff; + } + + radioButtonGrp -e -ann "Sets the specular on / off" skySpec; + floatSliderGrp -e -ann "Modify the threshold to set what lights will 'cast' specular according the luminance of the texture plugged into the skyColor" SSpecT; + floatSliderGrp -e -ann "Modify the multiplicator to force the highlights (specular lights) to illuminate the scene as real ponctual lights" SmultBoost; + + // sky HDRI + checkBox -e -ann "Enables the fake HDRI lighting)" HDR; + intSliderGrp -e -ann "Sets the specularRollOff value of the HDR_shader" HDRint; + intSliderGrp -e -ann "Sets the level of specular reflectivity of the HDR_shader" HDRPow; + floatSliderGrp -e -ann "Sets the gamma level of the HDR_texture used by the HDR_shader" HDRGam; + + // sky special + intFieldGrp -e -ann "If you use directional lights, enter minimum and maximum values to randomize the rotation of the lights. If you use spotlights, these values will affect the translation of the lights" SshadRand; + button -e -ann "Click me to randomize the rotation (directional lights) or translation (spot lights)" SRand; + + // sky opt + floatSliderGrp -e -ann "Adjust this threshold to set the minimum level of luminance used for the optimization" SLumT; + radioButtonGrp -e -ann "Sets here if you want to optimize the shadows (selected light.castShadows OFF) or the lights (deletion)" gi_Sopt; + button -e -ann "Click me to perform the optimization (Note: the lights to be optimized have to be selected)" SDoOpt; + checkBox -e -ann "Freezing the lighting will remove the shading nodes necessary to get the color from the texture, but the light will still emit the correct color" SFreeze; + + // sky shadows + radioButtonGrp -e -ann "Shadows On or Off?? Your call!!" SshadowsOnOff; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SReUseDmap; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapFS; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapRes; + floatSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapBias; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SUseMidDist; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SAutoFocOnOff; + intFieldGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" SDmapWF; + + // skyColorCal + checkBox -e -ann "Enables or disables the color calibration" SColorCal; + floatSliderGrp -e -ann "Sets the contrast value of the texture" SContrast; + floatSliderGrp -e -ann "Sets the contrastBias value of the texture" SContrastB; + floatSliderGrp -e -ann "Sets the hue value of the texture" SHue; + floatSliderGrp -e -ann "Sets the saturation value of the texture" SSat; + floatSliderGrp -e -ann "Sets the gamma value of the texture" SGam; + checkBox -e -ann "Freezes the color calibration by deleting the color calibration nodes" SFrCol; + + // ground int + floatSliderGrp -e -ann "Set a plain color or drag a texture into it" groundCol; + textFieldGrp -e -ann "The color statuts shows the status: Solid Color, Texture2d / Texture3d, or Frozen" GColStat; + floatSliderGrp -e -ann "Sky intensity: adjust it to modify the intensity of the skyLight lighting" GroundInt; + + if (`floatSliderGrp -ex GConeAngle` == 1) + { + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" GConeAngle; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" GPenumbra; + floatSliderGrp -e -ann "Common spotlight attribute: for more infos, please refer to Maya's doc" GDropOff; + } + + checkBox -e -ann "Click me to link the ground intensity to the sky intensity" linkSkyInt; + floatSliderGrp -e -ann "Sets the multiplicator value of the sky intensity: a value of 0.5 will give half of the skyIntensity" GrIntMult; + + // special + checkBox -e -ann "Click me to hide the groundLights (not deleted)" HideGr; + checkBox -e -ann "Delete the whole groundLights and its UI attributes. NOT UNDOABLE!!" DelGr; + + // ground opt + floatSliderGrp -e -ann "Adjust this threshold to set the minimum level of luminance used for the optimization" GLumT; + radioButtonGrp -e -ann "Sets here if you want to optimize the shadows (selected light.castShadows OFF) or the lights (deletion)" gi_Gopt; + button -e -ann "Click me to perform the optimization (Note: the lights to be optimized have to be selected)" GDoOpt; + checkBox -e -ann "Freezing the lighting will remove the shading nodes necessary to get the color from the texture, but the light will still emit the correct color" GFreeze; + + // ground shadows + radioButtonGrp -e -ann "Shadows On or Off?? You decide!!" GShadOnOff; + floatSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" gi_GshadCol; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GReUseDmap; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapFS; + intSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapRes; + floatSliderGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapBias; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GUseMidDist; + checkBox -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GAutoFocOnOff; + intFieldGrp -e -ann "Common shadow attribute: for more infos, please refer to Maya's doc" GDmapWF; + + // groundColorCal + checkBox -e -ann "Enables or disables the color calibration" GColorCal; + floatSliderGrp -e -ann "Sets the contrast value of the texture" GContrast; + floatSliderGrp -e -ann "Sets the contrastBias value of the texture" GContrastB; + floatSliderGrp -e -ann "Sets the hue value of the texture" GHue; + floatSliderGrp -e -ann "Sets the saturation value of the texture" GSat; + floatSliderGrp -e -ann "Sets the gamma value of the texture" GGam; + checkBox -e -ann "" GFrCol; + + // bake + checkBox -e -ann "Enables or not the bakeShader" bakeOnOff; + floatSliderGrp -e -ann "Sets here the color of the baked 'light' color" gi_BakShadCol1; + floatSliderGrp -e -ann "Sets here the color of the baked 'shadow' color" gi_BakShadCol2; + floatSliderGrp -e -ann "Sets here the multiplicator value of the sum of all 'lights.lightShadowFraction'" BakDensity; + floatSliderGrp -e -ann "Sets the contrast value of the 'light' & 'shadow' colors" BakCon; + floatSliderGrp -e -ann "Sets the contrastBias value of the 'light' & 'shadow' colors" BakeConB; + intSliderGrp -e -ann "Sets here the minimum resolution of the baked texture" BakMinRes; + intSliderGrp -e -ann "Sets here the maximum resolution of the baked texture" BakMaxRes; + optionMenuGrp -e -ann "Select here the output file format of the baked shadows files. Formats available: Maya IFF, Jpeg JPG, Targa TGA, Tiff TIF and Windows BMP" FF; + textFieldGrp -e -ann "Sets here the name of the baked directory where the baked texture will be stored" gi_outputShadDir; + checkBox -e -ann "Sets the Preview mode ON or OFF. The preview mode doesn't bake the shadows. It displays the bake infos in the scriptEditor" BakePr; + button -e -ann "Click me to bake all the textures of the objects the bakeShader is assigned to" bakAll; + button -e -ann "Click me to retrieve the baked textures" bakeGetFil; + } + else + { + // Gal + button -e -ann "" delGIJ; + button -e -ann "" shadClean; + button -e -ann "" shadCleanA; + checkBox -e -ann "" giHelp; + + // sky int + floatSliderGrp -e -ann "" skyCol; + textFieldGrp -e -ann "" SColStat; + floatSliderGrp -e -ann "" SkyInt; + if (`floatSliderGrp -ex GConeAngle` == 1) + { + floatSliderGrp -e -ann "" SConeAngle; + floatSliderGrp -e -ann "" SPenumbra; + floatSliderGrp -e -ann "" SDropOff; + } + radioButtonGrp -e -ann "" skySpec; + floatSliderGrp -e -ann "" SSpecT; + floatSliderGrp -e -ann "" SmultBoost; + + // sky HDRI + checkBox -e -ann "" HDR; + intSliderGrp -e -ann "" HDRint; + intSliderGrp -e -ann "" HDRPow; + floatSliderGrp -e -ann "" HDRGam; + + // sky opt + floatSliderGrp -e -ann "" SLumT; + radioButtonGrp -e -ann "" gi_Sopt; + button -e -ann "" SDoOpt; + checkBox -e -ann "" SFreeze; + + // sky shadows + radioButtonGrp -e -ann "" SshadowsOnOff; + checkBox -e -ann "" SReUseDmap; + intSliderGrp -e -ann "" SDmapFS; + intSliderGrp -e -ann "" SDmapRes; + floatSliderGrp -e -ann "" SDmapBias; + checkBox -e -ann "" SUseMidDist; + checkBox -e -ann "" SAutoFocOnOff; + intFieldGrp -e -ann "" SDmapWF; + + // skyColorCal + checkBox -e -ann "" SColorCal; + floatSliderGrp -e -ann "" SContrast; + floatSliderGrp -e -ann "" SContrastB; + floatSliderGrp -e -ann "" SHue; + floatSliderGrp -e -ann "" SSat; + floatSliderGrp -e -ann "" SGam; + + // ground int + floatSliderGrp -e -ann "" groundCol; + textFieldGrp -e -ann "" GColStat; + floatSliderGrp -e -ann "" GroundInt; + if (`floatSliderGrp -ex GConeAngle` == 1) + { + floatSliderGrp -e -ann "" GConeAngle; + floatSliderGrp -e -ann "" GPenumbra; + floatSliderGrp -e -ann "" GDropOff; + } + checkBox -e -ann "" linkSkyInt; + floatSliderGrp -e -ann "" GrIntMult; + + // special + checkBox -e -ann "" HideGr; + checkBox -e -ann "" DelGr; + + // ground opt + floatSliderGrp -e -ann "" GLumT; + radioButtonGrp -e -ann "" gi_Gopt; + button -e -ann "" GDoOpt; + checkBox -e -ann "" GFreeze; + + // ground shadows + radioButtonGrp -e -ann "" GShadOnOff; + floatSliderGrp -e -ann "" gi_GshadCol; + checkBox -e -ann "" GReUseDmap; + intSliderGrp -e -ann "" GDmapFS; + intSliderGrp -e -ann "" GDmapRes; + floatSliderGrp -e -ann "" GDmapBias; + checkBox -e -ann "" GUseMidDist; + checkBox -e -ann "" GAutoFocOnOff; + intFieldGrp -e -ann "" GDmapWF; + + // groundColorCal + checkBox -e -ann "" GColorCal; + floatSliderGrp -e -ann "" GContrast; + floatSliderGrp -e -ann "" GContrastB; + floatSliderGrp -e -ann "" GHue; + floatSliderGrp -e -ann "" GSat; + floatSliderGrp -e -ann "" GGam; + + // bake + checkBox -e -ann "" bakeOnOff; + floatSliderGrp -e -ann "" gi_BakShadCol1; + floatSliderGrp -e -ann "" gi_BakShadCol2; + floatSliderGrp -e -ann "" BakDensity; + floatSliderGrp -e -ann "" BakCon; + floatSliderGrp -e -ann "" BakeConB; + intSliderGrp -e -ann "" BakMinRes; + intSliderGrp -e -ann "" BakMaxRes; + optionMenuGrp -e -ann "" FF; + textFieldGrp -e -ann "" gi_outputShadDir; + checkBox -e -ann "" BakePr; + button -e -ann "" bakAll; + button -e -ann "" bakeGetFil; + } +} + +// LIGHT ATTRIBUTES + +global proc gi_SkyInt() +{ + string $lights[] = `ls "skyLightShape*"`; + float $intensity = `floatSliderGrp -q -v SkyInt`; + float $mult = `floatSliderGrp -q -v SmultBoost`; + int $numLs = `getAttr GIJoe_group.numLs`; + float $newInt; + if ($numLs == "16") + $newInt = $intensity; + if ($numLs == "64") + $newInt = $intensity / 4; + if ($numLs == "256") + $newInt = $intensity / 16; + for ($inc in $lights) + { + if (`getAttr ($inc + ".emitSpecular")` == 1) + setAttr ($inc + ".intensity") ($newInt * $mult); + else + setAttr ($inc + ".intensity") $newInt; + } + setAttr GIJoe_group.SkyInt $intensity; + setAttr GIJoe_group.MultHigh $mult; + + int $link = `checkBox -q -v linkSkyInt`; + if ($link == 1) + { + string $lights[] = `ls "groundLightShape*"`; + float $Mult = `floatSliderGrp -q -v GrIntMult`; + + for ($inc in $lights) + setAttr ($inc + ".intensity") ($newInt * $Mult); + } +} + +global proc gi_GroundInt() +{ + string $lights[] = `ls "groundLightShape*"`; + float $intensity = `floatSliderGrp -q -v GroundInt`; + float $newInt; + int $numLg = `getAttr GIJoe_group.numLg`; + if ($numLg == "16") + $newInt = $intensity; + if ($numLg == "64") + $newInt = $intensity / 4; + setAttr GIJoe_group.GrInt $intensity; + for ($inc in $lights) + setAttr ($inc + ".intensity") $newInt; +} + +global proc gi_linkSkyInt() +{ + string $lights[] = `ls "groundLightShape*"`; + int $link = `checkBox -q -v linkSkyInt`; + setAttr GIJoe_group.linkSky $link; + if ($link == 1) + { + floatSliderGrp -edit -en 1 GrIntMult; + float $skyInt = `floatSliderGrp -q -v SkyInt`; + floatSliderGrp -edit -v $skyInt GroundInt; + float $mult = `floatSliderGrp -q -v GrIntMult`; + floatSliderGrp -edit -en 0 GroundInt; + int $testSpot = `floatSliderGrp -ex GConeAngle`; + if ( $testSpot == 1) + { + floatSliderGrp -edit -en 0 GConeAngle; + floatSliderGrp -edit -en 0 GPenumbra; + floatSliderGrp -edit -en 0 GDropOff; + } + for ($inc in $lights) + setAttr ($inc + ".intensity") ($skyInt * $mult); + } + else + { + floatSliderGrp -edit -en 0 GrIntMult; + floatSliderGrp -edit -en 1 GroundInt; + string $lights[] = `ls "groundLightShape*"`; + float $intensity = `floatSliderGrp -q -v GroundInt`; + for ($inc in $lights) + setAttr ($inc + ".intensity") $intensity; + + int $testSpot = `floatSliderGrp -ex GConeAngle`; + if ($testSpot == 1) + { + floatSliderGrp -edit -en 1 GConeAngle; + floatSliderGrp -edit -en 1 GPenumbra; + floatSliderGrp -edit -en 1 GDropOff; + } + } +} + +global proc gi_GrIntMult() +{ + string $lights[] = `ls "groundLightShape*"`; + float $mult = `floatSliderGrp -q -v GrIntMult`; + setAttr GIJoe_group.linkMult $mult; + float $sint = `floatSliderGrp -q -v SkyInt`; + for ($inc in $lights) + setAttr ($inc + ".intensity") ($sint * $mult); +} + +// SPOT ATTR + +global proc gi_SConeAngle() +{ + string $lights[] = `ls "skyLightShape*"`; + float $coneAngle = `floatSliderGrp -q -v SConeAngle`; + setAttr GIJoe_group.SConeAngle $coneAngle; + for ($inc in $lights) + setAttr ($inc + ".coneAngle") $coneAngle; +} + +global proc gi_GConeAngle() +{ + string $lights[] = `ls "groundLightShape*"`; + float $coneAngle = `floatSliderGrp -q -v GConeAngle`; + setAttr GIJoe_group.GConeAngle $coneAngle; + for ($inc in $lights) + setAttr ($inc + ".coneAngle") $coneAngle; +} + +global proc gi_SPenumbra() +{ + string $lights[] = `ls "skyLightShape*"`; + float $penumbra = `floatSliderGrp -q -v SPenumbra`; + setAttr GIJoe_group.SPenumbra $penumbra; + for ($inc in $lights) + setAttr ($inc + ".penumbraAngle") $penumbra; +} + +global proc gi_GPenumbra() +{ + string $lights[] = `ls "groundLightShape*"`; + float $penumbra = `floatSliderGrp -q -v GPenumbra`; + setAttr GIJoe_group.GPenumbra $penumbra; + for ($inc in $lights) + setAttr ($inc + ".penumbraAngle") $penumbra; +} + +global proc gi_SDropOff() +{ + string $lights[] = `ls "skyLightShape*"`; + float $dropOff = `floatSliderGrp -q -v SDropOff`; + setAttr GIJoe_group.SDropOff $dropOff; + for ($inc in $lights) + setAttr ($inc + ".dropoff") $dropOff; +} + +global proc gi_GDropOff() +{ + string $lights[] = `ls "groundLightShape*"`; + float $dropOff = `floatSliderGrp -q -v GDropOff`; + setAttr GIJoe_group.GDropOff $dropOff; + for ($inc in $lights) + setAttr ($inc + ".dropoff") $dropOff; +} + +// HDRI fake + +global proc gi_HDR() +{ + int $hdr = `checkBox -q -v HDR`; + string $skytex[] = `listConnections -d 0 -s 1 GIJoe_group.skyColor`; + + if ((`objExists "HDR_ramp"` == 1) && ($hdr == 0)) + { + intSliderGrp -e -en 0 -v 1 HDRint; + intSliderGrp -e -en 0 -v 200 HDRPow; + floatSliderGrp -e -en 0 -v 0.1 HDRGam; + deleteAttr GIJoe_group.HDR; + deleteAttr GIJoe_group.HDRInt; + deleteAttr GIJoe_group.HDRPow; + deleteAttr GIJoe_group.HDRGam; + delete "HDR_shader" "HDR_shaderSG" "HDR_texture" "HDR_ramp" "HDR_limit" "HDR_gamma" "HDR_Hsv" "HDR_Surface"; + return; + } + + if (`size $skytex[0]` == 0) + { + warning "Please set a texture to the skyColor to perform HDRI fake!!"; + checkBox -e -v 0 HDR; + intSliderGrp -e -en 0 HDRint; + intSliderGrp -e -en 0 HDRPow; + floatSliderGrp -e -en 0 HDRGam; + return; + } + + int $specTest = `radioButtonGrp -q -select skySpec`; + if ($specTest == 0) + { + warning "Please set Specular to On to perform HDRI fake"; + checkBox -e -v 0 HDR; + intSliderGrp -e -en 0 HDRint; + intSliderGrp -e -en 0 HDRPow; + floatSliderGrp -e -en 0 HDRGam; + return; + } + + if ($hdr == 1) + { + intSliderGrp -e -en 1 HDRint; + intSliderGrp -e -en 1 HDRPow; + floatSliderGrp -e -en 1 HDRGam; + int $HDRint = `intSliderGrp -q -v HDRint`; + int $HDRPow = `intSliderGrp -q -v HDRPow`; + float $HDRGam = `floatSliderGrp -q -v HDRGam`; + if (`attributeExists "HDRInt" GIJoe_group` == 0) + { + addAttr -ln HDR -at bool GIJoe_group; + addAttr -ln HDRInt -at time GIJoe_group; + setAttr GIJoe_group.HDR 1; + setAttr GIJoe_group.HDRInt $HDRint; + addAttr -ln HDRPow -at time GIJoe_group; + setAttr GIJoe_group.HDRPow $HDRPow; + addAttr -ln HDRGam -at time GIJoe_group; + setAttr GIJoe_group.HDRGam $HDRGam; + } + else + { + setAttr GIJoe_group.HDR 1; + setAttr GIJoe_group.HDRInt $HDRint; + setAttr GIJoe_group.HDRPow $HDRPow; + setAttr GIJoe_group.HDRGam $HDRGam; + } + } + + // HDR surface + + string $dup_Surf[] = `duplicate "domeSurface"`; + string $HDR_Surf = `rename $dup_Surf[0] "HDR_Surface"`; + setAttr ($HDR_Surf + ".explicitTessellationAttributes") 1; + setAttr ($HDR_Surf + ".numberU") 20; + setAttr ($HDR_Surf + ".numberV") 20; + setAttr ($HDR_Surf + ".primaryVisibility") 0; + + float $sca[] = `getAttr "domeSurface.scale"`; + float $HDRSca[]; + $HDRSca[0] = $sca[0] * .95; + $HDRSca[1] = $sca[1] * .95; + $HDRSca[2] = $sca[2] * .95; + setAttr ($HDR_Surf + ".scale") -type double3 $HDRSca[0] $HDRSca[1] $HDRSca[2]; + + // Surface's shader + + string $HDR_shader = `shadingNode -as blinn -n "HDR_shader"`; + setAttr ($HDR_shader + ".transparency") -type double3 1 1 1; + setAttr ($HDR_shader + ".specularRollOff") 1; + setAttr ($HDR_shader + ".eccentricity") 1; + setAttr ($HDR_shader + ".reflectivity") 0; + + // HDR texture shading nodes + + string $skytex[] = `listConnections -d 0 -s 1 GIJoe_group.skyColor`; + string $tex[] = `duplicate -ic $skytex[0]`; + string $HDR_tex = `rename $tex[0] "HDR_texture"`; + + string $HDRRp1 = `shadingNode -at ramp -n HDR_limit`; + string $HDRGam = `shadingNode -au gammaCorrect -n HDR_gamma`; + string $HDRRamp = `shadingNode -at ramp -n HDR_ramp`; + string $HDRHsv = `shadingNode -au rgbToHsv -n HDR_Hsv`; + + removeMultiInstance -break true ($HDRRp1 + ".colorEntryList[2]"); + setAttr ($HDRRp1 + ".colorEntryList[1].color") -type double3 1 1 1; + setAttr ($HDRRp1 + ".colorEntryList[1].position") 0.525; + setAttr ($HDRRp1 + ".colorEntryList[0].color") -type double3 0 0 0; + setAttr ($HDRRp1 + ".colorEntryList[0].position") 0.4; + setAttr ($HDRRp1 + ".interpolation") 4; + + removeMultiInstance -break true ($HDRRamp + ".colorEntryList[1]"); + setAttr ($HDRRamp + ".colorEntryList[2].color") -type double3 1 1 1; + setAttr ($HDRRamp + ".colorEntryList[0].color") -type double3 0 0 0; + setAttr ($HDRRamp + ".colorEntryList[2].position") 1; + setAttr ($HDRRamp + ".interpolation") 2; + setAttr ($HDRGam + ".gamma") -type double3 0.1 0.1 0.1; + connectAttr ($HDR_tex + ".outColor") ($HDRHsv + ".inRgb"); + connectAttr ($HDRHsv + ".outHsvH") ($HDRRamp + ".uCoord"); + connectAttr ($HDRHsv + ".outHsvV") ($HDRRamp + ".vCoord"); + connectAttr ($HDR_tex + ".outColor") ($HDRRamp + ".colorGain"); + connectAttr ($HDRRamp + ".outColor") ($HDRGam + ".value"); + connectAttr ($HDRGam + ".outValue") ($HDR_shader + ".specularColor"); + connectAttr ($HDRRp1 + ".outColor") ($HDR_tex + ".colorGain"); + + connectAttr GIJoe_group.HDRPow ($HDR_shader + ".reflectionSpecularity"); + + select $HDR_Surf; + hyperShade -a $HDR_shader; + + gi_HDRint; +} + + +global proc gi_HDRint() // specular rolloff value +{ + int $HDRint = `intSliderGrp -q -v HDRint`; + setAttr GIJoe_group.HDRInt $HDRint; + setAttr HDR_shader.specularRollOff $HDRint; +} + + +global proc gi_HDRPow() +{ + int $HDRpow = `intSliderGrp -q -v HDRPow`; + setAttr GIJoe_group.HDRPow $HDRpow; +} + +global proc gi_HDRGam() +{ + float $HDRGam = `floatSliderGrp -q -v HDRGam`; + setAttr GIJoe_group.HDRGam $HDRGam; + setAttr HDR_gamma.gamma -type double3 $HDRGam $HDRGam $HDRGam; +} + + +// SKY SPECIAL + +global proc gi_SRand() +{ + string $lightsS[] = `ls "skyLightShape*"`; + + int $randMin = `intFieldGrp -q -v1 SshadRand`; + int $randMax =` intFieldGrp -q -v2 SshadRand`; + + for ($inc in $lightsS) + { + string $Light[] = `listRelatives -p $inc`; + if (`nodeType $inc` == "directionalLight") + { + float $rotaX = `getAttr ($Light[0] + ".rotateX")`; + float $rotaY = `getAttr ($Light[0] + ".rotateY")`; + float $rotaZ = `getAttr ($Light[0] + ".rotateZ")`; + + $rotaX = (rand ($randMin, $randMax) + $rotaX); + $rotaY = (rand ($randMin, $randMax) + $rotaY); + $rotaZ = (rand ($randMin, $randMax) + $rotaZ); + + setAttr ($Light[0]+ ".rotateX") $rotaX; + setAttr ($Light[0]+ ".rotateY") $rotaY; + setAttr ($Light[0]+ ".rotateZ") $rotaZ; + } + else + { + float $traX = `getAttr ($Light[0] + ".translateX")`; + float $traY = `getAttr ($Light[0] + ".translateY")`; + float $traZ = `getAttr ($Light[0] + ".translateZ")`; + + $traX = (rand ($randMin, $randMax) + $traX); + $traY = (rand ($randMin, $randMax) + $traY); + $traZ = (rand ($randMin, $randMax) + $traZ); + + setAttr ($Light[0]+ ".translateX") $traX; + setAttr ($Light[0]+ ".translateY") $traY; + setAttr ($Light[0]+ ".translateZ") $traZ; + } + } +} + +// SPECULAR FEATURES + +global proc gi_specOn() +{ + string $lights[] = `ls "skyLightShape*"`; + for ($inc in $lights) + setAttr ($inc + ".emitSpecular") 1; + + setAttr GIJoe_group.SkySpec 1; + floatSliderGrp -e -en 1 SSpecT; + floatSliderGrp -e -en 1 SmultBoost; + gi_SSpecT; +} + +global proc gi_specOff() +{ + string $lights[] = `ls "skyLightShape*"`; + for ($inc in $lights) + setAttr ($inc + ".emitSpecular") 0; + + floatSliderGrp -e -en 0 -v 0 SSpecT; + floatSliderGrp -e -en 0 -v 1 SmultBoost; + + setAttr GIJoe_group.SkySpec 2; + + string $testHDR[] = `ls "DRLight*"`; + if (`size $testHDR` > 0) + { + delete "DRLight*"; + checkBox -e -v 0 DR; + floatSliderGrp -e -en -0 -v 0.1 DRint; + intSliderGrp -e -en 0 DRPow; + floatSliderGrp -e -en 0 DRGam; + deleteAttr GIJoe_group.DR; + deleteAttr GIJoe_group.DRInt; + deleteAttr GIJoe_group.DRPow; + deleteAttr GIJoe_group.DRGam; + delete "DR_shader" "DRS_texture" "DR_ramp" "DR_gamma" "DR_Hsv" "DR_Surface"; + } +} + +global proc gi_SSpecT() +{ + float $TresSpec = `floatSliderGrp -q -v SSpecT`; + string $lights[] = `ls "skyLightShape*"`; + int $specOn = `radioButtonGrp -q -select skySpec`; + + setAttr GIJoe_group.SpecTres $TresSpec; + select -cl; + + if ($specOn == 1) + { + for ($inc in $lights) + { + setAttr ($inc + ".emitSpecular") 0; + float $lumR = `getAttr ($inc + ".colorR")`; + float $lumG = `getAttr ($inc + ".colorG")`; + float $lumB = `getAttr ($inc + ".colorB")`; + + float $lum = (0.3 * $lumR) + (0.59 * $lumG) + (0.11 * $lumB); + + if ($lum < $TresSpec) + setAttr ($inc + ".emitSpecular") 0; + else + { + setAttr ($inc + ".emitSpecular") 1; + select -add $inc; + } + } + + //for ($inc in $lights) + //{ + // if (`getAttr ($inc + ".emitSpecular")` == 1) + // select -add $inc; + //} + + string $DRL[] = `ls "DRLight*"`; + if (`size $DRL` > 0) + gi_DR; + } + + else + return; +} + +// SHADOWS + +global proc gi_clean() +{ + string $ppath = `workspace -q -rd`; + string $bdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $shadDir = `pwd`; + string $scN = `file -q -sn`; + string $scene[]; + string $sceneName[]; + tokenize $scN "/" $scene; + tokenize $scene[`size $scene`-1] "." $sceneName; + system ("del " + $sceneName[0] + "*"); + print ("Scene lights maps deleted!!\n"); +} + +global proc gi_cleanAll() +{ + string $ppath = `workspace -q -rd`; + string $bdir = `chdir ($ppath + "/renderData/GIJoe_shadows")`; + string $shadDir = `pwd`; + system "del /Q *.*"; + print ("All lights maps deleted!!\n"); +} + +global proc gi_SshadowsOn() +{ + string $lights[] = `ls "skyLightShape*"`; + setAttr GIJoe_group.SShado 1; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 1; +} + +global proc gi_SshadowsOff() +{ + string $lights[] = `ls "skyLightShape*"`; + setAttr GIJoe_group.SShado 2; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; +} + +global proc gi_GshadowsOn() +{ + string $lights[] = `ls "groundLightShape*"`; + setAttr GIJoe_group.GShado 1; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 1; +} + +global proc gi_GshadowsOff() +{ + string $lights[] = `ls "groundLightShape*"`; + setAttr GIJoe_group.GShado 2; + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; +} + +global proc gi_SReUseDmap() +{ + string $lights[] = `ls "skyLightShape*"`; + int $reuse = `checkBox -q -v SReUseDmap`; + for ($inc in $lights) + setAttr ($inc + ".reuseDmap") $reuse; +} + +global proc gi_GReUseDmap() +{ + string $lights[] = `ls "groundLightShape*"`; + int $reuse = `checkBox -q -v GReUseDmap`; + for ($inc in $lights) + setAttr ($inc + ".reuseDmap") $reuse; +} + +global proc gi_SDmapFS() +{ + string $lights[] = `ls "skyLightShape*"`; + int $fs = `intSliderGrp -q -v SDmapFS`; + for ($inc in $lights) + setAttr ($inc + ".dmapFilterSize") $fs; +} + +global proc gi_GDmapFS() +{ + string $lights[] = `ls "groundLightShape*"`; + int $fs = `intSliderGrp -q -v GDmapFS`; + for ($inc in $lights) + setAttr ($inc + ".dmapFilterSize") $fs; +} + +global proc gi_SDmapRes() +{ + string $lights[] = `ls "skyLightShape*"`; + int $res = `intSliderGrp -q -v SDmapRes`; + for ($inc in $lights) + setAttr ($inc + ".dmapResolution") $res; + + gi_updateShadowsNames; +} + +global proc gi_GDmapRes() +{ + string $lights[] = `ls "groundLightShape*"`; + int $res = `intSliderGrp -q -v GDmapRes`; + for ($inc in $lights) + setAttr ($inc + ".dmapResolution") $res; + + gi_updateShadowsNames; +} + +global proc gi_SDmapBias() +{ + string $lights[] = `ls "skyLightShape*"`; + float $bias = `floatSliderGrp -q -v SDmapBias`; + for ($inc in $lights) + setAttr ($inc + ".dmapBias") $bias; +} + +global proc gi_GDmapBias() +{ + string $lights[] = `ls "groundLightShape*"`; + float $bias = `floatSliderGrp -q -v GDmapBias`; + for ($inc in $lights) + setAttr ($inc + ".dmapBias") $bias; +} + +global proc gi_SUseMidDist() +{ + string $lights[] = `ls "skyLightShape*"`; + int $midDist = `checkBox -q -v SUseMidDist`; + for ($inc in $lights) + setAttr ($inc + ".useMidDistDmap") $midDist; +} + +global proc gi_GUseMidDist() +{ + string $lights[] = `ls "groundLightShape*"`; + int $midDist = `checkBox -q -v GUseMidDist`; + for ($inc in $lights) + setAttr ($inc + ".useMidDistDmap") $midDist; +} + +global proc gi_SAutoFocOnOff() +{ + string $lights[] = `ls "skyLightShape*"`; + int $autoF = `checkBox -q -v SAutoFocOnOff`; + if ($autoF == 1) + { + intFieldGrp -edit -en 0 SDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } + else if ($autoF == 0) + { + intFieldGrp -edit -en 1 SDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } +} + +global proc gi_GAutoFocOnOff() +{ + string $lights[] = `ls "groundLightShape*"`; + int $autoF = `checkBox -q -v GAutoFocOnOff`; + if ($autoF == 1) + { + intFieldGrp -edit -en 0 GDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } + else if ($autoF == 0) + { + intFieldGrp -edit -en 1 GDmapWF; + for ($inc in $lights) + setAttr ($inc + ".useDmapAutoFocus") $autoF; + } +} + +global proc gi_SDmapWF() +{ + string $lights[] = `ls "skyLightShape*"`; + int $wf = `intFieldGrp -q -v1 SDmapWF`; + for ($inc in $lights) + setAttr ($inc + ".dmapWidthFocus") $wf; +} + +global proc gi_GDmapWF() +{ + string $lights[] = `ls "groundLightShape*"`; + int $wf = `intFieldGrp -q -v1 GDmapWF`; + for ($inc in $lights) + setAttr ($inc + ".dmapWidthFocus") $wf; +} + +// SKY COLOR CALIBRATION + +global proc gi_SColorCal() +{ + int $scolCal = `checkBox -q -v SColorCal`; + string $stat = `textFieldGrp -q -tx SColStat`; + string $sTex[] = `listConnections -d off -s on GIJoe_group.skyColor`; + + if (`size $sTex` == 0) + { + warning "No texture plugged into skyColor!!\n"; + checkBox -edit -v 0 SColorCal; + return; + } + else if ($stat == "Frozen") + { + warning "The sky lighting is frozen. Please disconnect and reconnect the texture to calibrate it"; + checkBox -edit -v 0 SColorCal; + return; + } + + string $texSky[] = `ls ("skyTex*")`; + + if (($scolCal == 1) && (`size $texSky` > 0)) + { + addAttr -ln SCon -at time GIJoe_group; + addAttr -ln SConB -at time GIJoe_group; + addAttr -ln SHue -at time GIJoe_group; + addAttr -ln SSat -at time GIJoe_group; + addAttr -ln SGam -at time GIJoe_group; + setAttr GIJoe_group.SColCal 1; + + floatSliderGrp -edit -en 1 SContrast; + floatSliderGrp -edit -en 1 SContrastB; + floatSliderGrp -edit -en 1 SHue; + floatSliderGrp -edit -en 1 SSat; + floatSliderGrp -edit -en 1 SGam; + checkBox -e -en 1 SFrCol; + + // creating nodes + + int $num = 0; + string $lights[] = `ls "skyLightShape*"`; + + for ($inc in $lights) + { + string $rgb2Hsv = `shadingNode -au rgbToHsv -n skyRgb2Hsv1`; + string $mult = `shadingNode -au multiplyDivide -n skyMult1`; + string $hsv2Rgb = `shadingNode -au hsvToRgb -n skyHsv2Rgb1`; + string $contrast = `shadingNode -au contrast -n skyContrast1`; + setAttr ($contrast + ".contrast") 1 1 1; + string $gamma = `shadingNode -au gammaCorrect -n skyGamma1`; + + connectAttr -f ($texSky[$num] + ".outColor") ($rgb2Hsv + ".inRgb"); + connectAttr -f ($rgb2Hsv + ".outHsv") ($mult + ".input1"); + connectAttr -f ($mult + ".output") ($hsv2Rgb + ".inHsv"); + connectAttr -f ($hsv2Rgb + ".outRgb") ($contrast + ".value"); + connectAttr -f ($contrast + ".outValue") ($gamma + ".value"); + connectAttr -f ($gamma + ".outValue") ($inc + ".color"); + $num++; + } + + connectAttr -f "skyMult1.input2X" GIJoe_group.SHue; + connectAttr -f "skyMult1.input2Y" GIJoe_group.SSat; + connectAttr -f "skyContrast1.contrastX" GIJoe_group.SCon; + connectAttr -f "skyContrast1.biasX" GIJoe_group.SConB; + connectAttr -f "skyGamma1.gammaX" GIJoe_group.SGam; + } + else if ($scolCal == 0) + { + floatSliderGrp -edit -v 1 SContrast; + floatSliderGrp -edit -v 0.5 SContrastB; + floatSliderGrp -edit -v 1 SHue; + floatSliderGrp -edit -v 1 SSat; + floatSliderGrp -edit -v 1 SGam; + + floatSliderGrp -edit -en 0 SContrast; + floatSliderGrp -edit -en 0 SContrastB; + floatSliderGrp -edit -en 0 SHue; + floatSliderGrp -edit -en 0 SSat; + floatSliderGrp -edit -en 0 SGam; + checkBox -e -en 0 SFrCol; + + deleteAttr GIJoe_group.SCon; + deleteAttr GIJoe_group.SConB; + deleteAttr GIJoe_group.SHue; + deleteAttr GIJoe_group.SSat; + deleteAttr GIJoe_group.SGam; + + setAttr GIJoe_group.SColCal 0; + + string $lights[] = `ls "skyLightShape*"`; + int $num = 0; + for ($inc in $lights) + { + connectAttr -f ($texSky[$num] + ".outColor") ($inc + ".color"); + $num++; + } + + if (`objExists "skyRgb2Hsv1"` == 1) + delete "skyRgb2Hsv*" "skyMult*" "skyHsv2Rgb*" "skyGamma*" "skyContrast*"; + } +} + +global proc gi_SContrast() +{ + float $scon = `floatSliderGrp -q -v SContrast`; + string $conNode[] = `ls "skyContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".contrastX") $scon; + setAttr ($inc + ".contrastY") $scon; + setAttr ($inc + ".contrastZ") $scon; + } +} + +global proc gi_SContrastB() +{ + float $sconB = `floatSliderGrp -q -v SContrastB`; + string $conNode[] = `ls "skyContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".biasX") $sconB; + setAttr ($inc + ".biasY") $sconB; + setAttr ($inc + ".biasZ") $sconB; + } +} + +global proc gi_SHue() +{ + float $shue = `floatSliderGrp -q -v SHue`; + string $multNode[] = `ls "skyMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2X") $shue; +} + +global proc gi_SSat() +{ + float $sSat = `floatSliderGrp -q -v SSat`; + string $multNode[] = `ls "skyMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2Y") $sSat; +} + +global proc gi_SGam() +{ + float $sGam = `floatSliderGrp -q -v SGam`; + string $conNode[] = `ls "skyGamma*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".gammaX") $sGam; + setAttr ($inc + ".gammaY") $sGam; + setAttr ($inc + ".gammaZ") $sGam; + } +} + +global proc gi_SFrCol() +{ + string $lights[] = `ls "skyLightShape*"`; + float $colL[]; + + for ($inc in $lights) + { + $colL = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $colL[0] $colL[1] $colL[2]; + } + + delete "skyRgb2Hsv*" "skyMult*" "skyHsv2Rgb*" "skyGamma*" "skyContrast*"; + + deleteAttr GIJoe_group.SCon; + deleteAttr GIJoe_group.SConB; + deleteAttr GIJoe_group.SHue; + deleteAttr GIJoe_group.SSat; + deleteAttr GIJoe_group.SGam; + + floatSliderGrp -edit -v 1 SContrast; + floatSliderGrp -edit -v 0.5 SContrastB; + floatSliderGrp -edit -v 1 SHue; + floatSliderGrp -edit -v 1 SSat; + floatSliderGrp -edit -v 1 SGam; + + floatSliderGrp -edit -en 0 SContrast; + floatSliderGrp -edit -en 0 SContrastB; + floatSliderGrp -edit -en 0 SHue; + floatSliderGrp -edit -en 0 SSat; + floatSliderGrp -edit -en 0 SGam; + checkBox -e -en 0 -v 0 SFrCol; + checkBox -e -v 0 SColorCal; + + textFieldGrp -e -tx "Frozen" SColStat; + setAttr GIJoe_group.SColCal 0; + + delete "skyTex*" "sky_SR*" "cposSky*"; +} + + +// GROUND COLOR CALIBRATION + +global proc gi_GColorCal() +{ + int $gcolCal = `checkBox -q -v GColorCal`; + string $stat = `textFieldGrp -q -tx GColStat`; + string $gTex[] = `listConnections -d off -s on GIJoe_group.groundColor`; + + if (`size $gTex` == 0) + { + warning "No texture plugged into groundColor!!\n"; + checkBox -edit -v 0 GColorCal; + return; + } + else if ($stat == "Frozen") + { + warning "The ground lighting is frozen. Please disconnect and reconnect the texture to calibrate it"; + checkBox -edit -v 0 GColorCal; + return; + } + + string $texGround[] = `ls ("groundTex*")`; + + if (($gcolCal == 1) && (`size $texGround` > 0)) + { + addAttr -ln GCon -at time GIJoe_group; + addAttr -ln GConB -at time GIJoe_group; + addAttr -ln GHue -at time GIJoe_group; + addAttr -ln GSat -at time GIJoe_group; + addAttr -ln GGam -at time GIJoe_group; + setAttr GIJoe_group.GColCal 1; + + floatSliderGrp -edit -en 1 GContrast; + floatSliderGrp -edit -en 1 GContrastB; + floatSliderGrp -edit -en 1 GHue; + floatSliderGrp -edit -en 1 GSat; + floatSliderGrp -edit -en 1 GGam; + checkBox -e -en 1 GFrCol; + + // creating nodes + + int $num = 0; + string $lights[] = `ls "groundLightShape*"`; + + for ($inc in $lights) + { + string $rgb2Hsv = `shadingNode -au rgbToHsv -n groundRgb2Hsv1`; + string $mult = `shadingNode -au multiplyDivide -n groundMult1`; + string $hsv2Rgb = `shadingNode -au hsvToRgb -n groundHsv2Rgb1`; + string $contrast = `shadingNode -au contrast -n groundContrast1`; + setAttr ($contrast + ".contrast") 1 1 1; + string $gamma = `shadingNode -au gammaCorrect -n groundGamma1`; + + connectAttr -f ($texGround[$num] + ".outColor") ($rgb2Hsv + ".inRgb"); + connectAttr -f ($rgb2Hsv + ".outHsv") ($mult + ".input1"); + connectAttr -f ($mult + ".output") ($hsv2Rgb + ".inHsv"); + connectAttr -f ($hsv2Rgb + ".outRgb") ($contrast + ".value"); + connectAttr -f ($contrast + ".outValue") ($gamma + ".value"); + connectAttr -f ($gamma + ".outValue") ($inc + ".color"); + $num++; + } + + connectAttr -f "groundMult1.input2X" GIJoe_group.GHue; + connectAttr -f "groundMult1.input2Y" GIJoe_group.GSat; + connectAttr -f "groundContrast1.contrastX" GIJoe_group.GCon; + connectAttr -f "groundContrast1.biasX" GIJoe_group.GConB; + connectAttr -f "groundGamma1.gammaX" GIJoe_group.GGam; + } + else if ($gcolCal == 0) + { + floatSliderGrp -edit -en 0 -v 1 GContrast; + floatSliderGrp -edit -en 0 -v 0.5 GContrastB; + floatSliderGrp -edit -en 0 -v 1 GHue; + floatSliderGrp -edit -en 0 -v 1 GSat; + floatSliderGrp -edit -en 0 -v 1 GGam; + checkBox -e -en 0 GFrCol; + + deleteAttr GIJoe_group.GCon; + deleteAttr GIJoe_group.GConB; + deleteAttr GIJoe_group.GHue; + deleteAttr GIJoe_group.GSat; + deleteAttr GIJoe_group.GGam; + + string $lights[] = `ls "groundLightShape*"`; + int $num = 0; + for ($inc in $lights) + { + connectAttr -f ($texGround[$num] + ".outColor") ($inc + ".color"); + $num++; + } + + if (`objExists "groundRgb2Hsv1"` == 1) + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; + } +} + +global proc gi_GContrast() +{ + float $gcon = `floatSliderGrp -q -v GContrast`; + string $conNode[] = `ls "groundContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".contrastX") $gcon; + setAttr ($inc + ".contrastY") $gcon; + setAttr ($inc + ".contrastZ") $gcon; + } +} + +global proc gi_GContrastB() +{ + float $gconB = `floatSliderGrp -q -v GContrastB`; + string $conNode[] = `ls "groundContrast*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".biasX") $gconB; + setAttr ($inc + ".biasY") $gconB; + setAttr ($inc + ".biasZ") $gconB; + } +} + +global proc gi_GHue() +{ + float $ghue = `floatSliderGrp -q -v GHue`; + string $multNode[] = `ls "groundMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2X") $ghue; +} + +global proc gi_GSat() +{ + float $gSat = `floatSliderGrp -q -v GSat`; + string $multNode[] = `ls "groundMult*"`; + for ($inc in $multNode) + setAttr ($inc + ".input2Y") $gSat; +} + +global proc gi_GGam() +{ + float $gGam = `floatSliderGrp -q -v GGam`; + string $conNode[] = `ls "groundGamma*"`; + for ($inc in $conNode) + { + setAttr ($inc + ".gammaX") $gGam; + setAttr ($inc + ".gammaY") $gGam; + setAttr ($inc + ".gammaZ") $gGam; + } +} + +global proc gi_GFrCol() +{ + string $lights[] = `ls "groundLightShape*"`; + for ($inc in $lights) + { + float $lcol[] = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $lcol[0] $lcol[1] $lcol[2]; + } + + delete "groundRgb2Hsv*" "groundMult*" "groundHsv2Rgb*" "groundGamma*" "groundContrast*"; + deleteAttr GIJoe_group.GCon; + deleteAttr GIJoe_group.GConB; + deleteAttr GIJoe_group.GHue; + deleteAttr GIJoe_group.GSat; + deleteAttr GIJoe_group.GGam; + + floatSliderGrp -edit -en 0 -v 1 GContrast; + floatSliderGrp -edit -en 0 -v 0.5 GContrastB; + floatSliderGrp -edit -en 0 -v 1 GHue; + floatSliderGrp -edit -en 0 -v 1 GSat; + floatSliderGrp -edit -en 0 -v 1 GGam; + checkBox -e -en 0 -v 0 GFrCol; + checkBox -e -v 0 GColorCal; + + delete "groundTex*" "ground_SR*" "cposGround*"; + + textFieldGrp -e -tx "Frozen" GColStat; + setAttr GIJoe_group.GColCal 0; +} + +// OPTIMISATION + +global proc gi_SLumT() +{ + float $lumSTres = `floatSliderGrp -q -v SLumT`; + setAttr GIJoe_group.LumTres $lumSTres; + int $optShad = `radioButtonGrp -q -sl gi_Sopt`; + setAttr GIJoe_group.ShadOptType $optShad; + + string $texCon[] = `listConnections -s 1 -d 0 GIJoe_group.skyColor`; + if (`size $texCon` == 0) + { + textFieldGrp -edit -text "Optimize needs a texture!!" SOptResult; + return; + } + + string $lights[] = `ls "skyLightShape*"`; + select -cl; + int $numL; + + for ($inc in $lights) + { + float $lintR = `getAttr ($inc + ".colorR")`; + float $lintG = `getAttr ($inc + ".colorG")`; + float $lintB = `getAttr ($inc + ".colorB")`; + float $lint = (0.3 * $lintR) + (0.59 * $lintG) + (0.11 * $lintB); + if ($lint < $lumSTres) + { + select -add $inc; + $numL++; + } + } + + string $lightOpt[] = `ls -sl`; + int $sizeL = `size $lightOpt`; + int $sl = `size $lights`; + textFieldGrp -edit -text ("Selected lights (" + $sizeL + ") of " + $sl + " will be optimized") SOptResult; +} + +global proc gi_SDoOpt() +{ + int $optShad = `radioButtonGrp -q -sl gi_Sopt`; + + string $lights[] = `ls -sl`; + string $preLights[] = `ls "skyLightShape*"`; + for ($inc in $preLights) + setAttr ($inc + ".useDepthMapShadows") 1; + + if (`match "skyLightShape[0-9]+" $lights[0]` != $lights[0]) + { + textFieldGrp -edit -text "Lights to be optimized have to be selected!!" SOptResult; + return; + } + if ($optShad == 1) + { + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; + + textFieldGrp -edit -text "Shadows optimized!!" SOptResult; + } + else + { + for ($inc in $lights) + { + string $T[] = `listRelatives -p $inc`; + delete $T; + } + textFieldGrp -edit -text "Lights optimized!!" SOptResult; + } +} + +global proc gi_GLumT() +{ + float $lumGTres = `floatSliderGrp -q -v GLumT`; + setAttr GIJoe_group.GLumT $lumGTres; + int $optShad = `radioButtonGrp -q -sl gi_Gopt`; + setAttr GIJoe_group.GShadOptType $optShad; + + string $texCon[] = `listConnections -s 1 -d 0 GIJoe_group.groundColor`; + if (`size $texCon` == 0) + { + textFieldGrp -edit -text "Optimize needs a texture!!" GOptResult; + return; + } + + string $lights[] = `ls "groundLightShape*"`; + select -cl; + int $numL; + + for ($inc in $lights) + { + float $lintR = `getAttr ($inc + ".colorR")`; + float $lintG = `getAttr ($inc + ".colorG")`; + float $lintB = `getAttr ($inc + ".colorB")`; + float $lint = (0.3 * $lintR) + (0.59 * $lintG) + (0.11 * $lintB); + if ($lint < $lumGTres) + { + select -add $inc; + $numL++; + } + } + + string $lightOpt[] = `ls -sl`; + int $sizeL = `size $lightOpt`; + int $sl = `size $lights`; + textFieldGrp -edit -text ("Selected lights (" + $sizeL + ") of " + $sl + " will be optimized") GOptResult; +} + +global proc gi_GDoOpt() +{ + int $optShad = `radioButtonGrp -q -sl gi_Gopt`; + string $lights[] = `ls -sl`; + if (`match "groundLightShape[0-9]+" $lights[0]` != $lights[0]) + { + textFieldGrp -edit -text "Lights to be optimized have to be selected!!" GOptResult; + return; + } + if ($optShad == 1) + { + + for ($inc in $lights) + setAttr ($inc + ".useDepthMapShadows") 0; + + textFieldGrp -edit -text "Shadows optimized!!" GOptResult; + } + else + { + for ($inc in $lights) + { + string $T[] = `listRelatives -p $inc`; + delete $T; + } + textFieldGrp -edit -text "Lights optimized!!" GOptResult; + } +} + +// BAKE CONTROLS + +global proc gi_BakDensity() +{ + float $bakden = `floatSliderGrp -q -v BakDensity`; + setAttr GIJoe_group.bden $bakden; + setAttr "bake_sr.maxX" $bakden; +} + +global proc gi_BakeCon() +{ + float $bakCon = `floatSliderGrp -q -v BakCon`; + setAttr GIJoe_group.bcon $bakCon; + setAttr "bc_contrast.contrastX" $bakCon; +} + +global proc gi_BakConBias() +{ + float $bakConB = `floatSliderGrp -q -v BakeConB`; + setAttr GIJoe_group.bconb $bakConB; + setAttr "bc_contrast.biasX" $bakConB; +} + +global proc gi_mres() +{ + int $mres = `intSliderGrp -q -v BakMinRes`; + setAttr GIJoe_group.mres $mres; +} + +global proc gi_Mres() +{ + int $Mres = `intSliderGrp -q -v BakMaxRes`; + setAttr GIJoe_group.Mres $Mres; +} + +global proc gi_bdir() +{ + string $bdir = `textFieldGrp -q -tx gi_outputShadDir`; + setAttr -type "string" GIJoe_group.bdir $bdir; +} + + +// Freeze + +global proc gi_Sfreeze() +{ + int $test = `checkBox -q -v SFreeze`; + string $stat = `textFieldGrp -q -tx SColStat`; + if (($test == 1) && ($stat == "Frozen")) + { + warning "The sky lighting is already frozen"; + checkBox -e -v 0 SFreeze; + return; + } + + if ($test == 1) + { + string $texTest[] = `listConnections -s 1 -d 0 GIJoe_group.skyColor`; + string $sTex[] = `ls "skyTex*"`; + + if (`size $texTest` == 0) + { + warning "No texture plugged in sky! Stopped!!"; + checkBox -e -v 0 SFreeze; + return; + } + + string $lights[] = `ls "skyLightShape*"`; + for ($inc in $lights) + { + float $lcol[] = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $lcol[0] $lcol[1] $lcol[2]; + } + delete "cposSky*" "sky_SR*" "skyTex*"; + checkBox -e -v 0 SFreeze; + textFieldGrp -e -tx "Frozen" SColStat; + } + else + return; +} + +global proc gi_Gfreeze() +{ + int $test = `checkBox -q -v GFreeze`; + string $stat = `textFieldGrp -q -tx GColStat`; + if (($test == 1) && ($stat == "Frozen")) + { + warning "The ground lighting is already frozen"; + checkBox -e -v 0 GFreeze; + return; + } + if ($test == 1) + { + string $texTest[] = `listConnections -s 1 -d 0 GIJoe_group.groundColor`; + if (`size $texTest` == 0) + { + warning "No texture plugged in ground! Stopped!!"; + checkBox -e -v 0 GFreeze; + return; + } + + string $lights[] = `ls "groundLightShape*"`; + for ($inc in $lights) + { + float $lcol[] = `getAttr ($inc + ".color")`; + string $con = `connectionInfo -sfd ($inc + ".color")`; + disconnectAttr $con ($inc + ".color"); + setAttr ($inc + ".color") $lcol[0] $lcol[1] $lcol[2]; + } + delete "cposGround*" "ground_SR*" "groundTex*"; + checkBox -e -v 0 GFreeze; + textFieldGrp -e -tx "Frozen" GColStat; + } + else + return; +} diff --git a/2009-x64/MiscScripts/scripts/HKLocalTools.mel b/2009-x64/MiscScripts/scripts/HKLocalTools.mel new file mode 100644 index 0000000..aea4f69 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/HKLocalTools.mel @@ -0,0 +1,1835 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: Local Tools +'' Author: +'' Last Updated: Jan 22, 2007 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/3717.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//Author: Henry Korol +//henrykorol@yahoo.com + +// Version 1.0 + + +// This is a main script file, place it in your user setup directory, +// then call it from maya by typing "HKLocalTools;", or typing that to your userPrefs file. + +// For full documentation refer to this online doc: http://www.henrykorol.com/Scripts/LocalTools/LTDocIntroduction.htm + +global proc HKLocalTools() +{ + global int $HKLTHudBlock, $HKLTToolOn, $HKLTScriptJobID = 22222222, $HKLTScriptJobToolChangeID = 111111111, $HKLTSceneOpenScriptJob, $HKLTOptionOrientationOnly, $HKLTPivotLocked; + global int $HKLTScriptJob, $HKLTScriptJobRedo, $HKLTSnappingScriptJob; + global float $HKLTTValue, $HKLTPivotSettings[6]; + + if ( `optionVar -ex HKLTOrientationOnlyOpVar`) + $HKLTOptionOrientationOnly = `optionVar -q HKLTOrientationOnlyOpVar`; + else + { + optionVar -iv HKLTOrientationOnlyOpVar 0; + $HKLTOptionOrientationOnly = 0; + } + if ( `optionVar -ex HKLTPivotLockedOpVar`) + $HKLTPivotLocked = `optionVar -q HKLTPivotLockedOpVar`; + else + { + optionVar -iv HKLTPivotLockedOpVar 0; + $HKLTPivotLocked = 0; + } + + if ( ! `optionVar -ex HKLTHUDBlock`) + { + $HKLTHudBlock = 9; + optionVar -iv HKLTHUDBlock 9; + } + else + $HKLTHudBlock = `optionVar -q HKLTHUDBlock`; + + + if( $HKLTScriptJob == 0 ) + $HKLTScriptJob = `scriptJob -cu 1 -permanent -e "Undo" "HKLTUndoSetup()"`; + if ( $HKLTSnappingScriptJob == 0 ) + $HKLTSnappingScriptJob = `scriptJob -cu 1 -permanent -e "snapModeChanged" "HKLTSFSnappingFix()"`; + if ( $HKLTSceneOpenScriptJob == 0 ) + $HKLTSceneOpenScriptJob = `scriptJob -permanent -e "SceneOpened" "HKLTFixerCleanUp()"`; + + $HKLTToolOn = 0; +} + +global proc HKLTHUDPosition( int $Block ) +{ + global int $HKLTHudBlock; + optionVar -iv HKLTHUDBlock $Block; + $HKLTHudBlock = $Block; + HKLTOperateHUD(1); +} + + if ( ! `optionVar -ex HKLTPreferedPivot`) + { + optionVar -iva HKLTPreferedPivot 1; + optionVar -iva HKLTPreferedPivot 1; + optionVar -iva HKLTPreferedPivot 1; + optionVar -iva HKLTPreferedPivot 1; + } + +global proc HKLTSetTheOptionVarArrayVar( int $index, int $Value ) +{ + $ValArray = `optionVar -q HKLTPreferedPivot`; + optionVar -ca HKLTPreferedPivot; + for ( $i = 0; $i < 4; $i ++ ) + { + if( $i != $index ) + optionVar -iva HKLTPreferedPivot $ValArray[$i]; + else + optionVar -iva HKLTPreferedPivot $Value; + } +} + +global proc HKLTReadMenuSelection( string $UIName, int $index ) +{ + $Val = `optionMenuGrp -q -v $UIName`; + int $Pref; + if ( $Val == "Point") + $Pref = 0; + else if ( $Val == "Edge") + $Pref = 1; + else if ( $Val == "Face") + $Pref = 2; + else if ( $Val == "Object") + $Pref = 3; + HKLTSetTheOptionVarArrayVar( $index, $Pref ); +} + +global proc HKLTOptionBox() +{ +global int $HKLTToolOn, $HKLTScriptJobID, $HKLTScriptJobToolChangeID, $HKLTOptionOrientationOnly, $HKLTPivotLocked; +global int $HKLTScriptJob, $HKLTScriptJobRedo, $HKLTSnappingScriptJob; +if( `window -ex HKLocalToolOptionsWindow` ) + deleteUI HKLocalToolOptionsWindow; + window -wh 433 274 -t "LocalTool Options:" HKLocalToolOptionsWindow; + formLayout HKMForm; + columnLayout HKMMainCol; + frameLayout -l "Main" -cll 1 -bs "etchedIn" -w 400 HKMFrame; + columnLayout -rs 3; + checkBox -ann "Determines whether both position and orientation of the pivot should be used or orientation only for the manipulators. Could be changed at any time." + -v $HKLTOptionOrientationOnly -l "Use Pivot Orientation Only" -cc "HKLTCBOrientationOnlyToggle" HKLTWOrientationOnlyCB; + checkBox -v $HKLTPivotLocked -l "Pivot lock" -cc "HKLTCBLockPivotToggle" HKLTWLockPivotCB; + //button -l "Bake to Object"; + setParent ..; + + setParent ..; + frameLayout -l "Preferred component setup for the reference" -cc "window -e -h 155 HKLocalToolOptionsWindow;" -ec "window -e -h 274 HKLocalToolOptionsWindow;" -cll 1 -bs "etchedIn" -w 400 HKMFrame1; + //columnLayout -rs 3; + gridLayout -nc 2 -cw 100 -ch 23 ; + + text -l " Object type" -fn boldLabelFont; + text -l "Preferred pivot" -fn boldLabelFont; + $PivotSettings = `optionVar -q HKLTPreferedPivot`; + + text -l " Transform"; + optionMenuGrp -cc "HKLTReadMenuSelection( \"HKLTTransformPivotMenu\", 0 );" HKLTTransformPivotMenu; + menuItem -label "Point"; + menuItem -label "Edge"; + menuItem -label "Face"; + menuItem -label "Object"; + optionMenuGrp -e -sl ($PivotSettings[0]+1) HKLTTransformPivotMenu; + + text -l " Vertex"; + optionMenuGrp -cc "HKLTReadMenuSelection( \"HKLTVertexPivotMenu\", 1 );" HKLTVertexPivotMenu ; + menuItem -label "Point"; + menuItem -label "Edge"; + menuItem -label "Face"; + menuItem -label "Object"; + optionMenuGrp -e -sl ($PivotSettings[1]+1) HKLTVertexPivotMenu; + text -l " Edge"; + optionMenuGrp -cc "HKLTReadMenuSelection( \"HKLTEdgePivotMenu\", 2 );" HKLTEdgePivotMenu; + menuItem -label "Point"; + menuItem -label "Edge"; + menuItem -label "Face"; + menuItem -label "Object"; + optionMenuGrp -e -sl ($PivotSettings[2]+1) HKLTEdgePivotMenu; + + text -l " Face"; + optionMenuGrp -cc "HKLTReadMenuSelection( \"HKLFacePivotMenu\", 3 );" HKLFacePivotMenu; + menuItem -label "Point"; + menuItem -label "Edge"; + menuItem -label "Face"; + menuItem -label "Object"; + optionMenuGrp -e -sl ($PivotSettings[3]+1) HKLFacePivotMenu; + setParent ..; + setParent ..; + setParent ..; + button -l " Take reference " -c "HKLTMainButtonProc()" -h 27 -p HKMForm HKLTEnterToolBut; + button -l " Bake to Object " -c "HKLTBakeToObject();" -h 27 -p HKMForm HKLTLockPivtBut; + button -l " Close " -c "deleteUI HKLocalToolOptionsWindow;" -h 27 -p HKMForm HKLTCloseBut; + formLayout -e + -af HKLTEnterToolBut bottom 5 + -af HKLTEnterToolBut left 3 + -ap HKLTEnterToolBut right 2 33 + -af HKLTLockPivtBut bottom 5 + -ap HKLTLockPivtBut left 2 33 + -ap HKLTLockPivtBut right 2 66 + -af HKLTCloseBut right 3 + -af HKLTCloseBut bottom 5 + -ac HKLTCloseBut left 5 HKLTLockPivtBut + -ac HKMMainCol bottom 3 HKLTEnterToolBut + -af HKMMainCol top 3 + -af HKMMainCol left 3 + -af HKMMainCol right 3 + HKMForm; + + showWindow; +} + +global proc HKLTMainButtonProc() +{ + if (`getModifiers` == 4 ) + HKLTEnd(); + else if (`getModifiers` != 4 ) + HKLocalToolsAction(); +} + +global proc HKLocalToolsAction() +{ + global int $HKLTPivotLocked; + $CS = `ls -sl`; + if ( size ( $CS ) > 0 ) + { + if ( ! $HKLTPivotLocked ) + { + HKMoveComps(0); + } + else if ( $HKLTPivotLocked ) + { + $HKLTPivotLocked = 0; + HKMoveComps(0); + $HKLTPivotLocked = 1; + } + } + else + warning "Haha, nothing selected!"; +} + +global proc HKLTCBLockPivotToggle() +{ + global int $HKLTPivotLocked; + if ( $HKLTPivotLocked == 1 ) // on - turning off + { + if ( `checkBox -ex HKLTWLockPivotCB`) + checkBox -e -v 0 HKLTWLockPivotCB; + if (`headsUpDisplay -ex HKLTHUD`) + if ( `getApplicationVersionAsFloat` >= 7 ) + hudButton -e -l "LT" -bw 35 HKLTHUD; + else + headsUpDisplay -e -l "Local Tool" HKLTHUD; + $HKLTPivotLocked = 0; + } + else if ( $HKLTPivotLocked == 0 )// turning on + { + if ( `checkBox -ex HKLTWLockPivotCB`) + checkBox -e -v 1 HKLTWLockPivotCB; + if (`headsUpDisplay -ex HKLTHUD`) + if ( `getApplicationVersionAsFloat` >= 7 ) + hudButton -e -l "LT Locked" -bw 75 HKLTHUD; + else + headsUpDisplay -e -l "Pivot Locked" HKLTHUD; + $HKLTPivotLocked = 1; + } + optionVar -iv HKLTPivotLockedOpVar $HKLTPivotLocked; +} + +global proc HKLTHUDCommand() +{ + if (`getModifiers` != 4 && `getModifiers` != 1){ + HKLTCBLockPivotToggle(); + } + else if (`getModifiers` == 1 ){ + HKLTEnd(); + } + else{ + HKLTOptionBox(); + } +} + +global proc HKLTOperateHUD( int $mode ) +{ + // 1 - create, 0 - delete + global int $HKLTPivotLocked, $HKLTHudBlock; + if( `headsUpDisplay -ex HKLTHUD`) + headsUpDisplay -rem HKLTHUD; + if( $mode == 1 ) + { + if ( `getApplicationVersionAsFloat` >= 7 ) // version 7 and higher + { + if ( $HKLTPivotLocked == 1 ) + hudButton -s 5 -b $HKLTHudBlock -vis 1 -l "LT Locked" -bw 75 -bsh "roundRectangle" -rc "HKLTHUDCommand" HKLTHUD; + else if ( $HKLTPivotLocked == 0) + hudButton -s 5 -b $HKLTHudBlock -vis 1 -l "LT" -bw 35 -bsh "roundRectangle" -rc "HKLTHUDCommand" HKLTHUD; + } + else + { + if ( $HKLTPivotLocked == 1 ) + headsUpDisplay -s 5 -b $HKLTHudBlock -l "Pivot Locked" HKLTHUD; + else if ( $HKLTPivotLocked == 0 ) + headsUpDisplay -s 5 -b $HKLTHudBlock -l "Local Tool" HKLTHUD; + } + } +} + + + +global proc HKLTCBOrientationOnlyToggle() +{ + global int $HKLTOptionOrientationOnly, $HKLTScriptJobID; + global string $HKMovedComps[], $HKMovedObjects[], $ShapeName[]; + global float $HKLTPivotSettings[]; + $State = `checkBox -q -v HKLTWOrientationOnlyCB`; + $HKLTOptionOrientationOnly = $State; + optionVar -iv HKLTOrientationOnlyOpVar $HKLTOptionOrientationOnly; + if( `objExists LocalToolReference`) + { + + if ( `scriptJob -ex $HKLTScriptJobID`) + scriptJob -f -kill $HKLTScriptJobID; + undoInfo -swf 0; + if( $HKLTOptionOrientationOnly == 1 ) + { + select -r $HKMovedObjects; + select -add $HKMovedComps; + $Coord = HKGetSelectionCenter(); + xform -ws -piv $Coord[0] $Coord[1] $Coord[2] LocalToolReference; + if( size ($HKMovedComps) > 0 ) + { + hilite $ShapeName; + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + } + if( size ($HKMovedObjects) > 0 ) + { + select -d $HKMovedObjects; + } + select -add LocalToolReference; + } + else if( $HKLTOptionOrientationOnly == 0 ) + { + xform -ws -piv $HKLTPivotSettings[6] $HKLTPivotSettings[7] $HKLTPivotSettings[8] LocalToolReference; + } + undoInfo -swf 1; + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + // print Done; + } +} + +global proc HKLTBakeToObject() +{ + global int $HKLTPivotLocked, $HKLTScriptJobID, $HKLTOptionOrientationOnly; + if ( `objExists LocalToolReference`) + { + float $Rot[3] = `xform -q -ro LocalToolReference`; + float $Piv[3] = `xform -ws -q -piv LocalToolReference`; + + if ( $HKLTPivotLocked ) + HKLTCBLockPivotToggle(); + + if( `scriptJob -ex $HKLTScriptJobID` ) + scriptJob -f -kill $HKLTScriptJobID; + HKMCCleanUp(0,0); + + global string $HKMovedComps[], $HKMovedObjects[]; + string $Hilite[]; + clear $Hilite; + if( `size $HKMovedComps` > 0 ) + $Hilite = `ls -hl -fl`; + for ( $cur in $HKMovedObjects ) + $Hilite[ (`size $Hilite`) ] = $cur; + + select -clear; + for ( $currentObj in $Hilite ) + { + $Parent = `listRelatives -p -typ "transform" $currentObj`; + if( `size $Parent` > 0 ) + parent -w $currentObj; + $Children = `listRelatives -typ "transform" $currentObj`; + if( `size $Children` > 0 ) + parent -w $Children; + + if ( size (`filterExpand -sm 12 -sm 68 -sm 9 -sm 11 -sm 10 $currentObj`) > 0) // geomery + { + makeIdentity -apply 1 -t 0 -r 1 -s 0 -n 0 $currentObj; + if ( `getAttr ( $currentObj + ".ro" )` != 0 ) + setAttr ( $currentObj + ".ro" ) 0; + float $P[3] = `xform -ws -q -rp $currentObj`; + xform -a -ws -ro $Rot[0] $Rot[1] $Rot[2] $currentObj; + + string $Comps; + if( size (`filterExpand -sm 12 $currentObj`) > 0) + $Comps = ($currentObj+".vtx[*]"); + + else if( size (`filterExpand -sm 68 $currentObj`) > 0) + $Comps = ($currentObj+".smp[*][*]"); + + else if( size (`filterExpand -sm 9 -sm 11 $currentObj`) > 0) + $Comps = ($currentObj + ".cv[*]"); + + else if( size (`filterExpand -sm 10 $currentObj`) > 0) + $Comps = ($currentObj + ".cv[*][*]"); + + rotate -r -p $P[0] $P[1] $P[2] 0 0 (-$Rot[2]) $Comps; + rotate -r -p $P[0] $P[1] $P[2] 0 (-$Rot[1]) 0 $Comps; + rotate -r -p $P[0] $P[1] $P[2] (-$Rot[0]) 0 0 $Comps; + if ( $HKLTOptionOrientationOnly == 0) + xform -ws -piv $Piv[0] $Piv[1] $Piv[2] $currentObj; + } + else + { + $Shape = `listRelatives -s -ni $currentObj`; + if( `nodeType $Shape[0]` == "clusterHandle" || `nodeType $Shape[0]` == "softModHandle" ) // clusters + { + $T = `xform -q -ws -t $currentObj`; + $S = `xform -q -r -s $currentObj`; + spaceLocator -n HKBakeTMP; + xform -ws -t 0 0 0$currentObj; + xform -s 1 1 1 $currentObj; + if( `nodeType $Shape[0]` == "clusterHandle" ) + cluster -e -bs 1 -wn HKBakeTMP HKBakeTMP $Shape[0]; + else + softMod -e -bs 1 -wn HKBakeTMP HKBakeTMP $Shape[0]; + xform -ro $Rot[0] $Rot[1] $Rot[2] $currentObj; + + if( `nodeType $Shape[0]` == "clusterHandle" ) + cluster -bs 1 -e -wn $currentObj $currentObj $Shape[0]; + else + softMod -bs 1 -e -wn $currentObj $currentObj $Shape[0]; + xform -ws -t $T[0] $T[1] $T[2] $currentObj; + xform -s $S[0] $S[1] $S[2] $currentObj; + if( $HKLTOptionOrientationOnly == 0) + xform -ws -piv $Piv[0] $Piv[1] $Piv[2] $currentObj; + + delete HKBakeTMP; + } + else // other transforms + { + xform -ro $Rot[0] $Rot[1] $Rot[2] $currentObj; + if ( $HKLTOptionOrientationOnly == 0) + xform -ws -piv $Piv[0] $Piv[1] $Piv[2] $currentObj; + if ( `getAttr ( $currentObj + ".ro" )` != 0 ) + warning ("The rotation order on the object is incorrect, uncorrect results may occur. Object: "+$currentObj); + } + } + + if( `size $Children` > 0 ) + parent $Children $currentObj; + if( `size $Parent` > 0 ) + parent $currentObj $Parent[0]; + + } + + select -r $Hilite; + print "Baked successfully!"; + } + else + warning "No effect. No active reference for the tool at the moment. "; +} + +global proc HKLTWriteVariables() +{ + if( `objExists LocalToolReference`) + { + global string $HKLTParents[], $HKMovedObjects[], $HKLTTweakName[], $HKMCClusterName; + // creating the attribute/setting it's value + if ( `attributeQuery -n LocalToolReference -ex "Parents"` ) + deleteAttr LocalToolReference.Parents; + addAttr -s 1 -dt "string" -ln "Parents" -m LocalToolReference; + + if ( `attributeQuery -n LocalToolReference -ex "Objects"` ) + deleteAttr LocalToolReference.Objects; + addAttr -s 1 -dt "string" -ln "Objects" -m LocalToolReference; + + if ( `attributeQuery -n LocalToolReference -ex "Tweak"` ) + deleteAttr LocalToolReference.Tweak; + addAttr -s 1 -dt "string" -ln "Tweak" -m LocalToolReference; + + if ( `attributeQuery -n LocalToolReference -ex "ClusterName"` ) + deleteAttr LocalToolReference.ClusterName; + addAttr -s 1 -dt "string" -ln "ClusterName" LocalToolReference; + + + for ( $i = 0; $i < `size $HKLTParents`; $i++) + setAttr ("LocalToolReference.Parents["+$i+"]") -type "string" $HKLTParents[$i]; + for ( $i = 0; $i < `size $HKMovedObjects`; $i++) + setAttr ("LocalToolReference.Objects["+$i+"]") -type "string" $HKMovedObjects[$i]; + for ( $i = 0; $i < `size $HKLTTweakName`; $i++) + setAttr ("LocalToolReference.Tweak["+$i+"]") -type "string" $HKLTTweakName[$i]; + setAttr ("LocalToolReference.ClusterName") -type "string" $HKMCClusterName; + } +} + +global proc HKLTReadVariables() +{ + global string $HKLTParents[], $HKMovedObjects[], $HKLTTweakName[], $HKMCClusterName; + // reading the attribute/setting value to the variable + if ( `attributeQuery -n LocalToolReference -ex "Parents"` ) + { + clear $HKLTParents; + $length = `getAttr -s LocalToolReference.Parents`; + for ( $i = 0; $i < $length; $i++) + $HKLTParents[$i] = `getAttr ("LocalToolReference.Parents["+$i+"]")`; + + clear $HKMovedObjects; + $length = `getAttr -s LocalToolReference.Objects`; + for ( $i = 0; $i < $length; $i++) + $HKMovedObjects[$i] = `getAttr ("LocalToolReference.Objects["+$i+"]")`; + + clear $HKLTTweakName; + $length = `getAttr -s LocalToolReference.Tweak`; + for ( $i = 0; $i < $length; $i++) + $HKLTTweakName[$i] = `getAttr ("LocalToolReference.Tweak["+$i+"]")`; + + $HKMCClusterName = `getAttr ("LocalToolReference.ClusterName")`; + } +} + +//------------------------------------------------------------------------------------------------------ +global proc HKMoveComps(int $Mode) +{ + global int $HKLTToolOn, $HKLTOptionOrientationOnly, $HKLTPivotLocked; + global string $HKMCClusterName, $HKLTLastTool; + global string $HKMovedComps[], $HKMovedObjects[] , $HKLTTweakName[], $HKLTParents[]; + global int $HKLTScriptJobID; + + if ( $Mode != 1 ) + { + if(`objExists LocalToolReference`) + { + if( `scriptJob -ex $HKLTScriptJobID` ) + scriptJob -f -kill $HKLTScriptJobID; + + int $ShouldAddObjs = 0; + string $Sl[] = `ls -sl -tr`; + if ( $Sl[0] == "LocalToolReference" ) + $ShouldAddObjs = 1; + //select -d LocalToolReference; + if( ! $HKLTPivotLocked ) + HKMCCleanUp(0,1); + if( `size $HKMovedObjects` > 0 && $ShouldAddObjs ) + select -add $HKMovedObjects; + } + } + $HKLTLastTool = `currentCtx -q`; + global string $gSelect; + clear $HKLTTweakName; + if( size (`ls -hl`) > 0 ) + $HKMovedComps = `filterExpand -ex 0 -sm 31 -sm 32 -sm 34 -sm 36 -sm 37 -sm 38 -sm 28 -sm 46`; + else + clear $HKMovedComps; + $HKMovedObjects = `ls -sl -tr`; + $HKMCClusterName = ""; + if( size ( $HKMovedObjects ) == 1 ) + if ( $HKMovedObjects[0] == "LocalToolReference" ) + clear $HKMovedObjects; + $ObjSelMode = `selectMode -q -o`; + $CompSelMode = `selectMode -q -co`; + if ( $Mode == 0 ) + { + $ObjSelMode = 1; + $CompSelMode = 1; + } + + if ( size ($HKMovedComps) > 0 )//&& $CompSelMode) + { + setToolTo $gSelect; + global string $ShapeName[]; + $ShapeName = `ls -s -sl -sn -o`; + hilite $ShapeName; + $Transform = `listRelatives -p $ShapeName`; + $Vtx = `polyListComponentConversion -tv`; // add the subdiv and nurbs things + $SbdVtx = `subdListComponentConversion -tv`; + $OtherCmps = `filterExpand -sm 28 -sm 46`; + // for ( $item in $SbdVtx ) + // $Vtx[ `size $Vtx` ] = $item; + + changeSelectMode -component; + int $Shouldrecluster = 0; + $History = `listHistory -il 1 $ShapeName`; + for ( $cur in $History ) + if ( `nodeType $cur` == "tweak" ) + if ( `getAttr ($cur+".en")` > 0 ) + $Shouldrecluster = 1; + + //string $Tmp[3]; + //if( $Shouldrecluster == 0 ) + + $Tmp = `cluster -n "localTransform1" $Vtx $SbdVtx $OtherCmps`; + $History = `listHistory -il 1 -lv 2 $Tmp`; + + int $l = 1; + while( `nodeType $History[$l]` == "tweak") + { + $HKLTTweakName[`size $HKLTTweakName` ] = $History[$l]; + if (`getAttr -s ($History[$l]+".vl[0].vt")` > 0) + $Shouldrecluster = 1; + $l = $l+1; + } + + if( $Shouldrecluster ) + { + //this is the procedure in case that tweaks are loaded + + string $InstanceParents[]; int $ParentIndex[]; clear $ParentIndex; + $ParentIndex[0] = 0; + for ( $currentShape in $ShapeName ) + { + $Parents = `listRelatives -ap -ni $currentShape`; + $ParentIndex[`size $ParentIndex`] = $ParentIndex[(`size $ParentIndex`-1)]+(`size $Parents`) - 1; + } + $ParentIndex[`size $ParentIndex`] = $ParentIndex[(`size $ParentIndex`-1)] + 1; + $InstanceParents = `listRelatives -ap -ni $ShapeName`; + + // cleanuping the trash in history so that clusterization will not cause any troubles + for ( $currentTransform in $Transform ) + { + $Sp = `listRelatives -s $currentTransform`; + string $cur; + for ( $cur in $Sp ) + if( `getAttr ( $cur+".io")` == 1) + { + $DestCon = `listConnections -d 1 -s 0 -p 1 -t "shadingEngine" $cur`; + + string $DestConPair[]; clear $DestConPair; + for ( $cr in $DestCon) + { + $Con = `listConnections -d 0 -s 1 -p 1 $cr`; + $DestConPair[`size $DestConPair`] = $Con[0]; + } + for ( $con = 0; $con < (`size $DestCon`); $con++ ) + if ( `isConnected $DestConPair[$con] $DestCon[$con]` ) + disconnectAttr $DestConPair[$con] $DestCon[$con]; + } + } + + if( `objExists $Tmp[1]`) + delete $Tmp[1]; + $Shape = `listRelatives -s -ni $Transform`; + $Tmp = `cluster -af -n "localTransform1" $Vtx $SbdVtx $OtherCmps`; + $NewShape = `listRelatives -s -ni $Transform`; + + string $MeshConnections[], $MatrixConnections[], $DrawInfo[]; + + for ( $d = 0; $d < `size ( $Shape )`; $d++ ) + { + $MeshConnections = `listConnections -s 0 -d 1 -p 1 ($Shape[$d]+".outMesh")`; + $MatrixConnections = `listConnections -s 0 -d 1 -p 1 ($Shape[$d]+".worldMatrix")`; + $DrawInfo = `listConnections -s 1 -d 0 -p 1 ($Shape[$d]+".drawOverride")`; + + for ( $currentPlug in $MeshConnections ) + { + if ( !`isConnected ($NewShape[$d]+".outMesh") $currentPlug` ) + connectAttr -f ($NewShape[$d]+".outMesh") $currentPlug; + } + for ( $currentPlug in $DrawInfo ) + { + if ( !`isConnected $currentPlug ($NewShape[$d]+".drawOverride")` ) + connectAttr -f $currentPlug ($NewShape[$d]+".drawOverride"); + } + for ( $currentPlug in $MatrixConnections ) + { + if ( !`isConnected ($NewShape[$d]+".worldMatrix") $currentPlug` ) + connectAttr -f ($NewShape[$d]+".worldMatrix") $currentPlug; + } + if( `objExists $Shape[$d]` ) + rename $Shape[$d] ($Shape[$d]+"Orig"); + if( `objExists $NewShape[$d]` ) + rename $NewShape[$d] $Shape[$d]; + } + + int $count = 0; + for( $i = 0; $i < `size($Shape)`; $i++) + { + $Parents = `listRelatives -p $Shape[$i]`; + for ( $k = ($ParentIndex[$count]); $k <= $ParentIndex[$count+1]; $k++) + if ( $InstanceParents[$k] != $Parents[0] ) + parent -add -s $Shape[$i] $InstanceParents[$k]; + $count = $i+2; + } + + $History = `listHistory -il 1 -lv 2 $Tmp`; + + int $l = 1; + clear $HKLTTweakName; + while( `nodeType $History[$l]` == "tweak") + { + $HKLTTweakName[`size $HKLTTweakName` ] = $History[$l]; + //setAttr ($History[$l]+".en") 0; + $l = $l+1; + } + } + //else + if ( $Mode == 1 ) + for ( $curTweak in $HKLTTweakName ) + setAttr ($curTweak+".en") 0; + + // else add the checking the history procedure for finding tweak nodes if this is inside the thing of locked pivot- ignore + + $HKMCClusterName = $Tmp[1]; + setAttr ($HKMCClusterName+".visibility") 0; + hilite $Transform; + $ShapeName = $Transform; + + + + } + if ( size ($HKMovedObjects) > 0 ) + { + string $cur, $parents[]; + clear $HKLTParents; + for ( $cur in $HKMovedObjects ) + if ( `objExists $cur`) + { + $parents = `listRelatives -p $cur`; + if ( `size $parents` == 0) + $HKLTParents[`size $HKLTParents`] = "world"; + else + $HKLTParents[`size $HKLTParents`] = $parents[0]; + } + } + + // ------------------- handling the selection stuff + //if ( size ($HKMovedObjects) > 0 && size ($HKMovedComps) > 0 ) + //{ + if( $Mode == 0 ) + { + select -clear; + if( size ($HKMovedObjects) > 0 ) + { + changeSelectMode -component; + $Hlt = `filterExpand -ex 0 -sm 9 -sm 10 -sm 11 -sm 12 -sm 68 $HKMovedObjects`; + hilite $Hlt; + if ( `size $Hlt` == 0 ) + changeSelectMode -object; + } + $PrefComp = `optionVar -q HKLTPreferedPivot`; + + if ( size ( $HKMovedObjects ) > 0 ) + { + if ( $PrefComp[0] == 0 ) + selectType -pv 1; + else if ( $PrefComp[0] == 1 ) + selectType -pe 1; + else if ( $PrefComp[0] == 2 ) + selectType -pf 1; + else if ( $PrefComp[0] == 3 ) + changeSelectMode -object; + } + else if ( size (`filterExpand -ex 0 -sm 31 -sm 36 -sm 28 $HKMovedComps`) > 0 ) + { + if ( $PrefComp[1] == 0 ) + selectType -pv 1; + else if ( $PrefComp[1] == 1 ) + selectType -pe 1; + else if ( $PrefComp[1] == 2 ) + selectType -pf 1; + else if ( $PrefComp[1] == 3 ) + changeSelectMode -object; + } + else if ( size (`filterExpand -ex 0 -sm 32 -sm 37 $HKMovedComps`) > 0 ) + { + if ( $PrefComp[2] == 0 ) + selectType -pv 1; + else if ( $PrefComp[2] == 1 ) + selectType -pe 1; + else if ( $PrefComp[2] == 2 ) + selectType -pf 1; + else if ( $PrefComp[2] == 3 ) + changeSelectMode -object; + } + else if ( size (`filterExpand -ex 0 -sm 34 -sm 38 $HKMovedComps`) > 0 ) + { + if ( $PrefComp[3] == 0 ) + selectType -pv 1; + else if ( $PrefComp[3] == 1 ) + selectType -pe 1; + else if ( $PrefComp[3] == 2 ) + selectType -pf 1; + else if ( $PrefComp[3] == 3 ) + changeSelectMode -object; + } + select -d $HKMovedObjects; + scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKLTTakeReference();"; + print "Select the reference component/s or object/s."; + } + else if ( $Mode == 1 ) + { + select -r $HKMovedComps; + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + select -add $HKMovedObjects; + //$HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + } + + + if ( $Mode == 1) + setToolTo $HKLTLastTool; + } + +//------------------------------------------------------------------------------------------------------------------- + +global proc HKLTTakeReference() +{ + float $Pos[3]; string $EdgeVtx[]; + global string $HKMCClusterName; + global string $HKMovedComps[], $HKMovedObjects[], $HKLTTweakName[]; + global string $ShapeName[]; + global int $HKLTScriptJobID, $HKLTOptionOrientationOnly; + HKLTOperateHUD(0); + string $Pivot[] = `filterExpand -ex 1 -sm 31 -sm 32 -sm 34 -sm 36 -sm 37 -sm 38 -sm 28`; + int $TwoPts = 0; + + if ( `getModifiers` == 1 ) // + { + if( size (`filterExpand -ex 1 -sm 31 -sm 36 -sm 28` ) == 1 ) + { + print "Select another point for 2 points reference definition"; + //if( !`scriptJob -ex $HKLTScriptJobID` ) + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKLTTakeReference();"`; + $TwoPts = 1; + } + else if( size ( `ls -sl -fl -tr` ) == 1 ) + { + print "Select another obejct for 2 objects reference definition"; + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKLTTakeReference();"`; + $TwoPts = 1; + } + } + + if ( (size (`filterExpand -ex 1 -sm 31 -sm 36 -sm 28`) != 1 && size ( `ls -sl -fl -tr` ) != 1 )|| $TwoPts != 1 ) + { + //------------------- Checking the pivot for errors -------------------- + if( (size($Pivot) == 0 && size ( `ls -hl`) > 0 ) ) + { + print "Nothing selected, select a component to use as a pivot."; + scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKLTTakeReference();"; + } + else if ( size ( `ls -sl -tr`) == 0 && size ( `ls -hl`) == 0 ) + { + print "Nothing selected, select a component to use as a pivot."; + scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKLTTakeReference();"; + } + else if ( size ( `ls -hl`) > 0 || size ( `ls -sl -tr`) > 0 ) + { + string $buff[], $Hilite; + if ( size ( `ls -hl`) > 0 ) + { + $Numb = `tokenize $Pivot[0] "." $buff`; + $Hilite = $buff[0]; + } + else + { + $sl = `ls -sl -tr -fl`; + $Hilite = $sl[0]; + } + string $Shape[] = `listRelatives -s -ni $Hilite`; + if ( size ($HKMovedObjects) > 0 ) + $ShapeName[0] = $Shape[0]; + if ( `size $Shape` == 0 ) + $Shape[0] = $Hilite; + + // ------------ Deleting old reference object ------------------- + if(`objExists LocalToolReference`) + { + $Relatives = `listRelatives LocalToolReference`; + if ( `size $Relatives` > 1 ) + parent -w -a $Relatives[1]; + delete LocalToolReference; + select -r $Pivot; + } + // ******************* reference setup for pivoting *********************** + // ------------ Vertex Pivot or Multiple component Pivot ---------------- + if( (size($Pivot) > 1 || size( `filterExpand -sm 31 -sm 36 -sm 28 $Pivot`) == 1 )&& size( `filterExpand -sm 31 -sm 36 -sm 28 $Pivot`) != 2 ) + { + $Coord = HKGetSelectionCenter(); + spaceLocator -n "LocalToolReference" -p $Coord[0] $Coord[1] $Coord[2]; + xform -cp LocalToolReference; + setAttr "LocalToolReferenceShape.v" 0; + $Norm = HKGetVertexNormal($Pivot, $Shape[0]); + float $pos[3]; + $pos[0] = $Norm[0] + $Coord[0]; + $pos[1] = $Norm[1] + $Coord[1]; + $pos[2] = $Norm[2] + $Coord[2]; + + spaceLocator -n "HKTMP1" -p $pos[0] $pos[1] $pos[2]; xform -cp HKTMP1; + aimConstraint -n "HKReferenceTmpAim" HKTMP1 LocalToolReference; + delete HKTMP1; + } + // ------------- Single Edge/Face Pivot or 2 point pivot ---------------- + else if( size( `filterExpand -sm 28 -sm 32 -sm 34 -sm 37 -sm 38 $Pivot`) > 0 || size( `filterExpand -sm 28 -sm 31 -sm 36 $Pivot`) == 2 ) + { + float $Coord[3]; + $Coord = HKGetSelectionCenter(); + spaceLocator -n "LocalToolReference" -p $Coord[0] $Coord[1] $Coord[2]; + xform -cp LocalToolReference; + setAttr "LocalToolReferenceShape.v" 0; + + if( size( `filterExpand -sm 28 -sm 32 -sm 31 -sm 36 -sm 37 $Pivot`) ) + { + $EdgeVtx = `polyListComponentConversion -tv $Pivot`; + $EdgeVtx = `ls -fl $EdgeVtx`; + $SbdVtx = `subdListComponentConversion -tv $Pivot`; + $SbdVtx = `ls -fl $SbdVtx`; + if( size ( $EdgeVtx ) == 0 && size ( $SbdVtx ) > 0 ) + $EdgeVtx = $SbdVtx; + else if ( size ( $EdgeVtx ) == 0 ) + $EdgeVtx = `filterExpand -sm 28 $Pivot`; + $Pos = `pointPosition $EdgeVtx[0]`; + spaceLocator -n "HKTMP1" -p $Pos[0] $Pos[1] $Pos[2]; xform -cp HKTMP1; + $Norm = HKGetVertexNormal($Pivot, $Shape[0]); + $Constraint = `aimConstraint -n "HKReferenceTmpAim" -wu $Norm[0] $Norm[1] $Norm[2] HKTMP1 LocalToolReference`; + delete $Constraint; delete HKTMP1; + } + else + { + string $FaceEdges[],$TargetEdgeVerts[]; + $FaceEdges = `polyListComponentConversion -te $Pivot`; + if ( size ($FaceEdges) > 0 ) + { + $FaceEdges = `ls -fl $FaceEdges`; + $TargetEdgeVerts = `polyListComponentConversion -tv $FaceEdges[0]`; + } + else + { + $FaceEdges = `subdListComponentConversion -te $Pivot`; + $FaceEdges = `ls -fl $FaceEdges`; + $TargetEdgeVerts = `subdListComponentConversion -tv $FaceEdges[0]`; + } + $TargetEdgeVerts = `ls -fl $TargetEdgeVerts`; + + $TPos1 = `pointPosition $TargetEdgeVerts[0]`; $TPos2 = `pointPosition $TargetEdgeVerts[1]`; + $Pos[0] = ($TPos1[0]+ $TPos2[0])/2-$Coord[0]; + $Pos[1] = ($TPos1[1]+ $TPos2[1])/2-$Coord[1]; + $Pos[2] = ($TPos1[2]+ $TPos2[2])/2-$Coord[2]; + $Norm = HKGetVertexNormal($Pivot, $Shape[0]); + $NormalVector[0] = $Coord[0] + $Norm[0]; + $NormalVector[1] = $Coord[1] + $Norm[1]; + $NormalVector[2] = $Coord[2] + $Norm[2]; + spaceLocator -n "HKTMP1" -p $NormalVector[0] $NormalVector[1] $NormalVector[2]; xform -cp HKTMP1; + $Constraint = `aimConstraint -n "HKReferenceTmpAim" -wu $Pos[0] $Pos[1] $Pos[2] HKTMP1 LocalToolReference`; + delete $Constraint; delete HKTMP1; + } + + } + // ------------- object pivot -------------- + else if (size ( `ls -sl -tr`) > 0 && size ( `ls -sl -tr`) != 2) + { + $Transfrom = `ls -sl -tr`; + $Rot = `xform -q -ro -ws $Transfrom[0]`; + float $Coord[3]; + $Coord = HKGetSelectionCenter(); + spaceLocator -n "LocalToolReference" -p $Coord[0] $Coord[1] $Coord[2]; + xform -cp LocalToolReference; + setAttr LocalToolReference.r $Rot[0] $Rot[1] $Rot[2]; + setAttr "LocalToolReferenceShape.v" 0; + } + // -------------- 2 objects pivot ----------------- + else if( size ( `ls -sl -tr`) == 2) + { + $Transfrom = `ls -sl -tr`; + float $Coord[3]; + $Coord = HKGetSelectionCenter(); + spaceLocator -n "LocalToolReference" -p $Coord[0] $Coord[1] $Coord[2]; + xform -cp LocalToolReference; + $Constraint = `aimConstraint -n "HKReferenceTmpAim" $Transfrom[1] LocalToolReference`; + delete $Constraint; + setAttr "LocalToolReferenceShape.v" 0; + } + HKLTWriteVariables(); + + // ---------- setting up the connections between the reference and the moved objects/components. + + global float $HKLTTValue; + global float $HKLTPivotSettings[]; + float $Rot[3] = `xform -q -ro LocalToolReference`; + float $Pos[3] = `pointPosition LocalToolReference`; + float $Piv[3] = `xform -q -piv -ws LocalToolReference`; + $HKLTPivotSettings[0] = $Pos[0]; + $HKLTPivotSettings[1] = $Pos[1]; + $HKLTPivotSettings[2] = $Pos[2]; + $HKLTPivotSettings[3] = $Rot[0]; + $HKLTPivotSettings[4] = $Rot[1]; + $HKLTPivotSettings[5] = $Rot[2]; + $HKLTPivotSettings[6] = $Piv[0]; + $HKLTPivotSettings[7] = $Piv[1]; + $HKLTPivotSettings[8] = $Piv[2]; + $HKLTTValue = abs($Rot[0]) + abs($Rot[1]) + abs($Rot[2]) + abs($Pos[0]) + abs($Pos[1]) + abs($Pos[2]); + + if ( `objExists ($HKMCClusterName+"Shape")`) + { + cluster -e -bs 1 -wn LocalToolReference LocalToolReference ($HKMCClusterName+"Shape"); + xform -ro $Rot[0] $Rot[1] $Rot[2] $HKMCClusterName; + if( $HKLTOptionOrientationOnly == 0) + xform -ws -piv $Pos[0] $Pos[1] $Pos[2] $HKMCClusterName; + + cluster -bs 1 -e -wn $HKMCClusterName $HKMCClusterName ($HKMCClusterName +"Shape"); + + parent $HKMCClusterName LocalToolReference; + } + + if ( size ($HKMovedObjects) > 0 ) + { + parent $HKMovedObjects LocalToolReference; + } + + //--------------------- handling the selection and manipulators ------------------- + global string $gMove, $gRotate; + if( size (`filterExpand -sm 31 -sm 36 $HKMovedComps`)) + selectType -pv 1; + if( size (`filterExpand -sm 32 -sm 37 $HKMovedComps`)) + selectType -pe 1; + if( size (`filterExpand -sm 34 -sm 38 $HKMovedComps`)) + selectType -pf 1; + + setToolTo $gRotate; setToolTo $gMove; // adding these will prevent errors when jumping from UV editor + $MoveCtx = `superCtx -q $gMove`; + $RotateCtx = `superCtx -q $gRotate`; + global int $HKLTToolSettings[]; + + $HKLTToolSettings[0] = `manipMoveContext -q -mode $MoveCtx`; + $HKLTToolSettings[1] = `manipRotateContext -q -mode $RotateCtx`; + + if( $HKLTToolSettings[0] != 4 ) + manipMoveContext -e -mode 4 $MoveCtx; + if ( $HKLTToolSettings[1] != 0 ) + manipRotateContext -e -mode 0 $RotateCtx; + + scriptJob -cu 1 -ac "LocalToolReference.s" "HKLTScaleFix()"; + global string $HKLTLastTool; + setToolTo $HKLTLastTool; + global int $HKLTToolOn; + $HKLTToolOn = 1; + + if ( size ($HKMovedObjects) > 0 ) + changeSelectMode -object; + else + changeSelectMode -component; + + select -r $HKMovedComps; + + // ------------- handling the orientation only feature, where only the orientation is used -------- + if( $HKLTOptionOrientationOnly == 1 ) + { + select -add $HKMovedObjects; + $Coord = HKGetSelectionCenter(); + xform -ws -piv $Coord[0] $Coord[1] $Coord[2] LocalToolReference; + if( size ($HKMovedObjects) > 0 ) + select -d $HKMovedObjects; + } + + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + select -add LocalToolReference; + if ( `size $HKMovedComps` > 0 ) + for ( $cr in $ShapeName ) + if( `objExists $cr` ) + hilite $cr; + if ( size (`filterExpand -sm 37 $HKMovedComps`) > 0 )// hahaha it's a maya bug! needed to write a bug proof... + { + $length = size ( $HKMCClusterName ); + string $clusterNodeName = `substring $HKMCClusterName 1 ($length - 6)`; + setAttr ($clusterNodeName+".nodeState") 0; + } + for ( $curTweak in $HKLTTweakName ) + if ( `objExists $curTweak`) + setAttr ($curTweak+".en") 0; + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + HKLTOperateHUD(1); + } + else /// pivot selection canceled + { + + } + + } +} + +global proc HKLTEnd() +{ + global int $HKLTPivotLocked, $HKLTScriptJobID; + if ( `scriptJob -ex $HKLTScriptJobID` ) + scriptJob -f -kill $HKLTScriptJobID; + if ( ! $HKLTPivotLocked ) + { + HKMCCleanUp(0,0); + } + else if ( $HKLTPivotLocked ) + { + $HKLTPivotLocked = 0; + HKMCCleanUp(0,0); + $HKLTPivotLocked = 1; + } +} + + +global proc HKMCCleanUp(int $mode, int $allowAdd) +{ + global int $HKLTScriptJobID,$HKLTScriptJobToolChangeID, $HKLTPivotLocked, $HKLTOptionOrientationOnly; + global string $HKMCClusterName, $HKLTTweakName[], $ShapeName[], $HKMovedComps[], $HKLTParents[],$HKMovedObjects[], $gSelect; + global float $HKLTPivotSettings[]; + string $UndoState; + HKLTOperateHUD(0); + if ( $mode == 0 ) + { + if ( `scriptJob -ex $HKLTScriptJobToolChangeID` && $HKLTScriptJobToolChangeID != 0) + scriptJob -kill $HKLTScriptJobToolChangeID; + } + else if ( $mode == 1 ) + if ( `scriptJob -ex $HKLTScriptJobID` && $HKLTScriptJobID != 0) + scriptJob -kill $HKLTScriptJobID; + + string $UndoState = ""; + if ( $allowAdd ) + $UndoState = `undoInfo -q -un`; + + int $IsLastOpSelection = 0; + if ( size (` match "select" $UndoState` ) > 0 ) + $IsLastOpSelection = 1; + else + $IsLastOpSelection = 0; + int $DeleteOperationPerformed = 0; + if ( size (` match "doDelete" $UndoState` ) > 0 ) + $DeleteOperationPerformed = 1; + if ( size (` match "Duplicate" $UndoState` ) > 0 ) + { + int $HasComps = 0; + if( size ( $HKMovedComps ) > 0 ) + $HasComps = 1; + $Sl = `ls -sl -tr`; + int $count; + if( size (`match "DuplicateWithTransform" $UndoState` ) > 0 ) + { + string $Children[] = `listRelatives -c -f $Sl[0]`; + string $ChildrenShortNames[] = `listRelatives -c $Sl[0]`; + $count = 0; + for ( $i = 0; $i < `size $Children`; $i++) + { + if( `nodeType $Children[$i]` != "locator" ) + { + $Num = `match "[0-9]+" $ChildrenShortNames[$i]`; + $NumbersLength = `size $Num`; + $NameLenght = `size $ChildrenShortNames[$i]`; + $NameWithoutNumb = `substring $ChildrenShortNames[$i] 1 ($NameLenght-$NumbersLength)`; + int $Number = $Num; + $Number++; + rename $Children[$i] ($NameWithoutNumb+$Number); + } + } + } + string $Children[] = `listRelatives -c $Sl[0]`; + string $Parents[],$SelectedObjcts[]; + for ( $i = 0; $i < `size $Children`; $i++) + { + if ( size (` match "localTransform" $Children[$i]` ) == 0) + { + if( `nodeType $Children[$i]` != "locator" ) + { + if ( $HKLTParents[$count] == "world" ) + { + if ( size ( `listRelatives -p $HKMovedObjects[$count]` ) ) + { + parent -w -a $Children[$i]; + $SelectedObjcts[(`size $SelectedObjcts`) ] = $Children[$i]; + } + } + else + if (`objExists $HKLTParents[$count]`) + { + $Parents = `listRelatives -p $Children[$i]`; + if ( $Parents[$count] != $HKLTParents[$count] ) + $Res = `parent $Children[$i] $HKLTParents[$count]`; + $SelectedObjcts[(`size $SelectedObjcts`) ] = $Children[$i]; + } + $count++; + } + } + else + delete $Children[$i]; + + } + + delete $Sl; + if( $HasComps ) + { + select -add $HKMovedComps; + hilite $ShapeName; + } + //select -add $SelectedObjcts; + clear $SelectedObjcts; + + } + + + $CHilite = `ls -hl`; + string $CSel[]; clear $CSel; + if( size ($CHilite) > 0 ) + $CSel = `filterExpand -ex 0 -sm 31 -sm 32 -sm 34 -sm 36 -sm 37 -sm 38 -sm 28 -sm 46`; + + $ObjSel = `ls -sl`; + $CurTool = `currentCtx -q`; + + int $IsSacredTool = 0; + if ( $CurTool == "selectSuperContext" || $CurTool == "moveSuperContext" || $CurTool == "RotateSuperContext" + || $CurTool == "scaleSuperContext" || $CurTool == "Transform" ) + $IsSacredTool = 1; + + + $Transforms = `ls -fl -tr $ObjSel`; + int $IsTransformSelectionEmpty = 1; + if ( size( $Transforms ) > 0 ) + $IsTransformSelectionEmpty = 0; + if ( `size $Transforms ` == 1 ) + if ( $Transforms[0] == "LocalToolReference" ) + $IsTransformSelectionEmpty = 1; + //--------------------------- handle the add to selection features -------------------------------- + if ( ( `getModifiers` == 1 || `getModifiers` == 4 ) && $IsLastOpSelection && $IsTransformSelectionEmpty && $allowAdd) + { + //if( size ( $HKMovedComps ) > 0 )// ????????? + //{ + // to check which is the last operation here + + select -add ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + $CSel = `filterExpand -ex 0 -sm 31 -sm 32 -sm 34 -sm 36 -sm 37 -sm 38 -sm 28 -sm 46`; + $HKMovedComps = $CSel; + // string $AddedTransforms[] = `ls -tr $ObjSel`; + ///string $cur1; + // for ( $cur1 in $AddedTransforms ) + //if ( $cur1 != "LocalToolReference" ) + // $HKMovedObjects[ `size $HKMovedObjects` ] = $cur1; + if( $HKLTOptionOrientationOnly == 1 ) + { + select -add $ObjSel; + if( `objExists LocalToolReference`) + select -d LocalToolReference; + $Coord = HKGetSelectionCenter(); + if( `objExists LocalToolReference` ) + xform -ws -piv $Coord[0] $Coord[1] $Coord[2] LocalToolReference; + select -d (`ls -tr $ObjSel`); + + } + string $clusterNodeName; + if( $HKMCClusterName != "" ) + { + $length = size ( $HKMCClusterName ); + $clusterNodeName = `substring $HKMCClusterName 1 ($length - 6)`; + if( `objExists ($clusterNodeName+"Set")`) + { + sets -cl ($clusterNodeName+"Set"); /// add a thing that if some extrude was performed this would ignore itslef + string $addToClusterVtx[] = `polyListComponentConversion -tv $CSel`; + string $addToClusterSbdVtx[] = `subdListComponentConversion -tv $CSel`; + string $addToClusterNurbs[] = `filterExpand -sm 28 $CSel`; + if( size ( $addToClusterVtx ) > 0 || size ( $addToClusterSbdVtx ) > 0 || size ( $addToClusterNurbs ) > 0) + sets -e -add ($clusterNodeName+"Set") $addToClusterVtx $addToClusterSbdVtx $addToClusterNurbs; + + } + if( `objExists $clusterNodeName`) + $History = `listHistory -il 1 -lv 2 $clusterNodeName`; + + + clear $HKLTTweakName; + for ($cur in $History ) + { + if( `nodeType $cur` == "tweak") + { + $HKLTTweakName[`size $HKLTTweakName` ] = $cur; + setAttr ($cur+".en") 0; + } + } + } + HKLTWriteVariables(); + if( `objExists LocalToolReference`) + select -add LocalToolReference; + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + if( `objExists $clusterNodeName` ) // hahaha it's a maya bug! needed to write a bug proof... + { + setAttr ($clusterNodeName+".nodeState") 0; + } + HKLTOperateHUD(1); + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + //} + } + + // ---------------------------------------- cleanuping --------------------------------------- + else + { + int $isLocked = 0; + //if ( `objExists $HKMCClusterName`) + // $isLocked = `attributeQuery -n $HKMCClusterName -ex "locked"`; + // attributeQuery -n localTransform19Handle -ex "locked"; + string $History[]; + if( `objExists $ShapeName[0]` ) + $History = `listHistory -il 1 -lv 2 $ShapeName[0]`; + float $T, $S; + global float $HKLTTValue; + int $ShouldDelete = 0; + $ElementId = 1; + if ( !$IsLastOpSelection ) + $ElementId = 2; + if( size($History[$ElementId]) > 0) + { + if( `nodeType $History[$ElementId]` == "cluster") + if(`objExists LocalToolReference`) + { + float $Rot[3] = `xform -q -ro LocalToolReference`; + float $Pos[3] = `pointPosition LocalToolReference`; + $T = abs($Rot[0]) + abs($Rot[1]) + abs($Rot[2]) + abs($Pos[0]) + abs($Pos[1]) + abs($Pos[2]); + $T = $T-$HKLTTValue; + float $Scl[3]; + $Scl = `xform -q -s -r LocalToolReference`; + if( abs($Scl[0]) < 0.0000001 ) setAttr ("LocalToolReference.sx") 0.000001; + if( abs($Scl[1]) < 0.0000001 ) setAttr ("LocalToolReference.sy") 0.000001; + if( abs($Scl[2]) < 0.0000001 ) setAttr ("LocalToolReference.sz") 0.000001; + $S = $Scl[0]+$Scl[1]+$Scl[2]; + if( ( $T < 0.0001 ) && ($T > -0.0001 ) && ( $S < 3.0001 ) && ($S > 2.9999 )) + $ShouldDelete = 1; + // if( ! $ShouldDelete ) + // if ( `objExists $HKMCClusterName`) + // // addAttr -ln locked -at bool $HKMCClusterName; + } + } + + //} + if ( `objExists $HKMCClusterName`) + if ( size ( `listRelatives -p $HKMCClusterName` ) ) + { + parent -w -a $HKMCClusterName; + select -d $HKMCClusterName; + } + + string $cur; + global string $HKMovedObjects[]; + + if ( size ($HKMovedObjects) > 0 ) + { + for ( $i = 0; $i < `size $HKMovedObjects`; $i++) + { + if( `objExists $HKMovedObjects[$i]`) + //if ( size ( `listRelatives -p $HKMovedObjects[$i]` ) ) + if ( $HKLTParents[$i] == "world" ) + { + if ( size ( `listRelatives -p $HKMovedObjects[$i]` ) ) + parent -w -a $HKMovedObjects[$i]; + } + else + if (`objExists $HKLTParents[$i]`) + { + $Parents = `listRelatives -p $HKMovedObjects[$i]`; + if ( $Parents[0] != $HKLTParents[$i] ) + parent $HKMovedObjects[$i] $HKLTParents[$i]; + } + } + if( ! $HKLTPivotLocked ) + { + changeSelectMode -object; + // if( ! $DeleteOperationPerformed ) + // select -r $HKMovedObjects; + } + else + if( ! $DeleteOperationPerformed ) + if ( `objExists $HKMovedObjects[0]` ) + select -d $HKMovedObjects; + } + + if ( $ShouldDelete ) + if( size ( `match $History[$ElementId] $HKMCClusterName` ) > 0 ) + delete $History[$ElementId]; + + for ( $cur in $HKLTTweakName) + if( `objExists $cur`) + if(`getAttr ($cur + ".en")` == 0) + delete $cur; + + //------------------------------- finishing/lock pivot stuff ------------------------------------------------- + //$ObjSel = `filterExpand` here to filter only what the tool should handle, things like isoparms, Uvs etc should not be deselected + if( ! $HKLTPivotLocked ) + { + if(`objExists LocalToolReference`) + delete LocalToolReference; + } + else if ( $HKLTPivotLocked && size( $ObjSel ) > 0 && $IsSacredTool) + { + select -r $ObjSel; hilite $CHilite; + if ( $IsLastOpSelection == 1 ) + if ( size (` match "-tgl" $UndoState` ) > 0 || size (` match "-add" $UndoState` ) > 0 ) + { select -add $HKMovedObjects; select -d LocalToolReference; } + HKMoveComps(1); + global float $HKLTTValue; + global float $HKLTPivotSettings[]; + global string $HKMCClusterName, $HKLTTweakName[], $ShapeName[], $HKMovedComps[]; + if ( ! `objExists LocalToolReference` ) + { + spaceLocator -n "LocalToolReference" -p $HKLTPivotSettings[0] $HKLTPivotSettings[1] $HKLTPivotSettings[2]; + xform -ws -piv $HKLTPivotSettings[6] $HKLTPivotSettings[7] $HKLTPivotSettings[8] LocalToolReference; + setAttr "LocalToolReferenceShape.v" 0; + } + xform -ro $HKLTPivotSettings[3] $HKLTPivotSettings[4] $HKLTPivotSettings[5] LocalToolReference; + HKLTWriteVariables(); + if( $HKLTOptionOrientationOnly == 0) + //xform -ws -t $HKLTPivotSettings[6] $HKLTPivotSettings[7] $HKLTPivotSettings[8] LocalToolReference; + setAttr LocalToolReference.t 0 0 0; + else if( $HKLTOptionOrientationOnly == 1 ) + { + select -r $HKMovedObjects; + select -add $HKMovedComps; + $Coord = HKGetSelectionCenter(); + xform -ws -piv $Coord[0] $Coord[1] $Coord[2] LocalToolReference; + if( size ($HKMovedComps) > 0 ) + { + hilite $ShapeName; + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + } + if( size ($HKMovedObjects) > 0 ) + { + select -d $HKMovedObjects; + } + } + + global float $HKLTTValue; + float $Rot[3] = `xform -q -ro LocalToolReference`; + float $Pos[3] = `pointPosition LocalToolReference`; + + $HKLTTValue = abs($Rot[0]) + abs($Rot[1]) + abs($Rot[2]) + abs($Pos[0]) + abs($Pos[1]) + abs($Pos[2]); + + if ( `objExists ($HKMCClusterName + "Shape")` && size ($HKMovedObjects) == 0) + { + cluster -e -bs 1 -wn LocalToolReference LocalToolReference ($HKMCClusterName+"Shape"); + xform -ro $HKLTPivotSettings[3] $HKLTPivotSettings[4] $HKLTPivotSettings[5] $HKMCClusterName; + if( $HKLTOptionOrientationOnly == 0) + xform -ws -piv $HKLTPivotSettings[0] $HKLTPivotSettings[1] $HKLTPivotSettings[2] $HKMCClusterName; + cluster -bs 1 -e -wn $HKMCClusterName $HKMCClusterName ($HKMCClusterName +"Shape"); + + parent $HKMCClusterName LocalToolReference; + } + else if ( size ($HKMovedObjects) > 0 ) + { + string $Rel[] = `listRelatives -p $HKMovedObjects[0]`; + if ( $Rel[0] != "LocalToolReference" ) + parent $HKMovedObjects LocalToolReference; + } + + if ( size ($HKMovedObjects) > 0 ) + changeSelectMode -object; + else if ( size ( $CSel ) > 0 ) + changeSelectMode -component; + + select -r $HKMovedComps; + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + + if( size ( $HKMovedComps ) > 0 || size ( $HKMovedObjects ) > 0 ) + select -add LocalToolReference; + if( `objExists $ShapeName[0]` ) + if( !`selectMode -q -object` ) + hilite $ShapeName; + } + + + + + if( !$HKLTPivotLocked || ! $IsSacredTool ) + { + // $UndoState = `undoInfo -q -un`; + // forming the last command exept the values, and repeting it, having undone the preveous one. + if( ! $IsLastOpSelection ) + { + if(0){//$UndoState; + string $buff[],$buffTmp[]; + $Size = `tokenize $UndoState " " $buff`; + print $buff; + + string $Cmd = $buff[0]; + for ( $i = ($Size - 1); $i > 0; $i-- ) + { + if( `gmatch $buff[$i] "-*" ` == 1 && `tokenize $buff[$i] "." $buffTmp` == 1) // it is a flag string + + + $Cmd = $Cmd + " " + $buff[$i]; + } + print $Cmd; } + + + } + if( ! $IsLastOpSelection ) + { + hilite $CHilite; + select -clear; + for ( $curobj in $ObjSel ) + if ( `objExists $curobj` ) + select -add $curobj; + setToolTo $CurTool; + } + + else if( $IsLastOpSelection ) + { + if( `objExists $ShapeName[0]` ) + if( !`selectMode -q -object` ) + hilite $ShapeName; + + if ( ! size ($HKMovedObjects) > 0 ) + { + select -r $CSel; + if ( !$IsLastOpSelection ) + if( `objExists $History[1]` ) + select -add $History[1]; + } + } + if ( `size $ObjSel` == 0 ) + for ( $cur in $HKMovedObjects ) + if ( `objExists $cur`) + select -d $cur; + + global int $HKLTToolSettings[]; + global string $gMove, $gRotate; + string $RotateCtx = `superCtx -q $gRotate`; + if(`contextInfo -c $RotateCtx` == "manipRotate") + manipRotateContext -e -ah 1 $RotateCtx; + if( !$HKLTPivotLocked ) + { + + $MoveCtx = `superCtx -q $gMove`; + $RotateCtx = `superCtx -q $gRotate`; + if(`contextInfo -c $MoveCtx` == "manipMove") + if( `manipMoveContext -q -mode $MoveCtx` != $HKLTToolSettings[0] ) + manipMoveContext -e -mode $HKLTToolSettings[0] $MoveCtx; + if(`contextInfo -c $RotateCtx` == "manipRotate") + if ( `manipRotateContext -q -mode $RotateCtx` != $HKLTToolSettings[1] ) + manipRotateContext -e -mode $HKLTToolSettings[1] $RotateCtx; + global int $HKLTToolOn; + $HKLTToolOn = 0; + // if ( `button -ex HKLTEnterToolBut`) + // button -e -label "Take reference" HKLTEnterToolBut; + } + } + if ( $HKLTPivotLocked ) + { + if ( $IsSacredTool ) + if( `objExists $ShapeName[0]` ) + if( !`selectMode -q -object` ) + hilite $ShapeName; + HKLTOperateHUD(1); + global int $HKLTScriptJobID; + if ( ! $IsSacredTool ) + $HKLTScriptJobToolChangeID = `scriptJob -cu 1 -ro 1 -e "ToolChanged" "HKMCCleanUp(1,1);"`; + + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + } + } + //} +} + +global proc float[] HKGetVertexNormal(string $Component[], string $Shape) +{ + string $HKLTTweakName[]; + float $Normal[3]; + float $RNormal[3] = {0,0,0}; + float $TmpNormal[3] = {0,0,0}; + string $Vtx[]; string $cur; + if( `size $Component` != 0 ) + { + $Vtx = `polyListComponentConversion -tvf $Component`; + $SbdVtx = `subdListComponentConversion -tv $Component`; + $Nrbs = `filterExpand -sm 28 $Component`; + $Vtx = `ls -fl $Vtx`; + string $NormalChangeNode[1]; + if( size ($Vtx ) > 0 ) + { + if ( `size $Component` < 2) + { + $CompEdges = `polyListComponentConversion -te $Component`; + $NormalChangeNode = `polySoftEdge -a 0 -ch 1 $CompEdges`; + } + for ( $cur in $Vtx ) + { + $Normal = `polyNormalPerVertex -q -xyz $cur`; + $TmpNormal[0] += $Normal[0]; + $TmpNormal[1] += $Normal[1]; + $TmpNormal[2] += $Normal[2]; + } + if ( `size $Component` < 2) + { + delete $NormalChangeNode; + } + int $Size = `size $Vtx`; + + $TmpNormal[0] = $TmpNormal[0]/$Size; + $TmpNormal[1] = $TmpNormal[1]/$Size; + $TmpNormal[2] = $TmpNormal[2]/$Size; + + if( `objExists HKLocalToolsCalculator`) + delete HKLocalToolsCalculator; + + createNode -n "HKLocalToolsCalculator" vectorProduct; + setAttr HKLocalToolsCalculator.operation 3; + setAttr "HKLocalToolsCalculator.normalizeOutput" 0; + setAttr "HKLocalToolsCalculator.i1" $TmpNormal[0] $TmpNormal[1] $TmpNormal[2]; + + connectAttr -f ($Shape+".worldMatrix[0]") HKLocalToolsCalculator.m; + + $TmpNormal = `getAttr HKLocalToolsCalculator.o`; + delete HKLocalToolsCalculator; + } + else if( size ( $SbdVtx ) > 0 || size ( $Nrbs ) > 0 ) + { + $SbdVtx = `ls -fl $SbdVtx`; + $Nrbs = `ls -fl $Nrbs`; + string $cur1, $cur; + for ( $cur1 in $Nrbs ) + $SbdVtx[ `size $SbdVtx` ] = $cur1; + for ( $cur in $SbdVtx ) + { + + $InitPos = `pointPosition $cur`; + undoInfo -swf 0; + moveVertexAlongDirection -n 1 $cur; + $AfterPos = `pointPosition $cur`; + move -a $InitPos[0] $InitPos[1] $InitPos[2] $cur; + undoInfo -swf 1; + + $Normal[0] = $AfterPos[0] - $InitPos[0]; + $Normal[1] = $AfterPos[1] - $InitPos[1]; + $Normal[2] = $AfterPos[2] - $InitPos[2]; + $TmpNormal[0] += $Normal[0]; + $TmpNormal[1] += $Normal[1]; + $TmpNormal[2] += $Normal[2]; + } + int $Size = `size $SbdVtx`; + + $TmpNormal[0] = $TmpNormal[0]/$Size; + $TmpNormal[1] = $TmpNormal[1]/$Size; + $TmpNormal[2] = $TmpNormal[2]/$Size; + } + } + else + { + $TmpNormal = { 0, 1, 0 }; + } + + return $TmpNormal; +} + + +global proc float[] HKGetSelectionCenter() +{ + $Transforms = `ls -sl -tr -fl`; + //$Hl = `ls -hl`; + string $Comps[]; + $Comps = `filterExpand -ex 0 -sm 28 -sm 30 -sm 31 -sm 32 -sm 34 -sm 35 -sm 36 -sm 37 -sm 38 -sm 39 + -sm 40 -sm 41 -sm 42 -sm 43 -sm 44 -sm 45 -sm 46 -sm 47 -sm 70 -sm 72 -sm 73`; + float $Coord[3]; + float $Bbox[6] = {999999999,999999999,999999999,-999999999,-999999999,-999999999 }; + + if( size ( $Comps ) > 0 ) + { + int $BreakPoints[]; clear $BreakPoints; + $BreakPoints[0] = 0; + string $cur, $buff[]; + string $CurrentShapeName; + tokenize $Comps[0] "." $buff; + $CurrentShapeName = $buff[0]; + + for( $i = 1; $i < size( $Comps ); $i++ ) + { + tokenize $Comps[$i] "." $buff; + if ( $buff[0] != $CurrentShapeName ) + { + $BreakPoints[`size $BreakPoints`] = $i; + $CurrentShapeName = $buff[0]; + } + } + $BreakPoints[`size $BreakPoints`] = size( $Comps ); + string $TmpArray[]; clear $TmpArray; + + for ( $i = 1; $i <= (size( $BreakPoints )-1); $i++ ) + { + clear $TmpArray; + if ( size( $BreakPoints ) == 2 ) + $TmpArray = $Comps; + else + for ( $l = $BreakPoints[($i-1)] ; $l < $BreakPoints[$i]; $l++ ) + $TmpArray[ `size ($TmpArray)`] = $Comps[$l]; + + if( size ( $TmpArray ) > 0 ) + { + $TmpBbox = `xform -q -ws -bb $TmpArray`; + if( $TmpBbox[0] < $Bbox[0] ) + $Bbox[0] = $TmpBbox[0]; + if( $TmpBbox[1] < $Bbox[1] ) + $Bbox[1] = $TmpBbox[1]; + if( $TmpBbox[2] < $Bbox[2] ) + $Bbox[2] = $TmpBbox[2]; + if( $TmpBbox[3] > $Bbox[3] ) + $Bbox[3] = $TmpBbox[3]; + if( $TmpBbox[4] > $Bbox[4] ) + $Bbox[4] = $TmpBbox[4]; + if( $TmpBbox[5] > $Bbox[5] ) + $Bbox[5] = $TmpBbox[5]; + } + + } + } + for ( $cur in $Transforms ) + { + if( size (`filterExpand -sm 12 -sm 68 -sm 9 -sm 11 -sm 10 $cur`) > 0) + { + $TmpBbox = `xform -q -ws -bb $cur`; + if( $TmpBbox[0] < $Bbox[0] ) + $Bbox[0] = $TmpBbox[0]; + if( $TmpBbox[1] < $Bbox[1] ) + $Bbox[1] = $TmpBbox[1]; + if( $TmpBbox[2] < $Bbox[2] ) + $Bbox[2] = $TmpBbox[2]; + if( $TmpBbox[3] > $Bbox[3] ) + $Bbox[3] = $TmpBbox[3]; + if( $TmpBbox[4] > $Bbox[4] ) + $Bbox[4] = $TmpBbox[4]; + if( $TmpBbox[5] > $Bbox[5] ) + $Bbox[5] = $TmpBbox[5]; + } + else + { + $TmpBbox = `xform -q -piv -ws $cur`; + if( $TmpBbox[0] < $Bbox[0] ) + $Bbox[0] = $TmpBbox[0]; + if( $TmpBbox[1] < $Bbox[1] ) + $Bbox[1] = $TmpBbox[1]; + if( $TmpBbox[2] < $Bbox[2] ) + $Bbox[2] = $TmpBbox[2]; + if( $TmpBbox[0] > $Bbox[3] ) + $Bbox[3] = $TmpBbox[0]; + if( $TmpBbox[1] > $Bbox[4] ) + $Bbox[4] = $TmpBbox[1]; + if( $TmpBbox[2] > $Bbox[5] ) + $Bbox[5] = $TmpBbox[2]; + } + } + $Coord[0] = ($Bbox[0]+ $Bbox[3])/2; + $Coord[1] = ($Bbox[1]+ $Bbox[4])/2; + $Coord[2] = ($Bbox[2]+ $Bbox[5])/2; + + return $Coord; +} + + + +global proc HKLTUndoSetup() +{ + global int $HKLTScriptJobID; + global string $gMove, $gRotate, $HKLTTweakName[]; + global string $HKMCClusterName, $HKMovedComps[],$HKMovedObjects[]; + string $S[] = `ls -sl -tr`; + string $UndoName = `undoInfo -q -undoName`; + + if ( `objExists LocalToolReference`) + { + if ( $S[0] == "LocalToolReference" ) + { + if( !`scriptJob -ex $HKLTScriptJobID` ) + { + global int $HKLTToolSettings[]; + $MoveCtx = `superCtx -q $gMove`; + $RotateCtx = `superCtx -q $gRotate`; + if( $HKLTToolSettings[0] != 4 ) + manipMoveContext -e -mode 4 $MoveCtx; + if( $HKLTToolSettings[1] != 0 ) + manipRotateContext -e -mode 0 $RotateCtx; + HKLTOperateHUD(1); + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + } + } + } + else if( `objExists LocalToolReference` && $S[0] != "LocalToolReference") + { + for ( $cur in $HKLTTweakName) + if( `objExists $cur`) + if(`getAttr ($cur + ".en")` == 0) + delete $cur; + } + +} + +global proc HKLTRedoSetup() +{ + global string $HKLTTweakName[]; string $cur; + if ( !`objExists LocalToolReference`) + { + for ( $cur in $HKLTTweakName) + if( `objExists $cur`) + if(`getAttr ($cur + ".en")` == 0) + delete $cur; + } +} + +global proc HKLTFixerCleanUp() +{ + global int $HKLTScriptJobID, $HKLTScriptJobToolChangeID; + HKLTOperateHUD(0); + if ( `scriptJob -ex $HKLTScriptJobID` ) + scriptJob -f -kill $HKLTScriptJobID; + if ( `scriptJob -ex $HKLTScriptJobToolChangeID` ) + scriptJob -f -kill $HKLTScriptJobToolChangeID; + if( `objExists LocalToolReference`) + { + HKLTReadVariables(); + HKLTEnd(); + } +} + +global proc HKLTScaleFix() +{ + float $Scl[3]; + $Scl = `xform -q -s -r LocalToolReference`; + if( abs($Scl[0]) < 0.0000001 ) setAttr ("LocalToolReference.sx") 0.000001; + if( abs($Scl[1]) < 0.0000001 ) setAttr ("LocalToolReference.sy") 0.000001; + if( abs($Scl[2]) < 0.0000001 ) setAttr ("LocalToolReference.sz") 0.000001; +} + + +global proc HKLTSFHideSelectionForSnapping() +{ + $Transforms = `ls -sl -tr`; + $Comps = `filterExpand -ex 0 -sm 31 -sm 32 -sm 34 -sm 36 -sm 37 -sm 38 -sm 28 -sm 46`; + global int $HKLTScriptJobID; + scriptJob -f -kill $HKLTScriptJobID; + + select -d $Comps; + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; + +} + + +global proc HKLTSFShowSelectionForSnapping() +{ + global string $HKMovedComps[]; + global int $HKLTScriptJobID; + scriptJob -f -kill $HKLTScriptJobID; + select -r $HKMovedComps; + select -d ( `filterExpand -sm 36 -sm 37 -sm 38 $HKMovedComps` ); + select -add LocalToolReference; + $HKLTScriptJobID = `scriptJob -cu 1 -ro 1 -e "SelectionChanged" "HKMCCleanUp(0,1);"`; +} + + +global proc HKLTSFSnappingFix( ) +{ + int $SnappingOn; + $SnappingOn = `snapMode -q -p` + `snapMode -q -c`+`snapMode -q -gr`+`snapMode -q -vp`; + undoInfo -swf 0; + if( `objExists LocalToolReference`) + { + if( $SnappingOn ) + HKLTSFHideSelectionForSnapping; + else + HKLTSFShowSelectionForSnapping; + } + undoInfo -swf 1; +} + + diff --git a/2009-x64/MiscScripts/scripts/HKMagnetTool.mel b/2009-x64/MiscScripts/scripts/HKMagnetTool.mel new file mode 100644 index 0000000..9f97aaa --- /dev/null +++ b/2009-x64/MiscScripts/scripts/HKMagnetTool.mel @@ -0,0 +1,490 @@ +// HK Magnet Tool +// +// Created by: Henry Korol ( aka HawK ) +// E-Mail: henrykorol@yahoo.com +// +// Creation date: 25.08.2004 +// +// This is the main script which includes all procedures and should be placed in usersetup/scripts directory. +// + +// Default Magnet parameters + global int $HKMComponentMode = 3; // 3 or 2 + global int $HKMDeleteHistory = 1; + global int $HKMBackFaceCull = 0; + global int $HKMDisplayManip = 1; + global float $HKMagnetRadius = 1; + global float $HKMagnetOffset = 0.1; + global int $HKMagnetInterp = 1; + +// Internal variables + global int $HKMAxis[3]; + global float $HKIP[3]; + global string $HKMCurNode; + global int $HKXS; global int $HKZS; + global string $LastPanel; + global string $Obj[]; + global string $HKMMaskedVtx[]; clear $HKMMaskedVtx; + global int $HKMTimer = 0; + + +global proc HKMagnetToolActivation() +{ + global int $HKMComponentMode; + global int $HKMDisplayManip; + global string $Obj[]; + global string $gSelect; + global string $HKMMaskedVtx[]; clear $HKMMaskedVtx; + global string $gSelect; + undoInfo -swf 0; + + if( size( `ls -hl`) > 0 || size( `ls -sl`) > 0 ) +{ +if ($HKMComponentMode == 3) + { + if(size( `ls -hl`) > 0) + $Obj = `ls -hl`; + else + { + if(size(`ls -sl`) == 0) + { + setToolTo $gSelect; + error "Nothing selected."; + } + $Obj = `ls -sl`; + } + if(size(`filterExpand -sm 12 $Obj`) == 0) + { + setToolTo $gSelect; + error "No polygon surfaces selected. Select polygon object to use magnet on."; + } + } +else if($HKMComponentMode == 2) + { + if(size(`ls -hl`) == 0 || size(`ls -sl`)==0) + { + setToolTo $gSelect; + error "No components selected to use in component mode."; + } + $Obj = `ls -hl`; + if(size(`filterExpand -sm 12 $Obj`) == 0) + { + setToolTo $gSelect; + error "Selected components are not polygons components."; + } + PolySelectConvert 3; + $HKMMaskedVtx = `ls -sl`; + } + float $V[3]; string $cur; + for($cur in $Obj) + { + if(`nodeType $cur` == "transform") + { + $V = `xform -q -rotation $cur`; + if( $V[0] != 0 || $V[1] != 0 || $V[2] != 0) + warning "The rotation transformations are not freezed on current object. May not evaluate properly."; + } + } +hilite $Obj; + +$Panel = `getPanel -wf`; + modelEditor -e -nurbsCurves $HKMDisplayManip $Panel; + scriptJob -pro -cu 1 -ro 1 -e "ToolChanged" "if(`currentCtx` != $HKMname){undoInfo -swf 1; if($HKMDeleteHistory) delete -ch $Obj;}"; + } +else + setToolTo $gSelect; + +} + +global proc HKMagnetToolEnter() +{ + polySelectConstraint -t 0x0001 -d 2 -va 98; + if(`draggerContext -ex HKMagnetTool`) + deleteUI HKMagnetTool; + draggerContext -i1 "HKMagnetIcon.bmp" -pr "objectViewPlane" -pl 0 1 0 -pc "HKMagnetPress" -dc "HKMagnetDrag" -hc "HKMagnetHold" -rc "HKMagnetRelease;" -ch 0 -cur "crossHair" -sp "world" HKMagnetTool; + + setToolTo HKMagnetTool; +} + + +global proc HKCleanNode(string $Name) +{ + string $Name; + if(`objExists $Name`) + { + $Name = `substring $Name 1 (size ($Name)-6)`; + setAttr -l 1 -k 0 ($Name + ".fr"); + setAttr -l 1 -k 0 ($Name + ".fcx"); + setAttr -l 1 -k 0 ($Name + ".fcy"); + setAttr -l 1 -k 0 ($Name + ".fcz"); + setAttr -l 1 -k 0 ($Name + ".fix"); + setAttr -l 1 -k 0 ($Name + ".fiy"); + setAttr -l 1 -k 0 ($Name + ".fiz"); + setAttr -l 1 -k 0 ($Name + ".fas"); + setAttr -l 1 -k 0 ($Name + ".fm"); + } +} + +global proc HKMagnetPress() +{ + select -clear; + global int $HKMagnetInterp; global float $HKCamPos[3]; + global float $HKBase; global float $HKProp; + global string $Obj[]; + global int $HKMAxis[]; + global float $HKIP[3]; + global int $HKMBackFaceCull; + global int $HKMComponentMode; + global string $HKMMaskedVtx[]; + global float $HKMagnetRadius; + global float $HKMagnetOffset; + global string $HKMCurNode; + global int $HKPersp; global int $HKXS; global int $HKZS; + int $Ax; float $Base; + $Panel = `getPanel -wf`; + string $Cam = `modelPanel -q -camera $Panel`; + float $pos[3] = `xform -q -t -ws $Cam`; + float $Rot[] = `xform -q -ro $Cam`; + $Rot[0] = HKNormAng($Rot[0]); + $Rot[1] = HKNormAng($Rot[1]); + if($Rot[0] > 0 && $Rot[1] > 0) + $HKPersp = 1; + else $HKPersp = 0; + + float $Cord[] = `draggerContext -q -ap HKMagnetTool`; + string $Mod = `draggerContext -q -mo HKMagnetTool`; + int $But = `draggerContext -q -bu HKMagnetTool`; + + if( ($Rot[0] > 45 && $Rot[0] < 135)||($Rot[0] > 225 && $Rot[0] < 315)) + { $HKMAxis = {0,1,0}; $Ax = 1; print "Slide Plane XZ";} + else if( $Rot[1] < 45 || ($Rot[1] > 135 && $Rot[1] < 225) || $Rot[1] > 315) + { $HKMAxis = {0,0,1};$Ax = 2; print "Slide Plane XY";} + else {$HKMAxis = {1,0,0};$Ax = 0; print "Slide Plane YZ";} + if( ($Rot[1] > 90) &&($Rot[1] < 270) ) + $HKXS = -1; + else $HKXS = 1; + if( ( $Rot[1] > 180)&&($Rot[1] < 360)) + $HKZS = -1; + else $HKZS = 1; + if($HKPersp) + { + float $Axis[3]; + $Axis[0] = $pos[0] - $Cord[0]; + $Axis[1] = $pos[1] - $Cord[1]; + $Axis[2] = $pos[2] - $Cord[2]; + + circle -nr 0 0 1 -r 1 -ch 0 -n Magnet_Radius; + circle -nr 0 0 1 -r 1 -ch 0 -n Magnet_Offset; + parent Magnet_Offset Magnet_Radius; + aimConstraint -n HKAimConstraint -w 1 -aim 0 0 1 -u 0 1 0 -wut "vector" -wu 0 1 0 $Cam Magnet_Radius; + hilite $Obj; + if($HKMComponentMode == 2) + select -r $HKMMaskedVtx; + polySelectConstraint -m $HKMComponentMode -db 0 $HKMagnetRadius -v $HKMBackFaceCull -dp $Cord[0] $Cord[1] $Cord[2] -vp $pos[0] $pos[1] $pos[2] -da $Axis[0] $Axis[1] $Axis[2]; + $List = `ls -sl`; + float $T[]; + $T = `polyEvaluate -bc`; + if( abs($pos[$Ax]-$T[2*$Ax]) > abs($pos[$Ax]-$T[2*$Ax+1]) ) + $Base = $T[2*$Ax+1]; + else + $Base = $T[2*$Ax]; + float $Prop = ($pos[$Ax]-$Base)/($pos[$Ax]-$Cord[$Ax]); + + float $C[3]; + $C[0] = ( (1-$HKMAxis[0])*($pos[0]-($pos[0]-$Cord[0])*$Prop) + $Base*$HKMAxis[0]); + $C[1] = ( (1-$HKMAxis[1])*($pos[1]-($pos[1]-$Cord[1])*$Prop) + $Base*$HKMAxis[1]); + $C[2] = ( (1-$HKMAxis[2])*($pos[2]-($pos[2]-$Cord[2])*$Prop) + $Base*$HKMAxis[2]); + setAttr Magnet_Radius.tx $C[0]; + setAttr Magnet_Radius.ty $C[1]; + setAttr Magnet_Radius.tz $C[2]; + setAttr Magnet_Radius.s $HKMagnetRadius $HKMagnetRadius $HKMagnetRadius; + setAttr Magnet_Offset.s $HKMagnetOffset $HKMagnetOffset $HKMagnetOffset; + if(($But == 2)||(($But == 1)&&( $Mod == "ctrl"))) select -add Magnet_Radius Magnet_Offset; + + if(($But == 1)&&( $Mod == "none")) + { + $Tmp = `softMod -n HK_Magnet1 -fc $C[0] $C[1] $C[2] -fbx (1-$HKMAxis[0]) -fby (1-$HKMAxis[1]) -fbz (1-$HKMAxis[2]) -fm 1 -fr $HKMagnetRadius -fas 0`; + setAttr ($Tmp[0] + ".fc[0].fci") $HKMagnetInterp; + setAttr ($Tmp[0] + ".fc[0].fcp") $HKMagnetOffset; + $HKMCurNode = $Tmp[0]+"Handle"; + HideSelectedObjects; + select -r $List; + select -add Magnet_Radius Magnet_Offset; + } + $HKIP = {$C[0], $C[1], $C[2]}; + $HKCamPos = { $pos[0], $pos[1], $pos[2]}; + $HKBase = $Base; + $HKProp = $Prop; + } + else + { + circle -nr $HKMAxis[0] $HKMAxis[1] $HKMAxis[2] -r 1 -ch 0 -n Magnet_Radius; + circle -nr $HKMAxis[0] $HKMAxis[1] $HKMAxis[2] -r 1 -ch 0 -n Magnet_Offset; + parent Magnet_Offset Magnet_Radius; + setAttr Magnet_Radius.tx ($Cord[0]*(1-$HKMAxis[0])+0.95*$pos[0]*$HKMAxis[0]); + setAttr Magnet_Radius.ty ($Cord[1]*(1-$HKMAxis[1])+0.95*$pos[1]*$HKMAxis[1]); + setAttr Magnet_Radius.tz ($Cord[2]*(1-$HKMAxis[2])+0.95*$pos[2]*$HKMAxis[2]); + setAttr Magnet_Radius.s $HKMagnetRadius $HKMagnetRadius $HKMagnetRadius; + setAttr Magnet_Offset.s $HKMagnetOffset $HKMagnetOffset $HKMagnetOffset; + hilite $Obj; + if($HKMComponentMode == 2) + select -r $HKMMaskedVtx; + polySelectConstraint -m $HKMComponentMode -db 0 $HKMagnetRadius -v $HKMBackFaceCull -dp $Cord[0] $Cord[1] $Cord[2] -vp $pos[0] $pos[1] $pos[2] -da $HKMAxis[0] $HKMAxis[1] $HKMAxis[2]; + $List = `ls -sl`; + if(($But == 2)||(($But == 1)&&( $Mod == "ctrl"))) select -add Magnet_Radius Magnet_Offset; + if(($But == 1)&&( $Mod == "none")) + { + $Tmp = `softMod -n HK_Magnet1 -fc $Cord[0] $Cord[1] $Cord[2] -fbx (1-$HKMAxis[0]) -fby (1-$HKMAxis[1]) -fbz (1-$HKMAxis[2]) -fm 1 -fr $HKMagnetRadius -fas 0`; + setAttr ($Tmp[0] + ".fc[0].fci") $HKMagnetInterp; + setAttr ($Tmp[0] + ".fc[0].fcp") $HKMagnetOffset; + $HKMCurNode = $Tmp[0]+"Handle"; + HideSelectedObjects; + select -r $List; + select -add Magnet_Radius Magnet_Offset; + } + $HKIP = {$Cord[0], $Cord[1], $Cord[2]}; + } + hilite $Obj; + refresh; + +} +global proc HKMagnetDrag() +{ + global int $HKPersp; global float $HKCamPos[3]; global float $HKBase; + global float $HKCamPos[3]; global float $HKProp; + global int $HKMBackFaceCull; + global int $HKXS; global int $HKZS; + global string $HKMMaskedVtx[]; + global int $HKMComponentMode; + global string $HKMCurNode; int $sign; + global float $HKIP[3]; float $Val; + global float $HKMagnetRadius; + global float $HKMagnetOffset; + global int $HKMAxis[]; + float $Cord[] = `draggerContext -q -dp HKMagnetTool`; + string $Mod = `draggerContext -q -mo HKMagnetTool`; + int $But = `draggerContext -q -bu HKMagnetTool`; + if($HKPersp) + { + $Cord[0] = ( (1-$HKMAxis[0])*($HKCamPos[0]-($HKCamPos[0]-$Cord[0])*$HKProp) + $HKBase*$HKMAxis[0]); + $Cord[1] = ( (1-$HKMAxis[1])*($HKCamPos[1]-($HKCamPos[1]-$Cord[1])*$HKProp) + $HKBase*$HKMAxis[1]); + $Cord[2] = ( (1-$HKMAxis[2])*($HKCamPos[2]-($HKCamPos[2]-$Cord[2])*$HKProp) + $HKBase*$HKMAxis[2]); + } + + if(($But == 1) && ( $Mod == "none")) + { + if(!$HKMAxis[0]){ setAttr Magnet_Radius.tx $Cord[0]; setAttr ($HKMCurNode+".tx") ($Cord[0]-$HKIP[0]); } + if(!$HKMAxis[1]){ setAttr Magnet_Radius.ty $Cord[1]; setAttr ($HKMCurNode+".ty") ($Cord[1]-$HKIP[1]); } + if(!$HKMAxis[2]){ setAttr Magnet_Radius.tz $Cord[2]; setAttr ($HKMCurNode+".tz") ($Cord[2]-$HKIP[2]); } + } + else if( ($But == 2) && ($Mod != "ctrl") ) + { + $Val = $HKXS*0.5*($Cord[0]-$HKIP[0] ) - $HKZS*0.5*($Cord[2]-$HKIP[2]) + $HKMagnetRadius; + if($Val < 0) $Val = 0; + setAttr Magnet_Radius.s $Val $Val $Val; + + if($HKMComponentMode == 2) + select -r $HKMMaskedVtx; + if($HKPersp) + polySelectConstraint -db 0 $Val; + else + polySelectConstraint -db 0 $Val; + select -add Magnet_Radius Magnet_Offset; + if(`floatSliderGrp -ex HKMRadiusSlider`) + floatSliderGrp -e -v $Val HKMRadiusSlider; + } + else if(($But == 2)) + { + $Val = $HKXS*0.5*($Cord[0]-$HKIP[0] ) - $HKZS*0.5*($Cord[2]-$HKIP[2]) + $HKMagnetOffset; + if($Val < 0) $Val = 0; if($Val > 1) $Val = 1; + setAttr Magnet_Offset.s $Val $Val $Val; + if(`floatSliderGrp -ex HKMOffsetSlider`) + floatSliderGrp -e -v $Val HKMOffsetSlider; + } + refresh; +} + +global proc HKMagnetHold() +{ + global int $HKMTimer; int $En = 0; + global string $Obj[]; + string $Mod = `draggerContext -q -mo HKMagnetTool`; + int $But = `draggerContext -q -bu HKMagnetTool`; + if( $But == 1 && $Mod == "ctrl") + { + $HKMTimer++; + if($HKMTimer > 23) + { + string $Shape[2]; string $DNode[2]; + $Shape = `listRelatives -s -ni $Obj[0]`; + while(1-$En) + { + $DNode = `listConnections -s 1 -d 0 ($Shape[0]+".inMesh")`; + if( `nodeType $DNode[0]` != "softMod") + break; + delete $DNode; + } + $HKMTimer = 0; + print "All Magnet's operations deleted."; + } + } +} + +global proc HKMagnetRelease() + { + global string $Obj[]; global string $LastPanel; + global int $HKMDisplayManip; + global string $HKMCurNode; + global float $HKMagnetRadius; float $Tmp; + global float $HKMagnetOffset; + global float $HKIP[3]; + float $Cord[] = `draggerContext -q -dp HKMagnetTool`; + int $But = `draggerContext -q -bu HKMagnetTool`; + string $Mod = `draggerContext -q -mo HKMagnetTool`; + if($But == 2) + { + $Tmp = `getAttr Magnet_Radius.sx`; + $HKMagnetRadius = abs($Tmp); print $HKMagnetRadius ; + $Tmp = `getAttr Magnet_Offset.sx`; + $HKMagnetOffset = $Tmp; + } + polySelectConstraint -m 0; + HKCleanNode($HKMCurNode); + delete Magnet_Radius Magnet_Offset; + $Panel = `getPanel -wf`; + $LastPanel = $Panel; + + if(($But == 1) && ( $Mod == "ctrl")) + { + string $Shape[]; + $Shape = `listRelatives -s -ni $Obj[0]`; + string $DNode[]; + $DNode = `listConnections -s 1 -d 0 ($Shape[0]+".inMesh")`; + if( `nodeType $DNode[0]` == "softMod") + delete $DNode; + } + if(($But == 2) && ( $Mod == "shift")) + { + + $HKMDisplayManip = 1 - $HKMDisplayManip; + if($HKMDisplayManip) + print "Display Manipulator ON"; + else + print "Display Manipulator OFF"; + modelEditor -e -nurbsCurves $HKMDisplayManip $Panel; + if(`checkBox -ex HKMDispCheck`) + checkBox -e -v $HKMDisplayManip HKMDispCheck; + } +} +global proc float HKNormAng(float $Angle) +{ + float $Angle; + int $Piece = $Angle/360; + $Angle = $Angle - $Piece*360; + if($Angle < 0) + $Angle = 360+$Angle; + return $Angle; +} + +$HKMname = "HKMagnetTool"; +global int $HKMJobActive; + if(!$HKMJobActive) + { + scriptJob -cu 1 -e "ToolChanged" "if(`currentCtx` == $HKMname) { HKMagnetToolActivation;}" -permanent; + $HKMJobActive = 1; + } + +global proc HKMInstallShelfIcon() +{ + global string $gShelfTopLevel; + $ShelfName = `tabLayout -q -selectTab $gShelfTopLevel`; + shelfButton -l "HKMagnet Tool" -i "HKMagnetIcon.bmp" -c "HKMagnetToolEnter;" -p $ShelfName -dcc "HKMOptionBox;"; +} + +global proc HKMDispSet() +{ + global string $LastPanel; + global int $HKMDisplayManip; + $val = `checkBox -q -v HKMDispCheck`; + if(`draggerContext -ex HKMagnetTool`) + if( (`getPanel -to $LastPanel`) == "modelPanel" ) + modelEditor -e -nurbsCurves $val $LastPanel; + $HKMDisplayManip = $val; +} +global proc HKMAboutPopUp() +{ + if(`window -ex HKMAboutWin`) + deleteUI HKMAboutWin; + window -t "About Magnet Tool" -wh 300 180 HKMAboutWin; + frameLayout -bs "in" -l ""; + formLayout HKMAWForm; + columnLayout -rs 1 -cal left -cat left 10; + text -l "Magnet Tool V 1.0" -fn "boldLabelFont" -w 130; + text -l "\nCopyright 2004, Henry Korol." -w 190; + text -l "All rights reserved." -w 130; + text -l "\nFor a full tool description refer to Documentation.txt file."; + button -l "Ok" -c "deleteUI HKMAboutWin;" -w 60 -p HKMAWForm HKMAColse; + formLayout -e + -af HKMAColse bottom 5 + -ap HKMAColse right -30 49 + HKMAWForm; + showWindow; +} + +global proc HKMOptionBox() +{ + global int $HKMComponentMode; + global int $HKMDeleteHistory; + global int $HKMBackFaceCull; + global int $HKMDisplayManip; + global float $HKMagnetRadius; + global float $HKMagnetOffset; + global int $HKMagnetInterp; + if(`window -ex HKMagnetOptionWindow`) + deleteUI HKMagnetOptionWindow; + window -t "HKMagnet Tool Options" -wh 420 305 HKMagnetOptionWindow; + formLayout HKMForm; + rowLayout -nc 2 -cat 1 left 0 -cat 2 left -98 HKMrow; + radioButtonGrp -sl (4-$HKMComponentMode) -cw2 70 70 -l "Apply Tool On:" -nrb 2 -l1 "Whole Object" -l2 "Components" -cc "$v = `radioButtonGrp -q -sl HKMagnetApply`;if($v == 2){$HKMComponentMode = 2;setToolTo $gSelect;} else $HKMComponentMode = 3 " -w 450 HKMagnetApply; + shelfButton -i "HKMagnetIcon.bmp" -w 30 -h 30 -c "HKMAboutPopUp" HKMAbout; + setParent ..; + columnLayout -rs 9 -w 450 -p HKMForm HKMagnetForm; + frameLayout -l "Common Controls:" -cll 1 -bs "etchedIn" -w 400 -p HKMagnetForm HKMFrame; + columnLayout -rs 3; + floatSliderGrp -l "Radius" -f 1 -min 0 -max 20 -pre 2 -fmx 300 -cc "$HKMagnetRadius = `floatSliderGrp -q -v HKMRadiusSlider`;" -v $HKMagnetRadius HKMRadiusSlider; + floatSliderGrp -l "Offset" -f 1 -min 0 -max 1 -pre 2 -v $HKMagnetOffset -cc "$HKMagnetOffset = `floatSliderGrp -q -v HKMOffsetSlider`;" HKMOffsetSlider; + radioButtonGrp -sl $HKMagnetInterp -l "Falloff Interpolation:" -nrb 2 -l1 "Linear" -l2 "Smooth" -w 450 -on1 "$HKMagnetInterp=1;" -on2 "$HKMagnetInterp=2;" HKMagnetFalloff; + setParent ..; + frameLayout -l "Misc:" -cll 1 -bs "etchedIn" -w 400 -p HKMagnetForm HKMFrame1; + columnLayout -rs 6 -cat "left" 5 -w 450; + radioButtonGrp -sl (2-$HKMBackFaceCull) -l "Backface Culling:" -on1 "$HKMBackFaceCull=1;" -on2 "$HKMBackFaceCull=0;" -nrb 2 -l1 "On" -l2 "Off" -w 450 HKMBFCullRad; + checkBox -l "Display Control Curves" -v $HKMDisplayManip -cc "HKMDispSet;" HKMDispCheck; + checkBox -l "Kill History on Tool completion" -v $HKMDeleteHistory -onc"$HKMDeleteHistory=1" -ofc"$HKMDeleteHistory=0"; + setParent ..; + setParent ..; + button -l " Enter Magnet Tool " -c "HKMagnetToolEnter;" -h 27 -p HKMForm HKMEnterToolBut; + button -l " Close " -c "deleteUI HKMagnetOptionWindow;" -h 27 -p HKMForm HKMCloseBut; + + formLayout -e + -af HKMrow top 4 + -af HKMrow left 1 + -ac HKMagnetForm top 0 HKMrow + -af HKMagnetForm left 5 + -ac HKMagnetForm bottom 5 HKMEnterToolBut + -af HKMEnterToolBut bottom 5 + -af HKMEnterToolBut left 5 + -af HKMEnterToolBut right 5 + -ap HKMEnterToolBut right 2 55 + -af HKMCloseBut right 5 + -af HKMCloseBut bottom 5 + -ac HKMCloseBut left 5 HKMEnterToolBut + HKMForm; + showWindow HKMagnetOptionWindow; +} +global proc HKMagnetTool() +{ + source HKMagnetTool; +} + + +// End of the script // \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/NPautoSave.mel b/2009-x64/MiscScripts/scripts/NPautoSave.mel new file mode 100644 index 0000000..b83c344 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/NPautoSave.mel @@ -0,0 +1,386 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: Auto Save +'' Author: +'' Last Updated: Aug 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/interface_display/3962.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +// +// Nicolas Pastrana Script File +// site: http://n.pastrana.free.fr +// help: http://n.pastrana.free.fr/mel/ +// mail: n.pastrana@free.fr +// +// I DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL I BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Creation Date: February, 2006 +// +// Description: +// This script adds the auto-save on Maya. +// +// After activate it on the options, specify: +// General Options +// Hour(s) | +// Minutes(s) | Specify the time between two saves +// Seconds(s) | +// Advanced Options +// Confirm: enable a confirm box on saving +// Run script on: specify the event used by the script Job +// +// +// Instalation: +// +// Put the file: +// - NPautoSave.mel +// +// on your mel scripts folder: +// +// (Windows) :\Documents and Settings\username\My Documents\maya\scripts +// (Mac OS X) Users/username/Library/Preferences/Alias/maya/x.0/scripts +// (IRIX and Linux) ~username/maya/scripts +// +// create or locate your userSetup.mel, by default on this folder: +// +// (Windows) :\Documents and Settings\\My Documents\maya\\scripts +// (Mac) ~/Library/Preferences/Alias/maya//scripts +// (Linux) ~/maya//scripts +// +// or, if you use the BonusTool, in the script folder of it. +// +// (Windows) :\Program Files\Alias\Maya\BonusTools +// (Mac) /Users/Shared/Alias/maya/ +// (Linux) /usr/aw/maya/BonusTools +// +// and put the command: +// source NPautoSave; +// +// and restart maya... +// +// Setup: +// +// The Auto Save Options menu is located on the standard File menu. +// +// +// warning: DON'T CHANGE THE NAMES AND THE HIERARCHY ! +// +// more informations on: http://n.pastrana.free.fr/mel/ +// +// MODIFY THIS AT YOUR OWN RISK +// + +proc int convertToSeconds (int $h, int $m, int $s) +{ + return ($h*60*60+$m*60+$s); +} + +proc int[] convertToDate (float $seconds) +{ + float $min = $seconds / 60; + float $hour = $min / 60; + int $hourI = (int)$hour; + int $minI = (int)$min; + if ($hourI>=1) + { + $minI -= $hourI*60; + $seconds -= $hourI*60*60; + } + if ($minI>=1) + $seconds -= $minI*60; + return {$hourI, $minI, (int)$seconds}; +} + +global proc NPcheckAutoSave () +{ + float $currentTime = `timerX`; + if (($currentTime >= `optionVar -q _NP_autoSaveTime`) && (`file -q -amf`)) + { + string $confirm = "Yes"; + if (`optionVar -q _NP_autoSaveConfirm`==1) + $confirm = `confirmDialog + -title "Confirm" + -message "Want you save your work?" + -button "Yes" -button "No" + -defaultButton "Yes" -cancelButton "No" -dismissString "No"`; + + if ($confirm == "Yes") FileMenu_SaveItem(); + float $seconds = `optionVar -q _NP_autoSaveSeconds`; + optionVar -floatValue _NP_autoSaveTime ($seconds+$currentTime); + } +} + +proc int scriptJobID () +{ + string $jobList[] = `scriptJob -listJobs`; + string $job, $match, $id; + for ($job in $jobList) + if (`match "NPcheckAutoSave" $job`!="") + $id = `match "[0-9]+" $job`; + if ($id == "") $id = 0; + + return ((int)$id); +} + +proc string scriptJobEvent () +{ + string $jobList[] = `scriptJob -listJobs`; + string $job, $match; + string $event = "SelectionChanged"; + for ($job in $jobList) + if (`match "NPcheckAutoSave" $job`!="") + if (`match "RecentCommandChanged" $job`!="") + $event = "RecentCommandChanged"; + + return $event; +} + +global proc NPautoSave () +{ + int $active = `optionVar -q _NP_autoSaveActive`; + int $id = scriptJobID(); + + if ($active) + { + float $seconds = `optionVar -q _NP_autoSaveSeconds`; + float $startTime = `timerX`; + optionVar -floatValue _NP_autoSaveTime ($seconds+$startTime); + + int $eventVar = `optionVar -q _NP_autoSaveEvent`; + string $event = "SelectionChanged"; + if ($eventVar == 2) $event = "RecentCommandChanged"; + + $eventJob = scriptJobEvent(); + string $job = "scriptJob -protected -event "+$event+" (\"NPcheckAutoSave()\");"; + + if ($id==0) + eval $job; + else if ($eventJob != $event) { + scriptJob -kill $id -force; + eval $job; + } + } else if ($id!=0) scriptJob -kill $id -force; +} + +proc addAutoSaveMenuItem () +{ + global string $gMainFileMenu; + string $menuItem[] = `menu -q -ia $gMainFileMenu`; + if(size($menuItem)==0) + { + print "No menu items!"; + buildFileMenu; + $menuItem = `menu -q -ia $gMainFileMenu`; + } + if (stringArrayCount("NPautoSave", $menuItem)==0) + { + //setParent -menu $gMainFileMenu; + menuItem -p $gMainFileMenu + -label "Auto Save Options" + -annotation "Enable//Disable the Auto Save" + -command ("perform_NP_autoSave(1)") + -dragMenuCommand ("perform_NP_autoSave(2)") + -dragDoubleClickCommand ("perform_NP_autoSave(1)") + -ia $menuItem[6] + NPautoSave; + //setParent -m ..; + } +} + +proc setOptionVars (int $forceFactorySettings) +{ + if ($forceFactorySettings || !`optionVar -exists _NP_autoSaveActive`) { + optionVar -intValue _NP_autoSaveActive 0; + } + if ($forceFactorySettings || !`optionVar -exists _NP_autoSaveConfirm`) { + optionVar -intValue _NP_autoSaveConfirm 1; + } + if ($forceFactorySettings || !`optionVar -exists _NP_autoSaveEvent`) { + optionVar -intValue _NP_autoSaveEvent 1; + } + if ($forceFactorySettings || !`optionVar -exists _NP_autoSaveSeconds`) { + optionVar -floatValue _NP_autoSaveSeconds 1800; + } + if ($forceFactorySettings || !`optionVar -exists _NP_autoSaveTime`) { + optionVar -floatValue _NP_autoSaveTime 3600; + } +} + +global proc _NP_autoSaveSetup (string $parent, int $forceFactorySettings) +{ + setParent $parent; + setOptionVars ($forceFactorySettings); + + checkBoxGrp -e -v1 `optionVar -q _NP_autoSaveActive` + active; + int $date[] = convertToDate (`optionVar -q _NP_autoSaveSeconds`); + intSliderGrp -e -v $date[0] + hField; + intSliderGrp -e -v $date[1] + mField; + intSliderGrp -e -v $date[2] + sField; + radioButtonGrp -e -sl `optionVar -q _NP_autoSaveEvent` + eventField; + checkBoxGrp -e -v1 `optionVar -q _NP_autoSaveConfirm` + confirm; + columnLayout -e -en `optionVar -q _NP_autoSaveActive` + activable; +} + +global proc _NP_autoSaveCallback (string $parent, int $doIt) +{ + setParent $parent; + + optionVar -intValue _NP_autoSaveActive + `checkBoxGrp -query -v1 active`; + + float $seconds = convertToSeconds ( + `intSliderGrp -query -v hField`, + `intSliderGrp -query -v mField`, + `intSliderGrp -query -v sField`); + optionVar -floatValue _NP_autoSaveSeconds $seconds; + + optionVar -intValue _NP_autoSaveConfirm + `checkBoxGrp -query -v1 confirm`; + + optionVar -intValue _NP_autoSaveEvent + `radioButtonGrp -q -sl eventField`; + if ($doIt) { + perform_NP_autoSave 0; + } +} + +proc _NP_autoSaveOptions() +{ + string $commandName = "_NP_autoSave"; + string $callback = ($commandName + "Callback"); + string $setup = ($commandName + "Setup"); + string $layout = getOptionBox(); + + setParent $layout; + setOptionBoxCommandName($commandName); + setUITemplate -pushTemplate DefaultTemplate; + waitCursor -state on; + tabLayout -tv false -scr 1; + string $parent = `columnLayout -adjustableColumn 1`; + checkBoxGrp + -label "Active" + -numberOfCheckBoxes 1 + -on1 "columnLayout -e -en 1 activable;" + -of1 "columnLayout -e -en 0 activable" + active; + columnLayout -adjustableColumn 1 activable; + frameLayout + -label "General Options" + -labelAlign "center" + -borderStyle "etchedIn" + -collapsable 0; + columnLayout -adjustableColumn 1; + intSliderGrp + -l "Hour(s)" + -minValue 0 -maxValue 23 + -fieldMinValue 0 -fieldMaxValue 23 + hField; + intSliderGrp + -l "Minutes(s)" + -minValue 0 -maxValue 59 + -fieldMinValue 0 -fieldMaxValue 59 + mField; + intSliderGrp + -l "Second(s)" + -minValue 0 -maxValue 59 + -fieldMinValue 0 -fieldMaxValue 59 + sField; + setParent..;setParent..; + frameLayout + -label "Advanced Options" + -labelAlign "center" + -borderStyle "etchedIn" + -collapsable 0; + columnLayout -adjustableColumn 1; + checkBoxGrp + -label "Confirm" + -numberOfCheckBoxes 1 + confirm; + radioButtonGrp + -label "Run script on" + -numberOfRadioButtons 2 + -labelArray2 "Selection Changed" + "Recent Command Changed" + -cw3 170 120 200 + -select 1 + eventField; + + setUITemplate -popTemplate; + + string $applyBtn = getOptionBoxApplyBtn(); + button -e + -label "Create" + -command ($callback + " " + $parent + " " + 1) + $applyBtn; + string $saveBtn = getOptionBoxSaveBtn(); + button -e + -command ($callback + " " + $parent + " " + 0 + "; hideOptionBox") + $saveBtn; + string $resetBtn = getOptionBoxResetBtn(); + button -e + -command ($setup + " " + $parent + " " + 1) + $resetBtn; + setOptionBoxTitle("Auto Save Options"); + + string $helpArg = "-a \"http://n.pastrana.free.fr/mel/\""; + if (getApplicationVersionAsFloat() >= 8.0) + $helpArg = ""; + setOptionBoxHelpTag($helpArg); + + eval (($setup + " " + $parent + " " + 0)); + showOptionBox(); + waitCursor -state off; +} + + +proc string assembleCmd() +{ + string $cmd; + $cmd = "NPautoSave ()"; + return $cmd; +} + + +global proc string perform_NP_autoSave (int $action) +{ + string $cmd = ""; + + switch ($action) { + case 0: + setOptionVars(false); + $cmd = `assembleCmd`; + evalEcho($cmd); + break; + + case 1: + _NP_autoSaveOptions; + break; + + case 2: + setOptionVars (false); + $cmd = `assembleCmd`; + break; + } + return $cmd; +} + +addAutoSaveMenuItem; +perform_NP_autoSave 0; diff --git a/2009-x64/MiscScripts/scripts/RoadKill.mel b/2009-x64/MiscScripts/scripts/RoadKill.mel new file mode 100644 index 0000000..2d7c02a --- /dev/null +++ b/2009-x64/MiscScripts/scripts/RoadKill.mel @@ -0,0 +1,270 @@ +// RoadKill 1.1 MEL script +// Written in a rush by Andy Swann, with massive assistance from Dave Smith and Jason Williams +// +// What goes on in here is easy, just like boom, just like pow! + + + +//global proc DoExport() +global proc RoadKill() +{ + window -widthHeight 190 120 -title "RoadKill v1.1" RoadKill; + columnLayout ColumnLayout; + frameLayout -labelVisible false -marginWidth 5 -marginHeight 5; + columnLayout; + + global string $RKcheckLSCM; + global string $RKcheckHoles; + global string $RKcheckLive; + + + // Mesh Filename + text -height 5 -label " "; + + $RKcheckLSCM= `checkBox -label "Use LSCM"`; + separator -width 160; + + // Anim Filename + text -height 5 -label " "; + $RKcheckHoles= `checkBox -label "Don't Fill Holes"`; + separator -width 160; + + // Text Filename + text -height 5 -label " "; + $RKcheckLive= `checkBox -label "Live Unwrap"`; + separator -width 160; + + text -height 5 -label " "; + string $button = `button -label "Unwrap"`; + button -edit -command ("DoUnwrap") $button; + + setParent ..; + + showWindow; +} + + +global proc string GetLSCM() +{ + global string $RKcheckLSCM; + string $temp; + + if (!`checkBox -q -v $RKcheckLSCM`) + { + $temp = ",-abf"; + } + else + { + $temp = ",-lscm"; + } + return $temp; +} + + + +global proc string GetHoles() +{ + global string $RKcheckHoles; + string $temp; + + if (!`checkBox -q -v $RKcheckHoles`) + { + $temp = ",-nofillholes"; + } + else + { + $temp = ",-fillholes"; + } + return $temp; +} + + + +global proc string GetLive() +{ + global string $RKcheckLive; + string $temp; + + if (!`checkBox -q -v $RKcheckLive`) + { + $temp = ",-notlive"; + } + else + { + $temp = ",-live"; + } + return $temp; +} + + + + + +global proc DoUnwrap() +{ + global string $RKselectedMesh[]; + global string $RKoldDAG[]; + global int $FailedOBJExport; + string $filename = `workspace -q -dir`; + string $edgefilename; + + string $LSCMText = GetLSCM(); + string $holesText = GetHoles(); + string $liveText = GetLive(); + + string $selectedEdges[] = `filterExpand -sm 32 -fp 1 -ex 1`; + $RKoldDAG = `ls`; + + $edgefilename = $filename + "1234Edges.edg"; + $filename = $filename + "1234Temp.obj"; + + + if (!`pluginInfo -query -l objExport`) + { + loadPlugin objExport; + pluginInfo -edit -autoload true objExport; + } + + + $FailedOBJExport = false; + getSelectedEdges($edgefilename); + dsSafeObjExport($filename); // export the mesh as a .OBJ + + if($FailedOBJExport == false) + { + print("RoadKill1_1.exe " + "\"" + $filename + "," + $edgefilename + $LSCMText + $holesText + $liveText + "\"" + "\n"); + system("RoadKill1_1.exe " + "\"" + $filename + "," + $edgefilename + $LSCMText + $holesText + $liveText + "\""); + + undoInfo -stateWithoutFlush off; // this 'undo off' does not work. Thanks Maya!! :^( + goGoObjImport($filename, "arse"); // import the mesh with new UV's + undoInfo -stateWithoutFlush on; + + TransferNewUVs(); + sysFile -del $filename; + + select -cl; + select $RKselectedMesh; + selectMode -co; + select $selectedEdges; + } + + sysFile -del $edgefilename; +} + + + +global proc TransferNewUVs() +{ + global string $RKselectedMesh[]; + global string $RKoldDAG[]; + string $newDAG[]; + + $newDAG = `ls`; + + string $newMesh[] = stringArrayRemove($RKoldDAG, $newDAG); + + select $newMesh; + select -add $RKselectedMesh; + + polyTransfer -vc 0 -uv 1 -v 0 -ao $newMesh $RKselectedMesh; + + undoInfo -stateWithoutFlush off; + delete $newMesh; + undoInfo -stateWithoutFlush on; +} + + + +global proc goGoObjImport(string $result, string $type) +{ + file -import -type "OBJ" -options "mo=0" $result; +} + + + +global proc goGoObjExport(string $result, string $type) +{ + file -op "groups=0;ptgroups=0;materials=0;smoothing=1;normals=1" -es -typ "OBJexport" -pr -es ($result + ".obj"); +} + + + +global proc dsSafeObjExport(string $filename) +{ + global string $RKselectedMesh[]; + global string $RKshapeNode[]; + global int $FailedOBJExport; + string $meshCheck[]; + int $cleanUpOut; + + $RKshapeNode = `ls -sl -l -o`; + if (`nodeType $RKshapeNode` == "shape") + { + $RKselectedMesh[0] = `listRelatives -p $RKshapeNode[0]`; + } + else + { + $RKselectedMesh[0] = $RKshapeNode[0]; + } + + $meshCheck = `listRelatives -s $RKselectedMesh[0]`; + if (`size ($RKselectedMesh)` != 1 && `nodeType $meshCheck[0]` != "mesh") + { + error "Incorrect selection. Select one mesh.\n"; + $FailedOBJExport = true; + } + else + { + int $cleanUpOut = size (`polyCleanupArgList 3 { "0","2","1","0","0","0","0","0","0","1e-005","0","1e-005","0","1e-005","0","1","1" }`); + if ($cleanUpOut != 0) + { + error "Mesh requires cleanup"; + $FailedOBJExport = true; + } + else + { +// print "Mesh meets export requirements - proceeding with export.\n"; + selectMode -o; + select -cl; + select $RKselectedMesh[0]; + + goGoObjExport($filename, "Arse"); + } + } +} + + + +global proc getSelectedEdges(string $edgefilename) +{ + string $selectedEdges[]=`filterExpand -sm 32 -fp 1 -ex 1`; + + int $size = `size $selectedEdges`; + int $iter=0; + + if($size == 0) + { + return; + } + + + int $fileId = `fopen $edgefilename "w"`; + int $edgecount = $size; + + fwrite $fileId $edgecount; + + while ($iter<$size) + { + string $vertices[] = `polyInfo -ev $selectedEdges[$iter]`; + + string $buffer[]; + int $numTokens = tokenize($vertices[0], $buffer); + + fwrite $fileId $buffer[2]; + fwrite $fileId $buffer[3]; + + $iter++; + } + + fclose $fileId; +} diff --git a/2009-x64/MiscScripts/scripts/abxPicker.2006-10-02.mel b/2009-x64/MiscScripts/scripts/abxPicker.2006-10-02.mel new file mode 100644 index 0000000..64a6e18 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/abxPicker.2006-10-02.mel @@ -0,0 +1,1178 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: abxPicker +'' Author: +'' Last Updated: Oct 02, 2006 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/animation/4216.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +// Picker Maya Script +// abxPicker.mel +// +// Version 1.0 +// Created by J. Adam Burke adam@adamburke.net +// Modified : 31 Sep 2006 + + +// DESCRIPTION: +// abxPicker provides artists, animators, and character TDs with an intuitive interface +// for creating and using custom character control interfaces. Using drag and drop, you +// can create, position, resize, and edit buttons to select character controls. + +// USAGE: +// Source script and call "abxPicker;" +// assign to shelf or hotkey as preferred + + +// ©2006 J. Adam Burke +// http://www.adamburke.net + +global proc abxPicker(){ + if (`window -q -ex abxPickerWindow`){ + showWindow abxPickerWindow; + } + else{ + string $parent = `window -w 200 -h 300 -t abxPicker -tlb true abxPickerWindow`; + $panelName = "abxPicker"; + setParent $parent; + $panelName = `formLayout -w 500 -h 500 $panelName`; + //tabLayout -e -tabLabel $panelName "Picker" $parent; + + //--------------Toolbar Layout----------------------- + rowLayout -nc 5 -adj 3 -co5 0 0 2 0 0 -cw5 23 23 67 23 23 -ct5 "both" "both" "both" "both" "both" -cl5 "center" "center" "right" "center" "center" abxPickerToolbar; + iconTextButton -ann "New Picker Sheet" -image "fileNew.xpm" -w 23 -h 23 -command "layout -e -visible false abxPickerCharTabs;layout -e -visible true abxPickerNewForm"; + iconTextButton -ann "Save Picker Sheet" -di "fileNew.xpm" -image "fileSave.xpm" -vis false -w 23 -h 23 -command "abxPickerWriteNode `tabLayout -q -st (eval(\"tabLayout -q -st abxPickerCharTabs\"))`;iconTextButton -e -vis false abxPickerSave;" abxPickerSave; + textField -ann "Character Menu" -editable false -text "None" abxPickerCharText; + popupMenu -b 1 abxPickerCharMenu; + iconTextButton -ann "Redraw Picker Sheet" -image "autoload.xpm" -w 23 -h 23 -command "abxPickerRefresh"; + iconTextButton -ann "Help" -style "iconOnly" -w 23 -h 23 -image "pickOtherComp.xpm" -label "?" -command "abxPickerHelp"; + + + setParent..; + + //--------------Picker Tab Layout-------------------- + tabLayout -tabsVisible false -imw 0 -imh 0 abxPickerCharTabs; + abxPickerRefresh; + setParent..; + + //--------------Bottom Toolbar Layout----------------- + columnLayout -parent $panelName -w 400 -cal "center" -cat "both" 0 -adj true abxPickerColLyt; + rowLayout -cw 1 17 -cw 2 17 -cw 3 17 -cw 4 17 -cw 5 20 -cw 6 20 -cw 7 20 -cw 8 20 -cw 9 20 -nc 9 -adj 8; + + iconTextButton -style "iconOnly" -ann "Drag and Drop: Red" -dtg "0:0:.7:.4:.4" -w 16 -h 16 -bgc .7 .4 .4 -dgc "abxPickerCtrlNew"; + iconTextButton -style "iconOnly" -ann "Drag and Drop: Green" -dtg "0:0:.4:.7:.4" -w 16 -h 16 -bgc .4 .7 .4 -dgc "abxPickerCtrlNew"; + iconTextButton -style "iconOnly" -ann "Drag and Drop: Blue" -dtg "0:0:.4:.5:.7" -w 16 -h 16 -bgc .4 .5 .7 -dgc "abxPickerCtrlNew"; + iconTextButton -style "iconOnly" -ann "Drag and Drop: Yellow" -dtg "0:0:.7:.7:.4" -w 16 -h 16 -bgc .7 .7 .4 -dgc "abxPickerCtrlNew"; + iconTextButton -style "textOnly" -ann "Command: Select Current" -label "Sl" -w 19 -h 16 -bgc .5 .5 .5 -dgc "abxPickerCtrlCommand" -c "/*select*/"; + iconTextButton -style "textOnly" -ann "Command: Select Current and Translate" -label "T" -w 19 -h 16 -bgc .5 .5 .5 -dgc "abxPickerCtrlCommand" -c "/*selectT*/"; + iconTextButton -style "textOnly" -ann "Command: Select Current and Rotate" -label "R" -w 19 -h 16 -bgc .5 .5 .5 -dgc "abxPickerCtrlCommand" -c "/*selectR*/"; + iconTextButton -style "textOnly" -l "More..." -w 16 -h 16 -c "abxPickerBuildToolbox" ; + iconTextButton -mw 0 -mh 0 -ann "Trash: Drag ctrls here to Delete" -style "iconOnly" -image "smallTrash.xpm" -w 20 -h 17 -dpc "abxPickerCtrlTrash"; + setParent..; + + //--------------New Picker Layout ------------------- + columnLayout -visible false -rs 2 -cat "both" 3 -adj true -parent $panelName abxPickerNewForm; + textFieldGrp -adj 2 -cw 1 50 -label "Name" -text "Character" abxPickerCharNameTxt; + textFieldGrp -adj 2 -cw 1 50 -label "SubSet" -text "Main" abxPickerSubNameTxt; + textFieldButtonGrp -adj 2 -cw 1 50 -cw 3 30 -label "Image" -text "" -buttonLabel "B.." -bc "fileBrowserDialog -m 0 -fc \"abxPickerBrowsePath\" -an \"Choose Background Image\" -ds 0" abxPickerImagePath; + colorSliderGrp -adj 3 -cw 1 50 -cw 2 30 -label "Color" -rgb .4 .4 .4 abxPickerBGColor; + rowLayout -adj 1 -nc 3 -cw3 10 50 50 -ct3 "both" "both" "both" -cl3 "center" "center" "center" -co3 5 5 5; + button -visible false; + button -label "OK" -c "abxPickerNewSheet;layout -e -visible true abxPickerCharTabs;layout -e -visible false abxPickerNewForm" ; + button -label "Cancel" -c "layout -e -visible true abxPickerCharTabs;layout -e -visible false abxPickerNewForm"; + setParent..; + text -al "center" -label "Tip: Leave \"Name\" field blank\n when using referencing with\n rename prefixes or namespaces"; + + + formLayout -e + -af abxPickerToolbar "top" 0 + -af abxPickerToolbar "left" 0 + -af abxPickerToolbar "right" 0 + -aof abxPickerToolbar "bottom" -24 + + -af abxPickerCharTabs "top" 24 + -af abxPickerCharTabs "left" 0 + -af abxPickerCharTabs "right" 0 + -ap abxPickerCharTabs "bottom" 18 100 + + -af abxPickerNewForm "top" 24 + -af abxPickerNewForm "left" 0 + -af abxPickerNewForm "right" 0 + -ap abxPickerNewForm "bottom" 20 100 + + -aof abxPickerColLyt "top" -17 + -af abxPickerColLyt "left" 1 + -af abxPickerColLyt "right" 1 + -ap abxPickerColLyt "bottom" 1 100 + + $panelName; + + // create script job to refresh picker window on scene loads + string $listArray[] = `scriptJob -lj`; + string $tokenBuffer[]; + int $foundJob = 0; + int $jobNum =0; + + for ($i=0;$i=$leftPos && $y>=$topPos && $x<=($leftPos+$width) && $y<=($topPos+$height)){ + //print ($x+":"+$y+":::"+$leftPos+","+$topPos+","+($leftPos+$width)+","+($topPos+$height)+"\n"); + //print ($uiName[$i]+"\n"); + // flashes UI Color; + //iconTextButton -e -bgc 1 1 1 $uiName[$i]; + //iconTextButton -e -bgc $red $green $blue $uiName[$i]; + return $uiName[$i]; + } + } + return ""; + +} +//------------------------------------------------------------------------ +//sets the position of the button using attach position commands to the form layout + +global proc abxPickerSetPos(string $parent, string $control, int $x, int $y,int $width, int $height){ + + int $rightPos = ($x + $width)*-1; + int $bottomPos = ($y + $height)*-1; + int $parentWidth = `layout -q -w $parent`; + int $parentHeight = `layout -q -h $parent`; + + formLayout -e + -ap $control "left" $x 0 + -ap $control "top" $y 0 + -ap $control "right" $rightPos 0 + -ap $control "bottom" $bottomPos 0 + $parent; +} + +//-------------------------------------------------------------------------- +// creates a new button and encodes the position/color data into the label + +global proc string abxPickerNewButton(int $ctrlX, int $ctrlY, int $ctrlWidth, int $ctrlHeight, float $bgr, float $bgg, float $bgb, string $image,string $command, string $label){ + + + // stores position and color data so it can be queried + $data = ($ctrlX+":"+$ctrlY+":"+$bgr+":"+$bgg+":"+$bgb); + string $newCtrl = `iconTextButton -mh 0 -mw 0 -style "iconAndTextVertical" -l $label -dtg $data -w $ctrlWidth -h $ctrlHeight -bgc $bgr $bgg $bgb -dgc "abxPickerCtrlDrag" -image $image -c $command`; + return $newCtrl; + +} + +//------------------------------------------------------------------------- +// shows the new form and creates a blank layout and node + +global proc abxPickerNewSheet () { + + global string $pickrPrefix; + string $characterName = `textFieldGrp -q -text abxPickerCharNameTxt`; + string $characterName2 = ""; + if ($characterName != "") + $characterName2 = ($characterName + "_"); + string $subCharName = `textFieldGrp -q -text abxPickerSubNameTxt`; + string $bgImage = `textFieldButtonGrp -q -text abxPickerImagePath`; + float $bgColor[] = `colorSliderGrp -q -rgb abxPickerBGColor`; + string $bgPic; + + if (!`tabLayout -q -ex ($characterName+"PkrLyt")`){ + tabLayout -parent abxPickerCharTabs ($characterName+"PkrLyt"); + //menuItem -parent "abxPickerCharMenu" -label $characterName -c ("tabLayout -e -st "+$characterName+"PkrLyt abxPickerCharTabs;textField -e -text "+$characterName+" abxPickerCharText"); + } + if ($characterName == "") + formLayout -parent ($characterName+"PkrLyt") -dtg (" |"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + else + formLayout -parent ($characterName+"PkrLyt") -dtg ($characterName2+"|"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + if (`filetest -f $bgImage`){ + $bgPic = `symbolButton -enable false -image $bgImage -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + //int $tmpWidth = `control -q -w $bgPic`; + //int $tmpHeight = `control -q -h $bgPic`; + //deleteUI -control $bgPic; + //$bgPic = `iconTextButton -mh 0 -mw 0 -w $tmpWidth -h $tmpHeight -enable false -bgc $bgColor[0] $bgColor[1] $bgColor[2] -image $bgImage`; + } + else { + $bgPic = `symbolButton -visible false -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + } + tabLayout -e -tabLabel ($characterName2+$subCharName+"PkrLyt") $subCharName ($characterName+"PkrLyt"); + formLayout -e + -af $bgPic "top" -2 + -af $bgPic "left" -2 + -an $bgPic "right" + -an $bgPic "bottom" + ($characterName2+$subCharName+"PkrLyt"); + + setParent ..; + $pickrPrefix = ""; + if ($characterName == ""){ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 1 ; + } + else{ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 0 ; + } + if ($characterName != "") + menuItem -parent "abxPickerCharMenu" -label $characterName -c ("abxPickerMenuCmd \""+$characterName+"\""); + else + menuItem -parent "abxPickerCharMenu" -label "*Prefix*" -c ("abxPickerMenuCmd \""+$characterName+"\""); + abxPickerMenuCmd $characterName; + //textField -e -text $characterName abxPickerCharText; + //tabLayout -e -st ($characterName2+$subCharName+"PkrLyt") ($characterName+"PkrLyt"); + //tabLayout -e -st ($characterName+"PkrLyt") abxPickerCharTabs; + + +} + +//------------------------------------------------------------------------- +// deletes all current picker layouts and redraws them from the saved nodes + +global proc abxPickerRefresh () { + + string $pickerNodes[] = `ls "*_PIKR"`; + string $loadedSheets[]; + string $lastChar; + string $charName; + string $charName2; + string $subName; + string $tokenBuffer[]; + $pickerNodes = stringArrayCatenate($pickerNodes,`ls "*:*_PIKR"`); + + if (`tabLayout -q -ex abxPickerCharTabs`){ + $loadedSheets = `tabLayout -q -ca abxPickerCharTabs`; + $lastChar = `textField -q -text abxPickerCharText`; + } + + // hides all pickersheets, deletes picker sheets and character menu items. + tabLayout -e -visible false abxPickerCharTabs; + textField -e -text "None" abxPickerCharText; + for ($each in $loadedSheets) + deleteUI -layout $each; + popupMenu -e -dai abxPickerCharMenu; + + if (size($pickerNodes) > 0){ + setParent abxPickerCharTabs; + + for ($each in $pickerNodes){ + $charName=""; + tokenize $each ":" $tokenBuffer; + if (size($tokenBuffer) < 2){ + tokenize $each "_" $tokenBuffer; + if (size($tokenBuffer) >= 3){ + $charName = ($tokenBuffer[0]); + for ($i=1;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i1) + $pickrPrefix = ($charName+":"); + else + $pickrPrefix = $charName2; + + for ($i=0;$i<$count;$i++){ + tokenize $data[$i] ":" $tokenBuffer; + int $xPos = $tokenBuffer[0]; + int $yPos = $tokenBuffer[1]; + float $bgr = $tokenBuffer[2]; + float $bgg = $tokenBuffer[3]; + float $bgb = $tokenBuffer[4]; + string $control; + + // if prefix flag is true + if ($charPrefix == 1){ + // if the data node has a rename prefix + if ($charName2!=""){ + // create the button that sets the pickrPrefix + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\""+$pickrPrefix+"\";"+$command[$i]) $label[$i]`; + } + else{ + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + } + else { + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + abxPickerSetPos ($charName2+$subName+"PkrLyt") $control $xPos $yPos $width[$i] $height[$i]; + } + textField -e -text $charName abxPickerCharText; + // formLayout -e -visible true ($charName2+$subName+"PkrLyt"); +} + +//------------------------------------------------------------------ +// writes the picker data to a transform node + +global proc abxPickerWriteNode (string $picker) { + + int $buttonCount = `layout -q -nch $picker`; + string $uiName[] = `layout -q -ca $picker`; + string $bgImage = `symbolButton -q -image $uiName[0]`; + string $pickerData = `layout -q -dtg $picker`; + + string $data[]; + int $width[]; + int $height[]; + string $overlay[]; + string $image[]; + string $command[]; + string $label[]; + string $nodeName = ""; + + for ($i=1;$i<$buttonCount;$i++){ + $data[$i-1] = `iconTextButton -q -dtg $uiName[$i]`; + $width[$i-1] = `control -q -width $uiName[$i]`; + $height[$i-1] = `control -q -height $uiName[$i]`; + $overlay[$i-1] = `iconTextButton -q -imageOverlayLabel $uiName[$i]`; + $image[$i-1] = `iconTextButton -q -image1 $uiName[$i]`; + $command[$i-1] = `iconTextButton -q -command $uiName[$i]`; + $label[$i-1] = `iconTextButton -q -label $uiName[$i]`; + } + string $pickerDataBuffer[]; + tokenize $pickerData "|" $pickerDataBuffer; + if ($pickerDataBuffer[0] == " ") + $nodeName = ($pickerDataBuffer[1]+"_PIKR"); + else + $nodeName = ($pickerDataBuffer[0]+$pickerDataBuffer[1]+"_PIKR"); + if (!objExists($nodeName)) + abxPickerNewNode ($nodeName) "" "" 0; + + print ("Saving "+$nodeName+"\n"); + + setAttr ($nodeName+".bgImage") -type "string" $bgImage; + setAttr ($nodeName+".bgColor") -type "string" ($pickerDataBuffer[2]+":"+$pickerDataBuffer[3]+":"+$pickerDataBuffer[4]); + setAttr ($nodeName+".count") ($buttonCount-1); + + int $charPrefix = `getAttr ($nodeName+".charPrefix")`; + + // build setAttr + string $setAttrCmd = ("setAttr "+$nodeName+".data -type stringArray "+($buttonCount-1)); + for ($each in $data) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".overlay -type stringArray "+($buttonCount-1)); + for ($each in $overlay) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".image -type stringArray "+($buttonCount-1)); + for ($each in $image) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + // writes the command data, removes prefix code + + string $setAttrCmd = ("setAttr "+$nodeName+".command -type stringArray "+($buttonCount-1)); + for ($each in $command) { + //if ($charPrefix == 1){ + string $tokenBuffer[]; + tokenize $each ";" $tokenBuffer; + string $newCommand = ""; + $newCommand = $tokenBuffer[1]; + for ($i=2;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i=$leftPos && $y>=$topPos && $x<=($leftPos+$width) && $y<=($topPos+$height)){ + //print ($x+":"+$y+":::"+$leftPos+","+$topPos+","+($leftPos+$width)+","+($topPos+$height)+"\n"); + //print ($uiName[$i]+"\n"); + // flashes UI Color; + //iconTextButton -e -bgc 1 1 1 $uiName[$i]; + //iconTextButton -e -bgc $red $green $blue $uiName[$i]; + return $uiName[$i]; + } + } + return ""; + +} +//------------------------------------------------------------------------ +//sets the position of the button using attach position commands to the form layout + +global proc abxPickerSetPos(string $parent, string $control, int $x, int $y,int $width, int $height){ + + int $rightPos = ($x + $width)*-1; + int $bottomPos = ($y + $height)*-1; + int $parentWidth = `layout -q -w $parent`; + int $parentHeight = `layout -q -h $parent`; + + formLayout -e + -ap $control "left" $x 0 + -ap $control "top" $y 0 + -ap $control "right" $rightPos 0 + -ap $control "bottom" $bottomPos 0 + $parent; +} + +//-------------------------------------------------------------------------- +// creates a new button and encodes the position/color data into the label + +global proc string abxPickerNewButton(int $ctrlX, int $ctrlY, int $ctrlWidth, int $ctrlHeight, float $bgr, float $bgg, float $bgb, string $image,string $command, string $label){ + + + // stores position and color data so it can be queried + $data = ($ctrlX+":"+$ctrlY+":"+$bgr+":"+$bgg+":"+$bgb); + string $newCtrl = `iconTextButton -mh 0 -mw 0 -style "iconAndTextVertical" -l $label -dtg $data -w $ctrlWidth -h $ctrlHeight -bgc $bgr $bgg $bgb -dgc "abxPickerCtrlDrag" -image $image -c $command`; + return $newCtrl; + +} + +//------------------------------------------------------------------------- +// shows the new form and creates a blank layout and node + +global proc abxPickerNewSheet () { + + global string $pickrPrefix; + string $characterName = `textFieldGrp -q -text abxPickerCharNameTxt`; + string $characterName2 = ""; + if ($characterName != "") + $characterName2 = ($characterName + "_"); + string $subCharName = `textFieldGrp -q -text abxPickerSubNameTxt`; + string $bgImage = `textFieldButtonGrp -q -text abxPickerImagePath`; + float $bgColor[] = `colorSliderGrp -q -rgb abxPickerBGColor`; + string $bgPic; + + if (!`tabLayout -q -ex ($characterName+"PkrLyt")`){ + tabLayout -parent abxPickerCharTabs ($characterName+"PkrLyt"); + //menuItem -parent "abxPickerCharMenu" -label $characterName -c ("tabLayout -e -st "+$characterName+"PkrLyt abxPickerCharTabs;textField -e -text "+$characterName+" abxPickerCharText"); + } + if ($characterName == "") + formLayout -parent ($characterName+"PkrLyt") -dtg (" |"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + else + formLayout -parent ($characterName+"PkrLyt") -dtg ($characterName2+"|"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + if (`filetest -f $bgImage`){ + $bgPic = `symbolButton -enable false -image $bgImage -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + //int $tmpWidth = `control -q -w $bgPic`; + //int $tmpHeight = `control -q -h $bgPic`; + //deleteUI -control $bgPic; + //$bgPic = `iconTextButton -mh 0 -mw 0 -w $tmpWidth -h $tmpHeight -enable false -bgc $bgColor[0] $bgColor[1] $bgColor[2] -image $bgImage`; + } + else { + $bgPic = `symbolButton -visible false -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + } + tabLayout -e -tabLabel ($characterName2+$subCharName+"PkrLyt") $subCharName ($characterName+"PkrLyt"); + formLayout -e + -af $bgPic "top" -2 + -af $bgPic "left" -2 + -an $bgPic "right" + -an $bgPic "bottom" + ($characterName2+$subCharName+"PkrLyt"); + + setParent ..; + $pickrPrefix = ""; + if ($characterName == ""){ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 1 ; + } + else{ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 0 ; + } + if ($characterName != "") + menuItem -parent "abxPickerCharMenu" -label $characterName -c ("abxPickerMenuCmd \""+$characterName+"\""); + else + menuItem -parent "abxPickerCharMenu" -label "*Prefix*" -c ("abxPickerMenuCmd \""+$characterName+"\""); + abxPickerMenuCmd $characterName; + //textField -e -text $characterName abxPickerCharText; + //tabLayout -e -st ($characterName2+$subCharName+"PkrLyt") ($characterName+"PkrLyt"); + //tabLayout -e -st ($characterName+"PkrLyt") abxPickerCharTabs; + + +} + +//------------------------------------------------------------------------- +// deletes all current picker layouts and redraws them from the saved nodes + +global proc abxPickerRefresh () { + + string $pickerNodes[] = `ls "*_PIKR"`; + string $loadedSheets[]; + string $lastChar; + string $charName; + string $charName2; + string $subName; + string $tokenBuffer[]; + $pickerNodes = stringArrayCatenate($pickerNodes,`ls "*:*_PIKR"`); + + if (`tabLayout -q -ex abxPickerCharTabs`){ + $loadedSheets = `tabLayout -q -ca abxPickerCharTabs`; + $lastChar = `textField -q -text abxPickerCharText`; + } + + // hides all pickersheets, deletes picker sheets and character menu items. + tabLayout -e -visible false abxPickerCharTabs; + textField -e -text "None" abxPickerCharText; + for ($each in $loadedSheets) + deleteUI -layout $each; + popupMenu -e -dai abxPickerCharMenu; + + if (size($pickerNodes) > 0){ + setParent abxPickerCharTabs; + + for ($each in $pickerNodes){ + $charName=""; + tokenize $each ":" $tokenBuffer; + if (size($tokenBuffer) < 2){ + tokenize $each "_" $tokenBuffer; + if (size($tokenBuffer) >= 3){ + $charName = ($tokenBuffer[0]); + for ($i=1;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i1) + $pickrPrefix = ($charName+":"); + else + $pickrPrefix = $charName2; + + for ($i=0;$i<$count;$i++){ + tokenize $data[$i] ":" $tokenBuffer; + int $xPos = $tokenBuffer[0]; + int $yPos = $tokenBuffer[1]; + float $bgr = $tokenBuffer[2]; + float $bgg = $tokenBuffer[3]; + float $bgb = $tokenBuffer[4]; + string $control; + + // if prefix flag is true + if ($charPrefix == 1){ + // if the data node has a rename prefix + if ($charName2!=""){ + // create the button that sets the pickrPrefix + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\""+$pickrPrefix+"\";"+$command[$i]) $label[$i]`; + } + else{ + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + } + else { + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + abxPickerSetPos ($charName2+$subName+"PkrLyt") $control $xPos $yPos $width[$i] $height[$i]; + } + textField -e -text $charName abxPickerCharText; + // formLayout -e -visible true ($charName2+$subName+"PkrLyt"); +} + +//------------------------------------------------------------------ +// writes the picker data to a transform node + +global proc abxPickerWriteNode (string $picker) { + + int $buttonCount = `layout -q -nch $picker`; + string $uiName[] = `layout -q -ca $picker`; + string $bgImage = `symbolButton -q -image $uiName[0]`; + string $pickerData = `layout -q -dtg $picker`; + + string $data[]; + int $width[]; + int $height[]; + string $overlay[]; + string $image[]; + string $command[]; + string $label[]; + string $nodeName = ""; + + for ($i=1;$i<$buttonCount;$i++){ + $data[$i-1] = `iconTextButton -q -dtg $uiName[$i]`; + $width[$i-1] = `control -q -width $uiName[$i]`; + $height[$i-1] = `control -q -height $uiName[$i]`; + $overlay[$i-1] = `iconTextButton -q -imageOverlayLabel $uiName[$i]`; + $image[$i-1] = `iconTextButton -q -image1 $uiName[$i]`; + $command[$i-1] = `iconTextButton -q -command $uiName[$i]`; + $label[$i-1] = `iconTextButton -q -label $uiName[$i]`; + } + string $pickerDataBuffer[]; + tokenize $pickerData "|" $pickerDataBuffer; + if ($pickerDataBuffer[0] == " ") + $nodeName = ($pickerDataBuffer[1]+"_PIKR"); + else + $nodeName = ($pickerDataBuffer[0]+$pickerDataBuffer[1]+"_PIKR"); + if (!objExists($nodeName)) + abxPickerNewNode ($nodeName) "" "" 0; + + print ("Saving "+$nodeName+"\n"); + + setAttr ($nodeName+".bgImage") -type "string" $bgImage; + setAttr ($nodeName+".bgColor") -type "string" ($pickerDataBuffer[2]+":"+$pickerDataBuffer[3]+":"+$pickerDataBuffer[4]); + setAttr ($nodeName+".count") ($buttonCount-1); + + int $charPrefix = `getAttr ($nodeName+".charPrefix")`; + + // build setAttr + string $setAttrCmd = ("setAttr "+$nodeName+".data -type stringArray "+($buttonCount-1)); + for ($each in $data) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".overlay -type stringArray "+($buttonCount-1)); + for ($each in $overlay) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".image -type stringArray "+($buttonCount-1)); + for ($each in $image) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + // writes the command data, removes prefix code + + string $setAttrCmd = ("setAttr "+$nodeName+".command -type stringArray "+($buttonCount-1)); + for ($each in $command) { + //if ($charPrefix == 1){ + string $tokenBuffer[]; + tokenize $each ";" $tokenBuffer; + string $newCommand = ""; + $newCommand = $tokenBuffer[1]; + for ($i=2;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i=$leftPos && $y>=$topPos && $x<=($leftPos+$width) && $y<=($topPos+$height)){ + //print ($x+":"+$y+":::"+$leftPos+","+$topPos+","+($leftPos+$width)+","+($topPos+$height)+"\n"); + //print ($uiName[$i]+"\n"); + // flashes UI Color; + //iconTextButton -e -bgc 1 1 1 $uiName[$i]; + //iconTextButton -e -bgc $red $green $blue $uiName[$i]; + return $uiName[$i]; + } + } + return ""; + +} +//------------------------------------------------------------------------ +//sets the position of the button using attach position commands to the form layout + +global proc abxPickerSetPos(string $parent, string $control, int $x, int $y,int $width, int $height){ + + int $rightPos = ($x + $width)*-1; + int $bottomPos = ($y + $height)*-1; + int $parentWidth = `layout -q -w $parent`; + int $parentHeight = `layout -q -h $parent`; + + formLayout -e + -ap $control "left" $x 0 + -ap $control "top" $y 0 + -ap $control "right" $rightPos 0 + -ap $control "bottom" $bottomPos 0 + $parent; +} + +//-------------------------------------------------------------------------- +// creates a new button and encodes the position/color data into the label + +global proc string abxPickerNewButton(int $ctrlX, int $ctrlY, int $ctrlWidth, int $ctrlHeight, float $bgr, float $bgg, float $bgb, string $image,string $command, string $label){ + + + // stores position and color data so it can be queried + $data = ($ctrlX+":"+$ctrlY+":"+$bgr+":"+$bgg+":"+$bgb); + string $newCtrl = `iconTextButton -mh 0 -mw 0 -style "iconAndTextVertical" -l $label -dtg $data -w $ctrlWidth -h $ctrlHeight -bgc $bgr $bgg $bgb -dgc "abxPickerCtrlDrag" -image $image -c $command`; + return $newCtrl; + +} + +//------------------------------------------------------------------------- +// shows the new form and creates a blank layout and node + +global proc abxPickerNewSheet () { + + global string $pickrPrefix; + string $characterName = `textFieldGrp -q -text abxPickerCharNameTxt`; + string $characterName2 = ""; + if ($characterName != "") + $characterName2 = ($characterName + "_"); + string $subCharName = `textFieldGrp -q -text abxPickerSubNameTxt`; + string $bgImage = `textFieldButtonGrp -q -text abxPickerImagePath`; + float $bgColor[] = `colorSliderGrp -q -rgb abxPickerBGColor`; + string $bgPic; + + if (!`tabLayout -q -ex ($characterName+"PkrLyt")`){ + tabLayout -parent abxPickerCharTabs ($characterName+"PkrLyt"); + //menuItem -parent "abxPickerCharMenu" -label $characterName -c ("tabLayout -e -st "+$characterName+"PkrLyt abxPickerCharTabs;textField -e -text "+$characterName+" abxPickerCharText"); + } + if ($characterName == "") + formLayout -parent ($characterName+"PkrLyt") -dtg (" |"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + else + formLayout -parent ($characterName+"PkrLyt") -dtg ($characterName2+"|"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + if (`filetest -f $bgImage`){ + $bgPic = `symbolButton -enable false -image $bgImage -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + //int $tmpWidth = `control -q -w $bgPic`; + //int $tmpHeight = `control -q -h $bgPic`; + //deleteUI -control $bgPic; + //$bgPic = `iconTextButton -mh 0 -mw 0 -w $tmpWidth -h $tmpHeight -enable false -bgc $bgColor[0] $bgColor[1] $bgColor[2] -image $bgImage`; + } + else { + $bgPic = `symbolButton -visible false -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + } + tabLayout -e -tabLabel ($characterName2+$subCharName+"PkrLyt") $subCharName ($characterName+"PkrLyt"); + formLayout -e + -af $bgPic "top" -2 + -af $bgPic "left" -2 + -an $bgPic "right" + -an $bgPic "bottom" + ($characterName2+$subCharName+"PkrLyt"); + + setParent ..; + $pickrPrefix = ""; + if ($characterName == ""){ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 1 ; + } + else{ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 0 ; + } + if ($characterName != "") + menuItem -parent "abxPickerCharMenu" -label $characterName -c ("abxPickerMenuCmd \""+$characterName+"\""); + else + menuItem -parent "abxPickerCharMenu" -label "*Prefix*" -c ("abxPickerMenuCmd \""+$characterName+"\""); + abxPickerMenuCmd $characterName; + //textField -e -text $characterName abxPickerCharText; + //tabLayout -e -st ($characterName2+$subCharName+"PkrLyt") ($characterName+"PkrLyt"); + //tabLayout -e -st ($characterName+"PkrLyt") abxPickerCharTabs; + + +} + +//------------------------------------------------------------------------- +// deletes all current picker layouts and redraws them from the saved nodes + +global proc abxPickerRefresh () { + + string $pickerNodes[] = `ls "*_PIKR"`; + string $loadedSheets[]; + string $lastChar; + string $charName; + string $charName2; + string $subName; + string $tokenBuffer[]; + $pickerNodes = stringArrayCatenate($pickerNodes,`ls "*:*_PIKR"`); + + if (`tabLayout -q -ex abxPickerCharTabs`){ + $loadedSheets = `tabLayout -q -ca abxPickerCharTabs`; + $lastChar = `textField -q -text abxPickerCharText`; + } + + // hides all pickersheets, deletes picker sheets and character menu items. + tabLayout -e -visible false abxPickerCharTabs; + textField -e -text "None" abxPickerCharText; + for ($each in $loadedSheets) + deleteUI -layout $each; + popupMenu -e -dai abxPickerCharMenu; + + if (size($pickerNodes) > 0){ + setParent abxPickerCharTabs; + + for ($each in $pickerNodes){ + $charName=""; + tokenize $each ":" $tokenBuffer; + if (size($tokenBuffer) < 2){ + tokenize $each "_" $tokenBuffer; + if (size($tokenBuffer) >= 3){ + $charName = ($tokenBuffer[0]); + for ($i=1;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i1) + $pickrPrefix = ($charName+":"); + else + $pickrPrefix = $charName2; + + for ($i=0;$i<$count;$i++){ + tokenize $data[$i] ":" $tokenBuffer; + int $xPos = $tokenBuffer[0]; + int $yPos = $tokenBuffer[1]; + float $bgr = $tokenBuffer[2]; + float $bgg = $tokenBuffer[3]; + float $bgb = $tokenBuffer[4]; + string $control; + + // if prefix flag is true + if ($charPrefix == 1){ + // if the data node has a rename prefix + if ($charName2!=""){ + // create the button that sets the pickrPrefix + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\""+$pickrPrefix+"\";"+$command[$i]) $label[$i]`; + } + else{ + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + } + else { + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + abxPickerSetPos ($charName2+$subName+"PkrLyt") $control $xPos $yPos $width[$i] $height[$i]; + } + textField -e -text $charName abxPickerCharText; + // formLayout -e -visible true ($charName2+$subName+"PkrLyt"); +} + +//------------------------------------------------------------------ +// writes the picker data to a transform node + +global proc abxPickerWriteNode (string $picker) { + + int $buttonCount = `layout -q -nch $picker`; + string $uiName[] = `layout -q -ca $picker`; + string $bgImage = `symbolButton -q -image $uiName[0]`; + string $pickerData = `layout -q -dtg $picker`; + + string $data[]; + int $width[]; + int $height[]; + string $overlay[]; + string $image[]; + string $command[]; + string $label[]; + string $nodeName = ""; + + for ($i=1;$i<$buttonCount;$i++){ + $data[$i-1] = `iconTextButton -q -dtg $uiName[$i]`; + $width[$i-1] = `control -q -width $uiName[$i]`; + $height[$i-1] = `control -q -height $uiName[$i]`; + $overlay[$i-1] = `iconTextButton -q -imageOverlayLabel $uiName[$i]`; + $image[$i-1] = `iconTextButton -q -image1 $uiName[$i]`; + $command[$i-1] = `iconTextButton -q -command $uiName[$i]`; + $label[$i-1] = `iconTextButton -q -label $uiName[$i]`; + } + string $pickerDataBuffer[]; + tokenize $pickerData "|" $pickerDataBuffer; + if ($pickerDataBuffer[0] == " ") + $nodeName = ($pickerDataBuffer[1]+"_PIKR"); + else + $nodeName = ($pickerDataBuffer[0]+$pickerDataBuffer[1]+"_PIKR"); + if (!objExists($nodeName)) + abxPickerNewNode ($nodeName) "" "" 0; + + print ("Saving "+$nodeName+"\n"); + + setAttr ($nodeName+".bgImage") -type "string" $bgImage; + setAttr ($nodeName+".bgColor") -type "string" ($pickerDataBuffer[2]+":"+$pickerDataBuffer[3]+":"+$pickerDataBuffer[4]); + setAttr ($nodeName+".count") ($buttonCount-1); + + int $charPrefix = `getAttr ($nodeName+".charPrefix")`; + + // build setAttr + string $setAttrCmd = ("setAttr "+$nodeName+".data -type stringArray "+($buttonCount-1)); + for ($each in $data) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".overlay -type stringArray "+($buttonCount-1)); + for ($each in $overlay) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".image -type stringArray "+($buttonCount-1)); + for ($each in $image) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + // writes the command data, removes prefix code + + string $setAttrCmd = ("setAttr "+$nodeName+".command -type stringArray "+($buttonCount-1)); + for ($each in $command) { + //if ($charPrefix == 1){ + string $tokenBuffer[]; + tokenize $each ";" $tokenBuffer; + string $newCommand = ""; + $newCommand = $tokenBuffer[1]; + for ($i=2;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i=$leftPos && $y>=$topPos && $x<=($leftPos+$width) && $y<=($topPos+$height)){ + //print ($x+":"+$y+":::"+$leftPos+","+$topPos+","+($leftPos+$width)+","+($topPos+$height)+"\n"); + //print ($uiName[$i]+"\n"); + // flashes UI Color; + //iconTextButton -e -bgc 1 1 1 $uiName[$i]; + //iconTextButton -e -bgc $red $green $blue $uiName[$i]; + return $uiName[$i]; + } + } + return ""; + +} +//------------------------------------------------------------------------ +//sets the position of the button using attach position commands to the form layout + +global proc abxPickerSetPos(string $parent, string $control, int $x, int $y,int $width, int $height){ + + int $rightPos = ($x + $width)*-1; + int $bottomPos = ($y + $height)*-1; + int $parentWidth = `layout -q -w $parent`; + int $parentHeight = `layout -q -h $parent`; + + formLayout -e + -ap $control "left" $x 0 + -ap $control "top" $y 0 + -ap $control "right" $rightPos 0 + -ap $control "bottom" $bottomPos 0 + $parent; +} + +//-------------------------------------------------------------------------- +// creates a new button and encodes the position/color data into the label + +global proc string abxPickerNewButton(int $ctrlX, int $ctrlY, int $ctrlWidth, int $ctrlHeight, float $bgr, float $bgg, float $bgb, string $image,string $command, string $label){ + + + // stores position and color data so it can be queried + $data = ($ctrlX+":"+$ctrlY+":"+$bgr+":"+$bgg+":"+$bgb); + string $newCtrl = `iconTextButton -mh 0 -mw 0 -style "iconAndTextVertical" -l $label -dtg $data -w $ctrlWidth -h $ctrlHeight -bgc $bgr $bgg $bgb -dgc "abxPickerCtrlDrag" -image $image -c $command`; + return $newCtrl; + +} + +//------------------------------------------------------------------------- +// shows the new form and creates a blank layout and node + +global proc abxPickerNewSheet () { + + global string $pickrPrefix; + string $characterName = `textFieldGrp -q -text abxPickerCharNameTxt`; + string $characterName2 = ""; + if ($characterName != "") + $characterName2 = ($characterName + "_"); + string $subCharName = `textFieldGrp -q -text abxPickerSubNameTxt`; + string $bgImage = `textFieldButtonGrp -q -text abxPickerImagePath`; + float $bgColor[] = `colorSliderGrp -q -rgb abxPickerBGColor`; + string $bgPic; + + if (!`tabLayout -q -ex ($characterName+"PkrLyt")`){ + tabLayout -parent abxPickerCharTabs ($characterName+"PkrLyt"); + //menuItem -parent "abxPickerCharMenu" -label $characterName -c ("tabLayout -e -st "+$characterName+"PkrLyt abxPickerCharTabs;textField -e -text "+$characterName+" abxPickerCharText"); + } + if ($characterName == "") + formLayout -parent ($characterName+"PkrLyt") -dtg (" |"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + else + formLayout -parent ($characterName+"PkrLyt") -dtg ($characterName2+"|"+$subCharName+"|"+$bgColor[0]+"|"+$bgColor[1]+"|"+$bgColor[1]) -bgc $bgColor[0] $bgColor[1] $bgColor[2] -dpc "abxPickerCtrlDrop" ($characterName2+$subCharName+"PkrLyt"); + if (`filetest -f $bgImage`){ + $bgPic = `symbolButton -enable false -image $bgImage -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + //int $tmpWidth = `control -q -w $bgPic`; + //int $tmpHeight = `control -q -h $bgPic`; + //deleteUI -control $bgPic; + //$bgPic = `iconTextButton -mh 0 -mw 0 -w $tmpWidth -h $tmpHeight -enable false -bgc $bgColor[0] $bgColor[1] $bgColor[2] -image $bgImage`; + } + else { + $bgPic = `symbolButton -visible false -bgc $bgColor[0] $bgColor[1] $bgColor[2]`; + } + tabLayout -e -tabLabel ($characterName2+$subCharName+"PkrLyt") $subCharName ($characterName+"PkrLyt"); + formLayout -e + -af $bgPic "top" -2 + -af $bgPic "left" -2 + -an $bgPic "right" + -an $bgPic "bottom" + ($characterName2+$subCharName+"PkrLyt"); + + setParent ..; + $pickrPrefix = ""; + if ($characterName == ""){ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 1 ; + } + else{ + abxPickerNewNode ($characterName2+$subCharName+"_PIKR") $bgImage ($bgColor[0]+":"+$bgColor[1]+":"+$bgColor[1]) 0 ; + } + if ($characterName != "") + menuItem -parent "abxPickerCharMenu" -label $characterName -c ("abxPickerMenuCmd \""+$characterName+"\""); + else + menuItem -parent "abxPickerCharMenu" -label "*Prefix*" -c ("abxPickerMenuCmd \""+$characterName+"\""); + abxPickerMenuCmd $characterName; + //textField -e -text $characterName abxPickerCharText; + //tabLayout -e -st ($characterName2+$subCharName+"PkrLyt") ($characterName+"PkrLyt"); + //tabLayout -e -st ($characterName+"PkrLyt") abxPickerCharTabs; + + +} + +//------------------------------------------------------------------------- +// deletes all current picker layouts and redraws them from the saved nodes + +global proc abxPickerRefresh () { + + string $pickerNodes[] = `ls "*_PIKR"`; + string $loadedSheets[]; + string $lastChar; + string $charName; + string $charName2; + string $subName; + string $tokenBuffer[]; + $pickerNodes = stringArrayCatenate($pickerNodes,`ls "*:*_PIKR"`); + + if (`tabLayout -q -ex abxPickerCharTabs`){ + $loadedSheets = `tabLayout -q -ca abxPickerCharTabs`; + $lastChar = `textField -q -text abxPickerCharText`; + } + + // hides all pickersheets, deletes picker sheets and character menu items. + tabLayout -e -visible false abxPickerCharTabs; + textField -e -text "None" abxPickerCharText; + for ($each in $loadedSheets) + deleteUI -layout $each; + popupMenu -e -dai abxPickerCharMenu; + + if (size($pickerNodes) > 0){ + setParent abxPickerCharTabs; + + for ($each in $pickerNodes){ + $charName=""; + tokenize $each ":" $tokenBuffer; + if (size($tokenBuffer) < 2){ + tokenize $each "_" $tokenBuffer; + if (size($tokenBuffer) >= 3){ + $charName = ($tokenBuffer[0]); + for ($i=1;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$i1) + $pickrPrefix = ($charName+":"); + else + $pickrPrefix = $charName2; + + for ($i=0;$i<$count;$i++){ + tokenize $data[$i] ":" $tokenBuffer; + int $xPos = $tokenBuffer[0]; + int $yPos = $tokenBuffer[1]; + float $bgr = $tokenBuffer[2]; + float $bgg = $tokenBuffer[3]; + float $bgb = $tokenBuffer[4]; + string $control; + + // if prefix flag is true + if ($charPrefix == 1){ + // if the data node has a rename prefix + if ($charName2!=""){ + // create the button that sets the pickrPrefix + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\""+$pickrPrefix+"\";"+$command[$i]) $label[$i]`; + } + else{ + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + } + else { + $control = `abxPickerNewButton $xPos $yPos $width[$i] $height[$i] $bgr $bgg $bgb $image[$i] ("global string $pickrPrefix=\"\";"+$command[$i]) $label[$i]`; + } + abxPickerSetPos ($charName2+$subName+"PkrLyt") $control $xPos $yPos $width[$i] $height[$i]; + } + textField -e -text $charName abxPickerCharText; + // formLayout -e -visible true ($charName2+$subName+"PkrLyt"); +} + +//------------------------------------------------------------------ +// writes the picker data to a transform node + +global proc abxPickerWriteNode (string $picker) { + + int $buttonCount = `layout -q -nch $picker`; + string $uiName[] = `layout -q -ca $picker`; + string $bgImage = `symbolButton -q -image $uiName[0]`; + string $pickerData = `layout -q -dtg $picker`; + + string $data[]; + int $width[]; + int $height[]; + string $overlay[]; + string $image[]; + string $command[]; + string $label[]; + string $nodeName = ""; + + for ($i=1;$i<$buttonCount;$i++){ + $data[$i-1] = `iconTextButton -q -dtg $uiName[$i]`; + $width[$i-1] = `control -q -width $uiName[$i]`; + $height[$i-1] = `control -q -height $uiName[$i]`; + $overlay[$i-1] = `iconTextButton -q -imageOverlayLabel $uiName[$i]`; + $image[$i-1] = `iconTextButton -q -image1 $uiName[$i]`; + $command[$i-1] = `iconTextButton -q -command $uiName[$i]`; + $label[$i-1] = `iconTextButton -q -label $uiName[$i]`; + } + string $pickerDataBuffer[]; + tokenize $pickerData "|" $pickerDataBuffer; + if ($pickerDataBuffer[0] == " ") + $nodeName = ($pickerDataBuffer[1]+"_PIKR"); + else + $nodeName = ($pickerDataBuffer[0]+$pickerDataBuffer[1]+"_PIKR"); + if (!objExists($nodeName)) + abxPickerNewNode ($nodeName) "" "" 0; + + print ("Saving "+$nodeName+"\n"); + + setAttr ($nodeName+".bgImage") -type "string" $bgImage; + setAttr ($nodeName+".bgColor") -type "string" ($pickerDataBuffer[2]+":"+$pickerDataBuffer[3]+":"+$pickerDataBuffer[4]); + setAttr ($nodeName+".count") ($buttonCount-1); + + int $charPrefix = `getAttr ($nodeName+".charPrefix")`; + + // build setAttr + string $setAttrCmd = ("setAttr "+$nodeName+".data -type stringArray "+($buttonCount-1)); + for ($each in $data) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".overlay -type stringArray "+($buttonCount-1)); + for ($each in $overlay) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + string $setAttrCmd = ("setAttr "+$nodeName+".image -type stringArray "+($buttonCount-1)); + for ($each in $image) + $setAttrCmd = ($setAttrCmd + " \"" + $each + "\""); + eval ($setAttrCmd); + + // writes the command data, removes prefix code + + string $setAttrCmd = ("setAttr "+$nodeName+".command -type stringArray "+($buttonCount-1)); + for ($each in $command) { + //if ($charPrefix == 1){ + string $tokenBuffer[]; + tokenize $each ";" $tokenBuffer; + string $newCommand = ""; + $newCommand = $tokenBuffer[1]; + for ($i=2;$i= 3){ + $charName = ($tokenBuffer[0]); + $charName2 = ($tokenBuffer[0]+"_"); + for ($i=1;$iAutosave options... +// to the end. Choosing this menu command brings up the configuration GUI +// (by running the same script again, but that's not important right now). +// +// In selection mode, the script keeps a count of how many times the selection +// has changed, and will trigger an automatic scene backup when the number of +// selection changes passes the limit set by the user. +// +// In time mode, the script checks the time whenever the selection or the +// current time is changed by the user. The scene is backed up when the amount +// of time since the last save passes the limit +// +// This script is designed to be called from your 'userSetup.mel' script. +// +// Configuration +// ------------- +// If the script is run again, it will bring up a GUI which allows you to +// modify the way that AutoSave works. The options are: +// o Enable AutoSave +// o Save After XX minutes/selects +// o Keep up to XX backups +// o Save in XX +// o notify when saving +// +// +// Enable AutoSave: Check this option off to disable AutoSave (default=ON) +// Save After XX (things): Set the number of things which happen before the +// autosave is triggered - either the user changing which items are +// selected, or the number of minutes since the last save (default=15) +// (minutes/selects): What sort of things are we using to spot changes? Either +// number of times the selection changes, or number of minutes +// passed since the last save (default=minutes , but see the caveats +// below) +// Keep up to XX backups: AutoSave keeps a rolling sequence of backups. The +// number of separate backups can be changed here +// (default=5) +// Save in XXXX: Choose the folder where you want the backups to be kept. +// This can be relative to your current project (default="scenes") +// notify when saving: Bring up a small window to tell you when a backup is being +// made (default=OFF) +// +// +// Caveats +// ------- +// Maya has no clock event, so when the save is time-based the clock is only +// checked when the selection or the current time (as in time slider) changes. +// +// Changes (* is a highend3d release) +// ------- +// v1.3* Autosaving no longer clears the current tool - cheers to Roger Klado +// Feedback line is now more informative as the GUI settings are changed. +// v1.2 I've got M3.0, so here there are annotations all over the GUI. Removed +// the 'Include in File menu` option from the GUI - it's always included +// now. Notify defaults to off now (too many hardware render mess-ups) +// v1.1 Layout is more Irix/Motif-friendly now (was a bit squashed) +// v1.0* Fixed minor bug when the scene wasn't saved, choosing not to save +// would switch the autosave off. New behavior is to nag the user again +// after the trigger period. Now uses a timer as well as selection counter +// to trigger backups. +// +// Disclaimer +// ---------- +// This script is unsupported; neither me nor (especially) my employer accept +// liability for damage or loss resulting from its use or misuse. Use it at +// your own risk. That said - if you like it, spot a bug in it or think it +// could be improved please let me know. +// +// Andy Rawling andrew.rawling@_CUT_THIS_BIT_OUT_bigfoot.com +// Animator +// + +global proc ajrAS_SelectionHasChanged() { +// This is called even when AutoSave is disabled, it just doesn't perform the save in this case +// We're checking for time passing as well as selection changes here! + + if((`optionVar -exists "ajrAS_iSelectTrigger"`) && (`optionVar -exists "ajrAS_iEnabled"`) && (`optionVar -exists "ajrAS_iUseTime"`)) { + + if((`optionVar -query "ajrAS_iUseTime"`)) { + // We're using time to trigger saves + global float $ajrAS_fLastSave; //Absolute time of the last save (or script startup) + float $fElapsed; + + $fElapsed = `timerX -startTime $ajrAS_fLastSave`; + if(($fElapsed / 60.0) > `optionVar -query "ajrAS_iSelectTrigger"`) { + if(`optionVar -query "ajrAS_iEnabled"`) + if (`ajrAS_SaveBackupScene`) + $ajrAS_fLastSave = `timerX`; + } + } else { + // Using the number of selection changes to trigger + global int $ajrAS_iSelectCount; // The selection change counter + + $ajrAS_iSelectCount ++; + if ($ajrAS_iSelectCount >= `optionVar -query "ajrAS_iSelectTrigger"`) { + if(`optionVar -query "ajrAS_iEnabled"`) + if (`ajrAS_SaveBackupScene`) + $ajrAS_iSelectCount = 0; + } + } + } +} + +global proc ajrAS_CurrentTimeHasChanged() { +// This is called even when AutoSave is disabled, it just doesn't perform the save in this case +// We're only interested in time passing here + + if((`optionVar -exists "ajrAS_iSelectTrigger"`) && (`optionVar -exists "ajrAS_iEnabled"`)) { + + if((`optionVar -query "ajrAS_iUseTime"`)) { + global float $ajrAS_fLastSave; //Absolute time of the last save (or script startup) + float $fElapsed; + + $fElapsed = `timerX -startTime $ajrAS_fLastSave`; + if(($fElapsed / 60.0) > `optionVar -query "ajrAS_iSelectTrigger"`) { + if(`optionVar -query "ajrAS_iEnabled"`) + if (`ajrAS_SaveBackupScene`) + $ajrAS_fLastSave = `timerX`; + } + } + } +} + +global proc int ajrAS_SaveBackupScene() { +// Save the backup file +// This routine is called when the number of events reaches the level set by the user +// to trigger a backup save. +// The save routine appends "_AutoSave#1" to the scene name of the first backup, then +// #2, #3 etc, until the number of saves reaches the maximum limit, when the number +// resets to 1 again. +// If the notifier is switched on, a message window is created for the duration of the\ +// save. Either way, a message is shown on the command feedback line +// + global int $ajrAS_iBackupNumber; // Number of the current backup file + string $sSceneName; // Full name (including directory path) of the scene file + string $sBackupName; // Name (not inc. path or extension) of the backup scene + string $sBackupDir; + string $sWorkingTool; + int $iReturn = 0; + + // If these values are not in the prefs, then this function should never have been called. Check anyway. + if((`optionVar -exists "ajrAS_iSaveCopies"`) && (`optionVar -exists "ajrAS_iNotify"`) && (`optionVar -exists "ajrAS_sBackupDir"`)) { + + $sSceneName = `file -query -sceneName`; + // If the scene has no name (hasn't been saved yet) then prompt to do a "Save As" + if($sSceneName == "") { + string $sReturn = `confirmDialog -title "AutoSave" + -message "This scene has not been saved.\nAutoSave will not back up an unsaved scene\n\nDo you want to save your scene now?" + -button "Yes" + -button "No" + -button "Configure" + -defaultButton "Yes" + -cancelButton "No" + -dismissString "No"`; + switch($sReturn) { + + case "Configure": + ajrAS_GUI; + break; + + case "Yes": + projectViewer("SaveAs"); + break; + + case "No": + // Reset the event counter + // The user will be nagged again shortly + $iReturn = 1; + break; + } + } else { + $sBackupDir = `optionVar -query "ajrAS_sBackupDir"`; + if (`file -query -exists $sBackupDir`) { + $sWorkingTool = `currentCtx`; + $sBackupName = (`optionVar -query "ajrAS_sBackupDir"` + "/" + `file -query -namespace` + "_AutoSave#" + $ajrAS_iBackupNumber); + if(`optionVar -query "ajrAS_iNotify"`) + ajrAS_MakeNotifyWindow($sBackupName); + print("Auto saving file: " + $sBackupName + ".\n"); + file -rename $sBackupName; + file -save -type mayaBinary -defaultExtensions true; + $iReturn = 1; + file -rename $sSceneName; + $ajrAS_iBackupNumber ++; + if ($ajrAS_iBackupNumber > `optionVar -query "ajrAS_iSaveCopies"`) + $ajrAS_iBackupNumber = 1; + if(`optionVar -query "ajrAS_iNotify"`) { + deleteUI ui_ajrAS_NotifyWindow; + } + setToolTo $sWorkingTool; + } else { + ajrAS_CheckBackupDir; + } + } + } + return ($iReturn); +} + +global proc ajrAS_MakeNotifyWindow(string $sFileName) { + + if (`window -exists ui_ajrAS_NotifyWindow`) + deleteUI ui_ajrAS_NotifyWindow; + + window -title ("Saving backup: " + $sFileName + ", please wait...") + -iconName "Saving" + -widthHeight 500 25 + -menuBar false + ui_ajrAS_NotifyWindow; + + showWindow ui_ajrAS_NotifyWindow; +} + +global proc ajrAS_Reset() { +// Reset GUI fields & prefs to defaults. + checkBox -edit -value on ui_ajrAS_iEnabled; + intField -edit -value 15 ui_ajrAS_iSelectTrigger; + optionMenu -edit -select 2 ui_ajrAS_type; + intField -edit -value 5 ui_ajrAS_iSaveCopies; + checkBox -edit -value on ui_ajrAS_iNotify; + textField -edit -fileName "scenes" ui_ajrAS_sBackupDir; + ajrAS_Update; + $ajrAS_iSelectCount = 0; +} + +global proc ajrAS_Update() { +// Update the prefs settings + optionVar -intValue "ajrAS_iEnabled" `checkBox -query -value ui_ajrAS_iEnabled`; + optionVar -intValue "ajrAS_iSelectTrigger" `intField -query -value ui_ajrAS_iSelectTrigger`; + optionVar -intValue "ajrAS_iUseTime" (`optionMenu -query -value ui_ajrAS_type` == "minutes"); + optionVar -intValue "ajrAS_iSaveCopies" `intField -query -value ui_ajrAS_iSaveCopies`; + optionVar -intValue "ajrAS_iNotify" `checkBox -query -value ui_ajrAS_iNotify`; + optionVar -stringValue "ajrAS_sBackupDir" `textField -query -fileName ui_ajrAS_sBackupDir`; + string $sReportStr = "AutoSave: "; + if(! `optionVar -query "ajrAS_iEnabled"`) + $sReportStr += ("disabled.\n"); + else { + ajrAS_SelectionHasChanged; + ajrAS_CheckBackupDir; + $sReportStr += ("every " + `optionVar -query "ajrAS_iSelectTrigger"` + " "); + if((`optionVar -query "ajrAS_iUseTime"`)) { + global float $ajrAS_fLastSave; //Absolute time of the last save (or script startup) + $sReportStr += ("minutes (next in "); + $sReportStr += ((int)(`optionVar -query "ajrAS_iSelectTrigger"` - (`timerX -startTime $ajrAS_fLastSave` / 60.0)) + "), "); + } else { + global int $ajrAS_iSelectCount; // The selection change counter + $sReportStr += ("selects (next in "); + $sReportStr += ((`optionVar -query "ajrAS_iSelectTrigger"` - ($ajrAS_iSelectCount)) + "), "); + } + $sReportStr += ("keep " + `optionVar -query "ajrAS_iSaveCopies"` + " copies in " + `optionVar -query "ajrAS_sBackupDir"` + ".\n"); + } + print $sReportStr; +} + +global proc int ajrAS_SetBackupDir(string $sDirName, string $sDirType) { +// Callback function for 'fileBrowser' call on backup directory chooser + textField -edit -fileName `workspace -projectPath $sDirName` ui_ajrAS_sBackupDir; + ajrAS_Update; + return true; +} + +global proc int ajrAS_CheckBackupDir() { +// Check that the backup location is valid +// If not, give the option of creating the backup directory, changing the location +// or just carrying on (in which cast the save doesn't happen) + string $sBackupDir; + int $iReturn; + + $sBackupDir = `optionVar -query "ajrAS_sBackupDir"`; + if (! `file -query -exists $sBackupDir`) { + string $sQuestion; + string $sAnswer; + $sQuestion = "Your backup folder, (" + $sBackupDir + ") doesn't exist.\n" + + "Would you like to create this folder, or use select a new location?\n" + + "\n" + + "(If you choose to do neither, saving will be disabled)"; + + $sAnswer = `confirmDialog -title "AutoSave" + -message $sQuestion + -button "Create" + -button "Re-Select" + -button "Forget it" + -defaultButton "Re-Select" + -cancelButton "Forget It" + -dismissString "Forget It"`; + + switch($sAnswer) { + case "Create": + // Try to create the folder (no return value to check success) + workspace -create `workspace -expandName $sBackupDir`; + // Call this procedure again to see if it worked + ajrAS_CheckBackupDir; + break; + case "Re-Select": + optionVar -stringValue "ajrAS_sBackupDir" "scenes"; + if (`window -exists ui_ajrAS`) + textField -edit -fileName "scenes" ui_ajrAS_sBackupDir; + else + ajrAS_GUI; + break; + default: + if (`window -exists ui_ajrAS`) + checkBox -edit -value off ui_ajrAS_iEnabled; + optionVar -intValue "ajrAS_iEnabled" off; + $iReturn = 0; + break; + } + + } else + $iReturn = 1; + + return $iReturn; +} + +global proc ajrAS_FileMenu() { +// Add or remove the AutoSave item from the main File menu + global string $gMainFileMenu; // Name of Maya 'File' menu + + if(`menuItem -exists ui_ajrAS_FileAutoSaveSeperator`) + deleteUI ui_ajrAS_FileAutoSaveSeperator; + if(`menuItem -exists ui_ajrAS_FileAutoSaveMenu`) + deleteUI ui_ajrAS_FileAutoSaveMenu; + + menuItem -parent $gMainFileMenu + -divider true + ui_ajrAS_FileAutoSaveSeperator; + menuItem -parent $gMainFileMenu + -label "Auto Save options..." + -annotation "Auto Save: Configure automatic backups" + -command "ajrAutoSave" + ui_ajrAS_FileAutoSaveMenu; +} + +global proc ajrAS_GUI() { +// Call up the GUI + if (`window -exists ui_ajrAS`) + deleteUI ui_ajrAS; + + window -title "AutoSave v1.3" + -iconName "AutoSave" + -widthHeight 280 300 + -menuBar false + ui_ajrAS; + + formLayout ui_ajrAS_mainForm; + + frameLayout -borderStyle "in" + -labelVisible false + ui_ajrAS_mainFrame; + + scrollLayout -childResizable true + -verticalScrollBarThickness 10 + -horizontalScrollBarThickness 0; + + columnLayout -adjustableColumn true + -cal "left"; + + frameLayout -labelVisible false + -borderStyle "etchedIn" + -manage true; + + columnLayout -adjustableColumn true + -columnOffset "left" 30 + -columnAlign "left"; + + checkBox -label "Enable AutoSave" + -value `optionVar -query ajrAS_iEnabled` + -onCommand "ajrAS_Update" + -offCommand "ajrAS_Update; $ajrAS_iSelectCount = 0;" + -annotation "Enable: Switch the autosave feature on/off" + ui_ajrAS_iEnabled; + + setParent ..; + setParent ..; + + frameLayout -label "Options" + -borderStyle "etchedIn" + ui_ajrAS_optionsFrame; + + columnLayout -adjustableColumn true + -columnOffset "left" 30 + -columnAlign "left"; + + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 70 + -columnWidth 2 40 + -columnWidth 3 100; + + text "Save after"; + intField -value `optionVar -query ajrAS_iSelectTrigger` + -width 35 + -changeCommand "ajrAS_Update" + -annotation "Save after: Good values are 200 for selects, 30 for minutes" + ui_ajrAS_iSelectTrigger; + optionMenu ui_ajrAS_type; + menuItem -label "selects"; + menuItem -label "minutes"; + optionMenu -edit + -changeCommand "ajrAS_Update" + -annotation "Save after: Will you make backups as the minutes pass, or as you pick objects" + -select (`optionVar -query ajrAS_iUseTime` + 1) + ui_ajrAS_type; + + text "Keep up to"; + intField -value `optionVar -query ajrAS_iSaveCopies` + -annotation "Keep up to: How many rolling copies do you want to keep" + -width 35 + -changeCommand "ajrAS_Update" + ui_ajrAS_iSaveCopies; + text " backups"; + + setParent ..; + + rowLayout -numberOfColumns 3 + -columnWidth3 70 100 50 + -columnAttach3 "left" "left" "left" + -columnOffset3 0 0 5 + -adjustableColumn 2; + + text -label "Save in"; + textField -fileName `optionVar -query ajrAS_sBackupDir` + -width 90 + -changeCommand "ajrAS_Update" + -annotation "Save in: Path to your backup folder (can be relative to your project)" + ui_ajrAS_sBackupDir; + symbolButton -image "navButtonBrowse.xpm" + -annotation "Save in: Browse for the backup folder" + -command "fileBrowser(\"ajrAS_SetBackupDir\",\"AutoSave\", \"folder\", 4);" + browser; + setParent ..; + + checkBox -label "notify when saving" + -annotation "Notify: Pop up an window when saving (may interfere with hardware rendering)" + -value `optionVar -query ajrAS_iNotify` + -onCommand "ajrAS_Update" + -offCommand "ajrAS_Update" + ui_ajrAS_iNotify; + + setParent ..; + + setParent ..; + + setParent ..; + setParent ..; + setParent ..; + + button -label "Close" + -command "ajrAS_Update; deleteUI ui_ajrAS" + ui_ajrAS_close; + + button -label "Reset" + -command "ajrAS_Reset" + ui_ajrAS_reset; + + formLayout -edit + -attachForm ui_ajrAS_mainFrame "left" 5 + -attachForm ui_ajrAS_mainFrame "right" 5 + -attachForm ui_ajrAS_mainFrame "top" 5 + -attachForm ui_ajrAS_mainFrame "bottom" 35 + + -attachPosition ui_ajrAS_reset "left" 2 50 + -attachForm ui_ajrAS_reset "right" 5 + -attachNone ui_ajrAS_reset "top" + -attachForm ui_ajrAS_reset "bottom" 5 + + -attachForm ui_ajrAS_close "left" 5 + -attachPosition ui_ajrAS_close "right" 2 50 + -attachNone ui_ajrAS_close "top" + -attachForm ui_ajrAS_close "bottom" 5 + + ui_ajrAS_mainForm; + + showWindow ui_ajrAS; +} + +global proc ajrAutoSave() { +// Called when Maya starts up, and when the user wants to change settings. +// If the selection script job can't be found, then assume it's startup time & just +// silently go into the preferred state; otherwise bring up the GUI + global int $ajrAS_iTimeJobNo; // The number of the time change script job + global int $ajrAS_iSelJobNo; // The number of the select change script job + global int $ajrAS_iBackupNumber; + global float $ajrAS_fLastSave; // Time of the last save, or script launch + + // If these values are not in the prefs, then set them to the defaults + if(! `optionVar -exists "ajrAS_iEnabled"`) + optionVar -intValue "ajrAS_iEnabled" off; + if(! `optionVar -exists "ajrAS_iSelectTrigger"`) + optionVar -intValue "ajrAS_iSelectTrigger" 15; + if(! `optionVar -exists "ajrAS_iUseTime"`) + optionVar -intValue "ajrAS_iUseTime" on; + if(! `optionVar -exists "ajrAS_iSaveCopies"`) + optionVar -intValue "ajrAS_iSaveCopies" 5; + if(! `optionVar -exists "ajrAS_iNotify"`) + optionVar -intValue "ajrAS_iNotify" off; + if(! `optionVar -exists "ajrAS_sBackupDir"`) + optionVar -stringValue "ajrAS_sBackupDir" "scenes"; + + if ($ajrAS_iSelJobNo != 0) + ajrAS_GUI; + else { + $ajrAS_iBackupNumber = 1; + $ajrAS_fLastSave = `timerX`; + ajrAS_FileMenu; + $ajrAS_iTimeJobNo = `scriptJob -event timeChanged ajrAS_CurrentTimeHasChanged`; + $ajrAS_iSelJobNo = `scriptJob -event SelectionChanged ajrAS_SelectionHasChanged`; + } +} diff --git a/2009-x64/MiscScripts/scripts/buildFaceFromVerts.mel b/2009-x64/MiscScripts/scripts/buildFaceFromVerts.mel new file mode 100644 index 0000000..85c50ad --- /dev/null +++ b/2009-x64/MiscScripts/scripts/buildFaceFromVerts.mel @@ -0,0 +1,27 @@ +global proc buildFaceFromVerts() +{ + string $sel[] = `sz_ReturnComponentSelectionInOrder`; + string $vertNums[] = `mhGetVertNums $sel`; + // build the command + string $command = "polyAppendVertex"; + for($i = 1; $i= 8.0) { + setAttr -keyable false -channelBox false ($fols + ".fsl"); + setAttr -keyable false -channelBox false ($fols + ".sgl"); + } + + // maya8.5+ + if($ver >= 8.5) { + setAttr -keyable false -channelBox false ($fols + ".sct"); + setAttr -keyable false -channelBox false ($fols + ".ad"); + } + +} + +//......................................................................................................... +// djRivetUnlockChannels() unlocks the translate, rotate and scale channels + +proc djRivetUnlockChannels(string $surf) { + + setAttr -lock off ($surf + ".tx"); + setAttr -lock off ($surf + ".ty"); + setAttr -lock off ($surf + ".tz"); + setAttr -lock off ($surf + ".rx"); + setAttr -lock off ($surf + ".ry"); + setAttr -lock off ($surf + ".rz"); + setAttr -lock off ($surf + ".sx"); + setAttr -lock off ($surf + ".sy"); + setAttr -lock off ($surf + ".sz"); +} + +//......................................................................................................... +// djRivetIsTransformLocked() checks to see if one of the translate or rotate attributes is locked + +proc int djRivetIsTransformLocked(string $dag){ + + string $locked[] = `listAttr -locked $dag`; + if(size($locked) == 0) return(0); + string $xl; + for ($xl in $locked) { + switch ($xl) { + case "translateX": + case "translateY": + case "translateZ": + case "rotateX": + case "rotateY": + case "rotateZ": + return(1); + default: + break; + } + } + // if we got to here, there were locked attributes, but not translate or rotate + return(0); +} + +//......................................................................................................... +// djRivetIsTransformAnimated() checks to see if one of the translate or rotate attributes is animated + +proc int djRivetIsTransformAnimated(string $node) { + + // get the connections and connected nodes + string $animated[] = `listConnections -s true -d false $node`; + if(size($animated) == 0) return(0); + + string $a; + for($a in $animated) { + string $t[]; + tokenize $a "_" $t; + switch ($t[1]) { + case "translateX": + case "translateY": + case "translateZ": + case "rotateX": + case "rotateY": + case "rotateZ": + return(1); + default: + break; + } + } + // if we got to here, there were animated attributes, but not translate or rotate + return(0); +} + + +/////////////////////////////////////////////////////////////////////////////////////////////////////////// +// GLOBAL PROCEDURES +// +// djRivet() + +global proc djRivet() { + + // version number + string $vS[]; + string $verS = `about -v`; + tokenize $verS $vS; + float $ver = $vS[0]; + + int $lockedAttributeCount = 0; // used to count failures due to locked attributes + int $rivetCount = 0; // count the objects actually riveted + string $rivetList[]; // used to build list of objects to be riveted + string $djRX; // store name of djRivet_follicles group + + print("djRivet start\n"); + + // skip select flag was introduced in maya 8, used by createNode command, doesnt work in maya 7 + string $SS = ($ver >= 8) ? " -ss " : " "; + + string $sel[] = `ls -sl -fl`; + int $ns = size($sel); + if($ns < 2) { + warning("Invalid selection. First select at least one object, then last select a poly or nurbs surface."); + return; + } + + // get the shape node of the last object in the list (must be mesh or nurbsSurface, otherwise fail) + // + string $surf[] = `ls -dag -s $sel[$ns-1]`; + string $surfType = `nodeType $surf[0]`; + if($surfType!="mesh" && $surfType!="nurbsSurface") { + warning("Invalid selection. First select at least one object then last select a poly or nurbs surface."); + return; + } + + // Create an empty group called djRivetX, lock and hide its transforms + // This is where follicles and clusters will be hidden + // + if(!(`objExists djRivetX`)) { + $djRX = eval("createNode transform -n djRivetX" + $SS); + + setAttr -lock true -keyable false ($djRX + ".tx"); + setAttr -lock true -keyable false ($djRX + ".ty"); + setAttr -lock true -keyable false ($djRX + ".tz"); + setAttr -lock true -keyable false ($djRX + ".rx"); + setAttr -lock true -keyable false ($djRX + ".ry"); + setAttr -lock true -keyable false ($djRX + ".rz"); + setAttr -lock true -keyable false ($djRX + ".sx"); + setAttr -lock true -keyable false ($djRX + ".sy"); + setAttr -lock true -keyable false ($djRX + ".sz"); + + print("Follicle group called " + $djRX +" has been created.\n"); + + } + else { + $djRX = "djRivetX"; + print("Follicle group called " + $djRX +" has been discovered.\n"); + } + + // check for vertices, cv's and lattice-points in the selected object list + // Ask whether to cluster and constrain individually or together + // + string $pntHandling; + string $pntList = ""; + int $pnts=0; + for($i=0;$i<$ns-1;$i++) { + if(size(`match "\\.vtx" $sel[$i]`) || size(`match "\\.cv" $sel[$i]`) || size(`match "\\.pt" $sel[$i]`)) { + + // vertices, cv's or lattice-points + // + $pnts++; + if($pnts == 1) $pntHandling = `confirmDialog -title "djRivet" -message "How should vertices, cv's or lattice points be constrained?" -button "individually" -button "together" -defaultButton "individually" -dismissString "ignore" -cancelButton "ignore"`; + + if($pntHandling == "individually") { + + string $djCluster[] = `cluster -n "djCluster#" $sel[$i]`; + + // $djCluster[0] is the cluster, $djCluster[1] is the clusterHandle + // + string $cn[] = `parent $djCluster[1] $djRX`; // parent clusterHandle to $djRX + $djCluster[1] = $cn[0]; // just incase name was changed + setAttr ($djCluster[1] + ".visibility") 0; + $rivetList[$rivetCount++] = $djCluster[1]; // put cluster name in the rivet list + } + else if($pntHandling == "together") { + $pntList = ($pntList + " " + $sel[$i]); + } + } + else { + // transform nodes + // + $rivetList[$rivetCount++] = $sel[$i]; // put node name in the rivet list + } + } + + // Cluster the pnts together + // + if($pntHandling == "together") { + string $djCluster[] = eval("cluster -n \"djCluster#\" " + $pntList); + + // $djCluster[0] is the cluster, $djCluster[1] is the clusterHandle + // + string $cn[] = `parent $djCluster[1] $djRX`; // parent clusterHandle to $djRX + $djCluster[1] = $cn[0]; // just incase name was changed + setAttr ($djCluster[1] + ".visibility") 0; + $rivetList[$rivetCount++] = $djCluster[1]; // put cluster name in the rivet list + } + + // + // POLY MESH target + // + if($surfType == "mesh") { + + // closestPointOnMesh ignores polymesh transforms, + // so we need make a temporary copy and freeze the transforms + // (make sure transform channels are not locked) + // + string $tmpPolyMesh[] = `duplicate -n $sel[$ns-1] $sel[$ns-1]`; + string $tforms[]=`listTransforms $tmpPolyMesh[0]`; + if(size($tforms)!=0) parent -w $tmpPolyMesh[0]; + djRivetUnlockChannels($tmpPolyMesh[0]); + makeIdentity -a true $tmpPolyMesh[0]; + + string $tmpSurf[] = `ls -dag -s $tmpPolyMesh[0]`; + + // create closestPointOnMesh node + // and connect it to the polymesh + // + string $cpom = eval("createNode closestPointOnMesh -n cpom1" + $SS); + connectAttr -f ($tmpSurf[0] + ".outMesh") ($cpom + ".inMesh"); + + // create a temporary transform node to store the location of the object + // and connect it to the closestPointOnMesh node + // + string $loc = eval("createNode transform -n loc1" + $SS); + connectAttr -f ($loc + ".translate") ($cpom + ".inPosition"); + + // loop through the objects + // + for($i=0;$i 1) { + print("\n"); + warning($lockedAttributeCount + " objects were not constrained. See script editor for details."); + } + else { + print("djRivet done\n"); + } +} + +///////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/2009-x64/MiscScripts/scripts/djRivet_makeShelfButton.mel b/2009-x64/MiscScripts/scripts/djRivet_makeShelfButton.mel new file mode 100644 index 0000000..81da81b --- /dev/null +++ b/2009-x64/MiscScripts/scripts/djRivet_makeShelfButton.mel @@ -0,0 +1,50 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: djRivet.mel +'' Author: +'' Last Updated: Aug 28, 2007 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/polygon/4338.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//////////////////////////////////////////////////////////////////////////////////////////// +// djRivet_makeShelfButton.mel +// +// author: David Johnson +// contact: david@djx.com.au +// website: www.djx.com.au +// last rev: 30 Oct 2006 +// +// ©2006 David Johnson +// +// Places a djRivet button on the current shelf and add the djRivet.bmp icon +// Normally you would only need to do this once. +// +// Instructions: +// Copy djRivet.bmp to your icons folder (probably ...\maya\8.0\prefs\icons) +// Copy this file to your scripts folder (probably ...\maya\8.0\scripts) +// Load maya +// Select the shelf you want the button placed on +// Type "djRivet_makeShelfButton" (without the quotes) in the script editor. +// +//////////////////////////////////////////////////////////////////////////////////////////// + + +global proc djRivet_makeShelfButton() +{ + global string $gShelfTopLevel; + if (`tabLayout -exists $gShelfTopLevel`) + shelfButton + -parent ($gShelfTopLevel + "|" + `tabLayout -q -st $gShelfTopLevel`) + -command "source djRivet.mel; djRivet;" + -image1 "djRivet.bmp" + -annotation "djRivet" + -label "djRivet"; + else + error "You dont appear to have any shelves."; +} diff --git a/2009-x64/MiscScripts/scripts/fileNodeRename.mel b/2009-x64/MiscScripts/scripts/fileNodeRename.mel new file mode 100644 index 0000000..3e5d350 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/fileNodeRename.mel @@ -0,0 +1,84 @@ +// fileNodeRename.mel +// by Naughty (naughty_genepool@hotmail.com) +// +// This script renames the selected file nodes with either their file's filenames +// or their parent shader's name. If no file nodes are selected it will rename ALL +// of them. +// +// Usage: +// +// fileNodeRename ; // -f = filename, -m = material name +// +// Usage examples: +// +// fileNodeRename -f; // renames the FILE node using it's connected file's filename +// fileNodeRename -m; // renames the FILE node using it's parent material name +// +// +// goto: +// http://www.naughtynathan.supanet.com/mel.htm +// for more detailed explanations, pictures and even more MEL scripts... + +global proc fileNodeRename(string $switch) +{ + string $allFiles[]=`ls -sl -type file`; + if (size($allFiles)==0) + $allFiles=`ls -type file`; + + print "\n\n==== Renaming File Nodes ====\n\n"; + + for ($node in $allFiles) + { + print ("File node found: " + $node + "\n"); + switch ($switch) + { + case "-f": + case "-F": + int $slashNums ; + string $subStrs[] ; + + // find the (fully pathed) filename + string $findFileName = "getAttr " + $node + ".fileTextureName"; + string $fullPathFileName = `eval $findFileName`; + + // trim away the path leaving only the filename + $slashNums = `tokenize $fullPathFileName "/" $subStrs` ; + string $extName = $subStrs[$slashNums-1] ; + + // trim everything after the first "." (usually just the file extention) + $slashNums = `tokenize $extName "." $subStrs` ; + string $fileName = $subStrs[0] ; + string $endName=""; + + // loop through each character in the filename to build a new string containing only the valid chars + for ($n=1 ; $n<(`size $fileName`+1) ; $n++) + { + string $cmd= ("substring \"" + $fileName + "\" " + $n + " " + $n); + string $char=`eval $cmd`; + if ((`match "[_a-zA-Z0-9]" $char`) != "") + { $endName=$endName+$char; } + else + { $endName=$endName+"_"; } + } + //print (" Filename: \"" + $extName + "\" \n"); + break; + + case "-m": + case "-M": + string $materialName[] = `listConnections -t lambert $node`; + $endName = ($materialName[0]+"_TM"); + //print (" Material: " + $materialName[0] + "\n"); + break; + + default: + error "Unknown Switch!"; + break; + } + + // do the actual renaming + //print (" New Name: " + $endName + "\n\n"); + rename $node $endName; + } + + print ("\n==== Renamed " + (size($allFiles)) + " File Nodes ====\n"); +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/ijUtils.mel b/2009-x64/MiscScripts/scripts/ijUtils.mel new file mode 100644 index 0000000..79231c0 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/ijUtils.mel @@ -0,0 +1,290 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: ijUtils v1.3 +'' Author: Ian Jones +'' Last Updated: July 25, 2005 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=modeling#3586 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +// ijUtils v1.3 for Maya 6.0.1 +// Created by Ian Jones +// Copyright 2005 +// mel@shrtcww.com + +// last updated july 23, 2005 + +// To use type ijUtils; + +/* + ijUtils consists of a blendshape flipper (ijFlipShape), a tool to parent + multiple shapes to a single transform (ijParentShape), a tool to create + a group between an object and it's parent (ijGroup2Self) and a tool to + connect two nurbs surfaces together -used for creating non-spherical eyes + (ijConnect2Surface). + + HOPEING TO FIND A TOOL THAT WASN'T HERE? - email me + + V1.3 + -FIX- Connect 2 Surfaces + + V1.2 + -UPD- Topology Check for ijFlipBlend + + V1.1 + -NEW- ijConnect2Surface + -NEW- ijGroup2Self + +*/ + +global proc ijFlipShape() +{ + // Set axis to flip shape on and direction + int $flipDir = -1; + string $flipAxis = "X"; + + string $mirrorAxis = `radioCollection -query -select ijFlipShapeCollection`; + int $forceTopologyCheckOff = `checkBox -q -v ijFlipForceBox`; + + if ($mirrorAxis == "X") { + $flipAxis = "X"; + $flipDir = "1"; + } else if ($mirrorAxis == "x") { + $flipAxis = "X"; + $flipDir = "-1"; + } else if ($mirrorAxis == "Y") { + $flipAxis = "Y"; + $flipDir = "1"; + } else if ($mirrorAxis == "y") { + $flipAxis = "Y"; + $flipDir = "-1"; + } else if ($mirrorAxis == "Z") { + $flipAxis = "Z"; + $flipDir = "1"; + } else { + $flipAxis = "Z"; + $flipDir = "-1"; + } + + // Shape + Base should be selected, retrieve and store. + string $sel[] = `ls -sl`; + int $numShapes = `size($sel)`; + + if ($sel[1] == "") warning "Select at least two surfaces - a blend and a base shape."; + else + { + // Set base shape name variable + string $base = $sel[($numShapes - 1)]; + + + int $n; + for( $n=0; $n<($numShapes - 1); $n++ ) + { + //Set new flipShape + string $shape = $sel[$n]; + + // Create copy of base to make flipped shape with. + // Create duplicate of base so as not to affect it. + string $newShape[] = `duplicate -n "flippedShape#" $base`; + $newShape[0] = `rename $newShape[0] ($shape + "_flipped")`; + string $temp[] = `duplicate -n "tempShape" $base`; + + // Create blend shape on temporary base to drive wrap deform. + string $flipBlendShape[] = `blendShape -tc $forceTopologyCheckOff -n "ijFlipBlend#" $shape $temp[0]`; + + // Flip temporary base with axis of choice + setAttr ( $temp[0] + ".scale" + $flipAxis ) ( $flipDir ); + + // Group the temporary base and newShape and scale up to prep wrapDeform. + string $flipGrp = `group $temp[0] $newShape[0]`; + setAttr ( $flipGrp + ".scale" ) 100 100 100; + + // Set up and build wrap deformer temporary base drives newShape + select -r $newShape[0] $temp[0]; + string $flipWrapDeform[] = `doWrapArgList "2" { "1","0","0.1" }`; + + // Create flip by driving wrap deform with blendshape + setAttr ($flipBlendShape[0] + "." + $shape ) 1; + + //CleanUP History, revert scale, parent to world, delete temp nodes + DeleteHistory; + setAttr ( $flipGrp + ".scale" ) 1 1 1; + parent -w $newShape[0]; + delete $flipGrp; + } + } + +} + +global proc ijParentShape() +{ + // Retreve selection information, Selection order child(ren) then parent. + string $sel[] = `ls -sl`; + int $childrenNum = `size($sel)`; + + // Warn out if two or more objects are not selected. + if ($sel[1] == "") warning "Select at least two shapes - a chield and a parent."; + else + { + // Set base shape name variable + string $parent = $sel[($childrenNum - 1)]; + string $parentsParent[0] = `listRelatives -p $parent`; + parent -w $parent; + makeIdentity -apply true -t 1 -r 1 -s 1 -n 0; + + // For each child that was selected do the following + // Parent to world, freeze transform, pickWalk to shape, parent, delete empty transform. + int $n; + for( $n=0; $n<($childrenNum - 1); $n++ ) + { + select -r $sel[$n]; + parent -w ; + makeIdentity -apply true -t 1 -r 1 -s 1 -n 0; + + string $shapes[] = `listRelatives -s -path $sel[$n]`; + select -clear; + for( $shape in $shapes) + { + select -tgl $shape; + } + select -tgl $parent; + parent -r -s; + delete $sel[$n]; + } + + //Reestable any parent that it used to have. + parent $parent $parentsParent[0]; + } +} + + +global proc ijConnect2Surface() +{ + //Discover two surfaces to connect. First is parent, second surface is attached. + string $selList[] = `ls -sl`; + string $node = `createNode pointOnSurfaceInfo`; + + //Connect parent to point on surface node + connectAttr ( $selList[0] + ".worldSpace " ) ( $node + ".inputSurface" ); + connectAttr ( $node + ".position " ) ( $selList[1] + ".translate" ); + setAttr ( $node + ".u" ) 0.5; + setAttr ( $node + ".v" ) 0.5; + + //select -r ( $selList[0] + " " + $selList[1] ); + + //Setup normal constraint so child remains facing away from the parent. + //string $aimCmd = "-aimVector 0 1 0 "; + //string $upCmd = "-upVector 0 0 1 "; + //string $wuCmd = "-worldUpVector 0 1 0 "; + normalConstraint -weight 1 -aimVector 0 1 0 -upVector 0 0 1 -worldUpVector 0 1 0 $selList[0] $selList[1]; +} + +global proc string ijGroup2Self( string $obj ) +{ + //Create an empty group at the origin + string $grp = `group -em`; + + //Discover the current parent of the selection + string $objParentArray[] = `listRelatives -p $obj`; + string $objParent = $objParentArray[0]; + + //Rename null group based on selection + $grp = `rename $grp ( $obj + "_space" )`; + + //Parent the group to the discovered parent. + if( `objExists $objParent` ) parent $grp $objParent; + + //Create/Delete a parent constraint between the object and grp + delete `parentConstraint $obj $grp`; + + //Freeze transforms of the grp + makeIdentity -apply 1 -t 1 -r 1 $grp; + + //Parent the obj to the grp + parent $obj $grp; + + print $grp; + return $grp; +} + + +global proc ijUtils() +{ + //Delete ijUtils if previously opened. + string $windowName = "ijUtils"; + if( `window -exists $windowName` ) deleteUI $windowName; + + //Create ijUtils window + string $window = `window -title "ijUtils v1.3 by Ian Jones" $windowName`; + + columnLayout "Rig Tools"; + + //FLIP BLEND SHAPE UI + rowColumnLayout -nc 1 -cw 1 220; + text -al "center" -label ".: Flip Blend Shape :."; + setParent..; + //Flip Options + rowColumnLayout -nc 6 -cw 1 35 -cw 2 35 -cw 3 35 -cw 4 35 -cw 5 35 -cw 6 35 ; + + radioCollection ijFlipShapeCollection; + radioButton -label "+X" X; + radioButton -label "-X" x; + radioButton -label "+Y" Y; + radioButton -label "-Y" y; + radioButton -label "+Z" Z; + radioButton -label "-Z" z; + radioCollection -edit -select x ijFlipShapeCollection; + setParent ..; + + //Flip instructions/button + rowColumnLayout -nc 2 -cw 1 120 -cw 2 100; + checkBox -l "Check Topology" -value false ijFlipForceBox; + setParent..; + + //Flip instructions/button + rowColumnLayout -nc 2 -cw 1 120 -cw 2 100; + text "Sel Shapes then Base -> "; + button -label "Mirror Blendshape" -c ("ijFlipShape"); + setParent..; + + //PARENT TO SHAPE UI + rowColumnLayout -nc 1 -cw 1 220; + text -al "center" -label "\n .: Parent to Shape :."; + setParent..; + + //Parent instructions/button + rowColumnLayout -nc 2 -cw 1 120 -cw 2 100; + text "Sel Child(ren), parent -> "; + button -label "Parent to Shape" -c ("ijParentShape"); + setParent..; + + //GROUP TO SELF UI + rowColumnLayout -nc 1 -cw 1 220; + text -al "center" -label "\n .: Add group above node :."; + setParent..; + + //Group to self instructions/button + rowColumnLayout -nc 2 -cw 1 120 -cw 2 100; + text "Select node then -> "; + button -label "Group to Self" -c ("ijGroup2Self"); + setParent..; + + //Connect NURBS surfaces + rowColumnLayout -nc 1 -cw 1 220; + text -al "center" -label "\n .: Connect Nurbs Surfaces :."; + setParent..; + + //Connect NURBS Surfaces instructions/button + rowColumnLayout -nc 2 -cw 1 120 -cw 2 100; + text "Sel parent/child surfaces -> "; + button -label "Connect Surfaces" -c ("ijConnect2Surface"); + setParent..; + + showWindow $window; +} diff --git a/2009-x64/MiscScripts/scripts/melPlus.mel b/2009-x64/MiscScripts/scripts/melPlus.mel new file mode 100644 index 0000000..b72bd05 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/melPlus.mel @@ -0,0 +1,1302 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: MEL LISTER++ +'' Author: +'' Last Updated: Aug 11, 2007 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/utility_external/misc/4666.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +/* +MEL LISTER++ v1.5 +15-4-2007 :: 27-4-2007 + +LAST MODIFIED: +13 (Sun) May 2007 - 08:00:29 AM + + +MEL LISTER++ was developed from the key idea of MEL LISTER by Jeremiah Grant. He has developed a tool to List all files present in a specific folder and one can view/edit/save those files. He added a feature to show description about the scripts (popping up first 6 lines of all script). I took that script and did various modifications. And added following features like... + +*Automatic Script Sourcing... +*Automatic Script Executing (If the script is prepared to execute automatically on sourcing)... +*Switching to the any script folders are made easy to navigate... +*You can copy/paste the folder path and load them easily... +*Easily switch to the your favorite script folders quickly(And even open them in explorer)... +*Listing the Executable Procedures present inside the script files... +*Navigate around the procedures easily by clicking on them (This makes it easy to see PROCEDURE arguments and return types)... +*Allowing to easily execute all the procedures, (Just double click, If there is no arguments needed)... +*Quick/Easily edit and save... +*Commands and Scripts can be typed directly into the Editor window and it can be sourced or executed easily... +*You can easily put your scripts to your Shelf... +*Randomly, ICONs are chosen when you place your scripts to Shelf(Skipping those old gray n black MEL icon)... +*Both Script AND execution command can be placed on to the Shelf... +*You can drag drop various scripts and commands from your Shelf, And add random icon to them and place them back to the Shelf.... +*Find/Find Next and Find Previous supports searching... +*External Editor can be invoked optionally for more flexible editing... +*Help line provide support for your most actions... + + +I thought of developing a script that will perform most operations like done in MEL STUDIO. +As MEL LISTER++ comes as a script and not an API, it can be used for any version of maya. +I hope, I have achieved (VERY) few of MEL STUDIOS feature. +Soon I will try to add more features to this. + +I humbly request your support! + + + + + + + +How to Install MEL LISTER++ ... + + +* Copy the entire script and paste it into the maya's script editor window......! +* Then, Drag those entire script(Currently pasted) from the script editor to the Shelf. +* Now Click the shelf ICON and enjoy. + + +How to Use MEL LISTER++ ... + +- Use "..." button to browse a folder and select a MEL file. You will be listed with all files in that directory. +- Click select the file from the list this will load the file for editing. +- Double click will SOURCE that file and load that file for editing. +- List of Procedures it contains will be listed in a list box below. +- Click them to move your editing cursor to procedure's declaration part. So that you can see ARGUMENTS and RETURN Type. +- This will also copy the procedure name to separate text box so that you can add your arguments. You can even drag the command from here to your shelf. +- Double click any of the procedure name from the list to execute them (If it doesn't need any arguments) + +- Right click the above address bar to have quick list of favorite folders to quick navigate. + +- Move your scripts or execution commands to shelf with random icon. if needed. + +- You can drag your commands and scripts from shelf to Mel lister++ editing area and send them back to shelf with random icon. + +- You can clear the editing area and start writing your own script. +- Save them using "Save as..." and Source them using "source script" button. +- If it has no procedure your script will be executed automatically. +- else drag the procedure name to executer text box and click "ExecuteProc" button. + + +Known Bugs... +*Attempting to load this (MEL LISTER++) script into the MEL LISTER++ might cause some errors. + +I will try to remove the above said bugs in my next version. + + + +Updated features... + +Update v1.0.2 - 01.05.2007 + +*UI size can be extended. +*Dialog that pops out after Xternal editing is removed and now MEL LISTER PLUS automatically reloads the file. +*Warning pops out for saving the file if its modified and didn't save. + +Update v1.5.0 - 13 (Sun) May 2007 - 06:48:28 AM + +*Browse and Navigate folders easily. +*Source all files in a folder. +*Copy a script file to your maya default script folder. +*Copy all script file from current folder to maya default script folder. + + + + +Script by +Kumaresan +Jeremiah Grant + +Special Thanks to +Bryan Ewert +Erick Miller + +Date +15-4-2007 :: 27-4-2007 + +Last Update: +13 (Sun) May 2007 - 08:14:49 AM + +Contact +kaymatrix@gmail.com + +Chennai - India +*/ + + + + + + +proc MyFavMenu() +{ + + + menuItem -p MyFavMenuLst -l "Maya Default..." -c "MyFavFolders(1)"; + menuItem -p MyFavMenuLst -d 1; + menuItem -p MyFavMenuLst -l "Animation..." -c "MyFavFolders(2)"; + menuItem -p MyFavMenuLst -l "Assorted..." -c "MyFavFolders(6)"; + menuItem -p MyFavMenuLst -l "Character TD..." -c "MyFavFolders(3)"; + menuItem -p MyFavMenuLst -l "Lighting..." -c "MyFavFolders(5)"; + menuItem -p MyFavMenuLst -l "Rigging..." -c "MyFavFolders(4)"; + menuItem -p MyFavMenuLst -l "Downloaded..." -c "MyFavFolders(7)"; + +} + + + +proc MyFavFolders(int $z) +{ + global string $textList; + string $nxpath = ""; + string $mscriptpath = `internalVar -usd`; + string $foruse = `substring $mscriptpath 1 (size($mscriptpath)-1)`; + + + //MAKE SURE AT THE END YOU DONT PUT THE "/" SIGN..... + + + if($z == 1) + $nxpath = $foruse; + if($z == 2) + $nxpath = "E:/GoodScripts/Animation"; + if($z == 3) + $nxpath = "E:/GoodScripts/Character TD"; + if($z == 4) + $nxpath = "E:/GoodScripts/Rigging"; + if($z == 5) + $nxpath = "E:/GoodScripts/Lighting"; + if($z == 6) + $nxpath = "E:/Maya Works/Maya Script Works/Other's Brain"; + if($z == 7) + $nxpath = "C:/Documents and Settings/Antz/My Documents/Maya Scripts/GoodScripts/ForScriptys"; + + + + + + textField -e -tx $nxpath mylbl; + MyListFiles(); + +} + + + + + + + + + +global string $speedsave = ""; +global string $melDirectory = ""; +global string $saveMelDir = ""; +global string $fillst = ""; +global int $windwidth; + + + +proc MyCopier(int $selr) +{ + +global string $fillst; +global string $melDirectory; +string $dirPlusScript; +string $fils[]; +string $selcx[]; + + if ($selr == 0) + { + $selcx = `textScrollList -q -si scriptList`; + if($selcx[0]!="") + { + global string $melDirectory; + string $dirPlusScript; + $dirPlusScript = ("\"" + $melDirectory+$selcx[0] + "\""); + MyCopierSupport ($dirPlusScript); + } + } + else if ($selr==1) + { + + if($fillst!="") + { + tokenize $fillst "\n" $fils; + + string $result = `confirmDialog -message "This will copy all script files present in the current folder to your default script folder. This might take considerable time. Do you want to proceed?" -title "Confirm copying all scripts..." + -button "Yes" -button "No" -defaultButton "Yes" + -cancelButton "No" -dismissString "No"`; + + if($result=="Yes") + { + + for($i=0;$i<`size($fils)`;$i++) + { + if($fils[$i]!="") + { + iprint ($fils[$i] + " script contains some errors! Can't proceed!"); + $dirPlusScript = ("\"" + $melDirectory+$fils[$i] + "\""); + MyCopierSupport ($dirPlusScript); + } + } + iprint("Script files copied.... Check the maya default folder!"); + + } + } + + + } + +} + +proc MyCopierSupport(string $source) +{ + string $filname = basename( $source, "" ); + string $mscriptpath = `internalVar -usd`; + string $desti = `substring $mscriptpath 1 (size($mscriptpath)-1)`; + $desti = "\"" + $desti + "/" + $filname; + + eval("sysFile -copy " + $desti + " " + $source); + iprint("Copied... " + $desti); + print("\nCopied... " + $desti + "\nFrom: " + $source + "\n"); + +} + + + +proc MyimportFolder (string $path, string $useless) +{ + global string $melDirectory; + + iprint("Listed script files from: " + $path); + + if(`substring $path 3 3` == "\\") + $path=fromNativePath($path); + + if(endsWith($path, "/")==0) + $melDirectory = $path + "/"; + + textField -e -tx $melDirectory mylbl; +} + + +proc MyFolderBrowse() +{ + string $mPath = `internalVar -userScriptDir`; + $mPath = `fileDialog -dm "*.mel"`; + if($mPath!="") + { + string $melDirectory = dirname ($mPath); + MyimportFolder ($melDirectory, ""); + MyListFiles(); + } +} + +proc MyListFiles() +{ + + global string $textList; + string $nowpath = `textField -q -tx mylbl`; + + if($nowpath=="") + { + error "Please! Enter the vaild folder path that contains MEL Scripts"; + } + else + { + MyimportFolder ($nowpath, ""); + MyrepopulateList $textList; + optionVar -sv "mellsplsLASTPATH" $nowpath; + + } + +} + +proc MyrepopulateList(string $textList) +{ + global string $melDirectory; + global int $windwidth; + global string $fillst; + + string $melList[] = `getFileList -folder $melDirectory -filespec "*.mel"`; + string $melDirlststg=`system("DIR \"" + $melDirectory + "\" /AD /B")`; + string $melDirlst[]; + tokenize $melDirlststg "\n" $melDirlst; + + string $inMelList; + + textField -e -tx $melDirectory mylbl; + text -e -l `size( $melList )` scriptCountUI; + + + + textScrollList -e -ra $textList; + textScrollList -e -fn "boldLabelFont" -append ("[ .. ]") $textList; + + for($inMelList in $melDirlst) + { + if($inMelList!="") + textScrollList -e -append ("[" + $inMelList + "]") $textList; + } + + textScrollList -e -append ("[-----------------------------------]") $textList; + $fillst = ""; + for($inMelList in $melList) + { + textScrollList -e -append $inMelList $textList; + $fillst = $fillst + "\n" + $inMelList; + } + if($inMelList != "") + textScrollList -e -sii 1 $textList; + + + //I donno why this happens.... Some times, While REPOPULATING or LOADING SCRIPT FOR EDIT this our program window width xpands... To control that I put this here! + + window -e -w $windwidth -h 558 melListWin; +} + +proc MyxtrnlEdit() +{ +global string $speedsave = ""; + + if ($speedsave!="") + { + system("\"" + $speedsave + "\""); + eval("MymelEdit editField " + "`textScrollList -q -si scriptList`"); + iprint("Script file reloaded!"); + } + else + iprint("Select a file to edit!"); + +} + +proc MyFolderSystem() +{ + string $datx = `textField -q -tx mylbl`; + if ($datx != "") + { + string $path = toNativePath( $datx ); + system ("explorer " + $path); + } + +} + + +proc iprint(string $mdata) +{ + if ($mdata!="") + { + textField -e -tx $mdata myinfodisper; + } + +} + +proc MyChangeMonitor() +{ + + string $mtr = `text -q -l ttlsay`; + int $ss = `size($mtr)`; + string $lstm = `substring $mtr $ss $ss`; + if($lstm!="*") + text -e -l ($mtr + " *") ttlsay; +} + +proc MySafeWarn() +{ + + string $mtr = `text -q -l ttlsay`; + int $ss = `size($mtr)`; + string $lstm = `substring $mtr $ss $ss`; + if($lstm=="*") + { + + string $result = `confirmDialog -title "File didn't saved!" -message "You have edited this file. Do you want to save?" + -button "Yes" -button "No" -defaultButton "Yes" + -cancelButton "No" -dismissString "No"`; + + if($result=="Yes") + Myquicksave(); + + } + +} + +proc MyAutoexecu() +{ +global string $fillst; +global string $melDirectory; +string $dirPlusScript; +string $fils[]; +int $ers=0; +int $scrpt=0; + +if($fillst!="") +{ +tokenize $fillst "\n" $fils; + +string $result = `confirmDialog -message "This will source all script files present in the current folder. This might take considerable time. Do you want to proceed?" -title "Confirm executing all scripts..." +-button "Yes" -button "No" -defaultButton "Yes" +-cancelButton "No" -dismissString "No"`; + +if($result=="Yes") +{ + +iprint("Script source started..."); + +for($i=0;$i<`size($fils)`;$i++) +{ + if($fils[$i]!="") + { + iprint ($fils[$i] + " script contains some errors! Can't proceed!"); + $dirPlusScript = ("\"" + $melDirectory+$fils[$i] + "\""); + string $source = ("source "+$dirPlusScript); + if (catch (eval ($source))) + { + print("\n\n\nError in the script... " + ($i+1) + "/" + size($fils) + " " + $fils[$i] + "\n\n"); + $ers=$ers+1; + } + else + { + print("\nAutomated Sourcing... " + ($i+1) + "/" + size($fils) + " " + $fils[$i] + "\n\n"); + $scrpt=$scrpt+1; + } + iprint("Scripts executing.... " + ($i+1) + "/" + size($fils) + " Errors: " + $ers); + } + +} +print("\n\n\nTotal scripts: " + size($fils) + " - Executed scripts: " + $scrpt + " - Error scripts: " + $ers + " - Check script editor!\n\n\n"); +iprint("Total scripts: " + size($fils) + " - Executed scripts: " + $scrpt + " - Error scripts: " + $ers + " - Check script editor!"); +rehash; + + + } + + } + +} + +global proc mlPlus() +{ + global string $melDirectory; + global string $textList; + + global int $windwidth; + $windwidth = 695; + if (`window -ex melListWin`) + deleteUI melListWin; + + string $melList[] = `getFileList -folder $melDirectory -filespec "*.mel"`; + string $inMelList; + + window -title "MEL LISTER++ v1.5" -s 1 -rtf 1 -mnb 1 -mxb 0 -w 695 -h 530 -menuBar 0 melListWin; + + columnLayout -adj 1; + rowColumnLayout -nc 3 -columnWidth 1 175 -columnWidth 2 10 -columnWidth 3 500 MBAR; + + text -l ""; + separator -style "none"; + text -l ""; + + button -label "Load Scripts " -c "MyListFiles()"; + text -l ""; + rowColumnLayout -nc 3 -columnWidth 1 425 -columnWidth 2 35 -columnWidth 3 35 MPaddressbar; + textField -tx "" mylbl; + button -label "..." -c "MyFolderBrowse()"; + button -label "Sys" -c "MyFolderSystem()"; + setParent..; + + popupMenu -p mylbl -b 3 MyFavMenuLst; + MyFavMenu; + + text -l ""; + separator -style "none"; + text -l ""; + + rowColumnLayout -nc 2 -columnWidth 1 75 -columnWidth 2 100; + text "Mel Scripts"; + button -label "Source All" -c "MyAutoexecu()"; + setParent..; + + separator -style "none"; + text -l "Script" ttlsay; + + string $textList = `textScrollList -w 275 -numberOfRows 25 -ams 0 -aas 1 -shi 4 -sc ("MymelEdit editField " + "`textScrollList -q -si scriptList`") -dcc ("MyScriptExecuter") scriptList`; + separator -style "none"; + string $editField = `scrollField -wordWrap 1 -kpc "MyChangeMonitor" -bgc 0.0 1.0 0.5 -w 500 -h 200 editField`; + + popupMenu -p scriptList -b 3; + menuItem -l "Load and Source selected script..." -c ("MyScriptExecuter"); + menuItem -l "Copy selected script to Maya scripts folder..." -c ("MyCopier(0)"); + menuItem -l "Copy all scripts to Maya scripts folder..." -c ("MyCopier(1)"); + + + rowColumnLayout -nc 2 -columnWidth 1 140 -columnWidth 2 35; + text -al "left" -l "Number of scripts................... "; + text -label "0" scriptCountUI; + + setParent..; + separator -style "none"; + textField -ed 0 myinfodisper; + + setParent..; + setParent..; + + columnLayout -adj 1; + rowColumnLayout -nc 6 -columnWidth 1 175 -columnWidth 2 155 -columnWidth 3 100 -columnWidth 4 10 -columnWidth 5 90 -columnWidth 6 200 DOWNTOOLS; + + text -l "Available Procedure" Myavlproc; + text -l ""; + text -l ""; + text -l ""; + text -l ""; + separator -style "none"; + + textScrollList -w 275 -numberOfRows 5 -ams 0 -aas 1 -shi 4 -sc "MyProcExecuter (`textScrollList -q -si exelist`,0)" -dcc "MyProcExecuter (`textScrollList -q -si exelist`,1)" exelist; + + + columnLayout -adj 1; + textField -tx "" -w 5 exrd; + button -label "ProcName to Shelve" -c ("MyToShelSetup(1)"); + button -label "Script to Shelve" -c ("MyToShelSetup(2)"); + button -label "Both to Shelve" -c ("MyToShelSetup(3)"); + setParent..; + + columnLayout -adj 1; + button -label "Execute Proc" -c ("MyQuickEXR"); + text -l ""; + text -l ""; + text -l ""; + setParent..; + + text -l ""; + + columnLayout -adj 1; + + //text -l ""; + button -label "Find" -c ("MyFinderx()"); + button -label "FindNext" -c ("MyFindNext()"); + button -label "FindPrev" -c ("MyFindPrev()"); + rowColumnLayout -nc 2 -columnWidth 1 45 -columnWidth 2 45 ; + button -label "<<<<" -c ("MyUIExpand(0)"); + button -label ">>>>" -c ("MyUIExpand(1)"); + setParent..; + setParent..; + + + + rowColumnLayout -nc 2 -columnWidth 1 75 -columnWidth 2 75 ; + + + button -label "Source Script" -c ("MyScriptExecuter"); + button -label "Quick save" -c "Myquicksave"; + button -label "Save as..." -c ("MysaveScript " + $editField); + button -label "Xternal Edit" -c ("MyxtrnlEdit"); + button -label "Clear" -c ("scrollField -e -cl "+$editField); + button -label "Help" -c ("Mymelhelper"); + button -label "About" -c ("Mymellisterabout"); + button -label "Close" -c "deleteUI melListWin"; + + +//This is to store the position number of all the proc that found in selected script file... +textScrollList -vis 0 -w 1 -h 1 -numberOfRows 5 posilist; +//This is to store the position for find next setup... +textScrollList -vis 0 -w 1 -h 1 -numberOfRows 5 fndnxt; + +//LAST FOLDER +if (`optionVar -exists "mellsplsLASTPATH"`) +{ + $nowpath = `optionVar -q "mellsplsLASTPATH"`; + textField -e -tx $nowpath mylbl; + MyListFiles(); +} +else +{ + textField -e -tx "" mylbl; +} + +iprint("Welcome to MEL LISTER++. Browse for a folder containing MEL scripts. Use above buttons to browse."); + + window -e -w $windwidth -h 558 melListWin; + showWindow melListWin; +} + + +proc MyFindNext() +{ + + int $postogo[]; + string $positionx[]; + int $ttlfnd = `textScrollList -q -ni fndnxt`; + + if ($ttlfnd != 0) + { + + $postogo = `textScrollList -q -sii fndnxt`; + + if ($postogo[0] == $ttlfnd) + textScrollList -e -sii 1 fndnxt; + else + textScrollList -e -sii ($postogo[0]+1) fndnxt; + + $positionx = `textScrollList -q -si fndnxt`; + eval("scrollField -e -ip " + $positionx[0] + " editField"); + eval("scrollField -e -it \"\" editField"); + setFocus editField; + + + if ($postogo[0] == $ttlfnd) + $toshow = 1; + else + $toshow = $postogo[0]+1; + + + iprint("Found : " + $ttlfnd + " match. You watching the match: " + $toshow); + + } + else + + iprint("Error: Search for text using --- Find --- function first. Then use find next!"); + +} + + +proc MyFindPrev() +{ + + int $postogo[]; + string $positionx[]; + int $ttlfnd = `textScrollList -q -ni fndnxt`; + $postogo = `textScrollList -q -sii fndnxt`; + + if ($ttlfnd != 0) + { + if ($postogo[0] != 1) + textScrollList -e -sii ($postogo[0]-1) fndnxt; + else + textScrollList -e -sii $ttlfnd fndnxt; + + $positionx = `textScrollList -q -si fndnxt`; + eval("scrollField -e -ip " + $positionx[0] + " editField"); + eval("scrollField -e -it \"\" editField"); + setFocus editField; + + if ($postogo[0] == 1) + $toshow = $ttlfnd; + else + $toshow = $postogo[0]-1; + + iprint("Found : " + $ttlfnd + " match. You watching the match: " + $toshow); + + } + else + iprint("Error: Search for text using --- Find --- function first. Then use find next!"); + +} + + + +proc MyFindTest( string $editFieldUI, string $searchdata ) +{ + string $buffer[]; + int $stringSize = 0; + string $text = `scrollField -q -tx $editFieldUI`; + textScrollList -e -ra fndnxt; + + // Break the text into lines + tokenize $text "\n" $buffer; + + // For each line... + for( $i = 0; $i < `size($buffer)`; $i++ ) + { + // The end of the line equals the sum of the size of all the strings before it + $stringSize += `size $buffer[$i]`; + + if (`gmatch $buffer[$i] $searchdata`) + { + // Place the cursor at the end of the matching line + scrollField -e -ip $stringSize $editFieldUI; + scrollField -e -it "" $editFieldUI; + setFocus $editFieldUI; + textScrollList -e -a $stringSize fndnxt; + textScrollList -e -sii 1 fndnxt; + // Break out of the loop + //break; + } + } + + int $ttls = `textScrollList -q -ni fndnxt`; + + if ($ttls != 0) + { + textScrollList -e -sii $ttls fndnxt; + iprint("Found : " + $ttls + " match"); + MyFindNext; + } + else + { + iprint("No matching text found in this script!"); + } + + +} + +proc MyFinderx() +{ + + string $tempdata = `scrollField -q -tx editField`; + string $searchdata; + string $result = `promptDialog -title "Search the script... " -message "Text to find: " -button "Search" -button "Cancel" -defaultButton "Search" -cancelButton "Cancel" -dismissString "Cancel"`; + if ($result == "Search") + { + $searchdata = "*" + `promptDialog -query -text` + "*"; + MyFindTest "editField" $searchdata; + } +} + + +proc MyProcExecuter(string $txt[],int $i) +{ + int $postogo[]; + string $positionx[]; + + if($i == 0) + { + textField -e -tx ($txt[0] + ";") exrd; + + //To move the Insertion Pointer to the position... + $postogo = `textScrollList -q -sii exelist`; + textScrollList -e -sii $postogo[0] posilist; + $positionx = `textScrollList -q -si posilist`; + + eval("scrollField -e -ip " + $positionx[0] + " editField"); + eval("scrollField -e -it \"\" editField"); + setFocus editField; + + } + else + { + textField -e -tx ($txt[0] + ";") exrd; + eval($txt[0]); + iprint "Procedure executed successfully!"; + } +} + +proc MyScriptExecuter() +{ +string $txt = `scrollField -q -tx editField`; + +if($txt!="") +{ +iprint "Script present in the script editor may contains some errors or it needs some support scripts!"; +eval($txt); +iprint "Script executed successfully!"; +} +else +{ +iprint "Select a script file or type some commands to execute or source!"; +} + +} + +proc MyQuickEXR() +{ +string $txt = `textField -q -tx exrd`; + +if($txt!="") +{ +iprint($txt); +eval($txt); +iprint "Procedure executed successfully!"; +} +} + +proc MyToShelSetup(int $how) +{ + global string $gShelfTopLevel; + + + string $XPM[]; + clear $XPM; + string $iconname; + + // Gets all bitmap directories. Add more directories to the end of the $folders array as shown below + string $folders[] = `xbmLangPathList`; +// $folders[`size($folders)`] = "c:/my_extra_icons/"; + + for( $fld in $folders ) + { + // Lists all XPM files in above directory + string $buffer[] = `getFileList -fld ($fld + "/") -fs "*.xpm"`; + $XPM = stringArrayCatenate( $XPM, $buffer ); + clear $buffer; + } + + // Get the size of the array + $xpmCount = `size( $XPM )`; + + + if($xpmCount==0) + { + iprint("No icons found in your maya icon folders!"); + $iconname = "menuiconview.xpm"; + } + else + { + + // Random number based off the size of the array + int $nowxpm = int(`rand $xpmCount`); + $iconname = $XPM[$nowxpm]; + } + + + + string $cmd = ""; + string $seta = ""; + string $setb = ""; + + if ($how == 3) + { + + $seta = `textField -q -tx editField`; + $setb = `textField -q -tx exrd`; + $cmd = ($seta + "\n" + $setb); + + if (($seta!="") && ($seta!="")) + if (`tabLayout -exists $gShelfTopLevel`) + { + shelfButton + -parent ($gShelfTopLevel + "|" + `tabLayout -q -st $gShelfTopLevel`) + -command $cmd + -image1 $iconname + -annotation $setb; + iprint "Added to the current Shelf successfully!"; + } + else + { + iprint "You need a shelf!"; + } + else + { + iprint("Script and Proc Name section most be filled!"); + } + + } + else if($how == 2) + { + + $cmd = `textField -q -tx editField`; + + if ($cmd!="") + if (`tabLayout -exists $gShelfTopLevel`) + { + shelfButton + -parent ($gShelfTopLevel + "|" + `tabLayout -q -st $gShelfTopLevel`) + -command $cmd + -image1 $iconname + -annotation $cmd; + iprint "Added to the current Shelf successfully!"; + } + else + { + iprint "You need a shelf!"; + } + else + { + iprint("Input some script to send them shelf!"); + } + } + else if($how == 1) + { + + $cmd = `textField -q -tx exrd`; + if($cmd!="") + { + if (`tabLayout -exists $gShelfTopLevel`) + { + shelfButton + -parent ($gShelfTopLevel + "|" + `tabLayout -q -st $gShelfTopLevel`) + -command $cmd + -image1 $iconname + -annotation $cmd; + iprint "Added to the current Shelf successfully!"; + } + else + { + iprint "You need a shelf!"; + } + } + else + { + iprint("Procedure name most not be empty!"); + } + } + + +} + +/* +proc MymelLoad(string $script[]) +{ + if($script[0]!="") + { + global string $melDirectory; + string $dirPlusScript; + iprint "Above script contains errors! Check your Script Editor."; + $dirPlusScript = ("\"" + $melDirectory+$script[0] + "\""); + string $source = ("source "+$dirPlusScript); + eval ($source); + rehash; + iprint("Script file sourced successfully!"); + } +} + +*/ + +proc MymelEdit(string $editField, string $script[]) +{ + global int $windwidth; + + + + if (startsWith($script[0], "[")) + { + + string $strDir = `substring $script[0] 2 (size($script[0])-1)`; + + if ($strDir=="-----------------------------------") + { + iprint("oh... its just a seperator.. seperates folder and files!"); + } + else if ($strDir==" .. ") + { + string $nowpath = `textField -q -tx mylbl`; + string $ee = basename($nowpath,""); + string $result = substituteAllString($nowpath , ("/" + $ee + "/"), ""); + textField -e -tx $result mylbl; + MyListFiles(); + + } + else if ($strDir=="") + { + iprint("hmmm...Empty!"); + } + else + { + + string $nowpath = `textField -q -tx mylbl`; + $nowpath = $nowpath + $strDir; + textField -e -tx $nowpath mylbl; + MyListFiles(); + + + } + + } + else + { + + + if ($script[0]!="melPlus.mel") + { + + MySafeWarn(); + + + if($script[0]!="") + { + global string $melDirectory; + global string $speedsave; + string $dirPlusScript, $nextLine, $fullEdit, $inFile; + string $file[]; + int $count = 0; + int $posit = 0; + + textScrollList -e -ra exelist; + textScrollList -e -ra posilist; + textField -e -tx "" exrd; + + $dirPlusScript = $melDirectory+$script[0]; + + text -e -ann ("Script: " + $dirPlusScript) -l ("Script: " + $dirPlusScript) ttlsay; + $speedsave = $dirPlusScript; + + + $fileId=`fopen $dirPlusScript "r"`; + $nextLine = `fgetline $fileId`; + + + while(!`feof $fileId`) + { + $file[$count] = $nextLine; + $nextLine = `fgetline $fileId`; + $count++; + } + + $file[$count] = $nextLine; + $nextLine = `fgetline $fileId`; + + $count++; + + fclose $fileId; + + for($inFile in $file) + { + $fullEdit += $inFile; + $nextLine = $inFile; + $posit = size($fullEdit); + MyProcLister ($nextLine, $posit); + } + + scrollField -e -cl $editField; + scrollField -e -it $fullEdit $editField; + } + + iprint("Script file loaded for editing!"); + + //I donno why this happens.... Some times, While REPOPULATING or LOADING SCRIPT FOR EDIT this our program window width xpands... To control that I put this here! + window -e -w $windwidth -h 558 melListWin; + + } + else + { + iprint("Please! Don't try to load -melPlus.mel- script file. Try with other files."); + } + + } +} + +proc MyUIExpand(int $step) +{ + global int $windwidth; + int $raisefactor = 100; + + if($step==1) + { + + int $tmp = `rowColumnLayout -q -w MBAR`; + rowColumnLayout -e -w ($tmp+$raisefactor) MBAR; + $tmp = ($tmp-202)+$raisefactor; + rowColumnLayout -e -columnWidth 3 $tmp MBAR; + + $tmp = `rowColumnLayout -q -w MPaddressbar`; + rowColumnLayout -e -w ($tmp+$raisefactor) MPaddressbar; + $tmp = ($tmp-75)+$raisefactor; + rowColumnLayout -e -columnWidth 1 $tmp MPaddressbar; + + $tmp = `rowColumnLayout -q -w DOWNTOOLS`; + rowColumnLayout -e -w ($tmp+$raisefactor) DOWNTOOLS; + $tmp = ($tmp-697)+$raisefactor; + rowColumnLayout -e -columnWidth 4 $tmp DOWNTOOLS; + + $windwidth=$windwidth+$raisefactor; + window -e -w $windwidth -h 558 melListWin; + + } + else if($step==0) + { + + int $tmp = `rowColumnLayout -q -w MBAR`; + rowColumnLayout -e -w ($tmp-$raisefactor) MBAR; + $tmp = ($tmp-202)-$raisefactor; + rowColumnLayout -e -columnWidth 3 $tmp MBAR; + + $tmp = `rowColumnLayout -q -w MPaddressbar`; + rowColumnLayout -e -w ($tmp-$raisefactor) MPaddressbar; + $tmp = ($tmp-75)-$raisefactor; + rowColumnLayout -e -columnWidth 1 $tmp MPaddressbar; + + $tmp = `rowColumnLayout -q -w DOWNTOOLS`; + rowColumnLayout -e -w ($tmp-$raisefactor) DOWNTOOLS; + $tmp = ($tmp-697)-$raisefactor; + rowColumnLayout -e -columnWidth 4 $tmp DOWNTOOLS; + + $windwidth=$windwidth-$raisefactor; + window -e -w $windwidth -h 558 melListWin; + + + } + +} + +proc MyProcLister(string $nextLine, int $posit) +{ + string $tl[]; + + + if (gmatch ($nextLine, "* proc *") == 1) + { + + tokenizeList($nextLine, $tl); + string $exr; + if(($tl[2]=="int") || ($tl[2]=="string") || ($tl[2]=="float") || ($tl[2]=="vector") || ($tl[2]=="int[]") || ($tl[2]=="string[]") || ($tl[2]=="vector[]") || ($tl[2]=="float[]")) + $exr=$tl[3]; + else + $exr=$tl[2]; + + string $tt = $exr; + + while ( endsWith($tt, "(") || endsWith($tt, ")") || endsWith($tt, "{") || endsWith($tt, "}")) + $tt = eval("substring \"" + $tt + "\" 1 " + (size($tt)-1)); + + while (gmatch ($tt, "*(*")) + $tt = eval("substring \"" + $tt + "\" 1 " + (size($tt)-1)); + + textScrollList -e -a $tt exelist; + textScrollList -e -a $posit posilist; + + } + else if (startsWith($nextLine, "proc") == 1) + { + + tokenizeList($nextLine, $tl); + string $exr; + if(($tl[1]=="int") || ($tl[1]=="string") || ($tl[1]=="float") || ($tl[1]=="vector") || ($tl[1]=="int[]") || ($tl[1]=="string[]") || ($tl[1]=="vector[]") || ($tl[1]=="float[]")) + $exr=$tl[2]; + else + $exr=$tl[1]; + + string $tt = $exr; + + while ( endsWith($tt, "(") || endsWith($tt, ")") || endsWith($tt, "{") || endsWith($tt, "}")) + $tt = eval("substring \"" + $tt + "\" 1 " + (size($tt)-1)); + + while (gmatch ($tt, "*(*")) + $tt = eval("substring \"" + $tt + "\" 1 " + (size($tt)-1)); + + textScrollList -e -a $tt exelist; + textScrollList -e -a $posit posilist; + + } + + + int $ttlx = `textScrollList -q -ni exelist`; + text -e -l ("Available Procedure..............." + $ttlx) Myavlproc; + + + +} + +proc MysaveScript(string $script) +{ + + string $newScript = `scrollField -q -tx $script`; + + if( $newScript == "" ) + { + error "There is nothing to save."; + } + else + { + fileBrowserDialog -m 1 -fc "MysaveDir" -ft "mel" -an "Save As" -om "Reference"; + global string $saveMelDir; + string $object; + int $fileOut; + + $fileOut=`fopen $saveMelDir "w"`; + + if ($fileOut == 0) + { + error "Location Invalid: Unable to write file"; + } + + fprint $fileOut $newScript; + fclose $fileOut; + + iprint ("Save to ... " + $saveMelDir); + + string $mtr = `text -q -l ttlsay`; + int $ss = `size($mtr)`; + string $lstm = `substring $mtr $ss $ss`; + if($lstm=="*") + { + $lstm = `substring $mtr 1 ($ss-1)`; + text -e -l $lstm ttlsay; + } + + } +} + + +proc Myquicksave() +{ + global string $speedsave; + string $newScript = `scrollField -q -tx editField`; + + if( $newScript == "" ) + { + iprint "There is nothing to save."; + } + else + { + + if ($speedsave!="") + { + string $object; + int $fileOut; + + $fileOut=`fopen $speedsave "w"`; + + if ($fileOut == 0) + { + error "Location Invalid: Unable to write file"; + } + + fprint $fileOut $newScript; + fclose $fileOut; + + iprint ("Save to .... " + $speedsave); + + string $mtr = `text -q -l ttlsay`; + int $ss = `size($mtr)`; + string $lstm = `substring $mtr $ss $ss`; + if($lstm=="*") + { + $lstm = `substring $mtr 1 ($ss-1)`; + text -e -l $lstm ttlsay; + } + + + + } +} + +} + +proc MysaveDir( string $filename, string $fileType ) +{ + global string $saveMelDir; + $saveMelDir = $filename; +} + +proc Mymellisterabout() +{ + if (`window -ex mlstrabt`) + deleteUI mlstrabt; + + + window -title "About MEL LISTER++ v1.5" -s 0 -rtf 1 -mnb 1 -mxb 0 -w 695 -h 530 -menuBar 0 mlstrabt; + + columnLayout -adj 1; + text -l ""; + text -align "center" -l "MEL LISTER++ v1.5"; + text -l ""; + scrollField -h 300 -ed 0 -ww 1 -tx "\nScript by\nKumaresan \nJeremiah Grant\n\nSpecial Thanks to\nBryan Ewert\nErick Miller\n\nDate\n15-4-2007 :: 27-4-2007\n\nLast Update: \n13 (Sun) May 2007 - 08:14:49 AM \n\nContact\nkaymatrix@gmail.com\n\nChennai - India\n" sayers; + text -l ""; + button -label "Close" -c "deleteUI mlstrabt"; + scrollField -q -h sayers; + window -e -w 300 -h 420 mlstrabt; + showWindow mlstrabt; +} + +proc Mymelhelper() +{ + confirmDialog -title "Help" -message "Please! Refer the HEADER part of this script for complete help!" -button "OK"; +} + +mlPlus; \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/ntMBS.mel b/2009-x64/MiscScripts/scripts/ntMBS.mel new file mode 100644 index 0000000..72aa784 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/ntMBS.mel @@ -0,0 +1,211 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: ntMirrorBlendShape +'' Author: nelsonteixeira +'' Last Updated: Sep 29, 2006 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/animation/813.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//-----------------------------------------------------------------// +//-----------------------------------------------------------------// +// SCRIPT: ntMBS.mel +// AUTHOR: Nelson Teixeira +// MSN: nelson_atwork@hotmail.com +// e-mail: nelson3d@gmail.com +// +// CREATION DATE: FEB 17, 2005 +// LAST UPDATE: SEP 22, 2006 +// +// +// DESCRIPTION: This script can be used to create +// mirrored blendshapes. So you don´t have to +// make the job twice. +// +//-----------------------------------------------------------------// +//-----------------------------------------------------------------//// + +global proc ntMBS() +{ + // create the window + + $sel = `ls -sl`; + + $win = "nt_MirrorBlendShape"; + + if (`window -exists $win`) + deleteUI $win; + + window -t "ntMirrorBlendShape v2.0" $win; + + columnLayout -adjustableColumn true -rowSpacing 10; + + iconTextButton -style "iconOnly" -height 80 + -image "Nelson3DHor.bmp"; + + columnLayout -cat both 5 -adj true cLayout; + + //text -label "1 - Pick base geometry"; + textFieldButtonGrp -l "Base geometry:" + -bl "sel" + -bc "PickBase" + -adj 2 + //-tx $sel[0] + TFBG1; + //button -w 60 -l "STEP1" -c STEP1 button1; + + //text -label "2 - Pick geometry to create mirror"; + textFieldButtonGrp -l "Geometry to mirror:" + -bl "sel" + -bc "PickMirrorFrom" + -adj 2 + //-tx $sel[1] + TFBG2; + + if (size($sel) == 0) + { + warning "You have nothing selected, try again."; + textFieldButtonGrp -e -tx "" TFBG1; + textFieldButtonGrp -e -tx "" TFBG2; + } + + else if (size($sel) == 2) + { + textFieldButtonGrp -e -tx $sel[0] TFBG1; + textFieldButtonGrp -e -tx $sel[1] TFBG2; + } + + //button -w 60 -l "STEP2" -c STEP2 button2; + text -label ""; + + button -w 60 -l "MirrorBlendShape" -c "MirrorBlendShape" buttonMBS; + + text -label ""; + text -label "Nelson Teixeira"; + text -label "MSN & e-mail: nelson3d@gmail.com"; + text -label ""; + + button -w 60 -l "Done!" -c "deleteUI nt_MirrorBlendShape"; + + + showWindow $win; + +window -e -w 320 -h 310 $win; + +//Query WindowSize +//$w = `window -q -w nt_MirrorBlendShape`; +//$h = `window -q -h nt_MirrorBlendShape`; +//print ($w + " X " + $h); +} + +//================================================ + +global proc MirrorBlendShape() + { + $base = `textFieldButtonGrp -q -tx TFBG1`; + $shapeToMirror = `textFieldButtonGrp -q -tx TFBG2`; + + $tx = `getAttr ($shapeToMirror + ".translateX")`; + $ty = `getAttr ($shapeToMirror + ".translateY")`; + $tz = `getAttr ($shapeToMirror + ".translateZ")`; + + select -r $base; + $baseDup = `duplicate -rr -name baseDup`; + DeleteHistory; + //FreezeTransformations; + $dup = `duplicate -rr -n "ntNBS_rest_neg"`; + setAttr ($dup[0] + ".scaleX") -1; + + select -r $shapeToMirror; + + $absShapePosition = `xform -q -a -t $shapeToMirror`; + + select -r $baseDup $shapeToMirror; + delete `pointConstraint -offset 0 0 0 -weight 1`; + + DeleteHistory; + + select -r $shapeToMirror; + + $dupTempNeg = `duplicate -rr -n "ntMBS_temp_neg"`; + setAttr ($dupTempNeg[0] + ".scaleX") -1; + + + select -r $dup ; + select -tgl $dupTempNeg ; + + $blend = `blendShape -parallel`; + + setAttr ($blend[0] + "." + $dup[0]) 1; + + //====================================== + + select -r $baseDup ; + $dupNeg = `duplicate -rr -n "ntMBS_neg"`; + + select -r $dupNeg ; + select -add $dupTempNeg ; + + + CreateWrap; + + setAttr ($blend[0] + "." + $dup[0]) 0; + select -r $dupNeg; + //ntMBS_neg ; + DeleteHistory; + + // Clean-up + + delete $dup[0] + $dupTempNeg + ($dupTempNeg[0] + "Base") ; + + + setAttr ($dupNeg[0] + ".translateX") (-$tx); + setAttr ($dupNeg[0] + ".translateY") ($ty); + setAttr ($dupNeg[0] + ".translateZ") ($tz); + + setAttr ($shapeToMirror + ".translateX") $tx; + setAttr ($shapeToMirror + ".translateY") $ty; + setAttr ($shapeToMirror + ".translateZ") $tz; + + rename $dupNeg[0] ("ntMBS_" + $shapeToMirror); + + delete $baseDup; + + } + +//======================================= + +global proc PickBase() + { + string $objs[0]; + $objs = `ls -sl`; + + // check and see if $objs[0] is a polygon object + if (size($objs) == 0) + error "You have nothing selected, try again."; + $shape = `listRelatives -f -c $objs[0]`; + if (`nodeType $shape[0]` != "mesh") + error "You don't have a polygon object selected.\n"; + textFieldButtonGrp -e -tx $objs[0] TFBG1; + } + +global proc PickMirrorFrom() + { + string $objs[0]; + $objs = `ls -sl`; + + // check and see if $objs[0] is a polygon object + if (size($objs) == 0) + error "You have nothing selected, try again."; + $shape = `listRelatives -f -c $objs[0]`; + if (`nodeType $shape[0]` != "mesh") + error "You don't have a polygon object selected.\n"; + textFieldButtonGrp -e -tx $objs[0] TFBG2; + } \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/printGlobalVars.mel b/2009-x64/MiscScripts/scripts/printGlobalVars.mel new file mode 100644 index 0000000..bf3002e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/printGlobalVars.mel @@ -0,0 +1,148 @@ +// Copyright (C) 1997-2000 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Print Global Variable names + values +// +// Author : Takumi Takahashi +// Date : March 3, 1999 +// Description : +// Check to see what type of global variable exists, +// and print out the global variable names + values. +// +// This enables you to do case-sensitive search on the +// global variables used in current Maya session and print out +// the results in script editor. +// As soon as you execute, the dialog pops up to +// inquire your input for the search string of partial name +// of the global variables. You enter the string and press +// the search button, and the result is printed in +// script editor. Alternatively you can press ALL button +// and the result returns you with all the global variables +// used in current Maya session, but be aware - it's mean +// long :) +global proc printGlobalVars() + +{ + $env = `env`; + $ans = `promptDialog -m "Search or All Global variables?" + -b "All" -b "Search" -b "Cancel" -text "(enter search string here)"`; + string $searchString = `promptDialog -q -text`; + if ($ans != "Cancel") + { + print "\n______________________________________________________________\n"; + print "printGlobalVars.mel Start ..."; + print "\nType : Global Variable Name [array size] = Value \n"; + print "______________________________________________________________\n"; + // Loop for all global variable names + for ($i=0;$i>\n"); + break; + case "matrix": + print ("matrix : " + $env[$i] + " = \n"); + $cmd = ("print " + $env[$i]); + eval $cmd; + break; + case "int[]": + print ("int[] : "); + $cmd = "int $ints[] = " + $env[$i]; + int $intArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($intArray) + "]\n"); + for ($j = 0 ; $j < size($intArray);$j++) + { + $values[$j] = $intArray[$j]; + print (" [" + $j + "] = " + $values[$j] + "\n"); + } + break; + case "float[]": + print ("float[] : "); + $cmd = "float $floats[] = " + $env[$i]; + float $floatArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($floatArray) + "]\n"); + for ($j = 0 ; $j < size($floatArray);$j++) + { + $values[$j] = $floatArray[$j]; + print (" [" + $j + "] = "+ $values[$j] + "\n"); + } + break; + case "string[]": + print ("string[] : "); + $cmd = "string $strings[] = " + $env[$i]; + string $stringArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($stringArray) + "]\n"); + for ($j = 0 ; $j < size($stringArray);$j++) + { + $values[$j] = $stringArray[$j]; + print (" [" + $j + "] = \""+ $values[$j] + "\"\n"); + } + break; + case "vector[]": + //print ("vector[] : " + $env[$i] + "[" + size($env[$i]) + "]\n"); + print ("vector[] : "); + $cmd = "vector $vectors[] = " + $env[$i]; + vector $vectorArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($vectorArray) + "]\n"); + for ($j = 0; $j < size($vectorArray); $j ++) + { + print (" [" + $j + "] = <<"); + vector $v = $vectorArray[$j]; + print ($v.x + "," + $v.y + "," + $v.z); + print ">>\n"; + } + break; + }// switch + }// if All or searching and searched + }// for loop end + print "\n______________________________________________________________\n"; + print "printGlobalVars.mel End.\n Coded by Takumi Takahashi March 1999.\n"; + print "______________________________________________________________\n"; + }//if cancelled +} + diff --git a/2009-x64/MiscScripts/scripts/printGlobalVars.mel.-v1.0-.version b/2009-x64/MiscScripts/scripts/printGlobalVars.mel.-v1.0-.version new file mode 100644 index 0000000..bf3002e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/printGlobalVars.mel.-v1.0-.version @@ -0,0 +1,148 @@ +// Copyright (C) 1997-2000 Alias|Wavefront, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias|Wavefront. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias|Wavefront license agreement, without fee. +// +// ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. +// +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Print Global Variable names + values +// +// Author : Takumi Takahashi +// Date : March 3, 1999 +// Description : +// Check to see what type of global variable exists, +// and print out the global variable names + values. +// +// This enables you to do case-sensitive search on the +// global variables used in current Maya session and print out +// the results in script editor. +// As soon as you execute, the dialog pops up to +// inquire your input for the search string of partial name +// of the global variables. You enter the string and press +// the search button, and the result is printed in +// script editor. Alternatively you can press ALL button +// and the result returns you with all the global variables +// used in current Maya session, but be aware - it's mean +// long :) +global proc printGlobalVars() + +{ + $env = `env`; + $ans = `promptDialog -m "Search or All Global variables?" + -b "All" -b "Search" -b "Cancel" -text "(enter search string here)"`; + string $searchString = `promptDialog -q -text`; + if ($ans != "Cancel") + { + print "\n______________________________________________________________\n"; + print "printGlobalVars.mel Start ..."; + print "\nType : Global Variable Name [array size] = Value \n"; + print "______________________________________________________________\n"; + // Loop for all global variable names + for ($i=0;$i>\n"); + break; + case "matrix": + print ("matrix : " + $env[$i] + " = \n"); + $cmd = ("print " + $env[$i]); + eval $cmd; + break; + case "int[]": + print ("int[] : "); + $cmd = "int $ints[] = " + $env[$i]; + int $intArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($intArray) + "]\n"); + for ($j = 0 ; $j < size($intArray);$j++) + { + $values[$j] = $intArray[$j]; + print (" [" + $j + "] = " + $values[$j] + "\n"); + } + break; + case "float[]": + print ("float[] : "); + $cmd = "float $floats[] = " + $env[$i]; + float $floatArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($floatArray) + "]\n"); + for ($j = 0 ; $j < size($floatArray);$j++) + { + $values[$j] = $floatArray[$j]; + print (" [" + $j + "] = "+ $values[$j] + "\n"); + } + break; + case "string[]": + print ("string[] : "); + $cmd = "string $strings[] = " + $env[$i]; + string $stringArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($stringArray) + "]\n"); + for ($j = 0 ; $j < size($stringArray);$j++) + { + $values[$j] = $stringArray[$j]; + print (" [" + $j + "] = \""+ $values[$j] + "\"\n"); + } + break; + case "vector[]": + //print ("vector[] : " + $env[$i] + "[" + size($env[$i]) + "]\n"); + print ("vector[] : "); + $cmd = "vector $vectors[] = " + $env[$i]; + vector $vectorArray[] = `eval $cmd`; + print ($env[$i] + "[" + size($vectorArray) + "]\n"); + for ($j = 0; $j < size($vectorArray); $j ++) + { + print (" [" + $j + "] = <<"); + vector $v = $vectorArray[$j]; + print ($v.x + "," + $v.y + "," + $v.z); + print ">>\n"; + } + break; + }// switch + }// if All or searching and searched + }// for loop end + print "\n______________________________________________________________\n"; + print "printGlobalVars.mel End.\n Coded by Takumi Takahashi March 1999.\n"; + print "______________________________________________________________\n"; + }//if cancelled +} + diff --git a/2009-x64/MiscScripts/scripts/rivet.mel b/2009-x64/MiscScripts/scripts/rivet.mel new file mode 100644 index 0000000..20a8f8e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/rivet.mel @@ -0,0 +1,110 @@ +// Copyright (C) 2000-2001 Michael Bazhutkin - Copyright (C) 2000 studio Klassika +// www.geocites.com/bazhutkin +// bazhutkin@mail.ru +// +// Rivet (button) 1.0 +// Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: April 13, 2001 +// +// Description: +// Use "Rivet" to constrain locator to polygon or NURBS surfaces +// Select two edges of polygon object +// or select one point of NURBS surface and call `rivet` +// Parent or constrain your geometry to this locator + +global proc string rivet () +{ + string $nameObject; + string $namePOSI; + + string $parts[]; + string $list[] = `filterExpand -sm 32`; + int $size = size($list); + if ($size > 0) + { + if ($size != 2) + error("No two selected edges"); + + tokenize($list[0],".",$parts); + $nameObject = $parts[0]; + tokenize($list[0],"[]",$parts); + float $e1 = $parts[1]; + tokenize($list[1],"[]",$parts); + float $e2 = $parts[1]; + + string $nameCFME1 = `createNode curveFromMeshEdge -n "rivetCurveFromMeshEdge1"`; + setAttr ".ihi" 1; + setAttr ".ei[0]" $e1; + string $nameCFME2 = `createNode curveFromMeshEdge -n "rivetCurveFromMeshEdge2"`; + setAttr ".ihi" 1; + setAttr ".ei[0]" $e2; + string $nameLoft = `createNode loft -n "rivetLoft1"`; + setAttr -s 2 ".ic"; + setAttr ".u" yes; + setAttr ".rsn" yes; + + $namePOSI = `createNode pointOnSurfaceInfo -n "rivetPointOnSurfaceInfo1"`; + setAttr ".turnOnPercentage" 1; + setAttr ".parameterU" 0.5; + setAttr ".parameterV" 0.5; + + connectAttr -f ($nameLoft + ".os") ($namePOSI + ".is"); + connectAttr ($nameCFME1 + ".oc") ($nameLoft + ".ic[0]"); + connectAttr ($nameCFME2 + ".oc") ($nameLoft + ".ic[1]"); + connectAttr ($nameObject + ".w") ($nameCFME1 + ".im"); + connectAttr ($nameObject + ".w") ($nameCFME2 + ".im"); + } + else + { $list = `filterExpand -sm 41`; + $size = size($list); + + if ($size > 0) + { + if ($size != 1) + error("No one point selected"); + + tokenize($list[0],".",$parts); + $nameObject = $parts[0]; + tokenize($list[0],"[]",$parts); + float $u = $parts[1]; + float $v = $parts[2]; + $namePOSI = `createNode pointOnSurfaceInfo -n "rivetPointOnSurfaceInfo1"`; + setAttr ".turnOnPercentage" 0; + setAttr ".parameterU" $u; + setAttr ".parameterV" $v; + connectAttr -f ($nameObject + ".ws") ($namePOSI + ".is"); + } + else + error("No edges or point selected"); + } + + string $nameLocator = `createNode transform -n "rivet1"`; + createNode locator -n ($nameLocator + "Shape") -p $nameLocator; + + string $nameAC = `createNode aimConstraint -p $nameLocator -n ($nameLocator + "_rivetAimConstraint1")`; + setAttr ".tg[0].tw" 1; + setAttr ".a" -type "double3" 0 1 0; + setAttr ".u" -type "double3" 0 0 1; + setAttr -k off ".v"; + setAttr -k off ".tx"; + setAttr -k off ".ty"; + setAttr -k off ".tz"; + setAttr -k off ".rx"; + setAttr -k off ".ry"; + setAttr -k off ".rz"; + setAttr -k off ".sx"; + setAttr -k off ".sy"; + setAttr -k off ".sz"; + + connectAttr ($namePOSI + ".position") ($nameLocator + ".translate"); + connectAttr ($namePOSI + ".n") ($nameAC + ".tg[0].tt"); + connectAttr ($namePOSI + ".tv") ($nameAC + ".wu"); + connectAttr ($nameAC + ".crx") ($nameLocator + ".rx"); + connectAttr ($nameAC + ".cry") ($nameLocator + ".ry"); + connectAttr ($nameAC + ".crz") ($nameLocator + ".rz"); + + select -r $nameLocator; + return ($nameLocator); +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/rivetSetup.mel b/2009-x64/MiscScripts/scripts/rivetSetup.mel new file mode 100644 index 0000000..44ea029 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/rivetSetup.mel @@ -0,0 +1,29 @@ +// Copyright (C) 2000-2001 Michael Bazhutkin - Copyright (C) 2000 studio Klassika +// www.geocites.com/bazhutkin +// bazhutkin@mail.ru +// +// Rivet (button) 1.0 +// Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: April 13, 2001 +// +// Description: +// Setup Rivet (button) +// Call `rivetSetup` + +global proc rivetSetup() +{ + global string $gShelfTopLevel; + if (`tabLayout -exists $gShelfTopLevel`) + shelfButton + -parent ($gShelfTopLevel + "|" + `tabLayout -q -st $gShelfTopLevel`) + -command "rivet" + -image1 "rivet.xpm" + -annotation "Rivet (button). Select two edges of polygon or select one point of surface." + -label "Rivet (button)"; + else + error "You need a shelf for Rivet to work!"; +} + +rivetSetup; \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/sIBL.mel b/2009-x64/MiscScripts/scripts/sIBL.mel new file mode 100644 index 0000000..b14ab7f --- /dev/null +++ b/2009-x64/MiscScripts/scripts/sIBL.mel @@ -0,0 +1,1338 @@ +// Smart IBL Loader V0.17 Alpha +// Tested in Maya 8.5, 2008 and 2009 on Windows XP, Vista 64-bit and MacOS X +// Maya-Version by Volker Heisterberg (volk@renderwahnsinn.de) +// Smart Image Based Ligthing is a interchangeable standard for High Dynamic Range Images by Christian Bloch & Christian Bauer +// For more infos go to http://www.smartIBL.com/ ! +// Last changed: 24.10.2008 + +// Notes: + +// - put this script in your maya script folder +// - enter sIBL at the command line +// - if you don«t want to set the folder every time you +// restart maya you should define an environment variable called sIBL containg your library path +// - download and install the puppet shaders from http://www.puppet.tfdv.com/download/shaders_p_e.shtml to use the new "pass final gather" - feature + +// Version history: + +// V0.1alpha: +// First preview release + +// V0.11alpha (12.02.2004): +// - show details (Name/Author/Location) of selected SDR-File +// - delete previous setup +// - keylight is still cumbersome, but better +// - auto-set render globals +// - disable default light + +// V0.12alpha (16.02.2004): +// - checks for env variable SDR for default directory + +// V0.13alpha +// - scientific approach for keyLights +// - keyLights now work in MAYA 8.0 and above, too + +// V0.14alpha +// - name revision: SDR is now called sIBL +// - added support for comments + +// V0.141alpha +// - fixed a bug: folder names may now contain a - + +// V0.15alpha (06.09.2007) +// - validate sIBL-Folder +// - add "/" after the folder name if the user has forgotten +// - env lighting is now possible via mental ray ibl-node +// - works now on MacOS X +// - matched scene orientation +// - light can cast shadows now + +// V0.16alpha (05.03.2008) +// - script is now checking sIBL-Folder and filtering incorrect files +// - fixed glow-bug with MIA materials (thanks to mantered!) +// - added support for production shaders (thanks to Matt Estela!) + +// V0.17alpha (20.10.2008) +// - added support for Maya 2008 +// - fixed bug with ibl-sphere flipped and wrong rotations in Maya 2008 and above (thanks to Fexlex for reporting!) +// - added linear mode (thanks to Kel Solar!) +// - added support of the gamma parameters from the ibl - file, be aware that your renderings may look different now! +// - added function to pass on final gather (thanks to Filip Orrby!) + + +// Known Issues: +// - Key light doesn«t work properly +// - changing the sIBL-path crashes maya on macOS X +// - don«t use a background when rendering with mr-ibl or spheres for proper results, +// if you want to use all components in one render pass download the puppet shaders and use the +// function to "pass on final gather". + +global proc loadSDR(string $filename) +{ + string $mySDR=`textFieldGrp -q -text Test`; + string $fullPath = $mySDR + $filename + "/"; + // print ($fullPath + "\n"); + + // Test: Verzeichnis durchsuchen + string $FL[] = `getFileList -fld ($fullPath) -filespec "*.ibl"`; + if (size($FL)!=0) + { + string $filePath = $fullPath + $FL[0]; + $fileId = fopen($filePath,"r"); + if ($fileId!=0) + { + // check if sdr-file is valid + string $nextWord = `fgetword $fileId`; + if ($nextWord!="[Header]") + { + // this seems to be no sdr-file + print ("sibl not valid\n"); + textScrollList -e -ri $filename tsl; + } + // check contentsourds + // first disbale ... + checkBox -e -en 0 -v 0 checkEnv; + checkBox -e -en 0 -v 0 checkKeylight; + checkBox -e -en 0 -v 0 checkRef; + checkBox -e -en 0 -v 0 checkBack; + while (!`feof $fileId`) + { + string $nextWord = `fgetword $fileId`; + switch ($nextWord) { + case "[Sun]": + checkBox -e -en 1 checkKeylight; + break; + case "[Enviroment]": + checkBox -e -en 1 checkEnv; + break; + case "[Reflection]": + checkBox -e -en 1 checkRef; + break; + case "[Background]": + checkBox -e -en 1 checkBack; + break; + } + } + // rrrrreeewind + frewind $fileId; + // Search for ICOfile + $nextWord = `fgetword $fileId`; + while ($nextWord!="ICOfile") + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $filename = `fgetword $fileId`; + string $buffer[]; + tokenize $filename "\"" $buffer; + string $imageName = $fullPath + $buffer[0]; + //print $imageName; + image -e -image $imageName refPic; + + /* Details */ + + // get details from sdr-file + $nextWord = `fgetword $fileId`; + + // search for "Name" + while (($nextWord!="Name")&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + // das = auslesen und wegschmeissen + fgetword $fileId; + // den Namen auslesen + // ich will sicher gehen dass ich auch Namen, die aus mehreren Wörtern + // bestehen, richtig lesen kann: + string $puffer = `fgetword $fileId`; + string $sdrName = $puffer; + while (($puffer!="Author")&&!`feof $fileId`) + { + $puffer = `fgetword $fileId`; + $sdrName = $sdrName + " " + $puffer; + } + // die Anfuehrungszeichen entfernen + tokenize $sdrName "\"" $buffer; + // $sdrName zuweisen + $sdrName = "" + $buffer[0]; + + // search for "Author" + + //while (($nextWord!="Author")&&!`feof $fileId`) + //{ + // $nextWord = `fgetword $fileId`; + // + // das = auslesen und wegschmeissen + fgetword $fileId; + // den Autorennamen auslesen + $puffer = `fgetword $fileId`; + string $aut = $puffer; + while (($puffer!="Location")&&!`feof $fileId`) + { + $puffer = `fgetword $fileId`; + $aut = $aut + " " + $puffer; + } + // die Anfuehrungszeichen entfernen + tokenize $aut "\"" $buffer; + // wieder $aut zuweisen + $aut = "" + $buffer[0]; + + // search for "Location" + //while (($nextWord!="Location")&&!`feof $fileId`) + //{ + // $nextWord = `fgetword $fileId`; + //} + // das = auslesen und wegschmeissen + fgetword $fileId; + // den Locationnamen auslesen + $puffer = `fgetword $fileId`; + string $loc = $puffer; + while (($puffer!="Comment")&&!`feof $fileId`) + { + $puffer = `fgetword $fileId`; + $loc = $loc + " " + $puffer; + } + // die Anfuehrungszeichen entfernen + tokenize $loc "\"" $buffer; + // wieder $loc zuweisen + $loc = "" + $buffer[0]; + + // print ("Starting search, puffer:" + $puffer + "\n"); + // das = auslesen und wegschmeissen + fgetword $fileId; + string $comment = ""; + if ($puffer == "Comment") + { + while ($puffer!="[Background]"&&!`feof $fileId`) + { + $puffer = `fgetword $fileId`; + // print ("Puffer:" + $puffer + "\n"); + if ($puffer != "[Background]") $comment = $comment + " " + $puffer; + } + } + // die Anfuehrungszeichen entfernen + tokenize $comment "\"" $buffer; + $comment = $buffer[1]; + + // Strings bauen + string $nText = "Name:" + $sdrName; + string $lText = "Location:" + $loc; + string $aText = "Author:" + $aut; + string $cText = "Comment:" + $comment; + + // Details anzeigen + text -e -l $nText nameText; + text -e -l $lText locationText; + text -e -l $aText authorText; + text -e -l $cText commentText; + + + } + fclose($fileId); + } + else + { + textScrollList -e -ri $filename tsl; + } +} + +global proc load2SDR(string $filename) +{ + + // check if I should delete the existing setup + $delTest = `checkBox -q -v checkDel`; + if ($delTest!=0) + { + select -cl; + string $command = "ls \"SUN\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "SUN*"; + } + string $command = "ls \"bg\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "bg*"; + } + string $command = "ls \"refSphere_\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "refSphere_*"; + } + string $command = "ls \"ENV_\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "ENV_*"; + } + string $command = "ls \"env_\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "env_*"; + } + string $command = "ls \"ref_\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "ref_*"; + } + string $command = "ls \"ss_\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "ss_*"; + } + + string $iblNode[] = `ls -fl -typ mentalrayIblShape`; + + for ($iblNod in $iblNode) + { + select -add $iblNod; + select -add (`listTransforms $iblNod`); + } + + /*string $command = "ls \"mentalrayIbl\*\""; + string $selectionList[] = eval($command); + if (size($selectionList)!=0) + { + select -add "mentalrayIbl*"; + } + // check for ibl-Node + string $connectionPlug = `connectionInfo -sfd mentalrayGlobals.imageBasedLighting`; + if ($connectionPlug != "") + { + string $tempo[]; + tokenize $connectionPlug "." $tempo; + select -add $tempo[0]; + }*/ + // select raySwitchStuff + string $rayStuff[] = `ls "raySwitch_*"`; + if (size($rayStuff)>0) select -add "raySwitch_*"; + + + string $mipStuff[] = `ls "sIBL_rayswitch_*"`; + if (size($mipStuff)>0) select -add "sIBL_rayswitch_*"; + + string $eyeGammaStuff[] = `ls "eyeGamma*"`; + if (size($eyeGammaStuff)>0) select -add "eyeGamma*"; + + string $eyeGammaStuff[] = `ls "envGamma*"`; + if (size($eyeGammaStuff)>0) select -add "envGamma*"; + + string $eyeGammaStuff[] = `ls "refGamma*"`; + if (size($eyeGammaStuff)>0) select -add "refGamma*"; + + // select lens shader + string $lensShader[] = `ls -fl -typ mia_exposure_simple`; + for ($lS in $lensShader) + { + select -add $lS; + } + + // delete puppet shader and mip_continue + select -add `ls "REF_mc_*"`; + select -add `ls "REF_prt_*"`; + select -add `ls "BG_mc_*"`; + select -add `ls "BG_prt_*"`; + + + string $Selected[] = `ls -sl`; + if (size($Selected)!=0) + { + delete; + } + + } + + //check if I should display textures + $texTest = `checkBox -q -v checkTex`; + if ($texTest==1) + { + DisplayShadedAndTextured; + } + + //check if I should set render globals + $renTest = `checkBox -q -v checkRen`; + if ($renTest==1) + { + setAttr defaultRenderGlobals.currentRenderer -type "string" mentalRay; + updateRendererUI(); + setAttr "miDefaultOptions.finalGather" 1; + setAttr "miDefaultOptions.maxSamples" 1; + setAttr "miDefaultOptions.minSamples" -1; + setAttr "miDefaultOptions.jitter" 1; + } + + //disable default light + setAttr "defaultRenderGlobals.enableDefaultLight" 0; + + string $mySDR=`textFieldGrp -q -text Test`; + string $fullPath = $mySDR + $filename + "/"; + + // Test: Verzeichnis durchsuchen + string $FL[] = `getFileList -fld $fullPath -filespec "*.ibl"`; + string $filePath = $fullPath + $FL[0]; + $fileId = fopen(($filePath),"r"); + if ($fileId!=0) + { + string $nextWord = `fgetword $fileId`; + + // check for raySwitch + $rayTest = `checkBox -q -v checkRaySwitch`; + if ($rayTest!=0) + { + // create raySwitch setup + string $raySwitchSphere[] = `polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 1 -ch 1 -n ("raySwitch_" + $filename)`; + string $raySwitchShape[]= `listRelatives -s $raySwitchSphere[0]`; + + scale -r -50 50 50; + rotate -r 0 108 0; + + while($nextWord!="BGfile"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $BGfile= `fgetword $fileId`; + string $buffer[]; + tokenize $BGfile "\"" $buffer; + string $bgFile = encodeString($fullPath) + $buffer[0]; + string $surfaceShader = `shadingNode -asShader surfaceShader -name ("raySwitch_" + $filename)`; + string $surfaceSG = ` sets -renderable true -noSurfaceShader true -empty -name ($surfaceShader + "SG")`; + connectAttr -f ($surfaceShader + ".outColor") ($surfaceSG + ".surfaceShader"); + sets -e -fe $surfaceSG $raySwitchSphere[0]; + + string $mrs = `shadingNode -asShader mip_rayswitch -n ("sIBL_rayswitch_" + $filename)`; + + connectAttr -f ($mrs + ".outValue") ($surfaceSG + ".miMaterialShader"); + + // suppress maya shaders + setAttr ($surfaceSG + ".miExportMrMaterial") 1; + + // check if background is enabled + $backTest = `checkBox -q -v checkBack`; + + if ($backTest!=0) + { + // connect bgFile to the lambert for reference only + string $fileNode = `shadingNode -at file -name ("bg_" + $filename)`; + setAttr -type "string" ($fileNode + ".fileTextureName") ($bgFile); + connectAttr -f ($fileNode + ".outColor") ($surfaceShader + ".outColor"); + + // connect bgFile + string $eyeGamma = `shadingNode -asUtility gammaCorrect -name ("eyeGamma_" + $filename)`; + connectAttr -f ($fileNode + ".outColor") ($eyeGamma + ".value"); + connectAttr -f ($eyeGamma + ".outValue") ($mrs + ".eye"); + + // check for linear mode + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=0) + { + setAttr ($eyeGamma + ".gammaX") 0.4545; + setAttr ($eyeGamma + ".gammaY") 0.4545; + setAttr ($eyeGamma + ".gammaZ") 0.4545; + } + + // get selected resolution + string $resStr[] = `textScrollList -q -si resTSL`; + int $res = (int) $resStr[0]; + // set texture resolution + addAttr -ln resolution -at long -dv $res $surfaceShader; + } + + // search for EVfile + while ($nextWord!="EVfile"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $EVfile = `fgetword $fileId`; + string $buffer[]; + tokenize $EVfile "\"" $buffer; + + // search for EVmulti + while ($nextWord!="EVmulti"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + + fgetword $fileId; + string $EVmulti = `fgetword $fileId`; + float $EVmult = (float) $EVmulti; + + + // search for EVgamma + while ($nextWord!="EVgamma"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + + fgetword $fileId; + string $EVgammaStr = `fgetword $fileId`; + float $EVgamma = (float) $EVgammaStr; + + $envTest = `checkBox -q -v checkEnv`; + if ($envTest!=0) + { + // create env texture and connect it + string $fileNode =`shadingNode -at file -name ("env_" + $filename)`; + string $envTex = encodeString($fullPath) + $buffer[0]; + setAttr -type "string" ("env_" + $filename + ".fileTextureName") $envTex; + setAttr -type "double3" ($fileNode + ".colorGain") $EVmult $EVmult $EVmult; + + string $envGamma = `shadingNode -asUtility gammaCorrect -name ("envGamma_" + $filename)`; + connectAttr -f ($fileNode + ".outColor") ($envGamma + ".value"); + connectAttr -f ($envGamma + ".outValue") ($mrs + ".finalgather"); + + // check for linear mode + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=1) + { + setAttr ($envGamma + ".gammaX") $EVgamma; + setAttr ($envGamma + ".gammaY") $EVgamma; + setAttr ($envGamma + ".gammaZ") $EVgamma; + } + } + + //search for REFfile + while($nextWord!="REFfile" &&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $REFfile = `fgetword $fileId`; + string $REFbuffer[]; + tokenize $REFfile "\"" $REFbuffer; + + //search for REFmulti + while($nextWord!="REFmulti" &&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $REFMulti = `fgetword $fileId`; + float $REFmult = (float) $REFMulti; + + //search for REFgamma + while($nextWord!="REFgamma" &&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $REFgammaStr = `fgetword $fileId`; + float $REFgamma = (float) $REFgammaStr; + + $refTest = `checkBox -q -v checkRef`; + if ($refTest!=0) + { + string $refNode = `shadingNode -at file -name ("ref_" + $filename)`; + string $refTex = encodeString($fullPath) + $REFbuffer[0]; + // set image path + setAttr -type "string" ($refNode + ".fileTextureName") $refTex; + setAttr -type "double3" ($refNode + ".colorGain") $REFmult $REFmult $REFmult; + string $refGamma = `shadingNode -asUtility gammaCorrect -name ("refGamma_" + $filename)`; + connectAttr -f ($refNode + ".outColor") ($refGamma + ".value"); + connectAttr -f ($refGamma + ".outValue") ($mrs + ".reflection"); + + // check for linear mode + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=1) + { + setAttr ($refGamma + ".gammaX") $REFgamma; + setAttr ($refGamma + ".gammaY") $REFgamma; + setAttr ($refGamma + ".gammaZ") $REFgamma; + } + } + + + } + else + { + // check if background is enabled + $backTest = `checkBox -q -v checkBack`; + if ($backTest!=0) + { + //create backgroundSphere + // Nurbs sphere: + // sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 60 -d 3 -ut 0 -tol 0.01 -s 14 -nsp 8 -ch 1; + polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 1 -ch 1; + rename ("bgSphere_" + $filename); + //scale -r 50 50 50 ; + // Stefan und Volks Weg: Anpassen der Umgebungskugeln + scale -r -50 50 50; + rotate -r 0 108 0; + + + string $Selected[] = `ls -sl`; + // set bg-sphere attributes + string $command = "setAttr bgSphere_" + $filename + ".castsShadows 0"; + eval($command); + $command = " setAttr bgSphere_" + $filename + ".receiveShadows 0"; + eval($command); + $command = "setAttr bgSphere_" + $filename + ".motionBlur 0"; + eval($command); + // turn off primaryVisibility so the bg is not included in final gather + $command = "setAttr bgSphere_" + $filename + ".primaryVisibility 0"; + eval($command); + $command = "setAttr bgSphere_" + $filename + ".visibleInReflections 0"; + eval($command); + $command = "setAttr bgSphere_" + $filename + ".visibleInRefractions 0"; + eval($command); + $command = "setAttr bgSphere_" + $filename + ".doubleSided 0"; + eval($command); + setAttr ("bgSphere_" + $filename + ".opposite") 1; + // setAttr ("bgSphere_" + $filename + ".miFinalGatherCast") 0; + // setAttr ("bgSphere_" + $filename + ".miFinalGatherReceive") 0; + + + // !!! + // string $command = "setAttr " + $bgSphere + ".rotateX 180"; + // eval($command); + //search for BGfile + while($nextWord!="BGfile"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $BGfile= `fgetword $fileId`; + string $buffer[]; + tokenize $BGfile "\"" $buffer; + string $bgFile = encodeString($fullPath) + $buffer[0]; + string $bgFileNode = `shadingNode -at file -name ("bg_" + $filename)`; + string $command = "setAttr -type \"string\" bg_" + $filename + ".fileTextureName \"" + $bgFile + "\" \"image\""; + //string $command = "AEassignTextureCB bg_" + $filename + ".fileTextureName \"" + $bgFile + "\" \"image\""; + eval ($command); + $command = "shadingNode -asShader surfaceShader"; + eval($command); + $command = "rename bgSs_" + $filename; + eval($command); + string $bgShadingGroup = `sets -renderable true -noSurfaceShader true -empty -name ("bgSs_" + $filename + "SG")`; + $command = "select -r " + $Selected[0]; + eval($command); + refreshAE; + connectAttr -f ("bgSs_" + $filename + ".outColor") ($bgShadingGroup + ".surfaceShader"); + $command = "connectAttr -f bg_" + $filename + ".outColor bgSs_" + $filename + ".outColor"; + eval($command); + $command = "sets -e -forceElement bgSs_" + $filename + "SG;"; + eval($command); + //$command = " AEnewInt \"bgSs_" + $filename + ".resolution\" \"Resolution\" \"512\" "; + + + // get selected resolution + string $resStr[] = `textScrollList -q -si resTSL`; + int $res = (int) $resStr[0]; + // set texture resolution + $command = "addAttr -ln resolution -at long -dv " + $res + " bgSs_" + $filename; + eval($command); + refreshAE; + $command = "setAttr \"bgSs_" + $filename + ".outMatteOpacity\" -type double3 0 0 0"; + eval($command); + + + // check for puppet + $puppetTest = `checkBox -q -v checkPuppet`; + if ($puppetTest!=0) + { + setAttr ($bgShadingGroup + ".miExportMrMaterial") 1; + string $bgPRT = `shadingNode -asShader p_ray_type -name ("BG_prt_" + $filename)`; + connectAttr -f ($bgPRT + ".outValue") ($bgShadingGroup + ".miMaterialShader"); + connectAttr -f ($bgFileNode + ".outColor") ($bgPRT + ".eye"); + connectAttr -f ($bgFileNode + ".outAlpha") ($bgPRT + ".eyeA"); + setAttr ($bgPRT +".enable_finalgather") 1; + string $bgMc = `createNode mib_continue -name ("BG_mc_"+ $filename)`; + connectAttr -f ($bgMc + ".outValue") ($bgPRT + ".finalgather"); + } + + + } + + + // %%%%%%%%%%%%%%%%%%%%%%% + // check if env is enabled + // %%%%%%%%%%%%%%%%%%%%%%% + + $envTest = `checkBox -q -v checkEnv`; + if ($envTest!=0) + { + // check for sphere instead of ibl-node + int $sphereTest = `checkBox -q -v checkGeo`; + if ($sphereTest!=0) + { + // create ENV-sphere + // default env-sphere + //sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 30 -d 3 -ut 0 -tol 0.01 -s 14 -nsp 8 -ch 1; + polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 1 -ch 1; + //scale -r 51 51 51 ; + // Stefan und Volks Weg: Anpassen der Umgebungskugeln + scale -r -51 51 51 ; + rotate -r 0 108 0; + + rename ("ENV_" + $filename); + pickWalk -d down; + string $Selected[] = `ls -sl`; + string $esName = $Selected[0]; + //refreshAE; + // set env-sphere attributes + setAttr ($esName + ".castsShadows") 0; + setAttr ($esName + ".receiveShadows") 0; + setAttr ($esName + ".motionBlur") 0; + setAttr ($esName + ".primaryVisibility") 0; + setAttr ($esName + ".smoothShading") 0; + setAttr ($esName + ".visibleInReflections") 0; + setAttr ($esName + ".visibleInRefractions") 1; + setAttr ($esName + ".doubleSided") 0; + setAttr ($esName + ".opposite") 1; + + // search for EVfile + while ($nextWord!="EVfile"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $EVfile = `fgetword $fileId`; + string $buffer[]; + tokenize $EVfile "\"" $buffer; + + // search for EVmulti + while ($nextWord!="EVmulti"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + + fgetword $fileId; + string $EVmulti = `fgetword $fileId`; + float $EVmult = (float) $EVmulti; + + // search for EVgamma + while ($nextWord!="EVgamma"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + + fgetword $fileId; + string $EVgammaStr = `fgetword $fileId`; + float $EVgamma = (float) $EVgammaStr; + + // create texture + string $fileNode =`shadingNode -at file -name ("env_" + $filename)`; + string $envTex = encodeString($fullPath) + $buffer[0]; + string $command = "setAttr -type \"string\" env_" + $filename + ".fileTextureName \"" + $envTex + "\" \"image\""; + eval($command); + // create shader + $command = "shadingNode -asShader surfaceShader"; + eval($command); + $command = "rename ss_" + $filename; + eval($command); + // create shading group + $command = "sets -renderable true -noSurfaceShader true -empty -name ss_" + $filename + "SG"; + eval ($command); + // select sphere + $command = "select -r " + $Selected[0]; + eval($command); + refreshAE; + // connect shader to shading group + $command = "connectAttr -f ss_" + $filename + ".outColor ss_" + $filename + "SG.surfaceShader"; + eval($command); + // assign + $command = "sets -e -forceElement ss_" + $filename + "SG;"; + eval($command); + // create gamma + string $envGamma = `shadingNode -asUtility gammaCorrect -name ("envGamma_" + $filename)`; + connectAttr -f ("env_" + $filename + ".outColor") ($envGamma + ".value"); + + // connect texture + connectAttr -f ($envGamma + ".outValue") ("ss_" + $filename + ".outColor"); + + setAttr -type "double3" ($fileNode + ".colorGain") $EVmult $EVmult $EVmult; + + // check for linear mode + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=1) + { + setAttr ($envGamma + ".gammaX") $EVgamma; + setAttr ($envGamma + ".gammaY") $EVgamma; + setAttr ($envGamma + ".gammaZ") $EVgamma; + } + + + } + else + { + // create ibl-node + miCreateIbl; + string $connectionPlug = `connectionInfo -sfd mentalrayGlobals.imageBasedLighting`; + string $tempo[]; + tokenize $connectionPlug "." $tempo; + string $iblNode = $tempo[0]; + + // get transform + string $iblTransform[] = `listTransforms $iblNode`; + setAttr ($iblTransform[0] + ".scaleX") -51; + setAttr ($iblTransform[0] + ".scaleY") 51; + setAttr ($iblTransform[0] + ".scaleZ") 51; + // setAttr ($iblTransform[0] + ".rotateY") 108; + + // set ibl to texture + setAttr ($iblNode + ".type") 1 + ; + // get env-texture and set it + // search for EVfile + while ($nextWord!="EVfile"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $EVfile = `fgetword $fileId`; + string $buffer[]; + tokenize $EVfile "\"" $buffer; + string $envTex = encodeString($fullPath) + $buffer[0]; + + // search for EVmulti + while ($nextWord!="EVmulti"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $EVmulti = `fgetword $fileId`; + float $EVmult = (float) $EVmulti; + + // search for EVgamma + while ($nextWord!="EVgamma"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + + fgetword $fileId; + string $EVgammaStr = `fgetword $fileId`; + float $EVgamma = (float) $EVgammaStr; + + string $envFile = `shadingNode -at file -n ("env_" + $filename)`; + setAttr -type "string"($envFile + ".fileTextureName") $envTex; + + // create gamma + string $envGamma = `shadingNode -asUtility gammaCorrect -name ("envGamma_" + $filename)`; + connectAttr -f ($envFile + ".outColor") ($envGamma + ".value"); + connectAttr -f ($envGamma + ".outValue") ($iblNode + ".color"); + + // check for linear mode + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=1) + { + setAttr ($envGamma + ".gammaX") $EVgamma; + setAttr ($envGamma + ".gammaY") $EVgamma; + setAttr ($envGamma + ".gammaZ") $EVgamma; + } + + setAttr -type "double3" ($iblNode + ".colorGain") $EVmult $EVmult $EVmult; + + select -cl; + + } + } + + // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + // check if reflection is enabled + // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + + $refTest = `checkBox -q -v checkRef`; + if ($refTest!=0) + { + polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 1 -ch 1; + rename ("refSphere_" + $filename); + scale -r -52 52 52 ; + rotate -r 0 108 0; + string $Selected[] = `ls -sl`; + string $refSphere = $Selected[0]; + + // set ref-sphere attributes + string $command = " setAttr " + $refSphere + ".castsShadows 0"; + eval($command); + $command = " setAttr " + $refSphere + ".motionBlur 0"; + eval($command); + $command = "setAttr " + $refSphere + ".receiveShadows 0"; + eval($command); + $command = " setAttr " + $refSphere + ".primaryVisibility 0"; + eval($command); + $command = " setAttr " + $refSphere + ".doubleSided 0"; + eval($command); + $command = " setAttr " + $refSphere + ".visibleInRefractions 1"; + eval($command); + $command = " setAttr " + $refSphere + ".visibleInReflections 1"; + eval($command); + $command = " setAttr " + $refSphere + ".opposite 1"; + eval($command); + //search for REFfile + while($nextWord!="REFfile" &&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $REFfile = `fgetword $fileId`; + string $REFbuffer[]; + tokenize $REFfile "\"" $REFbuffer; + + //search for REFmulti + while($nextWord!="REFmulti" &&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $REFMulti = `fgetword $fileId`; + float $REFmult = (float) $REFMulti; + + // search for REFgamma + while ($nextWord!="REFgamma"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $REFgammaStr = `fgetword $fileId`; + float $REFgamma = (float) $REFgammaStr; + + // creating texture for reflections + + string $refNode = `shadingNode -at file -name ("ref_" + $filename)`; + string $refTex = encodeString($fullPath) + $REFbuffer[0]; + // set image path + string $command = "setAttr -type \"string\" ref_" + $filename + ".fileTextureName \"" + $refTex + "\" \"image\""; + eval($command); + // create shader + $command = "shadingNode -asShader surfaceShader -n ref_ss_" + $filename; + // print($command); + eval($command); + // create shadingGroup + string $refShadingGroup = `sets -renderable true -noSurfaceShader true -empty -name ("ref_ss_" + $filename + "SG")`; + // print($command); + eval($command); + // select reflection sphere + $command = "select -r refSphere_" + $filename; + eval($command); + // connect shader to shading Group + $command = "connectAttr -f ref_ss_" + $filename + ".outColor ref_ss_" + $filename + "SG.surfaceShader"; + eval($command); + // assign + $command = "sets -e -forceElement ref_ss_" + $filename + "SG;"; + eval($command); + + // create gamma + string $refGamma = `shadingNode -asUtility gammaCorrect -name ("refGamma_" + $filename)`; + connectAttr -f ($refNode + ".outColor") ($refGamma + ".value"); + + // connect texture + connectAttr -f ($refGamma + ".outValue") ("ref_ss_" + $filename + ".outColor"); + + // check for linear mode + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=1) + { + setAttr ($refGamma + ".gammaX") $REFgamma; + setAttr ($refGamma + ".gammaY") $REFgamma; + setAttr ($refGamma + ".gammaZ") $REFgamma; + } + + setAttr -type "double3" ($refNode + ".colorGain") $REFmult $REFmult $REFmult; + + select -cl; + + // check for puppet + $puppetTest = `checkBox -q -v checkPuppet`; + if ($puppetTest!=0) + { + setAttr ($refShadingGroup + ".miExportMrMaterial") 1; + string $refPRT = `shadingNode -asShader p_ray_type -name ("REF_prt_" + $filename)`; + connectAttr -f ($refPRT + ".outValue") ($refShadingGroup + ".miMaterialShader"); + connectAttr -f ($refGamma + ".outValue") ($refPRT + ".eye"); + connectAttr -f ($refNode + ".outAlpha") ($refPRT + ".eyeA"); + setAttr ($refPRT + ".enable_finalgather") 1; + string $refMc = `createNode mib_continue -name ("REF_mc_"+ $filename)`; + connectAttr -f ($refMc + ".outValue") ($refPRT + ".finalgather"); + } + } + } + + + //""""""""""""""""""""""""" + // check if sun is enabled + //""""""""""""""""""""""""" + $sunTest = `checkBox -q -v checkKeylight`; + if ($sunTest!=0) + { + // search for sunColor + while($nextWord!="SUNcolor"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $sunColorString = `fgetword $fileId`; + string $sunColorRGB[]; + tokenize $sunColorString "," $sunColorRGB; + + // search for sunIntensity + while($nextWord!="SUNmulti"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + string $sunIntensity= `fgetword $fileId`; + + // search for sunU + while($nextWord!="SUNu"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + $sunU = `fgetword $fileId`; + + // search for sunV + while($nextWord!="SUNv"&&!`feof $fileId`) + { + $nextWord = `fgetword $fileId`; + } + fgetword $fileId; + $sunV = `fgetword $fileId`; + + // calculate rotation + // method 1: + //$sunRotY = cos(float($sunU)*360); + //$sunRotX = cos((float($sunV)-0.5)*90); + //$sunRotZ = cos(float($sunU)*360); + // method 2: + //$sunRotX = sin(float($sunU)*360); + //$sunRotY = cos((float($sunV)-0.5)*90); + //$sunRotZ = cos(float($sunU)*360); + // createLight + // method 3: + //--sZ = sin((0.5 - SUNy)*180) -- Z is height! + //--dR = cos((0.5 - SUNy)*180) + //--sX = (cos(SUNx*360)) * dR -- X is left right + //--sY = (sin(SUNx*360)) * dR -- Y is front back + //$sunRotY = sin((0.5-float($sunV))*180); + //$dr = cos((0.5 -float($sunV))*180); + //$sunRotX = (cos(float($sunU) * 360))* $dr; + //$sunRotZ = (sin(float($sunU)*360))* $dr; + + // neuer Versuch + //$tx = sin(deg_to_rad((float)$sunU * 360)) * 6; + //$ty = cos(deg_to_rad((float)$sunV - 0.5) * 90) * 6; + //$tz = cos(deg_to_rad((float)$sunU * 360)) * 6; + + //Intensitaet des Lichts runter schrauben + //TODO: Find out why this is necessary + float $lightInt = float($sunIntensity)/200; + + // old version: defaultDirectionalLight differs in parameters between Maya 7.0 and 8.0 + // defaultDirectionalLight($lightInt, float($sunColorRGB[0]),float($sunColorRGB[1]),float($sunColorRGB[2]), "0", 0,0,0, 0); + string $lightName = `shadingNode -asLight spotLight`; + $lightName = `rename $lightName ("SUN_" + $filename)`; + setAttr ($lightName + ".intensity") $lightInt; + setAttr ($lightName + ".colorR") (float($sunColorRGB[0])); + setAttr ($lightName + ".colorG") (float($sunColorRGB[1])); + setAttr ($lightName + ".colorB") (float($sunColorRGB[2])); + setAttr ($lightName + ".coneAngle") 90; + + int $test = `checkBox -q -v checkShadows`; + + if ($test==1) setAttr ($lightName + ".useRayTraceShadows") 1; + + // just Rotate + // $sunRotY = 360 - ((float) $sunU * 360); + // $sunRotX = atan($tx/$tz); + // $srX = rad_to_deg($sunRotX); + // $srY = $sunRotY ; + //$srZ = rad_to_deg($sunRotZ); + + + // translate + move -r -os -wd 0 0 48 ; + + + string $adjustGroup = `group -w -n ($lightName + "_adjustGroup")`; + xform -os -piv 0 0 0; + rotate -r -os -90 0 0; + + pickWalk -d down; + + string $rotateV = `group -n ($lightName + "_rotateV")`; + xform -os -piv 0 0 0; + string $rotateU = `group -n ($lightName + "_rotateU")`; + xform -os -piv 0 0 0; + + float $rotV = (float) $sunV * 180.0; + + float $rotU = (float) $sunU * 360.0; + + setAttr ($rotateV + ".rotateX") $rotV; + setAttr ($rotateU + ".rotateZ") (-$rotU); + + select -cl; + + //Version von Stefan und Volk + // $srX = 90 - (180 - ((float)$sunV * 180)); + // $srY = 90 + ((float)$sunU * 360); + + // true scientific way + // float $theta = ((float) $sunU + 0.5)* 6.283184; + // float $phi = (float) $sunV * 3.141592; + + // float $srZ = rad_to_deg (cos($theta) * sin($phi) * -1); + // float $srY = rad_to_deg (cos($phi)); + // float $srX = rad_to_deg (sin($theta) * sin($phi) * -1); + + // rotate 180 Degrees first + // rotate -r -os 180 0 0; + + // rotate -r -os 0 0 $srZ; + // print ("Rotating " + $srZ + " in Z!\n"); + // rotate -r -os 0 $srY 0; + // print ("Rotating " + $srY + " in Y!\n"); + // rotate -r -os $srX 0 0; + // print ("Rotating " + $srX + " in X!\n"); + + //scale -r 1 1 -1 ; + + + + } + + //""""""""""""""""""""""""" + // check if linear workflow is selected + //""""""""""""""""""""""""" + $linTest = `checkBox -q -v checkLin`; + if ($linTest!=0) + { + // create mental ray lens shader + string $lin_lenseShader = `createNode "mia_exposure_simple"`; + $lin_lenseShader = `rename ($lin_lenseShader) ("sIBL_" + $filename + "_mia_exosure_simple")`; + + // connect lense shader to all cameras + string $cameraList[] = `ls -fl -type "camera"`; + for ($cam in $cameraList) + { + connectAttr -f ($lin_lenseShader + ".message") ($cam + ".miLensShader"); + } + + + + } + + + fclose($fileId); + } + select -cl; +} + +global proc enterPath(string $mySDR,string $message) +{ + print("Please define an Environmentvariable sIBL pointing to your collection..."); + string $window = `window -title "Set collection path..." + -iconName "Short Name" + -widthHeight 200 100`; + columnLayout -adjustableColumn true; + text -label $message; + textFieldGrp + -label "sIBL collection path:" + -text $mySDR + -editable true + -cc "$mySDR = `textFieldGrp -q -text Test2`" + Test2; + button -label "OK" + -command ("string $mySDR = `textFieldGrp -q -text Test2`;deleteUI -window " + $window + ";" + "sIBL2($mySDR)"); + setParent ..; + showWindow $window; +} + +// Interface + +global proc sIBL() +{ + // make sure mentalrayOptions exist + if(! `objExists miDefaultOptions`) + { + string $mro = `createNode mentalrayOptions -n miDefaultOptions`; + dgdirty $mro; + } + if(! `objExists mentalrayGlobals`) + { + createNode mentalrayGlobals -n mentalrayGlobals; + } + select -r mentalrayGlobals; + // Directory with the default sIBL-Library + string $mySDR="C:/sIBL/Library/"; + string $envTest=`getenv "sIBL"`; + if ($envTest!="") + { + $mySDR = $envTest; + sIBL2($mySDR); + } + else enterPath($mySDR,"There is no environment variable sIBL defined! Please enter your Collection Path!"); + // this is necessary for Maya 2008 and below + string $sourceCMRT = "source createMentalRayGlobalsTab.mel"; + if (`exists createMentalRayGlobalsTab.mel`) catchQuiet (eval ($sourceCMRT)); + // this is necessary for Maya 2009 + string $sourceCMRILT = "source createMentalRayIndirectLightingTab.mel"; + if (`exists createMentalRayIndirectLightingTab.mel`) catchQuiet (eval ($sourceCMRILT)); +} + +// starting sdr2 with an argument + +global proc sIBL2(string $mySDR) +{ + // check if user forgot the last "/" and add it if he did + int $letterCount = size($mySDR); + if ((!endsWith($mySDR,"/"))&&(!endsWith($mySDR,"\\"))) $mySDR = $mySDR + "/"; + + // Load the SDR-List + + // print ("mySDR:" + $mySDR + "!"); + + string $Temp_List[] = `getFileList -folder $mySDR`; + + // check if files are folders + int $Temp_count = size($Temp_List); + int $SDR_count = 0; + string $SDR_List[]; + for ($i=0; $i<$Temp_count; $i++) + { + // check if there are any ibl-files in the folder + string $IBL_List[] = `getFileList -fs ("*.ibl") -fld ($mySDR + "/" + $Temp_List[$i] + "/")`; + $iblFile = $IBL_List[0]; + for ($iblTest in $IBL_List) + { + int $iblCheck = `strcmp $iblTest ($Temp_List[$i] + "*.ibl")`; + if ($iblCheck==0) $iblFile = $iblTest; + } + // print ($iblTest + "\n"); + catchQuiet ($testFileId = `fopen ($mySDR + "/" + $Temp_List[$i] + "/" + $iblTest) "r"`); + // print ($testFileId + "\n"); + if ($testFileId!=0) + { + $SDR_List[$SDR_count] = $Temp_List[$i]; + $SDR_count++; + } + fclose $testFileId; + } + + + // empty help string + print ""; + // check if SDR_List is empty + int $slCount = size ($SDR_List); + if ($slCount==0) + { + enterPath($mySDR,"This Folder does not contain any sIBL-sets. Please enter a new folder..."); + } + else + { + // Evironment-Variable aktualisieren + putenv "sIBL" $mySDR; + + // Create Window + if ((`window -ex sIBL_Window`) == 1) + { + deleteUI -window sIBL_Window; + // print ("Deleted old Window!\n "); + } + window -title "sIBL Loader v0.17a" -menuBar true -s true -widthHeight 440 500 sIBL_Window; + // print ("Creating new window!"); + setUITemplate -pst attributeEditorTemplate; + string $form = `formLayout -numberOfDivisions 100`; + string $cL = `columnLayout `; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 300 -columnWidth 2 128; + textFieldGrp + -label "SIBL-Collection path:" + -text $mySDR + -editable false + -cc "$mySDR = `textFieldGrp -q -text Test`;sIBL2($mySDR);" + Test; + button -label "Change path ..." -c "textFieldGrp -e -editable true Test"; + // Schleife, um die Entries zu erzeugen + int $length = size($SDR_List); + + string $command = "textScrollList -numberOfRows " + 8 + " -allowMultiSelection false"; + int $i=0; + for ($i=0; $i<$length; $i++) + { + $command = $command + " -append " + $SDR_List[$i]; + } + $command = $command + " -selectItem " + $SDR_List[0]; + $command = $command + " -sc \"string $selName[] = `textScrollList -q -si tsl`;loadSDR($selName[0]);\" tsl"; + eval ($command); + // print($mySDR); + image -image ($mySDR + "sIBLmaya.jpg") -h 124 refPic; + // Spalte fuer die Optionen + columnLayout; + checkBox -label "create background" -en 1 checkBack; + checkBox -label "create environment map" -en 1 checkEnv; + checkBox -label "create reflection map" -en 1 checkRef; + checkBox -label "create key light" -en 1 checkKeylight; + + // zum uebergeordneten Layout wechseln + setParent..; + // Spalte fuer die Detailinformationen + columnLayout; + text -label "Name:" nameText; + text -label "Location:" locationText; + text -label "Author:" authorText; + + // zum uebergeordneten Layout wechseln + setParent..; + setParent..; + text -label "Comment:" commentText; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 300 -columnWidth 2 128; + button -label "Load selected" -c "string $selName[] = `textScrollList -q -si tsl`;load2SDR($selName[0]);"; + formLayout -e -attachForm $cL "top" 5 -attachForm $cL "bottom" 30 $form; + + //load default selection + loadSDR($SDR_List[0]); + + text -label "" dummyText; + // checkBox: will ich das bestehende Setup loeschen? + checkBox -label "delete previous sIBL-setup" -en 1 checkDel; + + // checkBox: set Render Globals + checkBox -label "set render globals" -en 1 checkRen; + + // checkBox: create geometry sphere for environment map + checkBox -label "use sphere instead of ibl-node" -en 0 checkGeo; + + // add command for environment sphere + checkBox -e -cc "int $cE = `checkBox -q -v checkEnv`; checkBox -e -en $cE checkGeo;" checkEnv; + + // add command for keylight + checkBox -e -cc "int $cE = `checkBox -q -v checkKeylight`; checkBox -e -en $cE checkShadows;" checkKeylight; + + // checkBox: cast shadows + checkBox -label "cast shadows" -en 0 checkShadows; + + // checkBox: use rayswitch (requires Maya 2008 or above) + checkBox -label "use rayswitch (requires Maya 2008 or above)" -en 1 checkRaySwitch; + + checkBox -label "linear workflow" -en 1 checkLin; + + // checkBox: show Textures in Viewport + checkBox -label "show textures at resolution -> " -en 1 checkTex; + + textScrollList -numberOfRows 1 -allowMultiSelection false + -ann "set resolution to" -append "512" -append "1024" -append "2048" + -append "4096" + -selectItem "512" + -showIndexedItem 1 resTSL; + + checkBox -label "pass on final gather (requires puppet shaders)" -en 1 checkPuppet; + + // add command for rayswitch + checkBox -e -cc "int $cRS = `checkBox -q -v checkRaySwitch`; int $cE= `checkBox -q -v checkEnv`; if ($cRS==0) checkBox -e -en 1 checkPuppet; if ($cRS==0 && $cE==1) checkBox -e -en 1 checkGeo; if ($cRS==1) { checkBox -e -en 0 checkGeo; checkBox -e -en 0 checkPuppet; }" checkRaySwitch; + + setParent..; + // print ("\nFinished, now what?"); + // print ($SDR_List[0]); + // select first sIBL in column + textScrollList -e -si $SDR_List[0] tsl; + showWindow sIBL_Window; + // print ("Showing Window..."); + } +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/sIBL_setup.mel b/2009-x64/MiscScripts/scripts/sIBL_setup.mel new file mode 100644 index 0000000..f230682 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/sIBL_setup.mel @@ -0,0 +1,45 @@ +// sIBL_setup.mel +// MEL-Script to create a shelf button for sIBL +// Author: Volker Heisterberg (volk@renderwahnsinn.de) +// Usage: Enter sIBL_setup on the command line! +// Requirements: - sIBL.mel must be in a script directory! +// (Windows: C:\Documents and Settings\USER NAME\My Documents\maya\scripts\) +// (MacOS X: /Users/volXen/Library/Preferences/Autodesk/maya/scripts) +// - sIBL.xpm must be in a icon directory! +// (Windows: C:\Documents and Settings\USER NAME\My Documents\maya\8.5\prefs\icons\) +// (MacOS X: /Users/USER NAME/Library/Preferences/Autodesk/maya/8.5/prefs/icons) + +// Known Issues: On MacOS X the icon is placed on the current shelf ... the user +// is not asked for input ... + +global proc sIBL_setup() +{ + tplsWindow("smartIBL Setup Window"); +} + +global proc tplsWindow(string $windowName) +{ //get current shelf + global string $gShelfTopLevel; + string $currentShelf = `tabLayout -q -selectTab $gShelfTopLevel`; + string $response = `promptDialog -title $windowName + -message "Please enter the name of the shelf to contain smartIBL:" + -text $currentShelf + -button "Add To Shelf " + -button "Cancel" + -defaultButton "Add To Shelf " + -cancelButton "Cancel" + -dismissString "Cancel"`; + if ($response == "Add To Shelf ") + { + string $shelf = `promptDialog -query -text`; + if (`shelfLayout -exists $shelf`) + { + shelfButton -parent $shelf + -image1 "sIBL.xpm" + -annotation "" + -label "sIBL" + -c "sIBL;"; + } + else tplsWindow($shelf + "-Shelf doesn´t exist, sorry!"); + } +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/skinningTools.mel b/2009-x64/MiscScripts/scripts/skinningTools.mel new file mode 100644 index 0000000..a3aa087 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/skinningTools.mel @@ -0,0 +1,4947 @@ +/* +Title: skinningTools.mel +Author: David Walden + www.davidwalden.com + dwalden74@hotmail.com +Created: May - June 2004 +Last Update: May 8, 2005 +// +//*********************************************************************************** +//*********************************************************************************** +//CONTRIBUTIONS: +//Influence Sets and Paint Weights concepts contributed by Asi Sudai - asod@012.net.il +// +//Contains the roundoff procedure by Duncan Brimsmead. +// +//*********************************************************************************** +//*********************************************************************************** +//DESCRIPTION: Performs various skinning-related tasks, including transferring weight between +// 2 selected influences. Read the Help menu for a full list of features. +// +//Updated May 08, 2005: Added cluster weighting capabilities. User can now choose between editing Skin Weights or Cluster +// Weights, depending on the edit type in the Edit menu. The tool will default to skinCluster editing +// when initially run. Note that the "+" and "-" buttons functionality changes depending on the mode. +// When editing clusters, these buttons can be used to either add or remove points from the current +// cluster (identical to Set Membership behavior). +// +// +//Updated April 25-26 2005: Added Copy Weights and Paste Weights as buttons in the main UI. Now user can copy the average values of selecte +// points, and paste that average weight value onto a selection of different points. Weight information +// is stored via a global string[] and global float[]. Fixed a bug in Transfer Weights where old weight value wasn't +// maintained properly. "Show Point Influences" now displays *average* weight values up to 4 decimal places. +// +//Updated: April 24, 2005: Reworked UI so the Paint Weights/Component Editor is below influence list. Makes UI more manageable. +// Put "Utilities" layout into Tool menu and removed from Paint Weights UI. +// +//Updated: Sept. 25 2004. See Help Menu for detailed feature list. +// +//Updated June 30 2004: The size of the paneLayout windows is now remembered between sessions. When selecting the Paint Weights +// tab, we first enter object selection mode, select the object, then enter the Artisan context. Added "Zero All" +// button for Rotate Joints section. +// +//Updated June 20-28 2004: Incorporated AS_Skinny, by Asi Sudai. Now the tool has a fully funcional Paint Weights tab, with additional +// controls for rotating highlighted influences, and utilities for mirroring weights and pruning weights. +// Additionally, user can now create Influence Sets, which are helpful duing weight painting. Using +// Influence Sets, user can isolate groups of influences that he/she wishes to paint. All other influences +// are locked (have "Hold" activated) when viewing/using Influence Sets. +// +//Updated June 18 2004: Now with "+" button (or RMB menu) user can distribute selected point weight among multiple highlighted influences. +// +//Updated June 17 2004: Updated component editor (-operationType) to work with all known Maya version. Added +// "Auto Update" checkbox to component editor UI. "Absolute" is now default "Set Weights" type. +// Added "Paint Weights" button at top of UI. +// +//Updated June 16 2004: Added component editor on right side of UI. User can set weight percent values either here, or +// in the "Set Weights" section. Added "+" and "-" buttons at top of Influence List for adding +// selected points 100% to highlighted influence, or removing points completely from highlighted influence. +// Added highlighting to influences when they are selected in list. Fixed some small bugs. User can +// now make set weight slider interactive via checkbox. +// +//Updated June 12 2004: Added "Set Weights" section, for setting skin weight values on selected points. +// Added button for listing only the influences affecting currently selected points. +// Added some other stuff and like, made some code improvements, and stuff like that... +// Oh yeah, added lots of cool asterisks as dividers to help read the procs better. +// +//Updated June 10 2004: Changed name to dwSkinngingTools; added weight normalization checkBox; +// added "Weight selected points 100% to Influence" in RMB popup. User can now +// remove selected points from multiple highlighted influences at once, without +// worrying about the compensation that occurs due to normalization. +// +*/ + +//*************************************************************************************************** +//*************************************************************************************************** +//Returns the name of the active set. +global proc string ST_GetActiveSet() +{ +//Get ST_ActiveSet optionVar. +string $activeSet = `optionVar -q ST_ActiveSet`; + +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; + +if (! `size $activeSet`) + return ""; +else if ((`objExists $activeSet`) && (`nodeType $activeSet` == "objectSet")) + return $activeSet; +else + return ("skinningToolsSet_" + $skinCluster + "_fullSet"); +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//We have to determine whether or not the active set corresponds to the selected geometry. If not, resort to full set. +//The proc is called by ST_ListSmoothSkinInfluences +//Returns 1 if the set matches the current selection, 0 if not. +//If the selection does not match, update the ST_ActiveSet option var to "fullSet". +global proc int ST_IsSetForNewSelection(string $skinCluster, string $set) +{ +string $selection[] = `ls -sl -o`; +//Query the geometry affected by the $skinCluster. +string $geometry[] = `skinCluster -q -geometry $skinCluster`; +string $selectionShape[]; +//Set the $newSelectionInt to 1, in case nothing is selected we won't make it reevaluate the selection. +int $newSelectionInt = 1; +if (`size $selection`) + { + //IMPORTANT: If the current selection doesn't have a skinCluster attached, return 1. + //This is necessary because we only want to load in a new object if the object is being deformed by a skinCluster. + $selectionShape = `listRelatives -s -ni $selection[0]`; + if (! `size $selectionShape`) + return 1; + if (`size $selectionShape` > 1) + warning "Selected object has multiple shapes. This can produce undesirable results."; + + //string $skinClusterNewSelection = `findRelatedSkinCluster $selection[0]`; + + //Substitute the first part of the string to get the skinCluster name in the $set + string $setStripped = `substitute "skinningToolsSet_" $set ""`; //Isolate the skinCluster of the active set. + string $buffer[]; + tokenize $setStripped "_" $buffer; //The first part of the name will be the skinCluster name in the $set. + if ($buffer[0] == $skinCluster) + $newSelectionInt = 1; + else + $newSelectionInt = 0; + + //If the skinCluster does NOT match, change the text to "Complete Set", and update the optionVar. + if (! $newSelectionInt) + { + //Update the Set text at the top of the Influence List. + text -e -l ("Complete Set:") ST_SetNameTXT; + //Update the activeSet optionVar. + optionVar -stringValue "ST_ActiveSet" ("skinningToolsSet_" + $skinCluster + "_fullSet"); + } + } + +return $newSelectionInt; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** +//Lists all influences in the UI (TSL) list for the given skinCluster node. +//Order of list is determined by "Order" menu. +//In most cases (maybe all) $set will be the current set. +//Updates the ST_SetNameTXT text at the top of the influence list, as well as the activeSet in case the current activeSet doesn't belong to a new selection. +global proc ST_ListSmoothSkinInfluences(string $skinCluster, string $set) +{ +//Report error if no skinCluster. +if (! `size $skinCluster`) + return; +else if (! `objExists $skinCluster`) + error "Skin cluster specified incorrectly. Try again."; + +//Query the currently highlighted influences in the TSL (we need this later for refreshing the list selection). +string $selectedItem[] = `textScrollList -q -si skinningTools_InfluenceTSL`; + +//Remove all items from TSL. +textScrollList -e -ra skinningTools_InfluenceTSL; + +//Determine if the selection matches the (current) set. +int $ST_IsSetForNewSelection = `ST_IsSetForNewSelection $skinCluster $set`; + +//print $set; +//print "\n"; + +//Query influences, according to active set. +string $influences[]; +if (($set == ("skinningToolsSet_" + $skinCluster + "_fullSet")) || ($set == "") || (! $ST_IsSetForNewSelection)) + $influences = `skinCluster -q -inf $skinCluster`; +else + { + //Query the set members. + $influences = `sets -q $set`; + + //Query whether or not set´s members belong to the current skinCluster. + string $allSkinClusterInfluences[] = `skinCluster -q -inf $skinCluster`; + int $sizeAllInfluences = `size $allSkinClusterInfluences`; + //Add 2 arrays together, remove duplicates. If remaining array is bigger than original array, set doesn´t belong on this influence. + string $combinedArrays[] = `stringArrayCatenate $influences $allSkinClusterInfluences`; + $combinedArrays = `stringArrayRemoveDuplicates $combinedArrays`; + int $combinedSize = `size $combinedArrays`; + if ($combinedSize != $sizeAllInfluences) + {warning "Set does not belong to current skinCluster. Try again or use \"Complete Set\"."; return;} + + //Now set "Hold" attr for all influences according to the "Auto Hold Sets" menuItem. + //Influences outside this set have Hold turned on, influences in this set have Hold turned off. + if (`menuItem -q -cb ST_AutoHoldSets_MI`) + { + //Hold on. + string $nonMemberInfluences[] = `stringArrayRemove $influences $allSkinClusterInfluences`; + for ($i in $nonMemberInfluences) + setAttr ($i + ".liw") 1; + } + } + +//Reorder influences array according to the "Order" menu. +if (`menuItem -q -radioButton ST_OrderAlphabetMI`) //Alphabetical order + $influences = `sort $influences`; +if (`menuItem -q -radioButton ST_OrderReverseAlphabetMI`) //Reverse Alphabetical order + { + $influences = `sort $influences`; //First sort them. + string $infTempArray[] = {}; + int $ii = 0; + int $n = 0; + for ($n = (`size $influences`) - 1; $n > -1; $n--) + { + $infTempArray[$ii] = $influences[$n]; + $ii++; + } + clear $influences; + for ($n = 0; $n < `size $infTempArray`; $n++) + $influences[$n] = $infTempArray[$n]; + } +if (`menuItem -q -radioButton ST_OrderReverseGraphMI`) //Reverse Graph order + { + string $infTempArray[] = {}; + int $ii = 0; + int $n = 0; + for ($n = (`size $influences`) - 1; $n > -1; $n--) + { + $infTempArray[$ii] = $influences[$n]; + $ii++; + } + clear $influences; + for ($n = 0; $n < `size $infTempArray`; $n++) + $influences[$n] = $infTempArray[$n]; + } +if (`menuItem -q -radioButton ST_OrderHoldMI`) //By "Hold" status + { + string $heldInfluences[]; + string $nonHeldInfluences[]; + for ($i in $influences) + { + if (`getAttr ($i + ".liw")`) + $heldInfluences[`size $heldInfluences`] = $i; + else + $nonHeldInfluences[`size $nonHeldInfluences`] = $i; + } + $influences = `stringArrayCatenate $nonHeldInfluences $heldInfluences`; + } +if (`menuItem -q -radioButton ST_OrderReverseHoldMI`) //By "Reverse Hold" status + { + string $heldInfluences[]; + string $nonHeldInfluences[]; + for ($i in $influences) + { + if (`getAttr ($i + ".liw")`) + $heldInfluences[`size $heldInfluences`] = $i; + else + $nonHeldInfluences[`size $nonHeldInfluences`] = $i; + } + $influences = `stringArrayCatenate $heldInfluences $nonHeldInfluences`; + } + +//Add influences to list. Add "(Hold)" where applicable. +for ($i in $influences) + { + if (`getAttr ($i + ".liw")`) + textScrollList -e -a ($i + " (Hold)") skinningTools_InfluenceTSL; + else + textScrollList -e -a $i skinningTools_InfluenceTSL; + } + +//Now query the new items in the TSL. +string $allNewItems[] = `textScrollList -q -ai skinningTools_InfluenceTSL`; + +//Reselect and rescroll to the selected index item. +int $numberOfItems = `textScrollList -q -ni skinningTools_InfluenceTSL`; + +//If there was a previous selection, reselect correspinding members in new list. +if (`size $selectedItem`) + { + for ($i in $selectedItem) + { + //tokenize old selection + string $oldBuffer[]; + tokenize $i $oldBuffer; + for ($n = 0; $n < $numberOfItems; $n++) + { + //tokenize new items. + string $newBuffer[]; + tokenize $allNewItems[$n] $newBuffer; + //If match is found, select the influence. + if ($oldBuffer[0] == $newBuffer[0]) + textScrollList -e -si $allNewItems[$n] skinningTools_InfluenceTSL; + + } + } + } + + +//Change the UI text (at the top of the Influence Sets list. +string $setShortName = `substitute ("skinningToolsSet_" + $skinCluster + "_") $set ""`; +//If the active set is the full set, or if the set does NOT belong to the current skin cluster, set to "Complete Set" +if (($setShortName == "fullSet") || (! $ST_IsSetForNewSelection)) + $setShortName = "Complete Set"; +text -e -l ($setShortName + ":") ST_SetNameTXT; + +//Now scroll to the first selected item +/* +int $index[] = `textScrollList -q -sii skinningTools_InfluenceTSL`; +if (`size $index`) + { + //If the list is long, keep the selection in middle (more or less). + if ($index[0] > 10) + textScrollList -e -shi ($index[0] - 10) skinningTools_InfluenceTSL; + else + textScrollList -e -shi $index[0] skinningTools_InfluenceTSL; + } +*/ +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Removes "Hold" from influence name and returns correct influence name. +global proc string ST_RemoveHoldFromInfluenceName(string $influence) +{ +//OLD used subsitute cmd: `substitute " \\(Hold\\)" $influence ""` +//NEW: tokenize and return 1st token. +string $influenceBuffer[]; +tokenize $influence $influenceBuffer; + +return $influenceBuffer[0]; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Returns 1 if the given name is valid, 0 if not. +global proc int ST_ValidateName (string $name) +{ + string $matchingPart = `match "^[a-zA-Z][0-9a-zA-Z_]*$" $name`; + int $goodMatch = ! `strcmp $matchingPart $name`; + // If the two strings are the same, strcmp will return 0 + + return $goodMatch; +} + +//*************************************************************************************************** +//*************************************************************************************************** +global proc ST_SelectFullSet() +{ +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; + +//Edit UI text +//text -e -l "Complete Set:" ST_SetNameTXT; + +//Add full set as the "active set" in optionVar. +optionVar -stringValue "ST_ActiveSet" ("skinningToolsSet_" + $skinCluster + "_fullSet"); + +//Update TSL according to current set. +ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; + +//Update TSL +//ST_LoadSelection; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Makes given set active. +//This proc is called whenever the >>SET<< menuItem is selected in the Influence Sets menu. +global proc ST_SelectSet (string $setName) +{ +//Get the skinCluster name. +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +if (! `size $skinCluster`) + return; + +//Make sure radioButton is turned ON for selected set (in case this proc is called by a means other than selecting the menuItem). +menuItem -e -radioButton 1 ($setName + "_MI"); + +//Edit UI text label. +//string $labelName = `substitute ("skinningToolsSet_" + $skinCluster + "_") $setName ""`; +//text -e -l ($labelName + ":") ST_SetNameTXT; + +//Add this "active set" as an optionVar. +optionVar -stringValue "ST_ActiveSet" $setName; + +//Update TSL according to current set. +ST_ListSmoothSkinInfluences $skinCluster $setName; + +//ST_LoadSelection; +} + +//*************************************************************************************************** +//*************************************************************************************************** +// Delete Set Proc +global proc ST_setDelete(string $skinCluster) +{ +//Get highlighted sets. +string $DeleteSet[] = `textScrollList -q -selectItem ST_EditSets_SetsTSL`; + +if (! `size $DeleteSet`) + return; + +//Delete set +delete ("skinningToolsSet_" + $skinCluster + "_" + $DeleteSet[0]); + +//Update menu +ST_SelectFullSet; + +//Update the Edit Sets UI +ST_UpdateEditSetsTSL $skinCluster; + +//Update the Influence List menu. +ST_BuildInfluenceSetsMenu $skinCluster `ST_GetActiveSet`; +}//END proc ST_setDelete + +//*************************************************************************************************** +//*************************************************************************************************** +//Adds selected influence(s) to current set. +global proc ST_AddToSet(string $influences[], string $skinCluster) +{ +if (!`size $influences`) + { + warning "No influences given. Highlight some influences in the main Influence List and try again."; + return; + } + +string $set[] = `textScrollList -q -si ST_EditSets_SetsTSL`; +if (!`size $set`) + { + warning "No influence set specified. Try again."; + return; + } + +//Get the active set. +string $activeSet = `ST_GetActiveSet`; + +for ($i in $influences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + //Check if the influence already exists in set. + string $allMembers[] = `sets -q ("skinningToolsSet_" + $skinCluster + "_" + $set[0])`; + int $occurs = stringArrayCount($i, $allMembers); + //If not, add it. + if (! $occurs) + sets -add ("skinningToolsSet_" + $skinCluster + "_" + $set[0]) $i; + else if ($occurs) + warning ("Influence >>" + $i + "<< already exists in set " + $set[0] + ". Skipping.\n"); + } + +//Rebuild influence list in main TSL if selected set is the active set. +if ($activeSet == $set[0]) + ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` $set[0]; + +//Rebuild members TSL +ST_UpdateEditSetsTSL $skinCluster; +}//End proc. + +//*************************************************************************************************** +//*************************************************************************************************** +//Proc removes the highlighted influence from the current set. +global proc ST_RemoveInfluenceFromSet(string $influences[], string $set, string $skinCluster) +{ +if (! `size $skinCluster`) + return; + +if (! `size $influences`) + { + warning "Highlight some influences in the Members list and try again."; + return; + } + +if ($set == ("skinningToolsSet_" + $skinCluster + "_fullSet")) + { + print ("Cannot remove from Complete Set. To remove influene from " + $skinCluster + ", use Tools -> Remove Influences."); + return; + } + +for ($i in $influences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + sets -remove $set $i; + } + +//Update TSL according to current set. +ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; + +//And update the Edit Sets UI: +ST_UpdateEditSetsTSL $skinCluster; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Renames a set in the UI. +global proc ST_RenameSet() +{ +//Get the active set. If it is this that we are renaming, we'll need to reset the active set in the end. +string $activeSet = `ST_GetActiveSet`; + +//Get the name of the current skinCluster. +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; + +//Get the short name of the set we want to rename. +string $set[] = `textScrollList -q -si ST_EditSets_SetsTSL`; +if (! `size $set`) + return; + +//If the new name already exists as a set, report an error. +string $newNameShort = `textField -q -tx ST_EditSetsTF`; +if (`objExists ("skinningToolsSet_" + $skinCluster + "_" + $newNameShort)`) + error "A set already exists with this name. Try again."; + +//Rename the set. +if (! `ST_ValidateName $newNameShort`) + error "Given name not valid. Try again."; + +//Rename set +rename ("skinningToolsSet_" + $skinCluster + "_" + $set[0]) ("skinningToolsSet_" + $skinCluster + "_" + $newNameShort); + +//Redeclare active set, ONLY IF the original set was the active set - we do this in order to update the UI correctly. +if (("skinningToolsSet_" + $skinCluster + "_" + $set[0]) == $activeSet) + optionVar -stringValue "ST_ActiveSet" ("skinningToolsSet_" + $skinCluster + "_" + $newNameShort); + +//Rebuild the Influence Sets menu - get the active set, in case optionVar was redefined above. +ST_BuildInfluenceSetsMenu $skinCluster `ST_GetActiveSet`; + +//Update the Edit Sets UI. +ST_UpdateEditSetsTSL $skinCluster; + +//Reselect the set in the Edit Sets TSL +textScrollList -e -si $newNameShort ST_EditSets_SetsTSL; + +//Execute the select command to refresh the membersTSL. +ST_EditSetsSelectSetCommand; + +//Update the influence list in main UI. +ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; + +}//End of proc. + + +//*************************************************************************************************** +//*************************************************************************************************** +//Procedure exports all sets for current skinCluster. +global proc ST_ExportSets(string $fileName, string $dummyVariable) +{ +//print $fileName; + +string $sets[] = `textScrollList -q -ai ST_EditSets_SetsTSL`; +if (! `size $sets`) + return; + +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +if (! `size $skinCluster`) + return; + +//Open the file for writing. +$fileId =`fopen $fileName "w"`; + +//Print header on first line. +fprint $fileId ("//\tFile generated by skinningTools.mel. Do not alter contents.\n"); + +//Print skinCluster name on second line. +fprint $fileId ($skinCluster + "\n"); + +for ($s in $sets) + { + fprint $fileId ("skinningToolsSet_" + $skinCluster + "_" + $s); + fprint $fileId "\t"; + + string $members[] = `sets -q ("skinningToolsSet_" + $skinCluster + "_" + $s)`; + for ($m in $members) + fprint $fileId ($m + " "); + + fprint $fileId "\n"; + } + +//Close the weights file. +fclose $fileId; +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Import sets file. +global proc ST_ImportSets(string $fileName, string $dummyVariable) +{ +//print $fileName; +//Open file for reading. +$fileId = `fopen $fileName "r"`; +string $nextLine = `fgetline $fileId`; +string $lineBuffer[]; +string $set; +string $members[]; +int $i = 0; +string $currentSkinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +string $currentInfluences[] = `skinCluster -q -inf $currentSkinCluster`; +while (size($nextLine) > 0) + { + //Tokenize the line. + tokenize $nextLine "\t" $lineBuffer; + + //If we´re at the first line of the file (the header), continue to the next line. + if ($i == 0) + { + $nextLine = `fgetline $fileId`; + //Increment the counter $i. + $i++; + continue; + } + + //Now on the second line, compare the skinCluster name with that in the textField in the main UI. + if ($i == 1) + { + tokenize $nextLine "\n" $lineBuffer; + if ($currentSkinCluster != $lineBuffer[0]) + { + warning ("Skin cluster in file (" + $lineBuffer[0] + ") does not match skin cluster on object (" + $currentSkinCluster + "). Try again or rename current skin cluster."); + return; + } + $nextLine = `fgetline $fileId`; + //Increment the counter $i. + $i++; + continue; + } + + //Build the imported set. + $set = $lineBuffer[0]; + if (! `objExists $set`) //Only build the set if it doesn't already exist in scene. + sets -em -n $set; + //If set already exists in scene, skip and go on to the next line. + else + { + warning ("Set >>" + $set + "<< already exists in scene. Skipping."); + $nextLine = `fgetline $fileId`; + //Increment the counter $i. + $i++; + continue; + } + + //Add each member to the set (if the member name exists in the scene). + tokenize $lineBuffer[1] $members; + for ($m in $members) + { + if ((`objExists $m`) && (`stringArrayCount $m $currentInfluences`)) + sets -add $set $m; + else if (! `objExists $m`) + warning ("Influence >>" + $m + "<< does not exist in scene. Skipping."); + else if (! `stringArrayCount $m $currentInfluences`) + warning ("Influence >>" + $m + "<< is not an influence of current skin cluster >>" + $currentSkinCluster + "<<. Skipping."); + } + + + //Get the next line. + $nextLine = `fgetline $fileId`; + //Increment the counter $i. + $i++; + } + + +//Close the weights file. +fclose $fileId; + +//Update the Influence Sets menu. +ST_BuildInfluenceSetsMenu $currentSkinCluster `ST_GetActiveSet`; + +//Update the Edit Sets TSL. +ST_UpdateEditSetsTSL $currentSkinCluster; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Deletes all sets for a given skinCluster. +global proc ST_DeleteAllSets(string $skinCluster) +{ +string $result = `confirmDialog -title "Delete Influence Sets" -message ("Delete all influence sets for " + $skinCluster + "?") + -button "Yes" -button "No" -defaultButton "Yes" + -cancelButton "No" -dismissString "No"`; +if ($result == "No") + return; + +string $sets[] = `ls -type objectSet ("skinningToolsSet_" + $skinCluster + "_*")`; +if (! `size $sets`) + return; + +//Delete all the sets. +delete $sets; + +//Update the Edit Sets TSL. +ST_UpdateEditSetsTSL $skinCluster; + +//Now update the main UI. +ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; + +//And rebuild the Influence Sets menu. +ST_BuildInfluenceSetsMenu $skinCluster `ST_GetActiveSet`; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** +//Proc updates the Edit Sets UI. +global proc ST_UpdateEditSetsTSL (string $skinCluster) +{ +if (! `control -ex ST_EditSets_SetsTSL`) + return; + +//Query selected set in TSL. +string $selectedSet[] = `textScrollList -q -si ST_EditSets_SetsTSL`; + +//Remove all items from the sets TSL. +textScrollList -e -ra ST_EditSets_SetsTSL; + +//Remove anything from textField. +textField -e -tx "" ST_EditSetsTF; + +//Remove all items from the members TSL. +textScrollList -e -ra ST_EditSets_MembersTSL; + +//Query the sets related to the skin cluster. +string $allSets[] = `ls -type objectSet ("skinningToolsSet_" + $skinCluster + "_*")`; + +//Add existing Sets to ScrollList +for ($s in $allSets) + { + $s = `substitute ("skinningToolsSet_" + $skinCluster + "_") $s ""`; + textScrollList -e -a $s ST_EditSets_SetsTSL; + } + +//Reselect Set in TSL +string $allSets[] = `textScrollList -q -ai ST_EditSets_SetsTSL`; +if ((`size $selectedSet`) && (`stringArrayCount $selectedSet[0] $allSets`)) + { + textScrollList -e -si $selectedSet[0] ST_EditSets_SetsTSL; + ST_EditSetsSelectSetCommand; + } +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Proc executed whenever a new set is selected in the Edit Sets TSL. +//Refreshes the membersTSL. +global proc ST_EditSetsSelectSetCommand() +{ +string $selectedSet[] = `textScrollList -q -si ST_EditSets_SetsTSL`; +textField -e -tx $selectedSet[0] ST_EditSetsTF; + +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; + +//Not sure if we want to select the set in the main UI. +//Select the set in the main UI. +//ST_SelectSet ("skinningToolsSet_" + $skinCluster + "_" + $selectedSet[0]); + +//Update the membersTSL. +textScrollList -e -ra ST_EditSets_MembersTSL; +string $members[] = `sets -q ("skinningToolsSet_" + $skinCluster + "_" + $selectedSet[0])`; +for ($m in $members) + textScrollList -e -a $m ST_EditSets_MembersTSL; +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Edit influence sets. +//It needs to take a $skinCluster argument to know how to update the TSL. +global proc ST_editSets(string $skinCluster) +{ +if (`window -ex ST_EditSetsUI`) + deleteUI ST_EditSetsUI; + +window -t "Edit Influence Sets" -mb true -wh 200 300 ST_EditSetsUI; +menu -l "File"; + //menuItem -l "Import Sets" -c "fileBrowserDialog -m 0 -fc ST_ImportSets -ft text -an Import -includeName Sets"; + menuItem -l "Import Sets" -c "fileBrowser ST_ImportSets Import text 0"; + + //menuItem -l "Export Sets" -c "fileBrowserDialog -m 1 -fc ST_ExportSets -ft text -an Export -om Import;"; + menuItem -l "Export Sets" -c "fileBrowser ST_ExportSets Export text 1"; + + menuItem -d 1; + menuItem -l "Delete All Sets" -c ("ST_DeleteAllSets `textField -q -tx skinningTools_SkinClusterTF`"); + +string $form = `formLayout`; + +//Create Sets TSL. +string $setsTXT = `text -l "Influence Sets:"`; +string $setsTSL = `textScrollList + -ams 0 + -sc "ST_EditSetsSelectSetCommand" + ST_EditSets_SetsTSL`; + popupMenu -b 3; + menuItem + -l "Add to Set" + -ann "Add highlighted influences from main Influence List to current influence set." + -c "ST_AddToSet `textScrollList -q -si skinningTools_InfluenceTSL` `textField -q -tx skinningTools_SkinClusterTF`"; + menuItem -l "Delete Set" -c "ST_setDelete `textField -q -tx skinningTools_SkinClusterTF`"; + +//Create Members TSL. +string $membersTXT = `text -l "Members:"`; +string $membersTSL = `textScrollList + -ams 1 + -sc "hilite -r `textScrollList -q -si ST_EditSets_MembersTSL`" + -dcc "select -r `textScrollList -q -si ST_EditSets_MembersTSL`" + ST_EditSets_MembersTSL`; + popupMenu -b 3; + menuItem -l "Select influences" -c "select -r `textScrollList -q -si ST_EditSets_MembersTSL`"; + menuItem -l "Remove from Set" -c "{string $selectedSetName[] = `textScrollList -q -si ST_EditSets_SetsTSL`; \ + string $set = (\"skinningToolsSet_\" + `textField -q -tx skinningTools_SkinClusterTF` + \"_\" + $selectedSetName[0]); \ + ST_RemoveInfluenceFromSet `textScrollList -q -si ST_EditSets_MembersTSL` $set `textField -q -tx skinningTools_SkinClusterTF`;}"; + +string $renameTF = `textField + -cc "ST_RenameSet" + ST_EditSetsTF`; + +string $addBTN = `button + -l "Add to Set" + -ann "Add highlighted influences from main Influence List to current influence set." + -c ("ST_AddToSet `textScrollList -q -si skinningTools_InfluenceTSL` " + $skinCluster)`; +string $removeBTN = `button + -l "Remove from Set" + -ann "Remove highlighted influences from set." + -c "{string $selectedSetName[] = `textScrollList -q -si ST_EditSets_SetsTSL`; \ + string $set = (\"skinningToolsSet_\" + `textField -q -tx skinningTools_SkinClusterTF` + \"_\" + $selectedSetName[0]); \ + ST_RemoveInfluenceFromSet `textScrollList -q -si ST_EditSets_MembersTSL` $set `textField -q -tx skinningTools_SkinClusterTF`;}"`; +string $deleteSetBTN = `button + -l "Delete Set" + -c "ST_setDelete `textField -q -tx skinningTools_SkinClusterTF`"`; +string $closeUIBTN = `button + -l "Close Window" + -c "deleteUI ST_EditSetsUI"`; + + +formLayout -e + -af $setsTXT left 5 + -af $setsTXT top 5 + -ap $setsTXT right 5 50 + -an $setsTXT bottom + + -ac $membersTXT left 5 $setsTXT + -af $membersTXT top 5 + -af $membersTXT right 5 + -an $membersTXT bottom + + -af $setsTSL left 5 + -ac $setsTSL top 0 $setsTXT + -ap $setsTSL right 5 50 + -ac $setsTSL bottom 0 $renameTF + + -ac $membersTSL left 5 $setsTSL + -ac $membersTSL top 0 $setsTXT + -af $membersTSL right 5 + -ac $membersTSL bottom 0 $renameTF + + -af $renameTF left 5 + -an $renameTF top + -af $renameTF right 5 + -ac $renameTF bottom 2 $addBTN + + -af $addBTN left 5 + -an $addBTN top + -ap $addBTN right 0 33 + -ac $addBTN bottom 0 $closeUIBTN + + -ac $removeBTN left 0 $addBTN + -an $removeBTN top + -ap $removeBTN right 0 66 + -ac $removeBTN bottom 0 $closeUIBTN + + -ac $deleteSetBTN left 0 $removeBTN + -an $deleteSetBTN top + -af $deleteSetBTN right 5 + -ac $deleteSetBTN bottom 0 $closeUIBTN + + -af $closeUIBTN left 5 + -an $closeUIBTN top + -af $closeUIBTN right 5 + -af $closeUIBTN bottom 5 + $form; + + +//Update the Edit Sets TSL. +ST_UpdateEditSetsTSL $skinCluster; + +showWindow ST_EditSetsUI; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Creates a new influence set. Creates an objectSet, and a new menuItem. +global proc ST_setsMaker(string $influences[], string $setName, string $skinCluster) +{ +//Get Selected Items from ScrollList. +if (! `size $influences`) + {warning "No influences given. Try again."; return;} + +//Remove "Hold" from name. +for ( $i=0 ; $i < size($influences) ; $i++ ) + $influences[$i]=`ST_RemoveHoldFromInfluenceName $influences[$i]`; + +// Create New Set +string $fullSetName = `sets -n ("skinningToolsSet_" + $skinCluster + "_" + $setName) $influences`; + +//Add set to Preset menu +menuItem + -collection ST_InfluenceSetsRMIC + -l $setName + -p ST_InfluenceSetsMenu + -c ("ST_SelectSet " + $fullSetName) + -radioButton 1 + ($fullSetName + "_MI"); + +//Select the new set. +ST_SelectSet $fullSetName; + +//Update the Edit Sets UI if it exists. +ST_UpdateEditSetsTSL $skinCluster; +} +// ST_setsMaker END + +//*************************************************************************************************** +//*************************************************************************************************** + +//Creates the UI for making a new influence set. +global proc ST_setsMakerUI(string $influences[], string $skinCluster) + { +string $result = `promptDialog + -title "Create New Influence Set" + -message "Set Name:" + -text "newSet" + -button "OK" -button "Cancel" + -defaultButton "OK" -cancelButton "Cancel" + -dismissString "Cancel"`; + + if ($result == "OK") + { + string $setName = `promptDialog -query -text`; + //Check if an existing set with same name doesn´t exist already (as well as a menuItem) + if ((`objExists ("skinningToolsSet_" + $setName)`) && (`menuItem -q -ex ($setName + "_MI")`)) + { + warning "Set name is not unique. Try again."; + ST_setsMakerUI $influences $skinCluster; + } + //Check if the setName is valid. + else if (! `ST_ValidateName $setName`) + { + warning "Set name invalid. Try again."; + ST_setsMakerUI $influences $skinCluster; + } + else + ST_setsMaker $influences $setName $skinCluster; + } + } // ST_setsMakerUI END + +//*************************************************************************************************** +//*************************************************************************************************** + + +///////////////////////////////// +//// SkinTool Functions Proc//// +/////////////////////////////// +global proc ST_PaintWeightsFunction (string $function) +{ + +//The currentCtx needs to be either artAttrSkinContext (for skinClusters) or artAttrContext (for clusters). +if ((`currentCtx` != "artAttrSkinContext") && (`currentCtx` != "artAttrContext")) + return; + +string $mode = `optionVar -q ST_Mode`; + +switch ( $function ) +{ + case "paint": + //Update value and opacity sliders for currentCtx. + artAttrCtx -e -opacity `floatSliderGrp -q -v ST_PW_PT_OpacSlider` `currentCtx`; + artAttrCtx -e -value `floatSliderGrp -q -v ST_PW_PT_ValSlider` `currentCtx`; + + //Every time a joint is selected in jointScrollList, paint weights for selected joint + string $SelJoint[]= `textScrollList -q -selectItem skinningTools_InfluenceTSL`; + if ($mode == "SkinCluster") + setSmoothSkinInfluence `ST_RemoveHoldFromInfluenceName $SelJoint[0]`; + + else if ($mode == "Cluster") + { + if (`currentCtx` == "artAttrContext") + artSetToolAndSelectAttr( "artAttrCtx", ("cluster." + $SelJoint[0] + ".weights") ); + } + + //Update the -selectedattroper flag. + string $operation = `radioCollection -q -sl ST_PR_operationRadioCollection`; + if ($operation == "ST_PW_OperationReplaceRB") + artAttrCtx -e -sao "absolute" artAttrSkinContext; + else if ($operation == "ST_PW_OperationAddRB") + artAttrCtx -e -sao "additive" artAttrSkinContext; + else if ($operation == "ST_PW_OperationScaleRB") + artAttrCtx -e -sao "scale" artAttrSkinContext; + else if ($operation == "ST_PW_OperationSmoothRB") + artAttrCtx -e -sao "smooth" artAttrSkinContext; + break; // case "paint" END + + ///////// + /// artAttrCtx-Brush + ////////////// + case "gaussian": + symbolCheckBox -e -v 0 ST_PW_ButtonBrush2; + symbolCheckBox -e -v 0 ST_PW_ButtonBrush3; + artAttrCtx -e -stP "gaussian" artAttrSkinContext; + break; + case "poly": + symbolCheckBox -e -v 0 ST_PW_ButtonBrush1; + symbolCheckBox -e -v 0 ST_PW_ButtonBrush3; + artAttrCtx -e -stP "poly" artAttrSkinContext; + break; + case "solid": + symbolCheckBox -e -v 0 ST_PW_ButtonBrush1; + symbolCheckBox -e -v 0 ST_PW_ButtonBrush2; + artAttrCtx -e -stP "solid" artAttrSkinContext; + break; // case artAttrCtx-Brush END + + ///////// + /// artAttrCtx-Replace,Smooth,Add,Flood... + ////////////// + string $currentContext = `currentCtx`; + + case "replace": + artAttrCtx -e -sao "absolute" `currentCtx`; + optionVar -sv ST_PaintMode Replace; + break; + case "add": + artAttrCtx -e -sao "additive" `currentCtx`; + optionVar -sv ST_PaintMode Add; + break; + case "smooth": + artAttrCtx -e -sao "smooth" `currentCtx`; + optionVar -sv ST_PaintMode Smooth; + break; + case "scale": + artAttrCtx -e -sao "scale" `currentCtx`; + optionVar -sv ST_PaintMode Scale; + break; + + + case "flood": + artAttrCtx -e -clear `currentCtx`; + break; // case Value Change END + + ///////// + /// artAttrCtx-Value Change + ////////////// + + //Current context is "artAttrSkinContext" for skinClusters, and "artAttrContext" for clusters. + case "OpacityChange": + artAttrCtx -e -opacity `floatSliderGrp -q -v ST_PW_PT_OpacSlider` `currentCtx`; + optionVar -fv ST_PSW_Opacity `floatSliderGrp -q -v ST_PW_PT_OpacSlider`; + break; // case Value Change END + case "ValueChange": + artAttrCtx -e -value `floatSliderGrp -q -v ST_PW_PT_ValSlider` `currentCtx`; + optionVar -fv ST_PSW_Value `floatSliderGrp -q -v ST_PW_PT_ValSlider`; + break; // case Value Change END + + case "MaxColor": + artAttrCtx -e -colorrangeupper `floatSliderGrp -q -v ST_PW_PT_MaxColorSlider` `currentCtx`; + break; + + case "MinColor": + artAttrCtx -e -colorrangelower `floatSliderGrp -q -v ST_PW_PT_MinColorSlider` `currentCtx`; + break; + + ///////// + /// artAttrCtx-Stylus CheckBox + ////////////// + case "StylusOn": + artAttrCtx -e -usepressure 1 artAttrSkinContext; + break; + case "StylusOff": + artAttrCtx -e -usepressure 0 artAttrSkinContext; + break; // case Stylus CheckBox END + + //OLD context was: artAttrSkinContext + //Replaced with `currentCtx` + + case "DubbleClickHold": //NOTE: an all Update isn't needed can be more simple + string $SelJoint[]= `textScrollList -q -selectItem skinningTools_InfluenceTSL`; + + + string $buffer[]; + int $tokens=`tokenize $SelJoint[0] " " $buffer`; + if ($tokens==1){ + setAttr ( $buffer[0] + ".liw" ) 1; + } else { + setAttr ( $buffer[1] + ".liw" ) 0; + } + + // update the ScrollList + // AS_SkinnyUpdate ByNumber; + break; // case DubbleClickHold END + + } +}// ST_PaintWeightsFunction END + + +//*************************************************************************************************** +//*************************************************************************************************** + +////////////////////////// +/// Weighting Proc // +/// Mirror, Prune // +///////////////////////// +global proc ST_WeightFunction ( string $case, string $function ) + { + //Find SkinCluster number + //string $SelObj[] = `ls -sl`; + //string $SClusterName= `findRelatedSkinCluster $SelObj[0]`; + string $SClusterName = `textField -q -tx skinningTools_SkinClusterTF`; + if (! `objExists $SClusterName`) + return; + + switch ($case) + { + case "MirrorWeight": + if ( $function == "X" ) + copySkinWeights -ss $SClusterName -ds $SClusterName -mirrorMode YZ; + + else + copySkinWeights -ss $SClusterName -ds $SClusterName -mirrorInverse -mirrorMode YZ; + break; + + + case "PruneWeight": + //float $PruneValue = `floatField -q -v PruneWeightText`; + //Assign a default threshold if no optionVar exists. + float $PruneValue = 0.01; + if (`optionVar -ex ST_PruneWeightsThreshold`) + $PruneValue = `optionVar -q ST_PruneWeightsThreshold`; + + //Prune Weight + skinPercent -prw $PruneValue $SClusterName; + + break; + } +} +//////////////////////////////////// +//// Weighting Proc END ////// +////////////////////////////////// + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Sets the prune weights threshold value via an optionVar. +global proc ST_PruneWeightsSettings() +{ + +if (`window -ex ST_PruneWeightsSettingsUI`) + deleteUI ST_PruneWeightsSettingsUI; + +window -t "Prune Weights Settings" ST_PruneWeightsSettingsUI; + +string $form = `formLayout`; + +//Establish the slider value. If user runs the script for the first time, this will default to 0.01 +float $defaultThreshold = 0.01; +if (`optionVar -ex ST_PruneWeightsThreshold`) + $defaultThreshold = `optionVar -q ST_PruneWeightsThreshold`; + + +string $floatSliderGrp = `floatSliderGrp + -field 1 + -min 0 + -max 1 + -pre 2 + -v $defaultThreshold + -cc "optionVar -fv ST_PruneWeightsThreshold `floatSliderGrp -q -v ST_PruneWeightsFSG`" + -l "Prune Below" + ST_PruneWeightsFSG`; + +string $pruneBTN = `button + -l "Prune" + -c "ST_WeightFunction PruneWeight Prune; deleteUI ST_PruneWeightsSettingsUI"`; +string $applyBTN = `button + -l "Apply" + -c "ST_WeightFunction PruneWeight Prune"`; +string $closeBTN = `button + -l "Close" + -c "deleteUI ST_PruneWeightsSettingsUI"`; + +formLayout -e + -af $floatSliderGrp left 0 + -af $floatSliderGrp top 15 + -af $floatSliderGrp right 0 + -an $floatSliderGrp bottom + + -af $pruneBTN left 0 + -an $pruneBTN top + -ap $pruneBTN right 0 33 + -af $pruneBTN bottom 0 + + -ac $applyBTN left 0 $pruneBTN + -an $applyBTN top + -ap $applyBTN right 0 66 + -af $applyBTN bottom 0 + + -ac $closeBTN left 0 $applyBTN + -an $closeBTN top + -af $closeBTN right 0 + -af $closeBTN bottom 0 + + $form; + +window -e -w 400 -h 100 ST_PruneWeightsSettingsUI; +showWindow ST_PruneWeightsSettingsUI; +} + + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Copies point weighting from one array of points to another. Point weighting from first array is averaged among all points in array. +global proc ST_CopyWeights(string $skinCluster) +{ +//Declare the 2 global variables necessary for storing the points and weight information. +global string $gSkinningToolsCopyWeights_Influences[]; +global float $gSkinningToolsCopyWeights_AverageValues[]; + +clear $gSkinningToolsCopyWeights_Influences; +clear $gSkinningToolsCopyWeights_AverageValues; + +if (! `size $skinCluster`) + { + warning "No skinCluster specified. Try again."; + return; + } + +//Get the selected points. +string $sourcePoints[] = `ls -sl -fl`; +string $selectedObj[] = `ls -sl -o`; + +if (($sourcePoints[0] == $selectedObj[0]) || (! `size $sourcePoints`) || (! `size $selectedObj`)) + { + warning "No points selected. Select some weighted points and try again."; + return; + } + +//Get the influences affecting the sourcePoints. +string $influences[] = `skinPercent -ignoreBelow 0.00000001 -q -transform $skinCluster $sourcePoints`; + +int $sizeSelection = `size $sourcePoints`; + + +//Loop through the influences. +for ($i = 0; $i < `size $influences`; $i++) + { + //Assign the global string influence name. + $gSkinningToolsCopyWeights_Influences[$i] = $influences[$i]; + + //This will hold the sum weight for each influence. We will then divide by number of influences to get average. + float $totalWeight = 0; + + //Now loop throught the selected points, and store the sum of the weights per-joint. + for ($p in $sourcePoints) + { + float $value = `skinPercent -t $influences[$i] -q $skinCluster $p`; + $totalWeight += $value; + } + //Now store the average value into the global float array. + $gSkinningToolsCopyWeights_AverageValues[$i] = $totalWeight/$sizeSelection; + //print ($gSkinningToolsCopyWeights_Influences[$i] + " " + $gSkinningToolsCopyWeights_AverageValues[$i] + "\n"); + } + +}//End of proc. + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Used to paste the stored weight values onto selected vertices. +global proc ST_PasteWeights() +{ +//Declare the global variables. +global string $gSkinningToolsCopyWeights_Influences[]; +global float $gSkinningToolsCopyWeights_AverageValues[]; + +//Exit script if no weights were previously saved. +if ((! `size $gSkinningToolsCopyWeights_Influences`) || (! `size $gSkinningToolsCopyWeights_AverageValues`)) + { + warning "No point weight stored. Copy the weights first and try again."; + return; + } + +string $selection[] = `ls -sl -fl`; +string $objSelection[] = `ls -sl -o`; + +//Exit script if no points are selected. +if ($selection[0] == $objSelection[0]) + { + warning "Select some points and try again."; + return; + } + +//Exit script if points from more than one object are selected. +if (`size $objSelection` > 1) + { + warning "Select points on one object and try again."; + return; + } + + +//Now find first what skin cluster the points belong to. +string $skinCluster = `findRelatedSkinCluster $objSelection[0]`; +if (! `size $skinCluster`) + { + warning "Selected points do not have an attached skinCluster. Try again."; + return; + } + +//Now make sure all the stored influences exist in the current skinCluster. +string $influencesInCurrentSkinCluster[] = `skinCluster -q -inf $skinCluster`; +for ($storedInfluence in $gSkinningToolsCopyWeights_Influences) + { + if (! `stringArrayCount $storedInfluence $influencesInCurrentSkinCluster`) + warning ($storedInfluence + " does not exist in current skinCluster. This may cause undesireable results."); + } + + +//Now loop through the selected points and apply the stored value. +for ($s in $selection) + { + for ($i = 0; $i < `size $gSkinningToolsCopyWeights_Influences`; $i++) + { + skinPercent -tv $gSkinningToolsCopyWeights_Influences[$i] $gSkinningToolsCopyWeights_AverageValues[$i] -relative 1 $skinCluster $s; + //print ($s + " " + $gSkinningToolsCopyWeights_Influences[$i] + " " + $gSkinningToolsCopyWeights_AverageValues[$i] + "\n"); + } + } + +} //End of proc. + + +//*************************************************************************************************** +//*************************************************************************************************** + + + +//Main transfer weights UI. +global proc ST_TransferWeightsUI() +{ +if (`window -ex ST_TransferWeightsWin`) + deleteUI ST_TransferWeightsWin; + +window -t "Transfer Skin Cluster Weights" -wh 285 225 -s 1 ST_TransferWeightsWin; + +columnLayout; +text -l "" -h 10; + +radioButtonGrp + -nrb 2 + -l " Mode:" + -cal 1 left + -sl 1 + -la2 "Move Weights" "Swap Weights" + -cw 1 75 -cw 2 100 -cw 3 100 + -ann "Either move weight values from the source to the destination, or swap the weight value between the two." + -on1 "text -e -l \" -->\" ST_TransferWeightsUI_ArrowTXT;" + -on2 "text -e -l \" <-->\" ST_TransferWeightsUI_ArrowTXT;" + ST_TransferWeightsUI_ModeRBG; + + +text -l "" -h 10; + +radioButtonGrp + -nrb 2 + -sl 1 + -l "Components:" + -la2 "All Points" "Selected Points" + -cw 1 75 -cw 2 100 -cw 3 100 + -ann "Choose whether to transfer all weight value for given influences, or weight value for selected points only." + -on1 "" + -on2 "" + ST_TransferWeightsUI_ComponentsRBG; + +text -l "" -h 10; + +rowColumnLayout -nc 5 -cw 1 25 -cw 3 35 -cw 5 25; + text -l ""; + text + -l "Source:" + -ann "Source Influence: RMB to add either influence from list or selected influence." + -font boldLabelFont; + text -l ""; + text + -l "Destination:" + -ann "Destination Influence: RMB to add either influence from list or selected influence." + -font boldLabelFont; + text -l ""; + + + button -l ">>>" -c "textField -e -tx `ls -sl -o -type transform` ST_TransferWeightsUI_SourceTF"; + textField + -ann "Source Influence: RMB to add influence from list or selected influence." + ST_TransferWeightsUI_SourceTF; + popupMenu -b 3; + menuItem -l "Get from influence list" -c "{string $selection[] = `textScrollList -q -si skinningTools_InfluenceTSL`; string $influence = `ST_RemoveHoldFromInfluenceName $selection[0]`; textField -e -tx $influence ST_TransferWeightsUI_SourceTF;}"; + + text -l " -->" ST_TransferWeightsUI_ArrowTXT; + + textField + -ann "Destination Influence: RMB to add influence from list or selected influence." + ST_TransferWeightsUI_DestinationTF; + popupMenu -b 3; + menuItem -l "Get from influence list" -c "{string $selection[] = `textScrollList -q -si skinningTools_InfluenceTSL`; string $influence = `ST_RemoveHoldFromInfluenceName $selection[0]`; textField -e -tx $influence ST_TransferWeightsUI_DestinationTF;}"; + button -l "<<<" -c "textField -e -tx `ls -sl -o -type transform` ST_TransferWeightsUI_DestinationTF"; + +setParent..; + +text -l "" -h 10; + +floatSliderGrp + -cal 1 left + -cw 1 95 + -cw 2 35 + -cw 3 90 + -pre 0 + -field 1 + -min 0 + -max 100 + -v 100 + -l "Percent Transfer:" + ST_TransferWeightPercentSlider; + +text -l "" -h 20; + + + +rowColumnLayout -nc 2 -cw 1 140 -cw 2 140; + + button + -l "Transfer Weights" + -ann "Transfer Weights" + -c "ST_TransferInfluence \ + `textField -q -tx ST_TransferWeightsUI_DestinationTF` \ + `textField -q -tx ST_TransferWeightsUI_SourceTF` \ + `textField -q -tx skinningTools_SkinClusterTF` \ + `radioButtonGrp -q -sl ST_TransferWeightsUI_ModeRBG` \ + `radioButtonGrp -q -sl ST_TransferWeightsUI_ComponentsRBG`\ + `floatSliderGrp -q -v ST_TransferWeightPercentSlider`"; + + button + -l "Close" + -c "deleteUI ST_TransferWeightsWin"; + +setParent..; + +window -e -w 300 -h 210 ST_TransferWeightsWin; +showWindow ST_TransferWeightsWin; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + + + + +//This procedure transfers skinCluster weight between two influence objects. +//We either loop through all the points in the skinCluster set, or use the current selection of points. +//We speed this process up by not acting on points that have a zero value per-infuence. +//This should work on all surface types, curves, and lattices. +//NOTE: $infB is the destination influence, $infA is the source influence. +global proc ST_TransferInfluence(string $infB, string $infA, string $skinCluster, int $mode, int $componentsCheck, float $percent) +{ +//Report errors. +if ((! `objExists $skinCluster`) || (`nodeType $skinCluster` != "skinCluster")) + error "Skin cluster specified incorrectly. Try again."; +//If either $obj1 or $obj2 are not in the influence list for the skinCluster, report an error. +string $influences[] = `skinCluster -q -inf $skinCluster`; +//DOESN´T WORK: if ((! `stringArrayCount($infB, $influences)`) || (! `stringArrayCount($infB, $influences)`)) +int $obj1Count = stringArrayCount($infB, $influences); +int $obj2Count = stringArrayCount($infA, $influences); +if (! $obj1Count) + error ($infB + " is not in the list of influences for " + $skinCluster + ". Try again."); +if (! $obj2Count) + error ($infA + " is not in the list of influences for " + $skinCluster + ". Try again."); + + +//Let´s time the operation, using the `timerX` cmd. +$startTime = `timerX`; + +//Get the value of the skinCluster.normalizeWeights attr. Turn it off. Later turn it back on. +//This isn´t really necessary, but is a precaution. +int $normalize = `getAttr ($skinCluster + ".normalizeWeights")`; +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 0; + +//Get the cluster set. +string $skinClusterSet[] = `listConnections -type objectSet $skinCluster`; + +//Assign the components - either all points in set, or selected points. +string $components[]; +if ($componentsCheck == 1) + { + $components = `sets -q $skinClusterSet[0]`; + if (! `size $components`) + error ($skinCluster + " has no members. Try again."); + //filter set membership: 36 - subD mesh points; 28 - CV´s; 31 - polygon mesh vertices; 46 - lattice points. + $components = `filterExpand -sm 36 -sm 28 -sm 31 -sm 46 $components`; + } +else if ($componentsCheck == 2) + { + $components = `ls -sl -fl`; + if (! `size $components`) + error ("Select some points and try again."); + + //Check if the user has selected components, or (by mistake) the object. + string $objectSelection[] = `ls -sl -o`; + if ($objectSelection[0] == $components[0]) + error ("Select some points and try again."); + } + +//Set "Hold" off for both joints. +int $hold1 = `getAttr ($infB + ".lockInfluenceWeights")`; +int $hold2 = `getAttr ($infA + ".lockInfluenceWeights")`; +if ($hold1) + setAttr ($infB + ".lockInfluenceWeights") 0; +if ($hold2) + setAttr ($infB + ".lockInfluenceWeights") 0; + + +//WE NEED TO QUERY THE VALUE OF EACH POINT IN BOTH OBJS, AND TRANSFER THIS. +//Start the progress bar. +global string $gMainProgressBar; +int $numberOfPoints = `size $components`; //-maxValue for progressBar +progressBar + -edit + -beginProgress + -isInterruptable 1 + -status ("Transferring skin weights between " + $infA + " and " + $infB + "...") + -maxValue $numberOfPoints + $gMainProgressBar; + +float $infAValue; //Source weight. +float $infBValue; //Destination weight. +//print ($mode + "\n"); +for ($c in $components) + { + //Query values of both influences for current component. + $infAValue = `skinPercent -t $infA -q -v $skinCluster $c`; + if ($mode == 2) + $infBValue = `skinPercent -t $infB -q -v $skinCluster $c`; + + //Reset component values to zero first. This allows us to transfer values only if the original value was greater than zero. + //If the original value was zero, it will remain zero, and we can go to the next iteration *much* faster by not touching it. + if ($infAValue > 0.0) + skinPercent -tv $infA 0 $skinCluster $c; + if (($infBValue > 0.0) && ($mode == 2)) + skinPercent -tv $infB 0 $skinCluster $c; + + //print ("The mode is: " + $mode + "\n"); + //print ("Influence " + $infB + "'s original value is " + `skinPercent -t $infB -q -v $skinCluster $c` + "\n"); + + //Transfer component values between influences, only if the original value was greater than zero. + if ($infAValue > 0.0) + { + //print ("The weight of " + $infA + " is " + $infAValue + "\n"); + //print ("The percentage is: " + $percent + "\n"); + //print ("The percent value is: " + ($infAValue * ($percent/100)) + "\n"); + + //Transfer the $infAValue onto $infB - use relative mode in order to add to any existing weight. + skinPercent -tv $infB ($infAValue * ($percent/100)) -relative 1 $skinCluster $c; + //Now, because of the percent factor, we need to put back any weight that remains on infA. + if ($percent < 100) + skinPercent -tv $infA ($infAValue * ((100 - $percent)/100)) -relative 1 $skinCluster $c; + } + if (($infBValue > 0.0) && ($mode == 2)) + { + //Transfer the $infBValue onto $infA + skinPercent -tv $infA ($infBValue * ($percent/100)) -relative 1 $skinCluster $c; + //And put back any remaining weight onto $infB + if ($percent < 100) + skinPercent -tv $infB ($infBValue * ((100 - $percent)/100)) -relative 1 $skinCluster $c; + } + + //print ("Influence " + $infB + "'s new value is " + `skinPercent -t $infB -q -v $skinCluster $c` + "\n"); + + + + + if (`progressBar -q -isCancelled $gMainProgressBar`) + { + progressBar -edit -endProgress $gMainProgressBar; + break; + } + + //Increase the progress bar. + progressBar -edit -step 1 $gMainProgressBar; + } + +//End progress bar. +progressBar -edit -endProgress $gMainProgressBar; + + + +//Turn on "Hold". +if ($hold1) + setAttr ($infB + ".liw") 1; +if ($hold2) + setAttr ($infB + ".liw") 1; + +//Turn normalizeWeights back on. +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 1; + + +//How long did it take? +$totalTime = `timerX -startTime $startTime`; +print ("Total Time: " + $totalTime + " seconds. \n"); +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Toggle "Hold" on-off for selected skin cluster influences. +global proc ST_ToggleHoldInfluenceWeight(string $influences[]) +{ +if (! `size $influences`) + return; + + +for ($influence in $influences) + { + //Remove " (Hold)" in name. + $influence = `ST_RemoveHoldFromInfluenceName $influence`; + + //Set hold on or off. + if (`getAttr ($influence + ".liw")`) + setAttr ($influence + ".liw") 0; + else + setAttr ($influence + ".liw") 1; + } + +//Refresh TSL. +ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`; + +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + +global proc ST_HoldAllInfluences(int $holdOnOff) +{ +string $allInfluences[] = `textScrollList -q -ai skinningTools_InfluenceTSL`; +if (! `size $allInfluences`) + return; + +if ($holdOnOff) + { + for ($i in $allInfluences) + { + //Remove " (Hold)" in name. + $i = `ST_RemoveHoldFromInfluenceName $i`; + + //Set hold on. + setAttr ($i + ".liw") 1; + } + } +else + { + for ($i in $allInfluences) + { + //Remove " (Hold)" in name. + $i = `ST_RemoveHoldFromInfluenceName $i`; + + //Set hold off. + setAttr ($i + ".liw") 0; + } + } + +//Refresh TSL. +ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`; + +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Saves out selection script to current shelf. +global proc ST_SaveInfSelection(string $influenceList[]) +{ +if (! `size $influenceList`) + { + warning "No influences in current list. No button saved."; + return; + } +global string $gShelfTopLevel; +string $currentTab = `tabLayout -q -selectTab $gShelfTopLevel`; + +//Remove " (Hold)" from name, and add to normal string. +string $influenceListString; +for ($i in $influenceList) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + $influenceListString += ($i + " "); + } +shelfButton + -l "Select skin weight influences." + -iol "select" + -image1 "commandButton.xpm" + -c ("select -r " + $influenceListString + ";") + -p $currentTab; +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Creates Help window. +global proc skinningToolsHelp() +{ +if (`window -ex skinningToolsHelpUI`) + deleteUI skinningToolsHelpUI; + +window -t "skinningTools 2.0 Help" -wh 450 350 skinningToolsHelpUI; + string $form = `formLayout`; + string $scroll = `scrollLayout`; + columnLayout; + + rowColumnLayout -nc 2 -cw 1 100 -cw 2 350 -cal 2 left; + text -label "Title: " -font boldLabelFont; + text -label "skinningTools.mel"; + text -label "Author: " -font boldLabelFont; + text -label "David Walden"; + text -label ""; + text -label "www.davidwalden.com"; + text -label ""; + text -label "dwalden74@hotmail.com"; + text -label "Began:" -font boldLabelFont; + text -label "May - June 2004"; + text -label "Last updated:" -font boldLabelFont; + text -label "April 24, 2005"; + setParent..; + + text -label "" -h 30; + + text -l " Influence Sets and Paint Weights concepts contributed by Asi Sudai - asod@012.net.il." -align left; + text -l "" -h 10; + text -l " Roundoff procedure by Duncan Brimsmead - dbrins@alias.com."; + text -l "" -h 20; + + text -label " New features in version 2.0: " -font boldLabelFont -w 300 -align left; + string $newFeaturesText = " Now includes cluster editing capabilities. User can choose between editing skinClusters or \n"; + $newFeaturesText += " clusters via the Edit menu. Note that the \"+\" and \"-\" buttons functionalities change according \n"; + $newFeaturesText += " to this mode: when editing clusters, these buttons behave identically to the Set Membership, \n"; + $newFeaturesText += " in that they allow the user to either add or remove selected points from the current cluster set.\n"; + $newFeaturesText += " The UI layout can now be changed such that it is either split horizontally or vertically.\n"; + $newFeaturesText += " This is done via Edit->Layout. The Transfer Weights tool now has a percentage slider to allow \n"; + $newFeaturesText += " the user to transfer only a percentage of the total joint weight. The Show Point Influence menu item will \n"; + $newFeaturesText += " now display the joint name as well as the average weight per-joint. The Utilities frameLayout has now been moved\n"; + $newFeaturesText += " to the Tools menu, and includes Copy Skin Weights and Remove Unused Influences functionality. Copy Weights and \n"; + $newFeaturesText += " Paste Weights buttons have been added to the bottom of the UI. This feature allows the user to make an initial \n"; + $newFeaturesText += " point selection, copy the average weights of all selected points, and paste these weights onto a new point selection.\n"; + text -label $newFeaturesText -align left; + + text -l "" -h 20; + + + text -label " About: " -font boldLabelFont; + string $noteText = " This tool streamlines many of the tasks related to smooth bind skinning in Maya. To use the\n"; + $noteText += " tool, simply select a smooth-binded geometry in the viewport, and the influence list on the \n"; + $noteText += " left will update showing all the influences affecting the selected geometry. \n"; + $noteText += " \n"; + $noteText += " The Influence List in the UI shows all the influences of the given skinCluster node attached to the \n" ; + $noteText += " current geometry. The RMB popupMenu gives you quick access to many of the influence-based tools, \n"; + $noteText += " including toggling Hold, selecting a given influence, selecting all points that are affected by a \n"; + $noteText += " given influence, and removing a given influence from the current influence set. As the user selects \n"; + $noteText += " influences in the Influence List, the corresponding influences are highlighted in the Maya viewport, \n"; + $noteText += " and are assigned as the current influence for the Paint Weights tool.\n"; + $noteText += " \n"; + $noteText += " The \"Order\" menu in the main menu bar allows the user to change the order in which influences appear \n"; + $noteText += " in the list: either alphabetically, revese alphabetically, by graph order (default), or by their \n"; + $noteText += " \"Hold\" status.\n"; + $noteText += " \n"; + $noteText += " The Influence List area also contains two very powerful buttons: \"+\" and \"-\". These buttons are \n" ; + $noteText += " used to either weight selected points entirely to highlighted influences, or to remove selected points \n" ; + $noteText += " entirely from highlighted influences. This is a very fast and effective way to begin the skin weighting \n" ; + $noteText += " process, and is also great for cleaning up any stray points that may have been inadvertently weighted \n"; + $noteText += " while skinning. One useful aspect of these buttons is that points can be weighted or removed regardless \n"; + $noteText += " of whether or not \"Hold\" is active on the influences.\n"; + $noteText += " \n"; + $noteText += " The Component Editor tab on the right-side of the UI behaves exactly like Maya´s standard component editor,\n"; + $noteText += " only here it hows Smooth Skin information only. User can see which influences are affecting selected \n"; + $noteText += " points, and can edit weight percent values, either via the spreadsheet cells or the slider. The user can change \n"; + $noteText += " the component editor precision by choosing Tools -> Component Editor Precision. Note that in using the Componenet \n"; + $noteText += " Editor there can be an occasional update bug in Maya when using numeric insertion in the spreadsheet for \n"; + $noteText += " multiple influences. This can be resolved by selecting the desired influences in the Influence List and specifying \n"; + $noteText += " an absolute value in the Set Weights section.\n"; + $noteText += " \n"; + $noteText += " The Component Editor and the Influence List may be resized by moving the position of the middle divider.\n"; + $noteText += " \n"; + $noteText += " The Paint Weights tab incorporates many of the standard tools in Maya´s own Paint Skin Weights tool. \n"; + $noteText += " It additionally has a Rotate Joints area where the user can interactively rotate the influences, as well as \n"; + $noteText += " set and delete rotational keyframes. Note that right-clicking in this layout will allow you to tear off a \n"; + $noteText += " floating Rotate Joints UI. The Utilities section below allows the user to mirror weights either in \n"; + $noteText += " positive or negative X, or prune the skinCluster weights according to the given threshhold value. By \n"; + $noteText += " right-clicking on the \"Mirror (+X to -X)\" button, user can call up the mirror weights options. \n"; + $noteText += " \n"; + $noteText += " The Paint Weights tools also takes advantage of the Influence Sets menu at the top of the UI. Here the user \n"; + $noteText += " can isolate specific influences, allowing to paint the weights of only those influences in the set. The Influence\n"; + $noteText += " Sets menu is a highly effective way for creating and managing sets of different influences attached to the skinCluster. \n"; + $noteText += " For example, if you create a set containing only the joints associated with your character's right arm, only those \n"; + $noteText += " influences for the right arm will appear in the Influence List. For this, the \"Auto Hold Sets\" menu item, \n"; + $noteText += " when activated, will toggle Hold on for those influences that are NOT in the current set. New influence sets can \n"; + $noteText += " be created by either highlighting given influences in the Influence List and choosing \"Create New Set\",\n"; + $noteText += " or by selecting points in the viewport and choosing \"Create Set from Selected Points\". The latter option will then \n"; + $noteText += " create a set containing only influences that affect the selected points with a value greater than zero. \n"; + $noteText += " The \"Remove from Current Set\" menu item will allow you to remove a highlighted influence from the current set. \n"; + $noteText += " Note that this only works when Complete Set is not the active set - to instead remove an influence completely \n"; + $noteText += " from the skinCluster, highlight the influence(s) in the Influence List and choose Tools -> Remove influences. \n"; + $noteText += " \n"; + $noteText += " The \"Edit Sets\" menu item in the Influence Sets menu will allow you edit the influence sets once they've been \n"; + $noteText += " created. Here you can add a new influence to a given set by highlighting the set in the list, highlighting a new influence\n"; + $noteText += " from in the main UI, and clicking on the \"Add to Set\" button. Sets can also be deleted entirely via the \"Delete Set\" \n"; + $noteText += " button. All sets can be deleted using the File->Delete All Sets menu item. Here the user can also choose to export or \n"; + $noteText += " import the influence sets to and from a text file.\n"; + $noteText += " \n"; + $noteText += " \n"; + $noteText += " The \"Tools\" menu in the main menu bar gives you access to a variety of various utilities that can help during the\n"; + $noteText += " weighting process. For example, \"Select affected points\" will select all the points that are affected by the highlighted\n"; + $noteText += " influences in the Influence List. \"Show Point Influences\", on the other hand, will create a sub menu containing all \n"; + $noteText += " the influences that are affecting selected points. \"Normalize\" will either normalize selected points, or print out a list \n"; + $noteText += " of the selected points whose total influence value does not equal 1.0. \"Save set selection to shelf\" will create a new shelf\n"; + $noteText += " button which is used to select all the influences from the current set. \n"; + $noteText += " \n"; + $noteText += " The \"Transfer Weights\" menu item allows the user to transfer skinCluster weight between 2 influences. Here the user \n"; + $noteText += " can choose between either copying weight values from a source influence onto a destination influence, or swapping \n"; + $noteText += " the weight values completely between two influences. The user can additionally choose between transferring all point \n"; + $noteText += " weight information, or only weight information for selected points. Note that user need not worry about weight \n"; + $noteText += " normalization or locked influences when copying or swapping weights, as these are handled entirely within \n"; + $noteText += " this procedure. \n"; + $noteText += " \n"; + $noteText += " \"Add Influences\" and \"Remove Influences\" are two very quick ways for either adding new influences to \n"; + $noteText += " the current skinCluster, or removing the influences entirely from the skinCluster. To add new influences, simply\n"; + $noteText += " select the influences in the viewport or the Outliner, and choose the \"Add Influences\" menu item. They should now\n"; + $noteText += " show up immediately in the Complete Set influence set. Note that when new influences are added, their Hold status\n"; + $noteText += " is activated by default. To remove influences from the current skinCluster, simply highlight them in the Influence\n"; + $noteText += " List and select \"Remove Influences\". \n"; + $noteText += " \n"; + $noteText += " \n"; + $noteText += " Finally, in the Set Weights section of the UI, the user can set the skinCluster percentage value for all selected \n"; + $noteText += " points. User can either adjust point values absolutely by entering a number in the float field, or relative \n"; + $noteText += " to the current value via the float slider. Note that a warning message occurs when adjusting percent \n"; + $noteText += " values when the adjusted value exceeds 1.0. The slider can be made to update interactively by checking \n"; + $noteText += " the \"Slider Interactive\" checkbox. The \"Normalize Weights\" checkbox towards the bottom simply toggles \n"; + $noteText += " weight normalization on/off for the current skinCluster node. \n"; + $noteText += " \n"; + $noteText += " \n"; + $noteText += " \n"; + $noteText += " Send comments or update suggestions to dwalden74@hotmail.com. \n"; + $noteText += " \n"; + text -label $noteText -align left; + + text -label "" -h 10; + + + setParent..; + setParent..; + string $closeButton = `button -label "Close Window" -c "deleteUI skinningToolsHelpUI"`; + setParent..; + + formLayout -e + -attachForm $scroll left 0 + -attachForm $scroll top 0 + -attachForm $scroll right 0 + -attachControl $scroll bottom 0 $closeButton + + -attachForm $closeButton left 0 + -attachNone $closeButton top + -attachForm $closeButton right 0 + -attachForm $closeButton bottom 0 + $form; + +showWindow skinningToolsHelpUI; +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Selects highlighted influences from UI list. +global proc ST_SelectInfluences(string $influenceList[]) +{ +if (! `size $influenceList`) + { + error "No influences selected."; + return; + } + +string $newInfluenceArray[]; +for ($i in $influenceList) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + $newInfluenceArray[`size $newInfluenceArray`] = $i; + } + +select -r $newInfluenceArray; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Adds selected influences to the skinCluster. +global proc ST_AddInfluences() +{ +string $sel[] = `ls -sl -o -type transform`; +if (! `size $sel`) + return; + +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +string $allInfluences[] = `skinCluster -q -inf $skinCluster`; +for ($s in $sel) + { + if (`stringArrayCount $s $allInfluences`) + { + warning ($s + " is already part of " + $skinCluster + ". Ignoring."); + continue; + } + skinCluster -e -dr 4 -lw true -wt 0 -ai $s $skinCluster; + } + +ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Removes selected infuences from current skinCluster influence list. +global proc ST_RemoveInfluence() +{ +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +string $sel[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +if ((! `objExists $skinCluster`) || (! `size $sel`)) + return; + +//Tokenize $sel[0], only so that "(Hold)" doesn't show up in confirmDialog message. +string $buffer[]; +tokenize $sel[0] $buffer; + +string $influenceMessage; +if (`size $sel` > 1) + $influenceMessage = "s"; +else + $influenceMessage = (" " + $buffer[0]); + +string $confirm = `confirmDialog + -title "Remove Influence" + -message ("Remove influence" + $influenceMessage + " from " + $skinCluster + "?") + -button "Yes" + -button "No" + -defaultButton "Yes" + -cancelButton "No" + -dismissString "No"`; + + +if ($confirm == "Yes") + { + for ($s in $sel) + { + $s = `ST_RemoveHoldFromInfluenceName $s`; + //Remove the influence from the skinCluster node. + skinCluster -e -ri $s $skinCluster; + + //Now remove the influence from any influence sets. + string $sets[] = `ls -type objectSet ("skinningToolsSet_" + $skinCluster + "_*")`; + for ($set in $sets) + { + string $members[] = `sets -q $set`; + if (`stringArrayCount $s $members`) + sets -rm $set $s; + } + } + + //Now update main UI. + ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; + + //And update the Edit Sets UI. + ST_UpdateEditSetsTSL $skinCluster; + } +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Removes selected points from highlighted influences in UI list. +global proc ST_RemoveSelectedPointsFromInfluence(string $influences[], string $skinCluster) +{ +string $selectedPoints[] = `ls -sl`; +string $selectedObj[] = `ls -sl -o`; +if ($selectedPoints[0] == $selectedObj[0]) + {print "Select some points and try again.\n"; return;} + +//Let´s make it so the user can remove points from multiple joints at a time. This is a cool feature. +//To do this, we need the lock each joint after we´ve removed the point influence, then return the lock attr to it´s previous value. +int $isLockedArray[]; +int $n = 0; +for ($n = 0; $n < `size $influences`; $n++) + { + //Remove the "(Hold)" first. + $influences[$n] = `ST_RemoveHoldFromInfluenceName $influences[$n]`; + $isLockedArray[$n] = `getAttr ($influences[$n] + ".liw")`; //Store the "lock" status of the influence. + } + +$n = 0; +for ($i in $influences) + { + //Remove the "(Hold)" first. + $i = `ST_RemoveHoldFromInfluenceName $i`; //Remove the "(Hold)" from name (if any). + skinPercent -transformValue $i 0.0 $skinCluster $selectedPoints; //Set the influence to zero for selected points. + setAttr ($influences[$n] + ".liw") 1; //Now lock the influence. + $n++; + } + +for ($n = 0; $n < `size $influences`; $n++) //Now reset ".liw" attr. + { + setAttr ($influences[$n] + ".liw") $isLockedArray[$n]; + } + +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Adds selected points entirely to highlighted influences in UI list. +//If multiple influences are selected, weight is distributed evenly among only those influences. +//Note that all previous weighting information is destroyed. +global proc ST_AddSelectedPointsToInfluence(string $influences[], string $skinCluster) +{ +int $sizeInfluences = `size $influences`; +if (! $sizeInfluences) + {print "Highlight some influences in the list and try again.\n"; return;} + +string $selectedPoints[] = `ls -sl`; +string $selectedObj[] = `ls -sl -o`; +if ($selectedPoints[0] == $selectedObj[0]) + {print "Select some points and try again.\n"; return;} +string $affectedGeo[] = `skinCluster -q -g $skinCluster`; +if ($selectedObj[0] != $affectedGeo[0]) + { + print ("Selected points do not belong to " + $skinCluster + ". Select some points on " + $affectedGeo[0] + " and try again.\n"); + return; + } + +//Get normalizeWeights attr, and turn off normalize weights. +int $normalize = `getAttr ($skinCluster + ".normalizeWeights")`; +if ($normalize) + setAttr ($skinCluster + ".normalizeWeights") 0; + +//****We need to first toggle off "Hold" for those influences that are currently affecting the selected points. +//This will allow us to zero-out all points in the next step (note that if "Hold" is on, percent value will NOT zero-out). +string $oldInfluences[] = `skinPercent -ib 0.000000001 -q -t $skinCluster $selectedPoints`; +int $isLocked[]; //We need to query the locked status, in order to restore it later. +for ($i in $oldInfluences) + { + $isLocked[`size $isLocked`] = `getAttr ($i + ".liw")`; + setAttr ($i + ".liw") 0; + } + +//Set all weights to zero for selected points. +skinPercent -prw 100 -normalize off $skinCluster $selectedPoints; + +for ($i in $influences) + { + //Remove the "(Hold)" first. + $i = `ST_RemoveHoldFromInfluenceName $i`; + skinPercent -transformValue $i (1.0/$sizeInfluences) $skinCluster $selectedPoints; + } + +//Restore "locked" status to old influences. +for ($n = 0; $n< `size $oldInfluences`; $n++) + setAttr ($oldInfluences[$n] + ".liw") $isLocked[$n]; + +//Turn back on normalize weights. +setAttr ($skinCluster + ".normalizeWeights") $normalize; + +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Toggles weight normalization on-off for current skinCluster node. +global proc ST_ToggleNormalize (int $onOff) +{ +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +if ((`objExists $skinCluster`) && (`nodeType $skinCluster` == "skinCluster")) + { + setAttr ($skinCluster + ".normalizeWeights") $onOff; + if ($onOff) + print "Normalize weights ON.\n"; + else if (! $onOff) + print "Normalize weights OFF.\n"; + } +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Selects the parent of the highlighted influence. +global proc ST_SelectParentInfluence() +{ +string $labelBuffer[]; +string $label = `menuItem -q -l ST_POPUP_ParentMI`; +tokenize $label $labelBuffer; +if (`objExists $labelBuffer[2]`) + select -r $labelBuffer[2]; +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Selects the child of the highlighted influence. +global proc ST_SelectChildInfluence() +{ +string $labelBuffer[]; +string $label = `menuItem -q -l ST_POPUP_ChildMI`; +tokenize $label $labelBuffer; +if (`objExists $labelBuffer[2]`) + select -r $labelBuffer[2]; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** +//Builds the Influence Sets menu according to current skinCluster. +//Called every time the selection changes - see ST_LoadSelection +global proc ST_BuildInfluenceSetsMenu(string $skinCluster, string $activeSet) +{ +//Declare name of menu +string $influenceMenu = "ST_InfluenceSetsMenu"; + +//Delete all menuItems from the menu. +string $originalMenuItems[] = `menu -q -ia $influenceMenu`; +for ($i in $originalMenuItems) + deleteUI $i; +//Delete RMIC if exists. +if (`radioMenuItemCollection -ex ST_InfluenceSetsRMIC`) + deleteUI ST_InfluenceSetsRMIC; + +//Rebuild items. +menuItem -p $influenceMenu -label "Create New Set" -c ("ST_setsMakerUI `textScrollList -q -si skinningTools_InfluenceTSL` " + $skinCluster); +menuItem -p $influenceMenu -l "Create Set from Selected Points" -c ("{string $inf[] = `ST_GetNonZeroInfluencesMultiplePoints`; ST_setsMakerUI $inf " + $skinCluster + ";}"); +menuItem + -p $influenceMenu + -l "Remove from Current Set" + -c "ST_RemoveInfluenceFromSet `textScrollList -q -si skinningTools_InfluenceTSL` `ST_GetActiveSet` `textField -q -tx skinningTools_SkinClusterTF`"; +menuItem -p $influenceMenu -l "Edit Sets..." -c "ST_editSets `textField -q -tx skinningTools_SkinClusterTF`"; +menuItem -p $influenceMenu -d 1; +menuItem + -p $influenceMenu + -label "Auto Hold Sets" + -c "optionVar -iv ST_AutoHoldINT `menuItem -q -cb ST_AutoHoldSets_MI`" //Set the optionVar each time the menuItem is selected. + -cb `optionVar -q ST_AutoHoldINT` + ST_AutoHoldSets_MI; +menuItem -p $influenceMenu -d 1; + +//Now set the checkbox of the Hold Sets menuItem according to the optionVar. +//int $autoHold = `optionVar -q ST_AutoHoldINT`; + +//(Re)Build the radioMenuItemCollection to manage influence sets. Start with Complete Set. +radioMenuItemCollection -p ST_InfluenceSetsMenu ST_InfluenceSetsRMIC; +menuItem + -p ST_InfluenceSetsMenu + -collection ST_InfluenceSetsRMIC + -l "Complete Set" + -c "ST_SelectFullSet" + -radioButton 0 + ("skinningToolsSet_" + $skinCluster + "_FullSet_MI"); + +//Now build the appropriate menuItems for the current skinCluster. +string $STSets[] = `ls -type objectSet ("skinningToolsSet_" + $skinCluster + "_*")`; +if (`size $STSets`) + { + //Build the influence menuItems. + for ($s in $STSets) + { + string $label = `substitute ("skinningToolsSet_" + $skinCluster + "_") $s ""`; + menuItem + -collection ST_InfluenceSetsRMIC + -p ST_InfluenceSetsMenu + -l $label + -c ("ST_SelectSet " + $s) + -radioButton 0 + ($s + "_MI"); + //print ($s + "\n"); + } + } + + + +//Now we need to turn ON the correct radioButton. +if (`menuItem -ex ($activeSet + "_MI")`) + menuItem -e -radioButton 1 ($activeSet + "_MI"); +else + menuItem -e -radioButton 1 ("skinningToolsSet_" + $skinCluster + "_FullSet_MI"); + +}//End of proc. + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Loads the selection in the UI. +//Also builds the necessary menuItems for the current skinCluster. +global proc ST_LoadSelection() +{ +//Get currently selected object. +string $selection[] = `ls -sl -o`; +if (! `size $selection`) + return; + +//Query the MODE +string $mode = `optionVar -q ST_Mode`; + +if ($mode == "SkinCluster") + { + print $mode; + print "\n"; + + //Get the skinCluster. + string $skinCluster = `findRelatedSkinCluster $selection[0]`; + //If no skinCluster exists on the selection, exit proc. + if (! `size $skinCluster`) + return; + + //Otherwise update the UI with the selection. + else + { + //Update textField with skinCluster. + text -e -en 1 ST_SkinClusterTXT; + textField -e -en 1 skinningTools_SkinClusterTF; + + if (`size $selection`) + textField -e -tx $skinCluster skinningTools_SkinClusterTF; + + //Update normalize checkbox. + checkBox -e -v `getAttr ($skinCluster + ".normalizeWeights")` ST_NormalizeCHECK; + + //Update TSL according to current set. + ST_ListSmoothSkinInfluences $skinCluster `ST_GetActiveSet`; + + //Now build the influence sets menu + ST_BuildInfluenceSetsMenu $skinCluster `ST_GetActiveSet`; + + //And update the Edit Sets UI: + ST_UpdateEditSetsTSL $skinCluster; + } + } + +else if ($mode == "Cluster") + { + //Disable the Skin Cluster text info at the top of the UI. + text -e -en 0 ST_SkinClusterTXT; + textField -e -tx "" -en 0 skinningTools_SkinClusterTF; + + //Remove all items from TSL + textScrollList -e -ra skinningTools_InfluenceTSL; + + //Repopulate with all clusters attached to current selection. + string $history[] = `listHistory $selection[0]`; + for ($h in $history) + { + if (`nodeType $h` == "cluster") + textScrollList -e -a $h skinningTools_InfluenceTSL; + } + } +} //End of proc. + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//This is called by the scriptJob to automatically load the selection. User can uncheck this option in the List menu, +//and then choose to manually load objects into the UI. +global proc ST_ScriptJobLoad() +{ +if (`menuItem -q -cb ST_AutoUpdateUI_MI`) + ST_LoadSelection; + +//Update component editor. +//componentEditor -e -updateMainConnection ST_CE; +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Hilites and shows given influence in TSL. +global proc ST_HiliteInfluence(string $inf) +{ +textScrollList -e -da skinningTools_InfluenceTSL; + +if (`getAttr ($inf + ".liw")`) + textScrollList -e -si ($inf + " (Hold)") skinningTools_InfluenceTSL; +else + textScrollList -e -si $inf skinningTools_InfluenceTSL; + +//Now hilite influence in TSL. +hilite -r $inf; + +//And show influence in TSL. +int $index[] = `textScrollList -q -sii skinningTools_InfluenceTSL`; +textScrollList -e -shi $index[0] skinningTools_InfluenceTSL; +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Shows submenu with menuItem list of influences affecting currently selected points. +global proc ST_ShowPointInfluences() +{ +//First, delete any previous existing menuItems under ST_ShowPointInfluenceMI (from previous call to proc) +string $previousMenus[] = `menu -q -ia ST_ShowPointInfluenceMI`; +for ($p in $previousMenus) + deleteUI $p; + +//Get the selection and the selected components. +//Make sure we have one geometry object selected. +string $object[] = `ls -sl -o`; +if (`size $object` != 1) + { + //menuItem -l "Select some smooth-binded points on one object." -p ST_ShowPointInfluenceMI; + return; + } + +//Return the flattened list of components. Return nothing (exit proc) if selection is invalid. +string $selectedComponents[] = `ls -fl -sl`; +if (! `size $selectedComponents`) + return; + +//If only the object is selected, exit proc. +if ($object[0] == $selectedComponents[0]) + return; + +//Get the skinCluster node name. +string $skinCluster = `findRelatedSkinCluster $object[0]`; +if (($skinCluster != `textField -q -tx skinningTools_SkinClusterTF`) || (! `size $skinCluster`)) + { + //print "Select some smooth-binded points and try again.\n"; + return; + } + + +//First get the influences that affect the points. +string $influences[] = `skinPercent -ignoreBelow 0.00000001 -q -transform $skinCluster $selectedComponents`; + +//Now loop throught the selected points, and store the sum of the weights per-joint (similar to the ST_CopyWeights proc. +float $averageWeight[]; +for ($i = 0; $i < `size $influences`; $i++) + { + float $totalWeight = 0; + for ($p in $selectedComponents) + { + float $value = `skinPercent -t $influences[$i] -q $skinCluster $p`; + $totalWeight += $value; + } + //Now store the average value into the global float array. + $averageWeight[$i] = $totalWeight/(`size $selectedComponents`); + //Round-off the value to 3 decimal places. + $averageWeight[$i] = `dbRoundoff $averageWeight[$i] 4`; + } + + + +//Now add the items to the popupMenu. +if (`size $influences`) + { + for ($i = 0; $i < `size $influences`; $i++) + { + //string $cmd = (" textScrollList -e -da skinningTools_InfluenceTSL; if (`getAttr " + $i + ".liw`) textScrollList -e -si \"" + $i + " Hold\" skinningTools_InfluenceTSL; else textScrollList -e -si " + $i + " skinningTools_InfluenceTSL; hilite -r " + $i + ";"); + menuItem + -l ($influences[$i] + " - " + $averageWeight[$i]) + -p ST_ShowPointInfluenceMI + -c ("ST_HiliteInfluence " + $influences[$i]) + ($influences[$i] + "PointInf_MI"); + } + } +} + + +//*************************************************************************************************** +//*************************************************************************************************** +//Updates the Tools Menu "Select Influence" submenu. +global proc ST_UpdateToolsMenu() +{ +string $current = "ST_ToolsMenu_SelectCurrentMI"; +string $parent = "ST_ToolsMenu_SelectParentMI"; +string $child = "ST_ToolsMenu_SelectChildMI"; + +//Get currently highlighted influences. +string $selectedItem[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +if (!`size $selectedItem`) + { + menuItem -e -en 0 $current; + menuItem -e -en 0 $parent; + menuItem -e -en 0 $child; + return; + } + +//Reset menuItems to default label. +menuItem -e -l "Select Current: " $current; +menuItem -e -l "Select Parent: " $parent; +menuItem -e -l "Select Child: " $child; + +//Store the default label. +string $currentInfluenceLabel = `menuItem -q -l $current`; +string $currentParentLabel = `menuItem -q -l $parent`; +string $currentChildLabel = `menuItem -q -l $child`; + +//If multiple influences are highlighted in the list, update the menuItems with "...". +if (`size $selectedItem` > 1) + { + menuItem -e -l ($currentInfluenceLabel + "...") -c "ST_SelectInfluences `textScrollList -q -si skinningTools_InfluenceTSL`" $current; + menuItem -e -l ($currentParentLabel + "...") -c "" $parent; + menuItem -e -l ($currentChildLabel + "...") -c "" $child; + } + +//If just one influence is highlighted in the list, update the menuItem label with correct name. +else if (`size $selectedItem` == 1) + { + string $influence = $selectedItem[0]; + $influence = `ST_RemoveHoldFromInfluenceName $influence`; + + string $parents[] = `listRelatives -p $influence`; + string $children[] = `listRelatives -c $influence`; + + //Update the influence menuItem. + menuItem -e -l ($currentInfluenceLabel + $influence) -c ("select -r " + $influence) -en 1 $current; + + //Update parent menuItem. + if (`size $parents`) + menuItem -e -l ($currentParentLabel + $parents[0]) -c ("select -r " + $parents[0]) -en 1 $parent; + else + menuItem -e -en 0 $parent; + //Update child menuItem. + if (`size $children` == 1) + menuItem -e -l ($currentChildLabel + $children[0]) -c ("select -r " + $children[0]) -en 1 $child; + else if (`size $children` > 1) + { + string $childrenString; + for ($c in $children) + $childrenString += $c + " "; + menuItem -e -l "Select children" -c ("select -r " + $childrenString) -en 1 $child; + } + else + menuItem -e -en 0 $child; + } +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Used for the Influence Popup, when in Cluster mode. Selects either the Handle, the Cluster, or the Cluster Set. +global proc ST_SelectClusterNodeType (string $nodeType) +{ +string $selected[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +if (! `size $selected`) + return; + +if ($nodeType == "Cluster") + select -r $selected; + +else if ($nodeType == "ClusterHandle") + { + string $handles[] = {}; + for ($s in $selected) + { + $handles = stringArrayCatenate ($handles, `listConnections -type "clusterHandle" -s 1 -d 0 $s`); + $handles = stringArrayRemoveDuplicates ($handles); + } + select -r $handles; + } + +else if ($nodeType == "ClusterSet") + { + string $clusterSets[] = {}; + for ($s in $selected) + { + $clusterSets = stringArrayCatenate ($clusterSets, `listConnections -type "objectSet" -s 0 -d 1 $s`); + $clusterSets = stringArrayRemoveDuplicates ($clusterSets); + } + select -r -noExpand $clusterSets; + } + +//Same as above, but without the -noExpand flag on the select cmd. +else if ($nodeType == "Points") + { + string $clusterSets[] = {}; + for ($s in $selected) + { + $clusterSets = stringArrayCatenate ($clusterSets, `listConnections -type "objectSet" -s 0 -d 1 $s`); + $clusterSets = stringArrayRemoveDuplicates ($clusterSets); + } + select -r $clusterSets; + } + +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Updates RMB popup menu for main Influence list. Updates according to $mode type (either SkinCluster or Cluster). +global proc ST_UpdatePopup(string $mode) +{ +//First, delete all menuItems in the popup. +popupMenu -e -dai ST_InfluenceListPOPUP; + +if ($mode == "SkinCluster") + { + //Now rebuild the popup menuItems. + menuItem -p ST_InfluenceListPOPUP -l "Hold/Unhold" -c "ST_ToggleHoldInfluenceWeight `textScrollList -q -si skinningTools_InfluenceTSL`;"; + menuItem -p ST_InfluenceListPOPUP -l "Hold All" -c "ST_HoldAllInfluences 1"; + menuItem -p ST_InfluenceListPOPUP -l "Unhold All" -c "ST_HoldAllInfluences 0"; + menuItem -p ST_InfluenceListPOPUP -d 1; + menuItem -p ST_InfluenceListPOPUP -l "Select influence" -c "ST_SelectInfluences `textScrollList -q -si skinningTools_InfluenceTSL`" ST_POPUP_InfluenceMI; + menuItem -p ST_InfluenceListPOPUP -l "Select affected points" -c "ST_SelectAffectedPoints `textField -q -tx skinningTools_SkinClusterTF`" ST_POPUP_SelectPointsMI; + menuItem -p ST_InfluenceListPOPUP -d 1; + menuItem -p ST_InfluenceListPOPUP -l "Create New Set" -c "ST_setsMakerUI `textScrollList -q -si skinningTools_InfluenceTSL` `textField -q -tx skinningTools_SkinClusterTF`"; + menuItem -p ST_InfluenceListPOPUP -d 1; + menuItem -p ST_InfluenceListPOPUP -l "Reveal selected influence" -c "ST_RevealSelected `ls -sl -o -type transform` `textField -q -tx skinningTools_SkinClusterTF`" ST_POPUP_RevealSelectedMI; + menuItem -p ST_InfluenceListPOPUP -d 1; + menuItem -p ST_InfluenceListPOPUP -l "Remove from Current Set" -c "ST_RemoveInfluenceFromSet `textScrollList -q -si skinningTools_InfluenceTSL` `ST_GetActiveSet` `textField -q -tx skinningTools_SkinClusterTF`"; + + + + //Get currently highlighted influences. + string $selectedItem[] = `textScrollList -q -si skinningTools_InfluenceTSL`; + if (!`size $selectedItem`) + { + menuItem -e -en 0 -l "Select Influence" ST_POPUP_InfluenceMI; + return; + } + else + { + //Enable menuItem, then update menu accordingly. + menuItem -e -en 1 ST_POPUP_InfluenceMI; + if (`size $selectedItem` == 1) + menuItem -e -l "Select Influence" ST_POPUP_InfluenceMI; + else if (`size $selectedItem` > 1) + menuItem -e -l "Select Influences" ST_POPUP_InfluenceMI; + } + } + +else if ($mode == "Cluster") + { + menuItem -p ST_InfluenceListPOPUP -l "Select Cluster Node" -c "ST_SelectClusterNodeType Cluster"; + menuItem -p ST_InfluenceListPOPUP -l "Select Cluster Handle" -c "ST_SelectClusterNodeType ClusterHandle"; + menuItem -p ST_InfluenceListPOPUP -l "Select Cluster Set" -c "ST_SelectClusterNodeType ClusterSet"; + menuItem -p ST_InfluenceListPOPUP -l "Select Cluster Points" -c "ST_SelectClusterNodeType Points"; + } + +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Sets skinCluster weight values for selected components. +global proc ST_SetWeights(int $setMode, float $value) +{ +//Get selection, component selection, skinCluster, and check for errors. +string $selectedComponents[] = `ls -sl`; +if (! `size $selectedComponents`) + {print "Select some points and try again.\n"; return;} +string $selectedComponentsFlattened[] = `ls -sl -fl`; +string $selectedObject[] = `ls -sl -o`; +if ($selectedComponents[0] == $selectedObject[0]) + {print "Select some points and try again.\n"; return;} + +string $influences[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +if (! `size $influences`) + {print "Select one or more influences from the UI list and try again.\n"; return;} + +string $skinCluster = `findRelatedSkinCluster $selectedObject[0]`; +if (! `size $skinCluster`) + {print "Select one or more influences from the UI list and try again.\n"; return;} + +//If the selected object´s skinCluster is different from the on in the UI, report error. +if ($skinCluster != `textField -q -tx skinningTools_SkinClusterTF`) + error "Selected object is not loaded into UI. Try again.\n"; + +//Set weight in absolute mode. +int $isLocked; +if ($setMode == 1) + { + for ($i in $influences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + $isLocked = `getAttr ($i + ".lockInfluenceWeights")`; + if ($isLocked) + {print ("Influence " + $i + " is locked. Toggle \"Hold\" off and try again.\n"); return;} + skinPercent -tv $i $value $skinCluster $selectedComponents; + } + } +//Set weight in percent mode. +else if ($setMode == 2) + { + for ($i in $influences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + $isLocked = `getAttr ($i + ".lockInfluenceWeights")`; + if ($isLocked) + {print ("Influence " + $i + " is locked. Toggle \"Hold\" off and try again.\n"); return;} + skinPercent -relative 1 -tv $i $value $skinCluster $selectedComponents; + + for ($s in $selectedComponentsFlattened) + { + if (`skinPercent -t $i -q $skinCluster $s` > 1.0) + skinPercent -tv $i 1.0 $skinCluster $s; + else if (`skinPercent -t $i -q $skinCluster $s` < 0.0) + skinPercent -tv $i 0.0 $skinCluster $s; + } + } + } + +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Hilites selected influences from influence list. +//Sets "rotate" sliders to joints´ rotate values. +global proc ST_HiliteObjects(string $mode) +{ +if ($mode == "SkinCluster") + { + string $selectedInfluences[] = `textScrollList -q -si skinningTools_InfluenceTSL`; + string $influences[]; + for ($i in $selectedInfluences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + $influences[`size $influences`] = $i; + } + hilite -r $influences; + + //Now update rotate sliders to match the joint´s rotate values. + $selectedInfluences[0] = `ST_RemoveHoldFromInfluenceName $selectedInfluences[0]`; + int $tearOffRotateJointsWindowExists = `window -ex ST_TearOffJointRotateWin`; + floatSliderGrp -e -v `getAttr ($selectedInfluences[0] + ".rx")` ST_PW_RJ_SliderX; + floatSliderGrp -e -v `getAttr ($selectedInfluences[0] + ".ry")` ST_PW_RJ_SliderY; + floatSliderGrp -e -v `getAttr ($selectedInfluences[0] + ".rz")` ST_PW_RJ_SliderZ; + if ($tearOffRotateJointsWindowExists) + { + floatSliderGrp -e -v `getAttr ($selectedInfluences[0] + ".rx")` ST_PW_RJ_SliderX_TearOff; + floatSliderGrp -e -v `getAttr ($selectedInfluences[0] + ".ry")` ST_PW_RJ_SliderY_TearOff; + floatSliderGrp -e -v `getAttr ($selectedInfluences[0] + ".rz")` ST_PW_RJ_SliderZ_TearOff; + } + } + + +else if ($mode == "Cluster") + { + string $selectedClusters[] = `textScrollList -q -si skinningTools_InfluenceTSL`; + string $handles[] = {}; + string $allHandles[] = {}; + for ($cls in $selectedClusters) + { + $handles = `listConnections -s 1 -d 0 -type "clusterHandle" $cls`; + for ($h in $handles) + $allHandles[`size $allHandles`] = $h; + } + + hilite -r $allHandles; + } +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Makes Set Weights slider interactive or not. +global proc ST_SetWeights_SliderInteractive (int $onOff) +{ +if ($onOff) + { + floatSlider -e + -cc "" + -dc "ST_SetWeights `radioButtonGrp -q -sl ST_SetWeightsModeRBG` `floatSlider -q -v ST_SetWeightsPercentFS`; \ + floatField -e -v `floatSlider -q -v ST_SetWeightsPercentFS` ST_SetWeightsPercentFF;" + ST_SetWeightsPercentFS; + } +else if (! $onOff) + { + floatSlider -e + -cc "ST_SetWeights `radioButtonGrp -q -sl ST_SetWeightsModeRBG` `floatSlider -q -v ST_SetWeightsPercentFS`; \ + floatField -e -v `floatSlider -q -v ST_SetWeightsPercentFS` ST_SetWeightsPercentFF;" + -dc "" + ST_SetWeightsPercentFS; + } +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Isolates Hold on selected influences. +global proc ST_IsolateHold() +{ +//Get selected influences. +string $selectedInfluence[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +if (! `size $selectedInfluence`) + return; + +//Get all influences. +string $allInfluence[] = `textScrollList -q -ai skinningTools_InfluenceTSL`; +//Get influences that aren´t selected. +string $nonSelectedInfluences[] = `stringArrayRemove $selectedInfluence $allInfluence`; + +$selectedInfluence[0] = `ST_RemoveHoldFromInfluenceName $selectedInfluence[0]`; + +if (! `getAttr ($selectedInfluence[0] + ".liw")`) + { + //Toggle .liw on for selected... + for ($i in $selectedInfluence) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + setAttr ($i + ".liw") 1; + } + //...and off for non-selected + for ($i in $nonSelectedInfluences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + setAttr ($i + ".liw") 0; + } + } +else + { + for ($i in $selectedInfluence) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + setAttr ($i + ".liw") 0; + } + for ($i in $nonSelectedInfluences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + setAttr ($i + ".liw") 1; + } + } + +//Update TSL. +ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`; + + +//Finally, update component editor. +componentEditor -e -updateMainConnection ST_CE; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Rename the current skinCluster node (via popup menu in UI). +global proc ST_RenameSkinCluster() +{ +string $oldName = `textField -q -tx skinningTools_SkinClusterTF`; +if (! `objExists $oldName`) + return; + +string $newName; +string $result = `promptDialog + -title "Rename Skin Cluster Node:" + -message "New Name:" + -text $oldName + -button "OK" -button "Cancel" + -defaultButton "OK" -cancelButton "Cancel" + -dismissString "Cancel"`; + + if ($result == "OK") + { + $newName = `promptDialog -query -text`; + rename $oldName $newName; + textField -e -tx $newName skinningTools_SkinClusterTF; + } +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Rotates selected influences (works only on joints). +global proc ST_RotateJoints (string $axis, int $tearOff) +{ +string $joints[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +for ($j in $joints) + { + $j = `ST_RemoveHoldFromInfluenceName $j`; + //Check first to see if object is a joint. + if (`nodeType $j` != "joint") + continue; + + if (`getAttr -l ($j + ".rotate")`) + continue; + + string $connections[] = `listConnections -s 1 -d 0 ($j + ".rotate")`; + int $sizeConnections = `size $connections`; + if ($sizeConnections) + continue; + + if ($axis == "X") + { + //If the ".rx" attribute has input connections which are NOT animation curves, then report a warning. + $connections = `listConnections -s 1 -d 0 ($j + ".rx")`; + $sizeConnections = `size $connections`; + //If connections do exist.... + if ($sizeConnections) + { + if (`nodeType $connections[0]` != "animCurve") + {warning ("Cannot rotate " + $j + " on the X-axis: it already has input connections."); continue;} + else + { + //If calling the proc from the TearOff Win... + if ($tearOff) + { + setAttr ($j + ".rx") `floatSliderGrp -q -v ST_PW_RJ_SliderX_TearOff`; + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderX_TearOff` ST_PW_RJ_SliderX; + } + //Else if calling proc from the main UI... + else + { + setAttr ($j + ".rx") `floatSliderGrp -q -v ST_PW_RJ_SliderX`; + if (`window -ex ST_TearOffJointRotateWin`) + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderX` ST_PW_RJ_SliderX_TearOff; + } + } + } + //Else if no connections exist.... + else + { + if ($tearOff) + { + setAttr ($j + ".rx") `floatSliderGrp -q -v ST_PW_RJ_SliderX_TearOff`; + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderX_TearOff` ST_PW_RJ_SliderX; + } + else + { + setAttr ($j + ".rx") `floatSliderGrp -q -v ST_PW_RJ_SliderX`; + if (`window -ex ST_TearOffJointRotateWin`) + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderX` ST_PW_RJ_SliderX_TearOff; + } + } + } + if ($axis == "Y") + { + $connections = `listConnections -s 1 -d 0 ($j + ".ry")`; + $sizeConnections = `size $connections`; + if ($sizeConnections) + { + if (`nodeType $connections[0]` != "animCurve") + {warning ("Cannot rotate " + $j + " on the Y-axis: it already has input connections."); continue;} + else + { + if ($tearOff) + { + setAttr ($j + ".ry") `floatSliderGrp -q -v ST_PW_RJ_SliderY_TearOff`; + floatSlider -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderY_TearOff` ST_PW_RJ_SliderY; + } + else + { + setAttr ($j + ".ry") `floatSliderGrp -q -v ST_PW_RJ_SliderY`; + if (`window -ex ST_TearOffJointRotateWin`) + floatSlider -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderY` ST_PW_RJ_SliderY_TearOff; + } + } + } + else + { + if ($tearOff) + { + setAttr ($j + ".ry") `floatSliderGrp -q -v ST_PW_RJ_SliderY_TearOff`; + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderY_TearOff` ST_PW_RJ_SliderY; + } + else + { + setAttr ($j + ".ry") `floatSliderGrp -q -v ST_PW_RJ_SliderY`; + if (`window -ex ST_TearOffJointRotateWin`) + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderY` ST_PW_RJ_SliderY_TearOff; + } + } + } + if ($axis == "Z") + { + $connections = `listConnections -s 1 -d 0 ($j + ".rz")`; + $sizeConnections = `size $connections`; + if ($sizeConnections) + { + if (`nodeType $connections[0]` != "animCurve") + {warning ("Cannot rotate " + $j + " on the Z-axis: it already has input connections."); continue;} + else + { + if ($tearOff) + { + setAttr ($j + ".rz") `floatSliderGrp -q -v ST_PW_RJ_SliderZ_TearOff`; + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderZ_TearOff` ST_PW_RJ_SliderZ; + } + else + { + setAttr ($j + ".rz") `floatSliderGrp -q -v ST_PW_RJ_SliderZ`; + if (`window -ex ST_TearOffJointRotateWin`) + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderZ` ST_PW_RJ_SliderZ_TearOff; + } + } + } + else + { + if ($tearOff) + { + setAttr ($j + ".rz") `floatSliderGrp -q -v ST_PW_RJ_SliderZ_TearOff`; + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderZ_TearOff` ST_PW_RJ_SliderZ; + } + else + { + setAttr ($j + ".rz") `floatSliderGrp -q -v ST_PW_RJ_SliderZ`; + if (`window -ex ST_TearOffJointRotateWin`) + floatSliderGrp -e -v `floatSliderGrp -q -v ST_PW_RJ_SliderZ` ST_PW_RJ_SliderZ_TearOff; + } + } + } + } +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Zero´s rotations on selected influences (joints). +global proc ST_RotateJoints_Zero(string $whichJoints, int $x, int $y, int $z) +{ +//Query if tear off rotate joint window exists. +int $tearOffWinExists = `window -ex ST_TearOffJointRotateWin`; + +//First reset floatSliderGrps. +if ($x) + { + floatSliderGrp -e -v 0 ST_PW_RJ_SliderX; + if ($tearOffWinExists) + floatSliderGrp -e -v 0 ST_PW_RJ_SliderX_TearOff; + } +if ($y) + { + floatSliderGrp -e -v 0 ST_PW_RJ_SliderY; + if ($tearOffWinExists) + floatSliderGrp -e -v 0 ST_PW_RJ_SliderY_TearOff; + } +if ($z) + { + floatSliderGrp -e -v 0 ST_PW_RJ_SliderZ; + if ($tearOffWinExists) + floatSliderGrp -e -v 0 ST_PW_RJ_SliderZ_TearOff; + } + +//Now zero-out joint rotations. +string $joints[]; +if ($whichJoints == "current") + $joints = `textScrollList -q -si skinningTools_InfluenceTSL`; +else if ($whichJoints == "all") + $joints = `textScrollList -q -ai skinningTools_InfluenceTSL`; + +for ($j in $joints) + { + $j = `ST_RemoveHoldFromInfluenceName $j`; + //Check first to see if object is a joint. + if (`nodeType $j` != "joint") + continue; + + //Reset joint rotations only if they aren´t locked and don´t have input connections. + string $connections[] = `listConnections -s 1 -d 0 ($j + ".rotate")`; + int $sizeConnections = `size $connections`; + if ((`getAttr -l ($j + ".rotate")`) || ($sizeConnections)) + continue; + $connections = `listConnections -s 1 -d 0 ($j + ".rx")`; + $sizeConnections = `size $connections`; + + if (! `getAttr -l ($j + ".rx")`) + { + if (! $sizeConnections) + { + if ($x) + setAttr ($j + ".rx") 0; + } + } + $connections = `listConnections -s 1 -d 0 ($j + ".ry")`; + $sizeConnections = `size $connections`; + if (! `getAttr -l ($j + ".ry")`) + { + if (! $sizeConnections) + { + if ($y) + setAttr ($j + ".ry") 0; + } + } + $connections = `listConnections -s 1 -d 0 ($j + ".rz")`; + $sizeConnections = `size $connections`; + if (! `getAttr -l ($j + ".rz")`) + { + if (! $sizeConnections) + { + if ($z) + setAttr ($j + ".rz") 0; + } + } + } +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//Sets keyframe on highlighted joints´ rotations. +global proc ST_JointRotKey ( string $function ){ +// Query Selected Joints +string $JNTtoKey[]=`textScrollList -q -si skinningTools_InfluenceTSL`; + +//Quit the proc if nothing is highlighted. +if (! size($JNTtoKey)) + { + print "No joints highlighted in list.\n"; + return; + } + +if ($function == "SetKey") + { + // Set Key + for ($joint in $JNTtoKey) + setKeyframe ($joint + ".rotate"); + + // Print confirmation message + print "Set rotational keyframes for highlighted influences.\n"; + } +else + { + for ( $joint in $JNTtoKey) + { + // Cut all Keys + cutKey -attribute rotate $joint; + // Reset Slider + //SkinnyRotJNT 1; + } + + // Print confirmation message + print "All keyframes were deleted from highlighed joints.\n"; + } +}//End of ST_JointRotKey proc. + +//*************************************************************************************************** +//*************************************************************************************************** + +//Set opacity/display slider values, as well as the artAttrCtx values, based on optionVar. +global proc ST_SetOpacityValueSliders() +{ +float $ST_PSW_Opacity = `optionVar -q ST_PSW_Opacity`; +float $ST_PSW_Value = `optionVar -q ST_PSW_Value`; +if ($ST_PSW_Opacity > 0) + { + //print ($ST_PSW_Opacity + "\n"); + floatSliderGrp -e -v $ST_PSW_Opacity ST_PW_PT_OpacSlider; + artAttrCtx -e -opacity $ST_PSW_Opacity `currentCtx`; + } +else + { + floatSliderGrp -e -v 1.0 ST_PW_PT_OpacSlider; + artAttrCtx -e -opacity 1.0 `currentCtx`; + } + +if ($ST_PSW_Value > 0) + { + //print ($ST_PSW_Value + "\n"); + floatSliderGrp -e -v $ST_PSW_Value ST_PW_PT_ValSlider; + artAttrCtx -e -value $ST_PSW_Value `currentCtx`; + } +else + { + floatSliderGrp -e -v 1.0 ST_PW_PT_ValSlider; + artAttrCtx -e -value 1.0 `currentCtx`; + } +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Executed every time user selects Component Editor/Paint Weights tab. +global proc ST_ChangeTabProc(int $tab) +{ +global string $gSelect; + + +if ($tab == 1) + { + //We need to query the Skinning Tools MODE optionVar, then set the paint weights cmd accordingly. + string $mode = `optionVar -q ST_Mode`; + + if ($mode == "SkinCluster") + { + //If no skinCluster exists, exit proc. + string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; + string $geometry[]; + if (`objExists $skinCluster`) + $geometry = `skinCluster -q -g $skinCluster`; + //If no skinCluster exists, exit proc. + else + return; + + + //Make sure we´re in object mode and have the object selected, before entering Artisan context. + changeSelectMode -object; + if (`objExists $geometry[0]`) + select -r $geometry[0]; + + //Turn on smooth shaded for active geometry. + string $panel = `getPanel -wf`; + if ("modelPanel" == `getPanel -to $panel`) + modelEditor -edit -displayAppearance smoothShaded -activeOnly true $panel; + + ArtPaintSkinWeightsTool; + ST_PaintWeightsFunction paint; + //ST_SetOpacityValueSliders; + } + + if ($mode == "Cluster") + { + artAttrToolScript 4 "cluster"; + } + + if ($mode == "SculptPolygon") + { + SculptPolygonsTool; + } + } + +else if ($tab == 2) + { + setToolTo $gSelect; + changeSelectMode -component; + } +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Creates a floating UI for rotating joints. +global proc ST_TearOffJointRotate() +{ +if (`window -ex ST_TearOffJointRotateWin`) + deleteUI ST_TearOffJointRotateWin; + +window -t "Rotate Joints" ST_TearOffJointRotateWin; + +string $ST_PW_JointRotateForm = `formLayout`; + +// Rotate Sliders +string $ST_PW_XRotateFSG = `floatSliderGrp -label "X" + -cw 1 18 -cw 2 35 -adj 3 -field true -pre 1 + -minValue -90 -maxValue 90 -fieldMinValue -360 -fieldMaxValue 360 + -dc "ST_RotateJoints X 1" + -cc "ST_RotateJoints X 1" + -value 0 + ST_PW_RJ_SliderX_TearOff`; + +string $ST_PW_YRotateFSG = `floatSliderGrp -label "Y" + -cw 1 18 -cw 2 35 -adj 3 -field true -pre 1 + -minValue -90 -maxValue 90 -fieldMinValue -360 -fieldMaxValue 360 + -dc "ST_RotateJoints Y 1" + -cc "ST_RotateJoints Y 1" + -value 0 + ST_PW_RJ_SliderY_TearOff`; + +string $ST_PW_ZRotateFSG = `floatSliderGrp -label "Z" + -cw 1 18 -cw 2 35 -adj 3 -field true -pre 1 + -minValue -90 -maxValue 90 -fieldMinValue -360 -fieldMaxValue 360 + -dc "ST_RotateJoints Z 1" + -cc "ST_RotateJoints Z 1" + -value 0 + ST_PW_RJ_SliderZ_TearOff`; + +string $ST_PW_ZeroSelectedRotateBTN = `button -h 20 -l "Zero Current" -c "ST_RotateJoints_Zero current 1 1 1" ST_PW_RJ_ZeroSelectedButton_TearOff`; +string $ST_PW_ZeroAllRotateBTN = `button -h 20 -l "Zero All" -c "ST_RotateJoints_Zero all 1 1 1" ST_PW_RJ_ZeroAllButton_TearOff`; + +string $ST_PW_SetKeyBTN = `button -h 20 -bgc 0.6 0.6 1 -l "Set Key" -c ("ST_JointRotKey SetKey") ST_JointRotKey_TearOff`; +string $ST_PW_DelKeyBTN = `button -h 20 -bgc 1 0.6 0.6 -l "Del Key" -c ("ST_JointRotKey DelKey") JointRotDelKey_TearOff`; + +formLayout -e + -af $ST_PW_XRotateFSG left 0 + -af $ST_PW_XRotateFSG top 0 + -af $ST_PW_XRotateFSG right 0 + -an $ST_PW_XRotateFSG bottom + + -af $ST_PW_YRotateFSG left 0 + -ac $ST_PW_YRotateFSG top 0 $ST_PW_XRotateFSG + -af $ST_PW_YRotateFSG right 0 + -an $ST_PW_YRotateFSG bottom + + -af $ST_PW_ZRotateFSG left 0 + -ac $ST_PW_ZRotateFSG top 0 $ST_PW_YRotateFSG + -af $ST_PW_ZRotateFSG right 0 + -an $ST_PW_ZRotateFSG bottom + + -af $ST_PW_ZeroSelectedRotateBTN left 0 + -an $ST_PW_ZeroSelectedRotateBTN top + -ap $ST_PW_ZeroSelectedRotateBTN right 0 50 + -ac $ST_PW_ZeroSelectedRotateBTN bottom 0 $ST_PW_SetKeyBTN + + -ac $ST_PW_ZeroAllRotateBTN left 0 $ST_PW_ZeroSelectedRotateBTN + -an $ST_PW_ZeroAllRotateBTN top + -af $ST_PW_ZeroAllRotateBTN right 3 + -ac $ST_PW_ZeroAllRotateBTN bottom 0 $ST_PW_DelKeyBTN + + -af $ST_PW_SetKeyBTN left 0 + -an $ST_PW_SetKeyBTN top + -ap $ST_PW_SetKeyBTN right 0 50 + -af $ST_PW_SetKeyBTN bottom 3 + + -ac $ST_PW_DelKeyBTN left 0 $ST_PW_SetKeyBTN + -an $ST_PW_DelKeyBTN top + -af $ST_PW_DelKeyBTN right 3 + -af $ST_PW_DelKeyBTN bottom 3 + $ST_PW_JointRotateForm; + +showWindow ST_TearOffJointRotateWin; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Selects affected points of highlights influences in TSL. +global proc ST_SelectAffectedPoints(string $skinCluster) +{ +if (! `objExists $skinCluster`) + { + warning "Given skinCluster node is incorrect. Try again."; + return; + } + + +//Get highlighted influences from list. +string $influences[] = `textScrollList -q -si skinningTools_InfluenceTSL`; +if (! `size $influences`) + return; + +//Get all points affected by skinCluster, expand and filter. +string $skinClusterSet[] = `listConnections -type objectSet $skinCluster`; +string $components[] = `sets -q $skinClusterSet[0]`; +$components = `filterExpand -sm 36 -sm 28 -sm 31 -sm 46 $components`; + +//Declare and start mainProgressBar +global string $gMainProgressBar; +progressBar -edit + -beginProgress + -isInterruptable true + -status "Finding skinCluster points..." + -maxValue (`size $components` * `size $influences`) + $gMainProgressBar; + +//Now select the points, if they are affected by the influence. +string $affectedPoints[]; +for ($i in $influences) + { + $i = `ST_RemoveHoldFromInfluenceName $i`; + for ($c in $components) + { + $infValue = `skinPercent -t $i -q -v $skinCluster $c`; + if ($infValue > 0.0) + $affectedPoints[`size $affectedPoints`] = $c; + + //Now update the progressBar. + if(`progressBar -query -isCancelled $gMainProgressBar`) + break; + + if (`progressBar -q -isCancelled $gMainProgressBar`) + progressBar -edit -endProgress $gMainProgressBar; + + progressBar -edit -step 1 $gMainProgressBar; + } + } + +progressBar -edit -endProgress $gMainProgressBar; + +//print $affectedPoints; +select -r $affectedPoints; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Reveal selected influence in the influence list. +global proc ST_RevealSelected(string $influences[], string $skinCluster) +{ +if (! `size $influences`) + { + warning "No influences selected. Try again."; + return; + } +//First report warning if selected influence is not attached to skinCluster. +string $allInfluences[] = `skinCluster -q -inf $skinCluster`; +string $badInfluences[] = {}; +for ($selected in $influences) + { + int $n = 0; + for ($inf in $allInfluences) + { + if ($inf == $selected) + $n = 1; + } + if (! $n) + { + warning ($selected + " is not an influence of " + $skinCluster + "."); + $badInfluences[`size $badInfluences`] = $selected; + } + } +if (`size $badInfluences` == `size $influences`) + return; + + +//Now, deselect everything in list. +textScrollList -e -da skinningTools_InfluenceTSL; + +string $allItems[] = `textScrollList -q -ai skinningTools_InfluenceTSL`; +for ($item in $allItems) + { + //tokenize the list item, in order to remove the "(Hold)" string. + string $buffer[]; + tokenize $item $buffer; + for ($inf in $influences) + { + if ($buffer[0] == $inf) + { + textScrollList -e -si $item skinningTools_InfluenceTSL; + //hilite $buffer[0]; + } + } + } + +//Now scroll to first selected item. +int $index[] = `textScrollList -q -sii skinningTools_InfluenceTSL`; +if (`size $index`) + textScrollList -e -shi $index[0] skinningTools_InfluenceTSL; +else + print ""; +} + +//*************************************************************************************************** +//*************************************************************************************************** + + +// Procedure Name: roundoff +// Author: Duncan Brinsmead +// Description: +// simple function to round float values to a particular decimal +// examples +// +// roundoff -1.119 2 +// Result: -1.12 +// +// roundoff 256.812 0 +// Result: 257 +// +// roundoff 128.1 -1 +// Result: 130 + +global proc float dbRoundoff( float $f, int $n ) +{ +// we divide if n < 0 to avoid numeric +// precision problems +if( $n > 0 ) + { + float $roundScale = pow(10,$n); + if( $f > 0 ) + return( ((float)(int)($f * $roundScale + 0.5)) /$roundScale ); + else + return( ((float)(int)($f * $roundScale - 0.5)) /$roundScale ); + } +else + { + float $roundScale = pow(10,-$n); + if( $f > 0 ) + return( ((float)(int)($f/$roundScale + 0.5)) *$roundScale ); + else + return( ((float)(int)($f/$roundScale - 0.5)) *$roundScale ); + + } +} + +//*************************************************************************************************** +//*************************************************************************************************** + +global proc ST_NormalizePointWeight(string $point, string $skinCluster, int $precision) +{ +//Get the normalization status +int $isNormalized = `getAttr ($skinCluster + ".normalizeWeights")`; + +//We need to turn normalization on if it isn't already. +if (! $isNormalized) + setAttr ($skinCluster + ".normalizeWeights") 1; + +//This is not 100% accurate, but will at least put the total weight value to *nearly* 1.0. +skinPercent -normalize on $skinCluster $point; + +//Turn normalization off if it twas so initially. +if (! $isNormalized) + setAttr ($skinCluster + ".normalizeWeights") 0; +} + +//*************************************************************************************************** +//*************************************************************************************************** +//Returns the total weight value of all influences affecting a given point. +global proc float ST_GetTotalPointWeight (string $point, string $skinCluster) +{ +float $totalSkinPercentValue; + +string $inf[] = `skinCluster -q -inf $skinCluster`; + +for ($i in $inf) + { + //Get the value of the influence. + float $value = `skinPercent -t $i -q $skinCluster $point`; + + if ($value > 0) + { + //Add that to the total value. + $totalSkinPercentValue += $value; + } + } + +return $totalSkinPercentValue; +} +//*************************************************************************************************** +//*************************************************************************************************** +//Returns an array of all influences affecting the point (weight values greater than zero). +global proc string[] ST_GetNonZeroInfluences(string $point, string $skinCluster) +{ +string $inf[] = `skinCluster -q -inf $skinCluster`; +string $nonZeroInfluences[]; +for ($i in $inf) + { + //Get the value of the influence. + float $value = `skinPercent -t $i -q $skinCluster $point`; + + if ($value > 0.0) + { + //Add influence to the array of affecting influences. + $nonZeroInfluences[`size $nonZeroInfluences`] = $i; + } + } + +return $nonZeroInfluences; +} +//*************************************************************************************************** +//*************************************************************************************************** +//Returns an array of all influences affecting the selected points (weight values greater than zero). +//Note: This proc is used only for the menuItem "Create Set from Selected Points" +global proc string[] ST_GetNonZeroInfluencesMultiplePoints() +{ +string $points[] = `ls -sl -fl`; +if (! `size $points`) + error "Nothing selected. Try again."; + +string $obj[] = `ls -sl -o`; +if ($obj[0] == $points[0]) + error "No points selected. Try again."; + +string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; +string $affectedGeo[] = `skinCluster -q -g $skinCluster`; +if ($obj[0] != $affectedGeo[0]) + error ("Object " + $obj[0] + " is not deformed by " + $skinCluster + ". Try again."); +string $inf[] = `skinCluster -q -inf $skinCluster`; +string $nonZeroInfluences[]; +for ($p in $points) + { + for ($i in $inf) + { + //Get the value of the influence. + float $value = `skinPercent -t $i -q $skinCluster $p`; + + if ($value > 0.0) + { + //Add influence to the array of affecting influences. + $nonZeroInfluences[`size $nonZeroInfluences`] = $i; + } + } + } +return $nonZeroInfluences; +} +//*************************************************************************************************** +//*************************************************************************************************** + +//Returns an array of all influence values affecting the point (weight values greater than zero). +global proc float[] ST_GetNonZeroValues(string $point, string $skinCluster) +{ +string $inf[] = `skinCluster -q -inf $skinCluster`; +float $nonZeroValues[]; +for ($i in $inf) + { + //Get the value of the influence. + float $value = `skinPercent -t $i -q $skinCluster $point`; + + if ($value > 0.0) + { + //Add influence to the array of affecting influences. + $nonZeroValues[`size $nonZeroValues`] = $value; + } + } + +return $nonZeroValues; +} +//*************************************************************************************************** +//*************************************************************************************************** +//Deals with non-normalized points; Either prints them or normalizes. +global proc ST_TreatNonNormalizedPoints(string $action) +{ +string $object[] = `ls -sl -o`; +if (! `size $object`) + error "Select and object and/or some points and try again."; + +string $skinCluster = `findRelatedSkinCluster $object[0]`; +if (! `size $skinCluster`) + error "Object has no skinCluster attached. Try again."; + +string $inf[] = `skinCluster -q -inf $skinCluster`; +string $points[]; +$points = `ls -sl -fl`; + +//If the object is selected, but no points are selected, assign $points to all obj's points. +if ($points[0] == $object[0]) + { + string $shape[] = `listRelatives -s -ni $object[0]`; + if (! `size $shape`) + error "Selected object has no shape. Try again."; + if (`size $shape` > 1) + error "Selected object has multiple shapes. This is not currently supported."; + + string $nodeType = `nodeType $shape[0]`; + if ($nodeType == "nurbsSurface") + $points = `ls -fl ($object[0] + ".cv[*][*]")`; + if ($nodeType == "mesh") + $points = `ls -fl ($object[0] + ".vtx[*][*]")`; + if ($nodeType == "nurbsCurve") + $points = `ls -fl ($object[0] + ".cv[*]")`; + if ($nodeType == "subdiv") + $points = `ls -fl ($object[0] + ".smp[*][*]")`; + if ($nodeType == "lattice") + { + //work around that nasty lattice bug. + int $sDivisions = `getAttr ($object[0] + ".sDivisions")`; + int $tDivisions = `getAttr ($object[0] + ".tDivisions")`; + int $uDivisions = `getAttr ($object[0] + ".uDivisions")`; + $points = `ls -fl ($object[0] + ".pt[0:($sDivisions - 1)][0:($tDivisions - 1)][0:($uDivisions - 1)]")`; + } + } + +//Let's first establish a precision for which we will round off later +int $precision; +if ($action == "normalize") + { + string $result = `promptDialog + -title "Roundoff precision:" + -message "Roundoff Precision:" + -text "2" + -button "OK" -button "Cancel" + -defaultButton "OK" -cancelButton "Cancel" + -dismissString "Cancel"`; + + if ($result == "OK") + { + string $text = `promptDialog -query -text`; + $precision = $text; + } + else + { + print "Action cancelled.\n"; + return; + } + } + +//Use Maya's progressBar. +global string $gMainProgressBar; +progressBar -edit + -beginProgress + -isInterruptable true + -status "Finding select point weight values ..." + -maxValue `size $points` + $gMainProgressBar; + +float $totalSkinPercentValue; +string $badPointArray[] = {}; +float $badPointValue[] = {}; +//Loop through all the points. +for ($p in $points) + { + $totalSkinPercentValue = 0; //Reset $totalSkinPercentValue for each iteration. + string $nonZeroInfluences[]; + float $nonZeroValues[]; + for ($i in $inf) + { + //Get the value of the influence. + float $value = `skinPercent -t $i -q $skinCluster $p`; + + if ($value > 0.0) + { + //Add influence to the array of affecting influences. + //$nonZeroInfluences[`size $nonZeroInfluences`] = $i; + //Add value to nonZeroValue array, so that we can normalize in next step. + //$nonZeroValues[`size $nonZeroValue`] = $value; + + //Find the combined total value. + $totalSkinPercentValue += $value; + } + } + + //Perform normalization if desired. + if ($totalSkinPercentValue != 1.0) + { + //Add the point to the array if the total weight value exceeds 1.0. + //Add the value to the value array. + $badPointArray[`size $badPointArray`] = $p; + $badPointValue[`size $badPointValue`] = $totalSkinPercentValue; + + if ($action == "normalize") + { + //First, normalize the point weight (this should bring the values down a *near* 1 total). + ST_NormalizePointWeight $p $skinCluster $precision; + + //Now return all affecting influences. + $nonZeroInfluences = `ST_GetNonZeroInfluences $p $skinCluster`; + $nonZeroValues = `ST_GetNonZeroValues $p $skinCluster`; + + for ($n = 0; $n < `size $nonZeroInfluences`; $n++) + { + //if (`ST_GetTotalPointWeight $p $skinCluster` == 1) + // continue; + + //Zero the weight first. + skinPercent -tv $nonZeroInfluences[$n] 0.0 -normalize off $skinCluster $p; + + //Roundoff the value. + $nonZeroValues[$n] = `dbRoundoff $nonZeroValues[$n] $precision`; + //Now, here's where everything gets fucked up again. Maya converts my rounded number + //to a floating point number - not in every case, but in many cases. + skinPercent -normalize 0 -tv $nonZeroInfluences[$n] $nonZeroValues[$n] $skinCluster $p; + } + } + } + + //Update progressBar + if(`progressBar -query -isCancelled $gMainProgressBar`) + break; + progressBar -edit -step 1 $gMainProgressBar; + } + +progressBar -edit + -endProgress + $gMainProgressBar; + +//Print it! +if ($action == "print bad") + { + if (`size $badPointArray`) + { + print "\n"; + print ("The following selected points have total influence weight values that does not equal 1:\n"); + for ($i = 0; $i < `size $badPointArray`; $i++) + { + print ($badPointArray[$i] + "\t -> \t"); + print ($badPointValue[$i] + "\n"); + } + } + else + print ("No selected points have total influence weight values that do not equal 1. \n"); + } + +//Finally, update the component editor. +componentEditor -e -updateMainConnection ST_CE; +}//End proc. + +//*************************************************************************************************** +//*************************************************************************************************** +//Sets the component editor's precision. +global proc ST_CEChangePrecision() +{ +int $precision; +int $originalPrecision = `optionVar -q ST_CEPrecision`; +string $result = `promptDialog + -title "Change Precision" + -message "Enter Number of Decimal Places:" + -button "OK" -button "Cancel" + -defaultButton "OK" -cancelButton "Cancel" + -dismissString "Cancel" + -text $originalPrecision`; + + + if ($result == "OK") + { + $precision = `promptDialog -query -text`; + componentEditor -e -precision $precision ST_CE; + optionVar -iv ST_CEPrecision $precision; + } +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Changes the main UI panelayout to either be horizontol or vertical. +global proc ST_ChangePaneLayout(string $mode) +{ +//Adjust the paneLayout. +paneLayout + -e + -configuration $mode + ST_MainPaneLayout; + +//Now update the config optionVar. +optionVar -sv ST_MainPaneLayoutConfig $mode; + + +//And the width/height optionVars. +int $size[] = `paneLayout -q -paneSize ST_MainPaneLayout`; + +optionVar -intValue ST_PaneLayoutWidth $size[0]; +optionVar -intValue ST_PaneLayoutHeight $size[1]; +} + +//*************************************************************************************************** +//*************************************************************************************************** + +//This is just a wrapper for dwSaveClusters. Reports a warning if the dwSaveClusters tool (proc) is not found. +global proc ST_SaveClustersTool() +{ +//First, find out what platform we're working on. +string $platform = `about -os`; + +string $saveClustersScript; +int $catch; + + +if ($platform == "linux") + { + $saveClustersScript = "dwSaveClusters_Linux"; + $catch = catchQuiet (eval ($saveClustersScript)); + } +else + { + $saveClustersScript = "dwSaveClusters"; + $catch = catchQuiet (eval ($saveClustersScript)); + } + +if ($catch) + { + warning ("Could not find " + $saveClustersScript + ".mel. Download the script from www.davidwalden.com and try again."); + return; + } +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Adds or removes given points from a highlighted cluster in the Influence List. +global proc ST_AddOrRemoveSelectedPointsFromCluster (string $operation, string $selectedCluster[], string $selectedPoints[]) +{ +for ($cluster in $selectedCluster) + { + string $clusterSet[] = `listConnections -type objectSet -s 0 -d 1 $cluster`; + if ($operation == "Add") + sets -add $clusterSet[0] $selectedPoints; + else if ($operation == "Remove") + sets -remove $clusterSet[0] $selectedPoints; + } +//Add `textScrollList -q -si skinningTools_InfluenceTSL` `ls -sl -fl` +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Change the skinningTools mode to operate either on skinClusters, clusters, or sculpt polygons tool. +global proc ST_ChangeMode(string $mode) +{ + +optionVar -sv ST_Mode $mode; + +if ($mode == "SkinCluster") + { + frameLayout -e -l "Paint Skin Weights" ST_PaintWeightsFrameLayout; + menu -e -en 1 ST_InfluenceSetsMenu; + menu -e -en 1 ST_ReorderInfluenceListMenu; + + + //If the currentCtx is set for clusters, change it for skinClusters. + if (`currentCtx` == "artAttrContext") + ArtPaintSkinWeightsTool; + + + //Update the componentEditor operationType + componentEditor -e -operationType `ST_ComponenetEditorGetOperationType "SkinCluster"` ST_CE; + + //Change the symbolButtons' commands + symbolButton -e + -c "ST_AddSelectedPointsToInfluence `textScrollList -q -si skinningTools_InfluenceTSL` `textField -q -tx skinningTools_SkinClusterTF`" + ST_AddSelectedComponentToCurrentInfluenceSYMBTN; + symbolButton -e + -c "ST_RemoveSelectedPointsFromInfluence `textScrollList -q -si skinningTools_InfluenceTSL` `textField -q -tx skinningTools_SkinClusterTF`" + ST_RemoveSelectedComponentToCurrentInfluenceSYMBTN; + + ST_ScriptJobLoad; + } + + +else if ($mode == "Cluster") + { + frameLayout -e -l "Paint Cluster Weights" ST_PaintWeightsFrameLayout; + menu -e -en 0 ST_InfluenceSetsMenu; + menu -e -en 0 ST_ReorderInfluenceListMenu; + + + //If the currentCtx is set for skinCluster, change it for clusters. + if (`currentCtx` == "artAttrSkinContext") + artAttrToolScript 4 "cluster"; + + + //Update the componentEditor operationType + componentEditor -e -operationType `ST_ComponenetEditorGetOperationType "Cluster"` ST_CE; + + //Change the symbolButtons' commands + symbolButton -e + -c "ST_AddOrRemoveSelectedPointsFromCluster Add `textScrollList -q -si skinningTools_InfluenceTSL` `ls -sl -fl`" + ST_AddSelectedComponentToCurrentInfluenceSYMBTN; + symbolButton -e + -c "ST_AddOrRemoveSelectedPointsFromCluster Remove `textScrollList -q -si skinningTools_InfluenceTSL` `ls -sl -fl`" + ST_RemoveSelectedComponentToCurrentInfluenceSYMBTN; + + ST_ScriptJobLoad; + } + + +//Currently not implemented. +//else if ($mode == "SculptPolygon") +// return; +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Returns the operationType for the component editor, based on the current Maya version and the desired editorType (SkinCluster or Cluster); +//This is called initially to set the default operationType for skinClusters. It is also called every time the user changes the UI mode. +global proc int ST_ComponenetEditorGetOperationType(string $editorType) +{ +int $operationType; + +if ($editorType == "SkinCluster") + { + //We need to query the Maya version, then specify the component editor "-operationType" based on this. + //For Maya 5, -operationType is 6. For other versions, -operationType is 4. + string $version = `about -v`; + string $versionBuffer[]; + tokenize $version "." $versionBuffer; + $version = $versionBuffer[0] + "." + $versionBuffer[1]; + float $versionFloat = $version; + if ($versionFloat == 5.0) + $operationType = 6; + else + $operationType = 4; + + return $operationType; + } + + +else if ($editorType == "Cluster") + { + //2 should work... + return 2; + } + +} + + + +//*************************************************************************************************** +//*************************************************************************************************** +//Proc sets the value slider to the picked value. Updates the UI. + +global proc ST_EndPickWeightValueScriptJob() +{ +//Query the picked value +string $ctx = `currentCtx`; +float $newValue = `artAttrCtx -q -value $ctx`; + +//Edit value slider +floatSliderGrp -e -v $newValue ST_PW_PT_ValSlider; + +//Execute cmd that stores value as optionVar. +ST_PaintWeightsFunction ValueChange; + +//Reset symbolCheckBox to off. +symbolCheckBox -e -v 0 ST_PW_EyedropSYMBTN; + +//scriptJob -kill $scriptJob; +} + + +//*************************************************************************************************** +//*************************************************************************************************** + +//Allows user to sample the current weight value, and adjust the value slider accordingly. + +global proc ST_SampleWeightValue() +{ + +//Enter value pick mode. +artAttrCtx -e -pickValue `currentCtx`; + + +//Create a scriptJob that executes when something is selected. +//This will exit pick mode and set the value slider correctly. +//int $scriptJob = `scriptJob +// -e "ToolChanged" +// ("ST_EndPickWeightValueScriptJob " + $scriptJob)`; + + +} + + + +//*************************************************************************************************** +//*************************************************************************************************** + + +//Creats main UI. +global proc skinningTools() +{ +if (`window -ex skinningToolsUI`) + deleteUI skinningToolsUI; + +window -t "skinningTools v2.0 beta - www.davidwalden.com" -wh 300 500 -menuBar 1 skinningToolsUI; + +//Query the UI optionVar - horizontal by default. +int $vertLayout = 0; +int $horizLayout = 1; +if ((`optionVar -ex ST_MainPaneLayoutConfig`) && (`optionVar -q ST_MainPaneLayoutConfig` == "vertical2")) + { + $vertLayout = 1; + $horizLayout = 0; + } + +//Assign the optionVar on startup. +optionVar -sv ST_Mode "SkinCluster"; + +menu -label "Edit" -to 0 ST_ListMenu; + radioMenuItemCollection; + menuItem -l "Skin Clusters" + -radioButton 1 + -c "ST_ChangeMode SkinCluster"; + menuItem -l "Clusters" + -radioButton 0 + -c "ST_ChangeMode Cluster"; + //Currently Sculpt Polygons Tool is not implemented. + //menuItem -l "Sculpt Polygons Tool" + // -radioButton 0 + // -c "ST_ChangeMode SculptPolygon"; + + menuItem -d 1 -p ST_ListMenu; + + menuItem -label "Auto Load Object" -c "ST_ScriptJobLoad" -cb 1 -p ST_ListMenu ST_AutoUpdateUI_MI; + menuItem -label "Load Selected Object" -c "ST_LoadSelection" -p ST_ListMenu ST_LoadSelectedObject_MI; + + menuItem -d 1 -p ST_ListMenu; + + menuItem -l "Layout" -sm 1 ST_LayoutMI; + radioMenuItemCollection; + menuItem -l "Split Horizontal" + -radioButton $horizLayout + -p ST_LayoutMI + -c "ST_ChangePaneLayout horizontal2"; + menuItem -l "Split Vertical" + -radioButton $vertLayout + -p ST_LayoutMI + -c "ST_ChangePaneLayout vertical2"; + + menuItem -d 1 -p ST_ListMenu; + + menuItem + -p ST_ListMenu + -l "Component Editor Precision..." + -c "ST_CEChangePrecision"; + + + +menu -label "List" -to 0 ST_ReorderInfluenceListMenu; + radioMenuItemCollection ST_InfOrder_RMIC; + menuItem -label "Alphabetical" -c "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`" -radioButton 0 ST_OrderAlphabetMI; + menuItem -label "Reverse Alphabetical" -c "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`" -radioButton 0 ST_OrderReverseAlphabetMI; + menuItem -d 1; + menuItem -label "Graph Order" -c "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`" -radioButton 1 ST_OrderGraphMI; + menuItem -label "Reverse Graph Order" -c "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`" -radioButton 0 ST_OrderReverseGraphMI; + menuItem -d 1; + menuItem -label "Hold" -c "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`" -radioButton 0 ST_OrderHoldMI; + menuItem -label "Reverse Hold" -c "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`" -radioButton 0 ST_OrderReverseHoldMI; + + +//Fill this with the "standard" menuItems; later we'll fill this with the current skinCluster sets. +menu -label "Influence Sets" -to 0 ST_InfluenceSetsMenu; + + +menu -label "Tools" -tearOff 1 ST_ToolsMenu; + menuItem + -l "Select Influence" + -sm 1 + -to 0 + -pmc "ST_UpdateToolsMenu"; + menuItem -l "Select Current: " ST_ToolsMenu_SelectCurrentMI; + menuItem -d 1; + menuItem -l "Select Parent: " ST_ToolsMenu_SelectParentMI; + menuItem -l "Select Child: " ST_ToolsMenu_SelectChildMI; + menuItem + -l "Hold Influence" + -p ST_ToolsMenu + -sm 1 + -to 1; + menuItem -l "Hold/Unhold Current" -c "ST_ToggleHoldInfluenceWeight `textScrollList -q -si skinningTools_InfluenceTSL`;"; + menuItem -l "Isolate Current" -c "ST_IsolateHold"; + menuItem -l "Hold All" -c "ST_HoldAllInfluences 1"; + menuItem -l "Unhold All" -c "ST_HoldAllInfluences 0"; + menuItem + -l "Select Affected Points" + -p ST_ToolsMenu + -c "ST_SelectAffectedPoints `textField -q -tx skinningTools_SkinClusterTF`"; + menuItem -d 1 -p ST_ToolsMenu; + menuItem + -l "Show Point Influences" + -postMenuCommand "ST_ShowPointInfluences" + -p ST_ToolsMenu + -sm 1 + ST_ShowPointInfluenceMI; + menuItem -p ST_ToolsMenu -l "Normalize" -sm 1 ST_NormalizeMI; + menuItem -l "Normalize points..." -c "ST_TreatNonNormalizedPoints \"normalize\""; + menuItem -l "Print non-normalized points" -c "ST_TreatNonNormalizedPoints \"print bad\""; + menuItem -d 1 -p ST_ToolsMenu; + + menuItem + -l "Utilities" + -sm 1 + -to 1 + -allowOptionBoxes 1 + -p ST_ToolsMenu + ST_UtilitiesMI; + + + menuItem + -p ST_UtilitiesMI + -l "Mirror Weights (+X to -X)" + -c "ST_WeightFunction MirrorWeight X"; + menuItem + -p ST_UtilitiesMI + -l "" + -ob 1 + -c "MirrorSkinWeightsOptions"; + menuItem + -p ST_UtilitiesMI + -l "Copy Skin Weights" + -c "CopySkinWeights"; + menuItem + -p ST_UtilitiesMI + -l "Prune Weights" + -c "ST_WeightFunction PruneWeight Prune"; + menuItem + -p ST_UtilitiesMI + -l "" + -ob 1 + -c "ST_PruneWeightsSettings"; + menuItem + -p ST_UtilitiesMI + -l "Remove Unused Influences" + -c "removeUnusedInfluences"; + + menuItem -d 1 -p ST_UtilitiesMI; + menuItem + -l "Save set selection to shelf" + -ann "Saves an influence selection command as a shelf buton." + -p ST_UtilitiesMI + -c "ST_SaveInfSelection `textScrollList -q -ai skinningTools_InfluenceTSL`;"; + + + menuItem -d 1 -p ST_ToolsMenu; + + menuItem -l "Cluster Tools" -sm 1 -p ST_ToolsMenu ST_ClusterToolsMI; + menuItem -en 0 -l "Mirror Clusters Tool..." -p ST_ClusterToolsMI -c ""; + menuItem -l "Save Clusters Tool..." -p ST_ClusterToolsMI -c "ST_SaveClustersTool"; + + menuItem -d 1 -p ST_ToolsMenu; + + menuItem + -l "Transfer Weights..." + -p ST_ToolsMenu + -ann "Transfer weight between two influences." + -sm 0 + -c "ST_TransferWeightsUI" + ST_TransferWeightsMI; + + menuItem -d 1 -p ST_ToolsMenu; + menuItem + -l "Add Influences" + -p ST_ToolsMenu + -c "ST_AddInfluences"; + menuItem + -l "Remove Influences" + -p ST_ToolsMenu + -c "ST_RemoveInfluence"; + +menu -label "Help" -tearOff 0 -helpMenu 1 ST_HelpMenu; + menuItem -l "skinningTools Help" -c "skinningToolsHelp"; + menuItem -d 1; + menuItem -l "Visit Website" -c "showHelp -absolute \"http://www.davidwalden.com\""; + + + + +string $ST_masterForm = `formLayout ST_MasterForm`; + + string $skinClusterText = `text -l "Skin Cluster: " -align left ST_SkinClusterTXT`; + string $skinClusterTF = `textField + -w 150 + -en 1 + -ann "Skin cluster node name: RMB to select skinCluster node or to select geometry." + -cc "ST_ListSmoothSkinInfluences `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`;" + skinningTools_SkinClusterTF`; + + popupMenu -p skinningTools_SkinClusterTF -b 3; + menuItem -l "Select Skin Cluster Node" -c "select -r `textField -q -tx skinningTools_SkinClusterTF`"; + menuItem -l "Select Geometry" -c "{string $skinCluster = `textField -q -tx skinningTools_SkinClusterTF`; select -r `skinCluster -q -g $skinCluster`;}"; + //menuItem -d 1; + //menuItem -l "Rename Skin Cluster Node" -c "ST_RenameSkinCluster"; + + //Create the scriptJob to load the selected object into the UI. + scriptJob + -parent "skinningToolsUI" + -replacePrevious + -event "SelectionChanged" + "ST_ScriptJobLoad"; + + + + //PANELAYOUT + //Query the paneLayout configuration optionVar - "horizontal2" by default. + string $paneLayoutConfig = "horizontal2"; + if (`optionVar -ex ST_MainPaneLayoutConfig`) + $paneLayoutConfig = `optionVar -q ST_MainPaneLayoutConfig`; + + + //PaneLayout which holds Influence List and Component Editor/Paint Weights tabs. + string $pane = `paneLayout + -configuration $paneLayoutConfig + //-paneSize 1 100 50 + //-paneSize 2 100 50 + -separatorMovedCommand "{int $size[] = `paneLayout -q -paneSize ST_MainPaneLayout`; \ + optionVar -intValue ST_PaneLayoutWidth $size[0]; \ + optionVar -intValue ST_PaneLayoutHeight $size[1];}" + ST_MainPaneLayout`; + + //Remove the old optionVar if it exists. + if (`optionVar -ex ST_PaneLayoutSize`) + optionVar -rm ST_PaneLayoutSize; + + //Now update paneSize according to optionVar. + if ((`optionVar -ex ST_PaneLayoutWidth`) && (`optionVar -ex ST_PaneLayoutWidth`)) + { + int $ST_PaneWidth = `optionVar -q ST_PaneLayoutWidth`; + int $ST_PaneHeight = `optionVar -q ST_PaneLayoutHeight`; + paneLayout -e -ps 1 $ST_PaneWidth $ST_PaneHeight ST_MainPaneLayout; + } + + + //Influence List formLayout. + string $infListForm = `formLayout "Influence List"`; + string $influenceTXT = `text + -l "Complete Set:" + -align left + -font boldLabelFont + -h 25 -w 90 + ST_SetNameTXT`; + + string $plusBTN = `symbolButton + -w 20 -h 20 + -image "setEdAddCmd.xpm" + -ann "Weight selected points entirely to highlighted influences." + -c "ST_AddSelectedPointsToInfluence `textScrollList -q -si skinningTools_InfluenceTSL` `textField -q -tx skinningTools_SkinClusterTF`" + ST_AddSelectedComponentToCurrentInfluenceSYMBTN`; + + string $minusBTN = `symbolButton + -w 20 -h 20 + -image "setEdRemoveCmd.xpm" + -ann "Remove selected points from highlighted influences." + -c "ST_RemoveSelectedPointsFromInfluence `textScrollList -q -si skinningTools_InfluenceTSL` `textField -q -tx skinningTools_SkinClusterTF`" + ST_RemoveSelectedComponentToCurrentInfluenceSYMBTN`; + + string $influenceTSL = `textScrollList + -allowMultiSelection 1 + -dcc "ST_SelectInfluences `textScrollList -q -si skinningTools_InfluenceTSL`;" + -sc "ST_HiliteObjects `optionVar -q ST_Mode`; \ + ST_PaintWeightsFunction paint;" + skinningTools_InfluenceTSL`; + + //if (`artAttrCtx -ex artAttrSkinContext`) + //if (`currentCtx` == \"artAttrContext\") ST_PaintWeightsFunction paint;" + + popupMenu -b 3 -pmc "ST_UpdatePopup `optionVar -q ST_Mode`" ST_InfluenceListPOPUP; + + setParent..; + + + + + //TabLayout for Component Editor and Paint Weights editor. + //Selecting the "Paint Weights" tab will activate the paint weights tool, set the tool to paint the highlighted influence, and set both opacity and value sliders. + string $ST_CETab = `tabLayout + -scrollable 0 + -selectCommand "ST_ChangeTabProc `tabLayout -q -sti ST_CE_PW_Tab`;" + ST_CE_PW_Tab`; + + + //Paint Weights UI. + string $ST_PW_Scroll = `scrollLayout -cr 1 "Paint Weights"`; + + string $ST_PW_ScrollForm = `formLayout ST_PW_ScrollForm`; + + string $ST_PW_PT_Frame = `frameLayout + -label "Paint Skin Weights" + -labelAlign "bottom" + -labelWidth 200 + -cll 1 + -cl 0 + -borderStyle "etchedIn" + ST_PaintWeightsFrameLayout`; + //columnLayout -adj 1 ; + string $ST_PW_PSWForm = `formLayout`; + + //Buttons-Brushs size + string $ST_PSW_BrushesRCL = `rowColumnLayout -nc 3 -cw 1 34 -cw 2 34 -cw 3 34`; + symbolCheckBox -w 30 -h 30 -onc "ST_PaintWeightsFunction gaussian" -v 1 -image "circleGaus.xpm" ST_PW_ButtonBrush1; + symbolCheckBox -w 30 -h 30 -onc "ST_PaintWeightsFunction poly" -image "circlePoly.xpm" ST_PW_ButtonBrush2; + symbolCheckBox -w 30 -h 30 -onc "ST_PaintWeightsFunction solid" -image "circleSolid.xpm" ST_PW_ButtonBrush3; + setParent..; + + // Button-Paint operations ( Replace, Add ,Scale, Smooth ) + string $ST_PSW_OperationRCL = `rowColumnLayout -nc 2 -cw 1 65 -cw 2 60`; + radioCollection ST_PR_operationRadioCollection; + radioButton -onc "ST_PaintWeightsFunction replace" -label "Replace" ST_PW_OperationReplaceRB; + radioButton -onc "ST_PaintWeightsFunction add" -label "Add" ST_PW_OperationAddRB; + radioButton -onc "ST_PaintWeightsFunction scale" -label "Scale" ST_PW_OperationScaleRB; + radioButton -onc "ST_PaintWeightsFunction smooth" -label "Smooth" ST_PW_OperationSmoothRB; + //Now select the radioButton based on the optionVar. + if (`optionVar -ex ST_PaintMode`) + radioCollection -e -sl ("ST_PW_Operation" + `optionVar -q ST_PaintMode` + "RB") ST_PR_operationRadioCollection; + else + radioCollection -e -sl ST_PW_OperationAddRB ST_PR_operationRadioCollection; + + setParent..; //Exit rowColumnLayout. + + + + + + //Opacity and Value sliders. + //Query the optionVar values. + float $ST_OpacityValue = 0; + float $ST_ValueValue = 0; + if (`optionVar -ex ST_PSW_Opacity`) + $ST_OpacityValue = `optionVar -q ST_PSW_Opacity`; + if (`optionVar -ex ST_PSW_Value`) + $ST_ValueValue = `optionVar -q ST_PSW_Value`; + + string $ST_PSW_OpacityFSG = `floatSliderGrp + -label "Opac" + -field true + -cw 1 42 -cw 2 38 + -adj 3 + -cal 1 left + -minValue 0 + -maxValue 1 + -fieldMinValue 0 + -fieldMaxValue 1 + -v $ST_OpacityValue + -cc "ST_PaintWeightsFunction OpacityChange" + -pre 2 + -s 0.05 + ST_PW_PT_OpacSlider`; + + + string $ST_PSW_ValueFSG = `floatSliderGrp + -label "Val" + -field true + -cw 1 42 -cw 2 38 + -adj 3 + -cal 1 left + -minValue 0 + -maxValue 1 + -fieldMinValue -1.00 + -fieldMaxValue 2.00 + -v $ST_ValueValue + -cc "ST_PaintWeightsFunction ValueChange" + -pre 2 + -s 0.05 + ST_PW_PT_ValSlider`; + + + string $ST_PW_EyedropBTN = `symbolCheckBox + -image "eyedropper.xpm" + -onc "ST_SampleWeightValue" + -ofc "ST_EndPickWeightValueScriptJob" + -ann "Sample weight value from a point." + -w 15 + -h 15 + ST_PW_EyedropSYMBTN`; + + + + //Button-Flood + string $ST_PSW_FloodBTN = `button + -c "ST_PaintWeightsFunction flood" + -h 20 + -l "Flood" + Operationflood`; + + string $ST_PSW_MirrorWeightsBTN = `button + -c "ST_WeightFunction MirrorWeight X; ST_ChangeTabProc `tabLayout -q -sti ST_CE_PW_Tab`;" + -h 20 + -l "Mirror (+X to -X)" + STMirrorWeightBTN`; + + popupMenu -b 3; + menuItem + -l "Mirror Skin Weights Options" + -c "MirrorSkinWeightsOptions"; + + //Geometry display options. + string $ST_PSW_DisplayFrame = `frameLayout -l "Options" -bs etchedIn -cll 1 -cl 1`; + columnLayout -adj 1; + + string $ST_PSW_MinMaxValueRCL = `rowColumnLayout -nc 3 -cw 1 90 -cw 2 40 -cw 3 40`; + + text -l "Min/Max Value:" -align left -w 110; + floatField + -pre 2 -v 0.00 -w 50 -min -1.00 -max 1.00 + -cc "artAttrCtx -e -minvalue `floatField -q -v ST_PW_PT_MinValFF` `currentCtx`; \ + floatSliderGrp -e -min `floatField -q -v ST_PW_PT_MinValFF` ST_PW_PT_ValSlider;" + ST_PW_PT_MinValFF; + floatField + -pre 2 -v 1.00 -w 50 -min -1.00 -max 2.00 + -cc "artAttrCtx -e -maxvalue `floatField -q -v ST_PW_PT_MaxValFF` `currentCtx`;\ + floatSliderGrp -e -max `floatField -q -v ST_PW_PT_MaxValFF` ST_PW_PT_ValSlider;" + ST_PW_PT_MaxValFF; + setParent..; //Exit rowColumnLayout. + + // ChackBox-Stylus pressure + string $ST_PSW_StylusCHECK = `checkBoxGrp + -onc ( "ST_PaintWeightsFunction StylusOn" ) + -ofc ( "ST_PaintWeightsFunction StylusOff" ) + -v1 1 + -cw 1 100 -cw 2 15 -columnAlign 1 left + -l "Stylus pressure" + statlusBox`; + + + frameLayout -l "Stroke" -bs etchedIn -cll 0 -la center; + columnLayout -adj 1; + + + + + checkBoxGrp + -l "Reflection" + -ncb 1 + -cw 1 100 -cw 2 50 + -on1 "artAttrCtx -e -reflection 1 artAttrSkinContext; radioButtonGrp -e -en 1 ST_PSW_ReflectionAxisRBG;" + -of1 "artAttrCtx -e -reflection 0 artAttrSkinContext; radioButtonGrp -e -en 0 ST_PSW_ReflectionAxisRBG;" + ST_PSW_ReflectionCBG; + + radioButtonGrp + -nrb 3 + -la3 "X" "Y" "Z" + -l "Reflection Axis" + -en 0 + -sl 1 + -cw 1 100 -cw 2 50 -cw 3 50 -cw 4 50 + -on1 "artAttrCtx -e -ra x `currentCtx`;" + -on2 "artAttrCtx -e -ra y `currentCtx`;" + -on3 "artAttrCtx -e -ra z `currentCtx`;" + ST_PSW_ReflectionAxisRBG; + + setParent..; + setParent..; + + frameLayout -l "Display" -bs etchedIn -cll 0 -la center; + string $ST_PSW_DisplayForm = `formLayout`; + //text -l "Display:" -font boldLabelFont -align left; + string $ST_PSW_Display_WireframeCHECK = `checkBox + -v 1 + -l "Show Wireframe" -align left + -onc "artAttrCtx -e -showactive true `currentCtx`;" + -ofc "artAttrCtx -e -showactive false `currentCtx`;" + ST_PW_PSW_ShowWireFrameCHECK`; + + string $ST_PSW_Display_ColorCHECK = `checkBox + -v 1 + -l "Color Feedback" -align left + -onc "artAttrCtx -e -colorfeedback true `currentCtx`;" + -ofc "artAttrCtx -e -colorfeedback false `currentCtx`;" + ST_PW_PSW_ColorFeedbackCHECK`; + + // Display Slider. + string $ST_PSW_Display_MaxColorFSG = `floatSliderGrp -label "Max Color" -field true + -cw 1 65 -cw 2 40 -adj 3 + -cal 1 left + -minValue 0.01 -maxValue 1 + -fieldMinValue 0.01 -fieldMaxValue 1 + -dc ( "ST_PaintWeightsFunction MaxColor" ) + -cc ( "ST_PaintWeightsFunction MaxColor" ) + -pre 2 + -s 0.05 + -value 1 + ST_PW_PT_MaxColorSlider`; + + string $ST_PSW_Display_MinColorFSG = `floatSliderGrp -label "Min Color" -field true + -cw 1 65 -cw 2 40 -adj 3 + -cal 1 left + -minValue 0.0 -maxValue 1.0 + -fieldMinValue 0.00 -fieldMaxValue 1 + -dc ( "ST_PaintWeightsFunction MinColor" ) + -cc ( "ST_PaintWeightsFunction MinColor" ) + -pre 2 + -s 0.05 + -value 0 + ST_PW_PT_MinColorSlider`; + + setParent..; //Exit "Display" formLayout. + setParent..; + setParent..; + setParent..; //Exit "Options" frameLayout. + + setParent..; //Exit "Paint Skin Weights" columnLayout; + + setParent..; //Exit "Paint Skin Weights" frameLayout; + + //Joint Rotate frameLayout. + string $ST_PW_JointRotate_Frame = `frameLayout -label "Rotate Joints" + -labelAlign "bottom" + -cll 1 + -cl 1 + -borderStyle "etchedIn" + ST_JointRotateFrame`; + + string $ST_PW_JointRotateTearOffPopup = `popupMenu -p $ST_PW_JointRotate_Frame -b 3`; + menuItem -l "Tear Off" -c "ST_TearOffJointRotate"; + + string $ST_PW_JointRotateForm = `formLayout`; + + // Rotate Sliders + string $ST_PW_XRotateFSG = `floatSliderGrp -label "X" + -cw 1 22 -cw 2 40 -adj 3 -field true -pre 1 + -minValue -90 -maxValue 90 -fieldMinValue -360 -fieldMaxValue 360 + -dc "ST_RotateJoints X 0" + -cc "ST_RotateJoints X 0" + -value 0 + ST_PW_RJ_SliderX`; + + string $ST_PW_YRotateFSG = `floatSliderGrp -label "Y" + -cw 1 22 -cw 2 40 -adj 3 -field true -pre 1 + -minValue -90 -maxValue 90 -fieldMinValue -360 -fieldMaxValue 360 + -dc "ST_RotateJoints Y 0" + -cc "ST_RotateJoints Y 0" + -value 0 + ST_PW_RJ_SliderY`; + + string $ST_PW_ZRotateFSG = `floatSliderGrp -label "Z" + -cw 1 22 -cw 2 40 -adj 3 -field true -pre 1 + -minValue -90 -maxValue 90 -fieldMinValue -360 -fieldMaxValue 360 + -dc "ST_RotateJoints Z 0" + -cc "ST_RotateJoints Z 0" + -value 0 + ST_PW_RJ_SliderZ`; + + // Reset Rotation Button + string $ST_PW_ZeroSelectedRotateBTN = `button -h 17 -l "Zero Current" -c "ST_RotateJoints_Zero current 1 1 1" ST_PW_RJ_ZeroSelectedButton`; + string $ST_PW_ZeroAllRotateBTN = `button -h 17 -l "Zero All" -c "ST_RotateJoints_Zero all 1 1 1" ST_PW_RJ_ZeroAllButton`; + + string $ST_PW_SetKeyBTN = `button -h 17 -bgc 0.6 0.6 1 -l "Set Key" -c ("ST_JointRotKey SetKey") ST_JointRotKey`; + string $ST_PW_DelKeyBTN = `button -h 17 -bgc 1 0.6 0.6 -l "Del Key" -c ("ST_JointRotKey DelKey") JointRotDelKey`; + + setParent..; //Exit formLayout; + + setParent..; //Exit frameLayout; + + + + setParent..; //Exit inner formLayout + + //setParent..; //Exit columnLayout. + + setParent..; //Exit scrollLayout. + + + + + + + + //Formlayout for component editor. + string $ST_CEForm = `formLayout "Component Editor"`; + + popupMenu -b 3; + menuItem + -l "Component Editor Precision" + -c "ST_CEChangePrecision"; + + string $ST_CE_UpdateCHECK = `checkBox + -l "Auto Update" + -v 0 + -onc "componentEditor -e -lockInput 0 ST_CE; button -e -en 0 ST_CE_UpdateButton;" + -ofc "componentEditor -e -lockInput 1 ST_CE; button -e -en 1 ST_CE_UpdateButton;"`; + + if (`selectionConnection -q -ex ST_SelectionConnection`) + deleteUI ST_SelectionConnection; + string $selConnect = `selectionConnection -activeList ST_SelectionConnection`; + + string $ST_CE_UpdateButton = `button -l "Update" -en 1 -h 18 -w 75 + -c "componentEditor -e -lockInput 0 ST_CE; \ + componentEditor -e -updateMainConnection ST_CE; \ + componentEditor -e -lockInput 1 ST_CE;" + ST_CE_UpdateButton`; + + + //We need to query the Maya version, then specify the component editor "-operationType" based on this. + //For Maya 5, -operationType is 6. For other versions, -operationType is 4. + int $operationType = `ST_ComponenetEditorGetOperationType "SkinCluster"`; + + //Now build component editor. + string $editor = `componentEditor + -mainListConnection $selConnect + -operationType $operationType + -lockInput 1 + -hidePathName 1 + -hideZeroColumns 1 + ST_CE`; + + //Update the precision of the component editor. + int $CEPrecision; + if (`optionVar -ex ST_CEPrecision`) + { + $CEPrecision = `optionVar -q ST_CEPrecision`; + componentEditor -e -precision $CEPrecision ST_CE; + } + string $floatField = `floatField -w 40 -precision 3 ST_CE_FF`; + string $floatSliderMinField = `floatField -precision 2 -en 1 -v 0.0 -w 35 + -cc "floatSlider -e -min `floatField -q -v ST_CE_minFF` ST_CE_FS" + ST_CE_minFF`; + string $floatSliderMaxField = `floatField + -precision 2 -en 1 -v 1.0 -w 35 + -cc "floatSlider -e -max `floatField -q -v ST_CE_maxFF` ST_CE_FS" + ST_CE_maxFF`; + string $floatSlider = `floatSlider -min 0.0 -max 1.0 ST_CE_FS`; + componentEditor -e -floatSlider $floatSlider -floatField $floatField ST_CE; + + setParent..; //Exit Component Editor formLayout. + + + setParent..; //Exit Paint Weights tabLayout. + + setParent..; //Exit main paneLayout. + + + + + + + //frameLayout (in main UI) for SetWeights. + string $ST_setWeightsFrame = `frameLayout + //These flags seem to be necessary on Linux OS. + //-cc "frameLayout -e -h 20 ST_SetWeightsFrame;" + //-ec "frameLayout -e -h 90 ST_SetWeightsFrame;" + -cll 1 -cl 1 + -l "Set Weights:" + -la "bottom" -bs "etchedIn" + ST_SetWeightsFrame`; + //FormLayout for Set Weights. + string $setWeightsForm = `formLayout "Set Weights Form"`; + string $ST_SWForm_RBG = `radioButtonGrp + -cw2 80 80 -nrb 2 -la2 "Absolute" "Relative" -sl 1 + -on1 "floatField -e -en 1 ST_SetWeightsAbsoluteFF; floatSlider -e -en 0 ST_SetWeightsPercentFS; \ + checkBox -e -en 0 ST_Form_InteractiveCHECK;" + -on2 "floatField -e -en 0 ST_SetWeightsAbsoluteFF; floatSlider -e -en 1 ST_SetWeightsPercentFS; \ + checkBox -e -en 1 ST_Form_InteractiveCHECK;" + -ann "Edit skin weights either by absolute value or relative mode." + ST_SetWeightsModeRBG`; + + string $ST_SWForm_InteractiveCHECK = `checkBox + -w 140 + -l "Slider Interactive" + -en 0 + -onc "ST_SetWeights_SliderInteractive 1" + -ofc "ST_SetWeights_SliderInteractive 0" + -ann "Makes relative slider interactive." + ST_Form_InteractiveCHECK`; + + string $ST_SWForm_AbsFF = `floatField + -en 1 -min 0.0 -max 1.0 -v 0.0 -pre 3 + -cc "ST_SetWeights `radioButtonGrp -q -sl ST_SetWeightsModeRBG` `floatField -q -v ST_SetWeightsAbsoluteFF`" + -dc "ST_SetWeights `radioButtonGrp -q -sl ST_SetWeightsModeRBG` `floatField -q -v ST_SetWeightsAbsoluteFF`" + -ann "Insert an absolute value for selected points´ skin weights." + ST_SetWeightsAbsoluteFF`; + + string $ST_SWForm_PercentFS = `floatSlider + -h 5 -min -1.0 -max 1.0 -v 0.0 -en 0 + -cc "ST_SetWeights `radioButtonGrp -q -sl ST_SetWeightsModeRBG` `floatSlider -q -v ST_SetWeightsPercentFS`; \ + floatField -e -v `floatSlider -q -v ST_SetWeightsPercentFS` ST_SetWeightsPercentFF;" + -ann "Adjust point weights in relative mode." + ST_SetWeightsPercentFS`; + string $ST_SWForm_PercentFF = `floatField + -w 45 -en 0 -pre 2 -min -1.0 -max 1.0 -v 0.0 + -ann "Shows current relative value." + ST_SetWeightsPercentFF`; + + string $normalizeRCL = `rowColumnLayout -nc 1 -cw 1 130`; + checkBox + -l "Normalize Weights" + -v 1 + -onc "ST_ToggleNormalize 1" + -ofc "ST_ToggleNormalize 0" + -ann "Toggle normalize weights on-off for current skinCluster node." + ST_NormalizeCHECK; + + setParent..; //Exit rowColumnLayout. + + setParent..; //Exit Set Weights formLayout. + + setParent..; //Exit Set Weights frameLayout. + + setParent..; + + //Create the popupMenu. + //popupMenu -p ST_ShowPointIntBTN -b 1 -pmc "ST_ShowPointInfluences" ST_ShowPointInfPOPUP; + + string $copyWeightsBTN = `button + -l "Copy Weights" + -ann "Copy weight information from selected points." + -c "ST_CopyWeights `textField -q -tx skinningTools_SkinClusterTF`"`; + + string $pasteWeightsBTN = `button + -l "Paste Weights" + -ann "Paste weight information onto selected points." + -c "ST_PasteWeights"`; + + string $closeST_BTN = `button -l "Close" + -h 20 + -ann "Close SkinningTools Window" + -c "deleteUI skinningToolsUI"`; + + + + + + +// Edit "Paint Weights" inner form (consists of the 3 inner frameLayouts). +formLayout -edit + -af $ST_PW_PT_Frame left 3 + -af $ST_PW_PT_Frame top 3 + -af $ST_PW_PT_Frame right 3 + -an $ST_PW_PT_Frame bottom + + -af $ST_PW_JointRotate_Frame left 3 + -ac $ST_PW_JointRotate_Frame top 1 $ST_PW_PT_Frame + -af $ST_PW_JointRotate_Frame right 3 + -an $ST_PW_JointRotate_Frame bottom + + $ST_PW_ScrollForm;//END edit of Paint Weights inner formLayout + + +//Edit "Display" formLayout in "Paint Skin Weights" section. +formLayout -e + + + -af $ST_PSW_Display_WireframeCHECK left 0 + -af $ST_PSW_Display_WireframeCHECK top 5 + -an $ST_PSW_Display_WireframeCHECK right + -an $ST_PSW_Display_WireframeCHECK bottom + + -af $ST_PSW_Display_ColorCHECK left 0 + -ac $ST_PSW_Display_ColorCHECK top 0 $ST_PSW_Display_WireframeCHECK + -an $ST_PSW_Display_ColorCHECK right + -an $ST_PSW_Display_ColorCHECK bottom + + -af $ST_PSW_Display_MaxColorFSG left 0 + -ac $ST_PSW_Display_MaxColorFSG top 0 $ST_PSW_Display_ColorCHECK + -af $ST_PSW_Display_MaxColorFSG right 0 + -an $ST_PSW_Display_MaxColorFSG bottom + + -af $ST_PSW_Display_MinColorFSG left 0 + -ac $ST_PSW_Display_MinColorFSG top 0 $ST_PSW_Display_MaxColorFSG + -af $ST_PSW_Display_MinColorFSG right 0 + -an $ST_PSW_Display_MinColorFSG bottom + $ST_PSW_DisplayForm; + + +//Edit "Paint Skin Weights" Form. +formLayout -e + -af $ST_PSW_BrushesRCL left 0 + -af $ST_PSW_BrushesRCL top 5 + -an $ST_PSW_BrushesRCL right + -an $ST_PSW_BrushesRCL bottom + + -ac $ST_PSW_OperationRCL left 0 $ST_PSW_BrushesRCL + -af $ST_PSW_OperationRCL top 5 + -af $ST_PSW_OperationRCL right 0 + -an $ST_PSW_OperationRCL bottom + + -af $ST_PSW_OpacityFSG left 0 + -ac $ST_PSW_OpacityFSG top 5 $ST_PSW_BrushesRCL + -af $ST_PSW_OpacityFSG right 0 + -an $ST_PSW_OpacityFSG bottom + + -af $ST_PSW_ValueFSG left 0 + -ac $ST_PSW_ValueFSG top 0 $ST_PSW_OpacityFSG + -ac $ST_PSW_ValueFSG right 0 $ST_PW_EyedropBTN + -an $ST_PSW_ValueFSG bottom + + -an $ST_PW_EyedropBTN left + -ac $ST_PW_EyedropBTN top 0 $ST_PSW_OpacityFSG + -af $ST_PW_EyedropBTN right 0 + -an $ST_PW_EyedropBTN bottom + + -af $ST_PSW_FloodBTN left 0 + -ac $ST_PSW_FloodBTN top 3 $ST_PSW_ValueFSG + -ap $ST_PSW_FloodBTN right 0 50 + -an $ST_PSW_FloodBTN bottom + + -ac $ST_PSW_MirrorWeightsBTN left 0 $ST_PSW_FloodBTN + -ac $ST_PSW_MirrorWeightsBTN top 3 $ST_PSW_ValueFSG + -af $ST_PSW_MirrorWeightsBTN right 0 + -an $ST_PSW_MirrorWeightsBTN bottom + + -af $ST_PSW_DisplayFrame left 0 + -ac $ST_PSW_DisplayFrame top 5 $ST_PSW_FloodBTN + -af $ST_PSW_DisplayFrame right 0 + -af $ST_PSW_DisplayFrame bottom 0 + $ST_PW_PSWForm; + +//Edit "Rotate Joint" formLayout. +formLayout -e + -af $ST_PW_XRotateFSG left 0 + -af $ST_PW_XRotateFSG top 0 + -af $ST_PW_XRotateFSG right 0 + -an $ST_PW_XRotateFSG bottom + + -af $ST_PW_YRotateFSG left 0 + -ac $ST_PW_YRotateFSG top 0 $ST_PW_XRotateFSG + -af $ST_PW_YRotateFSG right 0 + -an $ST_PW_YRotateFSG bottom + + -af $ST_PW_ZRotateFSG left 0 + -ac $ST_PW_ZRotateFSG top 0 $ST_PW_YRotateFSG + -af $ST_PW_ZRotateFSG right 0 + -an $ST_PW_ZRotateFSG bottom + + -af $ST_PW_ZeroSelectedRotateBTN left 0 + -ac $ST_PW_ZeroSelectedRotateBTN top 0 $ST_PW_ZRotateFSG + -ap $ST_PW_ZeroSelectedRotateBTN right 0 50 + -an $ST_PW_ZeroSelectedRotateBTN bottom + + -ac $ST_PW_ZeroAllRotateBTN left 0 $ST_PW_ZeroSelectedRotateBTN + -ac $ST_PW_ZeroAllRotateBTN top 0 $ST_PW_ZRotateFSG + -af $ST_PW_ZeroAllRotateBTN right 0 + -an $ST_PW_ZeroAllRotateBTN bottom + + -af $ST_PW_SetKeyBTN left 0 + -ac $ST_PW_SetKeyBTN top 0 $ST_PW_ZeroSelectedRotateBTN + -ap $ST_PW_SetKeyBTN right 0 50 + -af $ST_PW_SetKeyBTN bottom 0 + + -ac $ST_PW_DelKeyBTN left 0 $ST_PW_SetKeyBTN + -ac $ST_PW_DelKeyBTN top 0 $ST_PW_ZeroAllRotateBTN + -af $ST_PW_DelKeyBTN right 0 + -af $ST_PW_DelKeyBTN bottom 0 + $ST_PW_JointRotateForm; + + + +//Edit "Influence List" form. +formLayout -e + -af $influenceTXT left 1 + -af $influenceTXT top 0 + -ac $influenceTXT right 0 $plusBTN + -an $influenceTXT bottom + + -an $minusBTN left + -af $minusBTN top 2 + -af $minusBTN right 1 + -an $minusBTN bottom + + -an $plusBTN left + -af $plusBTN top 2 + -ac $plusBTN right 0 $minusBTN + -an $plusBTN bottom + + -af $influenceTSL left 1 + -ac $influenceTSL top 1 $plusBTN + -af $influenceTSL right 1 + -af $influenceTSL bottom 3 + $infListForm; + + +//Edit Component Editor form. +formLayout -e + -af $ST_CE_UpdateCHECK left 3 + -af $ST_CE_UpdateCHECK top 5 + -an $ST_CE_UpdateCHECK right + -an $ST_CE_UpdateCHECK bottom + + -ac $ST_CE_UpdateButton left 3 $ST_CE_UpdateCHECK + -af $ST_CE_UpdateButton top 4 + -an $ST_CE_UpdateButton right + -an $ST_CE_UpdateButton bottom + + -af $editor left 3 + -ac $editor top 5 $ST_CE_UpdateCHECK + -af $editor right 0 + -ac $editor bottom 2 $floatField + + -af $floatField left 2 + -an $floatField top + -an $floatField right + -af $floatField bottom 3 + + -ac $floatSliderMinField left 0 $floatField + -an $floatSliderMinField top + -an $floatSliderMinField right + -af $floatSliderMinField bottom 3 + + -ac $floatSlider left 0 $floatSliderMinField + -an $floatSlider top + -ac $floatSlider right 0 $floatSliderMaxField + -af $floatSlider bottom 3 + + -an $floatSliderMaxField left + -an $floatSliderMaxField top + -af $floatSliderMaxField right 2 + -af $floatSliderMaxField bottom 3 + $ST_CEForm; + + + + + +//Edit Set Weights form. +formLayout -e + -af $ST_SWForm_RBG left 0 + -af $ST_SWForm_RBG top 0 + -ac $ST_SWForm_RBG right 0 $ST_SWForm_InteractiveCHECK + -an $ST_SWForm_RBG bottom + + -an $ST_SWForm_InteractiveCHECK left + -af $ST_SWForm_InteractiveCHECK top 0 + -af $ST_SWForm_InteractiveCHECK right 0 + -an $ST_SWForm_InteractiveCHECK bottom + + -af $ST_SWForm_AbsFF left 0 + -ac $ST_SWForm_AbsFF top 0 $ST_SWForm_RBG + -an $ST_SWForm_AbsFF right + -an $ST_SWForm_AbsFF bottom + + -ac $ST_SWForm_PercentFS left 20 $ST_SWForm_AbsFF + -ac $ST_SWForm_PercentFS top 0 $ST_SWForm_RBG + -ac $ST_SWForm_PercentFS right 0 $ST_SWForm_PercentFF + -ac $ST_SWForm_PercentFS bottom 0 $normalizeRCL + + -an $ST_SWForm_PercentFF left + -ac $ST_SWForm_PercentFF top 0 $ST_SWForm_RBG + -af $ST_SWForm_PercentFF right 0 + -an $ST_SWForm_PercentFF bottom + + -af $normalizeRCL left 0 + -ac $normalizeRCL top 0 $ST_SWForm_AbsFF + -an $normalizeRCL right + -an $normalizeRCL bottom + $setWeightsForm; + + + +//Edit Master Form. +formLayout -e + -af $skinClusterText left 1 + -af $skinClusterText top 3 + -an $skinClusterText right + -an $skinClusterText bottom + + -ac $skinClusterTF left 0 $skinClusterText + -af $skinClusterTF top 3 + -af $skinClusterTF right 0 + -an $skinClusterTF bottom + + -af $pane left 1 + -ac $pane top 7 $skinClusterText + -af $pane right 2 + -ac $pane bottom 0 $ST_setWeightsFrame + + -af $ST_setWeightsFrame left 1 + -an $ST_setWeightsFrame top + -af $ST_setWeightsFrame right 2 + -ac $ST_setWeightsFrame bottom 4 $copyWeightsBTN + + -af $copyWeightsBTN left 1 + -an $copyWeightsBTN top + -ap $copyWeightsBTN right 1 50 + -ac $copyWeightsBTN bottom 2 $closeST_BTN + + -ac $pasteWeightsBTN left 1 $copyWeightsBTN + -an $pasteWeightsBTN top + -af $pasteWeightsBTN right 1 + -ac $pasteWeightsBTN bottom 2 $closeST_BTN + + -af $closeST_BTN left 1 + -an $closeST_BTN top + -af $closeST_BTN right 2 + -af $closeST_BTN bottom 3 + $ST_masterForm; + + +//Show the UI. +showWindow skinningToolsUI; + +//Create the optionVar for the AutoHold +optionVar -iv ST_AutoHoldINT 1; + +//Load Full Set on startup. +ST_SelectFullSet; +//Run script job proc. +ST_ScriptJobLoad; +//Build Influence Sets menu +ST_BuildInfluenceSetsMenu `textField -q -tx skinningTools_SkinClusterTF` `ST_GetActiveSet`; +} +//End of skinningTools.mel \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/spFaceCam.mel b/2009-x64/MiscScripts/scripts/spFaceCam.mel new file mode 100644 index 0000000..2ccc024 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/spFaceCam.mel @@ -0,0 +1,63 @@ +// From http://www.persistentvisions.com/IndexFramesetJam.htm?Tutorials_Main/mayaTips/UVtip.htm~mainFrame + +global proc spFaceCam_Work_Proc() +{ +if (`objExists faceCam`) + delete faceCam; +string $current[]=`ls -sl`; +string $object[]=`ls -hl`; +string $locator[]=`spaceLocator`; +select $current; +ConvertSelectionToVertices; +string $cluster[]=`cluster`; +pointConstraint $cluster[1] $locator[0]; +string $camera[]=`camera`; +string $camConstraint[]=`pointConstraint $locator[0] $camera[0]`; +delete $camConstraint; +parent $camera[0] $locator[0]; +select $object[0]; +select -add $locator[0]; +normalConstraint -aimVector 0 0 1 -upVector 0 1 0 -worldUpType "vector" -worldUpVector 0 1 0; +setAttr ($camera[0]+".tz") 5; +parent -w $camera[0]; +rename $camera[0] faceCam; +delete $locator; +delete $cluster; +//floatSliderGrp -e -v 5 spFaceCam_zoomSlider; +//connectControl spFaceCam_zoomSlider ("faceCam.translateZ"); +select $current; +hilite -r $object; +lookThroughModelPanel faceCam (`getPanel -wf`); +} + +global proc spFaceCam_drawUIcontrols() +{ +frameLayout -l "spFaceCam" -cll 1 -cl 0 spFaceCam_frameLayout; + formLayout spFaceCamForm; + button -l "make cam!" -c ("spFaceCam_Work_Proc()") spFaceCamButton; +// floatSliderGrp -f 1 -l "camZoom" -cat 1 "right" 0 -cw3 50 35 80 -adj 3 spFaceCam_zoomSlider; + setParent ..; +formLayout -e + -af spFaceCamButton "right" 0 + -af spFaceCamButton "left" 0 + +// -af spFaceCam_zoomSlider "right" 0 +// -af spFaceCam_zoomSlider "left" 0 +// -af spFaceCam_zoomSlider "bottom" 0 +spFaceCamForm; +} + + + +global proc spFaceCam() +{ +if (`window -ex spFaceCam`) + deleteUI -wnd spFaceCam; +window spFaceCam; +tabLayout spFaceCamTab; +spFaceCam_drawUIcontrols(); +tabLayout -e -tl spFaceCam_frameLayout "spFaceCam" spFaceCamTab; +showWindow spFaceCam; +} + +spFaceCam(); diff --git a/2009-x64/MiscScripts/scripts/sz_ReturnComponentSelectionInOrder.mel b/2009-x64/MiscScripts/scripts/sz_ReturnComponentSelectionInOrder.mel new file mode 100644 index 0000000..92f1929 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/sz_ReturnComponentSelectionInOrder.mel @@ -0,0 +1,27 @@ +global proc string [] sz_ReturnComponentSelectionInOrder () { + +string $selectionAll[] = `ls -sl`; +string $selection[]; +string $realSelection[]; +string $buffer[]; +string $lastCommand = `undoInfo -q -un`; +int $counter = 0; + +while (`match "select" $lastCommand` != "") +{ +$lastCommand = `undoInfo -q -un`; +if (`match "select" $lastCommand` != "") +{ +tokenize $lastCommand " " $buffer; +$selection [$counter] = $buffer[2]; +$counter++; +undo; +} +} +select $selectionAll; + +for ($i = 0; $i < (`size $selection`); $i++) +$realSelection [$i] = $selection[(`size $selection` - $i)-1]; + +return $realSelection; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/xpm.mel b/2009-x64/MiscScripts/scripts/xpm.mel new file mode 100644 index 0000000..287a116 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/xpm.mel @@ -0,0 +1,1695 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: xpm v1.2 +'' Author: Bryan Ewert +'' Last Updated: February 9, 2002 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=utilities#656 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +// XPM.mel v1.2 (13 Oct 2000) +// +// MEL script for Maya +// +// by Bryan Ewert +// http://www.ewertb.com +// bryan@ewertb.com + +// History: +// v1.2 (late 2001) +// - added XPM images for Maya 4.0 +// +// v1.1 (16 Feb 2001) +// - added XPM images for Maya 3.0 +// +// v1.0 (13 Oct 2000) +// - for Maya 2.5 only + +// Contains an array of all "*.xpm" images referenced by +// Maya's internal MEL scripts. Creates a window +// containing all of these images, so you can preview them +// and use them in your own scripts. Hover the mouse over +// an image to read its internal name. + +global proc xpm() +{ + string $version = `about -version`; + + string $XPM[]; + + if ( `gmatch $version "2.5*"` ) + { + $XPM = + { + "absolute.xpm", + "addBookmark.xpm", + "aimConstraint.xpm", + "air.xpm", + "align.xpm", + "alignSurface.xpm", + "ambientlight.xpm", + "animPrefsWndIcon.xpm", + "arcLengthDim.xpm", + "aselect.xpm", + "attachCurves.xpm", + "attrPaint.xpm", + "autoKeyframeOff.xpm", + "autoKeyframeOn.xpm", + "autoload.xpm", + "azimuthElevation.xpm", + "bestPlaneTxt.xpm", + "bevel.xpm", + "birail1Gen.xpm", + "birail2Gen.xpm", + "birail3Gen.xpm", + "blendShape.xpm", + "blendShapePlus.xpm", + "blendSurface.xpm", + "boundary.xpm", + "boxZoom.xpm", + "breakTangent.xpm", + "brushEditor.xpm", + "bufferSnap.xpm", + "bufferSwap.xpm", + // "CCPclear.xpm", + // "CCPcurveExact.xpm", + // "CCPkeyframesOnly.xpm", + "channelBoxFast.xpm", + "channelBoxHyperbolicOff.xpm", + "channelBoxHyperbolicOn.xpm", + "channelBoxInvisibleManips.xpm", + "channelBoxMedium.xpm", + "channelBoxNoManips.xpm", + "channelBoxSlow.xpm", + "channelBoxUnknownSpeed.xpm", + "channelBoxUseManips.xpm", + "circle.xpm", + "circleGaus.xpm", + "circlePoly.xpm", + "circleSolid.xpm", + "clipboard.xpm", + "closeGeom.xpm", + "cmdWndIcon.xpm", + "Collapse.xpm", + "collision.xpm", + "collisionEvents.xpm", + "columView.xpm", + "commandButton.xpm", + "cone.xpm", + "Connect.xpm", + "connectCollision.xpm", + "connectEmit.xpm", + "connectField.xpm", + "constraint.xpm", + "constructionHistoryOff.xpm", + "constructionHistoryOn.xpm", + "cosConstraint.xpm", + "createTubes.xpm", + "cube.xpm", + "curveAddPt.xpm", + "curveCV.xpm", + "curveEditor.xpm", + "curveEP.xpm", + "cutCurves.xpm", + "cvHardness.xpm", + "cylinder.xpm", + "detach.xpm", + "detachCurve.xpm", + "directionallight.xpm", + "directKey.xpm", + "directKeySmall.xpm", + "distanceDim.xpm", + "dolly.xpm", + "drag.xpm", + "duplicateCurve.xpm", + "editBookmark.xpm", + "emission.xpm", + "emitter.xpm", + "empty.xpm", + "extend.xpm", + "extendCos.xpm", + "extendSurface.xpm", + "extrude.xpm", + "eyeDropper.xpm", + "fillet.xpm", + "filletFreeform_S.xpm", + "filtersOff.xpm", + "filtersOn.xpm", + "fire.xpm", + "fireworks.xpm", + "fitBSpline.xpm", + "flatTangent.xpm", + "flow.xpm", + "flowSurface.xpm", + "flyThrough.xpm", + "folderView.xpm", + "frameBranch.xpm", + "frameGraph.xpm", + "frameHierarchy.xpm", + "frameSelection.xpm", + "freeformOff.xpm", + "freeformOn.xpm", + "freeTangentWeight.xpm", + "futurePulldownIcon.xpm", + "geometryConstraint.xpm", + "globalStitch.xpm", + "goal.xpm", + "gravity.xpm", + "hierOff.xpm", + "hierOn.xpm", + "historyPulldownIcon.xpm", + "hsClearView.xpm", + "hsDownStreamCon.xpm", + "hsGraphMaterial.xpm", + "hsHypershadeOpen.xpm", + "hsUpDownStreamCon.xpm", + "hsUpStreamCon.xpm", + "hsVisorOpen.xpm", + "iconName.xpm", + "iconView.xpm", + "inArrow.xpm", + "info.xpm", + "insert.xpm", + "insertKey.xpm", + "insertKeySmall.xpm", + "insertKnot.xpm", + "instancer.xpm", + "intersectCurves.xpm", + "kinConnect.xpm", + "kinDisconnect.xpm", + "kinDup.xpm", + "kinHandle.xpm", + "kinInsert.xpm", + "kinJoint.xpm", + "kinMirrorJoint_S.xpm", + "kinRemove.xpm", + "kinReroot.xpm", + "kinSingleChain.xpm", + "kinSplineHandle.xpm", + "largeIcons.xpm", + "levelOfDetail.xpm", + "levelOfDetailDelete.xpm", + "lightLinkList32x32.xpm", + "lightning.xpm", + "linearTangent.xpm", + "lineH.xpm", + "lineV.xpm", + "listView.xpm", + "locator.xpm", + "lock.xpm", + "lockTangentWeight.xpm", + "makeLive.xpm", + "makeLiveIcon.xpm", + "makePaintable.xpm", + "manipMove.xpm", + "manipRotate.xpm", + "manipScale.xpm", + "mediumIcons.xpm", + "menuIconAdd.xpm", + "menuIconAnimCurves.xpm", + "menuIconAttributeFilter.xpm", + "menuIconBodies.xpm", + "menuIconBookmarks.xpm", + "menuIconChannels.xpm", + "menuIconCharacters.xpm", + "menuIconConnect.xpm", + "menuIconConstraints.xpm", + "menuIconCopy.xpm", + "menuIconCreate.xpm", + "menuIconCurves.xpm", + "menuIconDeformations.xpm", + "menuIconDisplay.xpm", + "menuIconEdit.xpm", + "menuIconEditCurves.xpm", + "menuIconEditSurfaces.xpm", + "menuIconFields.xpm", + "menuIconFile.xpm", + "menuIconFilter.xpm", + "menuIconFilterTypes.xpm", + "menuIconFlipbooks.xpm", + "menuIconFocus.xpm", + "menuIconGraph.xpm", + "menuIconHelp.xpm", + "menuIconImage.xpm", + "menuIconImages.xpm", + "menuIconImageSettings.xpm", + "menuIconKeys.xpm", + "menuIconLeftSideFilters.xpm", + "menuIconLighting.xpm", + "menuIconList.xpm", + "menuIconListed.xpm", + "menuIconMode.xpm", + "menuIconModify.xpm", + "menuIconNamedFilters.xpm", + "menuIconObject.xpm", + "menuIconObjectFilter.xpm", + "menuIconObjectTypes.xpm", + "menuIconOptions.xpm", + "menuIconPaintEffects.xpm", + "menuIconPanels.xpm", + "menuIconParticles.xpm", + "menuIconPaths.xpm", + "menuIconPolygons.xpm", + "menuIconRender.xpm", + "menuIconRenderSettings.xpm", + "menuIconReset.xpm", + "menuIconRightSideFilters.xpm", + "menuIconSelect.xpm", + "menuIconSelected.xpm", + "menuIconSelectFilter.xpm", + "menuIconSettings.xpm", + "menuIconShading.xpm", + "menuIconShow.xpm", + "menuIconSkeletons.xpm", + "menuIconSkinning.xpm", + "menuIconSubdivSurf.xpm", + "menuIconSurfaces.xpm", + "menuIconTangents.xpm", + "menuIconView.xpm", + "menuIconWindow.xpm", + "move_M.xpm", + "moveLimits.xpm", + "narrowDown.xpm", + "navButtonBrowse.xpm", + "navButtonConnected.xpm", + "navButtonUnconnected.xpm", + "New.xpm", + "newlayer.xpm", + "newton.xpm", + "normalConstraint.xpm", + "nurbsShellIntersect.xpm", + "nurbsShellSubtract.xpm", + "nurbsShellUnion.xpm", + "nurbsToPolygons.xpm", + "offsetCos.xpm", + "offsetCurve.xpm", + "offsetSurface.xpm", + "openCloseSurface.xpm", + "orientConstraint.xpm", + "outArrow.xpm", + "outlinerView.xpm", + "paintAutoSave.xpm", + "paintEffectsTool.xpm", + "paintSetMembership.xpm", + "paintSkinWeights.xpm", + "paintVertexColour.xpm", + "paintWrapH.xpm", + "paintWrapV.xpm", + "paramDim.xpm", + "particle.xpm", + "pencil.xpm", + "pickCompByType.xpm", + "pickCurveObj.xpm", + "pickCurveObjPartial.xpm", + "pickDeformerObj.xpm", + "pickDeformerObjPartial.xpm", + "pickDynamicsObj.xpm", + "pickDynamicsObjPartial.xpm", + "pickFacetComp.xpm", + "pickFacetCompPartial.xpm", + "pickGeometryObj.xpm", + "pickGeometryObjPartial.xpm", + "pickHandlesComp.xpm", + "pickHandlesObj.xpm", + "pickHandlesObjPartial.xpm", + "pickHierarchy.xpm", + "pickHighlightList.xpm", + "pickHullComp.xpm", + "pickJointObj.xpm", + "pickLineComp.xpm", + "pickLineCompPartial.xpm", + "pickMenuIcon.xpm", + "pickObjByType.xpm", + "pickOtherComp.xpm", + "pickOtherCompPartial.xpm", + "pickOtherObj.xpm", + "pickOtherObjPartial.xpm", + "pickPivotComp.xpm", + "pickPivotCompPartial.xpm", + "pickPointComp.xpm", + "pickPointComp2.xpm", + "pickPointComp2Partial.xpm", + "pickPointCompPartial.xpm", + "pickRenderingObj.xpm", + "pickRenderingObjPartial.xpm", + "pickTemplate.xpm", + "pinPinned.xpm", + "pinUnpinned.xpm", + "planarTrim.xpm", + "plane.xpm", + "pointlight.xpm", + "pointToPoint.xpm", + "poleVectorConstraint.xpm", + "polyAppendFacet.xpm", + "polyApplyColor.xpm", + "polyAverageNormal.xpm", + "polyBestPlaneTexturing.xpm", + "polyBevel.xpm", + "polyBooleansDifference.xpm", + "polyBooleansIntersection.xpm", + "polyBooleansUnion.xpm", + "polyCheck.xpm", + "polyChipOff.xpm", + "polyCleanup.xpm", + "polyClipboard.xpm", + "polyCloseBorder.xpm", + "polyCollapseEdge.xpm", + "polyCone.xpm", + "polyConvertToEdge.xpm", + "polyConvertToFace.xpm", + "polyConvertToUVs.xpm", + "polyConvertToVertices.xpm", + "polyCreateFacet.xpm", + "polyCube.xpm", + "polyCylinder.xpm", + "polyCylProj.xpm", + "polyDelEdge.xpm", + "polyDelVertex.xpm", + "polyDuplicateFacet.xpm", + "polyExtrudeFacet.xpm", + "polyFlip.xpm", + "polyFlipEdge.xpm", + "polyFlipUV.xpm", + "polyMapCut.xpm", + "polyMapDel.xpm", + "polyMapSew.xpm", + "polyMergeEdge.xpm", + "polyMergeFacet.xpm", + "polyMergeVertex.xpm", + "polyMesh.xpm", + "polyMirror.xpm", + "polyMoveUV.xpm", + "polyMoveVertex.xpm", + "polyNormal.xpm", + "polyNormalize.xpm", + "polyNormalSet.xpm", + "polyNormalsPropagate.xpm", + "polyPlanProj.xpm", + "polyPrelight.xpm", + "polyQuad.xpm", + "polyReduction.xpm", + "polyRotateUvsAboutVertex.xpm", + "polySeparate.xpm", + "polySetToFaceNormal.xpm", + "polySewEdge.xpm", + "polySmooth.xpm", + "polySoftEdge.xpm", + "polySphere.xpm", + "polySphereProj.xpm", + "polySplitFacet.xpm", + "polySubdFacet.xpm", + "polyTorus.xpm", + "polyTriangulate.xpm", + "polyUnite.xpm", + "polyUnitize.xpm", + "posAir.xpm", + "posConstraint.xpm", + "posDrag.xpm", + "posEmitter.xpm", + "posGravity.xpm", + "posNewton.xpm", + "posRadial.xpm", + "posTurbulence.xpm", + "posUniform.xpm", + "posVortex.xpm", + "projectCurve.xpm", + "projectTangent.xpm", + "propMod.xpm", + "ptPosCrvConstraint.xpm", + "ptPosSurfConstraint.xpm", + "putty.xpm", + "puttyPoly.xpm", + "radial.xpm", + "rebuildCurve.xpm", + "rebuildSurface.xpm", + "rect.xpm", + "redrawPaintEffects.xpm", + "refreshSelectedOnly.xpm", + "relative.xpm", + "reload.xpm", + "resetTemplateBrush.xpm", + "reverse.xpm", + "reverseSurface.xpm", + "revolve.xpm", + "rigid.xpm", + "rigidPassive.xpm", + "roll.xpm", + "rotate_M.xpm", + "rotateLimits.xpm", + "roundSrf.xpm", + "rvAllPlanes.xpm", + "rvGrabSwatch.xpm", + "rvIPRRefresh.xpm", + "rvIprRender.xpm", + "rvIPRStop.xpm", + "rvKeepIt.xpm", + "rvMaskPlane.xpm", + "rvRealSize.xpm", + "rvRemoveIt.xpm", + "rvRender.xpm", + "savePaintSnapshot.xpm", + "scale_M.xpm", + "scaleConstraint.xpm", + "scaleLimits.xpm", + "scriptCtx.xpm", + "selectComp.xpm", + "selectObj.xpm", + "selectPaint.xpm", + "semiCirclePoly.xpm", + "semiCircleSolid.xpm", + "setEdAddCmd.xpm", + "setEdCollapseCmd.xpm", + "setEdEditMode.xpm", + "setEdExpandCmd.xpm", + "setEdit.xpm", + "setEdListPartMode.xpm", + "setEdListSetMode.xpm", + "setEdPaintMode.xpm", + "setEdRemoveCmd.xpm", + "setEdScrollCmd.xpm", + "setEdSelectMode.xpm", + "setEdSelectNEMode.xpm", + "setKey.xpm", + "setKeySmall.xpm", + "shadingGroupList.xpm", + "shadingGroupList32x32.xpm", + "shatter.xpm", + "showDag.xpm", + "showDepend.xpm", + "showManip.xpm", + "sketchPlane.xpm", + "skin.xpm", + "smallIcons.xpm", + "smallTrash.xpm", + "smoke.xpm", + "smoothCurve.xpm", + "snapCurve.xpm", + "snapCurveOn.xpm", + "snapGrid.xpm", + "snapGridOn.xpm", + "snapPlane.xpm", + "snapPlaneOn.xpm", + "snapPoint.xpm", + "snapPointOn.xpm", + "snapTime.xpm", + "snapValue.xpm", + "soft.xpm", + "sphere.xpm", + "splineTangent.xpm", + "spotlight.xpm", + "spring.xpm", + "square.xpm", + "squareSrf.xpm", + "srfIntersect.xpm", + "srt.xpm", + "stitchSrf.xpm", + "stitchSurfacePoints.xpm", + "strokeRefreshOff.xpm", + "strokeRefreshRendered.xpm", + "strokeRefreshWireframe.xpm", + "surfaceFillet.xpm", + "tangentConstraint.xpm", + "templateBrushSettings.xpm", + "text.xpm", + "texturePaint.xpm", + "texturePlacement.xpm", + "threePointArc.xpm", + "timeend.xpm", + "timefwd.xpm", + "timenext.xpm", + "timeplay.xpm", + "timeprev.xpm", + "timerev.xpm", + "timerew.xpm", + "timestart.xpm", + "timestop.xpm", + "torus.xpm", + "track.xpm", + "trim.xpm", + "tumble.xpm", + "turbulence.xpm", + "twoPointArc.xpm", + "twoPointToPoint.xpm", + "uniform.xpm", + "unifyTangent.xpm", + "untrim.xpm", + "userPaint.xpm", + "vacantCell.xpm", + "view.xpm", + "vortex.xpm", + "wire.xpm", + "wireDropoff.xpm", + "wrinkle.xpm", + "wtPaint.xpm", + "yawPitch.xpm" + }; + } + + if ( `gmatch $version "3.0*"` ) + { + $XPM = + { + "absolute.xpm", + "addBookmark.xpm", + "aimConstraint.xpm", + "align.xpm", + "alignCurve.xpm", + "alignSurface.xpm", + "ambientlight.xpm", + "animateSnapshot.xpm", + "animateSweep.xpm", + "animPrefsWndIcon.xpm", + "arcLengthDim.xpm", + "arealight.xpm", + "aselect.xpm", + "attachCurves.xpm", + "attrPaint.xpm", + "autoKeyframeOff.xpm", + "autoKeyframeOn.xpm", + "autoload.xpm", + "azimuthElevation.xpm", + "bakeParticles.xpm", + "bestPlaneTxt.xpm", + "bevel.xpm", + "birail1Gen.xpm", + "birail2Gen.xpm", + "birail3Gen.xpm", + "blendShape.xpm", + "blendShapePlus.xpm", + "blendSurface.xpm", + "boundary.xpm", + "boxZoom.xpm", + "breakTangent.xpm", + "brushEditor.xpm", + "bufferSnap.xpm", + "bufferSwap.xpm", + "channelBoxFast.xpm", + "channelBoxHyperbolicOff.xpm", + "channelBoxHyperbolicOn.xpm", + "channelBoxInvisibleManips.xpm", + "channelBoxMedium.xpm", + "channelBoxNoManips.xpm", + "channelBoxSlow.xpm", + "channelBoxUnknownSpeed.xpm", + "channelBoxUseManips.xpm", + "circle.xpm", + "circleGaus.xpm", + "circlePoly.xpm", + "circleSolid.xpm", + "clipboard.xpm", + "closeBar.xpm", + "closeGeom.xpm", + "cmdWndIcon.xpm", + "collision.xpm", + "collisionEvents.xpm", + "columView.xpm", + "commandButton.xpm", + "cone.xpm", + "connectCollision.xpm", + "connectEmit.xpm", + "connectField.xpm", + "constructionHistoryOff.xpm", + "constructionHistoryOn.xpm", + "createTubes.xpm", + "cube.xpm", + "curveAddPt.xpm", + "curveCV.xpm", + "curveEditor.xpm", + "curveEP.xpm", + "cutCurves.xpm", + "cvHardness.xpm", + "cylinder.xpm", + "detach.xpm", + "detachCurve.xpm", + "directionallight.xpm", + "directKey.xpm", + "directKeySmall.xpm", + "distanceDim.xpm", + "dolly.xpm", + "duplicateCurve.xpm", + "duplicateSurface.xpm", + "editBookmark.xpm", + "emission.xpm", + "emitter.xpm", + "extend.xpm", + "extendCos.xpm", + "extendSurface.xpm", + "extrude.xpm", + "eyeDropper.xpm", + "fileNew.xpm", + "fileOpen.xpm", + "fileSave.xpm", + "fillet.xpm", + "filletFreeform_S.xpm", + "filtersOff.xpm", + "filtersOn.xpm", + "fire.xpm", + "fireworks.xpm", + "fitBSpline.xpm", + "flatTangent.xpm", + "flow.xpm", + "flowSurface.xpm", + "flowSurfaceDelete.xpm", + "flyThrough.xpm", + "folderView.xpm", + "frameBranch.xpm", + "frameGraph.xpm", + "frameHierarchy.xpm", + "frameSelection.xpm", + "freeformOff.xpm", + "freeformOn.xpm", + "freeTangentWeight.xpm", + "futurePulldownIcon.xpm", + "geometryConstraint.xpm", + "globalStitch.xpm", + "goal.xpm", + "gravity.xpm", + "hierOff.xpm", + "hierOn.xpm", + "historyPulldownIcon.xpm", + "hsClearView.xpm", + "hsDownStreamCon.xpm", + "hsGraphMaterial.xpm", + "hsHypershadeOpen.xpm", + "hsRearrange.xpm", + "hsUpDownStreamCon.xpm", + "hsUpStreamCon.xpm", + "hsVisorOpen.xpm", + "iconView.xpm", + "inArrow.xpm", + "info.xpm", + "insert.xpm", + "insertKey.xpm", + "insertKeySmall.xpm", + "insertKnot.xpm", + "instancer.xpm", + "intersectCurves.xpm", + "kinConnect.xpm", + "kinDisconnect.xpm", + "kinDup.xpm", + "kinHandle.xpm", + "kinInsert.xpm", + "kinJoint.xpm", + "kinMirrorJoint_S.xpm", + "kinRemove.xpm", + "kinReroot.xpm", + "kinSingleChain.xpm", + "kinSplineHandle.xpm", + "largeIcons.xpm", + "layerMoveLeft.xpm", + "layerMoveRight.xpm", + "levelOfDetail.xpm", + "levelOfDetailDelete.xpm", + "lightLinkList32x32.xpm", + "lightning.xpm", + "linearTangent.xpm", + "lineH.xpm", + "lineV.xpm", + "listView.xpm", + "locator.xpm", + "lock.xpm", + "lockTangentWeight.xpm", + "makeLive.xpm", + "makeLiveIcon.xpm", + "makePaintable.xpm", + "manipMove.xpm", + "manipRotate.xpm", + "manipScale.xpm", + "mediumIcons.xpm", + "menuIconAdd.xpm", + "menuIconAnimCurves.xpm", + "menuIconAttributeFilter.xpm", + "menuIconBodies.xpm", + "menuIconBookmarks.xpm", + "menuIconChannels.xpm", + "menuIconCharacters.xpm", + "menuIconConnect.xpm", + "menuIconConstraints.xpm", + "menuIconCopy.xpm", + "menuIconCurves.xpm", + "menuIconDeformations.xpm", + "menuIconDisplay.xpm", + "menuIconEdit.xpm", + "menuIconEditCurves.xpm", + "menuIconEditSurfaces.xpm", + "menuIconFields.xpm", + "menuIconFile.xpm", + "menuIconFilter.xpm", + "menuIconFilterTypes.xpm", + "menuIconFlipbooks.xpm", + "menuIconFocus.xpm", + "menuIconGraph.xpm", + "menuIconHelp.xpm", + "menuIconImages.xpm", + "menuIconKeys.xpm", + "menuIconLeftSideFilters.xpm", + "menuIconLighting.xpm", + "menuIconList.xpm", + "menuIconListed.xpm", + "menuIconMode.xpm", + "menuIconModify.xpm", + "menuIconObject.xpm", + "menuIconObjectFilter.xpm", + "menuIconOptions.xpm", + "menuIconPaintEffects.xpm", + "menuIconPanels.xpm", + "menuIconParticles.xpm", + "menuIconPaths.xpm", + "menuIconPolygons.xpm", + "menuIconRender.xpm", + "menuIconRenderSettings.xpm", + "menuIconReset.xpm", + "menuIconRightSideFilters.xpm", + "menuIconSelect.xpm", + "menuIconSelected.xpm", + "menuIconSelectFilter.xpm", + "menuIconSettings.xpm", + "menuIconShading.xpm", + "menuIconShow.xpm", + "menuIconSkeletons.xpm", + "menuIconSkinning.xpm", + "menuIconSubdivSurf.xpm", + "menuIconSurfaces.xpm", + "menuIconTangents.xpm", + "menuIconView.xpm", + "menuIconWindow.xpm", + "move_M.xpm", + "moveLimits.xpm", + "moveNormal.xpm", + "narrowDown.xpm", + "navButtonBrowse.xpm", + "navButtonConnected.xpm", + "navButtonUnconnected.xpm", + "newlayer.xpm", + "newrenderlayer.xpm", + "normalConstraint.xpm", + "nurbsShellIntersect.xpm", + "nurbsShellSubtract.xpm", + "nurbsShellUnion.xpm", + "nurbsToPolygons.xpm", + "offsetCos.xpm", + "offsetCurve.xpm", + "offsetSurface.xpm", + "openBar.xpm", + "openCloseSurface.xpm", + "orientConstraint.xpm", + "outArrow.xpm", + "outlinerView.xpm", + "paintAutoSave.xpm", + "paintEffectsTool.xpm", + "paintSetMembership.xpm", + "paintSkinWeights.xpm", + "paintTextureTool.xpm", + "paintVertexColour.xpm", + "paintWrapH.xpm", + "paintWrapV.xpm", + "paramDim.xpm", + "particle.xpm", + "pencil.xpm", + "pickCompByType.xpm", + "pickCurveObj.xpm", + "pickCurveObjPartial.xpm", + "pickDeformerObj.xpm", + "pickDeformerObjPartial.xpm", + "pickDynamicsObj.xpm", + "pickDynamicsObjPartial.xpm", + "pickFacetComp.xpm", + "pickFacetCompPartial.xpm", + "pickGeometryObj.xpm", + "pickGeometryObjPartial.xpm", + "pickHandlesComp.xpm", + "pickHandlesObj.xpm", + "pickHandlesObjPartial.xpm", + "pickHierarchy.xpm", + "pickHighlightList.xpm", + "pickHullComp.xpm", + "pickJointObj.xpm", + "pickLineComp.xpm", + "pickLineCompPartial.xpm", + "pickMenuIcon.xpm", + "pickObjByType.xpm", + "pickOtherComp.xpm", + "pickOtherCompPartial.xpm", + "pickOtherObj.xpm", + "pickOtherObjPartial.xpm", + "pickPivotComp.xpm", + "pickPivotCompPartial.xpm", + "pickPointComp.xpm", + "pickPointComp2.xpm", + "pickPointComp2Partial.xpm", + "pickPointCompPartial.xpm", + "pickRenderingObj.xpm", + "pickRenderingObjPartial.xpm", + "pickTemplate.xpm", + "pinPinned.xpm", + "pinUnpinned.xpm", + "planarTrim.xpm", + "plane.xpm", + "pointlight.xpm", + "pointToPoint.xpm", + "poleVectorConstraint.xpm", + "polyAppendFacet.xpm", + "polyApplyColor.xpm", + "polyAutoProj.xpm", + "polyAverageVertex.xpm", + "polyBevel.xpm", + "polyBooleansDifference.xpm", + "polyBooleansIntersection.xpm", + "polyBooleansUnion.xpm", + "polyCheck.xpm", + "polyChipOff.xpm", + "polyCleanup.xpm", + "polyCloseBorder.xpm", + "polyCollapseEdge.xpm", + "polyCone.xpm", + "polyConvertToEdge.xpm", + "polyConvertToFace.xpm", + "polyConvertToUVs.xpm", + "polyConvertToVertices.xpm", + "polyCreateFacet.xpm", + "polyCreateUVSet.xpm", + "polyCube.xpm", + "polyCylinder.xpm", + "polyCylProj.xpm", + "polyDelEdge.xpm", + "polyDeleteUVSet.xpm", + "polyDelVertex.xpm", + "polyDuplicateFacet.xpm", + "polyExtrudeEdge.xpm", + "polyExtrudeFacet.xpm", + "polyFlipEdge.xpm", + "polyLayoutUV.xpm", + "polyMapCut.xpm", + "polyMapDel.xpm", + "polyMapSew.xpm", + "polyMapUVBorder.xpm", + "polyMergeEdge.xpm", + "polyMergeFacet.xpm", + "polyMergeVertex.xpm", + "polyMesh.xpm", + "polyMirrorGeometry.xpm", + "polyMoveSew.xpm", + "polyMoveVertex.xpm", + "polyNormal.xpm", + "polyNormalAverage.xpm", + "polyNormalSet.xpm", + "polyNormalSetToFace.xpm", + "polyPlanProj.xpm", + "polyPrelight.xpm", + "polyQuad.xpm", + "polyReduce.xpm", + "polyRelaxUVShell.xpm", + "polyRenameUVSet.xpm", + "polySeparate.xpm", + "polySetCurrentUVSet.xpm", + "polySewEdge.xpm", + "polySmooth.xpm", + "polySoftEdge.xpm", + "polySphere.xpm", + "polySphereProj.xpm", + "polySplitFacet.xpm", + "polySplitVertex.xpm", + "polySubdFacet.xpm", + "polyTextureRotateUV.xpm", + "polyTorus.xpm", + "polyTransfer.xpm", + "polyTriangulate.xpm", + "polyUnite.xpm", + "popupMenuIcon.xpm", + "posAir.xpm", + "posConstraint.xpm", + "posDrag.xpm", + "posEmitter.xpm", + "posGravity.xpm", + "posNewton.xpm", + "posRadial.xpm", + "posTurbulence.xpm", + "posUniform.xpm", + "posVolumeAxis.xpm", + "posVortex.xpm", + "projectCurve.xpm", + "projectTangent.xpm", + "propMod.xpm", + "ptPosCrvConstraint.xpm", + "ptPosSurfConstraint.xpm", + "putty.xpm", + "puttyPoly.xpm", + "quickRename.xpm", + "quickSelect.xpm", + "rangeSliderOff.xpm", + "rangeSliderOn.xpm", + "rebuildCurve.xpm", + "rebuildSurface.xpm", + "rect.xpm", + "redrawPaintEffects.xpm", + "refreshSelectedOnly.xpm", + "relative.xpm", + "reload.xpm", + "resetTemplateBrush.xpm", + "reverse.xpm", + "reverseSurface.xpm", + "revolve.xpm", + "roll.xpm", + "rotate_M.xpm", + "rotateLimits.xpm", + "roundSrf.xpm", + "rvAllPlanes.xpm", + "rvDiagnostics.xpm", + "rvGrabSwatch.xpm", + "rvIPRRefresh.xpm", + "rvIprRender.xpm", + "rvIPRStop.xpm", + "rvKeepIt.xpm", + "rvMaskPlane.xpm", + "rvRealSize.xpm", + "rvRemoveIt.xpm", + "rvRender.xpm", + "rvRenderRegion.xpm", + "savePaintSnapshot.xpm", + "scale_M.xpm", + "scaleConstraint.xpm", + "scaleLimits.xpm", + "scriptCtx.xpm", + "selectComp.xpm", + "selectObj.xpm", + "selectPaint.xpm", + "semiCirclePoly.xpm", + "semiCircleSolid.xpm", + "setEdAddCmd.xpm", + "setEdCollapseCmd.xpm", + "setEdEditMode.xpm", + "setEdExpandCmd.xpm", + "setEdit.xpm", + "setEdListPartMode.xpm", + "setEdListSetMode.xpm", + "setEdPaintMode.xpm", + "setEdRemoveCmd.xpm", + "setEdScrollCmd.xpm", + "setEdSelectMode.xpm", + "setEdSelectNEMode.xpm", + "setKey.xpm", + "setKeySmall.xpm", + "shadingGroupList.xpm", + "shadingGroupList32x32.xpm", + "shatter.xpm", + "shelfOptions.xpm", + "shelfTab.xpm", + "showDag.xpm", + "showDepend.xpm", + "showManip.xpm", + "sketchPlane.xpm", + "skin.xpm", + "smallIcons.xpm", + "smallTrash.xpm", + "smoke.xpm", + "smoothCurve.xpm", + "snapCurve.xpm", + "snapGrid.xpm", + "snapPlane.xpm", + "snapPoint.xpm", + "snapTime.xpm", + "snapValue.xpm", + "sphere.xpm", + "splineTangent.xpm", + "spotlight.xpm", + "square.xpm", + "squareSrf.xpm", + "srfIntersect.xpm", + "srt.xpm", + "stitchSrf.xpm", + "stitchSurfacePoints.xpm", + "strokeRefreshOff.xpm", + "strokeRefreshRendered.xpm", + "strokeRefreshWireframe.xpm", + "subdivCoarseMesh.xpm", + "subdivCreate.xpm", + "subdivExpandRegion.xpm", + "subdivTessellate.xpm", + "subdivUncrease.xpm", + "surfaceEditor.xpm", + "surfaceFillet.xpm", + "tangentConstraint.xpm", + "templateBrushSettings.xpm", + "text.xpm", + "texturePaint.xpm", + "texturePlacement.xpm", + "threePointArc.xpm", + "threePointToPoint.xpm", + "timeend.xpm", + "timefwd.xpm", + "timenext.xpm", + "timeplay.xpm", + "timeprev.xpm", + "timerev.xpm", + "timerew.xpm", + "timestart.xpm", + "timestop.xpm", + "torus.xpm", + "track.xpm", + "traxCreateBlend.xpm", + "traxCreateClip.xpm", + "traxFrameAll.xpm", + "traxFrameRange.xpm", + "traxGraphAnimCurves.xpm", + "traxGraphWeightCurves.xpm", + "trim.xpm", + "tumble.xpm", + "twoPointArc.xpm", + "twoPointToPoint.xpm", + "unifyTangent.xpm", + "untrim.xpm", + "userPaint.xpm", + "vacantCell.xpm", + "view.xpm", + "wire.xpm", + "wireDropoff.xpm", + "wrinkle.xpm", + "wtPaint.xpm", + "yawPitch.xpm" + }; + } + + if ( `gmatch $version "4.0*"` ) + { + $XPM = + { + "absolute.xpm", + "addBookmark.xpm", + "aimConstraint.xpm", + "align.xpm", + "alignCurve.xpm", + "alignObjects.xpm", + "alignSurface.xpm", + "ambientlight.xpm", + "animPrefsWndIcon.xpm", + "animateSnapshot.xpm", + "animateSweep.xpm", + "arcLengthDim.xpm", + "arealight.xpm", + "art3dPaint.xpm", + "artAttr.xpm", + "artSelect.xpm", + "aselect.xpm", + "attachCurves.xpm", + "attrPaint.xpm", + "attributes.xpm", + "autoKeyframeOff.xpm", + "autoKeyframeOn.xpm", + "autoload.xpm", + "azimuthElevation.xpm", + "bakeParticles.xpm", + "bestPlaneTxt.xpm", + "bevel.xpm", + "birail1Gen.xpm", + "birail2Gen.xpm", + "birail3Gen.xpm", + "blendShape.xpm", + "blendShapePlus.xpm", + "blendSurface.xpm", + "both.xpm", + "boundary.xpm", + "boxZoom.xpm", + "breakTangent.xpm", + "bufferSnap.xpm", + "bufferSwap.xpm", + "channelBoxFast.xpm", + "channelBoxHyperbolicOff.xpm", + "channelBoxHyperbolicOn.xpm", + "channelBoxInvisibleManips.xpm", + "channelBoxMedium.xpm", + "channelBoxNoManips.xpm", + "channelBoxSlow.xpm", + "channelBoxUnknownSpeed.xpm", + "channelBoxUseManips.xpm", + "channels.xpm", + "channelsLayers.xpm", + "circle.xpm", + "circleGaus.xpm", + "circlePoly.xpm", + "circleSolid.xpm", + "clipboard.xpm", + "closeBar.xpm", + "closeBarHorizontal.xpm", + "closeGeom.xpm", + "cmdWndIcon.xpm", + "collision.xpm", + "collisionEvents.xpm", + "columView.xpm", + "commandButton.xpm", + "cone.xpm", + "connectCollision.xpm", + "connectEmit.xpm", + "connectField.xpm", + "constraint.xpm", + "constructionHistoryOff.xpm", + "constructionHistoryOn.xpm", + "createTubes.xpm", + "cube.xpm", + "currentCharMenuIcon.xpm", + "curveAddPt.xpm", + "curveCV.xpm", + "curveEP.xpm", + "curveEditor.xpm", + "cutCurves.xpm", + "cvHardness.xpm", + "cylinder.xpm", + "defaultFourQuadLayout.xpm", + "defaultFourSideBySideLayout.xpm", + "defaultFourSplitBottomLayout.xpm", + "defaultFourSplitLeftLayout.xpm", + "defaultFourSplitRightLayout.xpm", + "defaultFourSplitTopLayout.xpm", + "defaultFourStackedLayout.xpm", + "defaultSingleLayout.xpm", + "defaultThreeSideBySideLayout.xpm", + "defaultThreeSplitBottomLayout.xpm", + "defaultThreeSplitLeftLayout.xpm", + "defaultThreeSplitRightLayout.xpm", + "defaultThreeSplitTopLayout.xpm", + "defaultThreeStackedLayout.xpm", + "defaultTwoSideBySideLayout.xpm", + "defaultTwoStackedLayout.xpm", + "detach.xpm", + "detachCurve.xpm", + "directKey.xpm", + "directKeySmall.xpm", + "directionallight.xpm", + "distanceDim.xpm", + "dolly.xpm", + "dropArrow.xpm", + "dropArrowSmall.xpm", + "duplicateCurve.xpm", + "duplicateSurface.xpm", + "editBookmark.xpm", + "emission.xpm", + "emitter.xpm", + "extend.xpm", + "extendCos.xpm", + "extendSurface.xpm", + "extrude.xpm", + "eyeDropper.xpm", + "file.xpm", + "fileNew.xpm", + "fileOpen.xpm", + "fileSave.xpm", + "fillet.xpm", + "filletFreeform_S.xpm", + "filtersOff.xpm", + "filtersOn.xpm", + "fire.xpm", + "fireworks.xpm", + "fitBSpline.xpm", + "flatTangent.xpm", + "flow.xpm", + "flowSurface.xpm", + "flowSurfaceDelete.xpm", + "flyThrough.xpm", + "folderView.xpm", + "fourViewLayout.xpm", + "frameBranch.xpm", + "frameGraph.xpm", + "frameHierarchy.xpm", + "frameSelection.xpm", + "freeTangentWeight.xpm", + "freeformOff.xpm", + "freeformOn.xpm", + "futurePulldownIcon.xpm", + "geometryConstraint.xpm", + "globalStitch.xpm", + "goal.xpm", + "hierOff.xpm", + "hierOn.xpm", + "highlightSelectOff.xpm", + "highlightSelectOn.xpm", + "historyPulldownIcon.xpm", + "hsClearView.xpm", + "hsDownStreamCon.xpm", + "hsGraphMaterial.xpm", + "hsRearrange.xpm", + "hsShowBottomTabsOnly.xpm", + "hsShowTopAndBottomTabs.xpm", + "hsShowTopTabsOnly.xpm", + "hsUpDownStreamCon.xpm", + "hsUpStreamCon.xpm", + "hsVisorOpen.xpm", + "hypershadeOutlinerPerspLayout.xpm", + "hypershadePerspLayout.xpm", + "hypershadeRenderPerspLayout.xpm", + "iconView.xpm", + "inArrow.xpm", + "info.xpm", + "insert.xpm", + "insertKey.xpm", + "insertKeySmall.xpm", + "insertKnot.xpm", + "instancer.xpm", + "intersectCurves.xpm", + "kinConnect.xpm", + "kinDisconnect.xpm", + "kinDup.xpm", + "kinHandle.xpm", + "kinInsert.xpm", + "kinJoint.xpm", + "kinMirrorJoint_S.xpm", + "kinRemove.xpm", + "kinReroot.xpm", + "kinSplineHandle.xpm", + "largeIcons.xpm", + "lassoSelect.xpm", + "lastPFXBrush.xpm", + "layers.xpm", + "levelOfDetail.xpm", + "levelOfDetailDelete.xpm", + "lightLinkList32x32.xpm", + "lightning.xpm", + "lineH.xpm", + "lineV.xpm", + "linearTangent.xpm", + "listView.xpm", + "locator.xpm", + "lock.xpm", + "lockTangentWeight.xpm", + "makeLive.xpm", + "makeLiveIcon.xpm", + "makePaintable.xpm", + "manipMove.xpm", + "manipRotate.xpm", + "manipScale.xpm", + "mediumIcons.xpm", + "menuIconAdd.xpm", + "menuIconAnimCurves.xpm", + "menuIconAttributeFilter.xpm", + "menuIconBodies.xpm", + "menuIconBookmarks.xpm", + "menuIconChannels.xpm", + "menuIconCharacters.xpm", + "menuIconConnect.xpm", + "menuIconConstraints.xpm", + "menuIconDeformations.xpm", + "menuIconDisplay.xpm", + "menuIconEdit.xpm", + "menuIconEditCurves.xpm", + "menuIconEditSurfaces.xpm", + "menuIconFields.xpm", + "menuIconFile.xpm", + "menuIconFilter.xpm", + "menuIconFilterTypes.xpm", + "menuIconFlipbooks.xpm", + "menuIconFocus.xpm", + "menuIconGraph.xpm", + "menuIconHelp.xpm", + "menuIconImages.xpm", + "menuIconKeys.xpm", + "menuIconLeftSideFilters.xpm", + "menuIconLighting.xpm", + "menuIconList.xpm", + "menuIconListed.xpm", + "menuIconMode.xpm", + "menuIconModify.xpm", + "menuIconObject.xpm", + "menuIconObjectFilter.xpm", + "menuIconOptions.xpm", + "menuIconPaintEffects.xpm", + "menuIconPanels.xpm", + "menuIconParticles.xpm", + "menuIconPaths.xpm", + "menuIconPolygons.xpm", + "menuIconRender.xpm", + "menuIconRenderSettings.xpm", + "menuIconReset.xpm", + "menuIconRightSideFilters.xpm", + "menuIconSelect.xpm", + "menuIconSelectFilter.xpm", + "menuIconSelected.xpm", + "menuIconSettings.xpm", + "menuIconShading.xpm", + "menuIconShow.xpm", + "menuIconSkeletons.xpm", + "menuIconSkinning.xpm", + "menuIconSubdivSurf.xpm", + "menuIconSurfaces.xpm", + "menuIconTangents.xpm", + "menuIconTexturing.xpm", + "menuIconView.xpm", + "menuIconWindow.xpm", + "moveLimits.xpm", + "moveNormal.xpm", + "move_M.xpm", + "navButtonBrowse.xpm", + "navButtonConnected.xpm", + "navButtonUnconnected.xpm", + "newlayer.xpm", + "normalConstraint.xpm", + "nurbsShellIntersect.xpm", + "nurbsShellSubtract.xpm", + "nurbsShellUnion.xpm", + "nurbsToPolygons.xpm", + "offsetCos.xpm", + "offsetCurve.xpm", + "offsetSurface.xpm", + "openBar.xpm", + "openBarHorizontal.xpm", + "openCloseSurface.xpm", + "orientConstraint.xpm", + "outArrow.xpm", + "outlinerView.xpm", + "paintAutoSave.xpm", + "paintEffectsBrushes.xpm", + "paintEffectsBrushesLarge.xpm", + "paintEffectsTool.xpm", + "paintSetMembership.xpm", + "paintSkinWeights.xpm", + "paintTextureTool.xpm", + "paintVertexColour.xpm", + "paintWrapH.xpm", + "paintWrapV.xpm", + "paramDim.xpm", + "particle.xpm", + "pencil.xpm", + "perspGraphHypergraphLayout.xpm", + "perspGraphLayout.xpm", + "perspGraphOutlinerLayout.xpm", + "perspOutlinerLayout.xpm", + "perspRelationshipEditorLayout.xpm", + "perspTextureLayout.xpm", + "perspTraxOutlinerLayout.xpm", + "pickCompByType.xpm", + "pickCurveObj.xpm", + "pickCurveObjPartial.xpm", + "pickDeformerObj.xpm", + "pickDeformerObjPartial.xpm", + "pickDynamicsObj.xpm", + "pickDynamicsObjPartial.xpm", + "pickFacetComp.xpm", + "pickFacetCompPartial.xpm", + "pickGeometryObj.xpm", + "pickGeometryObjPartial.xpm", + "pickHandlesComp.xpm", + "pickHandlesObj.xpm", + "pickHandlesObjPartial.xpm", + "pickHierarchy.xpm", + "pickHighlightList.xpm", + "pickHullComp.xpm", + "pickJointObj.xpm", + "pickLineComp.xpm", + "pickLineCompPartial.xpm", + "pickMenuIcon.xpm", + "pickObjByType.xpm", + "pickOtherComp.xpm", + "pickOtherCompPartial.xpm", + "pickOtherObj.xpm", + "pickOtherObjPartial.xpm", + "pickPivotComp.xpm", + "pickPivotCompPartial.xpm", + "pickPointComp.xpm", + "pickPointComp2.xpm", + "pickPointComp2Partial.xpm", + "pickPointCompPartial.xpm", + "pickRenderingObj.xpm", + "pickRenderingObjPartial.xpm", + "pickTemplate.xpm", + "pinPinned.xpm", + "pinUnpinned.xpm", + "planarTrim.xpm", + "plane.xpm", + "pointToPoint.xpm", + "pointlight.xpm", + "poleVectorConstraint.xpm", + "polyAppendFacet.xpm", + "polyApplyColor.xpm", + "polyAutoProj.xpm", + "polyAverageVertex.xpm", + "polyBevel.xpm", + "polyBooleansDifference.xpm", + "polyBooleansIntersection.xpm", + "polyBooleansUnion.xpm", + "polyCheck.xpm", + "polyChipOff.xpm", + "polyCleanup.xpm", + "polyCloseBorder.xpm", + "polyCollapseEdge.xpm", + "polyCone.xpm", + "polyConvertToEdge.xpm", + "polyConvertToFace.xpm", + "polyConvertToUVs.xpm", + "polyConvertToVertices.xpm", + "polyCreateFacet.xpm", + "polyCreateUVSet.xpm", + "polyCube.xpm", + "polyCylProj.xpm", + "polyCylinder.xpm", + "polyDelEdge.xpm", + "polyDelVertex.xpm", + "polyDeleteUVSet.xpm", + "polyDuplicateFacet.xpm", + "polyExtrudeEdge.xpm", + "polyExtrudeFacet.xpm", + "polyFlipEdge.xpm", + "polyLayoutUV.xpm", + "polyLoopEdge.xpm", + "polyMapCut.xpm", + "polyMapDel.xpm", + "polyMapSew.xpm", + "polyMapUVBorder.xpm", + "polyMergeEdge.xpm", + "polyMergeFacet.xpm", + "polyMergeUV.xpm", + "polyMergeVertex.xpm", + "polyMesh.xpm", + "polyMirrorGeometry.xpm", + "polyMoveSew.xpm", + "polyMoveVertex.xpm", + "polyNormal.xpm", + "polyNormalAverage.xpm", + "polyNormalSet.xpm", + "polyNormalSetToFace.xpm", + "polyNormalsConform.xpm", + "polyPlanProj.xpm", + "polyPrelight.xpm", + "polyQuad.xpm", + "polyReduce.xpm", + "polyRelaxUVShell.xpm", + "polyRenameUVSet.xpm", + "polySeparate.xpm", + "polySetCurrentUVSet.xpm", + "polySewEdge.xpm", + "polySmooth.xpm", + "polySoftEdge.xpm", + "polySphere.xpm", + "polySphereProj.xpm", + "polySplitFacet.xpm", + "polySplitVertex.xpm", + "polySubdFacet.xpm", + "polyTextureRotateUV.xpm", + "polyTorus.xpm", + "polyTransfer.xpm", + "polyTriangulate.xpm", + "polyUVSnapshot.xpm", + "polyUnite.xpm", + "popupMenuIcon.xpm", + "posAir.xpm", + "posConstraint.xpm", + "posDrag.xpm", + "posEmitter.xpm", + "posGravity.xpm", + "posNewton.xpm", + "posRadial.xpm", + "posTurbulence.xpm", + "posUniform.xpm", + "posVolumeAxis.xpm", + "posVortex.xpm", + "projectCurve.xpm", + "projectTangent.xpm", + "propMod.xpm", + "ptPosCrvConstraint.xpm", + "putty.xpm", + "puttyPoly.xpm", + "quickRename.xpm", + "quickSelect.xpm", + "rebuildCurve.xpm", + "rebuildSurface.xpm", + "rect.xpm", + "redrawPaintEffects.xpm", + "refreshSelectedOnly.xpm", + "relative.xpm", + "reload.xpm", + "resetTemplateBrush.xpm", + "reverse.xpm", + "reverseSurface.xpm", + "revolve.xpm", + "rigid.xpm", + "rigidPassive.xpm", + "roll.xpm", + "rotateLimits.xpm", + "rotate_M.xpm", + "roundSrf.xpm", + "rvAllPlanes.xpm", + "rvDiagnostics.xpm", + "rvIPRRefresh.xpm", + "rvIPRStop.xpm", + "rvIprRender.xpm", + "rvKeepIt.xpm", + "rvMaskPlane.xpm", + "rvRealSize.xpm", + "rvRemoveIt.xpm", + "rvRender.xpm", + "rvRenderGlobals.xpm", + "rvRenderRegion.xpm", + "savePaintSnapshot.xpm", + "scaleConstraint.xpm", + "scaleLimits.xpm", + "scale_M.xpm", + "scriptCtx.xpm", + "selectComp.xpm", + "selectObj.xpm", + "semiCirclePoly.xpm", + "semiCircleSolid.xpm", + "setEdAddCmd.xpm", + "setEdCollapseCmd.xpm", + "setEdEditMode.xpm", + "setEdExpandCmd.xpm", + "setEdListPartMode.xpm", + "setEdListSetMode.xpm", + "setEdPaintMode.xpm", + "setEdRemoveCmd.xpm", + "setEdScrollCmd.xpm", + "setEdSelectMode.xpm", + "setEdSelectNEMode.xpm", + "setEdit.xpm", + "setKey.xpm", + "setKeySmall.xpm", + "shadingGroupList.xpm", + "shadingGroupList32x32.xpm", + "shatter.xpm", + "shelfOptions.xpm", + "shelfTab.xpm", + "showDag.xpm", + "showDepend.xpm", + "showManip.xpm", + "singlePerspLayout.xpm", + "sketchPlane.xpm", + "skin.xpm", + "smallIcons.xpm", + "smallTrash.xpm", + "smoke.xpm", + "smoothCurve.xpm", + "snapCurve.xpm", + "snapGrid.xpm", + "snapPlane.xpm", + "snapPoint.xpm", + "snapTime.xpm", + "snapValue.xpm", + "soft.xpm", + "sphere.xpm", + "splineTangent.xpm", + "spotlight.xpm", + "spring.xpm", + "square.xpm", + "squareSrf.xpm", + "srfIntersect.xpm", + "srt.xpm", + "stitchSrf.xpm", + "stitchSurfacePoints.xpm", + "strokeRefreshOff.xpm", + "strokeRefreshRendered.xpm", + "strokeRefreshWireframe.xpm", + "subdivCoarseMesh.xpm", + "subdivCone.xpm", + "subdivCreate.xpm", + "subdivCube.xpm", + "subdivCylinder.xpm", + "subdivExpandRegion.xpm", + "subdivPlane.xpm", + "subdivSphere.xpm", + "subdivTessellate.xpm", + "subdivTorus.xpm", + "subdivUncrease.xpm", + "surfaceEditor.xpm", + "surfaceFillet.xpm", + "tangentConstraint.xpm", + "templateBrushSettings.xpm", + "templateBrushSettingsSmall.xpm", + "text.xpm", + "texturePaint.xpm", + "texturePlacement.xpm", + "threePointArc.xpm", + "threePointToPoint.xpm", + "timeend.xpm", + "timefwd.xpm", + "timenext.xpm", + "timeplay.xpm", + "timeprev.xpm", + "timerev.xpm", + "timerew.xpm", + "timestart.xpm", + "timestop.xpm", + "toolSettings.xpm", + "torus.xpm", + "track.xpm", + "traxCreateBlend.xpm", + "traxCreateClip.xpm", + "traxFrameAll.xpm", + "traxFrameRange.xpm", + "traxGraphAnimCurves.xpm", + "traxGraphWeightCurves.xpm", + "trim.xpm", + "tumble.xpm", + "twoPointArc.xpm", + "twoPointToPoint.xpm", + "unifyTangent.xpm", + "untrim.xpm", + "userPaint.xpm", + "vacantCell.xpm", + "view.xpm", + "volumeCone.xpm", + "volumeCube.xpm", + "volumeSphere.xpm", + "wire.xpm", + "wireDropoff.xpm", + "wrinkle.xpm", + "wtPaint.xpm", + "yawPitch.xpm" + }; + } + + if ( size( $XPM ) == 0 ) + error ( "Maya version not supported" ); + + if ( `window -exists XPM` ) + deleteUI XPM; + + string $xpmTitle = ( "XPM (" + `size $XPM` + " icons)" ); + + window -title $xpmTitle -iconName "XPM" XPM; + + scrollLayout; + + rowColumnLayout -numberOfColumns 10 + -height 32 + -columnWidth 1 32 + -columnWidth 2 32 + -columnWidth 3 32 + -columnWidth 4 32 + -columnWidth 5 32 + -columnWidth 6 32 + -columnWidth 7 32 + -columnWidth 8 32 + -columnWidth 9 32 + -columnWidth 10 32; + + for ( $i = 0; $i < size( $XPM ); $i+=10 ) + { + for ( $j = $i; $j < $i+10 && $j < size($XPM) ; $j++ ) + { + symbolButton -image $XPM[$j] -annotation $XPM[$j]; + } + } + + showWindow; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenAttach.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenAttach.mel new file mode 100644 index 0000000..b78ea86 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenAttach.mel @@ -0,0 +1,36 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//execute zenAttach, store the command, and add it to the repeatLast command list +global proc doZenAttachSurface() +{ + global int $zenOptions_attachSurfaceDegree; + global int $zenOptions_attachSurfaceShave; + global int $zenOptions_attachShave; + + string $command= + ( + "zenAttachSurface "+ + (string($zenOptions_attachSurfaceDegree))+" "+ + (string($zenOptions_attachSurfaceShave)) + ); + + $err=catch(`evalEcho($command)`); + + if($err) + { + progressWindow -ep; + undoInfo -swf 1; + } +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenAttachSpans.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenAttachSpans.mel new file mode 100644 index 0000000..3db66cd --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenAttachSpans.mel @@ -0,0 +1,37 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//execute zenAttach, store the command, and add it to the repeatLast command list +global proc doZenAttachSpans() +{ + global int $zenOptions_attachSpansDegree, + $zenOptions_attachSpansCount, + $zenOptions_attachSpansShave; + + string $command= + ( + "zenAttachSpans "+ + (string($zenOptions_attachSpansDegree))+" "+ + (string($zenOptions_attachSpansCount))+" "+ + (string($zenOptions_attachSpansShave)) + ); + + $err=catch(`evalEcho($command)`); + + if($err) + { + progressWindow -ep; + undoInfo -swf 1; + } +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenAttachSurface.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenAttachSurface.mel new file mode 100644 index 0000000..64f4dfd --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenAttachSurface.mel @@ -0,0 +1,35 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//execute zenAttach, store the command, and add it to the repeatLast command list +global proc doZenAttachSurface() +{ + global int $zenOptions_attachSurfaceDegree; + global int $zenOptions_attachSurfaceShave; + + string $command= + ( + "zenAttachSurface "+ + (string($zenOptions_attachSurfaceDegree))+" "+ + (string($zenOptions_attachSurfaceShave)) + ); + + $err=catch(`evalEcho($command)`); + + if($err) + { + progressWindow -ep; + undoInfo -swf 1; + } +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenAutoMap.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenAutoMap.mel new file mode 100644 index 0000000..1a5f262 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenAutoMap.mel @@ -0,0 +1,132 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//auto maps all faces proportionally and lays them out in the 0 to 1 range +proc autoMap(int $layoutPerObject) +{ + float $time=`timerX`; + + ConvertSelectionToFaces; + + string $sel[]=`ls -sl -fl`; + + string $objects[]=`ls -o $sel`; + $objects=`stringArrayRemoveDuplicates $objects`; + + delete -ch $objects; + + string $obj=zenReturnFirstStringItem(`ls -o $sel[0]`); + string $dup=zenReturnFirstStringItem(`duplicate $obj`); + string $dupSel[]=zenMimicSelection($sel,$dup); + polySoftEdge -a 0 $dup; + + string $meshInfo=`createNode pointOnMeshInfo`; + connectAttr -f ($dup+".worldMesh[0]") ($meshInfo+".inMesh"); + + string $faceEdges[]=`polyListComponentConversion -ff -te $sel[0]`; + string $edge=zenReturnFirstStringItem(`ls -fl $faceEdges`); + float $referenceEL=`arclen $edge`; + string $projectionNode; + float $width; + float $height; + + int $faces=zenReturnFirstIntegerItem(`polyEvaluate -f $objects`); + + progressWindow -ii 1 -title "Working" -status "Mapping UV's" -max $faces -progress 0; + + select -clear; + + undoInfo -swf 0; + + int $n; + + for($i=0;$i1) error "Selection must be on the same mesh."; + + $sel=`polyListComponentConversion -tuv $sel`; + $sel=`polyListComponentConversion -tf $sel`; + + string $shells[]=`zenReturnUVShellFaces $sel`; + + string $shell[]; + string $tempFaces[]; + string $allTempFaces[]; + string $dup; + string $dupVerts[]; + string $uvs[]; + float $area; + float $areaUV; + float $ratio; + string $overlappingUVs[]; + + progressWindow -ii 1 -title "Working" -status "Comparing Surface Area to Texture Area" -max (size($shells)*2) -progress 0; + + for($s in $shells) + { + //create a temporary mesh from the shell + $shell=`stringToStringArray $s ","`; + $dup=zenReturnFirstStringItem(`duplicate $obj[0]`); + $tempFaces=`zenMimicSelection $shell $dup`; + $tempFaces=`ls -fl $tempFaces`; + $allTempFaces=`polyListComponentConversion -tf $dup`; + $allTempFaces=`ls -fl $allTempFaces`; + + delete `stringArrayRemove $tempFaces $allTempFaces`; + delete -ch $dup; + + //find the surface area + $area=zenReturnFirstFloatItem(`polyEvaluate -a $dup`); + + //move the vertices to their uv position + delete -ch $dup; + + progressWindow -e -s 1; + + zenMoveVertsToUVs {$dup}; + + //find the surface area again, this is the uv surface area. + $areaUV=zenReturnFirstFloatItem(`polyEvaluate -a $dup`); + + delete $dup; + + //scaling ratio + $ratio=0; + if($areaUV==0) + { + $overlappingUVs=`stringArrayCatenate $overlappingUVs $shell`; + } + else + { + $ratio=sqrt($area/($areaUV)); + + //scale the original uv shell accordingly + if(size($shell)) polyEditUV -su $ratio -sv $ratio `polyListComponentConversion -tuv $shell`; + } + + print $ratio;print "\n"; + + $uvs=stringArrayCatenate($uvs,$shell); + + progressWindow -e -s 1; + if(`progressWindow -q -ic`) + { + undoInfo -swf 1; + + if(`getApplicationVersionAsFloat`>=8) + polyLayoutUV -lm 1 -sc 1 -se 0 -rbf 0 -fr 1 -ps 0.2 -l 2 -ch 1 $uvs; + else + polyLayoutUV -sc 1 -se 0 -rbf 0 -fr 1 -ps 0.2 -l 2 -ch 1 $uvs; + + progressWindow -ep; + error "User Intrupt."; + } + + delete -ch $obj; + } + + progressWindow -ep; + + if(`getApplicationVersionAsFloat`>=8) + polyLayoutUV -lm 1 -sc 1 -se 0 -rbf 0 -fr 1 -ps 0.2 -l 2 -ch 1 $uvs; + else + polyLayoutUV -sc 1 -se 0 -rbf 0 -fr 1 -ps 0.2 -l 2 -ch 1 $uvs; + + select $uvs; + + if(size($overlappingUVs)) + { + warning "Mesh has overlpping uv's, could not determine texture area for selected region."; + select $overlappingUVs; + } +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenReconstructMesh.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenReconstructMesh.mel new file mode 100644 index 0000000..83d3ee7 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenReconstructMesh.mel @@ -0,0 +1,41 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//Reconstructs a polygon mesh or mesh's by creating a new mesh, +//connecting the original shape's outMesh to the new inMesh and +//deleting the original. +global proc doZenReconstructMesh() +{ + string $sel[]=stringArrayCatenate(`ls -sl`,`listRelatives -ad`); + $sel=`ls -type mesh $sel`; + $sel=`stringArrayRemoveDuplicates $sel`; + + if(!(size($sel))) + error "You must select one or more polygon meshes."; + + string $tr[]=`listRelatives -p $sel`; + string $newMesh[]; + + int $i; + for($mesh in $sel) + { + $newMesh[$i]=`createNode -p $tr[$i] mesh`; + connectAttr -f ($mesh+".outMesh") ($newMesh[$i]+".inMesh"); + delete -ch $newMesh[$i] $mesh; + delete $mesh; + rename $newMesh[$i] $mesh; + } + + print "Finished"; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenReflectUV.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenReflectUV.mel new file mode 100644 index 0000000..5b71478 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenReflectUV.mel @@ -0,0 +1,45 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc doZenReflectUV() +{ + global int $zenOptions_reflectUVReferenceAxis; + global float $zenOptions_reflectUVuAxisOffset; + + int $err; + + if(`pluginInfo -q -l closestPointOnMesh`==0 && `getApplicationVersionAsFloat`<8) + { + $err=catch(`loadPlugin -qt closestPointOnMesh`); + } + + if(`pluginInfo -q -l pointOnMeshInfo`==0) + { + $err=catch(`loadPlugin -qt pointOnMeshInfo`); + } + + int $err; + string $unit=`currentUnit -q -l`; + currentUnit -l cm; + + $err=catch(`zenReflectUV $zenOptions_reflectUVuAxisOffset $zenOptions_reflectUVReferenceAxis`); + + if($err) + { + progressWindow -ep; + undoInfo -swf 1; + } + + currentUnit -l $unit; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenSelectEdgeLoopBetweenVerts.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenSelectEdgeLoopBetweenVerts.mel new file mode 100644 index 0000000..6752dd9 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenSelectEdgeLoopBetweenVerts.mel @@ -0,0 +1,32 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//select an edge loop between given vertices +global proc string[] doZenSelectEdgeLoopBetweenVerts() +{ + waitCursor -state on; + + string $sel[]= `ls -sl -fl`; + string $verts[]=`polyListComponentConversion -fv -tv`; + $verts=`ls -fl $verts`; + string $vertLoop[]=`zenVertLoop $verts`; + string $nonVerts[]=`stringArrayRemove $verts $sel`; + string $edgeLoops[]=`zenEdgeLoopFromVertLoop $vertLoop`; + string $returnVal[]=`stringArrayCatenate $nonVerts $edgeLoops`; + select $returnVal; + + waitCursor -state off; + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenTransferComponentSelection.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenTransferComponentSelection.mel new file mode 100644 index 0000000..df68c4a --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenTransferComponentSelection.mel @@ -0,0 +1,41 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//transfers component selection by ID +//to use: select vertices, then select one or more objects with identical topology +global proc doZenTransferComponentSelection() +{ + string $targetObjects[]=stringArrayCatenate(`ls -tr -sl`,`ls -s -sl`); + + string $sourceComponents[]=stringArrayRemove($targetObjects,`ls -sl -fl`); + if(size(stringArrayRemoveDuplicates(`ls -o $sourceComponents`))>1) error "Select components on only one object."; + + string $targetComponents[]; + + float $tr[]; + + progressWindow -ii true -title "Working" -status "Transferring Selection" -max (size($sourceComponents)*size($targetObjects)) -progress 0; + + string $targetObj; + string $newSelection[]; + for($targetObj in $targetObjects) + { + $targetComponents=`zenMimicSelection $sourceComponents $targetObj`; + $newSelection=`stringArrayCatenate $newSelection $targetComponents`; + } + + select $newSelection; + + progressWindow -endProgress; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/doZenTransferPointPositions.mel b/2009-x64/MiscScripts/scripts/zenScripts/doZenTransferPointPositions.mel new file mode 100644 index 0000000..00ad76b --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/doZenTransferPointPositions.mel @@ -0,0 +1,60 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//select vertices, then select other objects with identical topology +global proc doZenTransferPointPositions() +{ + string $sel[]=`ls -sl`; + string $targetObjects[]=stringArrayCatenate(`ls -tr -sl`,`ls -s -sl`); + + string $sourceComponents[]=stringArrayRemove($targetObjects,`ls -sl -fl`); + string $sourceObjs[]=`ls -o $sourceComponents`; + $sourceObjs=`stringArrayRemoveDuplicates $sourceObjs`; + + if(size($sourceObjs)>1) error "Select components on only one object."; + + if(`nodeType $sourceObjs`=="mesh" || `nodeType $sourceObjs`=="subdiv") + { + select $sourceComponents; + ConvertSelectionToVertices; + $sourceComponents=`ls -sl -fl`; + } + + string $targetComponents[]; + + float $tr[]; + + progressWindow -ii true -title "Working" -status "Moving Verts" -max (size($sourceComponents)*size($targetObjects)) -progress 0; + + string $targetObj; + for($targetObj in $targetObjects) + { + $targetComponents=`zenMimicSelection $sourceComponents $targetObj`; + + for($i=0;$iZenTools + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+

ZenTools for Maya

+
  + + +

David Belais

+ dbelais@gmail.com
+
+
+ Installation +
+
+
    +
  • + Bonus tools for Maya is required to use ZenTools. +

    Bonus Tools can be found at http://area.autodesk.com/index.php/misc/bonus_tools/.

    +
  • +
  • + If maya is open, close Maya*. Unzip the contents of the downloaded archive "zenTools.zip" to your user scripts directory. +
    +

    *Alternately, if you prefer to leave Maya open, type "rehash" into the command-line after unzipping the archive and hit [Enter] to update Maya's script paths.

    +
    +
  • +
  • +

    Inside Maya, type "zenTools" ( no quotes ) into the command line and hit [Enter].

    +
  • +
+
+
+
+

Tools ( by Menu )

+
+
+
+
+

Select

+
    +
  • + Vert Loop +
    +
    +

    Selects an edge path between selected vertices.

    +

    Q: Maya already has a Select Shortest Edge Path tool, how is this different?

    +

    A: Maya's Select Shortest Edge Path tool delivers unintuitive results on irregular surfaces. ZenTools Vert Loop function always retrieves the connecting edge path containing the fewest number of edges possible to make the connection, as illustrated below.

    + + + + + + + + + + + + + +
    Input SelectionSelect Shortest Edge Path ResultsZenTools Vert Loop Results
    +
    +
    +
  • +
  • + Flood Select +
    +
    +

    Select polygon edges defining a desired selection perimeter, then a vertex or a face indicating the region which should be filled. "Flood Fill" will select the vertices or faces contained within.

    + + + + + + + + + + + + + + + + + + + +
    Input SelectionResults
    Input SelectionResults
    +
    +
    +
  • +
  • + Transfer Component Selection +
    +
    +

    Select components on one object, then [right click > Object Mode] and shift-select one or more similar objects, "Transfer Component Selection" will select the corresponding components on the selected objects.

    +
    +
    +
  • +
+
+
+
+
+

Create

+
    +
  • + Surface Between Edge Loops +
    +
    +

    Select 2 or more edge loops of equal edge count which are parallel in orientation and aligned such as to share edge rings. This command will create a surface from the portion of the mesh sandwiched between your selections.

    +
    +
    +
  • +
  • + Curve Spans Between Edge Loops +
    +
    +

    Select 2 or more edge loops of equal edge count which are parallel in orientation and aligned such as to share edge rings. With “spans†set to 0 ( the default ), this command will create a curve on each parallel edge loop sandwiched between your selection. If the span count is greater than 0, this command will create the specified number of curves.

    +
    +
    +
  • +
  • + Curves From Contiguous Edges +
    +
    +

    This command will create a curve from selected edges, or multiple curves if the selection is not contiguous.

    +
    +
    +
  • +
  • + Auto UV Map +
    +
    +

    Select polygon objects or faces. This command creates uv coordinates for each face with proportionate spacing according to face area. Useful for quickly creating non-overlapping uv's for baking 3d textures.

    +
    +
    +
  • +
  • + UV Patch Between Edge Loops +
    +
    +

    Select 2 aligned, equal length, parallel edge loops lying on a polygon surface. This command will create a nurbs-style uv-patch with the selected edges defining it's u borders.

    +
    +
    +
  • +
  • + Scripts Menus From Folders +
    +
    +

    This command recursively searches given directories and creates menus for executing contained scripts based on folder hierarchy.

    +

    Each folder in the given directory, and each sub-folder will be added to Maya’s script path. Each sub-directory will correspond to a sub-menu, and each MEL script a menu item. Each menu item will execute the command corresponding to the script name, per internal convention, so a global procedure with the same name as the MEL script must be present in each script.

    +

    In the “Remove Prefixes†text field you may enter a list of prefixes which you wish to have excluded from menu labels. This list should be separated by a semicolon for Windows users, or a colon for Linux and OS X users.

    +

    After pressing save, ZenTools stores your options in a file called “zenTools_userOptions.mel†in your user scripts directory, along with the rest of your options. These folders are not removed from your options file by using the Help>Reset Options command. In order to remove these menus, open ZenTools, select “Create>Scripts Menus From Folders…†and press the delete button below the folder you wish to remove, then press save.

    +

    If debugging a script which is in-progress, it may be desirable to have ZenTools source the script each time you execute, thereby reflecting recent changes. In this case, open ZenTools, navigate to the “Help†menu, and select “Debugging Modeâ€. This will cause scripts in all ZenTools-created menu’s to be sourced upon execution.

    +
    +
    +
  • +
+
+
+
+
+

Modify

+
    +
  • + Cut Edges +
    +
    +

    Splits the mesh at selected edges.

    +
    +
    +
  • +
  • + Curve Distribute Between Vertices +
    +
    +

    Select 2 or more vertices. This command will align the vertices between them along an arc, ep curve , or cv curve based on current options.

    +
    +
    +
  • +
  • + Loft Distribute Between Edge Loops +
    +
    +

    Select 2 or more edge loops of equal edge count which are parallel in orientation and aligned such as to share edge rings. This command will distribute the vertices between them along a loft.

    +
    +
    +
  • +
  • + Vertex/CV Positions Transfer +
    +
    +

    Select vertices or control vertices on one object, then [right click > Object Mode] and shift-select one or more similar objects. This command will transfer the positions of the selected cv's or vertices onto the selected object(s).

    +
    +
    +
  • +
  • + Curve Distribute Between UVs +
    +
    +

    Select 2 or more uv points. This command will align the uv points between them along an arc, ep curve , or cv curve based on current options.

    +
    +
    +
  • +
  • + UV Mirror +
    +
    +

    Select the source faces you which to mirror. This command will position the uv's which are opposite the selected faces in object space to be similarly opposite in texture space. The reference axis is determined by the object’s rotation axis.

    +
    +
    +
  • +
  • + UV Transfer +
    +
    +

    Select the source mesh, then the target mesh. This command should be used in situations where the source and target mesh are of the same resolution. This transfer method will typically obtain more accurate results on uv shell borders than the transferAttributes function available in Maya 8 and later. Unlike transferAttributes, however, this command transfers uv’s 1 for 1, meaning that if the source mesh is a cut-out piece of the target mesh, it will transfer 1 uv on the target mesh for each uv on the source mesh, leaving the rest of the uv’s alone. This allows you to extract pieces of your mesh for easier handling, then transfer the uv’s back to the whole when finished.

    +
    +
    +
  • +
  • + UV Layout Proportionate +
    +
    +

    This command will layout selected UV shells proportionately in relation to their 3d surface area.

    +
    +
    +
  • +
  • + Mirror Smooth Skin Influence Weights +
    +
    +

    Select a smooth skinned object. This command will mirror skin influence weights. Opposite vertices will be identified by closest vertex. Opposite influences will be matched according to a number of matching methods, narrowing matches in the following order:

    +
      +
    • Node Type: only the same node type will be considered as a possible match.
    • +
    • Joint Labels: For nodes which are joints, narrows down possible candidates to opposingly labeled joints.
    • +
    • Naming: Matches any object containing the string “left†to an opposing object containing the string “right†and vice-versa, capitalization is OK but must match for both influences.
    • +
    • Transform: Matches objects according to their bounding box and rotation pivots.
    • +
    +
    +
    +
    +
  • +
  • + Confine Skin Weights to Selected Objects +
    +
    +

    Select vertices on a smooth skinned object. Then select all of the joints or influence objects you want to affect the selected vertices. All other influences will be set to zero and the selected influences proportionately normalized.

    +
    +
    +
  • +
  • + Reconstruct Mesh +
    +
    +

    This command creates a new mesh from the "outMesh" attribute of the selected polygon objects, replacing the original mesh.

    +
    +
    +
    +
  • +
  • + Comprehensive History Cleanup +
    +
    +

    Comprehensive History Cleanup deletes history on selected objects, then deletes unused intermediate objects, breaks connections to other objects history (future connections), and deletes all orphan nodes. This function will often resolve DAG errors where history deletion will not.

    +
    +
    +
  • +
  • + Set Attributes On Multiple Objects +
    +
    +

    Attempts to set the attribute value given on each selected object and (optionally) its descendants. Objects which do not have the selected attribute are skipped. Input can be of any type which can be set using the setAttr command, and format should follow the same conventions.

    +
    +
    +
  • +
+
+
+
+
+ + \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_ActiveX.js b/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_ActiveX.js new file mode 100644 index 0000000..98d2e56 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_ActiveX.js @@ -0,0 +1,81 @@ +//v1.2 +//Copyright 2006 Adobe Macromedia Software LLC and its licensors. All rights reserved. +function AC_AX_RunContent(){ + var ret = AC_AX_GetArgs(arguments); + AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); +} + +function AC_AX_GetArgs(args){ + var ret = new Object(); + ret.embedAttrs = new Object(); + ret.params = new Object(); + ret.objAttrs = new Object(); + for (var i=0; i < args.length; i=i+2){ + var currArg = args[i].toLowerCase(); + + switch (currArg){ + case "pluginspage": + case "type": + ret.embedAttrs[args[i]] = args[i+1]; + break; + case "data": + case "codebase": + case "classid": + case "id": + case "onafterupdate": + case "onbeforeupdate": + case "onblur": + case "oncellchange": + case "onclick": + case "ondblClick": + case "ondrag": + case "ondragend": + case "ondragenter": + case "ondragleave": + case "ondragover": + case "ondrop": + case "onfinish": + case "onfocus": + case "onhelp": + case "onmousedown": + case "onmouseup": + case "onmouseover": + case "onmousemove": + case "onmouseout": + case "onkeypress": + case "onkeydown": + case "onkeyup": + case "onload": + case "onlosecapture": + case "onpropertychange": + case "onreadystatechange": + case "onrowsdelete": + case "onrowenter": + case "onrowexit": + case "onrowsinserted": + case "onstart": + case "onscroll": + case "onbeforeeditfocus": + case "onactivate": + case "onbeforedeactivate": + case "ondeactivate": + ret.objAttrs[args[i]] = args[i+1]; + break; + case "width": + case "height": + case "align": + case "vspace": + case "hspace": + case "class": + case "title": + case "accesskey": + case "name": + case "tabindex": + ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1]; + break; + default: + ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1]; + } + } + return ret; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_QuickTime.js b/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_QuickTime.js new file mode 100644 index 0000000..1b22086 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_QuickTime.js @@ -0,0 +1 @@ +/* File: AC_QuickTime.js Abstract: This file contains functions to generate OBJECT and EMBED tags for QuickTime content. Version: <1.1> Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software. In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Copyright © 2006 Apple Computer, Inc., All Rights Reserved */ /* * This file contains functions to generate OBJECT and EMBED tags for QuickTime content. */ /************** LOCALIZABLE GLOBAL VARIABLES ****************/ var gArgCountErr = 'The "%%" function requires an even number of arguments.' + '\nArguments should be in the form "atttributeName", "attributeValue", ...'; /******************** END LOCALIZABLE **********************/ var gTagAttrs = null; var gQTGeneratorVersion = 1.0; function AC_QuickTimeVersion() { return gQTGeneratorVersion; } function _QTComplain(callingFcnName, errMsg) { errMsg = errMsg.replace("%%", callingFcnName); alert(errMsg); } function _QTAddAttribute(prefix, slotName, tagName) { var value; value = gTagAttrs[prefix + slotName]; if ( null == value ) value = gTagAttrs[slotName]; if ( null != value ) { if ( 0 == slotName.indexOf(prefix) && (null == tagName) ) tagName = slotName.substring(prefix.length); if ( null == tagName ) tagName = slotName; return '' + tagName + '="' + value + '"'; } else return ""; } function _QTAddObjectAttr(slotName, tagName) { // don't bother if it is only for the embed tag if ( 0 == slotName.indexOf("emb#") ) return ""; if ( 0 == slotName.indexOf("obj#") && (null == tagName) ) tagName = slotName.substring(4); return _QTAddAttribute("obj#", slotName, tagName); } function _QTAddEmbedAttr(slotName, tagName) { // don't bother if it is only for the object tag if ( 0 == slotName.indexOf("obj#") ) return ""; if ( 0 == slotName.indexOf("emb#") && (null == tagName) ) tagName = slotName.substring(4); return _QTAddAttribute("emb#", slotName, tagName); } function _QTAddObjectParam(slotName, generateXHTML) { var paramValue; var paramStr = ""; var endTagChar = (generateXHTML) ? ' />' : '>'; if ( -1 == slotName.indexOf("emb#") ) { // look for the OBJECT-only param first. if there is none, look for a generic one paramValue = gTagAttrs["obj#" + slotName]; if ( null == paramValue ) paramValue = gTagAttrs[slotName]; if ( 0 == slotName.indexOf("obj#") ) slotName = slotName.substring(4); if ( null != paramValue ) paramStr = '' + _QTAddObjectParam("src", generateXHTML); var embedTag = ''; } // return the object/embed as a string function QT_GenerateOBJECTText() { return _QTGenerate("QT_GenerateOBJECTText", false, arguments); } function QT_GenerateOBJECTText_XHTML() { return _QTGenerate("QT_GenerateOBJECTText_XHTML", true, arguments); } function QT_WriteOBJECT() { document.writeln(_QTGenerate("QT_WriteOBJECT", false, arguments)); } function QT_WriteOBJECT_XHTML() { document.writeln(_QTGenerate("QT_WriteOBJECT_XHTML", true, arguments)); } \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_RunActiveContent.js b/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_RunActiveContent.js new file mode 100644 index 0000000..34c7c86 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/help/scripts/AC_RunActiveContent.js @@ -0,0 +1,337 @@ +//v1.7 +// Flash Player Version Detection +// Detect Client Browser type +// Copyright 2005-2007 Adobe Systems Incorporated. All rights reserved. +var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; +var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; +var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; + +function ControlVersion() +{ + var version; + var axo; + var e; + + // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry + + try { + // version will be set for 7.X or greater players + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); + version = axo.GetVariable("$version"); + } catch (e) { + } + + if (!version) + { + try { + // version will be set for 6.X players only + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); + + // installed player is some revision of 6.0 + // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29, + // so we have to be careful. + + // default to the first public version + version = "WIN 6,0,21,0"; + + // throws if AllowScripAccess does not exist (introduced in 6.0r47) + axo.AllowScriptAccess = "always"; + + // safe to call for 6.0r47 or greater + version = axo.GetVariable("$version"); + + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 4.X or 5.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = axo.GetVariable("$version"); + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 3.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = "WIN 3,0,18,0"; + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 2.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); + version = "WIN 2,0,0,11"; + } catch (e) { + version = -1; + } + } + + return version; +} + +// JavaScript helper required to detect Flash Player PlugIn version information +function GetSwfVer(){ + // NS/Opera version >= 3 check for Flash plugin in plugin array + var flashVer = -1; + + if (navigator.plugins != null && navigator.plugins.length > 0) { + if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { + var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; + var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; + var descArray = flashDescription.split(" "); + var tempArrayMajor = descArray[2].split("."); + var versionMajor = tempArrayMajor[0]; + var versionMinor = tempArrayMajor[1]; + var versionRevision = descArray[3]; + if (versionRevision == "") { + versionRevision = descArray[4]; + } + if (versionRevision[0] == "d") { + versionRevision = versionRevision.substring(1); + } else if (versionRevision[0] == "r") { + versionRevision = versionRevision.substring(1); + if (versionRevision.indexOf("d") > 0) { + versionRevision = versionRevision.substring(0, versionRevision.indexOf("d")); + } + } + var flashVer = versionMajor + "." + versionMinor + "." + versionRevision; + } + } + // MSN/WebTV 2.6 supports Flash 4 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; + // WebTV 2.5 supports Flash 3 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; + // older WebTV supports Flash 2 + else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; + else if ( isIE && isWin && !isOpera ) { + flashVer = ControlVersion(); + } + return flashVer; +} + +// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available +function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) +{ + versionStr = GetSwfVer(); + if (versionStr == -1 ) { + return false; + } else if (versionStr != 0) { + if(isIE && isWin && !isOpera) { + // Given "WIN 2,0,0,11" + tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"] + tempString = tempArray[1]; // "2,0,0,11" + versionArray = tempString.split(","); // ['2', '0', '0', '11'] + } else { + versionArray = versionStr.split("."); + } + var versionMajor = versionArray[0]; + var versionMinor = versionArray[1]; + var versionRevision = versionArray[2]; + + // is the major.revision >= requested major.revision AND the minor version >= requested minor + if (versionMajor > parseFloat(reqMajorVer)) { + return true; + } else if (versionMajor == parseFloat(reqMajorVer)) { + if (versionMinor > parseFloat(reqMinorVer)) + return true; + else if (versionMinor == parseFloat(reqMinorVer)) { + if (versionRevision >= parseFloat(reqRevision)) + return true; + } + } + return false; + } +} + +function AC_AddExtension(src, ext) +{ + if (src.indexOf('?') != -1) + return src.replace(/\?/, ext+'?'); + else + return src + ext; +} + +function AC_Generateobj(objAttrs, params, embedAttrs) +{ + var str = ''; + if (isIE && isWin && !isOpera) + { + str += ' '; + } + str += ''; + } + else + { + str += ' '; + } + str += ''; + } + else + { + str += '0) $count++; + if($diffY>0) $count++; + if($diffZ>0) $count++; + + if($reverseRot>0)//create reverse twist + { + if($count!=1) warning("Reverse rotation may not occur as expected."); + + $axis="X"; + + if($diffY>$diffX) $axis="Y"; + + if($diffZ>$diffX && $diffZ>$diffY) $axis="Z"; + + $multNode=`shadingNode -n "reverseTwist#" -asUtility multiplyDivide`; + + setAttr ($multNode+".input1") (-$reverseRot) (-$reverseRot) (-$reverseRot); + + connectAttr ($parentJoint+".rotate") ($multNode+".input2"); + connectAttr ($multNode+".output"+$axis) ($twistJoint+".rotate"+$axis); + } + + return $twistJoint; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenConfineWeights.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenConfineWeights.mel new file mode 100644 index 0000000..6d94e12 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenConfineWeights.mel @@ -0,0 +1,61 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc int rigZenConfineWeights(int $recursive) +{ + float $tol=.0001; + + //find selected vertices + + string $vertices[]=`polyListComponentConversion -tv`; + + //find skin + + string $objects[]=stringArrayRemoveDuplicates(`ls -o $vertices`); + + if(size($objects)>1) error("Vertices must be on the same mesh."); + + string $obj=$objects[0]; + string $skin=zenReturnFirstStringItem(`ls -type skinCluster (listHistory($obj))`); + + //find selected influences + + string $influences[]=stringArrayCatenate(ls("-sl"),listRelatives("-s",(ls("-sl")))); + + if($recursive) $influences=stringArrayCatenate(ls("-sl"),stringArrayCatenate(`listRelatives -ad (ls("-sl"))`,listRelatives("-s",`listRelatives -ad (ls("-sl"))`))); + + $influences=`stringArrayRemoveDuplicates $influences`; + + string $allInfluences[]=`listConnections -s 1 -d 0 ($skin+".matrix")`; + + string $zeroInfluences[]=stringArrayRemove($influences,$allInfluences); + + //clear out all other influences + + int $normalizeWeights=`getAttr ($skin+".normalizeWeights")`; + + setAttr ($skin+".normalizeWeights") true; + + string $command; + + $command="skinPercent -nrm true "; + + for($z in $zeroInfluences) $command=$command+"-tv "+$z+" 0 "; + + eval($command+$skin+" "+(zenReturnStringArrayFormat($vertices))); + + setAttr ($skin+".normalizeWeights") $normalizeWeights; + + return 1; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenFlipPose.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenFlipPose.mel new file mode 100644 index 0000000..443adb8 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenFlipPose.mel @@ -0,0 +1,72 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc int rigZenFlipPose(int $axis, string $symmetryPose) +{ + float $tol=.001; + + string $root=zenReturnFirstStringItem(`dagPose -q -m $symmetryPose`); + + string $moved[]=`dagPose -q -ap $symmetryPose`; + + float $jointTrX[]; + float $jointTrY[]; + float $jointTrZ[]; + + float $jointRotX[]; + float $jointRotY[]; + float $jointRotZ[]; + + float $jointScaleX[]; + float $jointScaleY[]; + float $jointScaleZ[]; + + for($i=0;$i1) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + $ancestorCount=size(stringToStringArray(zenReturnFirstStringItem(`ls -l $influences[$i]`),"|")); + + for($obj in $tempStringArray) + { + if($ancestorCount==size(stringToStringArray(zenReturnFirstStringItem(`ls -l $obj`),"|"))) + $similarNodes[(size($similarNodes))]=$obj; + } + + if(! size($similarNodes)) + $similarNodes=$tempStringArray; + } + + //see if a side is indicated in the object name + + $sideNameID=0; + $sideName=""; + + if(`gmatch ($influences[$i]) "*[Ll][Ee][Ff][Tt]*"`) + { + $sideNameID=1; + $sideName=match("[Ll][Ee][Ff][Tt]",($influences[$i])); + } + + if(`gmatch ($influences[$i]) "*[Rr][Ii][Gg][Hh][Tt]*"`) + { + $sideNameID=2; + $sideName=match("[Rr][Ii][Gg][Hh][Tt]",($influences[$i])); + } + + //see if an opposingly named influence exists + + if($sideNameID) + { + if($sideNameID=1) + { + if(`substring $sideName 1 1`=="L") + $replaceString="R"; + else + $replaceString="r"; + + if(`substring $sideName 2 2`=="E") + $replaceString=$replaceString+"IGHT"; + else + $replaceString=$replaceString+"ight"; + } + else + if($sideNameID=2) + { + if(`substring $sideName 1 1`=="R") + $replaceString="L"; + else + $replaceString="l"; + + if(`substring $sideName 2 2`=="I") + $replaceString=$replaceString+"EFT"; + else + $replaceString=$replaceString+"eft"; + } + + $tempString=`substitute $sideName $influences[$i] $replaceString`; + + if(`stringArrayContains $tempString $influences`) + $similarNodes={$tempString}; + } + + //if influence is a joint, find similarly labeled joints if present + + if($type=="joint" && size($similarNodes)>1) + { + $jointType=getAttr($influences[$i]+".type"); + $side=getAttr($influences[$i]+".side"); + + if($side == 0) + //object is a center joint + $similarNodes={$influences[$i]}; + else + if($jointType != 0 || $side == 1 || $side == 2) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + + for($j in $tempStringArray) + if((getAttr($j+".type"))==$jointType) $similarNodes[(size($similarNodes))]=$j; + + if(! size($similarNodes)) $similarNodes=$tempStringArray; + } + } + + //see if object is a center influence + if(size($similarNodes)>1) + { + $bbCenter_influenceObj= + << + float((`getAttr ($influences[$i]+".boundingBoxMinX")`+`getAttr ($influences[$i]+".boundingBoxMaxX")`)/2), + float((`getAttr ($influences[$i]+".boundingBoxMinY")`+`getAttr ($influences[$i]+".boundingBoxMaxY")`)/2), + float((`getAttr ($influences[$i]+".boundingBoxMinZ")`+`getAttr ($influences[$i]+".boundingBoxMaxZ")`)/2) + >>; + + $rp=`xform -q -ws -rp ($influences[$i])`; + setAttr ($pointMatrixMultNode+".inPoint") $rp[0] $rp[1] $rp[2]; + $rootSpaceRP=`getAttr ($pointMatrixMultNode+".output")`; + $rootSpaceRP_relevantAxis=`getAttr ($pointMatrixMultNode+".output"+$axisString)`; + + setAttr ($pointMatrixMultNode+".inPoint") ($bbCenter_influenceObj.x) ($bbCenter_influenceObj.y) ($bbCenter_influenceObj.z); + $rootSpaceBBCenter=`getAttr ($pointMatrixMultNode+".output")`; + $bbCenter_influenceObj=zenArrayToVector($rootSpaceBBCenter); + $rootSpaceBB_relevantAxis=`getAttr ($pointMatrixMultNode+".output"+$axisString)`; + + //test to see if object is centered + + if(abs($rootSpaceRP_relevantAxis) <= $tol && abs($rootSpaceBB_relevantAxis) <= $tol) + { + $similarNodes={$influences[$i]}; + } + } + + //narrow possible matches to objects with reflecting rotate pivots + if(size($similarNodes)>1) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + + for($obj in $tempStringArray) + { + $tempFloatArray=`xform -q -ws -rp $obj`; + $tempFloatArray[($axis-1)]=-$tempFloatArray[($axis-1)]; + + setAttr ($pointMatrixMultNode+".inPoint") $tempFloatArray[0] $tempFloatArray[1] $tempFloatArray[2]; + + if(mag((zenArrayToVector($rootSpaceRP))-(zenArrayToVector(`getAttr ($pointMatrixMultNode+".output")`))) <= $tol) + $similarNodes[(size($similarNodes))]=$obj; + } + + if(! size($similarNodes)) $similarNodes=$tempStringArray; + } + + //narrow possible matches to objects with reflecting bounding box centers + if(size($similarNodes)>1) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + + for($s in $tempStringArray) + { + $bbCenter_opposingObj= + << + float((`getAttr ($s+".boundingBoxMinX")`+`getAttr ($s+".boundingBoxMaxX")`)/2), + float((`getAttr ($s+".boundingBoxMinY")`+`getAttr ($s+".boundingBoxMaxY")`)/2), + float((`getAttr ($s+".boundingBoxMinZ")`+`getAttr ($s+".boundingBoxMaxZ")`)/2) + >>; + + $tempFloatArray=(zenVectorToArray($bbCenter_opposingObj)); + setAttr ($pointMatrixMultNode+".inPoint") $tempFloatArray[0] $tempFloatArray[1] $tempFloatArray[2]; + + $bbCenter_opposingObj=zenArrayToVector(`getAttr ($pointMatrixMultNode+".output")`); + + switch($axis) + { + case 1: + + $bbCenter_opposingObj=<<(-$bbCenter_opposingObj.x),($bbCenter_opposingObj.y),($bbCenter_opposingObj.z)>>; + break; + + case 2: + + $bbCenter_opposingObj=<<($bbCenter_opposingObj.x),(-$bbCenter_opposingObj.y),($bbCenter_opposingObj.z)>>; + break; + + case 3: + + $bbCenter_opposingObj=<<($bbCenter_opposingObj.x),($bbCenter_opposingObj.y),(-$bbCenter_opposingObj.z)>>; + break; + } + + if(mag($bbCenter_influenceObj-$bbCenter_opposingObj)<$tol) $similarNodes[(size($similarNodes))]=$s; + } + + if(! size($similarNodes)) $similarNodes=$tempStringArray; + } + + if(size($similarNodes)>1) warning("Multiple matches for "+($influences[$i])+". Using "+$similarNodes[0]+"."); + + if(size($similarNodes)==0) warning("No matches for "+($influences[$i])+"."); + else + { + $opposites[$i]=`zenFirstIndexOfStringInArray ($similarNodes[0]) $influences`; + $opposites[($opposites[$i])]=$i; + } + + if(`progressWindow -q -ic`) + { + undoInfo -swf 1; + delete $pointMatrixMultNode; + progressWindow -ep; + EnableAll; + error "User Interupt."; + } + + progressWindow -e -s 1; + } + } + + progressWindow -ep; + + delete $pointMatrixMultNode; + + //find opposing vertices + + int $intermediateObj=`getAttr ($inputGeometry+".intermediateObject")`; + + setAttr ($inputGeometry+".intermediateObject") 0; + + int $undoInfoState=`undoInfo -q -swf`; + + int $opposingVerts[]; + + $err=catch($opposingVerts=zenVertexSymmetryNode(0,$axis,$inputGeometry,$root)); + + if($err) + { + setAttr ($inputGeometry+".intermediateObject") $intermediateObj; + error("Error sorting reflecting vertices."); + } + + float $weight; + + int $npSwitch=-1; + + if($positiveToNegative) $npSwitch=1; + + //set weights + + progressWindow -isInterruptable 1 -title "Working" -status "Setting Influence Weights" -max (size($opposingVerts)/2) -progress 0; + + int $normalizeWeights=`getAttr ($skinClusterNode+".normalizeWeights")`; + + setAttr ($skinClusterNode+".normalizeWeights") true; + + string $vertInfluences[]; + float $vertInfluenceWeights[]; + + int $influenceIndex; + int $oppositeIndex; + + string $oppositeInfluence; + string $sourceConnection; + string $targetConnection; + + for($i=0;$i<(size($opposingVerts));$i++) + { + if($opposingVerts[$i]*$npSwitch<0) + { + for($n=0;$n<(size($opposites));$n++) + { + $sourceConnection=($skinClusterNode+".weightList["+(string($i))+"].weights["+(string($n))+"]"); + $targetConnection=($skinClusterNode+".weightList["+(string(abs($opposingVerts[$i])))+"].weights["+(string($opposites[$n]))+"]"); + + if($sourceConnection!=$targetConnection) + { + if($connect) + connectAttr -f $sourceConnection $targetConnection; + else + { + $weight=`getAttr $sourceConnection`; + setAttr $targetConnection $weight; + } + } + } + + + if(`progressWindow -q -ic`) + { + setAttr ($inputGeometry+".intermediateObject") $intermediateObj; + setAttr ($skinClusterNode+".normalizeWeights") $normalizeWeights; + progressWindow -ep; + skinPercent -nrm true $skinClusterNode (`polyListComponentConversion -tv $outputGeometry`); + undoInfo -swf 1; + EnableAll;; + error "User Interupt."; + } + + progressWindow -e -s 1; + } + } + + progressWindow -ep; + + skinPercent -nrm true $skinClusterNode (polyListComponentConversion("-tv",$outputGeometry)); + + setAttr ($skinClusterNode+".normalizeWeights") $normalizeWeights; + + dagPose -r -g $poseNode; + + setAttr ($inputGeometry+".intermediateObject") $intermediateObj; + + print("Operation took "+`timerX -st $timer`+" seconds."); + + EnableAll; + + return 1; +} + + diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenMirrorSkeleton.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenMirrorSkeleton.mel new file mode 100644 index 0000000..254e724 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenMirrorSkeleton.mel @@ -0,0 +1,108 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//Mirrors a skeleton from the root joint. +//Joints to be mirrored are determined by side labels, or naming if side labels are absent. + +global proc rigZenMirrorSkeleton +( + string $axis, // XY,YZ,XZ + string $root +) +{ + string $joints[]=zenReverseStringArray(`listRelatives -f -ad -type joint $root`); + string $findString; + string $replaceString; + string $mirroredJoints[]; + string $jointToMirror[]; + + for($j in $joints) + { + if(!`stringArrayContains $j $mirroredJoints`) + { + if(`gmatch $j "*[Ll][Ee][Ff][Tt]*"` || `getAttr ($j+".side")`==1)//joint is on left side + { + $findString=""; + $replaceString=""; + + $findString=match("[Ll][Ee][Ff][Tt]",$j); + + if(size($findString)) + { + if(`substring $findString 1 1`=="L") + $replaceString="R"; + else + $replaceString="r"; + + if(`substring $findString 2 2`=="E") + $replaceString=$replaceString+"IGHT"; + else + $replaceString=$replaceString+"ight"; + + mirrorJoint(("-mirror"+$axis),"-mirrorBehavior","-searchReplace",$findString,$replaceString,$j); + } + else + mirrorJoint(("-mirror"+$axis),"-mirrorBehavior",$j); + + $mirroredJoints=stringArrayCatenate($mirroredJoints,`listRelatives -f -ad -type joint $j`); + } + else + if(`gmatch $j "*[Rr][Ii][Gg][Hh][Tt]*"` || `getAttr ($j+".side")`==2)//joint is on right side + { + $findString=""; + $replaceString=""; + + $findString=match("[Rr][Ii][Gg][Hh][Tt]",$j); + + if(size($findString)) + { + if(`substring $findString 1 1`=="R") + $replaceString="L"; + else + $replaceString="l"; + + if(`substring $findString 2 2`=="I") + $replaceString=$replaceString+"EFT"; + else + $replaceString=$replaceString+"eft"; + + mirrorJoint(("-mirror"+$axis),"-mirrorBehavior","-searchReplace",$findString,$replaceString,$j); + } + else + mirrorJoint(("-mirror"+$axis),"-mirrorBehavior",$j); + + $mirroredJoints=stringArrayCatenate($mirroredJoints,`listRelatives -f -ad -type joint $j`); + } + } + } + + //change side attribute for mirrored joints & rename if they have non-unique names + string $allJoints[]=`listRelatives -f -ad -type joint $root`; + $newJoints=`stringArrayRemove $joints $allJoints`; + + select $newJoints; + + string $shortName; + int $side; + + for($j in $newJoints) + { + $side=`getAttr ($j+".side")`; + if($side==1) setAttr ($j+".side") 2; + if($side==2) setAttr ($j+".side") 1; + + $shortName=zenReturnLastStringItem(`stringToStringArray $j "|"`); + if(size(ls($shortName))>1) rename($j,`zenUniqueName $shortName`); + } +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenMuscle.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenMuscle.mel new file mode 100644 index 0000000..631a989 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenMuscle.mel @@ -0,0 +1,1588 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +requires "closestPointOnMesh"; +requires "decomposeMatrix"; + +proc string rigZenTangentSpaceMuscleCluster(string $sel,string $poseA, string $poseB, int $createJiggle) +{ + string $surfaceSh=zenReturnFirstStringItem(stringArrayCatenate(`ls -type shape $sel`,`listRelatives -s -ni $sel`)); + string $surfaceTr=zenReturnFirstStringItem(`listRelatives -p $surfaceSh`); + string $inSurface=zenReturnFirstStringItem(`listConnections -plugs 1 ($surfaceSh+".create")`); + string $computeSurface=$surfaceSh; + + //check for history + + if(`objExists $inSurface`) + { + $computeSurface=`createNode -p $surfaceTr nurbsSurface`; + connectAttr $inSurface ($computeSurface+".create"); + } + + setAttr ($computeSurface+".caching") 1; + + string $clusterSpace; + string $clusterAutoTr; + string $clusterTr; + string $clusterHandleShape; + string $makeNurbSphereNode; + string $pointOnSurfaceInfoNode; + string $decomposeMatrixNode; + string $fourByFourMatrixNode; + string $scaleCompensateDecomposeMatrix; + string $parentTr; + string $clusterSpaceGroup; + + $parentTr=zenReturnFirstStringItem(`listRelatives -p $surfaceTr`); + + $clusterSpaceGroup=`createNode -n "tangentSpaceGroup#" transform`; + + $clusterSpace=`createNode -p $clusterSpaceGroup -n "tangentSpace#" transform`; + + setAttr ($clusterSpace+".inheritsTransform") 0; + + setAttr -lock true ($clusterSpace+".sx"); + setAttr -lock true ($clusterSpace+".sy"); + setAttr -lock true ($clusterSpace+".sz"); + + if(`objExists $parentTr`) + { + $scaleCompensateDecomposeMatrix=`createNode decomposeMatrix`; + connectAttr ($parentTr+".worldMatrix[0]") ($scaleCompensateDecomposeMatrix+".inputMatrix"); + } + + $clusterAutoTr=`createNode -p $clusterSpace -n "tangentSpaceAutoFlex#" transform`; + $clusterTr=`createNode -p $clusterAutoTr -n "muscleCtrl#" transform`; + $clusterHandleShape=`createNode -p $clusterTr -n ($clusterTr+"Shape") nurbsSurface`; + + //weight control attributes + + addAttr -k 1 -ln "bias" -at double -min .01 -max .99 -hsn true -hsx true -smn .1 -smx .9 -dv .5 $clusterTr; + addAttr -k 1 -ln "fallOff" -at double -min 0 -max 1 -dv .8 $clusterTr; + addAttr -k 1 -ln "centerWidth" -at double -min 0 -max 1 -dv 0 $clusterTr; + addAttr -k 1 -ln "tangentSpace" -at double -min 0 -max 1 -dv 0 $clusterTr; + + //auto-flex attributes + + if(`objExists $poseB` && `objExists $poseA`) + { + addAttr -k 1 -ln "autoFlexBias" -at double -min 0.0 -max 1.0 -dv 0 $clusterTr; + addAttr -k 1 -ln "autoTransX" -at double -dv 0 $clusterTr; + addAttr -k 1 -ln "autoTransY" -at double -dv 0 $clusterTr; + addAttr -k 1 -ln "autoTransZ" -at double -dv 0 $clusterTr; + addAttr -k 1 -ln "autoRotX" -at double -dv 0 $clusterTr; + addAttr -k 1 -ln "autoRotY" -at double -dv 0 $clusterTr; + addAttr -k 1 -ln "autoRotZ" -at double -dv 0 $clusterTr; + addAttr -k 1 -ln "autoScaleX" -at double -dv 1 $clusterTr; + addAttr -k 1 -ln "autoScaleY" -at double -dv 1 $clusterTr; + addAttr -k 1 -ln "autoScaleZ" -at double -dv 1 $clusterTr; + } + + //jiggle attributes + + if($createJiggle) + { + addAttr -k 1 -ln "jiggle" -sn "j" -at "enum" -en "enable:disable:enableOnlyAfterObjectStops:" -dv 1 $clusterTr; + addAttr -k 1 -ln "jEnvelope" -sn "jE" -at double -min 0 -max 1 -dv 1 $clusterTr; + addAttr -k 1 -ln "jDamping" -sn "jD" -at double -min 0 -max 1 -dv .5 $clusterTr; + addAttr -k 1 -ln "jStiffness" -sn "jS" -at double -min 0 -max 1 -dv .5 $clusterTr; + addAttr -k 1 -ln "jWeight" -sn "jW" -at double -min 0 -dv 1 $clusterTr; + addAttr -k 1 -ln "jForceNormal" -sn "jFN" -at double -min 0 -max 1 -dv 1 $clusterTr; + addAttr -k 1 -ln "jForceTangent" -sn "jFT" -at double -min 0 -max 1 -dv 1 $clusterTr; + addAttr -k 1 -ln "jDirBias" -sn "jDB" -at double -min 0 -max 1 -dv .5 $clusterTr; + addAttr -k 1 -ln "jIgnoreTr" -sn "jIT" -at bool -dv 0 $clusterTr; + addAttr -k 1 -ln "jMotionMult" -sn "jMM" -at double -min 0 -dv 1 $clusterTr; + } + + //display attributes + + addAttr -ln "handleOffsetX" -at double -dv 4 $clusterTr; + setAttr -k false -cb true ($clusterTr+".handleOffsetX"); + + addAttr -ln "handleOffsetY" -at double -dv 0 $clusterTr; + setAttr -k false -cb true ($clusterTr+".handleOffsetY"); + + addAttr -ln "handleOffsetZ" -at double -dv 0 $clusterTr; + setAttr -k false -cb true ($clusterTr+".handleOffsetZ"); + + addAttr -ln "handleRadius" -at double -dv 1 $clusterTr; + setAttr -k false -cb true ($clusterTr+".handleRadius"); + + $makeNurbSphereNode=`createNode makeNurbSphere`; + + setAttr ($clusterHandleShape+".curvePrecisionShaded") 4; + + string $handleOffsetMultiplier=`createNode multiplyDivide`; + + setAttr ($handleOffsetMultiplier+".i1") 1 1 1; + + string $handleRadiusMultiplier=`createNode multDoubleLinear`; + + connectAttr ($clusterTr+".handleRadius") ($handleRadiusMultiplier+".i1"); + + connectAttr ($clusterTr+".handleOffsetX") ($handleOffsetMultiplier+".i2x"); + connectAttr ($clusterTr+".handleOffsetY") ($handleOffsetMultiplier+".i2y"); + connectAttr ($clusterTr+".handleOffsetY") ($handleOffsetMultiplier+".i2z"); + + + connectAttr ($handleOffsetMultiplier+".ox") ($makeNurbSphereNode+".pivotX"); + connectAttr ($handleOffsetMultiplier+".oy") ($makeNurbSphereNode+".pivotY"); + connectAttr ($handleOffsetMultiplier+".oz") ($makeNurbSphereNode+".pivotZ"); + + connectAttr ($makeNurbSphereNode+".outputSurface") ($clusterHandleShape+".create"); + + if(`objExists $parentTr`) + { + connectAttr ($scaleCompensateDecomposeMatrix+".outputScaleY") ($handleRadiusMultiplier+".i2"); + connectAttr ($handleRadiusMultiplier+".o") ($makeNurbSphereNode+".radius"); + + connectAttr ($scaleCompensateDecomposeMatrix+".outputScaleY") ($handleOffsetMultiplier+".i1x"); + connectAttr ($scaleCompensateDecomposeMatrix+".outputScaleY") ($handleOffsetMultiplier+".i1y"); + connectAttr ($scaleCompensateDecomposeMatrix+".outputScaleY") ($handleOffsetMultiplier+".i1z"); + } + + $pointOnSurfaceInfoNode=`createNode pointOnSurfaceInfo`; + + connectAttr ($computeSurface+".worldSpace[0]") ($pointOnSurfaceInfoNode+".inputSurface"); + connectAttr ($clusterTr+".bias") ($pointOnSurfaceInfoNode+".parameterU"); + + setAttr ($pointOnSurfaceInfoNode+".parameterV") .5; + + $decomposeMatrixNode=`createNode decomposeMatrix`; + $fourByFourMatrixNode=`createNode fourByFourMatrix`; + + connectAttr ($pointOnSurfaceInfoNode+".nnx") ($fourByFourMatrixNode+".in00"); + connectAttr ($pointOnSurfaceInfoNode+".nny") ($fourByFourMatrixNode+".in01"); + connectAttr ($pointOnSurfaceInfoNode+".nnz") ($fourByFourMatrixNode+".in02"); + + connectAttr ($pointOnSurfaceInfoNode+".nux") ($fourByFourMatrixNode+".in10"); + connectAttr ($pointOnSurfaceInfoNode+".nuy") ($fourByFourMatrixNode+".in11"); + connectAttr ($pointOnSurfaceInfoNode+".nuz") ($fourByFourMatrixNode+".in12"); + + connectAttr ($pointOnSurfaceInfoNode+".nvx") ($fourByFourMatrixNode+".in20"); + connectAttr ($pointOnSurfaceInfoNode+".nvy") ($fourByFourMatrixNode+".in21"); + connectAttr ($pointOnSurfaceInfoNode+".nvz") ($fourByFourMatrixNode+".in22"); + + connectAttr ($pointOnSurfaceInfoNode+".px") ($fourByFourMatrixNode+".in30"); + connectAttr ($pointOnSurfaceInfoNode+".py") ($fourByFourMatrixNode+".in31"); + connectAttr ($pointOnSurfaceInfoNode+".pz") ($fourByFourMatrixNode+".in32"); + + connectAttr ($fourByFourMatrixNode+".output") ($decomposeMatrixNode+".inputMatrix"); + + connectAttr ($decomposeMatrixNode+".outputTranslate") ($clusterSpace+".t"); + connectAttr ($decomposeMatrixNode+".outputRotate") ($clusterSpace+".r"); + + //create clusters + + string $clusterNodes[]; + string $handleShape; + string $multMatrixNode; + string $multMatrixNode2; + string $clusterPointOnSurfaceInfo; + string $clusterFourByFourMatrix; + string $clusterNodeSpace; + string $decomposeClusterNodeSpace; + string $blendRotMatrix; + string $blendTrMatrix; + string $blendRotPreBindMatrix; + string $blendTrPreBindMatrix; + string $blendClusterSpaceAddMatrix; + + string $reverseMatrixWeighting=`createNode reverse`; + connectAttr ($clusterTr+".tangentSpace") ($reverseMatrixWeighting+".ix"); + + float $uCount=size(ls("-fl",($surfaceSh+".cv[*][0]"))); + float $vCount=size(ls("-fl",($surfaceSh+".cv[0][*]"))); + + + int $startNum=`getAttr ($computeSurface+".degreeU")`; + int $weightID=$vCount*$startNum; + + for($i=$startNum;$i<($uCount-$startNum);$i++) + { + $clusterFourByFourMatrix=`createNode fourByFourMatrix`; + + $clusterPointOnSurfaceInfo=`createNode pointOnSurfaceInfo`; + + setAttr ($clusterPointOnSurfaceInfo+".parameterU") ((float($i))/($uCount-1)); + setAttr ($clusterPointOnSurfaceInfo+".parameterV") .5; + + connectAttr ($computeSurface+".worldSpace[0]") ($clusterPointOnSurfaceInfo+".inputSurface"); + + connectAttr ($clusterPointOnSurfaceInfo+".nnx") ($clusterFourByFourMatrix+".in00"); + connectAttr ($clusterPointOnSurfaceInfo+".nny") ($clusterFourByFourMatrix+".in01"); + connectAttr ($clusterPointOnSurfaceInfo+".nnz") ($clusterFourByFourMatrix+".in02"); + + connectAttr ($clusterPointOnSurfaceInfo+".nux") ($clusterFourByFourMatrix+".in10"); + connectAttr ($clusterPointOnSurfaceInfo+".nuy") ($clusterFourByFourMatrix+".in11"); + connectAttr ($clusterPointOnSurfaceInfo+".nuz") ($clusterFourByFourMatrix+".in12"); + + connectAttr ($clusterPointOnSurfaceInfo+".nvx") ($clusterFourByFourMatrix+".in20"); + connectAttr ($clusterPointOnSurfaceInfo+".nvy") ($clusterFourByFourMatrix+".in21"); + connectAttr ($clusterPointOnSurfaceInfo+".nvz") ($clusterFourByFourMatrix+".in22"); + + connectAttr ($clusterPointOnSurfaceInfo+".px") ($clusterFourByFourMatrix+".in30"); + connectAttr ($clusterPointOnSurfaceInfo+".py") ($clusterFourByFourMatrix+".in31"); + connectAttr ($clusterPointOnSurfaceInfo+".pz") ($clusterFourByFourMatrix+".in32"); + + $multMatrixNode=`createNode multMatrix`; + + connectAttr -f ($clusterTr+".matrix") ($multMatrixNode+".i[0]"); + connectAttr -f ($clusterAutoTr+".matrix") ($multMatrixNode+".i[1]"); + + $clusterNodeSpace=`createNode -n "clusterSpace#" -p $clusterSpaceGroup transform`; + + setAttr ($clusterNodeSpace+".inheritsTransform") 0; + + setAttr -lock true ($clusterNodeSpace+".sx"); + setAttr -lock true ($clusterNodeSpace+".sy"); + setAttr -lock true ($clusterNodeSpace+".sz"); + + $decomposeClusterNodeSpace=`createNode decomposeMatrix`; + + connectAttr -f ($clusterFourByFourMatrix+".o") ($decomposeClusterNodeSpace+".imat"); + connectAttr -f ($decomposeClusterNodeSpace+".outputRotate") ($clusterNodeSpace+".r"); + connectAttr -f ($decomposeClusterNodeSpace+".outputTranslate") ($clusterNodeSpace+".t"); + + //create tangent space blender + + $blendTrMatrix=`createNode blendColors`; + + connectAttr -f ($decomposeClusterNodeSpace+".outputTranslate") ($blendTrMatrix+".c1"); + connectAttr -f ($decomposeMatrixNode+".outputTranslate") ($blendTrMatrix+".c2"); + connectAttr -f ($clusterTr+".tangentSpace") ($blendTrMatrix+".b"); + + $blendRotMatrix=`createNode blendColors`; + + connectAttr -f ($decomposeClusterNodeSpace+".outputRotate") ($blendRotMatrix+".c1"); + connectAttr -f ($decomposeMatrixNode+".outputRotate") ($blendRotMatrix+".c2"); + connectAttr -f ($clusterTr+".tangentSpace") ($blendRotMatrix+".b"); + + $clusterNodes=cluster($surfaceSh+".cv["+(string($i))+"][*]"); + + connectAttr -f ($multMatrixNode+".o") ($clusterNodes[0]+".matrix"); + connectAttr -f ($clusterNodeSpace+".worldInverseMatrix") ($clusterNodes[0]+".bindPreMatrix"); + connectAttr -f ($clusterNodeSpace+".worldMatrix[0]") ($multMatrixNode+".i[2]"); + + connectAttr -f ($blendRotMatrix+".op") ($clusterNodeSpace+".r"); + connectAttr -f ($blendTrMatrix+".op") ($clusterNodeSpace+".t"); + + $handleShape=zenReturnFirstStringItem(`listRelatives -s -ni $clusterNodes[1]`); + + disconnectAttr ($handleShape+".clusterTransforms[0]") (zenReturnFirstStringItem(listConnections("-plugs",true,$handleShape+".clusterTransforms[0]"))); + + delete $clusterNodes[1]; + } + + //create jiggle + + string $jiggleNode; + string $jiggleCache; + + if($createJiggle) + { + $jiggleNode=zenReturnFirstStringItem(`deformer -n "jiggle#" -type jiggle $surfaceSh`); + + connectAttr ($clusterTr+".j") ($jiggleNode+".enable"); + connectAttr ($clusterTr+".jE") ($jiggleNode+".envelope"); + connectAttr ($clusterTr+".jD") ($jiggleNode+".dp"); + connectAttr ($clusterTr+".jS") ($jiggleNode+".sf"); + connectAttr ($clusterTr+".jW") ($jiggleNode+".jw"); + connectAttr ($clusterTr+".jFN") ($jiggleNode+".fan"); + connectAttr ($clusterTr+".jFT") ($jiggleNode+".fot"); + connectAttr ($clusterTr+".jDB") ($jiggleNode+".bias"); + connectAttr ($clusterTr+".jIT") ($jiggleNode+".it"); + connectAttr ($clusterTr+".jMM") ($jiggleNode+".motionMultiplier"); + + //create jiggle cache + + $jiggleCache=`createNode -n ($jiggleNode+"Cache") diskCache`; + + setAttr -type "string" ($jiggleCache+".cacheName") $jiggleCache; + connectAttr ($jiggleCache+".diskCache") ($jiggleNode+".diskCache"); + catch(connectAttr(((zenReturnFirstStringItem(`ls -type time`))+".outTime"),($jiggleNode+".currentTime"))); + } + + //create blendShape for weighting + + string $blendShapeNode=zenReturnFirstStringItem(`blendShape -o local -w 0 1 $computeSurface $surfaceSh`); + + //create falloff ramp + + string $controlRamp=`createNode ramp`; + + setAttr ($controlRamp+".colorEntryList[0].position") .1; + setAttr ($controlRamp+".colorEntryList[1].position") .475; + setAttr ($controlRamp+".colorEntryList[2].position") .525; + setAttr ($controlRamp+".colorEntryList[3].position") .9; + + setAttr ($controlRamp+".colorEntryList[0].color") -type double3 1 1 1; + setAttr ($controlRamp+".colorEntryList[1].color") -type double3 .2 .2 .2; + setAttr ($controlRamp+".colorEntryList[2].color") -type double3 .2 .2 .2; + setAttr ($controlRamp+".colorEntryList[3].color") -type double3 1 1 1; + + //interpolation & type + + setAttr ($controlRamp+".type") 1; + setAttr ($controlRamp+".interpolation ") 6; + + string $weightRamps[]; + + for($i=$startNum;$i<($uCount-$startNum);$i++) + { + $weightRamps[$i]=`createNode ramp`; + + addAttr -at double -ln setU -dv ((float($i))/($uCount-1)) $weightRamps[$i]; + connectAttr ($weightRamps[$i]+".setU") ($weightRamps[$i]+".u"); + connectAttr ($weightRamps[$i]+".setU") ($weightRamps[$i]+".v"); + + connectAttr ($controlRamp+".colorEntryList[0].position") ($weightRamps[$i]+".colorEntryList[0].position"); + connectAttr ($controlRamp+".colorEntryList[1].position") ($weightRamps[$i]+".colorEntryList[1].position"); + connectAttr ($controlRamp+".colorEntryList[2].position") ($weightRamps[$i]+".colorEntryList[2].position"); + connectAttr ($controlRamp+".colorEntryList[3].position") ($weightRamps[$i]+".colorEntryList[3].position"); + + connectAttr ($controlRamp+".colorEntryList[0].color") ($weightRamps[$i]+".colorEntryList[0].color"); + connectAttr ($controlRamp+".colorEntryList[1].color") ($weightRamps[$i]+".colorEntryList[1].color"); + connectAttr ($controlRamp+".colorEntryList[2].color") ($weightRamps[$i]+".colorEntryList[2].color"); + connectAttr ($controlRamp+".colorEntryList[3].color") ($weightRamps[$i]+".colorEntryList[3].color"); + + //interpolation & type + + connectAttr ($controlRamp+".type") ($weightRamps[$i]+".type"); + connectAttr ($controlRamp+".interpolation") ($weightRamps[$i]+".interpolation"); + + for($n=0;$n<$vCount;$n++) + connectAttr -f ($weightRamps[$i]+".outColorR") ($blendShapeNode+".inputTarget[0].inputTargetGroup[0].targetWeights["+(string($weightID++))+"]"); + } + + //create ramp controlls + + //bias & center width + + string $reverseNode0=`createNode reverse`; + + connectAttr ($clusterTr+".bias") ($reverseNode0+".ix"); + + string $multDoubleLinear0=`createNode multDoubleLinear`; + + setAttr ($multDoubleLinear0+".i1") -1; + + connectAttr ($clusterTr+".bias") ($multDoubleLinear0+".i2"); + + string $multDoubleLinearNode1=`createNode multDoubleLinear`; + + connectAttr ($multDoubleLinear0+".o") ($multDoubleLinearNode1+".i1"); + + connectAttr ($clusterTr+".centerWidth") ($multDoubleLinearNode1+".i2"); + + string $addDoubleLinearNode1=`createNode addDoubleLinear`; + + connectAttr ($clusterTr+".bias") ($addDoubleLinearNode1+".i1"); + connectAttr ($multDoubleLinearNode1+".o") ($addDoubleLinearNode1+".i2"); + + connectAttr ($addDoubleLinearNode1+".o") ($controlRamp+".colorEntryList[1].position"); + + string $multDoubleLinearNode2=`createNode multDoubleLinear`; + + connectAttr ($reverseNode0+".ox") ($multDoubleLinearNode2+".i1"); + + connectAttr ($clusterTr+".centerWidth") ($multDoubleLinearNode2+".i2"); + + string $addDoubleLinearNode2=`createNode addDoubleLinear`; + + connectAttr ($clusterTr+".bias") ($addDoubleLinearNode2+".i1"); + connectAttr ($multDoubleLinearNode2+".o") ($addDoubleLinearNode2+".i2"); + + connectAttr ($addDoubleLinearNode2+".o") ($controlRamp+".colorEntryList[2].position"); + + //falloff + + string $reverseNode1=`createNode reverse`; + + connectAttr ($clusterTr+".fallOff") ($reverseNode1+".ix"); + + string $multDoubleLinear3=`createNode multDoubleLinear`; + + connectAttr ($addDoubleLinearNode2+".o") ($multDoubleLinear3+".i1"); + connectAttr ($reverseNode1+".ox") ($multDoubleLinear3+".i2"); + + string $reverseNode2=`createNode reverse`; + + connectAttr ($reverseNode1+".ox") ($reverseNode2+".ix"); + + string $addDoubleLinearNode3=`createNode addDoubleLinear`; + + connectAttr ($multDoubleLinear3+".o") ($addDoubleLinearNode3+".i1"); + connectAttr ($reverseNode2+".ox") ($addDoubleLinearNode3+".i2"); + connectAttr ($addDoubleLinearNode3+".o") ($controlRamp+".colorEntryList[3].position"); + + string $multDoubleLinear4=`createNode multDoubleLinear`; + + connectAttr ($addDoubleLinearNode1+".o") ($multDoubleLinear4+".i1"); + connectAttr ($reverseNode1+".ox") ($multDoubleLinear4+".i2"); + connectAttr ($multDoubleLinear4+".o") ($controlRamp+".colorEntryList[0].position"); + + //create automated controls + + string $poseDriver; + string $poseMultiplier; + string $poseBlender; + + if(`objExists $poseB` && `objExists $poseA`) + { + //translate + + $poseDriver=rigZenPoseDrivenWeight($poseA,$poseB); + + connectAttr -f ( $clusterTr+".autoFlexBias" ) ( ( zenReturnFirstStringItem( `ls -o $poseDriver` ) )+".bias" ); + + $poseMultiplier=`createNode multDoubleLinear`; + + connectAttr $poseDriver ($poseMultiplier+".i1"); + + connectAttr ($clusterTr+".autoTransX") ($poseMultiplier+".i2"); + + connectAttr ($poseMultiplier+".o") ($clusterAutoTr+".tx"); + + $poseMultiplier=`createNode multDoubleLinear`; + + connectAttr $poseDriver ($poseMultiplier+".i1"); + + connectAttr ($clusterTr+".autoTransY") ($poseMultiplier+".i2"); + + connectAttr ($poseMultiplier+".o") ($clusterAutoTr+".ty"); + + $poseMultiplier=`createNode multDoubleLinear`; + + connectAttr $poseDriver ($poseMultiplier+".i1"); + + connectAttr ($clusterTr+".autoTransZ") ($poseMultiplier+".i2"); + + connectAttr ($poseMultiplier+".o") ($clusterAutoTr+".tz"); + + //rotate + + $poseMultiplier=`createNode multDoubleLinear`; + + connectAttr $poseDriver ($poseMultiplier+".i1"); + + connectAttr ($clusterTr+".autoRotX") ($poseMultiplier+".i2"); + + connectAttr ($poseMultiplier+".o") ($clusterAutoTr+".rx"); + + $poseMultiplier=`createNode multDoubleLinear`; + + connectAttr $poseDriver ($poseMultiplier+".i1"); + + connectAttr ($clusterTr+".autoRotY") ($poseMultiplier+".i2"); + + connectAttr ($poseMultiplier+".o") ($clusterAutoTr+".ry"); + + $poseMultiplier=`createNode multDoubleLinear`; + + connectAttr $poseDriver ($poseMultiplier+".i1"); + + connectAttr ($clusterTr+".autoRotZ") ($poseMultiplier+".i2"); + + connectAttr ($poseMultiplier+".o") ($clusterAutoTr+".rz"); + + //scale + + $poseBlender=`createNode blendColors`; + + setAttr ($poseBlender+".c2") 1 1 1; + + connectAttr $poseDriver ($poseBlender+".b"); + + connectAttr ($clusterTr+".autoScaleX") ($poseBlender+".c1r"); + + connectAttr ($poseBlender+".opr") ($clusterAutoTr+".sx"); + + connectAttr ($clusterTr+".autoScaleY") ($poseBlender+".c1g"); + + connectAttr ($poseBlender+".opg") ($clusterAutoTr+".sy"); + + connectAttr ($clusterTr+".autoScaleZ") ($poseBlender+".c1b"); + + connectAttr ($poseBlender+".opb") ($clusterAutoTr+".sz"); + + } + + if(`objExists $inSurface`) setAttr ($computeSurface+".intermediateObject") true; + + return $clusterTr; +} + +global proc string[] rigZenMuscle +( + string $sel[], + int $axis, + int $createJiggle, + int $generateScript +) +{ + int $degree=2; + int $spans=2; + + //disable all node evaluations ( so we can manipulate joints without being bothered by IKs etc ) + + DisableAll; + + //set EnableAll to occur when we're all done, regardless of errors + + zenDeferCommand("EnableAll"); + + string $tempString; + string $tempStringArray[]; + + //convert string format + + for($i=0;$i1) $multipleMeshes=true; + + int $firstMeshVertCount=zenReturnFirstIntegerItem(`polyEvaluate -v ($objects[0])`); + + //separate edges and joints and create ordered joint and edge lists + + string $intersector=`stringArrayIntersector`; + + string $allJoints[]; + + string $currentJointArray[]; + + for($i=0;$i0) + { + if($multipleMeshes) + { + //find which of the previous edgeLoopRings is closes to the bounding box center of the current vertices + + + } + else + { + //expand current vertex selection until encountering a vertex from the previous selection + + $tempStringArray=$currentVerts; + + for($n=0;$n<$firstMeshVertCount;$n++) + { + stringArrayIntersector -e -r $intersector; + + $tempStringArray=polyListComponentConversion + ( + "-fe", + "-tv", + polyListComponentConversion + ( + "-te", + "-fv", + $tempStringArray + ) + ); + + stringArrayIntersector -e -i (`ls -fl $tempStringArray`) $intersector; + stringArrayIntersector -e -i (`ls -fl $previousVerts`) $intersector; + + $intersectedVerts=`stringArrayIntersector -q $intersector`; + + if(size($intersectedVerts)) break; + } + + //if the found vertices are from the first edgeLoopRing, reverse the previous array + + stringArrayIntersector -e -r $intersector; + + $tempStringArray=polyListComponentConversion("-tv",`stringToStringArray ($previousEdgeLists[0]) ","`); + + stringArrayIntersector -e -i (`ls -fl $tempStringArray`) $intersector; + stringArrayIntersector -e -i $intersectedVerts $intersector; + + if(size(`stringArrayIntersector -q $intersector`)) + $previousEdgeLists=`zenReverseStringArray $previousEdgeLists`; + + //add the previous array to the edgeLists + + $edgeLists=stringArrayCatenate($edgeLists,$previousEdgeLists); + } + } + + if($i<(size($sel)-1)) + { + $previousEdgeLists=$currentEdgeLists; + $previousVerts=$currentVerts; + } + } + + //find bindPose + + $allJoints=stringArrayRemoveDuplicates($allJoints); + + $tempStringArray=`dagPose -q -bp $allJoints`; + $tempStringArray=stringArrayRemoveDuplicates($tempStringArray); + + string $bindPoseNode; + + int $bound; + int $poseDriven; + + string $startPose; + string $dupStartPose; + + //find the root joint + + string $root; + int $err=true; + + if(size($tempStringArray)) + { + $bound=1; + $bindPoseNode=$tempStringArray[0]; + + $root=zenReturnFirstStringItem(`dagPose -q -m $bindPoseNode`); + + if(size(`dagPose -q -ap $bindPoseNode`)) + { + $poseDriven=true; + $startPose=`dagPose -s $root`; + + // if mirroring create a mirror pose + + if($axis) + { + rigZenFlipPose $axis $bindPoseNode; + $dupStartPose=`dagPose -s $root`; + } + } + + for( $i=0; $i<10 && $err ; $i++ )//this is necessary to overcome a glitch + $err=catchQuiet(`dagPose -r -g $bindPoseNode $root`); + + if($err) error("Error."); + } + else + $root=zenReturnFirstStringItem(`zenReturnTopLevelTransforms $joints`); + + //arrange the last edge list and add to edgeLists + + if($multipleMeshes) + { + //wip + } + else + { + $intersectedVerts={}; + + //expand previous vertex selection until encountering a vertex from the current selection + + $tempStringArray=$previousVerts; + + for($n=0;$n<$firstMeshVertCount;$n++) + { + stringArrayIntersector -e -r $intersector; + + $tempStringArray=polyListComponentConversion + ( + "-fe", + "-tv", + polyListComponentConversion + ( + "-te", + "-fv", + $tempStringArray + ) + ); + + stringArrayIntersector -e -i (`ls -fl $tempStringArray`) $intersector; + stringArrayIntersector -e -i (`ls -fl $currentVerts`) $intersector; + + $intersectedVerts=`stringArrayIntersector -q $intersector`; + + if(size($intersectedVerts)>0) break; + } + + //if the found vertices are not from the first edgeLoopRing, reverse the current array + + stringArrayIntersector -e -r $intersector; + + $tempStringArray=polyListComponentConversion("-tv",`stringToStringArray ($currentEdgeLists[0]) ","`); + + stringArrayIntersector -e -i (`ls -fl $tempStringArray`) $intersector; + stringArrayIntersector -e -i $intersectedVerts $intersector; + + if(!size(`stringArrayIntersector -q $intersector`)) + $currentEdgeLists=`zenReverseStringArray $currentEdgeLists`; + + //add the current array to the edgeLists + + $edgeLists=stringArrayCatenate($edgeLists,$currentEdgeLists); + } + + float $rebuildDegree=$degree; + + string $curves[]; + string $curvesTr[]; + + string $edgesOrdered[]; + string $edges[]; + + string $loftNode=`createNode loft`; + + setAttr ($loftNode+".degree") 1; + setAttr ($loftNode+".sectionSpans") $spans; + setAttr ($loftNode+".uniform") 1; + setAttr ($loftNode+".autoReverse") 0; + + string $dupLoftNode; + + if($axis) + { + $dupLoftNode=`createNode loft`; + + setAttr ($dupLoftNode+".degree") 1; + setAttr ($dupLoftNode+".sectionSpans") $spans; + setAttr ($dupLoftNode+".uniform") 1; + setAttr ($dupLoftNode+".autoReverse") 0; + } + + string $parentJoints[]; + string $parentConstraints[]; + + string $dupJoints[]; + string $dupParentJoints[]; + string $dupParentConstraints[]; + string $dupCurvesTr[]; + string $dupCurves[]; + + //fix this to ensure joint is bound + + string $flipTr; + + if($axis) + { + $flipTr=`createNode -p $root transform`; + + switch($axis) + { + case 1: + setAttr ($flipTr+".sx") -1; + break; + + case 2: + setAttr ($flipTr+".sx") -1; + break; + + case 3: + setAttr ($flipTr+".sx") -1; + break; + } + } + + //determine if any curves need reversal + + int $flipped[]; + + $flipped=`zenQueryFlippedEdgeRingPaths true $edgeLists`; + + //create tendon surface + + string $dupJoints[]; + + for($i=0;$i<(size($edgeLists));$i++) + { + $parentJoints=stringToStringArray($joints[$i],","); + + $edges=`stringToStringArray ($edgeLists[$i]) ","`; + + $curvesTr[$i]=`createNode -n "muscleCurve#" transform`; + $curves[$i]=`createNode -p ($curvesTr[$i]) -n ($curvesTr[$i]+"Shape") nurbsCurve`; + + connectAttr (`zenEdgeCurveNode $edges 1`+".outputCurve") ($curves[$i]+".create"); + connectAttr -f ($curves[$i]+".worldSpace[0]") ($loftNode+".inputCurve["+(string($i))+"]"); + + xform -cp ($curvesTr[$i]); + + setAttr (($curvesTr[$i])+".inheritsTransform") 1; + + if($flipped[$i]) + { + reverseCurve $curvesTr[$i]; + + $edges=`zenReverseStringArray $edges`; + $edgeLists[$i]=`stringArrayToString $edges ","`; + } + + //mirror + + if($axis) + { + $dupCurvesTr[$i]=zenReturnFirstStringItem(`duplicate ($curvesTr[$i])`); + $dupCurves[$i]=zenReturnFirstStringItem(`listRelatives -s -ni $dupCurvesTr[$i]`); + + connectAttr -f ($dupCurves[$i]+".worldSpace[0]") ($dupLoftNode+".inputCurve["+(string($i))+"]"); + + parent ($dupCurvesTr[$i]) $root; + + parent -r ($dupCurvesTr[$i]) $flipTr; + + parent ($dupCurvesTr[$i]) $root; + + makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 ($dupCurvesTr[$i]); + + //parent to opposing joint + + $dupParentJoints=`rigZenReturnOpposingTransforms $parentJoints $root $axis`; + + $dupJoints[$i]=stringArrayToString($dupParentJoints,","); + + for($n=0;$n<(size($parentJoints));$n++) + $dupJoints[$i]=$dupJoints[$i]+","+$dupParentJoints[$n]; + + if(($dupParentJoints[0])!=$root) + parent ($dupCurvesTr[$i]) ($dupParentJoints[0]); + + setAttr (($dupCurvesTr[$i])+".inheritsTransform") 1; + + if(size($dupParentJoints)>1) + { + for($n=0;$n<(size($dupParentJoints));$n++) + { + $dupParentConstraints[$i]=zenReturnFirstStringItem(`parentConstraint -mo -weight 1 ($dupParentJoints[$n]) ($dupCurvesTr[$i])`); + addAttr -k 1 -at double -ln (($dupParentJoints[$n])+"_PC") -dv 1 ($dupCurvesTr[$i]); + connectAttr -f ($dupCurvesTr[$i]+"."+$dupParentJoints[$n]+"_PC") ($dupParentConstraints[$i]+".target["+(string($n))+"].targetWeight"); + } + + setAttr ($dupParentConstraints[$i]+".interpType") 0;//no flip + } + + } + + parent ($curvesTr[$i]) ($parentJoints[0]); + + if(size($parentJoints)>1) + { + for($n=0;$n<(size($parentJoints));$n++) + { + $parentConstraints[$i]=zenReturnFirstStringItem(`parentConstraint -mo -weight 1 ($parentJoints[$n]) ($curvesTr[$i])`); + addAttr -k 1 -at double -ln (($parentJoints[$n])+"_PC") -dv 1 ($curvesTr[$i]); + connectAttr -f ($curvesTr[$i]+"."+$parentJoints[$n]+"_PC") ($parentConstraints[$i]+".target["+(string($n))+"].targetWeight"); + + if($axis) + connectAttr -f ($curvesTr[$i]+"."+$parentJoints[$n]+"_PC") ($dupCurvesTr[$i]+"."+$dupParentJoints[$n]+"_PC"); + } + + setAttr ($parentConstraints[$i]+".interpType") 0;//no flip + + if($axis) + connectAttr -f ($parentConstraints[$i]+".interpType") ($dupParentConstraints[$i]+".interpType"); + } + } + + if($axis) catch(`delete $flipTr`); + + delete -ch $curves; + + + //create surface + + string $surfaceTr=`createNode -n "tendon#" transform`; + string $surfaceNode=`createNode -n ($surfaceTr+"Shape") -p ($surfaceTr) nurbsSurface`; + + connectAttr -f ($loftNode+".outputSurface") ($surfaceNode+".create"); + + setAttr ($surfaceTr+".inheritsTransform") 0; + + parent -r $surfaceTr (zenReturnFirstStringItem(stringToStringArray($joints[0],","))); + + //zenDeferCommand("setAttr "+$surfaceTr+".t 0 0 0"); + + //rebuild for 0-1 range + + string $rebuildNode=`createNode rebuildSurface`; + + connectAttr -f ($loftNode+".outputSurface") ($rebuildNode+".inputSurface"); + + setAttr ($rebuildNode+".keepControlPoints") 1; + setAttr ($rebuildNode+".endKnots") 0; + setAttr ($rebuildNode+".degreeU") $degree; + setAttr ($rebuildNode+".degreeV") $degree; + setAttr ($rebuildNode+".keepRange") 0; + setAttr ($rebuildNode+".direction") 0; + setAttr ($rebuildNode+".rebuildType") 0; + setAttr ($rebuildNode+".endKnots") 1; + + //find out how many samples the rebuilt surface will need + + int $rebuildNum=20;//default to 20 + string $firstVerts[]; + string $lastVerts[]; + + if($multipleMeshes) + { + } + else + { + //expand the first set of edges until reaching the last set and set $rebuildNum to twice this + + $firstVerts=ls("-fl",(polyListComponentConversion("-tv",`stringToStringArray ($edgeLists[0]) ","`))); + $lastVerts=ls("-fl",(polyListComponentConversion("-tv",`stringToStringArray ($edgeLists[(size($edgeLists)-1)]) ","`))); + + $tempStringArray=$firstVerts; + + for($i=0;$i<$firstMeshVertCount;$i++) + { + stringArrayIntersector -e -r $intersector; + + $tempStringArray=polyListComponentConversion + ( + "-fe", + "-tv", + polyListComponentConversion + ( + "-te", + "-fv", + $tempStringArray + ) + ); + + stringArrayIntersector -e -i `ls -fl $tempStringArray` $intersector; + stringArrayIntersector -e -i $lastVerts $intersector; + + $intersectedVerts=`stringArrayIntersector -q $intersector`; + + if(size($intersectedVerts)) break; + } + + $rebuildNum=$i*2; + } + + deleteUI $intersector; + + + //rebuild evenly + + string $rebuildNode2=`zenUniformSurfaceRebuild ($rebuildNode+".outputSurface") $rebuildNum -1`; + + setAttr ($rebuildNode2+".degreeU") 2; + connectAttr -f ($rebuildNode2+".outputSurface") ($surfaceNode+".create"); + + //create mirror surface + + string $dupSurfaceTr; + string $dupSurfaceNode; + string $dupRebuildNode; + string $dupRebuildNode2; + string $dupReverseSurfaceNode; + + if($axis) + { + $dupSurfaceTr=`createNode -n "tendon#" transform`; + $dupSurfaceNode=`createNode -n ($dupSurfaceTr+"Shape") -p ($dupSurfaceTr) nurbsSurface`; + + connectAttr -f ($dupLoftNode+".outputSurface") ($dupSurfaceNode+".create"); + + setAttr ($dupSurfaceTr+".inheritsTransform") 0; + + parent -r $dupSurfaceTr (zenReturnFirstStringItem(stringToStringArray($dupJoints[0],","))); + + //zenDeferCommand("setAttr "+$dupSurfaceTr+".t 0 0 0"); + + //rebuild for 0-1 range + + $dupRebuildNode=`createNode rebuildSurface`; + + connectAttr -f ($dupLoftNode+".outputSurface") ($dupRebuildNode+".inputSurface"); + connectAttr -f ($dupRebuildNode+".outputSurface") ($dupSurfaceNode+".create"); + + setAttr ($dupRebuildNode+".keepControlPoints") 1; + setAttr ($dupRebuildNode+".endKnots") 0; + setAttr ($dupRebuildNode+".degreeU") $degree; + setAttr ($dupRebuildNode+".degreeV") $degree; + setAttr ($dupRebuildNode+".keepRange") 0; + setAttr ($dupRebuildNode+".direction") 0; + setAttr ($dupRebuildNode+".rebuildType") 0; + setAttr ($dupRebuildNode+".endKnots") 1; + + $dupRebuildNode2=`zenUniformSurfaceRebuild ($dupRebuildNode+".outputSurface") $rebuildNum -1`; + + setAttr ($dupRebuildNode2+".degreeU") 2; + + connectAttr -f ($dupRebuildNode2+".outputSurface") ($dupSurfaceNode+".create"); + + $dupReverseSurfaceNode=`createNode reverseSurface`; + + setAttr ($dupReverseSurfaceNode+".direction") 1; + + connectAttr -f ($dupLoftNode+".outputSurface") ($dupReverseSurfaceNode+".inputSurface"); + connectAttr -f ($dupReverseSurfaceNode+".outputSurface") ($dupRebuildNode+".inputSurface"); + + setAttr ($dupReverseSurfaceNode+".nodeState") 1; + } + + //set display + + setAttr ($surfaceNode+".overrideEnabled") 1; + setAttr ($surfaceNode+".overrideShading") 0; + setAttr ($surfaceNode+".overrideColor") 13; + + setAttr ($surfaceNode+".curvePrecisionShaded") 4; + + if($axis) + { + setAttr ($dupSurfaceNode+".overrideEnabled") 1; + setAttr ($dupSurfaceNode+".overrideShading") 0; + setAttr ($dupSurfaceNode+".overrideColor") 13; + + setAttr ($dupSurfaceNode+".curvePrecisionShaded") 4; + } + + //determine if surface needs to be flipped + + string $reverseSurfaceNode=`createNode reverseSurface`; + + setAttr ($reverseSurfaceNode+".direction") 1; + + connectAttr -f ($loftNode+".outputSurface") ($reverseSurfaceNode+".inputSurface"); + connectAttr -f ($reverseSurfaceNode+".outputSurface") ($rebuildNode+".inputSurface"); + + setAttr ($reverseSurfaceNode+".nodeState") 1; + + string $pointOnSurfaceInfoNode=`createNode pointOnSurfaceInfo`; + string $closestPointOnMeshNode=`createNode closestPointOnMesh`; + + connectAttr ($rebuildNode+".outputSurface") ($pointOnSurfaceInfoNode+".inputSurface"); + + setAttr ($pointOnSurfaceInfoNode+".parameterU") .5; + setAttr ($pointOnSurfaceInfoNode+".parameterV") .5; + + float $pointLoc[]; + + float $distance; + float $closestDist=1000000000; + + string $closestMesh; + + vector $closestPoint; + vector $point; + + for($o in $objects) + { + connectAttr ($o+".worldMesh[0]") ($closestPointOnMeshNode+".inMesh"); + + $pointLoc=`getAttr ($pointOnSurfaceInfoNode+".position")`; + + setAttr ($closestPointOnMeshNode+".inPosition") $pointLoc[0] $pointLoc[1] $pointLoc[2]; + + $point=vector(<<(float(`getAttr ($closestPointOnMeshNode+".px")`)),(float(`getAttr ($closestPointOnMeshNode+".py")`)),(float(`getAttr ($closestPointOnMeshNode+".pz")`))>>); + + $distance=mag(<<($pointLoc[0]),($pointLoc[1]),($pointLoc[2])>>-$point); + + if($distance<$closestDist) + { + $closestDist=$distance; + $closestMesh=$o; + $closestPoint=$point; + } + } + + setAttr ($closestPointOnMeshNode+".inPosition") ($closestPoint.x) ($closestPoint.y) ($closestPoint.z); + + float $meshNormalX=`getAttr ($closestPointOnMeshNode+".normalX")`; + float $meshNormalY=`getAttr ($closestPointOnMeshNode+".normalY")`; + float $meshNormalZ=`getAttr ($closestPointOnMeshNode+".normalZ")`; + + float $surfaceNormalX=`getAttr ($pointOnSurfaceInfoNode+".normalX")`; + float $surfaceNormalY=`getAttr ($pointOnSurfaceInfoNode+".normalY")`; + float $surfaceNormalZ=`getAttr ($pointOnSurfaceInfoNode+".normalZ")`; + + float $normalDifference=mag(<<$surfaceNormalX,$surfaceNormalY,$surfaceNormalZ>>-<<$meshNormalX,$meshNormalY,$meshNormalZ>>); + + if($normalDifference>1) + setAttr ($reverseSurfaceNode+".nodeState") 0; + else + setAttr ($dupReverseSurfaceNode+".nodeState") 0; + + delete $pointOnSurfaceInfoNode $closestPointOnMeshNode; + +//create handles + + string $handle=`rigZenTangentSpaceMuscleCluster $surfaceNode $bindPoseNode $startPose $createJiggle`; + + string $dupHandle; + string $dupHandleSpaces[]; + string $sharedAttributes[]; + + if($axis) + { + $dupHandle=`rigZenTangentSpaceMuscleCluster $dupSurfaceNode $bindPoseNode $dupStartPose $createJiggle`; + + $tempStringArray=zenReturnTopLevelTransforms(`ls -l $dupHandle`); + + $dupHandleSpaces=`listRelatives -c $tempStringArray`; + + //setAttr ($dupHandle+".handleOffsetX") (getAttr($dupHandle+".handleOffsetX")); + + for($d in $dupHandleSpaces) + { + setAttr -lock false ($d+".sz"); + setAttr -lock true ($d+".sz") -1; + } + + //connect automated attributes + + $sharedAttributes= + { + "bias", + "fallOff", + "centerWidth", + "tangentSpace", + "autoFlexBias", + "autoTransX", + "autoTransY", + "autoTransZ", + "autoRotX", + "autoRotY", + "autoRotZ", + "autoScaleX", + "autoScaleY", + "autoScaleZ", + "handleOffsetX", + "handleOffsetY", + "handleOffsetZ" + }; + + if($createJiggle) + { + $sharedAttributes=stringArrayCatenate + ( + $sharedAttributes, + { + "jiggle", + "jEnvelope", + "jDamping", + "jStiffness", + "jWeight", + "jForceNormal", + "jForceTangent", + "jDirBias", + "jIgnoreTr", + "jMotionMult" + } + ); + } + + for($s in $sharedAttributes) + if( objExists($handle+"."+$s) && objExists($dupHandle+"."+$s) ) + connectAttr -f ($handle+"."+$s) ($dupHandle+"."+$s); + } + +//if any skin clusters are present, add muscle as influence object with weight of 0 + + string $skinClusters[]=stringArrayRemoveDuplicates(ls("-type","skinCluster",`listHistory $objects`)); + + string $baseShape; + + int $nextBindPosePlug; + + int $plug; + + xform -cp $surfaceTr;//center pivot + + if(size($skinClusters)) + { + $baseShape=zenReturnFirstStringItem(listRelatives("-s","-ni",`duplicate -rc $surfaceTr`)); + + $baseShape=`rename $baseShape ($baseShape+"Base")`; + + zenParentShape {$baseShape,$surfaceTr}; + + setAttr ($baseShape+".intermediateObject") 1; + + addAttr -at short -ln "dropoff" $surfaceTr; + setAttr -k 0 -cb true ($surfaceTr+".dropoff") 4; + + addAttr -at short -ln "samples" $surfaceTr; + setAttr -k 0 -cb true ($surfaceTr+".samples") 10; + + for($s in $skinClusters) + { + $plug=`zenNextPlug ($s+".matrix")`; + + + $nextBindPosePlug=`zenNextPlug ($bindPoseNode+".members")`; + + + skinCluster -e -ug -ns 10 -wt 0 -ai $surfaceTr -bsh $baseShape $s; + connectAttr -f ($surfaceTr+".dropoff") ($s+".dropoff["+(string($plug))+"]"); + connectAttr -f ($surfaceTr+".samples") ($s+".nurbsSamples["+(string($plug))+"]"); + + //ensures correct bind pose for influence + + catch( `connectAttr -f ($surfaceTr+".message") ($bindPoseNode+".members["+string($nextBindPosePlug)+"]")` ); + + zenDeferCommand + ( + "setAttr "+ + "(zenReturnFirstStringItem(listConnections("+ + "\""+$bindPoseNode+".members["+string($nextBindPosePlug)+"]"+"\""+ + "))+\".t\") 0 0 0" + ); + + zenDeferCommand + ( + "setAttr -type \"matrix\" "+ + $bindPoseNode+".xformMatrix["+string($nextBindPosePlug)+"] "+ + zenFloatArrayToString(getAttr($surfaceTr+".matrix")," ") + ); + zenDeferCommand + ( + "setAttr -type \"matrix\" "+ + $bindPoseNode+".worldMatrix["+string($nextBindPosePlug)+"] "+ + zenFloatArrayToString(getAttr($surfaceTr+".worldMatrix")," ") + ); + + } + + setAttr ($surfaceTr+".visibility") 1; + + if($axis) + { + $dupBaseShape=zenReturnFirstStringItem(listRelatives("-s","-ni",`duplicate -rc $dupSurfaceTr`)); + + $dupBaseShape=`rename $dupBaseShape ($dupBaseShape+"Base")`; + zenParentShape {$dupBaseShape,$dupSurfaceTr}; + setAttr ($dupBaseShape+".intermediateObject") 1; + + addAttr -at short -ln "dropoff" $dupSurfaceTr; + + setAttr -k 0 -cb true ($dupSurfaceTr+".dropoff") 4; + + addAttr -at short -ln "samples" $dupSurfaceTr; + + setAttr -k 0 -cb true ($dupSurfaceTr+".samples") 10; + + for($s in $skinClusters) + { + $plug=`zenNextPlug ($s+".matrix")`; + $nextBindPosePlug=`zenNextPlug ($bindPoseNode+".members")`; + skinCluster -e -ug -ns 10 -wt 0 -ai $dupSurfaceTr -bsh $dupBaseShape $s; + connectAttr -f ($dupSurfaceTr+".dropoff") ($s+".dropoff["+(string($plug))+"]"); + connectAttr -f ($dupSurfaceTr+".samples") ($s+".nurbsSamples["+(string($plug))+"]"); + + //ensures correct bind pose for influence + + catch ( `connectAttr -f ($dupSurfaceTr+".message") ($bindPoseNode+".members["+string($nextBindPosePlug)+"]")` ); + + zenDeferCommand + ( + "setAttr "+ + "(zenReturnFirstStringItem(listConnections("+ + "\""+$bindPoseNode+".members["+string($nextBindPosePlug)+"]"+"\""+ + "))+\".t\") 0 0 0" + ); + + zenDeferCommand + ( + "setAttr -type \"matrix\" "+ + $bindPoseNode+".xformMatrix["+string($nextBindPosePlug)+"] "+ + zenFloatArrayToString(getAttr($dupSurfaceTr+".matrix")," ") + ); + zenDeferCommand + ( + "setAttr -type \"matrix\" "+ + $bindPoseNode+".worldMatrix["+string($nextBindPosePlug)+"] "+ + zenFloatArrayToString(getAttr($dupSurfaceTr+".worldMatrix")," ") + ); + + } + + setAttr ($dupSurfaceTr+".visibility") 1; + } + } + +//create an assembly command for scripting convenience + + string $assemblyCommand; + string $curveAttr[]; + string $dupCurveAttr[]; + string $handleShape; + string $dupHandleShape; + int $firstCurveAttrNoted=true; + + if($generateScript) + { + + if($axis) $returnVal=stringArrayCatenate(stringArrayCatenate({$handle,$dupHandle,$surfaceTr,$dupSurfaceTr},$curvesTr),$dupCurvesTr); + else $returnVal=stringArrayCatenate({$handle,$surfaceTr},$curvesTr); + + $assemblyCommand= + ( + "//Create Muscle\n\n"+ + + "string $muscle[]=rigZenMuscle\n"+ + " (\n"+ + " {\n"+ + " \""+(stringArrayToString($sel,"\",\n \""))+"\"\n"+ + " },\n"+ + " "+(string($axis))+","+(string($createJiggle))+",0\n"+ + " );\n\n" + ); + + if($axis) + { + $assemblyCommand=$assemblyCommand+ + ( + "//Name the Muscles\n\n"+ + + " $muscle[2]=`rename $muscle[2] \"muscle#_left\"`;\n\n"+ + " $muscle[2]=`rename $muscle[3] \"muscle#_right\"`;\n\n"+ + + "//Name the Handles\n\n"+ + + " $muscle[0]=`rename $muscle[0] \"muscleCtrl#_left\"`;\n\n"+ + " $muscle[1]=`rename $muscle[1] \"muscleCtrl#_right\"`;\n\n" + ); + } + else + { + $assemblyCommand=$assemblyCommand+ + ( + "//Name the Muscles\n\n"+ + + " $muscle[1]=`rename $muscle[2] \"muscle#\"`;\n\n"+ + + "//Name the Handles\n\n"+ + + " $muscle[0]=`rename $muscle[0] \"muscleCtrl#\"`;\n\n" + ); + } + + $assemblyCommand=$assemblyCommand+ + ( + "\n//These attributes determine the shape of the muscles bulge.\n"+ + + " setAttr ($muscle[0]+\".fallOff\") "+(string(getAttr($handle+".fallOff")))+";\n"+ + " setAttr ($muscle[0]+\".bias\") "+(string(getAttr($handle+".bias")))+";\n"+ + " setAttr ($muscle[0]+\".centerWidth\") "+(string(getAttr($handle+".centerWidth")))+";\n\n"+ + + " //These attributes determine whether the muscle bulge deforms along the tangent of the bias\n"+ + " //tangentSpace==0 deforms the surface in the object space of the handle\n"+ + " //tangentSpace==1 deforms each row of cv's in their own local tangent space, effectively similar to displacement.\n\n"+ + + " setAttr ($muscle[0]+\".tangentSpace\") "+(string(getAttr($handle+".tangentSpace")))+";\n\n" + ); + + if(`objExists ($handle+".autoRotX")`) + { + $assemblyCommand=$assemblyCommand+ + ( + "//These attributes set the values for graduated transformations applied to the handle as the\n"+ + "//character reaches the 'flex' pose.\n"+ + "//The 'autoFlexBias' attribute determines how far into the pose the deformation will begin.\n\n"+ + + " setAttr ($muscle[0]+\".autoFlexBias\") "+(string(getAttr($handle+".autoFlexBias")))+";\n"+ + " setAttr ($muscle[0]+\".autoTransX\") "+(string(getAttr($handle+".autoTransX")))+";\n"+ + " setAttr ($muscle[0]+\".autoTransY\") "+(string(getAttr($handle+".autoTransY")))+";\n"+ + " setAttr ($muscle[0]+\".autoTransZ\") "+(string(getAttr($handle+".autoTransZ")))+";\n"+ + " setAttr ($muscle[0]+\".autoRotX\") "+(string(getAttr($handle+".autoRotX")))+";\n"+ + " setAttr ($muscle[0]+\".autoRotY\") "+(string(getAttr($handle+".autoRotY")))+";\n"+ + " setAttr ($muscle[0]+\".autoRotZ\") "+(string(getAttr($handle+".autoRotZ")))+";\n"+ + " setAttr ($muscle[0]+\".autoScaleX\") "+(string(getAttr($handle+".autoScaleX")))+";\n"+ + " setAttr ($muscle[0]+\".autoScaleY\") "+(string(getAttr($handle+".autoScaleY")))+";\n"+ + " setAttr ($muscle[0]+\".autoScaleZ\") "+(string(getAttr($handle+".autoScaleZ")))+";\n\n" + ); + } + + if(`objExists ($handle+".jiggle")`) + { + $assemblyCommand=$assemblyCommand+ + ( + "//These attributes control the Jiggle Deformer associated with this muscle.\n\n"+ + + " setAttr ($muscle[0]+\".jiggle\") "+(string(getAttr($handle+".jiggle")))+";//0==enable 1==disable 2==enable only after object stops\n"+ + " setAttr ($muscle[0]+\".jEnvelope\") "+(string(getAttr($handle+".jEnvelope")))+";\n"+ + " setAttr ($muscle[0]+\".jDamping\") "+(string(getAttr($handle+".jDamping")))+";\n"+ + " setAttr ($muscle[0]+\".jWeight\") "+(string(getAttr($handle+".jWeight")))+";\n"+ + " setAttr ($muscle[0]+\".jForceNormal\") "+(string(getAttr($handle+".jForceNormal")))+";\n"+ + " setAttr ($muscle[0]+\".jForceTangent\") "+(string(getAttr($handle+".jForceTangent")))+";\n"+ + " setAttr ($muscle[0]+\".jDirBias\") "+(string(getAttr($handle+".jDirBias")))+";\n"+ + " setAttr ($muscle[0]+\".jIgnoreTr\") "+(string(getAttr($handle+".jIgnoreTr")))+";\n"+ + " setAttr ($muscle[0]+\".jMotionMult\") "+(string(getAttr($handle+".jMotionMult")))+";\n\n" + ); + } + + $assemblyCommand=$assemblyCommand+ + ( + "//These attributes control the size and offset of this muscles handle.\n\n"+ + + " setAttr ($muscle[0]+\".handleOffsetX\") "+(string(getAttr($handle+".handleOffsetX")))+";\n"+ + " setAttr ($muscle[0]+\".handleOffsetY\") "+(string(getAttr($handle+".handleOffsetY")))+";\n"+ + " setAttr ($muscle[0]+\".handleOffsetZ\") "+(string(getAttr($handle+".handleOffsetZ")))+";\n"+ + " setAttr ($muscle[0]+\".handleRadius\") "+(string(getAttr($handle+".handleRadius")))+";\n\n" + ); + + $tempStringArray={}; + + + for($i=0;$i1) + error("This procedure cannot operate on multiple shapes simultaneously."); + + string $obj=$objects[0]; + + string $pose; + string $flipPose; + string $bindPose; + + //find the skinCluster node + + string $skinClusterNode=zenReturnFirstStringItem(ls("-type","skinCluster",listHistory($obj))); + + if(!objExists($skinClusterNode)) + error("No skin cluster detected"); + + string $inputGeometry=zenReturnFirstStringItem( ls( "-type","shape", ( listHistory( listConnections( $skinClusterNode+".input" ) ) ) ) ); + string $root=zenReturnFirstStringItem( `listConnections -s 1 -d 0 ( $skinClusterNode+".matrix" )` ); + + $pose=`dagPose -s $root`; + + $bindPose=zenReturnFirstStringItem(`dagPose -q -bp $root`); + + //$bindPose=`dagPose -s $root`; + + string $poseDriver=`rigZenPoseDrivenWeight $bindPose $pose`; + string $poseDriverNode=zenReturnFirstStringItem(`ls -o $poseDriver`); + + //this part gives errors sometimes even though it shouldn't + //so we loop through it a few times to make sure everything goes as planned + + int $err=true; + + for( $i=0; $i<10 && $err ; $i++ ) + $err=catchQuiet(`dagPose -r -g $pose $root`); + + if($err) error("Error."); + + string $multDouble=`createNode multDoubleLinear`; + + connectAttr $poseDriver ( $multDouble+".i1" ); + + setAttr ( $multDouble+".i2" ) $iterations; + + string $averageNodes[]; + string $addDouble; + string $clampNode; + + int $remainder=$iterations % 10; + int $numAverageNodes=ceil( $iterations/10 ); + int $tempInt; + + for( $i=0; $i < $numAverageNodes; $i++ ) + { + $averageNodes[$i]=zenReturnFirstStringItem(`polyAverageVertex $verts`); + + $addDouble=`createNode addDoubleLinear`; + + connectAttr ($multDouble+".o") ($addDouble+".i1"); + setAttr ($addDouble+".i2") (-( $i*10 ) ); + + $clampNode=`createNode clamp`; + + connectAttr ($addDouble+".o") ($clampNode+".ipr"); + setAttr ($clampNode+".mnr") 0; + setAttr ($clampNode+".mxr") 10; + + connectAttr ( $clampNode+".opr" ) ( $averageNodes[$i]+".iterations" ); + } + + //if mirroring, do the opposite side + + int $inputGeoIntermediate; + + string $flipVerts[]; + + string $polyDrivenAverageNode; + string $inMeshAttr; + + if($axis) + { + $inputGeoIntermediate=getAttr($inputGeometry+".intermediateObject"); + + //make the input geometry usable + + setAttr ($inputGeometry+".intermediateObject") 0; + + $err=catch + ( + $flipVerts=zenMimicSelection + ( + zenReturnOppositeVerts + ( + $axis, + zenMimicSelection + ( + $verts, + $inputGeometry + ), + $root + ), + $obj + ) + ); + + //set the input geometry back to how it was + + setAttr ($inputGeometry+".intermediateObject") $inputGeoIntermediate; + + dagPose -r -g $pose $root; + + rigZenFlipPose $axis $bindPose; + + $polyDrivenAverageNode=`rigZenPoseDrivenPolyAverage 0 $iterations $falloff $poseBias $flipVerts`; + } + else + { + //add a tweak node for history consolidation + + $polyDrivenAverageNode=`createNode -n "drivenPolyAverageVertex#" tweak`; + + addAttr -k true -ln "bias" -at double -min 0 -max 1 -dv $poseBias $polyDrivenAverageNode; + addAttr -k true -ln "iterations" -at long -min 0 -max ( $numAverageNodes*10 ) -dv $iterations $polyDrivenAverageNode; + + setAttr -k false ( $polyDrivenAverageNode+".envelope" ); + + $inMeshAttr=zenReturnFirstStringItem(`listConnections -plugs true ( $obj + ".inMesh" )`); + + connectAttr -f $inMeshAttr ( $polyDrivenAverageNode + ".input[0].inputGeometry" ); + connectAttr -f ( $polyDrivenAverageNode + ".outputGeometry[0]" ) ( $obj + ".inMesh" ); + } + + //connect control attributes with the dummy node + + connectAttr -f ( $polyDrivenAverageNode+".bias" ) ( $poseDriverNode+".oldMinX" ); + connectAttr -f ( $polyDrivenAverageNode+".iterations" ) ( $multDouble+".i2" ); + + dagPose -r -g -bp $root; + + return $polyDrivenAverageNode; +} + +//rigZenPoseDrivenPolyAverage 1 50 2 .5 {"orangutan_skin.vtx[1985:1988]","orangutan_skin.vtx[2481]","orangutan_skin.vtx[2487:2488]","orangutan_skin.vtx[2535:2538]","orangutan_skin.vtx[2540]","orangutan_skin.vtx[2543:2544]","orangutan_skin.vtx[3570:3571]","orangutan_skin.vtx[3597]","orangutan_skin.vtx[3773]","orangutan_skin.vtx[3786:3787]","orangutan_skin.vtx[3800]","orangutan_skin.vtx[3900]","orangutan_skin.vtx[3902:3905]","orangutan_skin.vtx[3918:3922]"}; diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenPoseDrivenWeight.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenPoseDrivenWeight.mel new file mode 100644 index 0000000..e3ded81 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenPoseDrivenWeight.mel @@ -0,0 +1,188 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//creates a node network and returns an attribute signifying the weight of $poseB relative to $poseA, +//useful for driving corrective blends or muscle deformations + +global proc string rigZenPoseDrivenWeight(string $poseA, string $poseB) +{ + DisableAll; + zenDeferCommand(" EnableAll"); + + float $tol=.001; + + string $joints[]=`dagPose -q -ap $poseB`; + //string $joints[]=`dagPose -q -m $poseA`; + + print $joints;print "\n"; + + string $root=zenReturnFirstStringItem(`dagPose -q -m $poseA`); + + //this part gives errors sometimes even though it shouldn't + //so we loop through it a few times to make sure everything goes as planned + + int $err=true; + + print $root;print "\n"; + + print $poseA;print "\n"; + + print $poseB;print "\n"; + + for( $i=0; $i<10 && $err ; $i++ ) + $err=catchQuiet(`dagPose -r -g $poseB $root`); + + if($err) error("Error."); + + //find which attributes on each joint differ from $poseA + + float $jointTrXB[]; + float $jointTrYB[]; + float $jointTrZB[]; + + float $jointRotXB[]; + float $jointRotYB[]; + float $jointRotZB[]; + + float $jointScaleXB[]; + float $jointScaleYB[]; + float $jointScaleZB[]; + + for($i=0;$i$tol) + { + $differenceNode=`createNode plusMinusAverage`; + + setAttr ($differenceNode+".operation") 2; + + if($bValues[$n]>$val) + { + connectAttr ($attributes[$n]) ($differenceNode+".i1[0]"); + //print $val; + setAttr ($differenceNode+".i1[1]") $val; + //print("xxx"); + + $difference=$bValues[$n]-$val; + } + else + { + setAttr ($differenceNode+".i1[0]") $val; + connectAttr ($attributes[$n]) ($differenceNode+".i1[1]"); + + $difference=$val-$bValues[$n]; + } + + $multiplyDivideNode=`createNode multiplyDivide`; + + setAttr ($multiplyDivideNode+".operation") 2; + setAttr ($multiplyDivideNode+".i2x") $difference; + + connectAttr ($differenceNode+".o1") ($multiplyDivideNode+".i1x"); + + $clampNode=`createNode clamp`; + + setAttr ($clampNode+".mnr") 0; + setAttr ($clampNode+".mxr") 1; + + connectAttr ($multiplyDivideNode+".ox") ($clampNode+".ipr"); + + connectAttr -f ($clampNode+".opr") ($averageBias+".i1["+(string($plug++))+"]"); + } + } + } + + string $rangeNode=`createNode -n "poseWeightNode#" setRange`; + + setAttr ($rangeNode+".maxX") 1; + setAttr ($rangeNode+".oldMaxX") 1; + aliasAttr "bias" ($rangeNode+".oldMinX"); + + connectAttr -f ($averageBias+".o1") ($rangeNode+".valueX"); + + return ($rangeNode+".ox"); +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenReturnLabelOrderedJoints.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenReturnLabelOrderedJoints.mel new file mode 100644 index 0000000..db966c9 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenReturnLabelOrderedJoints.mel @@ -0,0 +1,67 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string[] rigZenReturnLabelOrderedJoints(string $root) +{ + string $joints[]=stringArrayCatenate({$root},`listRelatives -path -ad -type "joint" $root`); + string $returnVal[]; + int $type; + + for($j in $joints) + { + $type=`getAttr ($j+".type")`; + + if(size($returnVal[$type])) + $returnVal[$type]=$returnVal[$type]+","+$j; + else + $returnVal[$type]=$j; + } + + return $returnVal; +} + +/* +//template for usage + + string $joints[]=`zenReturnLabelOrderedJoints root`; + + string $root=$joints[1]; + string $hips[]=stringToStringArray($joints[2],","); + string $knees[]=stringToStringArray($joints[3],","); + string $feet[]=stringToStringArray($joints[4],","); + string $toes[]=stringToStringArray($joints[5],","); + string $spine[]=stringToStringArray($joints[6],","); + string $neck[]=stringToStringArray($joints[7],","); + string $head=$joints[8]; + string $clavicle[]=stringToStringArray($joints[9],","); + string $shoulders[]=stringToStringArray($joints[10],","); + string $elbows[]=stringToStringArray($joints[11],","); + string $hands[]=stringToStringArray($joints[12],","); + + string $fingerBases[]=stringToStringArray($joints[13],","); + string $thumbs[]=stringToStringArray($joints[14],","); + string $indexFingers[]=stringToStringArray($joints[19],","); + string $middleFingers[]=stringToStringArray($joints[20],","); + string $ringFingers[]=stringToStringArray($joints[21],","); + string $pinkyFingers[]=stringToStringArray($joints[22],","); + string $middleFingers[]=stringToStringArray($joints[23],","); + + string $bigToes[]=stringToStringArray($joints[24],","); + string $indexToes[]=stringToStringArray($joints[25],","); + string $middleToes[]=stringToStringArray($joints[26],","); + string $ringToes[]=stringToStringArray($joints[27],","); + string $pinkyToes[]=stringToStringArray($joints[28],","); + string $middleToes[]=stringToStringArray($joints[29],","); + +*/ \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/rigZenReturnOpposingTransforms.mel b/2009-x64/MiscScripts/scripts/zenScripts/rigZenReturnOpposingTransforms.mel new file mode 100644 index 0000000..bedeffc --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/rigZenReturnOpposingTransforms.mel @@ -0,0 +1,293 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string[] rigZenReturnOpposingTransforms( string $tr[], string $spaceObj, int $axis ) +{ + float $tol=.001; + + string $returnVal[]; + + string $axisString; + + if($axis==1) $axisString="X"; + if($axis==2) $axisString="Y"; + if($axis==4) $axisString="Z"; + + //this point matrix multiplier brings world space coordinates into the object space of the spaceObj + + string $pointMatrixMultNode=`createNode pointMatrixMult`; + + if(`objExists ($spaceObj+".worldInverseMatrix")`) + connectAttr ($spaceObj+".worldInverseMatrix[0]") ($pointMatrixMultNode+".inMatrix"); + + setAttr ($pointMatrixMultNode+".vectorMultiply") 1; + + string $candidates[]=listRelatives("-ad",`zenReturnTopLevelTransforms $tr`); + $candidates=`stringArrayRemoveDuplicates $candidates`; + + string $similarNodes[]; + + float $boundingBox_influenceObj[]; + float $boundingBox_opposingObj[]; + + vector $bbCenter_influenceObj; + vector $bbCenter_opposingObj; + + vector $tempVector; + + string $type; + string $jointType; + + int $side; + int $ancestorCount; + int $sideNameID; + + float $rp[]; + float $distances[]; + float $rootSpaceRP[]; + float $rootSpaceBBCenter[]; + float $tempFloatArray[]; + + float $rootSpaceRP_relevantAxis; + float $rootSpaceBB_relevantAxis; + + string $tempStringArray[]; + + string $tempString; + string $shapeNodeType; + string $shapeNode; + string $sideName; + string $replaceString; + + progressWindow -isInterruptable 1 -title "Working" -status "Sorting Transforms" -max (size($tr)) -progress 0; + + for($i=0;$i1) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + $ancestorCount=size(stringToStringArray(zenReturnFirstStringItem(`ls -l $tr[$i]`),"|")); + + for($obj in $tempStringArray) + { + if($ancestorCount==size(stringToStringArray(zenReturnFirstStringItem(`ls -l $obj`),"|"))) + $similarNodes[(size($similarNodes))]=$obj; + } + + if(! size($similarNodes)) + $similarNodes=$tempStringArray; + } + + //see if a side is indicated in the object name + + $sideNameID=0; + $sideName=""; + + if(`gmatch ($tr[$i]) "*[Ll][Ee][Ff][Tt]*"`) + { + $sideNameID=1; + $sideName=match("[Ll][Ee][Ff][Tt]",($tr[$i])); + } + + if(`gmatch ($tr[$i]) "*[Rr][Ii][Gg][Hh][Tt]*"`) + { + $sideNameID=2; + $sideName=match("[Rr][Ii][Gg][Hh][Tt]",($tr[$i])); + } + + //see if an opposingly named influence exists + + if($sideNameID) + { + if($sideNameID=1) + { + if(`substring $sideName 1 1`=="L") + $replaceString="R"; + else + $replaceString="r"; + + if(`substring $sideName 2 2`=="E") + $replaceString=$replaceString+"IGHT"; + else + $replaceString=$replaceString+"ight"; + } + else + if($sideNameID=2) + { + if(`substring $sideName 1 1`=="R") + $replaceString="L"; + else + $replaceString="l"; + + if(`substring $sideName 2 2`=="I") + $replaceString=$replaceString+"EFT"; + else + $replaceString=$replaceString+"eft"; + } + + $tempString=`substitute $sideName $tr[$i] $replaceString`; + + if(`stringArrayContains $tempString $tr`) + $similarNodes={$tempString}; + } + + //if influence is a joint, find similarly labeled joints if present + + if($type=="joint" && size($similarNodes)>1) + { + $jointType=getAttr($tr[$i]+".type"); + $side=getAttr($tr[$i]+".side"); + + if($side == 0) + //object is a center joint + $similarNodes={$tr[$i]}; + else + if($jointType != 0 || $side == 1 || $side == 2) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + + for($j in $tempStringArray) + if((getAttr($j+".type"))==$jointType) $similarNodes[(size($similarNodes))]=$j; + + if(! size($similarNodes)) $similarNodes=$tempStringArray; + } + } + + //see if object is a center influence + if(size($similarNodes)>1) + { + $bbCenter_influenceObj= + << + float((`getAttr ($tr[$i]+".boundingBoxMinX")`+`getAttr ($tr[$i]+".boundingBoxMaxX")`)/2), + float((`getAttr ($tr[$i]+".boundingBoxMinY")`+`getAttr ($tr[$i]+".boundingBoxMaxY")`)/2), + float((`getAttr ($tr[$i]+".boundingBoxMinZ")`+`getAttr ($tr[$i]+".boundingBoxMaxZ")`)/2) + >>; + + $rp=`xform -q -ws -rp ($tr[$i])`; + setAttr ($pointMatrixMultNode+".inPoint") $rp[0] $rp[1] $rp[2]; + $rootSpaceRP=`getAttr ($pointMatrixMultNode+".output")`; + $rootSpaceRP_relevantAxis=`getAttr ($pointMatrixMultNode+".output"+$axisString)`; + + setAttr ($pointMatrixMultNode+".inPoint") ($bbCenter_influenceObj.x) ($bbCenter_influenceObj.y) ($bbCenter_influenceObj.z); + $rootSpaceBBCenter=`getAttr ($pointMatrixMultNode+".output")`; + $bbCenter_influenceObj=zenArrayToVector($rootSpaceBBCenter); + $rootSpaceBB_relevantAxis=`getAttr ($pointMatrixMultNode+".output"+$axisString)`; + + //test to see if object is centered + + if(abs($rootSpaceRP_relevantAxis) <= $tol && abs($rootSpaceBB_relevantAxis) <= $tol) + { + $similarNodes={$tr[$i]}; + } + } + + //narrow possible matches to objects with reflecting rotate pivots + if(size($similarNodes)>1) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + + for($obj in $tempStringArray) + { + $tempFloatArray=`xform -q -ws -rp $obj`; + $tempFloatArray[($axis-1)]=-$tempFloatArray[($axis-1)]; + + setAttr ($pointMatrixMultNode+".inPoint") $tempFloatArray[0] $tempFloatArray[1] $tempFloatArray[2]; + + if(mag(vector(zenArrayToVector($rootSpaceRP))-(vector(zenArrayToVector(`getAttr ($pointMatrixMultNode+".output")`)))) <= $tol) + $similarNodes[(size($similarNodes))]=$obj; + } + + if(! size($similarNodes)) $similarNodes=$tempStringArray; + } + + //narrow possible matches to objects with reflecting bounding box centers + if(size($similarNodes)>1) + { + $tempStringArray=$similarNodes; + $similarNodes={}; + + for($s in $tempStringArray) + { + $bbCenter_opposingObj= + << + float((`getAttr ($s+".boundingBoxMinX")`+`getAttr ($s+".boundingBoxMaxX")`)/2), + float((`getAttr ($s+".boundingBoxMinY")`+`getAttr ($s+".boundingBoxMaxY")`)/2), + float((`getAttr ($s+".boundingBoxMinZ")`+`getAttr ($s+".boundingBoxMaxZ")`)/2) + >>; + + $tempFloatArray=(zenVectorToArray($bbCenter_opposingObj)); + setAttr ($pointMatrixMultNode+".inPoint") $tempFloatArray[0] $tempFloatArray[1] $tempFloatArray[2]; + + $bbCenter_opposingObj=zenArrayToVector(`getAttr ($pointMatrixMultNode+".output")`); + + switch($axis) + { + case 1: + + $bbCenter_opposingObj=<<(-$bbCenter_opposingObj.x),($bbCenter_opposingObj.y),($bbCenter_opposingObj.z)>>; + break; + + case 2: + + $bbCenter_opposingObj=<<($bbCenter_opposingObj.x),(-$bbCenter_opposingObj.y),($bbCenter_opposingObj.z)>>; + break; + + case 3: + + $bbCenter_opposingObj=<<($bbCenter_opposingObj.x),($bbCenter_opposingObj.y),(-$bbCenter_opposingObj.z)>>; + break; + } + + if(mag($bbCenter_influenceObj-$bbCenter_opposingObj)<$tol) $similarNodes[(size($similarNodes))]=$s; + } + + if(! size($similarNodes)) $similarNodes=$tempStringArray; + } + + if(size($similarNodes)>1) warning("Multiple matches for "+($tr[$i])+". Using "+$similarNodes[0]+"."); + + if(size($similarNodes)==0) warning("No matches for "+($tr[$i])+"."); + else + $returnVal[$i]=($similarNodes[0]); + + if(`progressWindow -q -ic`) + { + undoInfo -swf 1; + delete $pointMatrixMultNode; + progressWindow -ep; + error "User Interupt."; + } + + progressWindow -e -s 1; + } + + progressWindow -ep; + + catch(`delete $pointMatrixMultNode`); + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenAdjacentEdges.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenAdjacentEdges.mel new file mode 100644 index 0000000..828fda8 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenAdjacentEdges.mel @@ -0,0 +1,53 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return the edges which are connected to $edge +global proc string[] zenAdjacentEdges( string $first, string $edges[] ) +{ + $edges=`ls -fl $edges`; + string $obj[]=`ls -o $edges`; + string $edge=$first; + + string $verts[]=`polyListComponentConversion -tv $first`; + string $loop[]={$first}; + string $newEdges[]=$loop; + string $prevVerts[]; + string $prevLoop[]=$loop; + string $vert; + string $intersector=`stringArrayIntersector`; + int $notEndEdge=false; + + for($i=0;$i3) + { + progressWindow -title "Working" -status "Creating Curve History" -progress 0 -ii 1 -max (size($edgesString)); + $progress=1; + } + + for($i=0;$i>; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenAttachSpans.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenAttachSpans.mel new file mode 100644 index 0000000..d6f7274 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenAttachSpans.mel @@ -0,0 +1,72 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string[] zenAttachSpans(int $degree,int $spans, int $shaveHairs) +{ + waitCursor -state on; + + //delineate recall in notes attribute + string $notes= + ( + "source zenTools;\n\n"+ + "select -r "+`zenSelectionString`+";\n"+ + "zenAttachSpans "+ + (string($degree))+" "+ + (string($spans))+" "+ + (string($shaveHairs))+";\n\n" + ); + + string $curveSpans; + string $curveSpansShapes[]; + string $surfaceNodes[]; + string $surfaceNodes[]; + string $curveNode[]; + string $shaveNode; + string $surfaceShape; + + $curveSpans=`zenCurvesBetweenEdges $spans ($degree)`; + string $returnVal[]={$curveSpans}; + + if($shaveHairs==1) + { + if(`pluginInfo -q -l shaveNode`==0) + catchQuiet(`loadPlugin shaveNode`); + + SelectMaskToolMarkingMenu; + select $curveSpans; + undoInfo -swf 0; + shave_createHair; + undoInfo -swf 1; + hide $curveSpans; + $curveSpansShapes=`listRelatives -s -ni $curveSpans`; + $shaveNode=zenReturnFirstStringItem(`listConnections -type shaveHair $curveSpansShapes[0]`); + + if(!`objExists ($shaveNode+".notes")`) + addAttr -dt "string" -ln "notes" $shaveNode; + + setAttr -type "string" ($shaveNode+".notes") $notes; + + $returnVal=`stringArrayCatenate $returnVal {$shaveNode}`; + } + + + if(!`objExists ($curveSpans+".notes")`) + addAttr -dt "string" -ln "notes" $curveSpans; + + setAttr -type "string" ($curveSpans+".notes") $notes; + + waitCursor -state off; + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenAttachSurface.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenAttachSurface.mel new file mode 100644 index 0000000..4ebab04 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenAttachSurface.mel @@ -0,0 +1,73 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string[] zenAttachSurface(int $degree,int $shaveHairs) +{ + waitCursor -state on; + + //delineate recall in notes attribute + string $notes= + ( + "source zenTools;\n\n"+ + "select -r "+`zenSelectionString`+";\n"+ + "zenAttachSurface "+ + (string($degree))+" "+ + (string($shaveHairs))+";\n\n" + ); + + string $curveSpans; + string $curveSpansShapes[]; + string $surfaceNodes[]; + string $surfaceNodes[]; + string $curveNode[]; + string $shaveNode; + string $surfaceShape; + + $surfaceNodes=`zenLoftBetweenEdgeLoopPathRings $degree`; + string $rebuildNode=$surfaceNodes[0]; + string $surfaceTr=$surfaceNodes[1]; + + string $returnVal[]={$surfaceNodes[1]}; + + select $surfaceNodes[1]; + + if($shaveHairs) + { + SelectMaskToolMarkingMenu; + select $surfaceTr; + undoInfo -swf 0; + shave_createHair; + undoInfo -swf 1; + $surfaceShape=`listRelatives -ni -s $surfaceNodes[1]`; + $shaveNode=zenReturnFirstStringItem(`listConnections -type shaveHair $surfaceShape`); + hide $surfaceTr; + + if(!`objExists ($shaveNode+".notes")`) + addAttr -dt "string" -ln "notes" $shaveNode; + + setAttr -type "string" ($shaveNode+".notes") $notes; + + $returnVal=`stringArrayCatenate $returnVal {$shaveNode}`; + } + + if(!`objExists ($surfaceNodes[1]+".notes")`) + addAttr -dt "string" -ln "notes" $surfaceNodes[1]; + + setAttr -type "string" ($surfaceNodes[1]+".notes") $notes; + + waitCursor -state off; + + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenAverageEdgeLength.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenAverageEdgeLength.mel new file mode 100644 index 0000000..4db772b --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenAverageEdgeLength.mel @@ -0,0 +1,28 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return the average length of given edges +global proc float zenAverageEdgeLength(string $edges[]) +{ + float $length; + float $edgeLength; + + for($edge in $edges) + { + $edgeLength=(arclen($edge)); + $length=$length+$edgeLength; + } + + return ($length/(size($edges))); +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenBlindDataTemplate_opposingVert.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenBlindDataTemplate_opposingVert.mel new file mode 100644 index 0000000..3018a0a --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenBlindDataTemplate_opposingVert.mel @@ -0,0 +1,49 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc int zenBlindDataTemplate_opposingVert() +{ + int $blindDataTypeID=666999; + + string $blindDataTemplate=zenReturnFirstStringItem + ( + `ls -type blindDataTemplate "zenBlindData_polyOpposingVertex"` + ); + + //check to see if our blind data template already exists, if not create one + + if(objExists($blindDataTemplate)) + { + $blindDataTypeID=getAttr($blindDataTemplate+".typeId"); + } + else + { + for($blindDataTypeID=$blindDataTypeID;$blindDataTypeID<9999999999;$blindDataTypeID++) + { + if(!size(`blindDataType -q -id $blindDataTypeID`)) break; + } + + $blindDataTemplate=blindDataType + ( + "-ldn","opposite", + "-sdn","opp", + "-id",$blindDataTypeID, + "-dt","int" + ); + + $blindDataTemplate=`rename $blindDataTemplate "zenBlindData_polyOpposingVertex"`; + } + + return $blindDataTypeID; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenCompFromID.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenCompFromID.mel new file mode 100644 index 0000000..04e9bca --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenCompFromID.mel @@ -0,0 +1,25 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return an array of components given their id's +//compType is the abbreviation for the component as found in it's selection string +global proc string[] zenCompFromID(string $obj,string $compType,int $ID[]) +{ + string $components[]; + for($i=0;$i0) + { + select $sel; + string $nurbsSurface[]=`zenLoftBetweenEdgeLoopPathRings $degree`; + $rebuildNode=$nurbsSurface[0]; + $surfaceTr=$nurbsSurface[1]; + + if($spans>5) + { + progressWindow -title "Working" -status "Creating Surface History" -progress 0 -ii 1 -max ($spans); + $progress=1; + } + + for($i=0;$i<$spans;$i++) + { + $curveFromIsoparm[$i]=`createNode curveFromSurfaceIso`; + $curveNode[$i]=`createNode -n "shaveCurve#" -p $curveGroup nurbsCurve`; + connectAttr ($rebuildNode+".outputSurface") ($curveFromIsoparm[$i]+".inputSurface"); + setAttr ($curveFromIsoparm[$i]+".isoparmDirection") 1; + setAttr ($curveFromIsoparm[$i]+".isoparmValue") ($i/($spans-1)); + connectAttr ($curveFromIsoparm[$i]+".outputCurve") ($curveNode[$i]+".create"); + if(`objExists $nurbsSurface[1]`) delete $nurbsSurface[1]; + + if($progress) + { + progressWindow -e -s 1; + if(`progressWindow -q -ic`) + { + progressWindow -ep; + error "User Interupt."; + } + } + } + + if($progress) + progressWindow -ep; + } + else + { + string $curves[]; + string $edgeLoops[]=`zenLoopRing $sel`; + string $edgeLoop[]; + $edgeLoops=`stringArrayRemoveDuplicates $edgeLoops`; + $edgeLoops=`stringArrayRemove {""} $edgeLoops`; + + if(size($edgeLoops)>5) + { + progressWindow -title "Working" -status "Creating Curve History" -progress 0 -ii 1 -max (size($edgeLoops)); + $progress=1; + } + + for($i=0;$i5) + { + progressWindow -title "Working" -status "Creating Curve History" -progress 0 -ii 1 -max (size($edgesString)); + $progress=1; + } + + for($i=0;$i1) + { + $sewFacesA[size($sewFacesA)]=$sewEdgeFaces[0]; + $sewFacesB[size($sewFacesB)]=$sewEdgeFaces[1]; + $sewUV[size($sewUV)]=size($uvsOnEdge); + } + + progressWindow -e -s 1; + if(`progressWindow -q -ic`) + { + progressWindow -endProgress; + error "User Interupt"; + } + } + + //split inner vertices, + polySplitVertex -ch 0 $innerVerts; + + //sew casualty edges + for($i=0;$i1) + { + polySewEdge -t 0.01 -tx 0 -ws 1; + polySoftEdge -a 180 -ch 0; + } + + if(size(`polyListComponentConversion -tuv $faces`)) + polyMergeUV -d .01 $faces; +} + +global proc int zenCutEdgesAndConfirm(string $edges[]) +{ + string $command; + int $countSel=size(`ls -sl -fl`); + string $obj=zenReturnFirstStringItem(`stringToStringArray $edges[0] "."`); + string $shape=zenReturnFirstStringItem(`listRelatives -f -s -ni $obj`); + + if(!`objExists $shape` && `nodeType $obj`=="mesh") + $shape=$obj; + + string $dup=zenReturnFirstStringItem(`duplicate $shape`); + string $dupTr=$dup; + + if(`nodeType $dupTr`=="mesh") + $tr=zenReturnFirstStringItem(`listRelatives -p $dup`); + + int $edgeCountBefore=zenReturnFirstIntegerItem(`polyEvaluate -e $shape`); + + int $err=catch(`zenCutEdgesFast $edges`); + + int $edgeCountAfter=zenReturnFirstIntegerItem(`polyEvaluate -e $shape`); + + int $predict=$edgeCountBefore+$countSel; + + + string $edgesNew[]; + if($predict!=$edgeCountAfter || $err) + { + $edgesNew=`zenMimicSelection $edges $dup`; + delete -ch $shape; + $err=catch(`zenCutEdgesAccurate $edgesNew`); + connectAttr -f ($dup+".outMesh") ($shape+".inMesh"); + delete -ch $shape; + } + + if(`objExists $dupTr`) delete $dupTr; + + if($err) return 0; + + return 1; +} + + +global proc zenCutEdges(string $edges[]) +{ + string $testVerts[]=`polyListComponentConversion -fe -tv $edges`; + string $inFacesV[]=`polyListComponentConversion -fv -tf -in $testVerts`; + $inFacesV=`ls -fl $inFacesV`; + string $inFacesE[]=`polyListComponentConversion -fe -tf -in $edges`; + $inFacesE=`ls -fl $inFacesE`; + + if(size($inFacesV)>(size($inFacesE))) + zenCutEdgesAccurate $edges; + else + zenCutEdgesAndConfirm $edges; + + select -clear; + + selectMode -co; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenDeferCommand.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenDeferCommand.mel new file mode 100644 index 0000000..e77cfac --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenDeferCommand.mel @@ -0,0 +1,57 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc zenDeferCommand(string $command) +{ + global string $zenDelayedCommands; + global int $zenDelayedCommandsSJ; + string $commandsDelayed; + + int $SJExists=false; + + if(size($zenDelayedCommands)) + $SJExists=true; + + string $commandArray[]=stringArrayCatenate + ( + stringToStringArray($zenDelayedCommands,";"), + stringToStringArray($command,";") + ); + + for( $c in $commandArray ) + $c=strip($c); + + $commandArray=stringArrayRemoveDuplicates($commandArray); + $commandArray=stringArrayRemove({""},$commandArray); + $zenDelayedCommands=stringArrayToString($commandArray,";"); + + if(!$zenDelayedCommandsSJ || !$SJExists) + { + $commandsDelayed= + ( + "print(\"\\n//Running Delayed Commands//\\n\");\n"+ + "for($c in (stringArrayRemoveDuplicates(stringToStringArray($zenDelayedCommands,\";\"))))\n"+ + "{\n"+ + " catch(`evalEcho($c)`);\n"+ + "}\n"+ + "$zenDelayedCommands=\"\";\n"+ + "$zenDelayedCommandsSJ=0;" + ); + + $zenDelayedCommandsSJ=`scriptJob -ro true -e "idle" ($commandsDelayed)`; + } + + + //print $zenDelayedCommands; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenDelayedCommand.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenDelayedCommand.mel new file mode 100644 index 0000000..2e54867 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenDelayedCommand.mel @@ -0,0 +1,41 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc zenDelayCommands(string $command) +{ + global string $zenDelayedCommands; + global int $zenDelayedCommandsSJ; + + int $SJExists=false; + + if(size($zenDelayedCommands)) + $SJExists=true; + + string $commandArray[]=stringArrayCatenate + ( + stringToStringArray($command,";"), + stringToStringArray($zenDelayedCommands,";") + ); + + $commandArray=stringArrayRemoveDuplicates($commandArray); + $zenDelayedCommands=stringArrayToString($commandArray,";"); + + string $commandsDelayed=$zenDelayedCommands+";global int $zenDelayedCommandsSJ=0;print $zenDelayedCommands;global string $zenDelayedCommands=\"\""; + + if($SJExists && $zenDelayedCommandsSJ!=0) scriptJob -kill $zenDelayedCommandsSJ; + + $zenDelayedCommandsSJ=`scriptJob -ro true -ie $commandsDelayed`; + + print $zenDelayedCommands; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeCurveNode.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeCurveNode.mel new file mode 100644 index 0000000..acdc386 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeCurveNode.mel @@ -0,0 +1,168 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//create a curve from given mesh edges, mesh edges must be in order + +global proc string zenEdgeCurveNode( string $edgeLoop[], int $degree ) +{ + global int $zenOptions_debugging; + + if( $zenOptions_debugging ) //debugging info + { + print("\n"); + print("//zenEdgeCurveNode\n"); + print("// string $edgeLoop[]= "+zenReturnStringArrayFormat($edgeLoop)+"\n"); + print("// int $degree= "+(string($degree))+"\n"); + print("\n"); + } + + float $totalEdgeLength=arclen($edgeLoop[0]); + + string $vertsInLoop[]=`zenVertLoopFromEdgeLoop $edgeLoop`; + + string $obj[]=`ls -o $edgeLoop`; + string $objTr[]=`listRelatives -p $obj[0]`; + string $curveFromMeshEdge1=`createNode curveFromMeshEdge`; + string $curveFromMeshEdge2; + string $attached; + string $trTempCurve=`createNode transform`; + string $tempCurve=`createNode -p $trTempCurve nurbsCurve`; + + string $curveInfoNode=`createNode curveInfo`; + + string $pointOnCurveInfoNode=`createNode pointOnCurveInfo`; + setAttr ($pointOnCurveInfoNode+".parameter") 1; + setAttr ($pointOnCurveInfoNode+".turnOnPercentage") true; + + connectAttr ($obj[0]+".worldMesh[0]") ($curveFromMeshEdge1+".inputMesh"); + setAttr ($curveFromMeshEdge1+".edgeIndex[0]") `zenCompID ($edgeLoop[0])`; + + string $reverseCurveNode; + + vector $endPoint; + + for( $i=1; $i < size($edgeLoop); $i++ ) + { + $totalEdgeLength=$totalEdgeLength+( arclen($edgeLoop[$i]) ); + + //create curve from mesh edge + + $curveFromMeshEdge2=`createNode curveFromMeshEdge`; + + connectAttr -f ($obj[0]+".worldMesh[0]") ($curveFromMeshEdge2+".inputMesh"); + setAttr ($curveFromMeshEdge2+".edgeIndex[0]") `zenCompID ($edgeLoop[$i])`; + + //determine if reversal needs to occur + + $attached=`createNode attachCurve`; + + setAttr ($attached+".nodeState") 8; //waiting + + connectAttr ( $curveFromMeshEdge1+".outputCurve" ) ( $attached+".inputCurve1" ); + connectAttr ( $curveFromMeshEdge2+".outputCurve" ) ( $attached+".inputCurve2" ); + + setAttr ( $attached+".nodeState" ) 0; //active + + connectAttr -f ( $attached+".outputCurve" ) ( $curveInfoNode+".inputCurve" ); + connectAttr -f ( $attached+".outputCurve" ) ( $pointOnCurveInfoNode+".inputCurve" ); + + if($i==1) + { + $endPoint=zenArrayToVector(`pointPosition -w $vertsInLoop[$i+1]`); + + if + ( + $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) || + zenArrayToVector(getAttr($pointOnCurveInfoNode+".position")) != $endPoint + ) + setAttr ($attached+".reverse2") 1; + + if + ( + $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) || + zenArrayToVector(getAttr($pointOnCurveInfoNode+".position")) != $endPoint + ) + setAttr ($attached+".reverse1") 1; + + if + ( + $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) || + zenArrayToVector(getAttr($pointOnCurveInfoNode+".position")) != $endPoint + ) + setAttr ( $attached+".reverse2" ) 0; + + if + ( + $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) || + zenArrayToVector(getAttr($pointOnCurveInfoNode+".position")) != $endPoint + ) + { + print("\n"+(string(getAttr($curveInfoNode+".arcLength")-$totalEdgeLength))); + select $curveFromMeshEdge2; + select -add $edgeLoop[$i]; + error -sl true ("ZenTools is confused"); + } + } + else + { + if( $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) ) + setAttr ($attached+".reverse2") 1; + + if( $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) ) + setAttr ($attached+".reverse1") 1; + + if( $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) ) + setAttr ( $attached+".reverse2" ) 0; + + if( $totalEdgeLength != getAttr( $curveInfoNode+".arcLength" ) ) + { + print("\n"+(string(getAttr($curveInfoNode+".arcLength")-$totalEdgeLength))); + select $curveFromMeshEdge2; + select -add $edgeLoop[$i]; + error -sl true ("ZenTools is confused"); + } + } + + $curveFromMeshEdge1=$attached; + } + + string $rebuilt=`createNode rebuildCurve`; + + connectAttr ($attached+".outputCurve") ($tempCurve+".create"); + connectAttr ($attached+".outputCurve") ($rebuilt+".inputCurve"); + + setAttr ($rebuilt+".keepControlPoints") 1; + + if(`getAttr ($tempCurve+".spans")`<$degree+1) + { + $degree=`getAttr ($tempCurve+".spans")`; + if($degree<1) $degree=1; + } + + int $spanCount=`getAttr ($tempCurve+".spans")`; + + if($spanCount<1) $spanCount=1; + + setAttr ($rebuilt+".degree") $degree; + setAttr ($rebuilt+".rebuildType") 0; + setAttr ($rebuilt+".spans") $spanCount; + setAttr ($rebuilt+".endKnots") 1; + setAttr ($rebuilt+".keepRange") 0; + + disconnectAttr ($attached+".outputCurve") ($tempCurve+".create"); + + delete $trTempCurve $pointOnCurveInfoNode $curveInfoNode; + + return $rebuilt; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeDistance.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeDistance.mel new file mode 100644 index 0000000..6456d41 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeDistance.mel @@ -0,0 +1,77 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return the edge distance between two or more vertices +global proc int[] zenEdgeDistance( string $vert,string $verts[] ) +{ + if(!size($verts)) return {}; + + string $obj=zenReturnFirstStringItem(`stringToStringArray $vert "."`); + int $vertCount=zenReturnFirstIntegerItem(`polyEvaluate -v $obj`); + string $vertices[]={$vert}; + string $nextVertices[]; + string $vertEdges[]; + int $distance[]; + int $found; + string $tempArray[]; + + progressWindow -ii 1 -progress 0 -max 25 -status "Sorting" -title "Working"; + + for($i=0;$i<$vertCount;$i++) + { + $vertEdges=`polyListComponentConversion -te $vertices`; + $nextVertices=`polyListComponentConversion -tv $vertEdges`; + $nextVertices=`ls -fl $nextVertices`; + + for($n=0;$n=`progressWindow -q -max`) + progressWindow -e -progress 0; + } + + progressWindow -endProgress; + + + return {}; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeLengthRatios.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeLengthRatios.mel new file mode 100644 index 0000000..a986913 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenEdgeLengthRatios.mel @@ -0,0 +1,25 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc float[] zenEdgeLengthRatios(string $edges[]) +{ + float $total=`zenAggregateLength $edges`; + float $ratios[]; + float $length; + for($i=0;$i$greatestDistance) + { + $returnVal={$u,$v}; + $greatestDistance=$uvDistance; + } + progressWindow -e -s 1; + } + } + progressWindow -endProgress; + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenFindEndVert.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenFindEndVert.mel new file mode 100644 index 0000000..35a5252 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenFindEndVert.mel @@ -0,0 +1,35 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//finds end vertices +global proc string zenFindEndVert(string $verts[]) +{ + string $returnVal; + + $verts=`ls -fl $verts`; + + if(size($verts)<3) return $verts[0]; + + //find the first end vertex + string $vert=$verts[0]; + + $otherVerts=`stringArrayRemove {$vert} $verts`; + $otherVerts=`zenSortVertsByDistance $vert $otherVerts`; + $otherVerts=`stringArrayRemove {""," ",","} $otherVerts`; + + $returnVal=$otherVerts[size($otherVerts)-1]; + + return $returnVal; + +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenFindWorkspace.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenFindWorkspace.mel new file mode 100644 index 0000000..e33e809 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenFindWorkspace.mel @@ -0,0 +1,38 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//Searches each progressive parent folder for +//"workspace.mel", then sets the workspace. +global proc string zenFindWorkspace() +{ + string $currentRoot=`workspace -q -rd`; + string $path=(dirname(`file -q -loc`)); + int $folderHierarchySize=(size(`stringToStringArray $path "/"`)); + string $root=$currentRoot; + + for($i=0;$i<$folderHierarchySize;$i++) + { + if(`file -q -ex ($path+"/workspace.mel")`) + { + $root=$path; + break; + } + else $path=(dirname($path)); + } + + if(!(gmatch($root,($currentRoot+"*"))) && `file -q -ex $root`) + workspace -o $root; + + return $root; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenFirstIndexOfStringInArray.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenFirstIndexOfStringInArray.mel new file mode 100644 index 0000000..10fa9e5 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenFirstIndexOfStringInArray.mel @@ -0,0 +1,19 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc int zenFirstIndexOfStringInArray(string $str, string $array[]) +{ + for($i=0;$i1) + { + for( $i=1; $i1) + { + for($o in $tempStringArray) + { + if(`nodeType $o`=="mesh") + { + if(zenReturnFirstIntegerItem(`polyEvaluate -v $o`)==$vertCount) + $dupObj=$o; + } + } + } + else error("ZenTools is confused"); + + //transfer the selection to the duplicate + + string $edgeSel[]=zenMimicSelection(`polyListComponentConversion -fe -te $sel`,$dupObj); + string $vertSel[]=zenMimicSelection(`polyListComponentConversion -fv -tv $sel`,$dupObj); + string $faceSel[]=zenMimicSelection(`polyListComponentConversion -ff -tf $sel`,$dupObj); + + if(!size($edgeSel)) error "Improper selection."; + +/* + string $preHist[]=`listHistory $obj`; + + //create a temporary uv set + string $currentUVSet=zenReturnFirstStringItem(`polyUVSet -q -cuv $obj`); + string $tempUVSet=zenReturnFirstStringItem(`polyUVSet -create -uvSet "uvSet" $obj`); + + polyUVSet -currentUVSet -uvs $tempUVSet $obj; +*/ + //give it unshared uv's, then cut out the selection region + + string $tempProj[]=`polyPlanarProjection $dupObj`; + + polyMapCut $edgeSel; + + //select the uv shell corresponding to the selection region + + string $sel[]; + + if(size($vertSel)) + { + $vertSel=`polyListComponentConversion -fv -tuv $vertSel`; + select $vertSel; + polySelectBorderShell 0; + $vertSel=`polyListComponentConversion -fuv -tv`; + } + + if(size($faceSel)) + { + $faceSel=`polyListComponentConversion -ff -tuv $faceSel`; + select $faceSel; + polySelectBorderShell 0; + $faceSel=`polyListComponentConversion -fuv -tf`; + } + +/* + //delete the temporary uv set and return to the previously used uv set + polyUVSet -delete -uvs $tempUVSet $dupObj; + polyUVSet -cuv -uvs $currentUVSet $dupObj; +*/ + + + //restore warning message settings + scriptEditorInfo -sw $sw; + + string $newSel[]; + + $newSel=zenMimicSelection(stringArrayCatenate($vertSel,$faceSel),$obj); + + select $newSel; + + //delete tempObj + + delete $dupObjTr; + //delete (stringArrayRemove($preHist,`listHistory $dupObj`)); + + return $newSel; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenGetLine.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenGetLine.mel new file mode 100644 index 0000000..1b6800e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenGetLine.mel @@ -0,0 +1,35 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string zenGetLine(string $searchString, string $filePath) +{ + int $id=`fopen $filePath "r"`; + float $startTime=`timerX`; + string $line="\n"; + + for($i=0;size($line)>0;$i++) + { + $line=`fgetline $id`; + + if(`gmatch $line ("*"+$searchString+"*")`) + { + fclose $id; + return $line; + } + } + + fclose $id; + + return ""; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenHistoryCleanup.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenHistoryCleanup.mel new file mode 100644 index 0000000..c89f802 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenHistoryCleanup.mel @@ -0,0 +1,66 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string zenHistoryCleanup(string $cleanupScript,string $cleanupNodes[],string $targetAttr) +{ + string $nodeList=`zenReturnStringArrayFormat $cleanupNodes`; + + string $type=`getAttr -type $targetAttr`; + + string $connectionScriptNode=`scriptNode -st 1 -n "zenHistoryLink#"`; + + addAttr -at message -ln proxy $connectionScriptNode; + addAttr -ln "scriptJobNum" -at long $connectionScriptNode; + + string $proxy=($connectionScriptNode+".proxy"); + + connectAttr -f $targetAttr $proxy; + + string $script= + ( + "proc zenCreateHistoryLink()\n"+ + "{\n"+ + " string $targetAttrList[]=`listConnections -plugs 1 "+$proxy+"`;print $targetAttrList;\n"+ + " string $targetAttr=$targetAttrList[0];\n"+ + "\n"+ + " string $disconnectCommand=\n"+ + " (\n"+ + " \"if(!size(`listConnections -s 1 -d 0 "+$targetAttr+"`))\\n\"+"+ + " \"{\\n\"+\n"+ + " \"global string $zenHistNodes[];\\n\"+\n"+ + " \"$zenHistNodes="+(encodeString($nodeList))+";\\n\"+\n"+ + " \"for($n in $zenHistNodes)\\n\"+\n"+ + " \" if(`objExists $n`) delete $n;\\n\"+\n"+ + " \"zenDeferCommand\\n\"+\n"+ + " \"(\\n\"+\n"+ + " \"\\\"if(`objExists "+$connectionScriptNode+"`)\\\\n\\\"+\\n\"+\n"+ + " \"\\\"scriptJob -force -k (`getAttr "+$connectionScriptNode+".scriptJobNum`)\\\"\\n\"+\n"+ + " \");\\n\"+\n"+ + " \"zenDeferCommand(\\\"if(`objExists "+$connectionScriptNode+"`) delete "+$connectionScriptNode+"\\\");\\n\"+\n"+ + " \""+encodeString($cleanupScript)+"\"+\n"+ + " \"}\\n\"\n"+ + " );\n"+ + "\n"+ + " int $scriptJobNum=`scriptJob -pro -cu 1 -con "+$targetAttr+" $disconnectCommand`;\n"+ + " setAttr \""+$connectionScriptNode+".scriptJobNum\" $scriptJobNum;\n"+ + "}\n"+ + "zenCreateHistoryLink;\n" + ); + + scriptNode -e -bs $script $connectionScriptNode; + + scriptNode -eb $connectionScriptNode; + + return $connectionScriptNode; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenIntArrayRemove.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenIntArrayRemove.mel new file mode 100644 index 0000000..171fcb3 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenIntArrayRemove.mel @@ -0,0 +1,35 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc int [] zenIntArrayRemove( int $items[], int $list[] ) +{ + int $item, $listItem, $result[]; + int $keep, $resultIndex = 0; + + for ($listItem in $list) + { + $keep = 1; + for ($item in $items) + { + if ($item == $listItem) + { + $keep = 0; + break; + } + } + if ($keep) $result[$resultIndex++] = $listItem; + } + + return $result; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenIsolateAllignedLoops.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenIsolateAllignedLoops.mel new file mode 100644 index 0000000..07949e1 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenIsolateAllignedLoops.mel @@ -0,0 +1,139 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return alligned edge loop rings +global proc string[] zenIsolateAllignedLoops( string $edges[] ) +{ + global int $zenOptions_debugging; + if($zenOptions_debugging) print("//zenIsolateAllignedLoops(string $edges[])"); + + $edges=`ls -fl $edges`; + + string $obj=zenReturnFirstStringItem( `stringToStringArray $edges[0] "."` ); + string $origSel[]=`ls -sl`; + string $loopStrings[]=`zenIsolateLoops $edges`; + + if(size($loopStrings)<2) return $loopStrings; + + string $cleanedLoopStrings[]; + string $loop[]; + string $edgesInLoopRing[]; + string $edgeRing[]; + int $testEdgeCompID; + string $testEdges[]; + int $progress; + string $intersector=`stringArrayIntersector`; + string $testSel[]; + + if(size($loopStrings)>4 || size($edges)>20)// show / hide progress bar based on the size of the operation + { + progressWindow -title "Working" -ii 1 -status "Alligning Edge Loops" -progress 0 -max ( size($edges)+size($loopStrings)*2 ); + $progress=1; + } + + for($i=0;$i=8)//Maya 8+ optimization + { + $edgeRing=`polySelect -ass -ns -er $testEdgeCompID $obj`; + $edgeRing=`ls -fl $edgeRing`; + } + else + { + $edgeRing=zenCompFromID($obj,"e",`polySelect -ns -er $testEdgeCompID $obj`); + } + $edgesInLoopRing=`stringArrayCatenate $edgesInLoopRing $edgeRing`; + + if($progress) + { + progressWindow -e -s 1; + if(`progressWindow -q -ic`==1) + { + progressWindow -endProgress; + deleteUI $intersector; + error "User Interupt."; + } + } + } + $edges=`zenStringArrayIntersect $edgesInLoopRing $edges`; + } + + for($i=0;$i6) + { + progressWindow -ii 1 -status "Isolating Edge Loops" -progress 0 -max (ceil(size($endEdges)*.75)); + $progress=1; + } + */ + + //isolate loops + + int $n=0; + + int $stop=size($endEdges); + string $used[]; + + for( $i=0; $i<$stop && size($endEdges); $i++ ) + { + $loop=zenAdjacentEdges($endEdges[0],$sel); + $loopStrings[$n++]=`stringArrayToString $loop ","`; + $endEdges=stringArrayRemove($loop,$endEdges); + $used=stringArrayCatenate($used,$loop); + + if($progress) + { + progressWindow -e -s 1; + if(`progressWindow -q -ic`==1) + { + progressWindow -endProgress; + error "User Interupt."; + } + } + } + + if( size($used)$nextPlug) $nextPlug=$pNum; + } + + return ($nextPlug+1); +} + +//reconnects render layers dissociated by referencing or import +global proc dbReconnectRL() +{ + string $renderLayersConnected[]=`listConnections -s 0 -d 1 renderLayerManager`; + string $renderLayers[]=`ls -typ renderLayer`; + string $rlConnect[]=`stringArrayRemove $renderLayersConnected $renderLayers`; + int $i; + + for($i=1;$i1) + { + print ("Creating light passes for Render Layer "+$renderLayers[$i]+"\n"); + for($ii=0;$ii0) setAttr -type "string" ($layerName+".zenLP_blendMode") "screen"; + addAttr -ln zenLP_parentLayer -dt "string" $layerName; + setAttr -type "string" ($layerName+".zenLP_parentLayer") $renderLayers[$i]; + if($rlPreCount==1) setAttr -type "string" ($layerName+".zenLP_parentLayer") "defaultRenderLayer"; + } + + for($ii=0;$ii0) setAttr -type "string" ($layerName+".zenLP_blendMode") "screen"; + addAttr -ln zenLP_parentLayer -dt "string" $layerName; + setAttr -type "string" ($layerName+".zenLP_parentLayer") $renderLayers[$i]; + if($rlPreCount==1) setAttr -type "string" ($layerName+".zenLP_parentLayer") "defaultRenderLayer"; + } + + setAttr ($renderLayers[$i]+".renderable") 0; + } + } + + zenDeferCommand("layerEditorLayerButtonSelect 0 defaultRenderLayer"); + if($rlPreCount==1) delete $RL; +} + +//remove all light passes in the scene +global proc dbRemoveLP() +{ + string $parentLayer; + string $renderLayers[]=`listConnections -s 0 -d 1 renderLayerManager`; + + for($rl in $renderLayers) + { + if(`attributeExists zenLP_parentLayer $rl`) + { + $parentLayer=`getAttr ($rl+".zenLP_parentLayer")`; + setAttr ($parentLayer+".renderable") 1; + layerEditorDeleteLayer $rl; + } + } +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenLayerShaveOutput.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenLayerShaveOutput.mel new file mode 100644 index 0000000..fe8a835 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenLayerShaveOutput.mel @@ -0,0 +1,34 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc zenLayerShaveOutput() +{ + string $currentLoc=dirname(`getAttr shaveGlobals.hairFilenamePrefix`); + if($currentLoc=="") $currentLoc="shave"; + + string $command= + ( + "source zenTools;"+ + "setAttr -type \"string\" shaveGlobals.hairFilenamePrefix "+ + "(\""+$currentLoc+"/\"+`editRenderLayerGlobals -q -crl`);" + ); + + string $currentMEL=`getAttr defaultRenderGlobals.preRenderLayerMel`; + + if($currentMEL!="") $currentMEL=$currentMEL+";"; + + setAttr -type "string" defaultRenderGlobals.preRenderLayerMel ($currentMEL+$command); + + print "Shave images will output images named by render layer."; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenLinkAttr.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenLinkAttr.mel new file mode 100644 index 0000000..a33c713 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenLinkAttr.mel @@ -0,0 +1,65 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string zenLinkAttr(string $attrA, string $attrB) +{ + string $typeA=`getAttr -type $attrA`; + string $typeB=`getAttr -type $attrA`; + + string $connectionScriptNode=`scriptNode -st 1 -n "zenAttributeLink#"`; + + addAttr -at $typeA -ln proxyA $connectionScriptNode; + addAttr -at $typeB -ln proxyB $connectionScriptNode; + addAttr -at bool -ln evaluate -dv 1 $connectionScriptNode; + + string $proxyA=($connectionScriptNode+".proxyA"); + string $proxyB=($connectionScriptNode+".proxyB"); + string $evaluate=($connectionScriptNode+".evaluate"); + + connectAttr -f $attrA $proxyA; + connectAttr -f $attrB $proxyB; + + + string $script= + ( + "proc zenCreateAttrConnectionScriptJob()\n"+ + "{\n"+ + " string $attrAList[]=`listConnections -plugs 1 "+$proxyA+"`;\n"+ + " string $attrBList[]=`listConnections -plugs 1 "+$proxyB+"`;\n"+ + "\n"+ + " string $attrA=$attrAList[0];\n"+ + " string $attrB=$attrBList[0];\n"+ + "\n"+ + " string $command=(\"if(`getAttr "+$evaluate+"`) setAttr \"+$attrB+\" `getAttr "+$proxyA+"`\");\n"+ + "\n"+ + " int $jobA=`scriptJob -pro -cu 1 -ac "+$proxyA+" $command`;\n"+ + "\n"+ + " string $disconnectCommand=\n"+ + " (\n"+ + " \"if(`scriptJob -ex \"+(string($jobA))+\"`) scriptJob -force -kill \"+(string($jobA))+\";\\n\"+\n"+ + " \"if(`objExists "+$connectionScriptNode+"`) delete "+$connectionScriptNode+";\\n\"\n"+ + " );\n"+ + "\n"+ + " scriptJob -pro -ro 1 -con "+$proxyA+" $disconnectCommand;\n"+ + " scriptJob -pro -ro 1 -con "+$proxyB+" $disconnectCommand;\n"+ + "}\n"+ + "zenCreateAttrConnectionScriptJob;\n" + ); + + scriptNode -e -bs $script $connectionScriptNode; + + scriptNode -eb $connectionScriptNode; + + return $connectionScriptNode; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenListRenderableCameras.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenListRenderableCameras.mel new file mode 100644 index 0000000..ecbb96d --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenListRenderableCameras.mel @@ -0,0 +1,25 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return a list of renderable cameras +proc string[] zenListRenderableCameras() +{ + string $cameras[]=`listCameras`; + string $renderable[]; + + for($camera in $cameras) + if (`getAttr ($camera+".renderable")`) $renderable[size($renderable)]=$camera; + + return $renderable; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenLoadPluginsFolder.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenLoadPluginsFolder.mel new file mode 100644 index 0000000..f61f168 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenLoadPluginsFolder.mel @@ -0,0 +1,147 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +////////////////////////////////////////////////////////////////////////////////////////////////////// +//load plugins from folders +////////////////////////////////////////////////////////////////////////////////////////////////////// +proc string zenLoadPluginsFolder(string $dir) +{ + string $newTempDir="zenPlugins"; + + string $loaded; + string $plugins[]; + string $dir; + string $shortName; + string $tempArray[]; + int $pluginDoesNotExist; + int $failed; + string $pluginPath[]; + string $fullPath; + int $pluginNotExist[]; + int $errorDisplayState=`scriptEditorInfo -q -suppressErrors`; + int $infoDisplayState=`scriptEditorInfo -q -si`; + int $warningDisplayState=`scriptEditorInfo -q -sw`; + string $tempDir=`internalVar -utd`; + + //get the correct separator for the OS + string $sep; + if(`about -os`=="nt" || `about -os`=="win64") + $sep=";"; + else + $sep=":"; + + scriptEditorInfo -se 1 -si 1 -sw 1; + + string $path=`getenv MAYA_PLUG_IN_PATH`; + string $pathArray[]=`stringToStringArray $path $sep`; + string $dirArray[]=stringArrayCatenate({$dir},{`substring $dir 1 (size($dir)-1)`}); + + $pathArray=`stringArrayRemove $dirArray $pathArray`; + $path=`stringArrayToString $pathArray $sep`; + + $plugins=`getFileList -folder $dir`; + + putenv MAYA_PLUG_IN_PATH $path; + + progressWindow + -isInterruptable 1 + -title "Working" + -status "Loading Plugins" + -max (size($plugins)*2); + + int $noExist=0; + for($i=0;$i$totalEdgeLengthU) + $uSpace=($totalEdgeLengthU)/($totalEdgeLengthV); + if($totalEdgeLengthU>$totalEdgeLengthV) + $vSpace=($totalEdgeLengthV)/($totalEdgeLengthU); + } + else //uniform distribution + { + $totalEdgeLengthV=1; + for($i=0;$i5) + { + progressWindow -title "Working" -status "Creating History" -progress 0 -ii 1 -max (size($edgeLoops)*4); + $progress=1; + } + + for($i=0;$i>-<<$meshNormalX,$meshNormalY,$meshNormalZ>>); + + if($normalDifference>1) + { + setAttr ($reverseSurfaceNode+".nodeState") 0; + } + + delete $pointOnSurfaceInfoNode $closestPointOnMeshNode; + + //assign default shader + catch(`sets -e -in initialShadingGroup $surfaceNodeSh`); + + if($wrap) delete ($curves[(size($curves)-1)]); + + progressWindow -ep; + + string $returnVal[]=`stringArrayCatenate {$rebuildNode,$surfaceNodeTr} $edgeLoops`; + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenLoftEdges.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenLoftEdges.mel new file mode 100644 index 0000000..91e9988 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenLoftEdges.mel @@ -0,0 +1,64 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//create a loft between 2 or more edge loops +global proc string[] zenLoftEdges(string $edgesString[]) +{ + string $loftNode=`createNode -n "loftBetweenEdges#" loft`; + + string $curves[]; + string $commonEdges[]; + string $edges[]; + + progressWindow -ii 1 -status "Lofting" -progress 0 -max (size($edgesString)); + + for($i=0;$i3) $curveDegree=3; + + float $pointPos[]; + vector $pointPosVector; + string $endVerts[]; + string $returnCurve; + string $curveCreationCommand="curve -ws -d "+(string($curveDegree))+" "; + string $loftCurves[]; + string $loftNode; + string $curveFromSurfaceIso; + string $rebuildSurfaceNode; + string $locators[]; + float $locatorScale; + string $sampleEdges[]; + string $curveTr; + string $clusterNodes[]; + string $returnCurveTr; + string $locatorShape; + string $pointMatrixMultNode1; + string $pointMatrixMultNode2; + + //find size for locators + if($keepHistory) + { + $sampleEdges=`polyListComponentConversion -te $points`; + $locatorScale=zenAverageEdgeLength(`ls -fl $sampleEdges`); + $locatorScale=$locatorScale/3; + } + + if(size($points)!=3 && $curveType==1) + $curveType=2; + + //get point positions + if($selType) + { + for($i=0;$i>; + } + } + else + { + for($i=0;$i>; + } + } + + switch($curveType) + { + + //arc curve + case 1: + $arc=`createNode makeThreePointCircularArc`; + $returnCurveTr=`createNode -n "zenLoopCurve#" transform`; + $returnCurve=`createNode -p $returnCurveTr -n "zenLoopCurveShape#" nurbsCurve`; + + $pointPosVector=$allPointPos[0]; + + setAttr ($arc+".point1") ($pointPosVector.x) ($pointPosVector.y) ($pointPosVector.z); + + $pointPosVector=$allPointPos[1]; + + setAttr ($arc+".point2") ($pointPosVector.x) ($pointPosVector.y) ($pointPosVector.z); + + $pointPosVector=$allPointPos[2]; + + setAttr ($arc+".point3") ($pointPosVector.x) ($pointPosVector.y) ($pointPosVector.z); + + if($keepHistory) + { + $pointPosVector=$allPointPos[0]; + $locators[0]=zenReturnFirstStringItem(`spaceLocator -n ("zenLoopLocator#")`); + setAttr ($locators[0]+".t") ($pointPosVector.x) ($pointPosVector.y) ($pointPosVector.z); + connectAttr ($locators[0]+".t") ($arc+".point1"); + $locatorShape=zenReturnFirstStringItem(`listRelatives -s -ni $locators[0]`); + setAttr ($locatorShape+".localScale") $locatorScale $locatorScale $locatorScale; + + $pointPosVector=$allPointPos[1]; + $locators[1]=zenReturnFirstStringItem(`spaceLocator -n ("zenLoopLocator#")`); + setAttr ($locators[1]+".t") ($pointPosVector.x) ($pointPosVector.y) ($pointPosVector.z); + connectAttr ($locators[1]+".t") ($arc+".point2"); + $locatorShape=zenReturnFirstStringItem(`listRelatives -s -ni $locators[1]`); + setAttr ($locatorShape+".localScale") $locatorScale $locatorScale $locatorScale; + + $pointPosVector=$allPointPos[2]; + $locators[2]=zenReturnFirstStringItem(`spaceLocator -n ("zenLoopLocator#")`); + setAttr ($locators[2]+".t") ($pointPosVector.x) ($pointPosVector.y) ($pointPosVector.z); + connectAttr ($locators[2]+".t") ($arc+".point3"); + $locatorShape=zenReturnFirstStringItem(`listRelatives -s -ni $locators[2]`); + setAttr ($locatorShape+".localScale") $locatorScale $locatorScale $locatorScale; + } + + connectAttr ($arc+".oc") ($returnCurve+".cr"); + + if(`objExists $returnCurve`==0) + { + catch(`delete $returnCurve`); + $curveType=2; + } + else break; + + //edit point curve + case 2: + $returnCurveTr=`createNode -n "zenLoopCurve#" transform`; + $returnCurve=`createNode -p $returnCurveTr -n "zenLoopCurveShape#" nurbsCurve`; + $loftNode=`createNode loft`; + $rebuildSurfaceNode=`createNode rebuildSurface`; + $curveFromSurfaceIso=`createNode curveFromSurfaceIso`; + setAttr ($curveFromSurfaceIso+".isoparmDirection") 0; + setAttr ($loftNode+".uniform") 0; + + for($i=0;$i0) //selection is vertices + { + $selType=0; + } + else //see if selection is uv points + { + $inPoints=`polyListComponentConversion -fuv -tuv $sel`; + if(size($inPoints)==0) + error("You must select either vertices or uv points."); + else //selection is uv points + $selType=1; + } + + string $obj[]=`ls -o $inPoints`; + $obj=`stringArrayRemoveDuplicates $obj`; + + if(size($obj)>1) error("Selection must be on one mesh.\n"); + + string $endPoints[]; + string $points[]; + string $guide[]; + + //organize points + if($selType) //uv selection + { + $endPoints=`ls -fl $inPoints`; + + if(size($endPoints)>2) + { + if($zenOptions_safeUVLoop) + $endPoints=`zenFindEndUVs $inPoints`; + else + $endPoints=`zenFindEndUVsFast $inPoints`; + + $inPoints=`zenSortUVsByDistance $endPoints[0] $inPoints`; + } + else + $inPoints=$endPoints; + } + else //vertex selection + { + $endPoints=`ls -fl $inPoints`; + if(size($endPoints)>2) + { + $endPoints[0]=`zenFindEndVert $inPoints`; + $inPoints=`zenSortVertsByDistance $endPoints[0] $inPoints`; + } + else + $inPoints=$endPoints; + } + + //find loop path connecting input points + string $partialLoop[]; + + if($selType) + //uv selection + { + for($i=1;$i1) + { + $endLoops=`zenOrderLoopRings $endLoops`; + $multiLoop=1; + } + + $zenLastEndLoops=$endLoops; + + print $endLoops; + + string $loopRings[]; + string $ring[]; + string $loopA[]=`stringToStringArray $endLoops[0] ","`; + string $loopB[]; + string $tempArray[]; + int $rpSize=(size($loopA)); + + if($multiLoop) + { + for($i=1;$i=8) + polyMergeVertex -d 0 -am 1 -ch 1 `polyListComponentConversion -tv $shellFaces`; + else + polyMergeVertex -d 0 -ch 1 `polyListComponentConversion -tv $shellFaces`; + + select $sel; + + return 1; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenMultiCurveFromEdgeLoopExe.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenMultiCurveFromEdgeLoopExe.mel new file mode 100644 index 0000000..ad664e4 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenMultiCurveFromEdgeLoopExe.mel @@ -0,0 +1,29 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//create curves from selected edge loops +global proc string[] zenMultiCurveFromEdgeLoopExe(int $degree) +{ + string $sel[]=`ls -sl -fl`; + string $newCurve[]; + string $curves[]=`zenAlignedCurveNodesFromEdgeLoops $sel $degree`; + + for($i=0;$i=2) + $parts2[0]=stringArrayToString(zenStringArraySector($parts1,0,(size($parts1)-2)),"["); + + $parts2=stringArrayCatenate($parts2,stringToStringArray(zenReturnLastStringItem($parts1),"]")); + + return $next=(int(zenReturnFirstStringItem(stringToStringArray(zenReturnLastStringItem($parts1),"]")))+1); +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenNumberSuffix.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenNumberSuffix.mel new file mode 100644 index 0000000..7c54843 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenNumberSuffix.mel @@ -0,0 +1,35 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return the input string with the numerical suffix increased by 1 +global proc string zenNumberSuffix(string $name) +{ + string $newName=$name; + string $newDigit; + string $numString; + string $digits[]={"0","1","2","3","4","5","6","7","8","9"}; + for($i=0;$i0) $num=int($numString)+1; + $newName=$newName+(string($num)); + return $newName; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenNurbsToPolyUV.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenNurbsToPolyUV.mel new file mode 100644 index 0000000..2b376da --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenNurbsToPolyUV.mel @@ -0,0 +1,43 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//project the uv coordinates from a nurbs object onto given polygon facets +proc zenNurbsToPolyUV(string $nurbsSource, string $polyFacets[]) +{ + //create uv's on the polygon facets + polyForceUV -cp $polyFacets; + + string $uvs[]=`polyListComponentConversion -tuv $polyFacets`; + $uvs=`ls -fl $uvs`; + + string $closestPoint=`createNode closestPointOnSurface`; + connectAttr ($nurbsSource+".worldSpace") ($closestPoint+".inputSurface"); + + float $xyz[]; + float $uvPos[]; + + for($uv in $uvs) + { + $xyz=`xform -q -a -ws -t $uv`; + setAttr ($closestPoint+".inPosition") $xyz[0] $xyz[1] $xyz[2]; + polyEditUV + -r 0 + -u `getAttr ($closestPoint+".parameterU")` + -v `getAttr ($closestPoint+".parameterV")` + $uv; + } + + delete $closestPoint; + select $polyFacets; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenObjectSpaceDistanceNode.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenObjectSpaceDistanceNode.mel new file mode 100644 index 0000000..8262e9e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenObjectSpaceDistanceNode.mel @@ -0,0 +1,66 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//creates a node network measuring the collective distance between given attributes within a given objects matrix +//return an attribute holding the measurement +global proc string zenObjectSpaceDistanceNode(string $attributes[], string $obj) +{ + string $distanceBetweenNodes[]; + for($i=0;$i<(size($attributes)-1);$i++) $distanceBetweenNodes[$i]=`shadingNode -asUtility distanceBetween`; + + string $pointMatrixMultNode1; + string $pointMatrixMultNode2; + + string $attrObj; + + for($i=0;$i0) + connectAttr ($pointMatrixMultNode2+".output") ($distanceBetweenNodes[($i-1)]+".point2"); + } + + string $plusMinusAverageNode; + string $returnAttr; + + if(size($distanceBetweenNodes)>1) + { + $plusMinusAverageNode=`shadingNode -asUtility plusMinusAverage`; + + for($i=0;$i<(size($distanceBetweenNodes));$i++) connectAttr ($distanceBetweenNodes[$i]+".distance") ($plusMinusAverageNode+".input1D["+(string($i))+"]"); + + $returnAttr=($plusMinusAverageNode+".output1D"); + } + else + $returnAttr=($distanceBetweenNodes[0]+".distance"); + + return $returnAttr; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenOrderLoopRings.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenOrderLoopRings.mel new file mode 100644 index 0000000..fcfb561 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenOrderLoopRings.mel @@ -0,0 +1,189 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//return given loop rings in order of adjacency +global proc string[] zenOrderLoopRings( string $loopRings[] ) +{ + if(size($loopRings)<2) return $loopRings; + + string $obj=zenReturnFirstStringItem + ( + stringToStringArray + ( + zenReturnFirstStringItem + ( + stringToStringArray + ( + $loopRings[0], + "," + ) + ), + "." + ) + ); + + string $edges[]; + string $verts[]; + string $endVerts[]; + string $tempStringArray[]; + + string $allignVerts[]; + + string $startEdges[]; + string $startEdgesExpanded[]; + string $startEdgesFiltered[]; + + string $endEdges[]; + string $endEdgesExpanded[]; + string $endEdgesFiltered[]; + + string $edgesExpanded[]; + + int $err; + + int $contiguous[]; + + for($i=0;$i1) + { + $edgeB=`zenCompID ($edges[1])`; + $edgeIndices=`polySelect -ns -erp $edgeA $edgeB $obj`; + } + else + { + $edgeIndices=`polySelect -ns -er $edgeA $obj`; + } + + if($edgeA!=$edgeIndices[0]) + $edgeIndices=`zenReverseIntArray $edgeIndices`; + + if($edgeA!=$edgeIndices[0]) + { + if(size($edges)>1) + { + evalDeferred("select "+stringArrayToString($edges,";select -add ")); + print("\ninput:\n"); + print(stringArrayToString($edges," ")); + error -sl true "Invalid selection.\n"; + } + else + { + return $returnVal; + } + } + + $returnVal=`zenCompFromID $obj e $edgeIndices`; + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenOrderedVertexLoop.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenOrderedVertexLoop.mel new file mode 100644 index 0000000..a6c4844 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenOrderedVertexLoop.mel @@ -0,0 +1,97 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//zenOrderedVertexLoop returns a vertex loop between two selected vertices, in order of their distance from +//the vertex with the lower index number +global proc string[] zenOrderedVertexLoop(string $verts[],int $edgeDistance) +{ + string $sel[]; + string $sel2[]; + int $indexA; + int $indexB; + string $edgeLoop[]; + string $edgeLoopVerts[]; + string $obj=zenReturnFirstStringItem(`stringToStringArray $verts[0] "."`); + + if($edgeDistance==0) + $edgeDistance=zenReturnFirstIntegerItem(`zenEdgeDistance $verts[0] {$verts[1]}`); + + //Maya 8 optimization + if(`getApplicationVersionAsFloat`>=8) + { + int $vertA=`zenCompID $verts[0]`; + int $vertB=`zenCompID $verts[1]`; + $edgeLoop=zenCompFromID($obj,"e",`polySelect -sep $vertA $vertB $obj`); + if($verts[0]!=$edgeLoop[0]) + $edgeLoop=`zenReverseStringArray $edgeLoop`; + } + + if(size($edgeLoop)!=$edgeDistance) + { + $edgeLoop={}; + string $edgesA[]=`polyListComponentConversion -te $verts[0]`; + $edgesA=`ls -fl $edgesA`; + string $edgesB[]=`polyListComponentConversion -te $verts[1]`; + $edgesB=`ls -fl $edgesB`; + + int $i; + int $ii; + for($i=0;$i0) break; + } + } + if(size($edgeLoop)>2) + { + $edgeLoopVerts=`zenVertLoopFromEdgeLoop $edgeLoop`; + if($edgeLoopVerts[0]!=$verts[0]) $edgeLoopVerts=`zenReverseStringArray $edgeLoopVerts`; + }else + { + $edgeLoopVerts=`polyListComponentConversion -tv $edgeLoop`; + $edgeLoopVerts=`ls -fl $edgeLoopVerts`; + $edgeLoopVerts=`zenSortVertsByDistance $verts[0] $edgeLoopVerts`; + } + + int $pyErr=true; + + if(size($edgeLoopVerts)<2) + { + if(`getApplicationVersionAsFloat`>=8.5) + $pyErr=catch($edgeLoopVerts=python("zenShortestVertexPath('"+$verts[0]+"','"+$verts[1]+"')")); + + if($pyErr) + { + $edgeLoopVerts=`zenShortestVertexPath $verts[0] $verts[1]`; + warning("Error executing zenShortestVertexPath.py, using zenShortestVertexPath.mel."); + } + } + + return $edgeLoopVerts; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenParentShape.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenParentShape.mel new file mode 100644 index 0000000..d15cc1d --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenParentShape.mel @@ -0,0 +1,36 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//parent the shape beneath the first transform to the second transform +global proc int zenParentShape(string $sel[]) +{ + string $targetTr=$sel[(size($sel)-1)]; + + if(!(size(`ls -tr $targetTr`))) $targetTr=zenReturnFirstStringItem(`listRelatives -p $targetTr`); + + string $sourceTr[]=`stringArrayRemove {$targetTr,($sel[size($sel)-1])} $sel`; + string $sourceSh[]=stringArrayCatenate(`ls -typ shape $sourceTr`,`listRelatives -s $sourceTr`); + string $tr[]; + + for($i=0;$i$totalEdgeLengthU) + $uSpace=($totalEdgeLengthU)/($totalEdgeLengthV); + if($totalEdgeLengthU>$totalEdgeLengthV) + $vSpace=($totalEdgeLengthV)/($totalEdgeLengthU); + } + else + //uniform distribution + { + $totalEdgeLengthV=1; + for($i=0;$i1) + { + $endVertsA=`zenFindEdgeSelectionEndVerts $edgesA`; + + $a0=zenReturnFirstStringItem + ( + zenStringArrayIntersect + ( + (ls("-fl",`polyListComponentConversion -tv ($edgesA[0])`)), + (ls("-fl",`polyListComponentConversion -tv $endVertsA`)) + ) + ); + + $a1=zenReturnFirstStringItem + ( + zenStringArrayIntersect + ( + (ls("-fl",`polyListComponentConversion -tv ($edgesA[(size($edgesA)-1)])`)), + (ls("-fl",`polyListComponentConversion -tv $endVertsA`)) + ) + ); + } + else + { + $a0=zenReturnFirstStringItem(ls("-fl",`polyListComponentConversion -fe -tv ($edgesA[0])`)); + $a1=zenReturnLastStringItem(ls("-fl",`polyListComponentConversion -fe -tv ($edgesA[0])`)); + } + + if((size($edgesB))>1) + { + $endVertsB=`zenFindEdgeSelectionEndVerts $edgesB`; + + $b0=zenReturnFirstStringItem + ( + zenStringArrayIntersect + ( + (ls("-fl",`polyListComponentConversion -tv ($edgesB[0])`)), + (ls("-fl",`polyListComponentConversion -tv $endVertsB`)) + ) + ); + + $b1=zenReturnFirstStringItem + ( + zenStringArrayIntersect + ( + (ls("-fl",`polyListComponentConversion -tv ($edgesB[(size($edgesB)-1)])`)), + (ls("-fl",`polyListComponentConversion -tv $endVertsB`)) + ) + ); } + else + { + $b0=zenReturnFirstStringItem(ls("-fl",`polyListComponentConversion -fe -tv ($edgesB[0])`)); + $b1=zenReturnLastStringItem(ls("-fl",`polyListComponentConversion -fe -tv ($edgesB[0])`)); + } + + $edgeDistances0={0,0}; + $returnVal[$i]=0; + + if(!$global) + { + if(size(stringArrayRemoveDuplicates(`ls -o {$b0,$a0,$a1}`))==1) + { + $err=catch($edgeDistances0=zenEdgeDistance($b0,{$a0,$a1})); + $err=catch($edgeDistances1=zenEdgeDistance($b1,{$a1,$a0})); + } + + print "\n";print $edgeDistances0;print "\n"; + + if($err) $edgeDistances0={0,0}; + + if(($edgeDistances0[0]+$edgeDistances1[0])>($edgeDistances0[1]+$edgeDistances1[1]) && $returnVal[($i-1)]==0) + $returnVal[$i]=1; + else + if(($edgeDistances0[0]+$edgeDistances1[0])<($edgeDistances0[1]+$edgeDistances1[1]) && $returnVal[($i-1)]==1) + $returnVal[$i]=1; + } + + if($edgeDistances0[0]==$edgeDistances0[1] || $global) + //if edges are on different meshes, or edge distances are equal, or $global==true + //use tangent vector to determine if they are flipped + { + $pointPosA0=zenArrayToVector(`pointPosition -w $a0`); + $pointPosA1=zenArrayToVector(`pointPosition -w $a1`); + $pointPosB0=zenArrayToVector(`pointPosition -w $b0`); + $pointPosB1=zenArrayToVector(`pointPosition -w $b1`); + + $tanA=$pointPosA1-$pointPosA0; + $tanB=$pointPosB1-$pointPosB0; + $reverseA=$pointPosA0=$pointPosA1; + + $tanA_array=zenVectorToArray($tanA); + $tanB_array=zenVectorToArray($tanB); + $reverseA_array=zenVectorToArray($reverseA); + + normalize($tanA_array); + normalize($tanB_array); + normalize($reverseA_array); + + $tanA=zenArrayToVector($tanA_array); + $tanB=zenArrayToVector($tanB_array); + $reverseA=zenArrayToVector($reverseA_array); + + $difference1=mag($tanA-$tanB); + $difference2=mag($reverseA-$tanB); + + if($difference1>1 && $returnVal[($i-1)]==0) + $returnVal[$i]=1; + else + if($difference1<1 && $returnVal[($i-1)]==1) + $returnVal[$i]=1; + } + + } + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenReflectUV.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenReflectUV.mel new file mode 100644 index 0000000..bd4ef02 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenReflectUV.mel @@ -0,0 +1,183 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//mirrors uvs along the specified u axis +global proc int zenReflectUV(float $mirrorAt,int $axis) +{ + string $sel[]=`ls -sl -fl`; + $sel=stringArrayRemove(`ls -sl -tr`,$sel); + $sel=stringArrayRemove(`ls -sl -o`,$sel); + $sel=`polyListComponentConversion -ff -tf $sel`; + $sel=`ls -fl $sel`; + $sel=`stringArrayRemoveDuplicates $sel`; + + if(size($sel)==0) error("Procedure requires a selection of polygon faces."); + + string $obj=zenReturnFirstStringItem(`ls -o $sel`); + delete -ch $obj; + + string $tr=zenReturnFirstStringItem(`listRelatives -p $obj`); + + float $pivot[]=`xform -q -rp $tr`; + + float $coordinates[]; + string $correspondingFace; + string $allOpposingFaces[]; + string $nearestPointNode=`createNode closestPointOnMesh`; + string $pointOnMeshNode=`createNode pointOnMeshInfo`; + string $sourceFaceUVs[]; + string $targetFaceUVs[]; + vector $sourceFaceUV_xyz[]; + vector $targetFaceUV_xyz[]; + float $tempArray[]; + string $closestVertFace[]; + float $distance; + float $shortestDistance; + string $command; + vector $tempVector; + int $faceIndex; + + connectAttr ($obj+".outMesh") ($nearestPointNode+".inMesh"); + connectAttr ($obj+".outMesh") ($pointOnMeshNode+".inMesh"); + + delete -ch $obj; + + float $startTime=`timerX`; + + undoInfo -swf 0; + + progressWindow -isInterruptable 1 -title "Working" -status "Mirroring UV Coordinates" -max (size($sel)*3) -progress 0; + + //create a new uv set in which to normalize the values for mirror-checking + string $uvOrig=zenReturnFirstStringItem(`polyUVSet -q -cuv $obj`); + string $uvNew=zenReturnFirstStringItem(`polyUVSet -cp -uvs $uvOrig $obj`); + + polyUVSet -cuv -uvs $uvNew $obj; + + //forcing uv's twice inexplicably seems to help with erradically anchored faces + polyForceUV -unitize `polyListComponentConversion -tf $obj`; + + + for($face in $sel) + { + polyUVSet -cuv -uvs $uvNew $obj; + //find opposing coordinates + $faceIndex=`zenCompID $face`; + setAttr ($pointOnMeshNode+".faceIndex") $faceIndex; + $coordinates=`getAttr ($pointOnMeshNode+".position")`; + + if($axis==1) $coordinates[0]=-($coordinates[0])+$pivot[0]; + if($axis==2) $coordinates[1]=-($coordinates[1])+$pivot[1]; + if($axis==3) $coordinates[2]=-($coordinates[2])+$pivot[2]; + + //find opposing face + setAttr ($nearestPointNode+".inPosition") $coordinates[0] $coordinates[1] $coordinates[2]; + $correspondingFace=$obj+".f["+(string(`getAttr ($nearestPointNode+".closestFaceIndex ")`))+"]"; + $allOpposingFaces[size($allOpposingFaces)]=$correspondingFace; + + polyUVSet -cuv -uvs $uvOrig $obj; + + //create uv's for opposing face if none exist + $targetFaceUVs=`polyListComponentConversion -ff -tuv $correspondingFace`; + $targetFaceUVs=`ls -fl $targetFaceUVs`; + + if(size($targetFaceUVs)==0) + { + polyForceUV -cp -uvs $uvOrig $correspondingFace; + $targetFaceUVs=`polyListComponentConversion -ff -tuv $correspondingFace`; + $targetFaceUVs=`ls -fl $targetFaceUVs`; + delete -ch $obj; + } + + //find the world space coordinates for each vertex face + $sourceFaceUVs=`polyListComponentConversion -ff -tuv $face`; + $sourceFaceUVs=`ls -fl $sourceFaceUVs`; + + for($i=0;$i=2) + $parts2[0]=stringArrayToString(zenStringArraySector($parts1,0,(size($parts1)-2)),"["); + + $parts2=`stringArrayCatenate $parts2 (stringToStringArray(zenReturnLastStringItem($parts1),"]"))`; + + string $next=string(int(zenReturnFirstStringItem(stringToStringArray(zenReturnLastStringItem($parts1),"]")))+1); + + $parts2=zenStringArrayReplace(zenReturnFirstStringItem(stringToStringArray(zenReturnLastStringItem($parts1),"]")),$next,$parts2); + + string $returnVal; + + $returnVal=$parts2[0]+"["+$next+"]"; + + if(size(stringToStringArray(zenReturnLastStringItem($parts1),"]"))>1) + $returnVal=$returnVal+zenReturnLastStringItem(stringToStringArray(zenReturnLastStringItem($parts1),"]")); + + return $returnVal; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenReturnOppositeVerts.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenReturnOppositeVerts.mel new file mode 100644 index 0000000..f98620e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenReturnOppositeVerts.mel @@ -0,0 +1,415 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +if(`zenMayaVersion` < 8.5) requires "closestPointOnMesh"; + +proc string[] zenOppositeVerts(string $verts[], int $axis, string $coordinateSpaceObject) +{ + $obj=zenReturnFirstStringItem(`ls -o $verts`); + + string $tr=zenReturnFirstStringItem(`listRelatives -p $obj`); + + float $tol=.0001; + + string $vertices[]=ls("-fl",$verts); + + float $xyz[]; + + int $useOldCPNode; + + int $id; + + if(`zenMayaVersion` < 8.5) $useOldCPNode=1; + + //create a pointMatrixMultiplier node for converting coordinates if a coordinate space object is specified + + string $pointMatrixMultNode1; + string $pointMatrixMultNode2; + + int $coordinateSpace;//0==local, 1==world, 2==custom + + float $axisOffset; + + if(`objExists ($coordinateSpaceObject+".worldInverseMatrix[0]")`) + { + switch($axis) + { + case 1: + $axisOffset=`getAttr ($coordinateSpaceObject+".tx")`-`getAttr ($tr+".tx")`; + break; + + case 2: + $axisOffset=`getAttr ($coordinateSpaceObject+".ty")`-`getAttr ($tr+".ty")`; + break; + + case 3: + $axisOffset=`getAttr ($coordinateSpaceObject+".tz")`-`getAttr ($tr+".tz")`; + break; + } + + if + ( + $axisOffset>$tol || + `getAttr ($coordinateSpaceObject+".rx")`!=`getAttr ($tr+".rx")` || + `getAttr ($coordinateSpaceObject+".ry")`!=`getAttr ($tr+".ry")` || + `getAttr ($coordinateSpaceObject+".rz")`!=`getAttr ($tr+".rz")` + + ) + { + + $pointMatrixMultNode1=`createNode pointMatrixMult`; + setAttr ($pointMatrixMultNode1+".vectorMultiply") true; + connectAttr ($coordinateSpaceObject+".worldInverseMatrix[0]") ($pointMatrixMultNode1+".inMatrix"); + + $pointMatrixMultNode2=`createNode pointMatrixMult`; + setAttr ($pointMatrixMultNode2+".vectorMultiply") true; + connectAttr ($coordinateSpaceObject+".worldMatrix[0]") ($pointMatrixMultNode2+".inMatrix"); + } + else $coordinateSpace=0; + } + else + if($coordinateSpaceObject=="world") + $coordinateSpace=1; + else $coordinateSpace=0; + + string $closestPointOnMeshNode=`createNode closestPointOnMesh`; + + if($coordinateSpace) + connectAttr ($obj+".worldMesh[0]") ($closestPointOnMeshNode+".inMesh"); + else + connectAttr ($obj+".outMesh") ($closestPointOnMeshNode+".inMesh"); + + //progress window + + progressWindow -isInterruptable 1 -title "Working" -status "Sorting Vertices" -max (size($vertices)/2) -progress 0; + + //find reflected vertices + + string $closeVerts[]; + + vector $testCoordinates; + vector $pointCoordinates; + + float $vertDistance; + float $closestDistance; + + string $closestVert; + + string $returnVal[]; + + for($i=0;$i>; + $testCoordinates=zenArrayToVector(`pointPosition -w $v`); + + $vertDistance=mag($testCoordinates-$pointCoordinates); + + if($vertDistance<$closestDistance) + { + $closestDistance=$vertDistance; + $closestVert=$v; + } + } + } + else + { + $closestVert=$obj+".vtx["+(string(`getAttr ($closestPointOnMeshNode+".closestVertexIndex")`))+"]"; + + } + + $returnVal[$i]=$closestVert; + + //check for user interupt + + if(`progressWindow -q -ic`) + { + undoInfo -swf 1; + delete $closestPointOnMeshNode; + if($coordinateSpace==2) delete $pointMatrixMultNode1 $pointMatrixMultNode2; + progressWindow -ep; + error "User Interupt."; + } + + progressWindow -e -s 1; + } + + progressWindow -ep; + + delete $closestPointOnMeshNode; + + if($coordinateSpace==2) delete $pointMatrixMultNode1 $pointMatrixMultNode2; + + return $returnVal; +} + +global proc string[] zenReturnOppositeVerts(int $axis,string $verts[],string $spaceObj) +{ + //undoInfo -swf 0; + + string $objects[]=stringArrayRemoveDuplicates(`ls -o $verts`); + + if(size($objects)>1) error("Incorrect selection."); + + string $obj=$objects[0]; + + string $skinClusterNode=zenReturnFirstStringItem(ls("-type","skinCluster",`listHistory $obj`)); + string $inputGeometry=$obj; + + if(objExists($skinClusterNode)) + { + $inputGeometry=zenReturnFirstStringItem(ls("-type","mesh",(listHistory(listConnections($skinClusterNode+".input"))))); + $verts=`zenMimicSelection $verts $inputGeometry`; + } + + int $intermediateObj=getAttr($inputGeometry+".intermediateObject"); + + setAttr ($inputGeometry+".intermediateObject") 0; + + //first see if the mesh has a symmetry table attached + + int $blindDataID=zenBlindDataTemplate_opposingVert(); + + string $symNode; + + string $polyBlindDataNodes[]=`ls -type polyBlindData (listConnections($inputGeometry))`; + + for($p in $polyBlindDataNodes) + { + if(getAttr($p+".typeId")==$blindDataID) + { + $symNode=$p; + break; + } + } + + string $historyMeshes[]; + + if(!objExists($symNode)) + //look in history for symmetry nodes + { + $historyMeshes=stringArrayRemoveDuplicates(ls("-type","mesh",stringArrayCatenate(`listHistory $inputGeometry`,`listHistory -f true $inputGeometry`))); + + for($h in $historyMeshes) + { + $polyBlindDataNodes=`ls -type "polyBlindData" (listConnections($h))`; + + if(size($polyBlindDataNodes)) + { + if + ( + zenReturnFirstIntegerItem(`polyEvaluate -v $inputGeometry`)==zenReturnFirstIntegerItem(`polyEvaluate -v $h`) && + zenReturnFirstIntegerItem(`polyEvaluate -e $inputGeometry`)==zenReturnFirstIntegerItem(`polyEvaluate -e $h`) && + zenReturnFirstIntegerItem(`polyEvaluate -f $inputGeometry`)==zenReturnFirstIntegerItem(`polyEvaluate -f $h`) + ) + { + for($p in $polyBlindDataNodes) + { + if(getAttr($p+".typeId")==$blindDataID) + { + $symNode=$p; + connectAttr -na ($symNode+".message") ($obj+".blindDataNodes"); + break; + } + } + } + } + } + } + + $verts=`ls -fl $verts`; + + string $oppositeVerts[]; + + int $err=false; + string $closestPointNode; + string $pointOnMeshInfo; + + int $vertCount; + + if(!objExists($symNode)) + { + $vertCount=zenReturnFirstIntegerItem(`polyEvaluate -v $inputGeometry`); + + if(size($verts)>($vertCount/4)) + { + $err=catch(zenVertexSymmetryNode( 0, $axis, $inputGeometry, $spaceObj )); + + $polyBlindDataNodes=`ls -type polyBlindData (listConnections($inputGeometry))`; + + for($p in $polyBlindDataNodes) + { + if(getAttr($p+".typeId")==$blindDataID) + { + $symNode=$p; + break; + } + } + } + } + + int $oppositeIDs[]; + + if(objExists($symNode) && !$err) + { + progressWindow -isInterruptable 1 -title "Working" -status "Sorting Vertices" -max (size($verts)) -progress 0; + + for($i=0;$i=1) $tempString1=`substring $name 1 ($i)`; + if(size($name)>$i+1) $tempString2=`substring $name ($i+2) (size($name))`; + + $name=$tempString1+$tempString2; + + $end--; + $i--; + } + } + else + { + if(size($name)>1) + { + $name=`substring $name 2 (size($name))`; + $end--; + $i--; + } + else + { + $name="X"; + break; + } + } + } + + return $name; +} + +//recursively adds scripts and submenus according to folder structure and mel files +global proc int zenAddScriptsFolder(string $menuName, string $folder, string $addCommands) +{ + string $sep=`zenSeparatorString`; + string $fileList[]; + string $scriptList[]; + + if($folder!="null") + { + putenv MAYA_SCRIPT_PATH (`getenv MAYA_SCRIPT_PATH`+$sep+$folder); + + $fileList=sort(`getFileList -fld $folder`); + $scriptList=sort(`getFileList -fld $folder -fs "*.mel"`); + } + + if(size($fileList)==0 && size($addCommands)==0) return 1; + + string $folderCheck[]; + string $subMenu; + string $displayName; + string $baseName; + string $scripts[]; + + string $commands[]; + + int $err; + int $hasSubMenus=0; + + if($addCommands!="" && $addCommands!="null") + { + $commands=`stringToStringArray $addCommands ","`; + $commands=`stringArrayRemove {""} $commands`; + + for($c in $commands) + { + $displayName=`zenValidName $c 1`; + $displayName=`substitute "_" $displayName " "`; + $displayName=`interToUI $displayName`; + + menuItem + -p $menuName + -l $displayName + -c ("if($zenOptions_debugging) source "+$c+";"+$c+";"); + } + } + + if($addCommands!="" && size($fileList)) + catchQuiet(`menuItem -d 1 -p $menuName`); + + for($f in $fileList) + { + $baseName=`basename $f ".mel"`; + + $folderCheck=`getFileList -fld ($folder+$f+"/")`; + + if(size($folderCheck))//item is a folder + { + $displayName=`substitute "_" $f " "`; + $displayName=interToUI(`zenValidName $displayName 1`); + + $hasSubMenus=1; + $err=catchQuiet($subMenu=`menuItem -p $menuName -sm true -to true -l $displayName`); + $err=catchQuiet(`zenAddScriptsFolder $subMenu ($folder+$f+"/") ""`); + if($err) print ("Failed to build subMenu "+$displayName); + } + else + { + $scripts[size($scripts)]=$f; + } + } + + if($hasSubMenus && size($scriptList)) + catchQuiet(`menuItem -d 1 -p $menuName`); + + $scriptList=sort($scriptList); + + string $tempArray[]; + + global string $zenOptionString_prefixExclude; + string $prefixExlude[]=`stringToStringArray $zenOptionString_prefixExclude $sep`; + string $baseNames[]; + string $displayNames[]; + string $sortedDisplayNames[]; + + for($i=0;$i=`progressWindow -q -max`) + { + progressWindow -ep; + progressWindow -progress 0; + } + } + + //print("mel time:\n"); + //print(`timerX -st $t`); + + progressWindow -endProgress; + + return $returnStrings; +} + +global proc string[] zenShortestVertexPath(string $vertA,string $vertB) +{ + string $obj=zenReturnFirstStringItem(`ls -o $vertA`); + int $vertCount=zenReturnFirstIntegerItem(`polyEvaluate -v $obj`); + string $tempArray[]; + string $vertices[]; + string $vertPath[]={$vertA}; + string $vert=$vertA; + string $distanceList[]=`zenVertDistanceList $vertB $vertA`; + int $sizeList=size($distanceList); + + //float $startTime=`timerX`; + + string $intersector=`stringArrayIntersector`; + + for($i=1;$i<$sizeList;$i++) + { + $tempArray=`stringToStringArray ($distanceList[$sizeList-$i-1]) ","`; + $tempArray=`ls -fl $tempArray`; + $vertices=`polyListComponentConversion -te $vert`; + $vertices=`polyListComponentConversion -tv $vertices`; + $vertices=`ls -fl $vertices`; + $vertices=`stringArrayRemove {$vert} $vertices`; + + stringArrayIntersector -e -r $intersector; + stringArrayIntersector -e -i $vertices $intersector; + stringArrayIntersector -e -i $tempArray $intersector; + + $vert=zenReturnFirstStringItem(`stringArrayIntersector -q $intersector`); + + $vertPath[$i]=$vert; + } + + //print("Operation took "+`timerX -st $startTime`+" seconds.\n"); + + deleteUI $intersector; + + $vertPath[size($vertPath)]=$vertB; + + return $vertPath; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenShortestVertexPath.py b/2009-x64/MiscScripts/scripts/zenScripts/zenShortestVertexPath.py new file mode 100644 index 0000000..d9b6870 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenShortestVertexPath.py @@ -0,0 +1,86 @@ +import maya.cmds as mc +#import maya.utils as mu + +def zenStringArrayRemove( removeList, stringList ): + + for string in removeList: + for i in range( 0, len(stringList)-1 ): + if(stringList[i]==string): + stringList.pop(i) + + return stringList + +def zenVertDistanceList( vert, stopVert ): + + obj = mc.ls( vert, o=True )[0] + vertCount = mc.polyEvaluate( obj, v=True ) + vertices = [ vert ] + estimate = 25 + returnStrings=[] + + mc.progressWindow( ii=1, title="Working", status="Sorting", max=estimate, progress=0 ) + + for i in range( 0, vertCount ): + + tempArray = mc.ls( vertices,fl=True ) + vertices = mc.polyListComponentConversion( vertices, te=True ) + vertices = mc.polyListComponentConversion( vertices, tv=True ) + flattenedListVerts=mc.ls( vertices, fl=True ) + tempArray=zenStringArrayRemove( tempArray,flattenedListVerts ) + tempArray=mc.polyListComponentConversion( tempArray, fv=True, tv=True ) + returnStrings.append( tempArray ) + + if( stopVert in flattenedListVerts ): break + + mc.progressWindow( e=True, s=1 ); + + if( mc.progressWindow( q=True, ic=True) ): + + mc.progressWindow(ep=True) + mc.error("User Interupt.") + + if( mc.progressWindow( q=True, progress=True ) >= mc.progressWindow( q=True, max=True ) ): + + mc.progressWindow( ep=True ) + mc.progressWindow( progress=0 ) + + mc.progressWindow( endProgress=True ) + + return returnStrings + +def zenShortestVertexPath( vertA, vertB ): + + obj = mc.ls( vertA, o=True ) + vertCount = mc.polyEvaluate( obj, v=True ) + vertPath = [vertA] + vert = vertA + distanceList = zenVertDistanceList( vertB,vertA ) + sizeList = len( distanceList ) + + intersector = mc.stringArrayIntersector() + + for i in range( 1, sizeList ): + + tempArray = distanceList[ sizeList-i-1 ] + tempArray=mc.ls( tempArray, fl=True ) + vertices= mc.polyListComponentConversion( vert, te=True ) + vertices=mc.polyListComponentConversion( vertices, tv=True ) + vertices=mc.ls( vertices, fl=True ) + tempA=[vert] + vertices=zenStringArrayRemove( tempA , vertices ) + + mc.stringArrayIntersector( intersector, e=True, r=True ) + mc.stringArrayIntersector( intersector, e=True, i=vertices ) + mc.stringArrayIntersector( intersector, e=True, i=tempArray ) + + vertTempArray=mc.stringArrayIntersector( intersector, q=True ) + + vert=vertTempArray[0] + + vertPath.append( vert ) + + mc.deleteUI( intersector ) + + vertPath.append( vertB ) + + return vertPath diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenSoftModsOnMesh.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenSoftModsOnMesh.mel new file mode 100644 index 0000000..a8e4a00 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenSoftModsOnMesh.mel @@ -0,0 +1,255 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//test to make sure zenTools is loaded +if(!`exists zenLoop`) source zenTools; +requires "decomposeMatrix"; + +global proc string zenSoftModsOnMesh +( + string $edges, + int $handleNum, + float $falloff, + int $maintainOffset +) +{ + //create a surfaceNode for the rivet + string $zenLoftArray[]=`zenLoftBetweenEdgeLoopPathRings 3`; + + //delete unwanted transform, evalDefferred prevents deletion of surfaceNode before it can be used + $surfaceNode=$zenLoftArray[0]; + zenDeferCommand("delete "+$zenLoftArray[1]); + + string $mesh=zenReturnFirstStringItem(`ls -o $edges`); + + string $target=`createNode transform`; + + string $pointOnSurfaceInfoNode = `createNode -n "pointOnSurfaceInfo#" pointOnSurfaceInfo`; + setAttr ".turnOnPercentage" 1; + setAttr ".parameterU" 0.5; + setAttr ".parameterV" 0.5; + setAttr ".caching" true; + + ////// + // make poly average vertex node to average the vertices surrounding the face, + // so that rotations of mesh constraint won't cause flipping on extreme single + // face vertex creases (such as the wrinkle in a brow furrow, for example): + // + string $face_verts[] = ls( "-l", "-fl", + `polyListComponentConversion -tv {$edgeA,$edgeB}`); + select $face_verts ; + + // must be non negative: + if( $falloff <=0 ) $falloff = 1; + int $i; + for($i=0;$i<$falloff; $i++) + { + // weird args, eh!? Ask Alias, not me: + polySelectConstraint -pp 1 -t 0x0001 ; //expand verts + } + + $face_verts = `ls -l -fl -sl` ; + string $pAvgNode[] = `polyAverageVertex -i ($falloff*2) $face_verts`; + string $pAvg = `rename $pAvgNode[0] "averageDerivatives#"`; + string $geomOrigDgIn[] = `listConnections -s 1 -d 0 -p 1 ($pAvg+".inputPolymesh")`; + string $geomOrigDgOut[] = `listConnections -s 0 -d 1 -p 1 ($pAvg+".output")`; + + ///// + // determine if transform requested to constraint onto mesh + // is connected to a deformer that is in the history of the mesh + // we are constraining onto. if this is the case, then we need + // to do some additional dg vo-doo so that the resultant graph + // is no longer cyclic, and in result, this is the first step + // that allows us to "parent" deformers (like clusters or joints) + // directly onto the geometry that they are deforming... + // + string $historicTransforms[] = ls("-type", "transform", `listHistory -il 2 -gl 1 $geomOrigDgIn[0]`); + int $isCyclic = false; + for($node in $historicTransforms){ + if( $node == $orig_target ){ + $isCyclic = true ; + break; + } + } + string $cyclicDeformer; + if( $isCyclic ) + { + string $futureDeformers[] = ls( "-type", "geometryFilter", + `listHistory -future 1 -il 2 -pdo 1 -lv 1 $orig_target`); + + string $historicDeformers[] = ls("-type", "geometryFilter", + `listHistory -il 2 -gl 1 -pdo 1 $geomOrigDgIn[0]`); + + for($past in $historicDeformers){ + for($future in $futureDeformers){ + if($future == $past){ + $cyclicDeformer = $future ; + break; + } + } + } + if(`objExists $cyclicDeformer`) + { + int $defSize = `getAttr -size ($cyclicDeformer+".input")`; + int $dindex = 0; + for($i=0; $i<$defSize; $i++){ + string $conn[] = `listConnections -s 0 -d 1 ($cyclicDeformer+".outputGeometry["+$i+"]")`; + string $meshUpStream[] = + ls( "-type", "mesh", + `listHistory -future true $conn[0]`); + for($upmsh in $meshUpStream){ + string $meshDaddy[] = ls("-type","transform",`listRelatives -p $upmsh`); + if($meshDaddy[0] == $mesh || $upmsh == $mesh){ + $dindex = $i; + break; + } + } + } + string $incoming[] = + `listConnections -scn 1 + -p 1 -s 1 -d 0 ($cyclicDeformer+".input["+$dindex+"].inputGeometry")`; + string $groupParts[] = `ls -o -type groupParts $incoming`; + if(`size $groupParts`) + { + $incoming = `listConnections -scn 1 + -p 1 -s 1 -d 0 ($groupParts[0]+".inputGeometry")`; + } + // + // note: if you don't disconnect, turn off node state, + // and reconnect, and attach these attrs in this order, + // then, ka-blam, maya poops out and insta-crashes: + // + disconnectAttr ($pAvg+".output") $geomOrigDgOut[0] ; + disconnectAttr $geomOrigDgIn[0] ($pAvg+".inputPolymesh") ; + setAttr ($pAvg+".nodeState") 1 ; + connectAttr $incoming[0] ($pAvg+".inputPolymesh"); + string $incomingNode[] = `ls -o $incoming[0]`; + setAttr ($incomingNode[0]+".caching") 1 ; // <- big speed improvement! (uses a bit more ram though) + } + } + else{ + disconnectAttr ($pAvg+".output") $geomOrigDgOut[0] ; + disconnectAttr $geomOrigDgIn[0] ($pAvg+".inputPolymesh") ; + setAttr ($pAvg+".nodeState") 1 ; + connectAttr ($objName[0]+".w") ($pAvg+".inputPolymesh") ; + } + + connectAttr $geomOrigDgIn[0] $geomOrigDgOut[0] ; + setAttr ($pAvg+".nodeState") 0 ; + setAttr ($pAvg+".alpha") 0.25; + setAttr ($pAvg+".beta") 0.50; + setAttr ($pAvg+".caching") true; + + ///// + // connect up the rest of the attrs that output the + // nurbs surface from the polygon face: + // + connectAttr -f ($surfaceNode+".outputSurface") ($pointOnSurfaceInfoNode+".inputSurface"); + connectAttr -f ($curve1+ ".outputCurve") ($surfaceNode+ ".inputCurve[0]"); + connectAttr -f ($curve2+ ".outputCurve") ($surfaceNode + ".inputCurve[1]"); + connectAttr -f ($pAvg+".output") ($curve1+ ".inputMesh"); + connectAttr -f ($pAvg+".output") ($curve2+ ".inputMesh"); + + /// + // hook in some higher level attr controls if needed for user: + // + addAttr -ln "uValue" -at double -min 0 -max 1 -dv .5 $constrainPt[0]; + setAttr -e -keyable true ($constrainPt[0]+".uValue"); + connectAttr -f ($constrainPt[0]+".uValue") ($pointOnSurfaceInfoNode+".parameterU"); + addAttr -ln "vValue" -at double -min 0 -max 1 -dv .5 $constrainPt[0]; + setAttr -e -keyable true ($constrainPt[0]+".vValue"); + connectAttr -f ($constrainPt[0]+".vValue") ($pointOnSurfaceInfoNode+".parameterV"); + + ///// + // compute proper complete transformation using a surface + // derivative constructed world space transform matrix + // so that rotations and translations are completely stable : + // + string $matrix = `createNode fourByFourMatrix -n "fourByFourMatrix#"`; + string $dcmat = `createNode decomposeMatrix -n "decomposeMatrix#"`; + connectAttr ($pointOnSurfaceInfoNode+".nnx") ($matrix+".i00"); + connectAttr ($pointOnSurfaceInfoNode+".nny") ($matrix+".i01"); + connectAttr ($pointOnSurfaceInfoNode+".nnz") ($matrix+".i02"); + connectAttr ($pointOnSurfaceInfoNode+".nux") ($matrix+".i10"); + connectAttr ($pointOnSurfaceInfoNode+".nuy") ($matrix+".i11"); + connectAttr ($pointOnSurfaceInfoNode+".nuz") ($matrix+".i12"); + connectAttr ($pointOnSurfaceInfoNode+".nvx") ($matrix+".i20"); + connectAttr ($pointOnSurfaceInfoNode+".nvx") ($matrix+".i21"); + connectAttr ($pointOnSurfaceInfoNode+".nvx") ($matrix+".i22"); + connectAttr ($pointOnSurfaceInfoNode+".px") ($matrix+".i30"); + connectAttr ($pointOnSurfaceInfoNode+".py") ($matrix+".i31"); + connectAttr ($pointOnSurfaceInfoNode+".pz") ($matrix+".i32"); + connectAttr ($matrix+".o") ($dcmat+".imat"); + connectAttr ($dcmat+".ot") ($constrainPt[0]+".t"); + connectAttr ($dcmat+".or") ($constrainPt[0]+".r"); + + $attrs = {"t","tx","ty","tz","r","rx","ry","rz"}; + for($attr in $attrs) setAttr -k 0 -l 1 ($constrainPt[0]+"."+$attr); + for($attr in $attrs) setAttr -k 1 -l 0 ($target+"."+$attr); + + string $group; + if(`nodeType $orig_target` == "transform"){ + string $bindIMatrix[] = `duplicate -rr -rc $orig_target`; + delete `listRelatives -ad $bindIMatrix`; + color -ud 8 $bindIMatrix[0] ; + setAttr ($bindIMatrix[0]+".displayHandle") 0; + $group = `rename $bindIMatrix[0] "hyperRealMeshOffset#"`; + }else{ + $group = `createNode transform -name "hyperRealMeshOffset#"`; + delete `pointConstraint $orig_target $group`; + delete `orientConstraint $orig_target $group`; + delete `scaleConstraint $orig_target $group`; + } + $attrs = {"t","tx","ty","tz","r","rx","ry","rz","sx","sy","sz","s","v"}; + for($attr in $attrs) setAttr -k 1 -l 0 ($group+"."+$attr); + parent $group $constrainPt[0]; + parent $target $group ; + + ///// + // here's the key part that allows us to parent + // the deformers to the geometry: + // + if($isCyclic == true && `objExists $cyclicDeformer` + && size(`ls -type geometryFilter $cyclicDeformer`) ) + { + print "// Connecting Mesh Pt's Inverse Matrix into Deformer's Bind Pre Matrix Attribute (thats how the magic happens):\n" ; + if(`nodeType $cyclicDeformer` == "cluster" ) + { + evalEcho("connectAttr "+$group+".worldInverseMatrix[0] "+$cyclicDeformer+".bindPreMatrix ;"); + setAttr ($cyclicDeformer+".relative") 0; + } + else if( `nodeType $cyclicDeformer` == "softMod" ) + { + evalEcho("connectAttr "+$group+".worldInverseMatrix[0] "+$cyclicDeformer+".bindPreMatrix ;"); + connectAttr ($constrainPt[0]+".t") ($cyclicDeformer+".falloffCenter"); + addAttr -ln "radius" -at double -min 0 -dv 5 $orig_target; + setAttr -e -keyable true ($orig_target+".radius"); + setAttr ($orig_target+".radius") `getAttr ($cyclicDeformer+".falloffRadius")`; + connectAttr -f ($orig_target+".radius") ($cyclicDeformer+".falloffRadius"); + setAttr ($cyclicDeformer+".relative") 0; + } + else if( `nodeType $cyclicDeformer` == "skinCluster" ) + { + string $scMatrix[] = `listConnections -s 0 -d 1 -p 1 ($orig_target+".worldMatrix")`; + if(`size $scMatrix`) + { + int $matrix_index = substitute( "\\]$", ((string)`match "[0-9]+\\]$" $scMatrix[0]`), ""); + evalEcho("connectAttr "+$group+".worldInverseMatrix[0] "+$cyclicDeformer+".bindPreMatrix["+$matrix_index+"] ;"); + } + } + } + select $sel ; + return ""; + +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenSortUVsByDistance.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenSortUVsByDistance.mel new file mode 100644 index 0000000..e020def --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenSortUVsByDistance.mel @@ -0,0 +1,29 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//returns string array $uvPoints in order of distance from uv $uv +global proc string[] zenSortUVsByDistance(string $uv, string $uvPoints[]) +{ + $uvPoints=`stringArrayRemove {$uv} $uvPoints`; + int $distances[]=`zenUVEdgeDistance $uv $uvPoints`; + string $ordered[]; + int $edgeDistance; + $ordered[0]=$uv; + for($i=0;$i<(size($uvPoints));$i++) + { + $ordered[($distances[$i])]=$uvPoints[$i]; + } + $ordered=`stringArrayRemove {""} $ordered`; + return $ordered; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenSortVertsByDistance.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenSortVertsByDistance.mel new file mode 100644 index 0000000..e66748f --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenSortVertsByDistance.mel @@ -0,0 +1,50 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//returns string array $verts in order of their distance from vertex $vert +global proc string[] zenSortVertsByDistance(string $vert, string $verts[]) +{ + global int $zenVertDistances[]; + clear $zenVertDistances; + + $verts=`stringArrayRemove {$vert} $verts`; + int $distances[]=`zenEdgeDistance $vert $verts`; + string $ordered[]; + int $edgeDistance; + int $tempIntArray[]; + + $ordered[0]=$vert; + for($i=0;$i<(size($verts));$i++) + { + $ordered[$distances[$i]]=$verts[$i]; + $tempIntArray[$distances[$i]]=$distances[$i]; + } + + string $newArray[]; + int $n; + int $last; + + for($i=0;$i<(size($ordered));$i++) + { + if(size($ordered[$i])) + { + $zenVertDistances[$n]=$tempIntArray[$i]-$last; + $last=$tempIntArray[$i]; + $newArray[$n++]=$ordered[$i]; + } + } + + $ordered=$newArray; + return $ordered; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenStringArrayIntersect.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenStringArrayIntersect.mel new file mode 100644 index 0000000..86c9501 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenStringArrayIntersect.mel @@ -0,0 +1,39 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//zenStringArrayIntersect returns the values shared by $A and $B maintaining the order of A +global proc string[] zenStringArrayIntersect(string $listA[],string $listB[]) +{ + string $item, + $listItem, + $result[]; + int $keep, + $resultIndex = 0; + + for ($listItem in $listA) + { + $keep = 0; + for ($item in $listB) + { + if ($item == $listItem) + { + $keep = 1; + break; + } + } + if ($keep) $result[$resultIndex++] = $listItem; + } + + return $result; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenStringArrayMatchOrder.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenStringArrayMatchOrder.mel new file mode 100644 index 0000000..4aecb1e --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenStringArrayMatchOrder.mel @@ -0,0 +1,31 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc string[] zenStringArrayMatchOrder(string $matchFrom[], string $matchTo[], string $targetArray[]) +{ + int $matchNumArray[]; + string $returnArray[]; + + for($i=0;$i=8 && !$accurateEval) + { + transferAttributes + -pos 0 + -nml 0 + -uvs 1 + -suv $uvOrig + -tuv (zenReturnFirstStringItem(`polyUVSet -q -cuv $targetObj`)) + -transferColors 0 + -sampleSpace $objSpace + $sourceObj $targetObj; + + select `polyListComponentConversion -tuv $sourceObj`; + polySelectBorderShell 1; + + $sourceFaces=`polyListComponentConversion -tv`; + + select -clear; + $sourceFaces=`polyListComponentConversion -tf $sourceFaces`; + $sourceFaces=`ls -fl $sourceFaces`; + delete -ch $targetObj $sourceObj; + $sourceFaceCount=size($sourceFaces); + + $usedInternal=1; + } + progressWindow -isInterruptable 1 -title "Working" -status "Transfering UV Coordinates" -max $sourceFaceCount -progress 0; + + int $finishedFaces; + + undoInfo -swf 0; + + string $uvNew=zenReturnFirstStringItem(`polyUVSet -cp -uvs $uvOrig $sourceObj`); + + //The closest point on mesh node will not evaluate properly + //if there are uv's outside the 0 to 1 range, and evaluates + //more accurately with more texture space for each face. To get + //the best results I create a new uv set in which the uv's are unitized, + //and use this set while querying the closest point node. + + polyUVSet -cuv -uvs $uvNew $sourceObj; + + polyForceUV -cp `polyListComponentConversion -tf $sourceObj`; + polyForceUV -unitize `polyListComponentConversion -tf $sourceObj`; + + delete -ch $sel; + + if($objSpace) + { + connectAttr ($targetObj+".outMesh") ($closestPointNode+".inMesh"); + connectAttr ($sourceObj+".outMesh") ($pointOnMeshNode+".inMesh"); + } + else + { + connectAttr ($targetObj+".worldMesh[0]") ($closestPointNode+".inMesh"); + connectAttr ($sourceObj+".worldMesh[0]") ($pointOnMeshNode+".inMesh"); + } + + string $allTranferredFaces[]; + + for($i=0;$i=8 && $zenOptions_safeUVLoop==0) + { + int $pointA=`zenCompID $uvPoint`; + for($i=0;$i`progressWindow -q -max`) progressWindow -e -progress 0; + + string $allUVs[]={$uvPoint}; + string $nextUVs[]; + string $uvEdges[]; + string $uvFaces[]; + int $found; + for($i=0;$i<$sizeShell;$i++) + { + progressWindow -e -s 1; + + //expand to face edges by intersecting face and edge expansion + $uvEdges=`polyListComponentConversion -te $allUVs`; + $uvEdges=`polyListComponentConversion -tuv $uvEdges`; + $uvEdges=`ls -fl $uvEdges`; + $uvFaces=`polyListComponentConversion -tf $allUVs`; + $uvFaces=`polyListComponentConversion -tuv $uvFaces`; + $uvFaces=`ls -fl $uvFaces`; + + //check to see if any of the expanded uv's are the second given uv + stringArrayIntersector -e -r $intersector; + stringArrayIntersector -e -i $uvFaces $intersector; + stringArrayIntersector -e -i $uvEdges $intersector; + + $nextUVs=`stringArrayIntersector -q $intersector`; + //$nextUVs=`zenStringArrayIntersect $uvFaces $uvEdges`; + //$nextUVs=`stringArrayRemoveDuplicates $nextUVs`; + for($n=0;$n=0) setAttr ($rebuildSurfaceNode+".spansU") $spansU; + else setAttr -lock true ($rebuildSurfaceNode+".spansU") 0; + + if($spansV>=0) setAttr ($rebuildSurfaceNode+".spansV") $spansV; + else setAttr -lock true ($rebuildSurfaceNode+".spansV") 0; + + if($spansV<0 && $spansU>=0) + setAttr ($rebuildSurfaceNode+".direction") 0; + else + if($spansU<0 && $spansV>=0) + setAttr ($rebuildSurfaceNode+".direction") 1; + else + setAttr ($rebuildSurfaceNode+".direction") 2; + + setAttr -lock true ($rebuildSurfaceNode+".direction"); + + + + //create a temporary surface from which to derive sampling information + + string $tempSurfaceTr=`createNode -n "tempSurface#" transform`; + string $tempSurface=`createNode -n ($tempSurfaceTr+"Shape") -p $tempSurfaceTr nurbsSurface`; + + connectAttr -f $surfaceAttribute ($rebuildSurfaceNode+".inputSurface"); + connectAttr -f ($rebuildSurfaceNode+".outputSurface") ($tempSurface+".create"); + + float $uSamples=size(ls("-fl",($tempSurface+".cv[*][0]"))); + float $uSpans=`getAttr ($tempSurface+".spansU")`; + float $uDegree=`getAttr ($tempSurface+".degreeU")`; + + float $vSamples=size(ls("-fl",($tempSurface+".cv[0][*]"))); + float $vSpans=`getAttr ($tempSurface+".spansV")`; + float $vDegree=`getAttr ($tempSurface+".degreeV")`; + + //create nodes to set up u,v, & uv rebuilds + + //create curves along the u axis + + string $curveFromSurfaceIsoNode; + string $rebuildCurveNode; + string $uSpanCondition; + + + string $loftNode1; + + if($spansU>=0) + { + $loftNode1=`createNode loft`; + + setAttr ($loftNode1+".autoReverse") 0; + setAttr ($loftNode1+".degree") 3; + + for($i=0;$i<$uSamples;$i++) + { + $curveFromSurfaceIsoNode=`createNode curveFromSurfaceIso`; + + setAttr ($curveFromSurfaceIsoNode +".relativeValue") 1; + setAttr ($curveFromSurfaceIsoNode +".isoparmDirection") 1; + setAttr ($curveFromSurfaceIsoNode +".isoparmValue") ((float($i))/($uSamples-1)); + + $rebuildCurveNode=`createNode rebuildCurve`; + + $vSpanCondition=`createNode -n "uSpanCondition#" condition`; + + setAttr ($vSpanCondition+".ctr") $vSpans; + + connectAttr -f ($rebuildSurfaceNode+".spansV") ($vSpanCondition+".ft"); + connectAttr -f ($rebuildSurfaceNode+".spansV") ($vSpanCondition+".cfr"); + + connectAttr -f ($vSpanCondition+".ocr") ($rebuildCurveNode+".spans"); + + if(`objExists $referenceSurfaceSpansV`) + connectAttr -f ($referenceSurfaceSpansV+".spansV") ($vSpanCondition+".ctr"); + + $vDegreeCondition=`createNode -n "vDegreeCondition#" condition`; + + setAttr ($vDegreeCondition+".caching") 1; + setAttr ($vDegreeCondition+".ctr") $vDegree; + + connectAttr -f ($rebuildSurfaceNode +".degreeV") ($vDegreeCondition+".ft"); + connectAttr -f ($rebuildSurfaceNode +".degreeV") ($vDegreeCondition+".cfr"); + + connectAttr -f ($vDegreeCondition+".ocr") ($rebuildCurveNode+".degree"); + + if(`objExists $referenceSurfaceDegreeV`) + connectAttr -f ($referenceSurfaceDegreeV+".degreeV") ($vDegreeCondition+".ctr"); + + connectAttr -f $surfaceAttribute ($curveFromSurfaceIsoNode+".inputSurface"); + connectAttr -f ($curveFromSurfaceIsoNode+".outputCurve") ($rebuildCurveNode+".inputCurve"); + connectAttr -f ($rebuildCurveNode+".outputCurve") ($loftNode1+".ic["+(string($i))+"]"); + + catchQuiet + ( + disconnectAttr + ( + ($vSpanCondition+".message"), + (zenReturnFirstStringItem(listConnection("-plugs",1,($vSpanCondition+".message")))) + ) + ); + } + } + else + $loftNode1=$surfaceAttribute; + + //create curves along the v axis; + + string $loftNode2; + + if($spansV>=0) + { + $loftNode2=`createNode loft`; + setAttr ($loftNode2+".autoReverse") 0; + + for($i=0;$i<$vSamples;$i++) + { + $curveFromSurfaceIsoNode=`createNode curveFromSurfaceIso`; + + setAttr ($curveFromSurfaceIsoNode +".relativeValue") 1; + setAttr ($curveFromSurfaceIsoNode +".isoparmDirection") 0; + setAttr ($curveFromSurfaceIsoNode +".isoparmValue") ((float($i))/($vSamples-1)); + + $rebuildCurveNode=`createNode rebuildCurve`; + + $uSpansCondition=`createNode -n "uSpansCondition#" condition`; + + setAttr ($uSpansCondition+".caching") 1; + setAttr ($uSpansCondition+".ctr") $uSpans; + + connectAttr -f ($rebuildSurfaceNode +".spansU") ($uSpansCondition+".ft"); + connectAttr -f ($rebuildSurfaceNode +".spansU") ($uSpansCondition+".cfr"); + + connectAttr -f ($uSpansCondition+".ocr") ($rebuildCurveNode+".spans"); + + if(`objExists $referenceSurfaceSpansU`) + connectAttr -f ($referenceSurfaceSpansU+".spansU") ($uSpansCondition+".ctr"); + + $uDegreeCondition=`createNode -n "uDegreeCondition#" condition`; + + setAttr ($uDegreeCondition+".caching") 1; + setAttr ($uDegreeCondition+".ctr") $uDegree; + + connectAttr -f ($rebuildSurfaceNode +".degreeU") ($uDegreeCondition+".ft"); + connectAttr -f ($rebuildSurfaceNode +".degreeU") ($uDegreeCondition+".cfr"); + + connectAttr -f ($uDegreeCondition+".ocr") ($rebuildCurveNode+".degree"); + + if(`objExists $referenceSurfaceDegreeU`) + connectAttr -f ($referenceSurfaceDegreeU+".degreeU") ($uDegreeCondition+".ctr"); + + connectAttr -f ($loftNode1+".outputSurface") ($curveFromSurfaceIsoNode+".inputSurface"); + connectAttr -f ($curveFromSurfaceIsoNode+".outputCurve") ($rebuildCurveNode+".inputCurve"); + connectAttr -f ($rebuildCurveNode+".outputCurve") ($loftNode2+".ic["+(string($i))+"]"); + + catchQuiet + ( + disconnectAttr + ( + ($uSpansCondition+".message"), + (zenReturnFirstStringItem(listConnection("-plugs",1,($uSpansCondition+".message")))) + ) + ); + } + } + else + $loftNode2=$loftNode1; + + connectAttr -f ($loftNode2+".outputSurface") ($rebuildSurfaceNode+".inputSurface"); + + delete $tempSurfaceTr; + + if(`objExists $referenceSurface`) + setAttr ($referenceSurface+".intermediateObject") true; + + if(`objExists $sh`) + connectAttr -f ($rebuildSurfaceNode+".outputSurface") ($sh+".create"); + + return $rebuildSurfaceNode; +} diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueCommandName.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueCommandName.mel new file mode 100644 index 0000000..21b049a --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueCommandName.mel @@ -0,0 +1,24 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//returns the input string as a unique command name +global proc string zenUniqueCommandName(string $name) +{ + if(`exists $name`) + { + $name=`zenNumberSuffix $name`; + $name=`zenUniqueCommandName $name`; + } + return $name; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueName.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueName.mel new file mode 100644 index 0000000..8a3b992 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueName.mel @@ -0,0 +1,26 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//returns the input string as a unique object name +global proc string zenUniqueName(string $name) +{ + string $all[]=`ls`; + string $allElse[]=`stringArrayRemove {$name} $all`; + if(size($all)>size($allElse)) + { + $name=`zenNumberSuffix $name`; + $name=`zenUniqueName $name`; + } + return $name; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueUIName.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueUIName.mel new file mode 100644 index 0000000..6d25ed9 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueUIName.mel @@ -0,0 +1,26 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//returns the input string as a unique object name +global proc string zenUniqueUIName(string $name) +{ + string $all[]=`lsUI -p -ed -wnd -ctl -cl -col -rmc -m -mi -ctx -ct`; + string $allElse[]=`stringArrayRemove {$name} $all`; + if(size($all)>size($allElse)) + { + $name=`zenNumberSuffix $name`; + $name=`zenUniqueName $name`; + } + return $name; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueVarName.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueVarName.mel new file mode 100644 index 0000000..63dc515 --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenUniqueVarName.mel @@ -0,0 +1,26 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//returns the input string as a unique variable name +global proc string zenUniqueVarName(string $name) +{ + string $all[]=`env`; + string $allElse[]=`stringArrayRemove {$name} $all`; + if(size($all)>size($allElse)) + { + $name=`zenNumberSuffix $name`; + $name=`zenUniqueName $name`; + } + return $name; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenUserInterface.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenUserInterface.mel new file mode 100644 index 0000000..1f639ae --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenUserInterface.mel @@ -0,0 +1,301 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//User Interface +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +global proc string zenClearToolColumn() +{ + global string $zenToolsMainColumn; + global int $zenWindowWidth; + global int $zenMinimumWindowWidth; + + deleteUI (zenReturnLastStringItem(`columnLayout -q -ca $zenToolsMainColumn`)); + window -e -w $zenMinimumWindowWidth -h 1 zenToolsWindow; + + string $column=`columnLayout -p $zenToolsMainColumn -adj 1`; + + columnLayout -e -w $zenMinimumWindowWidth $column; + + return $column; +} + +global proc zenUserInterface(string $zenCurrentTool) +{ + global int $zenSaveOptionsScriptJob; + + global int $zenMinimumWindowWidth=240; + + global int $zen_safeVertLoop, + $zenOptions_safeUVLoop; + + global string $zen_selection, + $zenLoopChordLengthObj, + $zenLoftChordLengthObj; + + global int $zenOptions_debugging; + + global int $zenWindowWidth=245; + + global string $zenScriptsFolder; + + global string $zenHelp; + + $zenHelp=$zenScriptsFolder+"/help/index.html"; + + //window + if(`window -ex zenToolsWindow`) + { + scriptJob -kill $zenSaveOptionsScriptJob; + deleteUI zenToolsWindow; + } + + global string $zenToolsWindow; + + $zenToolsWindow=`window -rtf 1 -mb 0 -title ZenTools zenToolsWindow`; + + string $menuBar=`menuBarLayout -w $zenMinimumWindowWidth -p $zenToolsWindow`; + + string $keepHistCB; + + global string $zenToolsMainColumn; + + $zenToolsMainColumn=`columnLayout -adj 1 -p $menuBar`; + + columnLayout -h 1 -p $zenToolsMainColumn -adj 1 zenToolColumn; + + //menu + menu -p $menuBar -aob 1 -label "Select" -tearOff true; + + menuItem + -l "Edges Between Vertices" + -c "doZenSelectEdgeLoopBetweenVerts" + -annotation "Selects an edge path containing the fewest edges necessary to connect selected vertices."; + + menuItem + -l "Flood Select" + -c "doZenCommand zenFloodSelect" + -annotation "Selected Edges will define a selection border, selected vertices or faces will determine the portion of the mesh to be selected."; + + menuItem + -l "Transfer Component Selection" + -c "doZenTransferComponentSelection" + -annotation "Transfers component selection between objects. Select components, then select one or more objects with identical topology."; + + + menu -p $menuBar -aob 1 -label "Create" -tearOff true; + + menuItem + -l "Surface Between Edge Loops" + -c "doZenAttachSurface" + -annotation "Create curves distributed between two or more parallel edge loop selections."; + + menuItem + -c "layoutSurfaceBetweenEdgeLoops" + -ob 1; + + menuItem + -l "Curve Spans Between Edge Loops" + -c "doZenAttachSpans" + -annotation "Create curves distributed between two or more parallel edge loop selections."; + + menuItem + -c "layoutZenCurveSpans" + -ob 1; + + menuItem + -l "Curves From Contiguous Edges" + -c "doZenCurvesFromEdges" + -annotation "Create a curve from selected polygon edges."; + + menuItem + -c "layoutZenCurvesFromEdges" + -ob 1; + + menuItem -d 1; + + menuItem + -l "UV Patch Between Edge Loops" + -c "doZenPatchUV" + -annotation "Create a nurbs-style UV patch between two or more parallel edge loop selections."; + + menuItem + -ob 1 + -c "layoutZenPatchUV"; + menuItem + -l "Auto UV Map" + -c "doZenAutoMap" + -annotation "Maps each face on a polygon object proportionally within the 0-1 range."; + + menuItem -d 1; + + menuItem + -l "Muscle/Tendon..." + -c "layoutZenMuscle"; + + menuItem -d 1; + + menuItem + -l "Script Menus From Folders..." + -c "layoutZenManageScripts"; + + + menu -p $menuBar -aob 1 -label "Modify" -tearOff true; + + menuItem + -l "Cut Edges" + -c "doZenCutEdges" + -annotation "Cuts mesh at selected edges."; + + menuItem -d 1; + + menuItem + -l "Curve Distribute Between Vertices" + -c "doZenLoop" + -annotation "Allign edge loop along a curve based on vertex selection."; + + menuItem + -ob 1 + -c "layoutZenLoop"; + + menuItem + -l "Loft Distribute Between Edge Loops" + -c "doZenLoft" + -annotation "Distribute vertices between two or more parallel edge loops."; + + menuItem + -ob 1 + -c "layoutZenLoft"; + + menuItem + -l "Vertex/CV Positions Transfer" + -c "doZenTransferPointPositions" + -annotation "Transfers vertex or CV positions. Select polygon vertices or nurbs/subdivision control vertices, then select one or more objects with identical topology."; + + menuItem -d 1; + + menuItem + -l "Curve Distribute Between UVs" + -c "doZenLoopUV" + -annotation "Allign edge loop along a curve based on uv selection."; + + menuItem + -ob 1 + -c "layoutZenLoopUV"; + + menuItem + -l "UV Mirror " + -c "doZenReflectUV" + -annotation "Mirror UV's according to their object space positions."; + + menuItem + -ob 1 + -c "layoutZenReflectUV"; + + menuItem + -l "UV Transfer" + -c "doZenTransferUV" + -annotation "Transfer UV's between polygon objects wich have a different vertex order."; + + menuItem + -ob 1 + -c "layoutZenTransferUV"; + + menuItem + -l "UV Layout Proportionate" + -c "doZenProportionateUVShells" + -annotation "Layout selected UV shells proportionate to surface area in 3d space."; + + menuItem -d 1; + + menuItem + -l "Mirror Smooth Skin Influence Weights" + -c "doZenMirrorInfluences" + -annotation "Mirror smooth skin influence weights including non-joint influence object weights."; + + menuItem + -ob 1 + -c "layoutZenMirrorInfluences"; + + menuItem + -l "Confine Skin Weights To Selected Influences" + -c "doZenConfineWeights" + -annotation "Confines skin weights for selected vertices to selected influences & prunes unselected influences."; + + menuItem + -ob 1 + -c "layoutZenConfineWeights"; + + menuItem -d 1; + + menuItem + -l "Reconstruct Mesh" + -c "doZenReconstructMesh" + -annotation "Reconstruct selected meshes from their outMesh attribute, resetting all attributes and connections."; + + menuItem + -l "Comprehensive History Cleanup" + -c "doZenComprehensiveHistoryCleanup" + -annotation "Break Connections, Delete History and Delete Intermediate objects."; + + menuItem -d 1; + + menuItem + -l "Set Attributes On Multiple Objects..." + -c "layoutZenSetAttr" + -annotation "Set objects on multiple items simultaneously."; + + + + menu -p $menuBar -aob 1 -label "Help" -tearOff false; + + menuItem + -l "Help" + -c "showHelp -a $zenHelp"; + + menuItem + -l "Update ZenTools" + -c "showHelp -a \"http://www.highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html\";"; + + menuItem + -l "Debugging Mode" + -cb $zenOptions_debugging + -c "$zenOptions_debugging=`menuItem -q -cb zenToolsDebuggingModeCB`;" + zenToolsDebuggingModeCB; + + menuItem + -l "Reset Options" + -c "zenTools_defaultOptions;zenUserInterface \"\";" + -annotation "Reset All ZenTools Options"; + //edit window + window + -e + -mnb 1 + -mxb 0 + -h 1 + -w $zenWindowWidth + -s 1 + $zenToolsWindow; + + showWindow $zenToolsWindow; + + if($zenCurrentTool!="") + eval($zenCurrentTool); + + //save options on zenTools exit + $zenSaveOptionsScriptJob=`scriptJob -e "quitApplication" "zenSaveOptions"`; +} + + + diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenVectorToArray.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenVectorToArray.mel new file mode 100644 index 0000000..33dc4cd --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenVectorToArray.mel @@ -0,0 +1,18 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +global proc float[] zenVectorToArray(vector $v) +{ + return {($v.x),($v.y),($v.z)}; +} \ No newline at end of file diff --git a/2009-x64/MiscScripts/scripts/zenScripts/zenVertLoop.mel b/2009-x64/MiscScripts/scripts/zenScripts/zenVertLoop.mel new file mode 100644 index 0000000..487ab0b --- /dev/null +++ b/2009-x64/MiscScripts/scripts/zenScripts/zenVertLoop.mel @@ -0,0 +1,35 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zenTools +'' Author: +'' Last Updated: Feb 13, 2008 +'' Update/Change this file at: +'' http://Highend3d.com/maya/downloads/mel_scripts/modeling/curve_tools/4337.html +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ +//find a vertex loop path between 2 or more vertices + +global proc string[] zenVertLoop(string $verts[]) +{ + string $endVert=`zenFindEndVert $verts`; + + $verts=`zenSortVertsByDistance $endVert $verts`; + + string $partialLoop[]; + string $returnVal[]; + + for($i=1;$i$tol || + `getAttr ($coordinateSpaceObject+".rx")`!=`getAttr ($tr+".rx")` || + `getAttr ($coordinateSpaceObject+".ry")`!=`getAttr ($tr+".ry")` || + `getAttr ($coordinateSpaceObject+".rz")`!=`getAttr ($tr+".rz")` + + ) + { + + $pointMatrixMultNode1=`createNode pointMatrixMult`; + setAttr ($pointMatrixMultNode1+".vectorMultiply") true; + connectAttr ($coordinateSpaceObject+".worldInverseMatrix[0]") ($pointMatrixMultNode1+".inMatrix"); + + $pointMatrixMultNode2=`createNode pointMatrixMult`; + setAttr ($pointMatrixMultNode2+".vectorMultiply") true; + connectAttr ($coordinateSpaceObject+".worldMatrix[0]") ($pointMatrixMultNode2+".inMatrix"); + } + else $coordinateSpace=0; + } + else + if($coordinateSpaceObject=="world") + $coordinateSpace=1; + else $coordinateSpace=0; + + string $closestPointOnMeshNode=`createNode closestPointOnMesh`; + + if($coordinateSpace) + connectAttr ($obj+".worldMesh[0]") ($closestPointOnMeshNode+".inMesh"); + else + connectAttr ($obj+".outMesh") ($closestPointOnMeshNode+".inMesh"); + + //progress window + + progressWindow -isInterruptable 1 -title "Working" -status "Sorting Vertices" -max (size($vertices)/2) -progress 0; + + //undoInfo -swf 0; + + //find reflected vertices + + string $closeVerts[]; + + vector $testCoordinates; + vector $pointCoordinates; + + float $vertDistance; + float $closestDistance; + + string $closestVert; + + int $returnVal[]=`zenFillIntegerArray (size($vertices)) (-(size($vertices)+1))`; + + for($i=0;$i>; + $testCoordinates=zenArrayToVector(`pointPosition -w $v`); + + $vertDistance=mag($testCoordinates-$pointCoordinates); + + + + if($vertDistance<$closestDistance) + { + $closestDistance=$vertDistance; + $closestVert=$v; + } + } + + $id=`zenCompID $closestVert`; + } + else + { + $id=`getAttr ($closestPointOnMeshNode+".closestVertexIndex")`; + + } + + if($neg) + { + $returnVal[$i]=-$id; + $returnVal[$id]=$i; + } + else + { + $returnVal[$i]=$id; + $returnVal[$id]=-$i; + } + + //check for user interupt + + if(`progressWindow -q -ic`) + { + undoInfo -swf 1; + delete $closestPointOnMeshNode; + if($coordinateSpace==2) delete $pointMatrixMultNode1 $pointMatrixMultNode2; + progressWindow -ep; + error "User Interupt."; + } + + progressWindow -e -s 1; + } + } + + progressWindow -ep; + + delete $closestPointOnMeshNode; + + if($coordinateSpace==2) delete $pointMatrixMultNode1 $pointMatrixMultNode2; + + //undoInfo -swf 1; + + return $returnVal; +} + +//creates a polyBlindData Node storing symmetry information +//if the symmetry table already exists, the existing table is used unless $forceNew==true + +global proc int[] zenVertexSymmetryNode(int $forceNew, int $axis, string $obj, string $coordinateSpaceObject) +{ + int $symmetryTable[]; + int $vertCount; + + $obj=zenReturnFirstStringItem(ls("-type","mesh",(stringArrayCatenate(`listRelatives -s -ni $obj`,{$obj})))); + + string $tr=zenReturnFirstStringItem(`listRelatives -p $obj`); + + float $tol=.0001; + + string $vertices[]=ls("-fl",`polyListComponentConversion -tv $obj`); + + int $blindDataTypeID=`zenBlindDataTemplate_opposingVert`; + + //check to see if the object already had opposing vertex data + + string $polyBlindDataNodes[]=ls("-type","polyBlindData",listConnections($obj)); + string $oppositeVertexNode; + + int $hadOppositeVertexData=false; + + for($pbd in $polyBlindDataNodes) + { + if(getAttr($pbd+".typeId")==$blindDataTypeID) + { + $hadOppositeVertexData=true; + $oppositeVertexNode=$pbd; + break; + } + } + + if($hadOppositeVertexData) + { + if($forceNew) + { + delete $oppositeVertexNode; + $hadOppositeVertexData=false; + } + else + { + $vertCount=zenReturnFirstIntegerItem(`polyEvaluate -v $obj`); + + progressWindow -isInterruptable 1 -title "Working" -status "Sorting Vertices" -max $vertCount -progress 0; + + for($i=0;$i<$vertCount;$i++) + { + $symmetryTable[$i]=getAttr($oppositeVertexNode+".vertexBlindData["+(string($i))+"].opposite"); + + //check for user interupt + + if(`progressWindow -q -ic`) + { + undoInfo -swf 1; + progressWindow -ep; + error "User Interupt."; + } + + progressWindow -e -s 1; + } + + progressWindow -ep; + + return $symmetryTable; + } + } + + string $verts[]=ls("-fl",polyListComponentConversion("-tv",$obj)); + + $oppositeVertexNode=zenReturnFirstStringItem(`polyBlindData -at "vertex" -ldn "opposite" -ind 0 -id $blindDataTypeID $verts`); + + $oppositeVertexNode=`rename $oppositeVertexNode "oppositeVertexNode#"`; + + zenHistoryCleanup "" {$oppositeVertexNode} ($obj+".inMesh");//this will delete the blind data node if the history on the object is changed + + $symmetryTable=`zenVertexSymmetryTable $obj $axis $coordinateSpaceObject`; + + for($i=0;$i0) + return $array[size($array)-1]; + else + return ""; +} + +//return the first item in a string array +global proc string zenReturnFirstStringItem(string $array[]) +{ + if(size($array)>0) + return $array[0]; + else + return ""; + +} + +//return an array which is comprised of the portion +//beginning at $start and ending at $end +global proc string[] zenStringArraySector(string $array[], int $start,int $end) +{ + int $n=0; + string $newArray[]; + + for($i=$start;$i<=$end;$i++) + { + $newArray[$n]=$array[$i]; + $n++; + } + + return $newArray; +} + +//return an array which is comprised of the portion +//beginning at $start and ending at $end +global proc int[] zenIntArraySector(int $array[], int $start,int $end) +{ + int $n=0; + int $newArray[]; + + for($i=$start;$i<=$end;$i++) + { + $newArray[$n]=$array[$i]; + $n++; + } + + return $newArray; +} + +//return an array which is comprised of the portion +//beginning at $start and ending at $end + +global proc float[] zenFloatArraySector(float $array[], int $start,int $end) +{ + int $n=0; + float $newArray[]; + + for($i=$start;$i<=$end;$i++) + { + $newArray[$n]=$array[$i]; + $n++; + } + + return $newArray; +} + +global proc float zenMayaVersion() +{ + return (stringArrayToString(zenStringArraySector(stringToStringArray(`about -version`,"."),0,1),".")); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// +//find the location of a procedure +////////////////////////////////////////////////////////////////////////////////////////////////////// + +global proc string[] zenProcLocationList(string $procName) +{ + rehash; + + //find the correct separator for the OS + string $sep; + + if(`about -os`=="nt" || `about -os`=="win64") + $sep=";"; + else + $sep=":"; + + //look in the path for the procedure + string $results[]; + string $location; + string $path[]=stringToStringArray(`getenv MAYA_SCRIPT_PATH`,$sep); + int $id=0; + + for($p in $path) + { + $location=searchPathArray(($procName+".mel"),{$p}); + if(size($location)) + $results[$id++]=$location; + } + + //see where it was sourced from + string $verbose=`whatIs ($procName)`; + string $verboseArray[]=`stringToStringArray $verbose ":"`; + $verboseArray=`stringArrayRemove {$verboseArray[0]} $verboseArray`; + $location=`stringArrayToString $verboseArray ":"`; + $location=`strip $location`; + + if(size($location)) + $results[$id++]=$location; + + $results=`stringArrayRemoveDuplicates $results`; + + return $results; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// +//find the location of the zenScripts folder +////////////////////////////////////////////////////////////////////////////////////////////////////// + +global proc string[] zenScriptFolderLocationList( string $folderName, string $adjacentScript ) +{ + rehash; + + //find the correct separator for the OS + string $sep; + + if(`about -os`=="nt" || `about -os`=="win64") + $sep=";"; + else + $sep=":"; + + //look in the path for the procedure + string $results[]; + string $location; + string $path[]=stringToStringArray(`getenv MAYA_SCRIPT_PATH`,$sep); + int $id=0; + + for($p in $path) + { + $location=searchPathArray(($folderName),{$p}); + + if(size($location)) + $results[$id++]=$location; + } + + //search adjacent to this procedure + string $verbose=`whatIs $adjacentScript`; + string $verboseArray[]=`stringToStringArray $verbose ":"`; + $verboseArray=`stringArrayRemove {$verboseArray[0]} $verboseArray`; + $location=`stringArrayToString $verboseArray ":"`; + $location=`strip $location`; + $location=`dirname $location`+"/"; + + string $folderInLocation[]=`getFileList -fld $location -fs $folderName`; + + for($i=0;$i= 8.5 ) + print(`zenLoadScriptsFolderPy ($zenScriptsFolder) 0`); + + //load user options + + rehash; + + global int $userOptionsExist; + + $userOptionsExist=size(`zenProcLocationList zenTools_userOptions`); + + string $optionsCommand="zenTools_defaultOptions;\n"; + + if($userOptionsExist) + $optionsCommand=$optionsCommand+"eval(\"source zenTools_userOptions\");\n"; + + $optionsCommand=$optionsCommand+"zenScriptsMenu;\n"; + + evalDeferred $optionsCommand; + + print("zenTools loaded.\n"); + + $zenToolsLoaded=1; + + return 1; +} + +global proc zenTools() +{ + global int $zenToolsLoaded; + + if(!$zenToolsLoaded) zenScriptsFolder zenTools zenScripts {"pointOnMeshInfo","decomposeMatrix"} {"7.0,closestPointOnMesh"}; + + evalDeferred "zenUserInterface \"\""; +} + +//run zenScriptsFolder when zenTools is sourced to make all procedures available +if(!$zenToolsLoaded) zenScriptsFolder zenTools zenScripts {"pointOnMeshInfo","decomposeMatrix"} {"7.0,closestPointOnMesh"}; \ No newline at end of file diff --git a/2009-x64/PaulScripts/icons/PMP_reloadTextures.bmp b/2009-x64/PaulScripts/icons/PMP_reloadTextures.bmp new file mode 100644 index 0000000..6327eb7 Binary files /dev/null and b/2009-x64/PaulScripts/icons/PMP_reloadTextures.bmp differ diff --git a/2009-x64/PaulScripts/icons/PMP_reloadTextures.psd b/2009-x64/PaulScripts/icons/PMP_reloadTextures.psd new file mode 100644 index 0000000..fa0d2af Binary files /dev/null and b/2009-x64/PaulScripts/icons/PMP_reloadTextures.psd differ diff --git a/2009-x64/PaulScripts/icons/PM_autoFK.bmp b/2009-x64/PaulScripts/icons/PM_autoFK.bmp new file mode 100644 index 0000000..58f9661 Binary files /dev/null and b/2009-x64/PaulScripts/icons/PM_autoFK.bmp differ diff --git a/2009-x64/PaulScripts/icons/PM_autoIK.bmp b/2009-x64/PaulScripts/icons/PM_autoIK.bmp new file mode 100644 index 0000000..53bf814 Binary files /dev/null and b/2009-x64/PaulScripts/icons/PM_autoIK.bmp differ diff --git a/2009-x64/PaulScripts/icons/PM_autoRig.psd b/2009-x64/PaulScripts/icons/PM_autoRig.psd new file mode 100644 index 0000000..866048d Binary files /dev/null and b/2009-x64/PaulScripts/icons/PM_autoRig.psd differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfAddDrivenRegion.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddDrivenRegion.bmp new file mode 100644 index 0000000..2ebe9b3 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddDrivenRegion.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfAddGlueRegion.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddGlueRegion.bmp new file mode 100644 index 0000000..82ec559 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddGlueRegion.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfAddSplinterCage.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddSplinterCage.bmp new file mode 100644 index 0000000..e275759 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddSplinterCage.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfAddSurfaceMesh.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddSurfaceMesh.bmp new file mode 100644 index 0000000..6963607 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfAddSurfaceMesh.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfAssetManager.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfAssetManager.bmp new file mode 100644 index 0000000..0601d86 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfAssetManager.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachComponent.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachComponent.bmp new file mode 100644 index 0000000..7e8a230 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachComponent.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachDrivenRegion.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachDrivenRegion.bmp new file mode 100644 index 0000000..263be0c Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachDrivenRegion.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachGlueRegion.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachGlueRegion.bmp new file mode 100644 index 0000000..dbb5aac Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachGlueRegion.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachSplinters.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachSplinters.bmp new file mode 100644 index 0000000..284f220 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachSplinters.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachSurfaceMesh.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachSurfaceMesh.bmp new file mode 100644 index 0000000..f4dd23b Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDetachSurfaceMesh.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDisableDMMobject.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDisableDMMobject.bmp new file mode 100644 index 0000000..e31ff7d Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDisableDMMobject.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfDuplicateObject.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfDuplicateObject.bmp new file mode 100644 index 0000000..d20eadd Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfDuplicateObject.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfEnableDMMobject.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfEnableDMMobject.bmp new file mode 100644 index 0000000..a0bbfbf Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfEnableDMMobject.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfMatManager.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfMatManager.bmp new file mode 100644 index 0000000..3de68b5 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfMatManager.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfNewDrivenRegion.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfNewDrivenRegion.bmp new file mode 100644 index 0000000..beadf2a Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfNewDrivenRegion.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfNewGlueRegion.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfNewGlueRegion.bmp new file mode 100644 index 0000000..6991129 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfNewGlueRegion.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCone.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCone.bmp new file mode 100644 index 0000000..95382f9 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCone.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCube.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCube.bmp new file mode 100644 index 0000000..45436ae Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCube.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCylinder.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCylinder.bmp new file mode 100644 index 0000000..3a6d01f Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyCylinder.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyPlatonic.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyPlatonic.bmp new file mode 100644 index 0000000..2e4780e Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyPlatonic.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyPyramid.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyPyramid.bmp new file mode 100644 index 0000000..540984b Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyPyramid.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolySphere.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolySphere.bmp new file mode 100644 index 0000000..54899e5 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolySphere.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyToTetCage.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyToTetCage.bmp new file mode 100644 index 0000000..5aea494 Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfPolyToTetCage.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfSelectMaterialNode.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfSelectMaterialNode.bmp new file mode 100644 index 0000000..c796ccc Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfSelectMaterialNode.bmp differ diff --git a/2009-x64/PaulScripts/icons/dmm/dmmShelfSplinterFromImage.bmp b/2009-x64/PaulScripts/icons/dmm/dmmShelfSplinterFromImage.bmp new file mode 100644 index 0000000..177567b Binary files /dev/null and b/2009-x64/PaulScripts/icons/dmm/dmmShelfSplinterFromImage.bmp differ diff --git a/2009-x64/PaulScripts/icons/heatWeight.bmp b/2009-x64/PaulScripts/icons/heatWeight.bmp new file mode 100644 index 0000000..e70279e Binary files /dev/null and b/2009-x64/PaulScripts/icons/heatWeight.bmp differ diff --git a/2009-x64/PaulScripts/packaged/PMP_reloadTextures_0.5.zip b/2009-x64/PaulScripts/packaged/PMP_reloadTextures_0.5.zip new file mode 100644 index 0000000..783a912 Binary files /dev/null and b/2009-x64/PaulScripts/packaged/PMP_reloadTextures_0.5.zip differ diff --git a/2009-x64/PaulScripts/packaged/Silk_rmanScript.mel b/2009-x64/PaulScripts/packaged/Silk_rmanScript.mel new file mode 100644 index 0000000..233294d --- /dev/null +++ b/2009-x64/PaulScripts/packaged/Silk_rmanScript.mel @@ -0,0 +1,36 @@ +proc _addAttrIfNotExist(string $nodeName, string $attrName, string $attributeType) +{ + if(!attributeExists($attrName, $nodeName)) + { + addAttr -at $attributeType -longName $attrName $nodeName; + } +} + +proc _addAndSetAttr(string $nodeName, string $attrName, string $attributeType, string $value) +{ + _addAttrIfNotExist($nodeName, $attrName, $attributeType); + eval("setAttr \"" + $nodeName + "." + $attrName + "\" " + $value); +} + +global proc Silk_rmanScript() +{ + string $biasAttr = "rman__riattr__trace_bias"; + string $dispAttr = "rman__riattr__trace_displacements"; + + string $selection[] = `ls -long -sl`; + if(size($selection) > 0) + { + for($currentTransform in $selection) + { + string $allShapes[] = `listRelatives -fullPath -shapes -noIntermediate $currentTransform`; + if(size($allShapes) > 0) + { + for($currentShape in $allShapes) + { + _addAndSetAttr($currentShape, $biasAttr, "float", .1); + _addAndSetAttr($currentShape, $dispAttr, "bool", 1); + } + } + } + } +} diff --git a/2009-x64/PaulScripts/packaged/shelf_breakLightLinks.mel b/2009-x64/PaulScripts/packaged/shelf_breakLightLinks.mel new file mode 100644 index 0000000..a2bcfea --- /dev/null +++ b/2009-x64/PaulScripts/packaged/shelf_breakLightLinks.mel @@ -0,0 +1,30 @@ +global proc shelf_breakLightLinks () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Break the light links between all selected lights and objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "bLits" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import maya.cmds as cmds\r\rdef breakSelectedLights():\r lights = makeNoneList(cmds.ls(sl=True, lights=True, long=True))\r shapes = makeNoneList(cmds.ls(sl=True, shapes=True, long=True))\r transforms = makeNoneList(cmds.ls(sl=True, transforms=True, long=True))\r\r for transform in transforms:\r moreLights = makeNoneList(cmds.listRelatives(transform, allDescendents=True, fullPath=True, noIntermediate=True, type=\"light\"))\r moreShapes = makeNoneList(cmds.listRelatives(transform, allDescendents=True, fullPath=True, noIntermediate=True, type=\"shape\"))\r\r lights += moreLights\r shapes += moreShapes\r\r cmds.lightlink(b=True, light=lights, object=shapes)\r\rdef makeNoneList(input):\r if input is None:\r return []\r else:\r return input\r\rbreakSelectedLights()" + -sourceType "python" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/PaulScripts/pyScripts/PM_freezeAndZeroPivots.py b/2009-x64/PaulScripts/pyScripts/PM_freezeAndZeroPivots.py new file mode 100644 index 0000000..89e83aa --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/PM_freezeAndZeroPivots.py @@ -0,0 +1,100 @@ +import sys + +import maya.cmds as cmds + +# doing a hasattr(obj, '__iter__') test will fail for objects that implement +# __getitem__, but not __iter__, so try iter(obj) +def isIterable(obj, excludedClasses=basestring): + if isinstance(obj,excludedClasses): return False + try: + iter(obj) + except TypeError: return False + else: return True + +def ensureIterable(argument, validSingleElementClasses=basestring, default=None): + """Returns argument in a form that is guaranteed to be iterable. + + Intended for standard processing on an argument which can either be fed in + as a single element or as a sequence. + + If argument is a member of validSingleElementClasses (which should be None, + a class or a tuple of classes), returns a list with argument as it's only + member. + + If argument is not a member of validSingleElementClasses and evaluates to + False, we return an empty list, unless the 'default' argument is given, + in which case the given default is returned (after being fed through + ensureIterable). + + If it is not a valid single element, but iterable, return it; otherwise, + raise an exception. + + Note that the use of validSingleElementClasses is needed in the case of + strings - ie, where we want to accept as an argument either a string OR a + collection of strings - because a string is itself iterable. Also note that + this means the check for isIterable MUST be done after checking the + valid single element classes.""" + + import operator + + if validSingleElementClasses is not None: + if isinstance(validSingleElementClasses, type): + validSingleElementClasses = (validSingleElementClasses,) + + for validClass in validSingleElementClasses: + if isinstance(argument, validClass): + #print "%s: single instance" % repr(argument) + return [argument] + + if not argument: + if default is None: + return [] + else: + return ensureIterable(default, validSingleElementClasses) + + if isIterable(argument): + #print "%s: iterable" % repr(argument) + return argument + else: + # found no valid classes, and wasn't iterable + raise TypeError("argument %r, of class %s, is neither a sequence, nor a single element of class %s" % (argument, argument.__class__, validSingleElementClasses)) + + +def freezeAndZeroPivots(objects=None, moveToPivot=True, t=True, r=True, s=True): + if not objects: + objects = cmds.ls(sl=1, dependencyNodes=1) + + validSingleElements = [basestring] + if 'pymel' in sys.modules: + import pymel + validSingleElements.append(pymel.PyNode) + + objects = ensureIterable(objects, validSingleElements) +# elif isinstance(objects, basestring): +# print "A string!", objects +# objects = [objects] +# else: +# print "not a string!", objects +# print type(objects) + if 'pymel' in sys.modules: + import pymel + for i, obj in enumerate(objects): + if isinstance(obj, pymel.PyNode): + objects[i] = str(obj) + + #print objects + for object in objects: + #print repr(object) + if ( cmds.objectType(object, isAType='transform') + and not cmds.objectType(object, isAType='joint')): + if moveToPivot: + pivot = cmds.getAttr(object + ".transMinusRotatePivot")[0] + translation = cmds.xform(object, q=1, translation=1) + + cmds.xform(object, translation=pivot) + + cmds.makeIdentity(object, apply=True, t=t, r=r, s=s) + + if moveToPivot: + cmds.xform(object, translation=(translation[0]-pivot[0], translation[1]-pivot[1], translation[2]-pivot[2])) + cmds.xform(object, zeroTransformPivots=1) diff --git a/2009-x64/PaulScripts/pyScripts/PM_replaceShapes.py b/2009-x64/PaulScripts/pyScripts/PM_replaceShapes.py new file mode 100644 index 0000000..8ecbdde --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/PM_replaceShapes.py @@ -0,0 +1,106 @@ +from maya.cmds import * +from __builtin__ import * + +global proc PMP_replaceShape(string $newShape, string $oldShape) +{ + string $shortShapeName = _realShortNameOf($newShape); + + //print("Called: PMP_replaceShape(" + $newShape + ", " + $oldShape + ")\n\n"); + $oldShape = _getShapeFromShapeOrTransform($oldShape); + $newShape = _getShapeFromShapeOrTransform($newShape); + + // First check to see if the two already are the same shape + if(_isSameInstance($newShape, $oldShape)) return; + + // If there is an instancing hierarchy, (ie, an instance of an instance), + // multiple instances may be replaced with each go, so we need to + // store a reference to the actual node (not just a string), and continue + // until it is no longer in the scene. + string $attrName = "PMP_replaceShape_toReplace"; + _addAttrIfNeeded($newShape, $attrName, " -at message "); + connectAttr -force ($oldShape + ".msg") ($newShape + "." + $attrName); + + string $oldShapeInstances[]; + string $parent; + string $tempArray[]; + + while(`connectionInfo -isDestination ($newShape + "." + $attrName)`) + { + $oldShape = plugNode(`connectionInfo -sourceFromDestination ($newShape + "." + $attrName)`); + // print("Calling:\n" + + // "$oldShapeInstances = `ls -long -allPaths " + $oldShape + "\n\n"); + $oldShapeInstances = `ls -long -allPaths $oldShape`; + + // print("Calling:\n" + + // "$parent = `firstParentOf(" + $oldShapeInstances[0] + ")`\n\n"); + $parent = `firstParentOf($oldShapeInstances[0])`; + + // print("Calling:\n" + + // "parent -add -r -shape " + $newShape + " " + $parent + "\n\n"); + $tempArray = `parent -add -r -shape $newShape $parent`; + $newShape = $tempArray[0]; + + parent -shape -removeObject ($oldShapeInstances[0]); + + $newShape = `rename $newShape $shortShapeName`; + } + + deleteAttr ($newShape + "." + $attrName); +} + +def getChildren(obj, **kwargs ): + """ + see also `childAtIndex` + + :rtype: `DagNode` list + """ + kwargs['children'] = True + kwargs.pop('c',None) + + return listRelatives( obj, **kwargs) + +def getShape(obj, **kwargs ): + """ + :rtype: `DagNode` + """ + kwargs['shapes'] = True + try: + return getChildren(obj, **kwargs )[0] + except IndexError: + pass + +def PM_replaceShapes(nodes=None): + if nodes is None: + nodes = ls(sl=1) + + if not nodes or len(nodes) < 2: + raise ValueError("Error - select the NEW shape you wish to use, then select at least one shape you wish to replace.") + + newShape = getShape(nodes[0]) + toReplace = [getShape(x) for x in nodes[1:] + +// First select the NEW shape, then select any shapes you wish to replace +global proc PMP_replaceShapes() +{ + string $selection[] = `ls -long -sl`; + + if(size($selection) < 2) error(); + + string $newShape = _getShapeFromShapeOrTransform($selection[0]); + stringArrayRemoveAtIndex(0, $selection); + + string $toReplace[] = _getUniqueShapes($selection); + int $numToReplace = size($toReplace); + progressWindow -title "Setting new weights..." -isInterruptable true -max $numToReplace; + string $oldShape; + int $i; + for($i = 0; $i < $numToReplace; ++$i) + { + $oldShape = $toReplace[$i]; + if(`progressWindow -query -isCancelled`) break; + progressWindow -edit -progress $i + -status ("Setting Vert: (" + $i + " of " + $numToReplace + ")"); + PMP_replaceShape($newShape, $oldShape); + } + progressWindow -endProgress; +} diff --git a/2009-x64/PaulScripts/pyScripts/pyTest.py b/2009-x64/PaulScripts/pyScripts/pyTest.py new file mode 100644 index 0000000..74f91b6 --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/pyTest.py @@ -0,0 +1 @@ +from pymel import * \ No newline at end of file diff --git a/2009-x64/PaulScripts/pyScripts/pythonTest.py b/2009-x64/PaulScripts/pyScripts/pythonTest.py new file mode 100644 index 0000000..c6db29d --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/pythonTest.py @@ -0,0 +1,2 @@ +def pythonTest(inputString): + print "You fed me this string: " + repr(inputString) diff --git a/2009-x64/PaulScripts/pyScripts/reloadTextures.py b/2009-x64/PaulScripts/pyScripts/reloadTextures.py new file mode 100644 index 0000000..9ee1530 --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/reloadTextures.py @@ -0,0 +1,479 @@ +import string +import os +import os.path +import re +import sys + +import maya.cmds as cmds +import maya.mel as mel + +shadingEngineMaterialPorts = ("surfaceShader", + "volumeShader", + "displacementShader", + "miMaterialShader", + "miVolumeShader", + "miPhotonShader", + "miPhotonVolumeShader", + "miContourShader", + "miDisplacementShader", + "miEnvironmentShader", + "miLightMapShader", + "miShadowShader", + "imageShader") + + +def ensureIterable_nonMaya(argument, validSingleElementClasses = basestring, default=None): + """Returns argument in a form that is guaranteed to be iterable. + + Intended for standard processing on an argument which can either be fed in + as a single element or as a sequence. + + If argument is "None" we return an empty list, unless the 'default' argument + is given, in which case the given default is returned (after being fed + through ensureIterable, of course). + + If argument is not None, check to see if argument's class is a member of + validSingleElementClasses (which should be None, a class or a tuple of + classes), and if so, return a list with argument as it's only member; if it + is not a valid single element, check to see if it is iterable; if so, return + it, otherwise, raise an exception. + + Note that the use of validSingleElementClasses is needed in the case of + strings - ie, where we want to accept as an argument either a string OR a + collection of strings - because a string is itself iterable. Also note that + this means the check for isSequenceType MUST be done after checking the + valid single element classes.""" + + import operator + + if argument is None: + if default is None: + return [] + else: + return ensureIterable_nonMaya(default, validSingleElementClasses) + + if validSingleElementClasses is not None: + if isinstance(validSingleElementClasses, type): + validSingleElementClasses = (validSingleElementClasses,) + + for validClass in validSingleElementClasses: + if isinstance(argument, validClass): + #print "%s: single instance" % repr(argument) + return [argument] + + if(operator.isSequenceType(argument)): + #print "%s: iterable" % repr(argument) + return argument + + else: + # found no valid classes, and wasn't iterable + raise TypeError("argument %r, of class %s, is neither a sequence, nor a single element of class %s" % (argument, argument.__class__, validSingleElementClasses)) + +def ensureIterable(argument, validSingleElementClasses = basestring, default=None): + validSingleElementClasses = ensureIterable_nonMaya(validSingleElementClasses, validSingleElementClasses=type) + + if 'pymel' in sys.modules: + import pymel + + for validSingle in validSingleElementClasses: + if issubclass(validSingle, basestring): + validSingleElementClasses.append(pymel.PyNode) + break + return ensureIterable_nonMaya(argument, validSingleElementClasses=validSingleElementClasses, default=default) + +def ensureIterable_defaultToSelection(argument, validSingleElementClasses = basestring): + """Returns an argument that is guaranteed to be iterable (unless + validSingleElementClasses is given - see PMP.pyUtils.ensureIterable) - if + the argument is None, return the current selection.""" + return ensureIterable(argument, validSingleElementClasses, default=cmds.ls( selection=True, long=True)) + +def ensureIterableType(argument, type, validSingleElementClasses=basestring, default=None): + """Like ensureIterable, with the additional caveat that it ensures that all + elements returned are strings naming nodes of the given type.""" + return [element for element in ensureIterable(argument, validSingleElementClasses, default) if isATypeOf(element, type)] + +def isATypeOf(node, type): + """Returns true if node is of the given type, or inherits from it.""" + if isinstance(node, basestring) and cmds.objExists(node): + return type in cmds.nodeType(node, inherited=True) + else: + return False + +def getShapes(shapesOrTransforms): + """Given a list of names (or a single name) of shapes and transforms, + returns a list of all the shapes given or children of the given + transforms.""" + shapesOrTransforms = ensureIterable(shapesOrTransforms, basestring) + + shapes = [] + for item in shapesOrTransforms: + if isATypeOf(item, "surfaceShape"): + shapes.append(item) + elif isATypeOf(item, "transform"): + shapes.extend(cmds.listRelatives(item, shapes=True, fullPath=True, noIntermediate=True)) + + return shapes + +def plugNode(plug): + """ + Wrapper for the mel command plugNode + Given a string 'plug', such as 'sphere.translateX', returns the portion + before the '.' - the node (in this example, 'sphere')""" + return mel.eval("plugNode %s" % plug) + +def makePathArray(inputPath): + """Given a path, returns an array where each element is a directory (or + possibly a file, for the last element in the array, or possibly a drive, for + the first element). + + If on a platform that support unc paths (or, more exactly, implements + os.path.splitunc), and inputPath is a uncpath, the first element will be the + "\\host\mount" portion. + + This is basically implemented by repeatedly calling os.path.split... + + In general, the goal is to make it such that + os.path.join(*makePathArray(myPath)) == myPath + with the exception of paths where there are 'unneeded' doubled path + seperators - ie, in os.path.join(*makePathArray("\\Host\mount\dir1\\dir2")) + will not equal the original, as the second doubled backslash will be + converted to a single backslash - see the last example + + Examples (assuming os.path.sep is '\'): + + makePathArray(r"dir1\dir2") + ["dir1", "dir2"] + + makePathArray(r"\dir1\dir2") + ["\\", "dir1", "dir2"] + + makePathArray(r"C:\Fred\Games") + ["C:\\", "Fred", "Games"] + + makePathArray(r"\\ComfyComputer\ChairMount\TerryDrive\Gilliam.file") + ["\\\\ComfyComputer\\ChairMount", "TerryDrive", "Gilliam.file"] + + makePathArray(r"\\Host\mount\dir1\\dir2") + ["\\\\Host\\mount", "dir1", "dir2" + """ + + reversedPathArray = [] + pathArray = [] + currentDir = inputPath + + # Check if we're on a platform that supports unc paths, and if passed a unc + # path, make the "\\host\mount" portion the first element of the returned + # path array + if "splitunc" in dir(os.path): + hostMount, uncRest = os.path.splitunc(currentDir) + if hostMount != '': + pathArray.append(hostMount) + while uncRest[0] == os.path.sep: + uncRest = uncRest[1:] + currentDir = uncRest + + while True: + oldDir = currentDir + currentDir, basename = os.path.split(oldDir) + if currentDir == oldDir: + if currentDir != "": + reversedPathArray.append(currentDir) + break + else: + reversedPathArray.append(basename) + + # reverse() and extend operate in place - no return value! + reversedPathArray.reverse() + + pathArray.extend(reversedPathArray) + return pathArray + +def findInPath(oldPath, newPath=".", fileOnly=False, dirOnly=False): + """Given an oldPath, attempts to find it the final file / directory of + oldPath within the directory tree rooted at newPath. + + Will return the path to the found file/dir relative to newPath if it is + found, or None if it isn't. + + If fileOnly is True, then the result must be a file - similarly, if dirOnly + is True, the result must be a directory. Note that if both dirOnly and + fileOnly are True, no matches will be found (except, perhaps, for a symbolic + directory link - not sure, but it's possible that may return True for both + os.path.isfile and os.path.isdir...) + + The function is guaranteed to find basename(oldPath) if such an item exists + in newPath or a folder within the directory tree rooted at newPath; however, + it attempts to find the "best match" between oldPath and newPath - the exact + determination of what the "best match" between the two is, however, should + be treated as undetermined. + + At present, the algorithm for finding the "best match" is as follows (though + this behavior should NOT be relied upon): + + Will first check if newPath exists; if not, we clearly can't find the file. + + Then, attempt to find the file given by oldPath by first matching as + many directories at the start of oldPath and newPath as it can, then tacking + the remainder of oldPath onto newPath, and seeing if that exists. If not, it + will knock off one more path from the start of old path, tack the remainder + onto newPath, etc. + + For example, if oldPath = A\B\G\Q\R, and newPath=A\B\C, then it will first try + to find A\B\C\G\Q\R, then A\B\C\Q\R, and finally A\B\C\R + + If this method of finding the file fails, it will append successively + shorter versions of oldPath onto newPath - using the previous example, it + would then try A\B\C\A\B\G\Q\R, then A\B\C\B\G\Q\R. (Note that it won't try + A\B\C\G\Q\R, A\B\C\Q\R, etc, as these have already been tried.) + + Next, it will recursively search through the directory tree rooted at + newPath. Continuing our previous example, if there exist directories + A\B\C\D, A\B\C\E, we will next try calling findInPath(r"A\B\G\Q\R", + r"A\B\C\D"), then findInPath(r"A\B\G\Q\R", r"A\B\C\E"). + + """ + + # Will first check if newPath exists; if not, we clearly can't find the file. + if not os.path.exists(newPath): + return None + + # Then, attempt to find the file given by oldPath by first matching as many + # directories at the start of oldPath and newPath as it can, then tacking + # the remainder of oldPath onto newPath, and seeing if that exists. If not, + # it will knock off one more path from the start of old path, tack the + # remainder onto newPath, etc. + + # For example, if oldPath = A\B\G\Q\R, and newPath=A\B\C, then it will first + # try to find A\B\C\G\Q\R, then A\B\C\Q\R, and finally A\B\C\R + + # If this method of finding the file fails, it will append successively + # shorter versions of oldPath onto newPath - using the previous example, it + # would then try A\B\C\A\B\G\Q\R, then A\B\C\B\G\Q\R. (Note that it won't + # try A\B\C\G\Q\R, A\B\C\Q\R, etc, as these have already been tried.) + + # Implementation explantation: + # the implementation of these two parts is basically, the same, the only + # difference is how many elements we take from the tail of oldPathArray. We + # will eventually end up testing all possible 'tails' of oldPathArray, but + # since we first want to try the ones AFTER numEqualDirs, we can't just + # iterate i over range(len(oldPathArray)) + normOldPath = _findInPath_normPath(oldPath) + normNewPath = _findInPath_normPath(newPath) + + oldPathArray = makePathArray(normOldPath) + newPathArray = makePathArray(normNewPath) + + numEqualDirs = 0 + while numEqualDirs < len(oldPathArray) and \ + numEqualDirs < len(newPathArray) and \ + oldPathArray[numEqualDirs] == newPathArray[numEqualDirs]: + numEqualDirs += 1 + + testIndices = range(numEqualDirs, len(oldPathArray)) + testIndices.extend(range(numEqualDirs)) + for i in testIndices: + testSubPath = os.path.join(*oldPathArray[i:]) + #print "testing: " + os.path.join(newPath, testSubPath) + if os.path.exists(os.path.join(newPath, testSubPath)): + if (fileOnly and not os.path.isfile(testSubPath)) or \ + (dirOnly and not os.path.isdir(testSubPath)): + break + else: + return testSubPath + + # Next, it will recursively search through the directory tree rooted at + # newPath. Continuing our previous example, if there exist directories + # A\B\C\D, A\B\C\E, we will next try calling findInPath(r"A\B\G\Q\R", + # r"A\B\C\D"), then findInPath(r"A\B\G\Q\R", r"A\B\C\E"). + for direntry in os.listdir(newPath): + joinedPath = os.path.join(newPath, direntry) + if os.path.isdir(joinedPath): + # print + # print "Recursing: findInPath(%s, %s)" % (oldPath, joinedPath) + foundPath = findInPath(oldPath, joinedPath) + if foundPath is not None: + return os.path.join(direntry, foundPath) + else: + return None + +def _findInPath_normPath(inputPath): + normPath = os.path.normcase(os.path.normpath(inputPath)) + hostMount, normPath = os.path.splitunc(normPath) + drive, normPath = os.path.splitdrive(normPath) + i = 0 + while normPath[i] == os.path.sep: + i += 1 + + return normPath[i:] + +def getShadingGroups(items=None): + """Returns a list of shadingGroups associated with the given items.""" + + from PMP.maya import getShapes + + items = ensureIterable_defaultToSelection(items, basestring) + + shadingGroups = set() + + shapes = [] + for item in items: + if isAShadingGroup(item): + shadingGroups.add(item) + else: + shapes.extend(getShapes(item)) + + for shape in shapes: + containingSets = cmds.listSets(type=1, object=shape) + if containingSets is not None: + shadingGroups.update([mayaSet for mayaSet in containingSets if isAShadingGroup(mayaSet)]) + + return [group for group in shadingGroups] + +def getMats(items=None): + """Returns the materials asssociated with the given item.""" + + items = ensureIterable_defaultToSelection(items, basestring) + + materials = set() + + shadingGroups = set() + for item in items: + if isAMaterial(item): + materials.add(item) + else: + shadingGroups.update(getShadingGroups(item)) + + for shadingGroup in shadingGroups: + for port in shadingEngineMaterialPorts: + source = cmds.connectionInfo(shadingGroup + "." + port, sourceFromDestination=True) + if source != "": + materials.add(plugNode(source)) + + return [mat for mat in materials] + + +def getTextures(items=None): + """Returns the textures associated with the given item.""" + + items = ensureIterable_defaultToSelection(items, basestring) + + textures = set() + materials = set() + for item in items: + if isATexture(item): + textures.add(item) + else: + materials.update(getMats(item)) + + for material in materials: + textures.update([node for node in cmds.listHistory(material, breadthFirst=True) if isATexture(node)]) + + return [tex for tex in textures] + +def getFileTextures(items=None): + return [tex for tex in getTextures(items) if isATypeOf(tex, "file")] + +def isAMaterial(node): + """Returns true if the given node is a type of material node""" + return cmds.nodeType(node) in cmds.listNodeTypes("shader") + +def isAShadingGroup(node): + """Returns true if the given node inherits from the shadingEngine node type (or is of type shadingEngine)""" + return isATypeOf(node, "shadingEngine") + +def isATexture(node): + """Returns true if the given node is a type of texture node""" + return cmds.nodeType(node) in cmds.listNodeTypes("texture") + +def reloadFileTextures(textures, findNonExistantImages=True, fixDataToSourceImages=True): + """Will reload the given list of strings (or single string) naming file textures. + + If findNonExistantImages is True (the default), if it encounters any file + nodes that reference nonexistant files, it will try to find them in the + sourceimages folder (or a subfolder), and correct the reference if it does. + + If fixDataToSourceImages is True (the default), it will also attempt to + correct paths that have been made to point to 'data' to point back to + 'sourceimages', if it can find a matching file in sourceimages. This is + done because maya (or perhaps just mental ray) has a rather annoying habit + of copying textures to the data directory, and then changing the file + reference for the node to the new location... leaving you wondering why the + texture isn't updating even though you've reloaded it.""" + + textures = ensureIterableType(textures, "file", validSingleElementClasses=basestring) + + if len(textures) > 0: + try: + cmds.progressWindow(title="Reloading textures...", + isInterruptable=True, + max=len(textures)) + + numProcessed = 0 + for texture in textures: + if cmds.progressWindow( query=True, isCancelled=True ) : + break + + cmds.progressWindow(edit=True, + progress=numProcessed, + status="Reloading Texture: %s (%i of %i)" % (texture, numProcessed + 1, len(textures))) + imagePath = cmds.getAttr(texture + ".fileTextureName") + imagePath = cmds.workspace(projectPath=imagePath) + if isinstance(imagePath, basestring) and imagePath != "": + needToFindTexture = False + mustBeInSourceImages = False + + workspaceEntryTypes = ("renderTypeEntry", "fileRuleEntry", "variableEntry", "objectTypeEntry") + sourceImagesDir = "" + for entryType in workspaceEntryTypes: + sourceImagesDir = cmds.workspace("sourceImages", query=True, **{entryType:True}) + if sourceImagesDir != "": + break + + if findNonExistantImages: + if not cmds.file(imagePath, q=True, exists=True): + print "Nonexistant path '%s' for texture '%s'... will try to find copy in %s" % (imagePath, texture, sourceImagesDir) + needToFindTexture = True + + # Maya has a bug where sometimes texture images will be copied to the "data" folder, and relinked there - + # ie, sometimes a file that originally referred to "sourceImage\subFolder\myImage.jpg" will be copied to + # "data\myImage.jpg", and then linked to from there + if fixDataToSourceImages and not needToFindTexture: + badImageRootDir = "data" + pathArray = makePathArray(imagePath) + if (len(pathArray) is 2) and (pathArray[0] == badImageRootDir): + print "Image path '%s' for texture '%s' in %s directory... will try to find copy in project dir" % (imagePath, texture, badImageRootDir) + needToFindTexture = True + mustBeInSourceImages = True + + if needToFindTexture: + workspacePath = cmds.workspace(q=True, rootDirectory=True) + findRootDirs = [os.path.join(workspacePath, sourceImagesDir)] + if not mustBeInSourceImages: + findRootDirs.append(workspacePath) + + for rootDir in findRootDirs: + print "Looking in '%s':" % rootDir + foundTexture = findInPath(imagePath, rootDir) + if foundTexture: + foundTexture = os.path.join(rootDir, foundTexture) + foundTexture = cmds.workspace(expandName=foundTexture) + foundTexture = cmds.workspace(projectPath=foundTexture) + print "Found texture at %s!" % foundTexture + cmds.setAttr(texture + ".fileTextureName", foundTexture, type="string") + print "\tReloaded %s..." % foundTexture + break + numProcessed += 1 + finally: + cmds.progressWindow(endProgress=True) + + print "Textures reloaded" + +def reloadAllFileTextures(findNonExistantImages=True, fixDataToSourceImages=True): + reloadFileTextures(textures=cmds.ls(long=True, type="file"), + findNonExistantImages=findNonExistantImages, + fixDataToSourceImages=fixDataToSourceImages) + +def reloadFileTexturesOnSelected(findNonExistantImages=True, fixDataToSourceImages=True): + reloadFileTextures(textures=getFileTextures(), + findNonExistantImages=findNonExistantImages, + fixDataToSourceImages=fixDataToSourceImages) diff --git a/2009-x64/PaulScripts/pyScripts/testPack/__init__.py b/2009-x64/PaulScripts/pyScripts/testPack/__init__.py new file mode 100644 index 0000000..4432483 --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/testPack/__init__.py @@ -0,0 +1 @@ +print("importing testPack") diff --git a/2009-x64/PaulScripts/pyScripts/testPack/subMod.py b/2009-x64/PaulScripts/pyScripts/testPack/subMod.py new file mode 100644 index 0000000..1debf02 --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/testPack/subMod.py @@ -0,0 +1 @@ +print("Importing testPack.subMod") diff --git a/2009-x64/PaulScripts/pyScripts/testPack/subPack/__init__.py b/2009-x64/PaulScripts/pyScripts/testPack/subPack/__init__.py new file mode 100644 index 0000000..885086c --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/testPack/subPack/__init__.py @@ -0,0 +1 @@ +print("importing testPack.subPack") diff --git a/2009-x64/PaulScripts/pyScripts/testPack/subPack/subMod2.py b/2009-x64/PaulScripts/pyScripts/testPack/subPack/subMod2.py new file mode 100644 index 0000000..a4203a2 --- /dev/null +++ b/2009-x64/PaulScripts/pyScripts/testPack/subPack/subMod2.py @@ -0,0 +1 @@ +print("importing testPack.subPack.subMod2") diff --git a/2009-x64/PaulScripts/scripts b/2009-x64/PaulScripts/scripts new file mode 160000 index 0000000..0ffb33a --- /dev/null +++ b/2009-x64/PaulScripts/scripts @@ -0,0 +1 @@ +Subproject commit 0ffb33a348595e65875c4a89b3c390992078c6e6 diff --git a/2009-x64/StopStaring/scripts/shelf_SS2.mel b/2009-x64/StopStaring/scripts/shelf_SS2.mel new file mode 100644 index 0000000..8bc794b --- /dev/null +++ b/2009-x64/StopStaring/scripts/shelf_SS2.mel @@ -0,0 +1,449 @@ +global proc shelf_SS2 () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "inv" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "inv" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_targetWeights_shelf inverse;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "cop" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cop" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_targetWeights_shelf copy" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "tap" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "tap" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_taper;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_taper_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "bake" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "bake" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_bakeWeights;\r\n\r\nss2_blend_bakeWeights_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "ctrls" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ctrls" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_controls;\r\nss2_limitShape;\r\n\r\nss2_controls_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "cnct" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnct" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_controls;\r\n\r\nss2_controls_connectWin \"\" \"\";" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "save" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "save" + -image "menuIconFile.xpm" + -image1 "menuIconFile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_save;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "load" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "load" + -image "menuIconFile.xpm" + -image1 "menuIconFile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_load;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "del" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "del" + -image "C:/Program Files/Alias/Maya7.0/extras/icons/USERERASER48.BMP" + -image1 "C:/Program Files/Alias/Maya7.0/extras/icons/USERERASER48.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_delete;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "atch" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "atch" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_attach;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "dtch" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "dtch" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_detach;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "limit" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "limit" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_limitShape;\r\n\r\nss2_limitShape_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "eyes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "eyes" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_eyes;\r\n\r\nss2_eyes_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "prep" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "prep" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "fixOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "fixOut" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_fix_out;\r\n" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "fixIn" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "fixIn" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_fixHalf_in;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "halfOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "halfOut" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_half_out;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "halfIn" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "halfIn" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_fixHalf_in;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "xyz" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "xyz" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_XYZ;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "zip" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "zip" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_bakeWeights;\r\nss2_zip;\r\n\r\nss2_zip_shelf;" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "thLim" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "thLim" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_revLimScale;\r\n\r\nss2_revLimScale_shelf;" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/StopStaring/scripts/ss2_blend_bakeWeights.mel b/2009-x64/StopStaring/scripts/ss2_blend_bakeWeights.mel new file mode 100644 index 0000000..3ca1e05 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_blend_bakeWeights.mel @@ -0,0 +1,83 @@ +global proc ss2_blend_bakeWeights (){ + print""; +} +print "ss2_blend_bakeWeights : sourced\n"; + +global proc string[] ss2_blend_bakeWeights_run (string $base, string $toDupe, string $blendShape, string $blendShapeWeight[], int $includeLast){ + + string $output[]; + + int $counter = size($blendShapeWeight); + + if ($includeLast){ + + $counter--; + + ss2_clearAttr $blendShape $blendShapeWeight[$counter]; + + setAttr -k 1 -l 0 ($blendShape+"."+$blendShapeWeight[$counter]); + + setAttr ($blendShape+"."+$blendShapeWeight[$counter]) 1; + + } + + int $i = 0; + + while( $i < $counter ){ + + ss2_clearAttr $blendShape $blendShapeWeight[$i]; + + catch(`setAttr -k 1 -l 0 ($blendShape+"."+$blendShapeWeight[$i])`); + + catch(`setAttr ($blendShape+"."+$blendShapeWeight[$i]) 0`); + + $i++; + + } + + int $i = 0; + + while( $i < $counter ){ + + catch(`setAttr ($blendShape+"."+$blendShapeWeight[$i]) 1`); + + if (`objExists $blendShapeWeight[$i]` && $base == $toDupe) + + delete `ls $blendShapeWeight[$i]`; + + $output[size($output)] = `ss2_cleanDupe $toDupe $blendShapeWeight[$i]`; + + catch(`setAttr ($blendShape+"."+$blendShapeWeight[$i]) 0`); + + $i++; + + } + + if ($includeLast) + + catch(`setAttr ($blendShape+"."+$blendShapeWeight[$counter]) 0`); + + return $output; +} + +global proc ss2_blend_bakeWeights_fromButton (int $includeLast){ + string $sel[] = `ls -sl`; + string $blendShape = `ss2_search_byType blendShape $sel`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1`; + ss2_blend_bakeWeights_run $sel[0] $sel[0] $blendShape $blendShapeWeight $includeLast; +} + +global proc ss2_blend_bakeWeights_shelf (){ + + if (`window -exists "ss2_blend_bakeWeightsWin"`) deleteUI ss2_blend_bakeWeightsWin; + string $window = `window -title "ss2_blend_bakeWeights" -resizeToFitChildren 1 ss2_blend_bakeWeightsWin`; + + rowColumnLayout -nc 2; + + button -label "bake" -command "ss2_blend_bakeWeights_fromButton 0"; + button -label "bake (incl. last)" -command "ss2_blend_bakeWeights_fromButton 1"; + + window -e -widthHeight 210 50 $window; + showWindow $window; + +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_blend_prepare.mel b/2009-x64/StopStaring/scripts/ss2_blend_prepare.mel new file mode 100644 index 0000000..72e54d4 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_blend_prepare.mel @@ -0,0 +1,479 @@ +global proc ss2_blend_prepare (){ + print""; +} +print "ss2_blend_prepare : sourced\n"; + +global proc ss2_blend_prepare_shelf (){ + + if (`window -exists "ss2_blend_prepareWin"`) deleteUI ss2_blend_prepareWin; + window -title "ss2_blend_prepareWin" -widthHeight 210 105 ss2_blend_prepareWin; + + columnLayout; + string $opGrp = `checkBoxGrp -numberOfCheckBoxes 4 -valueArray4 1 1 1 1 -columnWidth4 50 50 50 100 -labelArray4 "fix" "half" "xyz" "network"`; + string $command; + $command += ("if (`checkBoxGrp -q -v1 "+$opGrp+"`) ss2_blend_prepare_fix_connect;"); + $command += ("if (`checkBoxGrp -q -v2 "+$opGrp+"`) ss2_blend_prepare_half_connect;"); + $command += ("if (`checkBoxGrp -q -v3 "+$opGrp+"`) ss2_blend_prepare_XYZ_connect;"); + $command += ("if (`checkBoxGrp -q -v4 "+$opGrp+"`) ss2_blend_prepare_generateNetwork;"); + button -w 250 -label "prepare blend" -command $command; + + showWindow ss2_blend_prepareWin; + +} + + + +global proc ss2_blend_prepare_fix_connect_run (string $blendShape, string $shape){ + + string $tokens[]; + tokenize $shape "_" $tokens; + int $size = size($tokens); + string $mult[];clear $mult; + + for ($i = 1; $i < $size; $i++){ + $mult[$i-1] = `createNode multiplyDivide -name ($shape+"_Mult"+$i)`; + evalEcho("connectAttr -f "+$blendShape+"."+$tokens[$i]+" "+$mult[$i-1]+".input1X"); + } + + for ($i = 0; $i < ($size-2); $i++) + evalEcho("connectAttr -f "+$mult[$i]+".outputX "+$mult[$i+1]+".input2X"); + + evalEcho("connectAttr -f "+$mult[size($mult)-1]+".outputX "+$blendShape+"."+$shape); + +} + +global proc ss2_blend_prepare_fix_connect (){ + + string $sel[] = `ls -sl`; + string $blendShape = `ss2_search_byType blendShape $sel`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + + for ($b in $blendShapeWeight){ + + string $tokens[]; + tokenize $b "_" $tokens; + int $size = size($tokens); + + if ($tokens[0] == "FIX"){ + + if (size($tokens)>2){ + + int $match = 0; + + for ($fix in $tokens) + for ($compare in $blendShapeWeight) + if ($fix == $compare) $match++; + + if ($match == ($size-1)) + ss2_blend_prepare_fix_connect_run $blendShape $b; + + }else{ + + warning ($b+" does not have enough info to make a fix shape setup, the name should refer to at least two other shapes"); + } + } + } + select $sel; +} + +global proc ss2_blend_prepare_half_connect (){ + + string $sel[] = `ls -sl`; + string $blendShape = `ss2_search_byType blendShape $sel`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + + for ($b in $blendShapeWeight){ + + string $tokens[]; + tokenize $b "_" $tokens; + int $size = size($tokens); + + if ( $size > 1 && $size < 3 && $tokens[0] == "HALF"){ + + setDrivenKeyframe -dv 0.0 -v 0.0 -cd ($blendShape+"."+$tokens[1]) ($blendShape+"."+$b); + setDrivenKeyframe -dv 0.5 -v 1.0 -cd ($blendShape+"."+$tokens[1]) ($blendShape+"."+$b); + setDrivenKeyframe -dv 1.0 -v 0.0 -cd ($blendShape+"."+$tokens[1]) ($blendShape+"."+$b); + + string $animCurve[] = `listConnections -destination 0 -source 1 -type animCurveUU ($blendShape+"."+$b)`; + keyTangent -itt flat -ott flat $animCurve; + + } + } + select $sel; +} + +global proc ss2_blend_prepare_XYZ_connect (){ + + string $sel[] = `ls -sl`; + string $blendShape = `ss2_search_byType blendShape $sel`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + + string $prefix[] = {"X","Y","Z"}; + + for ($p in $prefix){ + + for ($b in $blendShapeWeight){ + + string $tokens[]; + tokenize $b "_" $tokens; + int $size = size($tokens); + + if ( $size > 1 && $size < 3 && $tokens[0] == $p){ + + setDrivenKeyframe -dv 0.0 -v 0.0 -cd ($blendShape+"."+$tokens[1]) ($blendShape+"."+$b); + setDrivenKeyframe -dv 1.0 -v 1.0 -cd ($blendShape+"."+$tokens[1]) ($blendShape+"."+$b); + + string $animCurve[] = `listConnections -destination 0 -source 1 -type animCurveUU ($blendShape+"."+$b)`; + keyTangent -itt spline -ott spline $animCurve; + + } + } + } + select $sel; +} + + + + +global proc ss2_blend_prepare_generateNetwork (){ + + string $sel[] = `ls -sl`; + + string $blendShape = `ss2_search_byType "blendShape" $sel`; + + string $limited = `createNode network -name ($blendShape+"_Limited")`; + string $unlimited = `createNode network -name ($blendShape+"_Unlimited")`; + string $direct = `createNode network -name ($blendShape+"_Direct")`; + string $weightClamp = `createNode network -name ($blendShape+"_WeightClamp")`; + string $buffer = `createNode network -name ($blendShape+"_Buffer")`; + + //Connect all the nodes together + addAttr -at message -ln "ss2_blend_limited" $buffer; + connectAttr -f ($limited+".message") ($buffer+".ss2_blend_limited"); + addAttr -at message -ln "ss2_blend_unlimited" $buffer; + connectAttr -f ($unlimited+".message") ($buffer+".ss2_blend_unlimited"); + addAttr -at message -ln "ss2_blend_direct" $buffer; + connectAttr -f ($direct+".message") ($buffer+".ss2_blend_direct"); + addAttr -at message -ln "ss2_blend_weightClamp" $buffer; + connectAttr -f ($weightClamp+".message") ($buffer+".ss2_blend_weightClamp"); + + //Add weighting control attributes + addAttr -at double -dv 1.0 -k 1 -ln "controlWeight" $weightClamp; + addAttr -at double -dv 1.0 -k 1 -ln "directWeight" $weightClamp; + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0 `; + int $size = size($blendShapeWeight); + + for ($i = 0; $i < $size; $i++){ + + addAttr -k 1 -at double -ln $blendShapeWeight[$i] $limited; + addAttr -k 1 -at double -ln $blendShapeWeight[$i] $unlimited; + addAttr -k 1 -at double -ln $blendShapeWeight[$i] $direct; + addAttr -k 1 -at double -ln $blendShapeWeight[$i] $buffer; + + addAttr -at double -dv -10.0 -k 1 -ln ($blendShapeWeight[$i]+"_min") $weightClamp; + addAttr -at double -dv 10.0 -k 1 -ln ($blendShapeWeight[$i]+"_max") $weightClamp; + + string $addLimited = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_Limited")`; + string $addUnlimited = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_Unlimited")`; + string $addFinal = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_AddFinal")`; + + string $limitedClamp = `createNode clamp -name ($blendShapeWeight[$i]+"_LimitClamp")`; + string $finalClamp = `createNode clamp -name ($blendShapeWeight[$i]+"_FinalClamp")`; + + setAttr ($limitedClamp+".minR") 0; + setAttr ($limitedClamp+".maxR") 1; + + //**** + string $limitClampInMin = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_LimitedClampInMin")`; + string $limitClampInMax = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_LimitedClampInMax")`; + string $finalClampInMin = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_FinalClampInMin")`; + string $finalClampInMax = `createNode blendWeighted -name ($blendShapeWeight[$i]+"_FinalClampInMax")`; + + string $limitClampInMaxRev = `createNode reverse -name ($blendShapeWeight[$i]+"_LimitedClampInMaxReverse")`; + string $finalClampInMaxRev = `createNode reverse -name ($blendShapeWeight[$i]+"_FinalClampInMaxReverse")`; + //**** + + //Basic network + connectAttr -f ($addLimited+".output") ($limitedClamp+".inputR"); + connectAttr -f ($limitedClamp+".outputR") ($limited+"."+$blendShapeWeight[$i]); + connectAttr -f ($addUnlimited+".output") ($unlimited+"."+$blendShapeWeight[$i]); + + connectAttr -f ($limited+"."+$blendShapeWeight[$i]) ($addFinal+".input[0]"); + connectAttr -f ($unlimited+"."+$blendShapeWeight[$i]) ($addFinal+".input[1]"); + connectAttr -f ($direct+"."+$blendShapeWeight[$i]) ($addFinal+".input[2]"); + connectAttr -f ($addFinal+".output") ($finalClamp+".inputR"); + connectAttr -f ($finalClamp+".outputR") ($buffer+"."+$blendShapeWeight[$i]); + + //Weights and clamps + connectAttr -f ($weightClamp+".controlWeight") ($addFinal+".weight[0]"); + connectAttr -f ($weightClamp+".controlWeight") ($addFinal+".weight[1]"); + connectAttr -f ($weightClamp+".directWeight") ($addFinal+".weight[2]"); + connectAttr -f ($weightClamp+"."+$blendShapeWeight[$i]+"_min") ($finalClamp+".minR"); + + //**** + connectAttr -f ($weightClamp+"."+$blendShapeWeight[$i]+"_max") ($finalClamp+".inputG"); + connectAttr -f ($finalClamp+".outputG") ($finalClamp+".maxR"); + + setAttr ($finalClampInMax+".input[0]") -9; + setAttr ($limitedClamp+".maxG") 100; + setAttr ($finalClamp+".maxG") 100; + + connectAttr -f ($limitClampInMax+".output") ($limitClampInMaxRev+".inputX"); + connectAttr -f ($finalClampInMax+".output") ($finalClampInMaxRev+".inputX"); + + connectAttr -f ($limitClampInMaxRev+".outputX") ($limitedClamp+".inputG"); + connectAttr -f ($limitedClamp+".outputG") ($limitedClamp+".maxR"); + + + //connectAttr -f ($limitClampInMaxRev+".outputX") ($limitedClamp+".maxR"); + connectAttr -f ($finalClampInMaxRev+".outputX") ($weightClamp+"."+$blendShapeWeight[$i]+"_max"); + //**** + + //Connect back to blendshape + connectAttr -f ($buffer+"."+$blendShapeWeight[$i]) ($blendShape+"."+$blendShapeWeight[$i]); + + } + + select $sel; + +} + + +global proc ss2_blend_prepare_XYZ (){ + + string $output[]; + vector $basePos[]; + + string $sel[] = `ls -sl`; + + string $base = $sel[0]; + + int $vertCount[] = `polyEvaluate -vertex $base`; + + string $blendShape = `ss2_search_byType blendShape $sel`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0 `; + string $allBlendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + string $involved[] = `ss2_search_blendTargetsAbove $blendShape $blendShapeWeight 0.9 1 0`; + + for ($b in $allBlendShapeWeight) + catch(`setAttr ($blendShape+"."+$b) 0`); + + for ($v = 0; $v < $vertCount[0]; $v++){ + float $temp[] = `pointPosition -l ($base+".vtx["+$v+"]")`; + $basePos[$v] = <<$temp[0],$temp[1],$temp[2]>>; + } + + for ($i in $involved){ + + string $XYZ[]; + + if (`objExists $i`) delete $i; + + $XYZ[3] = `ss2_cleanDupe $base $i`; + + catch(`setAttr ($blendShape+"."+$i) 1`); + + $XYZ[0] = `ss2_cleanDupe $base ("X_"+$i)`; + $XYZ[1] = `ss2_cleanDupe $base ("Y_"+$i)`; + $XYZ[2] = `ss2_cleanDupe $base ("Z_"+$i)`; + + catch(`setAttr ($blendShape+"."+$i) 0`); + + vector $shapePos[]; + + for ($v = 0; $v < $vertCount[0]; $v++){ + float $temp[] = `pointPosition -l ($XYZ[0]+".vtx["+$v+"]")`; + $shapePos[$v] = <<$temp[0],$temp[1],$temp[2]>>; + } + + for ($v = 0; $v < $vertCount[0]; $v++){ + + vector $thisBase = $basePos[$v]; + vector $thisShape = $shapePos[$v]; + float $thisBaseFloat[] = {$thisBase.x, $thisBase.y, $thisBase.z}; + float $thisShapeFloat[] = {$thisShape.x, $thisShape.y, $thisShape.z}; + + for ($n = 0; $n < 3; $n++){ + + float $doThis[3] = $thisBaseFloat; + $doThis[$n] = $thisShapeFloat[$n]; + xform -t $doThis[0] $doThis[1] $doThis[2] ($XYZ[$n]+".vtx["+$v+"]"); + } + } + $output = `stringArrayCatenate $output {$XYZ[3],$XYZ[0],$XYZ[1],$XYZ[2]}`; + } + select $output $base; + ss2_blend_prepare_fixHalf_in; + + delete $output; + +} + + +global proc string[] ss2_blend_prepare_fixHalf_out (string $type, float $threshold, int $minShapes, int $maxShapes){ + + string $sel[] = `ls -sl`; + string $output[]; + + float $fixHalfVal = 1.0; + if ($type == "HALF") $fixHalfVal = 0.5; + + string $base = $sel[0]; + + string $blendShape = `ss2_search_byType blendShape $sel`; + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0 `; + string $allBlendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + + string $involved[] = `ss2_search_blendTargetsAbove $blendShape $blendShapeWeight $threshold $minShapes $maxShapes`; + string $alsoInvolved[] = `ss2_search_blendTargetsAbove $blendShape $allBlendShapeWeight $threshold $minShapes $maxShapes`; + + if (size($alsoInvolved) != size($involved)) confirmDialog -title "Stop Staring 2" -message "You have a name with underscores that will be included" -button "OK"; + + for ($b in $allBlendShapeWeight) + catch(`setAttr ($blendShape+"."+$b) 0`); + + string $name = $type; + + for ($i in $involved) + $name += ("_"+$i); + + string $fix = `ss2_cleanDupe $base $name`; + + for ($i in $alsoInvolved) + catch (`setAttr ($blendShape+"."+$i) $fixHalfVal`); + + string $sculptMe = `ss2_cleanDupe $base ("sculptMe_"+$name)`; + string $subtractMe = `ss2_cleanDupe $base ("subtractMe_"+$name)`; + + string $fixBlend[] = `blendShape $subtractMe $sculptMe $fix`; + setAttr -k 0 -l 1 ($fixBlend[0]+"."+$subtractMe) -1; + setAttr -k 0 -l 1 ($fixBlend[0]+"."+$sculptMe) 1; + + string $unlockAttrs[] = {"t","tx","ty","tz"}; + string $unlocks[] = {$fix, $sculptMe}; + for ($u in $unlocks) + for ($a in $unlockAttrs) + setAttr -k 1 -l 0 ($u+"."+$a); + + float $bBoxSize[] = `getAttr ($fix+".boundingBoxSize")`; + move -r 0 ( -1.5 * $bBoxSize[1] ) 0 $sculptMe $subtractMe $fix; + move -r ( 1.5 * $bBoxSize[0] ) 0 0 $subtractMe; + move -r ( 3.0 * $bBoxSize[0] ) 0 0 $sculptMe; + + select $sculptMe; + + return {$fix,$sculptMe,$subtractMe}; + +} + + + +global proc string ss2_blend_prepare_fixHalf_in (){ + + string $sel[] = `ls -sl`; + string $base = $sel[size($sel)-1]; + string $newShapes[] = `stringArrayRemove {$base} $sel`; + string $blendShape = `ss2_search_byType blendShape {$base}`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + float $values[]; + string $parents[]; + vector $position[]; + int $skipIt[]; + int $vis[]; + int $size = size($blendShapeWeight); + + for ($i = 0; $i < $size; $i++){ + + for ($ns in $newShapes){ + if ($ns == $blendShapeWeight[$i]){ + $skipIt[$i] = 1; + continue; + } + } + + $values[$i] = `getAttr ($blendShape+"."+$blendShapeWeight[$i])`; + + catch(`setAttr ($blendShape+"."+$blendShapeWeight[$i]) 0`); + + if (`objExists $blendShapeWeight[$i]`){ + + float $temp[3] = `xform -q -ws -t $blendShapeWeight[$i]`; + + $position[$i] = <<$temp[0], $temp[1], $temp[2]>>; + + $vis[$i] = `getAttr ($blendShapeWeight[$i]+".v")`; + + string $prnt[] = `listRelatives -parent $blendShapeWeight[$i]`; + + $parents[$i] = $prnt[0]; + + }else{ + + $skipIt[$i] = 1; + + } + + } + + string $bakers[] = `stringArrayRemove $newShapes $blendShapeWeight`; + + //Bake + for ($b in $bakers){ + if (`objExists $b`) + delete $b; + catch(`setAttr ($blendShape+"."+$b) 1`); + ss2_cleanDupe $base $b; + catch(`setAttr ($blendShape+"."+$b) 0`); + } + + delete -ch $base; + + for ($i = 0; $i < $size; $i++){ + + if (!$skipIt[$i]){ + + if (`objExists $blendShapeWeight[$i]`){ + vector $tempVec = $position[$i]; + + xform -ws -t ($tempVec.x) ($tempVec.y) ($tempVec.z) $blendShapeWeight[$i]; + + catch(`setAttr ($blendShapeWeight[$i]+".v") $vis[$i]`); + + if (`objExists $parents[$i]`) + catch(`parent $blendShapeWeight[$i] $parents[$i]`); + } + }else{ + catch(`setAttr ($blendShapeWeight[$i]+".v") 0`); + } + } + + string $pre[] = {"subtractMe_", "sculptMe_"}; + + for ($n in $newShapes) + for ($p in $pre) + if (`objExists ($p+$n)`) + delete ($p+$n); + + string $blend[] = `blendShape -name $blendShape $blendShapeWeight $newShapes $base`; + + for ($i = 0; $i < $size; $i++) + setAttr ($blendShape+"."+$blendShapeWeight[$i]) $values[$i]; + + select -cl; + + for ($s in $sel) + if (`objExists $s`) select -add $s; + + return $blend[0]; + +} + +global proc ss2_blend_prepare_fix_out (){ + ss2_blend_prepare_fixHalf_out "FIX" 0.9 2 0; +} + +global proc ss2_blend_prepare_half_out (){ + ss2_blend_prepare_fixHalf_out "HALF" 0.1 1 1; +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_blend_taper.mel b/2009-x64/StopStaring/scripts/ss2_blend_taper.mel new file mode 100644 index 0000000..d1c676a --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_blend_taper.mel @@ -0,0 +1,64 @@ +global proc ss2_blend_taper (){ + print""; +} +print "ss2_blend_taper : sourced\n"; + +proc ss2_blend_taper_placeTapers (string $base, string $tapers[]){ + + string $attrs[] = {"tx","ty","tz"}; + + for ($a in $attrs){ + setAttr -k 1 -l 0 ($tapers[0]+"."+$a); + setAttr -k 1 -l 0 ($tapers[1]+"."+$a); + } + + float $pos[] = `xform -q -ws -t $base`; + float $bBoxSize[] = `getAttr ($base+".boundingBoxSize")`; + + xform -ws -t $pos[0] $pos[1] $pos[2] $tapers; + + move -r 0 ( $bBoxSize[1] * -1 ) 0 $tapers; + move -r ( $bBoxSize[0] * -0.5 ) 0 0 $tapers[0]; + move -r ( $bBoxSize[0] * 0.5 ) 0 0 $tapers[1]; + +} + +global proc ss2_blend_taper_shelf (){ + + string $sel[] = `ls -sl`; + + string $blendShape = `ss2_search_byType blendShape {$sel[0]}`; + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + + string $tapers[]; + + for ($b in $blendShapeWeight) + catch(`setAttr ($blendShape+"."+$b) 0`); + + for ($b in $blendShapeWeight){ + + catch(`setAttr ($blendShape+"."+$b) 1`); + + $tapers[size($tapers)] = `ss2_cleanDupe $sel[0] ("l"+$b)`; + + catch(`setAttr ($blendShape+"."+$b) 0`); + + } + + ss2_blend_targetWeights_run $blendShape $blendShapeWeight 1 0 ; + + for ($b in $blendShapeWeight){ + + setAttr ($blendShape+"."+$b) 1; + + $tapers[size($tapers)] = `ss2_cleanDupe $sel[0] ("r"+$b)`; + + setAttr ($blendShape+"."+$b) 0; + } + + ss2_blend_targetWeights_run $blendShape $blendShapeWeight 1 0 ; + + select $tapers; + +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_blend_targetWeights.mel b/2009-x64/StopStaring/scripts/ss2_blend_targetWeights.mel new file mode 100644 index 0000000..ac2e291 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_blend_targetWeights.mel @@ -0,0 +1,60 @@ +global proc ss2_blend_targetWeights (){ + print""; +} +print "ss2_blend_targetWeights : sourced\n"; + +proc ss2_blend_targetWeights_prep (){ + + //Make sure blend will work (without flooding, it can get confused) + ArtPaintBlendShapeWeightsToolOptions ; + artAttrInitPaintableAttr ; + artAttrPaintOperation artAttrCtx Add ; + artAttrCtx -e -value 1e-006 `currentCtx` ; + artAttrCtx -e -clear `currentCtx` ; + +} + +global proc ss2_blend_targetWeights_run (string $blendShape, string $blendShapeWeight[], int $inverse, int $copy){ + + ss2_blend_targetWeights_prep; + + int $numWeights = size($blendShapeWeight); + + float $weightVals[] = `getAttr ($blendShape+".inputTarget[0].inputTargetGroup[0].targetWeights")`; + + int $size = size($weightVals); + + for ($n = 0; $n < $numWeights; $n++){ + + if ($inverse && $n > 0){ + $weightVals = `getAttr ($blendShape+".inputTarget[0].inputTargetGroup[" + $n + "].targetWeights")`; + $size = size($weightVals); + } + + for ($i = 0; $i < $size; $i++) + $weightVals[$i] = clamp( 0, 1, $weightVals [ $i ] ); + + if ($inverse) + for ($i = 0; $i < $size; $i++) + $weightVals[$i] = 1 - $weightVals [ $i ]; + + for ($i = 0; $i < $size; $i++) + setAttr ( $blendShape + ".inputTarget[0].inputTargetGroup["+$n+"].targetWeights[" + $i + "]" ) $weightVals [ $i ]; + + } +} + + +global proc ss2_blend_targetWeights_shelf (string $copyOrInverse){ + + string $sel[] = `ls -sl`; + string $blendShape = `ss2_search_byType blendShape { $sel [ 0 ] }`; + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1 `; + + if ($copyOrInverse == "copy") + ss2_blend_targetWeights_run $blendShape $blendShapeWeight 0 1 ; + + if ($copyOrInverse == "inverse") + ss2_blend_targetWeights_run $blendShape $blendShapeWeight 1 0 ; + +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_controls.mel b/2009-x64/StopStaring/scripts/ss2_controls.mel new file mode 100644 index 0000000..39bb326 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_controls.mel @@ -0,0 +1,650 @@ +global proc ss2_controls (){ + print""; +} +print "ss2_controls : sourced.\n"; + +global proc ss2_controls_connectControl (string $blendShape, string $shape, string $frame, int $limit, string $position){ + + source generateChannelMenu; + + string $type = "unlimited"; + string $otherType = "limited"; + if ($limit){ + $type = "limited"; + $otherType = "unlimited"; + } + + //Check for existing connections to this shape from this control (try not to double-add) + string $prettyName = substring($frame,1,size($frame)-5); + + string $connectToAttr = `ss2_search_blendWeighted $type $blendShape $shape`; + string $relevantAttr = `ss2_search_blendWeighted $otherType $blendShape $shape`; + + string $tokens[]; + tokenize $connectToAttr "." $tokens; + string $connectTo = $tokens[0]; + tokenize $relevantAttr "." $tokens; + string $relevant = $tokens[0]; + + string $existingThisType[] = `listConnections -destination 0 $connectTo`; + string $existingOtherType[] = `listConnections -destination 0 $relevant`; + + int $doConnect = 1; + int $found = 0; + int $multiThis = 0; + int $multiThat = 0; + + if (size($existingThisType)) $found++; + if (size($existingOtherType)) $found++; + + for ($e in $existingThisType) + if ($e == $frame) + $multiThis++; + + for ($e in $existingOtherType) + if ($e == $frame) + $multiThat++; + + //Check if you want to REPLACE all connections with this one + if ($found){ + + string $replace = `confirmDialog -title "Stop Staring 2" -message ("Add to or Replace influence of all other controls?") -button "Add" -button "Replace" -button "Cancel" -dismissString "Cancel"`; + + switch ($replace){ + + case "Add": + if($multiThis){ + string $doubleConnect = `confirmDialog -title "Stop Staring 2" -message ("There is already at least one "+toupper($type)+" connection from "+$prettyName+" to "+$blendShape+"."+$shape) -button "Add anyways" -button "Cancel" -dismissString "Cancel"`; + if ($doubleConnect == "Cancel") $doConnect = 0; + }else if($multiThat){ + string $doubleConnect = `confirmDialog -title "Stop Staring 2" -message ("There is already at least one "+toupper($otherType)+" connection from "+$prettyName+" to "+$blendShape+"."+$shape) -button "Add anyways" -button "Cancel" -dismissString "Cancel"`; + if ($doubleConnect == "Cancel") $doConnect = 0; + } + break; + + case "Replace": + ss2_killAllIncoming $connectTo; + break; + + case "Cancel": + $doConnect = 0; + break; + + } + + } + + if ($doConnect) + connectAttr -f ($frame+"."+$position) $connectToAttr; + +} + +global proc ss2_controls_connectWin_refresh (string $blendShape, string $frame, int $blendOrFrame){ + + string $sel[] = `ls -sl`; + + if ($blendOrFrame){ + + int $found = 0; + + string $selectedBlends[] = `ls -type blendShape $sel`; + + if (`size($selectedBlends)`){ + + string $bufferPossible[] = `listConnections -type network $selectedBlends`; + + for ($bp in $bufferPossible) + if (`attributeExists ss2_blend_direct $bp`) + $found++; + + if (!$found) warning "ss2_controls_connectWin_refresh : you have an un-prepped blendShape selected. Only prepped blends can be connected to controls"; + } + + string $buffer = `ss2_search_byAttr "ss2_blend_direct" $sel`; + + string $grossSearch[] = `listConnections -type blendShape -source 0 $buffer`; + + if (!size($grossSearch)) error "ss2_controls_connectWin : no prepped blend found"; + + $blendShape = $grossSearch[0]; + + }else{ + $frame = `ss2_search_byAttr "ss2ControlType" $sel`; + } + + ss2_controls_connectWin $blendShape $frame; + +} + +global proc ss2_controls_connectWin (string $blendShape, string $frame){ + + string $sel[] = `ls -sl`; + + if (!size($blendShape)){ + + string $buffer = `ss2_search_byAttr "ss2_blend_direct" $sel`; + + if (!size($buffer)) error "ss2_controls_connectWin : no prepped blend found"; + + string $grossSearch[] = `listConnections -type blendShape -source 0 $buffer`; + + if (!size($grossSearch)) error "ss2_controls_connectWin : no prepped blend found"; + + $blendShape = $grossSearch[0]; + + } + + if (!size($frame)){ + $frame = `ss2_search_byAttr "ss2ControlType" $sel`; + if (!size($frame)) error "ss2_controls_connectWin : no control found"; + } + + int $frameSize = size($frame); + string $frameName = `substring $frame 1 ($frameSize-5)`; + + int $type = `getAttr ($frame+".ss2ControlType")`+1; + +//Make window and layout + if (`window -exists "ss2_controls_connectWin"`) deleteUI ss2_controls_connectWin; + window -title ($blendShape+" : "+$frameName) -widthHeight 210 105 ss2_controls_connectWin; + + string $main = `formLayout -numberOfDivisions 21`; + + //Blend list + string $listFrame = `frameLayout -label $blendShape -borderStyle etchedIn -parent $main`; + ss2_formLayer $main $listFrame {1,18,1,8}; + + string $listWidget = `formLayout -numberOfDivisions 10 -bgc .5 .5 .5 -parent $listFrame`; + string $list = `textScrollList -parent $listWidget`; + + ss2_formLayer $listWidget $list {1,10,0,10}; + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0`; + for ($b in $blendShapeWeight){ + textScrollList -e -append $b $list; + } + textScrollList -e -sii 1 $list; + + //Toggle *how* to add new controls into the mix + string $limit = `checkBox -label "limited" -v 1 -parent $listWidget`; + ss2_formLayer $listWidget $limit {0,1,0,10}; + + //Layouts to represent the controls + string $controlFrame = `frameLayout -label $frameName -borderStyle etchedIn -parent $main`; + string $ctrlWidget = `formLayout -numberOfDivisions 5 -bgc .5 .5 .5 -parent $controlFrame`; + ss2_formLayer $main $controlFrame {1,18,9,20}; + + string $refreshBlend = `button -label "change blend" -command ("ss2_controls_connectWin_refresh "+$blendShape+" "+$frame+" 1") -parent $main`; + string $refreshFrame = `button -label "change control" -command ("ss2_controls_connectWin_refresh "+$blendShape+" "+$frame+" 0") -parent $main`; + + ss2_formLayer $main $refreshBlend {18,20,1,8}; + ss2_formLayer $main $refreshFrame {18,20,9,20}; + + //Make the main command all the buttons call + string $command = ("string $shape[] = `textScrollList -q -si "+$list+"`; int $limit = `checkBox -q -v "+$limit+"`; ss2_controls_connectControl "+$blendShape+" $shape[0] "+$frame+" $limit "); + + string $n = `button -label "" -parent $ctrlWidget -command ($command+" vPos")`; + string $s = `button -label "" -parent $ctrlWidget -command ($command+" vNeg")`; + string $w = `button -label "" -parent $ctrlWidget -command ($command+" hNeg")`; + string $e = `button -label "" -parent $ctrlWidget -command ($command+" hPos")`; + string $nw = `button -label "" -parent $ctrlWidget -command ($command+" hNegVPos")`; + string $ne = `button -label "" -parent $ctrlWidget -command ($command+" hPosVPos")`; + string $sw = `button -label "" -parent $ctrlWidget -command ($command+" hNegVNeg")`; + string $se = `button -label "" -parent $ctrlWidget -command ($command+" hPosVNeg")`; + + ss2_formLayer $ctrlWidget $n {0,1,2,3}; + ss2_formLayer $ctrlWidget $s {4,5,2,3}; + ss2_formLayer $ctrlWidget $w {2,3,0,1}; + ss2_formLayer $ctrlWidget $e {2,3,4,5}; + ss2_formLayer $ctrlWidget $nw {0,1,0,1}; + ss2_formLayer $ctrlWidget $ne {0,1,4,5}; + ss2_formLayer $ctrlWidget $sw {4,5,0,1}; + ss2_formLayer $ctrlWidget $se {4,5,4,5}; + + switch($type){ + + case 1: + button -e -enable 0 -visible 0 $w; + button -e -enable 0 -visible 0 $e; + button -e -enable 0 -visible 0 $nw; + button -e -enable 0 -visible 0 $ne; + button -e -enable 0 -visible 0 $sw; + button -e -enable 0 -visible 0 $se; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {0,5,0,2}; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {0,5,3,5}; + break; + + case 2: + button -e -enable 0 -visible 0 $n; + button -e -enable 0 -visible 0 $s; + button -e -enable 0 -visible 0 $nw; + button -e -enable 0 -visible 0 $ne; + button -e -enable 0 -visible 0 $sw; + button -e -enable 0 -visible 0 $se; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {0,2,0,5}; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {3,5,0,5}; + break; + + case 3: + //Nothing needs to be hidden or masked + break; + + case 4: + button -e -enable 0 -visible 0 $s; + button -e -enable 0 -visible 0 $sw; + button -e -enable 0 -visible 0 $se; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {3,5,0,5}; + break; + + case 5: + button -e -enable 0 -visible 0 $s; + button -e -enable 0 -visible 0 $w; + button -e -enable 0 -visible 0 $nw; + button -e -enable 0 -visible 0 $sw; + button -e -enable 0 -visible 0 $se; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {0,5,0,2}; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {3,5,0,5}; + break; + + case 6: + button -e -enable 0 -visible 0 $n; + button -e -enable 0 -visible 0 $w; + button -e -enable 0 -visible 0 $e; + button -e -enable 0 -visible 0 $nw; + button -e -enable 0 -visible 0 $ne; + button -e -enable 0 -visible 0 $sw; + button -e -enable 0 -visible 0 $se; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {0,5,0,2}; + string $temp = `text -label "" -bgc 0 0 0 -enable 0 -parent $ctrlWidget`; + ss2_formLayer $ctrlWidget $temp {0,5,3,5}; + break; + + } + + showWindow ss2_controls_connectWin; + +} + + +proc string ss2_controls_generateNetwork (string $name, string $frame){ + + //Add network attributes + string $attrs[] = {"hCtrl","vCtrl","hPos","hNeg","vPos","vNeg","hPosVNeg","hPosVPos","hNegVNeg","hNegVPos"}; + + for ($a in $attrs) + addAttr -at double -k 1 -ln $a $frame; + + string $posClamp = `createNode clamp -name ($name+"_posClamp")`; + string $negClamp = `createNode clamp -name ($name+"_negClamp")`; + string $hPlusOneClamp = `createNode clamp -name ($name+"_hPlusOneClamp")`; + string $negMult = `createNode multiplyDivide -name ($name+"_negMult")`; + string $vPosMult = `createNode multiplyDivide -name ($name+"_vPosMult")`; + string $vNegMult = `createNode multiplyDivide -name ($name+"_vNegMult")`; + string $hPlusOne = `createNode plusMinusAverage -name ($name+"_hPlusOne")`; + + connectAttr -f ($frame+".hCtrl") ($negMult+".input1X") ; + connectAttr -f ($frame+".vCtrl") ($negMult+".input1Y") ; + + setAttr ($negMult+".input2") -1 -1 0; + connectAttr -f ($negMult+".outputX") ($negClamp+".inputR"); + connectAttr -f ($negMult+".outputY") ($negClamp+".inputG"); + + setAttr ($negClamp+".max") 1 1 0; + connectAttr -f ($negClamp+".outputR") ($frame+".hNeg"); + connectAttr -f ($negClamp+".outputG") ($frame+".vNeg"); + + setAttr ($hPlusOne+".input3D[1].input3Dx") 1; + setAttr ($hPlusOne+".input3D[1].input3Dy") 1; + connectAttr -f ($hPlusOne+".output3Dx") ($hPlusOneClamp+".inputR"); + connectAttr -f ($hPlusOne+".output3Dy") ($hPlusOneClamp+".inputG"); + connectAttr -f ($negMult+".outputX") ($hPlusOne+".input3D[0].input3Dy"); + connectAttr -f ($frame+".hCtrl") ($hPlusOne+".input3D[0].input3Dx"); + + setAttr ($hPlusOneClamp+".max") 1 1 0; + connectAttr -f ($hPlusOneClamp+".outputR") ($vNegMult+".input1X"); + connectAttr -f ($hPlusOneClamp+".outputG") ($vNegMult+".input1Y"); + connectAttr -f ($hPlusOneClamp+".outputR") ($vPosMult+".input1X"); + connectAttr -f ($hPlusOneClamp+".outputG") ($vPosMult+".input1Y"); + + setAttr ($posClamp+".max") 1 1 0; + connectAttr -f ($frame+".hCtrl") ($posClamp+".inputR"); + connectAttr -f ($frame+".vCtrl") ($posClamp+".inputG"); + connectAttr -f ($posClamp+".outputR") ($frame+".hPos"); + connectAttr -f ($posClamp+".outputG") ($frame+".vPos"); + + connectAttr -f ($frame+".vPos") ($vPosMult+".input2X"); + connectAttr -f ($frame+".vPos") ($vPosMult+".input2Y"); + + connectAttr -f ($vPosMult+".outputX") ($frame+".hPosVPos"); + connectAttr -f ($vPosMult+".outputY") ($frame+".hNegVPos"); + + connectAttr -f ($frame+".vNeg") ($vNegMult+".input2X"); + connectAttr -f ($frame+".vNeg") ($vNegMult+".input2Y"); + + connectAttr -f ($vNegMult+".outputX") ($frame+".hPosVNeg"); + connectAttr -f ($vNegMult+".outputY") ($frame+".hNegVNeg"); + + return $frame; + +} + + +proc string ss2_controls_generateFrame (string $name, int $type){ + + //Generate the group node all the frame will use + string $transform = `group -em -name ($name+"Frame")`; + + addAttr -ln ss2ControlType -at "enum" -en "A:B:C:D:E:F:" $transform; + setAttr -l 1 ($transform+".ss2ControlType") ($type-1); + + //This is a variable so I can recylce the same loop and increase the size of each frame curve + float $size = 1.0; + + //Make the frame curves + for ($i = 0; $i < 3; $i++){ + + //Make the curve + string $curve = `curve -d 1 -p (-1*$size) $size 0 -p $size $size 0 -p $size (-1*$size) 0 -p (-1*$size) (-1*$size) 0 -p (-1*$size) $size 0 -k 0 -k 2 -k 4 -k 6 -k 8`; + + //Get the shape node + string $children[] = `listRelatives -children -fullPath $curve`; + + //Instance the curve to the frame group node + string $newChild[] = `parent -add -s $children[0] $transform`; + + //Delete the curve transform, leaving just the instanced shape + delete $curve; + + //Set the display information + setAttr ($newChild[0]+".overrideEnabled") 1; + setAttr ($newChild[0]+".overrideDisplayType") 1; + + //Rename the shape to match it's parent + rename $newChild[0] ($transform+"Shape"+$i); + + //Increment the size for the next loop + $size = $size + .05; + + } + + //Create and resize text to fit over the control + string $text[] = `textCurves -ch 0 -f "Arial|h-1|w1|c0" -t $name`; + + float $bBox[] = `getAttr ($text[0]+".boundingBoxMax")`; + + scale (2.0/$bBox[0]) (0.5/$bBox[1]) 1 $text[0]; + + move -1.0 0.15 0 $text[0]; + + //Create a new parent for the text curves and instance them under it + string $textPrnt = `group -em -name ($name+"_label")`; + + //Ensure the text curves are going to cooperate + for ($t in $text){ + ss2_clearAttr $t "tx"; + ss2_clearAttr $t "ty"; + ss2_clearAttr $t "tz"; + } + + makeIdentity -apply true -t 1 -r 1 -s 1 $text[0]; + + //Instance the text curves under the textPrnt + select -hi $text[0]; + string $curves[] = `ls -sl -l -type nurbsCurve`; + + int $i = 0; + for ($c in $curves){ + string $nuShape[] = `parent -add -s $c ("|"+$textPrnt)`; + rename $nuShape[0] ($name+"_labelShape"+$i); + $i++; + } + + //Clean out the original text curves + delete $text; + + //Set the visibility to templated + setAttr ("|"+$textPrnt+".overrideEnabled") 1; + setAttr ("|"+$textPrnt+".overrideDisplayType") 1; + + //Clean up the hierarchy + parent ("|"+$textPrnt) $transform; + + return $transform; + +} + + +proc string ss2_controls_generateControl (string $name, string $frame){ + + string $control = `curve -d 3 -p -0.391806 0.391806 0 -p 0 0 0 -p 0.391806 0.391806 0 -p 0 0 0 -p 0.391806 -0.391806 0 -p 0 0 0 -p -0.391806 -0.391806 0 -p 0 0 0 -p -0.391806 0.391806 0 -p 0 0 0 -p 0.391806 0.391806 0 -k -1.108194 -k -0.554097 -k 0 -k 0.554097 -k 1.108194 -k 1.662291 -k 2.216388 -k 2.770485 -k 3.324583 -k 3.87868 -k 4.432777 -k 4.986874 -k 5.540971 -name $name`; + string $children[] = `listRelatives -children $control`; + + parent $control $frame; + reorder -front $control; + connectAttr ($control+".visibility") ($frame+".visibility"); + + setAttr -k 0 -l 1 ($control+".sx"); + setAttr -k 0 -l 1 ($control+".sy"); + setAttr -k 0 -l 1 ($control+".sz"); + setAttr -k 0 -l 1 ($control+".rx"); + setAttr -k 0 -l 1 ($control+".ry"); + setAttr -k 0 -l 1 ($control+".rz"); + setAttr -k 0 -l 1 ($control+".tz"); + setAttr -k 0 ($control+".visibility"); + + rename $children[0] ($name+"Shape"); + + return `rename $control ($name+"Ctrl")`; + +} + +proc ss2_controls_reshapeFrame (string $control, string $frame, int $type){ + + string $curves[] = `listRelatives -fullPath -type nurbsCurve -children $frame`; + string $label[] = `listRelatives -fullPath -type transform -children $frame`; + + + //Reshape the frame, and set the control's translate limits to correspond to the new shape + switch($type){ + + //Vertical Line + case 1: + + transformLimits -tx 0 0 -etx 1 1 $control; + transformLimits -ty -1 1 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + for ($c in $curves){ + + move -r 1 0 0 ($c+".cv[0]") ($c+".cv[3:4]"); + move -r -1 0 0 ($c+".cv[1:2]"); + + } + + move 0.0 1.078 0 $label[1]; + scale 0.5 0.5 1 $label[1]; + + break; + + //Horizontal Line + case 2: + + transformLimits -tx -1 1 -etx 1 1 $control; + transformLimits -ty 0 0 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + for ($c in $curves){ + + move -r 0 1 0 ($c+".cv[2:3]"); + move -r 0 -1 0 ($c+".cv[0:1]") ($c+".cv[4]"); + + } + + //move 0.0 1.078 0 $label[1]; + + break; + + //Square + case 3: + + transformLimits -tx -1 1 -etx 1 1 $control; + transformLimits -ty -1 1 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + move 0 1 0 $label[1]; + + break; + + //Top Half Square + case 4: + + transformLimits -tx -1 1 -etx 1 1 $control; + transformLimits -ty 0 1 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + for ($c in $curves) + move -r 0 1 0 ($c+".cv[2:3]"); + + move 0 1 0 $label[1]; + + break; + + //NE Quarter Square + case 5: + + transformLimits -tx 0 1 -etx 1 1 $control; + transformLimits -ty 0 1 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + for ($c in $curves){ + + move -r 0 1 0 ($c+".cv[2:3]"); + move -r 1 0 0 ($c+".cv[0]") ($c+".cv[3:4]"); + + } + + move 0.5 1.078 0 $label[1]; + scale 0.5 0.5 1 $label[1]; + + break; + + //Vertical Line, bottom only + case 6: + + transformLimits -tx 0 0 -etx 1 1 $control; + transformLimits -ty -1 0 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + for ($c in $curves){ + + move -r 1 0 0 ($c+".cv[0]") ($c+".cv[3:4]"); + move -r -1 0 0 ($c+".cv[1:2]"); + move -r 0 -1 0 ($c+".cv[0:1]") ($c+".cv[4]"); + + } + + move 0.0 0.078 0 $label[1]; + scale 0.5 0.5 1 $label[1]; + + break; + + //Square + default: + + transformLimits -tx -1 1 -etx 1 1 $control; + transformLimits -ty -1 1 -ety 1 1 $control; + transformLimits -tz 0 0 -etz 1 1 $control; + + move 0 1 0 $label[1]; + + break; + + } + +} + + +global proc string[] ss2_controls_makeControl (string $name, int $type, int $makeNetwork){ + + //Don't let folks get into too much trouble + string $preExisting[] = `ls ($name+"Frame") ($name+"Ctrl")`; + if (size($preExisting) > 0 ) + error ("ss2_controls_makeControl : A probable frame or control is already named with \""+$name+"\", not creating control"); + + //Create the visual and control elements + string $frame = `ss2_controls_generateFrame $name $type`; + string $control = `ss2_controls_generateControl $name $frame`; + + //Tweak the frame shape and control translate limits to match the desired "type" + ss2_controls_reshapeFrame $control $frame $type; + + addAttr -at message -ln keepMe $control; + connectAttr ($frame+".message") ($control+".keepMe"); + + //Create the node network and connections to make this control "work" + if ($makeNetwork){ + string $network = `ss2_controls_generateNetwork $name $frame`; + connectAttr ($control+".tx") ($network+".hCtrl"); + connectAttr ($control+".ty") ($network+".vCtrl"); + } + + select $frame; + return {$frame, $control}; + +} + +global proc ss2_controls_shelf (){ + + //Make window and layout + if (`window -exists "ss2_controlsWin"`) deleteUI ss2_controlsWin; + window -title "ss2_controls" -widthHeight 210 105 ss2_controlsWin; + + columnLayout; + frameLayout -label "Generate"; + columnLayout -adjustableColumn true; + + //Create the fields and radio buttons to read from when creating a control + string $name = `textFieldGrp -label "name" -text "controlName" -cw 1 50 -cw 2 150`; + + text -label "type" -align "center"; + + string $typeCollection = `radioCollection`; + + string $typeLayout = `rowLayout -numberOfColumns 6 -cw 1 35 -cw 2 35 -cw 3 35 -cw 4 35 -cw 5 35 -cw 6 35`; + + string $typeA = `radioButton -data 1 -label "A"`; + string $typeB = `radioButton -data 2 -label "B"`; + string $typeC = `radioButton -data 3 -label "C"`; + string $typeD = `radioButton -data 4 -label "D"`; + string $typeE = `radioButton -data 5 -label "E"`; + string $typeF = `radioButton -data 6 -label "F"`; + + radioCollection -e -select $typeC $typeCollection; + + setParent..; + + string $makeNetwork = `checkBoxGrp -label "make network" -v1 1 -cw 1 100 -cw 2 50`; + + string $command = ("string $radio = `radioCollection -q -select "+$typeCollection+"`; ss2_controls_makeControl `textFieldGrp -q -text "+$name+"` `radioButton -q -data $radio` `checkBoxGrp -q -v1 "+$makeNetwork+"`"); + + //This button launches the control creation + button -label "make control" -width 200 -command $command; + + setParent..;setParent..; + frameLayout -label "Connect"; + columnLayout -adjustableColumn true; + button -label "open slider connect" -width 208 -command "ss2_controls_connectWin \"\" \"\" "; + button -label "open shape limit" -width 208 -command "ss2_limitShape_shelf"; + + //Show the window + showWindow ss2_controlsWin; + +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_eyes.mel b/2009-x64/StopStaring/scripts/ss2_eyes.mel new file mode 100644 index 0000000..a1080b9 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_eyes.mel @@ -0,0 +1,564 @@ +global proc ss2_eyes (){ + print""; +} +print "ss2_eyes : sourced\n"; + +global proc string ss2_eyes_makeNet (){ + + string $sel[] = `ls -sl`; + string $network = `ss2_search_byAttr "ss2EyeNetwork" $sel`; + + if (size($network)){ + string $choice = `confirmDialog -title "Bad" -message "Eye network found; Creating another not recommended" -button "Make Anyways" -button "Cancel" -defaultButton "Cancel" -cancelButton "Cancel" -dismissString "Cancel"`; + if ($choice == "Cancel") error "ss2_eyes_makeNet : No network made"; + } + + string $prefixes[] = {"l","r"}; + + //CREATE + //Network + string $control = `createNode network -name "EyeControl"`; + addAttr -dt "string" -ln "ss2EyeNetwork"; + for ($p in $prefixes){ + string $blinkRange = `createNode setRange -name ($p+"BlinkRange")`; + //clamp + string $lwrLidPrePushClamp = `createNode clamp -name ($p+"LwrLidPrePushClamp")`; + string $lwrLidPushClamp = `createNode clamp -name ($p+"LwrLidPushClamp")`; + string $uprLidFinalPreBlinkClamp = `createNode clamp -name ($p+"UprLidFinalPreBlinkClamp")`; + //multiplyDivide + string $blinkMult = `createNode multiplyDivide -name ($p+"BlinkMult")`; + string $spreadNegative = `createNode multiplyDivide -name ($p+"SpreadNegative")`; + string $uprLidNegative = `createNode multiplyDivide -name ($p+"UprLidNegative")`; + string $eyeAimWeight = `createNode multiplyDivide -name ($p+"EyeAimWeight")`; + string $eyeAimMult = `createNode multiplyDivide -name ($p+"EyeAimMult")`; + string $eyeCtrlWeight = `createNode multiplyDivide -name ($p+"EyeCtrlWeight")`; + string $eyeCtrlMult = `createNode multiplyDivide -name ($p+"EyeCtrlMult")`; + string $eyelidsLeftRightFolo = `createNode multiplyDivide -name ($p+"EyelidsLeftRightFolo")`; + string $lidsUpDnAct = `createNode multiplyDivide -name ($p+"LidsUpDnAct")`; + string $lidsUpDnFolo = `createNode multiplyDivide -name ($p+"LidsUpDnFolo")`; + //blendWeighted + string $corneaPush = `createNode blendWeighted -name ($p+"CorneaPush")`; + string $eyeLeftRightAddInputs = `createNode blendWeighted -name ($p+"EyeLeftRightAddInputs")`; + string $eyeUpDnAddInputs = `createNode blendWeighted -name ($p+"EyeUpDnAddInputs")`; + string $lidDifference = `createNode blendWeighted -name ($p+"LidDifference")`; + string $lwrLidAndSpread = `createNode blendWeighted -name ($p+"LwrLidAndSpread")`; + string $lwrLidFinalAdd = `createNode blendWeighted -name ($p+"LwrLidFinalAdd")`; + string $uprLidFinalAdd = `createNode blendWeighted -name ($p+"UprLidFinalAdd")`; + string $uprLidFinalAddWBlink = `createNode blendWeighted -name ($p+"UprLidFinalAddWBlink")`; + string $uprLidFinalClampMaxAdd = `createNode blendWeighted -name ($p+"UprLidFinalClampMaxAdd")`; + string $uprLidFinalClampMinAdd = `createNode blendWeighted -name ($p+"UprLidFinalClampMinAdd")`; + string $uprLimAndSpreadAndPush = `createNode blendWeighted -name ($p+"UprLimAndSpreadAndPush")`; + string $uprLimAndSpreadAndPush1 = `createNode blendWeighted -name ($p+"UprLimAndSpreadAndPush1")`; + + //Add ATTRS to CONTROL + addAttr -k 1 -ln ($p+"Inputs") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeCtrlUpDnIn") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeCtrlLeftRightIn") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeAimUpDnIn") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeAimLeftRightIn") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidUpDnIn") -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidUpDnIn") -at "double" $control; + addAttr -k 1 -ln ($p+"CtrlWeight") -dv 1 -min 0 -max 1 -at "double" $control; + addAttr -k 1 -ln ($p+"AimWeight") -dv 1 -min 0 -max 1 -at "double" $control; + addAttr -k 1 -ln ($p+"Outputs") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeUpDnOut") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeLeftRightOut") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidUpDnOut") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidLeftRightOut") -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidUpDnOut") -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidLeftRightOut") -at "double" $control; + addAttr -k 1 -ln ($p+"InputMultipliers") -at "double" $control; + addAttr -k 1 -ln ($p+"EyeCtrlUpDnInMult") -dv -30 -at "double" $control; + addAttr -k 1 -ln ($p+"EyeCtrlLeftRightInMult") -dv 30 -at "double" $control; + addAttr -k 1 -ln ($p+"EyeAimUpDnInMult") -dv 1 -at "double" $control; + addAttr -k 1 -ln ($p+"EyeAimLeftRightInMult") -dv 1 -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidUpDnInMult") -dv -70 -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidUpDnInMult") -dv -70 -at "double" $control; + addAttr -k 1 -ln ($p+"Variables") -at "double" $control; + addAttr -k 1 -ln ($p+"SpreadVar") -dv 50 -at "double" $control; + addAttr -k 1 -ln ($p+"CorneaPushVar") -dv -5 -at "double" $control; + addAttr -k 1 -ln ($p+"CorneaPushWeightVar") -dv 1 -min 0 -max 1 -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidUpLimVar") -dv -30 -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidDnLimVar") -dv 15 -at "double" $control; + addAttr -k 1 -ln ($p+"UprUpDnFoloMultVar") -dv 0.95 -at "double" $control; + addAttr -k 1 -ln ($p+"LwrUpDnFoloMultVar") -dv 0.3 -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLeftRightFoloMultVar") -dv 0.2 -at "double" $control; + addAttr -k 1 -ln ($p+"UprLeftRightFoloMultVar") -dv 0.2 -at "double" $control; + addAttr -k 1 -ln ($p+"BlinkLineVar") -dv 40 -at "double" $control; + addAttr -k 1 -ln ($p+"Intermediates") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidUpDnFoloInt") -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidUpDnFoloInt") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidUpDnActInt") -at "double" $control; + addAttr -k 1 -ln ($p+"LwrLidUpDnActInt") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidBlinkInt") -at "double" $control; + addAttr -k 1 -ln ($p+"UprLidPreBlinkInt") -at "double" $control; + addAttr -k 1 -ln ($p+"OffsetInt") -at "double" $control; + + //SET ATTRS on CONTROL + setAttr -l 1 ($control+"."+$p+"Inputs"); + setAttr -l 1 ($control+"."+$p+"Outputs"); + setAttr -l 1 ($control+"."+$p+"InputMultipliers"); + setAttr -l 1 ($control+"."+$p+"Variables"); + setAttr -l 1 ($control+"."+$p+"Intermediates"); + + setAttr ($spreadNegative+".i2x") -1; + setAttr ($uprLidNegative+".i2x") -1; + //setAttr ($corneaPush+".weight[0]") 0.5; + + //CONNECT all attrs + connectAttr -f ($control+"."+$p+"CorneaPushWeightVar") ($corneaPush+".weight[0]"); + connectAttr -f ($control+"."+$p+"CorneaPushWeightVar") ($corneaPush+".weight[1]"); + connectAttr -f ($control+"."+$p+"EyeAimUpDnIn") ($eyeAimMult+".i1x"); + connectAttr -f ($control+"."+$p+"EyeAimLeftRightIn") ($eyeAimMult+".i1y"); + connectAttr -f ($control+"."+$p+"EyeAimUpDnInMult") ($eyeAimMult+".i2x"); + connectAttr -f ($control+"."+$p+"EyeAimLeftRightInMult") ($eyeAimMult+".i2y"); + connectAttr -f ($eyeAimMult+".ox") ($eyeAimWeight+".i1x"); + connectAttr -f ($eyeAimMult+".oy") ($eyeAimWeight+".i1y"); + connectAttr -f ($eyeAimWeight+".ox") ($eyeUpDnAddInputs+".i[1]"); + connectAttr -f ($control+"."+$p+"AimWeight") ($eyeAimWeight+".i2x"); + connectAttr -f ($control+"."+$p+"AimWeight") ($eyeAimWeight+".i2y"); + connectAttr -f ($control+"."+$p+"UprUpDnFoloMultVar") ($lidsUpDnFolo+".i2x"); + connectAttr -f ($control+"."+$p+"LwrUpDnFoloMultVar") ($lidsUpDnFolo+".i2y"); + connectAttr -f ($control+"."+$p+"EyeUpDnOut") ($lidsUpDnFolo+".i1x"); + connectAttr -f ($control+"."+$p+"EyeUpDnOut") ($lidsUpDnFolo+".i1y"); + connectAttr -f ($eyeUpDnAddInputs+".o")($control+"."+$p+"EyeUpDnOut"); + connectAttr -f ($eyeLeftRightAddInputs+".o")($control+"."+$p+"EyeLeftRightOut"); + connectAttr -f ($uprLidFinalAddWBlink+".o")($control+"."+$p+"UprLidUpDnOut"); + connectAttr -f ($eyelidsLeftRightFolo+".ox")($control+"."+$p+"UprLidLeftRightOut"); + connectAttr -f ($lwrLidPrePushClamp+".opr")($control+"."+$p+"LwrLidUpDnOut"); + connectAttr -f ($eyelidsLeftRightFolo+".oy")($control+"."+$p+"LwrLidLeftRightOut"); + connectAttr -f ($lidsUpDnFolo+".ox")($control+"."+$p+"UprLidUpDnFoloInt"); + connectAttr -f ($lidsUpDnFolo+".oy")($control+"."+$p+"LwrLidUpDnFoloInt"); + connectAttr -f ($lidsUpDnAct+".ox")($control+"."+$p+"UprLidUpDnActInt"); + connectAttr -f ($lidsUpDnAct+".oy")($control+"."+$p+"LwrLidUpDnActInt"); + connectAttr -f ($blinkMult+".ox")($control+"."+$p+"UprLidBlinkInt"); + connectAttr -f ($uprLidFinalPreBlinkClamp+".opr")($control+"."+$p+"UprLidPreBlinkInt"); + connectAttr -f ($eyeCtrlWeight+".oy") ($eyeUpDnAddInputs+".i[0]"); + connectAttr -f ($control+"."+$p+"CtrlWeight") ($eyeCtrlWeight+".i2x"); + connectAttr -f ($control+"."+$p+"CtrlWeight") ($eyeCtrlWeight+".i2y"); + connectAttr -f ($eyeCtrlMult+".ox") ($eyeCtrlWeight+".i1x"); + connectAttr -f ($eyeCtrlMult+".oy") ($eyeCtrlWeight+".i1y"); + connectAttr -f ($control+"."+$p+"EyeCtrlLeftRightInMult") ($eyeCtrlMult+".i2x"); + connectAttr -f ($control+"."+$p+"EyeCtrlUpDnInMult") ($eyeCtrlMult+".i2y"); + connectAttr -f ($control+"."+$p+"EyeCtrlLeftRightIn") ($eyeCtrlMult+".i1x"); + connectAttr -f ($control+"."+$p+"EyeCtrlUpDnIn") ($eyeCtrlMult+".i1y"); + connectAttr -f ($uprLidFinalAdd+".o") ($uprLidFinalPreBlinkClamp+".ipr"); + connectAttr -f ($uprLidFinalClampMaxAdd+".o") ($uprLidFinalPreBlinkClamp+".mxr"); + connectAttr -f ($uprLidFinalClampMinAdd+".o") ($uprLidFinalPreBlinkClamp+".mnr"); + connectAttr -f ($control+"."+$p+"UprLidUpDnFoloInt") ($uprLidFinalAdd+".i[0]"); + connectAttr -f ($control+"."+$p+"UprLidUpDnActInt") ($uprLidFinalAdd+".i[1]"); + connectAttr -f ($control+"."+$p+"UprLidUpDnInMult") ($lidsUpDnAct+".i2x"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnInMult") ($lidsUpDnAct+".i2y"); + connectAttr -f ($control+"."+$p+"UprLidUpDnIn") ($lidsUpDnAct+".i1x"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnIn") ($lidsUpDnAct+".i1y"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnOut") ($uprLidFinalClampMaxAdd+".i[0]"); + connectAttr -f ($control+"."+$p+"SpreadVar") ($uprLidFinalClampMaxAdd+".i[1]"); + connectAttr -f ($uprLimAndSpreadAndPush1+".o") ($lwrLidPrePushClamp+".ipr"); + connectAttr -f ($control+"."+$p+"LwrLidDnLimVar") ($lwrLidPrePushClamp+".mxr"); + connectAttr -f ($uprLimAndSpreadAndPush+".o") ($lwrLidPrePushClamp+".mnr"); + connectAttr -f ($lwrLidFinalAdd+".o") ($uprLimAndSpreadAndPush1+".i[0]"); + connectAttr -f ($lwrLidPushClamp+".opr") ($uprLimAndSpreadAndPush1+".i[1]"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnFoloInt") ($lwrLidFinalAdd+".i[0]"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnActInt") ($lwrLidFinalAdd+".i[1]"); + connectAttr -f ($corneaPush+".o") ($lwrLidPushClamp+".mnr"); + connectAttr -f ($control+"."+$p+"EyeUpDnOut") ($corneaPush+".i[0]"); + connectAttr -f ($control+"."+$p+"CorneaPushVar") ($corneaPush+".i[1]"); + connectAttr -f ($control+"."+$p+"UprLidUpLimVar") ($uprLimAndSpreadAndPush+".i[0]"); + connectAttr -f ($spreadNegative+".ox") ($uprLimAndSpreadAndPush+".i[1]"); + connectAttr -f ($control+"."+$p+"SpreadVar") ($spreadNegative+".i1x"); + connectAttr -f ($control+"."+$p+"UprLidUpLimVar") ($uprLidFinalClampMinAdd+".i[0]"); + connectAttr -f ($control+"."+$p+"SpreadVar") ($lidDifference+".i[0]"); + connectAttr -f ($uprLidNegative+".ox") ($lidDifference+".i[1]"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnOut") ($lidDifference+".i[2]"); + connectAttr -f ($control+"."+$p+"UprLidPreBlinkInt") ($uprLidNegative+".i1x"); + connectAttr -f ($eyeCtrlWeight+".ox") ($eyeLeftRightAddInputs+".i[0]"); + connectAttr -f ($eyeAimWeight+".oy") ($eyeLeftRightAddInputs+".i[1]"); + connectAttr -f ($control+"."+$p+"OffsetInt") ($eyeLeftRightAddInputs+".i[2]"); + connectAttr -f ($control+"."+$p+"UprLidUpDnActInt") ($blinkRange+".vx"); + connectAttr -f ($lwrLidAndSpread+".o") ($blinkRange+".omx"); + connectAttr -f ($control+"."+$p+"BlinkLineVar") ($blinkRange+".onx"); + connectAttr -f ($control+"."+$p+"LwrLidUpDnOut") ($lwrLidAndSpread+".i[0]"); + connectAttr -f ($control+"."+$p+"SpreadVar") ($lwrLidAndSpread+".i[1]"); + connectAttr -f ($control+"."+$p+"UprLidPreBlinkInt") ($uprLidFinalAddWBlink+".i[0]"); + connectAttr -f ($control+"."+$p+"UprLidBlinkInt") ($uprLidFinalAddWBlink+".i[1]"); + connectAttr -f ($blinkRange+".ox") ($blinkMult+".i1x"); + connectAttr -f ($lidDifference+".o") ($blinkMult+".i2x"); + connectAttr -f ($control+"."+$p+"UprLeftRightFoloMultVar") ($eyelidsLeftRightFolo+".i2x"); + connectAttr -f ($control+"."+$p+"LwrLeftRightFoloMultVar") ($eyelidsLeftRightFolo+".i2y"); + connectAttr -f ($control+"."+$p+"EyeLeftRightOut") ($eyelidsLeftRightFolo+".i1x"); + connectAttr -f ($control+"."+$p+"EyeLeftRightOut") ($eyelidsLeftRightFolo+".i1y"); + } + + select $sel; + return $control; +} + + +proc ss2_eyes_populateInputs (string $attr, string $mult, string $label, string $parent, string $network){ + + string $transforms[] = {"tx","ty","tz","rx","ry","rz"}; + string $mainframe = `frameLayout -label $label -w 190 -parent $parent`; + string $c = `columnLayout -w 185 -parent $mainframe`; + string $textField = `textFieldButtonGrp -editable 0 -cw 1 50 -cw 2 95 -cw 3 35 -label "node" -buttonLabel "select" -parent $c`; + string $subFrame = `frameLayout -borderStyle "etchedIn" -labelVisible 0 -w 185 -parent $c`; + string $r = `rowColumnLayout -nc 6 -w 180 -cw 1 30 -cw 2 30 -cw 3 30 -cw 4 30 -cw 5 30 -cw 6 30 -parent $subFrame`; + + string $cons[]; + if (`objExists $network`) + $cons = `listConnections -scn 1 -destination 0 -plugs 1 ($network+"."+$attr)`; + + string $matchAttr = ""; + + textFieldButtonGrp -e -buttonCommand ("string $sel[] = `ls -sl -type transform`; textFieldButtonGrp -e -text $sel[0] "+$textField+";") $textField; + + if (size($cons)){ + string $tokens[]; + tokenize $cons[0] "." $tokens; + textFieldButtonGrp -e -text $tokens[0] $textField; + $matchAttr = $tokens[1]; + string $temp1 = `substring $matchAttr 1 1`; + string $temp2 = `substring $matchAttr (size($matchAttr)) (size($matchAttr))`; + $matchAttr = `tolower($temp1+$temp2)`; + } + + for ($i=0; $i <6; $i++){ + + if ($matchAttr == $transforms[$i]){ + button -label `toupper($transforms[$i])` -bgc 1.0 0.5 0.5 -command ("string $obj = `textFieldGrp -q -text "+$textField+"`; connectAttr -f ($obj+\"."+$transforms[$i]+"\") \""+$network+"."+$attr+"\";ss2_eyes") -parent $r; + }else{ + button -label $transforms[$i] -command ("string $obj = `textFieldGrp -q -text "+$textField+"`; connectAttr -f ($obj+\"."+$transforms[$i]+"\") \""+$network+"."+$attr+"\";ss2_eyes") -parent $r; + } + } + if (size($mult)){ + string $ff = `floatFieldGrp -cw 1 100 -cw 2 50 -nf 1 -label "multiplier" -parent $c`; + connectControl -index 2 $ff ($network+"."+$mult); + } +} + +proc ss2_eyes_populateOutputs (string $attr, string $label, string $parent, string $network){ + + string $transforms[] = {"tx","ty","tz","rx","ry","rz"}; + string $mainframe = `frameLayout -label $label -w 190 -parent $parent`; + string $c = `columnLayout -w 185 -parent $mainframe`; + string $textField = `textFieldButtonGrp -editable 0 -cw 1 50 -cw 2 95 -cw 3 35 -label "node" -buttonLabel "select" -parent $c`; + string $subFrame = `frameLayout -borderStyle "etchedIn" -labelVisible 0 -w 185 -parent $c`; + string $r = `rowColumnLayout -nc 6 -w 180 -cw 1 30 -cw 2 30 -cw 3 30 -cw 4 30 -cw 5 30 -cw 6 30 -parent $subFrame`; + string $subFrame2 = `frameLayout -borderStyle "etchedIn" -labelVisible 0 -w 185 -parent $c`; + string $r2 = `rowColumnLayout -nc 2 -w 180 -cw 1 90 -cw 2 90 -parent $subFrame2`; + + string $cons[]; + if (`objExists $network`) + $cons = `listConnections -scn 1 -type transform -plugs 1 ($network+"."+$attr)`; + + string $matchAttr = ""; + + textFieldButtonGrp -e -buttonCommand ("string $sel[] = `ls -sl -type transform`; textFieldButtonGrp -e -text $sel[0] "+$textField+";") $textField; + + if (size($cons)){ + string $tokens[]; + tokenize $cons[0] "." $tokens; + textFieldButtonGrp -e -text $tokens[0] $textField; + $matchAttr = $tokens[1]; + string $temp1 = `substring $matchAttr 1 1`; + string $temp2 = `substring $matchAttr (size($matchAttr)) (size($matchAttr))`; + $matchAttr = `tolower($temp1+$temp2)`; + } + + for ($i=0; $i <6; $i++){ + + if ($matchAttr == $transforms[$i]){ + button -label `toupper($transforms[$i])` -bgc 1.0 0.5 0.5 -command ("string $obj = `textFieldGrp -q -text "+$textField+"`; connectAttr -f \""+$network+"."+$attr+"\" ($obj+\"."+$transforms[$i]+"\") ;ss2_eyes") -parent $r; + }else{ + button -label $transforms[$i] -command ("string $obj = `textFieldGrp -q -text "+$textField+"`; connectAttr -f \""+$network+"."+$attr+"\" ($obj+\"."+$transforms[$i]+"\") ;ss2_eyes") -parent $r; + } + } + + string $command; + $command += ("string $cons[] = `listConnections -scn 1 -source 0 -plugs 1 \""+$network+"."+$attr+"\"`;"); + $command += ("select $cons;ss2_eyes_shelf"); + button -label "select ALL" -w 185 -h 18 -command $command -parent $r2; + + string $command = ""; + $command += ("string $cons[] = `listConnections -scn 1 -source 0 -plugs 1 \""+$network+"."+$attr+"\"`;"); + $command += ("for ($c in $cons) disconnectAttr \""+$network+"."+$attr+"\" $c;"); + $command += "ss2_eyes"; + button -label "break ALL" -w 185 -h 18 -command $command -parent $r2; +} + + +proc ss2_eyes_populateVariables (string $attr, string $label, string $parent, string $network){ + + string $ff = `floatFieldGrp -cw 1 140 -cw 2 40 -nf 1 -label $label -parent $parent`; + connectControl -index 2 $ff ($network+"."+$attr); + +} + +proc ss2_eyes_generate_barf (string $barf[]){ + + string $match; + + for ($b in $barf){ + if (`objExists $b` || `objExists ($b+"Ctrl")` || `objExists ($b+"Frame")`){ + $match += (" "+$b); + } + } + if (size($match)){ + confirmDialog -title "Bad" -message ("Cannot generate network until you rename or delete all these objects or controls :"+$match) -button "OK"; + error ("Cannot generate network until you rename or delete all these objects or controls :"+$match); + } +} + +global proc ss2_eyes_generate (int $diverge){ + + source generateChannelMenu; + + string $checks[] = {"lEye","rEye","lUprLid","rUprLid","rLwrLid", "eyeWeight"}; + + if ($diverge) + $checks = {"eyes","diverge","lUprLid","rUprLid","rLwrLid", "eyeWeight"}; + + ss2_eyes_generate_barf $checks; + + string $network = `ss2_eyes_makeNet`; + + string $lAimer[] = `spaceLocator -name "lEyeAim"`; + string $rAimer[] = `spaceLocator -name "rEyeAim"`; + + string $lAimTarget[] = `spaceLocator -name "lEyeAimTarget"`; + string $rAimTarget[] = `spaceLocator -name "rEyeAimTarget"`; + + string $lUprLidControl[] = `ss2_controls_makeControl "lUprLid" 1 0`; + string $lLwrLidControl[] = `ss2_controls_makeControl "lLwrLid" 1 0`; + string $rUprLidControl[] = `ss2_controls_makeControl "rUprLid" 1 0`; + string $rLwrLidControl[] = `ss2_controls_makeControl "rLwrLid" 1 0`; + string $weight[] = `ss2_controls_makeControl "ctrl+aim" 2 1`; + + //Tweak "weight" to work special-like + string $con[] = `listConnections ($weight[0]+".hPosVPos")`; + CBdeleteConnection ($con[0]+".i2x"); + CBdeleteConnection ($con[0]+".i2y"); + setAttr ($con[0]+".i2") 1 1 1; + + string $group[]; + + if ($diverge){ + + string $eyesControl[] = `ss2_controls_makeControl "eyes" 3 0`; + string $divergeControl[] = `ss2_controls_makeControl "diverge" 2 0`; + string $divergeMult = `createNode multiplyDivide -name "divergeMult"`; + + setAttr ($divergeMult+".i2") 70.0 -70.0 0.0; + + connectAttr -f ($divergeControl[1]+".tx") ($divergeMult+".i1x"); + connectAttr -f ($divergeControl[1]+".tx") ($divergeMult+".i1y"); + + connectAttr -f ($divergeMult+".ox") ($network+".lOffsetInt"); + connectAttr -f ($divergeMult+".oy") ($network+".rOffsetInt"); + + connectAttr -f ($eyesControl[1]+".tx") ($network+".lEyeCtrlLeftRightIn"); + connectAttr -f ($eyesControl[1]+".ty") ($network+".lEyeCtrlUpDnIn"); + connectAttr -f ($eyesControl[1]+".ty") ($network+".rEyeCtrlUpDnIn"); + connectAttr -f ($eyesControl[1]+".tx") ($network+".rEyeCtrlLeftRightIn"); + + setAttr ($eyesControl[0]+".t") 1.25 0.75 0.0; + setAttr ($divergeControl[0]+".t") 1.25 -1.0 0.0; + + group -name "ss2Eyes" {$lAimer[0], $rAimer[0], $lAimTarget[0], $rAimTarget[0], $eyesControl[0], $divergeControl[0], $lUprLidControl[0], $rUprLidControl[0], $lLwrLidControl[0], $rLwrLidControl[0], $weight[0]}; + + }else{ + + string $lEyeControl[] = `ss2_controls_makeControl "lEye" 3 0`; + string $rEyeControl[] = `ss2_controls_makeControl "rEye" 3 0`; + + connectAttr -f ($lEyeControl[1]+".tx") ($network+".lEyeCtrlLeftRightIn"); + connectAttr -f ($lEyeControl[1]+".ty") ($network+".lEyeCtrlUpDnIn"); + connectAttr -f ($rEyeControl[1]+".ty") ($network+".rEyeCtrlUpDnIn"); + connectAttr -f ($rEyeControl[1]+".tx") ($network+".rEyeCtrlLeftRightIn"); + + setAttr ($lEyeControl[0]+".t") 2.5 0 0; + + group -name "ss2Eyes" {$lAimer[0], $rAimer[0], $lAimTarget[0], $rAimTarget[0], $lEyeControl[0], $rEyeControl[0], $lUprLidControl[0], $rUprLidControl[0], $lLwrLidControl[0], $rLwrLidControl[0], $weight[0]}; + } + + connectAttr -f ($lAimer[0]+".rx") ($network+".lEyeAimUpDnIn"); + connectAttr -f ($lAimer[0]+".ry") ($network+".lEyeAimLeftRightIn"); + + connectAttr -f ($rAimer[0]+".rx") ($network+".rEyeAimUpDnIn"); + connectAttr -f ($rAimer[0]+".ry") ($network+".rEyeAimLeftRightIn"); + + connectAttr -f ($lUprLidControl[1]+".ty") ($network+".lUprLidUpDnIn"); + connectAttr -f ($rUprLidControl[1]+".ty") ($network+".rUprLidUpDnIn"); + + connectAttr -f ($lLwrLidControl[1]+".ty") ($network+".lLwrLidUpDnIn"); + connectAttr -f ($rLwrLidControl[1]+".ty") ($network+".rLwrLidUpDnIn"); + + connectAttr -f ($weight[0]+".hNegVPos") ($network+".lCtrlWeight"); + connectAttr -f ($weight[0]+".hNegVPos") ($network+".rCtrlWeight"); + + connectAttr -f ($weight[0]+".hPosVPos") ($network+".lAimWeight"); + connectAttr -f ($weight[0]+".hPosVPos") ($network+".rAimWeight"); + + setAttr ($lUprLidControl[0]+".t") 0.5 -2.5 0; + setAttr ($rUprLidControl[0]+".t") -0.5 -2.5 0; + setAttr ($lLwrLidControl[0]+".t") 3 -2.5 0; + setAttr ($rLwrLidControl[0]+".t") 2 -2.5 0; + setAttr ($weight[0]+".t") 5 -1.5 0; + + setAttr ($lAimer[0]+".t") -2.5 0 0; + setAttr ($rAimer[0]+".t") -5.0 0 0; + + setAttr ($lAimTarget[0]+".t") -2.5 0 5; + setAttr ($rAimTarget[0]+".t") -5.0 0 5; + + aimConstraint -offset 0 0 0 -weight 1 -aimVector 0 0 1 -upVector 0 1 0 -worldUpType "scene" $lAimTarget[0] $lAimer[0]; + aimConstraint -offset 0 0 0 -weight 1 -aimVector 0 0 1 -upVector 0 1 0 -worldUpType "scene" $rAimTarget[0] $rAimer[0]; + + setAttr ($weight[1]+".ty") 1; + +} + +global proc ss2_eyes_copyStuff (string $type, string $network, string $from, string $to){ + + string $attrs[]; + switch ($type){ + case "input": + $attrs = {"EyeCtrlUpDnIn","EyeCtrlLeftRightIn","EyeAimUpDnIn","EyeAimLeftRightIn","UprLidUpDnIn","LwrLidUpDnIn","CtrlWeight","AimWeight"}; + for ($a in $attrs){ + string $cons[] = `listConnections -scn 1 -type transform -plugs 1 ($network+"."+$from+$a)`; + if (size($cons)) + connectAttr $cons[0] ($network+"."+$to+$a); + } + break; + case "variable": + $attrs = {"SpreadVar","CorneaPushVar","UprLidUpLimVar","LwrLidDnLimVar","UprUpDnFoloMultVar","UprLeftRightFoloMultVar","LwrUpDnFoloMultVar","LwrLeftRightFoloMultVar","BlinkLineVar"}; + for ($a in $attrs) + setAttr ($network+"."+$to+$a) `getAttr ($network+"."+$from+$a)`; + break; + case "multiplier": + $attrs = {"EyeCtrlUpDnInMult","EyeCtrlLeftRightInMult","EyeAimUpDnInMult","EyeAimLeftRightInMult","UprLidUpDnInMult","LwrLidUpDnInMult"}; + for ($a in $attrs) + setAttr ($network+"."+$to+$a) `getAttr ($network+"."+$from+$a)`; + break; + } +} + +global proc ss2_eyes_shelf (){ + + string $sel[] = `ls -sl`; + string $network = `ss2_search_byAttr "ss2EyeNetwork" $sel`; + string $winTitle; + if (size($network)){ + $winTitle = ("ss2_eyes : "+$network); + }else{ + $winTitle = ("ss2_eyes : No network loaded"); + } + + if (`window -exists "ss2_eyesWin"`) deleteUI ss2_eyesWin; + window -title $winTitle -widthHeight 210 105 -menuBar 1 ss2_eyesWin; + +//This was way crashy +// scriptJob -event "SceneOpened" "ss2_eyes" -parent ss2_eyesWin; +// scriptJob -event "NewSceneOpened" "ss2_eyes" -parent ss2_eyesWin; + + menu -label "Create"; + menuItem -label "generate eye network only" -command "select `ss2_eyes_makeNet`;ss2_eyes_shelf"; + menuItem -label "generate eye network and controls" -command "ss2_eyes_generate 0;ss2_eyes_shelf"; + menuItem -label "generate eye network and controls (diverge)" -command "ss2_eyes_generate 1;ss2_eyes_shelf"; + menu -label "Utils"; + menuItem -label "refresh this window" -command "ss2_eyes"; + menuItem -divider 1; + menuItem -label "copy left inputs to right" -command ("ss2_eyes_copyStuff \"input\" \""+$network+"\" \"l\" \"r\";ss2_eyes_shelf;"); + menuItem -label "copy left multipliers to right" -command ("ss2_eyes_copyStuff \"multiplier\" \""+$network+"\" \"l\" \"r\";ss2_eyes_shelf;"); + menuItem -label "copy left variables to right" -command ("ss2_eyes_copyStuff \"variable\" \""+$network+"\" \"l\" \"r\";ss2_eyes_shelf;"); + menuItem -label "copy ALL left to right" -command ("ss2_eyes_copyStuff \"input\" \""+$network+"\" \"l\" \"r\";ss2_eyes_copyStuff \"multiplier\" \""+$network+"\" \"l\" \"r\";ss2_eyes_copyStuff \"variable\" \""+$network+"\" \"l\" \"r\";ss2_eyes_Shelf;"); + menuItem -divider 1; + menuItem -label "copy right inputs to left" -command ("ss2_eyes_copyStuff \"input\" \""+$network+"\" \"r\" \"l\";ss2_eyes_shelf;"); + menuItem -label "copy right multipliers to left" -command ("ss2_eyes_copyStuff \"multiplier\" \""+$network+"\" \"r\" \"l\";ss2_eyes_shelf;"); + menuItem -label "copy right variables to left" -command ("ss2_eyes_copyStuff \"variable\" \""+$network+"\" \"r\" \"l\";ss2_eyes_shelf;"); + menuItem -label "copy ALL right to left" -command ("ss2_eyes_copyStuff \"input\" \""+$network+"\" \"r\" \"l\";ss2_eyes_copyStuff \"multiplier\" \""+$network+"\" \"r\" \"l\";ss2_eyes_copyStuff \"variable\" \""+$network+"\" \"r\" \"l\";ss2_eyes_shelf;"); + + string $m = `rowLayout -nc 4 -cw 1 195 -cw 2 210 -cw 3 195 -cw 4 195`; + + if (`objExists $network`){ + menu -label ("Loaded : "+$network); + menuItem -label ("select "+$network) -command ("select "+$network); + menuItem -label ("open connection editor") -command ("ConnectionEditor; select "+$network+"; connectWindowFillFromActiveList 0; connectWindowFillFromActiveList 1;"); + }else{ + menu -label "No network loaded"; + rowLayout -edit -enable 0 $m; + } + + string $l = `columnLayout -parent $m`; + frameLayout -label "Left Inputs" -w 190 -h 20; + ss2_eyes_populateInputs "lEyeCtrlUpDnIn" "lEyeCtrlUpDnInMult" "L eye control up/down" $l $network; + ss2_eyes_populateInputs "lEyeCtrlLeftRightIn" "lEyeCtrlLeftRightInMult" "L eye control left/right" $l $network; + ss2_eyes_populateInputs "lEyeAimUpDnIn" "lEyeAimUpDnInMult" "L eye aim up/down" $l $network; + ss2_eyes_populateInputs "lEyeAimLeftRightIn" "lEyeAimLeftRightInMult" "L eye aim left/right" $l $network; + ss2_eyes_populateInputs "lUprLidUpDnIn" "lUprLidUpDnInMult" "L upper eyelid control" $l $network; + ss2_eyes_populateInputs "lLwrLidUpDnIn" "lLwrLidUpDnInMult" "L lower eyelid control" $l $network; + ss2_eyes_populateInputs "lCtrlWeight" "" "L control weighting" $l $network; + ss2_eyes_populateInputs "lAimWeight" "" "L aim weighting" $l $network; + + string $lo = `columnLayout -parent $m`; + frameLayout -label "Left Outputs" -w 190 -h 20; + ss2_eyes_populateOutputs "lEyeUpDnOut" "L eye up/down" $lo $network; + ss2_eyes_populateOutputs "lEyeLeftRightOut" "L eye left/right" $lo $network; + ss2_eyes_populateOutputs "lUprLidUpDnOut" "L upper lid up/down" $lo $network; + ss2_eyes_populateOutputs "lUprLidLeftRightOut" "L upper lid left/right" $lo $network; + ss2_eyes_populateOutputs "lLwrLidUpDnOut" "L lower lid up/down" $lo $network; + ss2_eyes_populateOutputs "lLwrLidLeftRightOut" "L lower lid left/right" $lo $network; + + frameLayout -labelVisible 0 -w 190 -h 20 -parent $lo; + frameLayout -label "Left Variables" -w 190 -h 20 -parent $lo; + frameLayout -labelVisible 0 -w 190 -h 225 -parent $lo; + string $lv = `columnLayout`; + ss2_eyes_populateVariables "lSpreadVar" "L spread between lids" $lv $network; + ss2_eyes_populateVariables "lCorneaPushVar" "L cornea push radius" $lv $network; + ss2_eyes_populateVariables "lCorneaPushWeightVar" "L cornea push weight" $lv $network; + ss2_eyes_populateVariables "lUprLidUpLimVar" "L upper lid limit" $lv $network; + ss2_eyes_populateVariables "lLwrLidDnLimVar" "L lower lid limit" $lv $network; + ss2_eyes_populateVariables "lUprUpDnFoloMultVar" "L upr lid up/down % follow" $lv $network; + ss2_eyes_populateVariables "lUprLeftRightFoloMultVar" "L upr lid left/right % follow" $lv $network; + ss2_eyes_populateVariables "lLwrUpDnFoloMultVar" "L lwr lid up/down % follow" $lv $network; + ss2_eyes_populateVariables "lLwrLeftRightFoloMultVar" "L lwr lid left/right % follow" $lv $network; + ss2_eyes_populateVariables "lBlinkLineVar" "L blink line" $lv $network; + + string $r = `columnLayout -parent $m`; + frameLayout -label "Right Inputs" -w 190 -h 20; + ss2_eyes_populateInputs "rEyeCtrlUpDnIn" "rEyeCtrlUpDnInMult" "R eye control up/down" $r $network; + ss2_eyes_populateInputs "rEyeCtrlLeftRightIn" "rEyeCtrlLeftRightInMult" "R eye control left/right" $r $network; + ss2_eyes_populateInputs "rEyeAimUpDnIn" "rEyeAimUpDnInMult" "R eye aim up/down" $r $network; + ss2_eyes_populateInputs "rEyeAimLeftRightIn" "rEyeAimLeftRightInMult" "R eye aim left/right" $r $network; + ss2_eyes_populateInputs "rUprLidUpDnIn" "rUprLidUpDnInMult" "R upper eyelid control" $r $network; + ss2_eyes_populateInputs "rLwrLidUpDnIn" "rLwrLidUpDnInMult" "R lower eyelid control" $r $network; + ss2_eyes_populateInputs "rCtrlWeight" "" "R control weighting" $r $network; + ss2_eyes_populateInputs "rAimWeight" "" "R aim weighting" $r $network; + + + string $ro = `columnLayout -parent $m`; + frameLayout -label "Right Outputs" -w 190 -h 20; + ss2_eyes_populateOutputs "rEyeUpDnOut" "R eye up/down" $ro $network; + ss2_eyes_populateOutputs "rEyeLeftRightOut" "R eye left/right" $ro $network; + ss2_eyes_populateOutputs "rUprLidUpDnOut" "R upper lid up/down" $ro $network; + ss2_eyes_populateOutputs "rUprLidLeftRightOut" "R upper lid left/right" $ro $network; + ss2_eyes_populateOutputs "rLwrLidUpDnOut" "R lower lid up/down" $ro $network; + ss2_eyes_populateOutputs "rLwrLidLeftRightOut" "R lower lid left/right" $ro $network; + + frameLayout -labelVisible 0 -w 190 -h 20 -parent $ro; + frameLayout -label "Right Variables" -w 190 -h 20 -parent $ro; + frameLayout -labelVisible 0 -w 190 -h 225 -parent $ro; + string $rv = `columnLayout`; + ss2_eyes_populateVariables "rSpreadVar" "R spread between lids" $rv $network; + ss2_eyes_populateVariables "rCorneaPushVar" "R cornea push radius" $rv $network; + ss2_eyes_populateVariables "rCorneaPushWeightVar" "R cornea push weight" $rv $network; + ss2_eyes_populateVariables "rUprLidUpLimVar" "R upper lid limit" $rv $network; + ss2_eyes_populateVariables "rLwrLidDnLimVar" "R lower lid limit" $rv $network; + ss2_eyes_populateVariables "rUprUpDnFoloMultVar" "R upr lid up/down % follow" $rv $network; + ss2_eyes_populateVariables "rUprLeftRightFoloMultVar" "R upr lid left/right % follow" $rv $network; + ss2_eyes_populateVariables "rLwrUpDnFoloMultVar" "R lwr lid up/down % follow" $rv $network; + ss2_eyes_populateVariables "rLwrLeftRightFoloMultVar" "R lwr lid left/right % follow" $rv $network; + ss2_eyes_populateVariables "rBlinkLineVar" "R blink line" $rv $network; + + showWindow ss2_eyesWin; + +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_limitShape.mel b/2009-x64/StopStaring/scripts/ss2_limitShape.mel new file mode 100644 index 0000000..e24c4f4 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_limitShape.mel @@ -0,0 +1,130 @@ +global proc ss2_limitShape (){ + print""; +} +print "ss2_limitShape : sourced\n"; + +global proc ss2_limitShape_run (string $blendShape, string $limiter, string $limited, string $type){ + + string $sel[] = `ls -sl`; + + source generateChannelMenu; + + string $buffer = `ss2_search_byAttr "ss2_blend_direct" {$blendShape}`; + + int $found = 0; + int $doConnect = 1; + int $multiThis = 0; + int $multiThat = 0; + + string $thisType = "final"; + string $thatType = "limited"; + + if ($type == "limited"){ + $thisType = "limited"; + $thatType = "final"; + } + + //Check for existing connections + string $existingThisType = `ss2_search_clamp $thisType $blendShape $limited`; + string $existingThatType = `ss2_search_clamp $thatType $blendShape $limited`; + + int $existingThisIndex = `ss2_search_firstMulti $existingThisType input`; + int $existingThatIndex = `ss2_search_firstMulti $existingThatType input`; + + //Check if you want to ADD TO or REPLACE all connections with this one + if ($existingThisIndex || $existingThatIndex){ + + string $AddOrReplace = `confirmDialog -title "Stop Staring 2" -message ("Add to or Replace limiting effects of all other shapes?") -button "Add" -button "Replace" -button "Cancel" -dismissString "Cancel"`; + + switch ($AddOrReplace){ + + case "Add": + + connectAttr -f ($buffer+"."+$limiter) ($existingThisType+".input["+($existingThisIndex+1)+"]"); + + break; + + case "Replace": + + ss2_killAllIncoming $existingThisType; + + for ($i = 0; $i < ($existingThisIndex+1); $i++) + setAttr ($existingThisType+".input["+$i+"]") 0; + + connectAttr -f ($buffer+"."+$limiter) ($existingThisType+".input[0]"); + + break; + + } + + }else{ + connectAttr -f ($buffer+"."+$limiter) ($existingThisType+".input[0]"); + } + + select $sel; + +} + + +global proc ss2_limitShape_shelf (){ + + string $sel[] = `ls -sl`; + string $buffer = `ss2_search_byAttr "ss2_blend_direct" $sel`; + + if (!size($buffer)) error "ss2_limitShape_shelf : no prepped blend found"; + + string $grossSearch[] = `listConnections -type blendShape -source 0 $buffer`; + + if (!size($grossSearch)) error "ss2_limitShape_shelf : no prepped blend found"; + + string $blendShape = $grossSearch[0]; + + if (`window -exists ss2_limitShapeWin`) deleteUI ss2_limitShapeWin; + window -title ss2_limitShapeWin -widthHeight 210 105 ss2_limitShapeWin; + + string $form = `formLayout -numberOfDivisions 6`; + string $radios = ` + radioButtonGrp -numberOfRadioButtons 2 + -select 1 + -label1 "final" + -label2 "limited input only" + -cw 1 50 + -cw 2 150`; + string $limiter = `textScrollList`; + string $limited = `textScrollList`; + string $limit = `button -label "limit"`; + + ss2_formLayer $form $radios {0,1,0,6}; + ss2_formLayer $form $limiter {1,5,0,3}; + ss2_formLayer $form $limited {1,5,3,6}; + ss2_formLayer $form $limit {5,6,0,6}; + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0`; + for ($b in $blendShapeWeight){ + textScrollList -e -append $b $limiter; + textScrollList -e -append $b $limited; + } + textScrollList -e -sii 1 $limiter; + textScrollList -e -rii 1 $limited; + textScrollList -e -sii 1 $limited; + + string $command = ""; + $command += ("string $blendShapeWeight[] = `ss2_search_blendWeights "+$blendShape+" 0`;"); + $command += ("textScrollList -e -ra "+$limited+";"); + $command += ("for ($b in $blendShapeWeight) textScrollList -e -append $b "+$limited+";"); + $command += ("string $this[] = `textScrollList -q -si "+$limiter+"`;"); + $command += ("textScrollList -e -ri $this[0] "+$limited+";"); + $command += ("textScrollList -e -sii 1 "+$limited+";"); + textScrollList -e -selectCommand $command $limiter; + + string $command = ""; + $command += ("int $select = `radioButtonGrp -q -select "+$radios+"`;"); + $command += ("string $type = \"final\"; if ($select == 2 )$type = \"limited\";"); + $command += ("string $in[] = `textScrollList -q -si "+$limiter+"`;"); + $command += ("string $out[] = `textScrollList -q -si "+$limited+"`;"); + $command += ("ss2_limitShape_run "+$blendShape+" $in[0] $out[0] $type"); + + button -e -command $command $limit; + + showWindow ss2_limitShapeWin; +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_revLimScale.mel b/2009-x64/StopStaring/scripts/ss2_revLimScale.mel new file mode 100644 index 0000000..9d8c5d0 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_revLimScale.mel @@ -0,0 +1,74 @@ +global proc ss2_revLimScale (){ + print""; +} +print "ss2_revLimScale : sourced\n"; + +global proc ss2_revLimScale_run (string $limitee, string $limiter, string $axis){ + + //Buffer selection + + string $sel[] = `ls -sl`; + + //Get existing connections + + string $connections[] = `listConnections -scn 1 -plugs 1 -source 1 -destination 0 ($limitee+".scaleY")`; + + //Plug in old connections if applicable - if not, make some noise + + if ( size($connections) ){ + + //Create nodes + + string $plusMinusAverage = `createNode plusMinusAverage`; + string $reverse = `createNode reverse`; + string $clamp = `createNode clamp`; + + //Make sure input will work, default to Y if bad + + $axis = `toupper $axis`; + + if ($axis != "X" && $axis != "Y" && $axis != "Z") + $axis = "Y"; + + //Set limiting attrs + + eval ("transformLimits -scale"+ $axis +" 0 2 -enableScale"+ $axis +" 1 1 "+$limitee); + eval ("transformLimits -scale"+ $axis +" 0 2 -enableScale"+ $axis +" 1 1 "+$limiter); + + setAttr ($plusMinusAverage+".input1D[1]") 1; + + //Make new Connections + + connectAttr -f $connections[0] ($clamp+".inputG"); + connectAttr -f ($limiter+".scaleY") ($reverse+".inputY"); + connectAttr -f ($reverse+".outputY") ($plusMinusAverage+".input1D[0]"); + connectAttr -f ($plusMinusAverage+".output1D") ($clamp+".maxG"); + connectAttr -f ($clamp+".outputG") ($limitee+".scaleY"); + + }else{ + + error ("ss2_revLimScale_run : "+$limiter+" has no existing connections; you don't want to run this tool until AFTER you've set up some driven keys"); + + } + + //Restore selection + + select $sel; + +} + +global proc ss2_revLimScale_shelf (){ + + string $sel[] = `ls -sl`; + + if ( size($sel) == 2 ){ + + ss2_revLimScale_run $sel[0] $sel[1] "y"; + + }else{ + + error "ss2_revLimScale_shelf : requires two objects"; + + } + +} \ No newline at end of file diff --git a/2009-x64/StopStaring/scripts/ss2_utils.mel b/2009-x64/StopStaring/scripts/ss2_utils.mel new file mode 100644 index 0000000..1066ec0 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_utils.mel @@ -0,0 +1,521 @@ +/* +THIS IS THE RELEASE LIST: + +source ss2_zip; +source ss2_blend_bakeWeights; +source ss2_blend_prepare; +source ss2_blend_taper; +source ss2_blend_targetWeights; +source ss2_controls; +source ss2_eyes; +source ss2_limitShape; +source ss2_revLimScale; +*/ + + +global proc ss2_utils (){ + print""; +} +print "ss2_utils : sourced\n"; + + +global proc ss2_formLayer (string $form, string $object, int $space[]){ + + formLayout -e + + -attachPosition $object "top" 0 $space[0] + -attachPosition $object "bottom" 0 $space[1] + -attachPosition $object "left" 0 $space[2] + -attachPosition $object "right" 0 $space[3] + + $form; + +} + + +global proc ss2_clearAttr ( string $object, string $attr ){ + + if (`objExists $object`){ + + string $alias = `aliasAttr -q ($object+"."+$attr)`; + + if (`attributeExists $attr $object` || size($alias)>1){ + + if ( `connectionInfo -isDestination ($object+"."+$attr)` ){ + + string $clearFromMe[] = `listConnections -plugs 1 -source 1 -destination 0 ($object+"."+$attr)`; + string $clearMe = `connectionInfo -getExactDestination ($object+"."+$attr)`; + disconnectAttr $clearFromMe[0] $clearMe; + + } + } + } +} + +global proc ss2_killAllIncoming(string $node){ + + int $size = `getAttr -size ($node+".input")`; + + string $inConnect[] = `listConnections -plugs 1 ($node+".input")`; + + int $gotIt = 0; + + for($i = 0; $i < 100; $i++){ + + string $con = `connectionInfo -sourceFromDestination ($node+".input["+$i+"]")`; + + if (size($con)){ + + string $worked = `disconnectAttr $con ($node+".input["+$i+"]")`; + + if (size($worked)) $gotIt++; + + } + + if ($gotIt == $size)break; + + } + +} + +global proc string ss2_cleanDupe (string $node, string $name){ + + string $dupe[] = `duplicate -rc $node`; + string $deleteList[]; + + for ($d in $dupe){ + string $relatives[] = `listRelatives -type shape $d`; + for ($r in $relatives){ + if (`getAttr ($r+".intermediateObject")`){ + $deleteList[size($deleteList)] = $r; + } + } + } + + string $xforms[] = `ls -type transform $dupe`; + + $deleteList = `stringArrayCatenate $deleteList $xforms`; + $deleteList = `stringArrayRemoveDuplicates $deleteList`; + $deleteList = `stringArrayRemove {$dupe[0]} $deleteList`; + + if (size($deleteList)) delete $deleteList; + + return `rename $dupe[0] $name`; + +} + +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + //BEGIN SEARCH TOOLS// +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + +global proc string[] ss2_search_blendTargetsAbove (string $blendShape, string $blendShapeWeight[], float $val ,int $minSize, int $maxSize){ + + string $involved[]; + + for ( $b in $blendShapeWeight ){ + if ( `getAttr ( $blendShape + "." + $b )` >= $val ) + $involved[ size ( $involved ) ]= $b; + } + + int $size = size($involved); + + if ( $maxSize == 0 ) + $maxSize = $size; + + if ( $size < $minSize) + error ("ss2_search_blendTargetsAbove : Not enough sliders above "+$val+" to perform the operation"); + + if ($size > $maxSize){ + warning ("ss2_search_blendTargetsAbove : Too many sliders above "+$val+"; picking the first, "+$involved[0]); + $involved = {$involved[0]}; + } + + return $involved; +} + +global proc int ss2_search_firstMulti (string $node, string $attr){ + + int $size = size(`listAttr -multi ($node+"."+$attr)`) + 1; + + for ($i = 0; $i < $size; $i++){ + int $connected = size(`listConnections -source 1 -destination 0 ($node+"."+$attr+"["+$i+"]")`); + if (!$connected) + return $i; + } + + return 0; + +} + +global proc string[] ss2_search_blendWeights (string $blendShape, int $underscores){ + + if (!`objExists $blendShape`) error ("ss2_search_blendWeights : Cannot return weights on non-existent blend shape"); + + string $alias[]; + string $output[]; + int $i = 0; + int $weightCount = `blendShape -q -weightCount $blendShape`; + + while (size($alias) < $weightCount){ + string $temp = `aliasAttr -q ($blendShape+".weight["+$i+"]")`; + if (size($temp)) + $alias[size($alias)] = $temp; + $i++; + } + + if (!$underscores){ + for ($a in $alias) + if (!`gmatch $a "*_*"`) + $output[size($output)] = $a; + }else{ + $output = $alias; + } + + return $output; +} + +global proc string ss2_search (string $type, string $before, string $after, string $sel[], int $secondRound){ + + string $testList[] = {"ls -sl ","listHistory -leaf 0 ","listHistory -future 1 -leaf 0 ","listRelatives -allDescendents ","listRelatives -allParents ","listHistory ","listHistory -future 1 ","listConnections -scn 1 "}; + + int $noSel = 0; + int $verbose = 0; + + + if (size($sel) < 1){ + $sel = `ls -type camera`; + $noSel = 1; + } + + for ($s in $sel){ + + for ($t in $testList){ + + if ($verbose) print ("eval `"+$t+$s+"`\n"); + + string $found[] = `eval ($t+$s)`; + + $found = `stringArrayRemoveDuplicates $found`; + + for ($f in $found){ + + if ($verbose) print ("eval succeeded on `"+$t+$s+"` : "+$f+"\n"); + + if (`eval ($before+$f+$after)`){ + + if ($verbose) print ("eval succeeded on `"+$before+$f+$after+"`\n"); + + if (`attributeExists "intermediateObject" $f`){ + + if (!`getAttr ($f+".intermediateObject")`){ + + if ($verbose) print ("returning success on "+$f+"\n"); + + return $f; + + } + + }else{ + + return $f; + + } + + } + + } + if ($verbose) print ("Did not find match for "+$s+"\n"); + + } + + } + + if ($verbose&&size($type)) print ("Got out of direct search, going to type\n"); + + if (size($type)){ + string $all[] = `ls -type $type`; + if (size($all)) + return $all[0]; + }else{ + if (!$secondRound){ + string $all[] = `ls`; + return `ss2_search $type $before $after $all 1`; + } + } + + if ($noSel) + select -cl; + + warning "ss2_Search : did not find search target"; + return ""; +} + +global proc string ss2_search_byType (string $type, string $sel[]){ + return `ss2_search $type ("size(`ls -type "+$type+" ") "`)" $sel 0`; +} + +global proc string ss2_search_byAttr (string $attr, string $sel[]){ + return `ss2_search "" ("attributeExists "+$attr+" ") "" $sel 0`; +} + +global proc string ss2_search_blendWeighted (string $type, string $blendShape, string $attr){ + + string $buffer = `ss2_search_byAttr "ss2_blend_direct" {$blendShape}`; + string $connect[] = `listConnections ($buffer+".ss2_blend_"+$type)`; + string $intoType[] = `listConnections -source 1 -destination 1 ($connect[0]+"."+$attr)`; + string $history[] = `listHistory ($intoType[0]+".input")`; + string $bWeighted[] = `ls -type blendWeighted $history`; + int $index = `ss2_search_firstMulti $bWeighted[0] "input"`; + + return ($bWeighted[0]+".input["+$index+"]"); + +} + +global proc string ss2_search_clamp (string $type, string $blendShape, string $attr){ + + string $buffer = `ss2_search_byAttr "ss2_blend_direct" {$blendShape}`; + + if (size($buffer)){ + + if ($type == "final"){ + string $weightClampNode[] = `listConnections ($buffer+".ss2_blend_weightClamp")`; + string $reverse[] = `listConnections -type reverse -destination 0 ($weightClampNode[0]+"."+$attr+"_max")`; + string $bWeights[] = `listConnections -type blendWeighted -destination 0 ($reverse[0]+".inputX")`; + return ($bWeights[0]); + } + + if ($type == "limited"){ + string $limited[] = `listConnections ($buffer+".ss2_blend_limited")`; + string $clamp[] = `listConnections -type clamp -destination 0 ($limited[0]+"."+$attr)`; + string $reverse[] = `listConnections -type reverse -destination 0 ($clamp[0]+".inputG")`; + string $bWeights[] = `listConnections -type blendWeighted -destination 0 ($reverse[0]+".inputX")`; + return ($bWeights[0]); + } + }else{ + warning "ss2_search_clamp : no buffer node found; blendshape probably not prepped"; + } + + warning "ss2_search_clamp : did not find search target"; + + return ""; + +} + +global proc string[] ss2_search_setups (){ + + string $setups[]; + + string $nets[] = `ls -type network`; + + for ($n in $nets){ + + if (`attributeExists ss2_blend_direct $n`){ + + $setups[size($setups)] = $n; + + } + + } + return $setups; + +} + +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + //END SEARCH TOOLS// +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + + + +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + //BEGIN SAVE/LOAD/ATTACH/DETACH TOOLS// +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + + +global proc ss2_detach_run (string $blendShape){ + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0 `; + + print ("ss2_detach : Detaching "+$blendShape+"\n"); + + for ($b in $blendShapeWeight) + ss2_clearAttr $blendShape $b; + +} + + +global proc ss2_detach (){ + + source generateChannelMenu; + + string $sel[] = `ls -sl`; + string $blendShape = `ss2_search_byType blendShape $sel`; + ss2_detach_run $blendShape; + +} + +global proc ss2_attach_run (string $blendShape, string $buffer){ + + print ("ss2_attach : Attaching "+$blendShape+" to "+$buffer+"\n"); + + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 0 `; + + for ($b in $blendShapeWeight){ + string $alias = `aliasAttr -q ($blendShape+"."+$b)`; + if (`attributeExists $b $buffer` || size($alias)>1) + catch (`connectAttr -f ($buffer+"."+$b) ($blendShape+"."+$b)`); + } +} + +global proc ss2_attach (){ + + string $sel[] = `ls -sl`; + + string $setups[] = `ss2_search_setups`; + string $blendShapes[] = `ls -type blendShape`; + + //Die if no setups + if (!size($setups)) error "ss2_save : no prepped blend found"; + + //Run regular/easy if there is only one + if (size($setups) == 1){ + + string $blendShape = `ss2_search_byType blendShape $sel`; + string $buffer = `ss2_search_byAttr ss2_blend_direct $sel`; + + ss2_attach_run $blendShape $buffer; + + //Run fancy when there may be issues + }else{ + + if (`window -exists ss2_attachWin`) deleteUI ss2_attachWin; + window -title ss2_attachWin -widthHeight 210 105 ss2_attachWin; + + string $form = `formLayout -numberOfDivisions 6`; + + string $message = `text -label "More than one setup to connect.\nChoose a pair"`; + + string $source = `textScrollList`; + string $destination = `textScrollList`; + string $connect = `button -label "connect"`; + + ss2_formLayer $form $source {0,1,0,5}; + ss2_formLayer $form $source {1,5,0,3}; + ss2_formLayer $form $destination {1,5,3,6}; + ss2_formLayer $form $connect {5,6,0,6}; + + for ($s in $setups) + textScrollList -e -append $s $source; + textScrollList -e -sii 1 $source; + + for ($b in $blendShapes) + textScrollList -e -append $b $destination; + textScrollList -e -sii 1 $destination; + + string $command = ""; + $command += ("string $buffy[] = `textScrollList -q -si "+$source+"`;"); + $command += ("string $blendy[] = `textScrollList -q -si "+$destination+"`;"); + $command += ("ss2_attach_run $blendy[0] $buffy[0];"); + $command += ("textScrollList -e -ri $buffy[0] "+$source+";"); + $command += ("textScrollList -e -ri $blendy[0] "+$destination+";"); + $command += ("int $sourceItems = `textScrollList -q -ni "+$source+"`;"); + $command += ("int $destinationItems = `textScrollList -q -ni "+$destination+"`;"); + $command += ("if ($sourceItems == 0 || $destinationItems == 0 ){ deleteUI ss2_attachWin;}else{"); + $command += ("textScrollList -e -sii 1 "+$source+";"); + $command += ("textScrollList -e -sii 1 "+$destination+";}"); + + + + button -e -command $command $connect; + + showWindow ss2_attachWin; + } +} + +global proc int ss2_save_run ( string $filename, string $fileType ){ + file -exportSelected -constructionHistory 1 -channels 1 -expressions 1 -constraints 1 -type "mayaAscii" $filename; + return 1; +} + +global proc int ss2_load_run ( string $filename, string $fileType ){ + + string $sel[] = `ls -sl`; + string $networksBefore[] = `ls -type network`; + string $blendShape = `ss2_search_byType blendShape $sel`; + + file -import $filename; + + string $networksAfter[] = `ls -type network`; + string $newNetworks[] = `stringArrayRemove $networksBefore $networksAfter`; + string $newBuffer = `ss2_search_byAttr ss2_blend_direct $newNetworks`; + + select $newBuffer $blendShape; + ss2_attach; + + return 1; +} + +global proc ss2_save(){ + + string $sel[] = `ls -sl`; + select -cl; + + string $setups[] = `ss2_search_setups`; + + if (!size($setups)) error "ss2_save : no prepped blend found"; + + string $detachPair[]; + string $setupString = ""; + + //Detach + for ($s in $setups){ + + string $history[] = `listHistory $s`; + string $blendsInHistory[] = `ls -type blendShape $history`; + string $networksInHistory[] = `ls -type network $history`; + string $nets[]; clear $nets; + + if (size($blendsInHistory)) confirmDialog -title "Stop Staring 2" -message "There are blendShapes in the history of this buffer. Resulting saves may be contain more than just the setup" -button "OK"; + + string $cons[] = `listConnections -type blendShape -source 0 $s`; + string $blendShape = $cons[0]; + $detachPair[size($detachPair)] = ($blendShape+" "+$s); + + ss2_detach_run $blendShape; + $setupString = ($setupString+" "+$s); + + } + + //Save + print ("Exporting "+$setupString+"\n"); + select $setups; + + fileBrowserDialog -mode 1 -fileCommand "ss2_save_run" -fileType "mayaAscii" -actionName "Save" -operationMode "ExportActive"; + + //ReAttach + for ($p in $detachPair) + evalEcho ("ss2_attach_run "+$p); + + //Restore selection + select $sel; +} + +global proc ss2_load(){ + + fileBrowserDialog -mode 0 -fileCommand "ss2_load_run" -fileType "mayaAscii" -actionName "Load" -operationMode "Import"; + +} + +global proc ss2_delete (){ + + string $sel[] = `ls -sl`; + string $buffer = `ss2_search_byAttr ss2_blend_direct $sel`; + ss2_detach; + string $history[] = `listHistory $buffer`; + delete $buffer $history; + +} + + +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // + //END SAVE/LOAD/ATTACH/DETACH TOOLS// +//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // diff --git a/2009-x64/StopStaring/scripts/ss2_zip.mel b/2009-x64/StopStaring/scripts/ss2_zip.mel new file mode 100644 index 0000000..fe27584 --- /dev/null +++ b/2009-x64/StopStaring/scripts/ss2_zip.mel @@ -0,0 +1,285 @@ +global proc ss2_zip (){ + print""; +} +print "ss2_zip : sourced\n"; + + +proc string[] ss2_zip_isLoop (string $point1, string $point2){ + + string $output[]; + string $sel[] = `ls -sl`; + + select $point1; + select `polyListComponentConversion -fromVertex -toEdge`; + string $edges1[] = `ls -sl -flatten`; + + select $point2; + select `polyListComponentConversion -fromVertex -toEdge`; + string $edges2[] = `ls -sl -flatten`; + + int $smallest = 9999999; + + for ($e1 in $edges1){ + + for ($e2 in $edges2){ + + select $e1 $e2; + + polySelectConstraint -type 0x8000 -propagate 4 -m2a 180 -m3a 180; + ConvertSelectionToVertices; + + string $thisLoop[] = `ls -sl -flatten`; + + int $thisSize = size($thisLoop); + + if ($thisSize > 0 && $thisSize < $smallest){ + clear $output; + $smallest = $thisSize; + $output = $thisLoop; + } + } + } + + resetPolySelectConstraint; + select $sel; + return $output; +} + +proc int ss2_zip_getMaxGrow (int $maxGrow, string $point1, string $point2){ + + string $sel[] = `ls -sl`; + + int $grow = 0; + int $intersect = 0; + + string $grow1[] = {$point1}; + string $grow2[] = {$point2}; + + for ($grow = 0; $grow < $maxGrow; $grow++){ + + select $grow1; + PolySelectTraverse 1; + $grow1 = `ls -sl -flatten`; + + select $grow2; + PolySelectTraverse 1; + $grow2 = `ls -sl -flatten`; + + for ($g in $grow1){ + + if (`stringArrayCount $g $grow2`){ + + $intersect++; + + break; + + } + + } + + if ($intersect) + break; + + } + + select $sel; + + return ($grow); +} + +global proc ss2_zip_growPreview (string $maxGrow, int $allowOverlap){ + + int $grow = 0; + + string $sel[] = `ls -sl -flatten`; + + if ($allowOverlap){ + $grow = $maxGrow; + }else{ + $grow = `ss2_zip_getMaxGrow $maxGrow $sel[0] $sel[1]`; + } + + for ($i = 0; $i < $grow; $i++) + PolySelectTraverse 1; + + warning ("crawl = "+$grow); +} + + +proc string[] ss2_zip_followCurve (string $vert){ + + select $vert; + + select `polyListComponentConversion -fromVertex -toEdge $vert`; + + string $edges[] = `ls -sl -flatten`; + + string $tokens[]; + tokenize $edges[0] "." $tokens; + string $origObject = $tokens[0]; + tokenize $edges[0] "[]" $tokens; + float $edge = $tokens[1]; + + string $curveFromMeshEdge = `createNode curveFromMeshEdge`; + string $nurbsCurve = `createNode nurbsCurve`; + string $parent[] = `listRelatives -parent $nurbsCurve`; + + setAttr ($curveFromMeshEdge+".isHistoricallyInteresting") 1; + setAttr ($curveFromMeshEdge+".edgeIndex[0]") $edge; + + connectAttr -f ($origObject + ".worldMesh") ($curveFromMeshEdge + ".inputMesh"); + connectAttr -f ($curveFromMeshEdge + ".outputCurve") ($nurbsCurve+ ".create"); + + //This is just a far too sloppy test for which end of the line to stick to + float $pos[] = `xform -q -ws -t $vert`; + float $pos0[] = `xform -q -ws -t ($nurbsCurve+".cv[0]")`; + float $pos1[] = `xform -q -ws -t ($nurbsCurve+".cv[1]")`; + + if ((abs($pos0[0]-$pos[0])+abs($pos0[1]-$pos[1])+abs($pos0[2]-$pos[2])) < (abs($pos1[0]-$pos[0])+abs($pos1[1]-$pos[1])+abs($pos1[2]-$pos[2]))){ + return {$parent[0], "0"}; + }else{ + return {$parent[0], "1"}; + } +} + + +global proc ss2_zip_run (int $maxGrow, int $smooth, int $allowOverlap, int $attemptSharpen){ + + warning ("Max grow : "+$maxGrow+"\nSmooth : "+$smooth+"\nAllow Overlap : "+$allowOverlap+"\nSharpen : "+$attemptSharpen); + + ConvertSelectionToVertices; + + string $sel[] = `ls -sl -flatten`; + + if (size($sel) != 2) error ("ss2_zip_run : Select two vertices on the same object"); + + string $tokens[]; + tokenize $sel[0] "." $tokens; + + string $origObject = $tokens[0]; + + string $blendShape = `ss2_search_byType "blendShape" {$origObject}`; + + if (!`objExists $blendShape`) error ("No blendshape found"); + string $blendShapeWeight[] = `ss2_search_blendWeights $blendShape 1`; + + int $num = 0; + + int $grow = 0; + + if ($allowOverlap){ + $grow = $maxGrow; + }else{ + $grow = `ss2_zip_getMaxGrow $maxGrow $sel[0] $sel[1]`; + } + + string $grpPrnt = `group -em`; + + for ($s in $sel){ + + string $curve[] = `ss2_zip_followCurve $s`; + string $curve1[] = `duplicate $curve[0]`; + + string $nurbsBlends[] = `ss2_blend_bakeWeights_run $origObject $curve[0] $blendShape $blendShapeWeight 0`; + + string $bs[] = `blendShape $nurbsBlends $curve1[0]`; + + int $size = size($blendShapeWeight); + + for ($i = 0; $i < $size; $i++) + catch(`connectAttr -f ($blendShape+"."+$blendShapeWeight[$i]) ($bs[0]+"."+$nurbsBlends[$i])`); + + float $pos[] = `xform -q -ws -t $s`; + + select $s; + for ($i = 0; $i < $grow; $i++) + PolySelectTraverse 1; + + string $softModMe[] = `ls -sl`; + + string $softMod[] = `softMod -falloffCenter $pos[0] $pos[1] $pos[2] -before $softModMe`; + setToolTo selectSuperContext; + + select $origObject; + artSetToolAndSelectAttr( "artAttrCtx", ("softMod."+$softMod[0]+".weights") ); + artAttrCtx -e -opacity 1 `currentCtx`; + artAttrCtx -e -accopacity 1 `currentCtx`; + artAttrPaintOperation artAttrCtx Smooth; + + for ($i = 0; $i < $smooth; $i++) + artAttrCtx -e -clear `currentCtx`; + + if ($attemptSharpen){ + string $sharedEdges[] = `ss2_zip_isLoop $sel[0] $sel[1]`; + if (size($sharedEdges)){ + select $sharedEdges; + ConvertSelectionToVertices; + artSetToolAndSelectAttr( "artAttrCtx", ("softMod."+$softMod[0]+".weights") ); + artAttrPaintOperation artAttrCtx Replace; + artAttrCtx -e -value 1 `currentCtx`; + artAttrCtx -e -clear `currentCtx`; + artAttrPaintOperation artAttrCtx Smooth; + artAttrCtx -e -clear `currentCtx`; + }else{ + warning "ss2_zip_run : Cannot automatically sharpen edges, selected points don't share an edge loop"; + } + } + + selectMode -object; + setToolTo selectSuperContext; + + setAttr ($softMod[1]+".sy") 0; + setAttr ($softMod[0]+".falloffInX") 0; + setAttr ($softMod[0]+".falloffInZ") 0; + setAttr ($softMod[0]+".falloffAroundSelection") 0; + catch(`setAttr ($softMod[0]+".falloffMode") 1`); + setAttr ($softMod[1]+".v") 0; + + string $grp = `group -em`; + + string $motionPath = `pathAnimation -fractionMode true -follow false -startTimeU 0 -endTimeU 1 -name ($origObject+"ZipPath") $grp $curve1[0]`; + delete `listConnections -destination 0 ($motionPath+".positionMarkerTime")`; + + pointConstraint $grp $softMod[1]; + connectAttr ($grp+".translate") ($softMod[0]+".falloffCenter"); + + float $temp = $curve[1]; + setAttr ($motionPath+".uValue") $temp; + + delete $nurbsBlends $curve[0]; + + addAttr -ln ("falloff"+$num) -k 1 -dv 0.001 -min 0.001 -max 25 -at "double" $origObject; + connectAttr -f ($origObject+".falloff"+$num) ($softMod[0]+".falloffRadius"); + + parent $softMod[1] $curve1[0] $grp $grpPrnt; + + $num++; + } + select $origObject; +} + +global proc ss2_zip_shelf (){ + + if (`window -exists "ss2_zipWin"`) deleteUI ss2_zipWin; + string $window = `window -title "ss2_zipWin" -resizeToFitChildren 1 ss2_zipWin`; + + string $main = `columnLayout`; + string $opFrame = `frameLayout -labelVisible 0 -parent $main`; + string $opRow = `rowColumnLayout -nc 2 -parent $opFrame`; + string $goFrame = `frameLayout -labelVisible 0 -parent $main`; + string $goRow = `columnLayout -parent $goFrame`; + + + text -label "crawl" -parent $opRow; + text -label "smooth" -parent $opRow; + + string $crawl = `intField -v 20 -parent $opRow`; + string $smooth = `intField -v 20 -parent $opRow`; + string $overlap = `checkBox -label "allow overlap" -v 0 -parent $opRow`; + string $sharpen = `checkBox -label "sharpen lip" -v 0 -parent $opRow`; + button -w 200 -label "paint attributes" -command "string $sel[] = `ls -sl`; string $softMod = `ss2_search_byType softMod $sel`; ArtPaintAttrTool; toolPropertyWindow; artSetToolAndSelectAttr( \"artAttrCtx\", (\"softMod.\"+$softMod+\".weights\") );" -parent $goRow; + button -w 200 -label "preview crawl" -command ("int $icrawl = `intField -q -v "+$crawl+"`; int $ioverlap = `checkBox -q -v "+$overlap+"`; ss2_zip_growPreview $icrawl $ioverlap") -parent $goRow; + button -w 200 -label "zip lips" -command ("int $icrawl = `intField -q -v "+$crawl+"`; int $ismooth = `intField -q -v "+$smooth+"`; int $ioverlap = `checkBox -q -v "+$overlap+"`; int $isharpen = `checkBox -q -v "+$sharpen+"`; ss2_zip_run $icrawl $ismooth $ioverlap $isharpen") -parent $goRow; + + showWindow $window; +} \ No newline at end of file diff --git a/2009-x64/cps4.03/icons/connectPolyShape.xpm b/2009-x64/cps4.03/icons/connectPolyShape.xpm new file mode 100644 index 0000000..45b8102 --- /dev/null +++ b/2009-x64/cps4.03/icons/connectPolyShape.xpm @@ -0,0 +1,862 @@ +/* XPM */ +static char *CPS_xpm[]={ +"32 32 827 2", +" c #621D1B", +" 0 c #762221", +" 1 c #802725", +" 2 c #822724", +" 3 c #812523", +" 4 c #7F2524", +" 5 c #7E2522", +" 6 c #7C2423", +" 7 c #7B2323", +" 8 c #782321", +" 9 c #772322", +" a c #742321", +" b c #722220", +" c c #6F2120", +" d c #6E211F", +" e c #6A201D", +" f c #D1B949", +" g c #E3C93A", +" h c #9A6122", +" i c #631E1D", +" j c #611D1B", +" k c #611D1A", +" l c #601D1B", +" m c #5E1B1B", +" n c #5D1B1A", +" o c #5C1B19", +" p c #5C1B1A", +" q c #5A1A19", +" r c #5A1B1A", +" s c #59191A", +" t c #591919", +" u c #C6915E", +" v c #E6D2C7", +" w c #DEC1A6", +" x c #904437", +" y c #90473D", +" z c #9D5A42", +" A c #9E5C39", +" B c #95562E", +" C c #925F27", +" D c #936324", +" E c #956E24", +" F c #8B691F", +" G c #8E6F1D", +" H c #8A7118", +" I c #8B7716", +" J c #897B13", +" K c #CEAD4F", +" L c #EBB62B", +" M c #CAA544", +" N c #6D311D", +" O c #5F1D1B", +" P c #5D1C1B", +" Q c #5D1C1A", +" R c #5A1B19", +" S c #581B19", +" T c #581A19", +" U c #571A19", +" V c #571918", +" W c #571819", +" X c #DB8A11", +" Y c #FBBC1C", +" Z c #F8C847", +" & c #C0A33A", +"0 c #99892F", +"00 c #88721B", +"01 c #947E1C", +"02 c #8F731E", +"03 c #805C1A", +"04 c #8E671E", +"05 c #815817", +"06 c #825618", +"07 c #743F18", +"08 c #7A411A", +"09 c #71361A", +"0a c #6E321A", +"0b c #A6791E", +"0c c #D3A31A", +"0d c #A37E32", +"0e c #D3B866", +"0f c #A78548", +"0g c #6E391C", +"0h c #5A1B18", +"0i c #591B18", +"0j c #571B19", +"0k c #561A18", +"0l c #571A18", +"0m c #561A19", +"0n c #561919", +"0o c #CC7812", +"0p c #FABC1C", +"0q c #A98B1D", +"0r c #CAB687", +"0s c #86432D", +"0t c #712120", +"0u c #70221F", +"0v c #6D201F", +"0w c #6A201F", +"0x c #6A1F1E", +"0y c #691F1E", +"0z c #651F1D", +"0A c #651D1B", +"0B c #631E1C", +"0C c #611E1C", +"0D c #6E3D1E", +"0E c #663814", +"0F c #5B1B19", +"0G c #5F2518", +"0H c #8D681E", +"0I c #CFB758", +"0J c #AF934A", +"0K c #6E3C1D", +"0L c #551819", +"0M c #551A18", +"0N c #551917", +"0O c #551818", +"0P c #531818", +"0Q c #541918", +"0R c #722121", +"0S c #8F7318", +"0T c #92631D", +"0U c #6D5310", +"0V c #B7A273", +"0W c #894B49", +"0X c #68201C", +"0Y c #681E1D", +"0Z c #661E1C", +"0& c #641D1C", +"1 c #7E4524", +"10 c #996833", +"11 c #A57536", +"12 c #A77D30", +"13 c #A57E24", +"14 c #9C7228", +"15 c #653017", +"16 c #591B17", +"17 c #561A17", +"18 c #5B2516", +"19 c #8E6521", +"1a c #D3C272", +"1b c #C3AB71", +"1c c #70411E", +"1d c #531917", +"1e c #531717", +"1f c #521918", +"1g c #521917", +"1h c #531817", +"1i c #6E201E", +"1j c #6B5114", +"1k c #81541B", +"1l c #6C201E", +"1m c #663E11", +"1n c #B4A963", +"1o c #9F736C", +"1p c #641E1D", +"1q c #7F4526", +"1r c #D3BD78", +"1s c #FEFFC7", +"1t c #FEFEDC", +"1u c #FDF68F", +"1v c #D8C653", +"1w c #B3A431", +"1x c #A89A25", +"1y c #A1901B", +"1z c #9B7D2E", +"1A c #643216", +"1B c #521916", +"1C c #511916", +"1D c #551F16", +"1E c #8D6E41", +"1F c #CBB877", +"1G c #AF9641", +"1H c #744921", +"1I c #562016", +"1J c #6B3C1B", +"1K c #5C2518", +"1L c #501716", +"1M c #6A1F1F", +"1N c #6A4D18", +"1O c #7C5414", +"1P c #661E1D", +"1Q c #661D1D", +"1R c #693815", +"1S c #99914C", +"1T c #AA8F7B", +"1U c #AB7C35", +"1V c #FFF478", +"1W c #FEFFFD", +"1X c #FFFFFE", +"1Y c #FEFFFE", +"1Z c #F9F697", +"1& c #C2B74F", +"2 c #A3972F", +"20 c #958A21", +"21 c #878015", +"22 c #857D10", +"23 c #95871D", +"24 c #684014", +"25 c #4F1816", +"26 c #4F1715", +"27 c #501717", +"28 c #4F1716", +"29 c #541E16", +"2a c #83601D", +"2b c #BBA751", +"2c c #F2EC48", +"2d c #FFFE3E", +"2e c #F4E62D", +"2f c #A7761B", +"2g c #671E1D", +"2h c #6A4C17", +"2i c #7D551B", +"2j c #641D1B", +"2k c #621C1C", +"2l c #652C16", +"2m c #837717", +"2n c #E8E3A2", +"2o c #F8EB93", +"2p c #FEFFDF", +"2q c #FFFFC2", +"2r c #E3DC74", +"2s c #AFA740", +"2t c #968E27", +"2u c #807B15", +"2v c #77710C", +"2w c #75710A", +"2x c #757107", +"2y c #7B710D", +"2z c #65430E", +"2A c #4C1715", +"2B c #4D1715", +"2C c #552215", +"2D c #593012", +"2E c #5A3F0C", +"2F c #685909", +"2G c #886F0E", +"2H c #F1C530", +"2I c #FEB713", +"2J c #B66D10", +"2K c #631D1C", +"2L c #684516", +"2M c #7D5B16", +"2N c #5F1C1A", +"2O c #5D1D1A", +"2P c #78421B", +"2Q c #C2AD2A", +"2R c #786A15", +"2S c #B1AA66", +"2T c #EDE58F", +"2U c #E8E480", +"2V c #D7CE63", +"2W c #B7B045", +"2X c #8E8922", +"2Y c #7E7814", +"2Z c #736F0C", +"2& c #706D07", +"3 c #6A6804", +"30 c #6C6B06", +"31 c #736C0B", +"32 c #6A6606", +"33 c #65540B", +"34 c #665F08", +"35 c #626003", +"36 c #6A6404", +"37 c #574208", +"38 c #6A510C", +"39 c #A79025", +"3a c #F9AC1A", +"3b c #F4A10C", +"3c c #743712", +"3d c #654312", +"3e c #765616", +"3f c #5B1C1A", +"3g c #591C19", +"3h c #9F811B", +"3i c #9E8C27", +"3j c #92852A", +"3k c #7E721A", +"3l c #B49D26", +"3m c #F7EE3A", +"3n c #FFFB3B", +"3o c #F0ED35", +"3p c #9E9919", +"3q c #77720D", +"3r c #716E0A", +"3s c #74700C", +"3t c #797210", +"3u c #6B6608", +"3v c #5E5803", +"3w c #635905", +"3x c #665E05", +"3y c #57360D", +"3z c #5C3212", +"3A c #4D1B15", +"3B c #491514", +"3C c #491715", +"3D c #613817", +"3E c #6C560D", +"3F c #4B1714", +"3G c #4B1715", +"3H c #5E1C1B", +"3I c #633C15", +"3J c #735612", +"3K c #581B18", +"3L c #6A3916", +"3M c #A08E19", +"3N c #8A8218", +"3O c #7D7417", +"3P c #867F1A", +"3Q c #C49E0F", +"3R c #FFC310", +"3S c #FED420", +"3T c #FEC919", +"3U c #F0BC14", +"3V c #605A04", +"3W c #615A03", +"3X c #5D5305", +"3Y c #6A5F0A", +"3Z c #70640F", +"3& c #897E15", +"4 c #757203", +"40 c #4E2211", +"41 c #471514", +"42 c #461514", +"43 c #461615", +"44 c #471513", +"45 c #785C19", +"46 c #583B0D", +"47 c #4A1615", +"48 c #603916", +"49 c #684E16", +"4a c #7E5D14", +"4b c #897B10", +"4c c #7E760E", +"4d c #746C0C", +"4e c #675C0A", +"4f c #C59A0B", +"4g c #FFC00B", +"4h c #FEBA0D", +"4i c #FEB70D", +"4j c #DBA20C", +"4k c #554C03", +"4l c #6A5D15", +"4m c #80742F", +"4n c #625912", +"4o c #585106", +"4p c #564E06", +"4q c #78640A", +"4r c #6C6802", +"4s c #57360E", +"4t c #451513", +"4u c #3F1211", +"4v c #3A110F", +"4w c #461F10", +"4x c #6F5E13", +"4y c #4D2111", +"4z c #481614", +"4A c #571B18", +"4B c #5C3215", +"4C c #785E12", +"4D c #551A17", +"4E c #531816", +"4F c #735C0D", +"4G c #6E600A", +"4H c #6C6909", +"4I c #6D6410", +"4J c #666704", +"4K c #927B04", +"4L c #F5BB0B", +"4M c #FFB90E", +"4N c #FFB70D", +"4O c #CE980E", +"4P c #5E5115", +"4Q c #504903", +"4R c #504A01", +"4S c #524B01", +"4T c #554F02", +"4U c #595502", +"4V c #5E5A02", +"4W c #897623", +"4X c #665209", +"4Y c #421312", +"4Z c #240B0A", +"4& c #1A0906", +"5 c #3F2A0E", +"50 c #62570D", +"51 c #3F1212", +"52 c #471614", +"53 c #571917", +"54 c #5C3114", +"55 c #745E12", +"56 c #521817", +"57 c #501817", +"58 c #64530A", +"59 c #6D6304", +"5a c #686110", +"5b c #615817", +"5c c #615B14", +"5d c #5F6307", +"5e c #817507", +"5f c #A5850C", +"5g c #917818", +"5h c #5C5402", +"5i c #5D5600", +"5j c #585102", +"5k c #554F01", +"5l c #534B01", +"5m c #514A01", +"5n c #534C02", +"5o c #5A5403", +"5p c #675C0E", +"5q c #675606", +"5r c #411313", +"5s c #1A0808", +"5t c #1A0807", +"5u c #665115", +"5v c #4B4008", +"5w c #220A09", +"5x c #3C1210", +"5y c #471415", +"5z c #541818", +"5A c #5A2C16", +"5B c #7A6710", +"5C c #501816", +"5D c #5A440B", +"5E c #686603", +"5F c #625D0F", +"5G c #5E5C09", +"5H c #605717", +"5I c #615915", +"5J c #64610D", +"5K c #68620B", +"5L c #716518", +"5M c #665F02", +"5N c #645D01", +"5O c #615901", +"5P c #5C5501", +"5Q c #595101", +"5R c #564D02", +"5S c #544B02", +"5T c #564E02", +"5U c #615706", +"5V c #564B06", +"5W c #220B09", +"5X c #190807", +"5Y c #1A0706", +"5Z c #75631B", +"5& c #2E1C06", +"6 c #1C0907", +"60 c #1E0808", +"61 c #521818", +"62 c #582C14", +"63 c #7A6910", +"64 c #4E1816", +"65 c #4C1614", +"66 c #5E430B", +"67 c #6C6803", +"68 c #645F14", +"69 c #5F5C0A", +"6a c #5E5910", +"6b c #60551D", +"6c c #645C16", +"6d c #69620C", +"6e c #625C0A", +"6f c #616502", +"6g c #666201", +"6h c #665D01", +"6i c #645B02", +"6j c #5F5702", +"6k c #595002", +"6l c #574F02", +"6m c #554C07", +"6n c #493E05", +"6o c #2F1C07", +"6p c #695E0D", +"6q c #210C07", +"6r c #1D0807", +"6s c #1C0807", +"6t c #1D0909", +"6u c #552613", +"6v c #7F6B12", +"6w c #4A1614", +"6x c #55300F", +"6y c #766B03", +"6z c #655D18", +"6A c #605C11", +"6B c #5F5B0E", +"6C c #615719", +"6D c #655B18", +"6E c #675F0E", +"6F c #686011", +"6G c #606506", +"6H c #626502", +"6I c #656203", +"6J c #686002", +"6K c #655B02", +"6L c #605703", +"6M c #5D5602", +"6N c #5B5202", +"6O c #554A08", +"6P c #3B220A", +"6Q c #230A0A", +"6R c #270B0A", +"6S c #503A0D", +"6T c #534409", +"6U c #1B0807", +"6V c #1D0707", +"6W c #4F1717", +"6X c #83603D", +"6Y c #9A8C27", +"6Z c #785142", +"6& c #784F3A", +"7 c #977B43", +"70 c #917911", +"71 c #696B08", +"72 c #65581E", +"73 c #625A15", +"74 c #5F5A14", +"75 c #665E17", +"76 c #70660A", +"77 c #615D12", +"78 c #60610C", +"79 c #5F6604", +"7a c #656402", +"7b c #695F02", +"7c c #645C01", +"7d c #625803", +"7e c #605603", +"7f c #5A4B08", +"7g c #3D1310", +"7h c #3E1312", +"7i c #644F16", +"7j c #382607", +"7k c #1B0808", +"7l c #1C0808", +"7m c #4F1616", +"7n c #E2A835", +"7o c #F6B522", +"7p c #E5CA49", +"7q c #725216", +"7r c #552B11", +"7s c #542F0E", +"7t c #726D05", +"7u c #666214", +"7v c #62591C", +"7w c #625819", +"7x c #635E14", +"7y c #6B620D", +"7z c #605914", +"7A c #605F10", +"7B c #616407", +"7C c #626702", +"7D c #666601", +"7E c #6A6202", +"7F c #675E03", +"7G c #645B04", +"7H c #635804", +"7I c #49290E", +"7J c #3C1310", +"7K c #3D1212", +"7L c #451A11", +"7M c #6A5C16", +"7N c #2A110B", +"7O c #1C0707", +"7P c #1D0809", +"7Q c #1D0908", +"7R c #1D0907", +"7S c #4D1716", +"7T c #AA690E", +"7U c #D7A614", +"7V c #C1AA55", +"7W c #481514", +"7X c #461513", +"7Y c #441413", +"7Z c #6A5508", +"7& c #6D6C08", +"8 c #676018", +"80 c #645A1E", +"81 c #655E1A", +"82 c #665C0E", +"83 c #635C15", +"84 c #636011", +"85 c #626309", +"86 c #636803", +"87 c #686703", +"88 c #6C6403", +"89 c #6B6004", +"8a c #685F04", +"8b c #5B480D", +"8c c #3C1311", +"8d c #3D1312", +"8e c #512D11", +"8f c #5E4D0F", +"8g c #2D0D0D", +"8h c #1B0907", +"8i c #1C0809", +"8j c #1E0908", +"8k c #4D1616", +"8l c #511C14", +"8m c #552514", +"8n c #887424", +"8o c #98723C", +"8p c #461612", +"8q c #431413", +"8r c #441712", +"8s c #58500B", +"8t c #5B540D", +"8u c #665F16", +"8v c #86620C", +"8w c #7E670F", +"8x c #65640B", +"8y c #636806", +"8z c #656A03", +"8A c #706603", +"8B c #6D6402", +"8C c #68470B", +"8D c #513412", +"8E c #5B4A0C", +"8F c #3E1810", +"8G c #3E1311", +"8H c #684E15", +"8I c #4E300E", +"8J c #320F0F", +"8K c #1F0908", +"8L c #4B1615", +"8M c #4B1614", +"8N c #491614", +"8O c #BEB24F", +"8P c #7C532D", +"8Q c #441512", +"8R c #421412", +"8S c #401311", +"8T c #5E440B", +"8U c #756B04", +"8V c #666111", +"8W c #6D6C06", +"8X c #686C07", +"8Y c #626305", +"8Z c #626104", +"8& c #736B03", +"9 c #675D05", +"90 c #655805", +"91 c #3C2C07", +"92 c #290E0B", +"93 c #3B1211", +"94 c #4D2C11", +"95 c #58470C", +"96 c #6C4410", +"97 c #75660E", +"98 c #431C10", +"99 c #270B0B", +"9a c #1C0908", +"9b c #1E0809", +"9c c #210A0A", +"9d c #3D1211", +"9e c #4A1515", +"9f c #481515", +"9g c #563012", +"9h c #C3AF54", +"9i c #5C3117", +"9j c #421311", +"9k c #411312", +"9l c #401411", +"9m c #47220F", +"9n c #656010", +"9o c #695B06", +"9p c #706605", +"9q c #746905", +"9r c #716104", +"9s c #685606", +"9t c #50320C", +"9u c #3C140F", +"9v c #35100E", +"9w c #1A0806", +"9x c #320F0E", +"9y c #3C1211", +"9z c #563113", +"9A c #FBCB19", +"9B c #D29713", +"9C c #B27B10", +"9D c #1E0909", +"9E c #3B1110", +"9F c #4A1714", +"9G c #491515", +"9H c #644911", +"9I c #8D7C3E", +"9J c #461712", +"9K c #411412", +"9L c #3F1312", +"9M c #472411", +"9N c #63600F", +"9O c #251408", +"9P c #31100D", +"9Q c #3B1311", +"9R c #3B120F", +"9S c #3B1310", +"9T c #3A1110", +"9U c #260B0A", +"9V c #200A08", +"9W c #52310F", +"9X c #655709", +"9Y c #B68610", +"9Z c #FEB00B", +"9& c #8D4D0D", +"a c #320F0D", +"a0 c #1D0808", +"a1 c #37100F", +"a2 c #481513", +"a3 c #471414", +"a4 c #441514", +"a5 c #5D5508", +"a6 c #5C440D", +"a7 c #411411", +"a8 c #401412", +"a9 c #46230F", +"aa c #69630E", +"ab c #1F0D08", +"ac c #38100F", +"ad c #3D1210", +"ae c #3B1111", +"af c #381210", +"ag c #270C0A", +"ah c #3E2C09", +"ai c #5D5407", +"aj c #4D4305", +"ak c #362109", +"al c #663D12", +"am c #80470E", +"an c #330E0E", +"ao c #481615", +"ap c #491F10", +"aq c #5D5312", +"ar c #624110", +"as c #3F1412", +"at c #482D0F", +"au c #695E0F", +"av c #280B0B", +"aw c #3D1311", +"ax c #391110", +"ay c #291308", +"az c #413108", +"aA c #7A6E17", +"aB c #4D4303", +"aC c #2F1E05", +"aD c #1B0706", +"aE c #2F0D0C", +"aF c #3E1310", +"aG c #34100E", +"aH c #1E0907", +"aI c #1F0808", +"aJ c #2D0D0C", +"aK c #491513", +"aL c #451514", +"aM c #441412", +"aN c #421313", +"aO c #4C2812", +"aP c #625A0D", +"aQ c #573012", +"aR c #3E2B0E", +"aS c #554C09", +"aT c #391210", +"aU c #401811", +"aV c #412B0B", +"aW c #686006", +"aX c #4F4505", +"aY c #2B1B07", +"aZ c #230B09", +"a& c #2C0E0D", +"b c #1E0807", +"b0 c #300E0E", +"b1 c #441513", +"b2 c #431313", +"b3 c #56400D", +"b4 c #645C0C", +"b5 c #564910", +"b6 c #5F520B", +"b7 c #4C2510", +"b8 c #60490C", +"b9 c #5B5106", +"ba c #4D4105", +"bb c #291707", +"bc c #1A0707", +"bd c #200908", +"be c #200909", +"bf c #2C0C0D", +"bg c #451413", +"bh c #431412", +"bi c #A97E13", +"bj c #B48216", +"bk c #BE9013", +"bl c #866414", +"bm c #615808", +"bn c #341C08", +"bo c #1D0708", +"bp c #1F0909", +"bq c #1F0A08", +"br c #290C0B", +"bs c #471413", +"bt c #CF990B", +"bu c #F7AE16", +"bv c #F6AD14", +"bw c #BD870E", +"bx c #431A10", +"by c #3E1212", +"bz c #210908", +"bA c #1B0908", +"bB c #280C0B", +"bC c #461413", +"bD c #451414", +"bE c #2D0C0B", +"bF c #966C09", +"bG c #FEBE0B", +"bH c #FFBB0A", +"bI c #945C0F", +"bJ c #411212", +"bK c #1F0A09", +"bL c #210909", +"bM c #491615", +"bN c #240B09", +"bO c #250F08", +"bP c #B17D0C", +"bQ c #774210", +"bR c #2F0D0D", +"bS c #1F0809", +"bT c #200A09", +"bU c #210808", +"bV c #21080A", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s q t", +" u v w x y z A B C D E F G H I J K L M N O P Q r R r S T U U V W", +" X Y Z &0 000102030405060708090a0b0c0d0e0f0g0h0i0j0j U0k V0l0m0n", +"0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C O0D0E0F0G0H0I0J0K0L0M0N0O0O0P0Q0Q", +"0R0S0T0U0V0W e0X0Y0Z0&1 10111213141516170M18191a1b1c1d1e1f1g1h1g", +"1i1j1k1l1m1n1o1p0B1q1r1s1t1u1v1w1x1y1z1A1d1B1C1D1E1F1G1H1I1J1K1L", +"1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f", +"2g2h2i2j2k l2l2m2n2o2p1Y2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J", +"2K2L2M2N Q2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c", +" j3d3e o3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G", +"3H3I3J r3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3X3Y3Z3&4 404142434445463B47", +" q48490m0Q4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4z", +"4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 5051524z", +"535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y", +"5z5A5B5C255D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 604v", +"6162636465666768696a6b6c6d6e6f6g6h6i6j5h6k6l6m6n5X5X6o6p6q6r6s6t", +"566u6v656w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6s6r", +"6W6X6Y6Z6&7 707172737475767778797a6g7b7c7d7e7f5x7g7h7i7j7k6 6s7l", +"7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R", +"7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b5x8c8d8e8f8g8h8i7l8j", +"8k8l8m8n8o8p8q8r1j8s8t8u8v8w8x8y8z678A8B8C8D8E8F8G8H8I8J6s6 8K8J", +"8L8M8N408O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d", +"9e3B9f7W9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C8J7l7R9D9E", +"3G9F9G7W4t9H9I9J9K9L9M9N9O9P9Q9R9E9S9T9T9U9V9W9X9Y9Z9&a 7P7Ra0a1", +"9Ga24za3a49Ja5a6a7a8a9aaabacad8caeafag6rahaiajakalam4uan6t6t7R9E", +"8N3Bao52a4a4apaqarasatauavaw8cawaxayazaAaBaC4&aDa0aEaFaGaH60aIaJ", +"8LaKao7XaLaMaNaOaPaQaRaSaT7h8daUaVaWaXaY5saD7O8h6 6saZa&9bb 9bb0", +"479f41424t7Yb1b2b3b4b5b651b7b8b9babbbc9a6 a07O7Oa06t60bd8j8jbebf", +"6w4z9f41bgbg7Ybh8Rbibjbkblbm37bn7R6sa06Ubo9a7l6 a09bb 8jbp8Kbqbr", +"9G7W3BbsbsaM8qbh9ybtbubvbwbxbybz6r7RbA7Q6s7Pb 9b7Q8j7QbeaIbebdbB", +"478Nbs417XbCbDbhbEbFbGbHbIbJa17l7Q7Pa07Qa08ib 8j8j7Q60bK8KbqbLbL", +"8NbMa2a342bg7Y8RbNbObPbQa8a7bR6t7Q6ra07Q9b9Da0b bSbdbdbT8KbUbV9V"}; diff --git a/2009-x64/cps4.03/icons/cpsAttributes.xpm b/2009-x64/cps4.03/icons/cpsAttributes.xpm new file mode 100644 index 0000000..33e88d3 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpsAttributes.xpm @@ -0,0 +1,802 @@ +/* XPM */ +static char *CPSATTR_xpm[]={ +"32 32 767 2", +" c #5C1A1A", +" 0 c #762322", +" 1 c #812625", +" 2 c #812526", +" 3 c #802724", +" 4 c #7F2624", +" 5 c #7E2523", +" 6 c #7E2624", +" 7 c #7B2422", +" 8 c #792322", +" 9 c #772321", +" a c #752220", +" b c #71221F", +" c c #70221F", +" d c #6D211F", +" e c #6B201F", +" f c #854928", +" g c #AF8731", +" h c #793920", +" i c #631D1B", +" j c #631C1B", +" k c #611C1C", +" l c #5F1C1C", +" m c #5D1C1A", +" n c #5C1B19", +" o c #5B1B1A", +" p c #5A1B19", +" q c #591B1A", +" r c #5A1918", +" s c #5A191A", +" t c #591A19", +" u c #732121", +" v c #7D2423", +" w c #7E2424", +" x c #7A2324", +" y c #AE602B", +" z c #DAB877", +" A c #B27742", +" B c #8B4929", +" C c #874925", +" D c #7F4C1D", +" E c #7A4A1B", +" F c #855A1E", +" G c #7D5D16", +" H c #7F6014", +" I c #7F6411", +" J c #8E7A19", +" K c #E8C53E", +" L c #B8913B", +" M c #66241C", +" N c #601C1B", +" O c #5E1B1A", +" P c #5D1C1B", +" Q c #5D1A1A", +" R c #5A1B18", +" S c #5A1A19", +" T c #581A18", +" U c #581B19", +" V c #581918", +" W c #571A19", +" X c #571919", +" Y c #7A2422", +" Z c #792323", +" & c #792423", +"0 c #762321", +"00 c #BE6C15", +"01 c #EAAE19", +"02 c #D2B859", +"03 c #7E611F", +"04 c #81541D", +"05 c #7D4F1B", +"06 c #733A1C", +"07 c #773F1B", +"08 c #753A1A", +"09 c #6F301B", +"0a c #641D1C", +"0b c #6A2C1E", +"0c c #A47B1B", +"0d c #865426", +"0e c #C0A155", +"0f c #A38240", +"0g c #68301C", +"0h c #591A1A", +"0i c #581A19", +"0j c #571A18", +"0k c #561A19", +"0l c #561918", +"0m c #551919", +"0n c #551918", +"0o c #561A18", +"0p c #772320", +"0q c #752222", +"0r c #752121", +"0s c #712321", +"0t c #7B2B1F", +"0u c #B8951D", +"0v c #84571A", +"0w c #AF9C65", +"0x c #8E5648", +"0y c #67201E", +"0z c #661F1C", +"0A c #641F1B", +"0B c #773620", +"0C c #884F2A", +"0D c #976826", +"0E c #8B591E", +"0F c #7A4F19", +"0G c #5A1C19", +"0H c #794620", +"0I c #B69D41", +"0J c #AD9259", +"0K c #6C391E", +"0L c #551A17", +"0M c #561919", +"0N c #551818", +"0O c #541A18", +"0P c #541817", +"0Q c #541818", +"0R c #732120", +"0S c #712220", +"0T c #712120", +"0U c #6F2020", +"0V c #6D211E", +"0W c #6B201E", +"0X c #6E5913", +"0Y c #691F1D", +"0Z c #6A281B", +"0& c #8A7238", +"1 c #B69684", +"10 c #854C2B", +"11 c #D1BD7D", +"12 c #FFF9BB", +"13 c #FBF588", +"14 c #C8B645", +"15 c #A89926", +"16 c #9F911C", +"17 c #8A7314", +"18 c #622D18", +"19 c #551A18", +"1a c #66341C", +"1b c #B89D56", +"1c c #A88B39", +"1d c #926D28", +"1e c #9E7D26", +"1f c #5E2618", +"1g c #511917", +"1h c #531716", +"1i c #521917", +"1j c #511818", +"1k c #6E211F", +"1l c #6E201E", +"1m c #6C201E", +"1n c #6A1F1E", +"1o c #671E1D", +"1p c #6F5D11", +"1q c #641F1C", +"1r c #601E1A", +"1s c #84611C", +"1t c #B0A447", +"1u c #FCFDE6", +"1v c #FFFEFE", +"1w c #F9F2A4", +"1x c #B6AD45", +"1y c #908820", +"1z c #807B12", +"1A c #78740B", +"1B c #7C7409", +"1C c #5C2D13", +"1D c #511817", +"1E c #5B2915", +"1F c #5B3213", +"1G c #776015", +"1H c #A09B2B", +"1I c #FED935", +"1J c #B87614", +"1K c #501716", +"1L c #511717", +"1M c #511816", +"1N c #6B1F1D", +"1O c #691F1E", +"1P c #69201D", +"1Q c #671E1C", +"1R c #651E1D", +"1S c #631E1C", +"1T c #7C6619", +"1U c #601C1C", +"1V c #5F1D1A", +"1W c #66261B", +"1X c #CFB538", +"1Y c #DFC960", +"1Z c #C2BA74", +"1& c #EAD766", +"2 c #F7F466", +"20 c #C7C240", +"21 c #857E15", +"22 c #74710C", +"23 c #736F0A", +"24 c #676206", +"25 c #786C0E", +"26 c #5C5104", +"27 c #5E5008", +"28 c #654C0C", +"29 c #572F0F", +"2a c #A17B1F", +"2b c #D9920F", +"2c c #7A3D13", +"2d c #4F1815", +"2e c #4E1615", +"2f c #4F1616", +"2g c #4F1817", +"2h c #661E1E", +"2i c #651E1C", +"2j c #651E1B", +"2k c #621D1C", +"2l c #745E16", +"2m c #5E1C19", +"2n c #5B1C1A", +"2o c #8B651B", +"2p c #B1A02D", +"2q c #A6983B", +"2r c #B9A752", +"2s c #E8B316", +"2t c #FFC71A", +"2u c #FFBB12", +"2v c #706004", +"2w c #696004", +"2x c #6A6205", +"2y c #666203", +"2z c #6D6607", +"2A c #674E0C", +"2B c #4B1815", +"2C c #4B1716", +"2D c #4C1615", +"2E c #6B4C19", +"2F c #532712", +"2G c #4D1616", +"2H c #4D1715", +"2I c #4C1715", +"2J c #4E1616", +"2K c #631D1C", +"2L c #621E1C", +"2M c #601E1B", +"2N c #5E1C1B", +"2O c #715E0D", +"2P c #7A6B10", +"2Q c #94881D", +"2R c #897E19", +"2S c #85781B", +"2T c #B8930D", +"2U c #FEBC0D", +"2V c #E9AB0C", +"2W c #605C21", +"2X c #67632D", +"2Y c #5C5310", +"2Z c #5A5108", +"2& c #686309", +"3 c #716706", +"30 c #4A1714", +"31 c #491614", +"32 c #4B1715", +"33 c #6D5914", +"34 c #4C1B13", +"35 c #4B1614", +"36 c #601D1C", +"37 c #5D1B1A", +"38 c #581B18", +"39 c #735D11", +"3a c #561B17", +"3b c #592315", +"3c c #6B6404", +"3d c #726608", +"3e c #796E17", +"3f c #716C06", +"3g c #686003", +"3h c #72670D", +"3i c #675D0C", +"3j c #575002", +"3k c #534B01", +"3l c #534C02", +"3m c #565003", +"3n c #5D5903", +"3o c #706B03", +"3p c #4D2011", +"3q c #471714", +"3r c #4C1C16", +"3s c #6B5516", +"3t c #491613", +"3u c #481514", +"3v c #4A1515", +"3w c #4A1614", +"3x c #4C1714", +"3y c #5D1B19", +"3z c #591B18", +"3A c #6B5A0F", +"3B c #521816", +"3C c #582813", +"3D c #635B04", +"3E c #676309", +"3F c #635D10", +"3G c #615A17", +"3H c #626509", +"3I c #635B0D", +"3J c #5D5604", +"3K c #635B02", +"3L c #5D5401", +"3M c #575001", +"3N c #544C01", +"3O c #585103", +"3P c #60570B", +"3Q c #4E2312", +"3R c #461513", +"3S c #552914", +"3T c #58390F", +"3U c #471515", +"3V c #471615", +"3W c #491514", +"3X c #481513", +"3Y c #491515", +"3Z c #571918", +"3& c #541A17", +"4 c #6E5911", +"40 c #4E1815", +"41 c #706605", +"42 c #665F17", +"43 c #615E0E", +"44 c #635818", +"45 c #635D17", +"46 c #5D560A", +"47 c #5A5B04", +"48 c #686201", +"49 c #665F02", +"4a c #605602", +"4b c #5C5402", +"4c c #574F03", +"4d c #5F5705", +"4e c #491B12", +"4f c #431512", +"4g c #5E4111", +"4h c #4C2411", +"4i c #451414", +"4j c #461514", +"4k c #461614", +"4l c #471413", +"4m c #551917", +"4n c #6A5310", +"4o c #4E1814", +"4p c #71561A", +"4q c #6C6710", +"4r c #645C13", +"4s c #625B15", +"4t c #645B18", +"4u c #574D09", +"4v c #62640A", +"4w c #646703", +"4x c #686503", +"4y c #695E03", +"4z c #615704", +"4A c #5C5404", +"4B c #5C4909", +"4C c #421512", +"4D c #431312", +"4E c #5F4A0F", +"4F c #431613", +"4G c #451412", +"4H c #441414", +"4I c #441413", +"4J c #461413", +"4K c #481613", +"4L c #481614", +"4M c #571A17", +"4N c #541918", +"4O c #541816", +"4P c #501717", +"4Q c #7B4B2F", +"4R c #957D2B", +"4S c #7F5835", +"4T c #825B2B", +"4U c #8D711E", +"4V c #746B07", +"4W c #696018", +"4X c #655C1A", +"4Y c #675C17", +"4Z c #5B510C", +"4& c #646011", +"5 c #7E7D18", +"50 c #696703", +"51 c #6D6403", +"52 c #665D04", +"53 c #605607", +"54 c #4B270F", +"55 c #401411", +"56 c #471C12", +"57 c #5A450D", +"58 c #431311", +"59 c #441412", +"5a c #461613", +"5b c #451513", +"5c c #551817", +"5d c #531817", +"5e c #4D1716", +"5f c #A7630D", +"5g c #E0A917", +"5h c #7C5A13", +"5i c #5F3710", +"5j c #461612", +"5k c #61480C", +"5l c #67620B", +"5m c #6B6118", +"5n c #675F16", +"5o c #66550E", +"5p c #666411", +"5q c #666907", +"5r c #696A03", +"5s c #6F6503", +"5t c #6A5F05", +"5u c #6C4C0F", +"5v c #3E1310", +"5w c #3E1411", +"5x c #502C13", +"5y c #52360D", +"5z c #421312", +"5A c #431413", +"5B c #451413", +"5C c #531818", +"5D c #4F1816", +"5E c #4E1716", +"5F c #4D1615", +"5G c #571F14", +"5H c #7E5013", +"5I c #514208", +"5J c #471E10", +"5K c #441513", +"5L c #451711", +"5M c #69510A", +"5N c #746F09", +"5O c #65610C", +"5P c #686308", +"5Q c #5A5708", +"5R c #636207", +"5S c #706607", +"5T c #706304", +"5U c #56400A", +"5V c #624F0E", +"5W c #45230E", +"5X c #3D1410", +"5Y c #624513", +"5Z c #46210F", +"5& c #401412", +"6 c #421412", +"60 c #421413", +"61 c #451514", +"62 c #451314", +"63 c #501916", +"64 c #491513", +"65 c #4B1E10", +"66 c #534507", +"67 c #461C10", +"68 c #401312", +"69 c #3F1411", +"6a c #4C270E", +"6b c #6A600F", +"6c c #796906", +"6d c #776D06", +"6e c #756606", +"6f c #655108", +"6g c #392309", +"6h c #3A1310", +"6i c #3C1310", +"6j c #583D0D", +"6k c #74540F", +"6l c #907310", +"6m c #4B1D11", +"6n c #411412", +"6o c #431313", +"6p c #441313", +"6q c #4B1616", +"6r c #461512", +"6s c #491E10", +"6t c #594C06", +"6u c #451B10", +"6v c #3D1310", +"6w c #5E510F", +"6x c #3B1210", +"6y c #3B1310", +"6z c #35110F", +"6A c #180706", +"6B c #1F0A08", +"6C c #371210", +"6D c #42210E", +"6E c #8E760D", +"6F c #F6A90F", +"6G c #80470E", +"6H c #3E1311", +"6I c #3F1311", +"6J c #411413", +"6K c #280C0C", +"6L c #2E0D0C", +"6M c #4A1715", +"6N c #451512", +"6O c #441613", +"6P c #441F10", +"6Q c #544906", +"6R c #421C10", +"6S c #3E150F", +"6T c #5A4C12", +"6U c #3A130F", +"6V c #3A1210", +"6W c #39110F", +"6X c #36110E", +"6Y c #251307", +"6Z c #3A2F06", +"6& c #473C04", +"7 c #352805", +"70 c #42290A", +"71 c #84550B", +"72 c #3F180C", +"73 c #3D1211", +"74 c #3F1211", +"75 c #411312", +"76 c #270B0A", +"77 c #1E0809", +"78 c #4C1716", +"79 c #4A1615", +"7a c #471513", +"7b c #441512", +"7c c #45210F", +"7d c #544A0A", +"7e c #452211", +"7f c #5D4A0F", +"7g c #3B150F", +"7h c #482B0C", +"7i c #503E06", +"7j c #4A3E03", +"7k c #251606", +"7l c #1C0807", +"7m c #200A08", +"7n c #1D0907", +"7o c #1D0808", +"7p c #1C0707", +"7q c #1A0708", +"7r c #230A09", +"7s c #260B0B", +"7t c #290D0C", +"7u c #2D0D0D", +"7v c #1D0908", +"7w c #4B1615", +"7x c #491713", +"7y c #471614", +"7z c #401511", +"7A c #3F1412", +"7B c #49240F", +"7C c #E49F17", +"7D c #BD8713", +"7E c #66490B", +"7F c #4B3908", +"7G c #42240D", +"7H c #180707", +"7I c #210908", +"7J c #310F0D", +"7K c #3C1210", +"7L c #3B1211", +"7M c #2C0D0C", +"7N c #290D0A", +"7O c #1D0909", +"7P c #1F0809", +"7Q c #481515", +"7R c #471514", +"7S c #421513", +"7T c #411411", +"7U c #3F1210", +"7V c #441811", +"7W c #F8B80A", +"7X c #FEB60C", +"7Y c #67390F", +"7Z c #3A1110", +"7& c #3A120F", +"8 c #320F0D", +"80 c #1A0807", +"81 c #35110E", +"82 c #35100F", +"83 c #1E0807", +"84 c #39120F", +"85 c #3E1212", +"86 c #3E1211", +"87 c #33100D", +"88 c #310D0D", +"89 c #270A0C", +"8a c #210A09", +"8b c #441514", +"8c c #421313", +"8d c #401311", +"8e c #66370F", +"8f c #6C3C0E", +"8g c #2A0C0B", +"8h c #180807", +"8i c #240B0A", +"8j c #3D1210", +"8k c #3F1212", +"8l c #401211", +"8m c #411311", +"8n c #421311", +"8o c #3E1110", +"8p c #471414", +"8q c #3C1311", +"8r c #3A1211", +"8s c #210A08", +"8t c #3B1111", +"8u c #1F0909", +"8v c #2E0E0D", +"8w c #3D1312", +"8x c #401212", +"8y c #401213", +"8z c #3F1213", +"8A c #491615", +"8B c #461412", +"8C c #4F2113", +"8D c #9C7B0C", +"8E c #4D2111", +"8F c #451A12", +"8G c #997A0C", +"8H c #997A0B", +"8I c #98790B", +"8J c #977A0C", +"8K c #98780B", +"8L c #6C4A0E", +"8M c #94780B", +"8N c #867307", +"8O c #937B07", +"8P c #9C7F0B", +"8Q c #9D7E0A", +"8R c #4E260F", +"8S c #85690B", +"8T c #8D7906", +"8U c #9C7F0A", +"8V c #9F7E0A", +"8W c #815D0D", +"8X c #491415", +"8Y c #85600F", +"8Z c #CFBA08", +"8& c #83610D", +"9 c #75500E", +"90 c #75510E", +"91 c #E0CC07", +"92 c #744F0E", +"93 c #6C490F", +"94 c #4F270F", +"95 c #63460B", +"96 c #534006", +"97 c #D8C207", +"98 c #6D490D", +"99 c #6D490E", +"9a c #421A10", +"9b c #CDB507", +"9c c #65450B", +"9d c #5A4308", +"9e c #6E490E", +"9f c #B0940A", +"9g c #A6860B", +"9h c #411212", +"9i c #411313", +"9j c #481414", +"9k c #C9B50A", +"9l c #5A3011", +"9m c #D0BA0A", +"9n c #CEB807", +"9o c #441A10", +"9p c #2A0C0C", +"9q c #CBB708", +"9r c #3D1111", +"9s c #3D1311", +"9t c #CDB607", +"9u c #21090A", +"9v c #2B0C0B", +"9w c #D0B509", +"9x c #4A1414", +"9y c #5D3113", +"9z c #C4AD0A", +"9A c #BEA60A", +"9B c #663D0F", +"9C c #3F1312", +"9D c #CFB909", +"9E c #441A12", +"9F c #3E1210", +"9G c #200908", +"9H c #1E0808", +"9I c #CDB609", +"9J c #3D1212", +"9K c #3E1312", +"9L c #CEB608", +"9M c #68420E", +"9N c #63420C", +"9O c #5F4908", +"9P c #BAA209", +"9Q c #98780D", +"9R c #431412", +"9S c #461414", +"9T c #A98C0C", +"9U c #AC920C", +"9V c #83600F", +"9W c #A7890B", +"9X c #B89E0A", +"9Y c #441911", +"9Z c #1E0909", +"9& c #290D0B", +"a c #CEB709", +"a0 c #D4BE08", +"a1 c #9A8308", +"a2 c #AB9907", +"a3 c #E9D906", +"a4 c #725F08", +"a5 c #320E0E", +"a6 c #DCCC09", +"a7 c #8A680E", +"a8 c #8A680D", +"a9 c #8A670D", +"aa c #D6C109", +"ab c #481A11", +"ac c #CFBA09", +"ad c #461912", +"ae c #401410", +"af c #1C0908", +"ag c #38100F", +"ah c #CFB808", +"ai c #CCB708", +"aj c #1D0807", +"ak c #877408", +"al c #B0A006", +"am c #220A0A", +"an c #230A0A", +"ao c #391110", +"ap c #4A1514", +"aq c #491414", +"ar c #7B5410", +"as c #AE930D", +"at c #A1830C", +"au c #82610D", +"av c #CEBA0A", +"aw c #461A11", +"ax c #360F10", +"ay c #CEB808", +"az c #381110", +"aA c #CAB707", +"aB c #1E0908", +"aC c #1F0908", +"aD c #C7B607", +"aE c #645209", +"aF c #200909", +"aG c #2A0B0C", +"aH c #9D7D0F", +"aI c #643811", +"aJ c #552813", +"aK c #A78B0C", +"aL c #A0840C", +"aM c #4C2110", +"aN c #260A0A", +"aO c #3B120F", +"aP c #A5880B", +"aQ c #2F0E0C", +"aR c #8F7C08", +"aS c #1F0A09", +"aT c #200808", +"aU c #341F08", +"aV c #826E08", +"aW c #20080A", +"aX c #200809", +"aY c #210A0A", +"aZ c #210909", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t", +" u v w v x y z A B C D E F G H I J K L M N O P Q R p S T U V W X", +" Y Z Y &0 000102030405060708090a0b0c0d0e0f0g0h0i0i0j W0k0l0m0n0o", +"0p0q0r u0s0t0u0v0w0x0y0z0A0B0C0D0E0F p0G0H0I0J0K0l0L0M0N0O0P0Q0n", +"0R0S0T0U0V0W0X0Y0Z0&1 10111213141516171819191a1b1c1d1e1f1g1h1i1j", +"1k1l1m e1n1o1p1q i1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1L", +"1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g", +"2h2i2j0a2k1U2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2G2I2J", +"2K2L2M N2N2n2O p T2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233343535322D2G", +" k362N37 p38393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v303w3x", +" P3y n S3z X3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X313Y", +"2n t3Z3a0n3&4 2d404142434445464748494a4b4c4d4e4f4g4h4i4j4k4l313u", +" T0j0o4m1i1D4n4o2G4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L", +"4M4N4O1M4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758594H4G5a5b3R", +"5c5d1i2g5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z585A4D4G5B4j", +"5C1i5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&5&6 604I6162", +"1M635D2G3x643u65666768696a6b6c6d6e6f6g6h6i6j6k6l6m69556n586o4D6p", +"4P2J5F6q3v3q6r4j6s6t6u5v6v6w6i6x6y6z6A6B6C6D6E6F6G6H6I5&5z6J6K6L", +"1K2G3x6M3w4j6N6O606P6Q6R6S6T6U6V6W6X6Y6Z6&7 70717273745w6n757677", +"2f7879307a3R7b595z687c7d7e7f6h7g7h7i7j7k7l7m7n7o7p7q7o7r7s7t7u7v", +"5F7w797x7y3R59607z7A697B7C7D7E7F7G6W7H7I7v7J7K7L7M7N7s7n7p7n7O7P", +"2I797Q3W7R4J597S7T557U7V7W7X7Y7Z7&8 80818283847K858574868788898a", +"6M3Y3u4K4j4H8b8c5&8d5w6v8e8f6x7&6y8g8h7&6V7u8i6y7K8j8k8l8m8n6 8o", +"2D3W3Y4j8p7b59606n6I7A858q6v6x6V8r7I8s8t6x6y8u8v8w738x8y8z75606 ", +"6q3Y8A8p8B8C8D8E5z8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8l8d7T4D8c", +"3w3X8X7a5B8Y8Z8&8m8d9 909192939495969798999a9b9c9d9e9f9g9h9i605z", +"7w7Q9j7a5B9k9l9m8m8x5&8k9n9o6v5v9p7l9q9r9s869t859u9v7A9w8x6 6 60", +"8A9x8p7a9y9z7b9A9B68749C9D9E9F9F9G9H9I9r9J9K9L9M9N9O9P9Q8c9i6 9R", +"3W8p3u9S9T9U9V9W9X6n686I8Z9Y9K849Z9&a 8j865va0a1a2a3a49&a5739R6p", +"3Y3Y7R4ja6a7a8a9aaab5&75acadae7Jafagah9F8674ai77ajakal6Bamanao4I", +"ap3uaqaras5K7b59atau6n6navaw8x9vajaxay689CazaA7OaBaCaDaEaF7IanaG", +"3W3u3uaHaI615b7baJaK608caLaM8k8aaNaOaP8x8kaQaR9HaSaTaUaVaWaXaYaZ"}; diff --git a/2009-x64/cps4.03/icons/cpsControl.xpm b/2009-x64/cps4.03/icons/cpsControl.xpm new file mode 100644 index 0000000..3e8e671 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpsControl.xpm @@ -0,0 +1,804 @@ +/* XPM */ +static char *CPSC_xpm[]={ +"32 32 769 2", +" c #621C1C", +" 0 c #772322", +" 1 c #802624", +" 2 c #822525", +" 3 c #7F2623", +" 4 c #7D2523", +" 5 c #7C2624", +" 6 c #7B2522", +" 7 c #792321", +" 8 c #772321", +" 9 c #742220", +" a c #712120", +" b c #6F201F", +" c c #6D201E", +" d c #6B1F1E", +" e c #844927", +" f c #AE8732", +" g c #77381F", +" h c #631D1C", +" i c #621D1B", +" j c #611C1B", +" k c #5F1C1A", +" l c #5D1D1B", +" m c #5D1C19", +" n c #5C1C1A", +" o c #5B1A1A", +" p c #5A1A19", +" q c #591A19", +" r c #5A1A1A", +" s c #581918", +" t c #712021", +" u c #7C2523", +" v c #7D2524", +" w c #7C2524", +" x c #7C2423", +" y c #AC5F2C", +" z c #D9B878", +" A c #B17942", +" B c #8B492A", +" C c #874924", +" D c #7D481B", +" E c #7B491A", +" F c #825A1B", +" G c #836017", +" H c #7F6116", +" I c #8B6D17", +" J c #B39639", +" K c #FACE43", +" L c #BF9749", +" M c #67251D", +" N c #5E1B1C", +" O c #5D1B1B", +" P c #5C1B1A", +" Q c #5B1B19", +" R c #591B19", +" S c #581A1A", +" T c #571A18", +" U c #581A19", +" V c #561A19", +" W c #792423", +" X c #7A2423", +" Y c #772323", +" Z c #772221", +" & c #BF6C16", +"0 c #F0AC19", +"00 c #D5B85D", +"01 c #8B6C20", +"02 c #82551D", +"03 c #7A4A1A", +"04 c #74391C", +"05 c #7B421B", +"06 c #6D311A", +"07 c #70301B", +"08 c #631E1C", +"09 c #6B2A1E", +"0a c #A1791D", +"0b c #875527", +"0c c #B19235", +"0d c #A07E3D", +"0e c #68301B", +"0f c #581A18", +"0g c #581919", +"0h c #571A19", +"0i c #561A18", +"0j c #571A17", +"0k c #561A17", +"0l c #551A19", +"0m c #551919", +"0n c #762322", +"0o c #752120", +"0p c #742221", +"0q c #742321", +"0r c #732220", +"0s c #7B2A1E", +"0t c #BC991F", +"0u c #8B5F23", +"0v c #AD9A64", +"0w c #8E5648", +"0x c #681F1C", +"0y c #651E1C", +"0z c #641F1D", +"0A c #763621", +"0B c #884F2B", +"0C c #956525", +"0D c #895420", +"0E c #7C501A", +"0F c #5B1C19", +"0G c #78481F", +"0H c #B39533", +"0I c #A58640", +"0J c #6C381D", +"0K c #561918", +"0L c #541917", +"0M c #551917", +"0N c #541918", +"0O c #551918", +"0P c #541818", +"0Q c #72221F", +"0R c #71221F", +"0S c #6E201F", +"0T c #6D211F", +"0U c #6C1F1E", +"0V c #6B5810", +"0W c #691E1D", +"0X c #6A291B", +"0Y c #8A722D", +"0Z c #B69982", +"0& c #854B2B", +"1 c #D3BC7D", +"10 c #FEF2B6", +"11 c #FBF488", +"12 c #C9B947", +"13 c #A99B29", +"14 c #9C8E1A", +"15 c #8B7315", +"16 c #622D17", +"17 c #551A17", +"18 c #551817", +"19 c #67341B", +"1a c #BCA25C", +"1b c #B1954D", +"1c c #926D28", +"1d c #9E7E24", +"1e c #5D2719", +"1f c #521916", +"1g c #531716", +"1h c #521917", +"1i c #531718", +"1j c #6D2020", +"1k c #6C201F", +"1l c #6C201E", +"1m c #691F1D", +"1n c #671E1D", +"1o c #6B5913", +"1p c #661E1C", +"1q c #631E1B", +"1r c #83601C", +"1s c #BFB765", +"1t c #FDFCE7", +"1u c #FEFFFE", +"1v c #F7F0A7", +"1w c #B3AA42", +"1x c #918721", +"1y c #827A13", +"1z c #7B750C", +"1A c #7C750A", +"1B c #5D2C13", +"1C c #5A2915", +"1D c #5D3413", +"1E c #776015", +"1F c #A79722", +"1G c #FED933", +"1H c #B77613", +"1I c #501816", +"1J c #511817", +"1K c #511816", +"1L c #6A201D", +"1M c #691F1E", +"1N c #671F1E", +"1O c #651F1B", +"1P c #796112", +"1Q c #5E1D1B", +"1R c #64271B", +"1S c #D2B739", +"1T c #DECB61", +"1U c #C5BB76", +"1V c #E9D866", +"1W c #F7F466", +"1X c #C6C33F", +"1Y c #857E14", +"1Z c #75700B", +"1& c #706C08", +"2 c #6B6707", +"20 c #665E04", +"21 c #6B6306", +"22 c #5C4B08", +"23 c #5D440C", +"24 c #562E11", +"25 c #A47C1F", +"26 c #DA9511", +"27 c #7A3E14", +"28 c #4E1716", +"29 c #4F1617", +"2a c #4E1715", +"2b c #4F1716", +"2c c #671E1E", +"2d c #661F1D", +"2e c #651D1D", +"2f c #621E1C", +"2g c #611D1B", +"2h c #776314", +"2i c #5D1B1A", +"2j c #896319", +"2k c #AE9C2F", +"2l c #A79A3B", +"2m c #AE9D49", +"2n c #E8B415", +"2o c #FEC81A", +"2p c #FFBD12", +"2q c #716406", +"2r c #645B05", +"2s c #625A05", +"2t c #686304", +"2u c #6B630A", +"2v c #68500B", +"2w c #4C1816", +"2x c #4D1714", +"2y c #4D1615", +"2z c #6A471B", +"2A c #522812", +"2B c #4E1616", +"2C c #4C1715", +"2D c #4E1815", +"2E c #641D1C", +"2F c #621E1D", +"2G c #5F1D1A", +"2H c #5E1C19", +"2I c #5D1D1A", +"2J c #725E10", +"2K c #581B18", +"2L c #571B19", +"2M c #7B6C0E", +"2N c #92871C", +"2O c #857919", +"2P c #7F7117", +"2Q c #B8920D", +"2R c #FEBC0E", +"2S c #EDAB0C", +"2T c #5C560A", +"2U c #83782F", +"2V c #675A17", +"2W c #585105", +"2X c #735A0B", +"2Y c #706705", +"2Z c #4A1715", +"2& c #4B1615", +"3 c #491615", +"30 c #6F5A14", +"31 c #4C1A13", +"32 c #4A1615", +"33 c #4B1514", +"34 c #4B1715", +"35 c #4D1716", +"36 c #4C1616", +"37 c #601D1B", +"38 c #601D1A", +"39 c #591A18", +"3a c #725F10", +"3b c #561B18", +"3c c #592316", +"3d c #6F6806", +"3e c #70650C", +"3f c #716B14", +"3g c #6E6B07", +"3h c #676103", +"3i c #76680C", +"3j c #88620F", +"3k c #565001", +"3l c #534B01", +"3m c #514B01", +"3n c #565002", +"3o c #5D5803", +"3p c #6D650A", +"3q c #4E1F12", +"3r c #471513", +"3s c #4D1A15", +"3t c #674F13", +"3u c #491614", +"3v c #4A1514", +"3w c #5E1B1B", +"3x c #5B1C1A", +"3y c #5A1B18", +"3z c #581A17", +"3A c #67550F", +"3B c #592814", +"3C c #625A04", +"3D c #67600D", +"3E c #655E11", +"3F c #615B16", +"3G c #636309", +"3H c #62580E", +"3I c #5D5804", +"3J c #635A01", +"3K c #5D5402", +"3L c #585102", +"3M c #524C02", +"3N c #645D04", +"3O c #4E2312", +"3P c #461514", +"3Q c #552A15", +"3R c #58390F", +"3S c #461614", +"3T c #481514", +"3U c #491513", +"3V c #4A1515", +"3W c #491515", +"3X c #5B1A19", +"3Y c #531918", +"3Z c #695312", +"3& c #726604", +"4 c #676014", +"40 c #605D0B", +"41 c #615917", +"42 c #645B18", +"43 c #5B560A", +"44 c #626702", +"45 c #676202", +"46 c #675D02", +"47 c #605803", +"48 c #5B5303", +"49 c #574E04", +"4a c #615A05", +"4b c #481B12", +"4c c #431413", +"4d c #674712", +"4e c #4C2310", +"4f c #451614", +"4g c #461413", +"4h c #491414", +"4i c #531917", +"4j c #531916", +"4k c #695210", +"4l c #4B1616", +"4m c #7F631B", +"4n c #6B6311", +"4o c #645D13", +"4p c #635B14", +"4q c #655D17", +"4r c #5B530A", +"4s c #63630B", +"4t c #656803", +"4u c #696502", +"4v c #685D04", +"4w c #625903", +"4x c #5D5303", +"4y c #5B4709", +"4z c #411511", +"4A c #431411", +"4B c #604910", +"4C c #441712", +"4D c #451513", +"4E c #441414", +"4F c #451414", +"4G c #451413", +"4H c #471614", +"4I c #471613", +"4J c #551816", +"4K c #501917", +"4L c #7A4A30", +"4M c #AC902F", +"4N c #7F5833", +"4O c #7C5626", +"4P c #96761D", +"4Q c #736B07", +"4R c #6A5F1B", +"4S c #655B1B", +"4T c #675D18", +"4U c #63540B", +"4V c #64620F", +"4W c #636705", +"4X c #6A6702", +"4Y c #6D6203", +"4Z c #665C03", +"4& c #615607", +"5 c #4B290E", +"50 c #411411", +"51 c #461B11", +"52 c #5D4710", +"53 c #431513", +"54 c #431313", +"55 c #431412", +"56 c #451514", +"57 c #471514", +"58 c #511717", +"59 c #511917", +"5a c #4D1715", +"5b c #A5630D", +"5c c #EBAA18", +"5d c #7D5913", +"5e c #5E3812", +"5f c #461612", +"5g c #63490A", +"5h c #696509", +"5i c #6B601A", +"5j c #685D1A", +"5k c #6A570C", +"5l c #666211", +"5m c #666A07", +"5n c #6D6903", +"5o c #6F6504", +"5p c #6C6004", +"5q c #5D4809", +"5r c #3E1210", +"5s c #3F1311", +"5t c #512B14", +"5u c #51360D", +"5v c #421411", +"5w c #411413", +"5x c #421512", +"5y c #441412", +"5z c #531818", +"5A c #501717", +"5B c #4F1815", +"5C c #4C1814", +"5D c #562114", +"5E c #7F4F11", +"5F c #594807", +"5G c #481E12", +"5H c #441513", +"5I c #441711", +"5J c #644C0B", +"5K c #787205", +"5L c #645C10", +"5M c #66620A", +"5N c #595607", +"5O c #676704", +"5P c #746B04", +"5Q c #655805", +"5R c #58400A", +"5S c #684E10", +"5T c #44230F", +"5U c #3D1311", +"5V c #614613", +"5W c #47220E", +"5X c #401412", +"5Y c #401413", +"5Z c #411412", +"5& c #431312", +"6 c #451313", +"60 c #461412", +"61 c #501916", +"62 c #511716", +"63 c #4B1614", +"64 c #4A1613", +"65 c #481513", +"66 c #4A1E10", +"67 c #5A4A07", +"68 c #471D10", +"69 c #3E1512", +"6a c #4B280D", +"6b c #766313", +"6c c #796907", +"6d c #766C05", +"6e c #746506", +"6f c #645108", +"6g c #382208", +"6h c #371110", +"6i c #3B1310", +"6j c #55370F", +"6k c #755410", +"6l c #8E730F", +"6m c #4B1E11", +"6n c #401212", +"6o c #411312", +"6p c #421312", +"6q c #491514", +"6r c #451612", +"6s c #481E10", +"6t c #5A4D06", +"6u c #441D11", +"6v c #3E1311", +"6w c #675910", +"6x c #3C1310", +"6y c #3C130F", +"6z c #3C1410", +"6A c #36120E", +"6B c #180706", +"6C c #210909", +"6D c #34100E", +"6E c #44210E", +"6F c #8F730B", +"6G c #FBB00F", +"6H c #81470E", +"6I c #3F1411", +"6J c #401311", +"6K c #411313", +"6L c #290B0C", +"6M c #300E0E", +"6N c #4F1817", +"6O c #4B1515", +"6P c #481515", +"6Q c #461613", +"6R c #421413", +"6S c #461F0F", +"6T c #544A07", +"6U c #401B10", +"6V c #3D1611", +"6W c #5C4C10", +"6X c #3A130F", +"6Y c #3B130F", +"6Z c #3A1211", +"6& c #35110E", +"7 c #261408", +"70 c #3B2F06", +"71 c #463D03", +"72 c #342704", +"73 c #3D270A", +"74 c #80530B", +"75 c #3F190C", +"76 c #3C1211", +"77 c #3E1411", +"78 c #401312", +"79 c #2B0D0D", +"7a c #1E0807", +"7b c #4C1514", +"7c c #491715", +"7d c #461414", +"7e c #44200F", +"7f c #524809", +"7g c #44220F", +"7h c #5C4A10", +"7i c #3A1310", +"7j c #3B1610", +"7k c #43270A", +"7l c #564606", +"7m c #443A04", +"7n c #251606", +"7o c #1B0806", +"7p c #1E0909", +"7q c #1C0908", +"7r c #1C0807", +"7s c #1A0708", +"7t c #1F0908", +"7u c #240A09", +"7v c #240B0A", +"7w c #310F0E", +"7x c #300E0D", +"7y c #1E0808", +"7z c #431512", +"7A c #411410", +"7B c #48250F", +"7C c #E79E17", +"7D c #C38612", +"7E c #66480A", +"7F c #4D3909", +"7G c #44230D", +"7H c #35110F", +"7I c #180707", +"7J c #210B08", +"7K c #310F0D", +"7L c #3B1210", +"7M c #39110F", +"7N c #32100D", +"7O c #2C0C0D", +"7P c #250C0A", +"7Q c #1C0806", +"7R c #1B0908", +"7S c #1D0908", +"7T c #1E0907", +"7U c #461513", +"7V c #441512", +"7W c #421412", +"7X c #401411", +"7Y c #431910", +"7Z c #F9B90A", +"7& c #FEB40B", +"8 c #66380F", +"80 c #3B120F", +"81 c #2F100C", +"82 c #36100F", +"83 c #1F0A09", +"84 c #391211", +"85 c #3D1212", +"86 c #3E1310", +"87 c #320E0D", +"88 c #2E0E0D", +"89 c #270A0B", +"8a c #200909", +"8b c #4B1716", +"8c c #481615", +"8d c #3E1312", +"8e c #66390E", +"8f c #6D3B0E", +"8g c #3B110F", +"8h c #290D0A", +"8i c #1C0808", +"8j c #37100E", +"8k c #300F0C", +"8l c #230A0A", +"8m c #3D1211", +"8n c #411212", +"8o c #4A1716", +"8p c #481614", +"8q c #3C1311", +"8r c #3B1211", +"8s c #3C1111", +"8t c #210A08", +"8u c #300F0D", +"8v c #3F1213", +"8w c #411311", +"8x c #421313", +"8y c #471515", +"8z c #734B0F", +"8A c #AC900C", +"8B c #B79D09", +"8C c #88670D", +"8D c #522711", +"8E c #86660D", +"8F c #997A0B", +"8G c #98780B", +"8H c #98790A", +"8I c #98790C", +"8J c #795C0A", +"8K c #3A2508", +"8L c #8B7408", +"8M c #96790B", +"8N c #91720A", +"8O c #4F260F", +"8P c #2B1609", +"8Q c #96780B", +"8R c #3F1212", +"8S c #401211", +"8T c #4D1C14", +"8U c #C5AE0B", +"8V c #DCC809", +"8W c #9A7D0C", +"8X c #89660D", +"8Y c #BDA50A", +"8Z c #BEA50A", +"8& c #987A0C", +"9 c #A4880C", +"90 c #B19509", +"91 c #F9E706", +"92 c #A3860B", +"93 c #A3880B", +"94 c #7C620A", +"95 c #524007", +"96 c #E6D106", +"97 c #A3870A", +"98 c #BBA20A", +"99 c #ECD805", +"9a c #4A2010", +"9b c #3E1D0C", +"9c c #F8E405", +"9d c #3E1211", +"9e c #481613", +"9f c #9E7E0C", +"9g c #D0BD0A", +"9h c #4A1B13", +"9i c #431311", +"9j c #3F1412", +"9k c #492011", +"9l c #F3E007", +"9m c #2B0C0C", +"9n c #534107", +"9o c #CDB708", +"9p c #623B0F", +"9q c #492110", +"9r c #F7E705", +"9s c #230B09", +"9t c #401313", +"9u c #D6C409", +"9v c #734C10", +"9w c #441413", +"9x c #4B2111", +"9y c #F9E906", +"9z c #544107", +"9A c #DFCB07", +"9B c #AA8F0B", +"9C c #EDD907", +"9D c #4A1F10", +"9E c #F8E706", +"9F c #1D0909", +"9G c #330F0E", +"9H c #421214", +"9I c #481415", +"9J c #D7C509", +"9K c #744E11", +"9L c #441514", +"9M c #461A11", +"9N c #F9EA05", +"9O c #3A1110", +"9P c #200A08", +"9Q c #5D4409", +"9R c #ECDA06", +"9S c #C3A90A", +"9T c #6D490F", +"9U c #3B1C0C", +"9V c #FFEE07", +"9W c #1D0807", +"9X c #210A09", +"9Y c #2A0C0C", +"9Z c #2D0D0C", +"9& c #4A1415", +"a c #A3850E", +"a0 c #BFA80A", +"a1 c #421311", +"a2 c #3F1312", +"a3 c #FFF206", +"a4 c #1D0907", +"a5 c #5D460B", +"a6 c #D5C009", +"a7 c #997A0D", +"a8 c #E1CD07", +"a9 c #37140E", +"aa c #2D1809", +"ab c #FFF006", +"ac c #1F0909", +"ad c #1F0808", +"ae c #220A0A", +"af c #391110", +"ag c #4A1614", +"ah c #481414", +"ai c #4D1C13", +"aj c #D6C509", +"ak c #CBB70A", +"al c #734D10", +"am c #6C4510", +"an c #95770D", +"ao c #B2990A", +"ap c #FFF205", +"aq c #270B0C", +"ar c #1F0809", +"as c #68480D", +"at c #D5C109", +"au c #3F1211", +"av c #3E1213", +"aw c #CFB908", +"ax c #978507", +"ay c #251008", +"az c #FEF106", +"aA c #412C08", +"aB c #412E09", +"aC c #412D08", +"aD c #3B2708", +"aE c #22090A", +"aF c #2B0D0C", +"aG c #471415", +"aH c #4B1C13", +"aI c #97780E", +"aJ c #D6C30A", +"aK c #BEA80B", +"aL c #6B440F", +"aM c #E1D007", +"aN c #441911", +"aO c #220909", +"aP c #1F0A08", +"aQ c #5D3B0D", +"aR c #C2AB0A", +"aS c #42240D", +"aT c #D4C507", +"aU c #4F3B07", +"aV c #E3D307", +"aW c #E3D406", +"aX c #E3D407", +"aY c #E3D508", +"aZ c #A39207", +"a& c #210808", +"b c #21080A", +" 0 1 2 1 3 4 5 6 7 8 9 a b c d e f g h i j k l m m n o p q r s", +" t u v w x y z A B C D E F G H I J K L M N O P r Q r R S T U T V", +" W W X Y Z &0 000102030405060708090a0b0c0d0e q0f0g0h0i0j0k V0l0m", +"0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F Q0G0H0I0J0K0L0L0M0N0O0P0N", +"0r0Q0R0S0T0U0V0W0X0Y0Z0&1 101112131415161718191a1b1c1d1e1f1g1h1i", +"1j0S1k1l1m1n1o1p1q i1r1s1t1u1v1w1x1y1z1A1B1h1C1D1E1F1G1H1I1J1K1K", +"1L1L1M1N1O1q1P 1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b", +"2c2d2e h2f2g2h2i Q2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2a2y", +"2E2F2g2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233343536", +"3738 k n o393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t323u3v3 3v36", +" k3w3x3y3z0h3A1f3B3C3D3E3F3G3H3I3J3K3L3M3L3N3O3P3Q3R3S3T3 3U3V3W", +"3X r0g0h0O3Y3Z2b2D3&4 404142434445464748494a4b4c4d4e3S4f4g3T3 4h", +"0h3b174i4j1h4k2D4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I", +"0h V4J4i4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 5051525354554E563P57", +"0L1h58595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x535y4D4G", +"5z1J5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z4A5&6 60", +"61622a5a6364656667685X696a6b6c6d6e6f6g6h6i6j6k6l6m6n506o6p555453", +"1I2a5a4l3u6q3S6r6s6t6u5s6v6w6x6y6z6A6B6C6D6E6F6G6H6I5s6J6K556L6M", +"6N2y4l6O6P576Q5H6R6S6T6U6V6W6X6Y6Z6&7 7071727374757677786o6o797a", +"2a2&7b7c577d4G556p6J7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7q7t7u7v7w7x7y", +"2C2C2Z3T576r7z555Z7A5U7B7C7D7E7F7G7H7I7J7q7K7L7M7N7O7P7Q7R7S7T7y", +"362Z32657U4G7V7W6J7X5s7Y7Z7&8 7L80816B7K8283846x855r6v868788898a", +"8b348c3r574G556p6o788d5U8e8f7L808g8h8i8j7L8k8l8m768m5s6J5X8n5v85", +"8o3v6q8p3S4D7V547W6I6v5U5r8q7L8r6Z7t7y6i8s7L8t8u76855s8v8n8w8x7W", +"3V3 8y8p4G8z8A8B8C8D8E8F8F8G8H8I8J8K8L8M8N8O828P8Q8d6v8R8S6n6K6R", +"3 328c8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d8S6J505Z6p5&", +"3V6q9e9f9g9h5H9i6R7X9j869k9l5r8m9m9n9o5U76969p9q9r9s5s5X9t8w6K8x", +"6q8y579u9v4G9w4c6o5X5s6v9x9y5r857r9z9A8E9B9C9D9D9E9F9G6o5X5Z6R9H", +"3 3T9I9J9K9L9w7z4c8x6J6J9M9N5s9O9P9Q9R9S9y9T6i9U9V9W9X9Y9Z5U7W54", +"9&6q57a a04E4c9w5&a18wa29Ma3a26Ma4a5a66va7a8a9aaab7Sacadae7uaf8d", +"agah8yaiajakalamanao6p6K6Jap78aqarasatauavawaxayazaAaBaCaD6CaEaF", +"3v3WaG57aHaIajaJaKaL7W7X5ZaMaNaOaPaQaRa26naSaTaUaVaWaXaYaZa&b 9P"}; diff --git a/2009-x64/cps4.03/icons/cpsEmpty.xpm b/2009-x64/cps4.03/icons/cpsEmpty.xpm new file mode 100644 index 0000000..8c4609f --- /dev/null +++ b/2009-x64/cps4.03/icons/cpsEmpty.xpm @@ -0,0 +1,196 @@ +/* XPM */ +static char *X_xpm[]={ +"32 32 161 2", +" c #929192", +" 0 c #9E9D9D", +" 1 c #9D9C9C", +" 2 c #9B9B9C", +" 3 c #9C9D9D", +" 4 c #9C9C9B", +" 5 c #9D9C9B", +" 6 c #9A9C9B", +" 7 c #9A9B9A", +" 8 c #9B9B9B", +" 9 c #999A9A", +" a c #999A99", +" b c #9A9B9B", +" c c #9A9A9A", +" d c #9A999A", +" e c #989998", +" f c #99989A", +" g c #989898", +" h c #999898", +" i c #989798", +" j c #979898", +" k c #969796", +" l c #979796", +" m c #979797", +" n c #969596", +" o c #979696", +" p c #898A89", +" q c #C1C1C0", +" r c #C0C1C0", +" s c #C0C0C1", +" t c #C0C1C1", +" u c #C1C0C0", +" v c #C0C0C0", +" w c #C1C1C1", +" x c #C1C0C1", +" y c #C0C0C2", +" z c #BFC0C1", +" A c #BFC1C0", +" B c #929393", +" C c #9E9EA0", +" D c #939493", +" E c #999A9B", +" F c #C2C1C1", +" G c #C0C2C0", +" H c #929292", +" I c #99999A", +" J c #C2C1C0", +" K c #C2C0C0", +" L c #C1BFC1", +" M c #929290", +" N c #979798", +" O c #909090", +" P c #C1C2C0", +" Q c #C1C0C2", +" R c #939293", +" S c #BFBFBF", +" T c #959696", +" U c #939393", +" V c #959695", +" W c #8F8E8E", +" X c #979896", +" Y c #919191", +" Z c #949594", +" & c #BFC1C1", +"0 c #908F90", +"00 c #939593", +"01 c #C1C1C2", +"02 c #C0C2C1", +"03 c #BFBFC0", +"04 c #8B8B8C", +"05 c #989897", +"06 c #8A8A8B", +"07 c #969695", +"08 c #C0BFBF", +"09 c #8B8D8C", +"0a c #959594", +"0b c #BEBFC0", +"0c c #8A8B8B", +"0d c #919290", +"0e c #C0C1C2", +"0f c #AEAFAF", +"0g c #C0C0BF", +"0h c #89898A", +"0i c #949494", +"0j c #BFBFBE", +"0k c #C1C1BF", +"0l c #8C8B8C", +"0m c #939292", +"0n c #BEBFBF", +"0o c #8C8B8B", +"0p c #8E8D8E", +"0q c #C0BFC1", +"0r c #BFBFBD", +"0s c #878687", +"0t c #8E8E8D", +"0u c #C2C0C1", +"0v c #BEBCBE", +"0w c #888889", +"0x c #919090", +"0y c #BDBDBD", +"0z c #868785", +"0A c #BEBEBE", +"0B c #898889", +"0C c #8B8C8A", +"0D c #BDBFBF", +"0E c #868786", +"0F c #8B8B8B", +"0G c #BEC0BF", +"0H c #BDBCBC", +"0I c #858384", +"0J c #8D8E8D", +"0K c #BDBDBE", +"0L c #828283", +"0M c #8E8D8D", +"0N c #858587", +"0O c #8D8D8D", +"0P c #BDBEBD", +"0Q c #858584", +"0R c #89898B", +"0S c #BDBDBC", +"0T c #818281", +"0U c #868787", +"0V c #BEBFBE", +"0W c #BFBEBF", +"0X c #BEBDBD", +"0Y c #BFBEBE", +"0Z c #BEBDBF", +"0& c #BDBEBE", +"1 c #BCBCBE", +"10 c #BCBDBC", +"11 c #BCBCBD", +"12 c #BCBEBE", +"13 c #BCBEBC", +"14 c #BAB9BA", +"15 c #848384", +"16 c #7E7D7C", +"17 c #898888", +"18 c #878789", +"19 c #888988", +"1a c #878887", +"1b c #888887", +"1c c #878688", +"1d c #878787", +"1e c #868685", +"1f c #868686", +"1g c #858785", +"1h c #848585", +"1i c #858485", +"1j c #858685", +"1k c #838484", +"1l c #848584", +"1m c #838384", +"1n c #838383", +"1o c #838382", +"1p c #838283", +"1q c #838381", +"1r c #838282", +"1s c #818181", +"1t c #828181", +"1u c #818082", +"1v c #777877", +" 0 1 2 3 4 5 6 7 8 9 a 9 b c d e f g g h i g j k l m n o o m p", +" 8 q r s t u v u w r r x u x s w w w w x y z v s q s r s r t A B", +" C q r v r u u x r t w r u r s u s t w v v s r x t r q q t t w D", +" E r r v x t t u s F G q r r s u t w u t v v v u r r q w w x t H", +" I x u s v u q r s r r q r r q t x w q r u v w u J q r G K t L M", +" N r w w w w u s t u s r x t x s w w w u u q w s s v v r w q q O", +" j v w s P v F u r q x t q r q w u v u J r t s Q x w t s x v v R", +" 7 x w r u s t q x r q q t Q v w s x w v q w q x s t x r J u S B", +" T r q r t t v F x w q u w q v q x s s w r w P w x s q u v v A U", +" V w w x u u s s w x s v v q x q x s t v u v v w F u v u w w v W", +" X v r t r r v q w u q s w v w u u q q v v t r v x w x x u r v Y", +" Z w w u w t s s r q v x w r x x w r v v x t w s t x s r t w &0 ", +"00 s01 r v w s02 P v u u J r x x t w t F r x v r r r u x r q0304", +"05 q w v x w w v v v x r u t x v t v r v q x v s r u q q w s S06", +"0708 v r q s t q w u r q01 x s s v u u r t q s u r v u x v q z09", +"0a v q r u w r t v u r r u r x u s r K v v u v x s v v q q t0b0c", +"0d L r0e x v q t s v v w s r x0f w s t r v r u s t u s r q x0g0h", +"0i0g w t t x x F u s x s s q w s w u Q q r v x v x v x w r v0j06", +" R0k w t w u s K t s s x v x v s x x r s r w s G v w0e q t r030l", +"0m v q r w w v x q r v w q s r s w q r r t q s t s x w v u t0n0o", +"0p0q t w u v s q r v q w r u v s w t t q t r s u r x q q t w0r0s", +"0t & v0u u v v s x s s r u s q w u r v w w t t G s v r q u w0v0w", +"0x v0e w P x w r v s u w s t r t s u q x u u v s w s v q J t0y0z", +"0x S s v w x t q q u q w u t t u q t w u w x x u r s s w y x0A0B", +"0C S w w t t u w s t u x s t t F w s t q u x s v t r v u s t0D0E", +"0F0G t r s x q s x q t w w w01 x r s v r t r q r v s u q q q0H0I", +"0J0n w x v s w w x u q q t s w u x t t w t u u r r r q t s v0K0L", +"0M08 q v r J v s s u s u w w v t q s v w w F x u u w x w r r0A0N", +"0O S s w t t x q t t q P w w v v J q x v0u w s r q x v t t v0P0Q", +"0R v w x q s x u t r x u u v t q u q t w r w u x t q t w u w0S0T", +"0U0S0A0n0j0A S0j0A0V0r0A0W0P0X0Y0A0Z0X0&0y1 0y0P0y10111210131415", +"161718191a1b1a1c1d1e1f1g1e1e1h1i1j1k151l1m1k1n1o1p1q1r1n1s1t1u1v"}; diff --git a/2009-x64/cps4.03/icons/cpsLogo.xpm b/2009-x64/cps4.03/icons/cpsLogo.xpm new file mode 100644 index 0000000..d0de33e --- /dev/null +++ b/2009-x64/cps4.03/icons/cpsLogo.xpm @@ -0,0 +1,334 @@ +/* XPM */ +static char *cpsLogo[] = { +/* width height num_colors chars_per_pixel */ +" 400 71 256 2", +/* colors */ +"`` c #040306", +"`. c #74829f", +"`# c #acc2e3", +"`a c #34425c", +"`b c #94a2c0", +"`c c #546282", +"`d c #848da8", +"`e c #1c2331", +"`f c #cce3fb", +"`g c #4c65ac", +"`h c #a4acc8", +"`i c #4c526a", +"`j c #c4cae1", +"`k c #24324c", +"`l c #6482d4", +"`m c #445272", +"`n c #647292", +"`o c #84a2ec", +"`p c #8496d6", +"`q c #5c72b1", +"`r c #b4d2fc", +"`s c #a4b6cf", +"`t c #2c4279", +"`u c #243466", +"`v c #0c121a", +"`w c #b4c3db", +"`x c #7c93d2", +"`y c #646982", +"`z c #c4d7f4", +"`A c #6c7cb1", +"`B c #b4bdd7", +"`C c #8496ba", +"`D c #ecfafc", +"`E c #94aee7", +"`F c #7c8fc2", +"`G c #242634", +"`H c #b4c5ee", +"`I c #4c629e", +"`J c #a4b8ef", +"`K c #94aedc", +"`L c #4c5c8f", +"`M c #6c82c0", +"`N c #5472cc", +"`O c #dcf3fc", +"`P c #34384b", +"`Q c #7489ce", +"`R c #0c162c", +"`S c #6c7490", +"`T c #3c4976", +"`U c #9ca4bf", +"`V c #d4ddf3", +"`W c #949db9", +"`X c #dce5fc", +"`Y c #4c5a74", +"`Z c #3c4a6a", +"`0 c #3c528e", +"`1 c #94a9e6", +"`2 c #546aa3", +"`3 c #6c7a94", +"`4 c #a4bee4", +"`5 c #243a6c", +"`6 c #b4caf0", +"`7 c #c4defb", +"`8 c #8497c8", +".` c #242e4e", +".. c #040a12", +".# c #1c284e", +".a c #c4d0e8", +".b c #243258", +".c c #849bd7", +".d c #647ab1", +".e c #7c8ab9", +".f c #141a24", +".g c #9cb6eb", +".h c #8ca2d8", +".i c #8491c0", +".j c #6486e4", +".k c #a4b7e1", +".l c #bccbe2", +".m c #748eeb", +".n c #424e78", +".o c #7c8aa5", +".p c #44465c", +".q c #344a82", +".r c #7492ea", +".s c #242a3b", +".t c #a4bef5", +".u c #5c7ac4", +".v c #141b31", +".w c #445a92", +".x c #343e66", +".y c #c4d2f5", +".z c #849eee", +".A c #344269", +".B c #5c6a8a", +".C c #d4ebfc", +".D c #546bb0", +".E c #a4b2e0", +".F c #8caae8", +".G c #6475af", +".H c #ccd8f0", +".I c #748ac2", +".J c #343e59", +".K c #748ed5", +".L c #5c5e74", +".M c #6c7ba1", +".N c #bccdf0", +".O c #7c85a1", +".P c #1c2a44", +".Q c #94aef5", +".R c #5c6694", +".S c #4c5a82", +".T c #040b1c", +".U c #8c9dd7", +".V c #5c6480", +".W c #8a92af", +".X c #142242", +".Y c #a6b2d0", +".Z c #4c567e", +".0 c #6c8ad8", +".1 c #344476", +".2 c #14151f", +".3 c #bcc4de", +".4 c #6c7ebf", +".5 c #54659a", +".6 c #7485ba", +".7 c #9caad8", +".8 c #dcecfc", +"#` c #243a74", +"#. c #646e96", +"## c #fcfefc", +"#a c #e4fbfc", +"#b c #a4c2fc", +"#c c #6476c4", +"#d c #bcdafc", +"#e c #656e88", +"#f c #8c9ebc", +"#g c #3c5284", +"#h c #5c72a4", +"#i c #4c5e9e", +"#j c #6c769f", +"#k c #546ebf", +"#l c #8c9ecb", +"#m c #2c3a59", +"#n c #94aada", +"#o c #7c9aea", +"#p c #4c5673", +"#q c #7c9adc", +"#r c #eefefc", +"#s c #9caac7", +"#t c #1c2e59", +"#u c #3c4e87", +"#v c #24263c", +"#w c #343a56", +"#x c #445b9d", +"#y c #2c3349", +"#z c #6c84cd", +"#A c #8ca3e8", +"#B c #bcd3f7", +"#C c #bcbed4", +"#D c #8c97b5", +"#E c #bcc6ec", +"#F c #acbaec", +"#G c #9cb0d8", +"#H c #444a74", +"#I c #444c69", +"#J c #9caae4", +"#K c #5c6c9e", +"#L c #2c2e41", +"#M c #647cc5", +"#N c #1c1e2d", +"#O c #9cb6f9", +"#P c #8caafc", +"#Q c #acbee2", +"#R c #ccdef9", +"#S c #acbeee", +"#T c #3c3e55", +"#U c #7c8ecf", +"#V c #3c435b", +"#W c #d4e4fb", +"#X c #acb7d1", +"#Y c #2c3665", +"#Z c #747eae", +"#0 c #9cb0e6", +"#1 c #545e8c", +"#2 c #5c75c6", +"#3 c #14162c", +"#4 c #74768c", +"#5 c #545b73", +"#6 c #44558f", +"#7 c #747b94", +"#8 c #2c3b67", +"a` c #8c9aca", +"a. c #0c0c13", +"a# c #ccd2eb", +"aa c #2c3556", +"ab c #1c1c24", +"ac c #94a5d8", +"ad c #6c89e6", +"ae c #acb9e0", +"af c #7c96e9", +"ag c #ccd2f8", +"ah c #3c4567", +"ai c #5c6eaf", +"aj c #747d9e", +"ak c #9cb2f4", +"al c #545d7e", +"am c #0c0e1c", +"an c #1c2440", +"ao c #e4edfc", +"ap c #2c3d76", +"aq c #acc4fb", +"ar c #445380", +"as c #6474a1", +"at c #040614", +"au c #7483ac", +"av c #acc3ec", +"aw c #94a4cc", +"ax c #54628c", +"ay c #848eb4", +"az c #5466ac", +"aA c #a4aed4", +"aB c #4c5274", +"aC c #5c73bc", +"aD c #2c4484", +"aE c #0c1224", +"aF c #b4c3e4", +"aG c #7c94dc", +"aH c #646a8c", +"aI c #c4d8fc", +"aJ c #b4bee4", +"aK c #f4fafc", +"aL c #b4c6fc", +"aM c #a4bafc", +"aN c #e4f5fc", +"aO c #748adc", +"aP c #3c4a84", +"aQ c #9ca6cc", +"aR c #d4defc", +"aS c #949ec4", +"aT c #94a8f4", +"aU c #b4cdfc", +"aV c #242e5c", +"aW c #849ce4", +"aX c #647abc", +"aY c #7c8ac4", +"aZ c #8492cc", +"a0 c #242c44", +"a1 c #141e3c", +"a2 c #6476bc", +"a3 c #ccd9fc", +"a4 c #bccefc", +"a5 c #7c85ac", +"a6 c #8c9ee4", +"a7 c #5c668c", +"a8 c #344684", +/* pixels */ +"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a...a...at``at``at````````at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``..a.a...a.a.`v`v.2`v`v.2.2.2.f.f.f.f.f.f.2.2`v`va.atatat``at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``atat..a.`v.2.2.f.f.f.f.f.f.2`v`va.a.a.a.a...a.``at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``at..``a...a.ata...a.ata...a.at..a.....at..at..atat``..atata.ata...a.a.a.a.a.a.a.", +"a.a.a.`v`v`v`v`v`va.`v`va.a.a..Ta.a.a.a.a.a...````..``at``````at````at````at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..``..``a.a.a.a.`va..2`v.2`v.2.2.vab#N#Nab.v.f.f.2.2am....``..````at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at..a.`v.2.fab.vab#Nabab.2.2.2`v.2a.a..Ta...``a.````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``....``a...a.``a...a.``a...a.``a...``a.``a...``a.``a.a.``a.a.a...a.a.a.a.a.a.a.a.a.a.", +"a...a.a.a.a.`va..2`v.2a.`v`v`v`v`va.`va.a.a.a.a.a.....``..``..````at````at````at``at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..``a.a...a.a.`v`v.2.2.2.2.2.2.v.f#N#N#N`eab#N#N.v.2.2a.a...at..``..````at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``....`v.2.fab#Nab#N`e#N.f.f.2.2`v`v`va.a.a.a...````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at....``a.a...a...a...a.a...a.a...a...a.a...a.``a.a.a...a...a.a.a.a.a.`va.`va.`va.`va.`va.", +"..a...a.a.a.a.`va..2a..2.2.2.2.2.2`v.2a.`v`v`v`va.a.a.a...........``....``..``..``..``..``at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..``a.``a.a...a.`va..2`v.2.f.2.v.fab.v`e`e`e`e`e`e#Nab.f.2ama...a.at``..``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at..at..`v.2ab#N#N`e`e`e`e#Nab.v.2.2`v.2a.`va.a...````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at....a.a.a.a...a.a.a.a...a.a.a.a.a...a.a.a...a.a...a...a.a.a.a.a.`v`v`v`v`va..2a.`v`v`v`va.`va.", +"a...a.a.a.a.a.a.`va..2`v.2`v.2.2.2.2`v.2.2.2`v.2`v.2`v`v.2a.a.a...........``....``....``......``..at``..``at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````....a...a.a.`va..2`v.2.f.f.fab.vab`e`e`G.s`G`G`G`e`e`e.v`vam....a...at..``..````..````....``````````````````````````````````````````````````````````````````````````````````````````````````at``..``..a..2#N#N`e`G`G`G`G`G`eab.f.f.2.2`v.2a.`va...``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..``..````````````````````````at``....a.a.a...a...a.a.a...a.a.a.a...a...a.a.a...a.a...a.a.a.a.`va.`v.2`v.2.2.2.2`v.2a..2`va.`va..2a.a.", +"a.``a...a...a.a.a.a.`va..2.2`v.2.2.2.f.2.f.2.2.2.2.2.2`v.2.2`v.2`va.a.a.a...........a.....``............``..``..at``..``at``````at``..````..````..``..``..``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..``a.``a...a.`v.2`v.2.f.fab#N#N`e`e`e`e.s.s#La0.s.s.s`G`e.v.2ama...a.....``....````..``........``````````````````..``````````````````````````````````````````````````````````````````````````at``....a..2.v`e`G.s.s.s.s.s`G#N#N.f.f.2.2`v.2`va.a.````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``..``........``````..``..``````at``at``....a...a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.`va.a.a.`va.`va.`v.2`v.2.2.2.2.2.2.2`v.2.2`v.2`v.2a..2a.a.a.a.a.", +"..a...a.``a.a.a.a.a.a.`va.`v.2`v.2.2.f.fab.fab.f.f.f.2.f.2.2.2.2.2.2.2`v`va.a.a.a.a...a...a.a.a.a.a...a...a...................``....``....``....````..````......``..``````````````````````````..``..``..````````````````````````````````````````````````````````````````````````..``..a.a.a.`va..2.2.2.2.f.v#N`e`e`e`e#v.sa0#y#L#y#ya0a0`G`e.v`vamam..a.a...``......``..``a.``a...``````````````......``````````````````````..``````````````....````````````````````````````at......am`Rab`e.s.sa0#L#L#L.s`e`e#N#N.f.f.f.2`va.a...``..``````````````````````````````````````````````````````````````````````````````````````````````at..``..``........``..``..``..``............a...a.``..``..````````..at..``....a.a.a.`v`v`v`v`va.`v`va.`v`v`v`v`v`v`v`v`v`va.`va.`v`v`v`v.2.f.2.f.f.f.f.f.2.f.2.2.2.2.2.2.2a..2a.`va.a.`va.a.", +"..``a.a.a...a...a.`va.a.`va..2a..2.2.2.2ab.fababababababab.fab.fab.f.f.f.f.2.2`v`va.a.a.a.a...a...a.a.a.a.a.a.a.a.a.a.a...a.........................``....``..``..........``..````````````..``````..``..........``..``..``..````````````````````````````````````````````````````....a...a.a.`v`v`v.2.2.fab#N`e`e`G`G#v.s.s#L#y`P`P#y`P#y#y.s`G.vaE`vama..Ta.a...a.``a...a...a.a.....````````````..a.a...``````````````````......``..````....``a.``````````````````````````at......am`v.v`e#L#L#y#y`P#y#y.s.s`e`eab.vab.2.2.2a.....``..``..``````````at``..``````````````````..``....``..````````````````at``..``..``..``..``..at......a.....a.``..``....``........a...a.a.a.a.a.``a...``a.``..........at....a.`va.`v`v.2a..2a..2`v`v.2`v`v`v.2`v`va.`v`v`va.`v`v.2`v.2.f.fab.f.fab.fabab.fab.f.f.f.2.f.2.2`v.2a.`va.a.a.a.a...a.", +"a...a.``a.a...a.a.a.a.a.`va.`v.2`v`v.2.2.2.2.fabab`eab`e`e`eab`eab`eabababab.fab.f.f.2`v`v`vama.`va.a.a..T`va.`va.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a...a.a...a...``a...a.``a.a...a.......``..````..``..``..``a.``a.``....``..``..........``..``````````````````````````````````````..``a.``a.a.`v`v.2.2.2.f.fab`e`e`e#v.sa0.sa0#y`P.J`a#T.J.J`P#y`k`e.v.2aE`vama.a...a...a.``a.a.a.a.a...``````````..``a.a...``````````````````..a.``..``..``..a.a...``````````````````````atat....a..T`v.v`G#L#y`P`P`P`P`P#y.s.s`G`e#Nab.f.f.2`va...a.``..``..````..at......``....``..``..``......a.``..``..``..``..``..........``..``..``........a...a.a...a.a...a.a...a.a...a.a.a.a.a.a.a...a...a...a.........a.``..a...a.`v.2`v.2.2.2.2`v.2.2`v.2.2`v.2.2.2.2`v.2.2`v.2.2.2.2.2.f.fab.fabababababababab.fab.fab.f.2.f.2.2`v`va.`v`va.`va.a.a.a.a.", +"..``a...a...a.a...a.a.a.a.`va.`va..2.2`v.2.2.f.fabab`e`e`G`G`G`G`G`G`e`e`e`e`e`e`e#N#N#N.f.f.2`R`vaE`v`v`v`v`v`v`v`v`v`v`v`v`v`v`va.a.a.a.a...a.a.a...a.a.a.a...a...a...a.``a...a.``a.....``..``....``a.``a...a.a.a...``..``a.``a.``........``..````````````````````````````````..``a...a.a.`v.2`v.2.fab.v`e`e`G.sa0#y#y#y#y#m#T#V`Z#V#V#V`a#w#Lan.v`RaEaEaE`vama...a.a...a.a.`va.a.a...``at``..a.a.a.a...``````````````..a.a.a...``..a...a...a...``````````````````atat....amamaE.v`Ga0`P.J.J#V#V`a`P#y.s.s`e`e`e#N#N.f.2a...a.``..``..``......a...``a...``..``..``..a...a...a...a.``....``........``a.``a...a...a...a.a.a.a.a.a.a...a.a.a...a...a.a...a.a.a.a.a.a.a.a.a.a.a.a.....a...a...a.a.`v`v.2.2.2.2.2.f.2`v.f.2.2.2.2.2.2.2`v.2`v.2.2`v.2.2.2.f.f#N#N`e#N`e`e`e`e`e`e`e`eab`eabab.f.fab.2.2.2`v.2a..2a.`va.a.a.`va...a.", +"a...a...a.a...a.a...`va.`va.`va..2`v.2`v.2.2.2.f.f.fababab`e`G`G.s.s#L.s#L`G.s`G`G`e`e`G`e`e`e#N.v.f.2#3`R.2aE.2aE.2aE`R.2`v.2aE.2aE.2`R`v`v`v`v`v`va.a.a.a.a.a.a.a.a...a.a...a.a.a...a...a...a.``a...a.``..a...a...a.a.a.a.``....a.a.``a...a.``..``````````````````````````....``a...a.a.`v.2`v.2.f.fab`e`e`G.sa0#y#y#y#w#m.J#V`Z`i`m`m#I#Iah.Ja0an.v.v.2`R`v`vamama.a.a.`v`v.2`v`va...``..``..a.`v`va...````````````..a...a.a.a...``a.a.a.a.a.``````````````````at......amamaE`R`G#y#w`a#V`Z.p`Z#V`P#y#La0.s`G`e`eab.2`v.Ta...a...a.``a...a.a.a.a.a...a.``a...a.a.a.a.a.a.a...a.``a.``a...a...a.a.a...a...a...a.a.a.a.a.a.a.a.a.a.a.`va.a.a.a.a.a.`va.`v`v`v.2`v`v`v`va...a...a.a...a.a.`v`v.2.f.f.f.f.f.f.f.f.f.f.f.f.f.v.f.f.f.f.f.f.v.f.f.v.f`e`e`e`e`e`G`G`e`G`G`G`e`G`eab`e`e.f.f.fab.2.2.2`v.2`v.2a.`v`va.`va.a.a.a.a.a.", +"..``a...a.``a...a.a.a.a.a.`va..2a..2`v.2`v.2.2.f.f.fab.f`eab`e`G.s.s#L#L#L#L#L#L#L#La0.sa0.s#v`G`G`e`e#N.v.f#3.f#3`R.2.f#3#3.v.2.v.2.v.2.f.v.2.2.2`R.2`v`v`v`v`va.a.a.a.a...a.a.a.a.a.a.a.a.a...a...``a...a...a.a.a.a.a.a...a.a...``a.a...a.``a...........``````````````at````....a.a.a.a.a.`v.2.2.fab`e`e`G#v.s#L#y#y.J.J.J#T#V`ZaB.S#5.S#p`m#I.J.`an.v.v#3#3aEaE`v`v`va.`v`v.2.2.2a.a.``....a.a..2.2a.a.``````at````ata.a.a.a...a.a.a.a.`va.a.``````````````atat....a.amamaE`Ran#y.J#V#I#I`i`m.p#V.J#y#y`k.s.s`G#N.faEama.a...a...a...a.a.a.a.a...a.a...a.a.a.a.a.`va.a.a...a.a...a...a.a.a.a.a...a.a.a.a.a.a.a.a.`va.`v`v`v`v`v`v`v`v`v`v`v`v.2`v.2.2.2.2.2`v.2a.`va.`v`va.a.`va.`v.2.f.v#N#Na1#N#N`e#N#N#N.v#N#N.vab.v.f.v.v.v.v.vab.v#N`e`G`G`e.s`G.s.s.s.s.s`G`G`G`G`e`G`eabab.fab.f.2.f`v.2.2`v.2`v.2a..2a.a.a.`va...a...", +"a...a...a.a...a.a...a.a.a.a.`va.`va..2`v.2`v.2.2.2.f.fab.f`eab`e`e`G.s.s#L#y`P`P`P`P#y`P#y#L#y#L#ya0#L.s.san`e#Na1.va1.v.v.v.v.va1.v.va1.v.v.va1.v.f.v.f#3.2`R.2`v`v`v`v`va.`va.`va.`va.`v`va.`va.a.a.a.a...a.a...a.a.a.a.`va.a.a.a...a.a.a.a...a.a.a.a.``....``at``at``....``..``a...a.a.`v`v.2.fab.f`e`e`G.sa0#y#y.J.J#V#Vah`T.n#p`ca7axa7al.S.n#V.`ana1a1.v#3.2`R`vaE`v.2.2.f.f.f.2a.....a.a.`v.2.2.2a...``at``at``..a.`va.`va.a.a.`v.2`va.a...````````at``at....a..TaE`R#3a1#y.J#I`m#pal#5#p#I#V.J`P#y#La0.s`G.v.f`v`vamama..Ta.a.a.`v`v`v`va.a.a.a.a.a.a.`v`v`v`v`va.`va.a...a.a.a.a.a.a.a.`va.`va.`va.`v`v`v.2`v.2`v.2.2`v.2`v.2.2.2.2.f.f.f.f.f.f.f.2.2`v`va.`va.`va.`vaE`R.fa1#N`e`e`ean`e`ean`ean`e`e`e`e#N`ea1#N`e#N#N#N`e`e`e.s.sa0#La0#L#L#L#L#L.s#L.s.s.s`G`e`eabab.vab.f.f.f.2.2.f.2`v.2`v.2a..2a.`va.a.a.a.a.a.a.", +"``a.``a.``a.a...a.a.a...`va.`va..2`v.2`v.2.2.2.f.2.f.f.fabab`e`e`e`e`G`G.s#L#y#y`P`P`a#T#T`P`a`P`P#m#y#y#y#y#ya0a0.s`ean`ean`ean`ean`e`ean`e`e`e#N`e#Na1.v.v.f.2.2.2`R.2`v.2`v`va.`v`v`v`v`v.2`v`v`v`va.a.a.a...a.a.a.a.`v`v`v`va.`va.a...a.a.a.a.a...a.a.a.a.......``..``....a...a...a.`va..2.2.2.f#N`e`G#v.s`k#y#w#w#Vah#H#I`mar.Sa7#.asas#.#K`car.Ja0an.Xa1.v.v.v.2.2`R.2.2.fabab.f`va...a.a.`v.fab.2`v..``..``....a.a.`v.2`v`va.`v.2.2.2`va.``````..``at``....amamaE`R.va1.`#V.n.Sal.Va7`c.S#I#V`a#w#m#y#L.s`e.f.2aE`v`vam`va.`v`v.2.2`v.2a.`v`va.a.`v`v.2.2.2.2.2`v`va.a.a.`v`v`v`v`v`v`v`v`v`v`v`v.2`v.2.2.2.2.f.2.f.2`v.f.2.v.f.v.f.v#N#N`e#N#N.f.f.2.2`v.2`v`vaEaE`R.v.v`e`e#van.s#va0#va0.san.sanan#vananan`ean`ean`e.s.sa0#y#y#y#y#L#y#y#y#y#L#y#L#L.s#L`G`G`e`e`eab#Nab.v.fab.f.f.2.2.2`v.2.2`v.2a.`va.`va.`va.`v..a.", +"..a...a...a.``a.a...a.a.a.`va.`va..2a..2`v`v.2.2.2.f.fab.f.vabab`e`e`e`G`G.s.s#y#y`P`P#T#V.p.p.p#V#V#V#V#V.J#T.J.J#w#y#y.`a0.##v.#a0ana0.#a0an.#ananan`e`e`e`e#Na1.v.f.2.2.2.2`v.2`v`v.2`v.2`v.2.2.2.2`v`v`v`va.`va.`va.`va..2`v.2.2`v`va.`va.`v`va.`va.`va.a.a.a.a.......``a.``a...a.a.`v`v`v.2.f.f`e`e`Ga0a0#y#y.J.Jah`Z`m.Z.S.Z`L.R.Gau#Zau`A#j.Rar.x#t#van`ea1.v.v.v.2.f.fab`e`eab.fa..Ta.`v.2abab.f.2....at..``..a.`v.2.2.2.2`v.2.f.2.2`va.``..``at.......Ta.aEaE`R.v.va0.AaB`ca7#.as`na7.Z`m`Z#V.J`P#m#La0.v.faE.2aEaE`v`v`R.2.2.2.2`v.2`v.2`v`v.2.f.2.f.2.2.2`v.2`v`v`v`v.2`v.2.2`v.2.2`v.2.2.2.2.f.f.f.f.f.f.f.f.f.f.v#N.v`e`e`e`e#v`ean`e#Na1ab.v.2`R`RaE.2`R.v#N`e`G.sa0a0a0a0.`.`a0.`.`.`.`a0.`a0a0a0a0#va0a0a0#L#y#y#w`P`P`P`P`P.J`P`P`P`P#y#y#L#L.s`G`e`e`e`eab`e.f#N.fab.v.f.2.f.2.f.2`v.2a.`v.2a.`va.`va.a.a.a.a.", +"ata.``a...a.a.a.a.a.a.a.a.a.a.`va.`v`v`v.2.2`v.f.2.2.f.f.fab.v`eab`e`e`e`G.s.s.s#L#y`P`P`a#V.p`Z`i`i`i#I#I#I#I`Z.p`Z`Zahah.J.Jaa.b.b.`.`.`.`.`.``k.`.`a0a0#vanan`e`e`ea1.v.v.f.v.f.f.2.2.2.2.2.2.2.f.f.f.f.2.2.2`v`v`v`v`v`v`v.2`v.2.2.2.2`v`va.`v.2`v`v`v`v`v`v`va.a.a.a...a...a.a.a.`va.`v.2.2.f.f#N`e#va0#y#y#w.J#Vah.n#p.Saxax.5#K.d.6aZ`F.i.e`M#.ar#8.`.#anan`ea1.v.v.v#N#N`G.s`eab`Ra.aE`v.f`e`Gab.fa.........a.`v.2.2.2.2.2.2.fabab.f.2....``..``..ata.am`v`R`R.va1.#.x.Zaxas.M#Zajasa7.S`m#Iah#V.J`P`k`e.v.v.2`R.2aE.2.2.f.v.f.f.v.f.2`R.2.f.f#N.fab.fab.f.2.2`v.2.2.2.f.2.f.2.2.f.2.2.f.f.f.f.fab.f#N.f#N.f.vab.v`e#N`e`e#v.sa0a0a0a0anan`ea1.v.v`R.2.v.v#N`e#v.sa0a0#y#y#y#yaa#yaaaaaaaaaaaaaaaa`kaa.`#yaaaa#w.J#V#V#V`a#V#V`a#V#T.J`P`P`P#y#L#L.s.s`G`G`e`e`G`e#N#N#N.vab.f.fab.2.f.2`v.2.2`v.2.2a.`v.2a.a.`va.a.a...", +"a.``a...a.``a...a...a.a.`va.`va..2a..2a..2`v.2.2.2.f.2.fab.fab.v`eab`e`e`G`G.s.s#L#L`k#y`P`P`a.p`Z`i`i#5#5#5#5#5.S#p.Z#paraBar.n`Tah.x#8#Yaa#Y`uaaaa.`.b.`.`.`a0a0#van`G`e`e`e#N.v#N.v.v.v.f.v.f.f.2.v.fab.v.f.f.f.2.2`v.2`v.2`v.2.2.2.f.f.2.2.2`v.2.2.2.2.2.2`v.2`v.2`v`va.a.a..T`va.`v`v`v.2`R.f#N#N`e.sa0#y`P.J`aah#I`m.Sax#K#K#Kas`A.I.U`1.h.U`8.6as.n#Y.b.`.#anan`e`e#N.X`e.s.s.s`e.faE`R.2.v`G.s`eab`v..a.a...a.`v.f.f.f.f.fabab`eab.f`va.``..at......amaEaE`R.va1.##8.Z.B#jau.e.e.6as.R.S.S`m#Hah`a#y.s#Na1.v.v#3#3.v.v.v`e#N#N.v.f.v.f.f#N#N`e`e`e`e#N.v.v.f.f.v.f.v.f.v.f.v.f.v.v.v.v#N#N#N`e`e`e`e#N`e#N#N`e`e`e#v.Pa0a0`k#y.`#L.`a0anan`ea1.v.v#Nan`e.sa0#L`k#y#yaaaaaaaa#maa#8#m#8#w#8#m#8#m#w#8.J#Vah`Z#I#I#I`Z.p`Z.p`Z#V#V#V#T`P`P`P`k#L#L.P.s`G.P`G.P`G`e`e`e#Nab`e.f#N.f.f.f.2.f.2.2`v.2`v.2`v`va.`va.a.a.a...a.", +"..a...a...a...a.a.a.a...a.`va.a.`va..2`v.2`v.2`v.2.2.f.f.f.vab.f`e`e`e`e`e.P`G.s.P#L#L`k`P`P#m`a#V.p`m`i#5`c.BaH.B#..B.B.R.5axaxax`L`Lar#u.1.A#m#8aa#Yaaaaaaaa`k.``ka0a0a0.s#v.P`e`e`e`e#N#Na1.v.v.v.v#N.v`e`e#N#N.v.v.v.2.2.2.2.2.2.f.f.fab.f.f.f.2`v.f.2.f.2.2.2.f.2.2.2`R`v`v`v`v`v`v.2aE.2.2.v.v`e`e.sa0#y#w.J#V`Z`m.Z#1.5#Kas`A.4.4#U.Uak`JaMakac#U#K.q#Y.b.ba0.#ananan`e#v.s#y`P.s`e.2.2.v#N.s#L.s`e`vamam.Tamam.2.v`eab`eab`e`e`G`eab`va.......a...am`vaE`Ra1a1.#aa.n#K`A`F`8.U`8.6as#Kax.S.Z`m`Z.x.`anan#Na1.v.v.v`e`e`e`e`e`e#N`e#N`e`ean`G.s`G#v`e`e#N.v.v#N.v#N#N#N`e#N#N`e#N`e`e`e`ean`G`e#v`e`e`e`ean`Gan.sa0#L#y#y`Paaaaaa.`.`.#.Pananan#va0a0`k#yaa#y#waa#w#m#w#m.J.x.x.A.Aah.1.A.1ah`T`T.naB.Zar.S#p#p#p`iaB`m`i#I.p`Z#V.J`P#m#y#y`k.s#L.s.s.s`G`G`e`G`e`e#N`e.vab#N.fab.f.f.2.f.2.2.2.2`v.2a..2a.`va.`va.`va.a.", +"a.``a...a.a.a.a...a.a.a.a.a.`va.`v`va..2a..2`v.2.2.2.2.f.fab.vab.f#N`e`e`G`e`G`G.s#L#L#L`k`P`P`P`a`a#V#I`mal`c#.`n.M#Z`Aau.M`A.Gasas#K#.`2ax`L.n`T.1.x#8#8#maaaaaa#yaa#y#y.`#ya0#La0#v.Panan`G`e`e`e`e`e`ea1`e`e`e`e`e`e`ea1.v.v.v.v.f.v.f`e`e`e`e#N.v.f.v.f.v#N.v.f.v.f.v.f.f.2.2aE.2aE`R.2.2.v.f#N`ean.sa0#y#w`aah.naB.Sax#Kas.4.6.I`Q`x#AaMaUa4aLaq#0#Uaxa8#8#Y.b.`.`a0ana0a0a0`P`P#ya0.v.v.v`e#L`P#y.s.2aE`vamam`R.f#N`e`e`G`e`G#L.s`G.f`v....a...a.a.amaE`Ra1a1an#t`T#..6`8ac#J#J.U.6`A#K#Kax.SaB`Taaa0.Panan`e`e`ean.s.sa0#vanan`eanan.s#La0#La0.s#van`e`e`e`ean`ean`eanan`eananan.s.s.s.sa0.s.s.s#v#v.s.s.sa0#L#yaa#w#w#m#maaaa.b.b.`.`.`.`.baa#m#w.J.J.J#w.J#w.J.J.J.x.A.A.1`T`T`T`T`T.n#6`L`L.5.R`2a7.Raxa7alal.S#paB#I#I#V#V.J`P#m`P#y#y#L`k#L#L.s.s.P`G.s`e`G`e#N`eab`e.f#N.f.fab.2.2`R.2`v`v.2a.`v`v`va.a.a.a.a...a.", +"..a.``a...a...a.a.a.a.a.`va.a.`va..2a.`v`v.2`v.2`v.f.2.2.f.f.f#N.vab#N`e`e`e`e.s.P.s`k#L`k#y`P`P.J.J#V`Z#I`m.S`c.Bas`Aa5`F.iaZ`8#U`FaZ#l#G`Jae`J.7`8.Max.n.A.x.J#8#w#m#m`Paaaa#m#yaaaa#y#ya0a0a0a0a0a0anan`Ganan#v.P.s#v#v#v`e`e#Na1.v#Na1#N#N`ean`G`e`e`e#N#N`e`e`e`e#N`e#N#Na1.v.v.2#3.2.v.v.v.v#N`ean.s.`#y#w`a#I`m.S#1.B#K`A`MaY.c`J#O#SaU#R.C#W#R#B`J#U`L.1#8#8aa.b.`.`.`.`#y.J#V.J#yan.v`ean#y#V.J#L.v`RaE`R`v`R#N`e.s#v.s.sa0`P#L`G.f`va.....a..TaEaE`Ra1a1an#t.1as.U#Fa4aIa3aU.7`x`A.G#K.5axar.xaa.`.`a0anan.#a0#L`ka0a0a0a0a0a0#y#yaa#m`P#y#ya0a0an.sana0a0a0.sa0a0.sa0a0a0#L#ya0#y#y#y#La0#La0a0#La0#y#y`P#w.J.J.J#w#m#Yaa`uaa.xarar.S.S`Zah`Zahah#V.A#T.A.J.A.Aah`T`T`T#u.n`Las`8#n#0.7a`.6`A.d#jasas#K.B.Ral.S#p#I`Z#V`a.J`P#w#y#y#y#y#y#L`k#L.P.s.s.s`e`G`e`e`e`e#N#N.f#N.f.f.2.f.2.2.2.2`v.2`v.2a.a.`va.`va.a.a.a.", +"a...a...a...a.a.a...`va.a.`va.`v`v`v.2a..2`v.2.2.2`v.2.f.2.f.fab.f`e#N#N`e`G`e`G.s`G.P.s#L`k#y#m`P.J`aah`Z.naB.S#1.Ras`A.6`x.cac`J.N`f.C.8.8#W.C#W#W#W.y#G.M.n.A.x.x.x.J.x.J.J.J.J.J.J.J#w.J#maa#y`k#L`k.`a0a0a0a0a0a0.`a0.`a0a0a0an`ean`ean`eanan.sa0a0a0anan`ean`e#van`ean`e`G`e`ea1.v.v.v.v.v`e.X`ean.sa0#y#m#V`ZaB.S.5#K.G.4aY`x#OaN#a#a#a#r#r#r#r#r.8aU`F#6a8#8#8#8aaaa.baaaa#V#I#I.J.`#Nan.``P`Z.p`P`e.v`R.2`R.van.sa0#La0#y`P`P`P`G.f`va.a..TamamaE`R.va1an.##8au`H#W.8`OaN`O`O.8aI.7.6as#Kax`T#8aa.b.`.`.`.b#y#maaaaaa#y.b#yaa#m.J#V.J#T#w#m#y`k.`a0#y.b#L.``k#L.b.`#y#yaa#y#w#m`Paa`P#y#y#y#y#y#y`P#w.J#T`a#V.J.J#m#m#Y#m#Y#8.1aw#W#W#W#Eaxarar#H`Zahahahahah`T`Z`T#u.nar.5`C`H#W.C.8#W.8#WaI#G.e`M`Aasas.Rax.S`m.n`Zah#V#V.J.J.J.J`P#m#y#y#y#L#L#L.s.s.s.s`e`G`e`e#N#Nab.v.fab.2.v.2.2.2`v.2`v`va.`v.2a.`va.a...a...a.", +"``a.``a.a.a...a.a.a.a.`va.`v`va.`va..2`v.2`v.2`v.2.2.2.2.f.2.f.vab.vab`e#N`e`e`e.s.P.s.s#L#y#y#y#m.J.J#Vah#Iar.Z`L.5#K`q.d.6`p`H#W`O`OaN.8.8.8.8.C.8#W#W#Wa3.iar`Tah.1.A.A.A#V.Aahahahahahahahah.A.J.x#m`Paaaaaa`k.`.`#y`k#yaa#y#y#y.`a0a0anana0ana0a0`k#L#y#ya0#va0a0a0a0#La0a0a0a0#van`ea1`e`ean`eanana0.`#y#m#V`TaB#1.Bas`A.6#U.caq#a#a#r#a#r#r#####r#r`D#R`F#6.q.1#8#8#8#w#m.xah#p#p`Z#m.#an`k#T`m`i`a.P.v.v.v`Ra1#v#y#y#y#w`P#V#V`P.s.f`vam.TamamaEaE.v.v.X.##8.eaI`X.8`OaN#a`O`O`O.8.C`H#U#Kar.1.x#8#8aaaa#m.x.x#V.x.J#w#m#w.xah#I`Z#Iahah.Jaaaaaaaa#maaaa#maaaa#maa#w.J.x.J#V.A#T`a.J.J#w.J.J.J.J#V#V#V`Z#V#V.J#w#m#Yaa#8#8#8a8#l.8.8.8#W`6#1.Zarar.n.n.n`T.n.n.nararar`L`A#Q#W.8.8.8`O.8`O.8`O#Wav.e.G#..5ax.Sar`m.n#Iahah#V.A#T.J`P`P#m`P#L#y`k#L#L.P.s`G.s`e`e`e`e#Nab.vab.f.f.f.2.2.2.2`v.2.2`v.2a.a.`va.a.`va.a.a...", +"..a.``..``a.a...a...a.a.a.`va.`v`v.2a..2`v.2.2`v.2`v.f.2.f.2.f.fab.f#N.v#N`e`e`e`G`G.sa0`k#L#L`P#y#w.J.Aah`Tarar`Laxaz#K.G#U.N.C`OaN`O`O`O`O`O.8.8.C#W.C#W#WaQarararar#H`T`T`T`T`T`T.n.n.n.n#I`m.n.n#Iah.1.A.J.x.J.x#maaaaaa#m#m.x#m#w#maaaa.`.`.`.`.`.`aaaa#maaaa`k.`#y#yaa#yaa.``k#L`ka0#vananananana0a0.`aaaa.x`Zar`L#K.G.4.I`pa6#B#r#a#r#r#r#r#r#r###r#r#a`f.e`0`Ta8.A.x.A.x.A`Z.Zaxal#V.`.`aaah#5`c#I#L.Xa1a1a1ana0aa#m.J.J#V#I`i#m.s.faEamaEamaEaE`R.va1.#aV.6a3.C.8`OaN#aaN#aaN`OaN`O.C#F.5#ua8.1.A#8.x.1ah`T`Zahah.A.Aah.n`m.Z.Z#p`m#H.A.A.J.x.x.J.x.A.J.x.x.A#Vah`T`Z#I#H`Z#Iahah#V#V#V#V#V`Z.p#I#I#I#V#V#w#m#Yaa#Y#8ap.1#u`8#W`O.8.8.8#S`I`L.S.Zar`mar`mararar.S#6`L`A.y.8.8`O`O`O`O`O`O`O`O.8.C#0.G`2.5ax`L.SaBar#I#I`Zah#V.J.J#w#m`P#y#y#y#L#L`k.s.s`G`e`G`e`e#N#Nab.fab.v.f.2.f.2`v.f`v.2`v`va.`va.a.`va.a.a...a.a.", +"at..a.``a...``a...a.a.a.a.a.a.`va..2`v`v.2a..2.2.2.2.2.f.2.fab.v.f#N.f#N#N`e#N`e`e`G.P`G.sa0`k#y#m#m.J#Vah`T`mar`L`I`2ai`F#B`O#aaN`OaN`O`O`O.8.C#W.C.8#W#W#W.U`L`L.S.S.w.Zararar.n.n`mar`m.Z.S.S.S.Z.S.S.Zar.n`Tah`Tah.A.A.x.x.x.x.x.A#V.A.x.J#maa.baaaaaaaa#w`a.A.J#waaaaaaaa#w#m`Paaaaaaaa.`a0.P#va0.#.`.``kaa.xahar.S#K#j.6`xaW#P`f#a#r#r#r#r#r#r#r###r###r#a#B#K`0`TaP`Ta8ah`T#ual#..Rar.xaV#8`Za7#e.S#mananana1anaa.J#V#V`Z#I#5`i`P.P.2aEaE.TaEaE`R#3a1.X.#.Z.y.8.8`O`O#a`O#a`O#a#a`O`O`f`F.w#6`T`Ta8`T`Tarararar.n#u.nar.Sax.Rax`c.S.Z.nahah`T`Z`Tah`T.1ah`T`Z#uarar.Z.Zar.Zar.n#I.n#I.n#I`m#p#p#p`m.p`a.Jaaaaaa`u#8#8.1a8#u.i.C#aaNaN`O.8#0.R.5ax`L`L.S.S.S.S.S`L`L`L#K`6`O`O`O`O`O`f#BaI.CaNaN`O`O#R.I#K#K.5#1`L.SaB`m`T`Zah#V`a.J.J`P#m`P#y#L`k.s.s`G`G.P`e`e`e#N#N#N.vab.f.f.f.2.2.2.2.2`v.2`v.2a.`v.2a.a.`va.a.a.a...", +"a.``a.....a...a...a...a...a.a.a.`va..2a..2`v.2`v.2.2.f.2.f.f.fab.fab#N.f#N#N`e`e`G`e`G.s.sa0#L#y#y`P#w.x.A.n#u.Z`Laxaz.6#B#aaN#a#a#a#a#W`6.h.I.6.IaZac`Ha3#R.Uas#K.5axaxaxaxax#1ax`L`L.Z`L`L`L#1ax.5.5.5a7.5a7ax`Lararar.n#u`T`T.1ah.1`T`T.n`T`Zah.A.x#m#8#8#8.xah`Z`Tah.A.x.J.x.A.A.A`a.J.J#maaaa.`.`.`.``kaaaa.xah.n.S.5.G.I`p#AaT`O#r#r#r#r`7#P#O`7`D#r#r#r#aaN.c.w#6#u#u#u`T#u`m#1as.M.R`T`u.x.n#.aj.B.xa0.#anan.`#mah`Z.n`ial.V`Y.J`e.vaEaEaEaEaE`R.va1.X#taS.C.8.C`O`OaI#A`Q.K`J.C#a.8ac`g`L#6#6#gar#6`Lax.5`L`L.Z`Lax#K#j.dasas.R`Lararararar.nar#u.nararar`Lalaxax.5axax.Sal.S.S.Salal`c.V#5#p#I#V`a#maaaa`u#m.x.xa8.1#g.i.C#r#a#a#aaN`Oacai#K`2.5.5ax#1`L`L`L`L`L.5#G.8`OaN`O.Cak.6.4#M`x`z#aaNaN`O.E`qai#Kax`L.Sar`m.n#I#V#V#V.J#w`P#y#y#y`k#L.s.s.s`e`G`e`e`e#N#N.f.f.v.fab.2.2.f`R.2`v.2`va.`v.2a.`v`va.`va.`va.`va.", +"..a.``a.a.``a...a.``a.a.a.a.a.a.a.a.a.`va..2`v.2`v.2.2.f.f.fab.fab.vab`e.v`e`e#N`e#v`e#v.s.sa0`k#y#y#m.J.A`Z.nar`L`I.G`H`O#a#a#a#aaN#B`xazazaz.5`2ai.G.d`8`J`8.6au.4`A.G#K#K#K#K#K#K`2#Kax.5.5.5.5#K#K#.`qas.Gasas#K#K.5`L`L.Sararar#u.n.nararararar#u`T.1.A.A.A.A`T.nar`m.n`Z.A#Vah#I`Tahah`Z.A.A#maa.b#y.baa#m#m.A`T.Zax.G.6`p#PaM`O#r#r#r#r.t`ladafaU`D#r#r#r#aaq#i#i#6#6ararar`L#1`A`F.M.S#8.1ar.May.M.naV.#.#.#.bah.n`malal`n`S#p.J`e`RaEaEaEaE`R`R.va1.#.xaF.8.8`OaN`7aG.uaC`q#k.Iaq`4.Daz`I#i#x#i.5ai.G#Kaz.5.5#K.d.6aY.I.6`A#..5`L`L`I`L`L`L.w.Z.w`L#1.5#Kas`qasas#K#K.R.B#K.R#.#e#.#e.BalaB`Z#T#m#yaaaaaa#8.x.1.1.q#u`F.8#r#r#r#a#a#a`O.c.d.G`q#K.B.5axax`L`L`L`L`M#W`OaN`O.Cac#c#2aCaCaC`x.C#a`O`OaI.4#K#K.5ax`L.ZaB#I`Zah#V.J#w#w#y#y#ya0.s.s.s.P`G`e`e`e`e#N#N.f#Nab.f.f.2.v.2.2.2`v.2.2`v.2.2`v.2a..2`va.`va.a.a.`v", +"a...a...a...a.``a.a...a...a.a...`va.a.a.`va.`v.2`v.2`v.2.2.2.fab.vab.vab`e#N`e`e`e`e#v`e.s.sa0a0#y#y#m.J.A`T#uar`L`I#l.C#a#a#a#r`Oav`q`I#i`L`I`I.5.5.5#Kai`A.6.6.6aY`F`FaZ`F`F.I`M`A.G.G.d.G.G.G.d`A.d.G.d`A`A.4.IaY.6`A`A`A.G#K.5`L`L`L.waxax.5`L.5.B.Rax`L.S.Zar`T`T.n.Zax.R.Bax`Lar`mar.S.S.S.ZaB.nah.A#waa#8.x.A`Tar`Lai`M`x`1aq#a#r#r#r#r.Qadadad`o.C#r#r#r#a#R`2`I#i`L.w#i.5as`A`Faw.i#K`T`T`L#Zac.iax#8.baV.b`T.Z.Sal.R#K`.`..Vahan#3`RaE`RaEaE#3.v.X.#ar`z`OaN`OaN.t#z#c#2#k#k#k#M#Mai.Daz.D.G`A.4.4.d.G.G`A.6`x.U.U.U.i.I`A.d.G#K#K#K.5ax.5#K#K.G`A`A`A.4`A`A.4au#Z`M`M#Zauauau.M#j.Bal#I.A#waaaaaa#m#m.x.A.A.1a8.q.6.8#r#r#r#a#r#a#a`O.c.4.d.G#Kazax#i`L`L`L#6`I.k`OaNaN`O#S#MaCaX#2#caC#M`6#a#aaN`f`x.G#Kazax.S.Z`m#Hahah.J.J#w#y#y#y`k#La0.s.s`G`G`e`e`e#N#N#N.v.f.v.f.f.f.2.2.2.2.2.2.2.2`v.2`v.2`v`v.2a..2a.`va.a.", +"a.a.a.a.a.a.a.a...a.a.a.a.a...`va...`va.a.`va.a.`v`v.2`v.2.2.2.2.f.f#N.f`e#N`e`G`e`G#v#v.s.sa0#L`k#yaa.x.Aah`Tar.wai.y#a#a#r#a#aavai#x`L#x.w.Z.w`L`L`Iax.5#K.G.G`M.e`p.Ea4#R#W#W.H`H.h.6.6#z.6`x.NaI`6aYaX.4.6`x`H`7`H`x.h#B`z#S`A`q#K#K`A`H#B`8`I`Fa4.N.y#B.Na4.i#u#uar#Z#G.N.y.y#E`bas#1aS#EaFaFaFaJaF.E.Zaa#m.x.A`T.n`L`2`A#U#PaU`D#r#r#r#r.zadad.m.r`7#r#r#r#r`faX.Dazaz`A#G.N#R#R#Ra3aF#U#6`T`L.eaFa3ae.S`u.b`T.kaF.i.Basaj#Dae`B`h#V`R`RaEaEaE#3`Ra1a1.#.Z.H.8aN`O#a`J#z.u.u#2#2aC#M#M#2aC`q`K`7aIaW.I.6#z`p#B`f#B`J#0#A`p`M`8aI.N.6aC#hai`2.4#SaI`z#B`H.g`8aY.6`xa4aI.y.y#B.y`Ha5asaxaBah.J#w#m#m#w#m.x.x.x#8`tapa8.d#W#r#r#r#a#r#a#r#a.C`p`MaX`q#K.5`L`L`L#6#6#6`q`faN#aaN`f.K#M#M#M#M#M#M#Mac`OaN`O.Cac`q#K.5#1.Sar.nah.A`a#w#m#yaa#y#ya0a0.s.s.s`e`e`e`e`e#N.vab#Nab.fab.v.f.f.f.f.f.2.2`v.2.2.2`v.2`va..2a.`v`va.`va.", +"a.a.a.a.a...a.a.a.a.a.`v..`va.a.`va.a.`va.a.`va.`va.`v.2`v.2`R.2.2.f.f#N.f#N#N`e`e`G`e.s.sa0a0#y#yaa#w#w.Aah#uar#6.I`O#a#a#r#r`7.G#x.w#6#6#6#6#6#6ar.Z#i`L.5.5#K.G.6av#W.C.8.C.C.8.8#W`J#U#U`x#n#W`O.8#0.4.4`MaW#R`O`H#U`J.8`O.8.h`M.4.4.c`fao#l#i.7.8`O.8.8.8#Wa`#u`L#l.H.8#W#WaR#R#WaQ.Raea3aRaRaR#RaRaJ.Z#m.x.x.Aah#uar.5.G#za6aU#r#r#r#r#a#oadad.m.r`f#r#r#r#a.C.0.G`q`x`z`O`O.8.8.C.8.C.N`A`0.5`FaI#W.Nar#Y`u`u`h#W#Eauau#DaJ.y.y.Oan.vaE#3aEaE`R#3.v.X.#.n.aaNaNaN#a`7aG#M#M#M#M#z#z`l#M#c#MaUaN`f`1`paG`x#0.C#a#Waqaka6`Q.4`H.8.C.h.d.G.Gai.I#W.8.8.8`O.8a4`x`Q`8#W.C.C#W#WaR`H#.`L.nah.A.J.J.J.J.x.J#m#8#8#8ap.1as`f#r#r#r.C.C#r#r#a#a`7aG#M.G#K.5#i`L.w#6#6#6.wa`.8`O#a`Oav`Q`M#z#M#MaX#MaCaW.C#aaN.8`Kai.R`I`Lar.n`Zah`a.J#w`Paa#y#ya0#L.s.s`G`e.P`G`e`e#N`e#N`e.v`eab.vabab.vab.2.f.f.f.f.2.2`v.2.2.2`v.2`v`va.`va.`v", +"a.a.a.a.`va.`v`v`v`v`va.`v`v`va.`v`v`va.`v`v`v`v.2`v`v`v.2`v.2`v.2.2.2.f.f.f#N#N#N`e`e#v#v.sa0#y#y#y#m.x.A`T#uar.Z#0aN#a#r#aaN`8#x`0#6#u#u#u#u#u.nar#6ar`L`Laxazasae#W.C.y`1.Uac`H.C`O.C`1.KaZ.gaN`OaN`f`x#z#z`1#W`O`J.K#Q`O`O`O#B`Q`QaYak.8`O`xai`#aN`f.h`F#U`F`2`L#s#W.8#RaAau.G.e.k.ear.M.6.Y#Wa3a`#j.B.Aaa#8.J.A`T.n#6`Lai.4aG#B#a#r#r#r.Cafad.m.r.Q`O#r#a#a#a`f`x`Q.U`faN.C.E.6.d`8.N.8.C#S`I.5aZ#R.8aF.1#8#8`u.B#Wa3.7.i.Ea3ag`Uaa`R#3`RaEaEaE#3`Ra1a1.##YaeaNaN#a#a#aaI#A.0.0aO.raO`Q#z#MaGaI#a`f.Q#A#PaTaU#a#r`f#SaT#U.4aW.C`O.8#S.4#Ma2`q`8.8`OaU.t#R`O.C#J`M.h.8.C`H#J.ha`.6ar.n`Zah.A#V.A.J#maa.b.b.b`u#8ap#K`z#r#r#r`7.Q`f#r#r#r#raU#za2.Daz`I`L.w.Z#6`L#i`I`#`OaN`O`O#A#z.4.4.4#M#Ma2a2.c.C#a`O`O#Gai.5`L.Zar`Zah#V.x#w#m#y#y#ya0a0a0.s.san.s`e`e#v`e`e`e`e`e`eab`eab.vab.fab.f.f.2.f.2.2.2.2.2`v.2a..2a.`v`v`v`va.", +"`v`v`v`v`v`v`v`v`v`v.2`v.2.2`v.2`v.2`v.2.2`v.2a..2.2.2`v.2`v.2`v.2`R.2.2.2.v.2.v.v#N#N`e`e.s.sa0#yaa#w.Jah`T.n#6#i.N#a#a#r#r`f`I`0#u#u#uaP`T`T`T`T`T#uarar`L`Lax.c#W.8`H.4ai`qaX#z#0.C`O#B`Q`x#S`O#a`O`O.t.K#U.g`O`O#G`QaU#aaNaN.C`1`Q#Uaq`O.C.c.I#BaN`6az#6`0#6`0.e#WaN#R`Aa8.1.A.1.nar`T`Tar#l#W.Nal#Yaa#8#w#8.x.A`T#u.Z#i`2a2.KaI#r#r#r#raI#o.m.r#O.C#r#r#r#r#aaU#A#A`7aN.C.e`0.q#u#6.G#B.8#W`A#K`p#W.C.k.1ap#8`u.1ae#W.yaAa3a3aJ`Za1.v`R`RaEaEaE`R`R.va1.X#t`A`O#a#a#a#r#a#aaU.Q.zafaf.maO.0aW.C#a`f.taM#Saq`f#r#raI.QaG#z#z#BaN#a`O#B`QaXa2a2#n`O.Cak`Q#n.8`Oav#z.k`O#W.U.G#K`Larar`m.n`Zah.xaaaa.`.`aVaV`u#Yap`2`z#r#r#a.C#oaW`O#r#r#r#r`4#M.D.D.5#i#i#i`I.5.5az.d.y`OaN`O`7`p#z#z#M#MaXaCaC.DaG.C#a#a`O#G.5#i`Lar.n`Tah.A.J#maa#y#y.`a0a0a0.s.s.s.s#v#v`G#v`e`G`e#N`e#N`eab`e.fab.vab.f.f.2.f.2.f.2`v.2.2`v.2.2`va..2a.`v", +"a.a.a.a.`va.`v.2a..2`v.2.2.2.2.2.2.2.2.2.2.2.2.2.2`v.2.2.2.2.2.2.2.2.2`R.f.2.f.f.f.v.v#Na1`ean#va0.`aa.J.A`T#gar.5`7aN#a#a#r`4`0`0`0.qaPa8.1.A.1.A`T`T`T#uar#6.5`H.8aI`A`I`2ai`q.d`QaIaN`f#U`QaLaN`O`7aN`faW.Kav#a.8.FaGaI#a.C`7#a`H#z#z.N#a`fa6.c`faNaFaC`2az`L#i`#aN`O.e.1.1.1.1.1.1`T`T`Tar.Y#WaJ.naa#Yaa#8#m.x.Aah#uar`IazaC`x`7#a#r#r#r.C`r#B`f`O#r#r#r#r#r`O#A#Aav.8aN`K`0#u#u`0#6#i.h#W`O.U`2.h#W.8ac.1.1ap`u`u`Aa3a3a3#R.y#.ana1.v`R#3aEaEaEaE#3`R.Xan#t.xaA#a#r#r#r#a#r#a`OaI.Q.zafaf.r`E#a#r.CaI`f`f`f`O#r`Oaq`p#z#M.h`O`O`faN`f.c#M#M.4.taN.Ca6`M.h`O`Oav`QaL`O#R#U.G#K`2ax.Sar`Z.Aaa`k.`.#.#.#.`.b`uap.5.N#a#a#r`f#q`l`o#r#r#r#r#a`E#2`qai.D#K`2#K#K.D#K.D.I#R`O#a#aaU`Q.4#Ma2aCai.D.D.D`p`O#aaN`O.7az`L#6ar.nah.A.x#w#m`Paa#y#y#y#y#La0#L.s.s.s.s.s`e`G`e`G`e`e`eab`eab#N.fab.fab.f.2.f.2.2.2.2.2.2`va.`v`va.`va.a.", +"a.a.`va.`va.`va..2`v.2`v.2.2.2.2.2.2.f.2.f.f.2.f.fab.2.f.2.f.2.v.f.v.f.f.v.2.v.f.v.f.vab.v`e`e`eana0`kaa#8.1`Tarai#R#a#a#r#a`E#6`0`0aPa8.1.A.A.A.x.A.A`T`Z#uar#K.H.8#S`L`I`Iaz`2aiaX`JaN#WaG#z#B#a`f.F.C`O`J.KaU#a.C#A.c.C#a#B`E`O`O.c#z#B#a#BaG#A.C#a`f#Ba4aU.U`q`zaN.N#6ap#8.1#8.1.1.1`T`T`LaF`X.Y.Aaa#8aa#m.x.x.A`T.nar`I#K`q#U`f#a#r#a#r#r#r#r#r#r#r#r#r#r#r.g.d`p#B`O.8.G#u#u#u`0#6#x.6#W.8.gaz.7.C.8.ia8a8.x`u`u`TaeaR#Wa3.e.`a1.v`R`RaEaEamaEaE`R#3a1an.##t#6.Y`O#r#r#r#r#a#r#a.C.t`o.zaWaM#a#r#r#r#r#r#r#r#r.C#A.0aC#M`z#a`7`1.C.8`E#z`M`QaU`O.CaW.c#B`O.8#0#z#BaN.Ca4`H`H.E.R.nahaaaaa0.#anana0.`.b#8#8`LaF#a#a#r.C#q#2#2#A###r###raN.F#z.4#MaX.G.Gaiai#Kaiai`x#W`OaN`O`##MaCaC.D.D.Daz`g`g.U`O#a#a.8.h`I`Lar.n`T`T.A.J.J#w#m`Paa#y#y#y#y#ya0#La0a0.s.s.s`G`G`e`G#N`e#Nab#N.f`e.fab.fab.f.2.f.2.f.2`v.2`v`va..2a.a.a.a.", +"a.a.a.a.a.a.`va..2a..2a..2`v.2.2.2.f.2abababababababab`eabab.vab.fab.vabab.vab.vab#N#N.v`e#Na1`eana0a0.`aa.x.1`T#K`f#a`D#a#r.h`0#6`0aPaP`T.1.A.xap.A.A.A.1ah`Tas#R.8ac#6#6`L`I.5az`q.g`O.C.K.4`7aN#B.4`6#a`7`p#B#a`7#UaW`O`Oav`Q`7#aav`Q#R#a`HaX.h`OaN`O`O`O`Oac.4`faN.Y.q.1#8ap.x#8.1.A.1`T#1.yaRawaa`uaa#maa#m.x.Aah#g.Z`Laz`q.c`O#a#r#r#r#r#r#r#r#a#r#r#r`D`6#i#6.4#B.8`f`2#u#u#u`0#6#i.d`f`O.k#i#0#W.C`Aa8`T`t`u#taV.6a3a3ae.J.Xa1.v`RaEaEamaEamaE`R#3a1.X.##t`ua8.6#B`D#a#r#r#a#r#r`O#b#PaT#B#r#r###r#r#r#a#a#a`7#zaC`gac#a#a#A`Q`7aNav#U#z`MaI#a`O`f.8`OaN#B#Mas#R`O`O.8#W#W#Q.Z#8`u.`ananan.Pa0.`.b#Y#8`L.kaN#a#r.CaG`N#k`N`J###r#r#r.8#A.K`Q#z.4aX.G.Gaiai#K.D`8.C#a#aaN.kaCai.D.Daz`g`g`g`I#G#r#a#a.C`8`L.warar.n`Zahah.A.J.J#w`P`P#y#y#y#L#L#La0#L.s.s.s`G`e`G`e`e`Gab`e`eababab.fab.2.f.2.2.2`v.2a.`va.`va.a.a.a.a.a.", +"..a...a.a.a.a.a.a.a..2a..2`v`v.2.2.2.f.2.2.f.fab.fab`eab`e`e`e`G`e`e`G`e`e`e`e`e#N`e`e`e`e`ean#v.Pa0a0.baa#8#8a8.5`f#r#r#r#r`1#u.qaP.q.q.1.1.1.A.A.A.A.A.1`T`T.B#R.8#n#u`0#6#6#i#iai`#aN`faX`A.C#aav.D`x.CaN.g`f#a#Ba2aW#a`O.g.4akaN.C`E.C#a.g`gac#a`O#S#0#0#0.4.6#RaN#G`Tap#8#8ap#8.x.x.A.AaxaR#Rayaa`uaaaaaa#m#w.A`T.nar`L`2`q#laN#a#r#r#r#r#r#r#r#r#r#r.8.k`L`taD`IaF.8#R#K#u#u#u`0#6#i.6#WaNac`L.k#W#W#K`T.1.A`uaV#t`n.ya3auana1.v`R#3aEaEamamamaEaE`Ra1.X.#aV`u#`.1#x.I`6`O#r#r#r#a#r.C.taq.C#r#r`O#WaI#B#B#a#aav.D`ga2`z#aaI`p`Q#B`OaI`Qai`q.CaN`O#W#W`f`H`A.w`q.CaN`6.Ua``8as.x.b.`a0.#.`a0.`.`aa.baa`T#saN#a`D.C`x#k#k`N`laU#r#r#r#r.Cak`oaG.6.4.d.Gai`2.5`I`I`x.8#a#a`O.g.D.Daz`g`g`I#i#iaz`6#a#aaN#W`M.5`L`L.Zar.n#Iah#V#V.J#w#w`P#m`P#y#y#L#L#L.s.s`G.s`G`G`e`G`eab`eababab.f.f.f.2.2.2.2`v.2a.`va.a.a.a.a.a.a.a.``a.", +"````..``a.a.a.a.a.a.a.a.a..2a.`v.2.2.2.2.2.2.fab.fab.fab`eab`Gab`G`G`G`G`G.s`G.s.s`G`G#v#v#v.s.sa0a0#Laaaa#8.A.1#6#R#r#r#r##`Ha8a8a8a8.x.1.x.A.1.A.A.1ah`Tah.q`L.y.8`H.na8aP#u`0#6.d#RaN.N`I#z.CaN`1#i.Dav#a#W`OaN`4`I.haN.8.c`q.6`7`O#W`OaN#l`I.g`D#W`q#x#iaz`2.4.y.8.Nar#8ap#8#8#Y#8#8#8.xasaRa3#j.b#y.baaaaaa#8.Aah#uar`L.R`q#n#a#r#r#r#r`Dao.8#Wa3`6aw#h`tap`u#Y.1ac#R#W`F#6#u#u#u#6`L.E.CaN`A#6ae#WaIaxaP`T.1#t.#.##Z.y.y.L.X.v.v`R`Ramam.TaE.TaEaE#3a1a1.#.#aV#`a8#6.DaC`o.C#r#a#r#r#r.C#d#a#r`DaU#O#AaO.caN`O#0#x#i#n`OaN`faIaI#W`O#W.G`0.G.8aNav#U.6.G#x`0aP`A.8aNaya8#8#8#Y.b.b.`.`#y.`a0.`a0.#a0.#.M.8`D#a#r`7`4`4av`H`6`O#r#r#r#r#a.C`fak.4a2aiaz`L#i.w#i#6`Q.C#a#r#a#Gaz`g`g`I#i#x#x#xaC`f#aaN`O`z`q.5.5`L.Sar.n#I`Zah#V#T.J.J`P`P#y#y#y#y#L#L.s#L.s`G`G`G`e`Gab`eabab.f.f.f.2.2.2`v`v`va.a.a.a.a.a.a.a...``````````", +"``````````````a.``a.a.a.a.a.a.`va.`v`v`v.2.2.2.2.fab.fababab`eab`e`G`e`G`G`G#L`G#L#L#L#L#L#y#y#y#yaaaa#m.x.A.1`T#u.l#a#r#r#r`X#xapap#`ap`uap`u#Y#8#8.x.x.A`T`TaraA#W#W`Fara8.q#u#KaF`O.8`8#u`F.8aN.I#6#6.6.CaN#aaN.h#6#0#a.C.G#xaz.h.8`O`O.C`Qaz`H#a`f#gaP#u#6`L.5ae#W#Wa``T#8#Y#8ah.1aaaa#8.OaRagal.`.`.`#y.b#m#w.Jah.nar`Laz.G`JaN#a#r#r`V`q`2`g`I.w#uap`u`u`u`u`u#t#Ka3#WaF#K#6.n#u#1`8#R.8.Nar#6`##WaF`L#u`T.A.`#t.#ay.y.Naha1#3`R`RaEamam.Tam.TaEaE`R#3.X.##t`uap#6az.D#kaC`o#a#r#r#r#r`OaI#a#r`OaM#A#zai`p#r`O`x#6`q#W`O.8.C.C.C.8aN#a.6.q.6.CaN.i#6#u#ua8.1`t.i.8aNas#8#8#8#maaaaaa#ya0#vanana1#N.X.#.iaNaN`D#a#r#r#r#r#r#r#r#r#r#r#r#a#a`O#naiaz#i.w.w#6#6`0#6`M.C#r#a#a.k`g`g`g`g`g`gazaz.KaN`O`O`O#S#K#Kax#1.S.Z`m#I#I#V#V.J.J`P`P`P#y`P#L#L#L.s.s.s`G`G`e`e`eabab.f.f.2.2.2.2`va.`va.a.a.a.a...a.....````````..``````", +"``````````````````````..``a.a.a.a.a.a.`va.`v.2.2.2.2.f.f.fabababab`eab`G`G`G.s.s#L.s#y#y#y`P`P`P.J.J#V#Vah`T.n#uar#naN#a#r#r`Dac.qaDap#``u`u.b#taV.b.baa#8#8.x.1as.y`X#Raw.M#jay.N.8aNaear.1#l.8aN#Ka8.q`L.k`OaN.8.6a8#S#a#W.w.q#u.5.N`OaN#R.G.5`z`O.Hauauau.d#u`T`A.N#Wa3.Yau#j.OaAaj.b.b.b#D#W.a.Jana0a0.`#y#y#m.x#V`Tar`L.5.G`H`O#a#a#r`#aD`tapap`u`u`u`uaV#t#t#taV#8awaR#RaJ`F`Aau.7#R.8#Ras`u`L#E#W`H.eau`.#KaV.#.##Dag`B#w`R`R`RaEam.Tam.TamamamaE`Ra1.X.XaV#Y#6azaiaCaCaC#z`f#a#r#r#rao#B#a#r`7a6#M`IaP.h#r.C.d`0#GaN`f.U.I.6.6`F#W#aac.1`8`X.8as.q.1#8#8`u`uawaN.8`C.M#j#j`m#waaa0ana1.v`R#3.v.v.Xan`haNaNaN#a#a#r#a#r#r#r#r#r#r#r#r#r#r`O`x`I#x#6#6`0#u#u#u#uai#R#r#a#r`6aC.D.D.Dai.D.D.D#S`OaN`O.8`8ai#K.5#1.SaB#I#Iah#V#V#T.J`P`P`P#y#L#L.s.s.s`G`e`eabab.f.f.2.2.2.2`v`v`va.a.a.a.a.a.....``````````````````````````", +"``````````````````````````````````a.``a.a.a.a.a.a.`v.2.2.2.f.f.fababab`e`e`e`G`G.s.s#L#L#y#y#y`P.J#T#V`Z#Iar.Z.S#1.6.CaN#a`D#r.C`Ma8apapap`u`uaV#t#t.#`u.`.`aVaa.x`..y`X.8#WaR.8aN`X.Y#6#Y`5aAaN.8ar`5#8apas#WaN.8`2.x.N`D.N.1#8ap.1.i.8aN`zar`I`V.8`O.8aNaN`w`T.b#8au.yaR#WaR#W`X.H.Ban.#a0`haR`B.`ana1anana0#yaa#w.A`Zar.Sax.G#B.8aN#a`D#napap#``u`uaV.#.#.#an.#an.#an.naAa3#WaRa3a3#W`X.y#jaaaVax.N#WaRaRaRa3aA.b.X.``hag`U.`#3`RaEamam.Ta..T..am.T`R`R#3.X.#.1#1az`q`q`q#2a2.K.C#r#r#r#r#WaU`O#a`Jai`0.1#`.k#a#W.S.5.H`OaQa8#Y`u`uap.YaN#E#8ac.8#W`L#Y`u.b#taV#t#Xao.8`XaRaR#Eala0.X.v#3`RaE`R`R`R#3a1.`#X.8aoaNaNaN#a#r#r#r#r#####r###r#r#a`faX#x#6`0#u#u#uaP.q#u#x.N#a#a#a`f`x`qaC`qaiaiai`Q`f`O`O.8.y.6#K.Raxal.Z#p.n#I.p#V.J.J`P`P#y#L.s.s.s`e`e`eab.f.f.f.f.2.2`v.2a.a.a.a.a...a.``````````````````````````````````````", +"``````````````````````````````````````````````..a...a...a.`v`v.2.2.f.f.fababab`e`G`G`G.s#L#L#y`P`P.J#V#V#IaB.S`L.5asaF.8.8`OaN#a#W`F#i.1apap`u`u#Y.x.Sayax.#.#.X.#.b`c#s#E.a.a.l#X#j#8#t#t.b`W.l.Y.x#taVaV`u`U.l`B.1.x`s`j#D#8#taV#t#u#X.l`h`u.S`w.l.l.l.l`j`C.b.#.#.b`caQ#E.a.N.3#D#wa1a1an`W#X`dan#3.va1`eana0#L#m.xah.n.S#1.G.H.8`O#aaN.e#``u`uaV.#.#.#.X.X.X.Xa1.X.Xan.xa5#X#E.l.N`B#Dar.`.#.#`L#XaF`w`BaJ`B`da1a1aa#D#X#7`eaEaEamam.Ta.at..a..TamaE#3.v.X.xaA#F`8#ja2a2aX#z`E#a#a#r#r#a#B.t`z#B`M.1#8`u`u.7`j.Y.1au.l#Q.SaV#taV.#.bas.l#X.1#D.l.Y.A.#.#.#.#.#.b`b.3`w`w`B`B`b.J.v#3`RaE`vaEamaE`R`R.v.`#j#Da`a`acac`K#G#0.g#BaK#####r`Dav.gac.w#uaP#6as.i.6.5#6#6#x#G`OaNaN`O.k#Ma2aCaCaC#z`6`O.8.8#W#G.G#K.5`c.S#p#I`Z#V`a`P`P#L#L.s`G`G`e`eabab.f.f.f.f.2`v`va.a.a.........``````````````````````````````````````````````", +"````````````````````````````````````````````````````````..``a...a.a.`v.2`v.f.f.fababab`e`G`G.s.s#y`P`P`a#V#I`m.Zal.5.eaI.8.8`O`O`O.8`H`8`A#K#Kasay.YaR#R`can.X.#an.Xan.#.J.n`m.A.#an.#an.#an#Y#8aa.#.#an.X.#aa.A#8.##t#m.1.b.#.#.#.#.##8.A#m.#.b.A.A.A.x.x.x.b.#anan.Xan.#.J#I#I#wa1.v.v`R.va0#Lan#3`RaE`R#3.va1a0.`#wah.nar`Lau`7.8.8aN.8#K`uaV#t.#.#.Xa1a1.va1#3a1#3a1a1.va1.`ah.n.p.ban.X.X.#.X.`#m#w#8#waaaa.`.v.v.va0#L`eaEaEam.T.Tat.......TamamaE`R.v.`aSa3#Ra3`J`p.I`p.g.C#a#a#a#a.C`1.6ai#6.A`u#taV#t.x.1#8.`#8.x#m.#.#.#.#.#.#.`.x#m.`aa#maa.#.Xan.X.Xananaa#maaaaaaaaa0a1#3aEaEamamam`vamaEaE`R.va1a1.#.#.b`u#`apapa8#U`D#r#r#r.8`2#6#u#uaP#u.e#W.8.8#Sai`L#i.6#W`O`OaN.C#naXai`qaZ.N.8.8.8.C.N#Z#KaxalaB.n`Z#V#w`P#ya0.s.s`e`e`e.fab.f.f.2`v.2a.a.a...a...``..``````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````..``..``a...a.`v`v`v.f.f.fab`e`G`G.s#L#y.J`aah.nar.S.5aw#R.8.8.8.8`O`O.8`f.H#R#W.8aoaN.a.nan.Xa1a1a1a1a1a1a1#Na1a1a1a1a1a1a1a1.Xa1a1a1.Xana1.X.Xan.Xan.Xan.Xan.X.Xan.Xanan.X.#.Xan.Xan.X.X.Xana1a1a1a1.v.v.v.v.v`R#3`R`R#3`RaEaE`RaEaEaEamaEaE`R.vana0#mah`m.S`F.H#W.8.8#W.n#t.#an.Xa1a1.v`R#3`R`R`R`R`R#3`R.v.v.va1a1a1a1a1a1a1a1a1a1a1.v.v.v.v`R#3`R`RaEaEaEamam.Ta.ata.atatata...amaEaEa1ajaga3aR#W#W#RaI`f.8`OaN`O`O.8#S#K#u#8`u#t#t.#.#.#.X.#.X.Xan.Xana1a1a1a1a1a1.Xa1a1a1a1.Xa1a1.v.v.va1.va1.v.v.v.v.v`R#3aEaEamam.Tam.Tam.TamaE`R#3.va1.X.##t#taV#`ap#`.UaK#r#r#r`z#i#uaP.qa8ax.N.8.8.C#W#l`L.waz#QaN`OaN`O.8`z`H#B`f.8`O.8.CaI.iax`L.n`Tah.Jaa#ya0.s`G`e#N.f.f.f.2`v`va.a...a.....``..````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````..``````````..``..````..a...a.`v`v`v.f.f`e`e.sa0#y#w.Jah.naraxac`f.8.8.8.8.8.8aN.8aN.8ao`Oao`waa.Xa1a1.va1#3.v#3.v.v.v.v.v.v.v`R.v.v.v.v.v#3.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.va1.va1.va1.va1.va1.v.v.v.v`R.v`R#3`R`R`R`R`R`RaEaEaEaEaEamamamamam.Tamam`vaE.v#Na0aa#Var#Da3aR#W.8.a#8.#an.Xa1.v`R#3`RaEaEaEaEaEaE`R`R`R`R#3`R#3#3.v.v#3.v#3.v#3#3`R#3`R`R`R`RaEaEamam.Tam.Tat..atatat``..ata..TaEaE#v`U#WaR#W#W#W#W.8.C.8.8.C.8.C`6.5ap`u#t.#.#.#an.X.Xa1.va1.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v`R#3#3`R#3`R`R`R`R`R`R`R`RaEaEaEamam.Tam........a..TamamaE`R.va1a1an.#aV#t`u`u`s`D#r#r#a.k#6.qa8.1.1#K`f.8#W`X#W.7ar#u`T.G#RaNaNaN`OaN`O`O.8`O.8#W#R`8.Z`T.1.J#maaa0a0an`e.v.v.2`R`v`va...a.........``````..``````..``````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````..````````..``..``..``....a...a.`v`v.2.v`ean.`.b#m.x`T.S.i`z#W.8.8.8ao.8`Oao.8aoao.8`hana1.v.v#3`R#3`R`R`R`R`R`R`RaE`R`RaEaEaEaE`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R#3`R.v`R#3`R#3`R`R`R`R`R`R`R`RaE`RaEaEamaEaEamamamam.Tam.T.Ta..Tam.TamamaE`Ra1an.`.xaSaIaR#W`X.Y.bana1a1#3`R`RaEamamamamamamamamaEaEaEaE`RaE`R`R`R`R`R`R`R`R`R`RaE`RaEamaEamamam.Tam....atatat````..at....a.amaE`R.x#Dag#W#W`X.C`X.C.8.C.8#Waeax`uaV.#.#.#a1a1a1#3a1#3`R#3`R`R`R`R`R`R`R`R`R`R`R`RaE`RaEaE`RaEaEaEaEaEaEaEaEaEaEaEamaEam.Tam......ata.at..a..TamaEaE`R#3a1.X.X.#.#aV`u`w`D#aaNaNa``T.1.x#8#8`L.y.8.8.8`X`F.A#8`t.1au#RaNaNaNaNaNaN.8.8.8.Na5#u.A#maa.`a0ana1.v.2aE`vam.Ta.....at..atat````at``..``````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````..``at``........am.TaE`R#3.va1an.#.``u.x#KaA.a.8.8`OaNaoaNao.8.a`hala1.v#3`R`R`R`RaEaEaEaEaEamaEaEamaEamaEaEamamaEamaEaEamaEaEaEamaEamaEaEaEaEaEaEaE`RaE`RaE`R`RaE`RaEaEaEamaEamamamaEamamamamam.Tam.T.T.Ta..T..........a..TamaEaE`R.va1a0`Ua3aRa3#W#D.#a1.v`R`R`Ramam.T.Tat.Tat.Ta..TamamamaEamaEamaEamaEamaEamaEamaEamamam.Tam.T.T.T....atat``at``..````at``a..TamaE`R.va0al#s.a#W.8.8.8.8#W.N`8`T.b.#.#.X.Xa1a1#3`R#3`R`RaEaEaEaEaEaEaEaEaEaEaEaEamaEaEamaEamamamam.TaEamamaEamamamam.Ta..T....atatat``atatatat....amamaEaE`R#3a1.Xan.X.x`waNao.8`X.M#8`uaV#t.#aa.W`Xao.8`B.S`uaa.b`u#Y#h`w.8aN#aaNaN.8.aaw#1#8.`a0.#an.v.vaE`Ramam.Tam......atatat``at``..``````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````at````````..``atat....a..TamamaE`R.v.va1.X.#.#.##Y`L`.aS`saJ`w.Y`b.MaB.#a1.v`R`R`RaEaEamamamam.Tam.T.Ta..T.Ta..T.T.T.T.T.Ta..T.Tamat.Tam.T.Tam.Ta..Tamamamam.Tam.Tam.Tamam.Tamamamamam.Tam.Ta..Ta..T.Ta.....a.atat..ata.at..at..a..Tam`vaE`R#3a1al`n`S`S`n#Ha1.v`R`RaEam.Ta.ata.atat..atat.Tat.Tata..Tam.Tamam.Tamam.Tam.Ta..T.Ta..Ta...a.at..atat``at````````..``......amaEaE#3.va1.`.Z.M#D#s#sa`.Mar.`.#.#.X.#a1a1.v`R`R`RaEaEamamaEamamam.Tamam.Tamatam.Ta..Ta..T.Tam.T.Tam.T.T.T.T.T.T.T.Ta.at..atatat````at````````..at...Tamam`R`R#3#3.X.XaVaH.M.M#7.M.1an.#an.#.Xan.baj`U#D.Zan.#.#.#.#.##t.x`n#D.Y.Y#fajar.b.#an.Xa1.v.v`R`RaEamam.Ta...atatat``a.````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````atatat..a..TaEamaE`R.v.va1a1an.X.#.#aV#m#8#8aa.`.Xa1a1.v`R`RaEaEamam.Ta.at.Tat.Tata.at.Tat....a...a.....ata.atata.at.Tata.at...T...Tat.Tata..Ta..Ta..Ta..Ta.at.Tat.Tata.at.Tat.Tat....at..atatat``..at``..at..at..a..TaEaE`R`R#3.v`R.v.v`R#3`RaEaEam.Ta.at.Tatatatat..atata.ata..T...Tata.at.Tata..Tata..Ta.at.Tat..atatatat````````..````````at``..a..TamaE`R`R.va1.X.#.`.baa.b.#.#.#.X.Xa1.v.v`R`RaEaEamam.Tam.T.T.Tat.Ta.at.Tata.ata.ata..T.Ta.at..........ata.at..ata.atatatatat````````````````at``atat...Ta.amaE`R`R#3#3a1a1a1a1.Xan.X.Xa1a1a1a1a1a1an.`an.Xa1.X.X.Xan.X.#.#.##taa`u.`.#an.X.Xa1a1.v`R`RaEaEamam.T....atat``..``````at````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````at````````..at..a..TamaEaEaE`R.v.va1a1a1.X.Xana1.Xa1a1a1.v`R`RaEaEamamata.atat.Tatatatatatatatatatatatat``atatatatatatatatatatatatatatatatatat..atatat..at..atat.Tatata.atatat..ata.atatatatatat``..``..````at````ata.at..a.amamaEaE`R`R#3`R`R`R`RaEamam.Ta.at..at``at``..````at``..atatata.atat..ata.atata.atatat..atatatat``..``..``..``````at````at``..at..amaEaE#3.v.va1a1a1an.X.Xana1a1a1.v.v`R`RaEaEamam.Ta..Tat..atat..atat..atatat..at..atatatatatatatatatatatat``a.at``at``..````````at``````````````````at..at.Ta.amaE`R`R`R#3.v.v.v.v.v.v.v.v`R.v#3`R#3`R.v.v.v.v.v.va1a1a1a1a1.X.Xana1.Xa1a1.v.v#3`R`RaEamam.T..a.atat````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````..````atatat....a.amaEaE`R`R#3.v.v.va1.va1.v.v.v`R#3`RaEamama..T.Tatatatat````````````````````````````````````````````````````````````..``atatatatatata.atatatatatat..atatat``..``a.``..``..``at``at``..``..``atata....TamamaEaEaEaEaEaEaEaEamam.Ta..Tatatat``..``..``..``..at``..atatat..ata.atatatatatatatatat``a.``..````at``````````````..``..at..a..TamaEaE`R`R.v.va1a1a1a1.va1.v.v`R`R`RaEaEamam.Tat.Tatatata.``at``..at``a.atatatatatat``..at..``a.``..``..``..``..``at````..``````````````````````````atat..at.TamamaEaEaE`R`R`R`R`R`R`RaE`R`RaE`R`R`RaE`R`R`R`R#3.v`R.v.v.v.v.v.v.v.v.v`R#3`R`RaEamam.Ta.atatat````at``````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````..at...TamamamaEaE`R`R`R#3`R#3`R`R`RaEaEamam.T.T..atatat``````````````````````````````````````````````````````````````````````````..``..``atata.``..``a.``..``a.at``..at``..``at``..``..````at``..``atat..a....TamamaEamaEaEamam.Tam.T....at..``..``..``..``..``..at``a.``..at..at....at..at..``a.``..at``..at..``..``..at..``at``at``....a..TamamaEaE`R#3`R#3.v`R#3a1`R`R`R#3aEaEamam.T.Ta.ata.at``at``..``..``at``at````at..``..a.``..``..``..``..``..at``at``..````````````````````````````````````atatat...Ta..TamamaEamaEamamaEaEamaEamaEamaEamaEaEaEaEaE`R`R`R`R`R`R`R`R`R`R`R`RaEaEamam.Ta.atatat````at``````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````at``..at...T.TamamaEaEaEaEaE`RaEaEaEamam.Tam..a.atat``````````````````````````````````````````````````````````````````````at``..````..``..``..``..a.at..ata.at....at``a.at..at..``..``at..``..``..``....atata..Ta..Tamamamam.TaEam.Ta..Ta.at..at..``at``..at``a.``..at``....``a.``..ata.``..a.``..at..``..``..``at``..````..``..``........a..Tam.TaEaEaE`R`R`R`R#3`R`R`R#3aEaEaEam.Tamata.atatat..a.``..``at``..``..``..``..``..``at``..ata.``....ata.``....``..``at``at``````````````````````````````````..atat..a..T.Ta..Tam.Tam.Ta..Tam.Ta.am.Tam.Tamamam.TamamamaEaEaEaEaEaEaEamamam.T.Tat..atatat``at``````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``at..a.at.Ta..Tamam.Tamamam.Ta..T.Tatatat````````````````````````````````````````````````````````````````````````````````at``..at..a.at....at..a.at....ata...a.at..a.``a...ata.``....``..``..``a.at..a...a..Tam.T.TaEam.Tam.Ta.......a.ata.at..a.ata.at..a...a...a.ata.....a.at..a.at....a.ata...a...a.ata...at........at......a...a..Tam`vamaEaE`R#3`R`R`R#3`RaEaEaEamamamam.Ta..Ta...at``..at``..``..``..``..at..``a.......a.ata.``..a.ata.at..a.at..at..````````````````````````````````````````````atatatat.....T..a...at.Tata.at..at...Tata.at.Ta..T.Ta..Ta..Tamam.Ta..T.Tata.atatatat``````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````atat..at...T..a..Tat.Tat.Tatat````````at````````````````````````````````````````````````````````````````````````````....``..at..a...a.a.....a...a.....a.....a.....a...a.....a...a.at......ata.at..a..Tam.Tam`v.T`vam.Tam.Tama..Ta.....a...a.....a.....a.at....a.....a.at..a.....a.....a.....a.at..a.....a...a...a...a...a..Tam.TamamaEamaEaEaEaE`RaE#3aEaEaEaEaEaEam.Tamam.Ta..Ta...a.........atat......ata.at....ata.at..a.....a.......a.....a.at........at``````````````````````````````````````````at``atatatatatatatatatatatat..atatatatatatatatat..atata.atatatatata.atatat````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````atatatatatatatatat``at``at````````````````````````````````````````````````````````````````````````````````at..``....a...a...a..Tama.am.Tamamamam.Tamam.Tama..Tam.Ta.a...a.....a...a.at..a...a..Tamam.Tamamam.T`vamam.Tam.Tama.a..Ta..Ta.a..Tama..Tamama..Tama..Tam.Ta..Ta..Tam..am..am..ama..Ta.ama..Tama..Tam.TamamamamaEamaEaEaEaEaE`R#3aE#3aE`RaEaEaEaEaEaEaE.Tamam.Tam.T....a...a.ata...ata...a...a...a.a...a...a..Tamama.ama..Ta.am..a...a.at..``..``````````````````````````````````````````````````````````````````````````````````at``atatatatatatatatatat``at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at````````````````````````````````````````````````````````````````````````````````````````````````........a.am.TaEamaEamamaEaEamaE.TaEaEaEamaEamaEamaEamam.Tam.Tama..Ta...a.a..Tam.Tam.Tam`vaEaEaEaEaEaEaEaEaEamaEamaEamaEamamaEamaEamaEamamaEamamamamamaEamamaEamamamamamamamamaEamaEamaEamaEamaEaEaEaEaEaEaEaEaEaEaE`R`R`R#3`R`R`R`R#3aE`RaEaEaEaEaEaEaEamaEamamamam.Ta..Ta...a.a...a...am.Tam.TamamamaEamamaEam.TaEamaEamaEamamam.Ta.....atat````````````````````````````````````````````````````````````````````````````at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````atat....a.am.TaEaEaEaEaEaE`RaEaE`RaE`R`RaE`RaE`RaE`RaEaE`RaE`RaEaEamamam.Tam.Tamam.Tam`vamaEaEamaEaEaEaEaE`RaE`RaEaEaEaEaEaE`RaEaEaEaEaEaE`RaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaE`RaE`RaEaE`RaE`R`R`R`R`R`R#3`R#3`R#3#3#3`R`R#3`R#3`RaEaEaEaEaEaEaEaEaEaE.TaEamam.Tam.Tamam.TamamaEamaEaEaEaEaEaEaEaE`RaE`RaEaEaEaEaEaEaEamamam....at``at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at....a..TamaEaEaE`R`R#3`R#3`R.v`R.v#3.v`R.v#3`R.v`R#3`R#3`R`RaE`RaEaEaEaEaEamamaE`vamaEaEaEaE`RaE`R`R#3`R`R`R#3`R.v`R`R`R.v`R`R#3`R`R#3`R`R#3`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R`R#3`R`R`R.v`R#3`R.v#3.v#3.v#3.v.v.v.v.v.v.v#3a1`Ra1#3#3`R#3`R#3#3`R#3`R#3`R`RaEaEaE`RaEamaEamaEamaEamaEaEaEaEaE`RaE`R`R`R`R`R`R#3`R#3`R.v`R`R`R`RaEaEaE.Ta.....at``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``....am`e.s`R#3a0an.vanaaana1aaa0.van.ba1.v.`#ya1an#wa1.va0#v.v.v#yanaEaEaEaEaE`e#L.vaEaE`R#N#yan#3`R.v.v#y#V#ya1.v.v.v.##wan.va1aaa0.v#Naa#y#w#m#ya1#3`Ra0#T.`#3`Ran#y`Paa`Paa.v.v`R.v.`#Taa.v.v.v.va1aa#m#w.#a1.va1a1an#Yaaa1a1.`aa.`a1a1#3a1a1.#.v.v`Ra1#vaa#w.`.v`RaEaEaEaEaEaEaEaE`R#v.J#y.v`R#3`R#3an.J#wa1.v.v.v.va1#w#y.v.van#y`eaEama.....``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at....a.am#e#D.sa0`h#5.X.V#s#y.`#s#7.Xal`h#wa1`W.O.#`i`w#Va1.O`da1#w`B#I#3`R`RaE.v.V`B#y`R`R#3#I`h#5`Ra1anaj`w#E`w.O.`a1a1.V.3#V.v.J#X#ea1ah`h.l.3.3`W#ya1aB.Y.3.Y`i.v`Z.3.3.3.3`W.v.v.#`S#X.3`B.W.xa1a1.``U#E`w`B.V.Xa1a1.Z#X`h.J.#aj.3aj.va1.X.LaA.Y.O.`.va1#..3`B`B`U`i.v#3`R`RaE`RaEan#e#X.3`B#7`e`Ran.V.Y.3.3`W#Va1a1a1`Z`j`h.`.v#7.3#e.2aE.Ta...at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``....amaE.L`B.p#V`X#Da0#D`Bana0`U`haa.o`V.Vaa.l`.an`Z.a`naa`B`Baa.V.a#V.v`R#3`Ra1#7`V`P#3`R.val.a`ya1an`.`V#X.W`U.H.Va1an`Sao`ma1ah`V.Oa1.J`d#Xao`h#7`k.``U.a#7.Oaa.v.J#D.3`V`haja1an`SaR`h.O`W.H`h.ba1.b.3.l`d.a#Eaa.X.X`n`X#W.Vaa.3ao#s.Xa1ahae`U#7.a#4a1a1.O`V`d.W.3`j#V`R#3`R#3`R.v#ea#.Y`d`W`dan.val`V#X.O.W.a#X.Aa1a1.Bao`Valan`B`X#D.vaEam.T..atat``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````....a..TaE`P`j`y#e`X`B#I#X#D.X.#aj.H.n.Y`X`d.S`jal.Xaa.Y`WaB.a.a`i.W.Y#y.v`R.v#3a1#7`X#w.v.v`Ral.a`ya1#V.l`BaaanaaaH.x.X.#`Sao#eah.V`V.Oana1a1#eao#Ia1a1#y`h.a`ia0a1a1.va1`d#E#Ia1a1aa.3`w#Va1.`ay.8alan.b.3#X`Z`h.H#wanan`.ao.a#D.S.H#W#Xa0.Xaa.Z.J#I.aaja1a1a5.a#Ia1.V.H.O.v`R.v`R#3#L#X#X`P.v`e#ya1a1`h`j`i.Xan`3ao`S.#anaj`V.H.WaB.a.a`h`eaEamam..at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``..a.amaEan#X`d`U.3`w`S.HaHan.Xal#W`S.a`w`h.o.laaan.#.W.3.M.l#E#7`B.Wan.v`R.v`R#N#7`X`P`R.v.val.aaHa1aBaR.oan.Z#D`W`daaan`naN`V.H`Vao.O.Xa1an`yao#Ia1.v.X`y.3.a`W.J.va1a1`d`j#Ia1a1#V.H#D.#.Xan`cao.Man.b#E.H`B#W`W.`.XaV#D`V.W#E`W#X#X`B.xa1a1an#I#E.a#I.X.X.Oa#aha1#V.3`b.v#3.v`R.vah`j#D.v.v.v.v.va0`j`h.ba1a1ah`X#D.#.X#D#E`U#X#D`B`W.3#vaE`v.Ta.at..``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````.....TamaE.v`d`B.3.O.Y`B`V`Z.Xanah#E`B.la5.l.l#Xan.Xan#..a`B`U`W#X.a#e.v.v.v`R.va1#7`X.J.v.v.val.a#ea1#I.H`Wa1.V#X#Ra##m.#`Sao`U.o`W`X.O.Xa1a1#e.8#Ia1a1.va1#V`d.H#Da1.va1`d.l#Ia1a1.J.H`U.`a1anaHao`nan.b.3`V`X`j`Zan.X.b`U#E`c.H.H`d`d.l#I.Xa1a1aa.O.H.Oanana5a#`Za1ah`j`W#3.v`R.v`R#V.3`W#N.v.va1.vanaF.Yaaana1aBao`d.#an`h#X.V.a`V`d#7a##yaEam.T..at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````atat..a..TaE.2.L`X`j#V`W`X`Baaana1.``U.8`h#I.aaoa5.Xan.Xah.H`X`S#e`Xa#ah.va1.J#L`Ra1#7`V#5#wan.val.a`ya1aa#s.H#.#I`S.H`hanan`Sao`man#V`V`.#Na1#N#eao#I.v.v.Xal#5`ca#`Ua1.v.v`d.3#I.v.va0`U.H`y#m.n`B.Haha1aa`w#X.W`V`3.#anaa`B`hah.Y`V#p`S.aala1ahayalaa.3`U.`a1.Oa##5#V#D`V.V`Ran#Van#3an`Wa#`yaaah#pan.v`d`Vaj.J`a`U`Val.Xan`w`U.x#X`X#I#e.a.paEam.Ta.at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````....amam`R#V.a`Ban`S#W#Dana1a1.X.O`X.O.``hao.Za1a1a1.#`B`V#I#Ia#`wan.v`P#X.W#3a1#7`X`V`V#5.val.a.B.va1#I`B`X.HaR.3`ia1.X`Sao#Ia1#V.H.Oa1.va1`y`X#I.v.v.``U`V`V`j.V.v.v#3`d#E.p.v.v.v#I#X`V`j.H.a#eana1.``w`hah.Y.a.na1#w.a#D.#.O`B.#ala#.Ba1aa`U.3#s.H`Sa1a1.O#Wa#.Ha#`d#v`R.V.3#5`R`R#V.Y`Va#`V`Wan.v#w`h`V`j.H.H#7.#a1.``j#Danaj`B#y#5.3#5`v.Ta.....``at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````atat..a..TaE`e`y#5.2#y`S.pa1a1.v.v#V`S#Va1#p#7.`a1.v.v.val`ya0a0.B.L`R`Ran`y`iaE#3#V#4#4#7#y.v#y#e.J.v.v.v#V`S`d`S#V.Xa1a1#V#7`k.va0`S.p.v`R.v#w#7a0`R#3.v.J#4#7`i#N`R`R`R#I`ya0`R.v`R.v#w#e.O#7#Ian.va1an`y`canah`S#Ia1.``S`man.J`Y.v`k`S#V.v.v.J`S.O.Lan.v.v#I#7#7`S`m`e#3`R`P#e#y#3aE#3`P`y.O`S#V.v`R.vaa.V.Oaj#pan.v.v#v#e`m.v#w#pa1#y`y`Pam.T.T..at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at....amam`vaE#3`R.va1.v.v`R.v#3.va1.v.v.va1.v.v.v.v`Ra1a1.v`R.v.v`R#3aE#3`RaEaE`R.2.v.v`RaE.v.v#3`R`R#3`Ra1#Na1#3`R#3#3.va1.v`R#3.v.vaE`R`R`R.v`RaE`RaEaE.va1#3`RaE#3`R#3.v`R`R`R#3`R`R.v#Na1#3`R#3`R.va1a1.va1`ea1.v.va1.v`R.v.v.v.va1.v.v`R#3a1#Na1`R#3`R.v.v.v.v`R#3`RaE`R.vaEaEaEaEaE.f.v.v.2`R#3`R`R.v#Na1.v#3.v`R.va1.v#3`R.v`R`v.2`vam.Ta.````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..at...TamamaEaEaE`RaE`R`RaE`R`R`R`R`R`R`R`R`RaE`R`R#3aEaE`RaEaEaEaEaEamaEam`vamaEamamaEaEaEaEaEaE`RaE`R`R`R`R`R`R`R`R`R`RaE`RaEaEaEaEaEaEaEamaEaEaEaEaEaE`vaEaEaEaEaEaEaEaEaEaEaEaEaEaE`RaE`R`R`R`R`R#3`R`R.2`R`R`R`R#3`R#3`R`R`R`R`R`RaE`R`R`R`R`R`R`R`RaE`RaEaEaEaEaEamamamamamamaEaEamaEaEaEaEaEaEaE`RaE`R`R`RaE`R`R`R`R`RaEaE`vamam.Ta...at..``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````at``..ata..Tam.T`vamaE`vaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEamaEaEaEamaEamamam.Tam.Tamam.T`vamamamamamaEaEaEaEaEaEaEaEaEaEaEaEaEamaEamaEaEamamamamamamamamamamamamamamamam.Tamam.TamamamamamaEamaEaEaEaEaEaEaEaEaEaEaEaEaE.2aEaEaEaEaEaEaEaEamaEaEaEamaEam`vaEaEaEaEaEaEaE`vamamam.T`vam.Tam.Tam.TamamamamaEamaEaEaEaEamaEaEaEamaEamaEaEamamam.Tam..at````at````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````atatat....a..Tam.Tamamamamamamamamamamamamamamamamamamamamam.Tam.Ta..T.Ta..T.Ta..T.T.T.T.T.Tam.Ta.amamamamamamamamamamamamam.Tam.T.Tam.T.T...T.T..a..T.T...T.Ta..Ta..Ta..Ta..T.Tam.Tam.Tamamamamamamamamamamamamamamamamamamamamamamamamamam.Tamamamamamam.Tamam.Tam.T.Tam...Tam..am..am.Ta..T.Tam.Tam.Tamamamamamamamamamamam.Tam.T....atat``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````", +"````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````..at......a....T...T.Ta..T.Ta..Ta..Ta..T.T.T.T.T.T....a.......a.....a.......a...a...a...a..T...Ta..T.Ta..T.T...T...T..a.....a.....a...a.at....a.ata.........at....a.....a....Ta..T...T..a..T.Ta..T.Tam.T.T.T.T.Tam.T.Tam.Ta..T.T.T.T..am...T...T...Ta.....a.............at............a....Ta..Ta....T...T.Ta..T.T.T..a.......atat````..````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````" +}; diff --git a/2009-x64/cps4.03/icons/cpsToolbox.xpm b/2009-x64/cps4.03/icons/cpsToolbox.xpm new file mode 100644 index 0000000..c3d5971 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpsToolbox.xpm @@ -0,0 +1,798 @@ +/* XPM */ +static char *CPST_xpm[]={ +"32 32 763 2", +" c #621D1C", +" 0 c #762221", +" 1 c #802523", +" 2 c #832725", +" 3 c #802525", +" 4 c #802623", +" 5 c #7E2523", +" 6 c #7C2522", +" 7 c #7B2422", +" 8 c #792321", +" 9 c #762421", +" a c #742220", +" b c #722120", +" c c #6E211F", +" d c #6D201F", +" e c #6B1F1D", +" f c #844828", +" g c #AE8831", +" h c #77391F", +" i c #641E1C", +" j c #611D1B", +" k c #601B1B", +" l c #5F1C1B", +" m c #5D1B1A", +" n c #5D1C1A", +" o c #5B1C19", +" p c #5C1B19", +" q c #5B1B19", +" r c #591A19", +" s c #5A1919", +" t c #591A18", +" u c #71211F", +" v c #7D2424", +" w c #7E2424", +" x c #7D2423", +" y c #AB602C", +" z c #DAB978", +" A c #B37842", +" B c #8C492A", +" C c #864924", +" D c #7D491C", +" E c #7B491A", +" F c #83591C", +" G c #826116", +" H c #7F6115", +" I c #8B6C17", +" J c #B29439", +" K c #F9CD43", +" L c #BF9648", +" M c #67251D", +" N c #5F1C1A", +" O c #5D1D1B", +" P c #5C1C19", +" Q c #5B1C1A", +" R c #5A1A1A", +" S c #581A19", +" T c #571918", +" U c #561819", +" V c #7A2322", +" W c #792422", +" X c #782322", +" Y c #782422", +" Z c #BF6C17", +" & c #F0AC18", +"0 c #D5B75D", +"00 c #8B6D21", +"01 c #82561D", +"02 c #73391C", +"03 c #7C4319", +"04 c #6D3119", +"05 c #6F311B", +"06 c #631E1B", +"07 c #6C2B1E", +"08 c #A3791D", +"09 c #865428", +"0a c #B09135", +"0b c #9F7E3D", +"0c c #69301D", +"0d c #5A1B19", +"0e c #581B19", +"0f c #571A19", +"0g c #561A18", +"0h c #561A19", +"0i c #551A18", +"0j c #551918", +"0k c #752221", +"0l c #742221", +"0m c #752321", +"0n c #732221", +"0o c #722121", +"0p c #7A2A1F", +"0q c #BC981F", +"0r c #8C5E24", +"0s c #AB9864", +"0t c #8E5747", +"0u c #671F1D", +"0v c #651E1D", +"0w c #763621", +"0x c #87502B", +"0y c #956525", +"0z c #895620", +"0A c #7D501A", +"0B c #77471F", +"0C c #B39532", +"0D c #A68641", +"0E c #6B391E", +"0F c #541A17", +"0G c #561A17", +"0H c #551917", +"0I c #541A18", +"0J c #531A19", +"0K c #541918", +"0L c #541917", +"0M c #551817", +"0N c #71221F", +"0O c #702120", +"0P c #6E2120", +"0Q c #6E201F", +"0R c #6B5910", +"0S c #691E1C", +"0T c #6A281B", +"0U c #8A732F", +"0V c #B79A84", +"0W c #854C2C", +"0X c #D1BC7F", +"0Y c #FDF2B5", +"0Z c #FDF487", +"0& c #C8B848", +"1 c #A89A29", +"10 c #9C8E1A", +"11 c #8A7314", +"12 c #612C18", +"13 c #68351C", +"14 c #BBA25B", +"15 c #B1964D", +"16 c #916C28", +"17 c #9E7D25", +"18 c #5E2719", +"19 c #521718", +"1a c #521918", +"1b c #531817", +"1c c #531717", +"1d c #6F211F", +"1e c #6D201E", +"1f c #6B211D", +"1g c #6C1F1E", +"1h c #6A1F1D", +"1i c #681E1D", +"1j c #6B5814", +"1k c #661F1C", +"1l c #631D1C", +"1m c #621E1B", +"1n c #845F1B", +"1o c #BFB664", +"1p c #FDFDE7", +"1q c #FFFFFE", +"1r c #F8F1A6", +"1s c #B4AA42", +"1t c #928922", +"1u c #817A12", +"1v c #79750B", +"1w c #7C7309", +"1x c #5C2C13", +"1y c #531918", +"1z c #5A2816", +"1A c #5D3411", +"1B c #786114", +"1C c #A79822", +"1D c #FEDA32", +"1E c #B97513", +"1F c #501816", +"1G c #521717", +"1H c #511816", +"1I c #511817", +"1J c #6B1F1E", +"1K c #681F1D", +"1L c #661F1E", +"1M c #661E1D", +"1N c #631E1C", +"1O c #6F5A10", +"1P c #601E1B", +"1Q c #66261A", +"1R c #D2B73A", +"1S c #DFCD5F", +"1T c #C3BC75", +"1U c #E9D667", +"1V c #F5F467", +"1W c #C6C13F", +"1X c #847E15", +"1Y c #75710C", +"1Z c #716B09", +"1& c #6B6708", +"2 c #655E04", +"20 c #6C6307", +"21 c #5C4A07", +"22 c #5D440B", +"23 c #562E10", +"24 c #A27C1F", +"25 c #D99510", +"26 c #7B3D14", +"27 c #4F1815", +"28 c #501817", +"29 c #4F1816", +"2a c #671E1E", +"2b c #651E1C", +"2c c #641D1B", +"2d c #611D1C", +"2e c #756011", +"2f c #5D1C19", +"2g c #886419", +"2h c #AD9B30", +"2i c #A8993C", +"2j c #AE9D4A", +"2k c #E9B415", +"2l c #FEC719", +"2m c #FEBB12", +"2n c #716405", +"2o c #655B05", +"2p c #635B04", +"2q c #666203", +"2r c #6C640B", +"2s c #674E0C", +"2t c #4C1716", +"2u c #4D1615", +"2v c #4D1716", +"2w c #6A481A", +"2x c #522712", +"2y c #4D1616", +"2z c #4C1614", +"2A c #4F1617", +"2B c #621C1C", +"2C c #601D1B", +"2D c #601C1A", +"2E c #5E1C19", +"2F c #715E10", +"2G c #591B18", +"2H c #561B18", +"2I c #7A6D0E", +"2J c #92871A", +"2K c #857917", +"2L c #7F7316", +"2M c #B9930D", +"2N c #FEBC0F", +"2O c #ECAC0C", +"2P c #5D560A", +"2Q c #84792F", +"2R c #665816", +"2S c #595205", +"2T c #735A0C", +"2U c #706605", +"2V c #4B1614", +"2W c #491615", +"2X c #491715", +"2Y c #705915", +"2Z c #4B1B13", +"2& c #4C1714", +"3 c #4C1615", +"30 c #4B1615", +"31 c #4D1715", +"32 c #601C1B", +"33 c #5E1C1A", +"34 c #5E1D1B", +"35 c #5B1B1A", +"36 c #591C1A", +"37 c #735E0F", +"38 c #592416", +"39 c #706705", +"3a c #70650C", +"3b c #716B14", +"3c c #6F6A08", +"3d c #666103", +"3e c #75670D", +"3f c #88600F", +"3g c #574F02", +"3h c #524A02", +"3i c #524C02", +"3j c #555001", +"3k c #5E5903", +"3l c #6D6509", +"3m c #4E2013", +"3n c #481514", +"3o c #4B1B16", +"3p c #675012", +"3q c #491513", +"3r c #491514", +"3s c #4A1714", +"3t c #4A1615", +"3u c #581B18", +"3v c #67550F", +"3w c #521917", +"3x c #5A2914", +"3y c #635904", +"3z c #66620C", +"3A c #655E10", +"3B c #625A16", +"3C c #62640B", +"3D c #635A0D", +"3E c #5D5803", +"3F c #625A02", +"3G c #5C5603", +"3H c #585001", +"3I c #544B02", +"3J c #585102", +"3K c #635C03", +"3L c #4D2212", +"3M c #471614", +"3N c #5A2D15", +"3O c #57390F", +"3P c #481513", +"3Q c #481614", +"3R c #5C1B1A", +"3S c #5A1C18", +"3T c #581A18", +"3U c #571A18", +"3V c #531818", +"3W c #6B5313", +"3X c #501916", +"3Y c #4E1715", +"3Z c #706604", +"3& c #656016", +"4 c #625E0B", +"40 c #625918", +"41 c #635A19", +"42 c #636602", +"43 c #676201", +"44 c #675E01", +"45 c #615801", +"46 c #5A5102", +"47 c #574E03", +"48 c #615A04", +"49 c #471C11", +"4a c #441412", +"4b c #5D3F14", +"4c c #4C2410", +"4d c #461514", +"4e c #461414", +"4f c #481413", +"4g c #461614", +"4h c #521916", +"4i c #675210", +"4j c #4D1815", +"4k c #4C1814", +"4l c #7E631B", +"4m c #6B6512", +"4n c #635D14", +"4o c #625A14", +"4p c #665C17", +"4q c #5C510A", +"4r c #646803", +"4s c #686502", +"4t c #675E02", +"4u c #625903", +"4v c #5D5304", +"4w c #5C480A", +"4x c #421512", +"4y c #421413", +"4z c #5E4A10", +"4A c #451612", +"4B c #441413", +"4C c #441512", +"4D c #471414", +"4E c #571B18", +"4F c #561817", +"4G c #521818", +"4H c #501917", +"4I c #7A492E", +"4J c #AD912F", +"4K c #805833", +"4L c #7B5726", +"4M c #97771F", +"4N c #736C06", +"4O c #695F1A", +"4P c #665A1A", +"4Q c #62530B", +"4R c #646110", +"4S c #646806", +"4T c #8D7C0A", +"4U c #6D6303", +"4V c #665D04", +"4W c #635707", +"4X c #4B280E", +"4Y c #411312", +"4Z c #451B11", +"4& c #5C4710", +"5 c #421412", +"50 c #431512", +"51 c #451413", +"52 c #451513", +"53 c #461513", +"54 c #A7620E", +"55 c #EBAA19", +"56 c #7D5B12", +"57 c #5F3712", +"58 c #634B09", +"59 c #686509", +"5a c #6A6119", +"5b c #665D1B", +"5c c #6A570C", +"5d c #656410", +"5e c #666908", +"5f c #6C6803", +"5g c #706704", +"5h c #6B5F04", +"5i c #5D4809", +"5j c #3D1211", +"5k c #3F1410", +"5l c #512A13", +"5m c #51360E", +"5n c #411313", +"5o c #411512", +"5p c #431412", +"5q c #521817", +"5r c #4F1717", +"5s c #4D1816", +"5t c #551F13", +"5u c #7F4F12", +"5v c #5A4707", +"5w c #491E11", +"5x c #431612", +"5y c #441712", +"5z c #644C0B", +"5A c #777206", +"5B c #645D0F", +"5C c #67630B", +"5D c #5A5607", +"5E c #6A6E05", +"5F c #746B03", +"5G c #6E6104", +"5H c #583F0A", +"5I c #694E0F", +"5J c #44230E", +"5K c #3D1412", +"5L c #614513", +"5M c #46210F", +"5N c #411311", +"5O c #411412", +"5P c #421311", +"5Q c #431312", +"5R c #441312", +"5S c #511917", +"5T c #4F1715", +"5U c #4E1716", +"5V c #4B1715", +"5W c #491614", +"5X c #471514", +"5Y c #4A1F11", +"5Z c #5A4907", +"5& c #451D10", +"6 c #401411", +"60 c #3F1412", +"61 c #4C270E", +"62 c #675A10", +"63 c #786A07", +"64 c #766C06", +"65 c #746407", +"66 c #655008", +"67 c #3A2408", +"68 c #37100F", +"69 c #3A1310", +"6a c #56370F", +"6b c #75550F", +"6c c #8E710F", +"6d c #4B1D11", +"6e c #3F1211", +"6f c #401313", +"6g c #421312", +"6h c #441513", +"6i c #511815", +"6j c #4F1615", +"6k c #451614", +"6l c #491F11", +"6m c #5A4C06", +"6n c #431C10", +"6o c #3E1412", +"6p c #5F520F", +"6q c #3C1210", +"6r c #3C1211", +"6s c #3B130F", +"6t c #36110E", +"6u c #180707", +"6v c #210A09", +"6w c #34100E", +"6x c #42220F", +"6y c #8F740B", +"6z c #FAB00E", +"6A c #7F470D", +"6B c #3F1312", +"6C c #401412", +"6D c #421313", +"6E c #2A0D0B", +"6F c #320F0D", +"6G c #4F1716", +"6H c #4A1514", +"6I c #461413", +"6J c #451514", +"6K c #451F10", +"6L c #534B06", +"6M c #421B0F", +"6N c #3E170F", +"6O c #5B4E0D", +"6P c #3A130F", +"6Q c #35120E", +"6R c #241408", +"6S c #3B2F06", +"6T c #473C04", +"6U c #352906", +"6V c #3D2609", +"6W c #82530A", +"6X c #3E190D", +"6Y c #3B1210", +"6Z c #3F1311", +"6& c #411212", +"7 c #401212", +"70 c #421213", +"71 c #2A0C0B", +"72 c #1E0808", +"73 c #4B1616", +"74 c #491515", +"75 c #481613", +"76 c #45200E", +"77 c #514909", +"78 c #442211", +"79 c #5C4A0F", +"7a c #3A120F", +"7b c #3C150F", +"7c c #43280C", +"7d c #564506", +"7e c #443A03", +"7f c #251706", +"7g c #1B0908", +"7h c #1F0908", +"7i c #1C0808", +"7j c #190806", +"7k c #1B0808", +"7l c #1F0A09", +"7m c #250B0A", +"7n c #240A0A", +"7o c #300F0D", +"7p c #2E0D0C", +"7q c #1E0909", +"7r c #4C1616", +"7s c #4B1515", +"7t c #471513", +"7u c #492410", +"7v c #E89F16", +"7w c #C48713", +"7x c #65470B", +"7y c #4C3809", +"7z c #42240C", +"7A c #36100F", +"7B c #180806", +"7C c #220A08", +"7D c #1C0908", +"7E c #32100E", +"7F c #3C130F", +"7G c #38110F", +"7H c #33100F", +"7I c #2C0D0B", +"7J c #240C09", +"7K c #1B0807", +"7L c #1D0807", +"7M c #1D0808", +"7N c #471613", +"7O c #431413", +"7P c #401410", +"7Q c #431911", +"7R c #F9B90B", +"7S c #FFB50B", +"7T c #66380E", +"7U c #3B110F", +"7V c #3A1211", +"7W c #2F100C", +"7X c #300F0C", +"7Y c #35110E", +"7Z c #200A08", +"7& c #39110F", +"8 c #3D1212", +"80 c #3E1312", +"81 c #310F0E", +"82 c #2E0E0C", +"83 c #250C0B", +"84 c #1F0909", +"85 c #4A1614", +"86 c #461613", +"87 c #401311", +"88 c #3D1311", +"89 c #68380F", +"8a c #6C3C0F", +"8b c #3B1310", +"8c c #3A1210", +"8d c #280C0A", +"8e c #1B0708", +"8f c #371110", +"8g c #300E0D", +"8h c #240B09", +"8i c #3D1310", +"8j c #3E1211", +"8k c #3E1310", +"8l c #401312", +"8m c #401310", +"8n c #3E1411", +"8o c #3B1311", +"8p c #3C1310", +"8q c #3C1111", +"8r c #1E0907", +"8s c #391210", +"8t c #3A1110", +"8u c #3A1111", +"8v c #300E0E", +"8w c #3F1212", +"8x c #421211", +"8y c #4A1716", +"8z c #542413", +"8A c #8C670F", +"8B c #8C680F", +"8C c #8A680E", +"8D c #94740C", +"8E c #9A7B0C", +"8F c #5F350F", +"8G c #3E1311", +"8H c #6E4A0F", +"8I c #97790B", +"8J c #67430F", +"8K c #3B120F", +"8L c #1E0807", +"8M c #34190A", +"8N c #84630D", +"8O c #8A6A0B", +"8P c #542E0F", +"8Q c #55310D", +"8R c #623A0F", +"8S c #491414", +"8T c #471515", +"8U c #7F5A0E", +"8V c #7F5B0F", +"8W c #E8D608", +"8X c #7D5A0F", +"8Y c #7E590E", +"8Z c #542911", +"8& c #4C2010", +"9 c #D5C007", +"90 c #A5880B", +"91 c #75500D", +"92 c #B0950A", +"93 c #CDB809", +"94 c #3D1210", +"95 c #33100D", +"96 c #534207", +"97 c #D2BC06", +"98 c #7F5D0C", +"99 c #78570C", +"9a c #CEB507", +"9b c #8B6A0C", +"9c c #350F0E", +"9d c #6A5706", +"9e c #87650C", +"9f c #401211", +"9g c #411411", +"9h c #4A1616", +"9i c #491415", +"9j c #D6C309", +"9k c #411413", +"9l c #AC900C", +"9m c #6F4A0F", +"9n c #3E1212", +"9o c #98790C", +"9p c #7F5E0D", +"9q c #290D0C", +"9r c #CEBD06", +"9s c #472010", +"9t c #3D1111", +"9u c #CEB707", +"9v c #492010", +"9w c #765B09", +"9x c #7E620B", +"9y c #481615", +"9z c #471413", +"9A c #D5C308", +"9B c #431514", +"9C c #DBC709", +"9D c #4F2810", +"9E c #C8B109", +"9F c #453307", +"9G c #B09A08", +"9H c #3C1311", +"9I c #3E1110", +"9J c #7A570E", +"9K c #7E5D0D", +"9L c #735F07", +"9M c #401213", +"9N c #421314", +"9O c #481515", +"9P c #D5C409", +"9Q c #D0BA09", +"9R c #3F1213", +"9S c #512711", +"9T c #CBB707", +"9U c #4B3408", +"9V c #B19B08", +"9W c #8C6C0C", +"9X c #6A4D0C", +"9Y c #6E5807", +"9Z c #736008", +"9& c #210A0A", +"a c #290C0B", +"a0 c #2D0E0C", +"a1 c #D7C40A", +"a2 c #BEA609", +"a3 c #653D0F", +"a4 c #8C7709", +"a5 c #CCB808", +"a6 c #C7B109", +"a7 c #3B2608", +"a8 c #6A5807", +"a9 c #1F0807", +"aa c #210A08", +"ab c #240B0A", +"ac c #381110", +"ad c #4A1515", +"ae c #D6C409", +"af c #451312", +"ag c #603710", +"ah c #76520F", +"ai c #582E11", +"aj c #7C590F", +"ak c #D4C208", +"al c #2E1809", +"am c #1F0809", +"an c #866A0B", +"ao c #C3AC0A", +"ap c #69430F", +"aq c #623B10", +"ar c #9E810B", +"as c #968407", +"at c #1E0908", +"au c #6A5907", +"av c #806D07", +"aw c #412E09", +"ax c #412D08", +"ay c #422E08", +"az c #281009", +"aA c #22090A", +"aB c #2B0D0C", +"aC c #AE940C", +"aD c #451512", +"aE c #441313", +"aF c #552810", +"aG c #A1840C", +"aH c #C8B30A", +"aI c #95750D", +"aJ c #4C2111", +"aK c #230909", +"aL c #1F0A08", +"aM c #B79E0B", +"aN c #BDA40B", +"aO c #5F460B", +"aP c #503B08", +"aQ c #B2A206", +"aR c #B2A107", +"aS c #B2A208", +"aT c #AA9907", +"aU c #361E08", +"aV c #21080A", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s r t", +" u v w x x y z A B C D E F G H I J K L M N O P q Q R r r S T S U", +" 8 V W X Y Z &0 0001 E02030405060708090a0b0c0d S0e0f0g0h0i0i0j0i", +"0k0l0m0n0o0p0q0r0s0t0u0v i0w0x0y0z0A0d t0B0C0D0E0F0G0H0I0J0K0L0M", +" b0N0O0P0Q d0R0S0T0U0V0W0X0Y0Z0&1 1011120j0L131415161718191a1b1c", +"1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I", +"1h1J1K1L1M1N1O1P l1Q1R1S1T1U1V1W1X1Y1Z1&2 2021222324252627272829", +"2a0v2b2c 2d2e2f o2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2v2u2A", +"2c2B2C2D2E P2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 2V3031", +"323334 n3536370j38393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3r3s303t", +" m n Q r3u0i3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q2W3Q3r2W", +"3R3S3T3U0F3V3W3X3Y3Z3&4 40412P42434445464748494a4b4c4d4e4f4g3n2W", +" S0g0j0F1b4h4i4j4k4l4m4n4o4p4q3C4r4s4t4u4v4w4x4y4z4A4B4C4d3M4g4D", +"4E4F0H4G4H4I4J4K4L4M4N4O4P4p4Q4R4S4T4U4V4W4X4Y4Z4&5 504a5152534e", +"0K4G1H1H31545556575258595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5p524d51", +"5q5q5r5s4j5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q4B5R53", +"5S5T5U5s5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e4Y6f4Y6g6h52", +"6i6j3 5V2V3n6k4A6l6m6n5k6o6p6q6r6s6t6u6v6w6x6y6z6A6e6B6C6g6D6E6F", +"6G2v2&6H5W3M6I6J5o6K6L6M6N6O6q6P696Q6R6S6T6U6V6W6X6Y6Z6&7 707172", +"2v317374754D6h4y6g6 767778797a7b7c7d7e7f7g7h7i7i7j7k7l7m7n7o7p7q", +"7r7s3r3r7t514B5p5O6C6o7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7D7L7M7q", +"2&3s3r3n7N4B7O6D5N7P607Q7R7S7T7U7V7W6u7X7Y7Z7&6r8 806B8 81828384", +"7s853Q538652505 876B6Z88898a8b8b8c8d8e8f8c8g8h8i888j8k8l5N6 4Y8j", +"7s3n3P5X4e4B7O5o5N8l8m8n5j6r8o8p8q7h8r8s8t8u6v8v8j8k8w6Z6B8l8x5p", +"8y5W8z8A8B8C8D8E8F6C8G8H8I8J888o8K8L8M8N8O8P7Y728Q8R6B606Z6g5n7O", +"6H8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e6Z9f6&6g9g7O", +"9h9i7N6I6J9j4y9k6g9l9m6o8j9n9o9p9q9r9s949t8p9u9v9w9x8w6Z7 5n5n4y", +"2W3n9y9z4d9A9B5 5n9C876B6Z8G9D9E9F9G9H8j8j9I9o9J9K9L7E874Y9M9k9N", +"9O3r3n8T519P5p5 7O9Q879R6C6B9S9T9U9V8w8G5j8i9W9X9Y9Z9&a a05j6g7O", +"2W9y3r7N5Xa15p5p5pa2a37 6Z8791a47ga58G6B6e8wa6a7a89Za984aaabac6Z", +"ad3q8T534Daeaf5Q4yag9jahaiajakalamanaoapaqarasatauavawaxayazaAaB", +"853n5W3n6IaCaD4aaE6gaFaGaHaIaJaKaL5japaMaNaO7M8LaPaQaRaSaTaUaV7Z"}; diff --git a/2009-x64/cps4.03/icons/cpscAddShell.xpm b/2009-x64/cps4.03/icons/cpscAddShell.xpm new file mode 100644 index 0000000..7429680 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscAddShell.xpm @@ -0,0 +1,821 @@ +/* XPM */ +static char *ADDSHELL_xpm[]={ +"41 24 794 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5E5E5F", +" b c #5F605D", +" c c #88865C", +" d c #B1B15D", +" e c #727158", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #3E3E55", +" v c #4F503D", +" w c #9D9D51", +" x c #38389D", +" y c #383838", +" z c #383938", +" A c #434439", +" B c #BCBB43", +" C c #676663", +" D c #7F7D6B", +" E c #87886E", +" F c #676862", +" G c #686560", +" H c #6B6960", +" I c #74705D", +" J c #7A7558", +" K c #7F7851", +" L c #897E48", +" M c #988841", +" N c #978537", +" O c #907F2F", +" P c #AD9A32", +" Q c #EFE13D", +" R c #AE9F4B", +" S c #666456", +" T c #565554", +" U c #545455", +" V c #555553", +" W c #545454", +" X c #545253", +" Y c #535353", +" Z c #525252", +" & c #515251", +"0 c #525152", +"00 c #515151", +"01 c #525151", +"02 c #525051", +"03 c #525251", +"04 c #525250", +"05 c #515252", +"06 c #525352", +"07 c #535251", +"08 c #515152", +"09 c #525353", +"0a c #66645D", +"0b c #E3C33E", +"0c c #F6EC4D", +"0d c #C3B746", +"0e c #A5953A", +"0f c #9F8D33", +"0g c #968532", +"0h c #8D7E2F", +"0i c #7F7336", +"0j c #70683F", +"0k c #6A6442", +"0l c #625F48", +"0m c #5A584E", +"0n c #666349", +"0o c #938729", +"0p c #6E6744", +"0q c #938740", +"0r c #A39550", +"0s c #6F6B55", +"0t c #525350", +"0u c #4E4E4E", +"0v c #4F4F4F", +"0w c #4D4E4F", +"0x c #4E4E4D", +"0y c #4D4D4D", +"0z c #4D4D4C", +"0A c #4C4D4D", +"0B c #4D4C4C", +"0C c #4D4C4D", +"0D c #4C4C4C", +"0E c #4D4E4C", +"0F c #4D4D4E", +"0G c #4E4F4E", +"0H c #4E4E4F", +"0I c #4E4F4F", +"0J c #5D5A58", +"0K c #C0A22F", +"0L c #D1C12B", +"0M c #C4B746", +"0N c #6E6B50", +"0O c #585851", +"0P c #565453", +"0Q c #535252", +"0R c #515050", +"0S c #4F514F", +"0T c #504E4F", +"0U c #514F4A", +"0V c #756A2A", +"0W c #4D4C4A", +"0X c #645F42", +"0Y c #9A8F48", +"0Z c #AEA157", +"0& c #736E51", +"1 c #4F4F49", +"10 c #4E4F4A", +"11 c #4A4B4A", +"12 c #484949", +"13 c #494948", +"14 c #474848", +"15 c #494849", +"16 c #484948", +"17 c #474948", +"18 c #494947", +"19 c #484848", +"1a c #4A4949", +"1b c #4A4B4B", +"1c c #4B4B4C", +"1d c #4B4C4B", +"1e c #565756", +"1f c #5B594E", +"1g c #897C1B", +"1h c #706A41", +"1i c #A9A04F", +"1j c #716F58", +"1k c #51504F", +"1l c #4E4D4D", +"1m c #4C4C4D", +"1n c #4D4C4B", +"1o c #4B4B4A", +"1p c #494A4A", +"1q c #49484A", +"1r c #4F4C45", +"1s c #75682A", +"1t c #474747", +"1u c #464747", +"1v c #464746", +"1w c #484645", +"1x c #615B3C", +"1y c #9B8C41", +"1z c #C7C057", +"1A c #DBDA5C", +"1B c #AEAA52", +"1C c #474544", +"1D c #444343", +"1E c #444344", +"1F c #434445", +"1G c #444443", +"1H c #444544", +"1I c #444445", +"1J c #444645", +"1K c #454645", +"1L c #464646", +"1M c #474646", +"1N c #474748", +"1O c #494949", +"1P c #535151", +"1Q c #52524E", +"1R c #766C20", +"1S c #5B5945", +"1T c #595546", +"1U c #9A8E41", +"1V c #8B895B", +"1W c #4E4D4B", +"1X c #494748", +"1Y c #484647", +"1Z c #454547", +"1& c #454545", +"2 c #434443", +"20 c #494841", +"21 c #726528", +"22 c #434242", +"23 c #484841", +"24 c #585440", +"25 c #655D39", +"26 c #7F732F", +"27 c #817424", +"28 c #9F9025", +"29 c #F1DE3D", +"2a c #CBB03A", +"2b c #404140", +"2c c #403F40", +"2d c #3E3F3F", +"2e c #3F3F3E", +"2f c #3F4040", +"2g c #3F3F40", +"2h c #414141", +"2i c #464743", +"2j c #4E4D44", +"2k c #555445", +"2l c #4A4A43", +"2m c #424343", +"2n c #444444", +"2o c #454443", +"2p c #454544", +"2q c #464545", +"2r c #4D4D4B", +"2s c #6F6523", +"2t c #5E593C", +"2u c #4E4B43", +"2v c #817A3D", +"2w c #A59F5F", +"2x c #666756", +"2y c #70715D", +"2z c #494846", +"2A c #444340", +"2B c #524E40", +"2C c #68603E", +"2D c #8F7F29", +"2E c #867A2E", +"2F c #817420", +"2G c #7A6E1D", +"2H c #6B621E", +"2I c #57502C", +"2J c #534E31", +"2K c #524F36", +"2L c #978D31", +"2M c #605537", +"2N c #3B3B3C", +"2O c #3A3B3C", +"2P c #3A3B3B", +"2Q c #3D3C3C", +"2R c #544F45", +"2S c #918056", +"2T c #A58243", +"2U c #A48545", +"2V c #A58640", +"2W c #B1893B", +"2X c #A98A3B", +"2Y c #675B3E", +"2Z c #424140", +"2& c #424141", +"3 c #424142", +"30 c #424442", +"31 c #484A49", +"32 c #696024", +"33 c #615A35", +"34 c #464444", +"35 c #444540", +"36 c #857635", +"37 c #F8E87D", +"38 c #FAEE80", +"39 c #C8B349", +"3a c #847829", +"3b c #8A7B1D", +"3c c #7E721B", +"3d c #7C6E19", +"3e c #4F4C29", +"3f c #444130", +"3g c #3D3C37", +"3h c #393838", +"3i c #383738", +"3j c #383737", +"3k c #413E33", +"3l c #5E5727", +"3m c #363737", +"3n c #373637", +"3o c #373736", +"3p c #675F4B", +"3q c #A58248", +"3r c #61513A", +"3s c #65634F", +"3t c #7A7850", +"3u c #7C7344", +"3v c #6B5D3C", +"3w c #544738", +"3x c #A67934", +"3y c #8C6F37", +"3z c #43423E", +"3A c #3F3F3F", +"3B c #404041", +"3C c #5D572D", +"3D c #6B602E", +"3E c #414140", +"3F c #706133", +"3G c #FDC913", +"3H c #FDD019", +"3I c #D7B01A", +"3J c #514C2B", +"3K c #474431", +"3L c #464232", +"3M c #685D27", +"3N c #353534", +"3O c #343535", +"3P c #353434", +"3Q c #333435", +"3R c #343333", +"3S c #343534", +"3T c #454230", +"3U c #524B23", +"3V c #333332", +"3W c #323333", +"3X c #5A5640", +"3Y c #907243", +"3Z c #3B3834", +"3& c #C8CA71", +"4 c #FDF86E", +"40 c #FED349", +"41 c #BC8431", +"42 c #3A3939", +"43 c #3F3D3A", +"44 c #8E7037", +"45 c #8B6B34", +"46 c #3E3D3D", +"47 c #3F3E3F", +"48 c #454543", +"49 c #535033", +"4a c #7B6C26", +"4b c #3D3D3E", +"4c c #3B3D3B", +"4d c #454339", +"4e c #AE8E20", +"4f c #D5B018", +"4g c #867529", +"4h c #363635", +"4i c #3E3D2F", +"4j c #645925", +"4k c #303131", +"4l c #312F31", +"4m c #303030", +"4n c #2F3030", +"4o c #31312F", +"4p c #2F2F2F", +"4q c #484228", +"4r c #464123", +"4s c #2F2E2E", +"4t c #2E2E2E", +"4u c #302F2F", +"4v c #353431", +"4w c #9E7F3E", +"4x c #3D3630", +"4y c #323231", +"4z c #323232", +"4A c #C9C863", +"4B c #FEF064", +"4C c #FDCE48", +"4D c #B77F2E", +"4E c #373738", +"4F c #393939", +"4G c #3F3E39", +"4H c #B1913D", +"4I c #4F473A", +"4J c #3D3C3D", +"4K c #444345", +"4L c #424342", +"4M c #4B4937", +"4N c #716421", +"4O c #3F3D3D", +"4P c #3C3B3C", +"4Q c #3A393A", +"4R c #46442E", +"4S c #716813", +"4T c #3B3931", +"4U c #323131", +"4V c #313131", +"4W c #494633", +"4X c #695F29", +"4Y c #2E2F2E", +"4Z c #2C2C2C", +"4& c #2C2C2B", +"5 c #2C2B2B", +"50 c #2D2C2C", +"51 c #2D2D2D", +"52 c #4D4824", +"53 c #3A3924", +"54 c #2C2B2C", +"55 c #2B2B2C", +"56 c #2C2D2C", +"57 c #575035", +"58 c #765F32", +"59 c #4D4D42", +"5a c #56564A", +"5b c #585945", +"5c c #D7D46B", +"5d c #FDE159", +"5e c #FEC343", +"5f c #C5892E", +"5g c #615C3C", +"5h c #5E573D", +"5i c #666141", +"5j c #846C36", +"5k c #3B3C3C", +"5l c #44443B", +"5m c #766A1B", +"5n c #3F3F3B", +"5o c #393A3A", +"5p c #383839", +"5q c #403F2F", +"5r c #6D6416", +"5s c #393732", +"5t c #373532", +"5u c #554F34", +"5v c #C2B440", +"5w c #D8D243", +"5x c #3E3E2C", +"5y c #292929", +"5z c #292928", +"5A c #252524", +"5B c #212221", +"5C c #2B2A2B", +"5D c #564E1E", +"5E c #333125", +"5F c #292828", +"5G c #292A29", +"5H c #2A2A29", +"5I c #74612F", +"5J c #57462B", +"5K c #D0CD66", +"5L c #F7F070", +"5M c #F8ED65", +"5N c #FBE960", +"5O c #FED34B", +"5P c #FDB439", +"5Q c #FDA530", +"5R c #F9A432", +"5S c #F7A02F", +"5T c #E9942C", +"5U c #544B38", +"5V c #A38239", +"5W c #3A3A3A", +"5X c #424242", +"5Y c #404040", +"5Z c #41413D", +"5& c #76691F", +"6 c #434239", +"60 c #373839", +"61 c #383837", +"62 c #454431", +"63 c #776B17", +"64 c #8E7F37", +"65 c #7F6931", +"66 c #68602B", +"67 c #675B25", +"68 c #6B652A", +"69 c #746A2F", +"6a c #353327", +"6b c #262626", +"6c c #1D1C1D", +"6d c #171818", +"6e c #272625", +"6f c #554F1C", +"6g c #2B2B26", +"6h c #292727", +"6i c #282829", +"6j c #292829", +"6k c #8B7131", +"6l c #4E402A", +"6m c #D6B941", +"6n c #FDD743", +"6o c #FDD23E", +"6p c #FDBD34", +"6q c #FDA42A", +"6r c #F89121", +"6s c #F48C20", +"6t c #EF8820", +"6u c #D67A1C", +"6v c #524835", +"6w c #AA923C", +"6x c #3B3B3A", +"6y c #40403F", +"6z c #434240", +"6A c #766B27", +"6B c #5C5A3E", +"6C c #504D40", +"6D c #6E6942", +"6E c #908543", +"6F c #837A2D", +"6G c #756A15", +"6H c #48442D", +"6I c #333130", +"6J c #302F30", +"6K c #2D2C2D", +"6L c #1A1919", +"6M c #201F17", +"6N c #7E7338", +"6O c #49452C", +"6P c #161718", +"6Q c #1F1E1D", +"6R c #4E4A1D", +"6S c #2B2B2A", +"6T c #2A292A", +"6U c #29292A", +"6V c #70582B", +"6W c #5A452A", +"6X c #BD852C", +"6Y c #E4972A", +"6Z c #E59D2A", +"6& c #F5AC2C", +"7 c #FDA727", +"70 c #F4941E", +"71 c #DD7F17", +"72 c #CE7717", +"73 c #C87515", +"74 c #B96C14", +"75 c #5A4E37", +"76 c #A27F34", +"77 c #393A39", +"78 c #414342", +"79 c #3F4140", +"7a c #635A3E", +"7b c #D9C957", +"7c c #D5C93A", +"7d c #857B36", +"7e c #615A32", +"7f c #434233", +"7g c #3B3B32", +"7h c #6A6415", +"7i c #423E2E", +"7j c #313130", +"7k c #2D2E2D", +"7l c #1B1C1B", +"7m c #181617", +"7n c #282823", +"7o c #6D643A", +"7p c #6F663D", +"7q c #1E1E1A", +"7r c #1F1F19", +"7s c #4D491A", +"7t c #2D2C2B", +"7u c #57492D", +"7v c #8B5E2B", +"7w c #38332E", +"7x c #3C352D", +"7y c #3D362E", +"7z c #CCA237", +"7A c #F79A20", +"7B c #E38918", +"7C c #A06219", +"7D c #443D32", +"7E c #453D34", +"7F c #433D34", +"7G c #70623C", +"7H c #795F34", +"7I c #3B3A3A", +"7J c #434243", +"7K c #414241", +"7L c #49463E", +"7M c #BDAD2A", +"7N c #C2AE3F", +"7O c #524E3A", +"7P c #3A3935", +"7Q c #676017", +"7R c #333535", +"7S c #333232", +"7T c #2E2C2C", +"7U c #1B1C1C", +"7V c #212020", +"7W c #212121", +"7X c #4E4833", +"7Y c #988C4F", +"7Z c #4A462B", +"7& c #4B461B", +"8 c #302F2E", +"80 c #2F302F", +"81 c #2E2F2F", +"82 c #343230", +"83 c #AA762A", +"84 c #4F4430", +"85 c #313231", +"86 c #C8A038", +"87 c #F3951F", +"88 c #D98313", +"89 c #975D18", +"8a c #45453E", +"8b c #AE954A", +"8c c #494036", +"8d c #3C3B3B", +"8e c #434444", +"8f c #45433F", +"8g c #5F5A38", +"8h c #A59439", +"8i c #47463C", +"8j c #3A3A3B", +"8k c #3C3B37", +"8l c #655D19", +"8m c #4B4830", +"8n c #363636", +"8o c #232223", +"8p c #262726", +"8q c #1F1F1E", +"8r c #44412A", +"8s c #DBCF53", +"8t c #C7B134", +"8u c #393428", +"8v c #323233", +"8w c #333131", +"8x c #323332", +"8y c #4E4231", +"8z c #AC7B2E", +"8A c #4A4536", +"8B c #353535", +"8C c #BD9437", +"8D c #E38A1D", +"8E c #CB7C14", +"8F c #91591A", +"8G c #373739", +"8H c #474642", +"8I c #9B8E6C", +"8J c #62553A", +"8K c #3C3C3C", +"8L c #3C3E3C", +"8M c #454546", +"8N c #434343", +"8O c #434342", +"8P c #414142", +"8Q c #756C37", +"8R c #A5994B", +"8S c #43433D", +"8T c #3D3E3B", +"8U c #655F1A", +"8V c #504B30", +"8W c #3A3839", +"8X c #252323", +"8Y c #2B2C2B", +"8Z c #373737", +"8& c #2A2723", +"9 c #514823", +"90 c #7F6E31", +"91 c #AE9523", +"92 c #C49119", +"93 c #2C2920", +"94 c #303031", +"95 c #353636", +"96 c #353536", +"97 c #363535", +"98 c #494034", +"99 c #A57C33", +"9a c #7D6D3B", +"9b c #5F563B", +"9c c #604F33", +"9d c #5B4D32", +"9e c #594B35", +"9f c #6C6046", +"9g c #AE9868", +"9h c #64563C", +"9i c #3E3D3E", +"9j c #3E3E3F", +"9k c #484748", +"9l c #454440", +"9m c #89813B", +"9n c #998B47", +"9o c #655D1D", +"9p c #524D31", +"9q c #3C3C3D", +"9r c #363836", +"9s c #242524", +"9t c #383836", +"9u c #4D4A3B", +"9v c #696336", +"9w c #6E6225", +"9x c #463F1D", +"9y c #383733", +"9z c #3E3C38", +"9A c #2C2C2D", +"9B c #252423", +"9C c #383939", +"9D c #393839", +"9E c #3E3B39", +"9F c #625135", +"9G c #977836", +"9H c #A68333", +"9I c #A17D33", +"9J c #A37D32", +"9K c #735B35", +"9L c #48433B", +"9M c #3D3F3E", +"9N c #3F3E3E", +"9O c #403F3F", +"9P c #484849", +"9Q c #454746", +"9R c #444546", +"9S c #4A4742", +"9T c #9C9043", +"9U c #887F4B", +"9V c #655F1E", +"9W c #544F32", +"9X c #3E3F3E", +"9Y c #3B382C", +"9Z c #7C723E", +"9& c #7F742F", +"a c #30302B", +"a0 c #212022", +"a1 c #3A3B3A", +"a2 c #2B2C2D", +"a3 c #2D2B2C", +"a4 c #3C3C3B", +"a5 c #3C3D3B", +"a6 c #3E3F3D", +"a7 c #403E3E", +"a8 c #3F403F", +"a9 c #4C4B4B", +"aa c #4B4B4B", +"ab c #4A484A", +"ac c #474847", +"ad c #464645", +"ae c #515041", +"af c #B7A95A", +"ag c #898130", +"ah c #675F32", +"ai c #5C583F", +"aj c #8B833E", +"ak c #776D2C", +"al c #524D36", +"am c #43423F", +"an c #282626", +"ao c #2E2D2D", +"ap c #3B3C3B", +"aq c #282929", +"ar c #40403E", +"as c #403E3F", +"at c #41403F", +"au c #404042", +"av c #414143", +"aw c #444543", +"ax c #4A4A4B", +"ay c #494A4B", +"az c #49494A", +"aA c #817A52", +"aB c #CEC770", +"aC c #DABE23", +"aD c #6F6420", +"aE c #393721", +"aF c #3E3E3B", +"aG c #242525", +"aH c #343434", +"aI c #333233", +"aJ c #2E2D2E", +"aK c #414041", +"aL c #414242", +"aM c #29282A", +"aN c #424243", +"aO c #424443", +"aP c #434344", +"aQ c #434543", +"aR c #454445", +"aS c #464745", +"aT c #4F4F50", +"aU c #4F4F4E", +"aV c #4C4B4D", +"aW c #4A4C4B", +"aX c #71663E", +"aY c #F6CD2A", +"aZ c #E8C31D", +"a& c #504A35", +"b c #302E2F", +"b0 c #434544", +"b1 c #464647", +"b2 c #313232", +"b3 c #2C2D2D", +"b4 c #464644", +"b5 c #444646", +"b6 c #464546", +"b7 c #464547", +"b8 c #484847", +"b9 c #535352", +"ba c #504F4F", +"bb c #4F4E4F", +"bc c #4E4E4C", +"bd c #7C703D", +"be c #605A42", +"bf c #323331", +"bg c #4B4B49", +"bh c #4A4848", +"bi c #303231", +"bj c #414240", +"bk c #484749", +"bl c #313031", +"bm c #4A4849", +"bn c #4A4A4A", +"bo c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u v w x y z A B", +" C D E F G H I J K L M N O P Q R S T U U V W X Y Z &0 00010200030 0400050607080609", +"0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0C0D0B0E0z0E0z0F0G0H0H0I", +"0J0K0L0M0N0O0P0Q0 0R0S0T0G0U0V0D0W0X0Y0Z0&1 101112131415161718121912161a1b111c1d1c", +"1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1D1E1F1E1G1H1I1J1K1L1M1t1N141O", +"1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j2k2l1G2m2n2o2p2q", +"0x2r2s2t192u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2N2Q2R2S2T2U2V2W2X2Y2Z2&3 30", +"1c313233342n35363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3m y3p3q3r3s3t3u3v3w3x3y3z3A3B", +"191v3C3D3 3E3A3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3V3V3W3X3Y3Z3N3&4 4041424344454647", +"1L48494a474b4c4d4e4f4g4h3P4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J", +"4K4L4M4N4O4P4Q3h4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g1x5h5i5j5k", +"4L3B5l5m5n5o5p3o5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W", +"5X5Y5Z5&6 42606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6n6o6p6q6r6s6t6u6v6w6x", +"2&6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6L6P6Q6R6S5H6T6U6V6W6X6Y6Z6&7 7071727374757677", +"78797a7b7c7d7e7f7g7h7i4y7j7k7l7m7n7o7p7q7r7s516K7t567u7v7w7x7y7z7A7B7C7D7E7F7G7H7I", +"7J7K7L7M7N7O7I5p7P7Q3T7R7S7T7U7V7W4u7X7Y7Z7&8 804p818283844V85868788893o3j8a8b8c8d", +"8e4L3B8f8g8h8i8j8k8l8m8n3O6S8o4k8p5H8q8r8s8t8u8v8w8x8v8y8z8A8B8C8D8E8F8G8H8I8J8K8L", +"8M8N8O8P3E8Q8R8S8T8U8V8W3i8X8Y8Z3V8&9 90919293943N95969798999a9b9c9d9e9f9g9h8T9i9j", +"9k1v2p1E2m9l9m9n5Z9o9p9q9r9s9t9u9v9w9x9y9z9z9A9B3S9C9C z9D9E9F9G9H9I9J9K9L9M9N9O3B", +"9P181N9Q9R1D9S9T9U9V9W9X4y9Y9Z9&9Wa a04V8K8Ka1a2a38ja4a58da44J9qa6a73A9Oa83B3B2&4L", +"a9aaab18ac1Madaeafagahaiajakalam8Kanao9A779O6yapaq7j479Xaras2d2fat5Yau3 av8N8N2 aw", +"0y0D1daxayaz19acaAaBaCaDaEaF1I1G4baGaHaIaJaKaL8P4FaM5W8O7JaN8N8NaO2maPaQaR2p2qaS1v", +"aT0vaU0F0yaV1daWaXaYaZa&b b01Mb17I5za4aOb25W2q1K1K8Zb36yb42qb5b6adb7b71v14b819b89P", +"b90 0800babb0G0ybcbdbebf5pbgaxbhbi501v124Laobj9kbk1&4yblb6131X16bm1q151pbnax111obo"}; diff --git a/2009-x64/cps4.03/icons/cpscAttributes.xpm b/2009-x64/cps4.03/icons/cpscAttributes.xpm new file mode 100644 index 0000000..cc6c781 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscAttributes.xpm @@ -0,0 +1,1005 @@ +/* XPM */ +static char *CPSCATTR_xpm[]={ +"64 24 978 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6B6A", +" 7 c #777567", +" 8 c #C5C06B", +" 9 c #8A896D", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #555455", +" G c #545554", +" H c #545456", +" I c #565555", +" J c #565556", +" K c #565757", +" L c #575856", +" M c #585757", +" N c #595859", +" O c #585859", +" P c #585A5A", +" Q c #6D6D6D", +" R c #6C6D6C", +" S c #6C6B6B", +" T c #6A6A6A", +" U c #6B6C6A", +" V c #7A7769", +" W c #888467", +" X c #948A5B", +" Y c #A79B58", +" Z c #978B46", +" & c #CAB83C", +"0 c #B4A752", +"00 c #75705F", +"01 c #5E5F5F", +"02 c #5F5E5E", +"03 c #5D5D5D", +"04 c #5B5B5C", +"05 c #5A5A5B", +"06 c #595B5A", +"07 c #595A59", +"08 c #585857", +"09 c #575858", +"0a c #575756", +"0b c #555656", +"0c c #555554", +"0d c #535455", +"0e c #535452", +"0f c #525352", +"0g c #515152", +"0h c #525150", +"0i c #505052", +"0j c #515050", +"0k c #4F5050", +"0l c #504F50", +"0m c #50504F", +"0n c #504F4F", +"0o c #504E4F", +"0p c #4E504F", +"0q c #4F4F4E", +"0r c #4F4F50", +"0s c #505050", +"0t c #4F4F4F", +"0u c #505051", +"0v c #515051", +"0w c #505150", +"0x c #525252", +"0y c #545354", +"0z c #535454", +"0A c #555454", +"0B c #8E8969", +"0C c #BFBE7C", +"0D c #928D6C", +"0E c #A59C66", +"0F c #A49858", +"0G c #A09559", +"0H c #847B57", +"0I c #706C57", +"0J c #63635E", +"0K c #615F60", +"0L c #6F6940", +"0M c #6C664E", +"0N c #81784E", +"0O c #8C8154", +"0P c #5F5F5B", +"0Q c #585A59", +"0R c #565657", +"0S c #555655", +"0T c #525151", +"0U c #4F5051", +"0V c #4E4F4F", +"0W c #4E4F4E", +"0X c #4D4E4F", +"0Y c #4D4E4D", +"0Z c #4E4E4D", +"0& c #4C4C4C", +"1 c #4C4B4C", +"10 c #4B4A4C", +"11 c #4A4B4A", +"12 c #4C4C4A", +"13 c #4A4C4A", +"14 c #4B4B4A", +"15 c #4A4A4A", +"16 c #4C4A4C", +"17 c #4B4C4B", +"18 c #4B4B4B", +"19 c #4D4B4C", +"1a c #4D4D4C", +"1b c #4D4D4D", +"1c c #4E4D4E", +"1d c #4F4E4F", +"1e c #505251", +"1f c #525152", +"1g c #545454", +"1h c #555355", +"1i c #A99344", +"1j c #DFD33C", +"1k c #9F9351", +"1l c #6F6A59", +"1m c #64635E", +"1n c #66655D", +"1o c #867C56", +"1p c #B09C52", +"1q c #AC9B54", +"1r c #948345", +"1s c #726A4C", +"1t c #5A5A57", +"1u c #6B664F", +"1v c #988D52", +"1w c #6C6A58", +"1x c #606059", +"1y c #505151", +"1z c #4F4E4E", +"1A c #4E4D4F", +"1B c #4C4E4D", +"1C c #4C4D4C", +"1D c #4B4B4C", +"1E c #4B4A4B", +"1F c #4B494B", +"1G c #494A4A", +"1H c #484A49", +"1I c #494948", +"1J c #494848", +"1K c #484847", +"1L c #474747", +"1M c #464748", +"1N c #464846", +"1O c #464746", +"1P c #464646", +"1Q c #474546", +"1R c #464647", +"1S c #484846", +"1T c #494747", +"1U c #484848", +"1V c #484949", +"1W c #4A4B4B", +"1X c #4B4A4A", +"1Y c #4C4A4B", +"1Z c #4B4C4C", +"1& c #4D4C4B", +"2 c #4E4D4D", +"20 c #4D4D4E", +"21 c #4F4D4E", +"22 c #4F5150", +"23 c #68655E", +"24 c #8C7F2E", +"25 c #867B3D", +"26 c #877D50", +"27 c #62605C", +"28 c #7B7250", +"29 c #C7AD4A", +"2a c #F4DA62", +"2b c #FDF6A0", +"2c c #FDF793", +"2d c #FBE05B", +"2e c #DAB43F", +"2f c #847747", +"2g c #545552", +"2h c #615E50", +"2i c #B7AC56", +"2j c #E8E667", +"2k c #6C6C4C", +"2l c #4D4D4B", +"2m c #4A4B4C", +"2n c #494A48", +"2o c #474948", +"2p c #474848", +"2q c #454645", +"2r c #454446", +"2s c #454444", +"2t c #434444", +"2u c #444444", +"2v c #434342", +"2w c #434242", +"2x c #424243", +"2y c #424242", +"2z c #414242", +"2A c #424241", +"2B c #434142", +"2C c #434243", +"2D c #424443", +"2E c #444544", +"2F c #454445", +"2G c #464644", +"2H c #454747", +"2I c #464747", +"2J c #474847", +"2K c #474748", +"2L c #4A4949", +"2M c #494949", +"2N c #4D4C4C", +"2O c #4D4C4D", +"2P c #5F5F5D", +"2Q c #746A32", +"2R c #666253", +"2S c #766F46", +"2T c #A39748", +"2U c #BFA636", +"2V c #D3B642", +"2W c #F9F085", +"2X c #FDFEEA", +"2Y c #FEFDDA", +"2Z c #FDEF72", +"2& c #EAC947", +"3 c #D1B13B", +"30 c #A39441", +"31 c #867B39", +"32 c #7A6D3A", +"33 c #C3B730", +"34 c #5F5F46", +"35 c #464645", +"36 c #434443", +"37 c #404040", +"38 c #3F3F40", +"39 c #3E3F3E", +"3a c #3F403E", +"3b c #3E3E3E", +"3c c #3F3E3E", +"3d c #3E3D3F", +"3e c #3F3E3D", +"3f c #3D3E3E", +"3g c #3E3E3D", +"3h c #3E3D3E", +"3i c #3F3E3F", +"3j c #3E3F3F", +"3k c #3F3F3E", +"3l c #3F3E40", +"3m c #3F4140", +"3n c #414041", +"3o c #444243", +"3p c #444344", +"3q c #444445", +"3r c #454745", +"3s c #484746", +"3t c #484748", +"3u c #484948", +"3v c #4A4A4C", +"3w c #5B5C5B", +"3x c #6C6439", +"3y c #645F4E", +"3z c #5A5956", +"3A c #928427", +"3B c #C1B044", +"3C c #D9C55C", +"3D c #F0DD6B", +"3E c #F7F08F", +"3F c #E3DB79", +"3G c #CFB746", +"3H c #C1A233", +"3I c #BA9A26", +"3J c #B99E24", +"3K c #545346", +"3L c #494944", +"3M c #6A602C", +"3N c #464545", +"3O c #454343", +"3P c #414042", +"3Q c #3F4040", +"3R c #3F3F3F", +"3S c #3D3D3D", +"3T c #3C3C3B", +"3U c #3B3A3B", +"3V c #3B3C3B", +"3W c #3A3B3B", +"3X c #3A3A3A", +"3Y c #3B393A", +"3Z c #3A3A38", +"3& c #393939", +"4 c #3A3839", +"40 c #393A39", +"41 c #3A3938", +"42 c #3B3B3A", +"43 c #3B3B3B", +"44 c #3B3C3C", +"45 c #3D3C3D", +"46 c #3E3D3D", +"47 c #403E3E", +"48 c #414040", +"49 c #414141", +"4a c #404240", +"4b c #414142", +"4c c #444442", +"4d c #434445", +"4e c #444545", +"4f c #454646", +"4g c #474545", +"4h c #494B49", +"4i c #666141", +"4j c #676044", +"4k c #5D5B4C", +"4l c #887716", +"4m c #B09420", +"4n c #FBEA5A", +"4o c #E8DD48", +"4p c #B39931", +"4q c #AC8D2E", +"4r c #B2912B", +"4s c #B09223", +"4t c #B0921F", +"4u c #B3971B", +"4v c #676038", +"4w c #474540", +"4x c #685D28", +"4y c #414240", +"4z c #413F40", +"4A c #3D3D3E", +"4B c #3C3C3C", +"4C c #3C3A3A", +"4D c #3A393B", +"4E c #38393A", +"4F c #393837", +"4G c #383738", +"4H c #383837", +"4I c #373637", +"4J c #363736", +"4K c #363637", +"4L c #373537", +"4M c #363536", +"4N c #353636", +"4O c #353434", +"4P c #353536", +"4Q c #363635", +"4R c #363535", +"4S c #353535", +"4T c #353736", +"4U c #373737", +"4V c #373837", +"4W c #383938", +"4X c #39393A", +"4Y c #3A3A3B", +"4Z c #3B3B3C", +"4& c #3C3D3D", +"5 c #3F403F", +"50 c #403F40", +"51 c #404141", +"52 c #434442", +"53 c #454544", +"54 c #454545", +"55 c #575758", +"56 c #615D45", +"57 c #776D38", +"58 c #595747", +"59 c #7C7013", +"5a c #8A781F", +"5b c #CAB21E", +"5c c #B3A41F", +"5d c #9E861E", +"5e c #9A7F18", +"5f c #967C18", +"5g c #927817", +"5h c #947C15", +"5i c #9A7F21", +"5j c #685E34", +"5k c #43433E", +"5l c #675D2E", +"5m c #3D3D3C", +"5n c #383638", +"5o c #3A3A39", +"5p c #353435", +"5q c #323332", +"5r c #313331", +"5s c #343333", +"5t c #383838", +"5u c #353534", +"5v c #323132", +"5w c #323232", +"5x c #313131", +"5y c #313231", +"5z c #313232", +"5A c #323333", +"5B c #343434", +"5C c #343435", +"5D c #383836", +"5E c #383839", +"5F c #3A3838", +"5G c #393B3A", +"5H c #3B3A3A", +"5I c #3C3D3E", +"5J c #3D3E3D", +"5K c #3E3E3F", +"5L c #40403F", +"5M c #414140", +"5N c #424142", +"5O c #444345", +"5P c #444645", +"5Q c #454746", +"5R c #5A584B", +"5S c #7C6D2F", +"5T c #54524C", +"5U c #6B6413", +"5V c #716715", +"5W c #776A1A", +"5X c #827716", +"5Y c #85770F", +"5Z c #8C7C0E", +"5& c #8A780E", +"6 c #87730F", +"60 c #897216", +"61 c #957B29", +"62 c #5B563C", +"63 c #42403D", +"64 c #655D27", +"65 c #3D3C3B", +"66 c #A1A0A0", +"67 c #A2A2A3", +"68 c #A3A3A4", +"69 c #A4A5A4", +"6a c #9F9FA0", +"6b c #A09E9E", +"6c c #A4A5A5", +"6d c #343233", +"6e c #898A8A", +"6f c #9E9F9E", +"6g c #9E9C9D", +"6h c #747575", +"6i c #2F2F2F", +"6j c #2E2D2E", +"6k c #2E2E2C", +"6l c #2E2F2F", +"6m c #2F302F", +"6n c #31302F", +"6o c #303031", +"6p c #353433", +"6q c #373738", +"6r c #393938", +"6s c #393A3A", +"6t c #3A3C3A", +"6u c #424143", +"6v c #434343", +"6w c #444443", +"6x c #444446", +"6y c #555450", +"6z c #786D33", +"6A c #6C6727", +"6B c #6E6615", +"6C c #716617", +"6D c #7C6B1D", +"6E c #786D15", +"6F c #807A0D", +"6G c #897C0D", +"6H c #8E790E", +"6I c #967F27", +"6J c #927D2F", +"6K c #4A4739", +"6L c #40403B", +"6M c #625926", +"6N c #A5A6A5", +"6O c #4F504F", +"6P c #2C2C2C", +"6Q c #424141", +"6R c #949494", +"6S c #262826", +"6T c #222221", +"6U c #3C3D3C", +"6V c #989898", +"6W c #8C8B8B", +"6X c #28282A", +"6Y c #2D2E2D", +"6Z c #909091", +"6& c #343534", +"7 c #29292A", +"70 c #2B2B2B", +"71 c #2A2B2C", +"72 c #2C2D2B", +"73 c #2C2D2C", +"74 c #2E2E2D", +"75 c #303030", +"76 c #313132", +"77 c #333232", +"78 c #363735", +"79 c #373736", +"7a c #383937", +"7b c #393838", +"7c c #3C3C3D", +"7d c #464445", +"7e c #454546", +"7f c #716A4D", +"7g c #C0B139", +"7h c #ABA460", +"7i c #827840", +"7j c #6E6819", +"7k c #72671B", +"7l c #7F6E1E", +"7m c #7E6F21", +"7n c #7F7912", +"7o c #897F0E", +"7p c #937D0F", +"7q c #99812A", +"7r c #5D5226", +"7s c #524B29", +"7t c #444439", +"7u c #615826", +"7v c #979797", +"7w c #2C2B2B", +"7x c #2F3030", +"7y c #2A2A28", +"7z c #333333", +"7A c #9E9FA0", +"7B c #6A6868", +"7C c #858385", +"7D c #B1B0B1", +"7E c #8C8C8B", +"7F c #5C5B5B", +"7G c #383737", +"7H c #201F20", +"7I c #272829", +"7J c #292829", +"7K c #292928", +"7L c #2A2B2A", +"7M c #2B2B2C", +"7N c #2E2E2E", +"7O c #312F30", +"7P c #323233", +"7Q c #333434", +"7R c #373838", +"7S c #383939", +"7T c #3D3C3E", +"7U c #41413F", +"7V c #424343", +"7W c #535352", +"7X c #615C4C", +"7Y c #BAAF33", +"7Z c #A29341", +"7& c #52514C", +"8 c #515043", +"80 c #6C651D", +"81 c #84761D", +"82 c #827719", +"83 c #807410", +"84 c #8A7C16", +"85 c #8B7614", +"86 c #4D4421", +"87 c #1D1E1D", +"88 c #34322B", +"89 c #8A7E44", +"8a c #978F30", +"8b c #525345", +"8c c #9E9E9E", +"8d c #333133", +"8e c #313130", +"8f c #B2B3B2", +"8g c #999998", +"8h c #858786", +"8i c #2A2A2A", +"8j c #2B2C2C", +"8k c #575757", +"8l c #B4B3B4", +"8m c #292929", +"8n c #2A2A29", +"8o c #2B2A2A", +"8p c #2B2C2B", +"8q c #2F2F2E", +"8r c #313332", +"8s c #353635", +"8t c #434244", +"8u c #515250", +"8v c #51524F", +"8w c #756B2D", +"8x c #4F4E47", +"8y c #504E43", +"8z c #756922", +"8A c #565127", +"8B c #544D19", +"8C c #474125", +"8D c #39372E", +"8E c #282826", +"8F c #22211A", +"8G c #413B1B", +"8H c #947F30", +"8I c #DBD033", +"8J c #5A5A3B", +"8K c #A0A1A2", +"8L c #333435", +"8M c #3A3B3A", +"8N c #99999A", +"8O c #9B9D9C", +"8P c #232323", +"8Q c #202021", +"8R c #6A6A6C", +"8S c #272625", +"8T c #737273", +"8U c #2B2A2B", +"8V c #2B2B2A", +"8W c #2C2C2D", +"8X c #2D2D2D", +"8Y c #2F2F30", +"8Z c #313030", +"8& c #333234", +"9 c #343433", +"90 c #363634", +"91 c #363737", +"92 c #3B3D3C", +"93 c #3E3C3D", +"94 c #3E3F40", +"95 c #444342", +"96 c #434345", +"97 c #535252", +"98 c #515252", +"99 c #54533F", +"9a c #686323", +"9b c #535142", +"9c c #6A6027", +"9d c #212121", +"9e c #201F1D", +"9f c #332D1C", +"9g c #4E4219", +"9h c #594D16", +"9i c #342E18", +"9j c #32302B", +"9k c #414239", +"9l c #A8A6A6", +"9m c #888987", +"9n c #ADADAC", +"9o c #777675", +"9p c #999798", +"9q c #29282A", +"9r c #2C2D2D", +"9s c #2E2D2D", +"9t c #A3A3A2", +"9u c #9A9A9B", +"9v c #949392", +"9w c #302F2E", +"9x c #2D2E2E", +"9y c #303231", +"9z c #333233", +"9A c #343335", +"9B c #403F3F", +"9C c #4E4E4E", +"9D c #515141", +"9E c #756A2F", +"9F c #796D2B", +"9G c #353327", +"9H c #413A1D", +"9I c #564C1B", +"9J c #443D18", +"9K c #25241B", +"9L c #1E1D1D", +"9M c #1C1C1C", +"9N c #1F1E1E", +"9O c #323434", +"9P c #3C3B3B", +"9Q c #282628", +"9R c #3D3E3C", +"9S c #323031", +"9T c #434141", +"9U c #474646", +"9V c #2B2C2D", +"9W c #303131", +"9X c #323131", +"9Y c #323334", +"9Z c #373836", +"9& c #3C3E3D", +"a c #41403F", +"a0 c #474647", +"a1 c #535354", +"a2 c #515253", +"a3 c #515150", +"a4 c #4C4C4D", +"a5 c #796D47", +"a6 c #E7D33D", +"a7 c #A09632", +"a8 c #3B3621", +"a9 c #262723", +"aa c #414241", +"ab c #1E1D1E", +"ac c #272728", +"ad c #5F5E5F", +"ae c #5D5E5E", +"af c #49494B", +"ag c #504F4E", +"ah c #3B3C3D", +"ai c #2F2E30", +"aj c #393839", +"ak c #5A595A", +"al c #5B595A", +"am c #5B5A5A", +"an c #5D5C5C", +"ao c #5E5D5E", +"ap c #5E5E5F", +"aq c #424344", +"ar c #525253", +"as c #525353", +"at c #535351", +"au c #4D4F4E", +"av c #444237", +"aw c #958D23", +"ax c #454522", +"ay c #202121", +"az c #D1D2D2", +"aA c #646465", +"aB c #848584", +"aC c #A09F9F", +"aD c #B7B8B6", +"aE c #919190", +"aF c #747475", +"aG c #8A8889", +"aH c #939493", +"aI c #C3C4C3", +"aJ c #929292", +"aK c #848485", +"aL c #616060", +"aM c #BABABA", +"aN c #949393", +"aO c #A0A0A1", +"aP c #AAABAB", +"aQ c #8E908F", +"aR c #7E7D7F", +"aS c #616262", +"aT c #535554", +"aU c #BDBEBE", +"aV c #8D8E8E", +"aW c #979695", +"aX c #B0B1B1", +"aY c #585657", +"aZ c #9E9D9D", +"a& c #A0A09E", +"b c #8B8B8B", +"b0 c #939393", +"b1 c #C6C7C6", +"b2 c #949595", +"b3 c #878587", +"b4 c #616162", +"b5 c #BCBBBB", +"b6 c #929193", +"b7 c #909190", +"b8 c #939392", +"b9 c #6F6F6F", +"ba c #474746", +"bb c #959595", +"bc c #ACADAB", +"bd c #A5A5A6", +"be c #BAB8B8", +"bf c #636364", +"bg c #525251", +"bh c #222222", +"bi c #222122", +"bj c #212321", +"bk c #818182", +"bl c #696968", +"bm c #222323", +"bn c #1F1F1F", +"bo c #1F1E20", +"bp c #848585", +"bq c #363636", +"br c #A3A3A3", +"bs c #8C8B8A", +"bt c #282727", +"bu c #2D2D2C", +"bv c #343234", +"bw c #A6A7A6", +"bx c #828281", +"by c #979796", +"bz c #2A2A2B", +"bA c #2D2C2D", +"bB c #595959", +"bC c #919392", +"bD c #A4A3A2", +"bE c #A6A6A6", +"bF c #343334", +"bG c #565656", +"bH c #939292", +"bI c #353436", +"bJ c #B3B3B4", +"bK c #5B5C5A", +"bL c #8E8C8D", +"bM c #565456", +"bN c #555553", +"bO c #252526", +"bP c #242524", +"bQ c #232424", +"bR c #A6A4A6", +"bS c #9D9C9D", +"bT c #202220", +"bU c #211F20", +"bV c #838384", +"bW c #A5A5A4", +"bX c #626162", +"bY c #9B9A9C", +"bZ c #615F61", +"b& c #727271", +"c c #838383", +"c0 c #575859", +"c1 c #B3B3B3", +"c2 c #7C7B7A", +"c3 c #B0AFAF", +"c4 c #A7A6A8", +"c5 c #3D3F3E", +"c6 c #605F60", +"c7 c #ACACAD", +"c8 c #707171", +"c9 c #757576", +"ca c #797778", +"cb c #525052", +"cc c #48484A", +"cd c #B0B0B0", +"ce c #AFAFAF", +"cf c #828381", +"cg c #444543", +"ch c #575556", +"ci c #565455", +"cj c #4E4E4F", +"ck c #252625", +"cl c #252525", +"cm c #252324", +"cn c #BBBBBB", +"co c #7F7F7F", +"cp c #222322", +"cq c #4E4D4C", +"cr c #838183", +"cs c #A6A5A5", +"ct c #666765", +"cu c #B9BABB", +"cv c #919192", +"cw c #C9C8C8", +"cx c #9D9D9E", +"cy c #353737", +"cz c #858586", +"cA c #B2B4B3", +"cB c #717071", +"cC c #777778", +"cD c #969695", +"cE c #8D8D8C", +"cF c #4C4D4E", +"cG c #9D9E9E", +"cH c #A6A6A5", +"cI c #AAA9AA", +"cJ c #656665", +"cK c #B0B0AF", +"cL c #787777", +"cM c #7E7E7E", +"cN c #7D7D7D", +"cO c #646666", +"cP c #8C8D8E", +"cQ c #9B9C9B", +"cR c #272827", +"cS c #272726", +"cT c #262626", +"cU c #6A696A", +"cV c #565655", +"cW c #242224", +"cX c #828181", +"cY c #242324", +"cZ c #4E4C4D", +"c& c #A7A7A8", +"d c #696868", +"d0 c #8F8D8D", +"d1 c #878786", +"d2 c #5E5E5E", +"d3 c #A5A5A7", +"d4 c #3C3B3D", +"d5 c #424244", +"d6 c #424341", +"d7 c #A9AAA9", +"d8 c #666767", +"d9 c #929392", +"da c #989A9A", +"db c #B9BAB9", +"dc c #5C5C5B", +"dd c #5A5B5B", +"de c #59585A", +"df c #2E302F", +"dg c #272727", +"dh c #3D3B3C", +"di c #A09FA0", +"dj c #262726", +"dk c #818283", +"dl c #828483", +"dm c #242323", +"dn c #A8A9A8", +"do c #6B6C6B", +"dp c #929293", +"dq c #5F5F61", +"dr c #ACABAC", +"ds c #898889", +"dt c #5F5D5F", +"du c #5E605F", +"dv c #B7B8B8", +"dw c #767675", +"dx c #7C7C7C", +"dy c #9B9B9A", +"dz c #767777", +"dA c #9D9D9F", +"dB c #7E7D7D", +"dC c #A1A0A2", +"dD c #939494", +"dE c #ACACAC", +"dF c #686969", +"dG c #AEAFAF", +"dH c #757475", +"dI c #787877", +"dJ c #676666", +"dK c #525351", +"dL c #B3B4B3", +"dM c #9F9D9E", +"dN c #9EA09E", +"dO c #8E8F8E", +"dP c #363534", +"dQ c #333131", +"dR c #292A28", +"dS c #262526", +"dT c #373636", +"dU c #5D5B5C", +"dV c #404041", +"dW c #545553", +"dX c #484747", +"dY c #494A49", +"dZ c #5D5C5D", +"d& c #747374", +"e c #777777", +"e0 c #797978", +"e1 c #676768", +"e2 c #424342", +"e3 c #484647", +"e4 c #5F5F5E", +"e5 c #7A7979", +"e6 c #6C6B6D", +"e7 c #444343", +"e8 c #49484A", +"e9 c #807F7F", +"ea c #868686", +"eb c #727373", +"ec c #4F4F4D", +"ed c #646364", +"ee c #787A7A", +"ef c #727272", +"eg c #4C4B4B", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F z G y H I J J I K L M M N O P", +" Q R S T U V W X Y Z &0 00 e0102030405060708090a0b I0c0d0e B0f0g0h0i0j0k0j0k0l0m0n0k0o0p0q0r0s0t0u0u0v0w0h0g0f0x B0y0z0A G u t0a", +"0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q090R0S F0y A0T0g0j0U0V0W0X0Y0Y0Z0&1 0&10111213141414111516171819171a1a1b1c0q0V1d0U0j1e1f B C1g1h", +"1i1j1k1l1m g1n1o1p1q1r1s1t1u1v1w1x B1y0r1z1A1B1C1D1E1F1G1H1I1J1K1K1L1M1N1L1O1P1Q1R1O1L1R1S1K1T1U1U1V151W1X1Y1Z1&2 20210n0t221e1f", +"232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m1W2n2o2p1L1Q2q2r2s2t2u2v2w2x2y2w2z2z2y2z2A2B2C2w2D2u2E2F2G2q2H2I2J2K2L2M141W1D2N2O0W1z0t", +"2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233342K1L352s362y2A2z373738393a3b3c3d3e3f3g3g3h3b3b3i3j3k3l3m3n3n2A2y3o3p3q2q3r3s3t3u1G113v182O1b", +"3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O2y3P3Q3k3R3f3S3T3U3V3W3X3U3U3Y3Z3&4 403X413X3X424344453g464748494a4b4c4d4e4f4g3t1U1I4h1517", +" o4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z394A4B4C4D4E4F4G4H4I4J4K4L4I4M4N4O4P4Q4R4S4T4J4U4V4W4X4Y4Z4B4&395 50512z522t53542H1L3t2L1X", +"55565758595a5b5c5d5e5f5g5h5i5j5k5l39465m3b434G5n5o4B3W5p5q5r5s5t5u5v5w5w5x5v5y5z5A5B5C4N4M5D5E5F5G5H4B5I5J5K5L5M5N365O5P5Q1L3t3u", +"0b5R5S5T5U5V5W5X5Y5Z5&6 6061626364652 6667680r4V696a6b6c0x6d6e6f6g6h6i6j6k6j6l6m6n6o5r5A6p5B4M6q6q6r6s6t44463k38486u6v6w6x1R1P3t", +" w6y6z0x6A6B6C6D6E6F6G6H6I6J6K6L6M3b6N6O6P6Q6R4U6g6S6T6U6V0x6W6X6Y6Z6&7 70717273746l7576775q4O78797a7b4D3V7c3S5K373n2y2x367d7e3s", +" E7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u367v7w7x6j7y7z7A482s7B7C5H7D7E7F7G7H7I7J7K7L7M737N6i7O5w7P7Q4S787R7S4X42437T393j7U2z5N7V6w7d1L", +"7W7X7Y7Z7&8 808182838485868788898a8b8c7z7z8d8e4O8f8g8h 58i8j6s8k6Z8l6r7K8m8n8o8p6P8q8q6o5v8r7z8s4P6q7S3&433V3S5J385L5M2A8t5O1P1Q", +"0z8u8v568w8x8y8z8A8B8C8D8E8F8G8H8I8J8K368L8M8N508O8P7H7H8Q038R8S8P8T0b8U8V8p8j8W8X6i8Y8Z778&9 9078915t6s8M92935K943Q4b5N95963N1R", +"97980w0V999a9b9c739d9e9f9g9h9i9j9k5H229l9m9n9o7Q9p9q9r9s9r3T9t9u9v8c9w6P6Y6j9x6i6m5x9y9z7Q9A8s784V7R4W4Y434B5J3j9B486Q2C6v2s541L", +" E0g0w9C209D9E9F9G9H9I9J9K9L9M9N9O9P7R6&1L4Z9Q7P9R73775y5y9S9x9T9U9V7 6i759W9X765q5w9Y5B5p8s9Z7R7b415H4Z7c9&3b3Qa 4b2A2x2F3N1La0", +"a1a2a30s21a4a5a6a7a8a9aa7Kabac6w1zadaeaf1yag1g O1bah8k M n1z6qai3iaj3W0b0R K2q5u4U2v4S4K4I543a w pakal G1Kamanaoap1yaq1L55 iar2K", +"1gasata30tauavawaxay3pazaA9N4KaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQ4GaRaSaTaUaVaWaXaY0&aZ4Haj7Sa&0yb b0b1b2b3b4b5b6b7b8b9babbbcbdbebf", +"0ba17Wbg1y208pbhbibjbkbl8Kbmbnbo6Obp6jbq5o91br5v6lanbsbtbubvbw48bxan KbybzbAbBbC0W8c4P433TbD1K5H3SbE4HbFbGbHbI4O8s3T1dbJba3kbKbL", +" tbMbN B0T3hbObPbQbzbR8UbS2wbTbU0wbV7z3R3n54bW7b4BbXbY7WbZb&bd5Hc mc0c1 2c2c37F1C6f773f3c682z4C1Kc45Bc5c6c7c8c9cacbcccdcecf01cg", +" q8kchcicj6Pckclcm FcncoaCaBbicpcqcr8p2z3q14csah2vctcucvcwcx3Scycz04amcAcBcCcDcEcFcG5x505NcH4f6U17cI6U2vcJcKcLcMcN t1b BcOcPb5cQ", +"bBbB M J46cRcScTcScxcU0zcV6f8jcW0ZcXcY5s1PcZc&363Nd d05B0&8f104Bd1d2038g6d6s3bcH54d3d4d52pce2yd69Cd74Za0d8d99 463k50 5da1F3S2Fdb", +"dcddde1adf7J8mdgdhdi8ndjcTdk qcl0VdldmcS6Q1ydn2r3udodp373ndqdr3udsdtdudvdwdxdydzajb0dAdBdCdD6r2u0udE3S2pdFdG RdHdIdJdKdLdMcMdNdO", +"03 j7WdPdQ8o8idR5t54btac6S7Q2ydS5z2zcTckdT2pdUdV1ZdW wdXdY2uak20dZd61dd&e e0e13be2e3e4e5e61U5K541Acte7e8 qe9cobpeaeb6Oecedeeefeg"}; diff --git a/2009-x64/cps4.03/icons/cpscConnectPolyShape.xpm b/2009-x64/cps4.03/icons/cpscConnectPolyShape.xpm new file mode 100644 index 0000000..05d58c9 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConnectPolyShape.xpm @@ -0,0 +1,1168 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1141 2", +" c #717171", +" 0 c #727172", +" 1 c #71706F", +" 2 c #6F706F", +" 3 c #6D6F6D", +" 4 c #6C6D6D", +" 5 c #6D6D6C", +" 6 c #6C6B6B", +" 7 c #6B6A6B", +" 8 c #686869", +" 9 c #686868", +" a c #696968", +" b c #676666", +" c c #8C8C67", +" d c #9FA072", +" e c #686864", +" f c #626462", +" g c #626162", +" h c #606060", +" i c #61615F", +" j c #5F5F5E", +" k c #5C5D5D", +" l c #5E5F5E", +" m c #5C5C5C", +" n c #5B5B5C", +" o c #5B5A5C", +" p c #5B595A", +" q c #595859", +" r c #585959", +" s c #5A5958", +" t c #585757", +" u c #575757", +" v c #585858", +" w c #565757", +" x c #565656", +" y c #565655", +" z c #545555", +" A c #565454", +" B c #545655", +" C c #545455", +" D c #535253", +" E c #535353", +" F c #545354", +" G c #535354", +" H c #545453", +" I c #555555", +" J c #535555", +" K c #555455", +" L c #565555", +" M c #565556", +" N c #555556", +" O c #575657", +" P c #565657", +" Q c #585857", +" R c #585859", +" S c #595958", +" T c #5A585A", +" U c #6D6D6F", +" V c #6D6C6C", +" W c #696969", +" X c #676768", +" Y c #686867", +" Z c #666767", +" & c #666565", +"0 c #646565", +"00 c #787465", +"01 c #90895E", +"02 c #AC9B52", +"03 c #DFC740", +"04 c #FBF04B", +"05 c #938D55", +"06 c #5D5D5E", +"07 c #5D5C5D", +"08 c #5C5C5B", +"09 c #5A5B5A", +"0a c #595959", +"0b c #575858", +"0c c #585958", +"0d c #575758", +"0e c #575756", +"0f c #525452", +"0g c #535252", +"0h c #525252", +"0i c #525152", +"0j c #515052", +"0k c #515252", +"0l c #525251", +"0m c #504F4F", +"0n c #4F4F4F", +"0o c #4F4F50", +"0p c #50504F", +"0q c #4F504F", +"0r c #50514F", +"0s c #505050", +"0t c #4E4F4E", +"0u c #505151", +"0v c #525250", +"0w c #505251", +"0x c #535452", +"0y c #525453", +"0z c #545454", +"0A c #555554", +"0B c #555656", +"0C c #696A6A", +"0D c #7C7B6E", +"0E c #76766D", +"0F c #656566", +"0G c #6A6964", +"0H c #85846B", +"0I c #98956D", +"0J c #B3A859", +"0K c #AB9E4B", +"0L c #AF9F3E", +"0M c #9C8835", +"0N c #7F743F", +"0O c #706A46", +"0P c #877D43", +"0Q c #AFA732", +"0R c #A39244", +"0S c #9B8F4F", +"0T c #626058", +"0U c #525254", +"0V c #515253", +"0W c #515050", +"0X c #515150", +"0Y c #504F4E", +"0Z c #4E4F4F", +"0& c #4D4D4D", +"1 c #4E4D4D", +"10 c #4D4D4E", +"11 c #4D4D4C", +"12 c #4C4D4D", +"13 c #4B4C4B", +"14 c #4C4C4B", +"15 c #4C4B4C", +"16 c #4C4B4B", +"17 c #4A4C4B", +"18 c #4A4A4A", +"19 c #4B4B4B", +"1a c #4C4A4B", +"1b c #4A4A4B", +"1c c #4C4C4D", +"1d c #4B4D4D", +"1e c #797146", +"1f c #B39C3C", +"1g c #C6A939", +"1h c #D3B430", +"1i c #CAAE2C", +"1j c #BEA529", +"1k c #AA962A", +"1l c #897D35", +"1m c #5A584C", +"1n c #515151", +"1o c #515351", +"1p c #525253", +"1q c #968652", +"1r c #FFF470", +"1s c #F4F356", +"1t c #C6BB55", +"1u c #C2B55C", +"1v c #9C893A", +"1w c #7E723D", +"1x c #746E49", +"1y c #686655", +"1z c #5C5B5B", +"1A c #5A5A5B", +"1B c #595A59", +"1C c #575859", +"1D c #595A4F", +"1E c #7F712E", +"1F c #686445", +"1G c #9D8E44", +"1H c #9A905B", +"1I c #565450", +"1J c #4F4F4E", +"1K c #4C4D4C", +"1L c #4D4E4D", +"1M c #4D4C4C", +"1N c #484A49", +"1O c #494949", +"1P c #474847", +"1Q c #474948", +"1R c #494748", +"1S c #474747", +"1T c #474848", +"1U c #454646", +"1V c #454647", +"1W c #474646", +"1X c #474748", +"1Y c #464647", +"1Z c #464848", +"1& c #484748", +"2 c #484848", +"20 c #6A6646", +"21 c #DEC33D", +"22 c #FDD53A", +"23 c #F7D145", +"24 c #EBC842", +"25 c #DDBE3C", +"26 c #D1B433", +"27 c #C4A82C", +"28 c #B9A324", +"29 c #B19C1C", +"2a c #AB9919", +"2b c #8C8124", +"2c c #575748", +"2d c #514F4F", +"2e c #807452", +"2f c #F9D71F", +"2g c #E3C836", +"2h c #908954", +"2i c #5F5D5E", +"2j c #5B5C5B", +"2k c #5A5959", +"2l c #5A5858", +"2m c #555454", +"2n c #545554", +"2o c #58574C", +"2p c #7D702B", +"2q c #505150", +"2r c #50504E", +"2s c #6A6341", +"2t c #B5A245", +"2u c #747359", +"2v c #54544D", +"2w c #484948", +"2x c #464746", +"2y c #454546", +"2z c #454545", +"2A c #444544", +"2B c #464444", +"2C c #444344", +"2D c #444443", +"2E c #434344", +"2F c #434343", +"2G c #424343", +"2H c #414241", +"2I c #414242", +"2J c #424141", +"2K c #424241", +"2L c #424243", +"2M c #444244", +"2N c #9D923E", +"2O c #F8E146", +"2P c #FEEB5D", +"2Q c #FFF26C", +"2R c #FFE968", +"2S c #F6D95B", +"2T c #E2C547", +"2U c #CFB53A", +"2V c #C3AA2F", +"2W c #B69F27", +"2X c #AB951F", +"2Y c #A39119", +"2Z c #998B13", +"2& c #958912", +"3 c #5F5D3C", +"30 c #5F5F5F", +"31 c #6E6B46", +"32 c #7A6F33", +"33 c #867839", +"34 c #B4AA5F", +"35 c #5E5E5A", +"36 c #595758", +"37 c #545253", +"38 c #515152", +"39 c #54524A", +"3a c #7B6E29", +"3b c #4D4B4B", +"3c c #4A4B4A", +"3d c #494849", +"3e c #4B4943", +"3f c #746E42", +"3g c #F8DF53", +"3h c #F2EB61", +"3i c #676444", +"3j c #424342", +"3k c #414240", +"3l c #40403F", +"3m c #41413F", +"3n c #3F3F3E", +"3o c #3E3E3E", +"3p c #403E3E", +"3q c #3D3E3F", +"3r c #3E3F3E", +"3s c #3F3E3E", +"3t c #3E3D3E", +"3u c #3E3E3F", +"3v c #3E3F3F", +"3w c #3D3E3E", +"3x c #3F3E40", +"3y c #403F3E", +"3z c #3F4040", +"3A c #8D853E", +"3B c #FFE648", +"3C c #FFF96F", +"3D c #FFFF9D", +"3E c #FFFFC2", +"3F c #FEFEA9", +"3G c #FEF57A", +"3H c #F0D357", +"3I c #D5B93E", +"3J c #C1A82E", +"3K c #B59E26", +"3L c #AA971F", +"3M c #9D8C16", +"3N c #968712", +"3O c #8B810D", +"3P c #86800A", +"3Q c #56553D", +"3R c #4B4C4D", +"3S c #5D5C5C", +"3T c #605E48", +"3U c #84752B", +"3V c #66643E", +"3W c #AAA048", +"3X c #6F6D58", +"3Y c #535352", +"3Z c #525353", +"3& c #4E4F50", +"4 c #4E4D4E", +"40 c #504F47", +"41 c #82732D", +"42 c #484747", +"43 c #565549", +"44 c #746C41", +"45 c #96843A", +"46 c #8C7C1C", +"47 c #C69822", +"48 c #FEE524", +"49 c #6F6737", +"4a c #3D3D3D", +"4b c #3B3B3C", +"4c c #3C3B3B", +"4d c #3B3C3C", +"4e c #3A3A3B", +"4f c #3B3B3A", +"4g c #3B3A3A", +"4h c #393B3A", +"4i c #393A39", +"4j c #39393A", +"4k c #3A3939", +"4l c #383939", +"4m c #3A3A39", +"4n c #393B3B", +"4o c #3A3B3A", +"4p c #3C3C3B", +"4q c #67623B", +"4r c #F8DE41", +"4s c #FFF363", +"4t c #FFFF9A", +"4u c #FFFFF1", +"4v c #FFFEFF", +"4w c #FEFEE2", +"4x c #FFFE94", +"4y c #F7E062", +"4z c #DBC045", +"4A c #C1A92E", +"4B c #B49E25", +"4C c #A9941E", +"4D c #9C8B16", +"4E c #918411", +"4F c #887E0D", +"4G c #837B08", +"4H c #79760C", +"4I c #53533F", +"4J c #4D4B4C", +"4K c #5A595A", +"4L c #5F5D49", +"4M c #867721", +"4N c #595A43", +"4O c #868331", +"4P c #847E52", +"4Q c #4E504E", +"4R c #4B4B4A", +"4S c #49494A", +"4T c #514F46", +"4U c #A0923C", +"4V c #9D9046", +"4W c #9E8E36", +"4X c #8F7F2E", +"4Y c #6E6428", +"4Z c #615738", +"4& c #3E3C3D", +"5 c #524C33", +"50 c #766836", +"51 c #3A393B", +"52 c #393938", +"53 c #373938", +"54 c #383838", +"55 c #383637", +"56 c #363637", +"57 c #363635", +"58 c #353736", +"59 c #363636", +"5a c #343535", +"5b c #353636", +"5c c #343635", +"5d c #343534", +"5e c #363536", +"5f c #353535", +"5g c #373737", +"5h c #383738", +"5i c #DFC738", +"5j c #FEE249", +"5k c #FFF56E", +"5l c #FFFFA9", +"5m c #FFFEFE", +"5n c #FFFEF9", +"5o c #FFFF93", +"5p c #F2D654", +"5q c #D4BA3A", +"5r c #C2AA2E", +"5s c #B59E23", +"5t c #A6921A", +"5u c #998915", +"5v c #8C810F", +"5w c #837A0A", +"5x c #7A7407", +"5y c #726F02", +"5z c #67641D", +"5A c #59594E", +"5B c #90801F", +"5C c #545353", +"5D c #515051", +"5E c #50504C", +"5F c #7F7736", +"5G c #C6BF84", +"5H c #D3D2B6", +"5I c #8E8D77", +"5J c #817D57", +"5K c #918840", +"5L c #988A2D", +"5M c #8A7923", +"5N c #5B5530", +"5O c #45443E", +"5P c #3E3D3D", +"5Q c #3C3B3C", +"5R c #4E492E", +"5S c #67562C", +"5T c #353737", +"5U c #353635", +"5V c #353534", +"5W c #333334", +"5X c #333332", +"5Y c #333433", +"5Z c #323233", +"5& c #323332", +"6 c #333232", +"60 c #323232", +"61 c #333132", +"62 c #323131", +"63 c #303131", +"64 c #303130", +"65 c #313132", +"66 c #313131", +"67 c #353435", +"68 c #6D6435", +"69 c #FEDB38", +"6a c #FFDE48", +"6b c #FFEA68", +"6c c #FEFB9A", +"6d c #FEFFCE", +"6e c #FFFFD7", +"6f c #FEFCA7", +"6g c #FFEF76", +"6h c #DDC147", +"6i c #C8AD37", +"6j c #B49B29", +"6k c #9F881C", +"6l c #958217", +"6m c #8B7B12", +"6n c #81730D", +"6o c #766C09", +"6p c #726B06", +"6q c #6A6703", +"6r c #6E6C07", +"6s c #4A4A47", +"6t c #575557", +"6u c #887C1C", +"6v c #504F51", +"6w c #4E4E4E", +"6x c #4D4D4B", +"6y c #E8B31D", +"6z c #FFEC52", +"6A c #E9D325", +"6B c #6A6329", +"6C c #595537", +"6D c #47463F", +"6E c #736528", +"6F c #404040", +"6G c #383839", +"6H c #3C3D3C", +"6I c #3A393A", +"6J c #393837", +"6K c #383737", +"6L c #4B462C", +"6M c #4C412C", +"6N c #343334", +"6O c #323231", +"6P c #2F3130", +"6Q c #302F2E", +"6R c #2E2F2E", +"6S c #302E2F", +"6T c #2F2F30", +"6U c #2F302F", +"6V c #30302F", +"6W c #2F2D2E", +"6X c #2E2E2E", +"6Y c #2D2D2C", +"6Z c #2D2E2D", +"6& c #302F30", +"7 c #323130", +"70 c #B69930", +"71 c #F9D037", +"72 c #FFD643", +"73 c #FEDC55", +"74 c #FAE36E", +"75 c #FFF87E", +"76 c #F9E277", +"77 c #F1CE62", +"78 c #D7B74E", +"79 c #BFA139", +"7a c #AD8F2C", +"7b c #9B8320", +"7c c #907918", +"7d c #867313", +"7e c #7D6C0E", +"7f c #75670B", +"7g c #696106", +"7h c #625D03", +"7i c #656002", +"7j c #6A6602", +"7k c #575630", +"7l c #565455", +"7m c #796D1E", +"7n c #5D5B4B", +"7o c #4B4A4A", +"7p c #A88726", +"7q c #F8DB1C", +"7r c #B8AA30", +"7s c #414343", +"7t c #45433F", +"7u c #7C6B29", +"7v c #3B3B39", +"7w c #1B1B1C", +"7x c #383A38", +"7y c #373637", +"7z c #58522C", +"7A c #433F2A", +"7B c #FE9F27", +"7C c #FF9D26", +"7D c #FE9B25", +"7E c #C78827", +"7F c #2C2B2C", +"7G c #2C2B2B", +"7H c #2B2B2A", +"7I c #2C2D2C", +"7J c #2C2C2C", +"7K c #2C2C2B", +"7L c #292A2A", +"7M c #2A2A2B", +"7N c #2A2A2C", +"7O c #2B2B2C", +"7P c #686638", +"7Q c #FC9624", +"7R c #FB9422", +"7S c #FC9323", +"7T c #945F29", +"7U c #C4A02C", +"7V c #EBB235", +"7W c #F3B341", +"7X c #E6BB44", +"7Y c #EEC159", +"7Z c #F5CF4F", +"7& c #EAC64D", +"8 c #DAB843", +"80 c #C4A336", +"81 c #B4962B", +"82 c #A18620", +"83 c #927919", +"84 c #846D14", +"85 c #77640F", +"86 c #6E5E0B", +"87 c #675A08", +"88 c #5F5604", +"89 c #5C5504", +"8a c #605A02", +"8b c #645F02", +"8c c #605E1F", +"8d c #535454", +"8e c #776A26", +"8f c #655E46", +"8g c #726615", +"8h c #4C4A40", +"8i c #424240", +"8j c #938F50", +"8k c #CBBB47", +"8l c #3E3D2A", +"8m c #181A19", +"8n c #252424", +"8o c #373837", +"8p c #333534", +"8q c #504B23", +"8r c #49442D", +"8s c #FF9F27", +"8t c #FF9C26", +"8u c #FF9A25", +"8v c #E08A23", +"8w c #967E48", +"8x c #947D4C", +"8y c #947E4B", +"8z c #947C47", +"8A c #967D45", +"8B c #967E43", +"8C c #967E40", +"8D c #957E3F", +"8E c #967D3E", +"8F c #957E3D", +"8G c #977F3B", +"8H c #BAA144", +"8I c #FA9523", +"8J c #FB9221", +"8K c #F89120", +"8L c #905D27", +"8M c #CAA429", +"8N c #E29834", +"8O c #ED9E3E", +"8P c #DEB63F", +"8Q c #E3B94B", +"8R c #D4B04C", +"8S c #CEB33D", +"8T c #C6AF31", +"8U c #B89F25", +"8V c #AC8F1F", +"8W c #9D8419", +"8X c #8F7A14", +"8Y c #836F0F", +"8Z c #78680B", +"8& c #6C5D07", +"9 c #615505", +"90 c #574E03", +"91 c #564E03", +"92 c #5A5202", +"93 c #5F5801", +"94 c #625D19", +"95 c #665E3E", +"96 c #484847", +"97 c #464747", +"98 c #6D6418", +"99 c #57533F", +"9a c #706F4F", +"9b c #A49444", +"9c c #C7AB43", +"9d c #E4CB28", +"9e c #66602B", +"9f c #19191A", +"9g c #222120", +"9h c #363737", +"9i c #343536", +"9j c #585121", +"9k c #38372D", +"9l c #FE9B24", +"9m c #FE9A23", +"9n c #FB9822", +"9o c #CD8625", +"9p c #37322A", +"9q c #353028", +"9r c #353128", +"9s c #353129", +"9t c #373129", +"9u c #362F28", +"9v c #352F27", +"9w c #352F28", +"9x c #373028", +"9y c #6C6532", +"9z c #F89422", +"9A c #F79021", +"9B c #F99020", +"9C c #8C5A25", +"9D c #A88A1E", +"9E c #CD892D", +"9F c #DA8B32", +"9G c #D5A03D", +"9H c #C1A52F", +"9I c #BE9D3C", +"9J c #B6983B", +"9K c #AD952E", +"9L c #A59420", +"9M c #988B16", +"9N c #948312", +"9O c #907C10", +"9P c #82700C", +"9Q c #776809", +"9R c #6B5E05", +"9S c #5C5303", +"9T c #594F04", +"9U c #5C5402", +"9V c #5E5B1C", +"9W c #625D36", +"9X c #74683A", +"9Y c #4C4A4A", +"9Z c #4E4D49", +"9& c #7B7755", +"a c #796F1E", +"a0 c #A39339", +"a1 c #6F603C", +"a2 c #47443D", +"a3 c #343232", +"a4 c #29271A", +"a5 c #564D29", +"a6 c #8A7B35", +"a7 c #2B2920", +"a8 c #2A2B2B", +"a9 c #373536", +"aa c #343434", +"ab c #5B541E", +"ac c #34332F", +"ad c #8A5C27", +"ae c #875925", +"af c #865825", +"ag c #765527", +"ah c #2B2C2A", +"ai c #2B2B2B", +"aj c #2C2D2D", +"ak c #2B2C2C", +"al c #2A2A29", +"am c #2B2A2A", +"an c #2A2B2A", +"ao c #2B2C2B", +"ap c #4C4B31", +"aq c #875B27", +"ar c #815424", +"as c #845725", +"at c #5B4429", +"au c #836F1A", +"av c #AD8D1A", +"aw c #BFA722", +"ax c #B69037", +"ay c #B29728", +"az c #AA9029", +"aA c #A48834", +"aB c #9B7F30", +"aC c #927F24", +"aD c #8D8417", +"aE c #867F0F", +"aF c #82790C", +"aG c #7D7109", +"aH c #756806", +"aI c #6C6005", +"aJ c #675D04", +"aK c #605503", +"aL c #5C5302", +"aM c #584F02", +"aN c #54512A", +"aO c #525352", +"aP c #625D42", +"aQ c #7F7534", +"aR c #58564E", +"aS c #838166", +"aT c #A1914B", +"aU c #998B42", +"aV c #6B633C", +"aW c #665E21", +"aX c #5B573D", +"aY c #414140", +"aZ c #212122", +"a& c #232223", +"b c #1B1A1A", +"b0 c #383428", +"b1 c #8A7F36", +"b2 c #4D4A2E", +"b3 c #373636", +"b4 c #655B1F", +"b5 c #333333", +"b6 c #333131", +"b7 c #313032", +"b8 c #2F2F2F", +"b9 c #2F2E2F", +"ba c #2E2D2E", +"bb c #2D2E2E", +"bc c #2D2C2C", +"bd c #2E2D2C", +"be c #2C2D2E", +"bf c #2E2D2D", +"bg c #313130", +"bh c #615624", +"bi c #9E8312", +"bj c #B39D1C", +"bk c #AB8C32", +"bl c #A48929", +"bm c #9E8823", +"bn c #9A8126", +"bo c #91772C", +"bp c #8C7627", +"bq c #85771D", +"br c #7B7511", +"bs c #777509", +"bt c #726E07", +"bu c #726905", +"bv c #706504", +"bw c #6A5F04", +"bx c #645B04", +"by c #615703", +"bz c #5B5302", +"bA c #5D5403", +"bB c #4D4C39", +"bC c #E6C827", +"bD c #FBEA55", +"bE c #BFB850", +"bF c #6E633C", +"bG c #514E47", +"bH c #615C21", +"bI c #5D5538", +"bJ c #232424", +"bK c #29292B", +"bL c #242425", +"bM c #3C3A39", +"bN c #78703D", +"bO c #89864E", +"bP c #363837", +"bQ c #645B22", +"bR c #323333", +"bS c #313232", +"bT c #313030", +"bU c #323031", +"bV c #313231", +"bW c #303031", +"bX c #312F30", +"bY c #303231", +"bZ c #48432D", +"b& c #997F10", +"c c #AD9416", +"c0 c #A28A26", +"c1 c #977D2C", +"c2 c #917A24", +"c3 c #8A7522", +"c4 c #857026", +"c5 c #836E28", +"c6 c #7B6D1E", +"c7 c #726B16", +"c8 c #6E6E0C", +"c9 c #6E6F05", +"ca c #6F6A04", +"cb c #726704", +"cc c #6E6203", +"cd c #675E03", +"ce c #625A04", +"cf c #5F5602", +"cg c #5B5407", +"ch c #535351", +"ci c #B29C2E", +"cj c #C3A728", +"ck c #9D8F43", +"cl c #4A494A", +"cm c #4A4A49", +"cn c #605C23", +"co c #5F5936", +"cp c #464445", +"cq c #292929", +"cr c #1E1F20", +"cs c #201F21", +"ct c #353433", +"cu c #443F27", +"cv c #AEA459", +"cw c #B0A141", +"cx c #5E5C3B", +"cy c #333435", +"cz c #353335", +"cA c #343433", +"cB c #323234", +"cC c #343333", +"cD c #363535", +"cE c #756620", +"cF c #9F8811", +"cG c #96841D", +"cH c #917A27", +"cI c #8A7127", +"cJ c #836E24", +"cK c #7C6924", +"cL c #776523", +"cM c #74661D", +"cN c #706816", +"cO c #706B0F", +"cP c #6C6E07", +"cQ c #6D6D06", +"cR c #706904", +"cS c #6E6303", +"cT c #696003", +"cU c #655A03", +"cV c #605704", +"cW c #37351B", +"cX c #252425", +"cY c #7A7234", +"cZ c #ABA14B", +"c& c #4D4C4E", +"d c #4B4C4C", +"d0 c #5F5A27", +"d1 c #645C37", +"d2 c #434243", +"d3 c #232523", +"d4 c #1F2020", +"d5 c #393A3A", +"d6 c #242323", +"d7 c #4C492F", +"d8 c #C0A132", +"d9 c #FEE12D", +"da c #9C932F", +"db c #393939", +"dc c #393838", +"dd c #373838", +"de c #373736", +"df c #373836", +"dg c #373738", +"dh c #363736", +"di c #383837", +"dj c #3E3D37", +"dk c #8A7614", +"dl c #90850E", +"dm c #867A19", +"dn c #806F20", +"do c #7B6923", +"dp c #786725", +"dq c #766623", +"dr c #75671D", +"ds c #726817", +"dt c #6F6C0E", +"du c #6D7006", +"dv c #6E6D06", +"dw c #706A04", +"dx c #726604", +"dy c #6B6003", +"dz c #665E02", +"dA c #5D570C", +"dB c #252526", +"dC c #252627", +"dD c #555655", +"dE c #535453", +"dF c #726D36", +"dG c #BCB154", +"dH c #53524B", +"dI c #4C4C4C", +"dJ c #5D5A2F", +"dK c #6A6132", +"dL c #2E2D2F", +"dM c #424142", +"dN c #5C5938", +"dO c #95863D", +"dP c #827434", +"dQ c #40391F", +"dR c #80732C", +"dS c #4A483B", +"dT c #3C3C3D", +"dU c #3C3C3C", +"dV c #3A3B39", +"dW c #393839", +"dX c #393A38", +"dY c #4D4935", +"dZ c #8F7D0F", +"d& c #8E810D", +"e c #827B10", +"e0 c #7C701B", +"e1 c #7A6E1A", +"e2 c #766A19", +"e3 c #746C16", +"e4 c #726B13", +"e5 c #706E0D", +"e6 c #707006", +"e7 c #716E06", +"e8 c #736A05", +"e9 c #706503", +"ea c #6B6204", +"eb c #5B5309", +"ec c #272724", +"ed c #262626", +"ee c #262726", +"ef c #575755", +"eg c #565554", +"eh c #6D673D", +"ei c #CEBF5B", +"ej c #53514C", +"ek c #5A5634", +"el c #6D6429", +"em c #222221", +"en c #43423D", +"eo c #797652", +"ep c #9F8F4D", +"eq c #746E33", +"er c #292926", +"es c #414042", +"et c #262526", +"eu c #222323", +"ev c #383938", +"ew c #403F3F", +"ex c #3F403F", +"ey c #3D3D3E", +"ez c #3D3E3D", +"eA c #3D3D3C", +"eB c #3B3D3D", +"eC c #3B3C3B", +"eD c #3D3C3C", +"eE c #3B3C3D", +"eF c #3D3C3D", +"eG c #3F3D3F", +"eH c #3F3E3F", +"eI c #484739", +"eJ c #7C6D19", +"eK c #8A7E0B", +"eL c #827D0B", +"eM c #7B7710", +"eN c #797311", +"eO c #75720D", +"eP c #74720B", +"eQ c #727405", +"eR c #737005", +"eS c #776D05", +"eT c #766904", +"eU c #716603", +"eV c #514A11", +"eW c #282724", +"eX c #272728", +"eY c #575656", +"eZ c #6B643B", +"e& c #CBBA53", +"f c #655F37", +"f0 c #655D1D", +"f1 c #323132", +"f2 c #5D5C4A", +"f3 c #887B40", +"f4 c #9C8D42", +"f5 c #635D34", +"f6 c #444345", +"f7 c #2C2C2D", +"f8 c #333434", +"f9 c #292829", +"fa c #434342", +"fb c #424242", +"fc c #404141", +"fd c #404142", +"fe c #404041", +"ff c #3F3F3F", +"fg c #3F3F40", +"fh c #3F3F41", +"fi c #3F4141", +"fj c #414040", +"fk c #414142", +"fl c #434241", +"fm c #5A5431", +"fn c #7C6E15", +"fo c #867A08", +"fp c #877908", +"fq c #807707", +"fr c #7E7507", +"fs c #7E7205", +"ft c #7D6F06", +"fu c #776906", +"fv c #5D550E", +"fw c #37351E", +"fx c #272627", +"fy c #272827", +"fz c #282929", +"fA c #59585A", +"fB c #555354", +"fC c #555453", +"fD c #72683B", +"fE c #E1D17F", +"fF c #C5B856", +"fG c #9F9551", +"fH c #7F7234", +"fI c #514C39", +"fJ c #282827", +"fK c #3E3C3E", +"fL c #464546", +"fM c #454445", +"fN c #454544", +"fO c #444444", +"fP c #434443", +"fQ c #434445", +"fR c #424442", +"fS c #424143", +"fT c #444343", +"fU c #464545", +"fV c #454645", +"fW c #302E24", +"fX c #443E1B", +"fY c #534D17", +"fZ c #5C5313", +"f& c #544B15", +"g c #44401B", +"g0 c #2A2A24", +"g1 c #272727", +"g2 c #262728", +"g3 c #282727", +"g4 c #282728", +"g5 c #282928", +"g6 c #282A28", +"g7 c #282A29", +"g8 c #5C5B5A", +"g9 c #585A5A", +"ga c #585957", +"gb c #5F5B50", +"gc c #FFCE1F", +"gd c #FEE824", +"ge c #6F6828", +"gf c #272626", +"gg c #4B4C4A", +"gh c #484849", +"gi c #474746", +"gj c #454746", +"gk c #464646", +"gl c #474645", +"gm c #474547", +"gn c #252625", +"go c #272625", +"gp c #262625", +"gq c #262727", +"gr c #282828", +"gs c #272828", +"gt c #2A292A", +"gu c #5B5C5D", +"gv c #5B5A5B", +"gw c #86712B", +"gx c #A2983C", +"gy c #393932", +"gz c #393738", +"gA c #515250", +"gB c #4F4E4E", +"gC c #474647", +"gD c #292A29", +"gE c #353735", +"gF c #4A4949", +"gG c #494948", +"gH c #494A49", +"gI c #484949", +"gJ c #494848", +"gK c #4A4948", +"gL c #494A4A", +"gM c #434244", +"gN c #272729", +"gO c #292828", +"gP c #29292A", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C C D E F E G F H I z J K K L M N O P w Q R R S T", +" U V 5 6 W X Y Z &0 000102030405060708090a0b0c0d0e N y K0f E0g0h0i0j0k0l0m0n0o0p0q0n0r0s0t0p0n0o0s0u0v0w0h0h0h D0x0y0z I0A N0B O", +"0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0e y0z D0U0V0W0W0X0Y0Z0&1 101 1112131415161718191a131b1c131d0&1e1f1g1h1i1j1k1l1m1n1o0l1p H0A", +"1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E z1F1G1H1I0Z1J1K1L1M181b181N1O1P1Q1R1P1S1T1P1U1V1W1X1Y1Z1S1&1X2 202122232425262728292a2b2c0s2d0u0k", +"2e2f2g2h2i k2j2k2l u0e2m2n2o2p2q2r102s2t2u1O2v2w1W2x2y2z2A2B2C2D2E2F2G2H2I2F2J2K2L2F2F2M2D2D2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 0Z0n0s", +"30313233343536 w I371p380n393a3b3c3d3d3e3f3g3h3i3j3k2K3l3m3n3o3o3p3o3q3r3s3o3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R1 ", +"3S3T3U0c3V3W3X3Y3Z0s3&4 1d4041422x434445464748494a4a4b4c4d4e4f4g4h4f4i4j4k4l4m4j4n4f4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J", +"4K4L4M L2n4N4O4P4Q0&154R4S4T4U4V4W4X4Y4Z4&5 504o515253545556575859585a5b5c5d5e5f565g5h545i5j5k5l4v5m5n5o5p5q5r5s5t5u5v5w5x5y5z18", +" Q5A5B5C0k5D5E5F5G5H5I5J5K5L5M5N5O3s5P5Q4m5R5S5T5U5V5W5X5Y5Z5&6 60616263646566665Z5Y6768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s", +"6t z6u0h6v0Y6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O656P6Q6R6S6T6U6V6W6X6Y6Z6W6X6&6&7 6O707172737475767778797a7b7c7d7e7f7g7h7i7j7k", +"7l E7m7n0Y0&137o7p7q7r2E7s7t7u7v7w657x7y5b7z7A7B7C7D7E7F7G7H7G7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c", +"8d1p8e8f0&1K171O2 8g8h3j8i8j8k8l8m8n8o5f8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 9091929394", +"3Y1o6B950&131O969798999a9b9c9d9e9f9g9h9i5Y9j9k9l9m9n9o9p9q9r9s9p9t9u9v9w9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R889S9T919U9V", +"1p0l9W9X1M9Y3c9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagah7Mai7OajakahalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaM92aN", +"aO38aPaQaRaSaTaUaVaWaX2FaYaZa&b b0b1b267b3b4b5b6b76Vb8b9babb6X6X6Wbabcbdbe6Zbbbf6U6&bgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbB", +" F0kbCbDbEbFbG4S2 bHbI2F5gbJbK7wbLbMbNbObPbQ5f5WbRbRbS62bTbU64bUbVbg6&6VbWbXbgbWbY6160bZb&c c0c1c2c3c4c5c6c7c8c9cacbcccdcecfcg4k", +"5Cchcicjck1M19clcmcncocpcqbWcr7Icsb3ctcucvcwcx9h5959aa5d5Wcy6NczcAb55YcBb5b5aacCcz5V5UcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcX", +"0A E0k2qcYcZc&d 3cd0d1d2d35fd4d5cyd64bd7d8d9da4kdbdc8odd6K8ob3bPde5T5gdf5edgdedh5gdddi6GdjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdC", +"dDdE3Y0h0sdFdGdHdIdJdKdLajbc5g2KdMdNdOdPdQdRdSdTdU4c4f4o4e4o4hdVdb4m4md5dWdX6I4k4idb4cdU4ddYdZd&e e0e1e2e3e4e5e6e7e8e9eaebecedee", +"efeg KdE1n1neheiejekelbL4lemeneoepeqereseteuevewex3u3ney3n5PezeAdUdU4beyeBeCeDeEeAeFezeGeH3seIeJeKeLeMeNeOePeQeReSeTeUeVeWedeeeX", +" SeYeY K2n0h0heZe&f f0f1f2f3f4f52 f6f7f83uemf9fafb2I2Kfcfcfdew2Jfefffgfgfh3zfg3nexfiexfj2HaYfkflfmfnfofpfqfrfsftfufvfwedfxeXfyfz", +"fA r Q x LfBfC1ofDfEfFfGfHfI11d 1b4S2KfJ3ofKa&2GfLfMfNfOfPfQfPfRfRfa2Ffa2FfSfb2FfP2C2CfTfO2zfUfUfV3kfWfXfYfZf&g g0g1g2g3g4g5g6g7", +"g81Ag9ga veY2n0Agbgcgdgegfgg0Z0&0&121c66aa1Obag51Sgh1Rgi2x1Y1S1UfLgjfUgi1UgkfVgkglgmgkgi1U961W1T961ObYgngogpgfgqg4grgsg5cqgtala8", +" kgugv1B0a r0d u0zgwgxgygz0VgA0s0p0qgBgCgDexez8ngE1N7o3c7ogFcmgGgH2wghgIghgIghgJ3dgKgGgL2 gF4SgH1b19gMf9gsg4gNgOcqcqg7gPa8anahbc"}; diff --git a/2009-x64/cps4.03/icons/cpscConstrainBorder.xpm b/2009-x64/cps4.03/icons/cpscConstrainBorder.xpm new file mode 100644 index 0000000..9a12c58 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConstrainBorder.xpm @@ -0,0 +1,863 @@ +/* XPM */ +static char *CBORDER_xpm[]={ +"41 24 836 2", +" c #696969", +" 0 c #686868", +" 1 c #686768", +" 2 c #666667", +" 3 c #656566", +" 4 c #646565", +" 5 c #636464", +" 6 c #6D6D6B", +" 7 c #898989", +" 8 c #797973", +" 9 c #605F60", +" a c #6D6E6E", +" b c #636363", +" c c #5E5D5C", +" d c #5C5C5D", +" e c #5C5D5B", +" f c #5B5A5C", +" g c #5B5B5A", +" h c #595B5A", +" i c #585859", +" j c #595959", +" k c #575859", +" l c #575758", +" m c #575757", +" n c #575656", +" o c #575657", +" p c #555656", +" q c #555655", +" r c #565656", +" s c #565655", +" t c #5C5C55", +" u c #5C5B5C", +" v c #5B5B5C", +" w c #5A5A5B", +" x c #5A5B5A", +" y c #5A5A59", +" z c #5A5959", +" A c #646365", +" B c #636362", +" C c #616062", +" D c #606061", +" E c #5F5F60", +" F c #5D5E5E", +" G c #959496", +" H c #FFFFFE", +" I c #E4D86F", +" J c #656A74", +" K c #95979D", +" L c #FFFEFF", +" M c #DBD67A", +" N c #585858", +" O c #767675", +" P c #EFEEF0", +" Q c #D4D1A9", +" R c #555555", +" S c #545456", +" T c #CFCFC8", +" U c #D3D4BC", +" V c #5F5E4F", +" W c #545354", +" X c #6F6F5E", +" Y c #AFAE78", +" Z c #949161", +" & c #535153", +"0 c #525251", +"00 c #525152", +"01 c #505151", +"02 c #525253", +"03 c #515252", +"04 c #515152", +"05 c #535253", +"06 c #545353", +"07 c #5F5E60", +"08 c #5E5E5E", +"09 c #5E5C5E", +"0a c #5B5C5C", +"0b c #5A5A5A", +"0c c #59595A", +"0d c #8C8754", +"0e c #D4B35A", +"0f c #AA872C", +"0g c #7C776F", +"0h c #BFA16F", +"0i c #EBB474", +"0j c #AD8B4F", +"0k c #5D6172", +"0l c #9B9189", +"0m c #FEDEB8", +"0n c #C39C53", +"0o c #414556", +"0p c #5D6072", +"0q c #FEEAC7", +"0r c #F7DBA5", +"0s c #4D5253", +"0t c #444D67", +"0u c #A3A888", +"0v c #FEFF95", +"0w c #CCCA60", +"0x c #4D4C4C", +"0y c #4D4C4D", +"0z c #4D4E4C", +"0A c #4D4D4C", +"0B c #4E4D4E", +"0C c #4D4D4D", +"0D c #4D4D4E", +"0E c #4E4F4E", +"0F c #4F4E4D", +"0G c #4E4F4D", +"0H c #4E504E", +"0I c #504E50", +"0J c #5B5C5B", +"0K c #58595A", +"0L c #595859", +"0M c #565758", +"0N c #555556", +"0O c #545454", +"0P c #54565A", +"0Q c #555857", +"0R c #99885C", +"0S c #BCAE91", +"0T c #9F947B", +"0U c #59564D", +"0V c #A6985B", +"0W c #CABAA0", +"0X c #C2AF86", +"0Y c #706545", +"0Z c #7C6821", +"0& c #7F7562", +"1 c #9A8D75", +"10 c #97762F", +"11 c #AF811F", +"12 c #706547", +"13 c #796D56", +"14 c #AA8538", +"15 c #C6972C", +"16 c #BBAE31", +"17 c #494849", +"18 c #484848", +"19 c #484948", +"1a c #484849", +"1b c #49494A", +"1c c #4A4948", +"1d c #4A494A", +"1e c #494A4B", +"1f c #4B4B4A", +"1g c #4A4B4B", +"1h c #4B4A4C", +"1i c #4B4B4C", +"1j c #4B4B4D", +"1k c #525252", +"1l c #504F50", +"1m c #B1B399", +"1n c #D9DBC5", +"1o c #B8A067", +"1p c #AB9A80", +"1q c #8D847B", +"1r c #646274", +"1s c #817B79", +"1t c #BEAF94", +"1u c #B7AA94", +"1v c #978D85", +"1w c #5F6173", +"1x c #9A8E77", +"1y c #A6967E", +"1z c #A49479", +"1A c #656A81", +"1B c #655C48", +"1C c #7E7159", +"1D c #84755B", +"1E c #837554", +"1F c #4A505A", +"1G c #605E3D", +"1H c #444444", +"1I c #434543", +"1J c #444544", +"1K c #454545", +"1L c #454444", +"1M c #464645", +"1N c #454646", +"1O c #464647", +"1P c #464646", +"1Q c #474848", +"1R c #535252", +"1S c #515250", +"1T c #4F504F", +"1U c #4E4E4E", +"1V c #4C4D4E", +"1W c #4C4C4C", +"1X c #EDE893", +"1Y c #FEE09B", +"1Z c #977F50", +"1& c #666877", +"2 c #3F4062", +"20 c #25274F", +"21 c #343447", +"22 c #8E8B8F", +"23 c #7B747B", +"24 c #212147", +"25 c #272942", +"26 c #8F8676", +"27 c #A49780", +"28 c #3F3E58", +"29 c #25284B", +"2a c #5C5651", +"2b c #85765E", +"2c c #887B5D", +"2d c #DAD589", +"2e c #CACE89", +"2f c #454442", +"2g c #3F4040", +"2h c #40413F", +"2i c #3F4140", +"2j c #413F41", +"2k c #414040", +"2l c #414140", +"2m c #424042", +"2n c #424243", +"2o c #424343", +"2p c #434344", +"2q c #454546", +"2r c #4E4D4F", +"2s c #4B4B4B", +"2t c #474747", +"2u c #78723B", +"2v c #82652E", +"2w c #A79347", +"2x c #83755D", +"2y c #3E3A39", +"2z c #17192C", +"2A c #25232A", +"2B c #6B6355", +"2C c #494449", +"2D c #1A1C37", +"2E c #191A2A", +"2F c #3A3C42", +"2G c #4A4E60", +"2H c #232645", +"2I c #222444", +"2J c #282A38", +"2K c #4E5369", +"2L c #787B7B", +"2M c #FFFF9B", +"2N c #FFFC81", +"2O c #4D4B39", +"2P c #3C3B3C", +"2Q c #3C3B3B", +"2R c #3D3C3C", +"2S c #3C3D3C", +"2T c #3D3D3D", +"2U c #3E3D3E", +"2V c #3F3E3E", +"2W c #404140", +"2X c #414141", +"2Y c #434243", +"2Z c #434442", +"2& c #4C4B4B", +"3 c #4A4A49", +"30 c #494848", +"31 c #54554C", +"32 c #434B65", +"33 c #726751", +"34 c #86785D", +"35 c #8E8064", +"36 c #746F6E", +"37 c #4F4C47", +"38 c #69604D", +"39 c #9C8E73", +"3a c #8E7F68", +"3b c #303345", +"3c c #36302A", +"3d c #756B56", +"3e c #8D7F67", +"3f c #3C3A3F", +"3g c #1A1A20", +"3h c #413B30", +"3i c #776851", +"3j c #78633B", +"3k c #BA862D", +"3l c #ECC527", +"3m c #3E3C37", +"3n c #383738", +"3o c #373937", +"3p c #383838", +"3q c #383A39", +"3r c #393A3A", +"3s c #3B3A3B", +"3t c #3B3B3B", +"3u c #3D3D3C", +"3v c #3D3E3E", +"3w c #403E3E", +"3x c #40403F", +"3y c #494947", +"3z c #464545", +"3A c #434343", +"3B c #60604E", +"3C c #FEFE98", +"3D c #F3DE78", +"3E c #8F7B48", +"3F c #83745A", +"3G c #4E4A5A", +"3H c #3E4061", +"3I c #696054", +"3J c #928368", +"3K c #887C68", +"3L c #726B6A", +"3M c #5A5966", +"3N c #8A7C64", +"3O c #8F8068", +"3P c #8C7D65", +"3Q c #65687C", +"3R c #534B3C", +"3S c #70634C", +"3T c #786B50", +"3U c #73664C", +"3V c #4B5268", +"3W c #57532D", +"3X c #333433", +"3Y c #333233", +"3Z c #343434", +"3& c #343435", +"4 c #353636", +"40 c #363637", +"41 c #373837", +"42 c #393938", +"43 c #39393A", +"44 c #3A3B3B", +"45 c #3B3C3B", +"46 c #3E3D3D", +"47 c #3E3F3F", +"48 c #454747", +"49 c #424443", +"4a c #424141", +"4b c #9A9654", +"4c c #FEEF76", +"4d c #E7BC49", +"4e c #49494C", +"4f c #535567", +"4g c #24274D", +"4h c #25264B", +"4i c #3B3F53", +"4j c #767476", +"4k c #4E4B5F", +"4l c #1E2244", +"4m c #262840", +"4n c #7C7265", +"4o c #877860", +"4p c #424055", +"4q c #2B2F55", +"4r c #4B4444", +"4s c #776951", +"4t c #74664D", +"4u c #ABA369", +"4v c #8C917C", +"4w c #4F4F39", +"4x c #2F2F31", +"4y c #303030", +"4z c #303130", +"4A c #323232", +"4B c #323333", +"4C c #333333", +"4D c #363636", +"4E c #373637", +"4F c #373737", +"4G c #393939", +"4H c #3B3A3A", +"4I c #3C3C3D", +"4J c #444443", +"4K c #424342", +"4L c #424040", +"4M c #3D3D3E", +"4N c #554E3F", +"4O c #7E671C", +"4P c #71633F", +"4Q c #6A5C46", +"4R c #1D1D27", +"4S c #141527", +"4T c #3B3630", +"4U c #534C3C", +"4V c #32313F", +"4W c #1E1F3B", +"4X c #161829", +"4Y c #40424D", +"4Z c #474E62", +"4& c #2B2E55", +"5 c #222648", +"50 c #1F2337", +"51 c #4C5163", +"52 c #5F6170", +"53 c #F2F193", +"54 c #FFFE8B", +"55 c #9B963F", +"56 c #2C2C2C", +"57 c #2E2D2C", +"58 c #2F2D2D", +"59 c #2F2F2E", +"5a c #313132", +"5b c #323332", +"5c c #353534", +"5d c #353735", +"5e c #383739", +"5f c #3B393A", +"5g c #3B3C3C", +"5h c #414242", +"5i c #3F403F", +"5j c #3E3E42", +"5k c #464751", +"5l c #564C36", +"5m c #6F6147", +"5n c #726347", +"5o c #45495A", +"5p c #353025", +"5q c #615640", +"5r c #7A6B52", +"5s c #524A3C", +"5t c #212532", +"5u c #221E1B", +"5v c #605741", +"5w c #6F6048", +"5x c #262327", +"5y c #141422", +"5z c #29231F", +"5A c #574C39", +"5B c #4F4737", +"5C c #EFBC4B", +"5D c #F1CF57", +"5E c #7A7639", +"5F c #4C3F2B", +"5G c #CA9A3D", +"5H c #B09347", +"5I c #897E4F", +"5J c #696345", +"5K c #5D4C34", +"5L c #443930", +"5M c #333434", +"5N c #333535", +"5O c #353537", +"5P c #383737", +"5Q c #3A3839", +"5R c #424241", +"5S c #404040", +"5T c #3F3F3E", +"5U c #C7C863", +"5V c #E0E270", +"5W c #AF953C", +"5X c #6A5D41", +"5Y c #665947", +"5Z c #574E4B", +"5& c #3F435C", +"6 c #675B42", +"60 c #736349", +"61 c #74654C", +"62 c #65605F", +"63 c #403C3B", +"64 c #5F543F", +"65 c #6E6248", +"66 c #72644C", +"67 c #545359", +"68 c #2C2B24", +"69 c #423B2B", +"6a c #685A42", +"6b c #695A41", +"6c c #5C5542", +"6d c #605827", +"6e c #433F26", +"6f c #2A292A", +"6g c #FFC046", +"6h c #FFEC75", +"6i c #FEFFA6", +"6j c #FFFFB2", +"6k c #FEEB7F", +"6l c #FFB951", +"6m c #F39235", +"6n c #7A4A20", +"6o c #363536", +"6p c #383939", +"6q c #414241", +"6r c #5D5C45", +"6s c #FEFE6B", +"6t c #FEF068", +"6u c #917A53", +"6v c #626772", +"6w c #484A63", +"6x c #202144", +"6y c #222442", +"6z c #5C544C", +"6A c #403E51", +"6B c #2F3053", +"6C c #39363E", +"6D c #6F6046", +"6E c #716348", +"6F c #60554C", +"6G c #4A4E6C", +"6H c #4D453D", +"6I c #65593F", +"6J c #685A41", +"6K c #67593E", +"6L c #56596F", +"6M c #25272B", +"6N c #292A2A", +"6O c #2B2A2A", +"6P c #C99D43", +"6Q c #FEE36E", +"6R c #FEFC95", +"6S c #FFF28E", +"6T c #FED167", +"6U c #FEAA46", +"6V c #AF601F", +"6W c #3F3326", +"6X c #373636", +"6Y c #3A3A3A", +"6Z c #434142", +"6& c #3F3F3F", +"7 c #796E2D", +"70 c #9D7427", +"71 c #8D7428", +"72 c #504631", +"73 c #32303D", +"74 c #212341", +"75 c #1A1A2F", +"76 c #3C3E48", +"77 c #4C5266", +"78 c #2B3056", +"79 c #232649", +"7a c #212339", +"7b c #5C5F71", +"7c c #65666E", +"7d c #2C2E50", +"7e c #212447", +"7f c #2D2B39", +"7g c #64563E", +"7h c #675940", +"7i c #B2AB60", +"7j c #D4D579", +"7k c #939353", +"7l c #2C2C2D", +"7m c #2C2D2D", +"7n c #B67D34", +"7o c #FEC254", +"7p c #FECF63", +"7q c #FEC35B", +"7r c #FFAB47", +"7s c #B1601F", +"7t c #3E3327", +"7u c #363435", +"7v c #383637", +"7w c #3B3B3A", +"7x c #424142", +"7y c #333B51", +"7z c #393427", +"7A c #625238", +"7B c #67573C", +"7C c #574B34", +"7D c #222734", +"7E c #2C2720", +"7F c #60523B", +"7G c #64563C", +"7H c #272226", +"7I c #171A2C", +"7J c #1A181C", +"7K c #42392C", +"7L c #38342C", +"7M c #232746", +"7N c #242549", +"7O c #1C1D2A", +"7P c #3B4057", +"7Q c #42475D", +"7R c #D7D97E", +"7S c #FFFF78", +"7T c #D0CE5B", +"7U c #2F2E30", +"7V c #2F2F2F", +"7W c #77542E", +"7X c #FFA53C", +"7Y c #FFA640", +"7Z c #FE9E3C", +"7& c #EF7A28", +"8 c #F17B27", +"80 c #674731", +"81 c #353536", +"82 c #434444", +"83 c #615F47", +"84 c #70724D", +"85 c #4F5255", +"86 c #584A34", +"87 c #645539", +"88 c #65553A", +"89 c #595351", +"8a c #413D3C", +"8b c #504630", +"8c c #66573E", +"8d c #474445", +"8e c #332F2A", +"8f c #363023", +"8g c #60533B", +"8h c #64543D", +"8i c #3E3A3B", +"8j c #181920", +"8k c #27241C", +"8l c #4E4430", +"8m c #554934", +"8n c #C79F38", +"8o c #D5BA4B", +"8p c #BFAE3A", +"8q c #323132", +"8r c #313232", +"8s c #4C3C31", +"8t c #FE902C", +"8u c #FE8C2D", +"8v c #C6681F", +"8w c #DA6A21", +"8x c #FE8328", +"8y c #FE8428", +"8z c #CA6928", +"8A c #4E3E36", +"8B c #3A3938", +"8C c #3B3A3C", +"8D c #3B3B3C", +"8E c #D6D558", +"8F c #FEFE5F", +"8G c #F3CC37", +"8H c #826F38", +"8I c #D9D45D", +"8J c #BABC65", +"8K c #846D38", +"8L c #64543B", +"8M c #65573D", +"8N c #6A5D40", +"8O c #4A5069", +"8P c #544835", +"8Q c #594D36", +"8R c #64573E", +"8S c #68583F", +"8T c #53566C", +"8U c #36322A", +"8V c #393223", +"8W c #5E5139", +"8X c #564A37", +"8Y c #393A39", +"8Z c #544D31", +"8& c #343535", +"9 c #ED7927", +"90 c #C2621A", +"91 c #403326", +"92 c #503D32", +"93 c #F77321", +"94 c #FF7E27", +"95 c #FF7E25", +"96 c #F07625", +"97 c #8F542C", +"98 c #403C3A", +"99 c #3C3C3C", +"9a c #3E3E3D", +"9b c #3D3E3F", +"9c c #585646", +"9d c #F2EE4E", +"9e c #FEF64E", +"9f c #CDA537", +"9g c #41485C", +"9h c #848E7F", +"9i c #FFFF65", +"9j c #FFF462", +"9k c #AF8E4A", +"9l c #747068", +"9m c #867F57", +"9n c #F9F96E", +"9o c #EBED6D", +"9p c #947532", +"9q c #66563F", +"9r c #66573F", +"9s c #8D804B", +"9t c #606773", +"9u c #574C35", +"9v c #564A35", +"9w c #605239", +"9x c #63543C", +"9y c #605D63", +"9z c #2F3545", +"9A c #383938", +"9B c #393839", +"9C c #794622", +"9D c #473828", +"9E c #262626", +"9F c #60412B", +"9G c #F67220", +"9H c #FE7A24", +"9I c #FF7923", +"9J c #FF7821", +"9K c #D66924", +"9L c #654934", +"9M c #403F40", +"9N c #3F3F40", +"9O c #535145", +"9P c #857935", +"9Q c #9C8C32", +"9R c #7D7A45", +"9S c #F2E23E", +"9T c #FFE738", +"9U c #9F8B2B", +"9V c #333646", +"9W c #959A60", +"9X c #FFFE6A", +"9Y c #FEEE63", +"9Z c #67584B", +"9& c #656A7C", +"a c #757570", +"a0 c #FEFF6F", +"a1 c #FEFE6E", +"a2 c #B89339", +"a3 c #63533B", +"a4 c #93894A", +"a5 c #A3A56F", +"a6 c #6C6C45", +"a7 c #3C3C3B", +"a8 c #313333", +"a9 c #1F1F20", +"aa c #212223", +"ab c #7B431F", +"ac c #F8711F", +"ad c #FC7521", +"ae c #FF7521", +"af c #FD7421", +"ag c #F9711E", +"ah c #9D562C", +"ai c #414243", +"aj c #4C4C4B", +"ak c #4A4A4B", +"al c #4A4949", +"am c #474948", +"an c #474647", +"ao c #464746", +"ap c #464445", +"aq c #575140", +"ar c #555140", +"as c #444244", +"at c #6C653C", +"au c #D0BB35", +"av c #EED12C", +"aw c #7F7335", +"ax c #37393B", +"ay c #717147", +"az c #FEFF69", +"aA c #FEFF6A", +"aB c #7C6940", +"aC c #485170", +"aD c #59617F", +"aE c #C7C96B", +"aF c #FEF650", +"aG c #4A473D", +"aH c #3E3F3E", +"aI c #232323", +"aJ c #202020", +"aK c #20201F", +"aL c #9F4F1A", +"aM c #EF6D1C", +"aN c #F5711E", +"aO c #F7711E", +"aP c #F6711E", +"aQ c #914C18", +"aR c #464340", +"aS c #4B4D4D", +"aT c #4B4C4B", +"aU c #4B4A4A", +"aV c #484A49", +"aW c #484847", +"aX c #464747", +"aY c #454544", +"aZ c #454445", +"a& c #444345", +"b c #4F4D41", +"b0 c #A8952F", +"b1 c #CAB330", +"b2 c #7D7136", +"b3 c #414142", +"b4 c #3E3F41", +"b5 c #D3D155", +"b6 c #FEFD5D", +"b7 c #F4E94A", +"b8 c #434143", +"b9 c #424242", +"ba c #323231", +"bb c #212121", +"bc c #212221", +"bd c #2A2522", +"be c #B75819", +"bf c #E8691B", +"bg c #ED6D1B", +"bh c #A0531C", +"bi c #47433D", +"bj c #4F5050", +"bk c #4F4F4F", +"bl c #4D4F4E", +"bm c #4C4A4B", +"bn c #494949", +"bo c #454647", +"bp c #474746", +"bq c #454645", +"br c #444545", +"bs c #7A6D36", +"bt c #A38E2F", +"bu c #A29132", +"bv c #444445", +"bw c #444446", +"bx c #444645", +"by c #444644", +"bz c #242524", +"bA c #242422", +"bB c #242323", +"bC c #382B21", +"bD c #D06019", +"bE c #884717", +"bF c #47423B", +"bG c #474849", +"bH c #49484A", +"bI c #515151", +"bJ c #515051", +"bK c #504F4F", +"bL c #4C4C4D", +"bM c #4D4B4B", +"bN c #494A49", +"bO c #4A4848", +"bP c #48494A", +"bQ c #494748", +"bR c #474748", +"bS c #494847", +"bT c #484747", +"bU c #484748", +"bV c #484947", +"bW c #2B292A", +"bX c #252524", +"bY c #242525", +"bZ c #242625", +"b& c #3D2D20", +"c c #2E2822", +"c0 c #313031", +"c1 c #454443", +"c2 c #4A4A4A", +" 0 1 2 3 4 5 6 7 8 9 4 a b c d e f g h i i j k l l m n o p q r s t u v w x y z k", +" A b B C D E F G H I J K L M N O P Q R S T U V W X Y Z &0 0 000 0102030 040 050506", +"0708090a0b0c j0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0y0z0A0A0B0C0D0E0F0G0H0I", +"0J0K0L0M q0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 10111213141516171818191a1b1c1d1e1f1g1h1i1j", +"0N s0O1k031l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1K1M1K1N1O1P181Q18", +"1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2n2p1J2q1M", +"2r0C2s1e1a2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2R2S2T2U2V2g2W2X2X2Y2Z", +"2&3 302t1K3132333435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3n3o3p3q3r3s3t3u2T3v3w3x2k", +"3y2t3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 40413n424344452P4647", +"481I494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C3Z4D4E4F3n4G4H2P4I", +"4J4K4L474M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758594y5a5b4C5c5d4F5e3q5f5g", +"2o5h5i2U5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L4B5M5N5O4E5P5Q3t", +"5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n5N6o4D3n6p4G", +"6q2k6r6s6t6u6v6w6x6y6z3S6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W3Z4D6X3p3p6Y", +"6Z2W6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t5M7u4D7v5P3r7w", +"2n7x5S7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 8081405P423r3t45", +"82838485868788898a8b6K8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B4H8C8D4I", +"2q8E8F8G8H878I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W7G8X8Y8Z5c8&4D9 909192939495969798999a9b", +"9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A5e9A9B9C9D9E579F9G9H9I9J9K9L9M9N", +"199O9P9Q1K9R9S9T9U9V9W9X9Y9Z9&a a0a1a27Fa3a4a5a65g7w3t442Ra7a8a9aaabacadaeafagahai", +"ajakalamanaoapaqarasatauavawaxayazaAaBaCaDaE9iaFaGaHaH5T5T9N3taIaJaKaLaMaNaOaPaQaR", +"1UaSaTaU1eaVaW1QaX1N1PaYaZa&3Ab b0b1b2b3b4b5b6b77x5Rb86q6Zb3b9babbbcbdbebfbgbhbi2t", +"bjbkbl0C0x0xbmakalbn1818am1Qaobo1Pbpbq1PbrbsbtbuaZbvbvaZbwbxby9bbzbAbBbCbDbEbFbGbH", +"02bIbJbK1l1T0B0BbL0CbM1iaUbNaU1dbObPbnbn1a17bQbRbSbTaWbU1abV1982bWbXbYbZb&c c0c1c2"}; diff --git a/2009-x64/cps4.03/icons/cpscConstrainInside.xpm b/2009-x64/cps4.03/icons/cpscConstrainInside.xpm new file mode 100644 index 0000000..a3cb7ad --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConstrainInside.xpm @@ -0,0 +1,858 @@ +/* XPM */ +static char *CINSIDE_xpm[]={ +"41 24 831 2", +" c #696969", +" 0 c #686868", +" 1 c #686768", +" 2 c #666667", +" 3 c #656566", +" 4 c #646565", +" 5 c #636464", +" 6 c #606162", +" 7 c #565661", +" 8 c #595A61", +" 9 c #605F60", +" a c #5E5F60", +" b c #5A5B5F", +" c c #5D5D5E", +" d c #5E5D5C", +" e c #5C5C5D", +" f c #5C5D5B", +" g c #5B5A5C", +" h c #5B5B5A", +" i c #595B5A", +" j c #585859", +" k c #595959", +" l c #575859", +" m c #575758", +" n c #575757", +" o c #575656", +" p c #575657", +" q c #555656", +" r c #555655", +" s c #565656", +" t c #565655", +" u c #5C5C55", +" v c #646365", +" w c #636363", +" x c #636362", +" y c #616062", +" z c #606061", +" A c #5F5F60", +" B c #5D5E5E", +" C c #4E4E5E", +" D c #272A51", +" E c #282B46", +" F c #5E6375", +" G c #4D5065", +" H c #25264F", +" I c #2E2F48", +" J c #585858", +" K c #4F4F57", +" L c #2A2B50", +" M c #32334E", +" N c #555555", +" O c #545456", +" P c #373855", +" Q c #353856", +" R c #505150", +" S c #545354", +" T c #4E4F54", +" U c #3D3D53", +" V c #444352", +" W c #535153", +" X c #525251", +" Y c #525152", +" Z c #505151", +" & c #525253", +"0 c #515252", +"00 c #515152", +"01 c #535253", +"02 c #545353", +"03 c #5F5E60", +"04 c #5E5E5E", +"05 c #5E5C5E", +"06 c #5B5C5C", +"07 c #5A5A5A", +"08 c #59595A", +"09 c #46454D", +"0a c #1B1D36", +"0b c #21212E", +"0c c #7C776F", +"0d c #55545D", +"0e c #1D1F39", +"0f c #292B3F", +"0g c #5E6272", +"0h c #4A4E67", +"0i c #202243", +"0j c #181A31", +"0k c #414556", +"0l c #4B5169", +"0m c #24264A", +"0n c #212545", +"0o c #373D54", +"0p c #444D67", +"0q c #3A4163", +"0r c #212448", +"0s c #2D3047", +"0t c #4D4C4C", +"0u c #4D4C4D", +"0v c #4D4E4C", +"0w c #4D4D4C", +"0x c #4E4D4E", +"0y c #4D4D4D", +"0z c #4D4D4E", +"0A c #4E4F4E", +"0B c #4F4E4D", +"0C c #4E4F4D", +"0D c #4E504E", +"0E c #504E50", +"0F c #5B5C5B", +"0G c #58595A", +"0H c #595859", +"0I c #565758", +"0J c #555556", +"0K c #545454", +"0L c #54565A", +"0M c #454A58", +"0N c #786D5E", +"0O c #BDAE91", +"0P c #988E7C", +"0Q c #393C4E", +"0R c #70695E", +"0S c #C9B9A0", +"0T c #A69987", +"0U c #2B3045", +"0V c #262425", +"0W c #7F7562", +"0X c #9A8D75", +"0Y c #232432", +"0Z c #141624", +"0& c #645A47", +"1 c #796D56", +"10 c #443E3C", +"11 c #15172A", +"12 c #292836", +"13 c #494849", +"14 c #484848", +"15 c #484948", +"16 c #484849", +"17 c #49494A", +"18 c #4A4948", +"19 c #4A494A", +"1a c #494A4B", +"1b c #4B4B4A", +"1c c #4A4B4B", +"1d c #4B4A4C", +"1e c #4B4B4C", +"1f c #4B4B4D", +"1g c #525252", +"1h c #504F50", +"1i c #3C3F57", +"1j c #313659", +"1k c #625B5C", +"1l c #AB9A80", +"1m c #C7BDA8", +"1n c #D5D2CF", +"1o c #AEA490", +"1p c #BEAE94", +"1q c #C4B79E", +"1r c #CBC0AF", +"1s c #868791", +"1t c #978C75", +"1u c #A6967E", +"1v c #A49479", +"1w c #646A81", +"1x c #615948", +"1y c #7F7259", +"1z c #84755B", +"1A c #746854", +"1B c #36405B", +"1C c #3C3D3F", +"1D c #444444", +"1E c #434543", +"1F c #444544", +"1G c #454545", +"1H c #454444", +"1I c #464645", +"1J c #454646", +"1K c #464647", +"1L c #464646", +"1M c #474848", +"1N c #535252", +"1O c #515250", +"1P c #4F504F", +"1Q c #4E4E4E", +"1R c #4C4D4E", +"1S c #4C4C4C", +"1T c #282A4B", +"1U c #232747", +"1V c #30344C", +"1W c #656877", +"1X c #E4E3E5", +"1Y c #FEFEFD", +"1Z c #B89353", +"1& c #8D8A8F", +"2 c #C3BCB5", +"20 c #FFFEFF", +"21 c #EFD19D", +"22 c #908774", +"23 c #A49780", +"24 c #EEEAD8", +"25 c #F6F8DA", +"26 c #A49067", +"27 c #85765E", +"28 c #7B6E58", +"29 c #413D52", +"2a c #31375B", +"2b c #3F3E40", +"2c c #3F4040", +"2d c #40413F", +"2e c #3F4140", +"2f c #413F41", +"2g c #414040", +"2h c #414140", +"2i c #424042", +"2j c #424243", +"2k c #424343", +"2l c #434344", +"2m c #454546", +"2n c #4E4D4F", +"2o c #4B4B4B", +"2p c #474747", +"2q c #34363E", +"2r c #20212D", +"2s c #5F564B", +"2t c #83755D", +"2u c #A27B3C", +"2v c #B27C37", +"2w c #8E7426", +"2x c #6B6455", +"2y c #A9875C", +"2z c #E1B379", +"2A c #BA943F", +"2B c #3B3C42", +"2C c #515360", +"2D c #F7DDAD", +"2E c #FEE0A4", +"2F c #68553D", +"2G c #505469", +"2H c #4A4F6B", +"2I c #24274A", +"2J c #232447", +"2K c #373639", +"2L c #3C3B3C", +"2M c #3C3B3B", +"2N c #3D3C3C", +"2O c #3C3D3C", +"2P c #3D3D3D", +"2Q c #3E3D3E", +"2R c #3F3E3E", +"2S c #404140", +"2T c #414141", +"2U c #434243", +"2V c #434442", +"2W c #4C4B4B", +"2X c #4A4A49", +"2Y c #494848", +"2Z c #424247", +"2& c #454C65", +"3 c #726751", +"30 c #86785D", +"31 c #8E8064", +"32 c #736F6E", +"33 c #585447", +"34 c #73694C", +"35 c #9C8D73", +"36 c #948568", +"37 c #474645", +"38 c #665927", +"39 c #756B56", +"3a c #8C7D66", +"3b c #8E783D", +"3c c #75581E", +"3d c #62582F", +"3e c #776851", +"3f c #564C3C", +"3g c #181A29", +"3h c #151527", +"3i c #373637", +"3j c #383738", +"3k c #373937", +"3l c #383838", +"3m c #383A39", +"3n c #393A3A", +"3o c #3B3A3B", +"3p c #3B3B3B", +"3q c #3D3D3C", +"3r c #3D3E3E", +"3s c #403E3E", +"3t c #40403F", +"3u c #494947", +"3v c #464545", +"3w c #434343", +"3x c #404045", +"3y c #24264E", +"3z c #2A2C4E", +"3A c #685C4A", +"3B c #83745A", +"3C c #D2CC9C", +"3D c #C3C3AA", +"3E c #8C7A57", +"3F c #928368", +"3G c #A19578", +"3H c #A7A08E", +"3I c #837F7A", +"3J c #8B7C64", +"3K c #8F8068", +"3L c #8C7D65", +"3M c #65687C", +"3N c #524A3C", +"3O c #70634C", +"3P c #796B50", +"3Q c #73664C", +"3R c #484F69", +"3S c #2A2C30", +"3T c #333433", +"3U c #333233", +"3V c #343434", +"3W c #343435", +"3X c #353636", +"3Y c #363637", +"3Z c #373837", +"3& c #393938", +"4 c #39393A", +"40 c #3A3B3B", +"41 c #3B3C3B", +"42 c #3E3D3D", +"43 c #3E3F3F", +"44 c #454747", +"45 c #424443", +"46 c #424141", +"47 c #363747", +"48 c #222547", +"49 c #1C1D36", +"4a c #35394C", +"4b c #717473", +"4c c #FEFEB5", +"4d c #FFEB9F", +"4e c #957F53", +"4f c #767476", +"4g c #CDC8AA", +"4h c #FEFFD7", +"4i c #EBC872", +"4j c #807565", +"4k c #877860", +"4l c #DCD6A6", +"4m c #E2E4B7", +"4n c #A48D5C", +"4o c #776951", +"4p c #74664D", +"4q c #574F4F", +"4r c #3C4265", +"4s c #2E2F34", +"4t c #2F2F31", +"4u c #303030", +"4v c #303130", +"4w c #323232", +"4x c #323333", +"4y c #333333", +"4z c #363636", +"4A c #373737", +"4B c #393939", +"4C c #3B3A3A", +"4D c #3C3C3D", +"4E c #444443", +"4F c #424342", +"4G c #424040", +"4H c #3D3D3E", +"4I c #252B3E", +"4J c #201E1D", +"4K c #615540", +"4L c #796546", +"4M c #A8762D", +"4N c #C99031", +"4O c #6D6439", +"4P c #534B3B", +"4Q c #C8A363", +"4R c #F9CF82", +"4S c #B39045", +"4T c #41424D", +"4U c #454D62", +"4V c #F6EDB1", +"4W c #FEFFB0", +"4X c #7D6242", +"4Y c #4D5163", +"4Z c #5D6070", +"4& c #2D2E52", +"5 c #202244", +"50 c #232634", +"51 c #2C2C2C", +"52 c #2E2D2C", +"53 c #2F2D2D", +"54 c #2F2F2E", +"55 c #313132", +"56 c #323332", +"57 c #353534", +"58 c #353735", +"59 c #383739", +"5a c #3B393A", +"5b c #3B3C3C", +"5c c #414242", +"5d c #3F403F", +"5e c #3E3E42", +"5f c #464751", +"5g c #564C36", +"5h c #6F6147", +"5i c #726347", +"5j c #46495A", +"5k c #393325", +"5l c #615640", +"5m c #7A6B52", +"5n c #61563B", +"5o c #3C3B31", +"5p c #5F521D", +"5q c #605641", +"5r c #706149", +"5s c #9E6E24", +"5t c #A3732A", +"5u c #6B5A25", +"5v c #574C3A", +"5w c #4F4737", +"5x c #1F2038", +"5y c #1C1E39", +"5z c #232329", +"5A c #4C3F2B", +"5B c #CA9A3D", +"5C c #B09347", +"5D c #897E4F", +"5E c #696345", +"5F c #5D4C34", +"5G c #443930", +"5H c #333434", +"5I c #333535", +"5J c #353537", +"5K c #383737", +"5L c #3A3839", +"5M c #424241", +"5N c #404040", +"5O c #3F3F3E", +"5P c #2F314E", +"5Q c #2C3052", +"5R c #3C373D", +"5S c #6A5D41", +"5T c #7F724C", +"5U c #A69C5F", +"5V c #656965", +"5W c #675B42", +"5X c #726349", +"5Y c #74654C", +"5Z c #65605F", +"5& c #403C3B", +"6 c #5E543E", +"60 c #6E6248", +"61 c #72644C", +"62 c #555359", +"63 c #2B2A24", +"64 c #463E2A", +"65 c #685A42", +"66 c #695A41", +"67 c #444143", +"68 c #191D2A", +"69 c #252627", +"6a c #2A292A", +"6b c #FFC046", +"6c c #FFEC75", +"6d c #FEFFA6", +"6e c #FFFFB2", +"6f c #FEEB7F", +"6g c #FFB951", +"6h c #F39235", +"6i c #7A4A20", +"6j c #363536", +"6k c #383939", +"6l c #414241", +"6m c #3D3D44", +"6n c #26294E", +"6o c #26284E", +"6p c #292D4B", +"6q c #596073", +"6r c #BEBF7C", +"6s c #FFFF85", +"6t c #F6D861", +"6u c #7E704B", +"6v c #D1CE7F", +"6w c #E6E593", +"6x c #B8A852", +"6y c #6F6046", +"6z c #716348", +"6A c #94885C", +"6B c #7F827D", +"6C c #675F44", +"6D c #65593F", +"6E c #685A41", +"6F c #67593E", +"6G c #57596F", +"6H c #25272B", +"6I c #292A2A", +"6J c #2B2A2A", +"6K c #C99D43", +"6L c #FEE36E", +"6M c #FEFC95", +"6N c #FFF28E", +"6O c #FED167", +"6P c #FEAA46", +"6Q c #AF601F", +"6R c #3F3326", +"6S c #373636", +"6T c #3A3A3A", +"6U c #434142", +"6V c #3F3F3F", +"6W c #24262F", +"6X c #1A1B25", +"6Y c #38302C", +"6Z c #4F4531", +"6& c #BFA34B", +"7 c #E8C95C", +"70 c #D09C2E", +"71 c #454548", +"72 c #565D68", +"73 c #F6F991", +"74 c #FEFF90", +"75 c #A38341", +"76 c #5B5F71", +"77 c #65666E", +"78 c #F2F291", +"79 c #FEFF91", +"7a c #C1AD52", +"7b c #64563E", +"7c c #675940", +"7d c #48434B", +"7e c #323456", +"7f c #2A2C43", +"7g c #2C2C2D", +"7h c #2C2D2D", +"7i c #B67D34", +"7j c #FEC254", +"7k c #FECF63", +"7l c #FEC35B", +"7m c #FFAB47", +"7n c #B1601F", +"7o c #3E3327", +"7p c #363435", +"7q c #383637", +"7r c #3B3B3A", +"7s c #424142", +"7t c #333B51", +"7u c #393427", +"7v c #615137", +"7w c #67573C", +"7x c #584C35", +"7y c #2B2E34", +"7z c #5B4D1C", +"7A c #5F513A", +"7B c #64563D", +"7C c #A27A2B", +"7D c #AB803C", +"7E c #7F6418", +"7F c #41392C", +"7G c #463F2E", +"7H c #FEE671", +"7I c #FEF27D", +"7J c #735C30", +"7K c #3B4057", +"7L c #41465D", +"7M c #2F335B", +"7N c #1E2041", +"7O c #242740", +"7P c #2F2E30", +"7Q c #2F2F2F", +"7R c #77542E", +"7S c #FFA53C", +"7T c #FFA640", +"7U c #FE9E3C", +"7V c #EF7A28", +"7W c #F17B27", +"7X c #674731", +"7Y c #353536", +"7Z c #434444", +"7& c #404046", +"8 c #3C3E4A", +"80 c #3B4155", +"81 c #584A34", +"82 c #645539", +"83 c #65553A", +"84 c #595351", +"85 c #423E3C", +"86 c #4F4530", +"87 c #66573E", +"88 c #474445", +"89 c #34302A", +"8a c #373123", +"8b c #5E523A", +"8c c #64553E", +"8d c #69583B", +"8e c #644B20", +"8f c #56491A", +"8g c #4E442F", +"8h c #554934", +"8i c #252430", +"8j c #1B1D37", +"8k c #202130", +"8l c #323132", +"8m c #313232", +"8n c #4C3C31", +"8o c #FE902C", +"8p c #FE8C2D", +"8q c #C6681F", +"8r c #DA6A21", +"8s c #FE8328", +"8t c #FE8428", +"8u c #CA6928", +"8v c #4E3E36", +"8w c #3A3938", +"8x c #3B3A3C", +"8y c #3B3B3C", +"8z c #2E2F4E", +"8A c #22244A", +"8B c #21213B", +"8C c #54493C", +"8D c #3B3851", +"8E c #363958", +"8F c #4C433A", +"8G c #64543B", +"8H c #65573D", +"8I c #64573F", +"8J c #494F69", +"8K c #544835", +"8L c #594D36", +"8M c #64573E", +"8N c #68583F", +"8O c #53566C", +"8P c #36322A", +"8Q c #3A3323", +"8R c #5F523A", +"8S c #63553B", +"8T c #4A4137", +"8U c #222739", +"8V c #2F2F32", +"8W c #343535", +"8X c #ED7927", +"8Y c #C2621A", +"8Z c #403326", +"8& c #503D32", +"9 c #F77321", +"90 c #FF7E27", +"91 c #FF7E25", +"92 c #F07625", +"93 c #8F542C", +"94 c #403C3A", +"95 c #3C3C3C", +"96 c #3E3E3D", +"97 c #3D3E3F", +"98 c #434447", +"99 c #272B4B", +"9a c #191C33", +"9b c #3A425C", +"9c c #48547C", +"9d c #202346", +"9e c #242649", +"9f c #33364C", +"9g c #716D69", +"9h c #605953", +"9i c #282A4E", +"9j c #2A2E52", +"9k c #453C34", +"9l c #66563F", +"9m c #66573F", +"9n c #594D45", +"9o c #454D70", +"9p c #514635", +"9q c #564A35", +"9r c #605239", +"9s c #63543C", +"9t c #605D63", +"9u c #2F3545", +"9v c #383938", +"9w c #393839", +"9x c #794622", +"9y c #473828", +"9z c #262626", +"9A c #60412B", +"9B c #F67220", +"9C c #FE7A24", +"9D c #FF7923", +"9E c #FF7821", +"9F c #D66924", +"9G c #654934", +"9H c #403F40", +"9I c #3F3F40", +"9J c #444446", +"9K c #323437", +"9L c #2F2F38", +"9M c #3A3B45", +"9N c #1D2038", +"9O c #1E1F3B", +"9P c #212131", +"9Q c #333646", +"9R c #323957", +"9S c #202144", +"9T c #222346", +"9U c #2C3148", +"9V c #656B7C", +"9W c #68686F", +"9X c #24274B", +"9Y c #24254A", +"9Z c #332D36", +"9& c #60523B", +"a c #63533B", +"a0 c #534945", +"a1 c #464966", +"a2 c #303242", +"a3 c #3C3C3B", +"a4 c #313333", +"a5 c #1F1F20", +"a6 c #212223", +"a7 c #7B431F", +"a8 c #F8711F", +"a9 c #FC7521", +"aa c #FF7521", +"ab c #FD7421", +"ac c #F9711E", +"ad c #9D562C", +"ae c #414243", +"af c #4C4C4B", +"ag c #4A4A4B", +"ah c #4A4949", +"ai c #474948", +"aj c #474647", +"ak c #464746", +"al c #464445", +"am c #403E41", +"an c #403F41", +"ao c #444244", +"ap c #39393D", +"aq c #222232", +"ar c #1C1C2F", +"as c #2F3039", +"at c #37393B", +"au c #2F3143", +"av c #23274A", +"aw c #23273E", +"ax c #4A5270", +"ay c #59617F", +"az c #3B3D5C", +"aA c #1E1F41", +"aB c #212443", +"aC c #3B3B3E", +"aD c #3E3F3E", +"aE c #232323", +"aF c #202020", +"aG c #20201F", +"aH c #9F4F1A", +"aI c #EF6D1C", +"aJ c #F5711E", +"aK c #F7711E", +"aL c #F6711E", +"aM c #914C18", +"aN c #464340", +"aO c #4B4D4D", +"aP c #4B4C4B", +"aQ c #4B4A4A", +"aR c #484A49", +"aS c #484847", +"aT c #464747", +"aU c #454544", +"aV c #454445", +"aW c #444345", +"aX c #404042", +"aY c #292930", +"aZ c #222231", +"a& c #33353A", +"b c #414142", +"b0 c #3E3F41", +"b1 c #2C2F4B", +"b2 c #222446", +"b3 c #242642", +"b4 c #434143", +"b5 c #424242", +"b6 c #323231", +"b7 c #212121", +"b8 c #212221", +"b9 c #2A2522", +"ba c #B75819", +"bb c #E8691B", +"bc c #ED6D1B", +"bd c #A0531C", +"be c #47433D", +"bf c #4F5050", +"bg c #4F4F4F", +"bh c #4D4F4E", +"bi c #4C4A4B", +"bj c #494949", +"bk c #454647", +"bl c #474746", +"bm c #454645", +"bn c #444545", +"bo c #353639", +"bp c #2A2A31", +"bq c #2B2C35", +"br c #444445", +"bs c #444645", +"bt c #444644", +"bu c #242524", +"bv c #242422", +"bw c #242323", +"bx c #382B21", +"by c #D06019", +"bz c #884717", +"bA c #47423B", +"bB c #474849", +"bC c #49484A", +"bD c #515151", +"bE c #515051", +"bF c #504F4F", +"bG c #4C4C4D", +"bH c #4D4B4B", +"bI c #494A49", +"bJ c #4A4848", +"bK c #48494A", +"bL c #494748", +"bM c #474748", +"bN c #494847", +"bO c #484747", +"bP c #484748", +"bQ c #484947", +"bR c #2B292A", +"bS c #252524", +"bT c #242525", +"bU c #242625", +"bV c #3D2D20", +"bW c #2E2822", +"bX c #313031", +"bY c #454443", +"bZ c #4A4A4A", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j j k l m m n o p q r s t u f g h i j j k", +" v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X X Y X Z &0 X00 X010102", +"030405060708 k090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0u0v0w0w0x0y0z0A0B0C0D0E", +"0F0G0H0I r0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 10111213141415161718191a1b1c1d1e1f", +"0J t0K1g0 1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1G1I1G1J1K1L141M14", +"1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j2k2j2l1F2m1I", +"2n0y2o1a162p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2N2O2P2Q2R2c2S2T2T2U2V", +"2W2X2Y2p1G2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3j3k3l3m3n3o3p3q2P3r3s3t2g", +"3u2p3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3j3&4 40412L4243", +"441E45464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y3V4z3i4A3j4B4C2L4D", +"4E4F4G434H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 50515253544u55564y57584A593m5a5b", +"2k5c5d2Q5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G4x5H5I5J3i5K5L3p", +"5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f6g6h6i5I6j4z3j6k4B", +"6l2g6m6n6o6p6q6r6s6t6u3O6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R3V4z6S3l3l6T", +"6U2S6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o5H7p4z7q5K3n7r", +"2j7s5N7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y3Y5K3&3n3p41", +"7Z7&8 808182838485866F8788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w4C8x8y4D", +"2m8z8A8B8C828D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V578W4z8X8Y8Z8&9 9091929394959697", +"98990m9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v599v9w9x9y9z529A9B9C9D9E9F9G9H9I", +"159J9K9L1G9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a25b7r3p402Na3a4a5a6a7a8a9aaabacadae", +"afagahaiajakalamanaoapaqarasatauav9XawaxayazaAaBaCaDaD5O5O9I3paEaFaGaHaIaJaKaLaMaN", +"1QaOaPaQ1aaRaS1MaT1J1LaUaVaW3waXaYaZa&b b0b1b2b37s5Mb46l6Ub b5b6b7b8b9babbbcbdbe2p", +"bfbgbh0y0t0tbiagahbj1414ai1Makbk1Lblbm1LbnbobpbqaVbrbraV9Jbsbt97bubvbwbxbybzbAbBbC", +" &bDbEbF1h1P0x0xbG0ybH1eaQbIaQ19bJbKbjbj1613bLbMbNbOaSbP16bQ157ZbRbSbTbUbVbWbXbYbZ"}; diff --git a/2009-x64/cps4.03/icons/cpscConstrainNone.xpm b/2009-x64/cps4.03/icons/cpscConstrainNone.xpm new file mode 100644 index 0000000..22b315a --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConstrainNone.xpm @@ -0,0 +1,867 @@ +/* XPM */ +static char *CNONE_xpm[]={ +"41 24 840 2", +" c #6A6A69", +" 0 c #686769", +" 1 c #676768", +" 2 c #676767", +" 3 c #656566", +" 4 c #646465", +" 5 c #646463", +" 6 c #6D6D6C", +" 7 c #8A8989", +" 8 c #7A7A73", +" 9 c #605F61", +" a c #656464", +" b c #6E6E6E", +" c c #636262", +" d c #5D5C5E", +" e c #5C5B5D", +" f c #5B5C5B", +" g c #5B5A5C", +" h c #5B5A5A", +" i c #5A5B5A", +" j c #585858", +" k c #595958", +" l c #595859", +" m c #585758", +" n c #575757", +" o c #565756", +" p c #565657", +" q c #555657", +" r c #555556", +" s c #565556", +" t c #5C5C56", +" u c #5C5D5B", +" v c #5B5B5A", +" w c #595B5A", +" x c #585859", +" y c #595959", +" z c #656365", +" A c #636363", +" B c #626162", +" C c #616061", +" D c #616161", +" E c #605F5F", +" F c #5D5D5D", +" G c #949594", +" H c #FEFFFE", +" I c #E3D870", +" J c #656A73", +" K c #94969D", +" L c #FFFFFF", +" M c #DAD77B", +" N c #575758", +" O c #757677", +" P c #F0EFEF", +" Q c #D5D2A9", +" R c #555455", +" S c #CFCFC9", +" T c #D5D5BB", +" U c #5E5E4F", +" V c #525452", +" W c #6E6D60", +" X c #AFAE76", +" Y c #929260", +" Z c #515252", +" & c #525250", +"0 c #525152", +"00 c #525251", +"01 c #525051", +"02 c #525151", +"03 c #525252", +"04 c #535352", +"05 c #535353", +"06 c #525353", +"07 c #606060", +"08 c #5E5E5F", +"09 c #5C5C5C", +"0a c #5B5B5B", +"0b c #585958", +"0c c #8D8653", +"0d c #D5B45A", +"0e c #AC882C", +"0f c #7D7671", +"0g c #BFA06E", +"0h c #EBB375", +"0i c #AE8B50", +"0j c #5E6171", +"0k c #9B8F88", +"0l c #FFDDB8", +"0m c #C39C52", +"0n c #3F4457", +"0o c #5F6173", +"0p c #FEEBC6", +"0q c #F8DAA6", +"0r c #4D5254", +"0s c #444C68", +"0t c #A2A887", +"0u c #FFFE94", +"0v c #CCCA60", +"0w c #4E4D4D", +"0x c #4C4D4C", +"0y c #4D4E4E", +"0z c #4D4D4D", +"0A c #4D4D4C", +"0B c #4E4D4E", +"0C c #4D4C4E", +"0D c #4D4E4D", +"0E c #4E4E4D", +"0F c #4F4E4F", +"0G c #4F4F4E", +"0H c #4F4F50", +"0I c #5A5A5B", +"0J c #575657", +"0K c #555757", +"0L c #545655", +"0M c #545459", +"0N c #555857", +"0O c #98895C", +"0P c #BCAE92", +"0Q c #9F937C", +"0R c #59584D", +"0S c #A8975B", +"0T c #CABBA1", +"0U c #C1B086", +"0V c #716446", +"0W c #7D6820", +"0X c #807661", +"0Y c #9B8E75", +"0Z c #98782E", +"0& c #B0811E", +"1 c #6E6448", +"10 c #786C56", +"11 c #AB8638", +"12 c #C6962B", +"13 c #B9B030", +"14 c #494948", +"15 c #494949", +"16 c #474849", +"17 c #4A4949", +"18 c #49484A", +"19 c #4A484A", +"1a c #494A49", +"1b c #4A4A4B", +"1c c #4A4B4B", +"1d c #4B4A4A", +"1e c #4C4B4C", +"1f c #4B4C4D", +"1g c #565656", +"1h c #555555", +"1i c #535455", +"1j c #505151", +"1k c #4F514F", +"1l c #B2B399", +"1m c #D9DAC6", +"1n c #B8A066", +"1o c #AA9B80", +"1p c #C8BCA8", +"1q c #D6D1CE", +"1r c #B0A490", +"1s c #BFAE95", +"1t c #C4B79C", +"1u c #CAC1AF", +"1v c #868892", +"1w c #9B8E76", +"1x c #A4977D", +"1y c #A2947A", +"1z c #656981", +"1A c #665D49", +"1B c #7F7158", +"1C c #83755A", +"1D c #827353", +"1E c #4A4F5A", +"1F c #615E3F", +"1G c #454444", +"1H c #444545", +"1I c #434543", +"1J c #444544", +"1K c #464645", +"1L c #464545", +"1M c #464646", +"1N c #474746", +"1O c #474747", +"1P c #484849", +"1Q c #484848", +"1R c #515152", +"1S c #515050", +"1T c #50504F", +"1U c #4D4D4E", +"1V c #4C4E4C", +"1W c #4C4B4B", +"1X c #EEE993", +"1Y c #FFDF9C", +"1Z c #977E50", +"1& c #676977", +"2 c #E4E3E5", +"20 c #FEFEFE", +"21 c #B99553", +"22 c #8E8C90", +"23 c #C1BCB5", +"24 c #EED09C", +"25 c #928775", +"26 c #A4977F", +"27 c #EDEAD8", +"28 c #F8F9DA", +"29 c #A49065", +"2a c #85785E", +"2b c #887A5D", +"2c c #DAD68A", +"2d c #CBCC88", +"2e c #454642", +"2f c #3F3F3F", +"2g c #404041", +"2h c #41413F", +"2i c #3F4140", +"2j c #414041", +"2k c #424141", +"2l c #414241", +"2m c #434142", +"2n c #434243", +"2o c #434443", +"2p c #434344", +"2q c #444344", +"2r c #454545", +"2s c #454546", +"2t c #4B4C4C", +"2u c #49494A", +"2v c #474847", +"2w c #77723C", +"2x c #83662E", +"2y c #A89247", +"2z c #85775F", +"2A c #A37B3D", +"2B c #B27D38", +"2C c #8D7425", +"2D c #6C6355", +"2E c #A9885B", +"2F c #E1B477", +"2G c #B99341", +"2H c #3B3B42", +"2I c #515361", +"2J c #F7DBAE", +"2K c #FEE0A5", +"2L c #68543E", +"2M c #50556A", +"2N c #767B7B", +"2O c #FFFE9B", +"2P c #FFFD80", +"2Q c #4E4B38", +"2R c #3B3B3C", +"2S c #3C3B3C", +"2T c #3C3B3B", +"2U c #3D3D3C", +"2V c #3D3C3C", +"2W c #3D3D3D", +"2X c #3E3D3D", +"2Y c #3F3E3F", +"2Z c #403F3E", +"2& c #3F4040", +"3 c #404141", +"30 c #414242", +"31 c #424242", +"32 c #444243", +"33 c #4B4B4C", +"34 c #4A4A49", +"35 c #484949", +"36 c #464747", +"37 c #454446", +"38 c #55554B", +"39 c #464D65", +"3a c #736750", +"3b c #86775C", +"3c c #8F8066", +"3d c #756F6D", +"3e c #585348", +"3f c #73684D", +"3g c #9B8C72", +"3h c #948569", +"3i c #665928", +"3j c #766B55", +"3k c #8D7E65", +"3l c #8E773D", +"3m c #76591E", +"3n c #62592E", +"3o c #766951", +"3p c #77613C", +"3q c #BB852D", +"3r c #EBC727", +"3s c #3E3C35", +"3t c #383738", +"3u c #393738", +"3v c #393839", +"3w c #383938", +"3x c #393938", +"3y c #393A3A", +"3z c #3A3B3B", +"3A c #3B3B3B", +"3B c #3C3C3C", +"3C c #3E3F3F", +"3D c #403F3F", +"3E c #414140", +"3F c #484847", +"3G c #464647", +"3H c #5F604F", +"3I c #FFFF98", +"3J c #F4DE78", +"3K c #8E7C49", +"3L c #84755A", +"3M c #D2CC9D", +"3N c #C3C3AA", +"3O c #8C7A58", +"3P c #918269", +"3Q c #A29379", +"3R c #A8A08F", +"3S c #827F7A", +"3T c #8B7D63", +"3U c #908168", +"3V c #8D7D63", +"3W c #65687C", +"3X c #534B3B", +"3Y c #6F634C", +"3Z c #7A6B51", +"3& c #74664C", +"4 c #4C5267", +"40 c #57542F", +"41 c #323332", +"42 c #333433", +"43 c #333334", +"44 c #353435", +"45 c #353535", +"46 c #363737", +"47 c #373738", +"48 c #383937", +"49 c #3A3B39", +"4a c #3A3A3A", +"4b c #3B3C3C", +"4c c #3C3D3C", +"4d c #3D3C3D", +"4e c #3F3E3E", +"4f c #999654", +"4g c #FEEF77", +"4h c #E7BC48", +"4i c #49494D", +"4j c #747572", +"4k c #FEFFB6", +"4l c #FFECA0", +"4m c #947F51", +"4n c #757376", +"4o c #CDC9AA", +"4p c #FFFED6", +"4q c #E9C872", +"4r c #7F7663", +"4s c #877A60", +"4t c #DED6A6", +"4u c #E3E4B6", +"4v c #A28E5D", +"4w c #776951", +"4x c #74664D", +"4y c #ABA369", +"4z c #8C917C", +"4A c #4F4F39", +"4B c #2F2F31", +"4C c #303030", +"4D c #303130", +"4E c #323232", +"4F c #323333", +"4G c #333333", +"4H c #343434", +"4I c #363636", +"4J c #373637", +"4K c #373737", +"4L c #393939", +"4M c #3B3A3A", +"4N c #3C3C3D", +"4O c #444443", +"4P c #424343", +"4Q c #404040", +"4R c #3D3E3E", +"4S c #554E3D", +"4T c #7E671C", +"4U c #72633F", +"4V c #786647", +"4W c #AA772D", +"4X c #CA9031", +"4Y c #6E6339", +"4Z c #544A3B", +"4& c #C9A361", +"5 c #F7CF83", +"50 c #B39044", +"51 c #40434D", +"52 c #484C61", +"53 c #F5EDB0", +"54 c #FEFEB2", +"55 c #7E6343", +"56 c #4D5164", +"57 c #5F6071", +"58 c #F2F191", +"59 c #FEFF8B", +"5a c #9C953F", +"5b c #2D2C2B", +"5c c #2E2C2C", +"5d c #2E2E2D", +"5e c #2F2F2F", +"5f c #303031", +"5g c #313231", +"5h c #343433", +"5i c #333534", +"5j c #373638", +"5k c #373938", +"5l c #3A3839", +"5m c #393B3B", +"5n c #3A3B3C", +"5o c #434342", +"5p c #3F403F", +"5q c #3E3E3E", +"5r c #3D3E42", +"5s c #464650", +"5t c #574B35", +"5u c #6F6147", +"5v c #716347", +"5w c #46495A", +"5x c #393424", +"5y c #60563F", +"5z c #7A6B52", +"5A c #60563B", +"5B c #3C3932", +"5C c #5E531E", +"5D c #615641", +"5E c #6E624A", +"5F c #9D6E26", +"5G c #A4742A", +"5H c #6A5B26", +"5I c #574D39", +"5J c #4F4637", +"5K c #F0BC4B", +"5L c #F2D056", +"5M c #7A763B", +"5N c #4C3E2B", +"5O c #CA993D", +"5P c #B09246", +"5Q c #89804F", +"5R c #696245", +"5S c #5C4C35", +"5T c #443B30", +"5U c #323334", +"5V c #343435", +"5W c #363536", +"5X c #373636", +"5Y c #3A3A39", +"5Z c #414142", +"5& c #C8C764", +"6 c #E1E270", +"60 c #B0963B", +"61 c #6B5C41", +"62 c #80714C", +"63 c #A69B60", +"64 c #656866", +"65 c #675B41", +"66 c #72634A", +"67 c #74664B", +"68 c #66615E", +"69 c #3F3D3C", +"6a c #5F533D", +"6b c #6E6048", +"6c c #73654A", +"6d c #555359", +"6e c #2C2B25", +"6f c #463E2A", +"6g c #685A41", +"6h c #675A41", +"6i c #5C5442", +"6j c #615727", +"6k c #444027", +"6l c #2A2A29", +"6m c #FEC045", +"6n c #FFED75", +"6o c #FEFFA6", +"6p c #FFFEB2", +"6q c #FFEB7E", +"6r c #FEBA51", +"6s c #F19336", +"6t c #7B4820", +"6u c #343334", +"6v c #363535", +"6w c #363637", +"6x c #3A3938", +"6y c #40413F", +"6z c #5C5D45", +"6A c #FFFE6C", +"6B c #FFEF67", +"6C c #907B53", +"6D c #626672", +"6E c #BFC17C", +"6F c #FFFE86", +"6G c #F6D861", +"6H c #7F6F4B", +"6I c #71644B", +"6J c #D2CE7E", +"6K c #E7E692", +"6L c #B9A752", +"6M c #6E6147", +"6N c #706249", +"6O c #94885D", +"6P c #7F847C", +"6Q c #675F43", +"6R c #66583F", +"6S c #685941", +"6T c #67583F", +"6U c #565A70", +"6V c #25262B", +"6W c #292A29", +"6X c #2A2B2B", +"6Y c #C99D44", +"6Z c #FFE26E", +"6& c #FEFD93", +"7 c #FEF28E", +"70 c #FED168", +"71 c #FFA844", +"72 c #B0601E", +"73 c #3F3427", +"74 c #353434", +"75 c #383838", +"76 c #383839", +"77 c #3A393A", +"78 c #3F3F40", +"79 c #796D2C", +"7a c #9C7328", +"7b c #8C7526", +"7c c #514632", +"7d c #C0A249", +"7e c #E7C85C", +"7f c #D09D2E", +"7g c #484648", +"7h c #585F69", +"7i c #F6F892", +"7j c #FFFF92", +"7k c #A38440", +"7l c #5D6071", +"7m c #65656E", +"7n c #F2F392", +"7o c #FFFF91", +"7p c #C1AD51", +"7q c #63563F", +"7r c #675941", +"7s c #B1AA60", +"7t c #D4D579", +"7u c #939553", +"7v c #2B2C2D", +"7w c #2C2C2D", +"7x c #B67D34", +"7y c #FEC354", +"7z c #FFD062", +"7A c #FFC35B", +"7B c #FFAA46", +"7C c #B0601F", +"7D c #3F3327", +"7E c #363435", +"7F c #373838", +"7G c #393A39", +"7H c #3B3A3B", +"7I c #424143", +"7J c #414141", +"7K c #413F40", +"7L c #343B51", +"7M c #383427", +"7N c #615439", +"7O c #66573C", +"7P c #574C35", +"7Q c #2A2C33", +"7R c #5A4D1C", +"7S c #5F523A", +"7T c #64563E", +"7U c #A07B2B", +"7V c #AB7F3B", +"7W c #806417", +"7X c #423A2C", +"7Y c #483F2E", +"7Z c #FFE672", +"7& c #FEF37D", +"8 c #735D31", +"80 c #3E4257", +"81 c #42485D", +"82 c #D7DB7D", +"83 c #FFFE79", +"84 c #D1CD5B", +"85 c #2F302E", +"86 c #2F2F30", +"87 c #775330", +"88 c #FEA53C", +"89 c #FFA740", +"8a c #FF9E3A", +"8b c #EE7928", +"8c c #F17A28", +"8d c #674732", +"8e c #373736", +"8f c #444343", +"8g c #606147", +"8h c #70724D", +"8i c #515156", +"8j c #584B34", +"8k c #63543A", +"8l c #65553A", +"8m c #595452", +"8n c #433F3C", +"8o c #4F442F", +"8p c #66593E", +"8q c #474446", +"8r c #35312A", +"8s c #383122", +"8t c #63553E", +"8u c #6A593C", +"8v c #664C1F", +"8w c #56471A", +"8x c #4D432F", +"8y c #564934", +"8z c #C89E39", +"8A c #D6BA4B", +"8B c #BEAE3A", +"8C c #4B3B31", +"8D c #FF902D", +"8E c #FF8D2D", +"8F c #C5671E", +"8G c #D96A20", +"8H c #FF8229", +"8I c #FE822A", +"8J c #CA6927", +"8K c #503F35", +"8L c #39383A", +"8M c #39393A", +"8N c #D6D559", +"8O c #FEFE60", +"8P c #F4CC37", +"8Q c #816F37", +"8R c #645439", +"8S c #D8D55C", +"8T c #BABB63", +"8U c #846D39", +"8V c #64553C", +"8W c #66563D", +"8X c #6B5C3F", +"8Y c #4A4E68", +"8Z c #534936", +"8& c #584D35", +"9 c #65563E", +"90 c #675940", +"91 c #53576B", +"92 c #37322A", +"93 c #383323", +"94 c #5D513A", +"95 c #64543D", +"96 c #554A37", +"97 c #554E30", +"98 c #EB7A26", +"99 c #C3611A", +"9a c #413225", +"9b c #503D32", +"9c c #F67321", +"9d c #FF7F26", +"9e c #FE7F27", +"9f c #F17623", +"9g c #8F532D", +"9h c #403C3A", +"9i c #3D3D3E", +"9j c #595847", +"9k c #F2EE4E", +"9l c #FEF64E", +"9m c #CDA439", +"9n c #40495C", +"9o c #858E7E", +"9p c #FFFF65", +"9q c #FFF362", +"9r c #AF8D4A", +"9s c #737169", +"9t c #877F57", +"9u c #FAFA6D", +"9v c #EDEC6E", +"9w c #937434", +"9x c #66583E", +"9y c #67573E", +"9z c #8C824B", +"9A c #606773", +"9B c #554A35", +"9C c #63543C", +"9D c #605D63", +"9E c #2F3545", +"9F c #393739", +"9G c #393838", +"9H c #774621", +"9I c #48392A", +"9J c #262525", +"9K c #2C2E2C", +"9L c #61402C", +"9M c #F6731F", +"9N c #FF7923", +"9O c #FF7A22", +"9P c #FF7821", +"9Q c #D56924", +"9R c #674836", +"9S c #3F4041", +"9T c #484A48", +"9U c #535144", +"9V c #867835", +"9W c #9D8D33", +"9X c #464546", +"9Y c #7E7A45", +"9Z c #F4E33E", +"9& c #FEE836", +"a c #9E8C2D", +"a0 c #323845", +"a1 c #949960", +"a2 c #FFFF6B", +"a3 c #FEEE61", +"a4 c #67594A", +"a5 c #656A7C", +"a6 c #75736F", +"a7 c #FFFE70", +"a8 c #FEFF6E", +"a9 c #B89338", +"aa c #60513B", +"ab c #62543B", +"ac c #93894A", +"ad c #A3A56F", +"ae c #6C6C45", +"af c #3B3B3A", +"ag c #3C3C3B", +"ah c #313333", +"ai c #1F1F20", +"aj c #212223", +"ak c #7B431F", +"al c #F8711F", +"am c #FC7521", +"an c #FF7521", +"ao c #FD7421", +"ap c #F9711E", +"aq c #9D562C", +"ar c #414243", +"as c #4C4C4A", +"at c #4A494A", +"au c #494A4A", +"av c #484748", +"aw c #474848", +"ax c #57533F", +"ay c #565241", +"az c #6B663D", +"aA c #CFBA34", +"aB c #EDD22D", +"aC c #807235", +"aD c #37373C", +"aE c #717046", +"aF c #FFFE6A", +"aG c #FEFE69", +"aH c #7C6941", +"aI c #4A526F", +"aJ c #57607E", +"aK c #C7C86B", +"aL c #FFF651", +"aM c #4A483B", +"aN c #3D3E3F", +"aO c #3E3F3E", +"aP c #3F403E", +"aQ c #3F3F3E", +"aR c #232323", +"aS c #202021", +"aT c #A0501A", +"aU c #EF6D1C", +"aV c #F5701E", +"aW c #F7721E", +"aX c #F6701D", +"aY c #914D19", +"aZ c #46423F", +"a& c #4B4C4B", +"b c #4B4B4B", +"b0 c #4A4A4A", +"b1 c #494849", +"b2 c #464748", +"b3 c #464746", +"b4 c #444546", +"b5 c #444444", +"b6 c #4E4D40", +"b7 c #A79430", +"b8 c #CBB431", +"b9 c #7D7035", +"ba c #3E3E41", +"bb c #D4D257", +"bc c #FEFD5D", +"bd c #F3E84A", +"be c #434241", +"bf c #424142", +"bg c #424241", +"bh c #313131", +"bi c #212221", +"bj c #212121", +"bk c #292521", +"bl c #B7581B", +"bm c #E86B1A", +"bn c #ED6B1C", +"bo c #A1541B", +"bp c #49443E", +"bq c #454646", +"br c #504F4F", +"bs c #4E4F50", +"bt c #4E4E4E", +"bu c #4C4C4D", +"bv c #4D4C4C", +"bw c #4A4B4C", +"bx c #494848", +"by c #484647", +"bz c #474648", +"bA c #454645", +"bB c #7A6D36", +"bC c #A38E2F", +"bD c #A29132", +"bE c #454445", +"bF c #444445", +"bG c #444446", +"bH c #444645", +"bI c #444644", +"bJ c #242524", +"bK c #242422", +"bL c #242323", +"bM c #382B21", +"bN c #D06019", +"bO c #884717", +"bP c #47423B", +"bQ c #505050", +"bR c #4F4F4F", +"bS c #4D4C4D", +"bT c #4A4848", +"bU c #494748", +"bV c #474748", +"bW c #494847", +"bX c #484747", +"bY c #484947", +"bZ c #484948", +"b& c #434444", +"c c #2B292A", +"c0 c #252524", +"c1 c #242525", +"c2 c #242625", +"c3 c #3D2D20", +"c4 c #2E2822", +"c5 c #313031", +"c6 c #454443", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m j n o p n q r r s t u g v w x x y", +" z A B C D E F G H I J K L M N O P Q r R S T U V W X Y Z &0 000 010 02030304030506", +"0708 F090a i0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0y0A0B0C0D0E0E0F0G0H", +"0I x x0J0K0L R0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 1011121314151617181915151a1b1c1d1e1f", +"1g1h1i051j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1G1J1H1K1L1M1N1N1O1P1Q", +"1R1S1T1U1V1W1X1Y1Z1&2 20212223 H2425262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s", +"0y0A2t1a2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132", +"333435363738393a3b3c3d3e3f3g3h1K3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B2U2X3C3D3E", +"3F3G1H2q3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 4041424344454647483v494a4b4c4d4e", +"1L2o313E4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K3t4L4M2S4N", +"4O4P4Q2&4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g4E5h5i4I5j5k5l5m5n", +"5o2l5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T4F5U5V5W5X3t5Y4M", +"5Z4Q3C5&6 606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w4K6x4a", +"2k6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 70717273744I4I757677", +"2m4Q78797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D4H7E6v7F3x7G7H", +"7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d6v8e754L7G5Y3B", +"8f8g8h8i8j8k8l8m8n8o6T8p8q8r8s7S8t8u8v8w8x8y8z8A8B4E418C8D8E8F8G8H8I8J8K8L8M3z3B4d", +"1L8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495967G974H4I4I98999a9b9c9d9e9f9g9h2U9i9i", +"9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A7P9B7S9C9D9E9F5k9G3v9H9I9J9K9L9M9N9O9P9Q9R2Y9S", +"9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadae4baf3A3z2Vagahaiajakalamanaoapaqar", +"asatauavaw361Maxay2qazaAaBaCaDaEaFaGaHaIaJaK9paLaMaNaO3CaPaQ2RaRaiaSaTaUaVaWaXaYaZ", +"0z0Aa&b aub0b11Qb2b31Lb41J8fb5b6b7b8b92mbabbbcbdbebfbgbf2l2m5Zbhbibjbkblbmbnbobpbq", +"brbsbt0Ebubvbw1c34au1Q1Qbxbybz1M1M1L1MbAbAbBbCbDbEbFbFbEbGbHbIaNbJbKbLbMbNbObP1618", +"050200bQbRbRbt1UbvbS1W33b b0at2uaubT35bxawb1bUbVbWbX3Fav1PbYbZb&c c0c1c2c3c4c5c6b0"}; diff --git a/2009-x64/cps4.03/icons/cpscConvertEdge.xpm b/2009-x64/cps4.03/icons/cpscConvertEdge.xpm new file mode 100644 index 0000000..4c46b09 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConvertEdge.xpm @@ -0,0 +1,642 @@ +/* XPM */ +static char *CEDGE_xpm[]={ +"41 24 615 2", +" c #686969", +" 0 c #686869", +" 1 c #676868", +" 2 c #666767", +" 3 c #666665", +" 4 c #656464", +" 5 c #646364", +" 6 c #636362", +" 7 c #616162", +" 8 c #626160", +" 9 c #5F605F", +" a c #5F5E5F", +" b c #5E5D5D", +" c c #5E5E5E", +" d c #5D5E5D", +" e c #5C5D5C", +" f c #5A5B5B", +" g c #5B5B5B", +" h c #5A5A59", +" i c #5A5858", +" j c #595959", +" k c #595858", +" l c #585858", +" m c #575858", +" n c #575757", +" o c #575756", +" p c #565656", +" q c #565757", +" r c #565555", +" s c #5C5D56", +" t c #5C5B5C", +" u c #5A5A5B", +" v c #595B5B", +" w c #585959", +" x c #585958", +" y c #656564", +" z c #646363", +" A c #626262", +" B c #626162", +" C c #616060", +" D c #60605F", +" E c #5D5C5E", +" F c #5C5C5D", +" G c #5B5B5A", +" H c #5B5A5C", +" I c #5A5959", +" J c #595A59", +" K c #585758", +" L c #565756", +" M c #575657", +" N c #555556", +" O c #545656", +" P c #535455", +" Q c #555354", +" R c #545354", +" S c #545353", +" T c #535353", +" U c #525253", +" V c #535352", +" W c #525252", +" X c #505252", +" Y c #525251", +" Z c #515151", +" & c #515150", +"0 c #525151", +"00 c #525352", +"01 c #515252", +"02 c #525354", +"03 c #5E5F5E", +"04 c #5E5F5D", +"05 c #5D5E5E", +"06 c #5C5C5B", +"07 c #5A5A5A", +"08 c #595A5A", +"09 c #575758", +"0a c #565658", +"0b c #555555", +"0c c #545455", +"0d c #535354", +"0e c #525153", +"0f c #515251", +"0g c #504F51", +"0h c #4F4F50", +"0i c #4E4F4F", +"0j c #4E4E4E", +"0k c #4E4D4F", +"0l c #4D4D4E", +"0m c #4E4E4D", +"0n c #4E4D4D", +"0o c #4D4D4C", +"0p c #4D4C4D", +"0q c #4D4E4D", +"0r c #4D4E4C", +"0s c #4E4C4E", +"0t c #4F4E4D", +"0u c #4D4E4E", +"0v c #50504E", +"0w c #504F50", +"0x c #5C5A5A", +"0y c #575658", +"0z c #555655", +"0A c #555455", +"0B c #515052", +"0C c #4F5050", +"0D c #4E4E50", +"0E c #4F4E4F", +"0F c #4D4C4E", +"0G c #4D4C4C", +"0H c #4C4B4D", +"0I c #4B4C4B", +"0J c #4B4A4B", +"0K c #4A4A4B", +"0L c #4A494B", +"0M c #4A484A", +"0N c #54554A", +"0O c #D1D16E", +"0P c #707143", +"0Q c #484849", +"0R c #494848", +"0S c #494849", +"0T c #48494A", +"0U c #494A48", +"0V c #484A4A", +"0W c #4A494A", +"0X c #49494A", +"0Y c #494B49", +"0Z c #4B4A4A", +"0& c #4A4B4B", +"1 c #4C4C4B", +"10 c #575556", +"11 c #545654", +"12 c #535454", +"13 c #525353", +"14 c #505151", +"15 c #504F4E", +"16 c #4D4B4C", +"17 c #4C4B4A", +"18 c #4B4B4B", +"19 c #4A4A4A", +"1a c #494948", +"1b c #484948", +"1c c #474848", +"1d c #484748", +"1e c #464647", +"1f c #464646", +"1g c #454546", +"1h c #444644", +"1i c #454545", +"1j c #4A4B44", +"1k c #F2F37C", +"1l c #BFBF39", +"1m c #454343", +"1n c #444444", +"1o c #454544", +"1p c #444445", +"1q c #454646", +"1r c #464747", +"1s c #484747", +"1t c #464848", +"1u c #494947", +"1v c #494949", +"1w c #525051", +"1x c #4F4D4D", +"1y c #4D4B4B", +"1z c #4A4A49", +"1A c #474847", +"1B c #484848", +"1C c #6A674D", +"1D c #626351", +"1E c #444344", +"1F c #434243", +"1G c #434343", +"1H c #424242", +"1I c #414141", +"1J c #414242", +"1K c #414041", +"1L c #3F4141", +"1M c #403F40", +"1N c #404141", +"1O c #41413F", +"1P c #CECF69", +"1Q c #E6E54B", +"1R c #3C3B3C", +"1S c #3F403F", +"1T c #404041", +"1U c #3F4140", +"1V c #3F4041", +"1W c #414241", +"1X c #424243", +"1Y c #434342", +"1Z c #444342", +"1& c #444443", +"2 c #444545", +"20 c #4E4D4E", +"21 c #4D4D4D", +"22 c #4C4B4C", +"23 c #494A4A", +"24 c #454647", +"25 c #464645", +"26 c #444544", +"27 c #424342", +"28 c #837A44", +"29 c #F8F06C", +"2a c #9A985A", +"2b c #40403E", +"2c c #3F3E3E", +"2d c #3D3E3D", +"2e c #3D3D3D", +"2f c #3C3D3E", +"2g c #3C3C3C", +"2h c #3C3B3D", +"2i c #3C3B3A", +"2j c #8B8B4F", +"2k c #FFFE65", +"2l c #42431E", +"2m c #3A393A", +"2n c #3C3C3B", +"2o c #3C3D3C", +"2p c #3C3D3D", +"2q c #3D3E3E", +"2r c #3E3D3D", +"2s c #3F3E3F", +"2t c #40403F", +"2u c #404240", +"2v c #4A4B4A", +"2w c #434242", +"2x c #424141", +"2y c #3E3E3F", +"2z c #817541", +"2A c #FFD04A", +"2B c #FEDF56", +"2C c #CEC55C", +"2D c #535141", +"2E c #393939", +"2F c #383839", +"2G c #383939", +"2H c #383738", +"2I c #383737", +"2J c #393937", +"2K c #5C5D3D", +"2L c #FEFE70", +"2M c #6E7020", +"2N c #2F3130", +"2O c #383837", +"2P c #393938", +"2Q c #393A3A", +"2R c #3C3A3A", +"2S c #3C3C3A", +"2T c #3D3C3C", +"2U c #3E3E3C", +"2V c #3E3D3F", +"2W c #3F3F3F", +"2X c #414040", +"2Y c #474647", +"2Z c #434341", +"2& c #414140", +"3 c #3F3F40", +"30 c #3D3C3D", +"31 c #3A3A3B", +"32 c #7D6F3C", +"33 c #FFC443", +"34 c #FE9D2D", +"35 c #FEBC41", +"36 c #F3D454", +"37 c #8E8648", +"38 c #353435", +"39 c #343534", +"3a c #343434", +"3b c #333434", +"3c c #333333", +"3d c #343533", +"3e c #323233", +"3f c #323333", +"3g c #EBEC78", +"3h c #C5C530", +"3i c #212221", +"3j c #353434", +"3k c #353634", +"3l c #353535", +"3m c #363736", +"3n c #373836", +"3o c #373737", +"3p c #3A3A3A", +"3q c #3B3C3B", +"3r c #3C3C3D", +"3s c #3D3D3E", +"3t c #454345", +"3u c #424343", +"3v c #424241", +"3w c #3D3F3E", +"3x c #3B3A3C", +"3y c #39383A", +"3z c #373838", +"3A c #7B6C3A", +"3B c #FFC742", +"3C c #FFBF3A", +"3D c #FA9526", +"3E c #FE9F2F", +"3F c #FFC243", +"3G c #CCAC48", +"3H c #494734", +"3I c #31312F", +"3J c #302F31", +"3K c #313131", +"3L c #2F3031", +"3M c #2F2F30", +"3N c #2E2F2E", +"3O c #2F2F2F", +"3P c #B6B865", +"3Q c #F7F749", +"3R c #272718", +"3S c #303030", +"3T c #323132", +"3U c #323232", +"3V c #333233", +"3W c #353534", +"3X c #373636", +"3Y c #373738", +"3Z c #383938", +"3& c #39393A", +"4 c #3B3B3A", +"40 c #434443", +"41 c #404140", +"42 c #3D3C3B", +"43 c #393838", +"44 c #363536", +"45 c #796936", +"46 c #FEC842", +"47 c #FFCB3E", +"48 c #FFC63C", +"49 c #FCA92D", +"4a c #F58C23", +"4b c #FAA833", +"4c c #F2B942", +"4d c #766537", +"4e c #2D2E2E", +"4f c #2E2D2D", +"4g c #2D2C2C", +"4h c #2C2B2B", +"4i c #74743F", +"4j c #FFFE5F", +"4k c #565817", +"4l c #262626", +"4m c #302F2E", +"4n c #2F312F", +"4o c #313132", +"4p c #353334", +"4q c #353636", +"4r c #363738", +"4s c #393A3B", +"4t c #404040", +"4u c #3E3E3E", +"4v c #3A3B3A", +"4w c #393839", +"4x c #363837", +"4y c #363534", +"4z c #353333", +"4A c #796534", +"4B c #FFC640", +"4C c #FFCB3D", +"4D c #FEC93C", +"4E c #FEC43A", +"4F c #FFB633", +"4G c #EB821C", +"4H c #F59127", +"4I c #FEAE38", +"4J c #CA9C3E", +"4K c #38352C", +"4L c #2A2A2A", +"4M c #292929", +"4N c #292829", +"4O c #282828", +"4P c #36372C", +"4Q c #FEFE6A", +"4R c #A6A620", +"4S c #1D1F1F", +"4T c #2E2E2E", +"4U c #2E2F2F", +"4V c #2F2F31", +"4W c #343233", +"4X c #373535", +"4Y c #383937", +"4Z c #3B3A3B", +"4& c #3B3B3B", +"5 c #3A3939", +"50 c #353735", +"51 c #343435", +"52 c #333232", +"53 c #776533", +"54 c #FFC43F", +"55 c #FEC93A", +"56 c #FEC63A", +"57 c #FEC339", +"58 c #FFBF37", +"59 c #FCB230", +"5a c #F4AA42", +"5b c #FDB240", +"5c c #EF9221", +"5d c #7F5D29", +"5e c #282827", +"5f c #272827", +"5g c #CFD05E", +"5h c #DBDA34", +"5i c #181717", +"5j c #2B2C2B", +"5k c #2D2F2F", +"5l c #302F30", +"5m c #333334", +"5n c #363635", +"5o c #373637", +"5p c #383838", +"5q c #393A39", +"5r c #3A3A39", +"5s c #373736", +"5t c #343334", +"5u c #786335", +"5v c #FEC23B", +"5w c #FEC539", +"5x c #FEC638", +"5y c #FFC236", +"5z c #FEC03A", +"5A c #FFD069", +"5B c #FBB142", +"5C c #C17719", +"5D c #503C23", +"5E c #2B2C2C", +"5F c #2B2A2A", +"5G c #292A29", +"5H c #29292A", +"5I c #A1A24C", +"5J c #FEFF4F", +"5K c #313215", +"5L c #262525", +"5M c #343436", +"5N c #363637", +"5O c #424142", +"5P c #403F3E", +"5Q c #343535", +"5R c #796335", +"5S c #FFBE39", +"5T c #FDB932", +"5U c #FFC637", +"5V c #FECF53", +"5W c #FFCF63", +"5X c #F79E23", +"5Y c #98621D", +"5Z c #312F2D", +"5& c #2D2C2E", +"6 c #2E2E2D", +"60 c #2C2E2E", +"61 c #2C2C2D", +"62 c #2B2B2C", +"63 c #2C2C2C", +"64 c #626238", +"65 c #66651B", +"66 c #202021", +"67 c #312F2F", +"68 c #303131", +"69 c #383638", +"6a c #3F3F3E", +"6b c #3E3C3D", +"6c c #363838", +"6d c #7B6335", +"6e c #FFC33F", +"6f c #FEC439", +"6g c #FFDA66", +"6h c #FEC048", +"6i c #D4891F", +"6j c #564328", +"6k c #30312F", +"6l c #303031", +"6m c #2F3030", +"6n c #2F302E", +"6o c #2E2F30", +"6p c #F2F25F", +"6q c #BDBD2A", +"6r c #181719", +"6s c #333332", +"6t c #343433", +"6u c #363636", +"6v c #353736", +"6w c #3A3B3B", +"6x c #3B3B3C", +"6y c #434344", +"6z c #3B3B3D", +"6A c #7B6437", +"6B c #FED051", +"6C c #FFD45B", +"6D c #F9AE2C", +"6E c #A66E22", +"6F c #413A30", +"6G c #323332", +"6H c #C6C654", +"6I c #F0F03C", +"6J c #191918", +"6K c #2F2E2E", +"6L c #373638", +"6M c #3C3A3B", +"6N c #464546", +"6O c #3F4040", +"6P c #3E3F40", +"6Q c #3E3F3F", +"6R c #3A3C3B", +"6S c #7F6538", +"6T c #FDB730", +"6U c #E39824", +"6V c #6C512D", +"6W c #353635", +"6X c #353536", +"6Y c #808243", +"6Z c #FFFF51", +"6& c #54531B", +"7 c #252424", +"70 c #474648", +"71 c #3E403F", +"72 c #7E6539", +"73 c #BB7C26", +"74 c #4A4337", +"75 c #3B3A3A", +"76 c #2D2C2D", +"77 c #393739", +"78 c #57573B", +"79 c #FFFF5A", +"7a c #A3A222", +"7b c #1F201F", +"7c c #3C3E3C", +"7d c #3E3D3E", +"7e c #3E4040", +"7f c #484648", +"7g c #474545", +"7h c #464446", +"7i c #434444", +"7j c #4B463F", +"7k c #3E403E", +"7l c #1E1E1E", +"7m c #272527", +"7n c #3B3D3C", +"7o c #3B3C3C", +"7p c #3C3B3B", +"7q c #E6E656", +"7r c #D3D533", +"7s c #1D1D1E", +"7t c #313233", +"7u c #414142", +"7v c #4A4849", +"7w c #454444", +"7x c #444442", +"7y c #414342", +"7z c #1F1E1E", +"7A c #20201E", +"7B c #232423", +"7C c #313133", +"7D c #403F3F", +"7E c #3E3F3E", +"7F c #999948", +"7G c #8E8E3D", +"7H c #1F1F1F", +"7I c #4C4C4C", +"7J c #4A4949", +"7K c #484847", +"7L c #454645", +"7M c #464644", +"7N c #202121", +"7O c #212121", +"7P c #212120", +"7Q c #2E2D2E", +"7R c #424143", +"7S c #434143", +"7T c #434142", +"7U c #232323", +"7V c #222322", +"7W c #424443", +"7X c #444543", +"7Y c #454344", +"7Z c #474747", +"7& c #515050", +"8 c #504E4F", +"80 c #4E4E4F", +"81 c #4C4B4B", +"82 c #494B4A", +"83 c #484A48", +"84 c #474849", +"85 c #474846", +"86 c #232223", +"87 c #212323", +"88 c #252625", +"89 c #454445", +"8a c #444446", +"8b c #2C2D2C", +"8c c #222223", +"8d c #474646", +"8e c #464746", +"8f c #474748", +"8g c #49484A", +"8h c #515051", +"8i c #505050", +"8j c #4F4E4E", +"8k c #4D4E4F", +"8l c #4C4A4A", +"8m c #414143", +"8n c #232425", +"8o c #232424", +"8p c #242423", +"8q c #232524", +"8r c #252325", +"8s c #272626", +"8t c #2E2E2F", +"8u c #464545", +"8v c #484647", +"8w c #484947", +"8x c #373837", +"8y c #383637", +"8z c #484949", +"8A c #484A49", +"8B c #4B4A49", +" 0 1 2 3 4 5 6 7 8 9 a b c d e e f g h i j k l m n n o o p q n r s t u u v w k x", +" y z A B C D b E F G H I J n K L M N N O P Q R S T U V W W X Y Z & W0 W0 0001 T02", +"03040506 u0708090a o0b0c R0d0e0f Y0g0h0h0h0i0j0k0l0m0n0o0p0o0p0q0o0q0r0s0t0q0u0v0w", +"0x J x0y0z0A0c V W0B0C0D0E0q0F0G0H0I0J0K0K0L0M0N0O0P0Q0Q0R0S0T0U0V0W0X0X0Y0Z0&1 0I", +"101112130 14150j0u161718191a1b1c1d1e1f1e1g1h1i1j1k1l1m1n1o1n1n1p1n1f1q1q1r1s1t1u1v", +" U1w0h1x0G1y0J1z1A1B1C1D1p1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1M1T1U1V1T1W1X1Y1Z1&1&2 1f", +"2021220J231d2425262728292a2b2c2d2e2e2f2e2g2h1R2i2j2k2l2m1R2n2o2p2q2r2s2t2t2u1J1X1G", +"2v231b1r1f1m2w2x1N2y2z2A2B2C2D2E2F2G2H2I2J2H2H2H2K2L2M2N2H2O2P2E2Q2R2S2T2U2V2W2W2X", +"1c2Y1i1&2Z2&3 2c303132333435363738393a3b3c3d3e3c3f3g3h3i3j3k3l3m3n3o2P2Q3p3q3r3s2c", +"1q3t3u3v3 3w2e3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3a3W3X3Y3Z3&4 3q2o", +"401H412W2q423p433z4445464748494a4b4c4d4e4f4g4h4h4h4i4j4k4l4m4n4o3e3b4p4q4r432F4s2n", +"3u4t4t4u424v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V3K3T4W3l4X3X4Y3p4Z", +"27412W304&5 2F505152535455565758595a5b5c5d4N4O5e5f4M5g5h5i5j5k5l5l3T3c5m5n5o5p2E5q", +"1I3 2y2p4Z5r2O5s3l5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5H4L5I5J5K5L4T3S3K3f3U3a5M5N2P5r4v", +"5O1T5P2U3q314w3o5n5Q5R5S5T5U5V5W5X5Y5Z5&6 6061626163644j656667683T3U5Q5n3m693z5q2m", +"3u1I4t6a6b4&314w6c506d6e6f6g6h6i6j686k6l3M6m6n3M3O6o3S6p6q6r6l6s6t5Q6u6v5s2E2E6w6x", +"6y1G1W3 4u2e6z3p5 436A6B6C6D6E6F5t3c3e5252523U3U6G4o6s6H6I6J6K515n3o6L5p2G3p6M1R2e", +"6N2 3u1I6O6P6Q2T2g6R6S6T6U6V5p4q3X5N6W445n6X6X3W3a3l446Y6Z6&7 5o2I2G5q2m3p2n3r2p2d", +"701r1i401Y1I1T712c3s727374754v3k765p4w2F432G2G773Z434w78797a7b2F4v4Z2n2o7c7d7d7e2t", +"1B1A7f7g7h7i1F5O1I1I7j7k4u7d3s4p7l7m5N7n4&7o7p7o2i4&6w2n7q7r7s7t3s2V2q2W6P2W1K7u1X", +"0I0W7v1d7f256N7w6y7x1X7y1W1K1K387z7A7B7C3w4t7D7E2y7E7E6a7F7G7H4T4t2X411I1W3v3u1G2 ", +"0q7I7I0&237J7K1d2Y7L1f7M7w2 1G3z7N7O7P7O7Q3p3v1Y7R3v7S1W7T307U7V2W7W1n7X7Y7M1f1g7Z", +"7&8 800p7I81182v8283841B1a851B3 7U8686877V881R1F891p1p898a2 8b8c7E258d8e2Y8f1A0Q8g", +" T Z8h0g8i8j8k0n7I0G228l0K19198m7 8n8o8p8q8r8s8t8u8v7K1d0Q8w8x8n8y1a8z8A1v8B0J0Z0&"}; diff --git a/2009-x64/cps4.03/icons/cpscConvertFace.xpm b/2009-x64/cps4.03/icons/cpscConvertFace.xpm new file mode 100644 index 0000000..8d2feb4 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConvertFace.xpm @@ -0,0 +1,777 @@ +/* XPM */ +static char *CFACE_xpm[]={ +"41 24 750 2", +" c #696A6A", +" 0 c #696969", +" 1 c #686767", +" 2 c #676867", +" 3 c #656565", +" 4 c #646464", +" 5 c #636363", +" 6 c #626262", +" 7 c #616060", +" 8 c #605F60", +" 9 c #5F5E5E", +" a c #5F5E5F", +" b c #5E5E5E", +" c c #5D5D5D", +" d c #5D5C5D", +" e c #5B5B5C", +" f c #5B5C5C", +" g c #5B5A5A", +" h c #5A5B5B", +" i c #595958", +" j c #585759", +" k c #585857", +" l c #585957", +" m c #565756", +" n c #575757", +" o c #575657", +" p c #555556", +" q c #555557", +" r c #555757", +" s c #5C5D55", +" t c #5C5D5C", +" u c #5B5B5B", +" v c #5A5A59", +" w c #5A5858", +" x c #595959", +" y c #595858", +" z c #656564", +" A c #626363", +" B c #626261", +" C c #626162", +" D c #616061", +" E c #5E5D5D", +" F c #5D5E5D", +" G c #5C5C5C", +" H c #5C5B5B", +" I c #5A5B5C", +" J c #585859", +" K c #595859", +" L c #585757", +" M c #555756", +" N c #555655", +" O c #555656", +" P c #555554", +" Q c #555454", +" R c #545454", +" S c #535354", +" T c #545353", +" U c #535353", +" V c #525153", +" W c #525352", +" X c #535352", +" Y c #515052", +" Z c #505052", +" & c #515152", +"0 c #535251", +"00 c #525251", +"01 c #525252", +"02 c #535153", +"03 c #535252", +"04 c #5F5F60", +"05 c #5F5F5E", +"06 c #5E5D5C", +"07 c #5B5C5B", +"08 c #5A5B5A", +"09 c #5A595B", +"0a c #5A5958", +"0b c #575857", +"0c c #565757", +"0d c #575755", +"0e c #565556", +"0f c #555553", +"0g c #545354", +"0h c #545253", +"0i c #515051", +"0j c #515150", +"0k c #4F504F", +"0l c #4F5050", +"0m c #4E4E4F", +"0n c #4F4E4F", +"0o c #4E4F4D", +"0p c #4D4D4E", +"0q c #4E4D4E", +"0r c #4E4C4E", +"0s c #4C4D4D", +"0t c #4C4C4C", +"0u c #4C4C4D", +"0v c #4D4D4D", +"0w c #4E4D4D", +"0x c #4D4C4C", +"0y c #4D4E4C", +"0z c #4D4E4E", +"0A c #4E4E4D", +"0B c #4F4F4F", +"0C c #4E4F50", +"0D c #5B5A5B", +"0E c #59595A", +"0F c #565858", +"0G c #565657", +"0H c #545555", +"0I c #535355", +"0J c #505152", +"0K c #515050", +"0L c #4E4F4E", +"0M c #4E4F4F", +"0N c #4C4C4B", +"0O c #4C4B4C", +"0P c #4B4B4C", +"0Q c #4B4C4A", +"0R c #4B4B4A", +"0S c #4A4A49", +"0T c #4A4A4A", +"0U c #494A4A", +"0V c #48494A", +"0W c #4A494A", +"0X c #484849", +"0Y c #484848", +"0Z c #494849", +"0& c #6A6C56", +"1 c #4A4848", +"10 c #494A49", +"11 c #494B49", +"12 c #4B4A4C", +"13 c #4B4C4B", +"14 c #565655", +"15 c #4F5051", +"16 c #4E4C4D", +"17 c #4B4D4D", +"18 c #4C4B4A", +"19 c #4B4B4B", +"1a c #49494A", +"1b c #494949", +"1c c #494749", +"1d c #484748", +"1e c #474746", +"1f c #464646", +"1g c #464746", +"1h c #454547", +"1i c #454646", +"1j c #464545", +"1k c #444444", +"1l c #454544", +"1m c #434343", +"1n c #434445", +"1o c #5C5B4F", +"1p c #84856B", +"1q c #BEC073", +"1r c #F4F370", +"1s c #F4F270", +"1t c #4A4C42", +"1u c #454545", +"1v c #454645", +"1w c #474646", +"1x c #474747", +"1y c #484746", +"1z c #484949", +"1A c #535152", +"1B c #A5A065", +"1C c #50504C", +"1D c #494847", +"1E c #474847", +"1F c #464645", +"1G c #454444", +"1H c #434444", +"1I c #424342", +"1J c #434242", +"1K c #414241", +"1L c #424241", +"1M c #414040", +"1N c #404140", +"1O c #58584A", +"1P c #828274", +"1Q c #BDBD85", +"1R c #EDED7D", +"1S c #F6F36C", +"1T c #E8E24C", +"1U c #C7B944", +"1V c #A69247", +"1W c #FDFAAA", +"1X c #76763D", +"1Y c #424141", +"1Z c #444243", +"1& c #444443", +"2 c #4E4D4C", +"20 c #4B4C4C", +"21 c #4A4B4B", +"22 c #F3E259", +"23 c #E3E17A", +"24 c #6E6F52", +"25 c #424442", +"26 c #424343", +"27 c #404142", +"28 c #404040", +"29 c #3F3E3F", +"2a c #3E403F", +"2b c #3D3D3D", +"2c c #3D3E3E", +"2d c #3E3E3C", +"2e c #484A45", +"2f c #5C5A47", +"2g c #807F73", +"2h c #BCBC86", +"2i c #E6E682", +"2j c #F6F57B", +"2k c #EDE661", +"2l c #D4C550", +"2m c #B29E56", +"2n c #9C855B", +"2o c #907A55", +"2p c #8C7351", +"2q c #88714D", +"2r c #E0D89B", +"2s c #BDBC48", +"2t c #3E3E3E", +"2u c #3E3F40", +"2v c #41413F", +"2w c #414141", +"2x c #424341", +"2y c #4A4C4B", +"2z c #F2D549", +"2A c #FFDA4F", +"2B c #FFFA6D", +"2C c #A6A55D", +"2D c #45453F", +"2E c #3E3D3E", +"2F c #3A3B3B", +"2G c #3B3A3A", +"2H c #3B3B39", +"2I c #3A393A", +"2J c #38383A", +"2K c #393839", +"2L c #C1C089", +"2M c #FAF877", +"2N c #F1EA5D", +"2O c #DED05E", +"2P c #BBA967", +"2Q c #AC976E", +"2R c #A18B6A", +"2S c #9A8463", +"2T c #96805D", +"2U c #907B58", +"2V c #8B7552", +"2W c #887150", +"2X c #846E4B", +"2Y c #ADA061", +"2Z c #F3F37C", +"2& c #3C3B3B", +"3 c #3D3C3C", +"30 c #3D3D3E", +"31 c #3F3F3F", +"32 c #484948", +"33 c #474647", +"34 c #434344", +"35 c #EDCE45", +"36 c #FEB037", +"37 c #FFB438", +"38 c #FEE859", +"39 c #D4CE62", +"3a c #646544", +"3b c #383839", +"3c c #373738", +"3d c #373636", +"3e c #353635", +"3f c #363534", +"3g c #353435", +"3h c #A7A662", +"3i c #DFD96D", +"3j c #A89474", +"3k c #A69273", +"3l c #A48F6E", +"3m c #9F896A", +"3n c #9A8564", +"3o c #96805E", +"3p c #907B5A", +"3q c #8C7655", +"3r c #887050", +"3s c #846D4B", +"3t c #826B48", +"3u c #8B7648", +"3v c #FFFEA9", +"3w c #696A35", +"3x c #393939", +"3y c #3A3A3B", +"3z c #3B3B3B", +"3A c #3D3C3D", +"3B c #3D3E3D", +"3C c #ECCB43", +"3D c #FFCF45", +"3E c #FDB12F", +"3F c #FA9427", +"3G c #FEC443", +"3H c #F8E35B", +"3I c #9B994D", +"3J c #333433", +"3K c #323332", +"3L c #313332", +"3M c #303130", +"3N c #2F2F30", +"3O c #777741", +"3P c #E6E276", +"3Q c #9C8A6C", +"3R c #9B8869", +"3S c #988566", +"3T c #968161", +"3U c #927D5C", +"3V c #8F7959", +"3W c #8A7554", +"3X c #887051", +"3Y c #846E4E", +"3Z c #826C49", +"3& c #7E6747", +"4 c #7B6644", +"40 c #E3DE93", +"41 c #BAB93C", +"42 c #343435", +"43 c #3A3939", +"44 c #3B3A3B", +"45 c #3B3C3C", +"46 c #3D3D3C", +"47 c #444445", +"48 c #403F3E", +"49 c #3C3E3D", +"4a c #EDC640", +"4b c #FED84A", +"4c c #FEDC45", +"4d c #FFB732", +"4e c #FB9B27", +"4f c #FDAB34", +"4g c #FFD84D", +"4h c #D1C75A", +"4i c #494936", +"4j c #2F2F2E", +"4k c #2E2E2E", +"4l c #2C2D2C", +"4m c #2C2C2D", +"4n c #5A5A32", +"4o c #F9F975", +"4p c #907E5E", +"4q c #8F7D60", +"4r c #8D7B5C", +"4s c #8C7859", +"4t c #897455", +"4u c #BFB485", +"4v c #E0DB9E", +"4w c #CEC989", +"4x c #7A6545", +"4y c #7A6544", +"4z c #796240", +"4A c #735D3C", +"4B c #BBAC67", +"4C c #EBEC67", +"4D c #242424", +"4E c #2D2F2D", +"4F c #363636", +"4G c #383838", +"4H c #3A3938", +"4I c #393B3B", +"4J c #3A3C3B", +"4K c #424242", +"4L c #404041", +"4M c #3F4040", +"4N c #3B3C3D", +"4O c #EBC33E", +"4P c #FED547", +"4Q c #FED841", +"4R c #FFD642", +"4S c #FFCE3D", +"4T c #FEAC2C", +"4U c #FC9928", +"4V c #FBB639", +"4W c #F2D251", +"4X c #898241", +"4Y c #2B2A2A", +"4Z c #292A29", +"4& c #292929", +"5 c #2A2928", +"50 c #FFFE84", +"51 c #918249", +"52 c #7F6E51", +"53 c #7E6C4F", +"54 c #7F6B4C", +"55 c #7C6849", +"56 c #C8C18A", +"57 c #FFFFB1", +"58 c #F1F19F", +"59 c #5B492E", +"5a c #705B39", +"5b c #6E5738", +"5c c #6B5635", +"5d c #8D793F", +"5e c #FFFE8C", +"5f c #525119", +"5g c #1A1819", +"5h c #323231", +"5i c #363737", +"5j c #383837", +"5k c #393A39", +"5l c #3F3E3E", +"5m c #3E3C3C", +"5n c #3B3C3B", +"5o c #EBC13C", +"5p c #FFD547", +"5q c #FED740", +"5r c #FFD540", +"5s c #FED33F", +"5t c #FECD3C", +"5u c #FEBB36", +"5v c #FBB641", +"5w c #FBAE2F", +"5x c #D9972A", +"5y c #44402E", +"5z c #292927", +"5A c #E4E469", +"5B c #9F9244", +"5C c #7A674A", +"5D c #7A6648", +"5E c #796547", +"5F c #776344", +"5G c #9F8C55", +"5H c #F1DC61", +"5I c #DCC73E", +"5J c #554525", +"5K c #6D5838", +"5L c #695334", +"5M c #685131", +"5N c #ECEA86", +"5O c #9A9A2C", +"5P c #181818", +"5Q c #222223", +"5R c #383938", +"5S c #3F403F", +"5T c #3E3F3F", +"5U c #3C3C3D", +"5V c #ECBC39", +"5W c #FFD748", +"5X c #FFD63F", +"5Y c #FFD53F", +"5Z c #FED13D", +"5& c #FFDA54", +"6 c #FED75F", +"60 c #FAAB2A", +"61 c #AA7223", +"62 c #40382C", +"63 c #2B2C2B", +"64 c #2A2B2B", +"65 c #2B2A2B", +"66 c #C3C465", +"67 c #C6BD44", +"68 c #776345", +"69 c #756144", +"6a c #746043", +"6b c #745F41", +"6c c #76633E", +"6d c #4F4319", +"6e c #362D17", +"6f c #453720", +"6g c #6A5535", +"6h c #6A5334", +"6i c #695233", +"6j c #675032", +"6k c #C6BE62", +"6l c #E2E259", +"6m c #191A19", +"6n c #1C1C1B", +"6o c #333434", +"6p c #393B39", +"6q c #414140", +"6r c #403F3F", +"6s c #3B3B3C", +"6t c #EDBA38", +"6u c #FED345", +"6v c #FFD43E", +"6w c #FEDD59", +"6x c #FFC743", +"6y c #E49924", +"6z c #6D502B", +"6A c #2E302F", +"6B c #2E2F2D", +"6C c #2D2D2D", +"6D c #2D2E2D", +"6E c #2C2D2E", +"6F c #2D2C2C", +"6G c #96964E", +"6H c #D5D05D", +"6I c #745F43", +"6J c #725E41", +"6K c #735D3F", +"6L c #715D3D", +"6M c #6F5B3B", +"6N c #6A5538", +"6O c #685336", +"6P c #6A5536", +"6Q c #6A5434", +"6R c #685333", +"6S c #664F30", +"6T c #8E7D44", +"6U c #FFFF77", +"6V c #44451A", +"6W c #1B1B1A", +"6X c #2A2929", +"6Y c #39393A", +"6Z c #434243", +"6& c #3F3E3D", +"7 c #ECB638", +"70 c #FED957", +"71 c #FFDD50", +"72 c #FFDB57", +"73 c #FAB42C", +"74 c #C68527", +"75 c #453E32", +"76 c #323232", +"77 c #303131", +"78 c #2F3031", +"79 c #2F2F31", +"7a c #303031", +"7b c #70713E", +"7c c #F0EE66", +"7d c #705C3F", +"7e c #705B3E", +"7f c #705B3C", +"7g c #6F583B", +"7h c #6D583A", +"7i c #6C5639", +"7j c #6C5537", +"7k c #695436", +"7l c #675332", +"7m c #665030", +"7n c #654E2F", +"7o c #66512F", +"7p c #F6F37D", +"7q c #8C8D27", +"7r c #1A1B1B", +"7s c #202020", +"7t c #383937", +"7u c #444544", +"7v c #424243", +"7w c #3E3F3E", +"7x c #ECB535", +"7y c #FFEB7A", +"7z c #FECC44", +"7A c #EB9F24", +"7B c #7E5D2F", +"7C c #373638", +"7D c #343536", +"7E c #353535", +"7F c #353334", +"7G c #333334", +"7H c #343433", +"7I c #323433", +"7J c #333234", +"7K c #525337", +"7L c #FEFF6B", +"7M c #81703D", +"7N c #6D583B", +"7O c #6D5739", +"7P c #6B5539", +"7Q c #6A5335", +"7R c #675133", +"7S c #655131", +"7T c #6F5B36", +"7U c #8A7B52", +"7V c #A69A6E", +"7W c #EFEE95", +"7X c #D4D44E", +"7Y c #1C1C1C", +"7Z c #303030", +"7& c #454644", +"8 c #EDB035", +"80 c #FEB42B", +"81 c #CA8929", +"82 c #534739", +"83 c #3A3A3A", +"84 c #393A38", +"85 c #373737", +"86 c #363637", +"87 c #353636", +"88 c #363536", +"89 c #FFFE70", +"8a c #98883C", +"8b c #6B5638", +"8c c #6A5638", +"8d c #6A5435", +"8e c #695435", +"8f c #84734E", +"8g c #9C8C71", +"8h c #CAC398", +"8i c #D8D392", +"8j c #FFFE8B", +"8k c #FFFF65", +"8l c #F0F03C", +"8m c #C7C623", +"8n c #AAAA29", +"8o c #23251C", +"8p c #1D1C1E", +"8q c #232221", +"8r c #474648", +"8s c #454746", +"8t c #464445", +"8u c #444344", +"8v c #E59C2D", +"8w c #996E32", +"8x c #3E3E3F", +"8y c #383939", +"8z c #2F2D2E", +"8A c #3B3A39", +"8B c #3A3B3A", +"8C c #393A3A", +"8D c #3A3A39", +"8E c #3A3839", +"8F c #DFDF65", +"8G c #AB9E3E", +"8H c #7D6A4C", +"8I c #97896E", +"8J c #BCB49B", +"8K c #DAD39D", +"8L c #F5F39A", +"8M c #FEFE74", +"8N c #FFFE47", +"8O c #D4D425", +"8P c #B1B019", +"8Q c #6A6B18", +"8R c #555618", +"8S c #1D1D1E", +"8T c #1E1D1E", +"8U c #1F1E1E", +"8V c #1F1F20", +"8W c #393938", +"8X c #494848", +"8Y c #4A4742", +"8Z c #434342", +"8& c #414343", +"9 c #414142", +"90 c #38393A", +"91 c #2A292A", +"92 c #3C3D3E", +"93 c #3C3C3C", +"94 c #3C3D3C", +"95 c #C2C26F", +"96 c #F9FA8D", +"97 c #FFFD85", +"98 c #FEFB53", +"99 c #E2DF26", +"9a c #B9B719", +"9b c #737218", +"9c c #1D1D1D", +"9d c #1E1E1E", +"9e c #1E1D1D", +"9f c #1E1F1F", +"9g c #1F1E1F", +"9h c #1E201F", +"9i c #20211F", +"9j c #212021", +"9k c #2D2D2E", +"9l c #414242", +"9m c #4B4A4A", +"9n c #474849", +"9o c #464745", +"9p c #1F1F1F", +"9q c #232322", +"9r c #343534", +"9s c #7C7B3C", +"9t c #9A9633", +"9u c #6F6B28", +"9v c #2C2C1D", +"9w c #1F201E", +"9x c #1E1E1F", +"9y c #1E201E", +"9z c #1F1F1E", +"9A c #201F20", +"9B c #20201F", +"9C c #1F201F", +"9D c #202021", +"9E c #202121", +"9F c #212222", +"9G c #212121", +"9H c #212221", +"9I c #4D4C4B", +"9J c #4B4A4B", +"9K c #4A4B49", +"9L c #4A484A", +"9M c #484847", +"9N c #484747", +"9O c #464647", +"9P c #202221", +"9Q c #222222", +"9R c #2C2C2B", +"9S c #3B393A", +"9T c #444442", +"9U c #434142", +"9V c #212120", +"9W c #212020", +"9X c #202222", +"9Y c #222221", +"9Z c #222122", +"9& c #212321", +"a c #212122", +"a0 c #222322", +"a1 c #232223", +"a2 c #242224", +"a3 c #4E4E4E", +"a4 c #4D4C4D", +"a5 c #49494B", +"a6 c #212322", +"a7 c #232321", +"a8 c #232222", +"a9 c #252625", +"aa c #454546", +"ab c #454446", +"ac c #272829", +"ad c #222321", +"ae c #232323", +"af c #222324", +"ag c #232423", +"ah c #242323", +"ai c #232424", +"aj c #232524", +"ak c #242525", +"al c #262627", +"am c #535253", +"an c #525151", +"ao c #505051", +"ap c #504E4F", +"aq c #4F4F4E", +"ar c #4C4D4C", +"as c #252324", +"at c #252423", +"au c #232324", +"av c #252424", +"aw c #302F30", +"ax c #474848", +"ay c #373535", +"az c #232325", +"aA c #232525", +"aB c #252524", +"aC c #252425", +"aD c #252525", +"aE c #262525", +"aF c #262425", +"aG c #262526", +"aH c #262626", +"aI c #272626", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g h i i j k l m n m o p q r p s t h u v w x y", +" z A B C D 8 E F G H I x J K L n M N O P Q R S T U V W X Y Z & & Y0 0001010203 U03", +"0405060708090a0b0c0d0e0f0g0h0200000i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0v0y0z0A0q0B0l0C", +"0D0E i0F0G0H0I W0 0J0K0L0M0z0z0N0O0P0Q0R0S0T0S0U0V0W0X0Y0Z0X0B0&1 100S0W110T12130t", +"140H R0101150B0m161718191a1b1c1d1e1f1g1h1i1j1k1l1k1m1n1o1p1q1r1s1t1u1v1w1x1y1d1z0Z", +"1A0i0l0p0u1B1C0S1D1E1F1u1u1G1H1I1J1K1K1L1M1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Y1J1Z1&1&1f1F", +"0n2 20211a2223241&25262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t292u2v1K2w2x1J", +"2y1b0Y1e1u2z2A2B2C2D2E2b2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2G2&3 2c3031281N", +"32331v342635363738393a3b3c3d3e3f3g3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x2I3y3z3A3B29", +"1f1u1m2w293C3D3E3F3G3H3I3J3K3L3M3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 4041423c3b43444546", +"471I2848494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J", +"4K4L4M2t4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h5i5j5k2G", +"4K4M5l5m5n5o5p5q5r5s5t5u5v5w5x5y4&5z4&5A5B5C5D5E5F5G5H5I5J5K5c5L5M5N5O5P5Q5i4G5R3y", +"1Y5S5T5U2G5V5W5X5Y5Z5&6 60616263644Z65666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o5j4G6p", +"4K6q6r3 6s6t6u6v5s6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6j6S6T6U6V6W6X5R6Y44", +"6Z272w6&2b7 7071727374757676777778797a7b7c7d7e7f7g7h7i7j7k7l6j7m7n7o7p7q7r7s7t442F", +"7u7v1L287w7x7y7z7A7B7C4F7D7E7F7G7H7I7J7K7L7M7N7O7O7P6P7Q6i7R7S7T7U7V7W7X7Y7Y7Z2&2b", +"7&1m1m4K1N8 8081824G83844G858586873e8888898a8b8c8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q2&6&", +"8r8s8t8u4K8v8w5S8x8y8z8A5n8B446Y8C8D5k8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8S8T8T8U8V8W28", +"8X0X1e1i1k8Y8Z8&9 908V918C2E92933A5U5U9495969798999a9b8R9c8T9d9e9f9g9d9h9g9i9j9k9l", +"0t9m329n1E1g9o1l47839p8V9q9r2c1N5S4M314M9s9t9u9v9w9x9y9z9g9p9A9p9B9C9D9E7s9F9G9H2E", +"0v0t9I9J9K9L9M9N9O2b9H9D9P9Q9R9S9T344K1m9U9U2E9Q9G9V9W9E7s9G9X9Q9Y9Z9Z9&a a0a1a288", +"0l0Ba3a4a40P219Ja52ca05Qa6a7a8a93c471vaaab1v7uac9Q9qadae9Faea1aeafagahaiajahakakal", +"amanao0Kapaq0qa3ar1Kakasataiagauavaw1jax0Y8X0Yayau4D4DazavaAajaBakaCaDaEaFaGaEaHaI"}; diff --git a/2009-x64/cps4.03/icons/cpscConvertVertex.xpm b/2009-x64/cps4.03/icons/cpscConvertVertex.xpm new file mode 100644 index 0000000..d1ee3e4 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscConvertVertex.xpm @@ -0,0 +1,623 @@ +/* XPM */ +static char *CVERTEX_xpm[]={ +"41 24 596 2", +" c #686869", +" 0 c #686768", +" 1 c #666666", +" 2 c #646564", +" 3 c #636564", +" 4 c #636262", +" 5 c #616161", +" 6 c #606060", +" 7 c #5E5F5F", +" 8 c #5D5D5F", +" 9 c #5E5E5E", +" a c #5D5D5D", +" b c #5C5C5D", +" c c #5C5B5C", +" d c #5B5B5C", +" e c #5A5A5B", +" f c #5A5B5A", +" g c #5A5A59", +" h c #5A5959", +" i c #575859", +" j c #575758", +" k c #585758", +" l c #575657", +" m c #575757", +" n c #555756", +" o c #555655", +" p c #565656", +" q c #565655", +" r c #5D5C55", +" s c #5B5C5C", +" t c #5B5A5A", +" u c #5A5B5B", +" v c #595958", +" w c #585759", +" x c #646565", +" y c #626362", +" z c #636161", +" A c #616261", +" B c #616160", +" C c #5F5E60", +" D c #5D5F5D", +" E c #5D5C5D", +" F c #5B5B5A", +" G c #5B5B5B", +" H c #5A595A", +" I c #585959", +" J c #565856", +" K c #565657", +" L c #565556", +" M c #565456", +" N c #545555", +" O c #545354", +" P c #555455", +" Q c #545453", +" R c #545254", +" S c #535253", +" T c #535252", +" U c #535352", +" V c #525152", +" W c #525251", +" X c #515251", +" Y c #525252", +" Z c #505251", +" & c #515151", +"0 c #535353", +"00 c #525452", +"01 c #605E5F", +"02 c #5E5F5E", +"03 c #5A5958", +"04 c #585858", +"05 c #575858", +"06 c #575656", +"07 c #565554", +"08 c #545454", +"09 c #525352", +"0a c #515252", +"0b c #505051", +"0c c #4F504F", +"0d c #505050", +"0e c #4F4F4F", +"0f c #4E4F4F", +"0g c #4E4D4D", +"0h c #4E4D4E", +"0i c #4D4D4E", +"0j c #4D4D4C", +"0k c #4D4D4D", +"0l c #4E4E4D", +"0m c #4D4E4C", +"0n c #4D4F4D", +"0o c #4F4D4F", +"0p c #4F4E4D", +"0q c #4E4F4E", +"0r c #5B5A5B", +"0s c #5A5859", +"0t c #585757", +"0u c #585756", +"0v c #535453", +"0w c #505150", +"0x c #4F5050", +"0y c #4B4C4C", +"0z c #4B4B4C", +"0A c #4A4C4C", +"0B c #4A4C4A", +"0C c #4B4A4B", +"0D c #49494A", +"0E c #4A4A4A", +"0F c #4A494A", +"0G c #49484A", +"0H c #484948", +"0I c #484848", +"0J c #484849", +"0K c #494848", +"0L c #494849", +"0M c #48494A", +"0N c #4A4A49", +"0O c #494A4A", +"0P c #4A494B", +"0Q c #4A4A4B", +"0R c #4A4B4A", +"0S c #4C4C4B", +"0T c #4B4C4D", +"0U c #555556", +"0V c #535355", +"0W c #545352", +"0X c #4F504E", +"0Y c #4D4C4C", +"0Z c #4D4C4B", +"0& c #4B4A4A", +"1 c #494A49", +"10 c #484949", +"11 c #474849", +"12 c #464747", +"13 c #464746", +"14 c #454547", +"15 c #464546", +"16 c #464645", +"17 c #444645", +"18 c #444544", +"19 c #454444", +"1a c #434443", +"1b c #434444", +"1c c #454343", +"1d c #454544", +"1e c #444444", +"1f c #444545", +"1g c #454546", +"1h c #454545", +"1i c #464647", +"1j c #474747", +"1k c #494748", +"1l c #484A49", +"1m c #525151", +"1n c #484749", +"1o c #474748", +"1p c #7A7650", +"1q c #737458", +"1r c #444445", +"1s c #444343", +"1t c #444443", +"1u c #424243", +"1v c #424341", +"1w c #424141", +"1x c #424241", +"1y c #424142", +"1z c #414041", +"1A c #404141", +"1B c #403F40", +"1C c #40413F", +"1D c #3F403F", +"1E c #403F3F", +"1F c #413F40", +"1G c #403F41", +"1H c #414042", +"1I c #424242", +"1J c #454645", +"1K c #4F4E4F", +"1L c #4C4C4E", +"1M c #4B4B4B", +"1N c #494949", +"1O c #484748", +"1P c #474746", +"1Q c #464545", +"1R c #444344", +"1S c #434343", +"1T c #8E8345", +"1U c #FEF46C", +"1V c #A5A45D", +"1W c #454540", +"1X c #3E403F", +"1Y c #3D3D3D", +"1Z c #3D3D3E", +"1& c #3D3E3C", +"2 c #3C3D3D", +"20 c #3D3C3B", +"21 c #3C3C3C", +"22 c #3B3B3D", +"23 c #3C3B3C", +"24 c #3C3B3A", +"25 c #3C3B3B", +"26 c #3B3B3B", +"27 c #3D3C3C", +"28 c #3D3E3E", +"29 c #3F3E3E", +"2a c #414140", +"2b c #404241", +"2c c #424343", +"2d c #4A4949", +"2e c #464847", +"2f c #454445", +"2g c #434242", +"2h c #404041", +"2i c #41403F", +"2j c #3E3E3F", +"2k c #8C7F42", +"2l c #FFCD47", +"2m c #FEDA54", +"2n c #D9CF5C", +"2o c #656345", +"2p c #393939", +"2q c #393A38", +"2r c #393938", +"2s c #393838", +"2t c #383839", +"2u c #393839", +"2v c #383737", +"2w c #383738", +"2x c #363836", +"2y c #373736", +"2z c #363837", +"2A c #373838", +"2B c #3A3939", +"2C c #3A3B3B", +"2D c #3F3F3D", +"2E c #3F3E3F", +"2F c #404040", +"2G c #494948", +"2H c #474646", +"2I c #454646", +"2J c #434543", +"2K c #414343", +"2L c #3D3F3E", +"2M c #3B3B3A", +"2N c #8A7A3D", +"2O c #FEC242", +"2P c #FEA331", +"2Q c #FEB93E", +"2R c #F9D451", +"2S c #9A904A", +"2T c #343534", +"2U c #353535", +"2V c #343435", +"2W c #343335", +"2X c #333434", +"2Y c #343533", +"2Z c #323233", +"2& c #333333", +"3 c #333334", +"30 c #343433", +"31 c #353334", +"32 c #353634", +"33 c #363736", +"34 c #373836", +"35 c #373737", +"36 c #393A3A", +"37 c #3A3A3A", +"38 c #3B3C3B", +"39 c #3C3C3D", +"3a c #414141", +"3b c #3F3F40", +"3c c #3E3F3F", +"3d c #3C3D3C", +"3e c #373837", +"3f c #87753A", +"3g c #FEC743", +"3h c #FEC13A", +"3i c #FA9626", +"3j c #FE942B", +"3k c #FEC343", +"3l c #D3AE47", +"3m c #504D37", +"3n c #313031", +"3o c #2F312F", +"3p c #303030", +"3q c #2F3031", +"3r c #2F2F30", +"3s c #2E2F2E", +"3t c #302F2F", +"3u c #2E3030", +"3v c #313231", +"3w c #323232", +"3x c #333233", +"3y c #343434", +"3z c #353534", +"3A c #373636", +"3B c #373738", +"3C c #383938", +"3D c #39393A", +"3E c #434544", +"3F c #3F4040", +"3G c #3B3C3D", +"3H c #3B3B39", +"3I c #383939", +"3J c #363636", +"3K c #867238", +"3L c #FFC843", +"3M c #FFCE3F", +"3N c #FEC63D", +"3O c #FAA82D", +"3P c #F78922", +"3Q c #FDA631", +"3R c #F9B83E", +"3S c #90783B", +"3T c #2E2E2D", +"3U c #2C2E2D", +"3V c #2D2C2C", +"3W c #2C2B2B", +"3X c #6E6E3C", +"3Y c #BDBD3C", +"3Z c #BDBE3C", +"3& c #BDBD3B", +"4 c #989738", +"40 c #313132", +"41 c #353636", +"42 c #363738", +"43 c #393A3B", +"44 c #3C3C3B", +"45 c #424342", +"46 c #3E3E3E", +"47 c #806A34", +"48 c #FEC642", +"49 c #FEC93B", +"4a c #FEC83D", +"4b c #FEC43A", +"4c c #FEB733", +"4d c #F38D21", +"4e c #EC8621", +"4f c #FCA832", +"4g c #C9983C", +"4h c #453F2F", +"4i c #2A2A2A", +"4j c #292929", +"4k c #292829", +"4l c #292828", +"4m c #797A3F", +"4n c #FEFE40", +"4o c #FEFE41", +"4p c #FEFF42", +"4q c #CACA3B", +"4r c #2E2F2F", +"4s c #2F2F31", +"4t c #313131", +"4u c #323132", +"4v c #343233", +"4w c #373535", +"4x c #383937", +"4y c #3B3A3B", +"4z c #403F3E", +"4A c #373939", +"4B c #363537", +"4C c #333332", +"4D c #7F6934", +"4E c #FFBA3B", +"4F c #FFC93C", +"4G c #FEC63B", +"4H c #FEC338", +"4I c #FEBF37", +"4J c #FEB833", +"4K c #F6B347", +"4L c #FDB94A", +"4M c #F39521", +"4N c #936523", +"4O c #302D2A", +"4P c #282828", +"4Q c #282827", +"4R c #282927", +"4S c #79793E", +"4T c #FEFF40", +"4U c #FFFE3F", +"4V c #FFFE40", +"4W c #CACB3A", +"4X c #2D2E2E", +"4Y c #302F30", +"4Z c #363635", +"4& c #373637", +"5 c #383838", +"50 c #393A39", +"51 c #3B3C3A", +"52 c #7E6834", +"53 c #FFC13E", +"54 c #FFC437", +"55 c #FEC439", +"56 c #FFC236", +"57 c #FEC03A", +"58 c #FFD36F", +"59 c #FCB84F", +"5a c #D3821B", +"5b c #5B4223", +"5c c #2C2B2C", +"5d c #2B2A2A", +"5e c #292A29", +"5f c #29292A", +"5g c #6C6C3B", +"5h c #FEFE3C", +"5i c #FEFF3C", +"5j c #FEFE3D", +"5k c #C6C533", +"5l c #232323", +"5m c #323333", +"5n c #343436", +"5o c #363637", +"5p c #3A3A39", +"5q c #3A3B3A", +"5r c #3E3C3D", +"5s c #3B3C3C", +"5t c #3A3A3B", +"5u c #363838", +"5v c #353635", +"5w c #353434", +"5x c #806734", +"5y c #FEBC3A", +"5z c #FEBA31", +"5A c #FFC537", +"5B c #FECF52", +"5C c #FED263", +"5D c #F9A62C", +"5E c #AA6B19", +"5F c #3B342B", +"5G c #2C2D2D", +"5H c #2C2E2E", +"5I c #2C2C2D", +"5J c #2B2B2C", +"5K c #2C2C2C", +"5L c #292928", +"5M c #181717", +"5N c #161515", +"5O c #161617", +"5P c #181616", +"5Q c #2B2C2C", +"5R c #343535", +"5S c #383638", +"5T c #3A393A", +"5U c #3E3D3F", +"5V c #3C3A3B", +"5W c #806836", +"5X c #FEC142", +"5Y c #FEBF36", +"5Z c #FFD863", +"5& c #FDC24B", +"6 c #E18F1F", +"60 c #6A4B23", +"61 c #313030", +"62 c #313130", +"63 c #303130", +"64 c #2F3030", +"65 c #2F302E", +"66 c #2F2F2F", +"67 c #2E2F30", +"68 c #2D2D2D", +"69 c #171718", +"6a c #181718", +"6b c #181819", +"6c c #1F1E1E", +"6d c #333331", +"6e c #353736", +"6f c #3B3B3C", +"6g c #424040", +"6h c #3E3D3D", +"6i c #826837", +"6j c #FFCF56", +"6k c #FEDA65", +"6l c #FAAF2C", +"6m c #B77620", +"6n c #483D2F", +"6o c #323332", +"6p c #333232", +"6q c #323131", +"6r c #1C1C1C", +"6s c #181918", +"6t c #191918", +"6u c #1A1919", +"6v c #19191A", +"6w c #242423", +"6x c #373638", +"6y c #434244", +"6z c #414142", +"6A c #3F3F3F", +"6B c #846A38", +"6C c #FEB932", +"6D c #EC9E22", +"6E c #865E28", +"6F c #363737", +"6G c #353536", +"6H c #262726", +"6I c #1A1A1A", +"6J c #1B1A1A", +"6K c #1B1A1B", +"6L c #1C1C1B", +"6M c #3D3E3D", +"6N c #444644", +"6O c #434243", +"6P c #414242", +"6Q c #846A39", +"6R c #BE7E24", +"6S c #544834", +"6T c #3A393B", +"6U c #393739", +"6V c #1D1D1D", +"6W c #1B1D1C", +"6X c #1C1C1D", +"6Y c #1C1D1D", +"6Z c #222021", +"6& c #3A3938", +"7 c #3C3E3C", +"70 c #3E3D3E", +"71 c #3E4040", +"72 c #40403F", +"73 c #484A48", +"74 c #484847", +"75 c #474647", +"76 c #464646", +"77 c #444442", +"78 c #414241", +"79 c #4F473C", +"7a c #3E3C3E", +"7b c #353333", +"7c c #1E1C1E", +"7d c #222423", +"7e c #383637", +"7f c #1D1E1E", +"7g c #1D1D1E", +"7h c #1D1E1F", +"7i c #1E1E1F", +"7j c #3E3F40", +"7k c #434142", +"7l c #414040", +"7m c #343333", +"7n c #1F1E1F", +"7o c #212222", +"7p c #2F2F2E", +"7q c #3E3F3E", +"7r c #3F3F3E", +"7s c #222223", +"7t c #1F1F1F", +"7u c #202020", +"7v c #20201F", +"7w c #242525", +"7x c #4C4C4D", +"7y c #494B4B", +"7z c #474848", +"7A c #212021", +"7B c #212121", +"7C c #212120", +"7D c #2A292A", +"7E c #383837", +"7F c #434241", +"7G c #424143", +"7H c #434143", +"7I c #212221", +"7J c #2B2A2B", +"7K c #414240", +"7L c #454344", +"7M c #464644", +"7N c #4F5051", +"7O c #4E504F", +"7P c #4E4E4E", +"7Q c #4D4E4D", +"7R c #4C4C4C", +"7S c #4C4B4B", +"7T c #4B494B", +"7U c #474847", +"7V c #3A3C3A", +"7W c #212123", +"7X c #222222", +"7Y c #232322", +"7Z c #222221", +"7& c #252525", +"8 c #444446", +"80 c #272827", +"81 c #222322", +"82 c #242422", +"83 c #2B292A", +"84 c #515050", +"85 c #4D4C4E", +"86 c #4C4B4A", +"87 c #232324", +"88 c #242424", +"89 c #232325", +"8a c #252424", +"8b c #252325", +"8c c #2C2D2E", +"8d c #434342", +"8e c #484646", +"8f c #484947", +"8g c #2F2E2D", +"8h c #4B4A49", +"8i c #4A4B4B", +" 0 1 2 2 3 4 5 5 6 7 8 9 a b c d e f g h i j j k l m n o p q q r d s t u v v w", +" x y z A B C D E E F G H I i k J K L M N O P Q R S S T U V W X Y Z W & W T T0 Y00", +"0102 a s G u03040506070808 Q090a V0b0c0d0e0f0f0f0g0h0i0j0j0j0k0j0i0l0l0m0n0o0p0q0f", +"0r0s0t0u L q0v08 T0w0x0e0h0l0k0y0y0z0A0B0C0D0E0F0G0H0I0H0J0J0K0L0M0N0O0P0O0Q0R0S0T", +" m0U0V0W Y0x0X0l0Y0Z0&0R1 10110I1213121415161718191a1b191c181d1e1f1g1h1i121j0I1k1l", +" T1m0d0i0k0Y0R0O1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1A1C1D1B1E1D1F1G1A1A1H1I1u1t1c181e1J", +"1K1L1M0C1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 1Y20212223242525262527202 2828291B1C2a2b2c1u", +"0z2d0L2e162f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2w2w2x2y2z2A2w2s2q2B2C25201Y2D2E2F2F", +"2G2H2I2J2K1w1E2L272M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&2Z2X3 3031322U3334352r363738391Z29", +"16182g3a3b3c3d372u3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3t3p3v3w3w3x3y3z3A3B3C3D2M383d", +"3E1u2a3F283G3H3I3J3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3W3W3X3Y3Z3&4 3o402Z2X3141422s2t4344", +"452F3F4620263C2v2U3 4748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v2U4w3A4x374y", +"1v2F4z21263D4A4B2T4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Y4u2&3 4Z4&5 2p50", +"1I2h2j2751502t4&2U2&52535455565758595a5b5c5d5e5f5f5g5h5i5j5k5l3p4t5m3w3y5n5o2r5p5q", +"1I2h1E5r5s5t2u5u5v5w5x5y5z5A5B5C5D5E5F5G4X5H5I5J5I5K5L5M5N5O5P5Q4u3w5R4Z335S2A505T", +"1I2a1B5U2 5V372t3e2y5W5X5Y5Z5&6 603t61626364653r6667685M696a6b6c6d5R3J6e2y2p2p2C6f", +"1b1S6g2F3c6h21372B2p6i6j6k6l6m6n2&4C2Z306o6p3w3w6o406q6r6s6t6u6v6w4&6x5 3I375V231Y", +"1J196y6z1F6A291Y446f6B6C6D6E354Z3A6F3J2U2U6G6G3z3y2U2U6H6I6J6J6K6L5G2q5T3744392 6M", +"0I1j6N1S6O6P1F2F2E1Y6Q6R6S4y6T413V332r3C3I3I3I6U3C2s2u6p6V6L6W6X6Y6Z6&3d7 70707172", +"73747576151R77786z1A791D466M7a7b7c7d7e6f265s255s24262C445K7f7g7h7i7i5G6A7j6A1z6z1u", +"0y1N0O100I1P762f1a1u457k1y7l1z7m7n6c7o7p1Z2F1E7q2j7q467r517s7t7t7u7v7w46781x2c1S1f", +"0i0k7x1M7y2G0K7z2e1h2I1f1r1h1a317A7u7B7C7D7E1w7F7G1x7H787k3n7B7I7B7I7J7K7L7M761g1j", +"7N7O7P7Q0Y7R7S7T0P0L0I1O0I7U7U7V7W7X7Y7Z5l7&2v6O2f1r1r2f8 45807s81828318751o7U0J0G", +" Y V840b0d7P0h850k0Y0T860E0&0F1w878888898a8b8a8c8d8e741O0I8f504X4Y8g412e0D8h0C0&8i"}; diff --git a/2009-x64/cps4.03/icons/cpscDecreaseEdgeSubd.xpm b/2009-x64/cps4.03/icons/cpscDecreaseEdgeSubd.xpm new file mode 100644 index 0000000..a84cf34 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscDecreaseEdgeSubd.xpm @@ -0,0 +1,1017 @@ +/* XPM */ +static char *DEC_xpm[]={ +"64 24 990 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6A6A", +" 7 c #696969", +" 8 c #696867", +" 9 c #676768", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #646461", +" h c #787764", +" i c #5F5E5F", +" j c #5D5E5D", +" k c #5C5C5C", +" l c #5B5B5D", +" m c #5B5C5C", +" n c #5B5A5B", +" o c #5B5B5B", +" p c #59595A", +" q c #595858", +" r c #585858", +" s c #585758", +" t c #575656", +" u c #565756", +" v c #555556", +" w c #565554", +" x c #555555", +" y c #545455", +" z c #545555", +" A c #545355", +" B c #535453", +" C c #535353", +" D c #535253", +" E c #545453", +" F c #545353", +" G c #555653", +" H c #7A7956", +" I c #5B5A55", +" J c #545554", +" K c #545456", +" L c #565555", +" M c #595857", +" N c #716E5D", +" O c #877F58", +" P c #8C8658", +" Q c #898454", +" R c #6B6956", +" S c #5A5857", +" T c #595859", +" U c #585859", +" V c #585A5A", +" W c #6D6D6D", +" X c #6C6D6C", +" Y c #6C6B6B", +" Z c #68696A", +" & c #696868", +"0 c #666767", +"00 c #656665", +"01 c #656564", +"02 c #646264", +"03 c #616062", +"04 c #606161", +"05 c #5E5F5F", +"06 c #5F5E5E", +"07 c #5D5D5D", +"08 c #5D5D5C", +"09 c #A0A068", +"0a c #EFF076", +"0b c #979861", +"0c c #5A5A57", +"0d c #575858", +"0e c #575756", +"0f c #555656", +"0g c #555554", +"0h c #535455", +"0i c #535452", +"0j c #525352", +"0k c #515152", +"0l c #525150", +"0m c #505052", +"0n c #515050", +"0o c #4F5050", +"0p c #504F50", +"0q c #50504F", +"0r c #504F4F", +"0s c #504E4F", +"0t c #4E504F", +"0u c #4F4F4E", +"0v c #4F4F50", +"0w c #525250", +"0x c #979759", +"0y c #F5F553", +"0z c #C7C751", +"0A c #5D5B51", +"0B c #505150", +"0C c #535251", +"0D c #716E61", +"0E c #AB9C65", +"0F c #857E56", +"0G c #73674F", +"0H c #6D6652", +"0I c #7B734F", +"0J c #9D9458", +"0K c #A19652", +"0L c #646053", +"0M c #69696A", +"0N c #686868", +"0O c #676868", +"0P c #656667", +"0Q c #656666", +"0R c #636263", +"0S c #626261", +"0T c #606162", +"0U c #605F60", +"0V c #5E5F5D", +"0W c #5A5B5B", +"0X c #585A59", +"0Y c #75755B", +"0Z c #F4F671", +"0& c #FDFD75", +"1 c #F7F670", +"10 c #92934F", +"11 c #525251", +"12 c #4F5051", +"13 c #4E4F4F", +"14 c #4E4F4E", +"15 c #4D4E4F", +"16 c #4D4E4D", +"17 c #4E4E4D", +"18 c #4C4C4C", +"19 c #4C4B4C", +"1a c #4B4A4C", +"1b c #4A4B4A", +"1c c #4C4C4A", +"1d c #4A4C4A", +"1e c #4B4B4A", +"1f c #4A4A4A", +"1g c #4C4A4C", +"1h c #4B4C4B", +"1i c #7F7F4E", +"1j c #F8F653", +"1k c #FDFD4F", +"1l c #FBFB4D", +"1m c #97964A", +"1n c #4D4D4D", +"1o c #736D5B", +"1p c #9E824E", +"1q c #58544C", +"1r c #4F4E4F", +"1s c #505251", +"1t c #6D6A54", +"1u c #B8A450", +"1v c #605A52", +"1w c #555355", +"1x c #646564", +"1y c #636463", +"1z c #636262", +"1A c #616061", +"1B c #5E605F", +"1C c #5D5E5E", +"1D c #5C5C5D", +"1E c #5B5A5C", +"1F c #5A595A", +"1G c #575757", +"1H c #565556", +"1I c #535454", +"1J c #535354", +"1K c #5E5C4F", +"1L c #BBB542", +"1M c #FAF86A", +"1N c #F0EF4C", +"1O c #5A592C", +"1P c #494B49", +"1Q c #4C4D4C", +"1R c #4B4B4C", +"1S c #4B4A4B", +"1T c #4B494B", +"1U c #494A4A", +"1V c #484A49", +"1W c #494948", +"1X c #494848", +"1Y c #484847", +"1Z c #474747", +"1& c #464748", +"2 c #464846", +"20 c #464746", +"21 c #464646", +"22 c #474546", +"23 c #464647", +"24 c #484846", +"25 c #494847", +"26 c #949053", +"27 c #F3E656", +"28 c #FBF94A", +"29 c #B8B83F", +"2a c #373730", +"2b c #58584F", +"2c c #AA8F50", +"2d c #524D4A", +"2e c #4B4C4C", +"2f c #4D4C4B", +"2g c #4E4D4D", +"2h c #4D4D4E", +"2i c #4F4D4E", +"2j c #4F4F4F", +"2k c #757554", +"2l c #98854C", +"2m c #525152", +"2n c #626163", +"2o c #606060", +"2p c #5E5E5E", +"2q c #5E5D5D", +"2r c #5D5B5D", +"2s c #5B5B5A", +"2t c #5A5A5A", +"2u c #575857", +"2v c #565757", +"2w c #545454", +"2x c #515352", +"2y c #515150", +"2z c #505050", +"2A c #53534E", +"2B c #A8913E", +"2C c #A07F1E", +"2D c #7F7B32", +"2E c #5E5F27", +"2F c #1F211E", +"2G c #3C3D3D", +"2H c #474848", +"2I c #454645", +"2J c #454446", +"2K c #454444", +"2L c #434444", +"2M c #444444", +"2N c #434342", +"2O c #434242", +"2P c #424243", +"2Q c #424242", +"2R c #414242", +"2S c #424241", +"2T c #434142", +"2U c #434243", +"2V c #424443", +"2W c #615E4D", +"2X c #D4C073", +"2Y c #8B7727", +"2Z c #9C9B30", +"2& c #303023", +"3 c #202221", +"30 c #6A6643", +"31 c #72684B", +"32 c #717156", +"33 c #787755", +"34 c #797954", +"35 c #7E7E53", +"36 c #848555", +"37 c #898954", +"38 c #999454", +"39 c #A09954", +"3a c #726D4F", +"3b c #AEA056", +"3c c #55524D", +"3d c #5F5F5E", +"3e c #5D5E5F", +"3f c #5D5C5C", +"3g c #5C5B5A", +"3h c #5A5B59", +"3i c #595959", +"3j c #555657", +"3k c #535352", +"3l c #504E50", +"3m c #4D4E4E", +"3n c #605F50", +"3o c #7A7951", +"3p c #9A863F", +"3q c #B9962B", +"3r c #4A4327", +"3s c #1D1E1D", +"3t c #1D1D1C", +"3u c #1C1B1B", +"3v c #2C2C2C", +"3w c #424142", +"3x c #404040", +"3y c #3F3F40", +"3z c #3E3F3E", +"3A c #3F403E", +"3B c #3E3E3E", +"3C c #3F3E3E", +"3D c #3E3D3F", +"3E c #3F3E3D", +"3F c #3D3E3E", +"3G c #3E3E3D", +"3H c #3E3D3E", +"3I c #3F3E3F", +"3J c #3E3F3F", +"3K c #3F3F3E", +"3L c #535045", +"3M c #CABE7C", +"3N c #887328", +"3O c #39372F", +"3P c #222221", +"3Q c #1E1E1E", +"3R c #201E1F", +"3S c #918649", +"3T c #59563F", +"3U c #F5F66E", +"3V c #FCFD66", +"3W c #FEFE62", +"3X c #FEFC5E", +"3Y c #FDFB5A", +"3Z c #FDF557", +"3& c #FDF053", +"4 c #FDE951", +"40 c #9E8A48", +"41 c #988C55", +"42 c #605747", +"43 c #5B5C5B", +"44 c #535553", +"45 c #525453", +"46 c #4E4C4D", +"47 c #4C4C4B", +"48 c #56554B", +"49 c #CDCE5F", +"4a c #F9F963", +"4b c #D8C641", +"4c c #65592A", +"4d c #232121", +"4e c #1B1B1B", +"4f c #1B1A1B", +"4g c #1A1B1A", +"4h c #252524", +"4i c #42413E", +"4j c #3D3D3D", +"4k c #3C3C3B", +"4l c #3B3A3B", +"4m c #3B3C3B", +"4n c #3A3B3B", +"4o c #3A3A3A", +"4p c #3B393A", +"4q c #3A3A38", +"4r c #393939", +"4s c #3A3839", +"4t c #393A39", +"4u c #3A3938", +"4v c #3B3B3A", +"4w c #46463F", +"4x c #BEB576", +"4y c #A28A37", +"4z c #413D2E", +"4A c #242323", +"4B c #1E1C1D", +"4C c #1E1E1F", +"4D c #90843F", +"4E c #504D2F", +"4F c #F7F657", +"4G c #FDFA55", +"4H c #FDF852", +"4I c #FDF34F", +"4J c #FEED4B", +"4K c #FEE94A", +"4L c #FEE546", +"4M c #FDDF43", +"4N c #9D8440", +"4O c #988B59", +"4P c #5F5545", +"4Q c #565656", +"4R c #515251", +"4S c #4D4C4E", +"4T c #484949", +"4U c #919152", +"4V c #FBFB61", +"4W c #FAF95A", +"4X c #979730", +"4Y c #1C1A1B", +"4Z c #1C1D1C", +"4& c #19191A", +"5 c #1A1A1A", +"50 c #302E2E", +"51 c #A18B43", +"52 c #6C6542", +"53 c #3B3A38", +"54 c #383738", +"55 c #383837", +"56 c #373637", +"57 c #363736", +"58 c #363637", +"59 c #373537", +"5a c #363536", +"5b c #353636", +"5c c #353434", +"5d c #353536", +"5e c #363635", +"5f c #363535", +"5g c #353535", +"5h c #353736", +"5i c #3F3E38", +"5j c #A59D67", +"5k c #A38C39", +"5l c #423E2C", +"5m c #252627", +"5n c #1C1C1D", +"5o c #1C1C1C", +"5p c #222322", +"5q c #282929", +"5r c #877A3C", +"5s c #524427", +"5t c #998837", +"5u c #9C8A3C", +"5v c #A08B3E", +"5w c #9B873D", +"5x c #93803E", +"5y c #897A40", +"5z c #8C793F", +"5A c #6E6044", +"5B c #AA995B", +"5C c #504C48", +"5D c #575758", +"5E c #505151", +"5F c #494A49", +"5G c #484748", +"5H c #5E593D", +"5I c #C7C03D", +"5J c #FAFA58", +"5K c #CECE3A", +"5L c #32321D", +"5M c #323231", +"5N c #242424", +"5O c #282828", +"5P c #363636", +"5Q c #BE943B", +"5R c #F5B540", +"5S c #A18842", +"5T c #423F36", +"5U c #323233", +"5V c #323332", +"5W c #313331", +"5X c #333232", +"5Y c #333333", +"5Z c #333332", +"5& c #323132", +"6 c #323232", +"60 c #313131", +"61 c #313231", +"62 c #313232", +"63 c #323333", +"64 c #363735", +"65 c #958D59", +"66 c #B39E40", +"67 c #454027", +"68 c #262624", +"69 c #1B1A1A", +"6a c #1E201F", +"6b c #2D2C2C", +"6c c #5E5D3F", +"6d c #7F6C32", +"6e c #393838", +"6f c #3F3F3F", +"6g c #414140", +"6h c #434443", +"6i c #444345", +"6j c #444645", +"6k c #78745B", +"6l c #847146", +"6m c #484948", +"6n c #555454", +"6o c #525252", +"6p c #504F51", +"6q c #4C4D4D", +"6r c #4B4C4D", +"6s c #4B4949", +"6t c #494949", +"6u c #59533F", +"6v c #AF922E", +"6w c #7F7018", +"6x c #626026", +"6y c #3A3B1E", +"6z c #313031", +"6A c #373737", +"6B c #343435", +"6C c #BB8E35", +"6D c #EB8922", +"6E c #EF9329", +"6F c #D7A03B", +"6G c #5F5235", +"6H c #2F2F2E", +"6I c #2F2D2E", +"6J c #2E2E2F", +"6K c #2E302E", +"6L c #2F2E2E", +"6M c #2D2E2E", +"6N c #2E2E2E", +"6O c #2E2D2E", +"6P c #2E2E2C", +"6Q c #2E2F2F", +"6R c #303130", +"6S c #333331", +"6T c #76714F", +"6U c #C1AD4D", +"6V c #514B22", +"6W c #272624", +"6X c #191A1A", +"6Y c #1A191A", +"6Z c #1D1D1D", +"6& c #2B2B2B", +"7 c #393A3A", +"70 c #3C3E3B", +"71 c #877B3E", +"72 c #72663D", +"73 c #41413E", +"74 c #414040", +"75 c #424143", +"76 c #434343", +"77 c #454544", +"78 c #67645B", +"79 c #A38851", +"7a c #4C4946", +"7b c #505051", +"7c c #4C4E4D", +"7d c #49494A", +"7e c #484849", +"7f c #474748", +"7g c #6A6B4B", +"7h c #C3C45B", +"7i c #B69F3A", +"7j c #96811F", +"7k c #2E2B20", +"7l c #191918", +"7m c #343333", +"7n c #BB8B33", +"7o c #FAA02D", +"7p c #ED9020", +"7q c #ED8821", +"7r c #EA992F", +"7s c #947335", +"7t c #39362D", +"7u c #2C2B2B", +"7v c #2B2C2D", +"7w c #2B2C2B", +"7x c #2A2B2A", +"7y c #29292A", +"7z c #2A2B2C", +"7A c #2D2E2B", +"7B c #60603C", +"7C c #C7C64C", +"7D c #CABC61", +"7E c #5E531C", +"7F c #272625", +"7G c #171817", +"7H c #333433", +"7I c #383937", +"7J c #3A393B", +"7K c #41413B", +"7L c #89783D", +"7M c #998A42", +"7N c #646143", +"7O c #535244", +"7P c #504E45", +"7Q c #68664F", +"7R c #8E815C", +"7S c #91784C", +"7T c #4F4A44", +"7U c #454546", +"7V c #484746", +"7W c #4F4E50", +"7X c #4A4B4B", +"7Y c #48494A", +"7Z c #474749", +"7& c #626249", +"8 c #E2E256", +"80 c #FDFD5A", +"81 c #F2EF57", +"82 c #878531", +"83 c #1D1C1B", +"84 c #1A1918", +"85 c #191A19", +"86 c #333434", +"87 c #313130", +"88 c #BB8931", +"89 c #FDAA31", +"8a c #FDAB2D", +"8b c #F99926", +"8c c #E7831C", +"8d c #F38E27", +"8e c #CD8E32", +"8f c #55482D", +"8g c #2A2B29", +"8h c #2A2829", +"8i c #292828", +"8j c #282729", +"8k c #272929", +"8l c #292829", +"8m c #292928", +"8n c #515237", +"8o c #E5E552", +"8p c #FDFE4D", +"8q c #DFDE43", +"8r c #434329", +"8s c #1A1819", +"8t c #181818", +"8u c #181819", +"8v c #232424", +"8w c #302F2F", +"8x c #373838", +"8y c #383939", +"8z c #39393A", +"8A c #514A3D", +"8B c #7A6C3E", +"8C c #8F7C41", +"8D c #957F44", +"8E c #7A6C47", +"8F c #554D40", +"8G c #444443", +"8H c #464445", +"8I c #4F504F", +"8J c #4A4B49", +"8K c #474646", +"8L c #858448", +"8M c #F6F853", +"8N c #FEFD55", +"8O c #F8F74A", +"8P c #797A28", +"8Q c #1C1B1C", +"8R c #1A1A1C", +"8S c #181A19", +"8T c #333133", +"8U c #BC872F", +"8V c #FDA82E", +"8W c #FEAD2D", +"8X c #FDAA2E", +"8Y c #FBAC3D", +"8Z c #F3AA43", +"8& c #B8731C", +"9 c #4C3E28", +"90 c #2A2B2B", +"91 c #292929", +"92 c #2A2A29", +"93 c #666234", +"94 c #F2EE46", +"95 c #FDFD4B", +"96 c #D4D43F", +"97 c #30301C", +"98 c #171818", +"99 c #191819", +"9a c #212221", +"9b c #2D2D2C", +"9c c #373738", +"9d c #3B3B3B", +"9e c #3D3E3D", +"9f c #40403F", +"9g c #434244", +"9h c #515250", +"9i c #4E4E4E", +"9j c #4C4B4B", +"9k c #484747", +"9l c #6B6333", +"9m c #A69C22", +"9n c #E1E145", +"9o c #999A2B", +"9p c #21211C", +"9q c #2C2A2B", +"9r c #202020", +"9s c #30312F", +"9t c #363738", +"9u c #333435", +"9v c #BC852F", +"9w c #FDAF32", +"9x c #FDBC52", +"9y c #E79935", +"9z c #84571F", +"9A c #363029", +"9B c #2B2B2D", +"9C c #2C2B2C", +"9D c #2B2A2B", +"9E c #2B2B2A", +"9F c #38382F", +"9G c #BAAF5F", +"9H c #918321", +"9I c #BDBD37", +"9J c #3C3C1E", +"9K c #161618", +"9L c #181717", +"9M c #201F1F", +"9N c #2D2C2E", +"9O c #363634", +"9P c #363737", +"9Q c #383838", +"9R c #3A3B3A", +"9S c #3B3D3C", +"9T c #3E3C3D", +"9U c #3E3E3F", +"9V c #3E3F40", +"9W c #3F4040", +"9X c #414142", +"9Y c #444342", +"9Z c #434345", +"9& c #464545", +"a c #535252", +"a0 c #515252", +"a1 c #4D4F4F", +"a2 c #4D4D4C", +"a3 c #4D4D4A", +"a4 c #6F6F53", +"a5 c #787243", +"a6 c #AA9121", +"a7 c #5E5318", +"a8 c #2A2A1E", +"a9 c #23221E", +"aa c #343534", +"ab c #373939", +"ac c #383636", +"ad c #353635", +"ae c #343332", +"af c #BB8832", +"ag c #FEB947", +"ah c #FABC54", +"ai c #C58128", +"aj c #564128", +"ak c #2F2F2D", +"al c #2E2E2D", +"am c #2E2D2D", +"an c #35352F", +"ao c #B4A958", +"ap c #97852C", +"aq c #302E1E", +"ar c #1B1D17", +"as c #333234", +"at c #373837", +"au c #383938", +"av c #3A3A3B", +"aw c #3C3C3C", +"ax c #403F3F", +"ay c #424141", +"az c #454545", +"aA c #4D4E4C", +"aB c #96954D", +"aC c #F8F75C", +"aD c #E2D759", +"aE c #8F8023", +"aF c #282620", +"aG c #1E1D1D", +"aH c #3C3B3B", +"aI c #393938", +"aJ c #BB8631", +"aK c #EAA535", +"aL c #8C6124", +"aM c #3E372F", +"aN c #323131", +"aO c #303231", +"aP c #303131", +"aQ c #303031", +"aR c #353531", +"aS c #A1964B", +"aT c #AD9A37", +"aU c #433E24", +"aV c #212122", +"aW c #191919", +"aX c #181919", +"aY c #282829", +"aZ c #373836", +"a& c #3B3A3A", +"b c #3B3B3C", +"b0 c #3C3C3D", +"b1 c #3C3E3D", +"b2 c #41403F", +"b3 c #454445", +"b4 c #474647", +"b5 c #515253", +"b6 c #7B7B4D", +"b7 c #F7F74F", +"b8 c #FEFE50", +"b9 c #FEFC55", +"ba c #CACA42", +"bb c #26271F", +"bc c #1E1F1E", +"bd c #1E1E1D", +"be c #212021", +"bf c #3C3B3D", +"bg c #3E3C3E", +"bh c #3A3A3C", +"bi c #946A2C", +"bj c #5E492C", +"bk c #373636", +"bl c #353534", +"bm c #353433", +"bn c #343334", +"bo c #353334", +"bp c #343434", +"bq c #867F48", +"br c #B8A33C", +"bs c #4C4722", +"bt c #242524", +"bu c #1A1919", +"bv c #1A1A1B", +"bw c #1F1E1F", +"bx c #3C3B3C", +"by c #3D3B3C", +"bz c #414041", +"bA c #424344", +"bB c #444445", +"bC c #525353", +"bD c #535351", +"bE c #6B6C49", +"bF c #E0DF3F", +"bG c #FCFD4D", +"bH c #EFEF39", +"bI c #555625", +"bJ c #202121", +"bK c #1F1F1F", +"bL c #404041", +"bM c #414241", +"bN c #3D3D3E", +"bO c #3C3B39", +"bP c #39383A", +"bQ c #393837", +"bR c #363837", +"bS c #373638", +"bT c #696642", +"bU c #C0AC42", +"bV c #575122", +"bW c #2B2928", +"bX c #1D1D1E", +"bY c #262626", +"bZ c #1F1F1E", +"b& c #1D1C1D", +"c c #31312F", +"c0 c #3D3D3C", +"c1 c #3F3E40", +"c2 c #414042", +"c3 c #474745", +"c4 c #494748", +"c5 c #555550", +"c6 c #887A2B", +"c7 c #8C8116", +"c8 c #A4A432", +"c9 c #585726", +"ca c #232422", +"cb c #28292A", +"cc c #424041", +"cd c #3D3C3D", +"ce c #3B3C3D", +"cf c #3C3A3B", +"cg c #393B3A", +"ch c #3A3A39", +"ci c #625C40", +"cj c #CBB84D", +"ck c #6A5E1E", +"cl c #30302D", +"cm c #222122", +"cn c #1C1D1D", +"co c #1F201F", +"cp c #272727", +"cq c #262526", +"cr c #3B3A39", +"cs c #3E3D3D", +"ct c #414141", +"cu c #444343", +"cv c #444544", +"cw c #474547", +"cx c #4B494A", +"cy c #565456", +"cz c #676752", +"cA c #C0C068", +"cB c #C1B350", +"cC c #9D8B1A", +"cD c #443E21", +"cE c #272728", +"cF c #454344", +"cG c #474847", +"cH c #3F403F", +"cI c #3F3F3D", +"cJ c #3F3D3F", +"cK c #5A5944", +"cL c #A29F4C", +"cM c #C8B248", +"cN c #7A6D1E", +"cO c #34332E", +"cP c #1F1E1E", +"cQ c #2B2A2A", +"cR c #3C3D3C", +"cS c #3C3A3A", +"cT c #3E3E40", +"cU c #413F3F", +"cV c #404140", +"cW c #424342", +"cX c #434344", +"cY c #444545", +"cZ c #474648", +"c& c #494849", +"d c #4A494A", +"d0 c #5D5D56", +"d1 c #D0CF4D", +"d2 c #FDFC4F", +"d3 c #F5F36C", +"d4 c #CFC73F", +"d5 c #3A3B28", +"d6 c #252525", +"d7 c #252324", +"d8 c #4B4B4B", +"d9 c #474746", +"da c #454646", +"db c #424341", +"dc c #424040", +"dd c #4D4E43", +"de c #D0D251", +"df c #FDFD4C", +"dg c #D7CA3A", +"dh c #4B4831", +"di c #262827", +"dj c #212020", +"dk c #1F1F20", +"dl c #404141", +"dm c #4A4C4B", +"dn c #4D4C4C", +"do c #959453", +"dp c #FAF948", +"dq c #FEFD4A", +"dr c #FDFB47", +"ds c #C3C339", +"dt c #323226", +"du c #262625", +"dv c #4E4E4F", +"dw c #4A4949", +"dx c #494747", +"dy c #464444", +"dz c #434544", +"dA c #84834A", +"dB c #F8F847", +"dC c #FDFE46", +"dD c #E6E541", +"dE c #44452B", +"dF c #232321", +"dG c #232122", +"dH c #434241", +"dI c #444344", +"dJ c #454644", +"dK c #494A48", +"dL c #4A4A49", +"dM c #4B4D4C", +"dN c #4D4C4D", +"dO c #4F4E4E", +"dP c #5C5C5B", +"dQ c #60615A", +"dR c #9F9E49", +"dS c #F2F242", +"dT c #C7C931", +"dU c #403F2A", +"dV c #2D2D2D", +"dW c #282727", +"dX c #2B2929", +"dY c #515051", +"dZ c #4B4A4A", +"d& c #494845", +"e c #858636", +"e0 c #E9E841", +"e1 c #5D5C2B", +"e2 c #232522", +"e3 c #2A2929", +"e4 c #464546", +"e5 c #4A4A4B", +"e6 c #4F514F", +"e7 c #515151", +"e8 c #3B3B38", +"e9 c #4E4D2C", +"ea c #33312A", +"eb c #555354", +"ec c #525452", +"ed c #525253", +"ee c #4F5150", +"ef c #4D4F4D", +"eg c #4C4C4D", +"eh c #494B4A", +"ei c #363534", +"ej c #414028", +"ek c #252623", +"el c #252424", +"em c #272527", +"en c #464645", +"eo c #4A4849", +"ep c #4B4C4A", +"eq c #4C4B4D", +"er c #51514F", +"es c #505252", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v v w x y z A B C B B D E F G H I J z K L M N O P Q R S T U V", +" W X Y 6 Z &0 0 000102 d030405060708090a0b0c0d0e0f L0g0h0i C0j0k0l0m0n0o0n0o0p0q0r0o0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L u0e", +"0M0N0O0P0Q c0R0S0T0U0V07 m n0W0X0d0Y0Z0&1 10110k0n121314151616171819181a1b1c1d1e1e1e1b1f1g1h1i1j1k1l1m1n1o1p1q1r120n1s D1t1u1v1w", +"0Q1x1y1z1A0U1B1C1D1E1F U r1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Y1Z1&2 1Z20212223201Z232425262728292a2b2c2d2e2f2g2h2i0r2j2k2l2m", +"2n1A2o2p2q2r2s2t r2u2v2w F2x2y2z2A2B2C2D2E2F2G2H1Z222I2J2K2L2M2N2O2P2Q2O2R2R2Q2R2S2T2U2O2V2W2X2Y2Z2&3 303132333435363738393a3b3c", +"3d3e3f3g3h3i1G3j z F3k0l3l3m3n3o3p3q3r3s3t3u3v3w2S2R3x3x3y3z3A3B3C3D3E3F3G3G3H3B3B3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142", +"43 o2t s0e0f4445112z1r464748494a4b4c4d4e4f4g4h4i3F4j4k4l4m4n4o4l4l4p4q4r4s4t4o4u4o4o4v4w4x4y4z4A4B3Q4C4D4E4F4G4H4I4J4K4L4M4N4O4P", +" p r4Q0f2w3k4R0o144S181e4T4U4V3W4W4X4Y4Z4&5 50515253545556575859565a5b5c5d5e5f5g5h575i5j5k5l5m5n5o5p5q5r5s5t5u5v3p5w5x5y5z5A5B5C", +"5D4Q x1J D5E0p3m1Q1f5F5G205H5I5J5K5L3P5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 6 605&61626364656667685n696a6b4o6c6d6e6f6g3w6h6i6j246k6l6m", +"0f6n D6o6p2j6q6r6s6t2 2I6u6v6w6x6y696z6e6A5g6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6O6Q6R6S6T6U6V6W6X6Y6Z6&5P7 707172733y7475767778797a5G", +" x C0j7b2j7c1h7d7e7f7g7h7i7j7k5 7l4e5Z6A5P7m6 7n7o7p7q7r7s7t7u7v7w6&7x7y6&7z7A7B7C7D7E7F3u7G69687H7I6e7J7K7L7M7N7O7P7Q7R7S7T7U7V", +" F6o0l7W2h2e7X7Y7Z7&8 808182836X84856N5f865U8788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w5e8x8y8z4v4k8A8B8C8D8E8F768G8H1Z", +"3k0k8I1r6q188J1W8K8L8M8N8O8P8Q8R8S3s6R5P5Y8T878U8V8W8X8Y8Z8&9 907y8l8m8m9192939495969798999a9b5g5d9c8y4r9d4m4j9e3y9f6g2S9g6i2122", +"1I9h8I9i469j1T4T9k9l9m9n9o9p9q5O9r9s9t579u63629v8V9w9x9y9z9A9B9b7u9C909D9E9F9G9H9I9J9K9L9M9N7m9O649P9Q7 9R9S9T9U9V9W9X3w9Y9Z9&23", +"a a00Ba1a21ha3a4a5a6a7a8a99M6e4vaa8zabacadaaaeafagahaiajak6H6H6J6H6Nalamanaoapaqar7l984f90asad64at8xauav9daw9e3Jax74ay2U762Kaz1Z", +" F0k0B9i2haAaBaCaDaEaFaG4Z9M4o3G2GaH7 aI6A585aaJaKaLaM6161aNaOaN5&aPaQaRaSaTaUaVaW8taX5 aY5gaZ8x6e4ua&b b0b13B9Wb29X2S2Pb39&1Zb4", +"1Jb52y2z2ib6b7b8b9babbbcbdbebf6f3Cbgawbh7 4u9Qbibjbk5b5cblbm866Bbnbobpbqbrbsbt5oaW5 bubvbw86au4oa&bxby9e3B3Baxbz9X2PbAazbB207f7f", +"2wbCbD2y2jbEbFbGbHbI4AbJbK9DbLbMbz9f3BbNby4m9RbObPaI9QbQ9c8xbR56bS55bTbUbVbWbX4Y3QbYbZb&bJc 4l4nbxc03B3Ic1axc2bM2N2M2Mazc37fc47d", +"0f1J3kbDc5c6c7c8c9ca568wcb6faz6i2V2RccbL9f3F4jcdceaHaHcf4v4lcgch4vcicjckclcmcncocp5eascqaNcrc0cs6f3y9f74ct2O2Ucucv77cw1Z9k1X5Fcx", +" ucyczcAcBcCcDbt8vcEcw9kcF9kcG222IbB6h2Qayct6g74cH6f9UcIcJ3G3BcKcLcMcNcO9acP9McQaucR3H4ncScT9WcUcVc22QcWcX2McYbBb4cZ7fc&d 8J7X1h", +" rd0d1d2d3d4d5d6d79D1e189jd8d 5F9kb4d9dabB2KcubA2Ndb2R9XdcbLdddedfdgdhdidjdk92au9Wdl3xbz3w2ScWcWcWcu6haz2I8K8K7f7e6m6t6tdm1Rdn7c", +"3idodpdqdrdsdtbYdu6Jdv1316166q191edwd dx2Hb423219&dydycvb3dzdAdBdCdDdEdFdG905bdH769gdI9ZcY2McvdJ7U20235G7f6mdK6tdL1Sd8dMdN17dO14", +"dPdQdRdSdTdUdVdWdXcd11a0dY0v9i132h6q9j47dZ7X5Fc&6m6m5G7f1Z1&d&e e0e1e28ve39d8G7Ue4da2321b4201Y7e7e6t6t1U1Ue51d1947dnaA3m1r0qe6e7", +"072te8e9eadV23643G Ceb1Jeced117bee2j0ref2g1ndNeg2e471f1eehdZd eiejekelem9Qen6tc&dLeo5Fd d 7de5dZ1aep9jeq2e2g3m149i130qerdYes2ma "}; diff --git a/2009-x64/cps4.03/icons/cpscDecreaseSubdivisions.xpm b/2009-x64/cps4.03/icons/cpscDecreaseSubdivisions.xpm new file mode 100644 index 0000000..ec4fb78 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscDecreaseSubdivisions.xpm @@ -0,0 +1,1192 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1165 2", +" c #717271", +" 0 c #707070", +" 1 c #70706F", +" 2 c #6F6F6F", +" 3 c #6E6E6D", +" 4 c #6D6C6E", +" 5 c #6B6D6B", +" 6 c #6B6B6B", +" 7 c #686868", +" 8 c #696768", +" 9 c #666567", +" a c #666666", +" b c #656465", +" c c #646363", +" d c #636463", +" e c #616261", +" f c #5F6060", +" g c #61605F", +" h c #5F5E5E", +" i c #5D5C5D", +" j c #5E5E5E", +" k c #5B5C5C", +" l c #5C5C5C", +" m c #5C5B5B", +" n c #595B59", +" o c #595A59", +" p c #585958", +" q c #585757", +" r c #575758", +" s c #575657", +" t c #565656", +" u c #555556", +" v c #555554", +" w c #555555", +" x c #555655", +" y c #545555", +" z c #555455", +" A c #535353", +" B c #545454", +" C c #535354", +" D c #555354", +" E c #555654", +" F c #545554", +" G c #555657", +" H c #6B6A5E", +" I c #8B855B", +" J c #96945A", +" K c #8B8C58", +" L c #616158", +" M c #585858", +" N c #595959", +" O c #59595A", +" P c #6D6D6F", +" Q c #6C6C6D", +" R c #6C6B6B", +" S c #6B6A6A", +" T c #6A6A69", +" U c #696867", +" V c #676868", +" W c #676766", +" X c #666565", +" Y c #646465", +" Z c #777769", +" & c #8C825F", +"0 c #7E7E65", +"00 c #616060", +"01 c #60605F", +"02 c #5E5D5D", +"03 c #5E5E5D", +"04 c #5C5B5C", +"05 c #5D5C5B", +"06 c #5A5A5A", +"07 c #5A5A59", +"08 c #595859", +"09 c #565756", +"0a c #565556", +"0b c #535254", +"0c c #515252", +"0d c #535252", +"0e c #515150", +"0f c #525151", +"0g c #515151", +"0h c #4F4F50", +"0i c #504F4F", +"0j c #4F5050", +"0k c #4F504F", +"0l c #50504F", +"0m c #4F4F4F", +"0n c #4F4E4F", +"0o c #4E504F", +"0p c #505050", +"0q c #505151", +"0r c #525152", +"0s c #6D6C62", +"0t c #B2A075", +"0u c #8E895A", +"0v c #6D604C", +"0w c #635F52", +"0x c #7A6E4E", +"0y c #A39D56", +"0z c #ABA052", +"0A c #605C53", +"0B c #565657", +"0C c #6A6B6A", +"0D c #696868", +"0E c #676767", +"0F c #666566", +"0G c #656565", +"0H c #646564", +"0I c #858064", +"0J c #958A5E", +"0K c #C7A952", +"0L c #D5C373", +"0M c #FAD96A", +"0N c #BAA458", +"0O c #B8A25D", +"0P c #B69E5F", +"0Q c #A4884E", +"0R c #9C9460", +"0S c #6C6A55", +"0T c #525353", +"0U c #525253", +"0V c #525251", +"0W c #505250", +"0X c #504F50", +"0Y c #4F4E4E", +"0Z c #4E4E4D", +"0& c #4E4E4E", +"1 c #4D4D4D", +"10 c #4D4C4C", +"11 c #4A4B4B", +"12 c #4B4C4C", +"13 c #8C855E", +"14 c #BB9E4F", +"15 c #997D40", +"16 c #7C6C45", +"17 c #635E4C", +"18 c #51504B", +"19 c #4A4A4A", +"1a c #4B4B4B", +"1b c #4B4B4C", +"1c c #4C4C4C", +"1d c #4C4C4D", +"1e c #4C4E4D", +"1f c #4E4D4D", +"1g c #747161", +"1h c #A5844D", +"1i c #54524E", +"1j c #676450", +"1k c #C2AA5E", +"1l c #585551", +"1m c #656765", +"1n c #656566", +"1o c #646464", +"1p c #626362", +"1q c #67635F", +"1r c #A38854", +"1s c #AC9A64", +"1t c #9F8F5E", +"1u c #958B6F", +"1v c #C6BD6A", +"1w c #C39542", +"1x c #9E8257", +"1y c #B49E76", +"1z c #D2CB80", +"1A c #BBAC56", +"1B c #797053", +"1C c #D5BB68", +"1D c #9E8C5D", +"1E c #505051", +"1F c #4E4F4E", +"1G c #4E4E4F", +"1H c #4C4D4C", +"1I c #4D4C4E", +"1J c #4B4A4A", +"1K c #494849", +"1L c #48494A", +"1M c #484847", +"1N c #474847", +"1O c #484849", +"1P c #474748", +"1Q c #474848", +"1R c #474747", +"1S c #635F53", +"1T c #928353", +"1U c #56544B", +"1V c #847C4F", +"1W c #A58D4F", +"1X c #9C6F33", +"1Y c #B37C27", +"1Z c #B18431", +"1& c #937339", +"2 c #988142", +"20 c #A38441", +"21 c #6F6646", +"22 c #4A4949", +"23 c #4A4A49", +"24 c #56564F", +"25 c #AF9745", +"26 c #4C4B4B", +"27 c #4C4D4E", +"28 c #4E4C4D", +"29 c #717255", +"2a c #A38B56", +"2b c #636262", +"2c c #626261", +"2d c #6B675E", +"2e c #B78B44", +"2f c #DCCA65", +"2g c #888262", +"2h c #6A6559", +"2i c #9E884F", +"2j c #E1C26E", +"2k c #C1954F", +"2l c #A08251", +"2m c #B29C5A", +"2n c #CEB667", +"2o c #DBA843", +"2p c #AC8F41", +"2q c #BA9244", +"2r c #E2C654", +"2s c #AB9E62", +"2t c #494949", +"2u c #494A49", +"2v c #494947", +"2w c #464647", +"2x c #464646", +"2y c #464645", +"2z c #454545", +"2A c #444543", +"2B c #444343", +"2C c #434344", +"2D c #444444", +"2E c #434343", +"2F c #887A60", +"2G c #726846", +"2H c #434342", +"2I c #424240", +"2J c #424342", +"2K c #76734D", +"2L c #8A8450", +"2M c #434242", +"2N c #685A3F", +"2O c #C0993D", +"2P c #A09250", +"2Q c #6C6647", +"2R c #B08F3E", +"2S c #524941", +"2T c #878663", +"2U c #6C5F48", +"2V c #707156", +"2W c #777755", +"2X c #777854", +"2Y c #7E7D56", +"2Z c #848355", +"2& c #8A8754", +"3 c #9A9953", +"30 c #A09C55", +"31 c #6F6B4F", +"32 c #BAA753", +"33 c #5F5F60", +"34 c #5D5C5C", +"35 c #ACAC78", +"36 c #6F6E58", +"37 c #ABA66C", +"38 c #A58D50", +"39 c #B59347", +"3a c #99875A", +"3b c #BCA165", +"3c c #AEA26D", +"3d c #8E8265", +"3e c #9C8C63", +"3f c #69624F", +"3g c #85805D", +"3h c #937542", +"3i c #74694A", +"3j c #D1BC65", +"3k c #C09A54", +"3l c #AF9B59", +"3m c #4D4C48", +"3n c #454645", +"3o c #434142", +"3p c #414041", +"3q c #414242", +"3r c #3F4140", +"3s c #404141", +"3t c #3F403F", +"3u c #3E3F3E", +"3v c #3F3F40", +"3w c #57554A", +"3x c #9A8552", +"3y c #4D453B", +"3z c #3E3E3D", +"3A c #3D3E3E", +"3B c #3D3F3F", +"3C c #3F3E3D", +"3D c #3F3F3E", +"3E c #635E4D", +"3F c #A69C5D", +"3G c #92844B", +"3H c #4B453D", +"3I c #766A42", +"3J c #AA9954", +"3K c #6E603E", +"3L c #98662C", +"3M c #424341", +"3N c #AD9857", +"3O c #616157", +"3P c #FEFE71", +"3Q c #FFFE66", +"3R c #FEFE63", +"3S c #FFFE5E", +"3T c #FFFA59", +"3U c #FFF85B", +"3V c #FEF053", +"3W c #FEED51", +"3X c #9F8846", +"3Y c #A59F59", +"3Z c #575047", +"3& c #5C5C5B", +"4 c #5B5C5B", +"40 c #64635E", +"41 c #BCAE72", +"42 c #A78B4B", +"43 c #D4BD5E", +"44 c #938751", +"45 c #827856", +"46 c #5D594F", +"47 c #896E41", +"48 c #A68A4D", +"49 c #D8AF59", +"4a c #978857", +"4b c #8E8561", +"4c c #BFB35F", +"4d c #716D53", +"4e c #A8853E", +"4f c #B49042", +"4g c #5B564B", +"4h c #8A7E62", +"4i c #B19648", +"4j c #404140", +"4k c #40403F", +"4l c #3D3E3D", +"4m c #3D3C3D", +"4n c #3C3D3C", +"4o c #3C3A3A", +"4p c #3B3C3B", +"4q c #3B3B3B", +"4r c #3A3A3B", +"4s c #3C3A3B", +"4t c #776946", +"4u c #7D6C3C", +"4v c #3A3A39", +"4w c #393A39", +"4x c #3A3A3A", +"4y c #393939", +"4z c #3A3B3A", +"4A c #3B3B39", +"4B c #3B3A3A", +"4C c #8A7D4A", +"4D c #A9A562", +"4E c #43403B", +"4F c #3D3D3D", +"4G c #8E854E", +"4H c #96793A", +"4I c #5B4D3B", +"4J c #765F40", +"4K c #414140", +"4L c #A89A50", +"4M c #605F4C", +"4N c #FFFE5B", +"4O c #FEFC57", +"4P c #FEF74F", +"4Q c #FFF44F", +"4R c #FFF04C", +"4S c #FFEB49", +"4T c #FEE545", +"4U c #FEE345", +"4V c #9F8541", +"4W c #A6995B", +"4X c #574F46", +"4Y c #5B5959", +"4Z c #5A5858", +"4& c #B6AF6E", +"5 c #DDAC40", +"50 c #816B47", +"51 c #9D9571", +"52 c #62615E", +"53 c #4F504E", +"54 c #96733C", +"55 c #AF9047", +"56 c #4A4B4A", +"57 c #66543F", +"58 c #84663E", +"59 c #CA9542", +"5a c #836B46", +"5b c #94713E", +"5c c #B48837", +"5d c #6E5B38", +"5e c #4F4D45", +"5f c #D3B554", +"5g c #675238", +"5h c #3C3B3C", +"5i c #AA974B", +"5j c #6B6543", +"5k c #383939", +"5l c #383838", +"5m c #383738", +"5n c #373837", +"5o c #363736", +"5p c #373637", +"5q c #605539", +"5r c #C19F46", +"5s c #805C2B", +"5t c #775D2E", +"5u c #6B532F", +"5v c #423B32", +"5w c #343636", +"5x c #353635", +"5y c #363635", +"5z c #373737", +"5A c #746A43", +"5B c #5C5136", +"5C c #514E3D", +"5D c #AE9740", +"5E c #46443A", +"5F c #A99E5B", +"5G c #534F40", +"5H c #928149", +"5I c #8B6130", +"5J c #52473A", +"5K c #A48E4B", +"5L c #5B523F", +"5M c #A69942", +"5N c #A08F3F", +"5O c #A0893F", +"5P c #9B833E", +"5Q c #9B883D", +"5R c #957C3D", +"5S c #8A773F", +"5T c #8C793E", +"5U c #6A5B42", +"5V c #B99D48", +"5W c #4A494A", +"5X c #585857", +"5Y c #616155", +"5Z c #E0BE48", +"5& c #98733E", +"6 c #987D4E", +"60 c #595953", +"61 c #616356", +"62 c #BE9B44", +"63 c #886E43", +"64 c #54514A", +"65 c #464747", +"66 c #444545", +"67 c #9E8043", +"68 c #916D38", +"69 c #48433D", +"6a c #B67725", +"6b c #655839", +"6c c #91864D", +"6d c #A57A34", +"6e c #373937", +"6f c #C19D41", +"6g c #FEBC41", +"6h c #A08A42", +"6i c #3A3934", +"6j c #333333", +"6k c #343432", +"6l c #323233", +"6m c #624F2E", +"6n c #534932", +"6o c #918B4F", +"6p c #313131", +"6q c #3E3831", +"6r c #52402B", +"6s c #66502A", +"6t c #7A5229", +"6u c #745C2E", +"6v c #796436", +"6w c #5F5436", +"6x c #353535", +"6y c #434137", +"6z c #AEA359", +"6A c #9C8C4C", +"6B c #3A393A", +"6C c #47443B", +"6D c #A2925E", +"6E c #A57530", +"6F c #616042", +"6G c #967D41", +"6H c #3F4040", +"6I c #414241", +"6J c #424243", +"6K c #434444", +"6L c #444644", +"6M c #454646", +"6N c #74725F", +"6O c #877743", +"6P c #484948", +"6Q c #8F703F", +"6R c #968151", +"6S c #A28447", +"6T c #51504F", +"6U c #716F63", +"6V c #7E785E", +"6W c #A8966C", +"6X c #9F8F50", +"6Y c #C5973D", +"6Z c #524D45", +"6& c #6E5F47", +"7 c #797448", +"70 c #7D6840", +"71 c #A58240", +"72 c #6F6240", +"73 c #7E6539", +"74 c #403C38", +"75 c #A97A2D", +"76 c #635C47", +"77 c #8E6B30", +"78 c #353435", +"79 c #BF9437", +"7a c #F78C26", +"7b c #F6992B", +"7c c #DFAA3E", +"7d c #5C5235", +"7e c #2F2E2F", +"7f c #2F2F30", +"7g c #2F302F", +"7h c #6F552A", +"7i c #302F30", +"7j c #484236", +"7k c #918C54", +"7l c #2D2E2C", +"7m c #2D2E2E", +"7n c #2E2F2D", +"7o c #2F2D2E", +"7p c #3C3D35", +"7q c #917B45", +"7r c #8B885B", +"7s c #323232", +"7t c #333233", +"7u c #343535", +"7v c #5B533F", +"7w c #967033", +"7x c #724E24", +"7y c #855928", +"7z c #6E5732", +"7A c #BB9C46", +"7B c #846431", +"7C c #908240", +"7D c #73673E", +"7E c #404040", +"7F c #414141", +"7G c #424142", +"7H c #444443", +"7I c #62615C", +"7J c #AC8C41", +"7K c #C3983F", +"7L c #9E8751", +"7M c #C7A352", +"7N c #76725C", +"7O c #68634B", +"7P c #4C4C4B", +"7Q c #4D4B48", +"7R c #C58C34", +"7S c #B88F4D", +"7T c #71694F", +"7U c #504F4B", +"7V c #434341", +"7W c #404041", +"7X c #745A3A", +"7Y c #A38740", +"7Z c #85744F", +"7& c #6A6441", +"8 c #897D4A", +"80 c #7A6C3A", +"81 c #9D732F", +"82 c #957A34", +"83 c #313231", +"84 c #BD963C", +"85 c #FE9F2C", +"86 c #EF8F20", +"87 c #F98E24", +"88 c #F5A132", +"89 c #947B39", +"8a c #33322B", +"8b c #2C2B2B", +"8c c #725127", +"8d c #2D2C2D", +"8e c #2B2C2B", +"8f c #4B4835", +"8g c #88844E", +"8h c #2A2A2A", +"8i c #2B2B2B", +"8j c #7A6C4C", +"8k c #38312B", +"8l c #434238", +"8m c #8B895B", +"8n c #333132", +"8o c #9B7C42", +"8p c #353534", +"8q c #363636", +"8r c #463F35", +"8s c #634E2F", +"8t c #AB7924", +"8u c #917E3D", +"8v c #A59843", +"8w c #5D5C42", +"8x c #464641", +"8y c #666654", +"8z c #998B59", +"8A c #967751", +"8B c #4A4842", +"8C c #454745", +"8D c #474646", +"8E c #62574B", +"8F c #A3813F", +"8G c #5A574F", +"8H c #D6B052", +"8I c #757154", +"8J c #4D4B4C", +"8K c #725C3E", +"8L c #735C3D", +"8M c #886E40", +"8N c #534B41", +"8O c #706043", +"8P c #7E5D34", +"8Q c #876F46", +"8R c #82663A", +"8S c #CB9635", +"8T c #8F7740", +"8U c #97773C", +"8V c #3F3D38", +"8W c #855B2A", +"8X c #B28D37", +"8Y c #BE8E35", +"8Z c #FEA82F", +"8& c #FEAF30", +"9 c #F89924", +"90 c #E5801B", +"91 c #EC8620", +"92 c #CF8F33", +"93 c #584C2E", +"94 c #6C4C22", +"95 c #2A2929", +"96 c #282828", +"97 c #282727", +"98 c #4F4D36", +"99 c #7A773E", +"9a c #28292A", +"9b c #3E3D31", +"9c c #524E37", +"9d c #2F2F2E", +"9e c #3B3B34", +"9f c #8B894E", +"9g c #5F5842", +"9h c #584832", +"9i c #343334", +"9j c #343436", +"9k c #353737", +"9l c #383737", +"9m c #383938", +"9n c #88682C", +"9o c #48433B", +"9p c #81703C", +"9q c #9F8949", +"9r c #A48E45", +"9s c #806E45", +"9t c #4D463F", +"9u c #444442", +"9v c #454546", +"9w c #926C39", +"9x c #615C4F", +"9y c #9C8142", +"9z c #5C584C", +"9A c #A08754", +"9B c #51514F", +"9C c #494B4A", +"9D c #BC832E", +"9E c #928449", +"9F c #AD984C", +"9G c #797151", +"9H c #7C744F", +"9I c #6B6449", +"9J c #686959", +"9K c #776A44", +"9L c #70532F", +"9M c #3D3B38", +"9N c #7F7755", +"9O c #3C3B36", +"9P c #7B5D31", +"9Q c #AA853B", +"9R c #BD8E37", +"9S c #FEA52E", +"9T c #FEAF2E", +"9U c #FFAB2D", +"9V c #FEAE42", +"9W c #FAB44B", +"9X c #C2741A", +"9Y c #473926", +"9Z c #694D26", +"9& c #2B292A", +"a c #282928", +"a0 c #5E593B", +"a1 c #6C653E", +"a2 c #2B2C2C", +"a3 c #2C2C2C", +"a4 c #2F2D2D", +"a5 c #3F3D32", +"a6 c #C49A40", +"a7 c #343333", +"a8 c #343434", +"a9 c #363535", +"aa c #524C3A", +"ab c #675433", +"ac c #3A3C3C", +"ad c #3C3C3C", +"ae c #3E3D3E", +"af c #3E3E3F", +"ag c #434443", +"ah c #454543", +"ai c #474547", +"aj c #7B6242", +"ak c #B58635", +"al c #A88F41", +"am c #4D4D4F", +"an c #6E5941", +"ao c #D7B962", +"ap c #A28743", +"aq c #725A3C", +"ar c #7F7D4E", +"as c #444344", +"at c #414243", +"au c #51493D", +"av c #AF914C", +"aw c #6B4F2A", +"ax c #232423", +"ay c #786A3C", +"az c #A87C2E", +"aA c #8B642B", +"aB c #BD8D35", +"aC c #FEA62E", +"aD c #FFAE2D", +"aE c #FEC157", +"aF c #EB9B32", +"aG c #85581E", +"aH c #302C29", +"aI c #36312A", +"aJ c #574124", +"aK c #2C2D2C", +"aL c #2A2B2C", +"aM c #2A292B", +"aN c #29292A", +"aO c #2A2B2A", +"aP c #857B43", +"aQ c #7E763D", +"aR c #2E2D2E", +"aS c #2E2F2F", +"aT c #252524", +"aU c #826E42", +"aV c #463E2A", +"aW c #968C4E", +"aX c #393935", +"aY c #343534", +"aZ c #806E39", +"a& c #403B36", +"b c #3B3A3B", +"b0 c #3D3C3C", +"b1 c #403F3E", +"b2 c #424443", +"b3 c #464746", +"b4 c #59564F", +"b5 c #C48D30", +"b6 c #9C7A3B", +"b7 c #847F66", +"b8 c #A38C4A", +"b9 c #D7983A", +"ba c #776345", +"bb c #594F44", +"bc c #79724F", +"bd c #555646", +"be c #3F3E3F", +"bf c #847440", +"bg c #483926", +"bh c #8B622C", +"bi c #444337", +"bj c #272822", +"bk c #716536", +"bl c #B3832D", +"bm c #725931", +"bn c #78552B", +"bo c #BE8A33", +"bp c #FEAD3E", +"bq c #FCC055", +"br c #CA7F23", +"bs c #513F27", +"bt c #2E2E2D", +"bu c #3E362B", +"bv c #9B6F29", +"bw c #684E26", +"bx c #674D2C", +"by c #63552C", +"bz c #625634", +"bA c #595032", +"bB c #6F633E", +"bC c #756C3C", +"bD c #625F40", +"bE c #30302E", +"bF c #292829", +"bG c #33332D", +"bH c #746037", +"bI c #252726", +"bJ c #31302A", +"bK c #9A8E3E", +"bL c #393933", +"bM c #8F6F30", +"bN c #39393B", +"bO c #3B3B3C", +"bP c #3E3F3F", +"bQ c #434143", +"bR c #424242", +"bS c #444544", +"bT c #545353", +"bU c #B69A50", +"bV c #6F654A", +"bW c #918551", +"bX c #9C9259", +"bY c #54524B", +"bZ c #B48032", +"b& c #686149", +"c c #736044", +"c0 c #B99149", +"c1 c #B38732", +"c2 c #887031", +"c3 c #675029", +"c4 c #695A33", +"c5 c #3D362D", +"c6 c #674B23", +"c7 c #A28642", +"c8 c #B49543", +"c9 c #927535", +"ca c #665E36", +"cb c #564A31", +"cc c #6A502D", +"cd c #C08831", +"ce c #F2A833", +"cf c #906025", +"cg c #363430", +"ch c #313032", +"ci c #323132", +"cj c #303131", +"ck c #313031", +"cl c #696140", +"cm c #505144", +"cn c #313030", +"co c #30302F", +"cp c #56563C", +"cq c #958657", +"cr c #4A4A3B", +"cs c #84793C", +"ct c #58563E", +"cu c #262626", +"cv c #A28F49", +"cw c #3D3B35", +"cx c #2C2C2D", +"cy c #2F2F2F", +"cz c #383832", +"cA c #9E8F3D", +"cB c #2F2E29", +"cC c #3B3C32", +"cD c #705E34", +"cE c #3B3B3A", +"cF c #3C3B3B", +"cG c #3E3C3D", +"cH c #3F4141", +"cI c #434544", +"cJ c #454444", +"cK c #464546", +"cL c #484647", +"cM c #535452", +"cN c #5F564D", +"cO c #C1A561", +"cP c #907948", +"cQ c #9A8D50", +"cR c #66553F", +"cS c #755D42", +"cT c #BFA74D", +"cU c #938658", +"cV c #4D4A47", +"cW c #6B6844", +"cX c #383227", +"cY c #A69053", +"cZ c #9D7B38", +"c& c #6B4D25", +"d c #9B6B2B", +"d0 c #8A7D4D", +"d1 c #C7AF50", +"d2 c #242525", +"d3 c #6E6436", +"d4 c #6C522A", +"d5 c #554331", +"d6 c #373838", +"d7 c #9E702C", +"d8 c #5C482E", +"d9 c #333335", +"da c #353333", +"db c #343435", +"dc c #7F7955", +"dd c #47463B", +"de c #333434", +"df c #8C8250", +"dg c #8D8956", +"dh c #3F4037", +"di c #918E54", +"dj c #766F49", +"dk c #66502F", +"dl c #2B292B", +"dm c #323231", +"dn c #3C3A35", +"do c #99803A", +"dp c #6B5F34", +"dq c #433628", +"dr c #454445", +"ds c #454547", +"dt c #474846", +"du c #525452", +"dv c #685D4C", +"dw c #E3BF56", +"dx c #DCB647", +"dy c #A17C40", +"dz c #59534B", +"dA c #A4995D", +"dB c #716B4F", +"dC c #7E7447", +"dD c #847E5B", +"dE c #848158", +"dF c #34312D", +"dG c #786D40", +"dH c #9D7932", +"dI c #816331", +"dJ c #32302C", +"dK c #7D794D", +"dL c #615329", +"dM c #BA9B41", +"dN c #A66A1E", +"dO c #262627", +"dP c #3A3A38", +"dQ c #373738", +"dR c #373636", +"dS c #9A924B", +"dT c #3D3C37", +"dU c #7E7248", +"dV c #363737", +"dW c #91894C", +"dX c #433F2D", +"dY c #AC883D", +"dZ c #6D512A", +"d& c #6B4B23", +"e c #6B4C23", +"e0 c #765A2D", +"e1 c #6B4F24", +"e2 c #7A5B2A", +"e3 c #7F5A2B", +"e4 c #BB8D31", +"e5 c #2E2E2E", +"e6 c #2A2A2B", +"e7 c #363735", +"e8 c #555456", +"e9 c #535554", +"ea c #746D5A", +"eb c #DFC772", +"ec c #B98135", +"ed c #9B8962", +"ee c #B89C57", +"ef c #A58E57", +"eg c #B4A666", +"eh c #EFE188", +"ei c #C3AF6E", +"ej c #6E6447", +"ek c #55462E", +"el c #A4762E", +"em c #342E25", +"en c #61562F", +"eo c #B99D52", +"ep c #635034", +"eq c #AD9039", +"er c #3A352D", +"es c #282927", +"et c #3B3C3A", +"eu c #393A3A", +"ev c #46463A", +"ew c #898565", +"ex c #5E5F47", +"ey c #5B5442", +"ez c #3A3939", +"eA c #4F4936", +"eB c #B0903D", +"eC c #3E3D38", +"eD c #3A3B3B", +"eE c #373839", +"eF c #3B3C3D", +"eG c #746C3D", +"eH c #6E5B39", +"eI c #3F3E3E", +"eJ c #403F41", +"eK c #363536", +"eL c #333334", +"eM c #484747", +"eN c #484947", +"eO c #49484A", +"eP c #545656", +"eQ c #545453", +"eR c #545354", +"eS c #8D7C49", +"eT c #D4A347", +"eU c #897F5D", +"eV c #5D5B53", +"eW c #918351", +"eX c #75623A", +"eY c #B49B50", +"eZ c #AF9651", +"e& c #A9823E", +"f c #C1842C", +"f0 c #C5A143", +"f1 c #9A874D", +"f2 c #BB9E4E", +"f3 c #9C8542", +"f4 c #514A3D", +"f5 c #2B2B2A", +"f6 c #3F3F3F", +"f7 c #3E3E3E", +"f8 c #3C3C3D", +"f9 c #3C3D3D", +"fa c #5A5944", +"fb c #C1B167", +"fc c #5A5442", +"fd c #7C5824", +"fe c #444339", +"ff c #928E67", +"fg c #2D2E2D", +"fh c #63553D", +"fi c #7A6237", +"fj c #3D3A37", +"fk c #424143", +"fl c #434442", +"fm c #2E2D2D", +"fn c #474647", +"fo c #484746", +"fp c #484848", +"fq c #545455", +"fr c #9F7840", +"fs c #BEA45C", +"ft c #8E7850", +"fu c #D2C26A", +"fv c #A59254", +"fw c #766847", +"fx c #B8AD75", +"fy c #90845A", +"fz c #605A46", +"fA c #956D2F", +"fB c #A7833E", +"fC c #B99A48", +"fD c #524532", +"fE c #464545", +"fF c #413F40", +"fG c #434243", +"fH c #424241", +"fI c #414042", +"fJ c #3F3F41", +"fK c #786A48", +"fL c #968449", +"fM c #896A34", +"fN c #976529", +"fO c #63522C", +"fP c #5D563A", +"fQ c #6A6348", +"fR c #8D8A58", +"fS c #625B43", +"fT c #785E2F", +"fU c #554B3C", +"fV c #454344", +"fW c #393938", +"fX c #494848", +"fY c #49494B", +"fZ c #4D4C4D", +"f& c #595857", +"g c #565757", +"g0 c #77684B", +"g1 c #957D4F", +"g2 c #8A7656", +"g3 c #AE915B", +"g4 c #C59958", +"g5 c #CA9E44", +"g6 c #A6964D", +"g7 c #A87F34", +"g8 c #BB9746", +"g9 c #6C5E46", +"ga c #3F4041", +"gb c #3A3938", +"gc c #292727", +"gd c #444445", +"ge c #454443", +"gf c #424343", +"gg c #877B4B", +"gh c #AC8136", +"gi c #746038", +"gj c #755F2A", +"gk c #7B5625", +"gl c #84602E", +"gm c #91783C", +"gn c #645640", +"go c #302F2F", +"gp c #444645", +"gq c #454544", +"gr c #424444", +"gs c #464648", +"gt c #484949", +"gu c #403F3F", +"gv c #4B4A4B", +"gw c #4C4D4B", +"gx c #4C4D4D", +"gy c #4E4F4F", +"gz c #5B5B5A", +"gA c #575757", +"gB c #433C30", +"gC c #61492F", +"gD c #42392B", +"gE c #3E3D3D", +"gF c #323333", +"gG c #464547", +"gH c #474645", +"gI c #474746", +"gJ c #373736", +"gK c #3D3D3E", +"gL c #484A49", +"gM c #41403F", +"gN c #494948", +"gO c #494A4A", +"gP c #40413F", +"gQ c #4E4D4E", +"gR c #5D5D5E", +"gS c #5D5D5C", +"gT c #5B5A5B", +"gU c #5B5A5A", +"gV c #595858", +"gW c #333534", +"gX c #4B4B4A", +"gY c #282A28", +"gZ c #4F4D4E", +"g& c #2D2D2D", +"h c #3E4040", +"h0 c #49494A", +"h1 c #393838", +"h2 c #363537", +"h3 c #424141", +"h4 c #414040", +"h5 c #4A4A4B", +"h6 c #4A494B", +"h7 c #4C4C4E", +"h8 c #3C3E3D", +"h9 c #505150", +"ha c #515251", +"hb c #535253", +" 0 1 2 3 4 5 6 7 7 8 9 a b c d e f g h i j k l m n o p p q r s t u t v w x y z A B B C D C B v z C E z F G H I J K L M M N O", +" P Q R S T U V W X Y Z &0 0001020304050607 r0809 t F0a B0b A A0c0d0e0f0g0h0i0j0e0k0l0e0m0n0l0o0m0p0e0q0q0r0s0t0u0v0w0x0y0z0A0B0B", +"0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S r t w C0T0U0V0W0p0p0X0Y0Z0Z0&1 101 111211131415161718191a1b1c1d1d1e1f1g1h1i0h0X0q0V0f1j1k1l F", +"1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D0r1E1F1G1H1I121a1J191K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 20212223222425261b27280Z0m0j0l292a0d", +"2b2c012d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s121a2t2u2v2w2x2y2x2z2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2y2w2T2U2V2W2X2Y2Z2&3 3031320j", +"33033435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n2B2C3o3p3q3r3s3t3u3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M2B3N3O3P3Q3R3S3T3U3V3W3X3Y3Z", +"3&4 404142434445464748494a4b4c4d4e4f4g4h4i4j4k3B4l4m4n4o4p4q4r4s4t4u4v4w4x4w4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X", +"4Y4Z4&5 5051520j535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W", +"5X5Y5Z5&0f1E6 60616263646566673q68696a6b6c6d6e6f6g6h6i6j6k6j6l6m6n6o6p6q6r6s6t6u6v6w6x5x6y6z6A6B6C6D6E6F6G3t6H6I6J2J6K6L6M6N6O6P", +" t6Q6R6S6T6U6V6W6X6Y6Z6&7 707172735h7475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D3D7E7F7G2E7H7I7J651Q", +" w7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8b8j8k8l8m838n8o8p8q5p8r8s8t4q8u8v8w8x4K8y8z8A8B8C8D", +"8E8F8G8H8I8J198K8L8M8N8O8P8Q8R8S8T8U8V8q8W8X838Y8Z8&9 909192939495969798999a9b9c8d9d9e9f9g9h9i9j9k9l9m9n4q4q9o9p9q9r9s9t9u6K9v2w", +"9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L4w9M9N9O9P9Q6p9R9S9T9U9V9W9X9Y9Z9&a 9696a0a15Ha2a3a4a2a5a66ja7a8a95zaaab4xacadaeaf3v6I6Iagah3nai", +"ajakalamanaoapaq1Rarasat3pauavaw7s8eaxayazaA83aBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQa3aRaSaTaUaVaWaXaY8q5laZa&b adb03zb14k3p2Jb22D9vb3", +"b4b5b60Yb7b8b9babbbcbdbeb0bfbgbhbibjbkblbmbn6jbobpbqbrbs9dbtbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbKbL8q5mbMbNbOad4FbP7E4jbQbR2EbS3n8D", +"bTbUbVbWbXbYbZb&c c0c1c2c3c4c5c6c7c8c9cacbcc7ucdcecfcgchcicjckclcmcnco7fcpcqcrcsctcucvcwcxcyczcAcBcCcDcEcFcG3C3ucH4Kat2EcIcJcKcL", +"cMcNcOcPcQcRcScTcUcVcWcXcYcZc&d d0d1d2d3d4d5d6d7d88q6x78d9a7dadbdcdd6jdedf9idgdhdidjdkdldm8d5zdndodpdq8q6BbP3t7E3sbR2C2Ddrdsdt1M", +" zdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdO4o4BdP9mdQd65p5zdR5l5zdSdTdQdU5odVdWdXdYdZd&e e0e1e2e3e45ze5e6e77W3q2B2E2A662w1P2v2t", +"e8e90deaebecedeeefegeheiejekelemeneoepeqeres4w4ladbOet4z4xb eu4x4vevewexeyez9meAeBeCeDeEaKeF4yeGeHeI3veJeueKeL3q2D666M2xeMeNeO56", +" GePeQeReSeT0peUeVeWeXeYeZe&f f0f1f2f3f4f5aRaS3tf63Df64F3A3Af74Ff8f9fafbb0eFfcfdfeff4FezfgfhfifjdQ3p7Ffkfl2CdQfm2yfnfofp6PeO1a1a", +" q s ufqfqfrfsftfufvfwfxfyfzfAfBfCfDcJfEfFcycEfmfGfH7F7F4jfI3p4j7W3vfJfKfLfMfNfOfPfQfRfSfTfUfH4k3tb0fVdrbS2x2wd6fWfX22fY191212fZ", +"06f& Mg ufqg0g1g2g3g4g5g6g7g8g956ga4nb31Rgb4Kgc2Mgd3n2D2Dgeag2Dgf2E2E6Jggghgigjgkglgmgngo2Mgpgq2D7WgrgseM1Qgtadafgugvgwgwgx0Zgy", +"3&gz o qgAgA A4F781 fngBgCgDgE1 1e1d4xf94k6pdbgFdP1PeMcLfob32wgGgHgI6M8D3n2xfE7ta8gJ6K1R4BgKgI1N1QgLgMgN5WgOgv2xf9gP4vgQ0Zgy0h0p", +"gRgSgTgU ogV0ngW1R wgXgYgLcF5n1KgZ26a7g&6H4Ke5h 7l4x1J2u23195Wh02u6P1Ogt1Ogt1Oh1h29uh3gO4Fh4h02uh51ah6fngxfZh70Z5n1ch8dr0qh9hahb"}; diff --git a/2009-x64/cps4.03/icons/cpscDeleteHistory.xpm b/2009-x64/cps4.03/icons/cpscDeleteHistory.xpm new file mode 100644 index 0000000..89385dd --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscDeleteHistory.xpm @@ -0,0 +1,1216 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1189 2", +" c #727171", +" 0 c #717271", +" 1 c #6F706F", +" 2 c #6F6F70", +" 3 c #6F6E6D", +" 4 c #6E6C6D", +" 5 c #6D6C6C", +" 6 c #6C6C6C", +" 7 c #6B6B6B", +" 8 c #696969", +" 9 c #696868", +" a c #676967", +" b c #676766", +" c c #656665", +" d c #636563", +" e c #646363", +" f c #636464", +" g c #636261", +" h c #60605F", +" i c #5F6060", +" j c #5E5F5F", +" k c #5D5D5D", +" l c #5D5D5E", +" m c #5C5B5D", +" n c #5C5B5B", +" o c #5B5A5B", +" p c #595A5A", +" q c #5A5958", +" r c #595859", +" s c #585859", +" t c #575858", +" u c #585758", +" v c #565857", +" w c #575757", +" x c #565655", +" y c #555656", +" z c #565454", +" A c #545555", +" B c #545455", +" C c #555455", +" D c #535252", +" E c #545353", +" F c #545454", +" G c #535354", +" H c #545354", +" I c #565555", +" J c #555557", +" K c #565556", +" L c #565557", +" M c #565757", +" N c #585857", +" O c #575758", +" P c #595A58", +" Q c #585959", +" R c #6E6F6E", +" S c #6D6D6C", +" T c #6A6A6B", +" U c #6A6969", +" V c #676868", +" W c #686767", +" X c #666767", +" Y c #666566", +" Z c #646564", +" & c #646464", +"0 c #6C6E64", +"00 c #858469", +"01 c #606060", +"02 c #5F5E60", +"03 c #5E5D5E", +"04 c #5E5E5D", +"05 c #5C5D5C", +"06 c #5B5B5B", +"07 c #5A5B5A", +"08 c #585858", +"09 c #575756", +"0a c #555456", +"0b c #555654", +"0c c #535353", +"0d c #545253", +"0e c #515153", +"0f c #67685D", +"0g c #6E6E5C", +"0h c #6D6C5B", +"0i c #6C6C5A", +"0j c #6B6A59", +"0k c #6C6C58", +"0l c #6B6B58", +"0m c #707059", +"0n c #717058", +"0o c #545351", +"0p c #50504F", +"0q c #504F4F", +"0r c #4E4E4E", +"0s c #4F4F51", +"0t c #4F504F", +"0u c #515150", +"0v c #505150", +"0w c #515151", +"0x c #525252", +"0y c #515152", +"0z c #535352", +"0A c #525352", +"0B c #555553", +"0C c #555556", +"0D c #585756", +"0E c #6A6A6A", +"0F c #686868", +"0G c #626262", +"0H c #626263", +"0I c #606061", +"0J c #5F6061", +"0K c #72705E", +"0L c #DEC94B", +"0M c #F3E65A", +"0N c #8B8154", +"0O c #65625A", +"0P c #5A5959", +"0Q c #595958", +"0R c #575856", +"0S c #555555", +"0T c #525354", +"0U c #525151", +"0V c #525251", +"0W c #515050", +"0X c #4F5150", +"0Y c #4F4F4F", +"0Z c #4F4E4E", +"0& c #4D4D4E", +"1 c #4D4E4D", +"10 c #D1CF76", +"11 c #F7F27D", +"12 c #F6F37E", +"13 c #EFEA7A", +"14 c #EEE979", +"15 c #EBE47A", +"16 c #E8E278", +"17 c #E5E177", +"18 c #E1DC76", +"19 c #585850", +"1a c #4C4A4B", +"1b c #4B4C4B", +"1c c #4A4A4B", +"1d c #4C4C4D", +"1e c #4B4D4D", +"1f c #4D4D4D", +"1g c #4C4D4D", +"1h c #4F4E4F", +"1i c #4E4D4D", +"1j c #4D4E4E", +"1k c #4F4F50", +"1l c #505050", +"1m c #505051", +"1n c #515351", +"1o c #525253", +"1p c #545453", +"1q c #555554", +"1r c #656666", +"1s c #656564", +"1t c #636364", +"1u c #636363", +"1v c #616162", +"1w c #5F5E5E", +"1x c #67645C", +"1y c #8F875F", +"1z c #C9C26F", +"1A c #B2A25A", +"1B c #89793E", +"1C c #AC9E40", +"1D c #6D6941", +"1E c #817435", +"1F c #9B8938", +"1G c #8A7D47", +"1H c #6F6952", +"1I c #515252", +"1J c #72725C", +"1K c #595A52", +"1L c #4F504E", +"1M c #4D4C4C", +"1N c #4C4C4C", +"1O c #4A4B4A", +"1P c #4B4A4B", +"1Q c #484948", +"1R c #484949", +"1S c #665746", +"1T c #715C43", +"1U c #CAC771", +"1V c #E7E378", +"1W c #E5E077", +"1X c #E3DE78", +"1Y c #DFDA76", +"1Z c #DCD876", +"1& c #DAD676", +"2 c #DAD474", +"20 c #54534C", +"21 c #464647", +"22 c #464848", +"23 c #484747", +"24 c #484748", +"25 c #48494A", +"26 c #4A4A4A", +"27 c #4A4949", +"28 c #4A494A", +"29 c #4B4B4B", +"2a c #646465", +"2b c #E9E6EA", +"2c c #BDB7C1", +"2d c #5A524E", +"2e c #4F4F4E", +"2f c #615F60", +"2g c #5E5E5F", +"2h c #5E5F5E", +"2i c #858167", +"2j c #BAA154", +"2k c #A4903C", +"2l c #7B6F41", +"2m c #5C5952", +"2n c #555756", +"2o c #867B36", +"2p c #5C5B4F", +"2q c #515250", +"2r c #585542", +"2s c #6E6435", +"2t c #C3AB41", +"2u c #FFF370", +"2v c #CCCC6E", +"2w c #494A48", +"2x c #494849", +"2y c #4D4C46", +"2z c #9D773B", +"2A c #4C4B45", +"2B c #454545", +"2C c #464444", +"2D c #444445", +"2E c #7E623C", +"2F c #FFA22D", +"2G c #EE962D", +"2H c #C2BF6D", +"2I c #DEDA76", +"2J c #DBD776", +"2K c #D8D474", +"2L c #D7D374", +"2M c #D7D275", +"2N c #D2CD73", +"2O c #D1CC72", +"2P c #CEC973", +"2Q c #4F4F49", +"2R c #434343", +"2S c #444244", +"2T c #444443", +"2U c #454543", +"2V c #444645", +"2W c #474747", +"2X c #474646", +"2Y c #484848", +"2Z c #7C797C", +"2& c #ADA7B0", +"3 c #C1B7BF", +"30 c #C9C0CD", +"31 c #C1B8C7", +"32 c #A99FA6", +"33 c #91888C", +"34 c #7C7272", +"35 c #5D5856", +"36 c #656462", +"37 c #8C8B69", +"38 c #77755F", +"39 c #A2986C", +"3a c #B4A755", +"3b c #A3995B", +"3c c #6C6446", +"3d c #575656", +"3e c #6C6846", +"3f c #625940", +"3g c #767357", +"3h c #A19341", +"3i c #B19F41", +"3j c #D9B63B", +"3k c #A1A260", +"3l c #464646", +"3m c #625541", +"3n c #E19831", +"3o c #FFA82C", +"3p c #937D48", +"3q c #7E6B4D", +"3r c #A98A5B", +"3s c #96784C", +"3t c #B39346", +"3u c #FD9727", +"3v c #F39424", +"3w c #C8BA65", +"3x c #D0CC73", +"3y c #D0CB72", +"3z c #CBC772", +"3A c #C9C472", +"3B c #C7C371", +"3C c #C1BE6F", +"3D c #494944", +"3E c #3F3E3F", +"3F c #403F3E", +"3G c #3F4040", +"3H c #404141", +"3I c #424141", +"3J c #424241", +"3K c #434242", +"3L c #4E4D4E", +"3M c #9E9B9F", +"3N c #E9E6E9", +"3O c #FDFAFE", +"3P c #FEFCFE", +"3Q c #FEFBFE", +"3R c #F7F2F9", +"3S c #CCC5CE", +"3T c #ABA1A7", +"3U c #9C9298", +"3V c #7A7173", +"3W c #685F5C", +"3X c #534840", +"3Y c #423A32", +"3Z c #484441", +"3& c #D0B63D", +"4 c #FEF552", +"40 c #D0C53F", +"41 c #716840", +"42 c #5C5A56", +"43 c #515051", +"44 c #4E5050", +"45 c #525044", +"46 c #746931", +"47 c #7F7D58", +"48 c #B3A348", +"49 c #8E7A35", +"4a c #54523C", +"4b c #434444", +"4c c #514C37", +"4d c #605734", +"4e c #594D3D", +"4f c #E9982A", +"4g c #FEA02A", +"4h c #FEA22C", +"4i c #9E722F", +"4j c #4D4539", +"4k c #3B3A3B", +"4l c #3B3C3B", +"4m c #3B3A3A", +"4n c #765E34", +"4o c #534B38", +"4p c #A9A664", +"4q c #C5C370", +"4r c #C2BE6F", +"4s c #C1BD6F", +"4t c #C1BE70", +"4u c #B9B56D", +"4v c #BDBA6F", +"4w c #BDBA6E", +"4x c #B8B46D", +"4y c #454642", +"4z c #3B3C3A", +"4A c #3B3B3B", +"4B c #3D3D3C", +"4C c #3D3D3D", +"4D c #3F3F3E", +"4E c #40403E", +"4F c #847C81", +"4G c #C8BCC8", +"4H c #BDACAE", +"4I c #A99FA8", +"4J c #998E94", +"4K c #8F858A", +"4L c #726667", +"4M c #615654", +"4N c #514641", +"4O c #493F38", +"4P c #3B3028", +"4Q c #362A21", +"4R c #32261C", +"4S c #2B2118", +"4T c #3D3932", +"4U c #837646", +"4V c #D2C224", +"4W c #817927", +"4X c #908330", +"4Y c #797247", +"4Z c #5E5B52", +"4& c #515352", +"5 c #4E4E4D", +"50 c #4C4B4D", +"51 c #56554F", +"52 c #958F60", +"53 c #B19A37", +"54 c #827633", +"55 c #534E3F", +"56 c #434243", +"57 c #434142", +"58 c #414041", +"59 c #45443A", +"5a c #6C5E2B", +"5b c #3C3C3B", +"5c c #3C3B3C", +"5d c #5E4E35", +"5e c #96692C", +"5f c #947330", +"5g c #393738", +"5h c #373738", +"5i c #373736", +"5j c #353735", +"5k c #363636", +"5l c #373735", +"5m c #70704F", +"5n c #828257", +"5o c #858458", +"5p c #868558", +"5q c #7C7B55", +"5r c #777652", +"5s c #757352", +"5t c #767453", +"5u c #3C3B39", +"5v c #7D7A4D", +"5w c #8F793C", +"5x c #393A3A", +"5y c #393A39", +"5z c #3B3B3A", +"5A c #3C3C3C", +"5B c #3D3C3D", +"5C c #3F3E3E", +"5D c #7D7276", +"5E c #9D877E", +"5F c #A58A7D", +"5G c #6F6467", +"5H c #5C5052", +"5I c #504441", +"5J c #4B3F3B", +"5K c #453A36", +"5L c #3E362C", +"5M c #3A2F24", +"5N c #392C23", +"5O c #34291F", +"5P c #39302B", +"5Q c #625C42", +"5R c #7E7230", +"5S c #555451", +"5T c #635F3D", +"5U c #827B2A", +"5V c #97894A", +"5W c #686554", +"5X c #9C9B78", +"5Y c #838369", +"5Z c #ACA55F", +"5& c #A79B48", +"6 c #6E662D", +"60 c #7A6D27", +"61 c #424343", +"62 c #414040", +"63 c #3B3D3B", +"64 c #7A642E", +"65 c #383A3A", +"66 c #373837", +"67 c #363635", +"68 c #353636", +"69 c #353534", +"6a c #333433", +"6b c #323233", +"6c c #323333", +"6d c #343232", +"6e c #323232", +"6f c #333132", +"6g c #323131", +"6h c #303131", +"6i c #303130", +"6j c #313132", +"6k c #313131", +"6l c #878547", +"6m c #FEC541", +"6n c #CC9F3B", +"6o c #4A4537", +"6p c #383837", +"6q c #393B3B", +"6r c #3B3B3C", +"6s c #777177", +"6t c #BFA59C", +"6u c #D0B1A1", +"6v c #8D8289", +"6w c #6C6063", +"6x c #5C4F50", +"6y c #564A4A", +"6z c #4D4340", +"6A c #3C3128", +"6B c #33271F", +"6C c #34281E", +"6D c #2D2219", +"6E c #555655", +"6F c #575751", +"6G c #90801D", +"6H c #56543F", +"6I c #D6B83D", +"6J c #FEEA53", +"6K c #E2CC29", +"6L c #615B34", +"6M c #464545", +"6N c #5C5732", +"6O c #5A5335", +"6P c #40403F", +"6Q c #3E3D3E", +"6R c #3D3C3B", +"6S c #393839", +"6T c #685E20", +"6U c #363536", +"6V c #343534", +"6W c #333334", +"6X c #323332", +"6Y c #323130", +"6Z c #30302F", +"6& c #302E2F", +"7 c #2F2E2F", +"70 c #2F302F", +"71 c #302F2F", +"72 c #B6B265", +"73 c #DDD875", +"74 c #D6D173", +"75 c #D3CE71", +"76 c #D7D472", +"77 c #D1CB70", +"78 c #CEC970", +"79 c #D7D273", +"7a c #D4CE71", +"7b c #403F37", +"7c c #85844A", +"7d c #F7B134", +"7e c #FEB737", +"7f c #F3B33A", +"7g c #6E5C37", +"7h c #383738", +"7i c #393937", +"7j c #5F5A5F", +"7k c #DDC1B7", +"7l c #E8C7B4", +"7m c #A2949A", +"7n c #6A6161", +"7o c #645959", +"7p c #6B5F62", +"7q c #675C5C", +"7r c #3E3128", +"7s c #2E241A", +"7t c #32271D", +"7u c #31271F", +"7v c #545554", +"7w c #535454", +"7x c #706625", +"7y c #6C6541", +"7z c #4E4F4F", +"7A c #847135", +"7B c #EECD1D", +"7C c #C6B22B", +"7D c #454646", +"7E c #454345", +"7F c #424242", +"7G c #4F4C37", +"7H c #5F562F", +"7I c #3A393A", +"7J c #383939", +"7K c #373737", +"7L c #73652B", +"7M c #434232", +"7N c #333232", +"7O c #5D492E", +"7P c #C48129", +"7Q c #6F5B2D", +"7R c #2E2D2D", +"7S c #2C2B2B", +"7T c #2C2B2A", +"7U c #3E362A", +"7V c #755128", +"7W c #755029", +"7X c #BFB965", +"7Y c #D5D175", +"7Z c #D4CF75", +"7& c #D2CC73", +"8 c #D0CB73", +"80 c #CFCB72", +"81 c #CCC872", +"82 c #3E3D38", +"83 c #83824D", +"84 c #F2A32C", +"85 c #FFB733", +"86 c #FFBC3A", +"87 c #FFB639", +"88 c #CD943E", +"89 c #444037", +"8a c #383938", +"8b c #555154", +"8c c #E1C7C1", +"8d c #F8D5C6", +"8e c #B6A6A9", +"8f c #6E6364", +"8g c #6D6363", +"8h c #7E7277", +"8i c #74696B", +"8j c #3B3027", +"8k c #2C2219", +"8l c #34291E", +"8m c #302922", +"8n c #474847", +"8o c #525153", +"8p c #5C583D", +"8q c #897831", +"8r c #535037", +"8s c #786E22", +"8t c #454544", +"8u c #46453E", +"8v c #847727", +"8w c #4F4E40", +"8x c #3A3B3A", +"8y c #393938", +"8z c #353635", +"8A c #4D452C", +"8B c #69542C", +"8C c #D18428", +"8D c #FF9D25", +"8E c #FD9B25", +"8F c #A36B28", +"8G c #84602D", +"8H c #836F42", +"8I c #836C3F", +"8J c #9A7233", +"8K c #FD9522", +"8L c #FB9522", +"8M c #BEB260", +"8N c #CDC973", +"8O c #CDC773", +"8P c #CAC672", +"8Q c #C8C470", +"8R c #C6C170", +"8S c #C4C070", +"8T c #C4C06F", +"8U c #3D3C37", +"8V c #82814A", +"8W c #F8AE31", +"8X c #FDA92C", +"8Y c #FFBF37", +"8Z c #FFBC37", +"8& c #FEB440", +"9 c #F2B144", +"90 c #60503D", +"91 c #494748", +"92 c #D6C2C6", +"93 c #EED1CC", +"94 c #C8BDBB", +"95 c #736768", +"96 c #736A6A", +"97 c #8E8287", +"98 c #84797D", +"99 c #352A22", +"9a c #2C2119", +"9b c #34281F", +"9c c #251F19", +"9d c #2B2A2A", +"9e c #51514D", +"9f c #91801E", +"9g c #4C4B4B", +"9h c #494A4B", +"9i c #4B4A43", +"9j c #807319", +"9k c #454343", +"9l c #413F40", +"9m c #908142", +"9n c #F9D32A", +"9o c #827627", +"9p c #3C3D38", +"9q c #373839", +"9r c #353535", +"9s c #413F2E", +"9t c #4E4628", +"9u c #5C452C", +"9v c #BC7523", +"9w c #F89320", +"9x c #6E5A2C", +"9y c #2A2B2A", +"9z c #292B2B", +"9A c #282A29", +"9B c #493A28", +"9C c #D07B1C", +"9D c #CC781B", +"9E c #ADA15C", +"9F c #C2BD70", +"9G c #C2BE70", +"9H c #C0BC70", +"9I c #C0BB6F", +"9J c #BEB86E", +"9K c #BBB86E", +"9L c #BCB86E", +"9M c #B9B56E", +"9N c #3B3A35", +"9O c #837F4A", +"9P c #F69F2A", +"9Q c #FEB432", +"9R c #FEC036", +"9S c #FFCA5B", +"9T c #F8BA58", +"9U c #B07228", +"9V c #413B35", +"9W c #E4CECA", +"9X c #C9BFC3", +"9Y c #736969", +"9Z c #776D6D", +"9& c #90868C", +"a c #887D81", +"a0 c #322921", +"a1 c #342821", +"a2 c #231F1E", +"a3 c #232223", +"a4 c #242424", +"a5 c #77672F", +"a6 c #6A633F", +"a7 c #4B4A4A", +"a8 c #6A5E1F", +"a9 c #55513F", +"aa c #777257", +"ab c #A59C54", +"ac c #62582C", +"ad c #534E1C", +"ae c #434033", +"af c #514D29", +"ag c #554F1F", +"ah c #43412E", +"ai c #353536", +"aj c #373732", +"ak c #6B5E1D", +"al c #313231", +"am c #303030", +"an c #523F2A", +"ao c #413C2D", +"ap c #2C2C2D", +"aq c #2B2C2B", +"ar c #2A2A2C", +"as c #2B2B2C", +"at c #2D2C2B", +"au c #2C2D2D", +"av c #908E5C", +"aw c #B7B26C", +"ax c #B7B26D", +"ay c #B3B16C", +"az c #B1AE6C", +"aA c #B1AE6D", +"aB c #B1AD6C", +"aC c #AEAB6B", +"aD c #3A3B36", +"aE c #837A46", +"aF c #F9A028", +"aG c #FFB240", +"aH c #FBCD87", +"aI c #E29938", +"aJ c #62492F", +"aK c #353737", +"aL c #383737", +"aM c #373739", +"aN c #BBB1BB", +"aO c #D6C5C9", +"aP c #BAB0BC", +"aQ c #6F6766", +"aR c #776D6E", +"aS c #968A92", +"aT c #847B7D", +"aU c #2F241B", +"aV c #2F241A", +"aW c #23211E", +"aX c #242524", +"aY c #505151", +"aZ c #504F50", +"a& c #595540", +"b c #7E7029", +"b0 c #494B4A", +"b1 c #494948", +"b2 c #68642D", +"b3 c #A99031", +"b4 c #837A41", +"b5 c #464540", +"b6 c #2F2E2E", +"b7 c #1C1B1C", +"b8 c #202221", +"b9 c #3A3A3A", +"ba c #3E3D39", +"bb c #48452A", +"bc c #544F1E", +"bd c #4D4A2C", +"be c #8E7627", +"bf c #52503B", +"bg c #323231", +"bh c #302F30", +"bi c #2E2E2F", +"bj c #2E2F2F", +"bk c #2E2F2E", +"bl c #2D2D2D", +"bm c #2E2E2D", +"bn c #69664C", +"bo c #767455", +"bp c #7B7955", +"bq c #747456", +"br c #757455", +"bs c #717155", +"bt c #747254", +"bu c #717154", +"bv c #737155", +"bw c #343533", +"bx c #836D33", +"by c #E9841B", +"bz c #E8A648", +"bA c #AE6A1E", +"bB c #433B32", +"bC c #353736", +"bD c #3A3939", +"bE c #B0A5AE", +"bF c #C3B9C6", +"bG c #B9AEBB", +"bH c #766C6E", +"bI c #786F70", +"bJ c #978C93", +"bK c #7B7172", +"bL c #2C231A", +"bM c #30251C", +"bN c #2F261C", +"bO c #242122", +"bP c #232323", +"bQ c #242423", +"bR c #525152", +"bS c #8F7B1E", +"bT c #4B4C4D", +"bU c #706D5C", +"bV c #A99B51", +"bW c #807731", +"bX c #796B1F", +"bY c #434344", +"bZ c #3E3E40", +"b& c #222123", +"c c #1C1C1D", +"c0 c #1E1C1E", +"c1 c #2F2F31", +"c2 c #90803C", +"c3 c #F7C623", +"c4 c #B2A72D", +"c5 c #333534", +"c6 c #333333", +"c7 c #534530", +"c8 c #323031", +"c9 c #313232", +"ca c #312F30", +"cb c #2F2F30", +"cc c #313030", +"cd c #303031", +"ce c #806534", +"cf c #CB7615", +"cg c #654828", +"ch c #353637", +"ci c #383838", +"cj c #3A3A39", +"ck c #9E97A1", +"cl c #C2B9C6", +"cm c #B9B0BD", +"cn c #796E6F", +"co c #796F6F", +"cp c #9A8D96", +"cq c #7C7172", +"cr c #2C2218", +"cs c #2E251D", +"ct c #2E241B", +"cu c #222223", +"cv c #535453", +"cw c #8E7725", +"cx c #AEA654", +"cy c #B1A664", +"cz c #8B8353", +"cA c #4F4F44", +"cB c #71651A", +"cC c #4A4844", +"cD c #3D3E3F", +"cE c #212120", +"cF c #29282A", +"cG c #282828", +"cH c #201F1F", +"cI c #A38D50", +"cJ c #756D30", +"cK c #8E752A", +"cL c #A07F35", +"cM c #C78229", +"cN c #F19B26", +"cO c #B27D2A", +"cP c #343434", +"cQ c #333535", +"cR c #343334", +"cS c #343335", +"cT c #343333", +"cU c #A6A567", +"cV c #CECE76", +"cW c #CFCE7B", +"cX c #C4BF6B", +"cY c #D0CC6C", +"cZ c #C9C76D", +"c& c #C0BB69", +"d c #CBC76F", +"d0 c #C2C06B", +"d1 c #3F3F39", +"d2 c #5E4F33", +"d3 c #453B33", +"d4 c #3A3839", +"d5 c #99929C", +"d6 c #C3B9C7", +"d7 c #BCB1BE", +"d8 c #7B7073", +"d9 c #797172", +"da c #978E94", +"db c #786D6E", +"dc c #2A2017", +"dd c #2B221B", +"de c #252424", +"df c #242426", +"dg c #515251", +"dh c #DEC229", +"di c #F0DF3E", +"dj c #7F7845", +"dk c #4C4B4A", +"dl c #625C26", +"dm c #605B37", +"dn c #1E1F1E", +"do c #313233", +"dp c #3D3C3C", +"dq c #777045", +"dr c #957A36", +"ds c #4A4536", +"dt c #3B3C3C", +"du c #3C3B3A", +"dv c #9E6A2B", +"dw c #FC9921", +"dx c #FE9C22", +"dy c #B27626", +"dz c #8C6A31", +"dA c #767048", +"dB c #575543", +"dC c #363837", +"dD c #C6923A", +"dE c #A1833B", +"dF c #D4CB6A", +"dG c #DAD574", +"dH c #D5D174", +"dI c #D3CE73", +"dJ c #D2CD74", +"dK c #D2CE72", +"dL c #CAC770", +"dM c #45463F", +"dN c #373838", +"dO c #393837", +"dP c #383839", +"dQ c #3C3C3D", +"dR c #3E3D3D", +"dS c #817B81", +"dT c #C6BDCA", +"dU c #C2B9C8", +"dV c #84797C", +"dW c #82797B", +"dX c #988F95", +"dY c #6D6262", +"dZ c #31261E", +"d& c #282019", +"e c #242624", +"e0 c #242525", +"e1 c #262627", +"e2 c #565554", +"e3 c #737246", +"e4 c #80733A", +"e5 c #A69637", +"e6 c #5D5A4B", +"e7 c #545239", +"e8 c #72651C", +"e9 c #1F201F", +"ea c #444344", +"eb c #666558", +"ec c #AB9B5D", +"ed c #564D22", +"ee c #3A3B3B", +"ef c #403F40", +"eg c #3F3F3F", +"eh c #3D3D3E", +"ei c #3C3D3D", +"ej c #6A5034", +"ek c #EC901F", +"el c #5F5237", +"em c #4B4234", +"en c #6F5C38", +"eo c #A87C36", +"ep c #FE9820", +"eq c #FA941E", +"er c #C0B362", +"es c #D0CC72", +"et c #CFCA71", +"eu c #CDCA72", +"ev c #CCC771", +"ew c #CBC770", +"ex c #CAC571", +"ey c #C9C470", +"ez c #C2BF6F", +"eA c #474740", +"eB c #3C3E3C", +"eC c #3E3E3D", +"eD c #3E3F3E", +"eE c #5E585A", +"eF c #B1A6B0", +"eG c #C2B7C6", +"eH c #897F83", +"eI c #877D80", +"eJ c #9D939A", +"eK c #756B6B", +"eL c #2A2117", +"eM c #30271F", +"eN c #27211C", +"eO c #252525", +"eP c #262626", +"eQ c #262726", +"eR c #5A5843", +"eS c #827533", +"eT c #9C8C47", +"eU c #525247", +"eV c #726413", +"eW c #222122", +"eX c #393933", +"eY c #91884D", +"eZ c #938D55", +"e& c #505040", +"f c #242325", +"f0 c #424342", +"f1 c #414342", +"f2 c #414141", +"f3 c #404140", +"f4 c #3F3F40", +"f5 c #45423D", +"f6 c #3E3E3E", +"f7 c #685236", +"f8 c #CA7B23", +"f9 c #D68222", +"fa c #A09C62", +"fb c #C5C170", +"fc c #C5C171", +"fd c #C1BF70", +"fe c #C2C06F", +"ff c #C3BE6F", +"fg c #BFBC70", +"fh c #B8B36D", +"fi c #494943", +"fj c #3E3C3E", +"fk c #3D3F3E", +"fl c #3E3E3F", +"fm c #404041", +"fn c #514C4B", +"fo c #A1969D", +"fp c #ADA2AB", +"fq c #83797D", +"fr c #7E7577", +"fs c #94888F", +"ft c #5F5550", +"fu c #31261D", +"fv c #26211C", +"fw c #252625", +"fx c #282728", +"fy c #595858", +"fz c #575657", +"fA c #565756", +"fB c #696041", +"fC c #B9A640", +"fD c #98812B", +"fE c #A39D58", +"fF c #A1913C", +"fG c #615D3D", +"fH c #474748", +"fI c #212021", +"fJ c #454445", +"fK c #434341", +"fL c #414242", +"fM c #404142", +"fN c #404040", +"fO c #413F41", +"fP c #46433F", +"fQ c #999761", +"fR c #BBB76E", +"fS c #B9B66E", +"fT c #B7B36E", +"fU c #B5B36D", +"fV c #B3AF6D", +"fW c #B2AF6B", +"fX c #B4B26C", +"fY c #AFAD6C", +"fZ c #484843", +"f& c #40413F", +"g c #414140", +"g0 c #434241", +"g1 c #434442", +"g2 c #434443", +"g3 c #363535", +"g4 c #4C4746", +"g5 c #5D5654", +"g6 c #5A5050", +"g7 c #5A504F", +"g8 c #625857", +"g9 c #43382E", +"ga c #2F2319", +"gb c #2E241C", +"gc c #272423", +"gd c #272727", +"ge c #272928", +"gf c #282928", +"gg c #5A5A59", +"gh c #585757", +"gi c #575556", +"gj c #6A6041", +"gk c #FFD620", +"gl c #FFE927", +"gm c #5D5C4A", +"gn c #4A4B4C", +"go c #474746", +"gp c #252325", +"gq c #474647", +"gr c #454645", +"gs c #444444", +"gt c #444545", +"gu c #434543", +"gv c #444342", +"gw c #88865D", +"gx c #999766", +"gy c #9C9A66", +"gz c #A19E67", +"gA c #A19E68", +"gB c #9B9866", +"gC c #918F65", +"gD c #979666", +"gE c #939065", +"gF c #4F4E49", +"gG c #444343", +"gH c #454444", +"gI c #353537", +"gJ c #232525", +"gK c #29292B", +"gL c #272726", +"gM c #272827", +"gN c #282929", +"gO c #292A29", +"gP c #5A5C5B", +"gQ c #5A5B59", +"gR c #5A5A5A", +"gS c #565656", +"gT c #78641C", +"gU c #686331", +"gV c #4E4E4F", +"gW c #272627", +"gX c #494949", +"gY c #494848", +"gZ c #464746", +"g& c #474645", +"h c #464546", +"h0 c #464645", +"h1 c #474848", +"h2 c #3F3F3D", +"h3 c #262526", +"h4 c #272828", +"h5 c #494A49", +"h6 c #4B4C4C", +"h7 c #373937", +"h8 c #2A2A2A", +"h9 c #292829", +"ha c #292928", +"hb c #292A2A", +"hc c #2A2A2B", +"hd c #5C5C5B", +"he c #595A5B", +"hf c #595959", +"hg c #565658", +"hh c #2D2D2E", +"hi c #282827", +"hj c #4E504F", +"hk c #262625", +"hl c #4B4D4C", +"hm c #4C4B4C", +"hn c #4A4A49", +"ho c #484849", +"hp c #4A4948", +"hq c #494A4A", +"hr c #49494A", +"hs c #383739", +"ht c #282727", +"hu c #292A2B", +"hv c #2C2C2B", +"hw c #2A292A", +"hx c #2A2B2B", +"hy c #2B2C2A", +"hz c #2D2C2C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B B C D E F G B E C A A H C I C J K L M N u O P r Q", +" R S S T U V W X Y Z &0 000102030405060707080808090a0b F D0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0q0t0u0v0w0x0w0y0z0A0c0c0B B A0C K0D", +"0E0F W c Y f0G0H0I0J0K0L0M0N0O0P0Q0R w0S G0T D0U0V0W0X0Y0Z0&0&1 101112131415161718191a1b1c1d1b1e1f1g1f1h1i1j0Z1k1l1m0w1n0V1o1p1q", +"1r1s1t1u1v i1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1M1N1O1O1P1Q1R1S1T1U151V1W1X1Y1Z1&2 2021222324241R252627281c292a2b2c2d2e1h0p0w0W1I", +"1u0H2f2g2h2i2j2k2l2m2n0S2o2p2q1k2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2T2U2V2B2W2X2Y2Z2&3 3031323334350Y0Y1l", +"363738393a3b3c3d0C G0z0U3e3f1 293g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w2N3x3y2P3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z", +"3&4 404142 I0C E1I43441 45464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T", +"4U4V4W4X4Y4Z4&1k0Z5 505152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P26", +" u5Q5R5S5T5U5V5W5X5Y5Z5&6 60613J623E4B636465666768696a6b6c6d6d6e6e6f6g6h6i6j6k6k6b6a6l6m6n6o6p5x6q6r6s6t6u6v6w6x6y6z6A6B6C6D2U1R", +"6E6F6G0U0w2e6H6I6J6K6L6M2D6N6O6P6Q6R4m6S6T6U6V6W6X6Y6Z6&7 707 7172737475767778797a7b7c7d7e7f7g7h7i5y7j7k7l7m7n7o7p7q7r7s7t7u2W2Y", +"7v7w7x7y7z5 1b7A7B7C7D7E7F7G7H4C4l7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X2L7Y7Z7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m2B8n", +" H8o8p8q1j2929278r8s8t617F8u8v8w8x8y668z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T4w8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d7K", +" D1I9e9f1M9g9h1Q9i9j9k2R9l9m9n9o9p9q5i9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V6S929W9X9Y9Z9&a a09aa1a2a3a4", +"0z0w0qa5a629a71Q21a8a9aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazaAaBaCaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaV7taWa3aX", +"0caYaZa&b 1bb0b12Xb2b3b4b5b6b7b8b9babbbcbdbebfbg6kbhbibjbkblbm71bnbobpbqbrbsbtbubvbwbxbybzbAbBbCaL6pbDbEbFbGbHbIbJbKbLbMbNbObPbQ", +"7wbR0s0ZbSbT29bUbVbWbXbYbZb&c c0c14l5x7Jc2c3c4c5c6c76gc86ic8c96jbgca6Zcbcc6icd6ic86gcecfcg5kch7Kcicj5zckclcmcncocpcqcrcsctcubQaX", +"cv0yaY0YcwcxcyczcA24cBcCcDcEcFcGcH6UcAcIcJcKcLcMcNcOcPcQcRcSc5cTcUcVcWcXcYcZc&d d0d1d2d3ai5g6pd4b98x4Ad5d6d7d8d9dadbdcbMdda4dedf", +" B0Adg1ldhdidjdk1c28dldmamdndodpdfdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdG2LdH79dIdJdKdLdMdNdOdPb9b96rdQ5AdRdSdTdUdVdWdXdYdcdZd&e e0e1", +"e27v1odg3ce3e4e5e61ce7e8e1e9eaebecedeeefegeheiejekeleeemeneoepeqereseteuevewexeyezeA4k5AdtdQeBeheCeD4EeEeFeGeHeIeJeKeLeMeNeOePeQ", +" w0b0c0c1I431leReSeTeUeVeWeXeYeZe&f ePf0f1f2f3f4f5f6egeCeDf7f8f9fafbfcfdfefffg9Ifhfifjf65Cfkflf4f3fm3Efnfofpfqfrfsft9afufvfwe1fx", +"fyfzfA F F Ddg0w0pfBfCfDfEfFfG2xfHaifI69fJ2T612RfKfLfLfMfN3IfOfPfQfRfSfTfUfVfWfXfYfZ62f&g f23Ig0g1g2cTg3g4g5g6g7g8g9gagbgcgdgegf", +"gg08ghgi x7v H8odg0wgjgkglgm1dgn1Ogo6kgp4k8ngq6Mgrgs8tgtg2gu2RgvgwgxgygzgAgBgCgDgEgFgGea2DgH6Mgtgr3lgIgJgK4k1R1R1Q7JgLfxgMgfgNgO", +"gPgQgRfyfA3dgS C G1o4DgTgU0ZgV0r0&1N24ePgW61gX1RgY8n8n2124gZ3l2Xg&go7D2Xgr3l6Mh 3l2X7D2Wh0fHgo8nh11Qh2gLh3h47Ih5h6h7h8h9hahbhch8", +"05hdgPhehf0808hggSbRhhhi290xdg0W1lhj7zgrhk6Xhl1M29hma7a727gXh5hnh51Qho1Rho1RhogY2xhpb1hq2Y27hrh51chmhsh9h4hthuhvgZ2R9yhwhx9yhyhz"}; diff --git a/2009-x64/cps4.03/icons/cpscDeleteResult.xpm b/2009-x64/cps4.03/icons/cpscDeleteResult.xpm new file mode 100644 index 0000000..e3556b4 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscDeleteResult.xpm @@ -0,0 +1,1269 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1242 2", +" c #727172", +" 0 c #717271", +" 1 c #6F7071", +" 2 c #706F70", +" 3 c #6E6E6E", +" 4 c #6D6C6D", +" 5 c #6B6B6C", +" 6 c #6B6A6B", +" 7 c #686769", +" 8 c #686868", +" 9 c #696868", +" a c #706D63", +" b c #877F5C", +" c c #8C835A", +" d c #8F8459", +" e c #837C59", +" f c #6F6D5E", +" g c #605F60", +" h c #5F605F", +" i c #5F5E5E", +" j c #5C5E5D", +" k c #5D5E5F", +" l c #5B5C5B", +" m c #5B5B5B", +" n c #5C5B5B", +" o c #5A595B", +" p c #585959", +" q c #5A5859", +" r c #58595A", +" s c #585857", +" t c #575657", +" u c #575758", +" v c #575756", +" w c #565655", +" x c #555656", +" y c #555655", +" z c #555555", +" A c #545455", +" B c #555455", +" C c #555454", +" D c #535253", +" E c #535353", +" F c #555453", +" G c #545353", +" H c #545454", +" I c #535454", +" J c #545555", +" K c #5D5D5F", +" L c #5B5A5A", +" M c #565454", +" N c #555556", +" O c #565755", +" P c #575856", +" Q c #575658", +" R c #575757", +" S c #59595A", +" T c #5A5A5A", +" U c #6E6D6E", +" V c #6C6D6D", +" W c #6D6D6C", +" X c #6A6C6B", +" Y c #696969", +" Z c #676767", +" & c #676768", +"0 c #666665", +"00 c #646564", +"01 c #968A52", +"02 c #D4BA46", +"03 c #FCD93E", +"04 c #FDE75A", +"05 c #FDEB66", +"06 c #FEEC68", +"07 c #F8D94D", +"08 c #F0CE3B", +"09 c #DFC038", +"0a c #BBA63C", +"0b c #767051", +"0c c #575858", +"0d c #585656", +"0e c #565857", +"0f c #555456", +"0g c #545354", +"0h c #535252", +"0i c #525253", +"0j c #515152", +"0k c #535352", +"0l c #505151", +"0m c #515151", +"0n c #505251", +"0o c #50504F", +"0p c #505050", +"0q c #504F50", +"0r c #4F514F", +"0s c #4F4F4F", +"0t c #4F4E4E", +"0u c #4F4F50", +"0v c #D7CFD9", +"0w c #E8E3EB", +"0x c #92888C", +"0y c #4A443D", +"0z c #515251", +"0A c #505152", +"0B c #545252", +"0C c #545554", +"0D c #555554", +"0E c #555654", +"0F c #565756", +"0G c #696A6A", +"0H c #686969", +"0I c #696968", +"0J c #656666", +"0K c #656565", +"0L c #656465", +"0M c #636263", +"0N c #616162", +"0O c #7A7456", +"0P c #CBB23C", +"0Q c #ECCC40", +"0R c #FBE263", +"0S c #FEFA8D", +"0T c #FEFFB0", +"0U c #FFFEC7", +"0V c #FEFEA8", +"0W c #FFF97B", +"0X c #F8DA5A", +"0Y c #E3C543", +"0Z c #DBBC34", +"0& c #D6B92A", +"1 c #9B8B3B", +"10 c #5C594F", +"11 c #515051", +"12 c #515150", +"13 c #4E4F4F", +"14 c #4F4F4D", +"15 c #4E4E4E", +"16 c #4D4E4D", +"17 c #4E4E4D", +"18 c #4E4D4C", +"19 c #4C4D4B", +"1a c #4D4D4D", +"1b c #4B4A4B", +"1c c #4B4B4C", +"1d c #4A4B4C", +"1e c #4B4A4A", +"1f c #4B4B4B", +"1g c #4C4B4A", +"1h c #4B4C4B", +"1i c #696669", +"1j c #868287", +"1k c #AAA3AB", +"1l c #DCD5DF", +"1m c #BFB5BF", +"1n c #ADA4A9", +"1o c #9B9194", +"1p c #877E7F", +"1q c #736B6B", +"1r c #5F5A58", +"1s c #515050", +"1t c #504F4F", +"1u c #505051", +"1v c #525052", +"1w c #525252", +"1x c #525352", +"1y c #666566", +"1z c #636464", +"1A c #646363", +"1B c #626161", +"1C c #5F5E5F", +"1D c #5E5E5F", +"1E c #9D8F40", +"1F c #D9BE2C", +"1G c #DCBF46", +"1H c #ECD05B", +"1I c #FFED79", +"1J c #FFFFC1", +"1K c #FFFEFE", +"1L c #FFFFFE", +"1M c #FFFFF6", +"1N c #FFFEAC", +"1O c #FBE167", +"1P c #E2C84C", +"1Q c #D3B738", +"1R c #CAAE2D", +"1S c #CBAF26", +"1T c #BCA528", +"1U c #625F46", +"1V c #4D4D4B", +"1W c #4B4A4C", +"1X c #4A4B4A", +"1Y c #484948", +"1Z c #484949", +"1& c #484747", +"2 c #474747", +"20 c #474848", +"21 c #474746", +"22 c #464746", +"23 c #464745", +"24 c #474646", +"25 c #464645", +"26 c #464646", +"27 c #464847", +"28 c #7C797D", +"29 c #CBC6CD", +"2a c #F5F2F7", +"2b c #F7F0FC", +"2c c #F6F3F9", +"2d c #E9E3F0", +"2e c #D0C7D1", +"2f c #BAB3BB", +"2g c #A29BA1", +"2h c #90868A", +"2i c #7F7777", +"2j c #6F6464", +"2k c #605752", +"2l c #4F4740", +"2m c #494542", +"2n c #4E4E50", +"2o c #4F504E", +"2p c #505150", +"2q c #636362", +"2r c #636361", +"2s c #5F6160", +"2t c #5E5E5E", +"2u c #5F5F5F", +"2v c #5D5C5C", +"2w c #877D46", +"2x c #C9B125", +"2y c #C2AB35", +"2z c #D2B749", +"2A c #EFD567", +"2B c #FFFEA3", +"2C c #FFFFE4", +"2D c #FEFEFF", +"2E c #FFFEFF", +"2F c #FFFFF2", +"2G c #FEFFAB", +"2H c #FAE56C", +"2I c #D9C147", +"2J c #CAB137", +"2K c #C2A92E", +"2L c #BDA326", +"2M c #BCA520", +"2N c #B09B22", +"2O c #575542", +"2P c #444546", +"2Q c #464444", +"2R c #454546", +"2S c #434344", +"2T c #434544", +"2U c #434343", +"2V c #444443", +"2W c #424242", +"2X c #424243", +"2Y c #424342", +"2Z c #424141", +"2& c #424341", +"3 c #686567", +"30 c #C6BEC9", +"31 c #FDF7FE", +"32 c #F2F1EE", +"33 c #E6E5E5", +"34 c #C4C0C1", +"35 c #F0EBEE", +"36 c #BAB4B5", +"37 c #958A8B", +"38 c #7C7473", +"39 c #675D5A", +"3a c #4F4541", +"3b c #3E332C", +"3c c #3B312B", +"3d c #322920", +"3e c #2A1E13", +"3f c #271B0E", +"3g c #362C20", +"3h c #4C4C4B", +"3i c #4C4D4E", +"3j c #4D4F4E", +"3k c #4F5050", +"3l c #5F6060", +"3m c #5E5F5F", +"3n c #5E5D5D", +"3o c #5C5D5B", +"3p c #6E684E", +"3q c #BDA61F", +"3r c #B19C26", +"3s c #B59C31", +"3t c #C5AE41", +"3u c #E1CB59", +"3v c #FBE976", +"3w c #FEFFB4", +"3x c #FFFFE9", +"3y c #FEFEED", +"3z c #FEFEBB", +"3A c #FEF97F", +"3B c #E8D157", +"3C c #D2BC43", +"3D c #C2AA31", +"3E c #BAA329", +"3F c #B59E24", +"3G c #B09B1D", +"3H c #B29D1B", +"3I c #A1901F", +"3J c #44443F", +"3K c #404040", +"3L c #40403F", +"3M c #3E3E40", +"3N c #3F3F3F", +"3O c #3E3F3F", +"3P c #3F3E3F", +"3Q c #3E3D3E", +"3R c #3E3E3E", +"3S c #3D3F3E", +"3T c #3E3F3E", +"3U c #3E3E3D", +"3V c #555252", +"3W c #8C8185", +"3X c #94847D", +"3Y c #82726A", +"3Z c #615555", +"3& c #574A4A", +"4 c #4C413E", +"40 c #483B38", +"41 c #443732", +"42 c #413630", +"43 c #3E342C", +"44 c #3B3027", +"45 c #382D23", +"46 c #382C22", +"47 c #36291F", +"48 c #31251C", +"49 c #30251B", +"4a c #423E3A", +"4b c #4A494A", +"4c c #4C4C4C", +"4d c #4D4E4E", +"4e c #5D5D5D", +"4f c #5C5D5C", +"4g c #5A5959", +"4h c #595959", +"4i c #5B5A54", +"4j c #A99721", +"4k c #AA971F", +"4l c #A08C24", +"4m c #AA942C", +"4n c #BBA735", +"4o c #CAB542", +"4p c #E8D25A", +"4q c #FCEA71", +"4r c #FDF387", +"4s c #FFF78D", +"4t c #FAED76", +"4u c #F1DA61", +"4v c #D7C045", +"4w c #C3AE35", +"4x c #B7A329", +"4y c #B19B23", +"4z c #AB961D", +"4A c #A99319", +"4B c #A69216", +"4C c #AC9916", +"4D c #6A632D", +"4E c #3D3D3D", +"4F c #3B3C3C", +"4G c #3B3B3C", +"4H c #3B3C3B", +"4I c #3A3B3B", +"4J c #3B3A3A", +"4K c #3A3C3B", +"4L c #393A39", +"4M c #3A393A", +"4N c #393A3A", +"4O c #3A3838", +"4P c #3A3A3A", +"4Q c #39393A", +"4R c #3B3A3B", +"4S c #6A6264", +"4T c #706464", +"4U c #897468", +"4V c #615556", +"4W c #544A49", +"4X c #493E39", +"4Y c #463B36", +"4Z c #443934", +"4& c #423632", +"5 c #3B3128", +"50 c #3A3025", +"51 c #352A20", +"52 c #382921", +"53 c #33281F", +"54 c #2E2319", +"55 c #3E3732", +"56 c #474748", +"57 c #484849", +"58 c #494948", +"59 c #4A4A4A", +"5a c #4B4C4A", +"5b c #4D4B4B", +"5c c #585A5A", +"5d c #6F6940", +"5e c #AC9817", +"5f c #9D8D1B", +"5g c #94831F", +"5h c #A99826", +"5i c #B39F29", +"5j c #BFAB34", +"5k c #CBB640", +"5l c #DBC54C", +"5m c #E0CA52", +"5n c #D5BF4D", +"5o c #D7C34B", +"5p c #CBB73D", +"5q c #B8A52A", +"5r c #AB9720", +"5s c #A4911A", +"5t c #A08E16", +"5u c #9F8E15", +"5v c #9E8E13", +"5w c #A29012", +"5x c #928418", +"5y c #373838", +"5z c #383737", +"5A c #363737", +"5B c #363735", +"5C c #363536", +"5D c #48473B", +"5E c #A18B43", +"5F c #3D3A37", +"5G c #363435", +"5H c #353536", +"5I c #343536", +"5J c #353534", +"5K c #363537", +"5L c #363635", +"5M c #363736", +"5N c #373737", +"5O c #565154", +"5P c #85797D", +"5Q c #8D7B75", +"5R c #8F807B", +"5S c #6A5E60", +"5T c #534744", +"5U c #473B37", +"5V c #473C38", +"5W c #423832", +"5X c #383025", +"5Y c #34281C", +"5Z c #31251A", +"5& c #32251D", +"6 c #2F2419", +"60 c #2D241B", +"61 c #454444", +"62 c #454646", +"63 c #484748", +"64 c #484848", +"65 c #4A4A49", +"66 c #585758", +"67 c #565757", +"68 c #545655", +"69 c #545453", +"6a c #857922", +"6b c #9B8B14", +"6c c #928717", +"6d c #9A891A", +"6e c #97821C", +"6f c #9E8721", +"6g c #A28D28", +"6h c #A7912C", +"6i c #AA9330", +"6j c #B19A34", +"6k c #A8922F", +"6l c #AC982F", +"6m c #A79228", +"6n c #A18D22", +"6o c #9F8C1D", +"6p c #998719", +"6q c #968515", +"6r c #958414", +"6s c #948411", +"6t c #928310", +"6u c #95870F", +"6v c #9A8B0F", +"6w c #4E4B2A", +"6x c #323333", +"6y c #333333", +"6z c #333234", +"6A c #323232", +"6B c #454136", +"6C c #FFC442", +"6D c #D39E3E", +"6E c #5F5335", +"6F c #303230", +"6G c #313130", +"6H c #303232", +"6I c #313231", +"6J c #323231", +"6K c #343433", +"6L c #414041", +"6M c #988C94", +"6N c #8F8488", +"6O c #A5978E", +"6P c #736669", +"6Q c #564A49", +"6R c #554847", +"6S c #4C403D", +"6T c #493F39", +"6U c #382E24", +"6V c #2D2318", +"6W c #2D2317", +"6X c #2F2519", +"6Y c #2E2218", +"6Z c #2F281E", +"6& c #444343", +"7 c #464644", +"70 c #464546", +"71 c #525452", +"72 c #535151", +"73 c #857611", +"74 c #857111", +"75 c #8F8615", +"76 c #907B14", +"77 c #8E7715", +"78 c #8C7718", +"79 c #8E781B", +"7a c #8E771D", +"7b c #8F7B1F", +"7c c #8C761E", +"7d c #8C771E", +"7e c #8C771C", +"7f c #8D781A", +"7g c #867416", +"7h c #847313", +"7i c #847210", +"7j c #877711", +"7k c #83740F", +"7l c #85740F", +"7m c #8D7D39", +"7n c #8A7948", +"7o c #9A7E12", +"7p c #7A6D1A", +"7q c #2E2F2F", +"7r c #2F2F30", +"7s c #2F2F2E", +"7t c #423C31", +"7u c #F7AD34", +"7v c #FE9C2C", +"7w c #F8A836", +"7x c #977436", +"7y c #2E2D2E", +"7z c #2F2E2F", +"7A c #2E2E2D", +"7B c #2F3030", +"7C c #323130", +"7D c #B2A0A4", +"7E c #9E939A", +"7F c #AC9F9C", +"7G c #776C70", +"7H c #594E4B", +"7I c #5C5250", +"7J c #645959", +"7K c #645758", +"7L c #43372F", +"7M c #271D13", +"7N c #2B1F16", +"7O c #30241A", +"7P c #2A2116", +"7Q c #241F19", +"7R c #282828", +"7S c #444444", +"7T c #444545", +"7U c #55534A", +"7V c #78680A", +"7W c #86780D", +"7X c #82711C", +"7Y c #87791D", +"7Z c #887F0F", +"7& c #8C7C10", +"8 c #8C7712", +"80 c #897612", +"81 c #867312", +"82 c #847014", +"83 c #7F6B12", +"84 c #7C6912", +"85 c #786511", +"86 c #77650F", +"87 c #75640E", +"88 c #77660E", +"89 c #76660B", +"8a c #76670B", +"8b c #76680B", +"8c c #5F4F2D", +"8d c #6C5B50", +"8e c #AE7727", +"8f c #7D7016", +"8g c #2C2C2B", +"8h c #2A2C2A", +"8i c #2C2A2A", +"8j c #2B2B2B", +"8k c #413A30", +"8l c #F19C2C", +"8m c #F79C28", +"8n c #FEA32D", +"8o c #FA9C2D", +"8p c #D09635", +"8q c #4C432E", +"8r c #2C2C2C", +"8s c #2C2D2C", +"8t c #2D2E2E", +"8u c #303030", +"8v c #9D9196", +"8w c #C1ACAA", +"8x c #B5A7A4", +"8y c #847A79", +"8z c #5A4F4B", +"8A c #695C5E", +"8B c #716769", +"8C c #7A6F72", +"8D c #483D35", +"8E c #261B13", +"8F c #2B1F15", +"8G c #2B2015", +"8H c #211E1B", +"8I c #202021", +"8J c #232324", +"8K c #353635", +"8L c #404041", +"8M c #454544", +"8N c #464647", +"8O c #525151", +"8P c #555442", +"8Q c #756707", +"8R c #7C7311", +"8S c #766E0E", +"8T c #7B6A21", +"8U c #7A7117", +"8V c #7D790D", +"8W c #82790D", +"8X c #85750B", +"8Y c #84720C", +"8Z c #7F6E0E", +"8& c #7B6C0D", +"9 c #79670C", +"90 c #74650B", +"91 c #72620A", +"92 c #6E5E0A", +"93 c #695A08", +"94 c #685909", +"95 c #695B08", +"96 c #6B5D07", +"97 c #6C5C30", +"98 c #78675E", +"99 c #AC701C", +"9a c #827312", +"9b c #292A29", +"9c c #282929", +"9d c #282829", +"9e c #29282A", +"9f c #3E362C", +"9g c #EF9E2A", +"9h c #F89B27", +"9i c #FEB232", +"9j c #F8A32A", +"9k c #FC9D32", +"9l c #F8AB38", +"9m c #84622D", +"9n c #2C2B2B", +"9o c #2D2D2D", +"9p c #2E2E2E", +"9q c #2E2F2E", +"9r c #88828A", +"9s c #BDABAB", +"9t c #ADA0AC", +"9u c #888080", +"9v c #5D5550", +"9w c #6C6061", +"9x c #7D7176", +"9y c #857A7F", +"9z c #483E36", +"9A c #251B10", +"9B c #2A1F15", +"9C c #2F241A", +"9D c #261C12", +"9E c #20201D", +"9F c #20201F", +"9G c #1F2020", +"9H c #252727", +"9I c #3D3C3D", +"9J c #474745", +"9K c #555241", +"9L c #716605", +"9M c #706E11", +"9N c #6D690B", +"9O c #726519", +"9P c #726420", +"9Q c #726B14", +"9R c #726F0E", +"9S c #757109", +"9T c #786F07", +"9U c #7A6D08", +"9V c #796908", +"9W c #756708", +"9X c #726408", +"9Y c #6D6107", +"9Z c #6B5D06", +"9& c #675B07", +"a c #675906", +"a0 c #675808", +"a1 c #665809", +"a2 c #5D4D22", +"a3 c #7C6C64", +"a4 c #B6A33C", +"a5 c #7D6E14", +"a6 c #2A2B29", +"a7 c #292A2A", +"a8 c #292829", +"a9 c #28292A", +"aa c #3E382C", +"ab c #FAA631", +"ac c #FEA82E", +"ad c #FEAE2F", +"ae c #FEBB50", +"af c #FEC36E", +"ag c #B26F1D", +"ah c #433525", +"ai c #2B2C2B", +"aj c #2D2C2D", +"ak c #857F86", +"al c #B4A9AD", +"am c #AEA4AE", +"an c #88807E", +"ao c #6C6361", +"ap c #7F7479", +"aq c #867A80", +"ar c #443831", +"as c #24190F", +"at c #2B2116", +"au c #30261C", +"av c #251B11", +"aw c #21201F", +"ax c #201F1F", +"ay c #1F201F", +"az c #212120", +"aA c #222221", +"aB c #272828", +"aC c #353535", +"aD c #434342", +"aE c #525244", +"aF c #6E6501", +"aG c #696217", +"aH c #66600E", +"aI c #66630C", +"aJ c #695E1D", +"aK c #6B5F1D", +"aL c #686415", +"aM c #69680B", +"aN c #696C05", +"aO c #6A6C04", +"aP c #6F6A05", +"aQ c #746805", +"aR c #716606", +"aS c #6F6205", +"aT c #706207", +"aU c #6E6107", +"aV c #6C5D07", +"aW c #645328", +"aX c #796861", +"aY c #AE8B2F", +"aZ c #736616", +"a& c #2B2B2C", +"b c #2C2B2C", +"b0 c #40392F", +"b1 c #FBA92F", +"b2 c #FFAC31", +"b3 c #FFC36F", +"b4 c #E89E39", +"b5 c #7A501F", +"b6 c #2B2A2A", +"b7 c #2D2D2C", +"b8 c #2E2D2D", +"b9 c #2E2F2D", +"ba c #2F2F2F", +"bb c #736D73", +"bc c #B4A9AE", +"bd c #AFA5B0", +"be c #8E8387", +"bf c #615955", +"bg c #706565", +"bh c #81787B", +"bi c #867A7F", +"bj c #433831", +"bk c #23190F", +"bl c #30241B", +"bm c #271C10", +"bn c #1E1F20", +"bo c #212121", +"bp c #212221", +"bq c #232121", +"br c #232323", +"bs c #252425", +"bt c #525353", +"bu c #4E4D4E", +"bv c #6B6510", +"bw c #696A0A", +"bx c #645F0F", +"by c #635E0B", +"bz c #635C13", +"bA c #65581F", +"bB c #655D1B", +"bC c #686213", +"bD c #68660D", +"bE c #696B07", +"bF c #6B6D05", +"bG c #736905", +"bH c #746706", +"bI c #736607", +"bJ c #726407", +"bK c #716207", +"bL c #6F6108", +"bM c #706009", +"bN c #67581C", +"bO c #725F19", +"bP c #8E6F12", +"bQ c #5A511C", +"bR c #2F2E2E", +"bS c #423D30", +"bT c #FFB237", +"bU c #FFC46E", +"bV c #B4711E", +"bW c #453828", +"bX c #2E2C2C", +"bY c #2E2D2F", +"bZ c #312F30", +"b& c #303031", +"c c #676368", +"c0 c #B1A9AD", +"c1 c #AFA4AE", +"c2 c #91878A", +"c3 c #625855", +"c4 c #6F6566", +"c5 c #84787C", +"c6 c #84797D", +"c7 c #3E332A", +"c8 c #2C2016", +"c9 c #30261B", +"ca c #201F20", +"cb c #202020", +"cc c #202022", +"cd c #222121", +"ce c #232221", +"cf c #242222", +"cg c #242323", +"ch c #242424", +"ci c #504E4E", +"cj c #5E592C", +"ck c #6E6D06", +"cl c #685A20", +"cm c #635D0E", +"cn c #645D11", +"co c #645B18", +"cp c #66591E", +"cq c #675D1A", +"cr c #686313", +"cs c #69670F", +"ct c #696C09", +"cu c #6B6E06", +"cv c #6F6D05", +"cw c #746C05", +"cx c #776A05", +"cy c #776706", +"cz c #756606", +"cA c #736507", +"cB c #736409", +"cC c #736309", +"cD c #74630B", +"cE c #7C680C", +"cF c #34311A", +"cG c #313031", +"cH c #323031", +"cI c #313030", +"cJ c #454032", +"cK c #ED9E26", +"cL c #7D5622", +"cM c #303131", +"cN c #313131", +"cO c #333232", +"cP c #595558", +"cQ c #AAA1AA", +"cR c #B0A4AF", +"cS c #92888E", +"cT c #655B59", +"cU c #6D6463", +"cV c #84787E", +"cW c #83787D", +"cX c #3F352C", +"cY c #251910", +"cZ c #2C2117", +"c& c #30251A", +"d c #251D14", +"d0 c #1F2121", +"d1 c #222120", +"d2 c #222222", +"d3 c #232222", +"d4 c #242324", +"d5 c #515149", +"d6 c #716E03", +"d7 c #69601A", +"d8 c #665C17", +"d9 c #635D11", +"da c #655C15", +"db c #665A1B", +"dc c #695A1F", +"dd c #695F1A", +"de c #696414", +"df c #69680D", +"dg c #6B6C08", +"dh c #6D6E06", +"di c #726E06", +"dj c #746C06", +"dk c #786C07", +"dl c #786B07", +"dm c #776807", +"dn c #766708", +"do c #776609", +"dp c #79670B", +"dq c #6B5C10", +"dr c #191819", +"ds c #222224", +"dt c #343533", +"du c #353433", +"dv c #343334", +"dw c #3B3934", +"dx c #4F4330", +"dy c #333233", +"dz c #343434", +"dA c #343333", +"dB c #343332", +"dC c #333434", +"dD c #333334", +"dE c #343534", +"dF c #343535", +"dG c #525054", +"dH c #AA9FAA", +"dI c #AFA4AF", +"dJ c #8D8389", +"dK c #635855", +"dL c #726868", +"dM c #82787C", +"dN c #3A2F27", +"dO c #231911", +"dP c #2D2218", +"dQ c #30231A", +"dR c #221C17", +"dS c #212222", +"dT c #232424", +"dU c #242425", +"dV c #252526", +"dW c #555553", +"dX c #4E504E", +"dY c #66601A", +"dZ c #6D7008", +"d& c #665C1A", +"e c #665D17", +"e0 c #665B1A", +"e1 c #685A22", +"e2 c #695D1E", +"e3 c #696018", +"e4 c #6B6512", +"e5 c #6B6A0E", +"e6 c #6D6E0A", +"e7 c #707006", +"e8 c #736F06", +"e9 c #786E07", +"ea c #7B6E06", +"eb c #7A6B09", +"ec c #7D6B0A", +"ed c #7D6A0C", +"ee c #2E2C17", +"ef c #1A1A1A", +"eg c #1B1B1B", +"eh c #383837", +"ei c #363837", +"ej c #363638", +"ek c #373736", +"el c #363636", +"em c #353636", +"en c #373636", +"eo c #373637", +"ep c #383838", +"eq c #49484A", +"er c #ABA0AA", +"es c #AEA6AF", +"et c #948992", +"eu c #605651", +"ev c #716767", +"ew c #82797C", +"ex c #3B3029", +"ey c #241B11", +"ez c #2D2118", +"eA c #2D2219", +"eB c #241E18", +"eC c #222322", +"eD c #242526", +"eE c #272726", +"eF c #535452", +"eG c #50514C", +"eH c #706A0E", +"eI c #6D6E0C", +"eJ c #6A5F1D", +"eK c #675C1D", +"eL c #685C1F", +"eM c #685B21", +"eN c #695C21", +"eO c #6A5F1B", +"eP c #6B6515", +"eQ c #6C6811", +"eR c #6D6B0C", +"eS c #6F7107", +"eT c #737007", +"eU c #787008", +"eV c #7E6F08", +"eW c #7D6E09", +"eX c #7D6D09", +"eY c #82700A", +"eZ c #4F4714", +"e& c #1C1C1C", +"f c #202220", +"f0 c #3A3B3A", +"f1 c #3A3A39", +"f2 c #393939", +"f3 c #393839", +"f4 c #3A3939", +"f5 c #3A3A3B", +"f6 c #424241", +"f7 c #ABA3AC", +"f8 c #B3A8B1", +"f9 c #978E94", +"fa c #69615D", +"fb c #736A68", +"fc c #867B80", +"fd c #7D7377", +"fe c #3A3026", +"ff c #251C12", +"fg c #2C2018", +"fh c #23201C", +"fi c #222323", +"fj c #242322", +"fk c #242625", +"fl c #262625", +"fm c #252626", +"fn c #262727", +"fo c #565657", +"fp c #535453", +"fq c #515252", +"fr c #555446", +"fs c #73700E", +"ft c #6D6813", +"fu c #6B621B", +"fv c #6A5D1F", +"fw c #695D1F", +"fx c #6A5E1D", +"fy c #6A601B", +"fz c #6C6516", +"fA c #6F6C0D", +"fB c #737107", +"fC c #787206", +"fD c #7F7108", +"fE c #807008", +"fF c #826F08", +"fG c #635711", +"fH c #22211E", +"fI c #1E1D1D", +"fJ c #1E1D1E", +"fK c #1D1E1D", +"fL c #1D1D1E", +"fM c #3C3C3C", +"fN c #3C3D3D", +"fO c #3C3B3C", +"fP c #3C3D3C", +"fQ c #3C3C3D", +"fR c #3D3D3C", +"fS c #3E3D3D", +"fT c #B1A7AF", +"fU c #B6ABB4", +"fV c #9A8E98", +"fW c #706767", +"fX c #776E6E", +"fY c #877D81", +"fZ c #7E7374", +"f& c #392F25", +"g c #261C13", +"g0 c #2D231A", +"g1 c #2A2016", +"g2 c #27221E", +"g3 c #242525", +"g4 c #252424", +"g5 c #252426", +"g6 c #252726", +"g7 c #272626", +"g8 c #272827", +"g9 c #555557", +"ga c #535354", +"gb c #555548", +"gc c #6F6A13", +"gd c #70710A", +"ge c #6D6B11", +"gf c #6C6317", +"gg c #6D6515", +"gh c #6E6812", +"gi c #6E6B0F", +"gj c #70700B", +"gk c #727307", +"gl c #787306", +"gm c #7F7407", +"gn c #837407", +"go c #85730A", +"gp c #534916", +"gq c #1E1E20", +"gr c #1E1F1F", +"gs c #353736", +"gt c #403F40", +"gu c #3F4040", +"gv c #413F41", +"gw c #3D3C3C", +"gx c #373837", +"gy c #40403E", +"gz c #3F4140", +"gA c #3F4041", +"gB c #9C9299", +"gC c #B3A7B1", +"gD c #9C8F99", +"gE c #716867", +"gF c #7B7371", +"gG c #7A6F71", +"gH c #271D14", +"gI c #2F241B", +"gJ c #281E14", +"gK c #262323", +"gL c #262525", +"gM c #252625", +"gN c #252527", +"gO c #282827", +"gP c #282928", +"gQ c #585958", +"gR c #565557", +"gS c #5B5737", +"gT c #6E670A", +"gU c #787805", +"gV c #747408", +"gW c #727309", +"gX c #727508", +"gY c #727408", +"gZ c #777507", +"g& c #7B7507", +"h c #807707", +"h0 c #857508", +"h1 c #70620E", +"h2 c #37341D", +"h3 c #202122", +"h4 c #212020", +"h5 c #222021", +"h6 c #202121", +"h7 c #292928", +"h8 c #434444", +"h9 c #444243", +"ha c #2B2A2B", +"hb c #282728", +"hc c #70696A", +"hd c #9F959B", +"he c #685D5C", +"hf c #807478", +"hg c #695E5D", +"hh c #372A23", +"hi c #262524", +"hj c #262726", +"hk c #272727", +"hl c #282727", +"hm c #292828", +"hn c #28282A", +"ho c #292929", +"hp c #5C5B5A", +"hq c #5B5B5A", +"hr c #565555", +"hs c #3F3E3E", +"ht c #423E1C", +"hu c #60590F", +"hv c #776E09", +"hw c #7A7506", +"hx c #807706", +"hy c #797009", +"hz c #72670C", +"hA c #625811", +"hB c #3C381C", +"hC c #242223", +"hD c #232423", +"hE c #222223", +"hF c #232223", +"hG c #454545", +"hH c #252525", +"hI c #373937", +"hJ c #504A47", +"hK c #5B504D", +"hL c #574B4B", +"hM c #5F5555", +"hN c #4A3F39", +"hO c #30261A", +"hP c #2A1D13", +"hQ c #2E2016", +"hR c #282018", +"hS c #262826", +"hT c #272728", +"hU c #272928", +"hV c #2A292A", +"hW c #2A2929", +"hX c #2A2B2A", +"hY c #2A2B2B", +"hZ c #5D5E5D", +"h& c #5B5C5C", +"i c #5B5A5B", +"i0 c #59585A", +"i1 c #575656", +"i2 c #2A2A29", +"i3 c #262626", +"i4 c #262527", +"i5 c #262526", +"i6 c #242426", +"i7 c #252524", +"i8 c #242524", +"i9 c #232524", +"ia c #242523", +"ib c #484A49", +"ic c #494949", +"id c #414040", +"ie c #4A4948", +"if c #4A4949", +"ig c #413E3C", +"ih c #32302E", +"ii c #2A2925", +"ij c #2A2722", +"ik c #2A2624", +"il c #292726", +"im c #29292A", +"in c #2A292B", +"io c #2B2B2A", +" 0 1 2 3 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I B J K L M z z N y O P Q v R p S T", +" U V W X Y Y Z &0 000102030405060708090a0b s0c0d0e A0f0g0h D0i0j0k0l0m0n0o0p0o0l0o0q0r0s0t0q0q0u0v0w0x0y0z0A0k0B E E0C z0D0E v0F", +"0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 100z11120p131415161718191a1b1c1d1e1e1f1g1h1f1e1i1j1k1l1m1n1o1p1q1r1s1t1u1v0z1w1x0g H", +"1y0K1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1f1X1Y1Z1&1Y2 1&2021222324252 262728292a2b2c2d2e2f2g2h2i2j2k2l2m152n2o2p0p0j", +"2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2 2P2P2Q2R2S2T2U2V2U2W2X2Y2Z2&2X3 303132333435363738393a3b3c3d3e3f3g3h3i3j2n3k", +"3l3m3n3o m3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J2W3K3L3M3N3O3N3P3Q3R3S3R3T3U3N3V3W3X3Y3Z3&4 404142434445464748494a4b1h3h4c4d", +"4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4G4H4I4J4K4L4M4N4O4L4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b", +" T5c0F v5d5e5f5g5h5i5j5k5l5m5n5o5p4w5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 6061626320645865", +"666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6y6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z3R6&7 70241&64", +" w0C7172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7q7r7s7t7u7v7w7x7y7z7A7r7B7C6J7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R4R7S7T2R2 64", +" A0g0m7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t7z8u8v8w8x8y8z8A8B8C8D8E8F488G8H8I8J8K8L8M8N1&", +" G1x8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G8I9H9I2R9J", +" E1w1t9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagahaiaj9p9qakalaman2kaoapaqarasatauavawaxayazaAaBaCaD", +"0i1u0paEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaU9ZaVaVaWaXaYaZ9na&8jb b0b1b2b3b4b5b68gb7b8b9babbbcbdbebfbgbhbibjbk7Pblbmbnaybobpbqbrbsb8", +"bt122pbubvbwbxbybzbAbBbCbDbEbFaPbGbHbIbJbKbLbMbNbObPbQ9q9qb8bRbSbTbUbVbW9obXbY7A7BbZb&c c0c1c2c3c4c5c6c7bkc8c99Dcacbcccdcecfcgch", +"0k113kcicjckclcmcncocpcqcrcsctcucvcwcxcyczcAcBcCcDcEcFbRcGcHcIcJcKcL7B7B8u8ucMcMcNcOcOcPcQcRcScTcUcVcWcXcYcZc&d d0azd1d2d38Jd4ch", +" Ebt1s0qd5d6d7d8d9dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdC6yaCdDdEdFdGdHdIdJdKdLcWdMdNdOdPdQdRcdbodSd2cgdTdUdV", +"dW D0i12dXdYdZaJd&e e0e1e2e3e4e5e6e7e8e9eaebebecedeeefegaBeh5Neiejekelelemenekeo5N5yepeqereseteuev5PewexeyezeAeBd2aAeCd4d4bseDeE", +" x0geF1w1seGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe&e&e&f dvf0f14Mf24P4Mf2f3f2f4f14Lf5f6f7f8f9fafbfcfdfeffeAfgfhfifj8Jbsfkflfmfn", +"fo xfp Gfq8OfrfsftfufvfwfxfyfzftfAeSfBfCfDfEfFfGfHfIfJfKfLch4EfMfN9IfO4EfNfMfPfQfRfQ3RfSfTfUfVfWfXfYfZf&g g0g1g2chg3g4g5g6g7fng8", +" ufog9 Jga1w0zgbgcgdgegffzggghgigjgkglgmgngogp9G9Faxcagqgrbpgsgt8Lgugt3Lgvgwa7gxgygugzgAgBgCgDgEgF3WgG51gHgIgJgKgLgMflgNfngO9dgP", +"4hgQ sgR z z0C0h8OgSgTgUgVgWgXgYgZg&h h0h1h2bobph3h4h5bpf h6h7h8aD2UaDh96&3Thahb5Mf2aDh8hchdfYheevhfhghhgJdPgHhihjhkhl7Rhlhmhnho", +"hphq5c4h R Rhr B IhsfmhthuhvhwhxhyhzhAhBcgfihChDhEeCbrhFd2fidV4F8N25hG26704EhHfigLhohI8N1&hJhK5ThLhMhNhOhPhQhRhShThbhUhohVhWhXhY", +"hZh&i Ti0 p Ri1gRi2gO7Ri3g7i4gMi5i3i5hHgMbsi6i7i8i8i9d4g3i9iab 1&4bibic1Yidi8i9g4i8a84Jieific58igihiiijikilg8h7imhViminioioai8j"}; diff --git a/2009-x64/cps4.03/icons/cpscDeleteShell.xpm b/2009-x64/cps4.03/icons/cpscDeleteShell.xpm new file mode 100644 index 0000000..dfd0d34 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscDeleteShell.xpm @@ -0,0 +1,835 @@ +/* XPM */ +static char *DELSHELL_xpm[]={ +"41 24 808 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5F5F5F", +" b c #69695C", +" c c #A4A25C", +" d c #8D8C58", +" e c #5E5E5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #727155", +" v c #727167", +" w c #868570", +" x c #727367", +" y c #656661", +" z c #6A6761", +" A c #716E5E", +" B c #78735B", +" C c #7E7855", +" D c #81794E", +" E c #918248", +" F c #96863F", +" G c #917F36", +" H c #907F2F", +" I c #DFCD34", +" J c #DCCF45", +" K c #7E7756", +" L c #5A5B56", +" M c #555554", +" N c #545455", +" O c #555553", +" P c #545454", +" Q c #545253", +" R c #535353", +" S c #525252", +" T c #515251", +" U c #525152", +" V c #515151", +" W c #525151", +" X c #525051", +" Y c #525251", +" Z c #525250", +" & c #515252", +"0 c #525352", +"00 c #535251", +"01 c #515152", +"02 c #525353", +"03 c #B99C44", +"04 c #F7EC51", +"05 c #E0D746", +"06 c #AB9941", +"07 c #A59538", +"08 c #988732", +"09 c #927F32", +"0a c #8B7F30", +"0b c #79703B", +"0c c #6D6643", +"0d c #676245", +"0e c #605E4B", +"0f c #595850", +"0g c #837C35", +"0h c #7B743E", +"0i c #887E3F", +"0j c #A99E53", +"0k c #7E7755", +"0l c #585750", +"0m c #4E4F50", +"0n c #4E4E4E", +"0o c #4F4F4F", +"0p c #4D4E4F", +"0q c #4E4E4D", +"0r c #4D4D4D", +"0s c #4D4D4C", +"0t c #4C4D4D", +"0u c #4D4C4C", +"0v c #4D4C4D", +"0w c #4C4C4C", +"0x c #4D4E4C", +"0y c #4D4D4E", +"0z c #4E4F4E", +"0A c #4E4E4F", +"0B c #4E4F4F", +"0C c #897645", +"0D c #E5D025", +"0E c #CAB83B", +"0F c #857F4D", +"0G c #5C5C51", +"0H c #575753", +"0I c #555354", +"0J c #535252", +"0K c #515050", +"0L c #4F514F", +"0M c #504E4F", +"0N c #696136", +"0O c #5B5742", +"0P c #4C4C4B", +"0Q c #545246", +"0R c #847C3C", +"0S c #AB9F54", +"0T c #878057", +"0U c #5B594C", +"0V c #51524A", +"0W c #4D4E4A", +"0X c #494A4A", +"0Y c #484949", +"0Z c #494948", +"0& c #474848", +"1 c #494849", +"10 c #484948", +"11 c #474948", +"12 c #494947", +"13 c #484848", +"14 c #4A4949", +"15 c #4A4B4B", +"16 c #4A4B4A", +"17 c #4B4B4C", +"18 c #4B4C4B", +"19 c #585855", +"1a c #756C28", +"1b c #786C34", +"1c c #988C3D", +"1d c #8E8A5A", +"1e c #535352", +"1f c #504F4E", +"1g c #4E4D4D", +"1h c #4C4C4D", +"1i c #4D4C4B", +"1j c #4B4B4A", +"1k c #49484A", +"1l c #685F33", +"1m c #59553C", +"1n c #474747", +"1o c #464747", +"1p c #464745", +"1q c #4F4B42", +"1r c #7E7540", +"1s c #B9AD52", +"1t c #DCD753", +"1u c #CEBA57", +"1v c #5A5548", +"1w c #454344", +"1x c #444343", +"1y c #444344", +"1z c #434445", +"1A c #444443", +"1B c #444544", +"1C c #444445", +"1D c #595959", +"1E c #6E6E6E", +"1F c #535151", +"1G c #474646", +"1H c #474748", +"1I c #494949", +"1J c #625D34", +"1K c #796E2F", +"1L c #83793D", +"1M c #A29C5B", +"1N c #56574E", +"1O c #494748", +"1P c #484647", +"1Q c #454547", +"1R c #454545", +"1S c #434443", +"1T c #675E31", +"1U c #554F39", +"1V c #484642", +"1W c #585441", +"1X c #635D3C", +"1Y c #6C6334", +"1Z c #7E722E", +"1& c #82752B", +"2 c #CAAB32", +"20 c #F5AC46", +"21 c #5B4F40", +"22 c #3F4040", +"23 c #403F40", +"24 c #3E3F3F", +"25 c #3F3F3E", +"26 c #3F3F40", +"27 c #414142", +"28 c #4A4A4A", +"29 c #686467", +"2a c #A8A3A9", +"2b c #DFDADF", +"2c c #8C8486", +"2d c #656162", +"2e c #565454", +"2f c #474645", +"2g c #454544", +"2h c #464545", +"2i c #595639", +"2j c #786B26", +"2k c #4B4A4A", +"2l c #6E663C", +"2m c #B2AA5E", +"2n c #6E6F5B", +"2o c #6F705D", +"2p c #55564E", +"2q c #4D4B41", +"2r c #5F5940", +"2s c #7D7031", +"2t c #8E7F2D", +"2u c #897D27", +"2v c #7F701F", +"2w c #6D6224", +"2x c #645E28", +"2y c #504C34", +"2z c #454239", +"2A c #7E6E2E", +"2B c #725F40", +"2C c #413D3C", +"2D c #3B3B3C", +"2E c #3A3B3C", +"2F c #3A3B3B", +"2G c #3D3B3C", +"2H c #504D4F", +"2I c #959197", +"2J c #DBD6DA", +"2K c #F2EEF4", +"2L c #DCD5DE", +"2M c #B8AFB5", +"2N c #9C9396", +"2O c #837A7A", +"2P c #675D5A", +"2Q c #4C4540", +"2R c #41413D", +"2S c #51503E", +"2T c #786920", +"2U c #484846", +"2V c #464444", +"2W c #6D653A", +"2X c #F2DB6B", +"2Y c #FAEE87", +"2Z c #DFCC5B", +"2& c #928333", +"3 c #877920", +"30 c #7C6E1F", +"31 c #7F7318", +"32 c #625B24", +"33 c #525030", +"34 c #3E3C36", +"35 c #393939", +"36 c #393738", +"37 c #383738", +"38 c #383737", +"39 c #625827", +"3a c #3E3C37", +"3b c #363737", +"3c c #373637", +"3d c #373736", +"3e c #373737", +"3f c #3A393B", +"3g c #8D8589", +"3h c #B1A9A4", +"3i c #AAA2A0", +"3j c #9B9191", +"3k c #908786", +"3l c #7A6F6F", +"3m c #615652", +"3n c #4E433B", +"3o c #40362D", +"3p c #342A21", +"3q c #2C2117", +"3r c #342D26", +"3s c #4A4A40", +"3t c #796C1B", +"3u c #494741", +"3v c #424142", +"3w c #414140", +"3x c #4C493C", +"3y c #EEBB17", +"3z c #FED119", +"3A c #EDC41A", +"3B c #615829", +"3C c #494631", +"3D c #3A3935", +"3E c #635929", +"3F c #454131", +"3G c #353534", +"3H c #343535", +"3I c #353434", +"3J c #333435", +"3K c #343333", +"3L c #5D552A", +"3M c #363434", +"3N c #635735", +"3O c #3C3832", +"3P c #333332", +"3Q c #323333", +"3R c #323432", +"3S c #343435", +"3T c #454040", +"3U c #61564C", +"3V c #675C48", +"3W c #483C36", +"3X c #3E312B", +"3Y c #3B2F29", +"3Z c #392D24", +"3& c #342A1F", +"4 c #30241A", +"40 c #2F2318", +"41 c #2E231B", +"42 c #3D3B3B", +"43 c #464646", +"44 c #474741", +"45 c #786D1D", +"46 c #504B3B", +"47 c #3F3E3F", +"48 c #3D3D3E", +"49 c #3D3E3B", +"4a c #8A7429", +"4b c #D8B417", +"4c c #A18825", +"4d c #3D3D35", +"4e c #353535", +"4f c #5D5527", +"4g c #3F3B2D", +"4h c #303131", +"4i c #312F31", +"4j c #303030", +"4k c #2F3030", +"4l c #31312F", +"4m c #33322F", +"4n c #584F26", +"4o c #302F30", +"4p c #AC8332", +"4q c #C77C2B", +"4r c #56432F", +"4s c #31302F", +"4t c #313131", +"4u c #313031", +"4v c #383736", +"4w c #6B645D", +"4x c #736C61", +"4y c #5B4E46", +"4z c #3A3028", +"4A c #382C25", +"4B c #362B24", +"4C c #30261B", +"4D c #291F13", +"4E c #291E13", +"4F c #302B25", +"4G c #3D3C3D", +"4H c #444345", +"4I c #434342", +"4J c #6D6323", +"4K c #575136", +"4L c #3E3D3D", +"4M c #3C3B3C", +"4N c #3A393A", +"4O c #3E3C35", +"4P c #6D6515", +"4Q c #4B472D", +"4R c #343433", +"4S c #323131", +"4T c #353532", +"4U c #6B622C", +"4V c #4A492E", +"4W c #2D2E2E", +"4X c #2C2C2C", +"4Y c #2C2C2B", +"4Z c #2D2C2C", +"4& c #35342D", +"5 c #534D25", +"50 c #2B2D2C", +"51 c #AC7F2F", +"52 c #DA781A", +"53 c #E68324", +"54 c #895C2A", +"55 c #34312D", +"56 c #2E2E2E", +"57 c #323132", +"58 c #6F6767", +"59 c #786F6A", +"5a c #6F665D", +"5b c #3C3028", +"5c c #382D24", +"5d c #392D26", +"5e c #2E2318", +"5f c #251910", +"5g c #251C10", +"5h c #33312D", +"5i c #3B3C3C", +"5j c #424342", +"5k c #404041", +"5l c #665F23", +"5m c #5F572E", +"5n c #3B3D3C", +"5o c #393A3A", +"5p c #383839", +"5q c #3B3A33", +"5r c #6A6217", +"5s c #4A472E", +"5t c #333333", +"5u c #464134", +"5v c #6D6535", +"5w c #DFD657", +"5x c #A3A23B", +"5y c #292929", +"5z c #282827", +"5A c #222121", +"5B c #272827", +"5C c #363329", +"5D c #49441C", +"5E c #29292A", +"5F c #AD7F2D", +"5G c #E07F1A", +"5H c #E27F1A", +"5I c #E57A1D", +"5J c #BC7024", +"5K c #4D3C2C", +"5L c #2F2E2F", +"5M c #736C6E", +"5N c #877F7F", +"5O c #7F7370", +"5P c #3F352E", +"5Q c #423830", +"5R c #433833", +"5S c #2B2016", +"5T c #24180E", +"5U c #251B11", +"5V c #363433", +"5W c #3A3A3A", +"5X c #424242", +"5Y c #404040", +"5Z c #59552A", +"5& c #6A5F2A", +"6 c #3A3C3B", +"60 c #3A3939", +"61 c #373839", +"62 c #3C3B36", +"63 c #675E1B", +"64 c #76692E", +"65 c #907F3A", +"66 c #7D6C30", +"67 c #554D2A", +"68 c #887F27", +"69 c #706830", +"6a c #56502B", +"6b c #2B2B27", +"6c c #242424", +"6d c #171618", +"6e c #1D1E1D", +"6f c #3B3825", +"6g c #3F3C1E", +"6h c #272829", +"6i c #AB7B2A", +"6j c #E3801B", +"6k c #EC871D", +"6l c #D97B18", +"6m c #E08735", +"6n c #CF7B23", +"6o c #5E4528", +"6p c #726C6E", +"6q c #8E8688", +"6r c #837876", +"6s c #4C423B", +"6t c #524644", +"6u c #23170E", +"6v c #261D13", +"6w c #383836", +"6x c #3B3B3B", +"6y c #424141", +"6z c #40403F", +"6A c #545037", +"6B c #81742B", +"6C c #45463E", +"6D c #656146", +"6E c #7F7841", +"6F c #897B35", +"6G c #776E1A", +"6H c #5F5526", +"6I c #393831", +"6J c #282628", +"6K c #181716", +"6L c #403B24", +"6M c #7B7243", +"6N c #282720", +"6O c #181717", +"6P c #171819", +"6Q c #3F3B20", +"6R c #3A3824", +"6S c #2B2A2A", +"6T c #A97B2A", +"6U c #D47615", +"6V c #E68822", +"6W c #EFA759", +"6X c #CE873E", +"6Y c #6F4A1F", +"6Z c #332F2C", +"6& c #656061", +"7 c #92898B", +"70 c #897E7F", +"71 c #443933", +"72 c #504640", +"73 c #5D5151", +"74 c #2A2015", +"75 c #23180D", +"76 c #282018", +"77 c #393838", +"78 c #393A39", +"79 c #414342", +"7a c #3F4140", +"7b c #B5A352", +"7c c #E5D744", +"7d c #9C9139", +"7e c #756D37", +"7f c #504B33", +"7g c #3B3B35", +"7h c #605B1A", +"7i c #514C28", +"7j c #343332", +"7k c #323231", +"7l c #313130", +"7m c #2A2A2A", +"7n c #171717", +"7o c #1B1A1B", +"7p c #3E3B2B", +"7q c #8B814C", +"7r c #3C372B", +"7s c #181917", +"7t c #44401B", +"7u c #363528", +"7v c #2D2D2D", +"7w c #AC7C2C", +"7x c #E18A30", +"7y c #E5A257", +"7z c #A16724", +"7A c #463729", +"7B c #2F2F2E", +"7C c #605B5A", +"7D c #9E9890", +"7E c #8F8381", +"7F c #463B35", +"7G c #524944", +"7H c #5C5350", +"7I c #281E14", +"7J c #22190E", +"7K c #2B231B", +"7L c #3B3A3A", +"7M c #434243", +"7N c #414241", +"7O c #877831", +"7P c #BDAB2E", +"7Q c #837736", +"7R c #3E3D3B", +"7S c #5A551D", +"7T c #534D28", +"7U c #353536", +"7V c #333535", +"7W c #333232", +"7X c #262424", +"7Y c #1E1F1E", +"7Z c #1D1C1B", +"7& c #37352D", +"8 c #766A3C", +"80 c #555037", +"81 c #585120", +"82 c #353429", +"83 c #302F2F", +"84 c #AA7E2C", +"85 c #CF852D", +"86 c #714D21", +"87 c #35312F", +"88 c #4D4A48", +"89 c #897F7F", +"8a c #8E817F", +"8b c #473C34", +"8c c #564B46", +"8d c #5C504D", +"8e c #271B11", +"8f c #24190F", +"8g c #2E2924", +"8h c #3B3B3A", +"8i c #3C3B3B", +"8j c #434444", +"8k c #444340", +"8l c #4B483D", +"8m c #8A7B28", +"8n c #69623B", +"8o c #3C3D3C", +"8p c #3A3A3B", +"8q c #5A541F", +"8r c #655C24", +"8s c #383837", +"8t c #363636", +"8u c #212221", +"8v c #2D2C2D", +"8w c #2B2C2C", +"8x c #222322", +"8y c #2A2A29", +"8z c #22211E", +"8A c #9F953D", +"8B c #D5C345", +"8C c #947D23", +"8D c #80662E", +"8E c #4C3C2A", +"8F c #333331", +"8G c #323233", +"8H c #323433", +"8I c #343335", +"8J c #423F3E", +"8K c #726869", +"8L c #857B7F", +"8M c #4D423D", +"8N c #584D4A", +"8O c #584D4C", +"8P c #251A10", +"8Q c #24190E", +"8R c #322F2A", +"8S c #3C3C3C", +"8T c #3C3E3C", +"8U c #454546", +"8V c #434343", +"8W c #4E4C3A", +"8X c #B1A246", +"8Y c #5D5941", +"8Z c #3D3E3D", +"8& c #555326", +"9 c #645D24", +"90 c #3A3A39", +"91 c #3A3839", +"92 c #212020", +"93 c #2E2E2C", +"94 c #4A422B", +"95 c #796A2B", +"96 c #7D6E2C", +"97 c #CFA41D", +"98 c #69511E", +"99 c #272725", +"9a c #353636", +"9b c #363535", +"9c c #373636", +"9d c #413D3D", +"9e c #6D6364", +"9f c #897F82", +"9g c #524942", +"9h c #5D524E", +"9i c #544945", +"9j c #25190E", +"9k c #23190D", +"9l c #363430", +"9m c #3E3D3E", +"9n c #3E3E3F", +"9o c #484748", +"9p c #464746", +"9q c #424443", +"9r c #5B573C", +"9s c #B8AC53", +"9t c #56523E", +"9u c #535029", +"9v c #665C24", +"9w c #2A2C2B", +"9x c #2A2B29", +"9y c #3F3E3A", +"9z c #61593F", +"9A c #807332", +"9B c #645921", +"9C c #3B3826", +"9D c #3E3C38", +"9E c #252526", +"9F c #30302F", +"9G c #383938", +"9H c #383939", +"9I c #393839", +"9J c #685F5E", +"9K c #776E6F", +"9L c #4C433C", +"9M c #534844", +"9N c #483E36", +"9O c #24190D", +"9P c #241B0F", +"9Q c #3B3937", +"9R c #403F3F", +"9S c #484849", +"9T c #454746", +"9U c #444546", +"9V c #454343", +"9W c #6F683A", +"9X c #BBAD59", +"9Y c #5E592D", +"9Z c #6F6722", +"9& c #3F3F3F", +"a c #3B3C3B", +"a0 c #313028", +"a1 c #615A38", +"a2 c #8C7D35", +"a3 c #6A6231", +"a4 c #3A382D", +"a5 c #20201F", +"a6 c #252425", +"a7 c #3D3C3C", +"a8 c #333433", +"a9 c #222324", +"aa c #353435", +"ab c #3C3C3B", +"ac c #3C3D3B", +"ad c #403E3E", +"ae c #454240", +"af c #3D3530", +"ag c #3D352F", +"ah c #372E26", +"ai c #2E261C", +"aj c #393431", +"ak c #4C4B4B", +"al c #4B4B4B", +"am c #4A484A", +"an c #474847", +"ao c #474844", +"ap c #857F46", +"aq c #B0A245", +"ar c #7F7523", +"as c #545140", +"at c #706A3B", +"au c #7D712B", +"av c #655D30", +"aw c #47453D", +"ax c #2F2F2F", +"ay c #242222", +"az c #2C2B2B", +"aA c #323232", +"aB c #3E3F3E", +"aC c #2D2F2D", +"aD c #292A2A", +"aE c #40403E", +"aF c #403E3F", +"aG c #41403F", +"aH c #404042", +"aI c #414042", +"aJ c #414143", +"aK c #444543", +"aL c #4A4A4B", +"aM c #494A4B", +"aN c #49494A", +"aO c #565445", +"aP c #DACF83", +"aQ c #D7C22E", +"aR c #A08D21", +"aS c #4B4625", +"aT c #33332E", +"aU c #41413F", +"aV c #272928", +"aW c #414242", +"aX c #2A2929", +"aY c #333234", +"aZ c #404141", +"a& c #424243", +"b c #424343", +"b0 c #434344", +"b1 c #434543", +"b2 c #454445", +"b3 c #4F4F50", +"b4 c #4F4F4E", +"b5 c #4C4B4D", +"b6 c #505049", +"b7 c #D4B12B", +"b8 c #FAD11D", +"b9 c #887A2F", +"ba c #2E2D2E", +"bb c #3F3D3F", +"bc c #272726", +"bd c #444444", +"be c #393B3A", +"bf c #464546", +"bg c #454645", +"bh c #2B2A2B", +"bi c #3C3D3D", +"bj c #464644", +"bk c #444646", +"bl c #464645", +"bm c #464547", +"bn c #484847", +"bo c #504F4F", +"bp c #4F4E4F", +"bq c #6A6243", +"br c #786E40", +"bs c #41403D", +"bt c #2B2B2B", +"bu c #4B4B49", +"bv c #262827", +"bw c #494A49", +"bx c #373837", +"by c #474846", +"bz c #484648", +"bA c #2D2D2C", +"bB c #4A4849", +"bC c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u f g h i j k l", +" v w x y z A B C D E F G H I J K L M N N O P Q R S T U V W X V Y U Z V &0 00010 02", +"030405060708090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0v0w0u0x0s0x0s0y0z0A0A0B", +"0C0D0E0F0G0H0I0J U0K0L0M0z0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 1011120Y130Y10141516171817", +"191a1b1c1d1e1f1g1h1i1j0X1k1l1m1n1o1p1q1r1s1t1u1v1w1x1x1y1z1y1A1B1C1D1E1F1G1n1H0&1I", +"1F1J1K0V1L1M1N1I1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 20212223242522262728292a2b2c2d2e2f2g2h", +"0q2i2j2k122l2m2n2o2p1x2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2D2G2H2I2J2K2K2L2M2N2O2P2Q2R", +"172S2T2U2V1B2W2X2Y2Z2&3 303132333435363738393a3b3c3d3b3e3f3g3h3i3j3k3l3m3n3o3p3q3r", +"133s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3G3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142", +"434445464748494a4b4c4d4e3I4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G", +"4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h5i", +"5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x4Y5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W", +"5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r5Q6s6t3q6u6v6w6x", +"6y6z6A6B6C6D6E6F6G6H6I4u4o6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778", +"797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A5L7B7C7D7E7F7G7H7I7J7K5o7L", +"7M7N7O7P7Q7R7L5p7S7T7U7V7W7X7Y7Z5y7&8 80818283848586874k4h4t88898a8b8c8d8e8f8g8h8i", +"8j5j8k8l8m8n8o8p8q8r8s8t4t8u8v8w8x8y8z8A8B8C4t8D8E8F8G5t8H8I8J8K8L8M8N8O8P8Q8R8S8T", +"8U8V4I278W8X8Y8Z8&9 90914u928H3e939495969798994e3G9a7U9b9a9c9d9e9f9g9h9i9j9k9l9m9n", +"9o9p2g1y9q9r9s9t9u9v4G2D9w9x9y9z9A9B9C609D389E9F9G9H9H9G9I4N7R9J9K9L9M9N9O9P9Q9R5k", +"9S121H9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a635a75ia8a9aa2Dabac8iab4Gadaeafagahaiaj236y5j", +"akalam12an1Gaoapaqarasatauavaw3waxayazaAaB9R9&aCaD8o9&aBaEaF2422aG5YaHaIaJ8V8V1SaK", +"0r0w18aLaMaN13aOaPaQaRaSaT1A1CaU7maV488v7L3vaW48aXaYaZ4I7Ma&8V8V9qb b0b1b22g2h1p9p", +"b30ob40y0rb518b6b7b8b9babb0&1G5kbc3Ibdbe8w5Xbfbg24bhbi2gbj2hbkbfblbmbm9p0&bn13bn9S", +"1e U01 Vbobp0z0rbqbrbsbt1RbuaL4Lbv8ibw0&bx7Lby13bz8tbAa&9o0Z1O10bB1k1 0X28aL161jbC"}; diff --git a/2009-x64/cps4.03/icons/cpscDisconnectPolyShape.xpm b/2009-x64/cps4.03/icons/cpscDisconnectPolyShape.xpm new file mode 100644 index 0000000..0bc6b03 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscDisconnectPolyShape.xpm @@ -0,0 +1,1220 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1193 2", +" c #727171", +" 0 c #727071", +" 1 c #6F6F71", +" 2 c #6F706F", +" 3 c #6F6E6F", +" 4 c #6E6D6D", +" 5 c #6C6D6C", +" 6 c #6B6C6B", +" 7 c #6A6B6B", +" 8 c #696867", +" 9 c #696768", +" a c #686768", +" b c #666666", +" c c #656565", +" d c #646463", +" e c #636462", +" f c #626362", +" g c #5F605F", +" h c #5F5E5E", +" i c #5D5D5D", +" j c #5F5F5D", +" k c #5C5C5B", +" l c #5B5B5C", +" m c #5B5C5C", +" n c #5B5B5A", +" o c #585859", +" p c #59585A", +" q c #5A5859", +" r c #575757", +" s c #565757", +" t c #585858", +" u c #565656", +" v c #565655", +" w c #545555", +" x c #565454", +" y c #545655", +" z c #545455", +" A c #535253", +" B c #535353", +" C c #545354", +" D c #535354", +" E c #545453", +" F c #555555", +" G c #535555", +" H c #555455", +" I c #565555", +" J c #565556", +" K c #555556", +" L c #575657", +" M c #565657", +" N c #585857", +" O c #595958", +" P c #5A585A", +" Q c #6D6D6E", +" R c #6C6C6D", +" S c #6C6C6C", +" T c #6A6A6C", +" U c #696868", +" V c #696968", +" W c #686867", +" X c #666564", +" Y c #636464", +" Z c #636262", +" & c #979462", +"0 c #C4C373", +"00 c #63645D", +"01 c #5D5E5D", +"02 c #5D5C5D", +"03 c #5B5A5B", +"04 c #5A5A5A", +"05 c #555554", +"06 c #535454", +"07 c #535254", +"08 c #515351", +"09 c #666567", +"0a c #525251", +"0b c #525151", +"0c c #515151", +"0d c #4F4F50", +"0e c #50504F", +"0f c #5B5B5B", +"0g c #645F5E", +"0h c #504F50", +"0i c #504F4F", +"0j c #4E4E4E", +"0k c #4F4F51", +"0l c #4F504F", +"0m c #515150", +"0n c #505150", +"0o c #525252", +"0p c #515152", +"0q c #535352", +"0r c #525352", +"0s c #555553", +"0t c #585756", +"0u c #696B6A", +"0v c #696869", +"0w c #656666", +"0x c #666565", +"0y c #646465", +"0z c #626363", +"0A c #626262", +"0B c #6F6F61", +"0C c #8D8965", +"0D c #968C52", +"0E c #A7943F", +"0F c #D5B22D", +"0G c #F5E13C", +"0H c #8E8757", +"0I c #595A58", +"0J c #585958", +"0K c #575556", +"0L c #545353", +"0M c #545352", +"0N c #535452", +"0O c #515051", +"0P c #505051", +"0Q c #4F5051", +"0R c #4F4E4E", +"0S c #4E4D4D", +"0T c #6B6A6C", +"0U c #868280", +"0V c #4D4D4C", +"0W c #4C4D4D", +"0X c #4B4C4B", +"0Y c #4C4C4B", +"0Z c #4C4B4C", +"0& c #928E8E", +"1 c #474440", +"10 c #4A4A4A", +"11 c #4B4B4B", +"12 c #4C4A4B", +"13 c #4A4A4B", +"14 c #4C4C4D", +"15 c #4B4D4D", +"16 c #4D4D4D", +"17 c #4F4E4F", +"18 c #53514C", +"19 c #5D5A4A", +"1a c #53524D", +"1b c #505050", +"1c c #525253", +"1d c #74756A", +"1e c #959678", +"1f c #78766B", +"1g c #767565", +"1h c #8F8B6C", +"1i c #A09B6A", +"1j c #AFA454", +"1k c #AD9D42", +"1l c #AB9D47", +"1m c #7F753E", +"1n c #6A6548", +"1o c #626054", +"1p c #65614E", +"1q c #978B32", +"1r c #7A723C", +"1s c #A9974E", +"1t c #726E55", +"1u c #515252", +"1v c #4D4C4C", +"1w c #4D4E4E", +"1x c #4A4B4A", +"1y c #4B4B4A", +"1z c #4B4A4A", +"1A c #494848", +"1B c #494849", +"1C c #474747", +"1D c #7D7B7E", +"1E c #827C7F", +"1F c #494749", +"1G c #474846", +"1H c #474847", +"1I c #8B898D", +"1J c #645C59", +"1K c #464646", +"1L c #484646", +"1M c #474748", +"1N c #464848", +"1O c #484747", +"1P c #484748", +"1Q c #484949", +"1R c #48494A", +"1S c #615D47", +"1T c #9E8B3F", +"1U c #CBAD39", +"1V c #E7C334", +"1W c #DEBD2B", +"1X c #CFB229", +"1Y c #C4A924", +"1Z c #A49328", +"1& c #7A7237", +"2 c #56544B", +"20 c #515050", +"21 c #B6983D", +"22 c #FFEF56", +"23 c #E5E048", +"24 c #A49747", +"25 c #83763A", +"26 c #706749", +"27 c #656354", +"28 c #5A595A", +"29 c #585959", +"2a c #57564E", +"2b c #7F732B", +"2c c #53534D", +"2d c #958A49", +"2e c #9C985B", +"2f c #57584F", +"2g c #4A4949", +"2h c #494949", +"2i c #464647", +"2j c #454645", +"2k c #454444", +"2l c #444644", +"2m c #454546", +"2n c #444444", +"2o c #8E8B8D", +"2p c #9A959A", +"2q c #434343", +"2r c #424343", +"2s c #414241", +"2t c #6F6E71", +"2u c #A69F9C", +"2v c #423E3B", +"2w c #424241", +"2x c #424243", +"2y c #444244", +"2z c #444443", +"2A c #454543", +"2B c #444645", +"2C c #9C9041", +"2D c #FADB40", +"2E c #FFDC4D", +"2F c #F8D54E", +"2G c #E9C944", +"2H c #DABD3D", +"2I c #CDB132", +"2J c #BEA529", +"2K c #B39B21", +"2L c #AC981A", +"2M c #A29217", +"2N c #6F6933", +"2O c #4E4F4F", +"2P c #4F4F4F", +"2Q c #7D714F", +"2R c #CEBB26", +"2S c #A7982F", +"2T c #807955", +"2U c #585758", +"2V c #575756", +"2W c #555656", +"2X c #545253", +"2Y c #525353", +"2Z c #52504B", +"2& c #786C2B", +"3 c #5A573F", +"30 c #A79544", +"31 c #908A56", +"32 c #85855F", +"33 c #51514A", +"34 c #444344", +"35 c #434243", +"36 c #424242", +"37 c #404241", +"38 c #404140", +"39 c #40413F", +"3a c #3F3F3F", +"3b c #3F3E3D", +"3c c #A8A5A9", +"3d c #A9A4A5", +"3e c #403E3E", +"3f c #3E3E3D", +"3g c #545456", +"3h c #DFDDDF", +"3i c #7B736B", +"3j c #3E3E3F", +"3k c #3D3D3E", +"3l c #3F3E3F", +"3m c #3E3F3E", +"3n c #3E3F3F", +"3o c #3F3E40", +"3p c #403F3E", +"3q c #404141", +"3r c #404242", +"3s c #CAB93C", +"3t c #FFEA50", +"3u c #FFFC78", +"3v c #FFFA7F", +"3w c #FEF478", +"3x c #F8DC5E", +"3y c #E1C347", +"3z c #CAAF34", +"3A c #BDA42A", +"3B c #B29B23", +"3C c #A29119", +"3D c #9D8C14", +"3E c #96890E", +"3F c #746F25", +"3G c #5B5D5C", +"3H c #6F6928", +"3I c #726A42", +"3J c #7C7336", +"3K c #ACA055", +"3L c #5A5A54", +"3M c #545554", +"3N c #535251", +"3O c #504F51", +"3P c #4F4F4E", +"3Q c #4E4D4A", +"3R c #75682A", +"3S c #474948", +"3T c #454544", +"3U c #716948", +"3V c #C4A631", +"3W c #FCE74D", +"3X c #B7AD39", +"3Y c #3F4140", +"3Z c #3D3E3E", +"3& c #3E3D3E", +"4 c #3C3E3D", +"40 c #3D3C3C", +"41 c #3B3B3B", +"42 c #3C3C3C", +"43 c #3A3A3B", +"44 c #3C3A3B", +"45 c #B8B5BA", +"46 c #B4B0B2", +"47 c #3A3B3A", +"48 c #444545", +"49 c #D7D6D9", +"4a c #736C67", +"4b c #393938", +"4c c #3A3939", +"4d c #393A3A", +"4e c #3A3B39", +"4f c #3A393A", +"4g c #3A3B3C", +"4h c #3C3C3B", +"4i c #3D3D3D", +"4j c #B1A33C", +"4k c #FEE950", +"4l c #FFFC7D", +"4m c #FFFFBF", +"4n c #FFFFE0", +"4o c #FFFEBE", +"4p c #FEF481", +"4q c #F1D356", +"4r c #CCB136", +"4s c #BBA32B", +"4t c #B19B23", +"4u c #A28F19", +"4v c #968613", +"4w c #8C810D", +"4x c #867F0A", +"4y c #646129", +"4z c #4B4C4D", +"4A c #5B5959", +"4B c #6B6336", +"4C c #6D6441", +"4D c #676441", +"4E c #9D9446", +"4F c #676657", +"4G c #4F5050", +"4H c #4F504E", +"4I c #4D4E4D", +"4J c #4A4A47", +"4K c #796C26", +"4L c #58584A", +"4M c #797249", +"4N c #9C8E44", +"4O c #A79334", +"4P c #896F2B", +"4Q c #766639", +"4R c #D2BF41", +"4S c #676440", +"4T c #3C3B3C", +"4U c #3B3A3B", +"4V c #39393B", +"4W c #383939", +"4X c #383838", +"4Y c #383738", +"4Z c #373837", +"4& c #363736", +"5 c #373637", +"50 c #C7C3C8", +"51 c #D0CDCF", +"52 c #353736", +"53 c #B0B0B3", +"54 c #D4D2CF", +"55 c #4F463A", +"56 c #343534", +"57 c #363536", +"58 c #353535", +"59 c #363637", +"5a c #373737", +"5b c #716A38", +"5c c #FFE440", +"5d c #FEE66B", +"5e c #FFFEA9", +"5f c #FFFEF4", +"5g c #FFFEFE", +"5h c #FFFFE3", +"5i c #FEFD7F", +"5j c #E9CD4D", +"5k c #D1B639", +"5l c #C0A82A", +"5m c #AE9920", +"5n c #A08E18", +"5o c #928511", +"5p c #877E0B", +"5q c #7E7807", +"5r c #797603", +"5s c #54523A", +"5t c #575857", +"5u c #615C42", +"5v c #746B35", +"5w c #535453", +"5x c #565548", +"5y c #8B8533", +"5z c #747258", +"5A c #73736A", +"5B c #565653", +"5C c #54554C", +"5D c #73725A", +"5E c #A19950", +"5F c #988A2A", +"5G c #8C7E3A", +"5H c #58512E", +"5I c #52503F", +"5J c #3C3C3D", +"5K c #745C27", +"5L c #403C38", +"5M c #3F3A38", +"5N c #3C3934", +"5O c #3B3A34", +"5P c #353534", +"5Q c #333434", +"5R c #323332", +"5S c #333432", +"5T c #333333", +"5U c #343332", +"5V c #DDDBDD", +"5W c #D5D2D3", +"5X c #838284", +"5Y c #F8F5F8", +"5Z c #534A48", +"5& c #303031", +"6 c #313231", +"60 c #323232", +"61 c #323131", +"62 c #393634", +"63 c #3B3834", +"64 c #3C3835", +"65 c #3C3A37", +"66 c #D8BE37", +"67 c #FDDD48", +"68 c #FCDF69", +"69 c #FEFFA4", +"6a c #FEFFF8", +"6b c #FFFFEE", +"6c c #FEFFC3", +"6d c #FFEB6A", +"6e c #E8CC4B", +"6f c #C8AE34", +"6g c #AF9723", +"6h c #A38D1B", +"6i c #968416", +"6j c #887A0F", +"6k c #7C710A", +"6l c #766F08", +"6m c #6D6A03", +"6n c #65631B", +"6o c #494A49", +"6p c #555655", +"6q c #5E5B42", +"6r c #85742B", +"6s c #535152", +"6t c #4E4F4E", +"6u c #505049", +"6v c #D2AF45", +"6w c #FFF7A1", +"6x c #E4D860", +"6y c #9B9035", +"6z c #7B6D25", +"6A c #555242", +"6B c #786D24", +"6C c #3F3F40", +"6D c #6F5A1C", +"6E c #FFA42A", +"6F c #FFA228", +"6G c #FFA028", +"6H c #D6962A", +"6I c #323031", +"6J c #302F31", +"6K c #2F2F2E", +"6L c #2E2E2F", +"6M c #2E302F", +"6N c #302F2E", +"6O c #E7E5E8", +"6P c #E9E7E7", +"6Q c #F7F5F7", +"6R c #ADA8A6", +"6S c #37332E", +"6T c #2D2E2D", +"6U c #2F2D2E", +"6V c #2E2E2E", +"6W c #302F30", +"6X c #A49440", +"6Y c #FF9522", +"6Z c #FF9523", +"6& c #FE9624", +"7 c #96702C", +"70 c #FFD234", +"71 c #FAD256", +"72 c #E9C55D", +"73 c #FFE973", +"74 c #FFFD8D", +"75 c #FFF48A", +"76 c #F6E273", +"77 c #DFBF50", +"78 c #C4A43B", +"79 c #B0952C", +"7a c #9D841E", +"7b c #917C17", +"7c c #857311", +"7d c #7C6D0C", +"7e c #6E6507", +"7f c #656003", +"7g c #676202", +"7h c #6C6904", +"7i c #4B4B44", +"7j c #585749", +"7k c #7A6E27", +"7l c #4C4C4C", +"7m c #B68E22", +"7n c #FEE11E", +"7o c #DBCB2A", +"7p c #464645", +"7q c #434544", +"7r c #434341", +"7s c #726624", +"7t c #71631D", +"7u c #FEA428", +"7v c #FEA028", +"7w c #E49028", +"7x c #998252", +"7y c #96815C", +"7z c #957E59", +"7A c #9A845A", +"7B c #937F53", +"7C c #977F4F", +"7D c #E7CEA9", +"7E c #F9F4E1", +"7F c #D7D4D3", +"7G c #76512A", +"7H c #96652C", +"7I c #9E863E", +"7J c #9F863F", +"7K c #A1863E", +"7L c #A2883D", +"7M c #D6B447", +"7N c #FC9323", +"7O c #FF9424", +"7P c #FC9322", +"7Q c #B28228", +"7R c #E9B530", +"7S c #F6A041", +"7T c #F9C146", +"7U c #FAD258", +"7V c #F6D659", +"7W c #F1CD54", +"7X c #E1BB4B", +"7Y c #C7A638", +"7Z c #B3952B", +"7& c #9F8320", +"8 c #8D7518", +"80 c #7E6912", +"81 c #75630D", +"82 c #6C5E0A", +"83 c #635906", +"84 c #5E5704", +"85 c #615C02", +"86 c #535236", +"87 c #53544F", +"88 c #8A781D", +"89 c #4D4D4E", +"8a c #4B4A4B", +"8b c #8B7D1D", +"8c c #595641", +"8d c #6C6749", +"8e c #AB9D38", +"8f c #50503D", +"8g c #292928", +"8h c #3A3C3B", +"8i c #3A3A3A", +"8j c #383737", +"8k c #373835", +"8l c #6C5E1C", +"8m c #FEA226", +"8n c #FE9F26", +"8o c #FC9B24", +"8p c #DB9727", +"8q c #3A332C", +"8r c #38332A", +"8s c #373129", +"8t c #363028", +"8u c #363128", +"8v c #39332A", +"8w c #D5C5C4", +"8x c #F7F7F8", +"8y c #69635F", +"8z c #373127", +"8A c #353028", +"8B c #362F28", +"8C c #353029", +"8D c #383229", +"8E c #38322A", +"8F c #A28C38", +"8G c #FC9221", +"8H c #F89120", +"8I c #FA9121", +"8J c #B18220", +"8K c #AA7A1D", +"8L c #E59439", +"8M c #ECAC4D", +"8N c #DEBE47", +"8O c #D6B24B", +"8P c #D4BC3D", +"8Q c #C6AC32", +"8R c #BB9E26", +"8S c #AC8F1F", +"8T c #9A8118", +"8U c #8A7612", +"8V c #806C0E", +"8W c #70610A", +"8X c #655806", +"8Y c #5A4F04", +"8Z c #564E02", +"8& c #5A5303", +"9 c #625C02", +"90 c #555330", +"91 c #7D701F", +"92 c #494B49", +"93 c #665C23", +"94 c #555141", +"95 c #5A5A49", +"96 c #78724A", +"97 c #BAA836", +"98 c #F0CF30", +"99 c #726D39", +"9a c #1B1A1B", +"9b c #313030", +"9c c #383736", +"9d c #3A3A34", +"9e c #6D6424", +"9f c #825A2A", +"9g c #805729", +"9h c #7D5628", +"9i c #6B512A", +"9j c #2C2C2B", +"9k c #2A2C2A", +"9l c #2B292A", +"9m c #292A2A", +"9n c #282928", +"9o c #89888E", +"9p c #FCFAFE", +"9q c #AFA9A9", +"9r c #322E2A", +"9s c #282829", +"9t c #282828", +"9u c #292829", +"9v c #2B2A2A", +"9w c #2B2C2B", +"9x c #5B5231", +"9y c #7B5327", +"9z c #795026", +"9A c #7A5127", +"9B c #8D7120", +"9C c #8E7013", +"9D c #D5A92C", +"9E c #C49B3E", +"9F c #C19F31", +"9G c #C1A03A", +"9H c #B99740", +"9I c #B1992F", +"9J c #A2911E", +"9K c #998B15", +"9L c #978212", +"9M c #8B770E", +"9N c #7F6D0B", +"9O c #716307", +"9P c #635704", +"9Q c #5D5504", +"9R c #584F02", +"9S c #584F03", +"9T c #5F5803", +"9U c #555331", +"9V c #776C22", +"9W c #59574A", +"9X c #605F52", +"9Y c #706A25", +"9Z c #A38F33", +"9& c #90813E", +"a c #5D5635", +"a0 c #3D3A21", +"a1 c #60572B", +"a2 c #807937", +"a3 c #242323", +"a4 c #373838", +"a5 c #3C3B32", +"a6 c #5A5124", +"a7 c #313131", +"a8 c #30302F", +"a9 c #2E2C2D", +"aa c #2C2D2C", +"ab c #2B2B2B", +"ac c #62616A", +"ad c #F2EBF7", +"ae c #E0D9E1", +"af c #555153", +"ag c #383734", +"ah c #2A2B2A", +"ai c #222324", +"aj c #2C2B2D", +"ak c #2D2D2D", +"al c #2E2F2E", +"am c #2F302F", +"an c #303030", +"ao c #544C28", +"ap c #927811", +"aq c #C4A621", +"ar c #B29341", +"as c #A89054", +"at c #AE952A", +"au c #A78830", +"av c #9B7F30", +"aw c #958421", +"ax c #8B8216", +"ay c #857E0E", +"az c #80760B", +"aA c #7A6C07", +"aB c #706306", +"aC c #6A5F05", +"aD c #615603", +"aE c #5D5302", +"aF c #5D5602", +"aG c #4A4840", +"aH c #736A2B", +"aI c #736E51", +"aJ c #6E6E5B", +"aK c #8C845B", +"aL c #B5AC4F", +"aM c #968C46", +"aN c #6A631D", +"aO c #5F5737", +"aP c #434242", +"aQ c #1E1D1F", +"aR c #1B1B1B", +"aS c #3C3620", +"aT c #A29A48", +"aU c #535242", +"aV c #393939", +"aW c #423F32", +"aX c #5D5524", +"aY c #343434", +"aZ c #343232", +"a& c #323133", +"b c #313130", +"b0 c #2F2E2F", +"b1 c #4C5676", +"b2 c #C0C7ED", +"b3 c #EAE2EE", +"b4 c #6E686C", +"b5 c #ADA7AA", +"b6 c #4B4B55", +"b7 c #2E2D2D", +"b8 c #2D2C2C", +"b9 c #2E2D2C", +"ba c #2C2E2E", +"bb c #1D1E1D", +"bc c #2B2C2C", +"bd c #2F2E2E", +"be c #303130", +"bf c #313031", +"bg c #323231", +"bh c #3A3931", +"bi c #987F10", +"bj c #AC9217", +"bk c #AE902E", +"bl c #9C7F37", +"bm c #9F8724", +"bn c #987E27", +"bo c #92782B", +"bp c #8C7626", +"bq c #807519", +"br c #7C7611", +"bs c #737207", +"bt c #716B06", +"bu c #726705", +"bv c #6C6104", +"bw c #675C04", +"bx c #615804", +"by c #5D5303", +"bz c #5F590C", +"bA c #474647", +"bB c #6D654C", +"bC c #F8D22E", +"bD c #EFE048", +"bE c #887936", +"bF c #635F3D", +"bG c #5D5A29", +"bH c #635E3B", +"bI c #464545", +"bJ c #434344", +"bK c #232324", +"bL c #1C1C1D", +"bM c #292729", +"bN c #262521", +"bO c #79702A", +"bP c #646349", +"bQ c #444234", +"bR c #514C29", +"bS c #343636", +"bT c #333534", +"bU c #2B2C30", +"bV c #26242E", +"bW c #6675B1", +"bX c #6F83C6", +"bY c #7692EB", +"bZ c #AFB7E8", +"b& c #928A90", +"c c #75717C", +"c0 c #A6B7F5", +"c1 c #5A699C", +"c2 c #2F2F30", +"c3 c #1E1E1F", +"c4 c #262827", +"c5 c #343333", +"c6 c #7C691C", +"c7 c #9D8813", +"c8 c #A4901E", +"c9 c #9A7E2D", +"ca c #947B28", +"cb c #8A7524", +"cc c #877227", +"cd c #806D27", +"ce c #776B1D", +"cf c #716B11", +"cg c #6F6E09", +"ch c #706D05", +"ci c #726A04", +"cj c #6F6503", +"ck c #696004", +"cl c #645A03", +"cm c #5E5503", +"cn c #544F20", +"co c #454646", +"cp c #CDB82B", +"cq c #998F28", +"cr c #837C4A", +"cs c #4A4A49", +"ct c #5A582D", +"cu c #625A35", +"cv c #474646", +"cw c #454445", +"cx c #2A2A2A", +"cy c #232323", +"cz c #282727", +"cA c #1B1B1C", +"cB c #6B633B", +"cC c #CBBB5C", +"cD c #C1B744", +"cE c #292B32", +"cF c #0F1424", +"cG c #141823", +"cH c #3D4A75", +"cI c #6581D7", +"cJ c #6E89E3", +"cK c #8991C1", +"cL c #4F4C50", +"cM c #A4AAD6", +"cN c #7C99F4", +"cO c #7F9CEF", +"cP c #5C6880", +"cQ c #454B59", +"cR c #333233", +"cS c #242223", +"cT c #201F21", +"cU c #333433", +"cV c #373636", +"cW c #353536", +"cX c #444033", +"cY c #957E10", +"cZ c #9B8814", +"c& c #8E7A22", +"d c #897328", +"d0 c #806B26", +"d1 c #7B6725", +"d2 c #776623", +"d3 c #74681A", +"d4 c #716914", +"d5 c #6E6E0C", +"d6 c #6E7005", +"d7 c #716A04", +"d8 c #706504", +"d9 c #6C6003", +"da c #655B04", +"db c #5E5707", +"dc c #2F2E27", +"dd c #2B2A2C", +"de c #515251", +"df c #51514E", +"dg c #9C8F3C", +"dh c #8A7F49", +"di c #4C4B4A", +"dj c #595633", +"dk c #746A2F", +"dl c #474947", +"dm c #3F3F3E", +"dn c #282929", +"do c #313233", +"dp c #222121", +"dq c #323228", +"dr c #837938", +"ds c #D4AD2C", +"dt c #EBDF2D", +"du c #3C3B3A", +"dv c #383839", +"dw c #1E253D", +"dx c #252E45", +"dy c #36373A", +"dz c #5C72B7", +"dA c #6881D6", +"dB c #373D52", +"dC c #4F515E", +"dD c #7791E9", +"dE c #7793ED", +"dF c #6D87DB", +"dG c #6E8ADF", +"dH c #819EF3", +"dI c #677AB1", +"dJ c #1F1F1E", +"dK c #323432", +"dL c #393837", +"dM c #605729", +"dN c #99820E", +"dO c #8C8111", +"dP c #807319", +"dQ c #7E6D20", +"dR c #7A6B21", +"dS c #776A1F", +"dT c #766A1A", +"dU c #726D10", +"dV c #6F6F0A", +"dW c #6F6F05", +"dX c #726B06", +"dY c #726704", +"dZ c #6D6104", +"d& c #635905", +"e c #32321E", +"e0 c #242525", +"e1 c #262627", +"e2 c #565554", +"e3 c #51524F", +"e4 c #978D43", +"e5 c #90854A", +"e6 c #55513C", +"e7 c #776D2C", +"e8 c #2A2929", +"e9 c #363737", +"ea c #242524", +"eb c #5A5A41", +"ec c #8E8141", +"ed c #7D7034", +"ee c #353220", +"ef c #433F34", +"eg c #4C4A3D", +"eh c #3E424E", +"ei c #647BCB", +"ej c #6679B0", +"ek c #3B3C3B", +"el c #40434D", +"em c #6681D5", +"en c #313D5E", +"eo c #434A5B", +"ep c #6F8CE6", +"eq c #5267AA", +"er c #2C303B", +"es c #31333B", +"et c #5C72B9", +"eu c #7F9BF7", +"ev c #404759", +"ew c #222120", +"ex c #262726", +"ey c #3C3B3B", +"ez c #3B3C3C", +"eA c #3C3D3C", +"eB c #57512F", +"eC c #8D7C0F", +"eD c #857F0D", +"eE c #817B0F", +"eF c #7B7214", +"eG c #797213", +"eH c #766F11", +"eI c #73710D", +"eJ c #747207", +"eK c #756F06", +"eL c #766B05", +"eM c #716604", +"eN c #655D09", +"eO c #31301F", +"eP c #252525", +"eQ c #262626", +"eR c #555654", +"eS c #52514F", +"eT c #9C8D47", +"eU c #8D8552", +"eV c #55523E", +"eW c #70662C", +"eX c #424443", +"eY c #282927", +"eZ c #343331", +"e& c #69653F", +"f c #9E8B48", +"f0 c #71663A", +"f1 c #32322A", +"f2 c #333234", +"f3 c #222323", +"f4 c #414342", +"f5 c #414141", +"f6 c #404142", +"f7 c #5A70B7", +"f8 c #7A98EC", +"f9 c #748DCF", +"fa c #6E89DB", +"fb c #354065", +"fc c #393B3D", +"fd c #3E3E3C", +"fe c #41424B", +"ff c #6F8BE4", +"fg c #3A425F", +"fh c #3C3D3D", +"fi c #54638C", +"fj c #7895EF", +"fk c #414863", +"fl c #3B3C3D", +"fm c #292828", +"fn c #262526", +"fo c #3E3C3E", +"fp c #3E3E3E", +"fq c #3F3E3E", +"fr c #3D3F3E", +"fs c #48463C", +"ft c #77691D", +"fu c #8D7C0B", +"fv c #847D09", +"fw c #7E7909", +"fx c #7D7807", +"fy c #7A7407", +"fz c #7C7206", +"fA c #7A6C04", +"fB c #736705", +"fC c #5E5710", +"fD c #2D2C21", +"fE c #252625", +"fF c #282728", +"fG c #595858", +"fH c #565756", +"fI c #545454", +"fJ c #535252", +"fK c #8A803D", +"fL c #A9A051", +"fM c #8F8543", +"fN c #585747", +"fO c #8B8047", +"fP c #847833", +"fQ c #585136", +"fR c #414142", +"fS c #242423", +"fT c #393739", +"fU c #41444E", +"fV c #455482", +"fW c #465687", +"fX c #2C344A", +"fY c #3B3D40", +"fZ c #404040", +"f& c #424141", +"g c #413F41", +"g0 c #6982D2", +"g1 c #667BB9", +"g2 c #44464B", +"g3 c #4E5564", +"g4 c #7591E4", +"g5 c #6983D8", +"g6 c #343844", +"g7 c #202120", +"g8 c #3F403F", +"g9 c #414040", +"ga c #414140", +"gb c #434241", +"gc c #444342", +"gd c #434342", +"ge c #494840", +"gf c #544D28", +"gg c #625613", +"gh c #6C5F0F", +"gi c #655B0E", +"gj c #5E5411", +"gk c #413C1B", +"gl c #2A2A23", +"gm c #272725", +"gn c #272626", +"go c #272627", +"gp c #272728", +"gq c #272827", +"gr c #5A5A59", +"gs c #585757", +"gt c #525153", +"gu c #E9CD58", +"gv c #FADB39", +"gw c #A59B45", +"gx c #494330", +"gy c #292A29", +"gz c #4A4B4C", +"gA c #484948", +"gB c #3C3A3C", +"gC c #434443", +"gD c #434543", +"gE c #54618D", +"gF c #718DE5", +"gG c #86A5F2", +"gH c #7D9BF3", +"gI c #6A84DA", +"gJ c #343F66", +"gK c #3E3F40", +"gL c #232222", +"gM c #2B2A2B", +"gN c #444242", +"gO c #444445", +"gP c #454547", +"gQ c #262628", +"gR c #262425", +"gS c #242526", +"gT c #252626", +"gU c #262727", +"gV c #272726", +"gW c #5A5C5B", +"gX c #5A5B59", +"gY c #575656", +"gZ c #B4922B", +"g& c #D6C825", +"h c #676336", +"h0 c #4E4E4F", +"h1 c #464746", +"h2 c #3C4762", +"h3 c #46568C", +"h4 c #404E7D", +"h5 c #2C3345", +"h6 c #242324", +"h7 c #464747", +"h8 c #474746", +"h9 c #484A49", +"ha c #474645", +"hb c #2D2D2C", +"hc c #282627", +"hd c #2A292A", +"he c #292929", +"hf c #2A2B2B", +"hg c #5B5C5B", +"hh c #595B5A", +"hi c #59595A", +"hj c #4A494B", +"hk c #514F50", +"hl c #343635", +"hm c #383938", +"hn c #363636", +"ho c #262525", +"hp c #4B4D4C", +"hq c #4C4B4B", +"hr c #4B4A49", +"hs c #484849", +"ht c #2B2B2C", +"hu c #40403F", +"hv c #494A4A", +"hw c #484848", +"hx c #49494A", +"hy c #4B4B4C", +"hz c #4A494A", +"hA c #272729", +"hB c #282A29", +"hC c #29292A", +"hD c #2B2C2A", +" 0 1 2 3 4 5 6 7 8 9 a b b c d e f g g h i j k l m n o p q r s t s u v w x y z z A B C B D C E F w G H H I J K L M s N o o O P", +" Q R S T U V 8 W c X Y Z &0 00 i0102 l0304 t t s s05 K E06 B0708090a0b0c0d0e0f0g0e0h0e0i0j0k0i0l0m0n0c0o0c0p0q0r B B0s z w K J0t", +"0u0v a0w0x0y0z0A0B0C0D0E0F0G0H0I0J s M0K0L0M0N0o0O0P0Q0R0S0j0S0T0U0V0W0X0Y0Z0&1 1011120X13140X15160W161718191a0d1b0P0c080a1c E05", +"1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1c1u0m0R0R1v1w0Y1x1y1z1A1B1C1D1E1F1G1C1H1I1J1K1L1M1C1N1O1P1P1Q1R1S1T1U1V1W1X1Y1Z1&2 170e0c201u", +"212223242526272829 t I x2a2b202c2d2e2f0Y131B2g2h1C2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2q2q2y2z2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N162O2P1b", +"2Q2R2S2T04 p2U2V2W2X2Y0c2Z2&0j0Y1z3 30313233343536373638393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F110Y0W", +"3G3H3I3J3K3L3M E3N3O3P1w3Q3R103S1C3T3U3V3W3X3Y3Z3&4 404142434445464748494a4b4c4d4e4f4g4h4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y1y4z", +"4A4B4C J4D4E4F4G4H4I0Y1x4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a4Y4X4d5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s10", +"5t5u5v5w0a5x5y5z5A5B5C5D5E5F5G5H5I3j3Z5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 60616062636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o", +"6p6q6r6s0n6t6u6v6w6x6y6z6A6B376C3f5J414Y6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i", +" H7j7k0O170W7l7m7n7o7p7q7r7s3j3Z4T434b597t7u6G7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 8081828384857g86", +"3M87884G89148a2h8b8c2n2q8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 90", +"5w0a910R8911921O939495969798999a9b4W9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U", +"0q0m9V9W1v0X2g9X9Y9Z9&a 3ea0a1a2a3a44Ya5a660a7a86Ka9aaababacadaeafag9v9vah9waiajakalamanaoapaqarasatauavawaxayazaAaBaCaDaE9RaFaG", +"1c0oaHaIaJaKaLaMaNaO2kaP6CaQaRaSaTaUaVaWaXaYaZa&b anb06Lb1b2b3b4b5b6b7b8b9babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbA", +"06bBbCbDbEbF112hbGbHbIbJ5&bKbLbMbNbObPbQbR59bSbTbUbVbWbXbYbZb&c c0c1b c29bbec3c4616160c5aYc6c7c8c9cacbcccdcecfcgchcicjckclcmcnco", +"5w0pcpcqcr1v7lcsctcucvcwbKcxaQcyczcAcBcCcD4W4ZcEcFcGcHcIcJcKcLcMcNcOcPcQcRaYcScTcU5658cVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbdcdd", +" z0rdedfdgdh0Wdidjdkdldmbedndodp6Ldqdrdsdtdudvdwdxdy4XdzdAdBdCdDdEdFdGdHdI5 5adJdK5aa4dLdv4ddMdNdOdPdQdRdSdTdUdVdWdXdYdZd&e e0e1", +"e23M1cdee3e4e51we6e72Be8e9ea34ebecedeeefeg3keheiejekelemen4deoepeqereseteuevaYewex8iey42ez5JeAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQex", +" reR B B1ueSeTeUeVeWeXeYeZe&f f0f1f2cxf3f4f5f6f7f8f9fafbfcfdfefffg5Jfhfifjfkflfmfnekfofpfqfr3j6CfsftfufvfwfxfyfzfAfBfCfDfnfEe1fF", +"fG LfHfIfIfJdefKfLfMfNfOfPfQ101BfRe04TfSfT2z2rfUfVfWfXfYfZf&g g0g1g2g3g4g5g66C58g7e9g8g92sgafRgbgcgdgegfggghgigjgkglgmgngogpgqdn", +"gr tgs0K v3M Cgtgugvgwgxgy1Q14gzgA9vaVgBfF3qbAbI2j2n3T48gCgD2qgEgFgGgHgIgJgK2q47gLgMgN34gO2kbI482j1KgP3qgQgRgSgTgUe1gVfFgq9ndngy", +"gWgX04fGfHgY u HgZg&h 9j5T0Rh00j89fZabfZfnaa2h1Q1A1H1H2i1Ph11K2ih2h3h4h5bJ2j1Kf&h6ab2nh7h8cv1M1CgA1Qh9hahbgneQhcgqgpeY8ghdheahhf", +"02hg nhhhi t r rhjaacw9m0Y0c0b0nhk0hhlhmhnho1Hhphq118a1zhr2g2h2h6ogAhs1Qhs1QhsbIhtgmhuhvhw2ghx6o1311hyhzcUczhAfmhehehBhChfahhDb8"}; diff --git a/2009-x64/cps4.03/icons/cpscGrowSelection.xpm b/2009-x64/cps4.03/icons/cpscGrowSelection.xpm new file mode 100644 index 0000000..8c666bd --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscGrowSelection.xpm @@ -0,0 +1,1363 @@ +/* XPM */ +static char *GROW_xpm[]={ +"64 24 1336 2", +" c #717271", +" 0 c #707070", +" 1 c #6F7170", +" 2 c #6F706F", +" 3 c #6F6E6D", +" 4 c #6E6E6E", +" 5 c #6C6D6C", +" 6 c #6C6C6C", +" 7 c #5E5E6B", +" 8 c #60616B", +" 9 c #696868", +" a c #676868", +" b c #656666", +" c c #656566", +" d c #646463", +" e c #636463", +" f c #636364", +" g c #606160", +" h c #605F60", +" i c #5F6061", +" j c #5F6060", +" k c #5D5E5D", +" l c #5D5D5E", +" m c #5D5C5C", +" n c #5C5C5C", +" o c #5B5C5C", +" p c #595B5B", +" q c #5A5A58", +" r c #59595A", +" s c #585858", +" t c #585959", +" u c #575758", +" v c #565757", +" w c #575756", +" x c #555756", +" y c #565556", +" z c #555555", +" A c #565454", +" B c #545454", +" C c #555554", +" D c #555353", +" E c #525358", +" F c #4C4E60", +" G c #4F4F5A", +" H c #545453", +" I c #545353", +" J c #64655F", +" K c #63655F", +" L c #555355", +" M c #545455", +" N c #545656", +" O c #555656", +" P c #555654", +" Q c #575555", +" R c #565555", +" S c #575656", +" T c #575757", +" U c #585758", +" V c #6D6E6E", +" W c #6D6C6D", +" X c #6C6B6B", +" Y c #6A6A6B", +" Z c #6A6A69", +" & c #686968", +"0 c #686868", +"00 c #595967", +"01 c #272B56", +"02 c #292C54", +"03 c #5A5C6D", +"04 c #606367", +"05 c #2B2F5B", +"06 c #2F3158", +"07 c #525258", +"08 c #41435F", +"09 c #3A3D5E", +"0a c #4F4F57", +"0b c #5A5B59", +"0c c #54545B", +"0d c #494A59", +"0e c #4E4E59", +"0f c #585757", +"0g c #565657", +"0h c #4E5056", +"0i c #515256", +"0j c #545554", +"0k c #535353", +"0l c #535352", +"0m c #515252", +"0n c #525251", +"0o c #515150", +"0p c #505150", +"0q c #505151", +"0r c #515051", +"0s c #50504F", +"0t c #504F4F", +"0u c #4F504F", +"0v c #4A4C5B", +"0w c #2E3064", +"0x c #252746", +"0y c #4F5464", +"0z c #53596A", +"0A c #EEEEC2", +"0B c #FFFFC2", +"0C c #817547", +"0D c #505050", +"0E c #70715F", +"0F c #DEDE90", +"0G c #CEC878", +"0H c #515251", +"0I c #525352", +"0J c #696858", +"0K c #AEAF6E", +"0L c #A4A264", +"0M c #555454", +"0N c #565554", +"0O c #51515E", +"0P c #52525B", +"0Q c #55565A", +"0R c #6A6A6A", +"0S c #686869", +"0T c #676768", +"0U c #676766", +"0V c #666566", +"0W c #646464", +"0X c #4D4C58", +"0Y c #1F2341", +"0Z c #2A2A40", +"0& c #54515C", +"1 c #484A61", +"10 c #24264A", +"11 c #242646", +"12 c #414663", +"13 c #48526E", +"14 c #292D55", +"15 c #2F3652", +"16 c #565F7D", +"17 c #393E63", +"18 c #22254B", +"19 c #222542", +"1a c #575D72", +"1b c #555A67", +"1c c #2A2C50", +"1d c #27294E", +"1e c #3A3C44", +"1f c #4F4F4F", +"1g c #4E4E4E", +"1h c #4D4E4D", +"1i c #4D4D4D", +"1j c #4C4D4C", +"1k c #4B4C4C", +"1l c #4D4C4C", +"1m c #4B4A4B", +"1n c #4B4C4B", +"1o c #4C4C4B", +"1p c #4B4C4A", +"1q c #4A4C4B", +"1r c #3D3E49", +"1s c #24284A", +"1t c #1D1D29", +"1u c #6F6864", +"1v c #837D7B", +"1w c #F8DE86", +"1x c #FCC970", +"1y c #534C50", +"1z c #606682", +"1A c #A6A281", +"1B c #FFF391", +"1C c #D6C66E", +"1D c #444A61", +"1E c #4E597E", +"1F c #A1A681", +"1G c #FEFF85", +"1H c #EBE56B", +"1I c #4B4F5B", +"1J c #545A6F", +"1K c #525669", +"1L c #333569", +"1M c #2F3263", +"1N c #4B4D58", +"1O c #666767", +"1P c #646565", +"1Q c #646363", +"1R c #626363", +"1S c #616260", +"1T c #605F5E", +"1U c #5E5D5D", +"1V c #424963", +"1W c #56493B", +"1X c #7F6E51", +"1Y c #7C6D50", +"1Z c #282C3E", +"1& c #272429", +"2 c #82715A", +"20 c #8B7B61", +"21 c #23232B", +"22 c #17172A", +"23 c #655B53", +"24 c #847967", +"25 c #413F47", +"26 c #1B1E36", +"27 c #1B1D2D", +"28 c #5C5958", +"29 c #606068", +"2a c #212343", +"2b c #222443", +"2c c #2C2D38", +"2d c #494949", +"2e c #494848", +"2f c #494948", +"2g c #484847", +"2h c #474748", +"2i c #474746", +"2j c #464747", +"2k c #464748", +"2l c #474747", +"2m c #484952", +"2n c #595D70", +"2o c #9A876D", +"2p c #A59070", +"2q c #A28C6D", +"2r c #8A887C", +"2s c #A69240", +"2t c #756547", +"2u c #8E7959", +"2v c #A4894A", +"2w c #928152", +"2x c #B39428", +"2y c #5E513B", +"2z c #78664A", +"2A c #BD9E41", +"2B c #CAA250", +"2C c #BC9230", +"2D c #413E3E", +"2E c #5A5658", +"2F c #4D4B5A", +"2G c #282A50", +"2H c #2C2F5A", +"2I c #504E54", +"2J c #626362", +"2K c #626261", +"2L c #60605F", +"2M c #5E5F5F", +"2N c #4F5061", +"2O c #4C4F69", +"2P c #635C5F", +"2Q c #7B6A4B", +"2R c #79684F", +"2S c #736655", +"2T c #535970", +"2U c #7D6D52", +"2V c #86765A", +"2W c #8A795E", +"2X c #535974", +"2Y c #655A4B", +"2Z c #938469", +"2& c #9B8C6F", +"3 c #807465", +"30 c #2F3648", +"31 c #423D35", +"32 c #A8987E", +"33 c #A7997F", +"34 c #3A3A41", +"35 c #1E2131", +"36 c #3B3B3F", +"37 c #454545", +"38 c #444545", +"39 c #454344", +"3a c #434344", +"3b c #444442", +"3c c #434443", +"3d c #424343", +"3e c #424342", +"3f c #424243", +"3g c #434243", +"3h c #414242", +"3i c #414141", +"3j c #717272", +"3k c #D6D8DB", +"3l c #BBAA9B", +"3m c #AC9978", +"3n c #A69172", +"3o c #BFB193", +"3p c #8B8D91", +"3q c #977F5D", +"3r c #927E5D", +"3s c #8F7A5A", +"3t c #8C795F", +"3u c #585B67", +"3v c #85704F", +"3w c #836F4E", +"3x c #816C4C", +"3y c #8B7853", +"3z c #595F6B", +"3A c #746536", +"3B c #68583C", +"3C c #796344", +"3D c #705C41", +"3E c #525C7F", +"3F c #242536", +"3G c #4D4D4E", +"3H c #5E5D5E", +"3I c #5E5E5C", +"3J c #5A5C5B", +"3K c #5A5A5B", +"3L c #56585A", +"3M c #2B2E56", +"3N c #292C56", +"3O c #40425B", +"3P c #79736F", +"3Q c #49455D", +"3R c #282952", +"3S c #3B374C", +"3T c #7C6D52", +"3U c #92825E", +"3V c #E0DC92", +"3W c #C4BC82", +"3X c #8F7E5F", +"3Y c #908165", +"3Z c #7E7467", +"3& c #6B6771", +"4 c #6A6362", +"40 c #988A71", +"41 c #A08F75", +"42 c #9D8F77", +"43 c #5F647F", +"44 c #3E3F41", +"45 c #3F4140", +"46 c #3F3F40", +"47 c #3F403E", +"48 c #3F3E3F", +"49 c #3F3E40", +"4a c #3F3F3F", +"4b c #3D3F3E", +"4c c #3D3E3D", +"4d c #3D3E3E", +"4e c #3E3E3F", +"4f c #3D3D3D", +"4g c #B7B59A", +"4h c #FFF9F2", +"4i c #A58365", +"4j c #71758F", +"4k c #8B899A", +"4l c #FFFFEB", +"4m c #FDF6CF", +"4n c #8D6F4B", +"4o c #8F7F6B", +"4p c #AA9A70", +"4q c #FAFAAB", +"4r c #ECDD8A", +"4s c #7D6B4C", +"4t c #826D4E", +"4u c #8D7952", +"4v c #C5C07E", +"4w c #9A9A68", +"4x c #7F6B48", +"4y c #7A6546", +"4z c #796544", +"4A c #806D46", +"4B c #6A7890", +"4C c #4A4B4A", +"4D c #4C4E4D", +"4E c #5C5C5D", +"4F c #5A5A59", +"4G c #595859", +"4H c #575658", +"4I c #515255", +"4J c #24263C", +"4K c #21243F", +"4L c #3B343C", +"4M c #464544", +"4N c #282A49", +"4O c #26294C", +"4P c #21253E", +"4Q c #484E60", +"4R c #AEB086", +"4S c #FFFE9F", +"4T c #ECDB7E", +"4U c #807D71", +"4V c #757376", +"4W c #373753", +"4X c #23244A", +"4Y c #37354B", +"4Z c #948979", +"4& c #90816C", +"5 c #2A2B4F", +"50 c #292B51", +"51 c #35343A", +"52 c #3B3B3B", +"53 c #987745", +"54 c #4D493D", +"55 c #3A3B3A", +"56 c #3A3939", +"57 c #39393A", +"58 c #3A3A3A", +"59 c #393A39", +"5a c #393A3B", +"5b c #767433", +"5c c #957F3D", +"5d c #A48133", +"5e c #938368", +"5f c #A8926D", +"5g c #DDB361", +"5h c #E8AE4E", +"5i c #423F40", +"5j c #5C5E6D", +"5k c #AFAA8A", +"5l c #FFF09C", +"5m c #D4BC6F", +"5n c #3C4156", +"5o c #60647F", +"5p c #9B9C80", +"5q c #FEFF8D", +"5r c #FDF27E", +"5s c #61513F", +"5t c #736350", +"5u c #776548", +"5v c #F2EF73", +"5w c #FFFE76", +"5x c #B5B661", +"5y c #4B4D4D", +"5z c #5B5A5A", +"5A c #575857", +"5B c #565656", +"5C c #545555", +"5D c #535253", +"5E c #41485D", +"5F c #3C3732", +"5G c #6B5942", +"5H c #726145", +"5I c #463E33", +"5J c #212432", +"5K c #413732", +"5L c #716247", +"5M c #85693B", +"5N c #966E32", +"5O c #CD9A24", +"5P c #726647", +"5Q c #554D41", +"5R c #26263B", +"5S c #1F223D", +"5T c #2A2A39", +"5U c #464B5A", +"5V c #444961", +"5W c #232448", +"5X c #242647", +"5Y c #232631", +"5Z c #373837", +"5& c #C7864E", +"6 c #F2B542", +"60 c #6E5E3A", +"61 c #363636", +"62 c #363736", +"63 c #353735", +"64 c #353534", +"65 c #353635", +"66 c #343436", +"67 c #464E60", +"68 c #7A7065", +"69 c #B09D7C", +"6a c #AB9777", +"6b c #A59171", +"6c c #6E7583", +"6d c #84713C", +"6e c #77684E", +"6f c #907C5B", +"6g c #A48C4C", +"6h c #7F6F50", +"6i c #96731D", +"6j c #5A4C36", +"6k c #A58A44", +"6l c #D3AF5A", +"6m c #DAAB3F", +"6n c #37353A", +"6o c #535160", +"6p c #54586E", +"6q c #FEEE67", +"6r c #FFFE6E", +"6s c #9E9851", +"6t c #565655", +"6u c #4F5055", +"6v c #494A55", +"6w c #495071", +"6x c #6C5A3E", +"6y c #6F5F42", +"6z c #585762", +"6A c #534C41", +"6B c #6E5F44", +"6C c #746448", +"6D c #6C5D44", +"6E c #373C50", +"6F c #4B4229", +"6G c #7A6B51", +"6H c #7E6F54", +"6I c #423F3C", +"6J c #1E1F26", +"6K c #453D34", +"6L c #84765C", +"6M c #776953", +"6N c #161925", +"6O c #141526", +"6P c #2C2C32", +"6Q c #343333", +"6R c #BD7850", +"6S c #FA8F28", +"6T c #FBA032", +"6U c #CC953A", +"6V c #403C34", +"6W c #323231", +"6X c #323131", +"6Y c #313231", +"6Z c #313031", +"6& c #313132", +"7 c #333132", +"70 c #B9B8B8", +"71 c #EEF0F3", +"72 c #C39B6D", +"73 c #AD997A", +"74 c #AF9C7F", +"75 c #CBBFAB", +"76 c #898A8E", +"77 c #948061", +"78 c #947F5F", +"79 c #8D7D67", +"7a c #4D5262", +"7b c #79664A", +"7c c #806C4B", +"7d c #897348", +"7e c #62697A", +"7f c #73632A", +"7g c #554832", +"7h c #756141", +"7i c #796542", +"7j c #B29852", +"7k c #BDAA28", +"7l c #7C773C", +"7m c #484A48", +"7n c #575557", +"7o c #383B56", +"7p c #24254E", +"7q c #2B2E4E", +"7r c #695D52", +"7s c #80724B", +"7t c #F2EF69", +"7u c #D6CE66", +"7v c #84703F", +"7w c #6F5F44", +"7x c #A29859", +"7y c #A09C67", +"7z c #766F57", +"7A c #72644A", +"7B c #77684C", +"7C c #7C6D51", +"7D c #4B5169", +"7E c #564D3F", +"7F c #665944", +"7G c #7F7057", +"7H c #7C6D54", +"7I c #434B64", +"7J c #303031", +"7K c #313030", +"7L c #2E2F30", +"7M c #B66D47", +"7N c #EC8120", +"7O c #E57F1C", +"7P c #F88D26", +"7Q c #F19E32", +"7R c #634E31", +"7S c #2E2D2E", +"7T c #2D2E2D", +"7U c #2E2D2D", +"7V c #2D2E2E", +"7W c #2E2F2E", +"7X c #EBE5B2", +"7Y c #FDE5CA", +"7Z c #795C46", +"7& c #767C95", +"8 c #A2A2AC", +"80 c #FFFEF7", +"81 c #F6E5BF", +"82 c #7D6545", +"83 c #917F64", +"84 c #B6A77F", +"85 c #F4F5B6", +"86 c #D5C789", +"87 c #816E4E", +"88 c #816D4E", +"89 c #877450", +"8a c #9B8E64", +"8b c #6A6F6A", +"8c c #7B6747", +"8d c #786444", +"8e c #786244", +"8f c #756243", +"8g c #767C92", +"8h c #40423D", +"8i c #464647", +"8j c #484848", +"8k c #505051", +"8l c #2F3148", +"8m c #232444", +"8n c #282842", +"8o c #444857", +"8p c #ACAD6A", +"8q c #FEFC68", +"8r c #F8DB5C", +"8s c #737471", +"8t c #5C6276", +"8u c #EDEE78", +"8v c #FFFE7E", +"8w c #DDC753", +"8x c #7D7462", +"8y c #7E755E", +"8z c #FEFF96", +"8A c #ECEC91", +"8B c #9D8C4A", +"8C c #78694F", +"8D c #706353", +"8E c #4F4952", +"8F c #343954", +"8G c #2D2D2D", +"8H c #2D2D2C", +"8I c #2C2B2C", +"8J c #BE8C44", +"8K c #E27B1D", +"8L c #F89B26", +"8M c #E9861C", +"8N c #E2791C", +"8O c #FC9329", +"8P c #BC8131", +"8Q c #37332A", +"8R c #2A2B2B", +"8S c #2B2B2C", +"8T c #7D7941", +"8U c #896D2F", +"8V c #6D582B", +"8W c #A38F71", +"8X c #B59B6B", +"8Y c #DDB884", +"8Z c #D09B51", +"8& c #423F42", +"9 c #5E6176", +"90 c #C4C2A6", +"91 c #FEFDB9", +"92 c #DCC882", +"93 c #4E4E58", +"94 c #736F79", +"95 c #9B9475", +"96 c #FEFE93", +"97 c #FFFF8E", +"98 c #866C3D", +"99 c #776343", +"9a c #BEB560", +"9b c #C5CA7F", +"9c c #868755", +"9d c #454645", +"9e c #464847", +"9f c #535454", +"9g c #525253", +"9h c #4A4C4E", +"9i c #2B2E3B", +"9j c #4A3F30", +"9k c #69583D", +"9l c #745C36", +"9m c #7C542C", +"9n c #B7881F", +"9o c #786932", +"9p c #5A4D33", +"9q c #E0AF3F", +"9r c #F2C351", +"9s c #907A28", +"9t c #484647", +"9u c #888162", +"9v c #FEF786", +"9w c #FEE879", +"9x c #605B51", +"9y c #626779", +"9z c #4F5166", +"9A c #1D2042", +"9B c #212344", +"9C c #24252D", +"9D c #2C2A2B", +"9E c #292B2A", +"9F c #B5813C", +"9G c #E67F1E", +"9H c #FC9D28", +"9I c #FF9F29", +"9J c #EB8C1F", +"9K c #E07B1B", +"9L c #F48623", +"9M c #EA912C", +"9N c #5F5436", +"9O c #292A2A", +"9P c #303130", +"9Q c #404D74", +"9R c #9C896E", +"9S c #A59173", +"9T c #A59373", +"9U c #9E8C6B", +"9V c #5B6173", +"9W c #816E3C", +"9X c #75674B", +"9Y c #8F7C5D", +"9Z c #AD8D44", +"9& c #977B4F", +"a c #B07E21", +"a0 c #554A39", +"a1 c #665A4A", +"a2 c #AC9355", +"a3 c #FEDD71", +"a4 c #F5DE71", +"a5 c #2D2D3C", +"a6 c #505676", +"a7 c #5A6289", +"a8 c #DCDE7F", +"a9 c #FFFF78", +"aa c #D5D568", +"ab c #444645", +"ac c #474646", +"ad c #535254", +"ae c #525152", +"af c #514F4F", +"ag c #48506F", +"ah c #544C3C", +"ai c #66553A", +"aj c #68573C", +"ak c #5E5039", +"al c #373F55", +"am c #463F2C", +"an c #68593E", +"ao c #67573C", +"ap c #423C34", +"aq c #45402C", +"ar c #635625", +"as c #6A5C41", +"at c #73603D", +"au c #7F5525", +"av c #B27F25", +"aw c #6E5F30", +"ax c #554C38", +"ay c #393437", +"az c #1A1D36", +"aA c #1A1C32", +"aB c #25272C", +"aC c #2B2A2B", +"aD c #2A2929", +"aE c #B0713C", +"aF c #FA8E25", +"aG c #FD9B27", +"aH c #FEA128", +"aI c #FE9E28", +"aJ c #F8AA4D", +"aK c #EAA352", +"aL c #D59535", +"aM c #59452B", +"aN c #EAEBEB", +"aO c #EFE7E4", +"aP c #AC895F", +"aQ c #A69373", +"aR c #AC9A7D", +"aS c #B0A79C", +"aT c #6C6B6C", +"aU c #968162", +"aV c #927F5F", +"aW c #8F7B5C", +"aX c #887A64", +"aY c #4C4E5A", +"aZ c #716044", +"a& c #6C5D42", +"b c #806B4C", +"b0 c #8B7542", +"b1 c #6F6C6B", +"b2 c #99781E", +"b3 c #443C28", +"b4 c #6A5A3C", +"b5 c #6D5C40", +"b6 c #D9AC3D", +"b7 c #EDC857", +"b8 c #B9B34B", +"b9 c #454544", +"ba c #474645", +"bb c #525453", +"bc c #515250", +"bd c #464753", +"be c #2A2B52", +"bf c #2F335B", +"bg c #594C3A", +"bh c #66573A", +"bi c #50484A", +"bj c #4C4855", +"bk c #4F4A49", +"bl c #65573A", +"bm c #67573B", +"bn c #68583E", +"bo c #51546B", +"bp c #534837", +"bq c #60543A", +"br c #695A3F", +"bs c #64573E", +"bt c #31384E", +"bu c #322D20", +"bv c #62553D", +"bw c #6D5F44", +"bx c #62553E", +"by c #212534", +"bz c #212027", +"bA c #2D2C2C", +"bB c #2C2C2B", +"bC c #AF6A3B", +"bD c #FA9025", +"bE c #FEA027", +"bF c #FFA12D", +"bG c #FFBE70", +"bH c #E2924B", +"bI c #864C1E", +"bJ c #373026", +"bK c #2A2A2A", +"bL c #58574C", +"bM c #FFF8ED", +"bN c #FBDABD", +"bO c #675E62", +"bP c #7E8294", +"bQ c #C6C3C2", +"bR c #FFFEEF", +"bS c #EFD2A4", +"bT c #8D7957", +"bU c #907C5D", +"bV c #A79772", +"bW c #C5C3A3", +"bX c #918666", +"bY c #837050", +"bZ c #816D4F", +"b& c #7E6B4D", +"c c #7C6C56", +"c0 c #595F77", +"c1 c #705E42", +"c2 c #6D5C3F", +"c3 c #766343", +"c4 c #756142", +"c5 c #887F60", +"c6 c #5E5F4A", +"c7 c #7F7838", +"c8 c #474547", +"c9 c #515151", +"ca c #353755", +"cb c #262850", +"cc c #212544", +"cd c #4D587E", +"ce c #5C657B", +"cf c #27284A", +"cg c #272950", +"ch c #32344C", +"ci c #695F4E", +"cj c #8D844C", +"ck c #F0EE64", +"cl c #D5D461", +"cm c #786A38", +"cn c #5F5344", +"co c #544D48", +"cp c #3E445F", +"cq c #62543C", +"cr c #695B40", +"cs c #6A5D42", +"ct c #625947", +"cu c #333A54", +"cv c #313130", +"cw c #2F2F2F", +"cx c #2E2E2E", +"cy c #AB6B3A", +"cz c #F98D24", +"cA c #FFB34B", +"cB c #FCBA6E", +"cC c #D37B17", +"cD c #5D4224", +"cE c #34332D", +"cF c #7C6D38", +"cG c #A5751A", +"cH c #726140", +"cI c #8B7A61", +"cJ c #D8B57E", +"cK c #F9E0BC", +"cL c #B78E5C", +"cM c #454B64", +"cN c #616B91", +"cO c #CECFAF", +"cP c #FFFEBA", +"cQ c #EBD280", +"cR c #6B5D4C", +"cS c #95855A", +"cT c #E2DE8B", +"cU c #C0C081", +"cV c #87734A", +"cW c #786345", +"cX c #766242", +"cY c #7C7F82", +"cZ c #373944", +"c& c #454444", +"d c #464546", +"d0 c #535354", +"d1 c #505152", +"d2 c #454549", +"d3 c #1D2136", +"d4 c #272229", +"d5 c #554735", +"d6 c #4A4237", +"d7 c #22223B", +"d8 c #252748", +"d9 c #272736", +"da c #3E414A", +"db c #C3C66A", +"dc c #FFFE64", +"dd c #F0D854", +"de c #6C6D65", +"df c #676A74", +"dg c #41425C", +"dh c #1F2143", +"di c #222342", +"dj c #5D5242", +"dk c #685B41", +"dl c #4C454A", +"dm c #343551", +"dn c #2A2F48", +"do c #333333", +"dp c #323233", +"dq c #313332", +"dr c #323031", +"ds c #AF6736", +"dt c #F5B44F", +"du c #F0A33F", +"dv c #A26318", +"dw c #3D372D", +"dx c #303030", +"dy c #312F2F", +"dz c #30312F", +"dA c #30302F", +"dB c #444D6A", +"dC c #837258", +"dD c #968367", +"dE c #9C896A", +"dF c #93825E", +"dG c #61584B", +"dH c #826522", +"dI c #706148", +"dJ c #897657", +"dK c #D4AD5E", +"dL c #E5C37E", +"dM c #B28541", +"dN c #424657", +"dO c #4D5574", +"dP c #979B8B", +"dQ c #FFFE96", +"dR c #FFFE8F", +"dS c #655941", +"dT c #746658", +"dU c #76644A", +"dV c #BEB463", +"dW c #F3F480", +"dX c #CCCC68", +"dY c #4A4842", +"dZ c #474846", +"d& c #4C4F56", +"e c #363A48", +"e0 c #5A4C35", +"e1 c #66563A", +"e2 c #645438", +"e3 c #2D2E2F", +"e4 c #2C2B2D", +"e5 c #534734", +"e6 c #645339", +"e7 c #806432", +"e8 c #9A7836", +"e9 c #C89424", +"ea c #5C4F29", +"eb c #483E2E", +"ec c #272743", +"ed c #202242", +"ee c #1B1D35", +"ef c #363B4C", +"eg c #505871", +"eh c #33375C", +"ei c #1D2041", +"ej c #1A1C36", +"ek c #2F3035", +"el c #363634", +"em c #353535", +"en c #343535", +"eo c #AE6A42", +"ep c #D38016", +"eq c #714F20", +"er c #333334", +"es c #353640", +"et c #373B62", +"eu c #4E4D63", +"ev c #9A8768", +"ew c #9C876A", +"ex c #998568", +"ey c #8C8688", +"ez c #645C52", +"eA c #8C795C", +"eB c #8C7A5A", +"eC c #8C785A", +"eD c #8C7E65", +"eE c #4C4A49", +"eF c #615323", +"eG c #574C36", +"eH c #7D6A4B", +"eI c #B1883C", +"eJ c #D5A755", +"eK c #EBB848", +"eL c #35312F", +"eM c #484958", +"eN c #4B5578", +"eO c #D7DA82", +"eP c #FEFE7A", +"eQ c #F3F271", +"eR c #464646", +"eS c #464746", +"eT c #484948", +"eU c #535256", +"eV c #494955", +"eW c #424B6D", +"eX c #5C503F", +"eY c #65563A", +"eZ c #605137", +"e& c #39425C", +"f c #4F452F", +"f0 c #64563A", +"f1 c #65543A", +"f2 c #524834", +"f3 c #2C3243", +"f4 c #383322", +"f5 c #63553A", +"f6 c #64563D", +"f7 c #41392B", +"f8 c #1C212F", +"f9 c #1E1C1C", +"fa c #584C37", +"fb c #5C4F38", +"fc c #26252E", +"fd c #191D35", +"fe c #191B30", +"ff c #373638", +"fg c #383838", +"fh c #383738", +"fi c #855E2E", +"fj c #4A3F2F", +"fk c #373737", +"fl c #363637", +"fm c #373637", +"fn c #363959", +"fo c #282C59", +"fp c #1E213D", +"fq c #79726F", +"fr c #978974", +"fs c #DBD5B2", +"ft c #E1E3CA", +"fu c #B1956B", +"fv c #8D7A5B", +"fw c #8A7759", +"fx c #807C83", +"fy c #5E5446", +"fz c #7E6A4F", +"fA c #776649", +"fB c #806C4D", +"fC c #806B49", +"fD c #545E84", +"fE c #665626", +"fF c #3F3727", +"fG c #67563D", +"fH c #746042", +"fI c #D19D2F", +"fJ c #D3A94F", +"fK c #D6CA44", +"fL c #474648", +"fM c #484747", +"fN c #494A49", +"fO c #484856", +"fP c #212248", +"fQ c #453E43", +"fR c #4A434B", +"fS c #3C3A4E", +"fT c #3D4056", +"fU c #62533A", +"fV c #65553A", +"fW c #60533D", +"fX c #585350", +"fY c #494646", +"fZ c #5B4E36", +"f& c #64553C", +"g c #65553D", +"g0 c #524D4A", +"g1 c #423B2A", +"g2 c #63553C", +"g3 c #65583E", +"g4 c #3F392E", +"g5 c #272B39", +"g6 c #323337", +"g7 c #3C3D3D", +"g8 c #3B3C3C", +"g9 c #3A3A3C", +"ga c #3A3A3B", +"gb c #3A3B3B", +"gc c #3B3A39", +"gd c #3A3A39", +"ge c #2B2C35", +"gf c #1A1D34", +"gg c #161625", +"gh c #323645", +"gi c #4B5671", +"gj c #F6F8D2", +"gk c #FEFFCD", +"gl c #A57D4F", +"gm c #78757A", +"gn c #8C7B68", +"go c #E1DD9D", +"gp c #E4E6AC", +"gq c #B7A770", +"gr c #816F4F", +"gs c #816C4F", +"gt c #7F6B4E", +"gu c #7D6F5B", +"gv c #4F5874", +"gw c #756246", +"gx c #726043", +"gy c #6F5D42", +"gz c #776345", +"gA c #7A6D52", +"gB c #4A5160", +"gC c #706A3E", +"gD c #494749", +"gE c #4A494A", +"gF c #3A3C52", +"gG c #28294F", +"gH c #202442", +"gI c #3B476B", +"gJ c #4C5674", +"gK c #2C2D53", +"gL c #222348", +"gM c #252949", +"gN c #616068", +"gO c #6B6860", +"gP c #2B2C4E", +"gQ c #292C53", +"gR c #37333C", +"gS c #61533B", +"gT c #64553B", +"gU c #514944", +"gV c #434763", +"gW c #564B3D", +"gX c #60513A", +"gY c #65563E", +"gZ c #4F4E50", +"g& c #383A44", +"h c #404040", +"h0 c #3E3F3E", +"h1 c #3E3D3E", +"h2 c #3D3D3F", +"h3 c #3E3E3C", +"h4 c #3E3E3E", +"h5 c #3D3C3E", +"h6 c #3E3C3D", +"h7 c #3D3C3C", +"h8 c #3C3C3C", +"h9 c #3A383B", +"ha c #3C3D3C", +"hb c #C9B031", +"hc c #F8DE44", +"hd c #987329", +"he c #353845", +"hf c #39425F", +"hg c #F5F6B1", +"hh c #FEFEAB", +"hi c #AD8F5B", +"hj c #68666E", +"hk c #807570", +"hl c #A69C6A", +"hm c #F3F490", +"hn c #D9D77F", +"ho c #8B7249", +"hp c #786646", +"hq c #776446", +"hr c #766345", +"hs c #7D7D83", +"ht c #383F4F", +"hu c #4A4948", +"hv c #4A4B4B", +"hw c #4C4B4B", +"hx c #3C3D41", +"hy c #32333D", +"hz c #494750", +"hA c #4E4F54", +"hB c #2B2D42", +"hC c #20223E", +"hD c #1A1D37", +"hE c #393D46", +"hF c #353B57", +"hG c #2B304E", +"hH c #595F73", +"hI c #5B5E6B", +"hJ c #202346", +"hK c #242548", +"hL c #312E37", +"hM c #65563D", +"hN c #65573D", +"hO c #3D394C", +"hP c #353856", +"hQ c #393B44", +"hR c #414140", +"hS c #424041", +"hT c #404041", +"hU c #403F40", +"hV c #3F4040", +"hW c #40403F", +"hX c #3F413F", +"hY c #424142", +"hZ c #D0B830", +"h& c #FFE440", +"i c #AD8C2D", +"i0 c #393C46", +"i1 c #3B4562", +"i2 c #A5AD88", +"i3 c #FEFF8E", +"i4 c #FCF684", +"i5 c #594C3F", +"i6 c #736A66", +"i7 c #786751", +"i8 c #5B5357", +"i9 c #444974", +"ia c #363B5E", +"ib c #484A4F", +"ic c #4C4C4C", +"id c #4B4B4C", +"ie c #4C4E4C", +"if c #595A59", +"ig c #575859", +"ih c #4C4D4E", +"ii c #47474B", +"ij c #4D4D50", +"ik c #272834", +"il c #191C2C", +"im c #2B2D3F", +"in c #474849", +"io c #343647", +"ip c #212445", +"iq c #25274A", +"ir c #2B324E", +"is c #4C5875", +"it c #515971", +"iu c #202144", +"iv c #1C1D32", +"iw c #444544", +"ix c #444444", +"iy c #434545", +"iz c #434345", +"iA c #424344", +"iB c #434442", +"iC c #434342", +"iD c #434343", +"iE c #424242", +"iF c #444344", +"iG c #504E42", +"iH c #565040", +"iI c #B4A436", +"iJ c #FEE637", +"iK c #FDE042", +"iL c #404143", +"iM c #3B445F", +"iN c #3E4A72", +"iO c #404472", +"iP c #272955", +"iQ c #303261", +"iR c #494A4D", +"iS c #4D4C4D", +"iT c #5C5C5B", +"iU c #555556", +"iV c #555455", +"iW c #525353", +"iX c #504F50", +"iY c #4D4D4C", +"iZ c #313036", +"i& c #25262D", +"j c #3A3942", +"j0 c #41424B", +"j1 c #1C1E37", +"j2 c #212342", +"j3 c #4A4A4A", +"j4 c #484748", +"j5 c #484947", +"j6 c #474647", +"j7 c #454745", +"j8 c #454746", +"j9 c #464545", +"ja c #454546", +"jb c #474546", +"jc c #484849", +"jd c #49494A", +"je c #565347", +"jf c #716A3F", +"jg c #4B4B4A", +"jh c #4C4B4C", +"ji c #26283F", +"jj c #2E3158", +"jk c #4E4E4F", +"jl c #4F504E", +"jm c #4F5050", +"jn c #5D5B5C", +"jo c #5A5B5C", +"jp c #5A5959", +"jq c #585958", +"jr c #565755", +"js c #545654", +"jt c #535455", +"ju c #545254", +"jv c #505251", +"jw c #51504F", +"jx c #4F4E4E", +"jy c #404142", +"jz c #35363A", +"jA c #3E3F42", +"jB c #4B4A4C", +"jC c #4A4A4B", +"jD c #4B494A", +"jE c #49494B", +"jF c #494B4A", +"jG c #4A4A49", +"jH c #494A48", +"jI c #484A49", +"jJ c #4A4848", +"jK c #484949", +"jL c #4A4949", +"jM c #494A4A", +"jN c #4B4A4A", +"jO c #4B4B4B", +"jP c #4E4F4E", +"jQ c #4F4E4D", +"jR c #3E3D41", +"jS c #36383E", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K B L M N O P Q R S T v u U s r r", +" V W X Y Z &0 0001020304050607 l08090a0b0c0d0e0f0g0h0i0j H0k0l0m0n0m0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L I0M0N0O0P0Q", +"0R0S0T0U0V0W f0X0Y0Z0&1 10111213140215161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N", +"1O1P1Q1R1S h1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2d2g2h2i2j2k2l2l2i2i2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I", +"2J2K2L2M k m2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G", +" h3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 40414243444546474849494a4b4c4d4e4f4d4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D", +"4E n4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 50515253545555555657585956585a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y", +"5z t5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636164656665636768696a6b6c6d6e6f6g6h6i6j5H6k6l6m6n6o6p6q6r6s1m", +"5A v6t H6u6v6w6x6y6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 7071727374757677783s797a7b4t7c7d7e7f7g7h7i7j7k7l7m", +"7n A0I0m7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j", +"0j0k0H8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8S8T8U8V8W8X8Y8Z8&9 909192939495969798998f9a9b9c9d9e", +"9f9g0o0t9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabac", +"adaeaf1fagahaiajakalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaM9OaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9ba", +"bbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybz8GbAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb&c c0c1c2c3c4c5c6c7abc8", +"0kc9cacbcccdcecfcgchcicjckclcmbncncocpcqcrcsctcucvcwcwcxcyczcAcBcCcD7T7U8GcEcFcGcHcIcJcKcLcMcNcOcPcQcR88cScTcUcVcWc3cXcYcZc&d 2j", +"d0d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdxdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdY9ddZ", +" B0ld&e e0e1e2e3e4e5e6e7e8e9eaebecedeeefegeheiejekelemeneoepeqdoerdoerdoeseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeT", +"eUeVeWeXeYaieZe&f f0f1f2f3f4f5f6f7f8f9fafbfcfdfefffgfgfhfifjfkflfkfm6161fnfofpfqfrfsftfuaWfvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfN", +"fOfP2GfQeYfRfSfTfUfVfWfXfYfZf&g g061g1g2g3g4g5g6g7g8g9gagb5a57gagc5858gdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgD2dgE", +"gFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgYgZg&h h h0h0h1h2h3h4h5h64fh7h8h7h9flha4chbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthugEhvhw", +" shxhyhzhAhBhChDhEhFgL1shGhHhIhJhKhLhMhNhOhPhQ3e3g3i3hhRhRhShThThThUhU4ahV4a4ahW46hX5454hYhYhZh&i i0i1i2i3i4i5i6i7i8i9iaibicidie", +"ifig5A5B6t Cihiic9ijikiliminioipiqirisitdhiuivc&37iwb9ixiyiziA3a3ciBiC3diD3g3fiEiD3ciFixc&c&iwiGiH37eSiIiJiKiLiMiNiOiPiQiRiS1g1f", +"iT5zif s u5BiUiVd0iW0nc90oiXiYiZi&j idj0j1j25Jj32fj4j58j8i2hj68ij7j8acbaj8j937d jajb8i2i8i9e8jj4j4jcjdhujejfjgjhhwjidijjjkjljm0D", +"3Hjnjo5zjpjq U Tjrjsjtju0l0mjv0DjwiXjx3GjyjzjAicjBjBjCj3jDjEjFfNjGjH2djI2ejJ2e2ehujK2ffNjLjMjEhv4Cj3jNjOjh1j1ijPjQjEjRjS0r0pc90l"}; diff --git a/2009-x64/cps4.03/icons/cpscIncreaseEdgeSubd.xpm b/2009-x64/cps4.03/icons/cpscIncreaseEdgeSubd.xpm new file mode 100644 index 0000000..b650d7e --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscIncreaseEdgeSubd.xpm @@ -0,0 +1,1027 @@ +/* XPM */ +static char *INC_xpm[]={ +"64 24 1000 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6A6A", +" 7 c #696969", +" 8 c #696867", +" 9 c #676768", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #676661", +" h c #767664", +" i c #5F5E5F", +" j c #5D5E5D", +" k c #5C5C5C", +" l c #5B5B5D", +" m c #5B5C5C", +" n c #5B5A5B", +" o c #5B5B5B", +" p c #59595A", +" q c #595858", +" r c #585858", +" s c #585758", +" t c #575656", +" u c #565756", +" v c #555556", +" w c #565554", +" x c #555555", +" y c #545455", +" z c #545555", +" A c #545355", +" B c #535453", +" C c #535353", +" D c #535253", +" E c #545453", +" F c #545353", +" G c #555653", +" H c #7A7956", +" I c #5B5A55", +" J c #545554", +" K c #545456", +" L c #565555", +" M c #595857", +" N c #716F5D", +" O c #877F59", +" P c #8C8658", +" Q c #898454", +" R c #6B6856", +" S c #5A5857", +" T c #595859", +" U c #585859", +" V c #585A5A", +" W c #6D6D6D", +" X c #6C6D6C", +" Y c #6C6B6B", +" Z c #68696A", +" & c #696868", +"0 c #666767", +"00 c #656665", +"01 c #656564", +"02 c #646264", +"03 c #616062", +"04 c #606161", +"05 c #5E5F5F", +"06 c #5F5E5E", +"07 c #5D5D5D", +"08 c #5F5F5D", +"09 c #B7B76C", +"0a c #EDEF75", +"0b c #848560", +"0c c #5A5A57", +"0d c #575858", +"0e c #575756", +"0f c #555656", +"0g c #555554", +"0h c #535455", +"0i c #535452", +"0j c #525352", +"0k c #515152", +"0l c #525150", +"0m c #505052", +"0n c #515050", +"0o c #4F5050", +"0p c #504F50", +"0q c #50504F", +"0r c #504F4F", +"0s c #504E4F", +"0t c #4E504F", +"0u c #4F4F4E", +"0v c #4F4F50", +"0w c #525250", +"0x c #979759", +"0y c #F5F553", +"0z c #C7C751", +"0A c #5D5B51", +"0B c #505150", +"0C c #535251", +"0D c #716E61", +"0E c #AB9D66", +"0F c #89855B", +"0G c #7F7959", +"0H c #7E7756", +"0I c #847B50", +"0J c #9D894D", +"0K c #A1954F", +"0L c #646053", +"0M c #69696A", +"0N c #686868", +"0O c #676868", +"0P c #656667", +"0Q c #656666", +"0R c #636263", +"0S c #626261", +"0T c #606162", +"0U c #605F60", +"0V c #5E5F5D", +"0W c #5A5B5B", +"0X c #585A59", +"0Y c #81815E", +"0Z c #F7F872", +"0& c #FDFD75", +"1 c #F7F66F", +"10 c #8F904D", +"11 c #515151", +"12 c #4F5051", +"13 c #4E4F4F", +"14 c #4E4F4E", +"15 c #4D4E4F", +"16 c #4D4E4D", +"17 c #4E4E4D", +"18 c #4C4C4C", +"19 c #4C4B4C", +"1a c #4B4A4C", +"1b c #4A4B4A", +"1c c #4C4C4A", +"1d c #4A4C4A", +"1e c #4B4B4A", +"1f c #4A4A4A", +"1g c #4C4A4C", +"1h c #4B4C4B", +"1i c #7F7F4E", +"1j c #F8F653", +"1k c #FDFD4F", +"1l c #FBFB4D", +"1m c #97964A", +"1n c #4D4D4D", +"1o c #736E5B", +"1p c #9F844F", +"1q c #58544C", +"1r c #868577", +"1s c #EFF0A3", +"1t c #F2EE64", +"1u c #A08945", +"1v c #535252", +"1w c #6D6A52", +"1x c #B8A34C", +"1y c #605A52", +"1z c #555355", +"1A c #646564", +"1B c #636463", +"1C c #636262", +"1D c #616061", +"1E c #5E605F", +"1F c #5D5E5E", +"1G c #5C5C5D", +"1H c #5B5A5C", +"1I c #5A595A", +"1J c #575757", +"1K c #565556", +"1L c #535454", +"1M c #535354", +"1N c #605E4D", +"1O c #C4C046", +"1P c #FAFA6B", +"1Q c #E7E649", +"1R c #52512B", +"1S c #484A49", +"1T c #4C4D4C", +"1U c #4B4B4C", +"1V c #4B4A4B", +"1W c #4B494B", +"1X c #494A4A", +"1Y c #494948", +"1Z c #494848", +"1& c #484847", +"2 c #474747", +"20 c #464748", +"21 c #464846", +"22 c #464746", +"23 c #464646", +"24 c #474546", +"25 c #464647", +"26 c #484846", +"27 c #494847", +"28 c #949053", +"29 c #F3E656", +"2a c #FBF94A", +"2b c #B8B83F", +"2c c #373730", +"2d c #58584F", +"2e c #AA9150", +"2f c #524E4A", +"2g c #4B4C4C", +"2h c #8E8E76", +"2i c #FEFEA0", +"2j c #FDF965", +"2k c #A38542", +"2l c #4F4F4F", +"2m c #757453", +"2n c #98854B", +"2o c #525152", +"2p c #626163", +"2q c #606060", +"2r c #5E5E5E", +"2s c #5E5D5D", +"2t c #5D5B5D", +"2u c #5B5B5A", +"2v c #5A5A5A", +"2w c #575857", +"2x c #565757", +"2y c #545454", +"2z c #515352", +"2A c #515150", +"2B c #505050", +"2C c #56554D", +"2D c #AD953D", +"2E c #967E1A", +"2F c #817F31", +"2G c #565726", +"2H c #1F211E", +"2I c #3C3E3D", +"2J c #474848", +"2K c #454645", +"2L c #454446", +"2M c #454444", +"2N c #434444", +"2O c #444444", +"2P c #434342", +"2Q c #434242", +"2R c #424243", +"2S c #424242", +"2T c #414242", +"2U c #424241", +"2V c #434142", +"2W c #434243", +"2X c #424443", +"2Y c #615E4D", +"2Z c #D5C173", +"2& c #8B7827", +"3 c #9C9B30", +"30 c #303023", +"31 c #202221", +"32 c #6A6642", +"33 c #71684B", +"34 c #6E6E65", +"35 c #787765", +"36 c #A5A37A", +"37 c #FEFE8E", +"38 c #FDF762", +"39 c #CCAA43", +"3a c #8F844D", +"3b c #998C4D", +"3c c #716A4C", +"3d c #AEA055", +"3e c #55524D", +"3f c #5F5F5E", +"3g c #5D5E5F", +"3h c #5D5C5C", +"3i c #5C5B5A", +"3j c #5A5B59", +"3k c #595959", +"3l c #555657", +"3m c #535352", +"3n c #504E50", +"3o c #4D4E4E", +"3p c #4D4C4D", +"3q c #504F4A", +"3r c #9B8640", +"3s c #B19226", +"3t c #463F24", +"3u c #1D1E1D", +"3v c #1D1D1C", +"3w c #1C1B1B", +"3x c #303130", +"3y c #404040", +"3z c #3F3F40", +"3A c #3E3F3E", +"3B c #3F403E", +"3C c #3E3E3E", +"3D c #3F3E3E", +"3E c #3E3D3F", +"3F c #3F3E3D", +"3G c #3D3E3E", +"3H c #3E3E3D", +"3I c #3E3D3E", +"3J c #3F3E3F", +"3K c #3E3F3F", +"3L c #4C4D41", +"3M c #797749", +"3N c #CABE7C", +"3O c #8C722A", +"3P c #39372F", +"3Q c #222221", +"3R c #1E1E1E", +"3S c #201E1F", +"3T c #918548", +"3U c #5C5942", +"3V c #F5F7AF", +"3W c #FCFDA1", +"3X c #FEFD8E", +"3Y c #FEFC73", +"3Z c #FDEC54", +"3& c #FDCE43", +"4 c #FDC73F", +"40 c #FDBF3C", +"41 c #9D793D", +"42 c #988C55", +"43 c #605747", +"44 c #5B5C5B", +"45 c #535553", +"46 c #525453", +"47 c #525251", +"48 c #4F4E4F", +"49 c #4E4C4D", +"4a c #4C4C4B", +"4b c #4B4A4A", +"4c c #84773F", +"4d c #B59826", +"4e c #5D532F", +"4f c #21201F", +"4g c #1B1B1B", +"4h c #1B1A1B", +"4i c #1A1B1A", +"4j c #252525", +"4k c #43413F", +"4l c #3D3D3D", +"4m c #3C3C3B", +"4n c #3B3A3B", +"4o c #3B3C3B", +"4p c #3A3B3B", +"4q c #3A3A3A", +"4r c #3B393A", +"4s c #3A3A38", +"4t c #393939", +"4u c #3A3839", +"4v c #393A39", +"4w c #3A3938", +"4x c #46473E", +"4y c #CACA56", +"4z c #FAFA53", +"4A c #D3C243", +"4B c #47442E", +"4C c #242323", +"4D c #1E1C1D", +"4E c #1E1E1F", +"4F c #90853F", +"4G c #555232", +"4H c #F9F86B", +"4I c #FDFC6D", +"4J c #FDFD67", +"4K c #FDFA58", +"4L c #FEDD42", +"4M c #FEBF36", +"4N c #FDB730", +"4O c #FDAF2C", +"4P c #9A7237", +"4Q c #988B59", +"4R c #5F5545", +"4S c #565656", +"4T c #515251", +"4U c #4D4C4E", +"4V c #484949", +"4W c #766A3E", +"4X c #B79927", +"4Y c #655A28", +"4Z c #232321", +"4& c #1C1A1B", +"5 c #1C1D1C", +"50 c #19191A", +"51 c #302E2E", +"52 c #A18B43", +"53 c #6C6542", +"54 c #3B3A38", +"55 c #383738", +"56 c #383837", +"57 c #373637", +"58 c #363736", +"59 c #363637", +"5a c #373537", +"5b c #363536", +"5c c #353636", +"5d c #353434", +"5e c #353536", +"5f c #363635", +"5g c #363535", +"5h c #353535", +"5i c #353736", +"5j c #373836", +"5k c #A1A149", +"5l c #FCFC50", +"5m c #FDFD4E", +"5n c #ECEC4A", +"5o c #44452A", +"5p c #1C1C1D", +"5q c #1C1C1C", +"5r c #222322", +"5s c #282929", +"5t c #877C3D", +"5u c #524628", +"5v c #998739", +"5w c #9C873D", +"5x c #C3B44B", +"5y c #FDE949", +"5z c #FECF37", +"5A c #C2872C", +"5B c #886B39", +"5C c #856739", +"5D c #665742", +"5E c #AA995B", +"5F c #504C48", +"5G c #575758", +"5H c #505151", +"5I c #494A49", +"5J c #484748", +"5K c #645B40", +"5L c #B7982A", +"5M c #756622", +"5N c #252423", +"5O c #232322", +"5P c #323231", +"5Q c #212121", +"5R c #2B2B2B", +"5S c #BE943B", +"5T c #F5B540", +"5U c #A18842", +"5V c #423F36", +"5W c #323233", +"5X c #323332", +"5Y c #313331", +"5Z c #333232", +"5& c #333333", +"6 c #333332", +"60 c #323132", +"61 c #323232", +"62 c #313131", +"63 c #313231", +"64 c #313232", +"65 c #323333", +"66 c #373835", +"67 c #9F9956", +"68 c #E5D342", +"69 c #F3F248", +"6a c #717129", +"6b c #1B1C1B", +"6c c #1B1A1A", +"6d c #1E201F", +"6e c #2D2C2C", +"6f c #5E5D3F", +"6g c #7F6D32", +"6h c #393838", +"6i c #3F3F3F", +"6j c #8D8A4C", +"6k c #FDE146", +"6l c #FEC432", +"6m c #966A30", +"6n c #444645", +"6o c #474846", +"6p c #77735B", +"6q c #847145", +"6r c #484948", +"6s c #555454", +"6t c #525252", +"6u c #504F51", +"6v c #4C4D4D", +"6w c #4B4C4D", +"6x c #4B4949", +"6y c #494949", +"6z c #474946", +"6A c #5B5540", +"6B c #B6972C", +"6C c #867520", +"6D c #2D2A24", +"6E c #201F1F", +"6F c #363636", +"6G c #343535", +"6H c #BB8E35", +"6I c #EB8922", +"6J c #EF9329", +"6K c #D7A03B", +"6L c #5F5235", +"6M c #2F2F2E", +"6N c #2F2D2E", +"6O c #2E2E2F", +"6P c #2E302E", +"6Q c #2F2E2E", +"6R c #2D2E2E", +"6S c #2E2E2E", +"6T c #2E2D2E", +"6U c #2E2E2C", +"6V c #2E2F2F", +"6W c #333331", +"6X c #76714F", +"6Y c #C0AC4D", +"6Z c #57511B", +"6& c #565521", +"7 c #1A1B19", +"70 c #1A191A", +"71 c #2B2A2B", +"72 c #393A3A", +"73 c #3C3E3B", +"74 c #877B3E", +"75 c #72673E", +"76 c #41413E", +"77 c #86814A", +"78 c #F4CE40", +"79 c #F4B430", +"7a c #967134", +"7b c #454544", +"7c c #67645B", +"7d c #A38851", +"7e c #4C4946", +"7f c #505051", +"7g c #4C4E4D", +"7h c #49494A", +"7i c #484849", +"7j c #484848", +"7k c #73744C", +"7l c #D2D35A", +"7m c #C0AA3D", +"7n c #907D1F", +"7o c #343227", +"7p c #1F1E1E", +"7q c #373737", +"7r c #343333", +"7s c #BB8B33", +"7t c #FAA02D", +"7u c #ED9020", +"7v c #ED8821", +"7w c #EA992F", +"7x c #947335", +"7y c #39362D", +"7z c #2C2B2B", +"7A c #2B2C2D", +"7B c #2B2C2B", +"7C c #2A2B2A", +"7D c #29292A", +"7E c #2A2B2C", +"7F c #2D2E2B", +"7G c #60603C", +"7H c #B9B84D", +"7I c #C5B45D", +"7J c #5E531C", +"7K c #191818", +"7L c #171717", +"7M c #1B1B1A", +"7N c #2B2C2A", +"7O c #3A393B", +"7P c #41413B", +"7Q c #89793E", +"7R c #998B45", +"7S c #736C44", +"7T c #6E6342", +"7U c #6A5D40", +"7V c #706947", +"7W c #8E7F53", +"7X c #91784B", +"7Y c #4F4A44", +"7Z c #454546", +"7& c #484746", +"8 c #4F4E50", +"80 c #4D4D4E", +"81 c #4A4B4B", +"82 c #48494A", +"83 c #474749", +"84 c #686849", +"85 c #EAE957", +"86 c #FDFD59", +"87 c #F4F156", +"88 c #969432", +"89 c #1F1E1B", +"8a c #1B1D1C", +"8b c #313130", +"8c c #393938", +"8d c #333434", +"8e c #BB8931", +"8f c #FDAA31", +"8g c #FDAB2D", +"8h c #F99926", +"8i c #E7831C", +"8j c #F38E27", +"8k c #CD8E32", +"8l c #55482D", +"8m c #2A2B29", +"8n c #2A2829", +"8o c #292828", +"8p c #282729", +"8q c #272929", +"8r c #292829", +"8s c #292928", +"8t c #515237", +"8u c #E5E552", +"8v c #FDFE4D", +"8w c #D4D13E", +"8x c #3B3A28", +"8y c #1A1819", +"8z c #181818", +"8A c #181819", +"8B c #181919", +"8C c #1A1919", +"8D c #1D1E1C", +"8E c #2F3030", +"8F c #383939", +"8G c #39393A", +"8H c #3B3B3A", +"8I c #514A3D", +"8J c #7A6C3F", +"8K c #8F7C41", +"8L c #957E40", +"8M c #7A6C44", +"8N c #554C3F", +"8O c #434343", +"8P c #444443", +"8Q c #464445", +"8R c #4F504F", +"8S c #4A4B49", +"8T c #474646", +"8U c #757347", +"8V c #F1F250", +"8W c #FEFD55", +"8X c #F8F748", +"8Y c #7C7D28", +"8Z c #1F1F1E", +"8& c #2D2D2E", +"9 c #383A39", +"90 c #383938", +"91 c #333133", +"92 c #BC872F", +"93 c #FDA82E", +"94 c #FEAD2D", +"95 c #FDAA2E", +"96 c #FBAC3D", +"97 c #F3AA43", +"98 c #B8731C", +"99 c #4C3E28", +"9a c #2A2B2B", +"9b c #292929", +"9c c #2A2A29", +"9d c #807F38", +"9e c #F8F649", +"9f c #FDFD4B", +"9g c #D2D23E", +"9h c #2E2F1C", +"9i c #171818", +"9j c #191819", +"9k c #1F2120", +"9l c #1C1C1B", +"9m c #191A1A", +"9n c #1D1D1E", +"9o c #2A292A", +"9p c #363737", +"9q c #3B3B3B", +"9r c #3D3E3D", +"9s c #40403F", +"9t c #414140", +"9u c #434244", +"9v c #444345", +"9w c #515250", +"9x c #4E4E4E", +"9y c #4C4B4B", +"9z c #706634", +"9A c #A2951E", +"9B c #D4D441", +"9C c #94942A", +"9D c #21211C", +"9E c #2C2B2C", +"9F c #3C3B3B", +"9G c #393A38", +"9H c #363838", +"9I c #333435", +"9J c #BC852F", +"9K c #FDAF32", +"9L c #FDBC52", +"9M c #E79935", +"9N c #84571F", +"9O c #363029", +"9P c #2B2B2D", +"9Q c #2D2D2C", +"9R c #2B2B2A", +"9S c #38382F", +"9T c #BAAE5F", +"9U c #9B8D23", +"9V c #C7C739", +"9W c #3C3C1E", +"9X c #161618", +"9Y c #181717", +"9Z c #2D2C2E", +"9& c #252625", +"a c #383838", +"a0 c #3A3B3A", +"a1 c #3B3D3C", +"a2 c #3E3C3D", +"a3 c #3E3E3F", +"a4 c #3E3F40", +"a5 c #3F4040", +"a6 c #414142", +"a7 c #424142", +"a8 c #444342", +"a9 c #434345", +"aa c #464545", +"ab c #515252", +"ac c #4D4F4F", +"ad c #4D4D4C", +"ae c #494849", +"af c #6D653D", +"ag c #AA9220", +"ah c #564D1A", +"ai c #26261D", +"aj c #20201D", +"ak c #3D3D3C", +"al c #3A3C3B", +"am c #373939", +"an c #383636", +"ao c #353635", +"ap c #343534", +"aq c #343332", +"ar c #BB8832", +"as c #FEB947", +"at c #FABC54", +"au c #C58128", +"av c #564128", +"aw c #2F2F2D", +"ax c #2E2E2D", +"ay c #34342F", +"az c #464733", +"aA c #B4A858", +"aB c #97852C", +"aC c #312F1F", +"aD c #1D1E18", +"aE c #191918", +"aF c #333234", +"aG c #353534", +"aH c #313230", +"aI c #373837", +"aJ c #3A3A3B", +"aK c #3C3C3C", +"aL c #403F3F", +"aM c #414040", +"aN c #424141", +"aO c #454545", +"aP c #645C42", +"aQ c #AE9623", +"aR c #756724", +"aS c #252421", +"aT c #1E1D1D", +"aU c #3C3D3D", +"aV c #BB8631", +"aW c #EAA535", +"aX c #8C6124", +"aY c #3E372F", +"aZ c #323131", +"a& c #303231", +"b c #303131", +"b0 c #353533", +"b1 c #A3A350", +"b2 c #EEED4C", +"b3 c #BAAC39", +"b4 c #443F24", +"b5 c #212122", +"b6 c #191919", +"b7 c #1A1A1A", +"b8 c #282829", +"b9 c #373838", +"ba c #3B3A3A", +"bb c #3B3B3C", +"bc c #3C3C3D", +"bd c #41403F", +"be c #454445", +"bf c #474647", +"bg c #515253", +"bh c #4F4D4E", +"bi c #4C4C4D", +"bj c #5E5946", +"bk c #AB9326", +"bl c #83731F", +"bm c #32312B", +"bn c #1F201F", +"bo c #1E1F1E", +"bp c #1E1E1D", +"bq c #212021", +"br c #3C3B3D", +"bs c #3E3C3E", +"bt c #3A3A3C", +"bu c #946A2C", +"bv c #5E492C", +"bw c #373636", +"bx c #353433", +"by c #343435", +"bz c #343334", +"bA c #353334", +"bB c #797A45", +"bC c #F7F84D", +"bD c #FDFE49", +"bE c #E4E442", +"bF c #393A26", +"bG c #1A1A1B", +"bH c #1F1E1F", +"bI c #3C3B3C", +"bJ c #3D3B3C", +"bK c #414041", +"bL c #424344", +"bM c #444445", +"bN c #474748", +"bO c #525353", +"bP c #535351", +"bQ c #5A584A", +"bR c #A28D2B", +"bS c #8B7C1E", +"bT c #3A372C", +"bU c #212221", +"bV c #232223", +"bW c #202121", +"bX c #1F1F20", +"bY c #404041", +"bZ c #414241", +"b& c #3D3D3E", +"c c #3C3B39", +"c0 c #39383A", +"c1 c #393837", +"c2 c #373738", +"c3 c #363837", +"c4 c #373638", +"c5 c #76703C", +"c6 c #E7E03D", +"c7 c #F9FB47", +"c8 c #9D9C31", +"c9 c #20211D", +"ca c #252424", +"cb c #1D1C1D", +"cc c #31312F", +"cd c #3F3E40", +"ce c #414042", +"cf c #474745", +"cg c #494748", +"ch c #57574F", +"ci c #9F8B2F", +"cj c #93841C", +"ck c #474432", +"cl c #242324", +"cm c #242624", +"cn c #393839", +"co c #302F2F", +"cp c #2C2D2E", +"cq c #404141", +"cr c #424041", +"cs c #3D3C3D", +"ct c #3B3C3D", +"cu c #3C3A3B", +"cv c #393B3A", +"cw c #3A3A39", +"cx c #625C40", +"cy c #C8B54B", +"cz c #685E18", +"cA c #78782B", +"cB c #26251F", +"cC c #272727", +"cD c #343434", +"cE c #272628", +"cF c #222122", +"cG c #3B3A39", +"cH c #3E3D3D", +"cI c #414141", +"cJ c #444343", +"cK c #444544", +"cL c #474547", +"cM c #484747", +"cN c #4B494A", +"cO c #565456", +"cP c #676752", +"cQ c #C0C069", +"cR c #BBAC4E", +"cS c #9C8A1A", +"cT c #514B31", +"cU c #262727", +"cV c #474847", +"cW c #434443", +"cX c #3F403F", +"cY c #3F3F3D", +"cZ c #3F3D3F", +"c& c #5A5944", +"d c #A29F4C", +"d0 c #C8B248", +"d1 c #7A6D1E", +"d2 c #32322C", +"d3 c #1F1E1D", +"d4 c #3C3D3C", +"d5 c #3E3E40", +"d6 c #413F3F", +"d7 c #404140", +"d8 c #424342", +"d9 c #434344", +"da c #444545", +"db c #474648", +"dc c #4A494A", +"dd c #626156", +"de c #D5D34D", +"df c #FDFC52", +"dg c #F3EF6B", +"dh c #CCC43B", +"di c #353629", +"dj c #262627", +"dk c #4B4B4B", +"dl c #474746", +"dm c #454646", +"dn c #424341", +"do c #424040", +"dp c #4D4E43", +"dq c #D0D251", +"dr c #FDFD4C", +"ds c #D7CA3A", +"dt c #4B4831", +"du c #262827", +"dv c #212020", +"dw c #20201F", +"dx c #363738", +"dy c #3F4141", +"dz c #4A4C4B", +"dA c #4D4C4C", +"dB c #A1A051", +"dC c #FBFA48", +"dD c #FEFD4A", +"dE c #FDFB46", +"dF c #B9B936", +"dG c #2E2E27", +"dH c #4F4E4E", +"dI c #4A4949", +"dJ c #494747", +"dK c #464444", +"dL c #434544", +"dM c #84834A", +"dN c #F8F847", +"dO c #FDFE46", +"dP c #E6E541", +"dQ c #44452B", +"dR c #222021", +"dS c #222120", +"dT c #2D2D2D", +"dU c #414143", +"dV c #444344", +"dW c #454644", +"dX c #494A48", +"dY c #4A4A49", +"dZ c #4B4D4C", +"d& c #5C5C5B", +"e c #60615A", +"e0 c #B0AF45", +"e1 c #F5F542", +"e2 c #C6C730", +"e3 c #383729", +"e4 c #555354", +"e5 c #515051", +"e6 c #494845", +"e7 c #858636", +"e8 c #E9E841", +"e9 c #5D5C2B", +"ea c #232522", +"eb c #232424", +"ec c #2A2928", +"ed c #2E2D2D", +"ee c #242424", +"ef c #232323", +"eg c #313031", +"eh c #4A4A4B", +"ei c #4D4E4C", +"ej c #4F514F", +"ek c #3D3D37", +"el c #51502C", +"em c #33312A", +"en c #575856", +"eo c #525452", +"ep c #525253", +"eq c #4F5150", +"er c #4D4F4D", +"es c #4E4D4D", +"et c #494B4A", +"eu c #363534", +"ev c #414028", +"ew c #252623", +"ex c #272527", +"ey c #2F2F2F", +"ez c #4B4C4A", +"eA c #4C4B4D", +"eB c #51514F", +"eC c #505252", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v v w x y z A B C B B D E F G H I J z K L M N O P Q R S T U V", +" W X Y 6 Z &0 0 000102 d030405060708090a0b0c0d0e0f L0g0h0i C0j0k0l0m0n0o0n0o0p0q0r0o0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L u0e", +"0M0N0O0P0Q c0R0S0T0U0V07 m n0W0X0d0Y0Z0&1 10110k0n121314151616171819181a1b1c1d1e1e1e1b1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z", +"0Q1A1B1C1D0U1E1F1G1H1I U r1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1S1Y1Z1&1&2 20212 22232425222 25262728292a2b2c2d2e2f2g2h2i2j2k0r2l2m2n2o", +"2p1D2q2r2s2t2u2v r2w2x2y F2z2A2B2C2D2E2F2G2H2I2J2 242K2L2M2N2O2P2Q2R2S2Q2T2T2S2T2U2V2W2Q2X2Y2Z2&3 303132333435363738393a3b3c3d3e", +"3f3g3h3i3j3k1J3l z F3m0l3n3o3p3q3r3s3t3u3v3w3x2S2U2T3y3y3z3A3B3C3D3E3F3G3H3H3I3C3C3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 40414243", +"44 o2v s0e0f4546472B48494a4b1b4c4d4e4f4g4h4i4j4k3G4l4m4n4o4p4q4n4n4r4s4t4u4v4q4w4q4q4x4y4z4A4B4C4D3R4E4F4G4H4I4J4K4L4M4N4O4P4Q4R", +" p r4S0f2y3m4T0o144U181e4V274W4X4Y4Z4&5 504g5152535455565758595a575b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F", +"5G4S x1M D5H0p3o1T1f5I5J215K5L5M5N4i5O5P5Q5R575S5T5U5V5W5X5Y5Z5&6 6061616260636465666768696a6b6c6d6e4q6f6g6h6i6j6k6l6m6n6o6p6q6r", +"0f6s D6t6u2l6v6w6x6y6z6z6A6B6C6D4i6E6F6h6F5h6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6T6V3x6W6X6Y6Z6&7 705q716F72737475767778797a7b7c7d7e5J", +" x C0j7f2l7g1h7h7i7j7k7l7m7n7o4g7p6 567q6F7r617s7t7u7v7w7x7y7z7A7B5R7C7D5R7E7F7G7H7I7J5N7K7L7K7M7N566h7O7P7Q7R7S7T7U7V7W7X7Y7Z7&", +" F6t0l8 802g8182838485868788898a8b8c585g8d5W8b8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H4m8I8J8K8L8M8N8O8P8Q2 ", +"3m0k8R486v188S1Y8T8U8V8W8X8Y8Z8&9 90586F5&918b92939495969798999a7D8r8s8s9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p4t9q4o4l9r3z9s9t2U9u9v2324", +"1L9w8R9x499y1W4V1&9z9A9B9C9D9E9F9q9G9H589I65649J939K9L9M9N9O9P9Q7z9E9a719R9S9T9U9V9W9X9Y6E9Z9Q8Z9&8da 72a0a1a2a3a4a5a6a7a8a9aa25", +"1vab0Bacad1h1faeafagahaiaj6E6hakal4qamanaoapaqarasatauavaw6M6M6O6M6SaxayazaAaBaCaDaE9i4h9aaFaGaH6 aI90aJ9qaK9r3KaLaMaN2W8O2MaO2 ", +" F0k0B9x802g1VaPaQaRaSaT5 6E4q3HaU9F728c7q595baVaWaXaY6363aZa&aZ60b b0b1b2b3b4b5b68z8Bb7b85h5jb96h4wbabbbc2I3Ca5bda62U2Rbeaa2 bf", +"1Mbg2A2Bbhbibjbkblbmbnbobpbqbr6i3DbsaKbt724wa bubvbw5c5daGbx8dbybzbAbBbCbDbEbF5qb6b78CbGbH8d904qbabIbJ9r3C3CaLbKa62RbLaObM22bNbN", +"2ybObP2A2lbQbRbSbTbUbVbWbX71bYbZbK9s3Cb&bJ4oa0c c08ca c1c2b9c357c456c5c6c7c8c94&3Rca5qcbbWcc4n4pbIak3C3JcdaLcebZ2P2O2OaOcfbNcg7h", +"0f1M3mbPchcicjckclcmcncocpcqaO9v2X2TcrbY9s3G4lcsct9F9Fcu8H4ncvcw8HcxcyczcAcB5p6dcCcDcEcFaZcGakcH6i3z9saMcI2Q2WcJcK7bcL2 cM1Z5IcN", +" ucOcPcQcRcScT8scU721WcMbe5JcV242KbMcW2SaNcI9taMcX6ia3cYcZ3H3Cc&d d0d1d2bod33RcaaId49F65bad5a5d6d7ce2Sd8d92OdabMbfdbbNaedc8S811h", +" rdddedfdgdhdidj4u3p17189ydkdc5IcMbfdldmbM2McJbL2Pdn2Ta6dobYdpdqdrdsdtdudvbXdw3Qdxdy3ybYbK2Ud8d8d8cJcWaO2K8T8TbN7i6r6y6ydz1UdA7g", +"3kdBdCdDdEdFdGbydH2B0p1316166v191edIdcdJ2Jbf2523aadKdKcKbedLdMdNdOdPdQ4ZdRbW5QdSdTdUdVa9da2OcKdW7Z22255JbN6rdX6ydY1VdkdZ3p17dH14", +"d&e e0e1e2e37q1ne4 D0Cabe50v9x13806v9y4a4b815Iae6r6r5JbN2 20e6e7e8e9eaebecedeeefegd92523bf221&7i7i6y6y1X1Xeh1d194adAei3o480qej11", +"072vekelemdT0ven u L6s1Meoep477feq2l0reres1n3pbi2g4a1f1eet4bdceuevewcaexa 2O55ey3Ccg5Idcdc7heh4b1aez9yeA2ges3o149x130qeBe5eC2o1v"}; diff --git a/2009-x64/cps4.03/icons/cpscIncreaseSubdivisions.xpm b/2009-x64/cps4.03/icons/cpscIncreaseSubdivisions.xpm new file mode 100644 index 0000000..c102311 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscIncreaseSubdivisions.xpm @@ -0,0 +1,1193 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1166 2", +" c #717171", +" 0 c #707071", +" 1 c #706F70", +" 2 c #706F6F", +" 3 c #6F6E6F", +" 4 c #6D6E6E", +" 5 c #6C6D6D", +" 6 c #6C6B6C", +" 7 c #6B6B6B", +" 8 c #696969", +" 9 c #686868", +" a c #676768", +" b c #676566", +" c c #656567", +" d c #646464", +" e c #646463", +" f c #646364", +" g c #616162", +" h c #60605F", +" i c #605F61", +" j c #5E5E5E", +" k c #5C5D5E", +" l c #5E5D5E", +" m c #5B5C5B", +" n c #5C5C5B", +" o c #5A5C5B", +" p c #5A5A5B", +" q c #595959", +" r c #585858", +" s c #575758", +" t c #575757", +" u c #565856", +" v c #555655", +" w c #555455", +" x c #555555", +" y c #565654", +" z c #555554", +" A c #545455", +" B c #535453", +" C c #545453", +" D c #535355", +" E c #545354", +" F c #555354", +" G c #535354", +" H c #535454", +" I c #555454", +" J c #545555", +" K c #555657", +" L c #6A6B5D", +" M c #8C855C", +" N c #96955B", +" O c #8C8B58", +" P c #616157", +" Q c #575857", +" R c #585A58", +" S c #595958", +" T c #59585A", +" U c #6E6E6D", +" V c #6D6C6C", +" W c #6C6C6C", +" X c #6B6A6C", +" Y c #696869", +" Z c #686968", +" & c #686867", +"0 c #666867", +"00 c #666665", +"01 c #6A6A66", +"02 c #636263", +"03 c #60615F", +"04 c #5F6160", +"05 c #5F5E5F", +"06 c #5E5E5C", +"07 c #5C5C5D", +"08 c #5B5C5C", +"09 c #5A5959", +"0a c #595857", +"0b c #565857", +"0c c #555353", +"0d c #525353", +"0e c #525253", +"0f c #525152", +"0g c #525351", +"0h c #515151", +"0i c #515052", +"0j c #504F50", +"0k c #50504F", +"0l c #4F504F", +"0m c #555550", +"0n c #88794E", +"0o c #928F5F", +"0p c #7C7C61", +"0q c #6E684D", +"0r c #4F4F50", +"0s c #4F504E", +"0t c #505050", +"0u c #515050", +"0v c #525151", +"0w c #515153", +"0x c #6C6D62", +"0y c #B1A077", +"0z c #8E8A5A", +"0A c #6D6650", +"0B c #686553", +"0C c #7D7552", +"0D c #A58448", +"0E c #AB9C51", +"0F c #605B53", +"0G c #565656", +"0H c #565757", +"0I c #6B696A", +"0J c #696968", +"0K c #666667", +"0L c #656565", +"0M c #646565", +"0N c #706F62", +"0O c #A58E53", +"0P c #CAAF59", +"0Q c #C8A24F", +"0R c #C2A250", +"0S c #A89758", +"0T c #8A8060", +"0U c #6B6A5D", +"0V c #59595A", +"0W c #585959", +"0X c #575656", +"0Y c #555556", +"0Z c #535253", +"0& c #505152", +"1 c #504F4F", +"10 c #4F4F4F", +"11 c #4E4D4E", +"12 c #4E4E4D", +"13 c #4D4E4D", +"14 c #4D4D4D", +"15 c #4B4C4C", +"16 c #4C4C4D", +"17 c #4C4B4B", +"18 c #746D54", +"19 c #B59252", +"1a c #E3A33E", +"1b c #A18756", +"1c c #D0B861", +"1d c #E8AB31", +"1e c #D4A343", +"1f c #DEB847", +"1g c #A37737", +"1h c #796644", +"1i c #4B4D4C", +"1j c #4C4C4C", +"1k c #4D4C4C", +"1l c #4D4C4E", +"1m c #4D4E4F", +"1n c #747160", +"1o c #A48550", +"1p c #54504D", +"1q c #8C8D7A", +"1r c #FFFFAB", +"1s c #FFFE65", +"1t c #A58B43", +"1u c #535251", +"1v c #676450", +"1w c #C3AC4E", +"1x c #575552", +"1y c #555355", +"1z c #656566", +"1A c #646666", +"1B c #5F6060", +"1C c #907F54", +"1D c #9A824E", +"1E c #5D5C5D", +"1F c #5F5C59", +"1G c #A4905C", +"1H c #827C5B", +"1I c #87784D", +"1J c #AB964C", +"1K c #D9B047", +"1L c #E3B844", +"1M c #C3943C", +"1N c #B4A155", +"1O c #525251", +"1P c #4F4E4E", +"1Q c #4E4F4F", +"1R c #4C4D4D", +"1S c #4E4D4D", +"1T c #4D4C4B", +"1U c #4C4C4B", +"1V c #4A4B4B", +"1W c #4A4B4A", +"1X c #4A4A48", +"1Y c #49484A", +"1Z c #494848", +"1& c #484948", +"2 c #474847", +"20 c #474749", +"21 c #474848", +"22 c #6E674A", +"23 c #BC9342", +"24 c #DDAF43", +"25 c #937139", +"26 c #9A783C", +"27 c #8A713C", +"28 c #958956", +"29 c #7E734E", +"2a c #866D42", +"2b c #C7A145", +"2c c #F6D45B", +"2d c #B38B39", +"2e c #988E4A", +"2f c #494949", +"2g c #484949", +"2h c #494A4A", +"2i c #575550", +"2j c #AF9645", +"2k c #8F8F7A", +"2l c #FEFEA2", +"2m c #FFFB64", +"2n c #A37F3D", +"2o c #4F4E50", +"2p c #707052", +"2q c #A28B53", +"2r c #636364", +"2s c #626262", +"2t c #615F60", +"2u c #78715A", +"2v c #AE924B", +"2w c #6E6B57", +"2x c #5A595A", +"2y c #5A5A5A", +"2z c #585756", +"2A c #93835D", +"2B c #7C785C", +"2C c #786F4D", +"2D c #817149", +"2E c #9C8654", +"2F c #656353", +"2G c #9F9867", +"2H c #926E3D", +"2I c #4B4B4B", +"2J c #4A494A", +"2K c #484849", +"2L c #474748", +"2M c #474647", +"2N c #454644", +"2O c #454544", +"2P c #454645", +"2Q c #434444", +"2R c #444443", +"2S c #4F4C43", +"2T c #A38A4C", +"2U c #7E6038", +"2V c #5F5B46", +"2W c #B19A5C", +"2X c #544F40", +"2Y c #434343", +"2Z c #836E3E", +"2& c #E1B845", +"3 c #BC8C33", +"30 c #CBA344", +"31 c #AB8946", +"32 c #CF9B42", +"33 c #DA9C29", +"34 c #A98133", +"35 c #4A4744", +"36 c #464746", +"37 c #868662", +"38 c #6C5F45", +"39 c #6B6B61", +"3a c #787762", +"3b c #A4A17A", +"3c c #FEFF90", +"3d c #FEFB65", +"3e c #C19135", +"3f c #8F834E", +"3g c #9A8E4D", +"3h c #6F674B", +"3i c #BAA652", +"3j c #5E5E5F", +"3k c #62625E", +"3l c #99894F", +"3m c #87784E", +"3n c #595A5A", +"3o c #595858", +"3p c #575756", +"3q c #525252", +"3r c #9A8356", +"3s c #B4A051", +"3t c #84764D", +"3u c #B6B16B", +"3v c #735F40", +"3w c #6D5E41", +"3x c #464646", +"3y c #444343", +"3z c #424242", +"3A c #414142", +"3B c #414141", +"3C c #3F4140", +"3D c #3F403F", +"3E c #3E3F3F", +"3F c #3F3F3F", +"3G c #3F3E3E", +"3H c #3F3F3E", +"3I c #9F813E", +"3J c #817E54", +"3K c #6D5C3C", +"3L c #B38F3D", +"3M c #867343", +"3N c #7A7550", +"3O c #63553F", +"3P c #9E7C3E", +"3Q c #5E4F37", +"3R c #4B463E", +"3S c #C39D3C", +"3T c #92803D", +"3U c #C09D45", +"3V c #767050", +"3W c #9A7A3E", +"3X c #E3B849", +"3Y c #987C43", +"3Z c #AE9857", +"3& c #676856", +"4 c #FFFEC9", +"40 c #FEFEA5", +"41 c #FFFF94", +"42 c #FFFF76", +"43 c #FFE950", +"44 c #FECD43", +"45 c #FFC73F", +"46 c #FFC03C", +"47 c #A17C3F", +"48 c #A59F58", +"49 c #575047", +"4a c #5C5C5C", +"4b c #79735D", +"4c c #B79A48", +"4d c #6D6A55", +"4e c #545454", +"4f c #686049", +"4g c #7F7049", +"4h c #706349", +"4i c #9E9265", +"4j c #484748", +"4k c #B4B166", +"4l c #837954", +"4m c #856737", +"4n c #484641", +"4o c #41403F", +"4p c #3F4040", +"4q c #3D3E3E", +"4r c #3E3D3E", +"4s c #3D3D3D", +"4t c #3D3C3B", +"4u c #3B3B3A", +"4v c #3B3C3C", +"4w c #3C3B3C", +"4x c #3B3B3C", +"4y c #8D763C", +"4z c #765E36", +"4A c #B29D4B", +"4B c #534A36", +"4C c #6D5A37", +"4D c #585548", +"4E c #E0B44C", +"4F c #85632F", +"4G c #8A6C37", +"4H c #6B5F44", +"4I c #545144", +"4J c #897842", +"4K c #978049", +"4L c #AF7C30", +"4M c #AF963F", +"4N c #C2B259", +"4O c #70613D", +"4P c #E0972D", +"4Q c #615841", +"4R c #A89D53", +"4S c #65664D", +"4T c #FEFE75", +"4U c #FEFE72", +"4V c #FFFE64", +"4W c #FFFB59", +"4X c #FFE143", +"4Y c #FEC437", +"4Z c #FFBA33", +"4& c #FFB22E", +"5 c #9F753A", +"50 c #A69858", +"51 c #564F46", +"52 c #B9853C", +"53 c #D0BC6D", +"54 c #908352", +"55 c #997B45", +"56 c #988C4F", +"57 c #98914F", +"58 c #988D4E", +"59 c #8C8855", +"5a c #756E50", +"5b c #6E6B50", +"5c c #8D7B40", +"5d c #4A4A4A", +"5e c #474747", +"5f c #5B5143", +"5g c #AA8747", +"5h c #4F4F45", +"5i c #95915D", +"5j c #544F46", +"5k c #8F854F", +"5l c #876E3A", +"5m c #3D3C3C", +"5n c #3B3C3B", +"5o c #A99346", +"5p c #6B6542", +"5q c #383838", +"5r c #373837", +"5s c #383837", +"5t c #363636", +"5u c #363637", +"5v c #5C553C", +"5w c #8E7239", +"5x c #3C3735", +"5y c #86865E", +"5z c #6C6038", +"5A c #695B3D", +"5B c #8A6733", +"5C c #433B35", +"5D c #A0813B", +"5E c #4F4A39", +"5F c #424137", +"5G c #9F7A34", +"5H c #83753E", +"5I c #9E8E52", +"5J c #393B39", +"5K c #574834", +"5L c #936930", +"5M c #AD782D", +"5N c #7F6334", +"5O c #9F7332", +"5P c #A58E46", +"5Q c #5C543E", +"5R c #A68B42", +"5S c #9F823D", +"5T c #C39D38", +"5U c #FEE947", +"5V c #FFD137", +"5W c #C08127", +"5X c #896739", +"5Y c #846438", +"5Z c #615341", +"5& c #BA9E48", +"6 c #A87A38", +"60 c #655E54", +"61 c #A7A573", +"62 c #585654", +"63 c #505151", +"64 c #5B5649", +"65 c #BE9C41", +"66 c #8A835A", +"67 c #464545", +"68 c #434443", +"69 c #4B463F", +"6a c #A38340", +"6b c #99904D", +"6c c #43433F", +"6d c #46413B", +"6e c #B79A47", +"6f c #685940", +"6g c #C09A3F", +"6h c #FFBC41", +"6i c #A08A43", +"6j c #393934", +"6k c #323333", +"6l c #323433", +"6m c #766336", +"6n c #716E4A", +"6o c #323232", +"6p c #8B8645", +"6q c #B29349", +"6r c #A17430", +"6s c #3F3A32", +"6t c #323132", +"6u c #323231", +"6v c #917A32", +"6w c #746337", +"6x c #5F5235", +"6y c #545440", +"6z c #B7A144", +"6A c #444138", +"6B c #393837", +"6C c #393A39", +"6D c #AD8836", +"6E c #AC8939", +"6F c #9F7932", +"6G c #6A6340", +"6H c #977F46", +"6I c #3F3E3F", +"6J c #414040", +"6K c #8E8F52", +"6L c #FEE043", +"6M c #FEC933", +"6N c #996D2E", +"6O c #444644", +"6P c #464645", +"6Q c #74735E", +"6R c #877542", +"6S c #565555", +"6T c #9C763F", +"6U c #535353", +"6V c #665D4A", +"6W c #A58A54", +"6X c #595A52", +"6Y c #4C4E4C", +"6Z c #4D4B4C", +"6& c #77724E", +"7 c #6A6347", +"70 c #5D5746", +"71 c #968E5F", +"72 c #484944", +"73 c #403F3F", +"74 c #6C6442", +"75 c #81693B", +"76 c #7D693C", +"77 c #89763B", +"78 c #89793A", +"79 c #C29730", +"7a c #343534", +"7b c #C09437", +"7c c #F88C25", +"7d c #F7992B", +"7e c #DEA93F", +"7f c #5D5336", +"7g c #2F2F2E", +"7h c #302E2F", +"7i c #302F2F", +"7j c #76572E", +"7k c #9C914C", +"7l c #806936", +"7m c #AF8D3F", +"7n c #A27A32", +"7o c #3A3830", +"7p c #604F2D", +"7q c #755D2C", +"7r c #69522D", +"7s c #5E4F32", +"7t c #BC9538", +"7u c #796536", +"7v c #8A7A59", +"7w c #3B3632", +"7x c #737043", +"7y c #635E3C", +"7z c #373736", +"7A c #997A39", +"7B c #A6914D", +"7C c #71704A", +"7D c #7C5D30", +"7E c #927E3E", +"7F c #73673E", +"7G c #3E3E3E", +"7H c #8E8749", +"7I c #FFD942", +"7J c #FEC030", +"7K c #9E7636", +"7L c #61625B", +"7M c #AB8D41", +"7N c #484747", +"7O c #5F574F", +"7P c #8B6D44", +"7Q c #58524B", +"7R c #A58A57", +"7S c #5C5C54", +"7T c #4B4A4B", +"7U c #988D4C", +"7V c #464445", +"7W c #454445", +"7X c #484541", +"7Y c #A2955A", +"7Z c #4B4A46", +"7& c #3E3D3D", +"8 c #957638", +"80 c #3B3A3A", +"81 c #383839", +"82 c #353535", +"83 c #8B642C", +"84 c #BF9136", +"85 c #FFA02B", +"86 c #EF8F1F", +"87 c #F98F25", +"88 c #F5A232", +"89 c #967C3A", +"8a c #32312C", +"8b c #2C2C2C", +"8c c #9A7531", +"8d c #998743", +"8e c #4F452E", +"8f c #654824", +"8g c #927935", +"8h c #736635", +"8i c #2A2C2A", +"8j c #2C2B2B", +"8k c #2C2D2D", +"8l c #6B6036", +"8m c #7E6C37", +"8n c #7D733C", +"8o c #A5792E", +"8p c #684C27", +"8q c #53462F", +"8r c #605F41", +"8s c #7B733F", +"8t c #9F843B", +"8u c #4B4437", +"8v c #B09041", +"8w c #976A2C", +"8x c #3C3B3B", +"8y c #927B3D", +"8z c #A49342", +"8A c #686343", +"8B c #585040", +"8C c #524A3E", +"8D c #66654C", +"8E c #998B54", +"8F c #96764E", +"8G c #4A4743", +"8H c #464747", +"8I c #6F5C46", +"8J c #786749", +"8K c #4D4C4D", +"8L c #51504A", +"8M c #A0905B", +"8N c #5F5F54", +"8O c #75744C", +"8P c #575647", +"8Q c #404040", +"8R c #897951", +"8S c #84753F", +"8T c #695637", +"8U c #38383A", +"8V c #373838", +"8W c #363536", +"8X c #333434", +"8Y c #8B652C", +"8Z c #313131", +"8& c #BD8C30", +"9 c #FEA830", +"90 c #FFAE2F", +"91 c #F99924", +"92 c #E5801B", +"93 c #EC8520", +"94 c #D08E32", +"95 c #594E2D", +"96 c #9D8D53", +"97 c #8D8657", +"98 c #815A2A", +"99 c #282827", +"9a c #5C502B", +"9b c #51492B", +"9c c #8B7836", +"9d c #2A2A2A", +"9e c #2A2C2B", +"9f c #806D33", +"9g c #2F2D2E", +"9h c #A19043", +"9i c #5F593C", +"9j c #383631", +"9k c #52432B", +"9l c #7E5F2C", +"9m c #90682B", +"9n c #D8A738", +"9o c #926123", +"9p c #86773A", +"9q c #996D2B", +"9r c #3A3B3B", +"9s c #49433B", +"9t c #7F6D3A", +"9u c #9E8846", +"9v c #A48F42", +"9w c #806E42", +"9x c #4C473F", +"9y c #434544", +"9z c #464644", +"9A c #454646", +"9B c #8B6B3F", +"9C c #625A4F", +"9D c #4A4949", +"9E c #A78953", +"9F c #A19657", +"9G c #444646", +"9H c #434242", +"9I c #3E3E3F", +"9J c #3D3D3E", +"9K c #BE923D", +"9L c #645E4B", +"9M c #373637", +"9N c #363635", +"9O c #463E33", +"9P c #634E2E", +"9Q c #313030", +"9R c #BD8A2F", +"9S c #FEA32C", +"9T c #FFAD2F", +"9U c #FEAA2D", +"9V c #FEAD42", +"9W c #F9B54B", +"9X c #C17419", +"9Y c #493A26", +"9Z c #AA9048", +"9& c #BF8C3A", +"a c #5A4E30", +"a0 c #776132", +"a1 c #99702E", +"a2 c #6F5027", +"a3 c #735F2D", +"a4 c #BB9637", +"a5 c #685E35", +"a6 c #4A3C29", +"a7 c #404133", +"a8 c #73572C", +"a9 c #565034", +"aa c #716034", +"ab c #333132", +"ac c #3A3A39", +"ad c #8D7B44", +"ae c #7A6637", +"af c #4E4635", +"ag c #383939", +"ah c #B08633", +"ai c #3C3C3D", +"aj c #414241", +"ak c #414342", +"al c #464444", +"am c #454545", +"an c #94703E", +"ao c #515251", +"ap c #505150", +"aq c #4E4E4F", +"ar c #4A4A4B", +"as c #8C8647", +"at c #907848", +"au c #716B50", +"av c #444344", +"aw c #363737", +"ax c #373737", +"ay c #3C3B3D", +"az c #6C5D3E", +"aA c #6C5A3B", +"aB c #675F44", +"aC c #6F6A47", +"aD c #363736", +"aE c #765C31", +"aF c #3F3932", +"aG c #BF8B31", +"aH c #FFA42D", +"aI c #FFAD2D", +"aJ c #FFC156", +"aK c #EA9B32", +"aL c #86561E", +"aM c #2F2E2A", +"aN c #2B2C2B", +"aO c #867F50", +"aP c #B77C24", +"aQ c #A97B32", +"aR c #38372E", +"aS c #7C622E", +"aT c #2B2A2A", +"aU c #2A2B2B", +"aV c #39322C", +"aW c #CEAD50", +"aX c #6E6439", +"aY c #95803D", +"aZ c #342F28", +"a& c #20201F", +"b c #343228", +"b0 c #847031", +"b1 c #867332", +"b2 c #393633", +"b3 c #776030", +"b4 c #5C5446", +"b5 c #A58336", +"b6 c #3B3B3B", +"b7 c #3C3C3B", +"b8 c #3C3E3C", +"b9 c #404140", +"ba c #424141", +"bb c #434445", +"bc c #444645", +"bd c #A27B3C", +"be c #938852", +"bf c #807B51", +"bg c #908A51", +"bh c #94894E", +"bi c #8F844F", +"bj c #7D7347", +"bk c #D1C36A", +"bl c #4C4D49", +"bm c #7F6D4F", +"bn c #898158", +"bo c #302F30", +"bp c #262626", +"bq c #2D2D2F", +"br c #9D7B33", +"bs c #5C563F", +"bt c #766F4D", +"bu c #90672F", +"bv c #333335", +"bw c #333334", +"bx c #BE882F", +"by c #FFAE40", +"bz c #FBC055", +"bA c #CB8023", +"bB c #503F27", +"bC c #2F2E2F", +"bD c #2D2D2E", +"bE c #2E2E2E", +"bF c #857C47", +"bG c #B77829", +"bH c #3F362C", +"bI c #81743C", +"bJ c #937C37", +"bK c #2C2E2D", +"bL c #2D2E2D", +"bM c #585248", +"bN c #4C4237", +"bO c #99803A", +"bP c #986D28", +"bQ c #3C2F1F", +"bR c #1E1E1F", +"bS c #333329", +"bT c #897652", +"bU c #5B5740", +"bV c #262627", +"bW c #7A5B25", +"bX c #79795D", +"bY c #896F3A", +"bZ c #3C3C3C", +"b& c #3E3E3D", +"c c #40403F", +"c0 c #424342", +"c1 c #454444", +"c2 c #464647", +"c3 c #5C554F", +"c4 c #A58640", +"c5 c #55534F", +"c6 c #4B4B4C", +"c7 c #5B5C53", +"c8 c #7C7655", +"c9 c #948B52", +"ca c #51514E", +"cb c #6B5D47", +"cc c #847A52", +"cd c #383737", +"ce c #71623B", +"cf c #625437", +"cg c #2F2F2F", +"ch c #2C2C2B", +"ci c #242423", +"cj c #444033", +"ck c #887F45", +"cl c #8C6631", +"cm c #373635", +"cn c #353534", +"co c #C0862E", +"cp c #F2A732", +"cq c #8F6123", +"cr c #353431", +"cs c #313231", +"ct c #303032", +"cu c #303131", +"cv c #644C2B", +"cw c #9B7F3E", +"cx c #7D5424", +"cy c #B98E37", +"cz c #89783B", +"cA c #5C5A3B", +"cB c #897E57", +"cC c #232424", +"cD c #91732C", +"cE c #332D20", +"cF c #8E7937", +"cG c #967732", +"cH c #976D2B", +"cI c #694C27", +"cJ c #988557", +"cK c #433E36", +"cL c #8B692E", +"cM c #AC9144", +"cN c #816634", +"cO c #4C3F2F", +"cP c #403F40", +"cQ c #414041", +"cR c #434342", +"cS c #464745", +"cT c #474646", +"cU c #5A584E", +"cV c #A97E38", +"cW c #5B5A51", +"cX c #4E4E4E", +"cY c #4D4E4E", +"cZ c #898052", +"c& c #56544C", +"d c #494A49", +"d0 c #8C7C52", +"d1 c #4E4D40", +"d2 c #574A36", +"d3 c #958958", +"d4 c #96703E", +"d5 c #5E5E43", +"d6 c #76653E", +"d7 c #75603A", +"d8 c #6F6C3B", +"d9 c #79682E", +"da c #B6943B", +"db c #524B3B", +"dc c #3A3939", +"dd c #373738", +"de c #9D702C", +"df c #5B482C", +"dg c #353434", +"dh c #343434", +"di c #343333", +"dj c #3E3832", +"dk c #BF9442", +"dl c #644F31", +"dm c #C38C2C", +"dn c #483F32", +"do c #AB994E", +"dp c #8F7C44", +"dq c #9F9046", +"dr c #6F6230", +"ds c #4A391D", +"dt c #38372F", +"du c #665A37", +"dv c #797044", +"dw c #2D2D2D", +"dx c #635C45", +"dy c #81723D", +"dz c #AB7C2E", +"dA c #403D36", +"dB c #9F7F45", +"dC c #3A393A", +"dD c #414143", +"dE c #454344", +"dF c #444545", +"dG c #545554", +"dH c #535352", +"dI c #545350", +"dJ c #AF8B46", +"dK c #605E4E", +"dL c #9A9251", +"dM c #6E6749", +"dN c #63604D", +"dO c #936E37", +"dP c #7E6C44", +"dQ c #5B482D", +"dR c #484442", +"dS c #564E36", +"dT c #75642F", +"dU c #2E2C27", +"dV c #3C3D3D", +"dW c #3B3A3B", +"dX c #393A38", +"dY c #393838", +"dZ c #7D5725", +"d& c #7C6132", +"e c #A7893F", +"e0 c #907134", +"e1 c #958C54", +"e2 c #9D9355", +"e3 c #675A2D", +"e4 c #B8892F", +"e5 c #78714F", +"e6 c #605336", +"e7 c #242323", +"e8 c #63633F", +"e9 c #2A292A", +"ea c #2B2C2D", +"eb c #918754", +"ec c #79653B", +"ed c #977D3D", +"ee c #2F2E2B", +"ef c #2F2F30", +"eg c #323130", +"eh c #2B2B2B", +"ei c #414341", +"ej c #424243", +"ek c #424444", +"el c #484848", +"em c #484847", +"en c #57534F", +"eo c #A47D3E", +"ep c #656151", +"eq c #A19C62", +"er c #4D4B4B", +"es c #996A2E", +"et c #82754C", +"eu c #343435", +"ev c #383933", +"ew c #82784A", +"ex c #5B5539", +"ey c #333433", +"ez c #333332", +"eA c #313130", +"eB c #3D3C3E", +"eC c #3D3C3D", +"eD c #3A3B3A", +"eE c #3A3A3A", +"eF c #A17834", +"eG c #DEB650", +"eH c #A37F39", +"eI c #BD8F39", +"eJ c #D9C353", +"eK c #B8872B", +"eL c #83571F", +"eM c #A98B40", +"eN c #563E24", +"eO c #39332C", +"eP c #5E5F4B", +"eQ c #4E4A3C", +"eR c #2B2D2B", +"eS c #BA9740", +"eT c #9A833E", +"eU c #353531", +"eV c #30312F", +"eW c #353536", +"eX c #404141", +"eY c #444543", +"eZ c #444544", +"e& c #454546", +"f c #4A494B", +"f0 c #565556", +"f1 c #55544F", +"f2 c #A97D3C", +"f3 c #958E60", +"f4 c #605F55", +"f5 c #53524F", +"f6 c #524F4B", +"f7 c #865E2C", +"f8 c #595247", +"f9 c #7B7651", +"fa c #79734F", +"fb c #696248", +"fc c #7F703C", +"fd c #413E3A", +"fe c #363638", +"ff c #444244", +"fg c #2F2E30", +"fh c #3C3D3C", +"fi c #3D3D3C", +"fj c #837443", +"fk c #CBAD50", +"fl c #9B7C44", +"fm c #977936", +"fn c #946C32", +"fo c #7F6E39", +"fp c #B4AB73", +"fq c #706449", +"fr c #836D43", +"fs c #97804E", +"ft c #B5924B", +"fu c #97824C", +"fv c #C39A49", +"fw c #8D6323", +"fx c #2A2928", +"fy c #383938", +"fz c #323334", +"fA c #444444", +"fB c #585859", +"fC c #575855", +"fD c #AF863B", +"fE c #9A814A", +"fF c #7E7258", +"fG c #A87F33", +"fH c #7A6C45", +"fI c #B5A052", +"fJ c #AE9448", +"fK c #B59C4C", +"fL c #6B5F46", +"fM c #333331", +"fN c #313031", +"fO c #414242", +"fP c #424241", +"fQ c #404042", +"fR c #413F40", +"fS c #3F3F40", +"fT c #7C6942", +"fU c #E8D05D", +"fV c #BA791E", +"fW c #A48847", +"fX c #87723B", +"fY c #665A38", +"fZ c #383432", +"f& c #433D32", +"g c #947942", +"g0 c #453D31", +"g1 c #887B49", +"g2 c #926E36", +"g3 c #393B3A", +"g4 c #424140", +"g5 c #4B494B", +"g6 c #4D4D4C", +"g7 c #595A59", +"g8 c #585857", +"g9 c #917841", +"ga c #AA7A2E", +"gb c #927B45", +"gc c #737048", +"gd c #655B4B", +"ge c #4A4C4B", +"gf c #333333", +"gg c #3A3A3C", +"gh c #2F3030", +"gi c #434543", +"gj c #444242", +"gk c #76603B", +"gl c #876C36", +"gm c #6C5625", +"gn c #8F7031", +"go c #C1A358", +"gp c #846D39", +"gq c #B08D37", +"gr c #816536", +"gs c #85704A", +"gt c #645131", +"gu c #353636", +"gv c #3A3C3B", +"gw c #333533", +"gx c #393939", +"gy c #474746", +"gz c #444345", +"gA c #4F4F4E", +"gB c #5C5B5A", +"gC c #5B5B5A", +"gD c #585A5A", +"gE c #4E4F4E", +"gF c #494B4A", +"gG c #424240", +"gH c #494948", +"gI c #434143", +"gJ c #474947", +"gK c #2E2D2E", +"gL c #423931", +"gM c #65552F", +"gN c #74643B", +"gO c #615337", +"gP c #4F4943", +"gQ c #373937", +"gR c #343535", +"gS c #393938", +"gT c #39383A", +"gU c #4E4D4F", +"gV c #4F4E4F", +"gW c #515051", +"gX c #5D5E5D", +"gY c #5B5A5B", +"gZ c #3F3E40", +"g& c #464544", +"h c #4B4A4A", +"h0 c #4F514F", +"h1 c #4B4C4D", +"h2 c #494B4B", +"h3 c #494849", +"h4 c #333534", +"h5 c #333232", +"h6 c #373938", +"h7 c #373536", +"h8 c #363535", +"h9 c #383A39", +"ha c #505051", +"hb c #515152", +"hc c #525153", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r q s t u t v v w x y z A B C D E F G H z I G x x J K L M N O P Q R S T", +" U V W X Y Z &0 0001 d02030405 l060708 p090a q0b s z J0c B0d0e0f0g0f0h0i0j0k0l0m0n0o0p0q0r0k0j0s0t0u0h0v0w0x0y0z0A0B0C0D0E0F0G0H", +"0I0J a0K0L0M e0N0O0P0Q0R0S0T0U0V0W u0X0Y C B0Z0f0&0h1 1011121314131516171718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y", +"1z1A f02 g1B1C1D1E1F1G1H1I1J1K1L1M1N1O0h1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j15172k2l2m2n2o102p2q0h", +"2r2s2t j2u2v2w2x2y2z t2A2B2C2D2E2F2G2H1U2I2J2h2K2L2M2N2O2P2P2Q2Q2R2S2T2U2V2W2X2Y2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i0r", +"1B3j3k3l3m3n3o3p0X E3q0h3r3s122I3t3u3v3w3x2O2Q3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y2Y3Z3&4 40414243444546474849", +"4a4b4c4d r0G4e C1O0u0j4f4g4h4i1Z4j4k4l4m4n4o4p4q4r4s4t4u4v4u4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 5051", +" q52535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&2h", +" t6 606162630l121U646566366768696a6b6c6d6e6f5q6g6h6i6j6k6l6k6k6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R1Z", +"6S6T6U6V6W6X6Y6Z1W6&7 7071723B737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K3y7L7M7N2K", +"7O7P3q637Q7R7S7T1Z7U7V7W7X7Y7Z7&8 80815u82836o8485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H2L", +"8I8J0u108K8L8M8N8O8P7W2Y3B8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r4w9s9t9u9v9w9x3y9y9z9A", +"9B9C0u1Q111j9D9E9F9G689H4p9I9J9K9L5q9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagah4u4vai4r6I3Fajak3z2Oalam", +"anaoapaq16ar1WasatauavawaxayazaAaBaCaxaDaEaF6taGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b3b4agb5b6b7b87&3E3Fb9ba9Hbbbc8H", +"bdbebfbgbhbibjbkblbmbnbobpbqbr7i6ubsbt9MbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbY9mbZaib&b&c c bac02Yc1amc2", +"c3c4c51P13c6c7c8c9cacbcccdcecfcgchcicjckclcmcncocpcqcrcsct8ZcucvcwcxbocyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNcOai4s4rcP4pcQ3zcR2QbccScT", +" BcUcVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbdcdddedf828Xdgbvdhdidjdkdldmdndodpdqdrdsdtdudvdw82dxdydzdAdB8k7idC4p3B3zdD9HdEdFcTcT5e", +"dGdHdIdJdKcXdL1U1W2gdMdNdOdPdQdR3BdSdTdUdV8xdWdCdX818VdYax5raDdddZd&e e0e1e2e3e4e5e6e7e8e98beaebecedeeefegehc eiejekavam67elem1&", +" J6UdHeneoepeq14er1W82eset3xeuevewexeyezeA7GeB9JeC4x9r4u9reDeEeEdceFeGeHeIeJeKeLeMeNeOePeQb7eReSeTeUezeV5r7zeWeXeYeZe&2M211&1Zf ", +"f0 A A Hf1f2f3f4f5f6f7f8f9fafbfcfdfeffaDfgez4p3F3G3H9I7&7Gfh9J4sfieCfjfkflfmfnfofpfqfrfsftfufvfwfxfy4ucPfz3FbZezfA3x8H2g9D2J2I17", +"fB0G0Y A GfCfDfEfFfGfHfIfJfKfL9HfMeV2Oax6JfN6CavejfOfP6JcQfQ4peXfRfScPfTfUfVfWfXfYfZf&g g0g1g2g3cucg7&7Wamcng4el7zamd 2hg51j1jg6", +"g7 rg80X0Y4e4eg9gagbgcgdaq1Sg6ge36gfgg2g9J7Ngham3xdFc17W68gi68cRgj682Qejgkglgmgngogpgqgrgsgt8Qfigugvgwgxgyemdg9Dgzeydc2I1T13aqgA", +"gBgCgD q t t6S w821UdF3q1 0t12gEgFfhgGgH8x2fgIaD21gJel4jcT8Hc23x36673x363xamgKbpgLgMgNgOgP3xgQaidhgRgS9dgT3CfPai179D7z3DgUgV0lgW", +"gX08gY2y T0W s0GgZg&h 4e3q0v0ih0e&8Q2odW9A67h13x5q2f1W5dh2d d 2J1Xh32f2g1Z2fh45t5th5fyh67N3B80h79N5s3FeEh85th9gSdidEd 7zfAhahbhc"}; diff --git a/2009-x64/cps4.03/icons/cpscMergeLayer.xpm b/2009-x64/cps4.03/icons/cpscMergeLayer.xpm new file mode 100644 index 0000000..8bc7c10 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscMergeLayer.xpm @@ -0,0 +1,1402 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1375 2", +" c #727272", +" 0 c #939495", +" 1 c #959594", +" 2 c #908F8F", +" 3 c #898A89", +" 4 c #8A8A89", +" 5 c #838383", +" 6 c #7D7F7D", +" 7 c #7E7D7D", +" 8 c #787878", +" 9 c #737371", +" a c #727271", +" b c #6B6B6C", +" c c #656666", +" d c #656564", +" e c #636364", +" f c #636264", +" g c #626061", +" h c #606060", +" i c #5F605F", +" j c #6C6C6A", +" k c #6D6D6D", +" l c #6C6C6D", +" m c #6B6C6C", +" n c #6C6B6C", +" o c #6A6B6A", +" p c #696A6B", +" q c #686968", +" r c #696969", +" s c #6E6E6A", +" t c #6C6C6C", +" u c #6B6B6B", +" v c #6B6A6A", +" w c #696A67", +" x c #5C5C5B", +" y c #545455", +" z c #535354", +" A c #545453", +" B c #545454", +" C c #545554", +" D c #535455", +" E c #545354", +" F c #555455", +" G c #545355", +" H c #555354", +" I c #535355", +" J c #545555", +" K c #565655", +" L c #555556", +" M c #575557", +" N c #565756", +" O c #565758", +" P c #585757", +" Q c #575857", +" R c #595858", +" S c #585A59", +" T c #59595A", +" U c #76777B", +" V c #C2C3E6", +" W c #979ABD", +" X c #9698BC", +" Y c #9DA0C0", +" Z c #A2A3C6", +" & c #A7A9CA", +"0 c #BDBED6", +"00 c #E3E3B8", +"01 c #F3F273", +"02 c #DFE1C4", +"03 c #D2D3DA", +"04 c #BEC1D7", +"05 c #C0C2DC", +"06 c #D2D3E8", +"07 c #CDCEE2", +"08 c #CFD0E0", +"09 c #D8D9EA", +"0a c #7D7C7E", +"0b c #727570", +"0c c #D5EACF", +"0d c #B1CBAC", +"0e c #B3CAAE", +"0f c #B7CDB1", +"0g c #AFC8AC", +"0h c #AEC7A9", +"0i c #BAD1AE", +"0j c #DAE89B", +"0k c #D8E274", +"0l c #DCE677", +"0m c #B5CC9D", +"0n c #A3BC9C", +"0o c #A0BA9A", +"0p c #9CB797", +"0q c #94B08F", +"0r c #A1BC9A", +"0s c #808B7B", +"0t c #50504F", +"0u c #4F4F4F", +"0v c #4F4F50", +"0w c #504F4F", +"0x c #4F5050", +"0y c #4E504F", +"0z c #505050", +"0A c #505051", +"0B c #50514F", +"0C c #505150", +"0D c #515051", +"0E c #515152", +"0F c #525251", +"0G c #515253", +"0H c #525252", +"0I c #535254", +"0J c #535253", +"0K c #555453", +"0L c #555555", +"0M c #545655", +"0N c #565656", +"0O c #575655", +"0P c #565757", +"0Q c #75757A", +"0R c #B6B8DA", +"0S c #696B8E", +"0T c #454868", +"0U c #575A6D", +"0V c #808273", +"0W c #98997F", +"0X c #838376", +"0Y c #56576F", +"0Z c #909159", +"0& c #6B6971", +"1 c #7B7B69", +"10 c #B8B871", +"11 c #E5E55C", +"12 c #606272", +"13 c #505174", +"14 c #6D6E91", +"15 c #C8CAEB", +"16 c #87878D", +"17 c #717670", +"18 c #BFDBB8", +"19 c #668564", +"1a c #48694A", +"1b c #8CA250", +"1c c #8CA14A", +"1d c #91A547", +"1e c #859947", +"1f c #506E44", +"1g c #446243", +"1h c #879A3F", +"1i c #69814B", +"1j c #A6B367", +"1k c #ABB849", +"1l c #3D5A3D", +"1m c #405E40", +"1n c #7D9779", +"1o c #6D796A", +"1p c #474646", +"1q c #4B4C4B", +"1r c #4A4B4B", +"1s c #4B4B4C", +"1t c #4B4C4C", +"1u c #4C4C4B", +"1v c #4A4C4C", +"1w c #4B4B4B", +"1x c #4D4C4D", +"1y c #4C4B4C", +"1z c #4C4C4C", +"1A c #4D4D4D", +"1B c #4E4D4E", +"1C c #4E4E4E", +"1D c #4E504E", +"1E c #515150", +"1F c #515251", +"1G c #525153", +"1H c #525354", +"1I c #717175", +"1J c #B3B5D7", +"1K c #686B8B", +"1L c #94964C", +"1M c #E0E256", +"1N c #969767", +"1O c #51536B", +"1P c #47486A", +"1Q c #48496A", +"1R c #86865C", +"1S c #919074", +"1T c #A1A273", +"1U c #7F7E69", +"1V c #8E9055", +"1W c #4A4C6D", +"1X c #4A4B6D", +"1Y c #606284", +"1Z c #BCBEE1", +"1& c #777880", +"2 c #6B7069", +"20 c #B9D4B2", +"21 c #5B7B5B", +"22 c #436544", +"23 c #B3BD46", +"24 c #A1B060", +"25 c #658051", +"26 c #426142", +"27 c #496743", +"28 c #5A7547", +"29 c #AFBB3C", +"2a c #9FAD39", +"2b c #7F913E", +"2c c #AFBA2D", +"2d c #39573B", +"2e c #3B593D", +"2f c #7E9679", +"2g c #646E61", +"2h c #2E2E2F", +"2i c #464747", +"2j c #474647", +"2k c #484848", +"2l c #484747", +"2m c #484849", +"2n c #484948", +"2o c #494A49", +"2p c #4A494A", +"2q c #494B4B", +"2r c #4B4B4A", +"2s c #4C4B4B", +"2t c #4D4D4C", +"2u c #4E4D4D", +"2v c #4E4E4F", +"2w c #4E5050", +"2x c #515050", +"2y c #525353", +"2z c #6C6C70", +"2A c #AEB0D0", +"2B c #616283", +"2C c #414363", +"2D c #A0A254", +"2E c #4E5060", +"2F c #83855D", +"2G c #9C9C53", +"2H c #CFCF66", +"2I c #BABA6A", +"2J c #737068", +"2K c #47496A", +"2L c #464869", +"2M c #7A7B58", +"2N c #666671", +"2O c #494969", +"2P c #616484", +"2Q c #B7B9DD", +"2R c #72737A", +"2S c #626760", +"2T c #B1C9A6", +"2U c #5A7859", +"2V c #416141", +"2W c #7C9138", +"2X c #567044", +"2Y c #7A8E4B", +"2Z c #D1D64B", +"2& c #9DAE37", +"3 c #7E923B", +"30 c #93A33B", +"31 c #3B583C", +"32 c #48613C", +"33 c #94A435", +"34 c #385539", +"35 c #3D583D", +"36 c #799174", +"37 c #5E685C", +"38 c #1E1E1E", +"39 c #353535", +"3a c #434243", +"3b c #424242", +"3c c #434342", +"3d c #434443", +"3e c #434343", +"3f c #454445", +"3g c #444443", +"3h c #454546", +"3i c #444644", +"3j c #454747", +"3k c #464745", +"3l c #464647", +"3m c #484748", +"3n c #494848", +"3o c #494949", +"3p c #4A4A4A", +"3q c #4F4E4F", +"3r c #4F504E", +"3s c #6A686C", +"3t c #5E6080", +"3u c #3F415F", +"3v c #8E8E49", +"3w c #414361", +"3x c #424262", +"3y c #414463", +"3z c #A6A547", +"3A c #5A585C", +"3B c #817F5E", +"3C c #434465", +"3D c #434566", +"3E c #56595F", +"3F c #75755D", +"3G c #4B4C66", +"3H c #5B5D7D", +"3I c #B2B4D6", +"3J c #6D6D77", +"3K c #575B53", +"3L c #A9C2A2", +"3M c #547254", +"3N c #3D5C3D", +"3O c #5C723B", +"3P c #667F3C", +"3Q c #49633F", +"3R c #8F9D34", +"3S c #49633B", +"3T c #3A573B", +"3U c #8D9B36", +"3V c #385438", +"3W c #3B5436", +"3X c #8B9A3C", +"3Y c #365036", +"3Z c #3A553B", +"3& c #788F75", +"4 c #596357", +"40 c #1B1C1C", +"41 c #1F2020", +"42 c #3C3B3C", +"43 c #3F3E3D", +"44 c #3E3F3F", +"45 c #3E403F", +"46 c #403F3F", +"47 c #40403F", +"48 c #414141", +"49 c #424141", +"4a c #404141", +"4b c #424241", +"4c c #444343", +"4d c #444444", +"4e c #454645", +"4f c #474748", +"4g c #494A4A", +"4h c #646467", +"4i c #A2A4C4", +"4j c #5A5B7B", +"4k c #3C3F5D", +"4l c #808151", +"4m c #4A4B60", +"4n c #3F405E", +"4o c #444660", +"4p c #858655", +"4q c #3D3B47", +"4r c #999952", +"4s c #434662", +"4t c #4B4A63", +"4u c #404362", +"4v c #7D7D56", +"4w c #474862", +"4x c #5C5D7E", +"4y c #ABADD0", +"4z c #6C6C78", +"4A c #51554E", +"4B c #A4BD9E", +"4C c #567354", +"4D c #3B583B", +"4E c #39583B", +"4F c #7D913D", +"4G c #405C3A", +"4H c #6F8431", +"4I c #596F39", +"4J c #4D623B", +"4K c #A5B143", +"4L c #364B2B", +"4M c #192419", +"4N c #838E36", +"4O c #314C33", +"4P c #375037", +"4Q c #6B8368", +"4R c #545E50", +"4S c #19191A", +"4T c #191B1B", +"4U c #292A28", +"4V c #393A39", +"4W c #3B3B3B", +"4X c #3B3C3B", +"4Y c #3D3D3C", +"4Z c #7B7A7A", +"4& c #818081", +"5 c #818180", +"50 c #828181", +"51 c #888887", +"52 c #868688", +"53 c #959494", +"54 c #9B9A9A", +"55 c #99978F", +"56 c #9C9B6D", +"57 c #969797", +"58 c #9C9C9C", +"59 c #999897", +"5a c #9D9E9F", +"5b c #9D9E9D", +"5c c #9E9D9E", +"5d c #969595", +"5e c #5F5F63", +"5f c #9D9DBB", +"5g c #5C5E7A", +"5h c #3B3C5A", +"5i c #545452", +"5j c #6D6D51", +"5k c #3C3D5B", +"5l c #43445E", +"5m c #939359", +"5n c #A1A04E", +"5o c #838040", +"5p c #7B774C", +"5q c #878558", +"5r c #626461", +"5s c #86885F", +"5t c #434360", +"5u c #595B79", +"5v c #A6A9C9", +"5w c #696977", +"5x c #4E4F4A", +"5y c #9DB597", +"5z c #526E50", +"5A c #375638", +"5B c #839237", +"5C c #3A5537", +"5D c #677C3F", +"5E c #A7B33F", +"5F c #919F46", +"5G c #717927", +"5H c #676E38", +"5I c #4E5439", +"5J c #697225", +"5K c #2E472F", +"5L c #324C34", +"5M c #697F65", +"5N c #51584E", +"5O c #434325", +"5P c #8B7630", +"5Q c #1C1B1B", +"5R c #343333", +"5S c #373737", +"5T c #373838", +"5U c #383938", +"5V c #3A3A39", +"5W c #8E8E8E", +"5X c #E6E5E7", +"5Y c #B3B2B3", +"5Z c #ACACAC", +"5& c #A7A7A7", +"6 c #A3A3A2", +"60 c #9D9D9D", +"61 c #BABA91", +"62 c #CCCB85", +"63 c #BFBD74", +"64 c #D2D264", +"65 c #B1B296", +"66 c #8D8E88", +"67 c #8A8A8A", +"68 c #868786", +"69 c #808180", +"6a c #AFAFAF", +"6b c #5C5C5C", +"6c c #5C5C5F", +"6d c #9898B6", +"6e c #555774", +"6f c #383A57", +"6g c #383957", +"6h c #9C9C54", +"6i c #787973", +"6j c #85856D", +"6k c #57565A", +"6l c #646329", +"6m c #34344E", +"6n c #232436", +"6o c #404258", +"6p c #989872", +"6q c #CBCC59", +"6r c #4F4E5C", +"6s c #575976", +"6t c #A3A5C4", +"6u c #676874", +"6v c #484B45", +"6w c #97AE92", +"6x c #4A6549", +"6y c #365135", +"6z c #364F34", +"6A c #CCD14B", +"6B c #919D3F", +"6C c #6C7F3A", +"6D c #7E8B2B", +"6E c #3A4E2E", +"6F c #1B2B1C", +"6G c #172416", +"6H c #526033", +"6I c #C6C755", +"6J c #667429", +"6K c #314832", +"6L c #657A62", +"6M c #515649", +"6N c #494925", +"6O c #FCC641", +"6P c #CE9B38", +"6Q c #514933", +"6R c #343334", +"6S c #343535", +"6T c #353635", +"6U c #373735", +"6V c #939392", +"6W c #DCDDDD", +"6X c #7D7F7F", +"6Y c #C1C278", +"6Z c #A9A75D", +"6& c #9C9B61", +"7 c #858261", +"70 c #696763", +"71 c #726E62", +"72 c #A4A34C", +"73 c #5C5C5D", +"74 c #939270", +"75 c #D0D063", +"76 c #787852", +"77 c #717271", +"78 c #ACACAD", +"79 c #4E4F4E", +"7a c #595A5C", +"7b c #9394B1", +"7c c #525570", +"7d c #363854", +"7e c #373853", +"7f c #C0C148", +"7g c #8F9061", +"7h c #6D6C5F", +"7i c #313245", +"7j c #878536", +"7k c #444258", +"7l c #6D6D59", +"7m c #7E7C58", +"7n c #53515B", +"7o c #3A3A59", +"7p c #393B57", +"7q c #535473", +"7r c #9B9EBC", +"7s c #646470", +"7t c #43453F", +"7u c #92A68B", +"7v c #4C664C", +"7w c #334F33", +"7x c #324C33", +"7y c #526735", +"7z c #7A8B4E", +"7A c #586B3F", +"7B c #838C29", +"7C c #304026", +"7D c #4E5B33", +"7E c #797E36", +"7F c #767C30", +"7G c #5D6A2B", +"7H c #3F4A19", +"7I c #2C412B", +"7J c #5C7159", +"7K c #4E5142", +"7L c #484824", +"7M c #FAB538", +"7N c #FFB035", +"7O c #F9B43A", +"7P c #927435", +"7Q c #313232", +"7R c #323432", +"7S c #353333", +"7T c #929392", +"7U c #D9D8D9", +"7V c #7A7A79", +"7W c #716F68", +"7X c #C1BB60", +"7Y c #A5A57C", +"7Z c #767668", +"7& c #858362", +"8 c #C3C152", +"80 c #9D9D4B", +"81 c #939251", +"82 c #B0B04E", +"83 c #5B5C54", +"84 c #565554", +"85 c #6F706F", +"86 c #A9A9A9", +"87 c #3E3D3F", +"88 c #8B8DA8", +"89 c #656783", +"8a c #5B5E7A", +"8b c #585976", +"8c c #5F607D", +"8d c #5D5E79", +"8e c #767777", +"8f c #878751", +"8g c #D8D838", +"8h c #A2A177", +"8i c #6E707B", +"8j c #3E3E4D", +"8k c #545871", +"8l c #5E607C", +"8m c #5A5B78", +"8n c #626480", +"8o c #979BB8", +"8p c #5F5F6C", +"8q c #41433F", +"8r c #8CA085", +"8s c #60775D", +"8t c #566F54", +"8u c #536B50", +"8v c #556B52", +"8w c #51664F", +"8x c #7D8F5E", +"8y c #D7DB44", +"8z c #8A902F", +"8A c #687036", +"8B c #2D372A", +"8C c #324031", +"8D c #2C392B", +"8E c #3A4B37", +"8F c #2D3B2C", +"8G c #5B6D59", +"8H c #42463C", +"8I c #484724", +"8J c #F0A32E", +"8K c #FDAA2E", +"8L c #FEB334", +"8M c #FEAF36", +"8N c #CC9235", +"8O c #4A4231", +"8P c #323232", +"8Q c #909090", +"8R c #D4D3D5", +"8S c #656565", +"8T c #A29E56", +"8U c #787563", +"8V c #969368", +"8W c #E1E144", +"8X c #A9A94F", +"8Y c #8A884F", +"8Z c #A6A256", +"8& c #595859", +"9 c #848446", +"90 c #64624F", +"91 c #6A6A68", +"92 c #A6A6A5", +"93 c #3E3E3E", +"94 c #514F4F", +"95 c #38383D", +"96 c #43444B", +"97 c #44444A", +"98 c #42444B", +"99 c #45454C", +"9a c #44444B", +"9b c #414249", +"9c c #3B3A3D", +"9d c #585934", +"9e c #4B4A4A", +"9f c #44454B", +"9g c #3E3E44", +"9h c #414047", +"9i c #48474D", +"9j c #44444C", +"9k c #43434B", +"9l c #42434A", +"9m c #27272A", +"9n c #292A29", +"9o c #3E443E", +"9p c #3A3E38", +"9q c #393C36", +"9r c #393E36", +"9s c #363D35", +"9t c #393C35", +"9u c #363A34", +"9v c #585A28", +"9w c #313528", +"9x c #2A2C25", +"9y c #2B2D27", +"9z c #2B2E27", +"9A c #262822", +"9B c #2B2E29", +"9C c #272A25", +"9D c #2F342E", +"9E c #1A1919", +"9F c #464422", +"9G c #F9B132", +"9H c #FAA128", +"9I c #FEBC36", +"9J c #FEB231", +"9K c #FBA830", +"9L c #F3A936", +"9M c #7B6132", +"9N c #8F8F90", +"9O c #D2D3D3", +"9P c #757474", +"9Q c #636362", +"9R c #8C895D", +"9S c #908B59", +"9T c #5E5E5E", +"9U c #B8B73D", +"9V c #5C5A5B", +"9W c #979651", +"9X c #615E55", +"9Y c #62623C", +"9Z c #656433", +"9& c #A2A1A1", +"a c #3C3B3A", +"a0 c #4F5150", +"a1 c #625F5F", +"a2 c #6D6B6A", +"a3 c #757070", +"a4 c #747171", +"a5 c #746F70", +"a6 c #736E6E", +"a7 c #464142", +"a8 c #5D5740", +"a9 c #71725A", +"aa c #716E6F", +"ab c #716F6F", +"ac c #706E6E", +"ad c #6E6B6A", +"ae c #665D5C", +"af c #706D6D", +"ag c #6E6E6C", +"ah c #6F6C6D", +"ai c #2F2D2D", +"aj c #343534", +"ak c #6D6C6F", +"al c #6B686D", +"am c #6C676D", +"an c #6B666B", +"ao c #6C666B", +"ap c #6A656B", +"aq c #645E65", +"ar c #49434B", +"as c #726D4C", +"at c #544F3F", +"au c #5C555C", +"av c #5D575F", +"aw c #635E64", +"ax c #4A444B", +"ay c #615A62", +"az c #4F4950", +"aA c #252124", +"aB c #473719", +"aC c #F8A029", +"aD c #FEB331", +"aE c #FFBB35", +"aF c #FFCC62", +"aG c #FBC368", +"aH c #BD7421", +"aI c #463A2E", +"aJ c #8F9191", +"aK c #CCCCCC", +"aL c #747372", +"aM c #5E5F5F", +"aN c #65635E", +"aO c #969455", +"aP c #ADA849", +"aQ c #5C5B59", +"aR c #7D7A56", +"aS c #BDBB56", +"aT c #979553", +"aU c #4F4E38", +"aV c #6B6B2E", +"aW c #676667", +"aX c #9F9EA0", +"aY c #393839", +"aZ c #5D5B5A", +"a& c #D0AEB0", +"b c #A37F80", +"b0 c #977373", +"b1 c #997575", +"b2 c #9B7877", +"b3 c #846666", +"b4 c #817753", +"b5 c #B8A866", +"b6 c #CFC15D", +"b7 c #BFA464", +"b8 c #CBB473", +"b9 c #D5BA72", +"ba c #E9DA99", +"bb c #745956", +"bc c #92726F", +"bd c #A38080", +"be c #D9B3B3", +"bf c #7A7372", +"bg c #4D484F", +"bh c #C4A7C7", +"bi c #917494", +"bj c #8B6E8D", +"bk c #8C6E8C", +"bl c #8A6D8B", +"bm c #927690", +"bn c #A49673", +"bo c #9A8D49", +"bp c #A19631", +"bq c #9E8D65", +"br c #AA9A7D", +"bs c #836E77", +"bt c #705B6E", +"bu c #564457", +"bv c #594659", +"bw c #816982", +"bx c #4A4044", +"by c #483D1C", +"bz c #E99424", +"bA c #FDAC33", +"bB c #FECB6C", +"bC c #EDA645", +"bD c #815723", +"bE c #303030", +"bF c #969696", +"bG c #C9CAC9", +"bH c #70706F", +"bI c #63635D", +"bJ c #B7B15E", +"bK c #8D8A57", +"bL c #C3C146", +"bM c #9A9754", +"bN c #7F7D4E", +"bO c #57564B", +"bP c #595547", +"bQ c #999878", +"bR c #51514F", +"bS c #908E43", +"bT c #3B3B3A", +"bU c #535351", +"bV c #979797", +"bW c #373637", +"bX c #5C5A58", +"bY c #C6A5A5", +"bZ c #846463", +"b& c #5C3C3B", +"c c #715550", +"c0 c #957F5C", +"c1 c #827637", +"c2 c #473528", +"c3 c #62433D", +"c4 c #A28F3A", +"c5 c #6B4741", +"c6 c #846A4F", +"c7 c #AB995D", +"c8 c #B6A639", +"c9 c #73503F", +"ca c #422A2A", +"cb c #6C4E4E", +"cc c #D4B0B0", +"cd c #7A6F70", +"ce c #4C474D", +"cf c #BCA0BE", +"cg c #6A4C6A", +"ch c #563955", +"ci c #B4A267", +"cj c #9E8B61", +"ck c #8C775A", +"cl c #392B26", +"cm c #2E1F29", +"cn c #43341F", +"co c #756043", +"cp c #654C54", +"cq c #C0B458", +"cr c #CCBC3B", +"cs c #472E46", +"ct c #322031", +"cu c #79627A", +"cv c #62545B", +"cw c #484421", +"cx c #FAC044", +"cy c #FBC268", +"cz c #BC7720", +"cA c #493C2B", +"cB c #313031", +"cC c #323233", +"cD c #979795", +"cE c #C2C0C1", +"cF c #59595B", +"cG c #585959", +"cH c #D5D46D", +"cI c #979564", +"cJ c #87874E", +"cK c #77724B", +"cL c #4E4C47", +"cM c #393835", +"cN c #343436", +"cO c #39393A", +"cP c #A3A467", +"cQ c #D8D84A", +"cR c #4C4D4D", +"cS c #838483", +"cT c #383738", +"cU c #5A5757", +"cV c #C0A1A1", +"cW c #795A5A", +"cX c #98823D", +"cY c #DFD957", +"cZ c #9A8745", +"c& c #594D33", +"d c #5F453D", +"d0 c #6B4943", +"d1 c #A79453", +"d2 c #B6A65F", +"d3 c #836843", +"d4 c #68463F", +"d5 c #957D36", +"d6 c #603F3E", +"d7 c #3F2A28", +"d8 c #493736", +"d9 c #CEABAB", +"da c #7D7272", +"db c #524C51", +"dc c #B295B3", +"dd c #694E6A", +"de c #553753", +"df c #B49B40", +"dg c #988365", +"dh c #81696C", +"di c #3E2839", +"dj c #35232F", +"dk c #605830", +"dl c #C2B142", +"dm c #87754A", +"dn c #4E3647", +"do c #957E30", +"dp c #482E47", +"dq c #452F44", +"dr c #554557", +"ds c #5E515A", +"dt c #4A4521", +"du c #EBA428", +"dv c #754C18", +"dw c #312F2F", +"dx c #323131", +"dy c #343434", +"dz c #979697", +"dA c #BEBFC0", +"dB c #6A6A6B", +"dC c #575757", +"dD c #595A59", +"dE c #585857", +"dF c #7D7E70", +"dG c #878866", +"dH c #767638", +"dI c #3A3A34", +"dJ c #6C6B39", +"dK c #97954D", +"dL c #908F57", +"dM c #666742", +"dN c #707143", +"dO c #4A4B4A", +"dP c #878787", +"dQ c #323433", +"dR c #595857", +"dS c #BA9D9B", +"dT c #785859", +"dU c #573838", +"dV c #AA9A3C", +"dW c #3D2829", +"dX c #5C4925", +"dY c #8E763F", +"dZ c #F1E947", +"d& c #9C912A", +"e c #73543F", +"e0 c #5A3B3B", +"e1 c #5E3E3B", +"e2 c #705335", +"e3 c #7E673C", +"e4 c #35241F", +"e5 c #463334", +"e6 c #C4A3A3", +"e7 c #7A6C6B", +"e8 c #524D52", +"e9 c #AC93B1", +"ea c #654865", +"eb c #513451", +"ec c #867441", +"ed c #563A50", +"ee c #705457", +"ef c #D8C852", +"eg c #A49C41", +"eh c #57482A", +"ei c #857235", +"ej c #432B42", +"ek c #9C893A", +"el c #462F46", +"em c #49314A", +"en c #69546A", +"eo c #473E46", +"ep c #2F2E1F", +"eq c #372918", +"er c #1D1B1D", +"es c #303130", +"et c #373536", +"eu c #353636", +"ev c #6F6D6F", +"ew c #AAAAA9", +"ex c #919091", +"ey c #919090", +"ez c #A09F6E", +"eA c #E5E333", +"eB c #9A995C", +"eC c #757659", +"eD c #858685", +"eE c #767776", +"eF c #686768", +"eG c #767678", +"eH c #757675", +"eI c #8C8B8C", +"eJ c #323133", +"eK c #595655", +"eL c #B39597", +"eM c #745556", +"eN c #533736", +"eO c #9F912E", +"eP c #2C1D1C", +"eQ c #332121", +"eR c #5A3C39", +"eS c #968033", +"eT c #4A3B26", +"eU c #8E7638", +"eV c #563838", +"eW c #624139", +"eX c #563938", +"eY c #7B652F", +"eZ c #33221C", +"e& c #4E3738", +"f c #C0A0A0", +"f0 c #77696A", +"f1 c #4C474B", +"f2 c #A68EAA", +"f3 c #664A66", +"f4 c #4D334D", +"f5 c #695144", +"f6 c #7A654B", +"f7 c #55384C", +"f8 c #7F6939", +"f9 c #58453D", +"fa c #382534", +"fb c #81762B", +"fc c #2B1B2A", +"fd c #3F293F", +"fe c #937F33", +"ff c #462D44", +"fg c #483149", +"fh c #786179", +"fi c #4C444C", +"fj c #1B1A1B", +"fk c #1B1B1B", +"fl c #282827", +"fm c #393937", +"fn c #383839", +"fo c #383939", +"fp c #262626", +"fq c #1F1F20", +"fr c #202021", +"fs c #222222", +"ft c #232322", +"fu c #252626", +"fv c #262727", +"fw c #333226", +"fx c #2A292A", +"fy c #2C2B2C", +"fz c #2C2D2C", +"fA c #2D2D2E", +"fB c #2F3030", +"fC c #313030", +"fD c #333533", +"fE c #262627", +"fF c #565555", +"fG c #AE9191", +"fH c #735657", +"fI c #503535", +"fJ c #7C6C27", +"fK c #403221", +"fL c #533534", +"fM c #705533", +"fN c #978A35", +"fO c #CCC041", +"fP c #937E3C", +"fQ c #8D713D", +"fR c #6E4E3A", +"fS c #95852E", +"fT c #39271E", +"fU c #604343", +"fV c #BA9A99", +"fW c #736765", +"fX c #474347", +"fY c #A189A3", +"fZ c #5E455F", +"f& c #4B324A", +"g c #4A3149", +"g0 c #82713B", +"g1 c #54384A", +"g2 c #5A4243", +"g3 c #7F6A38", +"g4 c #82713E", +"g5 c #CBC43C", +"g6 c #6B6033", +"g7 c #3C282F", +"g8 c #856D35", +"g9 c #513A48", +"ga c #483046", +"gb c #755F77", +"gc c #574D59", +"gd c #1C1D1B", +"ge c #1C1C1D", +"gf c #2F2E2D", +"gg c #3A3A3A", +"gh c #3C3B3B", +"gi c #3C3C3D", +"gj c #363836", +"gk c #202122", +"gl c #1F1F1F", +"gm c #20201F", +"gn c #212121", +"go c #212022", +"gp c #232223", +"gq c #222323", +"gr c #232323", +"gs c #242423", +"gt c #232525", +"gu c #242525", +"gv c #252525", +"gw c #262726", +"gx c #A78A8A", +"gy c #6E5253", +"gz c #4D3333", +"gA c #402F1F", +"gB c #786928", +"gC c #392525", +"gD c #645234", +"gE c #9F8F4F", +"gF c #968633", +"gG c #3B2723", +"gH c #472E29", +"gI c #715337", +"gJ c #9F8E4B", +"gK c #EDE948", +"gL c #413025", +"gM c #644848", +"gN c #B09291", +"gO c #6E6262", +"gP c #4B474B", +"gQ c #9B829C", +"gR c #5B435B", +"gS c #482F47", +"gT c #482E48", +"gU c #97893C", +"gV c #61474B", +"gW c #8F7B53", +"gX c #BAA93B", +"gY c #5C423E", +"gZ c #302026", +"g& c #3A2D23", +"h c #786944", +"h0 c #88773D", +"h1 c #76643F", +"h2 c #442E45", +"h3 c #735F76", +"h4 c #534B54", +"h5 c #1D1E1E", +"h6 c #252424", +"h7 c #3D3E3D", +"h8 c #3E3C3E", +"h9 c #3B3C3C", +"ha c #3E3E3F", +"hb c #2D2E2F", +"hc c #202020", +"hd c #212021", +"he c #222122", +"hf c #222321", +"hg c #242323", +"hh c #242523", +"hi c #252425", +"hj c #262524", +"hk c #262526", +"hl c #252625", +"hm c #282728", +"hn c #585758", +"ho c #A08585", +"hp c #6D5152", +"hq c #4C3030", +"hr c #432A2B", +"hs c #AEA53C", +"ht c #928559", +"hu c #5D4D37", +"hv c #3C2628", +"hw c #938528", +"hx c #402A2A", +"hy c #342121", +"hz c #8F7E44", +"hA c #7F6A46", +"hB c #2F1E1D", +"hC c #3C2727", +"hD c #614746", +"hE c #A78988", +"hF c #695E5D", +"hG c #454347", +"hH c #947D97", +"hI c #5B425A", +"hJ c #462D45", +"hK c #462C45", +"hL c #DCD54E", +"hM c #96874F", +"hN c #442B42", +"hO c #907F2F", +"hP c #3F2A3E", +"hQ c #211520", +"hR c #221621", +"hS c #675B3E", +"hT c #9D9430", +"hU c #918127", +"hV c #402A41", +"hW c #6D5870", +"hX c #514854", +"hY c #1E201F", +"hZ c #212020", +"h& c #393A38", +"i c #3F4141", +"i0 c #414040", +"i1 c #3C3E3C", +"i2 c #2C2C2B", +"i3 c #3B3A3A", +"i4 c #252524", +"i5 c #222322", +"i6 c #232222", +"i7 c #242223", +"i8 c #232423", +"i9 c #252426", +"ia c #262725", +"ib c #272626", +"ic c #272627", +"id c #272628", +"ie c #272827", +"if c #282929", +"ig c #595759", +"ih c #998180", +"ii c #654B4B", +"ij c #492F2F", +"ik c #492E2E", +"il c #ADA02A", +"im c #776C35", +"in c #817242", +"io c #5C4C33", +"ip c #817225", +"iq c #725D3D", +"ir c #8F8137", +"is c #452F2A", +"it c #452D2E", +"iu c #2B1D1D", +"iv c #412A2B", +"iw c #5E4243", +"ix c #A08584", +"iy c #645959", +"iz c #494749", +"iA c #8D7891", +"iB c #564157", +"iC c #422C41", +"iD c #412B41", +"iE c #422B40", +"iF c #6B5950", +"iG c #837268", +"iH c #A0902D", +"iI c #392439", +"iJ c #68603A", +"iK c #7F7636", +"iL c #493D25", +"iM c #2D1E2C", +"iN c #332133", +"iO c #412C40", +"iP c #6E596F", +"iQ c #4E4550", +"iR c #222221", +"iS c #2F2E2F", +"iT c #434242", +"iU c #404041", +"iV c #282727", +"iW c #2A2A2A", +"iX c #383A39", +"iY c #363736", +"iZ c #2E2D2D", +"i& c #2A2A2C", +"j c #272928", +"j0 c #272729", +"j1 c #262425", +"j2 c #242526", +"j3 c #272927", +"j4 c #282928", +"j5 c #5A595A", +"j6 c #8D7676", +"j7 c #765D5E", +"j8 c #705756", +"j9 c #745C5B", +"ja c #715A59", +"jb c #503F3F", +"jc c #5F4B4B", +"jd c #645543", +"je c #C9BE3A", +"jf c #B9AD4F", +"jg c #7C6464", +"jh c #645151", +"ji c #634E50", +"jj c #4F4140", +"jk c #776160", +"jl c #776262", +"jm c #806A6A", +"jn c #413C3B", +"jo c #7B687E", +"jp c #6C576D", +"jq c #6A566B", +"jr c #655166", +"js c #614D62", +"jt c #655168", +"ju c #705F66", +"jv c #D8D353", +"jw c #A19B44", +"jx c #4D403E", +"jy c #503F50", +"jz c #453744", +"jA c #433745", +"jB c #473846", +"jC c #5A485A", +"jD c #665669", +"jE c #423B42", +"jF c #2C2B2B", +"jG c #3E3D3E", +"jH c #3A3B3B", +"jI c #464645", +"jJ c #454646", +"jK c #404040", +"jL c #2B2A29", +"jM c #242425", +"jN c #353736", +"jO c #424342", +"jP c #3B3B39", +"jQ c #302F2F", +"jR c #2B2B2B", +"jS c #272828", +"jT c #282927", +"jU c #292928", +"jV c #292929", +"jW c #2A2B2A", +"jX c #2A2B2B", +"jY c #5B5A5B", +"jZ c #343133", +"j& c #3A3636", +"k c #393435", +"k0 c #353334", +"k1 c #353331", +"k2 c #322F30", +"k3 c #312F2E", +"k4 c #2F2E2E", +"k5 c #2F2C2C", +"k6 c #2D2B2C", +"k7 c #2A2929", +"k8 c #262525", +"k9 c #434142", +"ka c #292727", +"kb c #282627", +"kc c #262527", +"kd c #393A24", +"ke c #262625", +"kf c #272426", +"kg c #252526", +"kh c #242325", +"ki c #232324", +"kj c #2D2D2C", +"kk c #3F3F3D", +"kl c #3A3939", +"km c #3F3F3F", +"kn c #292828", +"ko c #363637", +"kp c #3C3C3B", +"kq c #2F302F", +"kr c #2B2C2B", +"ks c #292B2A", +"kt c #2A2A2B", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s k l t u v w x y z y A B C D E E F B G H I J K L L K M N O P Q R S T", +" U V W X Y Z &0 000102030405060708090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0t0u0v0w0x0t0y0z0z0u0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P", +"0Q0R0S0T0U0V0W0X0Y0Z0&1 101112131415161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1r1t1u1v1w1x1y1z1z1A1B1C1C1D0u0z1E1F0E1G1H B0K", +"1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i1p2j2j2i2i2k2l2l2m2n2o2p2q2r1u2s2t1B2u2v2w0w2x1F2y", +"2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3c3d3e3f3g3h3i3j3k3l3m3n3o2p3p1t1z1A1B2v3q3r", +"3s &3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142434445464748494a4b3c4c4d3f4e1p1p4f2m3o4g1w1z1x1A", +"4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4W4Y3c4Z4&5 505152535455565758595a5b5c5d2x", +"5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A3V5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 6061626364656667684&696a6b", +"6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X r6Y6Z6&7 707172737475760P777879", +"7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z g i7&8 8081828384858687", +"0P88898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R4Z8S8T8U8V8W8X8Y8Z8&0L9 90 B919293", +"9495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V T9W9X4g9Y9Z0u r9&a ", +"a0a1a2a3a4a5a6a7a8a9aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaO6baPaQaRaSaT39aUaV4WaWaXaY", +"aZa&b b0b1b2b3b4b5b6b7b8b9babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbBbCbDbE7QbFbGbH73bIbJbKbLbMbNbObPbQbRbSbTbUbVbW", +"bXbYbZb&c c0c1c2c3c4c5c6c7c8c9cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczcAcB8PcCcDcE mcFcGcHcIcJcKcLcMcNcOcPcQcR RcScT", +"cUcVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdx8P5RdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdO73dPdQ", +"dRdSdTdUdVdWdXdYdZd&e e0e1e2e3e4e5e6e7e8e9eaebecedeeefegeheiejdpekelemeneoepeqeresaj39eteuevewexey7T7T 4ezeAeBeCeD 5eEeFeGeHeIeJ", +"eKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe&f f0f1f2f3f4f5f6f7f8f9fafbfcfdfefffgfhfifjfkfl7R5S5TfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCcCfD7QfE", +"fFfGfHfIfJfKePfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf&g g0g1g2g3g4g5g6g7g8g9gagbgcgdgegf4Vgg4Wgh4Xgigjgk38glgmgmgngofsgpgqgrgsgtgugvfpgw", +"fFgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg&h h0h1h2h3h438h5h64Wh7h893bTh9hahbhcfrhdgnhehfgqgrhghhhihjhkhlfEhm", +"hnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYfqhZh&i 47i0i1i2hai3i4i5i5i6i7hgi8hii9hliaibicidieif", +"igihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQfriRftiSi0iT3eiUiViWiXiYiZi&j j0j1j2fugwfEibiVj3j4j49n", +"j5j6j7j8j9jajbjcjdjejfjgjhjijjjkjljmjn3ajojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEi5grjFjGjHjIjJjKjLjMgwfzjNjO47jPjQjRfxiejSjTjUfxjVjWjX", +"jYjZj&k k0k1k2k3k4k5k69nk7ieibiafuk8gvi0k9kakbicickbkckdkeickfgvfpkghkfpkhgukikj3lkkkl3okmknkghlhkicko2k1t3niUkpkqkrksktjXjWkrk6"}; diff --git a/2009-x64/cps4.03/icons/cpscMergeLayerMode.xpm b/2009-x64/cps4.03/icons/cpscMergeLayerMode.xpm new file mode 100644 index 0000000..616e80f --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscMergeLayerMode.xpm @@ -0,0 +1,1172 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1145 2", +" c #808084", +" 0 c #A6A8B2", +" 1 c #A6A8B3", +" 2 c #A6A6B1", +" 3 c #A7A7B1", +" 4 c #A6A6B0", +" 5 c #A9AAB5", +" 6 c #ABAAB4", +" 7 c #A9A9B5", +" 8 c #AAABB5", +" 9 c #AAAAB3", +" a c #AAAAB4", +" b c #A8A9B1", +" c c #9B9A9E", +" d c #626363", +" e c #606162", +" f c #616060", +" g c #5F605F", +" h c #5F5F5E", +" i c #5D5E5E", +" j c #5D5D5E", +" k c #5C5C5C", +" l c #5B5B5B", +" m c #5C5B5B", +" n c #5A595B", +" o c #595959", +" p c #5A5859", +" q c #585959", +" r c #585957", +" s c #575757", +" t c #575755", +" u c #565655", +" v c #555556", +" w c #555656", +" x c #555555", +" y c #535455", +" z c #545455", +" A c #555354", +" B c #535353", +" C c #535454", +" D c #555453", +" E c #545354", +" F c #535354", +" G c #545454", +" H c #545554", +" I c #6E6F5A", +" J c #848459", +" K c #9B9555", +" L c #959255", +" M c #7B7A55", +" N c #656455", +" O c #555655", +" P c #565755", +" Q c #575756", +" R c #575658", +" S c #585857", +" T c #585858", +" U c #595A5A", +" V c #5A5A5A", +" W c #90909C", +" X c #9799BB", +" Y c #5F6181", +" Z c #5D6181", +" & c #5B5D7F", +"0 c #5C5E80", +"00 c #5A5C7E", +"01 c #5E5F82", +"02 c #5B5E7F", +"03 c #616486", +"04 c #626487", +"05 c #636588", +"06 c #636586", +"07 c #5F6184", +"08 c #9396B9", +"09 c #EBECFC", +"0a c #656569", +"0b c #5D5D5B", +"0c c #595B5A", +"0d c #595858", +"0e c #575858", +"0f c #585656", +"0g c #565757", +"0h c #535253", +"0i c #525252", +"0j c #515152", +"0k c #515151", +"0l c #505050", +"0m c #505151", +"0n c #505150", +"0o c #50504F", +"0p c #505051", +"0q c #504F50", +"0r c #4F514F", +"0s c #4F4F4F", +"0t c #4F4E4E", +"0u c #504F4F", +"0v c #72705B", +"0w c #A7985F", +"0x c #C7B352", +"0y c #A88D46", +"0z c #87774F", +"0A c #816E4D", +"0B c #7B765B", +"0C c #978550", +"0D c #BEA74D", +"0E c #C4B351", +"0F c #837C4F", +"0G c #565555", +"0H c #565756", +"0I c #8B8C98", +"0J c #9194B6", +"0K c #484969", +"0L c #414465", +"0M c #424464", +"0N c #444567", +"0O c #444566", +"0P c #434567", +"0Q c #444667", +"0R c #454769", +"0S c #46486A", +"0T c #47486B", +"0U c #46496A", +"0V c #474B6B", +"0W c #8A8BAE", +"0X c #DDDEF1", +"0Y c #57575A", +"0Z c #575857", +"0& c #565656", +"1 c #555456", +"10 c #535555", +"11 c #545453", +"12 c #535251", +"13 c #515051", +"14 c #4F504F", +"15 c #4E4F4E", +"16 c #4F4F4E", +"17 c #4D4E4D", +"18 c #4D4D4D", +"19 c #4D4D4C", +"1a c #4D4D4B", +"1b c #4C4C4C", +"1c c #4B4A4B", +"1d c #4B4B4C", +"1e c #4A4B4C", +"1f c #4B4A4A", +"1g c #4C4C4B", +"1h c #4A4C4B", +"1i c #4B4B4A", +"1j c #4B4B4B", +"1k c #A5966B", +"1l c #BA9C56", +"1m c #6D5C44", +"1n c #4C4C4D", +"1o c #4D4C4C", +"1p c #474746", +"1q c #484747", +"1r c #454545", +"1s c #444445", +"1t c #474645", +"1u c #56544A", +"1v c #8A7D47", +"1w c #CDBA48", +"1x c #67604F", +"1y c #515251", +"1z c #525452", +"1A c #858592", +"1B c #9193B4", +"1C c #444767", +"1D c #414362", +"1E c #414262", +"1F c #414263", +"1G c #414365", +"1H c #434665", +"1I c #434767", +"1J c #454767", +"1K c #464767", +"1L c #454667", +"1M c #8082A2", +"1N c #E0E1F7", +"1O c #4E4D52", +"1P c #525253", +"1Q c #515252", +"1R c #514F50", +"1S c #504F4E", +"1T c #4D4E4E", +"1U c #4C4D4B", +"1V c #4C4A4C", +"1W c #494A49", +"1X c #484949", +"1Y c #494848", +"1Z c #484948", +"1& c #474747", +"2 c #474848", +"20 c #464746", +"21 c #474646", +"22 c #464646", +"23 c #464647", +"24 c #464846", +"25 c #585852", +"26 c #BFAF73", +"27 c #7A6B4B", +"28 c #494749", +"29 c #474647", +"2a c #3B3C3C", +"2b c #323131", +"2c c #292A2A", +"2d c #252626", +"2e c #282828", +"2f c #292A29", +"2g c #303031", +"2h c #2D2E2E", +"2i c #303030", +"2j c #4D4B45", +"2k c #C4B24C", +"2l c #7A714C", +"2m c #81828C", +"2n c #8D8FAD", +"2o c #404361", +"2p c #4A4C6A", +"2q c #51526E", +"2r c #52536F", +"2s c #535471", +"2t c #525570", +"2u c #515471", +"2v c #535571", +"2w c #535573", +"2x c #545574", +"2y c #555673", +"2z c #565876", +"2A c #9596B3", +"2B c #D8DAF0", +"2C c #5D5E62", +"2D c #5F5F5F", +"2E c #4C4B4C", +"2F c #4A484A", +"2G c #444546", +"2H c #454444", +"2I c #434344", +"2J c #434444", +"2K c #434243", +"2L c #444343", +"2M c #424242", +"2N c #424342", +"2O c #424141", +"2P c #424341", +"2Q c #424243", +"2R c #434342", +"2S c #484944", +"2T c #CABA88", +"2U c #5F5141", +"2V c #444443", +"2W c #3A3B3A", +"2X c #282727", +"2Y c #212120", +"2Z c #292828", +"2& c #363737", +"3 c #414241", +"30 c #484848", +"31 c #484849", +"32 c #454746", +"33 c #494747", +"34 c #3F3F3F", +"35 c #343435", +"36 c #B5AD4A", +"37 c #736749", +"38 c #4E4E4F", +"39 c #4F5050", +"3a c #797B85", +"3b c #868AA9", +"3c c #5B6072", +"3d c #B6CFAF", +"3e c #A3BC9E", +"3f c #99B293", +"3g c #A1BB9D", +"3h c #A4BE9E", +"3i c #A5BF9F", +"3j c #9CB696", +"3k c #A6C0A0", +"3l c #A1BA9C", +"3m c #A7C3A2", +"3n c #A7C0A1", +"3o c #A3BD9F", +"3p c #9FB99C", +"3q c #D7EBD0", +"3r c #7F857E", +"3s c #454546", +"3t c #424443", +"3u c #404141", +"3v c #414040", +"3w c #40403F", +"3x c #3F3F40", +"3y c #3F4040", +"3z c #3F3E3F", +"3A c #3F3D3E", +"3B c #3E3D3E", +"3C c #3E3E3E", +"3D c #3D3E3E", +"3E c #3E3F3F", +"3F c #3E3E3D", +"3G c #3E3F3D", +"3H c #3F3E3D", +"3I c #AFA477", +"3J c #6E624B", +"3K c #343433", +"3L c #252325", +"3M c #363536", +"3N c #403F3F", +"3O c #444444", +"3P c #454445", +"3Q c #464445", +"3R c #454646", +"3S c #4A4A4A", +"3T c #44433E", +"3U c #C7BD55", +"3V c #544D41", +"3W c #777882", +"3X c #8789A6", +"3Y c #5D6374", +"3Z c #A3BF9D", +"3& c #4A6A49", +"4 c #3F5F3E", +"40 c #3F5F40", +"41 c #3F603F", +"42 c #40603F", +"43 c #416141", +"44 c #3F6042", +"45 c #416242", +"46 c #426242", +"47 c #426142", +"48 c #406242", +"49 c #628060", +"4a c #C1DBB8", +"4b c #7F887C", +"4c c #424142", +"4d c #403F3E", +"4e c #3D3D3C", +"4f c #3D3C3D", +"4g c #3B3A3C", +"4h c #3B3B3C", +"4i c #3B3C3B", +"4j c #3A3B3B", +"4k c #3B3A3A", +"4l c #393A3A", +"4m c #3A393A", +"4n c #393A39", +"4o c #3A3838", +"4p c #393939", +"4q c #3A3A3A", +"4r c #39393A", +"4s c #666552", +"4t c #998E67", +"4u c #323232", +"4v c #222121", +"4w c #252726", +"4x c #3C3C3B", +"4y c #3F3F3E", +"4z c #414041", +"4A c #424343", +"4B c #454344", +"4C c #474748", +"4D c #6B694E", +"4E c #B1973C", +"4F c #414240", +"4G c #4D4B4B", +"4H c #70717A", +"4I c #8083A1", +"4J c #5A6170", +"4K c #9EB997", +"4L c #4A6A4A", +"4M c #3D5C3E", +"4N c #3D5D3E", +"4O c #3E5E3F", +"4P c #3E5E3E", +"4Q c #3E5F40", +"4R c #3E5E40", +"4S c #405F40", +"4T c #3E5F41", +"4U c #3F6040", +"4V c #60805F", +"4W c #BCD7B4", +"4X c #717A6C", +"4Y c #3C3C3C", +"4Z c #3B3B3B", +"4& c #393B3A", +"5 c #3A3A39", +"50 c #393938", +"51 c #373838", +"52 c #373737", +"53 c #373736", +"54 c #686649", +"55 c #77633E", +"56 c #A79144", +"57 c #494438", +"58 c #353536", +"59 c #353535", +"5a c #363736", +"5b c #B2A66C", +"5c c #433E3C", +"5d c #5F5F60", +"5e c #D7D7D6", +"5f c #BFC1BF", +"5g c #BEBDBD", +"5h c #C0BFBE", +"5i c #C0C0BF", +"5j c #BABBBB", +"5k c #BFBFBF", +"5l c #BBBCBB", +"5m c #B1B1B0", +"5n c #B1B1AF", +"5o c #B1B0B2", +"5p c #B4B4B3", +"5q c #B1B2B2", +"5r c #B0AFB0", +"5s c #BBBBBC", +"5t c #686768", +"5u c #464848", +"5v c #CAB954", +"5w c #38322B", +"5x c #484746", +"5y c #71707B", +"5z c #7B7E9C", +"5A c #585F6E", +"5B c #9DB795", +"5C c #4A6848", +"5D c #3A5B3C", +"5E c #3B5C3D", +"5F c #3C5B3D", +"5G c #3C5C3D", +"5H c #3D5C3D", +"5I c #3E5D3F", +"5J c #3D5C3F", +"5K c #3C5C3E", +"5L c #5E7B5C", +"5M c #B6D1B0", +"5N c #6F776A", +"5O c #383939", +"5P c #373837", +"5Q c #343635", +"5R c #333535", +"5S c #333434", +"5T c #323433", +"5U c #393935", +"5V c #9F9351", +"5W c #FEC94B", +"5X c #8C602D", +"5Y c #D9B142", +"5Z c #F2AF3E", +"5& c #6C5A35", +"6 c #303230", +"60 c #323130", +"61 c #313232", +"62 c #313231", +"63 c #323332", +"64 c #40403A", +"65 c #AF9963", +"66 c #343534", +"67 c #6A696B", +"68 c #D9DADA", +"69 c #797878", +"6a c #5B5A5A", +"6b c #5D5C5D", +"6c c #5A5959", +"6d c #5A5A59", +"6e c #595A59", +"6f c #565556", +"6g c #545553", +"6h c #525351", +"6i c #515150", +"6j c #4F5150", +"6k c #8F8E8E", +"6l c #636362", +"6m c #7A7A55", +"6n c #81703F", +"6o c #323132", +"6p c #5E5F64", +"6q c #80839C", +"6r c #838A97", +"6s c #99B091", +"6t c #476547", +"6u c #9F9B90", +"6v c #AC9F96", +"6w c #AFA29B", +"6x c #ADA09A", +"6y c #AFA39C", +"6z c #B1A49C", +"6A c #AFA59C", +"6B c #B0A49D", +"6C c #AFA39B", +"6D c #B7ABA3", +"6E c #CABEB6", +"6F c #B9A9A5", +"6G c #AF9B9B", +"6H c #B7ABAB", +"6I c #343335", +"6J c #323031", +"6K c #302F30", +"6L c #5C5B3F", +"6M c #DEC151", +"6N c #F2A02F", +"6O c #F09A2A", +"6P c #885B29", +"6Q c #D5A23A", +"6R c #E6811D", +"6S c #FDAB34", +"6T c #CB963A", +"6U c #3B362F", +"6V c #2E2D2F", +"6W c #2E2E2E", +"6X c #2F2F30", +"6Y c #636447", +"6Z c #74603C", +"6& c #2B2C2B", +"7 c #656364", +"70 c #D5D5D6", +"71 c #787978", +"72 c #585758", +"73 c #585757", +"74 c #555454", +"75 c #545353", +"76 c #525152", +"77 c #4E504E", +"78 c #8E8D8E", +"79 c #2F3030", +"7a c #4A4A46", +"7b c #C8B051", +"7c c #242224", +"7d c #40443E", +"7e c #96AE90", +"7f c #486447", +"7g c #BAA09E", +"7h c #836363", +"7i c #634344", +"7j c #664746", +"7k c #624343", +"7l c #644444", +"7m c #644545", +"7n c #624342", +"7o c #644445", +"7p c #634445", +"7q c #604242", +"7r c #624444", +"7s c #957676", +"7t c #E2C5C4", +"7u c #383736", +"7v c #333333", +"7w c #313130", +"7x c #353431", +"7y c #978D49", +"7z c #FFC442", +"7A c #F19123", +"7B c #DF8019", +"7C c #FBA42E", +"7D c #875928", +"7E c #D29A33", +"7F c #EF9324", +"7G c #FEAA30", +"7H c #FB9A2D", +"7I c #F1A734", +"7J c #604E2F", +"7K c #2D2C2C", +"7L c #2C2C2C", +"7M c #7B794B", +"7N c #58483B", +"7O c #242323", +"7P c #646362", +"7Q c #D5D4D4", +"7R c #727373", +"7S c #565455", +"7T c #525352", +"7U c #514F4F", +"7V c #4E4E4D", +"7W c #4D4C4D", +"7X c #8B8B8C", +"7Y c #222222", +"7Z c #30302F", +"7& c #C8BA63", +"8 c #434343", +"80 c #232423", +"81 c #3D413B", +"82 c #90A98C", +"83 c #446044", +"84 c #AE9894", +"85 c #7C5C5D", +"86 c #573939", +"87 c #563838", +"88 c #583A39", +"89 c #583A3A", +"8a c #593A39", +"8b c #59393A", +"8c c #57393B", +"8d c #573B3B", +"8e c #593A3A", +"8f c #573A3A", +"8g c #5A3B3B", +"8h c #947575", +"8i c #DABCBD", +"8j c #373535", +"8k c #302E2F", +"8l c #413D31", +"8m c #DEC24D", +"8n c #FFB335", +"8o c #FB9926", +"8p c #FAA12A", +"8q c #FEAF32", +"8r c #FFBA3A", +"8s c #855525", +"8t c #D49C33", +"8u c #F79725", +"8v c #FEB232", +"8w c #FBA82D", +"8x c #F99728", +"8y c #FFB441", +"8z c #AC7A2F", +"8A c #2C2B2B", +"8B c #A69652", +"8C c #3D3733", +"8D c #191A19", +"8E c #686A6A", +"8F c #CFCFCF", +"8G c #747373", +"8H c #555554", +"8I c #545253", +"8J c #4E4E4E", +"8K c #4B4C4B", +"8L c #51514F", +"8M c #888989", +"8N c #212222", +"8O c #232123", +"8P c #C1A85A", +"8Q c #444344", +"8R c #242424", +"8S c #3C3E39", +"8T c #8DA488", +"8U c #425E43", +"8V c #AA9692", +"8W c #775A59", +"8X c #553737", +"8Y c #543737", +"8Z c #553838", +"8& c #563737", +"9 c #553738", +"90 c #563738", +"91 c #907474", +"92 c #D6B8B8", +"93 c #2F2D2E", +"94 c #302F31", +"95 c #2F2E2F", +"96 c #876027", +"97 c #F2B538", +"98 c #FFC845", +"99 c #FFB935", +"9a c #FFB333", +"9b c #FEB637", +"9c c #845623", +"9d c #D69932", +"9e c #FDA72F", +"9f c #FEB030", +"9g c #FEB944", +"9h c #FEC976", +"9i c #CF862E", +"9j c #553D23", +"9k c #9D8F45", +"9l c #474138", +"9m c #1A1A1A", +"9n c #6A6B6B", +"9o c #C9CBCA", +"9p c #6F6F6F", +"9q c #535352", +"9r c #4F5051", +"9s c #4F4F50", +"9t c #4F4E4F", +"9u c #4E4D4D", +"9v c #4C4D4D", +"9w c #4D4B4C", +"9x c #858585", +"9y c #4A4B4A", +"9z c #222221", +"9A c #222323", +"9B c #BCAF5C", +"9C c #282726", +"9D c #222223", +"9E c #3A3E38", +"9F c #869F81", +"9G c #516B4F", +"9H c #A99490", +"9I c #795B5C", +"9J c #684E4F", +"9K c #7F666B", +"9L c #7E666C", +"9M c #7B656B", +"9N c #80676D", +"9O c #7D656A", +"9P c #80686C", +"9Q c #7D646A", +"9R c #7E686C", +"9S c #80686D", +"9T c #7E666B", +"9U c #A58D91", +"9V c #D3B8BF", +"9W c #615B60", +"9X c #6D6A6C", +"9Y c #413F41", +"9Z c #534028", +"9& c #CA8D2B", +"a c #FECB4A", +"a0 c #FFBE3C", +"a1 c #FFB737", +"a2 c #845525", +"a3 c #D49630", +"a4 c #F79B27", +"a5 c #FFBE54", +"a6 c #F6AB47", +"a7 c #9A611D", +"a8 c #302D2A", +"a9 c #2C2C2B", +"aa c #2D2D2C", +"ab c #757442", +"ac c #5D4C32", +"ad c #1B1B1B", +"ae c #6D6D6D", +"af c #C8C9CA", +"ag c #6E6E6F", +"ah c #525250", +"ai c #4B4C4C", +"aj c #4A4949", +"ak c #48494A", +"al c #4B4D4C", +"am c #828282", +"an c #494B4A", +"ao c #232121", +"ap c #232323", +"aq c #BBA655", +"ar c #252424", +"as c #4A4B4B", +"at c #353635", +"au c #4B5248", +"av c #50594D", +"aw c #A38C8B", +"ax c #745857", +"ay c #8F7283", +"az c #9C819F", +"aA c #826684", +"aB c #856A87", +"aC c #856885", +"aD c #866A86", +"aE c #846885", +"aF c #856886", +"aG c #846886", +"aH c #836785", +"aI c #7F6481", +"aJ c #826683", +"aK c #866C89", +"aL c #B196B3", +"aM c #7D727D", +"aN c #313032", +"aO c #2F2F2F", +"aP c #2F2F2E", +"aQ c #33312D", +"aR c #8C6126", +"aS c #F6AF33", +"aT c #FFCC50", +"aU c #885A27", +"aV c #D79A32", +"aW c #F7B95A", +"aX c #DB9134", +"aY c #564026", +"aZ c #2D2D2D", +"a& c #2E2D2D", +"b c #2E2E2D", +"b0 c #5C5D3A", +"b1 c #7B6B38", +"b2 c #19191A", +"b3 c #6F7070", +"b4 c #C3C3C3", +"b5 c #6A6969", +"b6 c #4D4D4E", +"b7 c #4B4949", +"b8 c #484748", +"b9 c #4C4D4C", +"ba c #828284", +"bb c #232221", +"bc c #383730", +"bd c #AC9554", +"be c #262424", +"bf c #967F7F", +"bg c #735656", +"bh c #8B707F", +"bi c #8B6E8C", +"bj c #543855", +"bk c #513451", +"bl c #513551", +"bm c #523651", +"bn c #513651", +"bo c #513652", +"bp c #503651", +"bq c #51354F", +"br c #50344F", +"bs c #51334F", +"bt c #50344E", +"bu c #624962", +"bv c #A88FAC", +"bw c #796E79", +"bx c #323334", +"by c #333232", +"bz c #313030", +"bA c #57422C", +"bB c #D28924", +"bC c #895B27", +"bD c #D0982F", +"bE c #9D661E", +"bF c #3C362D", +"bG c #2F3031", +"bH c #303131", +"bI c #313131", +"bJ c #AE9943", +"bK c #1C1B1B", +"bL c #6F6E6E", +"bM c #BCBDBC", +"bN c #5C5D5D", +"bO c #5F5E5F", +"bP c #555756", +"bQ c #515250", +"bR c #848382", +"bS c #232222", +"bT c #988F56", +"bU c #4F3F27", +"bV c #525353", +"bW c #515050", +"bX c #262527", +"bY c #232422", +"bZ c #947E7D", +"b& c #6D5151", +"c c #856A7A", +"c0 c #896E8B", +"c1 c #533653", +"c2 c #4F334E", +"c3 c #50334F", +"c4 c #4F354F", +"c5 c #4F344E", +"c6 c #4F334F", +"c7 c #4E324E", +"c8 c #4D334E", +"c9 c #4D334C", +"ca c #5F455F", +"cb c #A38BA7", +"cc c #756A76", +"cd c #353537", +"ce c #353435", +"cf c #353434", +"cg c #393533", +"ch c #4F402F", +"ci c #53452F", +"cj c #343333", +"ck c #343332", +"cl c #343535", +"cm c #333334", +"cn c #8D823C", +"co c #4F4534", +"cp c #6A6C6B", +"cq c #6F6D6D", +"cr c #6C6C6C", +"cs c #6C6D6D", +"ct c #6B6B6B", +"cu c #69696A", +"cv c #6A6B6C", +"cw c #6D6C6C", +"cx c #6E6C6C", +"cy c #6B6C6C", +"cz c #696969", +"cA c #656666", +"cB c #2B2924", +"cC c #C7AD48", +"cD c #242425", +"cE c #252526", +"cF c #555553", +"cG c #262625", +"cH c #8E7979", +"cI c #6A5151", +"cJ c #816976", +"cK c #886D8A", +"cL c #4E344E", +"cM c #4D324D", +"cN c #4E334E", +"cO c #4D314C", +"cP c #4D324C", +"cQ c #4D334D", +"cR c #4C324C", +"cS c #4C314C", +"cT c #4B324A", +"cU c #5A405B", +"cV c #A088A3", +"cW c #746A75", +"cX c #383938", +"cY c #383838", +"cZ c #363738", +"c& c #383836", +"d c #363837", +"d0 c #363638", +"d1 c #363636", +"d2 c #353736", +"d3 c #373636", +"d4 c #373637", +"d5 c #434239", +"d6 c #BD9E3D", +"d7 c #3D3A36", +"d8 c #272626", +"d9 c #1B1D1C", +"da c #1C1C1D", +"db c #1E1D1D", +"dc c #1E1E1D", +"dd c #1F1F1D", +"de c #1E1F1E", +"df c #1E1E1F", +"dg c #1E2020", +"dh c #201F1F", +"di c #202120", +"dj c #212021", +"dk c #222322", +"dl c #242324", +"dm c #8F6A30", +"dn c #6B562D", +"do c #242526", +"dp c #272726", +"dq c #292929", +"dr c #716261", +"ds c #7C6465", +"dt c #947D8B", +"du c #846A85", +"dv c #4B314C", +"dw c #4A324A", +"dx c #4B314A", +"dy c #4C314A", +"dz c #4B3049", +"dA c #4A304A", +"dB c #4A2F4A", +"dC c #49304A", +"dD c #4A3049", +"dE c #5A425B", +"dF c #9E87A1", +"dG c #6D646F", +"dH c #2F3131", +"dI c #3A3A3B", +"dJ c #3A3939", +"dK c #383839", +"dL c #695D39", +"dM c #A1883B", +"dN c #242423", +"dO c #1E1F1D", +"dP c #1F201E", +"dQ c #1F1F1F", +"dR c #1F2020", +"dS c #20211F", +"dT c #202021", +"dU c #222122", +"dV c #242322", +"dW c #232324", +"dX c #5C5437", +"dY c #A46A26", +"dZ c #262626", +"d& c #262726", +"e c #565657", +"e0 c #262525", +"e1 c #6A5E6B", +"e2 c #806581", +"e3 c #4A2F48", +"e4 c #483048", +"e5 c #482F49", +"e6 c #493049", +"e7 c #492E49", +"e8 c #482F47", +"e9 c #492E48", +"ea c #482F46", +"eb c #462E46", +"ec c #584059", +"ed c #9B829C", +"ee c #5E565F", +"ef c #1F1E1F", +"eg c #3D3E3D", +"eh c #3D3D3E", +"ei c #3C3D3D", +"ej c #3C3C3D", +"ek c #3D3C3E", +"el c #3D3D3D", +"em c #3D3E3C", +"en c #967731", +"eo c #988543", +"ep c #353533", +"eq c #201F20", +"er c #1F2021", +"es c #212121", +"et c #242525", +"eu c #555448", +"ev c #C2A95C", +"ew c #2A2925", +"ex c #262627", +"ey c #282827", +"ez c #575758", +"eA c #565758", +"eB c #555557", +"eC c #313332", +"eD c #252625", +"eE c #655C68", +"eF c #7C657D", +"eG c #4B3149", +"eH c #472F46", +"eI c #472E46", +"eJ c #462D46", +"eK c #482E46", +"eL c #472D46", +"eM c #472D45", +"eN c #462D45", +"eO c #452D44", +"eP c #543B54", +"eQ c #947C97", +"eR c #59515B", +"eS c #20201E", +"eT c #393838", +"eU c #404042", +"eV c #404040", +"eW c #3F4140", +"eX c #404041", +"eY c #2E2D2E", +"eZ c #2E2D2C", +"e& c #2C2D2D", +"f c #333435", +"f0 c #725B2C", +"f1 c #C3AB44", +"f2 c #35332C", +"f3 c #232322", +"f4 c #232424", +"f5 c #8A8662", +"f6 c #A2894B", +"f7 c #2B2826", +"f8 c #262727", +"f9 c #282829", +"fa c #2B2B2B", +"fb c #595958", +"fc c #545355", +"fd c #272827", +"fe c #645865", +"ff c #7A617B", +"fg c #452C44", +"fh c #452D45", +"fi c #462C45", +"fj c #462D44", +"fk c #442D44", +"fl c #432B45", +"fm c #432D44", +"fn c #432B44", +"fo c #442B43", +"fp c #503951", +"fq c #8E7891", +"fr c #574F58", +"fs c #202122", +"ft c #333231", +"fu c #444544", +"fv c #434543", +"fw c #434443", +"fx c #434442", +"fy c #262426", +"fz c #2F302F", +"fA c #594B31", +"fB c #BB993B", +"fC c #A99B3D", +"fD c #4D4D34", +"fE c #302F2F", +"fF c #2F2E2E", +"fG c #2C2B2D", +"fH c #2D2E2D", +"fI c #383832", +"fJ c #78744D", +"fK c #AB995C", +"fL c #645837", +"fM c #2B2A2B", +"fN c #292827", +"fO c #29282A", +"fP c #5C5B5A", +"fQ c #5B5B5A", +"fR c #585A5A", +"fS c #625663", +"fT c #776079", +"fU c #563F56", +"fV c #523B53", +"fW c #533C53", +"fX c #513950", +"fY c #584159", +"fZ c #513A50", +"f& c #543E54", +"g c #4F3950", +"g0 c #564057", +"g1 c #543D52", +"g2 c #533C52", +"g3 c #4F374E", +"g4 c #574158", +"g5 c #8D768F", +"g6 c #4F4951", +"g7 c #262826", +"g8 c #484847", +"g9 c #464747", +"ga c #272627", +"gb c #232223", +"gc c #252525", +"gd c #3A3C3B", +"ge c #454446", +"gf c #2E2F2F", +"gg c #5E5242", +"gh c #A68841", +"gi c #C2A947", +"gj c #C2AB53", +"gk c #BAA750", +"gl c #B4A151", +"gm c #B7A254", +"gn c #BDA255", +"go c #72603F", +"gp c #2B2929", +"gq c #5D5E5D", +"gr c #5B5C5B", +"gs c #5B5A5B", +"gt c #5A5B5A", +"gu c #59595A", +"gv c #333033", +"gw c #514752", +"gx c #524851", +"gy c #514852", +"gz c #524953", +"gA c #524752", +"gB c #524854", +"gC c #504851", +"gD c #4F4651", +"gE c #524853", +"gF c #514652", +"gG c #504651", +"gH c #4E454F", +"gI c #4F454F", +"gJ c #554C59", +"gK c #242524", +"gL c #4A494A", +"gM c #424442", +"gN c #3B3A3B", +"gO c #232524", +"gP c #363535", +"gQ c #424140", +"gR c #49494A", +"gS c #4A4C4C", +"gT c #363537", +" 0 1 2 2 3 4 5 6 7 8 9 a 2 b c d e f g h i j k l m n o p q r s s t u v w x y z A B C D E F G z H I J K L M N O P Q R Q S T U V", +" W X Y Z &0 000102030405060708090a0b k0c U0d0e0f0g v z E B0h0i0j0i0k0l0m0n0l0o0p0o0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F F G x0G O Q0H", +"0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 1011120k130o1415160t1718191a1b1c1d1e1f1f1g1f1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y0i1z E G", +"1A1B1C1D1E1F1G0M1H0N1I1J1K1L1M1N1O1P1Q1R1S0s1T171U1V1j1W1X1X1Y1Z1&1q2 1p2020212223222425262728292a2b2c2d2e2f2g2h2i2j2k2l140n0l0j", +"2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D182E1j2F1Z1&1&1&2G2G2H1s2I2J2K2L2J2M2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 1s30313233343536371T3839", +"3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3g3q3r1&223s2J3t2N3u2M3v3w3x3y343z3A3B3C3D3E3F3G3C3H3I3J3x3K3L2d3M3N3O3P3Q3R1p211q1Y3S3T3U3V1n1T", +"3W3X3Y3Z3&4 40414243444546474648494a4b2N4c3v4d3F3D4e4f2a4g4h4i4j4k4j4l4m4n4o4p4q4r4s4t4h4u4v4w4x4y3x4z4z2R4A4B3s1r214C314D4E4F4G", +"4H4I4J4K4L4M4N4N4O4P4Q4R424S4T4U4V4W4X3B3C4Y4Z4&5 5051522&53545556573M5858593M5a5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x", +"5y5z5A5B5C5D5E5F5G5H4N4P5I5I5J5K5L5M5N582W5O5P2&5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f O6g6h6i6j z6k6l3P6m6n6o", +"6p6q6r6s6t6u6v6w6x6y6w6z6A6B6y6C6D6E6F6G6H5a6I5S4u6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172730H x74750i760l7738757839797a7b62", +"1r7c7d7e7f7g7h7i7j7k7l7m7n7m7o7p7p7q7r7s7t7u7v7w2i7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R t0G7S C7T0i0p7U0l7V7W397X157Y7Z7&3v", +"8 808182838485868788898a8b8c8d8e8f888g8h8i8j608k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H C8I760m0n1S8J17198K8L8M1n8N8O8P3F", +"8Q8R8S8T8U8V8W8X8Y8Y8Z878&9 9087878Z8691929394952h969798999a9b9c9d9e9f9g9h9i9j6&9k9l9m9n9o9p7T9q1y9r9s9t9u179v3S1i9w9x9y9z9A9B9C", +"3P9D9E9F9G9H9I9J9K9L9M9K9N9O9P9Q9R9S9T9U9V9W9X9Y952h9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagah0m0u779u9vai8K3Sajakalamanaoapaqar", +"as50atauavawaxayazaAaBaCaDaCaEaFaEaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&6Vb b0b1b2b3b4b5160sb67V1b8K1fb71W30b8b9ba33bbbcbdar", +"9q13albe4vbfbgbhbibjbkblbmbmbnbobpbqbrbsbtbubvbwbxby61bz6JbAbBbCbDbEbFbG2i6XbHbHbIbJbKbLbMbLbNbO obObObP74 BbQ1Q1QbQbR1pbSbTbU8R", +" BbVbWbXbYbZb&c c0c1c2c3brc4c5c5c6btc7c8c9cacbcccdatce6I66cfcgchci7v5Scjck5S7vclcmcnco4Aag67cpcqcrcsctcucvcwcxcyctczcAaOcBcCcDcE", +"cF0hb6cG80cHcIcJcKcLcMc7cNcOcPcQcQcPcRcScTcUcVcW4pcX52cYcZc&52d d053d1d1d2d3d1d452d5d6d7d8d9dadbdcdddedfdgdhdidjdk9zdkdldmdndodp", +" w E16dqardrdsdtducRdvdwdvdxdxdydzdAdBdCdDdEdFdGdH4j4Z4k2WdI2W5 4m4r4l4mdJdK4pdJ5 4&dLdM4&dNdOdOdPdQdRdSdidTdU7Y9AdVdWdXdYcGdZd&", +"e w1z2Xdoe08Re1e2cPe3e4e5e5e6e5e7e8e9eaebecedeeef5 3Cegeheheiejeiek4Yel4j4kcXejemej3Ceneoepeqerdidi2Y9zes8N807O8Reteuevewd8exey", +"ezeAeBeC6VaZeDeEeFeGeHeIeJeKeKeHeIeLeMeNeOePeQeReSeT2OeUeV3ueWeVeX3y3C50eYeZe&at3F3yeWf f0f1f27Y9z4vapf3dk80f43Le0f5f6f7f8eyf9fa", +" ofb73fc0j2Vfdfeffe8fgfhfifjfkeOeOflfmfnfofpfqfrfsft3Pfufvfwfx2J2R2M4ufydUesexes6&4q2R4AfzfAfBfCfDfEfFfGfH2efIfJfKfL2ZfMfN2ZfO6K", +"fPfQfR o s3s2ZfSfTfUfVfWfXfYfZf&g g0g1g2g3g4g5g69Ag7g8b81p1&g91r2Md1ga7YgbdkbS9A7Ogcgdge1rgf4Zggghgigjgkglgmgngo4feXeid3aOgp534l", +"gqgrgsgtgu1Xf9gvgwgxgygzgygAgBgCgDgEgFgGgHgIgJ2ZgKgc20gLas1WgMgN7KdZgOgKdNargKgOargKd8gPgQ2HbI522LgRgS1g7W9wb91g8JgR4cgT3K531r0t"}; diff --git a/2009-x64/cps4.03/icons/cpscMergeShells.xpm b/2009-x64/cps4.03/icons/cpscMergeShells.xpm new file mode 100644 index 0000000..33ddc80 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscMergeShells.xpm @@ -0,0 +1,1227 @@ +/* XPM */ +static char *COMBINE_xpm[]={ +"64 24 1200 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6A6A", +" 7 c #696969", +" 8 c #747268", +" 9 c #86856F", +" a c #6A6968", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #555455", +" G c #616055", +" H c #777856", +" I c #595A55", +" J c #545456", +" K c #565555", +" L c #565556", +" M c #565757", +" N c #575856", +" O c #585757", +" P c #595859", +" Q c #585859", +" R c #585A5A", +" S c #6D6D6D", +" T c #6C6D6C", +" U c #6C6B6B", +" V c #68696A", +" W c #696868", +" X c #666767", +" Y c #656665", +" Z c #6A6963", +" & c #C7B447", +"0 c #F5EB5B", +"00 c #9F9B66", +"01 c #646462", +"02 c #5E5F5F", +"03 c #5F5E5E", +"04 c #5D5D5D", +"05 c #5B5B5C", +"06 c #5A5A5B", +"07 c #595B5A", +"08 c #595A59", +"09 c #585857", +"0a c #575858", +"0b c #575756", +"0c c #555656", +"0d c #555554", +"0e c #535455", +"0f c #535452", +"0g c #525352", +"0h c #515152", +"0i c #525150", +"0j c #505052", +"0k c #515050", +"0l c #4F5050", +"0m c #504F50", +"0n c #50504F", +"0o c #504F4F", +"0p c #504E4F", +"0q c #4E504F", +"0r c #4F4F4E", +"0s c #4F4F50", +"0t c #505050", +"0u c #4F4F4F", +"0v c #535150", +"0w c #AFAB52", +"0x c #F0E059", +"0y c #95894F", +"0z c #5B5952", +"0A c #525252", +"0B c #545354", +"0C c #535454", +"0D c #555454", +"0E c #545554", +"0F c #69696A", +"0G c #686868", +"0H c #676868", +"0I c #656667", +"0J c #656666", +"0K c #646363", +"0L c #716F5E", +"0M c #897F51", +"0N c #9A8741", +"0O c #8E7F3E", +"0P c #C7B434", +"0Q c #9C914C", +"0R c #ABA06B", +"0S c #7F7B61", +"0T c #5D5E5B", +"0U c #565657", +"0V c #555655", +"0W c #525151", +"0X c #4F5051", +"0Y c #4E4F4F", +"0Z c #4E4F4E", +"0& c #4D4E4F", +"1 c #4D4E4D", +"10 c #4E4E4D", +"11 c #4C4C4C", +"12 c #4C4B4C", +"13 c #4B4A4C", +"14 c #4A4B4A", +"15 c #4C4C4A", +"16 c #4A4C4A", +"17 c #4B4B4A", +"18 c #4A4A4A", +"19 c #4C4A4C", +"1a c #4B4C4B", +"1b c #4F4E4A", +"1c c #625C3D", +"1d c #726A25", +"1e c #887F2B", +"1f c #C9AF37", +"1g c #9C8B45", +"1h c #B7A75F", +"1i c #A69752", +"1j c #747054", +"1k c #58554F", +"1l c #505251", +"1m c #525152", +"1n c #545454", +"1o c #555355", +"1p c #656664", +"1q c #70706A", +"1r c #74736B", +"1s c #696761", +"1t c #827C5B", +"1u c #A3944E", +"1v c #95853C", +"1w c #70684C", +"1x c #5E5C59", +"1y c #635F49", +"1z c #70663A", +"1A c #595958", +"1B c #5E5D52", +"1C c #847C48", +"1D c #9F955C", +"1E c #827F64", +"1F c #636054", +"1G c #515251", +"1H c #4F4E4E", +"1I c #4E4D4F", +"1J c #4C4E4D", +"1K c #4C4D4C", +"1L c #4B4B4C", +"1M c #4B4A4B", +"1N c #4B494B", +"1O c #494A4A", +"1P c #484A49", +"1Q c #494948", +"1R c #494848", +"1S c #484847", +"1T c #474747", +"1U c #464748", +"1V c #464846", +"1W c #464746", +"1X c #464646", +"1Y c #474546", +"1Z c #464647", +"1& c #4C4C44", +"2 c #605B37", +"20 c #6F6623", +"21 c #65612D", +"22 c #4A4942", +"23 c #73693E", +"24 c #605938", +"25 c #504F48", +"26 c #6A6245", +"27 c #A49648", +"28 c #B9A85B", +"29 c #9F9051", +"2a c #716B50", +"2b c #55534F", +"2c c #504F4E", +"2d c #4F5150", +"2e c #626163", +"2f c #7F7355", +"2g c #EBCF68", +"2h c #ECE992", +"2i c #B7AC50", +"2j c #8D7F4B", +"2k c #666353", +"2l c #5A5B59", +"2m c #575857", +"2n c #6A6341", +"2o c #655F43", +"2p c #515352", +"2q c #59574A", +"2r c #787448", +"2s c #9C8C49", +"2t c #8D8353", +"2u c #5C5A50", +"2v c #4B4B4B", +"2w c #494A48", +"2x c #474948", +"2y c #474848", +"2z c #454645", +"2A c #454446", +"2B c #454444", +"2C c #434444", +"2D c #444444", +"2E c #434342", +"2F c #434242", +"2G c #424243", +"2H c #424242", +"2I c #414242", +"2J c #424241", +"2K c #5D5B42", +"2L c #CFCC55", +"2M c #BBAC45", +"2N c #676022", +"2O c #514E30", +"2P c #474740", +"2Q c #464545", +"2R c #464644", +"2S c #7F7137", +"2T c #524F3A", +"2U c #464747", +"2V c #474847", +"2W c #474748", +"2X c #4A4949", +"2Y c #504E47", +"2Z c #6E6643", +"2& c #9C8E44", +"3 c #B9AA5B", +"30 c #A0904B", +"31 c #71694B", +"32 c #74744F", +"33 c #787850", +"34 c #54534E", +"35 c #5F5F5E", +"36 c #7C7050", +"37 c #EFB518", +"38 c #E2CF35", +"39 c #B7B277", +"3a c #807F69", +"3b c #5C5B5B", +"3c c #555657", +"3d c #7A6E34", +"3e c #5D5748", +"3f c #504E50", +"3g c #4D4E4E", +"3h c #4D4C4D", +"3i c #4C4B4B", +"3j c #4B4A48", +"3k c #5D5941", +"3l c #887F45", +"3m c #A19551", +"3n c #B3AD5B", +"3o c #717152", +"3p c #454545", +"3q c #4E4E4E", +"3r c #40413F", +"3s c #3E3E3E", +"3t c #403F3F", +"3u c #444345", +"3v c #474746", +"3w c #404040", +"3x c #3E3E3D", +"3y c #3E3D3E", +"3z c #6C6C3F", +"3A c #F9F340", +"3B c #DAB339", +"3C c #8E8353", +"3D c #535243", +"3E c #434241", +"3F c #414041", +"3G c #81712C", +"3H c #49463C", +"3I c #444344", +"3J c #444445", +"3K c #454745", +"3L c #484746", +"3M c #484748", +"3N c #484A47", +"3O c #565545", +"3P c #787043", +"3Q c #AE9E47", +"3R c #E9E554", +"3S c #F4E74C", +"3T c #766942", +"3U c #5B5C5B", +"3V c #5C5C5A", +"3W c #7E7135", +"3X c #817840", +"3Y c #64614B", +"3Z c #857F45", +"3& c #A6A06B", +"4 c #7B7A69", +"40 c #585855", +"41 c #51514F", +"42 c #7E702E", +"43 c #545049", +"44 c #4C4C4B", +"45 c #4B4A4A", +"46 c #454344", +"47 c #464541", +"48 c #827437", +"49 c #E8C335", +"4a c #B9B276", +"4b c #3F3F3F", +"4c c #4A4C4C", +"4d c #8A8A8B", +"4e c #CECFCF", +"4f c #E8E8ED", +"4g c #E8EAEE", +"4h c #D9DCE0", +"4i c #8F9298", +"4j c #6E6E71", +"4k c #BABABB", +"4l c #D8D6D9", +"4m c #DEE0DF", +"4n c #CDCECE", +"4o c #919296", +"4p c #4B4C4E", +"4q c #3B3B3B", +"4r c #3A3938", +"4s c #3A3A3A", +"4t c #3F3F3A", +"4u c #8F8328", +"4v c #685B31", +"4w c #6A6441", +"4x c #A69548", +"4y c #A49756", +"4z c #686249", +"4A c #4D493F", +"4B c #7F6E2E", +"4C c #414140", +"4D c #404240", +"4E c #414142", +"4F c #444442", +"4G c #434445", +"4H c #444545", +"4I c #454646", +"4J c #474545", +"4K c #565344", +"4L c #81792B", +"4M c #9D9421", +"4N c #CBA829", +"4O c #5B5545", +"4P c #72692D", +"4Q c #615D46", +"4R c #545451", +"4S c #5B5B4A", +"4T c #797348", +"4U c #97925F", +"4V c #807E65", +"4W c #817534", +"4X c #4B4C49", +"4Y c #484949", +"4Z c #484848", +"4& c #464645", +"5 c #454543", +"50 c #414240", +"51 c #4C4840", +"52 c #807439", +"53 c #807137", +"54 c #938027", +"55 c #585546", +"56 c #525253", +"57 c #D0D2D3", +"58 c #E4E6F2", +"59 c #BABDDC", +"5a c #AAAECD", +"5b c #A4A7CA", +"5c c #AFB4D5", +"5d c #C3C8EE", +"5e c #CED1F8", +"5f c #D5D8F3", +"5g c #C4C7E9", +"5h c #C7CDED", +"5i c #DADEF7", +"5j c #F3F6FD", +"5k c #D8DBE5", +"5l c #585961", +"5m c #363635", +"5n c #353736", +"5o c #373836", +"5p c #625923", +"5q c #3A3934", +"5r c #383938", +"5s c #3D3D39", +"5t c #55503A", +"5u c #988841", +"5v c #B8AA57", +"5w c #9A8B3D", +"5x c #4F4E42", +"5y c #404140", +"5z c #403F40", +"5A c #404141", +"5B c #434442", +"5C c #484743", +"5D c #5E5939", +"5E c #77701F", +"5F c #595535", +"5G c #937F26", +"5H c #525042", +"5I c #575758", +"5J c #565656", +"5K c #766C2A", +"5L c #5B594B", +"5M c #505151", +"5N c #515146", +"5O c #79733F", +"5P c #A69D4D", +"5Q c #888661", +"5R c #585950", +"5S c #464445", +"5T c #414141", +"5U c #675F3B", +"5V c #968438", +"5W c #5E563A", +"5X c #4C4931", +"5Y c #6B5F26", +"5Z c #3C3C3D", +"5& c #BABDC7", +"6 c #C7CBE4", +"60 c #9B9FBF", +"61 c #6E7083", +"62 c #50505A", +"63 c #4C4E56", +"64 c #6A6E7E", +"65 c #A1A4C6", +"66 c #A4A8CF", +"67 c #A7ACD0", +"68 c #575869", +"69 c #3E3F48", +"6a c #545664", +"6b c #AFB4CB", +"6c c #F8F9FD", +"6d c #CACFE1", +"6e c #45464C", +"6f c #323333", +"6g c #3A3933", +"6h c #625A21", +"6i c #363536", +"6j c #383836", +"6k c #383839", +"6l c #3D3B38", +"6m c #655D35", +"6n c #968536", +"6o c #B5A855", +"6p c #978A49", +"6q c #5F5B42", +"6r c #42413F", +"6s c #454540", +"6t c #474741", +"6u c #54513E", +"6v c #7F7728", +"6w c #625A1D", +"6x c #49493C", +"6y c #696241", +"6z c #796B26", +"6A c #494847", +"6B c #484948", +"6C c #565553", +"6D c #73672A", +"6E c #59564D", +"6F c #504F51", +"6G c #4C4D4D", +"6H c #4B4C4D", +"6I c #4B4949", +"6J c #5B573D", +"6K c #6F652C", +"6L c #6C693B", +"6M c #928947", +"6N c #928C5F", +"6O c #727159", +"6P c #919068", +"6Q c #8F8343", +"6R c #87773D", +"6S c #45423C", +"6T c #3A3939", +"6U c #625A27", +"6V c #4F492B", +"6W c #5D606A", +"6X c #C4C9E9", +"6Y c #9DA2C2", +"6Z c #52535C", +"6& c #2F2E2E", +"7 c #2C2C2D", +"70 c #2E2E2F", +"71 c #6A6A7D", +"72 c #A0A4C6", +"73 c #999FBF", +"74 c #9396B7", +"75 c #545663", +"76 c #1A1A1A", +"77 c #1B1A1B", +"78 c #252627", +"79 c #C1C2C8", +"7a c #F4F7FD", +"7b c #828699", +"7c c #31302F", +"7d c #423F38", +"7e c #686024", +"7f c #353433", +"7g c #343434", +"7h c #373738", +"7i c #5E5331", +"7j c #4B472F", +"7k c #484736", +"7l c #696336", +"7m c #9F9043", +"7n c #AD9E49", +"7o c #CBCA4D", +"7p c #D1D055", +"7q c #928528", +"7r c #4F4B2F", +"7s c #444341", +"7t c #444443", +"7u c #857638", +"7v c #5B5536", +"7w c #72682A", +"7x c #53534E", +"7y c #49494A", +"7z c #4A4A48", +"7A c #756E43", +"7B c #67623B", +"7C c #444543", +"7D c #49483F", +"7E c #605B38", +"7F c #E8B02D", +"7G c #FEE26F", +"7H c #A4A174", +"7I c #3E3D3B", +"7J c #383837", +"7K c #383937", +"7L c #75692D", +"7M c #423E2F", +"7N c #878BA5", +"7O c #A9AED5", +"7P c #8385A3", +"7Q c #262827", +"7R c #1C1D1C", +"7S c #1A1B1A", +"7T c #434348", +"7U c #C0C4DA", +"7V c #9A9DBD", +"7W c #4A4C59", +"7X c #959AB9", +"7Y c #656672", +"7Z c #282929", +"7& c #262626", +"8 c #252425", +"80 c #F6F7F6", +"81 c #B5B7C7", +"82 c #2D2D2E", +"83 c #454336", +"84 c #5A5222", +"85 c #313132", +"86 c #333232", +"87 c #323332", +"88 c #353434", +"89 c #393936", +"8a c #83742D", +"8b c #424131", +"8c c #393838", +"8d c #3A393B", +"8e c #3D3E3B", +"8f c #787537", +"8g c #FAFA3A", +"8h c #FCE331", +"8i c #816630", +"8j c #484742", +"8k c #958031", +"8l c #4C483C", +"8m c #454546", +"8n c #54534F", +"8o c #746828", +"8p c #51504E", +"8q c #4D4D4E", +"8r c #4B4C4C", +"8s c #4A4B4B", +"8t c #686245", +"8u c #E5D047", +"8v c #CCC348", +"8w c #565447", +"8x c #444138", +"8y c #C88E16", +"8z c #E4B933", +"8A c #63624D", +"8B c #393938", +"8C c #363736", +"8D c #3B3934", +"8E c #6B612E", +"8F c #878A9F", +"8G c #A7ACD2", +"8H c #5A5C6F", +"8I c #171616", +"8J c #151414", +"8K c #141313", +"8L c #80818D", +"8M c #EFF3FD", +"8N c #818496", +"8O c #2E2F32", +"8P c #A6A9C7", +"8Q c #66666D", +"8R c #28282A", +"8S c #272829", +"8T c #292829", +"8U c #E4E4E3", +"8V c #C2C5D9", +"8W c #2B2C2D", +"8X c #423E29", +"8Y c #4B4622", +"8Z c #312F30", +"8& c #323232", +"9 c #323233", +"90 c #333434", +"91 c #6D6C41", +"92 c #DCD056", +"93 c #7A6C32", +"94 c #393A39", +"95 c #39393A", +"96 c #3B3B3A", +"97 c #4C4C3B", +"98 c #C1B932", +"99 c #C5A022", +"9a c #50493A", +"9b c #41413F", +"9c c #59533F", +"9d c #817326", +"9e c #535352", +"9f c #55534C", +"9g c #756A25", +"9h c #525149", +"9i c #817742", +"9j c #967F35", +"9k c #7B6E36", +"9l c #686537", +"9m c #867B3F", +"9n c #625C2E", +"9o c #36362E", +"9p c #5E551B", +"9q c #5B522D", +"9r c #3A3C3A", +"9s c #49462F", +"9t c #5C5331", +"9u c #333133", +"9v c #6E6F7D", +"9w c #B2B5DA", +"9x c #81849D", +"9y c #161615", +"9z c #131515", +"9A c #141415", +"9B c #777986", +"9C c #F0F7FE", +"9D c #9FA3AE", +"9E c #393B3C", +"9F c #BDC0D6", +"9G c #5E5F6B", +"9H c #1E1E1D", +"9I c #272726", +"9J c #292929", +"9K c #3B3A39", +"9L c #EAE9EA", +"9M c #ACB0C1", +"9N c #242425", +"9O c #4C4421", +"9P c #413F25", +"9Q c #303031", +"9R c #323132", +"9S c #333432", +"9T c #554E2F", +"9U c #7F732B", +"9V c #B5A83B", +"9W c #9E8944", +"9X c #928549", +"9Y c #4E4B3E", +"9Z c #3C3C3B", +"9& c #42413A", +"a c #807024", +"a0 c #454435", +"a1 c #3F3F40", +"a2 c #40403F", +"a3 c #756739", +"a4 c #62592D", +"a5 c #565548", +"a6 c #70662D", +"a7 c #504E4D", +"a8 c #6F694C", +"a9 c #A39042", +"aa c #6E643F", +"ab c #4A4945", +"ac c #353536", +"ad c #252525", +"ae c #292A28", +"af c #3D3B22", +"ag c #756C3B", +"ah c #786B22", +"ai c #5B563E", +"aj c #3D3D3C", +"ak c #393A38", +"al c #363838", +"am c #625A28", +"an c #49462D", +"ao c #494A4D", +"ap c #A7A9CA", +"aq c #CED4E4", +"ar c #323335", +"as c #151515", +"at c #4D4F58", +"au c #E3E8F6", +"av c #DEE0E5", +"aw c #9C9B9B", +"ax c #BCBED6", +"ay c #53545E", +"az c #171818", +"aA c #212021", +"aB c #2A2B2A", +"aC c #686968", +"aD c #F4F5F7", +"aE c #86868E", +"aF c #1A1A1B", +"aG c #554B1F", +"aH c #3D3A28", +"aI c #323130", +"aJ c #474230", +"aK c #786A2A", +"aL c #564E25", +"aM c #393833", +"aN c #363735", +"aO c #383936", +"aP c #595238", +"aQ c #978949", +"aR c #A1954D", +"aS c #787045", +"aT c #796B20", +"aU c #3F3F3C", +"aV c #3E3F40", +"aW c #3F4040", +"aX c #927C2F", +"aY c #4E4A36", +"aZ c #434345", +"a& c #535252", +"b c #595745", +"b0 c #6B6234", +"b1 c #5E5E50", +"b2 c #93884E", +"b3 c #85793E", +"b4 c #514F47", +"b5 c #484849", +"b6 c #292A2A", +"b7 c #1E1D1D", +"b8 c #1D1D1D", +"b9 c #21201C", +"ba c #655A16", +"bb c #6E653B", +"bc c #948E5E", +"bd c #615D49", +"be c #3E3F3B", +"bf c #6E6025", +"bg c #3F3D31", +"bh c #343534", +"bi c #353534", +"bj c #646779", +"bk c #CED1EB", +"bl c #CBCBCF", +"bm c #4B4D4D", +"bn c #242424", +"bo c #282A2B", +"bp c #979AB4", +"bq c #EBEFF9", +"br c #FAFAFC", +"bs c #ACAEBE", +"bt c #303135", +"bu c #181716", +"bv c #1E1E1E", +"bw c #545553", +"bx c #DDDDDD", +"by c #C4C7D5", +"bz c #404147", +"bA c #181917", +"bB c #5F541F", +"bC c #3E3D2A", +"bD c #63592D", +"bE c #675D21", +"bF c #3E3B2D", +"bG c #363634", +"bH c #373837", +"bI c #343635", +"bJ c #2E2F2E", +"bK c #3A3A38", +"bL c #54503B", +"bM c #99863D", +"bN c #7C7020", +"bO c #59553A", +"bP c #43423E", +"bQ c #414040", +"bR c #534D3F", +"bS c #7F7025", +"bT c #44433F", +"bU c #615D54", +"bV c #ACA369", +"bW c #B6AE58", +"bX c #9F9046", +"bY c #615B49", +"bZ c #4C4D4B", +"b& c #49484A", +"c c #2D2C2C", +"c0 c #2A2A29", +"c1 c #1D1E1D", +"c2 c #37331E", +"c3 c #655B18", +"c4 c #232220", +"c5 c #2B2B21", +"c6 c #6F673A", +"c7 c #B4AA5A", +"c8 c #BEB449", +"c9 c #505037", +"ca c #363637", +"cb c #353435", +"cc c #2B2C2F", +"cd c #717586", +"ce c #D3D8E8", +"cf c #F4F3F5", +"cg c #CFD0CF", +"ch c #C3C4C3", +"ci c #BDBDC9", +"cj c #999EBB", +"ck c #E3E4F3", +"cl c #E9E9EC", +"cm c #A3A4A4", +"cn c #838383", +"co c #B0B0B0", +"cp c #E9EAEC", +"cq c #D0D4E0", +"cr c #64646D", +"cs c #212224", +"ct c #464625", +"cu c #AAA13F", +"cv c #96882A", +"cw c #4C4829", +"cx c #363633", +"cy c #353635", +"cz c #373838", +"cA c #343333", +"cB c #7F7127", +"cC c #575229", +"cD c #7A6F38", +"cE c #A99A56", +"cF c #6E6747", +"cG c #817948", +"cH c #6F6428", +"cI c #424240", +"cJ c #363535", +"cK c #796B46", +"cL c #F4C125", +"cM c #E0D53D", +"cN c #817E5E", +"cO c #535151", +"cP c #4C4C4D", +"cQ c #494749", +"cR c #2D2D2D", +"cS c #3D3E3D", +"cT c #3B3C3B", +"cU c #292928", +"cV c #433E1B", +"cW c #575022", +"cX c #313130", +"cY c #282827", +"cZ c #2F2A20", +"c& c #B09436", +"d c #CEB72E", +"d0 c #4A4B38", +"d1 c #383838", +"d2 c #232324", +"d3 c #505260", +"d4 c #9093A8", +"d5 c #BABCD0", +"d6 c #C4C8D8", +"d7 c #999CB3", +"d8 c #595B6B", +"d9 c #68697C", +"da c #A1A4BD", +"db c #C8CBDE", +"dc c #D0D3E3", +"dd c #B9BDD2", +"de c #85889B", +"df c #51525D", +"dg c #2E2F2F", +"dh c #1C1C1B", +"di c #797926", +"dj c #F1DB33", +"dk c #BC9E50", +"dl c #4F4D43", +"dm c #393738", +"dn c #3B3A3A", +"do c #3B3A3B", +"dp c #2B2A2A", +"dq c #1E201F", +"dr c #2B2922", +"ds c #7D6C1E", +"dt c #363427", +"du c #313031", +"dv c #413E34", +"dw c #8E8641", +"dx c #E9E261", +"dy c #C1AA36", +"dz c #43413F", +"dA c #303130", +"dB c #262727", +"dC c #302F31", +"dD c #585753", +"dE c #7F7243", +"dF c #797445", +"dG c #716C4B", +"dH c #877F49", +"dI c #616048", +"dJ c #525250", +"dK c #4A4B4C", +"dL c #2A2B2B", +"dM c #454445", +"dN c #313131", +"dO c #5F5617", +"dP c #3D391F", +"dQ c #272827", +"dR c #4E4838", +"dS c #9F893D", +"dT c #423B22", +"dU c #2D2B21", +"dV c #2F2D2E", +"dW c #3A3B39", +"dX c #272728", +"dY c #1F1E1E", +"dZ c #2D2D30", +"d& c #303137", +"e c #2B2D30", +"e0 c #1E2020", +"e1 c #202022", +"e2 c #2D2C32", +"e3 c #42434B", +"e4 c #4A4C55", +"e5 c #45474E", +"e6 c #3C3D40", +"e7 c #252526", +"e8 c #1C1A1B", +"e9 c #21211C", +"ea c #49411E", +"eb c #4A4431", +"ec c #8E814D", +"ed c #8A7F4F", +"ee c #4E4C3D", +"ef c #3C3B3B", +"eg c #3A3B3B", +"eh c #3C3B3C", +"ei c #272527", +"ej c #3A3423", +"ek c #706318", +"el c #353432", +"em c #313231", +"en c #45412E", +"eo c #958330", +"ep c #A49C2E", +"eq c #756227", +"er c #30302F", +"es c #282626", +"et c #262526", +"eu c #535354", +"ev c #525251", +"ew c #53534B", +"ex c #6B6645", +"ey c #999261", +"ez c #757363", +"eA c #333433", +"eB c #494849", +"eC c #605719", +"eD c #464333", +"eE c #4E4831", +"eF c #9A844A", +"eG c #4A4632", +"eH c #323030", +"eI c #212120", +"eJ c #353636", +"eK c #3B3B3C", +"eL c #323131", +"eM c #242323", +"eN c #252524", +"eO c #232423", +"eP c #343433", +"eQ c #2B2A2B", +"eR c #1E1F1F", +"eS c #3E3C3B", +"eT c #5F583E", +"eU c #7D7653", +"eV c #454340", +"eW c #3D3C3B", +"eX c #2C2B2B", +"eY c #5A5029", +"eZ c #595118", +"e& c #343233", +"f c #60593D", +"f0 c #8D7F25", +"f1 c #514E31", +"f2 c #41403F", +"f3 c #3F3E3E", +"f4 c #2F302E", +"f5 c #272627", +"f6 c #565456", +"f7 c #555553", +"f8 c #55534B", +"f9 c #706C4B", +"fa c #938C61", +"fb c #6B695B", +"fc c #484747", +"fd c #363227", +"fe c #6F621C", +"ff c #6D6745", +"fg c #A28B45", +"fh c #433F30", +"fi c #2C2D2C", +"fj c #333333", +"fk c #282828", +"fl c #202021", +"fm c #3C3B3D", +"fn c #3B393B", +"fo c #393939", +"fp c #272626", +"fq c #1E1D1E", +"fr c #202122", +"fs c #242523", +"ft c #242222", +"fu c #222322", +"fv c #3D3E3E", +"fw c #43423F", +"fx c #6C6749", +"fy c #A89B63", +"fz c #6F6A4B", +"fA c #454443", +"fB c #2D2E2D", +"fC c #806E26", +"fD c #4F4B2C", +"fE c #4E492A", +"fF c #7F7326", +"fG c #4E4A3A", +"fH c #484647", +"fI c #494949", +"fJ c #2F312F", +"fK c #575757", +"fL c #575556", +"fM c #565455", +"fN c #3B3832", +"fO c #96905F", +"fP c #716F5F", +"fQ c #615B3F", +"fR c #93842C", +"fS c #A78F3A", +"fT c #555245", +"fU c #2B2B2A", +"fV c #262525", +"fW c #212223", +"fX c #424040", +"fY c #404041", +"fZ c #232223", +"f& c #1F1F20", +"g c #201F1F", +"g0 c #1F2120", +"g1 c #201F20", +"g2 c #20201F", +"g3 c #1F201F", +"g4 c #1F2021", +"g5 c #2B2C2C", +"g6 c #3C3C3C", +"g7 c #424142", +"g8 c #424342", +"g9 c #4D4C42", +"ga c #827847", +"gb c #AC9F62", +"gc c #67644D", +"gd c #444338", +"ge c #877822", +"gf c #877A30", +"gg c #786A1E", +"gh c #3A392D", +"gi c #4A4C4B", +"gj c #4D4C4B", +"gk c #595959", +"gl c #575657", +"gm c #54524D", +"gn c #766C45", +"go c #E7C253", +"gp c #E3DA47", +"gq c #66664C", +"gr c #222323", +"gs c #242426", +"gt c #212222", +"gu c #222121", +"gv c #292727", +"gw c #2B2929", +"gx c #434544", +"gy c #434343", +"gz c #212221", +"gA c #222220", +"gB c #222021", +"gC c #202121", +"gD c #212121", +"gE c #222120", +"gF c #434243", +"gG c #444544", +"gH c #454644", +"gI c #595746", +"gJ c #9D9350", +"gK c #C9C35E", +"gL c #B7AC35", +"gM c #877A25", +"gN c #4B4B44", +"gO c #3D3C3D", +"gP c #4B4D4C", +"gQ c #5C5C5B", +"gR c #5A5B5B", +"gS c #5A595A", +"gT c #383637", +"gU c #515051", +"gV c #535251", +"gW c #554E3C", +"gX c #C58E18", +"gY c #B5A736", +"gZ c #53534D", +"g& c #4C4B4A", +"h c #2A2C2A", +"h0 c #242423", +"h1 c #232323", +"h2 c #383738", +"h3 c #474647", +"h4 c #464546", +"h5 c #39383A", +"h6 c #242525", +"h7 c #242322", +"h8 c #232322", +"h9 c #2D2C2D", +"ha c #3E3F3F", +"hb c #555547", +"hc c #DADB39", +"hd c #F5DE2F", +"he c #73623C", +"hf c #3E3D3D", +"hg c #494A49", +"hh c #4F4E4F", +"hi c #4F514F", +"hj c #5B5A5A", +"hk c #5A5959", +"hl c #555354", +"hm c #3E3E3F", +"hn c #3C3C36", +"ho c #565551", +"hp c #505051", +"hq c #4B4D4B", +"hr c #302F2F", +"hs c #3C3D3D", +"ht c #3D3D3E", +"hu c #363636", +"hv c #30312F", +"hw c #4A494A", +"hx c #484947", +"hy c #363537", +"hz c #2B2B2C", +"hA c #2E2E2D", +"hB c #4A4A4B", +"hC c #4B4C4A", +"hD c #4D4C4A", +"hE c #5A593F", +"hF c #75692B", +"hG c #4B4948", +"hH c #3C3D3C", +"hI c #3A3A39", +"hJ c #4E4D4D", +"hK c #505252", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F G H I J K L L K M N O O P Q R", +" S T U 6 V W X X Y Z &0 000102030405060708090a0b0c K0d0e0f B0g0h0i0j0k0l0k0l0m0n0o0l0p0q0r0s0t0u0v0w0x0y0z0A0g0A B0B0C0D0E u t0b", +"0F0G0H0I0J c0K0L0M0N0O0P0Q0R0S0T0a0U0V F0B A0W0h0k0X0Y0Z0&1 1 10111211131415161717171418191a1b1c1d1e1f1g1h1i1j1k0t0k1l1m B C1n1o", +"0J1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G0s1H1I1J1K1L1M1N1O1P1Q1R1S1S1T1U1V1T1W1X1Y1Z1W1Q1T1&2 20212223241425262728292a2b2c0u2d1l1m", +"2e2f2g2h2i2j2k2l q2m2n2o E2p0i2q2r2s2t2u2v2w2x2y1T1Y2z2A2B2C2D2E2F2G2H2F2I2I2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 3031323334", +"35363738393a3b3c y E3d3e3f3g3h3i1M3j3k3l3m3n3o2H2J2I3p3q3q1T3r3s3t3u3v3w3x3x3y3s3s3z3A3B3C3D3E3F3E3G3H3I3J2z3K3L3M3N3O3P3Q3R3S3T", +"3U3V3W3X3Y3Z3&4 4041424344451O2V1W2Q464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J1R4K4L4M4N4O", +" o q4P4Q1n4R4S4T4U4V4W4X4Y4Z4&5 2E505152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A2I5B2C5C5D5E5F5G5H45", +"5I5J5K5L C5M0m3g5N5O5P5Q5R5S2G505T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f6g6h5m6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B", +"0c6C6D6E6F0u6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e6f7f7g6i7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v1X3M", +" w4R7w7x0u1J1a7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 56808182838485868788898a8b8c8d8e8f8g8h8i3F2H8j8k8l8m3L", +" E8n8o8p8q8r8s188t8u8v8w5y8x8y8z8A8B8C8D8E888F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T5m8U8V8W8X8Y8Z8&9 909192939495969798999a9b2I9c9d4F5S1T", +"9e9f9g0o6G119h9i9j9k9l9m9n9o9p9q9r5r8C9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a24Ca3a43u1X1Y", +"0Ca5a63qa7a8a9aaabacadaeafagahaiajakalaman6faoapaqarasasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaW7saXaYaZ2Q1Z", +"a&b b0b1b2b3b4b51Wb69Hb7b8b9babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbBbCbDbEbFbGaNbHbIbJbKbLbMbNbObPbQbRbSbT2F3p1T", +"bUbVbWbXbYbZ1Mb&1Sc c0bnc1c2c3c4c5c6c7c8c9cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcy5ocz8c7fbnadcAcBcCcDcEcFcGcHcIcJ4q2B", +"cKcLcMcNcOcP1117cQcRcScTcUcVcWcXcYcZc&d d04rd17 d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkdldmd15r4sdndodpdqdrdsdtdudvdwdxdydzdAdBdC", +"dDdEdFdGdHdIdJdK1XdLdM2UdNdOdPdQdRdSdTdUdVbHdWczdXdYd2dZd&e e0e1e2e3e4e5e686e7e8e9eaebecedeeefegehaj95eiejekelemeneoepeqer9Qeset", +"0ceu9eevewexeyez3ieAeB1Tb6eCeDeEeFeGeHdXeIdBeJeK95eL9IeMeNeieOb8b7eMbJeP7geQeR7R7Rc19ReSeT1ueUeV4ba1eWeXeYeZe&f f0f1f2f3968cf4f5", +" tf6f7 BcO0tf8f9fafb0ifcfdfefffgfhetfifjfkfleNeL4q4bfm8BfndnfofpfqdYfr9NfsftdYb79Hfu88fvf3fwfxfyfzfA4CfBfCfDfEfFfGfH1Ub5fI6B4IfJ", +" qfKfLfMeu B1G0tfN4wfOfPfQfRfSfT2B6ifU78dXfVeMfWc0dWega1fXfY5AeJfZf&g g0g1f&g2g3g4g5g63Fg72Jg8g9gagbgcgdgegfgggh6k2VfIfIgi1Lgjfv", +"gkgk Ogl K1n D5M8818gmgngogpgq12174Z3FeXgreMgsgtgugvgwfj3Fgx3IgyaNadgzgAgBgCgDgEbnacgFaZ4H2DgGgH4&gIgJgKgLgMgN2BcygOfIgP3h101H6B", +"gQgRgS1A0agl5J1HgTgUgVgWgXgYgZ0Y8q6Gg&2Jfpb6h f5bnh0h19Nh21Uh31Wh4h5dQh6h7h1h8adh9ha1Z1Xh31W1Sb5b5fIhbhchdhe1612fIhfakhghh0nhi0t", +"04 j3Vhjhk q Q2R940Dhlhmhnhoevhp2d0u0ohqhrhs46hthuhvadeNdA2Xhw7y2Xhxf3hyhzhA82aca21Yhghwhw7yhB4513hChDhEhFhG3g0Z3q3ghHhIhJhK1ma&"}; diff --git a/2009-x64/cps4.03/icons/cpscOptions.xpm b/2009-x64/cps4.03/icons/cpscOptions.xpm new file mode 100644 index 0000000..a506d65 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscOptions.xpm @@ -0,0 +1,994 @@ +/* XPM */ +static char *CPSCOPT_xpm[]={ +"64 24 967 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6B6A", +" 7 c #777567", +" 8 c #C5C06B", +" 9 c #8A8968", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #555455", +" G c #545554", +" H c #545456", +" I c #565555", +" J c #565556", +" K c #565757", +" L c #575856", +" M c #585757", +" N c #595859", +" O c #585859", +" P c #585A5A", +" Q c #6D6D6D", +" R c #6C6D6C", +" S c #6C6B6B", +" T c #6A6A6A", +" U c #6B6C6A", +" V c #7A7769", +" W c #888467", +" X c #948A5B", +" Y c #A79B58", +" Z c #978B46", +" & c #CAB839", +"0 c #B4A74D", +"00 c #75705F", +"01 c #5E5F5F", +"02 c #5F5E5E", +"03 c #5D5D5D", +"04 c #5B5B5C", +"05 c #5A5A5B", +"06 c #595B5A", +"07 c #595A59", +"08 c #585857", +"09 c #575858", +"0a c #575756", +"0b c #555656", +"0c c #555554", +"0d c #535455", +"0e c #535452", +"0f c #525352", +"0g c #515152", +"0h c #525150", +"0i c #505052", +"0j c #515050", +"0k c #4F5050", +"0l c #504F50", +"0m c #50504F", +"0n c #504F4F", +"0o c #504E4F", +"0p c #4E504F", +"0q c #4F4F4E", +"0r c #4F4F50", +"0s c #505050", +"0t c #4F4F4F", +"0u c #505051", +"0v c #515051", +"0w c #505150", +"0x c #525252", +"0y c #545354", +"0z c #535454", +"0A c #555454", +"0B c #8E8969", +"0C c #BFBE7C", +"0D c #928D6C", +"0E c #A59C66", +"0F c #A49858", +"0G c #A09559", +"0H c #847B57", +"0I c #706C57", +"0J c #63635E", +"0K c #615F60", +"0L c #6F6940", +"0M c #6C664E", +"0N c #81784E", +"0O c #8C8154", +"0P c #5F5F5B", +"0Q c #585A59", +"0R c #565657", +"0S c #555655", +"0T c #525151", +"0U c #4F5051", +"0V c #4E4F4F", +"0W c #4E4F4E", +"0X c #4D4E4F", +"0Y c #4D4E4D", +"0Z c #4E4E4D", +"0& c #4C4C4C", +"1 c #4C4B4C", +"10 c #4B4A4C", +"11 c #4A4B4A", +"12 c #4C4C4A", +"13 c #4A4C4A", +"14 c #4B4B4A", +"15 c #4A4A4A", +"16 c #4C4A4C", +"17 c #4B4C4B", +"18 c #4B4B4B", +"19 c #4D4B4C", +"1a c #4D4D4C", +"1b c #4D4D4D", +"1c c #4E4D4E", +"1d c #4F4E4F", +"1e c #505251", +"1f c #525152", +"1g c #545454", +"1h c #555355", +"1i c #A99344", +"1j c #DFD33C", +"1k c #9F9351", +"1l c #6F6A59", +"1m c #64635E", +"1n c #66655D", +"1o c #867C56", +"1p c #B09C52", +"1q c #AC9B54", +"1r c #948345", +"1s c #726A4C", +"1t c #5A5A57", +"1u c #6B664F", +"1v c #988D52", +"1w c #6C6A58", +"1x c #606059", +"1y c #505151", +"1z c #4F4E4E", +"1A c #4E4D4F", +"1B c #4C4E4D", +"1C c #4C4D4C", +"1D c #4B4B4C", +"1E c #4B4A4B", +"1F c #4B494B", +"1G c #494A4A", +"1H c #484A49", +"1I c #494948", +"1J c #494848", +"1K c #484847", +"1L c #474747", +"1M c #464748", +"1N c #464846", +"1O c #464746", +"1P c #464646", +"1Q c #474546", +"1R c #464647", +"1S c #484846", +"1T c #494747", +"1U c #484848", +"1V c #484949", +"1W c #4A4B4B", +"1X c #4B4A4A", +"1Y c #4C4A4B", +"1Z c #4B4C4C", +"1& c #4D4C4B", +"2 c #4E4D4D", +"20 c #4D4D4E", +"21 c #4F4D4E", +"22 c #4F5150", +"23 c #68655E", +"24 c #8C7F2E", +"25 c #867B3D", +"26 c #877D50", +"27 c #62605C", +"28 c #7B7250", +"29 c #C7AD4A", +"2a c #F4DA62", +"2b c #FDF6A0", +"2c c #FDF793", +"2d c #FBE05B", +"2e c #DAB43F", +"2f c #847747", +"2g c #545552", +"2h c #615E50", +"2i c #B7AC56", +"2j c #E8E667", +"2k c #6C6C4C", +"2l c #4D4D4B", +"2m c #4A4B4C", +"2n c #494A48", +"2o c #474948", +"2p c #474848", +"2q c #454645", +"2r c #454446", +"2s c #454444", +"2t c #434444", +"2u c #444444", +"2v c #434342", +"2w c #434242", +"2x c #424243", +"2y c #424242", +"2z c #414242", +"2A c #424241", +"2B c #434142", +"2C c #434243", +"2D c #424443", +"2E c #444544", +"2F c #454445", +"2G c #464644", +"2H c #454747", +"2I c #464747", +"2J c #474847", +"2K c #474748", +"2L c #4A4949", +"2M c #494949", +"2N c #4D4C4C", +"2O c #4D4C4D", +"2P c #5F5F5D", +"2Q c #746A32", +"2R c #666253", +"2S c #766F46", +"2T c #A39748", +"2U c #BFA636", +"2V c #D3B642", +"2W c #F9F085", +"2X c #FDFEEA", +"2Y c #FEFDDA", +"2Z c #FDEF72", +"2& c #EAC947", +"3 c #D1B13B", +"30 c #A39441", +"31 c #887D41", +"32 c #7A6D3A", +"33 c #C3B72F", +"34 c #5F5F46", +"35 c #464645", +"36 c #434443", +"37 c #404040", +"38 c #3F3F40", +"39 c #3E3F3E", +"3a c #3F403E", +"3b c #3E3E3E", +"3c c #3F3E3E", +"3d c #3E3D3F", +"3e c #3F3E3D", +"3f c #3D3E3E", +"3g c #3E3E3D", +"3h c #3E3D3E", +"3i c #3F3E3F", +"3j c #3E3F3F", +"3k c #3F3F3E", +"3l c #3F3E40", +"3m c #3F4140", +"3n c #414041", +"3o c #444243", +"3p c #444344", +"3q c #444445", +"3r c #454745", +"3s c #484746", +"3t c #484748", +"3u c #484948", +"3v c #4A4A4C", +"3w c #5B5C5B", +"3x c #6C6439", +"3y c #645F4E", +"3z c #5A5956", +"3A c #928427", +"3B c #C1B044", +"3C c #D9C55C", +"3D c #F0DD6B", +"3E c #F7F08F", +"3F c #E3DB79", +"3G c #CFB746", +"3H c #C2A337", +"3I c #BA9A26", +"3J c #B99E24", +"3K c #545346", +"3L c #494944", +"3M c #6A5F29", +"3N c #464545", +"3O c #454343", +"3P c #414042", +"3Q c #3F4040", +"3R c #3F3F3F", +"3S c #3D3D3D", +"3T c #3C3C3B", +"3U c #3B3A3B", +"3V c #3B3C3B", +"3W c #3A3B3B", +"3X c #3A3A3A", +"3Y c #3B393A", +"3Z c #3A3A38", +"3& c #393939", +"4 c #3A3839", +"40 c #393A39", +"41 c #3A3938", +"42 c #3B3B3A", +"43 c #3B3B3B", +"44 c #3B3C3C", +"45 c #3D3C3D", +"46 c #3E3D3D", +"47 c #403E3E", +"48 c #414040", +"49 c #414141", +"4a c #404240", +"4b c #414142", +"4c c #444442", +"4d c #434445", +"4e c #444545", +"4f c #454646", +"4g c #474545", +"4h c #494B49", +"4i c #666141", +"4j c #676044", +"4k c #5D5B4C", +"4l c #887716", +"4m c #B09420", +"4n c #FBEA5A", +"4o c #E8DD48", +"4p c #B39931", +"4q c #AC8D2E", +"4r c #B2912B", +"4s c #B09223", +"4t c #B0921F", +"4u c #B3971B", +"4v c #676038", +"4w c #474540", +"4x c #675D27", +"4y c #414240", +"4z c #413F40", +"4A c #3D3D3E", +"4B c #3C3C3C", +"4C c #3C3A3A", +"4D c #3A393B", +"4E c #38393A", +"4F c #393837", +"4G c #383738", +"4H c #383837", +"4I c #373637", +"4J c #363736", +"4K c #363637", +"4L c #373537", +"4M c #363536", +"4N c #353636", +"4O c #353434", +"4P c #353536", +"4Q c #363635", +"4R c #363535", +"4S c #353535", +"4T c #353736", +"4U c #373737", +"4V c #373837", +"4W c #383938", +"4X c #39393A", +"4Y c #3A3A3B", +"4Z c #3B3B3C", +"4& c #3C3D3D", +"5 c #3F403F", +"50 c #403F40", +"51 c #404141", +"52 c #434442", +"53 c #454544", +"54 c #454545", +"55 c #575758", +"56 c #615D45", +"57 c #776D38", +"58 c #595747", +"59 c #7C7013", +"5a c #8A781F", +"5b c #CAB21E", +"5c c #B3A31D", +"5d c #9E861E", +"5e c #9A7F18", +"5f c #967C18", +"5g c #927817", +"5h c #947C15", +"5i c #9A7F21", +"5j c #685E34", +"5k c #43433E", +"5l c #675D2B", +"5m c #3D3D3C", +"5n c #383638", +"5o c #3A3A39", +"5p c #353435", +"5q c #323332", +"5r c #313331", +"5s c #343333", +"5t c #383838", +"5u c #353534", +"5v c #323132", +"5w c #323232", +"5x c #313131", +"5y c #313231", +"5z c #313232", +"5A c #323333", +"5B c #343434", +"5C c #343435", +"5D c #383836", +"5E c #383839", +"5F c #3A3838", +"5G c #393B3A", +"5H c #3B3A3A", +"5I c #3C3D3E", +"5J c #3D3E3D", +"5K c #3E3E3F", +"5L c #40403F", +"5M c #414140", +"5N c #424142", +"5O c #444345", +"5P c #444645", +"5Q c #454746", +"5R c #5A584B", +"5S c #7C6D2F", +"5T c #54524C", +"5U c #6B6413", +"5V c #716715", +"5W c #776A1A", +"5X c #837718", +"5Y c #85770F", +"5Z c #8C7C0E", +"5& c #8A780E", +"6 c #87730F", +"60 c #897216", +"61 c #957B29", +"62 c #5B563C", +"63 c #42403D", +"64 c #655D27", +"65 c #3D3C3B", +"66 c #A1A0A0", +"67 c #A2A2A3", +"68 c #A3A3A4", +"69 c #A4A5A4", +"6a c #9F9FA0", +"6b c #A09E9E", +"6c c #A4A5A5", +"6d c #343233", +"6e c #898A8A", +"6f c #9E9F9E", +"6g c #9E9C9D", +"6h c #747575", +"6i c #2F2F2F", +"6j c #2E2D2E", +"6k c #2E2E2C", +"6l c #2E2F2F", +"6m c #2F302F", +"6n c #31302F", +"6o c #303031", +"6p c #353433", +"6q c #373738", +"6r c #393938", +"6s c #393A3A", +"6t c #3A3C3A", +"6u c #424143", +"6v c #434343", +"6w c #444443", +"6x c #444446", +"6y c #555450", +"6z c #786D31", +"6A c #6C6727", +"6B c #6E6615", +"6C c #716617", +"6D c #7B6B1A", +"6E c #786D15", +"6F c #807A0D", +"6G c #897C0D", +"6H c #8E790E", +"6I c #907813", +"6J c #907A26", +"6K c #4A4739", +"6L c #40403B", +"6M c #625926", +"6N c #A5A6A5", +"6O c #4F504F", +"6P c #2C2C2C", +"6Q c #424141", +"6R c #949494", +"6S c #262826", +"6T c #222221", +"6U c #3C3D3C", +"6V c #989898", +"6W c #8C8B8B", +"6X c #28282A", +"6Y c #2D2E2D", +"6Z c #909091", +"6& c #343534", +"7 c #29292A", +"70 c #2B2B2B", +"71 c #2A2B2C", +"72 c #2C2D2B", +"73 c #2C2D2C", +"74 c #2E2E2D", +"75 c #303030", +"76 c #313132", +"77 c #333232", +"78 c #363735", +"79 c #373736", +"7a c #383937", +"7b c #393838", +"7c c #3C3C3D", +"7d c #464445", +"7e c #454546", +"7f c #716A4D", +"7g c #C0B138", +"7h c #ABA35E", +"7i c #82783F", +"7j c #6E6819", +"7k c #72671B", +"7l c #7F6E1E", +"7m c #7E6F21", +"7n c #7F7912", +"7o c #897F0E", +"7p c #937D0F", +"7q c #927B15", +"7r c #5C5123", +"7s c #524B29", +"7t c #444439", +"7u c #615826", +"7v c #979797", +"7w c #2C2B2B", +"7x c #2F3030", +"7y c #2A2A28", +"7z c #333333", +"7A c #9E9FA0", +"7B c #6A6868", +"7C c #858385", +"7D c #B1B0B1", +"7E c #8C8C8B", +"7F c #5C5B5B", +"7G c #383737", +"7H c #201F20", +"7I c #272829", +"7J c #292829", +"7K c #292928", +"7L c #2A2B2A", +"7M c #2B2B2C", +"7N c #2E2E2E", +"7O c #312F30", +"7P c #323233", +"7Q c #333434", +"7R c #373838", +"7S c #383939", +"7T c #3D3C3E", +"7U c #41413F", +"7V c #424343", +"7W c #535352", +"7X c #615C4C", +"7Y c #BAAF33", +"7Z c #A29341", +"7& c #52514C", +"8 c #515043", +"80 c #6C651D", +"81 c #817215", +"82 c #827719", +"83 c #7F730F", +"84 c #887A0E", +"85 c #8B7614", +"86 c #4C431F", +"87 c #1D1E1D", +"88 c #34322B", +"89 c #8A7E44", +"8a c #978F30", +"8b c #525345", +"8c c #9E9E9E", +"8d c #333133", +"8e c #313130", +"8f c #B2B3B2", +"8g c #999998", +"8h c #858786", +"8i c #2A2A2A", +"8j c #2B2C2C", +"8k c #575757", +"8l c #B4B3B4", +"8m c #292929", +"8n c #2A2A29", +"8o c #2B2A2A", +"8p c #2B2C2B", +"8q c #2F2F2E", +"8r c #313332", +"8s c #353635", +"8t c #434244", +"8u c #515250", +"8v c #51524F", +"8w c #756B2D", +"8x c #4F4E47", +"8y c #504E43", +"8z c #756922", +"8A c #565127", +"8B c #544C17", +"8C c #453F1E", +"8D c #39372E", +"8E c #282826", +"8F c #22211A", +"8G c #413B1B", +"8H c #947F30", +"8I c #DBD033", +"8J c #5A5A3B", +"8K c #A0A1A2", +"8L c #333435", +"8M c #3A3B3A", +"8N c #99999A", +"8O c #9B9D9C", +"8P c #232323", +"8Q c #202021", +"8R c #6A6A6C", +"8S c #272625", +"8T c #737273", +"8U c #2B2A2B", +"8V c #2B2B2A", +"8W c #2C2C2D", +"8X c #2D2D2D", +"8Y c #2F2F30", +"8Z c #313030", +"8& c #333234", +"9 c #343433", +"90 c #363634", +"91 c #363737", +"92 c #3B3D3C", +"93 c #3E3C3D", +"94 c #3E3F40", +"95 c #444342", +"96 c #434345", +"97 c #535252", +"98 c #515252", +"99 c #54533F", +"9a c #686323", +"9b c #535142", +"9c c #6A6027", +"9d c #212121", +"9e c #201F1D", +"9f c #332D1C", +"9g c #4E4219", +"9h c #594D16", +"9i c #342E18", +"9j c #32302B", +"9k c #414239", +"9l c #A8A6A6", +"9m c #888987", +"9n c #ADADAC", +"9o c #777675", +"9p c #999798", +"9q c #29282A", +"9r c #2C2D2D", +"9s c #2E2D2D", +"9t c #A3A3A2", +"9u c #9A9A9B", +"9v c #949392", +"9w c #302F2E", +"9x c #2D2E2E", +"9y c #303231", +"9z c #333233", +"9A c #343335", +"9B c #403F3F", +"9C c #4E4E4E", +"9D c #515141", +"9E c #756A2F", +"9F c #796D2B", +"9G c #353327", +"9H c #413A1B", +"9I c #554B16", +"9J c #443D18", +"9K c #25241B", +"9L c #1E1D1D", +"9M c #1C1C1C", +"9N c #1F1E1E", +"9O c #323434", +"9P c #3C3B3B", +"9Q c #282628", +"9R c #3D3E3C", +"9S c #323031", +"9T c #474646", +"9U c #2B2C2D", +"9V c #303131", +"9W c #323131", +"9X c #323334", +"9Y c #373836", +"9Z c #3C3E3D", +"9& c #41403F", +"a c #474647", +"a0 c #535354", +"a1 c #515253", +"a2 c #515150", +"a3 c #4C4C4D", +"a4 c #796D47", +"a5 c #E7D33D", +"a6 c #A09632", +"a7 c #3A361C", +"a8 c #22231E", +"a9 c #1E1F1E", +"aa c #1E1E1D", +"ab c #1E1D1E", +"ac c #1C1C1E", +"ad c #2E2D2C", +"ae c #333332", +"af c #3C3C3E", +"ag c #5A5B5B", +"ah c #4A4848", +"ai c #525253", +"aj c #363636", +"ak c #5A5B5A", +"al c #3E3F3D", +"am c #3D3B3C", +"an c #424344", +"ao c #5F5F60", +"ap c #5E5F5E", +"aq c #4C4D4D", +"ar c #525353", +"as c #535351", +"at c #4D4F4E", +"au c #444237", +"av c #958D23", +"aw c #454522", +"ax c #202121", +"ay c #212021", +"az c #1F2021", +"aA c #1F1F1F", +"aB c #1D1E1E", +"aC c #3A3B39", +"aD c #6D6D6E", +"aE c #AEADAC", +"aF c #949493", +"aG c #A5A4A4", +"aH c #BFBFC0", +"aI c #939294", +"aJ c #939493", +"aK c #B2B4B3", +"aL c #7F7F7F", +"aM c #626463", +"aN c #ACACAD", +"aO c #B1AFB0", +"aP c #6A6969", +"aQ c #707070", +"aR c #767576", +"aS c #5A5958", +"aT c #B0AFB0", +"aU c #A1A2A2", +"aV c #A7A7A7", +"aW c #AAABA9", +"aX c #464546", +"aY c #CACACB", +"aZ c #7B7A7A", +"a& c #414241", +"b c #80807F", +"b0 c #737373", +"b1 c #ACACAA", +"b2 c #A6A6A7", +"b3 c #B2B0B0", +"b4 c #525251", +"b5 c #222222", +"b6 c #222122", +"b7 c #212321", +"b8 c #1F1E20", +"b9 c #1E1F1F", +"ba c #242625", +"bb c #404041", +"bc c #AEAEAF", +"bd c #484647", +"be c #828381", +"bf c #777677", +"bg c #A0A09F", +"bh c #3A393A", +"bi c #B2B2B1", +"bj c #737374", +"bk c #787978", +"bl c #747475", +"bm c #7A7979", +"bn c #AFAEAD", +"bo c #6B6B6C", +"bp c #969695", +"bq c #4A494A", +"br c #B5B5B5", +"bs c #AFAFAE", +"bt c #5E5D5E", +"bu c #444343", +"bv c #838382", +"bw c #757675", +"bx c #6D6B6D", +"by c #9C9C9D", +"bz c #747273", +"bA c #565456", +"bB c #555553", +"bC c #252526", +"bD c #242524", +"bE c #232424", +"bF c #222323", +"bG c #232223", +"bH c #202220", +"bI c #211F20", +"bJ c #202120", +"bK c #6E6D6D", +"bL c #7E7F7E", +"bM c #3F3F3D", +"bN c #B0B0AF", +"bO c #AFAEAE", +"bP c #5F5E5F", +"bQ c #7A7C7C", +"bR c #A5A5A5", +"bS c #3E3D3C", +"bT c #767575", +"bU c #777676", +"bV c #7B7B7C", +"bW c #A4A4A5", +"bX c #413F3F", +"bY c #404140", +"bZ c #484849", +"b& c #B4B4B4", +"c c #676768", +"c0 c #B3B5B5", +"c1 c #858384", +"c2 c #787778", +"c3 c #525254", +"c4 c #B8B7B8", +"c5 c #B3B3B3", +"c6 c #818280", +"c7 c #575556", +"c8 c #565455", +"c9 c #4E4E4F", +"ca c #252625", +"cb c #252525", +"cc c #252324", +"cd c #242324", +"ce c #242423", +"cf c #232222", +"cg c #222322", +"ch c #222121", +"ci c #717273", +"cj c #7F7E7D", +"ck c #424341", +"cl c #565454", +"cm c #B0B0B1", +"cn c #595A5A", +"co c #C1C3C3", +"cp c #979697", +"cq c #9D9D9E", +"cr c #787877", +"cs c #7C7D7C", +"ct c #3F4041", +"cu c #787878", +"cv c #7D7C7D", +"cw c #616061", +"cx c #A1A19F", +"cy c #424342", +"cz c #BABBBA", +"cA c #B1B2B1", +"cB c #4C4B4B", +"cC c #908F8F", +"cD c #838384", +"cE c #868687", +"cF c #767877", +"cG c #C6C5C5", +"cH c #797A7A", +"cI c #595959", +"cJ c #272827", +"cK c #272726", +"cL c #262626", +"cM c #262625", +"cN c #242425", +"cO c #252426", +"cP c #242525", +"cQ c #232423", +"cR c #242424", +"cS c #242224", +"cT c #252524", +"cU c #2A2929", +"cV c #B5B4B3", +"cW c #464444", +"cX c #8B8D8C", +"cY c #5C5B5D", +"cZ c #7A797A", +"c& c #7E7E7F", +"d c #A9A9A9", +"d0 c #454644", +"d1 c #636463", +"d2 c #AAAAAC", +"d3 c #B2B2B3", +"d4 c #B2B1B1", +"d5 c #7E7F7F", +"d6 c #6B6A6A", +"d7 c #B4B5B4", +"d8 c #5C5C5B", +"d9 c #59585A", +"da c #2E302F", +"db c #272727", +"dc c #282727", +"dd c #272627", +"de c #272725", +"df c #262726", +"dg c #242526", +"dh c #252323", +"di c #494A49", +"dj c #888988", +"dk c #858485", +"dl c #9D9C9D", +"dm c #B3B2B3", +"dn c #464547", +"do c #474645", +"dp c #7B7B7B", +"dq c #7B7B7D", +"dr c #727372", +"ds c #838383", +"dt c #818182", +"du c #B3B4B3", +"dv c #626262", +"dw c #515352", +"dx c #B2B3B3", +"dy c #676667", +"dz c #DBDBDB", +"dA c #5B5D5B", +"dB c #B7B7B7", +"dC c #898888", +"dD c #B8B9B8", +"dE c #848484", +"dF c #363534", +"dG c #333131", +"dH c #292A28", +"dI c #292828", +"dJ c #272728", +"dK c #262728", +"dL c #262526", +"dM c #252726", +"dN c #373636", +"dO c #5D5D5C", +"dP c #7A7A7A", +"dQ c #717170", +"dR c #696969", +"dS c #49484A", +"dT c #4A4A49", +"dU c #4A4849", +"dV c #616060", +"dW c #818080", +"dX c #7F7E7F", +"dY c #545654", +"dZ c #504F51", +"d& c #6F6F70", +"e c #4D4E4E", +"e0 c #757575", +"e1 c #646565", +"e2 c #60605F", +"e3 c #868585", +"e4 c #878989", +"e5 c #555453", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F z G y H I J J I K L M M N O P", +" Q R S T U V W X Y Z &0 00 e0102030405060708090a0b I0c0d0e B0f0g0h0i0j0k0j0k0l0m0n0k0o0p0q0r0s0t0u0u0v0w0h0g0f0x B0y0z0A G u t0a", +"0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q090R0S F0y A0T0g0j0U0V0W0X0Y0Y0Z0&1 0&10111213141414111516171819171a1a1b1c0q0V1d0U0j1e1f B C1g1h", +"1i1j1k1l1m g1n1o1p1q1r1s1t1u1v1w1x B1y0r1z1A1B1C1D1E1F1G1H1I1J1K1K1L1M1N1L1O1P1Q1R1O1L1R1S1K1T1U1U1V151W1X1Y1Z1&2 20210n0t221e1f", +"232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m1W2n2o2p1L1Q2q2r2s2t2u2v2w2x2y2w2z2z2y2z2A2B2C2w2D2u2E2F2G2q2H2I2J2K2L2M141W1D2N2O0W1z0t", +"2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233342K1L352s362y2A2z373738393a3b3c3d3e3f3g3g3h3b3b3i3j3k3l3m3n3n2A2y3o3p3q2q3r3s3t3u1G113v182O1b", +"3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O2y3P3Q3k3R3f3S3T3U3V3W3X3U3U3Y3Z3&4 403X413X3X424344453g464748494a4b4c4d4e4f4g3t1U1I4h1517", +" o4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z394A4B4C4D4E4F4G4H4I4J4K4L4I4M4N4O4P4Q4R4S4T4J4U4V4W4X4Y4Z4B4&395 50512z522t53542H1L3t2L1X", +"55565758595a5b5c5d5e5f5g5h5i5j5k5l39465m3b434G5n5o4B3W5p5q5r5s5t5u5v5w5w5x5v5y5z5A5B5C4N4M5D5E5F5G5H4B5I5J5K5L5M5N365O5P5Q1L3t3u", +"0b5R5S5T5U5V5W5X5Y5Z5&6 6061626364652 6667680r4V696a6b6c0x6d6e6f6g6h6i6j6k6j6l6m6n6o5r5A6p5B4M6q6q6r6s6t44463k38486u6v6w6x1R1P3t", +" w6y6z0x6A6B6C6D6E6F6G6H6I6J6K6L6M3b6N6O6P6Q6R4U6g6S6T6U6V0x6W6X6Y6Z6&7 70717273746l7576775q4O78797a7b4D3V7c3S5K373n2y2x367d7e3s", +" E7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u367v7w7x6j7y7z7A482s7B7C5H7D7E7F7G7H7I7J7K7L7M737N6i7O5w7P7Q4S787R7S4X42437T393j7U2z5N7V6w7d1L", +"7W7X7Y7Z7&8 808182838485868788898a8b8c7z7z8d8e4O8f8g8h 58i8j6s8k6Z8l6r7K8m8n8o8p6P8q8q6o5v8r7z8s4P6q7S3&433V3S5J385L5M2A8t5O1P1Q", +"0z8u8v568w8x8y8z8A8B8C8D8E8F8G8H8I8J8K368L8M8N508O8P7H7H8Q038R8S8P8T0b8U8V8p8j8W8X6i8Y8Z778&9 9078915t6s8M92935K943Q4b5N95963N1R", +"97980w0V999a9b9c739d9e9f9g9h9i9j9k5H229l9m9n9o7Q9p9q9r9s9r3T9t9u9v8c9w6P6Y6j9x6i6m5x9y9z7Q9A8s784V7R4W4Y434B5J3j9B486Q2C6v2s541L", +" E0g0w9C209D9E9F9G9H9I9J9K9L9M9N9O9P7R6&1L4Z9Q7P9R73775y5y9S9x6Q9T9U7 6i759V9W765q5w9X5B5p8s9Y7R7b415H4Z7c9Z3b3Q9&4b2A2x2F3N1La ", +"a0a1a20s21a3a4a5a6a7a8a9aaabac9M7K454B6q5zad5w4Kaeafagah4U6p6sa0ai s1Waj2I05akak051U9B3q4I5tal8k D37am39 w2w9B3nai0Van1Uaoapaq2K", +"1garasa20tatauavawaxayazaA9NaB87ay783g4Aam8MaC3WaDaEaFaG8N3j22aHaIaJaKaLaM9vaNaO6RaPaQaR7SaSaTaUaVaW1WaXaYaZ6ua&b b01a6Nb1b2b3 O", +"0ba07Wb41y208pb5b6b79d9dazaAaAb8b9ba93bb5L3f3S0rbcbd9P3cbebf0zbg42bh1Obi4&bhbjbk403Xblbm9&bn0c3c37bobpbqbrbsbtbubvbwbxby2M2L 3bz", +" tbAbB B0T3hbCbDbEbFbGb6b6aybHbIbJ7H8s2y6Q495MbKbL3R5KbMbAbN8kbO02bPbQbR5JbSbTaZ5m9RbUbV MbW51bXbYbZb&987Dc c015c1c2c3c4c5c6031C", +" q8kc7c8c96Pcacbcccdce8Pcf8Pb6cgchbG8p2z3q2sbucicjck2z4bclcmcncocpcqaZaq3738crcsct51cucvcwcxcycycy19cz wcAcBcCcDcEcr1b8kcF6acGcH", +"cIcI M J46cJcKcLcMcNcOcPcQbDcRcScTcUcd5s1Pa 1RcIcVcBcW2qcucXcY69363p6v4c3o7VcHcj6v8tcZc&0&d 0&d07ed1d21fd31C6Od4bgcZaRd52O0Zd6d7", +"d8agd91ada7J8mdbdcdddedfcLdgcTcbbC9xdhcK6Q1WdibqdjcAdkdldm0RbP6N1Rdn5Q2Ido1PdpaLaX4fdqaLa drbidsdtdudvdwdxc913dydzdpdAdBdCaLdDdE", +"03 j7WdFdG8o8idH7KdIdcdJ6SdKcKdLdM75cKcadN1P2Oa3a3dOdPdQ6O1X0ydR2L2n2MdSbZ2McwaodTdU edVbq15 ldWdXdYcBdZd&0ne 6Oe0e10me2e3e4 0e5"}; diff --git a/2009-x64/cps4.03/icons/cpscPaintSelectEdge.xpm b/2009-x64/cps4.03/icons/cpscPaintSelectEdge.xpm new file mode 100644 index 0000000..4969455 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscPaintSelectEdge.xpm @@ -0,0 +1,750 @@ +/* XPM */ +static char *PAINTE_xpm[]={ +"41 24 723 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5E5E5F", +" b c #5D5E5D", +" c c #5E5D5D", +" d c #5D5E5C", +" e c #5C5C5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #B81E55", +" v c #8E0726", +" w c #76FFD8", +" x c #016A0C", +" y c #024E9A", +" z c #0B0732", +" A c #0575C0", +" B c #0005B8", +" C c #636264", +" D c #616362", +" E c #606161", +" F c #615F60", +" G c #5F5F5F", +" H c #5E5F5E", +" I c #5C5D5D", +" J c #5B5C5C", +" K c #595A5B", +" L c #5A5859", +" M c #5F5E5B", +" N c #6E6E63", +" O c #585757", +" P c #555655", +" Q c #555554", +" R c #545455", +" S c #555553", +" T c #545454", +" U c #545253", +" V c #535353", +" W c #525252", +" X c #515251", +" Y c #525152", +" Z c #515151", +" & c #525151", +"0 c #525051", +"00 c #525251", +"01 c #525250", +"02 c #515252", +"03 c #585754", +"04 c #846E5B", +"05 c #AA7152", +"06 c #574F49", +"07 c #525352", +"08 c #5E5D5F", +"09 c #5D5D5C", +"0a c #5D5B5C", +"0b c #5B5B5A", +"0c c #5A5A5A", +"0d c #595858", +"0e c #535454", +"0f c #5A5A56", +"0g c #BCBD7E", +"0h c #E7E763", +"0i c #69684F", +"0j c #505250", +"0k c #505050", +"0l c #4E4F50", +"0m c #4E4E4E", +"0n c #4F4F4F", +"0o c #4D4E4F", +"0p c #4E4E4D", +"0q c #4D4D4D", +"0r c #4D4D4C", +"0s c #4C4D4D", +"0t c #4D4C4C", +"0u c #4D4C4D", +"0v c #4C4C4C", +"0w c #4D4E4C", +"0x c #4E4F4D", +"0y c #6E6357", +"0z c #D19F71", +"0A c #E08D5B", +"0B c #7C412A", +"0C c #332F2F", +"0D c #4B4C4C", +"0E c #5B5959", +"0F c #595859", +"0G c #575857", +"0H c #555656", +"0I c #545354", +"0J c #535252", +"0K c #515050", +"0L c #4F514F", +"0M c #575551", +"0N c #BABB74", +"0O c #FAF958", +"0P c #BEBF47", +"0Q c #52534C", +"0R c #4B4B4B", +"0S c #4B4C4A", +"0T c #4B4A4A", +"0U c #4A4A4A", +"0V c #4A4A49", +"0W c #494A49", +"0X c #494A4A", +"0Y c #484949", +"0Z c #494948", +"0& c #474848", +"1 c #494849", +"10 c #484948", +"11 c #474948", +"12 c #494947", +"13 c #484848", +"14 c #4F4E4B", +"15 c #9B8466", +"16 c #EEB078", +"17 c #D98254", +"18 c #804026", +"19 c #302522", +"1a c #2B2C2B", +"1b c #474748", +"1c c #565756", +"1d c #555454", +"1e c #535352", +"1f c #505152", +"1g c #4F4F51", +"1h c #504F4E", +"1i c #4E4D4D", +"1j c #4C4C4D", +"1k c #4D4C4B", +"1l c #B7B86E", +"1m c #F9F956", +"1n c #BDBC43", +"1o c #4E4E47", +"1p c #474747", +"1q c #464747", +"1r c #464746", +"1s c #464546", +"1t c #464645", +"1u c #454545", +"1v c #444445", +"1w c #454344", +"1x c #444343", +"1y c #444344", +"1z c #434445", +"1A c #444443", +"1B c #444544", +"1C c #5B554E", +"1D c #C8A777", +"1E c #F5B278", +"1F c #C57148", +"1G c #783923", +"1H c #302420", +"1I c #212122", +"1J c #313232", +"1K c #484847", +"1L c #535151", +"1M c #505151", +"1N c #4D4F4E", +"1O c #4C4C4B", +"1P c #4A4B4A", +"1Q c #494949", +"1R c #494748", +"1S c #4F4D4A", +"1T c #B6B668", +"1U c #FAF957", +"1V c #BABB46", +"1W c #4A4B43", +"1X c #444242", +"1Y c #424142", +"1Z c #414241", +"1& c #414141", +"2 c #424041", +"20 c #414040", +"21 c #403F3F", +"22 c #414140", +"23 c #3F3F3F", +"24 c #3F4040", +"25 c #403F40", +"26 c #3E3F3F", +"27 c #3F3F3E", +"28 c #3F3F40", +"29 c #6D6353", +"2a c #DFB982", +"2b c #F3A872", +"2c c #B6633D", +"2d c #713620", +"2e c #2B211E", +"2f c #1F1F20", +"2g c #262525", +"2h c #3B3B3A", +"2i c #464545", +"2j c #4B4B4C", +"2k c #484748", +"2l c #454646", +"2m c #4B4C46", +"2n c #B6B663", +"2o c #FAF951", +"2p c #BBBB3F", +"2q c #47463F", +"2r c #3F3E3F", +"2s c #3E3D3D", +"2t c #333434", +"2u c #2A2829", +"2v c #3A3A3B", +"2w c #3C3D3D", +"2x c #3D3C3B", +"2y c #3C3B3B", +"2z c #3B3C3B", +"2A c #3A3C3C", +"2B c #3C3A3B", +"2C c #3B3B3C", +"2D c #3A3B3C", +"2E c #3A3B3B", +"2F c #44413E", +"2G c #948164", +"2H c #F1C489", +"2I c #E99867", +"2J c #A55534", +"2K c #63301D", +"2L c #251F1C", +"2M c #1E1E1D", +"2N c #222222", +"2O c #353534", +"2P c #414041", +"2Q c #424442", +"2R c #484A49", +"2S c #494747", +"2T c #474746", +"2U c #464444", +"2V c #444444", +"2W c #424342", +"2X c #484843", +"2Y c #B4B45D", +"2Z c #F9FA4F", +"2& c #B9B943", +"3 c #43433C", +"30 c #3B3B3B", +"31 c #39393A", +"32 c #302F30", +"33 c #1C1E1D", +"34 c #191919", +"35 c #2C2B2C", +"36 c #393738", +"37 c #383738", +"38 c #383737", +"39 c #373636", +"3a c #363737", +"3b c #373637", +"3c c #373736", +"3d c #383838", +"3e c #534C44", +"3f c #C9AC7B", +"3g c #FAC588", +"3h c #D98357", +"3i c #924628", +"3j c #50291B", +"3k c #1F1C1C", +"3l c #1C1B1B", +"3m c #1F1F1D", +"3n c #2F302F", +"3o c #404041", +"3p c #464741", +"3q c #B4B35B", +"3r c #FAFA50", +"3s c #B7B94B", +"3t c #41403A", +"3u c #393939", +"3v c #363636", +"3w c #2C2A2B", +"3x c #1A191A", +"3y c #181817", +"3z c #171918", +"3A c #232222", +"3B c #333334", +"3C c #343333", +"3D c #343534", +"3E c #343434", +"3F c #333234", +"3G c #333332", +"3H c #363634", +"3I c #6A604C", +"3J c #E1C28A", +"3K c #F7B87F", +"3L c #C97349", +"3M c #823E23", +"3N c #3D241A", +"3O c #1B1919", +"3P c #1B1A1A", +"3Q c #1F1D1D", +"3R c #2D2D2D", +"3S c #3C3C3C", +"3T c #3D3D3D", +"3U c #464646", +"3V c #454543", +"3W c #434342", +"3X c #454540", +"3Y c #B2B456", +"3Z c #F9F94E", +"3& c #B1B249", +"4 c #3F3F38", +"40 c #282727", +"41 c #181A18", +"42 c #171515", +"43 c #161717", +"44 c #1D1C1D", +"45 c #2B2C2C", +"46 c #2F3030", +"47 c #31312F", +"48 c #2F2F2F", +"49 c #312F2F", +"4a c #2F2F30", +"4b c #2F2E2E", +"4c c #4D453C", +"4d c #B69C70", +"4e c #F7D294", +"4f c #EFA16E", +"4g c #B4613A", +"4h c #74341D", +"4i c #2D1E17", +"4j c #191818", +"4k c #181918", +"4l c #1E1E1E", +"4m c #2B2B2C", +"4n c #373737", +"4o c #393A39", +"4p c #3B3C3C", +"4q c #3D3C3D", +"4r c #444345", +"4s c #404141", +"4t c #3E3E40", +"4u c #46443F", +"4v c #B3B256", +"4w c #F9F849", +"4x c #B1B043", +"4y c #3E3F38", +"4z c #343332", +"4A c #272626", +"4B c #181718", +"4C c #151415", +"4D c #151616", +"4E c #1B1C1C", +"4F c #282828", +"4G c #2C2C2B", +"4H c #2D2C2B", +"4I c #2D2C2C", +"4J c #2C2C2C", +"4K c #2B2D2C", +"4L c #3B3732", +"4M c #8D7A5A", +"4N c #EDCC8F", +"4O c #FAC88D", +"4P c #E28E5F", +"4Q c #A55433", +"4R c #682D19", +"4S c #271B16", +"4T c #171818", +"4U c #1F1E1E", +"4V c #2A2928", +"4W c #353535", +"4X c #383A38", +"4Y c #3A3A3A", +"4Z c #46463E", +"4& c #B2B454", +"5 c #F8F847", +"50 c #B1B041", +"51 c #3F3F36", +"52 c #353636", +"53 c #313132", +"54 c #262626", +"55 c #181618", +"56 c #141515", +"57 c #282928", +"58 c #292929", +"59 c #292A29", +"5a c #2B2A2B", +"5b c #312F2C", +"5c c #685C48", +"5d c #D7B982", +"5e c #FCDE9E", +"5f c #F9BA80", +"5g c #D47B50", +"5h c #934628", +"5i c #612817", +"5j c #231816", +"5k c #161616", +"5l c #1C1D1D", +"5m c #29292A", +"5n c #333433", +"5o c #343536", +"5p c #353536", +"5q c #373838", +"5r c #424242", +"5s c #404040", +"5t c #454641", +"5u c #B4B253", +"5v c #F8FA45", +"5w c #B2B13A", +"5x c #3F3F39", +"5y c #333333", +"5z c #262527", +"5A c #171718", +"5B c #161416", +"5C c #151615", +"5D c #1D1C1C", +"5E c #282829", +"5F c #2A2B2A", +"5G c #292829", +"5H c #2A2B29", +"5I c #524D3E", +"5J c #C5B27B", +"5K c #F9E3A2", +"5L c #FED99D", +"5M c #F0A06F", +"5N c #C06A43", +"5O c #873D22", +"5P c #592414", +"5Q c #1F1815", +"5R c #151516", +"5S c #1A1B1A", +"5T c #282827", +"5U c #313031", +"5V c #343334", +"5W c #393A38", +"5X c #424141", +"5Y c #474741", +"5Z c #B4B352", +"5& c #FAFA43", +"6 c #B1B339", +"60 c #373839", +"61 c #353435", +"62 c #232524", +"63 c #171717", +"64 c #171617", +"65 c #1F1F1F", +"66 c #2C2A2C", +"67 c #2B2A2A", +"68 c #2A2A2A", +"69 c #2C2B2B", +"6a c #79694F", +"6b c #EFD493", +"6c c #FEECAB", +"6d c #FCCB92", +"6e c #E48B5D", +"6f c #B45F3C", +"6g c #7D361D", +"6h c #58220F", +"6i c #211715", +"6j c #161515", +"6k c #1A1A19", +"6l c #272728", +"6m c #312F31", +"6n c #323133", +"6o c #333232", +"6p c #383839", +"6q c #393938", +"6r c #414342", +"6s c #5A5B44", +"6t c #E3E242", +"6u c #43423C", +"6v c #363537", +"6w c #272826", +"6x c #1A1A18", +"6y c #171817", +"6z c #191817", +"6A c #232221", +"6B c #2F302E", +"6C c #2E2E2E", +"6D c #2F2D2E", +"6E c #2D2E2D", +"6F c #634C3E", +"6G c #F1B77A", +"6H c #FED192", +"6I c #F7AD79", +"6J c #D97F53", +"6K c #A55333", +"6L c #773017", +"6M c #55200E", +"6N c #201713", +"6O c #171517", +"6P c #252424", +"6Q c #30312F", +"6R c #333132", +"6S c #343635", +"6T c #363838", +"6U c #393838", +"6V c #393A3A", +"6W c #3B3A3A", +"6X c #434243", +"6Y c #424341", +"6Z c #525240", +"6& c #44443E", +"7 c #3E3E3C", +"70 c #272625", +"71 c #1A1A1A", +"72 c #181818", +"73 c #19191A", +"74 c #343232", +"75 c #848283", +"76 c #989597", +"77 c #79787A", +"78 c #BF7F62", +"79 c #F49964", +"7a c #E88B5B", +"7b c #C86F45", +"7c c #994B2B", +"7d c #6F2C14", +"7e c #571E0C", +"7f c #241814", +"7g c #232423", +"7h c #303030", +"7i c #353434", +"7j c #363635", +"7k c #434444", +"7l c #191A1B", +"7m c #1C1B1A", +"7n c #2A292A", +"7o c #BAB7BA", +"7p c #D5D3D6", +"7q c #D2D0D1", +"7r c #CBC8CA", +"7s c #C8A7A0", +"7t c #B76548", +"7u c #A65436", +"7v c #883F21", +"7w c #6A2812", +"7x c #561E0D", +"7y c #281814", +"7z c #191918", +"7A c #181819", +"7B c #1E1F1F", +"7C c #2E2E2F", +"7D c #343435", +"7E c #343636", +"7F c #373739", +"7G c #3B3A3B", +"7H c #3B3C3A", +"7I c #3C3E3C", +"7J c #454546", +"7K c #434343", +"7L c #3D3D3E", +"7M c #1E1D1E", +"7N c #1D1E1E", +"7O c #2C2D2D", +"7P c #3A3A39", +"7Q c #3A3839", +"7R c #474546", +"7S c #A3A0A1", +"7T c #BBBABA", +"7U c #C7C4C7", +"7V c #BEBCBE", +"7W c #B3B0B3", +"7X c #A9A4A3", +"7Y c #80554E", +"7Z c #682919", +"7& c #60230F", +"8 c #4F1E0D", +"80 c #271A17", +"81 c #1A1B1B", +"82 c #1A1A1B", +"83 c #1E1D1D", +"84 c #363536", +"85 c #373738", +"86 c #383938", +"87 c #3A3939", +"88 c #3C3D3C", +"89 c #3E3D3E", +"8a c #3E3E3F", +"8b c #201F20", +"8c c #313030", +"8d c #3F3D3E", +"8e c #848485", +"8f c #A3A2A2", +"8g c #A5A3A4", +"8h c #A5A2A5", +"8i c #9F9F9F", +"8j c #959596", +"8k c #868585", +"8l c #6F6A6C", +"8m c #492A21", +"8n c #341C16", +"8o c #1E1B1B", +"8p c #1D1D1C", +"8q c #1C1D1B", +"8r c #1B1D1D", +"8s c #3A393A", +"8t c #3A3C3A", +"8u c #3A3B3A", +"8v c #3C3B3C", +"8w c #3E3E3D", +"8x c #3D3F3E", +"8y c #3F3E3E", +"8z c #484849", +"8A c #464748", +"8B c #2E2F2F", +"8C c #1F2020", +"8D c #222121", +"8E c #404140", +"8F c #828282", +"8G c #A19EA0", +"8H c #908E91", +"8I c #8B898A", +"8J c #878688", +"8K c #828181", +"8L c #7A7978", +"8M c #6C6B6D", +"8N c #575657", +"8O c #202020", +"8P c #1D1D1E", +"8Q c #1D1E1D", +"8R c #222322", +"8S c #3C3C3B", +"8T c #3C3C3D", +"8U c #3C3E3E", +"8V c #3F403F", +"8W c #4C4B4B", +"8X c #4A484A", +"8Y c #383937", +"8Z c #252524", +"8& c #4F4E4D", +"9 c #6F6F70", +"90 c #B0AEB0", +"91 c #ABAAAB", +"92 c #8A898A", +"93 c #797879", +"94 c #716F70", +"95 c #6B6A6B", +"96 c #656464", +"97 c #625F61", +"98 c #616061", +"99 c #1E1F1E", +"9a c #201F1F", +"9b c #20201F", +"9c c #1E201E", +"9d c #222321", +"9e c #3D3E3D", +"9f c #40403E", +"9g c #403E3F", +"9h c #41403F", +"9i c #404042", +"9j c #414143", +"9k c #434443", +"9l c #444543", +"9m c #4B4C4B", +"9n c #464647", +"9o c #3E3F40", +"9p c #616162", +"9q c #919091", +"9r c #B1B0B1", +"9s c #BDBCBE", +"9t c #9E9C9E", +"9u c #7F7F7F", +"9v c #6B6B6B", +"9w c #60605F", +"9x c #5A5A5B", +"9y c #212021", +"9z c #202121", +"9A c #202021", +"9B c #212121", +"9C c #2D2C2D", +"9D c #3E3E3E", +"9E c #424243", +"9F c #424443", +"9G c #424343", +"9H c #434344", +"9I c #434543", +"9J c #454445", +"9K c #454544", +"9L c #464745", +"9M c #4F4F50", +"9N c #4F4F4E", +"9O c #4D4D4E", +"9P c #4C4B4D", +"9Q c #4A4B49", +"9R c #4E4D4E", +"9S c #4C4A4C", +"9T c #424241", +"9U c #212222", +"9V c #2B2B2B", +"9W c #444545", +"9X c #454645", +"9Y c #464644", +"9Z c #444646", +"9& c #464547", +"a c #515152", +"a0 c #504F4F", +"a1 c #4F4E4F", +"a2 c #373837", +"a3 c #292A2A", +"a4 c #252625", +"a5 c #242425", +"a6 c #242525", +"a7 c #242324", +"a8 c #252523", +"a9 c #242323", +"aa c #242424", +"ab c #232424", +"ac c #464446", +"ad c #4A4849", +"ae c #49484A", +"af c #4A4A4B", +"ag c #4B4B4A", +"ah c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u v w x y z A B", +" 4 C D E F G H I J g K L k M N O P Q R R S T U V W X Y Z &0 Z00 Y01 Z020304050607", +" G08090a0b0c0d n p s Q0e0f0g0h0i0j0k0k0l0m0n0o0p0q0r0s0t0u0u0v0t0w0r0x0y0z0A0B0C0D", +"0E0F m0G0H R0I0J Y0K0L0M0N0O0P0Q0R0R0S0T0U0V0W0X0Y0Z0&1 1011120Y131415161718191a1b", +"1c1d U1e1f1g1h1i1j1k0Q1l1m1n1o1p1q1r1s1t1u1v1v1u1w1x1x1y1z1y1A1B1C1D1E1F1G1H1I1J1K", +"1L1M0k1N0u1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 1&202122232425262724281&292a2b2c2d2e2f2g2h2i", +"0p0r2j0T132k2l1B2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2C2B2F2G2H2I2J2K2L2M2N2O2P2Q", +"2j2R2S2T2U2V2W2X2Y2Z2&3 30313233343536373839383a3b3c3a3d3e3f3g3h3i3j3k3l3m3n2w233o", +"131r2i1y1Y223p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3G3G3H3I3J3K3L3M3N3O3P3Q3R3d3S3T2r", +"3U3V3W202r3X3Y3Z3&4 3a3E404142434445464748494a4b484c4d4e4f4g4h4i4j4k4l4m4n4o304p4q", +"4r2W4s4t4u4v4w4x4y3H4z4A4B4C4D4E4F4G4H4I3R4J4K4L4M4N4O4P4Q4R4S3y4T4U4V4W4n374X4Y4p", +"2W3o244Z4&5 505152535455564C4E57585858595a5b5c5d5e5f5g5h5i5j5k435l5m5n5o5p385q314Y", +"5r5s5t5u5v5w5x3c5y5z5A5B5C5D5E5F58585G5H5I5J5K5L5M5N5O5P5Q5R5k5S5T5U3G5V5p3b3d5W30", +"5X5Y5Z5&6 3t6061624j636465664H4m6768696a6b6c6d6e6f6g6h6i566j6k6l6m6n6o614W3c6p6q4o", +"6r6s6t5w6u2h6v6w6x6y6z6A6B3n6C6D6E3R6F6G6H6I6J6K6L6M6N6O64346P6Q6R3F3D6S3a6T6U6V6W", +"6X6Y6Z6&7 3u70717273541J6o741j75767778797a7b7c7d7e7f4B633z7g7h3F5V7i7j3c383u4Y2h2y", +"7k2W3o204p584E7l7m7n7j3v4W077o7p7q7r7s7t7u7v7w7x7y7z7A347B7C7D7E4W3b377F317G7H3S7I", +"7J7K3W7L687M4E7N7O4o7P7Q7R7S7T7U7V7W7X7Y7Z7&8 806k8182837O84396T8586876W6W2z88898a", +"2k1r1B327B7M8b8c3S8d4q288e8f8g8h8i8j8k8l8m8n8o8p8q4E8r543b8s7P2E8t8u8v888w8x8y213o", +"8z128A8B8C8D3b221&8E1u8F8G8H8I8J8K8L8M8N8O8P8Q8P7M8P8R5n2y8S4q8T8U8923218V3o3o5X2W", +"8W0R8X8Y8Z361B1r8&9 9091929394959697983E999a9b9c8C9d5U9e9f9g26249h5s9i1Y9j7K7K9k9l", +"0q0v9m9n9o1b9p9q9r9s9t9u9v9w9x k0c I5s9y9y9y9z9A9B9C9D3W6X9E7K7K9F9G9H9I9J9K2i9L1r", +"9M0n9N9O0q9P2R2z3d9g9Q9R9S0D0u0u9T8c2N8R9U9V694K8B9D9W9X9Y2i9Z1s1t9&9&1r0&1K131K8z", +"1e Ya Za0a11Pa2a3a4a5a6a7a8a5a962a9aaab7g6U1B6Xac1p13132k0Z1R10adae1 0X0Uaf1Pagah"}; diff --git a/2009-x64/cps4.03/icons/cpscPaintSelectFace.xpm b/2009-x64/cps4.03/icons/cpscPaintSelectFace.xpm new file mode 100644 index 0000000..537fa1d --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscPaintSelectFace.xpm @@ -0,0 +1,797 @@ +/* XPM */ +static char *PAINTF_xpm[]={ +"41 24 770 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #626160", +" a c #686964", +" b c #87886D", +" c c #777662", +" d c #5D5E5C", +" e c #5C5C5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #5C5C55", +" v c #636264", +" w c #616362", +" x c #606161", +" y c #615F60", +" z c #606060", +" A c #676764", +" B c #787970", +" C c #8F907F", +" D c #BDBD82", +" E c #D1D18E", +" F c #E1DD72", +" G c #EFEB6C", +" H c #C2C062", +" I c #585856", +" J c #575657", +" K c #555655", +" L c #555554", +" M c #545455", +" N c #555553", +" O c #545454", +" P c #545253", +" Q c #535353", +" R c #525252", +" S c #515251", +" T c #525152", +" U c #515151", +" V c #525151", +" W c #525051", +" X c #525251", +" Y c #525250", +" Z c #515252", +" & c #585754", +"0 c #846E5B", +"00 c #AA7152", +"01 c #574F49", +"02 c #525352", +"03 c #626260", +"04 c #6D6C67", +"05 c #79796D", +"06 c #8B897F", +"07 c #B2B282", +"08 c #CECE93", +"09 c #E5E27D", +"0a c #E8E478", +"0b c #DED66B", +"0c c #CBBC57", +"0d c #AA9750", +"0e c #958047", +"0f c #A18E4D", +"0g c #E0E070", +"0h c #58584F", +"0i c #515051", +"0j c #505250", +"0k c #505050", +"0l c #4E4F50", +"0m c #4E4E4E", +"0n c #4F4F4F", +"0o c #4D4E4F", +"0p c #4E4E4D", +"0q c #4D4D4D", +"0r c #4D4D4C", +"0s c #4C4D4D", +"0t c #4D4C4C", +"0u c #4D4C4D", +"0v c #4C4C4C", +"0w c #4D4E4C", +"0x c #4E4F4D", +"0y c #6E6357", +"0z c #D19F71", +"0A c #E08D5B", +"0B c #7C412A", +"0C c #332F2F", +"0D c #4B4C4C", +"0E c #79785E", +"0F c #ECEC7F", +"0G c #EBE771", +"0H c #E4DD60", +"0I c #CDC055", +"0J c #BBAA59", +"0K c #B19960", +"0L c #A58C61", +"0M c #9A805E", +"0N c #88704E", +"0O c #816B47", +"0P c #7F6544", +"0Q c #816B42", +"0R c #E4E071", +"0S c #71724A", +"0T c #4B4B4B", +"0U c #4B4C4A", +"0V c #4B4A4A", +"0W c #4A4A4A", +"0X c #4A4A49", +"0Y c #494A49", +"0Z c #494A4A", +"0& c #484949", +"1 c #494948", +"10 c #474848", +"11 c #494849", +"12 c #484948", +"13 c #474948", +"14 c #494947", +"15 c #484848", +"16 c #4F4E4B", +"17 c #9B8466", +"18 c #EEB078", +"19 c #D98254", +"1a c #804026", +"1b c #302522", +"1c c #2B2C2B", +"1d c #474748", +"1e c #616255", +"1f c #E8E679", +"1g c #B5A15C", +"1h c #9C845F", +"1i c #998261", +"1j c #988061", +"1k c #987F5D", +"1l c #8B7351", +"1m c #816B4A", +"1n c #806845", +"1o c #7D6643", +"1p c #796241", +"1q c #78603F", +"1r c #CEC35D", +"1s c #93934F", +"1t c #464747", +"1u c #464746", +"1v c #464546", +"1w c #464645", +"1x c #454545", +"1y c #444445", +"1z c #454344", +"1A c #444343", +"1B c #444344", +"1C c #434445", +"1D c #444443", +"1E c #444544", +"1F c #5B554E", +"1G c #C8A777", +"1H c #F5B278", +"1I c #C57148", +"1J c #783923", +"1K c #302420", +"1L c #212122", +"1M c #313232", +"1N c #484847", +"1O c #555350", +"1P c #CECF67", +"1Q c #BEAF64", +"1R c #917C59", +"1S c #927A5A", +"1T c #8B7552", +"1U c #816A49", +"1V c #7E6645", +"1W c #7D6443", +"1X c #7C6342", +"1Y c #796141", +"1Z c #775E3D", +"1& c #735C3A", +"2 c #9D8C48", +"20 c #CBC95E", +"21 c #454440", +"22 c #424242", +"23 c #414141", +"24 c #424041", +"25 c #414040", +"26 c #403F3F", +"27 c #414140", +"28 c #3F3F3F", +"29 c #3F4040", +"2a c #403F40", +"2b c #3E3F3F", +"2c c #3F3F3E", +"2d c #3F3F40", +"2e c #6D6353", +"2f c #DFB982", +"2g c #F3A872", +"2h c #B6633D", +"2i c #713620", +"2j c #2B211E", +"2k c #1F1F20", +"2l c #262525", +"2m c #3B3B3A", +"2n c #464545", +"2o c #989855", +"2p c #D9D26D", +"2q c #8B7350", +"2r c #7F6848", +"2s c #7B6243", +"2t c #796240", +"2u c #826E47", +"2v c #C7BE78", +"2w c #D0C97D", +"2x c #7A6340", +"2y c #735B39", +"2z c #705737", +"2A c #7E6839", +"2B c #E9E566", +"2C c #56563C", +"2D c #3D3C3D", +"2E c #3C3C3D", +"2F c #3C3D3D", +"2G c #3D3C3B", +"2H c #3C3B3B", +"2I c #3B3C3B", +"2J c #3A3C3C", +"2K c #3C3A3B", +"2L c #3B3B3C", +"2M c #3A3B3C", +"2N c #3A3B3B", +"2O c #44413E", +"2P c #948164", +"2Q c #F1C489", +"2R c #E99867", +"2S c #A55534", +"2T c #63301D", +"2U c #251F1C", +"2V c #1E1E1D", +"2W c #222222", +"2X c #353534", +"2Y c #414041", +"2Z c #424442", +"2& c #4B4B4C", +"3 c #767749", +"30 c #EFEB72", +"31 c #836E40", +"32 c #755C3C", +"33 c #755E3D", +"34 c #745D3C", +"35 c #7D6642", +"36 c #EBE98B", +"37 c #F9F990", +"38 c #8C7C49", +"39 c #6E5637", +"3a c #6D5535", +"3b c #6C5534", +"3c c #D4CC5B", +"3d c #75763E", +"3e c #383837", +"3f c #393839", +"3g c #393738", +"3h c #383738", +"3i c #383737", +"3j c #373636", +"3k c #363737", +"3l c #373637", +"3m c #373736", +"3n c #383838", +"3o c #534C44", +"3p c #C9AC7B", +"3q c #FAC588", +"3r c #D98357", +"3s c #924628", +"3t c #50291B", +"3u c #1F1C1C", +"3v c #1C1B1B", +"3w c #1F1F1D", +"3x c #2F302F", +"3y c #404041", +"3z c #505145", +"3A c #E6E568", +"3B c #968344", +"3C c #705839", +"3D c #715938", +"3E c #705939", +"3F c #715839", +"3G c #C0B651", +"3H c #B8B541", +"3I c #7B6C2D", +"3J c #6B5434", +"3K c #695132", +"3L c #695031", +"3M c #9E8E42", +"3N c #C0C051", +"3O c #343533", +"3P c #353434", +"3Q c #333435", +"3R c #343333", +"3S c #343534", +"3T c #343434", +"3U c #333234", +"3V c #333332", +"3W c #363634", +"3X c #6A604C", +"3Y c #E1C28A", +"3Z c #F7B87F", +"3& c #C97349", +"4 c #823E23", +"40 c #3D241A", +"41 c #1B1919", +"42 c #1B1A1A", +"43 c #1F1D1D", +"44 c #2D2D2D", +"45 c #3C3C3C", +"46 c #3D3D3D", +"47 c #3F3E3F", +"48 c #464646", +"49 c #464643", +"4a c #C8C857", +"4b c #BEB152", +"4c c #6D5435", +"4d c #6C5536", +"4e c #6B5534", +"4f c #6B5436", +"4g c #5B4829", +"4h c #382C18", +"4i c #473821", +"4j c #665030", +"4k c #685030", +"4l c #654F2E", +"4m c #7D6832", +"4n c #E4E35D", +"4o c #44432F", +"4p c #303030", +"4q c #2F3030", +"4r c #31312F", +"4s c #2F2F2F", +"4t c #312F2F", +"4u c #2F2F30", +"4v c #2F2E2E", +"4w c #4D453C", +"4x c #B69C70", +"4y c #F7D294", +"4z c #EFA16E", +"4A c #B4613A", +"4B c #74341D", +"4C c #2D1E17", +"4D c #191818", +"4E c #181918", +"4F c #1E1E1E", +"4G c #2B2B2C", +"4H c #373737", +"4I c #393A39", +"4J c #3B3B3B", +"4K c #3B3C3C", +"4L c #444345", +"4M c #424342", +"4N c #888948", +"4O c #DBD562", +"4P c #6E5533", +"4Q c #6A5133", +"4R c #654F31", +"4S c #624C2D", +"4T c #644D2E", +"4U c #654D2E", +"4V c #624B2C", +"4W c #66502D", +"4X c #DCD853", +"4Y c #616131", +"4Z c #2C2C2B", +"4& c #2D2C2B", +"5 c #2D2C2C", +"50 c #2C2C2C", +"51 c #2B2D2C", +"52 c #3B3732", +"53 c #8D7A5A", +"54 c #EDCC8F", +"55 c #FAC88D", +"56 c #E28E5F", +"57 c #A55433", +"58 c #682D19", +"59 c #271B16", +"5a c #181817", +"5b c #171818", +"5c c #1F1E1E", +"5d c #2A2928", +"5e c #353535", +"5f c #383A38", +"5g c #3A3A3A", +"5h c #636440", +"5i c #F0EF67", +"5j c #7A6736", +"5k c #664F30", +"5l c #664E30", +"5m c #664F2F", +"5n c #654E30", +"5o c #634C2F", +"5p c #634B2E", +"5q c #665232", +"5r c #7A6748", +"5s c #948760", +"5t c #EBEA78", +"5u c #ABAB40", +"5v c #282828", +"5w c #292929", +"5x c #292A29", +"5y c #2B2A2B", +"5z c #312F2C", +"5A c #685C48", +"5B c #D7B982", +"5C c #FCDE9E", +"5D c #F9BA80", +"5E c #D47B50", +"5F c #934628", +"5G c #612817", +"5H c #231816", +"5I c #161616", +"5J c #161717", +"5K c #1C1D1D", +"5L c #29292A", +"5M c #333433", +"5N c #343536", +"5O c #353536", +"5P c #373838", +"5Q c #39393A", +"5R c #404040", +"5S c #47483F", +"5T c #E0DF5C", +"5U c #91833E", +"5V c #634D2F", +"5W c #776346", +"5X c #8D7E60", +"5Y c #C7BD88", +"5Z c #E0DD83", +"5& c #DFDD73", +"6 c #BDBD51", +"60 c #71712B", +"61 c #3B3B1D", +"62 c #242425", +"63 c #292829", +"64 c #2A2B29", +"65 c #524D3E", +"66 c #C5B27B", +"67 c #F9E3A2", +"68 c #FED99D", +"69 c #F0A06F", +"6a c #C06A43", +"6b c #873D22", +"6c c #592414", +"6d c #1F1815", +"6e c #151516", +"6f c #1A1B1A", +"6g c #282827", +"6h c #313031", +"6i c #343334", +"6j c #393A38", +"6k c #424141", +"6l c #40403F", +"6m c #BCBC4C", +"6n c #C3BC51", +"6o c #6B5538", +"6p c #897A5E", +"6q c #AEA278", +"6r c #D1CD89", +"6s c #EBE978", +"6t c #D1D155", +"6u c #A4A238", +"6v c #595929", +"6w c #2B291B", +"6x c #181715", +"6y c #141415", +"6z c #151414", +"6A c #1F2020", +"6B c #2C2B2B", +"6C c #79694F", +"6D c #EFD894", +"6E c #FEECAB", +"6F c #FCCB92", +"6G c #E48B5D", +"6H c #B45F3C", +"6I c #7D361D", +"6J c #58220F", +"6K c #211715", +"6L c #141515", +"6M c #161515", +"6N c #1A1A19", +"6O c #272728", +"6P c #312F31", +"6Q c #323133", +"6R c #333232", +"6S c #353435", +"6T c #383839", +"6U c #393938", +"6V c #414342", +"6W c #3F4140", +"6X c #3F3E40", +"6Y c #858449", +"6Z c #F1EE6F", +"6& c #E6E472", +"7 c #D9D860", +"70 c #AEAF37", +"71 c #676822", +"72 c #3A3B21", +"73 c #1F1F18", +"74 c #171716", +"75 c #161715", +"76 c #151515", +"77 c #171516", +"78 c #161615", +"79 c #1B1B1B", +"7a c #624B3D", +"7b c #F1BD7B", +"7c c #FED091", +"7d c #F7AD79", +"7e c #D97F53", +"7f c #A55333", +"7g c #773017", +"7h c #55200E", +"7i c #201713", +"7j c #171517", +"7k c #171617", +"7l c #191919", +"7m c #252424", +"7n c #30312F", +"7o c #333132", +"7p c #343635", +"7q c #363838", +"7r c #393838", +"7s c #393A3A", +"7t c #3B3A3A", +"7u c #434243", +"7v c #414241", +"7w c #52523E", +"7x c #8D8D2C", +"7y c #57571F", +"7z c #27251B", +"7A c #1A1A1A", +"7B c #181818", +"7C c #181819", +"7D c #171819", +"7E c #191718", +"7F c #343535", +"7G c #767474", +"7H c #8E8B8D", +"7I c #6F6D6F", +"7J c #BE7D60", +"7K c #F49A64", +"7L c #E88B5B", +"7M c #C86F45", +"7N c #994B2B", +"7O c #6F2C14", +"7P c #571E0C", +"7Q c #241814", +"7R c #181718", +"7S c #171717", +"7T c #171918", +"7U c #232423", +"7V c #363635", +"7W c #393939", +"7X c #434444", +"7Y c #252526", +"7Z c #1C1C1B", +"7& c #1A1B1B", +"8 c #191A1B", +"80 c #1A1919", +"81 c #191A19", +"82 c #B6B3B5", +"83 c #D7D5D6", +"84 c #D2D0D2", +"85 c #CBC8CA", +"86 c #C8A7A0", +"87 c #B76548", +"88 c #A65436", +"89 c #883F21", +"8a c #6A2812", +"8b c #561E0D", +"8c c #281814", +"8d c #191918", +"8e c #1E1F1F", +"8f c #2E2E2F", +"8g c #343435", +"8h c #343636", +"8i c #373739", +"8j c #3B3A3B", +"8k c #3B3C3A", +"8l c #3C3E3C", +"8m c #454546", +"8n c #434343", +"8o c #434342", +"8p c #414142", +"8q c #323233", +"8r c #1E1D1D", +"8s c #1B1C1C", +"8t c #1B1B1A", +"8u c #9C999B", +"8v c #BCBABA", +"8w c #C7C4C7", +"8x c #BEBCBE", +"8y c #B3B0B3", +"8z c #A9A4A3", +"8A c #7F544E", +"8B c #682919", +"8C c #60230F", +"8D c #4F1E0D", +"8E c #271A17", +"8F c #1A1A1B", +"8G c #2C2D2D", +"8H c #363536", +"8I c #373738", +"8J c #383938", +"8K c #3A3939", +"8L c #3C3D3C", +"8M c #3E3D3E", +"8N c #3E3E3F", +"8O c #484748", +"8P c #454544", +"8Q c #3D3E3D", +"8R c #202020", +"8S c #1D1D1E", +"8T c #1D1D1C", +"8U c #1C1C1C", +"8V c #1D1C1C", +"8W c #202021", +"8X c #777777", +"8Y c #A2A1A2", +"8Z c #A5A3A4", +"8& c #A5A2A5", +"9 c #9F9F9F", +"90 c #959596", +"91 c #868585", +"92 c #6F6A6C", +"93 c #492A21", +"94 c #341C16", +"95 c #1E1B1B", +"96 c #1C1D1B", +"97 c #1B1D1D", +"98 c #262626", +"99 c #3A393A", +"9a c #3A3A39", +"9b c #3A3C3A", +"9c c #3A3B3A", +"9d c #3C3B3C", +"9e c #3E3E3D", +"9f c #3D3F3E", +"9g c #3F3E3E", +"9h c #484849", +"9i c #454746", +"9j c #414343", +"9k c #201E20", +"9l c #1F1F1E", +"9m c #1D1F1D", +"9n c #242424", +"9o c #717071", +"9p c #9F9D9E", +"9q c #908E91", +"9r c #8B898A", +"9s c #878688", +"9t c #828181", +"9u c #7A7978", +"9v c #6C6B6D", +"9w c #1D1E1D", +"9x c #1E1D1E", +"9y c #222322", +"9z c #3C3C3B", +"9A c #3C3E3E", +"9B c #3F403F", +"9C c #4C4B4B", +"9D c #4A484A", +"9E c #474747", +"9F c #313030", +"9G c #202120", +"9H c #2C2B2A", +"9I c #545354", +"9J c #A4A2A4", +"9K c #A9A8A9", +"9L c #8A898A", +"9M c #797879", +"9N c #716F70", +"9O c #6B6A6B", +"9P c #656464", +"9Q c #625F61", +"9R c #616061", +"9S c #1E1F1E", +"9T c #201F1F", +"9U c #20201F", +"9V c #1E201E", +"9W c #222321", +"9X c #40403E", +"9Y c #403E3F", +"9Z c #41403F", +"9& c #404042", +"a c #424142", +"a0 c #414143", +"a1 c #434443", +"a2 c #444543", +"a3 c #4B4C4B", +"a4 c #4A4A4B", +"a5 c #494A4B", +"a6 c #3D3D3E", +"a7 c #6C6C6C", +"a8 c #A5A4A6", +"a9 c #BAB8BA", +"aa c #9D9B9D", +"ab c #7F7F7F", +"ac c #6B6B6B", +"ad c #60605F", +"ae c #5A5A5B", +"af c #5A5A5A", +"ag c #5C5D5D", +"ah c #212021", +"ai c #202121", +"aj c #212121", +"ak c #2D2C2D", +"al c #3E3E3E", +"am c #424243", +"an c #424443", +"ao c #424343", +"ap c #434344", +"aq c #434543", +"ar c #454445", +"as c #464745", +"at c #4F4F50", +"au c #4F4F4E", +"av c #4D4D4E", +"aw c #454345", +"ax c #262726", +"ay c #282928", +"az c #4A4B49", +"aA c #4E4D4E", +"aB c #4C4A4C", +"aC c #424241", +"aD c #212222", +"aE c #2B2B2B", +"aF c #2E2F2F", +"aG c #444545", +"aH c #454645", +"aI c #464644", +"aJ c #444646", +"aK c #464547", +"aL c #535352", +"aM c #515152", +"aN c #504F4F", +"aO c #2E2F2E", +"aP c #252625", +"aQ c #242525", +"aR c #242324", +"aS c #252523", +"aT c #242323", +"aU c #232524", +"aV c #232424", +"aW c #464446", +"aX c #494748", +"aY c #4A4849", +"aZ c #49484A", +"a& c #4A4B4A", +"b c #4B4B4A", +"b0 c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u f g h i j k l", +" 4 v w x y z A B C D E F G H I J K L M M N O P Q R S T U V W U X T Y U Z &0 000102", +"030405060708090a0b0c0d0e0f0g0h0i0j0k0k0l0m0n0o0p0q0r0s0t0u0u0v0t0w0r0x0y0z0A0B0C0D", +"0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0v0T0T0U0V0W0X0Y0Z0&1 10111213140&15161718191a1b1c1d", +"1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1t1u1v1w1x1y1y1x1z1A1A1B1C1B1D1E1F1G1H1I1J1K1L1M1N", +"1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 20212223242325262728292a2b2c292d232e2f2g2h2i2j2k2l2m2n", +"0p2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2L2K2O2P2Q2R2S2T2U2V2W2X2Y2Z", +"2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3i3k3l3m3k3n3o3p3q3r3s3t3u3v3w3x2F283y", +"153z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3V3V3W3X3Y3Z3&4 40414243443n454647", +"48494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4s4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K2D", +"4L4M4N4O4P4Q3K3L4R4S4T4U4U4V4W4X4Y4Z4&5 44505152535455565758595a5b5c5d5e4H3h5f5g4K", +"4M3y5h5i5j5k5l5m5n5o4T5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O3i5P5Q5g", +"225R5S5T5U4T5V4T5n5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e5I6f6g6h3V6i5O3l3n6j4J", +"6k6l266m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S5e3m6T6U4I", +"6V6W6X6Y6Z6&7 7071727374755I767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o3U3S7p3k7q7r7s7t", +"7u7v3y7w7x7y7z7A7B7C7C7D747E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U4p3U6i3P7V3m3i7W5g2m2H", +"7X4M3y267Y7Z7&8 4180817l7B2I82838485868788898a8b8c8d7C7l8e8f8g8h5e3l3h8i5Q8j8k458l", +"8m8n8o8p8q8r8s8s8s7&8t425y8u8v8w8x8y8z8A8B8C8D8E6N7&8F8r8G8H3j7q8I8J8K7t7t2I8L8M8N", +"8O1u8P1B8Q8R8S8T8U8V8U8W8X8Y8Z8&9 9091929394958T968s97983l999a2N9b9c9d8L9e9f9g263y", +"9h141d9i9j2l9k9l4F9m9n9o9p9q9r9s9t9u9v J8R8S9w8S9x8S9y5M2H9z2D2E9A8M28269B3y3y6k4M", +"9C0T9D149E9F9G2W9H9I9J9K9L9M9N9O9P9Q9R3T9S9T9U9V6A9W6h8Q9X9Y2b299Z5R9&a a08n8na1a2", +"0q0va3a4a5a64Ha7a8a9aaabacadae kafag5Rahahahai8Wajakal8o7uam8n8nanaoapaqar8P2nas1u", +"at0nauav0qawaxay8g47azaAaB0D0u0uaC9F2W9yaDaE6B51aFalaGaHaI2naJ1v1waKaK1u101N151N9h", +"aL TaM UaNaAaOaE5LaP62aQaRaS62aTaUaT9naV7U7r1E7uaW9E15158O1 aX12aYaZ110Z0Wa4a&b b0"}; diff --git a/2009-x64/cps4.03/icons/cpscPaintSelectVertex.xpm b/2009-x64/cps4.03/icons/cpscPaintSelectVertex.xpm new file mode 100644 index 0000000..d3686e0 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscPaintSelectVertex.xpm @@ -0,0 +1,707 @@ +/* XPM */ +static char *PAINTV_xpm[]={ +"41 24 680 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5E5E5F", +" b c #5D5E5D", +" c c #5E5D5D", +" d c #5D5E5C", +" e c #5C5C5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #5C5C55", +" v c #636264", +" w c #616362", +" x c #606161", +" y c #615F60", +" z c #5F5F5F", +" A c #5E5F5E", +" B c #5C5D5D", +" C c #5B5C5C", +" D c #595A5B", +" E c #5A5859", +" F c #595758", +" G c #575856", +" H c #575657", +" I c #555655", +" J c #555554", +" K c #545455", +" L c #555553", +" M c #545454", +" N c #545253", +" O c #535353", +" P c #525252", +" Q c #515251", +" R c #525152", +" S c #515151", +" T c #525151", +" U c #525051", +" V c #525251", +" W c #525250", +" X c #515252", +" Y c #585754", +" Z c #846E5B", +" & c #AA7152", +"0 c #574F49", +"00 c #525352", +"01 c #5E5D5F", +"02 c #5D5D5C", +"03 c #5D5B5C", +"04 c #5B5B5A", +"05 c #5A5A5A", +"06 c #595858", +"07 c #535454", +"08 c #535354", +"09 c #525353", +"0a c #515152", +"0b c #515051", +"0c c #505250", +"0d c #505050", +"0e c #4E4F50", +"0f c #4E4E4E", +"0g c #4F4F4F", +"0h c #4D4E4F", +"0i c #4E4E4D", +"0j c #4D4D4D", +"0k c #4D4D4C", +"0l c #4C4D4D", +"0m c #4D4C4C", +"0n c #4D4C4D", +"0o c #4C4C4C", +"0p c #4D4E4C", +"0q c #4E4F4D", +"0r c #6E6357", +"0s c #D19F71", +"0t c #E08D5B", +"0u c #7C412A", +"0v c #332F2F", +"0w c #4B4C4C", +"0x c #5B5959", +"0y c #595859", +"0z c #575857", +"0A c #555656", +"0B c #545354", +"0C c #535252", +"0D c #515050", +"0E c #4F514F", +"0F c #504E4F", +"0G c #4E4F4E", +"0H c #4D4D4E", +"0I c #4C4D4C", +"0J c #4B4B4B", +"0K c #4B4C4A", +"0L c #4B4A4A", +"0M c #4A4A4A", +"0N c #4A4A49", +"0O c #494A49", +"0P c #494A4A", +"0Q c #484949", +"0R c #494948", +"0S c #474848", +"0T c #494849", +"0U c #484948", +"0V c #474948", +"0W c #494947", +"0X c #484848", +"0Y c #4F4E4B", +"0Z c #9B8466", +"0& c #EEB078", +"1 c #D98254", +"10 c #804026", +"11 c #302522", +"12 c #2B2C2B", +"13 c #474748", +"14 c #565756", +"15 c #555454", +"16 c #535352", +"17 c #545451", +"18 c #55544F", +"19 c #54534E", +"1a c #4F504E", +"1b c #4D4C4B", +"1c c #4B4B4A", +"1d c #49484A", +"1e c #494848", +"1f c #474747", +"1g c #464747", +"1h c #464746", +"1i c #464546", +"1j c #464645", +"1k c #454545", +"1l c #444445", +"1m c #454344", +"1n c #444343", +"1o c #444344", +"1p c #434445", +"1q c #444443", +"1r c #444544", +"1s c #5B554E", +"1t c #C8A777", +"1u c #F5B278", +"1v c #C57148", +"1w c #783923", +"1x c #302420", +"1y c #212122", +"1z c #313232", +"1A c #484847", +"1B c #535151", +"1C c #505151", +"1D c #4D4F4E", +"1E c #676651", +"1F c #D8D861", +"1G c #DBDC62", +"1H c #DCDB62", +"1I c #D1D04A", +"1J c #666445", +"1K c #454547", +"1L c #434443", +"1M c #434444", +"1N c #444242", +"1O c #424242", +"1P c #414141", +"1Q c #424041", +"1R c #414040", +"1S c #403F3F", +"1T c #414140", +"1U c #3F3F3F", +"1V c #3F4040", +"1W c #403F40", +"1X c #3E3F3F", +"1Y c #3F3F3E", +"1Z c #3F3F40", +"1& c #6D6353", +"2 c #DFB982", +"20 c #F3A872", +"21 c #B6633D", +"22 c #713620", +"23 c #2B211E", +"24 c #1F1F20", +"25 c #262525", +"26 c #3B3B3A", +"27 c #464545", +"28 c #4B4B4C", +"29 c #6A6A4D", +"2a c #F8F763", +"2b c #FDFE64", +"2c c #FDFD64", +"2d c #FDFE48", +"2e c #7B7C37", +"2f c #424142", +"2g c #3F3E3F", +"2h c #3F3D3D", +"2i c #3D3E3E", +"2j c #3D3C3D", +"2k c #3C3C3D", +"2l c #3C3D3D", +"2m c #3D3C3B", +"2n c #3C3B3B", +"2o c #3B3C3B", +"2p c #3A3C3C", +"2q c #3C3A3B", +"2r c #3B3B3C", +"2s c #3A3B3C", +"2t c #3A3B3B", +"2u c #44413E", +"2v c #948164", +"2w c #F1C489", +"2x c #E99867", +"2y c #A55534", +"2z c #63301D", +"2A c #251F1C", +"2B c #1E1E1D", +"2C c #222222", +"2D c #353534", +"2E c #414041", +"2F c #424442", +"2G c #484A49", +"2H c #494747", +"2I c #474746", +"2J c #69684A", +"2K c #F8F960", +"2L c #FDFE60", +"2M c #FDFD62", +"2N c #FDFD47", +"2O c #70702B", +"2P c #3C3B3C", +"2Q c #3B3B3B", +"2R c #3A3A3B", +"2S c #3A393A", +"2T c #383A39", +"2U c #383838", +"2V c #393839", +"2W c #393738", +"2X c #383738", +"2Y c #383737", +"2Z c #373636", +"2& c #363737", +"3 c #373637", +"30 c #373736", +"31 c #534C44", +"32 c #C9AC7B", +"33 c #FAC588", +"34 c #D98357", +"35 c #924628", +"36 c #50291B", +"37 c #1F1C1C", +"38 c #1C1B1B", +"39 c #1F1F1D", +"3a c #2F302F", +"3b c #404041", +"3c c #545445", +"3d c #CACA51", +"3e c #DFE04D", +"3f c #E3E24B", +"3g c #E3E33C", +"3h c #5E5F24", +"3i c #343434", +"3j c #393939", +"3k c #353535", +"3l c #343535", +"3m c #353434", +"3n c #333435", +"3o c #343333", +"3p c #343534", +"3q c #333234", +"3r c #333332", +"3s c #363634", +"3t c #6A604C", +"3u c #E1C28A", +"3v c #F7B87F", +"3w c #C97349", +"3x c #823E23", +"3y c #3D241A", +"3z c #1B1919", +"3A c #1B1A1A", +"3B c #1F1D1D", +"3C c #2D2D2D", +"3D c #3C3C3C", +"3E c #3D3D3D", +"3F c #464646", +"3G c #454543", +"3H c #434342", +"3I c #40403E", +"3J c #313226", +"3K c #27271A", +"3L c #272719", +"3M c #1E1D19", +"3N c #2C2E2D", +"3O c #323332", +"3P c #323131", +"3Q c #303131", +"3R c #312F31", +"3S c #303030", +"3T c #2F3030", +"3U c #31312F", +"3V c #2F2F2F", +"3W c #312F2F", +"3X c #2F2F30", +"3Y c #2F2E2E", +"3Z c #4D453C", +"3& c #B69C70", +"4 c #F7D294", +"40 c #EFA16E", +"41 c #B4613A", +"42 c #74341D", +"43 c #2D1E17", +"44 c #191818", +"45 c #181918", +"46 c #1E1E1E", +"47 c #2B2B2C", +"48 c #373737", +"49 c #393A39", +"4a c #3B3C3C", +"4b c #444345", +"4c c #424342", +"4d c #404141", +"4e c #3E3E40", +"4f c #3E3D3D", +"4g c #282728", +"4h c #181717", +"4i c #171818", +"4j c #171816", +"4k c #252423", +"4l c #313131", +"4m c #2F2E2F", +"4n c #2D2F2F", +"4o c #2D2E2E", +"4p c #2C2C2C", +"4q c #2C2C2B", +"4r c #2D2C2B", +"4s c #2D2C2C", +"4t c #2B2D2C", +"4u c #3B3732", +"4v c #8D7A5A", +"4w c #EDCC8F", +"4x c #FAC88D", +"4y c #E28E5F", +"4z c #A55433", +"4A c #682D19", +"4B c #271B16", +"4C c #181817", +"4D c #1F1E1E", +"4E c #2A2928", +"4F c #383A38", +"4G c #3A3A3A", +"4H c #3E3E3D", +"4I c #3B3D3C", +"4J c #393A3A", +"4K c #2B2A2B", +"4L c #171718", +"4M c #151617", +"4N c #302F31", +"4O c #2E2F2E", +"4P c #2A2B2A", +"4Q c #292929", +"4R c #292A29", +"4S c #312F2C", +"4T c #685C48", +"4U c #D7B982", +"4V c #FCDE9E", +"4W c #F9BA80", +"4X c #D47B50", +"4Y c #934628", +"4Z c #612817", +"4& c #231816", +"5 c #161616", +"50 c #161717", +"51 c #1C1D1D", +"52 c #29292A", +"53 c #333433", +"54 c #343536", +"55 c #353536", +"56 c #373838", +"57 c #39393A", +"58 c #404040", +"59 c #3A3C3B", +"5a c #3A3939", +"5b c #2C2C2D", +"5c c #161617", +"5d c #171617", +"5e c #1D1D1E", +"5f c #302F30", +"5g c #2E2F2D", +"5h c #2E2C2C", +"5i c #2A2B2B", +"5j c #292829", +"5k c #2A2B29", +"5l c #524D3E", +"5m c #C5B27B", +"5n c #F9E3A2", +"5o c #FED99D", +"5p c #F0A06F", +"5q c #C06A43", +"5r c #873D22", +"5s c #592414", +"5t c #1F1815", +"5u c #151516", +"5v c #1A1B1A", +"5w c #282827", +"5x c #313031", +"5y c #343334", +"5z c #393A38", +"5A c #424141", +"5B c #40403F", +"5C c #2E2F30", +"5D c #171817", +"5E c #171717", +"5F c #202020", +"5G c #2E2D2E", +"5H c #2B2A2A", +"5I c #2A2A2A", +"5J c #2C2B2B", +"5K c #79694F", +"5L c #EFD393", +"5M c #FEECAB", +"5N c #FCCB92", +"5O c #E48B5D", +"5P c #B45F3C", +"5Q c #7D361D", +"5R c #58220F", +"5S c #211715", +"5T c #141515", +"5U c #161515", +"5V c #1A1A19", +"5W c #272728", +"5X c #323133", +"5Y c #333232", +"5Z c #353435", +"5& c #383839", +"6 c #393938", +"60 c #414342", +"61 c #3F4140", +"62 c #3F3E40", +"63 c #343335", +"64 c #1B1C1A", +"65 c #1A1A18", +"66 c #181A18", +"67 c #21201F", +"68 c #323231", +"69 c #313130", +"6a c #2E2E2E", +"6b c #2F2D2E", +"6c c #2D2E2D", +"6d c #634C3E", +"6e c #F1B77A", +"6f c #FECF91", +"6g c #F7AD79", +"6h c #D97F53", +"6i c #A55333", +"6j c #773017", +"6k c #55200E", +"6l c #201713", +"6m c #171517", +"6n c #191919", +"6o c #252424", +"6p c #30312F", +"6q c #333132", +"6r c #343635", +"6s c #363838", +"6t c #393838", +"6u c #3B3A3A", +"6v c #434243", +"6w c #414241", +"6x c #3E3E3E", +"6y c #3E3E3C", +"6z c #343232", +"6A c #4C4C4D", +"6B c #848283", +"6C c #989597", +"6D c #79787A", +"6E c #BF7E61", +"6F c #F49564", +"6G c #E88B5B", +"6H c #C86F45", +"6I c #994B2B", +"6J c #6F2C14", +"6K c #571E0C", +"6L c #241814", +"6M c #181718", +"6N c #171918", +"6O c #232423", +"6P c #363635", +"6Q c #383837", +"6R c #363636", +"6S c #BAB7BA", +"6T c #D5D3D6", +"6U c #D2D0D1", +"6V c #CBC8CA", +"6W c #C8A7A0", +"6X c #B76548", +"6Y c #A65436", +"6Z c #883F21", +"6& c #6A2812", +"7 c #561E0D", +"70 c #281814", +"71 c #191918", +"72 c #181819", +"73 c #1E1F1F", +"74 c #2E2E2F", +"75 c #343435", +"76 c #343636", +"77 c #373739", +"78 c #3B3A3B", +"79 c #3B3C3A", +"7a c #3C3E3C", +"7b c #454546", +"7c c #434343", +"7d c #414142", +"7e c #3D3E3D", +"7f c #3C3D3C", +"7g c #3A3A39", +"7h c #3A3839", +"7i c #474546", +"7j c #A29FA1", +"7k c #BAB9BA", +"7l c #C7C4C7", +"7m c #BEBCBE", +"7n c #B3B0B3", +"7o c #A9A4A3", +"7p c #7F544E", +"7q c #682919", +"7r c #60230F", +"7s c #4F1E0D", +"7t c #271A17", +"7u c #1A1B1B", +"7v c #1A1A1B", +"7w c #1E1D1D", +"7x c #2C2D2D", +"7y c #363536", +"7z c #373738", +"7A c #383938", +"7B c #3E3D3E", +"7C c #3E3E3F", +"7D c #484748", +"7E c #454544", +"7F c #424343", +"7G c #3F3D3E", +"7H c #848485", +"7I c #A2A2A2", +"7J c #A5A3A4", +"7K c #A5A2A5", +"7L c #9F9F9F", +"7M c #959596", +"7N c #868585", +"7O c #6F6A6C", +"7P c #492A21", +"7Q c #341C16", +"7R c #1E1B1B", +"7S c #1D1D1C", +"7T c #1C1D1B", +"7U c #1B1C1C", +"7V c #1B1D1D", +"7W c #262626", +"7X c #3A3C3A", +"7Y c #3A3B3A", +"7Z c #3D3F3E", +"7& c #3F3E3E", +"8 c #484849", +"80 c #454746", +"81 c #444546", +"82 c #444244", +"83 c #434242", +"84 c #404140", +"85 c #828282", +"86 c #A19EA0", +"87 c #908E91", +"88 c #8B898A", +"89 c #878688", +"8a c #828181", +"8b c #7A7978", +"8c c #6C6B6D", +"8d c #1D1E1D", +"8e c #1E1D1E", +"8f c #222322", +"8g c #3C3C3B", +"8h c #3C3E3E", +"8i c #3F403F", +"8j c #4C4B4B", +"8k c #4A484A", +"8l c #474847", +"8m c #474646", +"8n c #4F4E4D", +"8o c #6F6F70", +"8p c #B0AEB0", +"8q c #ABAAAB", +"8r c #8A898A", +"8s c #797879", +"8t c #716F70", +"8u c #6B6A6B", +"8v c #656464", +"8w c #625F61", +"8x c #616061", +"8y c #1E1F1E", +"8z c #201F1F", +"8A c #20201F", +"8B c #1E201E", +"8C c #1F2020", +"8D c #222321", +"8E c #403E3F", +"8F c #41403F", +"8G c #404042", +"8H c #414143", +"8I c #444543", +"8J c #4B4C4B", +"8K c #4A4A4B", +"8L c #494A4B", +"8M c #49494A", +"8N c #616162", +"8O c #919091", +"8P c #B1B0B1", +"8Q c #BDBCBE", +"8R c #9E9C9E", +"8S c #7F7F7F", +"8T c #6B6B6B", +"8U c #60605F", +"8V c #5A5A5B", +"8W c #212021", +"8X c #202121", +"8Y c #202021", +"8Z c #212121", +"8& c #2D2C2D", +"9 c #424243", +"90 c #424443", +"91 c #434344", +"92 c #434543", +"93 c #454445", +"94 c #464745", +"95 c #4F4F50", +"96 c #4F4F4E", +"97 c #4C4B4D", +"98 c #4A4B49", +"99 c #4E4D4E", +"9a c #4C4A4C", +"9b c #424241", +"9c c #313030", +"9d c #212222", +"9e c #2B2B2B", +"9f c #2E2F2F", +"9g c #444545", +"9h c #454645", +"9i c #464644", +"9j c #444646", +"9k c #464547", +"9l c #504F4F", +"9m c #4F4E4F", +"9n c #4A4B4A", +"9o c #373837", +"9p c #292A2A", +"9q c #252625", +"9r c #242425", +"9s c #242525", +"9t c #242324", +"9u c #252523", +"9v c #242323", +"9w c #232524", +"9x c #242424", +"9y c #232424", +"9z c #464446", +"9A c #494748", +"9B c #4A4849", +"9C c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u f g h i j k l", +" 4 v w x y z A B C g D E k F G H I J K K L M N O P Q R S T U S V R W S X Y Z &0 00", +" z010203040506 n p s J0708090a0b0c0d0d0e0f0g0h0i0j0k0l0m0n0n0o0m0p0k0q0r0s0t0u0v0w", +"0x0y m0z0A K0B0C R0D0E0F0G0H0I0o0J0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0Q0X0Y0Z0&1 10111213", +"1415 N16 X1718191a1b1c0P1d1e1f1f1g1h1i1j1k1l1l1k1m1n1n1o1p1o1q1r1s1t1u1v1w1x1y1z1A", +"1B1C0d1D1E1F1G1H1I1J1K1k1L1M1N1O1O1P1Q1P1R1S1T1U1V1W1X1Y1V1Z1P1&2 2021222324252627", +"0i0k280L292a2b2c2d2e2f1T1U2g2h2i2j2k2l2m2n2o2p2q2r2s2t2r2q2u2v2w2x2y2z2A2B2C2D2E2F", +"282G2H2I2J2K2L2M2N2O2r2P2Q2R2S2T2U2V2W2X2Y2Z2Y2&3 302&2U3132333435363738393a2l1U3b", +"0X1h271o3c3d3e3f3g3h3i3j2Z2Z3k2D3l3m3n3o3p3i3q3r3r3r3s3t3u3v3w3x3y3z3A3B3C2U3D3E2g", +"3F3G3H1R2g3I3J3K3L3M3N3k3m3O3P3Q3R3S3T3U3V3W3X3Y3V3Z3&4 404142434445464748492Q4a2j", +"4b4c4d4e4f2P4g4h4i4j4k3P4l4m4n4o4p4q4r4s3C4p4t4u4v4w4x4y4z4A4B4C4i4D4E3k482X4F4G4a", +"4c3b1V4H4I4J4K4C4L4M1y4N4O3C4t4P4Q4Q4Q4R4K4S4T4U4V4W4X4Y4Z4&5 5051525354552Y56574G", +"1O581X2j595a5b445c5d5e5f5g5h475i4Q4Q5j5k5l5m5n5o5p5q5r5s5t5u5 5v5w5x3r5y553 2U5z2Q", +"5A5B2g3E592S5C445D5E5F3R5f5G4r475H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W3R5X5Y5Z3k305&6 49", +"6061623E2P26636465666768693a6a6b6c3C6d6e6f6g6h6i6j6k6l6m5d6n6o6p6q3q3p6r2&6s6t4J6u", +"6v6w3b6x6y3D5a3S3C5b3S3n5Y6z6A6B6C6D6E6F6G6H6I6J6K6L6M5E6N6O3S3q5y3m6P302Y3j4G262n", +"1M4c3b1R6x4H4a2R5a6t6Q6R3k006S6T6U6V6W6X6Y6Z6&7 7071726n737475763k3 2X775778793D7a", +"7b7c3H7d581W2i7e7f2t7g7h7i7j7k7l7m7n7o7p7q7r7s7t5V7u7v7w7x7y2Z6s7z7A5a6u6u2o7f7B7C", +"7D1h7E1o7F2f3b1S6x7G2j1Z7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W3 2S7g2t7X7Y2P7f4H7Z7&1S3b", +"8 0W1380811n82831P841k85868788898a8b8c H5F5e8d5e8e5e8f532n8g2j2k8h7B1U1S8i3b3b5A4c", +"8j0J8k0W8l8m1j1h8n8o8p8q8r8s8t8u8v8w8x3i8y8z8A8B8C8D5x7e3I8E1X1V8F588G2f8H7c7c1L8I", +"0j0o8J8K8L8M8N8O8P8Q8R8S8T8U8V k05 B588W8W8W8X8Y8Z8&6x3H6v9 7c7c907F9192937E27941h", +"950g960H0j972G2o2U8E98999a0w0n0n9b9c2C8f9d9e5J4t9f6x9g9h9i279j1i1j9k9k1h0S1A0X1A8 ", +"16 R0a S9l9m9n9o9p9q9r9s9t9u9r9v9w9v9x9y6O6t1r6v9z1f0X0X7D0R9A0U9B1d0T0P0M8K9n1c9C"}; diff --git a/2009-x64/cps4.03/icons/cpscRemoveShell.xpm b/2009-x64/cps4.03/icons/cpscRemoveShell.xpm new file mode 100644 index 0000000..207b28a --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscRemoveShell.xpm @@ -0,0 +1,807 @@ +/* XPM */ +static char *REMSHELL_xpm[]={ +"41 24 780 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5E5E5F", +" b c #5F605D", +" c c #88865C", +" d c #B1B15D", +" e c #727158", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #727155", +" v c #676663", +" w c #7F7D6B", +" x c #87886E", +" y c #676862", +" z c #686560", +" A c #6B6960", +" B c #74705D", +" C c #7A7558", +" D c #7F7851", +" E c #897E48", +" F c #988940", +" G c #978537", +" H c #907F2F", +" I c #AD9A32", +" J c #EFE13D", +" K c #AE9F4B", +" L c #666456", +" M c #565554", +" N c #545455", +" O c #555553", +" P c #545454", +" Q c #545253", +" R c #535353", +" S c #525252", +" T c #515251", +" U c #525152", +" V c #515151", +" W c #525151", +" X c #525051", +" Y c #525251", +" Z c #525250", +" & c #515252", +"0 c #525352", +"00 c #535251", +"01 c #515152", +"02 c #525353", +"03 c #66645D", +"04 c #E3C33E", +"05 c #F6EC4D", +"06 c #C3B746", +"07 c #A5953A", +"08 c #9F8D33", +"09 c #968532", +"0a c #8D7E2F", +"0b c #7F7335", +"0c c #70683F", +"0d c #6A6441", +"0e c #625F48", +"0f c #5A584E", +"0g c #666349", +"0h c #938729", +"0i c #6E6744", +"0j c #938740", +"0k c #A39550", +"0l c #6F6B55", +"0m c #525350", +"0n c #4E4E4E", +"0o c #4F4F4F", +"0p c #4D4E4F", +"0q c #4E4E4D", +"0r c #4D4D4D", +"0s c #4D4D4C", +"0t c #4C4D4D", +"0u c #4D4C4C", +"0v c #4D4C4D", +"0w c #4C4C4C", +"0x c #4D4E4C", +"0y c #4D4D4E", +"0z c #4E4F4E", +"0A c #4E4E4F", +"0B c #4E4F4F", +"0C c #5D5A58", +"0D c #C0A22F", +"0E c #D1C12B", +"0F c #C4B746", +"0G c #6E6B50", +"0H c #585851", +"0I c #565453", +"0J c #535252", +"0K c #515050", +"0L c #4F514F", +"0M c #504E4F", +"0N c #514F4A", +"0O c #756A2A", +"0P c #4D4C4A", +"0Q c #645F42", +"0R c #9A8F48", +"0S c #AEA157", +"0T c #736E51", +"0U c #4F4F49", +"0V c #4E4F4A", +"0W c #4A4B4A", +"0X c #484949", +"0Y c #494948", +"0Z c #474848", +"0& c #494849", +"1 c #484948", +"10 c #474948", +"11 c #494947", +"12 c #484848", +"13 c #4A4949", +"14 c #4A4B4B", +"15 c #4B4B4C", +"16 c #4B4C4B", +"17 c #565756", +"18 c #5B594E", +"19 c #897C1B", +"1a c #706A41", +"1b c #A9A04F", +"1c c #716F58", +"1d c #51504F", +"1e c #4E4D4D", +"1f c #4C4C4D", +"1g c #4D4C4B", +"1h c #4B4B4A", +"1i c #494A4A", +"1j c #49484A", +"1k c #4F4C45", +"1l c #75682A", +"1m c #474747", +"1n c #464747", +"1o c #464746", +"1p c #484645", +"1q c #615B3C", +"1r c #9B8C41", +"1s c #C7C057", +"1t c #DBD95D", +"1u c #AEA64D", +"1v c #474544", +"1w c #444343", +"1x c #444344", +"1y c #434445", +"1z c #444443", +"1A c #444544", +"1B c #444445", +"1C c #444645", +"1D c #454645", +"1E c #464646", +"1F c #474646", +"1G c #474748", +"1H c #494949", +"1I c #535151", +"1J c #52524E", +"1K c #766C20", +"1L c #5B5945", +"1M c #595546", +"1N c #9A8E41", +"1O c #8B895B", +"1P c #4E4D4B", +"1Q c #494748", +"1R c #484647", +"1S c #454547", +"1T c #454545", +"1U c #434443", +"1V c #494841", +"1W c #726528", +"1X c #434242", +"1Y c #484841", +"1Z c #585440", +"1& c #655D39", +"2 c #7F732F", +"20 c #817423", +"21 c #9D8D22", +"22 c #F1DA3C", +"23 c #CBA92E", +"24 c #404140", +"25 c #403F40", +"26 c #3E3F3F", +"27 c #3F3F3E", +"28 c #3F4040", +"29 c #3F3F40", +"2a c #404041", +"2b c #434342", +"2c c #4C4B43", +"2d c #4F4F44", +"2e c #4A4A42", +"2f c #424343", +"2g c #444444", +"2h c #454443", +"2i c #454544", +"2j c #464545", +"2k c #4D4D4B", +"2l c #6F6523", +"2m c #5E593C", +"2n c #4E4B43", +"2o c #817A3D", +"2p c #A59F5F", +"2q c #666756", +"2r c #70715D", +"2s c #494846", +"2t c #444340", +"2u c #524E40", +"2v c #68603E", +"2w c #8F7F29", +"2x c #867A2E", +"2y c #817420", +"2z c #7A6E1D", +"2A c #6E6420", +"2B c #56502B", +"2C c #534E31", +"2D c #524F35", +"2E c #978D35", +"2F c #605335", +"2G c #3B3B3C", +"2H c #3A3B3C", +"2I c #3A3B3B", +"2J c #3C3A3B", +"2K c #4F4D45", +"2L c #7E6E51", +"2M c #A18144", +"2N c #A78441", +"2O c #A38341", +"2P c #AF8D3D", +"2Q c #A5893C", +"2R c #64593E", +"2S c #424140", +"2T c #424141", +"2U c #424142", +"2V c #424442", +"2W c #484A49", +"2X c #696024", +"2Y c #615A35", +"2Z c #464444", +"2& c #444540", +"3 c #857635", +"30 c #F8E87D", +"31 c #FAEE80", +"32 c #C8B349", +"33 c #847829", +"34 c #8A7B1D", +"35 c #7E721B", +"36 c #7C6E19", +"37 c #4F4C29", +"38 c #444130", +"39 c #3D3C37", +"3a c #393838", +"3b c #383738", +"3c c #383737", +"3d c #413E33", +"3e c #5E5724", +"3f c #363737", +"3g c #373637", +"3h c #373736", +"3i c #383838", +"3j c #625C4B", +"3k c #A5864C", +"3l c #65543C", +"3m c #3F3C39", +"3n c #3C3A39", +"3o c #3B3A3A", +"3p c #3F3D3C", +"3q c #5D4D38", +"3r c #AB813A", +"3s c #91743A", +"3t c #45433D", +"3u c #3F3F3F", +"3v c #5D572D", +"3w c #6B602E", +"3x c #414140", +"3y c #706133", +"3z c #FDC913", +"3A c #FDD019", +"3B c #D7B01A", +"3C c #514C2B", +"3D c #474431", +"3E c #464232", +"3F c #685D27", +"3G c #353534", +"3H c #343535", +"3I c #353434", +"3J c #333435", +"3K c #343333", +"3L c #343534", +"3M c #454230", +"3N c #524B23", +"3O c #333332", +"3P c #323333", +"3Q c #514E3C", +"3R c #8D6E3F", +"3S c #3F3933", +"3T c #353736", +"3U c #3A3939", +"3V c #3F3D3B", +"3W c #90753D", +"3X c #917138", +"3Y c #3F3E3C", +"3Z c #3F3E3F", +"3& c #454543", +"4 c #535033", +"40 c #7B6C26", +"41 c #3D3D3E", +"42 c #3B3D3B", +"43 c #454339", +"44 c #AE8E20", +"45 c #D5B018", +"46 c #867529", +"47 c #363635", +"48 c #3E3D2F", +"49 c #645925", +"4a c #303131", +"4b c #312F31", +"4c c #303030", +"4d c #2F3030", +"4e c #31312F", +"4f c #2F2F2F", +"4g c #484228", +"4h c #464123", +"4i c #2F2E2E", +"4j c #2E2E2E", +"4k c #302F2F", +"4l c #353431", +"4m c #A17F3E", +"4n c #423930", +"4o c #323231", +"4p c #323232", +"4q c #343433", +"4r c #343434", +"4s c #353634", +"4t c #363636", +"4u c #373738", +"4v c #393939", +"4w c #3D3E3A", +"4x c #B59441", +"4y c #5D4E36", +"4z c #3D3C3D", +"4A c #444345", +"4B c #424342", +"4C c #4B4937", +"4D c #716421", +"4E c #3F3D3D", +"4F c #3C3B3C", +"4G c #3A393A", +"4H c #46442E", +"4I c #716813", +"4J c #3B3931", +"4K c #323131", +"4L c #313131", +"4M c #494633", +"4N c #695F29", +"4O c #2E2F2E", +"4P c #2C2C2C", +"4Q c #2C2C2B", +"4R c #2C2B2B", +"4S c #2D2C2C", +"4T c #2D2D2D", +"4U c #4D4824", +"4V c #3A3924", +"4W c #2C2B2C", +"4X c #2B2B2C", +"4Y c #2C2D2C", +"4Z c #5B5436", +"4& c #755D32", +"5 c #47453B", +"50 c #4D4938", +"51 c #4E4937", +"52 c #4F4B37", +"53 c #534F39", +"54 c #575039", +"55 c #575139", +"56 c #58513A", +"57 c #59513A", +"58 c #59503B", +"59 c #6C6741", +"5a c #937635", +"5b c #3B3C3C", +"5c c #44443B", +"5d c #766A1B", +"5e c #3F3F3B", +"5f c #393A3A", +"5g c #383839", +"5h c #403F2F", +"5i c #6D6416", +"5j c #393732", +"5k c #373532", +"5l c #554F34", +"5m c #C2B440", +"5n c #D8D243", +"5o c #3E3E2C", +"5p c #292929", +"5q c #292928", +"5r c #252524", +"5s c #212221", +"5t c #2B2A2B", +"5u c #564E1E", +"5v c #333125", +"5w c #292828", +"5x c #292A29", +"5y c #2A2A29", +"5z c #786833", +"5A c #483D2D", +"5B c #C5A645", +"5C c #F3BF43", +"5D c #F3BE41", +"5E c #F2BC3F", +"5F c #F5BC3E", +"5G c #F5B93C", +"5H c #F6B83B", +"5I c #F6B63A", +"5J c #F5B238", +"5K c #EFA936", +"5L c #5F5138", +"5M c #AA8E3C", +"5N c #3C3B3A", +"5O c #424242", +"5P c #404040", +"5Q c #41413D", +"5R c #76691F", +"5S c #434239", +"5T c #373839", +"5U c #383837", +"5V c #454431", +"5W c #776B17", +"5X c #8D7F37", +"5Y c #7A672E", +"5Z c #68602B", +"5& c #675B25", +"6 c #6B652A", +"60 c #746A2F", +"61 c #353327", +"62 c #262626", +"63 c #1D1C1D", +"64 c #171818", +"65 c #272625", +"66 c #554F1C", +"67 c #2B2B26", +"68 c #292727", +"69 c #282829", +"6a c #292829", +"6b c #947D33", +"6c c #42382A", +"6d c #CC9F35", +"6e c #FDB833", +"6f c #FDB732", +"6g c #FDB631", +"6h c #FDB430", +"6i c #FDB130", +"6j c #FEB12F", +"6k c #FDAE2E", +"6l c #FDAC2E", +"6m c #F39B29", +"6n c #584934", +"6o c #A69342", +"6p c #40403F", +"6q c #434240", +"6r c #766B27", +"6s c #5C5A3E", +"6t c #504D40", +"6u c #6E6942", +"6v c #908543", +"6w c #837A2D", +"6x c #756A15", +"6y c #48442D", +"6z c #333130", +"6A c #302F30", +"6B c #2D2C2D", +"6C c #1A1919", +"6D c #201F17", +"6E c #7E7338", +"6F c #49452C", +"6G c #161718", +"6H c #1F1E1D", +"6I c #4E4A1D", +"6J c #2B2B2A", +"6K c #2A292A", +"6L c #29292A", +"6M c #77602E", +"6N c #53402C", +"6O c #BC8529", +"6P c #EC9B25", +"6Q c #ED9C24", +"6R c #F09E26", +"6S c #F19C25", +"6T c #F29C25", +"6U c #F39B24", +"6V c #F29924", +"6W c #F29A23", +"6X c #EA9121", +"6Y c #5C4C35", +"6Z c #A78C3C", +"6& c #3A3A39", +"7 c #414342", +"70 c #3F4140", +"71 c #635A3E", +"72 c #D9C957", +"73 c #D5C93A", +"74 c #857B36", +"75 c #615A32", +"76 c #434233", +"77 c #3B3B32", +"78 c #6A6415", +"79 c #423E2E", +"7a c #313130", +"7b c #2D2E2D", +"7c c #1B1C1B", +"7d c #181617", +"7e c #282823", +"7f c #6D643A", +"7g c #6F663D", +"7h c #1E1E1A", +"7i c #1F1F19", +"7j c #4D491A", +"7k c #2D2C2B", +"7l c #584A2D", +"7m c #8A5F2A", +"7n c #3D362D", +"7o c #443A2C", +"7p c #493C2D", +"7q c #4B3F2D", +"7r c #4D3E2E", +"7s c #524130", +"7t c #524432", +"7u c #514430", +"7v c #534532", +"7w c #554632", +"7x c #685E3B", +"7y c #8A6F34", +"7z c #434243", +"7A c #414241", +"7B c #49463E", +"7C c #BDAD2A", +"7D c #C2AE3F", +"7E c #524E3A", +"7F c #3A3935", +"7G c #676017", +"7H c #333535", +"7I c #333232", +"7J c #2E2C2C", +"7K c #1B1C1C", +"7L c #212020", +"7M c #212121", +"7N c #4E4833", +"7O c #988C4F", +"7P c #4A462B", +"7Q c #4B461B", +"7R c #302F2E", +"7S c #2F302F", +"7T c #2E2F2F", +"7U c #353330", +"7V c #AA742B", +"7W c #4C422F", +"7X c #313231", +"7Y c #333234", +"7Z c #343334", +"7& c #AB9142", +"8 c #504536", +"80 c #3C3B3B", +"81 c #434444", +"82 c #45433F", +"83 c #5F5A38", +"84 c #A59439", +"85 c #47463C", +"86 c #3A3A3B", +"87 c #3C3B37", +"88 c #655D19", +"89 c #4B4830", +"8a c #232223", +"8b c #262726", +"8c c #1F1F1E", +"8d c #44412A", +"8e c #DBCF53", +"8f c #C7B134", +"8g c #393428", +"8h c #323233", +"8i c #333131", +"8j c #323332", +"8k c #514331", +"8l c #AA7A2F", +"8m c #474235", +"8n c #343435", +"8o c #343636", +"8p c #353535", +"8q c #373739", +"8r c #403F3D", +"8s c #8D835C", +"8t c #75613A", +"8u c #3C3C3C", +"8v c #3C3E3C", +"8w c #454546", +"8x c #434343", +"8y c #414142", +"8z c #756C37", +"8A c #A5994B", +"8B c #43433D", +"8C c #3D3E3B", +"8D c #655F1A", +"8E c #504B30", +"8F c #3A3839", +"8G c #252323", +"8H c #2B2C2B", +"8I c #373737", +"8J c #2A2723", +"8K c #514823", +"8L c #7E6D30", +"8M c #AD9423", +"8N c #C49119", +"8O c #2C2920", +"8P c #303031", +"8Q c #353636", +"8R c #353536", +"8S c #373635", +"8T c #524533", +"8U c #AD8233", +"8V c #6D623A", +"8W c #42423A", +"8X c #3A3A38", +"8Y c #393B38", +"8Z c #42413D", +"8& c #646254", +"9 c #B2A168", +"90 c #7C663C", +"91 c #3E3D3E", +"92 c #3E3E3F", +"93 c #484748", +"94 c #454440", +"95 c #89813B", +"96 c #998B47", +"97 c #655D1D", +"98 c #524D31", +"99 c #3C3C3D", +"9a c #363836", +"9b c #242524", +"9c c #383836", +"9d c #4D4A3B", +"9e c #696336", +"9f c #6E6225", +"9g c #47401E", +"9h c #383733", +"9i c #3E3C38", +"9j c #2C2C2D", +"9k c #252423", +"9l c #383939", +"9m c #383938", +"9n c #393839", +"9o c #463F38", +"9p c #725C34", +"9q c #9E8039", +"9r c #A78F44", +"9s c #A38F4E", +"9t c #A48D4E", +"9u c #877346", +"9v c #544A3A", +"9w c #3E3F3D", +"9x c #3F3E3E", +"9y c #403F3F", +"9z c #484849", +"9A c #454746", +"9B c #444546", +"9C c #4A4742", +"9D c #9C9043", +"9E c #887F4B", +"9F c #655F1E", +"9G c #544F32", +"9H c #3E3F3E", +"9I c #3B382C", +"9J c #7C723E", +"9K c #7F742F", +"9L c #30302B", +"9M c #212022", +"9N c #3A3B3A", +"9O c #2B2C2D", +"9P c #2D2B2C", +"9Q c #3C3C3B", +"9R c #3C3D3B", +"9S c #3D3D3D", +"9T c #43413C", +"9U c #46403C", +"9V c #40403E", +"9W c #3F403F", +"9X c #4C4B4B", +"9Y c #4B4B4B", +"9Z c #4A484A", +"9& c #474847", +"a c #464645", +"a0 c #515041", +"a1 c #B7A95A", +"a2 c #898130", +"a3 c #675F32", +"a4 c #5C583F", +"a5 c #8B833E", +"a6 c #776D2C", +"a7 c #524D36", +"a8 c #43423F", +"a9 c #282626", +"aa c #2E2D2D", +"ab c #393A39", +"ac c #3B3C3B", +"ad c #282929", +"ae c #403E3F", +"af c #41403F", +"ag c #404042", +"ah c #414143", +"ai c #444543", +"aj c #4A4A4B", +"ak c #494A4B", +"al c #49494A", +"am c #817A52", +"an c #CEC770", +"ao c #DABE23", +"ap c #6F6420", +"aq c #393721", +"ar c #3E3E3B", +"as c #242525", +"at c #333233", +"au c #2E2D2E", +"av c #414041", +"aw c #414242", +"ax c #29282A", +"ay c #3A3A3A", +"az c #424243", +"aA c #424443", +"aB c #434344", +"aC c #434543", +"aD c #454445", +"aE c #464745", +"aF c #4F4F50", +"aG c #4F4F4E", +"aH c #4C4B4D", +"aI c #4A4C4B", +"aJ c #71663E", +"aK c #F6CD2A", +"aL c #E8C31D", +"aM c #504A35", +"aN c #302E2F", +"aO c #434544", +"aP c #464647", +"aQ c #313232", +"aR c #2C2D2D", +"aS c #464644", +"aT c #444646", +"aU c #464546", +"aV c #464547", +"aW c #484847", +"aX c #535352", +"aY c #504F4F", +"aZ c #4F4E4F", +"a& c #4E4E4C", +"b c #7C703D", +"b0 c #605A42", +"b1 c #323331", +"b2 c #4B4B49", +"b3 c #4A4848", +"b4 c #303231", +"b5 c #414240", +"b6 c #484749", +"b7 c #313031", +"b8 c #4A4849", +"b9 c #4A4A4A", +"ba c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u f g h i j k l", +" v w x y z A B C D E F G H I J K L M N N O P Q R S T U V W X V Y U Z V &0 00010 02", +"030405060708090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0v0w0u0x0s0x0s0y0z0A0A0B", +"0C0D0E0F0G0H0I0J U0K0L0M0z0N0O0w0P0Q0R0S0T0U0V0W0X0Y0Z0&1 10110X120X1 13140W151615", +"1718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1w1x1y1x1z1A1B1C1D1E1F1m1G0Z1H", +"1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e1z2f2g2h2i2j", +"0q2k2l2m122n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2G2J2K2L2M2N2O2P2Q2R2S2T2U2V", +"152W2X2Y2Z2g2&3 303132333435363738393a3b3c3d3e3f3g3h3f3i3j3k3l3m3n3o3p3q3r3s3t3u2a", +"121o3v3w2U3x3u3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3O3O3P3Q3R3S3G3T3f3c3a3U3V3W3X3Y3Z", +"1E3&4 403Z414243444546473I48494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z", +"4A4B4C4D4E4F4G3a4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b", +"4B2a5c5d5e5f5g3h5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N", +"5O5P5Q5R5S3U5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o3m", +"2T6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6C6G6H6I6J5y6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&", +"7 707172737475767778794o7a7b7c7d7e7f7g7h7i7j4T6B7k4Y7l7m7n7o7p7q7r7s7t7u7v7w7x7y3o", +"7z7A7B7C7D7E3o5g7F7G3M7H7I7J7K7L7M4k7N7O7P7Q7R7S4f7T7U7V7W4L7X7Y7Z3I473h3c5e7&8 80", +"814B2a82838485868788894t3H6J8a4a8b5y8c8d8e8f8g8h8i8j8h8k8l8m8n8o8p3g3b8q8r8s8t8u8v", +"8w8x2b8y3x8z8A8B8C8D8E8F3b8G8H8I3O8J8K8L8M8N8O8P3G8Q8R8S8T8U8V8W8X8Y8Z8&9 905e9192", +"931o2i1x2f9495965Q9798999a9b9c9d9e9f9g9h9i9i9j9k3L9l9l9m9n9o9p9q9r9s9t9u9v9w9x9y2a", +"9z111G9A9B1w9C9D9E9F9G9H4o9I9J9K9G9L9M4L8u8u9N9O9P869Q9R809Q4z9S9T9U9V9y9W2a2a2T4B", +"9X9Y9Z119&1Fa a0a1a2a3a4a5a6a7a88ua9aa9jab9y6pacad7a3Z9H9Vae2628af5Pag2Uah8x8x1Uai", +"0r0w16ajakal129&amanaoapaqar1B1z41as4ratauavaw8y4vaxay2b7zaz8x8xaA2faBaCaD2i2jaE1o", +"aF0oaG0y0raH16aIaJaKaLaMaNaO1FaP3o5q9QaAaQay2j1D1D8IaR6paS2jaTaUa aVaV1o0ZaW12aW9z", +"aX U01 VaYaZ0z0ra&b b0b15gb2ajb3b44S1o0X4Baab593b61T4ob7aU0Y1Q1 b81j0&1ib9aj0W1hba"}; diff --git a/2009-x64/cps4.03/icons/cpscSelectBase.xpm b/2009-x64/cps4.03/icons/cpscSelectBase.xpm new file mode 100644 index 0000000..5ece747 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSelectBase.xpm @@ -0,0 +1,1236 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1209 2", +" c #727270", +" 0 c #707171", +" 1 c #6F7070", +" 2 c #6F6F70", +" 3 c #6E6D6E", +" 4 c #6E6E6C", +" 5 c #6E6D6D", +" 6 c #6B6C6C", +" 7 c #6B6B6C", +" 8 c #696868", +" 9 c #676868", +" a c #696767", +" b c #666767", +" c c #666667", +" d c #646465", +" e c #646364", +" f c #636263", +" g c #626162", +" h c #5F5F60", +" i c #5E5E5F", +" j c #5D5D5C", +" k c #5C5C5C", +" l c #5B5C5C", +" m c #5B5A5C", +" n c #5A5A5A", +" o c #5A595A", +" p c #595859", +" q c #585859", +" r c #585758", +" s c #565658", +" t c #565756", +" u c #565656", +" v c #555655", +" w c #575657", +" x c #555555", +" y c #555455", +" z c #555554", +" A c #545554", +" B c #585854", +" C c #D1D178", +" D c #D4C34E", +" E c #595752", +" F c #545454", +" G c #545455", +" H c #545553", +" I c #555454", +" J c #565455", +" K c #555557", +" L c #585756", +" M c #575857", +" N c #565856", +" O c #575858", +" P c #595958", +" Q c #595858", +" R c #595959", +" S c #6D6F6D", +" T c #6D6C6C", +" U c #6C6C6C", +" V c #6C6B6A", +" W c #696A69", +" X c #686868", +" Y c #676768", +" Z c #666868", +" & c #666666", +"0 c #656464", +"00 c #646464", +"01 c #626263", +"02 c #60615F", +"03 c #606160", +"04 c #5E5F5E", +"05 c #5E5E5D", +"06 c #5E5D5E", +"07 c #5C5D5C", +"08 c #5C5C5B", +"09 c #59595B", +"0a c #585958", +"0b c #585857", +"0c c #535453", +"0d c #535354", +"0e c #535452", +"0f c #525352", +"0g c #525152", +"0h c #515153", +"0i c #616252", +"0j c #676853", +"0k c #505151", +"0l c #4F4F50", +"0m c #625D4A", +"0n c #6A643C", +"0o c #7D7229", +"0p c #746B1C", +"0q c #8C7C1A", +"0r c #D8BA3A", +"0s c #E6B22B", +"0t c #CFC073", +"0u c #B2A55D", +"0v c #78704F", +"0w c #58564D", +"0x c #51504F", +"0y c #515150", +"0z c #525151", +"0A c #515152", +"0B c #525254", +"0C c #545353", +"0D c #545453", +"0E c #565655", +"0F c #555656", +"0G c #575656", +"0H c #6A6A69", +"0I c #696969", +"0J c #686767", +"0K c #656666", +"0L c #646362", +"0M c #636362", +"0N c #616262", +"0O c #616160", +"0P c #797357", +"0Q c #787258", +"0R c #6C6858", +"0S c #5B5C5B", +"0T c #595A59", +"0U c #565657", +"0V c #555657", +"0W c #535454", +"0X c #515353", +"0Y c #525051", +"0Z c #504F50", +"0& c #4E4E4F", +"1 c #4E4E4E", +"10 c #4D4D4E", +"11 c #4E4D4E", +"12 c #4C4D4E", +"13 c #EDEE66", +"14 c #FEE747", +"15 c #BE9E29", +"16 c #8B7F17", +"17 c #6C621A", +"18 c #6E6728", +"19 c #5D5838", +"1a c #525248", +"1b c #4B4B4B", +"1c c #857233", +"1d c #535145", +"1e c #545147", +"1f c #6A623F", +"1g c #98873A", +"1h c #CBBA4A", +"1i c #C5BC6C", +"1j c #928951", +"1k c #615D48", +"1l c #4D4F4E", +"1m c #4F4E4F", +"1n c #4E4F50", +"1o c #504F4F", +"1p c #4F5050", +"1q c #505051", +"1r c #515251", +"1s c #525253", +"1t c #525252", +"1u c #535353", +"1v c #666665", +"1w c #646565", +"1x c #636363", +"1y c #605F60", +"1z c #69655C", +"1A c #9F914A", +"1B c #D4BA46", +"1C c #FCDC4A", +"1D c #FFE252", +"1E c #FEE151", +"1F c #FEDA46", +"1G c #F0CE3C", +"1H c #C0A840", +"1I c #79704C", +"1J c #535555", +"1K c #535252", +"1L c #515051", +"1M c #4F4F4F", +"1N c #4E4F4F", +"1O c #4E4D4D", +"1P c #4D4C4D", +"1Q c #4C4B4B", +"1R c #4A4A4C", +"1S c #4A4A4A", +"1T c #4A4B4A", +"1U c #49484A", +"1V c #484A49", +"1W c #484847", +"1X c #494948", +"1Y c #4E4E48", +"1Z c #E7E853", +"1& c #F7CB29", +"2 c #C5AD35", +"20 c #B5A64D", +"21 c #837D5E", +"22 c #504E45", +"23 c #474747", +"24 c #85722A", +"25 c #484647", +"26 c #474847", +"27 c #484748", +"28 c #484848", +"29 c #5E5740", +"2a c #897739", +"2b c #BAA74B", +"2c c #D9CA7A", +"2d c #A8933C", +"2e c #6F6A4B", +"2f c #8A8950", +"2g c #7E7F4E", +"2h c #58594D", +"2i c #515050", +"2j c #60605F", +"2k c #5D5E5F", +"2l c #5E5D5D", +"2m c #7D7650", +"2n c #D4B835", +"2o c #E7C845", +"2p c #FBE467", +"2q c #FEFC93", +"2r c #FEFFBA", +"2s c #FFFFB6", +"2t c #FFF983", +"2u c #FDE15B", +"2v c #EDCB45", +"2w c #E9C633", +"2x c #C6AB33", +"2y c #58554C", +"2z c #4D4C4C", +"2A c #4C4C4B", +"2B c #4C4C4A", +"2C c #494949", +"2D c #474646", +"2E c #444645", +"2F c #444646", +"2G c #444544", +"2H c #444445", +"2I c #444345", +"2J c #444443", +"2K c #444343", +"2L c #4F4B3A", +"2M c #6C6028", +"2N c #414241", +"2O c #5D5635", +"2P c #7E7028", +"2Q c #BBA03C", +"2R c #B9AD69", +"2S c #7D7755", +"2T c #4B4B41", +"2U c #8C7630", +"2V c #434443", +"2W c #444444", +"2X c #454544", +"2Y c #454545", +"2Z c #454646", +"2& c #464646", +"3 c #514D42", +"30 c #726742", +"31 c #BCA853", +"32 c #EFE04E", +"33 c #FFE841", +"34 c #897037", +"35 c #4C4A4B", +"36 c #4B4C4C", +"37 c #4D4D4D", +"38 c #4E4C4C", +"39 c #4F4D4E", +"3a c #4F4F4E", +"3b c #505050", +"3c c #5F5E5F", +"3d c #5B5C5D", +"3e c #928640", +"3f c #CEB22B", +"3g c #CFB23B", +"3h c #E7C755", +"3i c #FEF68C", +"3j c #FEFFE6", +"3k c #FFFFFE", +"3l c #FFFFFF", +"3m c #FFFFC3", +"3n c #FEF276", +"3o c #EDCD4C", +"3p c #DCBD37", +"3q c #D5B62D", +"3r c #C9AC2C", +"3s c #615C42", +"3t c #474848", +"3u c #464747", +"3v c #464645", +"3w c #444543", +"3x c #444344", +"3y c #434243", +"3z c #404040", +"3A c #414141", +"3B c #414040", +"3C c #40403F", +"3D c #3F3F3E", +"3E c #3E3E3E", +"3F c #3E3F3D", +"3G c #3F3F3F", +"3H c #5A5330", +"3I c #514C2A", +"3J c #3D3E3D", +"3K c #3D3E3E", +"3L c #3E3E3D", +"3M c #45463B", +"3N c #625C32", +"3O c #90853C", +"3P c #C5B34E", +"3Q c #C6B77B", +"3R c #6E6951", +"3S c #49473F", +"3T c #404041", +"3U c #424041", +"3V c #414242", +"3W c #414142", +"3X c #424241", +"3Y c #4F4C3F", +"3Z c #625E32", +"3& c #83791A", +"4 c #6A6416", +"40 c #AFA82D", +"41 c #D7B424", +"42 c #534D44", +"43 c #4B494B", +"44 c #5B5A5A", +"45 c #887D3E", +"46 c #BEA623", +"47 c #B49B2F", +"48 c #C6AC3E", +"49 c #E1C855", +"4a c #FEF688", +"4b c #FFFFE5", +"4c c #FEFEF6", +"4d c #FFFEBB", +"4e c #FBE96D", +"4f c #E5C947", +"4g c #D2B434", +"4h c #CDB12E", +"4i c #CBAE26", +"4j c #C0A625", +"4k c #4C4B40", +"4l c #3D3D3E", +"4m c #3C3C3B", +"4n c #3C3B3A", +"4o c #3C3C3C", +"4p c #3A3A3C", +"4q c #3C3B3B", +"4r c #3B3A3A", +"4s c #62582A", +"4t c #46422D", +"4u c #393A3A", +"4v c #39393A", +"4w c #393839", +"4x c #3A393A", +"4y c #3B393A", +"4z c #3A3A3B", +"4A c #5E5536", +"4B c #7A6A22", +"4C c #9D915B", +"4D c #DACC6F", +"4E c #A69A4E", +"4F c #BDBD46", +"4G c #CFCE53", +"4H c #83793D", +"4I c #786F1B", +"4J c #6A6312", +"4K c #5F5B23", +"4L c #525038", +"4M c #434242", +"4N c #A38C27", +"4O c #48473A", +"4P c #474746", +"4Q c #484749", +"4R c #4A4B4B", +"4S c #59595A", +"4T c #585858", +"4U c #5F5D52", +"4V c #AE9B1E", +"4W c #A28D24", +"4X c #AB972B", +"4Y c #BDA836", +"4Z c #D6C046", +"4& c #F7E367", +"5 c #FEFD8E", +"50 c #FEFEAF", +"51 c #FEFFA3", +"52 c #FEF980", +"53 c #EFD556", +"54 c #D8BC3F", +"55 c #C9AE2F", +"56 c #C2A727", +"57 c #C1A522", +"58 c #C2A61F", +"59 c #928129", +"5a c #3C3E3E", +"5b c #3B3C3B", +"5c c #726F46", +"5d c #716F46", +"5e c #393838", +"5f c #383838", +"5g c #373736", +"5h c #363737", +"5i c #363537", +"5j c #353536", +"5k c #635923", +"5l c #3F3D2D", +"5m c #353636", +"5n c #353534", +"5o c #363535", +"5p c #363536", +"5q c #363635", +"5r c #363736", +"5s c #716233", +"5t c #46442F", +"5u c #383937", +"5v c #4C4B32", +"5w c #90862D", +"5x c #FFFF37", +"5y c #FEEB2E", +"5z c #D08D11", +"5A c #4A492F", +"5B c #3F3D3E", +"5C c #403E3E", +"5D c #403F40", +"5E c #4D493F", +"5F c #9C8623", +"5G c #424342", +"5H c #434343", +"5I c #454645", +"5J c #464746", +"5K c #484747", +"5L c #474947", +"5M c #484849", +"5N c #4A4949", +"5O c #575757", +"5P c #8D8025", +"5Q c #A39317", +"5R c #94821C", +"5S c #AE9B23", +"5T c #B8A229", +"5U c #C1A834", +"5V c #D2BA42", +"5W c #E3CA50", +"5X c #F2D75D", +"5Y c #EAD459", +"5Z c #E1C84D", +"5& c #D4BC3D", +"6 c #C2A92C", +"60 c #BDA425", +"61 c #B79E1F", +"62 c #B49C1D", +"63 c #B69E1A", +"64 c #BDA31A", +"65 c #4A4836", +"66 c #383939", +"67 c #383837", +"68 c #7C703E", +"69 c #FED94F", +"6a c #CBC155", +"6b c #404037", +"6c c #323332", +"6d c #343333", +"6e c #333433", +"6f c #333333", +"6g c #323231", +"6h c #79711D", +"6i c #3C382F", +"6j c #303031", +"6k c #313130", +"6l c #313031", +"6m c #323130", +"6n c #333232", +"6o c #333234", +"6p c #8D7137", +"6q c #3A3831", +"6r c #353535", +"6s c #363637", +"6t c #4F5036", +"6u c #CDC72F", +"6v c #F7CE1D", +"6w c #765319", +"6x c #333334", +"6y c #3C3D3C", +"6z c #3D3C3D", +"6A c #3F3E3E", +"6B c #7A6D39", +"6C c #675E22", +"6D c #424343", +"6E c #464748", +"6F c #4A494A", +"6G c #565556", +"6H c #887816", +"6I c #938213", +"6J c #8B7818", +"6K c #9D871C", +"6L c #987F1F", +"6M c #A28927", +"6N c #A9902C", +"6O c #AB922F", +"6P c #B79D36", +"6Q c #B59C33", +"6R c #B69E2F", +"6S c #AC9625", +"6T c #AC9220", +"6U c #A8911C", +"6V c #A9911B", +"6W c #B78D20", +"6X c #A58F14", +"6Y c #C29A1E", +"6Z c #60592B", +"6& c #353735", +"7 c #353334", +"70 c #72633B", +"71 c #FDAE38", +"72 c #FFA633", +"73 c #F2C748", +"74 c #645A38", +"75 c #2E2F2F", +"76 c #2F2F2F", +"77 c #302F2F", +"78 c #2F302F", +"79 c #2F2E30", +"7a c #61561E", +"7b c #2E2E2D", +"7c c #2C2C2E", +"7d c #2D2D2D", +"7e c #2D2F2D", +"7f c #2F2D2E", +"7g c #2F3030", +"7h c #303130", +"7i c #867524", +"7j c #323232", +"7k c #343635", +"7l c #78652A", +"7m c #4B3F1A", +"7n c #2A231B", +"7o c #24201C", +"7p c #312F2B", +"7q c #423E39", +"7r c #3D3C3C", +"7s c #A08734", +"7t c #4E4C2B", +"7u c #3F403F", +"7v c #444545", +"7w c #464546", +"7x c #474748", +"7y c #57564C", +"7z c #7D6C0B", +"7A c #857814", +"7B c #8F8218", +"7C c #927F13", +"7D c #947D15", +"7E c #947C18", +"7F c #937A1A", +"7G c #917A1B", +"7H c #90781C", +"7I c #91791C", +"7J c #8D7719", +"7K c #90791A", +"7L c #8D7716", +"7M c #917B16", +"7N c #8F731A", +"7O c #927A15", +"7P c #958212", +"7Q c #BB8720", +"7R c #927524", +"7S c #715B37", +"7T c #FFC040", +"7U c #FFC23A", +"7V c #FD9B29", +"7W c #FEB63B", +"7X c #B09841", +"7Y c #39352D", +"7Z c #2C2B2B", +"7& c #2D2D2C", +"8 c #2C2D2C", +"80 c #695B20", +"81 c #2A2A29", +"82 c #292B2A", +"83 c #2B2A2A", +"84 c #2B2B2A", +"85 c #2B2B2B", +"86 c #2C2E2D", +"87 c #816D28", +"88 c #313131", +"89 c #B28C2F", +"8a c #FEC854", +"8b c #FEED7E", +"8c c #FEFEA6", +"8d c #FFFEC4", +"8e c #FFFFAE", +"8f c #FEE786", +"8g c #FFB358", +"8h c #F8913D", +"8i c #DF7429", +"8j c #5E4022", +"8k c #414140", +"8l c #464745", +"8m c #5B573C", +"8n c #7A6D08", +"8o c #7D6E20", +"8p c #806D24", +"8q c #817817", +"8r c #867C0F", +"8s c #8F7D10", +"8t c #8B7910", +"8u c #8B7712", +"8v c #8A7512", +"8w c #847012", +"8x c #836D12", +"8y c #7E6912", +"8z c #7D6910", +"8A c #7E690F", +"8B c #806C0F", +"8C c #806C0D", +"8D c #8E761B", +"8E c #AB781C", +"8F c #9C791F", +"8G c #303131", +"8H c #715935", +"8I c #FFC33F", +"8J c #FEC73B", +"8K c #FFB934", +"8L c #FFAD30", +"8M c #F69D2F", +"8N c #EBA837", +"8O c #4E412C", +"8P c #292A2B", +"8Q c #2A292A", +"8R c #66571B", +"8S c #272829", +"8T c #292827", +"8U c #272929", +"8V c #28292A", +"8W c #2A2A2A", +"8X c #2A2B2A", +"8Y c #43402F", +"8Z c #6B5F1E", +"8& c #2F2E2E", +"9 c #282A29", +"90 c #272526", +"91 c #2D2B20", +"92 c #916F1B", +"93 c #FEC758", +"94 c #FEEA7C", +"95 c #FFFFA9", +"96 c #FEFFC0", +"97 c #FFF6A1", +"98 c #FEC468", +"99 c #FEA64F", +"9a c #F28333", +"9b c #6B3C11", +"9c c #493B2B", +"9d c #404140", +"9e c #454344", +"9f c #58563C", +"9g c #746B04", +"9h c #736718", +"9i c #746A13", +"9j c #76681E", +"9k c #787212", +"9l c #7D790B", +"9m c #81770B", +"9n c #85740B", +"9o c #83710C", +"9p c #806E0B", +"9q c #7B690B", +"9r c #7A670C", +"9s c #77640B", +"9t c #73620C", +"9u c #836B16", +"9v c #76630D", +"9w c #7C690C", +"9x c #AE8023", +"9y c #987421", +"9z c #313333", +"9A c #303030", +"9B c #715834", +"9C c #FEB335", +"9D c #FEC43A", +"9E c #FFC139", +"9F c #FFC94A", +"9G c #FFAA33", +"9H c #8A5A20", +"9I c #2E2B28", +"9J c #313029", +"9K c #514B17", +"9L c #272828", +"9M c #292728", +"9N c #292829", +"9O c #292929", +"9P c #E6DE61", +"9Q c #F3D642", +"9R c #3D3522", +"9S c #1C1E1C", +"9T c #1E1E1F", +"9U c #423A20", +"9V c #5C5416", +"9W c #EBB050", +"9X c #FFD369", +"9Y c #FEEB89", +"9Z c #FFEA8A", +"9& c #FEDC7D", +"a c #FFAE56", +"a0 c #F68938", +"a1 c #734213", +"a2 c #4C3A21", +"a3 c #403F3F", +"a4 c #404142", +"a5 c #464444", +"a6 c #525353", +"a7 c #565445", +"a8 c #706B03", +"a9 c #696216", +"aa c #68630E", +"ab c #6C5E1E", +"ac c #6D6713", +"ad c #707109", +"ae c #757307", +"af c #776E06", +"ag c #7B6C07", +"ah c #796A08", +"ai c #786908", +"aj c #766609", +"ak c #75630A", +"al c #75630B", +"am c #93751D", +"an c #9A7F16", +"ao c #8A6911", +"ap c #836822", +"aq c #313232", +"ar c #715C34", +"as c #FEAB31", +"at c #FEC344", +"au c #FFD169", +"av c #D7902C", +"aw c #574325", +"ax c #2C2D2D", +"ay c #3E3C29", +"az c #4A451B", +"aA c #2B2A2B", +"aB c #4D462C", +"aC c #695B24", +"aD c #796A1F", +"aE c #8C862A", +"aF c #A68825", +"aG c #A89244", +"aH c #95813C", +"aI c #444332", +"aJ c #70652C", +"aK c #524D16", +"aL c #BF7F39", +"aM c #FFB552", +"aN c #FEBE5F", +"aO c #FFB659", +"aP c #FFA54D", +"aQ c #FF933F", +"aR c #AA591B", +"aS c #4C361E", +"aT c #404141", +"aU c #414143", +"aV c #444243", +"aW c #454443", +"aX c #464445", +"aY c #505252", +"aZ c #736E06", +"a& c #675C1F", +"b c #65600C", +"b0 c #655F12", +"b1 c #695B1E", +"b2 c #6B5F1B", +"b3 c #6D6613", +"b4 c #6D6B0B", +"b5 c #717006", +"b6 c #757108", +"b7 c #7A7007", +"b8 c #7D6F09", +"b9 c #7C6B08", +"ba c #7B6B0A", +"bb c #7A670B", +"bc c #7E690D", +"bd c #9C7716", +"be c #5F5427", +"bf c #333434", +"bg c #715D35", +"bh c #FFCB4F", +"bi c #FABB41", +"bj c #A77225", +"bk c #34322E", +"bl c #2E2E2E", +"bm c #2E2D2F", +"bn c #3F3B2B", +"bo c #41411F", +"bp c #524C2D", +"bq c #7A6D20", +"br c #66591E", +"bs c #353526", +"bt c #2D2F2E", +"bu c #262727", +"bv c #181717", +"bw c #1A1919", +"bx c #504528", +"by c #A7953A", +"bz c #A18D29", +"bA c #534F24", +"bB c #7B5737", +"bC c #FE9C3D", +"bD c #FE9C42", +"bE c #FF923C", +"bF c #FE8C38", +"bG c #E8752A", +"bH c #E87428", +"bI c #C36527", +"bJ c #5E422F", +"bK c #3D3F3E", +"bL c #40413F", +"bM c #424141", +"bN c #434342", +"bO c #454546", +"bP c #535253", +"bQ c #635F29", +"bR c #6E690E", +"bS c #675D1A", +"bT c #666011", +"bU c #695F17", +"bV c #6B5C1F", +"bW c #6D621A", +"bX c #6D6614", +"bY c #6F6B0E", +"bZ c #717208", +"b& c #767107", +"c c #7B7208", +"c0 c #817009", +"c1 c #806E09", +"c2 c #806D0A", +"c3 c #806C0B", +"c4 c #816C0C", +"c5 c #876F11", +"c6 c #3C3B35", +"c7 c #363636", +"c8 c #746035", +"c9 c #EAA229", +"ca c #5E492C", +"cb c #303231", +"cc c #313030", +"cd c #323031", +"ce c #524F32", +"cf c #CCC350", +"cg c #BCA127", +"ch c #70621E", +"ci c #645C22", +"cj c #33332E", +"ck c #313132", +"cl c #1B1B1C", +"cm c #252626", +"cn c #272627", +"co c #302F31", +"cp c #827718", +"cq c #857727", +"cr c #CDAC5B", +"cs c #FF872E", +"ct c #FF812D", +"cu c #F07629", +"cv c #D86B25", +"cw c #D9681F", +"cx c #EA7227", +"cy c #EA7328", +"cz c #E77125", +"cA c #BC6127", +"cB c #644937", +"cC c #434444", +"cD c #444446", +"cE c #464547", +"cF c #515252", +"cG c #53524D", +"cH c #716E0B", +"cI c #6C6319", +"cJ c #685F18", +"cK c #6A5D1F", +"cL c #6D5D21", +"cM c #706A15", +"cN c #726E0D", +"cO c #75720A", +"cP c #7A7508", +"cQ c #807309", +"cR c #837209", +"cS c #84700B", +"cT c #84700C", +"cU c #8A720E", +"cV c #5C4F16", +"cW c #393939", +"cX c #373837", +"cY c #544734", +"cZ c #473F33", +"c& c #353434", +"d c #343334", +"d0 c #333435", +"d1 c #343534", +"d2 c #666030", +"d3 c #FEE525", +"d4 c #E1AB35", +"d5 c #6D6849", +"d6 c #333332", +"d7 c #1E1F1E", +"d8 c #332F27", +"d9 c #796A14", +"da c #403E36", +"db c #E97327", +"dc c #F47425", +"dd c #AD5819", +"de c #7E5620", +"df c #936D1B", +"dg c #D1631C", +"dh c #DE6D23", +"di c #E06E23", +"dj c #DD6D22", +"dk c #DD6A21", +"dl c #B05D27", +"dm c #644A39", +"dn c #474648", +"do c #5C5936", +"dp c #6E6E0D", +"dq c #6C631D", +"dr c #6C5F1F", +"ds c #6D5E21", +"dt c #6F631E", +"du c #706716", +"dv c #726D11", +"dw c #74720C", +"dx c #787609", +"dy c #807608", +"dz c #86750B", +"dA c #88750C", +"dB c #8A750D", +"dC c #7A6712", +"dD c #24231C", +"dE c #1F1F1F", +"dF c #3A3C3B", +"dG c #3A3A3A", +"dH c #383738", +"dI c #373738", +"dJ c #383737", +"dK c #373737", +"dL c #6A5A2F", +"dM c #5A4C2C", +"dN c #736740", +"dO c #BDB472", +"dP c #686448", +"dQ c #212322", +"dR c #333432", +"dS c #514B2F", +"dT c #5D5613", +"dU c #3A3B3C", +"dV c #B05C24", +"dW c #AD5617", +"dX c #6D4412", +"dY c #E5D353", +"dZ c #F2C935", +"d& c #774F2B", +"e c #CA611A", +"e0 c #D56720", +"e1 c #D76821", +"e2 c #D66920", +"e3 c #D5681E", +"e4 c #D1651D", +"e5 c #A85A25", +"e6 c #634B3C", +"e7 c #494848", +"e8 c #48484A", +"e9 c #555556", +"ea c #525251", +"eb c #5E5B3A", +"ec c #747606", +"ed c #6E641B", +"ee c #6E621D", +"ef c #6F6020", +"eg c #70641C", +"eh c #716A16", +"ei c #736E11", +"ej c #76720E", +"ek c #797709", +"el c #82780A", +"em c #89780B", +"en c #8A790B", +"eo c #786711", +"ep c #25231C", +"eq c #1D1D1D", +"er c #1E1E1C", +"es c #3D3D3D", +"et c #3D3C3E", +"eu c #3C3D3D", +"ev c #3C3B3C", +"ew c #3B3B3C", +"ex c #3A3B3B", +"ey c #3B3B3A", +"ez c #393B3B", +"eA c #3F3E38", +"eB c #97914D", +"eC c #B7A967", +"eD c #69634A", +"eE c #3B3A39", +"eF c #222422", +"eG c #30302F", +"eH c #746930", +"eI c #4F4C1D", +"eJ c #252525", +"eK c #60442E", +"eL c #653B0E", +"eM c #675510", +"eN c #888125", +"eO c #967427", +"eP c #424242", +"eQ c #754C2E", +"eR c #C55E1A", +"eS c #CB621D", +"eT c #CD651E", +"eU c #CF641D", +"eV c #CD631D", +"eW c #CB621B", +"eX c #C9601C", +"eY c #A45925", +"eZ c #514842", +"e& c #515352", +"f c #585742", +"f0 c #777014", +"f1 c #76720D", +"f2 c #736C15", +"f3 c #736C13", +"f4 c #746E14", +"f5 c #77730E", +"f6 c #7B7909", +"f7 c #7E7908", +"f8 c #887A09", +"f9 c #8C790B", +"fa c #625715", +"fb c #23231F", +"fc c #1E1E20", +"fd c #1F1E1F", +"fe c #242324", +"ff c #3F3F40", +"fg c #3E3F3E", +"fh c #3E3D3E", +"fi c #3C3C3D", +"fj c #3B3C3C", +"fk c #3D3D3B", +"fl c #525134", +"fm c #9A9256", +"fn c #C4BC96", +"fo c #5E584D", +"fp c #2E2D2E", +"fq c #716625", +"fr c #4B4829", +"fs c #3C3923", +"ft c #968325", +"fu c #5F5425", +"fv c #393A37", +"fw c #454444", +"fx c #814D29", +"fy c #BF5D19", +"fz c #C45F19", +"fA c #C55F1B", +"fB c #C6601B", +"fC c #C6601A", +"fD c #C55F1A", +"fE c #814613", +"fF c #523C24", +"fG c #545456", +"fH c #5C5A3C", +"fI c #645F14", +"fJ c #777308", +"fK c #817907", +"fL c #807C06", +"fM c #8A7A07", +"fN c #73660F", +"fO c #584E15", +"fP c #36321C", +"fQ c #212220", +"fR c #212020", +"fS c #202020", +"fT c #1F201F", +"fU c #262526", +"fV c #424143", +"fW c #414041", +"fX c #313133", +"fY c #2D2E2E", +"fZ c #3F4040", +"f& c #565237", +"g c #A1944B", +"g0 c #B3AC67", +"g1 c #3D3C2F", +"g2 c #7D701C", +"g3 c #4A473C", +"g4 c #817333", +"g5 c #6C6213", +"g6 c #363529", +"g7 c #3E3D3D", +"g8 c #272727", +"g9 c #464545", +"ga c #474647", +"gb c #7F4B26", +"gc c #B85817", +"gd c #BB5B19", +"ge c #BE5B1A", +"gf c #BE5C1A", +"gg c #744111", +"gh c #4F3516", +"gi c #4D4A47", +"gj c #292828", +"gk c #262525", +"gl c #2B2922", +"gm c #2B2923", +"gn c #242425", +"go c #242423", +"gp c #222423", +"gq c #222322", +"gr c #232323", +"gs c #212123", +"gt c #212323", +"gu c #212122", +"gv c #222122", +"gw c #202122", +"gx c #454445", +"gy c #232523", +"gz c #313231", +"gA c #434344", +"gB c #424243", +"gC c #514A2A", +"gD c #B9A743", +"gE c #DCDA61", +"gF c #C8B538", +"gG c #B8A629", +"gH c #595228", +"gI c #464544", +"gJ c #373637", +"gK c #494849", +"gL c #494A49", +"gM c #4C4A49", +"gN c #8A4E22", +"gO c #AF5516", +"gP c #B25715", +"gQ c #8F4A12", +"gR c #553917", +"gS c #3F3834", +"gT c #5A5C5B", +"gU c #5B5A59", +"gV c #5A5A59", +"gW c #575959", +"gX c #282628", +"gY c #272626", +"gZ c #262626", +"g& c #262524", +"h c #242524", +"h0 c #232524", +"h1 c #242422", +"h2 c #242323", +"h3 c #222323", +"h4 c #484948", +"h5 c #323132", +"h6 c #222222", +"h7 c #242525", +"h8 c #262627", +"h9 c #3E3C3C", +"ha c #474645", +"hb c #282728", +"hc c #494B37", +"hd c #FFFF31", +"he c #FFE633", +"hf c #A47526", +"hg c #2C2B2D", +"hh c #4A4B49", +"hi c #4B4C4B", +"hj c #4B4A4A", +"hk c #4C4C4C", +"hl c #504D49", +"hm c #864B1E", +"hn c #9E4E13", +"ho c #5B3916", +"hp c #514C47", +"hq c #4B4A4B", +"hr c #5D5E5D", +"hs c #5B5A5B", +"ht c #59585A", +"hu c #585959", +"hv c #2A2929", +"hw c #282829", +"hx c #282827", +"hy c #282828", +"hz c #262527", +"hA c #252625", +"hB c #252526", +"hC c #252425", +"hD c #242426", +"hE c #252424", +"hF c #4A4A4B", +"hG c #242523", +"hH c #2C2C2B", +"hI c #484949", +"hJ c #292A29", +"hK c #3A3A39", +"hL c #817F40", +"hM c #C69D26", +"hN c #605541", +"hO c #2B2C2C", +"hP c #2C2D2B", +"hQ c #4E4E4D", +"hR c #534F49", +"hS c #5B4125", +"hT c #544C43", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h h i j i k l m n o p q r s t u v w x y y z A B C D E F G z y H F I I J K x w L M N O P Q R", +" S T U V W X Y Z &0 000102030405060708 n09 r0a0b N x u0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0k0y0z0A0A0f0B0C0D I z F0E0F0G", +"0H0I0J0K0K0 0L0M0N0O0P0Q0R0S0T R Q M0U0V0c0W0D0X0y0Y0Z0&1 10111012131415161718191a1b1c1d1e1f1g1h1i1j1k1l111m1n1o1p1q0z1r1s1t1u G", +"1v1w001x g1y1z1A1B1C1D1E1F1G1H1I1J1K0g1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232323242526272828292a2b2c2d2e2f2g2h101M1n1p2i1L0A", +"010N2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B1V2C2C2D232E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2J2W2K2X2Y2Z2&3 303132333435363738393a3b", +" h3c j3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 4041421X2C43361b2z10", +"070S4445464748494a4b3k4c4d4e4f4g4h4i4j4k3X3z3z3L3L4l4m4n4o4p4q4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O2Y4P1W4Q1X4R1b36", +"4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b4m5c5d5e5f5f5g5h5i5g5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H2G5I5J5K5L5M5N", +"5O0G5P5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C3U4M6D3x2X5I6E286F", +"6G y6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j6d6e7k7l7m7n7o7p7q7r7s7t7u3A3W4M7v2X7w3t7x", +" J7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R6f7j7S7T7U7V7W7X7Y7Z7&8 808182838485867d876k6l887d898a8b8c8d8e8f8g8h8i8j8k3A5G2J2E8l3u", +"0W8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F7j8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d3V3A2J9e2W5J", +"0d9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I8W9J9K9L9M9N9O8W859P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a23Ea3a42N5H2Ga53u", +"a6a7a8a9aaab8Zacadaeafagahaiajakalamanaoap6faqarasatauavaw858 axayazaA848WaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaS3F3E3zaTaUaVaWaX3v", +"0faYaZa&b b0b1b2b3b4b5b6b7b8b9babb9qbcbdbebf6obgbhbibjbkbl7dbm76bnbo86bpbqbrbsbtbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbN2HbO2&", +"bP0AbQbRbSbTbUbVbWbXbYbZb&c c0c1c2c3c4c5c6c76rc8c9caaqcb6kcccdcecfcgchcicj7gck9A7bclcmcncocpcqcrcsctcucvcwcxcyczcAcB3V2KcCcDcE7x", +"0ccFcGcHcIcJcJcKcLbWcMcNcOcPcQcRcScTcUcVcdcWcXcYcZ5jc&d d0d16fd2d3d4d5d6d6d 6fd07jd777d1d8d95edadbdcdddedfdgdhdidjdkdldm7v4Pdn28", +" F0f0gdodpdqdrabdsdtdudvdwdxdydzdAdBdCdDdE5odFdG4x5fdHcXdIcXdJdKdLdMdNdOdP5g5r6sd1dQdR5udSdT5hdUdVdWdXdYdZd&e e0e1e2e3e4e5e6e7e8", +"e90W1teaebecedeeefegeheiejekelemeneoepeqer84eseteuevewexeyez4udGdG4ucWeAeBeCeDdGeEeFeGeveHeIeJ67eKeLeMeNeOePeQeReSeTeUeVeWeXeYeZ", +"6G y0d0de&f f0f1f2f3f4f5f6f7f8f9fafbfcfdd7fe5uff3G6Afgfh5ges6yfi6z7rfjesfkflfmfnfo83fp3Efqfr7jfsftfufvfe4rcCfwfxfyfzfAfBfCfDfEfF", +" M0Ue9fG0W1s2ifHfIfJfKfLfMfNfOfPfQfQfRfRfSfTfUfV6D3XbMfWfXfYfZfZfW5DbL3G3CfZ7uf&g g0g13Bg2g3g4g5g6g77ug87rg92Dgagbgcgdgegfggghgi", +"0T4T0b0Ge9 F F2GgjgkglgmgnfegogpgqgrgsgtgugvgwfZ2&7vfwgx7hgygz4mgA2KbN5GgB5H6DePa3gCgDgEgFgGgHgIfg6lgJax5ogKe7gLgMgNgOgPgQgRgSev", +"gTgUgVgW4T u6GccgXbugYcmgZg&eJh h h0h0h1h1h2h38Qh43t2623h5h6h7h8h97u7w7whag92Y5I2Khbhchdhehf5J5K5M7w8WhgeGhhhihjhkhlhmhnhohphqc7", +"hr lhs nhthu1 hvhw8ThxhygZgYhzhAhBgZfUeJhAhChDhE281b1ThFaqh0hGhCbuhH3WgK1XgKh4hI2DhJhKhLhMhN2ChjhF1T3yhOhP2YhQ1 390ZhRhShT0y1r1N"}; diff --git a/2009-x64/cps4.03/icons/cpscSelectEdge.xpm b/2009-x64/cps4.03/icons/cpscSelectEdge.xpm new file mode 100644 index 0000000..ce30093 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSelectEdge.xpm @@ -0,0 +1,653 @@ +/* XPM */ +static char *SEDGE_xpm[]={ +"41 24 626 2", +" c #686969", +" 0 c #676769", +" 1 c #686768", +" 2 c #666866", +" 3 c #656566", +" 4 c #656464", +" 5 c #646365", +" 6 c #626362", +" 7 c #616061", +" 8 c #606061", +" 9 c #606060", +" a c #605F5F", +" b c #5E5E5D", +" c c #5D5D5D", +" d c #5D5D5C", +" e c #5C5D5D", +" f c #5C5C5B", +" g c #5A5A5B", +" h c #5B5B5B", +" i c #5A5B5B", +" j c #585859", +" k c #595958", +" l c #575857", +" m c #575957", +" n c #585759", +" o c #585757", +" p c #565756", +" q c #575755", +" r c #575657", +" s c #575655", +" t c #565556", +" u c #5C5D56", +" v c #5C5B5C", +" w c #595B5B", +" x c #585959", +" y c #595957", +" z c #656463", +" A c #636363", +" B c #626262", +" C c #626261", +" D c #606161", +" E c #5E5F60", +" F c #5F5E5F", +" G c #5D5D5E", +" H c #5C5C5C", +" I c #5B5B5C", +" J c #5A5A5A", +" K c #585958", +" L c #595758", +" M c #575856", +" N c #555655", +" O c #555455", +" P c #555456", +" Q c #5E5F57", +" R c #A3A587", +" S c #545354", +" T c #525354", +" U c #525253", +" V c #515352", +" W c #535251", +" X c #515253", +" Y c #525251", +" Z c #505150", +" & c #515252", +"0 c #525151", +"00 c #515152", +"01 c #535253", +"02 c #535352", +"03 c #60605F", +"04 c #5D5F5E", +"05 c #595959", +"06 c #575757", +"07 c #575758", +"08 c #565657", +"09 c #545656", +"0a c #535553", +"0b c #555454", +"0c c #545253", +"0d c #515351", +"0e c #515151", +"0f c #505151", +"0g c #515050", +"0h c #565550", +"0i c #D9D8A9", +"0j c #FEFE49", +"0k c #757547", +"0l c #4D4E4E", +"0m c #4D4D4D", +"0n c #4E4E4E", +"0o c #4E4D4D", +"0p c #4C4E4E", +"0q c #4D4D4C", +"0r c #4C4C4E", +"0s c #4E4E4D", +"0t c #4E4C4E", +"0u c #4E4D4E", +"0v c #4D4F4D", +"0w c #4E4E4F", +"0x c #4F4E4E", +"0y c #504F50", +"0z c #5B5C5A", +"0A c #585758", +"0B c #585856", +"0C c #565555", +"0D c #545453", +"0E c #535353", +"0F c #4F4F50", +"0G c #4E504E", +"0H c #4E4F4F", +"0I c #4D4D4E", +"0J c #4C4C4D", +"0K c #4C4B4B", +"0L c #4B4B4B", +"0M c #52504C", +"0N c #CDCB9E", +"0O c #FFFF57", +"0P c #92923D", +"0Q c #494A49", +"0R c #49494A", +"0S c #4A4949", +"0T c #4A4848", +"0U c #484948", +"0V c #484847", +"0W c #484848", +"0X c #494849", +"0Y c #494949", +"0Z c #484A49", +"0& c #494A4A", +"1 c #4B4A4A", +"10 c #4D4C4B", +"11 c #555556", +"12 c #545355", +"13 c #4F5051", +"14 c #4E4E4C", +"15 c #4B4B4C", +"16 c #4B4C4A", +"17 c #4B494A", +"18 c #4A4A49", +"19 c #484748", +"1a c #464647", +"1b c #C6C693", +"1c c #FFFF61", +"1d c #8F903A", +"1e c #464546", +"1f c #454644", +"1g c #454544", +"1h c #434543", +"1i c #434544", +"1j c #434445", +"1k c #444444", +"1l c #454344", +"1m c #444544", +"1n c #444344", +"1o c #444545", +"1p c #464644", +"1q c #444645", +"1r c #464746", +"1s c #484647", +"1t c #484849", +"1u c #535252", +"1v c #4A4A4A", +"1w c #474747", +"1x c #454645", +"1y c #444343", +"1z c #434242", +"1A c #B8B984", +"1B c #FEFE5B", +"1C c #A0A037", +"1D c #414141", +"1E c #414140", +"1F c #3F3E3F", +"1G c #3C3C3C", +"1H c #3F3F3F", +"1I c #403F3F", +"1J c #40403F", +"1K c #403F40", +"1L c #3F3F41", +"1M c #404041", +"1N c #424140", +"1O c #424142", +"1P c #434243", +"1Q c #444342", +"1R c #434444", +"1S c #454546", +"1T c #464545", +"1U c #4C4C4B", +"1V c #4A494B", +"1W c #464747", +"1X c #454545", +"1Y c #434342", +"1Z c #414240", +"1& c #3F3F40", +"2 c #3E3D3E", +"20 c #B0B074", +"21 c #FEFE5D", +"22 c #B0AF35", +"23 c #3C3D3D", +"24 c #3D3C3D", +"25 c #3B3C3D", +"26 c #2C2B2C", +"27 c #1E1D1D", +"28 c #363735", +"29 c #3C3B3B", +"2a c #3C3B3C", +"2b c #3B3D3B", +"2c c #3C3C3B", +"2d c #3D3E3D", +"2e c #3F3E3E", +"2f c #404141", +"2g c #424141", +"2h c #434341", +"2i c #494848", +"2j c #474746", +"2k c #414142", +"2l c #3A3A3B", +"2m c #393A3A", +"2n c #AFAF6C", +"2o c #FFFE5C", +"2p c #B5B439", +"2q c #383939", +"2r c #393937", +"2s c #383838", +"2t c #2A2C2A", +"2u c #1C1E1E", +"2v c #191919", +"2w c #1F201F", +"2x c #353435", +"2y c #373737", +"2z c #383839", +"2A c #393A38", +"2B c #3A3939", +"2C c #3A3B39", +"2D c #3B3C3C", +"2E c #3C3D3B", +"2F c #3C3C3D", +"2G c #3E3F3F", +"2H c #404140", +"2I c #464646", +"2J c #454444", +"2K c #434343", +"2L c #3D3C3C", +"2M c #3B3B3B", +"2N c #3B3A39", +"2O c #9A9A5A", +"2P c #FFFF5E", +"2Q c #B9B835", +"2R c #343535", +"2S c #333534", +"2T c #323434", +"2U c #2C2C2C", +"2V c #1B1B1B", +"2W c #181819", +"2X c #181818", +"2Y c #1E1F1E", +"2Z c #313130", +"2& c #323333", +"3 c #333333", +"30 c #343434", +"31 c #353635", +"32 c #363536", +"33 c #363636", +"34 c #363637", +"35 c #393838", +"36 c #3A393A", +"37 c #3E3E3D", +"38 c #3E3F3D", +"39 c #474745", +"3a c #424242", +"3b c #414242", +"3c c #3B3A3B", +"3d c #383A3A", +"3e c #393837", +"3f c #373636", +"3g c #363434", +"3h c #353333", +"3i c #878653", +"3j c #FEFF5A", +"3k c #BEBE32", +"3l c #373730", +"3m c #313030", +"3n c #68472D", +"3o c #DD7F2C", +"3p c #CE8233", +"3q c #C58D3E", +"3r c #C5A255", +"3s c #B7AA70", +"3t c #B5A76F", +"3u c #B1884E", +"3v c #6E492A", +"3w c #2F2F2F", +"3x c #313331", +"3y c #333334", +"3z c #363435", +"3A c #353736", +"3B c #363738", +"3C c #39393A", +"3D c #3D3D3D", +"3E c #444443", +"3F c #414041", +"3G c #3E3D3C", +"3H c #393B39", +"3I c #353634", +"3J c #343435", +"3K c #313231", +"3L c #7E7D4D", +"3M c #FEFF5D", +"3N c #D1D231", +"3O c #33352D", +"3P c #2D2C2D", +"3Q c #2C2B2B", +"3R c #543A26", +"3S c #FF8E2D", +"3T c #FE9C3A", +"3U c #FEB552", +"3V c #FEDF7B", +"3W c #FEFA9E", +"3X c #FEEB91", +"3Y c #DC9345", +"3Z c #5D3811", +"3& c #322E2A", +"4 c #2D2D2F", +"40 c #302F2F", +"41 c #323031", +"42 c #343333", +"43 c #373838", +"44 c #393938", +"45 c #393B3A", +"46 c #424343", +"47 c #3F403F", +"48 c #393839", +"49 c #323332", +"4a c #787847", +"4b c #FEFF5C", +"4c c #D7D72D", +"4d c #38392C", +"4e c #2A2B2A", +"4f c #292929", +"4g c #212322", +"4h c #231C17", +"4i c #FF8829", +"4j c #FF9636", +"4k c #FEA848", +"4l c #FFBF60", +"4m c #FFCB6D", +"4n c #EFA452", +"4o c #613B11", +"4p c #362C24", +"4q c #2B2A2B", +"4r c #2D2C2C", +"4s c #2D2D2E", +"4t c #2E2E2E", +"4u c #31302F", +"4v c #313131", +"4w c #333233", +"4x c #333433", +"4y c #383836", +"4z c #424243", +"4A c #404040", +"4B c #3E3F3E", +"4C c #3D3D3C", +"4D c #383837", +"4E c #363537", +"4F c #353534", +"4G c #333432", +"4H c #727246", +"4I c #F9F75C", +"4J c #D7D82D", +"4K c #393A2D", +"4L c #2B2A2C", +"4M c #252525", +"4N c #181716", +"4O c #151514", +"4P c #E87726", +"4Q c #FE8A2F", +"4R c #FE9539", +"4S c #FF9F44", +"4T c #FD9C46", +"4U c #874C1A", +"4V c #372D21", +"4W c #2A2A2A", +"4X c #2C2C2D", +"4Y c #2E2D2F", +"4Z c #303030", +"4& c #323334", +"5 c #343433", +"50 c #383938", +"51 c #3A3A3A", +"52 c #3F4041", +"53 c #3D3F3D", +"54 c #3B3B3A", +"55 c #5F6041", +"56 c #F8F95F", +"57 c #DEDF2E", +"58 c #494930", +"59 c #2C2D2D", +"5a c #2B2C2C", +"5b c #262625", +"5c c #141515", +"5d c #161615", +"5e c #BD6020", +"5f c #FE8127", +"5g c #FF842D", +"5h c #FE8932", +"5i c #F47D31", +"5j c #DF873A", +"5k c #5F422C", +"5l c #2B2B2A", +"5m c #2B2C2B", +"5n c #2D2B2D", +"5o c #2D2E2D", +"5p c #2F2F2E", +"5q c #2F2F30", +"5r c #313233", +"5s c #353536", +"5t c #383738", +"5u c #393B3B", +"5v c #424241", +"5w c #3E403F", +"5x c #3B3D3C", +"5y c #BFBF4E", +"5z c #E5E530", +"5A c #4C4A30", +"5B c #30302F", +"5C c #282928", +"5D c #19191A", +"5E c #161616", +"5F c #171716", +"5G c #1A1819", +"5H c #A5531F", +"5I c #FB7623", +"5J c #FC7824", +"5K c #BE5F1C", +"5L c #ED7224", +"5M c #FD8B35", +"5N c #FE913A", +"5O c #BC6A2E", +"5P c #39322C", +"5Q c #2E2F2F", +"5R c #2E2F30", +"5S c #2F2F31", +"5T c #303031", +"5U c #313232", +"5V c #3A3B3B", +"5W c #373638", +"5X c #3D3D35", +"5Y c #4E4E33", +"5Z c #323233", +"5& c #1C1D1C", +"6 c #161617", +"60 c #1B1A1A", +"61 c #29292B", +"62 c #724527", +"63 c #EA6C1F", +"64 c #A55117", +"65 c #492F11", +"66 c #854419", +"67 c #F37525", +"68 c #FF832F", +"69 c #FE8733", +"6a c #F07D2C", +"6b c #69462D", +"6c c #313032", +"6d c #343536", +"6e c #383737", +"6f c #3E3E3F", +"6g c #3B3B3C", +"6h c #3B3A3A", +"6i c #363737", +"6j c #1F1E1F", +"6k c #181919", +"6l c #1D1E1D", +"6m c #292828", +"6n c #5A3F2C", +"6o c #A55115", +"6p c #4E310F", +"6q c #1E1B18", +"6r c #1C1A19", +"6s c #B5581A", +"6t c #F07322", +"6u c #FD7B29", +"6v c #FF7F2C", +"6w c #C76528", +"6x c #4B3B31", +"6y c #343634", +"6z c #3A3A3C", +"6A c #3D3C3B", +"6B c #3E3D3D", +"6C c #444445", +"6D c #413F40", +"6E c #3D3F3E", +"6F c #3A393B", +"6G c #242323", +"6H c #1B1C1B", +"6I c #1A1A19", +"6J c #2A2A2B", +"6K c #343635", +"6L c #373635", +"6M c #3C3633", +"6N c #4E361A", +"6O c #383027", +"6P c #1B1C1C", +"6Q c #3D2918", +"6R c #D2621B", +"6S c #ED7022", +"6T c #F57425", +"6U c #FD7A26", +"6V c #FD7927", +"6W c #F07326", +"6X c #8D502C", +"6Y c #373938", +"6Z c #3A3839", +"6& c #3B393A", +"7 c #3E3E3E", +"70 c #474647", +"71 c #404241", +"72 c #3D3E3E", +"73 c #242424", +"74 c #1D1C1E", +"75 c #1D1B1B", +"76 c #201E20", +"77 c #2C2E2D", +"78 c #393939", +"79 c #363638", +"7a c #1F1F20", +"7b c #1C1C1C", +"7c c #673A19", +"7d c #D6651B", +"7e c #E46B1F", +"7f c #EC7121", +"7g c #F47324", +"7h c #F87525", +"7i c #DC691F", +"7j c #553C23", +"7k c #3B3C3B", +"7l c #3F3E3D", +"7m c #3F403E", +"7n c #3F413F", +"7o c #484A4A", +"7p c #474848", +"7q c #454747", +"7r c #454443", +"7s c #404240", +"7t c #3C3D3C", +"7u c #1F1E1E", +"7v c #1E1C1E", +"7w c #2E2C2D", +"7x c #3D3D3B", +"7y c #1E1D1E", +"7z c #1D1D1D", +"7A c #201E1C", +"7B c #964C18", +"7C c #D06119", +"7D c #D9661C", +"7E c #E36B1E", +"7F c #D9681E", +"7G c #623C14", +"7H c #403D38", +"7I c #3D3D3F", +"7J c #3D3E3F", +"7K c #3F4040", +"7L c #404142", +"7M c #484949", +"7N c #454647", +"7O c #424342", +"7P c #222222", +"7Q c #313132", +"7R c #20201F", +"7S c #201F1F", +"7T c #2F241E", +"7U c #AE5515", +"7V c #C85F18", +"7W c #C75F18", +"7X c #623B11", +"7Y c #413D39", +"7Z c #414241", +"7& c #4D4E4D", +"8 c #4B4B4D", +"80 c #494A4B", +"81 c #464645", +"82 c #393738", +"83 c #434443", +"84 c #424443", +"85 c #414341", +"86 c #414243", +"87 c #424143", +"88 c #202020", +"89 c #212120", +"8a c #212021", +"8b c #573519", +"8c c #AA5216", +"8d c #693C0F", +"8e c #2E251D", +"8f c #464445", +"8g c #515150", +"8h c #4F4F4F", +"8i c #4C4C4C", +"8j c #4B4A4B", +"8k c #474646", +"8l c #444546", +"8m c #282828", +"8n c #222122", +"8o c #212122", +"8p c #432D1A", +"8q c #2D261F", +"8r c #222323", +"8s c #222322", +"8t c #2C2D2E", +"8u c #525252", +"8v c #515051", +"8w c #4F4F4E", +"8x c #4E4F4E", +"8y c #4C4D4D", +"8z c #494948", +"8A c #494748", +"8B c #252424", +"8C c #252323", +"8D c #242423", +"8E c #242324", +"8F c #252425", +"8G c #242523", +"8H c #242524", +"8I c #232425", +"8J c #252325", +"8K c #2F2E2D", +"8L c #4B4A49", +"8M c #4A4B4B", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s t t u v g g w x x y", +" z A B C D E F G H I h J K L l M r N O P Q R S T U V W X Y Z & & &0 0000 Y Y Y0102", +"0304 e v J J05060708090a0b0c0d0e0f0g0f0h0i0j0k0l0m0n0o0p0q0m0r0s0t0u0m0m0v0w0w0x0y", +"0z k0A0B0C N0D0E X0e0F0G0H0I0u0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0U0S0Q0&1 1 0L100K", +" N1112 U0e130w0o14151617180X0X0W191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1e1e1r1s190U1t", +"1u0 0y0n0m0L1v0Q0U1w1a1x1m1g1y1z1z1A1B1C1D1E1F1G1H1I1J1K1L1M1I1E1N1D1O1P1Q1R1o1S1T", +"0x0J1U1V0R0V1W1X1n1Y1Y1Z1J1&1H2 202122232425262728292a2a2a2b2c232d2 2e1J1I2f2g2h1P", +"0K0&2i2j1X1R1P2k1E1F2d2d2a2l2m2n2o2p2q2r2s2t2u2v2w2x2y2y2s2z2A2B2C2l2D2E2F2e2G1H2H", +"0U2I2J2K1O1E1H2G2L2M2N2q2s282O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233342y35362l2D2F3738", +"391o3a3b1&372E3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w2Z3x3 3y2R3z3A3B353C2l1G3D", +"3E1z3F2G3G2D3H2z333I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 3w40413 423031432z44452M", +"463F47372E3c483B3I30494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x30334y482m3c", +"4z4A4B4C2D364D4E4F4G4H4I4J4K4L4e4M4N4O4P4Q4R4S4T4U4V4W4W2U4X4Y4Z4v494&5 322y4D5051", +"1O525324543C503f3155565758595a5b2W5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q2Z5r3 305s345t505u", +"5v1M5w375x512z5t335y5z5A2Z5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U4&3y5s334D482B2l", +"4z1D1I1H3D295V505W5X5Y5 5Z3w5&6 5F606162636465666768696a6b6c5U49302x6d2y6e2z3C2l29", +"1y2K1Z4A6f3D6g6h514D5t6i3 6j6k6k6l6m496n6o6p6q6r6s6t6u6v6v6w6x6y5s2y2s4D44366z6A6B", +"1e6C1z3a6D6f6E2F2c3c6F2R6G6H6I2V6J6K6L6M6N6O6P606Q6R6S6T6U6V6W6X6Y2z6Z6&3c29232d7 ", +"702I1e2K1Y711M5w727 2s73747576776e3C443678797a7b7b7c7d7e7f7g7h7i7j297k1G232 7l7m7n", +"7o1w7p7q1x7r2K1z7s1&7t7u7v6j7w6h242L2D7x1G1G5C7y7z7A7B7C7D7E7F7G7H7I7J6f1&7K3F7L1D", +"160L7M0Y191w7N1m7r1R7O4M7P5o6f1D471K1K4B1&1F7Q7R7S2Y7T7U7V7W7X7Y7K4A1D5v7Z3a462K1R", +"7&0m8 0L800Z0U7p702I81823J1O832K2K83848586875V7P88898a8b8c8d8e5q4A2K2K1i1X1f8f391w", +"8g8h0n0I0m8i8j8j0S0R0Y1X1n707p8k7N1T1X1T1e8l1k8m8n8n8o7P8p8q8r8s8t712j701w1w190W1t", +" Y8u8v8v8w8x0I0n8y8i150L1 1 0&0Y0Q188z8z0Y0X8A3C8B8C8D8E8F8G8H8I8J8K1R0Z0Y8L8j1 8M"}; diff --git a/2009-x64/cps4.03/icons/cpscSelectFace.xpm b/2009-x64/cps4.03/icons/cpscSelectFace.xpm new file mode 100644 index 0000000..e7f107a --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSelectFace.xpm @@ -0,0 +1,777 @@ +/* XPM */ +static char *SFACE_xpm[]={ +"41 24 750 2", +" c #6A6A69", +" 0 c #696868", +" 1 c #676867", +" 2 c #676668", +" 3 c #666565", +" 4 c #656565", +" 5 c #646363", +" 6 c #636163", +" 7 c #616162", +" 8 c #616160", +" 9 c #5F5F60", +" a c #5F5F5F", +" b c #5E5F5E", +" c c #5D5D5D", +" d c #5E5D5D", +" e c #5C5D5C", +" f c #5C5B5C", +" g c #5A5A5B", +" h c #595B5B", +" i c #585959", +" j c #595858", +" k c #585958", +" l c #575758", +" m c #565657", +" n c #575657", +" o c #565656", +" p c #555656", +" q c #555555", +" r c #5C5D56", +" s c #5C5C5B", +" t c #5B5B5B", +" u c #5A5B5B", +" v c #585859", +" w c #595958", +" x c #575857", +" y c #636463", +" z c #636362", +" A c #626363", +" B c #616161", +" C c #606060", +" D c #5E5F5F", +" E c #5C5D5D", +" F c #5C5C5D", +" G c #AEAE82", +" H c #B7B87B", +" I c #6E6E61", +" J c #5A5959", +" K c #565757", +" L c #575756", +" M c #565556", +" N c #555556", +" O c #545455", +" P c #555453", +" Q c #535452", +" R c #525353", +" S c #535352", +" T c #535253", +" U c #535351", +" V c #535153", +" W c #525152", +" X c #525052", +" Y c #525151", +" Z c #525252", +" & c #515151", +"0 c #525352", +"00 c #525253", +"01 c #515252", +"02 c #545353", +"03 c #5F605F", +"04 c #5F5F5E", +"05 c #5E5D5E", +"06 c #5B5C5B", +"07 c #5B5A5B", +"08 c #585758", +"09 c #626158", +"0a c #EEEE8E", +"0b c #ECE75F", +"0c c #FCFA75", +"0d c #D9DA95", +"0e c #8E8E76", +"0f c #5D5D54", +"0g c #505151", +"0h c #504F50", +"0i c #4F4F50", +"0j c #505050", +"0k c #504F4F", +"0l c #4F4F4E", +"0m c #4E4F4F", +"0n c #4D4E4D", +"0o c #4D4E4E", +"0p c #4D4D4E", +"0q c #4D4C4C", +"0r c #4D4C4E", +"0s c #4D4C4D", +"0t c #4D4E4C", +"0u c #4D4D4C", +"0v c #4E4D4C", +"0w c #4E4D4E", +"0x c #4D4D4D", +"0y c #4E4F4E", +"0z c #4F504E", +"0A c #5A5B5A", +"0B c #595959", +"0C c #575958", +"0D c #585757", +"0E c #565756", +"0F c #565554", +"0G c #545454", +"0H c #535454", +"0I c #9E9D6C", +"0J c #F3EE61", +"0K c #AB9670", +"0L c #AF9C65", +"0M c #CDC04F", +"0N c #EFEC60", +"0O c #F3F47F", +"0P c #C3C27E", +"0Q c #7E7E5F", +"0R c #4B4B4B", +"0S c #4B4B4C", +"0T c #4A4B4B", +"0U c #4B4949", +"0V c #484A4A", +"0W c #4A4A49", +"0X c #494949", +"0Y c #48484A", +"0Z c #494749", +"0& c #494849", +"1 c #484848", +"10 c #484948", +"11 c #49494A", +"12 c #4A4948", +"13 c #4A494A", +"14 c #494A4B", +"15 c #4B4B4A", +"16 c #4A4C4C", +"17 c #4C4B4C", +"18 c #4B4C4C", +"19 c #565454", +"1a c #535252", +"1b c #515150", +"1c c #54544F", +"1d c #EFEE81", +"1e c #C1B454", +"1f c #9B8668", +"1g c #9C8667", +"1h c #998465", +"1i c #927E60", +"1j c #A89659", +"1k c #CBBF46", +"1l c #EBE85B", +"1m c #F3F271", +"1n c #B3B567", +"1o c #686A4C", +"1p c #464546", +"1q c #454645", +"1r c #444444", +"1s c #454445", +"1t c #434544", +"1u c #434443", +"1v c #454444", +"1w c #444544", +"1x c #454545", +"1y c #464444", +"1z c #474645", +"1A c #464545", +"1B c #464646", +"1C c #474748", +"1D c #474747", +"1E c #484949", +"1F c #4E4E4F", +"1G c #4C4C4E", +"1H c #4D4D4B", +"1I c #8D8D5E", +"1J c #F3F254", +"1K c #95805A", +"1L c #947E5F", +"1M c #937E5F", +"1N c #917B5D", +"1O c #8D7A5B", +"1P c #8A7759", +"1Q c #867356", +"1R c #847251", +"1S c #A1914C", +"1T c #CEC83B", +"1U c #F9F954", +"1V c #E1E260", +"1W c #9FA160", +"1X c #6A6B46", +"1Y c #3F4041", +"1Z c #404040", +"1& c #403E3F", +"2 c #3F4040", +"20 c #3F3F3F", +"21 c #404041", +"22 c #41413F", +"23 c #3F4140", +"24 c #414041", +"25 c #424141", +"26 c #414241", +"27 c #434142", +"28 c #434243", +"29 c #434344", +"2a c #444344", +"2b c #454546", +"2c c #4C4E4D", +"2d c #4C4C4C", +"2e c #4B4A49", +"2f c #4A4949", +"2g c #484748", +"2h c #4C4D47", +"2i c #E7E778", +"2j c #C5B74A", +"2k c #8B7657", +"2l c #897556", +"2m c #887457", +"2n c #857054", +"2o c #857154", +"2p c #816E52", +"2q c #7E6B50", +"2r c #7A674C", +"2s c #776449", +"2t c #746246", +"2u c #746340", +"2v c #A09636", +"2w c #F3F166", +"2x c #C2C133", +"2y c #3A3B3B", +"2z c #3C3B3B", +"2A c #3C3C3A", +"2B c #3C3B3C", +"2C c #3B3B3C", +"2D c #3D3D3C", +"2E c #3D3C3C", +"2F c #3D3D3D", +"2G c #3E3D3D", +"2H c #3F3E3F", +"2I c #403F3E", +"2J c #404141", +"2K c #414242", +"2L c #424242", +"2M c #444243", +"2N c #494947", +"2O c #474746", +"2P c #454646", +"2Q c #848355", +"2R c #F6F357", +"2S c #8A754D", +"2T c #836E50", +"2U c #826E50", +"2V c #816C50", +"2W c #745F43", +"2X c #7A6649", +"2Y c #7B674C", +"2Z c #776549", +"2& c #746247", +"3 c #6F5E44", +"30 c #6B5B41", +"31 c #69583E", +"32 c #736643", +"33 c #FEFF7B", +"34 c #626231", +"35 c #373638", +"36 c #383737", +"37 c #363836", +"38 c #383738", +"39 c #393738", +"3a c #393839", +"3b c #383938", +"3c c #393938", +"3d c #393A3A", +"3e c #3B3B3B", +"3f c #3C3C3C", +"3g c #3E3F3F", +"3h c #403F3F", +"3i c #414140", +"3j c #484849", +"3k c #474846", +"3l c #434444", +"3m c #434343", +"3n c #414042", +"3o c #DBDA6B", +"3p c #B8AE3D", +"3q c #7C684B", +"3r c #7D674A", +"3s c #7C674B", +"3t c #756246", +"3u c #918251", +"3v c #CDC675", +"3w c #8D7D4F", +"3x c #6D5B42", +"3y c #6D5B40", +"3z c #695740", +"3A c #66563E", +"3B c #63543A", +"3C c #B2AC6B", +"3D c #E4E33C", +"3E c #343433", +"3F c #323332", +"3G c #323433", +"3H c #333433", +"3I c #333334", +"3J c #353435", +"3K c #353535", +"3L c #363737", +"3M c #373738", +"3N c #383937", +"3O c #3A3B39", +"3P c #3A3A3A", +"3Q c #3B3C3C", +"3R c #3C3D3C", +"3S c #3D3C3D", +"3T c #3F3E3E", +"3U c #464645", +"3V c #424140", +"3W c #7B7A4C", +"3X c #F9F854", +"3Y c #887543", +"3Z c #766344", +"3& c #766144", +"4 c #766245", +"40 c #6F5A3E", +"41 c #D8D476", +"42 c #FEFF88", +"43 c #FEFF77", +"44 c #70622E", +"45 c #604E35", +"46 c #5F5037", +"47 c #605038", +"48 c #5B4D36", +"49 c #F4F386", +"4a c #9D8D29", +"4b c #7D4416", +"4c c #C58234", +"4d c #D2A24A", +"4e c #CCB363", +"4f c #C4B277", +"4g c #B7AA71", +"4h c #B18F52", +"4i c #A46A34", +"4j c #47382C", +"4k c #333434", +"4l c #343434", +"4m c #373737", +"4n c #383838", +"4o c #393939", +"4p c #444545", +"4q c #424243", +"4r c #3F403E", +"4s c #3D3D3E", +"4t c #D9DB65", +"4u c #C2B63F", +"4v c #735D40", +"4w c #725D40", +"4x c #725C40", +"4y c #705D40", +"4z c #655337", +"4A c #D9CF52", +"4B c #FFFB74", +"4C c #D8D54B", +"4D c #39301A", +"4E c #56462F", +"4F c #54452D", +"4G c #82784B", +"4H c #F7F650", +"4I c #3A392D", +"4J c #BE601B", +"4K c #FFAF40", +"4L c #FFCC5F", +"4M c #FFF289", +"4N c #FEFFAA", +"4O c #FEF99D", +"4P c #FFCA69", +"4Q c #B36522", +"4R c #4B341B", +"4S c #313131", +"4T c #333233", +"4U c #363635", +"4V c #39383A", +"4W c #3A3B3A", +"4X c #3C3A3B", +"4Y c #797949", +"4Z c #F8F94E", +"4& c #816F3C", +"5 c #6E593D", +"50 c #6D5A3D", +"51 c #6D593E", +"52 c #6A573B", +"53 c #5F4C32", +"54 c #443920", +"55 c #4B4110", +"56 c #5C5716", +"57 c #382D1D", +"58 c #54432B", +"59 c #51422A", +"5a c #4E4029", +"5b c #CFCD76", +"5c c #B8B624", +"5d c #252424", +"5e c #BA6927", +"5f c #FEA83C", +"5g c #FEBE54", +"5h c #FED870", +"5i c #FFE47D", +"5j c #FFCC6B", +"5k c #C5762E", +"5l c #4A3218", +"5m c #2E2E2E", +"5n c #303030", +"5o c #313030", +"5p c #323233", +"5q c #353636", +"5r c #363638", +"5s c #3B393A", +"5t c #3F4141", +"5u c #DADA5C", +"5v c #C2BA37", +"5w c #6D573B", +"5x c #6C573B", +"5y c #6A563C", +"5z c #69573A", +"5A c #655238", +"5B c #5B492D", +"5C c #56442A", +"5D c #3F321F", +"5E c #2B2314", +"5F c #463823", +"5G c #514128", +"5H c #4E3E27", +"5I c #5F542F", +"5J c #FFFE61", +"5K c #525119", +"5L c #161617", +"5M c #AE6523", +"5N c #FF9D36", +"5O c #FFA841", +"5P c #FEB14E", +"5Q c #FEB04F", +"5R c #F1933E", +"5S c #583816", +"5T c #2F2D2C", +"5U c #2E2F2D", +"5V c #30302F", +"5W c #303130", +"5X c #323132", +"5Y c #343332", +"5Z c #343534", +"5& c #373637", +"6 c #40413F", +"60 c #3E3F3D", +"61 c #8C8C52", +"62 c #FFFE78", +"63 c #CCC688", +"64 c #83734E", +"65 c #685539", +"66 c #685439", +"67 c #675438", +"68 c #604C33", +"69 c #59472B", +"6a c #57462A", +"6b c #503E27", +"6c c #4F3F28", +"6d c #4E3D27", +"6e c #AFA95A", +"6f c #E2DE33", +"6g c #191817", +"6h c #181617", +"6i c #653E1C", +"6j c #FE902C", +"6k c #FE9333", +"6l c #FF9536", +"6m c #FE9339", +"6n c #FF963C", +"6o c #C9722F", +"6p c #40352D", +"6q c #2E2E2F", +"6r c #302F30", +"6s c #313333", +"6t c #323334", +"6u c #353434", +"6v c #393A39", +"6w c #49493B", +"6x c #919130", +"6y c #E0DF3E", +"6z c #FEFF84", +"6A c #DBD896", +"6B c #9C8E68", +"6C c #6F5C3D", +"6D c #5C482E", +"6E c #57452A", +"6F c #57432A", +"6G c #544329", +"6H c #524228", +"6I c #4F3F26", +"6J c #F2F26B", +"6K c #7D7B1B", +"6L c #191918", +"6M c #181818", +"6N c #452B18", +"6O c #FE8327", +"6P c #FE8329", +"6Q c #F67E29", +"6R c #E26B1F", +"6S c #FD832D", +"6T c #FE8E35", +"6U c #F18230", +"6V c #95562C", +"6W c #363330", +"6X c #323231", +"6Y c #343333", +"6Z c #343535", +"6& c #373636", +"7 c #373837", +"70 c #424342", +"71 c #3C3C3E", +"72 c #666432", +"73 c #C1C02B", +"74 c #F2F153", +"75 c #F4F49F", +"76 c #C3BC8D", +"77 c #796C43", +"78 c #534127", +"79 c #534128", +"7a c #514027", +"7b c #4F3E26", +"7c c #83783E", +"7d c #FFF842", +"7e c #272619", +"7f c #191919", +"7g c #191818", +"7h c #F27220", +"7i c #EF7220", +"7j c #884A14", +"7k c #3A2616", +"7l c #DA661E", +"7m c #FD7E27", +"7n c #FF852F", +"7o c #FF842E", +"7p c #E2742A", +"7q c #664530", +"7r c #353536", +"7s c #363637", +"7t c #393838", +"7u c #3A3A39", +"7v c #3E3C3C", +"7w c #474537", +"7x c #88872A", +"7y c #DBD92F", +"7z c #FFFD6D", +"7A c #DEDB90", +"7B c #938858", +"7C c #5C4A2D", +"7D c #4E3E25", +"7E c #D7D364", +"7F c #BFBE20", +"7G c #1A1919", +"7H c #1A1A19", +"7I c #18191A", +"7J c #B5571B", +"7K c #7E4410", +"7L c #342514", +"7M c #432818", +"7N c #E96C1E", +"7O c #FD7926", +"7P c #FE7E28", +"7Q c #FE7E29", +"7R c #FF7D28", +"7S c #C86527", +"7T c #4D3E33", +"7U c #39393B", +"7V c #3C3B3A", +"7W c #3D3C3E", +"7X c #464644", +"7Y c #444443", +"7Z c #424343", +"7& c #414040", +"8 c #3F3F40", +"80 c #3E3E3F", +"81 c #3E3C3D", +"82 c #3C3C3B", +"83 c #1B1B1B", +"84 c #4C4C17", +"85 c #B1AC1B", +"86 c #F0ED49", +"87 c #F3F279", +"88 c #C4BE70", +"89 c #918545", +"8a c #FFFF58", +"8b c #535419", +"8c c #1B1A1B", +"8d c #1A1B1B", +"8e c #1A1A1A", +"8f c #3E2A17", +"8g c #3C2913", +"8h c #1A1B1A", +"8i c #1B191B", +"8j c #643719", +"8k c #E96C1C", +"8l c #F97422", +"8m c #FE7825", +"8n c #FF7926", +"8o c #FE7924", +"8p c #F47222", +"8q c #94532B", +"8r c #453C38", +"8s c #3D3E3E", +"8t c #484747", +"8u c #403F40", +"8v c #292829", +"8w c #1D1D1D", +"8x c #1D1B1C", +"8y c #292A1B", +"8z c #706C17", +"8A c #CDC927", +"8B c #FFFC56", +"8C c #E9E837", +"8D c #1C1D1D", +"8E c #1D1C1C", +"8F c #1C1D1C", +"8G c #1B1B1C", +"8H c #1B1C1C", +"8I c #1C1C1C", +"8J c #8E4718", +"8K c #E46B1C", +"8L c #F06F1F", +"8M c #F67222", +"8N c #F87321", +"8O c #FA7523", +"8P c #E26A1E", +"8Q c #5E3F20", +"8R c #3E3F3E", +"8S c #40403F", +"8T c #484947", +"8U c #454745", +"8V c #454544", +"8W c #252523", +"8X c #1D1E1D", +"8Y c #1D1D1E", +"8Z c #1D1E1E", +"8& c #4E4D1C", +"9 c #56541D", +"90 c #1E1C1D", +"91 c #1E1C1E", +"92 c #1D1D1C", +"93 c #1C1E1D", +"94 c #1E1E1E", +"95 c #1E1D1E", +"96 c #24201E", +"97 c #AA5217", +"98 c #DD671B", +"99 c #E56A1C", +"9a c #EC6E1E", +"9b c #E56B1D", +"9c c #6F4218", +"9d c #413E3A", +"9e c #414142", +"9f c #4B4B49", +"9g c #474647", +"9h c #464747", +"9i c #454747", +"9j c #222223", +"9k c #201F20", +"9l c #1E201F", +"9m c #1F1F1F", +"9n c #1F1E1F", +"9o c #201E1F", +"9p c #1F1E1E", +"9q c #201F1F", +"9r c #20201E", +"9s c #1F1F20", +"9t c #1E1E1F", +"9u c #1F1F21", +"9v c #1F201F", +"9w c #1E1F1E", +"9x c #32261E", +"9y c #C25D17", +"9z c #D36219", +"9A c #D8651A", +"9B c #794414", +"9C c #453F38", +"9D c #4E4E4D", +"9E c #4C4D4C", +"9F c #4A4A4B", +"9G c #464848", +"9H c #3F403F", +"9I c #232221", +"9J c #202121", +"9K c #202120", +"9L c #202020", +"9M c #212121", +"9N c #202021", +"9O c #212021", +"9P c #2D2D2D", +"9Q c #212120", +"9R c #222022", +"9S c #4D311C", +"9T c #C25A17", +"9U c #764011", +"9V c #352D25", +"9W c #444645", +"9X c #464745", +"9Y c #474546", +"9Z c #4E4E50", +"9& c #4F4E4E", +"a c #4C4D4D", +"a0 c #4C4C4B", +"a1 c #4A4C4B", +"a2 c #4B4A4B", +"a3 c #232322", +"a4 c #232223", +"a5 c #222222", +"a6 c #222122", +"a7 c #222322", +"a8 c #212221", +"a9 c #212123", +"aa c #212223", +"ab c #232222", +"ac c #212122", +"ad c #343334", +"ae c #242425", +"af c #232122", +"ag c #222123", +"ah c #222323", +"ai c #412E1C", +"aj c #30281F", +"ak c #222423", +"al c #2A2928", +"am c #3F3D3E", +"an c #464746", +"ao c #4E4E4E", +"ap c #252425", +"aq c #242525", +"ar c #252323", +"as c #232424", +"at c #242323", +"au c #232323", +"av c #252423", +"aw c #242324", +"ax c #232324", +"ay c #242424", +"az c #252325", +"aA c #262525", +"aB c #2D2C2D", +"aC c #242523", +"aD c #242524", +"aE c #232425", +"aF c #252524", +"aG c #242625", +"aH c #272728", +"aI c #4B4A4A", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g g h i j k l j l m m n o o p q r s g t u v w x", +" y z A B C a D E F G H I J i l K L M N N O P Q R S T U V W X Y Z &0 &0001 U01 S02", +"0304050607 g w08090a0b0c0d0e0f X0g0h0i0j0k0l0m0l0n0o0o0p0q0r0s0t0u0v0w0x0w0l0l0y0z", +"0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0T0U0V0W0X0Y0X0Z0&1 1 10111112131415161718", +" m19021a X1b0y1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1r1s1r1t1u1v1w1w1x1y1x1z1A1B1C1D1E1E", +" T W0j1F1G1H0R1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 2021222324252627281u292a1x2b", +"0y2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2B2z2D2E2F2G2H2I2 2J2K2L2M", +"150W2N2O2P1v2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233343536373638393a3b3c3d2y3e3f2D2G3g3h3i", +"3j3k2b3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3F3G3F3H3I3J3K3L3M3N3a3O3P3Q3R3S3T", +"3U1w3l3V203W3X3Y3Z3&4 404142434445464748494a4b4c4d4e4f4g4h4i4j4k4l3K4m384n4o3P2z3S", +"4p4q3i4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4k4l4U374n4V4W4X", +"3m24202G4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p4k3K5q5r383a5s", +"2L5t2H2D5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5q5&4m3a3d", +"256 606162636465666768696a5C6b5G6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r5W6s6t6u3K4m4n6v4o", +"2L3i1&6w6x6y6z6A6B6C6D6E6F6G6H5G6I6H6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Y6Z6&7 394o2y", +"7021203T713e7273747576777879797a7b7c7d7e7f7f7g7h7i7j7k7l7m7n7o7p7q6u7r7s3M7t7u3e3f", +"1r2L2J2 207v3R2y7w7x7y7z7A7B7C7a7D7E7F7G7H7H7I7J7K7L6M7M7N7O7P7Q7R7S7T3b3a7U7V2E7W", +"7X7Y7Z267&8 8081826Y838485868788898a8b8c8d8c8e8f8g8h8i8e8j8k8l8m8n8o8p8q8r2B2E8s60", +"8t2b1r1r3m261Z8u808v8w8x838y8z8A8B8C8D8E8F838x8G8H8H8I8H8H8J8K8L8M8N8O8P8Q4s8R2H8S", +"3j8T1C8U8V2a3m282H8W8X8Y8Z8I8Z8F8&9 90918X92938w9494958w8w969798999a9b9c9d1Y219e2K", +"0S9f0&1E9g9h9i1q3i9j9k9l949m9n9o9p9o9p9q9p9r9s9t9s9n9u9v9q9w9x9y9z9A9B9C9e2L297Y3l", +"9D9E2d9F0R130&9G9H9I9J9K9L9M9J9N9M9K9O9O9L9N9N9N9J9L9P9Q9O9Q9R9S9T9U9V1Z299W1B9X9Y", +"0j9Z9&0oa a0a1a22Da3a49ja5a5a6a5a7a7a8a9a5a8aaa5abacadaea5afagahaiajakalaman2g3j10", +"00 Z &0h0k9&aoao4mapaeaqarasatauavawataxayazataxavaA7uaBapaCaDaEazaFaqaGaH3613aI0T"}; diff --git a/2009-x64/cps4.03/icons/cpscSelectProxy.xpm b/2009-x64/cps4.03/icons/cpscSelectProxy.xpm new file mode 100644 index 0000000..3782122 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSelectProxy.xpm @@ -0,0 +1,1204 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1177 2", +" c #727172", +" 0 c #717171", +" 1 c #706F71", +" 2 c #706F70", +" 3 c #6F6F6E", +" 4 c #6C6D6D", +" 5 c #6C6C6C", +" 6 c #6B6C6C", +" 7 c #6B6C6B", +" 8 c #686869", +" 9 c #686867", +" a c #686969", +" b c #676766", +" c c #7D7661", +" d c #DCD651", +" e c #F0F062", +" f c #7C7B5F", +" g c #626162", +" h c #615F60", +" i c #5F5F61", +" j c #5E5E5E", +" k c #5D5D5D", +" l c #5F5E5D", +" m c #5B5C5B", +" n c #5A5B5B", +" o c #5B5A59", +" p c #5A5858", +" q c #595859", +" r c #595959", +" s c #575857", +" t c #585858", +" u c #575758", +" v c #575656", +" w c #555556", +" x c #575555", +" y c #545655", +" z c #545455", +" A c #555455", +" B c #545454", +" C c #535253", +" D c #535353", +" E c #535354", +" F c #545354", +" G c #545453", +" H c #545554", +" I c #545555", +" J c #545355", +" K c #565556", +" L c #565656", +" M c #575757", +" N c #585957", +" O c #59585A", +" P c #585958", +" Q c #58595A", +" R c #6F6E6E", +" S c #848371", +" T c #848370", +" U c #6B6C6A", +" V c #696969", +" W c #716E66", +" X c #837F67", +" Y c #918F6C", +" Z c #A6995C", +" & c #B3A04D", +"0 c #B5A453", +"00 c #B9A035", +"01 c #C9AE3C", +"02 c #9A8232", +"03 c #E0B629", +"04 c #EADE3A", +"05 c #B6A441", +"06 c #928759", +"07 c #5F5E5B", +"08 c #5B5A5A", +"09 c #5B5B5A", +"0a c #595857", +"0b c #595958", +"0c c #565657", +"0d c #585756", +"0e c #565554", +"0f c #535454", +"0g c #525352", +"0h c #525252", +"0i c #515351", +"0j c #535352", +"0k c #525150", +"0l c #515151", +"0m c #515051", +"0n c #50504F", +"0o c #4F504F", +"0p c #4F4F4F", +"0q c #50514F", +"0r c #504F50", +"0s c #4E4E4F", +"0t c #4F5050", +"0u c #4F5150", +"0v c #525251", +"0w c #525152", +"0x c #515251", +"0y c #545452", +"0z c #535455", +"0A c #555555", +"0B c #575755", +"0C c #585757", +"0D c #A28C4E", +"0E c #FFF04D", +"0F c #FAF54B", +"0G c #C0B466", +"0H c #BFAD41", +"0I c #C8BD57", +"0J c #AC9D3A", +"0K c #8B7832", +"0L c #8B7B3D", +"0M c #786F49", +"0N c #706B4D", +"0O c #61605B", +"0P c #5C5C5C", +"0Q c #5D5C4F", +"0R c #827133", +"0S c #5C5A54", +"0T c #8A7F3D", +"0U c #A5932F", +"0V c #94844E", +"0W c #5E5D55", +"0X c #525353", +"0Y c #535252", +"0Z c #515152", +"0& c #505050", +"1 c #4F4F50", +"10 c #4E4E4E", +"11 c #4D4D4E", +"12 c #4D4E4D", +"13 c #4C4D4D", +"14 c #4D4D4C", +"15 c #4C4C4A", +"16 c #4C4B4C", +"17 c #4A4B4A", +"18 c #4A4B4B", +"19 c #514F4A", +"1a c #6B6545", +"1b c #6E6743", +"1c c #625D45", +"1d c #545349", +"1e c #4B4C4C", +"1f c #4C4C4C", +"1g c #4E4D4E", +"1h c #4D4D4D", +"1i c #505051", +"1j c #505251", +"1k c #525151", +"1l c #887951", +"1m c #FDDF22", +"1n c #D0B828", +"1o c #BAA53F", +"1p c #767359", +"1q c #5F605F", +"1r c #5E5F5F", +"1s c #5D5E5D", +"1t c #5D5C5D", +"1u c #5B5B5C", +"1v c #5A5A59", +"1w c #585656", +"1x c #59584E", +"1y c #83742A", +"1z c #57564C", +"1A c #766D37", +"1B c #9E8D30", +"1C c #AB9E4D", +"1D c #848256", +"1E c #9C9C61", +"1F c #5C5C51", +"1G c #4A4C4B", +"1H c #4B4A4A", +"1I c #49484A", +"1J c #484948", +"1K c #474849", +"1L c #474948", +"1M c #494748", +"1N c #474847", +"1O c #474747", +"1P c #474848", +"1Q c #454646", +"1R c #454647", +"1S c #7D7141", +"1T c #CEB23D", +"1U c #EDCA38", +"1V c #E3C437", +"1W c #D8B92F", +"1X c #CDB129", +"1Y c #C0A724", +"1Z c #9E8F28", +"1& c #64603D", +"2 c #4A4A4A", +"20 c #494849", +"21 c #494949", +"22 c #4A4A4B", +"23 c #4A4A49", +"24 c #4E4D4D", +"25 c #4E4E4D", +"26 c #4F4E4E", +"27 c #514F4F", +"28 c #505151", +"29 c #515252", +"2a c #636263", +"2b c #79703D", +"2c c #9A8432", +"2d c #6B653C", +"2e c #A19232", +"2f c #807A5A", +"2g c #5B5C5A", +"2h c #5A5B59", +"2i c #575756", +"2j c #555554", +"2k c #56534A", +"2l c #7C7026", +"2m c #504F4F", +"2n c #57554C", +"2o c #746B4A", +"2p c #897E33", +"2q c #E2C02F", +"2r c #FFF04A", +"2s c #BAB746", +"2t c #464646", +"2u c #454444", +"2v c #444545", +"2w c #454545", +"2x c #444444", +"2y c #434544", +"2z c #434444", +"2A c #434443", +"2B c #414242", +"2C c #424242", +"2D c #434243", +"2E c #5F5B3F", +"2F c #DBC13F", +"2G c #FFDE4D", +"2H c #FDE863", +"2I c #FCDD60", +"2J c #E8CB4E", +"2K c #D1B73B", +"2L c #C5AC30", +"2M c #B4A026", +"2N c #AA971E", +"2O c #A99718", +"2P c #8E831E", +"2Q c #525140", +"2R c #464746", +"2S c #464848", +"2T c #474748", +"2U c #4C4B4B", +"2V c #4C4C4B", +"2W c #4E4F4F", +"2X c #646047", +"2Y c #80702A", +"2Z c #5C5B5B", +"2& c #5D5C51", +"3 c #7E7027", +"30 c #C1AD52", +"31 c #6C6959", +"32 c #555656", +"33 c #4F504E", +"34 c #5B594B", +"35 c #968835", +"36 c #877D4E", +"37 c #9E8E41", +"38 c #A99534", +"39 c #B7A130", +"3a c #847224", +"3b c #7A6B2A", +"3c c #9C7C28", +"3d c #E9D132", +"3e c #888441", +"3f c #414142", +"3g c #424241", +"3h c #404040", +"3i c #40413F", +"3j c #403E3E", +"3k c #3E3F3E", +"3l c #3E3E3E", +"3m c #3E3F3F", +"3n c #3F3F3F", +"3o c #5C583D", +"3p c #ECCD43", +"3q c #FFEE67", +"3r c #FEFF9D", +"3s c #FEFEAA", +"3t c #FFFEA2", +"3u c #FCE36A", +"3v c #DEC64F", +"3w c #BFAA34", +"3x c #B49F29", +"3y c #A6951F", +"3z c #9B8B17", +"3A c #958712", +"3B c #8D8312", +"3C c #525138", +"3D c #454544", +"3E c #464645", +"3F c #494847", +"3G c #484848", +"3H c #49494A", +"3I c #4B4B4A", +"3J c #4A4B4C", +"3K c #4D4C4C", +"3L c #5C5C5D", +"3M c #605E4A", +"3N c #8A791F", +"3O c #615C43", +"3P c #A99832", +"3Q c #CEC884", +"3R c #E3E29B", +"3S c #A19C64", +"3T c #8B875A", +"3U c #A69E53", +"3V c #BBAE4A", +"3W c #A9982B", +"3X c #A3871F", +"3Y c #74691E", +"3Z c #5D562F", +"3& c #5D5937", +"4 c #414040", +"40 c #44433D", +"41 c #706520", +"42 c #3D3E3E", +"43 c #3D3D3D", +"44 c #3C3C3B", +"45 c #3C3B3A", +"46 c #3B3C3B", +"47 c #3A3B3B", +"48 c #3B3B3B", +"49 c #3A3C3C", +"4a c #3B3B3A", +"4b c #393939", +"4c c #4D4839", +"4d c #F1CE39", +"4e c #FFE860", +"4f c #FEFC98", +"4g c #FEFFF4", +"4h c #FFFFFE", +"4i c #FEFFDA", +"4j c #FFFA8E", +"4k c #DDC64D", +"4l c #C3AD36", +"4m c #AF9C26", +"4n c #A2911C", +"4o c #958614", +"4p c #8E8111", +"4q c #867E0A", +"4r c #7A7310", +"4s c #44433F", +"4t c #414143", +"4u c #444343", +"4v c #454445", +"4w c #464545", +"4x c #464647", +"4y c #484748", +"4z c #484847", +"4A c #48494A", +"4B c #494A4A", +"4C c #4C4A4B", +"4D c #595A59", +"4E c #5B5C51", +"4F c #85761B", +"4G c #575655", +"4H c #525253", +"4I c #736440", +"4J c #FFC617", +"4K c #FFE121", +"4L c #E4C91F", +"4M c #80741E", +"4N c #716C2C", +"4O c #65603C", +"4P c #505040", +"4Q c #7A6B20", +"4R c #343634", +"4S c #262625", +"4T c #404140", +"4U c #3E3E3F", +"4V c #3D3C3C", +"4W c #3D3D3B", +"4X c #424037", +"4Y c #695F22", +"4Z c #3A3939", +"4& c #5D5941", +"5 c #8F8A4C", +"50 c #373738", +"51 c #373637", +"52 c #363637", +"53 c #353736", +"54 c #353636", +"55 c #343635", +"56 c #BCA132", +"57 c #F8D243", +"58 c #FCE164", +"59 c #FEFEAF", +"5a c #FFFFF6", +"5b c #FFFEFE", +"5c c #FEFED5", +"5d c #FBF07E", +"5e c #DBC54A", +"5f c #BFAA31", +"5g c #AE9B24", +"5h c #9C8C18", +"5i c #928412", +"5j c #867C0C", +"5k c #80790A", +"5l c #797505", +"5m c #5E5D1F", +"5n c #3F3F40", +"5o c #414140", +"5p c #424142", +"5q c #424244", +"5r c #444544", +"5s c #474646", +"5t c #494948", +"5u c #575858", +"5v c #867612", +"5w c #5F5B4F", +"5x c #505150", +"5y c #4F4E4F", +"5z c #5A5549", +"5A c #D7A91A", +"5B c #F6DA1F", +"5C c #BBA830", +"5D c #484747", +"5E c #434343", +"5F c #776321", +"5G c #242526", +"5H c #1B1A1A", +"5I c #3B3A3B", +"5J c #3C3C3C", +"5K c #393A3A", +"5L c #383839", +"5M c #413F33", +"5N c #695D1E", +"5O c #353536", +"5P c #615738", +"5Q c #FFCC47", +"5R c #CCAF4C", +"5S c #4D4A37", +"5T c #323432", +"5U c #343332", +"5V c #323333", +"5W c #333132", +"5X c #323132", +"5Y c #4F4930", +"5Z c #F0CA2F", +"5& c #E7C742", +"6 c #F2D35F", +"60 c #FEEF7F", +"61 c #FEFEB1", +"62 c #FEFFA3", +"63 c #FFF992", +"64 c #EBD85C", +"65 c #CDB73D", +"66 c #B09C27", +"67 c #A2901C", +"68 c #8E8013", +"69 c #877D10", +"6a c #7F750B", +"6b c #757006", +"6c c #706B03", +"6d c #716F04", +"6e c #444439", +"6f c #403F40", +"6g c #404042", +"6h c #434344", +"6i c #454645", +"6j c #555454", +"6k c #796C1E", +"6l c #636048", +"6m c #51514F", +"6n c #4E4C4E", +"6o c #4F4F40", +"6p c #776911", +"6q c #474648", +"6r c #474645", +"6s c #434342", +"6t c #414041", +"6u c #71671C", +"6v c #1D1C1E", +"6w c #191A19", +"6x c #2F2F2F", +"6y c #393938", +"6z c #363636", +"6A c #433E30", +"6B c #695F1E", +"6C c #5F5535", +"6D c #FEB137", +"6E c #FDA030", +"6F c #F1B240", +"6G c #776539", +"6H c #2F2F30", +"6I c #303030", +"6J c #2E2E2D", +"6K c #82712A", +"6L c #E3BD2D", +"6M c #F6CF44", +"6N c #D9BB4C", +"6O c #F3D656", +"6P c #FBE769", +"6Q c #ECD161", +"6R c #D5BA51", +"6S c #B8A039", +"6T c #A78F2A", +"6U c #97841F", +"6V c #8A7716", +"6W c #81720F", +"6X c #81700E", +"6Y c #7A6A0A", +"6Z c #6B6406", +"6& c #676103", +"7 c #6E6703", +"70 c #4F4F29", +"71 c #424040", +"72 c #414241", +"73 c #424342", +"74 c #444443", +"75 c #545353", +"76 c #706626", +"77 c #6B6441", +"78 c #504E4F", +"79 c #4B4B4B", +"7a c #4B4B44", +"7b c #7F7113", +"7c c #504F42", +"7d c #414342", +"7e c #424240", +"7f c #7D6E1E", +"7g c #181A1A", +"7h c #1B1A1C", +"7i c #201F20", +"7j c #383736", +"7k c #333334", +"7l c #44402C", +"7m c #58501F", +"7n c #5C5032", +"7o c #FEBA3D", +"7p c #FEBC38", +"7q c #EC8C22", +"7r c #FD9E2F", +"7s c #C99F3E", +"7t c #403B2F", +"7u c #2B2C2B", +"7v c #2B2C2C", +"7w c #A68A29", +"7x c #DAAE37", +"7y c #BF9A30", +"7z c #D8B14B", +"7A c #CCAE3D", +"7B c #CEAE3F", +"7C c #C3A53A", +"7D c #B0952E", +"7E c #A58B2B", +"7F c #927A20", +"7G c #806B14", +"7H c #77640F", +"7I c #A07E1F", +"7J c #FFC854", +"7K c #FFED7D", +"7L c #FFFEA6", +"7M c #FFFEC4", +"7N c #FFFFAE", +"7O c #FFE686", +"7P c #FEB358", +"7Q c #F8913E", +"7R c #E0732A", +"7S c #5D3E21", +"7T c #434442", +"7U c #6B6328", +"7V c #68603C", +"7W c #4C4C4D", +"7X c #4B4A4B", +"7Y c #484947", +"7Z c #716F09", +"7& c #56533E", +"8 c #424141", +"80 c #71631B", +"81 c #202121", +"82 c #1A1919", +"83 c #292A29", +"84 c #353433", +"85 c #323332", +"86 c #44412E", +"87 c #544E1F", +"88 c #2D2E2D", +"89 c #5B4D32", +"8a c #FFB939", +"8b c #FFBD38", +"8c c #FFB332", +"8d c #F89F29", +"8e c #F4932A", +"8f c #EFA838", +"8g c #5A482A", +"8h c #292929", +"8i c #CD9431", +"8j c #C4922B", +"8k c #BFA225", +"8l c #B08D36", +"8m c #B3953D", +"8n c #B19F2D", +"8o c #AB9924", +"8p c #A68F1F", +"8q c #9A841A", +"8r c #8C7813", +"8s c #7F6D0F", +"8t c #8A4F15", +"8u c #815413", +"8v c #FEC657", +"8w c #FFE97C", +"8x c #FFFFA9", +"8y c #FFFFC0", +"8z c #FFF4A1", +"8A c #FEC369", +"8B c #FEA74F", +"8C c #F38333", +"8D c #6A3E10", +"8E c #4A3C2A", +"8F c #454443", +"8G c #535351", +"8H c #645F31", +"8I c #746831", +"8J c #4C4E4C", +"8K c #464847", +"8L c #6F6611", +"8M c #56513C", +"8N c #414243", +"8O c #43433C", +"8P c #817127", +"8Q c #EBCF36", +"8R c #615F38", +"8S c #393839", +"8T c #181919", +"8U c #2D2C2B", +"8V c #313333", +"8W c #433D2C", +"8X c #544F1E", +"8Y c #2D2D2D", +"8Z c #5A4D30", +"8& c #FEB937", +"9 c #FFBC35", +"90 c #FEB934", +"91 c #FFBF51", +"92 c #F8B14E", +"93 c #9C621D", +"94 c #383127", +"95 c #9E7326", +"96 c #C8952A", +"97 c #AF9028", +"98 c #A68F25", +"99 c #A2892D", +"9a c #9E862F", +"9b c #968821", +"9c c #8E8715", +"9d c #898011", +"9e c #83750B", +"9f c #8A690C", +"9g c #743B11", +"9h c #634609", +"9i c #F0B44C", +"9j c #FFD26A", +"9k c #FFE988", +"9l c #FEEA8A", +"9m c #FFDA7E", +"9n c #FFAF57", +"9o c #F78939", +"9p c #734314", +"9q c #4D3820", +"9r c #424042", +"9s c #424243", +"9t c #474746", +"9u c #5C583C", +"9v c #8B7829", +"9w c #4B4C4B", +"9x c #494848", +"9y c #474846", +"9z c #696019", +"9A c #6E6430", +"9B c #5F592E", +"9C c #766A1E", +"9D c #7A681B", +"9E c #594B20", +"9F c #B4A225", +"9G c #978035", +"9H c #675F40", +"9I c #373837", +"9J c #252424", +"9K c #202222", +"9L c #333233", +"9M c #423E2B", +"9N c #575321", +"9O c #2E2F2E", +"9P c #5B4B30", +"9Q c #FFB634", +"9R c #FFBC39", +"9S c #FFC863", +"9T c #E29A36", +"9U c #5C4123", +"9V c #2D2C2C", +"9W c #806C1D", +"9X c #A97D22", +"9Y c #9F8525", +"9Z c #988320", +"9& c #93811D", +"a c #8E7A26", +"a0 c #887526", +"a1 c #83781A", +"a2 c #7B7611", +"a3 c #767409", +"a4 c #745A0A", +"a5 c #6A460B", +"a6 c #615206", +"a7 c #CF8B2A", +"a8 c #FEB452", +"a9 c #FEBE5E", +"aa c #FEB55A", +"ab c #FFA64E", +"ac c #FE9440", +"ad c #AA581B", +"ae c #4E3922", +"af c #3F3E3E", +"ag c #40403F", +"ah c #444645", +"ai c #58573F", +"aj c #7F6C29", +"ak c #4D4B46", +"al c #5C5834", +"am c #726822", +"an c #6F6516", +"ao c #847621", +"ap c #5D5634", +"aq c #4A493D", +"ar c #373636", +"as c #1B1B1A", +"at c #2E2D2E", +"au c #222223", +"av c #6A5F2C", +"aw c #B29E4C", +"ax c #3A3B32", +"ay c #1A1A19", +"az c #252526", +"aA c #48432C", +"aB c #4F4A23", +"aC c #303131", +"aD c #56422B", +"aE c #FBB641", +"aF c #FDC054", +"aG c #B77821", +"aH c #3D342C", +"aI c #2E3030", +"aJ c #2E2D2D", +"aK c #625722", +"aL c #B08D16", +"aM c #938024", +"aN c #8F7726", +"aO c #86771A", +"aP c #84721E", +"aQ c #7C6926", +"aR c #75681E", +"aS c #716A14", +"aT c #6B6A0A", +"aU c #666A03", +"aV c #696604", +"aW c #6B6303", +"aX c #9D7215", +"aY c #FE9C3D", +"aZ c #FF9D41", +"a& c #FF923C", +"b c #FE8B38", +"b0 c #E8752A", +"b1 c #E87329", +"b2 c #C6682C", +"b3 c #654936", +"b4 c #404141", +"b5 c #434242", +"b6 c #444344", +"b7 c #A59533", +"b8 c #DBBB34", +"b9 c #948E32", +"ba c #816E21", +"bb c #7A6B1D", +"bc c #756B35", +"bd c #57543E", +"be c #605C20", +"bf c #5B5334", +"bg c #282827", +"bh c #202021", +"bi c #3A3A3B", +"bj c #1E1E1F", +"bk c #454137", +"bl c #9E8D42", +"bm c #5D5A36", +"bn c #1B1D1C", +"bo c #47422B", +"bp c #4F4A26", +"bq c #323233", +"br c #4E3F2B", +"bs c #C77A14", +"bt c #715026", +"bu c #323131", +"bv c #313030", +"bw c #323030", +"bx c #303130", +"by c #323231", +"bz c #36342E", +"bA c #907B0F", +"bB c #887F11", +"bC c #816E25", +"bD c #7D6B1E", +"bE c #77691A", +"bF c #73631F", +"bG c #6E5E20", +"bH c #696017", +"bI c #686510", +"bJ c #656808", +"bK c #666803", +"bL c #696502", +"bM c #876708", +"bN c #FF872D", +"bO c #FE812C", +"bP c #EF7629", +"bQ c #D86D24", +"bR c #DA691F", +"bS c #E87226", +"bT c #EB7327", +"bU c #E87124", +"bV c #BB6227", +"bW c #644A38", +"bX c #474647", +"bY c #C8A323", +"bZ c #EFDE37", +"b& c #C6B838", +"c c #535349", +"c0 c #5D5B22", +"c1 c #695E31", +"c2 c #1F2020", +"c3 c #353534", +"c4 c #212020", +"c5 c #313132", +"c6 c #3B3B3C", +"c7 c #696031", +"c8 c #A3944B", +"c9 c #78733C", +"ca c #706D33", +"cb c #373737", +"cc c #423B32", +"cd c #463D2F", +"ce c #333434", +"cf c #333435", +"cg c #343334", +"ch c #343335", +"ci c #343534", +"cj c #333333", +"ck c #62581F", +"cl c #887A09", +"cm c #776C19", +"cn c #746521", +"co c #6E611E", +"cp c #6D5E1E", +"cq c #6C5C20", +"cr c #685F19", +"cs c #686312", +"ct c #66670A", +"cu c #676A04", +"cv c #6A6703", +"cw c #6B6402", +"cx c #ED7621", +"cy c #F57524", +"cz c #AE5719", +"cA c #5D3711", +"cB c #56361F", +"cC c #D0641E", +"cD c #DD6D22", +"cE c #E06D23", +"cF c #DD6C22", +"cG c #DC6A20", +"cH c #AF5D28", +"cI c #644B39", +"cJ c #454547", +"cK c #666048", +"cL c #838141", +"cM c #97882F", +"cN c #9F9349", +"cO c #4C4B4A", +"cP c #5E592A", +"cQ c #726C29", +"cR c #2A2A2A", +"cS c #1E1F1F", +"cT c #3D3D3E", +"cU c #404041", +"cV c #202020", +"cW c #3B3D3C", +"cX c #837436", +"cY c #FBDA48", +"cZ c #FFE42A", +"c& c #454437", +"d c #373839", +"d0 c #383838", +"d1 c #373838", +"d2 c #363837", +"d3 c #373638", +"d4 c #383737", +"d5 c #363737", +"d6 c #373736", +"d7 c #373735", +"d8 c #3B3A33", +"d9 c #7D6E10", +"da c #7E7A07", +"db c #746E15", +"dc c #716320", +"dd c #6E6120", +"de c #6C601D", +"df c #686412", +"dg c #67670B", +"dh c #676B05", +"di c #6A6904", +"dj c #6C6402", +"dk c #BE6614", +"dl c #AE5717", +"dm c #613A11", +"dn c #2A231D", +"do c #201F1F", +"dp c #58351C", +"dq c #C9611A", +"dr c #D56720", +"ds c #D56820", +"dt c #D86920", +"du c #D5671F", +"dv c #D1661C", +"dw c #A85A25", +"dx c #644C3C", +"dy c #555655", +"dz c #52524E", +"dA c #8F8233", +"dB c #B0A04D", +"dC c #4D4C4D", +"dD c #4B4B4C", +"dE c #575434", +"dF c #776E26", +"dG c #414141", +"dH c #232423", +"dI c #302F30", +"dJ c #434130", +"dK c #8A7A3D", +"dL c #98802F", +"dM c #867438", +"dN c #BA8E1D", +"dO c #B3A020", +"dP c #3B3B34", +"dQ c #3A3C3B", +"dR c #3A3B3A", +"dS c #393B39", +"dT c #3A3A39", +"dU c #393A38", +"dV c #434034", +"dW c #7B6D10", +"dX c #77770A", +"dY c #736E11", +"dZ c #716818", +"d& c #6E6517", +"e c #6B6812", +"e0 c #6A690D", +"e1 c #686C08", +"e2 c #696C05", +"e3 c #6E6802", +"e4 c #6F6603", +"e5 c #7D5B08", +"e6 c #64390E", +"e7 c #33271C", +"e8 c #201F21", +"e9 c #212121", +"ea c #222122", +"eb c #633A1D", +"ec c #C45F1A", +"ed c #CB631C", +"ee c #CD651E", +"ef c #CE641D", +"eg c #CD631D", +"eh c #CB621B", +"ei c #C8611A", +"ej c #A45725", +"ek c #514941", +"el c #545254", +"em c #716C2B", +"en c #BAB14D", +"eo c #51514C", +"ep c #575633", +"eq c #807122", +"er c #222221", +"es c #4C4B48", +"et c #7F794D", +"eu c #ACA44A", +"ev c #9A8B38", +"ew c #48421B", +"ex c #44453E", +"ey c #1E1E1E", +"ez c #2B2B2B", +"eA c #3E3E3D", +"eB c #3F3D3E", +"eC c #3D3E3D", +"eD c #3C3D3C", +"eE c #3C3D3D", +"eF c #3B3D3B", +"eG c #3E3D3D", +"eH c #3B3C3D", +"eI c #414039", +"eJ c #736615", +"eK c #7F7708", +"eL c #76720A", +"eM c #72720A", +"eN c #6E6E0A", +"eO c #6D6F06", +"eP c #706E04", +"eQ c #6F6C04", +"eR c #736904", +"eS c #6F6404", +"eT c #544C0E", +"eU c #30291C", +"eV c #212021", +"eW c #212220", +"eX c #212222", +"eY c #222222", +"eZ c #232222", +"e& c #74411A", +"f c #C05C1A", +"f0 c #C45E19", +"f1 c #C55F1B", +"f2 c #C6601A", +"f3 c #C45F1B", +"f4 c #814512", +"f5 c #513C22", +"f6 c #535453", +"f7 c #776F30", +"f8 c #C9B250", +"f9 c #615B3D", +"fa c #70621E", +"fb c #272627", +"fc c #343434", +"fd c #757459", +"fe c #AAA053", +"ff c #B59E49", +"fg c #776A30", +"fh c #58573D", +"fi c #313130", +"fj c #252626", +"fk c #424343", +"fl c #444442", +"fm c #333433", +"fn c #232424", +"fo c #3A3B3C", +"fp c #2B2A2A", +"fq c #3F3F41", +"fr c #3F403F", +"fs c #3F3F3E", +"ft c #504D33", +"fu c #796C08", +"fv c #7A7204", +"fw c #7B7004", +"fx c #786B05", +"fy c #6C6107", +"fz c #544D0E", +"fA c #302E1B", +"fB c #212221", +"fC c #232223", +"fD c #222322", +"fE c #242424", +"fF c #242325", +"fG c #744119", +"fH c #B95917", +"fI c #BA5A18", +"fJ c #BD5B1A", +"fK c #BE5C19", +"fL c #754111", +"fM c #513919", +"fN c #4D4B49", +"fO c #595758", +"fP c #585857", +"fQ c #565756", +"fR c #726A3D", +"fS c #E4D563", +"fT c #C8B73A", +"fU c #A7A056", +"fV c #A59741", +"fW c #8C7E39", +"fX c #5A563B", +"fY c #4A484A", +"fZ c #4A494A", +"f& c #3F4040", +"g c #242324", +"g0 c #464745", +"g1 c #242423", +"g2 c #292B2B", +"g3 c #3F4140", +"g4 c #3D3D3C", +"g5 c #222020", +"g6 c #232324", +"g7 c #353535", +"g8 c #403E3F", +"g9 c #292727", +"ga c #2A281F", +"gb c #2D2B1F", +"gc c #282720", +"gd c #232323", +"ge c #222224", +"gf c #232425", +"gg c #242525", +"gh c #262626", +"gi c #282726", +"gj c #824518", +"gk c #B05516", +"gl c #B15716", +"gm c #8E4A12", +"gn c #553917", +"go c #504C45", +"gp c #5C5B5C", +"gq c #5B595A", +"gr c #595858", +"gs c #575657", +"gt c #FFC30C", +"gu c #FFE523", +"gv c #C3B026", +"gw c #514F49", +"gx c #323232", +"gy c #2D2E2E", +"gz c #4A4949", +"gA c #313332", +"gB c #3E3E40", +"gC c #222423", +"gD c #232322", +"gE c #333535", +"gF c #464546", +"gG c #282828", +"gH c #222323", +"gI c #242425", +"gJ c #242524", +"gK c #232524", +"gL c #252625", +"gM c #262624", +"gN c #262526", +"gO c #272827", +"gP c #262727", +"gQ c #2D2A25", +"gR c #7F4416", +"gS c #9F4F14", +"gT c #583712", +"gU c #4C4842", +"gV c #5D5D5C", +"gW c #5B5D5C", +"gX c #5A5B5C", +"gY c #5A5A5A", +"gZ c #575556", +"g& c #B59124", +"h c #CBB924", +"h0 c #787140", +"h1 c #525051", +"h2 c #4F4E4D", +"h3 c #323433", +"h4 c #3B3A3A", +"h5 c #262627", +"h6 c #2C2D2D", +"h7 c #3C3B3D", +"h8 c #484949", +"h9 c #484849", +"ha c #464547", +"hb c #2A2A29", +"hc c #252524", +"hd c #262425", +"he c #252426", +"hf c #272828", +"hg c #282728", +"hh c #272729", +"hi c #292828", +"hj c #312D27", +"hk c #4D3318", +"hl c #352E26", +"hm c #313231", +"hn c #4F514F", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m m n o p q r s t u v w x y z z A B C D E F G B H I J F K A z K w L M u u N O P Q", +" R S T U V W X Y Z &0 000102030405060708090a0b0c0d B0e0f C0g0h0i0j0k0l0m0n0o0p0q0r0o0n0p0s0r0t0n0u0l0v0l0w0x0g C E0y0z B A0A0B0C", +"0D0E0F0G0H0I0J0K0L0M0N0O m0P0Q0R0S0T0U0V0W0X0Y0x0Z0&0p1 10111212101314151616171718191a1b1c1d1e14131f1g1g1h100p0r0r1i1j1k0h0j B B", +"1l1m1n1o1p1q1r1s1t m1u1v t1w1x1y I0Y1z1A1B1C1D1E1F1G1H1H1I1J1K1L1M1N1O1P1N1Q1R1S1T1U1V1W1X1Y1Z1&2 202122231f16132425260o0&272829", +"2a2b2c2d2e2f2g2h r0d2i2j B0h2k2l2m241h2n2o2p2q2r2s2t2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S1N2T1I23222U2V131g2W1 1i", +"1q2X2Y2Z2&3 303132 C0v0m2W333435363738393a3b3c3d3e3f3g3h3i3j3k3l3l3m3k3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C2u3D3E2t2R3F3G3H2 3I3J3K1h", +"3L3M3N0b s L3O3P3Q3R3S3T3U3V3W3X3Y3Z3&2C2B4 404142434445464748494a4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u2w4v4w4x4y4z4A4B4C2V", +"4D4E4F4G I4H294I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 5051515152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q2z5r5s2R4y3G5t23", +"5u v5v5w0h5x5y5z5A5B5C5D4x2w5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f4 6g3f2C6h6i1Q1N1P1J", +" L6j6k6l6m266n1f6o6p6q6r2w6s6t6u6v6w6x6y506z6A6B5X6C6D6E6F6G6x6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 70433l3n717273742w2t6q3G", +" A757677781h79177a7b7c2x7d7e3m7f7g7h7i7j5O7k7l7m6H7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S5o2C7T742t2t4z", +" H0g7U7V117W7X217Y7Z7&748 3n3k80816I82838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E4 3h2C4u8F4w3E", +" E8G8H8I8J2U4B3G8K8L8M8N4T8O8P8Q8R8S8h8T8U8V8W8X8Y8Z8&9 90919293948h95969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q3m3n9r4t9s2v5r9t", +"0h0h9u9v149w239x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U8Y9V7u9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadae3lafag7e2C2D5rah2t", +" E0waiaj1h9wakalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHataIaJ6JaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b33hb4b573b62z2w2R", +"0Y0wb7b8b9babbbcbdbebf5E3mbgbhbi7kbjbkblbmbnbobpbqbrbsbtbubvbwbxby6IbzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbW735q2x2v4wbX", +" G0gbYbZb&c 2U795tc0c14v4Uc2c36f5Jc4c5c6c7c8c9cacbcccdcecfcgchci7kcjcjckclcmcncocpcqcrcsctcucvcwcxcyczcAcBcCcDcEcFcGcHcI4vcJ9y4z", +" z0gcKcLcMcN13cO22cPcQ9tcRcScT8 cU6ycVcbcWcXcYcZc&d d0d151d2d3d4d5d6d7d8d9dadbdcddde9zdfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdx1K5t", +"dy E0g0hdzdAdBdCdDdEdFdGdHdI2vb62C3fdJdKdLdMdNdOdPc64adQ4adRdS4adT5K4bdUdVdWdXdYdZd&e e0e1e2e3e4e5e6e7e8e9eaebecedeeefegeheiejek", +" L0A0fel0Y0lemeneoepeqcberdG1PeseteuevewexdGdUeyezaf3keAeBcTeCeDeEeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe&f f0f1f2f3f1f4f5", +" P L L2jf6 E0vf7f8f9fafbfcfdfefffgfhbXfifjfkflfmfnfo5o8 6tdG4Wfp7k5nfqfr5n3nfsft9zfufvfwfxfyfzfAfBeaeZfCfDfEfFfEfGfHfIfJfKfLfMfN", +" qfOfPfQ w zf60YfRfSfTfUfVfWfX2U2 fYfZf&g 3lg02Cg1g2g35r5E74g4g5g6g75o9s2C5E2A2Dg8g9gagbgceZfDfDgdgefngf9Jggggghgigjgkglgmgngo2W", +"gpgq Pgr tgs w z Ggtgugvgw0t0s1hdC1f161Jgxgygz1JgAau6x1O2R1OgBgCeZgDgEdG6i2t4wgF5EgGgHfEgDgIg1gJgKgLgMgMgNfjfbgOgPgQgRgSgTgU0t0&", +"gVgWgXgY r q ufQgZg&h h00j29h10l0o0p10h217h3h42Vgz8Sgi4w212 8 fEgJfnh5h6h7h8h93GhahbhcgLfEhdhegLgNfbfbfbhfhghhhi8h8hhjhkhlhmhn C"}; diff --git a/2009-x64/cps4.03/icons/cpscSelectVertex.xpm b/2009-x64/cps4.03/icons/cpscSelectVertex.xpm new file mode 100644 index 0000000..b6e394e --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSelectVertex.xpm @@ -0,0 +1,640 @@ +/* XPM */ +static char *SVERTEX_xpm[]={ +"41 24 613 2", +" c #6A6A69", +" 0 c #696868", +" 1 c #676867", +" 2 c #676668", +" 3 c #666565", +" 4 c #656565", +" 5 c #646363", +" 6 c #636163", +" 7 c #616162", +" 8 c #616160", +" 9 c #5F5F60", +" a c #5F5F5F", +" b c #5E5F5E", +" c c #5D5D5D", +" d c #5E5D5D", +" e c #5C5D5C", +" f c #5C5B5C", +" g c #5A5A5B", +" h c #595B5B", +" i c #585959", +" j c #595957", +" k c #575758", +" l c #585857", +" m c #585758", +" n c #575657", +" o c #575757", +" p c #565656", +" q c #565756", +" r c #555556", +" s c #575656", +" t c #005856", +" u c #323130", +" v c #353433", +" w c #383736", +" x c #626139", +" y c #656463", +" z c #686766", +" A c #6B6A69", +" B c #636463", +" C c #636362", +" D c #626363", +" E c #616161", +" F c #606060", +" G c #5E5F5F", +" H c #5C5D5D", +" I c #5C5C5D", +" J c #5C5B5B", +" K c #5B5B5B", +" L c #59595A", +" M c #5A5959", +" N c #565757", +" O c #575756", +" P c #565556", +" Q c #545455", +" R c #545554", +" S c #545453", +" T c #525352", +" U c #535153", +" V c #535251", +" W c #515251", +" X c #515151", +" Y c #525250", +" Z c #525152", +" & c #525251", +"0 c #525052", +"00 c #525253", +"01 c #535352", +"02 c #525353", +"03 c #535354", +"04 c #605E5F", +"05 c #5D5E5D", +"06 c #5A5B5A", +"07 c #5A595A", +"08 c #565657", +"09 c #545555", +"0a c #535355", +"0b c #545454", +"0c c #525452", +"0d c #525153", +"0e c #525151", +"0f c #515052", +"0g c #505150", +"0h c #504F50", +"0i c #4F4F4F", +"0j c #4E4F4F", +"0k c #4F4E4F", +"0l c #4D4E4E", +"0m c #4D4D4E", +"0n c #4D4E4D", +"0o c #4E4D4C", +"0p c #4C4D4D", +"0q c #4C4D4C", +"0r c #4D4D4D", +"0s c #4D4D4C", +"0t c #4D4C4E", +"0u c #4E4F4D", +"0v c #4E4E4D", +"0w c #4F4E4D", +"0x c #5B5A5B", +"0y c #585A58", +"0z c #585858", +"0A c #555656", +"0B c #555453", +"0C c #535353", +"0D c #525051", +"0E c #676652", +"0F c #A8A85D", +"0G c #A7A85D", +"0H c #A7A75B", +"0I c #7F8050", +"0J c #4D4C4D", +"0K c #4B4B4C", +"0L c #4B4B4B", +"0M c #4A4A4B", +"0N c #494949", +"0O c #4A4A4A", +"0P c #49494A", +"0Q c #484948", +"0R c #494848", +"0S c #474949", +"0T c #494948", +"0U c #484849", +"0V c #4A4949", +"0W c #4A484A", +"0X c #494B49", +"0Y c #4C4B4B", +"0Z c #565455", +"0& c #535252", +"1 c #51504F", +"10 c #504E50", +"11 c #7E7E52", +"12 c #FEFF66", +"13 c #FEFE66", +"14 c #FFFE65", +"15 c #E7E743", +"16 c #484847", +"17 c #474747", +"18 c #454546", +"19 c #464747", +"1a c #464546", +"1b c #444646", +"1c c #454545", +"1d c #444546", +"1e c #454544", +"1f c #454443", +"1g c #444443", +"1h c #434343", +"1i c #434444", +"1j c #454445", +"1k c #444545", +"1l c #444544", +"1m c #444644", +"1n c #454646", +"1o c #474646", +"1p c #515150", +"1q c #4C4B4D", +"1r c #4A4A49", +"1s c #7A7B4D", +"1t c #FEFE61", +"1u c #FFFE61", +"1v c #FFFF60", +"1w c #E7E641", +"1x c #424342", +"1y c #424242", +"1z c #414242", +"1A c #404142", +"1B c #414141", +"1C c #404040", +"1D c #414041", +"1E c #414140", +"1F c #40413F", +"1G c #3F413F", +"1H c #3F4040", +"1I c #3F3F40", +"1J c #403F3F", +"1K c #3F4140", +"1L c #404141", +"1M c #424241", +"1N c #414241", +"1O c #434143", +"1P c #434242", +"1Q c #434342", +"1R c #444344", +"1S c #454645", +"1T c #4E4E4E", +"1U c #4B4C4B", +"1V c #494B4A", +"1W c #484747", +"1X c #464545", +"1Y c #424243", +"1Z c #77774A", +"1& c #FFFF5E", +"2 c #FEFF5B", +"20 c #FEFF5C", +"21 c #E5E440", +"22 c #373737", +"23 c #3B3C3C", +"24 c #3C3D3E", +"25 c #3C3C3D", +"26 c #3C3C3C", +"27 c #3D3D3C", +"28 c #3D3D3B", +"29 c #3C3B3C", +"2a c #3A3B3B", +"2b c #3B3A3A", +"2c c #3C3C3B", +"2d c #3B3B3D", +"2e c #3D3B3B", +"2f c #3E3D3D", +"2g c #3D3E3D", +"2h c #3F3E3E", +"2i c #403F40", +"2j c #40403F", +"2k c #424343", +"2l c #4B4B4A", +"2m c #494947", +"2n c #474746", +"2o c #454444", +"2p c #434243", +"2q c #414042", +"2r c #3F3E3F", +"2s c #4A4A3F", +"2t c #97973A", +"2u c #9B9B30", +"2v c #94932A", +"2w c #858526", +"2x c #1B1B1B", +"2y c #303030", +"2z c #443D37", +"2A c #4A3F36", +"2B c #443E36", +"2C c #443E37", +"2D c #3E3A36", +"2E c #373837", +"2F c #363738", +"2G c #373738", +"2H c #373836", +"2I c #383737", +"2J c #383839", +"2K c #393839", +"2L c #393A39", +"2M c #3B3C3B", +"2N c #3E3E3D", +"2O c #414040", +"2P c #484749", +"2Q c #464847", +"2R c #464646", +"2S c #424143", +"2T c #3F3D3D", +"2U c #3D3C3D", +"2V c #3A3C3B", +"2W c #3B3B39", +"2X c #393939", +"2Y c #2C2B2B", +"2Z c #171718", +"2& c #181817", +"3 c #262627", +"30 c #B06529", +"31 c #FE902E", +"32 c #FE9D3B", +"33 c #FEB452", +"34 c #FEDE7B", +"35 c #FEEFA4", +"36 c #F9EC99", +"37 c #E59C4B", +"38 c #593B1E", +"39 c #323433", +"3a c #333333", +"3b c #343534", +"3c c #343434", +"3d c #353535", +"3e c #363636", +"3f c #373838", +"3g c #383739", +"3h c #393938", +"3i c #3A393A", +"3j c #3B3B3A", +"3k c #3B3B3B", +"3l c #3C3D3D", +"3m c #3E3D3E", +"3n c #434443", +"3o c #424142", +"3p c #3E403E", +"3q c #3D3D3D", +"3r c #393A3A", +"3s c #373937", +"3t c #353737", +"3u c #363535", +"3v c #292928", +"3w c #161717", +"3x c #171616", +"3y c #161615", +"3z c #191819", +"3A c #7E4E29", +"3B c #FF8A2D", +"3C c #FE983A", +"3D c #FFB252", +"3E c #FED679", +"3F c #FFED93", +"3G c #FDCB74", +"3H c #744213", +"3I c #443423", +"3J c #303032", +"3K c #313132", +"3L c #313332", +"3M c #333535", +"3N c #383838", +"3O c #3D3C3C", +"3P c #444444", +"3Q c #414343", +"3R c #424040", +"3S c #403F3E", +"3T c #383938", +"3U c #373736", +"3V c #353635", +"3W c #353333", +"3X c #323333", +"3Y c #282829", +"3Z c #151616", +"3& c #151615", +"4 c #141414", +"40 c #151414", +"41 c #5D3A20", +"42 c #FE842A", +"43 c #FE9134", +"44 c #FEA247", +"45 c #FEB75C", +"46 c #FFBD65", +"47 c #865421", +"48 c #41301E", +"49 c #2B2C2B", +"4a c #2C2C2C", +"4b c #2E2D2C", +"4c c #2F2D2D", +"4d c #2F2F2E", +"4e c #323332", +"4f c #353534", +"4g c #353735", +"4h c #383A39", +"4i c #3B393A", +"4j c #3F403E", +"4k c #3E3E3E", +"4l c #3A3A3A", +"4m c #38393A", +"4n c #343334", +"4o c #333232", +"4p c #313131", +"4q c #2C2D2D", +"4r c #151617", +"4s c #151513", +"4t c #141515", +"4u c #141313", +"4v c #382619", +"4w c #FF7D27", +"4x c #FF852D", +"4y c #FF8F36", +"4z c #FE943E", +"4A c #F39443", +"4B c #613D1A", +"4C c #292929", +"4D c #292A2A", +"4E c #2B2A2B", +"4F c #2C2D2C", +"4G c #2D2D2D", +"4H c #2E2E2F", +"4I c #2F3130", +"4J c #313233", +"4K c #323334", +"4L c #373637", +"4M c #3A3938", +"4N c #3E3E3F", +"4O c #3C3E3C", +"4P c #383837", +"4Q c #323232", +"4R c #313230", +"4S c #2F2F2F", +"4T c #2E2F2F", +"4U c #1A1A1A", +"4V c #151413", +"4W c #141514", +"4X c #131413", +"4Y c #FB7423", +"4Z c #FB7826", +"4& c #FD7C2A", +"5 c #F27C2D", +"50 c #FD8D3A", +"51 c #F29445", +"52 c #8C542C", +"53 c #292A29", +"54 c #2B2B2B", +"55 c #2B2C2C", +"56 c #2E2D2D", +"57 c #2F2E2D", +"58 c #2F302F", +"59 c #303131", +"5a c #333132", +"5b c #323233", +"5c c #353334", +"5d c #353536", +"5e c #393837", +"5f c #3A3A3B", +"5g c #3B3A3C", +"5h c #3A3A39", +"5i c #383937", +"5j c #353435", +"5k c #333433", +"5l c #313232", +"5m c #302F30", +"5n c #2F302E", +"5o c #1E1E1E", +"5p c #161514", +"5q c #141415", +"5r c #151515", +"5s c #CE6420", +"5t c #EA6E21", +"5u c #BF5F1B", +"5v c #874712", +"5w c #E97125", +"5x c #FF8937", +"5y c #FE903C", +"5z c #D07331", +"5A c #563B2A", +"5B c #2C2D2B", +"5C c #2D2E2E", +"5D c #302F2F", +"5E c #313130", +"5F c #343333", +"5G c #343535", +"5H c #3A3B3A", +"5I c #3A3839", +"5J c #353636", +"5K c #333432", +"5L c #242525", +"5M c #161616", +"5N c #161516", +"5O c #171615", +"5P c #A2531D", +"5Q c #AF5817", +"5R c #5A3610", +"5S c #281E17", +"5T c #954B19", +"5U c #EB7325", +"5V c #FD8030", +"5W c #FE8634", +"5X c #FA802E", +"5Y c #995529", +"5Z c #3A322C", +"5& c #302E2F", +"6 c #303031", +"60 c #333131", +"61 c #363737", +"62 c #3E3F3E", +"63 c #383738", +"64 c #363637", +"65 c #343435", +"66 c #171817", +"67 c #191919", +"68 c #6A3E1A", +"69 c #60380E", +"6a c #342618", +"6b c #181918", +"6c c #2B1F18", +"6d c #CA611B", +"6e c #EC7323", +"6f c #F7782A", +"6g c #FD7D2C", +"6h c #FD7E2D", +"6i c #E87128", +"6j c #61402C", +"6k c #333233", +"6l c #333334", +"6m c #353434", +"6n c #363635", +"6o c #424041", +"6p c #3A3939", +"6q c #383939", +"6r c #363836", +"6s c #363536", +"6t c #272726", +"6u c #242425", +"6v c #282828", +"6w c #272827", +"6x c #32302E", +"6y c #3F3429", +"6z c #272627", +"6A c #4B2C17", +"6B c #CB611B", +"6C c #E36C21", +"6D c #EE7425", +"6E c #F57627", +"6F c #FA7928", +"6G c #F97727", +"6H c #864A1C", +"6I c #383836", +"6J c #39383A", +"6K c #39393A", +"6L c #444445", +"6M c #424141", +"6N c #393738", +"6O c #2D2E2F", +"6P c #1C1B1C", +"6Q c #1A1A1B", +"6R c #7A4114", +"6S c #CC611A", +"6T c #DB691E", +"6U c #EB7223", +"6V c #A05218", +"6W c #4D3519", +"6X c #383637", +"6Y c #3A3B39", +"6Z c #3B3A3B", +"6& c #3D3D3E", +"7 c #474647", +"70 c #403E3F", +"71 c #3F3F3F", +"72 c #3E3C3E", +"73 c #3B3D3C", +"74 c #3A393B", +"75 c #1F1F1F", +"76 c #1B1C1C", +"77 c #1C1C1C", +"78 c #251E1B", +"79 c #A35216", +"7a c #C85E19", +"7b c #D3631C", +"7c c #AD5517", +"7d c #513717", +"7e c #3C3936", +"7f c #393B39", +"7g c #3D3C3B", +"7h c #3F4041", +"7i c #484947", +"7j c #474748", +"7k c #454745", +"7l c #3F403F", +"7m c #3E3F40", +"7n c #3E3F3F", +"7o c #3D3E3E", +"7p c #3D3B3D", +"7q c #282728", +"7r c #1D1D1D", +"7s c #1D1E1E", +"7t c #3B281A", +"7u c #B15615", +"7v c #AA5415", +"7w c #533410", +"7x c #39342E", +"7y c #424042", +"7z c #414243", +"7A c #4C4A4C", +"7B c #494A49", +"7C c #434545", +"7D c #404240", +"7E c #403E40", +"7F c #201F1F", +"7G c #1E1F1E", +"7H c #1E1E20", +"7I c #583518", +"7J c #643B0F", +"7K c #2B241B", +"7L c #212122", +"7M c #404140", +"7N c #4B4B4D", +"7O c #4A4B4A", +"7P c #212121", +"7Q c #212120", +"7R c #212021", +"7S c #212022", +"7T c #202020", +"7U c #202021", +"7V c #222222", +"7W c #303130", +"7X c #424443", +"7Y c #444543", +"7Z c #454344", +"7& c #464644", +"8 c #504F4F", +"80 c #4E4C4C", +"81 c #4C4C4D", +"82 c #4C4C4C", +"83 c #4B4A4A", +"84 c #494A4A", +"85 c #484949", +"86 c #484848", +"87 c #474948", +"88 c #474546", +"89 c #464547", +"8a c #222122", +"8b c #232122", +"8c c #222123", +"8d c #222322", +"8e c #222223", +"8f c #454543", +"8g c #464746", +"8h c #474847", +"8i c #49484A", +"8j c #504E4F", +"8k c #50504F", +"8l c #4B4A4B", +"8m c #494849", +"8n c #232324", +"8o c #252423", +"8p c #242323", +"8q c #242423", +"8r c #242324", +"8s c #252425", +"8t c #242523", +"8u c #242524", +"8v c #232425", +"8w c #252325", +"8x c #484A49", +"8y c #4B4A49", +"8z c #4A4B4B", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g g h i i j k l m n o p q r s r t u v w x y z A", +" B C D E F a G H I J K L M i k N O P r r Q R S T T U V W X Y Z &0 Z Z & T00010203", +"04 b05 f0607 L l o08090a0b0c0d0e0f0g0h0i0i0j0k0l0m0n0o0p0o0q0l0r0l0s0m0t0u0v0w0k0i", +"0x0y0z N p0A0B0C020D0E0F0G0H0I0p0J0K0L0L0M0N0O0P0Q0N0R0S0T0N0U0V0W0W0N0N0X0M0L0Y0J", +"080Z0b0& X1 100u0q0r1112131415161718191a1b1c1d1e1f1g1h1i1j1e1k1l1c1m1n1o1o1716160U", +" Z1p0h0k0n1q0M1r0T191s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1C1J1K1J1L1M1N1O1P1Q1R1j1S18", +"1T0m1U1V1r1W1o1X1k1Y1Z1&2 20212223242526272829232a2b2c292d262e272f2g2h2i2j1L1z2k1P", +"2l1r2m2n1n2o2p2q1I2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G w2H2I2J2K2K2L2L2a2M29272N2h1H2O", +"2P2Q2R1R2S1L1I2T2U2V2W2X2Y2Z2&2Z3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k3l2g3m", +"2R2o3n3o3p3q3q2b3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I2y2y3J3K3L3c3M3d3e3N2K2X3i3k3O", +"3P3Q3R3S2f2e3j3T3U3V3W3X3Y3Z3&4 404142434445464748494a4b4c4d2y3K4e3a4f4g223g4h4i23", +"1Y2O4j4k2M4l4m3f3V4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4E4F4G4H4I3K4J4K3c3u4L3h4M4l", +"3o2O4N4O232L4P3e4f4Q4R4S4T4U4V4W4X404Y4Z4&5 5051523v535455565758595a5b5c5d3e5e2X5f", +"1B1K4N3O5g5h5i3U5j5k5l5m5n5o5p4 5q5r5s5t5u5v5w5x5y5z5A2Y5B5C4H5D5E4Q5F3d5G222G2K3k", +"1z1G2r2f265H5I2E5J3d5K5b2y5L5M5N3Z5O5P5Q5R5S5T5U5V5W5X5Y5Z5&5D6 603a5c3c614P3T3i5H", +"1P1B1I622N233r2J6364655F4o2y4U662Z6768696a6b6c6d6e6f6g6h6i6j4Q6k6l6m6n613N3T3h3k3k", +"3P2k6o1H4k273q5f6p6q6r6s6n3c6t6u6v6w6x6y6z67676A6B6C6D6E6F6G6H4f3u646I2X6J6K2a262U", +"1X6L1h6M1C1J6227262a3i2K6N3N3U6s613e6s3d6O6P6Q6Q6R6S6T6C6U6V6W6X633N3r6Y6Z3k276&6&", +"177 2R3n1y3o1L70717226736Z3j6Z743r6p2X3h3e75767778797a7b7c7d7e7f5f2a297g272g2r2r7h", +"0U7i7j7k1e1R1h2p1B1E7l7m7n3q7o26262U2e7p237q7r7r7s7t7u7v7w7x7325246&4N7n1J1H1C7y7z", +"7A7B0P2m7 191c1c7C3P1Q1Y3o7D2i1C2i2i2r7E2h3N7F7G7H7G7I7J7K7L3c4N1C2O7M1B1N1M2k1h1k", +"0l0q7N7O2l0Q0N7j177 2R1b1l2o1i3n1y3n2k1y1h277P7Q7R7Q7S7T7R7U7V7W1H7X3P7Y7Z7&2R1817", +"0i8 1T8081820L0M8384858687172n2n88891X1S1c1c2Y8a8a7L7V8b8c8d8d8e4F8f1o8g7 7j8h0U8i", +"0& & X X8j8k1T0r0r0r820L8l0V0O0O0N8m0U0N0R8m4o8n8o8p8q8r8s8t8u8v8w2j858x0N8y8l838z"}; diff --git a/2009-x64/cps4.03/icons/cpscShrinkSelection.xpm b/2009-x64/cps4.03/icons/cpscShrinkSelection.xpm new file mode 100644 index 0000000..12eb1d2 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscShrinkSelection.xpm @@ -0,0 +1,1363 @@ +/* XPM */ +static char *SHRINK_xpm[]={ +"64 24 1336 2", +" c #737271", +" 0 c #727070", +" 1 c #6F7071", +" 2 c #6F6F6F", +" 3 c #6E6F6E", +" 4 c #6D6D6D", +" 5 c #6D6C6B", +" 6 c #6B6C6B", +" 7 c #5D5F6C", +" 8 c #61616A", +" 9 c #696869", +" a c #676768", +" b c #6B6C69", +" c c #656666", +" d c #646564", +" e c #646363", +" f c #636262", +" g c #626161", +" h c #616060", +" i c #5F6060", +" j c #5F5E5F", +" k c #5E5D5D", +" l c #5D5D5D", +" m c #5C5C5D", +" n c #5B5B5C", +" o c #5B5A5B", +" p c #5A5A5B", +" q c #5A595A", +" r c #585A59", +" s c #585857", +" t c #585758", +" u c #575658", +" v c #565756", +" w c #555555", +" x c #555756", +" y c #565656", +" z c #565554", +" A c #555655", +" B c #545554", +" C c #555454", +" D c #545454", +" E c #535357", +" F c #4D4D60", +" G c #4E4F5B", +" H c #535453", +" I c #535355", +" J c #525258", +" K c #515357", +" L c #545555", +" M c #535354", +" N c #545556", +" O c #555656", +" P c #545655", +" Q c #565556", +" R c #565555", +" S c #565757", +" T c #575757", +" U c #565858", +" V c #585856", +" W c #585959", +" X c #585858", +" Y c #595A5A", +" Z c #6D6E6D", +" & c #6C6D6C", +"0 c #6C6B6C", +"00 c #6B6B6A", +"01 c #6A6A69", +"02 c #686869", +"03 c #686768", +"04 c #595A67", +"05 c #282B56", +"06 c #292C53", +"07 c #595D6C", +"08 c #6C6E6B", +"09 c #FEFEA2", +"0a c #F9FA86", +"0b c #828354", +"0c c #5E5E5D", +"0d c #C2C3AC", +"0e c #D7D6C6", +"0f c #7F7E56", +"0g c #5B5A59", +"0h c #747473", +"0i c #979697", +"0j c #838174", +"0k c #4E4F57", +"0l c #525356", +"0m c #545354", +"0n c #545252", +"0o c #525252", +"0p c #515352", +"0q c #515152", +"0r c #515151", +"0s c #505051", +"0t c #51514F", +"0u c #50504F", +"0v c #505050", +"0w c #504F4F", +"0x c #4F504F", +"0y c #4A4C5C", +"0z c #2E3064", +"0A c #242847", +"0B c #4F5464", +"0C c #55596A", +"0D c #383B6B", +"0E c #34386D", +"0F c #3F4045", +"0G c #505151", +"0H c #4D4D59", +"0I c #393C65", +"0J c #3D3F61", +"0K c #525251", +"0L c #535252", +"0M c #515158", +"0N c #454764", +"0O c #474A61", +"0P c #545455", +"0Q c #555554", +"0R c #50525E", +"0S c #52525C", +"0T c #555559", +"0U c #69696A", +"0V c #676869", +"0W c #686868", +"0X c #666566", +"0Y c #656565", +"0Z c #656465", +"0& c #646463", +"1 c #4C4E58", +"10 c #202240", +"11 c #2C2A41", +"12 c #54515C", +"13 c #8E876C", +"14 c #FEDD77", +"15 c #E8CB62", +"16 c #6B6D61", +"17 c #565D70", +"18 c #FFF6BE", +"19 c #FEF2B7", +"1a c #8D8752", +"1b c #565E7C", +"1c c #C4C7CE", +"1d c #FEFFFE", +"1e c #E8DD76", +"1f c #5D6470", +"1g c #575A66", +"1h c #292D51", +"1i c #26284E", +"1j c #3B3C44", +"1k c #4E4F4F", +"1l c #4F4E4F", +"1m c #4E4E4D", +"1n c #4D4D4D", +"1o c #4C4C4C", +"1p c #4C4C4B", +"1q c #4D4B4C", +"1r c #4B4B4B", +"1s c #4B4A4B", +"1t c #4A4B4B", +"1u c #3D3F48", +"1v c #252849", +"1w c #1F1D28", +"1x c #6D6663", +"1y c #726E77", +"1z c #2B2D54", +"1A c #242849", +"1B c #383C4C", +"1C c #606683", +"1D c #494F74", +"1E c #2D2F5D", +"1F c #2B2F58", +"1G c #3D4561", +"1H c #4F5B7F", +"1I c #464D7A", +"1J c #2D3062", +"1K c #30325D", +"1L c #4B4F5B", +"1M c #545B6E", +"1N c #52576B", +"1O c #333569", +"1P c #2F3263", +"1Q c #4C4D58", +"1R c #666565", +"1S c #636363", +"1T c #616162", +"1U c #605F60", +"1V c #605F5E", +"1W c #5F5F5F", +"1X c #434A63", +"1Y c #554A3B", +"1Z c #7E6D51", +"1& c #7C6D50", +"2 c #544E3E", +"20 c #957A24", +"21 c #9A8859", +"22 c #8D7D60", +"23 c #9D7527", +"24 c #BE8828", +"25 c #A59250", +"26 c #867867", +"27 c #C9A161", +"28 c #D59F62", +"29 c #A88735", +"2a c #5C5958", +"2b c #626068", +"2c c #202241", +"2d c #212442", +"2e c #2E2E38", +"2f c #4A4A48", +"2g c #494A48", +"2h c #484948", +"2i c #484848", +"2j c #484949", +"2k c #474748", +"2l c #484747", +"2m c #464746", +"2n c #464546", +"2o c #474746", +"2p c #474646", +"2q c #484952", +"2r c #585C70", +"2s c #99876C", +"2t c #A48F70", +"2u c #A18C6B", +"2v c #67697F", +"2w c #584B43", +"2x c #6E5F46", +"2y c #8F7959", +"2z c #71604C", +"2A c #2B304E", +"2B c #352F2F", +"2C c #61543B", +"2D c #79674B", +"2E c #4C4344", +"2F c #212544", +"2G c #262535", +"2H c #3F3C3B", +"2I c #5A5558", +"2J c #4D4B5A", +"2K c #28294F", +"2L c #2D3059", +"2M c #505054", +"2N c #626262", +"2O c #605F5F", +"2P c #5D5E5D", +"2Q c #5D5C5D", +"2R c #949361", +"2S c #979B6D", +"2T c #786E5D", +"2U c #7B6A4C", +"2V c #847451", +"2W c #867857", +"2X c #545971", +"2Y c #7C6D52", +"2Z c #867659", +"2& c #8A795D", +"3 c #555B73", +"30 c #6F654B", +"31 c #968669", +"32 c #9B8B71", +"33 c #897D65", +"34 c #3D4047", +"35 c #6A5F32", +"36 c #A7987F", +"37 c #A8997E", +"38 c #3B3A41", +"39 c #1D2031", +"3a c #3C3C41", +"3b c #454545", +"3c c #454443", +"3d c #444543", +"3e c #434344", +"3f c #434443", +"3g c #444342", +"3h c #424242", +"3i c #414242", +"3j c #434242", +"3k c #424143", +"3l c #424243", +"3m c #42414F", +"3n c #383C67", +"3o c #5B5767", +"3p c #AD9979", +"3q c #A79371", +"3r c #827570", +"3s c #595D78", +"3t c #8E7A5C", +"3u c #927D5D", +"3v c #8B7B61", +"3w c #535866", +"3x c #857050", +"3y c #836F4E", +"3z c #816C4C", +"3A c #7C6A54", +"3B c #49526C", +"3C c #5A4D39", +"3D c #69593D", +"3E c #796443", +"3F c #705C42", +"3G c #515C7F", +"3H c #252536", +"3I c #4D4D4E", +"3J c #5F5D5E", +"3K c #5B5C5A", +"3L c #5A5B5B", +"3M c #64645B", +"3N c #F4F36B", +"3O c #FEFA6C", +"3P c #C9BA5B", +"3Q c #7D7870", +"3R c #D1CD73", +"3S c #FFFE85", +"3T c #E1C74E", +"3U c #827151", +"3V c #92835E", +"3W c #E0DB92", +"3X c #C5BD82", +"3Y c #8F7E5E", +"3Z c #908164", +"3& c #ABA07F", +"4 c #A5A395", +"40 c #837C6C", +"41 c #9A8B70", +"42 c #9F9175", +"43 c #A2957B", +"44 c #60677F", +"45 c #3F4043", +"46 c #414041", +"47 c #3F4040", +"48 c #3E3E3E", +"49 c #3E3F40", +"4a c #403E3F", +"4b c #3F3F3D", +"4c c #3D3E3D", +"4d c #3D3D3E", +"4e c #3D3F3E", +"4f c #3D3D3D", +"4g c #383A58", +"4h c #2E3160", +"4i c #23253E", +"4j c #71748F", +"4k c #7F7D93", +"4l c #2F3364", +"4m c #313364", +"4n c #5A5149", +"4o c #8E7E6A", +"4p c #AB9B71", +"4q c #FBFBAC", +"4r c #EBDD89", +"4s c #7D694B", +"4t c #836D4E", +"4u c #7A6851", +"4v c #5B576F", +"4w c #4B4C62", +"4x c #7A6449", +"4y c #796545", +"4z c #786544", +"4A c #746147", +"4B c #64718F", +"4C c #4D4C4E", +"4D c #5C5D5D", +"4E c #5B5B5B", +"4F c #5B5B5A", +"4G c #595859", +"4H c #656456", +"4I c #D7CA36", +"4J c #E6BA46", +"4K c #97853B", +"4L c #474344", +"4M c #E8C859", +"4N c #FEE167", +"4O c #9E8A46", +"4P c #4C515F", +"4Q c #ADB086", +"4R c #FFFE9D", +"4S c #EBDB7F", +"4T c #817D72", +"4U c #777576", +"4V c #EDE9B5", +"4W c #FFFECE", +"4X c #CFB25F", +"4Y c #928979", +"4Z c #9D8E75", +"4& c #FCFCE1", +"5 c #ECEECC", +"50 c #6D693B", +"51 c #3B3C3C", +"52 c #987747", +"53 c #4D493D", +"54 c #3A3B3B", +"55 c #3B3B3A", +"56 c #3A3A3B", +"57 c #3B3B3B", +"58 c #3A3A39", +"59 c #3A393A", +"5a c #383938", +"5b c #3A3A3A", +"5c c #3B3B39", +"5d c #2F2F36", +"5e c #262A3E", +"5f c #443C36", +"5g c #938368", +"5h c #7D7268", +"5i c #272944", +"5j c #1E1F36", +"5k c #393941", +"5l c #5D5D6F", +"5m c #AFAA8B", +"5n c #FEF09C", +"5o c #D4BD6F", +"5p c #3B3F55", +"5q c #606380", +"5r c #585976", +"5s c #2C2D5E", +"5t c #2E315F", +"5u c #4F463F", +"5v c #73624E", +"5w c #766348", +"5x c #3E3F69", +"5y c #2E3162", +"5z c #404462", +"5A c #4B4C4B", +"5B c #5B5A5A", +"5C c #595958", +"5D c #484F5E", +"5E c #524C31", +"5F c #806D40", +"5G c #726245", +"5H c #645432", +"5I c #6A5533", +"5J c #917B2C", +"5K c #726248", +"5L c #85693C", +"5M c #966D31", +"5N c #CE9924", +"5O c #736646", +"5P c #5B5444", +"5Q c #ECBA63", +"5R c #F2C170", +"5S c #8A763A", +"5T c #4A4C5B", +"5U c #727577", +"5V c #FEF4C2", +"5W c #FEF7A4", +"5X c #A1962B", +"5Y c #373637", +"5Z c #C69356", +"5& c #F2B541", +"6 c #705D3A", +"60 c #363737", +"61 c #353637", +"62 c #353635", +"63 c #353636", +"64 c #353535", +"65 c #363535", +"66 c #373636", +"67 c #474C60", +"68 c #786F66", +"69 c #B09B7C", +"6a c #AB9777", +"6b c #A59071", +"6c c #5F6685", +"6d c #574D3D", +"6e c #77684D", +"6f c #8F7C5B", +"6g c #A48C4D", +"6h c #7E6F4F", +"6i c #97751E", +"6j c #594D35", +"6k c #736247", +"6l c #4C4343", +"6m c #232544", +"6n c #24243C", +"6o c #37363B", +"6p c #515260", +"6q c #4D536F", +"6r c #313360", +"6s c #2F3363", +"6t c #3C3F51", +"6u c #494949", +"6v c #585958", +"6w c #686753", +"6x c #7C7C55", +"6y c #6E726D", +"6z c #6B5A3E", +"6A c #6E5D40", +"6B c #705F42", +"6C c #575763", +"6D c #524B40", +"6E c #6E5E43", +"6F c #736447", +"6G c #6C5E44", +"6H c #373C50", +"6I c #4B442A", +"6J c #796A50", +"6K c #7D6E52", +"6L c #4F493D", +"6M c #4C4425", +"6N c #6E6031", +"6O c #84765B", +"6P c #827253", +"6Q c #835D22", +"6R c #ECC820", +"6S c #66632F", +"6T c #333333", +"6U c #C2984C", +"6V c #F99028", +"6W c #FBA032", +"6X c #CB9639", +"6Y c #3F3B33", +"6Z c #323232", +"6& c #323231", +"7 c #323131", +"70 c #313130", +"71 c #37385A", +"72 c #343969", +"73 c #5C5453", +"74 c #AD997A", +"75 c #AF9C7F", +"76 c #CBBFAC", +"77 c #888A8E", +"78 c #968162", +"79 c #947F60", +"7a c #8F7A5A", +"7b c #8C7D68", +"7c c #4E5363", +"7d c #786549", +"7e c #816C4E", +"7f c #7F6A4C", +"7g c #7B674A", +"7h c #525C7A", +"7i c #463B2E", +"7j c #574932", +"7k c #746142", +"7l c #745F41", +"7m c #3C3D56", +"7n c #16182D", +"7o c #393A41", +"7p c #545654", +"7q c #525453", +"7r c #525351", +"7s c #C8C85B", +"7t c #FEFE63", +"7u c #F0DC65", +"7v c #82774F", +"7w c #80724C", +"7x c #F0F068", +"7y c #D5CD67", +"7z c #826F3F", +"7A c #6E5F44", +"7B c #A19759", +"7C c #A29C66", +"7D c #766F56", +"7E c #74644A", +"7F c #7D6D52", +"7G c #4C526B", +"7H c #574D3F", +"7I c #665B43", +"7J c #7E7057", +"7K c #7D6F56", +"7L c #414A65", +"7M c #313231", +"7N c #313031", +"7O c #2F2F2E", +"7P c #BC8445", +"7Q c #EC831F", +"7R c #E57E1C", +"7S c #F88D27", +"7T c #F29D33", +"7U c #634E30", +"7V c #2D2E2D", +"7W c #2C2D2D", +"7X c #2E2F2D", +"7Y c #2F2E2E", +"7Z c #2E2F57", +"7& c #2C2D58", +"8 c #23253B", +"80 c #777B95", +"81 c #A2A2AD", +"82 c #FFFEF8", +"83 c #F7E6BE", +"84 c #7B6644", +"85 c #927F64", +"86 c #B4A87F", +"87 c #F5F5B6", +"88 c #D4C788", +"89 c #826E4E", +"8a c #826D4E", +"8b c #887450", +"8c c #9B8E66", +"8d c #686E6A", +"8e c #7B6946", +"8f c #776344", +"8g c #786344", +"8h c #756243", +"8i c #747C92", +"8j c #393A3F", +"8k c #474747", +"8l c #545453", +"8m c #525151", +"8n c #515050", +"8o c #CDC444", +"8p c #F7D74B", +"8q c #C5A441", +"8r c #505255", +"8s c #AEAD6A", +"8t c #FEFB68", +"8u c #F8DB5C", +"8v c #747671", +"8w c #5E6374", +"8x c #EEED78", +"8y c #FEFE7E", +"8z c #DEC752", +"8A c #7C7463", +"8B c #7E755E", +"8C c #FEFF95", +"8D c #EBEC90", +"8E c #9C8C49", +"8F c #786A50", +"8G c #897D5B", +"8H c #BFBA80", +"8I c #8A8B71", +"8J c #35332D", +"8K c #2D2E2C", +"8L c #2C2B2C", +"8M c #BE8B46", +"8N c #E27C1C", +"8O c #F89A26", +"8P c #E8861D", +"8Q c #E27A1B", +"8R c #FB9328", +"8S c #BC8130", +"8T c #37332C", +"8U c #2A2B2B", +"8V c #2C2A2A", +"8W c #2D2C2D", +"8X c #2A2F46", +"8Y c #2E2C31", +"8Z c #403A2E", +"8& c #A38F72", +"9 c #B39B6C", +"90 c #DCB784", +"91 c #D09B50", +"92 c #424042", +"93 c #5D6178", +"94 c #C4C3A6", +"95 c #FEFDB8", +"96 c #DCC982", +"97 c #4E4E57", +"98 c #73707B", +"99 c #9B9375", +"9a c #FFFE94", +"9b c #FEFE8E", +"9c c #866D3C", +"9d c #776343", +"9e c #776242", +"9f c #58505E", +"9g c #484D75", +"9h c #3E3F54", +"9i c #464646", +"9j c #535353", +"9k c #535253", +"9l c #51524E", +"9m c #83702D", +"9n c #67593B", +"9o c #725C36", +"9p c #7D532B", +"9q c #B88921", +"9r c #786931", +"9s c #5B4C33", +"9t c #E0B03F", +"9u c #F2C351", +"9v c #8F7A29", +"9w c #494548", +"9x c #887F63", +"9y c #FEF787", +"9z c #FFE878", +"9A c #605C51", +"9B c #666B79", +"9C c #A4A584", +"9D c #FEFFA2", +"9E c #FFFDA0", +"9F c #7B7443", +"9G c #2A2A2C", +"9H c #2A2A2B", +"9I c #BB953E", +"9J c #FC9E29", +"9K c #FE9E29", +"9L c #EA8C1F", +"9M c #DF7B1A", +"9N c #F58823", +"9O c #EA902A", +"9P c #5B4633", +"9Q c #292928", +"9R c #2A2B2D", +"9S c #414E75", +"9T c #9B8A6E", +"9U c #A39273", +"9V c #A59272", +"9W c #9F8B6A", +"9X c #5A6171", +"9Y c #816E3C", +"9Z c #76664C", +"9& c #907B5B", +"a c #AD8E45", +"a0 c #977B4E", +"a1 c #AF7D21", +"a2 c #544A3A", +"a3 c #65594B", +"a4 c #AB9254", +"a5 c #FFDF71", +"a6 c #F3DE71", +"a7 c #2B2E3B", +"a8 c #4F5575", +"a9 c #5A6289", +"aa c #3D4371", +"ab c #272955", +"ac c #37395F", +"ad c #444546", +"ae c #545253", +"af c #50514F", +"ag c #504F4E", +"ah c #475070", +"ai c #554C3C", +"aj c #66553A", +"ak c #67583B", +"al c #5E513B", +"am c #383F54", +"an c #463E2C", +"ao c #67573E", +"ap c #66583D", +"aq c #423D33", +"ar c #453F2E", +"as c #625626", +"at c #6B5C41", +"au c #735F3C", +"av c #7F5624", +"aw c #B27F25", +"ax c #6D6131", +"ay c #554A37", +"az c #9F8246", +"aA c #E9BB5D", +"aB c #FFE346", +"aC c #625D38", +"aD c #2A2B2A", +"aE c #2A2A2A", +"aF c #B77F3E", +"aG c #F98E25", +"aH c #FD9B27", +"aI c #FF9F29", +"aJ c #FE9E28", +"aK c #F8AA4E", +"aL c #EAA251", +"aM c #995239", +"aN c #46312A", +"aO c #292929", +"aP c #333562", +"aQ c #363967", +"aR c #7D6E5B", +"aS c #A69374", +"aT c #998972", +"aU c #857E80", +"aV c #595762", +"aW c #978164", +"aX c #937F5F", +"aY c #8F7B5B", +"aZ c #877A64", +"a& c #4C4F59", +"b c #716144", +"b0 c #6C5D42", +"b1 c #806B4C", +"b2 c #8A7642", +"b3 c #706B6A", +"b4 c #99791F", +"b5 c #453C28", +"b6 c #6A5A3D", +"b7 c #6E5B40", +"b8 c #2B293E", +"b9 c #232646", +"ba c #36364E", +"bb c #454546", +"bc c #535352", +"bd c #515251", +"be c #818152", +"bf c #F8F957", +"bg c #EEE155", +"bh c #847038", +"bi c #66563A", +"bj c #A49B48", +"bk c #9A9556", +"bl c #635B49", +"bm c #66563B", +"bn c #67573C", +"bo c #50546B", +"bp c #514937", +"bq c #60543C", +"br c #6A5A3F", +"bs c #65583F", +"bt c #32384E", +"bu c #322E1F", +"bv c #62553D", +"bw c #6D5F45", +"bx c #63563C", +"by c #343434", +"bz c #8F7E23", +"bA c #3B372E", +"bB c #2C2C2C", +"bC c #2B2B2C", +"bD c #BA893A", +"bE c #FA9025", +"bF c #FFA129", +"bG c #FEA12E", +"bH c #FEBF71", +"bI c #E1934A", +"bJ c #864C1E", +"bK c #383027", +"bL c #2C2D36", +"bM c #2E325E", +"bN c #26294F", +"bO c #464A62", +"bP c #7F8194", +"bQ c #62627B", +"bR c #2A2C5B", +"bS c #323254", +"bT c #877459", +"bU c #917C5E", +"bV c #A69771", +"bW c #C4C2A1", +"bX c #918766", +"bY c #837051", +"bZ c #816D4E", +"b& c #7F6B4C", +"c c #7C6C54", +"c0 c #555E77", +"c1 c #6F5E41", +"c2 c #6F5C3F", +"c3 c #766143", +"c4 c #6A6461", +"c5 c #2C334E", +"c6 c #36363C", +"c7 c #444544", +"c8 c #464645", +"c9 c #505251", +"ca c #CDCB4F", +"cb c #FFFF57", +"cc c #EAD25F", +"cd c #767B7A", +"ce c #6D727A", +"cf c #F5F55B", +"cg c #FFFC5D", +"ch c #CBB14B", +"ci c #71654D", +"cj c #8E844D", +"ck c #EFEF64", +"cl c #D6D361", +"cm c #786A39", +"cn c #67573D", +"co c #807247", +"cp c #918752", +"cq c #656B65", +"cr c #62543C", +"cs c #695B41", +"ct c #6B5D42", +"cu c #645A46", +"cv c #313856", +"cw c #313030", +"cx c #302F30", +"cy c #2F2F2F", +"cz c #B57E37", +"cA c #FA8D24", +"cB c #FEB14A", +"cC c #FCBB6D", +"cD c #D37B18", +"cE c #5D4124", +"cF c #2D2D2E", +"cG c #2C2D2C", +"cH c #2D2D2D", +"cI c #1E2337", +"cJ c #1F1B1D", +"cK c #5F5440", +"cL c #3F3D51", +"cM c #2A2E57", +"cN c #444A63", +"cO c #626B91", +"cP c #CECEAE", +"cQ c #FEFEBA", +"cR c #EBD280", +"cS c #6A5E4D", +"cT c #716353", +"cU c #434468", +"cV c #42476B", +"cW c #6D5D47", +"cX c #786545", +"cY c #766243", +"cZ c #756143", +"c& c #7C7E82", +"d c #373A44", +"d0 c #444445", +"d1 c #474647", +"d2 c #6C6546", +"d3 c #7F6C3A", +"d4 c #B89721", +"d5 c #756432", +"d6 c #816B37", +"d7 c #E8C33F", +"d8 c #F3CC49", +"d9 c #8A7633", +"da c #C3C769", +"db c #FFFF65", +"dc c #F1D854", +"dd c #6B6D65", +"de c #686A75", +"df c #CECD73", +"dg c #FFFE73", +"dh c #F8DB5A", +"di c #75663F", +"dj c #685A41", +"dk c #AFA75F", +"dl c #DEDD7A", +"dm c #ABA757", +"dn c #313232", +"do c #B47037", +"dp c #F7B44E", +"dq c #EFA43F", +"dr c #A36417", +"ds c #3D362E", +"dt c #2F3031", +"du c #302F2F", +"dv c #464E6A", +"dw c #847258", +"dx c #978466", +"dy c #9C8969", +"dz c #7C705F", +"dA c #383A4C", +"dB c #352D24", +"dC c #6F6247", +"dD c #887557", +"dE c #D5AE5E", +"dF c #E6C27C", +"dG c #B18540", +"dH c #434658", +"dI c #4E5575", +"dJ c #4D547C", +"dK c #292C5B", +"dL c #313363", +"dM c #413F3E", +"dN c #746759", +"dO c #76644A", +"dP c #544F5B", +"dQ c #393B6B", +"dR c #373B61", +"dS c #424344", +"dT c #464647", +"dU c #4E4F55", +"dV c #363B48", +"dW c #5A4C35", +"dX c #65553A", +"dY c #625239", +"dZ c #343430", +"d& c #52482D", +"e c #7A682F", +"e0 c #625339", +"e1 c #7F6433", +"e2 c #9B7736", +"e3 c #C89424", +"e4 c #5A4F29", +"e5 c #49402E", +"e6 c #E7CF53", +"e7 c #FCE35F", +"e8 c #D1A63D", +"e9 c #383C4D", +"ea c #515971", +"eb c #E1E67E", +"ec c #FEFE7C", +"ed c #FEEC40", +"ee c #625D32", +"ef c #343534", +"eg c #343535", +"eh c #B88840", +"ei c #D48117", +"ej c #714D20", +"ek c #353333", +"el c #343433", +"em c #323434", +"en c #333332", +"eo c #353541", +"ep c #383C64", +"eq c #4E4D63", +"er c #9A8768", +"es c #9C8869", +"et c #998667", +"eu c #8C8587", +"ev c #655B51", +"ew c #8C7A5C", +"ex c #8D785A", +"ey c #8B7D64", +"ez c #4C4A48", +"eA c #615223", +"eB c #574B35", +"eC c #7E6A4B", +"eD c #4C423C", +"eE c #212341", +"eF c #23243F", +"eG c #2F2D2E", +"eH c #474858", +"eI c #4C5577", +"eJ c #3C4276", +"eK c #282B58", +"eL c #464545", +"eM c #525355", +"eN c #494A56", +"eO c #434B6C", +"eP c #5B5040", +"eQ c #615238", +"eR c #38405B", +"eS c #4D432F", +"eT c #64553A", +"eU c #64553B", +"eV c #534835", +"eW c #2E3345", +"eX c #393323", +"eY c #63553A", +"eZ c #66573C", +"e& c #5D4D2D", +"f c #413830", +"f0 c #765C18", +"f1 c #564B35", +"f2 c #5C4F39", +"f3 c #CC9D36", +"f4 c #D4B247", +"f5 c #F3D92B", +"f6 c #454438", +"f7 c #393839", +"f8 c #383738", +"f9 c #8A682B", +"fa c #4B3E31", +"fb c #373736", +"fc c #363636", +"fd c #36395A", +"fe c #292A58", +"ff c #1D203C", +"fg c #797370", +"fh c #978974", +"fi c #58546A", +"fj c #434573", +"fk c #554E51", +"fl c #8E7B5B", +"fm c #8C785B", +"fn c #8B7758", +"fo c #7E7C83", +"fp c #5D5245", +"fq c #7E6B4D", +"fr c #786649", +"fs c #7F6B4E", +"ft c #796649", +"fu c #495782", +"fv c #3C3427", +"fw c #3E3727", +"fx c #67563C", +"fy c #736042", +"fz c #302B32", +"fA c #1F2240", +"fB c #2D2F48", +"fC c #484849", +"fD c #484955", +"fE c #212448", +"fF c #272B50", +"fG c #453E44", +"fH c #65553B", +"fI c #B1AA46", +"fJ c #C2BE4F", +"fK c #9A8E52", +"fL c #625439", +"fM c #645539", +"fN c #6F5F3B", +"fO c #57534F", +"fP c #494746", +"fQ c #5B4D37", +"fR c #64563B", +"fS c #65553C", +"fT c #514C4A", +"fU c #353536", +"fV c #413A29", +"fW c #64553D", +"fX c #65573E", +"fY c #473F2F", +"fZ c #675F34", +"f& c #3C3B3D", +"g c #3C3B3B", +"g0 c #3C3A3C", +"g1 c #3B3A3A", +"g2 c #3A3939", +"g3 c #39393A", +"g4 c #2A2C35", +"g5 c #1B1C34", +"g6 c #141624", +"g7 c #333843", +"g8 c #404B6E", +"g9 c #363A6D", +"ga c #2B2F5F", +"gb c #23253A", +"gc c #79757A", +"gd c #8B7C69", +"ge c #4C4969", +"gf c #3C406F", +"gg c #544D57", +"gh c #826F4F", +"gi c #816E50", +"gj c #806C4E", +"gk c #7D705B", +"gl c #4F5873", +"gm c #776447", +"gn c #705E42", +"go c #766345", +"gp c #736554", +"gq c #384360", +"gr c #3C3D41", +"gs c #474849", +"gt c #4A4A4B", +"gu c #393B52", +"gv c #28284E", +"gw c #212242", +"gx c #3B466A", +"gy c #596374", +"gz c #F7F857", +"gA c #FEFF53", +"gB c #DDC25F", +"gC c #888164", +"gD c #787560", +"gE c #F4F357", +"gF c #F3F35A", +"gG c #B59435", +"gH c #67573A", +"gI c #998F48", +"gJ c #717667", +"gK c #63563D", +"gL c #5F533B", +"gM c #65583D", +"gN c #504C51", +"gO c #363B43", +"gP c #3F3F3F", +"gQ c #3E3F3F", +"gR c #3F3F3E", +"gS c #3E3E3D", +"gT c #3E3D3E", +"gU c #3D3E3E", +"gV c #3E3C3D", +"gW c #3E3D3C", +"gX c #3C3D3C", +"gY c #3D3C3C", +"gZ c #363538", +"g& c #1F212C", +"h c #1C1D35", +"h0 c #1E1F27", +"h1 c #353945", +"h2 c #394360", +"h3 c #35396D", +"h4 c #292C59", +"h5 c #252842", +"h6 c #69656D", +"h7 c #7F746F", +"h8 c #695E5E", +"h9 c #393B68", +"ha c #3B3E65", +"hb c #695947", +"hc c #7A6647", +"hd c #786547", +"he c #766344", +"hf c #7C7D83", +"hg c #393D4F", +"hh c #49484A", +"hi c #4A4A49", +"hj c #4C4A4C", +"hk c #3D3D41", +"hl c #32333E", +"hm c #474850", +"hn c #686751", +"ho c #D3C63D", +"hp c #FFEE34", +"hq c #E4D52B", +"hr c #424544", +"hs c #7D8155", +"ht c #FFFF56", +"hu c #FFF355", +"hv c #948057", +"hw c #606772", +"hx c #84866F", +"hy c #FEFE5F", +"hz c #C19E3A", +"hA c #64563C", +"hB c #65573C", +"hC c #3D3A4B", +"hD c #353757", +"hE c #3A3B43", +"hF c #424342", +"hG c #424241", +"hH c #404142", +"hI c #414141", +"hJ c #404041", +"hK c #404140", +"hL c #404141", +"hM c #414040", +"hN c #403F40", +"hO c #3F3F40", +"hP c #404040", +"hQ c #3E3D3F", +"hR c #424141", +"hS c #424142", +"hT c #1F202E", +"hU c #1A1C34", +"hV c #20202B", +"hW c #373C46", +"hX c #3A4462", +"hY c #3C4676", +"hZ c #282A57", +"h& c #2E305D", +"i c #3C3A3D", +"i0 c #716A65", +"i1 c #796752", +"i2 c #5B5157", +"i3 c #434A76", +"i4 c #373A5D", +"i5 c #494A4E", +"i6 c #4C4B4C", +"i7 c #4C4C4D", +"i8 c #5A5A59", +"i9 c #585757", +"ia c #555455", +"ib c #635F4E", +"ic c #726C48", +"id c #525152", +"ie c #61604F", +"if c #C8B233", +"ig c #EFD125", +"ih c #C3B434", +"ii c #484749", +"ij c #929048", +"ik c #FEFA54", +"il c #FEF353", +"im c #766C4F", +"in c #4D5974", +"io c #515A71", +"ip c #1E2143", +"iq c #1F2245", +"ir c #1B1E31", +"is c #444545", +"it c #464444", +"iu c #454444", +"iv c #444444", +"iw c #424244", +"ix c #424343", +"iy c #434442", +"iz c #434342", +"iA c #444344", +"iB c #444443", +"iC c #434544", +"iD c #404243", +"iE c #403F41", +"iF c #2B2C39", +"iG c #181A32", +"iH c #1E1F3B", +"iI c #3B435F", +"iJ c #3C4972", +"iK c #3E4472", +"iL c #282A55", +"iM c #2F3261", +"iN c #484A4D", +"iO c #4D4E4F", +"iP c #4E4E4F", +"iQ c #5A5C5A", +"iR c #595B5A", +"iS c #5A5959", +"iT c #575858", +"iU c #575656", +"iV c #515253", +"iW c #504F51", +"iX c #4E504F", +"iY c #54534D", +"iZ c #9C8633", +"i& c #BCA029", +"j c #8F843D", +"j0 c #42414A", +"j1 c #1C1D38", +"j2 c #212543", +"j3 c #222432", +"j4 c #49494A", +"j5 c #494848", +"j6 c #484847", +"j7 c #474648", +"j8 c #474846", +"j9 c #464747", +"ja c #474546", +"jb c #454645", +"jc c #464547", +"jd c #484846", +"je c #484748", +"jf c #474847", +"jg c #4A4C4B", +"jh c #4C4D4B", +"ji c #28283F", +"jj c #222442", +"jk c #303258", +"jl c #4D4E4E", +"jm c #504F50", +"jn c #5C5D5B", +"jo c #595B5B", +"jp c #5A5958", +"jq c #595858", +"jr c #575756", +"js c #515252", +"jt c #4E4D4D", +"ju c #4D4E4D", +"jv c #404042", +"jw c #353638", +"jx c #3E3F43", +"jy c #4C4D4D", +"jz c #4C4B4A", +"jA c #4B4A4A", +"jB c #494A49", +"jC c #4A4A4A", +"jD c #4A494A", +"jE c #4A4849", +"jF c #48494A", +"jG c #4A4949", +"jH c #4A4848", +"jI c #494948", +"jJ c #494849", +"jK c #484A48", +"jL c #494A4A", +"jM c #494B49", +"jN c #4B4B4C", +"jO c #4E4D4E", +"jP c #49484B", +"jQ c #3D3D42", +"jR c #36373E", +"jS c #505052", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L H M N O P Q R S T U V W X Y Y", +" Z &0 000102030405060708090a0b0c0d0e0f0g0h0i0j S y0k0l B0m H0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P B0Q0R0S0T", +"0U0V0W0X0Y0Z0&1 101112131415161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1n1o1o1p1q1r1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q", +"1R0Z0&1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j2k2l2k2m2n2o2p2o2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M", +"2N2N h2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3i3j3k3l3m3n3o3p3q3r3s3t3u2y3v3w3x3y3z3A3B3C3D3E3F3G3H3I", +"2O3J2P3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 40414243444546474849484a484b4c4d4e4f484g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B1s4C", +"4D4E4F4G T4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 50515253545556575859595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A", +"5B5C s y B0m5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 605Y616262636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u", +"6v v w D6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 706Z6T7172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o6u", +" v7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E6e7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7O7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k2l", +" L8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i2o", +"9j9k0r0x9l4c9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I7R9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacad8k", +"ae8mafagahaiajakalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babb2m", +"bcbdbebfbgbhbibjbkblbmbnbnbobpbqbrbsbtbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbK8UbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb&c c0c1c29ec3c4c5c6c7c8", +"9jc9cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcy7YczcAcBcCcDcEcF8WcGcHcIcJcK3vcLcM5jcNcOcPcQcRcS8acTcUcVcWcXcYcZc&d d0c8d1", +"9j0Gd2d3d4d5d6d7d8d91udadbdcdddedfdgdhdidjdkdldm6Z6&6&dndodpdqdrdsdtdtcxducxdvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdS2pdT", +" H0rdUdVdWdXdYdZd&e e0e1e2e3e4e5e6e7e8e9eaebecedee62efegeheiejekbyelemeneoepeqereseteuevewewexeyezeAeBeCeDeEeFeGeHeIeJeKaPeL8k8k", +"eMeNeOePbibieQeReSeTeUeVeWeXeYeZe&f f0f1f2f3f4f5f6f7f85af9fa5Yfb5Yfcfc66fdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfB9i2ifC", +"fDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfY5cfZf&g g05459595bg1g1g2g358g4g5g6g7g8g9gagbgcgdgegfggghgigjgkglgmgngngogpgqgrgsfCgt", +"gugvgwgxgygzgAgBgCgDgEgFgGgHeUgIgJgKgLgMaogNgOgPgQgRgQgSgTgUgVgW4fgTgX4fgY59gZgY4cg&h h0h1h2h3h4h5h6h7h8h9hahbhchdhehfhghhhi1rhj", +" thkhlhmhnhohphqhrhshthuhvhwhxhydbhzhAhBhChDhE3jhFhG3ihHhIhJhKhLhM47gPhNhOhO474747hPhQgUhRhShThUhVhWhXhYhZh&i i0i1i2i3i4i5i61oi7", +"i85Ci9 S Qiaibicidieifigihiiijikiliminioipiqiris9iitiuiuis3eivivhFiwhFixiyizixix3liAiB3fiviCiBiDiE9i8kiFiGiHd iIiJiKiLiMiN3IiOiP", +"iQiRiS5CiTiU w0P9j9kiV0KiWiXiYiZi&j i7j0j1j2j3j4j52kj6j72kj8j9dT2oja9i2nbbjbbbjcbbdTc89i2od1jdjejfj5fC6uj9hkjg1ojhjijjjkjljmjm0s", +" kjn4Ejojpjqi9iUjr L D8l0Ljs0q0r0x1kjtjujvjwjxjyjz1rjA1t1sjB6ujCjDjEjFjGjHjIjJ6u2hjK2jjE2fjLjMjDjAi6jzjN5Ajy1njtjOjPjQjR8njSjs0p"}; diff --git a/2009-x64/cps4.03/icons/cpscSnapVertices.xpm b/2009-x64/cps4.03/icons/cpscSnapVertices.xpm new file mode 100644 index 0000000..3272b5e --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSnapVertices.xpm @@ -0,0 +1,1220 @@ +/* XPM */ +static char *CPSCSNAP_xpm[]={ +"64 24 1193 2", +" c #3F4041", +" 0 c #474646", +" 1 c #817A80", +" 2 c #404040", +" 3 c #3E403E", +" 4 c #414140", +" 5 c #403F41", +" 6 c #787377", +" 7 c #3D3E3D", +" 8 c #434143", +" 9 c #484849", +" a c #3C3C3C", +" b c #6E676B", +" c c #3D3C3C", +" d c #3C3D3C", +" e c #373838", +" f c #3F3E3F", +" g c #686365", +" h c #2F2E2F", +" i c #3A3C3A", +" j c #434444", +" k c #4C4A4A", +" l c #575255", +" m c #2E3030", +" n c #3B3B3C", +" o c #353535", +" p c #615E60", +" q c #494647", +" r c #2E2F2E", +" s c #343434", +" t c #646163", +" u c #3E3C3B", +" v c #2A2B2B", +" w c #3B3A3A", +" x c #393739", +" y c #706B6E", +" z c #373636", +" A c #2F2F2E", +" B c #313333", +" C c #383839", +" D c #7E777B", +" E c #383939", +" F c #323234", +" G c #2C2C2D", +" H c #383738", +" I c #858183", +" J c #393839", +" K c #3A393B", +" L c #282928", +" M c #848183", +" N c #3D3D3D", +" O c #3F3F3F", +" P c #29292A", +" Q c #3C3C3B", +" R c #838083", +" S c #393A3A", +" T c #3B3B3B", +" U c #2E2E2E", +" V c #3C3B3A", +" W c #8B8688", +" X c #434243", +" Y c #3D3D3F", +" Z c #837D7F", +" & c #868083", +"0 c #938A90", +"00 c #868282", +"01 c #858082", +"02 c #908984", +"03 c #968E8A", +"04 c #948B8E", +"05 c #8C8481", +"06 c #8C8684", +"07 c #8A8183", +"08 c #8E8988", +"09 c #90898D", +"0a c #827F7F", +"0b c #8B8685", +"0c c #918989", +"0d c #8F8686", +"0e c #958B8E", +"0f c #7E7979", +"0g c #8E8989", +"0h c #8A8685", +"0i c #918B8C", +"0j c #918A8B", +"0k c #7E7778", +"0l c #878385", +"0m c #8E8686", +"0n c #938C8E", +"0o c #847F7F", +"0p c #7E7879", +"0q c #888385", +"0r c #928C8F", +"0s c #847A7B", +"0t c #827C7C", +"0u c #817B7C", +"0v c #827B7C", +"0w c #8E868A", +"0x c #7A7577", +"0y c #726C6E", +"0z c #716A6E", +"0A c #766F72", +"0B c #8C8182", +"0C c #7C7273", +"0D c #716B6D", +"0E c #696366", +"0F c #756E72", +"0G c #8A8286", +"0H c #726C70", +"0I c #746D70", +"0J c #676163", +"0K c #7A6F6F", +"0L c #867E80", +"0M c #6F696A", +"0N c #716A6D", +"0O c #615A5C", +"0P c #6D6566", +"0Q c #8C8282", +"0R c #706768", +"0S c #6B6768", +"0T c #5F595B", +"0U c #635E60", +"0V c #867E82", +"0W c #696465", +"0X c #6C6666", +"0Y c #6A6A6A", +"0Z c #686968", +"0& c #888289", +"1 c #646363", +"10 c #666565", +"11 c #646464", +"12 c #626364", +"13 c #7C767C", +"14 c #545454", +"15 c #616061", +"16 c #5E5F5F", +"17 c #5D5D5D", +"18 c #6F6A6D", +"19 c #4B4B4C", +"1a c #595B5B", +"1b c #595859", +"1c c #5A5757", +"1d c #434343", +"1e c #565655", +"1f c #535454", +"1g c #5F5C5D", +"1h c #656265", +"1i c #353534", +"1j c #515050", +"1k c #505150", +"1l c #686666", +"1m c #585556", +"1n c #373737", +"1o c #4C4D4C", +"1p c #4E4E4E", +"1q c #6E696C", +"1r c #4D4B4C", +"1s c #393A39", +"1t c #444545", +"1u c #4C4B4C", +"1v c #4B4A4B", +"1w c #7E787B", +"1x c #4A4B4A", +"1y c #454344", +"1z c #303130", +"1A c #4C4C4B", +"1B c #848083", +"1C c #4D4B4B", +"1D c #474848", +"1E c #8A8589", +"1F c #4D4E4F", +"1G c #494A4A", +"1H c #2E2C2E", +"1I c #464645", +"1J c #8A878A", +"1K c #515051", +"1L c #515150", +"1M c #3D3D3C", +"1N c #898488", +"1O c #535452", +"1P c #545353", +"1Q c #656567", +"1R c #646565", +"1S c #97907F", +"1T c #ACAB5B", +"1U c #ACAA5C", +"1V c #9B9958", +"1W c #6E6C64", +"1X c #7A7579", +"1Y c #535352", +"1Z c #5C5C5C", +"1& c #5A5B5A", +"2 c #59595A", +"20 c #6F686C", +"21 c #494949", +"22 c #555556", +"23 c #545455", +"24 c #555452", +"25 c #6E686A", +"26 c #51504F", +"27 c #4F4E4F", +"28 c #5B5858", +"29 c #636162", +"2a c #323132", +"2b c #4C4C4C", +"2c c #535052", +"2d c #2F2D2E", +"2e c #48494A", +"2f c #6B6869", +"2g c #494847", +"2h c #2A2A2B", +"2i c #3E3D3E", +"2j c #464647", +"2k c #737073", +"2l c #383938", +"2m c #383838", +"2n c #464747", +"2o c #313031", +"2p c #474748", +"2q c #868184", +"2r c #464646", +"2s c #2D2C2D", +"2t c #888486", +"2u c #4A4B4B", +"2v c #4A4A49", +"2w c #2D2D2C", +"2x c #414141", +"2y c #898587", +"2z c #4E4D4E", +"2A c #4D4D4C", +"2B c #333132", +"2C c #3B393B", +"2D c #8B868A", +"2E c #515252", +"2F c #515151", +"2G c #5C5C5B", +"2H c #5C5C5E", +"2I c #A8A074", +"2J c #FFFB53", +"2K c #FFFC54", +"2L c #FFF449", +"2M c #B99F65", +"2N c #797277", +"2O c #525251", +"2P c #4C4D4D", +"2Q c #4F514F", +"2R c #706869", +"2S c #3B3A39", +"2T c #494748", +"2U c #494744", +"2V c #676366", +"2W c #323130", +"2X c #454444", +"2Y c #545153", +"2Z c #5B5859", +"2& c #2B2B2A", +"3 c #3F3F40", +"30 c #403F3F", +"31 c #4B4748", +"32 c #3F3F3E", +"33 c #3D3D3E", +"34 c #645F62", +"35 c #282828", +"36 c #373635", +"37 c #3B3A3B", +"38 c #6C666A", +"39 c #363635", +"3a c #2D2D2D", +"3b c #3C3B3B", +"3c c #7A7478", +"3d c #393938", +"3e c #353536", +"3f c #292829", +"3g c #3A3939", +"3h c #868188", +"3i c #3E3E3F", +"3j c #3A3839", +"3k c #262525", +"3l c #807E80", +"3m c #434344", +"3n c #2C2B2B", +"3o c #8B888B", +"3p c #333232", +"3q c #868286", +"3r c #474747", +"3s c #494747", +"3t c #313032", +"3u c #9E9568", +"3v c #FEF851", +"3w c #FFF852", +"3x c #FEF048", +"3y c #AB8F55", +"3z c #716A6A", +"3A c #282728", +"3B c #2D2C2C", +"3C c #2B2B2B", +"3D c #6A6465", +"3E c #2A2829", +"3F c #272628", +"3G c #272727", +"3H c #2D2B29", +"3I c #5B5556", +"3J c #222223", +"3K c #252526", +"3L c #232425", +"3M c #3B3838", +"3N c #444343", +"3O c #1D1E1D", +"3P c #242523", +"3Q c #474445", +"3R c #373535", +"3S c #1D1D1E", +"3T c #242524", +"3U c #242424", +"3V c #524E50", +"3W c #282727", +"3X c #1D1D1D", +"3Y c #212121", +"3Z c #605B5F", +"3& c #252424", +"4 c #212120", +"40 c #202021", +"41 c #242425", +"42 c #6F676B", +"43 c #232322", +"44 c #262526", +"45 c #756F73", +"46 c #262827", +"47 c #282A29", +"48 c #202120", +"49 c #28292A", +"4a c #7A757A", +"4b c #282A2A", +"4c c #242323", +"4d c #272827", +"4e c #7D797D", +"4f c #2B2C2C", +"4g c #242525", +"4h c #2B2C2B", +"4i c #7D787C", +"4j c #313232", +"4k c #323131", +"4l c #837D80", +"4m c #847E82", +"4n c #968D80", +"4o c #AB905C", +"4p c #AC8549", +"4q c #AA953D", +"4r c #D8C188", +"4s c #9B8E88", +"4t c #7E7A79", +"4u c #878382", +"4v c #837F7F", +"4w c #7F7B7B", +"4x c #847D80", +"4y c #7C7779", +"4z c #7D7878", +"4A c #807A7D", +"4B c #8C8482", +"4C c #8E8384", +"4D c #787474", +"4E c #7F7C7D", +"4F c #7B7878", +"4G c #797676", +"4H c #747173", +"4I c #817D7C", +"4J c #807B7B", +"4K c #877F7F", +"4L c #827C7B", +"4M c #767070", +"4N c #7B7677", +"4O c #7A7476", +"4P c #847D7C", +"4Q c #767171", +"4R c #C7A648", +"4S c #ECC043", +"4T c #E6BC42", +"4U c #827778", +"4V c #716A6C", +"4W c #6B6667", +"4X c #6A6466", +"4Y c #716B6C", +"4Z c #786D6F", +"4& c #6E6463", +"5 c #6D6363", +"50 c #615B5D", +"51 c #676263", +"52 c #7F767B", +"53 c #6A6365", +"54 c #696163", +"55 c #5D5658", +"56 c #676262", +"57 c #80797C", +"58 c #6B6563", +"59 c #726864", +"5a c #5A5355", +"5b c #666161", +"5c c #82797B", +"5d c #695F5F", +"5e c #6C605D", +"5f c #605855", +"5g c #60585B", +"5h c #817A7C", +"5i c #645E5E", +"5j c #676160", +"5k c #59595B", +"5l c #585959", +"5m c #7C777B", +"5n c #555555", +"5o c #545453", +"5p c #A4954A", +"5q c #AC9D65", +"5r c #474647", +"5s c #4D4D4E", +"5t c #4B4B4B", +"5u c #696267", +"5v c #454545", +"5w c #444443", +"5x c #655F62", +"5y c #40403F", +"5z c #3E3D3D", +"5A c #4A4748", +"5B c #595455", +"5C c #222323", +"5D c #514F4E", +"5E c #4B4747", +"5F c #635C5A", +"5G c #3E3A38", +"5H c #D9B03D", +"5I c #FFCC42", +"5J c #F9C43E", +"5K c #5B5554", +"5L c #343433", +"5M c #2C2C2C", +"5N c #2A2A29", +"5O c #373736", +"5P c #766E72", +"5Q c #383837", +"5R c #262727", +"5S c #39393A", +"5T c #7B747A", +"5U c #363736", +"5V c #252525", +"5W c #7E797C", +"5X c #3F403F", +"5Y c #3C3B3C", +"5Z c #817D80", +"5& c #464445", +"6 c #363636", +"60 c #817B7F", +"61 c #494A48", +"62 c #575757", +"63 c #575657", +"64 c #7B7478", +"65 c #515052", +"66 c #494948", +"67 c #494945", +"68 c #B39742", +"69 c #8A8251", +"6a c #4A4949", +"6b c #484947", +"6c c #686363", +"6d c #424142", +"6e c #424141", +"6f c #302E2E", +"6g c #3B3C3B", +"6h c #484445", +"6i c #545151", +"6j c #343535", +"6k c #4E4B4C", +"6l c #4A4442", +"6m c #333333", +"6n c #323232", +"6o c #666152", +"6p c #B3A661", +"6q c #EDB941", +"6r c #F8BC39", +"6s c #EAAD34", +"6t c #514B24", +"6u c #232323", +"6v c #726B6E", +"6w c #353435", +"6x c #2B2B2C", +"6y c #242222", +"6z c #363637", +"6A c #7D777C", +"6B c #3A3A39", +"6C c #857E81", +"6D c #7A7851", +"6E c #BDA35A", +"6F c #B59335", +"6G c #BB993D", +"6H c #8A8383", +"6I c #434342", +"6J c #414341", +"6K c #8B848A", +"6L c #494848", +"6M c #535353", +"6N c #726D70", +"6O c #4A4849", +"6P c #272627", +"6Q c #232222", +"6R c #202122", +"6S c #756964", +"6T c #C3A349", +"6U c #7F784F", +"6V c #424241", +"6W c #333131", +"6X c #5F595A", +"6Y c #252625", +"6Z c #363434", +"6& c #403D3E", +"7 c #4D494B", +"70 c #222121", +"71 c #4A4646", +"72 c #44403F", +"73 c #7B7248", +"74 c #B4993D", +"75 c #654E21", +"76 c #1F2020", +"77 c #282927", +"78 c #35302B", +"79 c #7D6623", +"7a c #6E651F", +"7b c #252524", +"7c c #6F6A6C", +"7d c #2E2F30", +"7e c #313131", +"7f c #81787A", +"7g c #363536", +"7h c #333233", +"7i c #212122", +"7j c #8A8281", +"7k c #A2A061", +"7l c #FED863", +"7m c #FFC83C", +"7n c #FEC83B", +"7o c #8F847E", +"7p c #2B2A2B", +"7q c #898288", +"7r c #434443", +"7s c #424243", +"7t c #2A2B2A", +"7u c #292929", +"7v c #866F4F", +"7w c #AF7C2B", +"7x c #AC7A29", +"7y c #B37E28", +"7z c #886324", +"7A c #4A403D", +"7B c #3D3023", +"7C c #C09F41", +"7D c #564F30", +"7E c #222122", +"7F c #766A62", +"7G c #B4822C", +"7H c #B4802D", +"7I c #B47E2B", +"7J c #694B24", +"7K c #574E4F", +"7L c #1C1C1C", +"7M c #1D1E1C", +"7N c #2E2C2B", +"7O c #50463F", +"7P c #B07828", +"7Q c #B17829", +"7R c #B17527", +"7S c #534438", +"7T c #363130", +"7U c #3B3829", +"7V c #9F944D", +"7W c #6F6221", +"7X c #50493F", +"7Y c #24221E", +"7Z c #A26423", +"7& c #B16D24", +"8 c #B07025", +"80 c #40372E", +"81 c #6E5420", +"82 c #83701E", +"83 c #202118", +"84 c #181919", +"85 c #6F6565", +"86 c #544B22", +"87 c #B17728", +"88 c #B17426", +"89 c #A56E27", +"8a c #796F71", +"8b c #1E1C1C", +"8c c #1B1B1C", +"8d c #21211F", +"8e c #938775", +"8f c #CCB44C", +"8g c #FEB537", +"8h c #FEA02A", +"8i c #FFA12A", +"8j c #6C533C", +"8k c #B6AA34", +"8l c #B47E27", +"8m c #CE8F41", +"8n c #B87A2B", +"8o c #443B2E", +"8p c #767172", +"8q c #746E72", +"8r c #AC895A", +"8s c #FFAF2D", +"8t c #FEAF2E", +"8u c #FCAA2A", +"8v c #E28E2F", +"8w c #C17D38", +"8x c #C1833E", +"8y c #CF8F48", +"8z c #B8973A", +"8A c #C99451", +"8B c #D69E52", +"8C c #FEAF2F", +"8D c #FFAF30", +"8E c #FFAA2D", +"8F c #D6903A", +"8G c #CD9858", +"8H c #C49657", +"8I c #C39659", +"8J c #C39557", +"8K c #C6965A", +"8L c #BF9052", +"8M c #FEA82E", +"8N c #FFA62E", +"8O c #FAA02C", +"8P c #BE8444", +"8Q c #B29754", +"8R c #A68F36", +"8S c #B87626", +"8T c #B57F48", +"8U c #C0864F", +"8V c #AD723B", +"8W c #F39230", +"8X c #FE982A", +"8Y c #FE9829", +"8Z c #8C5021", +"8& c #AB632A", +"9 c #B96F21", +"90 c #94751D", +"91 c #BA7539", +"92 c #CF8446", +"93 c #D8923A", +"94 c #FEA32B", +"95 c #FFA22B", +"96 c #F49828", +"97 c #B0703F", +"98 c #BC7033", +"99 c #BB7032", +"9a c #BB6D31", +"9b c #B88542", +"9c c #B7902D", +"9d c #C86D1C", +"9e c #FEB12C", +"9f c #FF9A26", +"9g c #FE9C28", +"9h c #926D15", +"9i c #84571D", +"9j c #BD6B30", +"9k c #F3AE2B", +"9l c #FFB22B", +"9m c #FFA128", +"9n c #FFA027", +"9o c #725F53", +"9p c #535254", +"9q c #515152", +"9r c #A38050", +"9s c #FFAF2C", +"9t c #FEAE2B", +"9u c #B77625", +"9v c #6B5446", +"9w c #554436", +"9x c #574739", +"9y c #594E36", +"9z c #BC9A3B", +"9A c #9B7549", +"9B c #FEAB2C", +"9C c #9A6529", +"9D c #6E5546", +"9E c #3F2D20", +"9F c #4B392C", +"9G c #49392A", +"9H c #564231", +"9I c #644E3C", +"9J c #FFA02C", +"9K c #FE9F2B", +"9L c #FC9829", +"9M c #AD7A27", +"9N c #73671C", +"9O c #332717", +"9P c #3A2D23", +"9Q c #382F22", +"9R c #49382C", +"9S c #3C3024", +"9T c #E68928", +"9U c #FE9828", +"9V c #FF972A", +"9W c #523723", +"9X c #2F1F12", +"9Y c #2E2114", +"9Z c #4D401B", +"9& c #90761E", +"a c #907054", +"a0 c #836328", +"a1 c #FFA32A", +"a2 c #FEA12B", +"a3 c #EB9629", +"a4 c #5C4534", +"a5 c #4A392C", +"a6 c #7A633F", +"a7 c #B3983D", +"a8 c #6E6322", +"a9 c #8E7465", +"aa c #B28029", +"ab c #FFB22C", +"ac c #FEA129", +"ad c #FFA127", +"ae c #805A37", +"af c #81732E", +"ag c #AA7E27", +"ah c #E9AD2C", +"ai c #FEB12A", +"aj c #FF9D26", +"ak c #5B5041", +"al c #525353", +"am c #7C6E65", +"an c #594223", +"ao c #584324", +"ap c #574223", +"aq c #3F3424", +"ar c #686060", +"as c #3C3D3E", +"at c #454646", +"au c #444344", +"av c #575139", +"aw c #C9A249", +"ax c #816136", +"ay c #6D5739", +"az c #6E5637", +"aA c #4C4437", +"aB c #5B5457", +"aC c #292A29", +"aD c #353635", +"aE c #353335", +"aF c #3D3C3B", +"aG c #61584D", +"aH c #F7B032", +"aI c #FEB132", +"aJ c #FAAF2E", +"aK c #534826", +"aL c #393837", +"aM c #1F1F1F", +"aN c #342E2C", +"aO c #2F2E2C", +"aP c #4E3620", +"aQ c #5E4127", +"aR c #5C4227", +"aS c #342F29", +"aT c #151414", +"aU c #151615", +"aV c #171617", +"aW c #3D3A29", +"aX c #9A7D21", +"aY c #775F2F", +"aZ c #5E4528", +"a& c #5B4023", +"b c #674D30", +"b0 c #564D3C", +"b1 c #9F8C42", +"b2 c #8C7E2F", +"b3 c #332F1C", +"b4 c #767176", +"b5 c #5E5438", +"b6 c #6C5637", +"b7 c #5D4428", +"b8 c #685032", +"b9 c #574B43", +"ba c #635829", +"bb c #BB992F", +"bc c #DEAA3B", +"bd c #E29A36", +"be c #D69432", +"bf c #4C4844", +"bg c #4E4F4E", +"bh c #6F6A6A", +"bi c #222321", +"bj c #212222", +"bk c #212221", +"bl c #433C3C", +"bm c #3C3C3D", +"bn c #6A5D38", +"bo c #C5A63C", +"bp c #9E8D3F", +"bq c #9E863F", +"br c #5F4E39", +"bs c #60564B", +"bt c #645F45", +"bu c #8D824D", +"bv c #B0A45F", +"bw c #B6A14E", +"bx c #A49A43", +"by c #FBD540", +"bz c #FFD53F", +"bA c #FFCE3B", +"bB c #483E2D", +"bC c #3A3736", +"bD c #1E1D1E", +"bE c #35312C", +"bF c #312E2D", +"bG c #1F1F1E", +"bH c #2A2A2A", +"bI c #37322C", +"bJ c #161617", +"bK c #161517", +"bL c #151717", +"bM c #594F44", +"bN c #947C2F", +"bO c #B29437", +"bP c #AC9035", +"bQ c #AA8C35", +"bR c #766312", +"bS c #4C4724", +"bT c #323333", +"bU c #333434", +"bV c #544D4E", +"bW c #363737", +"bX c #4F4540", +"bY c #242423", +"bZ c #232424", +"b& c #DCC64B", +"c c #FFD249", +"c0 c #FEC338", +"c1 c #FFBB33", +"c2 c #484641", +"c3 c #2D2E2E", +"c4 c #655E62", +"c5 c #232122", +"c6 c #222221", +"c7 c #212021", +"c8 c #403836", +"c9 c #272729", +"ca c #494038", +"cb c #FFE545", +"cc c #FFE645", +"cd c #FDDC43", +"ce c #C2A13C", +"cf c #A69C47", +"cg c #7B712D", +"ch c #524B29", +"ci c #3B381F", +"cj c #2E2B24", +"ck c #2F2C2B", +"cl c #695625", +"cm c #705A25", +"cn c #604D21", +"co c #282420", +"cp c #2F2B2A", +"cq c #1B1D1C", +"cr c #212020", +"cs c #302B28", +"ct c #24221F", +"cu c #1E1E1F", +"cv c #1C1D1B", +"cw c #3C342D", +"cx c #171818", +"cy c #191718", +"cz c #171717", +"cA c #1B1B19", +"cB c #433A34", +"cC c #68612D", +"cD c #FECD3E", +"cE c #FEC93B", +"cF c #DFAD34", +"cG c #433A35", +"cH c #202020", +"cI c #222222", +"cJ c #20201F", +"cK c #483E38", +"cL c #282827", +"cM c #252624", +"cN c #423A39", +"cO c #222120", +"cP c #212022", +"cQ c #F1E35B", +"cR c #FFD148", +"cS c #FFC236", +"cT c #FEBD33", +"cU c #383530", +"cV c #706B6D", +"cW c #746E6F", +"cX c #746D6F", +"cY c #413B38", +"cZ c #3B3530", +"c& c #3C332F", +"d c #4B4241", +"d0 c #6D6462", +"d1 c #554E4E", +"d2 c #565052", +"d3 c #615B58", +"d4 c #504947", +"d5 c #50463D", +"d6 c #FEE543", +"d7 c #FFE443", +"d8 c #FFD54E", +"d9 c #886139", +"da c #665B58", +"db c #5A5454", +"dc c #635F5F", +"dd c #5E5A59", +"de c #5F5959", +"df c #5C5657", +"dg c #4E4948", +"dh c #403933", +"di c #3A302A", +"dj c #3B312A", +"dk c #383230", +"dl c #554F4E", +"dm c #605857", +"dn c #544E4D", +"do c #453E3C", +"dp c #342F2B", +"dq c #3D3530", +"dr c #36302C", +"ds c #443F3D", +"dt c #474141", +"du c #635752", +"dv c #8D8149", +"dw c #FFCD3E", +"dx c #FEC83A", +"dy c #DFAF37", +"dz c #423A35", +"dA c #372F2C", +"dB c #37312C", +"dC c #38322E", +"dD c #403B37", +"dE c #4F433F", +"dF c #463F39", +"dG c #4B4441", +"dH c #494340", +"dI c #433E3A", +"dJ c #473E3C", +"dK c #493E35", +"dL c #433A31", +"dM c #544D37", +"dN c #715E37", +"dO c #755B37", +"dP c #705735", +"dQ c #3F3A36", +"dR c #545555", +"dS c #525352", +"dT c #71696D", +"dU c #5F5A5E", +"dV c #313231", +"dW c #56514C", +"dX c #7C6E39", +"dY c #7F703C", +"dZ c #64522B", +"d& c #2C281F", +"e c #3F3B3D", +"e0 c #2F3030", +"e1 c #403E3D", +"e2 c #454141", +"e3 c #1C1B1D", +"e4 c #282627", +"e5 c #373637", +"e6 c #383636", +"e7 c #1B1B1B", +"e8 c #332D2C", +"e9 c #1A1B1A", +"ea c #1C1B1B", +"eb c #1B1A1B", +"ec c #5C5559", +"ed c #3D3E33", +"ee c #675734", +"ef c #5A4927", +"eg c #5C4C30", +"eh c #3D3736", +"ei c #1C1D1C", +"ej c #1E1D1D", +"ek c #534E4D", +"el c #3E3F3F", +"em c #494444", +"en c #232223", +"eo c #232523", +"ep c #403A39", +"eq c #282929", +"er c #303132", +"es c #545655", +"et c #545553", +"eu c #686263", +"ev c #3B3C3D", +"ew c #232524", +"ex c #605A5D", +"ey c #3C3D3D", +"ez c #2F2F2F", +"eA c #5D5759", +"eB c #333332", +"eC c #393939", +"eD c #201F1E", +"eE c #393533", +"eF c #2A2B2C", +"eG c #373433", +"eH c #3F3B3B", +"eI c #2D2C2E", +"eJ c #343534", +"eK c #25231F", +"eL c #2A2827", +"eM c #323233", +"eN c #2B2829", +"eO c #1C1C1D", +"eP c #1D1C1D", +"eQ c #5B5759", +"eR c #2C2D2C", +"eS c #262628", +"eT c #3D3734", +"eU c #1F1D1E", +"eV c #1E1F1F", +"eW c #262625", +"eX c #655E60", +"eY c #474140", +"eZ c #272726", +"e& c #262726", +"f c #6D686A", +"f0 c #5B5558", +"f1 c #5A5255", +"f2 c #363230", +"f3 c #292725", +"f4 c #3C3838", +"f5 c #1F1E1F", +"f6 c #272321", +"f7 c #2B2828", +"f8 c #1E1D1F", +"f9 c #202121", +"fa c #464243", +"fb c #232321", +"fc c #1D1E1E", +"fd c #1E1F1E", +"fe c #3A3533", +"ff c #5C575A", +"fg c #202221", +"fh c #232423", +"fi c #3E3937", +"fj c #645E62", +"fk c #252425", +"fl c #252626", +"fm c #696367", +"fn c #272625", +"fo c #4F4A49", +"fp c #282826", +"fq c #666064", +"fr c #303031", +"fs c #5B5559", +"ft c #2B2A2A", +"fu c #5A5458", +"fv c #222220", +"fw c #242121", +"fx c #444040", +"fy c #2F2B2B", +"fz c #413E3F", +"fA c #211F20", +"fB c #292623", +"fC c #2C2929", +"fD c #454042", +"fE c #201F1F", +"fF c #4D484A", +"fG c #1F201F", +"fH c #5C575B", +"fI c #1F1F20", +"fJ c #3D3735", +"fK c #222022", +"fL c #655F63", +"fM c #6F6A6E", +"fN c #272725", +"fO c #272626", +"fP c #6A6568", +"fQ c #757071", +"fR c #7D767A", +"fS c #645F60", +"fT c #605C5E", +"fU c #605C5D", +"fV c #666262", +"fW c #746E70", +"fX c #706C6C", +"fY c #777372", +"fZ c #736D6E", +"f& c #757173", +"g c #766F71", +"g0 c #615D5E", +"g1 c #3A332F", +"g2 c #3C3532", +"g3 c #686061", +"g4 c #676362", +"g5 c #706B6A", +"g6 c #706C6A", +"g7 c #6E6967", +"g8 c #746F70", +"g9 c #635F5D", +"ga c #3A3430", +"gb c #3F3832", +"gc c #403935", +"gd c #5E5B59", +"ge c #696564", +"gf c #6E6868", +"gg c #6C6765", +"gh c #5F5D5B", +"gi c #64615F", +"gj c #696665", +"gk c #726C6C", +"gl c #5B5857", +"gm c #605E5E", +"gn c #5E5A5A", +"go c #5F5B5C", +"gp c #70696A", +"gq c #64605F", +"gr c #686262", +"gs c #655F5F", +"gt c #47413C", +"gu c #433B38", +"gv c #3B352F", +"gw c #3C352F", +"gx c #403A35", +"gy c #605958", +"gz c #756D70", +"gA c #5E5656", +"gB c #595554", +"gC c #5B5458", +"gD c #5D585A", +"gE c #6F6868", +"gF c #656062", +"gG c #645D5F", +"gH c #5B575A", +"gI c #595355", +"gJ c #746B6E", +"gK c #5A5353", +"gL c #544D4D", +"gM c #5B5B5B", +"gN c #5B5959", +"gO c #6E696D", +"gP c #2A2929", +"gQ c #292928", +"gR c #635E5F", +"gS c #535253", +"gT c #505151", +"gU c #615C5D", +"gV c #272728", +"gW c #272425", +"gX c #474243", +"gY c #4B4847", +"gZ c #262725", +"g& c #383635", +"h c #323030", +"h0 c #3C3E3C", +"h1 c #5A5657", +"h2 c #2D2D2F", +"h3 c #404141", +"h4 c #302F2F", +"h5 c #222423", +"h6 c #5C5759", +"h7 c #2F302F", +"h8 c #403A37", +"h9 c #625D60", +"ha c #746D71", +"hb c #494849", +"hc c #484848", +"hd c #2F302E", +"he c #292A2A", +"hf c #6B6468", +"hg c #5D5C5D", +"hh c #5B5C5D", +"hi c #706A6D", +"hj c #656060", +"hk c #4D4C4C", +"hl c #635D60", +"hm c #2C2B2C", +"hn c #292828", +"ho c #343331", +"hp c #413D3F", +"hq c #3F3C3B", +"hr c #353332", +"hs c #5E5B5B", +"ht c #4B4A4A", +"hu c #5B5659", +"hv c #454544", +"hw c #252726", +"hx c #282829", +"hy c #333433", +"hz c #2C2C2B", +"hA c #424343", +"hB c #767175", +"hC c #4D4C4E", +"hD c #706A6E", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s 2 t u v w x y z A B C D E F G H I J K L c M N O P Q R S T U V W X Y", +" Z &0 000102030405060708090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p000q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X", +"0Y0Z0&1 101112131415161718191a1b1c0D1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u0I1v T f k1w1x1y1z1A1B1C1D G1v1E1F1G1H1I1J1K1L E1M1N1O1P", +"1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425 T262728292a1C2b1 2c2d2e 92f2g2h2i2j2k1I2l2m2n D2n f2o2p2q2g2r2s 02t2u2v2w2x2y2z2A2B2C2D2E2F", +"2G2H2I2J2K2L2M2N2A2O2P2Q2R2S2T1D2U2V2W2X1y2Y2Z2&3 301m31 v3233341M3536373839 A3a3b3c3d3e3f3g3h3i3j3k N3l323m3n T3o2j O3p w3q3r3s", +"3t r3u3v3w3x3y3z3A3B G3C3D3E3F3G3H3I3J3K3L3M3N3O3P3J3Q3R3S3T3U3V3W3X3Y3U3Z3&4 4041423k434 4445464748494a4b3a4c4d4e U4f4g4h4i4j4k", +"4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G &4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h5i5j", +"5k5l5m1L5n5o5p5q5r5s2A5t5u x2r5v5w5x r5y5z5A5B5C1s E5D5E3k39 z5F5G5H5I5J5K5L5M5N5O5P5Q4j5R5S5T n5U5V N5W5X O2h5Y5Z2X5&3p6 60615t", +"626364652r666768691x6a6b6c2m3m6d6e0U6f6g2C6h6i5V6 6j6k6l486m6n6o6p6q6r6s6t2o6u4d F6v6w6x6y6z6A1s s3T6B6C6D6E6F6G6H6I6J h C6K3r6L", +"1P6M6N6O6P6Q6R6S6T6U1d6V0J6W335Y3b6X6Y3e6Z6&7 70 A2w71723O3n737475767778797a4 7b U7c7d2d6u7e7f7g7h7i397j7k7l7m7n7o w O7p4k7q7r7s", +"7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7L7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a4 8b8c8d8e8f8g8h8i8j3A5N8k8l8m8n8o", +"8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o", +"9p9q9r9s8s9t9u9v9w9x9y9z9A8t8C9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagahai9majak", +"al2EamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaM v3CaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b33eb4b5b6b7b8b96 babbbcbdbebf", +"1Lbgbhbibjbk48blbmauau ObnbobpbqbrbsbtbubvbwbxbybzbAbBbCbD2h2wbEbFbG3fbHbIbJbKbL70bMbNbObPbQbRbSbT7ibUbV S6 3GbWbXbYbZb&c c0c1c2", +" Uc3c44cc5c6c7c8c93A v5Vcacbcccdcecfcgchcicjckclcmcncocpcq3Xcrcsct7LcucvcwcxcyczcAcBcCcDcEcFcGcHcIcJ3TcK6PcL3kcMcNcOcPcQcRcScTcU", +"cVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkaNcYdldmdn6ldodpdqdpdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQ", +"dRdSdT j5V6Q7idU2hcrdV2XdWdXdYdZd&e e0as ce1e23G5Qe3cte4aMe5e63V3R6u8ce7e8e9eaebebecedeeefegeheiejcJ1nekel 76x2memen5CbZeoepeqer", +"eseteuev3Tew3Uexey3W3JezeAeBeCcJeDeEeF3e5UeGeHeIeJ6QeKeLbDeM3e5DeNcueOePaN7Lcq7LcveQc6eReS1zeTeUeVcueWeX E5SaCeB383UbZ3T3&eYeZe&", +"1e5of scM4g3Tf06P4g5C43f15C6uc78df2crc67if3f44 c7f5f6f7f8f97ifafbfcfdbDfebDbD3XbGfffcfgcHfhficJcH48bjfjfk5Vflflfm41fkflfnfoeZfp", +" 530fqfr5M G4hfs2hftft7tfucI5Cfvfwfx48bk40fyfzfA76bGfBfCcH7676fD3PcJf9fEfFfAfEfGeVfHcrfIf9crfJfKcI6QbjfL4cbZ3U3&fM5RfNfNfOfP3WcL", +"fQ4QfRfSfTfUfVfWfXfYfZf&g g0fJg1g2g3g4g5g6g7g8g90WgagbgcgddcgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgL", +"gMgNgOgP LgQ6ggR19gSdSgTgUgVfk3UgWgX3e1d1dgY3QflftgZg&h cIenh0h12Xh2h3 0gUh46Q3Jh5h66I nh7 Th8bZ3U3T3Uh93KeZ L6whahbhchdhehfbHft", +"hghhhi2&aC2h3ihjhk1eet1Phl1shmeWfOe2hn7phehohp7b3UgQhqhreo4g1Ihsht1z1dhbfS6e6P3U3&hu3rhveB 9eA6YflhweW5xhxhyhzhAhB1phC33aDhD5Mhz"}; diff --git a/2009-x64/cps4.03/icons/cpscSplitShell.xpm b/2009-x64/cps4.03/icons/cpscSplitShell.xpm new file mode 100644 index 0000000..1c09fca --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSplitShell.xpm @@ -0,0 +1,1167 @@ +/* XPM */ +static char *EXTRACT_xpm[]={ +"64 24 1140 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6A6A", +" 7 c #696969", +" 8 c #6B6966", +" 9 c #81806D", +" a c #76766A", +" b c #666565", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #5D5D55", +" G c #767556", +" H c #5A5B55", +" I c #545456", +" J c #565555", +" K c #565556", +" L c #565757", +" M c #575856", +" N c #585757", +" O c #595859", +" P c #585859", +" Q c #585A5A", +" R c #6D6D6D", +" S c #6C6D6C", +" T c #6C6B6B", +" U c #68696A", +" V c #696868", +" W c #666767", +" X c #656665", +" Y c #666564", +" Z c #7F785B", +" & c #EDDA48", +"0 c #D8D25F", +"00 c #737162", +"01 c #5F5F5F", +"02 c #5F5E5E", +"03 c #5D5D5D", +"04 c #5B5B5C", +"05 c #5A5A5B", +"06 c #595B5A", +"07 c #595A59", +"08 c #585857", +"09 c #575858", +"0a c #575756", +"0b c #555656", +"0c c #555554", +"0d c #535455", +"0e c #535452", +"0f c #525352", +"0g c #525253", +"0h c #6B6B6C", +"0i c #59595B", +"0j c #515050", +"0k c #4F5050", +"0l c #504F50", +"0m c #50504F", +"0n c #504F4F", +"0o c #504E4F", +"0p c #4E504F", +"0q c #4F4F4E", +"0r c #4F4F50", +"0s c #505050", +"0t c #52514E", +"0u c #ABA653", +"0v c #EADE59", +"0w c #90824A", +"0x c #595951", +"0y c #535150", +"0z c #515152", +"0A c #525252", +"0B c #545354", +"0C c #535454", +"0D c #555454", +"0E c #545554", +"0F c #69696A", +"0G c #686868", +"0H c #676868", +"0I c #656667", +"0J c #656666", +"0K c #636263", +"0L c #676760", +"0M c #827B59", +"0N c #A48F46", +"0O c #92813C", +"0P c #B69D2A", +"0Q c #AFA849", +"0R c #A3924D", +"0S c #968C5E", +"0T c #68685C", +"0U c #585958", +"0V c #565657", +"0W c #555655", +"0X c #555455", +"0Y c #525151", +"0Z c #4F5051", +"0& c #4E4F4F", +"1 c #4E4F4E", +"10 c #4D4E4F", +"11 c #4D4E4D", +"12 c #D9DCE7", +"13 c #D4D7E3", +"14 c #93959A", +"15 c #5B5A5E", +"16 c #4A4B4A", +"17 c #4C4C4A", +"18 c #4A4C4A", +"19 c #4B4B4A", +"1a c #4A4A4A", +"1b c #4C4A4C", +"1c c #4F4F49", +"1d c #605C3D", +"1e c #746927", +"1f c #7E752D", +"1g c #C4AB2E", +"1h c #938044", +"1i c #B4A45D", +"1j c #A69756", +"1k c #757056", +"1l c #56564E", +"1m c #505251", +"1n c #525152", +"1o c #545454", +"1p c #555355", +"1q c #646564", +"1r c #666664", +"1s c #78776E", +"1t c #666563", +"1u c #706D5F", +"1v c #908651", +"1w c #9B8A41", +"1x c #897D41", +"1y c #646054", +"1z c #5C5B59", +"1A c #796C2F", +"1B c #5C5A54", +"1C c #595955", +"1D c #69624C", +"1E c #92874B", +"1F c #9A9161", +"1G c #726D5D", +"1H c #545553", +"1I c #4F4E4E", +"1J c #4E4D4F", +"1K c #4C4E4D", +"1L c #4C4D4C", +"1M c #4B4B4C", +"1N c #4B4A4B", +"1O c #4B494B", +"1P c #494A4A", +"1Q c #484A49", +"1R c #494948", +"1S c #494848", +"1T c #8C8E93", +"1U c #E9EEFC", +"1V c #E9EDFE", +"1W c #E5EBFC", +"1X c #9DA1AF", +"1Y c #474747", +"1Z c #464746", +"1& c #464646", +"2 c #474546", +"20 c #464647", +"21 c #494A46", +"22 c #494847", +"23 c #4D4B44", +"24 c #5F5B36", +"25 c #6F6824", +"26 c #66602C", +"27 c #4A4943", +"28 c #665E40", +"29 c #665E37", +"2a c #4E4F4A", +"2b c #696246", +"2c c #A4954C", +"2d c #B9AA5C", +"2e c #9F9053", +"2f c #726C51", +"2g c #545350", +"2h c #4F4D4E", +"2i c #4F4F4F", +"2j c #4F5150", +"2k c #626163", +"2l c #616061", +"2m c #B49745", +"2n c #F2E288", +"2o c #D2CD79", +"2p c #9F8E3E", +"2q c #716A48", +"2r c #5C5B58", +"2s c #575857", +"2t c #5A5953", +"2u c #7C6E2F", +"2v c #555352", +"2w c #515352", +"2x c #515150", +"2y c #625F46", +"2z c #8E8652", +"2A c #A79C5F", +"2B c #746E51", +"2C c #4F504C", +"2D c #494A48", +"2E c #474948", +"2F c #474848", +"2G c #454645", +"2H c #454446", +"2I c #454444", +"2J c #434444", +"2K c #CACDDC", +"2L c #E7EBFD", +"2M c #E5EAFE", +"2N c #D0D4EB", +"2O c #64636B", +"2P c #414242", +"2Q c #424242", +"2R c #5D5D42", +"2S c #CECC56", +"2T c #B8A945", +"2U c #6D6221", +"2V c #514F2F", +"2W c #484740", +"2X c #454544", +"2Y c #454445", +"2Z c #716637", +"2& c #555139", +"3 c #454747", +"30 c #464747", +"31 c #474847", +"32 c #484848", +"33 c #514F48", +"34 c #6D6645", +"35 c #A0924F", +"36 c #B5A856", +"37 c #958A4E", +"38 c #6E674B", +"39 c #7A784F", +"3a c #767650", +"3b c #53524E", +"3c c #5F5F5E", +"3d c #5D5E5F", +"3e c #BD962E", +"3f c #F7C71C", +"3g c #C1B93E", +"3h c #989369", +"3i c #676662", +"3j c #565758", +"3k c #5C5949", +"3l c #77692D", +"3m c #504E50", +"3n c #4D4E4E", +"3o c #4D4C4D", +"3p c #4C4B4B", +"3q c #49494A", +"3r c #535142", +"3s c #80793B", +"3t c #9B9257", +"3u c #888150", +"3v c #A3A35A", +"3w c #525145", +"3x c #424241", +"3y c #404040", +"3z c #3F3F40", +"3A c #3E3F3E", +"3B c #75777C", +"3C c #E0E5FA", +"3D c #E4E8FD", +"3E c #DEE1FA", +"3F c #898A98", +"3G c #3E3E3D", +"3H c #3E3D3E", +"3I c #3E3E3E", +"3J c #7B7B57", +"3K c #FAEF4B", +"3L c #D9B343", +"3M c #847D55", +"3N c #514E44", +"3O c #404140", +"3P c #414041", +"3Q c #85742F", +"3R c #49473A", +"3S c #444243", +"3T c #444344", +"3U c #444445", +"3V c #454745", +"3W c #484746", +"3X c #484747", +"3Y c #545443", +"3Z c #766F43", +"3& c #B1A243", +"4 c #E9E553", +"40 c #F2E449", +"41 c #6E6446", +"42 c #4D4D4D", +"43 c #5B5C5B", +"44 c #5F5D55", +"45 c #8F7F28", +"46 c #6B6A4D", +"47 c #686548", +"48 c #898252", +"49 c #949170", +"4a c #6D6C61", +"4b c #535352", +"4c c #615B41", +"4d c #6A5F38", +"4e c #4C4C4B", +"4f c #4B4A4A", +"4g c #464545", +"4h c #454343", +"4i c #55503C", +"4j c #C6AA2C", +"4k c #F1D634", +"4l c #63633F", +"4m c #3D3E3E", +"4n c #3D3D3D", +"4o c #3C3C3B", +"4p c #3B3A3B", +"4q c #3B3C3B", +"4r c #3E4040", +"4s c #B8BCCE", +"4t c #E2E6FE", +"4u c #E1E5FE", +"4v c #BABBD3", +"4w c #474849", +"4x c #393939", +"4y c #3A3839", +"4z c #393A39", +"4A c #3A3A3A", +"4B c #3A3938", +"4C c #43443F", +"4D c #94863C", +"4E c #645731", +"4F c #776F41", +"4G c #AD9E55", +"4H c #A39353", +"4I c #666149", +"4J c #44433F", +"4K c #7E6B2E", +"4L c #43413E", +"4M c #414141", +"4N c #404240", +"4O c #414142", +"4P c #444442", +"4Q c #434445", +"4R c #444545", +"4S c #454646", +"4T c #474645", +"4U c #5D5842", +"4V c #8C7F25", +"4W c #A79D20", +"4X c #C4A72B", +"4Y c #514E48", +"4Z c #4B4C4B", +"4& c #5B5A50", +"5 c #776C27", +"50 c #555553", +"51 c #52534F", +"52 c #5E5B46", +"53 c #84804D", +"54 c #A19D72", +"55 c #8A8251", +"56 c #5F5B41", +"57 c #484949", +"58 c #464645", +"59 c #454543", +"5a c #434342", +"5b c #414240", +"5c c #434140", +"5d c #5F593C", +"5e c #93802C", +"5f c #7E6F1F", +"5g c #86792B", +"5h c #3F3E3A", +"5i c #38393A", +"5j c #393837", +"5k c #383738", +"5l c #383837", +"5m c #373637", +"5n c #63656B", +"5o c #DCDFF9", +"5p c #E0E2FE", +"5q c #D2D5F0", +"5r c #5E5D66", +"5s c #363737", +"5t c #454548", +"5u c #3B3B3D", +"5v c #363635", +"5w c #363535", +"5x c #353535", +"5y c #3B3B37", +"5z c #655C23", +"5A c #3A3935", +"5B c #373837", +"5C c #3D3D38", +"5D c #5B543A", +"5E c #968949", +"5F c #AFA059", +"5G c #958639", +"5H c #49483D", +"5I c #3F403F", +"5J c #403F40", +"5K c #404141", +"5L c #434442", +"5M c #494843", +"5N c #7A7232", +"5O c #776F1C", +"5P c #5F5B34", +"5Q c #8B7928", +"5R c #4E4C42", +"5S c #4A4949", +"5T c #575758", +"5U c #565656", +"5V c #58584B", +"5W c #756929", +"5X c #505151", +"5Y c #4D4E4A", +"5Z c #5A5940", +"5& c #958D41", +"6 c #A9A471", +"60 c #71705B", +"61 c #4B4949", +"62 c #424243", +"63 c #3F3F41", +"64 c #4A483D", +"65 c #857736", +"66 c #887826", +"67 c #474433", +"68 c #6F631E", +"69 c #454032", +"6a c #373537", +"6b c #353534", +"6c c #333434", +"6d c #323233", +"6e c #B0B4C7", +"6f c #DEE1FD", +"6g c #DCE0FC", +"6h c #9EA1B4", +"6i c #606069", +"6j c #A1A4B7", +"6k c #B3B6CC", +"6l c #3E3E40", +"6m c #323132", +"6n c #313231", +"6o c #313232", +"6p c #383835", +"6q c #635B29", +"6r c #353435", +"6s c #353636", +"6t c #363536", +"6u c #383836", +"6v c #3A3A38", +"6w c #635A32", +"6x c #A29334", +"6y c #B1A256", +"6z c #8A814C", +"6A c #53503F", +"6B c #3F3F3D", +"6C c #444440", +"6D c #58533A", +"6E c #796E22", +"6F c #5C5724", +"6G c #464440", +"6H c #6B633E", +"6I c #726727", +"6J c #484748", +"6K c #484948", +"6L c #5B5844", +"6M c #756830", +"6N c #504F51", +"6O c #4C4D4D", +"6P c #4B4C4D", +"6Q c #4A4A49", +"6R c #746928", +"6S c #5A583B", +"6T c #7F783B", +"6U c #9E9564", +"6V c #757258", +"6W c #8D8A63", +"6X c #7F7D55", +"6Y c #A08B2F", +"6Z c #685D2A", +"6& c #3D3B37", +"7 c #3E3D36", +"70 c #6D611F", +"71 c #363634", +"72 c #323332", +"73 c #303030", +"74 c #302F2F", +"75 c #2E2E2F", +"76 c #4E4F54", +"77 c #D6D9F6", +"78 c #DBDFFE", +"79 c #CDD2EE", +"7a c #C3C5E2", +"7b c #D6DBF9", +"7c c #D8DCF9", +"7d c #787985", +"7e c #2F2F2D", +"7f c #2E2D2E", +"7g c #2E2F2F", +"7h c #2F302F", +"7i c #454130", +"7j c #635928", +"7k c #313331", +"7l c #323333", +"7m c #353433", +"7n c #343434", +"7o c #5B5234", +"7p c #554D2D", +"7q c #434136", +"7r c #766E38", +"7s c #AB9C44", +"7t c #A89B46", +"7u c #D6D552", +"7v c #CFCB50", +"7w c #7D7120", +"7x c #494733", +"7y c #434242", +"7z c #434343", +"7A c #958232", +"7B c #575234", +"7C c #5C5A43", +"7D c #6D6433", +"7E c #484849", +"7F c #626150", +"7G c #8C7F36", +"7H c #4A4A42", +"7I c #454441", +"7J c #4B4C3C", +"7K c #937B2E", +"7L c #FDC331", +"7M c #F4E65A", +"7N c #5E5B38", +"7O c #373737", +"7P c #4B4730", +"7Q c #5F5523", +"7R c #323232", +"7S c #302E2F", +"7T c #2D2E2D", +"7U c #2C2D2C", +"7V c #9194A5", +"7W c #DBE0FE", +"7X c #DBDEFD", +"7Y c #D3D7F8", +"7Z c #D7DCFC", +"7& c #DADEFE", +"8 c #B6BAD2", +"80 c #38383B", +"81 c #2B2B2B", +"82 c #2A2B2C", +"83 c #2C2D2B", +"84 c #454230", +"85 c #565127", +"86 c #313132", +"87 c #333232", +"88 c #363534", +"89 c #75672F", +"8a c #49452E", +"8b c #383937", +"8c c #393838", +"8d c #979637", +"8e c #FDFD3A", +"8f c #F4C424", +"8g c #5B4F37", +"8h c #474741", +"8i c #907E31", +"8j c #49483A", +"8k c #464445", +"8l c #454546", +"8m c #615B3B", +"8n c #665D3B", +"8o c #4D4D4E", +"8p c #4B4C4C", +"8q c #4A4B4B", +"8r c #48494A", +"8s c #4C4B48", +"8t c #C8B43F", +"8u c #E5D84C", +"8v c #827E46", +"8w c #464643", +"8x c #383A3A", +"8y c #6B552A", +"8z c #E0A213", +"8A c #C0AF2B", +"8B c #3F3F38", +"8C c #363736", +"8D c #605826", +"8E c #4A442A", +"8F c #313130", +"8G c #2F2F2F", +"8H c #2D2D2E", +"8I c #2C2C2B", +"8J c #2C2B2B", +"8K c #3D3C3F", +"8L c #C9CBE8", +"8M c #DADDFE", +"8N c #D9DDFD", +"8O c #D9DCFD", +"8P c #D2D5F3", +"8Q c #696A77", +"8R c #28292A", +"8S c #292829", +"8T c #292928", +"8U c #2A2B2A", +"8V c #2B2B2C", +"8W c #423E2A", +"8X c #484422", +"8Y c #312F30", +"8Z c #5A593C", +"8& c #D9CE5C", +"9 c #99872F", +"90 c #383938", +"91 c #383939", +"92 c #39393A", +"93 c #605F39", +"94 c #CDC62C", +"95 c #A07D27", +"96 c #43413C", +"97 c #3E3F3F", +"98 c #41413F", +"99 c #5D573F", +"9a c #7E6F24", +"9b c #434441", +"9c c #444443", +"9d c #655F32", +"9e c #605940", +"9f c #4C4C4C", +"9g c #4B4C49", +"9h c #686349", +"9i c #A38E40", +"9j c #7C6C39", +"9k c #7B7530", +"9l c #756C3E", +"9m c #8F8342", +"9n c #49462C", +"9o c #2C2A24", +"9p c #6E621D", +"9q c #414137", +"9r c #373735", +"9s c #6A5E22", +"9t c #3C382F", +"9u c #302F2E", +"9v c #2D2D2D", +"9w c #2B2D2C", +"9x c #828494", +"9y c #D4D9F8", +"9z c #C1C5E1", +"9A c #C8CCE9", +"9B c #D6DAFC", +"9C c #A1A4B9", +"9D c #292929", +"9E c #2A2A29", +"9F c #2B2A2A", +"9G c #2B2C2B", +"9H c #524A26", +"9I c #413F24", +"9J c #2F2F2E", +"9K c #303031", +"9L c #343232", +"9M c #504C31", +"9N c #7D7027", +"9O c #B6A833", +"9P c #A18946", +"9Q c #8F8555", +"9R c #575544", +"9S c #3C3B39", +"9T c #514C39", +"9U c #756920", +"9V c #3F3F3B", +"9W c #3D3E3D", +"9X c #40403F", +"9Y c #7D6F36", +"9Z c #61582A", +"9& c #434244", +"a c #444345", +"a0 c #515250", +"a1 c #6B632B", +"a2 c #5C5740", +"a3 c #4E4C4D", +"a4 c #58554B", +"a5 c #918448", +"a6 c #8D7D3B", +"a7 c #545041", +"a8 c #242423", +"a9 c #282928", +"aa c #2D2C20", +"ab c #5C5626", +"ac c #867A41", +"ad c #776B25", +"ae c #42413C", +"af c #393A38", +"ag c #363838", +"ah c #424033", +"ai c #6C6122", +"aj c #343433", +"ak c #3F3F42", +"al c #C1C4DF", +"am c #B6B9D3", +"an c #7E7F8D", +"ao c #6E6F7D", +"ap c #D2D5F5", +"aq c #C9CCEA", +"ar c #525259", +"as c #2A2B2B", +"at c #2B2A2B", +"au c #2B2B2A", +"av c #2B2C2C", +"aw c #2C2C2D", +"ax c #615725", +"ay c #3D3B27", +"az c #2F2F30", +"aA c #413D2F", +"aB c #6C6029", +"aC c #5E5426", +"aD c #393730", +"aE c #373734", +"aF c #4E4B3A", +"aG c #908454", +"aH c #9E915E", +"aI c #81763F", +"aJ c #605A20", +"aK c #3E3C3D", +"aL c #3E3E3F", +"aM c #3E3F40", +"aN c #424240", +"aO c #937E2E", +"aP c #4D4936", +"aQ c #444342", +"aR c #434345", +"aS c #535252", +"aT c #515252", +"aU c #6F6529", +"aV c #595747", +"aW c #766F4D", +"aX c #9C8C3F", +"aY c #665E41", +"aZ c #494949", +"a& c #464847", +"b c #3C3C3C", +"b0 c #1E1F1E", +"b1 c #1E1D1D", +"b2 c #1E1E1E", +"b3 c #423C18", +"b4 c #6B6025", +"b5 c #878051", +"b6 c #6B6753", +"b7 c #41423D", +"b8 c #534B2F", +"b9 c #5D5525", +"ba c #343534", +"bb c #343332", +"bc c #313031", +"bd c #302F31", +"be c #494B4F", +"bf c #70717C", +"bg c #3C3E40", +"bh c #ABAEC6", +"bi c #D5D9FB", +"bj c #9395A6", +"bk c #2E2E2D", +"bl c #2E2D2D", +"bm c #2D2E2E", +"bn c #645B21", +"bo c #3B3A2A", +"bp c #544F2B", +"bq c #675D21", +"br c #3F3D2D", +"bs c #343335", +"bt c #353635", +"bu c #363735", +"bv c #4B483F", +"bw c #A08D34", +"bx c #8F8237", +"by c #565336", +"bz c #42423E", +"bA c #403F3F", +"bB c #534D3E", +"bC c #837125", +"bD c #43433F", +"bE c #454545", +"bF c #787158", +"bG c #A39848", +"bH c #B3AB5B", +"bI c #7F723F", +"bJ c #515049", +"bK c #49484A", +"bL c #3D3C3C", +"bM c #232322", +"bN c #1F1F1F", +"bO c #222121", +"bP c #5D5416", +"bQ c #3E381E", +"bR c #21221E", +"bS c #44402E", +"bT c #928746", +"bU c #C8BB54", +"bV c #96923E", +"bW c #363637", +"bX c #333433", +"bY c #4C4B51", +"bZ c #CFD5F4", +"b& c #BCBDD9", +"c c #303131", +"c0 c #323131", +"c1 c #58532F", +"c2 c #AA9B27", +"c3 c #8C7C1F", +"c4 c #484626", +"c5 c #363633", +"c6 c #373836", +"c7 c #373838", +"c8 c #242322", +"c9 c #242323", +"ca c #363431", +"cb c #7F6E24", +"cc c #4D4A2C", +"cd c #706631", +"ce c #A49852", +"cf c #6E6645", +"cg c #827947", +"ch c #716526", +"ci c #3A3B39", +"cj c #383737", +"ck c #474647", +"cl c #535354", +"cm c #C69E2B", +"cn c #F4D12C", +"co c #B9B34E", +"cp c #605E5A", +"cq c #4A484A", +"cr c #3A3A3B", +"cs c #323231", +"ct c #22211F", +"cu c #615718", +"cv c #3D3A2D", +"cw c #232221", +"cx c #6A5C25", +"cy c #D2B02B", +"cz c #767335", +"cA c #383838", +"cB c #353536", +"cC c #353434", +"cD c #9192A3", +"cE c #D3D8F8", +"cF c #7A7A88", +"cG c #343435", +"cH c #353334", +"cI c #333334", +"cJ c #887D2C", +"cK c #F1CC25", +"cL c #C0A050", +"cM c #504D44", +"cN c #3A3A39", +"cO c #1F1D1E", +"cP c #363221", +"cQ c #74661B", +"cR c #2B2A25", +"cS c #2C2B2A", +"cT c #3C392E", +"cU c #897F3B", +"cV c #EBE55F", +"cW c #C3AA37", +"cX c #3F3E39", +"cY c #282829", +"cZ c #645E4D", +"c& c #8F823F", +"d c #656347", +"d0 c #827C4D", +"d1 c #706C3A", +"d2 c #5C5C55", +"d3 c #4A494A", +"d4 c #373938", +"d5 c #312D22", +"d6 c #625A16", +"d7 c #272723", +"d8 c #312F2E", +"d9 c #796B33", +"da c #7C6B25", +"db c #302C1F", +"dc c #282625", +"dd c #343533", +"de c #393A3A", +"df c #39383A", +"dg c #393938", +"dh c #3C3B3B", +"di c #454549", +"dj c #C6CBE7", +"dk c #B0B4CB", +"dl c #444347", +"dm c #373638", +"dn c #373636", +"do c #3D3A36", +"dp c #5E5432", +"dq c #534C3D", +"dr c #8C8055", +"ds c #8A7F51", +"dt c #4C4A3E", +"du c #3C3C39", +"dv c #3A3B3B", +"dw c #3C3B3C", +"dx c #242424", +"dy c #4C4122", +"dz c #625719", +"dA c #2E2D2C", +"dB c #2C2B2D", +"dC c #403D29", +"dD c #93822B", +"dE c #9A9129", +"dF c #7E6521", +"dG c #2C2C2A", +"dH c #242425", +"dI c #282627", +"dJ c #353436", +"dK c #525251", +"dL c #505150", +"dM c #585644", +"dN c #837F4C", +"dO c #8F8B6D", +"dP c #605F59", +"dQ c #424142", +"dR c #393520", +"dS c #655B1F", +"dT c #373531", +"dU c #776A2E", +"dV c #6F6126", +"dW c #3B3835", +"dX c #2C2C2C", +"dY c #222221", +"dZ c #222323", +"d& c #2C2D2D", +"e c #393839", +"e0 c #3B3C3C", +"e1 c #B0B1C4", +"e2 c #9193A1", +"e3 c #CED1F0", +"e4 c #5D5F65", +"e5 c #3B3B3A", +"e6 c #3A393A", +"e7 c #393B3A", +"e8 c #5C553F", +"e9 c #A39556", +"ea c #7D7653", +"eb c #44433E", +"ec c #3E3D3D", +"ed c #3F3F3F", +"ee c #6C5E24", +"ef c #46411B", +"eg c #353533", +"eh c #5D563C", +"ei c #8D7D24", +"ej c #4E4C2F", +"ek c #3B3B38", +"el c #272826", +"em c #272627", +"en c #565456", +"eo c #535151", +"ep c #5C5B47", +"eq c #827E52", +"er c #7F7C5E", +"es c #5D5B55", +"et c #524A1C", +"eu c #615B33", +"ev c #99873F", +"ew c #75682F", +"ex c #2C2A28", +"ey c #262727", +"ez c #262626", +"eA c #212120", +"eB c #292828", +"eC c #414042", +"eD c #B8BCD0", +"eE c #DCDFFE", +"eF c #CBCEEA", +"eG c #6F7179", +"eH c #3D3C3D", +"eI c #3C3D3E", +"eJ c #3C3D3C", +"eK c #3E3D3C", +"eL c #3D3D3C", +"eM c #3D3E3C", +"eN c #6B6548", +"eO c #A6995F", +"eP c #6E674A", +"eQ c #454541", +"eR c #333331", +"eS c #786922", +"eT c #48452F", +"eU c #524D2A", +"eV c #7E721F", +"eW c #4B4938", +"eX c #474646", +"eY c #474648", +"eZ c #464648", +"e& c #444543", +"f c #272927", +"f0 c #575757", +"f1 c #575556", +"f2 c #565455", +"f3 c #515251", +"f4 c #4C4A49", +"f5 c #484433", +"f6 c #827E4D", +"f7 c #9D9A6E", +"f8 c #5D5C50", +"f9 c #797032", +"fa c #B6A23A", +"fb c #756A3A", +"fc c #484645", +"fd c #272828", +"fe c #272829", +"ff c #212223", +"fg c #262524", +"fh c #2F302E", +"fi c #A1A3B8", +"fj c #DCDFFC", +"fk c #D0D4F2", +"fl c #A5A8BD", +"fm c #54575A", +"fn c #404041", +"fo c #414140", +"fp c #40413F", +"fq c #3F4041", +"fr c #847B4A", +"fs c #A89C61", +"ft c #615C4A", +"fu c #3C3B30", +"fv c #7B6B1F", +"fw c #837831", +"fx c #6E641C", +"fy c #3D3B30", +"fz c #4A4C4B", +"fA c #4A4A4B", +"fB c #3F3E3E", +"fC c #595959", +"fD c #575657", +"fE c #514F4F", +"fF c #5B5A46", +"fG c #C0A145", +"fH c #E6D162", +"fI c #B9B545", +"fJ c #4D4B4B", +"fK c #464546", +"fL c #373535", +"fM c #232424", +"fN c #232222", +"fO c #242525", +"fP c #232121", +"fQ c #272626", +"fR c #61636C", +"fS c #ADB0C7", +"fT c #65686E", +"fU c #434443", +"fV c #424343", +"fW c #444444", +"fX c #444544", +"fY c #454644", +"fZ c #565246", +"f& c #A2954A", +"g c #CFCB5E", +"g0 c #B5A42F", +"g1 c #7E7029", +"g2 c #4A4A44", +"g3 c #494849", +"g4 c #4B4B4B", +"g5 c #4B4D4C", +"g6 c #5C5C5B", +"g7 c #5A5B5B", +"g8 c #5A595A", +"g9 c #595958", +"ga c #535251", +"gb c #8B6B25", +"gc c #D9A71D", +"gd c #757447", +"ge c #494A49", +"gf c #252626", +"gg c #292A29", +"gh c #232423", +"gi c #232223", +"gj c #2D2D30", +"gk c #464547", +"gl c #454746", +"gm c #484847", +"gn c #5C5C46", +"go c #ECEB38", +"gp c #F3CE26", +"gq c #66573B", +"gr c #3B3A3A", +"gs c #4F4E4F", +"gt c #5C5C5A", +"gu c #5B5A5A", +"gv c #5A5959", +"gw c #565755", +"gx c #505051", +"gy c #31322F", +"gz c #4E4D47", +"gA c #525351", +"gB c #4D4F4D", +"gC c #414040", +"gD c #3D3D3E", +"gE c #363636", +"gF c #2A2A2A", +"gG c #252525", +"gH c #252625", +"gI c #4A4849", +"gJ c #4B4A4C", +"gK c #4C4D4A", +"gL c #6A683F", +"gM c #6F602F", +"gN c #505252", +"gO c #515051", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F G H y I J K K J L M N N O P Q", +" R S T 6 U V W W X Y Z &0 000102030405060708090a0b J0c0d0e B0f0g0h0i0j0k0j0k0l0m0n0k0o0p0q0r0s0t0u0v0w0x0y0z0f0A B0B0C0D0E u t0a", +"0F0G0H0I0J c0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0B A0Y0z0j0Z0&1 1011110112131415161718191919161a1b1c1d1e1f1g1h1i1j1k1l0n0Z0j1m1n B C1o1p", +"0J1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H0r1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728291a2a2b2c2d2e2f2g2h0n2i2j1m1n", +"2k2l2m2n2o2p2q2r q2s2t2u2v2w2x0t2y2z2A2B2C2D2E2F1Y2 2G2H2I2J1M2K2L2M2N2O2P2P2Q2P2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b2i", +"3c3d3e3f3g3h3i3j y E3k3l3m3n3o3p1N3q3r3s3t3u3v3w3x2P3y3y3z3A3B3C3D3E3F3z3G3G3H3I3J3K3L3M3N3O3P3P3Q3R3S3T3U2G3V3W3X3Y3Z3&4 404142", +"43 n4445464748494a4b4c4d4e4f1P311Z4g4h2Q4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z", +" o q4&5 504b515253545556573258595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H3A5I5J5K2P5L5M5N5O5P5Q5R5S4f", +"5T5U5V5W C5X0l3n5Y5Z5&6 6061625b636465666768696a6b6b6c6d5s6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6C6D6E6F6G6H6I1Y6J6K", +"0b0D6L6M6N2i6O6P616Q6R6S6T6U6V6W6X6Y6Z6&7 7071726n737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n6t7o7p7q7r7s7t7u7v7w7x7y7z7A7B201&6J", +" w B7C7D2i1K4Z3q7E7F7G7H7I7J7K7L7M7N5l7O7P7Q7R737S7T7U7U7V7W7X7Y7Z7&8 808182837U84857386877288898a8b8c5h8d8e8f8g3y3P8h8i8j8k8l3W", +" E0A8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C5w8D8E8F8G8H8I8J8K8L7X8M8N8O8P8Q8R8S8T8U8V8W8X8G8Y7R6d8Z8&9 909192939495969798999a9b9c8k1Y", +"4b0z9d9e6O9f9g9h9i9j9k9l9m9n9o9p9q908C9r9s9t8F9u9v7U9w9x8N9y9z9A9B9C748T9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W3z9X9Y9Z9&a 1&2 ", +"0Ca0a1a2a3a4a5a6a75Ja8a9aaabacadaeafagahaiaj6o8Y7g7Takalamanaoapaqarasatau9GavawaxayazaAaBaCaDaEaEaFaGaHaIaJaKaLaMaNaOaPaQaR4g20", +"aSaTaUaVaWaXaYaZa&b b0b1b1b2b3b4b5b6b7b8b9babb6obcbdbebfbg7nbhbibj86bkbl7T7fbm8GbnbobpbqbrbsbtbuajavbubvbwbxbybzbAbBbCbD2Q2IbE1Y", +" EbFbGbHbIbJ1NbK6KbLbM9FbNbObPbQbRbSbTbUbVbW6t6cbX72876n6nbYbZb&5tc 9K7373c c0c1c2c3c4c56rbtc6c75wc8c9cacbcccdcecfcgchcicjbL4gck", +"clcmcncocp8o9f19cqcr7T3Ocsctcucv8Icwcxcycz4BcAbW5vcB6scC5vcDcEcFcGcHcI7ncI6cbXcJcKcLcM7O5mcA904AcNatcOcPcQcRcScTcUcVcWcXcY8T6s8l", +"1ocZc&d d0d1d26Pd3d44p304Md5d6d7d8d9dadbdcddafdedfdg4Adhdidjdkdldm5s5s5s5sdn5sdodpdqdrdsdtdu4pdvdwdgdxdydzdAdBdCdDdEdFdG9EdHdIdJ", +"0bcl4bdKdLdMdNdOdP6ndQaZ2PdRdSdTdUdVdWdXdYdZd&e e0dh1&e1e2e3e4cNe5e6decN92e6dee74z4AbLe8e9eaebecedaL9Jeeefegeheiejek8c5xcsbkelem", +" ten50 Beo0s0mepeqeres3paKeteuevewexey7R73ezeAeB8C4neCeDeEeFeG2Y4neHeIb eJeK4nbLeLeM3H3I4LeNeOePeQaLeReSeTeUeVeWeXeYeZckcke&6cf ", +" qf0f1f2cl Bf35Xf4f5f6f7f8f9fafbfc5Jbkfdfe8Ja8fffgfhc7fifjfkflfmfnfn5J3O3y3zfofpfq5K3y3PdQ3x5RfrfsftfufvfwfxfycG206KaZaZfzfAfBc ", +"fCfC NfD J1o D0g7z4nfEfFfGfHfIfJ195SfKfLfMfNdHfObOfPfQfRfSfTeY9cfU3T7z4P3SfVfVaQ7z9&3TaR4RfWfXfYfZf&g g0g1g21ZcC90g3g4g53o113y72", +"g6g7g8g909fD5U0B8c3Pga0kgbgcgd0&8o6O3pgec0gfggemdxghgigjbd62ck1Z20gkgl304TfKbE8lfK4S201&ck1Zgm7E7EgngogpgqfA18g34ngr6K11gs0m1Q7l", +"03 jgtgugv q Pgw8C5S0DgxgygzgAgx2j2i0ngBgC7ndQgDgE8FgFgGgHgCd33q5S2DaZbK7EaZaZg36QgIged3d33qfA4fgJgKgLgM4P423n1 42ed8C4e0jgNgO4o"}; diff --git a/2009-x64/cps4.03/icons/cpscSwitchBaseProxy.xpm b/2009-x64/cps4.03/icons/cpscSwitchBaseProxy.xpm new file mode 100644 index 0000000..edb1ad7 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscSwitchBaseProxy.xpm @@ -0,0 +1,847 @@ +/* XPM */ +static char *SWITCH_xpm[]={ +"41 24 820 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5E5E5F", +" b c #5D5E5D", +" c c #5E5D5D", +" d c #5D5E5C", +" e c #5C5C5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #B81E55", +" v c #8E0726", +" w c #76FFD8", +" x c #016A0C", +" y c #024E9A", +" z c #0B0732", +" A c #0575C0", +" B c #0005B8", +" C c #636264", +" D c #616362", +" E c #606161", +" F c #615F60", +" G c #5F5F5F", +" H c #5E5F5E", +" I c #5C5D5D", +" J c #5B5C5C", +" K c #595A5B", +" L c #5A5859", +" M c #595758", +" N c #575856", +" O c #575657", +" P c #555655", +" Q c #555554", +" R c #545455", +" S c #555553", +" T c #545454", +" U c #545253", +" V c #575854", +" W c #838A5D", +" X c #53564E", +" Y c #525152", +" Z c #515151", +" & c #525151", +"0 c #525051", +"00 c #525251", +"01 c #525250", +"02 c #515252", +"03 c #525352", +"04 c #535251", +"05 c #515152", +"06 c #525353", +"07 c #5E5D5F", +"08 c #5D5D5C", +"09 c #5D5B5C", +"0a c #5B5B5A", +"0b c #5A5A5A", +"0c c #595858", +"0d c #5B5B56", +"0e c #575754", +"0f c #535454", +"0g c #535354", +"0h c #515051", +"0i c #505250", +"0j c #505050", +"0k c #4E4F50", +"0l c #4E4E4E", +"0m c #4F4F4F", +"0n c #4D4E4F", +"0o c #737655", +"0p c #A4C34B", +"0q c #45493C", +"0r c #4C4D4C", +"0s c #4D4C4C", +"0t c #4D4C4D", +"0u c #4C4C4C", +"0v c #4D4E4C", +"0w c #4D4D4C", +"0x c #4D4D4E", +"0y c #4E4F4E", +"0z c #4E4E4F", +"0A c #4E4F4F", +"0B c #5B5959", +"0C c #595859", +"0D c #575857", +"0E c #555656", +"0F c #555354", +"0G c #5B5850", +"0H c #756C47", +"0I c #CDC346", +"0J c #9E9B54", +"0K c #595651", +"0L c #4F504E", +"0M c #4B4B4B", +"0N c #4B4C4A", +"0O c #4B4A4A", +"0P c #4A4A4A", +"0Q c #4A4A49", +"0R c #4A4B4A", +"0S c #A3AF5C", +"0T c #67832D", +"0U c #2B2B2A", +"0V c #464646", +"0W c #494849", +"0X c #484948", +"0Y c #474948", +"0Z c #494947", +"0& c #484949", +"1 c #484848", +"10 c #4A4949", +"11 c #4A4B4B", +"12 c #4B4B4C", +"13 c #4B4C4B", +"14 c #565756", +"15 c #5E5A51", +"16 c #8B855C", +"17 c #7F7F5C", +"18 c #736D4A", +"19 c #83793F", +"1a c #8A7C36", +"1b c #807131", +"1c c #6B633C", +"1d c #99892C", +"1e c #7A7548", +"1f c #8E8350", +"1g c #867E51", +"1h c #666250", +"1i c #4B4B48", +"1j c #474747", +"1k c #464747", +"1l c #464746", +"1m c #464546", +"1n c #464645", +"1o c #454545", +"1p c #444445", +"1q c #4E4F47", +"1r c #B6CD56", +"1s c #36401F", +"1t c #2F2D2D", +"1u c #434242", +"1v c #444345", +"1w c #434445", +"1x c #484644", +"1y c #5D5840", +"1z c #67603E", +"1A c #68613F", +"1B c #575441", +"1C c #494944", +"1D c #474646", +"1E c #474748", +"1F c #474848", +"1G c #494949", +"1H c #535151", +"1I c #746945", +"1J c #F8CA26", +"1K c #E4DB53", +"1L c #988C43", +"1M c #666340", +"1N c #4E4E47", +"1O c #4A4947", +"1P c #6F622F", +"1Q c #474644", +"1R c #504F42", +"1S c #7D7540", +"1T c #928856", +"1U c #79714A", +"1V c #555345", +"1W c #505044", +"1X c #464542", +"1Y c #414141", +"1Z c #414040", +"1& c #403F3F", +"2 c #72764B", +"20 c #92B03B", +"21 c #232520", +"22 c #353335", +"23 c #3E3F3F", +"24 c #45443E", +"25 c #776D3F", +"26 c #C9AD41", +"27 c #E9C742", +"28 c #E1C13B", +"29 c #D3B530", +"2a c #C2A929", +"2b c #A18F27", +"2c c #625D38", +"2d c #454541", +"2e c #444444", +"2f c #454443", +"2g c #454544", +"2h c #464545", +"2i c #4E4E4D", +"2j c #555249", +"2k c #8C7C2E", +"2l c #77733F", +"2m c #7A733F", +"2n c #9B9051", +"2o c #7C7857", +"2p c #565548", +"2q c #4B4A42", +"2r c #71672D", +"2s c #424142", +"2t c #414140", +"2u c #3F3F3F", +"2v c #3F3E3F", +"2w c #42403C", +"2x c #575439", +"2y c #8A7F3D", +"2z c #D2C43A", +"2A c #9A9842", +"2B c #3D3C3B", +"2C c #3C3B3B", +"2D c #3C3D3C", +"2E c #A6B753", +"2F c #596C27", +"2G c #212122", +"2H c #373839", +"2I c #4D4B3B", +"2J c #C0AC42", +"2K c #F9E05A", +"2L c #FEF077", +"2M c #FCED78", +"2N c #F3D65A", +"2O c #D8BC40", +"2P c #C3A92F", +"2Q c #B59E23", +"2R c #A9961A", +"2S c #857C21", +"2T c #47463D", +"2U c #424141", +"2V c #424442", +"2W c #484A49", +"2X c #60582F", +"2Y c #4F4D40", +"2Z c #464544", +"2& c #4E4E40", +"3 c #605D3C", +"30 c #827B40", +"31 c #9E955C", +"32 c #857C40", +"33 c #424240", +"34 c #3C3B3C", +"35 c #3B3B3B", +"36 c #3A3A3B", +"37 c #413E39", +"38 c #595530", +"39 c #6A6024", +"3a c #907F20", +"3b c #5E5B38", +"3c c #383738", +"3d c #383737", +"3e c #4A4B3B", +"3f c #B0CD4B", +"3g c #2D361D", +"3h c #292829", +"3i c #3D3D35", +"3j c #C2AA3B", +"3k c #FBE159", +"3l c #FDF99B", +"3m c #FDFDDF", +"3n c #FEFECF", +"3o c #FCF17F", +"3p c #E1C549", +"3q c #C5AB30", +"3r c #B29C24", +"3s c #A59119", +"3t c #9A8B12", +"3u c #7A7419", +"3v c #41413C", +"3w c #404041", +"3x c #665D2A", +"3y c #4B473E", +"3z c #403F3D", +"3A c #5A5534", +"3B c #877F37", +"3C c #8E8857", +"3D c #7F774B", +"3E c #ABA354", +"3F c #716A3B", +"3G c #736527", +"3H c #4A452D", +"3I c #3A3A33", +"3J c #645823", +"3K c #343434", +"3L c #343333", +"3M c #343534", +"3N c #737B44", +"3O c #89A437", +"3P c #1E1F1B", +"3Q c #2E2E2D", +"3R c #897B34", +"3S c #F6D142", +"3T c #FCE66A", +"3U c #FDFDC0", +"3V c #FDFDF9", +"3W c #FEFDDF", +"3X c #FBF582", +"3Y c #DFC547", +"3Z c #C2A92D", +"3& c #AF9820", +"4 c #9F8C16", +"40 c #928310", +"41 c #847C0A", +"42 c #535129", +"43 c #3D3D3D", +"44 c #454543", +"45 c #675F2A", +"46 c #47443D", +"47 c #3D3D3E", +"48 c #3B3D3B", +"49 c #3A3B3C", +"4a c #4E4A33", +"4b c #4F4930", +"4c c #414234", +"4d c #A48123", +"4e c #FCC31D", +"4f c #9C8F2D", +"4g c #343230", +"4h c #303131", +"4i c #413C2F", +"4j c #574F24", +"4k c #2F3030", +"4l c #31312F", +"4m c #343430", +"4n c #B0C14D", +"4o c #485720", +"4p c #1E1E1E", +"4q c #33322C", +"4r c #D2B032", +"4s c #EFCA40", +"4t c #F1D25B", +"4u c #FEF68E", +"4v c #FEFAAE", +"4w c #FAF18F", +"4x c #EAD15C", +"4y c #C7AC39", +"4z c #AD9626", +"4A c #9C861B", +"4B c #8D7D13", +"4C c #82760E", +"4D c #777007", +"4E c #666310", +"4F c #3D3E3A", +"4G c #3D3C3D", +"4H c #424342", +"4I c #645E29", +"4J c #43423D", +"4K c #3E3D3D", +"4L c #3A393A", +"4M c #393838", +"4N c #585230", +"4O c #4C462E", +"4P c #343433", +"4Q c #4A412C", +"4R c #9A7F18", +"4S c #48442D", +"4T c #2D2F2F", +"4U c #2D2E2E", +"4V c #4F4925", +"4W c #433F24", +"4X c #2D2C2B", +"4Y c #2D2C2C", +"4Z c #4D5235", +"4& c #AAC840", +"5 c #212718", +"50 c #212021", +"51 c #49432B", +"52 c #D8B12D", +"53 c #DCB43C", +"54 c #DEBE4B", +"55 c #EBCB53", +"56 c #E9C959", +"57 c #D8B84C", +"58 c #BEA039", +"59 c #A58B29", +"5a c #937B1C", +"5b c #857114", +"5c c #7B690F", +"5d c #71640A", +"5e c #685F06", +"5f c #666303", +"5g c #444430", +"5h c #3B3C3C", +"5i c #635D27", +"5j c #42423B", +"5k c #3B3D3C", +"5l c #393A3A", +"5m c #383839", +"5n c #424036", +"5o c #C0B442", +"5p c #8F893C", +"5q c #373735", +"5r c #3D3A2B", +"5s c #514A13", +"5t c #242324", +"5u c #2B2C2C", +"5v c #2A2B2A", +"5w c #5E541F", +"5x c #343225", +"5y c #292929", +"5z c #292A29", +"5A c #879243", +"5B c #738C29", +"5C c #1B1B1A", +"5D c #262525", +"5E c #524B29", +"5F c #C79E29", +"5G c #CCA633", +"5H c #CAA739", +"5I c #CDAD41", +"5J c #C7AD36", +"5K c #BEA42E", +"5L c #AE9425", +"5M c #9D841C", +"5N c #8A7514", +"5O c #7C6A0F", +"5P c #6D5E0B", +"5Q c #5F5406", +"5R c #5B5303", +"5S c #605C03", +"5T c #47462C", +"5U c #3A3A3A", +"5V c #424242", +"5W c #404040", +"5X c #615A2A", +"5Y c #403F3C", +"5Z c #3A3C3B", +"5& c #403E39", +"6 c #5E5537", +"60 c #77672F", +"61 c #6E652D", +"62 c #605A32", +"63 c #7B7248", +"64 c #5A5227", +"65 c #3E3914", +"66 c #1A1918", +"67 c #232324", +"68 c #59511E", +"69 c #2B2B28", +"6a c #2F302B", +"6b c #B1C24A", +"6c c #37411B", +"6d c #1B1B1C", +"6e c #282627", +"6f c #4E4527", +"6g c #B89422", +"6h c #C1A133", +"6i c #B3962F", +"6j c #B09434", +"6k c #AA8F34", +"6l c #A29124", +"6m c #998C17", +"6n c #928011", +"6o c #86740E", +"6p c #796909", +"6q c #695C06", +"6r c #5B5204", +"6s c #574D03", +"6t c #5E5803", +"6u c #45452B", +"6v c #41413F", +"6w c #625A2A", +"6x c #605939", +"6y c #817136", +"6z c #4F4A35", +"6A c #393836", +"6B c #2E2F2F", +"6C c #1A191A", +"6D c #1E1D1C", +"6E c #564D19", +"6F c #7A6D28", +"6G c #665C39", +"6H c #302E28", +"6I c #2A2923", +"6J c #5B5120", +"6K c #2A2A2A", +"6L c #2B2A2B", +"6M c #575E37", +"6N c #96B938", +"6O c #21251A", +"6P c #242424", +"6Q c #3B3628", +"6R c #A08A1F", +"6S c #AF952D", +"6T c #A3862C", +"6U c #9B8424", +"6V c #967D2C", +"6W c #8F7C26", +"6X c #877D19", +"6Y c #807A0E", +"6Z c #7B7109", +"6& c #746705", +"7 c #685D04", +"70 c #605702", +"71 c #5B5202", +"72 c #595208", +"73 c #3E3D32", +"74 c #393A39", +"75 c #414342", +"76 c #6C6544", +"77 c #B3A53F", +"78 c #94883D", +"79 c #5A5237", +"7a c #3E3D3A", +"7b c #39383A", +"7c c #373836", +"7d c #1D1E1D", +"7e c #1D1C1B", +"7f c #57501A", +"7g c #312F1F", +"7h c #36352C", +"7i c #625E3E", +"7j c #B0A149", +"7k c #A09A35", +"7l c #2A2A2B", +"7m c #2F2D2E", +"7n c #91A941", +"7o c #5F7E22", +"7p c #1D1D1D", +"7q c #2B2B2B", +"7r c #2D2C2D", +"7s c #2F2D2B", +"7t c #7F701C", +"7u c #988919", +"7v c #947B2A", +"7w c #8D7823", +"7x c #877224", +"7y c #816D26", +"7z c #7A6E1A", +"7A c #726E0E", +"7B c #6D6C07", +"7C c #6E6804", +"7D c #6B6303", +"7E c #645B04", +"7F c #5E5603", +"7G c #4E480D", +"7H c #3B3A3A", +"7I c #434243", +"7J c #826E31", +"7K c #D5BB2C", +"7L c #837B38", +"7M c #615E44", +"7N c #3F3F3C", +"7O c #333334", +"7P c #2D2D2C", +"7Q c #544E1A", +"7R c #282621", +"7S c #2B2928", +"7T c #575131", +"7U c #948029", +"7V c #695D22", +"7W c #212121", +"7X c #2E3127", +"7Y c #80AE2C", +"7Z c #2F3A1A", +"7& c #252524", +"8 c #2F2E2E", +"80 c #2F302F", +"81 c #2F2F2F", +"82 c #454028", +"83 c #8B7D11", +"84 c #85791A", +"85 c #7F6D24", +"86 c #796723", +"87 c #746422", +"88 c #70651B", +"89 c #6D6810", +"8a c #6B6C06", +"8b c #6E6A03", +"8c c #6F6503", +"8d c #685D02", +"8e c #5F5705", +"8f c #2D2B18", +"8g c #242423", +"8h c #363536", +"8i c #434444", +"8j c #434342", +"8k c #454540", +"8l c #45443F", +"8m c #5B5840", +"8n c #756E38", +"8o c #5F5D43", +"8p c #40403D", +"8q c #363434", +"8r c #3A3A35", +"8s c #5B551B", +"8t c #242421", +"8u c #574E24", +"8v c #6C5F29", +"8w c #373834", +"8x c #313231", +"8y c #2B2C2B", +"8z c #4D5B2A", +"8A c #709826", +"8B c #1F1F1C", +"8C c #2A2929", +"8D c #323233", +"8E c #323333", +"8F c #333131", +"8G c #333431", +"8H c #595023", +"8I c #847A0E", +"8J c #7C7415", +"8K c #766A1C", +"8L c #73671B", +"8M c #6F6916", +"8N c #6C6A0D", +"8O c #6D6D06", +"8P c #716A05", +"8Q c #6F6504", +"8R c #675D04", +"8S c #3B3714", +"8T c #1D1E1C", +"8U c #232423", +"8V c #454546", +"8W c #434343", +"8X c #414142", +"8Y c #42413F", +"8Z c #585641", +"8& c #817C4F", +"9 c #67644B", +"90 c #383933", +"91 c #444234", +"92 c #655A21", +"93 c #7B6A2E", +"94 c #534822", +"95 c #262825", +"96 c #333333", +"97 c #363636", +"98 c #383837", +"99 c #8FB63D", +"9a c #4C6620", +"9b c #1D1F1E", +"9c c #313132", +"9d c #353435", +"9e c #353534", +"9f c #353636", +"9g c #534D27", +"9h c #7E730E", +"9i c #7E760B", +"9j c #78730C", +"9k c #73720B", +"9l c #727006", +"9m c #747004", +"9n c #756A03", +"9o c #655B07", +"9p c #332F16", +"9q c #1E1F1C", +"9r c #1E1F1D", +"9s c #1F1E1F", +"9t c #1F1F20", +"9u c #484748", +"9v c #444344", +"9w c #424343", +"9x c #42413E", +"9y c #54513B", +"9z c #847943", +"9A c #A1934B", +"9B c #B7A830", +"9C c #4F492A", +"9D c #313230", +"9E c #30302F", +"9F c #2C2E2C", +"9G c #3D4334", +"9H c #6D9B23", +"9I c #2C351E", +"9J c #1F1F1F", +"9K c #282728", +"9L c #29292A", +"9M c #313130", +"9N c #383937", +"9O c #383939", +"9P c #393938", +"9Q c #353328", +"9R c #463E16", +"9S c #635A0D", +"9T c #68600C", +"9U c #675F0B", +"9V c #60570C", +"9W c #3C3715", +"9X c #24241B", +"9Y c #1F1F1E", +"9Z c #1E1F1F", +"9& c #201F1F", +"a c #202021", +"a0 c #484849", +"a1 c #454746", +"a2 c #444546", +"a3 c #444343", +"a4 c #444244", +"a5 c #373736", +"a6 c #39372D", +"a7 c #D79A1A", +"a8 c #C1AB2F", +"a9 c #33322F", +"aa c #323133", +"ab c #3E3E3D", +"ac c #363737", +"ad c #262625", +"ae c #425424", +"af c #5B7F1E", +"ag c #222320", +"ah c #282829", +"ai c #1F201F", +"aj c #202022", +"ak c #313031", +"al c #3B3B3C", +"am c #3C3C3B", +"an c #3C3D3B", +"ao c #1E1E1D", +"ap c #1E1D1E", +"aq c #1F1E1E", +"ar c #1F211E", +"as c #201E1F", +"at c #212020", +"au c #212221", +"av c #4C4B4B", +"aw c #4A484A", +"ax c #474847", +"ay c #454645", +"az c #3A3938", +"aA c #383838", +"aB c #554D3E", +"aC c #4F4B3F", +"aD c #353535", +"aE c #3B3C38", +"aF c #7BA32F", +"aG c #3C4C1F", +"aH c #242624", +"aI c #222222", +"aJ c #252626", +"aK c #3E3F3E", +"aL c #363634", +"aM c #1F2020", +"aN c #20201F", +"aO c #202020", +"aP c #201F21", +"aQ c #222322", +"aR c #4D4D4D", +"aS c #4A4A4B", +"aT c #494A4B", +"aU c #49494A", +"aV c #3D3E3D", +"aW c #373838", +"aX c #444443", +"aY c #5A6344", +"aZ c #85B730", +"a& c #292E21", +"b c #323132", +"b0 c #2B2B2C", +"b1 c #272626", +"b2 c #3E3D3E", +"b3 c #414241", +"b4 c #403F40", +"b5 c #212222", +"b6 c #212321", +"b7 c #232223", +"b8 c #232323", +"b9 c #232424", +"ba c #4F4F50", +"bb c #4F4F4E", +"bc c #4C4B4D", +"bd c #4A4C4B", +"be c #3D3C3C", +"bf c #484A48", +"bg c #3B3A3B", +"bh c #3F4040", +"bi c #677745", +"bj c #5E7C26", +"bk c #262725", +"bl c #383A39", +"bm c #434344", +"bn c #454444", +"bo c #333434", +"bp c #444545", +"bq c #454644", +"br c #222424", +"bs c #232322", +"bt c #232224", +"bu c #242525", +"bv c #252424", +"bw c #535352", +"bx c #504F4F", +"by c #4F4E4F", +"bz c #4C4D4D", +"bA c #353536", +"bB c #3F3F3E", +"bC c #4B4C4C", +"bD c #393839", +"bE c #3D3D3C", +"bF c #444644", +"bG c #2B2A29", +"bH c #494848", +"bI c #484947", +"bJ c #242524", +"bK c #252425", +"bL c #252426", +"bM c #252526", +"bN c #262527", +"bO c #272627", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u v w x y z A B", +" 4 C D E F G H I J g K L k M N O P Q R R S T U V W X Y Z &0 Z00 Y01 Z020304050306", +" G0708090a0b0c n l0d0e0f0g06050h0i0j0j0k0l0m0n0o0p0q0r0s0t0t0u0s0v0w0v0w0x0y0z0z0A", +"0B0C m0D0E R0F0G0H0I0J0K0L0x0r0u0M0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 0&0X10110R121312", +"1415161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C0V1D1j1E1F1G", +"1H1I1J1K1L1M1N101O1P0V1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h", +"2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2s2V", +"122W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v2u3w", +"1 1l3x3y2s2t2u3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142432v", +"0V4445462v4748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G", +"1v4H4I4J4K344L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h", +"4H3w5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U", +"5V5W5X5Y5Z5&6 60616263646566670U68693h6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u35", +"2U6v6w4J6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P5y6Q6R6S6T6U6V6W6X6Y6Z6&7 7071727374", +"75767778797a7b7c4P7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G3M7H", +"7I7J7K7L7M7N7H5m7O677P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f8g8h", +"8i8j8k8l8m8n8o8p8q6e8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T4p8U", +"8V8W8j8X5W8Y8Z8&9 909192939495969798999a9b9c3M9d9e9f979g9h9i9j9k9l9m9n9o9p9q9r9s9t", +"9u1l2g9v9w2s3w9x9y9z9A9B9C9D9E3h9F9G9H9I9J9K9L9M9N9O9O9P9Q9R9S9T9U9V9W9X9Y9Z9&9&a ", +"a00Z1Ea1a2a3a41ua5a6a7a8a9aaabacadaeafag0Uahaiajakalaman8 aoapaqarasai9&aia a atau", +"av0Maw0Zax1D1nayazaAaBaC81aD1Y2taEaFaGa aH6eaIaiaJam2uaKaL509ZaMaNaOaP50ajaI7WaIaQ", +"aR0u13aSaTaU1 axaV231ma2aWan1paXaYaZa&6K3Lb 8Db0b1b2b38jb4ahau7Wb52Gb5b6b7aIb88Ub9", +"ba0mbb0xaRbc13bd5Ubebf0Wbgbh1D1jbibjbkbl8ibmbn23bo5Vbpaybq3Lbrb8bs67bt8Ububvbv6Pbu", +"bw Y05 Zbxby0ybzbAbB12bCbDbEaS10bFbG7q1w1 bHbIbnbD1E1 1 9u5W6ebJbKbLbKbM5DbNbkadbO"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleBackfaceCulling.xpm b/2009-x64/cps4.03/icons/cpscToggleBackfaceCulling.xpm new file mode 100644 index 0000000..4efffd6 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleBackfaceCulling.xpm @@ -0,0 +1,1225 @@ +/* XPM */ +static char *BACK_xpm[]={ +"64 24 1198 2", +" c #727171", +" 0 c #707170", +" 1 c #71706F", +" 2 c #706E6E", +" 3 c #6D6E6F", +" 4 c #6D6D6C", +" 5 c #6C6C6C", +" 6 c #6B6B6B", +" 7 c #6B6A69", +" 8 c #686969", +" 9 c #71726A", +" a c #9C9B73", +" b c #8D8B6D", +" c c #656466", +" d c #646565", +" e c #636464", +" f c #626362", +" g c #626161", +" h c #605F5F", +" i c #5F5F5F", +" j c #5C5D5D", +" k c #5D5D5E", +" l c #5C5B5C", +" m c #5B5B5B", +" n c #5B5B5C", +" o c #59595B", +" p c #595859", +" q c #585959", +" r c #595758", +" s c #575858", +" t c #575756", +" u c #575657", +" v c #575656", +" w c #555556", +" x c #555654", +" y c #545554", +" z c #545454", +" A c #545453", +" B c #535353", +" C c #535453", +" D c #535554", +" E c #757460", +" F c #A49C64", +" G c #74745E", +" H c #565454", +" I c #555655", +" J c #555557", +" K c #565655", +" L c #565756", +" M c #575758", +" N c #595A5A", +" O c #595A59", +" P c #6D6E6E", +" Q c #6D6C6D", +" R c #6C6C6B", +" S c #6B6A6A", +" T c #696A69", +" U c #686967", +" V c #676768", +" W c #676766", +" X c #8D8B6E", +" Y c #CAC079", +" Z c #FAED78", +" & c #CDAE55", +"0 c #C99644", +"00 c #D6AC58", +"01 c #95926A", +"02 c #676761", +"03 c #5D5C5D", +"04 c #5C5C5C", +"05 c #5A5B5A", +"06 c #5A5A59", +"07 c #59595A", +"08 c #585857", +"09 c #585757", +"0a c #575655", +"0b c #575755", +"0c c #555455", +"0d c #555454", +"0e c #535454", +"0f c #535352", +"0g c #525352", +"0h c #525252", +"0i c #515152", +"0j c #505151", +"0k c #515050", +"0l c #50514F", +"0m c #4F504F", +"0n c #505050", +"0o c #504F50", +"0p c #4F4F4F", +"0q c #4F5050", +"0r c #4F4F50", +"0s c #4F4F4E", +"0t c #4F4E50", +"0u c #50504F", +"0v c #868770", +"0w c #D4CE86", +"0x c #E7B74D", +"0y c #978552", +"0z c #CDC77A", +"0A c #DEDB8E", +"0B c #B3B480", +"0C c #787861", +"0D c #545555", +"0E c #696968", +"0F c #676866", +"0G c #666765", +"0H c #656665", +"0I c #818167", +"0J c #BFB566", +"0K c #F4CC50", +"0L c #FFDA75", +"0M c #F9EB79", +"0N c #B3A478", +"0O c #9B9075", +"0P c #A89774", +"0Q c #D1A367", +"0R c #F4C06A", +"0S c #F5DF82", +"0T c #A98C48", +"0U c #616057", +"0V c #535251", +"0W c #505052", +"0X c #514F50", +"0Y c #4E504E", +"0Z c #4D4E4D", +"0& c #4E4E4C", +"1 c #4D4E4E", +"10 c #4C4D4D", +"11 c #4D4D4C", +"12 c #4B4C4C", +"13 c #4A4B4B", +"14 c #4B4B4C", +"15 c #4C4B4B", +"16 c #4B4B4B", +"17 c #4A4A4B", +"18 c #4B4A4A", +"19 c #565754", +"1a c #A59B6D", +"1b c #E0BD58", +"1c c #FED34D", +"1d c #D7A331", +"1e c #92844C", +"1f c #A09553", +"1g c #BAA052", +"1h c #D4B64F", +"1i c #FDD454", +"1j c #FCE470", +"1k c #C98521", +"1l c #7E623C", +"1m c #56554F", +"1n c #525151", +"1o c #515252", +"1p c #545455", +"1q c #656666", +"1r c #656565", +"1s c #646464", +"1t c #636261", +"1u c #939177", +"1v c #F1BC49", +"1w c #DFA834", +"1x c #FCDB62", +"1y c #FAE182", +"1z c #D9A44C", +"1A c #BF873E", +"1B c #AE8141", +"1C c #BB844A", +"1D c #D88849", +"1E c #C6854A", +"1F c #EDCC6A", +"1G c #BB712B", +"1H c #E19A2D", +"1I c #A58C45", +"1J c #5B5B4F", +"1K c #4E4E50", +"1L c #4E4E4E", +"1M c #4D4D4D", +"1N c #4C4D4C", +"1O c #4C4C4B", +"1P c #4B4A4B", +"1Q c #4A494A", +"1R c #4A4A49", +"1S c #494949", +"1T c #484948", +"1U c #474748", +"1V c #484748", +"1W c #474848", +"1X c #474747", +"1Y c #464646", +"1Z c #454647", +"1& c #464747", +"2 c #474645", +"20 c #474746", +"21 c #474646", +"22 c #7A7756", +"23 c #EDDD71", +"24 c #EDDA65", +"25 c #FFF391", +"26 c #FDEE8D", +"27 c #D8A03D", +"28 c #B37D32", +"29 c #966C33", +"2a c #80623E", +"2b c #715C40", +"2c c #675D4F", +"2d c #D9B44A", +"2e c #736041", +"2f c #B98532", +"2g c #CE831E", +"2h c #7C5F3B", +"2i c #54524D", +"2j c #504F4F", +"2k c #504F51", +"2l c #505150", +"2m c #535152", +"2n c #626263", +"2o c #626162", +"2p c #5F6060", +"2q c #727268", +"2r c #EAE183", +"2s c #C7903D", +"2t c #E39D2D", +"2u c #F3DA62", +"2v c #9F7744", +"2w c #E0C680", +"2x c #B3926F", +"2y c #B7704C", +"2z c #875C48", +"2A c #63534C", +"2B c #D4CD87", +"2C c #7D6B46", +"2D c #94553B", +"2E c #5D5349", +"2F c #A07033", +"2G c #DC962B", +"2H c #A18841", +"2I c #54554A", +"2J c #484848", +"2K c #484647", +"2L c #474745", +"2M c #444445", +"2N c #454545", +"2O c #444444", +"2P c #444443", +"2Q c #424243", +"2R c #444244", +"2S c #434344", +"2T c #434242", +"2U c #424342", +"2V c #434142", +"2W c #414141", +"2X c #414242", +"2Y c #424341", +"2Z c #434243", +"2& c #4E4E4A", +"3 c #D1AB4B", +"30 c #696352", +"31 c #D7B260", +"32 c #F7CD73", +"33 c #8E7644", +"34 c #E7DF96", +"35 c #969060", +"36 c #B0AA69", +"37 c #906732", +"38 c #4A4949", +"39 c #4A4B4A", +"3a c #615946", +"3b c #B7893B", +"3c c #CA8926", +"3d c #7D5E3A", +"3e c #58544B", +"3f c #4F4E4E", +"3g c #5F5F5E", +"3h c #5E5E5F", +"3i c #62625E", +"3j c #DBD8A4", +"3k c #E8B23B", +"3l c #DD8D2B", +"3m c #BA9756", +"3n c #DDAE58", +"3o c #B2704E", +"3p c #A4633E", +"3q c #DFAE58", +"3r c #979676", +"3s c #7B7B6C", +"3t c #D2B45E", +"3u c #4B4C4B", +"3v c #784D3E", +"3w c #5F4E46", +"3x c #534D44", +"3y c #976E38", +"3z c #DD9C34", +"3A c #715E3E", +"3B c #434341", +"3C c #414240", +"3D c #40413F", +"3E c #3F403F", +"3F c #3F403E", +"3G c #3F3F3E", +"3H c #3E3F3E", +"3I c #3F3D3F", +"3J c #3E3D3D", +"3K c #3D3D3D", +"3L c #3E3D3E", +"3M c #3E3E3D", +"3N c #3E3E3F", +"3O c #3D3F3E", +"3P c #CCC169", +"3Q c #A18B4E", +"3R c #D4A54A", +"3S c #675740", +"3T c #D5A455", +"3U c #424241", +"3V c #525142", +"3W c #CFC366", +"3X c #CFCA78", +"3Y c #4F4E45", +"3Z c #51514C", +"3& c #D2A643", +"4 c #4E4842", +"40 c #484648", +"41 c #494747", +"42 c #494849", +"43 c #494A49", +"44 c #5C5549", +"45 c #C09337", +"46 c #BE8328", +"47 c #5D5B5B", +"48 c #C1B881", +"49 c #F3B441", +"4a c #A4763D", +"4b c #6F5147", +"4c c #EAC75B", +"4d c #8E7346", +"4e c #56524F", +"4f c #58524C", +"4g c #C2904A", +"4h c #BBB288", +"4i c #DCCF87", +"4j c #6B5E44", +"4k c #474847", +"4l c #494543", +"4m c #8B4F3A", +"4n c #404141", +"4o c #D5C86E", +"4p c #CA8B2F", +"4q c #3F3E3D", +"4r c #3D3E3E", +"4s c #3C3D3B", +"4t c #3C3B3B", +"4u c #3B3B3C", +"4v c #3B3B3B", +"4w c #3A3B3B", +"4x c #3B393B", +"4y c #393A3A", +"4z c #3A3A3A", +"4A c #3A393A", +"4B c #383A3A", +"4C c #393A39", +"4D c #3B3A39", +"4E c #393A3B", +"4F c #6B6C57", +"4G c #F0D160", +"4H c #BB8435", +"4I c #46413B", +"4J c #737362", +"4K c #A57E3D", +"4L c #3F3E3F", +"4M c #403F40", +"4N c #998D51", +"4O c #EDE6A0", +"4P c #C3BB6F", +"4Q c #8E6830", +"4R c #434545", +"4S c #494948", +"4T c #B5AE5E", +"4U c #D4891C", +"4V c #5D4F3E", +"4W c #595B59", +"4X c #918757", +"4Y c #EBBF4B", +"4Z c #7F6C4D", +"4& c #5E5B59", +"5 c #CB8C5F", +"50 c #F1DB61", +"51 c #6B5A4B", +"52 c #575751", +"53 c #8C7C53", +"54 c #E2A039", +"55 c #DE9D30", +"56 c #4B4C47", +"57 c #444544", +"58 c #5A504A", +"59 c #9A583F", +"5a c #795D4D", +"5b c #3F3E3E", +"5c c #6D6E4C", +"5d c #C2A74F", +"5e c #AF732B", +"5f c #5F4E37", +"5g c #3A3838", +"5h c #393739", +"5i c #373837", +"5j c #363736", +"5k c #373637", +"5l c #958B57", +"5m c #534836", +"5n c #AE9744", +"5o c #413F37", +"5p c #363534", +"5q c #343534", +"5r c #363535", +"5s c #353535", +"5t c #353536", +"5u c #423E37", +"5v c #EBDF81", +"5w c #996E32", +"5x c #393839", +"5y c #38393A", +"5z c #B5AE7C", +"5A c #60492E", +"5B c #3B3C3C", +"5C c #3C3C3C", +"5D c #494943", +"5E c #817F67", +"5F c #DEC074", +"5G c #EBA139", +"5H c #79572F", +"5I c #414241", +"5J c #454646", +"5K c #515249", +"5L c #DFC554", +"5M c #A8853B", +"5N c #835D30", +"5O c #4A4B49", +"5P c #585859", +"5Q c #BA7422", +"5R c #E1B142", +"5S c #B8AF6D", +"5T c #CCA176", +"5U c #A38C55", +"5V c #C7AB4E", +"5W c #A0593E", +"5X c #7E7B59", +"5Y c #BB9A49", +"5Z c #DEA232", +"5& c #AB752B", +"6 c #67553E", +"60 c #925F26", +"61 c #BF983B", +"62 c #B17854", +"63 c #9F6D4F", +"64 c #674132", +"65 c #82523F", +"66 c #9A694F", +"67 c #DBD079", +"68 c #645838", +"69 c #624C31", +"6a c #AD8131", +"6b c #353635", +"6c c #343334", +"6d c #333332", +"6e c #323234", +"6f c #535241", +"6g c #CCB758", +"6h c #FFBE41", +"6i c #56452E", +"6j c #DEB642", +"6k c #F1B43F", +"6l c #6B5936", +"6m c #323131", +"6n c #303131", +"6o c #313132", +"6p c #323232", +"6q c #6C6241", +"6r c #D2A240", +"6s c #DEDD83", +"6t c #676853", +"6u c #D1B462", +"6v c #3F3A34", +"6w c #6B6B61", +"6x c #B8A76F", +"6y c #E2B85E", +"6z c #AE7B2E", +"6A c #675537", +"6B c #5C4F3B", +"6C c #EA9625", +"6D c #594B3A", +"6E c #424242", +"6F c #454444", +"6G c #85845D", +"6H c #AD8837", +"6I c #6A6647", +"6J c #BC8229", +"6K c #565755", +"6L c #D58321", +"6M c #675D50", +"6N c #C18C43", +"6O c #ECCD62", +"6P c #DDD165", +"6Q c #D9BC61", +"6R c #E9A438", +"6S c #D58C2B", +"6T c #80643C", +"6U c #4C4D46", +"6V c #695C4F", +"6W c #AB7453", +"6X c #AE704E", +"6Y c #AF7124", +"6Z c #A3853C", +"6& c #4B3B34", +"7 c #764D3D", +"70 c #515141", +"71 c #D8BD62", +"72 c #A86E4F", +"73 c #755B48", +"74 c #C57B29", +"75 c #393632", +"76 c #313131", +"77 c #302F30", +"78 c #7C7848", +"79 c #F9C94D", +"7a c #F79828", +"7b c #F59F2D", +"7c c #53412C", +"7d c #DDA839", +"7e c #FF9F2C", +"7f c #FCA531", +"7g c #C49138", +"7h c #3B372E", +"7i c #2E2D2E", +"7j c #2F2F2E", +"7k c #9A7936", +"7l c #5C4728", +"7m c #454135", +"7n c #CCB762", +"7o c #D8D995", +"7p c #EDD07A", +"7q c #D3AF57", +"7r c #BA8636", +"7s c #71552D", +"7t c #403C39", +"7u c #3B3A3A", +"7v c #3C3B3C", +"7w c #3D3D3C", +"7x c #745F39", +"7y c #DB8D25", +"7z c #4F473B", +"7A c #424343", +"7B c #D1C56B", +"7C c #624E36", +"7D c #464645", +"7E c #CC9631", +"7F c #554A40", +"7G c #5C5751", +"7H c #DA902A", +"7I c #72685D", +"7J c #C48D65", +"7K c #6E5A45", +"7L c #D3831F", +"7M c #9F7333", +"7N c #5B5347", +"7O c #8C503A", +"7P c #8D664F", +"7Q c #B07251", +"7R c #915F44", +"7S c #57463E", +"7T c #4A433D", +"7U c #B7711B", +"7V c #7E6D3B", +"7W c #423836", +"7X c #84543E", +"7Y c #BAB566", +"7Z c #745F37", +"7& c #533D33", +"8 c #C2733D", +"80 c #765A2F", +"81 c #414136", +"82 c #C9B856", +"83 c #FDB539", +"84 c #F69223", +"85 c #EB8B1F", +"86 c #F7A730", +"87 c #4E3E29", +"88 c #DDA237", +"89 c #FFA930", +"8a c #EC8F22", +"8b c #F69227", +"8c c #F2A836", +"8d c #5F533B", +"8e c #2D2D2C", +"8f c #2D2C2E", +"8g c #C3852A", +"8h c #37322C", +"8i c #303030", +"8j c #303231", +"8k c #84723A", +"8l c #9C6321", +"8m c #403B33", +"8n c #363536", +"8o c #363738", +"8p c #393937", +"8q c #3B3A3B", +"8r c #3C3C3D", +"8s c #977737", +"8t c #C77D25", +"8u c #44423F", +"8v c #424140", +"8w c #6A6B52", +"8x c #C9A445", +"8y c #434444", +"8z c #454546", +"8A c #AC8D3D", +"8B c #785733", +"8C c #6D5C44", +"8D c #D29034", +"8E c #C89B74", +"8F c #595250", +"8G c #4E4D4F", +"8H c #B46D20", +"8I c #726146", +"8J c #484949", +"8K c #8C5D49", +"8L c #B56643", +"8M c #544C46", +"8N c #3F4040", +"8O c #4E4436", +"8P c #BF7C1F", +"8Q c #665936", +"8R c #925836", +"8S c #E6D166", +"8T c #413B33", +"8U c #323332", +"8V c #B1802E", +"8W c #94793C", +"8X c #ECD058", +"8Y c #FEA932", +"8Z c #F89522", +"8& c #FAA028", +"9 c #FFB130", +"90 c #FDB034", +"91 c #4C3B27", +"92 c #DB9F33", +"93 c #FE9F2B", +"94 c #FFAD30", +"95 c #FDA62B", +"96 c #FFA62F", +"97 c #FFBD51", +"98 c #AF863D", +"99 c #383830", +"9a c #BF8229", +"9b c #2D2E2E", +"9c c #2F2F30", +"9d c #313130", +"9e c #655D3B", +"9f c #965E1E", +"9g c #333333", +"9h c #343535", +"9i c #383837", +"9j c #383939", +"9k c #3B3C3B", +"9l c #3C3D3D", +"9m c #BD8432", +"9n c #AA6E28", +"9o c #404040", +"9p c #BEB96A", +"9q c #7B5D2E", +"9r c #B2A454", +"9s c #816436", +"9t c #7B5D3C", +"9u c #F2AC55", +"9v c #786256", +"9w c #A06424", +"9x c #816843", +"9y c #5F5B53", +"9z c #906A55", +"9A c #544540", +"9B c #AA6846", +"9C c #404041", +"9D c #40403E", +"9E c #3D3C3D", +"9F c #514231", +"9G c #CB8725", +"9H c #D2B364", +"9I c #89743D", +"9J c #313332", +"9K c #333231", +"9L c #3E3D32", +"9M c #CDA23F", +"9N c #38332C", +"9O c #B9852F", +"9P c #FEC640", +"9Q c #FEC241", +"9R c #FEB734", +"9S c #FEB232", +"9T c #FEB134", +"9U c #4D3B26", +"9V c #DB9931", +"9W c #F49523", +"9X c #FFB844", +"9Y c #FDCC7D", +"9Z c #CF852D", +"9& c #5C452A", +"a c #655833", +"a0 c #875823", +"a1 c #2F2E2E", +"a2 c #585538", +"a3 c #965F1B", +"a4 c #343333", +"a5 c #353435", +"a6 c #363635", +"a7 c #363837", +"a8 c #3D3E3C", +"a9 c #44423C", +"aa c #DC9D32", +"ab c #9A7333", +"ac c #DEC35A", +"ad c #48443E", +"ae c #444243", +"af c #DBB73F", +"ag c #504A41", +"ah c #936534", +"ai c #BF8540", +"aj c #4F4E4F", +"ak c #4D4C4C", +"al c #895D29", +"am c #9A6F39", +"an c #C49971", +"ao c #524C47", +"ap c #454645", +"aq c #56413A", +"ar c #824D37", +"as c #414042", +"at c #403F3F", +"au c #343428", +"av c #84551A", +"aw c #E5952A", +"ax c #452D1F", +"ay c #262626", +"az c #323333", +"aA c #745C34", +"aB c #8F6A33", +"aC c #5F4B2C", +"aD c #EFAC32", +"aE c #FECE4D", +"aF c #FEB836", +"aG c #FAAF32", +"aH c #503E2A", +"aI c #D9942E", +"aJ c #EB8E21", +"aK c #FEBD55", +"aL c #F5AA45", +"aM c #955E1F", +"aN c #302E2A", +"aO c #2B2B2C", +"aP c #7E6835", +"aQ c #A69757", +"aR c #2E2E2E", +"aS c #31302F", +"aT c #4B4B37", +"aU c #A67223", +"aV c #333435", +"aW c #353436", +"aX c #373636", +"aY c #373836", +"aZ c #393838", +"a& c #3A393B", +"b c #3C3A3B", +"b0 c #3D3C3C", +"b1 c #3C3E3C", +"b2 c #3D3E3D", +"b3 c #625C42", +"b4 c #EDA134", +"b5 c #A67127", +"b6 c #787647", +"b7 c #B1812D", +"b8 c #6B5B46", +"b9 c #C27519", +"ba c #786141", +"bb c #715736", +"bc c #D28634", +"bd c #7F6553", +"be c #454746", +"bf c #62453A", +"bg c #8B5A43", +"bh c #5D4A33", +"bi c #9B7225", +"bj c #B77119", +"bk c #8C5C24", +"bl c #E48C36", +"bm c #9A5525", +"bn c #753F29", +"bo c #3B3230", +"bp c #D3BA66", +"bq c #4B4132", +"br c #323031", +"bs c #302F31", +"bt c #2F302F", +"bu c #3A342D", +"bv c #BC7B23", +"bw c #FBC443", +"bx c #FAB63D", +"by c #513E2C", +"bz c #DB9A30", +"bA c #F4BA5F", +"bB c #D48E35", +"bC c #574026", +"bD c #2C2C2D", +"bE c #2D2D2E", +"bF c #36332F", +"bG c #C38E33", +"bH c #C1BE7B", +"bI c #3E3D38", +"bJ c #313231", +"bK c #404035", +"bL c #BA8123", +"bM c #363636", +"bN c #383838", +"bO c #393939", +"bP c #4F4E42", +"bQ c #807E60", +"bR c #C7AD64", +"bS c #CDA554", +"bT c #B8802B", +"bU c #A0611B", +"bV c #434443", +"bW c #BDBC69", +"bX c #705A34", +"bY c #464746", +"bZ c #81633D", +"b& c #D48317", +"c c #9E7936", +"c0 c #6A5238", +"c1 c #C57928", +"c2 c #494743", +"c3 c #A56935", +"c4 c #CA8025", +"c5 c #9E6418", +"c6 c #674E2A", +"c7 c #614D40", +"c8 c #875A3C", +"c9 c #BC721D", +"ca c #3E2F28", +"cb c #925B35", +"cc c #C5AE5F", +"cd c #333232", +"ce c #323231", +"cf c #303132", +"cg c #735129", +"ch c #E89222", +"ci c #54412D", +"cj c #D89A2B", +"ck c #A16920", +"cl c #39342D", +"cm c #2F3030", +"cn c #5C462B", +"co c #A26D23", +"cp c #B9B870", +"cq c #61614D", +"cr c #363434", +"cs c #CB952D", +"ct c #3A3939", +"cu c #4C4D42", +"cv c #7E7B5D", +"cw c #C1A966", +"cx c #C99D57", +"cy c #856530", +"cz c #5B4B37", +"cA c #414041", +"cB c #C77A17", +"cC c #49443F", +"cD c #4F5147", +"cE c #D9C461", +"cF c #4C4743", +"cG c #464847", +"cH c #545353", +"cI c #9E753A", +"cJ c #DB9F30", +"cK c #A76A25", +"cL c #A47C55", +"cM c #CB7D23", +"cN c #4A4A4A", +"cO c #494A48", +"cP c #67543F", +"cQ c #A56B30", +"cR c #BD7521", +"cS c #DE9846", +"cT c #81573B", +"cU c #A68B67", +"cV c #3E3E3B", +"cW c #2B2C2C", +"cX c #886347", +"cY c #443026", +"cZ c #7B4D18", +"c& c #B8743A", +"d c #D9B86C", +"d0 c #756335", +"d1 c #373635", +"d2 c #343435", +"d3 c #353534", +"d4 c #333534", +"d5 c #433B32", +"d6 c #443B31", +"d7 c #544831", +"d8 c #333334", +"d9 c #343434", +"da c #343433", +"db c #A46620", +"dc c #53432E", +"dd c #ADAE6A", +"de c #898966", +"df c #C78922", +"dg c #535244", +"dh c #83815F", +"di c #BEA668", +"dj c #BC9546", +"dk c #7C5D2F", +"dl c #554737", +"dm c #3F3F3F", +"dn c #414140", +"do c #424142", +"dp c #AF8336", +"dq c #7B5426", +"dr c #848461", +"ds c #A9893B", +"dt c #484849", +"du c #555355", +"dv c #525353", +"dw c #515151", +"dx c #BE8432", +"dy c #C7A350", +"dz c #BB7027", +"dA c #DC861B", +"dB c #7C5D39", +"dC c #C28227", +"dD c #AF7022", +"dE c #543F22", +"dF c #483C32", +"dG c #B68664", +"dH c #544036", +"dI c #B08B63", +"dJ c #2A2321", +"dK c #AE7953", +"dL c #48352A", +"dM c #9D5939", +"dN c #CE8730", +"dO c #E5CF6C", +"dP c #2F2B23", +"dQ c #39383A", +"dR c #383839", +"dS c #373838", +"dT c #373738", +"dU c #383737", +"dV c #363637", +"dW c #363737", +"dX c #373736", +"dY c #383636", +"dZ c #504335", +"d& c #BA7726", +"e c #8A8957", +"e0 c #E1A536", +"e1 c #C5A24E", +"e2 c #B69556", +"e3 c #75592E", +"e4 c #494239", +"e5 c #3D3E3F", +"e6 c #675C43", +"e7 c #B06C1B", +"e8 c #CCC56A", +"e9 c #685437", +"ea c #555656", +"eb c #555453", +"ec c #565451", +"ed c #CE8D38", +"ee c #AC703B", +"ef c #D17A1C", +"eg c #AF792C", +"eh c #5A5246", +"ei c #212223", +"ej c #BD8E65", +"ek c #54443C", +"el c #232323", +"em c #322520", +"en c #8B4B31", +"eo c #D98F60", +"ep c #8F5033", +"eq c #39332A", +"er c #B58836", +"es c #B47A2D", +"et c #2C2E2C", +"eu c #252425", +"ev c #3A3A3B", +"ew c #3A3B39", +"ex c #39393A", +"ey c #3A3A39", +"ez c #393B3A", +"eA c #3A3B3A", +"eB c #655C3C", +"eC c #B58837", +"eD c #48473E", +"eE c #8C5E28", +"eF c #7D5322", +"eG c #3E3E3E", +"eH c #3F3E40", +"eI c #403F41", +"eJ c #414040", +"eK c #434343", +"eL c #BC8129", +"eM c #C8811E", +"eN c #4F4945", +"eO c #49494A", +"eP c #494B4B", +"eQ c #565757", +"eR c #54544F", +"eS c #B0964F", +"eT c #B49657", +"eU c #E99F2B", +"eV c #B27242", +"eW c #6E402D", +"eX c #6B4B3A", +"eY c #C2845B", +"eZ c #57382D", +"e& c #87563B", +"f c #966444", +"f0 c #83462E", +"f1 c #CC8358", +"f2 c #D49155", +"f3 c #C4943A", +"f4 c #DEA754", +"f5 c #C9771B", +"f6 c #4C3A23", +"f7 c #2A2A2B", +"f8 c #2C2D2D", +"f9 c #3E403F", +"fa c #383938", +"fb c #56503D", +"fc c #B6A75B", +"fd c #5C5947", +"fe c #B76C12", +"ff c #45413D", +"fg c #404140", +"fh c #75755E", +"fi c #B5A85F", +"fj c #D5A239", +"fk c #8C6129", +"fl c #595858", +"fm c #937F4F", +"fn c #E7C15D", +"fo c #D99C2E", +"fp c #433125", +"fq c #5C3224", +"fr c #CA7952", +"fs c #5B4033", +"ft c #352A25", +"fu c #34342B", +"fv c #8D8051", +"fw c #D3A346", +"fx c #A5722C", +"fy c #714B21", +"fz c #DAAB5C", +"fA c #B2732B", +"fB c #383738", +"fC c #3F4041", +"fD c #282827", +"fE c #3E3F3F", +"fF c #2B2B2B", +"fG c #363435", +"fH c #2B2C2D", +"fI c #4E4941", +"fJ c #B7AA56", +"fK c #B18A3E", +"fL c #98652B", +"fM c #575645", +"fN c #86815C", +"fO c #BBA05B", +"fP c #D5AF4A", +"fQ c #AF883B", +"fR c #CA9F3D", +"fS c #BB7E2C", +"fT c #4E4C4A", +"fU c #4E4C4E", +"fV c #585759", +"fW c #585858", +"fX c #535254", +"fY c #706143", +"fZ c #D28B28", +"f& c #AB8232", +"g c #282828", +"g0 c #513D37", +"g1 c #CB995C", +"g2 c #B19854", +"g3 c #D29E47", +"g4 c #CD8B47", +"g5 c #908863", +"g6 c #C4A255", +"g7 c #A16A20", +"g8 c #484847", +"g9 c #444343", +"ga c #242524", +"gb c #212121", +"gc c #292928", +"gd c #282927", +"ge c #242425", +"gf c #2A2A2A", +"gg c #444344", +"gh c #4A4844", +"gi c #ADA65B", +"gj c #D38C25", +"gk c #5F543F", +"gl c #464546", +"gm c #696A5A", +"gn c #978853", +"go c #BF8028", +"gp c #BC7C28", +"gq c #9F7435", +"gr c #9E8965", +"gs c #BFB775", +"gt c #D2BE6A", +"gu c #B3863C", +"gv c #514E4A", +"gw c #4C4E4E", +"gx c #4E4E4F", +"gy c #4E4F50", +"gz c #5C5B5B", +"gA c #5A5B5B", +"gB c #5A595A", +"gC c #585957", +"gD c #575757", +"gE c #313232", +"gF c #453824", +"gG c #C47B1A", +"gH c #B08E41", +"gI c #C68727", +"gJ c #E1A22F", +"gK c #CE9D49", +"gL c #E2C26D", +"gM c #CFAC4F", +"gN c #886F3F", +"gO c #4C453F", +"gP c #242525", +"gQ c #2C2C2B", +"gR c #49484A", +"gS c #494B4A", +"gT c #2E2F30", +"gU c #30302F", +"gV c #242324", +"gW c #222223", +"gX c #242423", +"gY c #232224", +"gZ c #262627", +"g& c #8A703C", +"h c #C38D31", +"h0 c #DCBE5C", +"h1 c #E4AA47", +"h2 c #A47D36", +"h3 c #958F71", +"h4 c #CDB578", +"h5 c #CAAE58", +"h6 c #938047", +"h7 c #6E5A41", +"h8 c #4E4C4D", +"h9 c #4F4F4D", +"ha c #515051", +"hb c #514F51", +"hc c #5D5E5E", +"hd c #5A5C5C", +"he c #5B5B59", +"hf c #403A2E", +"hg c #A27235", +"hh c #A1783D", +"hi c #98713F", +"hj c #7A592F", +"hk c #755D3F", +"hl c #2E2D2D", +"hm c #484A49", +"hn c #2C2C2C", +"ho c #4E4D4D", +"hp c #252626", +"hq c #323032", +"hr c #272626", +"hs c #232425", +"ht c #252424", +"hu c #2B2C2B", +"hv c #272627", +"hw c #252525", +"hx c #242624", +"hy c #282829", +"hz c #3B393A", +"hA c #41413F", +"hB c #62523F", +"hC c #705335", +"hD c #765430", +"hE c #855C2F", +"hF c #80623B", +"hG c #54504A", +"hH c #4E4D4E", +"hI c #515352", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h h i j k l m n o p q r s t u v w x w y z z A B C B D z A y y E F G H w I J K L M L M q N O", +" P Q R S T U V W X Y Z &0 000102030405060708090a0b0c0d0e B B0f0g0h0i0j0k0l0m0n0o0p0p0q0r0s0t0u0v0w0x0y0z0A0B0C0f0f B z0D0c K K t", +" T0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U w0c z C0V0W0k0X0m0Y0p0Z0&1 101112131415161718181515191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o0g0e C1p", +"1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P171Q1R1S1T1U1V1W1X1Y1Y1Z1&2 201&2122232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m", +"2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L1Y2M2M2N2O2P2Q2R2S2T2U2V2W2X2W2Y2Z2&3 303132333435211U1U363738393a3b3c3d3e3f0q", +"3g3h3i3j3k3l3m3n3o3p3q3r0q3s3t3u3v3w2J3x3y3z3A2Q3B2W3C3D3E3F3G3H3I3J3I3K3L3J3K3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142434445461M1L", +"47 n48494a4b4c4d4e0n4f4g4h4i4j4k4l4m2S2Q4n4o4p4q4r3K4s4t4u4v4w4x4v4y4z4A4A4B4C4D4E4F4G4H4I4J4K3M4L4M4N4O4P4Q4R2O1Y1&2J4S4T4U4V16", +"4W4X4Y4Z4&5 50510p0Z52535455565758595a5b5c5d5e5f5g5h5i5j5i5k5l5m5n5o5p5q5r5s5p5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I2T2O575J5K5L5M5N5O", +"5P5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6n6o6p6q6r6s6t5j6u6v6w6x6y6z6A6B6C6D2W6E2Z6F6G6H6I6J42", +"6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z3L6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z4n2Q7A7B7C7D7E7F", +"7G7H7I7J7K7L7M7N7O7P7Q7R7S4n7T7U7V7W7X7Y7Z6d7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p4B8q4u8r8s8t8u8v8w8x8y8z8A8B", +"8C8D8E8F8G8H8I8J8K8L8M7A5I8N4r8O8P8Q8R8S8T8U768V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h5k9i9j4C4v9k9l9m9n9o9p9q7A2M9r9s", +"9t9u9v0p1L9w9x9y9z9A9B4l9C9D9E5B9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W949X9Y9Z9&a a07ia19da2a3a4a5a6a79j4y4z7va8a9aaabacadae57afag", +"ahai0najakalamanaoapaqarasat5C6bauavawaxayazaAaBa19baCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaS6naTaUaVaWaXaYaZa&b b0b1b2b3b4b56E2Pb6b721", +"b8b9ba3f0Zbbbcbd1Xbe2Pbfbg3GbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbBbCbDbE7jbFbGbHbIbJbKbL5sbMbN5xbO4A4vbPbQbRbSbTbU2UbVbWbXbY", +"0gbZb&c 1Mc0c11S2J5J6Fc2c3c4c5c64zc7c8c9cacbcca46ccdce6mcfcgchcicjckclcm6n6n6ncfcncocpcqcrcs5jbN5xctcucvcwcxcyczcA5IcBcCcDcEcFcG", +"cH0fcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc&d d05id18n6bd2d3d4d5d6d7d8d8d9d9daaVdaa5dbdcdddedfaZdgdhdidjdkdl3Ndmdndo2Zdpdqdrds1Udt", +"dudvdwdxdydzdAdBdCdDdEdFdG4ndHdIdJdKdLdMdNdOdPd3dQdRdRdSdT9i9idUdV8odWdX5kaXdVdY5idZd&9je e0e1e2e3e43Me5dm3E2W2X2ZbVe6e7e8e92J1S", +"eaeb BecedeeefegehcWeiejekbJelemeneoepeqereseteu5x9k4v8q4zev8qewa&4y4y4zctexeyeza&eAeBeCeDeEeF3JeGeHeIeJ3C7AeKbV2P5J5JeLeMeNeOeP", +"eQ w1pdveReSeTeUeVeWeXeYeZe&f f0f1f2f3f4f5f65Cf7f84Lf93O4L3Jb23K7w5C3K5Cfa4vctb09E3K4rfbfcfdfeff9Cfg2W6E2Z2S2Map8zfhfifjfk1Q171O", +"fl09eQ1p z BfmfnfofpfqfrfsftfufvfwfxfyfzfAelfBfCfD3K2W3CdncAdneJ9CfE4taVfFfGfH5t9l9C4n4nfIfJfKfL6E2O6F572NfMfNfOfPfQfRfSfT1O1NfU", +"06fVfW tea1pfXfYfZf&g g0g1g2g3g4g5g6g787g8dUg 9o9gfF3E57bV2M2PbVg95jaOgagbgcgdgegf8rgg2P8yghgigjgkglgmgngogpgqgrgsgtgugv11gwgxgy", +"gzgAgBgCgDgD HgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSaRbDgggT9c2 1VcG20gl3EgUgVelgWgegXgWgYgZ9l1Y1Yg81Vg&h h0h1h2h3h4h5h6h711h8h90pgxhahb", +"hc jhdhe NfW0haR7whfhghhhihjhkhldnhmhn5qho1M8rhp3H5JfFfg1Q1TeK4yhqhrhshththuhvhwgahxhyhzhA8JgScNhBhChDhEhFhG1M1LhHaj0p0qha0WhI0g"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleBaseVisibility.xpm b/2009-x64/cps4.03/icons/cpscToggleBaseVisibility.xpm new file mode 100644 index 0000000..b01ff8d --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleBaseVisibility.xpm @@ -0,0 +1,844 @@ +/* XPM */ +static char *TOGGLEB_xpm[]={ +"41 24 817 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #6F6F5C", +" b c #8C8D5C", +" c c #6E6D5E", +" d c #5D5E5C", +" e c #5C5C5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #5C5C55", +" v c #636364", +" w c #666864", +" x c #646562", +" y c #615F60", +" z c #5F5F5F", +" A c #60605D", +" B c #63625B", +" C c #6C6956", +" D c #78704D", +" E c #817842", +" F c #A49135", +" G c #EFE039", +" H c #BFB549", +" I c #716E5A", +" J c #5A5957", +" K c #555655", +" L c #555554", +" M c #545455", +" N c #555553", +" O c #545454", +" P c #545253", +" Q c #535353", +" R c #525252", +" S c #515251", +" T c #525152", +" U c #515151", +" V c #525151", +" W c #525051", +" X c #525251", +" Y c #525250", +" Z c #515252", +" & c #525352", +"0 c #535251", +"00 c #515152", +"01 c #585A52", +"02 c #696C55", +"03 c #7D7255", +"04 c #E0C95D", +"05 c #D9D574", +"06 c #918B51", +"07 c #9B8B40", +"08 c #978634", +"09 c #8D7E2C", +"0a c #84752D", +"0b c #807532", +"0c c #6B643F", +"0d c #6A6546", +"0e c #AC9E2E", +"0f c #787446", +"0g c #998D4C", +"0h c #B0A467", +"0i c #797555", +"0j c #595752", +"0k c #515150", +"0l c #4E4F50", +"0m c #4E4E4E", +"0n c #4F4F4F", +"0o c #4D4E4F", +"0p c #4E4E4D", +"0q c #4D4D4D", +"0r c #4D4D4C", +"0s c #4C4D4D", +"0t c #4D4C4C", +"0u c #4D4C4D", +"0v c #4C4C4C", +"0w c #4D4E4C", +"0x c #4D4D4E", +"0y c #4E4F4E", +"0z c #899055", +"0A c #5D5F51", +"0B c #5B5959", +"0C c #827145", +"0D c #FCBB11", +"0E c #E4D336", +"0F c #D0C658", +"0G c #877F4F", +"0H c #645F4A", +"0I c #56544F", +"0J c #535151", +"0K c #515050", +"0L c #4F514F", +"0M c #58544A", +"0N c #776E33", +"0O c #4E4E4B", +"0P c #5D5B47", +"0Q c #AD9E51", +"0R c #8E8450", +"0S c #64604C", +"0T c #4C4D4A", +"0U c #4A4A49", +"0V c #494A49", +"0W c #494A4A", +"0X c #484949", +"0Y c #494948", +"0Z c #474848", +"0& c #494849", +"1 c #484948", +"10 c #474948", +"11 c #494947", +"12 c #484848", +"13 c #4A4949", +"14 c #4A4B4B", +"15 c #4A4B4A", +"16 c #686A50", +"17 c #7F8C4C", +"18 c #4B4C4B", +"19 c #565756", +"1a c #5F594F", +"1b c #947C32", +"1c c #B2A932", +"1d c #79743D", +"1e c #A1964C", +"1f c #AAA26D", +"1g c #76725E", +"1h c #505050", +"1i c #4D4C4B", +"1j c #4B4B4A", +"1k c #545244", +"1l c #685F34", +"1m c #494848", +"1n c #474747", +"1o c #464847", +"1p c #525141", +"1q c #6C633D", +"1r c #958743", +"1s c #A39652", +"1t c #6E6848", +"1u c #6B6947", +"1v c #5A5A46", +"1w c #464444", +"1x c #444343", +"1y c #444344", +"1z c #434445", +"1A c #444443", +"1B c #444544", +"1C c #444445", +"1D c #444645", +"1E c #454645", +"1F c #464646", +"1G c #474646", +"1H c #4E4E48", +"1I c #A9B258", +"1J c #525747", +"1K c #494949", +"1L c #505151", +"1M c #5B583D", +"1N c #655F31", +"1O c #4E4D4D", +"1P c #565545", +"1Q c #635F3C", +"1R c #928A4B", +"1S c #AEA775", +"1T c #75715C", +"1U c #4B4B49", +"1V c #5A543B", +"1W c #5D5634", +"1X c #434444", +"1Y c #444242", +"1Z c #424242", +"1& c #414141", +"2 c #424041", +"20 c #434340", +"21 c #59543A", +"22 c #928533", +"23 c #DFCE2E", +"24 c #D9C734", +"25 c #4B493E", +"26 c #403F40", +"27 c #3E3F3F", +"28 c #3F3F3E", +"29 c #3F4040", +"2a c #3F3F40", +"2b c #404041", +"2c c #404141", +"2d c #414040", +"2e c #414241", +"2f c #434343", +"2g c #929554", +"2h c #809046", +"2i c #454644", +"2j c #464545", +"2k c #595539", +"2l c #5F5934", +"2m c #484748", +"2n c #454646", +"2o c #474742", +"2p c #5C5B38", +"2q c #898342", +"2r c #ADA569", +"2s c #92884D", +"2t c #5A543A", +"2u c #3F3E3F", +"2v c #3F3D3D", +"2w c #3D3E3E", +"2x c #3D3C3D", +"2y c #3C3C3D", +"2z c #3C3D3D", +"2A c #43413A", +"2B c #5D562F", +"2C c #6E6922", +"2D c #A8921C", +"2E c #AF9427", +"2F c #3D3D3B", +"2G c #3A3B3C", +"2H c #3A3B3B", +"2I c #3B3B3C", +"2J c #3C3A3B", +"2K c #3C3B3B", +"2L c #3B3B3D", +"2M c #3D3C3C", +"2N c #3C3D3E", +"2O c #3D3D3D", +"2P c #3E3E3E", +"2Q c #40403E", +"2R c #5E5E46", +"2S c #AEC34F", +"2T c #4B5040", +"2U c #424142", +"2V c #424442", +"2W c #4B4B4C", +"2X c #484A49", +"2Y c #595434", +"2Z c #5A5534", +"2& c #444444", +"3 c #424342", +"30 c #414041", +"31 c #3F403F", +"32 c #41413D", +"33 c #514E37", +"34 c #8D823E", +"35 c #B6AC6D", +"36 c #7F7A58", +"37 c #4E4A40", +"38 c #4E5040", +"39 c #4C4B3E", +"3a c #413F39", +"3b c #5D5630", +"3c c #766D24", +"3d c #534F27", +"3e c #444133", +"3f c #73661E", +"3g c #3A3A35", +"3h c #373637", +"3i c #373736", +"3j c #363737", +"3k c #373737", +"3l c #373638", +"3m c #373838", +"3n c #393939", +"3o c #39393A", +"3p c #3B3939", +"3q c #3B3A3A", +"3r c #B9C258", +"3s c #748E3A", +"3t c #3E3F3E", +"3u c #3F3F3F", +"3v c #464746", +"3w c #5A5530", +"3x c #5A5334", +"3y c #414140", +"3z c #3E3D3E", +"3A c #3A3C3B", +"3B c #3C3B39", +"3C c #746626", +"3D c #544F2E", +"3E c #7E7333", +"3F c #BCA44C", +"3G c #EDD24B", +"3H c #E7E161", +"3I c #A89B36", +"3J c #5C5729", +"3K c #3A3931", +"3L c #343534", +"3M c #564F30", +"3N c #635B21", +"3O c #343432", +"3P c #333332", +"3Q c #323333", +"3R c #323432", +"3S c #333435", +"3T c #343434", +"3U c #353534", +"3V c #353736", +"3W c #383737", +"3X c #3A3939", +"3Y c #84834C", +"3Z c #A4C743", +"3& c #454C38", +"4 c #3C3C3C", +"40 c #3E3E3F", +"41 c #454543", +"42 c #5B562E", +"43 c #554F37", +"44 c #3D3D3E", +"45 c #3B3D3B", +"46 c #393A39", +"47 c #373738", +"48 c #3C3D35", +"49 c #736524", +"4a c #363533", +"4b c #353631", +"4c c #9E771C", +"4d c #FDB10C", +"4e c #FDE12F", +"4f c #787433", +"4g c #303030", +"4h c #31312F", +"4i c #2F2F2F", +"4j c #6B5E25", +"4k c #444027", +"4l c #2F2E2E", +"4m c #2E2E2E", +"4n c #302F2F", +"4o c #30302F", +"4p c #323231", +"4q c #434236", +"4r c #777846", +"4s c #909E49", +"4t c #92AC44", +"4u c #7B953E", +"4v c #556638", +"4w c #51523D", +"4x c #C8D959", +"4y c #6E8F31", +"4z c #393B39", +"4A c #3B3B3B", +"4B c #3B3C3C", +"4C c #3B3A3B", +"4D c #444345", +"4E c #5A562A", +"4F c #504C33", +"4G c #3E3D3D", +"4H c #3C3B3C", +"4I c #3A393A", +"4J c #393838", +"4K c #363634", +"4L c #4F4D37", +"4M c #776927", +"4N c #343331", +"4O c #2F2E2F", +"4P c #514528", +"4Q c #C49111", +"4R c #C0AD27", +"4S c #3F3F2C", +"4T c #2D2C2B", +"4U c #2D2C2C", +"4V c #31302C", +"4W c #675E20", +"4X c #31342A", +"4Y c #2C2B2C", +"4Z c #2B2B2C", +"4& c #2C2D2C", +"5 c #2E2E2D", +"50 c #696C4D", +"51 c #C2D26A", +"52 c #A0C540", +"53 c #7AA230", +"54 c #719C2B", +"55 c #7FB32F", +"56 c #A3DA3E", +"57 c #D0E15D", +"58 c #9AC739", +"59 c #444F32", +"5a c #383738", +"5b c #383A38", +"5c c #393A3A", +"5d c #5B5629", +"5e c #4F4B32", +"5f c #3B3D3C", +"5g c #383839", +"5h c #353636", +"5i c #3C3A35", +"5j c #C4B539", +"5k c #E0D749", +"5l c #4E4F3A", +"5m c #2F302A", +"5n c #615A14", +"5o c #292718", +"5p c #212121", +"5q c #292828", +"5r c #292A29", +"5s c #3C382A", +"5t c #5F5A1A", +"5u c #2A2A29", +"5v c #2C2C2A", +"5w c #7F7F4F", +"5x c #B9D45E", +"5y c #567028", +"5z c #2C3223", +"5A c #202220", +"5B c #202221", +"5C c #242721", +"5D c #6E7A3B", +"5E c #C3E354", +"5F c #7BAC2A", +"5G c #3E4731", +"5H c #363637", +"5I c #2B2B2B", +"5J c #404040", +"5K c #4E4934", +"5L c #373839", +"5M c #403E37", +"5N c #645933", +"5O c #79672C", +"5P c #61562B", +"5Q c #625B24", +"5R c #78723B", +"5S c #827949", +"5T c #4D4A2C", +"5U c #5E5711", +"5V c #191915", +"5W c #161616", +"5X c #232223", +"5Y c #282A29", +"5Z c #4F4725", +"5& c #433F1F", +"6 c #272829", +"60 c #292727", +"61 c #282829", +"62 c #45502D", +"63 c #B9D455", +"64 c #4D6623", +"65 c #1F211E", +"66 c #181818", +"67 c #161617", +"68 c #161816", +"69 c #2F3020", +"6a c #C7D35C", +"6b c #92C733", +"6c c #7AAC29", +"6d c #567821", +"6e c #383736", +"6f c #2E2F2E", +"6g c #222222", +"6h c #424141", +"6i c #40403F", +"6j c #5F5726", +"6k c #4A4735", +"6l c #45423B", +"6m c #665D37", +"6n c #7F6F2E", +"6o c #4F4A30", +"6p c #313132", +"6q c #1D1B1D", +"6r c #181718", +"6s c #312D21", +"6t c #786E27", +"6u c #645B18", +"6v c #2E2C21", +"6w c #161615", +"6x c #1B1A1A", +"6y c #272828", +"6z c #665E21", +"6A c #343528", +"6B c #2B2A2A", +"6C c #2A292A", +"6D c #989F4A", +"6E c #99D134", +"6F c #688A2D", +"6G c #252C1A", +"6H c #161516", +"6I c #171716", +"6J c #21211E", +"6K c #AFAF52", +"6L c #AFD845", +"6M c #688E24", +"6N c #455A23", +"6O c #6B9B20", +"6P c #3B442C", +"6Q c #323233", +"6R c #242423", +"6S c #1C1D1C", +"6T c #414342", +"6U c #474845", +"6V c #716931", +"6W c #625D3D", +"6X c #736A3D", +"6Y c #887932", +"6Z c #534C34", +"6& c #393936", +"7 c #363735", +"70 c #333331", +"71 c #1F1E1D", +"72 c #181817", +"73 c #1E1F1E", +"74 c #5B5416", +"75 c #564E20", +"76 c #787038", +"77 c #706734", +"78 c #302C21", +"79 c #25251C", +"7a c #5F5B1B", +"7b c #2E2F2D", +"7c c #2D2D2D", +"7d c #2D2C2D", +"7e c #31312C", +"7f c #B5CB4C", +"7g c #5B7E23", +"7h c #85B92E", +"7i c #89BF32", +"7j c #405222", +"7k c #252622", +"7l c #62633A", +"7m c #CBE254", +"7n c #8EC230", +"7o c #3E4B2B", +"7p c #2F3629", +"7q c #6FA026", +"7r c #3B501F", +"7s c #282626", +"7t c #1E1F1F", +"7u c #1E1C1C", +"7v c #434243", +"7w c #957D3E", +"7x c #DFC85E", +"7y c #D6D043", +"7z c #5E5A36", +"7A c #3F3E3B", +"7B c #353535", +"7C c #232424", +"7D c #252424", +"7E c #211F1F", +"7F c #565014", +"7G c #403C25", +"7H c #2E2D2B", +"7I c #3C3921", +"7J c #827735", +"7K c #B6AC4F", +"7L c #978E2F", +"7M c #2D2C28", +"7N c #2F302F", +"7O c #393C30", +"7P c #B2D846", +"7Q c #3D5020", +"7R c #41581F", +"7S c #8BC52D", +"7T c #9BD535", +"7U c #84A33B", +"7V c #D1D960", +"7W c #A0D238", +"7X c #6D9229", +"7Y c #373834", +"7Z c #3B3D35", +"7& c #739E29", +"8 c #3F571A", +"80 c #202020", +"81 c #1D1D1C", +"82 c #1E1D1D", +"83 c #7C6532", +"84 c #DEB11E", +"85 c #847D26", +"86 c #5D592B", +"87 c #49483B", +"88 c #3A3A3B", +"89 c #232323", +"8a c #313131", +"8b c #363630", +"8c c #5C5515", +"8d c #2A2A20", +"8e c #292B29", +"8f c #232322", +"8g c #575030", +"8h c #C2A42D", +"8i c #B99423", +"8j c #23211F", +"8k c #262728", +"8l c #303131", +"8m c #373832", +"8n c #96C93B", +"8o c #47621F", +"8p c #1D1F1A", +"8q c #638E25", +"8r c #89C02C", +"8s c #A0D538", +"8t c #AFDC44", +"8u c #8DC32E", +"8v c #475331", +"8w c #3C3F38", +"8x c #76A42A", +"8y c #394C1B", +"8z c #1D1E1C", +"8A c #1D1E1E", +"8B c #1E201E", +"8C c #454546", +"8D c #4F4C40", +"8E c #444441", +"8F c #535037", +"8G c #796F28", +"8H c #4C4A31", +"8I c #3E3F3C", +"8J c #3C3D3C", +"8K c #282727", +"8L c #363536", +"8M c #49442F", +"8N c #5F5917", +"8O c #292927", +"8P c #21211F", +"8Q c #4A4124", +"8R c #907F2B", +"8S c #4A452F", +"8T c #403F34", +"8U c #303031", +"8V c #222322", +"8W c #262627", +"8X c #333432", +"8Y c #6A902F", +"8Z c #638D23", +"8& c #22231E", +"9 c #37402C", +"90 c #6D9C22", +"91 c #8BC12B", +"92 c #94CE32", +"93 c #6D932B", +"94 c #393B37", +"95 c #505F35", +"96 c #7BAB26", +"97 c #2B351C", +"98 c #1E1F1D", +"99 c #1F1E1F", +"9a c #222223", +"9b c #454544", +"9c c #424343", +"9d c #46453D", +"9e c #545128", +"9f c #5E5A1C", +"9g c #504F36", +"9h c #2A2A2B", +"9i c #373837", +"9j c #514E2B", +"9k c #5C551E", +"9l c #3A3838", +"9m c #5C542A", +"9n c #8A7A26", +"9o c #3F3E30", +"9p c #38383A", +"9q c #343435", +"9r c #262625", +"9s c #272726", +"9t c #414D30", +"9u c #6A9A21", +"9v c #425722", +"9w c #435726", +"9x c #7DB224", +"9y c #8DC52F", +"9z c #485733", +"9A c #3A3B3A", +"9B c #444939", +"9C c #729F2C", +"9D c #5A7D1D", +"9E c #20231F", +"9F c #201F1F", +"9G c #222021", +"9H c #484849", +"9I c #474748", +"9J c #454746", +"9K c #444546", +"9L c #49483A", +"9M c #635E20", +"9N c #746F37", +"9O c #46453B", +"9P c #282928", +"9Q c #3A3A39", +"9R c #635C20", +"9S c #524E2C", +"9T c #736839", +"9U c #877724", +"9V c #2C2A1F", +"9W c #272627", +"9X c #383838", +"9Y c #272827", +"9Z c #516D25", +"9& c #6D9E21", +"a c #5A7530", +"a0 c #2D3324", +"a1 c #5F8724", +"a2 c #6E9A29", +"a3 c #3D413C", +"a4 c #4C573B", +"a5 c #729D2E", +"a6 c #67911F", +"a7 c #2B351D", +"a8 c #202021", +"a9 c #252425", +"aa c #363736", +"ab c #4C4B4B", +"ac c #4B4B4B", +"ad c #4A484A", +"ae c #474847", +"af c #464645", +"ag c #464542", +"ah c #58553C", +"ai c #776F29", +"aj c #494726", +"ak c #47473E", +"al c #6B631E", +"am c #907F33", +"an c #837328", +"ao c #413F38", +"ap c #272526", +"aq c #2C2B2B", +"ar c #29292A", +"as c #403F3F", +"at c #3E403E", +"au c #262823", +"av c #46611F", +"aw c #67971E", +"ax c #7CAC2C", +"ay c #649123", +"az c #648F25", +"aA c #688F2A", +"aB c #72A324", +"aC c #5D831D", +"aD c #2F3820", +"aE c #212122", +"aF c #4A4A4B", +"aG c #494A4B", +"aH c #49494A", +"aI c #464747", +"aJ c #44433B", +"aK c #595325", +"aL c #C3B24D", +"aM c #B5AB34", +"aN c #AF9E2F", +"aO c #484740", +"aP c #282929", +"aQ c #2E2E2F", +"aR c #414143", +"aS c #313232", +"aT c #252524", +"aU c #2D3423", +"aV c #496425", +"aW c #567E1D", +"aX c #557F1A", +"aY c #4F751A", +"aZ c #3D4F24", +"a& c #292C24", +"b c #212321", +"b0 c #232222", +"b1 c #4F4F50", +"b2 c #4F4F4E", +"b3 c #4C4B4D", +"b4 c #4A4C4B", +"b5 c #4A4A4A", +"b6 c #4A494A", +"b7 c #3D3F3D", +"b8 c #393530", +"b9 c #DF9817", +"ba c #FAC928", +"bb c #837838", +"bc c #434242", +"bd c #2A2928", +"be c #424443", +"bf c #2B2C2C", +"bg c #414242", +"bh c #454445", +"bi c #383837", +"bj c #262526", +"bk c #262927", +"bl c #252523", +"bm c #242322", +"bn c #242325", +"bo c #252325", +"bp c #232423", +"bq c #242525", +"br c #535352", +"bs c #504F4F", +"bt c #4F4E4F", +"bu c #6F5D3D", +"bv c #9D8331", +"bw c #515049", +"bx c #2E2D2D", +"by c #454545", +"bz c #333232", +"bA c #272826", +"bB c #414142", +"bC c #464546", +"bD c #2A2B2A", +"bE c #252324", +"bF c #242524", +"bG c #252426", +"bH c #252526", +"bI c #2B2A2C", +"bJ c #383937", +"bK c #484847", +"bL c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u f g h i j k l", +" 4 v w x y z A B C D E F G H I J K L M M N O P Q R S T U V W U X T Y U Z &0 000102", +" z030405060708090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0u0v0t0w0r0w0r0x0y0n0z0A", +"0B0C0D0E0F0G0H0I0J0K0L0M0N0x0O0P E0Q0R0S0T0U0V0W0X0Y0Z0&1 10110X120X1 131415161718", +"191a1b1c1d1e1f1g1h1i1j1k1l1m1n1n1o1p1q1r1s1t1u1v1w1x1x1y1z1y1A1B1C1D1E1F1G1H1I1J1K", +"0J1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1Z1&2 202122232425262728292a2b2c2d1Z2e2f1A2g2h2i2j", +"0p0r2k2l122m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V", +"2W2X2Y2Z1w2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q2I323r3s3t3u2b", +"123v3w3x2U3y3u3z2M3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3P3Q3R3S3T3U3V3j3W3X3Y3Z3&4 2O40", +"1F4142432u44452H464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C", +"4D3 4E4F4G4H4I4J3j4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c3L", +"3 2b5d5e5f5c5g3i5h5i5j5k5l4m5m5n5o5p5q5r5s5t5u5q5r5v5w5x5y5z5A5B5C5D5E5F5G3W3m5H5I", +"1Z5J3J5K3A3X5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e3j6f6g", +"6h6i6j6k456l6m6n6o4a6p6q6r6s6t6u6v6w6x6y6z6A6B5u6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S", +"6T6U6V6W6X6Y6Z6&7 3L707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u", +"7v7w7x7y7z7A3q5g3k5H7B7C7D7E7F7G7H7I7J7K7L7M4O7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182", +"1X83848586874B883X4J3k898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v5a8w8x8y8z8A8B", +"8C1A8D8E8F8G8H8I8J2H3n8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 90919293943X95969798999a", +"2m3v9b1y9c9d9e9f9g2v2M9h9i9j9k9l9m9n9o9p3n3n9q9r9s9t9u9v4l9w9x9y9z9A9B9C9D9E9F9G9h", +"9H119I9J9K1x1y9L9M9N9O9P9Q9R9S9T9U9V9W9X4 4 4B5g6C9Y9Z9&a a0a1a2a3a4a5a6a7a8a8a9aa", +"abacad11ae1Gaf1Eagahaiajakalamanaoapaqar46as6iat2z5 auavawaxayazaAaBaCaDaE6g6g5I8J", +"0q0v18aFaGaH12aeaeaIaJaKaLaMaNaO2PaP2OaQaq2M2caR6h26aSaTaUaVaWaXaYaZa&b 5Xb05q9i3 ", +"b10nb20x0qb318b4b5b6b7b8b9babb1nbcbd31be8lbf3Wbg1Ebh1Xbi9sbjbkblbmbnbobpbqaT4i1&12", +"br T00 Ubsbt0y0q0s0q40bibubvbw13aebx3t0XbybzbA4g2ubB9bbC4AbDbEbFa9bGa9bH9rbIbJbKbL"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleDGEvalMode.xpm b/2009-x64/cps4.03/icons/cpscToggleDGEvalMode.xpm new file mode 100644 index 0000000..2e6eb97 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleDGEvalMode.xpm @@ -0,0 +1,1223 @@ +/* XPM */ +static char *CPSC_xpm[]={ +"64 24 1196 2", +" c #727171", +" 0 c #717170", +" 1 c #6F7170", +" 2 c #6F6E6E", +" 3 c #6E6E6E", +" 4 c #6D6C6E", +" 5 c #6D6C6B", +" 6 c #6C6B6B", +" 7 c #6A6A6B", +" 8 c #696868", +" 9 c #686969", +" a c #686767", +" b c #676667", +" c c #656565", +" d c #9A9054", +" e c #E6E67C", +" f c #999862", +" g c #616261", +" h c #5F6060", +" i c #5F5F60", +" j c #605F5F", +" k c #5D5D5E", +" l c #5D5E5E", +" m c #5D5C5C", +" n c #5B5C5C", +" o c #5B5B5A", +" p c #5A5A5A", +" q c #5A5959", +" r c #595859", +" s c #595858", +" t c #595758", +" u c #585857", +" v c #565757", +" w c #565657", +" x c #555656", +" y c #555556", +" z c #555455", +" A c #545555", +" B c #545455", +" C c #555554", +" D c #535353", +" E c #535354", +" F c #535454", +" G c #545354", +" H c #545453", +" I c #535455", +" J c #545454", +" K c #555454", +" L c #565655", +" M c #565556", +" N c #575656", +" O c #565656", +" P c #565857", +" Q c #575858", +" R c #58585A", +" S c #6D6E6D", +" T c #6E6D6D", +" U c #6B6B6B", +" V c #6B6A6B", +" W c #6A696A", +" X c #696969", +" Y c #686867", +" Z c #676766", +" & c #656666", +"0 c #737266", +"00 c #8F8D6D", +"01 c #9C925B", +"02 c #A3994F", +"03 c #BCA943", +"04 c #C6A839", +"05 c #FAE433", +"06 c #C9BA50", +"07 c #5B5C5D", +"08 c #5A5B5B", +"09 c #595A5A", +"0a c #585858", +"0b c #585859", +"0c c #565756", +"0d c #545353", +"0e c #525352", +"0f c #515151", +"0g c #505250", +"0h c #505050", +"0i c #50504F", +"0j c #504F51", +"0k c #4F504F", +"0l c #504F4F", +"0m c #4F4F4F", +"0n c #4F5050", +"0o c #4F4F50", +"0p c #515150", +"0q c #515051", +"0r c #515252", +"0s c #535352", +"0t c #525454", +"0u c #535453", +"0v c #575755", +"0w c #696A69", +"0x c #979271", +"0y c #BEBC8A", +"0z c #84826E", +"0A c #888776", +"0B c #95937B", +"0C c #B9AC6A", +"0D c #B6A96A", +"0E c #BAA75D", +"0F c #A19361", +"0G c #8E7D42", +"0H c #6B6F51", +"0I c #666253", +"0J c #5C5B5C", +"0K c #8C8234", +"0L c #726B4A", +"0M c #A9994C", +"0N c #616058", +"0O c #565555", +"0P c #535252", +"0Q c #505051", +"0R c #504F50", +"0S c #4F504E", +"0T c #4F4F4E", +"0U c #4F4F4D", +"0V c #4D4E4E", +"0W c #4E4E4E", +"0X c #4E4C4D", +"0Y c #4D4C4B", +"0Z c #4C4C4C", +"0& c #4B4B4B", +"1 c #4B4B4C", +"10 c #4B4A4A", +"11 c #4C4C4A", +"12 c #4A4A4C", +"13 c #4A4B4A", +"14 c #4B4B4A", +"15 c #4C4D4C", +"16 c #4E4D4C", +"17 c #4C4C4D", +"18 c #4E4D4E", +"19 c #4E4F4F", +"1a c #4E4D4F", +"1b c #4E5050", +"1c c #515050", +"1d c #525152", +"1e c #515352", +"1f c #666665", +"1g c #D3A83C", +"1h c #FCE85A", +"1i c #D5C356", +"1j c #9A8D4D", +"1k c #827A46", +"1l c #6D6853", +"1m c #656356", +"1n c #5C5D5B", +"1o c #59595B", +"1p c #595958", +"1q c #585957", +"1r c #575757", +"1s c #70642D", +"1t c #5B5A4F", +"1u c #5A584B", +"1v c #A29245", +"1w c #757156", +"1x c #4D4D4E", +"1y c #4C4E4D", +"1z c #4C4D4D", +"1A c #4C4B4C", +"1B c #4B4A4B", +"1C c #494A4A", +"1D c #4A494A", +"1E c #494948", +"1F c #484849", +"1G c #484949", +"1H c #484947", +"1I c #484747", +"1J c #464746", +"1K c #484748", +"1L c #474747", +"1M c #474647", +"1N c #464647", +"1O c #474746", +"1P c #474748", +"1Q c #484847", +"1R c #474848", +"1S c #494849", +"1T c #494949", +"1U c #4A4A49", +"1V c #4C4B4A", +"1W c #4B4C4B", +"1X c #4D4C4C", +"1Y c #4D4C4D", +"1Z c #4E4E4F", +"1& c #4F4E4E", +"2 c #525251", +"20 c #626262", +"21 c #8A7751", +"22 c #CBA330", +"23 c #C8B246", +"24 c #62615C", +"25 c #5C5D5C", +"26 c #5B5A5B", +"27 c #5A5B59", +"28 c #616160", +"29 c #7A7C75", +"2a c #96968E", +"2b c #A0A199", +"2c c #95958D", +"2d c #797871", +"2e c #645A33", +"2f c #5B584A", +"2g c #4E4D4D", +"2h c #4E4E4B", +"2i c #8C824E", +"2j c #8A8557", +"2k c #4E5F4D", +"2l c #547D53", +"2m c #494D49", +"2n c #464547", +"2o c #464545", +"2p c #444544", +"2q c #444344", +"2r c #444343", +"2s c #444443", +"2t c #434343", +"2u c #434342", +"2v c #434142", +"2w c #424242", +"2x c #424343", +"2y c #424241", +"2z c #424141", +"2A c #434242", +"2B c #434243", +"2C c #424344", +"2D c #454343", +"2E c #454545", +"2F c #444545", +"2G c #454647", +"2H c #4A494B", +"2I c #4A4A4A", +"2J c #4D4E4F", +"2K c #60605F", +"2L c #5E5E5D", +"2M c #6E622D", +"2N c #8C7A27", +"2O c #B9A94D", +"2P c #58595A", +"2Q c #575857", +"2R c #70726C", +"2S c #A7A89D", +"2T c #D3D5CB", +"2U c #F3F4EF", +"2V c #FAFBF5", +"2W c #DFDFD7", +"2X c #B5B7AD", +"2Y c #9B9C8B", +"2Z c #727266", +"2& c #474948", +"3 c #474646", +"30 c #589647", +"31 c #69FE62", +"32 c #70FE69", +"33 c #5CCF56", +"34 c #424A41", +"35 c #414641", +"36 c #404A41", +"37 c #414A3F", +"38 c #404B40", +"39 c #404A40", +"3a c #40483F", +"3b c #3F433F", +"3c c #3F3E3E", +"3d c #3E3E3F", +"3e c #3E3F3F", +"3f c #3D3D3E", +"3g c #3D3E3D", +"3h c #3E3E3E", +"3i c #3E3D3E", +"3j c #3F3F3E", +"3k c #3D3F3F", +"3l c #403F40", +"3m c #3F3F40", +"3n c #3F403F", +"3o c #41403F", +"3p c #414041", +"3q c #414242", +"3r c #414241", +"3s c #434344", +"3t c #444444", +"3u c #454445", +"3v c #464546", +"3w c #464747", +"3x c #4B4C4C", +"3y c #5C5C5C", +"3z c #70692A", +"3A c #635A46", +"3B c #897F39", +"3C c #A79B55", +"3D c #6A6A5F", +"3E c #8C8E83", +"3F c #B6B7AE", +"3G c #EFEEE7", +"3H c #FFFEFE", +"3I c #FEFFFF", +"3J c #F0F0E7", +"3K c #BABBB1", +"3L c #9B9C90", +"3M c #888A7D", +"3N c #6E6F66", +"3O c #505047", +"3P c #6E6A4B", +"3Q c #82993D", +"3R c #4DF43A", +"3S c #66FF45", +"3T c #9EF456", +"3U c #7A8A54", +"3V c #5E7053", +"3W c #4D6848", +"3X c #476541", +"3Y c #4A6B42", +"3Z c #456240", +"3& c #415940", +"4 c #3F513E", +"40 c #3F4C3E", +"41 c #40513F", +"42 c #40523F", +"43 c #405340", +"44 c #40503F", +"45 c #3E4C3E", +"46 c #3E4A3D", +"47 c #3D473D", +"48 c #3C413B", +"49 c #3B3B3A", +"4a c #3B3A3A", +"4b c #3B3C3B", +"4c c #3C3D3D", +"4d c #3D3D3D", +"4e c #3F3E3F", +"4f c #404040", +"4g c #414141", +"4h c #424443", +"4i c #434444", +"4j c #464646", +"4k c #484647", +"4l c #5B595A", +"4m c #585958", +"4n c #615D41", +"4o c #786A2D", +"4p c #545553", +"4q c #968B36", +"4r c #9B8F5E", +"4s c #726F62", +"4t c #82847B", +"4u c #A4A59A", +"4v c #D1D1C6", +"4w c #F5F3EF", +"4x c #F2F2EA", +"4y c #D6D6CB", +"4z c #AFAF9E", +"4A c #ABAB88", +"4B c #B4A76A", +"4C c #A69A46", +"4D c #988537", +"4E c #756920", +"4F c #5A602C", +"4G c #3EF036", +"4H c #7CFF46", +"4I c #F5F159", +"4J c #E5E25E", +"4K c #D1D963", +"4L c #C0D36C", +"4M c #B2C763", +"4N c #A5B65A", +"4O c #829647", +"4P c #618348", +"4Q c #577C46", +"4R c #517844", +"4S c #548246", +"4T c #528145", +"4U c #4C7E44", +"4V c #487B42", +"4W c #426B3F", +"4X c #40623E", +"4Y c #3E593D", +"4Z c #3D513C", +"4& c #3D473C", +"5 c #3C463B", +"50 c #3C443C", +"51 c #3C423B", +"52 c #3B3F3A", +"53 c #3A3C3B", +"54 c #3C3B3B", +"55 c #3D3C3D", +"56 c #3E3F3E", +"57 c #40403F", +"58 c #414140", +"59 c #424442", +"5a c #494848", +"5b c #595757", +"5c c #5D5C41", +"5d c #6C5E29", +"5e c #535244", +"5f c #AD9B3C", +"5g c #9B9479", +"5h c #909186", +"5i c #838478", +"5j c #A2A392", +"5k c #C5C5B2", +"5l c #CDC692", +"5m c #BCB065", +"5n c #A19549", +"5o c #8B7A31", +"5p c #716D47", +"5q c #666353", +"5r c #626154", +"5s c #41423F", +"5t c #3A3B3A", +"5u c #394A35", +"5v c #859A2B", +"5w c #F5DB4C", +"5x c #E6C64D", +"5y c #D0BE4C", +"5z c #C2B34C", +"5A c #B6A347", +"5B c #A3943E", +"5C c #9B9F4C", +"5D c #839952", +"5E c #849D54", +"5F c #85A155", +"5G c #91B35B", +"5H c #8CB25A", +"5I c #85AC57", +"5J c #7EA454", +"5K c #789D51", +"5L c #6F954D", +"5M c #668C4A", +"5N c #557744", +"5O c #45673F", +"5P c #3E5C3C", +"5Q c #3D563B", +"5R c #3B4E3A", +"5S c #3A4538", +"5T c #56A852", +"5U c #60CC5C", +"5V c #60CC5B", +"5W c #3E473D", +"5X c #3D3C3E", +"5Y c #414342", +"5Z c #454544", +"5& c #454646", +"6 c #48494A", +"60 c #575655", +"61 c #57554B", +"62 c #776819", +"63 c #454641", +"64 c #76663C", +"65 c #FFF5D2", +"66 c #FEF7B8", +"67 c #C0B469", +"68 c #A59650", +"69 c #83742F", +"6a c #726842", +"6b c #6B6653", +"6c c #62625A", +"6d c #5B5A51", +"6e c #525B4E", +"6f c #515548", +"6g c #525346", +"6h c #43433D", +"6i c #383738", +"6j c #343332", +"6k c #75661D", +"6l c #FFCB3D", +"6m c #F4B83D", +"6n c #E5A539", +"6o c #D59237", +"6p c #A56E26", +"6q c #977333", +"6r c #746E3D", +"6s c #7D7C42", +"6t c #838746", +"6u c #878B47", +"6v c #97A04E", +"6w c #9CAA53", +"6x c #A0AE58", +"6y c #A4B25C", +"6z c #A5B560", +"6A c #A5B863", +"6B c #A0B964", +"6C c #94B360", +"6D c #86A858", +"6E c #7D9F53", +"6F c #76984F", +"6G c #647F48", +"6H c #5B7645", +"6I c #65C557", +"6J c #60DD58", +"6K c #54FE4C", +"6L c #46B43F", +"6M c #3A3A3A", +"6N c #3B3B3C", +"6O c #3D3C3C", +"6P c #3D3E3E", +"6Q c #454344", +"6R c #545656", +"6S c #77671A", +"6T c #5D594A", +"6U c #393835", +"6V c #57481E", +"6W c #FED416", +"6X c #FEE61F", +"6Y c #8E832B", +"6Z c #4A473D", +"6& c #4E4A41", +"7 c #4A483F", +"70 c #494840", +"71 c #4B473E", +"72 c #45453C", +"73 c #45443A", +"74 c #41483B", +"75 c #45453E", +"76 c #353535", +"77 c #343330", +"78 c #645B1E", +"79 c #F1A430", +"7a c #FDA62C", +"7b c #F49B28", +"7c c #D98525", +"7d c #CC8627", +"7e c #67542F", +"7f c #615532", +"7g c #6D5E36", +"7h c #726238", +"7i c #766638", +"7j c #7A6A3A", +"7k c #8B783E", +"7l c #8E7D41", +"7m c #928544", +"7n c #958C47", +"7o c #98964B", +"7p c #9FA652", +"7q c #A5AF58", +"7r c #A7B15D", +"7s c #A7B260", +"7t c #A6B463", +"7u c #91A15C", +"7v c #8AA25B", +"7w c #85BC5D", +"7x c #78BC53", +"7y c #75BB52", +"7z c #88AC68", +"7A c #7A8861", +"7B c #697054", +"7C c #4E4E43", +"7D c #3C3D3C", +"7E c #3F413F", +"7F c #404041", +"7G c #424243", +"7H c #454546", +"7I c #515251", +"7J c #716528", +"7K c #645E42", +"7L c #2F2F2B", +"7M c #222117", +"7N c #857419", +"7O c #97861D", +"7P c #3B3A24", +"7Q c #303127", +"7R c #36332A", +"7S c #36342A", +"7T c #35362C", +"7U c #38342B", +"7V c #37342C", +"7W c #35362D", +"7X c #393930", +"7Y c #424038", +"7Z c #44433C", +"7& c #333534", +"8 c #333130", +"80 c #6F621E", +"81 c #DF8A25", +"82 c #EE8B21", +"83 c #D07E19", +"84 c #C27419", +"85 c #D18027", +"86 c #C28C31", +"87 c #72592D", +"88 c #6E572E", +"89 c #745C2F", +"8a c #786030", +"8b c #7A6131", +"8c c #7A6333", +"8d c #7A6534", +"8e c #8C7539", +"8f c #8D773B", +"8g c #8F793D", +"8h c #917C3F", +"8i c #937F41", +"8j c #948343", +"8k c #948846", +"8l c #878246", +"8m c #89884A", +"8n c #8D904F", +"8o c #919D55", +"8p c #8FB756", +"8q c #96B55B", +"8r c #C6CE98", +"8s c #CBD4A7", +"8t c #CFD9B1", +"8u c #D4DFA1", +"8v c #DAE179", +"8w c #CDCC58", +"8x c #C9B849", +"8y c #AA8C3D", +"8z c #574B38", +"8A c #454443", +"8B c #464645", +"8C c #514F51", +"8D c #6C6427", +"8E c #6B6239", +"8F c #383834", +"8G c #16150B", +"8H c #2C2A0F", +"8I c #695C16", +"8J c #1F1F16", +"8K c #222119", +"8L c #242619", +"8M c #26271C", +"8N c #282A1E", +"8O c #2B2B22", +"8P c #302E25", +"8Q c #34322A", +"8R c #393830", +"8S c #41413A", +"8T c #3B3C35", +"8U c #333434", +"8V c #33322E", +"8W c #625C1F", +"8X c #B7721C", +"8Y c #CC7513", +"8Z c #C87414", +"8& c #B1681A", +"9 c #C6781E", +"90 c #C57924", +"91 c #C0822B", +"92 c #89642C", +"93 c #7D5B2B", +"94 c #845F2C", +"95 c #87622C", +"96 c #87642D", +"97 c #86652F", +"98 c #957131", +"99 c #947232", +"9a c #927233", +"9b c #8F7235", +"9c c #8D7236", +"9d c #8C7338", +"9e c #7A6838", +"9f c #7B6A39", +"9g c #7B6A3B", +"9h c #7D6D3D", +"9i c #7B6C3E", +"9j c #786C40", +"9k c #736B40", +"9l c #C0BB76", +"9m c #D3D28F", +"9n c #E3E495", +"9o c #E1E37C", +"9p c #EDE968", +"9q c #F8DE55", +"9r c #FEC741", +"9s c #CF801D", +"9t c #6D512C", +"9u c #424341", +"9v c #505152", +"9w c #5C573D", +"9x c #786B2F", +"9y c #484846", +"9z c #161609", +"9A c #1E1F0C", +"9B c #716515", +"9C c #1B1B14", +"9D c #1E1D15", +"9E c #212118", +"9F c #24241A", +"9G c #29281E", +"9H c #2D2C21", +"9I c #303025", +"9J c #36352A", +"9K c #3B3A30", +"9L c #42433B", +"9M c #2D2C2A", +"9N c #37362D", +"9O c #625A21", +"9P c #905A1A", +"9Q c #C3700F", +"9R c #7F5726", +"9S c #564126", +"9T c #B06916", +"9U c #BA721E", +"9V c #B87024", +"9W c #B87628", +"9X c #9B6B2D", +"9Y c #855B29", +"9Z c #8B5E29", +"9& c #90622A", +"a c #92642B", +"a0 c #A26F2C", +"a1 c #A3712D", +"a2 c #A4722D", +"a3 c #A1722E", +"a4 c #9D7230", +"a5 c #987231", +"a6 c #907134", +"a7 c #7E6634", +"a8 c #796334", +"a9 c #725F35", +"aa c #6C5C36", +"ab c #665937", +"ac c #B0A65C", +"ad c #DCD36D", +"ae c #DAD264", +"af c #E9D85D", +"ag c #F6CE4F", +"ah c #FEBC40", +"ai c #CA761A", +"aj c #6E502A", +"ak c #404140", +"al c #424142", +"am c #444445", +"an c #525353", +"ao c #525252", +"ap c #A79B52", +"aq c #DCCC5D", +"ar c #969060", +"as c #413C25", +"at c #18170D", +"au c #736813", +"av c #222016", +"aw c #1E1C16", +"ax c #222219", +"ay c #24251B", +"az c #292A1D", +"aA c #2E2E21", +"aB c #333226", +"aC c #37362B", +"aD c #3D3C32", +"aE c #4A4733", +"aF c #34311A", +"aG c #2F302F", +"aH c #413D2D", +"aI c #5F5723", +"aJ c #513F2A", +"aK c #966524", +"aL c #35322E", +"aM c #3D362C", +"aN c #764D1E", +"aO c #A46318", +"aP c #AF6B1C", +"aQ c #B06A20", +"aR c #AD6D23", +"aS c #A26D28", +"aT c #855927", +"aU c #885B28", +"aV c #8D5E28", +"aW c #9E6829", +"aX c #A36B29", +"aY c #A66C29", +"aZ c #A86F29", +"a& c #A8702A", +"b c #A8712B", +"b0 c #A6722D", +"b1 c #A4722E", +"b2 c #A1722F", +"b3 c #8C6830", +"b4 c #866632", +"b5 c #7D6232", +"b6 c #786034", +"b7 c #94803D", +"b8 c #BFAF49", +"b9 c #D4BF4B", +"ba c #F6D249", +"bb c #FFC33D", +"bc c #ED9226", +"bd c #7A5529", +"be c #434445", +"bf c #525151", +"bg c #BDA12B", +"bh c #E1CB30", +"bi c #8C8838", +"bj c #494A48", +"bk c #242219", +"bl c #685E11", +"bm c #2B2618", +"bn c #201E17", +"bo c #22221A", +"bp c #26261C", +"bq c #29291F", +"br c #2D2D21", +"bs c #323228", +"bt c #38382C", +"bu c #393831", +"bv c #353530", +"bw c #4E4A1E", +"bx c #4C4823", +"by c #43402D", +"bz c #5E5724", +"bA c #353333", +"bB c #333233", +"bC c #323333", +"bD c #323131", +"bE c #3A352F", +"bF c #995812", +"bG c #9C5E17", +"bH c #99601C", +"bI c #965D20", +"bJ c #8A561F", +"bK c #855725", +"bL c #765127", +"bM c #805627", +"bN c #976225", +"bO c #9A6325", +"bP c #9A6425", +"bQ c #9C6527", +"bR c #9F6827", +"bS c #A36A28", +"bT c #A86E29", +"bU c #A86F2A", +"bV c #A9702B", +"bW c #96682D", +"bX c #92672E", +"bY c #8A6430", +"bZ c #936E33", +"b& c #C49A3D", +"c c #C9A039", +"c0 c #CF9F36", +"c1 c #E4972A", +"c2 c #F09224", +"c3 c #EE8E27", +"c4 c #996B34", +"c5 c #444242", +"c6 c #444645", +"c7 c #464748", +"c8 c #5F5E4B", +"c9 c #747038", +"ca c #B8A53B", +"cb c #51504A", +"cc c #605C19", +"cd c #393115", +"ce c #201E16", +"cf c #29271A", +"cg c #26271B", +"ch c #2A2B20", +"ci c #2E2F22", +"cj c #333229", +"ck c #35342D", +"cl c #2D2C2B", +"cm c #262425", +"cn c #353632", +"co c #4F461B", +"cp c #746B2F", +"cq c #656029", +"cr c #363736", +"cs c #363737", +"ct c #363634", +"cu c #353635", +"cv c #343434", +"cw c #714B22", +"cx c #AB5B09", +"cy c #AC640E", +"cz c #A86411", +"cA c #935B1F", +"cB c #53422F", +"cC c #62482B", +"cD c #6B4C29", +"cE c #7A5326", +"cF c #7D5426", +"cG c #7E5527", +"cH c #7E5628", +"cI c #865A28", +"cJ c #996325", +"cK c #9C6425", +"cL c #9D6526", +"cM c #A06726", +"cN c #A16827", +"cO c #A46B29", +"cP c #95652C", +"cQ c #91642D", +"cR c #C08833", +"cS c #C98931", +"cT c #C48027", +"cU c #A26F2A", +"cV c #E99225", +"cW c #F79726", +"cX c #FC9127", +"cY c #D0812B", +"cZ c #6C563B", +"c& c #434544", +"d c #555555", +"d0 c #535253", +"d1 c #504F4E", +"d2 c #817539", +"d3 c #756C2E", +"d4 c #645E23", +"d5 c #59502B", +"d6 c #313028", +"d7 c #2B2B21", +"d8 c #28281D", +"d9 c #2F3026", +"da c #33322A", +"db c #252522", +"dc c #232323", +"dd c #232322", +"de c #353637", +"df c #353223", +"dg c #F2D040", +"dh c #F8E138", +"di c #46453A", +"dj c #3A3838", +"dk c #383938", +"dl c #393738", +"dm c #373737", +"dn c #3C3A35", +"do c #9E5D12", +"dp c #AC5E09", +"dq c #B06B19", +"dr c #473E35", +"ds c #443D35", +"dt c #4D4133", +"du c #534432", +"dv c #584631", +"dw c #5C4830", +"dx c #604930", +"dy c #674C2D", +"dz c #6E4F2B", +"dA c #785328", +"dB c #7D5528", +"dC c #815728", +"dD c #885A27", +"dE c #8F5E27", +"dF c #976227", +"dG c #9D6627", +"dH c #90612A", +"dI c #A7702B", +"dJ c #B47226", +"dK c #99662A", +"dL c #835D31", +"dM c #9C682E", +"dN c #D58626", +"dO c #ED9125", +"dP c #F18C24", +"dQ c #F49124", +"dR c #A26E30", +"dS c #524B43", +"dT c #474847", +"dU c #504F4D", +"dV c #6D6514", +"dW c #5E583E", +"dX c #5E592E", +"dY c #72662B", +"dZ c #373636", +"d& c #252526", +"e c #2E2E2E", +"e0 c #1E1F1E", +"e1 c #20201F", +"e2 c #232324", +"e3 c #35321D", +"e4 c #5E5516", +"e5 c #6B621A", +"e6 c #B28D15", +"e7 c #CCB624", +"e8 c #43423C", +"e9 c #3C3A3B", +"ea c #5C472F", +"eb c #AB671A", +"ec c #4F4437", +"ed c #3F3D3B", +"ee c #423F3A", +"ef c #45403A", +"eg c #494239", +"eh c #4D4337", +"ei c #514436", +"ej c #544534", +"ek c #574734", +"el c #5A4833", +"em c #5E4932", +"en c #664D2F", +"eo c #6B4E2E", +"ep c #6F502D", +"eq c #77532A", +"er c #7A552A", +"es c #7D5629", +"et c #80572A", +"eu c #79552C", +"ev c #8A5D2A", +"ew c #956428", +"ex c #845C2D", +"ey c #835B2F", +"ez c #805B31", +"eA c #A46A2A", +"eB c #C77E25", +"eC c #DE8823", +"eD c #E48721", +"eE c #E78321", +"eF c #DC8223", +"eG c #70593C", +"eH c #4B4B49", +"eI c #545556", +"eJ c #565641", +"eK c #6E6312", +"eL c #655D35", +"eM c #786A23", +"eN c #484848", +"eO c #2A292B", +"eP c #3B3C3A", +"eQ c #323232", +"eR c #232121", +"eS c #262220", +"eT c #423D1C", +"eU c #59581B", +"eV c #494118", +"eW c #282820", +"eX c #272928", +"eY c #2B2B29", +"eZ c #403E3F", +"e& c #3D3E3C", +"f c #3D3D3C", +"f0 c #3C3E3D", +"f1 c #41403C", +"f2 c #47423B", +"f3 c #4B433B", +"f4 c #4D453B", +"f5 c #4E453B", +"f6 c #514639", +"f7 c #544738", +"f8 c #5E4A34", +"f9 c #634C31", +"fa c #664D31", +"fb c #624C32", +"fc c #654D32", +"fd c #694F30", +"fe c #6D5030", +"ff c #6E5130", +"fg c #6E5231", +"fh c #6E5232", +"fi c #6F5434", +"fj c #A76B28", +"fk c #CA8023", +"fl c #D88422", +"fm c #E1841F", +"fn c #E2821E", +"fo c #E4811E", +"fp c #C07926", +"fq c #524E49", +"fr c #575556", +"fs c #5E5C2A", +"ft c #746614", +"fu c #76681E", +"fv c #383836", +"fw c #2F2E2F", +"fx c #353432", +"fy c #3A351F", +"fz c #554A18", +"fA c #605417", +"fB c #36321C", +"fC c #202020", +"fD c #212020", +"fE c #282928", +"fF c #202021", +"fG c #383838", +"fH c #424342", +"fI c #404141", +"fJ c #403F41", +"fK c #3F3F3F", +"fL c #403F3F", +"fM c #3F4040", +"fN c #48433E", +"fO c #4C463D", +"fP c #54483A", +"fQ c #56493A", +"fR c #564A3A", +"fS c #574A39", +"fT c #554839", +"fU c #574838", +"fV c #5B4937", +"fW c #5C4A36", +"fX c #5C4A37", +"fY c #5C4B37", +"fZ c #5D4B38", +"f& c #5D4C39", +"g c #655138", +"g0 c #A96B26", +"g1 c #C57B20", +"g2 c #D7851D", +"g3 c #E5861C", +"g4 c #E07F18", +"g5 c #A6611B", +"g6 c #575149", +"g7 c #5A5859", +"g8 c #555657", +"g9 c #545554", +"ga c #928C4A", +"gb c #B29C2F", +"gc c #615D4B", +"gd c #554A1E", +"ge c #554818", +"gf c #443D1C", +"gg c #262623", +"gh c #232223", +"gi c #222223", +"gj c #222323", +"gk c #232222", +"gl c #222121", +"gm c #212221", +"gn c #2F2D2E", +"go c #2C2D2D", +"gp c #2B2C2B", +"gq c #454444", +"gr c #434442", +"gs c #444342", +"gt c #424244", +"gu c #494540", +"gv c #4D473E", +"gw c #51483D", +"gx c #51493E", +"gy c #51483E", +"gz c #51493F", +"gA c #52493E", +"gB c #544A3E", +"gC c #564A3E", +"gD c #554A3F", +"gE c #62513E", +"gF c #C5741F", +"gG c #D6821C", +"gH c #DE8718", +"gI c #AA691C", +"gJ c #514E4C", +"gK c #5A5B5C", +"gL c #5A595A", +"gM c #5A5958", +"gN c #585959", +"gO c #585658", +"gP c #C9A63C", +"gQ c #FBE32C", +"gR c #CBBA30", +"gS c #44422C", +"gT c #252626", +"gU c #252524", +"gV c #252525", +"gW c #242524", +"gX c #242324", +"gY c #232424", +"gZ c #242322", +"g& c #383837", +"h c #474546", +"h0 c #454645", +"h1 c #464745", +"h2 c #484948", +"h3 c #4B4846", +"h4 c #4E4A44", +"h5 c #4F4A44", +"h6 c #504B44", +"h7 c #504B45", +"h8 c #4E4C49", +"h9 c #755B3E", +"ha c #D87A17", +"hb c #A86C21", +"hc c #54514C", +"hd c #4F5150", +"he c #5C5D5E", +"hf c #5B5B5C", +"hg c #5C5A5C", +"hh c #5A5A5B", +"hi c #585758", +"hj c #575657", +"hk c #72623C", +"hl c #D9C521", +"hm c #7C7636", +"hn c #2E2D2F", +"ho c #272727", +"hp c #272626", +"hq c #252726", +"hr c #262626", +"hs c #242624", +"ht c #242424", +"hu c #353534", +"hv c #2E2E2F", +"hw c #313131", +"hx c #494A49", +"hy c #484A48", +"hz c #484A49", +"hA c #49494A", +"hB c #4C4B4B", +"hC c #4B4D4C", +"hD c #4E4C4C", +"hE c #675745", +"hF c #56544D", +"hG c #525253", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z y A B C D E F G G F H I E J K x L M N O P Q Q Q r q R", +" S T U V W X Y Z &0 0001020304050607 o08090a0b N0c C J J F0d D0e0f0f0g0h0h0h0i0j0h0k0l0m0n0h0o0h0h0p0q0p0f0r0s D0t0u G J B0v w v", +"0w0x0y0z0A0B0C0D0E0F0G0H0I0J080K0L0M0N0O F F0P0r0Q0R0i0S0T0U0V0W0X0Y0Z0&1 1011121 131 141 0&1 150Z161718191a0m1b1c0p1d0r1e D H B", +"1f1g1h1i1j1k1l1m m1n1o1p1q1r O1s1t1u1v1w0T1x1y1z0&1A1B1C1D1E1F1G1H1I1J1K1L1M1J1N1N1O1J1J1I1P1Q1R1S1T1U131V1W1A1X1Y1Z0W1&0o0Q1c2 ", +"20212223242526270b28292a2b2c2d2e2f2g2h2i2j2k2l2m1I2n2o2o2p2p2q2r2s2t2u2v2w2x2y2z2A2x2t2B2C2s2D2E2F2o2G1J1R1H1G2H2I0&0Z0Z0Z2J0W0i", +"2K2L2M2N2O2P0a2Q2R2S2T2U2V2W2X2Y2Z142&3 303132333435363738393a3b3c3d3e3f3g3d3h3i3j3k3l3m3n3o3p3q3r2A3s3t3u3v3w1N1R1S1T1U3x1W1z0W", +"3y0J3z3A3B3C z3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142434445464748494a4b4c4d4d4e4f3l4g2w2w4h4i2E4j4j4k1T1E1D103x", +"4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 5051525354554c563e57582w593t3t2E1O1L5a2I13", +"5b N5c5d1d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W4b5X3e3e573r5Y2C5Z5Z5&1J1F6 ", +"60 B61620h636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P3j3n2z2y2B6Q5Z1J3 1P", +"6R D2 6S6T6U6V6W6X6Y6Z6&7 70717273747375767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D3g3e7E7F2y7G3s2E7H4j", +"4p0e7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z3r2w2t8A8B5&", +"0s0r8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t3r9u2r6Q2E4j", +"0e9v0h9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M8U9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a599a6a7a8a9aaabacadaeafagahaiajak3pal4iam2E5&", +"anao0hapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babbbcbd3m3pal2x2sbe2E4j", +" Ebf0mbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSaYbTbUbVbWbXbYbZb&c c0c1c2c3c44g2wc52sc62Gc7", +"0u1e0qc8c9cacb1McccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczcAcBcCcDcEcFcGcHcIcJcKcLcMcNbScOcPcQcRcScTcUcVcWcXcYcZc&5Z3v1O1Q", +"d d00P0qd1d2d30Zd4d5d6d7d8d9dadbdccsdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFbQdGdHdIdJdKdLdMdNdOdPdQdRdSdT1K6 ", +" A G Dbf0QdUdVdWdXdY1EdZd&3ie e0e1e2e3e4e5e6e7e85554e94949eaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAeBeCeDeEeFeG1TeH", +" NeI Fan0e7IeJeKeLeMeNeOePeQeReSeTeUeVeW4beXeYeZ3j3c3c3h4ee&f 3g55f04df1f2f3f4f5f5f6f7f8f9f9fafafbfcfdfefffgfhfifjfkflfmfnfofpfq", +"0b wfr B H0e0rfsftfufvfwfxfyfzfAfBfCfCfDfEdZfFfGfH3q2w2yfI2y3p4g7EfJfKfK3mfLfK3mfMfNfOfPfQfRfSfTfUfVfWfWfXfYfZf&g g0g1g2g3g4g5g6", +"g7 s2Qg8d g9 D0PgagbgcgdgegfggghgigjgkglgmgngogpfHgq2p3u3s6Q2rfHgr3sgs2u2w7Ggrgt2B2C2t3t2F3tgugvgwgxgygzgAgAgBgCgDgEgFgGgHgIgJ2J", +"gKgLgMgNgO0c M BgPgQgRgSd&gTgUgVgWgXgXgYgkgZg&gjf eN1K1L1L1P1Nh h0h18B5&2G8Bh18Bh08B1J1L3w4keNeNeN1G1Gh2h3h4h5h6h7h8h9hahbhc0ohd", +"hehfhghh p0ahihjhkhlhmhnhohphqhphrgThsgVgVhthuhvhw5a1B2I132I1U1Chxhy1C5ahx1FeNeN1EeNhz1EhxhA2I2I1414hB3xhC17hD2g190k0ihEhF1c1dhG"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleDisplayAffected.xpm b/2009-x64/cps4.03/icons/cpscToggleDisplayAffected.xpm new file mode 100644 index 0000000..0dcb66e --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleDisplayAffected.xpm @@ -0,0 +1,1189 @@ +/* XPM */ +static char *AFFECT_xpm[]={ +"64 24 1162 2", +" c #717271", +" 0 c #717171", +" 1 c #6F6F70", +" 2 c #6E6F6F", +" 3 c #6F6D6D", +" 4 c #6D6D6E", +" 5 c #6B6C6B", +" 6 c #6A6B6C", +" 7 c #6A6A69", +" 8 c #686968", +" 9 c #686969", +" a c #666766", +" b c #B2A55A", +" c c #E6E76B", +" d c #8F8F5A", +" e c #636463", +" f c #636263", +" g c #626161", +" h c #606161", +" i c #5F6060", +" j c #5E5F5F", +" k c #5E5E5C", +" l c #5D5E5E", +" m c #5B5B5B", +" n c #5C5C5C", +" o c #5A5A59", +" p c #595A58", +" q c #595859", +" r c #575959", +" s c #585757", +" t c #585756", +" u c #565756", +" v c #575556", +" w c #555555", +" x c #565555", +" y c #545454", +" z c #545354", +" A c #545453", +" B c #535454", +" C c #535355", +" D c #645F64", +" E c #79757A", +" F c #858485", +" G c #A48EA4", +" H c #B190B2", +" I c #B48EB5", +" J c #5B4B5D", +" K c #565556", +" L c #565656", +" M c #575657", +" N c #565758", +" O c #575858", +" P c #595958", +" Q c #5A5959", +" R c #6E6E6C", +" S c #6C6D6C", +" T c #6C6C6B", +" U c #6B6A6A", +" V c #696A69", +" W c #686869", +" X c #676768", +" Y c #676766", +" Z c #656565", +" & c #656564", +"0 c #807B61", +"00 c #AF9F53", +"01 c #D5B131", +"02 c #FAE433", +"03 c #B8A13B", +"04 c #AD9A41", +"05 c #998A4F", +"06 c #827B5A", +"07 c #65625A", +"08 c #5B5A5A", +"09 c #59595A", +"0a c #585957", +"0b c #565655", +"0c c #545555", +"0d c #555554", +"0e c #535353", +"0f c #525452", +"0g c #525252", +"0h c #525353", +"0i c #515152", +"0j c #515151", +"0k c #515150", +"0l c #505051", +"0m c #504F4F", +"0n c #504F4E", +"0o c #50504E", +"0p c #4F4E4F", +"0q c #4E4F4F", +"0r c #4F4F4E", +"0s c #4F4F4F", +"0t c #6C676B", +"0u c #BB8ABC", +"0v c #DD9EDD", +"0w c #DD9CDE", +"0x c #A46AA3", +"0y c #815181", +"0z c #695068", +"0A c #D3ACD1", +"0B c #734C76", +"0C c #804A80", +"0D c #5C4B5C", +"0E c #595459", +"0F c #545353", +"0G c #545554", +"0H c #565658", +"0I c #696969", +"0J c #696968", +"0K c #686667", +"0L c #656666", +"0M c #656566", +"0N c #656364", +"0O c #626363", +"0P c #6B6A5F", +"0Q c #968F67", +"0R c #B6A852", +"0S c #B5A647", +"0T c #786C4B", +"0U c #656257", +"0V c #977E37", +"0W c #5F6059", +"0X c #5C5C55", +"0Y c #686544", +"0Z c #7F723D", +"0& c #A29332", +"1 c #A99843", +"10 c #A49855", +"11 c #8B855D", +"12 c #C3C06F", +"13 c #BFBA7D", +"14 c #515250", +"15 c #4F504F", +"16 c #4F4F50", +"17 c #4E4E4E", +"18 c #4D4E4E", +"19 c #4D4D4E", +"1a c #4C4C4D", +"1b c #4C4B4C", +"1c c #4B4B4C", +"1d c #4B4A4B", +"1e c #4B4C4C", +"1f c #4B4C4B", +"1g c #4C4B4A", +"1h c #4A4A4B", +"1i c #4B4A4A", +"1j c #4C4A4B", +"1k c #4B4B4B", +"1l c #4A4C4A", +"1m c #515051", +"1n c #A4A2A5", +"1o c #F4CEF2", +"1p c #ECB4ED", +"1q c #CFA4CF", +"1r c #988298", +"1s c #746D75", +"1t c #595559", +"1u c #4E4E4D", +"1v c #D7B6D7", +"1w c #4E4C4E", +"1x c #555055", +"1y c #7B527C", +"1z c #824A82", +"1A c #644B64", +"1B c #545155", +"1C c #525253", +"1D c #535453", +"1E c #666666", +"1F c #646465", +"1G c #646363", +"1H c #606260", +"1I c #837F69", +"1J c #BFAF5F", +"1K c #BDAA42", +"1L c #94813D", +"1M c #6C684D", +"1N c #5B5B5A", +"1O c #595A59", +"1P c #575758", +"1Q c #6A6139", +"1R c #6B614A", +"1S c #545355", +"1T c #535152", +"1U c #55544C", +"1V c #5E5C3F", +"1W c #AF9533", +"1X c #EDBA31", +"1Y c #FEF2BD", +"1Z c #616262", +"1& c #494949", +"2 c #494848", +"20 c #494948", +"21 c #474847", +"22 c #464748", +"23 c #464747", +"24 c #464746", +"25 c #464648", +"26 c #464646", +"27 c #464647", +"28 c #474645", +"29 c #766F76", +"2a c #D2A7D2", +"2b c #CB9ACB", +"2c c #D9AED9", +"2d c #524653", +"2e c #6A5369", +"2f c #BF7CC0", +"2g c #DA93DA", +"2h c #E8B1E8", +"2i c #D3AED2", +"2j c #D5A6D4", +"2k c #AE97AF", +"2l c #CAB2CB", +"2m c #C8A9CA", +"2n c #D1A9D3", +"2o c #C97FC9", +"2p c #946D95", +"2q c #525251", +"2r c #525352", +"2s c #6C6D64", +"2t c #98986E", +"2u c #96966A", +"2v c #979471", +"2w c #C5B55C", +"2x c #B5A14E", +"2y c #786A4C", +"2z c #5D5D58", +"2A c #595758", +"2B c #575857", +"2C c #535452", +"2D c #5E5944", +"2E c #665F3C", +"2F c #504F50", +"2G c #4E4D4D", +"2H c #817A4E", +"2I c #A58F34", +"2J c #7D7027", +"2K c #9A7E2A", +"2L c #A29147", +"2M c #454647", +"2N c #454444", +"2O c #454544", +"2P c #434544", +"2Q c #454343", +"2R c #434344", +"2S c #434342", +"2T c #434443", +"2U c #424242", +"2V c #424141", +"2W c #424241", +"2X c #424342", +"2Y c #414141", +"2Z c #434341", +"2& c #424343", +"3 c #AC91AD", +"30 c #BA7DBA", +"31 c #C19AC2", +"32 c #564257", +"33 c #CAAFC8", +"34 c #534354", +"35 c #686567", +"36 c #BD8CBE", +"37 c #B56CB8", +"38 c #C99CC9", +"39 c #AD74AE", +"3a c #774B77", +"3b c #B463B4", +"3c c #705171", +"3d c #504C51", +"3e c #4C4B4B", +"3f c #D5B7D5", +"3g c #4E454D", +"3h c #4E4E4F", +"3i c #4E4E50", +"3j c #BFA33F", +"3k c #FEEC48", +"3l c #FAE648", +"3m c #B29E36", +"3n c #6B684D", +"3o c #585A59", +"3p c #565657", +"3q c #565757", +"3r c #535153", +"3s c #525050", +"3t c #504E50", +"3u c #51514A", +"3v c #776829", +"3w c #4A4A4A", +"3x c #827D52", +"3y c #B49B4B", +"3z c #947C41", +"3A c #5D573C", +"3B c #454445", +"3C c #4A493E", +"3D c #785F3C", +"3E c #424041", +"3F c #404040", +"3G c #3F4140", +"3H c #3F3F3F", +"3I c #3F403E", +"3J c #3F3E3F", +"3K c #3E3E3F", +"3L c #3E3F3E", +"3M c #3E3F3F", +"3N c #3E3E3E", +"3O c #3E3D3E", +"3P c #3E3E3D", +"3Q c #3E3D3D", +"3R c #3D3D3E", +"3S c #3F3F3D", +"3T c #9C729C", +"3U c #AE90AE", +"3V c #584259", +"3W c #40413F", +"3X c #C4AFC2", +"3Y c #997799", +"3Z c #926E93", +"3& c #6C656C", +"4 c #B688B7", +"40 c #7A4E7B", +"41 c #4A434B", +"42 c #454545", +"43 c #5C4C5E", +"44 c #AB60AC", +"45 c #785379", +"46 c #484948", +"47 c #C7B7C7", +"48 c #553955", +"49 c #4C4C4C", +"4a c #4C4D4C", +"4b c #7A704D", +"4c c #EBC923", +"4d c #C0B328", +"4e c #7D6E31", +"4f c #948339", +"4g c #92854B", +"4h c #686556", +"4i c #545452", +"4j c #525151", +"4k c #505151", +"4l c #4C4D4D", +"4m c #8F7F2C", +"4n c #807C56", +"4o c #BBA242", +"4p c #9F8138", +"4q c #5C543B", +"4r c #413F40", +"4s c #3F3E3E", +"4t c #896D30", +"4u c #3D3D3C", +"4v c #3D3C3D", +"4w c #3C3B3B", +"4x c #3A3B3B", +"4y c #3C3C3A", +"4z c #3B3B3B", +"4A c #393B3A", +"4B c #3A3B3A", +"4C c #393A39", +"4D c #3A393A", +"4E c #39393A", +"4F c #383938", +"4G c #393939", +"4H c #3B3A39", +"4I c #393A3B", +"4J c #978897", +"4K c #C397C3", +"4L c #5B425B", +"4M c #7D717D", +"4N c #DBC3DC", +"4O c #735074", +"4P c #968396", +"4Q c #976D98", +"4R c #614561", +"4S c #855087", +"4T c #434343", +"4U c #434445", +"4V c #4D474B", +"4W c #A05EA0", +"4X c #935994", +"4Y c #4D484D", +"4Z c #CCBECB", +"4& c #79447A", +"5 c #4A4949", +"50 c #4D4C4C", +"51 c #5A5A53", +"52 c #85751C", +"53 c #555651", +"54 c #5D5A3E", +"55 c #857832", +"56 c #988834", +"57 c #958950", +"58 c #636152", +"59 c #51514F", +"5a c #7D7D6D", +"5b c #605F57", +"5c c #8C885F", +"5d c #B9AB44", +"5e c #91782E", +"5f c #5A543A", +"5g c #414143", +"5h c #3F3F3E", +"5i c #3D3E3C", +"5j c #3D3D3D", +"5k c #7E652A", +"5l c #393839", +"5m c #363838", +"5n c #373736", +"5o c #383736", +"5p c #363737", +"5q c #363736", +"5r c #363635", +"5s c #353536", +"5t c #363636", +"5u c #3B3B35", +"5v c #363435", +"5w c #353535", +"5x c #343536", +"5y c #363536", +"5z c #373635", +"5A c #D0C1D0", +"5B c #B090B0", +"5C c #8E878F", +"5D c #CEBDCE", +"5E c #CEA8CE", +"5F c #D4B7D4", +"5G c #B883B9", +"5H c #5D3F5D", +"5I c #925894", +"5J c #453D45", +"5K c #414240", +"5L c #424142", +"5M c #89588A", +"5N c #A760A9", +"5O c #B9AABA", +"5P c #B370B3", +"5Q c #50404F", +"5R c #49494A", +"5S c #716326", +"5T c #706A44", +"5U c #505050", +"5V c #504E4A", +"5W c #615D37", +"5X c #877D2F", +"5Y c #F8D25F", +"5Z c #FFEF9E", +"5& c #FCDD69", +"6 c #8C7635", +"60 c #70622C", +"61 c #585236", +"62 c #403F3F", +"63 c #383839", +"64 c #383838", +"65 c #725929", +"66 c #353434", +"67 c #323333", +"68 c #333332", +"69 c #333233", +"6a c #333231", +"6b c #323233", +"6c c #323332", +"6d c #323131", +"6e c #323231", +"6f c #BC842C", +"6g c #61482D", +"6h c #313231", +"6i c #323232", +"6j c #333333", +"6k c #B273B2", +"6l c #C87FC2", +"6m c #8C568E", +"6n c #7A5278", +"6o c #6F4C6E", +"6p c #926291", +"6q c #734873", +"6r c #3B3C3B", +"6s c #3C3D3B", +"6t c #634C64", +"6u c #7A4A79", +"6v c #5E4E5D", +"6w c #564658", +"6x c #554755", +"6y c #594859", +"6z c #5A495A", +"6A c #845684", +"6B c #C271C2", +"6C c #A865A8", +"6D c #754676", +"6E c #474947", +"6F c #4A494A", +"6G c #575557", +"6H c #565454", +"6I c #625E39", +"6J c #7C7332", +"6K c #4D4B4D", +"6L c #4B494A", +"6M c #494849", +"6N c #D2991A", +"6O c #FFCF1B", +"6P c #FFDA32", +"6Q c #555142", +"6R c #514D37", +"6S c #4F4824", +"6T c #3D3C3B", +"6U c #393A3A", +"6V c #393938", +"6W c #383738", +"6X c #75622A", +"6Y c #303031", +"6Z c #303030", +"6& c #2E2F30", +"7 c #2E2E2E", +"70 c #2E2E2F", +"71 c #2F2F2F", +"72 c #2F2E30", +"73 c #2E2F2E", +"74 c #CD8A29", +"75 c #ED8A1E", +"76 c #8D5C26", +"77 c #2F2E2E", +"78 c #2F2F2E", +"79 c #4B444B", +"7a c #9E689E", +"7b c #613961", +"7c c #323334", +"7d c #353334", +"7e c #353634", +"7f c #423E43", +"7g c #B56CB6", +"7h c #373838", +"7i c #4C424C", +"7j c #895888", +"7k c #D180D0", +"7l c #8C5B8D", +"7m c #8E5A8D", +"7n c #905B91", +"7o c #915C8E", +"7p c #8A5888", +"7q c #BB81B9", +"7r c #B778B7", +"7s c #79407A", +"7t c #A35AA4", +"7u c #474646", +"7v c #484747", +"7w c #575647", +"7x c #7C6D23", +"7y c #4E4C4C", +"7z c #464848", +"7A c #575041", +"7B c #A58724", +"7C c #7D702E", +"7D c #404140", +"7E c #434039", +"7F c #665817", +"7G c #30302F", +"7H c #383939", +"7I c #353636", +"7J c #323133", +"7K c #554E21", +"7L c #3B3929", +"7M c #694D2B", +"7N c #F29325", +"7O c #EB8E26", +"7P c #BD7D26", +"7Q c #2B2A2B", +"7R c #2C2C2B", +"7S c #2D2B2B", +"7T c #2A2B2C", +"7U c #CB8A28", +"7V c #ED891D", +"7W c #BD7220", +"7X c #38312A", +"7Y c #2D2D2D", +"7Z c #665265", +"7& c #8B588A", +"8 c #7B487D", +"80 c #333133", +"81 c #333334", +"82 c #343534", +"83 c #B372B4", +"84 c #3E343D", +"85 c #825680", +"86 c #995C98", +"87 c #483C49", +"88 c #7F527F", +"89 c #4E3E4E", +"8a c #A182A0", +"8b c #765277", +"8c c #444145", +"8d c #834F85", +"8e c #995399", +"8f c #473D47", +"8g c #474648", +"8h c #7B6C1E", +"8i c #5F5D47", +"8j c #4A4B4A", +"8k c #484848", +"8l c #454746", +"8m c #444543", +"8n c #4F4B36", +"8o c #685D22", +"8p c #3F4040", +"8q c #544D30", +"8r c #B39E2C", +"8s c #636028", +"8t c #3A3A38", +"8u c #373737", +"8v c #313131", +"8w c #444127", +"8x c #443F23", +"8y c #75522A", +"8z c #FF9824", +"8A c #FE9824", +"8B c #D37D1E", +"8C c #9E803E", +"8D c #A18848", +"8E c #A38C48", +"8F c #A18A44", +"8G c #9B8542", +"8H c #E39C2C", +"8I c #ED8A1C", +"8J c #EC881C", +"8K c #E9871B", +"8L c #D47D1F", +"8M c #3C332A", +"8N c #795C78", +"8O c #663D66", +"8P c #4A394C", +"8Q c #5D395D", +"8R c #333331", +"8S c #9B699C", +"8T c #924F92", +"8U c #5A3D5B", +"8V c #5C485D", +"8W c #784A78", +"8X c #3C3D3E", +"8Y c #8E7C8F", +"8Z c #946F95", +"8& c #473C47", +"9 c #414142", +"90 c #AA67A9", +"91 c #783F78", +"92 c #554256", +"93 c #454747", +"94 c #525254", +"95 c #525152", +"96 c #514F4F", +"97 c #68622D", +"98 c #685E3A", +"99 c #474746", +"9a c #454646", +"9b c #444544", +"9c c #464540", +"9d c #807217", +"9e c #43413D", +"9f c #917C2E", +"9g c #FCD72C", +"9h c #97862B", +"9i c #655D31", +"9j c #3F3E38", +"9k c #353635", +"9l c #343333", +"9m c #313332", +"9n c #302F30", +"9o c #3F3C2A", +"9p c #494421", +"9q c #735229", +"9r c #FC9523", +"9s c #F99220", +"9t c #C98322", +"9u c #3C3127", +"9v c #3B3228", +"9w c #3A3428", +"9x c #3B3329", +"9y c #403626", +"9z c #D08C26", +"9A c #EB881D", +"9B c #E8871C", +"9C c #DE7E17", +"9D c #7B4F21", +"9E c #2B2C2C", +"9F c #895F86", +"9G c #403140", +"9H c #7D4A7E", +"9I c #383139", +"9J c #3F373E", +"9K c #744A75", +"9L c #965E95", +"9M c #8F568E", +"9N c #383837", +"9O c #373938", +"9P c #3B3A3B", +"9Q c #AF78AF", +"9R c #9C799C", +"9S c #563B57", +"9T c #363537", +"9U c #434242", +"9V c #874D88", +"9W c #543856", +"9X c #525453", +"9Y c #585442", +"9Z c #7E6E24", +"9& c #494A49", +"a c #484849", +"a0 c #474647", +"a1 c #464545", +"a2 c #434543", +"a3 c #6C6119", +"a4 c #8F7B2A", +"a5 c #413A22", +"a6 c #45411D", +"a7 c #1A1B1A", +"a8 c #322F1B", +"a9 c #70652A", +"aa c #897A36", +"ab c #685F39", +"ac c #373730", +"ad c #38372D", +"ae c #594F1E", +"af c #42382C", +"ag c #664726", +"ah c #674926", +"ai c #5B472A", +"aj c #2B2B2B", +"ak c #2D2C2C", +"al c #2C2C2C", +"am c #D29127", +"an c #E38219", +"ao c #C77317", +"ap c #513D27", +"aq c #2C2D2E", +"ar c #825282", +"as c #353036", +"at c #2F302F", +"au c #493B48", +"av c #7A457A", +"aw c #7D4B7E", +"ax c #453644", +"ay c #BA6FBA", +"az c #3A353B", +"aA c #937C94", +"aB c #946295", +"aC c #463947", +"aD c #353435", +"aE c #272728", +"aF c #232423", +"aG c #323031", +"aH c #524751", +"aI c #824E82", +"aJ c #915990", +"aK c #4F2E51", +"aL c #474745", +"aM c #4F4F51", +"aN c #807418", +"aO c #575648", +"aP c #494B4A", +"aQ c #474747", +"aR c #615B41", +"aS c #A08F40", +"aT c #706621", +"aU c #585230", +"aV c #1F1F1E", +"aW c #262526", +"aX c #2D2D2E", +"aY c #1D1D1E", +"aZ c #39372F", +"a& c #4F4B30", +"b c #676022", +"b0 c #6B6227", +"b1 c #706B3C", +"b2 c #998924", +"b3 c #4F4C2F", +"b4 c #2E2F2F", +"b5 c #2F2E2F", +"b6 c #D08C25", +"b7 c #B76D1C", +"b8 c #42382B", +"b9 c #2E2D2D", +"ba c #8F548A", +"bb c #7E797E", +"bc c #646564", +"bd c #5F5E5F", +"be c #A468A4", +"bf c #885787", +"bg c #383737", +"bh c #AB6DAA", +"bi c #4B384C", +"bj c #817281", +"bk c #8A658A", +"bl c #423842", +"bm c #654866", +"bn c #7D4A7D", +"bo c #4E394D", +"bp c #3F2F40", +"bq c #2E2730", +"br c #272526", +"bs c #674667", +"bt c #5D445D", +"bu c #614F61", +"bv c #773E78", +"bw c #474346", +"bx c #535354", +"by c #505152", +"bz c #6C612A", +"bA c #655C3C", +"bB c #504F3C", +"bC c #89782E", +"bD c #7E6E35", +"bE c #474543", +"bF c #504B34", +"bG c #70641C", +"bH c #1D1D1D", +"bI c #353534", +"bJ c #3D3C3C", +"bK c #2A2929", +"bL c #1A1A1A", +"bM c #202021", +"bN c #3A3833", +"bO c #CCA434", +"bP c #FDD838", +"bQ c #92872E", +"bR c #313232", +"bS c #303132", +"bT c #313130", +"bU c #745529", +"bV c #353330", +"bW c #313030", +"bX c #5E385F", +"bY c #6F496E", +"bZ c #7B5F7A", +"b& c #A67AA6", +"c c #C18CC3", +"c0 c #D19DD2", +"c1 c #D1A5D0", +"c2 c #C8A3C8", +"c3 c #E1A8E1", +"c4 c #955895", +"c5 c #563D56", +"c6 c #644562", +"c7 c #854B85", +"c8 c #AE61AE", +"c9 c #724671", +"ca c #854F83", +"cb c #935692", +"cc c #A95FAA", +"cd c #CC71CC", +"ce c #3B303B", +"cf c #5B465B", +"cg c #804680", +"ch c #535352", +"ci c #595441", +"cj c #867727", +"ck c #515049", +"cl c #857A3F", +"cm c #8A7327", +"cn c #54513F", +"co c #464544", +"cp c #48473F", +"cq c #625916", +"cr c #222122", +"cs c #3C3C3C", +"ct c #3B3B3C", +"cu c #232323", +"cv c #1C1B1A", +"cw c #3D3D39", +"cx c #9A8849", +"cy c #716131", +"cz c #9B7F28", +"cA c #434134", +"cB c #343334", +"cC c #333434", +"cD c #343433", +"cE c #343434", +"cF c #413740", +"cG c #4D2D4E", +"cH c #5E4B5F", +"cI c #564056", +"cJ c #373937", +"cK c #4F3F50", +"cL c #905190", +"cM c #604560", +"cN c #673967", +"cO c #4E3B4F", +"cP c #864F87", +"cQ c #533454", +"cR c #222223", +"cS c #965396", +"cT c #21201F", +"cU c #212221", +"cV c #2E272E", +"cW c #9D589E", +"cX c #A05BA1", +"cY c #844A84", +"cZ c #914D92", +"c& c #623B62", +"d c #555455", +"d0 c #535252", +"d1 c #515050", +"d2 c #AD9731", +"d3 c #E5D048", +"d4 c #DCD547", +"d5 c #605B3F", +"d6 c #4B4B4A", +"d7 c #484A49", +"d8 c #484748", +"d9 c #6A6013", +"da c #434136", +"db c #404142", +"dc c #414040", +"dd c #212223", +"de c #4D4A2F", +"df c #9B8845", +"dg c #504B3A", +"dh c #363637", +"di c #373637", +"dj c #373638", +"dk c #513752", +"dl c #403341", +"dm c #755176", +"dn c #453946", +"do c #3B3B3A", +"dp c #413B40", +"dq c #844D85", +"dr c #834B84", +"ds c #562E56", +"dt c #2C242C", +"du c #1F1F1F", +"dv c #201F21", +"dw c #8F5091", +"dx c #232222", +"dy c #282429", +"dz c #935394", +"dA c #7C477D", +"dB c #804681", +"dC c #5E395E", +"dD c #A65CA6", +"dE c #2F282F", +"dF c #343435", +"dG c #555454", +"dH c #535253", +"dI c #86753B", +"dJ c #FEDD24", +"dK c #AE983B", +"dL c #9D8D47", +"dM c #57554E", +"dN c #48494A", +"dO c #3A3A39", +"dP c #575019", +"dQ c #575136", +"dR c #444445", +"dS c #444343", +"dT c #414241", +"dU c #958A57", +"dV c #806C3B", +"dW c #20201D", +"dX c #2D2E2E", +"dY c #3B3C3C", +"dZ c #3C3D3D", +"d& c #3B3C3D", +"e c #3B3A3C", +"e0 c #3A3B3C", +"e1 c #3A3A3B", +"e2 c #3B3939", +"e3 c #3D3B3D", +"e4 c #573258", +"e5 c #8E5A8F", +"e6 c #3B3B3D", +"e7 c #3A3A3A", +"e8 c #2D2F2D", +"e9 c #3D303F", +"ea c #A158A0", +"eb c #633464", +"ec c #653D65", +"ed c #342834", +"ee c #212021", +"ef c #935594", +"eg c #382938", +"eh c #A25AA2", +"ei c #7F4480", +"ej c #422C42", +"ek c #5F4060", +"el c #B863B8", +"em c #503351", +"en c #272727", +"eo c #575757", +"ep c #625D4B", +"eq c #5C5842", +"er c #99883A", +"es c #9D904D", +"et c #5C5A4C", +"eu c #2E2E2D", +"ev c #3C391F", +"ew c #6E692F", +"ex c #454645", +"ey c #616152", +"ez c #B3A461", +"eA c #665F3A", +"eB c #1F211F", +"eC c #3E3D3F", +"eD c #3D3C3E", +"eE c #3C3D3C", +"eF c #3C3C3D", +"eG c #4F3E51", +"eH c #7D477D", +"eI c #403E3F", +"eJ c #3E403E", +"eK c #4D364E", +"eL c #432F44", +"eM c #5C335C", +"eN c #8C508D", +"eO c #8D528F", +"eP c #955495", +"eQ c #975196", +"eR c #7F4580", +"eS c #854E85", +"eT c #9D5B9D", +"eU c #A45EA5", +"eV c #925194", +"eW c #292729", +"eX c #262728", +"eY c #595858", +"eZ c #515252", +"e& c #4F5050", +"f c #5B5842", +"f0 c #9D8F3F", +"f1 c #9E9846", +"f2 c #4A472F", +"f3 c #3B3728", +"f4 c #6F651F", +"f5 c #87825D", +"f6 c #A0923D", +"f7 c #4F4C3E", +"f8 c #323130", +"f9 c #202120", +"fa c #212321", +"fb c #414243", +"fc c #404041", +"fd c #414041", +"fe c #403F40", +"ff c #3F3F41", +"fg c #41413F", +"fh c #694969", +"fi c #915191", +"fj c #B66BB4", +"fk c #975897", +"fl c #875386", +"fm c #7E4C7C", +"fn c #623D62", +"fo c #272527", +"fp c #613664", +"fq c #4F334F", +"fr c #9A579C", +"fs c #8F4E90", +"ft c #603962", +"fu c #5F3E61", +"fv c #704470", +"fw c #98529A", +"fx c #4E314E", +"fy c #282628", +"fz c #282727", +"fA c #292728", +"fB c #292928", +"fC c #575859", +"fD c #50504F", +"fE c #514F3B", +"fF c #8E8637", +"fG c #B6AF66", +"fH c #B3A034", +"fI c #D2CC83", +"fJ c #7E7040", +"fK c #4E4F48", +"fL c #4A4A49", +"fM c #474848", +"fN c #222121", +"fO c #242424", +"fP c #464645", +"fQ c #434545", +"fR c #444344", +"fS c #434243", +"fT c #424243", +"fU c #4B414D", +"fV c #593D59", +"fW c #6F3F70", +"fX c #8D4B8B", +"fY c #B15EAB", +"fZ c #A558A5", +"f& c #B866B8", +"g c #623464", +"g0 c #4A2E4B", +"g1 c #965696", +"g2 c #443044", +"g3 c #784779", +"g4 c #6B3E6D", +"g5 c #312832", +"g6 c #272828", +"g7 c #282929", +"g8 c #282829", +"g9 c #292929", +"ga c #5C5C5B", +"gb c #585858", +"gc c #555556", +"gd c #555456", +"ge c #272726", +"gf c #BE902A", +"gg c #FFD522", +"gh c #FFE424", +"gi c #4D4D4C", +"gj c #4E4C4D", +"gk c #2D2C2D", +"gl c #232422", +"gm c #2C2A2B", +"gn c #494947", +"go c #474547", +"gp c #464546", +"gq c #464847", +"gr c #484847", +"gs c #493D48", +"gt c #684169", +"gu c #935590", +"gv c #AB5EA8", +"gw c #995298", +"gx c #562F56", +"gy c #A157A2", +"gz c #874A89", +"gA c #3B2B3C", +"gB c #282827", +"gC c #292A2A", +"gD c #5E5D5E", +"gE c #5D5B5C", +"gF c #5A5B5C", +"gG c #585958", +"gH c #585758", +"gI c #565755", +"gJ c #555655", +"gK c #535455", +"gL c #323230", +"gM c #6B6045", +"gN c #C8A126", +"gO c #817A44", +"gP c #51504F", +"gQ c #4F4E4E", +"gR c #4D4D4D", +"gS c #4C4D4E", +"gT c #29292A", +"gU c #282728", +"gV c #49494B", +"gW c #484949", +"gX c #48484A", +"gY c #494A4A", +"gZ c #494A48", +"g& c #4A4B4B", +"h c #282726", +"h0 c #332C33", +"h1 c #453345", +"h2 c #3C2B3C", +"h3 c #2A292A", +"h4 c #2A2828", +"h5 c #282A2A", +"h6 c #292B29", +"h7 c #292B2A", +"h8 c #2C2B2B", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n m o p q r s t u v w x w y y z A B C z B z B A D E F G H I J K L M N O s P Q o", +" R S T U V W X Y Z &0 000102030405060708090a O u0b0c0d0e0f0g0h0g0i0j0k0k0l0m0m0n0o0p0m0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0c x v0H", +"0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 101112131415160p171718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C0F1D y", +"1E1F1G0O1H1I1J1K1L1M1N1O1P1Q1R1S0e1T0k1U1V1W1X1Y1Z1k1k1&2 2 2 202122232425262724282627292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p0s1m2q2r", +"2s2t2u2v2w2x2y2z2A2B x w2C2D2E2F172G1a2H2I2J2K2L1f2M262N2O2P2Q2R2S2T2U2V2W2X2Y2V2Z2&3 303132333435363738393a3b3c3d1b3e3f3g3h3i0s", +"3j3k3l3m3n3o3p3q0G0e3r3s3t3u3v1c3w3x3y3z3A3B3C3D2X3E3F3G3H3I3J3K3L3M3N3O3N3P3Q3R3S L3T3U3V3W3X3Y3Z3&4 404142434445461&4748494a2G", +"4b4c4d4e4f4g4h4i4j4k17184l1k4m4n4o4p4q2X3E4r4s4t4u4v4w4x4y4z4A4B4C4D4E4E4F4G4C4H4I4J4K4L4v4M4N4O4P4Q4R4S4T4T4U4V4W4X4Y4Z4&5 1e50", +"0851520b535455565758595a5b5c5d5e5f5g3F5h5i5j4x5k4D5l5m5n5o5p5q5r5s5t5u5v5w5w5x5y5z5A5B5C5D5E5F5G5H3O3Q5I5J5K5L4T2R5M5N5O5P5Q1&5R", +"2B u5S5T0g0j5U5V5W5X5Y5Z5&6 6061623H3N4z4D6364655x666768696a6b6c6d6e6f6g6d6h6i6i6j6k6l6m6n6o6p6q4B6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F", +"6G6H6I6J590p1u6K6L6M6N6O6P6Q6R6S4x6T6U6V6W5y5w6X6h6Y6Z6&7 70717172737475767 7778797a7b7c7d7e7f7g7h6U7i7j7k7l7m7n7o7p7q7r7s7t7u7v", +"0G0e7w7x0s7y1b1h207z7A7B7C7D7E7F7G4C7H5p7I687J7K7L7M7N7O7P7Q7R7R7S7T7U757V7W7X7Y7Z7&8 806i8182838485868788893Q3L0j8a8b8c8d8e8f8g", +" B1C0k8h8i1k8j6F8k8l8m8n8o8p8q8r8s8t8u5w818v8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q6h8R6j8S8T8U634D8V8W8X8Y8Z8&9 2S90919293", +"94959697981f6F6M999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G739H9I9J9K9L9M9N9O6U9P9Q9R9S9T4G3F9U4W9V9W23", +"9X14169Y9Z1k9&a a0a1a29Ua3a4a5a6a7a8a9aaabac8vadaeafagahaiajajak7Ralamanaoap9Eaqarasatauavawax5yayaz631caAaBaCaDaEaFaGaHaIaJaKaL", +"0e0jaM3haNaOaP6MaQ24aRaSaTaUaVaWaXa7aYaZa&b b0b1b2b3717 b47073b5717Yb6b7b8b9777 babbbcbdbebfbg9Tbhbibjbkblbmbnbobpbqbrbsbtbubvbw", +"bxbyaM0pbzbA1k5 bBbCbDbEbFbGbHbIbJbKbLbM825tbNbObPbQ9m6dbRbS6d8v6dbTbUbV8v6Z6ZbWbXbYbZb&c c0c1c2c3c4c563c6c7c8c9cacbcccdcecfcgaH", +" ychby0scicjckclcmcn7ucocpcqcrcs4sctcucvcucwcxcyczcA5y5waDcB829lcCcD9l8181cCcCcEcFcG5rcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc&aQ", +"d d00id1d2d3d4d5d6d7d8243Id9dadbdc3H6Udddedfdg6U6V646464645p8udhbg8u5pdi5pdh5p5ndjdkdldmdn4HdodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdF", +" LdGdH0gdIdJdKdLdM1ddN1&dOdPdQdRdS2WdTdUdVdWdXdYdZd&e e04xe14De14x4Ce24CdO4D4C4De1e3e4e5e3e6e7e8e9eaebecedeeefegeheiejekelemenen", +"eo L0G0e1Tep2Feqereset6Feuevewex42eyezeA69eBbM6j3H3L3L4seC3P3NeD3QeEeF4vcs4ueFcs3R4veGeH7ieIeJaleKdCeLeMeNeOePeQeReSeTeUeVeWeXen", +"eY3q wd bx0heZ4ke&f f0f1f2f3f41&f5f6f79a3Bf8f9fadi2Yfb2Y5K3Efcfc3W623Ffcfd7Dfefffg7D3FfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzfAfB", +"1OfC2B u0b0d B1C0j0jfDfEfFfGfHfIfJfKfL6MfM2N71fNfOdZfP2OfQdR4U2RfR2T2R4TdSfS4T4TfT2&2T2P2TfUfVfWfXfYfZf&g g0g1g2g3g4g5aEg6g7g8g9", +"ga081Ogb1P Lgcgdbx B2q6Vgegfggghgigj1c1kd65R9bgkglgmgn8k27d8a0279ago2799gp8l2427gp9a277ua0gqgr8kgsgtgugvgwgxgygzgAgBfBfBg9gC7Q7Q", +"gDgEgF08 QgGgH1PgIgJgKaGgLgMgNgOgP2FgQ18gRgS4adSgTgU9 1h1igV8j9&fLgW1&205 gWgXgYgZ8k2 461&9&3wg&7v9Eh g6h0h1h2h3h4h5h6h7ajh89Eak"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleEditable.xpm b/2009-x64/cps4.03/icons/cpscToggleEditable.xpm new file mode 100644 index 0000000..d79a079 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleEditable.xpm @@ -0,0 +1,1277 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1250 2", +" c #727272", +" 0 c #727270", +" 1 c #70706F", +" 2 c #6F6F70", +" 3 c #6E6F6F", +" 4 c #6E6E6D", +" 5 c #6C6C6D", +" 6 c #6C6B6D", +" 7 c #6C6A6B", +" 8 c #686868", +" 9 c #676868", +" a c #696867", +" b c #676666", +" c c #656666", +" d c #999055", +" e c #E7E77A", +" f c #989862", +" g c #616262", +" h c #5F5F5F", +" i c #606060", +" j c #5E5F5F", +" k c #5D5D5D", +" l c #5D5D5E", +" m c #5B5C5B", +" n c #5C5C5A", +" o c #5A595B", +" p c #585858", +" q c #585959", +" r c #575858", +" s c #575758", +" t c #565757", +" u c #555656", +" v c #565557", +" w c #555555", +" x c #565555", +" y c #555455", +" z c #545455", +" A c #525254", +" B c #535354", +" C c #555554", +" D c #545454", +" E c #545453", +" F c #555355", +" G c #535455", +" H c #646357", +" I c #E9E871", +" J c #D5C847", +" K c #595953", +" L c #555657", +" M c #565656", +" N c #575757", +" O c #575658", +" P c #595758", +" Q c #58595A", +" R c #595958", +" S c #595959", +" T c #6F6E6E", +" U c #6C6D6C", +" V c #6B6C6B", +" W c #6A6C6B", +" X c #696A69", +" Y c #686869", +" Z c #686867", +" & c #666665", +"0 c #747368", +"00 c #8F8F6C", +"01 c #A1965C", +"02 c #AC9F52", +"03 c #B7A240", +"04 c #B88D30", +"05 c #FAE133", +"06 c #CABF62", +"07 c #5D5C5D", +"08 c #5C5C5B", +"09 c #5A5B5A", +"0a c #595A59", +"0b c #595857", +"0c c #585657", +"0d c #575657", +"0e c #555655", +"0f c #545353", +"0g c #525452", +"0h c #535453", +"0i c #515251", +"0j c #525252", +"0k c #515151", +"0l c #525251", +"0m c #505251", +"0n c #505050", +"0o c #4F504F", +"0p c #505051", +"0q c #50504F", +"0r c #504F50", +"0s c #4F4F4E", +"0t c #4F4F50", +"0u c #5D5B4B", +"0v c #676142", +"0w c #726831", +"0x c #9A8C26", +"0y c #817226", +"0z c #F5E351", +"0A c #F2CB45", +"0B c #7C7654", +"0C c #525253", +"0D c #545252", +"0E c #535454", +"0F c #545355", +"0G c #565657", +"0H c #6B6A69", +"0I c #98946F", +"0J c #BDBD8A", +"0K c #82806D", +"0L c #878677", +"0M c #989582", +"0N c #B2A359", +"0O c #C0B57B", +"0P c #C2B665", +"0Q c #A7965D", +"0R c #897A40", +"0S c #7A6C49", +"0T c #666252", +"0U c #5B5B5C", +"0V c #595A5B", +"0W c #8E8639", +"0X c #706949", +"0Y c #A69148", +"0Z c #626158", +"0& c #575655", +"1 c #515252", +"10 c #515150", +"11 c #4E4F4E", +"12 c #4E4E4E", +"13 c #4D4E4D", +"14 c #4E4D4E", +"15 c #4D4D4E", +"16 c #4C4D4D", +"17 c #4D4D4D", +"18 c #4A4C4C", +"19 c #4B4B4B", +"1a c #4C4B4C", +"1b c #4B4A4B", +"1c c #61614D", +"1d c #C1C15A", +"1e c #9F9F57", +"1f c #676140", +"1g c #746B34", +"1h c #88792D", +"1i c #796E1D", +"1j c #7E6E26", +"1k c #6C662E", +"1l c #5B563B", +"1m c #565649", +"1n c #8B772E", +"1o c #5F5B48", +"1p c #AFA065", +"1q c #C4B463", +"1r c #69644C", +"1s c #525351", +"1t c #535353", +"1u c #656565", +"1v c #D3A83A", +"1w c #FCE95C", +"1x c #D7C451", +"1y c #948954", +"1z c #867E45", +"1A c #706A53", +"1B c #656455", +"1C c #5B5B5B", +"1D c #5A5C5B", +"1E c #5A5A5A", +"1F c #565857", +"1G c #575557", +"1H c #6D6031", +"1I c #5A5950", +"1J c #5B584A", +"1K c #A09343", +"1L c #747157", +"1M c #4F4E4E", +"1N c #4D4C4E", +"1O c #4A4A4B", +"1P c #4A4A4A", +"1Q c #49494B", +"1R c #494A48", +"1S c #484A48", +"1T c #474847", +"1U c #484848", +"1V c #484748", +"1W c #474848", +"1X c #474646", +"1Y c #454545", +"1Z c #454547", +"1& c #747449", +"2 c #FEF149", +"20 c #F7E255", +"21 c #7E7531", +"22 c #615940", +"23 c #504E42", +"24 c #484747", +"25 c #484847", +"26 c #494949", +"27 c #4A4848", +"28 c #49494A", +"29 c #494B4B", +"2a c #74642F", +"2b c #4B4B4A", +"2c c #4C4C4C", +"2d c #6A6345", +"2e c #CBB84E", +"2f c #9F9356", +"2g c #56534C", +"2h c #4F4E4F", +"2i c #4F4F4F", +"2j c #515050", +"2k c #626262", +"2l c #897850", +"2m c #CBA532", +"2n c #CCB644", +"2o c #62615C", +"2p c #5D5D5C", +"2q c #5B5A5A", +"2r c #595B59", +"2s c #59595A", +"2t c #62625F", +"2u c #7B7B75", +"2v c #908F85", +"2w c #999991", +"2x c #9A9A91", +"2y c #7A7973", +"2z c #605633", +"2A c #5A5848", +"2B c #4F4E4D", +"2C c #4E4F4B", +"2D c #91864E", +"2E c #8A8457", +"2F c #4A4A49", +"2G c #48484A", +"2H c #474948", +"2I c #484646", +"2J c #454546", +"2K c #444544", +"2L c #444445", +"2M c #444345", +"2N c #434444", +"2O c #444443", +"2P c #424343", +"2Q c #424142", +"2R c #434343", +"2S c #434241", +"2T c #424242", +"2U c #474841", +"2V c #C4AB37", +"2W c #A3954F", +"2X c #B7A771", +"2Y c #4C4943", +"2Z c #444444", +"2& c #454444", +"3 c #736A40", +"30 c #9E893C", +"31 c #B69E35", +"32 c #A88D35", +"33 c #9B7E2F", +"34 c #605A41", +"35 c #494749", +"36 c #928443", +"37 c #D9CD6B", +"38 c #767154", +"39 c #4E4D4D", +"3a c #4E4E4F", +"3b c #4F5050", +"3c c #605F60", +"3d c #5F5E5E", +"3e c #6C622F", +"3f c #837326", +"3g c #B5A84F", +"3h c #595A5A", +"3i c #585958", +"3j c #575856", +"3k c #6E6F68", +"3l c #ADACA1", +"3m c #D5D5CA", +"3n c #F5F5EF", +"3o c #F9F9F5", +"3p c #E0E1D6", +"3q c #B6B5AB", +"3r c #999A8A", +"3s c #747266", +"3t c #4B4A4A", +"3u c #787256", +"3v c #CAC477", +"3w c #C5C57D", +"3x c #67644E", +"3y c #434142", +"3z c #414140", +"3A c #403F3F", +"3B c #3F4140", +"3C c #3F3F3F", +"3D c #3E3E3E", +"3E c #3E3F3F", +"3F c #3F4040", +"3G c #3E403F", +"3H c #3F3F3E", +"3I c #3E3F3E", +"3J c #3F3E3E", +"3K c #3D3E3D", +"3L c #3E3E3D", +"3M c #8C7229", +"3N c #42413B", +"3O c #655B40", +"3P c #C5BA66", +"3Q c #545243", +"3R c #71693E", +"3S c #E0C043", +"3T c #FCD848", +"3U c #F3D350", +"3V c #DFC03F", +"3W c #CCB131", +"3X c #BCA324", +"3Y c #AF9B1B", +"3Z c #958626", +"3& c #4C4B43", +"4 c #4F4D47", +"40 c #C4B766", +"41 c #C2B86D", +"42 c #656047", +"43 c #56564D", +"44 c #58584E", +"45 c #5D5C5C", +"46 c #5B5D5C", +"47 c #6D6929", +"48 c #615946", +"49 c #878137", +"4a c #AA9F58", +"4b c #69695F", +"4c c #8B8C83", +"4d c #B2B1A9", +"4e c #EAECE2", +"4f c #FEFEFF", +"4g c #FEFEFE", +"4h c #ECECE5", +"4i c #BBBDB2", +"4j c #999B8E", +"4k c #8A8B7E", +"4l c #6F6F66", +"4m c #514F48", +"4n c #6F694B", +"4o c #867C41", +"4p c #CBAD3C", +"4q c #FFE22C", +"4r c #9F8F30", +"4s c #3D3D3D", +"4t c #3E3C3D", +"4u c #3C3C3D", +"4v c #3B3B3C", +"4w c #3C3C3B", +"4x c #3B3B3A", +"4y c #3B3C3A", +"4z c #3C3A3A", +"4A c #3B3B3B", +"4B c #393939", +"4C c #3A3A3A", +"4D c #3A3A39", +"4E c #393938", +"4F c #3A393A", +"4G c #393A39", +"4H c #866D2A", +"4I c #3B3A3A", +"4J c #3A3A3B", +"4K c #4F4A3A", +"4L c #CAB75F", +"4M c #F5DF5C", +"4N c #FFFB7E", +"4O c #FEFD9C", +"4P c #FDF37B", +"4Q c #ECCE52", +"4R c #C8AF36", +"4S c #B39E25", +"4T c #A8931D", +"4U c #9B8C14", +"4V c #A49154", +"4W c #4F4E3A", +"4X c #444546", +"4Y c #474746", +"4Z c #E0D371", +"4& c #FFFD70", +"5 c #EEE84E", +"50 c #625E49", +"51 c #5A595A", +"52 c #595859", +"53 c #635D43", +"54 c #8B7C2D", +"55 c #545552", +"56 c #9E903A", +"57 c #998D62", +"58 c #726E62", +"59 c #818378", +"5a c #9E9E94", +"5b c #D7D6CD", +"5c c #F4F4ED", +"5d c #F6F6EF", +"5e c #D6D9CC", +"5f c #A6A695", +"5g c #ABAA87", +"5h c #AEA96F", +"5i c #B0A24B", +"5j c #A29139", +"5k c #7C6A24", +"5l c #5F542D", +"5m c #6C5938", +"5n c #CCB121", +"5o c #595435", +"5p c #383839", +"5q c #363838", +"5r c #3C3D39", +"5s c #948146", +"5t c #4A4738", +"5u c #A08C42", +"5v c #3C3C38", +"5w c #343534", +"5x c #363635", +"5y c #353435", +"5z c #363535", +"5A c #846529", +"5B c #363636", +"5C c #383838", +"5D c #4D4931", +"5E c #C1A724", +"5F c #EABC55", +"5G c #F2E8AF", +"5H c #FEFFFD", +"5I c #FEFFA0", +"5J c #F7E164", +"5K c #D0B73A", +"5L c #B59E26", +"5M c #A2901A", +"5N c #928511", +"5O c #82750F", +"5P c #6F6D14", +"5Q c #4C4B42", +"5R c #5E5939", +"5S c #7F7228", +"5T c #F5DC43", +"5U c #FEB811", +"5V c #605843", +"5W c #585757", +"5X c #5E5C40", +"5Y c #6B6128", +"5Z c #535251", +"5& c #535346", +"6 c #988D32", +"60 c #9B967A", +"61 c #8E8E84", +"62 c #848477", +"63 c #A0A090", +"64 c #C2C2AE", +"65 c #C5C090", +"66 c #BCB364", +"67 c #A29349", +"68 c #82742D", +"69 c #726645", +"6a c #686652", +"6b c #626355", +"6c c #41413E", +"6d c #393A3A", +"6e c #383835", +"6f c #6D5F1F", +"6g c #353635", +"6h c #343434", +"6i c #343333", +"6j c #333332", +"6k c #666346", +"6l c #DFBD50", +"6m c #F0A735", +"6n c #454234", +"6o c #FFC343", +"6p c #D1A03E", +"6q c #5E5336", +"6r c #313230", +"6s c #313130", +"6t c #313232", +"6u c #453D33", +"6v c #816927", +"6w c #B8A02C", +"6x c #C2A52E", +"6y c #948425", +"6z c #D9BF6C", +"6A c #EDDC87", +"6B c #FBF9A0", +"6C c #EBCF50", +"6D c #CAB134", +"6E c #AE9922", +"6F c #978714", +"6G c #8E8110", +"6H c #8A7F0E", +"6I c #817411", +"6J c #7F7517", +"6K c #6E651B", +"6L c #5C5825", +"6M c #4E4D36", +"6N c #524F45", +"6O c #B19C27", +"6P c #7A6637", +"6Q c #565556", +"6R c #57554B", +"6S c #7B6D1B", +"6T c #515051", +"6U c #464442", +"6V c #76673B", +"6W c #FEF6D3", +"6X c #FEF8B9", +"6Y c #BEB46E", +"6Z c #9D9045", +"6& c #7F702E", +"7 c #6D6641", +"70 c #6B6854", +"71 c #5F5D56", +"72 c #5B5A51", +"73 c #57574D", +"74 c #585548", +"75 c #535146", +"76 c #43423D", +"77 c #373738", +"78 c #363432", +"79 c #62581D", +"7a c #323432", +"7b c #323233", +"7c c #323131", +"7d c #373734", +"7e c #9E9450", +"7f c #F9BD44", +"7g c #FA9226", +"7h c #ED9D30", +"7i c #434132", +"7j c #F7B035", +"7k c #FD9C2D", +"7l c #F7A936", +"7m c #977435", +"7n c #2D2E2E", +"7o c #2F2E2F", +"7p c #2F2F2D", +"7q c #5A4832", +"7r c #5F561F", +"7s c #313132", +"7t c #3F3C32", +"7u c #EABA35", +"7v c #FDD744", +"7w c #D5B846", +"7x c #9C8C21", +"7y c #C6AE58", +"7z c #F5EA6D", +"7A c #F7F25F", +"7B c #D2C643", +"7C c #978319", +"7D c #887912", +"7E c #7A6C0E", +"7F c #6A5F08", +"7G c #786C0A", +"7H c #5F5C15", +"7I c #434243", +"7J c #434344", +"7K c #6E5F3B", +"7L c #605A2B", +"7M c #474747", +"7N c #545654", +"7O c #7E701B", +"7P c #5B594A", +"7Q c #393934", +"7R c #56471E", +"7S c #FED316", +"7T c #FEE820", +"7U c #8F832B", +"7V c #4D493F", +"7W c #544F44", +"7X c #46443B", +"7Y c #47483E", +"7Z c #46463B", +"7& c #45433B", +"8 c #45423B", +"80 c #47443D", +"81 c #47453B", +"82 c #46463E", +"83 c #353436", +"84 c #353330", +"85 c #675E20", +"86 c #2F2F2F", +"87 c #5C5B3F", +"88 c #DEC455", +"89 c #FEAE33", +"8a c #E5841C", +"8b c #FA9D27", +"8c c #ECA634", +"8d c #413D2F", +"8e c #F19D2C", +"8f c #F89C29", +"8g c #FEA22C", +"8h c #F99B2D", +"8i c #D09434", +"8j c #4D4230", +"8k c #2C2B2B", +"8l c #574730", +"8m c #524D21", +"8n c #60532E", +"8o c #EEBD3B", +"8p c #DBB145", +"8q c #E6BF4E", +"8r c #D6B842", +"8s c #918116", +"8t c #F6F44F", +"8u c #FEE646", +"8v c #FEC31E", +"8w c #7B6711", +"8x c #73630C", +"8y c #645707", +"8z c #5A5204", +"8A c #5A5303", +"8B c #635F0C", +"8C c #414041", +"8D c #434342", +"8E c #827127", +"8F c #4C493A", +"8G c #464545", +"8H c #505150", +"8I c #716725", +"8J c #655D42", +"8K c #303029", +"8L c #222118", +"8M c #867519", +"8N c #9A8A1C", +"8O c #3C3B24", +"8P c #313227", +"8Q c #323329", +"8R c #35342A", +"8S c #35332A", +"8T c #35352B", +"8U c #35362C", +"8V c #37342E", +"8W c #3C3832", +"8X c #444038", +"8Y c #43443C", +"8Z c #353433", +"8& c #33312F", +"9 c #74661E", +"90 c #8F8544", +"91 c #FFCF48", +"92 c #FB9C29", +"93 c #F29021", +"94 c #F89E28", +"95 c #FFAF31", +"96 c #EFA532", +"97 c #3E3A2B", +"98 c #EF9D2A", +"99 c #F89C27", +"9a c #FFB132", +"9b c #F8A32B", +"9c c #FA9D31", +"9d c #F7AA38", +"9e c #84602F", +"9f c #5D4E2B", +"9g c #494520", +"9h c #2E2E2E", +"9i c #5D522E", +"9j c #EEAD3D", +"9k c #C68F3E", +"9l c #A4833C", +"9m c #C6A544", +"9n c #A7902E", +"9o c #AFAE26", +"9p c #F9C81F", +"9q c #D08C0F", +"9r c #816D0C", +"9s c #6A5D07", +"9t c #5E5404", +"9u c #584E02", +"9v c #5B4E0A", +"9w c #625C09", +"9x c #404040", +"9y c #424240", +"9z c #484640", +"9A c #807022", +"9B c #3F3F40", +"9C c #424143", +"9D c #474546", +"9E c #525454", +"9F c #515153", +"9G c #6A6425", +"9H c #6E653A", +"9I c #393834", +"9J c #16150B", +"9K c #2B2B0F", +"9L c #6A5B16", +"9M c #212119", +"9N c #202017", +"9O c #24261A", +"9P c #25271B", +"9Q c #292A1E", +"9R c #2C2C21", +"9S c #313025", +"9T c #33332A", +"9U c #3B3A32", +"9V c #424039", +"9W c #3A3935", +"9X c #333333", +"9Y c #34332E", +"9Z c #625B21", +"9& c #52412C", +"a c #C88929", +"a0 c #FECA46", +"a1 c #FEBD3B", +"a2 c #FFB632", +"a3 c #FEB332", +"a4 c #EBA02F", +"a5 c #FBA930", +"a6 c #FFAA2E", +"a7 c #FFAD2F", +"a8 c #FFBB51", +"a9 c #FEC26E", +"aa c #B16F1E", +"ab c #423525", +"ac c #645627", +"ad c #393824", +"ae c #2D2D2D", +"af c #50482A", +"ag c #CA9A2C", +"ah c #D19D28", +"ai c #B59332", +"aj c #AB8F2A", +"ak c #A38533", +"al c #8F7B24", +"am c #766F10", +"an c #A0721D", +"ao c #FEC046", +"ap c #F9D25D", +"aq c #F0E47C", +"ar c #EAD785", +"as c #DED178", +"at c #DCB455", +"au c #CD803B", +"av c #543E27", +"aw c #635636", +"ax c #544E24", +"ay c #2E2D2E", +"az c #2E2E2F", +"aA c #525353", +"aB c #525051", +"aC c #5B573D", +"aD c #7A6E2E", +"aE c #161609", +"aF c #201F0D", +"aG c #716315", +"aH c #1B1B13", +"aI c #1D1C16", +"aJ c #212117", +"aK c #24251A", +"aL c #28291E", +"aM c #2D2D20", +"aN c #313126", +"aO c #36352A", +"aP c #3A3B30", +"aQ c #424138", +"aR c #2A2B29", +"aS c #37372D", +"aT c #5D541F", +"aU c #302F2F", +"aV c #2E2F2F", +"aW c #32312C", +"aX c #8C6127", +"aY c #F9BA39", +"aZ c #FFCC46", +"a& c #FFB432", +"b c #F0A330", +"b0 c #413C2F", +"b1 c #FBA72F", +"b2 c #FEAC31", +"b3 c #FFC268", +"b4 c #E79F38", +"b5 c #7A501F", +"b6 c #2A2B2B", +"b7 c #403F33", +"b8 c #998633", +"b9 c #636134", +"ba c #625630", +"bb c #726426", +"bc c #BB911C", +"bd c #B1981E", +"be c #A3862F", +"bf c #9C8424", +"bg c #927B27", +"bh c #8E7A26", +"bi c #70680F", +"bj c #8F7C15", +"bk c #FFC44D", +"bl c #FFE574", +"bm c #FFFFAA", +"bn c #FFFFBE", +"bo c #FEF89B", +"bp c #FEC264", +"bq c #7F501B", +"br c #443016", +"bs c #7B6723", +"bt c #312F23", +"bu c #232323", +"bv c #242424", +"bw c #272627", +"bx c #525152", +"by c #A79A4D", +"bz c #D5C658", +"bA c #9D9665", +"bB c #413A26", +"bC c #18180D", +"bD c #6F6218", +"bE c #231F16", +"bF c #1E1C16", +"bG c #22231A", +"bH c #25261B", +"bI c #28291D", +"bJ c #2C2D20", +"bK c #333227", +"bL c #36352C", +"bM c #3D3C31", +"bN c #494833", +"bO c #35311A", +"bP c #403C2C", +"bQ c #615B21", +"bR c #313131", +"bS c #313031", +"bT c #2F302F", +"bU c #2E2E30", +"bV c #543F29", +"bW c #D7942B", +"bX c #FFC746", +"bY c #EE9D34", +"bZ c #423E30", +"b& c #FEB137", +"c c #FEC56F", +"c0 c #B3711E", +"c1 c #443728", +"c2 c #2C2C2D", +"c3 c #6F6F32", +"c4 c #FBCF27", +"c5 c #B99A1F", +"c6 c #423E26", +"c7 c #32332F", +"c8 c #6C5D23", +"c9 c #A48D13", +"ca c #917E20", +"cb c #897229", +"cc c #7F6A25", +"cd c #857023", +"ce c #716618", +"cf c #7C6F13", +"cg c #FEBA49", +"ch c #FFD669", +"ci c #FEF48D", +"cj c #FFFB99", +"ck c #FEC96B", +"cl c #8A4E1B", +"cm c #4B371F", +"cn c #3A3933", +"co c #70631A", +"cp c #2B2C2B", +"cq c #232222", +"cr c #242324", +"cs c #BCA02C", +"ct c #DDC82F", +"cu c #8C8738", +"cv c #484A49", +"cw c #212318", +"cx c #685D11", +"cy c #2C2519", +"cz c #1F1D16", +"cA c #232119", +"cB c #2A291F", +"cC c #2E2F23", +"cD c #343329", +"cE c #38382D", +"cF c #393830", +"cG c #353431", +"cH c #4C4A1C", +"cI c #504B24", +"cJ c #42402C", +"cK c #625C22", +"cL c #333434", +"cM c #323433", +"cN c #36332F", +"cO c #926226", +"cP c #E98B24", +"cQ c #444032", +"cR c #EDA025", +"cS c #7E5423", +"cT c #2F3030", +"cU c #312F2F", +"cV c #303030", +"cW c #373630", +"cX c #A28622", +"cY c #AF9947", +"cZ c #4E4B36", +"c& c #323232", +"d c #7C6C19", +"d0 c #9A8A1B", +"d1 c #80751B", +"d2 c #7B6D20", +"d3 c #786C18", +"d4 c #736A15", +"d5 c #706B10", +"d6 c #F2A53B", +"d7 c #FFB850", +"d8 c #FEBF5B", +"d9 c #FEB859", +"da c #EB8436", +"db c #915121", +"dc c #414141", +"dd c #625B35", +"de c #58542C", +"df c #3D3C3C", +"dg c #333132", +"dh c #242323", +"di c #252524", +"dj c #545352", +"dk c #515152", +"dl c #615E4B", +"dm c #747136", +"dn c #AC9533", +"do c #504F4A", +"dp c #5D581A", +"dq c #373015", +"dr c #1F1F16", +"ds c #24231C", +"dt c #2B2B21", +"du c #303124", +"dv c #333028", +"dw c #37362E", +"dx c #2C2D2C", +"dy c #202020", +"dz c #363633", +"dA c #44401B", +"dB c #736A2F", +"dC c #655F28", +"dD c #373636", +"dE c #353534", +"dF c #58442F", +"dG c #3A3835", +"dH c #4E4330", +"dI c #333234", +"dJ c #333433", +"dK c #353334", +"dL c #423E33", +"dM c #C4A559", +"dN c #4A4734", +"dO c #3D3B34", +"dP c #7F7018", +"dQ c #8D7C10", +"dR c #958620", +"dS c #766B18", +"dT c #756B10", +"dU c #727207", +"dV c #E0902A", +"dW c #FE9E3A", +"dX c #FE9439", +"dY c #EC7B28", +"dZ c #FF8C36", +"d& c #FE923D", +"e c #D57836", +"e0 c #92681F", +"e1 c #48473F", +"e2 c #454644", +"e3 c #272526", +"e4 c #2A2A29", +"e5 c #4E4F4F", +"e6 c #807336", +"e7 c #7B702F", +"e8 c #65621F", +"e9 c #59502C", +"ea c #303028", +"eb c #2B2C22", +"ec c #29281D", +"ed c #2E3025", +"ee c #34332C", +"ef c #262421", +"eg c #373736", +"eh c #242523", +"ei c #353536", +"ej c #343324", +"ek c #F1D03E", +"el c #F7E033", +"em c #46443A", +"en c #383837", +"eo c #373837", +"ep c #393738", +"eq c #383737", +"er c #363737", +"es c #373737", +"et c #353735", +"eu c #373735", +"ev c #524B37", +"ew c #C6B26C", +"ex c #423F39", +"ey c #39393A", +"ez c #4A4529", +"eA c #7C6D16", +"eB c #786E0E", +"eC c #847608", +"eD c #796A08", +"eE c #D17920", +"eF c #FE872B", +"eG c #A5571A", +"eH c #583616", +"eI c #E56E24", +"eJ c #FE8632", +"eK c #FE8B35", +"eL c #FE822E", +"eM c #B06231", +"eN c #4C4642", +"eO c #343432", +"eP c #252626", +"eQ c #303231", +"eR c #555456", +"eS c #504F4D", +"eT c #6B6513", +"eU c #5F583E", +"eV c #5F5A2B", +"eW c #70662A", +"eX c #262827", +"eY c #3C3D3C", +"eZ c #1E1F1E", +"e& c #20201F", +"f c #33311C", +"f0 c #5D5216", +"f1 c #655A1A", +"f2 c #B28E15", +"f3 c #CCB625", +"f4 c #42423C", +"f5 c #3C3B3A", +"f6 c #3B3A3C", +"f7 c #3C3B3C", +"f8 c #3A3C3A", +"f9 c #3A3939", +"fa c #58523D", +"fb c #C1AF75", +"fc c #403F3C", +"fd c #272827", +"fe c #5B5121", +"ff c #3F3E28", +"fg c #444239", +"fh c #44423D", +"fi c #965830", +"fj c #934D15", +"fk c #543416", +"fl c #252423", +"fm c #513420", +"fn c #F87725", +"fo c #FE8230", +"fp c #FF7F2D", +"fq c #E57226", +"fr c #7A4626", +"fs c #2C2926", +"ft c #555556", +"fu c #525352", +"fv c #565541", +"fw c #685D12", +"fx c #645F35", +"fy c #7A6C24", +"fz c #2E2D2D", +"fA c #343433", +"fB c #232122", +"fC c #242321", +"fD c #423A1C", +"fE c #5B5014", +"fF c #4E4816", +"fG c #27261F", +"fH c #282929", +"fI c #262727", +"fJ c #3D3D3E", +"fK c #3D3F3E", +"fL c #3D3D3C", +"fM c #3C3D3D", +"fN c #3B3D3B", +"fO c #3C3C3C", +"fP c #38393A", +"fQ c #3D3C3D", +"fR c #3E3D3D", +"fS c #65604E", +"fT c #C1BA7E", +"fU c #3C3B38", +"fV c #272828", +"fW c #675C1F", +"fX c #3F3D39", +"fY c #433C34", +"fZ c #50361B", +"f& c #36321E", +"g c #5D5514", +"g0 c #615B0E", +"g1 c #8C5316", +"g2 c #F77423", +"g3 c #FC7929", +"g4 c #FD7C2A", +"g5 c #FA792A", +"g6 c #F67627", +"g7 c #C16023", +"g8 c #443B33", +"g9 c #545354", +"ga c #535352", +"gb c #505151", +"gc c #5D5C2A", +"gd c #716313", +"ge c #837620", +"gf c #2E2F30", +"gg c #333230", +"gh c #373121", +"gi c #50441A", +"gj c #635914", +"gk c #37331C", +"gl c #212020", +"gm c #222122", +"gn c #202120", +"go c #353535", +"gp c #1F2020", +"gq c #393839", +"gr c #414242", +"gs c #424141", +"gt c #404041", +"gu c #404141", +"gv c #414240", +"gw c #404140", +"gx c #3B3B3D", +"gy c #2C2B2D", +"gz c #2A2B2A", +"gA c #373838", +"gB c #3F403F", +"gC c #40403F", +"gD c #3E403E", +"gE c #70674B", +"gF c #B2A87D", +"gG c #262524", +"gH c #69601D", +"gI c #424342", +"gJ c #444343", +"gK c #4E4A3D", +"gL c #5A4922", +"gM c #61590F", +"gN c #534D11", +"gO c #34311D", +"gP c #242524", +"gQ c #A8531C", +"gR c #ED6F21", +"gS c #F27326", +"gT c #F57727", +"gU c #E06E23", +"gV c #804714", +"gW c #4B3A26", +"gX c #545554", +"gY c #8F8A49", +"gZ c #A19028", +"g& c #615C49", +"h c #574E1D", +"h0 c #5B5116", +"h1 c #433E1B", +"h2 c #262622", +"h3 c #232322", +"h4 c #242423", +"h5 c #222123", +"h6 c #222322", +"h7 c #2B2B2B", +"h8 c #313030", +"h9 c #454344", +"ha c #282828", +"hb c #242425", +"hc c #212122", +"hd c #282728", +"he c #3A3838", +"hf c #7E784B", +"hg c #C5C170", +"hh c #877E2A", +"hi c #71673B", +"hj c #7F6A29", +"hk c #6B611F", +"hl c #474326", +"hm c #292826", +"hn c #242525", +"ho c #262626", +"hp c #252627", +"hq c #322A24", +"hr c #C15C1C", +"hs c #E26B1D", +"ht c #DC6A1E", +"hu c #7C4513", +"hv c #443118", +"hw c #353636", +"hx c #545555", +"hy c #CAA53D", +"hz c #FBE226", +"hA c #C9BC2F", +"hB c #46432D", +"hC c #242325", +"hD c #252523", +"hE c #242223", +"hF c #3A3938", +"hG c #424243", +"hH c #484749", +"hI c #474748", +"hJ c #444545", +"hK c #343332", +"hL c #282827", +"hM c #232424", +"hN c #262525", +"hO c #232223", +"hP c #252525", +"hQ c #2A2A2A", +"hR c #343535", +"hS c #55562E", +"hT c #FEFA4D", +"hU c #FBC41F", +"hV c #76682F", +"hW c #4A4B44", +"hX c #4A4948", +"hY c #292828", +"hZ c #493324", +"h& c #C85E19", +"i c #7A4210", +"i0 c #44311B", +"i1 c #2A2A2B", +"i2 c #5E5C5D", +"i3 c #595858", +"i4 c #575857", +"i5 c #74633C", +"i6 c #D8C522", +"i7 c #7F7739", +"i8 c #282726", +"i9 c #272626", +"ia c #252526", +"ib c #272625", +"ic c #242626", +"id c #252624", +"ie c #262526", +"if c #262424", +"ig c #323332", +"ih c #333232", +"ii c #4A494B", +"ij c #232324", +"ik c #282727", +"il c #AC9C31", +"im c #BF8C1D", +"in c #555046", +"io c #4B4B4C", +"ip c #3B3A3B", +"iq c #272729", +"ir c #292929", +"is c #282A29", +"it c #443122", +"iu c #4A341D", +"iv c #2B2C2A", +"iw c #2D2C2C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m m n o p p q r r s t u v w x y z y A B C D z E F D G H I J K L w M N O N P Q R S", +" T U V W X Y Z 8 &0 000102030405060708090a r0b0c0d w0e C0f0g0h0i0j0k0l0m0n0n0o0p0q0o0r0n0s0t0u0v0w0x0y0z0A0B0C0D0E B0F y D x M0G", +"0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0& D0C0f1 100p0r111213141516161718191a1b1c1d1e1f1g1h1i1j1k1l1m171n1o1p1q1r0t100i0k1s1t0h D", +"1u1v1w1x1y1z1A1B k1C1D1E r1F1G1H1I1J1K1L1M111N16191O1P1Q1R1S1T1U1V1U1W1U1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h0o2i0n2j0j", +"2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I1X2J2K2L2K2M2N2O2O2P2Q2R2S2T2U2V2W2X2Y2O2Z2&3 3031323334351S2F36373816393a3a3b", +"3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t261V3u3v3w3x3y3z2T3A3B3C3D3E3F3G3H3I3J3D3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&1T1T4 404142434417", +"45464748494a C4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4x4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y1U2d4Z4&5 50", +"5152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o4J4B5p5p5q5r5s5t5u5v5w5x5x5y5z5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P2Z5Q5R5S0x5T5U5V", +"5W0d5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f5x6g6h6i6j6k6l6m6n6o6p6q6r6s6t6t6u6v6i6g6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P26", +"6Q C6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H2Q7I7J7K7L1X7M", +"7N0f1 7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 8081828384856s868788898a8b8c8d8e8f8g8h8i8j8k8l8m868n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C2T8D8E8F8G1V", +"0h0j8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 86909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D", +"9E9F0n9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9h9&a a0a1a2a3a497a5a6a7a8a9aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayaz4w", +"aAaB0raCaD25aEaFaGaHaIaJaKaLaMaNaOaPaQaR9XaSaTaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbw", +"1tbx10bybzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbO8kbPbQbRbSbTbUbVbWbXbYbZb&c c0c1aec2c3c4c5c6c7c8c9cacbcccdcecfcgchcicjckclcmcncocpcqcrbv", +" A0m3bcsctcucvcwcxcyczcAbHcBcCcDcEcFcGcHcIcJcKcLcM6j7cbRcNcOcPcQcRcScTcUcVcVcWcXcYcZc&9Xd d0d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdi", +"djbxdkdldmdndo1UdpdqdrbGdsdtdudvdwdxdydzdAdBdC77dDdEcLcL6hcLdFdGdHcL6idIdJdJ9XdKdLdMdNdDdOdPdQdRdSdTdUdVdWdXdYdZd&e e0e1e25xe3e4", +" zdj0i0ne5e6e71ae8e9eaebecedeeefbuegeheiejekelem4Ceneoepeq77ereneg5Besegeterereu77evewexey4BezeAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQ", +"eR B Bbx2jeSeTeUeVeW28egeXeYaReZe&buf f0f1f2f3f4eYf5f6f7f84x4C6d6d4B4G4Ff94G4B4F4D6dfafbfc4xfdfefffgfhfifjfkflfmfneLfofpfqfrfseg", +" tft1t0Efu6Tfvfwfxfy7Mfz4GfAfBfCfDfEfFfG3CfHfI3A9B3C3JfJfKfLfJeYfMfMfNfOfPdff74sfQfRfLfSfTfUfVfWfX3z2QfYfZf&g g0g1g2g3g4g5g6g7g8", +" p tft Cg9gagbgcgdge6dgfggghgigjgkglgmgnbvgogpgq7Igrgsgtgugv8Cgwgt9BgxcMgyeggzgAgBgCgDgCgEgFgGgHgIgJgKgLgMgNgOgPdigQgRgSgTgUgVgW", +" R R N1G6QgXg90jgYgZg&h h0h1h2h3h4cqcqh5h6h7h7h82K2J8G1YgJh97J7I3C4EhahbhcaegzhddDhe2Q9Xeqhfhghhhihjhkhlhmhnhnhohphqhrhshthuhvhw", +"0U1E52 p O M whxhyhzhAhBhohnbvdihChnhDbudhhEhFh6hGhH1T24hI1X7MhJhKhLhMbuh6buhNhOhPhQhR9hgGhShThUhVhWhXeghYePbwfdfIfdhZh&i i0i1hQ", +"i2071D1E Si3i4 ti5i6i7ayi8i9iahoibiaicidieifigih9X1V1Oii2b2F2T4DbThMcrgPhChnijh4hbdihYhabvikilimin19ioipfVikiqhYiririsitiugziviw"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleHeadUpDisplay.xpm b/2009-x64/cps4.03/icons/cpscToggleHeadUpDisplay.xpm new file mode 100644 index 0000000..e35475c --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleHeadUpDisplay.xpm @@ -0,0 +1,1152 @@ +/* XPM */ +static char *T_xpm[]={ +"64 24 1125 2", +" c #727272", +" 0 c #727270", +" 1 c #70706F", +" 2 c #6F6F70", +" 3 c #6E6F6F", +" 4 c #6E6E6D", +" 5 c #6C6C6D", +" 6 c #6C6B6D", +" 7 c #6C6A6B", +" 8 c #686868", +" 9 c #676868", +" a c #696867", +" b c #676666", +" c c #656666", +" d c #646565", +" e c #646464", +" f c #636463", +" g c #616262", +" h c #5F5F5F", +" i c #606060", +" j c #5E5F5F", +" k c #5D5D5D", +" l c #5D5D5E", +" m c #5B5C5B", +" n c #5C5C5A", +" o c #5A595B", +" p c #585858", +" q c #585959", +" r c #575858", +" s c #575758", +" t c #565757", +" u c #555656", +" v c #565557", +" w c #555555", +" x c #565555", +" y c #555455", +" z c #545455", +" A c #525254", +" B c #535354", +" C c #555554", +" D c #545454", +" E c #545453", +" F c #555355", +" G c #535455", +" H c #545354", +" I c #545554", +" J c #545555", +" K c #555657", +" L c #565656", +" M c #575757", +" N c #575658", +" O c #595758", +" P c #58595A", +" Q c #595958", +" R c #595959", +" S c #6F6E6E", +" T c #6C6D6C", +" U c #857D62", +" V c #D6B443", +" W c #D9B544", +" X c #CEB35E", +" Y c #CFB35D", +" Z c #C8B26F", +" & c #D1B65F", +"0 c #CCB469", +"00 c #C7B56F", +"01 c #CBB669", +"02 c #CBB66A", +"03 c #DDBF50", +"04 c #CCB86D", +"05 c #C6B77B", +"06 c #CFBC6D", +"07 c #D0BC6E", +"08 c #E1C653", +"09 c #CEBD6D", +"0a c #DFC654", +"0b c #DFC454", +"0c c #CEBA6C", +"0d c #CEB86C", +"0e c #CDB76C", +"0f c #C4B278", +"0g c #DFBD50", +"0h c #CCB369", +"0i c #CAB167", +"0j c #C6AF64", +"0k c #D5B249", +"0l c #C1AA61", +"0m c #CFAC46", +"0n c #BEA966", +"0o c #BFA65C", +"0p c #BAA45A", +"0q c #C5A33C", +"0r c #BAA051", +"0s c #BC9D40", +"0t c #988140", +"0u c #50504F", +"0v c #4F504F", +"0w c #504F50", +"0x c #505050", +"0y c #4F4F4E", +"0z c #4F4F50", +"0A c #4F4F4F", +"0B c #4F4E50", +"0C c #525150", +"0D c #525251", +"0E c #515251", +"0F c #525252", +"0G c #525151", +"0H c #525253", +"0I c #545252", +"0J c #535454", +"0K c #545355", +"0L c #565657", +"0M c #6B6A69", +"0N c #696967", +"0O c #8F825A", +"0P c #EEC33E", +"0Q c #B5B5B7", +"0R c #B6B6B7", +"0S c #B7B6B6", +"0T c #B8B8B8", +"0U c #B8B7B7", +"0V c #B8B9B8", +"0W c #B8B7B9", +"0X c #B7B8B9", +"0Y c #B7B8B8", +"0Z c #B7B7B9", +"0& c #B8B8B7", +"1 c #B7B7B6", +"10 c #B5B5B6", +"11 c #B6B6B5", +"12 c #B4B5B5", +"13 c #B5B4B3", +"14 c #B3B3B4", +"15 c #B3B2B3", +"16 c #B1B2B1", +"17 c #B1B1B1", +"18 c #B0B1AF", +"19 c #B0AFB0", +"1a c #AFAFAF", +"1b c #ADAEAE", +"1c c #ACADAD", +"1d c #ADADAC", +"1e c #AAABAB", +"1f c #AAA9A9", +"1g c #AAA9AA", +"1h c #BCA86D", +"1i c #9F873A", +"1j c #4A4A4A", +"1k c #4B4B4C", +"1l c #4B4B4B", +"1m c #4B4D4B", +"1n c #4C4B4B", +"1o c #4C4C4C", +"1p c #4D4D4C", +"1q c #4D4D4D", +"1r c #4E4D4E", +"1s c #4D4E4E", +"1t c #504F4E", +"1u c #515150", +"1v c #515151", +"1w c #525351", +"1x c #535353", +"1y c #535453", +"1z c #656565", +"1A c #656464", +"1B c #857C58", +"1C c #EAC13B", +"1D c #B0B2B1", +"1E c #A0AAA3", +"1F c #A0A8A2", +"1G c #ACB0AD", +"1H c #AEB1B0", +"1I c #AEB2AF", +"1J c #ACB2AE", +"1K c #B4B5B4", +"1L c #B2B5B3", +"1M c #AAAEAC", +"1N c #A9AEAC", +"1O c #AEB2B0", +"1P c #A7ADA9", +"1Q c #B1B4B3", +"1R c #B4B4B4", +"1S c #B3B4B3", +"1T c #B4B3B4", +"1U c #B3B4B4", +"1V c #BABABA", +"1W c #BDBDBE", +"1X c #BCBCBC", +"1Y c #B8B8B9", +"1Z c #AEAFAE", +"1& c #ADADAD", +"2 c #ACABAC", +"20 c #B1B3B3", +"21 c #B0B0B0", +"22 c #A9A8A9", +"23 c #A7A6A6", +"24 c #B9A66D", +"25 c #957D30", +"26 c #363736", +"27 c #474647", +"28 c #464848", +"29 c #484847", +"2a c #484747", +"2b c #494949", +"2c c #4A4848", +"2d c #49494A", +"2e c #494B4B", +"2f c #4B4A4A", +"2g c #4B4B4A", +"2h c #4B4C4C", +"2i c #4D4E4D", +"2j c #4E4E4D", +"2k c #4F4E4F", +"2l c #515050", +"2m c #626262", +"2n c #626261", +"2o c #837855", +"2p c #E7BE3B", +"2q c #ABAEAC", +"2r c #8B9D91", +"2s c #5F826C", +"2t c #648770", +"2u c #6D8B78", +"2v c #638670", +"2w c #6C8B77", +"2x c #909E94", +"2y c #9EA8A2", +"2z c #A3ABA4", +"2A c #91A096", +"2B c #557D63", +"2C c #547D62", +"2D c #64866F", +"2E c #A1A9A4", +"2F c #B0B2B0", +"2G c #B2B2B3", +"2H c #B3B3B2", +"2I c #B1B1B2", +"2J c #B5B7B6", +"2K c #D1D0CF", +"2L c #E1E0E0", +"2M c #DEDDDE", +"2N c #C7C8C7", +"2O c #ACAEAD", +"2P c #ACABAD", +"2Q c #ABABAC", +"2R c #ABABAA", +"2S c #ACACAA", +"2T c #D2D3D3", +"2U c #C2C2C2", +"2V c #AEAEAE", +"2W c #A6A6A5", +"2X c #B9A66C", +"2Y c #8C7628", +"2Z c #1D1E1E", +"2& c #424241", +"3 c #424243", +"30 c #434244", +"31 c #444443", +"32 c #444444", +"33 c #454444", +"34 c #454544", +"35 c #454646", +"36 c #464647", +"37 c #474747", +"38 c #484748", +"39 c #484849", +"3a c #494749", +"3b c #484A48", +"3c c #4A4A49", +"3d c #4A4B4B", +"3e c #4C4C4B", +"3f c #56554B", +"3g c #8E834B", +"3h c #4E4D4D", +"3i c #4E4E4F", +"3j c #4F5050", +"3k c #605F60", +"3l c #5F5D5E", +"3m c #7F7452", +"3n c #D9B951", +"3o c #ADAFAE", +"3p c #A0A7A3", +"3q c #829789", +"3r c #76917F", +"3s c #748F7D", +"3t c #7F9485", +"3u c #758F7D", +"3v c #87998D", +"3w c #99A49D", +"3x c #95A199", +"3y c #8D9C92", +"3z c #718E7C", +"3A c #768F7F", +"3B c #87988D", +"3C c #A2A9A5", +"3D c #B1B0B1", +"3E c #B0B1B0", +"3F c #B6B5B5", +"3G c #BFBDBD", +"3H c #C7C7C7", +"3I c #D7D7D7", +"3J c #BEBDBD", +"3K c #ACADAC", +"3L c #ABACAB", +"3M c #AAAAAA", +"3N c #A9AAAA", +"3O c #A8AAAA", +"3P c #C7C6C6", +"3Q c #B5B6B5", +"3R c #ABAAAA", +"3S c #A6A5A5", +"3T c #B5A368", +"3U c #8B7327", +"3V c #1C1C1B", +"3W c #333232", +"3X c #3F3F3E", +"3Y c #3F3E3F", +"3Z c #3F403E", +"3& c #414040", +"4 c #404142", +"40 c #414242", +"41 c #424242", +"42 c #424344", +"43 c #454545", +"44 c #464646", +"45 c #474847", +"46 c #4D4D48", +"47 c #B6A74D", +"48 c #53514A", +"49 c #3A3A39", +"4a c #404041", +"4b c #5D5C5C", +"4c c #5B5C5C", +"4d c #7B724F", +"4e c #E0B837", +"4f c #AFADAD", +"4g c #AFAFAE", +"4h c #AEAEB0", +"4i c #AFB0B0", +"4j c #AFAFB0", +"4k c #AFB0AF", +"4l c #B0AFAF", +"4m c #B0B0AF", +"4n c #AFAEB0", +"4o c #AFAEAF", +"4p c #AFADAE", +"4q c #ACACAC", +"4r c #ADABAC", +"4s c #AAAAA9", +"4t c #A9AAA8", +"4u c #A9A8A8", +"4v c #A8A8A7", +"4w c #A7A8A7", +"4x c #A5A5A5", +"4y c #A5A6A5", +"4z c #A5A5A3", +"4A c #A3A3A3", +"4B c #B7A161", +"4C c #897125", +"4D c #1B1A19", +"4E c #343333", +"4F c #3A3A3C", +"4G c #3C3C3B", +"4H c #3D3C3C", +"4I c #3D3C3D", +"4J c #3E3E3D", +"4K c #3E3E3E", +"4L c #403F3F", +"4M c #40403F", +"4N c #404141", +"4O c #414241", +"4P c #434242", +"4Q c #434342", +"4R c #454443", +"4S c #444546", +"4T c #B2A54C", +"4U c #696446", +"4V c #3D3D3E", +"4W c #282829", +"4X c #272728", +"4Y c #484948", +"4Z c #5A595A", +"4& c #595859", +"5 c #7A6F4D", +"50 c #D9B53E", +"51 c #ABACAD", +"52 c #ADACAE", +"53 c #AAACAA", +"54 c #ADAEAD", +"55 c #AEADAE", +"56 c #ADADAE", +"57 c #AEAEAD", +"58 c #ADAFAD", +"59 c #AFAEAD", +"5a c #AEADAD", +"5b c #ADADAB", +"5c c #ACABAB", +"5d c #ABACAC", +"5e c #ABABAB", +"5f c #AAAAAB", +"5g c #A8A9A9", +"5h c #A8A8A8", +"5i c #A7A7A6", +"5j c #A5A6A6", +"5k c #A3A4A3", +"5l c #A4A4A3", +"5m c #A2A1A2", +"5n c #B49F5E", +"5o c #876F24", +"5p c #191919", +"5q c #2F2F2F", +"5r c #383838", +"5s c #383739", +"5t c #3A3939", +"5u c #3A393A", +"5v c #39393B", +"5w c #3B3C3C", +"5x c #3C3D3C", +"5y c #3F4040", +"5z c #404040", +"5A c #424342", +"5B c #9F9549", +"5C c #8E813E", +"5D c #3C3D3D", +"5E c #282727", +"5F c #222323", +"5G c #242423", +"5H c #414141", +"5I c #494A4B", +"5J c #585757", +"5K c #575657", +"5L c #776D4A", +"5M c #D0B342", +"5N c #A4A7A4", +"5O c #7D9185", +"5P c #7F9285", +"5Q c #718A79", +"5R c #87978D", +"5S c #929D94", +"5T c #9CA39F", +"5U c #949E99", +"5V c #97A09A", +"5W c #A4A6A4", +"5X c #7D9082", +"5Y c #798F81", +"5Z c #6B8674", +"5& c #788E7F", +"6 c #A7A9A7", +"60 c #AAABAA", +"61 c #AAABA9", +"62 c #ACACAB", +"63 c #C3C4C3", +"64 c #D2D2D2", +"65 c #D7D6D6", +"66 c #C3C3C2", +"67 c #A8A7A9", +"68 c #A7A5A6", +"69 c #A4A4A4", +"6a c #A4A3A5", +"6b c #A4A5A5", +"6c c #BEBFBE", +"6d c #B5B6B4", +"6e c #A5A5A4", +"6f c #A0A1A1", +"6g c #A7A083", +"6h c #856E23", +"6i c #171817", +"6j c #323131", +"6k c #353534", +"6l c #363636", +"6m c #373637", +"6n c #383738", +"6o c #373739", +"6p c #38393A", +"6q c #3B3B3C", +"6r c #3D3D3C", +"6s c #3D3D3D", +"6t c #3E3F3E", +"6u c #3E3F40", +"6v c #3F403F", +"6w c #827C48", +"6x c #B7A63D", +"6y c #3F4039", +"6z c #272828", +"6A c #212322", +"6B c #222222", +"6C c #29282A", +"6D c #484949", +"6E c #565556", +"6F c #565554", +"6G c #746B48", +"6H c #D7B12B", +"6I c #A1A3A2", +"6J c #73897C", +"6K c #63816D", +"6L c #4B745B", +"6M c #497459", +"6N c #467054", +"6O c #50775D", +"6P c #4C735A", +"6Q c #688473", +"6R c #929D96", +"6S c #84948A", +"6T c #678370", +"6U c #497457", +"6V c #4C745A", +"6W c #989E9B", +"6X c #A9A9A9", +"6Y c #C9C9CB", +"6Z c #E0E0DF", +"6& c #E2E2E2", +"7 c #C6C6C6", +"70 c #A6A7A7", +"71 c #A4A4A5", +"72 c #A3A3A2", +"73 c #A7A8A8", +"74 c #C8CAC8", +"75 c #B9B7B7", +"76 c #A6A7A6", +"77 c #A09FA0", +"78 c #AF9D62", +"79 c #836D22", +"7a c #171516", +"7b c #282929", +"7c c #323232", +"7d c #343534", +"7e c #353435", +"7f c #353536", +"7g c #373736", +"7h c #393838", +"7i c #383939", +"7j c #3C3B3A", +"7k c #696343", +"7l c #D2C14E", +"7m c #524B30", +"7n c #2E2C2D", +"7o c #212021", +"7p c #212122", +"7q c #222322", +"7r c #474646", +"7s c #545654", +"7t c #545253", +"7u c #716948", +"7v c #D2AF29", +"7w c #A4A7A6", +"7x c #9DA29F", +"7y c #949C97", +"7z c #768D7F", +"7A c #929B96", +"7B c #A1A4A1", +"7C c #979E98", +"7D c #A2A5A3", +"7E c #A7A8A5", +"7F c #9EA29F", +"7G c #959E98", +"7H c #A7A7A8", +"7I c #A8A7A6", +"7J c #B5B5B5", +"7K c #A8A9A8", +"7L c #A5A5A6", +"7M c #A4A3A2", +"7N c #A3A3A4", +"7O c #A1A1A1", +"7P c #A1A0A2", +"7Q c #A6A5A6", +"7R c #A09F9F", +"7S c #9F9D9F", +"7T c #AC9A61", +"7U c #826B21", +"7V c #161615", +"7W c #2E2E2E", +"7X c #312F30", +"7Y c #313131", +"7Z c #323231", +"7& c #343334", +"8 c #343435", +"80 c #373738", +"81 c #393939", +"82 c #3B3B3B", +"83 c #3C3C3A", +"84 c #55523D", +"85 c #DCCC4E", +"86 c #756628", +"87 c #2A2A29", +"88 c #222122", +"89 c #212121", +"8a c #212120", +"8b c #2A2C2B", +"8c c #434141", +"8d c #464545", +"8e c #6F6846", +"8f c #CCAC27", +"8g c #A6A6A6", +"8h c #A6A8A8", +"8i c #A7A6A7", +"8j c #A6A8A7", +"8k c #A7A6A5", +"8l c #A3A5A4", +"8m c #A4A5A3", +"8n c #A2A2A3", +"8o c #A2A3A3", +"8p c #A1A1A2", +"8q c #A2A1A0", +"8r c #9FA19F", +"8s c #9E9E9F", +"8t c #9D9D9E", +"8u c #9C9D9D", +"8v c #AB9961", +"8w c #806A20", +"8x c #161616", +"8y c #292928", +"8z c #2F302F", +"8A c #31302F", +"8B c #39362F", +"8C c #323233", +"8D c #333434", +"8E c #363435", +"8F c #383836", +"8G c #46453B", +"8H c #DACB52", +"8I c #9C8422", +"8J c #2D2B24", +"8K c #202020", +"8L c #201F1F", +"8M c #21211F", +"8N c #232423", +"8O c #3A3A3B", +"8P c #444445", +"8Q c #454546", +"8R c #474546", +"8S c #525454", +"8T c #515152", +"8U c #6E6745", +"8V c #C8A925", +"8W c #989D9A", +"8X c #9A9E9B", +"8Y c #A3A4A4", +"8Z c #A1A3A1", +"8& c #A2A5A4", +"9 c #979E99", +"90 c #969C97", +"91 c #939B96", +"92 c #959B98", +"93 c #9B9F9D", +"94 c #A4A3A3", +"95 c #A9A9A8", +"96 c #A2A2A0", +"97 c #A0A2A1", +"98 c #9F9F9F", +"99 c #9B9C9C", +"9a c #A8985F", +"9b c #7F681E", +"9c c #141515", +"9d c #2A2A2B", +"9e c #313031", +"9f c #3E392E", +"9g c #706327", +"9h c #383632", +"9i c #353535", +"9j c #373837", +"9k c #383737", +"9l c #3E3F39", +"9m c #CEC352", +"9n c #B39726", +"9o c #454026", +"9p c #201F20", +"9q c #1F201F", +"9r c #232322", +"9s c #313230", +"9t c #454345", +"9u c #444446", +"9v c #464745", +"9w c #525353", +"9x c #6D6545", +"9y c #BEA53C", +"9z c #989C99", +"9A c #708578", +"9B c #708677", +"9C c #577762", +"9D c #6C8374", +"9E c #5B7B66", +"9F c #52745F", +"9G c #6B8473", +"9H c #8B9690", +"9I c #808F84", +"9J c #53765F", +"9K c #4A7056", +"9L c #668270", +"9M c #808E85", +"9N c #A2A2A2", +"9O c #A2A1A1", +"9P c #B8B9B9", +"9Q c #CBCCCB", +"9R c #D0D0D0", +"9S c #A1A0A0", +"9T c #A0A0A0", +"9U c #9F9E9F", +"9V c #9F9E9E", +"9W c #9E9D9E", +"9X c #A1A2A1", +"9Y c #9A9A9A", +"9Z c #A4976E", +"9& c #7D691F", +"a c #161716", +"a0 c #2C2C2D", +"a1 c #2E3030", +"a2 c #313132", +"a3 c #4D4828", +"a4 c #957F22", +"a5 c #454332", +"a6 c #353737", +"a7 c #393839", +"a8 c #BFB44B", +"a9 c #BEA432", +"aa c #695B1C", +"ab c #1E1E1E", +"ac c #1F1E1F", +"ad c #202121", +"ae c #434344", +"af c #444544", +"ag c #464546", +"ah c #525152", +"ai c #6D6645", +"aj c #C1A523", +"ak c #999C9A", +"al c #818D85", +"am c #838F88", +"an c #657F6D", +"ao c #6A8373", +"ap c #698072", +"aq c #73877A", +"ar c #71877A", +"as c #8F9791", +"at c #979B98", +"au c #8C958E", +"av c #74887B", +"aw c #647F6F", +"ax c #738779", +"ay c #8F9690", +"az c #9C9F9C", +"aA c #A1A1A0", +"aB c #A1A2A0", +"aC c #B4B3B3", +"aD c #BABABB", +"aE c #A19F9F", +"aF c #9F9D9E", +"aG c #9D9D9C", +"aH c #9D9C9D", +"aI c #9B9B9A", +"aJ c #9C9D9C", +"aK c #999999", +"aL c #A89555", +"aM c #7D661E", +"aN c #29292B", +"aO c #303231", +"aP c #333332", +"aQ c #353434", +"aR c #716423", +"aS c #A88C1E", +"aT c #544F2E", +"aU c #AEA549", +"aV c #CEBA42", +"aW c #967D1B", +"aX c #23241D", +"aY c #1F1F1F", +"aZ c #1F1F1E", +"a& c #211F21", +"b c #292929", +"b0 c #3B3B3A", +"b1 c #434443", +"b2 c #464746", +"b3 c #6A6545", +"b4 c #BDA323", +"b5 c #9E9F9F", +"b6 c #9EA0A0", +"b7 c #9DA09F", +"b8 c #9E9F9E", +"b9 c #9E9E9D", +"ba c #9F9F9E", +"bb c #9EA09E", +"bc c #A19FA0", +"bd c #9FA09F", +"be c #9F9FA0", +"bf c #9FA09E", +"bg c #9E9E9E", +"bh c #9D9C9C", +"bi c #9C9C9D", +"bj c #9C9B9C", +"bk c #9B9B9B", +"bl c #9A999A", +"bm c #9A9B9B", +"bn c #9B999A", +"bo c #989898", +"bp c #979797", +"bq c #A2946A", +"br c #7B661C", +"bs c #191818", +"bt c #2D2D2E", +"bu c #333333", +"bv c #363635", +"bw c #363732", +"bx c #988320", +"by c #AE921C", +"bz c #A6913A", +"bA c #DECC4D", +"bB c #AB8B1B", +"bC c #393519", +"bD c #1E1F1E", +"bE c #1E1F1F", +"bF c #20201F", +"bG c #242426", +"bH c #414342", +"bI c #444344", +"bJ c #464445", +"bK c #484746", +"bL c #545352", +"bM c #6B6646", +"bN c #B7A030", +"bO c #9D9E9D", +"bP c #9D9E9E", +"bQ c #9B9D9C", +"bR c #9E9FA0", +"bS c #9FA0A0", +"bT c #A09E9E", +"bU c #9D9D9D", +"bV c #9D9D9F", +"bW c #9E9D9D", +"bX c #9F9D9D", +"bY c #9C9C9C", +"bZ c #9A9B9C", +"b& c #9A9A9B", +"c c #9A9999", +"c0 c #999899", +"c1 c #989997", +"c2 c #969796", +"c3 c #A49253", +"c4 c #7C651D", +"c5 c #181819", +"c6 c #323031", +"c7 c #373636", +"c8 c #383837", +"c9 c #373838", +"ca c #4C482F", +"cb c #AD901F", +"cc c #B79624", +"cd c #B09120", +"ce c #5D5318", +"cf c #212020", +"cg c #303032", +"ch c #404140", +"ci c #434243", +"cj c #434345", +"ck c #454644", +"cl c #474645", +"cm c #B69E20", +"cn c #959997", +"co c #7F8B82", +"cp c #5E7968", +"cq c #6E8275", +"cr c #728479", +"cs c #86908A", +"ct c #9A9C9B", +"cu c #7C8B81", +"cv c #6C8175", +"cw c #6E8174", +"cx c #78877D", +"cy c #7D8B81", +"cz c #9A9C9A", +"cA c #B6B8B6", +"cB c #ACAAAB", +"cC c #9C9B9B", +"cD c #98999A", +"cE c #999A99", +"cF c #999997", +"cG c #9B9A9B", +"cH c #989998", +"cI c #959696", +"cJ c #A39253", +"cK c #1A1A1C", +"cL c #383839", +"cM c #39393A", +"cN c #3A3A3A", +"cO c #3B3C3B", +"cP c #716529", +"cQ c #AF8F1F", +"cR c #8A7615", +"cS c #25241E", +"cT c #1F1F21", +"cU c #434444", +"cV c #454647", +"cW c #484846", +"cX c #484848", +"cY c #484A49", +"cZ c #555456", +"c& c #6B6647", +"d c #B49D20", +"d0 c #969896", +"d1 c #718379", +"d2 c #51715D", +"d3 c #436850", +"d4 c #567460", +"d5 c #5F7B69", +"d6 c #8E9391", +"d7 c #8E9591", +"d8 c #75867A", +"d9 c #587762", +"da c #4E7059", +"db c #55745F", +"dc c #6F8276", +"dd c #949796", +"de c #9B9C9B", +"df c #9B9A9C", +"dg c #AEAFAF", +"dh c #C0BFBE", +"di c #BFBFC0", +"dj c #999998", +"dk c #979898", +"dl c #989798", +"dm c #B8B9B7", +"dn c #949694", +"do c #A18F51", +"dp c #7B661D", +"dq c #1E1D1D", +"dr c #353636", +"ds c #3A3B3C", +"dt c #3B3D3B", +"du c #3E3E3C", +"dv c #8B7B1D", +"dw c #3A351B", +"dx c #202021", +"dy c #222121", +"dz c #434545", +"dA c #444545", +"dB c #494849", +"dC c #494A49", +"dD c #6B6546", +"dE c #B09C1F", +"dF c #989A99", +"dG c #8F9391", +"dH c #8B928E", +"dI c #858E89", +"dJ c #8C938E", +"dK c #8D9390", +"dL c #959896", +"dM c #9B9A9A", +"dN c #979997", +"dO c #8E948F", +"dP c #898F8B", +"dQ c #929694", +"dR c #8D938F", +"dS c #8A918D", +"dT c #99999A", +"dU c #979998", +"dV c #989797", +"dW c #969797", +"dX c #969697", +"dY c #979999", +"dZ c #949595", +"d& c #959494", +"e c #A08E51", +"e0 c #7A661D", +"e1 c #1F1D1F", +"e2 c #363536", +"e3 c #3E3D3D", +"e4 c #3D3E3D", +"e5 c #3E3E3F", +"e6 c #3D3E3F", +"e7 c #3F3F3F", +"e8 c #3F3F41", +"e9 c #413F41", +"ea c #47443C", +"eb c #212022", +"ec c #212220", +"ed c #212222", +"ee c #242424", +"ef c #343232", +"eg c #4B4A4B", +"eh c #6B6648", +"ei c #AE9A1D", +"ej c #989999", +"ek c #9A9A98", +"el c #989A9A", +"em c #999A9A", +"en c #999898", +"eo c #9A989A", +"ep c #999A98", +"eq c #989799", +"er c #979897", +"es c #979796", +"et c #969795", +"eu c #959595", +"ev c #949495", +"ew c #939395", +"ex c #939494", +"ey c #929294", +"ez c #929292", +"eA c #9F8F4F", +"eB c #79661E", +"eC c #3F413F", +"eD c #424141", +"eE c #424341", +"eF c #444343", +"eG c #232223", +"eH c #323132", +"eI c #424143", +"eJ c #484947", +"eK c #494848", +"eL c #4A4949", +"eM c #49494B", +"eN c #4D4C4D", +"eO c #6C6748", +"eP c #AB971E", +"eQ c #989897", +"eR c #999897", +"eS c #979798", +"eT c #989796", +"eU c #979696", +"eV c #969596", +"eW c #969595", +"eX c #969495", +"eY c #949394", +"eZ c #949493", +"e& c #939393", +"f c #929293", +"f0 c #919292", +"f1 c #939292", +"f2 c #9E8E4F", +"f3 c #7A651E", +"f4 c #434343", +"f5 c #444645", +"f6 c #454547", +"f7 c #2F2F31", +"f8 c #2A2829", +"f9 c #494A4A", +"fa c #4B4A49", +"fb c #4C4A4B", +"fc c #4C4D4B", +"fd c #4C4D4D", +"fe c #4E4F4F", +"ff c #5B5B5C", +"fg c #5A5A5A", +"fh c #6A664C", +"fi c #90821F", +"fj c #91811F", +"fk c #94861E", +"fl c #96851E", +"fm c #928636", +"fn c #97851F", +"fo c #938635", +"fp c #978520", +"fq c #998620", +"fr c #948536", +"fs c #99851F", +"ft c #988420", +"fu c #988620", +"fv c #9A851F", +"fw c #948436", +"fx c #9A831F", +"fy c #9A8635", +"fz c #9A8735", +"fA c #9D871E", +"fB c #988536", +"fC c #978535", +"fD c #988535", +"fE c #90865B", +"fF c #988334", +"fG c #978434", +"fH c #968335", +"fI c #978133", +"fJ c #968233", +"fK c #948134", +"fL c #928142", +"fM c #908041", +"fN c #907F42", +"fO c #9B7F1C", +"fP c #6D5B1F", +"fQ c #464645", +"fR c #474748", +"fS c #474746", +"fT c #474848", +"fU c #4A4948", +"fV c #4B4C4B", +"fW c #5E5C5D", +"fX c #5D5C5D", +"fY c #4E504F", +"fZ c #2C2D2D", +"f& c #292A29", +"g c #2A2929", +"g0 c #292828", +"g1 c #282827", +"g2 c #282728", +"g3 c #282627", +"g4 c #282726", +"g5 c #272626", +"g6 c #252526", +"g7 c #262626", +"g8 c #272625", +"g9 c #242626", +"ga c #252624", +"gb c #262526", +"gc c #272525", +"gd c #242524", +"ge c #252524", +"gf c #252525", +"gg c #252425", +"gh c #242425", +"gi c #242325", +"gj c #242523", +"gk c #242323", +"gl c #232424", +"gm c #242324", +"gn c #242525", +"go c #232324", +"gp c #262627", +"gq c #494948", +"gr c #4A4A4B", +"gs c #4B4A4C", +"gt c #4C4B4C", +"gu c #4D4C4C", +"gv c #4C4C4E", +"gw c #4E4E4E", +"gx c #505151", +"gy c #505150", +"gz c #535253", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m m n o p p q r r s t u v w x y z y A B C D z E F D G H I C J K w L M N M O P Q R", +" S T U V W X Y Z &0 000102030405060708090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0w0C0D0E0F0G0H0I0J B0K y D x L0L", +"0M0N0O0P0Q0R0S0S0T0U0V0T0T0W0X0Y0Z0U0&0U1 101112131415161718191a1b1c1d1e1f1g1h1i1j1k1l1k1j1m1n1o1p1q1q1r1s0y1t0A0z1u0E1v1w1x1y D", +"1z1A1B1C1D1E1F1G1H1I1J1K121L1M1N1O1P1Q1R1R1S1T1U1V1W1X1Y181Z1&1c2 1c20212223242526272829292a292b2c2d2e2f2g1o2h2i2j1r2k0v0A0x2l0F", +"2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2G2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3i3j", +"3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C173D213E3F3G3H3I3J3K3L3M3N3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&3&4 404142334336444545464748494a1q1q", +"4b4c4d4e1Z4f4g1a4h194i4j4k4l4i4m4k4j4n4o4g1b4p1b4q4r2Q2Q2R4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R324S4T4U4V4W4X4Y2h", +"4Z4&5 50514q5253542V555657581&595a1b1&1c3K5b2P5c5d5e5f3M5g5h5i235j5j5k5l5k5m5n5o5p5q5r5s5t5u5v5w5x4J4J3Y5y5z4O5A5B5C5D5E5F5G5H5I", +"5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 3R6060616263646566672368696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p5u6q6r6s6t6u6v6w6x6y6z6A6B6C5z6D", +"6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W4v6X224u586Y6Z6&7 7071716972737475767778797a7b7c4E7d7e7f7g7h7i497j6s4K7k7l7m7n7o7p7q7f7r37", +"7s7t7u7v7w7x5k7y7z7A7B7C2W7D7E7F6b7G5W5h7H7I7H4v6X7J4j7K7L7M7N727O7P6e7Q7R7S7T7U7V7W7X7Y7Z7&8 7f6m808182838485868788898a8b8c8d38", +"1y0F8e8f7Q8g8g8g5i5i768h8g8i5i8j8i8g5j768k4x6b6e8l8m7N8n8o5m8p8q7R8r7R8s8t8u8v8w8x8y8z8A8B8C8D8E6l8F7h818G8H8I8J8K8L8M8N8O8P8Q8R", +"8S8T8U8V6I8W8X8l4A8Y8Z8&8l6b9 909192936a948m8l69951f4q4w96977O7R98987R5m8t999a9b9c9d5q9e9f9g9h9i6l9j9k9l9m9n9o9p9q9q9r9s5H9t9u9v", +"9w0G9x9y9z9A9B9C9D9E9F9G9H919I9J9K9L9M979N6I9O949P9Q9R0V9S9T9U9V8t9W1X1S9X9Y9Z9&a a0a19ea2a3a4a5a66ma7a8a9aa8Mabacad8z5Haeafagag", +"1xahaiajakalamanaoapaqarasatauavawaxayazaA9SaB4xaC1VaD4faEaFaGaH8uaI4k22aJaKaLaM8xaNaO3WaPaQaRaSaT80aUaVaWaXaYaZa&b b05Ab1318db2", +" A0Eb3b4b58sb6b7b87Rb9babbbc9T77bdbe9Tbd7798bfb56fbf9VbgbhbibjbkaIblbmbnbobpbqbrbsbt7cbu6kbvbwbxbybzbAbBbCbDbEbFbG6jbH4PbIbJ8dbK", +"bLahbMbNb9bObPbQ8ub88sbR9U8tbSbTbU98989UbVbWbX8t9VbYbU99bYbZb&b&aK9Yc c0c1c2c3c4c5c69ic7c7c8c9cacbcccdce9qaY9qcfcgchcicjckcl2729", +" zbLb3cmcncocpcqcrcsctbObkcucvcwcxcyczbi8ubhbY9S1S1 cAcBcCblcDcEcFcG1&5icHcIcJbrcKbu6ncLcM81cNcOcPcQcRcS9qcTadbu82b1cU8QcVcWcXcY", +"cZ Hc&d d0d1d2d3d4d5d6aId7d8d9dadbdcdddebmb&df4Adgdhdi3DcEdjcHdkdkdldm55bWdndodpdqdrdsdt6q4G5xdu6sdvdwdxdy7p5Fb0dzdA8Q4445dBdC3c", +" t6EdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdjaIdTcEbmbW8p7L5mdfdUdVdWc2dXdY9XbpdZd&e e0e1e2e3e4e5e6e7e8e9eaebecedeeefb1ag7r3745392d1jeg", +" p teheic0djejaKekdFelemenc eo9YekenblepbodjdkeqboeresdXdWetdXeuevevewexeyezeAeB9q7heC4M5HeD2&eE4QeF7heG8NeHeI37eJeKeLeM1j2h2heN", +" Q QeOePdlerdldleQbpeQdkerdNereRdjdVeneSboeseQeTc2bpeUeVeWeXeveYexeZe&f f0f1f2f3eG5tf48P3334f53444f6cUf7f85y39f9f9fafbfcfcfd2jfe", +"fffgfhfifjfkflfmfnflfofpfqfnfrfsftfufvfwfxfyfzfAfBfBfCfDfEfFfGfHfIfJfKfLfMfNfOfP5F433537fQfRfS45fT4YfU344H2bfbfV2h1m1q1r2jfe0z0x", +"fWfXfYfZf&g f&7bg0g1g2g3g4g5g6g7g8g6g9gagbgcgdgegfggghgigegjgdgkgdglgmgdgigngo5Ggpgqgqf9cXeL2ddCgr1lgsgtfdgugv2jgw0yfY0zgxgy0Egz"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleIsolateSelect.xpm b/2009-x64/cps4.03/icons/cpscToggleIsolateSelect.xpm new file mode 100644 index 0000000..022cc88 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleIsolateSelect.xpm @@ -0,0 +1,1251 @@ +/* XPM */ +static char *CPS_xpm[]={ +"64 24 1224 2", +" c #717272", +" 0 c #707070", +" 1 c #6F7070", +" 2 c #6F706F", +" 3 c #6E6E6F", +" 4 c #6D6D6D", +" 5 c #6C6C6B", +" 6 c #6B6A6B", +" 7 c #686A68", +" 8 c #686868", +" 9 c #686767", +" a c #676666", +" b c #666566", +" c c #646465", +" d c #636463", +" e c #636363", +" f c #626161", +" g c #606160", +" h c #5F605F", +" i c #5E5F5F", +" j c #5E5E5D", +" k c #5E5D5D", +" l c #5C5B5C", +" m c #5C5C5C", +" n c #5B5B5B", +" o c #5A5959", +" p c #585A58", +" q c #595959", +" r c #575857", +" s c #565856", +" t c #565657", +" u c #575555", +" v c #555756", +" w c #555556", +" x c #545455", +" y c #555455", +" z c #545354", +" A c #545454", +" B c #535353", +" C c #545353", +" D c #535555", +" E c #545355", +" F c #555454", +" G c #555555", +" H c #565455", +" I c #545456", +" J c #51525A", +" K c #525361", +" L c #575657", +" M c #585856", +" N c #585758", +" O c #575858", +" P c #575859", +" Q c #595859", +" R c #6E6E6D", +" S c #6C6B6B", +" T c #6A6A6C", +" U c #69696A", +" V c #676767", +" W c #666565", +" X c #5C5E66", +" Y c #444662", +" Z c #494A70", +" & c #37395D", +"0 c #4A4865", +"00 c #4D506B", +"01 c #575865", +"02 c #5E5C5C", +"03 c #5D5D5C", +"04 c #5C5B5A", +"05 c #5B5B5A", +"06 c #595858", +"07 c #575656", +"08 c #565456", +"09 c #545554", +"0a c #535453", +"0b c #525253", +"0c c #525151", +"0d c #515151", +"0e c #515051", +"0f c #515150", +"0g c #505050", +"0h c #4F4F4F", +"0i c #50504F", +"0j c #4F504F", +"0k c #504F4F", +"0l c #4F4E50", +"0m c #4F5050", +"0n c #515050", +"0o c #515250", +"0p c #515251", +"0q c #373957", +"0r c #554F5B", +"0s c #41446D", +"0t c #4B4C57", +"0u c #535454", +"0v c #575655", +"0w c #575757", +"0x c #565757", +"0y c #6A6A69", +"0z c #676868", +"0A c #676867", +"0B c #656565", +"0C c #636362", +"0D c #54565D", +"0E c #393849", +"0F c #6C6042", +"0G c #B8A34F", +"0H c #565159", +"0I c #C3AF68", +"0J c #B8A456", +"0K c #8C7A4D", +"0L c #63594D", +"0M c #4C4963", +"0N c #494B6F", +"0O c #4F5057", +"0P c #565556", +"0Q c #505052", +"0R c #50514F", +"0S c #4E4F4F", +"0T c #4E4E4F", +"0U c #4F4E4F", +"0V c #4E4D4D", +"0W c #4E4D4C", +"0X c #4D4D4E", +"0Y c #4C4D4C", +"0Z c #4D4D4B", +"0& c #4C4B4C", +"1 c #4D4C4C", +"10 c #4B4C4B", +"11 c #4A4A4A", +"12 c #4A4B4B", +"13 c #4C4A4B", +"14 c #4B4B4C", +"15 c #4B4C4C", +"16 c #4C4C4C", +"17 c #4C4D4D", +"18 c #4E4D4E", +"19 c #4D4C4D", +"1a c #4D4D4D", +"1b c #4C4C51", +"1c c #3C3634", +"1d c #947718", +"1e c #634E3D", +"1f c #454156", +"1g c #40426A", +"1h c #4B4B54", +"1i c #535351", +"1j c #666665", +"1k c #656464", +"1l c #636563", +"1m c #636263", +"1n c #626261", +"1o c #4E4F5A", +"1p c #3F3942", +"1q c #77663F", +"1r c #BFA54D", +"1s c #DFC456", +"1t c #E7CA5C", +"1u c #C2AC54", +"1v c #5F5C65", +"1w c #E3D46C", +"1x c #B8A85E", +"1y c #655E53", +"1z c #4F4A40", +"1A c #686032", +"1B c #2D3053", +"1C c #47464F", +"1D c #4C4C4D", +"1E c #4B4A4C", +"1F c #4A4948", +"1G c #494849", +"1H c #484848", +"1I c #484949", +"1J c #474947", +"1K c #474747", +"1L c #474848", +"1M c #484847", +"1N c #464747", +"1O c #454647", +"1P c #474646", +"1Q c #474748", +"1R c #464647", +"1S c #464847", +"1T c #494949", +"1U c #494848", +"1V c #49494A", +"1W c #494A49", +"1X c #4B4B4B", +"1Y c #43424F", +"1Z c #675621", +"1& c #9C7D17", +"2 c #795B34", +"20 c #926C28", +"21 c #765D36", +"22 c #4E4A69", +"23 c #47454E", +"24 c #505051", +"25 c #505252", +"26 c #626362", +"27 c #626262", +"28 c #61605F", +"29 c #535357", +"2a c #43414F", +"2b c #816F3D", +"2c c #CBAE45", +"2d c #D4B74A", +"2e c #D8BD4F", +"2f c #DFC256", +"2g c #E5C85B", +"2h c #EED265", +"2i c #5E5852", +"2j c #272743", +"2k c #625A3F", +"2l c #BCA732", +"2m c #D0B436", +"2n c #D2B536", +"2o c #423F49", +"2p c #322D30", +"2q c #3A3943", +"2r c #494948", +"2s c #474745", +"2t c #454546", +"2u c #454445", +"2v c #464545", +"2w c #454545", +"2x c #444444", +"2y c #434444", +"2z c #434343", +"2A c #434443", +"2B c #424342", +"2C c #414242", +"2D c #434242", +"2E c #414141", +"2F c #414143", +"2G c #424343", +"2H c #434243", +"2I c #434342", +"2J c #444443", +"2K c #444544", +"2L c #464646", +"2M c #464746", +"2N c #3B3E5D", +"2O c #6C5831", +"2P c #A58418", +"2Q c #785A38", +"2R c #98712B", +"2S c #946E29", +"2T c #7B5E37", +"2U c #232535", +"2V c #504F50", +"2W c #605F60", +"2X c #5E5F5E", +"2Y c #5C5C5D", +"2Z c #262631", +"2& c #46444C", +"3 c #BAA24C", +"30 c #CEB345", +"31 c #D2B649", +"32 c #D6BB4F", +"33 c #DDC156", +"34 c #E4C75B", +"35 c #746A51", +"36 c #413D21", +"37 c #6A5E0C", +"38 c #3C3819", +"39 c #4E4940", +"3a c #B79F42", +"3b c #D0B538", +"3c c #524D4D", +"3d c #AA9221", +"3e c #2C2631", +"3f c #3A393D", +"3g c #454343", +"3h c #424142", +"3i c #424041", +"3j c #403F40", +"3k c #404040", +"3l c #3E403F", +"3m c #3F4040", +"3n c #3F403E", +"3o c #3E3E3E", +"3p c #3D3E3F", +"3q c #3E3F3E", +"3r c #3D3D3E", +"3s c #3E3E3F", +"3t c #3F3F3E", +"3u c #414140", +"3v c #414240", +"3w c #424242", +"3x c #454444", +"3y c #46454A", +"3z c #50474C", +"3A c #836B4E", +"3B c #544853", +"3C c #6A514B", +"3D c #77593E", +"3E c #7C5B37", +"3F c #A27735", +"3G c #302A2E", +"3H c #4E4E4E", +"3I c #47494C", +"3J c #3C341B", +"3K c #645C0C", +"3L c #67605B", +"3M c #CBB044", +"3N c #D0B549", +"3O c #D5BB4E", +"3P c #D6BD54", +"3Q c #5B5446", +"3R c #4C4419", +"3S c #7E6F11", +"3T c #837415", +"3U c #847415", +"3V c #655B10", +"3W c #2A2720", +"3X c #6B623B", +"3Y c #54515A", +"3Z c #B59E1D", +"3& c #8C7621", +"4 c #383141", +"40 c #3C3F50", +"41 c #3F3E3E", +"42 c #3D3F3E", +"43 c #3C3D3D", +"44 c #3C3B3D", +"45 c #3B3C3B", +"46 c #3C3A3A", +"47 c #3B3B3B", +"48 c #3A3A3B", +"49 c #3A3B3A", +"4a c #393A3A", +"4b c #3A393A", +"4c c #393A38", +"4d c #393839", +"4e c #3A3B39", +"4f c #3A3A39", +"4g c #3D3D3C", +"4h c #3E3D3D", +"4i c #3F3E3F", +"4j c #413F3F", +"4k c #414142", +"4l c #3D3E50", +"4m c #92733C", +"4n c #D5A445", +"4o c #BF9640", +"4p c #6E544E", +"4q c #614F55", +"4r c #B0833E", +"4s c #BE8D3A", +"4t c #544435", +"4u c #3A393C", +"4v c #4B4A4A", +"4w c #4C4B4B", +"4x c #5B5959", +"4y c #23222D", +"4z c #746312", +"4A c #7B6D0B", +"4B c #4A4828", +"4C c #9E8D4F", +"4D c #CFB548", +"4E c #C9B14E", +"4F c #484540", +"4G c #4E4613", +"4H c #7D6F12", +"4I c #897718", +"4J c #917C1B", +"4K c #907D1A", +"4L c #8B7819", +"4M c #77690E", +"4N c #5E530F", +"4O c #24232B", +"4P c #48443A", +"4Q c #6C6239", +"4R c #594D36", +"4S c #313150", +"4T c #3B3A3B", +"4U c #39393A", +"4V c #383839", +"4W c #383837", +"4X c #383638", +"4Y c #373837", +"4Z c #363836", +"4& c #373737", +"5 c #69664B", +"50 c #705C39", +"51 c #877C41", +"52 c #675C3B", +"53 c #353535", +"54 c #353536", +"55 c #343535", +"56 c #373636", +"57 c #363737", +"58 c #373838", +"59 c #383938", +"5a c #3B3B3A", +"5b c #3C3C3C", +"5c c #3E3E3D", +"5d c #3F3F3F", +"5e c #353247", +"5f c #C39640", +"5g c #D6A545", +"5h c #D4A445", +"5i c #DB943A", +"5j c #AD813C", +"5k c #5B4E53", +"5l c #745D54", +"5m c #795C40", +"5n c #2A2B31", +"5o c #4A4A49", +"5p c #585858", +"5q c #494A4C", +"5r c #3A3219", +"5s c #826F0F", +"5t c #806E0E", +"5u c #6D6208", +"5v c #4F4C50", +"5w c #BBA44D", +"5x c #423F3E", +"5y c #544C17", +"5z c #7B6C11", +"5A c #887618", +"5B c #907C1C", +"5C c #8E7B1B", +"5D c #8D7A1A", +"5E c #8B7919", +"5F c #837315", +"5G c #312D2E", +"5H c #8C682E", +"5I c #785A2E", +"5J c #644D2C", +"5K c #2A262A", +"5L c #373736", +"5M c #353636", +"5N c #343534", +"5O c #343433", +"5P c #333333", +"5Q c #343332", +"5R c #393A36", +"5S c #9F9452", +"5T c #FEC648", +"5U c #8D602D", +"5V c #9E8E40", +"5W c #FEB73D", +"5X c #9F7E3A", +"5Y c #373531", +"5Z c #303131", +"5& c #313132", +"6 c #323232", +"60 c #333233", +"61 c #333435", +"62 c #393B4B", +"63 c #393A49", +"64 c #383A41", +"65 c #38393B", +"66 c #3C3B3B", +"67 c #3C3D3C", +"68 c #3E3F49", +"69 c #624E3F", +"6a c #D5A346", +"6b c #D3A345", +"6c c #D2A443", +"6d c #D59F40", +"6e c #D2A241", +"6f c #CEA23E", +"6g c #8C744B", +"6h c #4E4760", +"6i c #222433", +"6j c #474847", +"6k c #252431", +"6l c #675812", +"6m c #7C6B0E", +"6n c #7E6B0F", +"6o c #78670E", +"6p c #574E11", +"6q c #2B2C41", +"6r c #534D24", +"6s c #7F6E13", +"6t c #8A7719", +"6u c #8D791B", +"6v c #8D7B1A", +"6w c #8D791A", +"6x c #8C7918", +"6y c #8B781A", +"6z c #806F19", +"6A c #3E332F", +"6B c #936D2E", +"6C c #946E2E", +"6D c #956E2F", +"6E c #3E2E1E", +"6F c #323134", +"6G c #323133", +"6H c #303130", +"6I c #303031", +"6J c #2E302F", +"6K c #5D5B3E", +"6L c #DEBF51", +"6M c #FCA633", +"6N c #EB9026", +"6O c #885C2A", +"6P c #9D883A", +"6Q c #FBA430", +"6R c #FFAA34", +"6S c #D79A36", +"6T c #5C4E33", +"6U c #2F2E2E", +"6V c #302F2E", +"6W c #30312F", +"6X c #313331", +"6Y c #423D49", +"6Z c #6D5C1C", +"6& c #5E4F26", +"7 c #4D4536", +"70 c #3F3B3F", +"71 c #363547", +"72 c #37384C", +"73 c #3B3C4F", +"74 c #3A3B5C", +"75 c #9C753B", +"76 c #D2A244", +"77 c #D2A342", +"78 c #D2A341", +"79 c #D0A340", +"7a c #CFA43F", +"7b c #CDA13D", +"7c c #A88940", +"7d c #474A7D", +"7e c #474647", +"7f c #4D4C52", +"7g c #3D3630", +"7h c #7A680E", +"7i c #7A670E", +"7j c #79670E", +"7k c #3C3614", +"7l c #3D3B1D", +"7m c #2D2E29", +"7n c #4C4840", +"7o c #847222", +"7p c #8B7719", +"7q c #8C771A", +"7r c #8B7717", +"7s c #887518", +"7t c #615623", +"7u c #58462A", +"7v c #926B2E", +"7w c #926D2F", +"7x c #846434", +"7y c #413428", +"7z c #2B2C2F", +"7A c #30302F", +"7B c #2D2E2D", +"7C c #333430", +"7D c #958949", +"7E c #FFC448", +"7F c #F28F23", +"7G c #E18119", +"7H c #F1A02C", +"7I c #865926", +"7J c #9B8336", +"7K c #F09025", +"7L c #FCAC31", +"7M c #F49128", +"7N c #F8A131", +"7O c #967334", +"7P c #33332E", +"7Q c #2D2D2E", +"7R c #2F2E2F", +"7S c #2F2F2F", +"7T c #3B3845", +"7U c #937718", +"7V c #987A1B", +"7W c #947719", +"7X c #8D7316", +"7Y c #816A16", +"7Z c #685621", +"7& c #4B4C60", +"8 c #7F6C67", +"80 c #CE9F46", +"81 c #D1A144", +"82 c #D0A142", +"83 c #D0A141", +"84 c #CEA13F", +"85 c #CEA23F", +"86 c #736361", +"87 c #8B757B", +"88 c #44444A", +"89 c #3A3954", +"8a c #786511", +"8b c #7C680E", +"8c c #7B680E", +"8d c #74640F", +"8e c #20201C", +"8f c #686313", +"8g c #6B6612", +"8h c #534E12", +"8i c #2D2D24", +"8j c #4F4935", +"8k c #82711B", +"8l c #897618", +"8m c #8A7619", +"8n c #887416", +"8o c #877517", +"8p c #3E3829", +"8q c #775A2A", +"8r c #906B2D", +"8s c #765B33", +"8t c #836433", +"8u c #664C22", +"8v c #27272A", +"8w c #2E2D2E", +"8x c #403C31", +"8y c #D9B05B", +"8z c #FBB035", +"8A c #F08B1F", +"8B c #F49725", +"8C c #FCA42B", +"8D c #FFB135", +"8E c #835623", +"8F c #9A7E33", +"8G c #E37E1C", +"8H c #FEB032", +"8I c #FFB030", +"8J c #F89323", +"8K c #FEBA44", +"8L c #CF9030", +"8M c #4C432D", +"8N c #2E2F2F", +"8O c #2F2E3F", +"8P c #947919", +"8Q c #9D7D1B", +"8R c #9C7E1B", +"8S c #9A7C1A", +"8T c #9A7D1A", +"8U c #997B1A", +"8V c #6B5A47", +"8W c #C4BE7E", +"8X c #E4E49F", +"8Y c #847D74", +"8Z c #B08B4F", +"8& c #CFA141", +"9 c #D0A140", +"90 c #CDA03E", +"91 c #BA9441", +"92 c #967452", +"93 c #CEA465", +"94 c #444459", +"95 c #464645", +"96 c #535352", +"97 c #242734", +"98 c #60553C", +"99 c #7E6C0E", +"9a c #7D6B0D", +"9b c #3D3614", +"9c c #4E4A17", +"9d c #6B6512", +"9e c #6A6513", +"9f c #696611", +"9g c #6A6611", +"9h c #504F11", +"9i c #312F27", +"9j c #575036", +"9k c #816E1C", +"9l c #877317", +"9m c #857317", +"9n c #2C292E", +"9o c #765A31", +"9p c #80602E", +"9q c #96702A", +"9r c #9D752D", +"9s c #755825", +"9t c #232327", +"9u c #2E2D2D", +"9v c #2B2D2C", +"9w c #794E2F", +"9x c #F3B23D", +"9y c #FDC241", +"9z c #FEB232", +"9A c #FEB131", +"9B c #FFB435", +"9C c #815323", +"9D c #9B7E33", +"9E c #FFAE30", +"9F c #FFB537", +"9G c #FFC96F", +"9H c #EEA33F", +"9I c #7E5321", +"9J c #2D2D2D", +"9K c #272946", +"9L c #9B7E1A", +"9M c #9C7D1A", +"9N c #876A3C", +"9O c #625A5A", +"9P c #FFFDA6", +"9Q c #FEFEB0", +"9R c #FFFDAA", +"9S c #9F9C7B", +"9T c #846F62", +"9U c #C49A46", +"9V c #CD9F3E", +"9W c #CBA03E", +"9X c #685754", +"9Y c #E3AD4E", +"9Z c #F0B850", +"9& c #474976", +"a c #3A3A3D", +"a0 c #2F2F48", +"a1 c #7D6B17", +"a2 c #76650F", +"a3 c #252116", +"a4 c #6B6614", +"a5 c #6A6413", +"a6 c #6B6513", +"a7 c #696512", +"a8 c #696412", +"a9 c #6A6410", +"aa c #69650F", +"ab c #4E4B11", +"ac c #2F2E29", +"ad c #5A5239", +"ae c #7A6B21", +"af c #393135", +"ag c #6E5842", +"ah c #9A722B", +"ai c #9C742C", +"aj c #9D752E", +"ak c #806027", +"al c #1F1F25", +"am c #2F2F2E", +"an c #2E2E2D", +"ao c #2C2B2B", +"ap c #463A28", +"aq c #C88829", +"ar c #FEC644", +"as c #FEBB3A", +"at c #FEB636", +"au c #845724", +"av c #9C7D32", +"aw c #FD9E2A", +"ax c #FEBE51", +"ay c #FDC573", +"az c #BD7826", +"aA c #443628", +"aB c #2C2B2C", +"aC c #2E2F2E", +"aD c #2F314A", +"aE c #846B16", +"aF c #9C7F1B", +"aG c #9A7C1B", +"aH c #997D1B", +"aI c #765F4F", +"aJ c #B8B176", +"aK c #FEFFA2", +"aL c #FEFFA5", +"aM c #FFFFA8", +"aN c #FEFFA9", +"aO c #DDD98C", +"aP c #817472", +"aQ c #AD8B4D", +"aR c #BE9544", +"aS c #957457", +"aT c #FFC549", +"aU c #FEC44A", +"aV c #67628D", +"aW c #16171E", +"aX c #665C42", +"aY c #3A3418", +"aZ c #555017", +"a& c #6A6514", +"b c #6A6615", +"b0 c #6A6412", +"b1 c #6A6512", +"b2 c #696410", +"b3 c #696411", +"b4 c #686410", +"b5 c #67650F", +"b6 c #4C4912", +"b7 c #272934", +"b8 c #353136", +"b9 c #41383B", +"ba c #4B3D32", +"bb c #59462D", +"bc c #5F4B2F", +"bd c #674F2E", +"be c #21212C", +"bf c #313130", +"bg c #303030", +"bh c #32312E", +"bi c #885D25", +"bj c #F3AF34", +"bk c #FEC84B", +"bl c #885826", +"bm c #9D7C33", +"bn c #FDB851", +"bo c #EFA646", +"bp c #815620", +"bq c #2D2E2E", +"br c #36384F", +"bs c #6C591C", +"bt c #9A7D1B", +"bu c #997D1A", +"bv c #9B7C19", +"bw c #524C57", +"bx c #EFE983", +"by c #FFFF99", +"bz c #FEFE9B", +"bA c #FEFE9C", +"bB c #FEFEA0", +"bC c #FEFFA0", +"bD c #F7F293", +"bE c #A3977A", +"bF c #635E83", +"bG c #D8A45D", +"bH c #E8B35D", +"bI c #D7A36D", +"bJ c #5E5777", +"bK c #424244", +"bL c #515152", +"bM c #222122", +"bN c #434040", +"bO c #252420", +"bP c #6C6416", +"bQ c #6B6415", +"bR c #6A6414", +"bS c #686413", +"bT c #686412", +"bU c #686411", +"bV c #666310", +"bW c #222312", +"bX c #6C5F10", +"bY c #6C5E10", +"bZ c #6B5D0E", +"b& c #67590F", +"c c #635710", +"c0 c #373113", +"c1 c #2A2B2E", +"c2 c #343333", +"c3 c #333232", +"c4 c #323131", +"c5 c #323031", +"c6 c #313232", +"c7 c #56422C", +"c8 c #C48023", +"c9 c #885A27", +"ca c #9D7D33", +"cb c #C47D1F", +"cc c #483A2B", +"cd c #312F30", +"ce c #302F30", +"cf c #3B3B49", +"cg c #504E65", +"ch c #62563C", +"ci c #51473F", +"cj c #574B3D", +"ck c #655944", +"cl c #8C8471", +"cm c #FFFE8A", +"cn c #FEFF8F", +"co c #FEFF93", +"cp c #FEFF94", +"cq c #FFFE94", +"cr c #FEFE95", +"cs c #EEED97", +"ct c #8E8B8D", +"cu c #8C7F9D", +"cv c #EDC974", +"cw c #FFE06E", +"cx c #CFBC78", +"cy c #212238", +"cz c #282A29", +"cA c #525454", +"cB c #525152", +"cC c #2E2E35", +"cD c #3E380B", +"cE c #202025", +"cF c #413E20", +"cG c #666017", +"cH c #6C6315", +"cI c #6B6414", +"cJ c #6A6314", +"cK c #696312", +"cL c #68630F", +"cM c #39380F", +"cN c #4C4314", +"cO c #83710A", +"cP c #83700A", +"cQ c #81700B", +"cR c #806F0A", +"cS c #7D6C0B", +"cT c #1F1D1C", +"cU c #353435", +"cV c #343435", +"cW c #393734", +"cX c #4D3F2F", +"cY c #534931", +"cZ c #373533", +"c& c #333334", +"d c #343434", +"d0 c #343335", +"d1 c #373536", +"d2 c #46476A", +"d3 c #B19036", +"d4 c #A2784B", +"d5 c #B48546", +"d6 c #75697A", +"d7 c #756D63", +"d8 c #B1AC82", +"d9 c #FEF886", +"da c #FEF98A", +"db c #FFFB8B", +"dc c #FEFB8D", +"dd c #D2D18A", +"de c #807972", +"df c #E9E282", +"dg c #9B9089", +"dh c #EDCA74", +"di c #FEE070", +"dj c #5B5556", +"dk c #1E1D20", +"dl c #242426", +"dm c #535354", +"dn c #535254", +"do c #4A4B4C", +"dp c #181715", +"dq c #312E21", +"dr c #565017", +"ds c #2E2C1E", +"dt c #3E3D1E", +"du c #666016", +"dv c #696414", +"dw c #696413", +"dx c #686314", +"dy c #686312", +"dz c #625E10", +"dA c #1E1C12", +"dB c #7F6D0B", +"dC c #82710A", +"dD c #82700A", +"dE c #826F0B", +"dF c #342D0E", +"dG c #323337", +"dH c #3A3A3A", +"dI c #393939", +"dJ c #393738", +"dK c #373738", +"dL c #383737", +"dM c #383736", +"dN c #373635", +"dO c #373735", +"dP c #363636", +"dQ c #393937", +"dR c #655659", +"dS c #C18E46", +"dT c #B88B56", +"dU c #7F725B", +"dV c #F3CA4F", +"dW c #A68D57", +"dX c #948C80", +"dY c #F9EC82", +"dZ c #FFF283", +"d& c #A8A183", +"e c #9B9171", +"e0 c #FEFF88", +"e1 c #F6EC83", +"e2 c #AE937D", +"e3 c #B68D68", +"e4 c #C2AB68", +"e5 c #171927", +"e6 c #242525", +"e7 c #545555", +"e8 c #28282E", +"e9 c #23221B", +"ea c #706816", +"eb c #6E6817", +"ec c #545115", +"ed c #2C2A1A", +"ee c #3E3C1E", +"ef c #645F15", +"eg c #696314", +"eh c #302E0F", +"ei c #65580E", +"ej c #85710B", +"ek c #84710A", +"el c #82700B", +"em c #69580B", +"en c #262528", +"eo c #3D3E3D", +"ep c #3C3C3D", +"eq c #3C3C3B", +"er c #3B3C3A", +"es c #3A3C3A", +"et c #393A3B", +"eu c #3A3939", +"ev c #393A39", +"ew c #46466D", +"ex c #B38744", +"ey c #726476", +"ez c #D4B248", +"eA c #F8D053", +"eB c #F5CC4F", +"eC c #BD9B59", +"eD c #7D778E", +"eE c #918B8E", +"eF c #D5CF80", +"eG c #FCF67F", +"eH c #EBCA71", +"eI c #F2D374", +"eJ c #C29C78", +"eK c #A48783", +"eL c #3B394B", +"eM c #212123", +"eN c #262626", +"eO c #2A2B2A", +"eP c #565656", +"eQ c #555355", +"eR c #14141F", +"eS c #706915", +"eT c #6E6815", +"eU c #6E6916", +"eV c #6E6914", +"eW c #545015", +"eX c #2B2A1A", +"eY c #3F3D1D", +"eZ c #585512", +"e& c #2C2714", +"f c #85730B", +"f0 c #84720B", +"f1 c #83720A", +"f2 c #262215", +"f3 c #3D3E3E", +"f4 c #414040", +"f5 c #403F3F", +"f6 c #3F3E3D", +"f7 c #3E3D3E", +"f8 c #3D3D3D", +"f9 c #3E3D3C", +"fa c #3D3C3C", +"fb c #38393A", +"fc c #3E3C3E", +"fd c #40414F", +"fe c #71626E", +"ff c #6E6455", +"fg c #D5B766", +"fh c #B89E62", +"fi c #706762", +"fj c #3E3B51", +"fk c #35385B", +"fl c #B9A686", +"fm c #F0D974", +"fn c #EDC976", +"fo c #FFEE81", +"fp c #FFEC81", +"fq c #DDB370", +"fr c #685F8C", +"fs c #1B1C25", +"ft c #262527", +"fu c #272728", +"fv c #292929", +"fw c #565655", +"fx c #33333B", +"fy c #312F23", +"fz c #655F16", +"fA c #6F6914", +"fB c #6F6814", +"fC c #6D6814", +"fD c #6D6714", +"fE c #545114", +"fF c #2C2B1B", +"fG c #181818", +"fH c #3B3626", +"fI c #3B3424", +"fJ c #3E3820", +"fK c #362F22", +"fL c #262220", +"fM c #1E1E28", +"fN c #1C1D21", +"fO c #333331", +"fP c #414243", +"fQ c #424241", +"fR c #424042", +"fS c #41403F", +"fT c #40403F", +"fU c #3F3F40", +"fV c #3C3D3E", +"fW c #2C2C2E", +"fX c #2A2A2A", +"fY c #353635", +"fZ c #404140", +"f& c #46486D", +"g c #32334E", +"g0 c #1D1E20", +"g1 c #222121", +"g2 c #232222", +"g3 c #2F3045", +"g4 c #B59781", +"g5 c #FEE882", +"g6 c #FEF086", +"g7 c #FEF388", +"g8 c #EAE18C", +"g9 c #B49A81", +"ga c #2F3053", +"gb c #272727", +"gc c #272928", +"gd c #5A5859", +"ge c #595958", +"gf c #313137", +"gg c #2A291F", +"gh c #595415", +"gi c #6E6A13", +"gj c #6D6A14", +"gk c #524F11", +"gl c #24210C", +"gm c #675B0B", +"gn c #6F610E", +"go c #60530C", +"gp c #382E11", +"gq c #171518", +"gr c #1C1D1E", +"gs c #222222", +"gt c #232423", +"gu c #454544", +"gv c #444546", +"gw c #434544", +"gx c #444343", +"gy c #2E2E2F", +"gz c #272828", +"gA c #242424", +"gB c #212221", +"gC c #242324", +"gD c #2B2929", +"gE c #404041", +"gF c #444344", +"gG c #424443", +"gH c #232323", +"gI c #222224", +"gJ c #232524", +"gK c #232325", +"gL c #34344B", +"gM c #AF927F", +"gN c #DDD28B", +"gO c #A6A181", +"gP c #5C5D65", +"gQ c #292A4A", +"gR c #252530", +"gS c #262727", +"gT c #272927", +"gU c #292928", +"gV c #5A5B5A", +"gW c #5A5A59", +"gX c #5A5A5A", +"gY c #575758", +"gZ c #565557", +"g& c #35363B", +"h c #26251E", +"h0 c #232213", +"h1 c #14131F", +"h2 c #3F3927", +"h3 c #35312B", +"h4 c #201E22", +"h5 c #1B1C1F", +"h6 c #232424", +"h7 c #242323", +"h8 c #232322", +"h9 c #484747", +"ha c #464648", +"hb c #474846", +"hc c #464544", +"hd c #434442", +"he c #3A3C3C", +"hf c #282828", +"hg c #222322", +"hh c #242322", +"hi c #2B292B", +"hj c #252525", +"hk c #2C2C2C", +"hl c #474746", +"hm c #414241", +"hn c #252626", +"ho c #262624", +"hp c #262625", +"hq c #2F2E3C", +"hr c #43436E", +"hs c #212228", +"ht c #252526", +"hu c #272827", +"hv c #292829", +"hw c #292A2A", +"hx c #2A2A2B", +"hy c #5D5D5E", +"hz c #5B5A5A", +"hA c #59595A", +"hB c #585958", +"hC c #565758", +"hD c #565755", +"hE c #4B4B4D", +"hF c #515252", +"hG c #4A4949", +"hH c #252726", +"hI c #252625", +"hJ c #262525", +"hK c #242625", +"hL c #262425", +"hM c #242524", +"hN c #252425", +"hO c #2D2C2C", +"hP c #474645", +"hQ c #4A494A", +"hR c #484A4A", +"hS c #313231", +"hT c #2A292A", +"hU c #242325", +"hV c #232324", +"hW c #282728", +"hX c #252524", +"hY c #3F3D3E", +"hZ c #484749", +"h& c #272628", +"i c #2A2929", +"i0 c #272729", +"i1 c #2B2B2B", +"i2 c #292A29", +"i3 c #2B2B2C", +"i4 c #2A2C2C", +"i5 c #2B2D2B", +"i6 c #2D2C2D", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g h i j k l m n n o p q r s t u v w x y z z A B x C A A D E F G A x H I J K L t M N O P Q q", +" R 4 S T U 8 9 V W X Y Z &0 000102030405 Q06 O07 t0809 A0a z0b0b0c0d0e0f0g0h0i0g0j0k0h0l0h0m0i0j0n0d0g0d0o0p0q0r0s0t0u y F0v0w0x", +"0y0z0A a0B c0C0D0E0F0G0H0I0J0K0L0M0N0O0P0u B0b0d0Q0R0j0S0T0U0V0W0X0Y0Z0&1 10111213101214121516171618191a1a1b1c1d1e1f1g1h1i0a B E", +"1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C0U0T0Y1D151E12111F1G1H1I1J1K1L1M1N1O1P1Q1R1S1P1Q1Q1L1L1T1U1G1V1W1X1Y1Z1&2 2021222324250c", +"262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q1W2r1L1S2s2t2u2v2w2x2y2z2A2B2C2z2D2E2F2G2z2H2I2J2J2K2u2L2v1K2M1L2N2O2P2Q2R2S2T2U0U0h2V", +"2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g2A3h3h3i3j3k3l3m3n3o3p3q3o3o3r3s3q3o3s3t3m3m3u3v3w2D3w2z3x3y3z3A3B3C3D3E3F3G151 3H", +"2Y n3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 40414243444546474748494a4b4a4c4d4a4e4f4745474g4g4h4i3t4j2E4k4l4m4n4o4p4q4r4s4t4u4v4w", +"4x064y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 5051525354555456565758594f5a4T475b3r5c5d5e5f5g5h5i5j5k5l5m5n1T5o", +"5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5&6 60615N626364654U49666768696a6b6c6d6e6f6g6h6i6j1T", +"0P6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y4L6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W5Z6X6Y6Z6&7 7071727374756b767778797a7b7c7d7e1H", +"7f7g7h7h7i7j7k7l7m7n7o7p6y7q6t7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V1d7W7X7Y7Z7&8 8081828384856f8687881K", +"0S898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M6U8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 84909192939495", +"969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D7F9E9F9G9H9I9J9u7R9K8P9L9M8S8U9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&2M", +"0ba a0a1a2a3a4a5a6a7a8a9aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazaAaBanaC7SaDaEaF9LaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaV2M", +"0b14aWaXaYaZa&b 9eb0b1b2b3b4b5b6b7b8b9babbbcbdbebfbg7R8wbhbibjbkblbmbnbobpbq9uaC7Rbg6Ibrbs8TbtbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbK", +" BbLbMbNbObPbQbRbRa6bSbSbTbUbUbVbWbXbYbZb&c c0c1c2c3c45Zc5c6c7c8c9cacbcccd7Ace5Zc4c46 cfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcycz", +"cAcBcCcDcEcFcGcHcIcJbSb1cKb3cLcMcNcOcPcQcRcScT5L5M5McUcU55c2cVcWcXcYcZc&60d c2d05N5N53d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkdl", +"dmdndodpdqdrdsdtdudvdwdxcKdydzdAdBdCcPdDdEdFdGdHdIdJ58dKdLdLdM4Y5LdN574&dOdP4&5L4Z4&58dQcfdRdSdTdUdVdWdXdYdZd&e e0e1e2e3e4e5e6aB", +"e7e7 Ce8e9eaebecedeeefegbS8feheiejekeldDemeneoepeq45eres495adHetdI4f4f4adI4c4beuevdH476645ewexeyezeAeBeCeDeEeFeGeHeIeJeKeLeMeNeO", +"ePe7eQ19eReSeTeUeVeWeXeYefeZe&ekf f0cOf1f2f33mf4f53qf6f73peof8f9ep3r4367fafbeu4d5bfcf74h42fdfefffgfhfifjfkflfmfnfofpfqfrfsftfufv", +"0w0wfw09fxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfO2G2GfP2EfQfR2E3ufS2EfTfUfUfV58fWfXfYbq67f5fZ3u2Ef&g 6ig0g1g2g3g4g5g6g7g8g9gadlgbgc9v", +"gdge r t w0mgfggghgigjgkglgmgngogpgqgrgsbMgtdIgugv2Kgw2x2Jgugxgx2G2zfTgygzgAgB9ugCgDbggEgF3xgGeOgHgIgJgKgLgMgNgOgPgQgRgSgTgcgUbq", +"gVgWgX QgYgZfw0Rg&h h0h1h2h3h4h5gCh6h7h6h7h8gTfU1T1L1Kh9ha1Shb2LhchdhehfhggHhhhihjgHh6hk411Qhlhmhne6hohphqhr2jhshthuhfhvgUhwhxfX", +"hy m nhzhAhB NhChD0ghEhFhG8whHeNhIhJhIhKhLhMhNhOhP4v11114vhQhR95fZhShThnhUe6hVfXhWhXhXhIfXhYhZ1Wd hfh&gbhfi i0gUfvi1i2i3i49vi5i6"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleKeepFacesTogether.xpm b/2009-x64/cps4.03/icons/cpscToggleKeepFacesTogether.xpm new file mode 100644 index 0000000..d110834 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleKeepFacesTogether.xpm @@ -0,0 +1,375 @@ +/* XPM */ +static char *KEEP_xpm[]={ +"64 24 348 2", +" c #737173", +" 0 c #6B6D73", +" 1 c #6B6D6B", +" 2 c #6B696B", +" 3 c #636563", +" 4 c #636163", +" 5 c #5A6163", +" 6 c #5A5D5A", +" 7 c #5A595A", +" 8 c #52595A", +" 9 c #5A5552", +" a c #525552", +" b c #525152", +" c c #52555A", +" d c #63656B", +" e c #8C826B", +" f c #6B6963", +" g c #5A5952", +" h c #524D4A", +" i c #52514A", +" j c #4A4D4A", +" k c #4A514A", +" l c #6B6563", +" m c #847963", +" n c #F7D37B", +" o c #FFDB84", +" p c #D6C784", +" q c #9C9673", +" r c #4A4D52", +" s c #4A494A", +" t c #A58E52", +" u c #BD9E52", +" v c #9C864A", +" w c #73694A", +" x c #524D52", +" y c #635D63", +" z c #CEB66B", +" A c #FFDF84", +" B c #FFE794", +" C c #FFF39C", +" D c #FFFBAD", +" E c #DEDFA5", +" F c #ADAA8C", +" G c #73756B", +" H c #4A5152", +" I c #424942", +" J c #42454A", +" K c #424542", +" L c #5A554A", +" M c #D6B25A", +" N c #CEAA52", +" O c #C6A652", +" P c #84714A", +" Q c #6B654A", +" R c #B59642", +" S c #9C8642", +" T c #847142", +" U c #5A615A", +" V c #9C8A63", +" W c #EFC773", +" X c #FFFFAD", +" Y c #FFFFB5", +" Z c #FFFFBD", +" & c #FFFFC6", +"0 c #EFEBB5", +"00 c #ADAE8C", +"01 c #6B6D63", +"02 c #424142", +"03 c #6B614A", +"04 c #C6A252", +"05 c #424139", +"06 c #A58A4A", +"07 c #BD9A4A", +"08 c #B59242", +"09 c #4A4D42", +"0a c #9C8239", +"0b c #A58639", +"0c c #847539", +"0d c #736542", +"0e c #63615A", +"0f c #D6B66B", +"0g c #E7C773", +"0h c #EFCF7B", +"0i c #FFFBA5", +"0j c #F7F3B5", +"0k c #C6BE8C", +"0l c #73715A", +"0m c #394142", +"0n c #393C39", +"0o c #394139", +"0p c #4A4942", +"0q c #8C7D52", +"0r c #5A5942", +"0s c #393429", +"0t c #292421", +"0u c #8C7539", +"0v c #AD9242", +"0w c #BD9642", +"0x c #947D42", +"0y c #635942", +"0z c #AD8E39", +"0A c #AD8A39", +"0B c #A58631", +"0C c #525142", +"0D c #947931", +"0E c #8C7531", +"0F c #7B6939", +"0G c #635D42", +"0H c #5A555A", +"0I c #B59E5A", +"0J c #DEBE63", +"0K c #E7C373", +"0L c #F7D784", +"0M c #FFE38C", +"0N c #FFEF9C", +"0O c #FFF7A5", +"0P c #F7E394", +"0Q c #BDAA73", +"0R c #4A4542", +"0S c #393839", +"0T c #9C8A5A", +"0U c #DEBA63", +"0V c #CEAE5A", +"0W c #313029", +"0X c #5A5131", +"0Y c #393821", +"0Z c #212018", +"0& c #393831", +"1 c #736942", +"10 c #A58A39", +"11 c #947939", +"12 c #5A5542", +"13 c #A58231", +"14 c #9C8229", +"15 c #6B5D42", +"16 c #525952", +"17 c #736952", +"18 c #E7C36B", +"19 c #EFCB7B", +"1a c #FFDF8C", +"1b c #FFEB94", +"1c c #FFF3A5", +"1d c #FFEB9C", +"1e c #D6BE7B", +"1f c #313839", +"1g c #313431", +"1h c #393431", +"1i c #6B6142", +"1j c #7B7942", +"1k c #DEBE6B", +"1l c #AD925A", +"1m c #B5964A", +"1n c #846D39", +"1o c #5A5142", +"1p c #7B6D39", +"1q c #B59A52", +"1r c #D6B663", +"1s c #DEC36B", +"1t c #FFDB8C", +"1u c #7B6D52", +"1v c #313031", +"1w c #7B7552", +"1x c #EFD75A", +"1y c #946D31", +"1z c #BDAE4A", +"1A c #E7C34A", +"1B c #635939", +"1C c #AD9663", +"1D c #8C794A", +"1E c #C6A24A", +"1F c #736531", +"1G c #AD8E42", +"1H c #947D39", +"1I c #6B6139", +"1J c #D6B263", +"1K c #EFD78C", +"1L c #393C31", +"1M c #BDB663", +"1N c #FFC742", +"1O c #FFB231", +"1P c #946529", +"1Q c #BDAA42", +"1R c #FFBE42", +"1S c #292C29", +"1T c #DEC37B", +"1U c #B59E6B", +"1V c #6B5D4A", +"1W c #423C39", +"1X c #7B6D4A", +"1Y c #B59652", +"1Z c #212418", +"1& c #847139", +"2 c #6B5D39", +"20 c #CEAA5A", +"21 c #CEB25A", +"22 c #FFE394", +"23 c #8C7952", +"24 c #636139", +"25 c #FFA629", +"26 c #FFC739", +"27 c #8C6129", +"28 c #B5A239", +"29 c #FFAA31", +"2a c #FFAE31", +"2b c #E7B639", +"2c c #635531", +"2d c #292829", +"2e c #8C7D5A", +"2f c #7B6D42", +"2g c #4A4939", +"2h c #423C29", +"2i c #313021", +"2j c #AD9239", +"2k c #8C7131", +"2l c #A58A31", +"2m c #9C7D31", +"2n c #BD9E4A", +"2o c #EFCB73", +"2p c #EFD37B", +"2q c #EFD384", +"2r c #181818", +"2s c #A59A4A", +"2t c #FFE352", +"2u c #FFAE29", +"2v c #FFC339", +"2w c #8C5D29", +"2x c #B59A39", +"2y c #FFCB4A", +"2z c #FFD784", +"2A c #DEC373", +"2B c #C6AA63", +"2C c #4A4539", +"2D c #524939", +"2E c #7B6931", +"2F c #312C21", +"2G c #B59A42", +"2H c #BDA24A", +"2I c #F7DB8C", +"2J c #A5925A", +"2K c #101410", +"2L c #4A3818", +"2M c #E7B239", +"2N c #FFE35A", +"2O c #FFD742", +"2P c #FFCB39", +"2Q c #FFD352", +"2R c #FFD373", +"2S c #D69229", +"2T c #4A3829", +"2U c #E7CB7B", +"2V c #847952", +"2W c #9C8A4A", +"2X c #9C8242", +"2Y c #6B5931", +"2Z c #212021", +"2& c #423821", +"3 c #635529", +"30 c #5A5539", +"31 c #A58A42", +"32 c #BD9A42", +"33 c #D6BA63", +"34 c #E7CB73", +"35 c #393829", +"36 c #211C10", +"37 c #9C7529", +"38 c #FFD34A", +"39 c #FFD74A", +"3a c #B59A31", +"3b c #FFD35A", +"3c c #F7BA52", +"3d c #8C5D21", +"3e c #312C29", +"3f c #DECB8C", +"3g c #E7D38C", +"3h c #A59263", +"3i c #BDA663", +"3j c #524929", +"3k c #7B6531", +"3l c #4A4529", +"3m c #292821", +"3n c #7B7142", +"3o c #C6AA52", +"3p c #DEBA6B", +"3q c #B59E63", +"3r c #101818", +"3s c #634929", +"3t c #E7AA39", +"3u c #FFDB5A", +"3v c #FFC763", +"3w c #422C18", +"3x c #212421", +"3y c #A58E63", +"3z c #AD965A", +"3A c #947942", +"3B c #525139", +"3C c #AD8A31", +"3D c #736131", +"3E c #B59239", +"3F c #D6BA6B", +"3G c #4A4129", +"3H c #101810", +"3I c #101418", +"3J c #B57921", +"3K c #845921", +"3L c #AD8A29", +"3M c #845918", +"3N c #181C18", +"3O c #B59A63", +"3P c #524931", +"3Q c #524D31", +"3R c #73654A", +"3S c #9C8639", +"3T c #292429", +"3U c #292018", +"3V c #211C21", +"3W c #8C865A", +"3X c #DECB84", +"3Y c #BDA66B", +"3Z c #A58E4A", +"3& c #524D39", +"4 c #9C8231", +"40 c #635D4A", +"41 c #8C7542", +"42 c #A58E42", +"43 c #4A4531", +"44 c #6B5D31", +"45 c #736539", +"46 c #CEB263", +"47 c #C6AA5A", +"48 c #CEAE63", +"49 c #181C21", +"4a c #182021", +"4b c #9C8631", +"4c c #BDA252", +"4d c #BDA652", +"4e c #182018", +"4f c #211C18", +"4g c #4A454A", +"4h c #292C21", +"4i c #8C7942", +"4j c #847542", +"4k c #212429", +"4l c #293029", +"4m c #212829", +"4n c #423C42", +"4o c #42494A", +"4p c #212821", +"4q c #293031", +" 0 1 1 1 1 2 2 2 2 3 3 3 3 3 4 4 4 5 6 6 6 7 6 7 7 7 7 8 9 9 a a a a a a a b a a b b a b a a b b b a a a a a a a c 8 9 7 7 7", +" 1 1 1 2 2 2 d 3 3 e f 4 4 5 6 6 6 6 7 7 7 g 8 a a a a b a b b b b b b b b h h h i j h j j b i k b b b b b b b b b b b a a a a c", +" 2 2 l 3 3 4 4 4 m n o p q f 7 7 g c a a a b b b b k r j j j j j j s s s j j s s s s s j s t u v w j i j j j k k x b b b b b a a", +" 3 3 4 4 4 y 6 6 z n A B C D E F G b b H j j j j s s s s s s s s I J K K J K K K K K K K L M N O P Q R S T L j j j j j j j b b b", +" 4 4 U 6 6 6 7 V W n o B C X Y Z &0 0001 s s s K K K K K K K020202 K0202020202020202020203 t04 u050607 R08090a0b0c0d i j j j r j", +" y 6 6 6 7 70e0f0g0h o B C0i Y Z Z & & Z0j0k0l j0202020m0n0o0n0n0n0n0n0n0n0n0n0n0n0n0n0p0q0r050s0t0u0v0w0x0y0z0A0A0B0C0D0E0F0G i", +" 6 6 70H a a0I0J0K0h0L0M0N0i X Y Z Z Z Z Y Y0O0P0Q0R0S0S0n0S0S0S0S0S0S0S0S0S0S0S0S0S0n0T0K0U0V0W0X0Y0Z0&0p1 100z0A11121313141415", +" 7 716 a a17 M0U18190L1a1b1c0i Y Y Z Z Y Y X0O1d1e0S1f1g1h1g0p1i1j051g1g1g1g1g1g1g1g050g0g1k1l0W N O1m1n0n0C020p0y1o1p0B131314 j", +"16 a a a a1q M1r1s0g n1t B0N0O D X Y Y Y X0O0N B1u1g1v1v1v1w1x1y1z1A1B1v1v1v1v1v1v1v0& w1C0f121D0V O1E0X1F R1G1H1I K K0p1B0F0F s", +" a a b b1D O0V1J1k0K0h0L1a B0N0O0i X X D0O C1d1K1L1v1v051M1N1O1P1Q1O1R100&1S1S1S1v1L1T1U1V1W1g1X1Y O071Z1G R080z1n1B0B1&2 0C K0R", +" a b b g07 O20210U1s0g0h0L1a B1d C1c0O1c0N1b22231S1S241x1O252627281O292a2b2c2d1S1S2e0M0L0h031i2f2g1L2h2i1G R082j0Y2k2l0B0B2m0p J", +" a b b v2n1E O0V1r1k182o2p0L1a22 B1b1d1b B0M2q0Z2r2s2t2a2u2v262w2x292626262y0D2d1v1K0M2z2A1v2B1r21 u2C2D0&2g0X2E2F0A2l0B0B2k K K", +" b b032G2n2H O20211r1k0g2o0h0L o1a0M0M0M1a2I2J2K2K2L2M2N2O2P262w2x2a262Q2R2S2T1S0&0G1U2U2V151k1r M2W0W2H072X2Y0t2Z2&3 0E0B3002 K", +" a a31 R322n1E O0V M331k0K340h2p0L0L0L0L0L2p352K2K2K363738392P273a2a3b3c3d3e1S1S3f3g3h121v w3i1r213j0F2H072G R0&0E3k3l3m1g051S1g", +" b3n2j R2G2n2H O3o0V1J333p1s0g19190h0h0h0h3q3r2K2K2K2K2d3s3t3u2w3a3v2S3w2r3x1S Q0N B1a3y123z0G2h2Y3m2n2n2n R3A3B0z0A3C2l3D021v3x", +" g100z3E R322n2H O3o0V1J1r3F1k1s0g0g0g0g0g3G2r3H2r3I2r2d1v0s3J3K3L3M0Z3N2r2r2Z p1d22 o2g3O0K1k0V2c2F2F3j0u083P1&0z0z2l2l3Q021v2d", +"3R3S0z2j08 R322n1E O3o0V211r1r3F1k1k1k1k0I2r2r2r2r2r2r1v1v3T3N3U0Z2r3V3N2r2r2r3W3X1a3Y1W0g183p1r2C3Z2n0x0X3&1g3D3S0z2l4 1h020S2d", +" a b40414208 R2n2n2H O3o0V0V211r1r1r1r1r0X3N3N2r2r2r3N1S3x3N2r2r3N2r2Z2Z2r2r2r2r3N432g0q0g1s0U t2g3o042H07 T3&3 2F2&444502 K0S2d", +" a a b b b401&0v072n2H O O3o200V0V2146473x3N3N3N3N3N3N2Z3N3N3N3N3N3N2Z3x3N3N3N2r3N3N2d0S0r0T4843 T O042n07120x2j0z0D3 0W0n J K1g", +" a a a b b j3x2Z3l1&1m2n2H O O O3o4747453N3N3N3N3N3N3N2Z493N3N3N3N3N3x3T3N3N3N3N3N3N4a0S0n1W0n3x T u042n310p082j0z0z4b3x2d02 s s", +" 7 a a a b0S3x3x3x3x3m3l1&1m2n4c044d1q3m3V0Z0Z4e3V3N2Z0S1g0t49494e4f3x2d3V2Z3V492Z3x1S0n02020n2d2Z3m3l1&1i2f3E2j0z0A3k3x2d0S4g K", +" 7 816 a a0&3x3x3x3x3x3x3x4h3Q4i1m2n4j2Z2Z2Z2Z2Z2Z2Z2Z0n K0n2d2Z2Z2Z3x1S2Z2Z2Z3x1S0S0o K K K0o3x3x2Z2Z3x1S0y0x0A0z0A2h4k2d0n K0S", +" 6 7 7 7 a4l4m4k4k3x3x3x3x3x3x3x4h3Q0s2Z3x2Z3x3x3x2Z3x02 K4g4n0S3x2Z3x0W2Z3x1v0S02 K K K K4o K2d3x3x3x3x2d02 K h1i1n2d2d2d0S s0S", +" 6 7 7 7 s1S2d2d2d2d2d3T3m4m4p3x0t3x3x3x3x3x3x0t3x3x2d J s s s s0n1g2d1v3x1S4n s s s s s s s s021S4p2d2d1v K020n j j0n4q1S0n H K"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleMirrorAndStitchNode.xpm b/2009-x64/cps4.03/icons/cpscToggleMirrorAndStitchNode.xpm new file mode 100644 index 0000000..de4e305 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleMirrorAndStitchNode.xpm @@ -0,0 +1,618 @@ +/* XPM */ +static char *MIRROR_xpm[]={ +"30 24 591 2", +" c #605F5E", +" 0 c #5E605F", +" 1 c #5E5F5E", +" 2 c #5D5F5F", +" 3 c #5D5C5C", +" 4 c #5D5B5D", +" 5 c #5C5C5B", +" 6 c #5B5B59", +" 7 c #585B5A", +" 8 c #5A5B5A", +" 9 c #59595A", +" a c #595959", +" b c #5B585A", +" c c #7B6653", +" d c #F58532", +" e c #E47D34", +" f c #595A59", +" g c #585857", +" h c #565655", +" i c #575555", +" j c #575455", +" k c #545455", +" l c #545553", +" m c #545555", +" n c #545554", +" o c #545453", +" p c #535453", +" q c #535353", +" r c #60605F", +" s c #5F5E5E", +" t c #5F5F5E", +" u c #5E5D5E", +" v c #5D5D5D", +" w c #5B5B5B", +" x c #5B5A5A", +" y c #575759", +" z c #595859", +" A c #585757", +" B c #595858", +" C c #776050", +" D c #F98531", +" E c #E37B34", +" F c #575756", +" G c #555655", +" H c #565555", +" I c #555454", +" J c #535354", +" K c #545354", +" L c #545353", +" M c #535352", +" N c #525353", +" O c #525454", +" P c #5B5C5B", +" Q c #5A595A", +" R c #585758", +" S c #565856", +" T c #6D6C57", +" U c #8C8B7B", +" V c #ACA77F", +" W c #706D58", +" X c #735D4C", +" Y c #FC832F", +" Z c #E57A32", +" & c #6D664D", +"0 c #A08E47", +"00 c #857A45", +"01 c #676147", +"02 c #50504F", +"03 c #4F504E", +"04 c #4F4F50", +"05 c #4F4F4F", +"06 c #4F5050", +"07 c #504F50", +"08 c #504F4F", +"09 c #585858", +"0a c #575757", +"0b c #565757", +"0c c #535253", +"0d c #7C7A62", +"0e c #D1C78E", +"0f c #D9C974", +"0g c #BBA538", +"0h c #AB9324", +"0i c #6D633E", +"0j c #6F5849", +"0k c #FE812D", +"0l c #E7782F", +"0m c #4A4A4B", +"0n c #796C3A", +"0o c #A48D20", +"0p c #B29826", +"0q c #C1A22D", +"0r c #A89130", +"0s c #676141", +"0t c #4C4C4B", +"0u c #4C4B4B", +"0v c #4B4C4C", +"0w c #4B4C4B", +"0x c #4C4C4C", +"0y c #4C4D4C", +"0z c #4D4C4D", +"0A c #545454", +"0B c #525152", +"0C c #505050", +"0D c #4F4E4F", +"0E c #52514D", +"0F c #B5A658", +"0G c #D2B94A", +"0H c #A48919", +"0I c #7A6E21", +"0J c #554E25", +"0K c #3E3825", +"0L c #292A26", +"0M c #634C3B", +"0N c #FE7F2C", +"0O c #E17129", +"0P c #232323", +"0Q c #31302A", +"0R c #343122", +"0S c #4A4220", +"0T c #726320", +"0U c #A3862A", +"0V c #BE9C26", +"0W c #8B7B2F", +"0X c #4A4A45", +"0Y c #474847", +"0Z c #474747", +"0& c #484848", +"1 c #494847", +"10 c #4A4849", +"11 c #4E504F", +"12 c #4E4C4D", +"13 c #4C4D4D", +"14 c #4A4A4C", +"15 c #504E49", +"16 c #BDA54B", +"17 c #BAA029", +"18 c #8B721D", +"19 c #3B3624", +"1a c #1E1E1E", +"1b c #1C1D1E", +"1c c #1D1D1D", +"1d c #1C1D1C", +"1e c #4E3626", +"1f c #FD7B2A", +"1g c #DE6C26", +"1h c #1E1D1C", +"1i c #1D1C1D", +"1j c #20201F", +"1k c #1D1D1C", +"1l c #1C1C1D", +"1m c #2D2A1C", +"1n c #8C7220", +"1o c #B6952C", +"1p c #938126", +"1q c #464441", +"1r c #434342", +"1s c #434343", +"1t c #434544", +"1u c #454544", +"1v c #4B4B4B", +"1w c #49494A", +"1x c #484747", +"1y c #454746", +"1z c #97843E", +"1A c #BE9A27", +"1B c #7C651C", +"1C c #21201C", +"1D c #1C1B1C", +"1E c #1B1C1B", +"1F c #1B1B1B", +"1G c #1C1C1B", +"1H c #46301F", +"1I c #F77727", +"1J c #D86A25", +"1K c #1C1B1A", +"1L c #1B1C1C", +"1M c #1E1D1D", +"1N c #201E1A", +"1O c #816A24", +"1P c #B8972C", +"1Q c #74672A", +"1R c #3F3F40", +"1S c #3F403F", +"1T c #403F40", +"1U c #424241", +"1V c #464647", +"1W c #454445", +"1X c #434243", +"1Y c #5D583D", +"1Z c #CAA82E", +"1& c #8D7318", +"2 c #25251C", +"20 c #1A1A1B", +"21 c #191A1A", +"22 c #1B1C1D", +"23 c #202020", +"24 c #2B2B2B", +"25 c #323132", +"26 c #594333", +"27 c #EF7224", +"28 c #D16723", +"29 c #1A1B19", +"2a c #333233", +"2b c #323233", +"2c c #312F30", +"2d c #262727", +"2e c #1F1F1A", +"2f c #9E7F26", +"2g c #AF9422", +"2h c #4B4933", +"2i c #3C3B3C", +"2j c #3C3D3C", +"2k c #3D3E3E", +"2l c #434242", +"2m c #414241", +"2n c #3E4040", +"2o c #9B8433", +"2p c #B18E20", +"2q c #3C331B", +"2r c #181819", +"2s c #171818", +"2t c #1D1C1C", +"2u c #2D2D2D", +"2v c #363636", +"2w c #353535", +"2x c #343535", +"2y c #563F31", +"2z c #E56F22", +"2A c #C96221", +"2B c #19181A", +"2C c #181919", +"2D c #191818", +"2E c #303130", +"2F c #343433", +"2G c #343434", +"2H c #514622", +"2I c #CEA637", +"2J c #736621", +"2K c #3A3839", +"2L c #393A39", +"2M c #3B3B3A", +"2N c #404040", +"2O c #3D3D3D", +"2P c #44423A", +"2Q c #BD9D2B", +"2R c #9A7D21", +"2S c #191919", +"2T c #181817", +"2U c #2E2F30", +"2V c #323231", +"2W c #313131", +"2X c #313130", +"2Y c #503C2D", +"2Z c #D96A20", +"2& c #BE5D1F", +"3 c #171717", +"30 c #181718", +"31 c #2A2B2A", +"32 c #302F30", +"33 c #313031", +"34 c #313132", +"35 c #333132", +"36 c #313231", +"37 c #B88E36", +"38 c #9C841A", +"39 c #313332", +"3a c #373637", +"3b c #393937", +"3c c #3D3E3C", +"3d c #3A3A3B", +"3e c #534D33", +"3f c #BE9E27", +"3g c #6C5218", +"3h c #161716", +"3i c #2C2C2D", +"3j c #2E2E2D", +"3k c #2D2E2E", +"3l c #2C2B2B", +"3m c #4B3729", +"3n c #CC651F", +"3o c #B3591D", +"3p c #171617", +"3q c #151515", +"3r c #181716", +"3s c #282A29", +"3t c #2D2D2E", +"3u c #303030", +"3v c #9A7B31", +"3w c #BB9829", +"3x c #332F19", +"3y c #363536", +"3z c #363736", +"3A c #3B3B3C", +"3B c #554F34", +"3C c #BC9925", +"3D c #594718", +"3E c #161515", +"3F c #282829", +"3G c #302E2F", +"3H c #2D2E2D", +"3I c #2C2B2C", +"3J c #2A2A2A", +"3K c #292A2A", +"3L c #292928", +"3M c #463427", +"3N c #C15F1D", +"3O c #A9561B", +"3P c #151415", +"3Q c #141514", +"3R c #151414", +"3S c #282627", +"3T c #2A292A", +"3U c #2C2C2C", +"3V c #2F2E2F", +"3W c #302F2E", +"3X c #816931", +"3Y c #CFAC30", +"3Z c #343014", +"3& c #2E2F2E", +"4 c #353635", +"40 c #3B3B3B", +"41 c #39393A", +"42 c #574F32", +"43 c #BC9926", +"44 c #5C4B17", +"45 c #2F2F2F", +"46 c #29292A", +"47 c #453227", +"48 c #BD5D1C", +"49 c #A7541B", +"4a c #161616", +"4b c #141414", +"4c c #141314", +"4d c #282728", +"4e c #292A29", +"4f c #2B2B2C", +"4g c #2D2D2B", +"4h c #2E2D2D", +"4i c #2E302F", +"4j c #856D31", +"4k c #D3AD33", +"4l c #302D15", +"4m c #262726", +"4n c #363635", +"4o c #3B3A3C", +"4p c #393939", +"4q c #4C4931", +"4r c #BD9B29", +"4s c #79641B", +"4t c #242425", +"4u c #2F302F", +"4v c #2E2D2F", +"4w c #2C2D2D", +"4x c #2B2C2B", +"4y c #473529", +"4z c #C35F1C", +"4A c #A8531B", +"4B c #161615", +"4C c #151514", +"4D c #2A2B2C", +"4E c #2E2D2E", +"4F c #2E3030", +"4G c #A28639", +"4H c #C7A42C", +"4I c #292715", +"4J c #1F2120", +"4K c #3B3A37", +"4L c #B19524", +"4M c #A28421", +"4N c #303031", +"4O c #4C382B", +"4P c #C9601B", +"4Q c #B2581B", +"4R c #171716", +"4S c #161717", +"4T c #272727", +"4U c #2F2F2E", +"4V c #313030", +"4W c #D7BB49", +"4X c #A3861F", +"4Y c #1E1D18", +"4Z c #363737", +"4& c #3D3D3E", +"5 c #3C3C3B", +"50 c #393A3A", +"51 c #807225", +"52 c #CDA62F", +"53 c #534D2D", +"54 c #353334", +"55 c #343233", +"56 c #333133", +"57 c #323131", +"58 c #313232", +"59 c #4F3A2D", +"5a c #D0621A", +"5b c #B7581A", +"5c c #191819", +"5d c #181719", +"5e c #303131", +"5f c #323130", +"5g c #333232", +"5h c #5A5336", +"5i c #F5DC56", +"5j c #675813", +"5k c #1A1A1A", +"5l c #343436", +"5m c #3F3F3F", +"5n c #3E3F3F", +"5o c #3D3C3C", +"5p c #4B4934", +"5q c #BC9D2C", +"5r c #BB9C30", +"5s c #383738", +"5t c #383736", +"5u c #353735", +"5v c #343536", +"5w c #533E2F", +"5x c #D5651A", +"5y c #BD5B1A", +"5z c #1A1B1B", +"5A c #353534", +"5B c #343534", +"5C c #353536", +"5D c #CDBF5C", +"5E c #C0A431", +"5F c #302C16", +"5G c #1F1E1E", +"5H c #373737", +"5I c #414142", +"5J c #404041", +"5K c #3F3E3E", +"5L c #6C5F25", +"5M c #D9AC3B", +"5N c #A58C36", +"5O c #393A3B", +"5P c #383939", +"5Q c #383938", +"5R c #574033", +"5S c #D8661A", +"5T c #BF5B1B", +"5U c #1C1C1C", +"5V c #1B1B1A", +"5W c #343533", +"5X c #383838", +"5Y c #373839", +"5Z c #ADA55A", +"5& c #E7D05D", +"6 c #695B10", +"60 c #212222", +"61 c #444443", +"62 c #424343", +"63 c #424142", +"64 c #414242", +"65 c #31312E", +"66 c #847023", +"67 c #E2BA41", +"68 c #C5A63D", +"69 c #49463D", +"6a c #3C3C3C", +"6b c #3B3C3B", +"6c c #5A4334", +"6d c #DA661B", +"6e c #BF5B1A", +"6f c #1E1E1C", +"6g c #3B3A3B", +"6h c #48453B", +"6i c #BCB466", +"6j c #EBD86F", +"6k c #816E14", +"6l c #24231D", +"6m c #1D1E1E", +"6n c #1F1F1F", +"6o c #282929", +"6p c #3F3F3E", +"6q c #464748", +"6r c #464746", +"6s c #464545", +"6t c #434443", +"6u c #25251E", +"6v c #7A6C20", +"6w c #D0B237", +"6x c #F0D851", +"6y c #9F924D", +"6z c #635D40", +"6A c #45443F", +"6B c #5D4738", +"6C c #DB6619", +"6D c #C15C1B", +"6E c #1F1E1F", +"6F c #1E1E1F", +"6G c #5F5B3B", +"6H c #9E9963", +"6I c #EAE191", +"6J c #D6B859", +"6K c #786812", +"6L c #29271F", +"6M c #1F201F", +"6N c #424042", +"6O c #4B494B", +"6P c #484948", +"6Q c #494748", +"6R c #474647", +"6S c #202021", +"6T c #4C481D", +"6U c #978125", +"6V c #D1B847", +"6W c #EFE06F", +"6X c #F7E882", +"6Y c #7C7650", +"6Z c #5F483B", +"6& c #DE661A", +"7 c #C25B19", +"70 c #212021", +"71 c #6E6433", +"72 c #F5E46A", +"73 c #EBDE7E", +"74 c #CFB850", +"75 c #968318", +"76 c #534D19", +"77 c #222322", +"78 c #222120", +"79 c #202122", +"7a c #222221", +"7b c #3F4040", +"7c c #444444", +"7d c #4B4B4A", +"7e c #4B494A", +"7f c #494A49", +"7g c #484849", +"7h c #484749", +"7i c #2C2D2C", +"7j c #222223", +"7k c #252422", +"7l c #3A3720", +"7m c #5C551D", +"7n c #71651C", +"7o c #4F492E", +"7p c #624B3C", +"7q c #DD651A", +"7r c #C35C1A", +"7s c #473F1E", +"7t c #6B6518", +"7u c #635D14", +"7v c #3F3E1C", +"7w c #272725", +"7x c #242424", +"7y c #232223", +"7z c #252525", +"7A c #3A3C3A", +"7B c #444446", +"7C c #464646", +"7D c #4E4D4C", +"7E c #4C4B4A", +"7F c #4A4A4A", +"7G c #494949", +"7H c #48494A", +"7I c #454645", +"7J c #2B2A2A", +"7K c #232224", +"7L c #543D31", +"7M c #C45D1A", +"7N c #232524", +"7O c #222422", +"7P c #232423", +"7Q c #242423", +"7R c #242222", +"7S c #272626", +"7T c #444445", +"7U c #4C4B4C", +"7V c #4C4A4A", +"7W c #494A4C", +"7X c #4B484A", +"7Y c #4A4A48", +"7Z c #4A4949", +"7& c #424244", +"8 c #222323", +"80 c #252223", +"81 c #252523", +"82 c #583D2B", +"83 c #D56317", +"84 c #C45D19", +"85 c #262326", +"86 c #252424", +"87 c #232322", +"88 c #242223", +"89 c #242324", +"8a c #232523", +"8b c #262626", +"8c c #333335", +"8d c #484847", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p o q p", +" r s t u v w x 6 9 y z A B C D E F G H I p J K o q L M N q O", +" u 3 P x Q Q R S h T U V W X Y Z N &0 0001020304050505060708", +" z090a0b k o0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z", +"0A q0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 10", +"1112131415161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u", +"1v1w1x1y1z1A1B1C1D1D1E1F1G1H1I1J1K1G1L1M1L1F1N1O1P1Q1R1S1T1U", +"1V1W1X1Y1Z1&2 2021222324252627282920212a2b2c2d2e2f2g2h2i2j2k", +"2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2x2E2H2I2J2K2L2M", +"2N2O2P2Q2R2S2T232U2V252W2X2Y2Z2&3 303 3132333435363738393a3b", +"3c3d3e3f3g3h203i323j3k3i3l3m3n3o3p3q3r3s3i3k3t3u3u3v3w3x3y3z", +"3A3d3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3I3U3V3W3X3Y3Z3&4 ", +"40414243441L453&3U3U3K463F4748494a4b4c4d4e4f4g4h4i4j4k4l4m4n", +"4o4p4q4r4s4t2V4u4v4w4x4f244y4z4A3h4B4C4d4D2u4E454F4G4H4I4J2w", +"3A2L4K4L4M3J2b364N3u453j3&4O4P4Q2s4R4S4T4h4U3G4N4V4W4X4Y1d4Z", +"4&5 505152532w545556575836595a5b5c5d2C4h5e5f2W5g5h5i5j5k1F5l", +"5m5n5o5p5q5r5s5t3z5u3y2G5v5w5x5y5k5z1F575A2G5B5C5D5E5F1D5G5H", +"5I5J2n5K5L5M5N3d5O504p5P5Q5R5S5T1D5U5V5W4Z5X5Y5Z5&6 2t1c602L", +"6162636465666768695o6a6b5o6c6d6e6f1M6f3a6g6h6i6j6k6l6m6n6o6p", +"6q6r6s6t3A6u6v6w6x6y6z6A2N6B6C6D5G6E6F6G6H6I6J6K6L1j1j6M4 6N", +"6O6P6Q0Z6R2W6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a317b7c", +"0w7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7j7s7t7u7v7w7x7y7y777z7A7B7C", +"7D0z7E7F7G7H7I7J7K7y7j0P7y7L6C7M7N770P7O7P7Q7R7P7Q7S4Z7T0Z0&", +"7U7V7W7E7X7Y7Z7&4x7P8 808182838485868788898a8 7K8b8c8d1 6P0&"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleProxyVisibility.xpm b/2009-x64/cps4.03/icons/cpscToggleProxyVisibility.xpm new file mode 100644 index 0000000..86f4b58 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleProxyVisibility.xpm @@ -0,0 +1,852 @@ +/* XPM */ +static char *TOGGLEP_xpm[]={ +"41 24 825 2", +" c #696A68", +" 0 c #676767", +" 1 c #666867", +" 2 c #666766", +" 3 c #646566", +" 4 c #646364", +" 5 c #626463", +" 6 c #636263", +" 7 c #616262", +" 8 c #606061", +" 9 c #605F5F", +" a c #5E5E5F", +" b c #5D5E5D", +" c c #5E5D5D", +" d c #5D5E5C", +" e c #5C5C5B", +" f c #5B5B5C", +" g c #5B5A5B", +" h c #5A5B59", +" i c #595A59", +" j c #585959", +" k c #595958", +" l c #575757", +" m c #585758", +" n c #575858", +" o c #565657", +" p c #565656", +" q c #555755", +" r c #555555", +" s c #565655", +" t c #555556", +" u c #5C5C55", +" v c #636264", +" w c #616362", +" x c #606161", +" y c #615F60", +" z c #5F5F5F", +" A c #5E5F5E", +" B c #5C5D5D", +" C c #5B5C5C", +" D c #595A5B", +" E c #5A5859", +" F c #595758", +" G c #575856", +" H c #575657", +" I c #555655", +" J c #555554", +" K c #545455", +" L c #555553", +" M c #545454", +" N c #545253", +" O c #535353", +" P c #525252", +" Q c #515251", +" R c #525152", +" S c #515151", +" T c #525151", +" U c #525051", +" V c #525251", +" W c #525250", +" X c #515252", +" Y c #525352", +" Z c #535251", +" & c #515152", +"0 c #585A52", +"00 c #696C55", +"01 c #5E5D5F", +"02 c #5D5D5C", +"03 c #5D5B5C", +"04 c #5B5B5A", +"05 c #5A5A5A", +"06 c #595858", +"07 c #5B5A54", +"08 c #626052", +"09 c #676451", +"0a c #636051", +"0b c #595851", +"0c c #515051", +"0d c #505250", +"0e c #505050", +"0f c #4E4F50", +"0g c #4E4E4E", +"0h c #4F4F4F", +"0i c #4D4E4F", +"0j c #4E4E4D", +"0k c #4D4D4D", +"0l c #4D4D4C", +"0m c #4C4D4D", +"0n c #4D4C4C", +"0o c #4D4C4D", +"0p c #4C4C4C", +"0q c #4D4E4C", +"0r c #4D4D4E", +"0s c #4E4F4E", +"0t c #899055", +"0u c #5D5F51", +"0v c #5B5959", +"0w c #595859", +"0x c #575857", +"0y c #555656", +"0z c #565454", +"0A c #78704E", +"0B c #BBA84D", +"0C c #D9C759", +"0D c #EFDC5B", +"0E c #EDD151", +"0F c #DEC442", +"0G c #C6AC38", +"0H c #A18F37", +"0I c #6B6543", +"0J c #4E4D4A", +"0K c #4B4B4B", +"0L c #4B4C4A", +"0M c #4B4A4A", +"0N c #4A4A4A", +"0O c #4A4A49", +"0P c #494A49", +"0Q c #494A4A", +"0R c #484949", +"0S c #494948", +"0T c #474848", +"0U c #494849", +"0V c #484948", +"0W c #474948", +"0X c #494947", +"0Y c #484848", +"0Z c #4A4949", +"0& c #4A4B4B", +"1 c #4A4B4A", +"10 c #686A50", +"11 c #7F8C4C", +"12 c #4B4C4B", +"13 c #565756", +"14 c #555454", +"15 c #535352", +"16 c #505152", +"17 c #5B584E", +"18 c #A89646", +"19 c #F3DB59", +"1a c #FCF892", +"1b c #FEFDBD", +"1c c #FEFEB9", +"1d c #FCF68C", +"1e c #EDD55E", +"1f c #D4BA3F", +"1g c #C5AD2F", +"1h c #BDA627", +"1i c #908330", +"1j c #525042", +"1k c #464546", +"1l c #464645", +"1m c #454545", +"1n c #444445", +"1o c #454344", +"1p c #444343", +"1q c #444344", +"1r c #434445", +"1s c #444443", +"1t c #444544", +"1u c #444645", +"1v c #454645", +"1w c #464646", +"1x c #474646", +"1y c #4E4E48", +"1z c #A9B258", +"1A c #525747", +"1B c #494949", +"1C c #535151", +"1D c #505151", +"1E c #4D4F4E", +"1F c #5D594A", +"1G c #C2AB39", +"1H c #E9CE52", +"1I c #FCF186", +"1J c #FEFDDB", +"1K c #FEFDFD", +"1L c #FDFDFA", +"1M c #FEFDBA", +"1N c #F1E06B", +"1O c #CFB944", +"1P c #BCA52F", +"1Q c #B39D26", +"1R c #AF9B1E", +"1S c #9B8B22", +"1T c #4E4B3C", +"1U c #414141", +"1V c #414040", +"1W c #403F3F", +"1X c #414140", +"1Y c #3F3F3F", +"1Z c #3F4040", +"1& c #403F40", +"2 c #3E3F3F", +"20 c #3F3F3E", +"21 c #3F3F40", +"22 c #404041", +"23 c #404141", +"24 c #424242", +"25 c #414241", +"26 c #434343", +"27 c #929554", +"28 c #809046", +"29 c #454644", +"2a c #464545", +"2b c #4B4B4C", +"2c c #4F4E48", +"2d c #AE9931", +"2e c #CCB33A", +"2f c #DCC256", +"2g c #F9EF8A", +"2h c #FDFEDB", +"2i c #FEFEF9", +"2j c #FEFDEF", +"2k c #FEFCA8", +"2l c #E9D662", +"2m c #C7B23F", +"2n c #B39E2A", +"2o c #A89622", +"2p c #A28F1A", +"2q c #9F8F17", +"2r c #91851D", +"2s c #454338", +"2t c #3C3B3B", +"2u c #3B3C3B", +"2v c #3A3C3C", +"2w c #3C3A3B", +"2x c #3B3B3C", +"2y c #3A3B3C", +"2z c #3A3B3B", +"2A c #3B3B3D", +"2B c #3D3C3C", +"2C c #3C3D3E", +"2D c #3D3D3D", +"2E c #3E3E3E", +"2F c #40403E", +"2G c #5E5E46", +"2H c #AEC34F", +"2I c #4B5040", +"2J c #424142", +"2K c #424442", +"2L c #484A49", +"2M c #494747", +"2N c #7A7038", +"2O c #BFA727", +"2P c #B6A036", +"2Q c #C7B346", +"2R c #EAD767", +"2S c #FBF68E", +"2T c #FDFCAA", +"2U c #FCF697", +"2V c #F0E06D", +"2W c #D2BE49", +"2X c #B9A733", +"2Y c #AA9724", +"2Z c #9E8F1B", +"2& c #978815", +"3 c #958613", +"30 c #978810", +"31 c #6D6523", +"32 c #393737", +"33 c #373636", +"34 c #383737", +"35 c #363737", +"36 c #373637", +"37 c #373736", +"38 c #373737", +"39 c #373638", +"3a c #373838", +"3b c #393939", +"3c c #39393A", +"3d c #3B3939", +"3e c #3B3A3A", +"3f c #41413D", +"3g c #B9C258", +"3h c #748E3A", +"3i c #3E3F3E", +"3j c #464746", +"3k c #4A4843", +"3l c #A69124", +"3m c #AE9A24", +"3n c #A7942B", +"3o c #BCA935", +"3p c #CEB744", +"3q c #DAC452", +"3r c #DCCA59", +"3s c #D5C152", +"3t c #C5B242", +"3u c #B29F30", +"3v c #A59223", +"3w c #9A891A", +"3x c #948513", +"3y c #8E8211", +"3z c #8C7F0E", +"3A c #897F0D", +"3B c #857C0E", +"3C c #3C3C31", +"3D c #343434", +"3E c #333234", +"3F c #333332", +"3G c #323333", +"3H c #323432", +"3I c #333435", +"3J c #353534", +"3K c #353736", +"3L c #3A3939", +"3M c #84834C", +"3N c #A4C743", +"3O c #454C38", +"3P c #3C3C3C", +"3Q c #3E3E3F", +"3R c #454543", +"3S c #595439", +"3T c #A28B1A", +"3U c #A28D1E", +"3V c #A18C22", +"3W c #A08B25", +"3X c #A28B2D", +"3Y c #A48E30", +"3Z c #A48E32", +"3& c #9E8B2D", +"4 c #968325", +"40 c #8F7E1D", +"41 c #877916", +"42 c #847411", +"43 c #80740F", +"44 c #7F710C", +"45 c #7C720B", +"46 c #7D740C", +"47 c #827B0B", +"48 c #4A4724", +"49 c #312F2F", +"4a c #2F2F30", +"4b c #2F2E2E", +"4c c #2E2E2E", +"4d c #302F2F", +"4e c #30302F", +"4f c #323231", +"4g c #434236", +"4h c #777846", +"4i c #909E49", +"4j c #92AC44", +"4k c #7B953E", +"4l c #556638", +"4m c #51523D", +"4n c #C8D959", +"4o c #6E8F31", +"4p c #393B39", +"4q c #3B3B3B", +"4r c #3B3C3C", +"4s c #3B3A3B", +"4t c #444345", +"4u c #424342", +"4v c #69602B", +"4w c #907A16", +"4x c #968120", +"4y c #988620", +"4z c #99851A", +"4A c #97811B", +"4B c #917E1D", +"4C c #8C791A", +"4D c #857318", +"4E c #7E6B14", +"4F c #786612", +"4G c #72610E", +"4H c #6E620C", +"4I c #6E620A", +"4J c #6C6108", +"4K c #6C6306", +"4L c #706606", +"4M c #7C710A", +"4N c #605A1B", +"4O c #2C2C2C", +"4P c #2B2D2C", +"4Q c #2C2B2C", +"4R c #2B2B2C", +"4S c #2C2D2C", +"4T c #2E2E2D", +"4U c #696C4D", +"4V c #C2D26A", +"4W c #A0C540", +"4X c #7AA230", +"4Y c #719C2B", +"4Z c #7FB32F", +"4& c #A3DA3E", +"5 c #D0E15D", +"50 c #9AC739", +"51 c #444F32", +"52 c #383738", +"53 c #383A38", +"54 c #393A3A", +"55 c #343534", +"56 c #675E26", +"57 c #8F7E11", +"58 c #887B1B", +"59 c #877624", +"5a c #877D1A", +"5b c #897F11", +"5c c #897B11", +"5d c #847410", +"5e c #7F6F0F", +"5f c #78670D", +"5g c #70630A", +"5h c #6A5C09", +"5i c #635807", +"5j c #5F5405", +"5k c #5D5305", +"5l c #625805", +"5m c #695E06", +"5n c #76761C", +"5o c #69641E", +"5p c #2A2A29", +"5q c #29292A", +"5r c #292828", +"5s c #292A29", +"5t c #2C2C2A", +"5u c #7F7F4F", +"5v c #B9D45E", +"5w c #567028", +"5x c #2C3223", +"5y c #202220", +"5z c #202221", +"5A c #242721", +"5B c #6E7A3B", +"5C c #C3E354", +"5D c #7BAC2A", +"5E c #3E4731", +"5F c #363637", +"5G c #2B2B2B", +"5H c #404040", +"5I c #635B23", +"5J c #847910", +"5K c #7C7118", +"5L c #7B6D1A", +"5M c #7A6B22", +"5N c #7A7216", +"5O c #77740C", +"5P c #79720A", +"5Q c #786D09", +"5R c #756708", +"5S c #6E6205", +"5T c #695C04", +"5U c #605605", +"5V c #5E5304", +"5W c #5F5406", +"5X c #635707", +"5Y c #6C6A10", +"5Z c #65601D", +"5& c #292928", +"6 c #272829", +"60 c #292727", +"61 c #282829", +"62 c #45502D", +"63 c #B9D454", +"64 c #4D6623", +"65 c #1F211E", +"66 c #181818", +"67 c #161617", +"68 c #161816", +"69 c #2F3020", +"6a c #C7D35C", +"6b c #92C733", +"6c c #7BAC29", +"6d c #567821", +"6e c #383736", +"6f c #2E2F2E", +"6g c #222222", +"6h c #424141", +"6i c #40403F", +"6j c #534E2C", +"6k c #7B730D", +"6l c #726818", +"6m c #6F6611", +"6n c #6E621E", +"6o c #6E621D", +"6p c #6B6812", +"6q c #6A6A0A", +"6r c #6A6B06", +"6s c #6C6604", +"6t c #6E6404", +"6u c #6C6004", +"6v c #695E03", +"6w c #665B05", +"6x c #655905", +"6y c #625705", +"6z c #645606", +"6A c #6D721D", +"6B c #575523", +"6C c #2B2A2A", +"6D c #2A292A", +"6E c #989F4A", +"6F c #99D134", +"6G c #688A2D", +"6H c #252C1A", +"6I c #161516", +"6J c #171716", +"6K c #21211E", +"6L c #AFAF52", +"6M c #AFD845", +"6N c #688E24", +"6O c #455A23", +"6P c #6B9B20", +"6Q c #3B442C", +"6R c #323233", +"6S c #242423", +"6T c #1C1D1C", +"6U c #414342", +"6V c #3F4140", +"6W c #464437", +"6X c #706A08", +"6Y c #6A6018", +"6Z c #66610F", +"6& c #645C14", +"7 c #64591B", +"70 c #655C18", +"71 c #636111", +"72 c #656608", +"73 c #676904", +"74 c #6A6903", +"75 c #6E6603", +"76 c #6E6303", +"77 c #6D6005", +"78 c #6A5E05", +"79 c #685B06", +"7a c #695C08", +"7b c #6C7015", +"7c c #414027", +"7d c #2D2D2D", +"7e c #2D2C2D", +"7f c #31312C", +"7g c #B6CB4D", +"7h c #5B7E23", +"7i c #85BA2E", +"7j c #89BF32", +"7k c #405222", +"7l c #252622", +"7m c #62633A", +"7n c #CBE254", +"7o c #8EC230", +"7p c #3E4B2B", +"7q c #2F3629", +"7r c #6FA026", +"7s c #3B501F", +"7t c #282626", +"7u c #1E1F1F", +"7v c #1E1C1C", +"7w c #434243", +"7x c #635F14", +"7y c #6A6612", +"7z c #645C16", +"7A c #635B11", +"7B c #625918", +"7C c #63571D", +"7D c #645C19", +"7E c #656211", +"7F c #65670B", +"7G c #6C6803", +"7H c #6F6804", +"7I c #716504", +"7J c #706305", +"7K c #6D6006", +"7L c #6E6109", +"7M c #676418", +"7N c #33322F", +"7O c #313030", +"7P c #2F302F", +"7Q c #393C30", +"7R c #B0D846", +"7S c #3D5020", +"7T c #42591F", +"7U c #90CB30", +"7V c #9BD536", +"7W c #84A33B", +"7X c #D1D960", +"7Y c #A0D238", +"7Z c #6D9229", +"7& c #373834", +"8 c #3B3D35", +"80 c #739E29", +"81 c #3F571A", +"82 c #202020", +"83 c #1D1D1C", +"84 c #1E1D1D", +"85 c #434444", +"86 c #4B4835", +"87 c #6D6B0B", +"88 c #696019", +"89 c #635C19", +"8a c #635A19", +"8b c #65581D", +"8c c #65591C", +"8d c #666016", +"8e c #66630F", +"8f c #666808", +"8g c #696C04", +"8h c #6E6A04", +"8i c #726906", +"8j c #736705", +"8k c #736607", +"8l c #736509", +"8m c #464229", +"8n c #343233", +"8o c #333232", +"8p c #373832", +"8q c #9ACE3D", +"8r c #486320", +"8s c #1D1F1A", +"8t c #6B9828", +"8u c #94CD32", +"8v c #A1D638", +"8w c #AFDC44", +"8x c #8DC32E", +"8y c #475331", +"8z c #3C3F38", +"8A c #75A22A", +"8B c #394C1B", +"8C c #1D1E1C", +"8D c #1D1E1E", +"8E c #1E201E", +"8F c #454546", +"8G c #434342", +"8H c #414242", +"8I c #575428", +"8J c #6F6C0C", +"8K c #68601A", +"8L c #665B1E", +"8M c #665A20", +"8N c #655B1D", +"8O c #675E17", +"8P c #686211", +"8Q c #69670C", +"8R c #6A6C05", +"8S c #6E6D04", +"8T c #766C05", +"8U c #786B06", +"8V c #766708", +"8W c #514A19", +"8X c #323331", +"8Y c #353635", +"8Z c #353536", +"8& c #353634", +"9 c #7FAA3A", +"90 c #74A22C", +"91 c #23241E", +"92 c #39422C", +"93 c #83B72D", +"94 c #95CD30", +"95 c #94CE32", +"96 c #6D932B", +"97 c #393B37", +"98 c #505F35", +"99 c #7BAA26", +"9a c #2B351C", +"9b c #1E1F1D", +"9c c #1F1E1F", +"9d c #222223", +"9e c #484748", +"9f c #454544", +"9g c #434442", +"9h c #57542A", +"9i c #6F6D0D", +"9j c #6C6712", +"9k c #696118", +"9l c #696018", +"9m c #696215", +"9n c #696611", +"9o c #696B0A", +"9p c #6C7004", +"9q c #746F04", +"9r c #7B6E05", +"9s c #776C07", +"9t c #4F4812", +"9u c #20201D", +"9v c #212123", +"9w c #313131", +"9x c #393839", +"9y c #383839", +"9z c #393938", +"9A c #383938", +"9B c #4C5938", +"9C c #91CB35", +"9D c #4E6628", +"9E c #2F2F2E", +"9F c #495E28", +"9G c #8EC82D", +"9H c #8EC52F", +"9I c #485733", +"9J c #3A3B3A", +"9K c #444939", +"9L c #729F2C", +"9M c #597D1D", +"9N c #20231F", +"9O c #201F1F", +"9P c #222021", +"9Q c #2A2A2B", +"9R c #484849", +"9S c #474748", +"9T c #454746", +"9U c #444546", +"9V c #454343", +"9W c #514E36", +"9X c #6C6815", +"9Y c #727109", +"9Z c #6F700A", +"9& c #6E6D0B", +"a c #6E7008", +"a0 c #727205", +"a1 c #777206", +"a2 c #7D7106", +"a3 c #685E0C", +"a4 c #383418", +"a5 c #1F1F1C", +"a6 c #1E1D1E", +"a7 c #1E1E1E", +"a8 c #303030", +"a9 c #373837", +"aa c #3D3B3C", +"ab c #3C3D3C", +"ac c #5E7C2E", +"ad c #95CF36", +"ae c #6F893A", +"af c #2F3425", +"ag c #689027", +"ah c #709B2A", +"ai c #3D413C", +"aj c #4C573B", +"ak c #729D2E", +"al c #67911F", +"am c #2B351D", +"an c #202021", +"ao c #252425", +"ap c #363736", +"aq c #4C4B4B", +"ar c #4A484A", +"as c #474847", +"at c #474744", +"au c #504E37", +"av c #615C28", +"aw c #68631C", +"ax c #6F6915", +"ay c #676014", +"az c #514A13", +"aA c #3A3519", +"aB c #23221E", +"aC c #1F1E1E", +"aD c #201E1F", +"aE c #201F20", +"aF c #1F1F20", +"aG c #222121", +"aH c #3C3E3C", +"aI c #383935", +"aJ c #4D6923", +"aK c #8CC032", +"aL c #ACD545", +"aM c #83B433", +"aN c #669327", +"aO c #688F2A", +"aP c #72A324", +"aQ c #5D831D", +"aR c #2F3820", +"aS c #212122", +"aT c #4A4A4B", +"aU c #494A4B", +"aV c #49494A", +"aW c #464747", +"aX c #222221", +"aY c #202121", +"aZ c #212120", +"a& c #212021", +"b c #212222", +"b0 c #343435", +"b1 c #3F403F", +"b2 c #2E3524", +"b3 c #526E29", +"b4 c #679126", +"b5 c #58811C", +"b6 c #4F751A", +"b7 c #3D4F24", +"b8 c #292C24", +"b9 c #212321", +"ba c #232223", +"bb c #232222", +"bc c #4F4F50", +"bd c #4F4F4E", +"be c #4C4B4D", +"bf c #4A4C4B", +"bg c #4A494A", +"bh c #484A48", +"bi c #222323", +"bj c #232322", +"bk c #212221", +"bl c #222322", +"bm c #252626", +"bn c #444545", +"bo c #282827", +"bp c #262526", +"bq c #262927", +"br c #252523", +"bs c #242322", +"bt c #242325", +"bu c #252325", +"bv c #232423", +"bw c #242525", +"bx c #252524", +"by c #2F2F2F", +"bz c #504F4F", +"bA c #4F4E4F", +"bB c #282828", +"bC c #242425", +"bD c #242323", +"bE c #232524", +"bF c #242424", +"bG c #232424", +"bH c #232523", +"bI c #242324", +"bJ c #272527", +"bK c #484847", +"bL c #2A2B2A", +"bM c #252424", +"bN c #242524", +"bO c #252426", +"bP c #252526", +"bQ c #262625", +"bR c #2B2A2C", +"bS c #383937", +"bT c #4C4B4C", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p p q r s s t u f g h i j k l", +" 4 v w x y z A B C g D E k F G H I J K K L M N O P Q R S T U S V R W S X Y Z &0 00", +" z010203040506 n p0708090a0b &0c0d0e0e0f0g0h0i0j0k0l0m0n0o0o0p0n0q0l0q0l0r0s0h0t0u", +"0v0w m0x0y K0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0R0Y0R0V0Z0&1 101112", +"1314 N15161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1n1m1o1p1p1q1r1q1s1t1n1u1v1w1x1y1z1A1B", +"1C1D0e1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 201Z2122231V2425261s2728292a", +"0j0l2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2x2w2t2A2B2C2D2E2F2G2H2I2J2K", +"2b2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233343536373538393a3b3c3d3e2x3f3g3h3i1Y22", +"0Y3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3F3F3G3H3I3D3J3K35343L3M3N3O3P2D3Q", +"1w3R3S3T3U3V3W3X3Y3Z3&4 404142434445464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s", +"4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455", +"4u22565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E343a5F5G", +"245H5I5J5K5L5M5N5O5P5Q5R5S5T5l5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e356f6g", +"6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B4Q6C5p6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T", +"6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v", +"7w251X7x7y7z7A7B7C7D7E7F737G7H7I7J7K7L7M7N7O4d7P7Q7R7S7T7U7V7W7X7Y7Z7&8 8081828384", +"854u22868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o6R3G8p8q8r8s8t8u8v8w8x8y528z8A8B8C8D8E", +"8F268G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X3K5F8Y8Z8&9 90919293949596973L98999a9b9c9d", +"9e3j9f1q9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q", +"9R0X9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a76ga8a92xaaabacadaeafagahaiajakalamananaoap", +"aq0Kar0Xas1x1latauavawaxayazaAaBaCaDaEaF8EaG5paH1Y3iaIaJaKaLaMaNaOaPaQaRaS6g6g5Gab", +"0k0p12aTaUaV0YasasaW1k1r7PaXaYaZ82aYanana&a&b b01V2Jb19Eb2b3b4b5b6b7b8b9babb5ra94u", +"bc0hbd0r0kbe12bf0Nbgbh1w6DbiaG9dbjbbbkblb b babma926bn6ibobpbqbrbsbtbubvbwbxby1U0Y", +"15 R & SbzbA0s0k0m0k2b8HbBbrbCbDbEbDbFbGbvbFbHbIbJ2xbK9S3PbLbMbNaobOaobPbQbRbSbKbT"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleShading.xpm b/2009-x64/cps4.03/icons/cpscToggleShading.xpm new file mode 100644 index 0000000..a96bf7b --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleShading.xpm @@ -0,0 +1,1299 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1272 2", +" c #727070", +" 0 c #717272", +" 1 c #6F6F70", +" 2 c #6E6D6E", +" 3 c #6D6C6C", +" 4 c #6D6C6D", +" 5 c #6B6B6B", +" 6 c #6A6A6B", +" 7 c #686869", +" 8 c #686867", +" 9 c #666766", +" a c #656767", +" b c #9A8E55", +" c c #E7E67A", +" d c #999863", +" e c #626162", +" f c #5F5F60", +" g c #605F60", +" h c #5E5E5F", +" i c #5C5D5D", +" j c #5F5E5E", +" k c #5C5C5C", +" l c #5B5B5C", +" m c #5C5C5A", +" n c #5B595B", +" o c #585958", +" p c #58595A", +" q c #595859", +" r c #575757", +" s c #575756", +" t c #575857", +" u c #565756", +" v c #555656", +" w c #575655", +" x c #565455", +" y c #555454", +" z c #555555", +" A c #545554", +" B c #545353", +" C c #535452", +" D c #555554", +" E c #535453", +" F c #535553", +" G c #545354", +" H c #545455", +" I c #5A5A55", +" J c #B9B962", +" K c #BFB24C", +" L c #65604F", +" M c #565557", +" N c #565656", +" O c #565757", +" P c #585756", +" Q c #585757", +" R c #575758", +" S c #595959", +" T c #595A59", +" U c #6D6E6D", +" V c #6C6C6D", +" W c #6C6C6B", +" X c #686968", +" Y c #696967", +" Z c #686868", +" & c #676766", +"0 c #666565", +"00 c #737367", +"01 c #8F8D6E", +"02 c #A1965C", +"03 c #ABA053", +"04 c #B7A33F", +"05 c #AF892E", +"06 c #FBE232", +"07 c #CBBF62", +"08 c #5C5B5C", +"09 c #5B5B5A", +"0a c #595B5A", +"0b c #585758", +"0c c #585859", +"0d c #585856", +"0e c #565657", +"0f c #545555", +"0g c #555456", +"0h c #545352", +"0i c #545453", +"0j c #525353", +"0k c #525253", +"0l c #535252", +"0m c #525251", +"0n c #515051", +"0o c #525151", +"0p c #4F4F4F", +"0q c #504F4F", +"0r c #4F4F50", +"0s c #514F51", +"0t c #4F4F4E", +"0u c #4F514F", +"0v c #504F50", +"0w c #4E4E4F", +"0x c #635F4A", +"0y c #70693F", +"0z c #918131", +"0A c #EDD44F", +"0B c #FCD038", +"0C c #BFA94C", +"0D c #898050", +"0E c #5C5A51", +"0F c #535352", +"0G c #525452", +"0H c #545454", +"0I c #555455", +"0J c #565556", +"0K c #6B6B69", +"0L c #989272", +"0M c #BEBD8A", +"0N c #82826D", +"0O c #868676", +"0P c #989581", +"0Q c #B2A35A", +"0R c #C6B977", +"0S c #C1B564", +"0T c #B09C53", +"0U c #8C7D39", +"0V c #7B6E4A", +"0W c #666353", +"0X c #5B5C5C", +"0Y c #5A5A59", +"0Z c #958933", +"0& c #716947", +"1 c #A49148", +"10 c #616058", +"11 c #535353", +"12 c #515351", +"13 c #515050", +"14 c #505051", +"15 c #51504F", +"16 c #50504F", +"17 c #4E4E4E", +"18 c #4D4D4E", +"19 c #4D4E4E", +"1a c #4F4E4E", +"1b c #4E4D4D", +"1c c #4B4C4B", +"1d c #4D4C4D", +"1e c #4A4B4B", +"1f c #4B4B4B", +"1g c #4B4B4C", +"1h c #4A4A4A", +"1i c #4A4A4C", +"1j c #4B4B4A", +"1k c #575549", +"1l c #6F673E", +"1m c #8F8133", +"1n c #897B23", +"1o c #92842B", +"1p c #898038", +"1q c #8C843F", +"1r c #A5993F", +"1s c #B29D3A", +"1t c #9F9542", +"1u c #B2A147", +"1v c #C4B249", +"1w c #C3B255", +"1x c #887F50", +"1y c #59574E", +"1z c #515152", +"1A c #515253", +"1B c #525352", +"1C c #535354", +"1D c #666666", +"1E c #D4B03A", +"1F c #FBEF58", +"1G c #D8D247", +"1H c #9F8F4D", +"1I c #8C8040", +"1J c #756D4F", +"1K c #656557", +"1L c #5D5D5D", +"1M c #5B5A5B", +"1N c #595A5A", +"1O c #585959", +"1P c #585857", +"1Q c #565555", +"1R c #776727", +"1S c #5A5850", +"1T c #5A584A", +"1U c #A19443", +"1V c #757057", +"1W c #4E4F4F", +"1X c #4D4D4C", +"1Y c #4C4C4B", +"1Z c #4B4A4A", +"1& c #4A4A4B", +"2 c #484A4A", +"20 c #494848", +"21 c #494847", +"22 c #494948", +"23 c #474748", +"24 c #464748", +"25 c #464847", +"26 c #484746", +"27 c #464546", +"28 c #5D5D49", +"29 c #BFBC5A", +"2a c #BAAB4D", +"2b c #887C36", +"2c c #91822C", +"2d c #9A8D2B", +"2e c #8D8331", +"2f c #8C8338", +"2g c #8B8540", +"2h c #8A8440", +"2i c #8A8542", +"2j c #8A8540", +"2k c #91873A", +"2l c #9D9439", +"2m c #9F9846", +"2n c #9E9746", +"2o c #9D9747", +"2p c #9E9440", +"2q c #A7953D", +"2r c #D3BB55", +"2s c #BFAF55", +"2t c #8F8B5C", +"2u c #98965C", +"2v c #B3B25C", +"2w c #6B674F", +"2x c #626362", +"2y c #887C4F", +"2z c #CDB729", +"2A c #CCB643", +"2B c #62615B", +"2C c #5C5C5E", +"2D c #5A5A5A", +"2E c #5A5859", +"2F c #766F4F", +"2G c #A89349", +"2H c #D0B742", +"2I c #D3B549", +"2J c #CDBD5A", +"2K c #A4934A", +"2L c #7B6924", +"2M c #5B594A", +"2N c #4D4E4D", +"2O c #4E4F4B", +"2P c #958848", +"2Q c #8A8457", +"2R c #49484A", +"2S c #494949", +"2T c #484849", +"2U c #474747", +"2V c #464646", +"2W c #454646", +"2X c #454546", +"2Y c #444445", +"2Z c #444344", +"2& c #444243", +"3 c #434344", +"30 c #434343", +"31 c #424141", +"32 c #434242", +"33 c #424242", +"34 c #717145", +"35 c #FFD733", +"36 c #F4C53D", +"37 c #A4973C", +"38 c #89823D", +"39 c #89843F", +"3a c #8A853E", +"3b c #89813A", +"3c c #887C2E", +"3d c #7E732A", +"3e c #796B22", +"3f c #71631D", +"3g c #776D22", +"3h c #867C2E", +"3i c #99923E", +"3j c #9D9647", +"3k c #A09946", +"3l c #9E9845", +"3m c #9F9745", +"3n c #A4983E", +"3o c #B6A53C", +"3p c #F0E68A", +"3q c #FFBF1D", +"3r c #A7802D", +"3s c #60605F", +"3t c #5F5F5F", +"3u c #766A2B", +"3v c #8A7824", +"3w c #B6A750", +"3x c #575858", +"3y c #5B5956", +"3z c #9F8D41", +"3A c #F0D975", +"3B c #FBE66B", +"3C c #FFFC9E", +"3D c #FFFFB3", +"3E c #FFF775", +"3F c #F7D44D", +"3G c #E7C433", +"3H c #AD9636", +"3I c #504E48", +"3J c #7D7550", +"3K c #CBC76F", +"3L c #C6C57C", +"3M c #66644E", +"3N c #414242", +"3O c #404141", +"3P c #414141", +"3Q c #3F4040", +"3R c #404040", +"3S c #3F3F3F", +"3T c #3E3E3F", +"3U c #3E3E3E", +"3V c #3E3F3F", +"3W c #403E3F", +"3X c #3F3D3E", +"3Y c #3D3D3E", +"3Z c #A48732", +"3& c #826D25", +"4 c #A99137", +"40 c #D4C256", +"41 c #A29944", +"42 c #87813D", +"43 c #857A33", +"44 c #837426", +"45 c #7F7124", +"46 c #7B6F23", +"47 c #776E22", +"48 c #766C22", +"49 c #736A20", +"4a c #71691F", +"4b c #726921", +"4c c #8C8231", +"4d c #A79D40", +"4e c #9F9332", +"4f c #918321", +"4g c #645A10", +"4h c #675B19", +"4i c #BDAA2C", +"4j c #D99E1B", +"4k c #73613E", +"4l c #4E4D4E", +"4m c #5D5C5C", +"4n c #6E6928", +"4o c #696044", +"4p c #878138", +"4q c #AAA158", +"4r c #585752", +"4s c #B5A02F", +"4t c #CCB037", +"4u c #E7C956", +"4v c #FFFAA1", +"4w c #FFFFF7", +"4x c #FFFFFE", +"4y c #FFFDA9", +"4z c #F7DE5C", +"4A c #E1BF3C", +"4B c #DBB92E", +"4C c #B99F2D", +"4D c #555346", +"4E c #706A4B", +"4F c #867A42", +"4G c #CCB339", +"4H c #FEE32C", +"4I c #9F8F2F", +"4J c #3E3D3D", +"4K c #3C3D3E", +"4L c #3C3D3C", +"4M c #3C3B3C", +"4N c #3C3B3B", +"4O c #3C3A3A", +"4P c #3B3B3A", +"4Q c #3A3B3B", +"4R c #3A3A39", +"4S c #3B3B3B", +"4T c #393939", +"4U c #39393A", +"4V c #3B3A3B", +"4W c #383A39", +"4X c #3A3A3A", +"4Y c #625632", +"4Z c #6C6428", +"4& c #726C32", +"5 c #786B30", +"50 c #C3A148", +"51 c #D9C559", +"52 c #A39334", +"53 c #827326", +"54 c #7E7224", +"55 c #7B6E22", +"56 c #786D22", +"57 c #756B22", +"58 c #726821", +"59 c #867723", +"5a c #948520", +"5b c #92801A", +"5c c #665C0C", +"5d c #585018", +"5e c #514D26", +"5f c #52502F", +"5g c #534B21", +"5h c #575336", +"5i c #4B4A4B", +"5j c #4C4C4C", +"5k c #625D43", +"5l c #8C7D2B", +"5m c #555552", +"5n c #9F903A", +"5o c #C4AD46", +"5p c #CCAA2F", +"5q c #B9A035", +"5r c #D8C14A", +"5s c #FFF993", +"5t c #FFFFDA", +"5u c #FFFEDF", +"5v c #FFF68B", +"5w c #F3DA5A", +"5x c #E0C84F", +"5y c #D5C55F", +"5z c #C6AF3A", +"5A c #AF9A32", +"5B c #59532C", +"5C c #6D5E31", +"5D c #CBB31F", +"5E c #585435", +"5F c #393938", +"5G c #383739", +"5H c #373838", +"5I c #373736", +"5J c #3C3D38", +"5K c #948246", +"5L c #4A4839", +"5M c #A18C42", +"5N c #3B3C36", +"5O c #343435", +"5P c #363535", +"5Q c #363634", +"5R c #353435", +"5S c #5E4D32", +"5T c #6B6326", +"5U c #797034", +"5V c #796F34", +"5W c #72652D", +"5X c #8C6C20", +"5Y c #CAA73F", +"5Z c #DACA61", +"5& c #D2CE59", +"6 c #D9D65D", +"60 c #A08B2A", +"61 c #8D7E1E", +"62 c #8E7E19", +"63 c #65590D", +"64 c #383008", +"65 c #493B0E", +"66 c #252009", +"67 c #434222", +"68 c #504D2D", +"69 c #524F2D", +"6a c #524F2E", +"6b c #5C5320", +"6c c #504F39", +"6d c #484949", +"6e c #4A4B49", +"6f c #5E5C41", +"6g c #766728", +"6h c #515151", +"6i c #585643", +"6j c #A0922D", +"6k c #C4AF55", +"6l c #C1A85D", +"6m c #CBB438", +"6n c #E5CD53", +"6o c #FDEF83", +"6p c #EADD76", +"6q c #CDC155", +"6r c #B6A23F", +"6s c #9C8718", +"6t c #B98F20", +"6u c #B1961E", +"6v c #BEA41B", +"6w c #565036", +"6x c #3B3A3A", +"6y c #3D3A33", +"6z c #705F1E", +"6A c #353535", +"6B c #353536", +"6C c #353534", +"6D c #333334", +"6E c #333333", +"6F c #666446", +"6G c #DEBD50", +"6H c #EFA836", +"6I c #454434", +"6J c #FDC240", +"6K c #D19F3E", +"6L c #5F5336", +"6M c #323132", +"6N c #303131", +"6O c #303032", +"6P c #594A32", +"6Q c #726926", +"6R c #796F33", +"6S c #766C30", +"6T c #7A6724", +"6U c #725E1E", +"6V c #725F1B", +"6W c #B1A230", +"6X c #FFF041", +"6Y c #FEB210", +"6Z c #A27708", +"6& c #3A3308", +"7 c #30290C", +"70 c #3B320C", +"71 c #3D340C", +"72 c #644813", +"73 c #362B0B", +"74 c #2D2810", +"75 c #504C2C", +"76 c #504C2E", +"77 c #5C5219", +"78 c #4E4C3A", +"79 c #484948", +"7a c #565655", +"7b c #57544B", +"7c c #82731B", +"7d c #675E37", +"7e c #AE9124", +"7f c #FFF6CD", +"7g c #FEF8B9", +"7h c #CBBD62", +"7i c #A29242", +"7j c #96821D", +"7k c #967D21", +"7l c #B6A03E", +"7m c #A3832F", +"7n c #9D801F", +"7o c #B2881E", +"7p c #92791B", +"7q c #A89015", +"7r c #68602A", +"7s c #373737", +"7t c #3B382E", +"7u c #665B1C", +"7v c #343333", +"7w c #323332", +"7x c #303130", +"7y c #373632", +"7z c #9E9550", +"7A c #FFC146", +"7B c #E98620", +"7C c #EA962C", +"7D c #434031", +"7E c #F1AA32", +"7F c #FEA02F", +"7G c #F8A937", +"7H c #967436", +"7I c #2D2E2D", +"7J c #2E2E2F", +"7K c #2E2E2D", +"7L c #504130", +"7M c #736724", +"7N c #776C2E", +"7O c #806920", +"7P c #74601D", +"7Q c #6E5C1C", +"7R c #837424", +"7S c #E9D534", +"7T c #E99E09", +"7U c #825C0A", +"7V c #473D12", +"7W c #2C270A", +"7X c #262009", +"7Y c #231F08", +"7Z c #231D09", +"7& c #211D09", +"8 c #232108", +"80 c #4A4729", +"81 c #4F4C2D", +"82 c #4F4D2D", +"83 c #62581A", +"84 c #4A4840", +"85 c #474746", +"86 c #535454", +"87 c #515153", +"88 c #83741B", +"89 c #5D574A", +"8a c #645A2D", +"8b c #9A830D", +"8c c #FED317", +"8d c #FFE620", +"8e c #BDA618", +"8f c #B38D25", +"8g c #A5892A", +"8h c #8D7517", +"8i c #8A7216", +"8j c #877015", +"8k c #877013", +"8l c #897314", +"8m c #A77426", +"8n c #967416", +"8o c #80711E", +"8p c #3B372D", +"8q c #665D1F", +"8r c #303031", +"8s c #5C5A3E", +"8t c #DEC555", +"8u c #FEAD32", +"8v c #F08E20", +"8w c #FDA12A", +"8x c #F0A532", +"8y c #413E2F", +"8z c #FEAC33", +"8A c #FEAE31", +"8B c #F99B28", +"8C c #F7982B", +"8D c #D09435", +"8E c #4C4330", +"8F c #2C2B2C", +"8G c #473C2F", +"8H c #907627", +"8I c #746A2F", +"8J c #74682B", +"8K c #B18B2E", +"8L c #A4852B", +"8M c #9F8632", +"8N c #6A5A1C", +"8O c #6C5F1A", +"8P c #5B4D0F", +"8Q c #5D4310", +"8R c #27210A", +"8S c #25210A", +"8T c #241F0A", +"8U c #231E09", +"8V c #221D08", +"8W c #352F0A", +"8X c #454223", +"8Y c #4F4B2C", +"8Z c #645916", +"8& c #454642", +"9 c #474647", +"90 c #474648", +"91 c #545553", +"92 c #716726", +"93 c #655E41", +"94 c #5F5824", +"95 c #776D15", +"96 c #AA9513", +"97 c #AA9919", +"98 c #888012", +"99 c #7C720F", +"9a c #827110", +"9b c #86730E", +"9c c #826E0D", +"9d c #7E6B0E", +"9e c #78650C", +"9f c #796511", +"9g c #987020", +"9h c #AB7023", +"9i c #79681D", +"9j c #333335", +"9k c #3B392C", +"9l c #76651F", +"9m c #2E2F2F", +"9n c #918544", +"9o c #FFCB47", +"9p c #EB8E21", +"9q c #FDA32A", +"9r c #FFB030", +"9s c #FFB231", +"9t c #ECA431", +"9u c #3D392B", +"9v c #F9A62E", +"9w c #FFAE30", +"9x c #FFB031", +"9y c #F6A129", +"9z c #FEA936", +"9A c #F8AC39", +"9B c #836031", +"9C c #36322C", +"9D c #8D7925", +"9E c #6D672C", +"9F c #706529", +"9G c #B98B29", +"9H c #987D24", +"9I c #7A691F", +"9J c #68591B", +"9K c #73611C", +"9L c #584F0B", +"9M c #31290C", +"9N c #28210A", +"9O c #26210A", +"9P c #25200A", +"9Q c #221E09", +"9R c #211F0A", +"9S c #211D08", +"9T c #2F270A", +"9U c #444223", +"9V c #4D4C2C", +"9W c #4E4A2C", +"9X c #625516", +"9Y c #3D3E3D", +"9Z c #454645", +"9& c #474646", +"a c #525152", +"a0 c #6C6526", +"a1 c #6E633A", +"a2 c #575332", +"a3 c #6B670E", +"a4 c #6A640F", +"a5 c #7E6E16", +"a6 c #6E621A", +"a7 c #706513", +"a8 c #747309", +"a9 c #797209", +"aa c #7C6E08", +"ab c #7C6A09", +"ac c #78670A", +"ad c #725F0F", +"ae c #846B1A", +"af c #906B17", +"ag c #60531E", +"ah c #3E382A", +"ai c #635A21", +"aj c #302F2F", +"ak c #51402B", +"al c #C78527", +"am c #FAC747", +"an c #FEC23F", +"ao c #FFB836", +"ap c #FEB434", +"aq c #EA9E2E", +"ar c #3E3B2D", +"as c #F09E2A", +"at c #F9A32B", +"au c #FEB030", +"av c #FFBE52", +"aw c #FEC46E", +"ax c #B26E1C", +"ay c #443727", +"az c #2C2A2C", +"aA c #73661F", +"aB c #65612C", +"aC c #645E29", +"aD c #886D23", +"aE c #766221", +"aF c #6B5D1D", +"aG c #5F531A", +"aH c #5A510B", +"aI c #362C0A", +"aJ c #27220A", +"aK c #271F0A", +"aL c #221F09", +"aM c #201E09", +"aN c #2F2A0D", +"aO c #4A4928", +"aP c #4F4C2B", +"aQ c #494827", +"aR c #564C15", +"aS c #2B2B2C", +"aT c #403F41", +"aU c #515251", +"aV c #5D573D", +"aW c #7A6E2F", +"aX c #4D4D47", +"aY c #6F6A09", +"aZ c #695E19", +"a& c #7C6E13", +"b c #6A5F1D", +"b0 c #6E5B17", +"b1 c #706C0F", +"b2 c #737308", +"b3 c #7A7308", +"b4 c #81730A", +"b5 c #816F0B", +"b6 c #816D0D", +"b7 c #806D0E", +"b8 c #826915", +"b9 c #3C3723", +"ba c #333433", +"bb c #3E3C2B", +"bc c #5E5621", +"bd c #2F3030", +"be c #33302E", +"bf c #8D6327", +"bg c #FAB839", +"bh c #FFCE47", +"bi c #FFB531", +"bj c #EFA32F", +"bk c #403B2E", +"bl c #EB9826", +"bm c #F59F2A", +"bn c #FEC569", +"bo c #E89E3D", +"bp c #7E5120", +"bq c #2B2A2A", +"br c #2D2B2B", +"bs c #2C2C2C", +"bt c #827126", +"bu c #625F2B", +"bv c #625D2B", +"bw c #746524", +"bx c #6C5A1E", +"by c #6A5A1E", +"bz c #72621D", +"bA c #60530E", +"bB c #30290B", +"bC c #28220A", +"bD c #242009", +"bE c #231F0A", +"bF c #2C2A12", +"bG c #4C492A", +"bH c #4A4828", +"bI c #444120", +"bJ c #595312", +"bK c #232222", +"bL c #2A2B2B", +"bM c #3D3D3D", +"bN c #525252", +"bO c #525051", +"bP c #514F50", +"bQ c #A79A52", +"bR c #D7C95A", +"bS c #9D9866", +"bT c #7E7424", +"bU c #6C6715", +"bV c #75661A", +"bW c #70621D", +"bX c #6C581A", +"bY c #706817", +"bZ c #726D10", +"b& c #777609", +"c c #7F7509", +"c0 c #86740A", +"c1 c #86720D", +"c2 c #87730E", +"c3 c #806D12", +"c4 c #383319", +"c5 c #2F2E2D", +"c6 c #403E2D", +"c7 c #615922", +"c8 c #313131", +"c9 c #303030", +"ca c #2F2F2F", +"cb c #55412A", +"cc c #D8942C", +"cd c #FFC847", +"ce c #EBA233", +"cf c #433D31", +"cg c #F4A931", +"ch c #FEC46B", +"ci c #B16F1C", +"cj c #453727", +"ck c #2D2D2D", +"cl c #2D2D2C", +"cm c #2E2D2E", +"cn c #6F6220", +"co c #645F2C", +"cp c #62602C", +"cq c #776A28", +"cr c #6D5D1F", +"cs c #67591C", +"ct c #61541A", +"cu c #70601D", +"cv c #5D500D", +"cw c #31270C", +"cx c #27210B", +"cy c #251F0A", +"cz c #221F0A", +"cA c #37300C", +"cB c #3A371B", +"cC c #413F21", +"cD c #3F3C1E", +"cE c #3E3A1D", +"cF c #4D4415", +"cG c #232322", +"cH c #242423", +"cI c #515150", +"cJ c #BC9F2C", +"cK c #E0CA31", +"cL c #8C8737", +"cM c #4B4B48", +"cN c #6B6911", +"cO c #766911", +"cP c #766420", +"cQ c #6E5D1D", +"cR c #736319", +"cS c #746C12", +"cT c #78740D", +"cU c #7D780A", +"cV c #8A780B", +"cW c #846F0F", +"cX c #7B6812", +"cY c #3B3A2F", +"cZ c #565117", +"c& c #514E24", +"d c #42412E", +"d0 c #625B22", +"d1 c #343433", +"d2 c #343233", +"d3 c #333232", +"d4 c #313231", +"d5 c #303232", +"d6 c #363430", +"d7 c #916227", +"d8 c #E89022", +"d9 c #444132", +"da c #E89C24", +"db c #7E5523", +"dc c #313130", +"dd c #5D5C32", +"de c #E0CC4F", +"df c #B28D2A", +"dg c #807323", +"dh c #7A7125", +"di c #766C25", +"dj c #6F6120", +"dk c #5F541B", +"dl c #6B5E1A", +"dm c #685711", +"dn c #49380E", +"do c #27220B", +"dp c #26200A", +"dq c #251F09", +"dr c #473D10", +"ds c #433916", +"dt c #3D3A1C", +"du c #3D391D", +"dv c #3E391A", +"dw c #4C4616", +"dx c #242424", +"dy c #232423", +"dz c #252424", +"dA c #515352", +"dB c #605E4C", +"dC c #737037", +"dD c #B19936", +"dE c #514E49", +"dF c #4E4C47", +"dG c #6A6419", +"dH c #786C10", +"dI c #685E0B", +"dJ c #6B620F", +"dK c #675A0F", +"dL c #7A740A", +"dM c #867A09", +"dN c #7D660F", +"dO c #756513", +"dP c #38362B", +"dQ c #1E1F1E", +"dR c #363632", +"dS c #514912", +"dT c #746A30", +"dU c #635F29", +"dV c #363738", +"dW c #363736", +"dX c #333434", +"dY c #353434", +"dZ c #343434", +"d& c #57422D", +"e c #3A3835", +"e0 c #4E4330", +"e1 c #585934", +"e2 c #FECF27", +"e3 c #C19830", +"e4 c #767033", +"e5 c #746E32", +"e6 c #736E33", +"e7 c #70682A", +"e8 c #72631D", +"e9 c #7D6C1E", +"ea c #544C0C", +"eb c #2C240A", +"ec c #3C320D", +"ed c #2B250A", +"ee c #372F09", +"ef c #272109", +"eg c #292713", +"eh c #312F19", +"ei c #3C3518", +"ej c #493F14", +"ek c #443C16", +"el c #55471C", +"em c #504B18", +"en c #242525", +"eo c #252525", +"ep c #242426", +"eq c #515252", +"er c #50504E", +"es c #7D7136", +"et c #7D7231", +"eu c #65621E", +"ev c #706527", +"ew c #6D681D", +"ex c #787112", +"ey c #79700C", +"ez c #786E15", +"eA c #71651B", +"eB c #3E381A", +"eC c #232324", +"eD c #262625", +"eE c #343535", +"eF c #343223", +"eG c #F1CF3E", +"eH c #F8DB2C", +"eI c #46453C", +"eJ c #393A38", +"eK c #383839", +"eL c #393838", +"eM c #373837", +"eN c #373738", +"eO c #363737", +"eP c #373635", +"eQ c #373637", +"eR c #363836", +"eS c #565034", +"eT c #585035", +"eU c #AF9442", +"eV c #756F33", +"eW c #757033", +"eX c #747033", +"eY c #736D30", +"eZ c #796E27", +"e& c #544B0C", +"f c #29210B", +"f0 c #28200C", +"f1 c #28230E", +"f2 c #292611", +"f3 c #302D16", +"f4 c #303019", +"f5 c #322F19", +"f6 c #313119", +"f7 c #34311B", +"f8 c #584B1A", +"f9 c #D2A526", +"fa c #F6C218", +"fb c #544820", +"fc c #252626", +"fd c #505050", +"fe c #51514C", +"ff c #6C6513", +"fg c #625B3E", +"fh c #5E5B2B", +"fi c #70652A", +"fj c #4A494A", +"fk c #222322", +"fl c #2B2D2B", +"fm c #1E1F20", +"fn c #1E1E1E", +"fo c #212121", +"fp c #3C381E", +"fq c #5C5215", +"fr c #695E1A", +"fs c #B58F17", +"ft c #CBB724", +"fu c #44423D", +"fv c #3C3C3D", +"fw c #3B3B3C", +"fx c #3A3B3A", +"fy c #393B39", +"fz c #3A393A", +"fA c #3A3939", +"fB c #39383A", +"fC c #393A3A", +"fD c #393A39", +"fE c #3A393B", +"fF c #4C4838", +"fG c #997D34", +"fH c #817736", +"fI c #777336", +"fJ c #787236", +"fK c #82782F", +"fL c #534D14", +"fM c #403E27", +"fN c #3E3B24", +"fO c #37351C", +"fP c #313118", +"fQ c #323019", +"fR c #333118", +"fS c #31311A", +"fT c #353217", +"fU c #3F3910", +"fV c #48410E", +"fW c #CFBC28", +"fX c #F1AB0E", +"fY c #4E4021", +"fZ c #252725", +"f& c #262726", +"g c #555542", +"g0 c #776C10", +"g1 c #645D36", +"g2 c #7C6E24", +"g3 c #4A484A", +"g4 c #2A292A", +"g5 c #2E302F", +"g6 c #202021", +"g7 c #29261F", +"g8 c #4B4118", +"g9 c #5B4F16", +"ga c #4E4718", +"gb c #25241D", +"gc c #3C3B3D", +"gd c #292A2A", +"ge c #3F3F40", +"gf c #3F3E3E", +"gg c #3F3F3E", +"gh c #3D3C3D", +"gi c #3C3C3C", +"gj c #3C3C3B", +"gk c #3B3D3D", +"gl c #3E3E3D", +"gm c #46443C", +"gn c #A48938", +"go c #877933", +"gp c #787437", +"gq c #807831", +"gr c #565017", +"gs c #413F27", +"gt c #3A3821", +"gu c #343219", +"gv c #353219", +"gw c #423D13", +"gx c #4D470D", +"gy c #524D0F", +"gz c #332F1D", +"gA c #242526", +"gB c #333326", +"gC c #2C2A25", +"gD c #272625", +"gE c #272827", +"gF c #272727", +"gG c #555556", +"gH c #5D5B2A", +"gI c #7D6F12", +"gJ c #847721", +"gK c #3B3C3B", +"gL c #2A2A29", +"gM c #363631", +"gN c #3C361B", +"gO c #5E5115", +"gP c #625713", +"gQ c #38331C", +"gR c #212220", +"gS c #212120", +"gT c #212020", +"gU c #242223", +"gV c #1F201F", +"gW c #424243", +"gX c #424241", +"gY c #414040", +"gZ c #414041", +"g& c #404042", +"h c #3E3F3E", +"h0 c #292829", +"h1 c #383737", +"h2 c #262425", +"h3 c #404041", +"h4 c #907B34", +"h5 c #968334", +"h6 c #7F7632", +"h7 c #595413", +"h8 c #3F3E27", +"h9 c #35341C", +"ha c #3A3614", +"hb c #48420E", +"hc c #4A450F", +"hd c #38351A", +"he c #262522", +"hf c #262525", +"hg c #262426", +"hh c #272725", +"hi c #272626", +"hj c #292828", +"hk c #282927", +"hl c #282828", +"hm c #585858", +"hn c #575656", +"ho c #908948", +"hp c #A2912D", +"hq c #635E48", +"hr c #60551B", +"hs c #635616", +"ht c #443E1C", +"hu c #272622", +"hv c #222423", +"hw c #232323", +"hx c #212123", +"hy c #212323", +"hz c #212122", +"hA c #363435", +"hB c #232424", +"hC c #444545", +"hD c #454444", +"hE c #454445", +"hF c #434443", +"hG c #434543", +"hH c #434342", +"hI c #414341", +"hJ c #242325", +"hK c #222323", +"hL c #222121", +"hM c #252625", +"hN c #353636", +"hO c #444444", +"hP c #807242", +"hQ c #D9CF6A", +"hR c #B49F36", +"hS c #6C5D1E", +"hT c #554B0D", +"hU c #413D14", +"hV c #32301E", +"hW c #252524", +"hX c #262626", +"hY c #282726", +"hZ c #282928", +"h& c #282727", +"i c #292928", +"i0 c #29282A", +"i1 c #2A2A2A", +"i2 c #5A5C5B", +"i3 c #5B5A59", +"i4 c #575959", +"i5 c #CAA53C", +"i6 c #FBE02A", +"i7 c #C9BA33", +"i8 c #48462F", +"i9 c #242524", +"ia c #232524", +"ib c #242422", +"ic c #262526", +"id c #474848", +"ie c #474847", +"if c #464746", +"ig c #2F2F30", +"ih c #242324", +"ii c #222223", +"ij c #222222", +"ik c #FFFE4A", +"il c #FEBC26", +"im c #9F7412", +"in c #262627", +"io c #252726", +"ip c #262527", +"iq c #282829", +"ir c #282A2A", +"is c #29292A", +"it c #5D5E5D", +"iu c #59585A", +"iv c #74643E", +"iw c #DBC723", +"ix c #827A3B", +"iy c #252526", +"iz c #252425", +"iA c #2E2E30", +"iB c #4A4B4A", +"iC c #494B4B", +"iD c #3E403E", +"iE c #292929", +"iF c #494A49", +"iG c #494A4A", +"iH c #7F8043", +"iI c #B68214", +"iJ c #483C21", +"iK c #282627", +"iL c #272726", +"iM c #292728", +"iN c #282728", +"iO c #2B2A29", +"iP c #2A2A2B", +"iQ c #2A2C2B", +"iR c #2B2C2A", +"iS c #2D2C2C", +" 0 1 1 2 3 4 5 6 7 8 7 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A z B C D E F G H D I J K L H M x N O P Q R S S T", +" U V W 5 X Y Z &0 0001020304050607 k08090a0b0c0d0e0f0g G0h0i0j0k0l0m0n0o0p0q0r0s0t0p0u0v0w0v0v0x0y0z0A0B0C0D0E0F G0G0H0H0I0J M u", +"0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 100J G110j12131415161718191a1b1c1d1e1f1g1h1i1j1c1e1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y0o1z1A1B1C y", +"1D1E1F1G1H1I1J1K1L081M1N1O1P1Q1R1S1T1U1V1W0t1X1d1Y1g1Z1&2 20212223222425262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w0o", +"2x2y2z2A2B2C l2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W272W2X2Y2Z2&3 303132333435363738393a393b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r0q", +"3s3t3u3v3w T3x3y3z3A3B3C3D3E3F3G3H3I202U3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3V3U3X3Y3T3Z3&4 404142434445464748494a4b4c4d4e4f4g4h4i4j4k4l", +"4m0X4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5f5g5h5i5j", +"0a o5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A555B5C5D5E4X5F5G5H5I5J5K5L5M5N5O5P5Q5R5P5S5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e", +" R u6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475687677782U79", +"7a A7b7c0n7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M6S7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 80818283848523", +" A868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o5P8p8q8r7J8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8V8W8X8Y768Z8&9 90", +"91110n92939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&", +"11a 6ha0a1a2a3a4a5a6a7a8a9aaabacadaeafag6EahaiajakalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaG3faHaIaJaK9PaL9RaMaNaOaPaQaRaSaT27", +"1BaU0qaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babbbcbd7JbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbyaGbzbAbBbC7XbD9QaLbEbFbGbHbIbJbKbLbM", +"bNbObPbQbRbSbTbUbVbWbXbYbZb&c c0c1c2c3c4c5c6c7c88rc9cacbcccdcecfcgchcicjckclcmcmcncocpcqcrcsctcucvcwbCcxcy8UczcAcBcCcDcEcFcGcHcH", +" BbOcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbajcac9dc8rdddedfdgdhdidjdkdldmdndo8Rdpdq7Zdrdsdtdudvdwdxdydz", +" EdA14dBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdW6CdXdY9jdZd&e e0dZba7wd27v6De1e2e3e4e5e6e7e8e9eaebecedeeefegeheiejekelemeneoep", +" A0Feq6hereset1YeuevewexeyezeAeBeC6BeDeEeFeGeHeIeJeK5HeL7seMdWeNeOdWePeQeQeR5IdWeSeTeUeVeWeXeYeZe&f f0f1f2f3f4f5f6f7f8f9fafbepfc", +" H0i0heqfdfefffgfhfifjeLfk3Tflfmfnfofpfqfrfsftfufvfw4S4Qfx4X4Xfy4Xfz4XfAfBfCfA4UfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf&", +"0J H H86aU6hg g0g1g2g3g45Fg5g6g7g8g9gagbgceDgdgegfgg3T4J3U4L3YbMghghgigj4Ugk4Pgh4LglbMgmgngogpgqgrgsgtgufQgvgwgxgygzgAgBgCgDgEgF", +"0c NgG H1C1B1zgHgIgJgKgLgMgNgOgPgQgRgSgTgU6MgV4SgW3NgXgYgZg&3Q3OgYh fwc9h0h1h25Ogeh3h3h33Ph4h5h6h7h8h9hahbhchdhehfhgf&hhhihjhkhl", +" Thm1PhngG0H0H1BhohphqhrhshthuhvfkhwhxhyhzhAhBdX2VhChDhEhFhGhFhHhIghhJhKhLg4hfhMhN3Y3 hFhDhOhPhQhRhShThUhVhWgAhMfZhXhYhZh&i i0i1", +"i2i30Yi4hm N0J yi5i6i7i8hXhWeoi9i9iaiaibibichNgU9Zidie2U902Vif3 4RigihiiiicGcGhwijck7s2U2V9 2UikiliminhfeoioiphlgFgFhjiqirgLisbq", +"it0X1M2Diu1O rhniviwix7IhXhiiphMiyhXiceohMiziAd3c91hiB1hiCieiDhAiEi9dzhJdxizenhWdxhWhZeL1hiFiGiHiIiJf&iKiLiMiNi hjiEiEiOiPiQiRiS"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleShellEvaluation.xpm b/2009-x64/cps4.03/icons/cpscToggleShellEvaluation.xpm new file mode 100644 index 0000000..2df393e --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleShellEvaluation.xpm @@ -0,0 +1,1125 @@ +/* XPM */ +static char *SHELL_xpm[]={ +"64 24 1098 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6A6A", +" 7 c #696969", +" 8 c #696867", +" 9 c #676768", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #555455", +" G c #545554", +" H c #545456", +" I c #565555", +" J c #565556", +" K c #565757", +" L c #575856", +" M c #585757", +" N c #595859", +" O c #585859", +" P c #585A5A", +" Q c #6D6D6D", +" R c #6C6D6C", +" S c #6C6B6B", +" T c #68696A", +" U c #696868", +" V c #666767", +" W c #656665", +" X c #656564", +" Y c #646264", +" Z c #616062", +" & c #606161", +"0 c #5E5F5F", +"00 c #5F5E5E", +"01 c #5D5D5D", +"02 c #5B5B5C", +"03 c #5A5A5B", +"04 c #595B5A", +"05 c #595A59", +"06 c #585857", +"07 c #575858", +"08 c #575756", +"09 c #555656", +"0a c #555554", +"0b c #535455", +"0c c #535452", +"0d c #525352", +"0e c #515152", +"0f c #525150", +"0g c #505052", +"0h c #515050", +"0i c #4F5050", +"0j c #504F50", +"0k c #50504F", +"0l c #504F4F", +"0m c #504E4F", +"0n c #4E504F", +"0o c #4F4F4E", +"0p c #4F4F50", +"0q c #505050", +"0r c #4F4F4F", +"0s c #505051", +"0t c #515051", +"0u c #505150", +"0v c #525252", +"0w c #545354", +"0x c #535454", +"0y c #555454", +"0z c #69696A", +"0A c #686868", +"0B c #676868", +"0C c #656667", +"0D c #656666", +"0E c #636263", +"0F c #626261", +"0G c #606162", +"0H c #605F60", +"0I c #5E5F5D", +"0J c #5A5B5B", +"0K c #585A59", +"0L c #565657", +"0M c #555655", +"0N c #525151", +"0O c #4F5051", +"0P c #4E4F4F", +"0Q c #4E4F4E", +"0R c #4D4E4F", +"0S c #4D4E4D", +"0T c #4E4E4D", +"0U c #4C4C4C", +"0V c #4C4B4C", +"0W c #4B4A4C", +"0X c #4A4B4A", +"0Y c #4C4C4A", +"0Z c #4A4C4A", +"0& c #4B4B4A", +"1 c #4A4A4A", +"10 c #4C4A4C", +"11 c #4B4C4B", +"12 c #4B4B4B", +"13 c #4D4B4C", +"14 c #4D4D4C", +"15 c #4D4D4D", +"16 c #4E4D4E", +"17 c #4F4E4F", +"18 c #505251", +"19 c #525152", +"1a c #545454", +"1b c #555355", +"1c c #646564", +"1d c #636463", +"1e c #636262", +"1f c #616061", +"1g c #5E605F", +"1h c #5D5E5E", +"1i c #5C5C5D", +"1j c #5B5A5C", +"1k c #5A595A", +"1l c #575757", +"1m c #535354", +"1n c #505151", +"1o c #4F4E4E", +"1p c #4E4D4F", +"1q c #4C4E4D", +"1r c #4C4D4C", +"1s c #4B4B4C", +"1t c #4B4A4B", +"1u c #4B494B", +"1v c #494A4A", +"1w c #484A49", +"1x c #494948", +"1y c #494848", +"1z c #484847", +"1A c #474747", +"1B c #464748", +"1C c #464846", +"1D c #464746", +"1E c #464646", +"1F c #474546", +"1G c #464647", +"1H c #484846", +"1I c #494747", +"1J c #484848", +"1K c #484949", +"1L c #4A4B4B", +"1M c #4B4A4A", +"1N c #4C4A4B", +"1O c #4B4C4C", +"1P c #4D4C4B", +"1Q c #4E4D4D", +"1R c #4D4D4E", +"1S c #4F4D4E", +"1T c #4F5150", +"1U c #626163", +"1V c #5E5E5E", +"1W c #5E5D5D", +"1X c #5D5B5D", +"1Y c #5B5B5A", +"1Z c #5A5A5A", +"1& c #686557", +"2 c #858563", +"20 c #5C5C57", +"21 c #515352", +"22 c #515150", +"23 c #4D4D4B", +"24 c #4A4B4C", +"25 c #494A48", +"26 c #474948", +"27 c #474848", +"28 c #454645", +"29 c #454446", +"2a c #454444", +"2b c #434444", +"2c c #444444", +"2d c #434342", +"2e c #434242", +"2f c #424243", +"2g c #424242", +"2h c #414242", +"2i c #424241", +"2j c #434142", +"2k c #434243", +"2l c #424443", +"2m c #444544", +"2n c #454445", +"2o c #464644", +"2p c #454747", +"2q c #464747", +"2r c #474847", +"2s c #474748", +"2t c #4A4949", +"2u c #494949", +"2v c #646550", +"2w c #50514C", +"2x c #4D4C4C", +"2y c #4D4C4D", +"2z c #5F5F5E", +"2A c #5D5E5F", +"2B c #5D5C5C", +"2C c #5E5D5B", +"2D c #64635D", +"2E c #777462", +"2F c #7F7757", +"2G c #959062", +"2H c #928546", +"2I c #DAC33A", +"2J c #76714D", +"2K c #504E50", +"2L c #4D4E4E", +"2M c #4C4B4B", +"2N c #49494A", +"2O c #464645", +"2P c #434443", +"2Q c #404040", +"2R c #4B483E", +"2S c #766B3B", +"2T c #6D6443", +"2U c #45445B", +"2V c #3F3E4E", +"2W c #3E3E3F", +"2X c #3D3E3E", +"2Y c #3E3E3D", +"2Z c #3E3D3E", +"2& c #3E3E3E", +"3 c #3F3E3F", +"30 c #3E3F3F", +"31 c #3F3F3E", +"32 c #3F3E40", +"33 c #3F4140", +"34 c #414041", +"35 c #444243", +"36 c #444344", +"37 c #444445", +"38 c #454745", +"39 c #4D4D43", +"3a c #645D3E", +"3b c #7D713A", +"3c c #E0D653", +"3d c #8B8148", +"3e c #4D4D4A", +"3f c #4A4A4C", +"3g c #A6A56F", +"3h c #AEAD6C", +"3i c #8E8761", +"3j c #8E8252", +"3k c #928A53", +"3l c #777351", +"3m c #68634E", +"3n c #565651", +"3o c #535350", +"3p c #7E743F", +"3q c #7F733E", +"3r c #66604B", +"3s c #4C4C4B", +"3t c #464545", +"3u c #454343", +"3v c #414042", +"3w c #3F4040", +"3x c #3F3F3F", +"3y c #3D3D3D", +"3z c #3C3C3B", +"3A c #43403B", +"3B c #90813B", +"3C c #DEC64E", +"3D c #F6DE5F", +"3E c #CEB864", +"3F c #4C4A8C", +"3G c #3F3D7E", +"3H c #363761", +"3I c #363642", +"3J c #3A3839", +"3K c #393A39", +"3L c #3A3A3A", +"3M c #3A3938", +"3N c #3B3B3A", +"3O c #665942", +"3P c #D9A447", +"3Q c #4A453D", +"3R c #3E3D3D", +"3S c #403E3E", +"3T c #5A5847", +"3U c #6A6848", +"3V c #5D5839", +"3W c #726537", +"3X c #D2A533", +"3Y c #E7B237", +"3Z c #605B38", +"3& c #515141", +"4 c #897932", +"40 c #756B48", +"41 c #8F844C", +"42 c #585548", +"43 c #494B49", +"44 c #988B44", +"45 c #CAB738", +"46 c #666250", +"47 c #565755", +"48 c #535352", +"49 c #515251", +"4a c #6C6234", +"4b c #555248", +"4c c #7A703E", +"4d c #66634C", +"4e c #454543", +"4f c #414240", +"4g c #413F40", +"4h c #3E3F3E", +"4i c #3D3D3E", +"4j c #3C3C3C", +"4k c #3C3A3A", +"4l c #3A393B", +"4m c #38393A", +"4n c #393837", +"4o c #3F3C37", +"4p c #AC9635", +"4q c #F4D85B", +"4r c #FDFAAC", +"4s c #FEFCD6", +"4t c #D4CF9B", +"4u c #474682", +"4v c #393873", +"4w c #303163", +"4x c #282751", +"4y c #2C2C3B", +"4z c #363535", +"4A c #353535", +"4B c #353736", +"4C c #363736", +"4D c #373737", +"4E c #6E5B3C", +"4F c #FDDA3F", +"4G c #EFB141", +"4H c #47443D", +"4I c #3B3B3C", +"4J c #959147", +"4K c #DBC43B", +"4L c #615B34", +"4M c #AF8941", +"4N c #FDF147", +"4O c #FDBE45", +"4P c #474642", +"4Q c #716432", +"4R c #454544", +"4S c #575547", +"4T c #9E904D", +"4U c #70694A", +"4V c #4E4D4A", +"4W c #4C4B4A", +"4X c #5A5A53", +"4Y c #887527", +"4Z c #918547", +"4& c #665E36", +"5 c #5E5B46", +"50 c #64624F", +"51 c #CBB751", +"52 c #AEAA52", +"53 c #3F3F41", +"54 c #3E3D3B", +"55 c #9D8B41", +"56 c #58533B", +"57 c #393838", +"58 c #373537", +"59 c #353534", +"5a c #363534", +"5b c #80732F", +"5c c #D8BB3D", +"5d c #F3DF73", +"5e c #FDFED9", +"5f c #FEFDF3", +"5g c #CECDA4", +"5h c #3D3C71", +"5i c #313061", +"5j c #292954", +"5k c #212145", +"5l c #1B1A34", +"5m c #2C2B2F", +"5n c #313231", +"5o c #313232", +"5p c #323333", +"5q c #5B5339", +"5r c #8C7537", +"5s c #725B38", +"5t c #FED93D", +"5u c #F1B741", +"5v c #474239", +"5w c #393B3A", +"5x c #544B37", +"5y c #7C6B34", +"5z c #FDD44B", +"5A c #FDFB45", +"5B c #FDC044", +"5C c #4D4840", +"5D c #414140", +"5E c #424142", +"5F c #6F6331", +"5G c #444345", +"5H c #444645", +"5I c #4D4C45", +"5J c #857D4A", +"5K c #D1C558", +"5L c #928845", +"5M c #565654", +"5N c #766A2F", +"5O c #79703C", +"5P c #7E744A", +"5Q c #535151", +"5R c #545451", +"5S c #65655B", +"5T c #736C4E", +"5U c #989056", +"5V c #837B3D", +"5W c #6A6444", +"5X c #7E7034", +"5Y c #7E7835", +"5Z c #404241", +"5& c #403F40", +"6 c #3D3E3D", +"60 c #3D3C3B", +"61 c #3B3A3A", +"62 c #3C3A38", +"63 c #D0A73D", +"64 c #E8BA3D", +"65 c #7E703B", +"66 c #373733", +"67 c #403D2F", +"68 c #BCA126", +"69 c #C3AA38", +"6a c #E0CA59", +"6b c #F9EF8A", +"6c c #F5EE8F", +"6d c #BAAF67", +"6e c #312F5D", +"6f c #26274F", +"6g c #202042", +"6h c #191934", +"6i c #121223", +"6j c #17161F", +"6k c #2E2F2F", +"6l c #2F302F", +"6m c #3A3831", +"6n c #8E783D", +"6o c #EFB437", +"6p c #AB8930", +"6q c #363533", +"6r c #705936", +"6s c #FED73D", +"6t c #EEB03C", +"6u c #444038", +"6v c #4E4836", +"6w c #C79836", +"6x c #FDF442", +"6y c #FDFD48", +"6z c #645B40", +"6A c #3F3F40", +"6B c #44433F", +"6C c #7A6B2F", +"6D c #5D5739", +"6E c #766B32", +"6F c #685E2D", +"6G c #6A6335", +"6H c #BDA22E", +"6I c #78693A", +"6J c #71682E", +"6K c #5A594B", +"6L c #BEB46A", +"6M c #BFBC76", +"6N c #989269", +"6O c #B9A642", +"6P c #D9BC46", +"6Q c #D0B143", +"6R c #958437", +"6S c #59563C", +"6T c #544C3A", +"6U c #5D5835", +"6V c #40403E", +"6W c #3E3E3C", +"6X c #3D3D3B", +"6Y c #3A3A38", +"6Z c #3A3B38", +"6& c #CCA33A", +"7 c #FEC239", +"70 c #F8BF3A", +"71 c #C3A13C", +"72 c #484332", +"73 c #57502C", +"74 c #D3AC33", +"75 c #B49D2B", +"76 c #BEA336", +"77 c #C2A841", +"78 c #B99F3E", +"79 c #86763B", +"7a c #222346", +"7b c #1C1C3B", +"7c c #17172F", +"7d c #161423", +"7e c #0D0C17", +"7f c #1A1519", +"7g c #2C2C2A", +"7h c #534C34", +"7i c #CC9B3A", +"7j c #FAB032", +"7k c #FDAF30", +"7l c #AD7A30", +"7m c #363433", +"7n c #373633", +"7o c #765C37", +"7p c #FED73B", +"7q c #F6B73D", +"7r c #C1973B", +"7s c #FDFD35", +"7t c #F0AD3D", +"7u c #524D3C", +"7v c #A7A054", +"7w c #BBB04C", +"7x c #977F2E", +"7y c #957A25", +"7z c #917B26", +"7A c #545036", +"7B c #464540", +"7C c #464445", +"7D c #6F5F34", +"7E c #484745", +"7F c #645E3E", +"7G c #5F5A45", +"7H c #93853C", +"7I c #C5BF2E", +"7J c #625E47", +"7K c #F0CB3E", +"7L c #FDD53E", +"7M c #FDDA4E", +"7N c #E7CB6B", +"7O c #D2B86C", +"7P c #CDB36B", +"7Q c #C0A14D", +"7R c #BD9C4A", +"7S c #CCAE6E", +"7T c #CAB16F", +"7U c #CCB271", +"7V c #CAB171", +"7W c #CAB071", +"7X c #C9AE6E", +"7Y c #F0BA42", +"7Z c #FDBE37", +"7& c #FEBE35", +"8 c #FCBC36", +"80 c #E2AC38", +"81 c #8D7031", +"82 c #CC932E", +"83 c #A98D2B", +"84 c #A38E2B", +"85 c #A29021", +"86 c #9B861E", +"87 c #71631F", +"88 c #181730", +"89 c #131226", +"8a c #0D0C1D", +"8b c #0E0E13", +"8c c #100C0F", +"8d c #1C1514", +"8e c #5B4B2A", +"8f c #ECA835", +"8g c #FEAE2F", +"8h c #FEAC2F", +"8i c #DE9028", +"8j c #C79932", +"8k c #C7A942", +"8l c #C9AC42", +"8m c #FED445", +"8n c #FEFE48", +"8o c #FDFE48", +"8p c #FDFE50", +"8q c #D6B446", +"8r c #CCAE41", +"8s c #E3B939", +"8t c #F1BB1E", +"8u c #F8B02C", +"8v c #FCAF2F", +"8w c #9D802C", +"8x c #424343", +"8y c #6D6030", +"8z c #5D5943", +"8A c #66613C", +"8B c #53524A", +"8C c #7C6C2E", +"8D c #68644F", +"8E c #EAC13A", +"8F c #F1C63B", +"8G c #F0C03C", +"8H c #C99D36", +"8I c #907527", +"8J c #7C6033", +"8K c #6E5733", +"8L c #79632A", +"8M c #6B5436", +"8N c #695034", +"8O c #685232", +"8P c #664F31", +"8Q c #654E2F", +"8R c #644D2F", +"8S c #D7A535", +"8T c #FEC138", +"8U c #EFAB30", +"8V c #8C6A2C", +"8W c #675127", +"8X c #BE8428", +"8Y c #8C7A20", +"8Z c #897725", +"8& c #847820", +"9 c #807B12", +"90 c #615B12", +"91 c #0C0C1C", +"92 c #090913", +"93 c #07060C", +"94 c #0D0B0B", +"95 c #100C0E", +"96 c #181214", +"97 c #352E27", +"98 c #956D2B", +"99 c #F4A52D", +"9a c #FEB02F", +"9b c #FDB030", +"9c c #C2842B", +"9d c #61492B", +"9e c #614B2B", +"9f c #664D2C", +"9g c #D69538", +"9h c #FDFD36", +"9i c #FEFE31", +"9j c #FDDA2B", +"9k c #755A34", +"9l c #6C5434", +"9m c #8B7134", +"9n c #C19324", +"9o c #ED9929", +"9p c #F2A32F", +"9q c #D3AD39", +"9r c #555240", +"9s c #434244", +"9t c #4B4843", +"9u c #6D6330", +"9v c #6B684A", +"9w c #B8AB44", +"9x c #837D4C", +"9y c #827326", +"9z c #746B4B", +"9A c #635B45", +"9B c #5A5447", +"9C c #555045", +"9D c #4A4946", +"9E c #46453F", +"9F c #6B632A", +"9G c #4C493A", +"9H c #61592A", +"9I c #3B3B3B", +"9J c #393A38", +"9K c #363838", +"9L c #C89E37", +"9M c #FBBD35", +"9N c #CC922F", +"9O c #57462F", +"9P c #433F25", +"9Q c #867310", +"9R c #7A6B1C", +"9S c #746818", +"9T c #72631F", +"9U c #6C6417", +"9V c #504F0B", +"9W c #05050B", +"9X c #04050B", +"9Y c #09070C", +"9Z c #09090E", +"9& c #0F0F15", +"a c #2A2A2B", +"a0 c #2F2D2D", +"a1 c #5F4B2C", +"a2 c #D8912C", +"a3 c #FCAD2F", +"a4 c #AC7D2D", +"a5 c #333232", +"a6 c #373534", +"a7 c #A77C3D", +"a8 c #FEEB3E", +"a9 c #FCB838", +"aa c #A5883F", +"ab c #FDBE32", +"ac c #7F6C33", +"ad c #756A30", +"ae c #716129", +"af c #53483B", +"ag c #554B3D", +"ah c #4F4C40", +"ai c #887E4A", +"aj c #5D5741", +"ak c #444342", +"al c #4E4B43", +"am c #665C33", +"an c #535252", +"ao c #6A644A", +"ap c #C3AB31", +"aq c #6E6A48", +"ar c #70642B", +"as c #525147", +"at c #484849", +"au c #464847", +"av c #444545", +"aw c #313130", +"ax c #47453A", +"ay c #6F6528", +"az c #736727", +"aA c #403E3D", +"aB c #3D3D3C", +"aC c #3A3C3B", +"aD c #373939", +"aE c #383636", +"aF c #BB8F33", +"aG c #977230", +"aH c #3D3932", +"aI c #313031", +"aJ c #32312F", +"aK c #656010", +"aL c #6D6616", +"aM c #665E17", +"aN c #655A19", +"aO c #635A1A", +"aP c #494710", +"aQ c #060509", +"aR c #06050B", +"aS c #06060C", +"aT c #07080E", +"aU c #1B1A20", +"aV c #2D2D2E", +"aW c #2F2F2F", +"aX c #3F3930", +"aY c #A2782D", +"aZ c #A57F2E", +"a& c #373634", +"b c #A27A3D", +"b0 c #FEE93E", +"b1 c #FEC740", +"b2 c #454237", +"b3 c #64633E", +"b4 c #FDD43E", +"b5 c #FDF338", +"b6 c #E9A93B", +"b7 c #554D39", +"b8 c #5E582B", +"b9 c #403F3F", +"ba c #414040", +"bb c #464340", +"bc c #695F3C", +"bd c #5C563C", +"be c #56513F", +"bf c #5F5838", +"bg c #5B5949", +"bh c #9B8A42", +"bi c #6A632F", +"bj c #595642", +"bk c #49484A", +"bl c #242322", +"bm c #3B3934", +"bn c #7D7036", +"bo c #D9C428", +"bp c #504F3D", +"bq c #3C3D3D", +"br c #3C3B3B", +"bs c #393A3A", +"bt c #393938", +"bu c #464036", +"bv c #363536", +"bw c #333434", +"bx c #333433", +"by c #323332", +"bz c #433F27", +"bA c #6C6A09", +"bB c #675F18", +"bC c #65581D", +"bD c #625A1C", +"bE c #4C4612", +"bF c #04050C", +"bG c #06060D", +"bH c #06060E", +"bI c #0B0B12", +"bJ c #252728", +"bK c #313132", +"bL c #323232", +"bM c #363633", +"bN c #423E34", +"bO c #A07A3B", +"bP c #FDE73C", +"bQ c #FCBB3D", +"bR c #444239", +"bS c #48453B", +"bT c #D4AE3D", +"bU c #FEE53C", +"bV c #FCBC3C", +"bW c #6A612D", +"bX c #41403F", +"bY c #414141", +"bZ c #353433", +"b& c #544C2E", +"c c #9B8C46", +"c0 c #766F40", +"c1 c #515253", +"c2 c #51514F", +"c3 c #716947", +"c4 c #8F7F34", +"c5 c #605A3D", +"c6 c #52504E", +"c7 c #585541", +"c8 c #7D7950", +"c9 c #777137", +"ca c #625B3B", +"cb c #746F3A", +"cc c #494841", +"cd c #3F3E3E", +"ce c #3E3C3E", +"cf c #3A3A3C", +"cg c #383838", +"ch c #363637", +"ci c #363635", +"cj c #353536", +"ck c #4E4922", +"cl c #6D6A0A", +"cm c #6A660F", +"cn c #656213", +"co c #4F4D0F", +"cp c #07070D", +"cq c #07060E", +"cr c #06070F", +"cs c #0B0C14", +"ct c #161618", +"cu c #1C1C1C", +"cv c #282928", +"cw c #343334", +"cx c #886B3A", +"cy c #FEE83E", +"cz c #FBB93A", +"cA c #454238", +"cB c #3C3B3C", +"cC c #3D3B3C", +"cD c #4A473A", +"cE c #D1AD40", +"cF c #FDF83A", +"cG c #FED937", +"cH c #464542", +"cI c #424240", +"cJ c #494739", +"cK c #4F492D", +"cL c #665A28", +"cM c #B3A341", +"cN c #B3992C", +"cO c #373638", +"cP c #525353", +"cQ c #535351", +"cR c #52524F", +"cS c #94873E", +"cT c #948D4F", +"cU c #706D56", +"cV c #908C6A", +"cW c #716A43", +"cX c #484526", +"cY c #312F2B", +"cZ c #2E2F2E", +"c& c #414241", +"d c #40403F", +"d0 c #3B3C3B", +"d1 c #3A3B3A", +"d2 c #39383A", +"d3 c #43412F", +"d4 c #605D17", +"d5 c #6A680B", +"d6 c #575409", +"d7 c #0A0912", +"d8 c #0A0B13", +"d9 c #101217", +"da c #19191B", +"db c #1A1B1B", +"dc c #1C1A1A", +"dd c #1C1C1D", +"de c #282727", +"df c #574C3A", +"dg c #D5A23D", +"dh c #484339", +"di c #3B3A3B", +"dj c #3A3B3B", +"dk c #5B5440", +"dl c #E2C34E", +"dm c #EABD3E", +"dn c #635B3B", +"do c #6A5E35", +"dp c #645929", +"dq c #524A25", +"dr c #444126", +"ds c #36352E", +"dt c #3B3A35", +"du c #39393A", +"dv c #525251", +"dw c #887F4C", +"dx c #E4DF3C", +"dy c #686547", +"dz c #4C4B46", +"dA c #2F2F2E", +"dB c #272826", +"dC c #313030", +"dD c #454545", +"dE c #424041", +"dF c #404041", +"dG c #3D3C3D", +"dH c #3B3C3D", +"dI c #3C3A3B", +"dJ c #393A34", +"dK c #2C2A20", +"dL c #1B1B1B", +"dM c #1C1B1C", +"dN c #1C1D1C", +"dO c #1D1D1C", +"dP c #1D1C1D", +"dQ c #1C1E1D", +"dR c #242524", +"dS c #3B3A3C", +"dT c #A19C4C", +"dU c #D4B22E", +"dV c #4E462A", +"dW c #33332C", +"dX c #2F2E2F", +"dY c #363636", +"dZ c #353634", +"d& c #353435", +"e c #565456", +"e0 c #555553", +"e1 c #58554F", +"e2 c #62604C", +"e3 c #4E4E4E", +"e4 c #2B2C2C", +"e5 c #383939", +"e6 c #424141", +"e7 c #484747", +"e8 c #3F403F", +"e9 c #3F3F3D", +"ea c #3F3D3F", +"eb c #212020", +"ec c #1E1D1E", +"ed c #1D1E1F", +"ee c #1D1D1D", +"ef c #1D1F1D", +"eg c #1F1E1D", +"eh c #1E1E1E", +"ei c #1E1D1D", +"ej c #1E1F1E", +"ek c #252624", +"el c #393738", +"em c #3E3E40", +"en c #413F3F", +"eo c #404140", +"ep c #424342", +"eq c #414142", +"er c #39362E", +"es c #383526", +"et c #292828", +"eu c #282728", +"ev c #323132", +"ew c #373837", +"ex c #303031", +"ey c #2B2D2B", +"ez c #575556", +"eA c #565455", +"eB c #2E2E2E", +"eC c #333132", +"eD c #4A494A", +"eE c #494A49", +"eF c #474647", +"eG c #474746", +"eH c #454646", +"eI c #444343", +"eJ c #424344", +"eK c #424341", +"eL c #424040", +"eM c #212323", +"eN c #201F20", +"eO c #1F1F20", +"eP c #201F1F", +"eQ c #1F2020", +"eR c #20201F", +"eS c #1F201F", +"eT c #1F2120", +"eU c #2A2A2A", +"eV c #3D3C3C", +"eW c #2A2829", +"eX c #272728", +"eY c #292A2A", +"eZ c #343435", +"e& c #303231", +"f c #2F3031", +"f0 c #343333", +"f1 c #343535", +"f2 c #595959", +"f3 c #575657", +"f4 c #2D2D2D", +"f5 c #393939", +"f6 c #4C4D4D", +"f7 c #464444", +"f8 c #434544", +"f9 c #3C3C3D", +"fa c #242423", +"fb c #212220", +"fc c #222122", +"fd c #212121", +"fe c #222220", +"ff c #222021", +"fg c #202121", +"fh c #222120", +"fi c #212022", +"fj c #232223", +"fk c #313133", +"fl c #454644", +"fm c #454546", +"fn c #484748", +"fo c #303030", +"fp c #3A393A", +"fq c #353636", +"fr c #2D2B2C", +"fs c #30302F", +"ft c #484948", +"fu c #5C5C5B", +"fv c #595958", +"fw c #555756", +"fx c #3A3939", +"fy c #535251", +"fz c #515252", +"fA c #333435", +"fB c #494849", +"fC c #222322", +"fD c #222424", +"fE c #232322", +"fF c #232222", +"fG c #222222", +"fH c #222223", +"fI c #222323", +"fJ c #232324", +"fK c #262626", +"fL c #3D3B3D", +"fM c #4A4A4B", +"fN c #333333", +"fO c #5C5C5A", +"fP c #5B5A59", +"fQ c #50504E", +"fR c #4E504E", +"fS c #4D4F4D", +"fT c #4C4C4D", +"fU c #434341", +"fV c #494B4A", +"fW c #262526", +"fX c #252424", +"fY c #242523", +"fZ c #252325", +"f& c #242424", +"g c #252524", +"g0 c #242425", +"g1 c #252525", +"g2 c #252425", +"g3 c #262525", +"g4 c #2B2A2B", +"g5 c #434343", +"g6 c #4B4C4A", +"g7 c #4F504F", +"g8 c #474949", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F z G y H I J J I K L M M N O P", +" Q R S 6 T U V V W X Y d Z &0 00010203040506070809 I0a0b0c B0d0e0f0g0h0i0h0i0j0k0l0i0m0n0o0p0q0r0s0s0t0u0f0e0d0v B0w0x0y G u t08", +"0z0A0B0C0D c0E0F0G0H0I01 l m0J0K070L0M F0w A0N0e0h0O0P0Q0R0S0S0T0U0V0U0W0X0Y0Z0&0&0&0X1 1011121311141415160o0P170O0h1819 B C1a1b", +"0D1c1d1e1f0H1g1h1i1j1k O q1l J0x1m0v1n0p1o1p1q1r1s1t1u1v1w1x1y1z1z1A1B1C1A1D1E1F1G1D1A1G1H1z1I1J1J1K1 1L1M1N1O1P1Q1R1S0l0r1T1819", +"1U1f g1V1W1X1Y1Z1&2 201a E21220q0Q0S23241L2526271A1F28292a2b2c2d2e2f2g2e2h2h2g2h2i2j2k2e2l2c2m2n2o282p2q2r2s2t2u232v2w2x2y0Q1o0r", +"2z2A2B2C2D2E2F2G2H2I2J0f2K2L2y2M1t2N2s1A2O2a2P2g2i2h2Q2Q2Q2R2S2T2U2V2W2X2Y2Y2Z2&2&3 3031323334342i2g35363738393a3b3c3d3e3f122y15", +"3g3h3i3j3k3l3m3n3o3p3q3r3s1M1v2r1D3t3u2g3v3w313x2X3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3L3L3N3O3P3Q2Y3R3S3T3U3V3W3X3Y3Z3&4 404142431 11", +"444546471a48490i0Q4a4b4c4d0Y2O4e2d4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4z4A4B4C4D4E4F4G4H4I4j4J4K4L4M4N4O4P2b4Q4R4S4T4U4V4W", +"4X4Y4Z G C1n0j2L1r4&5 5051522f4f534h3R5455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p595q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L", +"5M5N5O5P5Q0k5R5S5T5U5V5W5X5Y5Z5&6 606162636465665n6768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z316A6B6C6D6E6F6G6H6I", +" w6J6K6L6M6N6O6P6Q6R6S2o6T6U2Q6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B2P7C7D7E", +" E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f7k8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w2d5E8x4e8y1A", +"488z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T7&8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r2i9s9t9u1F", +"0x9v9w9x9y9z9A9B9C9D9E9F9G9H3R4j9I9J9K4C9L9M9N9O6l9P9Q9R9S9T9U9V9W9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aa9habacadaeafagahaiajakalam1G", +"anaoapaqaras1 atauavawaxayazaAaBaC3LaDaEaFaGaH5oaIaJaKaLaMaNaOaPaQ9XaRaSaTaUaVaW6laXaYaZa&b b0b1b2b3b4b5b6b7b830b9babbbcbdbebf1A", +" E0ebgbhbibj1tbk1J2Yblbmbnbobp2Ybqbrbsbtbu4DbvbwbxbybzbAbBbCbDbE93bFbGbHbIbJaIbKbybLbMbNbObPbQbR573MbSbTbUbVbW3wbXbY31bZb&c c05E", +"1mc1c2c3c4c50U3sc6c7c8c9cacbcc3xcdce4jcfbs3Mcgchcicjcickclcmcncocpcqcrcsctcucvbycw594AcxcyczcA3L61cBcCcDcEcFcGcHbYcIcJcKcLcMcNcO", +"1acPcQcRcScTcUcVcWcXcYcZ2g362fc&34d 2&4icCd0d1bsd2btcg4nd3d4d5d6d7d8d9dadbdcddde4AcgcgdfdgdhdidjcBaB2&3 dkdldmdndodpdqdrdsdt3Adu", +"091m48dvdwdxdydzdAdBbYdCdjdDdD5G2l2hdEdFd 2X3ydGdHbrbrdI3NdidJdKdLdMdNdOcudPdddQdR4AdSbr3zaBaB3R3x6Ad ba3xdTdUdVdW7gdXdY3ycddZd&", +" te e0 Be1e2e34Ce4e51te6bve72r1F28372P2ge6bY5Dbae83x2We9ea2Yduebececedeeefegeheiejekel2Xcdem3weneo3v2gepeqereseteuevcf5&2&ewexey", +" q1lezeA1m C2meBeC2M0T1 dC1EeDeEe7eFeGeH372aeIeJ2deK2heqeLdFbseMeNeOePeQeNeOeReSeQeTeU2Z5E2iepepepeI2PdD28eVeWeXeYcZeZ4De&f f0f1", +"f2f2 Mf3 I22awf42O0q0j2Lf5c&f60V0&2teD1I27eF1G1E3tf7f72m2nf8f9fafbfcfdfefffgfdfhfdfifjfk2b2c2mflfm1D1Gfn2s1Jd fo3Nfp4Dfqfrfse6ft", +"fu0J1kfvfw2kf4fxan Cfyfz2nfA0U0P1Rf62M3s1M1LeEfB1Jftfn2s1A1B2ZdRfjfjfCfDfEfFfGfHfjfIfJfKfL1D1zatat2u2u1v2NfM433 aB1M0Xft5EfN2l1n", +"01 jfOfP2MbLdYfQ t I0y1mfRcj120s1T0r0lfS1Q152yfT1LfU1J0&fV1M5&fWfXfYfXfZf&g g0f&g1g2g g3g4g5fM1M0Wg60&eDdDfB2Lf6cBdDg7c20hg8cB1o"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleSmoothMethod.xpm b/2009-x64/cps4.03/icons/cpscToggleSmoothMethod.xpm new file mode 100644 index 0000000..3818683 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleSmoothMethod.xpm @@ -0,0 +1,1316 @@ +/* XPM */ +static char *EXP_xpm[]={ +"64 24 1289 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6A6A", +" 7 c #696969", +" 8 c #696867", +" 9 c #676768", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #555455", +" G c #545554", +" H c #545456", +" I c #565555", +" J c #565556", +" K c #565757", +" L c #575856", +" M c #585757", +" N c #595859", +" O c #585859", +" P c #585A5A", +" Q c #6D6D6D", +" R c #6C6D6C", +" S c #6C6B6B", +" T c #68696A", +" U c #696868", +" V c #666767", +" W c #656665", +" X c #656564", +" Y c #646264", +" Z c #616062", +" & c #606161", +"0 c #5E5F5F", +"00 c #5F5E5E", +"01 c #5D5D5D", +"02 c #5B5B5C", +"03 c #5A5A5B", +"04 c #595B5A", +"05 c #595A59", +"06 c #585857", +"07 c #575858", +"08 c #575756", +"09 c #555656", +"0a c #555554", +"0b c #535455", +"0c c #535452", +"0d c #525352", +"0e c #515152", +"0f c #525150", +"0g c #505052", +"0h c #515050", +"0i c #4F5050", +"0j c #504F50", +"0k c #50504F", +"0l c #504F4F", +"0m c #504E4F", +"0n c #4E504F", +"0o c #4F4F4E", +"0p c #4F4F50", +"0q c #505050", +"0r c #4F4F4F", +"0s c #505051", +"0t c #515051", +"0u c #505150", +"0v c #525252", +"0w c #545354", +"0x c #535454", +"0y c #555454", +"0z c #858568", +"0A c #C5C564", +"0B c #C5C665", +"0C c #C4C565", +"0D c #C5C566", +"0E c #7B7C64", +"0F c #999965", +"0G c #B6B765", +"0H c #666762", +"0I c #6B6961", +"0J c #B7B866", +"0K c #838361", +"0L c #7F7F61", +"0M c #C1C06A", +"0N c #C1C16B", +"0O c #BEC06A", +"0P c #8F9162", +"0Q c #5A5A58", +"0R c #555655", +"0S c #6F6E5B", +"0T c #A9A867", +"0U c #BDBD6B", +"0V c #979761", +"0W c #616155", +"0X c #85865D", +"0Y c #BCBC68", +"0Z c #5C5D51", +"0& c #4D4E4F", +"1 c #6B6B53", +"10 c #999A5D", +"11 c #56564E", +"12 c #B8B760", +"13 c #C0BF60", +"14 c #C1C15F", +"15 c #C0BF5F", +"16 c #9B9C56", +"17 c #52534B", +"18 c #B3B558", +"19 c #939353", +"1a c #4C4C4A", +"1b c #4C4D4A", +"1c c #A6A653", +"1d c #65654C", +"1e c #B7B153", +"1f c #C5BF52", +"1g c #C4BC52", +"1h c #C6BB52", +"1i c #BCB34F", +"1j c #69674C", +"1k c #BAAD4E", +"1l c #5B594D", +"1m c #4E4D4E", +"1n c #55554E", +"1o c #B8A94D", +"1p c #AC9C4D", +"1q c #525351", +"1r c #6E6A4F", +"1s c #C0AA4C", +"1t c #5B5953", +"1u c #545454", +"1v c #555355", +"1w c #969764", +"1x c #E5E65F", +"1y c #959560", +"1z c #929160", +"1A c #91905F", +"1B c #6E6E60", +"1C c #72745F", +"1D c #E4E465", +"1E c #9C9C62", +"1F c #AEAC63", +"1G c #DDDC67", +"1H c #626259", +"1I c #939360", +"1J c #DFDF6A", +"1K c #83825C", +"1L c #93935E", +"1M c #ECED70", +"1N c #7F7E5B", +"1O c #626455", +"1P c #DCDC6E", +"1Q c #ABAA63", +"1R c #83825A", +"1S c #CCCE6A", +"1T c #CFCF6A", +"1U c #52524E", +"1V c #9E9E5E", +"1W c #ECEA6F", +"1X c #9B9C5C", +"1Y c #494B49", +"1Z c #7E7D53", +"1& c #BEBD5F", +"2 c #555649", +"20 c #EDEE66", +"21 c #919154", +"22 c #74754E", +"23 c #74754C", +"24 c #64644A", +"25 c #505146", +"26 c #DFE05C", +"27 c #E0DE5A", +"28 c #595949", +"29 c #494946", +"2a c #CDCA55", +"2b c #6B6A49", +"2c c #6E6C48", +"2d c #837F4B", +"2e c #F1E552", +"2f c #8A854A", +"2g c #6F6C47", +"2h c #656248", +"2i c #EBD94E", +"2j c #615F49", +"2k c #494948", +"2l c #78704B", +"2m c #E2CD4B", +"2n c #E7CD49", +"2o c #706A4B", +"2p c #4D4D4D", +"2q c #786F4D", +"2r c #EBCC48", +"2s c #5A574D", +"2t c #505251", +"2u c #525152", +"2v c #969360", +"2w c #D6D656", +"2x c #4E4E3B", +"2y c #474738", +"2z c #464537", +"2A c #4E4D4D", +"2B c #535352", +"2C c #6E6F40", +"2D c #ECEC62", +"2E c #EDEE64", +"2F c #64653D", +"2G c #393939", +"2H c #8E8D5B", +"2I c #C5C65B", +"2J c #2D2C2C", +"2K c #32322D", +"2L c #D3D462", +"2M c #959558", +"2N c #9E9E5C", +"2O c #CACA65", +"2P c #383935", +"2Q c #2A2B2A", +"2R c #35372D", +"2S c #E0E168", +"2T c #767651", +"2U c #9C9B59", +"2V c #A0A14F", +"2W c #D3D263", +"2X c #585849", +"2Y c #79794F", +"2Z c #B3B254", +"2& c #424135", +"3 c #ECEB63", +"30 c #696A3A", +"31 c #464630", +"32 c #46452F", +"33 c #38382C", +"34 c #393A30", +"35 c #D5D658", +"36 c #A1A247", +"37 c #999848", +"38 c #454441", +"39 c #CCC752", +"3a c #575436", +"3b c #353635", +"3c c #484737", +"3d c #E7DC4F", +"3e c #4C492F", +"3f c #292927", +"3g c #47452D", +"3h c #E8D74C", +"3i c #4D4B35", +"3j c #373736", +"3k c #BDAC49", +"3l c #A4964A", +"3m c #BDAA48", +"3n c #998A3C", +"3o c #3B3C3B", +"3p c #746D4A", +"3q c #EBCB46", +"3r c #4A473D", +"3s c #373837", +"3t c #92925C", +"3u c #F1F25C", +"3v c #D5D459", +"3w c #D3D259", +"3x c #CDCD59", +"3y c #636355", +"3z c #565656", +"3A c #3C3D35", +"3B c #DCDC5A", +"3C c #D1D058", +"3D c #302F28", +"3E c #494848", +"3F c #8C8B59", +"3G c #E1E25F", +"3H c #B1B055", +"3I c #C5C45A", +"3J c #DCDB62", +"3K c #494934", +"3L c #B6B65E", +"3M c #97984B", +"3N c #252624", +"3O c #3B3A3A", +"3P c #3D3E3B", +"3Q c #CDCD5E", +"3R c #7B7B47", +"3S c #989956", +"3T c #868642", +"3U c #908F48", +"3V c #9C9D55", +"3W c #77774B", +"3X c #AFB04D", +"3Y c #3D3D31", +"3Z c #EDEC62", +"3& c #D4D358", +"4 c #CCCC56", +"40 c #CDCE57", +"41 c #737344", +"42 c #47473A", +"43 c #D7D657", +"44 c #45442B", +"45 c #D4D350", +"46 c #53523E", +"47 c #CAC750", +"48 c #525232", +"49 c #2F2E2F", +"4a c #52513E", +"4b c #E9DC4F", +"4c c #47452B", +"4d c #2E2D2C", +"4e c #57553E", +"4f c #EAD54B", +"4g c #494530", +"4h c #403D2E", +"4i c #E4CF49", +"4j c #6C6845", +"4k c #696138", +"4l c #D7BD42", +"4m c #33342B", +"4n c #706945", +"4o c #E9CB46", +"4p c #45433A", +"4q c #323232", +"4r c #4B4A4B", +"4s c #8F915A", +"4t c #D8D856", +"4u c #58584F", +"4v c #54544E", +"4w c #51514C", +"4x c #545654", +"4y c #9A9C57", +"4z c #E3E359", +"4A c #E9E95D", +"4B c #7B7A4A", +"4C c #4F4D4D", +"4D c #898955", +"4E c #D8D85A", +"4F c #7D7E4D", +"4G c #78794F", +"4H c #4C4D3C", +"4I c #242322", +"4J c #A5A456", +"4K c #B0B050", +"4L c #383838", +"4M c #3F4040", +"4N c #484940", +"4O c #E2E165", +"4P c #5D5E34", +"4Q c #93934F", +"4R c #84853F", +"4S c #434233", +"4T c #D3D45D", +"4U c #86874C", +"4V c #AEAE4C", +"4W c #3C3C30", +"4X c #EBEB60", +"4Y c #514F2C", +"4Z c #32332C", +"4& c #373731", +"5 c #363532", +"50 c #424337", +"51 c #D7D754", +"52 c #323224", +"53 c #8E8E43", +"54 c #9C9A43", +"55 c #C9C54D", +"56 c #514F31", +"57 c #2E2E2E", +"58 c #54513F", +"59 c #EADD4E", +"5a c #4A472C", +"5b c #2D2B2C", +"5c c #5B5742", +"5d c #E8D44C", +"5e c #43412E", +"5f c #6F6631", +"5g c #F2D949", +"5h c #9E9045", +"5i c #9D8E3B", +"5j c #F2D647", +"5k c #5D542C", +"5l c #665C3A", +"5m c #EACB45", +"5n c #434136", +"5o c #2F312F", +"5p c #484848", +"5q c #4B4C4B", +"5r c #898858", +"5s c #D6D651", +"5t c #464633", +"5u c #424233", +"5v c #414131", +"5w c #56574D", +"5x c #696A53", +"5y c #E7E75D", +"5z c #626436", +"5A c #77773A", +"5B c #E3E25E", +"5C c #5D5E4C", +"5D c #878853", +"5E c #C9C954", +"5F c #292926", +"5G c #2A2928", +"5H c #222221", +"5I c #313130", +"5J c #626146", +"5K c #E0E15F", +"5L c #7C7B4A", +"5M c #5E5E43", +"5N c #9A9951", +"5O c #D7D75E", +"5P c #313224", +"5Q c #84833E", +"5R c #31312F", +"5S c #939249", +"5T c #CFD059", +"5U c #B0AF4D", +"5V c #3A392E", +"5W c #EBEA5E", +"5X c #626031", +"5Y c #383926", +"5Z c #3A3926", +"5& c #353526", +"6 c #3B3A2D", +"60 c #2F2F23", +"61 c #414233", +"62 c #D6D24E", +"63 c #DCD54D", +"64 c #4D4C2D", +"65 c #2A2A2A", +"66 c #504E3C", +"67 c #E8DB4E", +"68 c #48452B", +"69 c #2A2A2B", +"6a c #58563E", +"6b c #E7D44A", +"6c c #46442E", +"6d c #BEAB3E", +"6e c #BCAB46", +"6f c #8D813A", +"6g c #8E8139", +"6h c #D3BB46", +"6i c #B19C39", +"6j c #5E5632", +"6k c #E8CA45", +"6l c #5D5639", +"6m c #4E4833", +"6n c #625C47", +"6o c #59554A", +"6p c #7A7B53", +"6q c #D7D750", +"6r c #D4D556", +"6s c #D3D358", +"6t c #929354", +"6u c #B3B258", +"6v c #AEAF4C", +"6w c #292A25", +"6x c #2E2E28", +"6y c #B2B24B", +"6z c #9C9C52", +"6A c #77784C", +"6B c #AEAC4A", +"6C c #333333", +"6D c #383937", +"6E c #393A3B", +"6F c #3E3E3D", +"6G c #3C3C3B", +"6H c #585830", +"6I c #C0C053", +"6J c #D0D05B", +"6K c #BEBD57", +"6L c #525138", +"6M c #1B1B1A", +"6N c #7F7F45", +"6O c #727238", +"6P c #2C2C2C", +"6Q c #454635", +"6R c #CBCC53", +"6S c #9B9A44", +"6T c #2F2F26", +"6U c #CDCD55", +"6V c #CECD52", +"6W c #CDCD53", +"6X c #CECE53", +"6Y c #B7B74C", +"6Z c #414135", +"6& c #B9BA4A", +"7 c #28281F", +"70 c #2E2F2E", +"71 c #888541", +"72 c #CEC749", +"73 c #48472C", +"74 c #292829", +"75 c #4B4A38", +"76 c #C8BC49", +"77 c #3F3B27", +"78 c #282A29", +"79 c #504C3C", +"7a c #C7B746", +"7b c #4C482E", +"7c c #C4B140", +"7d c #58543D", +"7e c #272726", +"7f c #262625", +"7g c #5C5432", +"7h c #BAA43B", +"7i c #564D2D", +"7j c #D6BB43", +"7k c #CFB441", +"7l c #CCB040", +"7m c #D2B344", +"7n c #887C46", +"7o c #4B4C4A", +"7p c #33322C", +"7q c #51514B", +"7r c #50504A", +"7s c #4F4E49", +"7t c #4E4E4A", +"7u c #4F4F4A", +"7v c #2C2D2A", +"7w c #353434", +"7x c #414242", +"7y c #262823", +"7z c #3F403B", +"7A c #444340", +"7B c #262522", +"7C c #373939", +"7D c #403F40", +"7E c #3D3E3D", +"7F c #3D3C3B", +"7G c #3A3A3A", +"7H c #292828", +"7I c #201F1E", +"7J c #32322E", +"7K c #2E2F2F", +"7L c #1E1F1E", +"7M c #212221", +"7N c #333331", +"7O c #23211E", +"7P c #262728", +"7Q c #2F2F2E", +"7R c #262521", +"7S c #20211D", +"7T c #20211F", +"7U c #34322E", +"7V c #22231D", +"7W c #303029", +"7X c #32312C", +"7Y c #2D2C2B", +"7Z c #32332F", +"7& c #1E1F1D", +"8 c #2D2D2C", +"80 c #323230", +"81 c #262722", +"82 c #1C1D1C", +"83 c #292827", +"84 c #353534", +"85 c #3A3836", +"86 c #252524", +"87 c #292929", +"88 c #3A3A38", +"89 c #3D3D3A", +"8a c #2A2C28", +"8b c #2C2C28", +"8c c #373635", +"8d c #242422", +"8e c #2F2F30", +"8f c #373533", +"8g c #2A2826", +"8h c #403F3A", +"8i c #383734", +"8j c #32312D", +"8k c #44433F", +"8l c #454442", +"8m c #494949", +"8n c #373630", +"8o c #3F3C2F", +"8p c #3F3C2E", +"8q c #474636", +"8r c #4C4A3C", +"8s c #3D3A2C", +"8t c #575548", +"8u c #595648", +"8v c #49493C", +"8w c #3E3C2D", +"8x c #524F41", +"8y c #393A2D", +"8z c #4C4A3E", +"8A c #504E41", +"8B c #4F4D40", +"8C c #4E4C3E", +"8D c #4B4A3E", +"8E c #48483C", +"8F c #3B3A31", +"8G c #322F22", +"8H c #313024", +"8I c #353225", +"8J c #423E33", +"8K c #414032", +"8L c #323228", +"8M c #3A392B", +"8N c #3F3D30", +"8O c #3C392D", +"8P c #302D22", +"8Q c #343327", +"8R c #3C3A2C", +"8S c #302D20", +"8T c #2F2D1F", +"8U c #2E2B1E", +"8V c #2F2C1F", +"8W c #3D3A2B", +"8X c #332F21", +"8Y c #3E3A2C", +"8Z c #413F30", +"8& c #3E3B2D", +"9 c #312D20", +"90 c #393527", +"91 c #444133", +"92 c #464234", +"93 c #3B3728", +"94 c #494637", +"95 c #494537", +"96 c #3F3B2F", +"97 c #3D3B2C", +"98 c #403E31", +"99 c #383528", +"9a c #4B483A", +"9b c #504D3F", +"9c c #504C3F", +"9d c #464335", +"9e c #423F31", +"9f c #474536", +"9g c #36322A", +"9h c #2E2E2F", +"9i c #31302F", +"9j c #51504F", +"9k c #AE9844", +"9l c #D0B441", +"9m c #D0B644", +"9n c #D3BB49", +"9o c #D4C04E", +"9p c #D3BE4D", +"9q c #D5C355", +"9r c #D5BF51", +"9s c #D8C45C", +"9t c #D5C059", +"9u c #D6C45F", +"9v c #D7CA6E", +"9w c #D7C368", +"9x c #D6C973", +"9y c #DACC78", +"9z c #D7C770", +"9A c #D8CB7F", +"9B c #D8CA7F", +"9C c #D7CD88", +"9D c #D6C675", +"9E c #D6C878", +"9F c #D5C370", +"9G c #D5C878", +"9H c #D6C777", +"9I c #D7CB82", +"9J c #D4C169", +"9K c #D4C46D", +"9L c #D2C263", +"9M c #CFC163", +"9N c #C5B752", +"9O c #C5B34C", +"9P c #CCBA4E", +"9Q c #CCB74A", +"9R c #CBB846", +"9S c #CDB644", +"9T c #CDB642", +"9U c #CDB33E", +"9V c #CBAE3B", +"9W c #CBAF3A", +"9X c #C8AB36", +"9Y c #C8AC38", +"9Z c #C4A532", +"9& c #C3A531", +"a c #C4A734", +"a0 c #C0A330", +"a1 c #C0A22E", +"a2 c #C1A42E", +"a3 c #BDA12E", +"a4 c #BCA02D", +"a5 c #BA9D2C", +"a6 c #BDA02C", +"a7 c #B79A27", +"a8 c #B79928", +"a9 c #B69927", +"aa c #B89C29", +"ab c #B69926", +"ac c #B79B29", +"ad c #B39524", +"ae c #B39725", +"af c #95802A", +"ag c #454342", +"ah c #444545", +"ai c #525151", +"aj c #6C6339", +"ak c #726526", +"al c #6F6324", +"am c #6F6323", +"an c #6F6321", +"ao c #6F6223", +"ap c #706222", +"aq c #6E6321", +"ar c #6F6120", +"as c #6D6121", +"at c #6D6220", +"au c #6C601F", +"av c #6B601F", +"aw c #6B611E", +"ax c #73631E", +"ay c #6A5F1C", +"az c #6B611C", +"aA c #695E1B", +"aB c #6F5F1D", +"aC c #75631D", +"aD c #695E19", +"aE c #6F601A", +"aF c #695F18", +"aG c #6E611A", +"aH c #665D18", +"aI c #6D5E1A", +"aJ c #615B16", +"aK c #675C17", +"aL c #625816", +"aM c #5B5513", +"aN c #635A16", +"aO c #675D15", +"aP c #665E14", +"aQ c #706017", +"aR c #675E14", +"aS c #6F6017", +"aT c #6E6217", +"aU c #696115", +"aV c #706217", +"aW c #696116", +"aX c #74641A", +"aY c #6F6317", +"aZ c #6B6115", +"a& c #6A6216", +"b c #6A6116", +"b0 c #6B6216", +"b1 c #6B6317", +"b2 c #6B6215", +"b3 c #6D6417", +"b4 c #6B6316", +"b5 c #6C6317", +"b6 c #6C6316", +"b7 c #6D6317", +"b8 c #6F6417", +"b9 c #6E6417", +"ba c #6F6418", +"bb c #6E6318", +"bc c #615921", +"bd c #424240", +"be c #464546", +"bf c #515250", +"bg c #474847", +"bh c #242323", +"bi c #222022", +"bj c #202121", +"bk c #202020", +"bl c #1F1F21", +"bm c #1F1F1F", +"bn c #1E1F1F", +"bo c #1D1D1D", +"bp c #1C1C1C", +"bq c #1C1B1C", +"br c #1C1B1B", +"bs c #1B1C1B", +"bt c #1A1B19", +"bu c #181A1A", +"bv c #191A19", +"bw c #171819", +"bx c #181918", +"by c #171818", +"bz c #181617", +"bA c #161716", +"bB c #161616", +"bC c #161516", +"bD c #171716", +"bE c #171719", +"bF c #1A1918", +"bG c #181818", +"bH c #191818", +"bI c #161717", +"bJ c #171617", +"bK c #161715", +"bL c #161617", +"bM c #171717", +"bN c #181819", +"bO c #1A1919", +"bP c #1A191B", +"bQ c #1B1A1A", +"bR c #1C1C1A", +"bS c #1B1C1C", +"bT c #1D1E1E", +"bU c #1E201F", +"bV c #201E1F", +"bW c #202021", +"bX c #212223", +"bY c #222223", +"bZ c #242324", +"b& c #232325", +"c c #282727", +"c0 c #353536", +"c1 c #535252", +"c2 c #515252", +"c3 c #3F403F", +"c4 c #212323", +"c5 c #222121", +"c6 c #1F1F20", +"c7 c #1E1E1E", +"c8 c #1C1A1B", +"c9 c #313120", +"ca c #4B4C26", +"cb c #1C1C1B", +"cc c #191718", +"cd c #181917", +"ce c #474824", +"cf c #37371F", +"cg c #27271C", +"ch c #555428", +"ci c #2B2B1D", +"cj c #212119", +"ck c #444523", +"cl c #1C1C18", +"cm c #5A5A2A", +"cn c #5B5B29", +"co c #5A5A29", +"cp c #4B4B24", +"cq c #1B1B17", +"cr c #222119", +"cs c #545226", +"ct c #403E21", +"cu c #161816", +"cv c #181817", +"cw c #3A3820", +"cx c #5B5528", +"cy c #5B5628", +"cz c #5B5428", +"cA c #4B4723", +"cB c #20201B", +"cC c #1A1C1B", +"cD c #1C1D1D", +"cE c #1E1E1D", +"cF c #201F1F", +"cG c #212020", +"cH c #222020", +"cI c #222122", +"cJ c #232222", +"cK c #232323", +"cL c #282728", +"cM c #393A39", +"cN c #232424", +"cO c #222323", +"cP c #212122", +"cQ c #212120", +"cR c #1F1E1E", +"cS c #58572B", +"cT c #D8D94C", +"cU c #25251D", +"cV c #1A1B1B", +"cW c #1A1B1A", +"cX c #1A1A1A", +"cY c #C2C247", +"cZ c #848337", +"c& c #484926", +"d c #F3F452", +"d0 c #9C9E3B", +"d1 c #1B1A18", +"d2 c #2E2F1E", +"d3 c #CCCD48", +"d4 c #26241C", +"d5 c #C1C245", +"d6 c #D2D049", +"d7 c #ABAA40", +"d8 c #AEAE40", +"d9 c #9E9C3C", +"da c #20201A", +"db c #191918", +"dc c #5A5929", +"dd c #ECE24B", +"de c #C6BD42", +"df c #21201B", +"dg c #191919", +"dh c #756F2E", +"di c #E6D647", +"dj c #AFA23B", +"dk c #B2A53B", +"dl c #E3D044", +"dm c #79712E", +"dn c #1E1D1D", +"do c #1E1D1C", +"dp c #1F1E1F", +"dq c #1F201F", +"dr c #202120", +"ds c #232223", +"dt c #252525", +"du c #262626", +"dv c #272627", +"dw c #535354", +"dx c #515253", +"dy c #4B4B4A", +"dz c #454444", +"dA c #424141", +"dB c #404041", +"dC c #3E3E3F", +"dD c #3F3F3E", +"dE c #3D3B3D", +"dF c #3B3C3C", +"dG c #393B3A", +"dH c #3A3A39", +"dI c #363536", +"dJ c #353537", +"dK c #69693C", +"dL c #DFDF4C", +"dM c #3A3932", +"dN c #313132", +"dO c #303131", +"dP c #C9C84A", +"dQ c #8B8B3D", +"dR c #595936", +"dS c #C9C948", +"dT c #BFBF47", +"dU c #525233", +"dV c #424131", +"dW c #D0D04A", +"dX c #34342A", +"dY c #C6C549", +"dZ c #8B8A3C", +"d& c #262624", +"e c #292826", +"e0 c #262726", +"e1 c #252626", +"e2 c #2D2D2B", +"e3 c #BEB743", +"e4 c #8D893B", +"e5 c #DBD046", +"e6 c #55522E", +"e7 c #2C2C2B", +"e8 c #807938", +"e9 c #C5B742", +"ea c #2B2B29", +"eb c #988C38", +"ec c #BEAD3F", +"ed c #333131", +"ee c #333433", +"ef c #333332", +"eg c #343333", +"eh c #363535", +"ei c #353436", +"ej c #363636", +"ek c #383839", +"el c #363737", +"em c #39393A", +"en c #3A3A3B", +"eo c #525353", +"ep c #535351", +"eq c #515150", +"er c #4D4F4E", +"es c #4C4D4D", +"et c #4A4B4C", +"eu c #4A494A", +"ev c #484A49", +"ew c #484748", +"ex c #464747", +"ey c #454545", +"ez c #444344", +"eA c #424243", +"eB c #727345", +"eC c #DEDD4B", +"eD c #3F4036", +"eE c #3E3E3E", +"eF c #3D3D3E", +"eG c #3D3B3C", +"eH c #CACB4C", +"eI c #868736", +"eJ c #5E5E3A", +"eK c #BDBD44", +"eL c #6A692E", +"eM c #B7B748", +"eN c #4E4D3A", +"eO c #CFCD49", +"eP c #303129", +"eQ c #C8C74A", +"eR c #DED94A", +"eS c #C3BD45", +"eT c #C3BF44", +"eU c #99973B", +"eV c #262727", +"eW c #494937", +"eX c #E0D549", +"eY c #4F4D35", +"eZ c #B1A63D", +"e& c #ACA23E", +"f c #877F3F", +"f0 c #E2D046", +"f1 c #968B37", +"f2 c #A19437", +"f3 c #D9C443", +"f4 c #746C31", +"f5 c #2A2929", +"f6 c #3F3E3F", +"f7 c #3F3E40", +"f8 c #403F3F", +"f9 c #414042", +"fa c #414241", +"fb c #434342", +"fc c #444444", +"fd c #444544", +"fe c #464645", +"ff c #474748", +"fg c #494748", +"fh c #49484A", +"fi c #525251", +"fj c #505151", +"fk c #4E4F4E", +"fl c #4B4B4C", +"fm c #4A4B4A", +"fn c #49494A", +"fo c #464748", +"fp c #757448", +"fq c #DDDE49", +"fr c #3F4037", +"fs c #424041", +"ft c #40403F", +"fu c #CACA4C", +"fv c #868637", +"fw c #605F3C", +"fx c #BDBC43", +"fy c #2C2B23", +"fz c #C7C445", +"fA c #787541", +"fB c #D0CD46", +"fC c #32312A", +"fD c #C9C649", +"fE c #989438", +"fF c #585636", +"fG c #5F5C3D", +"fH c #504F3B", +"fI c #383837", +"fJ c #7D793F", +"fK c #DACE49", +"fL c #565432", +"fM c #7D7733", +"fN c #E0D245", +"fO c #3F3E34", +"fP c #898041", +"fQ c #E0CE44", +"fR c #786F30", +"fS c #E0CB44", +"fT c #A99B41", +"fU c #3A3835", +"fV c #242525", +"fW c #414040", +"fX c #414141", +"fY c #434242", +"fZ c #434243", +"f& c #444343", +"g c #454544", +"g0 c #474547", +"g1 c #474747", +"g2 c #484747", +"g3 c #494A49", +"g4 c #4B494A", +"g5 c #565456", +"g6 c #555553", +"g7 c #535151", +"g8 c #4F504F", +"g9 c #4D4E4E", +"ga c #4C4C4D", +"gb c #4C4B4C", +"gc c #4B4A4A", +"gd c #4A4849", +"ge c #777549", +"gf c #DFDE49", +"gg c #444339", +"gh c #454643", +"gi c #444542", +"gj c #CCCA4C", +"gk c #898737", +"gl c #63623E", +"gm c #BEBC42", +"gn c #75723A", +"go c #CCC949", +"gp c #D3CD47", +"gq c #313027", +"gr c #CAC54A", +"gs c #868234", +"gt c #262526", +"gu c #2D2E2F", +"gv c #353430", +"gw c #CCC346", +"gx c #DACD47", +"gy c #C5B941", +"gz c #CBBD44", +"gA c #EEDE47", +"gB c #656134", +"gC c #8B8141", +"gD c #C6B641", +"gE c #615C37", +"gF c #EAD445", +"gG c #595231", +"gH c #2B2C2B", +"gI c #424242", +"gJ c #424342", +"gK c #434344", +"gL c #444445", +"gM c #474647", +"gN c #474648", +"gO c #494849", +"gP c #4A4B49", +"gQ c #4A4B4B", +"gR c #575757", +"gS c #575556", +"gT c #565455", +"gU c #515251", +"gV c #4F4E4F", +"gW c #4E4E4D", +"gX c #4C4C4C", +"gY c #4C4B4B", +"gZ c #4B4B4B", +"g& c #76764A", +"h c #F0EB4A", +"h0 c #CBC749", +"h1 c #CBC94C", +"h2 c #CAC84C", +"h3 c #717048", +"h4 c #CAC64B", +"h5 c #868336", +"h6 c #626240", +"h7 c #BDB841", +"h8 c #343433", +"h9 c #42433C", +"ha c #C9C345", +"hb c #D8D046", +"hc c #C6C148", +"hd c #D9D246", +"he c #BEB642", +"hf c #BDB240", +"hg c #6E6B39", +"hh c #E6D949", +"hi c #4F4E3A", +"hj c #2A2926", +"hk c #3D3D39", +"hl c #B0A643", +"hm c #AFA33D", +"hn c #857E3F", +"ho c #C3B23F", +"hp c #252425", +"hq c #333330", +"hr c #9D903C", +"hs c #C3B240", +"ht c #42433D", +"hu c #434443", +"hv c #454645", +"hw c #474646", +"hx c #484849", +"hy c #484948", +"hz c #4A4C4B", +"hA c #4D4C4C", +"hB c #4C4E4D", +"hC c #595959", +"hD c #575657", +"hE c #525253", +"hF c #4E4F4F", +"hG c #4D4E4D", +"hH c #54534B", +"hI c #515032", +"hJ c #59573B", +"hK c #68664A", +"hL c #676548", +"hM c #515148", +"hN c #5C5A42", +"hO c #3B3A2A", +"hP c #484840", +"hQ c #504E37", +"hR c #3F3F2F", +"hS c #545237", +"hT c #2B2D2A", +"hU c #5B5943", +"hV c #504E2E", +"hW c #5E5D3C", +"hX c #676445", +"hY c #656344", +"hZ c #595843", +"h& c #605B43", +"i c #2C2B2A", +"i0 c #3D3B2D", +"i1 c #46432A", +"i2 c #494636", +"i3 c #5C5840", +"i4 c #3F3F3F", +"i5 c #4A4941", +"i6 c #524E2D", +"i7 c #40403A", +"i8 c #454646", +"i9 c #464647", +"ia c #494A48", +"ib c #4A4A49", +"ic c #4B4D4C", +"id c #4D4C4D", +"ie c #4F4E4E", +"if c #5C5C5B", +"ig c #5A5B5B", +"ih c #5A595A", +"ii c #595958", +"ij c #555354", +"ik c #535251", +"il c #4E4E4E", +"im c #303030", +"in c #323332", +"io c #393838", +"ip c #272827", +"iq c #3D3C3D", +"ir c #272728", +"is c #2B2C2D", +"it c #454445", +"iu c #2C2E2D", +"iv c #363537", +"iw c #353737", +"ix c #2B2A2A", +"iy c #2D2D2E", +"iz c #3C3C3C", +"iA c #404140", +"iB c #484847", +"iC c #494A4A", +"iD c #4A4A4B", +"iE c #4A4C4A", +"iF c #4C4C4B", +"iG c #4D4E4C", +"iH c #4F514F", +"iI c #515151", +"iJ c #5C5C5A", +"iK c #5B5A5A", +"iL c #5A5959", +"iM c #525452", +"iN c #404241", +"iO c #3B3B3B", +"iP c #3E3D3D", +"iQ c #3C3D3C", +"iR c #484949", +"iS c #3E3D3E", +"iT c #434444", +"iU c #434341", +"iV c #4A4A4A", +"iW c #4A4949", +"iX c #3C3B3B", +"iY c #363735", +"iZ c #373637", +"i& c #3F3F40", +"j c #454344", +"j0 c #393938", +"j1 c #383738", +"j2 c #464646", +"j3 c #3B3A3B", +"j4 c #4C4B4D", +"j5 c #4B4C4C", +"j6 c #51514F", +"j7 c #505252", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F z G y H I J J I K L M M N O P", +" Q R S 6 T U V V W X Y d Z &0 00010203040506070809 I0a0b0c B0d0e0f0g0h0i0h0i0j0k0l0i0m0n0o0p0q0r0s0s0t0u0f0e0d0v B0w0x0y G u t08", +"0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0h0X0Y0Z0&1 101112131415161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q0h1r1s1t C1u1v", +"1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s0n2t2u", +"2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s2p0r", +"3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142434445464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r2p", +"4s4t4u4v4w G4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q", +"5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P3U5Q5R5S5T5U5V5W5X5Y5Z5&6 5s606162636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o", +"6p6q6r6s3&6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n", +"7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7W7Y7Z7&8 808182838485868788898a8b8c8d8e848f8g8h8i8j8k8l", +"8m578n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8S8W8X8Y8Z8&9 909192938W9495969798999a9b9c9d9e9f9g9h9i", +"0v9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagah", +"2BaiajakalamanaoaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaRaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babbbcbdbe", +"0xbfbg86bh5HbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbBbBbCbBbDbEbFbGbHbIbJbKbAbIbLbMbGbNbHbObPbQbRbsbSbobTbnbUbVbWbjbXbYbZbhb&c c0", +"c1c2c3c4c57Mbkc6bUc7bobobobpc8c9cacbbucccdcecfcgchcibIcjckclcecmcncocpcqbAcrcsctcucvcwcxcyczcAcB6McCbscDbocE7LbmcFcGcHcIcIcJcKcL", +" E0ecMcNb&cOcIcPcQcGcFcRc7c7bocScTcUcVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkdldmdndoc7dpdpdqdr7Mc5ds5HcOdtdtdudv", +"dwdxdydzdAdBdCdDdEdFdG3sdHdIdJdKdLdM6CdNdOdPdQdRdSdTdUdVdWdXdYdZd&e e0e1e2e3e4e5e6e7e8e97Heaebec9idNedeeefegeheiejekel4Lem3oemen", +"1ueoepeq0rereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe&3jf f0f1f2f3f4f56GeEf6f7f8f9fafbfcfcfdfefffgfh", +"09dw2Bfifj0pfkesflfmfn8mfoeyeyfpfqfrfsdBftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVenftfWfXfYfZf&fdg g0g1g23Eg3g4", +" tg5g6 Bg70q0jg8g9gagbgcgdewbggegfggghgifbgjgkglgm57gngogpgqgrgsgt57gugvgwgxgygzgAgBgCgDbhgEgFgGgHeFgIgJgKfcahgLgMgNffgOeugPgQ5q", +" qgRgSgTdw BgUfj0lgVgWgXgYgZeug&h h0h1h2h3h4h5h6h7h8h9hahb3DhchdhehehfhghhhihjhkhlhmhnhohphqhrhshtfZhueyhvhwhwffhxhy8m8mhzflhAhB", +"hChC MhD I1u DhEfi0q0jhFhGhGeshHhIhJhKhLhMhNhOhPhQegf&hRhShThUhVhWhXhYhZh&5Idti i0i1i2i387i4i5i6i7i8i9ewffhyia8mib4rgZicidgWiefk", +"ifigihii07hD3z1uij Cikc20t0pilg9imin3OdHiohuipeA4L3sewiqirisitiu8eiv3biwdDix4LdCf6dNiyiz74iAiB2G69fc8miCiCiDiEgbiFhAiGg9gV0kiHiI", +"01 jiJiKiL q O L t I0ydwiMhEfi0qiNiOiPiQiPiRiSfniTiUiViW3oiXgOiSioiYdIiZi&7Gi9gOibj j0ezj1j2iD2kj3c3dyj4j52Ag9fkilhF0kj60tj72uc1"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleSmoothNode.xpm b/2009-x64/cps4.03/icons/cpscToggleSmoothNode.xpm new file mode 100644 index 0000000..670ac27 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleSmoothNode.xpm @@ -0,0 +1,618 @@ +/* XPM */ +static char *SMOOTH_xpm[]={ +"30 24 591 2", +" c #605F5E", +" 0 c #5F5F60", +" 1 c #5D5F5D", +" 2 c #5D5D5F", +" 3 c #5C5C5C", +" 4 c #5B5D5B", +" 5 c #5B5C5C", +" 6 c #595959", +" 7 c #5A585A", +" 8 c #595B5B", +" 9 c #595A5A", +" a c #585A58", +" b c #585859", +" c c #585656", +" d c #565858", +" e c #575755", +" f c #565757", +" g c #555656", +" h c #555455", +" i c #575455", +" j c #555554", +" k c #545553", +" l c #535553", +" m c #545555", +" n c #535354", +" o c #545454", +" p c #545353", +" q c #535454", +" r c #535353", +" s c #5F605F", +" t c #5E5F5F", +" u c #5E5F5E", +" v c #5E5E5D", +" w c #5C5D5C", +" x c #5C5C5B", +" y c #5A5A5A", +" z c #595B59", +" A c #585858", +" B c #575958", +" C c #595857", +" D c #575857", +" E c #565756", +" F c #575656", +" G c #656454", +" H c #565654", +" I c #555456", +" J c #545455", +" K c #535453", +" L c #545453", +" M c #545354", +" N c #525254", +" O c #535252", +" P c #545352", +" Q c #5D5E5D", +" R c #5C5C5D", +" S c #5C5B5C", +" T c #5B5C5A", +" U c #5A5959", +" V c #C39744", +" W c #CDC15F", +" X c #A49654", +" Y c #A8994F", +" Z c #AC9348", +" & c #BCA142", +"0 c #C0993B", +"00 c #CBA540", +"01 c #E2AD3B", +"02 c #FAC94D", +"03 c #ADA763", +"04 c #5B5C50", +"05 c #515050", +"06 c #504F51", +"07 c #515051", +"08 c #504F50", +"09 c #4F504F", +"0a c #4F4F4E", +"0b c #4E504F", +"0c c #4F4E4F", +"0d c #4F4F4F", +"0e c #50504F", +"0f c #504F4F", +"0g c #5A595A", +"0h c #575858", +"0i c #585756", +"0j c #565755", +"0k c #545554", +"0l c #DB7F1F", +"0m c #FCAE45", +"0n c #FADD79", +"0o c #D6A440", +"0p c #C28F39", +"0q c #A8833B", +"0r c #977C3F", +"0s c #846F42", +"0t c #A08E41", +"0u c #D19234", +"0v c #D1B959", +"0w c #F4E77D", +"0x c #A6A55F", +"0y c #57584C", +"0z c #4C4B4C", +"0A c #4C4C4B", +"0B c #4B4B4B", +"0C c #4B4C4C", +"0D c #4B4C4B", +"0E c #4C4C4C", +"0F c #4C4D4C", +"0G c #535253", +"0H c #505252", +"0I c #4F514F", +"0J c #4F4E4E", +"0K c #966531", +"0L c #D19636", +"0M c #CF9546", +"0N c #F6E48C", +"0O c #AAAB7F", +"0P c #55564D", +"0Q c #494A49", +"0R c #49494A", +"0S c #8F7A42", +"0T c #84633D", +"0U c #484748", +"0V c #6E6842", +"0W c #CAAD45", +"0X c #F2E47B", +"0Y c #C0C071", +"0Z c #646349", +"0& c #464647", +"1 c #464746", +"10 c #484747", +"11 c #474847", +"12 c #474948", +"13 c #484848", +"14 c #4D4E4E", +"15 c #4A4B4B", +"16 c #4B4A4B", +"17 c #494949", +"18 c #9A6327", +"19 c #9A7839", +"1a c #474545", +"1b c #866E38", +"1c c #F1BD55", +"1d c #F2E8A6", +"1e c #9B9965", +"1f c #BBA74B", +"1g c #D6B143", +"1h c #9E8435", +"1i c #58553D", +"1j c #414243", +"1k c #424141", +"1l c #645E3F", +"1m c #C2AB51", +"1n c #FFEA72", +"1o c #CBC96F", +"1p c #717148", +"1q c #484844", +"1r c #424243", +"1s c #424342", +"1t c #444443", +"1u c #434444", +"1v c #444444", +"1w c #494B49", +"1x c #494849", +"1y c #484847", +"1z c #464646", +"1A c #464544", +"1B c #434344", +"1C c #AD6B1F", +"1D c #80673A", +"1E c #404041", +"1F c #403F3F", +"1G c #5D5538", +"1H c #F7BD44", +"1I c #F9D26A", +"1J c #FFF6A1", +"1K c #EAD75E", +"1L c #BDA82F", +"1M c #BEA128", +"1N c #7B6931", +"1O c #3C3E3C", +"1P c #3D3D3C", +"1Q c #3D3C3C", +"1R c #55523E", +"1S c #BA9C3E", +"1T c #FEDC56", +"1U c #F2C944", +"1V c #766537", +"1W c #3E3E3E", +"1X c #40403F", +"1Y c #3F413F", +"1Z c #414142", +"1& c #444544", +"2 c #434243", +"20 c #414141", +"21 c #3F4041", +"22 c #3F4040", +"23 c #AC681C", +"24 c #5F4A39", +"25 c #3B3D3C", +"26 c #424038", +"27 c #9D8D27", +"28 c #FCEB90", +"29 c #FDF3D2", +"2a c #F5BD5E", +"2b c #FDD984", +"2c c #EBE77C", +"2d c #B1A42B", +"2e c #A28D1B", +"2f c #726528", +"2g c #383737", +"2h c #5D5C3C", +"2i c #A18A37", +"2j c #CA9326", +"2k c #D8901F", +"2l c #C7761F", +"2m c #483F36", +"2n c #3B3A3B", +"2o c #3C3B3C", +"2p c #3D3E3D", +"2q c #3F3D3D", +"2r c #424140", +"2s c #3F3F40", +"2t c #3D3D3E", +"2u c #3D3B3C", +"2v c #3A3B3A", +"2w c #BA7422", +"2x c #554C38", +"2y c #373836", +"2z c #5F5B22", +"2A c #7E600E", +"2B c #897F20", +"2C c #C6B963", +"2D c #F4D673", +"2E c #CAA432", +"2F c #EEAC3B", +"2G c #FCD86A", +"2H c #F0D744", +"2I c #D5D241", +"2J c #C39B31", +"2K c #C9851C", +"2L c #90571B", +"2M c #54452F", +"2N c #E5BA41", +"2O c #5E462B", +"2P c #373737", +"2Q c #383839", +"2R c #393939", +"2S c #393A39", +"2T c #3B3B3B", +"2U c #3F3D3E", +"2V c #3C3D3C", +"2W c #3B393B", +"2X c #383838", +"2Y c #363837", +"2Z c #C2741D", +"2& c #414133", +"3 c #343233", +"30 c #7B6118", +"31 c #6F650C", +"32 c #605903", +"33 c #5B5401", +"34 c #8D731A", +"35 c #B9832A", +"36 c #856C14", +"37 c #DA891D", +"38 c #E8891B", +"39 c #D6891F", +"3a c #7B511D", +"3b c #39332F", +"3c c #313131", +"3d c #787342", +"3e c #C17F22", +"3f c #323334", +"3g c #343433", +"3h c #363536", +"3i c #373736", +"3j c #383837", +"3k c #383938", +"3l c #3C3E3D", +"3m c #3A3A3A", +"3n c #353635", +"3o c #3A3634", +"3p c #C87418", +"3q c #323032", +"3r c #2F302F", +"3s c #816316", +"3t c #86771C", +"3u c #71671A", +"3v c #676606", +"3w c #6C6505", +"3x c #766A0A", +"3y c #A56E1E", +"3z c #9F7416", +"3A c #D37A14", +"3B c #B26B11", +"3C c #4C4628", +"3D c #2B2C2D", +"3E c #2D2D2D", +"3F c #C59E3C", +"3G c #6A4722", +"3H c #303031", +"3I c #323132", +"3J c #323332", +"3K c #343535", +"3L c #343536", +"3M c #373636", +"3N c #3C3B3B", +"3O c #3B393A", +"3P c #373637", +"3Q c #353433", +"3R c #403830", +"3S c #B7731E", +"3T c #2F2F2F", +"3U c #2C2E2D", +"3V c #695D14", +"3W c #80711D", +"3X c #736719", +"3Y c #6B601C", +"3Z c #626408", +"3& c #696703", +"4 c #8B6513", +"40 c #B9891D", +"41 c #B8690D", +"42 c #5D5304", +"43 c #413B27", +"44 c #2A2A2A", +"45 c #5A5938", +"46 c #CE8924", +"47 c #36302B", +"48 c #2E2F2F", +"49 c #313030", +"4a c #313232", +"4b c #343333", +"4c c #353636", +"4d c #39393A", +"4e c #383836", +"4f c #363435", +"4g c #333534", +"4h c #503D2A", +"4i c #B67825", +"4j c #3B3C35", +"4k c #756D40", +"4l c #B78E34", +"4m c #806E18", +"4n c #6A6016", +"4o c #645A1C", +"4p c #625C15", +"4q c #957917", +"4r c #756A09", +"4s c #CE8B20", +"4t c #9D6609", +"4u c #69590A", +"4v c #29282A", +"4w c #2A2A2B", +"4x c #B9A747", +"4y c #764C1C", +"4z c #2E2E2E", +"4A c #2F3130", +"4B c #313130", +"4C c #333333", +"4D c #333434", +"4E c #3A3B3B", +"4F c #333535", +"4G c #A67933", +"4H c #E48E2D", +"4I c #C99B42", +"4J c #74552E", +"4K c #35322A", +"4L c #846F20", +"4M c #73681C", +"4N c #675B1F", +"4O c #665D1A", +"4P c #A6771F", +"4Q c #8D8617", +"4R c #BE6F11", +"4S c #826506", +"4T c #4D3E23", +"4U c #2B2A2C", +"4V c #38362C", +"4W c #CE9027", +"4X c #36312C", +"4Y c #2F2E2E", +"4Z c #2F2F30", +"4& c #313332", +"5 c #333234", +"50 c #343534", +"51 c #3B3A3A", +"52 c #393938", +"53 c #383637", +"54 c #363537", +"55 c #8D5B21", +"56 c #DA9231", +"57 c #9E9C63", +"58 c #33342C", +"59 c #7E7423", +"5a c #AD8C28", +"5b c #917B19", +"5c c #AA7E1C", +"5d c #C39F2F", +"5e c #B0680B", +"5f c #634A1F", +"5g c #B97320", +"5h c #574127", +"5i c #95722A", +"5j c #804F18", +"5k c #2F3030", +"5l c #323233", +"5m c #353535", +"5n c #363636", +"5o c #363736", +"5p c #3E3D3D", +"5q c #3B3C3D", +"5r c #3C3734", +"5s c #C59C57", +"5t c #B2B092", +"5u c #393933", +"5v c #313133", +"5w c #323232", +"5x c #424029", +"5y c #58531C", +"5z c #565015", +"5A c #C68922", +"5B c #6E4415", +"5C c #1A1B1B", +"5D c #29231B", +"5E c #BC771F", +"5F c #E58324", +"5G c #483016", +"5H c #272927", +"5I c #353334", +"5J c #353435", +"5K c #363535", +"5L c #373837", +"5M c #383937", +"5N c #3F3F3F", +"5O c #3C3D3D", +"5P c #3C3C3B", +"5Q c #3A3A39", +"5R c #AC894B", +"5S c #D2CF95", +"5T c #42423C", +"5U c #585237", +"5V c #C17914", +"5W c #3D2C1A", +"5X c #272727", +"5Y c #584423", +"5Z c #C27A1B", +"5& c #8E4E15", +"6 c #221E19", +"60 c #1D1C1D", +"61 c #333231", +"62 c #363635", +"63 c #383738", +"64 c #383A3A", +"65 c #414241", +"66 c #404040", +"67 c #3D3E3F", +"68 c #3D3D3D", +"69 c #877144", +"6a c #E4DB8E", +"6b c #5D5E48", +"6c c #393838", +"6d c #8D7233", +"6e c #A25E11", +"6f c #2B2B26", +"6g c #926D26", +"6h c #C4731A", +"6i c #513F2D", +"6j c #202020", +"6k c #1D1B1C", +"6l c #242526", +"6m c #363737", +"6n c #393A3A", +"6o c #3B3C3B", +"6p c #3D3B3D", +"6q c #454345", +"6r c #444243", +"6s c #424143", +"6t c #414140", +"6u c #3F403F", +"6v c #3D3E3E", +"6w c #826638", +"6x c #EADB8F", +"6y c #6C6C55", +"6z c #B87B27", +"6A c #90621B", +"6B c #BF7E25", +"6C c #A86014", +"6D c #40362B", +"6E c #282929", +"6F c #1F1F1F", +"6G c #252526", +"6H c #242423", +"6I c #3C3C3C", +"6J c #3E3E3D", +"6K c #3E3F3F", +"6L c #474746", +"6M c #464645", +"6N c #454544", +"6O c #454445", +"6P c #434342", +"6Q c #404140", +"6R c #40413F", +"6S c #403F41", +"6T c #69573B", +"6U c #ECD37E", +"6V c #A3A163", +"6W c #BF6C0D", +"6X c #E79A28", +"6Y c #985E20", +"6Z c #3A3834", +"6& c #232325", +"7 c #2E2E2D", +"70 c #222221", +"71 c #333334", +"72 c #242425", +"73 c #494A4B", +"74 c #4A4A48", +"75 c #474949", +"76 c #454546", +"77 c #444644", +"78 c #454443", +"79 c #434343", +"7a c #63533D", +"7b c #E6A747", +"7c c #D6791D", +"7d c #784D21", +"7e c #434142", +"7f c #303030", +"7g c #202221", +"7h c #3F3E3F", +"7i c #292728", +"7j c #343432", +"7k c #424343", +"7l c #4B494A", +"7m c #484A4A", +"7n c #494948", +"7o c #474748", +"7p c #474547", +"7q c #454545", +"7r c #AE6723", +"7s c #A2621A", +"7t c #292B2A", +"7u c #454444", +"7v c #3E3D3E", +"7w c #2B2B2C", +"7x c #222223", +"7y c #3D3C3E", +"7z c #444345", +"7A c #3E3E3F", +"7B c #292928", +"7C c #4D4D4D", +"7D c #4D4D4C", +"7E c #4A4B4A", +"7F c #4A4A4A", +"7G c #484949", +"7H c #494848", +"7I c #474747", +"7J c #4C4946", +"7K c #302F30", +"7L c #454646", +"7M c #454645", +"7N c #2B2B2B", +"7O c #292929", +"7P c #232324", +"7Q c #3C3A3B", +"7R c #282729", +"7S c #383939", +"7T c #464847", +"7U c #4C4A4C", +"7V c #4C4A4A", +"7W c #4B484A", +"7X c #4A484A", +"7Y c #494A4A", +"7Z c #494749", +"7& c #484849", +"8 c #494846", +"80 c #484948", +"81 c #2C2C2B", +"82 c #484546", +"83 c #464648", +"84 c #484645", +"85 c #323131", +"86 c #282827", +"87 c #232323", +"88 c #252525", +"89 c #474947", +"8a c #474848", +"8b c #494748", +"8c c #3B3B38", +"8d c #252626", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r", +" s t u v w x y z A B 6 C D E F G h H I J K p L M N n O L P r", +" Q R S T 6 U V W X Y Z &0 000102030405060708090a0b0b0c0d0e0f", +"0g0h0i0j0k o0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0B0A0C0E0F", +" M0G0H0I0c0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 0&101 111213", +"09140E15161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v", +"1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z", +"1 1&2 202122232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q", +"1s2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T", +"222U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k", +"3l3m3m2P3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M", +"3N3O2g3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142434445464748494a3 4b4c", +"2v4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z3T4A4B4C4D4c", +"4E3m2X3M4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4B4&5 503n", +"2o51525354555657493r58595a5b5c5d5e5f5g5h5i5j4Y5k3c3J5l5m5n5o", +"5p5q513k2g3P5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5l3 5I5J5K5L5M", +"1F5N5O5P2n5Q2X3P5R5S5T5n5m5J5U5V5W5X5Y5Z5&6 6061625o6363645Q", +"65226667682o2T513m696a6b526c6d6e6f6g6h6i3f6j6k6l6m6n3m4E6o6p", +"6q6r6s1k6t2s6u6v6v5O6w6x6y2o6z6A6B6C6D6o2T6E6F6G6H2T6I6J6J6K", +"6L6M6N6O6P1r1s2r6Q6R6S6T6U6V6W6X6Y6Z6&506v7 7071723H5N6t6Q20", +"7374750U0&7677781u1t1s797a7b7c7d657e2Q5X5Q7f7g7h1P7i7j1u7k6O", +"0D0B7l7m7n137o1y7p7p7q7q777r7s7t1t7u1&7v7w2P7x7y7z7A7B2T6M0&", +"7C7D0C7E7F0Q7G7F7H137n7I7I7J3T7K6M7L7M6K7N7O7P7v1z767Q7R7S7T", +"0C7U7V7E7W7X7Y7G7Z177&7n8 80812o828384858687885L898a8b8c8d65"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleSoftEdgeNode.xpm b/2009-x64/cps4.03/icons/cpscToggleSoftEdgeNode.xpm new file mode 100644 index 0000000..9096a57 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleSoftEdgeNode.xpm @@ -0,0 +1,630 @@ +/* XPM */ +static char *EDGE_xpm[]={ +"30 24 603 2", +" c #605E5E", +" 0 c #605F5F", +" 1 c #5F5E5D", +" 2 c #5D5D5D", +" 3 c #5D5C5D", +" 4 c #5D5C5C", +" 5 c #5C5B59", +" 6 c #595B5B", +" 7 c #5A5B5B", +" 8 c #5A5A5A", +" 9 c #595759", +" a c #5A5859", +" b c #585956", +" c c #585856", +" d c #555855", +" e c #575858", +" f c #565756", +" g c #565655", +" h c #555555", +" i c #545454", +" j c #545554", +" k c #535353", +" l c #545555", +" m c #545453", +" n c #535453", +" o c #535354", +" p c #5F5F5F", +" q c #5E5E5E", +" r c #5F5F5E", +" s c #5E5D5D", +" t c #5C5D5D", +" u c #5D5B5B", +" v c #5B5B5A", +" w c #5A595A", +" x c #5A5A59", +" y c #585758", +" z c #595959", +" A c #575757", +" B c #585756", +" C c #575756", +" D c #565656", +" E c #545556", +" F c #555455", +" G c #555655", +" H c #555554", +" I c #535454", +" J c #535253", +" K c #535452", +" L c #535352", +" M c #545353", +" N c #5B5C5C", +" O c #58595A", +" P c #575758", +" Q c #555755", +" R c #565555", +" S c #847E5B", +" T c #C3B561", +" U c #CCC164", +" V c #E1D368", +" W c #E8CF5E", +" X c #BB9B46", +" Y c #8C7B48", +" Z c #645F4C", +" & c #505050", +"0 c #504F50", +"00 c #4F4F4F", +"01 c #4F5050", +"02 c #4F4F50", +"03 c #4F4F4E", +"04 c #4F4E50", +"05 c #50504E", +"06 c #4F504F", +"07 c #585A59", +"08 c #575959", +"09 c #545354", +"0a c #525253", +"0b c #525353", +"0c c #515152", +"0d c #727157", +"0e c #D4D27D", +"0f c #FFFF97", +"0g c #FEFE85", +"0h c #FEFE84", +"0i c #FEF480", +"0j c #FEE87A", +"0k c #F4D167", +"0l c #D5AD44", +"0m c #CDA73C", +"0n c #AA8E3D", +"0o c #585349", +"0p c #4B4C4B", +"0q c #4C4C4C", +"0r c #4C4C4B", +"0s c #4C4C4D", +"0t c #4B4B4B", +"0u c #4B4C4C", +"0v c #4D4D4D", +"0w c #4D4C4D", +"0x c #525252", +"0y c #515151", +"0z c #4E4E4E", +"0A c #51524E", +"0B c #ABAA68", +"0C c #FFFE8E", +"0D c #FEFE9E", +"0E c #FEFFCF", +"0F c #FEFEE6", +"0G c #FFFFA0", +"0H c #FEF586", +"0I c #F9E278", +"0J c #DAB455", +"0K c #D0A84B", +"0L c #C8A042", +"0M c #BB9735", +"0N c #B79535", +"0O c #6F633F", +"0P c #464647", +"0Q c #464646", +"0R c #474746", +"0S c #484647", +"0T c #464747", +"0U c #484748", +"0V c #484949", +"0W c #4D4E4E", +"0X c #4D4B4C", +"0Y c #4A4B4B", +"0Z c #494A4B", +"0& c #4A4949", +"1 c #474748", +"10 c #AF934E", +"11 c #FEF681", +"12 c #FFFFA2", +"13 c #FEFFE6", +"14 c #FEFEFF", +"15 c #FEFFF7", +"16 c #F4E998", +"17 c #DCB757", +"18 c #D3AC50", +"19 c #CFA84B", +"1a c #BD963C", +"1b c #A9852F", +"1c c #9D7E29", +"1d c #8D7021", +"1e c #514A37", +"1f c #414242", +"1g c #424343", +"1h c #434342", +"1i c #434443", +"1j c #434444", +"1k c #454545", +"1l c #49494A", +"1m c #484747", +"1n c #454746", +"1o c #454544", +"1p c #444343", +"1q c #857246", +"1r c #F6C64F", +"1s c #FAE07D", +"1t c #FFFEF2", +"1u c #FEFFFF", +"1v c #FEFEFE", +"1w c #FFFFFE", +"1x c #F5F1DF", +"1y c #D1B565", +"1z c #CBAA54", +"1A c #CEAA50", +"1B c #CEA84C", +"1C c #B38D34", +"1D c #AA862F", +"1E c #A0802B", +"1F c #82681E", +"1G c #755F1E", +"1H c #3F3F3B", +"1I c #3E3D3E", +"1J c #3F3F3E", +"1K c #3F3E3E", +"1L c #40403F", +"1M c #403F40", +"1N c #424241", +"1O c #454445", +"1P c #434243", +"1Q c #424242", +"1R c #585141", +"1S c #EABE4D", +"1T c #F4C551", +"1U c #DBB34F", +"1V c #E9D198", +"1W c #FDFCF9", +"1X c #FCF9F5", +"1Y c #D4BB71", +"1Z c #C9AB56", +"1& c #C5A753", +"2 c #C1A34E", +"20 c #BB9B47", +"21 c #906F26", +"22 c #A37E2B", +"23 c #A6842D", +"24 c #856B1F", +"25 c #81661D", +"26 c #615225", +"27 c #3A3A3A", +"28 c #3A3B3B", +"29 c #3B3C3C", +"2a c #3D3E3E", +"2b c #3E3D3D", +"2c c #404242", +"2d c #403F3F", +"2e c #3D3D3D", +"2f c #3D3C3C", +"2g c #977C3B", +"2h c #F0C14C", +"2i c #DCB14A", +"2j c #D6AD4B", +"2k c #D9AF4E", +"2l c #E3C376", +"2m c #FAF7EE", +"2n c #D9C284", +"2o c #C9AC57", +"2p c #C4A754", +"2q c #C0A450", +"2r c #BEA04B", +"2s c #9D8236", +"2t c #73581A", +"2u c #7F631E", +"2v c #7A611B", +"2w c #795F19", +"2x c #775D17", +"2y c #413B2E", +"2z c #383637", +"2A c #383837", +"2B c #393938", +"2C c #3B3B3A", +"2D c #3E3F40", +"2E c #3E3D3F", +"2F c #3B3B3B", +"2G c #393939", +"2H c #A78534", +"2I c #E1B648", +"2J c #D0A746", +"2K c #D3AA48", +"2L c #D5AB4A", +"2M c #D6AE4C", +"2N c #B49343", +"2O c #AF9346", +"2P c #C2A452", +"2Q c #C1A24F", +"2R c #BEA14D", +"2S c #BB9E4A", +"2T c #806724", +"2U c #72571A", +"2V c #74581B", +"2W c #75591A", +"2X c #614A10", +"2Y c #59450D", +"2Z c #5B440D", +"2& c #423A26", +"3 c #333534", +"30 c #353435", +"31 c #363735", +"32 c #383738", +"33 c #383839", +"34 c #3D3E3D", +"35 c #3A3B3C", +"36 c #373837", +"37 c #423E36", +"38 c #B89031", +"39 c #AF8C35", +"3a c #CDA543", +"3b c #CEA646", +"3c c #CFA748", +"3d c #CBA245", +"3e c #876B25", +"3f c #826723", +"3g c #896D28", +"3h c #AA8E40", +"3i c #BA9C4B", +"3j c #AE9141", +"3k c #72581A", +"3l c #71581A", +"3m c #73581B", +"3n c #745A1A", +"3o c #5F490F", +"3p c #58440D", +"3q c #58430C", +"3r c #4E3F19", +"3s c #323133", +"3t c #343232", +"3u c #353335", +"3v c #353635", +"3w c #373636", +"3x c #3C3C3D", +"3y c #393837", +"3z c #494233", +"3A c #AD882D", +"3B c #866C22", +"3C c #AA8934", +"3D c #CCA244", +"3E c #CCA344", +"3F c #95772C", +"3G c #826721", +"3H c #806622", +"3I c #816422", +"3J c #7F6521", +"3K c #836A27", +"3L c #6F5419", +"3M c #73571A", +"3N c #735719", +"3O c #76581A", +"3P c #5E480F", +"3Q c #57420D", +"3R c #56410C", +"3S c #564311", +"3T c #313130", +"3U c #313132", +"3V c #323433", +"3W c #343534", +"3X c #353536", +"3Y c #3B3A3C", +"3Z c #39393A", +"3& c #383737", +"4 c #363635", +"40 c #343434", +"41 c #997A28", +"42 c #836C22", +"43 c #836B22", +"44 c #A98834", +"45 c #B7933B", +"46 c #816722", +"47 c #806422", +"48 c #7F6421", +"49 c #7E6521", +"4a c #55410E", +"4b c #4C380C", +"4c c #564010", +"4d c #624B13", +"4e c #6F5418", +"4f c #5C470E", +"4g c #55400C", +"4h c #53410D", +"4i c #554213", +"4j c #303131", +"4k c #313232", +"4l c #333333", +"4m c #353433", +"4n c #373738", +"4o c #353434", +"4p c #7E6624", +"4q c #826C22", +"4r c #846A24", +"4s c #695318", +"4t c #7C621E", +"4u c #816621", +"4v c #806521", +"4w c #71591A", +"4x c #4F3C0C", +"4y c #4A380B", +"4z c #4F3B0D", +"4A c #513C0C", +"4B c #563F0D", +"4C c #56400E", +"4D c #533F0D", +"4E c #4E3F17", +"4F c #313030", +"4G c #313233", +"4H c #343433", +"4I c #363636", +"4J c #3B3B3C", +"4K c #393A39", +"4L c #383838", +"4M c #373737", +"4N c #363535", +"4O c #54441C", +"4P c #7F6720", +"4Q c #826B22", +"4R c #7B6320", +"4S c #4C390D", +"4T c #503C0F", +"4U c #654F15", +"4V c #7D631E", +"4W c #80641F", +"4X c #7F6320", +"4Y c #5C4812", +"4Z c #4B3A0C", +"4& c #4C390C", +"5 c #4E3C0C", +"50 c #533D0C", +"51 c #57400C", +"52 c #57400D", +"53 c #563E0D", +"54 c #57400E", +"55 c #392D14", +"56 c #2B2B2B", +"57 c #333233", +"58 c #363737", +"59 c #3D3D3E", +"5a c #3C3C3B", +"5b c #4A3D1C", +"5c c #604A13", +"5d c #816820", +"5e c #664F16", +"5f c #4C380D", +"5g c #4B380C", +"5h c #4B390D", +"5i c #503E0D", +"5j c #6A5217", +"5k c #755B1A", +"5l c #503D0D", +"5m c #4D390C", +"5n c #513B0C", +"5o c #553F0D", +"5p c #58400C", +"5q c #56410E", +"5r c #563F0C", +"5s c #58420C", +"5t c #2A2418", +"5u c #1C1B1C", +"5v c #323030", +"5w c #393838", +"5x c #3F3F3F", +"5y c #3E3F3F", +"5z c #3D3D3C", +"5A c #3B3C3B", +"5B c #3A3A3B", +"5C c #453E2D", +"5D c #553E0D", +"5E c #664F14", +"5F c #54410E", +"5G c #4C3A0B", +"5H c #4A370C", +"5I c #4A390D", +"5J c #4D3A0C", +"5K c #503E0C", +"5L c #523E0D", +"5M c #4E3A0C", +"5N c #533E0B", +"5O c #56410D", +"5P c #59420E", +"5Q c #59400C", +"5R c #58410D", +"5S c #3C3013", +"5T c #1A1A1A", +"5U c #1B1A1B", +"5V c #212121", +"5W c #353535", +"5X c #393839", +"5Y c #3B3A3A", +"5Z c #414142", +"5& c #404041", +"6 c #3C3D3E", +"60 c #4A3D23", +"61 c #553F0F", +"62 c #533F0E", +"63 c #4F3C0D", +"64 c #4D390D", +"65 c #4B390C", +"66 c #4F3F0D", +"67 c #523D0D", +"68 c #523D0C", +"69 c #57440D", +"6a c #5D450D", +"6b c #5C450D", +"6c c #543F0F", +"6d c #201F1B", +"6e c #1B1C1C", +"6f c #1C1C1D", +"6g c #262626", +"6h c #3A3939", +"6i c #444443", +"6j c #424142", +"6k c #414241", +"6l c #414141", +"6m c #3E3E3E", +"6n c #4F3F1B", +"6o c #513D0D", +"6p c #503C0D", +"6q c #513C0D", +"6r c #4E3E0D", +"6s c #523C0B", +"6t c #503C0B", +"6u c #543F0C", +"6v c #58430B", +"6w c #5D450E", +"6x c #5F460C", +"6y c #5D430D", +"6z c #2E2619", +"6A c #1E1D1E", +"6B c #1E1D1D", +"6C c #1E1E1E", +"6D c #1F1F1E", +"6E c #2D2E2E", +"6F c #464748", +"6G c #464746", +"6H c #464545", +"6I c #434543", +"6J c #424244", +"6K c #424342", +"6L c #42423F", +"6M c #544315", +"6N c #4E3B0D", +"6O c #4E3A0D", +"6P c #513C0E", +"6Q c #55400F", +"6R c #4F3E0C", +"6S c #533E0D", +"6T c #58410B", +"6U c #5D440E", +"6V c #5C430D", +"6W c #453613", +"6X c #201F20", +"6Y c #1F1F1F", +"6Z c #1F1F20", +"6& c #202020", +"7 c #222221", +"70 c #4A4A49", +"71 c #4A484A", +"72 c #484847", +"73 c #454645", +"74 c #444444", +"75 c #47463F", +"76 c #58481E", +"77 c #513B0D", +"78 c #594110", +"79 c #5A4311", +"7a c #58430F", +"7b c #57430D", +"7c c #53410C", +"7d c #543F0D", +"7e c #5E460E", +"7f c #58420E", +"7g c #382E1A", +"7h c #202021", +"7i c #212120", +"7j c #202221", +"7k c #212122", +"7l c #202121", +"7m c #212221", +"7n c #272828", +"7o c #4A4B4C", +"7p c #494B4A", +"7q c #494849", +"7r c #484848", +"7s c #474747", +"7t c #474647", +"7u c #3D3E3F", +"7v c #322C20", +"7w c #4D3B17", +"7x c #5A4215", +"7y c #5B4310", +"7z c #58430E", +"7A c #55420D", +"7B c #54410F", +"7C c #4F3E12", +"7D c #3C321A", +"7E c #272621", +"7F c #222222", +"7G c #222323", +"7H c #232222", +"7I c #212323", +"7J c #232322", +"7K c #232323", +"7L c #222224", +"7M c #242424", +"7N c #242324", +"7O c #252325", +"7P c #4D4C4C", +"7Q c #4C4B4C", +"7R c #4B4A4A", +"7S c #494949", +"7T c #494848", +"7U c #424243", +"7V c #232223", +"7W c #282522", +"7X c #2D2921", +"7Y c #2E2A20", +"7Z c #262421", +"7& c #232423", +"8 c #232324", +"80 c #242423", +"81 c #232424", +"82 c #222422", +"83 c #242323", +"84 c #252424", +"85 c #252423", +"86 c #242524", +"87 c #4C4A4A", +"88 c #494A4C", +"89 c #4C4B4A", +"8a c #4B484A", +"8b c #4A4A48", +"8c c #4A4A4A", +"8d c #494A47", +"8e c #454745", +"8f c #242426", +"8g c #242223", +"8h c #242422", +"8i c #222423", +"8j c #222523", +"8k c #252225", +"8l c #232523", +"8m c #252526", +"8n c #252625", +"8o c #232525", +"8p c #252326", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h h i j k l j m j n i o", +" p q r s t u v w x y z A B C D E F G h H m o o I J K L n k M", +" 2 4 N v z O P C Q R F S T U V W X Y Z &0 0000010203040506 &", +"0708 f f i090a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0p0q0r0s0t0u0v0w", +" I0x0y0y0 0z0w0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0U0V", +"040W0X0Y0Z0&1 10111213141415161718191a1b1c1d1e1f1g1h1i1g1j1k", +"0t1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N", +"0P1O1P1Q1L1R1S1T1U1V1W1v1X1Y1Z1&2 20212223242526272728292a2b", +"1g2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2t2u2v2w2x2y2z2A2B272C", +"2D2E2e2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233", +"34352G363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w", +"3x273y3w3z3A3B3C3D3E3F3G3H3I3J3g3K3L3M3N3O3P3Q3R3S3T3U3V3W3X", +"3Y3Z3&4 404142434445463H474849484a4b4c4d4e4f4g4h4i4j4k4l4m3X", +"3Y3Z4n3w4o4p434q4r4s4t4u4v3J4v4w4x4y4z4A4B4C4B4D4E4F4G3V4H4I", +"4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 50515253545556574o3v58", +"595a272G335b5c5d5e5f5g5h5i5j5k5l5g5m5n5o5p5q5r5s5t5u5v3X4M5w", +"5x5y5z5A5B5C5D5E5F5G5f5H5I5J5K5L5M4A5N5O5P5Q5R5S5T5U5V5W5X5Y", +"5Z5&2D1K6 2F60616263645h655f6667685R3Q696a6b6c6d6e6e6f6g6h2f", +"6i1g6j6k6l1M6m6n6o4A6p5J5M6q6r6s6t6u6v6w6x6y6z6A6B6C6C6D6E5x", +"6F6G6H6I6J6K1Q6L6M6N6O6N6P6Q6R6N4x6S6T6U6V6W6D6D6X6Y6Z6&7 4K", +"7071720S0P0Q737475765O7778797a7b7c7d7e7f7g7h7i7j7k7l7k7m7 7n", +"0p7o7p707q7r7s7t6G7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O", +"0s7P7Q7R1l0V0V7S7T7U7N7V7G7W7X7Y7Z7&7F7G8 808182837&81848586", +"7Q8788898a8b0&8c8d8e8f8g8h818i7K7V7&7V81808j8k838l7O8m8n8o8p"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleTriangulationNode.xpm b/2009-x64/cps4.03/icons/cpscToggleTriangulationNode.xpm new file mode 100644 index 0000000..bc398ba --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleTriangulationNode.xpm @@ -0,0 +1,658 @@ +/* XPM */ +static char *TRIANG_xpm[]={ +"30 24 631 2", +" c #5F5F60", +" 0 c #5F5E5E", +" 1 c #5F5D5D", +" 2 c #5C5D5C", +" 3 c #5C5B5C", +" 4 c #5B5B59", +" 5 c #5A5B5B", +" 6 c #5A5B5A", +" 7 c #595A5A", +" 8 c #595858", +" 9 c #595659", +" a c #585956", +" b c #565855", +" c c #585757", +" d c #565657", +" e c #555855", +" f c #555656", +" g c #555755", +" h c #555554", +" i c #545454", +" j c #545453", +" k c #535454", +" l c #535553", +" m c #535353", +" n c #535554", +" o c #5F6060", +" p c #5E5E5E", +" q c #5E5E5D", +" r c #5C5C5C", +" s c #5B5C5C", +" t c #5B5A5A", +" u c #5B5A59", +" v c #595959", +" w c #585957", +" x c #595859", +" y c #585858", +" z c #565756", +" A c #575656", +" B c #565755", +" C c #565655", +" D c #555454", +" E c #545655", +" F c #545555", +" G c #545455", +" H c #545554", +" I c #525253", +" J c #525454", +" K c #535254", +" L c #535352", +" M c #545352", +" N c #5D5D5D", +" O c #5D5C5C", +" P c #5B5B5A", +" Q c #636364", +" R c #C2BC8B", +" S c #C3BB8C", +" T c #C1BC88", +" U c #C2B982", +" V c #C2BC86", +" W c #C7BF7C", +" X c #C6BD75", +" Y c #C3BB67", +" Z c #C1B15C", +" & c #C2B35B", +"0 c #BFAD54", +"00 c #BCA64E", +"01 c #BAA54A", +"02 c #B39C43", +"03 c #B6A03F", +"04 c #B29C3E", +"05 c #B19A3D", +"06 c #A08D3D", +"07 c #4F4F4F", +"08 c #4F5050", +"09 c #4F4F50", +"0a c #504F4F", +"0b c #595A58", +"0c c #575957", +"0d c #565858", +"0e c #555655", +"0f c #B19840", +"0g c #B79B32", +"0h c #B1982E", +"0i c #B1992E", +"0j c #B3992E", +"0k c #B0972C", +"0l c #B1972C", +"0m c #AD9627", +"0n c #B19629", +"0o c #AD9625", +"0p c #AC9423", +"0q c #A99220", +"0r c #AF9723", +"0s c #AE9723", +"0t c #AA9520", +"0u c #A28D1A", +"0v c #AB961E", +"0w c #C3B353", +"0x c #D6B438", +"0y c #716523", +"0z c #4B4C4C", +"0A c #4B4C4B", +"0B c #4C4C4C", +"0C c #4C4D4C", +"0D c #4D4C4D", +"0E c #535453", +"0F c #505252", +"0G c #505050", +"0H c #BA9D38", +"0I c #A88726", +"0J c #654F14", +"0K c #665112", +"0L c #644F13", +"0M c #6B5515", +"0N c #675116", +"0O c #6B5416", +"0P c #685315", +"0Q c #695315", +"0R c #5E4A13", +"0S c #675216", +"0T c #6A5618", +"0U c #6D5919", +"0V c #856F24", +"0W c #F3E0AF", +"0X c #FEDE69", +"0Y c #E7B23D", +"0Z c #6D621D", +"0& c #474747", +"1 c #474847", +"10 c #474748", +"11 c #484848", +"12 c #494948", +"13 c #4E4E4E", +"14 c #4E4E4D", +"15 c #4B4D4B", +"16 c #4B4B4B", +"17 c #4A494B", +"18 c #B29933", +"19 c #AE8A27", +"1a c #836927", +"1b c #896E2D", +"1c c #816726", +"1d c #896E2C", +"1e c #8B702D", +"1f c #846A28", +"1g c #876B29", +"1h c #836827", +"1i c #7F6425", +"1j c #7A6020", +"1k c #826624", +"1l c #7F6422", +"1m c #87712E", +"1n c #E8E5C3", +"1o c #FCDF62", +"1p c #E8922A", +"1q c #EFCE51", +"1r c #625613", +"1s c #262627", +"1t c #424242", +"1u c #444243", +"1v c #444443", +"1w c #444445", +"1x c #4B494A", +"1y c #494A49", +"1z c #484747", +"1A c #464645", +"1B c #454644", +"1C c #B49A35", +"1D c #A98626", +"1E c #8C6E28", +"1F c #92762E", +"1G c #92752E", +"1H c #92742D", +"1I c #91722D", +"1J c #8E712B", +"1K c #8D702B", +"1L c #8B6E2B", +"1M c #896C28", +"1N c #866926", +"1O c #846825", +"1P c #917A35", +"1Q c #EBE7CB", +"1R c #FEDC65", +"1S c #D58322", +"1T c #86641B", +"1U c #EDC74C", +"1V c #5F5512", +"1W c #1C1C1C", +"1X c #323232", +"1Y c #404040", +"1Z c #424141", +"1& c #454646", +"2 c #444442", +"20 c #404141", +"21 c #B09533", +"22 c #A88523", +"23 c #8C6F27", +"24 c #8F722A", +"25 c #8F722C", +"26 c #8E722B", +"27 c #8B702A", +"28 c #8A6D2A", +"29 c #896C27", +"2a c #876A27", +"2b c #856926", +"2c c #947A34", +"2d c #FEDD6E", +"2e c #D07F20", +"2f c #59440C", +"2g c #886821", +"2h c #E8C545", +"2i c #5E5211", +"2j c #1A1A1B", +"2k c #323031", +"2l c #3C3C3D", +"2m c #3D3D3C", +"2n c #3E3D3E", +"2o c #424342", +"2p c #424241", +"2q c #3F403F", +"2r c #3D3C3B", +"2s c #AC9430", +"2t c #B19329", +"2u c #8D6E26", +"2v c #8D6F28", +"2w c #8D6F29", +"2x c #8C6F29", +"2y c #8A6E27", +"2z c #8B6E27", +"2A c #886B26", +"2B c #876924", +"2C c #947C35", +"2D c #ECE6C5", +"2E c #FDDD62", +"2F c #D17E20", +"2G c #58420C", +"2H c #645013", +"2I c #A0792B", +"2J c #E9C145", +"2K c #5C5211", +"2L c #1A1919", +"2M c #2C2D2C", +"2N c #393938", +"2O c #393A39", +"2P c #3A3B3B", +"2Q c #403F3F", +"2R c #3E3E3D", +"2S c #3C3C3C", +"2T c #3B3A3A", +"2U c #393939", +"2V c #A78F2C", +"2W c #B29129", +"2X c #876A23", +"2Y c #8B6E26", +"2Z c #8A6E26", +"2& c #886C26", +"3 c #876B24", +"30 c #876A25", +"31 c #937B31", +"32 c #ECE8C2", +"33 c #FDDC70", +"34 c #D2841D", +"35 c #5D450E", +"36 c #664F13", +"37 c #7A5E1D", +"38 c #A07B2A", +"39 c #E6BD3F", +"3a c #5A4E10", +"3b c #181818", +"3c c #2D2C2D", +"3d c #373737", +"3e c #363837", +"3f c #383838", +"3g c #3B3C3B", +"3h c #3A393A", +"3i c #373838", +"3j c #363735", +"3k c #A48C2C", +"3l c #A58221", +"3m c #856921", +"3n c #8A6D24", +"3o c #896D24", +"3p c #886C24", +"3q c #876B23", +"3r c #866B22", +"3s c #957D30", +"3t c #EBE6B7", +"3u c #FDD560", +"3v c #CB7719", +"3w c #5A440C", +"3x c #695314", +"3y c #7B601D", +"3z c #79601C", +"3A c #9F7929", +"3B c #E5BE3F", +"3C c #5B4F10", +"3D c #181718", +"3E c #2A2929", +"3F c #353534", +"3G c #353635", +"3H c #363637", +"3I c #3B3C3D", +"3J c #39393B", +"3K c #373839", +"3L c #353737", +"3M c #333435", +"3N c #A48C2B", +"3O c #AD8B27", +"3P c #876A20", +"3Q c #896C22", +"3R c #886B23", +"3S c #876A21", +"3T c #866A22", +"3U c #876921", +"3V c #957D2D", +"3W c #ECE490", +"3X c #FBCA55", +"3Y c #BF6E15", +"3Z c #5B460C", +"3& c #6A5415", +"4 c #7C621D", +"40 c #7B611D", +"41 c #7A601C", +"42 c #9F7828", +"43 c #E0B93C", +"44 c #161716", +"45 c #262626", +"46 c #333333", +"47 c #353334", +"48 c #363536", +"49 c #3B3B3C", +"4a c #39393A", +"4b c #363738", +"4c c #363636", +"4d c #343433", +"4e c #A18B2B", +"4f c #AB8821", +"4g c #82651F", +"4h c #886B20", +"4i c #876B20", +"4j c #866B21", +"4k c #866A21", +"4l c #937C2C", +"4m c #EBE689", +"4n c #F4C147", +"4o c #A65D0F", +"4p c #5A440B", +"4q c #6C5717", +"4r c #7D631C", +"4s c #7D611B", +"4t c #79601A", +"4u c #9B7527", +"4v c #DFB93D", +"4w c #594F0F", +"4x c #161717", +"4y c #2B2A2A", +"4z c #323332", +"4A c #343334", +"4B c #3B3B3A", +"4C c #383737", +"4D c #353537", +"4E c #353533", +"4F c #A18A2B", +"4G c #B6962A", +"4H c #83661E", +"4I c #83691F", +"4J c #856A1F", +"4K c #85681F", +"4L c #937A2B", +"4M c #ECE88C", +"4N c #FCDA56", +"4O c #BD6E16", +"4P c #5D470C", +"4Q c #675112", +"4R c #7D621D", +"4S c #7B611B", +"4T c #7A5F1A", +"4U c #9B7627", +"4V c #D8B437", +"4W c #584E0E", +"4X c #161618", +"4Y c #282828", +"4Z c #343533", +"4& c #3C3B3C", +"5 c #353536", +"50 c #9A8629", +"51 c #A8861E", +"52 c #7F641C", +"53 c #82671D", +"54 c #81671E", +"55 c #917A2A", +"56 c #EBE881", +"57 c #FCD94D", +"58 c #CC7E1C", +"59 c #5E480C", +"5a c #675313", +"5b c #7D621A", +"5c c #7C621A", +"5d c #7B601B", +"5e c #7B5F19", +"5f c #785E1A", +"5g c #9C7626", +"5h c #D8B337", +"5i c #594E10", +"5j c #191819", +"5k c #2A2B2C", +"5l c #343534", +"5m c #363737", +"5n c #3E3D3D", +"5o c #3C3D3B", +"5p c #3B3A3B", +"5q c #373738", +"5r c #9A852A", +"5s c #B59629", +"5t c #7E641C", +"5u c #80671D", +"5v c #8F7A28", +"5w c #EBE77B", +"5x c #FEDC50", +"5y c #D3851E", +"5z c #5F480C", +"5A c #6D5713", +"5B c #7F621A", +"5C c #7F641B", +"5D c #7B6119", +"5E c #7B601A", +"5F c #7A6019", +"5G c #795E19", +"5H c #A07827", +"5I c #D6B135", +"5J c #594D0E", +"5K c #1A191A", +"5L c #2D2D2D", +"5M c #373637", +"5N c #383739", +"5O c #403F40", +"5P c #3D3F3E", +"5Q c #3E3C3D", +"5R c #3A3939", +"5S c #99852B", +"5T c #BFA02F", +"5U c #7A631A", +"5V c #8D7927", +"5W c #EAE775", +"5X c #FEE350", +"5Y c #D68A20", +"5Z c #5E4A0B", +"5& c #6C5913", +"6 c #7D621B", +"60 c #7E631A", +"61 c #7B611A", +"62 c #7A5F19", +"63 c #795F19", +"64 c #795E18", +"65 c #9D7626", +"66 c #D1AF33", +"67 c #594E0F", +"68 c #1B1B1B", +"69 c #30302F", +"6a c #3F4141", +"6b c #3F3F40", +"6c c #3D3E3F", +"6d c #3D3D3E", +"6e c #98842B", +"6f c #BCA133", +"6g c #8B7425", +"6h c #E9E671", +"6i c #FDE049", +"6j c #D58A22", +"6k c #5E4B0D", +"6l c #675513", +"6m c #7B631A", +"6n c #7C631A", +"6o c #7D6219", +"6p c #7C611A", +"6q c #7C6119", +"6r c #796018", +"6s c #775E18", +"6t c #9D7927", +"6u c #CEAB32", +"6v c #5D5110", +"6w c #313130", +"6x c #3C3B3B", +"6y c #3D3D3D", +"6z c #444444", +"6A c #424443", +"6B c #414241", +"6C c #98852A", +"6D c #B69728", +"6E c #E9E16C", +"6F c #FEE24C", +"6G c #DA9021", +"6H c #5D4B0D", +"6I c #685612", +"6J c #796219", +"6K c #7B6319", +"6L c #7B6218", +"6M c #7A6018", +"6N c #7A5F18", +"6O c #795F17", +"6P c #775E16", +"6Q c #997624", +"6R c #CDA831", +"6S c #5A4E11", +"6T c #1D1E1D", +"6U c #323333", +"6V c #3E3E3C", +"6W c #3F3E3F", +"6X c #3F3F3E", +"6Y c #464748", +"6Z c #464746", +"6& c #464545", +"7 c #434543", +"70 c #424344", +"71 c #97832C", +"72 c #CBB93A", +"73 c #FFE549", +"74 c #EA9B27", +"75 c #775D18", +"76 c #897326", +"77 c #998232", +"78 c #998130", +"79 c #997F2D", +"7a c #987E2B", +"7b c #9A7B2A", +"7c c #997A29", +"7d c #997A27", +"7e c #987924", +"7f c #997623", +"7g c #937223", +"7h c #927021", +"7i c #AF8A2F", +"7j c #C9A731", +"7k c #5A4F13", +"7l c #1F2020", +"7m c #313131", +"7n c #403F41", +"7o c #404041", +"7p c #4B494B", +"7q c #484948", +"7r c #494748", +"7s c #474647", +"7t c #927F2D", +"7u c #DEBE31", +"7v c #F3C754", +"7w c #F5E2A3", +"7x c #F5E7A7", +"7y c #F5E4A6", +"7z c #F5E8A4", +"7A c #F6EA9E", +"7B c #F3E796", +"7C c #F5E88D", +"7D c #F3E57E", +"7E c #F4E574", +"7F c #F0DD67", +"7G c #F4DA64", +"7H c #EED155", +"7I c #F0D656", +"7J c #EECD4F", +"7K c #EDD460", +"7L c #C2A12D", +"7M c #5B4F13", +"7N c #222020", +"7O c #383738", +"7P c #434344", +"7Q c #434545", +"7R c #4B4C4D", +"7S c #4A4B4A", +"7T c #4B4B49", +"7U c #4A4949", +"7V c #494949", +"7W c #4D4B45", +"7X c #75681F", +"7Y c #75691D", +"7Z c #74681F", +"7& c #756A1C", +"8 c #756B1C", +"80 c #726819", +"81 c #756A19", +"82 c #7B7316", +"83 c #7B7117", +"84 c #7B7015", +"85 c #7B7115", +"86 c #7B7114", +"87 c #7D7414", +"88 c #7C7314", +"89 c #7C7313", +"8a c #7D7312", +"8b c #766D14", +"8c c #242522", +"8d c #222222", +"8e c #444646", +"8f c #474745", +"8g c #4E4C4D", +"8h c #4D4C4B", +"8i c #4A4B4B", +"8j c #4A4A4A", +"8k c #494A4A", +"8l c #292828", +"8m c #232223", +"8n c #232224", +"8o c #222223", +"8p c #232323", +"8q c #222224", +"8r c #232423", +"8s c #222422", +"8t c #222324", +"8u c #242423", +"8v c #242322", +"8w c #222323", +"8x c #242324", +"8y c #232424", +"8z c #3C3D3C", +"8A c #474848", +"8B c #4C4B4C", +"8C c #4C4A4A", +"8D c #494A4C", +"8E c #4C4B4A", +"8F c #4B484A", +"8G c #4A4A48", +"8H c #232422", +"8I c #242223", +"8J c #242422", +"8K c #222423", +"8L c #252523", +"8M c #222523", +"8N c #252323", +"8O c #413E3F", +"8P c #494849", +"8Q c #484949", +"8R c #484849", +" 0 0 1 2 3 3 4 5 6 7 8 9 a b c d e f g h i j k l m n i j i", +" o p p q r s t u v w x y z A B C D E F G H k j m I m J K L M", +" N O s P v Q R S T U V W X Y Z &0 00010203040506070708090a09", +"0b0c0d0e h0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D", +"0E m0F0G070H0I0J0K0L0M0N0O0P0Q0M0R0S0T0U0V0W0X0Y0Z0&1 101112", +"131415161718191a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w", +"1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Y1Z", +"1&1w2 1t202122232425261J2728292a2b2c1Q2d2e2f2g2h2i2j2k2l2m2n", +"2o2p2q2n2r2s2t2u2v2w2x2y2z292A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P", +"2Q2R2S2T2U2V2W2X2z232Y2Z2&3 303132333435363738393a3b3c3d3e3f", +"2R3g3h3i3j3k3l3m3n3o3p3 3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H", +"3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3&4 404142433a4445464748", +"494a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s414t4u4v4w4x4y4z4A48", +"4B2O4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4s4S4T4T4U4V4W4X4Y4d4Z4c", +"4&3h2N4b5 505152535455565758595a5b5c4s5d5e5f5g5h5i5j5k5l3G5m", +"5n5o5p2U5q5r5s5t5u5v5w5x5y5z5A5B5C5c5D5E5F5G5H5I5J5K5L485M5N", +"5O5P5Q4&5R5S5T5U5V5W5X5Y5Z5&6 5b60615F62636465666768692N2U2P", +"2p6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q5D626r6s6t6u6v1W6w6x4&6y", +"6z6A6B201Y6C6D6E6F6G6H6I6J6J6K6L5D6M6N6M6O6P6Q6R6S6T6U6V6W6X", +"6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o6B", +"7p7q7r0&7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P1v7Q", +"7R7S7T7U7V7W7X7Y7Z7Y7&8 808182838485868788898a8b8c8d3d6&8e8f", +"8g8h8i8j8k7V8l8m8n8o8p8m8q8r8s8o8p8t8u8v8r8d8w8x8u8y8z0&1 8A", +"8B8C8D8E8F8G468x8H8r8w8I8J8y8K8t8p8I8K8m8y8L8M8x8N8L8O8P8Q8R"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleWireOnShaded.xpm b/2009-x64/cps4.03/icons/cpscToggleWireOnShaded.xpm new file mode 100644 index 0000000..a3eea4c --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleWireOnShaded.xpm @@ -0,0 +1,1396 @@ +/* XPM */ +static char *T_xpm[]={ +"64 24 1369 2", +" c #727171", +" 0 c #717171", +" 1 c #6F6F70", +" 2 c #70706F", +" 3 c #6E6E6E", +" 4 c #6C6D6D", +" 5 c #6D6D6C", +" 6 c #6C6C6C", +" 7 c #6B6B6A", +" 8 c #696868", +" 9 c #686868", +" a c #716F65", +" b c #6B6964", +" c c #666666", +" d c #656564", +" e c #636463", +" f c #646463", +" g c #626262", +" h c #5F605F", +" i c #605F60", +" j c #5E5F5E", +" k c #5C5D5D", +" l c #5E5D5E", +" m c #5C5C5C", +" n c #5C5C5B", +" o c #5A5B5B", +" p c #595A5A", +" q c #595859", +" r c #595858", +" s c #5A5958", +" t c #585858", +" u c #565857", +" v c #575757", +" w c #565656", +" x c #555756", +" y c #545554", +" z c #565456", +" A c #555455", +" B c #545555", +" C c #545352", +" D c #535454", +" E c #545353", +" F c #535453", +" G c #545355", +" H c #51515E", +" I c #4F4E74", +" J c #58557A", +" K c #494977", +" L c #4F4F73", +" M c #454653", +" N c #4A4A52", +" O c #535357", +" P c #575657", +" Q c #575656", +" R c #585756", +" S c #585856", +" T c #585859", +" U c #58595A", +" V c #6E6F6D", +" W c #6D6C6D", +" X c #6B6C6B", +" Y c #686767", +" Z c #837D5C", +" & c #C0A947", +"0 c #D9BE48", +"00 c #F5D23C", +"01 c #FCD946", +"02 c #FDDE4F", +"03 c #F4D23E", +"04 c #DDBE3F", +"05 c #A99649", +"06 c #7F7652", +"07 c #5B5C5C", +"08 c #5B5B5B", +"09 c #5A5A5B", +"0a c #5A5A5A", +"0b c #585758", +"0c c #565856", +"0d c #545455", +"0e c #565654", +"0f c #535253", +"0g c #525353", +"0h c #535352", +"0i c #525252", +"0j c #525050", +"0k c #515152", +"0l c #515250", +"0m c #505150", +"0n c #504F4F", +"0o c #50504F", +"0p c #51504F", +"0q c #4F5050", +"0r c #4F504F", +"0s c #4F4F50", +"0t c #505050", +"0u c #4E4E4F", +"0v c #4F5150", +"0w c #4E4D57", +"0x c #434060", +"0y c #5A4C64", +"0z c #90795E", +"0A c #3E3758", +"0B c #5D4E31", +"0C c #9B7F6B", +"0D c #766785", +"0E c #434173", +"0F c #353256", +"0G c #434260", +"0H c #504F51", +"0I c #545454", +"0J c #565655", +"0K c #696A6A", +"0L c #686969", +"0M c #696767", +"0N c #666667", +"0O c #656566", +"0P c #7C785A", +"0Q c #BEA73F", +"0R c #E7C637", +"0S c #F5D350", +"0T c #FDE866", +"0U c #FEF884", +"0V c #FFFE89", +"0W c #FFFE8C", +"0X c #FEE45E", +"0Y c #F8D954", +"0Z c #ECCB40", +"0& c #E7C532", +"1 c #C4A837", +"10 c #7B744B", +"11 c #545453", +"12 c #525253", +"13 c #515050", +"14 c #505151", +"15 c #4F5151", +"16 c #4F4E4E", +"17 c #4E4E4E", +"18 c #4D4E4F", +"19 c #4E4F4E", +"1a c #4D4D4D", +"1b c #4C4C4B", +"1c c #4D4C4D", +"1d c #4A4C4B", +"1e c #4C4B4C", +"1f c #4B4A4A", +"1g c #4B4B4B", +"1h c #4C4A4B", +"1i c #4B4B4C", +"1j c #4B4C4B", +"1k c #4E4C58", +"1l c #4D4C74", +"1m c #574E71", +"1n c #796577", +"1o c #856F5C", +"1p c #6D6071", +"1q c #675645", +"1r c #675951", +"1s c #584D59", +"1t c #514C73", +"1u c #242234", +"1v c #514B7D", +"1w c #433E68", +"1x c #303059", +"1y c #464751", +"1z c #525251", +"1A c #535152", +"1B c #525352", +"1C c #545354", +"1D c #555554", +"1E c #656565", +"1F c #646466", +"1G c #646465", +"1H c #636363", +"1I c #A09043", +"1J c #D5B82C", +"1K c #D7B93D", +"1L c #EACB52", +"1M c #FEEC77", +"1N c #FEFDAD", +"1O c #FFFFD9", +"1P c #FFFEED", +"1Q c #FFFFD6", +"1R c #FEFF97", +"1S c #FDED6C", +"1T c #F0D04D", +"1U c #E2C23E", +"1V c #D9B830", +"1W c #D8B828", +"1X c #8B7E3F", +"1Y c #4F4E4F", +"1Z c #4F4F4E", +"1& c #4C4D4D", +"2 c #4E4D4E", +"20 c #4B494B", +"21 c #484A48", +"22 c #494948", +"23 c #484949", +"24 c #494949", +"25 c #474848", +"26 c #484847", +"27 c #474747", +"28 c #464747", +"29 c #474648", +"2a c #464546", +"2b c #464746", +"2c c #464646", +"2d c #484647", +"2e c #474748", +"2f c #474749", +"2g c #4A466C", +"2h c #775F67", +"2i c #AE8D7C", +"2j c #907B62", +"2k c #FFE964", +"2l c #FDE260", +"2m c #968677", +"2n c #CAB23F", +"2o c #D1B439", +"2p c #C4AA30", +"2q c #726578", +"2r c #383131", +"2s c #36304C", +"2t c #3B3C70", +"2u c #333259", +"2v c #23233F", +"2w c #2C2D41", +"2x c #515150", +"2y c #525151", +"2z c #616262", +"2A c #605F61", +"2B c #A29137", +"2C c #CAB126", +"2D c #C3AA33", +"2E c #D0B242", +"2F c #EFD35F", +"2G c #FFF68F", +"2H c #FFFFE8", +"2I c #FEFEFE", +"2J c #FFFFF9", +"2K c #FFFEAE", +"2L c #FFF174", +"2M c #EBCD4D", +"2N c #DBBE3C", +"2O c #D4B532", +"2P c #CDAF29", +"2Q c #CFB224", +"2R c #9F8D31", +"2S c #484848", +"2T c #474647", +"2U c #454545", +"2V c #444545", +"2W c #444544", +"2X c #444344", +"2Y c #444343", +"2Z c #434344", +"2& c #424242", +"3 c #414242", +"30 c #424342", +"31 c #434341", +"32 c #424042", +"33 c #424241", +"34 c #424343", +"35 c #444347", +"36 c #4D486A", +"37 c #7A5E59", +"38 c #F3D657", +"39 c #D6CD7A", +"3a c #A99D64", +"3b c #FFFE9D", +"3c c #F4F38E", +"3d c #7B7884", +"3e c #61584E", +"3f c #534B3C", +"3g c #3A3541", +"3h c #42393C", +"3i c #3A3856", +"3j c #3F371C", +"3k c #2E2B3C", +"3l c #232245", +"3m c #181829", +"3n c #2A284E", +"3o c #333446", +"3p c #4F4F4F", +"3q c #60605F", +"3r c #5E5E5E", +"3s c #77714D", +"3t c #BEA71F", +"3u c #B39C28", +"3v c #B79D31", +"3w c #CBB140", +"3x c #E1C853", +"3y c #FFF180", +"3z c #FEFECB", +"3A c #FFFEFE", +"3B c #FFFFFD", +"3C c #FEFEE2", +"3D c #FFFFB7", +"3E c #FFF072", +"3F c #E6C84A", +"3G c #D4B838", +"3H c #C9AE2F", +"3I c #C7AB2A", +"3J c #C5A823", +"3K c #CBB020", +"3L c #786F35", +"3M c #454344", +"3N c #434343", +"3O c #434241", +"3P c #404040", +"3Q c #404140", +"3R c #414041", +"3S c #3F3F3F", +"3T c #3E3D3F", +"3U c #3E3E3F", +"3V c #3E403E", +"3W c #3E3E3E", +"3X c #3E3F3E", +"3Y c #3E3F3D", +"3Z c #3D3F3D", +"3& c #3E3D3D", +"4 c #3D3D3D", +"40 c #3F3E3E", +"41 c #484357", +"42 c #8F6F66", +"43 c #A78D4D", +"44 c #FFF66E", +"45 c #BFBE9A", +"46 c #B0AB9D", +"47 c #9594AC", +"48 c #595162", +"49 c #8B7F66", +"4a c #695E5D", +"4b c #CAB33C", +"4c c #C1AA31", +"4d c #AE9736", +"4e c #695B70", +"4f c #474449", +"4g c #545314", +"4h c #393763", +"4i c #272549", +"4j c #1E1D36", +"4k c #2A2950", +"4l c #313339", +"4m c #4C4C4C", +"4n c #4E4E4C", +"4o c #606058", +"4p c #AC9A1E", +"4q c #A89420", +"4r c #A68F27", +"4s c #B19B2D", +"4t c #C5AE3A", +"4u c #D9C148", +"4v c #F7E66B", +"4w c #FEFA87", +"4x c #FFFFA6", +"4y c #FEFEB1", +"4z c #FFF079", +"4A c #F1D75A", +"4B c #D9BF40", +"4C c #CDB434", +"4D c #C5AB2B", +"4E c #BEA424", +"4F c #BBA021", +"4G c #BCA21E", +"4H c #B8A01E", +"4I c #48473D", +"4J c #3E3E3D", +"4K c #3D3D3C", +"4L c #3C3C3D", +"4M c #3B3B3B", +"4N c #3B3C3C", +"4O c #3B3B3A", +"4P c #3A3A3B", +"4Q c #3A3B3C", +"4R c #3B3A3B", +"4S c #393939", +"4T c #393A39", +"4U c #39393A", +"4V c #3A3939", +"4W c #3A3A3A", +"4X c #3D3D4B", +"4Y c #785950", +"4Z c #AC9469", +"4& c #BCA451", +"5 c #EAE88B", +"50 c #676583", +"51 c #5B5461", +"52 c #D1C9B1", +"53 c #FFFFD3", +"54 c #FEFF99", +"55 c #A09475", +"56 c #9F904A", +"57 c #C6AE30", +"58 c #AE9B3A", +"59 c #534E45", +"5a c #2E292A", +"5b c #363532", +"5c c #494761", +"5d c #3D3B48", +"5e c #383436", +"5f c #242246", +"5g c #1E1C27", +"5h c #3C3B40", +"5i c #807735", +"5j c #AB9817", +"5k c #9A8A1E", +"5l c #A09024", +"5m c #B5A029", +"5n c #C1AB30", +"5o c #CFB63A", +"5p c #E2CA4B", +"5q c #EDD457", +"5r c #F7E76B", +"5s c #FAE76D", +"5t c #F9E86A", +"5u c #EED457", +"5v c #D5BC3E", +"5w c #CEB436", +"5x c #C3AB2B", +"5y c #BDA426", +"5z c #B8A021", +"5A c #B29B1D", +"5B c #B19B19", +"5C c #B7A019", +"5D c #7B7129", +"5E c #393B3B", +"5F c #393A3A", +"5G c #383A39", +"5H c #383838", +"5I c #383738", +"5J c #363637", +"5K c #3C3C39", +"5L c #958147", +"5M c #4A4739", +"5N c #A18D44", +"5O c #3D3C36", +"5P c #353435", +"5Q c #363636", +"5R c #353536", +"5S c #343535", +"5T c #363635", +"5U c #3F3F67", +"5V c #99745D", +"5W c #A39065", +"5X c #978A63", +"5Y c #4E4350", +"5Z c #D1C78D", +"5& c #9895A1", +"6 c #F9F8E9", +"60 c #FFFEC5", +"61 c #FFFB88", +"62 c #F3D755", +"63 c #62596B", +"64 c #9B8B41", +"65 c #46403B", +"66 c #5E570E", +"67 c #7F740B", +"68 c #665A1C", +"69 c #2D2E4D", +"6a c #1A1726", +"6b c #222134", +"6c c #2E2C20", +"6d c #18172A", +"6e c #2E2D3C", +"6f c #4A4A49", +"6g c #5B5B53", +"6h c #968416", +"6i c #9E8E14", +"6j c #8C7C19", +"6k c #A48E1C", +"6l c #A58E22", +"6m c #A89025", +"6n c #AF952C", +"6o c #B79E34", +"6p c #C4AA3D", +"6q c #CBB143", +"6r c #CDB443", +"6s c #CCB140", +"6t c #C7AF3A", +"6u c #B8A02C", +"6v c #B9A028", +"6w c #B29B22", +"6x c #AF981E", +"6y c #AE961C", +"6z c #AB9619", +"6A c #AB9516", +"6B c #AC9516", +"6C c #B29B16", +"6D c #3E3D35", +"6E c #353635", +"6F c #353535", +"6G c #333333", +"6H c #323232", +"6I c #656446", +"6J c #DEBD50", +"6K c #F0A736", +"6L c #454436", +"6M c #FDC341", +"6N c #D3A03C", +"6O c #5E5236", +"6P c #303031", +"6Q c #303131", +"6R c #313032", +"6S c #313132", +"6T c #333331", +"6U c #403F70", +"6V c #C6A03C", +"6W c #706762", +"6X c #756046", +"6Y c #D8C465", +"6Z c #FFFE9E", +"6& c #E9E799", +"7 c #9F9B86", +"70 c #FFF98F", +"71 c #F1DA61", +"72 c #D5BA45", +"73 c #95824C", +"74 c #27253A", +"75 c #615716", +"76 c #7F700E", +"77 c #82740F", +"78 c #786B24", +"79 c #4D4936", +"7a c #676004", +"7b c #272539", +"7c c #494708", +"7d c #232130", +"7e c #222231", +"7f c #494848", +"7g c #69633C", +"7h c #88760F", +"7i c #8C7812", +"7j c #8E7815", +"7k c #947B17", +"7l c #937B1B", +"7m c #957C1C", +"7n c #997F22", +"7o c #9D8326", +"7p c #A18829", +"7q c #A58B2C", +"7r c #A68D2B", +"7s c #A9912B", +"7t c #A48C26", +"7u c #A38C21", +"7v c #A18A1D", +"7w c #A18A1C", +"7x c #9C8617", +"7y c #9D8716", +"7z c #9C8615", +"7A c #958024", +"7B c #9E8A12", +"7C c #A28F11", +"7D c #605627", +"7E c #323132", +"7F c #373633", +"7G c #9F934B", +"7H c #FEC145", +"7I c #E9871F", +"7J c #E9962A", +"7K c #433F31", +"7L c #E8A32F", +"7M c #FEA12E", +"7N c #F8A936", +"7O c #967536", +"7P c #2F2E2E", +"7Q c #2F2E2D", +"7R c #2E2F2E", +"7S c #313033", +"7T c #554E7A", +"7U c #695950", +"7V c #765C39", +"7W c #836F76", +"7X c #EDC95C", +"7Y c #FEEF6B", +"7Z c #FDEA75", +"7& c #BEA774", +"8 c #A28C4C", +"80 c #CDAD45", +"81 c #9E8952", +"82 c #3D382D", +"83 c #5A4E10", +"84 c #342C2A", +"85 c #494228", +"86 c #786914", +"87 c #786C69", +"88 c #4F4914", +"89 c #605A03", +"8a c #312E34", +"8b c #4A4616", +"8c c #464215", +"8d c #181929", +"8e c #706824", +"8f c #7D6C0B", +"8g c #8B7C17", +"8h c #8A7720", +"8i c #948412", +"8j c #947F14", +"8k c #947F16", +"8l c #957D18", +"8m c #937D18", +"8n c #947C19", +"8o c #927A1C", +"8p c #90781B", +"8q c #8C741A", +"8r c #8D7519", +"8s c #897115", +"8t c #8C7416", +"8u c #8B7513", +"8v c #8B7612", +"8w c #8E7911", +"8x c #8E7641", +"8y c #A48453", +"8z c #B07A39", +"8A c #C4A429", +"8B c #716422", +"8C c #302F30", +"8D c #5B5B3D", +"8E c #DDC351", +"8F c #FEAC33", +"8G c #EF8D20", +"8H c #FCA02A", +"8I c #F0A331", +"8J c #413C30", +"8K c #FDA932", +"8L c #F99929", +"8M c #F9992C", +"8N c #D09636", +"8O c #4D432D", +"8P c #2B2C2C", +"8Q c #323340", +"8R c #4C4573", +"8S c #4A372C", +"8T c #E5B648", +"8U c #C3A770", +"8V c #A98F56", +"8W c #ECCD4C", +"8X c #ECC749", +"8Y c #E3C049", +"8Z c #73665C", +"8& c #958354", +"9 c #4E482C", +"90 c #73640D", +"91 c #77660D", +"92 c #73620C", +"93 c #5D520E", +"94 c #29262F", +"95 c #433F5D", +"96 c #52490A", +"97 c #5B5303", +"98 c #454013", +"99 c #333230", +"9a c #23211D", +"9b c #17162A", +"9c c #424041", +"9d c #696121", +"9e c #817209", +"9f c #816F1E", +"9g c #807217", +"9h c #83751B", +"9i c #857E11", +"9j c #8B7F10", +"9k c #917E11", +"9l c #8F7A11", +"9m c #8D7913", +"9n c #8B7613", +"9o c #897313", +"9p c #877114", +"9q c #836E13", +"9r c #816C12", +"9s c #7D6A10", +"9t c #7D6910", +"9u c #7D690E", +"9v c #7F6C0F", +"9w c #83663D", +"9x c #8E6F38", +"9y c #BC7825", +"9z c #CF882C", +"9A c #7B6928", +"9B c #8F8243", +"9C c #FECC44", +"9D c #ED8F23", +"9E c #FDA32A", +"9F c #FEAF31", +"9G c #FEB233", +"9H c #ECA432", +"9I c #3E3B2C", +"9J c #FAA62E", +"9K c #FFAC30", +"9L c #FEB231", +"9M c #F8A22A", +"9N c #FEA937", +"9O c #F9A938", +"9P c #835F37", +"9Q c #393952", +"9R c #362F41", +"9S c #8A6853", +"9T c #F6A940", +"9U c #C89A3C", +"9V c #6A5A62", +"9W c #CDAA48", +"9X c #D2B840", +"9Y c #C8B333", +"9Z c #8C7D4E", +"9& c #2B2938", +"a c #706214", +"a0 c #82710D", +"a1 c #867210", +"a2 c #82700F", +"a3 c #78660B", +"a4 c #5F5312", +"a5 c #2F2D3E", +"a6 c #312E14", +"a7 c #2E2914", +"a8 c #2D2913", +"a9 c #17172F", +"aa c #484509", +"ab c #26242C", +"ac c #36373A", +"ad c #635E29", +"ae c #767105", +"af c #766C1A", +"ag c #776E12", +"ah c #7A6B22", +"ai c #7B7019", +"aj c #7E7910", +"ak c #837C0D", +"al c #87780C", +"am c #8A770D", +"an c #88760C", +"ao c #84720D", +"ap c #816E0D", +"aq c #7F6D0D", +"ar c #7B6A0D", +"as c #79660C", +"at c #77640D", +"au c #74620C", +"av c #725F0C", +"aw c #6C552B", +"ax c #785C30", +"ay c #BF7729", +"az c #C47723", +"aA c #685722", +"aB c #513F2B", +"aC c #C88528", +"aD c #FAC648", +"aE c #FEC440", +"aF c #FEB934", +"aG c #FFB432", +"aH c #EA9F2E", +"aI c #3D392C", +"aJ c #F09F2B", +"aK c #F9A42A", +"aL c #FFB031", +"aM c #FFBD52", +"aN c #FFC36E", +"aO c #B16E1C", +"aP c #433626", +"aQ c #2F2D43", +"aR c #523A24", +"aS c #856764", +"aT c #AD8A5C", +"aU c #B68A30", +"aV c #A88A3B", +"aW c #6D5F5A", +"aX c #BB9940", +"aY c #92804B", +"aZ c #423B2A", +"a& c #7C7711", +"b c #4D4921", +"b0 c #574D28", +"b1 c #8A7610", +"b2 c #85720D", +"b3 c #7B6A0A", +"b4 c #675B45", +"b5 c #4B4518", +"b6 c #5E5303", +"b7 c #5A5004", +"b8 c #564E03", +"b9 c #1C1B34", +"ba c #5E5502", +"bb c #24202F", +"bc c #24222C", +"bd c #5C5937", +"be c #706D03", +"bf c #6D621B", +"bg c #6B650E", +"bh c #70631D", +"bi c #736421", +"bj c #74691A", +"bk c #747012", +"bl c #78770A", +"bm c #7C7609", +"bn c #7E720A", +"bo c #7F7109", +"bp c #7F6E09", +"bq c #7A6B08", +"br c #786908", +"bs c #756408", +"bt c #746309", +"bu c #72620A", +"bv c #73620A", +"bw c #584719", +"bx c #6A5322", +"by c #AA6C21", +"bz c #957412", +"bA c #4A4316", +"bB c #2A2A29", +"bC c #33302D", +"bD c #8E6227", +"bE c #FABA3A", +"bF c #FFCE47", +"bG c #FEB333", +"bH c #EFA430", +"bI c #403B2E", +"bJ c #EB9727", +"bK c #F4A02A", +"bL c #FEC569", +"bM c #E89F3D", +"bN c #7D5120", +"bO c #2A2A2B", +"bP c #2D2E42", +"bQ c #6A5251", +"bR c #B38B30", +"bS c #6A5550", +"bT c #A9822D", +"bU c #B4982B", +"bV c #7A6C4A", +"bW c #6D5E5D", +"bX c #4E4333", +"bY c #80721E", +"bZ c #7B7314", +"b& c #7A760E", +"c c #626111", +"c0 c #433E29", +"c1 c #6A5F19", +"c2 c #796B07", +"c3 c #454264", +"c4 c #605805", +"c5 c #625903", +"c6 c #5E5402", +"c7 c #443C11", +"c8 c #211E2B", +"c9 c #4F480A", +"ca c #1D1B30", +"cb c #1B1A21", +"cc c #5A583C", +"cd c #726E01", +"ce c #696314", +"cf c #66610B", +"cg c #675F11", +"ch c #685D1A", +"ci c #6A601E", +"cj c #6D6516", +"ck c #6C6A10", +"cl c #6F6E09", +"cm c #6F7006", +"cn c #736E05", +"co c #786D07", +"cp c #7B6C07", +"cq c #7A6A07", +"cr c #7A6908", +"cs c #77680A", +"ct c #77670A", +"cu c #76660B", +"cv c #76620B", +"cw c #604F15", +"cx c #7C660D", +"cy c #8B7510", +"cz c #383215", +"cA c #252524", +"cB c #2E2F2F", +"cC c #54402A", +"cD c #D8952B", +"cE c #FFC746", +"cF c #EBA233", +"cG c #433E30", +"cH c #F5AA32", +"cI c #FFC36A", +"cJ c #B26F1C", +"cK c #433828", +"cL c #2C2D2D", +"cM c #2E2E2E", +"cN c #2D2D2E", +"cO c #26262B", +"cP c #4A4058", +"cQ c #997941", +"cR c #857344", +"cS c #7F6443", +"cT c #A98C2E", +"cU c #8D7835", +"cV c #2D2A35", +"cW c #594B29", +"cX c #786626", +"cY c #7C6E1D", +"cZ c #7A7215", +"c& c #76720B", +"d c #757207", +"d0 c #49471E", +"d1 c #443F30", +"d2 c #312D2E", +"d3 c #635907", +"d4 c #655C04", +"d5 c #625804", +"d6 c #524A0C", +"d7 c #1B1A32", +"d8 c #1F1D22", +"d9 c #1E1D37", +"da c #212025", +"db c #54534E", +"dc c #746D03", +"dd c #6A6713", +"de c #666010", +"df c #65610E", +"dg c #685E15", +"dh c #685C1E", +"di c #6B5E1E", +"dj c #6C6316", +"dk c #6C6811", +"dl c #6E6D0B", +"dm c #717107", +"dn c #756F07", +"do c #787007", +"dp c #7B6E08", +"dq c #7E6D08", +"dr c #7C6C08", +"ds c #79690A", +"dt c #7C680B", +"du c #7C680C", +"dv c #7F6A0D", +"dw c #907710", +"dx c #201E17", +"dy c #1C1B1C", +"dz c #303032", +"dA c #313131", +"dB c #363430", +"dC c #926326", +"dD c #E79122", +"dE c #444133", +"dF c #E79C24", +"dG c #7E5422", +"dH c #30302F", +"dI c #303030", +"dJ c #303133", +"dK c #483D59", +"dL c #604F5F", +"dM c #AB921B", +"dN c #594E58", +"dO c #826C40", +"dP c #453D32", +"dQ c #6D5F1A", +"dR c #5F5323", +"dS c #3D362B", +"dT c #5B4D2B", +"dU c #786D1A", +"dV c #756E12", +"dW c #70700A", +"dX c #6E6E05", +"dY c #393839", +"dZ c #443D10", +"d& c #3E380D", +"e c #312C12", +"e0 c #322F10", +"e1 c #1B191A", +"e2 c #191624", +"e3 c #36311A", +"e4 c #23213C", +"e5 c #242425", +"e6 c #6C6418", +"e7 c #706C0D", +"e8 c #696017", +"e9 c #676012", +"ea c #676013", +"eb c #685D19", +"ec c #6B5C22", +"ed c #6B601E", +"ee c #6E6517", +"ef c #6E6912", +"eg c #6F6F0D", +"eh c #717109", +"ei c #757208", +"ej c #7A7007", +"ek c #7E7109", +"el c #806E08", +"em c #806D0B", +"en c #7F6E0A", +"eo c #7F6D0B", +"ep c #806C0C", +"eq c #856E0E", +"er c #706013", +"es c #1A181A", +"et c #191919", +"eu c #2D2C2D", +"ev c #343534", +"ew c #333433", +"ex c #57432E", +"ey c #3B3834", +"ez c #4E4331", +"eA c #343233", +"eB c #343433", +"eC c #323432", +"eD c #323233", +"eE c #323433", +"eF c #3D3D55", +"eG c #524967", +"eH c #725F2F", +"eI c #7F7538", +"eJ c #2B2740", +"eK c #746220", +"eL c #7D6C1E", +"eM c #78671E", +"eN c #6F5D25", +"eO c #473F30", +"eP c #49422B", +"eQ c #716913", +"eR c #6E6B0E", +"eS c #4F4C40", +"eT c #444423", +"eU c #706A04", +"eV c #706604", +"eW c #6B6104", +"eX c #3A331F", +"eY c #2B2821", +"eZ c #312E29", +"e& c #1D1E25", +"f c #585746", +"f0 c #737006", +"f1 c #6B631B", +"f2 c #685E18", +"f3 c #695F16", +"f4 c #685F18", +"f5 c #6B5D1E", +"f6 c #6C5F20", +"f7 c #6E621B", +"f8 c #6E6717", +"f9 c #706B12", +"fa c #72700B", +"fb c #737308", +"fc c #787409", +"fd c #7D7307", +"fe c #807308", +"ff c #82710A", +"fg c #81700B", +"fh c #836F0A", +"fi c #846F0D", +"fj c #857010", +"fk c #2D291A", +"fl c #1B1B1C", +"fm c #212121", +"fn c #383737", +"fo c #373838", +"fp c #373737", +"fq c #373738", +"fr c #373836", +"fs c #353636", +"ft c #383736", +"fu c #363735", +"fv c #373736", +"fw c #373637", +"fx c #363737", +"fy c #373837", +"fz c #4D4667", +"fA c #4D425E", +"fB c #474340", +"fC c #5F5620", +"fD c #2D2727", +"fE c #665622", +"fF c #7A6724", +"fG c #776425", +"fH c #746523", +"fI c #5D5223", +"fJ c #34302E", +"fK c #5C5A1A", +"fL c #434069", +"fM c #666706", +"fN c #706B04", +"fO c #726605", +"fP c #6D6304", +"fQ c #695E04", +"fR c #201D35", +"fS c #1A1922", +"fT c #1A1925", +"fU c #262525", +"fV c #252526", +"fW c #555556", +"fX c #615D3B", +"fY c #6E6F0B", +"fZ c #6C611D", +"f& c #6B5E1F", +"g c #6A5E1B", +"g0 c #6A5D1D", +"g1 c #6C5D21", +"g2 c #6F611E", +"g3 c #6F651A", +"g4 c #706815", +"g5 c #716D10", +"g6 c #73710D", +"g7 c #777507", +"g8 c #797508", +"g9 c #7F7409", +"ga c #86730A", +"gb c #86730B", +"gc c #86730C", +"gd c #85720E", +"ge c #393519", +"gf c #1C1C1D", +"gg c #1C1C1C", +"gh c #1C1D1C", +"gi c #1D1D1B", +"gj c #3A3B3B", +"gk c #3A383A", +"gl c #3A3A38", +"gm c #3A3938", +"gn c #3F404F", +"go c #3E3962", +"gp c #2F2820", +"gq c #6E6713", +"gr c #796E19", +"gs c #484020", +"gt c #2B231E", +"gu c #635320", +"gv c #73651F", +"gw c #71681A", +"gx c #6E6615", +"gy c #2B273E", +"gz c #212126", +"gA c #2B2A17", +"gB c #363313", +"gC c #3C3711", +"gD c #3E3713", +"gE c #28231C", +"gF c #1C1C34", +"gG c #151620", +"gH c #252425", +"gI c #262726", +"gJ c #262627", +"gK c #545456", +"gL c #68642E", +"gM c #73720A", +"gN c #6D641A", +"gO c #6D5E21", +"gP c #6D5F22", +"gQ c #6E621F", +"gR c #6E641B", +"gS c #726916", +"gT c #716C13", +"gU c #74700E", +"gV c #767509", +"gW c #7C7709", +"gX c #82750A", +"gY c #87750A", +"gZ c #88740A", +"g& c #88760B", +"h c #4B4218", +"h0 c #1E1E1F", +"h1 c #1E1E1E", +"h2 c #1D1D1F", +"h3 c #1E1D1E", +"h4 c #1D1E1D", +"h5 c #2F2E2F", +"h6 c #3D3E3E", +"h7 c #3E3D3C", +"h8 c #3C3D3C", +"h9 c #3C3C3B", +"ha c #3D3B3B", +"hb c #3C3B3B", +"hc c #3D3C3C", +"hd c #282738", +"he c #332922", +"hf c #2E261E", +"hg c #5B5515", +"hh c #7A7212", +"hi c #645C19", +"hj c #2E271C", +"hk c #42381D", +"hl c #726A16", +"hm c #4D4726", +"hn c #383826", +"ho c #6E7007", +"hp c #706E05", +"hq c #6C6408", +"hr c #665C07", +"hs c #453E10", +"ht c #1F1B33", +"hu c #171722", +"hv c #242525", +"hw c #262626", +"hx c #272726", +"hy c #272827", +"hz c #575957", +"hA c #565756", +"hB c #5D5712", +"hC c #767803", +"hD c #6F6B14", +"hE c #6E641C", +"hF c #6E621E", +"hG c #6F661A", +"hH c #706718", +"hI c #716A14", +"hJ c #73700F", +"hK c #75740D", +"hL c #787807", +"hM c #7E7708", +"hN c #847808", +"hO c #897709", +"hP c #8B770B", +"hQ c #5B4F15", +"hR c #21201F", +"hS c #20201F", +"hT c #201F1F", +"hU c #282927", +"hV c #424142", +"hW c #404041", +"hX c #414141", +"hY c #41413F", +"hZ c #414040", +"h& c #3A3A3C", +"i c #2F3030", +"i0 c #292928", +"i1 c #353434", +"i2 c #41403F", +"i3 c #3F413F", +"i4 c #403F40", +"i5 c #2C2A34", +"i6 c #262027", +"i7 c #3C331C", +"i8 c #29201F", +"i9 c #69630F", +"ia c #77740E", +"ib c #4D4D1B", +"ic c #252029", +"id c #22202E", +"ie c #59590D", +"if c #5D5909", +"ig c #4D460C", +"ih c #60540A", +"ii c #4E4512", +"ij c #221F32", +"ik c #1C1B2D", +"il c #262526", +"im c #272727", +"in c #282827", +"io c #282929", +"ip c #59595A", +"iq c #474746", +"ir c #373520", +"is c #6C630D", +"it c #74720D", +"iu c #73730B", +"iv c #75740C", +"iw c #76730D", +"ix c #77760A", +"iy c #7B7806", +"iz c #837908", +"iA c #887A09", +"iB c #8A7909", +"iC c #6F6111", +"iD c #35331E", +"iE c #222322", +"iF c #222222", +"iG c #212122", +"iH c #202222", +"iI c #202022", +"iJ c #222121", +"iK c #202121", +"iL c #434444", +"iM c #434442", +"iN c #434242", +"iO c #232525", +"iP c #232422", +"iQ c #222122", +"iR c #2A2828", +"iS c #252625", +"iT c #3E3D3E", +"iU c #434243", +"iV c #424243", +"iW c #262628", +"iX c #211E27", +"iY c #251F27", +"iZ c #2B241E", +"i& c #362E1B", +"j c #3D3733", +"j0 c #36322A", +"j1 c #56500C", +"j2 c #49410E", +"j3 c #463F11", +"j4 c #393213", +"j5 c #191727", +"j6 c #1A1828", +"j7 c #1D1D31", +"j8 c #272927", +"j9 c #282829", +"ja c #2A2A2A", +"jb c #292929", +"jc c #5B5A5B", +"jd c #595B5B", +"je c #3A3A39", +"jf c #282A2A", +"jg c #3F3C20", +"jh c #635B10", +"ji c #736A0C", +"jj c #7D7707", +"jk c #827B06", +"jl c #7E7A07", +"jm c #7B6D0C", +"jn c #685D13", +"jo c #37341F", +"jp c #242524", +"jq c #232424", +"jr c #232423", +"js c #242422", +"jt c #232322", +"ju c #242223", +"jv c #222223", +"jw c #222323", +"jx c #464645", +"jy c #434443", +"jz c #3A393A", +"jA c #242423", +"jB c #232323", +"jC c #2D2D2D", +"jD c #201F26", +"jE c #27253B", +"jF c #1C1A32", +"jG c #141224", +"jH c #201E21", +"jI c #1A1720", +"jJ c #1B1723", +"jK c #1E1926", +"jL c #221F31", +"jM c #26263F", +"jN c #25232E", +"jO c #292829", +"jP c #292828", +"jQ c #2A2928", +"jR c #2A2B2A", +"jS c #5D5E5D", +"jT c #323333", +"jU c #2A292B", +"jV c #292A2A", +"jW c #292827", +"jX c #2E2D25", +"jY c #363523", +"jZ c #2C2B24", +"j& c #272626", +"k c #262527", +"k0 c #252525", +"k1 c #242426", +"k2 c #232524", +"k3 c #272728", +"k4 c #464847", +"k5 c #363435", +"k6 c #252323", +"k7 c #242324", +"k8 c #242424", +"k9 c #282828", +"ka c #383839", +"kb c #3C3B3C", +"kc c #252727", +"kd c #252426", +"ke c #242326", +"kf c #25242A", +"kg c #24242A", +"kh c #27252A", +"ki c #272729", +"kj c #2A292A", +"kk c #2B2B2A", +"kl c #2B2A2B", +"km c #2A2B2B", +"kn c #2B2C2D", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x w y y z A B C D D E F G D H I J K L M N O P Q R S t q T U", +" V W W X 9 9 Y Z &0 000102030405060708090a0b t0c Q0d0e y0f0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H B0I y0J Q w", +"0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0&1 100J110f0h121314150n161718191a1b1c1d1e1f1g1e1h1i1j1h1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D", +"1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1&2 1&1i1g202122232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w170p2x2y", +"1H2z2A2B2C2D2E2F2G2H2I2I2J2K2L2M2N2O2P2Q2R22232S272T2U2V2W2V2U2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f3g3h3i3j3k3l3m3n3o2 193p", +"3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3 3Q3R3S3T3U3V3W3X3Y3Z3&3Z4 404142434445464748494a4b4c4d4e4f4g4h4i4j4k4l4m4n", +" m4o4p4q4r4s4t4u4v4w4x4y4x4z4A4B4C4D4E4F4G4H4I3Z4J4K4L4M4N4O4P4Q4P4R4S4T4U4V4R4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h4m", +" p5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5Q5T5U5V5W5X5Y5Z5&6 606162636465666768696a6b6c6d6e6f", +"6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f", +"7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D6H7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d26", +"8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8H8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c", +"9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabac", +"adaeafagahaiajakalamanaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babbbc", +"bdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbO8PbPbQbRbSbTbUbVbWbXbYbZb&c c0c1c2c3c4c5c6c7c8c9cacb", +"cccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczcA8CcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9da", +"dbdcdddedfdgdhdidjdkdldmdndodpdqdrb3dsdtdudvdwdxdydzdAdAdBdCdDdEdFdGdH8CdI6PdAdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd&e e0e1e2e3e4e5", +" Fe6e7e8e9eaebecedeeefegeheiejekelemeneoepeqereseteu6FevewewexeyezeAeBeCeDeweEeBeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWd4eXeYeZe&e5", +" Df f0f1f2f3f4f5f6f7f8f9fafbfcfdfefffgfhfifjfkflflfmfnfofo5HfpfqfrfsfpftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfV", +"fW11fXfYfZf&g g0g1g2g3g4g5g6g7g8g9gagbgcgdgegfggghgi4V4M4Rgj4R4P5F5F4S4Vgk4Wglgm4RgngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJ", +" QgK FgLgMgNgOg1gPgQgRgSgTgUgVgWgXgYgZg&h h0h1h2h3h4h53Yh64 h74Kh8h84Nh94Ohahb4L4 hchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhy", +"hzhA0J BhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShShThThThUhVhWhXhYhZ3P3Sh&i i0fpgHi1i2i3i4i5i6i7i8i9iaibicidieifigihiiijikilhximinio", +"ip thziqimirisitiuivhKiwixiyiziAiBiCiDiEiFiGiHiIiJiKiKewiL2Y2YiMiN4LiOiPiQiRiScA5RiTiUiViWiXiYiZi&j j0j1j2j3j4j5j6j7ilimj8j9jajb", +"jcjd sjejfjbhyjgjhjijjjkjlgXjmjnjojpjqjrjsjtjujvjujrjw7R2729jxjyjz7RjAjwjviFiFjBjvjCfw28eBjBjDjEjFjGjHjIjJjKjLjMjNhyjOjPjQjbjbjR", +"jS070djTjUjVj9jPj9jWjXjYjZj&k iSfVhwilk0iSgHk1cAjpjpk2k32Vk43Vk5jVcAjqk6hve5e5k7k8gHk9kakbk0ilhwkckde5kekfkgkhkij9bBkjkjkkklkmkn"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleXray.xpm b/2009-x64/cps4.03/icons/cpscToggleXray.xpm new file mode 100644 index 0000000..33a300a --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleXray.xpm @@ -0,0 +1,1370 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1343 2", +" c #727172", +" 0 c #717271", +" 1 c #6F7071", +" 2 c #706F70", +" 3 c #6E6E6E", +" 4 c #6D6C6D", +" 5 c #6B6B6C", +" 6 c #6B6A6B", +" 7 c #686769", +" 8 c #686868", +" 9 c #696868", +" a c #676667", +" b c #666566", +" c c #656564", +" d c #646364", +" e c #636363", +" f c #616263", +" g c #605F60", +" h c #5F605F", +" i c #5F5E5E", +" j c #5C5E5D", +" k c #5D5E5F", +" l c #5B5C5B", +" m c #5B5B5B", +" n c #5C5B5B", +" o c #5A595B", +" p c #585959", +" q c #5A5859", +" r c #58595A", +" s c #585857", +" t c #575657", +" u c #575757", +" v c #575655", +" w c #565756", +" x c #545555", +" y c #555555", +" z c #565555", +" A c #545455", +" B c #555455", +" C c #545253", +" D c #535353", +" E c #535454", +" F c #545453", +" G c #555454", +" H c #535354", +" I c #545554", +" J c #535455", +" K c #545454", +" L c #565656", +" M c #555556", +" N c #565856", +" O c #585856", +" P c #575658", +" Q c #585858", +" R c #585859", +" S c #595A5A", +" T c #6E6D6E", +" U c #6C6D6D", +" V c #6D6D6C", +" W c #6A6C6B", +" X c #696969", +" Y c #676767", +" Z c #6C6A66", +" & c #908657", +"0 c #BDAB4C", +"00 c #D3B94B", +"01 c #E6CA4F", +"02 c #DDC34D", +"03 c #D3B848", +"04 c #AF9D4B", +"05 c #857B54", +"06 c #67645A", +"07 c #5D5D5C", +"08 c #5D5C5C", +"09 c #5A5B5B", +"0a c #5A5A5B", +"0b c #575858", +"0c c #585656", +"0d c #565857", +"0e c #555456", +"0f c #545354", +"0g c #535252", +"0h c #535253", +"0i c #525253", +"0j c #515152", +"0k c #525251", +"0l c #515251", +"0m c #505050", +"0n c #4F5050", +"0o c #50504F", +"0p c #504F51", +"0q c #4F504F", +"0r c #4E4E4E", +"0s c #504F4F", +"0t c #5C574D", +"0u c #72684A", +"0v c #8D7D43", +"0w c #958140", +"0x c #927F3E", +"0y c #8F7E3B", +"0z c #867839", +"0A c #786E40", +"0B c #625D4A", +"0C c #545353", +"0D c #565655", +"0E c #555755", +"0F c #575857", +"0G c #696A6A", +"0H c #686969", +"0I c #696968", +"0J c #656666", +"0K c #656565", +"0L c #656465", +"0M c #918551", +"0N c #D4B93F", +"0O c #F5D448", +"0P c #FCE661", +"0Q c #FFF780", +"0R c #FEFD88", +"0S c #FEFE8C", +"0T c #FDE65D", +"0U c #F8D850", +"0V c #EDCB3F", +"0W c #E5C330", +"0X c #9C8C42", +"0Y c #605E54", +"0Z c #515051", +"0& c #515150", +"1 c #4E4F4F", +"10 c #4F4F4D", +"11 c #4D4E4D", +"12 c #4E4E4D", +"13 c #4E4D4D", +"14 c #4D4C4B", +"15 c #4D4D4C", +"16 c #4B4B4B", +"17 c #4B4A4B", +"18 c #4B4A4C", +"19 c #4A4B4C", +"1a c #4B4A4A", +"1b c #4C4C4C", +"1c c #4C4B4A", +"1d c #4B4C4C", +"1e c #4A4A4A", +"1f c #686048", +"1g c #968245", +"1h c #AB954A", +"1i c #A69350", +"1j c #9E8C52", +"1k c #98864C", +"1l c #918147", +"1m c #8A7A43", +"1n c #86773E", +"1o c #847539", +"1p c #877634", +"1q c #7D7035", +"1r c #615C45", +"1s c #525152", +"1t c #525252", +"1u c #535453", +"1v c #636464", +"1w c #646363", +"1x c #797355", +"1y c #C3AB34", +"1z c #D8BB35", +"1A c #E7C94F", +"1B c #FCE76F", +"1C c #FFFDB1", +"1D c #FEFFD7", +"1E c #FFFFEE", +"1F c #FFFFD9", +"1G c #FFFE97", +"1H c #FEEB6A", +"1I c #EFCF4E", +"1J c #E2C13B", +"1K c #D9B92E", +"1L c #C8AD2E", +"1M c #6D6648", +"1N c #4F4F4E", +"1O c #4C4D4E", +"1P c #4D4D4B", +"1Q c #4A4B4A", +"1R c #484948", +"1S c #484949", +"1T c #484747", +"1U c #474747", +"1V c #474848", +"1W c #474746", +"1X c #454645", +"1Y c #464746", +"1Z c #474646", +"1& c #464646", +"2 c #474647", +"20 c #4A4B47", +"21 c #847441", +"22 c #B1994C", +"23 c #B6A464", +"24 c #B8A66E", +"25 c #B1A16E", +"26 c #A49768", +"27 c #9A8C5D", +"28 c #8D8053", +"29 c #83774A", +"2a c #807243", +"2b c #7A6F3F", +"2c c #7B6D3B", +"2d c #796C35", +"2e c #7C6F2F", +"2f c #756A33", +"2g c #52514C", +"2h c #4E4F50", +"2i c #50514F", +"2j c #505150", +"2k c #515151", +"2l c #636362", +"2m c #636361", +"2n c #5F6160", +"2o c #787151", +"2p c #CEB325", +"2q c #C5AB2E", +"2r c #CEB142", +"2s c #EACF5C", +"2t c #FEF17F", +"2u c #FEFFE1", +"2v c #FEFEFF", +"2w c #FFFEFF", +"2x c #FFFFFB", +"2y c #FEFEAF", +"2z c #FFEF73", +"2A c #E7CA4C", +"2B c #D8BC3C", +"2C c #D1B332", +"2D c #CCB029", +"2E c #CBAF27", +"2F c #6A6342", +"2G c #4A484A", +"2H c #484A48", +"2I c #484848", +"2J c #444546", +"2K c #464444", +"2L c #454546", +"2M c #434344", +"2N c #434544", +"2O c #424343", +"2P c #434343", +"2Q c #434342", +"2R c #424243", +"2S c #414241", +"2T c #424142", +"2U c #424342", +"2V c #434243", +"2W c #474642", +"2X c #927E3B", +"2Y c #B1984E", +"2Z c #C2B077", +"2& c #D8C995", +"3 c #E3D6A8", +"30 c #DCCEA4", +"31 c #BFB48A", +"32 c #A2966D", +"33 c #8D845C", +"34 c #81774D", +"35 c #786E46", +"36 c #786D42", +"37 c #73683D", +"38 c #716738", +"39 c #736633", +"3a c #75682F", +"3b c #766A2D", +"3c c #515148", +"3d c #4D4E4F", +"3e c #4E4F4E", +"3f c #4F4F50", +"3g c #5F6060", +"3h c #5E5F5F", +"3i c #646259", +"3j c #BAA521", +"3k c #B69F28", +"3l c #B59B30", +"3m c #C5AC3F", +"3n c #DAC251", +"3o c #FDED7C", +"3p c #FFFEC8", +"3q c #FFFEFD", +"3r c #FEFEFA", +"3s c #FEFFDC", +"3t c #FFFFB3", +"3u c #FEE96D", +"3v c #DEC448", +"3w c #CEB437", +"3x c #C6AB2C", +"3y c #C2A929", +"3z c #C3A722", +"3A c #C7AC20", +"3B c #605A3E", +"3C c #434444", +"3D c #424443", +"3E c #404141", +"3F c #424242", +"3G c #404040", +"3H c #40403F", +"3I c #3E3E40", +"3J c #3F3F3F", +"3K c #3E3F3F", +"3L c #3F3E3F", +"3M c #3F3D3E", +"3N c #3E3D3E", +"3O c #3E3E3E", +"3P c #3D3E3E", +"3Q c #3E3E3D", +"3R c #3E3F3E", +"3S c #7F6E39", +"3T c #AB954C", +"3U c #C0AF79", +"3V c #E5D6A6", +"3W c #FEFEFD", +"3X c #FEFFF6", +"3Y c #DFD5B2", +"3Z c #A99F7C", +"3& c #8E8561", +"4 c #7F7552", +"40 c #776C47", +"41 c #716841", +"42 c #6F663C", +"43 c #6C6137", +"44 c #6C6033", +"45 c #6D6230", +"46 c #71662C", +"47 c #6D632C", +"48 c #4B4C4B", +"49 c #4D4D4D", +"4a c #5D5D5D", +"4b c #5C5D5C", +"4c c #958731", +"4d c #AE9B1D", +"4e c #A58F25", +"4f c #AB962B", +"4g c #BEA938", +"4h c #D1BB45", +"4i c #F2DE64", +"4j c #FEF981", +"4k c #FEFE9F", +"4l c #FFFFA8", +"4m c #FFFD9F", +"4n c #FDE973", +"4o c #EBD255", +"4p c #D2B93D", +"4q c #C8AE32", +"4r c #BFA628", +"4s c #B8A023", +"4t c #B69F1E", +"4u c #BCA21D", +"4v c #A39024", +"4w c #403F3F", +"4x c #3D3D3D", +"4y c #3B3C3C", +"4z c #3B3B3C", +"4A c #3B3C3B", +"4B c #3A3B3B", +"4C c #3A3B3A", +"4D c #3B3B3A", +"4E c #393A3A", +"4F c #393A39", +"4G c #3A393A", +"4H c #383A39", +"4I c #3A3939", +"4J c #3A3A39", +"4K c #3A3A3A", +"4L c #534C38", +"4M c #A1893F", +"4N c #A7965C", +"4O c #C5B687", +"4P c #FEFEDC", +"4Q c #FEFEFE", +"4R c #FEFFFF", +"4S c #FFFFFE", +"4T c #E0D8B6", +"4U c #A8A181", +"4V c #877E5F", +"4W c #797050", +"4X c #726B48", +"4Y c #6B6440", +"4Z c #685E3B", +"4& c #675F38", +"5 c #665D33", +"50 c #685D31", +"51 c #685F2E", +"52 c #6C6328", +"53 c #605A35", +"54 c #4B4B4A", +"55 c #4C4D4B", +"56 c #5A5A5A", +"57 c #67654D", +"58 c #AC9A16", +"59 c #9C8B1B", +"5a c #9A8821", +"5b c #AD9927", +"5c c #B9A42D", +"5d c #C7B137", +"5e c #D9C247", +"5f c #E3CC50", +"5g c #F1DF63", +"5h c #F2E066", +"5i c #F5E062", +"5j c #E5CD51", +"5k c #CDB63B", +"5l c #C6B032", +"5m c #BBA527", +"5n c #B7A023", +"5o c #B19B1D", +"5p c #AD961B", +"5q c #AD9818", +"5r c #B49E17", +"5s c #5F5930", +"5t c #393B3A", +"5u c #393938", +"5v c #373838", +"5w c #383737", +"5x c #363737", +"5y c #3D3D38", +"5z c #948046", +"5A c #48483A", +"5B c #A18C43", +"5C c #3D3A37", +"5D c #363435", +"5E c #363536", +"5F c #353536", +"5G c #343535", +"5H c #363635", +"5I c #373736", +"5J c #7E6E33", +"5K c #978343", +"5L c #A0905E", +"5M c #C4B890", +"5N c #FEF8D4", +"5O c #FEFFFE", +"5P c #FFFFE4", +"5Q c #C4BC9C", +"5R c #9A9475", +"5S c #807A5B", +"5T c #726C4D", +"5U c #6A6444", +"5V c #665F3D", +"5W c #635A3B", +"5X c #625A35", +"5Y c #625A31", +"5Z c #635A2E", +"5& c #675D2A", +"6 c #6B6226", +"60 c #4C4C47", +"61 c #4A4949", +"62 c #585758", +"63 c #887C23", +"64 c #9D8D13", +"65 c #897C16", +"66 c #9E8C19", +"67 c #A38F1F", +"68 c #A48F23", +"69 c #A9922A", +"6a c #B09A30", +"6b c #BEA538", +"6c c #C4AD3E", +"6d c #C5AF3F", +"6e c #C2AB3C", +"6f c #BFA736", +"6g c #AF9929", +"6h c #B09A25", +"6i c #AB951F", +"6j c #A8931B", +"6k c #A89319", +"6l c #A59117", +"6m c #A69315", +"6n c #A89415", +"6o c #99891A", +"6p c #353635", +"6q c #333535", +"6r c #323333", +"6s c #666445", +"6t c #DFBC51", +"6u c #EFA735", +"6v c #454335", +"6w c #FEC240", +"6x c #D39F3D", +"6y c #5F5236", +"6z c #313130", +"6A c #303130", +"6B c #323230", +"6C c #313232", +"6D c #323231", +"6E c #393832", +"6F c #917B33", +"6G c #8E7D43", +"6H c #938658", +"6I c #A89C78", +"6J c #D3CAA9", +"6K c #ECE2C2", +"6L c #EDE4C5", +"6M c #CBC3A5", +"6N c #9D957B", +"6O c #837D61", +"6P c #757054", +"6Q c #676046", +"6R c #615C40", +"6S c #5E583A", +"6T c #5A5536", +"6U c #5B5435", +"6V c #5A5533", +"6W c #5B5430", +"6X c #5D542D", +"6Y c #61582A", +"6Z c #685D26", +"6& c #56513A", +"7 c #494848", +"70 c #5A5950", +"71 c #897A0D", +"72 c #867510", +"73 c #938112", +"74 c #8F7B15", +"75 c #8E7619", +"76 c #8E7719", +"77 c #917A1E", +"78 c #957C21", +"79 c #998225", +"7a c #9C8627", +"7b c #9E8626", +"7c c #A08A26", +"7d c #9B8520", +"7e c #9A841E", +"7f c #99841A", +"7g c #9A8418", +"7h c #958214", +"7i c #948113", +"7j c #958211", +"7k c #9A8712", +"7l c #B98F1D", +"7m c #A08C12", +"7n c #444130", +"7o c #323232", +"7p c #323031", +"7q c #373633", +"7r c #9D934C", +"7s c #FEC146", +"7t c #EA8720", +"7u c #EA952B", +"7v c #423F31", +"7w c #F1AA32", +"7x c #FE9F2F", +"7y c #F9A836", +"7z c #977435", +"7A c #2E2D2F", +"7B c #2F2D2F", +"7C c #2F2F2F", +"7D c #5E522E", +"7E c #867331", +"7F c #83733E", +"7G c #85794D", +"7H c #8C815F", +"7I c #A09776", +"7J c #A49C7E", +"7K c #9C947B", +"7L c #999178", +"7M c #7F7A62", +"7N c #6E6852", +"7O c #675F4A", +"7P c #5E5741", +"7Q c #59533D", +"7R c #58513A", +"7S c #575036", +"7T c #555034", +"7U c #564F33", +"7V c #585130", +"7W c #59512E", +"7X c #5C542B", +"7Y c #635927", +"7Z c #62592C", +"7& c #474748", +"8 c #615E3F", +"80 c #79680B", +"81 c #857711", +"82 c #85761E", +"83 c #8D8210", +"84 c #907C12", +"85 c #8F7912", +"86 c #8E7816", +"87 c #8C7715", +"88 c #8B7617", +"89 c #8A7217", +"8a c #877217", +"8b c #846F15", +"8c c #846F16", +"8d c #806B13", +"8e c #846F13", +"8f c #857111", +"8g c #847110", +"8h c #86730F", +"8i c #8F7633", +"8j c #836B34", +"8k c #B47E20", +"8l c #D8952E", +"8m c #544E28", +"8n c #303030", +"8o c #5D5A3E", +"8p c #DFC451", +"8q c #FDAD32", +"8r c #EE8F20", +"8s c #FC9F29", +"8t c #EFA431", +"8u c #413D30", +"8v c #FDAB33", +"8w c #FEAF30", +"8x c #F99928", +"8y c #F8992C", +"8z c #D19635", +"8A c #4C432F", +"8B c #2B2C2C", +"8C c #2E2D2D", +"8D c #756428", +"8E c #92703C", +"8F c #73633B", +"8G c #857554", +"8H c #7F7452", +"8I c #807655", +"8J c #7E7759", +"8K c #7C7559", +"8L c #726B53", +"8M c #6A624C", +"8N c #5B5640", +"8O c #55503A", +"8P c #514B36", +"8Q c #514A37", +"8R c #4E4731", +"8S c #524C35", +"8T c #565033", +"8U c #554E32", +"8V c #544E31", +"8W c #564E2E", +"8X c #59522C", +"8Y c #605628", +"8Z c #675C25", +"8& c #5F5B3A", +"9 c #786B07", +"90 c #7D7318", +"91 c #7A7112", +"92 c #7D701D", +"93 c #7E7910", +"94 c #847A0D", +"95 c #8B7A0F", +"96 c #87750E", +"97 c #86740F", +"98 c #847211", +"99 c #816E0E", +"9a c #806B0F", +"9b c #7B6810", +"9c c #786610", +"9d c #77640E", +"9e c #75630D", +"9f c #76640C", +"9g c #79670C", +"9h c #655025", +"9i c #5E4B28", +"9j c #94601F", +"9k c #D07F28", +"9l c #62562D", +"9m c #8F8046", +"9n c #FFCB45", +"9o c #ED9021", +"9p c #FDA329", +"9q c #FEAF31", +"9r c #FEB233", +"9s c #ECA432", +"9t c #3E392C", +"9u c #FAA62F", +"9v c #FEAD2F", +"9w c #FEB131", +"9x c #F7A32A", +"9y c #FEA936", +"9z c #F9A837", +"9A c #816336", +"9B c #2B2B2C", +"9C c #86692A", +"9D c #876335", +"9E c #705C37", +"9F c #66593B", +"9G c #695F41", +"9H c #6B6148", +"9I c #6B6349", +"9J c #605C3F", +"9K c #555137", +"9L c #4E462F", +"9M c #46402A", +"9N c #3E3922", +"9O c #3C3821", +"9P c #3D3720", +"9Q c #3D3721", +"9R c #433E23", +"9S c #554D2D", +"9T c #595231", +"9U c #524B2E", +"9V c #534C2D", +"9W c #574E2C", +"9X c #5D5429", +"9Y c #685B23", +"9Z c #464647", +"9& c #5A573F", +"a c #756B05", +"a0 c #746C13", +"a1 c #716A0F", +"a2 c #74671D", +"a3 c #756C1A", +"a4 c #76730E", +"a5 c #7C760A", +"a6 c #7E740A", +"a7 c #81720B", +"a8 c #80700B", +"a9 c #7E6D0B", +"aa c #7B6909", +"ab c #77660A", +"ac c #75630A", +"ad c #72610A", +"ae c #6F5F0A", +"af c #6C5D0A", +"ag c #6C5B09", +"ah c #4D3C14", +"ai c #483613", +"aj c #915C1E", +"ak c #DA872B", +"al c #504429", +"am c #503F2D", +"an c #C4842B", +"ao c #FCC747", +"ap c #FFC43F", +"aq c #FFB935", +"ar c #FFB334", +"as c #E99E2F", +"at c #3E3B2B", +"au c #F09F2A", +"av c #F9A42B", +"aw c #FEBD51", +"ax c #FDC26D", +"ay c #B16F1D", +"az c #3F3227", +"aA c #2C2B2B", +"aB c #776127", +"aC c #7E5B31", +"aD c #6F5734", +"aE c #5E5135", +"aF c #5E573A", +"aG c #5E593C", +"aH c #5A533D", +"aI c #49452D", +"aJ c #443F26", +"aK c #3F3C23", +"aL c #3B3720", +"aM c #3A351F", +"aN c #39331D", +"aO c #38321C", +"aP c #38331C", +"aQ c #3A351C", +"aR c #473E1E", +"aS c #4B431F", +"aT c #4E4529", +"aU c #524B2D", +"aV c #564E2B", +"aW c #5D5227", +"aX c #665C23", +"aY c #4B4A43", +"aZ c #55534B", +"a& c #706802", +"b c #6A6516", +"b0 c #66640B", +"b1 c #6A6016", +"b2 c #6B5D20", +"b3 c #6C621A", +"b4 c #6E6B12", +"b5 c #707208", +"b6 c #747008", +"b7 c #746E07", +"b8 c #786B06", +"b9 c #776808", +"ba c #746706", +"bb c #736507", +"bc c #716308", +"bd c #6F6209", +"be c #6F5F09", +"bf c #6F5E0A", +"bg c #5B4A0F", +"bh c #544110", +"bi c #98651A", +"bj c #9F7B14", +"bk c #484328", +"bl c #2F2E2F", +"bm c #33312D", +"bn c #8D6327", +"bo c #FAB839", +"bp c #FFCD48", +"bq c #FFB432", +"br c #F0A330", +"bs c #403B2E", +"bt c #ED9826", +"bu c #F39F2B", +"bv c #FFC469", +"bw c #E99E3D", +"bx c #7C5120", +"by c #2A2B2A", +"bz c #2D2D2C", +"bA c #675725", +"bB c #73532A", +"bC c #736036", +"bD c #584C31", +"bE c #5B5334", +"bF c #565035", +"bG c #49422C", +"bH c #403925", +"bI c #3C3823", +"bJ c #3A361F", +"bK c #38371D", +"bL c #37341B", +"bM c #37341C", +"bN c #37331A", +"bO c #38341A", +"bP c #383219", +"bQ c #534A27", +"bR c #3E371B", +"bS c #3E3719", +"bT c #473F1F", +"bU c #524A26", +"bV c #5C5026", +"bW c #695D24", +"bX c #474546", +"bY c #525353", +"bZ c #716806", +"b& c #6A6810", +"c c #645F0C", +"c0 c #645F0F", +"c1 c #655B18", +"c2 c #685C1D", +"c3 c #696017", +"c4 c #69660F", +"c5 c #6A6B0A", +"c6 c #6C6F06", +"c7 c #726D05", +"c8 c #756D05", +"c9 c #796C06", +"ca c #796B07", +"cb c #766708", +"cc c #756508", +"cd c #736309", +"ce c #74640A", +"cf c #6C5B0C", +"cg c #76630C", +"ch c #826410", +"ci c #8E7710", +"cj c #3B3A2E", +"ck c #323032", +"cl c #2F2F30", +"cm c #2F2F2E", +"cn c #544129", +"co c #D9952B", +"cp c #FFC746", +"cq c #ECA134", +"cr c #423E30", +"cs c #F4AA32", +"ct c #FFC46B", +"cu c #B26F1E", +"cv c #453828", +"cw c #2D2D2D", +"cx c #2F2D2D", +"cy c #524927", +"cz c #695925", +"cA c #635628", +"cB c #5B5030", +"cC c #574F33", +"cD c #534C30", +"cE c #443E25", +"cF c #3B3520", +"cG c #3B3522", +"cH c #383320", +"cI c #38341D", +"cJ c #37341A", +"cK c #38331A", +"cL c #3A3319", +"cM c #3B361A", +"cN c #3C361A", +"cO c #3F371A", +"cP c #403919", +"cQ c #443B1A", +"cR c #493D18", +"cS c #55491E", +"cT c #645823", +"cU c #464645", +"cV c #535352", +"cW c #6A6316", +"cX c #6C6B0D", +"cY c #675D15", +"cZ c #645F0D", +"c& c #655D13", +"d c #675B1A", +"d0 c #685B1E", +"d1 c #6A6217", +"d2 c #6A6612", +"d3 c #6B6A0C", +"d4 c #6D6E07", +"d5 c #727006", +"d6 c #766F06", +"d7 c #796E07", +"d8 c #7B6C08", +"d9 c #796B08", +"da c #7A6908", +"db c #796709", +"dc c #79660A", +"dd c #7B670B", +"de c #7C680C", +"df c #816F13", +"dg c #333332", +"dh c #323234", +"di c #333232", +"dj c #313030", +"dk c #373330", +"dl c #926226", +"dm c #E89021", +"dn c #454132", +"do c #E99B25", +"dp c #7D5423", +"dq c #2F312F", +"dr c #2F3030", +"ds c #2F3031", +"dt c #303031", +"du c #303131", +"dv c #413E2D", +"dw c #6A5A22", +"dx c #645726", +"dy c #5A4F2D", +"dz c #574C31", +"dA c #514B2F", +"dB c #423A22", +"dC c #3A3221", +"dD c #37321F", +"dE c #37321E", +"dF c #37341D", +"dG c #36341B", +"dH c #3A361A", +"dI c #3D381A", +"dJ c #3E381A", +"dK c #403B1B", +"dL c #443C19", +"dM c #473D19", +"dN c #4A4018", +"dO c #524516", +"dP c #423C22", +"dQ c #313031", +"dR c #5E5B35", +"dS c #746E05", +"dT c #696117", +"dU c #666012", +"dV c #655F12", +"dW c #675D17", +"dX c #6A5A20", +"dY c #695D1D", +"dZ c #6C6119", +"d& c #6C6712", +"e c #6F6B0D", +"e0 c #707008", +"e1 c #727206", +"e2 c #777006", +"e3 c #7B6F07", +"e4 c #7D6D09", +"e5 c #7E6C09", +"e6 c #7C6B0A", +"e7 c #7D6B0C", +"e8 c #7E6C0C", +"e9 c #846F0D", +"ea c #4D4415", +"eb c #222121", +"ec c #363637", +"ed c #353334", +"ee c #343335", +"ef c #343533", +"eg c #353433", +"eh c #57432E", +"ei c #3B3934", +"ej c #4F4431", +"ek c #333334", +"el c #333434", +"em c #343333", +"en c #353535", +"eo c #655722", +"ep c #595229", +"eq c #564D31", +"er c #50472E", +"es c #403821", +"et c #3B361F", +"eu c #3A321F", +"ev c #393221", +"ew c #38341F", +"ex c #39351E", +"ey c #39361D", +"ez c #39371C", +"eA c #3B381A", +"eB c #40391A", +"eC c #423B1B", +"eD c #453C1A", +"eE c #483F19", +"eF c #4D4318", +"eG c #574B17", +"eH c #292923", +"eI c #242426", +"eJ c #555553", +"eK c #545350", +"eL c #6E6815", +"eM c #6C6813", +"eN c #675E1A", +"eO c #675E18", +"eP c #695D1B", +"eQ c #6A5C21", +"eR c #6C601D", +"eS c #6D6417", +"eT c #6E6912", +"eU c #706E0D", +"eV c #707107", +"eW c #757206", +"eX c #7A7208", +"eY c #7F7209", +"eZ c #817009", +"e& c #806E0A", +"f c #816E0C", +"f0 c #826F0B", +"f1 c #736212", +"f2 c #1F1F1B", +"f3 c #1C1B1B", +"f4 c #2A2A2A", +"f5 c #383938", +"f6 c #373737", +"f7 c #383838", +"f8 c #363738", +"f9 c #383837", +"fa c #363837", +"fb c #373637", +"fc c #363736", +"fd c #363636", +"fe c #383738", +"ff c #49442F", +"fg c #665921", +"fh c #5E5625", +"fi c #574F2C", +"fj c #53492F", +"fk c #3E381F", +"fl c #3D3520", +"fm c #3C3420", +"fn c #3B351F", +"fo c #3A361E", +"fp c #3B361D", +"fq c #3B391C", +"fr c #3F3B1A", +"fs c #423C1A", +"ft c #463D1A", +"fu c #49411C", +"fv c #494019", +"fw c #4C4318", +"fx c #544718", +"fy c #373220", +"fz c #252525", +"fA c #252626", +"fB c #555656", +"fC c #585848", +"fD c #706F10", +"fE c #6D6517", +"fF c #6A5F20", +"fG c #6A5D1D", +"fH c #6C5C21", +"fI c #6B5F1F", +"fJ c #6D631B", +"fK c #6F6B12", +"fL c #716F0B", +"fM c #747407", +"fN c #797407", +"fO c #7E7308", +"fP c #83720A", +"fQ c #84710B", +"fR c #85720C", +"fS c #816D0F", +"fT c #2B281C", +"fU c #1C1D1D", +"fV c #1D1D1C", +"fW c #1E2020", +"fX c #3A3A3B", +"fY c #3B3A3B", +"fZ c #39393A", +"f& c #393839", +"g c #393939", +"g0 c #554F2B", +"g1 c #635822", +"g2 c #5B5525", +"g3 c #534E29", +"g4 c #433B20", +"g5 c #413A1F", +"g6 c #3F381F", +"g7 c #3F3820", +"g8 c #3E3820", +"g9 c #3E391F", +"ga c #3F3B1C", +"gb c #3F3C1B", +"gc c #413D1A", +"gd c #47401C", +"ge c #4B431D", +"gf c #4C431B", +"gg c #4F4418", +"gh c #524718", +"gi c #483F1D", +"gj c #252625", +"gk c #262625", +"gl c #262726", +"gm c #565657", +"gn c #5B5847", +"go c #75710B", +"gp c #6F6914", +"gq c #6C5F1F", +"gr c #6C5F20", +"gs c #6D5D22", +"gt c #6E601F", +"gu c #6E621B", +"gv c #706A12", +"gw c #716F0E", +"gx c #747508", +"gy c #7A7409", +"gz c #817409", +"gA c #857509", +"gB c #87730B", +"gC c #85730B", +"gD c #36321B", +"gE c #1E1E1E", +"gF c #1E1D1D", +"gG c #1E1F1D", +"gH c #1E1D1E", +"gI c #242323", +"gJ c #3D3E3D", +"gK c #3D3D3E", +"gL c #3C3C3C", +"gM c #3D3D3C", +"gN c #3C3D3D", +"gO c #3C3B3D", +"gP c #3B3B3B", +"gQ c #3C3C3D", +"gR c #3D3E3C", +"gS c #3E3D3C", +"gT c #665926", +"gU c #665A23", +"gV c #5A5525", +"gW c #4A421C", +"gX c #463D1E", +"gY c #443D1F", +"gZ c #433C1F", +"g& c #423C1E", +"h c #433D1D", +"h0 c #443F1D", +"h1 c #44401B", +"h2 c #46421B", +"h3 c #4D461E", +"h4 c #4F451A", +"h5 c #50461A", +"h6 c #544A19", +"h7 c #53471A", +"h8 c #272726", +"h9 c #252726", +"ha c #272728", +"hb c #575758", +"hc c #555557", +"hd c #5C5943", +"he c #78740A", +"hf c #70710C", +"hg c #6E6719", +"hh c #6D641A", +"hi c #6F6618", +"hj c #6F6816", +"hk c #706913", +"hl c #726E0F", +"hm c #75730A", +"hn c #797707", +"ho c #7D7707", +"hp c #857808", +"hq c #897709", +"hr c #826F0D", +"hs c #3D371B", +"ht c #1F201F", +"hu c #212021", +"hv c #201F21", +"hw c #1F2020", +"hx c #20201F", +"hy c #212020", +"hz c #404042", +"hA c #3F4140", +"hB c #404041", +"hC c #3E3E3F", +"hD c #292928", +"hE c #262524", +"hF c #343434", +"hG c #3F4040", +"hH c #41423F", +"hI c #5C542D", +"hJ c #665A22", +"hK c #544B18", +"hL c #4D461B", +"hM c #4C461B", +"hN c #4A441B", +"hO c #49421B", +"hP c #4A441D", +"hQ c #48441A", +"hR c #4B4519", +"hS c #4E471A", +"hT c #514819", +"hU c #554819", +"hV c #584B18", +"hW c #52481A", +"hX c #292725", +"hY c #262627", +"hZ c #272828", +"h& c #282827", +"i c #292829", +"i0 c #595959", +"i1 c #585958", +"i2 c #565557", +"i3 c #565652", +"i4 c #5A5523", +"i5 c #72710A", +"i6 c #777509", +"i7 c #767508", +"i8 c #75750A", +"i9 c #75750B", +"ia c #787708", +"ib c #7E7907", +"ic c #857A07", +"id c #897A08", +"ie c #84730B", +"if c #564D17", +"ig c #282921", +"ih c #212123", +"ii c #222122", +"ij c #212222", +"ik c #212121", +"il c #212221", +"im c #212122", +"in c #2D2C2D", +"io c #444544", +"ip c #434543", +"iq c #434443", +"ir c #444443", +"is c #3C3D3C", +"it c #252424", +"iu c #222322", +"iv c #222022", +"iw c #2A292A", +"ix c #252425", +"iy c #353435", +"iz c #434445", +"iA c #524E39", +"iB c #635925", +"iC c #5B5016", +"iD c #574E17", +"iE c #544C18", +"iF c #504918", +"iG c #544B19", +"iH c #52491A", +"iI c #554C19", +"iJ c #564B18", +"iK c #5A4D18", +"iL c #5C4F17", +"iM c #443E1F", +"iN c #282828", +"iO c #292828", +"iP c #2A2829", +"iQ c #29292A", +"iR c #5C5B5A", +"iS c #5B5B5A", +"iT c #585A5A", +"iU c #565757", +"iV c #292827", +"iW c #2E2C26", +"iX c #47431B", +"iY c #635B12", +"iZ c #6B660D", +"i& c #7F7309", +"j c #756D0A", +"j0 c #6F6510", +"j1 c #6A5F10", +"j2 c #4B451A", +"j3 c #272723", +"j4 c #242524", +"j5 c #252423", +"j6 c #242422", +"j7 c #222323", +"j8 c #242223", +"j9 c #232423", +"ja c #292929", +"jb c #464546", +"jc c #464747", +"jd c #232323", +"je c #222222", +"jf c #232223", +"jg c #232222", +"jh c #383423", +"ji c #473F1D", +"jj c #53481B", +"jk c #5D5219", +"jl c #5E5117", +"jm c #5A4E19", +"jn c #50451B", +"jo c #50461C", +"jp c #2B2B25", +"jq c #282728", +"jr c #282729", +"js c #282928", +"jt c #2A2929", +"ju c #2B2929", +"jv c #2B2B2B", +"jw c #5D5E5D", +"jx c #5B5C5C", +"jy c #5B5A5B", +"jz c #59585A", +"jA c #282829", +"jB c #262626", +"jC c #272626", +"jD c #262527", +"jE c #252526", +"jF c #262526", +"jG c #252524", +"jH c #242424", +"jI c #232524", +"jJ c #4A4B4B", +"jK c #474847", +"jL c #3E403E", +"jM c #292A29", +"jN c #262425", +"jO c #262424", +"jP c #4A4849", +"jQ c #4B4A49", +"jR c #282727", +"jS c #262827", +"jT c #272826", +"jU c #292727", +"jV c #272827", +"jW c #2A292B", +"jX c #2B2B2A", +"jY c #2C2C2B", +"jZ c #2C2D2C", +" 0 1 2 3 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t t u v w x y z A B C D E F G H I y I J K B y L M w N O P u Q R S", +" T U V W X X Y Z &0 000102030405060708090a s0b0c0d A0e0f0g0h0i0j0i0k0l0m0n0o0m0o0m0o0p0q0r0s0s0t0u0v0w0x0y0z0A0B0C0h A I z0D0E0F", +"0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y M E F0g0l0Z0&0m1 100r1112131415161718191a1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r0j1s0l1t1u B", +" b0K1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N0q1O111P18161Q1R1S1T1R1T1U1U1V1W1X1Y1Z1&2 1Y202122232425262728292a2b2c2d2e2f2g2h2i2j2k", +"2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I1U1U2J2J2K2L2M2N2O2P2Q2O2P2R2S2T2U2V2W2X2Y2Z2&3 303132333435363738393a3b3c3d3e3f", +"3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D2U3E3F3G3H3I3J3K3L3J3M3N3O3P3K3Q3R3O3S3T3U3V3W2w3X3Y3Z3&4 4041424344454647481549", +"4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w3Q3P4x4x4y4z4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455", +"565758595a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t4J5u5v5w5x5y5z5A5B5C5D5E5F5G5H5E5I5J5K5L5M5N5O4Q5P5Q5R5S5T5U5V5W5X5X5Y5Z5&6 6061", +"62636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o5x6p6q6r6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 ", +"707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&", +"8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z7&", +"8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z", +"9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagahaiajakalamanaoapaqarasatauav9qawaxayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaY", +"aZa&b b0b1b2b3b4b5b6b7b8b9babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbyaAbzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbX", +"bYbZb&c c0c1c2c3c4c5c6c7c8c9cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcwcx7AcyczcAcBcCcDcEcFcGcHcIbLcJcKcLcMcNcOcPcQcRcScTcU", +"cVcWcXcYcZc&d d0d1d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdi6Cdjdkdldmdndodpdqdrds8ndtdudvdwdxdydzdAdBcFdCdDdEdFdGbOdHdIdJdKdLdMdNdOdPdQ", +" DdRdSdTdUdVdWdXdYdZd&e e0e1e2e3e4e5e6e7e8e9eaebec6pedeeefegeheiejdiekelememeleleneocTepeqereseteuevewexeyezeAeBeCeDdMeEeFeGeHeI", +"eJeKeLeMeNeOeOePeQeReSeTeUeVeWeXeYeZe&f f0f1f2f3f4f5f6f7f8f9f6fafbec5Ifcen5x5IfdfefffgfhfifjfkflfmfmfnfofpfqfrfsftfufvfwfxfyfzfA", +"fB0ffCfDfEfFePfGfHfIfJeLfKfLfMfNfOfPfQfRfSfTfUfVfWfdfX4D4CfY4C4J4E4GfZ4E4G4If&g 4I4Jg0g1g2g3g4g5g6g7g8g9gagbgcgdgegfggghgigjgkgl", +"gmfB1ugngogpgqgrgsgtgueLgvgwgxgygzgAgBgCgDgEgFgGgHgI3OgJgKgK4xgLgMgNgOgP4CgNfY4xgQgRgSgTgUgVgWgXgYgZg&h h0h1h2h3h4h5h6h7h8h9h8ha", +"hbgmhc xhdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhy5whz3G2ShAhBhBhC4B7ChDfehEhFhG3HhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh&i ", +"i0i1 si2 yi3i4i5i6i7i8i9iaibicidieifigihiiijikilimhyinioipiqir3C2RisitiuiviwgjixiygJ2PiriziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiNiOiPiQ", +"iRiSiTi0iU KiViWiXiYiZi&j j0j1j2j3j4j5j6gIj7j8j9j7iujajb1Wjc9Z2P4B7Cjdjejejfiujgjd8Cfd1Y2L1U3Kjhjijjjkjljmjnjog8jpjqjrjsjtf4jujv", +"jwjxjy09jzhGjAiOjAiVh&iNjBjCjDgjjEjBjFfzgjixeIjGj4jHjIgKjJjKjL5DjMjNixjIj4jHitj4j4jOh&f&jPjQ1ZcwjBjCjRjSjTiOjUjVhDf4iwiwjWjXjYjZ"}; diff --git a/2009-x64/cps4.03/icons/cpscToggleXrayPerObject.xpm b/2009-x64/cps4.03/icons/cpscToggleXrayPerObject.xpm new file mode 100644 index 0000000..860d073 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToggleXrayPerObject.xpm @@ -0,0 +1,1324 @@ +/* XPM */ +static char *X_xpm[]={ +"64 24 1297 2", +" c #727270", +" 0 c #727272", +" 1 c #6F7070", +" 2 c #707070", +" 3 c #6F6E6D", +" 4 c #6C6D6D", +" 5 c #6E6C6C", +" 6 c #6B6C6C", +" 7 c #6A6B6C", +" 8 c #686869", +" 9 c #686768", +" a c #686767", +" b c #666566", +" c c #666666", +" d c #7F785B", +" e c #AC9A50", +" f c #CCB349", +" g c #BEA74D", +" h c #A0914B", +" i c #6C6A5C", +" j c #5E5E5F", +" k c #5D5C5D", +" l c #5F5E5F", +" m c #5C5B5C", +" n c #5B5B5C", +" o c #5C5A5B", +" p c #59595B", +" q c #585959", +" r c #595958", +" s c #59595A", +" t c #575758", +" u c #585856", +" v c #575857", +" w c #575757", +" x c #565655", +" y c #565757", +" z c #565555", +" A c #555456", +" B c #545654", +" C c #545454", +" D c #555454", +" E c #535353", +" F c #545354", +" G c #535355", +" H c #535453", +" I c #555455", +" J c #545453", +" K c #545554", +" L c #535454", +" M c #555453", +" N c #565455", +" O c #746B4E", +" P c #AC9740", +" Q c #B69F37", +" R c #B09B31", +" S c #928436", +" T c #6B6847", +" U c #585857", +" V c #565756", +" W c #595859", +" X c #595959", +" Y c #5A5A58", +" Z c #6E6F6E", +" & c #6C6C6D", +"0 c #6C6B6D", +"00 c #6A6C6C", +"01 c #6A6A69", +"02 c #696867", +"03 c #676767", +"04 c #676667", +"05 c #666665", +"06 c #646565", +"07 c #636464", +"08 c #636362", +"09 c #65635E", +"0a c #A39346", +"0b c #EACA45", +"0c c #FDEF7F", +"0d c #FEFB99", +"0e c #FEF070", +"0f c #E9C946", +"0g c #D6B731", +"0h c #9A8C3E", +"0i c #585858", +"0j c #575657", +"0k c #555554", +"0l c #545655", +"0m c #545452", +"0n c #525253", +"0o c #515252", +"0p c #525153", +"0q c #505152", +"0r c #515151", +"0s c #515050", +"0t c #505050", +"0u c #504F4F", +"0v c #4F5050", +"0w c #50504F", +"0x c #4F4F50", +"0y c #4F5051", +"0z c #4F504F", +"0A c #4E4E4F", +"0B c #515150", +"0C c #625F4E", +"0D c #D2BB40", +"0E c #FDD53E", +"0F c #F3D04D", +"0G c #E0BD3C", +"0H c #C8AD2D", +"0I c #B89F22", +"0J c #A89718", +"0K c #877D26", +"0L c #58584F", +"0M c #565556", +"0N c #575756", +"0O c #6A6A6A", +"0P c #686969", +"0Q c #676665", +"0R c #636463", +"0S c #626062", +"0T c #616061", +"0U c #5E5F5E", +"0V c #5D5D5D", +"0W c #AA9934", +"0X c #CEB137", +"0Y c #F4DD68", +"0Z c #FEFEDC", +"0& c #FEFFFF", +"1 c #FEFCA9", +"10 c #F0D655", +"11 c #D3B533", +"12 c #C7AC27", +"13 c #9C8B31", +"14 c #525152", +"15 c #505051", +"16 c #504F50", +"17 c #4D4D4E", +"18 c #4D4F4D", +"19 c #4E4D4D", +"1a c #4C4D4D", +"1b c #4C4D4C", +"1c c #4D4C4C", +"1d c #4A4A4A", +"1e c #4B4B4C", +"1f c #4B4B4B", +"1g c #4A4C4B", +"1h c #4A4B4A", +"1i c #4B4C4B", +"1j c #4C4B4C", +"1k c #4A4B4B", +"1l c #4C4C4B", +"1m c #4B4C4C", +"1n c #57564A", +"1o c #E3CC42", +"1p c #FEF16A", +"1q c #FEFEA1", +"1r c #FEFB91", +"1s c #F6D756", +"1t c #D7B93A", +"1u c #BDA526", +"1v c #A59319", +"1w c #91850F", +"1x c #7A7617", +"1y c #535252", +"1z c #545353", +"1A c #555553", +"1B c #656566", +"1C c #646465", +"1D c #636263", +"1E c #616261", +"1F c #5F5F5F", +"1G c #5C5D5D", +"1H c #5B5C5C", +"1I c #5B5A5A", +"1J c #706A4C", +"1K c #B6A023", +"1L c #BFA836", +"1M c #ECD458", +"1N c #FFFD9C", +"1O c #FEFED4", +"1P c #FEEE7D", +"1Q c #E3C745", +"1R c #CCB02E", +"1S c #BCA120", +"1T c #BBA21B", +"1U c #686240", +"1V c #4B4A4C", +"1W c #4B4B4A", +"1X c #4A4A49", +"1Y c #494848", +"1Z c #484847", +"1& c #494849", +"2 c #474847", +"20 c #484747", +"21 c #474748", +"22 c #474747", +"23 c #454645", +"24 c #474545", +"25 c #464646", +"26 c #474846", +"27 c #484647", +"28 c #474746", +"29 c #474848", +"2a c #484848", +"2b c #484849", +"2c c #C5B33D", +"2d c #FEEB54", +"2e c #FFFEAE", +"2f c #FFFEFE", +"2g c #FEFED9", +"2h c #FDEC69", +"2i c #DCBE3A", +"2j c #BAA224", +"2k c #A08C17", +"2l c #8A7E0E", +"2m c #7D7707", +"2n c #5F5D34", +"2o c #636262", +"2p c #626262", +"2q c #606061", +"2r c #5E5E5E", +"2s c #5D5E5E", +"2t c #5C5D5C", +"2u c #5A5B5A", +"2v c #5B5B5A", +"2w c #565657", +"2x c #8C7F2C", +"2y c #A3901E", +"2z c #B19729", +"2A c #BD9F35", +"2B c #D2B44A", +"2C c #D2B449", +"2D c #C6AA3D", +"2E c #BFA330", +"2F c #B29722", +"2G c #B0961A", +"2H c #AC9518", +"2I c #948620", +"2J c #464746", +"2K c #464647", +"2L c #464446", +"2M c #454544", +"2N c #454545", +"2O c #444444", +"2P c #434444", +"2Q c #444443", +"2R c #424342", +"2S c #424242", +"2T c #434241", +"2U c #434342", +"2V c #414141", +"2W c #414242", +"2X c #434243", +"2Y c #424343", +"2Z c #444344", +"2& c #444343", +"3 c #444445", +"30 c #454445", +"31 c #504F44", +"32 c #F3D73C", +"33 c #FFED5A", +"34 c #FFFEA1", +"35 c #FFFEE8", +"36 c #FFF79D", +"37 c #E7C04F", +"38 c #BE9E31", +"39 c #A2861F", +"3a c #8F7A15", +"3b c #786C0B", +"3c c #6E6705", +"3d c #6A6617", +"3e c #4E4D4E", +"3f c #605F60", +"3g c #5F5E5E", +"3h c #5E5C5C", +"3i c #5B5B5B", +"3j c #5A5A5B", +"3k c #595A59", +"3l c #555556", +"3m c #535354", +"3n c #525353", +"3o c #847518", +"3p c #95811E", +"3q c #A48F21", +"3r c #AF9523", +"3s c #AE9427", +"3t c #AC8F27", +"3u c #A28622", +"3v c #977C1C", +"3w c #937917", +"3x c #947D14", +"3y c #9B8619", +"3z c #9B8714", +"3A c #414041", +"3B c #414241", +"3C c #41403F", +"3D c #403F3F", +"3E c #3E3E3F", +"3F c #3E3E3E", +"3G c #3E3E3D", +"3H c #3F3F3E", +"3I c #3F3F3F", +"3J c #3D3D3E", +"3K c #3F3D3E", +"3L c #3D3F3E", +"3M c #3D3D3D", +"3N c #3E3F3F", +"3O c #3E3F3D", +"3P c #3F3F40", +"3Q c #414040", +"3R c #424241", +"3S c #6C603E", +"3T c #FBCE39", +"3U c #F6CA49", +"3V c #FFE160", +"3W c #FDF06B", +"3X c #F6D350", +"3Y c #D5B136", +"3Z c #B59424", +"3& c #977D18", +"4 c #7E680F", +"40 c #6A5D09", +"41 c #615804", +"42 c #68630A", +"43 c #4D4D4D", +"44 c #585958", +"45 c #545455", +"46 c #50514F", +"47 c #776B15", +"48 c #837816", +"49 c #88771F", +"4a c #8F811D", +"4b c #948813", +"4c c #988314", +"4d c #947D12", +"4e c #8B7410", +"4f c #836C0F", +"4g c #826915", +"4h c #AA8727", +"4i c #917B15", +"4j c #3E3D3D", +"4k c #3C3A3B", +"4l c #3C3C3B", +"4m c #3A3B3B", +"4n c #3B3B3B", +"4o c #3B3B3A", +"4p c #3B3A3B", +"4q c #393A39", +"4r c #3A3A3A", +"4s c #3A393A", +"4t c #383839", +"4u c #393B39", +"4v c #3B3B39", +"4w c #3B3A3A", +"4x c #3B3C3B", +"4y c #3C3D3C", +"4z c #3F3F3D", +"4A c #766639", +"4B c #E4B230", +"4C c #E9B344", +"4D c #E5BE41", +"4E c #DBB34A", +"4F c #CFAD41", +"4G c #B4A123", +"4H c #A59119", +"4I c #957D11", +"4J c #7A6809", +"4K c #635805", +"4L c #5D5305", +"4M c #645E09", +"4N c #494B4A", +"4O c #595A5A", +"4P c #555756", +"4Q c #535555", +"4R c #6C664D", +"4S c #877C4A", +"4T c #8C7F49", +"4U c #756D4A", +"4V c #58564B", +"4W c #4C4C4C", +"4X c #7C6B32", +"4Y c #A08635", +"4Z c #746A14", +"4& c #776724", +"5 c #7C7218", +"50 c #807C0B", +"51 c #85790B", +"52 c #85720B", +"53 c #836F0C", +"54 c #896F16", +"55 c #C79430", +"56 c #816D17", +"57 c #383939", +"58 c #39383A", +"59 c #393938", +"5a c #393838", +"5b c #373739", +"5c c #373837", +"5d c #363736", +"5e c #958552", +"5f c #434338", +"5g c #8E8343", +"5h c #363636", +"5i c #363534", +"5j c #353636", +"5k c #353436", +"5l c #343534", +"5m c #363535", +"5n c #373636", +"5o c #383837", +"5p c #544E36", +"5q c #585037", +"5r c #5A5436", +"5s c #484637", +"5t c #655B35", +"5u c #C4982D", +"5v c #BF9F69", +"5w c #CDAE56", +"5x c #C29F33", +"5y c #B28F38", +"5z c #A38928", +"5A c #948615", +"5B c #87790C", +"5C c #786A08", +"5D c #6A5D06", +"5E c #615505", +"5F c #564F0D", +"5G c #333233", +"5H c #424243", +"5I c #494A4A", +"5J c #585758", +"5K c #555555", +"5L c #786E49", +"5M c #D0B13B", +"5N c #F1CD43", +"5O c #FEE967", +"5P c #FFF16B", +"5Q c #FEE152", +"5R c #F2CC3A", +"5S c #96843F", +"5T c #5D573F", +"5U c #B59B4C", +"5V c #79671A", +"5W c #6F631B", +"5X c #75671D", +"5Y c #786F15", +"5Z c #7C7A0B", +"5& c #8C770D", +"6 c #9B7A14", +"60 c #B68722", +"61 c #615416", +"62 c #232323", +"63 c #353435", +"64 c #333334", +"65 c #323233", +"66 c #525243", +"67 c #CBC163", +"68 c #FFBF40", +"69 c #3F3E35", +"6a c #FECE4A", +"6b c #CBA845", +"6c c #464033", +"6d c #313130", +"6e c #313031", +"6f c #313132", +"6g c #313231", +"6h c #323132", +"6i c #333332", +"6j c #595134", +"6k c #8E7C41", +"6l c #9E8A4B", +"6m c #95844E", +"6n c #84743F", +"6o c #7F6E34", +"6p c #796635", +"6q c #4A4636", +"6r c #977728", +"6s c #815E25", +"6t c #795823", +"6u c #8A6C25", +"6v c #9F8131", +"6w c #927B27", +"6x c #7E7712", +"6y c #7B7609", +"6z c #7C6F09", +"6A c #736506", +"6B c #665905", +"6C c #37341B", +"6D c #232322", +"6E c #232523", +"6F c #31312F", +"6G c #958639", +"6H c #CFAF2D", +"6I c #E5C24A", +"6J c #FFFC8F", +"6K c #FEFFDC", +"6L c #FFFEE4", +"6M c #FEFB84", +"6N c #E5BC52", +"6O c #D7A93A", +"6P c #A58D32", +"6Q c #7C6B26", +"6R c #7E631B", +"6S c #71601E", +"6T c #776422", +"6U c #796D1C", +"6V c #8C741C", +"6W c #907919", +"6X c #927915", +"6Y c #927910", +"6Z c #8A7513", +"6& c #201F17", +"7 c #181717", +"70 c #2D2E2D", +"71 c #313131", +"72 c #2F2F30", +"73 c #7D7B4D", +"74 c #F9D85A", +"75 c #F8A530", +"76 c #FDA830", +"77 c #3D3B30", +"78 c #F8B93A", +"79 c #FEAC34", +"7a c #F1B43F", +"7b c #695833", +"7c c #2E2D2D", +"7d c #2F2E2E", +"7e c #2D2E2E", +"7f c #30302E", +"7g c #605432", +"7h c #A48E4F", +"7i c #C8B989", +"7j c #D5C99E", +"7k c #B0A47D", +"7l c #82764F", +"7m c #73663B", +"7n c #837146", +"7o c #7E673B", +"7p c #68592C", +"7q c #775A1C", +"7r c #604618", +"7s c #644D18", +"7t c #8F7826", +"7u c #85741C", +"7v c #7E7614", +"7w c #7C770A", +"7x c #7D6F08", +"7y c #726506", +"7z c #4B4410", +"7A c #232221", +"7B c #242324", +"7C c #252324", +"7D c #686346", +"7E c #B79E20", +"7F c #C0A430", +"7G c #E6C84A", +"7H c #FEFE8F", +"7I c #FEFED1", +"7J c #FFFEF6", +"7K c #FFFE91", +"7L c #EFCD8C", +"7M c #C1933F", +"7N c #B8902E", +"7O c #796A2B", +"7P c #61531E", +"7Q c #726312", +"7R c #72641A", +"7S c #896A26", +"7T c #795E1A", +"7U c #7A621C", +"7V c #7D6416", +"7W c #7E6913", +"7X c #282315", +"7Y c #161616", +"7Z c #161615", +"7& c #1C1C1C", +"8 c #414137", +"80 c #CABF5C", +"81 c #FEC443", +"82 c #F59926", +"83 c #FEAA2F", +"84 c #FCB235", +"85 c #3A382D", +"86 c #FEB739", +"87 c #FFB635", +"88 c #F89224", +"89 c #FEB137", +"8a c #C9A03C", +"8b c #38352C", +"8c c #2C2B2C", +"8d c #433E2C", +"8e c #97833C", +"8f c #B7A679", +"8g c #FEFEF8", +"8h c #FEFEFE", +"8i c #C7BF9D", +"8j c #827956", +"8k c #6A613E", +"8l c #625A32", +"8m c #665532", +"8n c #64532D", +"8o c #695D27", +"8p c #856D14", +"8q c #877513", +"8r c #937A24", +"8s c #C69E4D", +"8t c #A78636", +"8u c #715B15", +"8v c #63530E", +"8w c #484113", +"8x c #202220", +"8y c #222121", +"8z c #222323", +"8A c #232423", +"8B c #232524", +"8C c #897A22", +"8D c #A8921E", +"8E c #BEA227", +"8F c #D3B439", +"8G c #EDCE54", +"8H c #F4E36D", +"8I c #FCF071", +"8J c #F8D34C", +"8K c #E2BD3D", +"8L c #B98F36", +"8M c #AE8730", +"8N c #9C811F", +"8O c #303131", +"8P c #342F17", +"8Q c #5A510F", +"8R c #59480F", +"8S c #5F5010", +"8T c #584A14", +"8U c #3D3516", +"8V c #1B1B17", +"8W c #171615", +"8X c #161515", +"8Y c #141416", +"8Z c #504726", +"8& c #EBD452", +"9 c #FEB737", +"90 c #FFA52A", +"91 c #FFC43B", +"92 c #FEC039", +"93 c #F9AC31", +"94 c #37352B", +"95 c #F9AB32", +"96 c #FEAF32", +"97 c #FEB935", +"98 c #FEBD39", +"99 c #FEBF41", +"9a c #F1BC41", +"9b c #50422A", +"9c c #6D5D2C", +"9d c #8F7B44", +"9e c #AC9E71", +"9f c #FBF0C9", +"9g c #EBE2C4", +"9h c #938C70", +"9i c #696346", +"9j c #5E593A", +"9k c #574F2F", +"9l c #594F2B", +"9m c #554728", +"9n c #4A432E", +"9o c #403F33", +"9p c #605417", +"9q c #886D25", +"9r c #715D1A", +"9s c #5C4E13", +"9t c #544A14", +"9u c #332F1A", +"9v c #20211F", +"9w c #202120", +"9x c #212221", +"9y c #222222", +"9z c #242323", +"9A c #242424", +"9B c #57574C", +"9C c #8A780E", +"9D c #A1891C", +"9E c #AC8E1E", +"9F c #B29326", +"9G c #BA982E", +"9H c #C19D36", +"9I c #C9A437", +"9J c #CAA934", +"9K c #C6A32C", +"9L c #BB9627", +"9M c #A47C22", +"9N c #AB8C1B", +"9O c #494328", +"9P c #191B1B", +"9Q c #191A19", +"9R c #2B2816", +"9S c #4B4114", +"9T c #695711", +"9U c #775E15", +"9V c #886C1E", +"9W c #867618", +"9X c #3B3615", +"9Y c #151415", +"9Z c #241D16", +"9& c #B08129", +"a c #FCCD46", +"a0 c #FFCE49", +"a1 c #FEC83D", +"a2 c #FEC139", +"a3 c #FEB133", +"a4 c #37352D", +"a5 c #EEA22B", +"a6 c #FBAB2F", +"a7 c #FFBD37", +"a8 c #FEC958", +"a9 c #FEC358", +"aa c #9F6921", +"ab c #302E2A", +"ac c #83652E", +"ad c #886C3F", +"ae c #88794F", +"af c #7F7658", +"ag c #655F47", +"ah c #56513A", +"ai c #463F2A", +"aj c #403922", +"ak c #443E23", +"al c #534C28", +"am c #524A26", +"an c #554D27", +"ao c #3A3939", +"ap c #342F1C", +"aq c #73611A", +"ar c #8F7B18", +"as c #715911", +"at c #6D5B13", +"au c #6E6810", +"av c #444218", +"aw c #242420", +"ax c #222322", +"ay c #55554B", +"az c #80760E", +"aA c #8A7A1B", +"aB c #97831F", +"aC c #A48E19", +"aD c #AD901D", +"aE c #AB8D1C", +"aF c #A88A1F", +"aG c #A4841E", +"aH c #A2821D", +"aI c #9C7926", +"aJ c #7D6619", +"aK c #9A8016", +"aL c #3E391D", +"aM c #1B1A1B", +"aN c #3C3A16", +"aO c #77651C", +"aP c #BC9E5A", +"aQ c #FCF5AF", +"aR c #FFF9AD", +"aS c #FEE170", +"aT c #F0CC42", +"aU c #E6C132", +"aV c #937B22", +"aW c #151616", +"aX c #1A191A", +"aY c #614B2C", +"aZ c #F0B539", +"a& c #FFD753", +"b c #FFC53C", +"b0 c #FCB030", +"b1 c #39372E", +"b2 c #EF9F2B", +"b3 c #F8A832", +"b4 c #FECC6D", +"b5 c #E39C3A", +"b6 c #574024", +"b7 c #2A2A2A", +"b8 c #2D2C2C", +"b9 c #796228", +"ba c #755E37", +"bb c #73673E", +"bc c #524A32", +"bd c #46422B", +"be c #443C25", +"bf c #3B361E", +"bg c #37311A", +"bh c #42361A", +"bi c #3F3818", +"bj c #4D4322", +"bk c #64532E", +"bl c #3A3938", +"bm c #7D7133", +"bn c #F4D247", +"bo c #FFDA6F", +"bp c #FDD573", +"bq c #F0BD55", +"br c #CA9C3F", +"bs c #C2A12A", +"bt c #AE981C", +"bu c #787011", +"bv c #2F2E1E", +"bw c #242423", +"bx c #525252", +"by c #727106", +"bz c #776A17", +"bA c #826D25", +"bB c #8B7F18", +"bC c #918813", +"bD c #9B8713", +"bE c #9E8515", +"bF c #987E12", +"bG c #947817", +"bH c #9E7829", +"bI c #8B7124", +"bJ c #896F15", +"bK c #27261C", +"bL c #3C341A", +"bM c #BFA63B", +"bN c #E6C352", +"bO c #FEF797", +"bP c #FFFEF8", +"bQ c #FEFFE5", +"bR c #FFF27E", +"bS c #EBCA44", +"bT c #DCB932", +"bU c #F3BF3F", +"bV c #75641C", +"bW c #171818", +"bX c #282828", +"bY c #3B352E", +"bZ c #BE7E26", +"b& c #FAC84C", +"c c #FEBA37", +"c0 c #3C3931", +"c1 c #FDBC3F", +"c2 c #FDBD5E", +"c3 c #A77023", +"c4 c #3C332A", +"c5 c #2D2D2E", +"c6 c #655527", +"c7 c #66552D", +"c8 c #60562E", +"c9 c #4B4125", +"ca c #3C3721", +"cb c #38351C", +"cc c #353319", +"cd c #363219", +"ce c #483E1D", +"cf c #423916", +"cg c #50401F", +"ch c #4C4225", +"ci c #645A28", +"cj c #CBA92B", +"ck c #FEEF7B", +"cl c #FFFECC", +"cm c #FEFFC2", +"cn c #FFF46F", +"co c #EBC844", +"cp c #D1B22F", +"cq c #B9A021", +"cr c #A49116", +"cs c #847811", +"ct c #262523", +"cu c #535452", +"cv c #6D6717", +"cw c #6E6218", +"cx c #706516", +"cy c #746323", +"cz c #7C7018", +"cA c #7E7810", +"cB c #867B0C", +"cC c #8D7B0D", +"cD c #90780E", +"cE c #775E1F", +"cF c #7C601B", +"cG c #725C15", +"cH c #8D6C25", +"cI c #DBB85B", +"cJ c #D4B840", +"cK c #FBEB6F", +"cL c #FFFA9D", +"cM c #FFFA88", +"cN c #F6DF5A", +"cO c #DBBD39", +"cP c #CBAE29", +"cQ c #E6A82F", +"cR c #BE9220", +"cS c #221F17", +"cT c #292827", +"cU c #303130", +"cV c #303232", +"cW c #684E2C", +"cX c #ED9B27", +"cY c #3E3C32", +"cZ c #DB9B28", +"c& c #634726", +"d c #2B2A2C", +"d0 c #2B2C2B", +"d1 c #2C2A2B", +"d2 c #5A4F27", +"d3 c #615628", +"d4 c #5C502D", +"d5 c #4F4421", +"d6 c #3D3420", +"d7 c #37321D", +"d8 c #373319", +"d9 c #383317", +"da c #3C3517", +"db c #413917", +"dc c #544520", +"dd c #322D1C", +"de c #988117", +"df c #8C692F", +"dg c #FDE297", +"dh c #FFFEFA", +"di c #FEFEEC", +"dj c #FEFB7E", +"dk c #F1D148", +"dl c #CDAF2E", +"dm c #B89E20", +"dn c #9D8A15", +"do c #877C0C", +"dp c #4D4C14", +"dq c #585746", +"dr c #726D14", +"ds c #70631D", +"dt c #736320", +"du c #786820", +"dv c #7D7218", +"dw c #81790F", +"dx c #887D0D", +"dy c #917F0E", +"dz c #89740F", +"dA c #8A7311", +"dB c #3E361B", +"dC c #28251D", +"dD c #9E7B21", +"dE c #AC9026", +"dF c #B8972E", +"dG c #C4A43B", +"dH c #D0B245", +"dI c #CCAE40", +"dJ c #C4A634", +"dK c #B49726", +"dL c #B0931E", +"dM c #D9AA45", +"dN c #AB7F1B", +"dO c #464017", +"dP c #272727", +"dQ c #333434", +"dR c #343333", +"dS c #333335", +"dT c #453C32", +"dU c #3B3834", +"dV c #3D362B", +"dW c #212222", +"dX c #1B1B1C", +"dY c #1D1C1C", +"dZ c #292927", +"d& c #393732", +"e c #5F5523", +"e0 c #564D25", +"e1 c #504522", +"e2 c #423921", +"e3 c #3A341D", +"e4 c #3A3619", +"e5 c #443A17", +"e6 c #493C1A", +"e7 c #4B3C1C", +"e8 c #3E381C", +"e9 c #785E16", +"ea c #795827", +"eb c #FCDF7F", +"ec c #FFFC9C", +"ed c #FEF897", +"ee c #F5D85E", +"ef c #CEA937", +"eg c #B79726", +"eh c #A0871B", +"ei c #8C7A11", +"ej c #796D0B", +"ek c #666008", +"el c #252524", +"em c #535352", +"en c #5E5D3C", +"eo c #7B7310", +"ep c #766621", +"eq c #786A1E", +"er c #7C711B", +"es c #807812", +"et c #87810C", +"eu c #93800E", +"ev c #937D10", +"ew c #463F1A", +"ex c #1E1E20", +"ey c #39331C", +"ez c #846A20", +"eA c #998029", +"eB c #A6971F", +"eC c #B19424", +"eD c #AD9025", +"eE c #A58923", +"eF c #9C8120", +"eG c #967A1A", +"eH c #8F7515", +"eI c #91731C", +"eJ c #826E10", +"eK c #423B19", +"eL c #1F2020", +"eM c #383738", +"eN c #373737", +"eO c #2D2D2D", +"eP c #212220", +"eQ c #1B1C1A", +"eR c #1A1B1A", +"eS c #1F201E", +"eT c #1A1B1B", +"eU c #1B1C1B", +"eV c #2F302F", +"eW c #403D33", +"eX c #5F5321", +"eY c #494319", +"eZ c #443D1B", +"e& c #423A1A", +"f c #423C1A", +"f0 c #474019", +"f1 c #4C4417", +"f2 c #4C4117", +"f3 c #26251C", +"f4 c #7F6416", +"f5 c #8A6721", +"f6 c #E8C462", +"f7 c #FBD958", +"f8 c #EDCC44", +"f9 c #DCB53A", +"fa c #BB9929", +"fb c #897114", +"fc c #78640E", +"fd c #605705", +"fe c #655F04", +"ff c #2B2B24", +"fg c #545352", +"fh c #2E2E23", +"fi c #655F12", +"fj c #78750E", +"fk c #817A10", +"fl c #877E0C", +"fm c #6E5F14", +"fn c #34301E", +"fo c #38351A", +"fp c #827517", +"fq c #847618", +"fr c #8C7628", +"fs c #948915", +"ft c #948512", +"fu c #8D7711", +"fv c #866F10", +"fw c #7D690F", +"fx c #786210", +"fy c #7C680F", +"fz c #3D3719", +"fA c #1D1D1D", +"fB c #373939", +"fC c #3A3B3A", +"fD c #292928", +"fE c #1D1C1D", +"fF c #1C1D1D", +"fG c #1C1D1C", +"fH c #2B2B2B", +"fI c #1D1C1B", +"fJ c #1E1F1F", +"fK c #2E2F2F", +"fL c #3F3D34", +"fM c #4C431A", +"fN c #534A17", +"fO c #524815", +"fP c #514816", +"fQ c #3F3719", +"fR c #20201F", +"fS c #1F201F", +"fT c #453C1D", +"fU c #9C8113", +"fV c #A58B25", +"fW c #D8AE3D", +"fX c #D9B144", +"fY c #D3B040", +"fZ c #BFA627", +"f& c #B1961E", +"g c #9E8415", +"g0 c #89720F", +"g1 c #6E5F07", +"g2 c #5F5504", +"g3 c #5F5604", +"g4 c #2E2E22", +"g5 c #565656", +"g6 c #252727", +"g7 c #252625", +"g8 c #252525", +"g9 c #323022", +"ga c #322F21", +"gb c #232123", +"gc c #25251E", +"gd c #726D09", +"ge c #6F6615", +"gf c #76671F", +"gg c #7A6B1F", +"gh c #7E7613", +"gi c #7D780A", +"gj c #82710A", +"gk c #7D6D08", +"gl c #79680A", +"gm c #79670B", +"gn c #7F690C", +"go c #29271C", +"gp c #1F1F20", +"gq c #3C3B3B", +"gr c #373637", +"gs c #1D1D1E", +"gt c #1E1E1F", +"gu c #1E1E1E", +"gv c #1E1E1D", +"gw c #1E1D1D", +"gx c #2D2C2D", +"gy c #1D1E1E", +"gz c #212021", +"gA c #2C2B2B", +"gB c #292A29", +"gC c #1F1E1E", +"gD c #24231E", +"gE c #24241E", +"gF c #201F21", +"gG c #202020", +"gH c #212120", +"gI c #2A2820", +"gJ c #977E14", +"gK c #A28A20", +"gL c #C29B37", +"gM c #BC9A31", +"gN c #B49237", +"gO c #A48D26", +"gP c #9A8C18", +"gQ c #8D800F", +"gR c #7C6D08", +"gS c #6E6106", +"gT c #665A05", +"gU c #594F07", +"gV c #272827", +"gW c #414243", +"gX c #262628", +"gY c #262726", +"gZ c #252527", +"g& c #242524", +"h c #242525", +"h0 c #222422", +"h1 c #232222", +"h2 c #222122", +"h3 c #59570B", +"h4 c #696116", +"h5 c #665E15", +"h6 c #6A5D1F", +"h7 c #6D6318", +"h8 c #6F6A0F", +"h9 c #747107", +"ha c #7D7107", +"hb c #806E0A", +"hc c #7F6D0B", +"hd c #5B5014", +"he c #20201E", +"hf c #201F1F", +"hg c #323131", +"hh c #232325", +"hi c #2D2C2E", +"hj c #1F1F1F", +"hk c #202021", +"hl c #212020", +"hm c #222123", +"hn c #222223", +"ho c #5F521A", +"hp c #9C8811", +"hq c #A98930", +"hr c #A48430", +"hs c #9B7D2D", +"ht c #8E7926", +"hu c #837916", +"hv c #777407", +"hw c #786E06", +"hx c #716606", +"hy c #675D05", +"hz c #38351D", +"hA c #292828", +"hB c #2A2A29", +"hC c #272728", +"hD c #262627", +"hE c #272626", +"hF c #262525", +"hG c #252424", +"hH c #242425", +"hI c #2E2C1F", +"hJ c #66630D", +"hK c #6A6317", +"hL c #6A5E1E", +"hM c #6B601C", +"hN c #6D6913", +"hO c #70700A", +"hP c #7A7208", +"hQ c #817109", +"hR c #77680D", +"hS c #282720", +"hT c #202121", +"hU c #202022", +"hV c #202222", +"hW c #222221", +"hX c #222021", +"hY c #222120", +"hZ c #212122", +"h& c #212022", +"i c #202221", +"i0 c #232324", +"i1 c #292823", +"i2 c #7C6B14", +"i3 c #948610", +"i4 c #8F7925", +"i5 c #887426", +"i6 c #7F701D", +"i7 c #797113", +"i8 c #757508", +"i9 c #736704", +"ia c #56500F", +"ib c #282A29", +"ic c #5C5B5A", +"id c #2A2B2B", +"ie c #282928", +"if c #292829", +"ig c #282728", +"ih c #252626", +"ii c #272726", +"ij c #262524", +"ik c #2F2F20", +"il c #63600B", +"im c #706F0B", +"in c #6F6C0E", +"io c #6F6D0E", +"ip c #767209", +"iq c #7F7407", +"ir c #675A11", +"is c #2F2E20", +"it c #3C3B3C", +"iu c #232321", +"iv c #2F2F2F", +"iw c #232224", +"ix c #232223", +"iy c #232422", +"iz c #252526", +"iA c #252425", +"iB c #292825", +"iC c #625519", +"iD c #8B7D0F", +"iE c #847D0E", +"iF c #7D7711", +"iG c #7A780A", +"iH c #7A7206", +"iI c #796E05", +"iJ c #554E13", +"iK c #2C2C29", +"iL c #292A2A", +"iM c #5D5E5D", +"iN c #2A292B", +"iO c #282829", +"iP c #282827", +"iQ c #262626", +"iR c #262527", +"iS c #262526", +"iT c #373520", +"iU c #4D4718", +"iV c #544F14", +"iW c #48441A", +"iX c #37331F", +"iY c #242426", +"iZ c #444545", +"i& c #373938", +"j c #252725", +"j0 c #232425", +"j1 c #232424", +"j2 c #373736", +"j3 c #29282A", +"j4 c #2C2D2C", +"j5 c #242526", +"j6 c #262625", +"j7 c #262827", +"j8 c #323025", +"j9 c #4A451D", +"ja c #615914", +"jb c #5E5315", +"jc c #46421D", +"jd c #353326", +"je c #2B2A2A", +"jf c #2C2B2A", +" 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K K L M N O P Q R S T U V v W X Y", +" Z &0 000102030405060708090a0b0c0d0e0f0g0h0i X w0j0k0l F E0m0n0o0p0q0r0s0t0u0v0w0u0x0y0z0A0u0w0u0B0t0C0D0E0F0G0H0I0J0K0L I0M0N V", +"0O0P a0Q c060R080S0T0U0V0W0X0Y0Z0&1 10111213 F14150t160u0A1718191a1b1c1d1e1f1g1f1h1i1j1j1k1l1m1m1c1n1o1p1q1r1s1t1u1v1w1x1y1y1z1A", +" c1B1C1D1E1F1F0U1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1b1b1V1k1W1X1Y1Z1&2 202 2122232425262 272820292a2b1X2c2d2e2f2g2h2i2j2k2l2m2n0t0s0o", +"2o2p2q2r2s2t2u2v X0N2w2x2y2z2A2B2C2D2E2F2G2H2I292J2K2L2M2N2N2O2P2O2Q2R2S2T2U2V2W2S2X2Y2Z2&2O3 303132333435363738393a3b3c3d3e0u15", +"3f3g3h3i3j3k0i y3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z2U2S3A3B3C3D3E3F3G3H3I3J3K3L3J3G3M3N3O3H3E3P3Q3R2V3S3T3U3V3W3X3Y3Z3&4 4041421j1j43", +"2t3i3k44 U x451z0o460A4748494a4b4c4d4e4f4g4h4i3H3J4j3M4k4l4m4n4o4p4o4q4r4s4t4q4u4r4v4w4m4x4y3G4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N1k1j", +"4O44 w4P4Q4R4S4T4U4V4W4X4Y4Z4&5 505152535455565758595a5b5c5d5e5f5g5h5i5j5k5l5m5m5n5n5o5p5q5r5s4x5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I", +"5J w5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5B5&6 6061625h636465666768696a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F", +"0N0k6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6&7 707172737475767778797a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A6D7B7C", +" D7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7&8 808182838485868788898a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B", +" C8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8&9 909192939495969798999a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9A", +"9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9&a a0a1a2a3a4a5a6a7a8a9aaabacadaeafagahaiajakalamanao71apaqarasatauavawax629z", +"ayazaAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa&b b0b1b2b3b4b5b6b7b8b9babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubv62bw", +"bxbybzbAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb&c c0c1c2c3c47ec570c6c7c8c9cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctbw", +"cucvcwcxcyczcAcBcCcDcEcFcG7&cHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc&d d0d16e71d2d3d4d5d6d7d8d9dadbdcdddedfdgdhdidjdkdldmdndodp9A", +" JdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdX8ydYdZcUd&e e0e1e2e3e4aNe5e6e7e8e9eaebecedeeefegeheiejekel", +" KemeneoepeqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKeLeMeN5c5jeOePeQeReSeTeTeUeVeWeXeYeZe&f f0f1f2f3e8f4f5f6f7f8f9faaGfbfcfdfeff", +"45 Jfgfhfifjfkfldofmfn8y9wfofpfqfrfsft4IfufvfwfxfyfzfAfBfCc5fDeSfEfFfGfHfIfG7&fJfKfLfMfNfOfPfPfQfRfSfTfUfVfWfXfYfZf&g g0g1g2g3g4", +"g5 I17g6g7g8g9ga628Agb9y8ygcgdgegfggghgigjgkglgmgngogpgqgraxgsgtgugvgwgx9vfAgugygzgAgBgCgDgEfRgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgV", +" v2wgWgXgYgZelg&h 8Abwh0h1h2h3h4h5h6h7h8h9hahbhchdhehfhghhgGeLfSgGhffRhi8AhjgGhffShkh1gzhlhlhkgz9yhmhnhohphqhrhshthuhvhwhxhyhzhA", +"3k0ihBbXhChDdPgYhEhFhGhGhH9AhIhJhKhLhMhNhOhPhQhRhShThl6e8xePhTgHhUhVhW719zhXhY8xhZh&i 9y627A628z8zi062i1i2i3i4i5i6i7i8hwi9iaibgB", +"ic2vidb7ieifcTigdPdPihiiijihg&ikiliminioipiqirishnax62ithB8zhn9yhn8ziuivh19y6Di0iwixhHbwiyg&629Ag8izg8iAiBiCiDiEiFiGiHiIiJiKiLb7", +"iM0i8cidiNiLiOhAiOcTiPbXiQhEiRg7iSiTiUiViWiXiYelg&g&8B65iZi&j iAj0hGj1j28BhH9A9Ag8j3j46hj5j6g8j6ihhEdPj7gVgVj8j9jajbjcjdjejfjefH"}; diff --git a/2009-x64/cps4.03/icons/cpscToolbox.xpm b/2009-x64/cps4.03/icons/cpscToolbox.xpm new file mode 100644 index 0000000..16df733 --- /dev/null +++ b/2009-x64/cps4.03/icons/cpscToolbox.xpm @@ -0,0 +1,1000 @@ +/* XPM */ +static char *CPSCTO_xpm[]={ +"64 24 973 2", +" c #717070", +" 0 c #717171", +" 1 c #70706F", +" 2 c #6F706F", +" 3 c #6F6F6E", +" 4 c #6C6C6C", +" 5 c #6B6B6B", +" 6 c #6A6B6A", +" 7 c #777567", +" 8 c #C5C06B", +" 9 c #8A8968", +" a c #666567", +" b c #656465", +" c c #646464", +" d c #636363", +" e c #616261", +" f c #626061", +" g c #606060", +" h c #5E5D5F", +" i c #5D5E5D", +" j c #5C5C5C", +" k c #5B5B5D", +" l c #5B5C5C", +" m c #5B5A5B", +" n c #5B5B5B", +" o c #59595A", +" p c #595858", +" q c #585858", +" r c #585758", +" s c #575656", +" t c #565756", +" u c #555556", +" v c #565554", +" w c #555555", +" x c #545455", +" y c #545555", +" z c #545355", +" A c #535453", +" B c #535353", +" C c #535253", +" D c #545453", +" E c #545353", +" F c #555455", +" G c #545554", +" H c #545456", +" I c #565555", +" J c #565556", +" K c #565757", +" L c #575856", +" M c #585757", +" N c #595859", +" O c #585859", +" P c #585A5A", +" Q c #6D6D6D", +" R c #6C6D6C", +" S c #6C6B6B", +" T c #6A6A6A", +" U c #6B6C6A", +" V c #7A7769", +" W c #888467", +" X c #948A5B", +" Y c #A79B58", +" Z c #978B46", +" & c #CAB839", +"0 c #B4A74D", +"00 c #75705F", +"01 c #5E5F5F", +"02 c #5F5E5E", +"03 c #5D5D5D", +"04 c #5B5B5C", +"05 c #5A5A5B", +"06 c #595B5A", +"07 c #595A59", +"08 c #585857", +"09 c #575858", +"0a c #575756", +"0b c #555656", +"0c c #555554", +"0d c #535455", +"0e c #535452", +"0f c #525352", +"0g c #515152", +"0h c #525150", +"0i c #505052", +"0j c #515050", +"0k c #4F5050", +"0l c #504F50", +"0m c #50504F", +"0n c #504F4F", +"0o c #504E4F", +"0p c #4E504F", +"0q c #4F4F4E", +"0r c #4F4F50", +"0s c #505050", +"0t c #4F4F4F", +"0u c #505051", +"0v c #515051", +"0w c #505150", +"0x c #525252", +"0y c #545354", +"0z c #535454", +"0A c #555454", +"0B c #8E8969", +"0C c #BFBE7C", +"0D c #928D6C", +"0E c #A59C66", +"0F c #A49858", +"0G c #A09559", +"0H c #847B57", +"0I c #706C57", +"0J c #63635E", +"0K c #615F60", +"0L c #6F6940", +"0M c #6C664E", +"0N c #81784E", +"0O c #8C8154", +"0P c #5F5F5B", +"0Q c #585A59", +"0R c #565657", +"0S c #555655", +"0T c #525151", +"0U c #4F5051", +"0V c #4E4F4F", +"0W c #4E4F4E", +"0X c #4D4E4F", +"0Y c #4D4E4D", +"0Z c #4E4E4D", +"0& c #4C4C4C", +"1 c #4C4B4C", +"10 c #4B4A4C", +"11 c #4A4B4A", +"12 c #4C4C4A", +"13 c #4A4C4A", +"14 c #4B4B4A", +"15 c #4A4A4A", +"16 c #4C4A4C", +"17 c #4B4C4B", +"18 c #4B4B4B", +"19 c #4D4B4C", +"1a c #4D4D4C", +"1b c #4D4D4D", +"1c c #4E4D4E", +"1d c #4F4E4F", +"1e c #505251", +"1f c #525152", +"1g c #545454", +"1h c #555355", +"1i c #A99344", +"1j c #DFD33C", +"1k c #9F9351", +"1l c #6F6A59", +"1m c #64635E", +"1n c #66655D", +"1o c #867C56", +"1p c #B09C52", +"1q c #AC9B54", +"1r c #948345", +"1s c #726A4C", +"1t c #5A5A57", +"1u c #6B664F", +"1v c #988D52", +"1w c #6C6A58", +"1x c #606059", +"1y c #505151", +"1z c #4F4E4E", +"1A c #4E4D4F", +"1B c #4C4E4D", +"1C c #4C4D4C", +"1D c #4B4B4C", +"1E c #4B4A4B", +"1F c #4B494B", +"1G c #494A4A", +"1H c #484A49", +"1I c #494948", +"1J c #494848", +"1K c #484847", +"1L c #474747", +"1M c #464748", +"1N c #464846", +"1O c #464746", +"1P c #464646", +"1Q c #474546", +"1R c #464647", +"1S c #484846", +"1T c #494747", +"1U c #484848", +"1V c #484949", +"1W c #4A4B4B", +"1X c #4B4A4A", +"1Y c #4C4A4B", +"1Z c #4B4C4C", +"1& c #4D4C4B", +"2 c #4E4D4D", +"20 c #4D4D4E", +"21 c #4F4D4E", +"22 c #4F5150", +"23 c #68655E", +"24 c #8C7F2E", +"25 c #867B3D", +"26 c #877D50", +"27 c #62605C", +"28 c #7B7250", +"29 c #C7AD4A", +"2a c #F4DA62", +"2b c #FDF6A0", +"2c c #FDF793", +"2d c #FBE05B", +"2e c #DAB43F", +"2f c #847747", +"2g c #545552", +"2h c #615E50", +"2i c #B7AC56", +"2j c #E8E667", +"2k c #6C6C4C", +"2l c #4D4D4B", +"2m c #4A4B4C", +"2n c #494A48", +"2o c #474948", +"2p c #474848", +"2q c #454645", +"2r c #454446", +"2s c #454444", +"2t c #434444", +"2u c #444444", +"2v c #434342", +"2w c #434242", +"2x c #424243", +"2y c #424242", +"2z c #414242", +"2A c #424241", +"2B c #434142", +"2C c #434243", +"2D c #424443", +"2E c #444544", +"2F c #454445", +"2G c #464644", +"2H c #454747", +"2I c #464747", +"2J c #474847", +"2K c #474748", +"2L c #4A4949", +"2M c #494949", +"2N c #4D4C4C", +"2O c #4D4C4D", +"2P c #5F5F5D", +"2Q c #746A32", +"2R c #666253", +"2S c #766F46", +"2T c #A39748", +"2U c #BFA636", +"2V c #D3B642", +"2W c #F9F085", +"2X c #FDFEEA", +"2Y c #FEFDDA", +"2Z c #FDEF72", +"2& c #EAC947", +"3 c #D1B13B", +"30 c #A49544", +"31 c #877C3E", +"32 c #7A6D3A", +"33 c #C3B72F", +"34 c #5F5F46", +"35 c #464645", +"36 c #434443", +"37 c #404040", +"38 c #3F3F40", +"39 c #3E3F3E", +"3a c #3F403E", +"3b c #3E3E3E", +"3c c #3F3E3E", +"3d c #3E3D3F", +"3e c #3F3E3D", +"3f c #3D3E3E", +"3g c #3E3E3D", +"3h c #3E3D3E", +"3i c #3F3E3F", +"3j c #3E3F3F", +"3k c #3F3F3E", +"3l c #3F3E40", +"3m c #3F4140", +"3n c #414041", +"3o c #444243", +"3p c #444344", +"3q c #444445", +"3r c #454745", +"3s c #484746", +"3t c #484748", +"3u c #484948", +"3v c #4A4A4C", +"3w c #5B5C5B", +"3x c #6C6439", +"3y c #645F4E", +"3z c #5A5956", +"3A c #928427", +"3B c #C1B044", +"3C c #D9C55C", +"3D c #F0DD6B", +"3E c #F7F08F", +"3F c #E3DB79", +"3G c #CFB746", +"3H c #C1A233", +"3I c #BA9A26", +"3J c #BA9E25", +"3K c #545346", +"3L c #494944", +"3M c #6A5F29", +"3N c #464545", +"3O c #454343", +"3P c #414042", +"3Q c #3F4040", +"3R c #3F3F3F", +"3S c #3D3D3D", +"3T c #3C3C3B", +"3U c #3B3A3B", +"3V c #3B3C3B", +"3W c #3A3B3B", +"3X c #3A3A3A", +"3Y c #3B393A", +"3Z c #3A3A38", +"3& c #393939", +"4 c #3A3839", +"40 c #393A39", +"41 c #3A3938", +"42 c #3B3B3A", +"43 c #3B3B3B", +"44 c #3B3C3C", +"45 c #3D3C3D", +"46 c #3E3D3D", +"47 c #403E3E", +"48 c #414040", +"49 c #414141", +"4a c #404240", +"4b c #414142", +"4c c #444442", +"4d c #434445", +"4e c #444545", +"4f c #454646", +"4g c #474545", +"4h c #494B49", +"4i c #666141", +"4j c #676044", +"4k c #5D5B4C", +"4l c #887716", +"4m c #B09420", +"4n c #FBEA5A", +"4o c #E8DD48", +"4p c #B39931", +"4q c #AC8D2E", +"4r c #B2912B", +"4s c #B09223", +"4t c #B0921F", +"4u c #B3971B", +"4v c #676038", +"4w c #474540", +"4x c #675D27", +"4y c #414240", +"4z c #413F40", +"4A c #3D3D3E", +"4B c #3C3C3C", +"4C c #3C3A3A", +"4D c #3A393B", +"4E c #38393A", +"4F c #393837", +"4G c #383738", +"4H c #383837", +"4I c #373637", +"4J c #363736", +"4K c #363637", +"4L c #373537", +"4M c #363536", +"4N c #353636", +"4O c #353434", +"4P c #353536", +"4Q c #363635", +"4R c #363535", +"4S c #353535", +"4T c #353736", +"4U c #373737", +"4V c #373837", +"4W c #383938", +"4X c #39393A", +"4Y c #3A3A3B", +"4Z c #3B3B3C", +"4& c #3C3D3D", +"5 c #3F403F", +"50 c #403F40", +"51 c #404141", +"52 c #434442", +"53 c #454544", +"54 c #454545", +"55 c #575758", +"56 c #615D45", +"57 c #776D38", +"58 c #595747", +"59 c #7C7013", +"5a c #8A781F", +"5b c #C9B21D", +"5c c #B2A31C", +"5d c #9E861E", +"5e c #9A7F18", +"5f c #967C18", +"5g c #927817", +"5h c #947C15", +"5i c #9A7F21", +"5j c #685E34", +"5k c #43433E", +"5l c #675D2B", +"5m c #3D3D3C", +"5n c #383638", +"5o c #3A3A39", +"5p c #353435", +"5q c #323332", +"5r c #313331", +"5s c #343333", +"5t c #383838", +"5u c #353534", +"5v c #323132", +"5w c #323232", +"5x c #313131", +"5y c #313231", +"5z c #313232", +"5A c #323333", +"5B c #343434", +"5C c #343435", +"5D c #383836", +"5E c #383839", +"5F c #3A3838", +"5G c #393B3A", +"5H c #3B3A3A", +"5I c #3C3D3E", +"5J c #3D3E3D", +"5K c #3E3E3F", +"5L c #40403F", +"5M c #414140", +"5N c #424142", +"5O c #444345", +"5P c #444645", +"5Q c #454746", +"5R c #5A584B", +"5S c #7C6D2F", +"5T c #54524C", +"5U c #6B6413", +"5V c #716715", +"5W c #776A1A", +"5X c #837818", +"5Y c #85770F", +"5Z c #8C7C0E", +"5& c #8A780E", +"6 c #87730F", +"60 c #887011", +"61 c #957B29", +"62 c #5B563C", +"63 c #42403D", +"64 c #655D27", +"65 c #3D3C3B", +"66 c #A1A0A0", +"67 c #A2A2A3", +"68 c #A3A3A4", +"69 c #A4A5A4", +"6a c #9F9FA0", +"6b c #A09E9E", +"6c c #A4A5A5", +"6d c #343233", +"6e c #898A8A", +"6f c #9E9F9E", +"6g c #9E9C9D", +"6h c #747575", +"6i c #2F2F2F", +"6j c #2E2D2E", +"6k c #2E2E2C", +"6l c #2E2F2F", +"6m c #2F302F", +"6n c #31302F", +"6o c #303031", +"6p c #353433", +"6q c #373738", +"6r c #393938", +"6s c #393A3A", +"6t c #3A3C3A", +"6u c #424143", +"6v c #434343", +"6w c #444443", +"6x c #444446", +"6y c #555450", +"6z c #786D31", +"6A c #6C6727", +"6B c #6E6615", +"6C c #716617", +"6D c #7B6B1A", +"6E c #786D15", +"6F c #807A0D", +"6G c #897C0D", +"6H c #8E790F", +"6I c #917916", +"6J c #907A26", +"6K c #4A4739", +"6L c #40403B", +"6M c #625926", +"6N c #A5A6A5", +"6O c #4F504F", +"6P c #2C2C2C", +"6Q c #424141", +"6R c #949494", +"6S c #262826", +"6T c #222221", +"6U c #3C3D3C", +"6V c #989898", +"6W c #8C8B8B", +"6X c #28282A", +"6Y c #2D2E2D", +"6Z c #909091", +"6& c #343534", +"7 c #29292A", +"70 c #2B2B2B", +"71 c #2A2B2C", +"72 c #2C2D2B", +"73 c #2C2D2C", +"74 c #2E2E2D", +"75 c #303030", +"76 c #313132", +"77 c #333232", +"78 c #363735", +"79 c #373736", +"7a c #383937", +"7b c #393838", +"7c c #3C3C3D", +"7d c #464445", +"7e c #454546", +"7f c #716A4D", +"7g c #C0B138", +"7h c #ABA35E", +"7i c #82783F", +"7j c #6E6819", +"7k c #72671B", +"7l c #7F6E1E", +"7m c #7E6F21", +"7n c #7F7912", +"7o c #897F0E", +"7p c #937D0F", +"7q c #927B15", +"7r c #5C5123", +"7s c #524B29", +"7t c #444439", +"7u c #615826", +"7v c #979797", +"7w c #2C2B2B", +"7x c #2F3030", +"7y c #2A2A28", +"7z c #333333", +"7A c #9E9FA0", +"7B c #6A6868", +"7C c #858385", +"7D c #B1B0B1", +"7E c #8C8C8B", +"7F c #5C5B5B", +"7G c #383737", +"7H c #201F20", +"7I c #272829", +"7J c #292829", +"7K c #292928", +"7L c #2A2B2A", +"7M c #2B2B2C", +"7N c #2E2E2E", +"7O c #312F30", +"7P c #323233", +"7Q c #333434", +"7R c #373838", +"7S c #383939", +"7T c #3D3C3E", +"7U c #41413F", +"7V c #424343", +"7W c #535352", +"7X c #615C4C", +"7Y c #BAAF33", +"7Z c #A29341", +"7& c #52514C", +"8 c #515043", +"80 c #6C651D", +"81 c #817215", +"82 c #827719", +"83 c #7F730F", +"84 c #887A0E", +"85 c #8B7614", +"86 c #4C431F", +"87 c #1D1E1D", +"88 c #34322B", +"89 c #8A7E44", +"8a c #978F30", +"8b c #525345", +"8c c #9E9E9E", +"8d c #333133", +"8e c #313130", +"8f c #B2B3B2", +"8g c #999998", +"8h c #858786", +"8i c #2A2A2A", +"8j c #2B2C2C", +"8k c #575757", +"8l c #B4B3B4", +"8m c #292929", +"8n c #2A2A29", +"8o c #2B2A2A", +"8p c #2B2C2B", +"8q c #2F2F2E", +"8r c #313332", +"8s c #353635", +"8t c #434244", +"8u c #515250", +"8v c #51524F", +"8w c #756B2D", +"8x c #4F4E47", +"8y c #504E43", +"8z c #756922", +"8A c #565127", +"8B c #544C17", +"8C c #453F1E", +"8D c #39372E", +"8E c #282826", +"8F c #22211A", +"8G c #413B1B", +"8H c #947F30", +"8I c #DBD033", +"8J c #5A5A3B", +"8K c #A0A1A2", +"8L c #333435", +"8M c #3A3B3A", +"8N c #99999A", +"8O c #9B9D9C", +"8P c #232323", +"8Q c #202021", +"8R c #6A6A6C", +"8S c #272625", +"8T c #737273", +"8U c #2B2A2B", +"8V c #2B2B2A", +"8W c #2C2C2D", +"8X c #2D2D2D", +"8Y c #2F2F30", +"8Z c #313030", +"8& c #333234", +"9 c #343433", +"90 c #363634", +"91 c #363737", +"92 c #3B3D3C", +"93 c #3E3C3D", +"94 c #3E3F40", +"95 c #444342", +"96 c #434345", +"97 c #535252", +"98 c #515252", +"99 c #54533F", +"9a c #686323", +"9b c #535142", +"9c c #6A6027", +"9d c #212121", +"9e c #201F1D", +"9f c #332D1C", +"9g c #4E4219", +"9h c #594D16", +"9i c #342E18", +"9j c #32302B", +"9k c #414239", +"9l c #A8A6A6", +"9m c #888987", +"9n c #ADADAC", +"9o c #777675", +"9p c #999798", +"9q c #29282A", +"9r c #2C2D2D", +"9s c #2E2D2D", +"9t c #A3A3A2", +"9u c #9A9A9B", +"9v c #949392", +"9w c #302F2E", +"9x c #2D2E2E", +"9y c #303231", +"9z c #333233", +"9A c #343335", +"9B c #403F3F", +"9C c #4E4E4E", +"9D c #515141", +"9E c #756A2F", +"9F c #796D2B", +"9G c #353327", +"9H c #413A1B", +"9I c #554B16", +"9J c #443D18", +"9K c #25241B", +"9L c #1E1D1D", +"9M c #1C1C1C", +"9N c #1F1E1E", +"9O c #323434", +"9P c #3C3B3B", +"9Q c #282628", +"9R c #3D3E3C", +"9S c #323031", +"9T c #434141", +"9U c #474646", +"9V c #2B2C2D", +"9W c #303131", +"9X c #323131", +"9Y c #323334", +"9Z c #373836", +"9& c #3C3E3D", +"a c #41403F", +"a0 c #474647", +"a1 c #535354", +"a2 c #515253", +"a3 c #515150", +"a4 c #4C4C4D", +"a5 c #796D47", +"a6 c #E7D33D", +"a7 c #A09632", +"a8 c #3A361C", +"a9 c #22231E", +"aa c #1E1F1E", +"ab c #1E1E1D", +"ac c #1E1D1E", +"ad c #1C1C1E", +"ae c #3A3A3C", +"af c #504F4E", +"ag c #565656", +"ah c #474645", +"ai c #2F2E30", +"aj c #302F2F", +"ak c #343535", +"al c #333433", +"am c #5A5B5A", +"an c #3D3B3C", +"ao c #58595A", +"ap c #4A4A4B", +"aq c #525353", +"ar c #535351", +"as c #4D4F4E", +"at c #444237", +"au c #958D23", +"av c #454522", +"aw c #202121", +"ax c #212021", +"ay c #1F2021", +"az c #1F1F1F", +"aA c #1D1E1E", +"aB c #8C8A8B", +"aC c #969795", +"aD c #C5C6C4", +"aE c #969797", +"aF c #8D8C8E", +"aG c #686968", +"aH c #A2A1A0", +"aI c #929293", +"aJ c #A5A6A6", +"aK c #959796", +"aL c #636464", +"aM c #A0A1A1", +"aN c #919292", +"aO c #979595", +"aP c #514F50", +"aQ c #9D9D9D", +"aR c #393839", +"aS c #434344", +"aT c #BCBCBB", +"aU c #949394", +"aV c #B7B7B7", +"aW c #7A7A79", +"aX c #5A5859", +"aY c #ACACAD", +"aZ c #A8A7A7", +"a& c #A9A8AA", +"b c #ABACAB", +"b0 c #595857", +"b1 c #484849", +"b2 c #A7A7A6", +"b3 c #5E5F5E", +"b4 c #474745", +"b5 c #69696A", +"b6 c #B0AEAE", +"b7 c #525251", +"b8 c #222222", +"b9 c #222122", +"ba c #212321", +"bb c #1F1E20", +"bc c #1E1F1F", +"bd c #242625", +"be c #404041", +"bf c #ADADAD", +"bg c #3B3C3D", +"bh c #AFAEAE", +"bi c #818281", +"bj c #767675", +"bk c #ADACAC", +"bl c #828182", +"bm c #757676", +"bn c #A0A0A0", +"bo c #3B3A3C", +"bp c #494847", +"bq c #AEAEAC", +"br c #ABABAB", +"bs c #5F5F5F", +"bt c #444343", +"bu c #676665", +"bv c #AAABAA", +"bw c #474746", +"bx c #5E5D5E", +"by c #AFAFAF", +"bz c #5B5A5A", +"bA c #B5B4B4", +"bB c #5C5D5B", +"bC c #4B494A", +"bD c #565456", +"bE c #555553", +"bF c #252526", +"bG c #242524", +"bH c #232424", +"bI c #222323", +"bJ c #232223", +"bK c #202220", +"bL c #211F20", +"bM c #202120", +"bN c #AFB0AF", +"bO c #848385", +"bP c #3F3F3D", +"bQ c #3F3D3F", +"bR c #AAA9A9", +"bS c #828181", +"bT c #555353", +"bU c #B0AFAF", +"bV c #575555", +"bW c #A1A2A1", +"bX c #BEBEC0", +"bY c #777778", +"bZ c #7A7979", +"b& c #AEAFAE", +"c c #818182", +"c0 c #515251", +"c1 c #B0B1B1", +"c2 c #525153", +"c3 c #474849", +"c4 c #787778", +"c5 c #C8C7C8", +"c6 c #747574", +"c7 c #575556", +"c8 c #565455", +"c9 c #4E4E4F", +"ca c #252625", +"cb c #252525", +"cc c #252324", +"cd c #242324", +"ce c #242423", +"cf c #232222", +"cg c #222322", +"ch c #222121", +"ci c #48494A", +"cj c #727271", +"ck c #7F8081", +"cl c #424040", +"cm c #AAACAC", +"cn c #707071", +"co c #7C7C7D", +"cp c #404140", +"cq c #AEAEAD", +"cr c #595958", +"cs c #A2A3A3", +"ct c #BEBEBD", +"cu c #797A7A", +"cv c #808281", +"cw c #9D9E9D", +"cx c #ADACAD", +"cy c #575857", +"cz c #49494A", +"cA c #B6B6B6", +"cB c #868686", +"cC c #C3C5C5", +"cD c #767678", +"cE c #595959", +"cF c #272827", +"cG c #272726", +"cH c #262626", +"cI c #262625", +"cJ c #242425", +"cK c #252426", +"cL c #242525", +"cM c #232423", +"cN c #242424", +"cO c #242224", +"cP c #252524", +"cQ c #2A2929", +"cR c #B0B0B2", +"cS c #4C4D4D", +"cT c #B1AFAF", +"cU c #8B8B8A", +"cV c #494A49", +"cW c #454344", +"cX c #767677", +"cY c #5C5B5A", +"cZ c #A4A4A4", +"c& c #AFB0B0", +"d c #454644", +"d0 c #525354", +"d1 c #B2B1B2", +"d2 c #B1B1B1", +"d3 c #636364", +"d4 c #B0B2B1", +"d5 c #5E5C5E", +"d6 c #B2B2B1", +"d7 c #656464", +"d8 c #5C5C5B", +"d9 c #5A5B5B", +"da c #59585A", +"db c #2E302F", +"dc c #272727", +"dd c #282727", +"de c #272627", +"df c #272725", +"dg c #262726", +"dh c #242526", +"di c #252323", +"dj c #B1B3B1", +"dk c #888889", +"dl c #858485", +"dm c #9C9C9E", +"dn c #B3B2B3", +"do c #555756", +"dp c #878688", +"dq c #B0B1B0", +"dr c #828383", +"ds c #BFBEBE", +"dt c #737373", +"du c #C0C1C0", +"dv c #787877", +"dw c #787878", +"dx c #8F8F90", +"dy c #ACACAC", +"dz c #6B6C6C", +"dA c #BABBBB", +"dB c #858586", +"dC c #838483", +"dD c #B8B7B8", +"dE c #B4B5B4", +"dF c #606161", +"dG c #B7B8B7", +"dH c #363534", +"dI c #333131", +"dJ c #292A28", +"dK c #292828", +"dL c #272728", +"dM c #262728", +"dN c #262526", +"dO c #252726", +"dP c #373636", +"dQ c #6C6B6C", +"dR c #4C4C4B", +"dS c #757675", +"dT c #6D6D6C", +"dU c #4A4B49", +"dV c #7A797B", +"dW c #6E6E6F", +"dX c #808180", +"dY c #828281", +"dZ c #807F7F", +"d& c #5A595A", +"e c #7E7D7E", +"e0 c #878787", +"e1 c #848484", +"e2 c #787779", +"e3 c #525351", +"e4 c #4C4B4B", +"e5 c #4D4C4E", +"e6 c #5C5D5D", +"e7 c #7F7F7F", +"e8 c #7F807F", +"e9 c #616262", +"ea c #515353", +"eb c #777677", +" 0 1 2 3 4 4 5 6 7 8 9 a b c d e f g g h i j k l m n o p q r s t u u v w x y z A B A A C D E A F z G y H I J J I K L M M N O P", +" Q R S T U V W X Y Z &0 00 e0102030405060708090a0b I0c0d0e B0f0g0h0i0j0k0j0k0l0m0n0k0o0p0q0r0s0t0u0u0v0w0h0g0f0x B0y0z0A G u t0a", +"0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q090R0S F0y A0T0g0j0U0V0W0X0Y0Y0Z0&1 0&10111213141414111516171819171a1a1b1c0q0V1d0U0j1e1f B C1g1h", +"1i1j1k1l1m g1n1o1p1q1r1s1t1u1v1w1x B1y0r1z1A1B1C1D1E1F1G1H1I1J1K1K1L1M1N1L1O1P1Q1R1O1L1R1S1K1T1U1U1V151W1X1Y1Z1&2 20210n0t221e1f", +"232425262728292a2b2c2d2e2f2g2h2i2j2k2l2m1W2n2o2p1L1Q2q2r2s2t2u2v2w2x2y2w2z2z2y2z2A2B2C2w2D2u2E2F2G2q2H2I2J2K2L2M141W1D2N2O0W1z0t", +"2P2Q2R2S2T2U2V2W2X2Y2Z2&3 30313233342K1L352s362y2A2z373738393a3b3c3d3e3f3g3g3h3b3b3i3j3k3l3m3n3n2A2y3o3p3q2q3r3s3t3u1G113v182O1b", +"3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O2y3P3Q3k3R3f3S3T3U3V3W3X3U3U3Y3Z3&4 403X413X3X424344453g464748494a4b4c4d4e4f4g3t1U1I4h1517", +" o4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z394A4B4C4D4E4F4G4H4I4J4K4L4I4M4N4O4P4Q4R4S4T4J4U4V4W4X4Y4Z4B4&395 50512z522t53542H1L3t2L1X", +"55565758595a5b5c5d5e5f5g5h5i5j5k5l39465m3b434G5n5o4B3W5p5q5r5s5t5u5v5w5w5x5v5y5z5A5B5C4N4M5D5E5F5G5H4B5I5J5K5L5M5N365O5P5Q1L3t3u", +"0b5R5S5T5U5V5W5X5Y5Z5&6 6061626364652 6667680r4V696a6b6c0x6d6e6f6g6h6i6j6k6j6l6m6n6o5r5A6p5B4M6q6q6r6s6t44463k38486u6v6w6x1R1P3t", +" w6y6z0x6A6B6C6D6E6F6G6H6I6J6K6L6M3b6N6O6P6Q6R4U6g6S6T6U6V0x6W6X6Y6Z6&7 70717273746l7576775q4O78797a7b4D3V7c3S5K373n2y2x367d7e3s", +" E7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u367v7w7x6j7y7z7A482s7B7C5H7D7E7F7G7H7I7J7K7L7M737N6i7O5w7P7Q4S787R7S4X42437T393j7U2z5N7V6w7d1L", +"7W7X7Y7Z7&8 808182838485868788898a8b8c7z7z8d8e4O8f8g8h 58i8j6s8k6Z8l6r7K8m8n8o8p6P8q8q6o5v8r7z8s4P6q7S3&433V3S5J385L5M2A8t5O1P1Q", +"0z8u8v568w8x8y8z8A8B8C8D8E8F8G8H8I8J8K368L8M8N508O8P7H7H8Q038R8S8P8T0b8U8V8p8j8W8X6i8Y8Z778&9 9078915t6s8M92935K943Q4b5N95963N1R", +"97980w0V999a9b9c739d9e9f9g9h9i9j9k5H229l9m9n9o7Q9p9q9r9s9r3T9t9u9v8c9w6P6Y6j9x6i6m5x9y9z7Q9A8s784V7R4W4Y434B5J3j9B486Q2C6v2s541L", +" E0g0w9C209D9E9F9G9H9I9J9K9L9M9N9O9P7R6&1L4Z9Q7P9R73775y5y9S9x9T9U9V7 6i759W9X765q5w9Y5B5p8s9Z7R7b415H4Z7c9&3b3Qa 4b2A2x2F3N1La0", +"a1a2a30s21a4a5a6a7a8a9aaabacad9M7K454Bae1yaf1g Oa34P4N9Pagah7Qai70aj6s0b7eakal422C5u4S4K3U8kam8k1J45an5J49ag082F4b1V0b1P3q2Jaoap", +"1gaqara30tasatauavawaxayaz9NaA87ax783g2yaBaCaDaEaF9BaGaHaIaJaK3h5naLaMaN6caO3faPaQ5t5taRaSaTaU7vaVaW3baXaYaZa&b b0b1b2b3b4b5b6a4", +"0ba17Wb71y208pb8b9ba9d9dayazazbbbcbd93be5L2tbf3pbg21bha0423dbibj2 bk2q5o7cblbm0zbn3Xbo9Pbpbq5m460xbr6wbkbsbt3pbubvbwbxbybzbAbBbC", +" tbDbE B0T3hbFbGbHbIbJb9b9axbKbLbM7H8s2y6Q1RbNbw5 QbObPbQ3g wbR SbS5I4B6UbTbUbVbW9R3h3b1XbXbYbZb&c c0c13q2u4e2KbAc2c3c4c5c61W17", +" q8kc7c8c96Pcacbcccdce8Pcf8Pb9cgchbJ8p2z3q2LbUci2vcjck4bclbe0bcmcnco50cp37a1cqcrcs51373n1cctcucvcwcxcybf1O9U9UczcAcy15cBcCcD2 1B", +"cEcE M J46cFcGcHcIcJcKcLcMbGcNcOcPcQcd5s1P19cRcS3N scT182F5Pc4cU t8lcV4ccWcX6ecYcZ8t3p960sc&2Ed 1Ub&d0d1093u2n03d21dd3d4d5d6d70W", +"d8d9da1adb7J8mdcdddedfdgcHdhcPcbbF9xdicG6Q0kdj0r3ucVdk7Ddldmdndo2Kdpdqdr8gby0c01dsbmcXdt Ndudvdwdxdy18dzdAdBdCdD 5 sdEdF1d 4dG8k", +"03 j7WdHdI8o8idJ7KdKdddL6SdMcGdNdO75cGcadP1UdQc91ZdR18 jdSdT1ccz2LdUbzdVdW1b2M udXbldYdZd&e e0e1e2e3e4e5e6e7e8 l0te9 R8u0veaebd7"}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBevelOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBevelOff.xpm new file mode 100644 index 0000000..af46c87 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBevelOff.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static char *NEXBevelOff[] = { +/* columns rows colors chars-per-pixel */ +"80 22 13 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #00CE19", +"O c #00E610", +"+ c #008C08", +"@ c gray88", +"# c gray87", +"$ c #DADADA", +"% c #B2B2B2", +"& c gray67", +"* c #979797", +"= c gray100", +/* pixels */ +"XX............................................................................XX", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX ###### XXXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX ##OOOO##.XXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XXX XX XXX XX XX XXXXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XXX X XXX X XXX X XXXXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XX XX X XX X XXXXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XX XXXXXX X XX XXXXX XXXXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXX XX XXX XXX XXX XXX X XXXXXXXXXXXXXXXX ##++++##.XXXX ", +".XXXXXXXXXXXXXXXXXXXXXX XXXX XXXX XXXX XX XXXXXXXXXXXXXXXXX.######.XXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX......XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", +"XX XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBevelOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBevelOn.xpm new file mode 100644 index 0000000..33ce616 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBevelOn.xpm @@ -0,0 +1,38 @@ +/* XPM */ +static char *NEXBevelOn[] = { +/* columns rows colors chars-per-pixel */ +"80 22 10 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #C63000", +"O c #FF6D3C", +"+ c #EA3C08", +"@ c gray88", +"# c #DADADA", +"$ c #898989", +"% c gray100", +/* pixels */ +"XX XX", +"X $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ X", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ ###### $$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ ##OOOO@#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$$ $$ $$$ $$ $$ $$$$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$$ $ $$$ $ $$$ $ $$$$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$ $ $$ $ $$$$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$$$$$ $ $$ $$$$$ $$$$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$$ $$$ $$$ $$$ $ $$$$$$$$$$$$$$$$ ##oooo##.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$ $$$$ $$$$ $$$$ $$ $$$$$$$$$$$$$$$$$.######.$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +"X.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.X", +"XX............................................................................XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOff.xpm new file mode 100644 index 0000000..7ac3606 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOff.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static char *NEXBridgeOff[] = { +/* columns rows colors chars-per-pixel */ +"80 22 13 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #00CE19", +"O c #00E610", +"+ c #008C08", +"@ c gray88", +"# c gray87", +"$ c #DADADA", +"% c #B2B2B2", +"& c gray67", +"* c #979797", +"= c gray100", +/* pixels */ +"XX............................................................................XX", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX ###### XXXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX ##OOOO##.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XX X XX XX XX XXXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XX X XXX X XXX X XXX XXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XX XX X XXX X XXX X XXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XX XX X XXX X XXX X XXXXXXXXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XX XX X XXX X XXX X XXX XXXXXXXXXXXXXX ##++++##.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX XXX XX XX XX XX XXXXXXXXXXXXXXXX.######.XXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX......XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", +"XX XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOffE.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOffE.xpm new file mode 100644 index 0000000..01ba347 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOffE.xpm @@ -0,0 +1,40 @@ +/* XPM */ +static char *NEXBridgeOffE[] = { +/* columns rows colors chars-per-pixel */ +"80 22 12 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #00CE19", +"O c #00E610", +"+ c #008C08", +"@ c gray88", +"# c gray87", +"$ c #DADADA", +"% c #B2B2B2", +"& c gray67", +"* c #979797", +/* pixels */ +"XX............................................................................XX", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXX****XXXXXX*XXXXX*XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXX*XXX*XXXXXXXXXXX*XXXXXXXXXXXXXXXXXXXXXXXXXXX $$$$$$ XXXXX ", +".XXXXXXXXXXXXXXXXXXXXX*XXX*XXXXXXXXXXX*XXXXXXXXXXXXXXXXXXXXXXXXXX $$$$$$$$.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX*XXX*XX**X*XX****XX****XX***XXXXXXXXXXXXXXX $$$$$$$$.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX****XXX*XX*X*XXX*X*XXX*X*XXX*XXXXXXXXXXXXXX $$$$$$$$.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX*XXX*XX*XX*X*XXX*X*XXX*X*****XXXXXXXXXXXXXX $$$$$$$$.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX*XXX*XX*XX*X*XXX*X*XXX*X*XXXXXXXXXXXXXXXXXX $$$$$$$$.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX*XXX*XX*XX*X*XXX*X*XXX*X*XXX*XXXXXXXXXXXXXX $$$$$$$$.XXXX ", +".XXXXXXXXXXXXXXXXXXXXX****XXX*XX*XX****XX****XX***XXXXXXXXXXXXXXXX.$$$$$$.XXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*XXXXXXXXXXXXXXXXXXXXXX......XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX****XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", +"XX XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOn.xpm new file mode 100644 index 0000000..02fd5f2 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXBridgeOn.xpm @@ -0,0 +1,38 @@ +/* XPM */ +static char *NEXBridgeOn[] = { +/* columns rows colors chars-per-pixel */ +"80 22 10 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #C63000", +"O c #FF6D3C", +"+ c #EA3C08", +"@ c gray88", +"# c #DADADA", +"$ c #898989", +"% c gray100", +/* pixels */ +"XX XX", +"X $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ X", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$ ###### $$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$ ##OOOO@#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$ $ $$ $$ $$ $$$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$ $ $$$ $ $$$ $ $$$ $$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$ $ $$$ $ $$$ $ $$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$ $ $$$ $ $$$ $ $$$$$$$$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$ $ $$$ $ $$$ $ $$$ $$$$$$$$$$$$$$ ##oooo##.$$$$.", +" $$$$$$$$$$$$$$$$$$$$$ $$$ $$ $$ $$ $$ $$$$$$$$$$$$$$$$.######.$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$......$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +"X.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.X", +"XX............................................................................XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXCtx.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXCtx.xpm new file mode 100644 index 0000000..b0b5324 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/NEXCtx.xpm @@ -0,0 +1,46 @@ +/* XPM */ +static char *dRCtx[] = { +/* columns rows colors chars-per-pixel */ +"32 32 8 1", +" c #00FF61", +". c #F24444", +"X c gray100", +"o c #C1C1C1", +"O c #717171", +"+ c gray38", +"@ c black", +"# c gray100", +/* pixels */ +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooo@@@@o@@@@o@@@@o@@@@ooooooooo", +"oooo@..@o@..@o@..@o@..@ooooooooo", +"oooo@..@o@..@o@..@o@..@ooooooooo", +"oooo@@@@o@@@@o@@@@o@@@@ooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooo@@@@o@@@@@@oo@@@oooooooooooo", +"oooo@..@o@ @oo@X@Oooooooooooo", +"oooo@..@o@ @oo@X@Oooooooooooo", +"oooo@@@@o@ @oo@X@Oooooooooooo", +"ooooooooo@ @oo@X@Oooooooooooo", +"oooo@@@@o@@@@@@oo@@@Oooooooooooo", +"oooo@..@ooooooooooOOOooooooooooo", +"oooo@..@oooooooooooooooooooooooo", +"oooo@@@@o@@@@@@oo@@@oo@@@@@@oooo", +"ooooooooo@XXXX@Oo@X@Oo@XXXX@Oooo", +"oooo@@@@o@@@@@@Oo@@@Oo@@@@@@Oooo", +"oooo@..@ooOOOOOOooOOOooOOOOOOooo", +"oooo@..@oooooooooooooooooooooooo", +"oooo@@@@ooooooooo@@@oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@@@Oooooooooooo", +"ooooooooooooooooooOOOooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/SelectOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/SelectOff.xpm new file mode 100644 index 0000000..0c023df --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/SelectOff.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static char *selectOff[] = { +/* columns rows colors chars-per-pixel */ +"35 29 4 1", +" c black", +". c gray100", +"X s bg c blue", +"o c gray100", +/* pixels */ +"XX.................................", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX .XXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX .XXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXXXXX", +".XXXXXXXXX . .XX X X X XXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXXX", +".XXXXXXXXX . .XXXXXX XXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXX", +".XXXXXXXXX . ......XXXXXX XXXXXXXX", +".XXXXXXXXX . .XXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXX .XXXXXXXXXXXXX XXXXXXXX", +".XXXXXXXXX..XXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXX X X X X X X XXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XX " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/SelectOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/SelectOn.xpm new file mode 100644 index 0000000..a514c58 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/SelectOn.xpm @@ -0,0 +1,40 @@ +/* XPM */ +static char *selectOn[] = { +/* columns rows colors chars-per-pixel */ +"35 29 5 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #8D8989", +"O c gray100", +/* pixels */ +"XX ", +"X ooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" ooooooooo .ooooooooooooooooooooooo", +" ooooooooo .oooooooooooooooooooooo", +" ooooooooo . .ooooooooooooooooooooo", +" ooooooooo . .oooooooooooooooooooo", +" ooooooooo . .ooooooooooooooooooo", +" ooooooooo . .oooooooooooooooooo", +" ooooooooo . .oo o o o oooooooo", +" ooooooooo . .oooooooooooooooo", +" ooooooooo . .oooooo oooooooo", +" ooooooooo . .ooooooooooooooo", +" ooooooooo . ......oooooo oooooooo", +" ooooooooo . .ooooooooooooooooooooo", +" ooooooooo .ooooooooooooo oooooooo", +" ooooooooo..ooooooooooooooooooooooo", +" ooooooooooooo ooooooooooo oooooooo", +" oooooooooooooooooooooooooooooooooo", +" ooooooooooooo ooooooooooo oooooooo", +" oooooooooooooooooooooooooooooooooo", +" ooooooooooooo o o o o o o oooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +"X.ooooooooooooooooooooooooooooooooo", +"XX................................." +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/adjustPivotOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/adjustPivotOff.xpm new file mode 100644 index 0000000..1f05b2d --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/adjustPivotOff.xpm @@ -0,0 +1,40 @@ +/* XPM */ +static char *adjustPivotOff[] = { +/* columns rows colors chars-per-pixel */ +"144 22 12 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #00E614", +"% c #04CE18", +"& c #008D0C", +"* c #DADADA", +/* pixels */ +"@@ @@", +"@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@@@@@@#", +" @@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*******************************#@@@@@@#", +" @@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@#**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$** @@@@@#", +" @@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@#*$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&* @@@@@#", +" @@@@@@@@@@@@@@@@#@@@@@@#@@@#@@##@@##@@###@@###@##@@@@@@#@@@@#@#@#@@@#@@###@@##@@@@@@@@@@@@@@@@@@@@@@@@#*$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&* @@@@@#", +" @@@@@@@@@@@@@@@@#@@@@@@#@@@#@#@@#@#@@#@@@#@#@@#@@#@@@@@#####@@#@#@@@#@#@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@#*$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&* @@@@@#", +" @@@@@@@@@@@@@@@@#@@@@@@#@@@#@@#@@@#@@#@@@#@#@@#@@#@@@@@#@@@@@@#@@#@#@@#@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@#*$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&* @@@@@#", +" @@@@@@@@@@@@@@@@#@@@@@@#@@@#@@@#@@#@@#@@@#@#@@#@@#@@@@@#@@@@@@#@@#@#@@#@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@#**&&&&&&&&&&&&&&&&&&&&&&&&&&&&&** @@@@@#", +" @@@@@@@@@@@@@@@@#@@@@#@#@@##@#@@#@#@@#@@@#@#@@#@@#@@@@@#@@@@@@#@@@#@@@#@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@ ******************************* @@@@@@#", +" @@@@@@@@@@@@@@@@@####@@@##@#@@##@@@#@@###@@#@@#@@#@@@@@#@@@@@@#@@@#@@@@###@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#", +"@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@", +"@@#############################################################################################@@@@###########################################@@" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/adjustPivotOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/adjustPivotOn.xpm new file mode 100644 index 0000000..d38b1d6 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/adjustPivotOn.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static char *adjustPivotOn[] = { +/* columns rows colors chars-per-pixel */ +"144 22 14 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #C63000", +"% c #FF6D3C", +"& c #EE3804", +"* c #EA3C08", +"= c #DADADA", +"- c #898989", +/* pixels */ +"@@############################################################################################################################################@@", +"@#--------------------------------------------------------------------------------------------------------------------------------------------#@", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#--------------------------------------------------------------------------------------------------------###############################------- ", +"#----------------- ---------------------------------- -- ----------------------------------------#===============================#------ ", +"#---------------- ---- ------------ -------------------- ---- --------------- -------------------------#==%%%%%%%%%%%%%%%%%%%%%%%%%%%%%== ----- ", +"#---------------- ----------------- -------------------- ---- --------------- -------------------------#=%&****************************$= ----- ", +"#---------------- ------ --- -- -- -- -- - ------ ---- - - --- -- -- ------------------------#=%&****************************$= ----- ", +"#---------------- ------ --- - -- - -- --- - -- -- ----- -- - --- - --- - -------------------------#=%&****************************$= ----- ", +"#---------------- ------ --- -- --- -- --- - -- -- ----- ------ -- - -- --- - -------------------------#=%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$= ----- ", +"#---------------- ------ --- --- -- -- --- - -- -- ----- ------ -- - -- --- - -------------------------#==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$== ----- ", +"#---------------- ---- - -- - -- - -- --- - -- -- ----- ------ --- --- --- - -------------------------- =============================== ------ ", +"#----------------- --- - -- --- -- -- -- -- ----- ------ --- ---- --- -------------------------- ------- ", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#---------------------------------------------------------------------------------------------------------------------------------------------- ", +"#----------------------------------------------------------------------------------------------- --------------------------------------------- ", +"@ --------------------------------------------------------------------------------------------- @@ ------------------------------------------- @", +"@@ @@@@ @@" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/borderConvert.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/borderConvert.xpm new file mode 100644 index 0000000..16aad01 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/borderConvert.xpm @@ -0,0 +1,103 @@ +/* XPM */ +static char *borderConvert[] = { +/* columns rows colors chars-per-pixel */ +"26 26 71 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ s bg c green", +"@ c blue", +"# c black", +"$ c #857985", +"% c #383828", +"& c #484838", +"* c #505040", +"= c #595948", +"- c #858571", +"; c #616159", +": c #717169", +"> c #95958D", +", c #FFBE10", +"< c #EEBE30", +"1 c #D6B659", +"2 c #383018", +"3 c #484028", +"4 c #504830", +"5 c #FFB600", +"6 c #B68D28", +"7 c #716138", +"8 c #CEB679", +"9 c #8D8571", +"0 c #FFAE00", +"q c #DE9D10", +"w c #957938", +"e c #B67900", +"r c #796948", +"t c #484030", +"y c #857961", +"u c orange", +"i c #F69D00", +"p c #DE8D00", +"a c #CE8500", +"s c #BE7900", +"d c #AE7100", +"f c #795920", +"g c #615030", +"h c #B67100", +"j c #BE7908", +"k c #A56908", +"l c #9D6108", +"z c #483820", +"x c #8D5910", +"c c #795018", +"v c #696159", +"b c #716961", +"n c #958D85", +"m c #696161", +"M c #8D8585", +"N c #9D9595", +"B c #A59D9D", +"V c #CECECE", +"C c #C6C6C6", +"Z c gray", +"A c #B6B6B6", +"S c #AEAEAE", +"D c #A5A5A5", +"F c #9D9D9D", +"G c #959595", +"H c #8D8D8D", +"J c gray52", +"K c #797979", +"L c #717171", +"P c DimGray", +"I c gray38", +/* pixels */ +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++&2zz22%&m+++", +"+++++++++Kt2z4;LKKLLP;=43z", +"+++++Kt2z*ILKJHHHHHHHHHJ$K", +"++++Hp0uqfbJHHHHHHHHHHHHHH", +"++++HChpu00uawy9HHHHHHHHJL", +"++++G V>rfkaiu005qwyKHHLIL", +"+++++@ VVVVA97xh0u00uj6LJD", +"+++++@@ VVVVVVCKLHlau,FAC", +" V@@@V VVVVVCKLJAFl,SCC", +"@@@@@@@@@V VVVVVKLJAAl,ACC", +"@@@@@@@@@@V VVVVKLJASd,ACC", +"@@@@@@@@@@@V VVVKLJSSd,ZCC", +"@@@@@@@@@@@@VAVVKLPFSe08CCC", +"+++++++Kchf-ZZZZZZZZn08CCS" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/borderOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/borderOff.xpm new file mode 100644 index 0000000..e14390c --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/borderOff.xpm @@ -0,0 +1,109 @@ +/* XPM */ +static char *borderOff[] = { +/* columns rows colors chars-per-pixel */ +"30 32 71 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #6D6D79", +"% c #A5A56D", +"& c #40402C", +"* c #85856D", +"= c #4C4C40", +"- c #6D6D61", +"; c #919185", +": c #616159", +"> c #6D6134", +", c #D2BE79", +"< c #DEBE59", +"1 c #615940", +"2 c #C6BEA5", +"3 c #FFBE00", +"4 c #FFBE08", +"5 c #F2BE2C", +"6 c #6D5920", +"7 c #917934", +"8 c #342C14", +"9 c #FFB200", +"0 c #DE9908", +"q c #B2852C", +"w c #857961", +"e c #91856D", +"r c orange", +"t c #DE9100", +"y c #D28500", +"u c #BE7900", +"i c #996100", +"p c #795920", +"a c #594C34", +"s c #B26D00", +"d c #403420", +"f c #FF9900", +"g c #A56100", +"h c #915908", +"j c #614C2C", +"k c #BE6D00", +"l c #854C00", +"z c #6D4C20", +"x c #796140", +"c c #794C14", +"v c #6D6161", +"b c #A59999", +"n c #999191", +"m c #D2D2D2", +"M c #C6C6C6", +"N c gray", +"B c #B2B2B2", +"V c #A5A5A5", +"C c gray60", +"Z c gray57", +"A c gray52", +"S c #797979", +"D c #6D6D6D", +"F c gray38", +"G c gray35", +"H c #4C4C4C", +"J c #343434", +"K c #2C2C2C", +"L c #202020", +"P c gray3", +"I c gray100", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@FKPLLKHF@@@@@@@@@@@", +"@@@@@@@GKLLKHGFGHJJKPLLLKHF@@@", +"@@@&8d=GGFSAAAAAAASASDFFGKJKK@", +"@609t0pvAZAAAAAAAAAAAAADHDGAK@", +"@ltktr99ry7weAAAAAAAASHHDAVBH@", +"@zs*Zxpgyfr99307wSAADJFSVBNZF@", +"@@u*mmmmNe>hk9r99ruqGDZNVVBD@@", +"@@k*mmmmmmmmMSDZiyr4CNBVVVBH@@", +"@@ixmmmmmmmmMSDANCi4BNVVVVVJ@@", +"@@cpmmmmmmmmmSDANNi4NBVVVVVK@@", +"@@jimmmmmmmmmSDANBs4NBVVVVVJ@@", +"@@:kMmmmmmmmmSDABBs4NBVVVVVH@@", +"@@@ubmmmmmmmmSDFCBu5NVVVVVV$@@", +"@@@kwmmmmmmVSADFFFt5NVVVVVZD@@", +"@@@h>mmmmmASSFFFDD95NVVVVVAD@@", +"@@@cpmmmVSASFZNNAFr5NVVVVVG@@@", +"@@@jgmmASSFDNNNNNVtbNNe32VJ@@@@@@@@", +"@@@@@@@@@@@@1gk>Vw32A@@@@@@@@@", +"@@@@@@@@@@@@@@jssi3%F@@@@@@@@@", +"@@@@@@@@@@@@@@@@ju3a@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/borderOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/borderOn.xpm new file mode 100644 index 0000000..21629ff --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/borderOn.xpm @@ -0,0 +1,127 @@ +/* XPM */ +static char *borderOff[] = { +/* columns rows colors chars-per-pixel */ +"26 26 95 2", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ c blue", +"# c black", +"$ c #999995", +"% c #554408", +"& c #403408", +"* c #857D61", +"= c #CE9D08", +"- c #BE9108", +"; c #9D7908", +": c #AA8514", +"> c #9D8128", +", c #E2AA08", +"< c #D6A108", +"1 c #B68908", +"2 c #B28508", +"3 c #916D08", +"4 c #816108", +"5 c #755908", +"6 c #4C3C0C", +"7 c #403410", +"8 c #3C3010", +"9 c #D6B65D", +"0 c #CAB67D", +"q c #796D4C", +"w c #FFB600", +"e c #FFBA10", +"r c #EEBA30", +"t c #75653C", +"y c #715008", +"u c #81611C", +"i c #957938", +"p c #483C20", +"a c #59554C", +"s c #FFAA00", +"d c #B67904", +"f c #AA7104", +"g c #7D5504", +"h c #996908", +"j c #EAA110", +"k c #6D4C08", +"l c #694808", +"z c #DE9D18", +"x c #B6892C", +"c c #50442C", +"v c #8D8575", +"b c #716D65", +"n c #959189", +"m c #DE8D00", +"M c #B67500", +"N c #FFA504", +"B c #C27D04", +"V c #B27504", +"C c #956104", +"Z c #BA7908", +"A c #A16908", +"S c #554C3C", +"D c #FFA100", +"F c #F29900", +"G c #CA8104", +"H c #916110", +"J c #65615D", +"K c #999591", +"L c #A19D99", +"P c #CECECE", +"I c #CACACA", +"U c #C6C6C6", +"Y c gray76", +"T c gray", +"R c gray73", +"E c #B6B6B6", +"W c #B2B2B2", +"Q c #AAAAAA", +"! c #A5A5A5", +"~ c #9D9D9D", +"^ c gray60", +"/ c #959595", +"( c #8D8D8D", +") c #898989", +"_ c gray52", +"` c #818181", +"' c gray49", +"] c #797979", +"[ c gray46", +"{ c #717171", +"} c #6D6D6D", +"| c DimGray", +" . c #656565", +".. c gray38", +"X. c gray100", +/* pixels */ +"b b b b b b b b b b b b b b b b b b b b b b b b b ", +"b , , , , , , , , , , , , , , , , , , , , , , , , ", +"b , , , , , , , , , , , , , , , , , , , , , , , , ", +"b , , , , , , , , , , , , , , , , , , , , , , , , ", +"b , , , , , , , , , , , , , , , , , , , , , , , , ", +"b , , , , , , , , , , , , ; % 8 p p 7 8 & % 5 2 , ", +"b , , , , , , , , 3 6 7 p S J } ] ] [ { } J a S c ", +"b , , , , 3 6 7 p S J { ] _ ) ( ( ( ( ( ( ( ) _ ` ", +"b , , , > m D N z u b ` ) ( ( ( ( ( ( ( ( ( ( ( ( ", +"b , , , > m V m N s s D G i * v ( ( ( ( ( ( ( ( _ ", +"b , , , : f P K q u h G F D s s w j i * ' ) ) [ | ", +"b , , , - d W P P P P W v t u f s D s s D Z x } _ ", +"b , , , < M v P P P P P P P P U ] } ) H B D e ~ W ", +"b , , , , h q P P P P P P P P U ] } _ W ^ h e W Y ", +"b , , , , g u P P P P P P P P I ] { ` W W h e W Y ", +"b , , , , l h P P P P P P P P P ] { ` W W A e E Y ", +"b , , , , 5 V Y P P P P P P P P ] { ` W W f e R Y ", +"b , , , , ; d L P P P P P P P I ] [ | ~ Q d r E Y ", +"b , , , , = V * P P P P P P ! ] _ [ } .. .m r R Y ", +"b , , , , , C t P P P P I _ ] ' } | | } } s r R Y ", +"b , , , , , y u P P P ! ] _ ] | / R W _ } D r T Y ", +"b , , , , , k A P I _ ] ' } [ W R R R R ! m 9 R Y ", +"b , , , , , 4 d { ] _ ] | / R R R R R R L F 9 T Y ", +"b , , , , , 1 G [ ' } ] E R R R R R R R $ D 9 T Y ", +"b , , , , , , C d d ' R R R R R R R R R n s 0 Y Y ", +"b " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/bubbleOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/bubbleOff.xpm new file mode 100644 index 0000000..6966583 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/bubbleOff.xpm @@ -0,0 +1,103 @@ +/* XPM */ +static char *bubbleOff[] = { +/* columns rows colors chars-per-pixel */ +"50 47 50 1", +" c #000002", +". s bg c green", +"X c gray100", +"o c #E4E4E4", +"O c #E2E2E2", +"+ c #DFDFDF", +"@ c gainsboro", +"# c gray85", +"$ c gray84", +"% c LightGray", +"& c #D0D0D0", +"* c #CDCDCD", +"= c #CACACA", +"- c gray78", +"; c #C5C5C5", +": c gray76", +"> c gray75", +", c #BCBCBC", +"< c #B9B9B9", +"1 c #B6B6B6", +"2 c gray70", +"3 c gray69", +"4 c gray68", +"5 c #AAAAAA", +"6 c gray66", +"7 c #A5A5A5", +"8 c #A2A2A2", +"9 c #9F9F9F", +"0 c gray61", +"q c gray60", +"w c gray59", +"e c #939393", +"r c #909090", +"t c #8D8D8D", +"y c #8B8B8B", +"u c #888888", +"i c gray52", +"p c gray51", +"a c gray50", +"s c #7C7C7C", +"d c #797979", +"f c #767676", +"g c gray45", +"h c #717171", +"j c gray43", +"k c gray42", +"l c #656565", +"z c #626262", +"x c gray35", +"c c black", +/* pixels */ +"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".X................................................", +"X.................................................", +"X.................................................", +"X.................................................", +"X.....................dyeerug.....................", +"X....................iw97779wp....................", +"X...................y06433347qu...................", +"X..................u0631<<<1360i..................", +"X.................i052<>:::,<36qa.................", +"X................sw63<:;---;><37ef................", +"X...............jr73<:;-===-;>148t................", +"X...............u051>;=**&**=;>150p...............", +"X..............sw62,;=*&%%%&*-:,37eg..............", +"X..............t94<:-*&%$$$%&*-:149u..............", +"X.............aq62>;=&%$$$$$%&=;,26ws.............", +"X............kr83<:-*%$#####$%*-:<49y.............", +"X............pq62>;=&$##@@@#$%&=;,26ws............", +"X...........jr84<:-*%$#@@@@@#$%*-:149tz...........", +"X...........pq62,;=&$#@@+++@@#$&=;,26ws...........", +"X..........jt941:-*%$#@+++++@#$%*->159yz..........", +"X..........aw62,;=&$#@++++++@@#%&=:,37es..........", +"X.........kt951>-*%$#@++OOO++@#$&=;>250ux.........", +"X.........aw73<:=*%#@++OOOOO+@@$%*-:<48ed.........", +"X........lu052,;=&$#@+OOOOOO++@#$&=;,26qi.........", +"X........se841:-*%$#@+OOOoOOO+@#$%*->149rf........", +"X.......xuq63,:=*%#@++OOoooOO++@$%*-:<37wp........", +"X.......fr951>;=&$#@+OOooooOOO+@#%&=;,250th.......", +"X.......pw73<:-*%$#@+OOoooooOO+@#$&*->148ea.......", +"X......gt062,:-*%$@@+OOoooooOO+@#$%*-:<360uj......", +"X......ae841>;=&%#@++OooooooOO++@#%*=;,259rs......", +"X.....juq63<:-*&$#@+OOoooooooO++@#$&=;>147qil.....", +"X.....dtq842,>-***&%@$@$$$$$@%#$*&*=;><248wyf.....", +"X.................................................", +"X.................................................", +"X..........cccc.........c.....c.....c.............", +"X..........c...c........c.....c.....c.............", +"X..........c...c........c.....c.....c.............", +"X..........c...c..c...c.cccc..cccc..c..ccc........", +"X..........cccc...c...c.c...c.c...c.c.c...c.......", +"X..........c...c..c...c.c...c.c...c.c.ccccc.......", +"X..........c...c..c...c.c...c.c...c.c.c...........", +"X..........c...c..c..cc.c...c.c...c.c.c...c.......", +"X..........cccc....cc.c.cccc..cccc..c..ccc........", +"X.................................................", +". ................................................", +".. " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/bubbleOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/bubbleOn.xpm new file mode 100644 index 0000000..17f53d2 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/bubbleOn.xpm @@ -0,0 +1,104 @@ +/* XPM */ +static char *bubbleOn[] = { +/* columns rows colors chars-per-pixel */ +"50 47 51 1", +" c #000002", +". s bg c green", +"X c #8D8888", +"o c gray100", +"O c #E4E4E4", +"+ c #E2E2E2", +"@ c #DFDFDF", +"# c gainsboro", +"$ c gray85", +"% c gray84", +"& c LightGray", +"* c #D0D0D0", +"= c #CDCDCD", +"- c #CACACA", +"; c gray78", +": c #C5C5C5", +"> c gray76", +", c gray75", +"< c #BCBCBC", +"1 c #B9B9B9", +"2 c #B6B6B6", +"3 c gray70", +"4 c gray69", +"5 c gray68", +"6 c #AAAAAA", +"7 c gray66", +"8 c #A5A5A5", +"9 c #A2A2A2", +"0 c #9F9F9F", +"q c gray61", +"w c gray60", +"e c gray59", +"r c #939393", +"t c #909090", +"y c #8D8D8D", +"u c #8B8B8B", +"i c #888888", +"p c gray52", +"a c gray51", +"s c gray50", +"d c #7C7C7C", +"f c #797979", +"g c #767676", +"h c gray45", +"j c #717171", +"k c gray43", +"l c gray42", +"z c #656565", +"x c #626262", +"c c gray35", +"v c black", +/* pixels */ +".. ", +". XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXXfurrtihXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXpe08880eaXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXuq7544458wiXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXiq742111247qpXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXpq631,>>><147wsXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXde741>:;;;:,148rgXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXkt841>:;---;:,259yXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXiq62,:-==*==-:,26qaXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXde73<:-=*&&&*=;><48rhXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXy051>;=*&%%%&*=;>250iXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXsw73,:-*&%%%%%&*-:<37edXXXXXXXXXXXXX", +" XXXXXXXXXXXXlt941>;=&%$$$$$%&=;>150uXXXXXXXXXXXXX", +" XXXXXXXXXXXXaw73,:-*%$$###$%&*-:<37edXXXXXXXXXXXX", +" XXXXXXXXXXXkt951>;=&%$#####$%&=;>250yxXXXXXXXXXXX", +" XXXXXXXXXXXaw73<:-*%$##@@@##$%*-:<37edXXXXXXXXXXX", +" XXXXXXXXXXky052>;=&%$#@@@@@#$%&=;,260uxXXXXXXXXXX", +" XXXXXXXXXXse73<:-*%$#@@@@@@##$&*-><48rdXXXXXXXXXX", +" XXXXXXXXXly062,;=&%$#@@+++@@#$%*-:,36qicXXXXXXXXX", +" XXXXXXXXXse841>-=&$#@@+++++@##%&=;>159rfXXXXXXXXX", +" XXXXXXXXziq63<:-*%$#@++++++@@#$%*-:<37wpXXXXXXXXX", +" XXXXXXXXdr952>;=&%$#@+++O+++@#$%&=;,250tgXXXXXXXX", +" XXXXXXXciw74<>-=&$#@@++OOO++@@#%&=;>148eaXXXXXXXX", +" XXXXXXXgt062,:-*%$#@++OOOO+++@#$&*-:<36qyjXXXXXXX", +" XXXXXXXae841>;=&%$#@++OOOOO++@#$%*=;,259rsXXXXXXX", +" XXXXXXhyq73<>;=&%##@++OOOOO++@#$%&=;>147qikXXXXXX", +" XXXXXXsr952,:-*&$#@@+OOOOOO++@@#$&=-:<360tdXXXXXX", +" XXXXXkiw741>;=*%$#@++OOOOOOO+@@#$%*-:,258wpzXXXXX", +" XXXXXfyw953<,;===*&#%#%%%%%#&$%=*=-:,1359eugXXXXX", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" XXXXXXXXXXooooXXXXXXXXXoXXXXXoXXXXXoXXXXXXXXXXXXX", +" XXXXXXXXXXoXXXoXXXXXXXXoXXXXXoXXXXXoXXXXXXXXXXXXX", +" XXXXXXXXXXoXXXoXXXXXXXXoXXXXXoXXXXXoXXXXXXXXXXXXX", +" XXXXXXXXXXoXXXoXXoXXXoXooooXXooooXXoXXoooXXXXXXXX", +" XXXXXXXXXXooooXXXoXXXoXoXXXoXoXXXoXoXoXXXoXXXXXXX", +" XXXXXXXXXXoXXXoXXoXXXoXoXXXoXoXXXoXoXoooooXXXXXXX", +" XXXXXXXXXXoXXXoXXoXXXoXoXXXoXoXXXoXoXoXXXXXXXXXXX", +" XXXXXXXXXXoXXXoXXoXXooXoXXXoXoXXXoXoXoXXXoXXXXXXX", +" XXXXXXXXXXooooXXXXooXoXooooXXooooXXoXXoooXXXXXXXX", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".oXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"..oooooooooooooooooooooooooooooooooooooooooooooooo" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/changeLogDown.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/changeLogDown.xpm new file mode 100644 index 0000000..956558d --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/changeLogDown.xpm @@ -0,0 +1,27 @@ +/* XPM */ +static char *changeLogDown[] = { +/* columns rows colors chars-per-pixel */ +"88 18 3 1", +" c blue", +". s bg c green", +"X c black", +/* pixels */ +"........................................................................................", +"........................................................................................", +"........................................................................................", +"........................................................................................", +".. ..... . ................... .. ................................ ..................", +".. ..... .................... .... . ................................ ..................", +"... ... ..................... ...... ................................ ..................", +"... ... .. .. .. .. .. .... ...... . ... .. . ... .. ..... ...... ... ..", +"... ... .. . ... . .. .. .... ...... .. ..... . .. . ... . ... .... ..... ... . ... ..", +".... . ... . . . . . .... ...... ... .. . ... . ... . .... ..... ... . ... ..", +".... . ... . ..... . . . .... ...... ... . ... . ... . ... . ........ ..... ... . ... ..", +"..... .... . ... .. ... ..... .... . ... . ... . ... . ... . ... .... ..... ... . ... ..", +"..... .... .. ... ... ...... .. ... .. . ... .. .. ..... .. ... ..", +".......................................................... .......................... ..", +".. ..", +"........................................................................................", +"........................................................................................", +"........................................................................................" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/changeLogUp.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/changeLogUp.xpm new file mode 100644 index 0000000..6293313 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/changeLogUp.xpm @@ -0,0 +1,27 @@ +/* XPM */ +static char *changeLogUp[] = { +/* columns rows colors chars-per-pixel */ +"88 18 3 1", +" c blue", +". s bg c green", +"X c black", +/* pixels */ +"........................................................................................", +"........................................................................................", +"........................................................................................", +"........................................................................................", +".. ..... . ................... .. ................................ ..................", +".. ..... .................... .... . ................................ ..................", +"... ... ..................... ...... ................................ ..................", +"... ... .. .. .. .. .. .... ...... . ... .. . ... .. ..... ...... ... ..", +"... ... .. . ... . .. .. .... ...... .. ..... . .. . ... . ... .... ..... ... . ... ..", +".... . ... . . . . . .... ...... ... .. . ... . ... . .... ..... ... . ... ..", +".... . ... . ..... . . . .... ...... ... . ... . ... . ... . ........ ..... ... . ... ..", +"..... .... . ... .. ... ..... .... . ... . ... . ... . ... . ... .... ..... ... . ... ..", +"..... .... .. ... ... ...... .. ... .. . ... .. .. ..... .. ... ..", +".......................................................... .......................... ..", +"...................................................... ....................... ...", +"........................................................................................", +"........................................................................................", +"........................................................................................" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/dRBox.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/dRBox.xpm new file mode 100644 index 0000000..0e0bc6c --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/dRBox.xpm @@ -0,0 +1,36 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"20 20 10 1", +". c Gray100", +"X c #5d82a3", +"o c #9bc2e6", +"O c #7f91a1", +"+ c #226aa7", +"@ c #4076a5", +"$ c #d34c28", +"% c Gray100", +"& c Gray0", +" s bg c Green", +/* pixels */ +" ", +" ", +" $$$$$$$ ", +" $ooooo$ ", +" $o+++o$ ", +" $o+++o$$$$ ", +" $o+++oooo$ ", +" $oooo+@@o$ ", +" $$$$o@@@o$$$$ ", +" $o@@@oooo$ ", +" $oooo@XXo$ ", +" $$$$oXXXo$$$$ ", +" $oXXXoooo$ ", +" $ooooXOOo$ ", +" $$$$oOOOo$ ", +" $oOOOo$ ", +" $ooooo$ ", +" $$$$$$$ ", +" ", +" " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/dRCtx.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/dRCtx.xpm new file mode 100644 index 0000000..b0b5324 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/dRCtx.xpm @@ -0,0 +1,46 @@ +/* XPM */ +static char *dRCtx[] = { +/* columns rows colors chars-per-pixel */ +"32 32 8 1", +" c #00FF61", +". c #F24444", +"X c gray100", +"o c #C1C1C1", +"O c #717171", +"+ c gray38", +"@ c black", +"# c gray100", +/* pixels */ +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooo@@@@o@@@@o@@@@o@@@@ooooooooo", +"oooo@..@o@..@o@..@o@..@ooooooooo", +"oooo@..@o@..@o@..@o@..@ooooooooo", +"oooo@@@@o@@@@o@@@@o@@@@ooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooo@@@@o@@@@@@oo@@@oooooooooooo", +"oooo@..@o@ @oo@X@Oooooooooooo", +"oooo@..@o@ @oo@X@Oooooooooooo", +"oooo@@@@o@ @oo@X@Oooooooooooo", +"ooooooooo@ @oo@X@Oooooooooooo", +"oooo@@@@o@@@@@@oo@@@Oooooooooooo", +"oooo@..@ooooooooooOOOooooooooooo", +"oooo@..@oooooooooooooooooooooooo", +"oooo@@@@o@@@@@@oo@@@oo@@@@@@oooo", +"ooooooooo@XXXX@Oo@X@Oo@XXXX@Oooo", +"oooo@@@@o@@@@@@Oo@@@Oo@@@@@@Oooo", +"oooo@..@ooOOOOOOooOOOooOOOOOOooo", +"oooo@..@oooooooooooooooooooooooo", +"oooo@@@@ooooooooo@@@oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@X@Oooooooooooo", +"ooooooooooooooooo@@@Oooooooooooo", +"ooooooooooooooooooOOOooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo", +"oooooooooooooooooooooooooooooooo" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/edgeConvert.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/edgeConvert.xpm new file mode 100644 index 0000000..46038f9 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/edgeConvert.xpm @@ -0,0 +1,100 @@ +/* XPM */ +static char *edgeConvert[] = { +/* columns rows colors chars-per-pixel */ +"26 26 68 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ s bg c green", +"@ c blue", +"# c black", +"$ c #797179", +"% c #C6BEC6", +"& c #484838", +"* c #505040", +"= c #595948", +"- c #595950", +"; c #FFE600", +": c #FFE618", +"> c #FFD600", +", c #FFD60C", +"< c #FFC600", +"1 c #FFC618", +"2 c #FFBE00", +"3 c #484028", +"4 c #504830", +"5 c #B68D28", +"6 c #FFAE00", +"7 c #FFB200", +"8 c #FAAA00", +"9 c #D69500", +"0 c #DE9D10", +"q c #594820", +"w c #484030", +"e c #857961", +"r c orange", +"t c #F69D00", +"y c #DE8D00", +"u c #CE8500", +"i c #BE7900", +"p c #AE7100", +"a c #C6850C", +"s c #B67100", +"d c #A56908", +"f c #E6950C", +"g c #B27918", +"h c #694810", +"j c #503810", +"k c #B67108", +"l c #9D6108", +"z c #BE7108", +"x c #8D5910", +"c c #795018", +"v c #716969", +"b c #797171", +"n c gray", +"m c #8D8D8D", +"M c gray52", +"N c #797979", +"B c #717171", +"V c DimGray", +"C c gray38", +"Z c gray35", +"A c #505050", +"S c #484848", +"D c gray25", +"F c gray22", +"G c gray19", +"H c #282828", +"J c #202020", +"K c #181818", +/* pixels */ +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++*jxxhj3*V+++", +"+++++++++Mwjxszx34qclkispx", +"+++++Nwjlikc4=V$NNN$$BC-*4", +"++++jy666kq=VbNNNNNNNNNNNb", +"++++j%dyr66rulq*ZBNNNNNN-c", +"++++C %C&qxit66rtkc4=vCqy2", +"+++++@ %BBBC*3hdyr6rrku2>5", +"+++++@@ BBBBBBBZ&qxzr>0en", +" %@@@% BBBBBBBBBBBg>nnn", +"@@@@@@@@@% BBBBBBBBBBg>nnn", +"@@@@@@@@@@% BBBBBBBBBa>nnn", +"@@@@@@@@@@@% BBBBBBBBa>nnn", +"@@@@@@@@@@@@ nBBBBBBB9>nnn", +"@@@@@@@@@@@@MBBBBBBBBf>nnn", +"@@@@@@@@@@nBBBBBBBBBB8>nnn", +"@@@@@@@@@nBBBBBBBBBBB7;nnn", +"+++++@@@nBBBBBBBBBBBB7;n%n", +"+++++@@nVBBBBBBBBBBBB<;nnn", +"+++++@%KCVBBBBBBBBBBB<:nnn", +"+++++++JDCBBBBBBBBBBB>,nnn", +"+++++++mGJSBBBBBBBBBB>1nnn" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/edgeOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/edgeOff.xpm new file mode 100644 index 0000000..efc402f --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/edgeOff.xpm @@ -0,0 +1,105 @@ +/* XPM */ +static char *edgeOff[] = { +/* columns rows colors chars-per-pixel */ +"32 36 63 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #D22C2C", +"% c #AAAAAA", +"& c #A5A5A5", +"* c #898989", +"= c #818181", +"- c gray49", +"; c #797979", +": c #161415", +"> c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@MdssiddMN@@@@@@@@@@@", +"@@@@@@@;ddsyyspjpiaayyasiddMN@@@", +"@@@Sddsyysj3-***m**=>Seees998i@@", +"@@dy998a3-=============hes788i@@", +"@@dya88889tgu=========-i9797BM@@", +"@@2<-Djpsy88889fu====g999rVB%3@@", +"@@@,4-;u=Djpiay8889gt.89CC%VD@@@", +"@@@:3=---==-=-Njpsy8.86V&%&&2@@@", +"@@@:N-=---===-=-u-Ds.V%%%%%V<@@@", +"@@@,M--=-====-=====s.C%&%&&C<@@@", +"@@@M<-===-==-======a.V%%&&&%<@@@", +"@@@3,---=-==-=====-a.V%%%&%&2@@@", +"@@@@:S-=-=----==-=-a.B%%&%&ZS@@@", +"@@@@:3----=-======-y.B%%&&%6S@@@", +"@@@@:2=-=---=-=--=-y.B%&&&%-S@@@", +"@@@@,M---=----=-==4y.q%%%&&N@@@@", +"@@@@2<----=--===-=D8.w%&&&%<@@@@", +"@@@@S,;---=-==-==-D8.w%&&%62@@@@", +"@@@@@:D------=----D8.q&&&%M@@@@@", +"@@@@@: c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"@@############################@@", +"@#FFFFFFFFFFFFFFFFFFFFFFFFFFFF6@", +"#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"#FFFFFFFFFFFMdssiddMNFFFFFFFFFF6", +"#FFFFFF;ddsyyspjpiaayyasiddMNFF6", +"#FFSddsyysj3-***m**=>Seees998iF6", +"#Fdy998a3-=============hes788iF6", +"#Fdya88889tgu=========-i9797BMF6", +"#F2<-Djpsy88889fu====g999rVB%3F6", +"#FF,4-;u=Djpiay8889gt.89CC%VDFF6", +"#FF:3=---==-=-Njpsy8.86V&%&&2FF6", +"#FF:N-=---===-=-u-Ds.V%%%%%V c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@D::b#b#D@@@@@@@@@@@", +"@@@@@@@Nb:bbvkczvbbb::::::D@@@", +"@@@2,::bvkllccccccccccczzb##z@", +"@ c #957108", +", c #856508", +"< c #755908", +"1 c #715008", +"2 c #6D4C08", +"3 c #694808", +"4 c #716D65", +"5 c #553804", +"6 c #614008", +"7 c #4C3008", +"8 c #442408", +"9 c #3C180C", +"0 c #40140C", +"q c #4C100C", +"w c #611410", +"e c #691814", +"r c #690C0C", +"t c #7D1010", +"y c #911414", +"u c #711010", +"i c #6D1010", +"p c #A11818", +"a c #711414", +"s c #AE2020", +"d c #551010", +"f c #791818", +"g c #751818", +"h c #811C1C", +"j c #B62828", +"k c #892020", +"l c #8D2424", +"z c #892424", +"x c #912828", +"c c #8D2828", +"v c #C23838", +"b c #992C2C", +"n c #952C2C", +"m c #912C2C", +"M c #9D3030", +"N c #A53434", +"B c #993030", +"V c #CA4040", +"C c #A13434", +"Z c #953030", +"A c #9D3434", +"S c #A53838", +"D c #993434", +"F c #CE4848", +"G c #D24C4C", +"H c #D25050", +"J c gray100", +/* pixels */ +"4444444444444444444444444 ", +"4************************ ", +"4************************ ", +"4************************ ", +"4************************ ", +"4************-&799876&%$* ", +"4********;179qahlxzkfawq0 ", +"4****:289dghlBCSSSSSSNCMn ", +"4***7qrriflBCSSSSSSSSSSSS ", +"4***7iairrriahznASSSSSSSM ", +"4***3gCZchfirrrrufhlbSCza ", +"4***>wDCAACDmzhgirrrifttp ", +"4***$0mCAAACCACCBczfiryjV ", +"4****9cACAAACCCACAACAfyvH ", +"4****8hAACACCCCACCCCCgyVH ", +"4****5fACCCACCACCCCCCgyVH ", +"4**** c gray69", +", c #AFAFAF", +"< c #AEAEAE", +"1 c gray68", +"2 c #ACACAC", +"3 c gray67", +"4 c #AAAAAA", +"5 c #A9A9A9", +"6 c gray66", +"7 c #A7A7A7", +"8 c gray65", +"9 c #A5A5A5", +"0 c #A4A4A4", +"q c gray64", +"w c #A2A2A2", +"e c gray63", +"r c #A0A0A0", +"t c #9F9F9F", +"y c gray62", +"u c #9D9D9D", +"i c gray61", +"p c #9B9B9B", +"a c #9A9A9A", +"s c gray60", +"d c #989898", +"f c #979797", +"g c gray59", +"h c #959595", +"j c gray58", +"k c #939393", +"l c #929292", +"z c gray57", +"x c #909090", +"c c gray56", +"v c #8E8E8E", +"b c #8D8D8D", +"n c gray55", +"m c #8B8B8B", +"M c gray54", +"N c #898989", +"B c #888888", +"V c gray53", +"C c #868686", +"Z c gray52", +"A c #848484", +"S c #838383", +"D c gray51", +"F c #818181", +"G c gray50", +"H c #7E7E7E", +"J c gray49", +"K c #7C7C7C", +"L c #7B7B7B", +"P c gray48", +"I c #797979", +"U c #777777", +"Y c #767676", +"T c gray46", +"R c #747474", +"E c gray45", +"W c #717171", +"Q c gray44", +"! c #6F6F6F", +"~ c gray43", +"^ c #6D6D6D", +"/ c gray42", +"( c #6A6A6A", +") c #676767", +"_ c gray40", +"` c gray39", +"' c gray38", +"] c gray36", +"[ c black", +/* pixels */ +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..", +"...............................................X.", +"................................................[", +"................................................[", +"................................................[", +"................................................[", +"........................].......................[", +".......................0@g......................[", +"......................Z-O1Z.....................[", +"......................0%o=i.....................[", +".....................j<@o$4M....................[", +"....................Sq-+o@:tT...................[", +"...................~d3&Oo@=6k...................[", +"...................bw>%Oo+&5rhA..............[", +"..............Fly81;%@Oooo+#&:29ixJ.............[", +".............Pbsw5,=%@OoooO@%-<6rfMR............[", +"............WVjy82:*$@OoooO@%=>39ilA)...........[", +"...........'Fxaw6<;&#+OoooO@$*:16edbJ...........[", +"...........Pmgt93>=%#+ooooO@#&-,40ujBY..........[", +"..........RClpw61:=%@+ooooO+#%=:27esxS^.........[", +".........(Fvft93<;*$@+ooooo+@%*:<50ugnJ.........[", +".........LMkiw62>=&$@Oooooo+@$&-,38ealVU........[", +"........YZxst94<:=%#@OoooooO@$%=:160yfvSW.......[", +".......~Fbhiw73,;*%@@OoooooO@#%=:<38epkMH)......[", +"......`KNlst951:=&$@+OoooooO@#%*->260ydxVI......[", +"......UZcgiw73<:=%$@+OoooooO+@$&=:<48eihbDE.....[", +".....QGMzsuw631:=&$%@#ooooo#+%%&->158wifxVJ/....[", +"................................................[", +"................................................[", +"...........[.....[..............................[", +"...........[....................................[", +"...........[....................................[", +"...........[.....[.[.[[...[[[...[[[..[[.........[", +"...........[.....[.[[..[.[...[.....[.[..........[", +"...........[.....[.[...[.[[[[[..[[[[.[..........[", +"...........[.....[.[...[.[.....[...[.[..........[", +"...........[.....[.[...[.[...[.[...[.[..........[", +"...........[[[[[.[.[...[..[[[...[[[[.[..........[", +"................................................[", +"...............................................[.", +" [[[ [[[[[[[[[[[[[[[[[.." +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/linearOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/linearOn.xpm new file mode 100644 index 0000000..49ee11d --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/linearOn.xpm @@ -0,0 +1,142 @@ +/* XPM */ +static char *linearOn[] = { +/* columns rows colors chars-per-pixel */ +"49 47 89 1", +" s bg c green", +". c #8D8989", +"X c gray100", +"o c gray74", +"O c #BCBCBC", +"+ c #BBBBBB", +"@ c gray73", +"# c #B9B9B9", +"$ c gray72", +"% c #B7B7B7", +"& c #B6B6B6", +"* c gray71", +"= c #B4B4B4", +"- c gray70", +"; c #B2B2B2", +": c #B1B1B1", +"> c gray69", +", c #AFAFAF", +"< c #AEAEAE", +"1 c gray68", +"2 c #ACACAC", +"3 c gray67", +"4 c #AAAAAA", +"5 c #A9A9A9", +"6 c gray66", +"7 c #A7A7A7", +"8 c gray65", +"9 c #A5A5A5", +"0 c #A4A4A4", +"q c gray64", +"w c #A2A2A2", +"e c gray63", +"r c #A0A0A0", +"t c #9F9F9F", +"y c gray62", +"u c #9D9D9D", +"i c gray61", +"p c #9B9B9B", +"a c #9A9A9A", +"s c gray60", +"d c #989898", +"f c #979797", +"g c gray59", +"h c #959595", +"j c gray58", +"k c #939393", +"l c #929292", +"z c gray57", +"x c #909090", +"c c gray56", +"v c #8E8E8E", +"b c #8D8D8D", +"n c gray55", +"m c #8B8B8B", +"M c gray54", +"N c #898989", +"B c #888888", +"V c gray53", +"C c #868686", +"Z c gray52", +"A c #848484", +"S c #838383", +"D c gray51", +"F c #818181", +"G c gray50", +"H c #7E7E7E", +"J c gray49", +"K c #7C7C7C", +"L c #7B7B7B", +"P c gray48", +"I c #797979", +"U c #777777", +"Y c #767676", +"T c gray46", +"R c #747474", +"E c gray45", +"W c #717171", +"Q c gray44", +"! c #6F6F6F", +"~ c gray43", +"^ c #6D6D6D", +"/ c gray42", +"( c #6A6A6A", +") c #676767", +"_ c gray40", +"` c gray39", +"' c gray38", +"] c gray36", +"[ c black", +/* pixels */ +"[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ ", +"...............................................[ ", +"................................................X", +"................................................X", +"................................................X", +"................................................X", +"........................].......................X", +".......................0@g......................X", +"......................Z-O1Z.....................X", +"......................0%o=i.....................X", +".....................j<@o$4M....................X", +"....................Sq-+o@:tT...................X", +"...................~d3&Oo@=6k...................X", +"...................bw>%Oo+&5rhA..............X", +"..............Fly81;%@Oooo+#&:29ixJ.............X", +".............Pbsw5,=%@OoooO@%-<6rfMR............X", +"............WVjy82:*$@OoooO@%=>39ilA)...........X", +"...........'Fxaw6<;&#+OoooO@$*:16edbJ...........X", +"...........Pmgt93>=%#+ooooO@#&-,40ujBY..........X", +"..........RClpw61:=%@+ooooO+#%=:27esxS^.........X", +".........(Fvft93<;*$@+ooooo+@%*:<50ugnJ.........X", +".........LMkiw62>=&$@Oooooo+@$&-,38ealVU........X", +"........YZxst94<:=%#@OoooooO@$%=:160yfvSW.......X", +".......~Fbhiw73,;*%@@OoooooO@#%=:<38epkMH)......X", +"......`KNlst951:=&$@+OoooooO@#%*->260ydxVI......X", +"......UZcgiw73<:=%$@+OoooooO+@$&=:<48eihbDE.....X", +".....QGMzsuw631:=&$%@#ooooo#+%%&->158wifxVJ/....X", +"................................................X", +"................................................X", +"...........X.....X..............................X", +"...........X....................................X", +"...........X....................................X", +"...........X.....X.X.XX...XXX...XXX..XX.........X", +"...........X.....X.XX..X.X...X.....X.X..........X", +"...........X.....X.X...X.XXXXX..XXXX.X..........X", +"...........X.....X.X...X.X.....X...X.X..........X", +"...........X.....X.X...X.X...X.X...X.X..........X", +"...........XXXXX.X.X...X..XXX...XXXX.X..........X", +"................................................X", +"...............................................X ", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/loopOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/loopOff.xpm new file mode 100644 index 0000000..7855a0a --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/loopOff.xpm @@ -0,0 +1,30 @@ +/* XPM */ +static char *loopOff[] = { +/* columns rows colors chars-per-pixel */ +"43 20 4 1", +" s bg c green", +". c gray100", +"o c black", +"O c gray100", +/* pixels */ +" ....................................... ", +" . . ", +". .", +". .", +". ", +". o ", +". o ", +". o ", +". o ooo ooo oooo ", +". o o o o o o o ", +". o o o o o o o ", +". o o o o o o o ", +". o o o o o o o ", +". ooooo ooo ooo oooo ", +". o ", +". o ", +". ", +". o", +" o o ", +" ooooooooooooooooooooooooooooooooooooooo " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/loopOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/loopOn.xpm new file mode 100644 index 0000000..ca5c3e9 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/loopOn.xpm @@ -0,0 +1,31 @@ +/* XPM */ +static char *loopOn[] = { +/* columns rows colors chars-per-pixel */ +"43 20 5 1", +" s bg c green", +". c #8D8989", +"X c gray100", +"o c black", +"O c gray100", +/* pixels */ +" ooooooooooooooooooooooooooooooooooooooo ", +" o.......................................o ", +"o.........................................o", +"o.........................................o", +"o..........................................", +"o..........o...............................", +"o..........o...............................", +"o..........o...............................", +"o..........o......ooo...ooo..oooo..........", +"o..........o.....o...o.o...o.o...o.........", +"o..........o.....o...o.o...o.o...o.........", +"o..........o.....o...o.o...o.o...o.........", +"o..........o.....o...o.o...o.o...o.........", +"o..........ooooo..ooo...ooo..oooo..........", +"o............................o.............", +"o............................o.............", +"o..........................................", +"o.........................................X", +" X.......................................X ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOff.xpm new file mode 100644 index 0000000..3256aef --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOff.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static char *mConnectOff[] = { +/* columns rows colors chars-per-pixel */ +"80 22 13 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #00CE19", +"O c #00E610", +"+ c #008C08", +"@ c gray88", +"# c gray87", +"$ c #DADADA", +"% c #B2B2B2", +"& c gray67", +"* c #979797", +"= c gray100", +/* pixels */ +"XX............................................................................XX", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX ", +".XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ###### XXXXX ", +".XXXXXXXXXXXXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX ##OOOO##.XXXX ", +".XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXX XXXXXXX XX X XX X XXX XXX XX XXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXX XXXXXX XXX X XX X XX X XXX X XXX X XXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXX XXXXXX XXX X XXX X XXX X X XXXXX XXXXXXXXXXXX #Ooooo+#.XXXX ", +".XXXXXXXXXXXXXX XXXXXX XXX X XXX X XXX X XXXXX XXXXX XXXXXXXXXXXX ##++++##.XXXX ", +".XXXXXXXXXXXXXX XXXX X XXX X XXX X XXX X XXX X XXX X XXXXXXXXXXXXX.######.XXXXX ", +".XXXXXXXXXXXXXXX XXX XX XXX X XXX XX XXX XXX XXXXXXXXXXXXX......XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", +"XX XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOffE.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOffE.xpm new file mode 100644 index 0000000..7da73d5 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOffE.xpm @@ -0,0 +1,44 @@ +/* XPM */ +static char *mConnectOffE[] = { +/* columns rows colors chars-per-pixel */ +"80 22 16 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #00CE19", +"O c #00E610", +"+ c #008C08", +"@ c gray88", +"# c gray87", +"$ c #DADADA", +"% c #B2B2B2", +"& c gray67", +"* c #979797", +"= c black", +"- c black", +"; c black", +": c black", +/* pixels */ +"XX............................................................................XX", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX ", +".XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX $$$$$$ XXXXX ", +".XXXXXXXXXXXXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX $$%%%%@$.XXXX ", +".XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXXX XXXXXXX XX X XX X XXX XXX XX XXXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXXX XXXXXX XXX X XX X XX X XXX X XXX X XXXXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXXX XXXXXX XXX X XXX X XXX X X XXXXX XXXXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXXX XXXXXX XXX X XXX X XXX X XXXXX XXXXX XXXXXXXXXXXX $$****$$.XXXX ", +".XXXXXXXXXXXXXX XXXX X XXX X XXX X XXX X XXX X XXX X XXXXXXXXXXXXX.$$$$$$.XXXXX ", +".XXXXXXXXXXXXXXX XXX XX XXX X XXX XX XXX XXX XXXXXXXXXXXXX......XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", +"XX XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOn.xpm new file mode 100644 index 0000000..856dc38 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/mConnectOn.xpm @@ -0,0 +1,38 @@ +/* XPM */ +static char *mConnectOn[] = { +/* columns rows colors chars-per-pixel */ +"80 22 10 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #C63000", +"O c #FF6D3C", +"+ c #EA3C08", +"@ c gray88", +"# c #DADADA", +"$ c #898989", +"% c gray100", +/* pixels */ +"XX XX", +"X $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ X", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$.", +" $$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ###### $$$$$.", +" $$$$$$$$$$$$$$ $$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ ##OOOO@#.$$$$.", +" $$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$ $$$$$$$ $$ $ $$ $ $$$ $$$ $$ $$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$ $$$$$$ $$$ $ $$ $ $$ $ $$$ $ $$$ $ $$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$ $$$$$$ $$$ $ $$$ $ $$$ $ $ $$$$$ $$$$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$$ $$$$$$ $$$ $ $$$ $ $$$ $ $$$$$ $$$$$ $$$$$$$$$$$$ ##oooo##.$$$$.", +" $$$$$$$$$$$$$$ $$$$ $ $$$ $ $$$ $ $$$ $ $$$ $ $$$ $ $$$$$$$$$$$$$.######.$$$$$.", +" $$$$$$$$$$$$$$$ $$$ $$ $$$ $ $$$ $$ $$$ $$$ $$$$$$$$$$$$$......$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +"X.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.X", +"XX............................................................................XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/mCutOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/mCutOff.xpm new file mode 100644 index 0000000..b1a286f --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/mCutOff.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static char *mCutOff[] = { +/* columns rows colors chars-per-pixel */ +"80 22 13 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #00CE19", +"O c #00E610", +"+ c #008C08", +"@ c gray88", +"# c gray87", +"$ c #DADADA", +"% c #B2B2B2", +"& c gray67", +"* c #979797", +"= c gray100", +/* pixels */ +"XX............................................................................XX", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXX XXXXX XXXXXXXX XXXX XXXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXX ", +".XXXXXXXXXXXXX XXXXX XXXXXXXX X XXXXXXXXX XXXX XXXXXXX XXXXXXXXXXX $$$$$$ XXXXX ", +".XXXXXXXXXXXXX XXX XXXXXXXX X XXXXXXXXX XXXXXXXXXXXX XXXXXXXXXX $$%%%%@$.XXXX ", +".XXXXXXXXXXXXX XXX XX XXX X X X XXXXXX XXXXXX XXX X XXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXX X X X XX XXX X X XX XXXXXX XXXXXX XXX X XXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXX X X X XX XXX X X XX X X XXXXXX XXX X XXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXX XX XX XX XXX X X XX XXXXXX XXXXXX XXX X XXXXXXXXXX $%&&&&*$.XXXX ", +".XXXXXXXXXXXXX XX XX XX XX X X XX XXXXXX XXXX X XX X XXXXXXXXXX $$****$$.XXXX ", +".XXXXXXXXXXXXX XXXXX XXX X X XX X XXXXXXX XXX X XX XXXXXXXXXX.$$$$$$.XXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX......XXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", +"XX XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/mCutOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/mCutOn.xpm new file mode 100644 index 0000000..7a498ae --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/mCutOn.xpm @@ -0,0 +1,38 @@ +/* XPM */ +static char *mCutOn[] = { +/* columns rows colors chars-per-pixel */ +"80 22 10 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #C63000", +"O c #FF6D3C", +"+ c #EA3C08", +"@ c gray88", +"# c #DADADA", +"$ c #898989", +"% c gray100", +/* pixels */ +"XX XX", +"X $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ X", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$$$$ $$$$$$.", +" $$$$$$$$$$$$$ $$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$ $$$$$$$ $$$$$$$$$$$ ###### $$$$$.", +" $$$$$$$$$$$$$ $$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ ##OOOO@#.$$$$.", +" $$$$$$$$$$$$$ $$$ $$ $$$ $ $ $ $$$$$$ $$$$$$ $$$ $ $$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$ $ $ $ $$ $$$ $ $ $$ $$$$$$ $$$$$$ $$$ $ $$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$ $ $ $ $$ $$$ $ $ $$ $ $ $$$$$$ $$$ $ $$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$ $$ $$ $$ $$$ $ $ $$ $$$$$$ $$$$$$ $$$ $ $$$$$$$$$$ #O++++o#.$$$$.", +" $$$$$$$$$$$$$ $$ $$ $$ $$ $ $ $$ $$$$$$ $$$$ $ $$ $ $$$$$$$$$$ ##oooo##.$$$$.", +" $$$$$$$$$$$$$ $$$$$ $$$ $ $ $$ $ $$$$$$$ $$$ $ $$ $$$$$$$$$$.######.$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.", +"X.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.X", +"XX............................................................................XX" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/multiEdge.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/multiEdge.xpm new file mode 100644 index 0000000..e6f55b1 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/multiEdge.xpm @@ -0,0 +1,106 @@ +/* XPM */ +static char *multiEdge[] = { +/* columns rows colors chars-per-pixel */ +"32 36 64 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #D22C2C", +"% c #AAAAAA", +"& c #A5A5A5", +"* c #898989", +"= c #818181", +"- c gray49", +"; c #797979", +": c #161415", +"> c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"FFFFFFFFFFFFMdssiddMNFFFFFFFFFFF", +"FFFFFFF;ddsyyspjpiaayyasiddMNFFF", +"FFFSddsyysj3-***m**=>Seees998iFF", +"FFdy998a3-=============hes788iFF", +"FFdya88889tgu=========-i9797BMFF", +"FF2<-Djpsy88889fu====g999rVB%3FF", +"FFF,4-;u=Djpiay8889gt.89CC%VDFFF", +"FFF:3=---==-=-Njpsy8.86V&%&&2FFF", +"FFF:N-=---===-=-u-Ds.V%%%%%V c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"FFFFFFFFFFFFFFFFFFFFFFFFFFFF66@@", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6@", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"FFFFFFFFFFFFD<:,,<2DFFFFFFFFFFF6", +"FFFFFFFFN<,,<2N3N2MM<:,,,<2DFFF6", +"FFFF2,,,M23;==hhhhh-=-SDDN c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"@@##FFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"@#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", +"#FFFFFFFFFFFF#####FFFFFFFFFFFFFF", +"#FFFFFFFFFFFF#...#FFFFFFFFFFFFFF", +"#FFFFFFFFFFFF#...#FFFFFFFF#####F", +"#FFFFFFFFFFFD#...#23FFFFFF#...#F", +"######FFN<,,<#####32M,,,,<#...#F", +"##...#,,M2-==========-SD32#...#F", +"##...# c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@D<:,,<2D@@@@@@@@@@@@", +"@@@@@@@@N<,,<2N3N2MM<:,,,<2D@@@@", +"@@@@2,,,M23;==hhhhh-=-SDDN2**********A*=Z&&&h@@@@@@@", +"@@@@@@@D2*********A-&&&Z3@@@@@@@", +"@@@@@@@@@N2*******A-&&&2@@@@@@@@", +"@@@@@@@@@@@22m*****-&&M@@@@@@@@@", +"@@@@@@@@@@@@@j2h***;&h@@@@@@@@@@", +"@@@@@@@@@@@@@@@M2hh-MD@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@<222@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/objectOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/objectOn.xpm new file mode 100644 index 0000000..7ebda05 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/objectOn.xpm @@ -0,0 +1,105 @@ +/* XPM */ +static char *objectOn[] = { +/* columns rows colors chars-per-pixel */ +"32 36 63 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #D22C2C", +"% c #AAAAAA", +"& c #A5A5A5", +"* c #898989", +"= c #818181", +"- c gray49", +"; c #797979", +": c #161415", +"> c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@############################@@", +"@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@6@", +"#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6", +"#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6", +"#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6", +"#@@@@@@@@@@@D<:,,<2D@@@@@@@@@@@6", +"#@@@@@@@N<,,<2N3N2MM<:,,,<2D@@@6", +"#@@@2,,,M23;==hhhhh-=-SDDN2**********A*=Z&&&h@@@@@@6", +"#@@@@@@D2*********A-&&&Z3@@@@@@6", +"#@@@@@@@@N2*******A-&&&2@@@@@@@6", +"#@@@@@@@@@@22m*****-&&M@@@@@@@@6", +"#@@@@@@@@@@@@j2h***;&h@@@@@@@@@6", +"#@@@@@@@@@@@@@@M2hh-MD@@@@@@@@@6", +"#@@@@@@@@@@@@@@@@<222@@@@@@@@@@6", +"#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6", +"#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6", +"@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6", +"@@66666666666666666666666666666@" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/paintOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/paintOff.xpm new file mode 100644 index 0000000..681a4b3 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/paintOff.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static char *paintOff[] = { +/* columns rows colors chars-per-pixel */ +"35 29 4 1", +" c black", +". c gray100", +"X s bg c blue", +"o c gray100", +/* pixels */ +"XX.................................", +"X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXX .. XXXXXXXXXXXXXX", +".XXXXXXXXXXXXXX .. XXXXXXXXXXXXXX", +".XXXXXXXXXXXX XXXXXX XXXXXXXXXXXX", +".XXXXXXXXXXXX XXXXXX XXXXXXXXXXXX", +".XXXXXXXXXX....XX XX....XXXXXXXXXX", +".XXXXXXXXXX....XX XX....XXXXXXXXXX", +".XXXXXXXXXXXX XXXXXX XXXXXXXXXXXX", +".XXXXXXXXXXXX XXXXXX XXXXXXXXXXXX", +".XXXXXXXXXXXXXX .. XXXXXXXXXXXXXX", +".XXXXXXXXXXXXXX .. XXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XX " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/paintOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/paintOn.xpm new file mode 100644 index 0000000..5f5723d --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/paintOn.xpm @@ -0,0 +1,40 @@ +/* XPM */ +static char *paintOn[] = { +/* columns rows colors chars-per-pixel */ +"35 29 5 1", +" c black", +". c gray100", +"X s bg c blue", +"o c #8D8989", +"O c gray100", +/* pixels */ +"XX ", +"X ooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooo..oooooooooooooooo", +" oooooooooooooooo..oooooooooooooooo", +" oooooooooooooo .. oooooooooooooo", +" oooooooooooooo .. oooooooooooooo", +" oooooooooooo oooooo oooooooooooo", +" oooooooooooo oooooo oooooooooooo", +" oooooooooo....oo oo....oooooooooo", +" oooooooooo....oo oo....oooooooooo", +" oooooooooooo oooooo oooooooooooo", +" oooooooooooo oooooo oooooooooooo", +" oooooooooooooo .. oooooooooooooo", +" oooooooooooooo .. oooooooooooooo", +" oooooooooooooooo..oooooooooooooooo", +" oooooooooooooooo..oooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +" oooooooooooooooooooooooooooooooooo", +"X.ooooooooooooooooooooooooooooooooo", +"XX................................." +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/pinchOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/pinchOff.xpm new file mode 100644 index 0000000..428a053 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/pinchOff.xpm @@ -0,0 +1,102 @@ +/* XPM */ +static char *pinchOff[] = { +/* columns rows colors chars-per-pixel */ +"46 47 49 1", +" c #000002", +". s bg c green", +"X c gray100", +"o c #E2E2E2", +"O c #DFDFDF", +"+ c gainsboro", +"@ c gray85", +"# c gray84", +"$ c LightGray", +"% c #D0D0D0", +"& c #CDCDCD", +"* c #CACACA", +"= c gray78", +"- c #C5C5C5", +"; c gray76", +": c gray75", +"> c #BCBCBC", +", c #B9B9B9", +"< c #B6B6B6", +"1 c gray70", +"2 c gray69", +"3 c gray68", +"4 c #AAAAAA", +"5 c gray66", +"6 c #A5A5A5", +"7 c #A2A2A2", +"8 c #9F9F9F", +"9 c gray61", +"0 c gray60", +"q c gray59", +"w c #939393", +"e c #909090", +"r c #8D8D8D", +"t c #8B8B8B", +"y c #888888", +"u c gray52", +"i c gray51", +"p c gray50", +"a c #7C7C7C", +"s c #797979", +"d c #767676", +"f c gray45", +"g c #717171", +"h c gray43", +"j c gray42", +"k c #686868", +"l c #656565", +"z c #626262", +"x c black", +/* pixels */ +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"X............................................X", +"X............................................X", +"X............................................X", +"X............................................X", +"X.....................ff.....................X", +"X.....................11.....................X", +"X.....................%%.....................X", +"X....................ro@r....................X", +"X....................6oO6....................X", +"X....................-oO>....................X", +"X...................q&oO=a...................X", +"X...................3$oO&7...................X", +"X..................d>#OO$1...................X", +"X..................0;#OO$>r..................X", +"X..................4=#O+#-6..................X", +"X.................r1*#++#=2p.................X", +"X.................8>*#@@#*6f................X", +"X................q2;&$##$*:3e................X", +"X...............p7<;*%$$%*;19g...............X", +"X...............e5,-*&%%&*;<6t...............X", +"X..............p93,;=&&&*=;<40f..............X", +"X..............r72,;=****-;,38y..............X", +"X.............p052,:-===-;:<26ws.............X", +"X............gr952<>;;--;:><259yl............X", +"X............iw8521,>:::>>,1358wp............X", +"X...........sr075321<,,,<<12358qyd...........X", +"X..........fue086432211122345680eih..........X", +"X.........hpyeq9865544444456689qeyak.........X", +"X........hsiyewq09887777788890qwryisk........X", +"X.......hdaiuyrrewwwqqqqqqwweertyupadj.......X", +"X.....ljgfdssapppiiiiiiiiiiiippaassdfgjz.....X", +"X............................................X", +"X............................................X", +"X..........xxxxx..x.............x............X", +"X..........x....x...............x............X", +"X..........x....x...............x............X", +"X..........x....x.x.x.xx...xxx..x.xx.........X", +"X..........xxxxx..x.xx..x.x...x.xx..x........X", +"X..........x......x.x...x.x.....x...x........X", +"X..........x......x.x...x.x.....x...x........X", +"X..........x......x.x...x.x...x.x...x........X", +"X..........x......x.x...x..xxx..x...x........X", +"X............................................X", +"X............................................X", +" " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/pinchOn.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/pinchOn.xpm new file mode 100644 index 0000000..fc60f11 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/pinchOn.xpm @@ -0,0 +1,102 @@ +/* XPM */ +static char *pinchOn[] = { +/* columns rows colors chars-per-pixel */ +"46 47 49 1", +" c #FFFFFC", +". c #8D8888", +"X c gray100", +"o c #E2E2E2", +"O c #DFDFDF", +"+ c gainsboro", +"@ c gray85", +"# c gray84", +"$ c LightGray", +"% c #D0D0D0", +"& c #CDCDCD", +"* c #CACACA", +"= c gray78", +"- c #C5C5C5", +"; c gray76", +": c gray75", +"> c #BCBCBC", +", c #B9B9B9", +"< c #B6B6B6", +"1 c gray70", +"2 c gray69", +"3 c gray68", +"4 c #AAAAAA", +"5 c gray66", +"6 c #A5A5A5", +"7 c #A2A2A2", +"8 c #9F9F9F", +"9 c gray61", +"0 c gray60", +"q c gray59", +"w c #939393", +"e c #909090", +"r c #8D8D8D", +"t c #8B8B8B", +"y c #888888", +"u c gray52", +"i c gray51", +"p c gray50", +"a c #7C7C7C", +"s c #797979", +"d c #767676", +"f c gray45", +"g c #717171", +"h c gray43", +"j c gray42", +"k c #686868", +"l c #656565", +"z c #626262", +"x c black", +/* pixels */ +"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX", +"x............................................X", +"x............................................X", +"x............................................X", +"x............................................X", +"x.....................ff.....................X", +"x.....................11.....................X", +"x.....................%%.....................X", +"x....................ro@r....................X", +"x....................6oO6....................X", +"x....................-oO>....................X", +"x...................q&oO=a...................X", +"x...................3$oO&7...................X", +"x..................d>#OO$1...................X", +"x..................0;#OO$>r..................X", +"x..................4=#O+#-6..................X", +"x.................r1*#++#=2p.................X", +"x.................8>*#@@#*6f................X", +"x................q2;&$##$*:3e................X", +"x...............p7<;*%$$%*;19g...............X", +"x...............e5,-*&%%&*;<6t...............X", +"x..............p93,;=&&&*=;<40f..............X", +"x..............r72,;=****-;,38y..............X", +"x.............p052,:-===-;:<26ws.............X", +"x............gr952<>;;--;:><259yl............X", +"x............iw8521,>:::>>,1358wp............X", +"x...........sr075321<,,,<<12358qyd...........X", +"x..........fue086432211122345680eih..........X", +"x.........hpyeq9865544444456689qeyak.........X", +"x........hsiyewq09887777788890qwryisk........X", +"x.......hdaiuyrrewwwqqqqqqwweertyupadj.......X", +"x.....ljgfdssapppiiiiiiiiiiiippaassdfgjz.....X", +"x............................................X", +"x............................................X", +"x..........XXXXX..X.............X............X", +"x..........X....X...............X............X", +"x..........X....X...............X............X", +"x..........X....X.X.X.XX...XXX..X.XX.........X", +"x..........XXXXX..X.XX..X.X...X.XX..X........X", +"x..........X......X.X...X.X.....X...X........X", +"x..........X......X.X...X.X.....X...X........X", +"x..........X......X.X...X.X...X.X...X........X", +"x..........X......X.X...X..XXX..X...X........X", +"x............................................X", +"x............................................X", +" " +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/polygonConvert.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/polygonConvert.xpm new file mode 100644 index 0000000..f4d3d88 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/polygonConvert.xpm @@ -0,0 +1,103 @@ +/* XPM */ +static char *polygonConvert[] = { +/* columns rows colors chars-per-pixel */ +"26 26 71 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ s bg c green", +"@ c blue", +"# c black", +"$ c #5D5055", +"% c #444044", +"& c #696569", +"* c #817D81", +"= c #959195", +"- c #501010", +"; c #611414", +": c #711818", +"> c #811C1C", +", c #892020", +"< c #791C1C", +"1 c #8D2424", +"2 c #892424", +"3 c #912828", +"4 c #952C2C", +"5 c #912C2C", +"6 c #9D3030", +"7 c #692020", +"8 c #993030", +"9 c #A13434", +"0 c #953030", +"q c #9D3434", +"w c #551C1C", +"e c #481818", +"r c #482424", +"t c #381C1C", +"y c #3C2424", +"u c #442C2C", +"i c #342828", +"p c #483838", +"a c #4C4040", +"s c #696565", +"d c #757171", +"f c #858181", +"g c #A5A5A5", +"h c gray63", +"j c #9D9D9D", +"k c gray60", +"l c #959595", +"z c gray57", +"x c #8D8D8D", +"c c #818181", +"v c #797979", +"b c gray46", +"n c #717171", +"m c #6D6D6D", +"M c DimGray", +"N c #656565", +"B c gray38", +"V c #5D5D5D", +"C c gray35", +"Z c #555555", +"A c #505050", +"S c #4C4C4C", +"D c #484848", +"F c #444444", +"G c gray25", +"H c #3C3C3C", +"J c gray22", +"K c #343434", +"L c gray19", +"P c #2C2C2C", +"I c #282828", +/* pixels */ +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"++++++++++++++bDPPKFVb++++", +"++++++++++m%PPHSCBZADHKPIP", +"++++++&HIPGSCMnbnbbbbnmMNV", +"++++atiLKFCNnbbbbbbbbbbbbb", +"++++pg>:wriLHDZBmnbbbbbbMA", +"++++$ 851,<7ryiJFACMnmZGS", +"++++*@ qq9q811,7wriLGFFVc", +"+++++@@ qq99q99641,>7Gvzg", +" @@@ qq999q9q99q,axgg", +"@@@@@@@@@ 9999q99999,Gzgg", +"@@@@@@@@@@ 99q999999,algg", +"@@@@@@@@@@@ 9q999999,a=gg", +"@@@@@@@@@@@@ gqq99q9q,Akgg", +"@@@@@@@@@@@@*q999999q>Zkgg", +"@@@@@@@@@@gqqq9q9qq9q>Cjgg", +"@@@@@@@@@@q9qqqq9q996 c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@D<:,,<2D@@@@@@@@@@@@", +"@@@@@@@@N<,,<2N3N2MM<:,,,<2D@@@@", +"@@@@2,,,M23;==hhhhh-=-SDDN c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"@@############################@@", +"@#FFFFFFFFFFFFFFFFFFFFFFFFFFFF6@", +"#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6", +"#FFFFFFFFFFFD<:,,<2DFFFFFFFFFFF6", +"#FFFFFFFN<,,<2N3N2MM<:,,,<2DFFF6", +"#FFF2,,,M23;==hhhhh-=-SDDN c #9D9D9D", +", c gray60", +"< c #959595", +"1 c gray57", +"2 c #8D8D8D", +"3 c #818181", +"4 c gray46", +"5 c #717171", +"6 c #6D6D6D", +"7 c DimGray", +"8 c #656565", +"9 c gray38", +"0 c #5D5D5D", +"q c gray35", +"w c #555555", +"e c #505050", +"r c #4C4C4C", +"t c #484848", +"y c #444444", +"u c gray25", +"i c #3C3C3C", +"p c gray22", +"a c #343434", +"s c gray19", +"d c #2C2C2C", +"f c #282828", +/* pixels */ +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"+++++++++++++++-----++++++", +"+++++++++++++++-===-++++++", +"+++++++++++++++-===-++++++", +"++++++++++++++4-===-041+++", +"+++-----++6%ddi-----tiadfd", +"+++-===-fdurq7545444456780", +"+++-===-ayq854444444444444", +"+++-===-sssautw9654444447e", +"+++-----qeypassa$ye-----ur", +"++++&@ 66679wtuass-===-03", +"+++++@@ 666666680e-===-1;", +" @@@ 666666666-===-;;", +"@@@@@@@@@ 66666666-----;;", +"@@@@@@@@@@ 666666666uw<;;", +"@@@@@@@@@@@ 66666666uw*;;", +"@@@@@@@@@@@@ ;6666666uq,;;", +"@@@@@@@@@@@@366666666i9,;;", +"@@@@@@@@@@;6666666666i9>;;", +"@@@@@@@@@@66666666667$9,;;", +"+++++-----66666666668$7>;;", +"+++++-===-66666666668p6>;;", +"+++++-===-66666666669$5:;;", +"+++++-===-66666666669$5:;;", +"+++++-----r8666666669$4:;2" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/uvOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/uvOff.xpm new file mode 100644 index 0000000..df2ff89 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/uvOff.xpm @@ -0,0 +1,105 @@ +/* XPM */ +static char *uvOff[] = { +/* columns rows colors chars-per-pixel */ +"32 36 63 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #D22C2C", +"% c #AAAAAA", +"& c #A5A5A5", +"* c #898989", +"= c #818181", +"- c gray49", +"; c #797979", +": c #161415", +"> c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@#####@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@#+++#@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@#+++#@@@@@@@@#####@", +"@@@@@@@@@@@@D#+++#2D@@@@@@#+++#@", +"@#####@@N<,,<#####MM<:,,,<#+++#@", +"@#+++#,,M23;==hhhhh-=-SDN2#+++#@", +"@#+++# c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"@@############################@@", +"@#FFFFFFFFFFFFFFFFFFFFFFFFFFFF6@", +"#FFFFFFFFFFFF#####FFFFFFFFFFFFF6", +"#FFFFFFFFFFFF#+++#FFFFFFFFFFFFF6", +"#FFFFFFFFFFFF#+++#FFFFFFFF#####6", +"#FFFFFFFFFFFD#+++#2DFFFFFF#+++#6", +"######FFN<,,<#####MM<:,,,<#+++#6", +"##+++#,,M23;==hhhhh-=-SDN2#+++#6", +"##+++# c #9D9D9D", +", c gray60", +"< c #959595", +"1 c gray57", +"2 c #8D8D8D", +"3 c #818181", +"4 c gray46", +"5 c #717171", +"6 c #6D6D6D", +"7 c DimGray", +"8 c #656565", +"9 c gray38", +"0 c #5D5D5D", +"q c gray35", +"w c #555555", +"e c #505050", +"r c #4C4C4C", +"t c #484848", +"y c #444444", +"u c gray25", +"i c #3C3C3C", +"p c gray22", +"a c #343434", +"s c gray19", +"d c #2C2C2C", +"f c #282828", +/* pixels */ +"++++++++++++++++++++++++++", +"++++++++++++++++++++++++++", +"+++++++++++++++-----++++++", +"+++++++++++++++-===-++++++", +"+++++++++++++++-===-++++++", +"++++++++++++++4-===-041+++", +"+++-----++6%ddi-----tiadfd", +"+++-===-fdurq7545444456780", +"+++-===-ayq854444444444444", +"+++-===-sssautw9654444447e", +"+++-----qeypassa$ye-----ur", +"++++&@ 66679wtuass-===-03", +"+++++@@ 666666680e-===-1;", +" @@@ 666666666-===-;;", +"@@@@@@@@@ 66666666-----;;", +"@@@@@@@@@@ 666666666uw<;;", +"@@@@@@@@@@@ 66666666uw*;;", +"@@@@@@@@@@@@ ;6666666uq,;;", +"@@@@@@@@@@@@366666666i9,;;", +"@@@@@@@@@@;6666666666i9>;;", +"@@@@@@@@@@66666666667$9,;;", +"+++++-----66666666668$7>;;", +"+++++-===-66666666668p6>;;", +"+++++-===-66666666669$5:;;", +"+++++-===-66666666669$5:;;", +"+++++-----r8666666669$4:;2" +}; diff --git a/2009-x64/dRaster/x86/maya/2008/icons/nex/vertexOff.xpm b/2009-x64/dRaster/x86/maya/2008/icons/nex/vertexOff.xpm new file mode 100644 index 0000000..83f7687 --- /dev/null +++ b/2009-x64/dRaster/x86/maya/2008/icons/nex/vertexOff.xpm @@ -0,0 +1,105 @@ +/* XPM */ +static char *vertexOff[] = { +/* columns rows colors chars-per-pixel */ +"32 36 63 1", +" c gray100", +". c yellow", +"X c magenta", +"o c red", +"O c cyan", +"+ c green", +"@ s bg c blue", +"# c black", +"$ c #D22C2C", +"% c #AAAAAA", +"& c #A5A5A5", +"* c #898989", +"= c #818181", +"- c gray49", +"; c #797979", +": c #161415", +"> c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +/* pixels */ +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@#####@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@#...#@@@@@@@@@@@@@@", +"@@@@@@@@@@@@@#...#@@@@@@@@#####@", +"@@@@@@@@@@@@D#...#23@@@@@@#...#@", +"@#####@@N<,,<#####32M,,,,<#...#@", +"@#...#,,M2-==========-SD32#...#@", +"@#...# c #797579", +", c #222122", +"< c #313031", +"1 c #757579", +"2 c #4C4C4D", +"3 c #636364", +"4 c #797975", +"5 c #AAAAA5", +"6 c #949493", +"7 c #A8A365", +"8 c #F7DB07", +"9 c #DDBA1C", +"0 c #B3AB95", +"q c #C4BCA8", +"w c #CAC2AE", +"e c #645943", +"r c #C69944", +"t c #B8873A", +"y c #FA9702", +"u c #837D75", +"i c #7A470A", +"p c #5B3F1B", +"a c #DB7506", +"s c #A25B0A", +"d c #422B13", +"f c #B27940", +"g c #84705B", +"h c #868584", +"j c #4E413B", +"k c #A01313", +"l c #B31818", +"z c #7D1111", +"x c #C62323", +"c c #D62C2C", +"v c #601414", +"b c #3F1313", +"n c #797575", +"m c #8D8989", +"M c #3D3C3C", +"N c #5B5A5A", +"B c gray74", +"V c #B4B4B4", +"C c #AEAEAE", +"Z c #A0A0A0", +"A c #8D8D8D", +"S c gray45", +"D c gray42", +"F c #4BBE2E", +/* pixels */ +"@@############################@@", +"@#FFFFFFFFFFFFFFFFFFFFFFFFFFFF6@", +"#FFFFFFFFFFFF#####FFFFFFFFFFFFF6", +"#FFFFFFFFFFFF#...#FFFFFFFFFFFFF6", +"#FFFFFFFFFFFF#...#FFFFFFFF#####6", +"#FFFFFFFFFFFD#...#23FFFFFF#...#6", +"######FFN<,,<#####32M,,,,<#...#6", +"##...#,,M2-==========-SD32#...#6", +"##...# 0 ) { + int $i; + string $thisCmd; + for( $i=0; $i<$numObjStrings; $i+=1 ) { + $thisCmd = `substitute "%s" $cmd $objStrings[$i]`; + if( !catch( $theseResults = evalEcho( $thisCmd ) )) { + int $numResults = size( $theseResults ); + int $numTotalResults = size( $allResults ); + for( $n = 0; $n < $numResults; $n ++ ) { + $allResults[$numTotalResults + $n] = $theseResults[$n]; + } + } + } + } + + if($extraCmd != "") { + eval($extraCmd); + } + + return $allResults; + } + + global proc dR_extrudePrompt(string $extrudeNode, string $extrudeNodesStr) { + global string $nexRefreshCmd; + string $thisDlg = `setParent -q`; + //formLayout -e -width 260 $thisDlg; + + float $curExtrudeVal = `getAttr ($extrudeNode + ".localTranslateZ")`; + string $setTranslateCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.localTranslateZ #1; " + $nexRefreshCmd + "\", \"\")"; + string $extrudeField = `floatSliderGrp -pre 3 -minValue 0 -maxValue 5 -fieldMinValue -1000 -fieldMaxValue 1000 -step .01 -field true -label "Local Z: " -dc $setTranslateCmd -cc $setTranslateCmd -v $curExtrudeVal -cw3 60 60 120 -p $thisDlg`; + + string $setOffsetCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.offset #1; " + $nexRefreshCmd + "\", \"\")"; + string $offsetField = `floatSliderGrp -pre 4 -minValue 0 -maxValue 1 -fieldMinValue -1000 -fieldMaxValue 1000 -step .001 -field true -label "Offset: " -dc $setOffsetCmd -cc $setOffsetCmd -v 0 -cw3 60 60 120 -p $thisDlg`; + + string $setDivCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.divisions #1; " + $nexRefreshCmd + "\", \"\")"; + string $divisionsField = `intSliderGrp -min 1 -max 10 -fieldMinValue 1 -fieldMaxValue 1000 -step 1 -field true -label "Divisions: " -cw3 60 60 120 -v 1 -p $thisDlg -cc $setDivCmd -dc $setDivCmd`; + + float $kftValue = `getAttr ($extrudeNode + ".keepFacesTogether")`; + string $kftCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.keepFacesTogether #1; " + $nexRefreshCmd + "\", \"\")"; + string $kftCheckbox = `checkBox -l "Keep faces together" -cc $kftCmd -v $kftValue`; + + string $extrudeBtn = `button -l "Ok" -w 50 -c "layoutDialog -dismiss \"extrude\""`; + string $cancelBtn = `button -l "Cancel" -w 50 -c "layoutDialog -dismiss \"\""`; + + formLayout -e + -attachForm $extrudeField "left" 0 + -attachForm $extrudeField "right" 6 + + -attachControl $offsetField "top" 0 $extrudeField + -attachForm $offsetField "left" 0 + -attachForm $offsetField "right" 6 + + -attachControl $divisionsField "top" 0 $offsetField + -attachForm $divisionsField "left" 0 + -attachForm $divisionsField "right" 6 + + -attachControl $kftCheckbox "top" 4 $divisionsField + -attachForm $kftCheckbox "left" 61 + -attachForm $kftCheckbox "right" 6 + + -attachControl $cancelBtn "top" 6 $kftCheckbox + -attachForm $cancelBtn "right" 6 + + -attachControl $extrudeBtn "top" 6 $kftCheckbox + -attachControl $extrudeBtn "right" 6 $cancelBtn + + $thisDlg; + + setFocus $extrudeField; + } + + global proc dR_updatePrompt() { + string $thisDlg = `setParent -q`; + //formLayout -e -height 20 $thisDlg; + + string $updateTxt = `text -align "center" -l "A new version of NEX is available!"`; + string $downloadBtn = `button -l "Download Update" -w 100 -c "layoutDialog -dismiss \"download\""`; + string $closeBtn = `button -l "Close" -w 100 -c "layoutDialog -dismiss \"\""`; + string $changeLog = `iconTextButton -w 88 -h 18 -mw 0 -mh 0 -st "iconOnly" -i "nex/changeLogUp.xpm" -hi "nex/changeLogDown.xpm" -si "nex/changeLogDown.xpm"`; + string $changeLogCmd = "system(\"Load http://draster.com/changelog_NEX\")"; + iconTextButton -e -c $changeLogCmd $changeLog; + + formLayout -e + -attachForm $updateTxt "left" 0 + -attachForm $updateTxt "right" 6 + + -attachForm $changeLog "left" 0 + -attachForm $changeLog "right" 0 + -attachControl $changeLog "top" 6 $updateTxt + + -attachControl $closeBtn "top" 6 $changeLog + -attachForm $closeBtn "right" 6 + + -attachControl $downloadBtn "top" 6 $changeLog + -attachControl $downloadBtn "right" 6 $closeBtn + + $thisDlg; + } + + global proc dR_bevelPrompt(string $bevelNode, string $bevelNodesStr) { + global string $nexRefreshCmd; + string $thisDlg = `setParent -q`; + //formLayout -e -width 120 $thisDlg; + + float $curOffsetVal = `getAttr ($bevelNode + ".offset")`; + string $setOffsetCmd = "dR_execObjStrings(" + $bevelNodesStr + ", \"setAttr %s.offset #1; " + $nexRefreshCmd + "\", \"\")"; + string $bevelField = `floatSliderGrp -pre 3 -minValue 0 -maxValue 1 -step .01 -field true -label "Offset: " -dc $setOffsetCmd -cc $setOffsetCmd -v $curOffsetVal -cw3 70 60 120 -p $thisDlg`; + + string $setDivCmd = "dR_execObjStrings(" + $bevelNodesStr + ", \"setAttr %s.segments #1; " + $nexRefreshCmd + "\", \"\")"; + string $divisionsField = `intSliderGrp -min 1 -max 10 -fieldMinValue 1 -fieldMaxValue 1000 -step 1 -field true -label "Segments: " -cw3 70 60 120 -v 1 -p $thisDlg -cc $setDivCmd -dc $setDivCmd`; + + string $bevelBtn = `button -l "Ok" -w 50 -c "layoutDialog -dismiss \"bevel\""`; + string $cancelBtn = `button -l "Cancel" -w 50 -c "layoutDialog -dismiss \"\""`; + + formLayout -e + -attachForm $bevelField "left" 0 + -attachForm $bevelField "right" 6 + + -attachControl $divisionsField "top" 0 $bevelField + -attachForm $divisionsField "left" 0 + -attachForm $divisionsField "right" 6 + + -attachControl $cancelBtn "top" 6 $divisionsField + -attachForm $cancelBtn "right" 6 + + -attachControl $bevelBtn "top" 6 $divisionsField + -attachControl $bevelBtn "right" 6 $cancelBtn + + $thisDlg; + + setFocus $bevelField; + } + + global proc dR_vertExtrudePrompt(string $extrudeNode, string $extrudeNodesStr) { + global string $nexRefreshCmd; + string $thisDlg = `setParent -q`; + //formLayout -e -width 120 $thisDlg; + + float $curWidthVal = `getAttr ($extrudeNode + ".width")`; + string $setWidthCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.width #1; " + $nexRefreshCmd + "\", \"\")"; + string $widthField = `floatSliderGrp -pre 3 -field true -min 0 -max 1 -label "Width: " -dc $setWidthCmd -cc $setWidthCmd -v $curWidthVal -cw3 60 60 120 -p $thisDlg`; + + + float $curLengthVal = `getAttr ($extrudeNode + ".length")`; + string $setLengthCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.length #1; " + $nexRefreshCmd + "\", \"\")"; + string $lengthField = `floatSliderGrp -pre 3 -minValue -2 -maxValue 5 -fieldMinValue -1000 -fieldMaxValue 1000 -step .01 -field true -label "Length: " -cw3 60 60 120 -v $curLengthVal -dc $setLengthCmd -cc $setLengthCmd -p $thisDlg`; + + float $curDivisionsVal = `getAttr ($extrudeNode + ".divisions")`; + string $setDivCmd = "dR_execObjStrings(" + $extrudeNodesStr + ", \"setAttr %s.divisions #1; " + $nexRefreshCmd + "\", \"\")"; + string $divisionsField = `intSliderGrp -min 1 -max 10 -fieldMinValue 1 -fieldMaxValue 1000 -step 1 -field true -label "Divisions: " -cw3 60 60 120 -dc $setDivCmd -cc $setDivCmd -v $curDivisionsVal -p $thisDlg`; + + string $vertExtrudeBtn = `button -l "Ok" -w 50 -c "layoutDialog -dismiss \"extrude\""`; + string $cancelBtn = `button -l "Cancel" -w 50 -c "layoutDialog -dismiss \"\""`; + + formLayout -e + -attachForm $widthField "left" 0 + -attachForm $widthField "right" 6 + + -attachControl $lengthField "top" 0 $widthField + -attachForm $lengthField "left" 0 + -attachForm $lengthField "right" 6 + + -attachControl $divisionsField "top" 0 $lengthField + -attachForm $divisionsField "left" 0 + -attachForm $divisionsField "right" 6 + + -attachControl $cancelBtn "top" 6 $divisionsField + -attachForm $cancelBtn "right" 6 + + -attachControl $vertExtrudeBtn "top" 6 $divisionsField + -attachControl $vertExtrudeBtn "right" 6 $cancelBtn + + $thisDlg; + + setFocus $widthField; + } + + global proc string dR_getNextCustomCam(string $thisCamera) { + string $cameras[] = `listCameras`; + + // Reduce to custom cameras only + string $camera; + string $customCams[]; + for($camera in $cameras) { + if(!startsWith($camera, "persp") && + !startsWith($camera, "left") && + !startsWith($camera, "right") && + !startsWith($camera, "bottom") && + !startsWith($camera, "front") && + !startsWith($camera, "top") && + !startsWith($camera, "side")) { + $customCams[size($customCams)] = $camera; + } + } + + // If there are no custom cameras, just cycle through all cameras + if(size($customCams) == 0) { + $customCams = $cameras; + } + + int $thisIdx = dR_stringArrayIdx($customCams, $thisCamera); + if($thisIdx == -1) { + $thisIdx = 0; + } + int $nextIdx = ($thisIdx+1) % size($customCams); + return $customCams[$nextIdx]; + } + + global proc dR_cycleCustomCams() + { + string $curPanel = `getPanel -wf`; + string $panelType = `getPanel -typeOf $curPanel`; + + if($panelType == "modelPanel") { + string $selectedCam = `modelPanel -q -cam $curPanel`; + string $nextCam = `dR_getNextCustomCam $selectedCam`; + lookThroughModelPanel $nextCam $curPanel; + } + } + + global proc nexUpdateStatusLine() + { + global string $gNexStatusIntegration; + iconTextCheckBox -e -v `nexOpt -q useNexOnSelModeChange` $gNexStatusIntegration; + } + + global proc float gbl_float_round(float $f, int $n) + { + if($n > 0) { + float $roundScale = pow(10, $n); + if($f > 0) { + return(((float)(int)($f * $roundScale + 0.5)) / $roundScale); + } else { + return(((float)(int)($f * $roundScale - 0.5)) / $roundScale); + } + } else { + float $roundScale = pow(10, -$n); + if($f > 0) { + return(((float)(int)($f/$roundScale + 0.5)) * $roundScale); + } else { + return(((float)(int)($f/$roundScale - 0.5)) * $roundScale); + } + } + } + + + global proc int dR_createHUDElements() + { + int $didCreate = false; + + if(!`isTrue nexHUDCondition`) { + condition -st true nexHUDCondition; + } + + if(!`headsUpDisplay -q -ex HUDNEXCurMode`) { + headsUpDisplay -s 2 + -b (`headsUpDisplay -lastOccupiedBlock 2` + 1) + -vis false + -label "NEX Tool:" + -lw 90 + -dw 90 + -c "interToUI(`nexOpt -q manipType`)" + -cc "nexHUDCondition" + HUDNEXCurMode; + $didCreate = true; + } + + if(!`headsUpDisplay -q -ex HUDNEXCoordSpace`) { + headsUpDisplay -s 2 + -b (`headsUpDisplay -lastOccupiedBlock 2` + 1) + -vis false + -label "Coord Space:" + -lw 90 + -dw 90 + -c "interToUI(`nexOpt -q manipCoordSpace`)" + -cc "nexHUDCondition" + HUDNEXCoordSpace; + $didCreate = true; + } + + if(!`headsUpDisplay -q -ex HUDNEXSoftSel`) { + headsUpDisplay -s 2 + -b (`headsUpDisplay -lastOccupiedBlock 2` + 1) + -vis false + -label "Soft Selection:" + -lw 90 + -dw 90 + -dp 3 + -c "dR_getSoftSelHUD" + -cc "nexHUDCondition" + HUDNEXSoftSel; + $didCreate = true; + } + + return $didCreate; + } + + global proc string dR_getSoftSelHUD() + { + string $str; + + if(`nexOpt -q useSoftSel`) { + $str = "ON"; + $str += " (" + gbl_float_round(`nexOpt -q softSelFalloff`, 3) + ")"; + } else { + $str = "OFF"; + } + + return $str; + } + + + global proc dR_refreshHUD() + { + dR_createHUDElements; + + if(`headsUpDisplay -q -ex HUDNEXCurMode`) { + if(`currentCtx` != "nexCtx1") { + headsUpDisplay -e -vis false HUDNEXCurMode; + } else { + headsUpDisplay -e -vis (`nexOpt -q hudShowMode`) HUDNEXCurMode; + } + } + + if(`headsUpDisplay -q -ex HUDNEXCoordSpace`) { + if(`currentCtx` != "nexCtx1") { + headsUpDisplay -e -vis false HUDNEXCoordSpace; + } else { + headsUpDisplay -e -vis (`nexOpt -q hudShowCoordSpace`) HUDNEXCoordSpace; + } + } + + if(`headsUpDisplay -q -ex HUDNEXSoftSel`) { + if(`currentCtx` != "nexCtx1") { + headsUpDisplay -e -vis false HUDNEXSoftSel; + } else { + headsUpDisplay -e -vis (`nexOpt -q hudShowSoftSel`) HUDNEXSoftSel; + } + } + } + + global proc dR_updateHUD() + { + if(`dR_createHUDElements`) { + dR_refreshHUD; + } + + if(`headsUpDisplay -q -ex HUDNEXCurMode`) { + headsUpDisplay -refresh HUDNEXCurMode; + } + + if(`headsUpDisplay -q -ex HUDNEXCoordSpace`) { + headsUpDisplay -refresh HUDNEXCoordSpace; + } + + if(`headsUpDisplay -q -ex HUDNEXSoftSel`) { + headsUpDisplay -refresh HUDNEXSoftSel; + } + } + + /* + if(`headsUpDisplay -ex HUDNEXCurMode`) { + headsUpDisplay -remove HUDNEXCurMode; + } + if(`headsUpDisplay -ex HUDNEXCoordSpace`) { + headsUpDisplay -remove HUDNEXCoordSpace; + } + if(`headsUpDisplay -ex HUDNEXSoftSel`) { + headsUpDisplay -remove HUDNEXSoftSel; + } + */ + + global proc int dR_isCtrlHeld() + { + return (getModifiers()/4) % 2; + } + + global proc int dR_isShiftHeld() + { + return (getModifiers()/1) % 2; + } + + global proc dR_updateSymField() + { + global string $nexSymText; + global string $nexSymName; + global string $nexSymBtn; + + string $name = `nameField -q -object $nexSymName`; + if($name == "") { + textField -edit -tx "Symmetry: Select Edge" $nexSymText; + checkBox -e -v false $nexSymBtn; + } else { + string $shortNames[] = `ls $name`; + textField -edit -tx $shortNames[0] $nexSymText; + checkBox -e -v true $nexSymBtn; + } + } + + global proc dR_updateRefMeshField() + { + global string $nexRefSurfaceText; + global string $nexRefSurfaceName; + + string $name = `nameField -q -object $nexRefSurfaceName`; + if($name == "") { + textField -edit -tx "Grid" $nexRefSurfaceText; + } else { + string $shortNames[] = `ls $name`; + textField -edit -tx $shortNames[0] $nexRefSurfaceText; + } + } + + global proc dR_setSymMesh(string $dagPath) + { + global string $nexSymName; + nameField -e -object $dagPath $nexSymName; + dR_updateSymField(); + } + + global proc dR_setRefMesh(string $dagPath) + { + global string $nexRefSurfaceName; + + if($dagPath == "") { + nexCtx -e -curRefMesh ""; + nameField -e -object "" $nexRefSurfaceName; + } else { + nexCtx -e -curRefMesh $dagPath; + nameField -e -object $dagPath $nexRefSurfaceName; + } + dR_updateRefMeshField; + dR_updateCommandPanel(); + } + + + global proc dR_setRefGrid() + { + dR_setRefMesh(""); + } + + global proc string dR_getParent(string $child) { + string $parent; + string $parents[] = `listRelatives -f -p $child`; + return $parents[0]; + } + + global proc dR_setRefMeshFromSel() + { + string $sel[] = `ls -sl -l`; + string $transformNode; + string $useShape = ""; + + string $meshTransforms[] = `filterExpand -fp true -sm 12`; + int $numTransforms = size($meshTransforms); + if($numTransforms) { + dR_setRefMesh(dR_getParent($meshTransforms[$numTransforms - 1])); + } + } + + global proc dR_setSlideMeshFromSel() + { + string $sel[] = `ls -sl -l`; + string $transformNode; + string $useShape = ""; + + string $meshTransforms[] = `filterExpand -fp true -sm 12`; + int $numTransforms = size($meshTransforms); + if($numTransforms) { + dR_setSlideMesh(dR_getParent($meshTransforms[$numTransforms - 1])); + } + } + + global proc dR_setSlideMesh(string $dagPath) + { + global string $nexSlideName; + + if($dagPath == "") { + nexCtx -e -curSlideMesh ""; + nameField -e -object "" $nexSlideName; + } else { + nexCtx -e -curSlideMesh $dagPath; + nameField -e -object $dagPath $nexSlideName; + } + + dR_setRefMesh($dagPath); + + dR_updateSlideField; + dR_updateCommandPanel(); + } + + global proc dR_setSlideType(string $slideType) + { + global string $nexSlideText; + + if($slideType == "Surface") { + nexOpt -e slideType surface; + textField -edit -tx "Surface" $nexSlideText; + } else { + nexOpt -e slideType edge; + textField -edit -tx "Edge" $nexSlideText; + } + } + + global proc dR_updateSlideField() + { + global string $nexSlideText; + global string $nexSlideName; + + string $name = `nameField -q -object $nexSlideName`; + if($name == "") { + dR_setSlideType("Edge"); + } else { + string $shortNames[] = `ls $name`; + textField -edit -tx $shortNames[0] $nexSlideText; + } + } + + global proc dR_buildSlideMenu(string $menu) + { + menu -e -dai $menu; + + string $transforms[] = `ls -l -type transform`; + string $fullObjNames[] = `filterExpand -sm 12 -fp true $transforms`; + $fullObjNames = stringArrayRemoveDuplicates($fullObjNames); + string $shortObjNames[] = `filterExpand -sm 12 $fullObjNames`; + + int $numPolyNames = size($fullObjNames); + + menuItem -label "Edge" -p $menu -c ("dR_setSlideType(\"Edge\")"); + menuItem -label "Surface" -p $menu -c ("dR_setSlideType(\"Surface\")"); + + string $oMenu = `menuItem -label "Other Surface" -p $menu -sm true`; + if($numPolyNames > 0) { + int $i; + for($i = 0; $i < $numPolyNames; $i++) { + string $fullName = dR_getParent($fullObjNames[$i]); + string $shortName = $shortObjNames[$i]; + + menuItem -label $shortName -c ("dR_setSlideMesh " + $fullName) -p $oMenu; + } + } + } + + global proc dR_buildRefMeshMenu(string $menu) + { + menu -e -dai $menu; + + string $hiliteList[] = `ls -hilite -l -type transform`; + string $selList[] = `ls -sl -l -type transform`; + + string $transforms[] = `ls -l -type transform`; + string $fullObjNames[] = `filterExpand -sm 12 -fp true $transforms`; + $fullObjNames = stringArrayRemoveDuplicates($fullObjNames); + string $shortObjNames[] = `filterExpand -sm 12 $fullObjNames`; + + int $numPolyNames = size($fullObjNames); + menuItem -p $menu -label "Grid" -c ("dR_setRefMesh \"\""); + + if($numPolyNames > 0) { + menuItem -p $menu -d true; + + int $i; + for($i = 0; $i < $numPolyNames; $i++) { + string $fullName = dR_getParent($fullObjNames[$i]); + string $shortName = $shortObjNames[$i]; + + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "quadraw") { + if($fullName == `nexCtx -q -apm`) { + menuItem -label ($shortName + " (Build Mesh)") -p $menu -en false; + continue; + } + } else { + if(stringArrayCount($fullName, $hiliteList) > 0) { + menuItem -label ($shortName + " (Hilited)") -p $menu -en false; + continue; + } else if(stringArrayCount($fullName, $selList) > 0) { + menuItem -label ($shortName + " (Selected)") -p $menu -en false; + continue; + } + } + + menuItem -label $shortName -p $menu -c ("dR_setRefMesh " + $fullName); + } + } + } + + global proc string dR_addModeBtn(string $modeBtn) + { + global string $dRModeBtns[]; + $dRModeBtns[size($dRModeBtns)] = $modeBtn; + return $modeBtn; + } + + proc int dR_isSelCtx() + { + string $currentCtx = `currentCtx`; + + if($currentCtx == "selectSuperContext" || $currentCtx == "moveSuperContext" || $currentCtx == "RotateSuperContext" || $currentCtx == "scaleSuperContext" || $currentCtx == "draggerContext" || $currentCtx == "manipMoveContext" || $currentCtx == "manipRotateContext" || $currentCtx == "manipScaleContext" || $currentCtx == "dragAttrContext") { + return true; + } + + return false; + } + + global proc dR_tglSafeFrame() { + string $curPanel = `getPanel -wf`; + if(`getPanel -typeOf $curPanel` == "modelPanel") { + string $camera = `modelPanel -q -cam $curPanel`; + + if(!`attributeQuery -node $camera -ex nexSafeFrame`) { + addAttr -longName nexSafeFrame -at bool $camera; + } + + int $showSafeFrame = (!getAttr($camera + ".nexSafeFrame")); + setAttr ($camera + ".nexSafeFrame") $showSafeFrame; + camera -e -displayResolution $showSafeFrame $camera; + + if(`nexOpt -q setSafeFrameOverscan`) { + if($showSafeFrame) { + camera -e -overscan `nexOpt -q safeFrameOverscan` $camera; + } else { + camera -e -overscan 1.0 $camera; + } + } + } + } + + global proc dR_exitNex() + { + if(`currentCtx` == "nexCtx1") { + invokeLastAction; + if(`currentCtx` == "nexCtx1") { + setToolTo selectSuperContext; + } + } + } + + global proc dR_smartExitNex() + { + if(`currentCtx` == "nexCtx1") { + string $nexManipType = `nexOpt -q manipType`; + + // Deferring these prevents crashes in Maya 2008 + switch($nexManipType) + { + case "move": + evalDeferred "setToolTo moveSuperContext"; + break; + + case "rotate": + evalDeferred "setToolTo RotateSuperContext"; + break; + + case "scale": + evalDeferred "setToolTo scaleSuperContext"; + break; + + default: + evalDeferred "setToolTo selectSuperContext"; + break; + } + } + } + + global proc dR_exitForSnap() + { + global string $nexLastSnapManipType; + global int $nexLastMoveManipMode; + global int $nexLastMoveManipHandle; + $nexLastSnapManipType = ""; + + if(`currentCtx` == "nexCtx1") { + string $manipType = `nexOpt -q manipType`; + switch($manipType) + { + case "move": + float $manipPos[] = `nexCtx -q -mp`; + string $curUnit = `currentUnit -q -l`; + $manipPos[0] = `convertUnit -fromUnit "cm" -toUnit $curUnit (" " + ((string) $manipPos[0]))`; + $manipPos[1] = `convertUnit -fromUnit "cm" -toUnit $curUnit (" " + ((string) $manipPos[1]))`; + $manipPos[2] = `convertUnit -fromUnit "cm" -toUnit $curUnit (" " + ((string) $manipPos[2]))`; + + $nexLastSnapManipType = "move"; + $nexLastMoveManipMode = `manipMoveContext -q -mode Move`; + $nexLastMoveManipHandle = `manipMoveContext -q -ah Move`; + + int $activeHandle = 3; + int $nexActiveHandle = `nexOpt -q activeMoveHandle`; + if($nexActiveHandle >= 1 && $nexActiveHandle <= 3) { + $activeHandle = $nexActiveHandle - 1; + } + manipMoveContext -e -mode 2 Move; + manipMoveContext -e -ah $activeHandle Move; + setToolTo moveSuperContext; + ctxEditMode; + if(size(`ls -sl`)) { + scmh -a $manipPos[0] $manipPos[1] $manipPos[2]; + } + ctxEditMode; + break; + } + } + } + + + global proc dR_setActiveHandle(int $newAxis) + { + string $manipType = `nexOpt -q manipType`; + switch($manipType) + { + case "move": + nexOpt -e activeMoveHandle $newAxis; + break; + + case "rotate": + nexOpt -e activeRotateHandle $newAxis; + break; + + case "scale": + nexOpt -e activeScaleHandle $newAxis; + break; + } + } + + global proc int dR_getActiveHandle() + { + string $manipType = `nexOpt -q manipType`; + switch($manipType) + { + case "move": + return `nexOpt -q activeMoveHandle`; + + case "rotate": + return `nexOpt -q activeRotateHandle`; + + case "scale": + return `nexOpt -q activeScaleHandle`; + } + + return false; + } + + global proc int[] dR_getAxisStates(int $activeHandle) + { + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + + int $axisStates[3] = { 0, 0, 0 }; + if($activeHandle == $nexHandleX) { + $axisStates[0] = 1; + } else if($activeHandle == $nexHandleY) { + $axisStates[1] = 1; + } else if($activeHandle == $nexHandleZ) { + $axisStates[2] = 1; + } else if($activeHandle == $nexHandleXY) { + $axisStates[0] = 1; + $axisStates[1] = 1; + } else if($activeHandle == $nexHandleYZ) { + $axisStates[1] = 1; + $axisStates[2] = 1; + } else if($activeHandle == $nexHandleXZ) { + $axisStates[0] = 1; + $axisStates[2] = 1; + } else if($activeHandle == $nexHandleXYZ) { + $axisStates[0] = 1; + $axisStates[1] = 1; + $axisStates[2] = 1; + } + return $axisStates; + } + + global proc int dR_getHandleFromAxisStates(int $axis[], string $manipType, int $axisChange) + { + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + + if($axis[0] && !$axis[1] && !$axis[2]) { + return $nexHandleX; + } else if($axis[1] && !$axis[0] && !$axis[2]) { + return $nexHandleY; + } else if($axis[2] && !$axis[0] && !$axis[1]) { + return $nexHandleZ; + } else if($axis[0] && $axis[1] && !$axis[2]) { + if($manipType == "rotate") { + if($axisChange == $nexHandleX) { + return $nexHandleX; + } + return $nexHandleY; + } else { + return $nexHandleXY; + } + } else if($axis[1] && $axis[2] && !$axis[0]) { + if($manipType == "rotate") { + if($axisChange == $nexHandleY) { + return $nexHandleY; + } + return $nexHandleZ; + } else { + return $nexHandleYZ; + } + } else if($axis[0] && $axis[2] && !$axis[1]) { + if($manipType == "rotate") { + if($axisChange == $nexHandleX) { + return $nexHandleX; + } + return $nexHandleZ; + } else { + return $nexHandleXZ; + } + } else if($axis[0] && $axis[1] && $axis[2]) { + return $nexHandleXYZ; + } + + return 0; + } + + global proc dR_setActiveAxis(int $axisChange) + { + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + + string $curManip = `nexOpt -q manipType`; + if((getModifiers()/4) % 2 && $curManip != "rotate") { + int $activeHandle = `dR_getActiveHandle`; + int $axisStates[] = dR_getAxisStates($activeHandle); + + if($axisChange == $nexHandleX) { + $axisStates[0] = !$axisStates[0]; + } else if($axisChange == $nexHandleY) { + $axisStates[1] = !$axisStates[1]; + } else if($axisChange == $nexHandleZ) { + $axisStates[2] = !$axisStates[2]; + } + int $newHandle = `dR_getHandleFromAxisStates $axisStates $curManip $axisChange`; + if($newHandle) { + dR_setActiveHandle($newHandle); + } + } else { + dR_setActiveHandle($axisChange); + } + + dR_updateCommandPanel; + } + + global proc int dR_isAxisActive(int $axis) + { + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + int $activeHandle = `dR_getActiveHandle`; + + if($activeHandle == $nexHandleXYZ) { + return true; + } else { + if($axis == $nexHandleX) { + if($activeHandle == $nexHandleX || $activeHandle == $nexHandleXY || $activeHandle == $nexHandleXZ) { + return true; + } + } else if($axis == $nexHandleY) { + if($activeHandle == $nexHandleY || $activeHandle == $nexHandleXY || $activeHandle == $nexHandleYZ) { + return true; + } + } else if($axis == $nexHandleZ) { + if($activeHandle == $nexHandleZ || $activeHandle == $nexHandleXZ || $activeHandle == $nexHandleYZ) { + return true; + } + } + } + + return false; + } + + global proc dR_enterForSnap() + { + global string $nexLastSnapManipType; + global int $nexLastMoveManipMode; + global int $nexLastMoveManipHandle; + + if($nexLastSnapManipType != "") { + // Restore the handles to their previous values + manipMoveContext -e -m $nexLastMoveManipMode Move; + manipMoveContext -e -ah $nexLastMoveManipHandle Move; + setToolTo nexCtx1; + nexOpt -e manipType $nexLastSnapManipType; + } + + $nexLastSnapManipType = ""; + } + + global proc dR_updateCommandPanel() { + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + global string $dRModeBtns[]; + int $i; + for($i = 0; $i < size($dRModeBtns); $i++) + { + string $controlLabel = `control -q -ann $dRModeBtns[$i]`; + switch($controlLabel) + { + + case "Select": + string $selectOpt = `nexOpt -q selectOption`; + + switch($selectOpt) + { + case "hybrid": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "select") { + iconTextButton -e -i "nex/hybridOn.xpm" -si "nex/hybridOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/hybridOff.xpm" -si "nex/hybridOn.xpm" $dRModeBtns[$i]; + } + break; + + case "raycast": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "select") { + iconTextButton -e -i "nex/paintOn.xpm" -si "nex/paintOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/paintOff.xpm" -si "nex/paintOn.xpm" $dRModeBtns[$i]; + } + break; + + default: + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "select") { + iconTextButton -e -i "nex/selectOn.xpm" -si "nex/selectOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/selectOff.xpm" -si "nex/selectOn.xpm" $dRModeBtns[$i]; + } + break; + } + + break; + + case "Paint Select": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "paint") { + iconTextButton -e -i "nex/paintOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/paintOff.xpm" $dRModeBtns[$i]; + } + break; + + case "Move": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "move") { + iconTextButton -e -i "nex/translateOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/translateOff.xpm" $dRModeBtns[$i]; + } + break; + + case "Rotate": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "rotate") { + iconTextButton -e -i "nex/rotateOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/rotateOff.xpm" $dRModeBtns[$i]; + } + break; + + case "Scale": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "scale") { + iconTextButton -e -i "nex/scaleOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/scaleOff.xpm" $dRModeBtns[$i]; + } + break; + + case "weldBtn": + { + // Only visible when in vertex or edge mode + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "weld") { + iconTextButton -e -i "nex/targetWeldOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/targetWeldOff.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "Slide": + { + checkBox -e -v `nexOpt -q slide` $dRModeBtns[$i]; + break; + } + + case "Connect Slide Radio": + { + radioButtonGrp -e -sl (`nexOpt -q connectCurLmbMap` == "slide") nexConnectSlide; + radioButtonGrp -e -sl (`nexOpt -q connectCurLmbMap` == "segments") nexConnectSegments; + radioButtonGrp -e -sl (`nexOpt -q connectCurLmbMap` == "pinch") nexConnectPinch; + break; + } + + case "Bridge Divisions Radio": + { + radioButtonGrp -e -sl (`nexOpt -q bridgeCurLmbMap` == "divisions") nexBridgeDivisions; + radioButtonGrp -e -sl (`nexOpt -q bridgeCurLmbMap` == "taper") nexBridgeTaper; + radioButtonGrp -e -sl (`nexOpt -q bridgeCurLmbMap` == "twist") nexBridgeTwist; + radioButtonGrp -e -sl (`nexOpt -q bridgeCurLmbMap` == "offset") nexBridgeOffset; + break; + } + + case "Vertex Extrude Divisions Radio": + { + radioButtonGrp -e -sl (`nexOpt -q extrudeVertexCurLmbMap` == "divisions") nexVertExtrudeDivisions; + radioButtonGrp -e -sl (`nexOpt -q extrudeVertexCurLmbMap` == "width") nexVertExtrudeWidth; + radioButtonGrp -e -sl (`nexOpt -q extrudeVertexCurLmbMap` == "length") nexVertExtrudeHeight; + break; + } + + case "Face Extrude Divisions Radio": + { + + radioButtonGrp -e -sl (`nexOpt -q extrudeFaceCurLmbMap` == "divisions") nexFaceExtrudeDivisions; + radioButtonGrp -e -sl (`nexOpt -q extrudeFaceCurLmbMap` == "localz") nexFaceExtrudeLocalZ; + radioButtonGrp -e -sl (`nexOpt -q extrudeFaceCurLmbMap` == "offset") nexFaceExtrudeOffset; + break; + } + + case "Bevel Divisions Radio": + { + radioButtonGrp -e -sl (`nexOpt -q polyBevelCurLmbMap` == "segments") nexBevelDivisions; + radioButtonGrp -e -sl (`nexOpt -q polyBevelCurLmbMap` == "offset") nexBevelOffset; + break; + } + + + case "cutBtn": + { + // Only visible when in vertex or edge mode + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "cut") { + iconTextButton -e -i "nex/mcutOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/mcutOff.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "connectBtn": + { + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "connect") { + iconTextButton -e -si "nex/mConnectOn.xpm" -i "nex/mConnectOn.xpm" $dRModeBtns[$i]; + } else if(`nexCtx -q -cdc`) { + iconTextButton -e -si "nex/mConnectOn.xpm" -i "nex/mConnectOff.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -si "nex/mConnectOn.xpm" -i "nex/mConnectOffE.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "bridgeBtn": + { + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "bridge") { + iconTextButton -e -si "nex/NEXBridgeOn.xpm" -i "nex/NEXBridgeOn.xpm" $dRModeBtns[$i]; + iconTextButton -e -en true $dRModeBtns[$i]; + } else if(`nexCtx -q -gfb`) { + iconTextButton -e -si "nex/NEXBridgeOn.xpm" -i "nex/NEXBridgeOff.xpm" $dRModeBtns[$i]; + iconTextButton -e -en true $dRModeBtns[$i]; + } else { + iconTextButton -e -si "nex/NEXBridgeOffE.xpm" -i "nex/NEXBridgeOffE.xpm" $dRModeBtns[$i]; + iconTextButton -e -en false $dRModeBtns[$i]; + } + + break; + } + + case "bevelBtn": + { + // Only visible when in vertex or edge mode + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "bevel") { + iconTextButton -e -si "nex/NEXBevelOn.xpm" -i "nex/NEXBevelOn.xpm" $dRModeBtns[$i]; + } else if(`nexCtx -q -gbe`) { + iconTextButton -e -si "nex/NEXBevelOn.xpm" -i "nex/NEXBevelOff.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -si "nex/NEXBevelOn.xpm" -i "nex/NEXBevelOffE.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "extrudeBtn": + { + // Only visible when in vertex or edge mode + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "extrude") { + iconTextButton -e -si "nex/extrudeOn.xpm" -i "nex/extrudeOn.xpm" $dRModeBtns[$i]; + } else if(`nexCtx -q -gfe`) { + iconTextButton -e -si "nex/extrudeOn.xpm" -i "nex/extrudeOff.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -si "nex/extrudeOn.xpm" -i "nex/extrudeOffE.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "Shrink Wrap": + { + if(`nexCtx -q -curRefMesh` != "") { + button -e -en true $dRModeBtns[$i]; + } else { + button -e -en false $dRModeBtns[$i]; + } + break; + } + + case "quaDrawBtn": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "quadraw") { + iconTextButton -e -i "nex/quadDrawOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/quadDrawOff.xpm" $dRModeBtns[$i]; + } + break; + + case "lockSelBtn": + string $manipType = `nexOpt -q manipType`; + + if($manipType != "move" && $manipType != "rotate" && $manipType != "scale") { + button -e -en false -l "Lock Selected" $dRModeBtns[$i]; + } else { + if(`nexCtx -q -hs`) { + button -e -en true -l "Lock Selected" $dRModeBtns[$i]; + } else { + button -e -en false -l "Lock Selected" $dRModeBtns[$i]; + } + } + + break; + + case "selLockedBtn": + string $axisLockSets[] = `ls "nexAxisLockSet_*"`; + if(size($axisLockSets) == 1) { + string $vertList[] = `sets -q $axisLockSets[0]`; + $vertList = `ls -flatten $vertList`; + string $axisConstraint = `substring $axisLockSets[0] 16 (size($axisLockSets[0]))`; + button -e -en true -l ("Select Locked (" + size($vertList) + " - " + $axisConstraint + ")") $dRModeBtns[$i]; + } else { + button -e -en false -l ("Select Locked") $dRModeBtns[$i]; + } + break; + + case "unlockAllBtn": + string $axisLockSets[] = `ls "nexAxisLockSet_*"`; + if(size($axisLockSets)) { + button -e -en true $dRModeBtns[$i]; + } else { + button -e -en false $dRModeBtns[$i]; + } + break; + + case "pivotBtn": + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "pivot") { + iconTextButton -e -i "nex/adjustPivotOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/adjustPivotOff.xpm" $dRModeBtns[$i]; + } + break; + + case "manipCoordSpaceDrop": + { + if(`nexOpt -q manipType` == "pivot") { + optionMenu -e -en false $dRModeBtns[$i]; + } else { + optionMenu -e -en true $dRModeBtns[$i]; + } + + string $menuItems[] = `optionMenu -q -ill $dRModeBtns[$i]`; + int $itemNum; + for($itemNum = 0; $itemNum < size($menuItems); $itemNum++) { + string $menuLabel = `menuItem -q -l $menuItems[$itemNum]`; + if(`nexOpt -q manipCoordSpace` == `tolower $menuLabel`) { + optionMenu -e -sl ($itemNum + 1) $dRModeBtns[$i]; + break; + } + } + } + break; + + case "X Field": + case "Y Field": + case "Z Field": + string $manipType = `nexOpt -q manipType`; + if($manipType == "pivot" || (`nexCtx -q -hs` && ($manipType == "move" || $manipType == "rotate" || $manipType == "scale"))) { + floatField -e -en 1 $dRModeBtns[$i]; + if($manipType == "pivot") { + int $activePivotHandle = `nexOpt -q activePivotHandle`; + if($activePivotHandle >= 8 && $activePivotHandle <= 10) { + $manipType = "rotate"; + } + } + switch($manipType) + { + case "move": + case "pivot": + float $pos[] = `nexCtx -q -mp`; + if($controlLabel == "X Field") { + floatField -e -v $pos[0] $dRModeBtns[$i]; + } else if($controlLabel == "Y Field") { + floatField -e -v $pos[1] $dRModeBtns[$i]; + } else if($controlLabel == "Z Field") { + floatField -e -v $pos[2] $dRModeBtns[$i]; + } + break; + + case "rotate": + float $orient[] = `nexCtx -q -mo`; + if($controlLabel == "X Field") { + floatField -e -v $orient[0] $dRModeBtns[$i]; + } else if($controlLabel == "Y Field") { + floatField -e -v $orient[1] $dRModeBtns[$i]; + } else if($controlLabel == "Z Field") { + floatField -e -v $orient[2] $dRModeBtns[$i]; + } + break; + + case "scale": + floatField -e -v 1.0 $dRModeBtns[$i]; + break; + } + } else { + floatField -e -v 0 $dRModeBtns[$i]; + floatField -e -en 0 $dRModeBtns[$i]; + } + break; + + + /* + case "Target Weld": + if(`currentCtx` == "tWeldCtx1") { + iconTextCheckBox -e -v true $dRModeBtns[$i]; + } else { + iconTextCheckBox -e -v false $dRModeBtns[$i]; + } + break; + */ + + case "Tweak": + { + checkBox -e -v `nexOpt -q useClickDrag` $dRModeBtns[$i]; + + if(`nexOpt -q selectOption` == "") { + checkBox -e -en true $dRModeBtns[$i]; + } else { + checkBox -e -en false $dRModeBtns[$i]; + } + + break; + } + + case "Highlight Backfaces": + checkBox -e -v `nexOpt -q highlightBackfacing` $dRModeBtns[$i]; + break; + + + case "Pick/Marquee": + case "Raycast": + case "Hybrid Raycast/Marquee": + radioButtonGrp -e -sl (`nexOpt -q selectOption` == "") nexPickMarqueeGrp; + radioButtonGrp -e -sl (`nexOpt -q selectOption` == "raycast") nexRaycastGrp; + radioButtonGrp -e -sl (`nexOpt -q selectOption` == "hybrid") nexHybridRayGrp; + break; + + + case "previewLoopRingBtn": + checkBox -e -v `nexOpt -q previewLoopRing` $dRModeBtns[$i]; + break; + + case "selConstField": + if(`nexOpt -q selectOption` == "" && `nexOpt -q useSpecialSelType` && `nexOpt -q specialSelType` == "angle") { + control -e -en true $dRModeBtns[$i]; + } else { + control -e -en false $dRModeBtns[$i]; + } + + break; + + + case "selConstChk": + checkBox -e -v `nexOpt -q useSpecialSelType` $dRModeBtns[$i]; + + if(`nexOpt -q selectOption` != "") { + checkBox -e -en false $dRModeBtns[$i]; + } else { + checkBox -e -en true $dRModeBtns[$i]; + } + + break; + + case "selConstDropdown": + if(`nexOpt -q selectOption` != "" || !`nexOpt -q useSpecialSelType`) { + optionMenu -e -en false $dRModeBtns[$i]; + } else { + optionMenu -e -en true $dRModeBtns[$i]; + } + + string $menuItems[] = `optionMenu -q -ill $dRModeBtns[$i]`; + int $itemNum; + int $setItem = false; + for($itemNum = 0; $itemNum < size($menuItems); $itemNum++) { + string $menuLabel = `menuItem -q -l $menuItems[$itemNum]`; + if(`nexOpt -q specialSelType` == strip(tolower($menuLabel))) { + optionMenu -e -sl ($itemNum + 1) $dRModeBtns[$i]; + break; + } + } + + break; + + case "Soft Selection": + checkBox -e -v `nexOpt -q useSoftSel` $dRModeBtns[$i]; + break; + + case "falloffBubbleBtn": + { + int $falloffType = `nexOpt -q softSelFalloffType`; + if($falloffType != 1 && $falloffType != 2) { + iconTextButton -e -i "nex/bubbleOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/bubbleOff.xpm" $dRModeBtns[$i]; + } + break; + } + + case "falloffPinchBtn": + { + if(`nexOpt -q softSelFalloffType` == 1) { + iconTextButton -e -i "nex/pinchOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/pinchOff.xpm" $dRModeBtns[$i]; + } + break; + } + + + case "XYZ Axis": + + { + string $manipType = `nexOpt -q manipType`; + if($manipType == "move" || $manipType == "rotate" || $manipType == "scale") { + if(`dR_isAxisActive $nexHandleXYZ`) { + iconTextButton -e -en true -i "nex/xyzOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -en true -i "nex/xyzOff.xpm" $dRModeBtns[$i]; + } + } else { + iconTextButton -e -en false -i "nex/xyzDisable.xpm" $dRModeBtns[$i]; + } + break; + } + + case "Connect Slide Field": + { + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "connect") { + floatField -e -v `nexCtx -gmv connect slide` $dRModeBtns[$i]; + } + break; + } + + case "Connect Segments Field": + { + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "connect") { + intField -e -v `nexCtx -gmv connect segments` $dRModeBtns[$i]; + } + break; + } + + case "Connect Pinch Field": + { + if(`currentCtx` == "nexCtx1" && `nexOpt -q manipType` == "connect") { + floatField -e -v `nexCtx -gmv connect pinch` $dRModeBtns[$i]; + } + break; + } + + case "Bridge Divisions Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "bridge") { + intField -e -v `nexCtx -gmv bridge divisions` $dRModeBtns[$i]; + } + break; + } + + case "Bridge Taper Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "bridge") { + floatField -e -v `nexCtx -gmv bridge taper` $dRModeBtns[$i]; + } + break; + } + + case "Bridge Twist Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "bridge") { + floatField -e -v `nexCtx -gmv bridge twist` $dRModeBtns[$i]; + } + break; + } + + case "Bridge Offset Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "bridge") { + intField -e -v `nexCtx -gmv bridge offset` $dRModeBtns[$i]; + } + break; + } + + case "VertExtrude Divisions Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "extrudevertex") { + intField -e -v `nexCtx -gmv extrudeVertex divisions` $dRModeBtns[$i]; + } + break; + } + + case "VertExtrude Width Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "extrudevertex") { + floatField -e -v `nexCtx -gmv extrudeVertex width` $dRModeBtns[$i]; + } + break; + } + + case "VertExtrude Height Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "extrudevertex") { + floatField -e -v `nexCtx -gmv extrudeVertex height` $dRModeBtns[$i]; + } + break; + } + + case "Face Extrude Divisions Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "extrudeface") { + intField -e -v `nexCtx -gmv extrudeface divisions` $dRModeBtns[$i]; + } + break; + } + + case "Face Extrude Local Z Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "extrudeface") { + floatField -e -v `nexCtx -gmv extrudeface localz` $dRModeBtns[$i]; + } + break; + } + + case "Face Extrude Offset Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "extrudeface") { + floatField -e -v `nexCtx -gmv extrudeface offset` $dRModeBtns[$i]; + } + break; + } + + case "Bevel Divisions Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "bevel") { + intField -e -v `nexCtx -gmv bevel divisions` $dRModeBtns[$i]; + } + break; + } + + case "Bevel Offset Field": + { + if(`currentCtx` == "nexCtx1" && `nexCtx -q -sm` == "bevel") { + floatField -e -v `nexCtx -gmv bevel offset` $dRModeBtns[$i]; + } + break; + } + + case "X Axis": + { + string $manipType = `nexOpt -q manipType`; + if($manipType == "move" || $manipType == "rotate" || $manipType == "scale") { + if(`dR_isAxisActive $nexHandleX`) { + iconTextButton -e -en true -i "nex/xOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -en true -i "nex/xOff.xpm" $dRModeBtns[$i]; + } + } else { + iconTextButton -e -en false -i "nex/xDisable.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "Y Axis": + { + string $manipType = `nexOpt -q manipType`; + if($manipType == "move" || $manipType == "rotate" || $manipType == "scale") { + if(`dR_isAxisActive $nexHandleY`) { + iconTextButton -e -en true -i "nex/yOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -en true -i "nex/yOff.xpm" $dRModeBtns[$i]; + } + } else { + iconTextButton -e -en false -i "nex/yDisable.xpm" $dRModeBtns[$i]; + } + + break; + } + + case "Z Axis": + { + string $manipType = `nexOpt -q manipType`; + if($manipType == "move" || $manipType == "rotate" || $manipType == "scale") { + if(`dR_isAxisActive $nexHandleZ`) { + iconTextButton -e -en true -i "nex/zOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -en true -i "nex/zOff.xpm" $dRModeBtns[$i]; + } + } else { + iconTextButton -e -en false -i "nex/zDisable.xpm" $dRModeBtns[$i]; + } + break; + } + + case "falloffLinearBtn": + { + if(`nexOpt -q softSelFalloffType` == 2) { + iconTextButton -e -i "nex/linearOn.xpm" $dRModeBtns[$i]; + } else { + iconTextButton -e -i "nex/linearOff.xpm" $dRModeBtns[$i]; + } + break; + } + + case "Snap %": + { + intField -e -v `nexOpt -q cutSnapAngle` $dRModeBtns[$i]; + break; + } + + case "Soft Selection Child": + case "Soft Selection Falloff": + case "Soft Selection Show Move": + case "Soft Selection Show Rotate": + case "Soft Selection Show Scale": + case "Soft Selection Use Edge Distance": + case "Soft Selection Hide Hilites": + case "distTypeDropdown": + { + switch($controlLabel) { + case "Soft Selection Falloff": + { + floatField -e -v `nexOpt -q softSelFalloff` $dRModeBtns[$i]; + break; + } + + case "distTypeDropdown": + { + optionMenu -e -sl `nexOpt -q softSelDistanceType` $dRModeBtns[$i]; + break; + } + } + + string $manipType = `nexOpt -q manipType`; + if(`nexOpt -q useSoftSel` && ($manipType == "move" || $manipType == "rotate" || $manipType == "scale")) { + control -e -en true $dRModeBtns[$i]; + } else { + control -e -en false $dRModeBtns[$i]; + } + } + + break; + } + } + + global int $dRCompBtnCount; + global string $gdRCompBtns[], $gdRCompBtns_UpImages[], $gdRCompBtns_DownImages[], $gdRCompBtns_Names[], $gdRCompBtns_MultiImages[]; + int $isTrueComponentMode = `selectMode -q -co`; + int $isMultiComponentMode = `nexCtx -q -mcm`; + string $curSelType = `nexOpt -q selType`; + for($i = 0; $i < $dRCompBtnCount; $i++) { + if($isMultiComponentMode) { + iconTextButton -e -i $gdRCompBtns_MultiImages[$i] $gdRCompBtns[$i]; + } else if($isTrueComponentMode && $curSelType == $gdRCompBtns_Names[$i]) { + iconTextButton -e -i $gdRCompBtns_DownImages[$i] $gdRCompBtns[$i]; + } else { + iconTextButton -e -i $gdRCompBtns_UpImages[$i] $gdRCompBtns[$i]; + } + + + } + + global string $gDRPreferenceWindow; + if (`window -exists $gDRPreferenceWindow`) { + DRPrefsUpdateSwitcher; + } + + dR_updateCounters; + dR_contextPanel; + } + + global proc dR_convertSelection(string $newSelectionMode) + { + switch($newSelectionMode) { + case "vertex": + ConvertSelectionToVertices; + break; + case "edge": + ConvertSelectionToEdges; + break; + case "face": + ConvertSelectionToFaces; + break; + case "uv": + ConvertSelectionToUVs; + break; + } + } + + global proc int dR_isTexturePanelVisible() + { + string $visPanels[] = `getPanel -vis`; + string $thisPanel; + for($thisPanel in $visPanels) { + if($thisPanel == "polyTexturePlacementPanel1") { + return true; + } + } + return false; + } + + global proc dR_selTypeChanged() + { + global string $nexLastSelType; + string $newSelType = ""; + string $selTypeCmd = "selectType -q "; + if(`selectMode -q -o`) { + $selTypeCmd += "-ocm "; + } + string $compTypes[] = { "vertex", "edge", "facet", "polymeshUV" }; + int $i; + for($i = 0; $i < size($compTypes); $i++) { + string $cmd = $selTypeCmd + "-" + $compTypes[$i]; + if(`eval $cmd`) { + $newSelType = $compTypes[$i]; + } + } + + if($newSelType != "") { + if($newSelType == "facet") { + $newSelType = "face"; + } else if($newSelType == "polymeshUV") { + $newSelType = "uv"; + } + + if($newSelType == "uv") { + /* + if(`currentCtx` == "nexCtx1") { + dR_smartExitNex; + } + */ + } else { + if(`nexOpt -q useNexOnSelModeChange` /*&& $newSelType != $nexLastSelType && `dR_hasHilitedPoly`*/) { + if(`dR_isSelCtx`) { + if(`dR_isTexturePanelVisible`) { + warning "The NEX tool cannot be automatically activated while UV Editor is open"; + } else { + dR_nexTool(); + } + } else if(`currentCtx` == "nexCtx1" && `dR_isTexturePanelVisible`) { + dR_smartExitNex; + warning "The NEX tool has been deactivated because a UV Editor window is open"; + } + } + } + + } + + if(`currentCtx` == "nexCtx1" && $newSelType != "vertex" && $newSelType != "edge" && `nexOpt -q manipType` == "weld") { + nexOpt -e manipType "select"; + } + + nexCtx -e -mcm 0; + nexOpt -e selType $newSelType; + $nexLastSelType = $newSelType; + + nexOpt -e useSpecialSelType false; + dR_updateCommandPanel(); + } + + global proc dR_toggleSpecialSelType(string $specialSelType) { + string $newSelType; + switch($specialSelType) + { + case "angle": + $newSelType = "face"; + break; + + case "border": + $newSelType = "edge"; + break; + + case "shell": + default: + $newSelType = "face"; + break; + } + + int $wasNewSelType = (`nexOpt -q selType` == $newSelType); + int $wasUseSelType = `nexOpt -q useSpecialSelType`; + dR_toggleSelectionMode($newSelType, 0, 0); + if($wasNewSelType && $wasUseSelType && `nexOpt -q specialSelType` == $specialSelType) { + nexOpt -e useSpecialSelType 0; + } else { + nexOpt -e useSpecialSelType 1; + } + nexOpt -e specialSelType $specialSelType; + dR_updateCommandPanel; + } + + global proc dR_setSelType(string $newSelectionMode) + { + nexCtx -e -ssc true; + switch($newSelectionMode) { + case "vertex": + selectMode -co; selectType -cv 1 -vertex 1 -subdivMeshPoint 1 -latticePoint 1 -particle 1; + break; + + case "multi": + case "edge": + selectMode -co; selectType -polymeshEdge 1 -subdivMeshEdge 1 -isoparm 1 -surfaceEdge 1; + break; + + case "face": + selectMode -co; selectType -surfaceFace 1 -facet 1 -subdivMeshFace 1; + break; + + case "uv": + selectMode -co; selectType -locatorUV 1 -polymeshUV 1 -subdivMeshUV 1; + break; + } + nexCtx -e -ssc false; + } + + global proc int dR_toggleSelectionMode(string $newSelectionMode, int $convertSelection, int $allowToggle) + { + global string $nexLastSelType; + int $hasMcm = `nexCtx -q -mcm`; + + if($newSelectionMode == "object" || ($allowToggle && `selectMode -q -co` && (($newSelectionMode == "multi" && $hasMcm) || (`nexOpt -q selType` == $newSelectionMode && (!$hasMcm || $newSelectionMode == "multi"))))) { + if(`nexOpt -q useCompModeCustCmd`) { + string $custCmd = `nexOpt -q compModeCustCmd`; + //print ($custCmd + "\n"); + eval($custCmd); + } else { + //string $hilites[] = `ls -hilite`; + selectMode -o; + selectType -ocm -allComponents false; + selectType -allComponents false; + hilite -replace {}; + //select $hilites; + nexOpt -e useSpecialSelType false; + dR_exitNex; + } + return false; + } else { + dR_nexTool; + + if($newSelectionMode != "multi" || !`selectMode -q -co` || `nexOpt -q selType` == "") { + dR_setSelType($newSelectionMode); + } + + if($newSelectionMode == "multi") { + nexCtx -e -mcm 1; + if($nexLastSelType == "") { + $nexLastSelType = "edge"; + } + } else { + nexCtx -e -mcm 0; + if($convertSelection) { + dR_convertSelection($newSelectionMode); + } + $nexLastSelType = $newSelectionMode; + } + nexOpt -e selType $nexLastSelType; + + if(`nexOpt -q specialSelType` != "") { + nexOpt -e useSpecialSelType false; + } + + dR_updateCommandPanel; + + return true; + } + } + + global proc dR_updateCounters() { + global string $nexVertexLabel, $nexEdgeLabel, $nexFaceLabel, $nexUVLabel, $gdRpanel, $gDRTopPane; + + string $selType = `nexOpt -q selType`; + text -e -en ($selType == "vertex") $nexVertexLabel; + text -e -en ($selType == "edge") $nexEdgeLabel; + text -e -en ($selType == "face") $nexFaceLabel; + text -e -en ($selType == "uv") $nexUVLabel; + + text -e -label `nexCtx -cnt vertex` $nexVertexLabel; + text -e -label `nexCtx -cnt edge` $nexEdgeLabel; + text -e -label `nexCtx -cnt face` $nexFaceLabel; + text -e -label `nexCtx -cnt uv` $nexUVLabel; + + global string $gdRpanel; +/* + if($selType != "" || size(`filterExpand -ex false -sm 31 -sm 32 -sm 34 -sm 35`)) { + layout -e -m 1 $gdRpanel; + } else { + layout -e -m 0 $gdRpanel; + } +*/ + + dR_updateRefMeshField; + } + + global proc int dR_isPanelVisible() { + string $cmdPanel = `getUIComponent "NEX Panel"`; + return `layout -q -m $cmdPanel`; + } + + global proc setNexBarWidth() { + global string $nexRightPanel, $nexLeftPanel; + global int $dRCmdPanelWidth; + + // Adjust the width of the hide button appropriately + int $i; + for($i = 0; $i < 2; $i++) { + string $cmdBarForm; + if($i) { + $cmdBarForm = `substitute "|[^|]*$" $nexRightPanel ""`; + string $cmdBarChildren[] = `layout -q -ca $cmdBarForm`; + string $cmdBarChild; + for($cmdBarChild in $cmdBarChildren) { + if(`control -q -ann $cmdBarChild` == "Hide NEX Panel" /* || `control -q -ann $cmdBarChild` == "Hide NEX Left Panel" */) { + iconTextButton -e -width $dRCmdPanelWidth $cmdBarChild; + } + } + } else { + //$cmdBarForm = `substitute "|[^|]*$" $nexLeftPanel ""`; + } + } + } + + global proc nexDockPanel(int $doDock) { + global string $nexRightPanel, $nexLeftPanel, $nexFloatWin, $nexFloatForm; + global int $dRCmdPanelWidth; + + nexOpt -s -e panelDock $doDock; + + global string $gDRBottomPane; + if($gDRBottomPane != "" && catchQuiet(`objectTypeUI $gDRBottomPane`) == 0) { + dRSaveShelves; + } + + // Delete all children of the parent form + string $fChildren[] = `layout -q -ca $nexRightPanel`; + string $child; + for($child in $fChildren) { + deleteUI $child; + } + + /* + string $fChildren[] = `layout -q -ca $nexLeftPanel`; + for($child in $fChildren) { + deleteUI $child; + } + */ + + $fChildren = `layout -q -ca $nexFloatForm`; + for($child in $fChildren) { + deleteUI $child; + } + + string $rightPanel = `getUIComponent "NEX Panel"`; + //string $leftPanel = `getUIComponent "NEX Left Panel"`; + int $wasVis = (`window -q -vis $nexFloatWin` || `layout -q -m $rightPanel` /* || `layout -q -m $leftPanel` */); + + switch($doDock) + { + case 0: // Float + layout -e -m false $rightPanel; + //layout -e -m false $leftPanel; + nexBuildPanel($nexFloatForm); + if($wasVis) { + showWindow $nexFloatWin; + } + break; + + case 1: // Dock Right + //layout -e -m false $leftPanel; + window -e -vis false $nexFloatWin; + nexBuildPanel($nexRightPanel); + layout -e -m $wasVis `getUIComponent "NEX Panel"`; + setNexBarWidth; + break; + + case 2: // Dock Left + /* + layout -e -m false $rightPanel; + window -e -vis false $nexFloatWin; + nexBuildPanel($nexLeftPanel); + layout -e -m $wasVis `getUIComponent "NEX Left Panel"`; + setNexBarWidth; + break; + */ + } + } + + global proc dR_ToggleCommandPanel() + { + int $dockVal = `nexOpt -q panelDock`; + switch($dockVal) + { + case 0: // Float + global string $nexFloatWin; + window -e -vis (!`window -q -vis $nexFloatWin`) $nexFloatWin; + break; + + case 1: // Dock Right + string $cmdPanel = `getUIComponent "NEX Panel"`; + layout -e -m (!`layout -q -m $cmdPanel`) $cmdPanel; + setNexBarWidth; + break; + + case 2: // Dock Left + /* + string $cmdPanel = `getUIComponent "NEX Left Panel"`; + layout -e -m (!`layout -q -m $cmdPanel`) $cmdPanel; + setNexBarWidth; + */ + break; + } + } + + global proc DRRebuildMenus() + { + global string $gMainWindow; + setParent $gMainWindow; + buildHotboxMenus(); + hotBox -updateMenus; + } + + global proc DRSavePrefsChanges () + { + global string $gDRPreferenceWindow; + global int $DRPrefWndScriptJob; + + nexOpt -s; + + // Save optionVars to disk + savePrefs(); + + // Close the window, unless this is being called + // because the window has already closed. + // + if (`window -exists $gDRPreferenceWindow`) { + // Kill the script job that saves the preferences when + // the window closes so we don't get recursive. + scriptJob -force -kill $DRPrefWndScriptJob; + window -e -vis false $gDRPreferenceWindow; + } + + $gDRPreferenceWindow = ""; + + dR_updateCommandPanel; + } + + global proc dR_adjustColorSliderOpt(string $colorSlider, string $optName) + { + float $newColor[] = `colorSliderGrp -q -rgb $colorSlider`; + nexOpt -e $optName $newColor[0] $newColor[1] $newColor[2] 1; + } + + global proc DRCancelPrefsChanges () + { + global string $gDRPreferenceWindow; + global int $DRPrefWndScriptJob; + + // Put the option vars back to what they were when + // the window was opened. + nexOpt -r; + + // Kill the script job that saves the preferences when + // the window closes. + scriptJob -force -kill $DRPrefWndScriptJob; + + // Close the window + window -e -vis false $gDRPreferenceWindow; + $gDRPreferenceWindow = ""; + + dR_updateCommandPanel; + } + + global proc DRPrefsUpdateSwitcher() + { + nexUpdateStatusLine; + + global string $gDRPreferenceWindow; + + if(`window -ex $gDRPreferenceWindow`) { + setParent $gDRPreferenceWindow; + + if (`columnLayout -q -numberOfChildren "nexGeneralPrefsCol"` > 0) { + checkBoxGrp -e + -value1 `nexOpt -q useNexOnSelModeChange` + nexUseNexOnSelModeChange; + + /* + checkBoxGrp -e + -value1 `nexOpt -q disableConstOnSTypeChange` + nexDisableConstOnSTypeChange; + */ + + intSliderGrp -e -v `nexOpt -q tweakDeadSpaceRange` nexTweakDeadSpaceRange; + intSliderGrp -e -v `nexOpt -q selectDeadSpaceRange` nexSelectDeadSpaceRange; + + checkBoxGrp -e + -value1 `nexOpt -q autoloadTextures` + nexAutoloadTextures; + + checkBoxGrp -e + -value1 `nexOpt -q customViewMM` + nexCustomViewMM; + + checkBoxGrp -e + -value1 (!`nexOpt -q skipQuaDrawWarning`) + nexSkipQuaDrawWarning; + +/* + checkBoxGrp -e + -value1 `nexOpt -q useMultiInWeld` + nexUseMultiInWeld; + checkBoxGrp -e + -value1 `nexOpt -q tumblePivotOnSelChange` + nexTumblePivotOnSelChange; +*/ + + checkBoxGrp -e + -value1 `nexOpt -q updateCheck` + nexUpdateCheck; + + checkBoxGrp -e -v1 `nexOpt -q tweakFishingLine` nexTweakFishingLine; + + float $color[] = `nexOpt -q tweakFishingLineColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexTweakFishingLineColor; + } + + if (`columnLayout -q -numberOfChildren "nexKbdMousePrefsCol"` > 0) { + checkBoxGrp -e + -value1 `nexOpt -q rightClickUndo` + switcherRightClickUndo; + + checkBoxGrp -e + -value1 `nexOpt -q shiftCtrlCopy` + nexShiftCtrlCopy; + + checkBoxGrp -e + -value1 `nexOpt -q shiftCtrlExtrude` + nexShiftCtrlExtrude; + + checkBoxGrp -e + -value1 `nexOpt -q quaDrawMmbWeld` + nexQuaDrawMmbWeld; + + checkBoxGrp -e + -value1 `nexOpt -q paintReplaceNoMods` + nexPaintReplaceNoMods; + + checkBoxGrp -e + -value1 `nexOpt -q useSelTransformKeys` + nexUseSelTransformKeys; + + checkBoxGrp -e + -value1 `nexOpt -q useToolEditKeys` + nexUseToolEditKeys; + + checkBoxGrp -e + -value1 `nexOpt -q useSnapKeys` + nexUseSnapKeys; + + checkBoxGrp -e + -value1 `nexOpt -q useManipSizeKeys` + nexUseManipSizeKeys; + + checkBoxGrp -e + -value1 `nexOpt -q useBrushResizeKeys` + nexUseBrushSizeKeys; + + checkBoxGrp -e + -value1 `nexOpt -q hideManipOnCtrl` + nexHideManipOnCtrl; + + checkBoxGrp -e + -value1 `nexOpt -q hideManipOnShift` + nexHideManipOnShift; + + checkBoxGrp -e + -value1 `nexOpt -q hideManipOnShiftCtrl` + nexHideManipOnShiftCtrl; + + radioButtonGrp -e -sl (`nexOpt -q shiftSlide` == 0) nexShiftSlideOff; + radioButtonGrp -e -sl (`nexOpt -q shiftSlide` == 1) nexShiftSlideOn; + radioButtonGrp -e -sl (`nexOpt -q shiftSlide` == 2) nexShiftSlideOnAxis; + + radioButtonGrp -e -sl (`nexOpt -q shiftCtrlExtrude` == 0) nexCtrlShiftSlide; + radioButtonGrp -e -sl (`nexOpt -q shiftCtrlExtrude` == 1) nexCtrlShiftExtrude; + radioButtonGrp -e -sl (`nexOpt -q shiftCtrlExtrude` == 2) nexCtrlShiftSlideOnAxis; + + radioButtonGrp -e -sl (`nexOpt -q useCompModeCustCmd` == 0) nexPressCompModeToggle; + radioButtonGrp -e -sl (`nexOpt -q useCompModeCustCmd` == 1) nexPressCompModeUseCustCmd; + + textField -e -en `nexOpt -q useCompModeCustCmd` -tx (`nexOpt -q compModeCustCmd`) nexPressCompModeCustCmd; + } + + if (`columnLayout -q -numberOfChildren "nexTabPrefsCol"` > 0) { + checkBoxGrp -e -v1 `nexOpt -q useTabPressCmd` nexUseTabPressCmd; + textField -e -en `nexOpt -q useTabPressCmd` nexTabPressCmd; + textField -e -tx `nexOpt -q tabPressCmd` nexTabPressCmd; + checkBoxGrp -e -v1 `nexOpt -q useTabReleaseCmd` nexUseTabReleaseCmd; + textField -e -en `nexOpt -q useTabReleaseCmd` nexTabReleaseCmd; + textField -e -tx `nexOpt -q tabReleaseCmd` nexTabReleaseCmd; + + checkBoxGrp -e -v1 `nexOpt -q useTabCtrlPressCmd` nexUseTabCtrlPressCmd; + textField -e -en `nexOpt -q useTabCtrlPressCmd` nexTabCtrlPressCmd; + textField -e -tx `nexOpt -q tabCtrlPressCmd` nexTabCtrlPressCmd; + checkBoxGrp -e -v1 `nexOpt -q useTabCtrlReleaseCmd` nexUseTabCtrlReleaseCmd; + textField -e -en `nexOpt -q useTabCtrlReleaseCmd` nexTabCtrlReleaseCmd; + textField -e -tx `nexOpt -q tabCtrlReleaseCmd` nexTabCtrlReleaseCmd; + + checkBoxGrp -e -v1 `nexOpt -q useTabShiftPressCmd` nexUseTabShiftPressCmd; + textField -e -en `nexOpt -q useTabShiftPressCmd` nexTabShiftPressCmd; + textField -e -tx `nexOpt -q tabShiftPressCmd` nexTabShiftPressCmd; + checkBoxGrp -e -v1 `nexOpt -q useTabShiftReleaseCmd` nexUseTabShiftReleaseCmd; + textField -e -en `nexOpt -q useTabShiftReleaseCmd` nexTabShiftReleaseCmd; + textField -e -tx `nexOpt -q tabShiftReleaseCmd` nexTabShiftReleaseCmd; + + checkBoxGrp -e -v1 `nexOpt -q useTabShiftCtrlPressCmd` nexUseTabShiftCtrlPressCmd; + textField -e -en `nexOpt -q useTabShiftCtrlPressCmd` nexTabShiftCtrlPressCmd; + textField -e -tx `nexOpt -q tabShiftCtrlPressCmd` nexTabShiftCtrlPressCmd; + checkBoxGrp -e -v1 `nexOpt -q useTabShiftCtrlReleaseCmd` nexUseTabShiftCtrlReleaseCmd; + textField -e -en `nexOpt -q useTabShiftCtrlReleaseCmd` nexTabShiftCtrlReleaseCmd; + textField -e -tx `nexOpt -q tabShiftCtrlReleaseCmd` nexTabShiftCtrlReleaseCmd; + } + + /* + if(`columnLayout -q -numberOfChildren "nexConnectPrefsCol"` > 0) { + radioButtonGrp -e -sl (`nexOpt -q connectDefaultLmbMap ` == "segments") nexConnectLmbSegments; + radioButtonGrp -e -sl (`nexOpt -q connectDefaultLmbMap ` == "slide") nexConnectLmbSlide; + radioButtonGrp -e -sl (`nexOpt -q connectDefaultLmbMap ` == "pinch") nexConnectLmbPinch; + + radioButtonGrp -e -sl (`nexOpt -q connectDefaultMmbMap ` == "segments") nexConnectMmbSegments; + radioButtonGrp -e -sl (`nexOpt -q connectDefaultMmbMap ` == "slide") nexConnectMmbSlide; + radioButtonGrp -e -sl (`nexOpt -q connectDefaultMmbMap ` == "pinch") nexConnectMmbPinch; + + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultLmbMap` == "divisions") nexBridgeLmbDivisions; + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultLmbMap` == "twist") nexBridgeLmbTwist; + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultLmbMap` == "taper") nexBridgeLmbTaper; + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultLmbMap` == "offset") nexBridgeLmbOffset; + + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultMmbMap` == "divisions") nexBridgeMmbDivisions; + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultMmbMap` == "twist") nexBridgeMmbTwist; + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultMmbMap` == "taper") nexBridgeMmbTaper; + radioButtonGrp -e -sl (`nexOpt -q bridgeDefaultMmbMap` == "offset") nexBridgeMmbOffset; + } + */ + + if (`columnLayout -q -numberOfChildren "nexColorPrefsCol"` > 0) { + float $color[]; + + checkBoxGrp -e -v1 `nexOpt -q invertedCursors` nexUseInvertedCursorColors; + + $color = `nexOpt -q softSelInnerColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexSoftSelInnerColor; + + $color = `nexOpt -q softSelOuterColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexSoftSelOuterColor; + + $color = `nexOpt -q hiliteColorAdd`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexHiliteColorAdd; + + $color = `nexOpt -q hiliteColorSubtract`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexHiliteColorSubtract; + + $color = `nexOpt -q hiliteColorSymmetry`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexHiliteColorSymmetry; + + $color = `nexOpt -q paintColorAdd`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexPaintColorAdd; + + $color = `nexOpt -q activeManipColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexActiveManipColor; + + + $color = `nexOpt -q paintColorSubtract`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexPaintColorSubtract; + + floatSliderGrp -e -v `nexOpt -q hiliteTransparency` nexHiliteTransparency; + } + + if (`columnLayout -q -numberOfChildren "nexManipPrefsCol"` > 0) { + checkBoxGrp -e + -value1 `nexOpt -q freeRotate` + nexFreeRotate; + + checkBoxGrp -e + -value1 `nexOpt -q prohibitNegativeScale` + nexProhibitNegativeScale; + + checkBoxGrp -e + -value1 `nexOpt -q manipCenterCustomTranslate` + nexManipCenterCustomTranslate; + + radioButtonGrp -e -sl `nexOpt -q resetManipOnToolSwitch` nexResetManipOnToolSwitchOn; + radioButtonGrp -e -sl (!`nexOpt -q resetManipOnToolSwitch`) nexResetManipOnToolSwitchOff; + + radioButtonGrp -e -sl `nexOpt -q resetManipOnSelChange` nexResetManipOnSelChangeOn; + radioButtonGrp -e -sl (!`nexOpt -q resetManipOnSelChange`) nexResetManipOnSelChangeOff; + intSliderGrp -e -v `nexOpt -q manipPickRange` nexManipPickRange; + + checkBoxGrp -e + -value1 `nexOpt -q refreshActiveOnly` + nexRefreshAllViews; + } + + if (`columnLayout -q -numberOfChildren "nexHUDPrefsCol"` > 0) { + checkBoxGrp -e + -value1 `nexOpt -q setSafeFrameOverscan` + nexSetSafeFrameOverscan; + floatSliderGrp -e -v `nexOpt -q safeFrameOverscan` nexSafeFrameOverscan; + floatSliderGrp -e -en `nexOpt -q setSafeFrameOverscan` nexSafeFrameOverscan; + + float $color[] = `nexOpt -q safeFrameCustomColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexSafeFrameCustomColor; + + intSliderGrp -e -v `nexOpt -q safeFrameTransparency` nexSafeFrameTransparency; + + checkBoxGrp -e + -value1 `nexOpt -q hudShowSoftSel` + nexHudShowSoftSel; + + checkBoxGrp -e + -value1 `nexOpt -q hudShowCoordSpace` + nexHudShowCoordSpace; + + checkBoxGrp -e + -value1 `nexOpt -q hudShowMode` + nexHudShowMode; + + checkBoxGrp -e + -value1 `nexOpt -q showCapsLock` + nexHudShowCapsLock; + + checkBoxGrp -e -ncb 1 + -value1 `nexOpt -q showDynamicHUD` + nexDynamicHUD; + + float $color[] = `nexOpt -q dynamicHUDColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexDynamicHUDColor; + + float $color[] = `nexOpt -q capsLockColor`; + colorSliderGrp -e -rgb $color[0] $color[1] $color[2] nexCapsLockColor; + } + + refresh -f; + } + } + + global proc DRPrefsUpdate() + { + DRPrefsUpdateSwitcher(); + } + + global proc dR_restartOptionDialog() + { + confirmDialog -t "NEX" -m "You may need to restart Maya for this change to take affect." -b "Ok"; + } + +/* + global proc DRPrefsCreateConnect() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexConnectPrefsCol"; + + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + nexOpt -s; + + frameLayout -l "Connect Default Mouse Mappings" -p $parent; + columnLayout -adj true; + columnLayout -co "left" 8; + text -label "" -height 4; + text -label "Left Mouse Button:" -align "left"; + + rowLayout -nc 3; + string $shareRB; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Segments" + -on1 "nexOpt -e connectDefaultLmbMap segments" + nexConnectLmbSegments`; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Slide" + -on1 "nexOpt -e connectDefaultLmbMap slide" + -shareCollection $shareRB + nexConnectLmbSlide; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Pinch" + -on1 "nexOpt -e connectDefaultLmbMap pinch" + -shareCollection $shareRB + nexConnectLmbPinch; + setParent ..; + + text -label "" -height 10; + text -label "Middle Mouse Button:" -align "left"; + + rowLayout -nc 3; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Segments" + -on1 "nexOpt -e connectDefaultMmbMap segments" + nexConnectMmbSegments`; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Slide" + -on1 "nexOpt -e connectDefaultMmbMap slide" + -shareCollection $shareRB + nexConnectMmbSlide; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Pinch" + -on1 "nexOpt -e connectDefaultMmbMap pinch" + -shareCollection $shareRB + nexConnectMmbPinch; + + text -label "" -h 10 -p $parent; + + frameLayout -l "Bridge Default Mouse Mappings" -p $parent; + columnLayout -adj true; + columnLayout -co "left" 8; + text -label "" -height 4; + text -label "Left Mouse Button:" -align "left"; + + rowLayout -nc 4; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Divisions" + -on1 "nexOpt -e bridgeDefaultLmbMap divisions" + nexBridgeLmbDivisions`; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Twist" + -on1 "nexOpt -e bridgeDefaultLmbMap twist" + -shareCollection $shareRB + nexBridgeLmbTwist; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Taper" + -on1 "nexOpt -e bridgeDefaultLmbMap taper" + -shareCollection $shareRB + nexBridgeLmbTaper; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Offset" + -on1 "nexOpt -e bridgeDefaultLmbMap offset" + -shareCollection $shareRB + nexBridgeLmbOffset; + + setParent ..; + + text -label "" -height 10; + text -label "Middle Mouse Button" -align "left"; + + rowLayout -nc 4; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Divisions" + -on1 "nexOpt -e bridgeDefaultMmbMap divisions" + nexBridgeMmbDivisions`; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Twist" + -on1 "nexOpt -e bridgeDefaultMmbMap twist" + -shareCollection $shareRB + nexBridgeMmbTwist; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Taper" + -on1 "nexOpt -e bridgeDefaultMmbMap taper" + -shareCollection $shareRB + nexBridgeMmbTaper; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Offset" + -on1 "nexOpt -e bridgeDefaultMmbMap offset" + -shareCollection $shareRB + nexBridgeMmbOffset; + + setParent $parent; + + setUITemplate -popTemplate; + + DRPrefsUpdateSwitcher(); + } +*/ + + global proc DRPrefsCreateTab() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexTabPrefsCol"; + + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + nexOpt -s; + + //separator -style "none" -h 1 -w 40; + setParent $parent; + frameLayout -l "Tab Key Mappings"; + columnLayout -adj true; + text -label "NOTE: Tab Key Mappings only apply while in the NEX tool" -align "left"; + text -label "" -height 8; + + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Press" -cw2 20 100 -h 24 -cc "nexOpt -e useTabPressCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabPressCmd; + textField -cc "nexOpt -e tabPressCmd \"#1\"" -width 280 nexTabPressCmd; + setParent ..; + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Release" -cw2 20 100 -h 24 -cc "nexOpt -e useTabReleaseCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabReleaseCmd; + textField -cc "nexOpt -e tabReleaseCmd \"#1\"" -width 280 nexTabReleaseCmd; + setParent ..; + + separator -h 10; + text -label "" -h 4; + + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Ctrl Press" -cw2 20 100 -h 24 -cc "nexOpt -e useTabCtrlPressCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabCtrlPressCmd; + textField -cc "nexOpt -e tabCtrlPressCmd \"#1\"" -width 280 nexTabCtrlPressCmd; + setParent ..; + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Ctrl Release" -cw2 20 100 -h 24 -cc "nexOpt -e useTabCtrlReleaseCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabCtrlReleaseCmd; + textField -cc "nexOpt -e tabCtrlReleaseCmd \"#1\"" -width 280 nexTabCtrlReleaseCmd; + setParent ..; + + separator -h 10; + text -label "" -h 4; + + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Shift Press" -cw2 20 100 -h 24 -cc "nexOpt -e useTabShiftPressCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabShiftPressCmd; + textField -cc "nexOpt -e tabShiftPressCmd \"#1\"" -width 280 nexTabShiftPressCmd; + setParent ..; + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Shift Release" -cw2 20 100 -h 24 -cc "nexOpt -e useTabShiftReleaseCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabShiftReleaseCmd; + textField -cc "nexOpt -e tabShiftReleaseCmd \"#1\"" -width 280 nexTabShiftReleaseCmd; + setParent ..; + + separator -h 10; + text -label "" -h 4; + + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Ctrl+Shift Press" -cw2 20 100 -h 24 -cc "nexOpt -e useTabShiftCtrlPressCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabShiftCtrlPressCmd; + textField -cc "nexOpt -e tabShiftCtrlPressCmd \"#1\"" -width 280 nexTabShiftCtrlPressCmd; + setParent ..; + rowLayout -nc 2 -cw2 120 280; + checkBoxGrp -l1 "Ctrl+Shift Release" -cw2 20 100 -h 24 -cc "nexOpt -e useTabShiftCtrlReleaseCmd #1; DRPrefsUpdateSwitcher" -width 120 nexUseTabShiftCtrlReleaseCmd; + textField -cc "nexOpt -e tabShiftCtrlReleaseCmd \"#1\"" -width 280 nexTabShiftCtrlReleaseCmd; + setParent ..; + + + setParent $parent; + + setUITemplate -popTemplate; + + DRPrefsUpdateSwitcher(); + } + + global proc DRPrefsCreateKbdMouse() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexKbdMousePrefsCol"; + + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + nexOpt -s; + + //separator -style "none" -h 1 -w 40; + setParent $parent; + frameLayout -l "Keyboard / Mouse"; + columnLayout -adj true; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Enable Right Click Undo Rocker" + -cc "nexOpt -e rightClickUndo #1" + switcherRightClickUndo; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Use Ctrl+Shift+Middle Click-Drag to duplicate objects" + -cc "nexOpt -e shiftCtrlCopy #1" + nexShiftCtrlCopy; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Use Ctrl+Shift+Middle Click-Drag to Extrude Vertices, Edges, and Faces" + -cc "nexOpt -e shiftCtrlExtrude #1; DRPrefsUpdateSwitcher" + nexShiftCtrlExtrude; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Use Ctrl+Middle Click-Drag for Target Weld in Quad Draw" + -cc "nexOpt -e quaDrawMmbWeld #1" + nexQuaDrawMmbWeld; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Replace selection when not using modifier keys (Tab, Ctrl, or Shift) in raycast" + -cc "nexOpt -e paintReplaceNoMods #1" + nexPaintReplaceNoMods; + +/* + columnLayout -co "left" 8; + text -label "" -height 4; + text -label "Hide manipulator when..." -align "left"; + rowLayout -nc 2 -cw2 10 120; + checkBoxGrp -l1 "Shift+MMB" -cw2 20 100 -h 24 -cc "nexOpt -e useShiftMmbFunction #1;" -width 120 nexUseShiftMmbFunction; + string $shiftMmbDrop = `optionMenu -label "" -ann "distTypeDropdown"`; + optionMenu -e -cc ("nexOpt -e softSelDistanceType `optionMenu -q -sl " + $shiftMmbDrop + "`") $shiftMmbDrop; + menuItem -label "Slide"; + menuItem -label "Predictive Transform Handles"; + setParent ..; +*/ + + columnLayout -co "left" 8; + text -label "" -height 4; + + text -label "Shift + MMB Drag:" -align "left"; + string $shareRB; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Slides Components" + -on1 "nexOpt -e shiftSlide 1" + nexShiftSlideOn`; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Slides Components using active manipulator handle" + -on1 "nexOpt -e shiftSlide 2" + -shareCollection $shareRB + nexShiftSlideOnAxis; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Engages Predictive Transformations" + -on1 "nexOpt -e shiftSlide 0" + -shareCollection $shareRB + nexShiftSlideOff; + + text -label "" -height 4; + text -label "Ctrl + Shift + MMB Drag:" -align "left"; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Slides Components" + -on1 "nexOpt -e shiftCtrlExtrude 0" + nexCtrlShiftSlide`; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Slides Components using active manipulator handle" + -on1 "nexOpt -e shiftCtrlExtrude 2" + -shareCollection $shareRB + nexCtrlShiftSlideOnAxis; + + radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Bevel / Extrude" + -on1 "nexOpt -e shiftCtrlExtrude 1" + -shareCollection $shareRB + nexCtrlShiftExtrude; + + text -label "" -height 4; + text -label "Hide manipulator when..." -align "left"; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Ctrl is held" + -cc "nexOpt -e hideManipOnCtrl #1" + nexHideManipOnCtrl; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Shift is held" + -cc "nexOpt -e hideManipOnShift #1" + nexHideManipOnShift; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Ctrl+Shift is held" + -cc "nexOpt -e hideManipOnShiftCtrl #1" + nexHideManipOnShiftCtrl; + + text -label "" -height 4; + text -label "Adopt Maya hotkey settings for..." -align "left"; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Select and Transform" + -cc "nexOpt -e useSelTransformKeys #1" + nexUseSelTransformKeys; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Pivot adjustment" + -cc "nexOpt -e useToolEditKeys #1" + nexUseToolEditKeys; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Grid, curve, and point snap" + -cc "nexOpt -e useSnapKeys #1" + nexUseSnapKeys; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Manipulator resizing" + -cc "nexOpt -e useManipSizeKeys #1" + nexUseManipSizeKeys; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Brush resizing" + -cc "nexOpt -e useBrushResizeKeys #1" + nexUseBrushSizeKeys; + + text -label "" -height 4; + text -label "When pressing active component mode button..." -align "left"; + string $frmLayout = `formLayout`; + string $togCmpBtn = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Toggle out of Component Mode" + -on1 "nexOpt -e useCompModeCustCmd 0; DRPrefsUpdateSwitcher" + nexPressCompModeToggle`; + + string $useCustBtn = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 150 + -w 151 + -l1 "Use Custom Command:" + -on1 "nexOpt -e useCompModeCustCmd 1; DRPrefsUpdateSwitcher" + -shareCollection $togCmpBtn + nexPressCompModeUseCustCmd`; + + string $txtField = `textField -cc "nexOpt -e compModeCustCmd \"#1\"" -width 280 nexPressCompModeCustCmd`; + + formLayout -e + -attachForm $togCmpBtn "top" 0 + -attachForm $togCmpBtn "left" 0 + + -attachControl $useCustBtn "top" 4 $togCmpBtn + -attachForm $useCustBtn "left" 0 + + -attachControl $txtField "top" 2 $togCmpBtn + -attachControl $txtField "left" 0 $useCustBtn + + $frmLayout; + + setParent ..; + + setParent $parent; + + setUITemplate -popTemplate; + + DRPrefsUpdateSwitcher(); + } + + global proc string[] nPolyBridgeFaces() + { + string $bridgeEdges[]; + + string $objects[] = `ls -sl -o`; + if (`size $objects` == 1) { + string $selectedFaces[] = `filterExpand -sm 34 -ex 1`; + ConvertSelectionToEdges; + string $edges[] = `ls -sl`; + select $selectedFaces; + ConvertSelectionToContainedEdges; + string $inEdges[] = `ls -sl`; + select $edges; + select -tgl $inEdges; + string $edgeSet; + $edgeSet = `sets -name $edgeSet`; + delete $selectedFaces; + select -r $edgeSet; + $bridgeEdges = nPerformPolyBridgeEdge(); + select -r $edgeSet; + string $outEdges[] = `ls -sl`; + int $borderFound = 0; + + int $i = 0; + while($i < `size $outEdges` && ! $borderFound) { + select -r $outEdges[$i]; + string $faces[] = `polyInfo -ef`; + string $buffer[]; + $borderFound = `tokenize $faces[0] $buffer` < 4; + $i = $i + 1; + } + if ($borderFound) { + warning ("extra faces exist"); + } + select -r $outEdges; + delete $edgeSet; + } else { + error ("too many objects"); + } + + return $bridgeEdges; + } + + + global proc string[] nPerformPolyBridgeEdge() + { + string $edges[] = `filterExpand -sm 32 -ex 1`; + string $faces[] = `filterExpand -sm 34 -ex 1`; + + int $doHistory = `constructionHistory -q -toggle`; + + string $bridgeNodes[]; + if (size($edges) != 0 || size($faces) == 0) { + int $doHistory = `constructionHistory -q -toggle`; + string $cmd = "polyBridgeEdge -ch 1 -divisions 5 -twist 0 -taper 1 -curveType 1 -smoothingAngle 30"; + $bridgeNodes = `evalEcho $cmd`; + for($bridgeNode in $bridgeNodes) { + setAttr ($bridgeNode + ".dv") 0; + } + } else { + string $cmd = "nPolyBridgeFaces"; + $bridgeNodes = `evalEcho $cmd`; + } + + select -d; + + int $prevSuppressWarn = `scriptEditorInfo -q -sw`; + scriptEditorInfo -e -sw true; + + for($i = 0; $i < size($bridgeNodes); $i++) { + string $bridgeManipAttr = $bridgeNodes[$i] + ".manipMatrix"; + string $shNodes[] = `listConnections -shapes true -s true -d false $bridgeManipAttr`; + if(size($shNodes) == 1) { + string $sewEdgeCmd = "polySewEdge " + $shNodes[0]; + string $sewNodes[]; + + string $edgeAttrib = $shNodes[0] + ".edge"; + + int $prevEdgeCount = `getAttr -s $edgeAttrib`; + catchQuiet( $sewNodes = eval($sewEdgeCmd) ); + int $newEdgeCount = `getAttr -s $edgeAttrib`; + + if($prevEdgeCount == $newEdgeCount) { + delete $sewNodes; + } else { + nexCtx -e -lsn $sewNodes[0]; + } + } + } + + scriptEditorInfo -e -sw $prevSuppressWarn; + + select -d; + + return $bridgeNodes; + } + + global proc DRPrefsCreateManipulators() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexManipPrefsCol"; + + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + nexOpt -s; + + //separator -style "none" -h 1 -w 40; + setParent $parent; + frameLayout -l "Manipulators"; + columnLayout -adj true; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 300 + -l1 "Free Rotate" + -cc "nexOpt -e freeRotate #1" + nexFreeRotate; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 300 + -l1 "Prevent Negative Scaling" + -cc "nexOpt -e prohibitNegativeScale #1" + nexProhibitNegativeScale; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Center the translation manipulator for Custom Coordinate Space" + -cc "nexOpt -e manipCenterCustomTranslate #1" + nexManipCenterCustomTranslate; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 300 + -l1 "Update transformations in active view only" + -cc "nexOpt -e refreshActiveOnly #1;" + nexRefreshAllViews; + + separator -h 10; text -label "" -h 4; + + columnLayout -co "left" 8; + text -label "" -height 4; + text -label "On Transform Tool switch" -align "left"; + string $shareRB; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Reset to Screen Handle" + -on1 "nexOpt -e resetManipOnToolSwitch 1" + nexResetManipOnToolSwitchOn`; + radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Keep Last Active Handle" + -on1 "nexOpt -e resetManipOnToolSwitch 0" + -shareCollection $shareRB + nexResetManipOnToolSwitchOff; + + + text -label "" -height 4; + text -label "On Selection change" -align "left"; + $shareRB = `radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Reset to Screen Handle" + -on1 "nexOpt -e resetManipOnSelChange 1" + nexResetManipOnSelChangeOn`; + radioButtonGrp -nrb 1 + -l "" + -cw2 1 300 + -l1 "Keep Last Active Handle" + -on1 "nexOpt -e resetManipOnSelChange 0" + -shareCollection $shareRB + nexResetManipOnSelChangeOff; + + setParent ..; + + separator -h 10; text -label "" -h 4; + columnLayout -co "left" 8; + intSliderGrp -label "Manipulator Pick Range" -field true -minValue 1 -maxValue 100 -fieldMinValue 1 -fieldMaxValue 100 -cc "nexOpt -e manipPickRange #1" -cal 1 "left" -cw3 144 46 200 nexManipPickRange; + + setParent ..; + + + setParent $parent; + setUITemplate -popTemplate; + DRPrefsUpdateSwitcher(); + } + + global proc DRPrefsCreateHUD() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexHUDPrefsCol"; + + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + nexOpt -s; + + //separator -style "none" -h 1 -w 40; + + frameLayout -l "On Screen Display" -p $parent; + columnLayout -adj true; + checkBoxGrp + -ncb 1 + -l "" + -w 161 + -cw2 1 160 + -l1 "Show Mode" + -cc "nexOpt -e hudShowMode #1; dR_refreshHUD;" + nexHudShowMode; + + checkBoxGrp + -ncb 1 + -l "" + -w 161 + -cw2 1 160 + -l1 "Show Coordinate Space" + -cc "nexOpt -e hudShowCoordSpace #1; dR_refreshHUD;" + nexHudShowCoordSpace; + + checkBoxGrp + -ncb 1 + -l "" + -w 161 + -cw2 1 160 + -l1 "Show Soft Selection Info" + -cc "nexOpt -e hudShowSoftSel #1; dR_refreshHUD;" + nexHudShowSoftSel; + + separator -h 10; text -label "" -h 4; + + rowLayout -nc 2 -cw2 144 100; + checkBoxGrp + -ncb 1 + -l "" + -height 24 + -w 161 + -cw2 1 130 + -l1 "Show Caps Lock" + -cc "nexOpt -e showCapsLock #1; refresh -f" + nexHudShowCapsLock; + string $colorSlider = `colorSliderGrp -label "" -rgb 0 0 1 -width 52 -cw3 1 50 1 nexCapsLockColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"capsLockColor\"); refresh -f;") $colorSlider; + setParent ..; + + text -label "" -h 10 -p $parent; + + rowLayout -nc 2 -cw2 144 100; + checkBoxGrp -ncb 1 + -l "" + -height 24 + -width 145 + -cw2 1 144 + -l1 "Enable Dynamic HUD" + -cc "nexOpt -e showDynamicHUD #1" + nexDynamicHUD; + + string $colorSlider = `colorSliderGrp -label "" -rgb 0 0 1 -width 52 -cw3 1 50 1 nexDynamicHUDColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"dynamicHUDColor\")") $colorSlider; + setParent ..; + + text -label "" -h 10 -p $parent; + + frameLayout -l "Safe Frame" -p $parent; + columnLayout -adj true; + + rowLayout -nc 2 -cw2 140 400; + checkBoxGrp -h 24 + -ncb 1 + -l "" + -w 101 + -cw2 1 100 + -l1 "Set Overscan" + -cc "nexOpt -e setSafeFrameOverscan #1; DRPrefsUpdateSwitcher" + nexSetSafeFrameOverscan; + + floatSliderGrp -label "" -precision 2 -field true -minValue 1.0 -maxValue 10.0 -fieldMinValue 1.0 -fieldMaxValue 10.0 -cc "nexOpt -e safeFrameOverscan #1" -cw3 1 46 200 nexSafeFrameOverscan; + setParent ..; + + separator -h 10; text -label "" -h 4; + intSliderGrp -label "Transparency" -field true -minValue 1 -maxValue 100 -fieldMinValue 1 -fieldMaxValue 100 -cc "nexOpt -e safeFrameTransparency #1; refresh -f;" -cw3 150 46 200 -cat 1 "left" 10 nexSafeFrameTransparency; + + //text -label "" -h 4; + separator -h 10; text -label "" -h 4; + + rowLayout -nc 1; + $colorSlider = `colorSliderGrp -label "Color" -rgb 0 0 1 -width 100 -cw3 50 50 1 nexSafeFrameCustomColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"safeFrameCustomColor\"); refresh -f;") $colorSlider; + setParent ..; + + setParent $parent; + setUITemplate -popTemplate; + DRPrefsUpdateSwitcher(); + } + + global proc DRPrefsCreateColors() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexColorPrefsCol"; + + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + nexOpt -s; + + //separator -style "none" -h 1 -w 40; + setParent $parent; + frameLayout -l "Colors"; + columnLayout -adj true; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Use Inverted Cursor colors" + -cc "nexOpt -e invertedCursors #1" + nexUseInvertedCursorColors; + separator -h 10 ; + text -l "" -h 4; + + columnLayout -co "left" 8; + string $colorSlider; + string $colorRow; + + text -label "" -height 4; + text -label "Soft Selection Colors" -align "left"; + $colorRow = `rowLayout -nc 2`; + $colorSlider = `colorSliderGrp -label "Inner" -rgb 0 0 1 -width 100 -cw3 50 50 1 -p $colorRow nexSoftSelInnerColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"softSelInnerColor\")") $colorSlider; + $colorSlider = `colorSliderGrp -label "Outer" -rgb 0 0 1 -width 100 -cw3 50 50 1 -p $colorRow nexSoftSelOuterColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"softSelOuterColor\")") $colorSlider; + setParent ..; + + text -label "" -height 4; + text -label "Hilite Colors" -align "left"; + $colorRow = `rowLayout -nc 3`; + $colorSlider = `colorSliderGrp -label "Add" -width 100 -cw3 50 50 1 -p $colorRow nexHiliteColorAdd`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"hiliteColorAdd\")") $colorSlider; + $colorSlider = `colorSliderGrp -label "Subtract" -width 100 -cw3 50 50 1 -p $colorRow nexHiliteColorSubtract`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"hiliteColorSubtract\")") $colorSlider; + $colorSlider = `colorSliderGrp -label "Symmetry" -width 120 -cw3 70 50 1 -p $colorRow nexHiliteColorSymmetry`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"hiliteColorSymmetry\")") $colorSlider; + setParent ..; + + + + + text -label "" -height 4; + text -label "Paint Selection Colors" -align "left"; + $colorRow = `rowLayout -nc 2`; + $colorSlider = `colorSliderGrp -label "Add" -width 100 -cw3 50 50 1 -p $colorRow nexPaintColorAdd`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"paintColorAdd\")") $colorSlider; + $colorSlider = `colorSliderGrp -label "Subtract" -width 100 -cw3 50 50 1 -p $colorRow nexPaintColorSubtract`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"paintColorSubtract\")") $colorSlider; + setParent ..; + + text -label "" -height 4; + text -label "Manipulator Handle" -align "left"; + $colorRow = `rowLayout -nc 1`; + $colorSlider = `colorSliderGrp -label "Active" -width 100 -cw3 50 50 1 -p $colorRow nexActiveManipColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"activeManipColor\")") $colorSlider; + + setParent ..; + setParent ..; + + text -label "" -h 4; separator -h 10; text -label "" -h 4; + floatSliderGrp -label "Transparency" -field true -minValue 0 -maxValue 100 -fieldMinValue 0 -fieldMaxValue 100 -cc "nexOpt -e hiliteTransparency #1" -cw3 150 46 200 -cat 1 "left" 10 nexHiliteTransparency; + + setParent $parent; + setUITemplate -popTemplate; + DRPrefsUpdateSwitcher(); + } + + global proc DRPrefsCreateSwitcher() + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + string $parent = "nexGeneralPrefsCol"; + + // Check to see if this has been created already. + if (`columnLayout -q -numberOfChildren $parent` > 0) { + return; + } + + // Create the UI + setParent $parent; + setUITemplate -pushTemplate prefsTemplate; + + // Save all options + nexOpt -s; + setParent $parent; + + frameLayout -l "General"; + columnLayout -adj true; + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Automatically enter NEX tool when in component mode" + -cc "nexOpt -e useNexOnSelModeChange #1; nexUpdateStatusLine()" + nexUseNexOnSelModeChange; + text -l " (Currently this option does not apply when the UV Editor is open)" -al "left"; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 300 + -l1 "Use Customized Hotbox Marking Menus" + -cc "nexOpt -e customViewMM #1; dR_restartOptionDialog;" + nexCustomViewMM; + + /* + checkBoxGrp -ncb 1 + -l "" + -cw2 1 400 + -l1 "Disable selection constraints on selection type change" + -cc "nexOpt -e disableConstOnSTypeChange #1" + nexDisableConstOnSTypeChange; + */ + + separator -h 10 ; + text -l "" -h 4; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 300 + -l1 "Automatically reload textures" + -cc "nexOpt -e autoloadTextures #1" + nexAutoloadTextures; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Display Quad Draw delete history warning" + -cc "nexOpt -e skipQuaDrawWarning (!#1)" + nexSkipQuaDrawWarning; + +/* + separator -h 10 ; + text -l "" -h 4; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Automatically set tumble pivot to selection center on selection change" + -cc "nexOpt -e tumblePivotOnSelChange #1; tumbleCtx -e -localTumble (!#1) tumbleContext;" + nexTumblePivotOnSelChange; + text -l " (For this to work, the Maya tumble tool must be set to use Tumble pivot)" -al "left"; +*/ + + separator -h 10 ; + text -l "" -h 4; + columnLayout -co "left" 8; + intSliderGrp -label "Select Dead Space Range" -field true -minValue 0 -maxValue 250 -fieldMinValue 0 -fieldMaxValue 250 -cc "nexOpt -e selectDeadSpaceRange #1" -cal 1 "left" -cw3 144 46 200 nexSelectDeadSpaceRange; + intSliderGrp -label "Tweak Dead Space Range" -field true -minValue 0 -maxValue 250 -fieldMinValue 0 -fieldMaxValue 250 -cc "nexOpt -e tweakDeadSpaceRange #1" -cal 1 "left" -cw3 144 46 200 nexTweakDeadSpaceRange; + + setParent ..; + text -l "" -h 4; + rowLayout -nc 2 -cw2 144 100; + checkBoxGrp -ncb 1 + -l "" + -height 24 + -width 145 + -cw2 1 144 + -l1 "Use Tweak Fishing Line" + -cc "nexOpt -e tweakFishingLine #1" + nexTweakFishingLine; + string $colorSlider = `colorSliderGrp -label "" -rgb 0 0 1 -width 52 -cw3 1 50 1 nexTweakFishingLineColor`; + colorSliderGrp -e -cc ("dR_adjustColorSliderOpt(\"" + $colorSlider + "\", \"tweakFishingLineColor\")") $colorSlider; + + setParent ..; + /* +j + separator -h 10 ; + text -l "" -h 4; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 360 + -l1 "Use Multi-Component highlighting for vertex and edge Target Weld" + -cc "nexOpt -e useMultiInWeld #1" + nexUseMultiInWeld; + */ + + separator -h 10 ; + text -l "" -h 4; + + checkBoxGrp -ncb 1 + -l "" + -cw2 1 300 + -l1 "Automatically check for NEX updates" + -cc "nexOpt -e updateCheck #1;" + nexUpdateCheck; + + setParent $parent; + + setUITemplate -popTemplate; + + DRPrefsUpdateSwitcher(); + } + + global proc dR_manipEntered() + { + string $curSelType = `nexOpt -q selType`; + if($curSelType == "") { + string $manipType = `nexOpt -q manipType`; + //if($manipType != "connect") { + dR_toggleSelectionMode("multi", 0, 0); + //} + } + } + + global proc drSwitchPrefTabs(int $whichTab) + { + global string $gDRPreferenceWindow; + setParent $gDRPreferenceWindow; + + int $index[]; + if ($whichTab == 0) { + $index = `textScrollList -q -sii prefIndex`; + } else { + $index[0] = $whichTab; + textScrollList -e -sii $whichTab prefIndex; + } + + + switch ($index[0]) { + case 1: + DRPrefsCreateSwitcher(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + + case 2: + DRPrefsCreateManipulators(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + + case 3: + DRPrefsCreateHUD(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + + case 4: + DRPrefsCreateColors(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + + case 5: + DRPrefsCreateKbdMouse(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + + case 6: + DRPrefsCreateTab(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + + /* + case 7: + DRPrefsCreateConnect(); + tabLayout -e -selectTabIndex $index[0] prefTabs; + frameLayout -e -label " " prefTitleFrame; + break; + */ + } + } + + global proc drPreferencesWnd() + { + global string $gDRPreferenceWindow; + + // If the window exists already, just show it + // + if (`window -exists $gDRPreferenceWindow`) { + showWindow $gDRPreferenceWindow; + return; + } + + if (!`uiTemplate -exists prefsTemplate`) { + uiTemplate prefsTemplate; + + frameLayout -defineTemplate prefsTemplate + -labelVisible true + -labelAlign "center" + -labelIndent 5 + -borderVisible true + -borderStyle "etchedIn" + -marginWidth 5 -marginHeight 5; + + optionMenuGrp -defineTemplate prefsTemplate + -columnAlign 1 "right" + -columnAttach 1 "both" 5 + -columnAlign 2 "left" + -columnAttach 2 "both" 6 + -columnWidth2 135 290; + } + + // Create the window + // + $gDRPreferenceWindow = `window + -tlc 210 390 + -wh 600 600 + -title "NEX Options" + -iconName "Preferences" + -menuBar true`; + + + // + // Create the menus in the menubar + // + menu -label "Edit"; + menuItem -label "Revert to Saved" -c "nexOpt -r; DRPrefsUpdate();"; + menuItem -label "Restore Default Settings" -c "nexOpt -d; DRPrefsUpdate();"; + + menu -label "Help" -helpMenu true; + menuItem -label "NEX Online Help - Customization" -enableCommandRepeat false -command "system(\"Load http://draster.com/help/nex/customization.php\")"; + + setUITemplate -pushTemplate NONE; + + // Create the top level form layout + // + string $prefForm = `formLayout`; + // + // The left column is the list of pref titles + // + frameLayout -label "Categories" -bv false categoryFrame; + formLayout categoryLayout; + + textScrollList -nr 15 + -allowMultiSelection false + -selectCommand "drSwitchPrefTabs 0" + prefIndex; + + textScrollList -e -a "General" prefIndex; + textScrollList -e -a "Manipulators" prefIndex; + textScrollList -e -a "HUD" prefIndex; + textScrollList -e -a "Colors" prefIndex; + textScrollList -e -a "Keyboard / Mouse" prefIndex; + textScrollList -e -a " Tab Key Mappings" prefIndex; + //textScrollList -e -a " Connect Tool Mappings" prefIndex; + + formLayout -edit + -af prefIndex "top" 0 + -af prefIndex "left" 0 + -af prefIndex "right" 0 + -af prefIndex "bottom" 0 + categoryLayout; + + setParent $prefForm; + + // + // The right column is the preference layout + // Create the tabs for each pref section. + // + frameLayout -label "General Options" + -bv false -labelWidth 250 prefTitleFrame; + + string $parentTab = `tabLayout + -scrollable true + -tabsVisible false + -childResizable true + prefTabs`; + + // General Appearance + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexGeneralPrefsCol; + setParent $parentTab; + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexManipPrefsCol; + setParent $parentTab; + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexHUDPrefsCol; + setParent $parentTab; + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexColorPrefsCol; + setParent $parentTab; + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexKbdMousePrefsCol; + setParent $parentTab; + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexTabPrefsCol; + setParent $parentTab; + + /* + frameLayout -lv false -mw 10 -mh 10 -bv false; + columnLayout -adj true nexConnectPrefsCol; + */ + + // Panel Appearance + //frameLayout -lv false -mw 10 -mh 10 -bv false; + //columnLayout -adj true prefIPCol; + setParent $parentTab; + + // + // Buttons on the bottom + // + setParent $prefForm; + + button -l "Save" + -align "center" + -c "DRSavePrefsChanges" + prefsSaveBtn; + + button -l "Cancel" + -align "center" + -c "DRCancelPrefsChanges" + prefsCloseBtn; + + setParent $gDRPreferenceWindow; + + // Fix the layout + // + formLayout -e + -af categoryFrame "top" 5 + -af categoryFrame "left" 5 + -an categoryFrame "right" + -ac categoryFrame "bottom" 5 prefsCloseBtn + + -af prefTitleFrame "top" 5 + -ac prefTitleFrame "left" 5 categoryFrame + -af prefTitleFrame "right" 5 + -ac prefTitleFrame "bottom" 5 prefsCloseBtn + + -af prefsSaveBtn "bottom" 5 + -af prefsSaveBtn "left" 5 + -ap prefsSaveBtn "right" 1 50 + + -af prefsCloseBtn "bottom" 5 + -ap prefsCloseBtn "left" 1 50 + -af prefsCloseBtn "right" 5 + + $prefForm; + + // default + drSwitchPrefTabs 1; + + // Add a callback to save the preference changes if the + // user closes the window through the window manager. + // + global int $DRPrefWndScriptJob; + $DRPrefWndScriptJob = `scriptJob -protected + -runOnce true + -uiDeleted $gDRPreferenceWindow + DRSavePrefsChanges`; + + setUITemplate -popTemplate; + + window -e -wh 600 600 $gDRPreferenceWindow; + + showWindow $gDRPreferenceWindow; + } + + global proc drBuildCustomMenus() { + global string $gMainWindow; + + if(`nexOpt -q customViewMM`) { + string $menuArray[] = `window -q -ma $gMainWindow`; + for ($menu in $menuArray) { + string $label = `menu -q -label $menu`; + + if($label == "Hotbox Center 3" || $label == "Hotbox Center 2" || $label == "Hotbox Center 1") { + setParent -m $menu; + + // Only do our stuff if the standard items have already been set up + if(`menu -q -numberOfItems $menu` > 0) { + string $subMenuArray[] = `menu -q -ia $menu`; + for ($subMenu in $subMenuArray) { + string $mItemLabel = `menuItem -q -l $subMenu`; + if ($mItemLabel == "Perspective View") { + menuItem -e -c "dR_DoCmd(\"viewPersp\")" $subMenu; + } else if($mItemLabel == "Side View") { + menuItem -e -c "dR_DoCmd(\"viewRight\")" -label "Right View" $subMenu; + } else if($mItemLabel == "Front View") { + menuItem -e -c "dR_DoCmd(\"viewFront\")" $subMenu; + } else if($mItemLabel == "Top View") { + menuItem -e -c "dR_DoCmd(\"viewTop\")" $subMenu; + } else if($mItemLabel == "Left View" || $mItemLabel == "Back View" || $mItemLabel == "Bottom View" || $mItemLabel == "New Camera") { + deleteUI -menuItem $subMenu; + } + } + + + menuItem + -label "Left View" + -divider 0 + -subMenu 0 + -command "dR_DoCmd(\"viewLeft\")" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + drLeftViewMenuItem; + + menuItem + -label "Back View" + -divider 0 + -subMenu 0 + -command "dR_DoCmd(\"viewBack\")" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + drBackViewMenuItem; + + menuItem + -label "Bottom View" + -divider 0 + -subMenu 0 + -command "dR_DoCmd(\"viewBottom\")" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + drBottomViewMenuItem; + + menuItem + -label "New Camera" + -divider 0 + -subMenu 0 + -command "dR_DoCmd(\"createCameraFromView\")" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + drCreateNewCameraFromView; + } + } + } + } + } + + global proc int dR_hasHilitedPoly() + { + string $hilites[] = `ls -hilite`; + string $polyHilites[] = `filterExpand -sm 12 -ex false $hilites`; + if(size($polyHilites)) { + return 1; + } else { + return 0; + } + } + + proc modProc(string $scriptFile, string $procName, string $replaceStr, string $replacePos) { + string $fullFilePath = (`getenv "MAYA_LOCATION"` + $scriptFile); + + $fHandle = `fopen $fullFilePath "r"`; + string $nextLine = `fgetline $fHandle`; + string $funcStr = ""; + + int $foundFuncDef = false; + while(size( $nextLine ) > 0) { + if(!$foundFuncDef) { + if(gmatch($nextLine, "* proc *" + $procName + "*(*")) { + $foundFuncDef = true; + } + } + + if($foundFuncDef) { + if($replacePos == "start") { + $funcStr += $nextLine; + } + + if(gmatch($nextLine, "{*")) { + if($replacePos == "start") { + $funcStr += $replaceStr; + } + } else if(gmatch($nextLine, "}*")) { + if($replacePos == "end") { + $funcStr += $replaceStr; + $funcStr += $nextLine; + } + break; + } + + if($replacePos == "end") { + $funcStr += $nextLine; + } + } + + $nextLine = `fgetline $fHandle`; + } + fclose $fHandle; + //print $funcStr; + eval $funcStr; + } + + global proc dR_doMeshConnect() { + int $numConnItems = `nexCtx -q -numConnItems`; + + if($numConnItems) { + select -cl; + + string $connSets[]; + int $i; + for($i = 0; $i < $numConnItems; $i++) { + string $connItems[] = `nexCtx -connItemSel $i`; + $connSets[$i] = `sets $connItems`; + } + + + // For each set, retrieve the command + for($i = 0; $i < $numConnItems; $i++) { + string $theseConnItems[] = `sets -q $connSets[$i]`; + string $splitCmd = `nexCtx -gsc $theseConnItems`; + evalEcho $splitCmd; + } + + for($i = 0; $i < $numConnItems; $i++) { + delete $connSets[$i]; + } + } + } + + global proc int dR_buildRightMM(string $parentName) { + global int $gIsMarkingMenuOn; + string $manipType = `nexCtx -q -sm`; + + if(`currentCtx` == "nexCtx1" && `popupMenu -e -exists $parentName` && (`nexCtx -q -stickyIsDown` || (`dR_isCtrlHeld` && `dR_isShiftHeld`) )) { + popupMenu -e -deleteAllItems $parentName; + if (`popupMenu -q -mm $parentName` != $gIsMarkingMenuOn) { + popupMenu -e -mm $gIsMarkingMenuOn $parentName; + } + + setParent -m $parentName; + + string $curSelType = `nexOpt -q selType`; + int $hasMcm = `nexCtx -q -mcm`; + + switch($manipType) + { + case "bevel": + { + if(!`nexCtx -q -ctm`) { + radioMenuItemCollection; + + menuItem + -label "Segments" + -command ("nexOpt -e polyBevelCurLmbMap segments; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q polyBevelCurLmbMap` == "segments") + -radialPosition "N"; + + menuItem + -label "Offset" + -command ("nexOpt -e polyBevelCurLmbMap offset; refresh -f; dR_updateCommandPanel") + -rb (`nexOpt -q polyBevelCurLmbMap` == "offset") + -radialPosition "E"; + + menuItem -d 1; menuItem -d 1; menuItem -d 1; + menuItem -label "Reset Settings" -command ("nexCtx -resetManip"); + + return true; + } + + break; + } + + case "extrudevertex": + case "extrudeface": + { + if($curSelType == "vertex" && !$hasMcm) { + radioMenuItemCollection; + + menuItem + -label "Divisions" + -command ("nexOpt -e extrudeVertexCurLmbMap divisions; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeVertexCurLmbMap` == "divisions") + -radialPosition "N"; + + menuItem + -label "Width" + -command ("nexOpt -e extrudeVertexCurLmbMap width; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeVertexCurLmbMap` == "width") + -radialPosition "E"; + + menuItem + -label "Length" + -command ("nexOpt -e extrudeVertexCurLmbMap length; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeVertexCurLmbMap` == "length") + -radialPosition "W"; + + menuItem + -label "Length + Width" + -command ("nexOpt -e extrudeVertexCurLmbMap widthlength; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeVertexCurLmbMap` == "widthlength") + -radialPosition "S"; + + menuItem -d 1; menuItem -d 1; menuItem -d 1; + menuItem -label "Reset Settings" -command ("nexCtx -resetManip"); + + return true; + } else { + radioMenuItemCollection; + + menuItem + -label "Local Z" + -command ("nexOpt -e extrudeFaceCurLmbMap localz; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeFaceCurLmbMap` == "localz") + -radialPosition "W"; + + if(!`nexCtx -q -ctm`) { + menuItem + -label "Divisions" + -command ("nexOpt -e extrudeFaceCurLmbMap divisions; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeFaceCurLmbMap` == "divisions") + -radialPosition "N"; + } + + string $offsetCmd; + if($hasMcm) { + $offsetCmd = "nexOpt -e polyExtrudeCurLmbMap offset; nexOpt -e polyBevelCurLmbMap offset; refresh -f; dR_updateCommandPanel;"; + } else { + $offsetCmd = "nexOpt -e extrudeFaceCurLmbMap offset; refresh -f; dR_updateCommandPanel;"; + } + + menuItem + -label "Offset" + -command ("nexOpt -e extrudeFaceCurLmbMap offset; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q extrudeFaceCurLmbMap` == "offset") + -radialPosition "E"; + + menuItem + -label "Keep Faces Together" + -command ("nexCtx -e -kft (!`nexCtx -q -kft`); refresh -f") + -cb (`nexCtx -q -kft`) + -radialPosition "S"; + + menuItem -d 1; menuItem -d 1; menuItem -d 1; + menuItem -label "Reset Settings" -command ("nexCtx -resetManip"); + + return true; + } + } + + + case "bridge": + { + radioMenuItemCollection; + + menuItem + -label "Twist" + -command ("nexOpt -e bridgeCurLmbMap twist; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q bridgeCurLmbMap` == "twist") + -radialPosition "NW"; + + menuItem + -label "Taper" + -command ("nexOpt -e bridgeCurLmbMap taper; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q bridgeCurLmbMap` == "taper") + -radialPosition "W"; + + menuItem + -label "Offset" + -command ("nexOpt -e bridgeCurLmbMap offset; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q bridgeCurLmbMap` == "offset") + -radialPosition "E"; + + menuItem + -label "Divisions" + -command ("nexOpt -e bridgeCurLmbMap divisions; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q bridgeCurLmbMap` == "divisions") + -radialPosition "N"; + + menuItem -d 1; menuItem -d 1; menuItem -d 1; + menuItem + -label "Reset Settings" + -command ("nexCtx -resetManip"); + + menuItem + -label "Curve Types..." + -subMenu 1 + -radialPosition "S" + -allowOptionBoxes 1; + + radioMenuItemCollection; + + int $blendType = (`nexCtx -q -bridgeCurveType`); + + menuItem + -label "Blend" + -command ("nexCtx -e -bridgeCurveType 1; refresh -f; dR_updateCommandPanel;") + -rb $blendType + -radialPosition "W"; + + menuItem + -label "Linear" + -command ("nexCtx -e -bridgeCurveType 0; refresh -f; dR_updateCommandPanel;") + -rb (!$blendType) + -radialPosition "S"; + + return true; + } + + case "connect": + { + if(!`nexCtx -q -ctm`) { + radioMenuItemCollection; + menuItem + -label "Slide" + -command ("nexOpt -e connectCurLmbMap slide; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q connectCurLmbMap` == "slide") + -radialPosition "E"; + + menuItem + -label "Pinch" + -command ("nexOpt -e connectCurLmbMap pinch; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q connectCurLmbMap` == "pinch") + -radialPosition "W"; + + menuItem + -label "Segments" + -command ("nexOpt -e connectCurLmbMap segments; refresh -f; dR_updateCommandPanel;") + -rb (`nexOpt -q connectCurLmbMap` == "segments") + -radialPosition "N"; + + menuItem -d 1; menuItem -d 1; menuItem -d 1; + menuItem + -label "Reset Settings" + -command ("nexCtx -resetManip"); + + return true; + } + } + } + } + + return false; + } + + global proc dR_contextPanel() { + global string $drTFormLayout, $drQuaDrawPanel, $drConnectFormLayout, $drBridgeFormLayout, $drVertChamferFormLayout, $drVertExtrudeFormLayout, $drFaceExtrudeFormLayout, $drBevelFormLayout, $drCutFormLayout; + + string $manipType = `nexCtx -q -sm`; + switch($manipType) + { + case "move": + case "rotate": + case "scale": + case "pivot": + layout -e -m 1 $drTFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + + break; + + case "quadraw": + setViewAxisVisibility true; + layout -e -m 1 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + break; + + case "connect": + layout -e -m 1 $drConnectFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + break; + + case "bridge": + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 1 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + break; + + case "extrudevertex": + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + + if(`nexOpt -q manipType` == "bevel") { + layout -e -m 1 $drVertChamferFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + } else { + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 1 $drVertExtrudeFormLayout; + } + + break; + + case "extrudeface": + layout -e -m 1 $drFaceExtrudeFormLayout; + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + break; + + case "bevel": + layout -e -m 1 $drBevelFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drCutFormLayout; + break; + + case "cut": + layout -e -m 1 $drCutFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + break; + + default: + layout -e -m 0 $drTFormLayout; + layout -e -m 0 $drQuaDrawPanel; + layout -e -m 0 $drConnectFormLayout; + layout -e -m 0 $drBridgeFormLayout; + layout -e -m 0 $drVertExtrudeFormLayout; + layout -e -m 0 $drVertChamferFormLayout; + layout -e -m 0 $drFaceExtrudeFormLayout; + layout -e -m 0 $drBevelFormLayout; + layout -e -m 0 $drCutFormLayout; + break; + } + } + + global proc dR_buildTransformMM(string $useMode) { + if (`popupMenu -exists tempMM`) { + deleteUI tempMM; + } + + popupMenu -markingMenu true + -aob true + -button 1 + -parent viewPanes + tempMM; + + if($useMode == "select") { + menuItem -rp "N" -l "NURBS Mask" -ecr false + -c "setSelectMode nurbsModeling NURBS; setToolTo selectSuperContext; "; + menuItem -rp "NE" -l "Hierarchy" -ecr false + -c "setSelectMode hierarchy Hierarchy; setToolTo selectSuperContext; "; + menuItem -rp "E" -l "Animation Mask" -ecr false + -c "setSelectMode animation Animation; setToolTo selectSuperContext; "; + menuItem -rp "SE" -l "Deformations Mask" -ecr false + -c "setSelectMode deformations Deformations; setToolTo selectSuperContext; "; + menuItem -rp "S" -l "Dynamics Mask" -ecr false + -c "setSelectMode dynamics Dynamics; setToolTo selectSuperContext; "; + menuItem -rp "SW" -l "Polygons Mask" -ecr false + -c "setSelectMode polyModeling Polygons; setToolTo selectSuperContext; "; + menuItem -rp "W" -l "Rendering Mask" -ecr false + -c "setSelectMode rendering Rendering; setToolTo selectSuperContext; "; + + // If in component mode then switch to Object, any + // other mode (object, hierarchy, preset) go to + // component. + menuItem -rp "NW" -l "Object/Components" -ecr false + -c "if ( `selectMode -q -component` ) { setSelectMode objects Objects; setToolTo selectSuperContext; } else { setSelectMode components Components; } "; + } else { + radioMenuItemCollection; + + menuItem + -label "Local" + -command ("if(`nexOpt -q manipType` != \"" + $useMode + "\") { nexOpt -e manipType " + $useMode + "; } nexOpt -e manipCoordSpace local; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`nexOpt -q manipCoordSpace` == "local" && `nexOpt -q manipType` != "pivot") + -radialPosition "NE"; + + menuItem + -label "World" + -command ("if(`nexOpt -q manipType` != \"" + $useMode + "\") { nexOpt -e manipType " + $useMode + "; } nexOpt -e manipCoordSpace world; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`nexOpt -q manipCoordSpace` == "world" && `nexOpt -q manipType` != "pivot") + -radialPosition "W"; + + menuItem + -label "Object" + -command ("if(`nexOpt -q manipType` != \"" + $useMode + "\") { nexOpt -e manipType " + $useMode + "; } nexOpt -e manipCoordSpace object; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`nexOpt -q manipCoordSpace` == "object" && `nexOpt -q manipType` != "pivot") + -radialPosition "NW"; + + menuItem + -label "NEX Options..." + -subMenu 1 + -radialPosition "E" + -allowOptionBoxes 1; + + menuItem + -label "NEX Panel" + -command ("dR_ToggleCommandPanel; dR_buildTransformMM(\"" + $useMode + "\")") + -cb `dR_isPanelVisible` + -radialPosition "E"; + + menuItem + -label "Highlight Backfaces" + -command ("nexOpt -t highlightBackfacing; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -cb `nexOpt -q highlightBackfacing` + -radialPosition "S"; + + menuItem + -label "Preview Loop/Ring" + -command ("nexOpt -t previewLoopRing; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -cb `nexOpt -q previewLoopRing` + -radialPosition "SE"; + + /* + menuItem + -label "Hybrid Raycast/Marquee" + -command ("nexOpt -t hybridPaintMarquee; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -cb `nexOpt -q hybridPaintMarquee` + -radialPosition "SW"; + */ + + setParent -m ..; + + + menuItem + -label "Align Along..." + -subMenu 1 + -radialPosition "SW" + -allowOptionBoxes 1; + + menuItem + -label "Reset Pivot Position" + -command "nexCtx -e -rc \"position\"" + -radialPosition "NE"; + + menuItem + -label "Reset Pivot Position and Orientation" + -command "nexCtx -e -rc \"all\"" + -radialPosition "E"; + + menuItem + -label "Reset Pivot Orientation" + -command "nexCtx -e -rc \"orientation\"" + -radialPosition "SE"; + + menuItem + -label "Custom Pivot Tool" + -command ("nexOpt -e manipType \"pivot\"; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -radialPosition "SW"; + + menuItem + -label "Custom Coordinate Space" + -command ("if(`nexOpt -q manipType` != \"" + $useMode + "\") { nexOpt -e manipType " + $useMode + "; } nexOpt -e manipCoordSpace custom; dR_updateCommandPanel(); dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`nexOpt -q manipCoordSpace` == "custom" || `nexOpt -q manipType` == "pivot") + -radialPosition "W"; + setParent -m ..; + + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + menuItem + -label "Active Axis..." + -subMenu 1 + -radialPosition "S" + -allowOptionBoxes 1; + + radioMenuItemCollection; + + menuItem + -label "Y" + -c ("dR_setActiveAxis " + $nexHandleY + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleY) + -radialPosition "N"; + + menuItem + -label "YZ" + -c ("dR_setActiveAxis " + $nexHandleYZ + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleYZ) + -radialPosition "NE"; + + menuItem + -label "Z" + -c ("dR_setActiveAxis " + $nexHandleZ + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleZ) + -radialPosition "E"; + + menuItem + -label "XZ" + -c ("dR_setActiveAxis " + $nexHandleXZ + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleXZ) + -radialPosition "SE"; + + menuItem + -label "XYZ" + -c ("dR_setActiveAxis " + $nexHandleXYZ + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleXYZ) + -radialPosition "S"; + + menuItem + -label "X" + -c ("dR_setActiveAxis " + $nexHandleX + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleX) + -radialPosition "W"; + + menuItem + -label "XY" + -c ("dR_setActiveAxis " + $nexHandleXY + "; dR_buildTransformMM(\"" + $useMode + "\")") + -rb (`dR_getActiveHandle` == $nexHandleXY) + -radialPosition "NW"; + + setParent -m ..; + + menuItem -d 1; menuItem -d 1; menuItem -d 1; + menuItem + -label "Symmetrize" + -en (`dR_isSymOn`) + -c ("nexCtx -ses;"); + + menuItem + -label "Symmetry" + -c ("if(`nexCtx -q -sym`) { nexCtx -dsm; } else { nexCtx -sym; } dR_buildTransformMM(\"" + $useMode + "\"); ") + -cb (`nexCtx -q -sym`); + + menuItem -d 1; + + menuItem + -label "Slide" + -c ("nexOpt -t slide; dR_updateCommandPanel; dR_buildTransformMM(\"" + $useMode + "\")") + -cb (`nexOpt -q slide`); + + menuItem + -label "Tweak" + -c ("nexOpt -e -s useClickDrag #1; dR_updateCommandPanel; ") + -cb (`nexOpt -q useClickDrag`); + + setParent -m ..; + } + } + + global proc dR_releaseAllStickies() + { + SelectMaskToolMarkingMenuPopDown; + TranslateToolWithSnapMarkingMenuPopDown; + RotateToolWithSnapMarkingMenuPopDown; + ScaleToolWithSnapMarkingMenuPopDown; + } + + global proc int dR_isSymOn() + { + global string $nexSymName; + if(`nameField -q -object $nexSymName` != "") { + return true; + } + return false; + } + + proc reassignCmd(string $nameCommand, string $cbCmd) { + int $cmdIdx, $count = `assignCommand -query -numElements`; + for ($cmdIdx = 1; $cmdIdx <= $count; $cmdIdx++) { + $thisCmdName = `assignCommand -q -name $cmdIdx`; + if($thisCmdName == $nameCommand) { + string $curCmd = `assignCommand -q -c $cmdIdx`; + if(!gmatch($curCmd, $cbCmd)) { + assignCommand -e -i $cmdIdx -c $cbCmd; + } + } + } + } + + global proc dR_matchManipSize() + { + float $manipSize[] = `manipOptions -q -s`; + nexOpt -e manipSize ($manipSize[0] * 40); + } + + global proc dR_snapOptionCB() + { + if(`nexOpt -q useSnapKeys`) { + reassignCmd("NameComSnap_to_Curve_modifierON", "dR_curveSnapPress"); + reassignCmd("NameComSnap_to_Curve_modifierOFF", "dR_curveSnapRelease"); + reassignCmd("NameComSnap_to_Grid_modifierON", "dR_gridSnapPress"); + reassignCmd("NameComSnap_to_Grid_modifierOFF", "dR_gridSnapRelease"); + reassignCmd("NameComSnap_to_Point_modifierON", "dR_pointSnapPress"); + reassignCmd("NameComSnap_to_Point_modifierOFF", "dR_pointSnapRelease"); + } else { + reassignCmd("NameComSnap_to_Curve_modifierON", "SnapToCurve"); + reassignCmd("NameComSnap_to_Curve_modifierOFF", "SnapToCurve"); + reassignCmd("NameComSnap_to_Grid_modifierON", "SnapToGrid"); + reassignCmd("NameComSnap_to_Grid_modifierOFF", "SnapToGrid"); + reassignCmd("NameComSnap_to_Point_modifierON", "SnapToPoint"); + reassignCmd("NameComSnap_to_Point_modifierOFF", "SnapToPoint"); + } + } + + global proc dR_manipSizeOptionCB() + { + if(`nexOpt -q useManipSizeKeys`) { + reassignCmd("NameComIncrease_Manipulator_Size", "dR_increaseManipSize"); + reassignCmd("NameComDecrease_Manipulator_Size", "dR_decreaseManipSize"); + } else { + reassignCmd("NameComIncrease_Manipulator_Size", "IncreaseManipulatorSize"); + reassignCmd("NameComDecrease_Manipulator_Size", "DecreaseManipulatorSize"); + } + } + + global proc dR_selTransformKeysCB() + { + if(`nexOpt -q useSelTransformKeys`) { + reassignCmd("NameComSelectTool_MaskMMenu", "dR_selectPress"); + reassignCmd("NameComSelectTool_MaskMMenu_release", "dR_selectRelease"); + + reassignCmd("TranslateToolWithSnapMarkingMenuNameCommand", "dR_movePress"); + reassignCmd("TranslateToolWithSnapMarkingMenuPopDownNameCommand", "dR_moveRelease"); + + reassignCmd("RotateToolWithSnapMarkingMenuNameCommand", "dR_rotatePress"); + reassignCmd("RotateToolWithSnapMarkingMenuPopDownNameCommand", "dR_rotateRelease"); + + reassignCmd("ScaleToolWithSnapMarkingMenuNameCommand", "dR_scalePress"); + reassignCmd("ScaleToolWithSnapMarkingMenuPopDownNameCommand", "dR_scaleRelease"); + } else { + reassignCmd("NameComSelectTool_MaskMMenu", "SelectMaskToolMarkingMenu"); + reassignCmd("NameComSelectTool_MaskMMenu_release", "SelectMaskToolMarkingMenuPopDown"); + + reassignCmd("TranslateToolWithSnapMarkingMenuNameCommand", "TranslateToolWithSnapMarkingMenu"); + reassignCmd("TranslateToolWithSnapMarkingMenuPopDownNameCommand", "TranslateToolWithSnapMarkingMenuPopDown"); + + reassignCmd("RotateToolWithSnapMarkingMenuNameCommand", "RotateToolWithSnapMarkingMenu"); + reassignCmd("RotateToolWithSnapMarkingMenuPopDownNameCommand", "RotateToolWithSnapMarkingMenuPopDown"); + + reassignCmd("ScaleToolWithSnapMarkingMenuNameCommand", "ScaleToolWithSnapMarkingMenu"); + reassignCmd("ScaleToolWithSnapMarkingMenuPopDownNameCommand", "ScaleToolWithSnapMarkingMenuPopDown"); + } + } + + global proc dR_toolEditKeysCB() + { + if(`nexOpt -q useToolEditKeys`) { + reassignCmd("NameComEnter_Tool_Edit_Mode", "dR_customPivotTool"); + } else { + reassignCmd("NameComEnter_Tool_Edit_Mode", "EnterEditMode"); + } + } + + global proc dR_brushResizeKeysCB() + { + if(`nexOpt -q useBrushResizeKeys`) { + reassignCmd("artisanModifyUpperRadius_press", "dR_softSelStickyPress"); + reassignCmd("artisanModifyUpperRadius_release", "dR_softSelStickyRelease"); + } else { + reassignCmd("artisanModifyUpperRadius_press", "ModifyUpperRadiusPress"); + reassignCmd("artisanModifyUpperRadius_release", "ModifyUpperRadiusRelease"); + } + } + + global proc dR_reloadTexture(string $ftn) + { + int $undoState = `undoInfo -q -st`; + + undoInfo -swf 0; + string $currFile = `getAttr $ftn`; + setAttr $ftn -type "string" $currFile; + undoInfo -swf $undoState; + } + + global proc dRSaveShelves() + { + global string $gDRBottomPane; + string $shelvesName = (`internalVar -userPrefDir` + "NEXShelf"); + saveShelf $gDRBottomPane $shelvesName; + } + + global proc dRRestoreShelves() + { + global string $gDRBottomPane; + string $shelvesName = (`internalVar -userPrefDir` + "NEXShelf"); + string $shelvesFile = $shelvesName + ".mel"; + if(`filetest -r $shelvesFile`) { + string $cmd = "source \"" + $shelvesName + "\""; + eval ($cmd); + setParent $gDRBottomPane; + NEXShelf; + } + } + + proc string buildSSPanel(string $frmLayout) + { + string $softSel = `frameLayout -p $frmLayout -cll true -cl true -l "Soft Selection" -bs "etchedIn" -width 120 -mw 6 -mh 6`; + string $frmLayout = `formLayout`; + string $softSelChk = dR_addModeBtn(`checkBox -l "" -width 13 -ann "Soft Selection" -al "left" -cc "nexOpt -e useSoftSel #1; dR_updateCommandPanel();" -p $frmLayout`); + string $falloffFld = dR_addModeBtn(`floatField -ann "Soft Selection Falloff" -dc "nexOpt -e softSelFalloff #1" -cc "nexOpt -s -e softSelFalloff #1; dR_updateHUD;" -step 0.01 -min .01 -max 1000000 -pre 2 -v 1 -height 26 -width 40 -p $frmLayout`); + + global string $drSoftSelDistType; + string $drSoftSelDistType = dR_addModeBtn(`optionMenu -label "" -ann "distTypeDropdown" -p $frmLayout`); + optionMenu -e -cc ("nexOpt -e softSelDistanceType `optionMenu -q -sl " + $drSoftSelDistType + "`") $drSoftSelDistType; + menuItem -label "Along Faces"; + menuItem -label "Along Edges"; + menuItem -label "Spherical"; + + $falloffTypes = `rowLayout -nc 3 -cw3 50 46 49 -ct3 "left" "left" "left" -co3 4 4 4 -p $frmLayout`; + dR_addModeBtn(`iconTextButton -ann "falloffBubbleBtn" -st "iconOnly" -i "nex/bubbleOff.xpm" -si "nex/bubbleOn.xpm" -c "nexOpt -e softSelFalloffType 0; nexOpt -e useSoftSel 1; dR_updateCommandPanel();" -mh 0 -mw 0 -width 50 -height 47 -p $falloffTypes`); + dR_addModeBtn(`iconTextButton -ann "falloffPinchBtn" -st "iconOnly" -i "nex/pinchOff.xpm" -si "nex/pinchOn.xpm" -c "nexOpt -e softSelFalloffType 1; nexOpt -e useSoftSel 1; dR_updateCommandPanel();" -mh 0 -mw 0 -width 46 -height 47 -p $falloffTypes`); + dR_addModeBtn(`iconTextButton -ann "falloffLinearBtn" -st "iconOnly" -i "nex/linearOff.xpm" -si "nex/linearOn.xpm" -c "nexOpt -e softSelFalloffType 2; nexOpt -e useSoftSel 1; dR_updateCommandPanel();" -mh 0 -mw 0 -width 49 -height 47 -p $falloffTypes`); + + formLayout -edit + -attachForm $softSelChk "top" 6 + -attachForm $softSelChk "left" 0 + + -attachForm $drSoftSelDistType "top" 2 + -attachControl $drSoftSelDistType "left" 4 $softSelChk + + -attachForm $falloffFld "top" 1 + -attachControl $falloffFld "left" 2 $drSoftSelDistType + + -attachForm $falloffTypes "left" 0 + -attachControl $falloffTypes "top" 6 $drSoftSelDistType + + $frmLayout; + + return $softSel; + } + + global proc dR_transformFloat(string $axis, float $newVal) + { + string $manipType = `nexOpt -q manipType`; + if($manipType == "pivot") { + int $activePivotHandle = `nexOpt -q activePivotHandle`; + if($activePivotHandle >= 8 && $activePivotHandle <= 10) { + $manipType = "rotate"; + } + } + switch($manipType) + { + case "move": + case "pivot": + if($axis == "x") { + nexCtx -e -mpx $newVal; + } else if($axis == "y") { + nexCtx -e -mpy $newVal; + } else if($axis == "z") { + nexCtx -e -mpz $newVal; + } + break; + + case "rotate": + if($axis == "x") { + nexCtx -e -mox $newVal; + } else if($axis == "y") { + nexCtx -e -moy $newVal; + } else if($axis == "z") { + nexCtx -e -moz $newVal; + } + break; + + case "scale": + if($axis == "x") { + nexCtx -e -msx $newVal; + } else if($axis == "y") { + nexCtx -e -msy $newVal; + } else if($axis == "z") { + nexCtx -e -msz $newVal; + } + break; + } + } + + global proc nexBuildDockMenu(string $dockMenu) + { + popupMenu -e -dai $dockMenu; + radioMenuItemCollection -p $dockMenu; + int $isDocked = `nexOpt -q panelDock`; + //menuItem -rb ($isDocked == 2) -c "nexDockPanel(2)" -label "Dock Left" -p $dockMenu; + menuItem -rb ($isDocked == 1) -c "nexDockPanel(1)" -label "Dock Right" -p $dockMenu; + menuItem -rb ($isDocked == 0) -c "nexDockPanel(0)" -label "Float" -p $dockMenu; + } + + global proc string dR_getSelCurve() + { + string $origSel[] = `ls -selection -objectsOnly`; + string $curveNode = ""; + for ($node in $origSel) { + if (size(`ls ($node+".editPoints")`) > 0) { + $curveNode = $node; + break; + } + } + + return $curveNode; + } + + global proc dR_ctxHelp() + { + string $title, $body; + string $manipType = `nexOpt -q manipType`; + + global string $drHelpWindow, $drHelpLabel, $drHelpLink, $link; + + $manipName = ""; + + int $width = 500, $height = 360, $numLines = 6; + + switch($manipType) + { + case "cut": + $manipName = "Multi-Cut"; + $body = "The Multi-Cut tool integrates three tools in one: A Split Polygon Tool (Cut), a Cut Faces Tool (Slice), and an Insert Edge Loop Tool.\n\nCut:\nLeft-Click on any component to drop cut points, Right-Click to complete the cut. The Backspace key removes your last slice point.\n\nSlice:\nLeft-Click in dead-space (outside the mesh boundary) to drop a slice point, Left-Click again to specify a slice plane, Right-Click to complete the slice. Alternatively, you can Left-Click drag to create quick slices. Finally, Middle-Clicking or Middle-Click-Dragging will allow you to start your slice while your cursor is over the mesh. The Backspace key removes your last cut point.\nNote: Only edges that are within the slice plane will be sliced. If backface culling is enabled, it will prevent slices from going through the other side of the mesh.\n\nInsert Edge Loop:\nHolding Ctrl and Left-Clicking will allow for quick cuts to span across the entire edge ring. Middle-Clicking while holding Ctrl will insert the edge-loop exactly in the middle of the edge ring path.\n\nFor all three tools, holding Shift will snap the cut points to percentage increments specified in the Multi-Cut contextual options."; + $link = "http://draster.com/videos/downloadable/help/NEX-Multi-Cut.mov"; + break; + + case "bevel": + $manipName = "Bevel"; + $body = "The Bevel tool combines two interaction models:\n(1) If you have a selection, middle-click-drag will adjust the Bevel offset\n(2) If you do not have a selection, Left-click-dragging will Bevel the pre-highlighted component.\n\nThe Ctrl+Shift+Right-Mouse-Button marking menu will allow you to switch editing modes\n\nNote: Performing a Bevel on vertex selections will Chamfer instead (escentially a bevel with the end point(s) removed).\n\nIf a hotkey has been assigned for bevelPress and bevelRelease, you may hold that respective hotkey down and use the Right-Mouse-Button marking menu to switch editing modes."; + $link = "http://draster.com/videos/downloadable/help/NEX-Bevel.mov"; + break; + + case "bridge": + $manipName = "Bridge"; + $body = "A selection of two cooresponding edge or polygon islands can be Bridged together.\n\nLeft-Click-Dragging or Middle-Click-Dragging will adjust the amount of connecting face Divisions.\nThe Ctrl+Shift+RMB marking menu will allow you to change the Left-Click-Drag or Middle-Click-Drag editing mode. There are four editing modes for Bridge: Divisions (default), Taper, Twist, and Offset."; + $link = "http://draster.com/videos/downloadable/help/NEX-Bridge.mov"; + break; + + case "connect": + $manipName = "Connect"; + $body = "Using your left-mouse-button, select components (vertex, edge, and/or face) to split edges between them.\nMiddle-Click-Drag will adjust the amount of connecting edge segments.\nThe Ctrl+Shift+RMB marking menu will allow you change the Middle-Click-Drag editing mode. There are three editing modes for Connect: Slide, Segments (default), and Pinch.\n\nNote: Single edge selections will automatically connect the entire ring path."; + $link = "http://draster.com/videos/downloadable/help/NEX-Connect.mov"; + break; + + case "extrude": + $manipName = "Extrude"; + $body = "The Extrude tool combines two interaction models:\n(1) If you have a selection, middle-click-drag will adjust the Extrude Local Z\n(2) If you do not have a selection, Left-click-dragging will Extrude the pre-highlighted component.\n\nThe Ctrl+Shift+Right-Mouse-Button marking menu will allow you to switch editing modes.\n\nNote: Holding Shift while Middle-Click-Dragging or Left-Click-Dragging will create a new Extrusion."; + $link = "http://draster.com/videos/downloadable/help/NEX-Extrude.mov"; + break; + + case "quadraw": + $manipName = "Quad Draw"; + $body = "Details here:\nhttp://draster.com/help/nex/panel.php#quad_draw"; + $link = "http://draster.com/videos/downloadable/help/NEX-QuadDraw.mov"; + break; + } + + $title = "NEX Help: " + $manipName; + + string $linkCmd = "system(\"Load " + $link + "\")"; + + // If the window exists already, just show it + if (`window -exists $drHelpWindow`) { + scrollField -e -ip 1 -nl 6 -ed false -text $body $drHelpLabel; + window -e -title $title -wh $width $height -rtf true $drHelpWindow; + button -e -c $linkCmd $drHelpLink; + showWindow $drHelpWindow; + } else { + $drHelpWindow = `window -tlc 310 490 -title $title -rtf true`; + setParent $drHelpWindow; + $helpLayout = `formLayout`; + $drHelpLabel = `scrollField -ip 1 -ed false -font "smallPlainLabelFont" -wordWrap true -nl 6 -p $helpLayout -text $body`; + $drHelpLink = `button -label "Show Video" -c $linkCmd`; + + formLayout -e + -attachForm $drHelpLabel "left" 4 + -attachForm $drHelpLabel "right" 4 + -attachForm $drHelpLabel "top" 10 + -attachControl $drHelpLabel "bottom" 4 $drHelpLink + + -attachForm $drHelpLink "left" 4 + -attachForm $drHelpLink "right" 4 + -attachForm $drHelpLink "bottom" 10 + + $helpLayout; + + window -e -wh $width $height -title $title $drHelpWindow; + showWindow $drHelpWindow; + } + } + + global proc nexBuildPanel(string $parentForm) + { + global int $dRCmdPanelWidth; + global string $gdRpanel; + global string $gWorkAreaForm; + global string $nexRefreshCmd; + global string $dRModeBtns[]; + global string $gAttributeEditorForm; + global string $gMainPane; + global string $gdRPanes; + global string $gDRTopPane; + global string $gDRBottomPane; + global int $dRCompBtnCount; + global string $gdRCompBtns_Cmds[], $gdRCompBtns_Ann[], $gdRCompBtns_UpImages[], $gdRCompBtns_DownImages[], $gdRCompBtns_Names[], $gdRCompBtns[], $gdRCompBtns_DownImages[], $gdRCompBtns_MultiImages[]; + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + + $dRModeBtns = { }; + + setParent $parentForm; + $gdRPanes = `paneLayout -cn "horizontal2" -width $dRCmdPanelWidth -ps 1 100 85 -ps 2 100 15`; + $gDRTopPane = `formLayout -p $gdRPanes`; + $gDRBottomPane = `shelfLayout -width $dRCmdPanelWidth -p $gdRPanes`; + dRRestoreShelves(); + + formLayout -edit + -attachForm $gdRPanes "top" 0 + -attachForm $gdRPanes "bottom" 0 + -attachForm $gdRPanes "left" 0 + -attachForm $gdRPanes "right" 0 + $parentForm; + + global string $gdRCompBtns[]; + $gdRCompBtns[0] = `iconTextButton + -st "iconOnly" + -i $gdRCompBtns_UpImages[0] + -si $gdRCompBtns_DownImages[0] + -width 98 -height 18 + -mh 0 -mw 0 + -annotation $gdRCompBtns_Ann[0] + -c $gdRCompBtns_Cmds[0] -p $gDRTopPane`; + + int $i; + for($i = 1; $i < $dRCompBtnCount; $i++) { + $gdRCompBtns[$i] = `iconTextButton + -st "iconOnly" + -i $gdRCompBtns_UpImages[$i] + -si $gdRCompBtns_DownImages[$i] + -width 32 -height 36 + -mh 0 -mw 0 + -annotation $gdRCompBtns_Ann[$i] + -c ($gdRCompBtns_Cmds[$i]) -p $gDRTopPane`; + } + + { + setParent $gDRTopPane; + global string $gdRpanel; + + $gdRpanel = `frameLayout -lv false -bv false -mh 4 -mw 0 -p $gDRTopPane`; + string $frmLayout = `formLayout -p $gdRpanel`; + string $buttonSet = `formLayout -p $frmLayout`; + string $transformBtnsFrame = `frameLayout -p $buttonSet -lv false -bs "etchedIn" -width 120 -height 40 -mw 6 -mh 2`; + string $transformBtnsForm = `formLayout -p $transformBtnsFrame`; + string $selBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/selectOff.xpm" + -si "nex/selectOn.xpm" + -ann "Select" + -c "nexOpt -e manipType select; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 35 -height 29`); + + string $translateBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/translateOff.xpm" + -si "nex/translateOn.xpm" + -ann "Move" + -c "nexOpt -e manipType move; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 36 -height 29 -p $transformBtnsForm`); + + string $rotateBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/rotateOff.xpm" + -si "nex/rotateOn.xpm" + -ann "Rotate" + -c "nexOpt -e manipType rotate; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 37 -height 29 -p $transformBtnsForm`); + + string $scaleBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/scaleOff.xpm" + -si "nex/scaleOn.xpm" + -ann "Scale" + -c "nexOpt -e manipType scale; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 36 -height 29 -p $transformBtnsForm`); + + formLayout -e + -attachForm $selBtn "top" 2 + -attachForm $selBtn "left" 4 + + -attachForm $translateBtn "top" 2 + -attachControl $translateBtn "left" 0 $selBtn + + -attachForm $rotateBtn "top" 2 + -attachControl $rotateBtn "left" 0 $translateBtn + + -attachForm $scaleBtn "top" 2 + -attachControl $scaleBtn "left" 0 $rotateBtn + + $transformBtnsForm; + + /* + string $paintSelBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/paintOff.xpm" + -si "nex/paintOn.xpm" + -ann "Paint Select" + -c "nexOpt -e manipType paint; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 36 -height 31`); + */ + + string $checkBoxes = `columnLayout -p $buttonSet`; + $selectionRBs = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Pick/Marquee" + -ann "Pick/Marquee" + -on1 ("nexOpt -e selectOption \"\"; dR_updateCommandPanel;") + nexPickMarqueeGrp`); + + dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 100 + -l1 "Raycast" + -ann "Raycast" + -on1 ("nexOpt -e selectOption \"raycast\"; dR_updateCommandPanel;") + -shareCollection $selectionRBs + nexRaycastGrp`); + + dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 200 + -l1 "Hybrid Raycast/Marquee" + -ann "Hybrid Raycast/Marquee" + -on1 ("nexOpt -e selectOption \"hybrid\"; dR_updateCommandPanel;") + -shareCollection $selectionRBs + nexHybridRayGrp`); + + string $highlightBackfaces = dR_addModeBtn(`checkBox -p $buttonSet -ann "Highlight Backfaces" -l "Highlight Backfaces" -al "left" -cc "nexOpt -e highlightBackfacing #1; dR_updateCommandPanel();"`); + string $previewLoopRing = dR_addModeBtn(`checkBox -p $buttonSet -ann "previewLoopRingBtn" -l "Preview Loop/Ring" -al "left" -cc "nexOpt -e previewLoopRing #1; dR_updateCommandPanel();"`); + + + string $symFormLayout = `formLayout -p $buttonSet`; + global string $nexSymBtn; + $nexSymBtn = `checkBox -w 13 -label "" -ann "selConstChk" -p $symFormLayout -onc "nexCtx -sym" -ofc "nexCtx -dsm"`; + + global string $nexSymText; + $nexSymText = `textField + -ed false + -width 142 + -height 25 + -p $symFormLayout + -tx "Symmetry: Select Edge" + -ann "Select a center line edge and press the symmetry button to initialize symmetry"`; + + global string $nexSymName; + $nexSymName = `nameField + -visible false + -width 1 + -nameChangeCommand ("dR_updateSymField") + -p $symFormLayout`; + + // Layout the above form + formLayout -e + + + -attachForm $nexSymBtn left 4 + -attachNone $nexSymBtn right + -attachNone $nexSymBtn bottom + -attachForm $nexSymBtn top 6 + + -attachNone $nexSymText top + -attachControl $nexSymText left 4 $nexSymBtn + -attachForm $nexSymText bottom 0 + -attachNone $nexSymText right + + -attachNone $nexSymName top + -attachControl $nexSymName left 0 $nexSymText + -attachForm $nexSymName bottom 0 + -attachForm $nexSymName right 0 + + $symFormLayout; + + + formLayout -edit + -attachForm $transformBtnsFrame "top" 0 + -attachForm $transformBtnsFrame "left" 0 + -attachForm $transformBtnsFrame "right" 0 + + -attachControl $checkBoxes "top" 2 $transformBtnsFrame + -attachForm $checkBoxes "left" 0 + -attachForm $checkBoxes "right" 0 + + -attachControl $highlightBackfaces "top" 2 $checkBoxes + -attachForm $highlightBackfaces "left" 10 + + -attachControl $previewLoopRing "top" 2 $highlightBackfaces + -attachForm $previewLoopRing "left" 10 + + -attachForm $symFormLayout "left" 6 + -attachForm $symFormLayout "right" 0 + -attachControl $symFormLayout "top" 4 $previewLoopRing + + $buttonSet; + +/* + string $selToolsFrame = `frameLayout -p $frmLayout -l "Selection Tools" -bs "etchedIn" -width 120 -height 66 -mw 6 -mh 4 -cll true`; + string $selToolsForm = `formLayout -p $selToolsFrame`; + string $growBtn = dR_addModeBtn(`button -ann "growBtn" -l "Grow" -c "dR_growSelection" -width 55 -height 18 -p $selToolsForm`); + string $shrinkBtn = dR_addModeBtn(`button -ann "shrinkBtn" -l "Shrink" -c "dR_shrinkSelection" -width 55 -height 18 -p $selToolsForm`); + string $selSimBtn = dR_addModeBtn(`button -ann "selSimBtn" -l "Select Similar" -c "dR_selectSimilar; repeatLast -acl \"Select Similar\" -ac dR_selectSimilar;" -width 116 -height 18 -p $selToolsForm`); + formLayout -edit + -attachForm $growBtn "top" 0 + -attachForm $growBtn "left" 18 + + -attachForm $shrinkBtn "top" 0 + -attachControl $shrinkBtn "left" 6 $growBtn + + -attachControl $selSimBtn "top" 2 $growBtn + -attachForm $selSimBtn "left" 18 + + $selToolsForm; + + frameLayout -e -cl true $selToolsFrame; +*/ + + string $constraintsFrame = dR_addModeBtn(`frameLayout -p $frmLayout -l "Selection Constraints" -ann "Selection Constraints" -bs "etchedIn" -width 120 -height 38 -mw 6 -mh 4`); + string $constraintsForm = `formLayout -p $constraintsFrame`; + string $selConstChk = dR_addModeBtn(`checkBox -w 13 -label "" -ann "selConstChk" -p $constraintsForm -cc "nexOpt -e useSpecialSelType #1; dR_updateCommandPanel;"`); + string $selConstDropdown = dR_addModeBtn(`optionMenu -label "" -ann "selConstDropdown" -p $constraintsForm -cc ("nexOpt -e specialSelType (tolower(strip(\"#1\"))); dR_updateCommandPanel;")`); + menuItem -p $selConstDropdown -label "Angle "; + menuItem -p $selConstDropdown -label "Border "; + menuItem -p $selConstDropdown -label "Shell "; + float $angleVal = `nexOpt -q angleTolerance`; + string $selConstField = dR_addModeBtn(`floatField -pre 0 -min 0 -max 180 -w 30 -h 26 -step 1 -ann "selConstField" -p $constraintsForm -cc "nexOpt -e angleTolerance #1" -v $angleVal`); + + formLayout -e + -attachForm $selConstChk "top" 6 + -attachForm $selConstChk "left" 0 + + -attachForm $selConstDropdown "top" 1 + -attachControl $selConstDropdown "left" 4 $selConstChk + -attachControl $selConstDropdown "right" 0 $selConstField + + -attachForm $selConstField "top" 0 + -attachPosition $selConstField "left" 0 66 + -attachForm $selConstField "right" 0 + + $constraintsForm; + + string $meshToolsFrame = `frameLayout -p $frmLayout -l "Mesh Editing Tools" -bs "etchedIn" -width 120 -mw 0 -mh 4 -cll true`; + string $meshToolsLayout = `formLayout -p $meshToolsFrame`; + string $connectBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/mConnectOff.xpm" + -si "nex/mConnectOff.xpm" + -ann "connectBtn" + -c "nexOpt -e manipType connect; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + string $bridgeBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/NEXBridgeOff.xpm" + -si "nex/NEXBridgeOn.xpm" + -ann "bridgeBtn" + -c "nexOpt -e manipType bridge; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + string $bevelBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/NEXBevelOff.xpm" + -si "nex/NEXBevelOn.xpm" + -ann "bevelBtn" + -c "nexOpt -e manipType bevel; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + string $extrudeBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/extrudeOff.xpm" + -si "nex/extrudeOn.xpm" + -ann "extrudeBtn" + -c "nexOpt -e manipType extrude; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + string $cutBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/mcutOff.xpm" + -si "nex/mcutOn.xpm" + -ann "cutBtn" + -c "nexOpt -e manipType cut; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + string $weldBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/targetWeldOff.xpm" + -si "nex/targetWeldOn.xpm" + -ann "weldBtn" + -c "nexOpt -e manipType weld; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + string $quaDrawBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/quadDrawOff.xpm" + -si "nex/quadDrawOn.xpm" + -ann "quaDrawBtn" + -c "nexOpt -e manipType quadraw; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 80 -height 22 -p $meshToolsLayout`); + + formLayout -edit + -attachForm $bevelBtn "top" 4 + -attachForm $bevelBtn "left" 2 + + -attachForm $cutBtn "top" 4 + -attachControl $cutBtn "left" 0 $bevelBtn + -attachForm $cutBtn "right" 0 + + -attachControl $bridgeBtn "top" 4 $cutBtn + -attachForm $bridgeBtn "left" 2 + + -attachControl $weldBtn "top" 4 $cutBtn + -attachControl $weldBtn "left" 0 $bridgeBtn + -attachForm $weldBtn "right" 0 + + -attachControl $connectBtn "top" 4 $bridgeBtn + -attachForm $connectBtn "left" 2 + + -attachControl $quaDrawBtn "top" 4 $weldBtn + -attachControl $quaDrawBtn "left" 0 $connectBtn + -attachForm $quaDrawBtn "right" 0 + + -attachControl $extrudeBtn "top" 4 $connectBtn + -attachForm $extrudeBtn "left" 2 + + $meshToolsLayout; + + formLayout -edit + -attachForm $buttonSet "top" 0 + -attachForm $buttonSet "left" 0 + -attachForm $buttonSet "right" 0 + + -attachControl $constraintsFrame "top" 4 $buttonSet + -attachForm $constraintsFrame "left" 0 + -attachForm $constraintsFrame "right" 0 + + /* + -attachControl $selToolsFrame "top" 4 $constraintsFrame + -attachForm $selToolsFrame "left" 0 + -attachForm $selToolsFrame "right" 0 + */ + + -attachControl $meshToolsFrame "top" 4 $constraintsFrame + -attachForm $meshToolsFrame "left" 0 + -attachForm $meshToolsFrame "right" 0 + + $frmLayout; + + global string $drOptionPanel, $drTFormLayout, $drQuaDrawPanel, $drConnectFormLayout, $drBridgeFormLayout, $drVertExtrudeFormLayout, $drVertChamferFormLayout, $drFaceExtrudeFormLayout, $drBevelFormLayout, $drCutFormLayout; + + $drOptionPanel = `formLayout -p $gDRTopPane`; + { + $drConnectFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $connectFrame = `frameLayout -p $drConnectFormLayout -l "Connect Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $connectFormLayout = `formLayout -p $connectFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + global string $drSlideRB, $drSegRadio, $drPinchRadio, $drSlideField, $drConnSegField, $drConnPinchField; + $drSlideRB = dR_addModeBtn(`radioButtonGrp + -nrb 1 + -ann "Connect Slide Radio" + -l "" + -cw2 1 60 + -l1 "Slide" + -on1 ("nexOpt -e connectCurLmbMap slide; refresh -f;") + nexConnectSlide`); + $drSlideField = dR_addModeBtn(`floatField -ann "Connect Slide Field" -cc "nexCtx -e -mv connect slide #1" -step 0.01 -pre 2 -v 0.5 -min 0.01 -max 0.99 -height 22 -width 43`); + + $drSegRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Segments" + -on1 ("nexOpt -e connectCurLmbMap segments; refresh -f;") + -shareCollection $drSlideRB + nexConnectSegments`); + + $drConnSegField = dR_addModeBtn(`intField -ann "Connect Segments Field" -cc "nexCtx -e -mv connect segments #1" -step 1 -v 1 -min 1 -max 50 -height 22 -width 43`); + + $drPinchRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Pinch" + -on1 ("nexOpt -e connectCurLmbMap pinch; refresh -f;") + -shareCollection $drSlideRB + nexConnectPinch`); + + $drConnPinchField = dR_addModeBtn(`floatField -ann "Connect Pinch Field" -cc "nexCtx -e -mv connect pinch #1" -step 0.01 -pre 2 -v 1 -min -0.99 -max 10.0 -height 22 -width 43`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -e + -attachForm $helpBtn "right" 2 + + -attachForm $drSlideRB "left" 0 + -attachForm $drSlideRB "top" 2 + + -attachControl $drSlideField "left" 10 $drSlideRB + -attachForm $drSlideField "top" 0 + + -attachForm $drSegRadio "left" 0 + -attachControl $drSegRadio "top" 8 $drSlideRB + + -attachOppositeControl $drConnSegField "left" 0 $drSlideField + -attachControl $drConnSegField "top" 0 $drSlideField + + -attachForm $drPinchRadio "left" 0 + -attachControl $drPinchRadio "top" 8 $drSegRadio + + -attachOppositeControl $drConnPinchField "left" 0 $drConnSegField + -attachControl $drConnPinchField "top" 0 $drConnSegField + + -attachControl $resetButton "top" 8 $drConnPinchField + -attachForm $resetButton "left" 20 + + $connectFormLayout; + + formLayout -edit + -attachForm $connectFrame "top" 0 + -attachForm $connectFrame "left" 0 + -attachForm $connectFrame "right" 0 + $drConnectFormLayout; + } + + { + $drBridgeFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $bridgeFrame = `frameLayout -p $drBridgeFormLayout -l "Bridge Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $bridgeFormLayout = `formLayout -p $bridgeFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + $divisionsRB = dR_addModeBtn(`radioButtonGrp + -nrb 1 + -ann "Bridge Divisions Radio" + -l "" + -cw2 1 60 + -l1 "Divisions" + -on1 ("nexOpt -e bridgeCurLmbMap divisions; refresh -f;") + nexBridgeDivisions`); + $divisionsField = dR_addModeBtn(`intField -ann "Bridge Divisions Field" -cc "nexCtx -e -mv bridge divisions #1" -step 1 -v 1 -min 0 -max 25 -height 22 -width 43`); + + $taperRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Taper" + -on1 ("nexOpt -e bridgeCurLmbMap taper; refresh -f;") + -shareCollection $divisionsRB + nexBridgeTaper`); + $taperField = dR_addModeBtn(`floatField -ann "Bridge Taper Field" -cc "nexCtx -e -mv bridge taper #1" -step 0.01 -pre 2 -v 1 -min 0 -max 15 -height 22 -width 43`); + + $twistRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Twist" + -on1 ("nexOpt -e bridgeCurLmbMap twist; refresh -f;") + -shareCollection $divisionsRB + nexBridgeTwist`); + $twistField = dR_addModeBtn(`floatField -ann "Bridge Twist Field" -cc "nexCtx -e -mv bridge twist #1" -step 0.01 -pre 2 -v 1 -min -180 -max 180 -height 22 -width 43`); + + $offsetRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Offset" + -on1 ("nexOpt -e bridgeCurLmbMap offset; refresh -f;") + -shareCollection $divisionsRB + nexBridgeOffset`); + $offsetField = dR_addModeBtn(`intField -ann "Bridge Offset Field" -cc "nexCtx -e -mv bridge offset #1" -step 1 -v 1 -min 0 -max 10 -height 22 -width 43`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -e + -attachForm $helpBtn "right" 2 + + -attachForm $divisionsRB "left" 0 + -attachForm $divisionsRB "top" 2 + -attachControl $divisionsField "left" 10 $divisionsRB + -attachForm $divisionsField "top" 0 + + -attachForm $taperRadio "left" 0 + -attachControl $taperRadio "top" 8 $divisionsRB + -attachOppositeControl $taperField "left" 0 $divisionsField + -attachControl $taperField "top" 0 $divisionsField + + -attachForm $twistRadio "left" 0 + -attachControl $twistRadio "top" 8 $taperRadio + -attachOppositeControl $twistField "left" 0 $taperField + -attachControl $twistField "top" 0 $taperField + + -attachForm $offsetRadio "left" 0 + -attachControl $offsetRadio "top" 8 $twistRadio + -attachOppositeControl $offsetField "left" 0 $twistField + -attachControl $offsetField "top" 0 $twistField + + -attachControl $resetButton "top" 8 $offsetField + -attachForm $resetButton "left" 20 + + $bridgeFormLayout; + + formLayout -edit + -attachForm $bridgeFrame "top" 0 + -attachForm $bridgeFrame "left" 0 + -attachForm $bridgeFrame "right" 0 + $drBridgeFormLayout; + } + + { + $drVertExtrudeFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $vertExtrudeFrame = `frameLayout -p $drVertExtrudeFormLayout -l "Vertex Extrude Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $vertExtrudeFormLayout = `formLayout -p $vertExtrudeFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + $divisionsRB = dR_addModeBtn(`radioButtonGrp + -nrb 1 + -ann "Vertex Extrude Divisions Radio" + -l "" + -cw2 1 60 + -l1 "Divisions" + -on1 ("nexOpt -e extrudeVertexCurLmbMap divisions; refresh -f;") + nexVertExtrudeDivisions`); + $divisionsField = dR_addModeBtn(`intField -ann "VertExtrude Divisions Field" -cc "nexCtx -e -mv vertExtrude divisions #1" -step 1 -v 1 -min 0 -max 10 -height 22 -width 43`); + + $widthRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Width" + -on1 ("nexOpt -e extrudeVertexCurLmbMap width; refresh -f;") + -shareCollection $divisionsRB + nexVertExtrudeWidth`); + $widthField = dR_addModeBtn(`floatField -ann "VertExtrude Width Field" -cc "nexCtx -e -mv vertExtrude width #1" -step 0.01 -pre 2 -v 1 -min 0 -max 15 -height 22 -width 43`); + + $heightRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Height" + -on1 ("nexOpt -e extrudeVertexCurLmbMap length; refresh -f;") + -shareCollection $divisionsRB + nexVertExtrudeHeight`); + $heightField = dR_addModeBtn(`floatField -ann "VertExtrude Height Field" -cc "nexCtx -e -mv vertExtrude height #1" -step 0.01 -pre 2 -v 1 -min 0 -max 15 -height 22 -width 43`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -e + -attachForm $helpBtn "right" 2 + + -attachForm $divisionsRB "left" 0 + -attachForm $divisionsRB "top" 2 + -attachControl $divisionsField "left" 10 $divisionsRB + -attachForm $divisionsField "top" 0 + + -attachForm $widthRadio "left" 0 + -attachControl $widthRadio "top" 8 $divisionsRB + -attachOppositeControl $widthField "left" 0 $divisionsField + -attachControl $widthField "top" 0 $divisionsField + + -attachForm $heightRadio "left" 0 + -attachControl $heightRadio "top" 8 $widthRadio + -attachOppositeControl $heightField "left" 0 $widthField + -attachControl $heightField "top" 0 $widthField + + -attachControl $resetButton "top" 8 $heightField + -attachForm $resetButton "left" 20 + + $vertExtrudeFormLayout; + + formLayout -edit + -attachForm $vertExtrudeFrame "top" 0 + -attachForm $vertExtrudeFrame "left" 0 + -attachForm $vertExtrudeFrame "right" 0 + $drVertExtrudeFormLayout; + } + + { + $drVertChamferFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $vertChamferFrame = `frameLayout -p $drVertChamferFormLayout -l "Vertex Chamfer Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $vertChamferFormLayout = `formLayout -p $vertChamferFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + $widthRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -ann "Vertex Extrude Divisions Radio" + -l "" + -cw2 1 60 + -l1 "Width" + -on1 ("nexOpt -e extrudeVertexCurLmbMap width; refresh -f;") + nexVertExtrudeWidth`); + $widthField = dR_addModeBtn(`floatField -ann "VertExtrude Width Field" -cc "nexCtx -e -mv vertExtrude width #1" -step 0.01 -pre 2 -v 1 -min 0 -max 15 -height 22 -width 43`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -e + -attachForm $helpBtn "right" 2 + + -attachForm $widthRadio "left" 0 + -attachForm $widthRadio "top" 2 + -attachControl $widthField "left" 10 $widthRadio + -attachForm $widthField "top" 0 + + -attachControl $resetButton "top" 8 $widthField + -attachForm $resetButton "left" 20 + + $vertChamferFormLayout; + + formLayout -edit + -attachForm $vertChamferFrame "top" 0 + -attachForm $vertChamferFrame "left" 0 + -attachForm $vertChamferFrame "right" 0 + $drVertChamferFormLayout; + } + + { + $drFaceExtrudeFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $faceExtrudeFrame = `frameLayout -p $drFaceExtrudeFormLayout -l "Face Extrude Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $faceExtrudeFormLayout = `formLayout -p $faceExtrudeFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + $divisionsRB = dR_addModeBtn(`radioButtonGrp + -nrb 1 + -ann "Face Extrude Divisions Radio" + -l "" + -cw2 1 60 + -l1 "Divisions" + -on1 ("nexOpt -e extrudeFaceCurLmbMap divisions; refresh -f;") + nexFaceExtrudeDivisions`); + $divisionsField = dR_addModeBtn(`intField -ann "Face Extrude Divisions Field" -cc "nexCtx -e -mv faceextrude divisions #1" -step 1 -v 1 -min 0 -max 50 -height 22 -width 43`); + + $localzRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Local Z" + -on1 ("nexOpt -e extrudeFaceCurLmbMap localz; refresh -f;") + -shareCollection $divisionsRB + nexFaceExtrudeLocalZ`); + $localzField = dR_addModeBtn(`floatField -ann "Face Extrude Local Z Field" -cc "nexCtx -e -mv faceextrude localz #1" -step 0.01 -pre 2 -v 1 -height 22 -width 43`); + + $offsetRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Offset" + -on1 ("nexOpt -e extrudeFaceCurLmbMap offset; refresh -f;") + -shareCollection $divisionsRB + nexFaceExtrudeOffset`); + $offsetField = dR_addModeBtn(`floatField -ann "Face Extrude Offset Field" -cc "nexCtx -e -mv faceextrude offset #1" -step 0.01 -pre 2 -v 1 -height 22 -width 43`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -e + -attachForm $helpBtn "right" 2 + + -attachForm $divisionsRB "left" 0 + -attachForm $divisionsRB "top" 2 + -attachControl $divisionsField "left" 10 $divisionsRB + -attachForm $divisionsField "top" 0 + + -attachForm $localzRadio "left" 0 + -attachControl $localzRadio "top" 8 $divisionsRB + -attachOppositeControl $localzField "left" 0 $divisionsField + -attachControl $localzField "top" 0 $divisionsField + + -attachForm $offsetRadio "left" 0 + -attachControl $offsetRadio "top" 8 $localzRadio + -attachOppositeControl $offsetField "left" 0 $localzField + -attachControl $offsetField "top" 0 $localzField + + -attachControl $resetButton "top" 8 $offsetField + -attachForm $resetButton "left" 20 + + $faceExtrudeFormLayout; + + formLayout -edit + -attachForm $faceExtrudeFrame "top" 0 + -attachForm $faceExtrudeFrame "left" 0 + -attachForm $faceExtrudeFrame "right" 0 + $drFaceExtrudeFormLayout; + } + + { + $drBevelFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $bevelFrame = `frameLayout -p $drBevelFormLayout -l "Bevel Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $bevelFormLayout = `formLayout -p $bevelFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + $divisionsRB = dR_addModeBtn(`radioButtonGrp + -nrb 1 + -ann "Bevel Divisions Radio" + -l "" + -cw2 1 60 + -l1 "Segments" + -on1 ("nexOpt -e polyBevelCurLmbMap segments; refresh -f;") + nexBevelDivisions`); + $divisionsField = dR_addModeBtn(`intField -ann "Bevel Divisions Field" -cc "nexCtx -e -mv bevel divisions #1" -step 1 -v 1 -min 1 -max 100 -height 22 -width 43`); + + $offsetRadio = dR_addModeBtn(`radioButtonGrp -nrb 1 + -l "" + -cw2 1 60 + -l1 "Offset" + -on1 ("nexOpt -e polyBevelCurLmbMap offset; refresh -f;") + -shareCollection $divisionsRB + nexBevelOffset`); + $offsetField = dR_addModeBtn(`floatField -ann "Bevel Offset Field" -cc "nexCtx -e -mv bevel offset #1" -step 0.01 -pre 2 -v 1 -height 22 -width 43`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -e + -attachForm $helpBtn "right" 2 + + -attachForm $divisionsRB "left" 0 + -attachForm $divisionsRB "top" 2 + -attachControl $divisionsField "left" 10 $divisionsRB + -attachForm $divisionsField "top" 0 + + -attachForm $offsetRadio "left" 0 + -attachControl $offsetRadio "top" 8 $divisionsRB + -attachOppositeControl $offsetField "left" 0 $divisionsField + -attachControl $offsetField "top" 0 $divisionsField + + -attachControl $resetButton "top" 8 $offsetField + -attachForm $resetButton "left" 20 + + $bevelFormLayout; + + + formLayout -edit + -attachForm $bevelFrame "top" 0 + -attachForm $bevelFrame "left" 0 + -attachForm $bevelFrame "right" 0 + $drBevelFormLayout; + } + + { + $drCutFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $cutFrame = `frameLayout -p $drCutFormLayout -l "Multi-Cut Options" -bs "etchedIn" -mw 0 -mh 4 -cll true`; + string $cutFormLayout = `formLayout -p $cutFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + $offsetLabel = dR_addModeBtn(`text -label "Snap %"`); + $snapAngle = `nexOpt -q cutSnapAngle`; + $offsetField = dR_addModeBtn(`intField -ann "Snap %" -dc "nexOpt -e cutSnapAngle #1" -cc "nexOpt -e cutSnapAngle #1" -step 1 -v $snapAngle -height 22 -width 43 -min 1 -max 90`); + + $smoothingLabel = dR_addModeBtn(`text -label "Smoothing Angle"`); + $smoothingAngle = `nexOpt -q cutSmoothingAngle`; + $smoothingField = dR_addModeBtn(`intField -ann "Smoothing Angle" -dc "nexOpt -e cutSmoothingAngle #1" -cc "nexOpt -e cutSmoothingAngle #1" -step 1 -v $smoothingAngle -height 22 -width 43 -min 0 -max 360`); + + $resetButton = `button -label "Reset Settings" -c "nexCtx -resetManip; dR_updateCommandPanel;"`; + + formLayout -edit + -attachForm $helpBtn "right" 2 + + -attachForm $offsetLabel "left" 6 + -attachForm $offsetLabel "top" 6 + + -attachControl $offsetField "left" 50 $offsetLabel + -attachForm $offsetField "top" 2 + + -attachForm $smoothingLabel "left" 6 + -attachControl $smoothingLabel "top" 6 $offsetField + + -attachOppositeControl $smoothingField "left" 0 $offsetField + -attachControl $smoothingField "top" 0 $offsetField + + -attachControl $resetButton "top" 12 $smoothingLabel + -attachForm $resetButton "left" 40 + + $cutFormLayout; + + formLayout -edit + + -attachForm $cutFrame "top" 0 + -attachForm $cutFrame "left" 0 + -attachForm $cutFrame "right" 0 + + $drCutFormLayout; + } + + string $drTFormLayout = `formLayout -m 0 -p $drOptionPanel`; + string $transformFrame = `frameLayout -p $drTFormLayout -l "Transform Options" -bs "etchedIn" -width 170 -mw 0 -mh 4 -cll true`; + string $transFormLayout = `formLayout -p $transformFrame`; + + string $clickDragChk = dR_addModeBtn(`checkBox -ann "Tweak" -l "Tweak" -h 24 -cc "nexOpt -e -s useClickDrag #1;"`); + + string $xyzAxis = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/xyzOff.xpm" + -si "nex/xyzOn.xpm" + -c ("dR_setActiveAxis " + $nexHandleXYZ) + -ann "XYZ Axis" + -mh 0 + -mw 0 + -width 10 -height 58 -p $transFormLayout`); + + string $xAxis = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/xOff.xpm" + -si "nex/xOn.xpm" + -c ("dR_setActiveAxis " + $nexHandleX) + -ann "X Axis" + -mh 0 + -mw 0 + -width 22 -height 20 -p $transFormLayout`); + + string $yAxis = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/yOff.xpm" + -si "nex/yOn.xpm" + -ann "Y Axis" + -c ("dR_setActiveAxis " + $nexHandleY) + -mh 0 + -mw 0 + -width 22 -height 20 -p $transFormLayout`); + + string $zAxis = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/zOff.xpm" + -si "nex/zOn.xpm" + -ann "Z Axis" + -c ("dR_setActiveAxis " + $nexHandleZ) + -mh 0 + -mw 0 + -width 22 -height 20 -p $transFormLayout`); + + string $slideChk = dR_addModeBtn(`checkBox -ann "Slide" -l "Slide:" -h 24 -w 46 -cc "nexOpt -e -s slide #1;"`); + + string $nexSlideFrame = `formLayout -p $transFormLayout`; + string $slideBtn = `iconTextButton + -w 17 -h 26 + -ann "Set the Slide surface" + -image "popupMenuIcon.xpm" + -p $nexSlideFrame`; + + global string $nexSlideText; + $nexSlideText = `textField + -ed false + -width 75 + -height 25 + -p $nexSlideFrame + -tx "Edge" + -ann "slideTextField"`; + + global string $nexSlideName; + $nexSlideName = `nameField + -visible false + -width 1 + -nameChangeCommand ("dR_updateSlideField") + -p $nexSlideFrame`; + + string $menu = `popupMenu -b 1 -p $nexSlideFrame`; + menu -e -pmc ("dR_buildSlideMenu " + $menu) $menu; + + // Layout the above form + formLayout -e + -attachForm $slideBtn left 4 + -attachNone $slideBtn right + -attachForm $slideBtn bottom 0 + -attachNone $slideBtn top + + -attachNone $nexSlideText top + -attachControl $nexSlideText left 0 $slideBtn + -attachForm $nexSlideText bottom 0 + -attachNone $nexSlideText right + + $nexSlideFrame; + + string $xField = dR_addModeBtn(`floatField -ann "X Field" -dc "" -cc "dR_transformFloat x #1" -step 0.01 -pre 2 -v 1 -height 22 -width 43 -p $transFormLayout`); + string $yField = dR_addModeBtn(`floatField -ann "Y Field" -dc "" -cc "dR_transformFloat y #1" -step 0.01 -pre 2 -v 1 -height 22 -width 43 -p $transFormLayout`); + string $zField = dR_addModeBtn(`floatField -ann "Z Field" -dc "" -cc "dR_transformFloat z #1" -step 0.01 -pre 2 -v 1 -height 22 -width 43 -p $transFormLayout`); + + global string $nexManipCoordSpace; + $nexManipCoordSpace = dR_addModeBtn(`optionMenu -ann "manipCoordSpaceDrop" -label "" -p $transFormLayout -cc "nexOpt -e manipCoordSpace `tolower #1`; dR_updateCommandPanel();"`); + menuItem -label "World"; + menuItem -label "Object"; + menuItem -label "Local"; + menuItem -label "Custom"; + + string $pivotBtn = dR_addModeBtn(`iconTextButton + -st "iconOnly" + -i "nex/adjustPivotOff.xpm" + -si "nex/adjustPivotOn.xpm" + -ann "pivotBtn" + -c "nexOpt -e manipType pivot; dR_updateCommandPanel();" + -mh 0 + -mw 0 + -width 144 -height 22 -p $transFormLayout`); + + string $locksFrame = `frameLayout -p $transFormLayout -l "Vertex Locking" -bs "etchedIn" -mw 6 -mh 4 -cll true`; + string $locksFormLayout = `formLayout -p $locksFrame`; + string $lockSelBtn = dR_addModeBtn(`button -ann "lockSelBtn" -l "Lock Selected" -c "nexCtx -ls; dR_updateCommandPanel();" -rs false -height 18 -p $locksFormLayout`); + string $selLockedBtn = dR_addModeBtn(`button -ann "selLockedBtn" -l "Select Locked" -c "nexCtx -sl; dR_updateCommandPanel();" -rs false -height 18 -p $locksFormLayout`); + string $unlockAllBtn = dR_addModeBtn(`button -ann "unlockAllBtn" -l "Unlock All" -c "nexCtx -ua; dR_updateCommandPanel();" -rs false -height 18 -p $locksFormLayout`); + frameLayout -e -cl true $locksFrame; + + formLayout -e + -attachForm $lockSelBtn "left" 0 + -attachForm $lockSelBtn "top" 2 + -attachForm $lockSelBtn "right" 0 + + -attachForm $selLockedBtn "left" 0 + -attachForm $selLockedBtn "right" 0 + -attachControl $selLockedBtn "top" 4 $lockSelBtn + + -attachForm $unlockAllBtn "left" 0 + -attachForm $unlockAllBtn "right" 0 + -attachControl $unlockAllBtn "top" 4 $selLockedBtn + + $locksFormLayout; + + string $softSel = buildSSPanel($transFormLayout); + + formLayout -e + -attachForm $clickDragChk "top" 6 + -attachForm $clickDragChk "left" 12 + + -attachControl $xyzAxis "left" 6 $nexManipCoordSpace + -attachForm $xyzAxis "top" 3 + + -attachForm $xAxis "top" 1 + -attachControl $xAxis "left" 0 $xyzAxis + + -attachForm $xField "top" 0 + -attachControl $xField "left" 0 $xAxis + + -attachControl $yAxis "top" 1 $xAxis + -attachControl $yAxis "left" 0 $xyzAxis + + -attachControl $yField "top" 0 $xAxis + -attachControl $yField "left" 0 $yAxis + + -attachControl $zAxis "top" 1 $yAxis + -attachControl $zAxis "left" 0 $xyzAxis + + -attachControl $zField "top" 0 $yAxis + -attachControl $zField "left" 0 $zAxis + + -attachForm $pivotBtn "left" 8 + -attachControl $pivotBtn "top" 6 $zField + + -attachForm $nexManipCoordSpace "left" 8 + -attachControl $nexManipCoordSpace "top" 4 $clickDragChk + -attachForm $nexManipCoordSpace "top" 1 + + -attachForm $slideChk "left" 12 + -attachControl $slideChk "top" 4 $pivotBtn + + -attachControl $nexSlideFrame "left" 0 $slideChk + -attachControl $nexSlideFrame "top" 4 $pivotBtn + + -attachForm $locksFrame "left" 0 + -attachForm $locksFrame "right" 0 + -attachControl $locksFrame "top" 6 $nexSlideFrame + + -attachControl $softSel "top" 4 $locksFrame + -attachForm $softSel "left" 0 + -attachForm $softSel "right" 0 + + $transFormLayout; + + $drQuaDrawPanel = `formLayout -m 0 -p $drOptionPanel`; + string $quaDrawFrame = `frameLayout -lv true -l "Quad Draw Options" -cll true -bv true -bs "etchedIn" -mh 2 -mw 0 -p $drQuaDrawPanel`; + //frameLayout -e -cc ("frameLayout -e -l \"Quad Draw Options\" " + $quaDrawFrame) -ec ("frameLayout -e -l \" \" " + $quaDrawFrame) $quaDrawFrame; + string $quaDrawForm = `formLayout -p $quaDrawFrame`; + $helpBtn = `button -l "?" -c "dR_ctxHelp"`; + + global string $nexRefFrame; + $nexRefFrame = `formLayout -p $quaDrawForm`; + + string $nexPickRefSurface = `iconTextButton + -w 17 -h 26 + -ann "Set the Quad Draw reference surface" + -image "popupMenuIcon.xpm" + -p $nexRefFrame`; + + global string $nexRefSurfaceText; + $nexRefSurfaceText = `textField + -ed false + -width 126 + -height 25 + -p $nexRefFrame + -tx "Grid" + -ann "Set the Quad Draw reference surface"`; + + global string $nexRefSurfaceName; + $nexRefSurfaceName = `nameField + -visible false + -width 1 + -nameChangeCommand ("dR_updateRefMeshField") + -p $nexRefFrame`; + + string $menu = `popupMenu -b 1 -p $nexRefFrame`; + menu -e -pmc ("dR_buildRefMeshMenu " + $menu) $menu; + + //string $shrinkWrapBtn = dR_addModeBtn(`button -ann "Shrink Wrap" -l "Shrink Wrap" -en false -c "nexCtx -qsr;" -rs false -height 18 -p $quaDrawForm`); + + formLayout -edit + -attachNone $quaDrawFrame "top" + -attachForm $quaDrawFrame "left" 0 + -attachForm $quaDrawFrame "right" 0 + $drQuaDrawPanel; + + formLayout -edit + -attachForm $helpBtn "right" 2 + + -attachNone $nexRefFrame "top" + -attachForm $nexRefFrame "left" 0 + //-attachForm $nexRefFrame "right" 0 + //-attachControl $nexRefFrame "bottom" 3 $shrinkWrapBtn + + /* + -attachNone $shrinkWrapBtn "top" + -attachForm $shrinkWrapBtn "left" 4 + -attachForm $shrinkWrapBtn "right" 4 + -attachForm $shrinkWrapBtn "bottom" 2 + */ + + $quaDrawForm; + + formLayout -edit + -attachForm $transformFrame "top" 0 + -attachForm $transformFrame "left" 0 + -attachForm $transformFrame "right" 0 + $drTFormLayout; + + formLayout -edit + -attachForm $drTFormLayout "top" 0 + -attachForm $drTFormLayout "left" 0 + -attachForm $drTFormLayout "right" 0 + + -attachForm $drQuaDrawPanel "top" 0 + -attachForm $drQuaDrawPanel "left" 0 + -attachForm $drQuaDrawPanel "right" 0 + + -attachForm $drConnectFormLayout "top" 0 + -attachForm $drConnectFormLayout "left" 0 + -attachForm $drConnectFormLayout "right" 0 + + -attachForm $drBridgeFormLayout "top" 0 + -attachForm $drBridgeFormLayout "left" 0 + -attachForm $drBridgeFormLayout "right" 0 + + -attachForm $drVertExtrudeFormLayout "top" 0 + -attachForm $drVertExtrudeFormLayout "left" 0 + -attachForm $drVertExtrudeFormLayout "right" 0 + + -attachForm $drVertChamferFormLayout "top" 0 + -attachForm $drVertChamferFormLayout "left" 0 + -attachForm $drVertChamferFormLayout "right" 0 + + -attachForm $drFaceExtrudeFormLayout "top" 0 + -attachForm $drFaceExtrudeFormLayout "left" 0 + -attachForm $drFaceExtrudeFormLayout "right" 0 + + -attachForm $drBevelFormLayout "top" 0 + -attachForm $drBevelFormLayout "left" 0 + -attachForm $drBevelFormLayout "right" 0 + + -attachForm $drCutFormLayout "top" 0 + -attachForm $drCutFormLayout "left" 0 + -attachForm $drCutFormLayout "right" 0 + + $drOptionPanel; + + // Layout the above form + formLayout -e + -attachForm $nexPickRefSurface left 4 + -attachNone $nexPickRefSurface right + -attachForm $nexPickRefSurface bottom 0 + -attachNone $nexPickRefSurface top + + -attachNone $nexRefSurfaceText top + -attachControl $nexRefSurfaceText left 0 $nexPickRefSurface + -attachForm $nexRefSurfaceText bottom 0 + -attachNone $nexRefSurfaceText right + + -attachNone $nexRefSurfaceName top + -attachControl $nexRefSurfaceName left 0 $nexRefSurfaceText + -attachForm $nexRefSurfaceName bottom 0 + -attachForm $nexRefSurfaceName right 0 + + $nexRefFrame; + + global string $nexVertexLabel, $nexEdgeLabel, $nexFaceLabel, $nexUVLabel; + $nexVertexLabel = `text -rs false -height 14 -label "0" -align "center" -p $gDRTopPane`; + $nexEdgeLabel = `text -rs false -height 14 -label "0" -align "center" -p $gDRTopPane`; + $nexFaceLabel = `text -rs false -height 14 -label "0" -align "center" -p $gDRTopPane`; + $nexUVLabel = `text -rs false -height 14 -label "0" -align "center" -p $gDRTopPane`; + + formLayout -edit + -attachForm $gdRCompBtns[0] "top" 10 + -attachForm $gdRCompBtns[0] "left" 0 + -attachForm $gdRCompBtns[0] "right" 0 + + -attachControl $gdRCompBtns[1] "top" 0 $gdRCompBtns[0] + -attachForm $gdRCompBtns[1] "left" 5 + -attachNone $gdRCompBtns[1] "right" + + -attachControl $gdRCompBtns[2] "top" 0 $gdRCompBtns[0] + -attachControl $gdRCompBtns[2] "left" 0 $gdRCompBtns[1] + -attachNone $gdRCompBtns[2] "right" + + -attachControl $nexVertexLabel "top" 2 $gdRCompBtns[1] + -attachControl $nexVertexLabel "left" 0 $gdRCompBtns[1] + -attachControl $nexVertexLabel "right" 0 $gdRCompBtns[3] + + -attachControl $gdRCompBtns[3] "top" 0 $gdRCompBtns[0] + -attachControl $gdRCompBtns[3] "left" 0 $gdRCompBtns[2] + -attachNone $gdRCompBtns[3] "right" + + -attachControl $nexEdgeLabel "top" 2 $gdRCompBtns[1] + -attachControl $nexEdgeLabel "left" 0 $gdRCompBtns[2] + -attachControl $nexEdgeLabel "right" 0 $gdRCompBtns[4] + + -attachControl $gdRCompBtns[4] "top" 0 $gdRCompBtns[0] + -attachControl $gdRCompBtns[4] "left" 0 $gdRCompBtns[3] + -attachNone $gdRCompBtns[4] "right" + + -attachControl $nexFaceLabel "top" 2 $gdRCompBtns[1] + -attachControl $nexFaceLabel "left" 0 $gdRCompBtns[3] + -attachControl $nexFaceLabel "right" 0 $gdRCompBtns[5] + + -attachControl $gdRCompBtns[5] "top" 0 $gdRCompBtns[0] + -attachControl $gdRCompBtns[5] "left" 0 $gdRCompBtns[4] + -attachForm $gdRCompBtns[5] "right" 0 + + -attachControl $nexUVLabel "top" 2 $gdRCompBtns[1] + -attachControl $nexUVLabel "left" 0 $gdRCompBtns[4] + -attachForm $nexUVLabel "right" 0 + -attachNone $nexUVLabel "bottom" + + -attachNone $drOptionPanel "top" + -attachForm $drOptionPanel "left" 0 + -attachForm $drOptionPanel "right" 0 + -attachForm $drOptionPanel "bottom" 0 + + -attachControl $gdRpanel "top" 2 $nexUVLabel + -attachForm $gdRpanel "left" 0 + -attachForm $gdRpanel "right" 0 + -attachControl $gdRpanel "bottom" 0 $drOptionPanel + + $gDRTopPane; + } + + dR_updateCommandPanel; + } + + global proc nexToggleStatusLine() + { + global string $gStatusLine; + global string $gNexStatusIntegration; + global string $gNexCollapse; + + string $renderGlobalsButton = ($gStatusLine + "|" + "renderGlobalsButton"); + string $inputFieldCollapse = ($gStatusLine + "|" + "inputFieldCollapse"); + + int $isVisible = (!`iconTextCheckBox -q -m $gNexStatusIntegration`); + if($isVisible) { + iconTextCheckBox -edit -manage true $gNexStatusIntegration; + formLayout -e + -ac $inputFieldCollapse left 2 $gNexStatusIntegration + $gStatusLine; + iconTextButton -edit -i1 openBar.xpm $gNexCollapse; + } else { + iconTextCheckBox -edit -manage false $gNexStatusIntegration; + formLayout -e + -ac $inputFieldCollapse left 2 $gNexCollapse + $gStatusLine; + iconTextButton -edit -i1 closeBar.xpm $gNexCollapse; + } + } + + global proc nexUpdateStatusLineRender(int $renderIsVisible) { + global string $gStatusLine; + global string $gNexStatusIntegration; + global string $gNexCollapse; + + int $isNexVisible = `iconTextCheckBox -q -m $gNexStatusIntegration`; + if($isNexVisible) { + formLayout -e + -ac inputFieldCollapse left 2 $gNexStatusIntegration + $gStatusLine; + + } else { + formLayout -e + -ac inputFieldCollapse left 2 $gNexCollapse + $gStatusLine; + } + + if($renderIsVisible) { + formLayout -e + -ac $gNexCollapse left 2 renderGlobalsButton + $gStatusLine; + } else { + formLayout -e + -ac $gNexCollapse left 2 renderCollapse + $gStatusLine; + } + } + + global proc dR_init() { + if(!`contextInfo -q -ex nexCtx1`) { + nexManipContext nexCtx1; + } + + global string $gStatusLine, $gWorkAreaForm, $gStatusLineForm; + global string $gNexStatusIntegration; + global string $gdRpanel; + global int $dRCmdPanelWidth; + global string $gdRpanel; + global string $nexRefreshCmd; + global string $dRModeBtns[]; + global string $gAttributeEditorForm; + global string $gMainPane; + global string $gdRPanes; + global string $gDRTopPane; + global string $gDRBottomPane; + global int $dRCompBtnCount; + global string $gdRCompBtns_Cmds[], $gdRCompBtns_Ann[], $gdRCompBtns_UpImages[], $gdRCompBtns_DownImages[], $gdRCompBtns_Names[], $gdRCompBtns[], $gdRCompBtns_DownImages[], $gdRCompBtns_MultiImages[]; + + $dRCompBtnCount = 6; + $dRCmdPanelWidth = 174; + $nexRefreshCmd = "if(`nexOpt -q refreshActiveOnly`) { refresh -cv; } else { refresh; }"; + $gdRCompBtns_Names = { "multi", "object", "vertex", "edge", "face", "uv" }; + $gdRCompBtns_UpImages = { "nex/multiLabelOff.xpm", "nex/objectOff.xpm", "nex/vertexOff.xpm", "nex/edgeOff.xpm", "nex/polygonOff.xpm", "nex/uvOff.xpm" }; + $gdRCompBtns_DownImages = { "nex/multiLabelOn.xpm", "nex/objectOn.xpm", "nex/vertexOn.xpm", "nex/edgeOn.xpm", "nex/polygonOn.xpm", "nex/uvOn.xpm" }; + $gdRCompBtns_MultiImages = { "nex/multiLabelOn.xpm", "nex/objectOff.xpm", "nex/multiVertex.xpm", "nex/multiEdge.xpm", "nex/multiPolygon.xpm", "nex/uvOff.xpm" }; + $gdRCompBtns_Ann = { "Multi", "Object", "Vertex", "Edge", "Polygon", "UV" }; + $gdRCompBtns_Cmds = { "dR_toggleSelectionMode(\"multi\", 0, 1)", "dR_toggleSelectionMode(\"object\", 0, 1);", "if(dR_toggleSelectionMode(\"vertex\", `dR_isCtrlHeld`, 1)) { nexCtx -res vertex; }", "if(dR_toggleSelectionMode(\"edge\", `dR_isCtrlHeld`, 1)) { nexCtx -res edge; }", "if(dR_toggleSelectionMode(\"face\", `dR_isCtrlHeld`, 1)) { nexCtx -res face; }", "if(dR_toggleSelectionMode(\"uv\", `dR_isCtrlHeld`, 1)) { nexCtx -res uv; }" }; + + global int $nexHandleX, $nexHandleY, $nexHandleZ, $nexHandleXY, $nexHandleYZ, $nexHandleXZ, $nexHandleXYZ; + $nexHandleX=1; + $nexHandleY=2; + $nexHandleZ=3; + $nexHandleXY=4; + $nexHandleYZ=5; + $nexHandleXZ=6; + $nexHandleXYZ=7; + + if($gNexStatusIntegration == "") { + setParent $gStatusLine; + + $gNexStatusIntegration = `iconTextCheckBox + -p $gStatusLine + -i1 "nex/nexStatusOff.xpm" + -w 26 -h 26 + -cc "nexOpt -s -e useNexOnSelModeChange #1; if(#1) { dR_nexTool; } else { dR_exitNex; } DRPrefsUpdate;" + -annotation "Toggle NEX integration"`; + + global string $gNexCollapse; + $gNexCollapse = `iconTextButton + -p $gStatusLine + -vis true -h 27 -w 9 + -annotation ("Show/hide the NEX icons") + -i1 "openBar.xpm" + -c ("nexToggleStatusLine")`; + + string $renderGlobalsButton = ($gStatusLine + "|" + "renderGlobalsButton"); + string $inputFieldCollapse = ($gStatusLine + "|" + "inputFieldCollapse"); + + formLayout -e + -attachForm $gNexCollapse top 1 + -attachControl $gNexCollapse left 2 $renderGlobalsButton + -attachNone $gNexCollapse bottom + -attachNone $gNexCollapse right + + -attachForm $gNexStatusIntegration top 1 + -attachControl $gNexStatusIntegration left 2 $gNexCollapse + -attachNone $gNexStatusIntegration bottom + -attachNone $gNexStatusIntegration right + + -attachControl $inputFieldCollapse left 2 $gNexStatusIntegration + + $gStatusLine; + + nexUpdateStatusLine(); + } + + + dR_brushResizeKeysCB; + + modProc("/scripts/startup/statusLine.mel", "changeSelectMode", "if(`exists dR_selTypeChanged` && $mode == \"-object\") { dR_selTypeChanged; dR_exitNex; }\n", "start"); + modProc("/scripts/startup/statusLine.mel", "toggleRenderIcons", "if(`exists nexUpdateStatusLineRender`) { nexUpdateStatusLineRender($state); }\n", "end"); + modProc("/scripts/others/buildObjectMenuItemsNow.mel", "buildObjectMenuItemsNow", "if(`exists dR_buildRightMM` && dR_buildRightMM($parentName)) return; \n", "start"); + modProc("/scripts/others/buildToolOptionsMM.mel", "buildToolOptionsMM", "if(`exists dR_buildRightMM` && dR_buildRightMM($parent)) return; \n", "start"); + //modProc("/scripts/startup/numericalInputChangeCommand.mel", "numericalInputChangeCommand", "if(`currentCtx` == \"nexCtx1\" && `exists dR_numericalInputChangeCommand` && dR_numericalInputChangeCommand($mode)) return; \n", "start"); + modProc("/scripts/others/dagMenuProc.mel", "doMenuComponentSelection", "if(`exists dR_selTypeChanged`) { dR_selTypeChanged; }\n", "start"); + + { + int $alreadyAdded = 0; + string $gotFormPath = ""; + string $gotBtnPath = ""; + string $layouts[] = `layout -q -ca $gStatusLineForm`; + string $addRightOf = "ToggleChannelsLayers"; + + if(size($layouts)) + { + int $i; + for($i=0 ; $i < size($layouts) ; $i++) + { + // Try to make as few assumptions about the configuration of + // these layouts as possible -- some other tools like to add + // things here too. + string $childLayouts[]; + if(`layout -q -nch $layouts[$i]` != 0) { + $childLayouts = `layout -q -ca $layouts[$i]`; + int $j; + for($j=0; $j < size($childLayouts); $j++) + { + string $fullPath = $gStatusLineForm + "|" + $layouts[$i] + "|" + $childLayouts[$j]; + if(objectTypeUI($fullPath) == "formLayout") { + string $childControls[] = `layout -q -ca $fullPath`; + int $controlIdx; + for($controlIdx=0; $controlIdx < size($childControls); $controlIdx++) + { + if(objectTypeUI($childControls[$controlIdx]) == "iconTextButton") { + if(`iconTextButton -q -c $childControls[$controlIdx]` == $addRightOf) { + $gotFormPath = $fullPath; + $gotBtnPath = $fullPath + "|" + $childControls[$controlIdx]; + break; + } + + if(`iconTextButton -q -c $childControls[$controlIdx]` == "dR_ToggleCommandPanel") { + $alreadyAdded = 1; + } + } + } + } + + if($gotBtnPath != "") { + break; + } + } + } + + if($gotBtnPath != "") { + break; + } + } + } + + if($gotFormPath != "" && !$alreadyAdded) { + // Attach the new button + setParent $gotFormPath; + string $nexCmdPanelBtn; + $nexCmdPanelBtn = `iconTextButton + -image1 "nex/dRBox.xpm" + -width 26 -height 26 + -annotation ("Show or hide the NEX Panel") + -c ("dR_ToggleCommandPanel")`; + + formLayout -edit + -attachForm $nexCmdPanelBtn top 1 + -attachControl $nexCmdPanelBtn left 0 $gotBtnPath + -attachNone $nexCmdPanelBtn bottom + -attachNone $nexCmdPanelBtn right + $gotFormPath; + } + } + + { + string $hotboxFileName = (`getenv "MAYA_LOCATION"` + "/scripts/startup/HotboxMenus.mel"); + + // Now begin reading lines from the hotbox file + $hotboxFile=`fopen $hotboxFileName "r"`; + string $nextLine = `fgetline $hotboxFile`; + string $prevLine = ""; + + string $funcStr = ""; + int $foundStart = false; + int $startReading = false; + int $setMenuLine = false; + + while( size( $nextLine ) > 0) { + if(gmatch($nextLine, "*global proc buildHotboxMenus()*")) { + $startReading = true; + } + + if(!$setMenuLine) { + if(gmatch($nextLine, "*if ($filename != \"\") {*")) { + $foundStart = 1; + } else if($foundStart && gmatch($nextLine, "*} else {*")) { + $funcStr += "menu -e -pmc (`menu -q -pmc $theMenu` + \" if(`exists drBuildCustomMenus`) { drBuildCustomMenus(); }\") $theMenu;\n"; + $setMenuLine = true; + } + } + + if($startReading) { + $funcStr += $nextLine; + } + + if($nextLine == "}\n") { + $startReading = false; + } + + $nextLine = `fgetline $hotboxFile`; + } + fclose $hotboxFile; + eval $funcStr; + } + + { + string $uiCompFilename = (`getenv "MAYA_LOCATION"` + "/scripts/startup/UIComponents.mel"); + + // Now begin reading lines from the hotbox file + $uiCompFile=`fopen $uiCompFilename "r"`; + string $nextLine = `fgetline $uiCompFile`; + string $prevLine = ""; + + string $funcStr = ""; + int $foundStart = false; + int $startReading = false; + int $setMenuLine = false; + + while( size( $nextLine ) > 0) { + if(`match "^proc string getCurrentUIComponent\\(.*" $nextLine` != "") { + $startReading = true; + $funcStr += "global " + $nextLine; + } else if($startReading) { + if(gmatch($nextLine, "*break;*")) { + $foundStart = 1; + } else if($foundStart && gmatch($nextLine, "*return $current*")) { + $funcStr += "if($current == \"NEX Panel\") { return \"\"; }\n"; + $setMenuLine = true; + } + + $funcStr += $nextLine; + + if($nextLine == "}\n") { + $startReading = false; + break; + } + } + + $nextLine = `fgetline $uiCompFile`; + } + fclose $uiCompFile; + eval $funcStr; + } + + // Rebuild the menus + DRRebuildMenus; + + dR_matchManipSize; + dR_snapOptionCB; + dR_manipSizeOptionCB; + dR_selTransformKeysCB; + dR_toolEditKeysCB; + + // Ready the right side panel + global string $nexRightPanel; + if($nexRightPanel == "") { + string $attributeEditor = `substitute "|[^|]*|[^|]*$" $gAttributeEditorForm ""`; + string $parentPanel = `formLayout -parent $gWorkAreaForm`; + $nexRightPanel = createUIComponent("Maya Right Component Bar", "NEX Panel", $parentPanel); + formLayout -e -width $dRCmdPanelWidth $nexRightPanel; + formLayout -edit + -attachForm $parentPanel "top" 0 + -attachNone $parentPanel "left" + -attachForm $parentPanel "bottom" 0 + -attachControl $parentPanel "right" 0 $attributeEditor + + -attachControl $gMainPane "right" 0 $parentPanel + + $gWorkAreaForm; + + setParent $parentPanel; + string $popMenu = `popupMenu`; + popupMenu -e -pmc ("nexBuildDockMenu " + $popMenu) $popMenu; + } + + // Ready the left side panel + /* + global string $nexLeftPanel; + if($nexLeftPanel == "") { + global string $gToolboxForm; + + string $toolbox = `substitute "|[^|]*|[^|]*$" $gToolboxForm ""`; + string $parentPanel = `formLayout -parent $gWorkAreaForm`; + $nexLeftPanel = createUIComponent("Maya Left Component Bar", "NEX Left Panel", $parentPanel); + formLayout -e -width $dRCmdPanelWidth $nexLeftPanel; + formLayout -edit + -attachForm $parentPanel "top" 0 + -attachControl $parentPanel "left" 0 $toolbox + -attachForm $parentPanel "bottom" 0 + -attachNone $parentPanel "right" + + -attachControl $gMainPane "left" 0 $parentPanel + + $gWorkAreaForm; + + setParent $parentPanel; + string $popMenu = `popupMenu`; + popupMenu -e -pmc ("nexBuildDockMenu " + $popMenu) $popMenu; + } + */ + + // Ready the float layout + global string $nexFloatWin, $nexFloatForm; + if($nexFloatForm == "") { + $nexFloatWin = `window -retain -tlb true -t "NEX" nexFloatWindow`; + string $pFloatForm = `formLayout -p $nexFloatWin`; + $nexFloatForm = `formLayout -w $dRCmdPanelWidth`; + + formLayout -e + -attachForm $nexFloatForm "bottom" 0 + -attachForm $nexFloatForm "top" 0 + -attachNone $nexFloatForm "right" + -attachForm $nexFloatForm "left" 0 + $pFloatForm; + + string $popMenu = `popupMenu`; + popupMenu -e -pmc ("nexBuildDockMenu " + $popMenu) $popMenu; + window -e -w ($dRCmdPanelWidth+8) -h 800 $nexFloatWin; + } + + if(`nexOpt -q panelDock` == 2) { + nexOpt -e panelDock 1; + } + + nexDockPanel(`nexOpt -q panelDock`); + setViewAxisVisibility true; + } +} diff --git a/2009-x64/dRaster/x86/unins000.dat b/2009-x64/dRaster/x86/unins000.dat new file mode 100644 index 0000000..e5b9358 Binary files /dev/null and b/2009-x64/dRaster/x86/unins000.dat differ diff --git a/2009-x64/dRaster/x86/unins000.exe b/2009-x64/dRaster/x86/unins000.exe new file mode 100644 index 0000000..f1cb541 Binary files /dev/null and b/2009-x64/dRaster/x86/unins000.exe differ diff --git a/2009-x64/libraries/msvcp711.dll b/2009-x64/libraries/msvcp711.dll new file mode 100644 index 0000000..9ed0d17 Binary files /dev/null and b/2009-x64/libraries/msvcp711.dll differ diff --git a/2009-x64/lightMapGen/bin/lightMapGen.exe b/2009-x64/lightMapGen/bin/lightMapGen.exe new file mode 100644 index 0000000..117c40c Binary files /dev/null and b/2009-x64/lightMapGen/bin/lightMapGen.exe differ diff --git a/2009-x64/lightMapGen/doc/Livingroom_01LDR.jpg b/2009-x64/lightMapGen/doc/Livingroom_01LDR.jpg new file mode 100644 index 0000000..7a18928 Binary files /dev/null and b/2009-x64/lightMapGen/doc/Livingroom_01LDR.jpg differ diff --git a/2009-x64/lightMapGen/doc/Livingroom_01_samplingDiag-32-4.jpg b/2009-x64/lightMapGen/doc/Livingroom_01_samplingDiag-32-4.jpg new file mode 100644 index 0000000..ddf57bf Binary files /dev/null and b/2009-x64/lightMapGen/doc/Livingroom_01_samplingDiag-32-4.jpg differ diff --git a/2009-x64/lightMapGen/doc/Livingroom_01_samplingDiag-32.jpg b/2009-x64/lightMapGen/doc/Livingroom_01_samplingDiag-32.jpg new file mode 100644 index 0000000..704479d Binary files /dev/null and b/2009-x64/lightMapGen/doc/Livingroom_01_samplingDiag-32.jpg differ diff --git a/2009-x64/lightMapGen/doc/lightMapGen.html b/2009-x64/lightMapGen/doc/lightMapGen.html new file mode 100644 index 0000000..ae1267e --- /dev/null +++ b/2009-x64/lightMapGen/doc/lightMapGen.html @@ -0,0 +1,226 @@ + + + + Light Map Gen + + + +
+
+

Light Map Gen
+

+
+Jeremy Pronk 2005
+www.happiestdays.com
+
+Version 1.0beta4
+
+

Whats New

+
+1.0beta4
+
    +
  • Increased precision in light map files
  • +
  • Outputs sample solid angle (spherical area) to the light file map +(current only implemented for Median Cut)
    +
  • +
  • New normalize technique, set total light map intensity to 1 (old +technique is called -normalize2)
    +
  • +
  • Runtime speed increased due to new compiler optimizations (Win32 +version)
  • +
  • Linux version (x86)
    +
  • +
+
+1.0beta3
+
    +
  • Added median cut sampling. Based on +ideas in the sketch "A Median Cut Algorithm for Light Probe Sampling" +by Paul Debevec.
  • +
  • Added "resize" parameter.
  • +
  • Added lightMapGen_loader MEL script
  • +
+
+1.0beta2
+
    +
  • Initial release.
  • +
+
+
+

Overview

+
+lightMapGen is a small application designed to find the most +appropriate sample locations in an intensity map.
+
+See quick start.
+
+For specific details on the techniques employed it is essential one +reads the following papers
+
    +
  1. A +Median Cut Algorithm for Light Probe Sampling by Paul Debevec
  2. +
  3. + Efficient illumination by high +dynamic +range images by Thomas Kollig and Alexander Keller. +
  4. +
  5. Interleaved +Sampling by Alexander Keller and Wolfgang Heidrich
  6. +
+
+

Usage

+
+The command line program "lightMapGen" accepts a single high dynamic +range floating-point TIFF image and a number of parameters. The common +use of lightMapGen is to generate a light map from a latlong HDR Tiff +image which can then be used directly by sphericalLight to illuminate +geometry in mental ray.
+
+lightMapGen may also be useful for those interested in utilizing the +light map file in their own light shader. Hopefully the file format is +self explanatory.
+
+See quick start.
+
+
+

Light Map Gen Loader

+lightMapGen_loader is a simple Maya MEL script which will load a +lightMapGen light map as a "dome" of lights. There are simple controls +for all the lights in the transform of the parent locator.
+
+
+

What is Interleaving Sampling?

+Interleaved sampling is an idea which was central to the creation of +lightMapGen. Please see Interleaving Sampling, +Alexander Keller and Wolfgang Heidrich for a thorough explanation.
+
+The basic idea is to render with the same number of light samples but +to choose alternating (light) sample locations actually calculated from +the map itself. This provides for much improved anti-aliasing +particularly in the shadowed (or occluded) parts of the render.
+
+
+
+

Parameters

+
+

Required Arguments

+Input map (-in filename)
+Input intensity map. Must be a valid floating-point +TIFF file.
+
+Sample number (-s N M)
+N is the number of samples to calculate
+M is only used for sampling type 3 & 4 and is the number of +interleave levels for each sample. If M is specified interleaved sample +generation is invoked.
+
+
+

Optional Arguments

+Sampling type (-st sampling-type)
+0 - voronoi tessellation (used for debugging)
+1 - centroidal voronoi tessellation (CVT), similar to technique used in +lightGen
+2 - importance voronoi tessellation, much improved variation on CVT
+3 - interleaved importance voronoi tessellation, as 2 with multiple +interleave levels for each sample
+4 - median cut (default)
+
+Map type (-mt map-type)
+Format of input intensity map.
+0 - flat map
+1 - lat-long or spherical map, must have an aspect ratio of 2:1 +(default)
+2 - test map, for debugging
+
+Resize (-resize amount)
+Resizes the input image amount times before processing. Good for up +sizing small maps when using median cut and for downsizing large maps +we using voronoi style sampling. (defaults to 1.0)
+
+Normalize (-normalize)
+When specified, the samples will be scaled so the total intensity is 1 +(i.e. all samples add up to 1)
+
+Normalize2 (-normalize2)
+When specified, the samples will be scaled so the maximum sample +value is 1.
+
+Write diagnostic images +(-writeDiagImages)
+Writes a TIFF representation of the voronoi tessellation after each +iteration. The results is slightly different depending on which +sampling technique is employed but general each region has a unique +grey level, whilst mass centroids and region generators (samples) are +represented by red and green pixels. The output images are floating +point TIFFs. See example.
+
+Write density (-writeDensity)
+Writes the intensity map of the input image. I.e. the intensity +value(s) used internally in the calculations.
+
+

Voronoi Specific Arguments

+Max centroidal offset (-mo offset)
+Maximum offset (in pixels) allowed for an CVT calculate. Note that the +max centroidal iterations param will override this. Defaults to 2.
+
+Max centroidal iterations (-mi +iterations)
+Maximum number of centroidal iterations allowed. Regardless of the +current mass centroid offset, there will be no more than this number of +iterations. Defaults to 8.
+
+Interleaved iterations (-ii iterations)
+Number of interleaved iterations to perform. Defaults to 3.
+
+Radius of perturbation (-rp offset)
+When inserting new samples, they will be a maximum of offset pixels +from the insertion location. The idea is to keep new samples close to +but not on top of the high intensity region generators. The offset is a +percentage of image size. Defaults to 0.015 (1.5%).
+
+
+
+
+

Tips and Tricks

+
+I recommend using the median cut sampling algorithm, it is very quick +and quite efficient.
+When using median cut I suggest you use full size image maps as input +or use the resize option.
+
+
+

Known Problems

+
    +
  1. all flavours of voronoi tesselations can fail at higher sampling +counts and this is dependant on the input image
    +
  2. +
+
+
+

References

+
+
    +
  1. Efficient +Illumination by High Dynamic Range Images
  2. +
  3. Centroidal +Voronoi Tessellations
  4. +
  5. lightGen +
  6. +
  7. HDR Shop
  8. +
  9. Paul Debevec
  10. +
+
+
+
+
+
+
+
+
+ + diff --git a/2009-x64/lightMapGen/doc/lightMapGen_Example.html b/2009-x64/lightMapGen/doc/lightMapGen_Example.html new file mode 100644 index 0000000..03a6a17 --- /dev/null +++ b/2009-x64/lightMapGen/doc/lightMapGen_Example.html @@ -0,0 +1,49 @@ + + + + Light Map Gen Diagnostic Images Example + + + +
+
+

Light Map Gen Diagnostic Images Example

+
+
+ This example is specifically for median cut sampling.
+
+
+
+

Spherical HDR (lat/long)

+
+
+ Original HDR light map image in latitude/longitude format.
+
+
+

Median cut, 32 samples

+
+
+ Green box shows the sample area, then dot shows the actual final sample + location and color.
+ Command line: lightMapGen -in +Livingroom_01.tif -s 32 -normalize -writeDiagImages
+
+
+

Median cut, 32 samples with 4 interleave levels

+
+
+ As you can see, each of the 32 sample areas (now red boxes) have now been + further broken down into 4 separate interleave levels (green boxes). + Please note, I recommend more than 4 + interleave levels in this case, 4 were chosen for clarity.
+Command line: lightMapGen -in Livingroom_01.tif -s 32 4 -normalize +-writeDiagImages

+
+
+
+
+ -Jeremy Pronk  10/08/2005
+ www.happiestdays.com
+ + + diff --git a/2009-x64/lightMapGen/doc/lightMapGen_QuickStart.html b/2009-x64/lightMapGen/doc/lightMapGen_QuickStart.html new file mode 100644 index 0000000..e187ff4 --- /dev/null +++ b/2009-x64/lightMapGen/doc/lightMapGen_QuickStart.html @@ -0,0 +1,58 @@ + + + + + lightMapGen Quick Start + + +

Light Map Gen

+
+

Quick Start

+
+

Creating a light map

+
+1. Aquire one latitude/longitude HDR tiff image, lets call it +probemap.tif
+2. At the command prompt run:
+lightMapGen.exe -in probemap.tif -s 32 -normalize -writeDiagImages
+3. You should now have 2 new files, namely probemap.lm (the lightmap) +and probemap_samplingDiag.tif (diagnostic image)
+4. (optional step) Load probemap.tif and probemap_samplingDiag.tif into +HDR imaging software of your choice, observing the sample areas (green +boxes) and sample locations (single pixels). See example.
+5. Load Maya
+6. Continue by choosing one of the two procedures below
+
+

Loading the light map as Maya lights

+
+1. Source lightMapGen_loader.mel and execute lightMapGen_loader(0)
+2. Browse to probemap.lm and select ok
+3. Create a sphere and enabling shading/lighting mode
+4. Adjust the dome light parameters (specifically intensity and cone +angle)  in the transform of the parent +locator
+5. (optional step) Set the path in the file texture attached to the +light map dome (a low dynamic range version of the light map)
+6. Create a sphere and render
+
+
+

Using the light map with the mental ray sphericalLight shader

+
+1. Make sure sphericalLight is correctly installed including +AEsphericalLightTemplate.mel
+2. Source createSphericalLight.mel and execute createSphericalLight()
+3. Select the new light named "sphericalLightX", then open the mental +ray tab and find the connected custom light shader. This is the +sphericalLight shader.
+4. Click the .. button to browse for probemap.lm
+5. Create a sphere and render with mental ray
+
+
+
+
+-Jeremy Pronk  6/5/05
+www.happiestdays.com
+ + diff --git a/2009-x64/lightMapGen/mel/lightMapGen.mel b/2009-x64/lightMapGen/mel/lightMapGen.mel new file mode 100644 index 0000000..e8f4ec6 --- /dev/null +++ b/2009-x64/lightMapGen/mel/lightMapGen.mel @@ -0,0 +1,652 @@ +// +// LightMapGen.mel +// Written by Seth Hall :: chewy@pixill.com +// --------------- +// +// Front end GUI for Maya to run lightMapGen.exe +// +// Generated .lm files will be put in the \mentalRay\lightmap folder +// +// any .tif images will be left in \sourceimages +// +// any .txt capture information just showing what flags were used to +// generate the lightmap or .tif files will be put in \data with the +// name of the actual image file. +// + +// +// Modify the 3 path's below to point to the proper MEL script and lightMapGen executable. +// Please try to not use spaces in the path names as it tends to break the calls. +// + source "C:\\Documents and Settings\\Elrond\\My Documents\\maya\\2009-x64\\lightMapGen\\mel\\lightMapGen_loader.mel"; + + global string $lightMapGenPath = "C:\\Documents and Settings\\Elrond\\My Documents\\maya\\2009-x64\\lightMapGen\\bin\\lightMapGen.exe"; + + global string $HDRShopPath = "C:\\Graphics\\HDRShop\\HDRShop.exe"; +// +// + +global proc lightMapGenSetInput() { + + string $dirMask = "tif"; + string $SI = `workspace -q -rd`; + string $SIFolder = $SI + "sourceimages/*." + $dirMask; + string $formatSIFolder = toNativePath($SIFolder); + string $pathFile = `fileDialog -dm $formatSIFolder`; + string $formatPathFile = toNativePath($pathFile); + + textField -e -tx $formatPathFile lightMapGenInput; + + lightMapGenCheckInput; +} + +global proc lightMapGenToHDRShop() { + + global string $HDRShopPath; + string $file = `textField -q -tx lightMapGenInput`; + + string $formatPath = toNativePath($file); + string $formatHDRShopPath = toNativePath($HDRShopPath); + + system ($formatHDRShopPath + " " + "\"" + $formatPath + "\""); + +} + +global proc lightMapGenCalculate() { + + string $projectRoot = `workspace -q -rd`; + string $dataPath = "data/"; + string $lmPath = "sourceimages/lightMapGen/"; + string $siPath = $projectRoot + "sourceimages/"; + string $input = `textField -q -tx lightMapGenInput`; + global string $lightMapGenPath; + + string $lightMapPath = $projectRoot + $siPath; + string $inputName = basename($input, ".tif"); + + // general options + int $samples = `intField -q -v lightMapGenSamples`; + int $iSamples = `intField -q -v lightMapGenInterleavedSamples`; + int $sampleType = `optionMenu -q -sl lightMapGenSampleType`; + int $normalize = `checkBox -q -v lightMapGenNormalize`; + int $writeDiag = `checkBox -q -v lightMapGenWriteDiag`; + + string $formatProjectRoot = toNativePath($projectRoot); + string $formatDataPath = toNativePath($dataPath); + string $formatLightMapPath = toNativePath($siPath); + string $formatLightMapGenPath = "\"" + toNativePath($lightMapGenPath) + "\" "; + string $formatInput = toNativePath($input); + + waitCursor -st on; + + //open IOstream to save to *.mel file + cmdFileOutput -o ($formatProjectRoot + $formatDataPath + $inputName + "_lmg_flags.txt"); + + print ("Output Calculation Parameters:\n"); + print (" Input : " + $formatInput + "\n"); + print (" Samples : " + $samples + "\n"); + if ($iSamples > 0) { + print (" Interleaved : " + $iSamples + "\n"); + } + print (" Sample Type : Median Cut\n"); + print (" Normalize : " + $normalize + "\n"); + print (" Write Diag : " + $writeDiag + "\n"); + + string $cmd; + if ($iSamples > 0) { // if we use interleaved samples with median cut, process the interleaved samples + if ($normalize == 1 && $writeDiag == 1) { // ON: normalize, writeDensity + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " " + $iSamples + " -st 4" + " -normalize -writeDiagImages"; + } else if ($normalize == 1 && $writeDiag == 0) { // ON: normalize + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " " + $iSamples + " -st 4" + " -normalize"; + } else if ($normalize == 0 && $writeDiag == 1) { // ON: writeDensity + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " " + $iSamples + " -st 4" + " -writeDiagImages"; + } else if ($normalize == 0 && $writeDiag == 0) { // all checkboxes off + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " " + $iSamples + " -st 4"; + } + } else if ($iSamples < 1) { // if we do not have interleaved samples, do only the regular samples + if ($normalize == 1 && $writeDiag == 1) { // ON: normalize, writeDensity + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " -st 4" + " -normalize -writeDiagImages"; + } else if ($normalize == 1 && $writeDiag == 0) { // ON: normalize + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " -st 4" + " -normalize"; + } else if ($normalize == 0 && $writeDiag == 1) { // ON: writeDensity + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " -st 4" + " -writeDiagImages"; + } else if ($normalize == 0 && $writeDiag == 0) { // all checkboxes off + $cmd = $formatLightMapGenPath + "-in \"" + $formatInput + "\" -s " + $samples + " -st 4"; + } + } + print("Executing lightMapGen:\n" + $cmd + "\n"); + system($cmd); + + print ("\nLIGHTMAP LOCATION: " + $formatLightMapPath + "\n"); + + // close all IOstream + cmdFileOutput -ca; + + // create the /mentalRay/lightmap path if it does not exist + if (`filetest -d $lightMapPath` == 0) { + sysFile -md ($projectRoot + $lmPath); + } + + // move the .lm lightmap file to the lightmap folder if it exists + if (`filetest -f ($siPath + $inputName + ".lm")` == 1) { + sysFile -mov ($projectRoot + $lmPath + $inputName + ".lm") ($siPath + $inputName + ".lm"); + } + + waitCursor -st off; + + // bring up our status report of the calc + lightMapGenCalculated; +} + +global proc lightMapCheckLoadBox(int $num) { + int $spotBox = `checkBox -q -v lightMapGenCalcLoadSpot`; + int $dirBox = `checkBox -q -v lightMapGenCalcLoadDirectionals`; + + global int $lightMapGenLoadBoxLightType; + + switch ($num) { + case 1: + checkBox -e + -v 0 + lightMapGenCalcLoadDirectionals; + + if ($spotBox == 1) { + button -e + -en 1 + lightMapGenCalcLoadButton; + + $lightMapGenLoadBoxLightType = 1; + } else { + button -e + -en 0 + lightMapGenCalcLoadButton; + } + break; + case 2: + checkBox -e + -v 0 + lightMapGenCalcLoadSpot; + + if ($dirBox == 1) { + button -e + -en 1 + lightMapGenCalcLoadButton; + } else { + button -e + -en 0 + lightMapGenCalcLoadButton; + } + + $lightMapGenLoadBoxLightType = 0; + break; + } +} + +global proc lightMapGenCalculated() { + + global int $lightMapGenLoadBoxLightType; + + string $projectRoot = `workspace -q -rd`; + string $dataPath = $projectRoot + "data/"; + string $lmPath = "sourceimages/lightMapGen/"; + string $siPath = $projectRoot + "sourceimages/"; + string $input = `textField -q -tx lightMapGenInput`; + + string $lightMapPath = $projectRoot + $lmPath; + string $inputName = basename($input, ".tif"); + + string $formatLMP = toNativePath($lightMapPath); + string $formatDP = toNativePath($dataPath); + + if (`window -exists lightMapGenCalcWindow` == 1) { + deleteUI lightMapGenCalcWindow; + } + + if (`window -exists lightMapGenWindow` == 1) { + deleteUI lightMapGenWindow; + } + + window + -title "LightMapGen Loading" + -maximizeButton false + -minimizeButton true + -sizeable true + -resizeToFitChildren false + -menuBar true + -menuBarVisible true + -w 473 + -h 180 + lightMapGenCalcWindow; + + columnLayout -adj true; + + separator -h 2 "none"; + + rowColumnLayout -nc 2 + -cw 1 100 -cs 1 10 + -cw 2 343 -cs 2 2; + + text -l "Light Map Path:"; + textField + -tx ($formatLMP + $inputName + ".lm") + -ed 0 + lightMapGenCalcLMpath; + setParent ..; + setParent ..; + + columnLayout -adj true; + + rowColumnLayout -nc 2 + -cw 1 100 -cs 1 10 + -cw 2 343 -cs 2 2; + + text -l "Output Info:"; + textField + -tx ($formatDP + $inputName + "_lmg_flags.txt") + -ed 0 + lightMapGenCalcDPpath; + setParent ..; + setParent ..; + + columnLayout -adj true; + + separator -h 5 -st "none"; + + rowColumnLayout -nc 4 + -cw 1 60 -cs 1 110 + -cw 2 17 -cs 2 2 + -cw 3 90 -cs 3 50 + -cw 4 17 -cs 4 2; + + text -l "Spot Lights"; + checkBox -v 0 + -cc "lightMapCheckLoadBox 1" + lightMapGenCalcLoadSpot; + + text -l "Directional Lights"; + checkBox -v 0 + -cc "lightMapCheckLoadBox 2" + lightMapGenCalcLoadDirectionals; + setParent ..; + setParent ..; + + columnLayout -adj true; + + separator -h 5 -st "none"; + + button + -l ("Load " + $inputName + ".lm") + -c ("lightMapGen_loader " + $lightMapGenLoadBoxLightType) + -en 0 + lightMapGenCalcLoadButton; + + separator -h 5 -st "none"; + + button + -l ("Load " + $inputName + ".lm as sphericalLight") + -c ("lmgSphericalLight " + "\"" + $lightMapPath + $inputName + ".lm\"") + -en 1 + lightMapGenLoadSphericalLight; + + separator -h 2 -st "none"; + separator -h 5 -st "out"; + separator -h 2 -st "none"; + + button -l "Close Window" -c "deleteUI lightMapGenCalcWindow" + lightMapGenCalcCloseButton; + setParent ..; + + showWindow lightMapGenCalcWindow; + +} + +global proc lmgSphericalLight(string $lightMapFile) { + waitCursor -state on; + + // mental ray should be loaded + string $plugin = "Mayatomr"; + if( !eval( "pluginInfo -query -loaded " + $plugin ) ) + loadPlugin $plugin; + + string $getNewest; + + string $mayaLight = `pointLight -i 0`; + string $mrLight = `mrCreateCustomNode -asUtility ( "defaultNavigation -connectToExisting -destination " + $mayaLight + ".miLightShader -source %node" ) sphericalLight`; + setAttr ( $mayaLight+".areaLight" ) 1; + setAttr ( $mayaLight+".areaType" ) 4; + setAttr ( $mayaLight+".areaSamplingU" ) 1024; + setAttr ( $mayaLight+".areaSamplingV" ) 1024; + string $mayaLightTransform[] = `listRelatives -p $mayaLight`; + $mayaLightTransform[0] = `rename $mayaLightTransform[0] "sphericalLight#"`; + + createLightMapDome( "lightMapGenDome", $mayaLightTransform[0], 100 ); + + select $mrLight; + + setAttr ($mrLight + ".lightMapFile") -type "string" $lightMapFile; + + deleteUI lightMapGenCalcWindow; + + waitCursor -state off; +} + +global proc lightMapGenCheckInput() { + string $getInput = `textField -q -tx lightMapGenInput`; + int $sampleType = `optionMenu -q -sl lightMapGenSampleType`; + + if (($getInput != "") && (gmatch($getInput, "*.tif") == 1) || (gmatch($getInput, "*.TIF") == 1)) { + button -e + -l "Calculate" + -en 1 + -c "lightMapGenCalculate" + lightMapGenCalculateButton; + + intField -e + -en 1 + lightMapGenSamples; + + intField -e + -en 1 + lightMapGenInterleavedSamples; + + optionMenu -e + -en 1 + lightMapGenSampleType; + + checkBox -e + -en 1 + lightMapGenNormalize; + + if ($sampleType < 5) { + checkBox -e -en 1 lightMapGenWriteDiag; + } + } else if (($getInput == "") || (gmatch($getInput, "*.tif") == 0) || (gmatch($getInput, "*.TIF") == 0)) { + button -e + -l "Not a valid tif image. Please load a floating point tif image" + -en 0 + -c "lightMapGenCalculate" + lightMapGenCalculateButton; + + intField -e + -en 0 + lightMapGenSamples; + + intField -e + -en 0 + lightMapGenInterleavedSamples; + + optionMenu -e + -en 0 + lightMapGenSampleType; + + checkBox -e + -en 0 + lightMapGenNormalize; + + } +} + +global proc lightMapGenCheckSampling() { + + int $iSamples = `intField -q -v lightMapGenInterleavedSamples`; + + if ($iSamples < 1) { + button -e + -en 0 + -l "Please set the number of interleaved samples" + lightMapGenCalculateButton; + } else { + button -e + -en 1 + -l "Calculate" + lightMapGenCalculateButton; + } + intField -e -en 1 lightMapGenInterleavedSamples; +} + +global proc checkInterleavedSamples() { + + int $iSamples = `intField -q -v lightMapGenInterleavedSamples`; + + if ($iSamples < 1) { + button -e + -en 0 + -l "Please set the number of interleaved samples" + lightMapGenCalculateButton; + } else { + button -e + -en 1 + -l "Calculate" + lightMapGenCalculateButton; + } +} + +global proc lightMapGenMousover(int $option) { + + switch ($option) { + case 0: + // input + textField + -e + -tx "Load a floating point .TIF (.TIF is only format supported)" + lightMapGenTextBox; + break; + case 1: + // number of samples + textField + -e + -tx "The number of samples to calculate." + lightMapGenTextBox; + break; + case 2: + // resize amount + break; + case 3: + // sampling type + textField + -e + -tx "Different algorithms for solving lights (Default is Median Cut)" + lightMapGenTextBox; + lightMapGenCheckSampling; + break; + case 4: + // map type + break; + case 5: + // normalize + textField + -e + -tx "Normalize lightmap into the 0 -> 1 range" + lightMapGenTextBox; + break; + case 6: + // write diag images + textField + -e + -tx "Outputs a Voronoi Tesselation for each iteration" + lightMapGenTextBox; + break; + case 7: + // write density + break; + case 8: + // centroidal offset + break; + case 9: + // radius of perturb + break; + case 10: + // centroidal iterations + break; + case 11: + // interleaved iterations + break; + case 12: + // interleaved samples + textField + -e + -tx "The number of interleave samples. Works with Median Cut and Interleaved Importance Voronoi" + lightMapGenTextBox; + break; + } +} + +global proc lightMapGen() { + + if (`window -exists lightMapGenWindow` == true) { + deleteUI lightMapGenWindow; + } + + if (`window -exists lightMapGenCalcWindow` == 1) { + deleteUI lightMapGenCalcWindow; + } + + window + -title "LightMapGen" + -maximizeButton false + -minimizeButton true + -sizeable true + -resizeToFitChildren false + -menuBar true + -menuBarVisible true + -w 473 + -h 208 + lightMapGenWindow; + + columnLayout -adj true; + + separator -h 2 -st "none"; + + rowColumnLayout -nc 3 + -cw 1 65 + -cw 2 400; + + text -l "Input File:"; + textField + -tx "" + -cc "lightMapGenCheckInput" + -rfc "lightMapGenMousover 0" + lightMapGenInput; + text -l ""; + button -l "HDRShop" -c "lightMapGenToHDRShop"; + + button -al center -l "Browse for .TIF File" -c "lightMapGenSetInput"; + setParent ..; + setParent ..; + + columnLayout -adj true; + + separator -h 5 -st "in"; + separator -h 2 -st "none"; + + rowColumnLayout -nc 2 + -cw 1 72 -cs 1 10 + -cw 2 200 -cs 2 2; + + text -l "Sampling Type:"; + optionMenu -label " " + -cc "lightMapGenMousover 3" + lightMapGenSampleType; + menuItem -label "Median Cut"; + + optionMenu -e + -sl 1 + -en 0 + lightMapGenSampleType; + setParent ..; + setParent ..; + + columnLayout -adj true; + + separator -h 2 -st "none"; + + rowColumnLayout -nc 4 + -cw 1 100 -cs 1 10 + -cw 2 50 -cs 2 2 + -cw 3 100 -cs 3 35 + -cw 4 50 -cs 4 2; + + text -l "Number of Samples:"; + intField + -editable true + -minValue 1 -maxValue 2048 + -value 32 + -step 1 + -rfc "lightMapGenMousover 1" + -en 0 + lightMapGenSamples; + + text -l "Interleaved Samples:"; + intField + -editable true + -minValue 0 -maxValue 2048 + -cc "lightMapGenCheckSampling" + -value 0 + -step 1 + -rfc "lightMapGenMousover 12" + -en 0 + lightMapGenInterleavedSamples; + + setParent ..; + setParent ..; + + columnLayout -adj true; + + separator -h 2 -st "none"; + separator -h 4 -st "out"; + separator -h 2 -st "none"; + + rowColumnLayout -nc 6 + -cw 1 50 -cs 1 60 + -cw 2 17 -cs 2 2 + -cw 3 92 -cs 3 20 + -cw 4 17 -cs 4 2 + -cw 5 70 -cs 5 20 + -cw 6 17 -cs 6 2; + + text -l "Normalize:"; + checkBox -l "" + -cc "lightMapGenMousover 5" + -v 1 + -en 0 + lightMapGenNormalize; + + text -l "Write Diag Images:"; + checkBox -l "" + -cc "lightMapGenMousover 6" + -v 0 + -en 0 + lightMapGenWriteDiag; + + setParent ..; + setParent ..; + + columnLayout -adj true; + + separator -h 4 -st "in"; + separator -h 2 -st "none"; + + button -l "Please load a floating point .TIF image" + -en 0 + -c "lightMapGenCalculate" + lightMapGenCalculateButton; + setParent ..; + + columnLayout -adj true; + + separator -h 4 -st "in"; + separator -h 2 -st "none"; + + textField + -en 0 + lightMapGenTextBox; + setParent ..; + + lightMapGenCheckSampling; + + intField -e -en 0 lightMapGenInterleavedSamples; + + showWindow lightMapGenWindow; +} + +lightMapGen; diff --git a/2009-x64/lightMapGen/mel/lightMapGen_loader.mel b/2009-x64/lightMapGen/mel/lightMapGen_loader.mel new file mode 100644 index 0000000..8de91fe --- /dev/null +++ b/2009-x64/lightMapGen/mel/lightMapGen_loader.mel @@ -0,0 +1,171 @@ +/* + +lightMapGen light map loader for Maya + +Uses a light map file to create a corresponding light map "dome" + +Usage: +lightMapGen_loader( 0 ) for directional lights +lightMapGen_loader( 1 ) for spot lights + + +06/06/2005 +Jeremy Pronk +www.thereisnoluck.com + +*/ + + +proc int findLine( int $fileId, string $match ) +{ + string $line = ""; + while ( gmatch( $line, $match ) == 0 && feof( $fileId ) == 0 ) + $line = `fgetline $fileId`; + return ( !feof( $fileId ) ); +} + +proc string createDomeLight( float $phi, float $theta, float $r, float $g, float $b, string $domeCenter, float $domeRadius, string $lightTypeNode ) +{ + string $lightName = "lightMapGenLight"; + + // calculate world space location from spherical coordinates + float $wx = $domeRadius * cos( $theta ) * sin( $phi ); + float $wz = $domeRadius * sin( $theta ) * sin( $phi ); + float $wy = $domeRadius * cos( $phi ); + + // create a light for this sample location + string $tempLightName = eval( $lightTypeNode ); + string $lightTransform[] = `listRelatives -p $tempLightName`; + $lightTransform[0] = `rename $lightTransform[0] ($lightName+"#")`; + string $lightShape[] = `listRelatives -c -type $lightTypeNode $lightTransform[0]`; + setAttr ( $lightShape[0]+".color" ) -type double3 $r $g $b; + setAttr -l true ( $lightShape[0]+".color" ); // the color should not be changed + + // move the light into position + string $tempAim[] = `aimConstraint -offset 0 0 0 -weight 1 -aimVector 0 0 -1 -upVector 0 1 0 -worldUpType "vector" -worldUpVector 0 1 0 $domeCenter $lightTransform[0]`; + move -ws $wx $wy $wz $lightTransform[0]; + delete $tempAim[0]; + + return $lightTransform[0]; +} + +proc string[] loadLightMap( string $lightMapFilename, int $lightType, string $domeCenter, int $domeRadius ) +{ + string $lights[]; + int $lightMapFileId = `fopen $lightMapFilename "r"`; + if ( $lightMapFileId ) + { + // read the light map header + string $lightMapType = `fgetline $lightMapFileId`; + if ( gmatch( $lightMapType, "SLM*" ) ) + { + findLine( $lightMapFileId, "# number samples*" ); + int $numSamples = `fgetline $lightMapFileId`; + findLine( $lightMapFileId, "# phi, theta*" ); + for ( $s=0; $s<$numSamples; $s++ ) + { + if ( feof( $lightMapFileId ) ) + error "Invalid lightmap, end of file reached permaturely..." ; + + // read the current sample + string $sample = `fgetline $lightMapFileId`; + string $buffer[]; + tokenize( $sample, ":", $buffer ); + string $sampleCoords[]; + tokenize( $buffer[0], ",", $sampleCoords ); + string $sampleColor[]; + tokenize( $buffer[1], " ", $sampleColor ); + + // create a light for the sample + string $lightTypeNode = ""; + if ( $lightType == 0 ) + $lightTypeNode = "directionalLight"; + else + $lightTypeNode = "spotLight"; + $lights[$s] = createDomeLight( $sampleCoords[0], $sampleCoords[1], $sampleColor[0], $sampleColor[1], $sampleColor[2], + $domeCenter, $domeRadius, $lightTypeNode ); + parent $lights[$s] $domeCenter; + } + } + else + { + error ( "sorry I cannot read interleaved light maps, either generate a flat light map or use sphericalLight..." ); + } + } + else + { + error ( $lightMapFilename + " could not be found" ); + } + fclose $lightMapFileId; + + return $lights; +} + +// +// creates a light map reference dome with file texture oriented to match the importance sampling node +global proc string[] createLightMapDome( string $name, string $lightGroupName, float $domeRadius ) +{ + // create the sphere + string $lightMapSphere[] = `sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 1 -n $name`; + reverseSurface -d 3 -ch 1 -rpo 1 $lightMapSphere[0]; + setAttr ($lightMapSphere[0]+".visibleInReflections") 0; + setAttr ($lightMapSphere[0]+".visibleInRefractions") 0; + setAttr ($lightMapSphere[0]+".castsShadows") 0; + setAttr ($lightMapSphere[0]+".receiveShadows") 0; + setAttr ($lightMapSphere[0]+".doubleSided") 0; + setAttr ($lightMapSphere[1]+".radius") $domeRadius; + + // create the file texture to apply to the light map sphere + string $file = `shadingNode -asTexture file`; + //setAttr ($file+".fileTextureName") -type "string" $lightMapFilename; + string $ss = `shadingNode -asShader surfaceShader -name ( "LightMapDomeShader" )`; + string $sg = `sets -renderable true -noSurfaceShader true -empty -name ( "LightMapDomeShaderSG" )`; + connectAttr -f ( $ss+".outColor" ) ( $sg+".surfaceShader" ); + connectAttr -f ( $file+".outColor" ) ( $ss+".outColor" ); + sets -e -forceElement $sg $lightMapSphere[0]; + rename $ss ( $lightGroupName+"DomeShader" ); + + parent $lightMapSphere[0] $lightGroupName; + + return $lightMapSphere; +} + +proc addParentLinkedAttr( string $attr, string $type, string $default, string $parentNode, string $linkedNodes[] ) +{ + addAttr -ln $attr -k true -at $type $parentNode; + eval( "setAttr " + $parentNode + "." + $attr + " " + $default ); + for ( $linkedNode in $linkedNodes ) + connectAttr -f ( $parentNode + "." + $attr ) ( $linkedNode + "." + $attr ); +} + +global proc lightMapGen_loader( int $lightType ) +{ + string $lightMapFilename = `fileDialog -dm "*.lm"`; + + if ( $lightMapFilename != "" ) + { + int $domeRadius = 10; + string $domeCenterName = ( "lightMapGen_" + basename( $lightMapFilename, ".lm" ) ); + string $domeCenter[] = `spaceLocator -p 0 0 0 -n $domeCenterName`; + string $dome[] = createLightMapDome( "lightMapGenDome", $domeCenter[0], $domeRadius ); + string $lights[] = loadLightMap( $lightMapFilename, $lightType, $domeCenter[0], $domeRadius ); + + // + addParentLinkedAttr( "intensity", "double", "1", $domeCenter[0], $lights ); + if ( $lightType == 1 ) addParentLinkedAttr( "coneAngle", "double", "40", $domeCenter[0], $lights ); + addParentLinkedAttr( "emitSpecular", "bool", "0", $domeCenter[0], $lights ); + addParentLinkedAttr( "useDepthMapShadows", "bool", "1", $domeCenter[0], $lights ); + addParentLinkedAttr( "dmapResolution", "short", "128", $domeCenter[0], $lights ); + addParentLinkedAttr( "dmapFilterSize", "short", "2", $domeCenter[0], $lights ); + addParentLinkedAttr( "reuseDmap", "bool", "0", $domeCenter[0], $lights ); + addParentLinkedAttr( "dmapSceneName", "bool", "1", $domeCenter[0], $lights ); + addParentLinkedAttr( "dmapLightName", "bool", "1", $domeCenter[0], $lights ); + addParentLinkedAttr( "dmapFrameExt", "bool", "1", $domeCenter[0], $lights ); + addParentLinkedAttr( "useRayTraceShadows", "bool", "0", $domeCenter[0], $lights ); + addParentLinkedAttr( "shadowRays", "short", "1", $domeCenter[0], $lights ); + addParentLinkedAttr( "rayDepthLimit", "short", "1", $domeCenter[0], $lights ); + + print( "Global light parameters are located in the transform of the parent locator: " + $domeCenter[0] + "\n" ); + select -r $domeCenter[0]; + } +} diff --git a/2009-x64/mentalray/icons/mix8layer.fti b/2009-x64/mentalray/icons/mix8layer.fti new file mode 100644 index 0000000..6cee3ee --- /dev/null +++ b/2009-x64/mentalray/icons/mix8layer.fti @@ -0,0 +1,211 @@ + +# Path + color(0.54, 0.87, 1.00); + bgnpolygon(); + vertex(-20, 0); + vertex(0, 0); + vertex(-20, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(-20, 116); + vertex(0, 116); + vertex(0, 0); + endpolygon(); + +# Path + color(1.00, 0.00, 0.00); + bgnpolygon(); + vertex(0, 0); + vertex(0, 116); + vertex(-6, 0); + endpolygon(); +# Path + bgnpolygon(); + vertex(-6, 0); + vertex(-6, 116); + vertex(0, 116); + endpolygon(); + +# Path + color(1.00, 1.00, 0.00); + bgnpolygon(); + vertex(0, 116); + vertex(0, 0); + vertex(10, 0); + endpolygon(); +# Path + bgnpolygon(); + vertex(10, 0); + vertex(10, 116); + vertex(0, 116); + endpolygon(); + +# Path + color(0.46, 0.23, 0.04); + bgnpolygon(); + vertex(10, 116); + vertex(14, 116); + vertex(10, 0); + endpolygon(); +# Path + bgnpolygon(); + vertex(10, 0); + vertex(14, 0); + vertex(14, 116); + endpolygon(); + +# Path + color(0.78, 0.96, 0.78); + bgnpolygon(); + vertex(14, 116); + vertex(14, 0); + vertex(20, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(20, 116); + vertex(20, 0); + vertex(14, 0); + endpolygon(); + +# Path + color(0.78, 0.96, 0.78); + bgnpolygon(); + vertex(20, 116); + vertex(20, 0); + vertex(48, 0); + endpolygon(); +# Path + bgnpolygon(); + vertex(20, 116); + vertex(48, 116); + vertex(48, 0); + endpolygon(); + +# Path + color(1.00, 0.00, 0.89); + bgnpolygon(); + vertex(44, 116); + vertex(36, 116); + vertex(36, 0); + endpolygon(); +# Path + bgnpolygon(); + vertex(36, 0); + vertex(44, 116); + vertex(44, 0); + endpolygon(); + +# Path + color(1.00, 0.58, 0.05); + bgnpolygon(); + vertex(48, 116); + vertex(48, 0); + vertex(64, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(64, 116); + vertex(64, 0); + vertex(48, 0); + endpolygon(); + +# Path + color(1.00, 0.00, 0.05); + bgnpolygon(); + vertex(64, 116); + vertex(64, 0); + vertex(68, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(68, 116); + vertex(68, 0); + vertex(64, 0); + endpolygon(); + +# Path + color(0.5, 0.3, 0.03); + bgnpolygon(); + vertex(68, 116); + vertex(68, 0); + vertex(80, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(80, 116); + vertex(80, 0); + vertex(68, 0); + endpolygon(); + +# Path + color(1.0, 0.97, 0.00); + bgnpolygon(); + vertex(80, 116); + vertex(80, 0); + vertex(86, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(86, 116); + vertex(86, 0); + vertex(80, 0); + endpolygon(); + +# Path + color(0.54, 0.87, 1.00); + bgnpolygon(); + vertex(86, 116); + vertex(86, 0); + vertex(100, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(100, 116); + vertex(100, 0); + vertex(86, 0); + endpolygon(); + +# Path + color(1.0, 0.97, 0.00); + bgnpolygon(); + vertex(100, 116); + vertex(100, 0); + vertex(104, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(104, 116); + vertex(104, 0); + vertex(100, 0); + endpolygon(); + + +# Path + color(1.0, 0.0, 0.1); + bgnpolygon(); + vertex(104, 116); + vertex(104, 0); + vertex(108, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(108, 116); + vertex(108, 0); + vertex(104, 0); + endpolygon(); + +# Path + color(0.37, 0.2, 0.0); + bgnpolygon(); + vertex(108, 116); + vertex(108, 0); + vertex(120, 116); + endpolygon(); +# Path + bgnpolygon(); + vertex(120, 116); + vertex(120, 0); + vertex(108, 0); + endpolygon(); \ No newline at end of file diff --git a/2009-x64/mentalray/icons/render_mix8layer.xpm b/2009-x64/mentalray/icons/render_mix8layer.xpm new file mode 100644 index 0000000..9b205b3 --- /dev/null +++ b/2009-x64/mentalray/icons/render_mix8layer.xpm @@ -0,0 +1,75 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"32 32 37 1", +" c #211000", +". c #271600", +"X c #2c3400", +"o c #2d3500", +"O c #403100", +"+ c #403600", +"@ c #493800", +"# c #493801", +"$ c #493900", +"% c #523831", +"& c #583838", +"* c #603407", +"= c #643a09", +"- c #8a192c", +"; c #8a2033", +": c #a50000", +"> c #a70002", +", c #805e2d", +"< c #815f34", +"1 c #a56a1a", +"2 c #a56c1c", +"3 c #8a596d", +"4 c #8a5c70", +"5 c #985c76", +"6 c #9b5e79", +"7 c #c30000", +"8 c #cf0000", +"9 c #cf3e47", +"0 c #c36400", +"q c #cf424b", +"w c #a76bba", +"e c #a970ba", +"r c #c5cc15", +"t c #d2cc14", +"y c #8abad6", +"u c #c5e095", +"i c #d2e0ba", +/* pixels */ +"uu2:$$y48886q=&eit.o<007+uryyy;8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8", +"uu1:$$y388859*%wit o,007Ouryyy-8" +}; diff --git a/2009-x64/mentalray/include/mix8layer.mi b/2009-x64/mentalray/include/mix8layer.mi new file mode 100644 index 0000000..d86da2f --- /dev/null +++ b/2009-x64/mentalray/include/mix8layer.mi @@ -0,0 +1,200 @@ +#author: ctrl-studio +#modified: May 20, 2005 +#note:: mi file for mix8layer mentalray shader + + +declare shader + + color "mix8layer" + ( + integer "f_nSlots", #:default 1 min 0 max 7 + + string "layerName_0", + string "layerName_1", + string "layerName_2", + string "layerName_3", + string "layerName_4", + string "layerName_5", + string "layerName_6", + string "layerName_7", + + boolean "f_enableLayer_0", + boolean "f_enableLayer_1", #:default 1 + boolean "f_enableLayer_2", + boolean "f_enableLayer_3", + boolean "f_enableLayer_4", + boolean "f_enableLayer_5", + boolean "f_enableLayer_6", + boolean "f_enableLayer_7", + + color "f_colorLayer_0", #:default 0.54 0.87 1.00 + color "f_colorLayer_1", #:default 1.0 0.0 0.0 + color "f_colorLayer_2", #:default 1.0 0.8 0.2 + color "f_colorLayer_3", #:default 1.0 0.5 0.1 + color "f_colorLayer_4", #:default 1.0 0.5 0.6 + color "f_colorLayer_5", #:default 0.5 0.5 0.7 + color "f_colorLayer_6", #:default 1.0 0.5 0.8 + color "f_colorLayer_7", #:default 0.4 1.0 1.0 + + scalar "f_opacityLayer_0", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_1", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_2", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_3", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_4", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_5", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_6", #:default 1 softmin 0.0 softmax 1.0 + scalar "f_opacityLayer_7", #:default 1 softmin 0.0 softmax 1.0 + + integer "f_blendMode_0", #:default 1 + integer "f_blendMode_1", #:default 1 + integer "f_blendMode_2", #:default 1 + integer "f_blendMode_3", #:default 1 + integer "f_blendMode_4", #:default 1 + integer "f_blendMode_5", #:default 1 + integer "f_blendMode_6", #:default 1 + integer "f_blendMode_7", #:default 1 + +#local c.c + + scalar "f_layerWpow_0", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_1", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_2", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_3", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_4", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_5", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_6", #:default 1 min 0.01 softmax 2.0 + scalar "f_layerWpow_7", #:default 1 min 0.01 softmax 2.0 + + boolean "f_layerAlpha_0", + boolean "f_layerAlpha_1", + boolean "f_layerAlpha_2", + boolean "f_layerAlpha_3", + boolean "f_layerAlpha_4", + boolean "f_layerAlpha_5", + boolean "f_layerAlpha_6", + boolean "f_layerAlpha_7", + + boolean "f_layerInvAlpha_0", + boolean "f_layerInvAlpha_1", + boolean "f_layerInvAlpha_2", + boolean "f_layerInvAlpha_3", + boolean "f_layerInvAlpha_4", + boolean "f_layerInvAlpha_5", + boolean "f_layerInvAlpha_6", + boolean "f_layerInvAlpha_7", + + boolean "f_layerInvert_0", + boolean "f_layerInvert_1", + boolean "f_layerInvert_2", + boolean "f_layerInvert_3", + boolean "f_layerInvert_4", + boolean "f_layerInvert_5", + boolean "f_layerInvert_6", + boolean "f_layerInvert_7", + + scalar "f_layerHue_0", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_1", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_2", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_3", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_4", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_5", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_6", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerHue_7", #:default 0 min -1.0 softmax 1.0 + + scalar "f_layerSat_0", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_1", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_2", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_3", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_4", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_5", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_6", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerSat_7", #:default 0 min -1.0 softmax 1.0 + + scalar "f_layerVal_0", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_1", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_2", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_3", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_4", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_5", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_6", #:default 0 min -1.0 softmax 1.0 + scalar "f_layerVal_7", #:default 0 min -1.0 softmax 1.0 + + scalar "f_layerAlphaBias_0", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_1", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_2", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_3", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_4", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_5", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_6", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaBias_7", #:default 0.5 softmin 0.01 softmax 1.0 + + scalar "f_layerAlphaGain_0", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_1", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_2", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_3", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_4", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_5", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_6", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_layerAlphaGain_7", #:default 0.5 softmin 0.01 softmax 1.0 + + scalar "f_layerAlphaContrast_0", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_1", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_2", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_3", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_4", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_5", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_6", #:default 1.0 softmin 0.0 softmax 2.0 + scalar "f_layerAlphaContrast_7", #:default 1.0 softmin 0.0 softmax 2.0 + + +#global c.c + boolean "f_colorCorrection", + + scalar "f_cHue", #:default 0 min -1.0 softmax 1.0 + scalar "f_cSat", #:default 0 min -1.0 max 1.0 + scalar "f_cVal", #:default 0 min -1.0 max 1.0 + + scalar "f_cGamma", #:default 1 softmin 0.0 softmax 2.0 + scalar "f_cBias", #:default 0.5 softmin 0.01 softmax 1.0 + scalar "f_cGain", #:default 0.5 softmin 0.01 softmax 1.0 + + boolean "f_cBound", + boolean "f_cScale", + + color "f_transparency", #:default 1.0 1.0 1.0 + + boolean "f_onlyframebuffer", + +#framebuffers + boolean "f_framebuffer_0", + boolean "f_framebuffer_1", + boolean "f_framebuffer_2", + boolean "f_framebuffer_3", + boolean "f_framebuffer_4", + boolean "f_framebuffer_5", + boolean "f_framebuffer_6", + boolean "f_framebuffer_7", + + boolean "f_fbisolate_0", + boolean "f_fbisolate_1", + boolean "f_fbisolate_2", + boolean "f_fbisolate_3", + boolean "f_fbisolate_4", + boolean "f_fbisolate_5", + boolean "f_fbisolate_6", + boolean "f_fbisolate_7", + + integer "f_fbrenumber_0", + integer "f_fbrenumber_1", #:default 1 + integer "f_fbrenumber_2", #:default 2 + integer "f_fbrenumber_3", #:default 3 + integer "f_fbrenumber_4", #:default 4 + integer "f_fbrenumber_5", #:default 5 + integer "f_fbrenumber_6", #:default 6 + integer "f_fbrenumber_7" #:default 7 + + ) + apply material + version 1 + #:nodeid 1543386184 +end declare \ No newline at end of file diff --git a/2009-x64/mentalray/lib_32-bit/mix8layer.dll b/2009-x64/mentalray/lib_32-bit/mix8layer.dll new file mode 100644 index 0000000..1518cb8 Binary files /dev/null and b/2009-x64/mentalray/lib_32-bit/mix8layer.dll differ diff --git a/2009-x64/mentalray/lib_64-bit/mix8layer.dll b/2009-x64/mentalray/lib_64-bit/mix8layer.dll new file mode 100644 index 0000000..297b1d6 Binary files /dev/null and b/2009-x64/mentalray/lib_64-bit/mix8layer.dll differ diff --git a/2009-x64/mentalray/scripts/AEmix8layerTemplate.mel b/2009-x64/mentalray/scripts/AEmix8layerTemplate.mel new file mode 100644 index 0000000..21203b5 --- /dev/null +++ b/2009-x64/mentalray/scripts/AEmix8layerTemplate.mel @@ -0,0 +1,307 @@ +//author: francescaluce for Ctrl-studio +//modified: 08.01.04 +//note:: mel template for mix8layer mentalray shader + + +//blending modes +global proc AEmix8L_bMode( string $attrName ) +{ + + setUITemplate -pst attributeEditorTemplate; + + rowColumnLayout + -nc 1 + -columnWidth 1 250; + + attrEnumOptionMenuGrp + -l "blending.mode" + -at $attrName + -ei 0 ") alpha" + -ei 1 ") normal.mix" + -ei 2 ") add" + -ei 3 ") multiply" + -ei 4 ") substract" + -ei 5 ") screen" + -ei 6 ") darker" + -ei 7 ") lighter" + -ei 8 ") difference" + -ei 9 ") average" + -ei 10 ") negation" + -ei 11 ") exclusion" + -ei 12 ") overlay" + -ei 13 ") hard.light" + -ei 14 ") soft.light" + -ei 15 ") color.dodge" + -ei 16 ") color.burn" + -ei 17 ") reflect" + -ei 18 ") glow" + -ei 19 ") stamp" + -ei 20 ") freeze" + -ei 21 ") heat" + bcBlend_modeGrp; + + setUITemplate -ppt; + + AEmix8L_replace_bMode( $attrName ); +} + +global proc AEmix8L_replace_bMode( string $attrName ) +{ + + attrEnumOptionMenuGrp -e -at $attrName bcBlend_modeGrp; +} + +//fb renumbering +global proc AEmix8L_fbrn( string $attrName ) +{ + + setUITemplate -pst attributeEditorTemplate; + + rowColumnLayout + -nc 1 + -columnWidth 1 250; + + attrEnumOptionMenuGrp + -l "re.number" + -at $attrName + -ei 0 " select.." + -ei 1 " user.1 " + -ei 2 " user.2 " + -ei 3 " user.3 " + -ei 4 " user.4 " + -ei 5 " user.5 " + -ei 6 " user.6 " + -ei 7 " user.7 " mix8_fbrn_modeGrp; + + setUITemplate -ppt; + + AEmix8L_fbrn_replace( $attrName ); +} + +global proc AEmix8L_fbrn_replace( string $attrName ) +{ + + attrEnumOptionMenuGrp -e -at $attrName mix8_fbrn_modeGrp; +} + + +//ghost cc +global proc AEmix8l_chkCC( string $nodeName) +{ + if ((getAttr ($nodeName+".f_colorCorrection"))){ + + editorTemplate -dc $nodeName "f_cHue" false; + editorTemplate -dc $nodeName "f_cSat" false; + editorTemplate -dc $nodeName "f_cVal" false; + editorTemplate -dc $nodeName "f_cGamma" false; + editorTemplate -dc $nodeName "f_cBias" false; + editorTemplate -dc $nodeName "f_cGain" false; + editorTemplate -dc $nodeName "f_cBound" false; + editorTemplate -dc $nodeName "f_cScale" false; + editorTemplate -dc $nodeName "f_enableTransp" false; + editorTemplate -dc $nodeName "f_transparency" false; + }else{ + + editorTemplate -dc $nodeName "f_cHue" true; + editorTemplate -dc $nodeName "f_cSat" true; + editorTemplate -dc $nodeName "f_cVal" true; + editorTemplate -dc $nodeName "f_cGamma" true; + editorTemplate -dc $nodeName "f_cBias" true; + editorTemplate -dc $nodeName "f_cGain" true; + editorTemplate -dc $nodeName "f_cBound" true; + editorTemplate -dc $nodeName "f_cScale" true; + editorTemplate -dc $nodeName "f_enableTransp" true; + editorTemplate -dc $nodeName "f_transparency" true; + + } +} + +global proc AEmix8_oFb( string $nodeName) +{ + if ((getAttr ($nodeName+".f_onlyframebuffer"))) + { + setAttr ($nodeName+".f_colorCorrection") 0; + editorTemplate -dc $nodeName "f_colorCorrection" true; + + }else editorTemplate -dc $nodeName "f_colorCorrection" false; +} + + +global proc AEmix8l_chkMC( string $nodeName) +{ + if ((getAttr ($nodeName+".f_cBound")))setAttr ($nodeName+".f_cScale") 0; + if ((getAttr ($nodeName+".f_cScale")))setAttr ($nodeName+".f_cBound") 0; +} + +global proc AEmix8layerTemplate( string $nodeName ) +{ +editorTemplate -beginScrollLayout; + editorTemplate -beginLayout "mix8layer" -collapse 0 -bn; + + editorTemplate -beginLayout "global.options" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -l"Only FrameBuffers" -addControl "f_onlyframebuffer" "AEmix8_oFb"; + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -l"Enable c.correction" -addControl "f_colorCorrection" "AEmix8l_chkCC"; + + + editorTemplate -beginLayout "g.methods" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -l"bound.clipping" -addControl "f_cBound" "AEmix8l_chkMC"; + editorTemplate -addSeparator; + editorTemplate -l"scale.clipping" -addControl "f_cScale" "AEmix8l_chkMC"; + editorTemplate -addSeparator; + editorTemplate -endLayout-en; + + editorTemplate -beginLayout "g.hsv" -collapse 1 -bn; + editorTemplate -addSeparator; + + editorTemplate -addSeparator; + editorTemplate -l"saturation" -addControl "f_cSat"; + editorTemplate -addSeparator; + editorTemplate -l"lightness" -addControl "f_cVal"; + editorTemplate -endLayout-en; + + editorTemplate -beginLayout "g.correction" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -l"gamma" -addControl "f_cGamma"; + editorTemplate -addSeparator; + editorTemplate -l"bias" -addControl "f_cBias"; + editorTemplate -addSeparator; + editorTemplate -l"gain" -addControl "f_cGain"; + editorTemplate -endLayout-en; + + editorTemplate -beginLayout "g.opacity" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -l"enable" -addControl "f_enableTransp"; + editorTemplate -addSeparator; + editorTemplate -l"opacity" -addControl "f_transparency"; + editorTemplate -endLayout-en; + + editorTemplate -endLayout-en; + + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -l "n.layers" -addControl "f_nSlots"; + editorTemplate -addSeparator; + + editorTemplate -beginLayout "base.options" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -l "c.hue" -addControl "f_layerHue_0"; + editorTemplate -l "c.sat" -addControl "f_layerSat_0"; + editorTemplate -l "c.val" -addControl "f_layerVal_0"; + + editorTemplate -addSeparator; + editorTemplate -l "c.invert" -addControl "f_layerInvert_0"; + editorTemplate -addSeparator; + + editorTemplate -endLayout-en; + + + +//hide base layer opacity attrs + editorTemplate -s "f_enableLayer_0"; + editorTemplate -s "f_opacityLayer_0"; + editorTemplate -s "f_blendMode_0"; + editorTemplate -s "f_layerWpow_0"; + editorTemplate -s "f_layerInvAlpha_0"; + editorTemplate -s "f_layerAlpha_0"; + editorTemplate -s "f_layerAlphaBias_0"; + editorTemplate -s "f_layerAlphaGain_0"; + editorTemplate -s "f_layerAlphaContrast_0"; + + editorTemplate -addSeparator; + editorTemplate -l"layerName_0" -addControl "layerName_0"; + editorTemplate -addSeparator; + editorTemplate -l ":: base.color" -addControl "f_colorLayer_0"; + editorTemplate -addSeparator; + editorTemplate -addSeparator; + + +//mix8.layer rollouts + //editorTemplate -beginLayout "mix.8layer" -collapse 0 -bn; + editorTemplate -addSeparator; + + + int $o; + for ($o = 1; $o < 8; $o++){ + + $rr = 1; + if ($o==1)$rr=0; + + editorTemplate -beginLayout ("layer."+$o) -collapse $rr -bn; + + + editorTemplate -beginLayout ".options" -collapse 1 -bn; + + editorTemplate -beginLayout "..fb" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -l "put.in.framebuffer" -addControl ("f_framebuffer_"+$o); + editorTemplate -l "isolate" -addControl ("f_fbisolate_"+$o); + editorTemplate -s ("f_fbrenumber_"+$o); + editorTemplate -callCustom "AEmix8L_fbrn" + "AEmix8L_fbrn_replace" ("f_fbrenumber_"+$o) ; + editorTemplate -endLayout-en; + + editorTemplate -beginLayout "..cc" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -l "hue" -addControl ("f_layerHue_"+$o); + editorTemplate -l "sat" -addControl ("f_layerSat_"+$o); + editorTemplate -l "val" -addControl ("f_layerVal_"+$o); + editorTemplate -addSeparator; + editorTemplate -l "c.invert" -addControl ("f_layerInvert_"+$o); + //editorTemplate -addSeparator; + editorTemplate -endLayout-en; + + editorTemplate -beginLayout "..alpha" -collapse 1 -bn; + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -l "gamma" -addControl ("f_layerWpow_"+$o); + editorTemplate -l "bias" -addControl ("f_layerAlphaBias_"+$o); + editorTemplate -l "gain" -addControl ("f_layerAlphaGain_"+$o); + editorTemplate -l "contrast" -addControl ("f_layerAlphaContrast_"+$o); + editorTemplate -addSeparator; + editorTemplate -l "alpha.invert" -addControl ("f_layerInvAlpha_"+$o); + editorTemplate -addSeparator; + editorTemplate -l "use alpha.channel" -addControl ("f_layerAlpha_"+$o); + editorTemplate -endLayout-en; + + editorTemplate -endLayout-en; + + + editorTemplate -addSeparator; + editorTemplate -l"Enable" -addControl ("f_enableLayer_"+$o); + editorTemplate -addSeparator; + editorTemplate -addSeparator; + + editorTemplate -l("layerName_"+$o) -addControl ("layerName_"+$o); + + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -s ("f_blendMode_"+$o); + editorTemplate -callCustom "AEmix8L_bMode" + "AEmix8L_replace_bMode" ("f_blendMode_"+$o) ; + editorTemplate -addSeparator; + editorTemplate -l "o.factor." -addControl ("f_opacityLayer_"+$o); + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -l(":: color."+$o) -addControl ("f_colorLayer_"+$o); + editorTemplate -addSeparator; + editorTemplate -addSeparator; + editorTemplate -endLayout-en; + } + + //editorTemplate -endLayout-en; + + + editorTemplate -endLayout; +editorTemplate -endLayout; + +AEdependNodeTemplate $nodeName; + +editorTemplate -addExtraControls; +editorTemplate -endScrollLayout; +} \ No newline at end of file diff --git a/2009-x64/modules/ANIMATION/dRaster.txt b/2009-x64/modules/ANIMATION/dRaster.txt new file mode 100644 index 0000000..05a0ac6 --- /dev/null +++ b/2009-x64/modules/ANIMATION/dRaster.txt @@ -0,0 +1 @@ ++ NEX 2008 C:\userPrograms\dRaster\maya\2008 diff --git a/2009-x64/modules/DEINONYCHUS/dRaster.txt b/2009-x64/modules/DEINONYCHUS/dRaster.txt new file mode 100644 index 0000000..7e6e5b5 --- /dev/null +++ b/2009-x64/modules/DEINONYCHUS/dRaster.txt @@ -0,0 +1 @@ ++ NEX 2008 C:\3d\dRaster\maya\2008 diff --git a/2009-x64/modules/MayaBonusTools2008.Module.txt b/2009-x64/modules/MayaBonusTools2008.Module.txt new file mode 100644 index 0000000..c3e1ac1 --- /dev/null +++ b/2009-x64/modules/MayaBonusTools2008.Module.txt @@ -0,0 +1 @@ ++ MayaBonusTools2 8.5 C:\MayaBonusTools2008\ diff --git a/2009-x64/omtoolbox/about.txt b/2009-x64/omtoolbox/about.txt new file mode 100644 index 0000000..329a2b1 --- /dev/null +++ b/2009-x64/omtoolbox/about.txt @@ -0,0 +1,41 @@ +Current Version: 0.5.1 + +Update Log: + +v 0.5.1 +- Removed spyware'ish java tracker from the doc html file +- Made the installer take better care of write protected userSetup files + +v 0.5.0 +- fixed bug on linux in the select outline script +- rewrote the installer to take care of all cases I can think of in both linux and windows, and hopefully OSX as well. +- fixed GUI bug in linux which removed all content of the settings menu. +- added toggle save selection tool +- added x-ray toggle tool +- changed the select element procedure +- removed marking menu +- automated 'set deafults' from the settings menu + + +v 0.4.0 +- added scale position +- added select element +- added a Marking Menu + + +v 0.3.7 +- Rearranged and fixed some connections between tools +- New menu system +- Loop Select enhancements +- Bugfixes + + +v 0.1.2 +- Added Spin Edge/faces +- Updated 'select outline' + + +v 0.1.1 +- Combined slideLast and slideLoop (slideLoop on edge selection, else slideLast) +- Added component extrude +- Added loopSelect on faces and vertices by selecting adjacent components \ No newline at end of file diff --git a/2009-x64/omtoolbox/docs/images/selectionDragger_flowDepExplenation.jpg b/2009-x64/omtoolbox/docs/images/selectionDragger_flowDepExplenation.jpg new file mode 100644 index 0000000..b6bd717 Binary files /dev/null and b/2009-x64/omtoolbox/docs/images/selectionDragger_flowDepExplenation.jpg differ diff --git a/2009-x64/omtoolbox/docs/images/selectionDragger_projectionExplenation.jpg b/2009-x64/omtoolbox/docs/images/selectionDragger_projectionExplenation.jpg new file mode 100644 index 0000000..d885220 Binary files /dev/null and b/2009-x64/omtoolbox/docs/images/selectionDragger_projectionExplenation.jpg differ diff --git a/2009-x64/omtoolbox/docs/index.html b/2009-x64/omtoolbox/docs/index.html new file mode 100644 index 0000000..4de28dd --- /dev/null +++ b/2009-x64/omtoolbox/docs/index.html @@ -0,0 +1,361 @@ + + + + + + + + +Open Maya Toolbox Documentation + + + + + + + + +
+ + + + + + + + +
+

Open Maya Toolbox Documentation.

+ + Latest release news: 0.5.1
+ - Removed spyware'ish java tracker from this html doc
+ - Fixed the installer to take better care of write protected/network userSetup files +
+ Last release news: 0.5.0
+ - fixed bug on linux in the select outline script
+ - rewrote the installer to take care of all cases I can think of in both linux and windows, and hopefully OSX as well.
+ - fixed GUI bug in linux which removed all content of the settings menu.
+ - added toggle save selection tool
+ - added x-ray toggle tool
+ - changed the select element procedure
+ - removed marking menu
+ - automated 'set deafults' from the settings menu +
+
+ + +

        Get it going:

+ + Get the files: + + + + +
+Fetch the toolbox from the listed download mirrors.

+        Download script
+        OMToolbox @ Alias.com
+        OMToolbox @ Sourceforge.net
+
+ +The toolbox is seperated into a bunch of small files, each containing a tool.
+The tools are all managed by the OMT_toolboxMenu.mel which checks the omtoolbox/scripts dir for mel files and arranges them into known files (starting with OMT_[something] and 'custom' files. +It then creates a list of the mel files in the omtoolbox -> Settings -> Tool Managing which makes you able to load/unload whatever tools you like to appear in your menu, and furthermore set the maya mode for which you want them to appear. +

+When placing your own custom tool files in the omtoolbox dir, beware that it only contains one actual tool and that it gets executed by typing it's filename in the command line +
+
+ + Installation: + + + + +
+First of all.. Unpack the zip file to a destination of your choice. +Open the "OMT_installer.mel" located in ".../omtoolbox/installer" in Maya and copy/paste the absolute path to where you have placed the omtoolbox dir into the field and click next.
+If you cant see any issues regarding what the installer says that it is about to do, click "Install" and the OMToolbox menu should appear in your main menu. +

+If the installer fails, the procedure gets a bit more complicated. +
+Start by placing the .../omtoolbox/installer/preMade/OMToolbox.module in your /home/maya/x.x/modules (if you havn't got this directory, create one), open the file with your favorite editor and remove the "///" in front of the line matching your OS.
+Edit the path to point at your omtoolbox dir.
+If you are using a userSetup.mel file (usually located in your .../maya/x.x/scripts dir), open it and copy/paste the content of .../omtoolbox/installer/preMade/userSetup.txt into it. Save and start Maya. +
+Else simply rename .../omtoolbox/installer/preMade/userSetup.txt to userSetup.mel or copy the content into a new userSetup.mel file and place it in any scripts dir (omtoolbox/script ; home/maya/x.x/scripts ; home/maya/scripts) +
+When all of this is done, you should have omtoolbox on your menu in Maya (if not, mail someone and ask for help). +
+If no bugs were encountered, you should be set and ready to go. Have fun. + +
+
+ + + +

        Tools:

+Download Techsmith video codec

+ + + Menu System:
Jakob Welner, v 1.6
+ + + + +
+Manages the toolbox tools in a menu.
+Loads all .mel files located in the omtoolbox/scripts dir into a GUI [settings] and lets you load/unload +tools into the menu and select for which maya mode the different tools should appear in the menu.
+To use your own custom tool with the menu system, make sure that the tool gets executed by a string matching the filename (without ".mel). +Place your tool in the omtoolbox/scripts dir and load it from the settings window. +
+
+ + Save Selection Toggle:
Jakob Welner, v 1.10
+ + + + + +
+Saves component selections and reloads them once returning to the same component mode.
+Works with polygonal and subDiv meshes. +
+Save Selection sample video +
+
+ + X-Ray Toggle:
Jonathan Perry, v 1.00
+ + + + + +
+Toggles X-Ray on selected objects. + +X-Ray Toggle sample video +
+
+ + Select Loop:
Jakob Welner, v 1.01
+ + + + + +
+Selects a loop/partial selection from a poly edge selection. + +Select Loop sample video +
+
+ + Select Outline:
Henry Korol, v 1.21
+ + + + + +
+Selects an outline from a given poly face selection.
+Optionbox to switch border selections on/off +
+Select Outline sample video +
+
+ + Select Ring:
Jakob Welner, v 1.01
+ + + + + +
+Selects a loop/partial ring selection from a poly edge selection. + +Select Ring sample video +
+
+ + Select Element:
Jakob Welner, v 1.00
+ + + + + +
+Selects all geometry which has adjacent faces/edges/vertices, so that several combined geometries where the vertices hasn't been merged can be selected individually. + +Select Element sample video +
+
+ + Scale Position:
Jakob Welner, v 1.00
+ + + + + +
+Enables you to move several objects as they would do if scaled while keeping their size. + +Scale Position sample video +
+
+ + Connect Components:
Jakob Welner, v 0.50
+ + + + + +
+Connects selected vertex/edge/face components and enabled the selection dragger on the new edge(s). + +Connect Components sample video +
+
+ + Extrude Components:
Jakob Welner, v 1.00
+ + + + + +
+Extrudes selected component. +   +
+
+ + Selection Dragger:
Jakob Welner, v 1.00
+ + + + + +
+Enables you to slide the current poly edge selection sideways and along 3 different normals by dragging with MMB and LMB.
+ +
+Selection Dragger sample video +
+
+ + Spin Edge:
Geoff Wedig, v 0.1a
+ + + + + +
+Spins selected edge or the adjacent edge on two selected faces one vertex counter clockwise.
+ +
+Spin Edge sample video +
+
+ + Split Around Selected:
Jakob Welner, v 0.50
+ + + + + +
+Splits around current vertex/egde/face selection and enabled the selection dragger on the new edge(s).
+ +
+Split Around Selected sample video +
+
+ + Split Loop:
Jakob Welner, v 0.50
+ + + + + +
+creates one or several loops / partial loops from a poly edge selection and enabled the selection dragger on the new edge(s).
+ +
+Split Loop sample video +
+
+
+
+
+ + + + + + + + + + +
+    * dragSlider * :
+ - Cursor: Track
+ - slide using MMB / LMB for sideways/normal slide.
+ - ctrl + MMB / LMB to adjust the multiplier
+ - shift + LMB at loopSplit snaps to smooth/noSmooth
+ - shift + MMB / LMB to snap to 10%
+ - 'q' to quit tool +
+    * Partial * :
+ Executes procedure only between two selections:
+ Supported by loopSplit, ring-/loop-select + +
+ +

+    *Normal vector calculations* :

+ + + + + +
+ - Projection: The projection option is calculated using vector projections as shown to the right. +from er vertex point of view where the forward direction is defined by the selected edge you want to move, +it uses the shortest distance from the vertex to the line going from the left verte to the right one.

+This makes it unusable in normal sliding after a split as the distance from the new vertex to the line would be zero
+ +
+ +
+ + + + + + +
+ - Flow Dependent: This one uses bezier curves to get the normal vector. +It steps one edge to each sides of the vertex where it checks the flow of the planes and generates a vector which is used to the bezier calculations.

+This makes it usable with splits but a bit more unstable as it checks on geometry not directly connected to the selection.
+ +
+ +
+ + + + + + +
+ - Similar: This one uses Mayas own normal vectors that all have similar lengths which causes all the vertices to move with the same speed
+ +
+  +
+ +
+ + + \ No newline at end of file diff --git a/2009-x64/omtoolbox/docs/videos/connectComponents.avi b/2009-x64/omtoolbox/docs/videos/connectComponents.avi new file mode 100644 index 0000000..b78222f Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/connectComponents.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/saveSelectionToggle.avi b/2009-x64/omtoolbox/docs/videos/saveSelectionToggle.avi new file mode 100644 index 0000000..3348cad Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/saveSelectionToggle.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/scalePosition.avi b/2009-x64/omtoolbox/docs/videos/scalePosition.avi new file mode 100644 index 0000000..21bd77a Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/scalePosition.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/selectElement.avi b/2009-x64/omtoolbox/docs/videos/selectElement.avi new file mode 100644 index 0000000..c1fb1c1 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/selectElement.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/selectLoop.avi b/2009-x64/omtoolbox/docs/videos/selectLoop.avi new file mode 100644 index 0000000..0ce6671 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/selectLoop.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/selectOutline.avi b/2009-x64/omtoolbox/docs/videos/selectOutline.avi new file mode 100644 index 0000000..d15c948 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/selectOutline.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/selectRing.avi b/2009-x64/omtoolbox/docs/videos/selectRing.avi new file mode 100644 index 0000000..fef85b3 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/selectRing.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/selectionDragger.avi b/2009-x64/omtoolbox/docs/videos/selectionDragger.avi new file mode 100644 index 0000000..507dabb Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/selectionDragger.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/spinEdge.avi b/2009-x64/omtoolbox/docs/videos/spinEdge.avi new file mode 100644 index 0000000..7ffb322 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/spinEdge.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/splitAroundSelected.avi b/2009-x64/omtoolbox/docs/videos/splitAroundSelected.avi new file mode 100644 index 0000000..7c24eaf Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/splitAroundSelected.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/splitLoop.avi b/2009-x64/omtoolbox/docs/videos/splitLoop.avi new file mode 100644 index 0000000..f6d49d8 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/splitLoop.avi differ diff --git a/2009-x64/omtoolbox/docs/videos/xrayToggle.avi b/2009-x64/omtoolbox/docs/videos/xrayToggle.avi new file mode 100644 index 0000000..f37d9d9 Binary files /dev/null and b/2009-x64/omtoolbox/docs/videos/xrayToggle.avi differ diff --git a/2009-x64/omtoolbox/icons/connectComponents.bmp b/2009-x64/omtoolbox/icons/connectComponents.bmp new file mode 100644 index 0000000..7578b63 Binary files /dev/null and b/2009-x64/omtoolbox/icons/connectComponents.bmp differ diff --git a/2009-x64/omtoolbox/icons/extrudeComponent.bmp b/2009-x64/omtoolbox/icons/extrudeComponent.bmp new file mode 100644 index 0000000..dbb959f Binary files /dev/null and b/2009-x64/omtoolbox/icons/extrudeComponent.bmp differ diff --git a/2009-x64/omtoolbox/icons/help.bmp b/2009-x64/omtoolbox/icons/help.bmp new file mode 100644 index 0000000..dbb959f Binary files /dev/null and b/2009-x64/omtoolbox/icons/help.bmp differ diff --git a/2009-x64/omtoolbox/icons/projectHome.bmp b/2009-x64/omtoolbox/icons/projectHome.bmp new file mode 100644 index 0000000..dbb959f Binary files /dev/null and b/2009-x64/omtoolbox/icons/projectHome.bmp differ diff --git a/2009-x64/omtoolbox/icons/scalePosition.bmp b/2009-x64/omtoolbox/icons/scalePosition.bmp new file mode 100644 index 0000000..dbb959f Binary files /dev/null and b/2009-x64/omtoolbox/icons/scalePosition.bmp differ diff --git a/2009-x64/omtoolbox/icons/selectElement.bmp b/2009-x64/omtoolbox/icons/selectElement.bmp new file mode 100644 index 0000000..dbb959f Binary files /dev/null and b/2009-x64/omtoolbox/icons/selectElement.bmp differ diff --git a/2009-x64/omtoolbox/icons/selectLoop.bmp b/2009-x64/omtoolbox/icons/selectLoop.bmp new file mode 100644 index 0000000..cdae093 Binary files /dev/null and b/2009-x64/omtoolbox/icons/selectLoop.bmp differ diff --git a/2009-x64/omtoolbox/icons/selectOutline.bmp b/2009-x64/omtoolbox/icons/selectOutline.bmp new file mode 100644 index 0000000..810e93f Binary files /dev/null and b/2009-x64/omtoolbox/icons/selectOutline.bmp differ diff --git a/2009-x64/omtoolbox/icons/selectRing.bmp b/2009-x64/omtoolbox/icons/selectRing.bmp new file mode 100644 index 0000000..d168f08 Binary files /dev/null and b/2009-x64/omtoolbox/icons/selectRing.bmp differ diff --git a/2009-x64/omtoolbox/icons/selectionDragger.bmp b/2009-x64/omtoolbox/icons/selectionDragger.bmp new file mode 100644 index 0000000..7dc1264 Binary files /dev/null and b/2009-x64/omtoolbox/icons/selectionDragger.bmp differ diff --git a/2009-x64/omtoolbox/icons/settings.bmp b/2009-x64/omtoolbox/icons/settings.bmp new file mode 100644 index 0000000..663350f Binary files /dev/null and b/2009-x64/omtoolbox/icons/settings.bmp differ diff --git a/2009-x64/omtoolbox/icons/spinEdge.bmp b/2009-x64/omtoolbox/icons/spinEdge.bmp new file mode 100644 index 0000000..dbb959f Binary files /dev/null and b/2009-x64/omtoolbox/icons/spinEdge.bmp differ diff --git a/2009-x64/omtoolbox/icons/splitAroundSelection.bmp b/2009-x64/omtoolbox/icons/splitAroundSelection.bmp new file mode 100644 index 0000000..a878ba7 Binary files /dev/null and b/2009-x64/omtoolbox/icons/splitAroundSelection.bmp differ diff --git a/2009-x64/omtoolbox/icons/splitLoop.bmp b/2009-x64/omtoolbox/icons/splitLoop.bmp new file mode 100644 index 0000000..b9f4495 Binary files /dev/null and b/2009-x64/omtoolbox/icons/splitLoop.bmp differ diff --git a/2009-x64/omtoolbox/install/Maya.env b/2009-x64/omtoolbox/install/Maya.env new file mode 100644 index 0000000..7a69071 --- /dev/null +++ b/2009-x64/omtoolbox/install/Maya.env @@ -0,0 +1,2 @@ +MAYA_SCRIPT_PATH = /full/path/to/omtoolbox/scripts +PYTHONPATH = /full/path/to/omtoolbox/pyScripts \ No newline at end of file diff --git a/2009-x64/omtoolbox/install/OMT_installer.mel b/2009-x64/omtoolbox/install/OMT_installer.mel new file mode 100644 index 0000000..deaef55 --- /dev/null +++ b/2009-x64/omtoolbox/install/OMT_installer.mel @@ -0,0 +1,381 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_installer.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: /// +/// 26th of november: 1.10 by Jakob Welner /// +/// - Fixed issue with write protected userSetup files by sourcing the old /// +/// from a newly created on including OMT patch /// +/// - Organized every 'write' procedure to onlyexecute after /// +/// pressing "install" /// +/// /// +/// 18th of november: 1.00 by Jakob Welner /// +/// - Date of creation /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Installer for OpenMaya Tools /// +/// Open this file in Maya and follow the instructions. /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + +global string $modulePath; +global string $userSetupPath; +global int $modulePerm; +global int $userSetupPerm; +global int $userSetupExists; +global string $OMTPath; +global string $omtPathField; + + + + + +// Checkin for already existing files and/or write protections, and returns a string descriping the situation +// +proc string checkFiles(int $intTest) +{ +global string $OMTPath; +global string $modulePath; +global string $userSetupPath; + +global int $userSetupExists = 1; +global int $ignoreUserSetup = 0; +global int $moduleExists = 0; + +global int $userSetupPerm = 0; + + string $dirList[]; + + string $mayaVersion = `about -version`; + string $returnString; + + + string $envPath =`getenv "MAYA_APP_DIR"`; + $envPath = ($envPath + "/" + $mayaVersion + "/"); + + +// Checking module START +/// Checking for a "maya/x.x/modules" directory.. +/// + $dirList = `getFileList -folder $envPath -filespec "modules"`; + if (size($dirList) != 0) $moduleExists = 1; + +/// Defining write path for module file and folder +/// + if ($moduleExists == 0) $modulePath = ( $envPath + "modules" ); + else if ($moduleExists == 1) $modulePath = ( $envPath + "modules/OMToolbox.module" ); + +/// Checking module END + + + +/// Checking userSetup START + + string $catchWhatIs = `whatIs userSetup`; + + if($catchWhatIs == "Unknown") + { + $userSetupPath = ($envPath + "/scripts/userSetup.mel"); + $userSetupExists = 0; + $userSetupPerm = 1; + } + else + { + //subtract magic number of 17: "Script found in: " + int $numCharacters = `size($catchWhatIs)`; + + $userSetupPath = `endString $catchWhatIs ($numCharacters-17)`; + + catchQuiet($userSetupPerm = `fopen $userSetupPath "a"`); + fclose $userSetupPerm; + + $fileId = `fopen $userSetupPath "r"`; + string $nextLine = `fgetline $fileId`; + + while ( size( $nextLine ) > 0 ) + { + if (`gmatch $nextLine "OMT_toolboxMenu;*"`) $ignoreUserSetup = 1; + $nextLine = `fgetline $fileId`; + } + fclose $fileId; + } +/// Checking userSetup END + + + + +/// Creating return string + if ($ignoreUserSetup == 1) $returnString = "Current userSetup.mel has already been patched for OMToolbox. Will ignore it.\n\n"; + else + { + if ($userSetupExists == 0) + { + $returnString = ("No existing userSetup.mel found. Will write a new one to:\n\"" + $userSetupPath + "\"\n\n"); + } + else if($userSetupPerm == 0) + { + $returnString = ("Active userSetup.mel is write protected. \nSourcing the old userSetup from a new file located in your \n\".../maya/x.x/scripts\" dir.\n\n"); + } + else $returnString = ("Will write omtoolbox entries at the bottom of existing userSetup.mel at:\n\"" + $userSetupPath + "\"\n\n"); + } + + + if ($moduleExists == 0) + { + $returnString = ($returnString + "Creating a modules dir in \n\".../maya/x.x/\" \nand writes a module file which adds the OMToolbox paths to Maya in \n\".../maya/x.x/modules/OMToolbox.module\""); + } + else $returnString = ($returnString + "Will write a new OMToolbox module file to:\n\".../maya/x.x/modules/OMToolbox.module\""); + + return $returnString; +} + + + + + + + + +global proc activateToolbox() +{ + +global string $OMTPath; + string $pathName = (fromNativePath($OMTPath) + "/scripts"); + string $os = `about -os`; + + if ($os == "nt") putenv "MAYA_SCRIPT_PATH" ((`getenv "MAYA_SCRIPT_PATH"`) + ";" + $pathName); + else if ($os == "linux") putenv "MAYA_SCRIPT_PATH" ((`getenv "MAYA_SCRIPT_PATH"`) + ":" + $pathName); + else putenv "MAYA_SCRIPT_PATH" ((`getenv "MAYA_SCRIPT_PATH"`) + ":" + $pathName); + + evalDeferred -lp rehash; + + scriptJob + -permanent + -event "MenuModeChanged" "OMT_toolboxMenu"; + + evalDeferred -lp OMT_toolboxMenu; + +} + + + + + + +// Writing entries to file +// +global proc makeWrite() +{ + +global string $OMTPath; +global string $modulePath; +global int $moduleExists; + +global string $userSetupPath; +global int $userSetupPerm; +global int $userSetupExists; + +global int $ignoreUserSetup; + string $printString; + + +//Writing to module file +// + + if ($moduleExists == 0) + { + sysFile -makeDir ($modulePath); + + $printString = ("+ OMToolbox 0.0 " + $OMTPath); + $fileId=`fopen ($modulePath + "/OMToolbox.module") "w"`; + fprint $fileId $printString; + + fclose $fileId; + } + else + { + $printString = ("+ OMToolbox 0.0 " + $OMTPath); + $fileId=`fopen $modulePath "w"`; + fprint $fileId $printString; + + fclose $fileId; + } + +//Writing to userSetup +// + if ($ignoreUserSetup == 0) + { + if ($userSetupPerm == 0) + { + string $mayaVersion = `about -version`; + string $envPath =`getenv "MAYA_APP_DIR"`; + $envPath = ($envPath + "/" + $mayaVersion + "/scripts/userSetup.mel"); + + if ($userSetupExists == 1) + { + $printString = ("// Sourcing old userSetup\nsource \"" + $userSetupPath + "\";\n\n// OMToolbox userSetup \nscriptJob \n -permanent\n -event \"MenuModeChanged\" \"OMT_toolboxMenu\";\nOMT_toolboxMenu;\n// OMT Stop"); + } + else $printString = ("\n\n// OMToolbox userSetup \nscriptJob \n -permanent\n -event \"MenuModeChanged\" \"OMT_toolboxMenu\";\nOMT_toolboxMenu;\n// OMT Stop"); + + $fileId=`fopen $envPath "w"`; + fprint $fileId $printString; + fclose $fileId; + + } + + else + { + if($userSetupExists == 1) $fileId=`fopen $userSetupPath "a"`; + else $fileId=`fopen $userSetupPath "w"`; + + $printString = ("\n\n// OMToolbox userSetup \nscriptJob \n -permanent\n -event \"MenuModeChanged\" \"OMT_toolboxMenu\";\nOMT_toolboxMenu;\n// OMT Stop"); + + fprint $fileId $printString; + + fclose $fileId; + } + } +} + + + + + + +global proc makeInstallGUI_step3() +{ + if (`window -exists installerWin`) + deleteUI installerWin; + + string $window = `window -title "OpenMayaToolbox installer: STEP 3" + -iconName "OMTinst3" + installerWin`; + + string $form = `formLayout`; + + string $colLayout = `columnLayout -columnAlign "center"`; + text -height 180 -label "Ready eddy"; + setParent ..; + + string $bottomButtons = `rowLayout -columnAlign 1 "center" -numberOfColumns 1 -columnAttach 1 "left" 445`; + button -label "Activate" -width 150 -command ("activateToolbox; " + ("deleteUI -window " + $window)); + setParent ..; + + formLayout + -edit + -attachForm $bottomButtons "bottom" 5 + -attachForm $colLayout "top" 5 + $form; + + showWindow $window; + +} + + + + + + + + +global proc makeInstallGUI_step2() +{ + if (`window -exists installerWin`) + deleteUI installerWin; + + string $window = `window -title "OpenMayaToolbox installer: STEP 2" + -iconName "OMTinst2" + installerWin`; + + string $form = `formLayout`; + string $colLayout = `columnLayout -columnAlign "left" -columnAttach "left" 5`; + + text -height 210 -label (checkFiles(42)); + setParent ..; + + string $bottomButtons = `rowLayout -columnAlign 1 "center" -columnAlign 2 "center" -numberOfColumns 2 -columnAttach 1 "left" 0 -columnAttach 2 "left" 345`; + button -label "Close" -width 150 -command ("deleteUI -window " + $window); + button -label "Install" -width 150 -command ("makeWrite;makeInstallGUI_step3"); + setParent ..; + + formLayout + -edit + -attachForm $bottomButtons "bottom" 5 + -attachForm $colLayout "top" 5 + $form; + + showWindow $window; + +} + + + +global proc makeInstallGUI_step1() +{ +global string $outPutField; +global string $OMTPath; +global string $omtPathField; + + if (`window -exists installerWin`) + deleteUI installerWin; + + string $window = `window -title "OpenMayaToolbox installer: STEP 1" + -iconName "OMTinst1" + installerWin`; + string $form = `formLayout`; + + string $colLayout = `columnLayout -columnAlign "left" -columnAttach "left" 5`; + + text -label "ABSOLUTE PATH TO THE OMTOOLBOX DIRECTORY:" -font "boldLabelFont" -width 400; + text -label "fx: Windows: C:\\absolute\\path\\to\\omtoolbox\n Linux: /absolute/path/to/omtoolbox\n" -font "smallPlainLabelFont"; + $omtPathField = `textField -width 595`; + setParent ..; + + string $bottomButtons = `rowLayout -columnAlign 1 "center" -columnAlign 2 "center" -numberOfColumns 2 -columnAttach 1 "left" 0 -columnAttach 2 "left" 345`; + button -label "Close" -width 150 -command ("deleteUI -window " + $window); + button -label "Next ->" -width 150 -command "$OMTPath = `textField -q -text $omtPathField`;makeInstallGUI_step2"; + setParent ..; + + formLayout + -edit + -attachForm $bottomButtons "bottom" 5 + -attachForm $colLayout "top" 5 + $form; + + + showWindow $window; + // Resize the window + // + window -edit -widthHeight 610 300 $window; + +} + +makeInstallGUI_step1; \ No newline at end of file diff --git a/2009-x64/omtoolbox/install/preMade/OMToolbox.module b/2009-x64/omtoolbox/install/preMade/OMToolbox.module new file mode 100644 index 0000000..f15234d --- /dev/null +++ b/2009-x64/omtoolbox/install/preMade/OMToolbox.module @@ -0,0 +1,11 @@ +/// edit this file for your o/s by removing the slashes (//) +/// from in front of the line for your o/s +/// +/// the basic format is: +/// + OMT_toolbox 0.0 "absolute path to your OMToolbox directory" + +/// Windows sample +/// + OMT_toolbox 0.0 C:\Documents and Settings\User Name\My Documents\maya\x.x\omtoolbox + +/// Linux/Rrix sample +/// + OMT_toolbox 0.0 /u/user_name/maya/x.x/omtoolbox diff --git a/2009-x64/omtoolbox/install/preMade/userSetup.mel b/2009-x64/omtoolbox/install/preMade/userSetup.mel new file mode 100644 index 0000000..8794f88 --- /dev/null +++ b/2009-x64/omtoolbox/install/preMade/userSetup.mel @@ -0,0 +1,21 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// Start: OpenMaya Toolbox userSetup.mel /// +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// if you have an existing userSetup.mel file you will need to append /// +/// this code to have all the OMtools available /// +/// cut and paste the contents of this file into your existing userSetup.mel /// +/// and restart maya to get the full effect /// +/// /// +/// scriptJob to rebuild menu as working mode changes /// +scriptJob /// + -permanent /// + -event "MenuModeChanged" "OMT_toolboxMenu"; /// + /// +/// build the menu the first time /// +OMT_toolboxMenu; /// + /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// +/// End: OpenMaya Toolbox userSetup.mel /// +/////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/2009-x64/omtoolbox/install/readme.txt b/2009-x64/omtoolbox/install/readme.txt new file mode 100644 index 0000000..892e193 --- /dev/null +++ b/2009-x64/omtoolbox/install/readme.txt @@ -0,0 +1,32 @@ +Case 1: You have an older version of OMT installed + + Copy Maya.env into your "../[username]/maya/x.x" dir + + Open Maya.env in your favorite text editor (fx. notepad) and change the paths to point to your omtoolbox directory + + Delete ../[username]/maya/x.x/modules/OMToolbox.module + + Restart Maya + + +Case 2: You have both a Maya.env and userSetup.mel file, both containing stuff. + + Open op the attached Maya.env with your favorite text editor (fx. notepad) and change the paths to point to your omtoolbox directory + + Now copy the paths one at a time and paste them into your already existing Maya.env at the end of the lines starting with "MAYA_SCRIPT_PATH" and "PYTHONPATH" accordingly. Remember to seperate the new paths with a ";" on windows and a ":" on linux/mac + + Copy the content of the attached userSetup.mel into the buttom of your existing userSetup.mel + + Restart Maya + + +Case 3: You have a clean Maya install with nonexisting userSetup.mel and an empty Maya.env file + + Copy Maya.env into your "../[username]/maya/x.x" dir + + Open Maya.env in your favorite text editor (fx. notepad) and change the paths to point to your omtoolbox directory + + Copy userSetup.mel into your "../[username]/maya/x.x/scripts" dir + + Restart Maya + diff --git a/2009-x64/omtoolbox/install/userSetup.mel b/2009-x64/omtoolbox/install/userSetup.mel new file mode 100644 index 0000000..8794f88 --- /dev/null +++ b/2009-x64/omtoolbox/install/userSetup.mel @@ -0,0 +1,21 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// Start: OpenMaya Toolbox userSetup.mel /// +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// if you have an existing userSetup.mel file you will need to append /// +/// this code to have all the OMtools available /// +/// cut and paste the contents of this file into your existing userSetup.mel /// +/// and restart maya to get the full effect /// +/// /// +/// scriptJob to rebuild menu as working mode changes /// +scriptJob /// + -permanent /// + -event "MenuModeChanged" "OMT_toolboxMenu"; /// + /// +/// build the menu the first time /// +OMT_toolboxMenu; /// + /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// +/// End: OpenMaya Toolbox userSetup.mel /// +/////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/2009-x64/omtoolbox/pyScripts/OMT_hk_delayedSelectionDragger.py b/2009-x64/omtoolbox/pyScripts/OMT_hk_delayedSelectionDragger.py new file mode 100644 index 0000000..9bc37ff --- /dev/null +++ b/2009-x64/omtoolbox/pyScripts/OMT_hk_delayedSelectionDragger.py @@ -0,0 +1,111 @@ +''' +Header: + Toolname: delayedSelectionDragger + Part: Main Scripts + Made by: Jakob Welner + Owner: Jakob Welner + +______________________________________________ +Dependencies: + OMT_to_selectionDragger.mel +______________________________________________ +Description: + Use as a press/release hotkey with following name and commands: + + selDragPress_delayed: + python("import extras_delayedSelectionDragger"); + python("extras_delayedSelectionDragger.onPress(False)"); + + selDragRelease_delayed: + python("extras_delayedSelectionDragger.onRelease(False)"); + + Enables sticky key with the selectionDragger on keyHold + Enables normal selectionDragger activation on simple press +______________________________________________ +Update log: + 08-06-2007: beta 0.1 by Jakob Welner + - Initial release +''' + + + +import maya.cmds as mc +import time +import maya.mel as mm + +### Hold button template + +delay = 0.15 +QuitException = 'QuitException' + + +def onPress(userInput): + global active + global delay + active = 1 + + + ### Procedure to execute when 'press'-state is reached + pressProcedure(userInput) + + startTime = time.time() + endTime = time.time() + + while endTime < startTime + delay: + endTime = time.time() + + if __name__ == '__main__': + prefix = '' + else: + prefix = __name__ + '.' + + mc.scriptJob(runOnce = True, idleEvent = (prefix + "onHold(" + `userInput` + ")") ) + + +def onHold(userInput): + global active + + if active == 1: + ### Procedure to execute when 'hold'-state is reached + holdProcedure(userInput) + + +def onRelease(userInput): + global active + active = 0 + + ### Procedure to execute when 'release'-state is reached + releaseProcedure(userInput) + + + + + +########################## +### Actual Procedures +########################## + +def pressProcedure(userInput): + + global hold + hold = 0 + + mm.eval("OMT_to_selectionDragger") + + + +def holdProcedure(userInput): + + global hold + hold = 1 + + + +def releaseProcedure(userInput): + + global hold + + if hold == 1: + mm.eval("OMT_to_selectionDraggerRelease") + + diff --git a/2009-x64/omtoolbox/pyScripts/OMT_hk_delayedStepKeyframe.py b/2009-x64/omtoolbox/pyScripts/OMT_hk_delayedStepKeyframe.py new file mode 100644 index 0000000..176f963 --- /dev/null +++ b/2009-x64/omtoolbox/pyScripts/OMT_hk_delayedStepKeyframe.py @@ -0,0 +1,137 @@ +''' +Header: + Toolname: delayedStepKeyframe + Part: Main Scripts + Made by: Jakob Welner + Owner: Jakob Welner + +______________________________________________ +Description: + Use as a press/release hotkey with following name and commands: + + On press: step to next/previous key + On hold: playback animation as "pley every frame" + + How to set up: + Hotkey for forward step/playback + + nextKeyPress_delayed: + python("import extras_delayedStepKeyframe"); + python("extras_delayedStepKeyframe.onPress(True)"); + + nextKeyRelease_delayed: + python("extras_delayedStepKeyframe.onRelease(True)"); + + Hotkey for backwards step/playback + + prevKeyPress_delayed: + python("import extras_delayedStepKeyframe"); + python("extras_delayedStepKeyframe.onPress(False)"); + + prevKeyRelease_delayed: + python("extras_delayedStepKeyframe.onRelease(False)"); + +______________________________________________ +Update log: + xx-xx-xxxx: beta 0.2 by Jakob Welner + - Plays back animation with "Play Every Frame" on keyhold + - New description + + 04-06-2007: beta 0.1 by Jakob Welner + - Initial release +''' + + + +import maya.cmds as mc +import time + +### Hold button template + +delay = 0.15 +QuitException = 'QuitException' + + +def onPress(userInput): + global active + global delay + active = 1 + + + ### Procedure to execute when 'press'-state is reached + pressProcedure(userInput) + + startTime = time.time() + endTime = time.time() + + while endTime < startTime + delay: + endTime = time.time() + + if __name__ == '__main__': + prefix = '' + else: + prefix = __name__ + '.' + + mc.scriptJob(runOnce = True, idleEvent = (prefix + "onHold(" + `userInput` + ")") ) + + +def onHold(userInput): + global active + + if active == 1: + ### Procedure to execute when 'hold'-state is reached + holdProcedure(userInput) + + +def onRelease(userInput): + global active + active = 0 + + ### Procedure to execute when 'release'-state is reached + releaseProcedure(userInput) + + + + + +########################## +### Actual Procedures +########################## + +def pressProcedure(userInput): + + global initPlaybackSpeed + initPlaybackSpeed = mc.playbackOptions(q=True, playbackSpeed=True) + + + if userInput == True: + mc.currentTime(mc.findKeyframe(timeSlider=True, which="next"), edit=True) + elif userInput == False: + mc.currentTime(mc.findKeyframe(timeSlider=True, which="previous"), edit=True) + else: + raise QuitException, "# pressProcedure >> Wrong input: " + `userInput` + + + +def holdProcedure(userInput): + + global initPlaybackSpeed + mc.playbackOptions(playbackSpeed = 0) + + + if userInput == True: + mc.play( forward = True ) + elif userInput == False: + mc.play( forward = False ) + + + +def releaseProcedure(userInput): + + global initPlaybackSpeed + + mc.play( state = False) + + mc.playbackOptions(playbackSpeed = initPlaybackSpeed) + + diff --git a/2009-x64/omtoolbox/pyScripts/OMT_to_overshoot.py b/2009-x64/omtoolbox/pyScripts/OMT_to_overshoot.py new file mode 100644 index 0000000..b8688c9 --- /dev/null +++ b/2009-x64/omtoolbox/pyScripts/OMT_to_overshoot.py @@ -0,0 +1,192 @@ +''' +Header: + Toolname: OMT_to_overshoot.py + Part: Main Script + Made By: Jakob Welner + Owner: Jakob Welner + +______________________________________________ +Update Log: + xx-xx-xxxx: v0.1 by Jakob Welner + - First version + +______________________________________________ +Todo: + Generel: Fix names + +______________________________________________ +Description: + Select objects (maybe also animation curves or single attributes) + set either previous- or next key, or a specific frame number from where to base calculations + slider will now setAttr on all active attributes according to difference between attributes values on current frame compared + to the given frame or key. + The difference is multiplied by the dragger delta value to either slide towards the pose on the given frame/key or exaggerate it. +______________________________________________ +''' + + + + +import maya.cmds as mc +import maya.mel as mm + +QuitException = "QuitException" + + + +def overshoot_OnPress(): + global gPrevPoint + + mc.undoInfo( swf = 0 ) + gPrevPoint = mc.draggerContext( "overshootCtx", query=True, anchorPoint=True) + + + + +def overshoot_OnDrag(): + global gPrevPoint + global attrDict + global deltaX + global lastVal + + dragPosition = mc.draggerContext( 'overshootCtx', query=True, dragPoint=True) + deltaX = lastVal + dragPosition[0] - gPrevPoint[0] + + #print "delta: ", deltaX + #print "lastVal: ", lastVal + + #button = mc.draggerContext( 'overshootCtx', query=True, button=True) + #modifier = mc.draggerContext( 'overshootCtx', query=True, modifier=True) + + + #print "setAttr on: ", selList + for attr in attrDict: + mc.setAttr(attr, (attrDict[attr][0] + attrDict[attr][1] * deltaX * 0.008) ) + + mc.refresh(currentView=True) + + + + +def overshoot_EndDrag(): + + global attrDict + global deltaX + global lastVal + + savedVals = {} + + ### saves new position of dragged objects and returns them to their last position + for attr in attrDict: + savedVals[attr] = mc.getAttr(attr) + + ### VERY important that this gets executed! + mc.undoInfo( swf = 1) + + + ### move back to new saved position + for attr in savedVals: + mc.setAttr( attr, savedVals[attr] ) + + lastVal = deltaX + + + + + + +def overshoot(baseFrame='previous'): + '''Input kan either be 'previous','next' or an integer''' + + global attrDict + global deltaX + global lastVal + deltaX = 0 + lastVal = 0 + + print "# Initializing drag" + + selList = mc.ls(sl=True) + + try: + ### Checking userInput + if baseFrame != 'previous' and baseFrame != 'next' and type(baseFrame) != type(123): + raise QuitException, "# init >> Input is incorrect. Only supported inputs are 'previous', 'next' or an integer" + + ### Checking selection + if selList != None: + attrDict = calcAttrDiff(selList, baseFrame) + else: + raise QuitException, "# Init >> Nothing is selected" + + ### Initializing context + if mc.draggerContext( 'overshootCtx', exists=True ) == 0: + mc.draggerContext( "overshootCtx" ) + + + ### Checking script file name (execution namespace) + if __name__ != '__main__': + prefix = __name__ + '.' + else: + prefix = '' + + mc.draggerContext( + 'overshootCtx', + edit=True, + pressCommand= prefix + 'overshoot_OnPress()', + dragCommand= prefix + 'overshoot_OnDrag()', + releaseCommand= prefix + 'overshoot_EndDrag()', + cursor='crossHair' + ); + + + mm.eval('storeLastAction( "restoreLastContext " + `currentCtx` )') + mc.setToolTo( 'overshootCtx' ) + + except QuitException, arg: + print "### Tool terminated ###" + if arg != None: + print arg, + + + + + +def calcAttrDiff(objList, baseFrame): + + currentTime = mc.currentTime(q=True) + returnDict = {} + + ### get last key for whole object + if baseFrame == 'previous': + frameNr = mc.findKeyframe(objList, which="previous") + elif baseFrame == 'next': + frameNr = mc.findKeyframe(objList, which="next") + elif type(baseFrame) == type(123): + frameNr = baseFrame + + if frameNr == currentTime: + #print baseFrame, " on obj ", obj, " equals currentTime. No multiplying possible. Skipping obj" + raise QuitException, "# calcObjMult >> Frame number equels current frame. Terminating..." + else: + print "Basing calculations on frame ", frameNr + + for obj in objList: + ### get keyable attr + attrList = mc.listAttr(obj, unlocked=True, keyable=True, visible=True, scalar=True, multi=True) + + for attr in attrList: + baseVal = mc.getAttr(obj + '.' + attr, time=frameNr) + curVal = mc.getAttr(obj + '.' + attr, time=currentTime) + + diff = curVal - baseVal + if diff > 0.001 or diff < -0.001: + returnDict[obj + '.' + attr] = [curVal, diff] + else: + pass + #print "Difference in base- and current value is less than 0.1: (", diff, ") Skipping attr: ", obj + '.' + attr + + + return returnDict + + diff --git a/2009-x64/omtoolbox/pyScripts/extras_to_toggleCulling.py b/2009-x64/omtoolbox/pyScripts/extras_to_toggleCulling.py new file mode 100644 index 0000000..150e94f --- /dev/null +++ b/2009-x64/omtoolbox/pyScripts/extras_to_toggleCulling.py @@ -0,0 +1,51 @@ +######################################################### +### +### Open Maya Tool header +### +### FILENAME: OMT_to_toggleCulling.py +### AUTHOR: Jakob Welner (jakob@welner.dk) +### +### UDTATE LOG: +### 14th of march: 1.00 by Jakob Welner +### - Created +### +### DEPENDENCIES: +### None +### +### PURPOSE & USE: +### Toggles backface culling on an off on selected polygons +### + +import maya.cmds as mc + +def toggleCulling(): + counter = 0 + objList = [] + sel = mc.ls(sl=True) + + if sel != None: + for s in sel: + if s.count('.') > 0: + objList.append(s.split('.')[0]) + + else: + objList.append(s) + + # Remove duplicates + objSet = set(objList) + + for obj in objSet: + if mc.objExists(obj + '.backfaceCulling'): + counter += 1 + + if mc.getAttr(obj + '.backfaceCulling') == 0: + mc.setAttr(obj + ".backfaceCulling", 3) + + else: + mc.setAttr(obj + ".backfaceCulling", 0) + + if counter == 0: + print 'No backface culling available for selected objects' + + else: + print 'need to select some objects', diff --git a/2009-x64/omtoolbox/scripts/OMT_to_connectComponents.mel b/2009-x64/omtoolbox/scripts/OMT_to_connectComponents.mel new file mode 100644 index 0000000..a0d0e36 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_connectComponents.mel @@ -0,0 +1,1284 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_connectComponents.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: +/// 9th of June: 0.5.2 by Jakob Welner +/// - Enabled optional autoActivation of selectionDragger +/// +/// 21th of october: 0.5.1 by Jakob Welner /// +/// - removed auto-activate selectionDragger after split /// +/// [date of update]: 0.5 by Jakob Welner /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_subtractStringArray (string $array1[], string $array2[]) +{ + string $x; + string $y; + string $newArray[]; + int $itemFound = 0; + + + for ($x in $array2) + { + $itemFound = 0; + for ($y in $array1) + { + if ($x == $y) {$itemFound = 1;} + } + if ($itemFound == 0) {$newArray[size($newArray)] = $x;} + } + + return ($newArray); +} +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_vertex2Edge(string $theVtx) +{ + + string $buffer[]; + string $listEdge[]; + string $listEdge[] = `polyInfo -ve $theVtx`; + tokenize $theVtx "." $buffer; + string $ObjectName = $buffer[0]; + int $nbVertex = tokenize($listEdge[0] ,$buffer); + $nbVertex -= 2; + string $listEdgeName[]; + for ($i=2;$i - 1; --$i ) + { + $result[ size($result) ] = $list[$i]; + } + return $result; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 Arrays /// +/// Output: String array with every component that the two arrays /// +/// have in common /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_ArrayIntersector(string $array1[] ,string $array2[] ) +{ + + string $myIntersector = `stringArrayIntersector`; + stringArrayIntersector -edit -intersect $array1 $myIntersector; + stringArrayIntersector -edit -intersect $array2 $myIntersector; + string $result[] = `stringArrayIntersector -query $myIntersector`; + stringArrayIntersector -edit -reset $myIntersector; + return $result; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a component name /// +/// Output: returns 1 if the indput name has a number and 0 if /// +/// it hasn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_haveIndex(string $indput) +{ + string $dump[]; + + int $size = `tokenize $indput "[]" $dump`; + + int $return = 0; + + if ($size == 2) + { + $return = 1; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: returns an array with the first array turned backwards /// +/// and combined with the second /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_combineStringArray(string $backwardArray[] , string $forwardArray[]) +{ + int $int; + string $return[]; + + for ($int = (size($backwardArray)-1) ; $int >= 0 ; $int--) + { + $return[(size($return))] = $backwardArray[$int]; + } + for ($int = 1 ; $int <= (size($forwardArray)-1) ; $int++) + { + $return[(size($return))] = $forwardArray[$int]; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: adds the second array at the end of the first /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_addStringArray(string $origArray[] , string $addArray[]) +{ + int $int; + + for ($int = 0 ; $int < size($addArray) ; $int++) + { + $origArray[ size($origArray) ] = $addArray[$int]; + } + return $origArray; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array on adjacent faces /// +/// output: connects the array edges and returns the polySplit /// +/// node name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_splitEdges(string $splitEdges[]) +{ + + int $int; + string $dump[]; + string $object = `OM_objectName($splitEdges[0])`; + string $splitCommand = "polySplit -ch on -s 1 "; + + for ($int = 0 ; $int <= (size($splitEdges) -1) ; $int++) + { + tokenize $splitEdges[$int] "[]" $dump; + $splitCommand = $splitCommand + "-ep " + $dump[1] + " 0.5 "; + } + string $shapeName[] = `ls -sl "*Shape"`; + $splitCommand = ($splitCommand + $shapeName[0]); + return (eval($splitCommand)); + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns a string Array with the two faces adjacent /// +/// to the input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2face(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ef $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".f[" + $dump[2] + "]"; + $return[1] = $object + ".f[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_IsEdgeBorder( string $Edge ) +{ + + string $result = 0; + string $faces[] = OM_edge2face($Edge); + if ( size($faces) < 2 ){ $result = 1 ;} + return $result ; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_inverseFacefromEdge( string $Face, string $Edge ) +{ + + string $result ; + string $FaceOfEdgeList[] = OM_edge2face($Edge); + if ($Face == $FaceOfEdgeList[0] ) $result = $FaceOfEdgeList[1]; + else $result = $FaceOfEdgeList[0]; + return $result; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns an array with the two vertices adjacent to /// +/// input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2vtx(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ev $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".vtx[" + $dump[2] + "]"; + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_inverseVertexFromEdge(string $Vertex, string $Edge) +{ + + string $Verts[] = OM_edge2vtx($Edge); + if ( $Verts[0] == $Vertex ) return $Verts[1]; + else return $Verts[0]; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge, adjacent face and edge array /// +/// Output: Returns a new edge on input face ($return[0]) if the /// +/// new edge is in $selection and not in $partials and a new/// +/// face opposite of input face on the new edge ($return[1])/// +/// If no new edges can be found on input face, /// +/// return[0] == 0 /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_newEdgeOnFaceInArray(string $edge, string $face, string $selection[]) +{ + + global string $partials[]; + + int $int; + string $dump[]; + string $object = `OM_objectName($edge)`; + string $token[]; + string $return[2]; + + $return[0] = 0; + + $token = `polyInfo -fe $face`; + tokenize ($token[0], $dump); + + for ( $int = 2 ; $int < size($dump) ; $int++) + { + if ( ($object + ".e[" + $dump[$int] + "]" ) != $edge && OM_inArray( ($object + ".e[" + $dump[$int] + "]" ), $selection ) == 1 && OM_inArray( ($object + ".e[" + $dump[$int] + "]" ), $partials ) == 0) + { + $return[0] = ( $object + ".e[" + $dump[$int] + "]" ); + $partials[ size($partials) ] = ( $object + ".e[" + $dump[$int] + "]" ); + } + } + + + if ($return[0] != 0) + { + $token = `polyInfo -ef $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".f[" + $dump[2] + "]") == $face) $return[1] = ($object + ".f[" + $dump[3] + "]"); + else $return[1] = ($object + ".f[" + $dump[2] + "]"); + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_getNextEdge ( string $Edge, string $vertices[], string $Face ) +{ + + string $Verts[] = OM_ArrayIntersector($vertices, OM_edge2vtx($Edge)); + string $V = $Verts[0]; + + int $stop = 0; + while ( $stop != 1 ) + { + $V = OM_inverseVertexFromEdge( $V, $Edge ); + string $VArray[] = {$V}; + if ( size(OM_ArrayIntersector( $VArray, $vertices ) ) == 1 ) + { + $stop = 1; return $Edge; + } + string $EdgeA[] = {$Edge}; + string $EdgeA2[] = OM_ArrayIntersector(OM_subtractStringArray($EdgeA, OM_vertex2Edge($V)), OM_face2Edge($Face)); + $Edge = $EdgeA2[0]; + } + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: edge array and a nodename /// +/// Function: Creates a slide attribute on the node /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_addSlideAttr( string $edgeList[], string $nodeName ) +{ + + int $int; + string $last; + int $sliceList[]; + + + addAttr -ln Slide -min 0.0001 -max 0.9999 -dv 0.5 -at "float" $nodeName; + setAttr -k 1 ($nodeName + ".Slide"); + addAttr -ln SlideInvert -min 0.0001 -max 0.9999 -dv 0.5 -at "float" $nodeName; + setAttr -k 1 ($nodeName + ".SlideInvert"); + + + if (`objExists "OMSlideExp"`) + { + expression -e -s ($nodeName + ".SlideInvert = 1 - " + $nodeName + ".Slide;") OMSlideExp; + } + else + { + expression -s ($nodeName + ".SlideInvert = 1 - " + $nodeName + ".Slide;") -n OMSlideExp -ae 0 -uc none ; + } + + + for ( $int = 0; $int < size($edgeList)-1; $int++ ) + { + if ( size(OM_ArrayIntersector( OM_edge2face($edgeList[$int]), OM_edge2face($edgeList[$int+1]) )) == 1 ) + { + $sliceList[$int] = 0; + } + else + { + $sliceList[$int] = 1; + } + } + + $last = ".Slide"; + connectAttr -f ($nodeName + OM_slideSwitch($last , 0)) ($nodeName + ".edge[0]"); + + for ( $int = 1; $int < size($edgeList); $int++ ) + { + connectAttr -f ($nodeName + OM_slideSwitch($last , $sliceList[$int-1])) ($nodeName + ".edge[" + $int + "]"); + $last = OM_slideSwitch($last , $sliceList[$int-1]); + } + + setAttr -keyable false ($nodeName + ".SlideInvert"); +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_splitAroundVertsOrder(string $VertexList[]) +{ + + select $VertexList; + string $edges[] = OM_getEdges(); + + string $EdgeList[]; + $EdgeList[0] = $edges[0]; + + string $Verts[] = OM_getVerts(); + string $loopEdge = $edges[0]; + string $faces[] = OM_edge2face($edges[0]); + string $loopFace = $faces[0]; + string $loopFace2 = $faces[1]; + int $stop = 0; + int $Border = 0; + int $i = 1; + + + while ( $stop != 1 ) + { + $loopEdge = OM_getNextEdge( $loopEdge, $VertexList, $loopFace ); + $EdgeList[$i++] = $loopEdge; + if ( OM_IsEdgeBorder($loopEdge) ) { $stop = 1; $Border = 1; break; } + if ( $loopEdge == $EdgeList[0] ) { $stop = 1; break; } + + $loopFace = OM_inverseFacefromEdge( $loopFace, $loopEdge ); + } + + + if ( $Border == 1 ) + { + + string $loopEdge = $EdgeList[0]; + string $loopFace = $loopFace2; + + string $EdgeList[] = OM_inverseArray($EdgeList); + + + while ( $stop != 1 ) + { + $loopEdge = OM_getNextEdge( $loopEdge, $VertexList, $loopFace ); + $EdgeList[$i++] = $loopEdge; + if ( OM_IsEdgeBorder($loopEdge) ) { $stop = 1; break; } + if ( $loopEdge == $EdgeList[0] ) { $stop = 1; break; } + + $loopFace = OM_inverseFacefromEdge( $loopFace, $loopEdge ); + } + + } + return $EdgeList; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array /// +/// Output: array with organized edges. Each ring seperated by 0 /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_sortRingEdges(string $edgeSelection[]) +{ + + global string $partials[]; + clear $partials; + + string $token[]; + string $dump[]; + string $tempArray1[]; + string $tempArray2[]; + string $faces[2]; + string $object = `OM_objectName($edgeSelection[0])`; + string $edgeNface[2]; + string $return[]; + int $int; + int $stop; + + + for ($int = 0; $int < size($edgeSelection) ; $int++) + { + + if ( OM_inArray($edgeSelection[$int], $partials) == 1) continue; + + clear $tempArray1; + clear $tempArray2; + $tempArray1[0] = $edgeSelection[$int]; + $tempArray2[0] = $edgeSelection[$int]; + + $faces = OM_edge2face($edgeSelection[$int]); + + if (OM_haveIndex($faces[0]) == 1) + { + $edgeNface[1] = $faces[0]; + do + { + $stop = 0; + $edgeNface = (OM_newEdgeOnFaceInArray( $tempArray1[ (size($tempArray1) -1) ] , $edgeNface[1], $edgeSelection)); + if ($edgeNface[0] != 0) + { + $tempArray1[ size($tempArray1) ] = $edgeNface[0]; + $partials[ size($partials) ] = $edgeNface[0]; + if (OM_haveIndex($edgeNface[1]) != 1) $stop = 1; + } + else $stop = 1; + } + while ($stop == 0); + } + if (OM_haveIndex($faces[1]) == 1) + { + $edgeNface[1] = $faces[1]; + do + { + $stop = 0; + $edgeNface = (OM_newEdgeOnFaceInArray( $tempArray2[ (size($tempArray2) -1) ] , $edgeNface[1], $edgeSelection)); + if ( $edgeNface[0] != 0) + { + $tempArray2[ size($tempArray2) ] = $edgeNface[0]; + $partials[ size($partials) ] = $edgeNface[0]; + if (OM_haveIndex($edgeNface[1]) != 1) $stop = 1; + } + else $stop = 1; + } + while ($stop == 0); + } + + $dump = OM_combineStringArray($tempArray1 , $tempArray2); + $return = OM_addStringArray($return, $dump); + $return[ size($return) ] = 0; + + + + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_connectVertices(string $vertices[]) +{ + string $Edges[] = OM_splitAroundVertsOrder($vertices); + string $NodeName[] = OM_splitEdges($Edges); + OM_addSlideAttr( $Edges, $NodeName[0] ); + + select $vertices; + GrowPolygonSelectionRegion; + GrowPolygonSelectionRegion; + polyMergeVertex -d 0.0001 -ch 1; + + string $Slide = $NodeName[0] + ".Slide"; + setAttr $Slide 0.9999; + + select $NodeName[0]; + rename $NodeName[0] "connectVertices"; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Face array /// +/// Function: split faces in array /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_connectFaces(string $selection[]) +{ + + string $splitEdges[]; + string $sortOut[]; + string $allEdges[]; + string $sharedEdges[]; + string $token[]; + string $dump[]; + string $nodeName[]; + string $object = `OM_objectName($selection[0])`; + string $old[]; + int $int; + int $n; + + string $vertexContainer[]; + int $indexCount; + string $object = `OM_objectName($selection[0])`; + string $vertexString; + + if (size($selection) > 0) + { + + + // Konverting face selection to edges and places them all in $allEdges \\ + $token = `polyInfo -fe $selection`; + + for ($tok in $token) + { + tokenize ($tok, $dump); + + for ($int = 2; $int < size($dump) ; $int++) + { + $allEdges[ size($allEdges) ] = ($object + ".e[" + $dump[$int] + "]"); + } + } + + // Placing the edges which appears more then once in $allEdges in $sharedEdges \\ + for ($n = 0 ; $n < size($allEdges) ; $n++) + { + for ($int = 0; $int < size($allEdges) ; $int++) + { + if ( $allEdges[$n] == $allEdges[$int] && $n != $int && OM_inArray($allEdges[$n], $old) == 0) + { + $sharedEdges[ size($sharedEdges) ] = $allEdges[$n]; + $old[ size($old) ] = $allEdges[$n]; + } + } + } + + + + $sortOut = (OM_sortRingEdges($sharedEdges)); + + $n = 0; + for ($int = 0 ; $int < size($sortOut) ; $int++) + { + if ($sortOut[$int] != 0) + { + $splitEdges[$n] = $sortOut[$int]; + $n++; + } + else + { + // Gets the count of vertices on the active object + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $indexCount = (size($vertexContainer)); + + $nodeName = OM_splitEdges($splitEdges); + rename $nodeName[0] "ConnectFaces"; + $n = 0; + clear $splitEdges; + + // Gets the new count of vertices and finds the added vertices + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $vertexString = $object + ".vtx[" + $indexCount + ":" + (size($vertexContainer)-1) + "]"; + } + } + hilite $object; + select -r `polyListComponentConversion -in -te $vertexString`; + + } + else warning "You need to select some faces"; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array /// +/// Function: splits edges in array /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_connectEdges(string $selection[]) +{ + + string $splitEdges[]; + string $sortOut[]; + string $nodeName[]; + int $int; + int $n = 0; + + string $vertexContainer[]; + int $indexCount; + string $object = `OM_objectName($selection[0])`; + string $vertexString; + + if (size($selection) > 0) + { + + $sortOut = (OM_sortRingEdges($selection)); + + for ($int = 0 ; $int < size($sortOut) ; $int++) + { + if ($sortOut[$int] != 0) + { + $splitEdges[$n] = $sortOut[$int]; + $n++; + } + else if (size($splitEdges) > 1) + { + + // Gets the count of vertices on the active object + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $indexCount = (size($vertexContainer)); + + $nodeName = OM_splitEdges($splitEdges); + rename $nodeName[0] "ConnectEdges"; + $n = 0; + clear $splitEdges; + + // Gets the new count of vertices and finds the added vertices + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $vertexString = $object + ".vtx[" + $indexCount + ":" + (size($vertexContainer)-1) + "]"; + + } + else + { + $n = 0; + clear $splitEdges; + } + } + + hilite $object; + select -r `polyListComponentConversion -in -te $vertexString`; + + } + else warning "You need to select some edges"; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: [selection] Only works on edges and faces /// +/// Function: Connects the selection. /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_connectComponents() +{ + string $edges[] = `filterExpand -sm 32`; + string $faces[] = `filterExpand -sm 34`; + string $vertices[] = `filterExpand -sm 31`; + + if (size($vertices) > 0 ) OM_connectVertices($vertices); + if (size($edges) > 0) OM_connectEdges($edges); + if (size($faces) > 0) OM_connectFaces($faces); + + + /// Auto drag handler: + if (`optionVar -q "OMTSettings_autoActivateDrag"`) + { + OMT_to_selectionDragger; + } + +} + +/////////////////////////////////////////////////////////////////////////////////// diff --git a/2009-x64/omtoolbox/scripts/OMT_to_overshoot.mel b/2009-x64/omtoolbox/scripts/OMT_to_overshoot.mel new file mode 100644 index 0000000..fb7f3bc --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_overshoot.mel @@ -0,0 +1,145 @@ +/// Dependencies: +/// OMT_to_overshoot.py + + +global int $pythonError = 0; + + +// Execution procedure +global proc OMT_to_overshoot() +{ + global int $pythonError; + + if ($pythonError == 0) + { + if ( `optionVar -q "OMT_ov_overshootSourceType"` == "[From Frame]") + { + print ("OMT_to_overshoot.overshoot(" + `optionVar -q "OMT_ov_overshootSourceFrame"` + ")\n"); + python("OMT_to_overshoot.overshoot(" + `optionVar -q "OMT_ov_overshootSourceFrame"` + ")"); + } + else + { + $sourceType = `optionVar -q "OMT_ov_overshootSourceType"`; + + if ($sourceType == "Previous Key") + { + print ("OMT_to_overshoot.overshoot(\"previous\")\n"); + python("OMT_to_overshoot.overshoot(\"previous\")"); + } + else if ($sourceType == "Next Key") + { + print ("OMT_to_overshoot.overshoot(\"next\")\n"); + python("OMT_to_overshoot.overshoot(\"next\")"); + + } + + } + } + else print "Overshoot >> Python module was not imported"; +} + + + + + + +// OptionBox command proc +global proc OMT_overshootOptGrpCC() +{ + string $optGrpVal = `optionMenuGrp -q -v "optionMenu_overshoot"`; + + if ($optGrpVal == "[From Frame]") + { + rowLayout -e -vis 1 "OMT_overshootFrameInput"; + } + else + { + rowLayout -e -vis 0 "OMT_overshootFrameInput"; + } + + optionVar -sv "OMT_ov_overshootSourceType" $optGrpVal; +} + + + + + + +global proc int initIntField() +{ + $sourceVal = `optionVar -q "OMT_ov_overshootSourceType"`; + if ($sourceVal == "[From Frame]") return 1; + else return 0; +} + + + + + + +global proc OMT_to_overshootOptWin() +{ + if (`window -exists OMT_overshootOptWin`) + deleteUI OMT_overshootOptWin; + + window -title "Overshoot Settings" -sizeable false OMT_overshootOptWin; + columnLayout -rowSpacing 5; + rowLayout -numberOfColumns 2 + -cw2 130 130 + -columnAttach 1 "both" 5 + -columnAttach 2 "both" 5; + + optionMenuGrp -changeCommand "OMT_overshootOptGrpCC" + -annotation "Select method for getting the start pose" + "optionMenu_overshoot"; + + menuItem -label "Previous Key" + -annotation "Uses previous key for start pose"; + menuItem -label "Next Key" + -annotation "Uses next key for start pose"; + menuItem -label "[From Frame]" + -annotation "Uses specified frame for start pose"; + + optionMenuGrp -e -v (`optionVar -q "OMT_ov_overshootSourceType"`) ("optionMenu_overshoot"); // Set the default here. + + rowLayout -numberOfColumns 2 + -vis `initIntField` + -cw2 80 50 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0 + OMT_overshootFrameInput; + + text -label "Frame nr.:"; + + intField -annotation "Type in frame number to use as start pose. (Set to [From Frame] to activate)" + -value `optionVar -q "OMT_ov_overshootSourceFrame"` + -changeCommand ("optionVar -iv OMT_ov_overshootSourceFrame `intField -q -v OMT_overshootIntField`") + OMT_overshootIntField; + + setParent..; + setParent..; + + rowLayout -numberOfColumns 2 + -cw2 130 130 + -columnAttach 1 "both" 5 + -columnAttach 2 "both" 5; + + button -command "OMT_to_overshoot" + -label "Go Go Go!"; + button -command ("deleteUI -window OMT_overshootOptWin") + -label "Close"; + setParent..; + + showWindow OMT_overshootOptWin; + + window -e -widthHeight 270 100 OMT_overshootOptWin; +} + + + +if (`optionVar -q "OMT_ov_overshootSourceType"` == 0) optionVar -sv "OMT_ov_overshootSourceType" "Previous Key"; + +if (catch(python("import OMT_to_overshoot"))) +{ + $pythonError = 1; +} diff --git a/2009-x64/omtoolbox/scripts/OMT_to_saveSelectionToggle.mel b/2009-x64/omtoolbox/scripts/OMT_to_saveSelectionToggle.mel new file mode 100644 index 0000000..742a431 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_saveSelectionToggle.mel @@ -0,0 +1,251 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_toggleSaveSelection.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: /// +/// 16th og november: 1.00 by Jakob Welner /// +/// - Date of first release /// +/// /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Toggles saving of component selections on specific components and /// +/// loading them when returning to that component selection. /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; + +global int $active; + +global int $SelectionChangedID; +global int $SelectTypeChangedID; +global int $SelectModeChangedID; + +global int $compMode; +global int $switch; + + + + + +global proc string getType() +{ + + if(`selectType -q -pv`) + { + return "pVertex"; + } + else if(`selectType -q -pe`) + { + return "pEdge"; + } + else if(`selectType -q -pf`) + { + return "pFace"; + } + else if(`selectType -q -puv`) + { + return "pUV"; + } + else return "none"; + +} + + + +proc saveSelection() +{ + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; + + string $typeString = `getType`; + + + if($typeString == "pVertex") + { + $vertexSelection = `filterExpand -sm 31`; + if(size($vertexSelection) == 0) $vertexSelection = `filterExpand -sm 36`; + } + else if($typeString == "pEdge") + { + $edgeSelection = `filterExpand -sm 32`; + if(size($edgeSelection) == 0) $edgeSelection = `filterExpand -sm 37`; + } + else if($typeString == "pFace") + { + $faceSelection = `filterExpand -sm 34`; + if(size($faceSelection) == 0) $faceSelection = `filterExpand -sm 38`; + } + else if($typeString == "pUV") + { + $uvSelection = `filterExpand -sm 35`; + if(size($uvSelection) == 0) $uvSelection = `filterExpand -sm 73`; + } +} + + + + +proc loadSelection() +{ + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; + + string $typeString = `getType`; + + + if($typeString == "pVertex") + { + if(catchQuiet(`select -r $vertexSelection`)) print "Tried to select a deleted object"; + } + else if($typeString == "pFace") + { + if(catchQuiet(`select -r $faceSelection`)) print "Tried to select a deleted object"; + } + else if($typeString == "pEdge") + { + if(catchQuiet(`select -r $edgeSelection`)) print "Tried to select a deleted object"; + } + else if($typeString == "pUV") + { + if(catchQuiet(`select -r $uvSelection`)) print "Tried to select a deleted object"; + } + +} + + + + + + +global proc OMT_selectionChange() +{ + +global int $compMode; +global int $switch; + + if ( $compMode ) + { + if ( !$switch ) + { + loadSelection; + $switch = 1; + } + else saveSelection; + } +} + + + +global proc OMT_selectModeChange() +{ + +global int $compMode; +global int $switch; + + $compMode = `selectMode -q -co`; + $switch = 0; +} + + + +global proc OMT_selectTypeChange() +{ + loadSelection; +} + + + +global proc OMT_saveFirst() +{ + if (`selectMode -q -co`) saveSelection; +} + + + + + + +global proc OMT_to_saveSelectionToggle() +{ + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; +global int $active; + +global int $SelectionChangedID = -1; +global int $SelectTypeChangedID = -1; +global int $SelectModeChangedID = -1; + + + if($active == 1) + { + + // Clearning up when toggled off + // + scriptJob -kill $SelectionChangedID -force; + scriptJob -kill $SelectTypeChangedID -force; + scriptJob -kill $SelectModeChangedID -force; + $SelectionChangedID = -1; + $SelectTypeChangedID = -1; + $SelectModeChangedID = -1; + + clear $faceSelection; + clear $edgeSelection; + clear $vertexSelection; + clear $uvSelection; + $active = 0; + print "Save Selection has been successfully deactivated."; + } + else + { + + // Activating the script + // + $SelectionChangedID = `scriptJob -event "SelectionChanged" "OMT_selectionChange" -protected`; + $SelectModeChangedID = `scriptJob -event "SelectModeChanged" "OMT_selectModeChange" -protected`; + $SelectTypeChangedID = `scriptJob -event "SelectTypeChanged" "OMT_selectTypeChange" -protected`; + OMT_saveFirst; + $active = 1; + print "Save Selection has been successfully activated."; + } + +} \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/OMT_to_scalePosition.mel b/2009-x64/omtoolbox/scripts/OMT_to_scalePosition.mel new file mode 100644 index 0000000..a6115e0 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_scalePosition.mel @@ -0,0 +1,164 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_scalePositionu.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: +/// 13th of march: 1.30 by Jakob Welner +/// - Enabled rotation as group for seperated objects +/// 23rd of january: 1.20 by Jakob Welner +/// - made objects keep position after scale if they are keyed +/// 21th of october: 1.10 by Jakob Welner +/// - Made pivot dependent instead of bounding box +/// 28th og july: 1.00 by Jakob Welner +/// - First version +/// +/// DEPENDENCIES: +/// None +/// +/// PURPOSE & USE: +/// Select some objects and use the tool to scale their position +/// closer / farther from each other +/// or rotate seperated objects as if they were a group +/// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + +global proc OMT_to_scalePosition() +{ + +global string $selObjects[]; +global string $gScale; + clear $selObjects; + + $selObjects = `ls -objectsOnly -sl`; + + + if (size($selObjects) > 1) + { + float $objPos[]; + float $objRot[]; +global string $groupName; + string $locName[]; + string $locatorNames[]; + clear $locatorNames; + + string $consName[]; +global string $constraintNames[]; + clear $constraintNames; + + int $counter = 0; + + for($obj in $selObjects) + { + $objPos = (`xform -q -piv -ws $obj`); + $objRot = (`xform -q -ro -ws $obj`); + + // creating scale locators + $locName = `spaceLocator -n ("OMT_scaleLocator" + $counter)`; + xform -ws -t $objPos[0] $objPos[1] $objPos[2] $locName[0]; + xform -ws -ro $objRot[0] $objRot[1] $objRot[2] $locName[0]; + $locatorNames[size($locatorNames)] = $locName[0]; + + // Constrain + $consName = `parentConstraint -n ("OMT_scaleConstraint" + $counter) $locName[0] $obj`; + $constraintNames[size($constraintNames)] = $consName[0]; + + $counter++; + } + + $groupName = `group -n "OMT_scalePosGroup" $locatorNames`; + + // Sets group pivot to center of object bounding box + xform -cp $groupName; + + hide $locatorNames; + + hilite $selObjects; + + storeLastAction( "restoreLastContext " + `currentCtx` ); + setToolTo $gScale; + + +// Choose for keyed objects or not. +// if($keyed == 1) scriptJob -runOnce true -compressUndo true -e "SelectionChanged" "OMT_reposScaled($selObjects, $constraintNames, $groupName)"; +// else scriptJob -runOnce true -compressUndo true -e "SelectionChanged" "delete $constraintNames; delete $groupName;"; + + scriptJob -runOnce true -compressUndo true -e "SelectionChanged" "OMT_reposScaled($selObjects, $constraintNames, $groupName)"; + + } + else warning "You need to select at least 2 objects"; + + +} + + +global proc OMT_reposScaled(string $selObjects[], string $constraintNames[], string $groupName) +{ +global string $gLastAction; + vector $objPos[]; + vector $objRot[]; + float $tx; + float $ty; + float $tz; + + float $rx; + float $ry; + float $rz; + + vector $tempVector1; + vector $tempVector2; + + for($o in $selObjects) + { + $tx = `getAttr ($o + ".tx")`; + $ty = `getAttr ($o + ".ty")`; + $tz = `getAttr ($o + ".tz")`; + $objPos[size($objPos)] = <<$tx, $ty, $tz>>; + + $rx = `getAttr ($o + ".rx")`; + $ry = `getAttr ($o + ".ry")`; + $rz = `getAttr ($o + ".rz")`; + $objRot[size($objRot)] = <<$rx, $ry, $rz>>; + } + + delete $constraintNames; + delete $groupName; + + for ($i = 0; $i < size($selObjects) ; $i++) + { + $tempVector1 = $objPos[$i]; + setAttr ($selObjects[$i] + ".tx") ($tempVector1.x); + setAttr ($selObjects[$i] + ".ty") ($tempVector1.y); + setAttr ($selObjects[$i] + ".tz") ($tempVector1.z); + + $tempVector2 = $objRot[$i]; + setAttr ($selObjects[$i] + ".rx") ($tempVector2.x); + setAttr ($selObjects[$i] + ".ry") ($tempVector2.y); + setAttr ($selObjects[$i] + ".rz") ($tempVector2.z); + } + + eval $gLastAction; + select -r $selObjects; +} \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/OMT_to_selectElement.mel b/2009-x64/omtoolbox/scripts/OMT_to_selectElement.mel new file mode 100644 index 0000000..d89ff42 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_selectElement.mel @@ -0,0 +1,56 @@ +// Copyright (C) 1997-2004 Alias Systems Corp. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias license agreement, without fee. +// +// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +global proc OMT_to_selectElement() +// +// Description: +// Select either a shell or border based on +// the current component selection +// Arguments: +// borderOnly +// Returns: +// +// +{ + string $compSel[]; + + // Process all the subdiv components first + string $subdComps[]; + + if (`isTrue "SubdivUIExists"`) { + + $subdComps = `subdListComponentConversion -fv -ff -fuv -fe -tuv`; + + // Process only one subd component type: UVs, Faces, edges + $subdComps = `filterExpand -ex false -sm 73 $subdComps`; + if (size($subdComps)) { + + $subdComps = `subdListComponentConversion -fuv -tuv -uvs $subdComps`; + } + } // if SubdivUIExists + + // Turn on shell mode for current selection. + polySelectConstraint -t 0; + polySelectConstraint -sh 1 -bo 0 -m 2; + + + // Reset shell constraint + polySelectConstraint -sh 0 -bo 0 -m 0; + + // Add to the selection list the subd components + if( size($subdComps) > 0 ) { + select -add $subdComps; + } +} diff --git a/2009-x64/omtoolbox/scripts/OMT_to_selectLoop.mel b/2009-x64/omtoolbox/scripts/OMT_to_selectLoop.mel new file mode 100644 index 0000000..7b8fea6 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_selectLoop.mel @@ -0,0 +1,1171 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_selectLoop.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: /// +/// [date of update]: 1.01 by Jakob Welner /// +/// - Made it independent /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: string and array /// +/// Output: returns 1 if string occurs in array, 0 if not /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_inArray( string $string , string $array[]) +{ + int $int; + int $return = 0; + + for ($int = 0 ; $int < size($array) ; $int++) + { + if ( $string == $array[$int] ) {$return = 1;} + } + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// Output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_adjacentFaces( string $edge) +{ + int $int; + int $return = 0; + + string $token[]; + string $dump[]; + + $token = `polyInfo -ef $edge`; + tokenize ($token[0], $dump); + + return (size($dump)-2); +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: adds the second array at the end of the first /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_addStringArray(string $origArray[] , string $addArray[]) +{ + int $int; + + for ($int = 0 ; $int < size($addArray) ; $int++) + { + $origArray[ size($origArray) ] = $addArray[$int]; + } + return $origArray; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a component name /// +/// Output: returns 1 if the indput name has a number and 0 if /// +/// it hasn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_haveIndex(string $indput) +{ + string $dump[]; + + int $size = `tokenize $indput "[]" $dump`; + + int $return = 0; + + if ($size == 2) + { + $return = 1; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: returns an array with the first array turned backwards /// +/// and combined with the second /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_combineStringArray(string $backwardArray[] , string $forwardArray[]) +{ + int $int; + string $return[]; + + for ($int = (size($backwardArray)-1) ; $int >= 0 ; $int--) + { + $return[(size($return))] = $backwardArray[$int]; + } + for ($int = 1 ; $int <= (size($forwardArray)-1) ; $int++) + { + $return[(size($return))] = $forwardArray[$int]; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Indput selection /// +/// Output: String: Object name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_objectName(string $objSelection) +{ + string $name[]; + + tokenize $objSelection "." $name; + + return $name[0]; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Arrays /// +/// Output: String array with every component occurs more then once /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_stringArrayGetDuplicates(string $array[]) +{ + + string $return[]; + + int $int1; + int $int2; + + for ($int1 = 0 ; $int1 < size($array) ; $int1++) + { + for ($int2 = 1 ; $int2 < size($array) ; $int2++) + { + if ($int1 == $int2) continue; + else if ($array[$int1] == $array[$int2]) $return[size($return)] = $array[$int1]; + } + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns an array with the two vertices adjacent to /// +/// input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2vtx(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ev $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".vtx[" + $dump[2] + "]"; + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a vertex /// +/// Output: returns 1 if the vertex's a quad and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_isVtxQuad(string $vtx ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OM_haveIndex($vtx) == 1 ) + { + $token = `polyInfo -ve $vtx`; + tokenize ($token[0], $dump); + + if (size($dump) == 6 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge plus a quad vertex adjacent to the edge. /// +/// Output: string array, where [0] is the edge on the opposite side/// +/// of the vertex and [1] is the new vertex adjacent to the /// +/// new edge, where the vtx isn't similar to the input /// +/// vertex /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_OppEdgeOnVtx(string $edge, string $quadVtx) +{ + + string $token[]; + string $dump[]; + string $return[]; + string $object = `OM_objectName($edge)`; + int $int; + + $token = `polyInfo -ve $quadVtx`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + + if( ($object + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + $token = `polyInfo -ev $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".vtx[" + $dump[2] + "]") == $quadVtx) + { + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".vtx[" + $dump[2] + "]"; + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a vertex /// +/// Output: returns 1 if the vertex's a tris and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_isVtxTris(string $vtx ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OM_haveIndex($vtx) == 1 ) + { + $token = `polyInfo -ve $vtx`; + tokenize ($token[0], $dump); + + if (size($dump) == 5 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge plus a tris vertex adjacent to the edge. /// +/// Output: string array, where [0] is the edge on the opposite side/// +/// of the face and [1] is the new vertex adjacent to the /// +/// new edge, /// +/// where the vertex isn't similar to the input vertex /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_OppEdgeOnBorder(string $edge, string $trisVtx) +{ + + string $token[]; + string $dump[]; + string $e2f[]; + string $return[]; + string $object = `OM_objectName($edge)`; + + $token = `polyInfo -ve $trisVtx`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 4 ; $int++) + { + $token = `polyInfo -ef ($object + ".e[" + $dump[$int] + "]")`; + tokenize ($token[0], $e2f); + + if ( size($e2f) == 3 && ($object + ".e[" + $dump[$int] + "]") != $edge) + { + $return[0] = ($object + ".e[" + $dump[$int] + "]"); + } + } + + $token = `polyInfo -ev $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".vtx[" + $dump[2] + "]") == $trisVtx) + { + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".vtx[" + $dump[2] + "]"; + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns a string Array with the two faces adjacent /// +/// to the input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2face(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ef $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".f[" + $dump[2] + "]"; + $return[1] = $object + ".f[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a face /// +/// Output: returns 1 if the face's a quad and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_isFaceQuad(string $face ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OM_haveIndex($face) == 1 ) + { + $token = `polyInfo -fe $face`; + tokenize ($token[0], $dump); + + if (size($dump) == 6 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge plus a quad face adjacent to the edge. /// +/// Output: string array, where [0] is the edge on the opposite side/// +/// of the face and [1] is the new face adjacent to the new /// +/// edge, where the face isn't similar to the input face /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_OppEdgeOnFace(string $edge, string $quadFace) +{ + + string $token[]; + string $dump[]; + string $return[]; + string $object = `OM_objectName($edge)`; + + $token = `polyInfo -fe $quadFace`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + if( (OM_objectName($edge) + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + $token = `polyInfo -ef $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".f[" + $dump[2] + "]") == $quadFace) + { + $return[1] = $object + ".f[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".f[" + $dump[2] + "]"; + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge and edge array /// +/// Output: String array with loopedges. /// +/// If only one edge appear on the loop it returns a whole /// +/// loop. /// +/// If a element in $selection is detected on the loop it /// +/// only selects a partial loop between input and the /// +/// $selection element /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_listLoop(string $edge1, string $selection[]) +{ + + global string $partials[]; + + string $dump[]; + string $token[]; + string $split1[]; + string $split2[]; + string $vtx[]; + string $return[]; + int $stop; + int $partialBool = 0; + int $stoppedSplit; + int $int; + int $intVtx0; + int $intVtx1; + + + $split1[0] = $edge1; + $split2[0] = $edge1; + + $vtx = OM_edge2vtx($edge1); + $int = OM_isVtxQuad($vtx[0]); + + if ($int == 0) + { + if (OM_isVtxQuad($vtx[1])) + { + $edgeNvtx[1] = $vtx[1]; + do + { + $stop = 0; + $edgeNvtx = OM_OppEdgeOnVtx($split2[(size($split2) -1)], $edgeNvtx[1]); + $split2[size($split2)] = $edgeNvtx[0]; + + if ( $edgeNvtx[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNvtx[0], $selection) == 1) + { + $partialBool = 1; + $partials[size($partials)] = $edgeNvtx[0]; + $stop = 1; + } + } + while (OM_isVtxQuad($edgeNvtx[1]) == 1 && $stop == 0); + } + else if (OM_adjacentFaces($edge1) == 1) + { + $intVtx0 = OM_isVtxTris($vtx[0]); + $intVtx1 = OM_isVtxTris($vtx[1]); + + if ( $intVtx0 == 1 || $intVtx1 == 1 ) + { + switch ( $intVtx0 ) + { + case 1: + $edgeNvtx[1] = $vtx[0]; + do + { + $stop = 0; + $edgeNvtx = (OM_OppEdgeOnBorder( $split1[ (size($split1)-1) ] , $edgeNvtx[1] )); + $split1[ size($split1) ] = $edgeNvtx[0]; + + if ($edgeNvtx[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNvtx[0], $selection) == 1 ) + { + $partialBool = 1; + $partials[size($partials)] = $edgeNvtx[0]; + $stop = 1; + } + } + while (OM_isVtxTris($edgeNvtx[1]) == 1 && $stop == 0); + + if ($stop == 1) break; + + case 0: + if (OM_isVtxTris($vtx[1])) + { + $edgeNvtx[1] = $vtx[1]; + do + { + $stop = 0; + $edgeNvtx = OM_OppEdgeOnBorder($split2[(size($split2) -1)], $edgeNvtx[1]); + $split2[size($split2)] = $edgeNvtx[0]; + + if ($edgeNvtx[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNvtx[0], $selection) == 1 ) + { + $partialBool = 1; + $partials[size($partials)] = $edgeNvtx[0]; + $stop = 1; + } + } + while (OM_isVtxTris($edgeNvtx[1]) == 1 && $stop == 0); + } + + + } + } + } + else warning "This is not a loopEdge"; + } + + + else + { + + switch ( $int ) + { + case 1: + + $edgeNvtx[1] = $vtx[0]; + $stoppedSplit = 1; + do + { + $stop = 0; + $edgeNvtx = (OM_OppEdgeOnVtx( $split1[ (size($split1)-1) ] , $edgeNvtx[1] )); + $split1[ size($split1) ] = $edgeNvtx[0]; + + if ( $split1[ (size($split1)-1) ] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNvtx[0], $selection) == 1) + { + $stoppedSplit = 0; + $partialBool = 1; + $partials[size($partials)] = $edgeNvtx[0]; + $stop = 1; + } + } + while (OM_isVtxQuad($edgeNvtx[1]) == 1 && $stop == 0); + if ($edgeNvtx[0] == $edge1) break; + + + + + case 0: + if (OM_isVtxQuad($vtx[1])) + { + $edgeNvtx[1] = $vtx[1]; + $stoppedSplit = ($stoppedSplit + 2); + do + { + $stop = 0; + $edgeNvtx = OM_OppEdgeOnVtx($split2[(size($split2) -1)], $edgeNvtx[1]); + $split2[size($split2)] = $edgeNvtx[0]; + + if ($edgeNvtx[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray( $edgeNvtx[0], $selection) == 1) + { + $stoppedSplit = ($stoppedSplit - 2); + $partialBool = 1; + $partials[ size($partials) ] = $edgeNvtx[0]; + $stop = 1; + } + } + while (OM_isVtxQuad($edgeNvtx[1]) == 1 && $stop == 0); + } + + + } + } + + + if ($partialBool == 1) + { + + if (size($split1) == 1) $return = $split2; + else if (size($split2)== 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedSplit != 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedSplit == 1) $return = $split2; + else if (size($split1) > size($split2) && $stoppedSplit != 2) $return = $split2; + else if (size($split1) > size($split2) && $stoppedSplit == 2) $return = $split1; + else if (size($split1) == size($split2) && $stoppedSplit != 1) $return = $split1; + else if (size($split1) == size($split2) && $stoppedSplit != 2) $return = $split2; + + } + else $return = OM_combineStringArray($split1 , $split2); + + return $return; + + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge and edge array /// +/// Output: String array with ringedges. /// +/// If only one edge appear on the ring it returns a whole /// +/// ringloop. /// +/// If a element in $selection is detected on the ring it /// +/// only selects a partial ring between input and the /// +/// $selection element /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_listRing(string $edge1, string $selection[]) +{ + + global string $partials[]; + + string $dump[]; + string $token[]; + string $split1[]; + string $split2[]; + string $faces[]; + string $return[]; + int $stop; + int $int; + int $stoppedRing; + int $partialBool = 0; + + + $split1[0] = $edge1; + $split2[0] = $edge1; + + + $faces = OM_edge2face($edge1); + $int = OM_isFaceQuad($faces[0]); + + switch ( $int ) + { + case 1: + $edgeNface[1] = $faces[0]; + $stoppedRing = 1; + do + { + $stop = 0; + $edgeNface = (OM_OppEdgeOnFace( $split1[ (size($split1)-1) ] , $edgeNface[1] )); + $split1[ size($split1) ] = $edgeNface[0]; + + if ($edgeNface[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNface[0], $selection) == 1) + { + $stoppedRing = 0; + $partialBool = 1; + $partials[size($partials)] = $edgeNface[0]; + $stop = 1; + } + } + while (OM_isFaceQuad($edgeNface[1]) == 1 && $stop == 0); + if ($edgeNface[0] == $edge1) break; + + case 0: + if (OM_isFaceQuad($faces[1])) + { + $edgeNface[1] = $faces[1]; + $stoppedRing = ($stoppedRing + 2); + do + { + $stop = 0; + $edgeNface = OM_OppEdgeOnFace($split2[(size($split2) -1)], $edgeNface[1]); + $split2[size($split2)] = $edgeNface[0]; + + if ($edgeNface[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNface[0] , $selection) == 1) + { + $stoppedRing = ($stoppedRing - 2); + $partialBool = 1; + $partials[size($partials)] = $edgeNface[0]; + $stop = 1; + } + } + while (OM_isFaceQuad($edgeNface[1]) == 1 && $stop == 0); + } + + + } + + if ($partialBool == 1) + { + if (size($split1) == 1) $return = $split2; + else if (size($split2)== 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedRing != 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedRing == 1) $return = $split2; + else if (size($split1) > size($split2) && $stoppedRing != 2) $return = $split2; + else if (size($split1) > size($split2) && $stoppedRing == 2) $return = $split1; + else if (size($split1) == size($split2) && $stoppedRing != 1) $return = $split1; + else if (size($split1) == size($split2) && $stoppedRing != 2) $return = $split2; + + } + else $return = OM_combineStringArray($split1 , $split2); + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: Component Selection /// +/// Function: LoopSelection on each component. Two or more edges /// +/// appear on the same loop, it makes a partial selection /// +/// in stead (provided that selection is edges) /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_selectLoop() +{ + global string $partials[]; + clear $partials; + + string $select[]; + string $listLoop[]; + + clear $partials; + + string $selection[]; + + + + //edges + if (size(`filterExpand -sm 32`) > 0) + { + $selection = `filterExpand -sm 32`; + + undoInfo -swf 0; + for ($sel in $selection) + { + if (OM_inArray($sel, $partials) == 1) continue; + $listLoop = OM_listLoop($sel,$selection); + $select = (OM_addStringArray($select, $listLoop )); + } + undoInfo -swf 1; + select -r $select; + + } + + + //vertices + else if (size(`filterExpand -sm 31`) > 0) + { + + string $token[]; + string $dump[]; + string $edgeList[]; + int $int; + + undoInfo -swf 0; + + $selection = `filterExpand -sm 31`; + + string $object = `OM_objectName($selection[0])`; + + for ($sel in $selection) + { + $token = `polyInfo -ve $sel`; + tokenize ($token[0], $dump); + + for ($int = 2; $int < size($dump) ; $int++) + { + $edgeList[size($edgeList)] = $dump[$int]; + } + } + + $dump = OM_stringArrayGetDuplicates($edgeList); + clear $selection; + for ($d in $dump) $selection[size($selection)] = ($object + ".e[" + $d + "]"); + + + for ($sel in $selection) + { + if (OM_inArray($sel, $partials) == 1) continue; + $listLoop = OM_listLoop($sel,$selection); + $select = (OM_addStringArray($select, $listLoop )); + } + + select -r $select; + ConvertSelectionToVertices; + $select = `ls -sl`; + + undoInfo -swf 1; + + select -r $select; + + } + + + + //faces + else if (size(`filterExpand -sm 34`) > 0) + { + + string $token[]; + string $dump[]; + string $edgeList[]; + int $int; + + undoInfo -swf 0; + + $selection = `filterExpand -sm 34`; + + string $object = `OM_objectName($selection[0])`; + + for ($sel in $selection) + { + $token = `polyInfo -fe $sel`; + tokenize ($token[0], $dump); + + for ($int = 2; $int < size($dump) ; $int++) + { + $edgeList[size($edgeList)] = $dump[$int]; + } + } + + $dump = OM_stringArrayGetDuplicates($edgeList); + clear $selection; + for ($d in $dump) $selection[size($selection)] = ($object + ".e[" + $d + "]"); + + + for ( $sel in $selection ) + { + if (OM_inArray($sel, $partials) == 1) continue; + $select = (OM_addStringArray($select, ( OM_listRing($sel,$selection) ) )); + } + + select -r $select; + ConvertSelectionToFaces; + $select = `ls -sl`; + + undoInfo -swf 1; + + select -r $select; + + + } + else + { + warning "You need some kind of loop-like-selectable selection, which'll be edges, vertices and faces"; + } + + + undoInfo -swf 1; + +} + +/////////////////////////////////////////////////////////////////////////////////// diff --git a/2009-x64/omtoolbox/scripts/OMT_to_selectOutline.mel b/2009-x64/omtoolbox/scripts/OMT_to_selectOutline.mel new file mode 100644 index 0000000..6db2d4a --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_selectOutline.mel @@ -0,0 +1,157 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_selectOutline.mel /// +/// AUTHOR: Henry Korol (henrykorol@yahoo.com) /// +/// /// +/// UDTATE LOG: /// +/// 8th of november: 1.21 by Jakob Welner /// +/// - Fixed syntax error only occuring under linux /// +/// - Fixed optionbox to work under linux /// +/// /// +/// 18th of april: 1.20 by Jakob Welner /// +/// - Fixed vertex & edge support and selection mask /// +/// /// +/// 16th of april: 1.10 by Jakob Welner /// +/// - Added optionBox /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Selects the border of current polygon face selection. /// +/// Optionbox to enable/diable border selecting. /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + +global proc OMT_to_selectOutlineOptWin() +{ + if (`window -exists borderSelectOptWin`) + deleteUI borderSelectOptWin; + + window -widthHeight 400 380 -title "Tool Settings" -sizeable false borderSelectOptWin; + string $mainForm = `formLayout`; + columnLayout -rowSpacing 10; + rowLayout -numberOfColumns 1 -columnWidth 1 380; + text -label " Select: Outline"; + setParent ..; + + string $mainTab = `tabLayout`; + string $tabFrame = `frameLayout -label "Select: Outline Options" -width 380 -collapsable 1 -collapse 1 -borderStyle "etchedIn"`; + columnLayout -columnAlign "left"; + tabLayout -e -tabLabel $tabFrame "Tool Defaults" $mainTab; + checkBox + -label "Select border outlines" + -width 380 + -value `optionVar -q OMT_selectOutlineBorderSelect` + -onc "optionVar -iv OMT_selectOutlineBorderSelect 1" + -ofc "optionVar -iv OMT_selectOutlineBorderSelect 0" + selectBorderSettings; + setParent ..; + setParent ..; + setParent ..; + setParent ..; + + + string $resetButton = + `button + -label "Reset Tool" + -command "optionVar -iv OMT_selectOutlineBorderSelect 1; checkBox -edit -value 1 selectBorderSettings;"`; + + string $closeButton = + `button + -label "Close" + -command "deleteUI borderSelectOptWin"`; + + formLayout -edit + -attachForm $resetButton "bottom" 6 + -attachForm $resetButton "left" 6 + -attachPosition $resetButton "right" 0 46 + $mainForm; + + formLayout -edit + -attachForm $closeButton "bottom" 6 + -attachControl $closeButton "left" 6 $resetButton + -attachForm $closeButton "right" 6 + $mainForm; + + showWindow borderSelectOptWin; +} + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: Selection and a int to set border selection on/off /// +/// Function: Selects the outline, if any /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_selectOutline() +{ + int $Border = `optionVar -q OMT_selectOutlineBorderSelect`; + + select -r `polyListComponentConversion -in -tf`; + string $SelFaces[] = `filterExpand -ex 0 -sm 34`; + + if(`size($SelFaces)`) + { + string $BorderEdgeArray[] = `polyListComponentConversion -te -bo`; + if(!$Border) + { + SelectEdgeMask; + select -r $BorderEdgeArray; + } + else + { + string $EdgeArray[] = `polyListComponentConversion -te`; + SelectEdgeMask; + select -r $EdgeArray; + $RestoreConstraintsCmd = `polySelectConstraint -q -sts`; + resetPolySelectConstraint; + polySelectConstraint -t 0x8000 -m 2 -w 1; + polySelectConstraint -m 0 -w 0; + eval ($RestoreConstraintsCmd); + select -add $BorderEdgeArray; + } + } + + else warning "Need to select at least one polygonal component"; +} + +/////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/OMT_to_selectRing.mel b/2009-x64/omtoolbox/scripts/OMT_to_selectRing.mel new file mode 100644 index 0000000..a3caf6e --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_selectRing.mel @@ -0,0 +1,501 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_selectRing.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: /// +/// [date of update]: 1.01 by Jakob Welner /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: string and array /// +/// Output: returns 1 if string occurs in array, 0 if not /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_inArray( string $string , string $array[]) +{ + int $int; + int $return = 0; + + for ($int = 0 ; $int < size($array) ; $int++) + { + if ( $string == $array[$int] ) {$return = 1;} + } + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: adds the second array at the end of the first /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_addStringArray(string $origArray[] , string $addArray[]) +{ + int $int; + + for ($int = 0 ; $int < size($addArray) ; $int++) + { + $origArray[ size($origArray) ] = $addArray[$int]; + } + return $origArray; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Indput selection /// +/// Output: String: Object name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_objectName(string $objSelection) +{ + string $name[]; + + tokenize $objSelection "." $name; + + return $name[0]; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a component name /// +/// Output: returns 1 if the indput name has a number and 0 if /// +/// it hasn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_haveNumber(string $indput) +{ + string $dump[]; + + int $size = `tokenize $indput "[]" $dump`; + + int $return = 0; + + if ($size == 2) + { + $return = 1; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a face /// +/// Output: returns 1 if the face's a quad and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_isFaceQuad(string $face ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OM_haveNumber($face) == 1 ) + { + $token = `polyInfo -fe $face`; + tokenize ($token[0], $dump); + + if (size($dump) == 6 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns a string Array with the two faces adjacent /// +/// to the input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2face(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ef $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".f[" + $dump[2] + "]"; + $return[1] = $object + ".f[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: returns an array with the first array turned backwards /// +/// and combined with the second /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_combineStringArray(string $backwardArray[] , string $forwardArray[]) +{ + int $int; + string $return[]; + + for ($int = (size($backwardArray)-1) ; $int >= 0 ; $int--) + { + $return[(size($return))] = $backwardArray[$int]; + } + for ($int = 1 ; $int <= (size($forwardArray)-1) ; $int++) + { + $return[(size($return))] = $forwardArray[$int]; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge plus a quad face adjacent to the edge. /// +/// Output: string array, where [0] is the edge on the opposite side/// +/// of the face and [1] is the new face adjacent to the new /// +/// edge, where the face isn't similar to the input face /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_OppEdgeOnFace(string $edge, string $quadFace) +{ + + string $token[]; + string $dump[]; + string $return[]; + string $object = `OM_objectName($edge)`; + + $token = `polyInfo -fe $quadFace`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + if( (OM_objectName($edge) + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + $token = `polyInfo -ef $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".f[" + $dump[2] + "]") == $quadFace) + { + $return[1] = $object + ".f[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".f[" + $dump[2] + "]"; + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge and edge array /// +/// Output: String array with ringedges. /// +/// If only one edge appear on the ring it returns a whole /// +/// ringloop. /// +/// If a element in $selection is detected on the ring it /// +/// only selects a partial ring between input and the /// +/// $selection element /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_listRing(string $edge1, string $selection[]) +{ + + global string $partials[]; + + string $dump[]; + string $token[]; + string $split1[]; + string $split2[]; + string $faces[]; + string $return[]; + int $stop; + int $int; + int $stoppedRing; + int $partialBool = 0; + + + $split1[0] = $edge1; + $split2[0] = $edge1; + + + $faces = OM_edge2face($edge1); + $int = OM_isFaceQuad($faces[0]); + + switch ( $int ) + { + case 1: + $edgeNface[1] = $faces[0]; + $stoppedRing = 1; + do + { + $stop = 0; + $edgeNface = (OM_OppEdgeOnFace( $split1[ (size($split1)-1) ] , $edgeNface[1] )); + $split1[ size($split1) ] = $edgeNface[0]; + + if ($edgeNface[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNface[0], $selection) == 1) + { + $stoppedRing = 0; + $partialBool = 1; + $partials[size($partials)] = $edgeNface[0]; + $stop = 1; + } + } + while (OM_isFaceQuad($edgeNface[1]) == 1 && $stop == 0); + if ($edgeNface[0] == $edge1) break; + + case 0: + if (OM_isFaceQuad($faces[1])) + { + $edgeNface[1] = $faces[1]; + $stoppedRing = ($stoppedRing + 2); + do + { + $stop = 0; + $edgeNface = OM_OppEdgeOnFace($split2[(size($split2) -1)], $edgeNface[1]); + $split2[size($split2)] = $edgeNface[0]; + + if ($edgeNface[0] == $edge1) + { + $stop = 1; + } + else if (OM_inArray($edgeNface[0] , $selection) == 1) + { + $stoppedRing = ($stoppedRing - 2); + $partialBool = 1; + $partials[size($partials)] = $edgeNface[0]; + $stop = 1; + } + } + while (OM_isFaceQuad($edgeNface[1]) == 1 && $stop == 0); + } + + + } + + if ($partialBool == 1) + { + if (size($split1) == 1) $return = $split2; + else if (size($split2)== 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedRing != 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedRing == 1) $return = $split2; + else if (size($split1) > size($split2) && $stoppedRing != 2) $return = $split2; + else if (size($split1) > size($split2) && $stoppedRing == 2) $return = $split1; + else if (size($split1) == size($split2) && $stoppedRing != 1) $return = $split1; + else if (size($split1) == size($split2) && $stoppedRing != 2) $return = $split2; + + } + else $return = OM_combineStringArray($split1 , $split2); + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: Edge Selection /// +/// Function: Ring selection from every selected edge /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_selectRing() +{ + + global string $partials[]; + clear $partials; + + string $selection[] = `filterExpand -sm 32`; + string $select[]; + + if (size($selection) == 0) error "You need to select at least one poly edge"; + else + { + undoInfo -swf 0; // Switches undo off + + for ( $sel in $selection ) + { + if (OM_inArray($sel, $partials) == 1) continue; + $select = (OM_addStringArray($select, ( OM_listRing($sel,$selection) ) )); + } + + undoInfo -swf 1; // Switches undo on + select -r $select; + } + +} + +/////////////////////////////////////////////////////////////////////////////////// diff --git a/2009-x64/omtoolbox/scripts/OMT_to_selectionDragger.mel b/2009-x64/omtoolbox/scripts/OMT_to_selectionDragger.mel new file mode 100644 index 0000000..04a2829 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_selectionDragger.mel @@ -0,0 +1,1688 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_selectionDragger.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: /// +/// 21th of october: v0.2 by Jakob Welner /// +/// - It now stores last used tool /// +/// - Added OMT_to_selectionDraggerRelease which switches back to last /// +/// used tool /// +/// /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Used on a poly edge selection it enabled you do drag the edges using /// +/// MMB and LMB /// +/// /// +/// Use OMT_to_selectionDraggerRelease to return to last active tool or as /// +/// as release command for a snappy key /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + +/////////////////////////////////////////////////////////////////////////////////// +/// DEFAULT SETTINGS /// +/// /// +/// - Set default slider multiplyer - /// +/// Set the default of your preferred multiplyer values /// + /// + global float $OMV_sideSlideMult = 0.001; /// + global float $OMV_normSlideMult = 0.005; /// + /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Define global variables /// +/////////////////////////////////////////////////////////////////////////////////// + +global string $OMV_partials[]; //Sort LoopEdges + +global string $OMV_nodeNameDrag = 0; //draggeContext +global float $OMV_gPrevPoint[3]; //draggeContext +global float $OMV_gValueX; //draggerContext +global float $OMV_gNValueX; +global float $OMV_gNValueXlast = 0.0; +global vector $OMV_AList[]; //loopSlide vectors +global vector $OMV_BList[]; //loopSlide vectors +global vector $OMV_NList[]; +global vector $OMV_startPos[]; //loopSplit vectors +global string $OMV_vtxName[]; //loopSlide vectors +global vector $OMV_endPos[]; +global vector $OMV_lastPos[]; //loopSlide setLast +global float $OMV_gNValLast; + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 vertices /// +/// Output: vector from argument one to argument two /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc vector OM_convertToVector(string $startVtx, string $endVtx) +{ + float $StartVtxPos[] = `pointPosition -w $startVtx`; + float $EndVtxPos[] = `pointPosition -w $endVtx`; + + return <<($EndVtxPos[0] - $StartVtxPos[0]),($EndVtxPos[1] - $StartVtxPos[1]),($EndVtxPos[2] - $StartVtxPos[2])>>; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: sorted loopEdge list /// +/// Output: calculates slideVectors for every edge in indput and /// +/// their start location /// +/// and stores them in AList, BList, NList and startPos /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OM_setLoopSlideVectors(string $loopEdgeList[]) +{ + + global vector $OMV_AList[]; + global vector $OMV_BList[]; + global vector $OMV_NList[]; + global vector $OMV_startPos[]; + global string $OMV_vtxName[]; + clear $OMV_AList; + clear $OMV_BList; + clear $OMV_NList; + clear $OMV_startPos; + clear $OMV_vtxName; + float $OMV_startPosTemp[]; + float $baseMag; + vector $baseProj; + vector $ATemp; + vector $baseVector; + + string $pA; + string $pB; + string $pMid; + + string $eA; + string $eB; + + string $nVectorStyle = `optionVar -q "OMT_nVectorStyle"`; + + string $token[]; + string $dump[]; + string $object = `OM_objectName($loopEdgeList[0])`; + string $edgeNvtx[2]; + int $stop = 0; + int $int; + + int $endVtx = 0; + int $last = 0; + string $tempEdge; + + + + $edgeNvtx[0] = $loopEdgeList[0]; + + $token = `polyInfo -ev $loopEdgeList[0]`; + tokenize ($token[0], $dump); + + + // Get starting vertex/edge + if (OM_isVtxQuad(($object + ".vtx[" + $dump[2] + "]")) == 1) + { + $token = OM_OppEdgeOnVtx($loopEdgeList[0], ($object + ".vtx[" + $dump[2] + "]") ); + if ($token[0] != $loopEdgeList[1] ) $edgeNvtx[1] = ($object + ".vtx[" + $dump[2] + "]"); + else + { + $edgeNvtx[1] = ($object + ".vtx[" + $dump[3] + "]"); + if (OM_isVtxTris($edgeNvtx[1])) $endVtx = 1; + } + } + else if (OM_isVtxTris(($object + ".vtx[" + $dump[2] + "]")) == 1) + { + $edgeNvtx[1] = ($object + ".vtx[" + $dump[2] + "]"); + $endVtx = 1; + } + else $edgeNvtx[1] = ($object + ".vtx[" + $dump[2] + "]"); + + + // running through indput loop and setting vectors + do + { + if ($last == 1) + { + $edgeNvtx[0] = $tempEdge; + $stop = 1; + } + + if (OM_isVtxQuad($edgeNvtx[1]) != 1 && $endVtx == 0) break; + if (OM_inArray($edgeNvtx[0], $loopEdgeList) == 0) + { + $stop = 1; + if (OM_isVtxTris($edgeNvtx[1])) $last = 1; + } + + $token = `polyInfo -ve $edgeNvtx[1]`; + tokenize ($token[0], $dump); + for ($int = 2; $int < 6; $int++) + { + if ( ($object + ".e[" + $dump[$int] + "]") == $edgeNvtx[0] ) + { + if($int == 2) + { + + if($endVtx == 0) + { + if ($last == 0){ + $eA = ($object + ".e[" + $dump[3] + "]"); + $eB = ($object + ".e[" + $dump[5] + "]"); + } + else { + $eA = ($object + ".e[" + $dump[5] + "]"); + $eB = ($object + ".e[" + $dump[3] + "]"); + } + } + if($endVtx == 1) + { + if ($last == 0){ + $eA = ($object + ".e[" + $dump[3] + "]"); + $eB = ($object + ".e[" + $dump[4] + "]"); + } + else { + $eA = ($object + ".e[" + $dump[4] + "]"); + $eB = ($object + ".e[" + $dump[3] + "]"); + } + } + + } + + else if($int == 3) + { + if ($last == 0){ + $eA = ($object + ".e[" + $dump[4] + "]"); + $eB = ($object + ".e[" + $dump[2] + "]"); + } + else { + $eA = ($object + ".e[" + $dump[2] + "]"); + $eB = ($object + ".e[" + $dump[4] + "]"); + } + } + + else if($int == 4) + { + if($endVtx == 0) + { + if ($last == 0){ + $eA = ($object + ".e[" + $dump[5] + "]"); + $eB = ($object + ".e[" + $dump[3] + "]"); + } + else { + $eA = ($object + ".e[" + $dump[3] + "]"); + $eB = ($object + ".e[" + $dump[5] + "]"); + } + } + if($endVtx == 1) + { + if ($last == 0){ + $eA = ($object + ".e[" + $dump[2] + "]"); + $eB = ($object + ".e[" + $dump[3] + "]"); + } + else { + $eA = ($object + ".e[" + $dump[3] + "]"); + $eB = ($object + ".e[" + $dump[2] + "]"); + } + } + + } + + else if($int == 5) + { + if ($endVtx == 1) break; + if ($last == 0){ + $eA = ($object + ".e[" + $dump[2] + "]"); + $eB = ($object + ".e[" + $dump[4] + "]"); + } + else { + $eA = ($object + ".e[" + $dump[4] + "]"); + $eB = ($object + ".e[" + $dump[2] + "]"); + } + } + + else break; + } + + } + + $token = `polyInfo -ev $eA`; + tokenize ($token[0], $dump); + + if ( ($object + ".vtx[" + $dump[2] + "]") == $edgeNvtx[1] ) $pA = ($object + ".vtx[" + $dump[3] + "]"); + else $pA = ($object + ".vtx[" + $dump[2] + "]"); + + $token = `polyInfo -ev $eB`; + tokenize ($token[0], $dump); + + if ( ($object + ".vtx[" + $dump[2] + "]") == $edgeNvtx[1] ) $pB = ($object + ".vtx[" + $dump[3] + "]"); + else $pB = ($object + ".vtx[" + $dump[2] + "]"); + + + + + + // set slide vectors + + $pMid = $edgeNvtx[1]; + + $OMV_AList[ size($OMV_AList) ] = OM_convertToVector($pA, $pMid); + $OMV_BList[ size($OMV_BList) ] = OM_convertToVector($pMid, $pB); + + $OMV_startPosTemp = `pointPosition -w $pA`; + $OMV_startPos[ size($OMV_startPos) ] = << $OMV_startPosTemp[0] , $OMV_startPosTemp[1] , $OMV_startPosTemp[2] >>; + + $OMV_vtxName[ size($OMV_vtxName) ] = $pMid; + + + switch( $nVectorStyle ) { + case "Flow Dependent": + $OMV_NList[ size($OMV_NList) ] = OM_getBezierNormalVector($eA, $eB, $pMid); + break; + + case "Similiar": + // nothing here yet + + + case "Projection": + default: + $baseVector = OM_convertToVector($pA, $pB); + $ATemp = $OMV_AList[ size($OMV_AList)-1 ]; + $baseMag = $baseVector; + $baseProj = ((dot($ATemp, $baseVector) / ($baseMag*$baseMag)) * $baseVector); + $OMV_NList[ size($OMV_NList) ] = ($ATemp - $baseProj); + break; + } + + + $tempEdge = $edgeNvtx[0]; + $edgeNvtx = OM_OppVtxOnEdge($edgeNvtx[0], $edgeNvtx[1]); + if ($edgeNvtx[0] == $loopEdgeList[0]) $stop = 1; + + $endVtx = 0; + $last = 0; + + if (OM_isVtxTris($edgeNvtx[1])) + { + + $endVtx = 1; + $last = 1; + } + + + } + while ($stop != 1); + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a vertex and an edge /// +/// Output: outputs the sideIndputVector for the given vertex /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc vector OM_getSideVector(string $baseVtx, string $edge) +{ + + int $int; + string $token[]; + string $dump[]; + string $object = `OM_objectName($edge)`; + string $tempVtx[]; + vector $return; + + + $token = `polyInfo -ve $baseVtx`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int < size($dump) ; $int++) + { + if (($object + ".e[" + $dump[$int] + "]") == $edge) break; + } + + if (size($dump) >= 6) + { + + string $tempEdge1; + string $tempEdge2; + + if ($int == 3) + { + $tempEdge1 = ($object + ".e[" + $dump[(size($dump)-1)] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else if ($int == 2) + { + $tempEdge1 = ($object + ".e[" + $dump[(size($dump)-2)] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else if ($int == (size($dump) - 1)) + { + $tempEdge1 = ($object + ".e[" + $dump[($int-2)] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[3] + "]"); + } + else if ($int == (size($dump) - 2)) + { + $tempEdge1 = ($object + ".e[" + $dump[($int-2)] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[2] + "]"); + } + else + { + $tempEdge1 = ($object + ".e[" + $dump[($int-2)] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[($int+2)] + "]"); + } + + // first vector \\ + $token = `polyInfo -ev $tempEdge1`; + tokenize ($token[0], $tempVtx); + + vector $tempVector1; + vector $tempVector2; + + if ($baseVtx == ($object + ".vtx[" + $tempVtx[2] + "]")) + { + $tempVector1 = OM_convertToVector(($object + ".vtx[" + $tempVtx[3] + "]"),($object + ".vtx[" + $tempVtx[2] + "]")); + } + else + { + $tempVector1 = OM_convertToVector(($object + ".vtx[" + $tempVtx[2] + "]"),($object + ".vtx[" + $tempVtx[3] + "]")); + } + + // second vector \\ + $token = `polyInfo -ev $tempEdge2`; + tokenize ($token[0], $tempVtx); + + if ($baseVtx == ($object + ".vtx[" + $tempVtx[2] + "]")) + { + $tempVector2 = OM_convertToVector(($object + ".vtx[" + $tempVtx[3] + "]"),($object + ".vtx[" + $tempVtx[2] + "]")); + } + else + { + $tempVector2 = OM_convertToVector(($object + ".vtx[" + $tempVtx[2] + "]"),($object + ".vtx[" + $tempVtx[3] + "]")); + } + + $return = (($tempVector1 + $tempVector2) / 2); + + } + + else if(size($dump) == 5) + { + + string $tempEdge1; + string $tempEdge2; + + if ($int == 2) + { + $tempEdge1 = ($object + ".e[" + $dump[4] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[3] + "]"); + } + else if ($int == 4) + { + $tempEdge1 = ($object + ".e[" + $dump[3] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[2] + "]"); + } + else if ($int == 3) + { + $tempEdge1 = ($object + ".e[" + $dump[2] + "]"); + $tempEdge2 = ($object + ".e[" + $dump[4] + "]"); + } + + // first vector \\ + $token = `polyInfo -ev $tempEdge1`; + tokenize ($token[0], $tempVtx); + + vector $tempVector1; + vector $tempVector2; + + if ($baseVtx == ($object + ".vtx[" + $tempVtx[2] + "]")) + { + $tempVector1 = OM_convertToVector(($object + ".vtx[" + $tempVtx[3] + "]"),($object + ".vtx[" + $tempVtx[2] + "]")); + } + else + { + $tempVector1 = OM_convertToVector(($object + ".vtx[" + $tempVtx[2] + "]"),($object + ".vtx[" + $tempVtx[3] + "]")); + } + + // second vector \\ + $token = `polyInfo -ev $tempEdge2`; + tokenize ($token[0], $tempVtx); + + if ($baseVtx == ($object + ".vtx[" + $tempVtx[2] + "]")) + { + $tempVector2 = OM_convertToVector(($object + ".vtx[" + $tempVtx[3] + "]"),($object + ".vtx[" + $tempVtx[2] + "]")); + } + else + { + $tempVector2 = OM_convertToVector(($object + ".vtx[" + $tempVtx[2] + "]"),($object + ".vtx[" + $tempVtx[3] + "]")); + } + + $return = (($tempVector1 + $tempVector2) / 2); + + } + +/* else if (size($dump) == 4) + { + + + string $tempEdge; + + if ($int >= 4) + { + $tempEdge = ($object + ".e[" + $dump[($int-2)] + "]"); + } + else $tempEdge = ($object + ".e[" + $dump[($int+2)] + "]"); + + $token = `polyInfo -ev $tempEdge`; + tokenize ($token[0], $tempVtx); + + if ($baseVtx == ($object + ".vtx[" + $tempVtx[2] + "]")) + { + $return = OM_convertToVector(($object + ".vtx[" + $tempVtx[3] + "]"),($object + ".vtx[" + $tempVtx[2] + "]")); + } + else + { + $return = OM_convertToVector(($object + ".vtx[" + $tempVtx[2] + "]"),($object + ".vtx[" + $tempVtx[3] + "]")); + } + } +*/ + else + { + $token = `polyInfo -ev $edge`; + tokenize ($token[0], $dump); + + if (($object + ".vtx[" + $dump[2] + "]") == $baseVtx ) $return = OM_convertToVector(($object + ".vtx[" + $dump[2] + "]"), $baseVtx); + else $return = OM_convertToVector(($object + ".vtx[" + $dump[3] + "]"), $baseVtx); + + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: loop edge string /// +/// Output: returns the normalvector for the given vertex /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc vector OM_getBezierNormalVector(string $edgeA, string $edgeB, string $vtx) +{ + + string $token[]; + string $dump[]; + float $temp[]; + string $baseVtx[]; + vector $return; + string $object = `OM_objectName($edgeA)`; + int $int; + + // Get Base vertices \\ + $token = `polyInfo -ev $edgeA`; + tokenize ($token[0], $dump); + + if ( ($object + ".vtx[" + $dump[2] + "]") == $vtx ) + { + $baseVtx[0] = ($object + ".vtx[" + $dump[3] + "]"); + } + else $baseVtx[0] = ($object + ".vtx[" + $dump[2] + "]"); + + $token = `polyInfo -ev $edgeB`; + tokenize ($token[0], $dump); + + if ( ($object + ".vtx[" + $dump[2] + "]") == $vtx ) + { + $baseVtx[1] = ($object + ".vtx[" + $dump[3] + "]"); + } + else $baseVtx[1] = ($object + ".vtx[" + $dump[2] + "]"); + + + vector $indputVector0 = OM_getSideVector(($baseVtx[0]), ($edgeA)); + vector $indputVector1 = OM_getSideVector(($baseVtx[1]), ($edgeB)); + + $return = (OM_calcBezier($baseVtx[0] , $indputVector0 , $indputVector1 , $baseVtx[1])); + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: Calculates the vector perpendicular to the line from /// +/// $p0 to $p3 which ends in the bezier curve at t=0.5 /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc vector OM_calcBezier(string $name0 , vector $name0Vec , vector $name3Vec , string $name3) +{ + + vector $return; + + float $X; + float $Y; + float $Z; + + float $Cx; + float $Bx; + float $Ax; + + float $Cy; + float $By; + float $Ay; + + float $Cz; + float $Bz; + float $Az; + + float $p0[] = `pointPosition -w $name0`; + float $p3[] = `pointPosition -w $name3`; + float $p1[]; + float $p2[]; + + //normalizing vectors: + float $length = (sqrt( pow(($p0[0]-$p3[0]),2) + pow(($p0[1]-$p3[1]),2) + pow(($p0[2]-$p3[2]),2) )) / 2; + float $vec0Mag = $name0Vec; + float $vec3Mag = $name3Vec; + + if ($vec0Mag > 0.00001) $name0Vec = ($name0Vec / $vec0Mag) * $length; + if ($vec3Mag > 0.00001) $name3Vec = ($name3Vec / $vec3Mag) * $length; + + $p1[0] = $p0[0] + ($name0Vec.x); + $p1[1] = $p0[1] + ($name0Vec.y); + $p1[2] = $p0[2] + ($name0Vec.z); + + $p2[0] = $p3[0] + ($name3Vec.x); + $p2[1] = $p3[1] + ($name3Vec.y); + $p2[2] = $p3[2] + ($name3Vec.z); + + $Cx = ( 3*( $p1[0]-$p0[0] ) ); + $Bx = ( ( 3*( $p2[0]-$p1[0] ) ) - $Cx); + $Ax = ($p3[0]-$p0[0]-$Cx-$Bx); + + $Cy = ( 3*( $p1[1]-$p0[1] ) ); + $By = ( ( 3*( $p2[1]-$p1[1] ) ) - $Cy); + $Ay = ($p3[1]-$p0[1]-$Cy-$By); + + $Cz = ( 3*( $p1[2]-$p0[2] ) ); + $Bz = ( ( 3*( $p2[2]-$p1[2] ) ) - $Cz ); + $Az = ( $p3[2]-$p0[2]-$Cz-$Bz ); + + + $X = (($Ax*pow(0.5, 3)) + ($Bx*pow(0.5, 2)) + ($Cx*0.5) + $p0[0]); + $Y = (($Ay*pow(0.5, 3)) + ($By*pow(0.5, 2)) + ($Cy*0.5) + $p0[1]); + $Z = (($Az*pow(0.5, 3)) + ($Bz*pow(0.5, 2)) + ($Cz*0.5) + $p0[2]); + + vector $nVector = << (($p1[0]+$p2[0])/2) - $X , (($p1[1] + $p2[1])/2) - $Y , (($p1[2] + $p2[2])/2) - $Z >>; + + return $nVector; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: sets the loopSlide vertices last position /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OM_loopSlideSetLastPos() +{ + global vector $OMV_lastPos[]; + global string $OMV_vtxName[]; + + float $tempPos[]; + + for ($int = 0; $int < size($OMV_vtxName) ; $int++) + { + $tempPos = `pointPosition -w $OMV_vtxName[$int]`; + $OMV_lastPos[$int] = << ($tempPos[0]) , ($tempPos[1]) , ($tempPos[2]) >>; + } + + } + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: defines doRelease in OM_loopSlideDragger /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OM_loopSlide_endDrag() +{ + undoInfo -swf 0; + + global string $OMV_vtxName[]; + global vector $OMV_endPos[]; + global vector $OMV_lastPos[]; + + float $tempPos[3]; + vector $startTemp; + vector $endTemp; + int $int; + + for ($int = 0; $int < size($OMV_vtxName) ; $int++) + { + $tempPos = `pointPosition -w $OMV_vtxName[$int]`; + $OMV_endPos[$int] = << ($tempPos[0]) , ($tempPos[1]) , ($tempPos[2]) >>; + + $lastTemp = $OMV_lastPos[$int]; + move ($lastTemp.x) ($lastTemp.y) ($lastTemp.z) ($OMV_vtxName[$int]); + } + + + undoInfo -swf 1; + + + for ($int = 0; $int < size($OMV_vtxName) ; $int++) + { + $endTemp = $OMV_endPos[$int]; + move ($endTemp.x) ($endTemp.y) ($endTemp.z) ($OMV_vtxName[$int]); + } + } + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: defines doPress in OM_loopSlideDragger /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OM_loopSlideDragger_doPress() +{ + global float $OMV_gPrevPoint[]; + + OM_loopSlideSetLastPos; + $OMV_gPrevPoint = `draggerContext -query -anchorPoint OMT_selectionDragger`; + + undoInfo -swf 0; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: Defines doDrag in OM_loopSlideDragger /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OM_loopSlideDragger_doDrag() +{ + + global vector $OMV_AList[]; + global vector $OMV_BList[]; + global vector $OMV_NList[]; + global string $OMV_vtxName[]; + global vector $OMV_startPos[]; + global vector $OMV_lastPos[]; + + global string $execString; + + global float $OMV_gPrevPoint[]; + global float $OMV_gValueX; + global float $OMV_gNValueX; + global float $OMV_sideSlideMult; + global float $OMV_normSlideMult; + float $dragPoint[]; + float $deltaX; + int $int; + + vector $ATemp; + vector $BTemp; + vector $NTemp; + vector $StartTemp; + string $tempString; + + float $AClamp; + float $BClamp; + + + int $button = `draggerContext -query -button OMT_selectionDragger`; + string $modifier = `draggerContext -query -modifier OMT_selectionDragger`; + + $dragPoint = `draggerContext -query -dragPoint OMT_selectionDragger`; + $deltaX = ($dragPoint[0] - $OMV_gPrevPoint[0]) ; + + + if ($modifier == "none" && $button == 2) + { + $OMV_gValueX += $deltaX * $OMV_sideSlideMult; + $OMV_gValueX = `clamp 0.0001 0.9999 $OMV_gValueX`; + + $AClamp = `clamp 0.0001 0.9999 (2 * $OMV_gValueX)`; + $BClamp = `clamp 0.0001 0.9999 (($OMV_gValueX - 0.5) * 2)`; + } + + + else if ($modifier == "none" && $button == 1) + { + $OMV_gNValueX += $deltaX * $OMV_normSlideMult; + $OMV_gValueX = `clamp 0.0001 0.9999 $OMV_gValueX`; + + $AClamp = `clamp 0.0001 0.9999 (2 * $OMV_gValueX)`; + $BClamp = `clamp 0.0001 0.9999 (($OMV_gValueX - 0.5) * 2)`; + } + + + else if ($modifier == "shift" && $button == 2) + { + $OMV_gValueX += $deltaX * $OMV_sideSlideMult; + $OMV_gValueX = `clamp 0.0001 0.9999 $OMV_gValueX`; + + $AClamp = `clamp 0.0001 0.9999 (2 * $OMV_gValueX)`; + $AClamp = ((trunc(($AClamp + 0.0001) * 5))/5); + $AClamp = `clamp 0.0001 0.9999 $AClamp`; + $BClamp = `clamp 0.0001 0.9999 (($OMV_gValueX - 0.5) * 2)`; + $BClamp = ((trunc(($BClamp + 0.0002) * 5))/5); + $BClamp = `clamp 0.0001 0.9999 $BClamp`; + } + + + else if ($modifier == "shift" && $button == 1) + { + if ($deltaX < 0) $OMV_gNValueX = 0; + else $OMV_gNValueX = 1; + + $OMV_gValueX = `clamp 0.0001 0.9999 $OMV_gValueX`; + + $AClamp = `clamp 0.0001 0.9999 (2 * $OMV_gValueX)`; + $BClamp = `clamp 0.0001 0.9999 (($OMV_gValueX - 0.5) * 2)`; + } + + + else if ($modifier == "ctrl" && $button == 2) + { + $OMV_sideSlideMult += $deltaX * 0.001; + $OMV_sideSlideMult = `clamp 0.0001 1 $OMV_sideSlideMult`; + print ("SideSlide Multiplier: " + $OMV_sideSlideMult + "\n"); + } + + + else if ($modifier == "ctrl" && $button == 1) + { + $OMV_normSlideMult += $deltaX * 0.005; + $OMV_normSlideMult = `clamp 0.0001 1 $OMV_normSlideMult`; + print ("NormalSlide Multiplier: " + $OMV_normSlideMult + "\n"); + } + + + + + if ($modifier != "ctrl") + { + + for ($int = 0 ; $int < size($OMV_vtxName) ; $int++) + { + $ATemp = $OMV_AList[$int]; + $BTemp = $OMV_BList[$int]; + $NTemp = $OMV_NList[$int]; + $StartTemp = $OMV_startPos[$int]; + + move -ws + ( ($StartTemp.x) + ((($ATemp.x) * $AClamp) + (($BTemp.x) * $BClamp)) + (($NTemp.x) * $OMV_gNValueX) ) + ( ($StartTemp.y) + ((($ATemp.y) * $AClamp) + (($BTemp.y) * $BClamp)) + (($NTemp.y) * $OMV_gNValueX) ) + ( ($StartTemp.z) + ((($ATemp.z) * $AClamp) + (($BTemp.z) * $BClamp)) + (($NTemp.z) * $OMV_gNValueX) ) + $OMV_vtxName[$int]; + } + } + + + $OMV_gPrevPoint = $dragPoint; + refresh -currentView; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: Returns to last tool used /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_selectionDraggerRelease() +{ + global string $gLastAction; + eval $gLastAction; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: Creates loopSlideDragger template and initiates it /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_selectionDragger() +{ + + global vector $OMV_AList[]; + global vector $OMV_BList[]; + global vector $OMV_NList[]; + global string $OMV_vtxName[]; + global vector $OMV_startPos[]; + + global string $execString; + + + string $selection[] = `filterExpand -sm 32`; + + if(size($selection) > 0) + { + + $startTime = `timerX`; + + string $sortedEdges[] = OM_sortLoopEdges($selection); + + $totalTime = `timerX -startTime $startTime`; + print ("SortEdges: "+$totalTime+"\n"); + + + + $startTime = `timerX`; + + OM_setLoopSlideVectors($sortedEdges); + + $totalTime = `timerX -startTime $startTime`; + print ("SetSlideVectors: "+$totalTime+"\n"); + + + if (!`draggerContext -exists OMT_selectionDragger`) + draggerContext OMT_selectionDragger; + + draggerContext -e + -pressCommand "OM_loopSlideDragger_doPress" + -dragCommand "OM_loopSlideDragger_doDrag" + -releaseCommand "OM_loopSlide_endDrag" + -cursor "crossHair" + OMT_selectionDragger; + + global float $OMV_gValueX; + global float $OMV_gNValueX; + + $OMV_gValueX = 0.5; + $OMV_gNValueX = 0.0; + + storeLastAction( "restoreLastContext " + `currentCtx` );setToolTo OMT_selectionDragger; + } +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array /// +/// Output: array with organized edges. Each loop seperated by 0 /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_sortLoopEdges(string $edgeSelection[]) +{ + + global string $OMV_partials[]; + clear $OMV_partials; + + string $dump[]; + string $tempArray1[]; + string $tempArray2[]; + string $vtx[2]; + string $edgeNvtx[2]; + string $return[]; + int $int; + int $stop; + + + + for ($int = 0; $int < size($edgeSelection) ; $int++) + { + + if ( OM_inArray($edgeSelection[$int], $OMV_partials) == 1) continue; + + clear $tempArray1; + clear $tempArray2; + $tempArray1[0] = $edgeSelection[$int]; + $tempArray2[0] = $edgeSelection[$int]; + + $vtx = OM_edge2vtx($edgeSelection[$int]); + + if (OM_haveIndex($vtx[0]) == 1 && OM_isVtxQuad($vtx[0]) == 1) + { + $edgeNvtx[1] = $vtx[0]; + do + { + $stop = 0; + + $edgeNvtx = (OM_oppEdgeOnVtxInArray( $tempArray1[ (size($tempArray1) -1) ] , $edgeNvtx[1], $edgeSelection)); + if ($edgeNvtx[0] != 0) + { + $tempArray1[ size($tempArray1) ] = $edgeNvtx[0]; + $OMV_partials[ size($OMV_partials) ] = $edgeNvtx[0]; + if (OM_haveIndex($edgeNvtx[1]) != 1 || OM_isVtxQuad($vtx[0]) == 0 || $edgeNvtx[0] == $edgeSelection[$int]) $stop = 1; + } + else $stop = 1; + + } + while ($stop == 0); + } + + if (OM_haveIndex($vtx[1]) == 1 && OM_isVtxQuad($vtx[1]) == 1) + { + $edgeNvtx[1] = $vtx[1]; + do + { + + $stop = 0; + $edgeNvtx = (OM_oppEdgeOnVtxInArray( $tempArray2[ (size($tempArray2) -1) ] , $edgeNvtx[1], $edgeSelection)); + if ($edgeNvtx[0] != 0) + { + $tempArray2[ size($tempArray2) ] = $edgeNvtx[0]; + $OMV_partials[ size($OMV_partials) ] = $edgeNvtx[0]; + if (OM_haveIndex($edgeNvtx[1]) != 1 || OM_isVtxQuad($vtx[0]) == 0 || $edgeNvtx[0] == $edgeSelection[$int]) $stop = 1; + } + else $stop = 1; + + } + while ($stop == 0); + + + } + + $dump = OM_combineStringArray($tempArray1 , $tempArray2); + $return = OM_addStringArray($return, $dump); + $return[ size($return) ] = 0; + + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Indput selection /// +/// Output: String: Object name /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string OM_objectName(string $objSelection) +{ + string $name[]; + + tokenize $objSelection "." $name; + + return $name[0]; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a vertex /// +/// Output: returns 1 if the vertex's a quad and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc int OM_isVtxQuad(string $vtx ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OM_haveIndex($vtx) == 1 ) + { + $token = `polyInfo -ve $vtx`; + tokenize ($token[0], $dump); + + if (size($dump) == 6 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a vertex /// +/// Output: returns 1 if the vertex's a tris and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc int OM_isVtxTris(string $vtx ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OM_haveIndex($vtx) == 1 ) + { + $token = `polyInfo -ve $vtx`; + tokenize ($token[0], $dump); + + if (size($dump) == 5 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a component name /// +/// Output: returns 1 if the indput name has a number and 0 if /// +/// it hasn't /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc int OM_haveIndex(string $indput) +{ + string $dump[]; + + int $size = `tokenize $indput "[]" $dump`; + + int $return = 0; + + if ($size == 2) + { + $return = 1; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge plus a quad vertex adjacent to the edge. /// +/// Output: string array, where [0] is the edge on the opposite side/// +/// of the vertex and [1] is the new vertex adjacent to the /// +/// new edge, where the vtx isn't similar to the input /// +/// vertex /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_OppEdgeOnVtx(string $edge, string $quadVtx) +{ + + string $token[]; + string $dump[]; + string $return[]; + string $object = `OM_objectName($edge)`; + int $int; + + $token = `polyInfo -ve $quadVtx`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + + if( ($object + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + $token = `polyInfo -ev $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".vtx[" + $dump[2] + "]") == $quadVtx) + { + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".vtx[" + $dump[2] + "]"; + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: string and array /// +/// Output: returns 1 if string occurs in array, 0 if not /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc int OM_inArray( string $string , string $array[]) +{ + int $int; + int $return = 0; + + for ($int = 0 ; $int < size($array) ; $int++) + { + if ( $string == $array[$int] ) {$return = 1;} + } + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: edge and a quad vertex /// +/// Output: returns the opposite vertex on the edge /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_OppVtxOnEdge(string $edge, string $quadVtx) +{ + + string $token[]; + string $dump[]; + string $return[0]; + string $object = `OM_objectName($edge)`; + int $int; + + $token = `polyInfo -ev $edge`; + tokenize ($token[0], $dump); + + if ( ($object + ".vtx[" + $dump[2] + "]") == $quadVtx) $return[1] = ($object + ".vtx[" + $dump[3] + "]"); + else $return[1] = ($object + ".vtx[" + $dump[2] + "]"); + + $token = `polyInfo -ve $return[1]`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + + if( ($object + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns an array with the two vertices adjacent to /// +/// input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_edge2vtx(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ev $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".vtx[" + $dump[2] + "]"; + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge, quadVtx and a selection array /// +/// Output: Returns the opposite edge on given quadVtx if the new /// +/// edge is in $selection /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_oppEdgeOnVtxInArray(string $edge, string $quadVtx, string $selection[]) +{ + + global string $OMV_partials[]; + + int $int; + string $dump[]; + string $token[]; + string $return[2]; + string $object = `OM_objectName($edge)`; + + $return[0] = 0; + + $token = `polyInfo -ve $quadVtx`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + + if( ($object + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + if (OM_inArray( ($object + ".e[" + $dump[($int+2)] + "]"), $selection) == 1) $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else if (OM_inArray( ($object + ".e[" + $dump[($int-2)] + "]"), $selection) == 1) $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + + if ( $return[0] != 0 ) + { + $token = `polyInfo -ev $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".vtx[" + $dump[2] + "]") == $quadVtx) + { + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".vtx[" + $dump[2] + "]"; + } + + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +global proc OMT_to_selectionDraggerOptWin() +{ + if (`window -exists selectionDraggerOptWin`) + deleteUI selectionDraggerOptWin; + + window -widthHeight 400 200 -title "Tool Settings" -sizeable false selectionDraggerOptWin; + string $mainForm = `formLayout`; + columnLayout -rowSpacing 10; + rowLayout -numberOfColumns 1 -columnWidth 1 380; + text -label " Selection Dragger"; + setParent ..; + + string $mainTab = `tabLayout`; + string $tabFrame = `frameLayout -label "Selection Dragger Options" -width 380 -collapsable true -collapse true -borderStyle "etchedIn"`; + columnLayout; + tabLayout -e -tabLabel $tabFrame "Tool settings" $mainTab; + + string $optVarSectionName = "OMT_nVectorStyle"; + if (`optionVar -q "OMT_nVectorStyle"` == 0) optionVar -sv "OMT_nVectorStyle" "Projection"; + + optionMenuGrp -changeCommand ("optionVar -sv OMT_nVectorStyle `optionMenuGrp -q -v optionMenu_selectionDragger`") "optionMenu_selectionDragger"; + menuItem -label "Projection"; + menuItem -label "Flow Dependent"; + menuItem -label "Similiar"; + + optionMenuGrp -e -v (`optionVar -q "OMT_nVectorStyle"`) ("optionMenu_selectionDragger"); // Set the default here. + +/* if (`optionVar -q "OMT_selectionSliderEnable"` == 0) optionVar -sv "OMT_selectionSliderEnable" "true"; + + checkBox + -label "Enable activate as default after split" + -value (`optionVar -q "OMT_selectionSliderEnable"`) + -onc ("optionVar -sv \"OMT_selectionSliderEnable\" \"true\"") + -ofc ("optionVar -sv \"OMT_selectionSliderEnable\" \"false\""); +*/ + setParent ..; + setParent ..; + setParent ..; + setParent ..; + + + showWindow selectionDraggerOptWin; +} + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: returns an array with the first array turned backwards /// +/// and combined with the second /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_combineStringArray(string $backwardArray[] , string $forwardArray[]) +{ + int $int; + string $return[]; + + for ($int = (size($backwardArray)-1) ; $int >= 0 ; $int--) + { + $return[(size($return))] = $backwardArray[$int]; + } + for ($int = 1 ; $int <= (size($forwardArray)-1) ; $int++) + { + $return[(size($return))] = $forwardArray[$int]; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: adds the second array at the end of the first /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc string[] OM_addStringArray(string $origArray[] , string $addArray[]) +{ + int $int; + + for ($int = 0 ; $int < size($addArray) ; $int++) + { + $origArray[ size($origArray) ] = $addArray[$int]; + } + return $origArray; +} + +/////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/OMT_to_spinEdge.mel b/2009-x64/omtoolbox/scripts/OMT_to_spinEdge.mel new file mode 100644 index 0000000..add712e --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_spinEdge.mel @@ -0,0 +1,381 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_spinEdge.mel /// +/// AUTHOR: Geoff Wedig (gwedig@sporadicenterprises.net) /// +/// /// +/// UDTATE LOG: /// +/// 2005.02.19: 0.1a by Geoff Wedig /// +/// - Initial implementation released into the wild /// +/// /// +/// 2005.02.25 0.11a by Geoff Wedig /// +/// - Revised to try to track down the 'multiple objects' glitch /// +/// /// +/// 2005.03.10 0.2 by Geoff Wedig /// +/// - Being transfered into the OM_Toolbox project. /// +/// /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE AND USE: /// +/// Given either two faces with a single shared edge, or an edge which /// +/// separates a pair of faces, moves the endpoints of the edge one unit /// +/// along the path described by the perimeter of the two faces. /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + +// ======================== +// Errors +// ======================== +// +// Because errors can be invoked at more than one place within the code, they are sorted +// out to the top, to make certain all errors of similar type are presented in the same way. + +// This error is if the user has selected the wrong number or type of arguments +proc bad_sel_err() +{ + error "You must select exactly 2 faces or 1 edge to use spinEdge"; +} + +// An edge which doesn't have exactly two faces has been selected +proc border_edge_err() +{ + error "Selected Edge must have exactly two faces (possible non-manifold or border edge)"; +} + +// Faces are non-adjacent, or adjacent at more than one edge +proc adj_err() +{ + error "Faces must be adjacent with exactly one edge to use spinEdge"; +} + +// Non-manifold geometry present at the location of spin +proc non_manifold_err() +{ + error "There are non-manifold properties to this selection inhibiting spinEdge"; +} + +// ======================== +// Utilities +// ======================== +// +// Often called functions that make life just a bit less complex. Some of these might be useful +// general utility functions, or could be enhanced as such + +// This expands a list of faces, edges and/or vertices, so that each element has its own entry +// in the list. Ie, it removes the ":" syntax Maya often (annoyingly) uses for its poly functions +proc expandObjList(string $objs[], string $exp_objs[]) +{ + string $exp_objs[] = `filterExpand -ex true -sm 34 -sm 31 -sm 32 $objs`; +} + +// Given a selection, returns the index of the selection. Ie, "obj.vtx[243]" returns +// 243 as a string. +proc string convert2Index(string $Obj) +{ + string $Index[]; + + tokenize($Obj, "[]", $Index); + + return $Index[1]; +} + +// Given an edge and a vertex, determines if that vertex is at the beginning (0% along) or +// the end (100% along) the length of the edge, and returns that value (0 or 1) +// +// Note that it assumes that the vertex is, in fact, on that edge. Behavior if not +// should be considered undefined. +proc float edgeDistance(string $edge, string $vtx) +{ + string $vtxID = convert2Index($vtx); + + string $EdgeInfo[] = `polyInfo -ev $edge`; + + string $eVtxIDs[]; + + tokenize($EdgeInfo[0], " ", $eVtxIDs); + + if ($vtxID == $eVtxIDs[2]) return 0; + else return 1; + +} + +// Given a selection, returns the type of the selection. Ie, "obj.vtx[243]" returns +// "vtx" +proc string getType (string $whatisthis) +{ + string $thisis[]; + tokenize($whatisthis, ".[", $thisis); + return $thisis[1]; +} + +// Finds the first occurance of an item within an array and returns its index. +proc int findFirstIn(string $item, string $array[]) + +{ + int $i = 0; + for ($i = 0; $i < size($array); ++$i) + { + if ($array[$i] == $item) + return $i; + } + + return -1; +} + +// Returns a (non-filtered) list of the edges shared between a group of faces. +// Removes the border edges shared by only one face. There should be an easier way to do +// this, but I haven't found it. Perhaps using sets? +proc string[] getSharedEdges(string $faces[]) +{ + // Get the internal edges in preparation for finding shared edges, which includes border edges + // Get the border edges too + + string $internalEdges[]; + + expandObjList(`polyListComponentConversion -te -in $faces`, $internalEdges); + + // The internal edges may include edges which are boundaries. These must be ignored + + string $sharedEdges[]; + int $sharedEdgeCount = 0; + + int $i = 0; + for($i = 0; $i < size($internalEdges); ++$i) + { + string $edgeFaces[]; + + expandObjList(`polyListComponentConversion -tf $internalEdges[$i]`, $edgeFaces); + + if(size($edgeFaces) != 1) + { + $sharedEdges[$sharedEdgeCount] = $internalEdges[$i]; + ++$sharedEdgeCount; + } + } + + return $sharedEdges; +} + +// ======================== +// Check Routines +// ======================== +// +// These routines do a basic check of the selection to verify that it's valid + +// Checks the faces selected, verifies that there are two of them, that they're both faces +proc checkFaces(string $Selection[]) +{ + // If we've got faces, we must make sure there are two and that they are adjacent + + if (size($Selection) != 2) + { + bad_sel_err(); + } + + // Verify that the other selction is also a face + + $SelectionType = getType($Selection[1]); + + if ($SelectionType != "f") + { + bad_sel_err(); + } +} + +// Checks that there is one edge selected and that it not a border edge or a non-manifold edge +proc checkEdge(string $Selection[]) +{ + // Verify that there's only 1 edge selected + if (size($Selection) != 1) + { + bad_sel_err(); + } + + // Check that there's two faces. Otherwise non-manifold geometry + string $Faces[]; + + expandObjList(`polyListComponentConversion -tf $Selection[0]`, $Faces); + + if (size($Faces) == 1) + { + border_edge_err(); + } + + if (size($Faces) != 2) + { + non_manifold_err(); + } +} + +// ======================== +// Main Procedure +// ======================== + +global proc OMT_to_spinEdge() +{ + // Primary values to be determined, the edge which is being spun and the faces which surround it + // Either might be what's selected. + + string $SpinEdge; + string $SpinFaces[2]; + + // Determine if we have faces or an edge selected, and find the other one + + string $Selection[] = `ls -sl -fl`; + + string $SelectionType = getType($Selection[0]); + + if ($SelectionType == "f") + { + checkFaces($Selection); + + // Get the shared edges + + string $sharedEdges[] = getSharedEdges($Selection); + + // Test to make sure there's only one shared edge. + + if(size($sharedEdges) != 1) + { + adj_err(); + } + + // Verify that the shared edge has exactly two faces connected + string $Faces[]; + + expandObjList(`polyListComponentConversion -tf $sharedEdges[0]`, $Faces); + + if (size($Faces) != 2) + { + non_manifold_err(); + } + + $SpinEdge = $sharedEdges[0]; + $SpinFaces = $Selection; + } + else + { + // Otherwise, we hopefully are looking at an edge. + + if($SelectionType == "e") + { + checkEdge($Selection); + + $SpinEdge = $Selection[0]; + + expandObjList(`polyListComponentConversion -tf $Selection[0]`, $SpinFaces); + + // Make sure the faces only have the single edge shared + string $sharedEdges[] = getSharedEdges($SpinFaces); + + // If there's too many shared edges, we've got a problem. + + if(size($sharedEdges) != 1) + { + adj_err(); + } + } + else + { + bad_sel_err(); + } + } + + // We've got our faces and our edge. Get a few other critical data items + + string $EdgeVtxs[]; + + expandObjList(`polyListComponentConversion -tv $SpinEdge`, $EdgeVtxs); + + string $FaceVtxs[]; + + expandObjList(`polyListComponentConversion -tv $SpinFaces`, $FaceVtxs); + + string $Object[]; + + tokenize($SpinEdge, ".", $Object); + + // Delete the spin edge. We'll recreate it between two new vertices + + polyDelEdge $SpinEdge; + + // Get the resulting big face + + string $BigFace[] = `polyListComponentConversion -tf -in $FaceVtxs`; + + // Get the face vertices in order + + string $OrderedFaceVtxs[]; + + string $FaceInfo[] = `polyInfo -fv $BigFace`; + + tokenize($FaceInfo[0], " ", $OrderedFaceVtxs); + + /// Get the number of vertices we have. Note that there is some garbage (from polyInfo) in + // the OrderedFaceVtxs. + int $bfVtxCount = size($OrderedFaceVtxs) - 3; + + // Find the index of the new edge vertices in the ordered vertices + + // Get current vertex indices + int $spinVtx0Index = findFirstIn(convert2Index($EdgeVtxs[0]),$OrderedFaceVtxs); + int $spinVtx1Index = findFirstIn(convert2Index($EdgeVtxs[1]),$OrderedFaceVtxs); + + // Get next vertex indices + int $eVtx0Index = ($spinVtx0Index - 1) % $bfVtxCount + 2; + int $eVtx1Index = ($spinVtx1Index - 1) % $bfVtxCount + 2; + + // Get the next vertices themselves + string $eVtx0 = $Object[0] + ".vtx[" + $OrderedFaceVtxs[$eVtx0Index] +"]"; + string $eVtx1 = $Object[0] + ".vtx[" + $OrderedFaceVtxs[$eVtx1Index] +"]"; + + // Get the edges upon which we'll rotate + + string $EdgeA[] = `polyListComponentConversion -fv -te -in $EdgeVtxs[0] $eVtx0`; + string $EdgeB[] = `polyListComponentConversion -fv -te -in $EdgeVtxs[1] $eVtx1`; + + // Determine if our vertices are at the beginning or end of the chosen edges + float $EdgeADist = edgeDistance($EdgeA[0], $eVtx0); + float $EdgeBDist = edgeDistance($EdgeB[0], $eVtx1); + + // polySpit takes *indices*, not edges (inconsistent with other poly tools) + int $EdgeAIndex = `convert2Index $EdgeA[0]`; + int $EdgeBIndex = `convert2Index $EdgeB[0]`; + + polySplit -ep $EdgeAIndex $EdgeADist -ep $EdgeBIndex $EdgeBDist $Object[0]; + + // Reselect the items that we 'started' with. + if($SelectionType == "f") + { + select `polyListComponentConversion -tf -in $FaceVtxs`; + } + else + { + select `polyListComponentConversion -te -in $eVtx0 $eVtx1`; + } + +} + + diff --git a/2009-x64/omtoolbox/scripts/OMT_to_splitAroundSelection.mel b/2009-x64/omtoolbox/scripts/OMT_to_splitAroundSelection.mel new file mode 100644 index 0000000..b4e70f5 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_splitAroundSelection.mel @@ -0,0 +1,1035 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_splitAroundSelection.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: +/// 9th of June: 0.5.2 by Jakob Welner +/// - enabled optional autoactivation of selectionDragger +/// +/// 21th of october: 0.5.1 by Jakob Welner /// +/// - removed auto-activate selectionDragger after split /// +/// [date of update]: 0.5 by Jakob Welner /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_face2Edge(string $theFace) +{ + + string $buffer[]; + string $listEdge[] = `polyInfo -fe $theFace`; + tokenize $theFace "." $buffer; + string $ObjectName = $buffer[0]; + int $nbEdge = tokenize($listEdge[0] ,$buffer); + $nbEdge -= 2; + string $listEdgeName[]; + for ($i=2;$i - 1; --$i ) + { + $result[ size($result) ] = $list[$i]; + } + return $result; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Selection /// +/// Output: Returns a list of edges adjacent to indput /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_getEdges() +{ + string $edges[]=`polyListComponentConversion -te`; + select -r $edges; + string $result[]=`filterExpand -ex true -sm 32`; + return $result; +} +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Selection /// +/// output: List of vertices adjacent to any current selection /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_getVerts() +{ + string $verts[]=`polyListComponentConversion -tv`; + select -r $verts; + string $result[]=`filterExpand -ex true -sm 31`; + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array on adjacent faces /// +/// output: connects the array edges and returns the polySplit /// +/// node name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_splitEdges(string $splitEdges[]) +{ + + int $int; + string $dump[]; + string $object = `OM_objectName($splitEdges[0])`; + string $splitCommand = "polySplit -ch on -s 1 "; + + for ($int = 0 ; $int <= (size($splitEdges) -1) ; $int++) + { + tokenize $splitEdges[$int] "[]" $dump; + $splitCommand = $splitCommand + "-ep " + $dump[1] + " 0.5 "; + } + string $shapeName[] = `ls -sl "*Shape"`; + $splitCommand = ($splitCommand + $shapeName[0]); + return (eval($splitCommand)); + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array on adjacent faces /// +/// output: connects the array edges and returns the polySplit /// +/// node name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_splitEdges(string $splitEdges[]) +{ + + int $int; + string $dump[]; + string $object = `OM_objectName($splitEdges[0])`; + string $splitCommand = "polySplit -ch on -s 1 "; + + for ($int = 0 ; $int <= (size($splitEdges) -1) ; $int++) + { + tokenize $splitEdges[$int] "[]" $dump; + $splitCommand = $splitCommand + "-ep " + $dump[1] + " 0.5 "; + } + string $shapeName[] = `ls -sl "*Shape"`; + $splitCommand = ($splitCommand + $shapeName[0]); + return (eval($splitCommand)); + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns a string Array with the two faces adjacent /// +/// to the input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2face(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ef $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".f[" + $dump[2] + "]"; + $return[1] = $object + ".f[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns an array with the two vertices adjacent to /// +/// input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_edge2vtx(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OM_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ev $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".vtx[" + $dump[2] + "]"; + $return[1] = $object + ".vtx[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OM_IsEdgeBorder( string $Edge ) +{ + + string $result = 0; + string $faces[] = OM_edge2face($Edge); + if ( size($faces) < 2 ){ $result = 1 ;} + return $result ; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_inverseFacefromEdge( string $Face, string $Edge ) +{ + + string $result ; + string $FaceOfEdgeList[] = OM_edge2face($Edge); + if ($Face == $FaceOfEdgeList[0] ) $result = $FaceOfEdgeList[1]; + else $result = $FaceOfEdgeList[0]; + return $result; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_inverseVertexFromEdge(string $Vertex, string $Edge) +{ + + string $Verts[] = OM_edge2vtx($Edge); + if ( $Verts[0] == $Vertex ) return $Verts[1]; + else return $Verts[0]; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_NextEdgeOnFace( string $Face, string $Edge, string $EdgeList[] ) +{ + + string $Result = ""; + + string $Edges[] = OM_ArrayIntersector( OM_face2Edge($Face), $EdgeList ); + + if ( size( $Edges ) == 2 ) + { + + if ( $Edges[0] == $Edge ) $Result = $Edges[1]; + else $Result = $Edges[0]; + } + + return $Result; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OM_getNextEdge ( string $Edge, string $vertices[], string $Face ) +{ + + string $Verts[] = OM_ArrayIntersector($vertices, OM_edge2vtx($Edge)); + string $V = $Verts[0]; + + int $stop = 0; + while ( $stop != 1 ) + { + $V = OM_inverseVertexFromEdge( $V, $Edge ); + string $VArray[] = {$V}; + if ( size(OM_ArrayIntersector( $VArray, $vertices ) ) == 1 ) + { + $stop = 1; return $Edge; + } + string $EdgeA[] = {$Edge}; + string $EdgeA2[] = OM_ArrayIntersector(OM_subtractStringArray($EdgeA, OM_vertex2Edge($V)), OM_face2Edge($Face)); + $Edge = $EdgeA2[0]; + } + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_OrderEdges( string $EdgeList[] ) +{ + string $faces[] = OM_edge2face($EdgeList[0]); + string $NewEdgeList[]; + $NewEdgeList[0] = $EdgeList[0]; + + string $loopFace = $faces[0]; + string $loopEdge = $EdgeList[0]; + + int $i = 1; + int $stop = 0; + int $loop = 0; + + while ( $stop != 1 ) + { + + $loopEdge = OM_NextEdgeOnFace( $loopFace, $loopEdge, $EdgeList); + if ( $loopEdge == "" ) { $stop = 1; break;} + $NewEdgeList[$i++] = $loopEdge; + if ( OM_IsEdgeBorder($loopEdge) ) { $stop = 1; break;} + if ( $loopEdge == $NewEdgeList[0] ) { $loop = 1; $stop = 1; break;} + $loopFace = OM_inverseFacefromEdge( $loopFace, $loopEdge ); + + } + + if ( size($faces) == 2 ) + { + if ( $loop == 0 ) + { + $loopFace = $faces[1]; + $loopEdge = $EdgeList[0]; + $NewEdgeList = OM_inverseArray($NewEdgeList); + $stop = 0; + + while ( $stop != 1 ) + { + $loopEdge = OM_NextEdgeOnFace( $loopFace, $loopEdge, $EdgeList); + if ( $loopEdge == "" ) { $stop = 1; break; } + $NewEdgeList[$i++] = $loopEdge; + + if ( OM_IsEdgeBorder($loopEdge) ) { $stop = 1; break; } + + $loopFace = OM_inverseFacefromEdge( $loopFace, $loopEdge ); + } + } + } + + return $NewEdgeList; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: /// +/// output: /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OM_splitAroundVertsOrder(string $VertexList[]) +{ + + select $VertexList; + string $edges[] = OM_getEdges(); + + string $EdgeList[]; + $EdgeList[0] = $edges[0]; + + string $Verts[] = OM_getVerts(); + string $loopEdge = $edges[0]; + string $faces[] = OM_edge2face($edges[0]); + string $loopFace = $faces[0]; + string $loopFace2 = $faces[1]; + int $stop = 0; + int $Border = 0; + int $i = 1; + + + while ( $stop != 1 ) + { + $loopEdge = OM_getNextEdge( $loopEdge, $VertexList, $loopFace ); + $EdgeList[$i++] = $loopEdge; + if ( OM_IsEdgeBorder($loopEdge) ) { $stop = 1; $Border = 1; break; } + if ( $loopEdge == $EdgeList[0] ) { $stop = 1; break; } + + $loopFace = OM_inverseFacefromEdge( $loopFace, $loopEdge ); + } + + + if ( $Border == 1 ) + { + + string $loopEdge = $EdgeList[0]; + string $loopFace = $loopFace2; + + string $EdgeList[] = OM_inverseArray($EdgeList); + + + while ( $stop != 1 ) + { + $loopEdge = OM_getNextEdge( $loopEdge, $VertexList, $loopFace ); + $EdgeList[$i++] = $loopEdge; + if ( OM_IsEdgeBorder($loopEdge) ) { $stop = 1; break; } + if ( $loopEdge == $EdgeList[0] ) { $stop = 1; break; } + + $loopFace = OM_inverseFacefromEdge( $loopFace, $loopEdge ); + } + + } + return $EdgeList; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Selection /// +/// Function: Split around selected vertices /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_splitAroundVerts() +{ + + global string $partials[]; + clear $partials; + + string $nodeName[]; + string $splitEdges[]; + + string $vertexContainer[]; + int $indexCount; + + undoInfo -swf 0; + + string $selection[] = `filterExpand -sm 31`; + string $object = `OM_objectName($selection[0])`; + + if (size($selection) == 0) error "You need to select at least one vertex"; + else + { + + $splitEdges = OM_splitAroundVertsOrder($selection); + + // Gets the count of vertices on the active object + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $indexCount = (size($vertexContainer)); + + undoInfo -swf 1; + + $nodeName = OM_splitEdges($splitEdges); + rename $nodeName[0] "splitAroundVertices"; + + undoInfo -swf 0; + + // Gets the new count of vertices and finds the added vertices + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + string $vertexString; + $vertexString = $object + ".vtx[" + $indexCount + ":" + (size($vertexContainer)-1) + "]"; + + // converts the new vertices to edges to get the newly added split + hilite $object; + + undoInfo -swf 1; + + select -r `polyListComponentConversion -in -te $vertexString`; + + } + + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Selection /// +/// Function: Split around selected edges /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_splitAroundEdges() +{ + + global string $partials[]; + clear $partials; + + string $nodeName[]; + + string $vertexContainer[]; + int $indexCount; + + undoInfo -swf 0; + + string $selection[] = `filterExpand -sm 32`; + string $object = `OM_objectName($selection[0])`; + + if (size($selection) == 0) error "You need to select at least one edge"; + else + { + + + OM_getVerts(); OM_getEdges(); + select -d $selection; + string $splitEdges[] = OM_OrderEdges(`ls -sl -fl`); + + // Gets the count of vertices on the active object + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $indexCount = (size($vertexContainer)); + + undoInfo -swf 1; + + $nodeName = OM_splitEdges($splitEdges); + rename $nodeName[0] "splitAroundVertices"; + + undoInfo -swf 0; + + // Gets the new count of vertices and finds the added vertices + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + string $vertexString; + $vertexString = $object + ".vtx[" + $indexCount + ":" + (size($vertexContainer)-1) + "]"; + + // converts the new vertices to edges to get the newly added split + hilite $object; + + undoInfo -swf 1; + + select -r `polyListComponentConversion -in -te $vertexString`; + + } + + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Selection /// +/// Function: Split around selected faces /// +/////////////////////////////////////////////////////////////////////////////////// + +proc OM_splitAroundFaces() +{ + global string $partials[]; + clear $partials; + + string $nodeName[]; + string $splitEdges[]; + + string $vertexContainer[]; + int $indexCount; + + undoInfo -swf 0; + + OM_getEdges(); + string $selection[] = `filterExpand -sm 32`; + string $object = `OM_objectName($selection[0])`; + + + if (size($selection) == 0) error "You need to select at least one face"; + else + { + + + OM_getVerts(); OM_getEdges(); select -d $selection; + $splitEdges = OM_OrderEdges(`ls -sl -fl`); + + // Gets the count of vertices on the active object + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $indexCount = (size($vertexContainer)); + + undoInfo -swf 1; + + $nodeName = OM_splitEdges($splitEdges); + rename $nodeName[0] "splitAroundVertices"; + + undoInfo -swf 0; + + // Gets the new count of vertices and finds the added vertices + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + string $vertexString; + $vertexString = $object + ".vtx[" + $indexCount + ":" + (size($vertexContainer)-1) + "]"; + + // converts the new vertices to edges to get the newly added split + hilite $object; + + undoInfo -swf 1; + + select -r `polyListComponentConversion -in -te $vertexString`; + + } + + + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: Selection /// +/// Function: Split around selection /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_splitAroundSelection() +{ + + if ( size(`filterExpand -sm 31`) > 0 ) OM_splitAroundVerts(); + else if ( size(`filterExpand -sm 32`) > 0 ) OM_splitAroundEdges(); + else if ( size(`filterExpand -sm 34`) > 0 ) OM_splitAroundFaces(); + else warning "Need selected poly components"; + + + /// Auto drag handler: + if (`optionVar -q "OMTSettings_autoActivateDrag"`) + { + OMT_to_selectionDragger; + } + +} + +/////////////////////////////////////////////////////////////////////////////////// diff --git a/2009-x64/omtoolbox/scripts/OMT_to_splitLoop.mel b/2009-x64/omtoolbox/scripts/OMT_to_splitLoop.mel new file mode 100644 index 0000000..be01061 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_splitLoop.mel @@ -0,0 +1,575 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_splitLoop.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: +/// 9th of June: 0.5.2 by Jakob Welner +/// - Enabled optional autoactivation of selectionDragger +/// +/// 21th of october: 0.5.1 by Jakob Welner /// +/// - removed auto-activate selectionDragger after split +/// +/// [date of update]: 0.5 by Jakob Welner /// +/// - Added a new slider /// +/// - Made it independent of other script files /// +/// - Changed the post loopSelection to select all new loop edges /// +/// - Removed the slider until it gets updated /// +/// /// +/// DEPENDENCIES & CONNECTIONS: /// +/// none /// +/// /// +/// PURPOSE & USE: /// +/// Select one or severel polygon edges and execute the script to make a /// +/// loopSplit through all connected quadFaces. If more then one face are /// +/// selected on the same quadFace line, it splits only the shortest way /// +/// between those two /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Indput selection /// +/// Output: String: Object name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string OMT_objectName(string $objSelection) +{ + string $name[]; + + tokenize $objSelection "." $name; + + return $name[0]; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a component name /// +/// Output: returns 1 if the indput name has a number and 0 if /// +/// it hasn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OMT_haveIndex(string $indput) +{ + string $dump[]; + + int $size = `tokenize $indput "[]" $dump`; + + int $return = 0; + + if ($size == 2) + { + $return = 1; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: string and array /// +/// Output: returns 1 if string occurs in array, 0 if not /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OMT_inArray( string $string , string $array[]) +{ + int $int; + int $return = 0; + + for ($int = 0 ; $int < size($array) ; $int++) + { + if ( $string == $array[$int] ) {$return = 1;} + } + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: 2 arrays /// +/// Output: returns an array with the first array turned backwards /// +/// and combined with the second /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OMT_combineStringArray(string $backwardArray[] , string $forwardArray[]) +{ + int $int; + string $return[]; + + for ($int = (size($backwardArray)-1) ; $int >= 0 ; $int--) + { + $return[(size($return))] = $backwardArray[$int]; + } + for ($int = 1 ; $int <= (size($forwardArray)-1) ; $int++) + { + $return[(size($return))] = $forwardArray[$int]; + } + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge /// +/// Output: returns a string Array with the two faces adjacent /// +/// to the input edge /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OMT_edge2face(string $edge) +{ + string $dump[]; + string $token[]; + string $object = `OMT_objectName($edge)`; + string $return[]; + + $token = `polyInfo -ef $edge`; + tokenize ($token[0], $dump); + + $return[0] = $object + ".f[" + $dump[2] + "]"; + $return[1] = $object + ".f[" + $dump[3] + "]"; + + return $return; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge array on adjacent faces /// +/// output: connects the array edges and returns the polySplit /// +/// node name /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OMT_splitEdges(string $splitEdges[]) +{ + + int $int; + string $dump[]; + string $object = `OMT_objectName($splitEdges[0])`; + string $splitCommand = "polySplit -ch on -s 1 "; + + for ($int = 0 ; $int <= (size($splitEdges) -1) ; $int++) + { + tokenize $splitEdges[$int] "[]" $dump; + $splitCommand = $splitCommand + "-ep " + $dump[1] + " 0.5 "; + } + string $shapeName[] = `ls -sl "*Shape"`; + $splitCommand = ($splitCommand + $shapeName[0]); + return (eval($splitCommand)); + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: a face /// +/// Output: returns 1 if the face's a quad and 0 if it isn't /// +/////////////////////////////////////////////////////////////////////////////////// + +proc int OMT_isFaceQuad(string $face ) +{ + + string $token[]; + string $dump[]; + + int $result = 0; + + if( OMT_haveIndex($face) == 1 ) + { + $token = `polyInfo -fe $face`; + tokenize ($token[0], $dump); + + if (size($dump) == 6 ) + { + $result = 1; + } + } + + return $result; +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge plus a quad face adjacent to the edge. /// +/// Output: string array, where [0] is the edge on the opposite side/// +/// of the face and [1] is the new face adjacent to the new /// +/// edge, where the face isn't similar to the input face /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OMT_oppEdgeOnFace(string $edge, string $quadFace) +{ + + string $token[]; + string $dump[]; + string $return[]; + string $object = `OMT_objectName($edge)`; + + $token = `polyInfo -fe $quadFace`; + tokenize ($token[0], $dump); + + for ($int = 2 ; $int <= 5 ; $int++) + { + if( (OMT_objectName($edge) + ".e[" + $dump[$int] + "]") == $edge) + { + if ($int == 2 || $int == 3) + { + $return[0] = ($object + ".e[" + $dump[($int+2)] + "]"); + } + else $return[0] = ($object + ".e[" + $dump[($int-2)] + "]"); + } + } + + $token = `polyInfo -ef $return[0]`; + tokenize ($token[0], $dump); + + if (($object + ".f[" + $dump[2] + "]") == $quadFace) + { + $return[1] = $object + ".f[" + $dump[3] + "]"; + } + else + { + $return[1] = $object + ".f[" + $dump[2] + "]"; + } + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Indput: Edge and edge array /// +/// Output: String array with ringedges. /// +/// If only one edge appear on the ring it returns a whole /// +/// ringloop. /// +/// If a element in $selection is detected on the ring it /// +/// only selects a partial ring between input and the /// +/// $selection element /// +/////////////////////////////////////////////////////////////////////////////////// + +proc string[] OMT_listRing(string $edge1, string $selection[]) +{ + + global string $partials[]; + + string $dump[]; + string $token[]; + string $split1[]; + string $split2[]; + string $faces[]; + string $return[]; + int $stop; + int $int; + int $stoppedRing; + int $partialBool = 0; + + + $split1[0] = $edge1; + $split2[0] = $edge1; + + + $faces = OMT_edge2face($edge1); + $int = OMT_isFaceQuad($faces[0]); + + switch ( $int ) + { + case 1: + $edgeNface[1] = $faces[0]; + $stoppedRing = 1; + do + { + $stop = 0; + $edgeNface = (OMT_oppEdgeOnFace( $split1[ (size($split1)-1) ] , $edgeNface[1] )); + $split1[ size($split1) ] = $edgeNface[0]; + + if ($edgeNface[0] == $edge1) + { + $stop = 1; + } + else if (OMT_inArray($edgeNface[0], $selection) == 1) + { + $stoppedRing = 0; + $partialBool = 1; + $partials[size($partials)] = $edgeNface[0]; + $stop = 1; + } + } + while (OMT_isFaceQuad($edgeNface[1]) == 1 && $stop == 0); + if ($edgeNface[0] == $edge1) break; + + case 0: + if (OMT_isFaceQuad($faces[1])) + { + $edgeNface[1] = $faces[1]; + $stoppedRing = ($stoppedRing + 2); + do + { + $stop = 0; + $edgeNface = OMT_oppEdgeOnFace($split2[(size($split2) -1)], $edgeNface[1]); + $split2[size($split2)] = $edgeNface[0]; + + if ($edgeNface[0] == $edge1) + { + $stop = 1; + } + else if (OMT_inArray($edgeNface[0] , $selection) == 1) + { + $stoppedRing = ($stoppedRing - 2); + $partialBool = 1; + $partials[size($partials)] = $edgeNface[0]; + $stop = 1; + } + } + while (OMT_isFaceQuad($edgeNface[1]) == 1 && $stop == 0); + } + + + } + + if ($partialBool == 1) + { + if (size($split1) == 1) $return = $split2; + else if (size($split2)== 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedRing != 1) $return = $split1; + else if (size($split1) < size($split2) && $stoppedRing == 1) $return = $split2; + else if (size($split1) > size($split2) && $stoppedRing != 2) $return = $split2; + else if (size($split1) > size($split2) && $stoppedRing == 2) $return = $split1; + else if (size($split1) == size($split2) && $stoppedRing != 1) $return = $split1; + else if (size($split1) == size($split2) && $stoppedRing != 2) $return = $split2; + + } + else $return = OMT_combineStringArray($split1 , $split2); + + return $return; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: Edge Selection /// +/// Function: LoopSplit on every selected edge /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_to_splitLoop() +{ + + global string $partials[]; + clear $partials; + + string $splitEdges[]; + string $nodeName[]; + string $selection[] = `filterExpand -sm 32`; + string $object = `OMT_objectName($selection[0])`; + + string $vertexContainer[]; + int $indexCount; + + + if (size($selection) == 0) error "You need to select at least one poly edge"; + else + { + + // Gets the count of vertices on the active object + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + $indexCount = (size($vertexContainer)); + + + // runs through each edge in the selection checking if they're on the same ring. Else they are splitted + for ( $sel in $selection ) + { + + if (OMT_inArray($sel, $partials) == 1) continue; + undoInfo -swf 0; + $splitEdges = OMT_listRing($sel, $selection); + undoInfo -swf 1; + $nodeName = OMT_splitEdges($splitEdges); + rename $nodeName[0] "LoopSplit"; + + } + + + // Gets the new count of vertices and finds the added vertices + select -r $object; + ConvertSelectionToVertices; + $vertexContainer = `filterExpand -sm 31`; + string $vertexString; + $vertexString = $object + ".vtx[" + $indexCount + ":" + (size($vertexContainer)-1) + "]"; + + // converts the new vertices to edges to get the newly added split + select -r `polyListComponentConversion -in -te $vertexString`; + hilite $object; + + } + + + /// Auto drag handler: + if (`optionVar -q "OMTSettings_autoActivateDrag"`) + { + OMT_to_selectionDragger; + } +} + +/////////////////////////////////////////////////////////////////////////////////// diff --git a/2009-x64/omtoolbox/scripts/OMT_to_toggleSaveSelection.mel b/2009-x64/omtoolbox/scripts/OMT_to_toggleSaveSelection.mel new file mode 100644 index 0000000..f802fc0 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_to_toggleSaveSelection.mel @@ -0,0 +1,258 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_to_toggleSaveSelection.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: /// +/// 16th og november: 1.00 by Jakob Welner /// +/// - Date of first release /// +/// /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Toggles saving of component selections on specific components and /// +/// loading them when returning to that component selection. /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; + +global int $active; + +global int $SelectionChangedID; +global int $SelectTypeChangedID; +global int $SelectModeChangedID; + +global int $compMode; +global int $switch; + + + + + +global proc string getType() +{ + + if(`selectType -q -pv`) + { + return "pVertex"; + } + else if(`selectType -q -pe`) + { + return "pEdge"; + } + else if(`selectType -q -pf`) + { + return "pFace"; + } + else if(`selectType -q -puv`) + { + return "pUV"; + } + else return "none"; + +} + + + +proc saveSelection() +{ + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; + + string $typeString = `getType`; + + + if($typeString == "pVertex") + { + $vertexSelection = `filterExpand -sm 31`; + if(size($vertexSelection) == 0) $vertexSelection = `filterExpand -sm 36`; + } + else if($typeString == "pEdge") + { + $edgeSelection = `filterExpand -sm 32`; + if(size($edgeSelection) == 0) $edgeSelection = `filterExpand -sm 37`; + } + else if($typeString == "pFace") + { + $faceSelection = `filterExpand -sm 34`; + if(size($faceSelection) == 0) $faceSelection = `filterExpand -sm 38`; + } + else if($typeString == "pUV") + { + $uvSelection = `filterExpand -sm 35`; + if(size($uvSelection) == 0) $uvSelection = `filterExpand -sm 73`; + } +} + + + + +proc loadSelection() +{ + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; + + string $typeString = `getType`; + + + if($typeString == "pVertex") + { + if(catchQuiet(`select -r $vertexSelection`)) print "Tried to select a deleted object"; + } + else if($typeString == "pFace") + { + if(catchQuiet(`select -r $faceSelection`)) print "Tried to select a deleted object"; + } + else if($typeString == "pEdge") + { + if(catchQuiet(`select -r $edgeSelection`)) print "Tried to select a deleted object"; + } + else if($typeString == "pUV") + { + if(catchQuiet(`select -r $uvSelection`)) print "Tried to select a deleted object"; + } + +} + + + + + + +global proc OMT_selectionChange() +{ + +global int $compMode; +global int $switch; + + if ( $compMode ) + { + if ( !$switch ) + { + loadSelection; + $switch = 1; + } + else saveSelection; + } +} + + + +global proc OMT_selectModeChange() +{ + +global int $compMode; +global int $switch; + + $compMode = `selectMode -q -co`; + $switch = 0; +} + + + +global proc OMT_selectTypeChange() +{ + loadSelection; +} + + + +global proc OMT_saveFirst() +{ + if (`selectMode -q -co`) saveSelection; +} + + + + + + +global proc OMT_to_toggleSaveSelection() +{ + +global string $faceSelection[]; +global string $edgeSelection[]; +global string $vertexSelection[]; +global string $uvSelection[]; +global int $active; + +global int $SelectionChangedID = -1; +global int $SelectTypeChangedID = -1; +global int $SelectModeChangedID = -1; + + + if($active == 1) + { + + // Clearning up when toggled off + // + scriptJob -kill $SelectionChangedID -force; + scriptJob -kill $SelectTypeChangedID -force; + scriptJob -kill $SelectModeChangedID -force; + $SelectionChangedID = -1; + $SelectTypeChangedID = -1; + $SelectModeChangedID = -1; + + clear $faceSelection; + clear $edgeSelection; + clear $vertexSelection; + clear $uvSelection; + $active = 0; + print "Save Selection has been successfully deactivated."; + } + else + { + + // Activating the script + // + $SelectionChangedID = `scriptJob -event "SelectionChanged" "OMT_selectionChange" -protected`; + $SelectModeChangedID = `scriptJob -event "SelectModeChanged" "OMT_selectModeChange" -protected`; + $SelectTypeChangedID = `scriptJob -event "SelectTypeChanged" "OMT_selectTypeChange" -protected`; + OMT_saveFirst; + $active = 1; + print "Save Selection has been successfully activated."; + } + +} + + +/* + +Check for selected obejcts and only load selection when the right object is selected. + +*/ \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/OMT_toolboxMenu.mel b/2009-x64/omtoolbox/scripts/OMT_toolboxMenu.mel new file mode 100644 index 0000000..1fca0bd --- /dev/null +++ b/2009-x64/omtoolbox/scripts/OMT_toolboxMenu.mel @@ -0,0 +1,779 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: OMT_toolboxMenu.mel /// +/// AUTHOR: Jakob Welner (jakob@welner.dk) /// +/// /// +/// UDTATE LOG: +/// 9th of june: 1.5 by Jakob Welner +/// - Updated settings window +/// - Enabled optional auto-activate through settings window +/// +/// 29th of may: 1.4 by Jakob Welner +/// - Added support for custom mayaModes +/// +/// 4th of february: 1.31 by Jakob Welner /// +/// - added Alias endString procedure /// +/// /// +/// 16th of november: 1.30 by Jakob Welner /// +/// - Fixed GUI issues on Linux /// +/// - Removed Marking Menu feature /// +/// - Made set defaults automatic /// +/// /// +/// 27th og july: 1.20 by Jakob Welner /// +/// - Included MarkingMenu feature /// +/// /// +/// 18th og april: 1.10 by Jakob Welner /// +/// - Made it load all native tools as default /// +/// /// +/// 16th og april: 1.01 by Jakob Welner /// +/// - Bugfixing and some features added I cant remember /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Creation procedure for the OMToolbox menu /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + +proc string getLabel(string $fileName) +{ + switch( $fileName ) { + case "OMT_to_splitLoop": return "Split Loop"; break; + case "OMT_to_spinEdge": return "Spin Edge"; break; + case "OMT_to_selectElement": return "Select Element"; break; + case "OMT_to_extrudeComponent": return "Extrude Component"; break; + case "OMT_to_selectLoop": return "Select Loop"; break; + case "OMT_to_scalePosition": return "Scale Position"; break; + case "OMT_to_selectOutline": return "Select Outline"; break; + case "OMT_to_selectRing": return "Select Ring"; break; + case "OMT_to_splitAroundSelection": return "Split Around Selected"; break; + case "OMT_to_connectComponents": return "Connect Components"; break; + case "OMT_to_selectionDragger": return "Selection Dragger"; break; + case "OMT_to_toggleSaveSelection": return "Toggle Save Selection"; break; + case "OMT_to_xrayToggle": return "Toggle X-Ray"; break; + case "OMT_to_overshoot": return "Overshoot"; break; + default: return $fileName; break; + } +} + + + + + +// Alias endString procedure +global proc string endString(string $s, int $count) +{ + string $out; + + int $sLength = size($s); + if (($count > 0) && ($sLength > 0)) + { + if ($count > $sLength) + { + $count = $sLength; + } + + $out = substring($s, $sLength - $count + 1, $sLength); + } + + return $out; +} + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// Function: Opens Open Maya Toolboxs homepage in the default browser/// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_homepageLink() +{ + string $win = "OM_homeWin"; + if (`window -exists $win`) + { deleteUI -window $win; } + + window -title "Open Maya Toolbox Home" + -width 1024 + -height 786 + $win; + + columnLayout; + webBrowser + -width 1024 + -height 786 + -url "http://www.jakob.welner.dk/omtwiki" + btHomeBrowser; + + window -edit + -width 1033 + -height 819 + $win; + + showWindow $win; + +} + +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + +/* +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Function: Opens the help doc in browser /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc OMT_help() +{ + + string $omtbPath = `whatIs OMT_toolboxMenu`; + + //string $buffer[]; + //subtract magic number of 24: "Mel procedure found in: " + int $numCharacters = `size($omtbPath)`; + + $omtbPath = `endString $omtbPath ($numCharacters-24)`; + + //subtract magic number of 27: "scripts/OMT_toolboxMenu.mel" + $numCharacters = `size($omtbPath)`; + + $omtbPath = `substring $omtbPath 1 ($numCharacters-27)`; + + //add new docs path + $omtbPath = $omtbPath + "docs/index.html"; + $omtbPath = "file://" + $omtbPath; + + //print "\npath "; print $omtbPath; + + //build window + string $win = "OM_toolboxHelpWindow"; + + if (`window -exists $win`) + { deleteUI -window $win; } + + window -title "OMToolbox Help" + -width 900 + -height 800 + $win; + columnLayout; + webBrowser -width 900 + -height 800 + -url $omtbPath + omtbHelpBrowser; + + window -edit + -width 909 + -height 833 + $win; + + showWindow $win; + + +} + +/////////////////////////////////////////////////////////////////////////////////// +*/ + + + + + + + + + +/// Takes input "fullNames" and "labels" +proc string[] listMenuSets(string $type) +{ + string $menuSets[] = `menuSet -allMenuSets`; + string $cleanMenuSets[]; + + + /// Removing commonMenuSet from list + for ($set in $menuSets) + { + if ($set != "commonMenuSet") $cleanMenuSets[size($cleanMenuSets)] = $set; + } + + + if ($type == "fullNames") return $cleanMenuSets; + + else if ($type == "labels") + { + string $labels[]; + + for ($i = 0 ; $i < size($cleanMenuSets) ; $i++) + { + $labels[$i] = `menuSet -q -label $cleanMenuSets[$i]`; + } + return $labels; + } + else print "listMenuSets >> Wrong input"; +} + + + + + + + + +//////////////////////////////////// +// get OMtoolbox FileList names without ".mel" +//////////////////////////////////// +proc string[] listFiles(string $fileSpec) +{ + + // Get the absolute path to the OMToolbox directory + string $omtPath = `whatIs OMT_toolboxMenu`; + + //string $buffer[]; + //subtract magic number of 24: "Mel procedure found in: " + int $numCharacters = `size($omtPath)`; + + $omtPath = `endString $omtPath ($numCharacters-24)`; + + //subtract magic number of 19: "OMT_toolboxMenu.mel" + $numCharacters = `size($omtPath)`; + + $omtPath = `substring $omtPath 1 ($numCharacters-19)`; + + + // Fetch a list of all OMT toolfiles + string $toolFileList[] = `getFileList -folder $omtPath -filespec $fileSpec`; + + + // Edit names to remove ".mel" at the end + string $toolName[]; + int $charCount; + int $i; + + for ($i = 0 ; $i < size($toolFileList) ; $i++) + { + $charCount = `size($toolFileList[$i])`; + $toolName[$i] = `substring $toolFileList[$i] 1 ($charCount-4)`; + } + + string $toolNamesSorted[] = sort($toolName); + + return $toolNamesSorted; +} + + + + +//////////////////////////////////// +// get OMtoolbox FileList names without ".mel" +//////////////////////////////////// +proc string[] isolateIDs(string $toolFileList[]) +{ + + // Edit names to remove "OMT_to_" in the front of each name + string $toolName[]; + int $charCount; + int $i; + + for ($i = 0 ; $i < size($toolFileList) ; $i++) + { + $charCount = `size($toolFileList[$i])`; + $toolName[$i] = `endString $toolFileList[$i] ($charCount - 7)`; + } + + return $toolName; +} + + + + + + + +/////////////////////////////////////// +// Returns 1 if the optionVar value is = "Load", else it returns 0 +/////////////////////////////////////// + +proc int getLoadValue(string $optionVarName) +{ + int $return = 0; + + if ( `optionVar -q $optionVarName` == "Load") $return = 1; + + return $return; +} + + + + + + + + +proc makeMenuItem(string $sectionName, string $OMToolList[], string $customToolList[], string $os) +{ + + string $toolIDList[] = isolateIDs($OMToolList); + + int $itemCount = 0; + int $i; + + // Native Tools + for ($i = 0; $i < size($toolIDList); $i++) + { + if ((`optionVar -q ("OMTSection_" + $toolIDList[$i])`) == 0) + { + optionVar -sv ("OMTSection_" + $toolIDList[$i]) "General"; + optionVar -sv ("OMTLoad_" + $toolIDList[$i]) "Load"; + } + if ((`optionVar -q ("OMTLoad_" + $toolIDList[$i])`) == "Load" && (`optionVar -q ("OMTSection_" + $toolIDList[$i])`) == $sectionName) + { + + + $itemCount++; + + menuItem -l `getLabel($OMToolList[$i])` + -echoCommand true + -c $OMToolList[$i] + -i ($toolIDList[$i] + ".bmp") + ($toolIDList[$i] + "Item"); + + eval("source " + $OMToolList[$i]); + if (`exists ($OMToolList[$i] + "OptWin")`) + { + menuItem -optionBox true + -label (getLabel($OMToolList[$i]) + " Option Box") + -command ($OMToolList[$i] + "OptWin") + ($toolIDList[$i] + "OptWinItem"); + } + } + + } + + + // Custom Tools + for ($i = 0; $i < size($customToolList); $i++) + { + if ((`optionVar -q ("OMTLoad_" + $customToolList[$i])`) == "Load" && (`optionVar -q ("OMTSection_" + $customToolList[$i])`) == $sectionName) + { + + $itemCount++; + + menuItem -l $customToolList[$i] + -echoCommand true + -c $customToolList[$i] + -i ($customToolList[$i] + ".bmp") + ($customToolList[$i] + "Item"); + } + } + + + + if ($itemCount == 0) + { + menuItem -l ($sectionName + ": Nothing here") + -ann ("No tool set for this section") + -en 0 + ("no" + $sectionName + "Item"); + } + + + menuItem -divider true; + +} + + + + + + + + + + + + + + + +proc makeOMToolList(string $parent) +{ + + int $i; + string $OMToolNames[] = `listFiles("OMT_to_*.mel")`; + + string $OMToolIDList[] = isolateIDs($OMToolNames); + + + separator -parent $parent -width 380 -style "in"; + + + for ($i = 0; $i < size($OMToolIDList) ; $i++) + { + + + string $optVarLoadName = ("OMTLoad_" + $OMToolIDList[$i]); + if (`optionVar -q $optVarLoadName` == 0) optionVar -sv $optVarLoadName "Load"; + + string $optVarSectionName = ("OMTSection_" + $OMToolIDList[$i]); + if (`optionVar -q $optVarSectionName` == 0) optionVar -sv $optVarSectionName "General"; + + + rowLayout -numberOfColumns 3 -columnWidth3 180 100 100 -columnAttach 1 "both" 5; + + text + -label `getLabel(("OMT_to_" + $OMToolIDList[$i]))` + -annotation $OMToolNames[$i]; + + checkBox + -label "Auto load" + -value `getLoadValue($optVarLoadName)` + -onc ("optionVar -sv " + $optVarLoadName + " \"Load\"") + -ofc ("optionVar -sv " + $optVarLoadName + " \"Unload\""); + + optionMenuGrp -changeCommand ("optionVar -sv " + $optVarSectionName + "`optionMenuGrp -q -v optionMenu_" + $OMToolIDList[$i] + "`") ("optionMenu_" + $OMToolIDList[$i]); + + menuItem -label "General"; + string $labels[] = listMenuSets("labels"); + for ($label in $labels) + { + menuItem -label $label; + } + + + + string $optVarSectionVal = `optionVar -q $optVarSectionName`; + + /// Reverts unknown optionVars to default + int $check = 0; + for ($label in $labels) + { + if ($optVarSectionVal == $label) $check = 1; + } + if ($check == 0) $optVarSectionVal = "General"; + + + optionMenuGrp -e -v $optVarSectionVal ("optionMenu_" + $OMToolIDList[$i]); // Set the default here. + + + setParent $parent; + } + +} + + + + + + + + +proc makeCustomToolList(string $parent) +{ + + int $i; + string $melFilenameList[] = `listFiles("*.mel")`; + + string $customToolList[]; + + + /// CustomTools content + separator -parent $parent -width 380 -height 30 -style "doubleDash"; + + + /// Remove OMT related files which are not tools + for ($tool in $melFilenameList) + { + if (!`gmatch $tool "OMT_*"` && !`gmatch $tool "userSetup"`) $customToolList[size($customToolList)] = $tool; + } + + + for ($i = 0; $i < size($customToolList) ; $i++) + { + + + string $optVarLoadName = ("OMTLoad_" + $customToolList[$i]); + if (`optionVar -q $optVarLoadName` == 0) optionVar -sv $optVarLoadName "UnLoad"; + + string $optVarSectionName = ("OMTSection_" + $customToolList[$i]); + if (`optionVar -q $optVarSectionName` == 0) optionVar -sv $optVarSectionName "General"; + + + rowLayout -numberOfColumns 3 -columnWidth3 180 100 100 -columnAttach 1 "both" 5; + + text + -label `getLabel(($customToolList[$i]))` + -annotation $customToolList[$i]; + + checkBox + -label "Auto load" + -value `getLoadValue($optVarLoadName)` + -onc ("optionVar -sv " + $optVarLoadName + " \"Load\"") + -ofc ("optionVar -sv " + $optVarLoadName + " \"Unload\""); + + optionMenuGrp -changeCommand ("optionVar -sv " + $optVarSectionName + "`optionMenuGrp -q -v optionMenu_" + $customToolList[$i] + "`") ("optionMenu_" + $customToolList[$i]); + + menuItem -label "General"; + string $labels[] = listMenuSets("labels"); + for ($label in $labels) + { + menuItem -label $label; + } + + + + string $optVarSectionVal = `optionVar -q $optVarSectionName`; + + /// Reverts unknown optionVars to default + int $check = 0; + for ($label in $labels) + { + if ($optVarSectionVal == $label) $check = 1; + } + if ($check == 0) $optVarSectionVal = "General"; + + + optionMenuGrp -e -v $optVarSectionVal ("optionMenu_" + $customToolList[$i]); // Set the default here. + + + setParent $parent; + } + + +} + + + + + + + + +proc string makeSettingsTab() +{ + string $layoutName = `columnLayout -adj 1 -p listTabs`; + + checkBox -label "Auto-activate slide on split" + -align "left" + -annotation "Auto-activate selectionDragger after split commands" + -value `optionVar -q "OMTSettings_autoActivateDrag"` + -onCommand "optionVar -iv \"OMTSettings_autoActivateDrag\" 1" + -offCommand "optionVar -iv \"OMTSettings_autoActivateDrag\" 0" + -parent $layoutName; + + + return $layoutName; +} + + + + + + +global proc OMT_toolManageInterface() +{ + + if (`window -ex omtSettingsWin`) + deleteUI omtSettingsWin; + + window + -title "OMToolbox settings" + omtSettingsWin; + + formLayout mainForm; + + tabLayout -p mainForm -h 330 listTabs; + + + /// OMTools content + string $scrollLayout = `scrollLayout -p listTabs + -childResizable 1`; + + string $columnLayout = `columnLayout -width 380 -p $scrollLayout`; + rowLayout -numberOfColumns 3 -columnWidth3 180 100 100 -columnAttach 1 "both" 5; + text -label "Tool name" -annotation "Open Maya standard toolnames"; + text -label "Menu Item" -annotation "Places this tool in the menu"; + text -label "Sections" -annotation "Specify the Maya section you want this tool to appear in"; + setParent $columnLayout; + + + makeOMToolList($columnLayout); + makeCustomToolList($columnLayout); + + + string $settingsLayout = `makeSettingsTab`; + + + tabLayout -e -tabLabel $scrollLayout "Menu Tools" -tabLabel $settingsLayout "Settings" listTabs; + setParent mainForm; + + button -label "Update Menu" + -command OMT_toolboxMenu + deleteFileButton; + + button -label "Close" + -command "deleteUI omtSettingsWin" + closeButton; + + + formLayout -e + -attachForm listTabs "left" 5 + -attachForm listTabs "right" 5 + -attachForm listTabs "bottom" 40 + -attachForm listTabs "top" 5 + -attachPosition deleteFileButton "left" 5 0 + -attachPosition deleteFileButton "right" 5 50 + -attachPosition closeButton "left" 5 50 + -attachPosition closeButton "right" 5 100 + -attachForm deleteFileButton "bottom" 5 + -attachForm closeButton "bottom" 5 + mainForm; + + showWindow; +} + + + + + + +/////////////////////////////// +// BUTTOM TOOLS// +/////////////////////////////// +proc OM_toolboxMenuButtom(string $os) +{ + + menuItem -l "Project Home and Documentation" + -ann "Link to OMToolbox Wiki" + -echoCommand true + -c "OMT_homepageLink" + -image "projectHome.bmp" + OM_homepageLinkItem; + + menuItem -l "Settings" + -ann "Configure OMToolbox" + -echoCommand true + -c "OMT_toolManageInterface" + -image "settings.bmp" + OMT_toolManageInterfaceItem; + +} + + + + + + + + +proc int OM_toolboxModeMenuStyle(string $os, string $mayaMode, string $toolNameList[], string $customToolList[]) +{ + + string $menuSets[] = listMenuSets("fullNames"); + + for ($i = 0; $i < size($menuSets); $i++) + { + if ($mayaMode == $menuSets[$i]) + { + makeMenuItem (`menuSet -q -label $menuSets[$i]`) $toolNameList $customToolList $os; + return 1; + } + } + + return 0; +/* + switch( $mayaMode ) { + case "Animation": makeMenuItem "Animation" $toolNameList $customToolList $os; break; + case "Modeling": makeMenuItem "Modeling" $toolNameList $customToolList $os; break; + case "Rendering": makeMenuItem "Rendering" $toolNameList $customToolList $os; break; + case "Dynamics": makeMenuItem "Dynamics" $toolNameList $customToolList $os; break; + case "Cloth": makeMenuItem "Cloth" $toolNameList $customToolList $os; break; + case "Live": makeMenuItem "Live" $toolNameList $customToolList $os; break; + default: makeMenuItem "Modeling" $toolNameList $customToolList $os; break; + } +*/ +} + + + + + + + +global proc OMT_toolboxMenu() +{ + + global string $gMainWindow; + global string $gMenuModeButton; + string $mayaMode = `setMenuMode`; + string $os = `about -operatingSystem`; + + if(`menu -exists OM_toolboxMenu`) + deleteUI -menu OM_toolboxMenu; + + setParent $gMainWindow; + + menu -label "OMToolbox" + -parent $gMainWindow + -tearOff 1 + -allowOptionBoxes true + -familyImage "default.bmp" + OM_toolboxMenu; + + string $toolNameList[] = `listFiles("OMT_to_*.mel")`; + string $melFileNameList[] = `listFiles("*.mel")`; + + string $customToolList[]; + + for ($tool in $melFileNameList) + { + if (!`gmatch $tool "OMT_*"` && !`gmatch $tool "userSetup"`) $customToolList[size($customToolList)] = $tool; + } + + + makeMenuItem("General", $toolNameList, $customToolList, $os); + OM_toolboxModeMenuStyle $os $mayaMode $toolNameList $customToolList; + //menuItem -divider true; + OM_toolboxMenuButtom $os; + + hotBox -updateMenus; + +} diff --git a/2009-x64/omtoolbox/scripts/extras_to_extrudeComponent.mel b/2009-x64/omtoolbox/scripts/extras_to_extrudeComponent.mel new file mode 100644 index 0000000..8baf901 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/extras_to_extrudeComponent.mel @@ -0,0 +1,68 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: extras_componentExtrude.mel /// +/// AUTHOR: /// +/// /// +/// UDTATE LOG: /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Select polygon component and execute to extrude /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + + + + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +/// TOOL /// +/// Indput: Selection /// +/// Function: Executes the appropriate extrude feature /// +/////////////////////////////////////////////////////////////////////////////////// + +global proc extras_to_extrudeComponent() +{ + if( size( `filterExpand -sm 31` ) > 0 ) { + ExtrudeVertex; + } + else if( size( `filterExpand -sm 32` ) > 0 ) { + ExtrudeEdge; + } + else if( size( `filterExpand -sm 34` ) > 0 ) { + ExtrudeFace; + } +} + +/////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/extras_to_toggleCulling.mel b/2009-x64/omtoolbox/scripts/extras_to_toggleCulling.mel new file mode 100644 index 0000000..4a967c0 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/extras_to_toggleCulling.mel @@ -0,0 +1,9 @@ +global proc extras_to_toggleCulling() +{ + if (!catch(python("import extras_to_toggleCulling"))) + { + python("extras_to_toggleCulling.toggleCulling()"); + } + else print "extras_to_toggleCulling >> Could not import extras_to_toggleCulling.py"; + +} diff --git a/2009-x64/omtoolbox/scripts/extras_to_xrayToggle.mel b/2009-x64/omtoolbox/scripts/extras_to_xrayToggle.mel new file mode 100644 index 0000000..69b69b6 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/extras_to_xrayToggle.mel @@ -0,0 +1,75 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: extras_to_xrayToggle.mel /// +/// AUTHOR: Jonathan Perry (obskyra@hotmail.com) /// +/// /// +/// UDTATE LOG: /// +/// 28th og july: 1.00 by jakob welner /// +/// - Included in OMT /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Toggles xRay on selected objects or on the camera if none it selected /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + +global proc extras_to_xrayToggle() +{ + string $selected[] = `ls -sl -o`; + string $hilighted[] = `ls -hl -o`; + + if (size(`filterExpand -sm 10 -sm 12 -sm 68 $selected`) > 0) + { + for ($object in $selected) + { + int $value[] = `displaySurface -q -xRay $object`; + if ($value[0] == 1) + displaySurface -xRay 0 $object; + else + displaySurface -xRay 1 $object; + } + } + + else + { + for ($object in $hilighted) + { + int $value[] = `displaySurface -q -xRay $object`; + if ($value[0] == 1) + displaySurface -xRay 0 $object; + else + displaySurface -xRay 1 $object; + } + } + + if (size($selected) <= 0 && size($hilighted) <= 0) + { + $panel = `getPanel -wf`; + modelEditor -e -xray (!`modelEditor -q -xray $panel`) $panel; + } +} \ No newline at end of file diff --git a/2009-x64/omtoolbox/scripts/extras_to_xrayToggle.mel.backup b/2009-x64/omtoolbox/scripts/extras_to_xrayToggle.mel.backup new file mode 100644 index 0000000..69b69b6 --- /dev/null +++ b/2009-x64/omtoolbox/scripts/extras_to_xrayToggle.mel.backup @@ -0,0 +1,75 @@ +/////////////////////////////////////////////////////////////////////////////////// +/// /// +/// Open Maya Tool header /// +/// /// +/// FILENAME: extras_to_xrayToggle.mel /// +/// AUTHOR: Jonathan Perry (obskyra@hotmail.com) /// +/// /// +/// UDTATE LOG: /// +/// 28th og july: 1.00 by jakob welner /// +/// - Included in OMT /// +/// /// +/// DEPENDENCIES: /// +/// None /// +/// /// +/// PURPOSE & USE: /// +/// Toggles xRay on selected objects or on the camera if none it selected /// +/// /// +/// /////////////////////////////////////////////////////////////////////////// /// +/// /// +/// Open Maya Toolbox: Opensource Alias Maya toolbox /// +/// Copyright (C) 2005 OMToolbox community /// +/// /// +/// This library is free software; you can redistribute it and/or modify it /// +/// under the terms of the GNU Lesser General Public License as published /// +/// by the Free Software Foundation; either version 2.1 of the License, or /// +/// (at your option) any later version. /// +/// /// +/// This library is distributed in the hope that it will be useful, but /// +/// WITHOUT ANY WARRANTY; without even the implied warranty of /// +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// +/// GNU Lesser General Public License for more details. /// +/// /// +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +/// SCRIPT START /// +/////////////////////////////////////////////////////////////////////////////////// + + + +global proc extras_to_xrayToggle() +{ + string $selected[] = `ls -sl -o`; + string $hilighted[] = `ls -hl -o`; + + if (size(`filterExpand -sm 10 -sm 12 -sm 68 $selected`) > 0) + { + for ($object in $selected) + { + int $value[] = `displaySurface -q -xRay $object`; + if ($value[0] == 1) + displaySurface -xRay 0 $object; + else + displaySurface -xRay 1 $object; + } + } + + else + { + for ($object in $hilighted) + { + int $value[] = `displaySurface -q -xRay $object`; + if ($value[0] == 1) + displaySurface -xRay 0 $object; + else + displaySurface -xRay 1 $object; + } + } + + if (size($selected) <= 0 && size($hilighted) <= 0) + { + $panel = `getPanel -wf`; + modelEditor -e -xray (!`modelEditor -q -xray $panel`) $panel; + } +} \ No newline at end of file diff --git a/2009-x64/omtoolbox/updateLog.txt b/2009-x64/omtoolbox/updateLog.txt new file mode 100644 index 0000000..4faf277 --- /dev/null +++ b/2009-x64/omtoolbox/updateLog.txt @@ -0,0 +1,55 @@ +v 0.6.1 +- Enabled optional auto-activation after split +- Redo of the settings window +- delayedStepKeyframe now plays in "play every frame" on key-hold +- added hotkey-file: delayedSelectionDragger + +v 0.6.0 +- Added toggle culling +- Added delayed stepKeyframe +- Added tool: Overshoot +- Added support for custom menuModes in OMT settings +- Fixed bugfix-release versioning support (v7.01 -> v7.0) in the installer +- Added support for sticky keys on the selectiondragger and the ability to return to last used tool. +- removed auto-activate selectionDragger after split commands +- Made scalePosition pivot dependent instead of bounding box +- Made scalePosition work with keyed objects also +- Made scalePosition work on rotate too for positioning a group of objects from a single pivot (like grouping them) + +v 0.5.1 +- Removed spyware'ish java tracker from the doc html file +- Made the installer take better care of write protected userSetup files + +v 0.5.0 +- fixed bug on linux in the select outline script +- rewrote the installer to take care of all cases I can think of in both linux and windows, and hopefully OSX as well. +- fixed GUI bug in linux which removed all content of the settings menu. +- added toggle save selection tool +- added x-ray toggle tool +- changed the select element procedure +- removed marking menu +- automated 'set deafults' from the settings menu + + +v 0.4.0 +- added scale position +- added select element +- added a Marking Menu + + +v 0.3.7 +- Rearranged and fixed some connections between tools +- New menu system +- Loop Select enhancements +- Bugfixes + + +v 0.1.2 +- Added Spin Edge/faces +- Updated 'select outline' + + +v 0.1.1 +- Combined slideLast and slideLoop (slideLoop on edge selection, else slideLast) +- Added component extrude +- Added loopSelect on faces and vertices by selecting adjacent components \ No newline at end of file diff --git a/2009-x64/plug-ins 32-bit/ActorXTool.mll b/2009-x64/plug-ins 32-bit/ActorXTool.mll new file mode 100644 index 0000000..5968a5f Binary files /dev/null and b/2009-x64/plug-ins 32-bit/ActorXTool.mll differ diff --git a/2009-x64/plug-ins 32-bit/siloImportExport.mll b/2009-x64/plug-ins 32-bit/siloImportExport.mll new file mode 100644 index 0000000..11b72b7 Binary files /dev/null and b/2009-x64/plug-ins 32-bit/siloImportExport.mll differ diff --git a/2009-x64/plug-ins 64-bit/ActorXTool.mll b/2009-x64/plug-ins 64-bit/ActorXTool.mll new file mode 100644 index 0000000..9dd516f Binary files /dev/null and b/2009-x64/plug-ins 64-bit/ActorXTool.mll differ diff --git a/2009-x64/plug-ins 64-bit/rockingTransformCheck.mll b/2009-x64/plug-ins 64-bit/rockingTransformCheck.mll new file mode 100644 index 0000000..0e02b7f Binary files /dev/null and b/2009-x64/plug-ins 64-bit/rockingTransformCheck.mll differ diff --git a/2009-x64/plug-ins 64-bit/siloImportExport.mll b/2009-x64/plug-ins 64-bit/siloImportExport.mll new file mode 100644 index 0000000..6dce422 Binary files /dev/null and b/2009-x64/plug-ins 64-bit/siloImportExport.mll differ diff --git a/2009-x64/plug-ins 64-bit/skinClusterDq.mll b/2009-x64/plug-ins 64-bit/skinClusterDq.mll new file mode 100644 index 0000000..cc5b2ea Binary files /dev/null and b/2009-x64/plug-ins 64-bit/skinClusterDq.mll differ diff --git a/2009-x64/plug-ins/.project b/2009-x64/plug-ins/.project new file mode 100644 index 0000000..e5ca5ef --- /dev/null +++ b/2009-x64/plug-ins/.project @@ -0,0 +1,17 @@ + + + Python plugins + + + + + + org.python.pydev.PyDevBuilder + + + + + + org.python.pydev.pythonNature + + diff --git a/2009-x64/plug-ins/.pydevproject b/2009-x64/plug-ins/.pydevproject new file mode 100644 index 0000000..5ab113a --- /dev/null +++ b/2009-x64/plug-ins/.pydevproject @@ -0,0 +1,10 @@ + + + + +python 2.5 + +/Python plugins + +Default + diff --git a/2009-x64/plug-ins/ActorXTool.mll b/2009-x64/plug-ins/ActorXTool.mll new file mode 100644 index 0000000..9dd516f Binary files /dev/null and b/2009-x64/plug-ins/ActorXTool.mll differ diff --git a/2009-x64/plug-ins/UserManual.txt b/2009-x64/plug-ins/UserManual.txt new file mode 100644 index 0000000..8a6e131 --- /dev/null +++ b/2009-x64/plug-ins/UserManual.txt @@ -0,0 +1,240 @@ + +Dual Quaternion skinning in Maya +================================ + +This Maya plugin implements a smooth skinning node doing +dual quaternion skinning. It is described in the tech report +"Dual Quaternions for Rigid Transformation Blending" by Kavan et al. +(see also his page http://isg.cs.tcd.ie/projects/DualQuaternions ) + +Basically, it does the same as a skinCluster node. The plugin adds +a new Maya node called "skinClusterDq". + +As it is quite involved to set up a skinning network in Maya (which +is hidden from the user by some MEL scripting), setting up a +skinClusterDq node is done by copying the internal Maya structure +for an existing skinCluster node. MEL helper functions are provided +to do this. + + + +License +======= + +This software is provided 'as-is', without any express or implied +warranty. In no event will the author(s) be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + + + +Contact +======= + +This plugin was written by Guido de Haan. + +Many thanks to my employer, Guerrilla (www.guerrilla-games.com), for +letting me release this project publicly as it was partially written +in company time. + + + +Quick start +=========== + +1) Make sure you load skinClusterDq.mll +2) Make sure you load the skinClusterDqUtils.mel script +3) Create or load a scene with skinClusters in it +4) Call the MEL function 'createSceneSkinClusterDq' to + create skinClusterDq nodes for each skinCluster node + in the scene. + NB: This can take some time as all attribute values/connections + are copied one-by-one. +5) That's it... + + + +skinClusterDq node +================== + +You can see the difference between dual quaternion skinning and +normal Linear Blend Skinning (LBS, as done by Maya's standard +skinCluster node) by changing the "skinningMode" attribute of +the skinClusterDq node. + +Easiest way to change this is to select the skinClusterDq +node and open up the attribute editor. There are 3 possibilites +for setting the skinning mode: +0: LBS - Linear Blend Skinning + Default skinCluster behavior +1: DQLB - DualQuaternion Linear Blending + Skinning with fast dualquaternion blending +2: DQIB - DualQuaternion Iterative Blending + Skinning with iterative dualquaternion blending. Higher + quality, but more expensive. + +When you created the skinClusterDq node via 'createSceneSkinClusterDq' +or 'createSkinClusterDq', the skinClusterDq is linked to the +original skinCluster node via a message attribute called +'origSkinCluster'. Other MEL utility functions use this to e.g. +switch or copy settings from the original skinCluster node. + + + +Weight Painting +=============== + +When you replaced a skinCluster node by a skinClusterDq node, +starting the weight painting tool refuses to work. This is due +to the MEL scripts handling the weight painting are expecting +a skinCluster node to be present. It uses the 'skinCluster' +command to query all sorts of information, most importantly +the influence objects. + +To make it work with the 'skinClusterDq' node, some minor +modifications were needed of the original Maya MEL scripts. +A modified version of 'artAttrSkinJointMenu.mel' (Maya 7.0) is +included and contains some small changes that were necessary to +make it work again. + +After you loaded this script, you can start painting weights +using 'artAttrSkinDqToolScript 3', as opposed to the normal +behavior 'artAttrSkinToolScript 3'. + +See MEL Scripts section for more info. + + + + +MEL scripts +=========== + +1) skinClusterDqUtils.mel + +Contains several helper functions to support skinClusterDq workflow. +Most important ones are: + +* createSceneSkinClusterDq: + Create 'skinClusterDq' nodes for each existing 'skinCluster' node + in the scene + +* createSkinClusterDq(string $skinClusterNodeName): + Create 'skinClusterDq' node for given 'skinCluster' node + and reconnects Maya graph from old skinCluster node to the + new node. + NB: This can take some time as all attribute values/connections + are copied one-by-one. + +* toggleSkinClusterDqOutput(string $skinClusterDqNodeName): + Toggles geometry output of a skinClusterDq and its corresponding + skinCluster node. You can return to your original skinCluster + node with this, in case some standard MEL scripts refuse to + work when a skinClusterDq node is attached instead of a + skinCluster node. + +* syncSkinClusterDq(string $skinClusterDqNodeName): + Copies all settings from the original skinClusterNode to + the given skinClusterDq node. + +* syncSkinCluster(string $skinClusterDqNodeName): + Copies all settings from the the given skinClusterDq node + to its original skinClusterNode. + +* artAttrSkinDqToolScript(int $setToTool): + Copy of artAttrSkinToolScript() which starts the skin weight + painting tool. Weight painting will not work by default as + its MEL scripts assume it's working with skinCluster nodes + and not with skinClusterDq nodes. + The biggest problem here is that the 'skinCluster' command + is used in a lot of places. + To start painting, use 'artAttrSkinDqToolScript 3'. + +2) AEskinClusterDqTemplate.mel: + +Provides Attribute Editor settings for the skinClusterDq node. +Hides most of its input attributes. Copied from +AEskinClusterTemplate.mel + +3) artAttrSkinJointMenu.mel: + +This is a modified version of the Maya 7.0 script +$(MAYADIR)/scripts/others/artAttrSkinJointMenu.mel +This script handles the weight painting tool window, but uses +the 'skinCluster' command to get the influence objects. + +All calls 'skinCluster -q -inf $NODENAME' were replaced by a +call to a helper function called 'artGetSkinInfluenceObjects'. +When the $NODENAME refers to a skinCluster node, it will +just call 'skinCluster -q -inf'. When it's a skinClusterDq +node, it will returns all 'skinClusterDq.matrix' connections +as the influence objects. + +NB: You have to replace this script in order for painting +to work! + + + +Known Bugs +========== + +- Maya's component editor doesn't show skin vertex weights + when a skinClusterDq node is used + + + +Changes +======= + +2007/01/15: +Initial release version + +2007/01/18: +Fixed bug in "copyInputAttr" and "copyOutputAttr" commands. +Destination array attributes were not cleared first, only +existing elements were copied. + +2007/01/30: +Blending quaternions in dual quaternion blending algorithms is +now using the quaternion with max weight as a pivot (to make +sure the shortest path is taken by sign selection of quaternion +dot product). + +MEL function 'createSceneSkinClusterDq' now returns the list +of skinClusterDq nodes it created. + +2007/01/31: +The clearing of array attributes for "copyInputAttr" and +"copyOutputAttr" commands didn't work properly. There's no +easy way of doing this using the Maya API, so attempted +a different approach. + +2007/03/02: +Working approach for copying array attributes using the +"removeMultiInstance" MEL command to clear the destination +attribute before copying. + +2007/03/19: +Public binary release. Source code will be released on +SourceForge.net soon. + +2007/03/21: +Public release. Visit http://mayadqskinning.sourceforge.net/ + +2008/03/28: +Minor compile fixes for Visual Studio 2005. Added support for +(orthogonal) scaling. +Added Maya 2008 version. + + + diff --git a/2009-x64/plug-ins/pmpFkWithIk_plugin.py b/2009-x64/plug-ins/pmpFkWithIk_plugin.py new file mode 100644 index 0000000..4304728 --- /dev/null +++ b/2009-x64/plug-ins/pmpFkWithIk_plugin.py @@ -0,0 +1,311 @@ +# TODO: turn OFF inherits transform for inputnode +# TODO: check that I'm using proper contexts from MDataBlocks +# TODO: set proper readable / writable values for attribs +# TODO: make it work properly with instances (ie, get right worldMatrix) +# TODO: undo support? + +# Usage: +# import maya.cmds +# maya.cmds.loadPlugin("pmpFKkWithIK_plugin.py") +# TODO: write usage +# + +import maya.OpenMaya as OpenMaya +import maya.OpenMayaMPx as MPx +import sys + +pluginName = "pmpFkWithIk" +dummyTransformMatrixID = OpenMaya.MTypeId(0x32000) +mouseDeltaTranslationOutputNodeID = OpenMaya.MTypeId(0x32001) +mouseDeltaTranslationInputNodeID = OpenMaya.MTypeId(0x32002) + + +# Due to a bug with python implementation, can't use +# default MPxTransformationMatrxi - so just make a dummy +# derived one +class DummyTransformMatrix(MPx.MPxTransformationMatrix): + @classmethod + def creator(cls): + return MPx.asMPxPtr( cls() ) + nodeId = dummyTransformMatrixID + +class MouseDeltaTranslationAbstractNode(MPx.MPxTransform): + deltaTransLongName = "deltaTranslate" + deltaTransShortName = "deltaTrans" + deltaTrans = OpenMaya.MObject() # This will be initialized in initialize() + nodeName = "mouseDeltaTranslationNode" + nodeId = OpenMaya.MTypeId(0x0000) # OVERRIDE THIS! + + def isAbstractClass(self): return True + + def createTransformationMatrix(self): + return matrixCreator() + + def getDeltaTransPlug(self, child): + #return OpenMaya.MPlug(self.thisMObject(), self.deltaTrans) + return OpenMaya.MPlug(self.thisMObject(), self.deltaTrans[child.upper()]) + + def getDeltaTransAttr(self, child): + pass + + #def compute(self, plug, data): + #print "in compute for plug: %s" % plug.name() + #return MPx.MPxTransform.compute(self, plug, data) + + def debugPrintDeltaTrans(self): + data = self._forceCache() + + # We use an output value here, even though we're reading, + # because we don't want to trigger compute() - we just + # want to 'peek' at it's current value for debugging... + + print "deltaTrans (data block):", + for axis in "XYZ": + print data.outputValue(self.deltaTrans[axis]).asDouble(), + print + + # ok, so we've learned that accessing the plug triggers the compute method + # if it's dirty... + print "deltaTrans (from plug) :", + #for axis in "XYZ": + # print self.getDeltaTransPlug(axis).asDouble(), + print + + @classmethod + def initialize(cls, readable=True, writable=True, affectsWorldSpace=False): + print "initializing class '%s'" % cls + + # TODO: keep having problems with compound attributes - implement as single + # attributes for now + #compoundFn = OpenMaya.MFnCompoundAttribute() + #numericFn = OpenMaya.MFnNumericAttribute() + unitFn = OpenMaya.MFnUnitAttribute() + keyable = True + channelBox = True + storable = False + + # TODO: comment out these lines (used for debugging, so it shows in channel box) + readable=True + writable=True + + children = {} + #cls.deltaTrans = compoundFn.create(cls.deltaTransLongName, cls.deltaTransShortName) + for axis in 'XYZ': + children[axis] = unitFn.create(cls.deltaTransLongName + axis, + cls.deltaTransShortName + axis, unitFn.kDistance, 0) + + unitFn.setKeyable(keyable) + unitFn.setChannelBox(channelBox) + unitFn.setReadable(readable) + unitFn.setWritable(writable) + unitFn.setStorable(storable) + if affectsWorldSpace: + unitFn.setAffectsWorldSpace(True) + cls.mustCallValidateAndSet(children[axis]) + + # make sure this and the compound attribute are not BOTH added + cls.addAttribute(children[axis]) + + cls.deltaTrans = children + + #cls.deltaTrans = numericFn.create(cls.deltaTransLongName, cls.deltaTransShortName, + # children['X'], children['Y'], children['Z']) +# numericFn.setKeyable(keyable) +# numericFn.setChannelBox(channelBox) +# numericFn.setReadable(readable) +# numericFn.setWritable(writable) +# numericFn.setStorable(storable) + + # make sure this and the children attributes are not BOTH added + # cls.addAttribute(cls.deltaTrans) + #cls.mustCallValidateAndSet(cls.deltaTrans) + return + + @classmethod + def creator(cls): + return MPx.asMPxPtr(cls()) + + @classmethod + def addSuffixToNodeName(cls, suffix): + standardSuffix = "Node" + if cls.nodeName.lower().endswith(standardSuffix.lower()): + return cls.nodeName[:-len(standardSuffix)] + suffix + standardSuffix + else: + return cls.nodeName + suffix + + @classmethod + def register(cls, mplugin): + try: + mplugin.registerTransform( cls.nodeName, cls.nodeId, + cls.creator, cls.initialize, + DummyTransformMatrix.creator, + DummyTransformMatrix.nodeId) + except: + sys.stderr.write( "Error while registering transform: %s\n" % cls.nodeName ) + raise + + @classmethod + def unregister(cls, mplugin): + try: + mplugin.deregisterNode( cls.nodeId ) + except: + sys.stderr.write( "Error while unregistering transform: %s\n" % cls.nodeName ) + raise + + +class MouseDeltaTranslationOutputNode(MouseDeltaTranslationAbstractNode): + deltaTransLongName = MouseDeltaTranslationAbstractNode.deltaTransLongName + "Output" + deltaTransShortName = MouseDeltaTranslationAbstractNode.deltaTransShortName + "Out" + nodeName = MouseDeltaTranslationAbstractNode.addSuffixToNodeName("Output") + nodeId = mouseDeltaTranslationOutputNodeID + def isAbstractClass(self): return False + + + @classmethod + def initialize(cls): + super(MouseDeltaTranslationOutputNode, cls).initialize(writable=False) + + def applyTranslationLocks(self, newTrans, savedTrans): + """Use locking to make sure object does not actually move, but the mouse delta movements are stored in deltaTrans.""" + #print "setting translation locks for %s" % self.name() + delta = newTrans - savedTrans + +# print "old values for deltaTrans:" +# self.debugPrintDeltaTrans() +# print + + dist = OpenMaya.MDistance() + dist.setUnit(OpenMaya.MDistance.internalUnit()) + for axis in "XYZ": + child = self.getDeltaTransPlug(axis) + #print child.name() + #print "is a unit attribute?: %s" % child.attribute().hasFn(OpenMaya.MFn.kUnitAttribute) + + dist.setValue(getattr(delta, axis.lower()) + child.asDouble()) + child.setMDistance(dist) + # child.setDouble(delta[i]) + +# print "new values for deltaTrans:" +# self.debugPrintDeltaTrans() +# print + + return savedTrans + +# def applyTranslationLimits(self, + + +class MouseDeltaTranslationInputNode(MouseDeltaTranslationAbstractNode): + deltaTransLongName = MouseDeltaTranslationAbstractNode.deltaTransLongName + "Input" + deltaTransShortName = MouseDeltaTranslationAbstractNode.deltaTransShortName + "In" + nodeName = MouseDeltaTranslationAbstractNode.addSuffixToNodeName("Input") + nodeId = mouseDeltaTranslationInputNodeID + def isAbstractClass(self): return False + + @classmethod + def initialize(cls): + return super(MouseDeltaTranslationInputNode, cls).initialize(readable=False, affectsWorldSpace=True) +# print "calling: %s.%s(%s)" % (cls.__name__, cls.mustCallValidateAndSet.__name__, cls.deltaTrans) +# cls.mustCallValidateAndSet(cls.deltaTrans) +# OpenMaya.MFnAttribute(cls.deltaTrans).setAffectsWorldSpace(True) + + def validateAndSetValue(self, plug, handle, context): + #print "validating: %s" % plug.name() + #if plug.isChild() and plug.parent() == self.deltaTrans: + if plug in self.deltaTrans.values(): + #print "plug was a deltaTrans..." + + self.updateMatrixAttrs(context) + dataBlock = self._forceCache(context) + + # first, update internal value, and set clean for THIS plug... + cacheHandle = dataBlock.outputValue(plug) + value = handle.asDouble() + cacheHandle.setDouble(value) + handle.setClean() + #print "cleaned original handle..." + + # ...THEN, get values for all plugs, and translate the node + # by updating cached value / setting clean FIRST, this ensures + # we do not have an infinite loop... + + if value != 0: + vector = OpenMaya.MVector(0,0,0) + for axis in "XYZ": + plug = self.getDeltaTransPlug(axis) + handle = dataBlock.inputValue(plug) + value = handle.asDouble() + + connections = OpenMaya.MPlugArray() + isConnected = plug.connectedTo(connections, True, False) + if isConnected: + sourcePlug = connections[0] + sourceNode = sourcePlug.node() + try: + dagPath = OpenMaya.MDagPath() + dagPath.getAPathTo(sourceNode, dagPath) + except: + pass + else: + if not dagPath.isValid(): + #print "unable to get a dag path for %s" % transFn.name() + pass + else: + #print "got dagPath: %s" % dagPath.fullPathName() + transFn = OpenMaya.MFnTransform(dagPath) + #print "trying to grab world matrix from: %s" % transFn.fullPathName() + try: + worldMatrixPlug = transFn.findPlug("worldMatrix") + worldMatrixPlug.evaluateNumElements() + #print "world matrix plug info: %s" % worldMatrixPlug.info() + #print "isArray?: %s" % worldMatrixPlug.isArray() + #print "numElements: %d" % worldMatrixPlug.numElements() + worldMatrixPlug = worldMatrixPlug.elementByPhysicalIndex(0) + #print "world matrix plug info: %s" % worldMatrixPlug.info() + worldMatrix = worldMatrixPlug.asMObject() + except: + #print "no world matrix found..." + pass + else: + #print "succeeded!" + + worldMatrix = OpenMaya.MFnMatrixData(worldMatrix) + self.resetTransformation(worldMatrix.matrix()) + axis = plug.name()[-1] + vector = getattr(OpenMaya.MVector, axis.lower() + "Axis") * value + vector + #self.translateBy(OpenMaya.MVector(.1,.1,.1), OpenMaya.MSpace.kTransform) + handle.setClean() + sourcePlug.setDouble(0) + #print "got vector: (%f, %f, %f)" % (vector[0], vector[1], vector[2]) + if vector != OpenMaya.MVector.zero: + self.translateBy(vector, OpenMaya.MSpace.kTransform) + return + + return MouseDeltaTranslationAbstractNode.validateAndSetValue(self, plug, handle, context) + +def plugEqualOrParent(plugChild, plugParent): + """Return True if plugChild == plugParent, or if plugParent is a direct/indirect parent of plugChild.""" + if plugChild.isNull() or plugParent.isNull(): return False + if plugChild==plugParent: return True + elif not plugChild.isChild(): return False + else: return plugEqualOrParent(plugChild.parent(), plugParent) + +# plugin initialization funcs + +#def getPlugType(plug): +# mfnType = "" +# attrib = child.attribute() +# if(attrib.hasFn(OpenMaya.MFn.kNumericAttribute)): +# mfnType = "" +# attrib = OpenMaya.MFnNumericAttribute(attrib) +# if attrib.unitType() == + +def initializePlugin(mobject): + print "initializing..." + mplugin = MPx.MFnPlugin(mobject) + MouseDeltaTranslationOutputNode.register(mplugin) + MouseDeltaTranslationInputNode.register(mplugin) + +def uninitializePlugin(mobject): + mplugin = MPx.MFnPlugin(mobject) + MouseDeltaTranslationOutputNode.unregister(mplugin) + MouseDeltaTranslationInputNode.unregister(mplugin) diff --git a/2009-x64/plug-ins/pmpFkWithIk_plugin.v1.py b/2009-x64/plug-ins/pmpFkWithIk_plugin.v1.py new file mode 100644 index 0000000..4304728 --- /dev/null +++ b/2009-x64/plug-ins/pmpFkWithIk_plugin.v1.py @@ -0,0 +1,311 @@ +# TODO: turn OFF inherits transform for inputnode +# TODO: check that I'm using proper contexts from MDataBlocks +# TODO: set proper readable / writable values for attribs +# TODO: make it work properly with instances (ie, get right worldMatrix) +# TODO: undo support? + +# Usage: +# import maya.cmds +# maya.cmds.loadPlugin("pmpFKkWithIK_plugin.py") +# TODO: write usage +# + +import maya.OpenMaya as OpenMaya +import maya.OpenMayaMPx as MPx +import sys + +pluginName = "pmpFkWithIk" +dummyTransformMatrixID = OpenMaya.MTypeId(0x32000) +mouseDeltaTranslationOutputNodeID = OpenMaya.MTypeId(0x32001) +mouseDeltaTranslationInputNodeID = OpenMaya.MTypeId(0x32002) + + +# Due to a bug with python implementation, can't use +# default MPxTransformationMatrxi - so just make a dummy +# derived one +class DummyTransformMatrix(MPx.MPxTransformationMatrix): + @classmethod + def creator(cls): + return MPx.asMPxPtr( cls() ) + nodeId = dummyTransformMatrixID + +class MouseDeltaTranslationAbstractNode(MPx.MPxTransform): + deltaTransLongName = "deltaTranslate" + deltaTransShortName = "deltaTrans" + deltaTrans = OpenMaya.MObject() # This will be initialized in initialize() + nodeName = "mouseDeltaTranslationNode" + nodeId = OpenMaya.MTypeId(0x0000) # OVERRIDE THIS! + + def isAbstractClass(self): return True + + def createTransformationMatrix(self): + return matrixCreator() + + def getDeltaTransPlug(self, child): + #return OpenMaya.MPlug(self.thisMObject(), self.deltaTrans) + return OpenMaya.MPlug(self.thisMObject(), self.deltaTrans[child.upper()]) + + def getDeltaTransAttr(self, child): + pass + + #def compute(self, plug, data): + #print "in compute for plug: %s" % plug.name() + #return MPx.MPxTransform.compute(self, plug, data) + + def debugPrintDeltaTrans(self): + data = self._forceCache() + + # We use an output value here, even though we're reading, + # because we don't want to trigger compute() - we just + # want to 'peek' at it's current value for debugging... + + print "deltaTrans (data block):", + for axis in "XYZ": + print data.outputValue(self.deltaTrans[axis]).asDouble(), + print + + # ok, so we've learned that accessing the plug triggers the compute method + # if it's dirty... + print "deltaTrans (from plug) :", + #for axis in "XYZ": + # print self.getDeltaTransPlug(axis).asDouble(), + print + + @classmethod + def initialize(cls, readable=True, writable=True, affectsWorldSpace=False): + print "initializing class '%s'" % cls + + # TODO: keep having problems with compound attributes - implement as single + # attributes for now + #compoundFn = OpenMaya.MFnCompoundAttribute() + #numericFn = OpenMaya.MFnNumericAttribute() + unitFn = OpenMaya.MFnUnitAttribute() + keyable = True + channelBox = True + storable = False + + # TODO: comment out these lines (used for debugging, so it shows in channel box) + readable=True + writable=True + + children = {} + #cls.deltaTrans = compoundFn.create(cls.deltaTransLongName, cls.deltaTransShortName) + for axis in 'XYZ': + children[axis] = unitFn.create(cls.deltaTransLongName + axis, + cls.deltaTransShortName + axis, unitFn.kDistance, 0) + + unitFn.setKeyable(keyable) + unitFn.setChannelBox(channelBox) + unitFn.setReadable(readable) + unitFn.setWritable(writable) + unitFn.setStorable(storable) + if affectsWorldSpace: + unitFn.setAffectsWorldSpace(True) + cls.mustCallValidateAndSet(children[axis]) + + # make sure this and the compound attribute are not BOTH added + cls.addAttribute(children[axis]) + + cls.deltaTrans = children + + #cls.deltaTrans = numericFn.create(cls.deltaTransLongName, cls.deltaTransShortName, + # children['X'], children['Y'], children['Z']) +# numericFn.setKeyable(keyable) +# numericFn.setChannelBox(channelBox) +# numericFn.setReadable(readable) +# numericFn.setWritable(writable) +# numericFn.setStorable(storable) + + # make sure this and the children attributes are not BOTH added + # cls.addAttribute(cls.deltaTrans) + #cls.mustCallValidateAndSet(cls.deltaTrans) + return + + @classmethod + def creator(cls): + return MPx.asMPxPtr(cls()) + + @classmethod + def addSuffixToNodeName(cls, suffix): + standardSuffix = "Node" + if cls.nodeName.lower().endswith(standardSuffix.lower()): + return cls.nodeName[:-len(standardSuffix)] + suffix + standardSuffix + else: + return cls.nodeName + suffix + + @classmethod + def register(cls, mplugin): + try: + mplugin.registerTransform( cls.nodeName, cls.nodeId, + cls.creator, cls.initialize, + DummyTransformMatrix.creator, + DummyTransformMatrix.nodeId) + except: + sys.stderr.write( "Error while registering transform: %s\n" % cls.nodeName ) + raise + + @classmethod + def unregister(cls, mplugin): + try: + mplugin.deregisterNode( cls.nodeId ) + except: + sys.stderr.write( "Error while unregistering transform: %s\n" % cls.nodeName ) + raise + + +class MouseDeltaTranslationOutputNode(MouseDeltaTranslationAbstractNode): + deltaTransLongName = MouseDeltaTranslationAbstractNode.deltaTransLongName + "Output" + deltaTransShortName = MouseDeltaTranslationAbstractNode.deltaTransShortName + "Out" + nodeName = MouseDeltaTranslationAbstractNode.addSuffixToNodeName("Output") + nodeId = mouseDeltaTranslationOutputNodeID + def isAbstractClass(self): return False + + + @classmethod + def initialize(cls): + super(MouseDeltaTranslationOutputNode, cls).initialize(writable=False) + + def applyTranslationLocks(self, newTrans, savedTrans): + """Use locking to make sure object does not actually move, but the mouse delta movements are stored in deltaTrans.""" + #print "setting translation locks for %s" % self.name() + delta = newTrans - savedTrans + +# print "old values for deltaTrans:" +# self.debugPrintDeltaTrans() +# print + + dist = OpenMaya.MDistance() + dist.setUnit(OpenMaya.MDistance.internalUnit()) + for axis in "XYZ": + child = self.getDeltaTransPlug(axis) + #print child.name() + #print "is a unit attribute?: %s" % child.attribute().hasFn(OpenMaya.MFn.kUnitAttribute) + + dist.setValue(getattr(delta, axis.lower()) + child.asDouble()) + child.setMDistance(dist) + # child.setDouble(delta[i]) + +# print "new values for deltaTrans:" +# self.debugPrintDeltaTrans() +# print + + return savedTrans + +# def applyTranslationLimits(self, + + +class MouseDeltaTranslationInputNode(MouseDeltaTranslationAbstractNode): + deltaTransLongName = MouseDeltaTranslationAbstractNode.deltaTransLongName + "Input" + deltaTransShortName = MouseDeltaTranslationAbstractNode.deltaTransShortName + "In" + nodeName = MouseDeltaTranslationAbstractNode.addSuffixToNodeName("Input") + nodeId = mouseDeltaTranslationInputNodeID + def isAbstractClass(self): return False + + @classmethod + def initialize(cls): + return super(MouseDeltaTranslationInputNode, cls).initialize(readable=False, affectsWorldSpace=True) +# print "calling: %s.%s(%s)" % (cls.__name__, cls.mustCallValidateAndSet.__name__, cls.deltaTrans) +# cls.mustCallValidateAndSet(cls.deltaTrans) +# OpenMaya.MFnAttribute(cls.deltaTrans).setAffectsWorldSpace(True) + + def validateAndSetValue(self, plug, handle, context): + #print "validating: %s" % plug.name() + #if plug.isChild() and plug.parent() == self.deltaTrans: + if plug in self.deltaTrans.values(): + #print "plug was a deltaTrans..." + + self.updateMatrixAttrs(context) + dataBlock = self._forceCache(context) + + # first, update internal value, and set clean for THIS plug... + cacheHandle = dataBlock.outputValue(plug) + value = handle.asDouble() + cacheHandle.setDouble(value) + handle.setClean() + #print "cleaned original handle..." + + # ...THEN, get values for all plugs, and translate the node + # by updating cached value / setting clean FIRST, this ensures + # we do not have an infinite loop... + + if value != 0: + vector = OpenMaya.MVector(0,0,0) + for axis in "XYZ": + plug = self.getDeltaTransPlug(axis) + handle = dataBlock.inputValue(plug) + value = handle.asDouble() + + connections = OpenMaya.MPlugArray() + isConnected = plug.connectedTo(connections, True, False) + if isConnected: + sourcePlug = connections[0] + sourceNode = sourcePlug.node() + try: + dagPath = OpenMaya.MDagPath() + dagPath.getAPathTo(sourceNode, dagPath) + except: + pass + else: + if not dagPath.isValid(): + #print "unable to get a dag path for %s" % transFn.name() + pass + else: + #print "got dagPath: %s" % dagPath.fullPathName() + transFn = OpenMaya.MFnTransform(dagPath) + #print "trying to grab world matrix from: %s" % transFn.fullPathName() + try: + worldMatrixPlug = transFn.findPlug("worldMatrix") + worldMatrixPlug.evaluateNumElements() + #print "world matrix plug info: %s" % worldMatrixPlug.info() + #print "isArray?: %s" % worldMatrixPlug.isArray() + #print "numElements: %d" % worldMatrixPlug.numElements() + worldMatrixPlug = worldMatrixPlug.elementByPhysicalIndex(0) + #print "world matrix plug info: %s" % worldMatrixPlug.info() + worldMatrix = worldMatrixPlug.asMObject() + except: + #print "no world matrix found..." + pass + else: + #print "succeeded!" + + worldMatrix = OpenMaya.MFnMatrixData(worldMatrix) + self.resetTransformation(worldMatrix.matrix()) + axis = plug.name()[-1] + vector = getattr(OpenMaya.MVector, axis.lower() + "Axis") * value + vector + #self.translateBy(OpenMaya.MVector(.1,.1,.1), OpenMaya.MSpace.kTransform) + handle.setClean() + sourcePlug.setDouble(0) + #print "got vector: (%f, %f, %f)" % (vector[0], vector[1], vector[2]) + if vector != OpenMaya.MVector.zero: + self.translateBy(vector, OpenMaya.MSpace.kTransform) + return + + return MouseDeltaTranslationAbstractNode.validateAndSetValue(self, plug, handle, context) + +def plugEqualOrParent(plugChild, plugParent): + """Return True if plugChild == plugParent, or if plugParent is a direct/indirect parent of plugChild.""" + if plugChild.isNull() or plugParent.isNull(): return False + if plugChild==plugParent: return True + elif not plugChild.isChild(): return False + else: return plugEqualOrParent(plugChild.parent(), plugParent) + +# plugin initialization funcs + +#def getPlugType(plug): +# mfnType = "" +# attrib = child.attribute() +# if(attrib.hasFn(OpenMaya.MFn.kNumericAttribute)): +# mfnType = "" +# attrib = OpenMaya.MFnNumericAttribute(attrib) +# if attrib.unitType() == + +def initializePlugin(mobject): + print "initializing..." + mplugin = MPx.MFnPlugin(mobject) + MouseDeltaTranslationOutputNode.register(mplugin) + MouseDeltaTranslationInputNode.register(mplugin) + +def uninitializePlugin(mobject): + mplugin = MPx.MFnPlugin(mobject) + MouseDeltaTranslationOutputNode.unregister(mplugin) + MouseDeltaTranslationInputNode.unregister(mplugin) diff --git a/2009-x64/plug-ins/pymelScrollFieldReporter.py.removed b/2009-x64/plug-ins/pymelScrollFieldReporter.py.removed new file mode 100644 index 0000000..c97e86f --- /dev/null +++ b/2009-x64/plug-ins/pymelScrollFieldReporter.py.removed @@ -0,0 +1,521 @@ + +""" +to create a window: + +window; + paneLayout -configuration "single"; + pymelScrollFieldReporter; +showWindow; +""" + + +import sys, platform +import maya.OpenMaya as OpenMaya +import maya.OpenMayaMPx as OpenMayaMPx +import maya.OpenMayaUI as OpenMayaUI +import pymel.tools.mel2py as mel2py +from maya.cmds import encodeString + +mparser = mel2py.MelParser() +mparser.build() + +kPluginCmdName = "pymelScrollFieldReporter" + +''' +# pass to scrollField +-clear(-clr) +-text(-t) string + +# can possibly be implemented +-saveSelection(-sv) string +-saveSelectionToShelf(-svs) +-textLength(-tl) + +# difficult or impossible to implement +-selectAll(-sla) +-select(-sl) int int +-cutSelection(-ct) +-copySelection(-cp) +-pasteSelection(-pst) +-hasFocus(-hf) +-receiveFocusCommand(-rfc) string + +''' + +kClear = ('clear', 'clr') +kText = ('text', 't') +kCmdReporter = ( 'cmdReporter', 'cr') + +kMel = 'mel' +kPython = 'python' + +filterFlags = { + # filters + 'convertToPython' : ( 'ctp', OpenMaya.MSyntax.kBoolean, False), + 'filterSourceType' : ( 'fst', OpenMaya.MSyntax.kString, ''), + 'suppressPrintouts' : ( 'spo', OpenMaya.MSyntax.kBoolean, False), + 'suppressInfo' : ( 'si', OpenMaya.MSyntax.kBoolean, False), + 'suppressWarnings' : ( 'sw', OpenMaya.MSyntax.kBoolean, False), + 'suppressErrors' : ( 'se', OpenMaya.MSyntax.kBoolean, False), + 'suppressResults' : ( 'sr', OpenMaya.MSyntax.kBoolean, False), + 'suppressStackTrace' : ( 'sst', OpenMaya.MSyntax.kBoolean, False) +} + +globalFilterFlags = { + # global + 'echoAllCommands' : ( 'eac', OpenMaya.MSyntax.kBoolean, False), + 'lineNumbers' : ( 'ln', OpenMaya.MSyntax.kBoolean, False), + 'stackTrace' : ( 'st', OpenMaya.MSyntax.kBoolean, False) +} + +filterFlagNames = ['', + 'suppressPrintouts', #1 + 'suppressInfo', #2 + 'suppressWarnings', #3 + 'suppressErrors', #4 + 'suppressResults', #5 + 'suppressStackTrace' ] #6 + +messageId = 0 +messageIdSet = False +sourceType = kMel # 'mel' or 'python' + +allHistory = [] + +callbackState = 'normal' + +updateCmd = '' + +# For XP x64 and Vista, system() returns 'Microsoft' +if platform.system() in ('Windows', 'Microsoft'): + updateCmd = 'string $fWin=`window -q -frontWindow blah` + "|";string $x;for ($x in `lsUI -controlLayouts -long`) {if (startsWith( $x, $fWin ) ) {break;}};scrollField -e -insertionPosition %(len)d -insertText \"%(text)s\" "%(name)s";setFocus("%(name)s");setFocus($x);' +else: + updateCmd = 'scrollField -e -insertionPosition %(len)d -insertText \"%(text)s\" "%(name)s";' + +class Reporter(object): + cmdReporter = None + + globalFilters = { + 'echoAllCommands' : False, + 'lineNumbers' : False, + 'stackTrace' : False, + } + def __init__(self, *args, **kwargs): + if not args: + self.name = kPluginCmdName + else: + self.name = args[0] + + # set defaults + self.filters = { + # filters + 'convertToPython' : False, + 'filterSourceType' : '', + 'suppressPrintouts' : False, + 'suppressInfo' : False, + 'suppressWarnings' : False, + 'suppressErrors' : False, + 'suppressResults' : False, + 'suppressStackTrace' : False + } + + self.filters.update( kwargs ) + self.bufferLength = 0 + global allHistory + self.history = allHistory[:] + cmd = 'scrollField -wordWrap false -editable false "%s"' % self.name + self.name = self.executeCommandResult( cmd ) + self.uiMessageID = OpenMayaUI.MUiMessage.addUiDeletedCallback( self.name, uiDeletedCallback, self.name ) + self.refreshHistory() + + + + def executeCommandOnIdle( self, cmd ): + global callbackState + if Reporter.globalFilters['echoAllCommands']: + callbackState = 'ignoreCommand' + OpenMaya.MGlobal.executeCommandOnIdle( cmd, False ) + + def executeCommand( self, cmd ): + global callbackState + if Reporter.globalFilters['echoAllCommands']: + callbackState = 'ignoreCommand' + OpenMaya.MGlobal.executeCommand( cmd, False, False ) + + def executeCommandResult( self, cmd ): + global callbackState + if Reporter.globalFilters['echoAllCommands']: + callbackState = 'ignoreCommand' + result = OpenMaya.MGlobal.executeCommandStringResult( cmd, False, False ) + return result + + def lineFilter( self, messageType, sourceType, nativeMsg, convertedMsg ): + filterSourceType = self.filters['filterSourceType'] + + if (not filterSourceType or filterSourceType != sourceType) and not self.filters.get( filterFlagNames[messageType], False ): + if self.filters['convertToPython'] and convertedMsg is not None: + return convertedMsg + return nativeMsg + + def refreshHistory(self): + output = '' + for line in self.history: + try: + output += self.lineFilter( *line ) + except TypeError: pass + self.bufferLength = len(output) + cmd = 'scrollField -e -text \"%s\" "%s";' % ( output, self.name ) + self.executeCommand( cmd ) + + def appendHistory(self, line ): + self.history.append( line ) + output = self.lineFilter( *line ) + + if output is not None: + global callbackState + + cmd = updateCmd % { 'len' : self.bufferLength, 'text' : output, 'name' : self.name } + + #cmd = % ( self.bufferLength, output, self.name ) + #cmd = 'scrollField -e -insertionPosition %d -insertText \"%s\" "%s";setFocus("%s")' % ( self.bufferLength, output, self.name, self.name ) + self.bufferLength += len(output) + + # f the line is a syntax error, we have to use OnIdle or maya will crash + #if line[0] == OpenMaya.MCommandMessage.kError and line[1] == kMel and 'Syntax error' in line[2] : #line[2].endswith( 'Syntax error //\n'): + if line[1] == kMel and ( callbackState == 'syntax_error' or line[0] in [OpenMaya.MCommandMessage.kError, OpenMaya.MCommandMessage.kWarning] ): + self.executeCommandOnIdle( cmd ) + else: + self.executeCommand( cmd ) + + return + + def setFilters( self, **filters ): + self.filters.update( filters ) + self.refreshHistory() + + def setGlobalFilters( self, **filters ): + global cmdReporter + + flags = '' + for key, value in filters.items(): + if value: value = 1 + else: value = 0 + flags += '-%s %s ' % (key, value) + + cmd = 'cmdScrollFieldReporter -e %s "%s";' % ( flags, Reporter.cmdReporter ) + + self.executeCommand( cmd ) + + Reporter.globalFilters.update( filters ) + + def getGlobalFilter(self, filter ): + return Reporter.globalFilters[filter] + + + cmd = 'cmdScrollFieldReporter -q -%s "%s";' % ( filter, Reporter.cmdReporter ) + + + #result = self.executeCommandResult( cmd ) + result = OpenMaya.MGlobal.executeCommandStringResult( cmd, False, False ) + + + return result + + def addCmdReporter( self, cmdReporter ): + Reporter.cmdReporter = cmdReporter + + def clear(self): + self.history = [] + cmd = 'scrollField -e -clear "%s";' % ( self.name ) + self.executeCommand( cmd ) + + + def text(self, text): + cmd = 'scrollField -e -text "%s" "%s";' % ( text, self.name ) + self.executeCommand( cmd ) + +class ReporterDict(dict): + def __getitem__(self, lookupName): + lookupBuf = lookupName.split('|') + for key, val in self.items(): + keyBuf = key.split('|') + if keyBuf[-1*len(lookupBuf):] == lookupBuf: + return val + raise KeyError #, str(lookupName) + +reporters = ReporterDict({}) +#reporters = {} + +def removeCallback(id): + try: + OpenMaya.MMessage.removeCallback( id ) + except: + sys.stderr.write( "Failed to remove callback\n" ) + raise + +def createCallback(stringData): + # global declares module level variables that will be assigned + global messageIdSet + global messageId + + try: + id = OpenMaya.MCommandMessage.addCommandOutputCallback( cmdCallback, stringData ) + except: + sys.stderr.write( "Failed to install callback\n" ) + messageIdSet = False + else: + messageIdSet = True + return id + +def uiDeletedCallback( name ): + #outputFile = open( '/var/tmp/commandOutput', 'a') + #outputFile.write( 'before=%s\n' % reporters ) + #outputFile.close() + + + removeCallback( reporters[ name ].uiMessageID ) + reporters.pop( name ) + + #outputFile = open( '/var/tmp/commandOutput', 'a') + #outputFile.write( 'after=%s\n' % reporters ) + #outputFile.close() + +def cmdCallback( nativeMsg, messageType, data ): + global callbackState + + #outputFile = open( '/var/tmp/commandOutput', 'a') + #outputFile.write( '============\n%s\n%s %s, length %s \n' % (nativeMsg, messageType, callbackState, len(nativeMsg)) ) + #outputFile.close() + + + if callbackState == 'ignoreCommand': + callbackState = 'ignoreResult' + return + elif callbackState == 'ignoreResult': + callbackState = 'normal' + return + + global sourceType + global allHistory + + syntaxError = False + convertedMsg = None + + # Command History + if messageType == OpenMaya.MCommandMessage.kHistory: + callbackState = 'normal' + #if nativeMsg.rfind(';') == len(nativeMsg)-2 : # and len(nativeMsg) >= 2: + if nativeMsg.endswith(';\n') : # and len(nativeMsg) >= 2: + sourceType = kMel + try: + #convertedMsg = mel2py.mel2pyStr( nativeMsg ) + convertedMsg = mparser.parse( nativeMsg ) + except Exception, msg: + syntaxError = True + pass + else: + sourceType = kPython + + # Display - unaltered strings, such as that printed by the print command + elif messageType == OpenMaya.MCommandMessage.kDisplay and ( nativeMsg.endswith(';\n') or nativeMsg.startswith( '//' ) ): + try: + #convertedMsg = mel2py.mel2pyStr( nativeMsg ) + convertedMsg = mparser.parse( nativeMsg ) + except Exception, msg: + pass + else: + try: + nativeMsg = { + #OpenMaya.MCommandMessage.kDisplay: 'Output', + OpenMaya.MCommandMessage.kInfo: '', + OpenMaya.MCommandMessage.kWarning: 'Warning: ', + OpenMaya.MCommandMessage.kError: 'Error: ', + OpenMaya.MCommandMessage.kResult: 'Result: ' + }[ messageType ] + nativeMsg + + if sourceType == kMel: + convertedMsg = '# %s #\n' % nativeMsg + nativeMsg = '// %s //\n' % nativeMsg + else: + nativeMsg = '# %s #\n' % nativeMsg + + except KeyError: + pass + + nativeMsg = encodeString( nativeMsg ) + if convertedMsg is not None: + convertedMsg = encodeString( convertedMsg ) + + #outputFile = open( '/var/tmp/commandOutput', 'a') + #outputFile.write( '---------\n%s %s\n' % ( convertedMsg, sourceType ) ) + #outputFile.close() + + line = [ messageType, sourceType, nativeMsg, convertedMsg ] + + allHistory.append( line ) + + #if messageType == OpenMaya.MCommandMessage.kError : # and 'Syntax error' in nativeMsg: + # return + + for reporter in reporters.values(): + reporter.appendHistory( line ) + + if syntaxError: + callbackState = 'syntax_error' + + #elif callbackState == 'syntax_error' and 'Syntax error' in nativeMsg: + # callbackState = 'normal' + + #global output + #output += encodeString( message ) + + #cmd = 'global string $gCommandReporter;cmdScrollFieldReporter -edit -text \"%s\" $gCommandReporter;' % output + #cmd = 'scrollField -e -text \"%s\" %s;\n' % ( output, scrollFieldName ) + + + + #OpenMaya.MGlobal.executeCommand( cmd, False, False ) + +# command +class scriptedCommand(OpenMayaMPx.MPxCommand): + def __init__(self): + OpenMayaMPx.MPxCommand.__init__(self) + + + + def doIt(self, args): + #global messageId + + try: + argData = OpenMaya.MArgDatabase(self.syntax(), args) + except: + name = kPluginCmdName + reporter = Reporter( name ) + reporters[reporter.name] = reporter + return self.setResult( reporter.name ) + try: + name = argData.commandArgumentString(0) + except: + name = kPluginCmdName + + + # QUERY + if argData.isQuery(): + reporter = reporters[name] + for key,data in filterFlags.items(): + if argData.isFlagSet( key ): + self.setResult( reporter.filters[ key ] ) + return + + for key,data in globalFilterFlags.items(): + if argData.isFlagSet( key ): + self.setResult( reporter.getGlobalFilter( key ) ) + return + + if argData.isFlagSet( kCmdReporter[0] ): + self.setResult( reporter.cmdReporter ) + + else: + filters = {} + for key,data in filterFlags.items(): + if argData.isFlagSet( key ): + if data[1] == OpenMaya.MSyntax.kBoolean: + filters[key] = argData.flagArgumentBool( key, 0 ) + elif data[1] == OpenMaya.MSyntax.kString: + filters[key] = argData.flagArgumentString( key, 0 ) + + globalFilters = {} + for key,data in globalFilterFlags.items(): + if argData.isFlagSet( key ): + if data[1] == OpenMaya.MSyntax.kBoolean: + globalFilters[key] = argData.flagArgumentBool( key, 0 ) + + # EDIT + if argData.isEdit(): + reporter = reporters[name] + if filters: + reporter.setFilters( **filters ) + if globalFilters: + reporter.setGlobalFilters( **globalFilters ) + + if argData.isFlagSet( kClear[0] ): + reporter.clear() + elif argData.isFlagSet( kText[0] ): + reporter.text( argData.flagArgumentString( kText[0], 0 ) ) + elif argData.isFlagSet( kCmdReporter[0] ): + reporter.addCmdReporter( argData.flagArgumentString( kCmdReporter[0], 0 ) ) + # CREATE + else: + reporter = Reporter( name, **filters ) + reporters[reporter.name] = reporter + + #outputFile = open( '/var/tmp/commandOutput', 'a') + #outputFile.write( 'create %s\n' % ( reporters ) ) + #outputFile.close() + + #reporters[name] = reporter + self.setResult( reporter.name ) + + + + #result = OpenMaya.MGlobal.executeCommandStringResult( cmd, False, False ) + #self.setResult( result ) + # + +# Creator +def cmdCreator(): + return OpenMayaMPx.asMPxPtr( scriptedCommand() ) + +# Syntax creator +def syntaxCreator(): + syntax = OpenMaya.MSyntax() + syntax.addArg(OpenMaya.MSyntax.kString) + syntax.enableQuery(True) + syntax.enableEdit(True) + for flag, data in filterFlags.items(): + syntax.addFlag( data[0], flag, data[1] ) + + for flag, data in globalFilterFlags.items(): + syntax.addFlag( data[0], flag, data[1] ) + + syntax.addFlag( kClear[1], kClear[0] ) + syntax.addFlag( kText[1], kText[0], OpenMaya.MSyntax.kString ) + syntax.addFlag( kCmdReporter[1], kCmdReporter[0], OpenMaya.MSyntax.kString ) + + return syntax + +# Initialize the script plug-in +def initializePlugin(mobject): + mplugin = OpenMayaMPx.MFnPlugin(mobject) + + if OpenMaya.MGlobal.mayaVersion() == '8.5': + raise NotImplementedError, "pymelScrollFieldReporter is only supported in Maya 2008 and later." + try: + mplugin.registerCommand( kPluginCmdName, cmdCreator, syntaxCreator ) + + global messageIdSet + global messageId + if ( messageIdSet ): + print "Message callback already installed" + else: + #print "Installing callback message" + messageId = createCallback( '' ) + + except: + sys.stderr.write( "Failed to register command: %s\n" % kPluginCmdName ) + raise + +# Uninitialize the script plug-in +def uninitializePlugin(mobject): + global messageIdSet + global messageId + # Remove the callback + if ( messageIdSet ): + removeCallback( messageId ) + # Remove the plug-in command + mplugin = OpenMayaMPx.MFnPlugin(mobject) + try: + mplugin.deregisterCommand( kPluginCmdName ) + except: + sys.stderr.write( "Failed to unregister command: %s\n" % kPluginCmdName ) + raise diff --git a/2009-x64/plug-ins/rockingTransform.py b/2009-x64/plug-ins/rockingTransform.py new file mode 100644 index 0000000..ba859fa --- /dev/null +++ b/2009-x64/plug-ins/rockingTransform.py @@ -0,0 +1,230 @@ +#- +# ========================================================================== +# Copyright (C) 1995 - 2006 Autodesk, Inc. and/or its licensors. All +# rights reserved. +# +# The coded instructions, statements, computer programs, and/or related +# material (collectively the "Data") in these files contain unpublished +# information proprietary to Autodesk, Inc. ("Autodesk") and/or its +# licensors, which is protected by U.S. and Canadian federal copyright +# law and by international treaties. +# +# The Data is provided for use exclusively by You. You have the right +# to use, modify, and incorporate this Data into other products for +# purposes authorized by the Autodesk software license agreement, +# without fee. +# +# The copyright notices in the Software and this entire statement, +# including the above license grant, this restriction and the +# following disclaimer, must be included in all copies of the +# Software, in whole or in part, and all derivative works of +# the Software, unless such copies or derivative works are solely +# in the form of machine-executable object code generated by a +# source language processor. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. +# AUTODESK DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED +# WARRANTIES INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF +# NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +# PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE, OR +# TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS LICENSORS +# BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL, +# DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK +# AND/OR ITS LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY +# OR PROBABILITY OF SUCH DAMAGES. +# +# ========================================================================== +#+ + +# This plug-in implements an example custom transform that +# can be used to perform a rocking motion around the X axix. +# Geometry of any rotation can be made a child of this transform +# to demonstrate the effect. +# The plug-in contains two pieces: +# 1. The custom transform node -- rockingTransformNode +# 2. The custom transformation matrix -- rockingTransformMatrix +# These classes are used together in order to implement the +# rocking motion. Note that the rock attribute is stored outside +# of the regular transform attributes. + +# Usage: +# import maya.cmds +# maya.cmds.loadPlugin("rockingTransform.py") +# maya.cmds.file(f=True,new=True) +# maya.cmds.polyPlane() +# maya.cmds.select("pPlane1",r=True) +# maya.cmds.rotate(-15,-15,-15,r=True,ws=True) +# maya.cmds.createNode("spRockingTransform") +# maya.cmds.parent("pPlane1","spRockingTransform1") +# maya.cmds.setAttr("spRockingTransform1.rockx",55) +# + +import maya.OpenMaya as OpenMaya +import maya.OpenMayaMPx as OpenMayaMPx +import maya.OpenMayaMPx as MPx +import math +import sys + +kRockingTransformPluginName = "spRockingTransform" +kRockingTransformNodeName = "spRockingTransformNode" +kRockingTransformNodeID = OpenMaya.MTypeId(0x87014) +kRockingTransformMatrixID = OpenMaya.MTypeId(0x87015) + +# keep track of instances of rockingTransformMatrix to get around script limitation +# with proxy classes of base pointers that actually point to derived +# classes +# kTrackingDictionary = {} + + +class rockingTransformMatrix(OpenMayaMPx.MPxTransformationMatrix): + + def __init__(self): + OpenMayaMPx.MPxTransformationMatrix.__init__(self) + #kTrackingDictionary[OpenMayaMPx.asHashable(self)] = self + self.rockXValue = 0.0 + +# def __del__(self): +# del kTrackingDictionary[OpenMayaMPx.asHashable(self)] + + def setRockInX(self,rockingValue): + self.rockXValue = rockingValue + + def getRockInX(self): + return self.rockXValue + + def asMatrix(self,percent=None): + """ + Find the new matrix and return it + """ + if percent == None: + matrix = OpenMayaMPx.MPxTransformationMatrix.asMatrix(self) + tm = OpenMaya.MTransformationMatrix(matrix) + quat = self.rotation() + rockingValue = self.getRockInX() + newTheta = math.radians( rockingValue ) + quat.setToXAxis( newTheta ) + tm.addRotationQuaternion( quat.x, quat.y, quat.z, quat.w, OpenMaya.MSpace.kTransform ) + return tm.asMatrix() + else: + m = OpenMayaMPx.MPxTransformationMatrix(self) + # + trans = m.translation() + rotatePivotTrans = m.rotatePivot() + scalePivotTrans = m.scalePivotTranslation() + trans = trans * percent + rotatePivotTrans = rotatePivotTrans * percent + scalePivotTrans = scalePivotTrans * percent + m.translateTo(trans) + m.setRotatePivot( rotatePivotTrans ) + m.setScalePivotTranslation( scalePivotTrans ) + # + quat = self.rotation() + rockingValue = self.getRockInX() + newTheta = math.radians( rockingValue ) + + quat.setToXAxis( newTheta ) + m.rotateBy( quat ) + eulerRotate = m.eulerRotation() + m.rotateTo( eulerRotate * percent, OpenMaya.MSpace.kTransform ) + # + s = self.scale( OpenMaya.MSpace.kTransform ) + s.x = 1.0 + ( s.x - 1.0 ) * percent + s.y = 1.0 + ( s.y - 1.0 ) * percent + s.z = 1.0 + ( s.z - 1.0 ) * percent + m.scaleTo( s, OpenMaya.MSpace.kTransform ) + # + return m.asMatrix() + + +class rockingTransformNode(OpenMayaMPx.MPxTransform): + aRockInX = OpenMaya.MObject() + + def __init__(self, transform=None): + if transform is None: + OpenMayaMPx.MPxTransform.__init__(self) + else: + OpenMayaMPx.MPxTransform.__init__(self, transform) + self.rockXValue = 0.0 + + def compute(self, plug, data): + print "in compute for plug: %s" % plug.name() + return MPx.MPxTransform.compute(self, plug, data) + + def createTransformationMatrix(self): + return OpenMayaMPx.asMPxPtr( rockingTransformMatrix() ) + + def className(self): + return kRockingTransformNodeName + + # + def validateAndSetValue(self, plug, handle, context): + print "in validate for plug: %s" % plug.name() + if not plug.isNull(): + block = self._forceCache(context) + blockHandle = block.outputValue(plug) + + if plug == self.aRockInX: + # Update our new rock in x value + rockInX = handle.asDouble() + blockHandle.setDouble(rockInX) + + # Update the custom transformation matrix to the + # right value. + ltm = self.transformationMatrix() + if ltm is not None: + ltm.setRockInX(rockInX) + + blockHandle.setClean() + + # Mark the matrix as dirty so that DG information + # will update. + self._dirtyMatrix() + + OpenMayaMPx.MPxTransform.validateAndSetValue(self, plug, handle, context) + + +# def getRockingTransformationMatrix(self): +# baseXform = self.transformationMatrixPtr() +# print kTrackingDictionary[OpenMayaMPx.asHashable(baseXform)] == self.transformationMatrix() +# return kTrackingDictionary[OpenMayaMPx.asHashable(baseXform)] + + +# create/initialize node and matrix +def matrixCreator(): + return OpenMayaMPx.asMPxPtr( rockingTransformMatrix() ) + +def nodeCreator(): + return OpenMayaMPx.asMPxPtr( rockingTransformNode() ) + +def nodeInitializer(): + numFn = OpenMaya.MFnNumericAttribute() + + rockingTransformNode.aRockInX = numFn.create("RockInX", "rockx", OpenMaya.MFnNumericData.kDouble, 0.0) + + numFn.setKeyable(True) + numFn.setAffectsWorldSpace(True) + + rockingTransformNode.addAttribute(rockingTransformNode.aRockInX) + rockingTransformNode.mustCallValidateAndSet(rockingTransformNode.aRockInX) + return + +# initialize the script plug-in +def initializePlugin(mobject): + mplugin = OpenMayaMPx.MFnPlugin(mobject) + + try: + mplugin.registerTransform( kRockingTransformPluginName, kRockingTransformNodeID, \ + nodeCreator, nodeInitializer, matrixCreator, kRockingTransformMatrixID ) + except: + sys.stderr.write( "Failed to register transform: %s\n" % kRockingTransformPluginName ) + raise + +# uninitialize the script plug-in +def uninitializePlugin(mobject): + mplugin = OpenMayaMPx.MFnPlugin(mobject) + + try: + mplugin.deregisterNode( kRockingTransformNodeID ) + except: + sys.stderr.write( "Failed to unregister node: %s\n" % kRockingTransformPluginName ) + raise diff --git a/2009-x64/plug-ins/rockingTransformCheck.mll b/2009-x64/plug-ins/rockingTransformCheck.mll new file mode 100644 index 0000000..0e02b7f Binary files /dev/null and b/2009-x64/plug-ins/rockingTransformCheck.mll differ diff --git a/2009-x64/plug-ins/siloImportExport.mll b/2009-x64/plug-ins/siloImportExport.mll new file mode 100644 index 0000000..6dce422 Binary files /dev/null and b/2009-x64/plug-ins/siloImportExport.mll differ diff --git a/2009-x64/plug-ins/skinClusterDq.mll b/2009-x64/plug-ins/skinClusterDq.mll new file mode 100644 index 0000000..cc5b2ea Binary files /dev/null and b/2009-x64/plug-ins/skinClusterDq.mll differ diff --git a/2009-x64/plug-ins/testTransform.py b/2009-x64/plug-ins/testTransform.py new file mode 100644 index 0000000..c03ecdb --- /dev/null +++ b/2009-x64/plug-ins/testTransform.py @@ -0,0 +1,63 @@ +import maya.OpenMaya as OpenMaya +import maya.OpenMayaMPx as MPx +import sys + +pluginName = "testTransform" +testTransformNodeName = pluginName + "TransformNode" +testTransformNodeID = OpenMaya.MTypeId(0x8) + +class TestTransformNode(MPx.MPxTransform): + def createTransformationMatrix(self): + return MPx.asMPxPtr( TestTransformMatrix() ) + + def applyTranslationLocks(self, newTrans, savedTrans): + print "Hey, translation is locked!" + return savedTrans + + +testTransformMatrixID = OpenMaya.MTypeId(0x9) +class TestTransformMatrix(MPx.MPxTransformationMatrix): + pass + +class TestTransformNode2(TestTransformNode): + pass +testTransform2NodeName = pluginName + "TransformNode2" +testTransformNode2ID = OpenMaya.MTypeId(0xA) + + +# plugin initialization funcs +def matrixCreator(): + return MPx.asMPxPtr( TestTransformMatrix() ) + +def nodeCreator(): + return MPx.asMPxPtr( TestTransformNode() ) + +def node2Creator(): + return MPx.asMPxPtr( TestTransformNode2() ) + +def nodeInitializer(): + return + +def nodeInitializer2(): + return + + +def initializePlugin(mobject): + mplugin = MPx.MFnPlugin(mobject) + try: + mplugin.registerTransform( testTransformNodeName, testTransformNodeID, \ + nodeCreator, nodeInitializer, matrixCreator, testTransformMatrixID) + mplugin.registerTransform( testTransform2NodeName, testTransformNode2ID, \ + node2Creator, nodeInitializer2, matrixCreator, testTransformMatrixID) + except: + sys.stderr.write( "Error while registering transform: %s\n" % testTransformNodeName ) + raise + +def uninitializePlugin(mobject): + mplugin = MPx.MFnPlugin(mobject) + try: + mplugin.deregisterNode( testTransformNodeID ) + mplugin.deregisterNode( testTransformNode2ID ) + except: + sys.stderr.write( "Error while unregistering transform: %s\n" % testTransformNodeName ) + raise diff --git a/2009-x64/plug-ins/testTransform2.py b/2009-x64/plug-ins/testTransform2.py new file mode 100644 index 0000000..3568866 --- /dev/null +++ b/2009-x64/plug-ins/testTransform2.py @@ -0,0 +1,52 @@ +import maya.OpenMaya as OpenMaya +import maya.OpenMayaMPx as MPx +import sys + +pluginName = "testTransform" +testTransformNodeName = pluginName + "TransformNode" +testTransformNodeID = OpenMaya.MTypeId(0x8) + + +class TestTransformNode(MPx.MPxTransform): + def compute(self, plug, data): + import maya.OpenMaya as OpenMaya + print "In compute func for: %s" % plug.name() + return super(TestTransformNode, self).compute(plug, data) + + def createTransformationMatrix(self): + return MPx.asMPxPtr( TestTransformMatrix() ) + + def applyTranslationLocks(self, newTrans, savedTrans): + print "Hey, translation is locked!" + return savedTrans + +testTransformMatrixID = OpenMaya.MTypeId(0x9) +class TestTransformMatrix(MPx.MPxTransformationMatrix): + pass + +# plugin initialization funcs +def matrixCreator(): + return MPx.asMPxPtr( TestTransformMatrix() ) + +def nodeCreator(): + return MPx.asMPxPtr( TestTransformNode() ) + +def nodeInitializer(): + return + +def initializePlugin(mobject): + mplugin = MPx.MFnPlugin(mobject) + try: + mplugin.registerTransform( testTransformNodeName, testTransformNodeID, \ + nodeCreator, nodeInitializer, matrixCreator, testTransformMatrixID) + except: + sys.stderr.write( "Error while registering transform: %s\n" % testTransformNodeName ) + raise + +def uninitializePlugin(mobject): + mplugin = MPx.MFnPlugin(mobject) + try: + mplugin.deregisterNode( testTransformNodeID ) + except: + sys.stderr.write( "Error while unregistering transform: %s\n" % testTransformNodeName ) + raise diff --git a/2009-x64/plug-ins/test_pmpFkWithIk_plugin.v1.py b/2009-x64/plug-ins/test_pmpFkWithIk_plugin.v1.py new file mode 100644 index 0000000..9586ebe --- /dev/null +++ b/2009-x64/plug-ins/test_pmpFkWithIk_plugin.v1.py @@ -0,0 +1,122 @@ +import unittest +from PMP.maya.rigging.IKFK import * + +from pymel import * + +def reloadPlugin(pluginName): + unloadPlugin(pluginName) + loadPlugin(pluginIname) + +def unloadPlugin(pluginName): + if not cmds.pluginInfo(pluginName, q=True, loaded=True): return + for nodeType in pluginInfo(pluginName, dependNode=True, q=True): + nodes = ls(type=nodeType) + if nodes: + cmds.delete(nodes) + cmds.flushUndo() + cmds.unloadPlugin(pluginName) + +def delIfExists(*objlist): + for obj in objlist: + if objExists(obj): cmds.delete(obj) + +def setupIKArm(): + shoulder = joint(p=(-1, 0, 0), name='shoulderJoint') + joint(p=(0, 1, 0), name='elbowJoint') + joint('shoulderJoint', e=1, zso=1, oj='xyz', sao='yup') + joint(p=(1, 0, 0), name='wristJoint') + joint('elbowJoint', e=1, zso=1, oj='xyz', sao='yup') + select('shoulderJoint.rotatePivot', 'wristJoint.rotatePivot', r=1) + myIkHandle, myIkEff = ikHandle(startJoint='shoulderJoint', name='ikHandle1') + polePos = calcPoleVector('wristJoint') + poleVector, sphereShapeMaker = sphere(name='poleVector', radius = .1) + poleVector.translate.set(polePos) + poleVectorConstraint(poleVector, myIkHandle) + + cubeTransform, cubeShapeMaker = polyCube(name='controllerCube') + sphereTransform, sphereShapeMaker = sphere(name = 'controlledSphere', radius = .25) + + controller = createNode('mouseDeltaTranslationOutputNode', name='controller') + controlled = createNode('mouseDeltaTranslationInputNode', name='controlled') + parent(cubeTransform, controller) + parent(sphereTransform, controlled) + select(controller, controlled, r=True) + newGroup = group(name='controlGroup') + parent(newGroup, myIkHandle, r=True) + parent(controlled, world=True) + parent(controller, "wristJoint") + parent(myIkHandle, controlled) + connectAttr('controller.deltaTranslateOutputX', 'controlled.deltaTranslateInputX') + connectAttr('controller.deltaTranslateOutputY', 'controlled.deltaTranslateInputY') + connectAttr('controller.deltaTranslateOutputZ', 'controlled.deltaTranslateInputZ') +# connectAttr('controllerCube.translateX', 'controlled.deltaTranslateInputX') +# connectAttr('controllerCube.translateY', 'controlled.deltaTranslateInputY') +# connectAttr('controllerCube.translateZ', 'controlled.deltaTranslateInputZ') + select(controller) + viewFit() + +def createRockingTransform(): + rocker = createNode('spRockingTransform', name='rocker') + rockedCube, cubeShapeMaker = polyCube(name='rockedCube') + parent(rockedCube, rocker) + rockerDriver, sphereShapeMaker = sphere(name='rockerDriver') + connectAttr(rockerDriver + '.translateX', rocker + '.RockInX') + + +def getPlugsAttrs(): + global transAttr, transPlug, transXAttr, transXPlug, \ + dtransAttr, dtransPlug, dtransXAttr, dtransXPlug, \ + testdist + + def _getPlugAndAttr(attrName): + plug = Attribute(attrName).__apimplug__() + return (plug, plug.attribute()) + + node = 'controller' + transPlug, transAttr = _getPlugAndAttr(node + ".translate") + transXPlug, transXAttr = _getPlugAndAttr(node + ".translateX") + #dtransPlug, dtransAttr = _getPlugAndAttr(node + ".deltaTranslateOutput") + dtransXPlug, dtransXAttr = _getPlugAndAttr(node + ".deltaTranslateOutputX") + + testdist = api.MDistance() + testdist.setUnit(api.MDistance.internalUnit()) + testdist.setValue(3) + +def testIsIkWithFkControl(): + attrName = "isFkWithIkControl" + cube1, shapeMaker = polyCube() + + cube2 = duplicate(cube1)[0] + cmds.move(2, 0, 0, cube2, relative=True) + addAttr(cube2, ln=attrName, at='double') + cube3 = duplicate(cube2)[0] + cmds.move(2, 0, 0, cube3, relative=True) + cube3.attr(attrName).set(3) + + cube4 = duplicate(cube1)[0] + cmds.move(6, 0, 0, cube4, relative=True) + addAttr(cube4, ln=attrName, at='bool') + cube5 = duplicate(cube4)[0] + cmds.move(2, 0, 0, cube5, relative=True) + cube5.attr(attrName).set(1) + + cube6 = duplicate(cube1)[0] + cmds.move(10, 0, 0, cube6, relative=True) + addAttr(cube6, ln=attrName, dt='string') + cube7 = duplicate(cube6)[0] + cmds.move(2, 0, 0, cube7, relative=True) + cube7.attr(attrName).set("foo") + + for x in cmds.ls(type='transform'): + print "%s is FkWithIk: %s" % (x, isFkWithIkControl(x)) + +cmds.file(f=True,new=True) +#testIsIkWithFkControl() +#unload('pmpFkWithIk_plugin') +#unload('rockingTransform') +##loadPlugin("rockingTransform.py") +##createRockingTransform() +#loadPlugin("pmpFkWithIk_plugin.py") +setupIKArm() +#getPlugsAttrs() + diff --git a/2009-x64/prefs/NEXShelf.mel b/2009-x64/prefs/NEXShelf.mel new file mode 100644 index 0000000..1340d11 --- /dev/null +++ b/2009-x64/prefs/NEXShelf.mel @@ -0,0 +1,8 @@ +global proc NEXShelf () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + +} diff --git a/2009-x64/prefs/captureSettings.py b/2009-x64/prefs/captureSettings.py new file mode 100644 index 0000000..453c566 --- /dev/null +++ b/2009-x64/prefs/captureSettings.py @@ -0,0 +1,34 @@ +import sys +import shutil + +userPrefsName = 'userPrefs' +windowPrefsName = 'windowPrefs' +backupSuffix = '_backupByCaptureSettings' +captureSuffix = '_captureSettings' +ext = '.mel' + +userPrefsPath = userPrefsName + ext +windowPrefsPath = windowPrefsName + ext +backupUserPrefsPath = userPrefsName + backupSuffix + ext +backupWindowPrefsPath = windowPrefsName + backupSuffix + ext +captureUserPrefsPath = userPrefsName + captureSuffix + ext +captureWindowPrefsPath = windowPrefsName + captureSuffix + ext + + +def setCaptureSettings(): + shutil.copyfile(userPrefsPath, backupUserPrefsPath) + shutil.copyfile(windowPrefsPath, backupWindowPrefsPath) + shutil.copyfile(captureUserPrefsPath, userPrefsPath) + shutil.copyfile(captureWindowPrefsPath, windowPrefsPath) + +def restoreNormalSettings(): + shutil.copyfile(backupUserPrefsPath, userPrefsPath) + shutil.copyfile(backupWindowPrefsPath, windowPrefsPath) + +def main(): + setCaptureSettings() + +if __name__ == '__main__': + main() + + diff --git a/2009-x64/prefs/captureSettings_restore.py b/2009-x64/prefs/captureSettings_restore.py new file mode 100644 index 0000000..d1e8269 --- /dev/null +++ b/2009-x64/prefs/captureSettings_restore.py @@ -0,0 +1,2 @@ +import captureSettings +captureSettings.restoreNormalSettings() diff --git a/2009-x64/prefs/commandExecuterMEL.mel b/2009-x64/prefs/commandExecuterMEL.mel new file mode 100644 index 0000000..e69de29 diff --git a/2009-x64/prefs/commandFieldContentSaved.mel b/2009-x64/prefs/commandFieldContentSaved.mel new file mode 100644 index 0000000..e69de29 diff --git a/2009-x64/prefs/icons/heatWeight.xpm b/2009-x64/prefs/icons/heatWeight.xpm new file mode 100644 index 0000000..baa06ca --- /dev/null +++ b/2009-x64/prefs/icons/heatWeight.xpm @@ -0,0 +1,376 @@ +/* XPM */ +static char * heatWeight_xpm[] = { +"32 32 341 2", +" c #C1C1C1", +". c #C0C0C0", +"+ c #BFBFBD", +"@ c #BEBEBA", +"# c #676664", +"$ c #191918", +"% c #000000", +"& c #4D4C48", +"* c #4C4C48", +"= c #181817", +"- c #4B4B46", +"; c #31312E", +"> c #7D7D75", +", c #4C4B47", +"' c #0C0C0B", +") c #4B4B45", +"! c #4D4D4A", +"~ c #AEB1B9", +"{ c #88AFBF", +"] c #7AABC2", +"^ c #86B1C1", +"/ c #181A19", +"( c #D50A0A", +"_ c #F60B0B", +": c #B40808", +"< c #30302B", +"[ c #420303", +"} c #E60A0A", +"| c #520404", +"1 c #AEB7B0", +"2 c #186599", +"3 c #0066AF", +"4 c #0074C5", +"5 c #017FD2", +"6 c #0286DC", +"7 c #03131D", +"8 c #940707", +"9 c #730505", +"0 c #525248", +"a c #830606", +"b c #310202", +"c c #899B9E", +"d c #00477A", +"e c #005B9A", +"f c #0069B3", +"g c #0074C4", +"h c #017ED0", +"i c #0286D9", +"j c #01131E", +"k c #171714", +"l c #5D5C51", +"m c #2E2E28", +"n c #7D7C75", +"o c #AEAEA1", +"p c #003255", +"q c #005896", +"r c #0071BF", +"s c #017ECF", +"t c #1FA1E4", +"u c #081A1E", +"v c #2E2E27", +"w c #0C0B0A", +"x c #C50909", +"y c #B8B7AC", +"z c #002F50", +"A c #004475", +"B c #00548E", +"C c #0061A5", +"D c #006CB7", +"E c #0378C4", +"F c #219DDD", +"G c #0C1D1D", +"H c #210101", +"I c #A40707", +"J c #B8B8AD", +"K c #BBBDB1", +"L c #001B2E", +"M c #002A48", +"N c #003E6A", +"O c #004D84", +"P c #0065AC", +"Q c #006FB8", +"R c #087FC9", +"S c #0A171B", +"T c #620404", +"U c #B9B9B0", +"V c #959D96", +"W c #001D31", +"X c #002642", +"Y c #00375D", +"Z c #00538D", +"` c #317BAA", +" . c #86ABB7", +".. c #BABAB1", +"+. c #171712", +"@. c #555544", +"#. c #100101", +"$. c #001E35", +"%. c #89A4AC", +"&. c #C0C0BF", +"*. c #8A897D", +"=. c #3F3F39", +"-. c #050504", +";. c #BBBBB3", +">. c #AEB3AA", +",. c #002C4B", +"'. c #C1C1B3", +"). c #41413C", +"!. c #121211", +"~. c #111111", +"{. c #020202", +"]. c #0D0D0B", +"^. c #BCBCB6", +"/. c #254253", +"(. c #57717D", +"_. c #CBCBBC", +":. c #2D2D2C", +"<. c #121212", +"[. c #353532", +"}. c #8A8A7D", +"|. c #131717", +"1. c #505046", +"2. c #31312C", +"3. c #040404", +"4. c #282723", +"5. c #181816", +"6. c #0C0C0A", +"7. c #090908", +"8. c #0D0D0C", +"9. c #2A2925", +"0. c #191817", +"a. c #4D4D4B", +"b. c #BEBDBA", +"c. c #899492", +"d. c #BDC3B3", +"e. c #65655F", +"f. c #0F0F0F", +"g. c #3D3D3B", +"h. c #C1C4B7", +"i. c #658EA1", +"j. c #00538A", +"k. c #00528A", +"l. c #30789B", +"m. c #BABAA8", +"n. c #737368", +"o. c #B2B19E", +"p. c #191917", +"q. c #8C8B7C", +"r. c #BAB9B1", +"s. c #A7B694", +"t. c #6C965F", +"u. c #B6BCA5", +"v. c #5E5E53", +"w. c #828276", +"x. c #BBBBB4", +"y. c #BBBBB5", +"z. c #BCBCB7", +"A. c #BFBFBC", +"B. c #95A09D", +"C. c #1A1A19", +"D. c #C1C1B5", +"E. c #356079", +"F. c #003B61", +"G. c #003F6A", +"H. c #004277", +"I. c #93A8AF", +"J. c #6F6F65", +"K. c #222221", +"L. c #939386", +"M. c #B4B4A3", +"N. c #1F1E1D", +"O. c #393936", +"P. c #C8C8B4", +"Q. c #186316", +"R. c #006000", +"S. c #0B840B", +"T. c #AFBF9E", +"U. c #2C2C2A", +"V. c #32322F", +"W. c #B6B6A5", +"X. c #BEBEBB", +"Y. c #BFBEBC", +"Z. c #95958A", +"`. c #51514D", +" + c #95A5A5", +".+ c #003B62", +"++ c #004066", +"@+ c #00376B", +"#+ c #CACABA", +"$+ c #464641", +"%+ c #2C2C2B", +"&+ c #CBCBBB", +"*+ c #54534D", +"=+ c #171717", +"-+ c #9A9A8E", +";+ c #3E7738", +">+ c #3A9D37", +",+ c #20A320", +"'+ c #63AB5B", +")+ c #7A7A72", +"!+ c #1B1B1B", +"~+ c #898981", +"{+ c #C1C1C0", +"]+ c #86867C", +"^+ c #76766E", +"/+ c #7C9095", +"(+ c #254F6A", +"_+ c #3E6479", +":+ c #7C7C98", +"<+ c #4E4E4D", +"[+ c #8C8C82", +"}+ c #95A78A", +"|+ c #708A68", +"1+ c #017501", +"2+ c #3A9E38", +"3+ c #A5A69A", +"4+ c #141618", +"5+ c #7A7B74", +"6+ c #8A8A7F", +"7+ c #2A2A29", +"8+ c #577650", +"9+ c #255C22", +"0+ c #005D00", +"a+ c #4A8945", +"b+ c #A0A399", +"c+ c #1B1D1F", +"d+ c #73736C", +"e+ c #BEBFB1", +"f+ c #1F1F1E", +"g+ c #464642", +"h+ c #CCCCBD", +"i+ c #B9B9AB", +"j+ c #254D22", +"k+ c #003200", +"l+ c #003900", +"m+ c #004A00", +"n+ c #AEBDA1", +"o+ c #1A1A1A", +"p+ c #222222", +"q+ c #919187", +"r+ c #252525", +"s+ c #BABAAC", +"t+ c #C5C5C2", +"u+ c #09185B", +"v+ c #576E5C", +"w+ c #BBC1AC", +"x+ c #262C2E", +"y+ c #B7B7A9", +"z+ c #292927", +"A+ c #30302F", +"B+ c #9B9B90", +"C+ c #333331", +"D+ c #8A8A82", +"E+ c #AAAA9E", +"F+ c #B2B2A5", +"G+ c #19209F", +"H+ c #000585", +"I+ c #676760", +"J+ c #878780", +"K+ c #6B6B67", +"L+ c #B8B8B2", +"M+ c #4E4E4A", +"N+ c #1D1D1D", +"O+ c #BCBCAE", +"P+ c #61615A", +"Q+ c #20201F", +"R+ c #8F8F84", +"S+ c #363633", +"T+ c #41413D", +"U+ c #99998E", +"V+ c #898993", +"W+ c #4C4C47", +"X+ c #262624", +"Y+ c #57576F", +"Z+ c #000067", +"`+ c #7C7CB8", +" @ c #BBBBC6", +".@ c #3E6B3B", +"+@ c #000450", +"@@ c #000086", +"#@ c #0000A3", +"$@ c #0000B9", +"%@ c #95AAB4", +"&@ c #BBBEAC", +"*@ c #0C360B", +"=@ c #005A00", +"-@ c #034528", +";@ c #010796", +">@ c #0000AF", +",@ c #6363C9", +"'@ c #8989C4", +")@ c #7C9273", +"!@ c #579A50", +"~@ c #AEC6A1", +"{@ c #7C8673", +"]@ c #002D00", +"^@ c #3E7839", +"/@ c #AEB5A1", +"(@ c #34784F", +"_@ c #0722B4", +":@ c #0303E3", +"<@ c #0C0DE8", +"[@ c #0002D3", +"}@ c #088308", +"|@ c #169815", +"1@ c #002700", +"2@ c #198517", +"3@ c #002578", +"4@ c #0B0BB7", +"5@ c #0B0BBE", +"6@ c #0B0BC9", +"7@ c #0000BF", +"8@ c #0404CB", +"9@ c #003508", +"0@ c #63875C", +"a@ c #61AC5B", +"b@ c #2DB62D", +"c@ c #183D17", +"d@ c #003400", +"e@ c #004C00", +"f@ c #001550", +"g@ c #00006B", +"h@ c #000071", +"i@ c #000078", +"j@ c #00007E", +"k@ c #00008E", +"l@ c #000096", +"m@ c #000C5E", +"n@ c #0C311D", +"o@ c #0C890B", +"p@ c #31532E", +"q@ c #577B50", +"r@ c #9595A3", +"s@ c #313174", +"t@ c #0C1E39", +"u@ c #315C2E", +"v@ c #186517", +"w@ c #006600", +"x@ c #003D00", +"y@ c #C7CAB8", +"z@ c #89997E", +" . + @ # $ % & * % = - % % % ; > , % ' ) % % % % ! ", +" ~ { ] ^ / ( _ % % _ ( % _ _ _ : < [ _ } [ _ _ _ _ | ", +" 1 2 3 4 5 6 7 ( _ % % _ ( % _ } 8 9 0 a _ _ b : _ _ : [ ", +" c d e f g h i j ( _ % % _ ( % _ ( k l m : _ _ | k ( _ % n ", +" o p d q 3 r s t u ( _ % % _ ( % _ ( % v w } x _ a k ( _ % y ", +" z A B C D E F G ( _ _ _ _ ( % _ _ _ : H _ a _ I k ( _ % J ", +" K L M N O e P Q R S ( _ : : _ ( % _ } 9 | | _ T ( ( k ( _ % U ", +" V W X Y A Z ` ...= ( _ % % _ ( % _ ( +.@.a _ _ _ _ #.( _ % ..", +" V $.X z N %.&.*.=.-.( _ % % _ ( % _ } 8 a : _ a x _ [ ( _ % ;.", +" >.$.X ,.c '.).!.~.{.( _ % % _ ( % _ _ _ ( } ( ].| _ T ( _ % ^.", +" /.X (._.:.<.[.}.# |.% 1.2.% 3.4.% % % 5.6.7.8.9.% - 0.% a.b.", +" c.X d.e.f.g.h.i.j.k.l.m.n.o.; p.q.r.s.t.t.u.v.~.w.x.y.z.@ A.", +" B._.<.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.S.T.U.V.W.X.Y.+ &.", +" Z.f.`. +Y .+++@+#+$+%+&+&.*+=+-+-+;+>+,+'+)+!+~+&.&.. {+", +" ]+<.^+/+(+_+:+1 C.<+ ]+<.[+}+ |+1+2+3+4+5+ ", +" 6+<.^+ 7+`. ^+<.Z.8+e.9+0+a+b+c+d+ ", +" e+f+g+h+ g+<+i+ g+<.#+j+k+l+m+n+5+o+> ", +" g.p+q+ 6+r+d+s+O.g.t+u+$.v+w+#+x+p+y+ ", +" #+z+A+B+h+ _.C+7+D+E+F+G+H+H+ _.I+!+`. ", +" 3+7+%+J+B+F+E+o o z+r+K+F+L+~ E+M+N+A+#+ ", +" O+P+%+o+p+<.Q+R+3+O.f+p+C+S+%+!+o+T+'. ", +" e+U+]+^+U+F+V+e+Z.W+X+X+p+M+q+ ", +" Y+Z+Z+`+ @ _. ", +" w+.@+@@@#@$@%@ ", +" &@*@=@-@;@>@>@,@'@'@'@t+t+ )@a+!@~@ ", +" {@]@^@/@(@_@:@<@:@<@[@[@[@G+l+0+}@|@~@ ", +" U+1@.@n+2@3@4@5@$@6@7@8@8@;@9@0@a@b@b@ ", +" &@c@d@e@0+f@g@h@i@j@@@k@l@m@n@w+}+1+o@ ", +" /@p@j+q@>.r@r@:+:+s@s@u+t@]@u@v@w@w@ ", +" 3+c@k+x@m+n+ ", +" y@z@)@w+ ", +" "}; diff --git a/2009-x64/prefs/markingMenus/menu_ChangePanelLayout.mel b/2009-x64/prefs/markingMenus/menu_ChangePanelLayout.mel new file mode 100644 index 0000000..7be45b6 --- /dev/null +++ b/2009-x64/prefs/markingMenus/menu_ChangePanelLayout.mel @@ -0,0 +1,163 @@ + + menuItem + -label "Single Perspective" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Single Perspective View\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem54; + + menuItem + -label "Hypershade/Render/Persp" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Hypershade/Render/Persp\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem55; + + menuItem + -label "Hypershade/Outliner/Persp" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Hypershade/Outliner/Persp\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem56; + + menuItem + -label "Hypershade/Persp" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Hypershade/Persp\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem57; + + menuItem + -label "Persp/Outliner" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Outliner\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem58; + + menuItem + -label "Persp/Graph/Outliner" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Graph/Outliner\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem59; + + menuItem + -label "Persp/Graph" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Graph\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem60; + + menuItem + -label "Persp/Relationship Editor" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Relationship Editor\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem61; + +setParent -m ..; + diff --git a/2009-x64/prefs/markingMenus/menu_ChangePanelType.mel b/2009-x64/prefs/markingMenus/menu_ChangePanelType.mel new file mode 100644 index 0000000..f1987a1 --- /dev/null +++ b/2009-x64/prefs/markingMenus/menu_ChangePanelType.mel @@ -0,0 +1,163 @@ + + menuItem + -label "Outliner" + -divider 0 + -subMenu 0 + -command "switchPanelToType Outliner" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem62; + + menuItem + -label "Graph Editor" + -divider 0 + -subMenu 0 + -command "switchPanelToType GraphEditor" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem63; + + menuItem + -label "Dope Sheet" + -divider 0 + -subMenu 0 + -command "switchPanelToType DopeSheet" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem64; + + menuItem + -label "Hypergraph" + -divider 0 + -subMenu 0 + -command "switchPanelToType Hypergraph" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem65; + + menuItem + -label "Dynamic Relationships" + -divider 0 + -subMenu 0 + -command "switchPanelToType DynRelationships" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem66; + + menuItem + -label "Hypershade" + -divider 0 + -subMenu 0 + -command "switchPanelToType Hypershade" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem67; + + menuItem + -label "Render View" + -divider 0 + -subMenu 0 + -command "switchPanelToType RenderView" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem68; + + menuItem + -label "Set Editor" + -divider 0 + -subMenu 0 + -command "switchPanelToType SetEditor" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem69; + +setParent -m ..; + diff --git a/2009-x64/prefs/markingMenus/menu_ChangeSelectionMask.mel b/2009-x64/prefs/markingMenus/menu_ChangeSelectionMask.mel new file mode 100644 index 0000000..ac0cbdc --- /dev/null +++ b/2009-x64/prefs/markingMenus/menu_ChangeSelectionMask.mel @@ -0,0 +1,163 @@ + + menuItem + -label "NURBS Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode nurbsModeling NURBS" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem81; + + menuItem + -label "Hierarchy" + -divider 0 + -subMenu 0 + -command "setSelectMode hierarchy Hierarchy" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem82; + + menuItem + -label "Animation Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode animation Animation" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem83; + + menuItem + -label "Deformations Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode deformations Deformations" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem84; + + menuItem + -label "Dynamics Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode dynamics Dynamics" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem85; + + menuItem + -label "Polygons Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode polyModeling Polygons" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem86; + + menuItem + -label "Rendering Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode rendering Rendering" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem87; + + menuItem + -label "Object/Components" + -divider 0 + -subMenu 0 + -command "if ( `selectMode -q -component` ) { setSelectMode objects Objects; } \t\t\t else { setSelectMode components Components; }" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem88; + +setParent -m ..; + diff --git a/2009-x64/prefs/markingMenus/menu_CommonModelingPanes.mel b/2009-x64/prefs/markingMenus/menu_CommonModelingPanes.mel new file mode 100644 index 0000000..8d6ccaf --- /dev/null +++ b/2009-x64/prefs/markingMenus/menu_CommonModelingPanes.mel @@ -0,0 +1,155 @@ + + menuItem + -label "Perspective View" + -divider 0 + -subMenu 0 + -command "switchModelView persp" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem89; + + menuItem + -label "Side View" + -divider 0 + -subMenu 0 + -command "switchModelView side" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem90; + + menuItem + -label "Front View" + -divider 0 + -subMenu 0 + -command "switchModelView front" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem91; + + menuItem + -label "Top View" + -divider 0 + -subMenu 0 + -command "switchModelView top" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem92; + + menuItem + -label "Hotbox Style" + -divider 0 + -subMenu 1 + -tearOff 0 + -enable 1 + -data 0 + -allowOptionBoxes 1 + -postMenuCommandOnce 0 + -italicized 0 + -boldFont 0 + menuItem93; + + menuItem + -label "Zones and Menu Rows" + -divider 0 + -subMenu 0 + -command "hotBox -dh" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem94; + + menuItem + -label "Zones Only" + -divider 0 + -subMenu 0 + -command "hotBox -dzo" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem95; + + menuItem + -label "Center Zone Only" + -divider 0 + -subMenu 0 + -command "hotBox -dco" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem96; + + setParent -m ..; + +setParent -m ..; + diff --git a/2009-x64/prefs/markingMenus/menu_ControlPaneVisibility.mel b/2009-x64/prefs/markingMenus/menu_ControlPaneVisibility.mel new file mode 100644 index 0000000..5e48cd9 --- /dev/null +++ b/2009-x64/prefs/markingMenus/menu_ControlPaneVisibility.mel @@ -0,0 +1,229 @@ + + menuItem + -label "Help Line" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Help Line\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Help Line on/off" + -italicized 0 + -boldFont 0 + menuItem70; + + menuItem + -label "Status Line" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Status Line\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Status Line on/off" + -italicized 0 + -boldFont 0 + menuItem71; + + menuItem + -label "Attributes" + -divider 0 + -subMenu 1 + -tearOff 0 + -enable 1 + -data 0 + -radialPosition "E" + -allowOptionBoxes 0 + -postMenuCommandOnce 0 + -italicized 0 + -boldFont 0 + menuItem72; + + menuItem + -label "Channel Box / Layer Editor" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Channel Box / Layer Editor\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Channel Box / Layer Editor on/off" + -italicized 0 + -boldFont 0 + menuItem73; + + menuItem + -label "Attribute Editor" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Attribute Editor\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Attribute Editor on/off" + -italicized 0 + -boldFont 0 + menuItem74; + + menuItem + -label "Tool Settings" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Tool Settings\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Tool Settings on/off" + -italicized 0 + -boldFont 0 + menuItem75; + + setParent -m ..; + + menuItem + -label "Tool Box" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Tool Box\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Toolbox on/off" + -italicized 0 + -boldFont 0 + menuItem76; + + menuItem + -label "Time Slider" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Time Slider\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Time Slider on/off" + -italicized 0 + -boldFont 0 + menuItem77; + + menuItem + -label "Range Slider" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Range Slider\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Range Slider on/off" + -italicized 0 + -boldFont 0 + menuItem78; + + menuItem + -label "Shelf" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Shelf\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the shelf on/off" + -italicized 0 + -boldFont 0 + menuItem79; + + menuItem + -label "Command Line" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Command Line\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Command Line on/off" + -italicized 0 + -boldFont 0 + menuItem80; + +setParent -m ..; + diff --git a/2009-x64/prefs/menuSetPrefs.mel b/2009-x64/prefs/menuSetPrefs.mel new file mode 100644 index 0000000..9d2cafc --- /dev/null +++ b/2009-x64/prefs/menuSetPrefs.mel @@ -0,0 +1,21 @@ +//Menu Set Preferences ( 1.07) +// +// +menuSet -permanent 1 -hotBoxVisible 1 -label "Common" -menuArray { "mainFileMenu", "mainEditMenu", "mainModifyMenu", "mainCreateMenu", "mainDisplayMenu", "mainWindowMenu", "mainAssetsMenu" } commonMenuSet; +menuSet -moveMenuSet commonMenuSet 0; +menuSet -permanent 0 -hotBoxVisible 1 -label "Animation" -menuArray { "mainKeysMenu", "mainGeoCacheMenu", "mainDeformationsMenu", "mainEditDeformationsMenu", "mainSkeletonsMenu", "mainSkinningMenu", "mainConstraintsMenu", "mainCharactersMenu" } animationMenuSet; +menuSet -moveMenuSet animationMenuSet 1; +menuSet -permanent 0 -hotBoxVisible 1 -label "Polygons" -menuArray { "mainPolygonsSelectMenu", "mainPolygonsMeshMenu", "mainPolygonsEditMeshMenu", "mainPolygonsProxyMenu", "mainPolygonsNormalsMenu", "mainPolygonsColorMenu", "mainPolygonsCreateUVsMenu", "mainPolygonsEditUVsMenu" } polygonsMenuSet; +menuSet -moveMenuSet polygonsMenuSet 2; +menuSet -permanent 0 -hotBoxVisible 1 -label "Surfaces" -menuArray { "mainEditCurvesMenu", "mainSurfacesMenu", "mainEditSurfacesMenu", "mainSubdivSurfacesMenu" } surfacesMenuSet; +menuSet -moveMenuSet surfacesMenuSet 3; +menuSet -permanent 0 -hotBoxVisible 1 -label "Dynamics" -menuArray { "mainParticlesMenu", "mainFluidsMenu", "mainFluidsCacheMenu", "mainFieldsMenu", "mainDynBodiesMenu", "mainDynEffectsMenu", "mainDynSettingsMenu", "mainHairMenu" } dynamicsMenuSet; +menuSet -moveMenuSet dynamicsMenuSet 4; +menuSet -permanent 0 -hotBoxVisible 1 -label "Rendering" -menuArray { "mainShadingMenu", "mainRenTexturingMenu", "mainRenderMenu", "mainCartoonMenu", "mainCreatorMenu", "SBSHairMenu" } renderingMenuSet; +menuSet -moveMenuSet renderingMenuSet 5; +menuSet -permanent 0 -hotBoxVisible 1 -label "nDynamics" -menuArray { "mainNParticleMenu", "mainNMeshMenu", "mainNConstraintMenu", "mainNCacheMenu", "mainNSolverMenu", "mainFieldsMenu" } nDynamicsMenuSet; +menuSet -moveMenuSet nDynamicsMenuSet 6; +menuSet -permanent 0 -hotBoxVisible 1 -label "Live" -menuArray { "liveSceneMenu", "liveTrackMenu", "liveSolveMenu", "liveConstraintsMenu", "livePanelsMenu" } liveMenuSet; +menuSet -moveMenuSet liveMenuSet 7; +menuSet -permanent 0 -hotBoxVisible 1 -label "DMM" -menuArray { "MayaWindow|mainDmmAssetsMenu", "MayaWindow|mainDmmEditMenu", "MayaWindow|mainDmmMaterialsMenu", "MayaWindow|mainDmmSceneMenu", "MayaWindow|mainDmmHelpMenu" } dmmMenuSet; +menuSet -moveMenuSet dmmMenuSet 8; diff --git a/2009-x64/prefs/pluginPrefs.mel b/2009-x64/prefs/pluginPrefs.mel new file mode 100644 index 0000000..8c02413 --- /dev/null +++ b/2009-x64/prefs/pluginPrefs.mel @@ -0,0 +1,7 @@ +//Maya Preference 2009 (Release 1) +// +// +evalDeferred("autoLoadPlugin(\"\", \"Fur\", \"Fur\")"); +evalDeferred("autoLoadPlugin(\"\", \"DirectConnect\", \"DirectConnect\")"); +evalDeferred("autoLoadPlugin(\"\", \"ikSpringSolver\", \"ikSpringSolver\")"); +evalDeferred("autoLoadPlugin(\"\", \"Mayatomr\", \"Mayatomr\")"); diff --git a/2009-x64/prefs/shelves/Backup 1 of shelf_PaulUnreal.mel.deleted b/2009-x64/prefs/shelves/Backup 1 of shelf_PaulUnreal.mel.deleted new file mode 100644 index 0000000..de2664a --- /dev/null +++ b/2009-x64/prefs/shelves/Backup 1 of shelf_PaulUnreal.mel.deleted @@ -0,0 +1,536 @@ +global proc shelf_PaulUnreal () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "His" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FreezeTransformations" + -sourceType "mel" + -doubleClickCommand "PMP_alignPivotAndTranslate" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "USERMENUICONLISTED.BMP" + -image1 "USERMENUICONLISTED.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Connect attributes selected in channel box from first selected node to other selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnAttr" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\rPMP.maya.connections.makeSelectedAttrConnections()\r" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reload textures on selected object - double click to reload on all objects in scene" + -align "center" + -label "Reload textures on selected object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PMP_reloadTextures.bmp" + -image1 "PMP_reloadTextures.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_reloadTextures" + -sourceType "mel" + -doubleClickCommand "PMP_reloadAllTextures" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Rename Shading Groups and File Nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Rnam" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\rPMP.maya.texture.renameShadingGroupsAndFileNodes()" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select uv shell border edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "uvEdge" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\r\nreload(PMP.maya.texture)\r\n\r\nPMP.maya.texture.selectTextureBorderEdges()" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "RoadKill" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RdKll" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RoadKill" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Nor" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleFaceNormals" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Vertex Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "VN" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleVertexNormalDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle soft edge visibility" + -align "center" + -label "Soft/Hard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SfHd" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplaySoftEdges" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Standard Edges" + -align "center" + -label "Standard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Std" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplayEdges" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Reverse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyNormal.xpm" + -image1 "polyNormal.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReversePolygonNormals" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "HardEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HardEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 0;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "SoftEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SoftEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 1;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Normal Angle..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySoftEdge.xpm" + -image1 "polySoftEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polySoftEdgeWin" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select all instances of selected objects as well" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "+INST" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_selectInstances;" + -sourceType "mel" + -actionIsSubstitute 0 + ; +} diff --git a/2009-x64/prefs/shelves/Backup 2 of shelf_PaulUnreal.mel.deleted b/2009-x64/prefs/shelves/Backup 2 of shelf_PaulUnreal.mel.deleted new file mode 100644 index 0000000..5d1be68 --- /dev/null +++ b/2009-x64/prefs/shelves/Backup 2 of shelf_PaulUnreal.mel.deleted @@ -0,0 +1,535 @@ +global proc shelf_PaulUnreal () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "His" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_freezeAllButTranslate" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "USERMENUICONLISTED.BMP" + -image1 "USERMENUICONLISTED.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Connect attributes selected in channel box from first selected node to other selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnAttr" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\rPMP.maya.connections.makeSelectedAttrConnections()\r" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reload textures on selected object - double click to reload on all objects in scene" + -align "center" + -label "Reload textures on selected object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PMP_reloadTextures.bmp" + -image1 "PMP_reloadTextures.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_reloadTextures" + -sourceType "mel" + -doubleClickCommand "PMP_reloadAllTextures" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Rename Shading Groups and File Nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Rnam" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\rPMP.maya.texture.renameShadingGroupsAndFileNodes()" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select uv shell border edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "uvEdge" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\r\nreload(PMP.maya.texture)\r\n\r\nPMP.maya.texture.selectTextureBorderEdges()" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "RoadKill" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RdKll" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RoadKill" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Nor" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleFaceNormals" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Vertex Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "VN" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleVertexNormalDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle soft edge visibility" + -align "center" + -label "Soft/Hard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SfHd" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplaySoftEdges" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Standard Edges" + -align "center" + -label "Standard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Std" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplayEdges" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Reverse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyNormal.xpm" + -image1 "polyNormal.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReversePolygonNormals" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "HardEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HardEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 0;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "SoftEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SoftEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 1;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Normal Angle..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySoftEdge.xpm" + -image1 "polySoftEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polySoftEdgeWin" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select all instances of selected objects as well" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "+INST" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_selectInstances;" + -sourceType "mel" + -actionIsSubstitute 0 + ; +} diff --git a/2009-x64/prefs/shelves/Backup 3 of shelf_PaulUnreal.mel.deleted b/2009-x64/prefs/shelves/Backup 3 of shelf_PaulUnreal.mel.deleted new file mode 100644 index 0000000..652e7d1 --- /dev/null +++ b/2009-x64/prefs/shelves/Backup 3 of shelf_PaulUnreal.mel.deleted @@ -0,0 +1,536 @@ +global proc shelf_PaulUnreal () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "His" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "USERMENUICONLISTED.BMP" + -image1 "USERMENUICONLISTED.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Connect attributes selected in channel box from first selected node to other selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnAttr" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\rPMP.maya.connections.makeSelectedAttrConnections()\r" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reload textures on selected object - double click to reload on all objects in scene" + -align "center" + -label "Reload textures on selected object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PMP_reloadTextures.bmp" + -image1 "PMP_reloadTextures.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_reloadTextures" + -sourceType "mel" + -doubleClickCommand "PMP_reloadAllTextures" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Rename Shading Groups and File Nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Rnam" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\rPMP.maya.texture.renameShadingGroupsAndFileNodes()" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select uv shell border edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "uvEdge" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\r\nreload(PMP.maya.texture)\r\n\r\nPMP.maya.texture.selectTextureBorderEdges()" + -sourceType "python" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "RoadKill" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RdKll" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RoadKill" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Nor" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleFaceNormals" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Vertex Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "VN" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleVertexNormalDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle soft edge visibility" + -align "center" + -label "Soft/Hard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SfHd" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplaySoftEdges" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Standard Edges" + -align "center" + -label "Standard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Std" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplayEdges" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "USERPIVOTICON.BMP" + -image1 "USERPIVOTICON.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Reverse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyNormal.xpm" + -image1 "polyNormal.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReversePolygonNormals" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "HardEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HardEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 0;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "SoftEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SoftEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 1;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Normal Angle..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySoftEdge.xpm" + -image1 "polySoftEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polySoftEdgeWin" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select all instances of selected objects as well" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "+INST" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_selectInstances;" + -sourceType "mel" + -actionIsSubstitute 0 + ; +} diff --git a/2009-x64/prefs/shelves/Copy of shelf_PaulScripts.mel b/2009-x64/prefs/shelves/Copy of shelf_PaulScripts.mel new file mode 100644 index 0000000..bfa6813 --- /dev/null +++ b/2009-x64/prefs/shelves/Copy of shelf_PaulScripts.mel @@ -0,0 +1,146 @@ +global proc shelf_PaulScripts () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Load new script nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "load" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tif(basenameEx(`file -q -sceneName`) == \"Generick_rig_v1.5\")\r\n\t{\r\n\t\tstring $fileName = `workspace -expandName \"scenes/scriptNodes/zooLoadScriptNodes.mel\"`;\r\n\t\tloadFileIntoScriptNode(\"zooLoadScriptNodes\", $fileName, false);\r\n\t\tscriptNode -executeBefore \"zooLoadScriptNodes\";\r\n\t\tloadZooScriptNodes();\r\n\t\tscriptNode -executeBefore \"zooLoadScriptNodes\";\r\n\t}\r\n}\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Check Dependencies" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "DEP" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\t\teval(\"source PMP_listProcNames;\");\r\n\t\teval(\"source PMP_listProcUses;\");\r\n\r\n\t\tglobal string $zooScriptsUsedByGenerick[];\r\n\r\n\t\tstring $dependencyChecks[];\r\n\r\n\t\tstring $scriptsDir = `internalVar -userAppDir` + \"scripts/\";\r\n\t\tstring $dirs[] = `zooGetRecursedSubDirs $scriptsDir`;\r\n\t\tstring $fileList[];\r\n\t\tstring $file;\r\n\t\t$dirs[size($dirs)] = $scriptsDir;\r\n\r\n\t\tfor($scriptsDir in $dirs)\r\n\t\t{\r\n\t\t\t$fileList = `getFileList -folder $scriptsDir -filespec \"*.mel\"`;\r\n\t\t\tfor($file in $fileList)\r\n\t\t\t{\r\n\t\t\t\t$dependencyChecks[size($dependencyChecks)] = $scriptsDir + $file;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tstring $scriptsToCheck[];\r\n\r\n\t\tstring $scriptBaseName;\r\n\t\tstring $workspaceScenesDir = `workspace -q -rootDirectory` + `workspace -ote scene`;\r\n\t\tstring $scriptNodeDir = $workspaceScenesDir + \"/scriptNodes\";\r\n\t\tint $i;\r\n\r\n\t\tfor($i = 0; $i < size($zooScriptsUsedByGenerick); $i++)\r\n\t\t{\r\n\t\t\t$scriptBaseName = $zooScriptsUsedByGenerick[$i];\r\n\t\t\t$scriptsToCheck[$i] = $scriptNodeDir + \"/\" + $scriptBaseName + \"Node_new.mel\";\r\n\t\t}\r\n\r\n\t\tPMP_listProcUses($scriptsToCheck, $dependencyChecks, false);\r\n\r\n\t}\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "mel Script Lister" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "LIST" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "/* This file downloaded from Highend3d.com\r'' \r'' Highend3d.com File Information:\r'' \r'' Script Name: MEL LISTER++\r'' Author: \r'' Last Updated: Aug 11, 2007\r'' Update/Change this file at:\r'' http://Highend3d.com/maya/downloads/mel_scripts/utility_external/misc/4666.html\r'' \r'' Please do not alter any information above this line\r'' it is generated dynamically by Highend3d.com and will\r'' be changed automatically on any updates.\r*/\r/*\rMEL LISTER++ v1.5\r15-4-2007 :: 27-4-2007\r\rLAST MODIFIED:\r13 (Sun) May 2007 - 08:00:29 AM \r\r\rMEL LISTER++ was developed from the key idea of MEL LISTER by Jeremiah Grant. He has developed a tool to List all files present in a specific folder and one can view/edit/save those files. He added a feature to show description about the scripts (popping up first 6 lines of all script). I took that script and did various modifications. And added following features like...\r\r*Automatic Script Sourcing...\r*Automatic Script Executing (If the script is prepared to execute automatically on sourcing)...\r*Switching to the any script folders are made easy to navigate...\r*You can copy/paste the folder path and load them easily...\r*Easily switch to the your favorite script folders quickly(And even open them in explorer)...\r*Listing the Executable Procedures present inside the script files...\r*Navigate around the procedures easily by clicking on them (This makes it easy to see PROCEDURE arguments and return types)...\r*Allowing to easily execute all the procedures, (Just double click, If there is no arguments needed)...\r*Quick/Easily edit and save...\r*Commands and Scripts can be typed directly into the Editor window and it can be sourced or executed easily...\r*You can easily put your scripts to your Shelf...\r*Randomly, ICONs are chosen when you place your scripts to Shelf(Skipping those old gray n black MEL icon)...\r*Both Script AND execution command can be placed on to the Shelf...\r*You can drag drop various scripts and commands from your Shelf, And add random icon to them and place them back to the Shelf....\r*Find/Find Next and Find Previous supports searching...\r*External Editor can be invoked optionally for more flexible editing...\r*Help line provide support for your most actions...\r\r\rI thought of developing a script that will perform most operations like done in MEL STUDIO.\rAs MEL LISTER++ comes as a script and not an API, it can be used for any version of maya.\rI hope, I have achieved (VERY) few of MEL STUDIOS feature.\rSoon I will try to add more features to this.\r\rI humbly request your support!\r\r\r\r\r\r\r\rHow to Install MEL LISTER++ ...\r\r\r* Copy the entire script and paste it into the maya's script editor window......!\r* Then, Drag those entire script(Currently pasted) from the script editor to the Shelf.\r* Now Click the shelf ICON and enjoy.\r\r\rHow to Use MEL LISTER++ ...\r\r- Use \"...\" button to browse a folder and select a MEL file. You will be listed with all files in that directory.\r- Click select the file from the list this will load the file for editing.\r- Double click will SOURCE that file and load that file for editing.\r- List of Procedures it contains will be listed in a list box below.\r- Click them to move your editing cursor to procedure's declaration part. So that you can see ARGUMENTS and RETURN Type.\r- This will also copy the procedure name to separate text box so that you can add your arguments. You can even drag the command from here to your shelf.\r- Double click any of the procedure name from the list to execute them (If it doesn't need any arguments)\r\r- Right click the above address bar to have quick list of favorite folders to quick navigate.\r\r- Move your scripts or execution commands to shelf with random icon. if needed.\r\r- You can drag your commands and scripts from shelf to Mel lister++ editing area and send them back to shelf with random icon.\r\r- You can clear the editing area and start writing your own script.\r- Save them using \"Save as...\" and Source them using \"source script\" button.\r- If it has no procedure your script will be executed automatically.\r- else drag the procedure name to executer text box and click \"ExecuteProc\" button.\r\r\rKnown Bugs...\r*Attempting to load this (MEL LISTER++) script into the MEL LISTER++ might cause some errors.\r\rI will try to remove the above said bugs in my next version.\r\r\r\rUpdated features...\r\rUpdate v1.0.2 - 01.05.2007\r\r*UI size can be extended.\r*Dialog that pops out after Xternal editing is removed and now MEL LISTER PLUS automatically reloads the file.\r*Warning pops out for saving the file if its modified and didn't save.\r\rUpdate v1.5.0 - 13 (Sun) May 2007 - 06:48:28 AM \r\r*Browse and Navigate folders easily.\r*Source all files in a folder.\r*Copy a script file to your maya default script folder.\r*Copy all script file from current folder to maya default script folder.\r\r\r\r\rScript by\rKumaresan \rJeremiah Grant\r\rSpecial Thanks to\rBryan Ewert\rErick Miller\r\rDate\r15-4-2007 :: 27-4-2007\r\rLast Update: \r13 (Sun) May 2007 - 08:14:49 AM \r\rContact\rkaymatrix@gmail.com\r\rChennai - India\r*/\r\r\r\r\r\r\rproc MyFavMenu()\r{\r\t\r\t\t\t\t\r\tmenuItem -p MyFavMenuLst -l \"Maya Default...\" -c \"MyFavFolders(1)\";\r\tmenuItem -p MyFavMenuLst -d 1;\r\tmenuItem -p MyFavMenuLst -l \"Animation...\" -c \"MyFavFolders(2)\";\r\tmenuItem -p MyFavMenuLst -l \"Assorted...\" -c \"MyFavFolders(6)\";\r\tmenuItem -p MyFavMenuLst -l \"Character TD...\" -c \"MyFavFolders(3)\";\r\tmenuItem -p MyFavMenuLst -l \"Lighting...\" -c \"MyFavFolders(5)\";\r\tmenuItem -p MyFavMenuLst -l \"Rigging...\" -c \"MyFavFolders(4)\";\r\tmenuItem -p MyFavMenuLst -l \"Downloaded...\" -c \"MyFavFolders(7)\";\r\t\r}\r\r\r\rproc MyFavFolders(int $z)\r{\r\tglobal string $textList;\r\tstring $nxpath = \"\";\r\tstring $mscriptpath = `internalVar -usd`;\r\tstring $foruse = `substring $mscriptpath 1 (size($mscriptpath)-1)`;\r\t\r\t\r\t//MAKE SURE AT THE END YOU DONT PUT THE \"/\" SIGN.....\r\t\r\t\r\tif($z == 1)\r\t\t$nxpath = $foruse;\r\tif($z == 2)\r\t\t$nxpath = \"E:/GoodScripts/Animation\";\r\tif($z == 3)\r\t\t$nxpath = \"E:/GoodScripts/Character TD\";\r\tif($z == 4)\r\t\t$nxpath = \"E:/GoodScripts/Rigging\";\r\tif($z == 5)\r\t\t$nxpath = \"E:/GoodScripts/Lighting\";\r\tif($z == 6)\r\t\t$nxpath = \"E:/Maya Works/Maya Script Works/Other's Brain\";\r\tif($z == 7)\r\t\t$nxpath = \"C:/Documents and Settings/Antz/My Documents/Maya Scripts/GoodScripts/ForScriptys\";\r\t\r\t\r\t\r\t\r\t\r\ttextField -e -tx $nxpath mylbl;\r\tMyListFiles();\r\t\r}\r\r\r\r\r\r\r\r\r\rglobal string $speedsave = \"\";\rglobal string $melDirectory = \"\";\rglobal string $saveMelDir = \"\";\rglobal string $fillst = \"\";\rglobal int $windwidth;\r\r\r\rproc MyCopier(int $selr)\r{\r\rglobal string $fillst;\rglobal string $melDirectory;\rstring $dirPlusScript;\rstring $fils[];\rstring $selcx[];\r\r\tif ($selr == 0)\r\t{\r\t\t$selcx = `textScrollList -q -si scriptList`;\r\t\tif($selcx[0]!=\"\")\r\t\t{\r\t\t\tglobal string $melDirectory;\r\t\t\tstring $dirPlusScript;\r\t\t\t$dirPlusScript = (\"\\\"\" + $melDirectory+$selcx[0] + \"\\\"\");\r\t\t\tMyCopierSupport ($dirPlusScript);\r\t\t}\t\r\t}\r\telse if ($selr==1)\r\t{\r\r\t\tif($fillst!=\"\")\r\t\t{\r\t\ttokenize $fillst \"\\n\" $fils;\r\r\t\tstring $result = `confirmDialog -message \"This will copy all script files present in the current folder to your default script folder. This might take considerable time. Do you want to proceed?\" -title \"Confirm copying all scripts...\"\r\t\t-button \"Yes\" -button \"No\" -defaultButton \"Yes\"\r\t\t-cancelButton \"No\" -dismissString \"No\"`;\r\t\t\t\t\r\t\tif($result==\"Yes\")\r\t\t\t{\r\r\t\t\t\tfor($i=0;$i<`size($fils)`;$i++)\r\t\t\t\t{\r\t\t\t\t\tif($fils[$i]!=\"\")\r\t\t\t\t\t{\r\t\t\t\t\tiprint ($fils[$i] + \" script contains some errors! Can't proceed!\");\r\t\t\t\t\t$dirPlusScript = (\"\\\"\" + $melDirectory+$fils[$i] + \"\\\"\");\r\t\t\t\t\tMyCopierSupport ($dirPlusScript);\r\t\t\t\t\t}\r\t\t\t\t}\r\t\t\t\tiprint(\"Script files copied.... Check the maya default folder!\");\r\t\t\t\r\t\t\t}\r\t\t}\r\r\r\t}\r\r}\r\rproc MyCopierSupport(string $source)\r{\r\tstring $filname = basename( $source, \"\" );\r\tstring $mscriptpath = `internalVar -usd`;\r\tstring $desti = `substring $mscriptpath 1 (size($mscriptpath)-1)`;\r\t$desti = \"\\\"\" + $desti + \"/\" + $filname;\r\r\t\teval(\"sysFile -copy \" + $desti + \" \" + $source);\r\t\tiprint(\"Copied... \" + $desti);\r\t\tprint(\"\\nCopied... \" + $desti + \"\\nFrom: \" + $source + \"\\n\");\r\r}\r\r\r\rproc MyimportFolder (string $path, string $useless)\r{\r\tglobal string $melDirectory;\r\r\tiprint(\"Listed script files from: \" + $path);\r\t\r\tif(`substring $path 3 3` == \"\\\\\")\r\t\t$path=fromNativePath($path);\r\r\tif(endsWith($path, \"/\")==0)\r\t\t$melDirectory = $path + \"/\";\r\t\r\t\ttextField -e -tx $melDirectory mylbl;\r}\r\r\rproc MyFolderBrowse()\r{\r string $mPath = `internalVar -userScriptDir`;\r $mPath = `fileDialog -dm \"*.mel\"`;\r if($mPath!=\"\")\r {\r\t string $melDirectory = dirname ($mPath);\r \t MyimportFolder ($melDirectory, \"\");\r \t MyListFiles();\r }\r}\r\rproc MyListFiles()\r{\r\t\r\tglobal string $textList;\t\t\r\tstring $nowpath = `textField -q -tx mylbl`;\r\t\r\tif($nowpath==\"\")\r\t{\r\t\terror \"Please! Enter the vaild folder path that contains MEL Scripts\";\r\t}\r\telse\r\t{\r\tMyimportFolder ($nowpath, \"\");\r\tMyrepopulateList $textList;\r\toptionVar -sv \"mellsplsLASTPATH\" $nowpath;\r\t\r\t}\r\t\r}\r\rproc MyrepopulateList(string $textList)\r{\r\tglobal string $melDirectory;\r\tglobal int $windwidth;\r\tglobal string $fillst;\r\r\tstring $melList[] = `getFileList -folder $melDirectory -filespec \"*.mel\"`;\r\tstring $melDirlststg=`system(\"DIR \\\"\" + $melDirectory + \"\\\" /AD /B\")`;\r\tstring $melDirlst[];\r\ttokenize $melDirlststg \"\\n\" $melDirlst;\r\r\tstring $inMelList;\r\r\ttextField -e -tx $melDirectory mylbl;\r\ttext -e -l `size( $melList )` scriptCountUI;\r\t\r\t\r\r\ttextScrollList -e -ra $textList;\r\ttextScrollList -e -fn \"boldLabelFont\" -append (\"[ .. ]\") $textList;\r\r\tfor($inMelList in $melDirlst)\r\t{\r\t\tif($inMelList!=\"\")\r\t\t\ttextScrollList -e -append (\"[\" + $inMelList + \"]\") $textList;\r\t}\r\r\ttextScrollList -e -append (\"[-----------------------------------]\") $textList;\r\t$fillst = \"\";\r\tfor($inMelList in $melList)\r\t{\r\t\ttextScrollList -e -append $inMelList $textList;\r\t\t$fillst = $fillst + \"\\n\" + $inMelList;\r\t}\r\tif($inMelList != \"\")\r\t\ttextScrollList -e -sii 1 $textList;\r\t\r\t\r\t//I donno why this happens.... Some times, While REPOPULATING or LOADING SCRIPT FOR EDIT this our program window width xpands... To control that I put this here!\r\t\r\twindow -e -w $windwidth -h 558 melListWin;\r}\r\rproc MyxtrnlEdit()\r{\rglobal string $speedsave = \"\";\r\r\tif ($speedsave!=\"\")\r\t{\r\tsystem(\"\\\"\" + $speedsave + \"\\\"\");\r\teval(\"MymelEdit editField \" + \"`textScrollList -q -si scriptList`\");\r\tiprint(\"Script file reloaded!\");\r\t}\r\telse\r\t\tiprint(\"Select a file to edit!\");\r\t\r}\r\rproc MyFolderSystem()\r{\r\tstring $datx = `textField -q -tx mylbl`;\r\tif ($datx != \"\")\r\t{\r\t string $path = toNativePath( $datx );\r\t system (\"explorer \" + $path);\r\t}\r\t \r}\r\r\rproc iprint(string $mdata)\r{\r\tif ($mdata!=\"\")\r\t{\r\ttextField -e -tx $mdata myinfodisper;\r\t}\r\t\r}\r\rproc MyChangeMonitor()\r{\r\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm!=\"*\")\r\t\ttext -e -l ($mtr + \" *\") ttlsay;\r}\r\rproc MySafeWarn()\r{\r\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm==\"*\")\r\t{\r\t\r\t\t \tstring $result = `confirmDialog -title \"File didn't saved!\" -message \"You have edited this file. Do you want to save?\"\r \t\t-button \"Yes\" -button \"No\" -defaultButton \"Yes\"\r \t\t-cancelButton \"No\" -dismissString \"No\"`;\r\t\t\t\r\t\t\tif($result==\"Yes\")\r\t\t\t\tMyquicksave();\r\t\t\r\t}\r\r}\r\rproc MyAutoexecu()\r{\rglobal string $fillst;\rglobal string $melDirectory;\rstring $dirPlusScript;\rstring $fils[];\rint $ers=0;\rint $scrpt=0;\r\rif($fillst!=\"\")\r{\rtokenize $fillst \"\\n\" $fils;\r\rstring $result = `confirmDialog -message \"This will source all script files present in the current folder. This might take considerable time. Do you want to proceed?\" -title \"Confirm executing all scripts...\"\r-button \"Yes\" -button \"No\" -defaultButton \"Yes\"\r-cancelButton \"No\" -dismissString \"No\"`;\r\t\t\rif($result==\"Yes\")\r{\r\riprint(\"Script source started...\");\r\rfor($i=0;$i<`size($fils)`;$i++)\r{\r\tif($fils[$i]!=\"\")\r\t{\r\tiprint ($fils[$i] + \" script contains some errors! Can't proceed!\");\r\t$dirPlusScript = (\"\\\"\" + $melDirectory+$fils[$i] + \"\\\"\");\r\tstring $source = (\"source \"+$dirPlusScript);\r\tif (catch (eval ($source)))\r\t{\r\t\tprint(\"\\n\\n\\nError in the script... \" + ($i+1) + \"/\" + size($fils) + \" \" + $fils[$i] + \"\\n\\n\");\r\t\t$ers=$ers+1;\r\t}\r\telse\r\t{\r\t\tprint(\"\\nAutomated Sourcing... \" + ($i+1) + \"/\" + size($fils) + \" \" + $fils[$i] + \"\\n\\n\");\r\t\t$scrpt=$scrpt+1;\r\t}\r\tiprint(\"Scripts executing.... \" + ($i+1) + \"/\" + size($fils) + \" Errors: \" + $ers);\r\t}\r\r}\rprint(\"\\n\\n\\nTotal scripts: \" + size($fils) + \" - Executed scripts: \" + $scrpt + \" - Error scripts: \" + $ers + \" - Check script editor!\\n\\n\\n\");\riprint(\"Total scripts: \" + size($fils) + \" - Executed scripts: \" + $scrpt + \" - Error scripts: \" + $ers + \" - Check script editor!\");\rrehash;\r\r\r\t\t}\r\r\t}\r\r}\r\rglobal proc mlPlus()\r{\r\tglobal string $melDirectory;\r\tglobal string $textList;\r\t\r\tglobal int $windwidth;\r\t$windwidth = 695;\r\tif (`window -ex melListWin`)\r\t\tdeleteUI melListWin;\r\r\tstring $melList[] = `getFileList -folder $melDirectory -filespec \"*.mel\"`;\r\tstring $inMelList;\r \r\twindow -title \"MEL LISTER++ v1.5\" -s 1 -rtf 1 -mnb 1 -mxb 0 -w 695 -h 530 -menuBar 0 melListWin;\r\t\r\tcolumnLayout -adj 1;\r\t\trowColumnLayout -nc 3 -columnWidth 1 175 -columnWidth 2 10 -columnWidth 3 500 MBAR;\r\r\t\t\ttext -l \"\";\r\t\t\tseparator -style \"none\";\r\t\t\ttext -l \"\";\r\r\t\t\tbutton -label \"Load Scripts \" -c \"MyListFiles()\";\r\t\t\ttext -l \"\";\r\t\t\trowColumnLayout -nc 3 -columnWidth 1 425 -columnWidth 2 35 -columnWidth 3 35 MPaddressbar; \r\t\t\t\ttextField -tx \"\" mylbl;\r\t\t\t\tbutton -label \"...\" -c \"MyFolderBrowse()\";\r\t\t\t\tbutton -label \"Sys\" -c \"MyFolderSystem()\";\r\t\t\tsetParent..;\r\r\t\t\tpopupMenu -p mylbl -b 3 MyFavMenuLst;\r\t\t\tMyFavMenu;\r\t\t\t\t\t\t\t\r\t\t\ttext -l \"\";\r\t\t\tseparator -style \"none\";\r\t\t\ttext -l \"\";\r\t\r\t\t\trowColumnLayout -nc 2 -columnWidth 1 75 -columnWidth 2 100; \r\t\t\t\ttext \"Mel Scripts\";\r\t\t\t\tbutton -label \"Source All\" -c \"MyAutoexecu()\";\r\t\t\tsetParent..;\r\r\t\t\tseparator -style \"none\";\r\t\t\ttext -l \"Script\" ttlsay;\r\r\t\t\tstring $textList = `textScrollList -w 275 -numberOfRows 25 -ams 0 -aas 1 -shi 4 -sc (\"MymelEdit editField \" + \"`textScrollList -q -si scriptList`\") -dcc (\"MyScriptExecuter\") scriptList`;\r\t\t\tseparator -style \"none\";\r\t\t\tstring $editField = `scrollField -wordWrap 1 -kpc \"MyChangeMonitor\" -bgc 0.0 1.0 0.5 -w 500 -h 200 editField`;\r\t\t\t\r\t\t\tpopupMenu -p scriptList -b 3;\r\t\t\t\tmenuItem -l \"Load and Source selected script...\" -c (\"MyScriptExecuter\");\r\t\t\t\tmenuItem -l \"Copy selected script to Maya scripts folder...\" -c (\"MyCopier(0)\");\r\t\t\t\tmenuItem -l \"Copy all scripts to Maya scripts folder...\" -c (\"MyCopier(1)\");\r\t\t\t\r\t\t\t\r\t\t\trowColumnLayout -nc 2 -columnWidth 1 140 -columnWidth 2 35; \r\t\t\t\ttext -al \"left\" -l \"Number of scripts................... \";\r\t\t\t\ttext -label \"0\" scriptCountUI;\r\t\t\t\r\t\t\tsetParent..;\t\r\t\t\tseparator -style \"none\";\r\t\t\ttextField -ed 0 myinfodisper;\r\t\t\r\t\tsetParent..;\r\t\tsetParent..;\r\t\t\r\tcolumnLayout -adj 1;\r\trowColumnLayout -nc 6 -columnWidth 1 175 -columnWidth 2 155 -columnWidth 3 100 -columnWidth 4 10 -columnWidth 5 90 -columnWidth 6 200 DOWNTOOLS;\r\t\r\ttext -l \"Available Procedure\" Myavlproc;\r\ttext -l \"\";\r\ttext -l \"\";\r\ttext -l \"\";\r\ttext -l \"\";\r\tseparator -style \"none\";\r\r\ttextScrollList -w 275 -numberOfRows 5 -ams 0 -aas 1 -shi 4 -sc \"MyProcExecuter (`textScrollList -q -si exelist`,0)\" -dcc \"MyProcExecuter (`textScrollList -q -si exelist`,1)\" exelist;\r\r\t\r\tcolumnLayout -adj 1;\r\t\ttextField -tx \"\" -w 5 exrd;\r\t\tbutton -label \"ProcName to Shelve\" -c (\"MyToShelSetup(1)\");\r\t\tbutton -label \"Script to Shelve\" -c (\"MyToShelSetup(2)\");\r\t\tbutton -label \"Both to Shelve\" -c (\"MyToShelSetup(3)\");\r\t\tsetParent..;\r\t\t\r\tcolumnLayout -adj 1;\r\t\tbutton -label \"Execute Proc\" -c (\"MyQuickEXR\");\r\t\ttext -l \"\";\r\t\ttext -l \"\";\r\t\ttext -l \"\";\r\t\tsetParent..;\r\t\t\r\ttext -l \"\";\t\r\t\r\tcolumnLayout -adj 1;\r\t\t\r\t\t//text -l \"\";\r\t\tbutton -label \"Find\" -c (\"MyFinderx()\");\r\t\tbutton -label \"FindNext\" -c (\"MyFindNext()\");\r\t\tbutton -label \"FindPrev\" -c (\"MyFindPrev()\");\t\r\t\trowColumnLayout -nc 2 -columnWidth 1 45 -columnWidth 2 45 ; \r\t\t\tbutton -label \"<<<<\" -c (\"MyUIExpand(0)\");\r\t\t\tbutton -label \">>>>\" -c (\"MyUIExpand(1)\");\r\t\t\tsetParent..;\r\t\tsetParent..;\r\t\r\r\t\r\trowColumnLayout -nc 2 -columnWidth 1 75 -columnWidth 2 75 ; \r\r\t\r\t\tbutton -label \"Source Script\" -c (\"MyScriptExecuter\");\r\t\tbutton -label \"Quick save\" -c \"Myquicksave\";\r\t\tbutton -label \"Save as...\" -c (\"MysaveScript \" + $editField);\r\t\tbutton -label \"Xternal Edit\" -c (\"MyxtrnlEdit\");\r\t\tbutton -label \"Clear\" -c (\"scrollField -e -cl \"+$editField);\t\t\t\t\r\t\tbutton -label \"Help\" -c (\"Mymelhelper\");\r\t\tbutton -label \"About\" -c (\"Mymellisterabout\");\r\t\tbutton -label \"Close\" -c \"deleteUI melListWin\";\r\t\t\r\r//This is to store the position number of all the proc that found in selected script file... \rtextScrollList -vis 0 -w 1 -h 1 -numberOfRows 5 posilist;\t\r//This is to store the position for find next setup... \rtextScrollList -vis 0 -w 1 -h 1 -numberOfRows 5 fndnxt;\t\r\r//LAST FOLDER\rif (`optionVar -exists \"mellsplsLASTPATH\"`)\r{\r\t$nowpath = `optionVar -q \"mellsplsLASTPATH\"`;\r\ttextField -e -tx $nowpath mylbl;\r\tMyListFiles();\r}\relse\r{\r\ttextField -e -tx \"\" mylbl;\r}\r\riprint(\"Welcome to MEL LISTER++. Browse for a folder containing MEL scripts. Use above buttons to browse.\");\r\r\twindow -e -w $windwidth -h 558 melListWin;\r\tshowWindow melListWin;\r}\r\r\rproc MyFindNext()\r{\r\t\r\tint $postogo[];\r\tstring $positionx[];\r\tint $ttlfnd = `textScrollList -q -ni fndnxt`;\r\t\r\tif ($ttlfnd != 0)\r\t{\r\t\t\r\t\t\t$postogo = `textScrollList -q -sii fndnxt`;\r\t\t\t\r\t\t\tif ($postogo[0] == $ttlfnd)\r\t\t\t\ttextScrollList -e -sii 1 fndnxt;\r\t\t\telse\r\t\t\t\ttextScrollList -e -sii ($postogo[0]+1) fndnxt;\t\r\r\t\t\t$positionx = `textScrollList -q -si fndnxt`;\r\t\t\teval(\"scrollField -e -ip \" + $positionx[0] + \" editField\");\r\t\t\teval(\"scrollField -e -it \\\"\\\" editField\");\r\t\t\tsetFocus editField;\r\r\t\t\t\r\t\t\tif ($postogo[0] == $ttlfnd)\r\t\t\t\t$toshow = 1;\r\t\t\telse\r\t\t\t\t$toshow = $postogo[0]+1;\r\t\t\t\r\t\t\t\r\t\tiprint(\"Found : \" + $ttlfnd + \" match. You watching the match: \" + $toshow);\r\r\t}\r\telse\r\t\t\r\t\tiprint(\"Error: Search for text using --- Find --- function first. Then use find next!\");\r\t\r}\r\r\rproc MyFindPrev()\r{\r\t\r\tint $postogo[];\r\tstring $positionx[];\r\tint $ttlfnd = `textScrollList -q -ni fndnxt`;\r\t$postogo = `textScrollList -q -sii fndnxt`;\r\t\r\tif ($ttlfnd != 0)\r\t{\r\t\tif ($postogo[0] != 1)\r\t\t\t\ttextScrollList -e -sii ($postogo[0]-1) fndnxt;\t\r\t\telse\r\t\t\t\ttextScrollList -e -sii $ttlfnd fndnxt;\r\t\t\r\t\t$positionx = `textScrollList -q -si fndnxt`;\r\t\teval(\"scrollField -e -ip \" + $positionx[0] + \" editField\");\r\t\teval(\"scrollField -e -it \\\"\\\" editField\");\r\t\tsetFocus editField;\t\t\t\r\r\t\t\tif ($postogo[0] == 1)\r\t\t\t\t$toshow = $ttlfnd;\r\t\t\telse\r\t\t\t\t$toshow = $postogo[0]-1;\r\t\t\t\r\t\tiprint(\"Found : \" + $ttlfnd + \" match. You watching the match: \" + $toshow);\r\r\t}\r\telse\r\t\tiprint(\"Error: Search for text using --- Find --- function first. Then use find next!\");\r\t\r}\r\r\r\rproc MyFindTest( string $editFieldUI, string $searchdata )\r{\r string $buffer[];\r int $stringSize = 0;\r string $text = `scrollField -q -tx $editFieldUI`;\r\ttextScrollList -e -ra fndnxt;\t\r\t\r // Break the text into lines\r tokenize $text \"\\n\" $buffer;\r\r // For each line...\r for( $i = 0; $i < `size($buffer)`; $i++ )\r {\r // The end of the line equals the sum of the size of all the strings before it\r $stringSize += `size $buffer[$i]`;\r\r if (`gmatch $buffer[$i] $searchdata`)\r {\r // Place the cursor at the end of the matching line\r scrollField -e -ip $stringSize $editFieldUI;\r scrollField -e -it \"\" $editFieldUI;\r setFocus $editFieldUI;\r\t\t\ttextScrollList -e -a $stringSize fndnxt;\r\t\t\ttextScrollList -e -sii 1 fndnxt;\r // Break out of the loop\r //break;\r }\r }\r\t\r\tint $ttls = `textScrollList -q -ni fndnxt`;\r\t\r\tif ($ttls != 0)\r\t{\r\ttextScrollList -e -sii $ttls fndnxt;\r\tiprint(\"Found : \" + $ttls + \" match\");\r\tMyFindNext;\r\t}\r\telse\r\t{\r\t\tiprint(\"No matching text found in this script!\");\r\t}\r\t\r\t\r}\r\rproc MyFinderx()\r{\r\r\tstring $tempdata = `scrollField -q -tx editField`;\r\tstring $searchdata;\r\tstring $result = `promptDialog -title \"Search the script... \"\t-message \"Text to find: \" -button \"Search\" -button \"Cancel\" \t\t-defaultButton \"Search\" -cancelButton \"Cancel\"\t-dismissString \"Cancel\"`;\t\r\t \tif ($result == \"Search\")\r\t\t{\r \t\t$searchdata = \"*\" + `promptDialog -query -text` + \"*\";\r\t\tMyFindTest \"editField\" $searchdata;\t\r\t\t}\r}\r\r\rproc MyProcExecuter(string $txt[],int $i)\r{\r\tint $postogo[];\r\tstring $positionx[];\r\t\r\tif($i == 0)\r\t{\r\t\ttextField -e -tx ($txt[0] + \";\") exrd;\r\t\t\r\t\t//To move the Insertion Pointer to the position...\r\t\t$postogo = `textScrollList -q -sii exelist`;\r\t\ttextScrollList -e -sii $postogo[0] posilist;\r\t\t$positionx = `textScrollList -q -si posilist`;\r\t\t\r\t\teval(\"scrollField -e -ip \" + $positionx[0] + \" editField\");\r\t\teval(\"scrollField -e -it \\\"\\\" editField\");\r\t\tsetFocus editField;\r\r\t}\r\telse\r\t{\r\t\ttextField -e -tx ($txt[0] + \";\") exrd;\r\t\teval($txt[0]);\r\t\tiprint \"Procedure executed successfully!\";\r\t}\r}\r\rproc MyScriptExecuter()\r{\rstring $txt = `scrollField -q -tx editField`;\r\rif($txt!=\"\")\r{\riprint \"Script present in the script editor may contains some errors or it needs some support scripts!\";\reval($txt);\riprint \"Script executed successfully!\";\r}\relse\r{\riprint \"Select a script file or type some commands to execute or source!\";\r}\r\r}\r\rproc MyQuickEXR()\r{\rstring $txt = `textField -q -tx exrd`;\r\rif($txt!=\"\")\r{\riprint($txt);\reval($txt);\riprint \"Procedure executed successfully!\";\r}\t\r}\r\rproc MyToShelSetup(int $how)\r{\r\tglobal string $gShelfTopLevel;\r\t\r\r string $XPM[];\r clear $XPM;\r\t string $iconname;\r\r // Gets all bitmap directories. Add more directories to the end of the $folders array as shown below\r string $folders[] = `xbmLangPathList`;\r// $folders[`size($folders)`] = \"c:/my_extra_icons/\";\r\t\r for( $fld in $folders )\r {\r\t // Lists all XPM files in above directory\r string $buffer[] = `getFileList -fld ($fld + \"/\") -fs \"*.xpm\"`;\r\t $XPM = stringArrayCatenate( $XPM, $buffer );\r\t clear $buffer;\r }\r\r // Get the size of the array\r $xpmCount = `size( $XPM )`;\r\r\t \r\t if($xpmCount==0)\r\t {\r\t\t iprint(\"No icons found in your maya icon folders!\");\r\t\t $iconname = \"menuiconview.xpm\";\r\t }\r\t else\r\t {\r\t\r\t\t// Random number based off the size of the array\r int $nowxpm = int(`rand $xpmCount`);\r\t $iconname = $XPM[$nowxpm];\r\t }\r\t \r\r\t\r\tstring $cmd = \"\";\r\tstring $seta = \"\";\r\tstring $setb = \"\";\r\t\r\t\tif ($how == 3)\r\t\t{\r\r\t\t\t\t$seta = `textField -q -tx editField`;\r\t\t\t\t$setb = `textField -q -tx exrd`;\r\t\t\t\t$cmd = ($seta + \"\\n\" + $setb);\r\t\t\t\t\r\t\t\t\tif (($seta!=\"\") && ($seta!=\"\"))\r\t\t\t\tif (`tabLayout -exists $gShelfTopLevel`)\r\t\t\t\t{\r\t\t\t\t\tshelfButton\r\t\t\t\t\t-parent ($gShelfTopLevel + \"|\" + `tabLayout -q -st $gShelfTopLevel`)\r\t\t\t\t\t-command $cmd\r\t\t\t\t\t-image1 $iconname\r\t\t\t\t\t-annotation $setb;\r\t\t\t\t\tiprint \"Added to the current Shelf successfully!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint \"You need a shelf!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint(\"Script and Proc Name section most be filled!\");\r\t\t\t\t}\r\t\t\t\r\t\t}\r\t\telse if($how == 2)\r\t\t{\t\r\t\t\t\r\t\t\t\t$cmd = `textField -q -tx editField`;\r\t\t\t\t\r\t\t\t\tif ($cmd!=\"\")\r\t\t\t\tif (`tabLayout -exists $gShelfTopLevel`)\r\t\t\t\t{\r\t\t\t\t\tshelfButton\r\t\t\t\t\t-parent ($gShelfTopLevel + \"|\" + `tabLayout -q -st $gShelfTopLevel`)\r\t\t\t\t\t-command $cmd\r\t\t\t\t\t-image1 $iconname\r\t\t\t\t\t-annotation $cmd;\r\t\t\t\t\tiprint \"Added to the current Shelf successfully!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint \"You need a shelf!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint(\"Input some script to send them shelf!\");\r\t\t\t\t}\r\t\t}\r\t\telse if($how == 1)\r\t\t{\t\r\t\t\t\t\t\t\r\t\t\t$cmd = `textField -q -tx exrd`;\r\t\t\tif($cmd!=\"\")\r\t\t\t{\r\t\t\tif (`tabLayout -exists $gShelfTopLevel`)\r\t\t\t\t{\r\t\t\t\t\tshelfButton\r\t\t\t\t\t-parent ($gShelfTopLevel + \"|\" + `tabLayout -q -st $gShelfTopLevel`)\r\t\t\t\t\t-command $cmd\r\t\t\t\t\t-image1 $iconname\r\t\t\t\t\t-annotation $cmd;\r\t\t\t\t\tiprint \"Added to the current Shelf successfully!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint \"You need a shelf!\";\r\t\t\t\t}\r\t\t\t}\r\t\t\telse\r\t\t\t{\r\t\t\t\tiprint(\"Procedure name most not be empty!\");\r\t\t\t}\r\t\t}\r\t\t\r\t\t\r}\r\r/*\rproc MymelLoad(string $script[])\r{\t\r\tif($script[0]!=\"\")\r\t{\r\tglobal string $melDirectory;\r\tstring $dirPlusScript;\r\tiprint \"Above script contains errors! Check your Script Editor.\";\r\t$dirPlusScript = (\"\\\"\" + $melDirectory+$script[0] + \"\\\"\");\r\tstring $source = (\"source \"+$dirPlusScript);\r\teval ($source);\r\trehash;\r\tiprint(\"Script file sourced successfully!\");\r\t}\r}\r\r*/\r\rproc MymelEdit(string $editField, string $script[])\r{\r\tglobal int $windwidth;\r\r\t\r\t\t\r\tif (startsWith($script[0], \"[\"))\r\t{\r\r\t\tstring $strDir = `substring $script[0] 2 (size($script[0])-1)`;\r\t\t\r\t\tif ($strDir==\"-----------------------------------\")\r\t\t{\r\t\tiprint(\"oh... its just a seperator.. seperates folder and files!\");\r\t\t}\r\t\telse if ($strDir==\" .. \")\r\t\t{\r\t\tstring $nowpath = `textField -q -tx mylbl`;\r\t\tstring $ee = basename($nowpath,\"\");\r\t string $result = substituteAllString($nowpath , (\"/\" + $ee + \"/\"), \"\");\r\t\ttextField -e -tx $result mylbl;\r\t\tMyListFiles();\r\r\t\t}\r\t\telse if ($strDir==\"\")\r\t\t{\r\t\tiprint(\"hmmm...Empty!\");\r\t\t}\r\t\telse\r\t\t{\r\r\t\tstring $nowpath = `textField -q -tx mylbl`;\r\t\t$nowpath = $nowpath + $strDir;\r\t\ttextField -e -tx $nowpath mylbl;\r\t\tMyListFiles();\r\r\r\t\t}\r\t\t\r\t}\r\telse\r\t{\r\r\r\tif ($script[0]!=\"melPlus.mel\")\r\t{\r\r\tMySafeWarn();\r\r\t\r\tif($script[0]!=\"\")\r\t{\r\tglobal string $melDirectory;\r\tglobal string $speedsave;\r\tstring $dirPlusScript, $nextLine, $fullEdit, $inFile;\r\tstring $file[];\r\tint $count = 0;\r\tint $posit = 0;\r\t\r\ttextScrollList -e -ra exelist;\r\ttextScrollList -e -ra posilist;\r\ttextField -e -tx \"\" exrd;\r\t\r\t$dirPlusScript = $melDirectory+$script[0];\r\t\r\ttext -e -ann (\"Script: \" + $dirPlusScript) -l (\"Script: \" + $dirPlusScript) ttlsay;\r\t$speedsave = $dirPlusScript;\r\r\t\r\t$fileId=`fopen $dirPlusScript \"r\"`;\r\t$nextLine = `fgetline $fileId`;\r\t\r\r\twhile(!`feof $fileId`)\r\t{\r\t\t$file[$count] = $nextLine;\r\t\t$nextLine = `fgetline $fileId`;\r\t\t$count++;\r\t}\r\t\r\t$file[$count] = $nextLine;\r\t$nextLine = `fgetline $fileId`;\r\r\t$count++;\r\t\r\tfclose $fileId;\r\r\tfor($inFile in $file)\r\t{\r\t\t$fullEdit += $inFile;\r\t\t$nextLine = $inFile;\r\t\t$posit = size($fullEdit);\r\t\tMyProcLister ($nextLine, $posit);\r\t}\r\t\r\tscrollField -e -cl $editField;\r\tscrollField -e -it $fullEdit $editField;\r\t}\r\r\tiprint(\"Script file loaded for editing!\");\r\r\t\t//I donno why this happens.... Some times, While REPOPULATING or LOADING SCRIPT FOR EDIT this our program window width xpands... To control that I put this here!\r\twindow -e -w $windwidth -h 558 melListWin;\r\t\r\t}\r\telse\r\t{\r\t\tiprint(\"Please! Don't try to load -melPlus.mel- script file. Try with other files.\");\r\t}\r\r }\r}\r\rproc MyUIExpand(int $step)\r{\r\tglobal int $windwidth;\r\tint $raisefactor = 100;\r\t\r\tif($step==1)\r\t{\r\t\t\t\r\t\t\tint $tmp = `rowColumnLayout -q -w MBAR`;\r\t\t\trowColumnLayout -e -w ($tmp+$raisefactor) MBAR;\r\t\t\t$tmp = ($tmp-202)+$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 3 $tmp MBAR;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w MPaddressbar`;\r\t\t\trowColumnLayout -e -w ($tmp+$raisefactor) MPaddressbar;\r\t\t\t$tmp = ($tmp-75)+$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 1 $tmp MPaddressbar;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w DOWNTOOLS`;\r\t\t\trowColumnLayout -e -w ($tmp+$raisefactor) DOWNTOOLS;\r\t\t\t$tmp = ($tmp-697)+$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 4 $tmp DOWNTOOLS;\r\t\t\r\t\t\t$windwidth=$windwidth+$raisefactor;\r\t\t\twindow -e -w $windwidth -h 558 melListWin;\r\t\t\t\r\t}\r\telse if($step==0)\r\t{\r\r\t\t\tint $tmp = `rowColumnLayout -q -w MBAR`;\r\t\t\trowColumnLayout -e -w ($tmp-$raisefactor) MBAR;\r\t\t\t$tmp = ($tmp-202)-$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 3 $tmp MBAR;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w MPaddressbar`;\r\t\t\trowColumnLayout -e -w ($tmp-$raisefactor) MPaddressbar;\r\t\t\t$tmp = ($tmp-75)-$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 1 $tmp MPaddressbar;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w DOWNTOOLS`;\r\t\t\trowColumnLayout -e -w ($tmp-$raisefactor) DOWNTOOLS;\r\t\t\t$tmp = ($tmp-697)-$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 4 $tmp DOWNTOOLS;\r\t\t\r\t\t\t$windwidth=$windwidth-$raisefactor;\r\t\t\twindow -e -w $windwidth -h 558 melListWin;\r\r\t\t\r\t}\r\t\r}\r\rproc MyProcLister(string $nextLine, int $posit)\r{\r\tstring $tl[];\r\t\r\t\r\t\tif (gmatch ($nextLine, \"* proc *\") == 1)\r\t\t{\r\t\t\t\t\t\t\r\t\t\ttokenizeList($nextLine, $tl);\t\r\t\t\tstring $exr;\r\t\t\tif(($tl[2]==\"int\") || ($tl[2]==\"string\") || ($tl[2]==\"float\") || ($tl[2]==\"vector\") || ($tl[2]==\"int[]\") || ($tl[2]==\"string[]\") || ($tl[2]==\"vector[]\") || ($tl[2]==\"float[]\"))\r\t\t\t\t$exr=$tl[3];\r\t\t\telse\r\t\t\t\t$exr=$tl[2];\r\r\t\t\tstring $tt = $exr;\r\t\t\t\r\t\t\twhile (\tendsWith($tt, \"(\") || endsWith($tt, \")\") || endsWith($tt, \"{\") || endsWith($tt, \"}\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\twhile (gmatch ($tt, \"*(*\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\ttextScrollList -e -a $tt exelist;\r\t\t\ttextScrollList -e -a $posit posilist;\r\t\t\t\r\t\t}\r\t\telse if (startsWith($nextLine, \"proc\") == 1)\r\t\t{\r\t\t\t\t\r\t\t\ttokenizeList($nextLine, $tl);\t\r\t\t\tstring $exr;\r\t\t\tif(($tl[1]==\"int\") || ($tl[1]==\"string\") || ($tl[1]==\"float\") || ($tl[1]==\"vector\") || ($tl[1]==\"int[]\") || ($tl[1]==\"string[]\") || ($tl[1]==\"vector[]\") || ($tl[1]==\"float[]\"))\r\t\t\t\t$exr=$tl[2];\r\t\t\telse\r\t\t\t\t$exr=$tl[1];\r\r\t\t\tstring $tt = $exr;\r\t\t\t\r\t\t\twhile (\tendsWith($tt, \"(\") || endsWith($tt, \")\") || endsWith($tt, \"{\") || endsWith($tt, \"}\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\twhile (gmatch ($tt, \"*(*\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\ttextScrollList -e -a $tt exelist;\r\t\t\ttextScrollList -e -a $posit posilist;\r\t\t\t\r\t\t}\r\t\t\r\t\t\r\t\t\tint $ttlx = `textScrollList -q -ni exelist`;\r\t\t\ttext -e -l (\"Available Procedure...............\" + $ttlx) Myavlproc;\r\t\t\r\t\t\r\t\r}\r\rproc MysaveScript(string $script)\r{\r\r\tstring $newScript = `scrollField -q -tx $script`;\r\r\tif( $newScript == \"\" )\r\t{\r\t\terror \"There is nothing to save.\";\r\t}\r\telse\r\t{\r\t\tfileBrowserDialog -m 1 -fc \"MysaveDir\" -ft \"mel\" -an \"Save As\" -om \"Reference\";\r\t\tglobal string $saveMelDir;\r\t\tstring $object;\r\t\tint $fileOut;\r\r \t\t$fileOut=`fopen $saveMelDir \"w\"`;\r\r\t\tif ($fileOut == 0)\r\t\t{\r\t\t\terror \"Location Invalid: Unable to write file\";\r\t\t}\r\r \t\tfprint $fileOut $newScript;\r\t \tfclose $fileOut;\r\r\t\tiprint (\"Save to ... \" + $saveMelDir);\r\t\t\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm==\"*\")\r\t{\r\t\t$lstm = `substring $mtr 1 ($ss-1)`;\r\t\ttext -e -l $lstm ttlsay;\r\t}\r\t\t\r\t}\r}\r\r\rproc Myquicksave()\r{\r\tglobal string $speedsave;\r\tstring $newScript = `scrollField -q -tx editField`;\r\r\tif( $newScript == \"\" )\r\t{\r\t\tiprint \"There is nothing to save.\";\r\t}\r\telse\r\t{\r\r\t\tif ($speedsave!=\"\")\r\t\t{\r\t\tstring $object;\r\t\tint $fileOut;\r\r \t\t$fileOut=`fopen $speedsave \"w\"`;\r\r\t\tif ($fileOut == 0)\r\t\t{\r\t\t\terror \"Location Invalid: Unable to write file\";\r\t\t}\r\r \t\tfprint $fileOut $newScript;\r\t \tfclose $fileOut;\r\r\t\tiprint (\"Save to .... \" + $speedsave);\r\t\t\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm==\"*\")\r\t{\r\t\t$lstm = `substring $mtr 1 ($ss-1)`;\r\t\ttext -e -l $lstm ttlsay;\r\t}\r\t\t\r\t\t\r\t\t\r\t}\r}\r\r}\r\rproc MysaveDir( string $filename, string $fileType )\r{\r\tglobal string $saveMelDir;\r\t$saveMelDir = $filename;\r}\r\rproc Mymellisterabout()\r{\r\tif (`window -ex mlstrabt`)\r\t\tdeleteUI mlstrabt;\r\r\r\twindow -title \"About MEL LISTER++ v1.5\" -s 0 -rtf 1 -mnb 1 -mxb 0 -w 695 -h 530 -menuBar 0 mlstrabt;\r\t\r\tcolumnLayout -adj 1;\r\ttext -l \"\";\r\ttext -align \"center\" -l \"MEL LISTER++ v1.5\";\r\ttext -l \"\";\r\tscrollField -h 300 -ed 0 -ww 1 -tx \"\\nScript by\\nKumaresan \\nJeremiah Grant\\n\\nSpecial Thanks to\\nBryan Ewert\\nErick Miller\\n\\nDate\\n15-4-2007 :: 27-4-2007\\n\\nLast Update: \\n13 (Sun) May 2007 - 08:14:49 AM \\n\\nContact\\nkaymatrix@gmail.com\\n\\nChennai - India\\n\" sayers;\r\ttext -l \"\";\r\tbutton -label \"Close\" -c \"deleteUI mlstrabt\";\r\tscrollField -q -h sayers;\t\r\twindow -e -w 300 -h 420 mlstrabt;\r\tshowWindow mlstrabt;\r}\r\rproc Mymelhelper()\r{\r\tconfirmDialog -title \"Help\" -message \"Please! Refer the HEADER part of this script for complete help!\" -button \"OK\";\r}\r\rmlPlus;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -doubleClickCommand "{\r\n\tdeleteUI -window showAttribInfoWindow;\r\n\tPMP_showXForm;\r\n}" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Print attribute connections for selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\r\nPMP.maya.connections.printAllConnections()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Connect attributes selected in channel box from first selected node to other selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnAttr" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\rPMP.maya.connections.makeSelectedAttrConnections()\r" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Animation.mel b/2009-x64/prefs/shelves/shelf_Animation.mel new file mode 100644 index 0000000..69ce7dc --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Animation.mel @@ -0,0 +1,623 @@ +global proc shelf_Animation () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set Key: Select object(s) to key" + -align "center" + -label "Set Key" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "setKeyframe.xpm" + -image1 "setKeyframe.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SetKey" + -sourceType "mel" + -doubleClickCommand "SetKeyOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach to Motion Path: Select object(s) to animate along a motion path, followed by the motion path curve" + -align "center" + -label "Attach to Motion Path" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "motionPath.xpm" + -image1 "motionPath.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachToPath" + -sourceType "mel" + -doubleClickCommand "AttachToPathOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set Motion Path Key: Select object to key a motion path" + -align "center" + -label "Set Motion Path Key" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "motionPathKey.xpm" + -image1 "motionPathKey.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SetKeyPath" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Motion Trail: Select object(s) to generate a motion trail over time" + -align "center" + -label "Motion Trail" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "motionTrail.xpm" + -image1 "motionTrail.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateMotionTrail" + -sourceType "mel" + -doubleClickCommand "CreateMotionTrailOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ghosting: Display ghosts for objects" + -align "center" + -label "Ghosting" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ghost.xpm" + -image1 "ghost.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "GhostObject" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "No Ghosting: Do not display ghosts for objects" + -align "center" + -label "No Ghosting" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ghostOff.xpm" + -image1 "ghostOff.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "UnghostObject" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Joint Tool: Click to place joint, click on existing joint to add to skeleton, click/drag to position joint" + -align "center" + -label "Joint Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinJoint.xpm" + -image1 "kinJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "JointTool" + -sourceType "mel" + -doubleClickCommand "JointToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "IK Handle Tool: Create IK handle on joint chain" + -align "center" + -label "IK Handle Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinHandle.xpm" + -image1 "kinHandle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IKHandleTool" + -sourceType "mel" + -doubleClickCommand "IKHandleToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connect Joint: Select two joints to connect" + -align "center" + -label "Connect Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinConnect.xpm" + -image1 "kinConnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ConnectJoint" + -sourceType "mel" + -doubleClickCommand "ConnectJointOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Disconnect Joint: Select a joint to disconnect" + -align "center" + -label "Disconnect Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinDisconnect.xpm" + -image1 "kinDisconnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DisconnectJoint" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reroot Skeleton: Select a joint to be the new root" + -align "center" + -label "Reroot Skeleton" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinReroot.xpm" + -image1 "kinReroot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RerootSkeleton" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Remove Joint: Select a joint to remove" + -align "center" + -label "Remove Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinRemove.xpm" + -image1 "kinRemove.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RemoveJoint" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror Joint: Select a joint to mirror" + -align "center" + -label "Mirror Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinMirrorJoint_S.xpm" + -image1 "kinMirrorJoint_S.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorJoint" + -sourceType "mel" + -doubleClickCommand "MirrorJointOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Orient Joint: Select a joint to orient" + -align "center" + -label "Orient Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "orientJoint.xpm" + -image1 "orientJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OrientJoint" + -sourceType "mel" + -doubleClickCommand "OrientJointOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "IK Spline Handle Tool: Create IK spline handle on joint chain" + -align "center" + -label "IK Spline Handle Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinSplineHandle.xpm" + -image1 "kinSplineHandle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IKSplineHandleTool" + -sourceType "mel" + -doubleClickCommand "IKSplineHandleToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smooth Bind: Smooth bind skin" + -align "center" + -label "Smooth Bind" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "smoothSkin.xpm" + -image1 "smoothSkin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SmoothBindSkin" + -sourceType "mel" + -doubleClickCommand "SmoothBindSkinOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror Skin Weights: Mirror skin weights" + -align "center" + -label "Mirror Skin Weights" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "mirrorSkinWeight.xpm" + -image1 "mirrorSkinWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorSkinWeights" + -sourceType "mel" + -doubleClickCommand "MirrorSkinWeightsOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Copy Skin Weights: Copy skin weights" + -align "center" + -label "Copy Skin Weights" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "copySkinWeight.xpm" + -image1 "copySkinWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CopySkinWeights" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Export Skin Weight Maps: Export skin weight maps" + -align "center" + -label "Export Skin Weight Maps" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "exportSmoothSkin.xpm" + -image1 "exportSmoothSkin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExportSkinWeightMaps" + -sourceType "mel" + -doubleClickCommand "ExportSkinWeightMapsOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Import Skin Weight Maps: Import skin weight maps" + -align "center" + -label "Import Skin Weight Maps" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "importSmoothSkin.xpm" + -image1 "importSmoothSkin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ImportSkinWeightMaps" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Skin Weights Tool: Paint weights on smooth bound skins" + -align "center" + -label "Paint Skin Weights Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintSkinWeights.xpm" + -image1 "paintSkinWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ArtPaintSkinWeightsTool" + -sourceType "mel" + -doubleClickCommand "ArtPaintSkinWeightsToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Locator: Create a locator object on the grid" + -align "center" + -label "Locator" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "locator.xpm" + -image1 "locator.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateLocator" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Point Constraint: Point constraint" + -align "center" + -label "Point Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posConstraint.xpm" + -image1 "posConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PointConstraint" + -sourceType "mel" + -doubleClickCommand "PointConstraintOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Aim Constraint: Aim constraint" + -align "center" + -label "Aim Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "aimConstraint.xpm" + -image1 "aimConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AimConstraint" + -sourceType "mel" + -doubleClickCommand "AimConstraintOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Orient Constraint: Orient constraint" + -align "center" + -label "Orient Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "orientConstraint.xpm" + -image1 "orientConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OrientConstraint" + -sourceType "mel" + -doubleClickCommand "OrientConstraintOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Parent Constraint: Parent constraint" + -align "center" + -label "Parent Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "parentConstraint.xpm" + -image1 "parentConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ParentConstraint" + -sourceType "mel" + -doubleClickCommand "ParentConstraintOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Curves.mel b/2009-x64/prefs/shelves/shelf_Curves.mel new file mode 100644 index 0000000..75f40fc --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Curves.mel @@ -0,0 +1,305 @@ +global proc shelf_Curves () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Circle: Create a NURBS circle on the grid" + -align "center" + -label "NURBS Circle" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "circle.xpm" + -image1 "circle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCircle" + -sourceType "mel" + -doubleClickCommand "CreateNURBSCircleOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Square: Create a NURBS square on the grid" + -align "center" + -label "NURBS Square" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "square.xpm" + -image1 "square.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSSquare" + -sourceType "mel" + -doubleClickCommand "CreateNURBSSquareOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "EP Curve Tool: Create a curve on the grid or live surface specifying edit points" + -align "center" + -label "EP Curve Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveEP.xpm" + -image1 "curveEP.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EPCurveTool" + -sourceType "mel" + -doubleClickCommand "EPCurveToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Pencil Curve Tool: Create a curve on the grid or live surface" + -align "center" + -label "Pencil Curve Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pencil.xpm" + -image1 "pencil.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PencilCurveTool" + -sourceType "mel" + -doubleClickCommand "PencilCurveToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Three Point Circular Arc: Create a circular arc on the grid specifying three points" + -align "center" + -label "Three Point Circular Arc" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "threePointArc.xpm" + -image1 "threePointArc.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ThreePointArcTool" + -sourceType "mel" + -doubleClickCommand "ThreePointArcToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach Curves: Select two curves" + -align "center" + -label "Attach Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "attachCurves.xpm" + -image1 "attachCurves.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachCurve" + -sourceType "mel" + -doubleClickCommand "AttachCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Detach Curves: Select curve parameter point(s)" + -align "center" + -label "Detach Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "detachCurve.xpm" + -image1 "detachCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DetachCurve" + -sourceType "mel" + -doubleClickCommand "DetachCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Insert Knot: Select curve parameter point(s)" + -align "center" + -label "Insert Knot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "insertKnot.xpm" + -image1 "insertKnot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InsertKnot" + -sourceType "mel" + -doubleClickCommand "InsertKnotOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extend Curve: Select curve(s) or curve on surface(s)" + -align "center" + -label "Extend Curve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "extend.xpm" + -image1 "extend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtendCurve" + -sourceType "mel" + -doubleClickCommand "ExtendCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Offset Curve: Select a curve, curve on surface, isoparm or trim edge" + -align "center" + -label "Offset Curve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "offsetCurve.xpm" + -image1 "offsetCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OffsetCurve" + -sourceType "mel" + -doubleClickCommand "OffsetCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rebuild Curve: Select curve(s) or curve on surface(s)" + -align "center" + -label "Rebuild Curve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rebuildCurve.xpm" + -image1 "rebuildCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RebuildCurve" + -sourceType "mel" + -doubleClickCommand "RebuildCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add Points Tool: Select the curve to add points" + -align "center" + -label "Add Points Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveAddPt.xpm" + -image1 "curveAddPt.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AddPointsTool" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Curve Editing Tool: Select a curve or curve on surface" + -align "center" + -label "Curve Editing Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveEditor.xpm" + -image1 "curveEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CurveEditTool" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Custom.mel b/2009-x64/prefs/shelves/shelf_Custom.mel new file mode 100644 index 0000000..146b887 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Custom.mel @@ -0,0 +1,8 @@ +global proc shelf_Custom () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + +} diff --git a/2009-x64/prefs/shelves/shelf_Deformation.mel b/2009-x64/prefs/shelves/shelf_Deformation.mel new file mode 100644 index 0000000..f837bdf --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Deformation.mel @@ -0,0 +1,261 @@ +global proc shelf_Deformation () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lattice: Create a lattice for the selected object(s)" + -align "center" + -label "Lattice" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lattice.xpm" + -image1 "lattice.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateLattice" + -sourceType "mel" + -doubleClickCommand "CreateLatticeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wrap: Select object(s), and then an influence object to wrap them with" + -align "center" + -label "Wrap" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "wrap.xpm" + -image1 "wrap.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateWrap" + -sourceType "mel" + -doubleClickCommand "CreateWrapOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Bend: Select object(s) to bend" + -align "center" + -label "Nonlinear Bend" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "bendNLD.xpm" + -image1 "bendNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Bend" + -sourceType "mel" + -doubleClickCommand "BendOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Flare: Select object(s) to flare" + -align "center" + -label "Nonlinear Flare" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flareNLD.xpm" + -image1 "flareNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Flare" + -sourceType "mel" + -doubleClickCommand "FlareOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Sine: Select object(s) to apply a sine deformation to" + -align "center" + -label "Nonlinear Sine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sineNLD.xpm" + -image1 "sineNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Sine" + -sourceType "mel" + -doubleClickCommand "SineOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Squash: Select object(s) to squash" + -align "center" + -label "Nonlinear Squash" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "squashNLD.xpm" + -image1 "squashNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Squash" + -sourceType "mel" + -doubleClickCommand "SquashOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Twist: Select object(s) to twist" + -align "center" + -label "Nonlinear Twist" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "twistNLD.xpm" + -image1 "twistNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Twist" + -sourceType "mel" + -doubleClickCommand "TwistOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Wave: Select object(s) to apply a wave deformation to" + -align "center" + -label "Nonlinear Wave" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "waveNLD.xpm" + -image1 "waveNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Wave" + -sourceType "mel" + -doubleClickCommand "WaveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Deformer: Select object(s) to sculpt" + -align "center" + -label "Sculpt Deformer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sculpt.xpm" + -image1 "sculpt.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSculptDeformer" + -sourceType "mel" + -doubleClickCommand "CreateSculptDeformerOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wire Tool: Select object(s) to deform, then select curve(s) to act as wire deformers" + -align "center" + -label "Wire Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "wire.xpm" + -image1 "wire.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "WireTool" + -sourceType "mel" + -doubleClickCommand "WireToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Blend Shape: Select two or more objects to blend between; Select the base shape last" + -align "center" + -label "Blend Shape" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "blendShape.xpm" + -image1 "blendShape.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateBlendShape" + -sourceType "mel" + -doubleClickCommand "CreateBlendShapeOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Dynamics.mel b/2009-x64/prefs/shelves/shelf_Dynamics.mel new file mode 100644 index 0000000..2f3002b --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Dynamics.mel @@ -0,0 +1,581 @@ +global proc shelf_Dynamics () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Emitter: Create an emitter on the grid or live object" + -align "center" + -label "Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posEmitter.xpm" + -image1 "posEmitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateEmitter" + -sourceType "mel" + -doubleClickCommand "CreateEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add Emitter: Select the object(s) to emit particles" + -align "center" + -label "Add Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "emitter.xpm" + -image1 "emitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EmitFromObject" + -sourceType "mel" + -doubleClickCommand "EmitFromObjectOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Collide: Select particle object, then select one geometry object to collide with" + -align "center" + -label "Make Collide" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "collision.xpm" + -image1 "collision.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakeCollide" + -sourceType "mel" + -doubleClickCommand "MakeCollideOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Air: Create an air field. Select objects to be affected by the field" + -align "center" + -label "Air" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posAir.xpm" + -image1 "posAir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Air" + -sourceType "mel" + -doubleClickCommand "AirOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Drag: Create a drag field. Select objects to be affected by the field" + -align "center" + -label "Drag" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posDrag.xpm" + -image1 "posDrag.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Drag" + -sourceType "mel" + -doubleClickCommand "DragOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Gravity: Create a gravity field. Select objects to be affected by the field" + -align "center" + -label "Gravity" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posGravity.xpm" + -image1 "posGravity.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Gravity" + -sourceType "mel" + -doubleClickCommand "GravityOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Newton: Create a newton field. Select objects to be affected by the field" + -align "center" + -label "Newton" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posNewton.xpm" + -image1 "posNewton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Newton" + -sourceType "mel" + -doubleClickCommand "NewtonOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Radial: Create a radial field. Select objects to be affected by the field" + -align "center" + -label "Radial" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posRadial.xpm" + -image1 "posRadial.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Radial" + -sourceType "mel" + -doubleClickCommand "RadialOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Turbulence: Create a turbulence field. Select objects to be affected by the field" + -align "center" + -label "Turbulence" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posTurbulence.xpm" + -image1 "posTurbulence.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Turbulence" + -sourceType "mel" + -doubleClickCommand "TurbulenceOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Uniform: Create a unform field. Select objects to be affected by the field" + -align "center" + -label "Uniform" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posUniform.xpm" + -image1 "posUniform.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Uniform" + -sourceType "mel" + -doubleClickCommand "UniformOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Vortex: Create a vortex field. Select objects to be affected by the field" + -align "center" + -label "Vortex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posVortex.xpm" + -image1 "posVortex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Vortex" + -sourceType "mel" + -doubleClickCommand "VortexOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Volume Axis: Create a volume axis field. Select objects to be affected by the field" + -align "center" + -label "Volume Axis" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posVolumeAxis.xpm" + -image1 "posVolumeAxis.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "VolumeAxis" + -sourceType "mel" + -doubleClickCommand "VolumeAxisOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Use Selected Object as Source of Field: Select field, then select object to be its source" + -align "center" + -label "Use Selected Object as Source of Field" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "menuIconFields.xpm" + -image1 "menuIconFields.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachSelectedAsSourceField" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Affect Selected Object(s): Select object(s) to be affected, then select field" + -align "center" + -label "Affect Selected Object(s)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "connectField.xpm" + -image1 "connectField.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AffectSelectedObject" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Active Rigid Body: Select geometry objects to create rigid bodies" + -align "center" + -label "Active Rigid Body" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rigid.xpm" + -image1 "rigid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateActiveRigidBody" + -sourceType "mel" + -doubleClickCommand "CreateActiveRigidBodyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Passive Rigid Body: Select geometry objects to create rigid bodies" + -align "center" + -label "Passive Rigid Body" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rigidPassive.xpm" + -image1 "rigidPassive.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePassiveRigidBody" + -sourceType "mel" + -doubleClickCommand "CreatePassiveRigidBodyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Constraint: Select rigid bodies to be constrained" + -align "center" + -label "Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "constraint.xpm" + -image1 "constraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateConstraint" + -sourceType "mel" + -doubleClickCommand "CreateConstraintOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fire: Create fire effect" + -align "center" + -label "Fire" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fire.xpm" + -image1 "fire.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Fire" + -sourceType "mel" + -doubleClickCommand "FireOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smoke: Create smoke effect" + -align "center" + -label "Smoke" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "smoke.xpm" + -image1 "smoke.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Smoke" + -sourceType "mel" + -doubleClickCommand "SmokeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fireworks: Create fireworks effect" + -align "center" + -label "Fireworks" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fireworks.xpm" + -image1 "fireworks.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Fireworks" + -sourceType "mel" + -doubleClickCommand "FireworksOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lightning: Create lightning effect" + -align "center" + -label "Lightning" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lightning.xpm" + -image1 "lightning.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Lightning" + -sourceType "mel" + -doubleClickCommand "LightningOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shatter: Create shatter effects" + -align "center" + -label "Shatter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "shatter.xpm" + -image1 "shatter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Shatter" + -sourceType "mel" + -doubleClickCommand "ShatterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Curve Flow: Create flow along curves" + -align "center" + -label "Curve Flow" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flow.xpm" + -image1 "flow.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CurveFlow" + -sourceType "mel" + -doubleClickCommand "CurveFlowOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Flow: Create flow along surfaces" + -align "center" + -label "Surface Flow" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flowSurface.xpm" + -image1 "flowSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SurfaceFlow" + -sourceType "mel" + -doubleClickCommand "SurfaceFlowOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Surface Flow: Delete flow along surfaces" + -align "center" + -label "Delete Surface Flow" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flowSurfaceDelete.xpm" + -image1 "flowSurfaceDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteSurfaceFlow" + -sourceType "mel" + -doubleClickCommand "DeleteSurfaceFlowOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Fluids.mel b/2009-x64/prefs/shelves/shelf_Fluids.mel new file mode 100644 index 0000000..99b3c7c --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Fluids.mel @@ -0,0 +1,416 @@ +global proc shelf_Fluids () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "3D Fluid Container: Create a 3D fluid container" + -align "center" + -label "3D Fluid Container" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate3D.xpm" + -image1 "fluidCreate3D.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create3DContainer" + -sourceType "mel" + -doubleClickCommand "Create3DContainerOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "2D Fluid Container: Create a 2D fluid container" + -align "center" + -label "2D Fluid Container" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate2D.xpm" + -image1 "fluidCreate2D.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create2DContainer" + -sourceType "mel" + -doubleClickCommand "Create2DContainerOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Fluids Tool: Paint fluid properties" + -align "center" + -label "Paint Fluids Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidPaint.xpm" + -image1 "fluidPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintFluidsTool" + -sourceType "mel" + -doubleClickCommand "PaintFluidsToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "3D Fluid Container with Emitter: Create an emitter and a 3D fluid container" + -align "center" + -label "3D Fluid Container with Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate3DEmitter.xpm" + -image1 "fluidCreate3DEmitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create3DContainerEmitter" + -sourceType "mel" + -doubleClickCommand "Create3DContainerEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "2D Fluid Container with Emitter: Create an emitter and a 2D fluid container" + -align "center" + -label "2D Fluid Container with Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate2DEmitter.xpm" + -image1 "fluidCreate2DEmitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create2DContainerEmitter" + -sourceType "mel" + -doubleClickCommand "Create2DContainerEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fluid Emitter: Create an emitter and attach it to a fluid shape" + -align "center" + -label "Fluid Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidEmitterAdd.xpm" + -image1 "fluidEmitterAdd.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FluidEmitter" + -sourceType "mel" + -doubleClickCommand "FluidEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ocean Material: Assign a new ocean material to the active objects" + -align "center" + -label "Ocean Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_oceanShader.xpm" + -image1 "render_oceanShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader oceanShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Emit Fluid from Object: Select a fluid and the emitting object(s)" + -align "center" + -label "Emit Fluid from Object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidObjectEmit.xpm" + -image1 "fluidObjectEmit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EmitFluidFromObject" + -sourceType "mel" + -doubleClickCommand "EmitFluidFromObjectOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extend Fluid Resolution: Extend fluid resolution, preserving contents and voxel size" + -align "center" + -label "Extend Fluid Resolution" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidExtend.xpm" + -image1 "fluidExtend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtendFluid" + -sourceType "mel" + -doubleClickCommand "ExtendFluidOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Edit Fluid Resolution: Modify fluid resolution, preserving contents" + -align "center" + -label "Edit Fluid Resolution" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidEditRes.xpm" + -image1 "fluidEditRes.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EditFluidResolution" + -sourceType "mel" + -doubleClickCommand "EditFluidResolutionOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Collide: Select fluid object(s) and geometry object(s) to collide" + -align "center" + -label "Make Collide" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCollide.xpm" + -image1 "fluidCollide.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakeFluidCollide" + -sourceType "mel" + -doubleClickCommand "MakeFluidCollideOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set Initial State: Set current state of fluid as its initial conditions" + -align "center" + -label "Set Initial State" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidInitialStateSet.xpm" + -image1 "fluidInitialStateSet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SetInitialState" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Clear Initial State: Remove previously set initial conditions" + -align "center" + -label "Clear Initial State" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidInitialStateClear.xpm" + -image1 "fluidInitialStateClear.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ClearInitialState" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Cache: Runup to create playback and render cache" + -align "center" + -label "Create Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheCreate.xpm" + -image1 "fluidCacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateFluidCache" + -sourceType "mel" + -doubleClickCommand "CreateFluidCacheOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Append to Cache: Append frame range to cache" + -align "center" + -label "Append to Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheAppend.xpm" + -image1 "fluidCacheAppend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AppendToFluidCache" + -sourceType "mel" + -doubleClickCommand "AppendToFluidCacheOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Truncate Cache: Truncate cache to current frame" + -align "center" + -label "Truncate Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheTruncate.xpm" + -image1 "fluidCacheTruncate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TruncateFluidCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Replace Cache Frame: Replace cache contents at current frame with current contents of fluid" + -align "center" + -label "Replace Cache Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheReplace.xpm" + -image1 "fluidCacheReplace.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReplaceFrameInCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Cache: Remove saved cache" + -align "center" + -label "Delete Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheDelete.xpm" + -image1 "fluidCacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteFluidCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Fur.mel b/2009-x64/prefs/shelves/shelf_Fur.mel new file mode 100644 index 0000000..08caf87 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Fur.mel @@ -0,0 +1,404 @@ +global proc shelf_Fur () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bear: Apply the bear fur preset to the selected object(s)" + -align "center" + -label "Bear" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furBear.xpm" + -image1 "furBear.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Bear;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bison: Apply the bison fur preset to the selected object(s)" + -align "center" + -label "Bison" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furBison.xpm" + -image1 "furBison.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Bison;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Calico Cat: Apply the calico cat fur preset to the selected object(s)" + -align "center" + -label "Calico Cat" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furCalicoCat.xpm" + -image1 "furCalicoCat.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset CalicoCat;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Dreadlocks: Apply the dreadlocks fur preset to the selected object(s)" + -align "center" + -label "Dreadlocks" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furDreadlocks.xpm" + -image1 "furDreadlocks.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Dreadlocks;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Duckling: Apply the duckling fur preset to the selected object(s)" + -align "center" + -label "Duckling" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furDuckling.xpm" + -image1 "furDuckling.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Duckling;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Gorilla: Apply the gorilla fur preset to the selected object(s)" + -align "center" + -label "Gorilla" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furGorilla.xpm" + -image1 "furGorilla.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Gorilla;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Grass: Apply the grass fur preset to the selected object(s)" + -align "center" + -label "Grass" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furGrass.xpm" + -image1 "furGrass.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Grass;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lion Mane: Apply the lion mane fur preset to the selected object(s)" + -align "center" + -label "Lion Mane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furLionMane.xpm" + -image1 "furLionMane.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset LionMane;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Llama: Apply the llama fur preset to the selected object(s)" + -align "center" + -label "Llama" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furLlama.xpm" + -image1 "furLlama.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Llama;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mouse: Apply the mouse fur preset to the selected object(s)" + -align "center" + -label "Mouse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furMouse.xpm" + -image1 "furMouse.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Mouse;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polar Bear: Apply the polar bear fur preset to the selected object(s)" + -align "center" + -label "Polar Bear" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furPolarBear.xpm" + -image1 "furPolarBear.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset PolarBear;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Porcupine: Apply the porcupine fur preset to the selected object(s)" + -align "center" + -label "Porcupine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furPorcupine.xpm" + -image1 "furPorcupine.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Porcupine;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Punk: Apply the punk fur preset to the selected object(s)" + -align "center" + -label "Punk" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furPunk.xpm" + -image1 "furPunk.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Punk;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Raccoon: Apply the raccoon fur preset to the selected object(s)" + -align "center" + -label "Raccoon" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furRaccoon.xpm" + -image1 "furRaccoon.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Raccoon;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sheep: Apply the sheep fur preset to the selected object(s)" + -align "center" + -label "Sheep" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furSheep.xpm" + -image1 "furSheep.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Sheep;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Squirrel: Apply the squirrel fur preset to the selected object(s)" + -align "center" + -label "Squirrel" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furSquirrel.xpm" + -image1 "furSquirrel.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Squirrel;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wet Labrador: Apply the wet labrador fur preset to the selected object(s)" + -align "center" + -label "Wet Labrador" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furWetLabrador.xpm" + -image1 "furWetLabrador.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset WetLabrador;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wet Otter: Apply the wet otter fur preset to the selected object(s)" + -align "center" + -label "Wet Otter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furWetOtter.xpm" + -image1 "furWetOtter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset WetOtter;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_General.mel b/2009-x64/prefs/shelves/shelf_General.mel new file mode 100644 index 0000000..fba1914 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_General.mel @@ -0,0 +1,412 @@ +global proc shelf_General () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Learning Movies: Shows movies demonstrating basic concepts" + -align "center" + -label "Learning Movies" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "LearningMovies.xpm" + -image1 "LearningMovies.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "mayaLearningMoviesPage" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Help" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "menuIconHelp.xpm" + -image1 "menuIconHelp.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "checkHelpPrefs `about -uiLanguage`" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Tumble Tool: Rotate the point of view around the centre of interest (Alt + LMB)" + -align "center" + -label "Tumble Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "tumble.xpm" + -image1 "tumble.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TumbleTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Track Tool: Track the camera (Alt + MMB)" + -align "center" + -label "Track Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "track.xpm" + -image1 "track.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TrackTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Dolly Tool: Move the camera in and out (Alt + RMB)" + -align "center" + -label "Dolly Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "dolly.xpm" + -image1 "dolly.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DollyTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Zoom Tool: Zoom the camera in and out" + -align "center" + -label "Zoom Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "boxZoom.xpm" + -image1 "boxZoom.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ZoomTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Undo: Undo the last action" + -align "center" + -label "Undo" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "undo.xpm" + -image1 "undo.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Undo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Redo: Redo the last undone action" + -align "center" + -label "Redo" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "redo.xpm" + -image1 "redo.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Redo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete: Delete the selected object(s)" + -align "center" + -label "Delete" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "deleteActive.xpm" + -image1 "deleteActive.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Delete" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Group: Group the selected object(s)" + -align "center" + -label "Group" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "group.xpm" + -image1 "group.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Group" + -sourceType "mel" + -doubleClickCommand "GroupOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ungroup: Ungroup the selected object(s)" + -align "center" + -label "Ungroup" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ungroup.xpm" + -image1 "ungroup.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Ungroup" + -sourceType "mel" + -doubleClickCommand "UngroupOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Parent: Parent the selected object(s) to the last selected object" + -align "center" + -label "Parent" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "parent.xpm" + -image1 "parent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Parent" + -sourceType "mel" + -doubleClickCommand "ParentOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Unparent: Unparent the selected object(s)" + -align "center" + -label "Unparent" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "unparent.xpm" + -image1 "unparent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Unparent" + -sourceType "mel" + -doubleClickCommand "UnparentOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Hypergraph: Display and edit relationships among nodes in your scene graphically" + -align "center" + -label "Hypergraph" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hypergraph.xpm" + -image1 "hypergraph.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "HypergraphWindow" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select by hierarchy and combinations" + -align "center" + -label "Select by Hierarchy" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "selectByHierarchy.xpm" + -image1 "selectByHierarchy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "changeSelectMode -hierarchical" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select by object type" + -align "center" + -label "Select by Object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "selectByObject.xpm" + -image1 "selectByObject.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "changeSelectMode -object" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select by component type" + -align "center" + -label "Select by Component" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "selectByComponent.xpm" + -image1 "selectByComponent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "changeSelectMode -component" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Selection Tool: Paint selection of CVs, vertices, faces, and edges" + -align "center" + -label "Paint Selection Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "artSelect.xpm" + -image1 "artSelect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ArtPaintSelectTool" + -sourceType "mel" + -doubleClickCommand "ArtPaintSelectToolOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Hair.mel b/2009-x64/prefs/shelves/shelf_Hair.mel new file mode 100644 index 0000000..2c235c8 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Hair.mel @@ -0,0 +1,560 @@ +global proc shelf_Hair () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Hair: Create hair options" + -align "center" + -label "Create Hair" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCreate.xpm" + -image1 "hairCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateHairOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint hair tool options" + -align "center" + -label "Paint Hair Tool Options" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairPaint.xpm" + -image1 "hairPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintHairTool 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Selected Curves Dynamic: Make selected curves dynamic" + -align "center" + -label "Make Selected Curves Dynamic" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDynamicCurves.xpm" + -image1 "hairDynamicCurves.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakeCurvesDynamic" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Interactive Playback: Allows interaction with objects during playback" + -align "center" + -label "Interactive Playback" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "interactivePlayback.xpm" + -image1 "interactivePlayback.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InteractivePlayback" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Current Position: Display current position curves or pfxHair for selected or all hair systems" + -align "center" + -label "Current Position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayCurrent.xpm" + -image1 "hairDisplayCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"current\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Start Position: Display start position curves for selected or all hair systems" + -align "center" + -label "Start Position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayStart.xpm" + -image1 "hairDisplayStart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"start\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rest Position: Display rest position curves for selected or all hair systems" + -align "center" + -label "Rest Position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayRest.xpm" + -image1 "hairDisplayRest.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"rest\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Hair Systems: Select hair system nodes related to current selection" + -align "center" + -label "To Hair Systems" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertHairSystem.xpm" + -image1 "hairConvertHairSystem.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"hairSystems\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Follicles: Select follicles related to current selection" + -align "center" + -label "To Follicles" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertFollicles.xpm" + -image1 "hairConvertFollicles.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"follicles\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Start Curves: Select start curves related to current selection" + -align "center" + -label "To Start Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertStart.xpm" + -image1 "hairConvertStart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"startCurves\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Rest Curves: Select rest curves related to current selection" + -align "center" + -label "To Rest Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertRest.xpm" + -image1 "hairConvertRest.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"restCurves\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Scale Hair Tool: Select hairs (directly or indirectly) then drag left and right to scale" + -align "center" + -label "Scale Hair Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairScaleTool.xpm" + -image1 "hairScaleTool.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "scaleHairCtx" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Start Curve End CVs: Select start curve end CVs related to current selection" + -align "center" + -label "To Start Curve End CVs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertStartEndCVs.xpm" + -image1 "hairConvertStartEndCVs.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"startCurveEndCvs\"\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Rest Curve End CVs: Select rest curve end CVs related to current selection" + -align "center" + -label "To Rest Curve End CVs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertRestEndCVs.xpm" + -image1 "hairConvertRestEndCVs.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"restCurveEndCvs\"\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collide Sphere: Create a collide sphere constraint for selected hairs" + -align "center" + -label "Collide Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCollideSphere.xpm" + -image1 "hairCollideSphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createHairConstraint 5" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collide Cube: Create a collide cube constraint for selected hairs" + -align "center" + -label "Collide Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCollideCube.xpm" + -image1 "hairCollideCube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createHairConstraint 6" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "From Current: Set start position to current position for selected hairs" + -align "center" + -label "From Current" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairStartFromCurrent.xpm" + -image1 "hairStartFromCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setSelectedHairCurves \"current\" \"start\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Current and Start: Display current and start position curves for selected or all hair systems" + -align "center" + -label "Current and Start" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayCurrentStart.xpm" + -image1 "hairDisplayCurrentStart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"currentAndStart\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "From Current: Set rest position to current position for selected hairs" + -align "center" + -label "From Current" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairRestFromCurrent.xpm" + -image1 "hairRestFromCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setSelectedHairCurves \"current\" \"rest\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Current and Rest: Display current and rest position curves for selected or all hair systems" + -align "center" + -label "Current and Rest" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayCurrentRest.xpm" + -image1 "hairDisplayCurrentRest.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"currentAndRest\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Cache: Create hair cache options" + -align "center" + -label "Create Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheCreate.xpm" + -image1 "hairCacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateHairCacheOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Append to Cache: Append to hair cache options" + -align "center" + -label "Append to Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheAppend.xpm" + -image1 "hairCacheAppend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AppendToHairCacheOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Truncate Cache: Truncate hair cache to current frame" + -align "center" + -label "Truncate Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheTruncate.xpm" + -image1 "hairCacheTruncate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TruncateHairCache" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Cache: Remove saved hair cache" + -align "center" + -label "Delete Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheDelete.xpm" + -image1 "hairCacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHairCache" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Muscle.mel b/2009-x64/prefs/shelves/shelf_Muscle.mel new file mode 100644 index 0000000..8dc6087 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Muscle.mel @@ -0,0 +1,1618 @@ +global proc shelf_Muscle () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Click to place joint. Click on existing joint to add to skeleton. Click-Drag to position joint." + -align "center" + -label "Joint Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinJoint.xpm" + -image1 "kinJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "JointTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the UI to create parametric muscles." + -align "center" + -label "Muscle Creator UI..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_creatorUI.xpm" + -image1 "cMuscle_muscle_creatorUI.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_cMuscleCreatorUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Converts selected objects to muscleObjects." + -align "center" + -label "Convert Surface to Muscle/Bone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_convertToMuscle.xpm" + -image1 "cMuscle_muscle_convertToMuscle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeMuscle(0); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new muscleObject Capsule." + -align "center" + -label "Make Capsule" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_makeCapsule.xpm" + -image1 "cMuscle_muscle_makeCapsule.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeCapsule(0); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new muscleObject Capsule that also is setup with an end locator." + -align "center" + -label "Make Capsule with End Locator" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_makeCapsuleAndLoc.xpm" + -image1 "cMuscle_muscle_makeCapsuleAndLoc.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeCapsule(0); cMuscle_makeEndLenReader(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets up selected muscleObjects to aim at a newly created locator. Also sets capsule length to be based on this distance." + -align "center" + -label "Add End Locator to Capsule" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_addCapsuleLoc.xpm" + -image1 "cMuscle_muscle_addCapsuleLoc.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeEndLenReader(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Generates polygon cylinders from selected capsules so that they can be rendered." + -align "center" + -label "Generate Polygon Cylinders from Capsules" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_capToPolyCyl.xpm" + -image1 "cMuscle_muscle_capToPolyCyl.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_capsuleToPolyCyl(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Deletes the jiggle cache for the selected muscleObjects." + -align "center" + -label "Delete Muscle Jiggle Cache..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_delJiggleCache.xpm" + -image1 "cMuscle_muscle_delJiggleCache.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMS_delJiggleCacheUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Checks to see if any muscleObject nodes are invalid and not connected, and if so, allow you to fix." + -align "center" + -label "Fix Invalid muscleObject nodes..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_fixInvalid.xpm" + -image1 "cMuscle_muscle_fixInvalid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cM_checkForInvalidMuscleObjects(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets up a master control to drive multiple muscle jiggle movers." + -align "center" + -label "Setup Master Muscle Control..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_setupMasterCtrl.xpm" + -image1 "cMuscle_muscle_setupMasterCtrl.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSetupMasterControl(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up a UI to build muscles and set their parameters." + -align "center" + -label "Muscle Builder UI..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_muscleBuilder.xpm" + -image1 "cMuscle_muscle_muscleBuilder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleBuilder(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Adjust basic muscle parameters." + -align "center" + -label "Set Muscle Parameters..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_muscleParams.xpm" + -image1 "cMuscle_muscle_muscleParams.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleBuilder(); tabLayout -e -selectTabIndex 4 bldTabs ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets up selected objects to be deformed by the muscleSpline deformer." + -align "center" + -label "Apply Muscle Spline Deformer..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_muscleSplineDef.xpm" + -image1 "cMuscle_muscle_muscleSplineDef.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSplineDeformerUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create custom muscle shaping based on length changes." + -align "center" + -label "Custom Muscle Shapes..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_muscleShapes.xpm" + -image1 "cMuscle_muscle_muscleShapes.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSplineDeformerShapeUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Resets the base pose for any objects deformed by a muscle spline deformer. Use if you want to reposition or reshape the default spline on the deformer." + -align "center" + -label "Reset Base Pose for Muscle Spline Deformer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_splineReset.xpm" + -image1 "cMuscle_muscle_splineReset.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMS_resetSplineDefBasePoseSel(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets up selected objects to be deformed by the muscleStretch deformer." + -align "center" + -label "Apply Muscle Stretch Deformer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_muscle_muscleStretchDef.xpm" + -image1 "cMuscle_muscle_muscleStretchDef.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_setupStretch(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Deforms selected item(s) with a Muscle System deformer." + -align "center" + -label "Apply Muscle System Skin Deformer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_apply.xpm" + -image1 "cMuscle_skin_apply.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeMuscleSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Convert an existing Maya skinCluster deformed object(s) to a Muscle System deformed object(s)." + -align "center" + -label "Convert Maya Skin to Muscle System" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_convert.xpm" + -image1 "cMuscle_skin_convert.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleConvertSkin(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Re-calculates relax data on the muscle system." + -align "center" + -label "Re-Initialize Setup Data on Muscle System" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_initRelax.xpm" + -image1 "cMuscle_skin_initRelax.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_prepareRelax(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets the muscleSystem to use calculated fat bind mode. Should be ran with base pose." + -align "center" + -label "Bind Fat on Muscle System" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_bindFat.xpm" + -image1 "cMuscle_skin_bindFat.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_bindFat(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Automatically fixes sticky weighted points that are outside the original muscle sticky bind range." + -align "center" + -label "Auto-Fix Invalid Sticky Bind Points" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_autoFixSticky.xpm" + -image1 "cMuscle_skin_autoFixSticky.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_fixStickyBindUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Automatically fixes selected Muscle System nodes that may have deleted muscles with empty indexes." + -align "center" + -label "Auto-Fix Deleted/Missing Muscles" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_autoFixMissingMus.xpm" + -image1 "cMuscle_skin_autoFixMissingMus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_fixDisconnectedUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Deletes history on the mesh but retains Muscle Objects." + -align "center" + -label "Safe Delete History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_safeDelHistory.xpm" + -image1 "cMuscle_skin_safeDelHistory.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_bake(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes all Muscle Objects connections from the selected Muscle System deformer." + -align "center" + -label "Disconnect all Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_disconnAllMus.xpm" + -image1 "cMuscle_skin_disconnAllMus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes all Muscle Direction connections from the selected Muscle System deformer." + -align "center" + -label "Disconnect all Muscle Directions" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_disconnAllDir.xpm" + -image1 "cMuscle_skin_disconnAllDir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectDirSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes all Muscle Displace connections from the selected Muscle System deformer." + -align "center" + -label "Disconnect all Muscle Displaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_disconnAllDisp.xpm" + -image1 "cMuscle_skin_disconnAllDisp.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectDisplaceSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes all Smart Collide connections from the selected Muscle System deformer." + -align "center" + -label "Disconnect all Smart Collides" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_disconnAllSmart.xpm" + -image1 "cMuscle_skin_disconnAllSmart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectSmartCollideSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Setup selected Muscle System deformed objects for Relative sticky deformation." + -align "center" + -label "Setup for Relative Sticky Deformation" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_setupRelative.xpm" + -image1 "cMuscle_skin_setupRelative.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_setupSelectedSystemsForRelative(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets the relative attribute on selected Muscle Objects to 0." + -align "center" + -label "Set selected Muscles/Bones as Not Relative" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_relativeOff.xpm" + -image1 "cMuscle_skin_relativeOff.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_markSelectedMuscleObjectsRelative(0); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets the relative attribute on selected Muscle Objects to 0." + -align "center" + -label "Set selected Muscles/Bones as Relative" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_relativeOn.xpm" + -image1 "cMuscle_skin_relativeOn.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_markSelectedMuscleObjectsRelative(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connects selected Muscle Object nodes to the selected Muscle System deformer." + -align "center" + -label "Connect selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_connMus.xpm" + -image1 "cMuscle_skin_connMus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_connectToSystem(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes selected Muscle Objects connections from the selected Muscle System deformer." + -align "center" + -label "Disconnect selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_disconnMus.xpm" + -image1 "cMuscle_skin_disconnMus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectSelMusclesFromSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Resets the muscle system base pose for any selected Muscle Object. Use If you want to reposition or reshape the default muscle/bone." + -align "center" + -label "Reset Base Pose for selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_resetBase.xpm" + -image1 "cMuscle_skin_resetBase.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_resetBindPose(0, 1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a Base object for any selected Muscle Object. You can use this to interactively reset the muscle or bones shapes." + -align "center" + -label "Create Base for selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_createBase.xpm" + -image1 "cMuscle_skin_createBase.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_resetBindPose(1, 1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Binds/Re-Binds all selected Muscles to all selected Muscle Systems for Stickyness." + -align "center" + -label "Re-Bind Sticky for selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_rebindSticky.xpm" + -image1 "cMuscle_skin_rebindSticky.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_bindStickySel(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Displays a sphere showing the influence a muscle can have with a default sticky bind distance." + -align "center" + -label "Visualize Sticky Bind Distance for selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_visSticky.xpm" + -image1 "cMuscle_skin_visSticky.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_visualizeStickyBindDistanceSel(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the Artisan paint weights for the selected Muscle System object." + -align "center" + -label "Paint Muscle Weights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_paint.xpm" + -image1 "cMuscle_skin_paint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMusclePaint(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the default weight dialog, which allows you to apply default weighting to the skin mesh." + -align "center" + -label "Apply Default Weights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_applyDefault.xpm" + -image1 "cMuscle_skin_applyDefault.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleWeightDefaultUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the Muscle System load/save weights tool." + -align "center" + -label "Load/Save Weights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_saveWeights.xpm" + -image1 "cMuscle_skin_saveWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSaveWeights(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the Muscle System mirror weights tool." + -align "center" + -label "Mirror Weights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_mirrorWts.xpm" + -image1 "cMuscle_skin_mirrorWts.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleMirrorWeights(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the Muscle System transfer weights tool." + -align "center" + -label "Transfer Weights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_transferWeights.xpm" + -image1 "cMuscle_skin_transferWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleTransferWeights(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Brings up the Muscle System prune weights tool." + -align "center" + -label "Prune Weights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_wtprune.xpm" + -image1 "cMuscle_skin_wtprune.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleWeightPruneUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new Muscle Direction object." + -align "center" + -label "Make Muscle Direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_makeDir.xpm" + -image1 "cMuscle_skin_makeDir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeDir(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connects selected Muscle Direction nodes to the selected Muscle System deformer." + -align "center" + -label "Connect selected Muscle Directions" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_connDir.xpm" + -image1 "cMuscle_skin_connDir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_connectDirToSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes selected Muscle Direction connections from the selected Muscle System deformer." + -align "center" + -label "Disconnect selected Muscle Directions" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_disconnDir.xpm" + -image1 "cMuscle_skin_disconnDir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectSelDirFromSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new Muscle Displace node for usage with geometry displacement." + -align "center" + -label "Create Muscle Displace" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_create.xpm" + -image1 "cMuscle_disp_create.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_createDisplaceUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connects selected Muscle Displace nodes to the selected Muscle System deformers." + -align "center" + -label "Connect selected Muscle Displace nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_connect.xpm" + -image1 "cMuscle_disp_connect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_connectDisplaceToSysUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes selected Muscle Displace connections from the selected Muscle System deformers." + -align "center" + -label "Disconnect selected Muscle Displace nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_disconnect.xpm" + -image1 "cMuscle_disp_disconnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectDisplaceFromSysUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connects selected NURBs Curves to the selected Muscle Displace nodes." + -align "center" + -label "Connect NURBs Curve to Muscle Displace" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_connectCurve.xpm" + -image1 "cMuscle_disp_connectCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_connectCurveToDisplaceUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes selected NURBs Curves connections from the selected Muscle Displace nodes." + -align "center" + -label "Disconnect NURBs Curve from Muscle Displace" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_disconnectCurve.xpm" + -image1 "cMuscle_disp_disconnectCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_disconnectCurveFromDisplaceUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new Muscle Displace and Muscle Shader network for usage with Maya displacement rendering." + -align "center" + -label "Create Maya Muscle Shader Network" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_mayaShader.xpm" + -image1 "cMuscle_disp_mayaShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_createShaderUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new Muscle Displace and mib_Muscle Shader network for usage with Mental Ray displacement rendering." + -align "center" + -label "Create Mental Ray mib_Muscle Shader Network" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_disp_mrShader.xpm" + -image1 "cMuscle_disp_mrShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_createMIBShaderUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a new Muscle SmartCollide for the two selected transforms." + -align "center" + -label "Create Muscle SmartCollide" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_smart_create.xpm" + -image1 "cMuscle_smart_create.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSmartCollide_setup(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connects selected Muscle SmartCollide nodes to the selected Muscle System deformers." + -align "center" + -label "Connect selected Muscle SmartCollide nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_smart_connect.xpm" + -image1 "cMuscle_smart_connect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSmartCollide_connectSCToSystem(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes selected Muscle SmartCollide connections from the selected Muscle System deformers." + -align "center" + -label "Disconnect selected Muscle SmartCollide nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_smart_disconnect.xpm" + -image1 "cMuscle_smart_disconnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSmartCollide_disconnectFromSys(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Deforms the selected objects for multi-object collision." + -align "center" + -label "Apply Muscle MultiCollide Deformer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_multi_apply.xpm" + -image1 "cMuscle_multi_apply.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleMultiCollide_setup(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rigs selected objects or controls for KeepOut ability." + -align "center" + -label "Rig selection for KeepOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_keepout_rig.xpm" + -image1 "cMuscle_keepout_rig.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_rigKeepOutSel(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connects selected muscles to selected keepOut nodes." + -align "center" + -label "Connect Muscles to KeepOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_keepout_connect.xpm" + -image1 "cMuscle_keepout_connect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_keepOutAddRemMuscle(1); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Removes selected muscles from selected keepOut nodes." + -align "center" + -label "Disconnect Muscles from KeepOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_keepout_disconnect.xpm" + -image1 "cMuscle_keepout_disconnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_keepOutAddRemMuscle(0); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets the cache path/file for the selected Muscle System deformed object." + -align "center" + -label "Set Location of File Cache..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_cacheFile.xpm" + -image1 "cMuscle_skin_cacheFile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_chooseCacheFile(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Generates the cache frame by frame for the selected Muscle System deformed objects." + -align "center" + -label "Create Cache..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_cacheCreate.xpm" + -image1 "cMuscle_skin_cacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_makeCacheUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Deletes the node-based cache for the selected Muscle System deformed objects." + -align "center" + -label "Delete Node Cache..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_cacheDelete.xpm" + -image1 "cMuscle_skin_cacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_deleteNodeCacheUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Deletes the per-point skin jiggle data for the selected Muscle System deformed objects." + -align "center" + -label "Delete Per-Point Skin Jiggle Cache..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_skin_cacheDeleteJiggle.xpm" + -image1 "cMuscle_skin_cacheDeleteJiggle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_deleteSkinJiggleCacheUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Selects connected muscleObjects from the selected muscleSystem node(s)." + -align "center" + -label "Select connected Muscle Objects from selected Muscle Systems" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_sel_musFromSys.xpm" + -image1 "cMuscle_sel_musFromSys.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_selMusclesFromSystem(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Selects connected muscleDirections from the selected muscleSystem node(s)." + -align "center" + -label "Select connected Muscle Directions from selected Muscle Systems" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_sel_dirFromSys.xpm" + -image1 "cMuscle_sel_dirFromSys.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_selDirFromSystem(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Selects connected muscleSystem nodes from the selected muscleObject(s)." + -align "center" + -label "Select connected Muscle Systems from selected Muscle Objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_sel_sysFromMus.xpm" + -image1 "cMuscle_sel_sysFromMus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_selSystemFromMuscles(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Selects connected muscleSystem nodes from the selected muscleDirection(s)." + -align "center" + -label "Select connected Muscle Systems from Muscle Directons" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_sel_sysFromDir.xpm" + -image1 "cMuscle_sel_sysFromDir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_selSystemFromDir(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a Muscle Spline based rig." + -align "center" + -label "Create Muscle Spline..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_bonus_spline.xpm" + -image1 "cMuscle_bonus_spline.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSplineUI(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Creates a locator attached to the surface of an object." + -align "center" + -label "Surface Attach" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_bonus_surfAttach.xpm" + -image1 "cMuscle_bonus_surfAttach.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscleSurfAttachSetup(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sets up selected Muscle SurfAttach nodes in the scene to be tied to the original mesh shape, so that applying polySmooth will not alter the surfAttach." + -align "center" + -label "Fix Surface Attach to allow for PolySmooth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cMuscle_bonus_surfAttachFix.xpm" + -image1 "cMuscle_bonus_surfAttachFix.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMuscle_fixSurfAttachForPolySmooth(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaintEffects.mel b/2009-x64/prefs/shelves/shelf_PaintEffects.mel new file mode 100644 index 0000000..0f0c87a --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaintEffects.mel @@ -0,0 +1,997 @@ +global proc shelf_PaintEffects () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects Tool: Draw strokes on paintable surfaces or the ground plane" + -align "center" + -label "Paint Effects Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintEffectsTool.xpm" + -image1 "paintEffectsTool.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Paintable: Make the selected surface(s) paintable, and other surfaces not paintable" + -align "center" + -label "Make Paintable" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "makePaintable.xpm" + -image1 "makePaintable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakePaintable" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Get Brush: Select a Paint Effects brush from a folder in the Visor" + -align "center" + -label "Get Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintEffectsBrushesLarge.xpm" + -image1 "paintEffectsBrushesLarge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{VisorWindow;string $pnl=visorPanelName();if(size($pnl)>0) visorPanelMenuCommand( $pnl, \"selectOrCreateTabByLabel Paint Effects\");}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Template Brush Settings: Edit the brush settings which will be applied to subsequent strokes" + -align "center" + -label "Template Brush Settings" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "templateBrushSettings.xpm" + -image1 "templateBrushSettings.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TemplateBrushSettings" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects to Polygons: Paint Effects to polygons" + -align "center" + -label "Paint Effects to Polygons" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintFXtoPoly.xpm" + -image1 "paintFXtoPoly.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToPoly" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects to Curves: Paint Effects to curve" + -align "center" + -label "Paint Effects to Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintFXtoCurve.xpm" + -image1 "paintFXtoCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToCurve" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects to NURBS: Paint Effects to NURBS" + -align "center" + -label "Paint Effects to NURBS" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintFXtoNurbs.xpm" + -image1 "paintFXtoNurbs.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToNurbs" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Teapot Brush: Select teapot brush for painting" + -align "center" + -label "Teapot Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "teapot.xpm" + -image1 "teapot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.895; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 1; bPset \"brushType\" 5; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 12.8096; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.809920013; bPset \"color1G\" 0.7985452414; bPset \"color1B\" 0.7888621092; bPset \"color2R\" 0.8429800272; bPset \"color2G\" 0.8264141679; bPset \"color2B\" 0.8210625648; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.9471866488; bPset \"specularColorB\" 0.7279999852; bPset \"specular\" 0.6; bPset \"specularPower\" 206.71; bPset \"translucence\" 0.3; bPset \"glow\" 0; bPset \"glowColorR\" 0.5333333611; bPset \"glowColorG\" 0.5333333611; bPset \"glowColorB\" 0.5333333611; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.6504; bPset \"realLights\" 1; bPset \"lightDirectionX\" -0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.07; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.4; bPset \"lengthMin\" 0.4; bPset \"segments\" 66; bPset \"tubeWidth1\" 0.5; bPset \"tubeWidth2\" 0.5; bPset \"widthRand\" 0; bPset \"widthBias\" -0.262; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 1; bPset \"elevationMax\" 1; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" -0.2562; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 7.7661; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 1.26698; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 5; bPset \"splitRand\" 0.17476; bPset \"splitAngle\" 26.214; bPset \"splitSizeDecay\" 0.6602; bPset \"splitBias\" 0.00972; bPset \"splitTwist\" 0.02912; bPset \"startBranches\" 0; bPset \"numBranches\" 1; bPset \"branchDropout\" 0.26214; bPset \"middleBranch\" 1; bPset \"minSize\" 0; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0.204; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.004; bPset \"turbulenceFrequency\" 0.2233; bPset \"turbulenceSpeed\" 0.2233; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" -0.1; bPset \"deflectionMax\" 0.09708; bPset \"twigsInCluster\" 3; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 129.42; bPset \"twigAngle2\" 55.923; bPset \"twigTwist\" 0.3204; bPset \"twigLength\" 0.5786; bPset \"twigStart\" 0.30578; bPset \"numTwigClusters\" 1; bPset \"twigBaseWidth\" 0.04958; bPset \"twigTipWidth\" 0.42976; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 1; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 59.505; bPset \"leafAngle2\" 65.454; bPset \"leafTwist\" 0; bPset \"leafBend\" -0.7; bPset \"leafCurl[0].leafCurl_Position\" 0.3357142806; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 1; bPset \"leafSegments\" 16; bPset \"leafStart\" 0.52066; bPset \"numLeafClusters\" 1; bPset \"leafFlatness\" -0.01156; bPset \"leafLength\" 0.103611; bPset \"leafBaseWidth\" 0.1405; bPset \"leafTipWidth\" 0.0909; bPset \"leafSizeDecay\" 0.807; bPset \"leafTranslucence\" 0.3; bPset \"leafSpecular\" 0.6; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.768599987; bPset \"leafColor1G\" 0.768599987; bPset \"leafColor1B\" 0.768599987; bPset \"leafColor2R\" 0.7603399754; bPset \"leafColor2G\" 0.7603399754; bPset \"leafColor2B\" 0.7603399754; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" -58.014; bPset \"flowerAngle2\" -60.99; bPset \"flowerTwist\" 0; bPset \"petalBend\" -3.3884; bPset \"petalCurl[0].petalCurl_Position\" 0.1142857149; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 23; bPset \"flowerStart\" 0.6033; bPset \"numFlowers\" 1; bPset \"petalFlatness\" 0.33058; bPset \"petalLength\" 0.36364; bPset \"petalBaseWidth\" 0.07438; bPset \"petalTipWidth\" 0.0909; bPset \"flowerSizeDecay\" 1; bPset \"flowerTranslucence\" 0.3; bPset \"flowerSpecular\" 0.6033; bPset \"petalColor1R\" 0.8016600013; bPset \"petalColor1G\" 0.8016600013; bPset \"petalColor1B\" 0.8016600013; bPset \"petalColor2R\" 0.793380022; bPset \"petalColor2G\" 0.793380022; bPset \"petalColor2B\" 0.793380022; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 1; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 1; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 0.04132; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 0.90908; bPset \"bumpBlur\" 1.47108; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.3966; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.9256; bPset \"smear\" 0.20326; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.52066; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 30; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 0.001000000047; bPset \"widthScale[0].widthScale_Interp\" 3; bPset \"widthScale[1].widthScale_Position\" 0.8500000238; bPset \"widthScale[1].widthScale_FloatValue\" 0.3199999928; bPset \"widthScale[1].widthScale_Interp\" 3; bPset \"widthScale[2].widthScale_Position\" 0.7571428418; bPset \"widthScale[2].widthScale_FloatValue\" 0.5400000215; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0.4071428478; bPset \"widthScale[3].widthScale_FloatValue\" 0.8600000143; bPset \"widthScale[3].widthScale_Interp\" 3; bPset \"widthScale[4].widthScale_Position\" 0.09285714477; bPset \"widthScale[4].widthScale_FloatValue\" 0.7799999714; bPset \"widthScale[4].widthScale_Interp\" 3; bPset \"widthScale[5].widthScale_Position\" 1; bPset \"widthScale[5].widthScale_FloatValue\" 0.003000000026; bPset \"widthScale[5].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 0.7285714149; bPset \"widthScale[6].widthScale_FloatValue\" 0.4199999869; bPset \"widthScale[6].widthScale_Interp\" 1; bPset \"widthScale[7].widthScale_Position\" 0.7214285731; bPset \"widthScale[7].widthScale_FloatValue\" 0.5600000024; bPset \"widthScale[7].widthScale_Interp\" 1; bPset \"widthScale[8].widthScale_Position\" 0.8785714507; bPset \"widthScale[8].widthScale_FloatValue\" 0.07999999821; bPset \"widthScale[8].widthScale_Interp\" 3; bPset \"widthScale[9].widthScale_Position\" 0.9357143044; bPset \"widthScale[9].widthScale_FloatValue\" 0.1400000006; bPset \"widthScale[9].widthScale_Interp\" 3; bPset \"widthScale[10].widthScale_Position\" 0.9785714149; bPset \"widthScale[10].widthScale_FloatValue\" 0.1800000072; bPset \"widthScale[10].widthScale_Interp\" 3; bPset \"widthScale[11].widthScale_Position\" 0.02857142873; bPset \"widthScale[11].widthScale_FloatValue\" 0.4600000083; bPset \"widthScale[11].widthScale_Interp\" 3; bPset \"widthScale[12].widthScale_Position\" 0.6857143044; bPset \"widthScale[12].widthScale_FloatValue\" 0.6000000238; bPset \"widthScale[12].widthScale_Interp\" 3; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 3; bPset \"leafWidthScale[1].leafWidthScale_Position\" 0.6000000238; bPset \"leafWidthScale[1].leafWidthScale_FloatValue\" 0.7400000095; bPset \"leafWidthScale[1].leafWidthScale_Interp\" 3; bPset \"leafWidthScale[2].leafWidthScale_Position\" 1; bPset \"leafWidthScale[2].leafWidthScale_FloatValue\" 0.5; bPset \"leafWidthScale[2].leafWidthScale_Interp\" 1; bPset \"leafWidthScale[3].leafWidthScale_Position\" 0.9714285731; bPset \"leafWidthScale[3].leafWidthScale_FloatValue\" 0.6600000262; bPset \"leafWidthScale[3].leafWidthScale_Interp\" 1; bPset \"leafWidthScale[4].leafWidthScale_Position\" 0.2285714298; bPset \"leafWidthScale[4].leafWidthScale_FloatValue\" 0.8999999762; bPset \"leafWidthScale[4].leafWidthScale_Interp\" 3; bPset \"leafWidthScale[5].leafWidthScale_Position\" 0.8071428537; bPset \"leafWidthScale[5].leafWidthScale_FloatValue\" 0.6999999881; bPset \"leafWidthScale[5].leafWidthScale_Interp\" 3; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[1].petalWidthScale_Position\" 0; bPset \"petalWidthScale[1].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[1].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[2].petalWidthScale_Position\" 0; bPset \"petalWidthScale[2].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[2].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[3].petalWidthScale_Position\" 0; bPset \"petalWidthScale[3].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[3].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[4].petalWidthScale_Position\" 0; bPset \"petalWidthScale[4].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[4].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[5].petalWidthScale_Position\" 0; bPset \"petalWidthScale[5].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[5].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[6].petalWidthScale_Position\" 0.2642857134; bPset \"petalWidthScale[6].petalWidthScale_FloatValue\" 0.5400000215; bPset \"petalWidthScale[6].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[7].petalWidthScale_Position\" 0.821428597; bPset \"petalWidthScale[7].petalWidthScale_FloatValue\" 0.6999999881; bPset \"petalWidthScale[7].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[8].petalWidthScale_Position\" 0.04285714403; bPset \"petalWidthScale[8].petalWidthScale_FloatValue\" 0.8199999928; bPset \"petalWidthScale[8].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[9].petalWidthScale_Position\" 1; bPset \"petalWidthScale[9].petalWidthScale_FloatValue\" 0.8600000143; bPset \"petalWidthScale[9].petalWidthScale_Interp\" 1; bPset \"petalWidthScale[10].petalWidthScale_Position\" 0.9214285612; bPset \"petalWidthScale[10].petalWidthScale_FloatValue\" 0.9399999976; bPset \"petalWidthScale[10].petalWidthScale_Interp\" 3; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 100; bPset \"thornLength\" 0.281; bPset \"thornBaseWidth\" 0.140496; bPset \"thornTipWidth\" 0.008264; bPset \"thornElevation\" 1.00828; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0; bPset \"environment[0].environment_ColorR\" 0.3714480102; bPset \"environment[0].environment_ColorG\" 0.40200001; bPset \"environment[0].environment_ColorB\" 0.3734593391; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.5285714269; bPset \"environment[1].environment_ColorR\" 0.7280920148; bPset \"environment[1].environment_ColorG\" 0.7395167351; bPset \"environment[1].environment_ColorB\" 0.7639999986; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 1; bPset \"environment[2].environment_ColorR\" 0.4001069963; bPset \"environment[2].environment_ColorG\" 0.4425171018; bPset \"environment[2].environment_ColorB\" 0.5910000205; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.5; bPset \"environment[3].environment_ColorR\" 0.2255149931; bPset \"environment[3].environment_ColorG\" 0.2326551974; bPset \"environment[3].environment_ColorB\" 0.2649999857; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0.3285714388; bPset \"environment[4].environment_ColorR\" 0.5432050228; bPset \"environment[4].environment_ColorG\" 0.6387984753; bPset \"environment[4].environment_ColorB\" 0.6850000024; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0; bPset \"environment[5].environment_ColorR\" 0; bPset \"environment[5].environment_ColorG\" 0; bPset \"environment[5].environment_ColorB\" 0; bPset \"environment[5].environment_Interp\" 0; bPset \"environment[6].environment_Position\" 0.7142857313; bPset \"environment[6].environment_ColorR\" 0.5976179838; bPset \"environment[6].environment_ColorG\" 0.6764085889; bPset \"environment[6].environment_ColorB\" 0.7139999866; bPset \"environment[6].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.1599999964; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 3; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.1571428627; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 3; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.5214285851; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.4799999893; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 3; bPset \"branchReflectivity\" 0.56198; bPset \"leafReflectivity\" 0.56198; bPset \"flowerReflectivity\" 0.55176; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 0; \nbPsetName \"imageName\" \"wrapBark.iff\";\nbPsetName \"leafImage\" \"sideleaf.rgb\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.5854 1;\npresetSetPressure 2 0 0 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) teapot;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "New Curly Hair Brush: Select new curly hair brush for painting" + -align "center" + -label "New Curly Hair Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "newCurlyHair.xpm" + -image1 "newCurlyHair.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.462; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 4; bPset \"brushWidth\" 0.305824; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.11382; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.4380199909; bPset \"color1G\" 0.3737154603; bPset \"color1B\" 0.2303218246; bPset \"color2R\" 0.7520599961; bPset \"color2G\" 0.7317340374; bPset \"color2B\" 0.5555758476; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9683827758; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.7944205403; bPset \"specular\" 0.49514; bPset \"specularPower\" 14.022; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.01626; bPset \"satRand\" 0.08738; bPset \"valRand\" 0.2136; bPset \"rootFade\" 0; bPset \"tipFade\" 0.3398; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.26214; bPset \"brightnessRand\" 0.69902; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.74758; bPset \"depthShadowDepth\" 0.25242; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 1; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 1.405; bPset \"tubeRand\" 0.41748; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.5; bPset \"lengthMin\" 1.5; bPset \"segments\" 47; bPset \"tubeWidth1\" 0.003; bPset \"tubeWidth2\" 0.0015; bPset \"widthRand\" 0.29126; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.23578; bPset \"segmentLengthBias\" 0.02912; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.6602; bPset \"elevationMax\" 0.70874; bPset \"azimuthMin\" -0.05000000075; bPset \"azimuthMax\" 0.05000000075; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 1; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 3; bPset \"wiggleOffset\" 0; bPset \"curl\" 4; bPset \"curlFrequency\" 4; bPset \"curlOffset\" 0; bPset \"noise\" 0.09756; bPset \"noiseFrequency\" 0.50412; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.01652; bPset \"pathAttract\" 0.05; bPset \"curveFollow\" 1; bPset \"curveAttract\" 1; bPset \"curveMaxDist\" 0.8738; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.03884; bPset \"turbulenceFrequency\" 0.4369; bPset \"turbulenceSpeed\" 0.36894; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.4466; bPset \"momentum\" 1; bPset \"deflection\" 1; bPset \"deflectionMin\" 0.04; bPset \"deflectionMax\" 0.09708; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"leafSpecular\" 0.49514; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"flowerSpecular\" 0.49514; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 1; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 1; bPset \"bumpBlur\" 0.5; bPset \"luminanceIsDisplacement\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 60; bPset \"multiStreakSpread1\" 0.33058; bPset \"multiStreakSpread2\" 0.01652; bPset \"multiStreakDiffuseRand\" 0.17356; bPset \"multiStreakSpecularRand\" 0.66116; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 17; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 1; bPset \"widthScale[0].widthScale_Interp\" 1; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 10; bPset \"thornLength\" 0.5; bPset \"thornBaseWidth\" 0.05; bPset \"thornTipWidth\" 0.01; bPset \"thornElevation\" 0.6; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0.200000003; bPset \"environment[0].environment_ColorR\" 0; bPset \"environment[0].environment_ColorG\" 0; bPset \"environment[0].environment_ColorB\" 0.150000006; bPset \"environment[0].environment_Interp\" 1; bPset \"environment[1].environment_Position\" 0.5; bPset \"environment[1].environment_ColorR\" 0.4799999893; bPset \"environment[1].environment_ColorG\" 0.5500000119; bPset \"environment[1].environment_ColorB\" 0.6999999881; bPset \"environment[1].environment_Interp\" 1; bPset \"environment[2].environment_Position\" 1; bPset \"environment[2].environment_ColorR\" 0; bPset \"environment[2].environment_ColorG\" 0.1000000015; bPset \"environment[2].environment_ColorB\" 0.4499999881; bPset \"environment[2].environment_Interp\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 0; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 0; \nbPsetName \"imageName\" \"\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.2602 1;\npresetSetPressure 2 0 0.3008 1;\npresetSetPressure 3 0 0.7967 1;\nrename (getDefaultBrush()) newCurlyHair;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Bubbles Brush: Select surface bubbles brush for painting" + -align "center" + -label "Surface Bubbles Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "surfaceBubbles.xpm" + -image1 "surfaceBubbles.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.8446; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.262136; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 6; bPset \"softness\" -0.26212; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.6901960969; bPset \"color1G\" 0.6901960969; bPset \"color1B\" 0.6901960969; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.8745098114; bPset \"transparency1G\" 0.8745098114; bPset \"transparency1B\" 0.8745098114; bPset \"transparency2R\" 0.9529411793; bPset \"transparency2G\" 0.9529411793; bPset \"transparency2B\" 0.9529411793; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9991083145; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.9499999881; bPset \"specular\" 3.9741; bPset \"specularPower\" 20; bPset \"translucence\" 0; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.24272; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 2.33; bPset \"tubeRand\" 0.3398; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.035; bPset \"lengthMin\" 0.035; bPset \"segments\" 7; bPset \"tubeWidth1\" 0.08; bPset \"tubeWidth2\" 0.08; bPset \"widthRand\" 0.49514; bPset \"widthBias\" -0.72816; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 1; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.79612; bPset \"elevationMax\" 0.96116; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"leafSpecular\" 0; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"flowerSpecular\" 0; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 1; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 1; bPset \"bumpBlur\" 0.95144; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 1.200000048; bPset \"texColor1G\" 1.200000048; bPset \"texColor1B\" 1.200000048; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 6.2139; bPset \"repeatV\" 0.58256; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.48544; bPset \"smear\" 0.02912; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 19; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[2].widthScale_Position\" 0.9714285731; bPset \"widthScale[2].widthScale_FloatValue\" 0.2399999946; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0; bPset \"widthScale[3].widthScale_FloatValue\" 1; bPset \"widthScale[3].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 0.400000006; bPset \"widthScale[6].widthScale_FloatValue\" 0.8600000143; bPset \"widthScale[6].widthScale_Interp\" 3; bPset \"widthScale[7].widthScale_Position\" 0.7428571582; bPset \"widthScale[7].widthScale_FloatValue\" 0.6399999857; bPset \"widthScale[7].widthScale_Interp\" 3; bPset \"widthScale[8].widthScale_Position\" 1; bPset \"widthScale[8].widthScale_FloatValue\" 0; bPset \"widthScale[8].widthScale_Interp\" 3; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 19.418; bPset \"thornLength\" 1.068; bPset \"thornBaseWidth\" 0.5; bPset \"thornTipWidth\" 0; bPset \"thornElevation\" 1.1262; bPset \"thornSpecular\" 0; bPset \"thornBaseColorR\" 0.04333353043; bPset \"thornBaseColorG\" 0; bPset \"thornBaseColorB\" 1; bPset \"thornTipColorR\" 0.8417564631; bPset \"thornTipColorG\" 0.8090000153; bPset \"thornTipColorB\" 1; bPset \"environment[0].environment_Position\" 0.4857142866; bPset \"environment[0].environment_ColorR\" 0.0564067848; bPset \"environment[0].environment_ColorG\" 0.04193399847; bPset \"environment[0].environment_ColorB\" 0.05799999833; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.4928571284; bPset \"environment[1].environment_ColorR\" 0.6999999881; bPset \"environment[1].environment_ColorG\" 0.6602364779; bPset \"environment[1].environment_ColorB\" 0.6559000015; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.75; bPset \"environment[2].environment_ColorR\" 0.4152960181; bPset \"environment[2].environment_ColorG\" 0.4389799833; bPset \"environment[2].environment_ColorB\" 0.5040000081; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.25; bPset \"environment[3].environment_ColorR\" 0.2360000014; bPset \"environment[3].environment_ColorG\" 0.1718080044; bPset \"environment[3].environment_ColorB\" 0.176119566; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0; bPset \"environment[4].environment_ColorR\" 0.7129999995; bPset \"environment[4].environment_ColorG\" 0.710567832; bPset \"environment[4].environment_ColorB\" 0.5625570416; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0.8642857075; bPset \"environment[5].environment_ColorR\" 0.4944959581; bPset \"environment[5].environment_ColorG\" 0.5175463557; bPset \"environment[5].environment_ColorB\" 0.6119999886; bPset \"environment[5].environment_Interp\" 2; bPset \"environment[6].environment_Position\" 1; bPset \"environment[6].environment_ColorR\" 0.4543389976; bPset \"environment[6].environment_ColorG\" 0.4864760041; bPset \"environment[6].environment_ColorB\" 0.5237470269; bPset \"environment[6].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.2399999946; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.5500000119; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 0.6200000048; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.2857142985; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.9399999976; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 1.7864; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 0; \nbPsetName \"imageName\" \"copperPipe.iff\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 2 0.4309 1;\npresetSetPressure 2 0 0.2764 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) surfaceBubbles;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Crystals Brush: Select crystals brush for painting" + -align "center" + -label "Crystals Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "crystals.xpm" + -image1 "crystals.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.542; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.4896; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 8; bPset \"softness\" -0.38844; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.0934855938; bPset \"color1G\" 0.2028057426; bPset \"color1B\" 0.2313999981; bPset \"color2R\" 0.4876568317; bPset \"color2G\" 0.3517401516; bPset \"color2B\" 0.57852; bPset \"transparency1R\" 0.01394399814; bPset \"transparency1G\" 0.03882077709; bPset \"transparency1B\" 0.248999998; bPset \"transparency2R\" 0.05367100239; bPset \"transparency2G\" 0.0632153675; bPset \"transparency2B\" 0.1909999996; bPset \"incandescence1R\" 0.1494079977; bPset \"incandescence1G\" 0.3122197986; bPset \"incandescence1B\" 0.3219999969; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0.99174; bPset \"specularPower\" 13.3884; bPset \"translucence\" 0.32232; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.15702; bPset \"satRand\" 0.18182; bPset \"valRand\" 0.59504; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.57852; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.15702; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 3.5538; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.8264; bPset \"lengthMin\" 0.1; bPset \"segments\" 10; bPset \"tubeWidth1\" 0.13573; bPset \"tubeWidth2\" 0.130522; bPset \"widthRand\" 0.41322; bPset \"widthBias\" -0.05784; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.7686; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.01652; bPset \"elevationMax\" 1; bPset \"azimuthMin\" -1; bPset \"azimuthMax\" 1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 3; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0.79338; bPset \"leafAngle1\" 0; bPset \"leafAngle2\" 0; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0.5; bPset \"leafSegments\" 1; bPset \"leafStart\" 1; bPset \"numLeafClusters\" 1; bPset \"leafFlatness\" 0; bPset \"leafLength\" 0.81322; bPset \"leafBaseWidth\" 0.0248; bPset \"leafTipWidth\" 0.01652; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0; bPset \"leafSpecular\" 0.9091; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.3140400052; bPset \"leafColor1G\" 0.3140400052; bPset \"leafColor1B\" 0.3140400052; bPset \"leafColor2R\" 0.5510475636; bPset \"leafColor2G\" 0.6528999805; bPset \"leafColor2B\" 0.619713068; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0.3967; bPset \"leafUseBranchTex\" 0; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"flowerSpecular\" 0; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.30578; bPset \"texOpacityOffset\" 0.0909; bPset \"displacementScale\" 0; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 0.11572; bPset \"bumpBlur\" 2.1818; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.008259999566; bPset \"texColor2G\" 0.005790259689; bPset \"texColor2B\" 0.00583965471; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1.73552; bPset \"repeatV\" 2.27272; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.41324; bPset \"smear\" 0.22314; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.6529; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 6; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 1; bPset \"widthScale[0].widthScale_Interp\" 1; bPset \"widthScale[1].widthScale_Position\" 0.8142856956; bPset \"widthScale[1].widthScale_FloatValue\" 1; bPset \"widthScale[1].widthScale_Interp\" 1; bPset \"widthScale[2].widthScale_Position\" 1; bPset \"widthScale[2].widthScale_FloatValue\" 0; bPset \"widthScale[2].widthScale_Interp\" 1; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"leafWidthScale[1].leafWidthScale_Position\" 1; bPset \"leafWidthScale[1].leafWidthScale_FloatValue\" 0; bPset \"leafWidthScale[1].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 10; bPset \"thornLength\" 0.5; bPset \"thornBaseWidth\" 0.05; bPset \"thornTipWidth\" 0.01; bPset \"thornElevation\" 0.6; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0; bPset \"environment[0].environment_ColorR\" 0.4206953347; bPset \"environment[0].environment_ColorG\" 0.4379999936; bPset \"environment[0].environment_ColorB\" 0.4139100015; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.6499999762; bPset \"environment[1].environment_ColorR\" 0.4799999893; bPset \"environment[1].environment_ColorG\" 0.5500000119; bPset \"environment[1].environment_ColorB\" 0.6999999881; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.8428571224; bPset \"environment[2].environment_ColorR\" 0; bPset \"environment[2].environment_ColorG\" 0.1486295462; bPset \"environment[2].environment_ColorB\" 0.6690000296; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.4928571284; bPset \"environment[3].environment_ColorR\" 0.9380000234; bPset \"environment[3].environment_ColorG\" 1; bPset \"environment[3].environment_ColorB\" 0.9986566901; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0.4714285731; bPset \"environment[4].environment_ColorR\" 0.2601088881; bPset \"environment[4].environment_ColorG\" 0.3190000057; bPset \"environment[4].environment_ColorB\" 0.2370170057; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0.200000003; bPset \"environment[5].environment_ColorR\" 0.3593319952; bPset \"environment[5].environment_ColorG\" 0.3925279975; bPset \"environment[5].environment_ColorB\" 0.3463160098; bPset \"environment[5].environment_Interp\" 2; bPset \"environment[6].environment_Position\" 0.1714285761; bPset \"environment[6].environment_ColorR\" 0.499289304; bPset \"environment[6].environment_ColorG\" 0.5730000138; bPset \"environment[6].environment_ColorB\" 0.3810450137; bPset \"environment[6].environment_Interp\" 2; bPset \"environment[7].environment_Position\" 0.8642857075; bPset \"environment[7].environment_ColorR\" 0.473652035; bPset \"environment[7].environment_ColorG\" 0.4818891883; bPset \"environment[7].environment_ColorB\" 0.6690000296; bPset \"environment[7].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.2399999946; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.4285714328; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 0.8399999738; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.7571428418; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.3199999928; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 0.66942; bPset \"leafReflectivity\" 0.84298; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 1; \nbPsetName \"imageName\" \"\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.187 1.5;\npresetSetPressure 2 0 0.187 1;\npresetSetPressure 3 0 0 1.2;\nrename (getDefaultBrush()) crystals;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Light Bulb Brush: Select light bulb brush for painting" + -align "center" + -label "Light Bulb Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lightBulb.xpm" + -image1 "lightBulb.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.895; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 12.8096; bPset \"softness\" -0.58676; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.2975200117; bPset \"color1G\" 0.2975200117; bPset \"color1B\" 0.2975200117; bPset \"color2R\" 0.1899999976; bPset \"color2G\" 0.1899999976; bPset \"color2B\" 0.1899999976; bPset \"transparency1R\" 0.3718999922; bPset \"transparency1G\" 0.3718999922; bPset \"transparency1B\" 0.3718999922; bPset \"transparency2R\" 0.6528999805; bPset \"transparency2G\" 0.6528999805; bPset \"transparency2B\" 0.6528999805; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 2.67771; bPset \"specularPower\" 40; bPset \"translucence\" 0.13592; bPset \"glow\" 0; bPset \"glowColorR\" 0.5333333611; bPset \"glowColorG\" 0.5333333611; bPset \"glowColorB\" 0.5333333611; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0.52066; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.6504; bPset \"realLights\" 1; bPset \"lightDirectionX\" -0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.07; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.6; bPset \"lengthMin\" 0.6; bPset \"segments\" 66; bPset \"tubeWidth1\" 0.4; bPset \"tubeWidth2\" 0.4; bPset \"widthRand\" 0; bPset \"widthBias\" -0.26212; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.05784; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 1; bPset \"elevationMax\" 1; bPset \"azimuthMin\" -0.3398; bPset \"azimuthMax\" -0.22332; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0.78512; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 7.7661; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 1.26698; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 5; bPset \"splitRand\" 0.17476; bPset \"splitAngle\" 26.214; bPset \"splitSizeDecay\" 0.6602; bPset \"splitBias\" 0.00972; bPset \"splitTwist\" 0.02912; bPset \"startBranches\" 0; bPset \"numBranches\" 1; bPset \"branchDropout\" 0.26214; bPset \"middleBranch\" 1; bPset \"minSize\" 0; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0.204; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.004; bPset \"turbulenceFrequency\" 0.2233; bPset \"turbulenceSpeed\" 0.2233; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" -0.1; bPset \"deflectionMax\" 0.09708; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0.2; bPset \"twigAngle1\" 48.933; bPset \"twigAngle2\" 55.923; bPset \"twigTwist\" 0.3204; bPset \"twigLength\" 0.6; bPset \"twigStart\" 0.51456; bPset \"numTwigClusters\" 7; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 2; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 10.413; bPset \"leafAngle2\" 8.925; bPset \"leafTwist\" 0.5; bPset \"leafBend\" 10; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 42; bPset \"leafStart\" 0; bPset \"numLeafClusters\" 1; bPset \"leafFlatness\" 0; bPset \"leafLength\" 0.4; bPset \"leafBaseWidth\" 0.015; bPset \"leafTipWidth\" 0.015; bPset \"leafSizeDecay\" 0.75728; bPset \"leafTranslucence\" 0.75728; bPset \"leafSpecular\" 1; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.01651999913; bPset \"leafColor1G\" 0.01651999913; bPset \"leafColor1B\" 0.01651999913; bPset \"leafColor2R\" 5; bPset \"leafColor2G\" 1.001862526; bPset \"leafColor2B\" 0.2750000358; bPset \"leafHueRand\" 0.02912; bPset \"leafSatRand\" 0.06796; bPset \"leafValRand\" 0.28156; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"flowerSpecular\" 0.86408; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 1; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 1; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 1; bPset \"bumpBlur\" 0.5; bPset \"luminanceIsDisplacement\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 6; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.38836; bPset \"smear\" 0.20326; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 10; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 0.2599999905; bPset \"widthScale[0].widthScale_Interp\" 3; bPset \"widthScale[1].widthScale_Position\" 0.150000006; bPset \"widthScale[1].widthScale_FloatValue\" 0.3799999952; bPset \"widthScale[1].widthScale_Interp\" 3; bPset \"widthScale[2].widthScale_Position\" 0.4214285612; bPset \"widthScale[2].widthScale_FloatValue\" 0.8000000119; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0.5928571224; bPset \"widthScale[3].widthScale_FloatValue\" 1; bPset \"widthScale[3].widthScale_Interp\" 3; bPset \"widthScale[4].widthScale_Position\" 0.8571428657; bPset \"widthScale[4].widthScale_FloatValue\" 0.8000000119; bPset \"widthScale[4].widthScale_Interp\" 3; bPset \"widthScale[5].widthScale_Position\" 1; bPset \"widthScale[5].widthScale_FloatValue\" 0; bPset \"widthScale[5].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 0.9714285731; bPset \"widthScale[6].widthScale_FloatValue\" 0.3400000036; bPset \"widthScale[6].widthScale_Interp\" 3; bPset \"widthScale[7].widthScale_Position\" 0.3285714388; bPset \"widthScale[7].widthScale_FloatValue\" 0.5799999833; bPset \"widthScale[7].widthScale_Interp\" 3; bPset \"widthScale[8].widthScale_Position\" 0.05000000075; bPset \"widthScale[8].widthScale_FloatValue\" 0.4199999869; bPset \"widthScale[8].widthScale_Interp\" 3; bPset \"widthScale[9].widthScale_Position\" 0.09285710007; bPset \"widthScale[9].widthScale_FloatValue\" 0.3799999952; bPset \"widthScale[9].widthScale_Interp\" 3; bPset \"widthScale[10].widthScale_Position\" 0.1285714358; bPset \"widthScale[10].widthScale_FloatValue\" 0.4399999976; bPset \"widthScale[10].widthScale_Interp\" 3; bPset \"widthScale[11].widthScale_Position\" 0.2428571433; bPset \"widthScale[11].widthScale_FloatValue\" 0.400000006; bPset \"widthScale[11].widthScale_Interp\" 3; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 100; bPset \"thornLength\" 0.281; bPset \"thornBaseWidth\" 0.140496; bPset \"thornTipWidth\" 0.008264; bPset \"thornElevation\" 1.00828; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0; bPset \"environment[0].environment_ColorR\" 0.3714480102; bPset \"environment[0].environment_ColorG\" 0.40200001; bPset \"environment[0].environment_ColorB\" 0.3734593391; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.5071428418; bPset \"environment[1].environment_ColorR\" 0.8386399746; bPset \"environment[1].environment_ColorG\" 0.8517993689; bPset \"environment[1].environment_ColorB\" 0.8799999952; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.9571428299; bPset \"environment[2].environment_ColorR\" 0.4562520087; bPset \"environment[2].environment_ColorG\" 0.4861885309; bPset \"environment[2].environment_ColorB\" 0.5910000205; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.4357142746; bPset \"environment[3].environment_ColorR\" 0.145521; bPset \"environment[3].environment_ColorG\" 0.150128454; bPset \"environment[3].environment_ColorB\" 0.1710000038; bPset \"environment[3].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 0.9857142568; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.200000003; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.3142857254; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.5071428418; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.3799999952; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 1.36512; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 1; \nbPsetName \"imageName\" \"wrapBark.iff\";\nbPsetName \"leafImage\" \"sideleaf.rgb\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.5854 1;\npresetSetPressure 2 0 0 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) lightBulb;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Tacks Brush: Select tacks brush for painting" + -align "center" + -label "Tacks Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "tacks.xpm" + -image1 "tacks.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.759210304; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.184464; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 6; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.1921568662; bPset \"color1G\" 0.1921568662; bPset \"color1B\" 0.1921568662; bPset \"color2R\" 0.4078431427; bPset \"color2G\" 0.4078431427; bPset \"color2B\" 0.4078431427; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9991083145; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.9499999881; bPset \"specular\" 0.85436; bPset \"specularPower\" 3.4952; bPset \"translucence\" 0; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0.767; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.24272; bPset \"brightnessRand\" 0.90292; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 1.2622; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.097; bPset \"lengthMin\" 0.097; bPset \"segments\" 6; bPset \"tubeWidth1\" 0.029126; bPset \"tubeWidth2\" 0.039806; bPset \"widthRand\" 0.30098; bPset \"widthBias\" -0.74756; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.74756; bPset \"segmentWidthBias\" 0.61166; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.09708; bPset \"elevationMax\" 0.09708; bPset \"azimuthMin\" -1; bPset \"azimuthMax\" 1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0.8932; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"leafSpecular\" 0; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"flowerSpecular\" 0; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 0.04854; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 0.38836; bPset \"bumpBlur\" 0.95144; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 0.6039215922; bPset \"texColor1G\" 0.07450980693; bPset \"texColor1B\" 0.04705882445; bPset \"texColor2R\" 1; bPset \"texColor2G\" 0.8784313798; bPset \"texColor2B\" 0.7568627596; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1.8932; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.40776; bPset \"smear\" 0.08738; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.95146; bPset \"fractalAmplitude\" 5.1262; bPset \"fractalThreshold\" 0.87378; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 1; bPset \"tubeSections\" 8; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 0; bPset \"widthScale[0].widthScale_Interp\" 1; bPset \"widthScale[1].widthScale_Position\" 0.05000000075; bPset \"widthScale[1].widthScale_FloatValue\" 0.1800000072; bPset \"widthScale[1].widthScale_Interp\" 1; bPset \"widthScale[2].widthScale_Position\" 0.9071428776; bPset \"widthScale[2].widthScale_FloatValue\" 0.7200000286; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0.6142857075; bPset \"widthScale[3].widthScale_FloatValue\" 0.1800000072; bPset \"widthScale[3].widthScale_Interp\" 1; bPset \"widthScale[4].widthScale_Position\" 0.9714285731; bPset \"widthScale[4].widthScale_FloatValue\" 0.2599999905; bPset \"widthScale[4].widthScale_Interp\" 3; bPset \"widthScale[5].widthScale_Position\" 0.6642857194; bPset \"widthScale[5].widthScale_FloatValue\" 0.9200000167; bPset \"widthScale[5].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 1; bPset \"widthScale[6].widthScale_FloatValue\" 0; bPset \"widthScale[6].widthScale_Interp\" 0; bPset \"widthScale[7].widthScale_Position\" 0.6214285493; bPset \"widthScale[7].widthScale_FloatValue\" 0.8999999762; bPset \"widthScale[7].widthScale_Interp\" 1; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 19.418; bPset \"thornLength\" 1.068; bPset \"thornBaseWidth\" 0.5; bPset \"thornTipWidth\" 0; bPset \"thornElevation\" 1.1262; bPset \"thornSpecular\" 0; bPset \"thornBaseColorR\" 0.04333353043; bPset \"thornBaseColorG\" 0; bPset \"thornBaseColorB\" 1; bPset \"thornTipColorR\" 0.8417564631; bPset \"thornTipColorG\" 0.8090000153; bPset \"thornTipColorB\" 1; bPset \"environment[0].environment_Position\" 0.4142857194; bPset \"environment[0].environment_ColorR\" 0.3219076991; bPset \"environment[0].environment_ColorG\" 0.2393129915; bPset \"environment[0].environment_ColorB\" 0.3310000002; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.6142857075; bPset \"environment[1].environment_ColorR\" 0.6999999881; bPset \"environment[1].environment_ColorG\" 0.6602364779; bPset \"environment[1].environment_ColorB\" 0.6559000015; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.75; bPset \"environment[2].environment_ColorR\" 0.4152960181; bPset \"environment[2].environment_ColorG\" 0.4389799833; bPset \"environment[2].environment_ColorB\" 0.5040000081; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.200000003; bPset \"environment[3].environment_ColorR\" 0.2360000014; bPset \"environment[3].environment_ColorG\" 0.1718080044; bPset \"environment[3].environment_ColorB\" 0.176119566; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0; bPset \"environment[4].environment_ColorR\" 0.7129999995; bPset \"environment[4].environment_ColorG\" 0.710567832; bPset \"environment[4].environment_ColorB\" 0.5625570416; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0.8642857075; bPset \"environment[5].environment_ColorR\" 0.4944959581; bPset \"environment[5].environment_ColorG\" 0.5175463557; bPset \"environment[5].environment_ColorB\" 0.6119999886; bPset \"environment[5].environment_Interp\" 2; bPset \"environment[6].environment_Position\" 1; bPset \"environment[6].environment_ColorR\" 0.4543389976; bPset \"environment[6].environment_ColorG\" 0.4864760041; bPset \"environment[6].environment_ColorB\" 0.5237470269; bPset \"environment[6].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.5799999833; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.6000000238; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 0.8600000143; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.2714285851; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.8999999762; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[4].reflectionRolloff_Position\" 0.07142857462; bPset \"reflectionRolloff[4].reflectionRolloff_FloatValue\" 0.9800000191; bPset \"reflectionRolloff[4].reflectionRolloff_Interp\" 3; bPset \"branchReflectivity\" 0.60194; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 1; \nbPsetName \"imageName\" \"copperPipe.iff\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 2 0.4309 1;\npresetSetPressure 2 0 0.2764 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) tacks;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Charcoal Thin Brush: Select charcoal thin brush for painting" + -align "center" + -label "Charcoal Thin Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "charcoalThin.xpm" + -image1 "charcoalThin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 1.418537511; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.03252; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.50406; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.0627450943; bPset \"color1G\" 0.0627450943; bPset \"color1B\" 0.0627450943; bPset \"color2R\" 0.03529411927; bPset \"color2G\" 0.03529411927; bPset \"color2B\" 0.03529411927; bPset \"transparency1R\" 0.02352941222; bPset \"transparency1G\" 0.02352941222; bPset \"transparency1B\" 0.02352941222; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1.8446; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.05; bPset \"lengthMin\" 0; bPset \"segments\" 8; bPset \"tubeWidth1\" 0.024272; bPset \"tubeWidth2\" 0.02233; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.34952; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.79612; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 1; bPset \"textureType\" 3; bPset \"mapMethod\" 0; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.83496; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 4; bPset \"repeatV\" 5; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.14636; bPset \"smear\" 0.82114; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.93496; bPset \"fractalAmplitude\" 0.52458; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.06499999762 0.3088999987;\r\npresetSetPressure 2 5 0.04879999906 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) charcoalThin;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Orange Pastel Scribble Brush: Select orange pastel scribble brush for painting" + -align "center" + -label "Orange Pastel Scribble Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pasOrangeScribble.xpm" + -image1 "pasOrangeScribble.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.591449441; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.65048; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.5372549295; bPset \"color1B\" 0.08627451211; bPset \"color2R\" 1; bPset \"color2G\" 0.1308467388; bPset \"color2B\" 0.1008366346; bPset \"transparency1R\" 0.1529411823; bPset \"transparency1G\" 0.1019607857; bPset \"transparency1B\" 0.05098039284; bPset \"transparency2R\" 0.8486363888; bPset \"transparency2G\" 0.4797338247; bPset \"transparency2B\" 0.2889221311; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.8152915835; bPset \"specularColorB\" 0.6521323919; bPset \"specular\" 0.63106; bPset \"specularPower\" 3.4952; bPset \"translucence\" 0.85436; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.27184; bPset \"shadowDiffusion\" 0.80582; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.05; bPset \"lengthMin\" 0.05; bPset \"segments\" 10; bPset \"tubeWidth1\" 0.016506; bPset \"tubeWidth2\" 0.015534; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.5; bPset \"texOpacityOffset\" 0.50486; bPset \"texColor1R\" 0.4156862795; bPset \"texColor1G\" 0.3176470697; bPset \"texColor1B\" 0.1098039225; bPset \"texColor2R\" 1; bPset \"texColor2G\" 1; bPset \"texColor2B\" 1; bPset \"texAlpha1\" 0.68932; bPset \"texAlpha2\" -0.5728; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 0.1456; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.36892; bPset \"smear\" 0.06796; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"scribble.iff\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 5 0 1;\r\npresetSetPressure 2 2 0.7 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) pasOrangeScribble;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ink Splash Brush: Select ink splash brush for painting" + -align "center" + -label "Ink Splash Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "inkSplash.xpm" + -image1 "inkSplash.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 1.210368479; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.01456; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 5; bPset \"softness\" 0.02912; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 0; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.1137254909; bPset \"transparency1G\" 0.1137254909; bPset \"transparency1B\" 0.1137254909; bPset \"transparency2R\" 0.02745098062; bPset \"transparency2G\" 0.02745098062; bPset \"transparency2B\" 0.02745098062; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.27184; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 8; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.03999999911; bPset \"lengthMin\" 0.009999999776; bPset \"segments\" 12; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.02; bPset \"widthRand\" 0.62602; bPset \"widthBias\" -0.44716; bPset \"lengthFlex\" 0.47154; bPset \"segmentLengthBias\" 0.3496; bPset \"segmentWidthBias\" 0.74796; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" -0.009999999776; bPset \"azimuthMax\" 0.009999999776; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.17072; bPset \"spiralMax\" 0.1382; bPset \"spiralDecay\" 0.009999999776; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 1.5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.39838; bPset \"splitAngle\" 8.781; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.33334; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.04066; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.19512; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 6 1 0.5;\r\npresetSetPressure 2 1 0.200000003 1.5;\r\npresetSetPressure 3 10 1 0.16;\r\nrename (getDefaultBrush()) inkSplash;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Thick Red Oil Brush: Select thick red oil brush for painting" + -align "center" + -label "Thick Red Oil Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "thickOilRed.xpm" + -image1 "thickOilRed.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 1; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.016264; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.21138; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 1; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.6235294342; bPset \"transparency1G\" 0.5529412031; bPset \"transparency1B\" 0.5529412031; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9764705896; bPset \"specularColorG\" 0.9764705896; bPset \"specularColorB\" 0.9764705896; bPset \"specular\" 0; bPset \"specularPower\" 18.8616; bPset \"translucence\" 0.5122; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.01626; bPset \"satRand\" 0.05692; bPset \"valRand\" 0.03252; bPset \"rootFade\" 0.20326; bPset \"tipFade\" 0.14634; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.0244; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.400000006; bPset \"lightDirectionY\" -0.200000003; bPset \"lightDirectionZ\" -0.6000000238; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 6.2602; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1199999973; bPset \"lengthMin\" 0.009999999776; bPset \"segments\" 23; bPset \"tubeWidth1\" 0.004066; bPset \"tubeWidth2\" 0.005692; bPset \"widthRand\" 0.43902; bPset \"widthBias\" -0.38212; bPset \"lengthFlex\" 1; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 1; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 0.03252; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 0.991538465; bPset \"texColor1B\" 0.8821457028; bPset \"texColor2R\" 0.8823529482; bPset \"texColor2G\" 0.8666666746; bPset \"texColor2B\" 1; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 0.02999999933; bPset \"repeatV\" 0.3000000119; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.39024; bPset \"smear\" 0.82114; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.8374; bPset \"fractalAmplitude\" 0.9187; bPset \"fractalThreshold\" 0.21952; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.7073000073 1.5;\r\npresetSetPressure 2 5 0 1;\r\npresetSetPressure 3 3 0 1;\r\nrename (getDefaultBrush()) thickOilRed;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Blue Dry Erase Brush: Select blue dry erase brush for painting" + -align "center" + -label "Blue Dry Erase Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "dryEraseBlue.xpm" + -image1 "dryEraseBlue.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.922335727; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.012192; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 6; bPset \"softness\" 0.2; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.9583849311; bPset \"color1B\" 0.9798609018; bPset \"color2R\" 0.8156862855; bPset \"color2G\" 0.8156862855; bPset \"color2B\" 0.8156862855; bPset \"transparency1R\" 0.6090980768; bPset \"transparency1G\" 0.7950929999; bPset \"transparency1B\" 0.9490196705; bPset \"transparency2R\" 0.7450980544; bPset \"transparency2G\" 0.8549019694; bPset \"transparency2B\" 0.9529411793; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.05; bPset \"lengthMin\" 0.02; bPset \"segments\" 12; bPset \"tubeWidth1\" 0.005; bPset \"tubeWidth2\" 0.005; bPset \"widthRand\" 0.32038; bPset \"widthBias\" -0.51456; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 4.8541; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 1; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.5; bPset \"texOpacityOffset\" 0.5; bPset \"texColor1R\" 0; bPset \"texColor1G\" 0.01176470611; bPset \"texColor1B\" 0.08627451211; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0.2823529541; bPset \"texColor2B\" 0.7490196228; bPset \"texAlpha1\" 0.5; bPset \"texAlpha2\" -0.59224; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.02; bPset \"repeatV\" 0.3; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.5; bPset \"smear\" 0.82114; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.60194; bPset \"fractalAmplitude\" 0.52428; bPset \"fractalThreshold\" 0.31068; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.6585000157 1;\r\npresetSetPressure 2 5 0 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) dryEraseBlue;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Spatter Heavy Brush: Select spatter heavy brush for painting" + -align "center" + -label "Spatter Heavy Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "spatterHeavy.xpm" + -image1 "spatterHeavy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();\r\n bPset (\"time\") 0;\r\n bPset (\"globalScale\")(0.200000003);\r\n bPset (\"depth\") 0;\r\n bPset (\"illuminated\") 0;\r\n bPset (\"castShadows\") 0;\r\n bPset (\"branches\") 0;\r\n bPset (\"twigs\") 0;\r\n bPset (\"buds\") 0;\r\n bPset (\"leaves\") 0;\r\n bPset (\"flowers\") 0;\r\n bPset (\"brushType\") 0;\r\n bPset (\"brushWidth\") 0.008128;\r\n bPset (\"stampDensity\") 0.5;\r\n bPset (\"softness\") 0.43902;\r\n bPset (\"color1R\") 0;\r\n bPset (\"color1G\") 0;\r\n bPset (\"color1B\") 1;\r\n bPset (\"color2R\") 0;\r\n bPset (\"color2G\") 0.09803921729;\r\n bPset (\"color2B\") 0.870588243;\r\n bPset (\"transparency1R\") 0.6654331088;\r\n bPset (\"transparency1G\") 0.7249218822;\r\n bPset (\"transparency1B\") 0.9137254953;\r\n bPset (\"transparency2R\") 0.6937957406;\r\n bPset (\"transparency2G\") 0.7264562249;\r\n bPset (\"transparency2B\") 0.8156862855;\r\n bPset (\"incandescence1R\") 0;\r\n bPset (\"incandescence1G\") 0;\r\n bPset (\"incandescence1B\") 0;\r\n bPset (\"incandescence2R\") 0;\r\n bPset (\"incandescence2G\") 0;\r\n bPset (\"incandescence2B\") 0;\r\n bPset (\"specularColorR\") 0;\r\n bPset (\"specularColorG\") 0;\r\n bPset (\"specularColorB\") 0;\r\n bPset (\"specular\") 0;\r\n bPset (\"specularPower\") 10;\r\n bPset (\"translucence\") 0.00814;\r\n bPset (\"glow\") 0;\r\n bPset (\"glowColorR\") 0;\r\n bPset (\"glowColorG\") 0;\r\n bPset (\"glowColorB\") 0;\r\n bPset (\"glowSpread\") 1;\r\n bPset (\"hueRand\") 0.04878;\r\n bPset (\"satRand\") 0.23578;\r\n bPset (\"valRand\") 0.0813;\r\n bPset (\"rootFade\") 0.0813;\r\n bPset (\"tipFade\") 0;\r\n bPset (\"fakeShadow\") 0;\r\n bPset (\"shadowOffset\") 0.5;\r\n bPset (\"shadowDiffusion\") 0.1;\r\n bPset (\"shadowTransparency\") 0.8;\r\n bPset (\"backShadow\") 0;\r\n bPset (\"brightnessRand\") 0;\r\n bPset (\"centerShadow\") 0;\r\n bPset (\"depthShadowType\") 0;\r\n bPset (\"depthShadow\") 0;\r\n bPset (\"depthShadowDepth\") 0;\r\n bPset (\"realLights\") 0;\r\n bPset (\"lightDirectionX\") 0.5;\r\n bPset (\"lightDirectionY\") 0.5;\r\n bPset (\"lightDirectionZ\") -0.5;\r\n bPset (\"gapSize\") 0;\r\n bPset (\"gapSpacing\") 1;\r\n bPset (\"gapRand\") 1;\r\n bPset (\"flowSpeed\") 0;\r\n bPset (\"timeClip\") 0;\r\n bPset (\"strokeTime\") 0;\r\n bPset (\"startTime\") 0;\r\n bPset (\"endTime\") 1000;\r\n bPset (\"tubes\") 1;\r\n bPset (\"tubeCompletion\") 0;\r\n bPset (\"tubesPerStep\") 40;\r\n bPset (\"startTubes\") 0;\r\n bPset (\"lengthMax\") 0.1626;\r\n bPset (\"lengthMin\") 0.009999999776;\r\n bPset (\"segments\") 7;\r\n bPset (\"tubeWidth1\") 0.060976;\r\n bPset (\"tubeWidth2\") 0.063416;\r\n bPset (\"widthRand\") 0.6748;\r\n bPset (\"widthBias\") -0.75608;\r\n bPset (\"lengthFlex\") 0;\r\n bPset (\"segmentLengthBias\") 0;\r\n bPset (\"segmentWidthBias\") 0;\r\n bPset (\"elevationMin\") 0;\r\n bPset (\"elevationMax\") 0;\r\n bPset (\"azimuthMin\") -1;\r\n bPset (\"azimuthMax\") 1;\r\n bPset (\"flatness1\") 0;\r\n bPset (\"flatness2\") 0;\r\n bPset (\"twist\") 0;\r\n bPset (\"twistRate\") 0;\r\n bPset (\"twistRand\") 1;\r\n bPset (\"spiralMin\") 0;\r\n bPset (\"spiralMax\") 0;\r\n bPset (\"spiralDecay\") 0;\r\n bPset (\"displacementDelay\") 0.2;\r\n bPset (\"wiggle\") 0;\r\n bPset (\"wiggleFrequency\") 5;\r\n bPset (\"wiggleOffset\") 0;\r\n bPset (\"curl\") 0;\r\n bPset (\"curlFrequency\") 1;\r\n bPset (\"curlOffset\") 0;\r\n bPset (\"noise\") 0;\r\n bPset (\"noiseFrequency\") 0.2;\r\n bPset (\"splitMaxDepth\") 2;\r\n bPset (\"splitRand\") 0;\r\n bPset (\"splitAngle\") 30;\r\n bPset (\"splitSizeDecay\") 0.7;\r\n bPset (\"splitBias\") 0;\r\n bPset (\"splitTwist\") 0.5;\r\n bPset (\"startBranches\") 0;\r\n bPset (\"numBranches\") 2;\r\n bPset (\"branchDropout\") 0;\r\n bPset (\"middleBranch\") 0;\r\n bPset (\"minSize\") 0.0001;\r\n bPset (\"pathFollow\") 0;\r\n bPset (\"pathAttract\") 0;\r\n bPset (\"curveFollow\") 0;\r\n bPset (\"curveAttract\") 0;\r\n bPset (\"curveMaxDist\") 0;\r\n bPset (\"uniformForceX\") 0;\r\n bPset (\"uniformForceY\") 0;\r\n bPset (\"uniformForceZ\") 0;\r\n bPset (\"turbulenceType\") 0;\r\n bPset (\"turbulenceInterpolation\") 0;\r\n bPset (\"turbulence\") 0.2;\r\n bPset (\"turbulenceFrequency\") 0.2;\r\n bPset (\"turbulenceSpeed\") 0.5;\r\n bPset (\"turbulenceOffsetX\") 0;\r\n bPset (\"turbulenceOffsetY\") 0;\r\n bPset (\"turbulenceOffsetZ\") 0;\r\n bPset (\"random\") 0;\r\n bPset (\"gravity\") 0.06504;\r\n bPset (\"momentum\") 1;\r\n bPset (\"deflection\") 0;\r\n bPset (\"deflectionMin\") 0;\r\n bPset (\"deflectionMax\") 0.3;\r\n bPset (\"twigsInCluster\") 1;\r\n bPset (\"twigDropout\") 0;\r\n bPset (\"twigAngle1\") 90;\r\n bPset (\"twigAngle2\") 80;\r\n bPset (\"twigTwist\") 0;\r\n bPset (\"twigLength\") 0.5;\r\n bPset (\"twigStart\") 0.5;\r\n bPset (\"numTwigClusters\") 4;\r\n bPset (\"twigBaseWidth\") 0.4;\r\n bPset (\"twigTipWidth\") 0.2;\r\n bPset (\"leavesInCluster\") 1;\r\n bPset (\"leafDropout\") 0;\r\n bPset (\"leafAngle1\") 75;\r\n bPset (\"leafAngle2\") 25;\r\n bPset (\"leafTwist\") 0;\r\n bPset (\"leafSegments\") 5;\r\n bPset (\"leafStart\") 0.5;\r\n bPset (\"numLeafClusters\") 3;\r\n bPset (\"leafFlatness\") 1;\r\n bPset (\"leafLength\") 0.3;\r\n bPset (\"leafBaseWidth\") 0.15;\r\n bPset (\"leafTipWidth\") 0.05;\r\n bPset (\"leafSizeDecay\") 0.7;\r\n bPset (\"leafTranslucence\") 0.7;\r\n bPset (\"terminalLeaf\") 0;\r\n bPset (\"leafColor1R\") 0.200000003;\r\n bPset (\"leafColor1G\") 0.6000000238;\r\n bPset (\"leafColor1B\") 0.3000000119;\r\n bPset (\"leafColor2R\") 0.400000006;\r\n bPset (\"leafColor2G\") 0.6000000238;\r\n bPset (\"leafColor2B\") 0.3000000119;\r\n bPset (\"leafHueRand\") 0;\r\n bPset (\"leafSatRand\") 0;\r\n bPset (\"leafValRand\") 0;\r\n bPset (\"budSize\") 0.03;\r\n bPset (\"budColorR\") 0.400000006;\r\n bPset (\"budColorG\") 0.8000000119;\r\n bPset (\"budColorB\") 0.200000003;\r\n bPset (\"petalsInFlower\") 1;\r\n bPset (\"petalDropout\") 0;\r\n bPset (\"flowerAngle1\") 75;\r\n bPset (\"flowerAngle2\") 25;\r\n bPset (\"flowerTwist\") 0.23;\r\n bPset (\"petalSegments\") 5;\r\n bPset (\"flowerStart\") 1;\r\n bPset (\"numFlowers\") 10;\r\n bPset (\"petalFlatness\") 1;\r\n bPset (\"petalLength\") 0.2;\r\n bPset (\"petalBaseWidth\") 0.05;\r\n bPset (\"petalTipWidth\") 0.1;\r\n bPset (\"flowerSizeDecay\") 0.7;\r\n bPset (\"flowerTranslucence\") 0.7;\r\n bPset (\"petalColor1R\") 0.8000000119;\r\n bPset (\"petalColor1G\") 0.200000003;\r\n bPset (\"petalColor1B\") 0.1000000015;\r\n bPset (\"petalColor2R\") 1;\r\n bPset (\"petalColor2G\") 1;\r\n bPset (\"petalColor2B\") 1;\r\n bPset (\"flowerHueRand\") 0;\r\n bPset (\"flowerSatRand\") 0;\r\n bPset (\"flowerValRand\") 0;\r\n bPset (\"colorLengthMap\") 0;\r\n bPset (\"transpLengthMap\") 0;\r\n bPset (\"incandLengthMap\") 0;\r\n bPset (\"widthLengthMap\") 0;\r\n bPset (\"splitLengthMap\") 0;\r\n bPset (\"mapColor\") 0;\r\n bPset (\"mapOpacity\") 0;\r\n bPset (\"shaderGlow\") 0; bPset (\"texColorScale\") 1; bPset (\"texColorOffset\") 0; bPset (\"texOpacityScale\") 1; bPset (\"texOpacityOffset\") 0; bPset (\"texAlpha1\") 1; bPset (\"texAlpha2\") 0; bPset (\"tubeDirection\") 0; bPset (\"screenspaceWidth\") 0; bPset (\"edgeAntialias\") 1; bPset (\"modifyColor\") 1; bPset (\"modifyDepth\") 1; bPset (\"modifyAlpha\") 1; bPset (\"leafUseBranchTex\") 1; bPset (\"flowerUseBranchTex\") 1;\r\n bPset (\"textureType\") 0;\r\n bPset (\"mapMethod\") 2;\r\n bPset (\"texColor1R\") 1;\r\n bPset (\"texColor1G\") 1;\r\n bPset (\"texColor1B\") 1;\r\n bPset (\"texColor2R\") 0;\r\n bPset (\"texColor2G\") 0;\r\n bPset (\"texColor2B\") 0;\r\n bPset (\"texUniformity\") 0.5;\r\n bPset (\"repeatU\") 1;\r\n bPset (\"repeatV\") 1;\r\n bPset (\"offsetU\") 0;\r\n bPset (\"offsetV\") 0;\r\n bPset (\"blurMult\") 1;\r\n bPset (\"smear\") 0.1;\r\n bPset (\"smearU\") 0;\r\n bPset (\"smearV\") 0;\r\n bPset (\"fractalRatio\") 0.7;\r\n bPset (\"fractalAmplitude\") 1;\r\n bPset (\"fractalThreshold\") 0;\r\n presetSetPressure 1 5 0 1;\r\npresetSetPressure 2 1 0.2682999969 1.5;\r\npresetSetPressure 3 0 0 1;\r\nbrushPresetApply();\r\nrename (getDefaultBrush()) spatterHeavy;\r\n \r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smear Color Brush: Select smear color brush for painting" + -align "center" + -label "Smear Color Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "smearColor.xpm" + -image1 "smearColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.25; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 1; bPset \"brushWidth\" 0.200000003; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 12; bPset \"softness\" 0.63414; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 0; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.05098039284; bPset \"transparency1G\" 0.4470588267; bPset \"transparency1B\" 0.8078431487; bPset \"transparency2R\" 0.2922559083; bPset \"transparency2G\" 0.5024155974; bPset \"transparency2B\" 0.9529411793; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1.5534; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.4854; bPset \"lengthMin\" 0; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.1; bPset \"tubeWidth2\" 0.052428; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.26214; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.65048; bPset \"spiralMax\" 0.5728; bPset \"spiralDecay\" 0.0066992; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 5 0 1;\r\npresetSetPressure 2 0 0 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) smearColor;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Clean Water Drip Brush: Select clean water drip brush for painting" + -align "center" + -label "Clean Water Drip Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cleanWaterDrip.xpm" + -image1 "cleanWaterDrip.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();\r\n bPset (\"time\") 0;\r\n bPset (\"globalScale\")(0.1000000015);\r\n bPset (\"depth\") 0;\r\n bPset (\"illuminated\") 0;\r\n bPset (\"castShadows\") 0;\r\n bPset (\"branches\") 0;\r\n bPset (\"twigs\") 0;\r\n bPset (\"buds\") 0;\r\n bPset (\"leaves\") 0;\r\n bPset (\"flowers\") 0;\r\n bPset (\"brushType\") 1;\r\n bPset (\"brushWidth\") 0.093496;\r\n bPset (\"stampDensity\") 12;\r\n bPset (\"softness\") 0.58536;\r\n bPset (\"color1R\") 0;\r\n bPset (\"color1G\") 0;\r\n bPset (\"color1B\") 0;\r\n bPset (\"color2R\") 0;\r\n bPset (\"color2G\") 0;\r\n bPset (\"color2B\") 0;\r\n bPset (\"transparency1R\") 0.204517588;\r\n bPset (\"transparency1G\") 0.2616667151;\r\n bPset (\"transparency1B\") 0.2978723347;\r\n bPset (\"transparency2R\") 0.270588249;\r\n bPset (\"transparency2G\") 0.4352941215;\r\n bPset (\"transparency2B\") 0.6274510026;\r\n bPset (\"incandescence1R\") 0;\r\n bPset (\"incandescence1G\") 0;\r\n bPset (\"incandescence1B\") 0;\r\n bPset (\"incandescence2R\") 0;\r\n bPset (\"incandescence2G\") 0;\r\n bPset (\"incandescence2B\") 0;\r\n bPset (\"specularColorR\") 0;\r\n bPset (\"specularColorG\") 0;\r\n bPset (\"specularColorB\") 0;\r\n bPset (\"specular\") 0;\r\n bPset (\"specularPower\") 10;\r\n bPset (\"translucence\") 0.2;\r\n bPset (\"glow\") 0;\r\n bPset (\"glowColorR\") 0.5529412031;\r\n bPset (\"glowColorG\") 0.1725490242;\r\n bPset (\"glowColorB\") 0.2313725501;\r\n bPset (\"glowSpread\") 4.7318;\r\n bPset (\"hueRand\") 0;\r\n bPset (\"satRand\") 0;\r\n bPset (\"valRand\") 0;\r\n bPset (\"rootFade\") 0;\r\n bPset (\"tipFade\") 0;\r\n bPset (\"fakeShadow\") 0;\r\n bPset (\"shadowOffset\") 0.52032;\r\n bPset (\"shadowDiffusion\") 0.6504;\r\n bPset (\"shadowTransparency\") 0.87804;\r\n bPset (\"backShadow\") 0;\r\n bPset (\"brightnessRand\") 0;\r\n bPset (\"centerShadow\") 0;\r\n bPset (\"depthShadowType\") 0;\r\n bPset (\"depthShadow\") 0;\r\n bPset (\"depthShadowDepth\") 0;\r\n bPset (\"realLights\") 0;\r\n bPset (\"lightDirectionX\") 0.5;\r\n bPset (\"lightDirectionY\") -0.5;\r\n bPset (\"lightDirectionZ\") -0.5;\r\n bPset (\"gapSize\") 0;\r\n bPset (\"gapSpacing\") 1;\r\n bPset (\"gapRand\") 1;\r\n bPset (\"flowSpeed\") 0;\r\n bPset (\"timeClip\") 0;\r\n bPset (\"strokeTime\") 0;\r\n bPset (\"startTime\") 0;\r\n bPset (\"endTime\") 1000;\r\n bPset (\"tubes\") 1;\r\n bPset (\"tubeCompletion\") 1;\r\n bPset (\"tubesPerStep\") 2.8456;\r\n bPset (\"startTubes\") 0;\r\n bPset (\"lengthMax\") 0.8944;\r\n bPset (\"lengthMin\") 0.5692;\r\n bPset (\"segments\") 20;\r\n bPset (\"tubeWidth1\") 0.206661;\r\n bPset (\"tubeWidth2\") 0.173712;\r\n bPset (\"widthRand\") 0.36586;\r\n bPset (\"widthBias\") -0.38212;\r\n bPset (\"lengthFlex\") 0.15448;\r\n bPset (\"segmentLengthBias\") 0.10568;\r\n bPset (\"segmentWidthBias\") 0;\r\n bPset (\"elevationMin\") 0;\r\n bPset (\"elevationMax\") 0;\r\n bPset (\"azimuthMin\") -1;\r\n bPset (\"azimuthMax\") 1;\r\n bPset (\"flatness1\") 0.77236;\r\n bPset (\"flatness2\") 0;\r\n bPset (\"twist\") 0;\r\n bPset (\"twistRate\") 0;\r\n bPset (\"twistRand\") 1;\r\n bPset (\"spiralMin\") 0;\r\n bPset (\"spiralMax\") 0;\r\n bPset (\"spiralDecay\") 0;\r\n bPset (\"displacementDelay\") 0.2;\r\n bPset (\"wiggle\") 0;\r\n bPset (\"wiggleFrequency\") 5;\r\n bPset (\"wiggleOffset\") 0;\r\n bPset (\"curl\") 0;\r\n bPset (\"curlFrequency\") 1;\r\n bPset (\"curlOffset\") 0;\r\n bPset (\"noise\") 0;\r\n bPset (\"noiseFrequency\") 0.2;\r\n bPset (\"splitMaxDepth\") 3;\r\n bPset (\"splitRand\") 0.22764;\r\n bPset (\"splitAngle\") 43.902;\r\n bPset (\"splitSizeDecay\") 0.7;\r\n bPset (\"splitBias\") 0;\r\n bPset (\"splitTwist\") 0.5;\r\n bPset (\"startBranches\") 0;\r\n bPset (\"numBranches\") 2;\r\n bPset (\"branchDropout\") 0.69106;\r\n bPset (\"middleBranch\") 0;\r\n bPset (\"minSize\") 0.0001;\r\n bPset (\"pathFollow\") 0.00814;\r\n bPset (\"pathAttract\") 0;\r\n bPset (\"curveFollow\") 0;\r\n bPset (\"curveAttract\") 0;\r\n bPset (\"curveMaxDist\") 0;\r\n bPset (\"uniformForceX\") 0;\r\n bPset (\"uniformForceY\") 0;\r\n bPset (\"uniformForceZ\") 0;\r\n bPset (\"turbulenceType\") 0;\r\n bPset (\"turbulenceInterpolation\") 0;\r\n bPset (\"turbulence\") 0.2;\r\n bPset (\"turbulenceFrequency\") 0.2;\r\n bPset (\"turbulenceSpeed\") 0.5;\r\n bPset (\"turbulenceOffsetX\") 0;\r\n bPset (\"turbulenceOffsetY\") 0;\r\n bPset (\"turbulenceOffsetZ\") 0;\r\n bPset (\"random\") 0.57724;\r\n bPset (\"gravity\") 1;\r\n bPset (\"momentum\") 0.04878;\r\n bPset (\"deflection\") 0;\r\n bPset (\"deflectionMin\") 0;\r\n bPset (\"deflectionMax\") 0.3;\r\n bPset (\"twigsInCluster\") 1;\r\n bPset (\"twigDropout\") 0;\r\n bPset (\"twigAngle1\") 90;\r\n bPset (\"twigAngle2\") 80;\r\n bPset (\"twigTwist\") 0;\r\n bPset (\"twigLength\") 0.5;\r\n bPset (\"twigStart\") 0.5;\r\n bPset (\"numTwigClusters\") 4;\r\n bPset (\"twigBaseWidth\") 0.4;\r\n bPset (\"twigTipWidth\") 0.2;\r\n bPset (\"leavesInCluster\") 1;\r\n bPset (\"leafDropout\") 0;\r\n bPset (\"leafAngle1\") 75;\r\n bPset (\"leafAngle2\") 25;\r\n bPset (\"leafTwist\") 0;\r\n bPset (\"leafSegments\") 5;\r\n bPset (\"leafStart\") 0.5;\r\n bPset (\"numLeafClusters\") 3;\r\n bPset (\"leafFlatness\") 1;\r\n bPset (\"leafLength\") 0.3;\r\n bPset (\"leafBaseWidth\") 0.15;\r\n bPset (\"leafTipWidth\") 0.05;\r\n bPset (\"leafSizeDecay\") 0.7;\r\n bPset (\"leafTranslucence\") 0.3;\r\n bPset (\"terminalLeaf\") 0;\r\n bPset (\"leafColor1R\") 0.200000003;\r\n bPset (\"leafColor1G\") 0.6000000238;\r\n bPset (\"leafColor1B\") 0.3000000119;\r\n bPset (\"leafColor2R\") 0.400000006;\r\n bPset (\"leafColor2G\") 0.6000000238;\r\n bPset (\"leafColor2B\") 0.3000000119;\r\n bPset (\"leafHueRand\") 0;\r\n bPset (\"leafSatRand\") 0;\r\n bPset (\"leafValRand\") 0;\r\n bPset (\"budSize\") 0.03;\r\n bPset (\"budColorR\") 0.400000006;\r\n bPset (\"budColorG\") 0.8000000119;\r\n bPset (\"budColorB\") 0.200000003;\r\n bPset (\"petalsInFlower\") 1;\r\n bPset (\"petalDropout\") 0;\r\n bPset (\"flowerAngle1\") 75;\r\n bPset (\"flowerAngle2\") 25;\r\n bPset (\"flowerTwist\") 0.23;\r\n bPset (\"petalSegments\") 5;\r\n bPset (\"flowerStart\") 1;\r\n bPset (\"numFlowers\") 10;\r\n bPset (\"petalFlatness\") 1;\r\n bPset (\"petalLength\") 0.2;\r\n bPset (\"petalBaseWidth\") 0.05;\r\n bPset (\"petalTipWidth\") 0.1;\r\n bPset (\"flowerSizeDecay\") 0.7;\r\n bPset (\"flowerTranslucence\") 0.3;\r\n bPset (\"petalColor1R\") 0.8000000119;\r\n bPset (\"petalColor1G\") 0.200000003;\r\n bPset (\"petalColor1B\") 0.1000000015;\r\n bPset (\"petalColor2R\") 1;\r\n bPset (\"petalColor2G\") 1;\r\n bPset (\"petalColor2B\") 1;\r\n bPset (\"flowerHueRand\") 0;\r\n bPset (\"flowerSatRand\") 0;\r\n bPset (\"flowerValRand\") 0;\r\n bPset (\"colorLengthMap\") 0;\r\n bPset (\"transpLengthMap\") 0;\r\n bPset (\"incandLengthMap\") 0;\r\n bPset (\"widthLengthMap\") 1;\r\n bPset (\"splitLengthMap\") 1;\r\n bPset (\"mapColor\") 0;\r\n bPset (\"mapOpacity\") 0;\r\n bPset (\"shaderGlow\") 0; bPset (\"texColorScale\") 1; bPset (\"texColorOffset\") 0; bPset (\"texOpacityScale\") 1; bPset (\"texOpacityOffset\") 0; bPset (\"texAlpha1\") 1; bPset (\"texAlpha2\") 0; bPset (\"tubeDirection\") 0; bPset (\"screenspaceWidth\") 0; bPset (\"edgeAntialias\") 1; bPset (\"modifyColor\") 1; bPset (\"modifyDepth\") 1; bPset (\"modifyAlpha\") 1; bPset (\"leafUseBranchTex\") 1; bPset (\"flowerUseBranchTex\") 1;\r\n bPset (\"textureType\") 3;\r\n bPset (\"mapMethod\") 0;\r\n bPset (\"texColor1R\") 1;\r\n bPset (\"texColor1G\") 1;\r\n bPset (\"texColor1B\") 1;\r\n bPset (\"texColor2R\") 0;\r\n bPset (\"texColor2G\") 0;\r\n bPset (\"texColor2B\") 0;\r\n bPset (\"texUniformity\") 0.5;\r\n bPset (\"repeatU\") 4.0244;\r\n bPset (\"repeatV\") 3.94312;\r\n bPset (\"offsetU\") 0;\r\n bPset (\"offsetV\") 0;\r\n bPset (\"blurMult\") 0.61788;\r\n bPset (\"smear\") 0.1;\r\n bPset (\"smearU\") 0;\r\n bPset (\"smearV\") 0;\r\n bPset (\"fractalRatio\") 0.86992;\r\n bPset (\"fractalAmplitude\") 2.62184;\r\n bPset (\"fractalThreshold\") 1.200000048;\r\n presetSetPressure 1 1 0.7317000031 1;\r\npresetSetPressure 2 5 0.02439999953 1;\r\npresetSetPressure 3 7 0.3088999987 1.609799981;\r\nbrushPresetApply();\r\nrename (getDefaultBrush()) cleanWaterDrip;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rice Fiber Paper Brush: Select rice fiber paper brush for painting" + -align "center" + -label "Rice Fiber Paper Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "riceFiber.xpm" + -image1 "riceFiber.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.6629218653; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.30760799; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.61164; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.8784313798; bPset \"color1G\" 0.8980392218; bPset \"color1B\" 0.9450980425; bPset \"color2R\" 0.9784989953; bPset \"color2G\" 0.9921568632; bPset \"color2B\" 0.9007232785; bPset \"transparency1R\" 0.2431372553; bPset \"transparency1G\" 0.2431372553; bPset \"transparency1B\" 0.2431372553; bPset \"transparency2R\" 0.1921568662; bPset \"transparency2G\" 0.1921568662; bPset \"transparency2B\" 0.1921568662; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.9490196109; bPset \"specularColorB\" 0.8235294223; bPset \"specular\" 1; bPset \"specularPower\" 5.8252; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.13592; bPset \"tipFade\" 0.14564; bPset \"fakeShadow\" 1; bPset \"shadowOffset\" 0.60194; bPset \"shadowDiffusion\" 0.36894; bPset \"shadowTransparency\" 0.87378; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.02912; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.002; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 10; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.5826; bPset \"lengthMin\" 0.6796; bPset \"segments\" 19; bPset \"tubeWidth1\" 0.006796; bPset \"tubeWidth2\" 0.006796; bPset \"widthRand\" 0.42718; bPset \"widthBias\" -0.65048; bPset \"lengthFlex\" 0.62136; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.07766; bPset \"elevationMax\" 0.1165; bPset \"azimuthMin\" -0.21952; bPset \"azimuthMax\" 0.21952; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.37864; bPset \"spiralMax\" 0.28156; bPset \"spiralDecay\" 0.0070872; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 1.9421; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.6311; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.03884; bPset \"pathAttract\" 0.1068; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.03884; bPset \"turbulenceFrequency\" 2.9408; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.009999999776; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 10 0.1 1.5;\r\npresetSetPressure 2 1 0.3 1;\r\npresetSetPressure 3 5 0.2 1;\r\nrename (getDefaultBrush()) riceFiber;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Gold Brush: Select gold brush for painting" + -align "center" + -label "Gold Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "gold.xpm" + -image1 "gold.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.9861201994; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.05; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 10; bPset \"softness\" 0.3301; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.4876577854; bPset \"color1B\" 0.0860440135; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.09803921729; bPset \"transparency1G\" 0.1058823541; bPset \"transparency1B\" 0.1058823541; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.8132051229; bPset \"specularColorB\" 0.4424633384; bPset \"specular\" 3.11505; bPset \"specularPower\" 3.4952; bPset \"translucence\" 0.18446; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.5631; bPset \"depthShadowDepth\" 0.07766; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.15; bPset \"lengthMin\" 0; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.005826; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.74758; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 0.8932; bPset \"texColorOffset\" 0.6699; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 0.1850801855; bPset \"texColor1G\" 0.2695454359; bPset \"texColor1B\" 0.2576201558; bPset \"texColor2R\" 1.200000048; bPset \"texColor2G\" 0.9214813709; bPset \"texColor2B\" 0.8994473815; bPset \"texAlpha1\" 0.07766; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0; bPset \"repeatV\" 2.18448; bPset \"offsetU\" 0; bPset \"offsetV\" 0.15534; bPset \"blurMult\" 1.1262; bPset \"smear\" 0.18446; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 2 0 1;\r\npresetSetPressure 2 5 0.6341 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) gold;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Water Tube Brush: Select water tube brush for painting" + -align "center" + -label "Water Tube Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "watertube.xpm" + -image1 "watertube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2305542027; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.160192; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 9.7088; bPset \"softness\" -0.24272; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.6558899879; bPset \"color1G\" 0.7863596082; bPset \"color1B\" 0.9254902005; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.589956522; bPset \"transparency1G\" 0.6860368848; bPset \"transparency1B\" 0.6901960969; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 1; bPset \"specularPower\" 3.3008; bPset \"translucence\" 0.34952; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.26214; bPset \"shadowDiffusion\" 0.767; bPset \"shadowTransparency\" 0.91262; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 1; bPset \"lengthMin\" 0; bPset \"segments\" 2; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.01; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 1; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.52428; bPset \"texOpacityOffset\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2039215714; bPset \"texColor2G\" 0.2039215714; bPset \"texColor2B\" 0.2039215714; bPset \"texAlpha1\" 0.3204; bPset \"texAlpha2\" -0.45632; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.77672; bPset \"repeatV\" 0.58256; bPset \"offsetU\" 0; bPset \"offsetV\" 0.93204; bPset \"blurMult\" 7.6677; bPset \"smear\" 0.2136; bPset \"smearU\" 0; bPset \"smearV\" 0.1165; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.2 1;\r\npresetSetPressure 2 5 0.2 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) watertube;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Vitamin E Brush: Select vitamin E brush for painting" + -align "center" + -label "Vitamin E Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "vitamineE.xpm" + -image1 "vitamineE.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.639375717; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.5728; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 2; bPset \"color1G\" 1.453249216; bPset \"color1B\" 0.4214978218; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.2666666806; bPset \"transparency1G\" 0.270588249; bPset \"transparency1B\" 0.1411764771; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0.1868181825; bPset \"incandescence1G\" 0.02564060688; bPset \"incandescence1B\" 0.0222984571; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.8152915835; bPset \"specularColorB\" 0.6521323919; bPset \"specular\" 0.36894; bPset \"specularPower\" 1.5532; bPset \"translucence\" 0.42718; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 1; bPset \"shadowOffset\" 0.27184; bPset \"shadowDiffusion\" 0.69902; bPset \"shadowTransparency\" 0.61166; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0.57282; bPset \"gapSpacing\" 2; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.07; bPset \"lengthMin\" 0; bPset \"segments\" 10; bPset \"tubeWidth1\" 0.027186; bPset \"tubeWidth2\" 0.01068; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0.57282; bPset \"azimuthMin\" -0.22332; bPset \"azimuthMax\" 0.1068; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 2.5338; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.5; bPset \"repeatV\" 1; bPset \"offsetU\" 0.30098; bPset \"offsetV\" 0; bPset \"blurMult\" 0.93204; bPset \"smear\" 0.12622; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"bubble.iff\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.7 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) vitamineE;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Neon Blue Brush: Select neon blue brush for painting" + -align "center" + -label "Neon Blue Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "neonBlue.xpm" + -image1 "neonBlue.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.4447684171; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.03500000015; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 5.8256; bPset \"softness\" -0.16504; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.1450980455; bPset \"color1G\" 0.07843137532; bPset \"color1B\" 0.04705882445; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.9450980425; bPset \"transparency1G\" 0.9450980425; bPset \"transparency1B\" 0.9450980425; bPset \"transparency2R\" 0.9450980425; bPset \"transparency2G\" 0.9450980425; bPset \"transparency2B\" 0.9450980425; bPset \"incandescence1R\" 0.01568627357; bPset \"incandescence1G\" 0.1411764771; bPset \"incandescence1B\" 0.3764705956; bPset \"incandescence2R\" 0.01196968555; bPset \"incandescence2G\" 0.1077273041; bPset \"incandescence2B\" 0.2872727215; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0.60976; bPset \"glowColorR\" 1; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0.6735985875; bPset \"glowSpread\" 6; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 1; bPset \"shadowOffset\" 0.36586; bPset \"shadowDiffusion\" 0.47572; bPset \"shadowTransparency\" 0.13592; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1; bPset \"lengthMin\" 0.1; bPset \"segments\" 2; bPset \"tubeWidth1\" 0.02233; bPset \"tubeWidth2\" 0.024272; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" -0.3; bPset \"azimuthMax\" -0.3; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2196078449; bPset \"texColor2G\" 0.2196078449; bPset \"texColor2B\" 0.2196078449; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 2.35776; bPset \"repeatV\" 1.86992; bPset \"offsetU\" 0; bPset \"offsetV\" 0.57724; bPset \"blurMult\" 2.5; bPset \"smear\" 0.07318; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 8 0 1;\r\npresetSetPressure 2 0 0 1;\r\npresetSetPressure 3 9 0.3007999957 1;\r\nrename (getDefaultBrush()) neonBlue;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Yellow Yarn Brush: Select yellow yarn brush for painting" + -align "center" + -label "Yellow Yarn Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "yarnYellow.xpm" + -image1 "yarnYellow.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.3844149344; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.70872; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.9872972369; bPset \"color1B\" 0.3364299536; bPset \"color2R\" 1; bPset \"color2G\" 0.8713098764; bPset \"color2B\" 0.1976335049; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.4942396283; bPset \"specularColorB\" 0.3000657558; bPset \"specular\" 0.3398; bPset \"specularPower\" 2.9128; bPset \"translucence\" 0.50486; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.0097; bPset \"satRand\" 0.2136; bPset \"valRand\" 0.01942; bPset \"rootFade\" 0.12622; bPset \"tipFade\" 0.1068; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.29126; bPset \"shadowTransparency\" 0.3301; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.07766; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.3301; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.4; bPset \"tubeRand\" 0; bPset \"startTubes\" 2; bPset \"lengthMax\" 0.4; bPset \"lengthMin\" 0.3; bPset \"segments\" 25; bPset \"tubeWidth1\" 0.03; bPset \"tubeWidth2\" 0.03; bPset \"widthRand\" 0.15534; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.87378; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" -0.08736; bPset \"azimuthMax\" 0.06796; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0.043688; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 1; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.5; bPset \"texOpacityOffset\" 0.5; bPset \"texColor1R\" 1.5; bPset \"texColor1G\" 1.481605291; bPset \"texColor1B\" 1.467954636; bPset \"texColor2R\" 0.08627451211; bPset \"texColor2G\" 0.03529411927; bPset \"texColor2B\" 0.007843136787; bPset \"texAlpha1\" 0.5; bPset \"texAlpha2\" -0.16504; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 0.19416; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.6602; bPset \"smear\" 0; bPset \"smearU\" 0.08738; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.84466; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0.37864; \r\nbPsetName \"imageName\" \"rope.iff\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 1 1;\r\npresetSetPressure 2 0 0.3 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) yarnYellow;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Hair Blond Wave Brush: Select hair blond wave brush for painting" + -align "center" + -label "Hair Blond Wave Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairBlondWave.xpm" + -image1 "hairBlondWave.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.3252; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3.5; bPset \"softness\" 0.11382; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.2313725501; bPset \"color1G\" 0.168860063; bPset \"color1B\" 0.04269617423; bPset \"color2R\" 0.4941176474; bPset \"color2G\" 0.4745098054; bPset \"color2B\" 0.2901960909; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.9825035334; bPset \"specularColorB\" 0.6881539822; bPset \"specular\" 0.47572; bPset \"specularPower\" 15.6849; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.01626; bPset \"satRand\" 0.1165; bPset \"valRand\" 0.14564; bPset \"rootFade\" 0; bPset \"tipFade\" 0.09708; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.07766; bPset \"brightnessRand\" 0.70874; bPset \"centerShadow\" 0.2233; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.93204; bPset \"depthShadowDepth\" 0.17476; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 8; bPset \"tubeRand\" 0.53398; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.068; bPset \"lengthMin\" 0.3884; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.00244; bPset \"widthRand\" 0.22764; bPset \"widthBias\" -0.36584; bPset \"lengthFlex\" 0.23578; bPset \"segmentLengthBias\" 0.05000000075; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.76422; bPset \"elevationMax\" 0.86992; bPset \"azimuthMin\" -0.05000000075; bPset \"azimuthMax\" 0.05000000075; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.7767; bPset \"wiggle\" 0.020328; bPset \"wiggleFrequency\" 13; bPset \"wiggleOffset\" 0; bPset \"curl\" 0.7; bPset \"curlFrequency\" 1.5; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.50412; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.23578; bPset \"pathAttract\" 0.21952; bPset \"curveFollow\" 1; bPset \"curveAttract\" 0.5; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 2; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.03; bPset \"turbulenceFrequency\" 1.95702; bPset \"turbulenceSpeed\" 0.3398; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.4878; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" -0.47968; bPset \"deflectionMax\" 0.29268; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 2 0.1870000064 1.5;\r\npresetSetPressure 2 0 0.1870000064 1;\r\npresetSetPressure 3 10 0 1.200000048;\r\nrename (getDefaultBrush()) hairBlondWave;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Grass Clump Brush: Select grass clump brush for painting" + -align "center" + -label "Grass Clump Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "grassClump.xpm" + -image1 "grassClump.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 233; bPset \"globalScale\" 0.2; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.2796; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.05692; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.4588235319; bPset \"color1G\" 0.4666666687; bPset \"color1B\" 0.2470588237; bPset \"color2R\" 0.1294117719; bPset \"color2G\" 0.7176470757; bPset \"color2B\" 0.2627451122; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9177373648; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.7933692932; bPset \"specular\" 0.30098; bPset \"specularPower\" 30; bPset \"translucence\" 0.55; bPset \"glow\" 0; bPset \"glowColorR\" 0.4941176474; bPset \"glowColorG\" 0.4941176474; bPset \"glowColorB\" 0.4941176474; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.0244; bPset \"satRand\" 0.05692; bPset \"valRand\" 0.01626; bPset \"rootFade\" 0; bPset \"tipFade\" 0.03252; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.36894; bPset \"brightnessRand\" 0.7864; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.6602; bPset \"depthShadowDepth\" 0.30098; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 10; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.5; bPset \"lengthMin\" 0.1000000015; bPset \"segments\" 9; bPset \"tubeWidth1\" 0.022764; bPset \"tubeWidth2\" 0.004878; bPset \"widthRand\" 0.47968; bPset \"widthBias\" -0.44716; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.42276; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.60976; bPset \"elevationMax\" 0.634; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0.79612; bPset \"flatness2\" 0.82524; bPset \"twist\" 0; bPset \"twistRate\" 0.41464; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 0; bPset \"splitRand\" 0; bPset \"splitAngle\" 13.17; bPset \"splitSizeDecay\" 0.87806; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 3; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.2439; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.03252; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0.70874; bPset \"curveAttract\" 0.59224; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1165; bPset \"turbulenceFrequency\" 0.7864; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.07318; bPset \"gravity\" 0.08944; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 1; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.8000000119 1.200000048;\r\npresetSetPressure 2 10 1 0.6097999811;\r\npresetSetPressure 3 7 0.6179 1.600000024;\r\nrename (getDefaultBrush()) grassClump;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Vine Grey Bud Brush: Select vine grey bud brush for painting" + -align "center" + -label "Vine Grey Bud Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "vineGreyBud.xpm" + -image1 "vineGreyBud.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2350097716; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 1; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.05; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.2; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.6588235497; bPset \"color1G\" 0.2088348716; bPset \"color1B\" 0.2488740236; bPset \"color2R\" 0.6266937256; bPset \"color2G\" 1; bPset \"color2B\" 0.9270715117; bPset \"transparency1R\" 0.02745098062; bPset \"transparency1G\" 0.02745098062; bPset \"transparency1B\" 0.02745098062; bPset \"transparency2R\" 0.02745098062; bPset \"transparency2G\" 0.02745098062; bPset \"transparency2B\" 0.02745098062; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.7071983218; bPset \"specularColorB\" 0.677272737; bPset \"specular\" 0.40776; bPset \"specularPower\" 10; bPset \"translucence\" 0.36894; bPset \"glow\" 0; bPset \"glowColorR\" 0.4666666687; bPset \"glowColorG\" 0.4666666687; bPset \"glowColorB\" 0.4666666687; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.03252; bPset \"satRand\" 0.09756; bPset \"valRand\" 0.11382; bPset \"rootFade\" 0.1068; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 5.691; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.5448; bPset \"lengthMin\" 0.244; bPset \"segments\" 48; bPset \"tubeWidth1\" 0.04309; bPset \"tubeWidth2\" 0.017886; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.25204; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.17072; bPset \"spiralMax\" 0.187; bPset \"spiralDecay\" 0.0075608; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 4.389; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.25204; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0.72816; bPset \"curveAttract\" 0.24272; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1; bPset \"turbulenceFrequency\" 0.5; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.02999999933; bPset \"budColorR\" 0.7915789485; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.8000000119; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.7235999703 1;\r\npresetSetPressure 2 7 0.09759999812 1;\r\npresetSetPressure 3 10 1 0.2275999933;\r\nrename (getDefaultBrush()) vineGreyBud;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Daisy Large Brush: Select daisy large brush for painting" + -align "center" + -label "Daisy Large Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "daisyLarge.xpm" + -image1 "daisyLarge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.5864262079; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 1; bPset \"leaves\" 1; bPset \"flowers\" 1; bPset \"brushType\" 0; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.2664398253; bPset \"color1G\" 0.3960784376; bPset \"color1B\" 0.2035091519; bPset \"color2R\" 0.1726915538; bPset \"color2G\" 0.4627451003; bPset \"color2B\" 0.3502541482; bPset \"transparency1R\" 0.08627451211; bPset \"transparency1G\" 0.08627451211; bPset \"transparency1B\" 0.08627451211; bPset \"transparency2R\" 0.08627451211; bPset \"transparency2G\" 0.08627451211; bPset \"transparency2B\" 0.08627451211; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0.15534; bPset \"specularPower\" 10.4856; bPset \"translucence\" 0.4878; bPset \"glow\" 0; bPset \"glowColorR\" 0.5843137503; bPset \"glowColorG\" 0.5843137503; bPset \"glowColorB\" 0.5843137503; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.21952; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.7561; bPset \"depthShadowDepth\" 0.36586; bPset \"realLights\" 0; bPset \"lightDirectionX\" -0.200000003; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.1626; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.6000000238; bPset \"lengthMin\" 0.400000006; bPset \"segments\" 24; bPset \"tubeWidth1\" 0.012196; bPset \"tubeWidth2\" 0.012196; bPset \"widthRand\" 0.28456; bPset \"widthBias\" -0.52844; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.1382; bPset \"segmentWidthBias\" 0.4065; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.84552; bPset \"elevationMax\" 0.92682; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 3; bPset \"splitRand\" 0.21138; bPset \"splitAngle\" 17.562; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 2; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.187; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0.86408; bPset \"curveAttract\" 0.1068; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.17886; bPset \"gravity\" 0.0813; bPset \"momentum\" 1; bPset \"deflection\" 1; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.08944; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0.09756; bPset \"leafAngle1\" 58.536; bPset \"leafAngle2\" 99.513; bPset \"leafTwist\" 0.38212; bPset \"leafSegments\" 6; bPset \"leafStart\" -0.1000000015; bPset \"numLeafClusters\" 19.512; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.03999999911; bPset \"leafBaseWidth\" 0.03500000015; bPset \"leafTipWidth\" 0.01626; bPset \"leafSizeDecay\" 0.45528; bPset \"leafTranslucence\" 0.3252; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.0627450943; bPset \"leafColor1G\" 0.2039215714; bPset \"leafColor1B\" 0.09803921729; bPset \"leafColor2R\" 0.1450980455; bPset \"leafColor2G\" 0.2196078449; bPset \"leafColor2B\" 0.1098039225; bPset \"leafHueRand\" 0.01626; bPset \"leafSatRand\" 0.03252; bPset \"leafValRand\" 0.11382; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.01999999955; bPset \"budColorR\" 0.8941176534; bPset \"budColorG\" 0.8695746064; bPset \"budColorB\" 0.6739547253; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0.4065; bPset \"flowerAngle1\" 81.951; bPset \"flowerAngle2\" 77.562; bPset \"flowerTwist\" 0.3008; bPset \"petalSegments\" 2; bPset \"flowerStart\" 1; bPset \"numFlowers\" 30; bPset \"petalFlatness\" 0.77236; bPset \"petalLength\" 0.01499999966; bPset \"petalBaseWidth\" 0.01300000027; bPset \"petalTipWidth\" 0.0120000001; bPset \"flowerSizeDecay\" 0.95936; bPset \"flowerTranslucence\" 0.57724; bPset \"petalColor1R\" 0.8431372643; bPset \"petalColor1G\" 0.9058823586; bPset \"petalColor1B\" 0.8941176534; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0.04878; bPset \"flowerValRand\" 0.08944; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"wrapBark.iff\";\r\nbPsetName \"leafImage\" \"sideleaf.rgb\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 21 0.5447000265 1.200000048;\r\npresetSetPressure 2 6 0.5 2;\r\npresetSetPressure 3 7 0.4553000033 1.443899989;\r\nrename (getDefaultBrush()) daisyLarge;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Simple Tree Brush: Select simple tree brush for painting" + -align "center" + -label "Simple Tree Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "treeSimple.xpm" + -image1 "treeSimple.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2715163545; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.2; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.06666667014; bPset \"transparency1G\" 0.06666667014; bPset \"transparency1B\" 0.06666667014; bPset \"transparency2R\" 0.07450980693; bPset \"transparency2G\" 0.07450980693; bPset \"transparency2B\" 0.07450980693; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.8274509907; bPset \"specularColorG\" 0.8274509907; bPset \"specularColorB\" 0.8274509907; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 0.5529412031; bPset \"glowColorG\" 0.5529412031; bPset \"glowColorB\" 0.5529412031; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.1626; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 1; bPset \"lengthMin\" 0.7318; bPset \"segments\" 15; bPset \"tubeWidth1\" 0.047968; bPset \"tubeWidth2\" 0.038212; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.84552; bPset \"elevationMax\" 0.92682; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0.04854; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 5.4634; bPset \"splitRand\" 0.06504; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.06796; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.01942; bPset \"turbulenceFrequency\" 0.3301; bPset \"turbulenceSpeed\" 0.15534; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.17074; bPset \"gravity\" 0.04066; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 2; bPset \"leafDropout\" 0.1057; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0.04064; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.7317; bPset \"numLeafClusters\" 8; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.067888; bPset \"leafBaseWidth\" 0.04066; bPset \"leafTipWidth\" 0.01626; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.56098; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.160784319; bPset \"leafColor1G\" 0.4941176474; bPset \"leafColor1B\" 0.2470588237; bPset \"leafColor2R\" 0.4352941215; bPset \"leafColor2G\" 0.6627451181; bPset \"leafColor2B\" 0.3254902065; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0.03252; bPset \"leafValRand\" 0.11382; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"vineBark.iff\";\r\nbPsetName \"leafImage\" \"sideleaf.rgb\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 21 0.2520000041 1.200000048;\r\npresetSetPressure 2 6 0.3251999915 2;\r\npresetSetPressure 3 7 0.5 1.5;\r\nrename (getDefaultBrush()) treeSimple;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Down Brush: Select down brush for painting" + -align "center" + -label "Down Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "downRed.xpm" + -image1 "downRed.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 166; bPset \"globalScale\" 0.3031077816; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.373784; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.6069545746; bPset \"color1B\" 0.5635699034; bPset \"color2R\" 1; bPset \"color2G\" 0.07450980693; bPset \"color2B\" 0; bPset \"transparency1R\" 0.01568627357; bPset \"transparency1G\" 0.01568627357; bPset \"transparency1B\" 0.01568627357; bPset \"transparency2R\" 0.007843136787; bPset \"transparency2G\" 0.007843136787; bPset \"transparency2B\" 0.007843136787; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9725490212; bPset \"specularColorG\" 0.2235294133; bPset \"specularColorB\" 0.3568627536; bPset \"specular\" 0.4466; bPset \"specularPower\" 2.33; bPset \"translucence\" 0.767; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.01; bPset \"tipFade\" 0.15534; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.32038; bPset \"brightnessRand\" 0.29126; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.34952; bPset \"depthShadowDepth\" 0.38834; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.3884; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.3884; bPset \"lengthMin\" 0.1942; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.015; bPset \"tubeWidth2\" 0.008; bPset \"widthRand\" 0; bPset \"widthBias\" 0.39804; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.4; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.53398; bPset \"elevationMax\" 0.81554; bPset \"azimuthMin\" -0.1068; bPset \"azimuthMax\" 0.06796; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0.0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.90292; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 11.6501; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.3787; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.20388; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 5; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.005; bPset \"turbulenceFrequency\" 2.36425; bPset \"turbulenceSpeed\" 0; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.03884; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 2; bPset \"leafDropout\" 0.17476; bPset \"leafAngle1\" 41.943; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0.005; bPset \"leafSegments\" 15; bPset \"leafStart\" 0.06796; bPset \"numLeafClusters\" 41.368; bPset \"leafFlatness\" 0.42718; bPset \"leafLength\" 0.179319; bPset \"leafBaseWidth\" 0.017; bPset \"leafTipWidth\" 0.01; bPset \"leafSizeDecay\" 0.4466; bPset \"leafTranslucence\" 0.75728; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.8156862855; bPset \"leafColor1G\" 0.1725490242; bPset \"leafColor1B\" 0.1411764771; bPset \"leafColor2R\" 1; bPset \"leafColor2G\" 0.09803921729; bPset \"leafColor2B\" 0.09803921729; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0.09708; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.05826; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 2 0.0732 1;\r\npresetSetPressure 2 10 0.3902 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) downRed;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Galaxy Brush: Select galaxy brush for painting" + -align "center" + -label "Galaxy Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "galaxy.xpm" + -image1 "galaxy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.1437156745; bPset \"depth\" 1; bPset \"modifyDepth\" 0; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.13008; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 0.2; bPset \"softness\" 1; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.835272193; bPset \"color1B\" 0.7015699744; bPset \"color2R\" 0.8206162453; bPset \"color2G\" 0.9149168134; bPset \"color2B\" 1; bPset \"transparency1R\" 0.9333333373; bPset \"transparency1G\" 0.9333333373; bPset \"transparency1B\" 0.9333333373; bPset \"transparency2R\" 1; bPset \"transparency2G\" 1; bPset \"transparency2B\" 1; bPset \"incandescence1R\" 0.9719973207; bPset \"incandescence1G\" 1; bPset \"incandescence1B\" 0.8176788688; bPset \"incandescence2R\" 0.4282051921; bPset \"incandescence2G\" 0.6353577375; bPset \"incandescence2B\" 1; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0.400000006; bPset \"glowColorR\" 0.8100899458; bPset \"glowColorG\" 0.9149168134; bPset \"glowColorB\" 1; bPset \"glowSpread\" 10; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.43902; bPset \"satRand\" 0.14634; bPset \"valRand\" 0.28456; bPset \"rootFade\" 0.04878; bPset \"tipFade\" 0.73984; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.36586; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0.999; bPset \"gapSpacing\" 0.09757; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 7.573; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.7074; bPset \"lengthMin\" 0.7318; bPset \"segments\" 33; bPset \"tubeWidth1\" 0.03; bPset \"tubeWidth2\" 0.007; bPset \"widthRand\" 0.75728; bPset \"widthBias\" -0.7864; bPset \"lengthFlex\" 0.64228; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" -0.8000000119; bPset \"elevationMax\" 0.8000000119; bPset \"azimuthMin\" -1; bPset \"azimuthMax\" 1; bPset \"flatness1\" 1; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.17074; bPset \"pathAttract\" 3; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 2; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 17; bPset \"turbulenceFrequency\" 0.7573; bPset \"turbulenceSpeed\" 0; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2196078449; bPset \"texColor2G\" 0.2196078449; bPset \"texColor2B\" 0.2196078449; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 2.35776; bPset \"repeatV\" 1.86992; bPset \"offsetU\" 0; bPset \"offsetV\" 0.57724; bPset \"blurMult\" 2.5; bPset \"smear\" 0.07318; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 6 0.243900001 1;\r\npresetSetPressure 2 10 0 1;\r\npresetSetPressure 3 7 0.6179000139 1.5;\r\nrename (getDefaultBrush()) galaxy;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Party Brush: Select party brush for painting" + -align "center" + -label "Party Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "party.xpm" + -image1 "party.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 2; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.016264; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 0.6000000238; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.478723377; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 1; bPset \"color2G\" 0.4613269269; bPset \"color2B\" 0; bPset \"transparency1R\" 0.4156862795; bPset \"transparency1G\" 0.4156862795; bPset \"transparency1B\" 0.4156862795; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0; bPset \"specularPower\" 60; bPset \"translucence\" 0.79674; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.49594; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.64078; bPset \"shadowDiffusion\" 0.4466; bPset \"shadowTransparency\" 0.30098; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" -0.400000006; bPset \"lightDirectionY\" -0.400000006; bPset \"lightDirectionZ\" -0.6000000238; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1.3008; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1626; bPset \"lengthMin\" 0.0814; bPset \"segments\" 14; bPset \"tubeWidth1\" 0.004066; bPset \"tubeWidth2\" 0.013008; bPset \"widthRand\" 0.29268; bPset \"widthBias\" -0.44716; bPset \"lengthFlex\" 0.47154; bPset \"segmentLengthBias\" 0.36584; bPset \"segmentWidthBias\" 0.57724; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0.03999999911; bPset \"azimuthMin\" -0.04064; bPset \"azimuthMax\" 0.04064; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.17072; bPset \"spiralMax\" 0.1382; bPset \"spiralDecay\" 0.009999999776; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 1.5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.39838; bPset \"splitAngle\" 8.781; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.33334; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.04066; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.19512; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 10 2 0.3000000119;\r\npresetSetPressure 2 1 0.200000003 1.5;\r\npresetSetPressure 3 6 2 0.8000000119;\r\nrename (getDefaultBrush()) party;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bubbles Brush: Select bubbles brush for painting" + -align "center" + -label "Bubbles Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "bubbles.xpm" + -image1 "bubbles.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.580062254; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.05324329025; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 0.4856; bPset \"softness\" 0.06796; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.3764705956; bPset \"transparency1G\" 0.3764705956; bPset \"transparency1B\" 0.3764705956; bPset \"transparency2R\" 0.3882353008; bPset \"transparency2G\" 0.3882353008; bPset \"transparency2B\" 0.3882353008; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.6536704302; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.7310684919; bPset \"specular\" 0.63106; bPset \"specularPower\" 1.5532; bPset \"translucence\" 0.73786; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.05826; bPset \"tipFade\" 0.35922; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.27184; bPset \"shadowDiffusion\" 0.69902; bPset \"shadowTransparency\" 0.61166; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0.97088; bPset \"gapSpacing\" 0.1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0.282; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 1.8446; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.4; bPset \"lengthMin\" 0.4; bPset \"segments\" 22; bPset \"tubeWidth1\" 0.012622; bPset \"tubeWidth2\" 0.024272; bPset \"widthRand\" 0.63106; bPset \"widthBias\" -0.59224; bPset \"lengthFlex\" 0.30098; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 1; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0.019416; bPset \"wiggleFrequency\" 3; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 4; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.029; bPset \"turbulenceFrequency\" 4.8; bPset \"turbulenceSpeed\" 0.29; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.12622; bPset \"gravity\" -2; bPset \"momentum\" 0.2136; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 20; bPset \"repeatV\" 1; bPset \"offsetU\" 0.5; bPset \"offsetV\" 0; bPset \"blurMult\" 0.93204; bPset \"smear\" 0.12622; bPset \"smearU\" 0.05826; bPset \"smearV\" 0.15534; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"bubble.iff\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.7 1;\r\npresetSetPressure 2 5 0.4 1;\r\npresetSetPressure 3 10 0.1 1;\r\nrename (getDefaultBrush()) bubbles;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Snake Green Brush: Select snake green brush for painting" + -align "center" + -label "Snake Green Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "snakeGreen.xpm" + -image1 "snakeGreen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.168186787; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 8; bPset \"softness\" 0.1262; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.270588249; bPset \"transparency1G\" 0.270588249; bPset \"transparency1B\" 0.270588249; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.4654452205; bPset \"specularColorB\" 0.4834541082; bPset \"specular\" 1.12623; bPset \"specularPower\" 2.136; bPset \"translucence\" 0.01942; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1942; bPset \"lengthMin\" 0; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.023302; bPset \"tubeWidth2\" 0.023302; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0.35922; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.75728; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 0; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 0.0941176489; bPset \"texColor1G\" 0.8745098114; bPset \"texColor1B\" 0.1372549087; bPset \"texColor2R\" -0.007362015545; bPset \"texColor2G\" -0.01280797552; bPset \"texColor2B\" -0.006933771539; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.19416; bPset \"repeatV\" 3; bPset \"offsetU\" 0.1068; bPset \"offsetV\" 0; bPset \"blurMult\" 0.71844; bPset \"smear\" 0.04854; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"snake1.jpg\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.4 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) snakeGreen;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Hands Brush: Select hands brush for painting" + -align "center" + -label "Hands Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hands.xpm" + -image1 "hands.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 4.734243138; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.004856; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 5; bPset \"softness\" 0.28156; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.7176470757; bPset \"color1G\" 0.6396007538; bPset \"color1B\" 0.6156862974; bPset \"color2R\" 1; bPset \"color2G\" 0.93142277; bPset \"color2B\" 0.8823822737; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.6352941394; bPset \"specularColorG\" 0.4627451003; bPset \"specularColorB\" 0.650980413; bPset \"specular\" 0.3301; bPset \"specularPower\" 0.5824; bPset \"translucence\" 0.5631; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.06796; bPset \"satRand\" 0.06796; bPset \"valRand\" 0.13592; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.02912; bPset \"shadowDiffusion\" 0.62136; bPset \"shadowTransparency\" 0.58252; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 1; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.03884; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.1942; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.03; bPset \"lengthMin\" 0.03; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.031068; bPset \"tubeWidth2\" 0.035924; bPset \"widthRand\" 0.233; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.03884; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.92234; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0.2136; bPset \"azimuthMin\" 0.43688; bPset \"azimuthMax\" 0.5728; bPset \"flatness1\" 0; bPset \"flatness2\" 0.29126; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1.200000048; bPset \"texColor1G\" 1.135858536; bPset \"texColor1B\" 0.9616364241; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1.05; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1.00972; bPset \"smear\" 0.06796; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"hand.iff\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.4 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) hands;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Raw Meat Brush: Select raw meat brush for painting" + -align "center" + -label "Raw Meat Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rawmeat.xpm" + -image1 "rawmeat.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 2.734515847; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 7; bPset \"softness\" 0.15; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.1450980455; bPset \"transparency1G\" 0.1450980455; bPset \"transparency1B\" 0.1450980455; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.6917555332; bPset \"specularColorB\" 0.749859333; bPset \"specular\" 0.70874; bPset \"specularPower\" 5.2428; bPset \"translucence\" 0.47572; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.04; bPset \"lengthMin\" 0.02; bPset \"segments\" 19; bPset \"tubeWidth1\" 0.006796; bPset \"tubeWidth2\" 0.017476; bPset \"widthRand\" 0.48544; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.3398; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.28156; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.16504; bPset \"gravity\" 0.40776; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 0; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1.399999976; bPset \"texColor1G\" 1.399999976; bPset \"texColor1B\" 1.399999976; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0.07766; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.75728; bPset \"smear\" 0; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"rawsteak.rgb\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.1 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) rawmeat;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Flame Curly Brush: Select flame curly brush for painting" + -align "center" + -label "Flame Curly Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flameCurly.xpm" + -image1 "flameCurly.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.7656982396; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.04252389795; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.17886; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.3098039329; bPset \"color1G\" 0.2235294133; bPset \"color1B\" 0.03921568766; bPset \"color2R\" 0.1372549087; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.8666666746; bPset \"transparency1G\" 0.8666666746; bPset \"transparency1B\" 0.8666666746; bPset \"transparency2R\" 1; bPset \"transparency2G\" 1; bPset \"transparency2B\" 1; bPset \"incandescence1R\" 0.2039215714; bPset \"incandescence1G\" 0.1529411823; bPset \"incandescence1B\" 0.01568627357; bPset \"incandescence2R\" 0.1529411823; bPset \"incandescence2G\" 0.01176470611; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 0.8601613641; bPset \"glowColorB\" 0.595744729; bPset \"glowSpread\" 3.561; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.09756; bPset \"satRand\" 0.17074; bPset \"valRand\" 0.88618; bPset \"rootFade\" 0.22764; bPset \"tipFade\" 0.55284; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 5.4369; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1626; bPset \"lengthMin\" 0.1626; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.027642; bPset \"tubeWidth2\" 0.007318; bPset \"widthRand\" 0.73984; bPset \"widthBias\" -0.49592; bPset \"lengthFlex\" 0.61788; bPset \"segmentLengthBias\" 0.08944; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.1493599524; bPset \"elevationMax\" 0.72816; bPset \"azimuthMin\" -0.72816; bPset \"azimuthMax\" 0.96116; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.187; bPset \"splitAngle\" 27.804; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 3; bPset \"branchDropout\" 0.6504; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 5; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 1; bPset \"turbulenceFrequency\" 9.1524; bPset \"turbulenceSpeed\" 0.25242; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" -0.45166; bPset \"momentum\" 0.29268; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 8 0.1057000011 0.9430999756;\r\npresetSetPressure 2 7 0.5 2.5;\r\npresetSetPressure 3 5 0.1463000029 1;\r\nrename (getDefaultBrush()) flameCurly;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lightning White Brush: Select lightning white brush for painting" + -align "center" + -label "Lightning White Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lightningWhite.xpm" + -image1 "lightningWhite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.1804530062; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 1; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.03500000015; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 2.5; bPset \"softness\" 0.07318; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.5760536194; bPset \"color1B\" 0.545542419; bPset \"color2R\" 1; bPset \"color2G\" 0.7369443178; bPset \"color2B\" 0.7058628798; bPset \"transparency1R\" 0.7960784435; bPset \"transparency1G\" 0.7960784435; bPset \"transparency1B\" 0.7960784435; bPset \"transparency2R\" 1; bPset \"transparency2G\" 1; bPset \"transparency2B\" 1; bPset \"incandescence1R\" 0.6176470518; bPset \"incandescence1G\" 0.2517156899; bPset \"incandescence1B\" 0.1262254864; bPset \"incandescence2R\" 0.6102941036; bPset \"incandescence2G\" 0.1625000089; bPset \"incandescence2B\" 0.153431356; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0.37864; bPset \"glowColorR\" 1; bPset \"glowColorG\" 0.6072411537; bPset \"glowColorB\" 0.5374056697; bPset \"glowSpread\" 7.03; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.08738; bPset \"satRand\" 0.20388; bPset \"valRand\" 0.26214; bPset \"rootFade\" 0; bPset \"tipFade\" 0.04854; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.36586; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1.55338; bPset \"gapRand\" 1; bPset \"flowSpeed\" 123.632; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 0.6; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.05; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 5.0486; bPset \"lengthMin\" 4.369; bPset \"segments\" 272; bPset \"tubeWidth1\" 0.031068; bPset \"tubeWidth2\" 0.026214; bPset \"widthRand\" 0; bPset \"widthBias\" 0.04856; bPset \"lengthFlex\" 0.91262; bPset \"segmentLengthBias\" -0.26212; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.71844; bPset \"elevationMax\" 0.97088; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.12622; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 1; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.37864; bPset \"splitAngle\" 36.699; bPset \"splitSizeDecay\" 0.85; bPset \"splitBias\" 0.534; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 4; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1165; bPset \"turbulenceFrequency\" 3.37275; bPset \"turbulenceSpeed\" 18.2787; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.83496; bPset \"gravity\" -0.16503; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0.6602; bPset \"twigAngle1\" 176.505; bPset \"twigAngle2\" 153.786; bPset \"twigTwist\" 0.3398; bPset \"twigLength\" 1.4564; bPset \"twigStart\" 0.02; bPset \"numTwigClusters\" 18.3; bPset \"twigBaseWidth\" 0.09708; bPset \"twigTipWidth\" 0.07766; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2196078449; bPset \"texColor2G\" 0.2196078449; bPset \"texColor2B\" 0.2196078449; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 2.35776; bPset \"repeatV\" 1.86992; bPset \"offsetU\" 0; bPset \"offsetV\" 0.57724; bPset \"blurMult\" 2.5; bPset \"smear\" 0.07318; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0 1;\r\npresetSetPressure 2 0 0 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) lightningWhite;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cumulus Cloud Brush: Select cumulus cloud brush for painting" + -align "center" + -label "Cumulus Cloud Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cumulus.xpm" + -image1 "cumulus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.4524325131; bPset \"depth\" 1; bPset \"modifyDepth\" 0; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.400000006; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.41748; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.631372571; bPset \"transparency1G\" 0.631372571; bPset \"transparency1B\" 0.631372571; bPset \"transparency2R\" 0.8549019694; bPset \"transparency2G\" 0.8549019694; bPset \"transparency2B\" 0.8549019694; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.75728; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.25242; bPset \"tipFade\" 0.14564; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.2912; bPset \"lengthMin\" 0.3884; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.0534; bPset \"tubeWidth2\" 0.2; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.51456; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 1; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0.00972; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1.84464; bPset \"repeatV\" 0.87376; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.08738; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"wrapCloud.iff\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 5 0 1;\r\npresetSetPressure 2 1 0.6 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) cumulus;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Snow Brush: Select snow brush for painting" + -align "center" + -label "Snow Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "snow.xpm" + -image1 "snow.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 25; bPset \"globalScale\" 1.038685276; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 1; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.7864; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1.5; bPset \"color1G\" 1.453500032; bPset \"color1B\" 1.476750016; bPset \"color2R\" 1.5; bPset \"color2G\" 1.5; bPset \"color2B\" 1.5; bPset \"transparency1R\" 0.7686274648; bPset \"transparency1G\" 0.7686274648; bPset \"transparency1B\" 0.7686274648; bPset \"transparency2R\" 0.7490196228; bPset \"transparency2G\" 0.7490196228; bPset \"transparency2B\" 0.7490196228; bPset \"incandescence1R\" 0.01568627357; bPset \"incandescence1G\" 0.01568627357; bPset \"incandescence1B\" 0.01568627357; bPset \"incandescence2R\" 0.007843136787; bPset \"incandescence2G\" 0.007843136787; bPset \"incandescence2B\" 0.007843136787; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0.42718; bPset \"specularPower\" 17.6193; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0.21952; bPset \"rootFade\" 0; bPset \"tipFade\" 0.12196; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.80582; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0.95; bPset \"gapSpacing\" 0.2; bPset \"gapRand\" 1; bPset \"flowSpeed\" -0.15; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 50; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.5; bPset \"lengthMin\" 0.8000000119; bPset \"segments\" 29; bPset \"tubeWidth1\" 0.015; bPset \"tubeWidth2\" 0.015; bPset \"widthRand\" 0.77236; bPset \"widthBias\" -0.56096; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.3252; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.813; bPset \"elevationMax\" 0.9756; bPset \"azimuthMin\" -0.20324; bPset \"azimuthMax\" 0.21952; bPset \"flatness1\" 0.62602; bPset \"flatness2\" 0.61788; bPset \"twist\" 0; bPset \"twistRate\" 0.37398; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.17082; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0.05000000075; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0.02999999933; bPset \"turbulenceType\" 4; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1; bPset \"turbulenceFrequency\" 1; bPset \"turbulenceSpeed\" 0.25; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 1; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0; bPset \"texOpacityOffset\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" -1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 14.3689; bPset \"repeatV\" 0.5; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.93204; bPset \"smear\" 0.38212; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.52846; bPset \"fractalAmplitude\" 1.1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 6 0.4472 1;\r\npresetSetPressure 2 5 0.6911 1;\r\npresetSetPressure 3 10 0.5366 1;\r\nrename (getDefaultBrush()) snow;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulAnimation.mel b/2009-x64/prefs/shelves/shelf_PaulAnimation.mel new file mode 100644 index 0000000..d30f297 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulAnimation.mel @@ -0,0 +1,603 @@ +global proc shelf_PaulAnimation () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "His" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "//TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\n//ToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle big time slider" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "bigTm" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.ui\rPMP.maya.ui.toggleBigTimeSlider()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Picker - Key all" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "KEY" + -image "MENUICONKEYS.xpm" + -image1 "MENUICONKEYS.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "// Run the abxPicker command to key all; otherwise, key RIG_Generick_all_ctrls_qss\r\nif( (!exists(\"abxPickerExecuteByLabel\")) || (!abxPickerExecuteByLabel(\"Generick_Main_PIKR\", \"key\", true)))\r\n{\r\n\tsetKeyframe RIG_Generick_all_ctrls_qss;\r\n}\r\n\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Picker - Select All" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "All" + -image "RADIAL.xpm" + -image1 "RADIAL.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "// Run the abxPicker command to select all; otherwise, select RIG_Generick_all_ctrls_qss\r\nif( (!exists(\"abxPickerExecuteByLabel\")) || (!abxPickerExecuteByLabel(\"Generick_Main_PIKR\", \"all\", true)))\r\n{\r\n\tselect -r RIG_Generick_all_ctrls_qss;\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Apply Maya Motion Trail" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Trail" + -image "MENUICONEDITCURVES.xpm" + -image1 "MENUICONEDITCURVES.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doMotionTrail 1 { \"snapshot -motionTrail 1 -increment 1 -constructionHistory 1 -startTime `playbackOptions -query -min` -endTime `playbackOptions -query -max`\", \"point\", \"0\", \"force\"};\r\ndoMotionTrail 1 { \"snapshot -motionTrail 1 -increment 1 -constructionHistory 1 -startTime `playbackOptions -query -min` -endTime `playbackOptions -query -max`\", \"line\", \"0\", \"force\"};\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxSmartKey" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "sKey" + -image "abxSmartKey.bmp" + -image1 "abxSmartKey.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "abxSmartKey ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "autoTangent ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "T_autoTangnt.bmp" + -image1 "T_autoTangnt.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "autoTangent ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "zoomerate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "zoom" + -image "zooShots.xpm" + -image1 "zooShots.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "zoomerate ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle X-Ray" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "T_toggleXRay.bmp" + -image1 "T_toggleXRay.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n string $currentPanel = `getPanel -underPointer`;\r\n if (\"\" == $currentPanel) \r\n {\r\n $currentPanel = `getPanel -withFocus`;\r\n }\r\n if (\"\" != $currentPanel) \r\n {\r\n string $panelType = `getPanel -typeOf $currentPanel`;\r\n if ($panelType == \"modelPanel\") \r\n {\r\n int $state = `modelEditor -q -xray $currentPanel`;\r\n modelEditor -e -xray (!$state) $currentPanel;\r\n }\r\n }\r\n}\r\n\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "poseLib" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "poses" + -image "T_poseLib.BMP" + -image1 "T_poseLib.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tglobal string $poseLibVersion;\r\n\tglobal string $poseLibDefaultPath;\r\n\tglobal string $poseLibCurrentProject;\r\n\t$poseLibCurrentProject = `workspace -q -fn`;\r\n\r\n\tif($poseLibVersion == \"\")\r\n\t{\r\n\t\tsource poseLib;\r\n\t}\r\n\telse if ( `optionVar -exists poseLibDefaultPathStatus` )\r\n\t{\r\n\t\t$poseLibDefaultPath = `optionVar -q poseLibDefaultPathStatus`;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t$poseLibDefaultPath = $poseLibCurrentProject + \"/poseLib\";\r\n\t}\r\n\r\n\tposeLib;\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "cMotionTrailUI ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "track" + -image "T_cMotion.BMP" + -image1 "T_cMotion.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMotionTrailUI ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "tweenMachine ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "tween" + -image "tweenMachine.xpm" + -image1 "tweenMachine.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "tweenMachine ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "oaIcon2Shelf ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Icon" + -image "T_icon2shelf.BMP" + -image1 "T_icon2shelf.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "oaIcon2Shelf ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "load the zooShots UI - right click for additional options" + -docTag "zooToolBox" + -align "center" + -label "zooToolBox shelf button" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "toolbx" + -image "zooToolBox.xpm" + -image1 "zooToolBox.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "zooToolBox;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker, python version" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "pick" + -image "abxPicker.bmp" + -image1 "abxPicker.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import abxPicker\r\nreload(abxPicker)\r\nmyPick = abxPicker.abxPicker()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Key the selected cameras, then make them unkeyable" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "keyCam" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.animation\rPMP.maya.animation.keyCamera()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulCurves.mel b/2009-x64/prefs/shelves/shelf_PaulCurves.mel new file mode 100644 index 0000000..9ef3c20 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulCurves.mel @@ -0,0 +1,913 @@ +global proc shelf_PaulCurves () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "His" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "HKMagnet Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "HKMagnetIcon.bmp" + -image1 "HKMagnetIcon.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "HKMagnetToolEnter;" + -sourceType "mel" + -doubleClickCommand "HKMOptionBox;" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "EP Curve Tool: Create a curve on the grid or live surface specifying edit points" + -align "center" + -label "EP Curve Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveEP.xpm" + -image1 "curveEP.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EPCurveTool" + -sourceType "mel" + -doubleClickCommand "EPCurveToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add Points Tool: Select the curve to add points" + -align "center" + -label "Add Points Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveAddPt.xpm" + -image1 "curveAddPt.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AddPointsTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reverse Curves: Select curve(s)" + -align "center" + -label "Reverse Curve Direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "reverse.xpm" + -image1 "reverse.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "reversePreset 1 1 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select surface(s) or isoparm(s) to give direction" + -align "center" + -label "Reverse Surface Direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "reverseSurface.xpm" + -image1 "reverseSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "reversePreset 1 1 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Detach curves options" + -align "center" + -label "Detach Curves Option Box" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "detachCurve.xpm" + -image1 "detachCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DetachCurveOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select surface curve(s)" + -align "center" + -label "Duplicate Surface Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "duplicateCurve.xpm" + -image1 "duplicateCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "duplicateCurvePresetArgList( \"2\", {\"1\",\"0\",\"0\",\"2\"} )" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Insert Knot: Select curve parameter point(s)" + -align "center" + -label "Insert Knot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "insertKnot.xpm" + -image1 "insertKnot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "insertKnotPreset 1 1 1 1 0 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select isoparm(s)" + -align "center" + -label "Insert Isoparms" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "insert.xpm" + -image1 "insert.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "insertKnotPreset 1 1 1 1 0 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach curves options" + -align "center" + -label "Attach Curves Option Box" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "attachCurves.xpm" + -image1 "attachCurves.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachCurveOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach surfaces options" + -align "center" + -label "attachSrfDialog" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "align.xpm" + -image1 "align.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachSurfacesOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle visible normals in shaded mode" + -align "center" + -label "Normals (Shaded Mode)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Nrm" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleNormals" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle edit point visibility" + -align "center" + -label "Edit Points" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "EP" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleEditPoints" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle CV visibility" + -align "center" + -label "CVs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CVs" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleCVs" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Fine: Set the Display Smoothness to Fine" + -align "center" + -label "Fine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Fin" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displaySmoothness -full -du 2 -dv 2 -pw 16 -ps 4;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rebuild curve options" + -align "center" + -label "Rebuild Curve Option Box" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rebuildCurve.xpm" + -image1 "rebuildCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RebuildCurveOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rebuild surfaces options" + -align "center" + -label "rebuildSurfaceDialogItem" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rebuildSurface.xpm" + -image1 "rebuildSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RebuildSurfacesOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Loft" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "skin.xpm" + -image1 "skin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doPerformLoft(\"1\", {\"1\",\"1\",\"1\",\"0\",\"3\",\"1\",\"0\",\"0\"} )" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Birail 1 Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "birail1Gen.xpm" + -image1 "birail1Gen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "birailPreset 1 {\"1\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\" }" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Birail 2 Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "birail2Gen.xpm" + -image1 "birail2Gen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "birailPreset 1 {\"1\", \"1\", \"0\", \"0\", \"0.5\", \"0\", \"0\", \"0\", \"0\", \"0\" }" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Birail 3+ Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "birail3Gen.xpm" + -image1 "birail3Gen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "birailPreset 1 {\"1\", \"1\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\" }" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select 3 or 4 curves, isoparms or trim edges" + -align "center" + -label "Boundary" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "boundary.xpm" + -image1 "boundary.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performBoundaryPreset 1 0 0 0 0 1 0.01 0.01" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select 3 or 4 curves, isoparms or trim edges (order of selection is important)" + -align "center" + -label "Square" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "squareSrf.xpm" + -image1 "squareSrf.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "squareSrfPreset 1 2 5 0 0 0 0 0 1 0.01 0.01" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt geometry tool options" + -align "center" + -label "menuItem580" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryToolOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select NURBS surfaces" + -align "center" + -label "Global Stitch" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "globalStitch.xpm" + -image1 "globalStitch.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "globalStitchPreset(1,1,1,1,2,1,0.001,0.1,8)" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select two isoparms" + -align "center" + -label "Stitch Edges Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "stitchSrf.xpm" + -image1 "stitchSrf.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "StitchEdgesTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select two curves on surface, isoparms or trim edges" + -align "center" + -label "Freeform Fillet" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "filletFreeform_S.xpm" + -image1 "filletFreeform_S.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "freeFormFilletPreset(1,0,0.5,0,0.1,0.1)" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select curves on surface, isoparms or trim edges" + -align "center" + -label "Fillet Blend Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "blendSurface.xpm" + -image1 "blendSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doFilletBlendArgList 2 {\"1\", \"2\", \"1\", \"0\", \"0\", \"0\", \"0.1\", \"0.1\", \"0\", \"1\", \"0\", \"0\", \"1\", \"0\", \"0\", \"0\", \"1\", \"0\" }" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select pairs of surface edges that meet" + -align "center" + -label "Round Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "roundSrf.xpm" + -image1 "roundSrf.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RoundTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Circular fillet options" + -align "center" + -label "circularFilletDialogItem" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "surfaceFillet.xpm" + -image1 "surfaceFillet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CircularFilletOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select a surface with a curve on it" + -align "center" + -label "Trim Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "trim.xpm" + -image1 "trim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TrimTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulLighting.mel b/2009-x64/prefs/shelves/shelf_PaulLighting.mel new file mode 100644 index 0000000..d35da44 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulLighting.mel @@ -0,0 +1,287 @@ +global proc shelf_PaulLighting () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "Delete History on selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Hist" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Zero Pivots" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ZP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "xform -zeroTransformPivots" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Export file for use as reference" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "saveE" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging.exportFile\r\rPMP.maya.rigging.exportFile.saveExport()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create a spot light on the grid or live surface" + -align "center" + -label "Soft Spot Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "spotlight.xpm" + -image1 "spotlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.lighting\r\nPMP.maya.lighting.createSoftSpotlight()\r\n" + -sourceType "python" + -doubleClickCommand "CreateSpotLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "sIBL" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sIBL.xpm" + -image1 "sIBL.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "sIBL;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulPoly.mel b/2009-x64/prefs/shelves/shelf_PaulPoly.mel new file mode 100644 index 0000000..4ece4e5 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulPoly.mel @@ -0,0 +1,1128 @@ +global proc shelf_PaulPoly () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "Delete History on selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Hist" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Zero Pivots" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ZP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "xform -zeroTransformPivots" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Export file for use as reference" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "saveE" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging.exportFile\r\rPMP.maya.rigging.exportFile.saveExport()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle Intermediate Object state" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Intrmd" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "plug = None\rfor obj in ls(sl=1):\r\tplug = obj + \".intermediateObject\"\r\tsetAttr(plug, 1 - getAttr(plug))" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdivide: Subdivide the selected edges or faces" + -align "center" + -label "Subdivide" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySubdFacet.xpm" + -image1 "polySubdFacet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performPolySubdivide \"\" 0" + -sourceType "mel" + -doubleClickCommand "SubdividePolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Duplicate Edge Loop Tool: " + -align "center" + -label "Duplicate Edge Loop Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyDuplicateEdgeLoop.xpm" + -image1 "polyDuplicateEdgeLoop.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performPolyDuplicateEdge 0" + -sourceType "mel" + -doubleClickCommand "DuplicateEdgesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cut Faces Tool: Cut the faces using a plane" + -align "center" + -label "Cut Faces Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCut.xpm" + -image1 "polyCut.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CutPolygon" + -sourceType "mel" + -doubleClickCommand "CutPolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "ChamferVertex: Chamfer the selected vertices" + -align "center" + -label "Chamfer Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyChamfer.xpm" + -image1 "polyChamfer.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyChamferVtx 1 0.25 0;" + -sourceType "mel" + -doubleClickCommand "ChamferVertexOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Poke Faces: Poke the selected faces by creating a new vertex at the center of each face" + -align "center" + -label "Poke Faces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPoke.xpm" + -image1 "polyPoke.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PokePolygon" + -sourceType "mel" + -doubleClickCommand "PokePolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wedge Faces: Wedge the selected faces by extruding & rotating them about a selected edge in those faces" + -align "center" + -label "Wedge Faces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyWedgeFace.xpm" + -image1 "polyWedgeFace.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "WedgePolygon" + -sourceType "mel" + -doubleClickCommand "WedgePolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collapse: Collapse the selected edges or faces" + -align "center" + -label "Collapse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCollapseEdge.xpm" + -image1 "polyCollapseEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performPolyCollapse 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Split Around Selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "splitAroundSelection.bmp" + -image1 "splitAroundSelection.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OMT_to_splitAroundSelection" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fill Hole: Create a face filling the hole around the selected border edge(s)" + -align "center" + -label "Fill Hole" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCloseBorder.xpm" + -image1 "polyCloseBorder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FillHole" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select border edges to append a face to the selected shell" + -align "center" + -label "Append to Polygon Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyAppendFacet.xpm" + -image1 "polyAppendFacet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setToolTo polyAppendFacetContext ; polyAppendFacetCtx -e -pc `optionVar -q polyKeepFacetsPlanar` polyAppendFacetContext" + -sourceType "mel" + -doubleClickCommand "setToolTo polyAppendFacetContext ; polyAppendFacetCtx -e -pc `optionVar -q polyKeepFacetsPlanar` polyAppendFacetContext; toolPropertyWindow" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Merge vertices / border edges based on selection" + -align "center" + -label "Merge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMergeVertex.xpm" + -image1 "polyMergeVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performPolyMerge 0" + -sourceType "mel" + -doubleClickCommand "PolyMergeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Merge Edge Tool: Merge the two selected border edges, if topologically possible" + -align "center" + -label "Merge Edge Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMergeEdge.xpm" + -image1 "polyMergeEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MergeEdgeTool" + -sourceType "mel" + -doubleClickCommand "MergeEdgeToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Propagate selection pattern of edge loops or rings" + -align "center" + -label "Select Every N Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "NthE" + -image "bonusGame.xpm" + -image1 "bonusGame.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "selectEveryNEdge" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select two polygon faces and two polygon edges to bridge" + -align "center" + -label "Bridge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Bri" + -image "bonusGame.xpm" + -image1 "bonusGame.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "tcPolyBridge" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Edge: Delete non-border edges and cleanup their vertices" + -align "center" + -label "Delete Edge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyDelEdge.xpm" + -image1 "polyDelEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteEdge" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create a manipulator to translate or scale selected polygon components" + -align "center" + -label "Component Transform Manipulator" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CTM" + -image "bonusGame.xpm" + -image1 "bonusGame.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "bgComponentTransformManip" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Face Centers: Toggle the Face Center visibility" + -align "center" + -label "Face Centers" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FC" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolygonFaceCenters" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Vertex Normals" + -align "center" + -label "Vertex Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "VN" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleVertexNormalDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Normals: Toggle the Face Normal visibility" + -align "center" + -label "Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Nor" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleFaceNormals" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Unlock the Vertex normals" + -align "center" + -label "Unlock Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "vertexNormalEdit.xpm" + -image1 "vertexNormalEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyNormalPerVertex -ufn true" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reverse the normals of the selected faces" + -align "center" + -label "Reverse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyNormal.xpm" + -image1 "polyNormal.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReversePolygonNormals" + -sourceType "mel" + -doubleClickCommand "ReversePolygonNormalsOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "SoftEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SoftEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 1;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "HardEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HardEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 0;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Soft/Hard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SfHd" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplaySoftEdges" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Standard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Std" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplayEdges" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set the soft/hard threshold angles for edge normals" + -align "center" + -label "Set Normal Angle..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySoftEdge.xpm" + -image1 "polySoftEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polySoftEdgeWin" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Selection of border edges" + -align "center" + -label "Select Border Edge Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySelectEdgeBorder.xpm" + -image1 "polySelectEdgeBorder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SelectBorderEdgeTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select all instances of selected objects as well, or propogate selected components to all instances" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "+INST" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_selectInstances(true);" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Duplicate with leaf-level items instanced" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IDup" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "duplicate -instanceLeaf" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select new shape, then shapes you wish to replace" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IRep" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_replaceShapes();" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Add an instance of the shape (1) to the parent (2)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IAdd" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tstring $sel[] = `ls -long -sl`;\r\n\tif(size($sel) > 1)\r\n\t{\r\n\t\tint $i;\r\n\t\tfor($i = 1; $i < size($sel); ++$i)\r\n\t\t{\r\n\t\t\tparent -add -shape -r $sel[0] $sel[$i];\r\n\t\t}\r\n\t}\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Remove the selected instance" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IRem" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tstring $sel[] = `ls -long -sl`;\r\n\tfor($item in $sel)\r\n\t{\r\n\t\tparent -removeObject -shape $item;\r\n\t}\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Convert the selected item to a leaf-instance" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "2Leaf" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_convertToLeafInstance()" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "axmesh;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "axmesh" + -image "staticMesh.bmp" + -image1 "staticMesh.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "axmesh;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Export selected items to unreal as a prefab (.t3d) file" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "axInst" + -image "staticMesh.bmp" + -image1 "staticMesh.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_exportUTPrefab();" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulRig.mel b/2009-x64/prefs/shelves/shelf_PaulRig.mel new file mode 100644 index 0000000..0a6dec3 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulRig.mel @@ -0,0 +1,905 @@ +global proc shelf_PaulRig () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "Delete History on selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Hist" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Zero Pivots" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ZP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "xform -zeroTransformPivots" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Export file for use as reference" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "saveE" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging.exportFile\r\rPMP.maya.rigging.exportFile.saveExport()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Clear PMP modules so they may be reloaded" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "clPMP" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.pyUtils\r\nPMP.pyUtils.clearPMP()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "djRivet" + -align "center" + -label "djRivet" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "djRivet.bmp" + -image1 "djRivet.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "source djRivet.mel; djRivet;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rivet (button). Select two edges of polygon or select one point of surface." + -align "center" + -label "Rivet (button)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rivet.xpm" + -image1 "rivet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "rivet" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Click to place joint. Click on existing joint to add to skeleton. Click-Drag to position joint." + -align "center" + -label "Joint Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinJoint.xpm" + -image1 "kinJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "JointTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint skin weights tool options" + -align "center" + -label "skinWeightPaintDialogItem" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintSkinWeights.xpm" + -image1 "paintSkinWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ArtPaintSkinWeightsToolOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AS_Skinny (better paint skin weights)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "AS" + -image "paintSkinWeights.xpm" + -image1 "paintSkinWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AS_Skinny;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "skinningTools (better paint skin weights)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ST" + -image "paintSkinWeights.xpm" + -image1 "paintSkinWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "skinningTools" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select skinned surface(s) and influence transform(s)." + -align "center" + -label "Add Influence" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "AI" + -image "menuIconSkinning.xpm" + -image1 "menuIconSkinning.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AddInfluence" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Move joints on smooth bound skins without affecting the skinning." + -align "center" + -label "Move Skinned Joints Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "moveSkinnedJoint.xpm" + -image1 "moveSkinnedJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MoveSkinJointsTool" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror skin weights options" + -align "center" + -label "mirrorSkinWeightsDialog" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Wght" + -image "mirrorSkinWeight.xpm" + -image1 "mirrorSkinWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorSkinWeightsOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Transfer weights from one influence object to another" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cometTransferWeights.bmp" + -image1 "cometTransferWeights.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nselected = ls(sl=1)\r\nPMP.maya.rigging.moveWeights(selected[0], selected[1], *selected[2:])" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Quickly transfer weights from one or more joints to another joint for selected points of a skinCluster deformed object." + -align "center" + -label "cometTransferWeights..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cometTransferWeights.bmp" + -image1 "cometTransferWeights.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "source \"cometTransferWeights.mel\"; cometTransferWeights(); " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Mirror a blend shape across the x axis" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Blnd" + -image "mirrorSkinWeight.xpm" + -image1 "mirrorSkinWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ntMBS" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select one or more objects, with the base shape selected last" + -align "center" + -label "Blend Shape" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "blendShape.xpm" + -image1 "blendShape.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateBlendShape" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint blendShape weights tool options" + -align "center" + -label "blendShapeWeightPaintDialogItem" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintBlendshape.xpm" + -image1 "paintBlendshape.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ArtPaintBlendShapeWeightsToolOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select the joint hierarchy below selected objects" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "selJnt" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\rselect(PMP.maya.rigging.getJointHierarchy(), r=1)\r" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Parent Chain - parent 1st selected object to 2nd, 2nd to 3rd, etc" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "parCh" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\rPMP.maya.rigging.parentChain()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "tap" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "tap" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_taper;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_taper_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle Isolate Selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "isol" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{ \r\n\tstring $currentPanel = `getPanel -withFocus`;\r\n string $panelType = `getPanel -to $currentPanel`;\r\n if ($panelType == \"modelPanel\")\r\n {\r\n if(`isolateSelect -q -state $currentPanel`)\r\n {\r\n enableIsolateSelect $currentPanel false;\r\n }\r\n else\r\n {\r\n enableIsolateSelect $currentPanel true;\r\n }\r\n }\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Constrain Skeleton - select parentRoot, constrainedRoot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cstSk" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\rsel = selected()\rif sel and len(sel)==2:\r\tPMP.maya.rigging.constrainSkeleton(sel[0], sel[1])\relse:\r\tfrom maya.OpenMaya import displayError\r\tdisplayError(\"To use, select: parentRoot, constrainedRoot\")\r" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Place Control - on each joint of the selected skeleton, place a copy of the selected control" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "plCnt" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nsel = selected()\r\nif sel and len(sel)>=2:\r\n\tPMP.maya.rigging.placeControlOnJoints(sel[0], sel[1:])\r\nelse:\r\n\tfrom maya.OpenMaya import displayError\r\n\tdisplayError(\"To use, select: control, jointRoot(s)\")\r\n" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Zero controls" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ZeroC" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.zeroControls()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "polyDuplicateAndConnect()" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "plyCn" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyDuplicateAndConnect()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "select the start control, then the end control to add IK to" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PM_autoIK.bmp" + -image1 "PM_autoIK.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging.IKFK\rPMP.maya.rigging.IKFK.makeIk()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AutoRig: select root joint and mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PM_autoFK.bmp" + -image1 "PM_autoFK.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging.autoRig\r\nPMP.maya.rigging.autoRig.autoRig()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AutoWeight: Select root joint, then mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "heatWeight.bmp" + -image1 "heatWeight.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PM_heatWeight\r\nPM_heatWeight.heatWeight()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select new shape, then shapes you wish to replace" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IRep" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_replaceShapes();" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Add an instance of the shape (1) to the parent (2)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IAdd" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tstring $sel[] = `ls -long -sl`;\r\n\tif(size($sel) > 1)\r\n\t{\r\n\t\tint $i;\r\n\t\tfor($i = 1; $i < size($sel); ++$i)\r\n\t\t{\r\n\t\t\tparent -add -shape -r $sel[0] $sel[$i];\r\n\t\t}\r\n\t}\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Remove the selected instance" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "IRem" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tstring $sel[] = `ls -long -sl`;\r\n\tfor($item in $sel)\r\n\t{\r\n\t\tparent -removeObject -shape $item;\r\n\t}\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulScripts.mel b/2009-x64/prefs/shelves/shelf_PaulScripts.mel new file mode 100644 index 0000000..bbce4c7 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulScripts.mel @@ -0,0 +1,215 @@ +global proc shelf_PaulScripts () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Load new script nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "load" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tif(basenameEx(`file -q -sceneName`) == \"Generick_rig_v1.5\")\r\n\t{\r\n\t\tstring $fileName = `workspace -expandName \"scenes/scriptNodes/zooLoadScriptNodes.mel\"`;\r\n\t\tloadFileIntoScriptNode(\"zooLoadScriptNodes\", $fileName, false);\r\n\t\tscriptNode -executeBefore \"zooLoadScriptNodes\";\r\n\t\tloadZooScriptNodes();\r\n\t\tscriptNode -executeBefore \"zooLoadScriptNodes\";\r\n\t}\r\n}\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Check Dependencies" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "DEP" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\t\teval(\"source PMP_listProcNames;\");\r\n\t\teval(\"source PMP_listProcUses;\");\r\n\r\n\t\tglobal string $zooScriptsUsedByGenerick[];\r\n\r\n\t\tstring $dependencyChecks[];\r\n\r\n\t\tstring $scriptsDir = `internalVar -userAppDir` + \"scripts/\";\r\n\t\tstring $dirs[] = `zooGetRecursedSubDirs $scriptsDir`;\r\n\t\tstring $fileList[];\r\n\t\tstring $file;\r\n\t\t$dirs[size($dirs)] = $scriptsDir;\r\n\r\n\t\tfor($scriptsDir in $dirs)\r\n\t\t{\r\n\t\t\t$fileList = `getFileList -folder $scriptsDir -filespec \"*.mel\"`;\r\n\t\t\tfor($file in $fileList)\r\n\t\t\t{\r\n\t\t\t\t$dependencyChecks[size($dependencyChecks)] = $scriptsDir + $file;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tstring $scriptsToCheck[];\r\n\r\n\t\tstring $scriptBaseName;\r\n\t\tstring $workspaceScenesDir = `workspace -q -rootDirectory` + `workspace -ote scene`;\r\n\t\tstring $scriptNodeDir = $workspaceScenesDir + \"/scriptNodes\";\r\n\t\tint $i;\r\n\r\n\t\tfor($i = 0; $i < size($zooScriptsUsedByGenerick); $i++)\r\n\t\t{\r\n\t\t\t$scriptBaseName = $zooScriptsUsedByGenerick[$i];\r\n\t\t\t$scriptsToCheck[$i] = $scriptNodeDir + \"/\" + $scriptBaseName + \"Node_new.mel\";\r\n\t\t}\r\n\r\n\t\tPMP_listProcUses($scriptsToCheck, $dependencyChecks, false);\r\n\r\n\t}\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "mel Script Lister" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "LIST" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "/* This file downloaded from Highend3d.com\r'' \r'' Highend3d.com File Information:\r'' \r'' Script Name: MEL LISTER++\r'' Author: \r'' Last Updated: Aug 11, 2007\r'' Update/Change this file at:\r'' http://Highend3d.com/maya/downloads/mel_scripts/utility_external/misc/4666.html\r'' \r'' Please do not alter any information above this line\r'' it is generated dynamically by Highend3d.com and will\r'' be changed automatically on any updates.\r*/\r/*\rMEL LISTER++ v1.5\r15-4-2007 :: 27-4-2007\r\rLAST MODIFIED:\r13 (Sun) May 2007 - 08:00:29 AM \r\r\rMEL LISTER++ was developed from the key idea of MEL LISTER by Jeremiah Grant. He has developed a tool to List all files present in a specific folder and one can view/edit/save those files. He added a feature to show description about the scripts (popping up first 6 lines of all script). I took that script and did various modifications. And added following features like...\r\r*Automatic Script Sourcing...\r*Automatic Script Executing (If the script is prepared to execute automatically on sourcing)...\r*Switching to the any script folders are made easy to navigate...\r*You can copy/paste the folder path and load them easily...\r*Easily switch to the your favorite script folders quickly(And even open them in explorer)...\r*Listing the Executable Procedures present inside the script files...\r*Navigate around the procedures easily by clicking on them (This makes it easy to see PROCEDURE arguments and return types)...\r*Allowing to easily execute all the procedures, (Just double click, If there is no arguments needed)...\r*Quick/Easily edit and save...\r*Commands and Scripts can be typed directly into the Editor window and it can be sourced or executed easily...\r*You can easily put your scripts to your Shelf...\r*Randomly, ICONs are chosen when you place your scripts to Shelf(Skipping those old gray n black MEL icon)...\r*Both Script AND execution command can be placed on to the Shelf...\r*You can drag drop various scripts and commands from your Shelf, And add random icon to them and place them back to the Shelf....\r*Find/Find Next and Find Previous supports searching...\r*External Editor can be invoked optionally for more flexible editing...\r*Help line provide support for your most actions...\r\r\rI thought of developing a script that will perform most operations like done in MEL STUDIO.\rAs MEL LISTER++ comes as a script and not an API, it can be used for any version of maya.\rI hope, I have achieved (VERY) few of MEL STUDIOS feature.\rSoon I will try to add more features to this.\r\rI humbly request your support!\r\r\r\r\r\r\r\rHow to Install MEL LISTER++ ...\r\r\r* Copy the entire script and paste it into the maya's script editor window......!\r* Then, Drag those entire script(Currently pasted) from the script editor to the Shelf.\r* Now Click the shelf ICON and enjoy.\r\r\rHow to Use MEL LISTER++ ...\r\r- Use \"...\" button to browse a folder and select a MEL file. You will be listed with all files in that directory.\r- Click select the file from the list this will load the file for editing.\r- Double click will SOURCE that file and load that file for editing.\r- List of Procedures it contains will be listed in a list box below.\r- Click them to move your editing cursor to procedure's declaration part. So that you can see ARGUMENTS and RETURN Type.\r- This will also copy the procedure name to separate text box so that you can add your arguments. You can even drag the command from here to your shelf.\r- Double click any of the procedure name from the list to execute them (If it doesn't need any arguments)\r\r- Right click the above address bar to have quick list of favorite folders to quick navigate.\r\r- Move your scripts or execution commands to shelf with random icon. if needed.\r\r- You can drag your commands and scripts from shelf to Mel lister++ editing area and send them back to shelf with random icon.\r\r- You can clear the editing area and start writing your own script.\r- Save them using \"Save as...\" and Source them using \"source script\" button.\r- If it has no procedure your script will be executed automatically.\r- else drag the procedure name to executer text box and click \"ExecuteProc\" button.\r\r\rKnown Bugs...\r*Attempting to load this (MEL LISTER++) script into the MEL LISTER++ might cause some errors.\r\rI will try to remove the above said bugs in my next version.\r\r\r\rUpdated features...\r\rUpdate v1.0.2 - 01.05.2007\r\r*UI size can be extended.\r*Dialog that pops out after Xternal editing is removed and now MEL LISTER PLUS automatically reloads the file.\r*Warning pops out for saving the file if its modified and didn't save.\r\rUpdate v1.5.0 - 13 (Sun) May 2007 - 06:48:28 AM \r\r*Browse and Navigate folders easily.\r*Source all files in a folder.\r*Copy a script file to your maya default script folder.\r*Copy all script file from current folder to maya default script folder.\r\r\r\r\rScript by\rKumaresan \rJeremiah Grant\r\rSpecial Thanks to\rBryan Ewert\rErick Miller\r\rDate\r15-4-2007 :: 27-4-2007\r\rLast Update: \r13 (Sun) May 2007 - 08:14:49 AM \r\rContact\rkaymatrix@gmail.com\r\rChennai - India\r*/\r\r\r\r\r\r\rproc MyFavMenu()\r{\r\t\r\t\t\t\t\r\tmenuItem -p MyFavMenuLst -l \"Maya Default...\" -c \"MyFavFolders(1)\";\r\tmenuItem -p MyFavMenuLst -d 1;\r\tmenuItem -p MyFavMenuLst -l \"Animation...\" -c \"MyFavFolders(2)\";\r\tmenuItem -p MyFavMenuLst -l \"Assorted...\" -c \"MyFavFolders(6)\";\r\tmenuItem -p MyFavMenuLst -l \"Character TD...\" -c \"MyFavFolders(3)\";\r\tmenuItem -p MyFavMenuLst -l \"Lighting...\" -c \"MyFavFolders(5)\";\r\tmenuItem -p MyFavMenuLst -l \"Rigging...\" -c \"MyFavFolders(4)\";\r\tmenuItem -p MyFavMenuLst -l \"Downloaded...\" -c \"MyFavFolders(7)\";\r\t\r}\r\r\r\rproc MyFavFolders(int $z)\r{\r\tglobal string $textList;\r\tstring $nxpath = \"\";\r\tstring $mscriptpath = `internalVar -usd`;\r\tstring $foruse = `substring $mscriptpath 1 (size($mscriptpath)-1)`;\r\t\r\t\r\t//MAKE SURE AT THE END YOU DONT PUT THE \"/\" SIGN.....\r\t\r\t\r\tif($z == 1)\r\t\t$nxpath = $foruse;\r\tif($z == 2)\r\t\t$nxpath = \"E:/GoodScripts/Animation\";\r\tif($z == 3)\r\t\t$nxpath = \"E:/GoodScripts/Character TD\";\r\tif($z == 4)\r\t\t$nxpath = \"E:/GoodScripts/Rigging\";\r\tif($z == 5)\r\t\t$nxpath = \"E:/GoodScripts/Lighting\";\r\tif($z == 6)\r\t\t$nxpath = \"E:/Maya Works/Maya Script Works/Other's Brain\";\r\tif($z == 7)\r\t\t$nxpath = \"C:/Documents and Settings/Antz/My Documents/Maya Scripts/GoodScripts/ForScriptys\";\r\t\r\t\r\t\r\t\r\t\r\ttextField -e -tx $nxpath mylbl;\r\tMyListFiles();\r\t\r}\r\r\r\r\r\r\r\r\r\rglobal string $speedsave = \"\";\rglobal string $melDirectory = \"\";\rglobal string $saveMelDir = \"\";\rglobal string $fillst = \"\";\rglobal int $windwidth;\r\r\r\rproc MyCopier(int $selr)\r{\r\rglobal string $fillst;\rglobal string $melDirectory;\rstring $dirPlusScript;\rstring $fils[];\rstring $selcx[];\r\r\tif ($selr == 0)\r\t{\r\t\t$selcx = `textScrollList -q -si scriptList`;\r\t\tif($selcx[0]!=\"\")\r\t\t{\r\t\t\tglobal string $melDirectory;\r\t\t\tstring $dirPlusScript;\r\t\t\t$dirPlusScript = (\"\\\"\" + $melDirectory+$selcx[0] + \"\\\"\");\r\t\t\tMyCopierSupport ($dirPlusScript);\r\t\t}\t\r\t}\r\telse if ($selr==1)\r\t{\r\r\t\tif($fillst!=\"\")\r\t\t{\r\t\ttokenize $fillst \"\\n\" $fils;\r\r\t\tstring $result = `confirmDialog -message \"This will copy all script files present in the current folder to your default script folder. This might take considerable time. Do you want to proceed?\" -title \"Confirm copying all scripts...\"\r\t\t-button \"Yes\" -button \"No\" -defaultButton \"Yes\"\r\t\t-cancelButton \"No\" -dismissString \"No\"`;\r\t\t\t\t\r\t\tif($result==\"Yes\")\r\t\t\t{\r\r\t\t\t\tfor($i=0;$i<`size($fils)`;$i++)\r\t\t\t\t{\r\t\t\t\t\tif($fils[$i]!=\"\")\r\t\t\t\t\t{\r\t\t\t\t\tiprint ($fils[$i] + \" script contains some errors! Can't proceed!\");\r\t\t\t\t\t$dirPlusScript = (\"\\\"\" + $melDirectory+$fils[$i] + \"\\\"\");\r\t\t\t\t\tMyCopierSupport ($dirPlusScript);\r\t\t\t\t\t}\r\t\t\t\t}\r\t\t\t\tiprint(\"Script files copied.... Check the maya default folder!\");\r\t\t\t\r\t\t\t}\r\t\t}\r\r\r\t}\r\r}\r\rproc MyCopierSupport(string $source)\r{\r\tstring $filname = basename( $source, \"\" );\r\tstring $mscriptpath = `internalVar -usd`;\r\tstring $desti = `substring $mscriptpath 1 (size($mscriptpath)-1)`;\r\t$desti = \"\\\"\" + $desti + \"/\" + $filname;\r\r\t\teval(\"sysFile -copy \" + $desti + \" \" + $source);\r\t\tiprint(\"Copied... \" + $desti);\r\t\tprint(\"\\nCopied... \" + $desti + \"\\nFrom: \" + $source + \"\\n\");\r\r}\r\r\r\rproc MyimportFolder (string $path, string $useless)\r{\r\tglobal string $melDirectory;\r\r\tiprint(\"Listed script files from: \" + $path);\r\t\r\tif(`substring $path 3 3` == \"\\\\\")\r\t\t$path=fromNativePath($path);\r\r\tif(endsWith($path, \"/\")==0)\r\t\t$melDirectory = $path + \"/\";\r\t\r\t\ttextField -e -tx $melDirectory mylbl;\r}\r\r\rproc MyFolderBrowse()\r{\r string $mPath = `internalVar -userScriptDir`;\r $mPath = `fileDialog -dm \"*.mel\"`;\r if($mPath!=\"\")\r {\r\t string $melDirectory = dirname ($mPath);\r \t MyimportFolder ($melDirectory, \"\");\r \t MyListFiles();\r }\r}\r\rproc MyListFiles()\r{\r\t\r\tglobal string $textList;\t\t\r\tstring $nowpath = `textField -q -tx mylbl`;\r\t\r\tif($nowpath==\"\")\r\t{\r\t\terror \"Please! Enter the vaild folder path that contains MEL Scripts\";\r\t}\r\telse\r\t{\r\tMyimportFolder ($nowpath, \"\");\r\tMyrepopulateList $textList;\r\toptionVar -sv \"mellsplsLASTPATH\" $nowpath;\r\t\r\t}\r\t\r}\r\rproc MyrepopulateList(string $textList)\r{\r\tglobal string $melDirectory;\r\tglobal int $windwidth;\r\tglobal string $fillst;\r\r\tstring $melList[] = `getFileList -folder $melDirectory -filespec \"*.mel\"`;\r\tstring $melDirlststg=`system(\"DIR \\\"\" + $melDirectory + \"\\\" /AD /B\")`;\r\tstring $melDirlst[];\r\ttokenize $melDirlststg \"\\n\" $melDirlst;\r\r\tstring $inMelList;\r\r\ttextField -e -tx $melDirectory mylbl;\r\ttext -e -l `size( $melList )` scriptCountUI;\r\t\r\t\r\r\ttextScrollList -e -ra $textList;\r\ttextScrollList -e -fn \"boldLabelFont\" -append (\"[ .. ]\") $textList;\r\r\tfor($inMelList in $melDirlst)\r\t{\r\t\tif($inMelList!=\"\")\r\t\t\ttextScrollList -e -append (\"[\" + $inMelList + \"]\") $textList;\r\t}\r\r\ttextScrollList -e -append (\"[-----------------------------------]\") $textList;\r\t$fillst = \"\";\r\tfor($inMelList in $melList)\r\t{\r\t\ttextScrollList -e -append $inMelList $textList;\r\t\t$fillst = $fillst + \"\\n\" + $inMelList;\r\t}\r\tif($inMelList != \"\")\r\t\ttextScrollList -e -sii 1 $textList;\r\t\r\t\r\t//I donno why this happens.... Some times, While REPOPULATING or LOADING SCRIPT FOR EDIT this our program window width xpands... To control that I put this here!\r\t\r\twindow -e -w $windwidth -h 558 melListWin;\r}\r\rproc MyxtrnlEdit()\r{\rglobal string $speedsave = \"\";\r\r\tif ($speedsave!=\"\")\r\t{\r\tsystem(\"\\\"\" + $speedsave + \"\\\"\");\r\teval(\"MymelEdit editField \" + \"`textScrollList -q -si scriptList`\");\r\tiprint(\"Script file reloaded!\");\r\t}\r\telse\r\t\tiprint(\"Select a file to edit!\");\r\t\r}\r\rproc MyFolderSystem()\r{\r\tstring $datx = `textField -q -tx mylbl`;\r\tif ($datx != \"\")\r\t{\r\t string $path = toNativePath( $datx );\r\t system (\"explorer \" + $path);\r\t}\r\t \r}\r\r\rproc iprint(string $mdata)\r{\r\tif ($mdata!=\"\")\r\t{\r\ttextField -e -tx $mdata myinfodisper;\r\t}\r\t\r}\r\rproc MyChangeMonitor()\r{\r\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm!=\"*\")\r\t\ttext -e -l ($mtr + \" *\") ttlsay;\r}\r\rproc MySafeWarn()\r{\r\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm==\"*\")\r\t{\r\t\r\t\t \tstring $result = `confirmDialog -title \"File didn't saved!\" -message \"You have edited this file. Do you want to save?\"\r \t\t-button \"Yes\" -button \"No\" -defaultButton \"Yes\"\r \t\t-cancelButton \"No\" -dismissString \"No\"`;\r\t\t\t\r\t\t\tif($result==\"Yes\")\r\t\t\t\tMyquicksave();\r\t\t\r\t}\r\r}\r\rproc MyAutoexecu()\r{\rglobal string $fillst;\rglobal string $melDirectory;\rstring $dirPlusScript;\rstring $fils[];\rint $ers=0;\rint $scrpt=0;\r\rif($fillst!=\"\")\r{\rtokenize $fillst \"\\n\" $fils;\r\rstring $result = `confirmDialog -message \"This will source all script files present in the current folder. This might take considerable time. Do you want to proceed?\" -title \"Confirm executing all scripts...\"\r-button \"Yes\" -button \"No\" -defaultButton \"Yes\"\r-cancelButton \"No\" -dismissString \"No\"`;\r\t\t\rif($result==\"Yes\")\r{\r\riprint(\"Script source started...\");\r\rfor($i=0;$i<`size($fils)`;$i++)\r{\r\tif($fils[$i]!=\"\")\r\t{\r\tiprint ($fils[$i] + \" script contains some errors! Can't proceed!\");\r\t$dirPlusScript = (\"\\\"\" + $melDirectory+$fils[$i] + \"\\\"\");\r\tstring $source = (\"source \"+$dirPlusScript);\r\tif (catch (eval ($source)))\r\t{\r\t\tprint(\"\\n\\n\\nError in the script... \" + ($i+1) + \"/\" + size($fils) + \" \" + $fils[$i] + \"\\n\\n\");\r\t\t$ers=$ers+1;\r\t}\r\telse\r\t{\r\t\tprint(\"\\nAutomated Sourcing... \" + ($i+1) + \"/\" + size($fils) + \" \" + $fils[$i] + \"\\n\\n\");\r\t\t$scrpt=$scrpt+1;\r\t}\r\tiprint(\"Scripts executing.... \" + ($i+1) + \"/\" + size($fils) + \" Errors: \" + $ers);\r\t}\r\r}\rprint(\"\\n\\n\\nTotal scripts: \" + size($fils) + \" - Executed scripts: \" + $scrpt + \" - Error scripts: \" + $ers + \" - Check script editor!\\n\\n\\n\");\riprint(\"Total scripts: \" + size($fils) + \" - Executed scripts: \" + $scrpt + \" - Error scripts: \" + $ers + \" - Check script editor!\");\rrehash;\r\r\r\t\t}\r\r\t}\r\r}\r\rglobal proc mlPlus()\r{\r\tglobal string $melDirectory;\r\tglobal string $textList;\r\t\r\tglobal int $windwidth;\r\t$windwidth = 695;\r\tif (`window -ex melListWin`)\r\t\tdeleteUI melListWin;\r\r\tstring $melList[] = `getFileList -folder $melDirectory -filespec \"*.mel\"`;\r\tstring $inMelList;\r \r\twindow -title \"MEL LISTER++ v1.5\" -s 1 -rtf 1 -mnb 1 -mxb 0 -w 695 -h 530 -menuBar 0 melListWin;\r\t\r\tcolumnLayout -adj 1;\r\t\trowColumnLayout -nc 3 -columnWidth 1 175 -columnWidth 2 10 -columnWidth 3 500 MBAR;\r\r\t\t\ttext -l \"\";\r\t\t\tseparator -style \"none\";\r\t\t\ttext -l \"\";\r\r\t\t\tbutton -label \"Load Scripts \" -c \"MyListFiles()\";\r\t\t\ttext -l \"\";\r\t\t\trowColumnLayout -nc 3 -columnWidth 1 425 -columnWidth 2 35 -columnWidth 3 35 MPaddressbar; \r\t\t\t\ttextField -tx \"\" mylbl;\r\t\t\t\tbutton -label \"...\" -c \"MyFolderBrowse()\";\r\t\t\t\tbutton -label \"Sys\" -c \"MyFolderSystem()\";\r\t\t\tsetParent..;\r\r\t\t\tpopupMenu -p mylbl -b 3 MyFavMenuLst;\r\t\t\tMyFavMenu;\r\t\t\t\t\t\t\t\r\t\t\ttext -l \"\";\r\t\t\tseparator -style \"none\";\r\t\t\ttext -l \"\";\r\t\r\t\t\trowColumnLayout -nc 2 -columnWidth 1 75 -columnWidth 2 100; \r\t\t\t\ttext \"Mel Scripts\";\r\t\t\t\tbutton -label \"Source All\" -c \"MyAutoexecu()\";\r\t\t\tsetParent..;\r\r\t\t\tseparator -style \"none\";\r\t\t\ttext -l \"Script\" ttlsay;\r\r\t\t\tstring $textList = `textScrollList -w 275 -numberOfRows 25 -ams 0 -aas 1 -shi 4 -sc (\"MymelEdit editField \" + \"`textScrollList -q -si scriptList`\") -dcc (\"MyScriptExecuter\") scriptList`;\r\t\t\tseparator -style \"none\";\r\t\t\tstring $editField = `scrollField -wordWrap 1 -kpc \"MyChangeMonitor\" -bgc 0.0 1.0 0.5 -w 500 -h 200 editField`;\r\t\t\t\r\t\t\tpopupMenu -p scriptList -b 3;\r\t\t\t\tmenuItem -l \"Load and Source selected script...\" -c (\"MyScriptExecuter\");\r\t\t\t\tmenuItem -l \"Copy selected script to Maya scripts folder...\" -c (\"MyCopier(0)\");\r\t\t\t\tmenuItem -l \"Copy all scripts to Maya scripts folder...\" -c (\"MyCopier(1)\");\r\t\t\t\r\t\t\t\r\t\t\trowColumnLayout -nc 2 -columnWidth 1 140 -columnWidth 2 35; \r\t\t\t\ttext -al \"left\" -l \"Number of scripts................... \";\r\t\t\t\ttext -label \"0\" scriptCountUI;\r\t\t\t\r\t\t\tsetParent..;\t\r\t\t\tseparator -style \"none\";\r\t\t\ttextField -ed 0 myinfodisper;\r\t\t\r\t\tsetParent..;\r\t\tsetParent..;\r\t\t\r\tcolumnLayout -adj 1;\r\trowColumnLayout -nc 6 -columnWidth 1 175 -columnWidth 2 155 -columnWidth 3 100 -columnWidth 4 10 -columnWidth 5 90 -columnWidth 6 200 DOWNTOOLS;\r\t\r\ttext -l \"Available Procedure\" Myavlproc;\r\ttext -l \"\";\r\ttext -l \"\";\r\ttext -l \"\";\r\ttext -l \"\";\r\tseparator -style \"none\";\r\r\ttextScrollList -w 275 -numberOfRows 5 -ams 0 -aas 1 -shi 4 -sc \"MyProcExecuter (`textScrollList -q -si exelist`,0)\" -dcc \"MyProcExecuter (`textScrollList -q -si exelist`,1)\" exelist;\r\r\t\r\tcolumnLayout -adj 1;\r\t\ttextField -tx \"\" -w 5 exrd;\r\t\tbutton -label \"ProcName to Shelve\" -c (\"MyToShelSetup(1)\");\r\t\tbutton -label \"Script to Shelve\" -c (\"MyToShelSetup(2)\");\r\t\tbutton -label \"Both to Shelve\" -c (\"MyToShelSetup(3)\");\r\t\tsetParent..;\r\t\t\r\tcolumnLayout -adj 1;\r\t\tbutton -label \"Execute Proc\" -c (\"MyQuickEXR\");\r\t\ttext -l \"\";\r\t\ttext -l \"\";\r\t\ttext -l \"\";\r\t\tsetParent..;\r\t\t\r\ttext -l \"\";\t\r\t\r\tcolumnLayout -adj 1;\r\t\t\r\t\t//text -l \"\";\r\t\tbutton -label \"Find\" -c (\"MyFinderx()\");\r\t\tbutton -label \"FindNext\" -c (\"MyFindNext()\");\r\t\tbutton -label \"FindPrev\" -c (\"MyFindPrev()\");\t\r\t\trowColumnLayout -nc 2 -columnWidth 1 45 -columnWidth 2 45 ; \r\t\t\tbutton -label \"<<<<\" -c (\"MyUIExpand(0)\");\r\t\t\tbutton -label \">>>>\" -c (\"MyUIExpand(1)\");\r\t\t\tsetParent..;\r\t\tsetParent..;\r\t\r\r\t\r\trowColumnLayout -nc 2 -columnWidth 1 75 -columnWidth 2 75 ; \r\r\t\r\t\tbutton -label \"Source Script\" -c (\"MyScriptExecuter\");\r\t\tbutton -label \"Quick save\" -c \"Myquicksave\";\r\t\tbutton -label \"Save as...\" -c (\"MysaveScript \" + $editField);\r\t\tbutton -label \"Xternal Edit\" -c (\"MyxtrnlEdit\");\r\t\tbutton -label \"Clear\" -c (\"scrollField -e -cl \"+$editField);\t\t\t\t\r\t\tbutton -label \"Help\" -c (\"Mymelhelper\");\r\t\tbutton -label \"About\" -c (\"Mymellisterabout\");\r\t\tbutton -label \"Close\" -c \"deleteUI melListWin\";\r\t\t\r\r//This is to store the position number of all the proc that found in selected script file... \rtextScrollList -vis 0 -w 1 -h 1 -numberOfRows 5 posilist;\t\r//This is to store the position for find next setup... \rtextScrollList -vis 0 -w 1 -h 1 -numberOfRows 5 fndnxt;\t\r\r//LAST FOLDER\rif (`optionVar -exists \"mellsplsLASTPATH\"`)\r{\r\t$nowpath = `optionVar -q \"mellsplsLASTPATH\"`;\r\ttextField -e -tx $nowpath mylbl;\r\tMyListFiles();\r}\relse\r{\r\ttextField -e -tx \"\" mylbl;\r}\r\riprint(\"Welcome to MEL LISTER++. Browse for a folder containing MEL scripts. Use above buttons to browse.\");\r\r\twindow -e -w $windwidth -h 558 melListWin;\r\tshowWindow melListWin;\r}\r\r\rproc MyFindNext()\r{\r\t\r\tint $postogo[];\r\tstring $positionx[];\r\tint $ttlfnd = `textScrollList -q -ni fndnxt`;\r\t\r\tif ($ttlfnd != 0)\r\t{\r\t\t\r\t\t\t$postogo = `textScrollList -q -sii fndnxt`;\r\t\t\t\r\t\t\tif ($postogo[0] == $ttlfnd)\r\t\t\t\ttextScrollList -e -sii 1 fndnxt;\r\t\t\telse\r\t\t\t\ttextScrollList -e -sii ($postogo[0]+1) fndnxt;\t\r\r\t\t\t$positionx = `textScrollList -q -si fndnxt`;\r\t\t\teval(\"scrollField -e -ip \" + $positionx[0] + \" editField\");\r\t\t\teval(\"scrollField -e -it \\\"\\\" editField\");\r\t\t\tsetFocus editField;\r\r\t\t\t\r\t\t\tif ($postogo[0] == $ttlfnd)\r\t\t\t\t$toshow = 1;\r\t\t\telse\r\t\t\t\t$toshow = $postogo[0]+1;\r\t\t\t\r\t\t\t\r\t\tiprint(\"Found : \" + $ttlfnd + \" match. You watching the match: \" + $toshow);\r\r\t}\r\telse\r\t\t\r\t\tiprint(\"Error: Search for text using --- Find --- function first. Then use find next!\");\r\t\r}\r\r\rproc MyFindPrev()\r{\r\t\r\tint $postogo[];\r\tstring $positionx[];\r\tint $ttlfnd = `textScrollList -q -ni fndnxt`;\r\t$postogo = `textScrollList -q -sii fndnxt`;\r\t\r\tif ($ttlfnd != 0)\r\t{\r\t\tif ($postogo[0] != 1)\r\t\t\t\ttextScrollList -e -sii ($postogo[0]-1) fndnxt;\t\r\t\telse\r\t\t\t\ttextScrollList -e -sii $ttlfnd fndnxt;\r\t\t\r\t\t$positionx = `textScrollList -q -si fndnxt`;\r\t\teval(\"scrollField -e -ip \" + $positionx[0] + \" editField\");\r\t\teval(\"scrollField -e -it \\\"\\\" editField\");\r\t\tsetFocus editField;\t\t\t\r\r\t\t\tif ($postogo[0] == 1)\r\t\t\t\t$toshow = $ttlfnd;\r\t\t\telse\r\t\t\t\t$toshow = $postogo[0]-1;\r\t\t\t\r\t\tiprint(\"Found : \" + $ttlfnd + \" match. You watching the match: \" + $toshow);\r\r\t}\r\telse\r\t\tiprint(\"Error: Search for text using --- Find --- function first. Then use find next!\");\r\t\r}\r\r\r\rproc MyFindTest( string $editFieldUI, string $searchdata )\r{\r string $buffer[];\r int $stringSize = 0;\r string $text = `scrollField -q -tx $editFieldUI`;\r\ttextScrollList -e -ra fndnxt;\t\r\t\r // Break the text into lines\r tokenize $text \"\\n\" $buffer;\r\r // For each line...\r for( $i = 0; $i < `size($buffer)`; $i++ )\r {\r // The end of the line equals the sum of the size of all the strings before it\r $stringSize += `size $buffer[$i]`;\r\r if (`gmatch $buffer[$i] $searchdata`)\r {\r // Place the cursor at the end of the matching line\r scrollField -e -ip $stringSize $editFieldUI;\r scrollField -e -it \"\" $editFieldUI;\r setFocus $editFieldUI;\r\t\t\ttextScrollList -e -a $stringSize fndnxt;\r\t\t\ttextScrollList -e -sii 1 fndnxt;\r // Break out of the loop\r //break;\r }\r }\r\t\r\tint $ttls = `textScrollList -q -ni fndnxt`;\r\t\r\tif ($ttls != 0)\r\t{\r\ttextScrollList -e -sii $ttls fndnxt;\r\tiprint(\"Found : \" + $ttls + \" match\");\r\tMyFindNext;\r\t}\r\telse\r\t{\r\t\tiprint(\"No matching text found in this script!\");\r\t}\r\t\r\t\r}\r\rproc MyFinderx()\r{\r\r\tstring $tempdata = `scrollField -q -tx editField`;\r\tstring $searchdata;\r\tstring $result = `promptDialog -title \"Search the script... \"\t-message \"Text to find: \" -button \"Search\" -button \"Cancel\" \t\t-defaultButton \"Search\" -cancelButton \"Cancel\"\t-dismissString \"Cancel\"`;\t\r\t \tif ($result == \"Search\")\r\t\t{\r \t\t$searchdata = \"*\" + `promptDialog -query -text` + \"*\";\r\t\tMyFindTest \"editField\" $searchdata;\t\r\t\t}\r}\r\r\rproc MyProcExecuter(string $txt[],int $i)\r{\r\tint $postogo[];\r\tstring $positionx[];\r\t\r\tif($i == 0)\r\t{\r\t\ttextField -e -tx ($txt[0] + \";\") exrd;\r\t\t\r\t\t//To move the Insertion Pointer to the position...\r\t\t$postogo = `textScrollList -q -sii exelist`;\r\t\ttextScrollList -e -sii $postogo[0] posilist;\r\t\t$positionx = `textScrollList -q -si posilist`;\r\t\t\r\t\teval(\"scrollField -e -ip \" + $positionx[0] + \" editField\");\r\t\teval(\"scrollField -e -it \\\"\\\" editField\");\r\t\tsetFocus editField;\r\r\t}\r\telse\r\t{\r\t\ttextField -e -tx ($txt[0] + \";\") exrd;\r\t\teval($txt[0]);\r\t\tiprint \"Procedure executed successfully!\";\r\t}\r}\r\rproc MyScriptExecuter()\r{\rstring $txt = `scrollField -q -tx editField`;\r\rif($txt!=\"\")\r{\riprint \"Script present in the script editor may contains some errors or it needs some support scripts!\";\reval($txt);\riprint \"Script executed successfully!\";\r}\relse\r{\riprint \"Select a script file or type some commands to execute or source!\";\r}\r\r}\r\rproc MyQuickEXR()\r{\rstring $txt = `textField -q -tx exrd`;\r\rif($txt!=\"\")\r{\riprint($txt);\reval($txt);\riprint \"Procedure executed successfully!\";\r}\t\r}\r\rproc MyToShelSetup(int $how)\r{\r\tglobal string $gShelfTopLevel;\r\t\r\r string $XPM[];\r clear $XPM;\r\t string $iconname;\r\r // Gets all bitmap directories. Add more directories to the end of the $folders array as shown below\r string $folders[] = `xbmLangPathList`;\r// $folders[`size($folders)`] = \"c:/my_extra_icons/\";\r\t\r for( $fld in $folders )\r {\r\t // Lists all XPM files in above directory\r string $buffer[] = `getFileList -fld ($fld + \"/\") -fs \"*.xpm\"`;\r\t $XPM = stringArrayCatenate( $XPM, $buffer );\r\t clear $buffer;\r }\r\r // Get the size of the array\r $xpmCount = `size( $XPM )`;\r\r\t \r\t if($xpmCount==0)\r\t {\r\t\t iprint(\"No icons found in your maya icon folders!\");\r\t\t $iconname = \"menuiconview.xpm\";\r\t }\r\t else\r\t {\r\t\r\t\t// Random number based off the size of the array\r int $nowxpm = int(`rand $xpmCount`);\r\t $iconname = $XPM[$nowxpm];\r\t }\r\t \r\r\t\r\tstring $cmd = \"\";\r\tstring $seta = \"\";\r\tstring $setb = \"\";\r\t\r\t\tif ($how == 3)\r\t\t{\r\r\t\t\t\t$seta = `textField -q -tx editField`;\r\t\t\t\t$setb = `textField -q -tx exrd`;\r\t\t\t\t$cmd = ($seta + \"\\n\" + $setb);\r\t\t\t\t\r\t\t\t\tif (($seta!=\"\") && ($seta!=\"\"))\r\t\t\t\tif (`tabLayout -exists $gShelfTopLevel`)\r\t\t\t\t{\r\t\t\t\t\tshelfButton\r\t\t\t\t\t-parent ($gShelfTopLevel + \"|\" + `tabLayout -q -st $gShelfTopLevel`)\r\t\t\t\t\t-command $cmd\r\t\t\t\t\t-image1 $iconname\r\t\t\t\t\t-annotation $setb;\r\t\t\t\t\tiprint \"Added to the current Shelf successfully!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint \"You need a shelf!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint(\"Script and Proc Name section most be filled!\");\r\t\t\t\t}\r\t\t\t\r\t\t}\r\t\telse if($how == 2)\r\t\t{\t\r\t\t\t\r\t\t\t\t$cmd = `textField -q -tx editField`;\r\t\t\t\t\r\t\t\t\tif ($cmd!=\"\")\r\t\t\t\tif (`tabLayout -exists $gShelfTopLevel`)\r\t\t\t\t{\r\t\t\t\t\tshelfButton\r\t\t\t\t\t-parent ($gShelfTopLevel + \"|\" + `tabLayout -q -st $gShelfTopLevel`)\r\t\t\t\t\t-command $cmd\r\t\t\t\t\t-image1 $iconname\r\t\t\t\t\t-annotation $cmd;\r\t\t\t\t\tiprint \"Added to the current Shelf successfully!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint \"You need a shelf!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint(\"Input some script to send them shelf!\");\r\t\t\t\t}\r\t\t}\r\t\telse if($how == 1)\r\t\t{\t\r\t\t\t\t\t\t\r\t\t\t$cmd = `textField -q -tx exrd`;\r\t\t\tif($cmd!=\"\")\r\t\t\t{\r\t\t\tif (`tabLayout -exists $gShelfTopLevel`)\r\t\t\t\t{\r\t\t\t\t\tshelfButton\r\t\t\t\t\t-parent ($gShelfTopLevel + \"|\" + `tabLayout -q -st $gShelfTopLevel`)\r\t\t\t\t\t-command $cmd\r\t\t\t\t\t-image1 $iconname\r\t\t\t\t\t-annotation $cmd;\r\t\t\t\t\tiprint \"Added to the current Shelf successfully!\";\r\t\t\t\t}\r\t\t\t\telse\r\t\t\t\t{\r\t\t\t\t\tiprint \"You need a shelf!\";\r\t\t\t\t}\r\t\t\t}\r\t\t\telse\r\t\t\t{\r\t\t\t\tiprint(\"Procedure name most not be empty!\");\r\t\t\t}\r\t\t}\r\t\t\r\t\t\r}\r\r/*\rproc MymelLoad(string $script[])\r{\t\r\tif($script[0]!=\"\")\r\t{\r\tglobal string $melDirectory;\r\tstring $dirPlusScript;\r\tiprint \"Above script contains errors! Check your Script Editor.\";\r\t$dirPlusScript = (\"\\\"\" + $melDirectory+$script[0] + \"\\\"\");\r\tstring $source = (\"source \"+$dirPlusScript);\r\teval ($source);\r\trehash;\r\tiprint(\"Script file sourced successfully!\");\r\t}\r}\r\r*/\r\rproc MymelEdit(string $editField, string $script[])\r{\r\tglobal int $windwidth;\r\r\t\r\t\t\r\tif (startsWith($script[0], \"[\"))\r\t{\r\r\t\tstring $strDir = `substring $script[0] 2 (size($script[0])-1)`;\r\t\t\r\t\tif ($strDir==\"-----------------------------------\")\r\t\t{\r\t\tiprint(\"oh... its just a seperator.. seperates folder and files!\");\r\t\t}\r\t\telse if ($strDir==\" .. \")\r\t\t{\r\t\tstring $nowpath = `textField -q -tx mylbl`;\r\t\tstring $ee = basename($nowpath,\"\");\r\t string $result = substituteAllString($nowpath , (\"/\" + $ee + \"/\"), \"\");\r\t\ttextField -e -tx $result mylbl;\r\t\tMyListFiles();\r\r\t\t}\r\t\telse if ($strDir==\"\")\r\t\t{\r\t\tiprint(\"hmmm...Empty!\");\r\t\t}\r\t\telse\r\t\t{\r\r\t\tstring $nowpath = `textField -q -tx mylbl`;\r\t\t$nowpath = $nowpath + $strDir;\r\t\ttextField -e -tx $nowpath mylbl;\r\t\tMyListFiles();\r\r\r\t\t}\r\t\t\r\t}\r\telse\r\t{\r\r\r\tif ($script[0]!=\"melPlus.mel\")\r\t{\r\r\tMySafeWarn();\r\r\t\r\tif($script[0]!=\"\")\r\t{\r\tglobal string $melDirectory;\r\tglobal string $speedsave;\r\tstring $dirPlusScript, $nextLine, $fullEdit, $inFile;\r\tstring $file[];\r\tint $count = 0;\r\tint $posit = 0;\r\t\r\ttextScrollList -e -ra exelist;\r\ttextScrollList -e -ra posilist;\r\ttextField -e -tx \"\" exrd;\r\t\r\t$dirPlusScript = $melDirectory+$script[0];\r\t\r\ttext -e -ann (\"Script: \" + $dirPlusScript) -l (\"Script: \" + $dirPlusScript) ttlsay;\r\t$speedsave = $dirPlusScript;\r\r\t\r\t$fileId=`fopen $dirPlusScript \"r\"`;\r\t$nextLine = `fgetline $fileId`;\r\t\r\r\twhile(!`feof $fileId`)\r\t{\r\t\t$file[$count] = $nextLine;\r\t\t$nextLine = `fgetline $fileId`;\r\t\t$count++;\r\t}\r\t\r\t$file[$count] = $nextLine;\r\t$nextLine = `fgetline $fileId`;\r\r\t$count++;\r\t\r\tfclose $fileId;\r\r\tfor($inFile in $file)\r\t{\r\t\t$fullEdit += $inFile;\r\t\t$nextLine = $inFile;\r\t\t$posit = size($fullEdit);\r\t\tMyProcLister ($nextLine, $posit);\r\t}\r\t\r\tscrollField -e -cl $editField;\r\tscrollField -e -it $fullEdit $editField;\r\t}\r\r\tiprint(\"Script file loaded for editing!\");\r\r\t\t//I donno why this happens.... Some times, While REPOPULATING or LOADING SCRIPT FOR EDIT this our program window width xpands... To control that I put this here!\r\twindow -e -w $windwidth -h 558 melListWin;\r\t\r\t}\r\telse\r\t{\r\t\tiprint(\"Please! Don't try to load -melPlus.mel- script file. Try with other files.\");\r\t}\r\r }\r}\r\rproc MyUIExpand(int $step)\r{\r\tglobal int $windwidth;\r\tint $raisefactor = 100;\r\t\r\tif($step==1)\r\t{\r\t\t\t\r\t\t\tint $tmp = `rowColumnLayout -q -w MBAR`;\r\t\t\trowColumnLayout -e -w ($tmp+$raisefactor) MBAR;\r\t\t\t$tmp = ($tmp-202)+$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 3 $tmp MBAR;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w MPaddressbar`;\r\t\t\trowColumnLayout -e -w ($tmp+$raisefactor) MPaddressbar;\r\t\t\t$tmp = ($tmp-75)+$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 1 $tmp MPaddressbar;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w DOWNTOOLS`;\r\t\t\trowColumnLayout -e -w ($tmp+$raisefactor) DOWNTOOLS;\r\t\t\t$tmp = ($tmp-697)+$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 4 $tmp DOWNTOOLS;\r\t\t\r\t\t\t$windwidth=$windwidth+$raisefactor;\r\t\t\twindow -e -w $windwidth -h 558 melListWin;\r\t\t\t\r\t}\r\telse if($step==0)\r\t{\r\r\t\t\tint $tmp = `rowColumnLayout -q -w MBAR`;\r\t\t\trowColumnLayout -e -w ($tmp-$raisefactor) MBAR;\r\t\t\t$tmp = ($tmp-202)-$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 3 $tmp MBAR;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w MPaddressbar`;\r\t\t\trowColumnLayout -e -w ($tmp-$raisefactor) MPaddressbar;\r\t\t\t$tmp = ($tmp-75)-$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 1 $tmp MPaddressbar;\r\t\t\t\r\t\t\t$tmp = `rowColumnLayout -q -w DOWNTOOLS`;\r\t\t\trowColumnLayout -e -w ($tmp-$raisefactor) DOWNTOOLS;\r\t\t\t$tmp = ($tmp-697)-$raisefactor;\r\t\t\trowColumnLayout -e -columnWidth 4 $tmp DOWNTOOLS;\r\t\t\r\t\t\t$windwidth=$windwidth-$raisefactor;\r\t\t\twindow -e -w $windwidth -h 558 melListWin;\r\r\t\t\r\t}\r\t\r}\r\rproc MyProcLister(string $nextLine, int $posit)\r{\r\tstring $tl[];\r\t\r\t\r\t\tif (gmatch ($nextLine, \"* proc *\") == 1)\r\t\t{\r\t\t\t\t\t\t\r\t\t\ttokenizeList($nextLine, $tl);\t\r\t\t\tstring $exr;\r\t\t\tif(($tl[2]==\"int\") || ($tl[2]==\"string\") || ($tl[2]==\"float\") || ($tl[2]==\"vector\") || ($tl[2]==\"int[]\") || ($tl[2]==\"string[]\") || ($tl[2]==\"vector[]\") || ($tl[2]==\"float[]\"))\r\t\t\t\t$exr=$tl[3];\r\t\t\telse\r\t\t\t\t$exr=$tl[2];\r\r\t\t\tstring $tt = $exr;\r\t\t\t\r\t\t\twhile (\tendsWith($tt, \"(\") || endsWith($tt, \")\") || endsWith($tt, \"{\") || endsWith($tt, \"}\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\twhile (gmatch ($tt, \"*(*\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\ttextScrollList -e -a $tt exelist;\r\t\t\ttextScrollList -e -a $posit posilist;\r\t\t\t\r\t\t}\r\t\telse if (startsWith($nextLine, \"proc\") == 1)\r\t\t{\r\t\t\t\t\r\t\t\ttokenizeList($nextLine, $tl);\t\r\t\t\tstring $exr;\r\t\t\tif(($tl[1]==\"int\") || ($tl[1]==\"string\") || ($tl[1]==\"float\") || ($tl[1]==\"vector\") || ($tl[1]==\"int[]\") || ($tl[1]==\"string[]\") || ($tl[1]==\"vector[]\") || ($tl[1]==\"float[]\"))\r\t\t\t\t$exr=$tl[2];\r\t\t\telse\r\t\t\t\t$exr=$tl[1];\r\r\t\t\tstring $tt = $exr;\r\t\t\t\r\t\t\twhile (\tendsWith($tt, \"(\") || endsWith($tt, \")\") || endsWith($tt, \"{\") || endsWith($tt, \"}\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\twhile (gmatch ($tt, \"*(*\"))\r\t\t\t\t$tt = eval(\"substring \\\"\" + $tt + \"\\\" 1 \" + (size($tt)-1));\t\r\t\t\t\r\t\t\ttextScrollList -e -a $tt exelist;\r\t\t\ttextScrollList -e -a $posit posilist;\r\t\t\t\r\t\t}\r\t\t\r\t\t\r\t\t\tint $ttlx = `textScrollList -q -ni exelist`;\r\t\t\ttext -e -l (\"Available Procedure...............\" + $ttlx) Myavlproc;\r\t\t\r\t\t\r\t\r}\r\rproc MysaveScript(string $script)\r{\r\r\tstring $newScript = `scrollField -q -tx $script`;\r\r\tif( $newScript == \"\" )\r\t{\r\t\terror \"There is nothing to save.\";\r\t}\r\telse\r\t{\r\t\tfileBrowserDialog -m 1 -fc \"MysaveDir\" -ft \"mel\" -an \"Save As\" -om \"Reference\";\r\t\tglobal string $saveMelDir;\r\t\tstring $object;\r\t\tint $fileOut;\r\r \t\t$fileOut=`fopen $saveMelDir \"w\"`;\r\r\t\tif ($fileOut == 0)\r\t\t{\r\t\t\terror \"Location Invalid: Unable to write file\";\r\t\t}\r\r \t\tfprint $fileOut $newScript;\r\t \tfclose $fileOut;\r\r\t\tiprint (\"Save to ... \" + $saveMelDir);\r\t\t\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm==\"*\")\r\t{\r\t\t$lstm = `substring $mtr 1 ($ss-1)`;\r\t\ttext -e -l $lstm ttlsay;\r\t}\r\t\t\r\t}\r}\r\r\rproc Myquicksave()\r{\r\tglobal string $speedsave;\r\tstring $newScript = `scrollField -q -tx editField`;\r\r\tif( $newScript == \"\" )\r\t{\r\t\tiprint \"There is nothing to save.\";\r\t}\r\telse\r\t{\r\r\t\tif ($speedsave!=\"\")\r\t\t{\r\t\tstring $object;\r\t\tint $fileOut;\r\r \t\t$fileOut=`fopen $speedsave \"w\"`;\r\r\t\tif ($fileOut == 0)\r\t\t{\r\t\t\terror \"Location Invalid: Unable to write file\";\r\t\t}\r\r \t\tfprint $fileOut $newScript;\r\t \tfclose $fileOut;\r\r\t\tiprint (\"Save to .... \" + $speedsave);\r\t\t\r\tstring $mtr = `text -q -l ttlsay`;\r\tint $ss = `size($mtr)`;\r\tstring $lstm = `substring $mtr $ss $ss`;\r\tif($lstm==\"*\")\r\t{\r\t\t$lstm = `substring $mtr 1 ($ss-1)`;\r\t\ttext -e -l $lstm ttlsay;\r\t}\r\t\t\r\t\t\r\t\t\r\t}\r}\r\r}\r\rproc MysaveDir( string $filename, string $fileType )\r{\r\tglobal string $saveMelDir;\r\t$saveMelDir = $filename;\r}\r\rproc Mymellisterabout()\r{\r\tif (`window -ex mlstrabt`)\r\t\tdeleteUI mlstrabt;\r\r\r\twindow -title \"About MEL LISTER++ v1.5\" -s 0 -rtf 1 -mnb 1 -mxb 0 -w 695 -h 530 -menuBar 0 mlstrabt;\r\t\r\tcolumnLayout -adj 1;\r\ttext -l \"\";\r\ttext -align \"center\" -l \"MEL LISTER++ v1.5\";\r\ttext -l \"\";\r\tscrollField -h 300 -ed 0 -ww 1 -tx \"\\nScript by\\nKumaresan \\nJeremiah Grant\\n\\nSpecial Thanks to\\nBryan Ewert\\nErick Miller\\n\\nDate\\n15-4-2007 :: 27-4-2007\\n\\nLast Update: \\n13 (Sun) May 2007 - 08:14:49 AM \\n\\nContact\\nkaymatrix@gmail.com\\n\\nChennai - India\\n\" sayers;\r\ttext -l \"\";\r\tbutton -label \"Close\" -c \"deleteUI mlstrabt\";\r\tscrollField -q -h sayers;\t\r\twindow -e -w 300 -h 420 mlstrabt;\r\tshowWindow mlstrabt;\r}\r\rproc Mymelhelper()\r{\r\tconfirmDialog -title \"Help\" -message \"Please! Refer the HEADER part of this script for complete help!\" -button \"OK\";\r}\r\rmlPlus;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -doubleClickCommand "{\r\n\tdeleteUI -window showAttribInfoWindow;\r\n\tPMP_showXForm;\r\n}" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Print attribute connections for selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\r\nPMP.maya.connections.printAllConnections()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Connect attributes selected in channel box from first selected node to other selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnAttr" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\rPMP.maya.connections.makeSelectedAttrConnections()\r" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Close open sub-windows, and reset their position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "rstWin" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "otherwindows = [win for win in lsUI(windows=1) if not window(win, q=1, mainWindow=1)]\rfor win in otherwindows:\r\ttry:\r\t\tdeleteUI(win)\r\texcept:\r\t\tprint \"Unable to close window '%s'\" % win\r\telse:\r\t\twindowPref(win, remove=True)\r\t\tprint \"Reset window prefs for '%s'\" % win\r" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Clear PMP modules so they may be reloaded" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "clPMP" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.pyUtils\r\nPMP.pyUtils.clearPMP()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Clear pymel modules so they may be reloaded" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "clPyml" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.pyUtils\r\nPMP.pyUtils.clearModules('pymel')" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_PaulTexture.mel b/2009-x64/prefs/shelves/shelf_PaulTexture.mel new file mode 100644 index 0000000..e6e9b02 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_PaulTexture.mel @@ -0,0 +1,881 @@ +global proc shelf_PaulTexture () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete History: Delete construction history on the selected object(s)" + -align "center" + -label "History" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "His" + -image "menuIconEdit.xpm" + -image1 "menuIconEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHistory" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Freeze Transformation: Select an object(s)" + -align "center" + -label "Freeze Transformations" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "FT" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging\r\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=True)" + -sourceType "python" + -doubleClickCommand "python(\"import PMP.maya.rigging\\r\\nPMP.maya.rigging.freezeAndZeroPivots(moveToPivot=False)\")" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Center Pivot: Select an object(s)" + -align "center" + -label "Center Pivot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "CP" + -image "menuIconModify.xpm" + -image1 "menuIconModify.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CenterPivot" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "DeleteLayer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "XLayer" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteLayerConnection;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Toggle HUD elements" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HUD" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyCount;\r\nToggleCameraNames;\r\nToggleViewAxis;\r\nToggleOriginAxis;\r\nToggleFrameRate;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Resolution Gate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RES" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n\tPMP_toggleResolutionGate();\r\n}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Connect attributes selected in channel box from first selected node to other selected nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnAttr" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.connections\rPMP.maya.connections.makeSelectedAttrConnections()\r" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Export file for use as reference" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "saveE" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.rigging.exportFile\r\rPMP.maya.rigging.exportFile.saveExport()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reload textures on selected object - double click to reload on all objects in scene" + -align "center" + -label "Reload textures on selected object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PMP_reloadTextures.bmp" + -image1 "PMP_reloadTextures.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_reloadTextures" + -sourceType "mel" + -doubleClickCommand "PMP_reloadAllTextures" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Rename Shading Groups and File Nodes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Rnam" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\r\nPMP.maya.texture.renameShadingGroupsAndFileNodes()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select uv shell border edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "uvEdge" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\r\nPMP.maya.texture.selectTextureBorderEdges()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "RoadKill" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "RdKll" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RoadKill" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Polar (\"disk\") map the selected uvs in the local space" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Polar" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_polarMap;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Scale the shell containing the selected UVs so the selected uvs fill the 0-to-1 space in the u direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "u:0-1" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_uvFillZeroOne(\"u\");" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Scale the shell containing the selected UVs so the selected uvs fill the 0-to-1 space in the v direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "v:0-1" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_uvFillZeroOne(\"v\");" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Move selected uvs +1 in the u direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "u:+1" + -image "alignUMax.xpm" + -image1 "alignUMax.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyEditUV -u 1 -v 0;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Move selected uvs +1 in the v direction" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "v:+1" + -image "alignVMax.xpm" + -image1 "alignVMax.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyEditUV -u 0 -v 1;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Move all uvs to average u value" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "u:Avg" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_averageUV(\"u\")" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Move all uvs to average v value" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "v:Avg" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_averageUV(\"v\")" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Selects the faces on the selected object(s) that have the selected material [select material last]" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "wMat" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_selectMaterialOnObject();" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Copy materials on selected instance to all instances" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "matI" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PMP.maya.texture\rPMP.maya.texture.copyMatsToAllInstances()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Transfer Attributes from 1st selected mesh to 2nd" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyTransfer.xpm" + -image1 "polyTransfer.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performTransferAttributes 1;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Nor" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleFaceNormals" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Vertex Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "VN" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ToggleVertexNormalDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Toggle soft edge visibility" + -align "center" + -label "Soft/Hard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SfHd" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplaySoftEdges" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Standard Edges" + -align "center" + -label "Standard Edges" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Std" + -image "menuIconDisplay.xpm" + -image1 "menuIconDisplay.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TogglePolyDisplayEdges" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Unlock Normals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "vertexNormalEdit.xpm" + -image1 "vertexNormalEdit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyNormalPerVertex -ufn true" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Reverse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyNormal.xpm" + -image1 "polyNormal.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReversePolygonNormals" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "HardEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "HardEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 0;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "SoftEdge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "SoftEdge" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SoftPolyEdgeElements 1;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Set Normal Angle..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySoftEdge.xpm" + -image1 "polySoftEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polySoftEdgeWin" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Select all instances of selected objects as well, or propogate selected components to all instances" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "+INST" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_selectInstances(true);" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "___SPACER___" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "PIVOTICON.xpm" + -image1 "PIVOTICON.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "select -cl ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "axmesh;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "axmesh" + -image "staticMesh.bmp" + -image1 "staticMesh.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "axmesh;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Polygons.mel b/2009-x64/prefs/shelves/shelf_Polygons.mel new file mode 100644 index 0000000..648d3ee --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Polygons.mel @@ -0,0 +1,719 @@ +global proc shelf_Polygons () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Sphere: Create a polygonal sphere on the grid" + -align "center" + -label "Polygon Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySphere.xpm" + -image1 "polySphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonSphere" + -sourceType "mel" + -doubleClickCommand "CreatePolygonSphereOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Cube: Create a polygonal cube on the grid" + -align "center" + -label "Polygon Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCube.xpm" + -image1 "polyCube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonCube" + -sourceType "mel" + -doubleClickCommand "CreatePolygonCubeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Cylinder: Create a polygonal cylinder on the grid" + -align "center" + -label "Polygon Cylinder" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCylinder.xpm" + -image1 "polyCylinder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonCylinder" + -sourceType "mel" + -doubleClickCommand "CreatePolygonCylinderOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Cone: Create a polygonal cone on the grid" + -align "center" + -label "Polygon Cone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCone.xpm" + -image1 "polyCone.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonCone" + -sourceType "mel" + -doubleClickCommand "CreatePolygonConeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Plane: Create a polygonal plane on the grid" + -align "center" + -label "Polygon Plane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMesh.xpm" + -image1 "polyMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonPlane" + -sourceType "mel" + -doubleClickCommand "CreatePolygonPlaneOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Torus: Create a polygonal torus on the grid" + -align "center" + -label "Polygon Torus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyTorus.xpm" + -image1 "polyTorus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonTorus" + -sourceType "mel" + -doubleClickCommand "CreatePolygonTorusOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Pyramid: Create a polygonal pyramid on the grid" + -align "center" + -label "Polygon Pyramid" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPyramid.xpm" + -image1 "polyPyramid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonPyramid" + -sourceType "mel" + -doubleClickCommand "CreatePolygonPyramidOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Pipe: Create a polygonal pipe on the grid" + -align "center" + -label "Polygon Pipe" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPipe.xpm" + -image1 "polyPipe.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonPipe" + -sourceType "mel" + -doubleClickCommand "CreatePolygonPipeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Combine: Combine the selected polygon objects into one single object to allow operations such as merges or face trims" + -align "center" + -label "Combine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CombinePolygons" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Separate: Separate the selected polygon object shells or the shells of any selected faces from the object into distinct objects" + -align "center" + -label "Separate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySeparate.xpm" + -image1 "polySeparate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SeparatePolygon" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror Geometry: Mirror geometry across an axis" + -align "center" + -label "Mirror Geometry" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMirrorGeometry.xpm" + -image1 "polyMirrorGeometry.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorPolygonGeometry" + -sourceType "mel" + -doubleClickCommand "MirrorPolygonGeometryOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smooth: Add polygons to the selected polygon objects to smooth them" + -align "center" + -label "Smooth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySmooth.xpm" + -image1 "polySmooth.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SmoothPolygon" + -sourceType "mel" + -doubleClickCommand "SmoothPolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Proxy: Add polygons to the selected proxy objects" + -align "center" + -label "Subdiv Proxy" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySmoothProxy.xpm" + -image1 "polySmoothProxy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SmoothProxy" + -sourceType "mel" + -doubleClickCommand "SmoothProxyOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reduce: Reduce number of polygonal components for selected objects" + -align "center" + -label "Reduce" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyReduce.xpm" + -image1 "polyReduce.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReducePolygon" + -sourceType "mel" + -doubleClickCommand "ReducePolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Split Polygon Tool: Select a point on an edge to start cutting the face" + -align "center" + -label "Split Polygon Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySplitFacet.xpm" + -image1 "polySplitFacet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SplitPolygonTool" + -sourceType "mel" + -doubleClickCommand "SplitPolygonToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extrude: Extrude the selected component" + -align "center" + -label "Extrude" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyExtrudeFacet.xpm" + -image1 "polyExtrudeFacet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PolyExtrude" + -sourceType "mel" + -doubleClickCommand "PolyExtrudeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bridge: Create a bridge between two sets of edges or faces " + -align "center" + -label "Bridge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyBridge.xpm" + -image1 "polyBridge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BridgeEdge" + -sourceType "mel" + -doubleClickCommand "BridgeEdgeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Chamfer Vertex: Chamfer the selected vertices" + -align "center" + -label "Chamfer Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyChamfer.xpm" + -image1 "polyChamfer.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ChamferVertex" + -sourceType "mel" + -doubleClickCommand "ChamferVertexOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cut Faces Tool: Cut the faces using a plane" + -align "center" + -label "Cut Faces Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCut.xpm" + -image1 "polyCut.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CutPolygon" + -sourceType "mel" + -doubleClickCommand "CutPolygonOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Merge: Merge vertices / border edges based on selection" + -align "center" + -label "Merge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMergeVertex.xpm" + -image1 "polyMergeVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PolyMerge" + -sourceType "mel" + -doubleClickCommand "PolyMergeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Merge Edge Tool: Merge the two selected border edges, if topologically possible" + -align "center" + -label "Merge Edge Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMergeEdge.xpm" + -image1 "polyMergeEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MergeEdgeTool" + -sourceType "mel" + -doubleClickCommand "MergeEdgeToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Flip Triangle Edge: Flip the edge between two triangles" + -align "center" + -label "Flip Triangle Edge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyFlipEdge.xpm" + -image1 "polyFlipEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FlipTriangleEdge" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collapse: Collapse the selected edges or faces" + -align "center" + -label "Collapse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCollapseEdge.xpm" + -image1 "polyCollapseEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PolygonCollapse" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extract: Extract the currently selected faces from their shell and shows a manipulator to adjust their offset" + -align "center" + -label "Extract" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyChipOff.xpm" + -image1 "polyChipOff.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtractFace" + -sourceType "mel" + -doubleClickCommand "ExtractFaceOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Geometry Tool: Sculpt a geometry object" + -align "center" + -label "Sculpt Geometry Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryTool" + -sourceType "mel" + -doubleClickCommand "SculptGeometryToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Planar Mapping: Create a projection planar to the selected faces" + -align "center" + -label "Planar Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPlanProj.xpm" + -image1 "polyPlanProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyProjection -type planar -mapDirection z" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cylindrical Mapping: Create a cylindrical projection on the selected faces" + -align "center" + -label "Cylindrical Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCylProj.xpm" + -image1 "polyCylProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyProjection -type cylindrical -smartFit on" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Spherical Mapping: Create a spheric projection on the selected faces" + -align "center" + -label "Spherical Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySphereProj.xpm" + -image1 "polySphereProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyProjection -type spherical -smartFit on" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Automatic Projection: Select faces to be mapped automatically" + -align "center" + -label "Automatic Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyAutoProj.xpm" + -image1 "polyAutoProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performPolyAutoProj 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "UV Texture Editor...: Texture coordinate mapping view" + -align "center" + -label "UV Texture Editor..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "textureEditor.xpm" + -image1 "textureEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TextureViewWindow" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_RenderMan.mel b/2009-x64/prefs/shelves/shelf_RenderMan.mel new file mode 100644 index 0000000..2004f55 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_RenderMan.mel @@ -0,0 +1,206 @@ +global proc shelf_RenderMan () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Render Current Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_render.xpm" + -image1 "rman_render.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} setCurrentRenderer renderMan; rmanChangeRendererUpdate; RenderIntoNewWindow;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Display RenderMan Globals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_globals.xpm" + -image1 "rman_globals.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} setCurrentRenderer renderMan; rmanChangeRendererUpdate; unifiedRenderGlobalsWindow;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_batch.xpm" + -image1 "rman_batch.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} setCurrentRenderer renderMan; rmanChangeRendererUpdate; BatchRender;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Cancel Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_batch_cancel.xpm" + -image1 "rman_batch_cancel.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CancelBatchRender;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Shared Geometric Attributes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_sga.xpm" + -image1 "rman_sga.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} renderManNodeEditor(\"Prim\");" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Create Environment Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_env.xpm" + -image1 "rman_env.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanCreateEnvLight" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Start Slim" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_slim.xpm" + -image1 "rman_slim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanStartSlim" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Start Alfred" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_alfred.xpm" + -image1 "rman_alfred.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanStartAlfred \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Start It" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_it.xpm" + -image1 "rman_it.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanStartIt" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Rendering.mel b/2009-x64/prefs/shelves/shelf_Rendering.mel new file mode 100644 index 0000000..8014f39 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Rendering.mel @@ -0,0 +1,615 @@ +global proc shelf_Rendering () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ambient Light: Create an ambient light on the grid or live surface" + -align "center" + -label "Ambient Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ambientlight.xpm" + -image1 "ambientlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateAmbientLight" + -sourceType "mel" + -doubleClickCommand "CreateAmbientLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Directional Light: Create a directional light on the grid or live surface" + -align "center" + -label "Directional Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "directionallight.xpm" + -image1 "directionallight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateDirectionalLight" + -sourceType "mel" + -doubleClickCommand "CreateDirectionalLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Point Light: Create a point light on the grid or live surface" + -align "center" + -label "Point Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pointlight.xpm" + -image1 "pointlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePointLight" + -sourceType "mel" + -doubleClickCommand "CreatePointLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Spot Light: Create a spot light on the grid or live surface" + -align "center" + -label "Spot Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "spotlight.xpm" + -image1 "spotlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSpotLight" + -sourceType "mel" + -doubleClickCommand "CreateSpotLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Area Light: Create an area light on the grid or live surface" + -align "center" + -label "Area Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "arealight.xpm" + -image1 "arealight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateAreaLight" + -sourceType "mel" + -doubleClickCommand "CreateAreaLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Volume Light: Create a volume light on the grid or live surface" + -align "center" + -label "Volume Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "volumelight.xpm" + -image1 "volumelight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateVolumeLight" + -sourceType "mel" + -doubleClickCommand "CreateVolumeLightOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Camera: Create a camera on the grid" + -align "center" + -label "Create Camera" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "view.xpm" + -image1 "view.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateCameraOnly" + -sourceType "mel" + -doubleClickCommand "CreateCameraOnlyOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Edit Material Attributes: Show shading group Attribute Editor" + -align "center" + -label "Edit Material Attributes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "materialEditor.xpm" + -image1 "materialEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ShowShadingGroupAttributeEditor" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Anisotropic Material: Assign a new anisotropic material to the active objects" + -align "center" + -label "Anisotropic Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_anisotropic.xpm" + -image1 "render_anisotropic.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader anisotropic \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Blinn Material: Assign a new Blinn material to the active objects" + -align "center" + -label "Blinn Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_blinn.xpm" + -image1 "render_blinn.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader blinn \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lambert Material: Assign a new Lambert material to the active objects" + -align "center" + -label "Lambert Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_lambert.xpm" + -image1 "render_lambert.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader lambert \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Phong Material: Assign a new Phong material to the active objects" + -align "center" + -label "Phong Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_phong.xpm" + -image1 "render_phong.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader phong \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Phong E Material: Assign a new Phong E material to the active objects" + -align "center" + -label "Phong E Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_phongE.xpm" + -image1 "render_phongE.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader phongE \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Layered Material: Assign a new layered material to the active objects" + -align "center" + -label "Layered Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_layeredShader.xpm" + -image1 "render_layeredShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader layeredShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ramp Material: Assign a new ramp material to the active objects" + -align "center" + -label "Ramp Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_rampShader.xpm" + -image1 "render_rampShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader rampShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shading Map: Assign a new shading map to the active objects" + -align "center" + -label "Shading Map" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_shadingMap.xpm" + -image1 "render_shadingMap.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader shadingMap \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Material: Assign a new surface material to the active objects" + -align "center" + -label "Surface Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_surfaceShader.xpm" + -image1 "render_surfaceShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader surfaceShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Use Background: Assign a new Use Background material to the active objects" + -align "center" + -label "Use Background" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_useBackground.xpm" + -image1 "render_useBackground.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader useBackground \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Render Current Frame: Render the current frame into a render view window" + -align "center" + -label "Render Current Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render.xpm" + -image1 "render.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RenderIntoNewWindow" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "IPR Render the current frame into a render view window" + -align "center" + -label "IPR Render Current Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ipr.xpm" + -image1 "ipr.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IPRRenderIntoNewWindow" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Render Settings Window: Change rendering attributes" + -align "center" + -label "Render Settings Window" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "renderGlobals.xpm" + -image1 "renderGlobals.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "unifiedRenderGlobalsWindow" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Show render diagnostics in the script editor" + -align "center" + -label "Render Diagnostics" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "renderDiagnostics.xpm" + -image1 "renderDiagnostics.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "mayaSoftwareRenderDiagnostics" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Batch Render: Export the current scene to a file and render that file in the background" + -align "center" + -label "Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "showBatchRender.xpm" + -image1 "showBatchRender.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BatchRender" + -sourceType "mel" + -doubleClickCommand "batchRenderWindow" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cancel batch render" + -align "center" + -label "Cancel Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "abortBatchRender.xpm" + -image1 "abortBatchRender.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "batchRender" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display the batch render image" + -align "center" + -label "Show Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "showBatchRender.xpm" + -image1 "showBatchRender.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "batchRender -showImage true" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "3D Paint Tool: Paint file textures" + -align "center" + -label "3D Paint Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "art3dPaint.xpm" + -image1 "art3dPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Art3dPaintTool" + -sourceType "mel" + -doubleClickCommand "Art3dPaintToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_SS2.mel b/2009-x64/prefs/shelves/shelf_SS2.mel new file mode 100644 index 0000000..ca7490f --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_SS2.mel @@ -0,0 +1,491 @@ +global proc shelf_SS2 () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "inv" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "inv" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_targetWeights_shelf inverse;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "cop" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cop" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_targetWeights_shelf copy" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "tap" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "tap" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_taper;\r\nss2_blend_targetWeights;\r\n\r\nss2_blend_taper_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "bake" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "bake" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_bakeWeights;\r\n\r\nss2_blend_bakeWeights_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "ctrls" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "ctrls" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_controls;\r\nss2_limitShape;\r\n\r\nss2_controls_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "cnct" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "cnct" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_controls;\r\n\r\nss2_controls_connectWin \"\" \"\";" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "save" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "save" + -image "menuIconFile.xpm" + -image1 "menuIconFile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_save;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "load" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "load" + -image "menuIconFile.xpm" + -image1 "menuIconFile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_load;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "del" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "del" + -image "C:/Program Files/Alias/Maya7.0/extras/icons/USERERASER48.BMP" + -image1 "C:/Program Files/Alias/Maya7.0/extras/icons/USERERASER48.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_delete;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "atch" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "atch" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_attach;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "dtch" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "dtch" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\n\r\nss2_detach;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "limit" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "limit" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_limitShape;\r\n\r\nss2_limitShape_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "eyes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "eyes" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_eyes;\r\n\r\nss2_eyes_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "prep" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "prep" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "fixOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "fixOut" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_fix_out;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "fixIn" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "fixIn" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_fixHalf_in;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "halfOut" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "halfOut" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_half_out;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "halfIn" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "halfIn" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_fixHalf_in;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "xyz" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "xyz" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_prepare;\r\n\r\nss2_blend_prepare_XYZ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "zip" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "zip" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_blend_bakeWeights;\r\nss2_zip;\r\n\r\nss2_zip_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "thLim" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "thLim" + -image "commandButton.xpm" + -image1 "commandButton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ss2_utils;\r\nss2_revLimScale;\r\n\r\nss2_revLimScale_shelf;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Subdivs.mel b/2009-x64/prefs/shelves/shelf_Subdivs.mel new file mode 100644 index 0000000..204ab7e --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Subdivs.mel @@ -0,0 +1,285 @@ +global proc shelf_Subdivs () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Sphere: Create a subdiv sphere on the grid" + -align "center" + -label "Subdiv Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivSphere.xpm" + -image1 "subdivSphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivSphere" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Cube: Create a subdiv cube on the grid" + -align "center" + -label "Subdiv Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCube.xpm" + -image1 "subdivCube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivCube" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Cylinder: Create a subdiv cylinder on the grid" + -align "center" + -label "Subdiv Cylinder" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCylinder.xpm" + -image1 "subdivCylinder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivCylinder" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Cone: Create a subdiv cone on the grid" + -align "center" + -label "Subdiv Cone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCone.xpm" + -image1 "subdivCone.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivCone" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Plane: Create a subdiv plane on the grid" + -align "center" + -label "Subdiv Plane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivPlane.xpm" + -image1 "subdivPlane.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivPlane" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Torus: Create a subdiv torus on the grid" + -align "center" + -label "Subdiv Torus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivTorus.xpm" + -image1 "subdivTorus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivTorus" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Full Crease Edge/Vertex: Full crease subdivision surface edge or vertex (tangent break)" + -align "center" + -label "Full Crease Edge/Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCrease.xpm" + -image1 "subdivCrease.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FullCreaseSubdivSurface" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Uncrease Edge/Vertex: Uncrease subdivision surface edge or vertex" + -align "center" + -label "Uncrease Edge/Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivUncrease.xpm" + -image1 "subdivUncrease.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "UncreaseSubdivSurface" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Finer: Finer level component display" + -align "center" + -label "Display Finer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivFineMesh.xpm" + -image1 "subdivFineMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FineLevelComponentDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Coarser: Coarser level component display" + -align "center" + -label "Display Coarser" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCoarseMesh.xpm" + -image1 "subdivCoarseMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CoarseLevelComponentDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Base: Base level component display" + -align "center" + -label "Display Base" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivBaseMesh.xpm" + -image1 "subdivBaseMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BaseLevelComponentDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Geometry Tool: Sculpt a geometry object" + -align "center" + -label "Sculpt Geometry Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryTool" + -sourceType "mel" + -doubleClickCommand "SculptGeometryToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Surfaces.mel b/2009-x64/prefs/shelves/shelf_Surfaces.mel new file mode 100644 index 0000000..9bbac14 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Surfaces.mel @@ -0,0 +1,584 @@ +global proc shelf_Surfaces () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Sphere: Create a NURBS sphere on the grid" + -align "center" + -label "NURBS Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sphere.xpm" + -image1 "sphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSSphere" + -sourceType "mel" + -doubleClickCommand "CreateNURBSSphereOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Cube: Create a NURBS cube on the grid" + -align "center" + -label "NURBS Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cube.xpm" + -image1 "cube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCube" + -sourceType "mel" + -doubleClickCommand "CreateNURBSCubeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Cylinder: Create a NURBS cylinder on the grid" + -align "center" + -label "NURBS Cylinder" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cylinder.xpm" + -image1 "cylinder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCylinder" + -sourceType "mel" + -doubleClickCommand "CreateNURBSCylinderOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Cone: Create a NURBS cone on the grid" + -align "center" + -label "NURBS Cone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cone.xpm" + -image1 "cone.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCone" + -sourceType "mel" + -doubleClickCommand "CreateNURBSConeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Plane: Create a NURBS plane on the grid" + -align "center" + -label "NURBS Plane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "plane.xpm" + -image1 "plane.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSPlane" + -sourceType "mel" + -doubleClickCommand "CreateNURBSPlaneOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Torus: Create a NURBS torus on the grid" + -align "center" + -label "NURBS Torus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "torus.xpm" + -image1 "torus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSTorus" + -sourceType "mel" + -doubleClickCommand "CreateNURBSTorusOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Revolve: Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Revolve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "revolve.xpm" + -image1 "revolve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Revolve" + -sourceType "mel" + -doubleClickCommand "RevolveOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Loft: Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Loft" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "skin.xpm" + -image1 "skin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Loft" + -sourceType "mel" + -doubleClickCommand "LoftOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Planar: Select curve(s), isoparm(s) or trim edge(s) (that together form one or more closed regions)" + -align "center" + -label "Planar" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "planarTrim.xpm" + -image1 "planarTrim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Planar" + -sourceType "mel" + -doubleClickCommand "PlanarOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extrude: Select curve(s), isoparm(s) or trim edge(s). Select the path last" + -align "center" + -label "Extrude" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "extrude.xpm" + -image1 "extrude.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Extrude" + -sourceType "mel" + -doubleClickCommand "ExtrudeOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Birail 1 Tool: Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Birail 1 Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "birail1Gen.xpm" + -image1 "birail1Gen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Birail1" + -sourceType "mel" + -doubleClickCommand "Birail1Options" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bevel Plus: Select curve(s), isoparm(s) or trim edge(s) or CoS" + -align "center" + -label "Bevel Plus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "bevelPlus.xpm" + -image1 "bevelPlus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BevelPlus" + -sourceType "mel" + -doubleClickCommand "BevelPlusOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Project Curve on Surface: Select curve(s), isoparm(s) or trim edge(s) and a target surface" + -align "center" + -label "Project Curve on Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "projectCurve.xpm" + -image1 "projectCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ProjectCurveOnSurface" + -sourceType "mel" + -doubleClickCommand "ProjectCurveOnSurfaceOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Intersect Surfaces: Select two or more surfaces - the last surface intersects all the other ones" + -align "center" + -label "Intersect Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "srfIntersect.xpm" + -image1 "srfIntersect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IntersectSurfaces" + -sourceType "mel" + -doubleClickCommand "IntersectSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Trim Tool: Select a surface with a curve on it" + -align "center" + -label "Trim Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "trim.xpm" + -image1 "trim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TrimTool" + -sourceType "mel" + -doubleClickCommand "TrimToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Untrim Surfaces: Select a trimmed surface" + -align "center" + -label "Untrim Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "untrim.xpm" + -image1 "untrim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "UntrimSurfaces" + -sourceType "mel" + -doubleClickCommand "UntrimSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach Surfaces: Select two surfaces" + -align "center" + -label "Attach Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "align.xpm" + -image1 "align.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachSurfaces" + -sourceType "mel" + -doubleClickCommand "AttachSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Detach Surfaces: Select isoparm(s)" + -align "center" + -label "Detach Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "detach.xpm" + -image1 "detach.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DetachSurfaces" + -sourceType "mel" + -doubleClickCommand "DetachSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Open/Close Surfaces: Select surface(s) or isoparm(s) to give direction" + -align "center" + -label "Open/Close Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "openCloseSurface.xpm" + -image1 "openCloseSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OpenCloseSurfaces" + -sourceType "mel" + -doubleClickCommand "OpenCloseSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Insert Isoparms: Select isoparm(s)" + -align "center" + -label "Insert Isoparms" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "insert.xpm" + -image1 "insert.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InsertIsoparms" + -sourceType "mel" + -doubleClickCommand "InsertIsoparmsOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extend Surfaces: " + -align "center" + -label "Extend Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "extendSurface.xpm" + -image1 "extendSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtendSurfaces" + -sourceType "mel" + -doubleClickCommand "ExtendSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rebuild Surfaces: Select surface(s)" + -align "center" + -label "Rebuild Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rebuildSurface.xpm" + -image1 "rebuildSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RebuildSurfaces" + -sourceType "mel" + -doubleClickCommand "RebuildSurfacesOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Geometry Tool: Sculpt a geometry object" + -align "center" + -label "Sculpt Geometry Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryTool" + -sourceType "mel" + -doubleClickCommand "SculptGeometryToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Editing Tool: Select a surface" + -align "center" + -label "Surface Editing Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "surfaceEditor.xpm" + -image1 "surfaceEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SurfaceEditingTool" + -sourceType "mel" + -doubleClickCommand "SurfaceEditingToolOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_Toon.mel b/2009-x64/prefs/shelves/shelf_Toon.mel new file mode 100644 index 0000000..81f2aad --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_Toon.mel @@ -0,0 +1,492 @@ +global proc shelf_Toon () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Solid Color: Fill the surface with a constant, non-shaded color" + -align "center" + -label "Solid Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonSolid.xpm" + -image1 "toonSolid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"solid\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Light Angle Two Tone: Index a ramp color based on the light angle, brightness based on light brightness" + -align "center" + -label "Light Angle Two Tone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonLightAngle2.xpm" + -image1 "toonLightAngle2.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"lightAngle\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shaded Brightness Two Tone: Index a ramp color based on the diffuse shaded brightness" + -align "center" + -label "Shaded Brightness Two Tone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonBrightness2.xpm" + -image1 "toonBrightness2.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"shadedBrightness\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shaded Brightness Three Tone: Index three colors based on the diffuse shaded brightness" + -align "center" + -label "Shaded Brightness Three Tone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonBrightness3.xpm" + -image1 "toonBrightness3.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"threeToneBrightness\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Dark Profile: Threshold the color based on the view angle with the edges" + -align "center" + -label "Dark Profile" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonDarkProfile.xpm" + -image1 "toonDarkProfile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"darkProfile\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rim Light: Edges have a white highlight" + -align "center" + -label "Rim Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonRimLight.xpm" + -image1 "toonRimLight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"rimLight\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Circle Highlight: A light angle shader with a round hard edged specular highlight" + -align "center" + -label "Circle Highlight" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonCircleHigh.xpm" + -image1 "toonCircleHigh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"circleHighlight\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add New Toon outline: Assign a new pfx toon outline to selected items" + -align "center" + -label "Add New Toon outline" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonAddOutline.xpm" + -image1 "toonAddOutline.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignNewPfxToon" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Remove any toon outlines for selected items" + -align "center" + -label "Remove Current Toon outlines" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonRemoveOutline.xpm" + -image1 "toonRemoveOutline.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "removePfxToonOutlines" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Modifier: Create a line modifier object and attach to selected toon lines" + -align "center" + -label "Create Modifier" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonLineModifier.xpm" + -image1 "toonLineModifier.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createLineModifier" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Edit persp.backgroundColor" + -align "center" + -label "Persp" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "per" + -image "menuIconCartoon.xpm" + -image1 "menuIconCartoon.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "editAttributeColor persp.backgroundColor" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Get Toon Example...: Browse toon examples to import..." + -align "center" + -label "Get Toon Example..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonGetExample.xpm" + -image1 "toonGetExample.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "GetToonExample" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reverse selected surfaces" + -align "center" + -label "Reverse Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonReverseSurfaces.xpm" + -image1 "toonReverseSurfaces.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "reverseToonObjects 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Assign a Paint Effects brush to selected pfxToon nodes" + -align "center" + -label "Assign Paint Effects Brush to Toon Lines" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonAssignPfxBrush.xpm" + -image1 "toonAssignPfxBrush.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignBrushToPfxToon" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Convert Toon to Polygons: Paint Effects to polygons" + -align "center" + -label "Convert Toon to Polygons" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonToPolygons.xpm" + -image1 "toonToPolygons.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToPoly" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Line Width: Paint a line width map for the selected toon node" + -align "center" + -label "Line Width" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintWidth.xpm" + -image1 "toonPaintWidth.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"lineWidthMap\" \"Line Width\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Line Offset: Paint a line offset map for the selected toon node" + -align "center" + -label "Line Offset" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintOffset.xpm" + -image1 "toonPaintOffset.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"lineOffsetMap\" \"Line Offset\" " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Line Opacity: Paint a line opacity map for the selected toon node" + -align "center" + -label "Line Opacity" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintOpacity.xpm" + -image1 "toonPaintOpacity.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"lineOpacityMap\" \"Line Opacity\" " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Profile Color: Paint a profile line color map for the selected toon node" + -align "center" + -label "Profile Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintProfileColor.xpm" + -image1 "toonPaintProfileColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"profileColor\" \"Profile Color\" " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Crease Color: Paint a crease line color map for the selected toon node" + -align "center" + -label "Crease Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintCreaseColor.xpm" + -image1 "toonPaintCreaseColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"creaseColor\" \"Crease Color\" " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Border Color: Paint a border line color map for the selected toon node" + -align "center" + -label "Border Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintBorderColor.xpm" + -image1 "toonPaintBorderColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"borderColor\" \"Border Color\" " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_heatWeight.mel b/2009-x64/prefs/shelves/shelf_heatWeight.mel new file mode 100644 index 0000000..0000b97 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_heatWeight.mel @@ -0,0 +1,96 @@ +global proc shelf_heatWeight () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AutoWeight: Select root joint, then mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "heatWeight.xpm" + -image1 "heatWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PM_heatWeight\r\nPM_heatWeight.heatWeight()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AutoWeight: Select root joint, then mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "heatWeight.xpm" + -image1 "heatWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PM_heatWeight\r\nreload(PM_heatWeight)\r\nPM_heatWeight.heatWeight(directDescendentsOnly=True,\r\n undoable=False,\r\n tempOutputDir='C:/Dev/Projects/eclipse/workspace/heatWeightProject/src',\r\n tempDelete=False)" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AutoWeight: Select root joint, then mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "heatWeight.xpm" + -image1 "heatWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PM_heatWeight\r\nreload(PM_heatWeight)\r\nPM_heatWeight.heatWeight(undoable=False,\r\n tempOutputDir='C:/Dev/Projects/eclipse/workspace/heatWeightProject/src',\r\n tempDelete=False)" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "AutoWeight: Select root joint, then mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "heatWeight.xpm" + -image1 "heatWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import PM_heatWeight\r\nreload(PM_heatWeight)\r\nPM_heatWeight.heatWeight(undoable=False,\r\n tempOutputDir=r'C:\\Documents and Settings\\elrond\\Desktop\\Foo',\r\n tempDelete=False)" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_nCloth.mel b/2009-x64/prefs/shelves/shelf_nCloth.mel new file mode 100644 index 0000000..7ffcd84 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_nCloth.mel @@ -0,0 +1,563 @@ +global proc shelf_nCloth () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected triangulated mesh, create an nCloth" + -align "center" + -label "Create nCloth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCreate.xpm" + -image1 "nClothCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNCloth 0" + -sourceType "mel" + -doubleClickCommand "nClothCreateOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given an object and an nCloth, make object a collider with nCloth" + -align "center" + -label "Create Passive" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCreatePassive.xpm" + -image1 "nClothCreatePassive.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "makeCollideNCloth" + -sourceType "mel" + -doubleClickCommand "nClothMakeCollideOptions" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected triangulated mesh, remove it from the nCloth" + -align "center" + -label "Remove nCloth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothRemove.xpm" + -image1 "nClothRemove.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "removeNCloth \"selected\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display the input mesh" + -align "center" + -label "Display Input Mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothDisplayInput.xpm" + -image1 "nClothDisplayInput.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayNClothMesh \"input\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display the current mesh" + -align "center" + -label "Display Current Mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothDisplayCurrent.xpm" + -image1 "nClothDisplayCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayNClothMesh \"current\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Allows interaction with objects during playback" + -align "center" + -label "Interactive Playback" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "interactivePlayback.xpm" + -image1 "interactivePlayback.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InteractivePlayback" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint the mappable thickness attribute" + -align "center" + -label "Thickness" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "PVT" + -image "nClothPaintPerVertex.xpm" + -image1 "nClothPaintPerVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setNClothMapType(\"thickness\",\"\",1); artAttrNClothToolScript 3 thickness" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create a transform constraint for selected nucleus object points" + -align "center" + -label "Transform Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintTransform.xpm" + -image1 "nConstraintTransform.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint transform 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create a constraint between selected nucleus object vertices, edges or faces" + -align "center" + -label "Component to Component" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintComponent.xpm" + -image1 "nConstraintComponent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint pointToPoint 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth points and a collision object to constraint to" + -align "center" + -label "Point to Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintPointoSurface.xpm" + -image1 "nConstraintPointoSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint pointToSurface 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth points and a collision object to constraint to" + -align "center" + -label "Slide on Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintSlideonSurface.xpm" + -image1 "nConstraintSlideonSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint slideOnSurface 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth objects or components to weld together" + -align "center" + -label "Weld Adjacent Borders" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintWeldBorders.xpm" + -image1 "nConstraintWeldBorders.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint weldBorders 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth surface to make tearable" + -align "center" + -label "Tearable Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintTearable.xpm" + -image1 "nConstraintTearable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint tearableSurface 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select dynamic objects and/or cvs between which to suppress collisions" + -align "center" + -label "Exclude Collide Pairs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintExcludeCollision.xpm" + -image1 "nConstraintExcludeCollision.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint collisionExclusion 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth components for which to disable collision with all other objects" + -align "center" + -label "Disable Collision" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintDisableCollision.xpm" + -image1 "nConstraintDisableCollision.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint disableCollision 0" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Remove the selected dynamic constraint(s)" + -align "center" + -label "Remove Dynamic Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintRemove.xpm" + -image1 "nConstraintRemove.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "removeDynamicConstraint \"selected\"" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint the mappable strength attribute" + -align "center" + -label "Strength" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "PVS" + -image "nConstraintPaintPerVertex.xpm" + -image1 "nConstraintPaintPerVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setNComponentMapType(\"strength\",1); artAttrNComponentToolScript 3 strength" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected ncloth mesh, create a cache." + -align "center" + -label "Create New Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheCreate.xpm" + -image1 "nClothCacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNclothCache 4 { \"2\", \"1\", \"10\", \"OneFilePerFrame\", \"1\", \"\",\"1\",\"\",\"0\", \"0\", \"0\", \"1\", \"1\",\"0\",\"1\" } " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete cache on selected nCloth mesh." + -align "center" + -label "Delete Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheDelete.xpm" + -image1 "nClothCacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteNclothCache" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Disable All Caches On Selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheDisable.xpm" + -image1 "nClothCacheDisable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setCacheEnable 0 0 {}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Enable All Caches On Selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheEnable.xpm" + -image1 "nClothCacheEnable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setCacheEnable 1 0 {}" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected nCloth, merge existing caches into a new cache." + -align "center" + -label "Merge Caches" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheMerge.xpm" + -image1 "nClothCacheMerge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNclothCache 4 { \"2\", \"1\", \"10\", \"OneFilePerFrame\", \"1\", \"\",\"1\",\"\",\"0\", \"merge\", \"0\", \"1\", \"1\",\"0\",\"1\" } " + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Replace frame(s) in nCloth cache" + -align "center" + -label "Replace Cache Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheReplaceFrames.xpm" + -image1 "nClothCacheReplaceFrames.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cacheFile -refresh -replaceCachedFrame -startTime 1 -endTime 1 -simulationRate 1 -sampleMultiplier 1" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint cache weights tool" + -align "center" + -label "Paint Cache Weights Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "PCW" + -image "attrPaint.xpm" + -image1 "attrPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintCacheToolOptions" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/shelves/shelf_newAbxPicker.mel b/2009-x64/prefs/shelves/shelf_newAbxPicker.mel new file mode 100644 index 0000000..a94cda2 --- /dev/null +++ b/2009-x64/prefs/shelves/shelf_newAbxPicker.mel @@ -0,0 +1,215 @@ +global proc shelf_newAbxPicker () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Show Attribute Info" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Attr" + -image "MENUICONLISTED.xpm" + -image1 "MENUICONLISTED.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PMP_showAttribInfo" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "pick" + -image "abxPicker.bmp" + -image1 "abxPicker.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "eval(\"source abxPicker.mel\");\r\nabxPicker ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "name" + -image "abxPicker.bmp" + -image1 "abxPicker.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "source abxPicker ;\r\nabxPicker_namedWindow(\"Fred\");" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "new" + -image "abxPicker.bmp" + -image1 "abxPicker.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "source abxPicker ;\r\nabxPicker_newWindow;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker, python version" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "pyPick" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import abxPicker\r\nreload(abxPicker)\r\nmyPick = abxPicker.abxPicker()" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "debug abxPicker" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "pdb" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import abxPicker\r\nimport pdb\r\nreload(abxPicker)\r\npdb.run('abxPicker.abxPicker()')" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "debug abxPicker module" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "pdbMod" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import abxPicker\r\nimport pdb\r\npdb.run('reload(abxPicker)')" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker, python version named" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "pyPick" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import abxPicker\r\n#reload(abxPicker)\r\nmyPick = abxPicker.abxPicker(useExisting=False)" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "doctest abxPicker" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "docT" + -image "pythonFamily.xpm" + -image1 "pythonFamily.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "import pymel.util.test.testingutils\rreload(pymel.util.test.testingutils)\rimport abxPicker\rreload(abxPicker)\rimport doctest\r\rpymel_test(abxPicker)" + -sourceType "python" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefs/userColors.mel b/2009-x64/prefs/userColors.mel new file mode 100644 index 0000000..6b02f76 --- /dev/null +++ b/2009-x64/prefs/userColors.mel @@ -0,0 +1,172 @@ +displayColor -c -dormant SMP 1; +displayColor -c -dormant SMPFace 4; +displayColor -c -dormant SMPVertex 8; +displayColor -c -dormant Xaxis 13; +displayColor -c -dormant Yaxis 14; +displayColor -c -dormant Zaxis 6; +displayColor -c -dormant air 11; +displayColor -c -dormant annotationShape 7; +displayColor -c -dormant artBrushFeedback 8; +displayColor -c -dormant baseLattice 5; +displayColor -c -dormant blendJoints 23; +displayColor -c -dormant boundary 4; +displayColor -c -dormant camera 7; +displayColor -c -dormant curve 5; +displayColor -c -dormant curveOnSurface 5; +displayColor -c -dormant cv 4; +displayColor -c -dormant dimension 3; +displayColor -c -dormant drag 11; +displayColor -c -dormant emitter 11; +displayColor -c -dormant ep 10; +displayColor -c -dormant fkJoints 8; +displayColor -c -dormant fluidsForce 6; +displayColor -c -dormant fluidsVelocity 4; +displayColor -c -dormant ghostsAfter 21; +displayColor -c -dormant ghostsBefore 18; +displayColor -c -dormant gravity 11; +displayColor -c -dormant grid 3; +displayColor -c -dormant gridAxis 1; +displayColor -c -dormant gridHighlight 3; +displayColor -c -dormant guideLine 2; +displayColor -c -dormant headsUpDisplayButtons 3; +displayColor -c -dormant headsUpDisplayLabels 7; +displayColor -c -dormant headsUpDisplaySliders 17; +displayColor -c -dormant headsUpDisplayValues 16; +displayColor -c -dormant hikEffector 10; +displayColor -c -dormant hull 10; +displayColor -c -dormant ikEffector 10; +displayColor -c -dormant ikHandle 10; +displayColor -c -dormant ikSticky 4; +displayColor -c -dormant ikSuperSticky 13; +displayColor -c -dormant joint 10; +displayColor -c -dormant lattice 5; +displayColor -c -dormant latticePoints 4; +displayColor -c -dormant light 12; +displayColor -c -dormant live 23; +displayColor -c -dormant liveAxis 1; +displayColor -c -dormant liveHighlight 23; +displayColor -c -dormant locator 7; +displayColor -c -dormant manipulator 3; +displayColor -c -dormant newton 11; +displayColor -c -dormant object 5; +displayColor -c -dormant objectEdit 14; +displayColor -c -dormant orientationMarker 7; +displayColor -c -dormant particle 11; +displayColor -c -dormant pivots 7; +displayColor -c -dormant placement 7; +displayColor -c -dormant plane 2; +displayColor -c -dormant polyEdge 18; +displayColor -c -dormant polyFace 18; +displayColor -c -dormant polyUV 10; +displayColor -c -dormant polyVertex 9; +displayColor -c -dormant polymesh 5; +displayColor -c -dormant positionMarker 7; +displayColor -c -dormant radial 11; +displayColor -c -dormant referenceLayer 1; +displayColor -c -dormant rigidBody 11; +displayColor -c -dormant rigidConstraint 11; +displayColor -c -dormant sculpt 11; +displayColor -c -dormant segment 10; +displayColor -c -dormant selectHandle 1; +displayColor -c -dormant snapshotShape 7; +displayColor -c -dormant spring 11; +displayColor -c -dormant stroke 8; +displayColor -c -dormant subdiv 5; +displayColor -c -dormant subdivCV 4; +displayColor -c -dormant subdivEdge 6; +displayColor -c -dormant subdivFacet 6; +displayColor -c -dormant subdivUV 10; +displayColor -c -dormant surface 5; +displayColor -c -dormant surfaceOriginNormal 15; +displayColor -c -dormant surfaceOriginU 4; +displayColor -c -dormant surfaceOriginV 7; +displayColor -c -dormant trimmedSurface 8; +displayColor -c -dormant turbulence 11; +displayColor -c -dormant uniform 11; +displayColor -c -dormant uvmap 10; +displayColor -c -dormant volumeAxis 11; +displayColor -c -dormant vortex 11; +displayColor -c -active HSMP 1; +displayColor -c -active HSMPC 5; +displayColor -c -active SMP 18; +displayColor -c -active SMPEdge 1; +displayColor -c -active SMPFace 1; +displayColor -c -active SMPVertex 16; +displayColor -c -active active 16; +displayColor -c -active activeAffected 9; +displayColor -c -active activeTemplate 20; +displayColor -c -active air 16; +displayColor -c -active annotationShape 16; +displayColor -c -active artBrushFeedback 13; +displayColor -c -active baseLattice 16; +displayColor -c -active boundary 17; +displayColor -c -active camera 16; +displayColor -c -active component 17; +displayColor -c -active curve 16; +displayColor -c -active curveOnSurface 16; +displayColor -c -active cv 17; +displayColor -c -active dimension 16; +displayColor -c -active drag 16; +displayColor -c -active emitter 16; +displayColor -c -active ep 17; +displayColor -c -active fluidsForce 18; +displayColor -c -active fluidsVelocity 17; +displayColor -c -active gravity 16; +displayColor -c -active hilite 18; +displayColor -c -active hiliteComponent 9; +displayColor -c -active hull 21; +displayColor -c -active ikEffector 16; +displayColor -c -active ikHandle 16; +displayColor -c -active joint 16; +displayColor -c -active lattice 16; +displayColor -c -active latticePoints 17; +displayColor -c -active lead 19; +displayColor -c -active light 16; +displayColor -c -active locator 16; +displayColor -c -active manipCurrent 17; +displayColor -c -active manipDisabled 3; +displayColor -c -active manipGesture 17; +displayColor -c -active manipHandle 18; +displayColor -c -active manipLabel 7; +displayColor -c -active manipLine 2; +displayColor -c -active manipPrevious 3; +displayColor -c -active manipSlaveHandle 17; +displayColor -c -active manipulator 16; +displayColor -c -active newton 16; +displayColor -c -active object 16; +displayColor -c -active orientationMarker 16; +displayColor -c -active particle 16; +displayColor -c -active pivots 19; +displayColor -c -active placement 16; +displayColor -c -active plane 16; +displayColor -c -active polyEdge 21; +displayColor -c -active polyFace 21; +displayColor -c -active polyUV 14; +displayColor -c -active polyVertex 17; +displayColor -c -active polymesh 16; +displayColor -c -active positionMarker 16; +displayColor -c -active radial 16; +displayColor -c -active regionOfEffect 16; +displayColor -c -active rigidBody 16; +displayColor -c -active rigidConstraint 16; +displayColor -c -active sculpt 16; +displayColor -c -active segment 16; +displayColor -c -active selectHandle 14; +displayColor -c -active snapshotShape 16; +displayColor -c -active spring 16; +displayColor -c -active stroke 16; +displayColor -c -active subdiv 16; +displayColor -c -active subdivCV 17; +displayColor -c -active subdivEdge 21; +displayColor -c -active subdivFacet 21; +displayColor -c -active subdivUV 14; +displayColor -c -active surface 16; +displayColor -c -active surfaceOriginNormal 6; +displayColor -c -active surfaceOriginU 13; +displayColor -c -active surfaceOriginV 14; +displayColor -c -active trimmedSurface 16; +displayColor -c -active turbulence 16; +displayColor -c -active uniform 16; +displayColor -c -active uvmap 14; +displayColor -c -active volumeAxis 16; +displayColor -c -active vortex 16; diff --git a/2009-x64/prefs/userHotkeys.mel b/2009-x64/prefs/userHotkeys.mel new file mode 100644 index 0000000..ee0f7f5 --- /dev/null +++ b/2009-x64/prefs/userHotkeys.mel @@ -0,0 +1,277 @@ +//Maya Preference 2009 (Release 1) +// +// + +hotkey -keyShortcut "d" -ctl -alt -name ("LoadDefaultHotkeys"); +hotkey -keyShortcut "a" -ctl -alt -name ("LoadAnimationHotkeys"); +hotkey -keyShortcut "m" -ctl -alt -name ("LoadModelingHotkeys"); +hotkey -keyShortcut "S" -ctl -alt -name ("SaveCurrentHotkeys"); +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "F6" -name ("ConnectionEditorNameCommand"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "a" -releaseName (""); +hotkey -keyShortcut "a" -name ("pmp_selectionModeVertexNameCommand"); +hotkey -keyShortcut "f" -name ("pmp_selectionModeObjectNameCommand"); +hotkey -keyShortcut "f" -ctl -name ("LookAtSelectionNameCommand"); +hotkey -keyShortcut "s" -name ("pmp_selectionModeEdgeNameCommand"); +hotkey -keyShortcut "d" -releaseName (""); +hotkey -keyShortcut "d" -name ("pmp_selectionModeFaceNameCommand"); +hotkey -keyShortcut "q" -ctl -name ("convertToUVsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "q" -alt -releaseName (""); +hotkey -keyShortcut "q" -alt -name ("CreateUnitCubeNameCommand"); +hotkey -keyShortcut "z" -name ("extrudeComponentNameCommand"); +hotkey -keyShortcut "B" -ctl -name (""); +hotkey -keyShortcut "b" -ctl -releaseName (""); +hotkey -keyShortcut "b" -releaseName ("ModifyUpperRadiusReleaseNameCommand"); +hotkey -keyShortcut "b" -name ("ModifyUpperRadiusPressNameCommand"); +hotkey -keyShortcut "b" -alt -name ("BridgeEdgeNameCommand"); +hotkey -keyShortcut "z" -alt -name ("ExtrudeFaceOptionsNameCommand"); +hotkey -keyShortcut "b" -ctl -name ("BevelPolygonNameCommand"); +hotkey -keyShortcut "p" -name ("AppendToPolygonToolNameCommand"); +hotkey -keyShortcut "d" -ctl -name ("DuplicateNameCommand"); +hotkey -keyShortcut "D" -ctl -name ("convertToContainedFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -releaseName (""); +hotkey -keyShortcut "S" -name ("convertToEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "D" -name ("convertToFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -ctl -name ("convertToContainedEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "A" -name ("convertToVertsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "w" -ctl -name ("SlideEdgeToolNameCommand"); +hotkey -keyShortcut "X" -releaseName (""); +hotkey -keyShortcut "X" -name ("SplitPolygonToolNameCommand"); +hotkey -keyShortcut "x" -alt -name ("SplitEdgeRingToolNameCommand"); +hotkey -keyShortcut "j" -releaseName (""); +hotkey -keyShortcut "j" -name ("AverageVertexNameCommand"); +hotkey -keyShortcut "c" -releaseName (""); +hotkey -keyShortcut "c" -name ("toggleMayaDisplaySmoothingNameCommand"); +hotkey -keyShortcut "C" -releaseName (""); +hotkey -keyShortcut "C" -name ("toggleMayaDisplaySmoothingCageNameCommand"); +hotkey -keyShortcut "1" -name ("cameraFrontViewNameCommand"); +hotkey -keyShortcut "2" -name ("cameraTopViewNameCommand"); +hotkey -keyShortcut "3" -name ("cameraRightSideViewNameCommand"); +hotkey -keyShortcut "#" -name ("cameraLeftSideViewNameCommand"); +hotkey -keyShortcut "@" -name ("cameraBottomViewNameCommand"); +hotkey -keyShortcut "!" -name ("cameraRearViewNameCommand"); +hotkey -keyShortcut "4" -name ("cameraPerspViewNameCommand"); +hotkey -keyShortcut "1" -ctl -name ("DisplayWireframeNameCommand"); +hotkey -keyShortcut "2" -ctl -name ("displayFlatShadedNameCommand"); +hotkey -keyShortcut "3" -ctl -name ("DisplayShadedAndTexturedNameCommand"); +hotkey -keyShortcut "4" -ctl -name ("xRayToggleNameCommand"); +hotkey -keyShortcut "=" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "-" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "e" -ctl -name ("SelectEdgeLoopNameCommand"); +hotkey -keyShortcut "r" -ctl -name ("SelectEdgeRingNameCommand"); +hotkey -keyShortcut "a" -ctl -name ("selectAllNameCommand"); +hotkey -keyShortcut "`" -name ("STRSTweakModeOnNameCommand"); +hotkey -keyShortcut "Z" -ctl -name ("RedoNameCommand"); +hotkey -keyShortcut "z" -ctl -alt -name ("RepeatLastNameCommand"); +hotkey -keyShortcut "c" -ctl -alt -name ("cpsToggleProxyEditableNameCommand"); +hotkey -keyShortcut "c" -alt -name ("cpsToggleSubdivisionNameCommand"); +hotkey -keyShortcut "W" -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "h" -releaseName (""); +hotkey -keyShortcut "h" -name ("HideSelectedObjectsNameCommand"); +hotkey -keyShortcut "h" -ctl -name ("ShowAllNameCommand"); +hotkey -keyShortcut "x" -releaseName (""); +hotkey -keyShortcut "x" -name ("ConnectNameCommand"); +hotkey -keyShortcut "z" -ctl -name ("UndoNameCommand"); +hotkey -keyShortcut "v" -alt -name (""); +hotkey -keyShortcut "v" -alt -releaseName (""); +hotkey -keyShortcut "V" -releaseName ("SnapToGridNameCommand"); +hotkey -keyShortcut "V" -name ("SnapToGridNameCommand"); +hotkey -keyShortcut "a" -alt -name ("AttributeEditorNameCommand"); +hotkey -keyShortcut "w" -alt -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "_" -name ("InvertSelectionNameCommand"); +hotkey -keyShortcut "Up" -ctl -name ("PickWalkUpNameCommand"); +hotkey -keyShortcut "Down" -ctl -name ("PickWalkDownNameCommand"); +hotkey -keyShortcut "Left" -ctl -name ("PickWalkLeftNameCommand"); +hotkey -keyShortcut "Right" -ctl -name ("PickWalkRightNameCommand"); +hotkey -keyShortcut "Left" -name ("PickWalkLeftNameCommand"); +hotkey -keyShortcut "Right" -name ("PickWalkRightNameCommand"); +hotkey -keyShortcut "'" -releaseName (""); +hotkey -keyShortcut "'" -name ("PlaybackToggleNameCommand"); +hotkey -keyShortcut "l" -releaseName (""); +hotkey -keyShortcut "l" -name ("PlaybackBackwardNameCommand"); +hotkey -keyShortcut ";" -name ("PlaybackStopNameCommand"); +hotkey -keyShortcut "9" -alt -name (""); +hotkey -keyShortcut "9" -name ("GraphEditorNameCommand"); +hotkey -keyShortcut "/" -releaseName (""); +hotkey -keyShortcut "/" -name ("SetKeyNameCommand"); +hotkey -keyShortcut "F" -name ("FrameSelectedNameCommand"); +hotkey -keyShortcut "F9" -name ("Translate_LocalNameCommand"); +hotkey -keyShortcut "F10" -name ("Translate_WorldNameCommand"); +hotkey -keyShortcut "F11" -name ("LocalRotateNameCommand"); +hotkey -keyShortcut "F12" -name ("GimbalRotateNameCommand"); +hotkey -keyShortcut "Left" -alt -name ("Nudge_BkwdNameCommand"); +hotkey -keyShortcut "Right" -alt -name ("Nudge_FwdNameCommand"); +hotkey -keyShortcut "Down" -alt -name ("Nudge_DnNameCommand"); +hotkey -keyShortcut "Up" -alt -name ("Nudge_UpNameCommand"); +hotkey -keyShortcut "0" -name ("ChannelBox_ToggleNameCommand"); +hotkey -keyShortcut "t" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "o" -releaseName (""); +hotkey -keyShortcut "o" -name ("ToggleFaceNormalDisplayNameCommand"); +hotkey -keyShortcut "f" -alt -name ("FillHoleNameCommand"); +hotkey -keyShortcut "f" -ctl -alt -name (""); +hotkey -keyShortcut "A" -ctl -alt -name (""); +hotkey -keyShortcut "." -alt -name (""); +hotkey -keyShortcut "," -alt -name (""); +hotkey -keyShortcut "," -name ("PreviousKeyNameCommand"); +hotkey -keyShortcut "." -name ("NextKeyNameCommand"); +hotkey -keyShortcut "k" -ctl -name ("AddKeyNameCommand"); +hotkey -keyShortcut "F5" -name ("OutlinerWindowNameCommand"); +hotkey -keyShortcut "F3" -name ("TextureViewWindowNameCommand"); +hotkey -keyShortcut "F4" -name ("HypergraphDGWindowNameCommand"); +hotkey -keyShortcut "\\" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "n" -releaseName (""); +hotkey -keyShortcut "n" -name ("UnifyTangentsNameCommand"); +hotkey -keyShortcut "m" -releaseName ("ModifyDisplacementReleaseNameCommand"); +hotkey -keyShortcut "m" -name ("ModifyDisplacementPressNameCommand"); +hotkey -keyShortcut "v" -releaseName ("SnapToPointNameCommand"); +hotkey -keyShortcut "v" -name ("SnapToPointNameCommand"); +hotkey -keyShortcut "O" -name ("ToggleVertexNormalDisplayNameCommand"); +hotkey -keyShortcut "u" -releaseName (""); +hotkey -keyShortcut "u" -name ("AnimConvergeNameCommand"); +hotkey -keyShortcut "F1" -name ("ScreenLargeNameCommand"); +hotkey -keyShortcut "g" -name ("SelectUVMaskNameCommand"); +hotkey -keyShortcut "H" -name ("ShowSelectedObjectsNameCommand"); +hotkey -keyShortcut "=" -alt -name ("AddInbetweenNameCommand"); +hotkey -keyShortcut "-" -alt -name ("RemoveInbetweenNameCommand"); +hotkey -keyShortcut "F" -ctl -name ("defaultTangentsFlatNameCommand"); +hotkey -keyShortcut "P" -ctl -name ("UnparentNameCommand"); +hotkey -keyShortcut "p" -ctl -name ("ParentNameCommand"); +hotkey -keyShortcut "P" -name (""); +hotkey -keyShortcut "G" -name ("convertToUVsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "," -ctl -name ("PreviousKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "." -ctl -name ("NextKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "[" -name ("NameComGo_To_Previous_View"); +hotkey -keyShortcut "]" -name ("NameComGo_To_Next_View"); +hotkey -keyShortcut "{" -name ("NameComPrevious_View_Arrangement"); +hotkey -keyShortcut "}" -name ("NameComNext_View_Arrangement"); +hotkey -keyShortcut "Z" -name ("NameComRedo"); +hotkey -keyShortcut "F8" -name ("NameComToggle_ObjectComponent_Editing"); +hotkey -keyShortcut "F9" -alt -name ("NameComSet_VertexFace_Component_Mask"); +hotkey -keyShortcut "F9" -ctl -name ("ConvertSelectionToVerticesNameCommand"); +hotkey -keyShortcut "F10" -ctl -name ("ConvertSelectionToEdgesNameCommand"); +hotkey -keyShortcut "F11" -ctl -name ("ConvertSelectionToFacesNameCommand"); +hotkey -keyShortcut "F12" -ctl -name ("ConvertSelectionToUVsNameCommand"); +hotkey -keyShortcut ">" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "<" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "H" -ctl -name ("NameComShow_Last_Hidden"); +hotkey -keyShortcut "h" -alt -name ("PMP_hideUnselectedCommandNameCommand"); +hotkey -keyShortcut "q" -releaseName ("NameComSelectTool_MaskMMenu_release"); +hotkey -keyShortcut "q" -name ("NameComSelectTool_MaskMMenu"); +hotkey -keyShortcut "Q" -releaseName (""); +hotkey -keyShortcut "Q" -name ("toggleSoftSelectionNameCommand"); +hotkey -keyShortcut "m" -ctl -name ("NameComToggle_Main_Menubar_Visibility"); +hotkey -keyShortcut "m" -alt -name ("PolyMergeNameCommand"); +hotkey -keyShortcut "M" -name ("NameComToggle_Panel_Menubar_Visibility"); +hotkey -keyShortcut "J" -releaseName ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "J" -name ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "w" -releaseName ("TranslateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "w" -name ("TranslateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "e" -releaseName ("RotateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "e" -name ("RotateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "r" -releaseName ("ScaleToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "r" -name ("ScaleToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "t" -ctl -name ("NameComUniversalManip"); +hotkey -keyShortcut "y" -name ("NameComNonSacred_Tool"); +hotkey -keyShortcut "F2" -name ("HypershadeWindowNameCommand"); +hotkey -keyShortcut "e" -alt -name ("NameComToggleFBIKEffectorsRotatePinState"); +hotkey -keyShortcut "s" -alt -name ("ArtPaintSelectToolNameCommand"); +hotkey -keyShortcut "d" -alt -name ("LassoToolNameCommand"); +hotkey -keyShortcut "4" -alt -name ("NameComSetFullBodyIKKeysSelected"); +hotkey -keyShortcut "5" -alt -name ("NameComToggleFkSkeletonVisibility"); +hotkey -keyShortcut "1" -alt -name ("NameComFBIKReachKeyingOptionFK"); +hotkey -keyShortcut "2" -alt -name ("NameComFBIKReachKeyingOptionSimple"); +hotkey -keyShortcut "3" -alt -name ("NameComFBIKReachKeyingOptionIK"); +hotkey -keyShortcut "V" -alt -name ("NameComGo_to_min_frame"); +hotkey -keyShortcut "k" -releaseName ("NameComVirtual_timeslider_modifier_release"); +hotkey -keyShortcut "k" -name ("NameComVirtual_timeslider_modifier"); +hotkey -keyShortcut "i" -releaseName (""); +hotkey -keyShortcut "i" -name ("SelectNextIntermediatObjectNameCommand"); +hotkey -keyShortcut "5" -name ("NameComShaded_Display"); +hotkey -keyShortcut "6" -name ("NameComShaded_and_Textured_Display"); +hotkey -keyShortcut "7" -name ("NameComTurn_on_Light_Display"); +hotkey -keyShortcut "8" -name ("NameComOpen_Paint_Effects_Panel"); +hotkey -keyShortcut "I" -name ("InstanceNameCommand"); +hotkey -keyShortcut " " -releaseName ("NameComUnpop_hotBox"); +hotkey -keyShortcut " " -name ("NameComPop_hotBox"); +hotkey -keyShortcut "Return" -name ("NameComComplete_current_Tool1"); +hotkey -keyShortcut "Insert" -name ("NameComEnter_Tool_Edit_Mode"); +hotkey -keyShortcut "o" -ctl -name ("NameComOpen_File"); +hotkey -keyShortcut "n" -ctl -name ("NameComNew_File"); +hotkey -keyShortcut "s" -ctl -name ("NameComSave_File"); +hotkey -keyShortcut "g" -ctl -name ("NameComGroup_Selected"); +hotkey -keyShortcut "G" -releaseName (""); +hotkey -keyShortcut "Up" -name ("NameComWalk_up_the_current_hierarchy"); +hotkey -keyShortcut "Down" -name ("NameComWalk_down_the_current_hierarchy"); +hotkey -keyShortcut "+" -name ("NameComIncrease_Manipulator_Size"); +hotkey -keyShortcut "Y" -alt -releaseName (""); +hotkey -keyShortcut "Y" -alt -name (""); +hotkey -keyShortcut "Y" -ctl -releaseName (""); +hotkey -keyShortcut "Y" -ctl -name (""); +hotkey -keyShortcut "Y" -ctl -alt -releaseName (""); +hotkey -keyShortcut "Y" -ctl -alt -name (""); +hotkey -keyShortcut "W" -releaseName (""); +hotkey -keyShortcut "E" -releaseName (""); +hotkey -keyShortcut "E" -name ("NameComSave_Keyframe_for_Rotate"); +hotkey -keyShortcut "R" -releaseName (""); +hotkey -keyShortcut "R" -name ("NameComSave_Keyframe_for_Scale"); +hotkey -keyShortcut "i" -ctl -releaseName (""); +hotkey -keyShortcut "i" -ctl -name ("NameComSelect_Next_Intermediate_Object"); +hotkey -keyShortcut "F1" -releaseName (""); +hotkey -keyShortcut "B" -releaseName ("ModifyLowerRadiusReleaseNameCommand"); +hotkey -keyShortcut "B" -name ("ModifyLowerRadiusPressNameCommand"); +hotkey -keyShortcut "j" -alt -name ("artisanMultiColorFeedback_press"); +hotkey -keyShortcut "r" -alt -name ("artisanToggleReflection_press"); +hotkey -keyShortcut "Up" -ctl -releaseName (""); +hotkey -keyShortcut "Down" -ctl -releaseName (""); +hotkey -keyShortcut "A" -alt -releaseName (""); +hotkey -keyShortcut "A" -alt -name ("NameComFluids_DecrementFluidCenter"); +hotkey -keyShortcut "S" -alt -releaseName (""); +hotkey -keyShortcut "S" -alt -name ("NameComFluids_IncrementFluidCenter"); +hotkey -keyShortcut "x" -ctl -name ("CutSelectedNameCommand"); +hotkey -keyShortcut "c" -ctl -name ("CopySelectedNameCommand"); +hotkey -keyShortcut "v" -ctl -name ("PasteSelectedNameCommand"); +hotkey -keyShortcut " " -ctl -name ("ToggleUIElementsNameCommand"); +hotkey -keyShortcut "~" -name ("SmoothingDisplayShowBothNameCommand"); +hotkey -keyShortcut "`" -ctl -name ("SmoothProxyNameCommand"); +hotkey -keyShortcut "~" -ctl -name ("SmoothProxyOptionsNameCommand"); +hotkey -keyShortcut "`" -alt -name ("NameComSubdiv_Create"); +hotkey -keyShortcut "~" -alt -name ("NameComSubdiv_Create_Options"); +hotkey -keyShortcut "Page_Up" -name ("SmoothingLevelIncreaseNameCommand"); +hotkey -keyShortcut "Page_Down" -name ("SmoothingLevelDecreaseNameCommand"); +hotkey -keyShortcut "g" -alt -name ("HyperGraph_IncreaseDepth"); +hotkey -keyShortcut "t" -alt -name ("HyperGraph_DecreaseDepth"); +hotkey -keyShortcut "A" -ctl -name ("defaultTangentsLinearNameCommand"); +hotkey -keyShortcut "C" -ctl -name ("CombinePolygonsNameCommand"); +hotkey -keyShortcut "G" -ctl -name ("convertToUVShellAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "T" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "t" -ctl -alt -name ("LoadThierryHotkeysNameCommand"); +hotkey -keyShortcut "Q" -ctl -name ("convertToUVShellAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "#" -ctl -name ("DisplayShadedNameCommand"); +hotkey -keyShortcut "F4" -ctl -name ("HypergraphHierarchyWindowNameCommand"); +hotkey -keyShortcut "u" -ctl -name ("UpdatePSDTexturesNameCommand"); +hotkey -keyShortcut "D" -alt -name ("NameComDelete_History"); +hotkey -keyShortcut "U" -releaseName ("artisanModifyUVVector_release"); +hotkey -keyShortcut "U" -name ("artisanModifyUVVector_press"); +hotkey -keyShortcut "i" -alt -name ("SelectIsolateNameCommand"); +hotkey -keyShortcut "g" -ctl -alt -name ("UngroupNameCommand"); +hotkey -keyShortcut "w" -alt -releaseName (""); +hotkey -keyShortcut "s" -alt -releaseName (""); +hotkey -keyShortcut "a" -alt -releaseName (""); +hotkey -keyShortcut "d" -alt -releaseName (""); +hotkey -keyShortcut "p" -alt -name ("ParentRelativeNameCommand"); +hotkey -keyShortcut "_" -ctl -name (""); +hotkey -keyShortcut "n" -alt -name ("toggleSymmetricModelingNameCommand"); +hotkey -keyShortcut "X" -ctl -name ("SeparatePolygonNameCommand"); +hotkey -keyShortcut "@" -ctl -name ("displayFlatShadedNoTextureNameCommand"); +hotkey -keyShortcut "W" -alt -name (""); +hotkey -keyShortcut "`" -releaseName ("STRSTweakModeOffNameCommand"); +hotkey -keyShortcut "Left" -releaseName ("Thierry_stickyPreviousFrame_releaseNameCommand"); +hotkey -keyShortcut "Right" -releaseName ("Thierry_stickyNextFrame_releaseNameCommand"); +hotkey -keyShortcut "/" -ctl -name ("SetDrivenKeyOptionsNameCommand"); +hotkey -keyShortcut "w" -ctl -alt -name ("selectSurfacesOnNameCommand"); +hotkey -keyShortcut "W" -ctl -alt -name ("selectSurfacesOffNameCommand"); +hotkey -keyShortcut "l" -ctl -name ("ToggleChannelsLayersNameCommand"); diff --git a/2009-x64/prefs/userHotkeys_Animation.mel b/2009-x64/prefs/userHotkeys_Animation.mel new file mode 100644 index 0000000..c236d81 --- /dev/null +++ b/2009-x64/prefs/userHotkeys_Animation.mel @@ -0,0 +1,278 @@ +//Maya Preference 2009 (Release 1) +// +// + +hotkey -keyShortcut "d" -ctl -alt -name ("LoadDefaultHotkeys"); +hotkey -keyShortcut "a" -ctl -alt -name ("LoadAnimationHotkeys"); +hotkey -keyShortcut "m" -ctl -alt -name ("LoadModelingHotkeys"); +hotkey -keyShortcut "S" -ctl -alt -name ("SaveCurrentHotkeys"); +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "F6" -name ("ConnectionEditorNameCommand"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "a" -releaseName (""); +hotkey -keyShortcut "a" -name ("SelectVertexMaskNameCommand"); +hotkey -keyShortcut "f" -name ("SelectToggleModeNameCommand"); +hotkey -keyShortcut "f" -ctl -name ("LookAtSelectionNameCommand"); +hotkey -keyShortcut "s" -name ("SelectEdgeMaskNameCommand"); +hotkey -keyShortcut "d" -releaseName (""); +hotkey -keyShortcut "d" -name ("SelectFacetMaskNameCommand"); +hotkey -keyShortcut "q" -ctl -name ("ArtPaintSelectToolNameCommand"); +hotkey -keyShortcut "q" -alt -releaseName (""); +hotkey -keyShortcut "q" -alt -name ("CreateUnitCubeNameCommand"); +hotkey -keyShortcut "z" -name ("ToggleUnifyBreakKeyTangentsNameCommand"); +hotkey -keyShortcut "B" -ctl -name (""); +hotkey -keyShortcut "b" -ctl -releaseName (""); +hotkey -keyShortcut "b" -releaseName ("ModifyUpperRadiusReleaseNameCommand"); +hotkey -keyShortcut "b" -name ("ModifyUpperRadiusPressNameCommand"); +hotkey -keyShortcut "b" -alt -name ("BevelPolygonOptionsNameCommand"); +hotkey -keyShortcut "z" -alt -name ("ExtrudeFaceOptionsNameCommand"); +hotkey -keyShortcut "b" -ctl -name ("DeleteTimeSlideKeyNameCommand"); +hotkey -keyShortcut "p" -name ("PolyFromVertsNameCommand"); +hotkey -keyShortcut "d" -ctl -name ("DuplicateNameCommand"); +hotkey -keyShortcut "D" -ctl -name ("defaultTangentsSteppedNameCommand"); +hotkey -keyShortcut "S" -releaseName (""); +hotkey -keyShortcut "S" -name ("TangentsSplineNameCommand"); +hotkey -keyShortcut "D" -name ("TangentsSteppedNameCommand"); +hotkey -keyShortcut "S" -ctl -name ("defaultTangentsSplineNameCommand"); +hotkey -keyShortcut "A" -name ("TangentsLinearNameCommand"); +hotkey -keyShortcut "w" -ctl -name ("ToggleLockedKeyTangentWeightsNameCommand"); +hotkey -keyShortcut "X" -releaseName (""); +hotkey -keyShortcut "X" -name ("SplitPolygonToolNameCommand"); +hotkey -keyShortcut "x" -alt -name ("SplitEdgeRingToolNameCommand"); +hotkey -keyShortcut "j" -releaseName (""); +hotkey -keyShortcut "j" -name ("AverageVertexNameCommand"); +hotkey -keyShortcut "c" -releaseName (""); +hotkey -keyShortcut "c" -name (""); +hotkey -keyShortcut "C" -releaseName (""); +hotkey -keyShortcut "C" -name ("TangentsClampedNameCommand"); +hotkey -keyShortcut "1" -name ("cameraFrontViewNameCommand"); +hotkey -keyShortcut "2" -name ("cameraTopViewNameCommand"); +hotkey -keyShortcut "3" -name ("cameraRightSideViewNameCommand"); +hotkey -keyShortcut "#" -name ("cameraLeftSideViewNameCommand"); +hotkey -keyShortcut "@" -name ("cameraBottomViewNameCommand"); +hotkey -keyShortcut "!" -name ("cameraRearViewNameCommand"); +hotkey -keyShortcut "4" -name ("cameraPerspViewNameCommand"); +hotkey -keyShortcut "1" -ctl -name ("DisplayWireframeNameCommand"); +hotkey -keyShortcut "2" -ctl -name ("displayFlatShadedNameCommand"); +hotkey -keyShortcut "3" -ctl -name ("DisplayShadedAndTexturedNameCommand"); +hotkey -keyShortcut "4" -ctl -name ("xRayToggleNameCommand"); +hotkey -keyShortcut "=" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "-" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "e" -ctl -name ("SelectEdgeLoopNameCommand"); +hotkey -keyShortcut "r" -ctl -name ("SelectEdgeRingNameCommand"); +hotkey -keyShortcut "a" -ctl -name ("selectAllNameCommand"); +hotkey -keyShortcut "`" -name ("deselectAllNameCommand"); +hotkey -keyShortcut "Z" -ctl -name ("RedoNameCommand"); +hotkey -keyShortcut "z" -ctl -alt -name ("RepeatLastNameCommand"); +hotkey -keyShortcut "c" -ctl -alt -name ("cpsToggleProxyEditableNameCommand"); +hotkey -keyShortcut "c" -alt -name ("cpsToggleSubdivisionNameCommand"); +hotkey -keyShortcut "W" -name ("localToolsNameCommand"); +hotkey -keyShortcut "h" -releaseName (""); +hotkey -keyShortcut "h" -name ("HideSelectedObjectsNameCommand"); +hotkey -keyShortcut "h" -ctl -name ("ShowAllNameCommand"); +hotkey -keyShortcut "x" -releaseName (""); +hotkey -keyShortcut "x" -name ("XrayNameCommand"); +hotkey -keyShortcut "z" -ctl -name ("UndoNameCommand"); +hotkey -keyShortcut "v" -alt -name (""); +hotkey -keyShortcut "v" -alt -releaseName (""); +hotkey -keyShortcut "V" -releaseName ("SnapToGridNameCommand"); +hotkey -keyShortcut "V" -name ("SnapToGridNameCommand"); +hotkey -keyShortcut "a" -alt -name ("AttributeEditorNameCommand"); +hotkey -keyShortcut "w" -alt -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "_" -name ("DecreaseManipulatorSizeNameCommand"); +hotkey -keyShortcut "Up" -ctl -name ("PickWalkUpNameCommand"); +hotkey -keyShortcut "Down" -ctl -name ("PickWalkDownNameCommand"); +hotkey -keyShortcut "Left" -ctl -name ("PickWalkLeftNameCommand"); +hotkey -keyShortcut "Right" -ctl -name ("PickWalkRightNameCommand"); +hotkey -keyShortcut "Left" -name ("Thierry_stickyPreviousFrame_pressNameCommand"); +hotkey -keyShortcut "Right" -name ("Thierry_stickyNextFrame_pressNameCommand"); +hotkey -keyShortcut "'" -releaseName (""); +hotkey -keyShortcut "'" -name ("PlaybackToggleNameCommand"); +hotkey -keyShortcut "l" -releaseName (""); +hotkey -keyShortcut "l" -name ("PlaybackBackwardNameCommand"); +hotkey -keyShortcut ";" -name ("PlaybackStopNameCommand"); +hotkey -keyShortcut "9" -alt -name (""); +hotkey -keyShortcut "9" -name ("GraphEditorNameCommand"); +hotkey -keyShortcut "/" -releaseName (""); +hotkey -keyShortcut "/" -name ("SetKeyNameCommand"); +hotkey -keyShortcut "F" -name ("FrameSelectedNameCommand"); +hotkey -keyShortcut "F9" -name ("Translate_LocalNameCommand"); +hotkey -keyShortcut "F10" -name ("Translate_WorldNameCommand"); +hotkey -keyShortcut "F11" -name ("WorldRotateNameCommand"); +hotkey -keyShortcut "F12" -name ("GimbalRotateNameCommand"); +hotkey -keyShortcut "Left" -alt -name ("Nudge_BkwdNameCommand"); +hotkey -keyShortcut "Right" -alt -name ("Nudge_FwdNameCommand"); +hotkey -keyShortcut "Down" -alt -name ("Nudge_DnNameCommand"); +hotkey -keyShortcut "Up" -alt -name ("Nudge_UpNameCommand"); +hotkey -keyShortcut "0" -name ("ChannelBox_ToggleNameCommand"); +hotkey -keyShortcut "t" -name (""); +hotkey -keyShortcut "o" -releaseName (""); +hotkey -keyShortcut "o" -name ("MotionTrailNameCommand"); +hotkey -keyShortcut "f" -alt -name ("TangentsFlatNameCommand"); +hotkey -keyShortcut "f" -ctl -alt -name (""); +hotkey -keyShortcut "A" -ctl -alt -name (""); +hotkey -keyShortcut "." -alt -name ("NextFrameNameCommand"); +hotkey -keyShortcut "," -alt -name ("PreviousFrameNameCommand"); +hotkey -keyShortcut "," -name ("PreviousKeyNameCommand"); +hotkey -keyShortcut "." -name ("NextKeyNameCommand"); +hotkey -keyShortcut "k" -ctl -name ("AddKeyNameCommand"); +hotkey -keyShortcut "F5" -name ("OutlinerWindowNameCommand"); +hotkey -keyShortcut "F3" -name ("CopyKeyTimeSliderNameCommand"); +hotkey -keyShortcut "F4" -name ("HypergraphDGWindowNameCommand"); +hotkey -keyShortcut "\\" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "n" -releaseName (""); +hotkey -keyShortcut "n" -name ("UnifyTangentsNameCommand"); +hotkey -keyShortcut "m" -releaseName ("ModifyDisplacementReleaseNameCommand"); +hotkey -keyShortcut "m" -name ("ModifyDisplacementPressNameCommand"); +hotkey -keyShortcut "v" -releaseName ("SnapToPointNameCommand"); +hotkey -keyShortcut "v" -name ("SnapToPointNameCommand"); +hotkey -keyShortcut "O" -name (""); +hotkey -keyShortcut "u" -releaseName (""); +hotkey -keyShortcut "u" -name ("AnimConvergeNameCommand"); +hotkey -keyShortcut "F1" -name ("ScreenLargeNameCommand"); +hotkey -keyShortcut "g" -name ("FramePlaybackRangeInGraphEditorNameCommand"); +hotkey -keyShortcut "H" -name ("ShowSelectedObjectsNameCommand"); +hotkey -keyShortcut "=" -alt -name ("AddInbetweenNameCommand"); +hotkey -keyShortcut "-" -alt -name ("RemoveInbetweenNameCommand"); +hotkey -keyShortcut "F" -ctl -name ("defaultTangentsFlatNameCommand"); +hotkey -keyShortcut "P" -ctl -name ("UnparentNameCommand"); +hotkey -keyShortcut "p" -ctl -name ("ParentNameCommand"); +hotkey -keyShortcut "P" -name (""); +hotkey -keyShortcut "G" -name ("TangentsPlateauNameCommand"); +hotkey -keyShortcut "," -ctl -name ("PreviousKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "." -ctl -name ("NextKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "[" -name ("NameComGo_To_Previous_View"); +hotkey -keyShortcut "]" -name ("NameComGo_To_Next_View"); +hotkey -keyShortcut "{" -name ("NameComPrevious_View_Arrangement"); +hotkey -keyShortcut "}" -name ("NameComNext_View_Arrangement"); +hotkey -keyShortcut "Z" -name ("NameComRedo"); +hotkey -keyShortcut "F8" -name ("NameComToggle_ObjectComponent_Editing"); +hotkey -keyShortcut "F9" -alt -name ("NameComSet_VertexFace_Component_Mask"); +hotkey -keyShortcut "F9" -ctl -name ("ConvertSelectionToVerticesNameCommand"); +hotkey -keyShortcut "F10" -ctl -name ("ConvertSelectionToEdgesNameCommand"); +hotkey -keyShortcut "F11" -ctl -name ("LocalRotateNameCommand"); +hotkey -keyShortcut "F12" -ctl -name ("ConvertSelectionToUVsNameCommand"); +hotkey -keyShortcut ">" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "<" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "H" -ctl -name ("NameComShow_Last_Hidden"); +hotkey -keyShortcut "h" -alt -name ("PMP_hideUnselectedCommandNameCommand"); +hotkey -keyShortcut "q" -releaseName ("NameComSelectTool_MaskMMenu_release"); +hotkey -keyShortcut "q" -name ("NameComSelectTool_MaskMMenu"); +hotkey -keyShortcut "Q" -releaseName (""); +hotkey -keyShortcut "Q" -name ("SelectUVMaskNameCommand"); +hotkey -keyShortcut "m" -ctl -name ("NameComToggle_Main_Menubar_Visibility"); +hotkey -keyShortcut "m" -alt -name ("NameComHotbox_DisplayRows"); +hotkey -keyShortcut "M" -name ("NameComToggle_Panel_Menubar_Visibility"); +hotkey -keyShortcut "J" -releaseName ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "J" -name ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "w" -releaseName ("TranslateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "w" -name ("TranslateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "e" -releaseName ("RotateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "e" -name ("RotateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "r" -releaseName ("ScaleToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "r" -name ("ScaleToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "t" -ctl -name ("AutoTangentSoftCommandNameCommand"); +hotkey -keyShortcut "y" -name ("NameComNonSacred_Tool"); +hotkey -keyShortcut "F2" -name ("HypershadeWindowNameCommand"); +hotkey -keyShortcut "e" -alt -name ("NameComToggleFBIKEffectorsRotatePinState"); +hotkey -keyShortcut "s" -alt -name ("NameComToggleFBIKEffectorsPinState"); +hotkey -keyShortcut "d" -alt -name ("NameComSetFullBodyIKKeysAll"); +hotkey -keyShortcut "4" -alt -name ("NameComSetFullBodyIKKeysSelected"); +hotkey -keyShortcut "5" -alt -name ("NameComToggleFkSkeletonVisibility"); +hotkey -keyShortcut "1" -alt -name ("NameComFBIKReachKeyingOptionFK"); +hotkey -keyShortcut "2" -alt -name ("NameComFBIKReachKeyingOptionSimple"); +hotkey -keyShortcut "3" -alt -name ("NameComFBIKReachKeyingOptionIK"); +hotkey -keyShortcut "V" -alt -name ("NameComGo_to_min_frame"); +hotkey -keyShortcut "k" -releaseName ("NameComVirtual_timeslider_modifier_release"); +hotkey -keyShortcut "k" -name ("NameComVirtual_timeslider_modifier"); +hotkey -keyShortcut "i" -releaseName ("NameComInsert_Key_Modifier_release"); +hotkey -keyShortcut "i" -name ("NameComInsert_Key_Modifier"); +hotkey -keyShortcut "5" -name ("NameComShaded_Display"); +hotkey -keyShortcut "6" -name ("NameComShaded_and_Textured_Display"); +hotkey -keyShortcut "7" -name ("NameComTurn_on_Light_Display"); +hotkey -keyShortcut "8" -name ("NameComOpen_Paint_Effects_Panel"); +hotkey -keyShortcut "I" -name ("InsertKeyNameCommand"); +hotkey -keyShortcut " " -releaseName ("NameComUnpop_hotBox"); +hotkey -keyShortcut " " -name ("NameComPop_hotBox"); +hotkey -keyShortcut "Return" -name ("NameComComplete_current_Tool1"); +hotkey -keyShortcut "Insert" -name ("NameComEnter_Tool_Edit_Mode"); +hotkey -keyShortcut "o" -ctl -name ("NameComOpen_File"); +hotkey -keyShortcut "n" -ctl -name ("NameComNew_File"); +hotkey -keyShortcut "s" -ctl -name ("NameComSave_File"); +hotkey -keyShortcut "g" -ctl -name ("NameComGroup_Selected"); +hotkey -keyShortcut "G" -releaseName (""); +hotkey -keyShortcut "Up" -name ("NameComWalk_up_the_current_hierarchy"); +hotkey -keyShortcut "Down" -name ("NameComWalk_down_the_current_hierarchy"); +hotkey -keyShortcut "+" -name ("NameComIncrease_Manipulator_Size"); +hotkey -keyShortcut "Y" -alt -releaseName (""); +hotkey -keyShortcut "Y" -alt -name (""); +hotkey -keyShortcut "Y" -ctl -releaseName (""); +hotkey -keyShortcut "Y" -ctl -name (""); +hotkey -keyShortcut "Y" -ctl -alt -releaseName (""); +hotkey -keyShortcut "Y" -ctl -alt -name (""); +hotkey -keyShortcut "W" -releaseName (""); +hotkey -keyShortcut "E" -releaseName (""); +hotkey -keyShortcut "E" -name ("NameComSave_Keyframe_for_Rotate"); +hotkey -keyShortcut "R" -releaseName (""); +hotkey -keyShortcut "R" -name ("NameComSave_Keyframe_for_Scale"); +hotkey -keyShortcut "i" -ctl -releaseName (""); +hotkey -keyShortcut "i" -ctl -name ("NameComSelect_Next_Intermediate_Object"); +hotkey -keyShortcut "F1" -releaseName (""); +hotkey -keyShortcut "B" -releaseName ("artisanModifyLowerRadius_release"); +hotkey -keyShortcut "B" -name ("artisanModifyLowerRadius_press"); +hotkey -keyShortcut "j" -alt -name ("artisanMultiColorFeedback_press"); +hotkey -keyShortcut "r" -alt -name ("artisanToggleReflection_press"); +hotkey -keyShortcut "Up" -ctl -releaseName (""); +hotkey -keyShortcut "Down" -ctl -releaseName (""); +hotkey -keyShortcut "A" -alt -releaseName (""); +hotkey -keyShortcut "A" -alt -name ("NameComFluids_DecrementFluidCenter"); +hotkey -keyShortcut "S" -alt -releaseName (""); +hotkey -keyShortcut "S" -alt -name ("NameComFluids_IncrementFluidCenter"); +hotkey -keyShortcut "x" -ctl -name ("CutSelectedNameCommand"); +hotkey -keyShortcut "c" -ctl -name ("GraphCopyNameCommand"); +hotkey -keyShortcut "v" -ctl -name ("GraphPasteNameCommand"); +hotkey -keyShortcut " " -ctl -name ("ToggleUIElementsNameCommand"); +hotkey -keyShortcut "~" -name ("SmoothingDisplayShowBothNameCommand"); +hotkey -keyShortcut "`" -ctl -name ("SmoothProxyNameCommand"); +hotkey -keyShortcut "~" -ctl -name ("SmoothProxyOptionsNameCommand"); +hotkey -keyShortcut "`" -alt -name ("NameComSubdiv_Create"); +hotkey -keyShortcut "~" -alt -name ("NameComSubdiv_Create_Options"); +hotkey -keyShortcut "Page_Up" -name ("SmoothingLevelIncreaseNameCommand"); +hotkey -keyShortcut "Page_Down" -name ("SmoothingLevelDecreaseNameCommand"); +hotkey -keyShortcut "g" -alt -name ("HyperGraph_IncreaseDepth"); +hotkey -keyShortcut "t" -alt -name ("HyperGraph_DecreaseDepth"); +hotkey -keyShortcut "A" -ctl -name ("defaultTangentsLinearNameCommand"); +hotkey -keyShortcut "C" -ctl -name ("defaultTangentsClampedNameCommand"); +hotkey -keyShortcut "G" -ctl -name ("defaultTangentsPlateauNameCommand"); +hotkey -keyShortcut "T" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "t" -ctl -alt -name ("LoadThierryHotkeysNameCommand"); +hotkey -keyShortcut "Q" -ctl -name ("convertToUVsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "#" -ctl -name ("displaySmoothShadedNoTextureNameCommand"); +hotkey -keyShortcut "F4" -ctl -name ("HypergraphHierarchyWindowNameCommand"); +hotkey -keyShortcut "u" -ctl -name ("UpdatePSDTexturesNameCommand"); +hotkey -keyShortcut "D" -alt -name ("NameComDelete_History"); +hotkey -keyShortcut "U" -releaseName ("artisanModifyUVVector_release"); +hotkey -keyShortcut "U" -name ("artisanModifyUVVector_press"); +hotkey -keyShortcut "i" -alt -name ("ToggleIsolateSelectNameCommand"); +hotkey -keyShortcut "g" -ctl -alt -name ("UngroupNameCommand"); +hotkey -keyShortcut "w" -alt -releaseName (""); +hotkey -keyShortcut "s" -alt -releaseName (""); +hotkey -keyShortcut "a" -alt -releaseName (""); +hotkey -keyShortcut "d" -alt -releaseName (""); +hotkey -keyShortcut "p" -alt -name ("ParentRelativeNameCommand"); +hotkey -keyShortcut "_" -ctl -name (""); +hotkey -keyShortcut "n" -alt -name ("toggleSymmetricModelingNameCommand"); +hotkey -keyShortcut "X" -ctl -name ("SeparatePolygonNameCommand"); +hotkey -keyShortcut "@" -ctl -name ("displayFlatShadedNoTextureNameCommand"); +hotkey -keyShortcut "W" -alt -name (""); +hotkey -keyShortcut "`" -releaseName ("STRSTweakModeOffNameCommand"); +hotkey -keyShortcut "Left" -releaseName ("Thierry_stickyPreviousFrame_releaseNameCommand"); +hotkey -keyShortcut "Right" -releaseName ("Thierry_stickyNextFrame_releaseNameCommand"); +hotkey -keyShortcut "/" -ctl -name ("SetDrivenKeyOptionsNameCommand"); +hotkey -keyShortcut "=" -ctl -name ("rippleTimeSliderKeysFWDNameCommand"); +hotkey -keyShortcut "-" -ctl -name ("rippleTimeSliderKeysBKWDNameCommand"); +hotkey -keyShortcut "End" -name ("Play_Range_EndNameCommand"); +hotkey -keyShortcut "Home" -name ("Play_Range_StartNameCommand"); diff --git a/2009-x64/prefs/userHotkeys_Default.mel b/2009-x64/prefs/userHotkeys_Default.mel new file mode 100644 index 0000000..aa026cd --- /dev/null +++ b/2009-x64/prefs/userHotkeys_Default.mel @@ -0,0 +1,323 @@ +// Copyright (C) 1997-2006 Autodesk, Inc., and/or its licensors. +// All rights reserved. +// +// The coded instructions, statements, computer programs, and/or related +// material (collectively the "Data") in these files contain unpublished +// information proprietary to Autodesk, Inc. ("Autodesk") and/or its licensors, +// which is protected by U.S. and Canadian federal copyright law and by +// international treaties. +// +// The Data is provided for use exclusively by You. You have the right to use, +// modify, and incorporate this Data into other products for purposes authorized +// by the Autodesk software license agreement, without fee. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. AUTODESK +// DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTIES +// INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF NON-INFRINGEMENT, +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE +// OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS +// LICENSORS BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL, +// DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK AND/OR ITS +// LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OR PROBABILITY OF SUCH DAMAGES. + + +// +// +// The strings taken by the -name flags are defined in +// namedCommandSetup.mel +// +// NOTE: +// The strings taken by the -name and -releaseName flags are +// defined in namedCommandSetup.mel. If you want to add a hotkey +// manually you can type in any valid string for the name. +// However, the nameCommand object you want to map too must be +// specified in the namedCommandSetup.mel file with the same string. +// +// However, It is safer to use the hotkey Editor to create new nameCommand +// objects and map them to hotkeys. After using the hotkey Editor just quit +// Maya. After this cut the new entries out of the userHotkeys.mel file and the +// userNamedCommands.mel file and paste them in the hotkeySetup.mel file and the +// namedCommandSetup.mel file respectively. If a key is already mapped just delete +// it's entry from the hotkeySetup.mel file and put in the new one. +// +// Also, you only have to edit the namedCommandSetup.mel file if you are adding a new +// namedCommand or editing an annotation or command for an exsisting one. +// + + +hotkey -k "a" -name "NameComFit_All_in_Active_Panel_MMenu" -releaseName "NameComFit_All_in_Active_Panel_MMenu_release"; +hotkey -k "A" -name "NameComFit_All_in_All_Panels"; +hotkey -k "a" -ctl -name "OpenOrSwapAEWindow"; +hotkey -k "f" -name "NameComFit_Selected_in_Active_Panel"; +hotkey -k "F" -name "NameComFit_Select_in_All_Panels"; +hotkey -k "[" -name "NameComGo_To_Previous_View"; +hotkey -k "]" -name "NameComGo_To_Next_View"; +hotkey -keyShortcut "{" -name ("NameComPrevious_View_Arrangement"); +hotkey -keyShortcut "}" -name ("NameComNext_View_Arrangement"); + +if(`about -mac`){ + hotkey -k "d" -cmd -name "NameComDuplicate_Selected"; +} +hotkey -k "d" -ctl -name "NameComDuplicate_Selected"; +if(`about -mac`){ + hotkey -k "D" -cmd -name "NameComDuplicate_Special"; +} +hotkey -k "D" -ctl -name "NameComDuplicate_Special"; +hotkey -k "D" -name "NameComDuplicate_Selected_with_Transforms"; + +hotkey -keyShortcut "D" -alt -name ("NameComDelete_History"); + +if(`about -mac`){ + hotkey -k "z" -cmd -name "NameComUndo"; +} +hotkey -k "z" -ctl -name "NameComUndo"; +hotkey -k "z" -name "NameComUndo"; +if(`about -mac`){ + hotkey -k "Z" -cmd -name "NameComRedo"; +} +hotkey -k "Z" -name "NameComRedo"; +hotkey -k "p" -name "NameComParent_Selected"; +hotkey -k "P" -name "NameComUnparent_Selected"; +hotkey -k "F8" -name "NameComToggle_ObjectComponent_Editing"; + +hotkey -k "F9" -name "NameComSet_Vertex_Component_Mask"; +hotkey -k "F10" -name "NameComSet_Edge_Component_Mask"; +hotkey -k "F11" -name "NameComSet_Facet_Component_Mask"; +hotkey -k "F12" -name "NameComSet_UVs_Component_Mask"; +hotkey -k "F9" -alt -name "NameComSet_VertexFace_Component_Mask"; +//convert poly selection +hotkey -keyShortcut "F9" -ctl -name ("ConvertSelectionToVerticesNameCommand"); +hotkey -keyShortcut "F10" -ctl -name ("ConvertSelectionToEdgesNameCommand"); +hotkey -keyShortcut "F11" -ctl -name ("ConvertSelectionToFacesNameCommand"); +hotkey -keyShortcut "F12" -ctl -name ("ConvertSelectionToUVsNameCommand"); +hotkey -keyShortcut ">" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "<" -name ("ShrinkPolygonSelectionRegionNameCommand"); + + +hotkey -k "h" -name "NameMenubar_Switch" -releaseName "NameMenubar_Switch_release"; +hotkey -k "x" -name "NameComSnap_to_Grid_modifierON" -releaseName "NameComSnap_to_Grid_modifierOFF" -isModifier; +hotkey -k "X" -name "NameComSnap_to_Grid_modifierON" -releaseName "NameComSnap_to_Grid_modifierOFF" -isModifier; +hotkey -k "h" -ctl -name "NameComHide_Selected_Objects"; +hotkey -k "H" -name "NameComShow_Selected_Objects"; +hotkey -k "H" -ctl -name "NameComShow_Last_Hidden"; +hotkey -k "h" -alt -name "NameComHide_Unselected_Objects"; +hotkey -k "c" -name "NameComSnap_to_Curve_modifierON" -releaseName "NameComSnap_to_Curve_modifierOFF" -isModifier; +hotkey -k "C" -name "NameComSnap_to_Curve_modifierON" -releaseName "NameComSnap_to_Curve_modifierOFF" -isModifier; +hotkey -k "v" -name "NameComSnap_to_Point_modifierON" -releaseName "NameComSnap_to_Point_modifierOFF" -isModifier; +hotkey -k "V" -name "NameComSnap_to_Point_modifierON" -releaseName "NameComSnap_to_Point_modifierOFF" -isModifier; +hotkey -k "q" -name "NameComSelectTool_MaskMMenu" -releaseName "NameComSelectTool_MaskMMenu_release"; +hotkey -k "Q" -name "NameComSelectTool_ComponentMMenu" -releaseName "NameComSelectTool_ComponentMMenu_release"; +hotkey -k "q" -ctl -name "NameComQuit"; +hotkey -k "q" -alt -name "NameComSelectTool_PolyMMenu" -releaseName "NameComSelectTool_PolyMMenu_release"; +if(!`about -mac`) { +// DO-NOT Hide Main Menu Bar on Mac OS X + hotkey -k "m" -ctl -name "NameComToggle_Main_Menubar_Visibility"; +} +hotkey -k "m" -alt -name "NameComHotbox_DisplayRows"; +hotkey -k "M" -name "NameComToggle_Panel_Menubar_Visibility"; + +hotkey -k "J" -name "NameComMoveRotateScale_Tool_ToggleSnapRelative" -releaseName "NameComMoveRotateScale_Tool_ToggleSnapRelative" -isModifier; +hotkey -k "j" -name "NameComMoveRotateScale_Tool_ToggleSnap" -releaseName "NameComMoveRotateScale_Tool_ToggleSnap" -isModifier; + +//trans/rot/scale mm with snap +hotkey -keyShortcut "w" -name ("TranslateToolWithSnapMarkingMenuNameCommand") + -releaseName ("TranslateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "e" -name ("RotateToolWithSnapMarkingMenuNameCommand") + -releaseName ("RotateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "r" -name ("ScaleToolWithSnapMarkingMenuNameCommand") + -releaseName ("ScaleToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -k "t" -ctl -name "NameComUniversalManip"; + +hotkey -keyShortcut "w" -ctl -name "SoftModTool"; + +if(`about -mac`){ + hotkey -k "w" -cmd -name "NameComClose_Front_Window"; +} +hotkey -k "t" -name "NameComShowManip_Tool"; +hotkey -k "y" -name "NameComNonSacred_Tool"; +hotkey -k "F2" -name "NameComAnimation_UI"; +hotkey -k "F3" -name "NameComPolygons_UI"; +hotkey -k "F4" -name "NameComModeling_UI"; +hotkey -k "F5" -name "NameComDynamics_UI"; +hotkey -k "F6" -name "NameComRendering_UI"; +hotkey -k "s" -name "NameComSet_Keyframe"; +hotkey -k "f" -ctl -name "NameComSet_FBIKKey"; +hotkey -k "w" -alt -name "NameComToggleFBIKEffectorsTranslatePinState"; +hotkey -k "e" -alt -name "NameComToggleFBIKEffectorsRotatePinState"; +hotkey -k "s" -alt -name "NameComToggleFBIKEffectorsPinState"; +hotkey -k "x" -alt -name "NameComSetFullBodyIKKeysBodyPart"; +hotkey -k "d" -alt -name "NameComSetFullBodyIKKeysAll"; +hotkey -k "4" -alt -name "NameComSetFullBodyIKKeysSelected"; +hotkey -k "5" -alt -name "NameComToggleFkSkeletonVisibility"; +hotkey -k "1" -alt -name "NameComFBIKReachKeyingOptionFK"; +hotkey -k "2" -alt -name "NameComFBIKReachKeyingOptionSimple"; +hotkey -k "3" -alt -name "NameComFBIKReachKeyingOptionIK"; +hotkey -k "v" -alt -name "NameComToggle_Playback_OnOff"; +hotkey -k "V" -alt -name "NameComGo_to_min_frame"; +hotkey -k "k" -name "NameComVirtual_timeslider_modifier" -releaseName "NameComVirtual_timeslider_modifier_release"; +hotkey -k "i" -name "NameComInsert_Key_Modifier" -releaseName "NameComInsert_Key_Modifier_release"; +if(`about -mac`){ + hotkey -k "i" -cmd -name "NameComImport_File"; +} +hotkey -k "0" -name "NameComDefault_Quality_Display_Setting"; +hotkey -k "1" -name "NameComLow_Quality_Display_Setting"; +hotkey -k "2" -name "NameComMedium_Quality_Display_Setting"; +hotkey -k "3" -name "NameComHigh_Quality_Display_Setting"; +hotkey -k "4" -name "NameComWireframe_Display"; +hotkey -k "5" -name "NameComShaded_Display"; +hotkey -k "6" -name "NameComShaded_and_Textured_Display"; +hotkey -k "7" -name "NameComTurn_on_Light_Display"; +hotkey -k "8" -name "NameComOpen_Paint_Effects_Panel"; +hotkey -k "I" -name "NameComIsolateSelect"; +hotkey -k "b" -ctl -name "creatorNameCmd_BrushToolEditor" -releaseName ""; +hotkey -k " " -name "NameComPop_hotBox" -releaseName "NameComUnpop_hotBox"; +hotkey -k "Return" -name "NameComComplete_current_Tool1"; +if(`about -mac`){ + hotkey -k "Home" -name "NameComEnter_Tool_Edit_Mode"; +}else{ + hotkey -k "Insert" -name "NameComEnter_Tool_Edit_Mode"; +} +hotkey -k "d" -name "NameComEnter_Tool_Edit_Mode" -releaseName "NameComEnter_Tool_Edit_Mode"; +hotkey -k "," -name "NameComGo_to_previous_keyframe"; +hotkey -k "," -alt -name "Name_Frame_Backward"; +hotkey -k "." -name "NameComGo_to_next_keyframe"; +hotkey -k "." -alt -name "Name_Frame_Forward"; +if(`about -mac`){ + hotkey -k "o" -cmd -name "NameComOpen_File"; +} +hotkey -k "o" -ctl -name "NameComOpen_File"; +if(`about -mac`){ + hotkey -k "n" -cmd -name "NameComNew_File"; +} +hotkey -k "n" -ctl -name "NameComNew_File"; +if(`about -mac`){ + hotkey -k "s" -cmd -name "NameComSave_File"; +} +hotkey -k "s" -ctl -name "NameComSave_File"; +if(`about -mac`){ + hotkey -k "S" -cmd -name "NameComSave_File_As"; +} +hotkey -k "r" -ctl -name "NameComCreate_Reference"; +if(`about -mac`){ + hotkey -k "r" -cmd -name "NameComCreate_Reference"; +} +if(`about -mac`){ + hotkey -k "g" -cmd -name "NameComGroup_Selected"; +} +hotkey -k "g" -ctl -name "NameComGroup_Selected"; +if(`about -mac`){ + hotkey -k "y" -cmd -name "NameComRepeat_Last_Menu_Action"; +} +hotkey -k "g" -name "NameComRepeat_Last_Menu_Action"; +hotkey -k "G" -name "NameComRepeat_Last_Action_At_Mouse_Position" -releaseName ""; +hotkey -k "Up" -name "NameComWalk_up_the_current_hierarchy"; +hotkey -k "Down" -name "NameComWalk_down_the_current_hierarchy"; +hotkey -k "Left" -name "NameComWalk_left_in_the_current_hierarchy"; +hotkey -k "Right" -name "NameComWalk_right_in_the_current_hierarchy"; +hotkey -k "Up" -alt -name "NameComMove_up_one_pixel"; +hotkey -k "Down" -alt -name "NameComMove_down_one_pixel"; +hotkey -k "Left" -alt -name "NameComMove_left_one_pixel"; +hotkey -k "Right" -alt -name "NameComMove_right_one_pixel"; + +hotkey -k "Left" -ctl -name "NameComRenderView_NextImage"; +hotkey -k "Right" -ctl -name "NameComRenderView_PrevImage"; + +hotkey -k "-" -name "NameComDecrease_Manipulator_Size"; +hotkey -k "=" -name "NameComIncrease_Manipulator_Size"; +hotkey -k "+" -name "NameComIncrease_Manipulator_Size"; + +hotkey -k "Y" -alt -name "" -releaseName ""; +hotkey -k "Y" -ctl -name "" -releaseName ""; +hotkey -k "Y" -alt -ctl -name "" -releaseName ""; +hotkey -k "W" -name "NameComSave_Keyframe_for_Translate" -releaseName ""; +hotkey -k "E" -name "NameComSave_Keyframe_for_Rotate" -releaseName ""; +hotkey -k "R" -name "NameComSave_Keyframe_for_Scale" -releaseName ""; + +hotkey -k "i" -ctl -name "NameComSelect_Next_Intermediate_Object" -releaseName ""; + +if(`about -mac`){ + hotkey -k "?" -cmd -name "NameComHelp" -releaseName ""; +} +hotkey -k "F1" -name "NameComHelp" -releaseName ""; + +//anim marking menus +hotkey -keyShortcut "S" -name ("KeyframeTangentMarkingMenuNameCommand") + -releaseName ("KeyframeTangentMarkingMenuPopDownNameCommand"); + +// Artisan hotkeys. +hotkey -k "u" -name "artisanPaintOperation_Tool" + -releaseName "artisanPaintOperation_Tool_revert"; + +hotkey -k "b" -name "artisanModifyUpperRadius_press" + -releaseName "artisanModifyUpperRadius_release"; + +hotkey -k "B" -name "artisanModifyLowerRadius_press" + -releaseName "artisanModifyLowerRadius_release"; + +hotkey -k "/" -name "artisanPickColorMode_press" + -releaseName "artisanPickColorMode_release"; + +hotkey -k "n" -name "artisanModifyValue_press" + -releaseName "artisanModifyValue_release"; + +hotkey -k "U" -name "artisanModifyUVVector_press" + -releaseName "artisanModifyUVVector_release"; + +hotkey -k "f" -alt -name "artisanToggleFlood_press"; +hotkey -k "a" -alt -name "artisanToggleWireframe_press"; +hotkey -k "c" -alt -name "artisanColorFeedback_press"; +hotkey -k "j" -alt -name "artisanMultiColorFeedback_press"; +hotkey -keyShortcut "o" + -name ("PolyBrushMarkingMenuNameCommand") + -releaseName ("PolyBrushMarkingMenuPopDownNameCommand"); + +//Sculpt Tool specific hotkey to modify the Maximum Displacement +hotkey -k "m" -name "artisanModifyMaxDisplacement_press" + -releaseName "artisanModifyMaxDisplacement_release"; +//Toggle Reflection +hotkey -k "r" -alt -name "artisanToggleReflection_press"; + +hotkey -k "'" -name "SelectCluster_in_Jasper" + -releaseName "SelectCluster_in_Jasper_release"; + +if (`isTrue "SubdivUIExists"`) { + hotkey -k "Up" -ctl -name "NameComSubdiv_Surfaces_Coarser_Refinement" -releaseName ""; + hotkey -k "Down" -ctl -name "NameComSubdiv_Create_Region" -releaseName ""; +} + +if( fluidEditLicenseFound() ) { + hotkey -k "A" -alt -name "NameComFluids_DecrementFluidCenter" -releaseName ""; + hotkey -k "S" -alt -name "NameComFluids_IncrementFluidCenter" -releaseName ""; +} + +//cut copy and paste +if(`about -mac`){ + hotkey -keyShortcut "x" -cmd -name ("CutSelectedNameCommand"); + hotkey -keyShortcut "c" -cmd -name ("CopySelectedNameCommand"); + hotkey -keyShortcut "v" -cmd -name ("PasteSelectedNameCommand"); +} +hotkey -keyShortcut "x" -ctl -name ("CutSelectedNameCommand"); +hotkey -keyShortcut "c" -ctl -name ("CopySelectedNameCommand"); +hotkey -keyShortcut "v" -ctl -name ("PasteSelectedNameCommand"); + +// toggle UI on and off +hotkey -k "Space" -ctl -name ("ToggleUIElementsNameCommand"); + +// cycle background colors +hotkey -k "b" -alt -name ("CycleBackgroundColorNameCommand"); + +// control the display of smoothProxy and subdivs +hotkey -k "`" -name ("SmoothingDisplayToggleNameCommand"); +hotkey -k "~" -name ("SmoothingDisplayShowBothNameCommand"); +hotkey -k "`" -ctl -name ("SmoothProxyNameCommand"); +hotkey -k "~" -ctl -name ("SmoothProxyOptionsNameCommand"); +hotkey -k "`" -alt -name ("NameComSubdiv_Create"); +hotkey -k "~" -alt -name ("NameComSubdiv_Create_Options"); +hotkey -k "Page_Up" -name ("SmoothingLevelIncreaseNameCommand"); +hotkey -k "Page_Down" -name ("SmoothingLevelDecreaseNameCommand"); + +// lock curve length +hotkey -k "l" -name ("LockCurveLengthNameCommand") -releaseName ("UnlockCurveLengthNameCommand"); + +// hypergraph depth traversal limitation +hotkey -k "g" -alt -name "HyperGraph_IncreaseDepth"; +hotkey -k "t" -alt -name "HyperGraph_DecreaseDepth"; diff --git a/2009-x64/prefs/userHotkeys_Modeling.mel b/2009-x64/prefs/userHotkeys_Modeling.mel new file mode 100644 index 0000000..ee0f7f5 --- /dev/null +++ b/2009-x64/prefs/userHotkeys_Modeling.mel @@ -0,0 +1,277 @@ +//Maya Preference 2009 (Release 1) +// +// + +hotkey -keyShortcut "d" -ctl -alt -name ("LoadDefaultHotkeys"); +hotkey -keyShortcut "a" -ctl -alt -name ("LoadAnimationHotkeys"); +hotkey -keyShortcut "m" -ctl -alt -name ("LoadModelingHotkeys"); +hotkey -keyShortcut "S" -ctl -alt -name ("SaveCurrentHotkeys"); +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "F6" -name ("ConnectionEditorNameCommand"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "a" -releaseName (""); +hotkey -keyShortcut "a" -name ("pmp_selectionModeVertexNameCommand"); +hotkey -keyShortcut "f" -name ("pmp_selectionModeObjectNameCommand"); +hotkey -keyShortcut "f" -ctl -name ("LookAtSelectionNameCommand"); +hotkey -keyShortcut "s" -name ("pmp_selectionModeEdgeNameCommand"); +hotkey -keyShortcut "d" -releaseName (""); +hotkey -keyShortcut "d" -name ("pmp_selectionModeFaceNameCommand"); +hotkey -keyShortcut "q" -ctl -name ("convertToUVsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "q" -alt -releaseName (""); +hotkey -keyShortcut "q" -alt -name ("CreateUnitCubeNameCommand"); +hotkey -keyShortcut "z" -name ("extrudeComponentNameCommand"); +hotkey -keyShortcut "B" -ctl -name (""); +hotkey -keyShortcut "b" -ctl -releaseName (""); +hotkey -keyShortcut "b" -releaseName ("ModifyUpperRadiusReleaseNameCommand"); +hotkey -keyShortcut "b" -name ("ModifyUpperRadiusPressNameCommand"); +hotkey -keyShortcut "b" -alt -name ("BridgeEdgeNameCommand"); +hotkey -keyShortcut "z" -alt -name ("ExtrudeFaceOptionsNameCommand"); +hotkey -keyShortcut "b" -ctl -name ("BevelPolygonNameCommand"); +hotkey -keyShortcut "p" -name ("AppendToPolygonToolNameCommand"); +hotkey -keyShortcut "d" -ctl -name ("DuplicateNameCommand"); +hotkey -keyShortcut "D" -ctl -name ("convertToContainedFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -releaseName (""); +hotkey -keyShortcut "S" -name ("convertToEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "D" -name ("convertToFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -ctl -name ("convertToContainedEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "A" -name ("convertToVertsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "w" -ctl -name ("SlideEdgeToolNameCommand"); +hotkey -keyShortcut "X" -releaseName (""); +hotkey -keyShortcut "X" -name ("SplitPolygonToolNameCommand"); +hotkey -keyShortcut "x" -alt -name ("SplitEdgeRingToolNameCommand"); +hotkey -keyShortcut "j" -releaseName (""); +hotkey -keyShortcut "j" -name ("AverageVertexNameCommand"); +hotkey -keyShortcut "c" -releaseName (""); +hotkey -keyShortcut "c" -name ("toggleMayaDisplaySmoothingNameCommand"); +hotkey -keyShortcut "C" -releaseName (""); +hotkey -keyShortcut "C" -name ("toggleMayaDisplaySmoothingCageNameCommand"); +hotkey -keyShortcut "1" -name ("cameraFrontViewNameCommand"); +hotkey -keyShortcut "2" -name ("cameraTopViewNameCommand"); +hotkey -keyShortcut "3" -name ("cameraRightSideViewNameCommand"); +hotkey -keyShortcut "#" -name ("cameraLeftSideViewNameCommand"); +hotkey -keyShortcut "@" -name ("cameraBottomViewNameCommand"); +hotkey -keyShortcut "!" -name ("cameraRearViewNameCommand"); +hotkey -keyShortcut "4" -name ("cameraPerspViewNameCommand"); +hotkey -keyShortcut "1" -ctl -name ("DisplayWireframeNameCommand"); +hotkey -keyShortcut "2" -ctl -name ("displayFlatShadedNameCommand"); +hotkey -keyShortcut "3" -ctl -name ("DisplayShadedAndTexturedNameCommand"); +hotkey -keyShortcut "4" -ctl -name ("xRayToggleNameCommand"); +hotkey -keyShortcut "=" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "-" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "e" -ctl -name ("SelectEdgeLoopNameCommand"); +hotkey -keyShortcut "r" -ctl -name ("SelectEdgeRingNameCommand"); +hotkey -keyShortcut "a" -ctl -name ("selectAllNameCommand"); +hotkey -keyShortcut "`" -name ("STRSTweakModeOnNameCommand"); +hotkey -keyShortcut "Z" -ctl -name ("RedoNameCommand"); +hotkey -keyShortcut "z" -ctl -alt -name ("RepeatLastNameCommand"); +hotkey -keyShortcut "c" -ctl -alt -name ("cpsToggleProxyEditableNameCommand"); +hotkey -keyShortcut "c" -alt -name ("cpsToggleSubdivisionNameCommand"); +hotkey -keyShortcut "W" -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "h" -releaseName (""); +hotkey -keyShortcut "h" -name ("HideSelectedObjectsNameCommand"); +hotkey -keyShortcut "h" -ctl -name ("ShowAllNameCommand"); +hotkey -keyShortcut "x" -releaseName (""); +hotkey -keyShortcut "x" -name ("ConnectNameCommand"); +hotkey -keyShortcut "z" -ctl -name ("UndoNameCommand"); +hotkey -keyShortcut "v" -alt -name (""); +hotkey -keyShortcut "v" -alt -releaseName (""); +hotkey -keyShortcut "V" -releaseName ("SnapToGridNameCommand"); +hotkey -keyShortcut "V" -name ("SnapToGridNameCommand"); +hotkey -keyShortcut "a" -alt -name ("AttributeEditorNameCommand"); +hotkey -keyShortcut "w" -alt -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "_" -name ("InvertSelectionNameCommand"); +hotkey -keyShortcut "Up" -ctl -name ("PickWalkUpNameCommand"); +hotkey -keyShortcut "Down" -ctl -name ("PickWalkDownNameCommand"); +hotkey -keyShortcut "Left" -ctl -name ("PickWalkLeftNameCommand"); +hotkey -keyShortcut "Right" -ctl -name ("PickWalkRightNameCommand"); +hotkey -keyShortcut "Left" -name ("PickWalkLeftNameCommand"); +hotkey -keyShortcut "Right" -name ("PickWalkRightNameCommand"); +hotkey -keyShortcut "'" -releaseName (""); +hotkey -keyShortcut "'" -name ("PlaybackToggleNameCommand"); +hotkey -keyShortcut "l" -releaseName (""); +hotkey -keyShortcut "l" -name ("PlaybackBackwardNameCommand"); +hotkey -keyShortcut ";" -name ("PlaybackStopNameCommand"); +hotkey -keyShortcut "9" -alt -name (""); +hotkey -keyShortcut "9" -name ("GraphEditorNameCommand"); +hotkey -keyShortcut "/" -releaseName (""); +hotkey -keyShortcut "/" -name ("SetKeyNameCommand"); +hotkey -keyShortcut "F" -name ("FrameSelectedNameCommand"); +hotkey -keyShortcut "F9" -name ("Translate_LocalNameCommand"); +hotkey -keyShortcut "F10" -name ("Translate_WorldNameCommand"); +hotkey -keyShortcut "F11" -name ("LocalRotateNameCommand"); +hotkey -keyShortcut "F12" -name ("GimbalRotateNameCommand"); +hotkey -keyShortcut "Left" -alt -name ("Nudge_BkwdNameCommand"); +hotkey -keyShortcut "Right" -alt -name ("Nudge_FwdNameCommand"); +hotkey -keyShortcut "Down" -alt -name ("Nudge_DnNameCommand"); +hotkey -keyShortcut "Up" -alt -name ("Nudge_UpNameCommand"); +hotkey -keyShortcut "0" -name ("ChannelBox_ToggleNameCommand"); +hotkey -keyShortcut "t" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "o" -releaseName (""); +hotkey -keyShortcut "o" -name ("ToggleFaceNormalDisplayNameCommand"); +hotkey -keyShortcut "f" -alt -name ("FillHoleNameCommand"); +hotkey -keyShortcut "f" -ctl -alt -name (""); +hotkey -keyShortcut "A" -ctl -alt -name (""); +hotkey -keyShortcut "." -alt -name (""); +hotkey -keyShortcut "," -alt -name (""); +hotkey -keyShortcut "," -name ("PreviousKeyNameCommand"); +hotkey -keyShortcut "." -name ("NextKeyNameCommand"); +hotkey -keyShortcut "k" -ctl -name ("AddKeyNameCommand"); +hotkey -keyShortcut "F5" -name ("OutlinerWindowNameCommand"); +hotkey -keyShortcut "F3" -name ("TextureViewWindowNameCommand"); +hotkey -keyShortcut "F4" -name ("HypergraphDGWindowNameCommand"); +hotkey -keyShortcut "\\" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "n" -releaseName (""); +hotkey -keyShortcut "n" -name ("UnifyTangentsNameCommand"); +hotkey -keyShortcut "m" -releaseName ("ModifyDisplacementReleaseNameCommand"); +hotkey -keyShortcut "m" -name ("ModifyDisplacementPressNameCommand"); +hotkey -keyShortcut "v" -releaseName ("SnapToPointNameCommand"); +hotkey -keyShortcut "v" -name ("SnapToPointNameCommand"); +hotkey -keyShortcut "O" -name ("ToggleVertexNormalDisplayNameCommand"); +hotkey -keyShortcut "u" -releaseName (""); +hotkey -keyShortcut "u" -name ("AnimConvergeNameCommand"); +hotkey -keyShortcut "F1" -name ("ScreenLargeNameCommand"); +hotkey -keyShortcut "g" -name ("SelectUVMaskNameCommand"); +hotkey -keyShortcut "H" -name ("ShowSelectedObjectsNameCommand"); +hotkey -keyShortcut "=" -alt -name ("AddInbetweenNameCommand"); +hotkey -keyShortcut "-" -alt -name ("RemoveInbetweenNameCommand"); +hotkey -keyShortcut "F" -ctl -name ("defaultTangentsFlatNameCommand"); +hotkey -keyShortcut "P" -ctl -name ("UnparentNameCommand"); +hotkey -keyShortcut "p" -ctl -name ("ParentNameCommand"); +hotkey -keyShortcut "P" -name (""); +hotkey -keyShortcut "G" -name ("convertToUVsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "," -ctl -name ("PreviousKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "." -ctl -name ("NextKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "[" -name ("NameComGo_To_Previous_View"); +hotkey -keyShortcut "]" -name ("NameComGo_To_Next_View"); +hotkey -keyShortcut "{" -name ("NameComPrevious_View_Arrangement"); +hotkey -keyShortcut "}" -name ("NameComNext_View_Arrangement"); +hotkey -keyShortcut "Z" -name ("NameComRedo"); +hotkey -keyShortcut "F8" -name ("NameComToggle_ObjectComponent_Editing"); +hotkey -keyShortcut "F9" -alt -name ("NameComSet_VertexFace_Component_Mask"); +hotkey -keyShortcut "F9" -ctl -name ("ConvertSelectionToVerticesNameCommand"); +hotkey -keyShortcut "F10" -ctl -name ("ConvertSelectionToEdgesNameCommand"); +hotkey -keyShortcut "F11" -ctl -name ("ConvertSelectionToFacesNameCommand"); +hotkey -keyShortcut "F12" -ctl -name ("ConvertSelectionToUVsNameCommand"); +hotkey -keyShortcut ">" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "<" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "H" -ctl -name ("NameComShow_Last_Hidden"); +hotkey -keyShortcut "h" -alt -name ("PMP_hideUnselectedCommandNameCommand"); +hotkey -keyShortcut "q" -releaseName ("NameComSelectTool_MaskMMenu_release"); +hotkey -keyShortcut "q" -name ("NameComSelectTool_MaskMMenu"); +hotkey -keyShortcut "Q" -releaseName (""); +hotkey -keyShortcut "Q" -name ("toggleSoftSelectionNameCommand"); +hotkey -keyShortcut "m" -ctl -name ("NameComToggle_Main_Menubar_Visibility"); +hotkey -keyShortcut "m" -alt -name ("PolyMergeNameCommand"); +hotkey -keyShortcut "M" -name ("NameComToggle_Panel_Menubar_Visibility"); +hotkey -keyShortcut "J" -releaseName ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "J" -name ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "w" -releaseName ("TranslateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "w" -name ("TranslateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "e" -releaseName ("RotateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "e" -name ("RotateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "r" -releaseName ("ScaleToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "r" -name ("ScaleToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "t" -ctl -name ("NameComUniversalManip"); +hotkey -keyShortcut "y" -name ("NameComNonSacred_Tool"); +hotkey -keyShortcut "F2" -name ("HypershadeWindowNameCommand"); +hotkey -keyShortcut "e" -alt -name ("NameComToggleFBIKEffectorsRotatePinState"); +hotkey -keyShortcut "s" -alt -name ("ArtPaintSelectToolNameCommand"); +hotkey -keyShortcut "d" -alt -name ("LassoToolNameCommand"); +hotkey -keyShortcut "4" -alt -name ("NameComSetFullBodyIKKeysSelected"); +hotkey -keyShortcut "5" -alt -name ("NameComToggleFkSkeletonVisibility"); +hotkey -keyShortcut "1" -alt -name ("NameComFBIKReachKeyingOptionFK"); +hotkey -keyShortcut "2" -alt -name ("NameComFBIKReachKeyingOptionSimple"); +hotkey -keyShortcut "3" -alt -name ("NameComFBIKReachKeyingOptionIK"); +hotkey -keyShortcut "V" -alt -name ("NameComGo_to_min_frame"); +hotkey -keyShortcut "k" -releaseName ("NameComVirtual_timeslider_modifier_release"); +hotkey -keyShortcut "k" -name ("NameComVirtual_timeslider_modifier"); +hotkey -keyShortcut "i" -releaseName (""); +hotkey -keyShortcut "i" -name ("SelectNextIntermediatObjectNameCommand"); +hotkey -keyShortcut "5" -name ("NameComShaded_Display"); +hotkey -keyShortcut "6" -name ("NameComShaded_and_Textured_Display"); +hotkey -keyShortcut "7" -name ("NameComTurn_on_Light_Display"); +hotkey -keyShortcut "8" -name ("NameComOpen_Paint_Effects_Panel"); +hotkey -keyShortcut "I" -name ("InstanceNameCommand"); +hotkey -keyShortcut " " -releaseName ("NameComUnpop_hotBox"); +hotkey -keyShortcut " " -name ("NameComPop_hotBox"); +hotkey -keyShortcut "Return" -name ("NameComComplete_current_Tool1"); +hotkey -keyShortcut "Insert" -name ("NameComEnter_Tool_Edit_Mode"); +hotkey -keyShortcut "o" -ctl -name ("NameComOpen_File"); +hotkey -keyShortcut "n" -ctl -name ("NameComNew_File"); +hotkey -keyShortcut "s" -ctl -name ("NameComSave_File"); +hotkey -keyShortcut "g" -ctl -name ("NameComGroup_Selected"); +hotkey -keyShortcut "G" -releaseName (""); +hotkey -keyShortcut "Up" -name ("NameComWalk_up_the_current_hierarchy"); +hotkey -keyShortcut "Down" -name ("NameComWalk_down_the_current_hierarchy"); +hotkey -keyShortcut "+" -name ("NameComIncrease_Manipulator_Size"); +hotkey -keyShortcut "Y" -alt -releaseName (""); +hotkey -keyShortcut "Y" -alt -name (""); +hotkey -keyShortcut "Y" -ctl -releaseName (""); +hotkey -keyShortcut "Y" -ctl -name (""); +hotkey -keyShortcut "Y" -ctl -alt -releaseName (""); +hotkey -keyShortcut "Y" -ctl -alt -name (""); +hotkey -keyShortcut "W" -releaseName (""); +hotkey -keyShortcut "E" -releaseName (""); +hotkey -keyShortcut "E" -name ("NameComSave_Keyframe_for_Rotate"); +hotkey -keyShortcut "R" -releaseName (""); +hotkey -keyShortcut "R" -name ("NameComSave_Keyframe_for_Scale"); +hotkey -keyShortcut "i" -ctl -releaseName (""); +hotkey -keyShortcut "i" -ctl -name ("NameComSelect_Next_Intermediate_Object"); +hotkey -keyShortcut "F1" -releaseName (""); +hotkey -keyShortcut "B" -releaseName ("ModifyLowerRadiusReleaseNameCommand"); +hotkey -keyShortcut "B" -name ("ModifyLowerRadiusPressNameCommand"); +hotkey -keyShortcut "j" -alt -name ("artisanMultiColorFeedback_press"); +hotkey -keyShortcut "r" -alt -name ("artisanToggleReflection_press"); +hotkey -keyShortcut "Up" -ctl -releaseName (""); +hotkey -keyShortcut "Down" -ctl -releaseName (""); +hotkey -keyShortcut "A" -alt -releaseName (""); +hotkey -keyShortcut "A" -alt -name ("NameComFluids_DecrementFluidCenter"); +hotkey -keyShortcut "S" -alt -releaseName (""); +hotkey -keyShortcut "S" -alt -name ("NameComFluids_IncrementFluidCenter"); +hotkey -keyShortcut "x" -ctl -name ("CutSelectedNameCommand"); +hotkey -keyShortcut "c" -ctl -name ("CopySelectedNameCommand"); +hotkey -keyShortcut "v" -ctl -name ("PasteSelectedNameCommand"); +hotkey -keyShortcut " " -ctl -name ("ToggleUIElementsNameCommand"); +hotkey -keyShortcut "~" -name ("SmoothingDisplayShowBothNameCommand"); +hotkey -keyShortcut "`" -ctl -name ("SmoothProxyNameCommand"); +hotkey -keyShortcut "~" -ctl -name ("SmoothProxyOptionsNameCommand"); +hotkey -keyShortcut "`" -alt -name ("NameComSubdiv_Create"); +hotkey -keyShortcut "~" -alt -name ("NameComSubdiv_Create_Options"); +hotkey -keyShortcut "Page_Up" -name ("SmoothingLevelIncreaseNameCommand"); +hotkey -keyShortcut "Page_Down" -name ("SmoothingLevelDecreaseNameCommand"); +hotkey -keyShortcut "g" -alt -name ("HyperGraph_IncreaseDepth"); +hotkey -keyShortcut "t" -alt -name ("HyperGraph_DecreaseDepth"); +hotkey -keyShortcut "A" -ctl -name ("defaultTangentsLinearNameCommand"); +hotkey -keyShortcut "C" -ctl -name ("CombinePolygonsNameCommand"); +hotkey -keyShortcut "G" -ctl -name ("convertToUVShellAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "T" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "t" -ctl -alt -name ("LoadThierryHotkeysNameCommand"); +hotkey -keyShortcut "Q" -ctl -name ("convertToUVShellAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "#" -ctl -name ("DisplayShadedNameCommand"); +hotkey -keyShortcut "F4" -ctl -name ("HypergraphHierarchyWindowNameCommand"); +hotkey -keyShortcut "u" -ctl -name ("UpdatePSDTexturesNameCommand"); +hotkey -keyShortcut "D" -alt -name ("NameComDelete_History"); +hotkey -keyShortcut "U" -releaseName ("artisanModifyUVVector_release"); +hotkey -keyShortcut "U" -name ("artisanModifyUVVector_press"); +hotkey -keyShortcut "i" -alt -name ("SelectIsolateNameCommand"); +hotkey -keyShortcut "g" -ctl -alt -name ("UngroupNameCommand"); +hotkey -keyShortcut "w" -alt -releaseName (""); +hotkey -keyShortcut "s" -alt -releaseName (""); +hotkey -keyShortcut "a" -alt -releaseName (""); +hotkey -keyShortcut "d" -alt -releaseName (""); +hotkey -keyShortcut "p" -alt -name ("ParentRelativeNameCommand"); +hotkey -keyShortcut "_" -ctl -name (""); +hotkey -keyShortcut "n" -alt -name ("toggleSymmetricModelingNameCommand"); +hotkey -keyShortcut "X" -ctl -name ("SeparatePolygonNameCommand"); +hotkey -keyShortcut "@" -ctl -name ("displayFlatShadedNoTextureNameCommand"); +hotkey -keyShortcut "W" -alt -name (""); +hotkey -keyShortcut "`" -releaseName ("STRSTweakModeOffNameCommand"); +hotkey -keyShortcut "Left" -releaseName ("Thierry_stickyPreviousFrame_releaseNameCommand"); +hotkey -keyShortcut "Right" -releaseName ("Thierry_stickyNextFrame_releaseNameCommand"); +hotkey -keyShortcut "/" -ctl -name ("SetDrivenKeyOptionsNameCommand"); +hotkey -keyShortcut "w" -ctl -alt -name ("selectSurfacesOnNameCommand"); +hotkey -keyShortcut "W" -ctl -alt -name ("selectSurfacesOffNameCommand"); +hotkey -keyShortcut "l" -ctl -name ("ToggleChannelsLayersNameCommand"); diff --git a/2009-x64/prefs/userHotkeys_Thierry.mel b/2009-x64/prefs/userHotkeys_Thierry.mel new file mode 100644 index 0000000..0dd67a5 --- /dev/null +++ b/2009-x64/prefs/userHotkeys_Thierry.mel @@ -0,0 +1,278 @@ +//Maya Preference 2009 (Release 1) +// +// + +hotkey -keyShortcut "d" -ctl -alt -name ("LoadDefaultHotkeys"); +hotkey -keyShortcut "a" -ctl -alt -name ("LoadAnimationHotkeys"); +hotkey -keyShortcut "m" -ctl -alt -name ("LoadModelingHotkeys"); +hotkey -keyShortcut "S" -ctl -alt -name ("SaveCurrentHotkeys"); +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "F6" -name ("PasteKeyNameCommand"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "a" -releaseName (""); +hotkey -keyShortcut "a" -name ("SelectVertexMaskNameCommand"); +hotkey -keyShortcut "f" -name ("SelectToggleModeNameCommand"); +hotkey -keyShortcut "f" -ctl -name ("LookAtSelectionNameCommand"); +hotkey -keyShortcut "s" -name ("SelectEdgeMaskNameCommand"); +hotkey -keyShortcut "d" -releaseName (""); +hotkey -keyShortcut "d" -name ("DeleteTimeSlideKeyNameCommand"); +hotkey -keyShortcut "q" -ctl -name ("ArtPaintSelectToolNameCommand"); +hotkey -keyShortcut "q" -alt -releaseName (""); +hotkey -keyShortcut "q" -alt -name ("CreateUnitCubeNameCommand"); +hotkey -keyShortcut "z" -name ("extrudeComponentNameCommand"); +hotkey -keyShortcut "B" -ctl -name (""); +hotkey -keyShortcut "b" -ctl -releaseName ("ModifyUpperRadiusReleaseNameCommand"); +hotkey -keyShortcut "b" -releaseName (""); +hotkey -keyShortcut "b" -name ("BevelPolygonNameCommand"); +hotkey -keyShortcut "b" -alt -name ("BevelPolygonOptionsNameCommand"); +hotkey -keyShortcut "z" -alt -name ("ExtrudeFaceOptionsNameCommand"); +hotkey -keyShortcut "b" -ctl -name ("ModifyUpperRadiusPressNameCommand"); +hotkey -keyShortcut "p" -name ("PolyFromVertsNameCommand"); +hotkey -keyShortcut "d" -ctl -name ("DuplicateNameCommand"); +hotkey -keyShortcut "D" -ctl -name ("convertToContainedFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -releaseName (""); +hotkey -keyShortcut "S" -name ("convertToEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "D" -name ("convertToFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -ctl -name ("convertToContainedEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "A" -name ("convertToVertsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "w" -ctl -name ("SlideEdgeNameCommand"); +hotkey -keyShortcut "X" -releaseName (""); +hotkey -keyShortcut "X" -name ("SplitPolygonToolNameCommand"); +hotkey -keyShortcut "x" -alt -name ("SplitEdgeRingToolNameCommand"); +hotkey -keyShortcut "j" -releaseName (""); +hotkey -keyShortcut "j" -name ("WeightedFreeTangentsNameCommand"); +hotkey -keyShortcut "c" -releaseName (""); +hotkey -keyShortcut "c" -name ("FilterCurvesNameCommand"); +hotkey -keyShortcut "C" -releaseName (""); +hotkey -keyShortcut "C" -name ("ShowNURBSCurvesNameCommand"); +hotkey -keyShortcut "1" -name ("cameraFrontViewNameCommand"); +hotkey -keyShortcut "2" -name ("cameraTopViewNameCommand"); +hotkey -keyShortcut "3" -name ("cameraRightSideViewNameCommand"); +hotkey -keyShortcut "#" -name ("cameraLeftSideViewNameCommand"); +hotkey -keyShortcut "@" -name ("cameraBottomViewNameCommand"); +hotkey -keyShortcut "!" -name ("cameraRearViewNameCommand"); +hotkey -keyShortcut "4" -name ("cameraPerspViewNameCommand"); +hotkey -keyShortcut "1" -ctl -name ("DisplayWireframeNameCommand"); +hotkey -keyShortcut "2" -ctl -name ("displayFlatShadedNameCommand"); +hotkey -keyShortcut "3" -ctl -name ("DisplayShadedAndTexturedNameCommand"); +hotkey -keyShortcut "4" -ctl -name ("xRayToggleNameCommand"); +hotkey -keyShortcut "=" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "-" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "e" -ctl -name ("SelectEdgeLoopNameCommand"); +hotkey -keyShortcut "r" -ctl -name ("SelectEdgeRingNameCommand"); +hotkey -keyShortcut "a" -ctl -name ("selectAllNameCommand"); +hotkey -keyShortcut "`" -name ("deselectAllNameCommand"); +hotkey -keyShortcut "Z" -ctl -name ("RedoNameCommand"); +hotkey -keyShortcut "z" -ctl -alt -name ("RepeatLastNameCommand"); +hotkey -keyShortcut "c" -ctl -alt -name ("cpsToggleProxyEditableNameCommand"); +hotkey -keyShortcut "c" -alt -name ("cpsToggleSubdivisionNameCommand"); +hotkey -keyShortcut "W" -name ("localToolsNameCommand"); +hotkey -keyShortcut "h" -releaseName (""); +hotkey -keyShortcut "h" -name ("TangentsFlatNameCommand"); +hotkey -keyShortcut "h" -ctl -name ("ShowAllNameCommand"); +hotkey -keyShortcut "x" -releaseName (""); +hotkey -keyShortcut "x" -name ("XrayNameCommand"); +hotkey -keyShortcut "z" -ctl -name ("HKMagnetToolsUndoNameCommand"); +hotkey -keyShortcut "v" -alt -name (""); +hotkey -keyShortcut "v" -alt -releaseName (""); +hotkey -keyShortcut "V" -releaseName (""); +hotkey -keyShortcut "V" -name ("paste_keyNameCommand"); +hotkey -keyShortcut "a" -alt -name ("AttributeEditorNameCommand"); +hotkey -keyShortcut "w" -alt -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "_" -name ("DecreaseManipulatorSizeNameCommand"); +hotkey -keyShortcut "Up" -ctl -name ("Nudge_UpNameCommand"); +hotkey -keyShortcut "Down" -ctl -name ("Nudge_DnNameCommand"); +hotkey -keyShortcut "Left" -ctl -name ("Nudge_BkwdNameCommand"); +hotkey -keyShortcut "Right" -ctl -name ("Nudge_FwdNameCommand"); +hotkey -keyShortcut "Left" -name ("L_KeyTap_PressNameCommand"); +hotkey -keyShortcut "Right" -name ("R_KeyTap_PressNameCommand"); +hotkey -keyShortcut "'" -releaseName (""); +hotkey -keyShortcut "'" -name ("PlaybackToggleNameCommand"); +hotkey -keyShortcut "l" -releaseName (""); +hotkey -keyShortcut "l" -name ("PlaybackBackwardNameCommand"); +hotkey -keyShortcut ";" -name ("PlaybackStopNameCommand"); +hotkey -keyShortcut "9" -alt -name (""); +hotkey -keyShortcut "9" -name ("GraphEditorNameCommand"); +hotkey -keyShortcut "/" -releaseName (""); +hotkey -keyShortcut "/" -name ("CurrentTimeGraphEditorNameCommand"); +hotkey -keyShortcut "F" -name ("FrameSelectedNameCommand"); +hotkey -keyShortcut "F9" -name ("Translate_LocalNameCommand"); +hotkey -keyShortcut "F10" -name ("Translate_WorldNameCommand"); +hotkey -keyShortcut "F11" -name ("LocalRotateNameCommand"); +hotkey -keyShortcut "F12" -name ("GimbalRotateNameCommand"); +hotkey -keyShortcut "Left" -alt -name ("jsPickWalk_leftNameCommand"); +hotkey -keyShortcut "Right" -alt -name ("jsPickWalk_rightNameCommand"); +hotkey -keyShortcut "Down" -alt -name ("jsPickWalk_downNameCommand"); +hotkey -keyShortcut "Up" -alt -name ("jsPickWalk_upNameCommand"); +hotkey -keyShortcut "0" -name ("ChannelBox_ToggleNameCommand"); +hotkey -keyShortcut "t" -name ("AutoTangntNameCommand"); +hotkey -keyShortcut "o" -releaseName (""); +hotkey -keyShortcut "o" -name ("MotionTrailNameCommand"); +hotkey -keyShortcut "f" -alt -name ("FramePlaybackRangeInGraphEditorNameCommand"); +hotkey -keyShortcut "f" -ctl -alt -name (""); +hotkey -keyShortcut "A" -ctl -alt -name (""); +hotkey -keyShortcut "." -alt -name (""); +hotkey -keyShortcut "," -alt -name (""); +hotkey -keyShortcut "," -name ("PreviousKeyNameCommand"); +hotkey -keyShortcut "." -name ("NextKeyNameCommand"); +hotkey -keyShortcut "k" -ctl -name ("AddKeyNameCommand"); +hotkey -keyShortcut "F5" -name ("CopyKeyNameCommand"); +hotkey -keyShortcut "F3" -name ("CopyKeyTimeSliderNameCommand"); +hotkey -keyShortcut "F4" -name ("PasteKeyTimeSliderNameCommand"); +hotkey -keyShortcut "\\" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "n" -releaseName (""); +hotkey -keyShortcut "n" -name ("UnifyTangentsNameCommand"); +hotkey -keyShortcut "m" -releaseName (""); +hotkey -keyShortcut "m" -name ("BreakTangentsNameCommand"); +hotkey -keyShortcut "v" -releaseName ("SnapToPointNameCommand"); +hotkey -keyShortcut "v" -name ("SnapToPointNameCommand"); +hotkey -keyShortcut "O" -name (""); +hotkey -keyShortcut "u" -releaseName (""); +hotkey -keyShortcut "u" -name ("AnimConvergeNameCommand"); +hotkey -keyShortcut "F1" -name ("ScreenLargeNameCommand"); +hotkey -keyShortcut "g" -name ("TangentsSplineNameCommand"); +hotkey -keyShortcut "H" -name (""); +hotkey -keyShortcut "=" -alt -name ("AddInbetweenNameCommand"); +hotkey -keyShortcut "-" -alt -name ("RemoveInbetweenNameCommand"); +hotkey -keyShortcut "F" -ctl -name ("defaultTangentsFlatNameCommand"); +hotkey -keyShortcut "P" -ctl -name ("UnparentNameCommand"); +hotkey -keyShortcut "p" -ctl -name ("ParentNameCommand"); +hotkey -keyShortcut "P" -name (""); +hotkey -keyShortcut "G" -name ("defaultTangentsPlateauNameCommand"); +hotkey -keyShortcut "," -ctl -name ("PreviousKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "." -ctl -name ("NextKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "[" -name ("NameComGo_To_Previous_View"); +hotkey -keyShortcut "]" -name ("NameComGo_To_Next_View"); +hotkey -keyShortcut "{" -name ("NameComPrevious_View_Arrangement"); +hotkey -keyShortcut "}" -name ("NameComNext_View_Arrangement"); +hotkey -keyShortcut "Z" -name ("NameComRedo"); +hotkey -keyShortcut "F8" -name ("NameComToggle_ObjectComponent_Editing"); +hotkey -keyShortcut "F9" -alt -name ("NameComSet_VertexFace_Component_Mask"); +hotkey -keyShortcut "F9" -ctl -name ("ConvertSelectionToVerticesNameCommand"); +hotkey -keyShortcut "F10" -ctl -name ("ConvertSelectionToEdgesNameCommand"); +hotkey -keyShortcut "F11" -ctl -name ("ConvertSelectionToFacesNameCommand"); +hotkey -keyShortcut "F12" -ctl -name ("ConvertSelectionToUVsNameCommand"); +hotkey -keyShortcut ">" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "<" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "H" -ctl -name ("NameComShow_Last_Hidden"); +hotkey -keyShortcut "h" -alt -name ("NameComHide_Unselected_Objects"); +hotkey -keyShortcut "q" -releaseName ("NameComSelectTool_MaskMMenu_release"); +hotkey -keyShortcut "q" -name ("NameComSelectTool_MaskMMenu"); +hotkey -keyShortcut "Q" -releaseName (""); +hotkey -keyShortcut "Q" -name ("SelectUVMaskNameCommand"); +hotkey -keyShortcut "m" -ctl -name ("NameComToggle_Main_Menubar_Visibility"); +hotkey -keyShortcut "m" -alt -name ("NameComHotbox_DisplayRows"); +hotkey -keyShortcut "M" -name ("NameComToggle_Panel_Menubar_Visibility"); +hotkey -keyShortcut "J" -releaseName ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "J" -name ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "w" -releaseName ("TranslateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "w" -name ("TranslateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "e" -releaseName ("RotateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "e" -name ("RotateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "r" -releaseName ("ScaleToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "r" -name ("ScaleToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "t" -ctl -name ("NameComUniversalManip"); +hotkey -keyShortcut "y" -name ("NameComNonSacred_Tool"); +hotkey -keyShortcut "F2" -name ("HypershadeWindowNameCommand"); +hotkey -keyShortcut "e" -alt -name ("NameComToggleFBIKEffectorsRotatePinState"); +hotkey -keyShortcut "s" -alt -name ("NameComToggleFBIKEffectorsPinState"); +hotkey -keyShortcut "d" -alt -name ("NameComSetFullBodyIKKeysAll"); +hotkey -keyShortcut "4" -alt -name ("NameComSetFullBodyIKKeysSelected"); +hotkey -keyShortcut "5" -alt -name ("NameComToggleFkSkeletonVisibility"); +hotkey -keyShortcut "1" -alt -name ("NameComFBIKReachKeyingOptionFK"); +hotkey -keyShortcut "2" -alt -name ("NameComFBIKReachKeyingOptionSimple"); +hotkey -keyShortcut "3" -alt -name ("NameComFBIKReachKeyingOptionIK"); +hotkey -keyShortcut "V" -alt -name ("NameComGo_to_min_frame"); +hotkey -keyShortcut "k" -releaseName ("NameComVirtual_timeslider_modifier_release"); +hotkey -keyShortcut "k" -name ("NameComVirtual_timeslider_modifier"); +hotkey -keyShortcut "i" -releaseName ("NameComInsert_Key_Modifier_release"); +hotkey -keyShortcut "i" -name ("NameComInsert_Key_Modifier"); +hotkey -keyShortcut "5" -name ("NameComShaded_Display"); +hotkey -keyShortcut "6" -name ("NameComShaded_and_Textured_Display"); +hotkey -keyShortcut "7" -name ("NameComTurn_on_Light_Display"); +hotkey -keyShortcut "8" -name ("NameComOpen_Paint_Effects_Panel"); +hotkey -keyShortcut "I" -name ("Insert_KeyNameCommand"); +hotkey -keyShortcut " " -releaseName ("NameComUnpop_hotBox"); +hotkey -keyShortcut " " -name ("NameComPop_hotBox"); +hotkey -keyShortcut "Return" -name ("NameComComplete_current_Tool1"); +hotkey -keyShortcut "Insert" -name ("NameComEnter_Tool_Edit_Mode"); +hotkey -keyShortcut "o" -ctl -name ("NameComOpen_File"); +hotkey -keyShortcut "n" -ctl -name ("NameComNew_File"); +hotkey -keyShortcut "s" -ctl -name ("NameComSave_File"); +hotkey -keyShortcut "g" -ctl -name ("NameComGroup_Selected"); +hotkey -keyShortcut "G" -releaseName (""); +hotkey -keyShortcut "Up" -name ("PickWalkUpNameCommand"); +hotkey -keyShortcut "Down" -name ("PickWalkDownNameCommand"); +hotkey -keyShortcut "+" -name ("NameComIncrease_Manipulator_Size"); +hotkey -keyShortcut "Y" -alt -releaseName (""); +hotkey -keyShortcut "Y" -alt -name (""); +hotkey -keyShortcut "Y" -ctl -releaseName (""); +hotkey -keyShortcut "Y" -ctl -name (""); +hotkey -keyShortcut "Y" -ctl -alt -releaseName (""); +hotkey -keyShortcut "Y" -ctl -alt -name (""); +hotkey -keyShortcut "W" -releaseName (""); +hotkey -keyShortcut "E" -releaseName (""); +hotkey -keyShortcut "E" -name ("NameComSave_Keyframe_for_Rotate"); +hotkey -keyShortcut "R" -releaseName (""); +hotkey -keyShortcut "R" -name ("NameComSave_Keyframe_for_Scale"); +hotkey -keyShortcut "i" -ctl -releaseName (""); +hotkey -keyShortcut "i" -ctl -name ("NameComSelect_Next_Intermediate_Object"); +hotkey -keyShortcut "F1" -releaseName (""); +hotkey -keyShortcut "B" -releaseName ("artisanModifyLowerRadius_release"); +hotkey -keyShortcut "B" -name ("artisanModifyLowerRadius_press"); +hotkey -keyShortcut "j" -alt -name ("artisanMultiColorFeedback_press"); +hotkey -keyShortcut "r" -alt -name ("artisanToggleReflection_press"); +hotkey -keyShortcut "Up" -ctl -releaseName (""); +hotkey -keyShortcut "Down" -ctl -releaseName (""); +hotkey -keyShortcut "A" -alt -releaseName (""); +hotkey -keyShortcut "A" -alt -name ("NameComFluids_DecrementFluidCenter"); +hotkey -keyShortcut "S" -alt -releaseName (""); +hotkey -keyShortcut "S" -alt -name ("NameComFluids_IncrementFluidCenter"); +hotkey -keyShortcut "x" -ctl -name ("CutSelectedNameCommand"); +hotkey -keyShortcut "c" -ctl -name ("CopySelectedNameCommand"); +hotkey -keyShortcut "v" -ctl -name ("PasteSelectedNameCommand"); +hotkey -keyShortcut " " -ctl -name ("ToggleUIElementsNameCommand"); +hotkey -keyShortcut "~" -name ("SmoothingDisplayShowBothNameCommand"); +hotkey -keyShortcut "`" -ctl -name ("SmoothProxyNameCommand"); +hotkey -keyShortcut "~" -ctl -name ("SmoothProxyOptionsNameCommand"); +hotkey -keyShortcut "`" -alt -name ("NameComSubdiv_Create"); +hotkey -keyShortcut "~" -alt -name ("NameComSubdiv_Create_Options"); +hotkey -keyShortcut "Page_Up" -name ("SmoothingLevelIncreaseNameCommand"); +hotkey -keyShortcut "Page_Down" -name ("SmoothingLevelDecreaseNameCommand"); +hotkey -keyShortcut "g" -alt -name ("HyperGraph_IncreaseDepth"); +hotkey -keyShortcut "t" -alt -name ("HyperGraph_DecreaseDepth"); +hotkey -keyShortcut "A" -ctl -name ("defaultTangentsLinearNameCommand"); +hotkey -keyShortcut "C" -ctl -name ("defaultTangentsClampedNameCommand"); +hotkey -keyShortcut "G" -ctl -name ("defaultTangentsPlateauNameCommand"); +hotkey -keyShortcut "T" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "t" -ctl -alt -name ("LoadThierryHotkeysNameCommand"); +hotkey -keyShortcut "Q" -ctl -name ("convertToUVsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "#" -ctl -name ("displaySmoothShadedNoTextureNameCommand"); +hotkey -keyShortcut "F4" -ctl -name ("HypergraphHierarchyWindowNameCommand"); +hotkey -keyShortcut "u" -ctl -name ("UpdatePSDTexturesNameCommand"); +hotkey -keyShortcut "D" -alt -name ("NameComDelete_History"); +hotkey -keyShortcut "U" -releaseName ("artisanModifyUVVector_release"); +hotkey -keyShortcut "U" -name ("artisanModifyUVVector_press"); +hotkey -keyShortcut "i" -alt -name ("SelectIsolateNameCommand"); +hotkey -keyShortcut "g" -ctl -alt -name ("UngroupNameCommand"); +hotkey -keyShortcut "w" -alt -releaseName (""); +hotkey -keyShortcut "s" -alt -releaseName (""); +hotkey -keyShortcut "a" -alt -releaseName (""); +hotkey -keyShortcut "d" -alt -releaseName (""); +hotkey -keyShortcut "p" -alt -name ("ParentRelativeNameCommand"); +hotkey -keyShortcut "_" -ctl -name (""); +hotkey -keyShortcut "n" -alt -name ("toggleSymmetricModelingNameCommand"); +hotkey -keyShortcut "X" -ctl -name ("SeparatePolygonNameCommand"); +hotkey -keyShortcut "@" -ctl -name ("displayFlatShadedNoTextureNameCommand"); +hotkey -keyShortcut "W" -alt -name (""); +hotkey -keyShortcut "`" -releaseName ("STRSTweakModeOffNameCommand"); +hotkey -keyShortcut "Left" -releaseName ("L_KeyTap_ReleaseNameCommand"); +hotkey -keyShortcut "Right" -releaseName ("R_KeyTap_ReleaseNameCommand"); +hotkey -keyShortcut "/" -ctl -name ("SetDrivenKeyOptionsNameCommand"); +hotkey -keyShortcut "=" -ctl -name ("rippleTimeSliderKeysFWDNameCommand"); +hotkey -keyShortcut "-" -ctl -name ("rippleTimeSliderKeysBKWDNameCommand"); +hotkey -keyShortcut "End" -name ("Play_Range_EndNameCommand"); +hotkey -keyShortcut "Home" -name ("Play_Range_StartNameCommand"); diff --git a/2009-x64/prefs/userHotkeys_ThierryOld.mel b/2009-x64/prefs/userHotkeys_ThierryOld.mel new file mode 100644 index 0000000..4a11b78 --- /dev/null +++ b/2009-x64/prefs/userHotkeys_ThierryOld.mel @@ -0,0 +1,251 @@ +//Maya Preference 8.50 (Release 1) +// +// + +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "F6" -name ("PasteKeyNameCommand"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "a" -releaseName (""); +hotkey -keyShortcut "a" -name ("SelectVertexMaskNameCommand"); +hotkey -keyShortcut "f" -name ("SelectToggleModeNameCommand"); +hotkey -keyShortcut "f" -ctl -name ("LookAtSelectionNameCommand"); +hotkey -keyShortcut "s" -name ("SelectEdgeMaskNameCommand"); +hotkey -keyShortcut "d" -releaseName (""); +hotkey -keyShortcut "d" -name ("DeleteTimeSlideKeyNameCommand"); +hotkey -keyShortcut "q" -ctl -name ("ArtPaintSelectToolNameCommand"); +hotkey -keyShortcut "q" -alt -releaseName (""); +hotkey -keyShortcut "q" -alt -name ("CreateUnitCubeNameCommand"); +hotkey -keyShortcut "z" -name ("extrudeComponentNameCommand"); +hotkey -keyShortcut "B" -ctl -name (""); +hotkey -keyShortcut "b" -ctl -releaseName ("ModifyUpperRadiusReleaseNameCommand"); +hotkey -keyShortcut "b" -releaseName (""); +hotkey -keyShortcut "b" -name ("BevelPolygonNameCommand"); +hotkey -keyShortcut "b" -alt -name ("BevelPolygonOptionsNameCommand"); +hotkey -keyShortcut "z" -alt -name ("ExtrudeFaceOptionsNameCommand"); +hotkey -keyShortcut "b" -ctl -name ("ModifyUpperRadiusPressNameCommand"); +hotkey -keyShortcut "p" -name ("PolyFromVertsNameCommand"); +hotkey -keyShortcut "d" -ctl -name ("DuplicateNameCommand"); +hotkey -keyShortcut "D" -ctl -name ("convertToContainedFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -releaseName (""); +hotkey -keyShortcut "S" -name ("convertToEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "D" -name ("convertToFacesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "S" -ctl -name ("convertToContainedEdgesAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "A" -name ("convertToVertsAndChangeSelectionModeNameCommand"); +hotkey -keyShortcut "w" -ctl -name ("SlideEdgeNameCommand"); +hotkey -keyShortcut "X" -releaseName (""); +hotkey -keyShortcut "X" -name ("SplitPolygonToolNameCommand"); +hotkey -keyShortcut "x" -alt -name ("SplitEdgeRingToolNameCommand"); +hotkey -keyShortcut "j" -releaseName (""); +hotkey -keyShortcut "j" -name ("WeightedFreeTangentsNameCommand"); +hotkey -keyShortcut "c" -releaseName (""); +hotkey -keyShortcut "c" -name ("FilterCurvesNameCommand"); +hotkey -keyShortcut "C" -releaseName (""); +hotkey -keyShortcut "C" -name ("ShowNURBSCurvesNameCommand"); +hotkey -keyShortcut "1" -name ("cameraFrontViewNameCommand"); +hotkey -keyShortcut "2" -name ("cameraTopViewNameCommand"); +hotkey -keyShortcut "3" -name ("cameraRightSideViewNameCommand"); +hotkey -keyShortcut "#" -name ("cameraLeftSideViewNameCommand"); +hotkey -keyShortcut "@" -name ("cameraBottomViewNameCommand"); +hotkey -keyShortcut "!" -name ("cameraRearViewNameCommand"); +hotkey -keyShortcut "4" -name ("cameraPerspViewNameCommand"); +hotkey -keyShortcut "1" -ctl -name ("DisplayWireframeNameCommand"); +hotkey -keyShortcut "2" -ctl -name ("displayFlatShadedNameCommand"); +hotkey -keyShortcut "3" -ctl -name ("DisplayShadedAndTexturedNameCommand"); +hotkey -keyShortcut "4" -ctl -name ("xRayToggleNameCommand"); +hotkey -keyShortcut "=" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "-" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "e" -ctl -name ("SelectEdgeLoopNameCommand"); +hotkey -keyShortcut "r" -ctl -name ("SelectEdgeRingNameCommand"); +hotkey -keyShortcut "a" -ctl -name ("selectAllNameCommand"); +hotkey -keyShortcut "`" -name ("deselectAllNameCommand"); +hotkey -keyShortcut "Z" -ctl -name ("RedoNameCommand"); +hotkey -keyShortcut "z" -ctl -alt -name ("RepeatLastNameCommand"); +hotkey -keyShortcut "c" -ctl -alt -name ("cpsToggleProxyEditableNameCommand"); +hotkey -keyShortcut "c" -alt -name ("cpsToggleSubdivisionNameCommand"); +hotkey -keyShortcut "W" -name ("localToolsNameCommand"); +hotkey -keyShortcut "h" -releaseName (""); +hotkey -keyShortcut "h" -name ("TangentsFlatNameCommand"); +hotkey -keyShortcut "h" -ctl -name ("ShowAllNameCommand"); +hotkey -keyShortcut "x" -releaseName (""); +hotkey -keyShortcut "x" -name ("XrayNameCommand"); +hotkey -keyShortcut "z" -ctl -name ("HKMagnetToolsUndoNameCommand"); +hotkey -keyShortcut "v" -alt -name (""); +hotkey -keyShortcut "v" -alt -releaseName (""); +hotkey -keyShortcut "V" -releaseName (""); +hotkey -keyShortcut "V" -name ("paste_keyNameCommand"); +hotkey -keyShortcut "a" -alt -name ("AttributeEditorNameCommand"); +hotkey -keyShortcut "w" -alt -name ("MovePolygonComponentNameCommand"); +hotkey -keyShortcut "_" -name ("DecreaseManipulatorSizeNameCommand"); +hotkey -keyShortcut "Up" -ctl -name ("Nudge_UpNameCommand"); +hotkey -keyShortcut "Down" -ctl -name ("Nudge_DnNameCommand"); +hotkey -keyShortcut "Left" -ctl -name ("Nudge_BkwdNameCommand"); +hotkey -keyShortcut "Right" -ctl -name ("Nudge_FwdNameCommand"); +hotkey -keyShortcut "Left" -name ("PreviousFrameNameCommand"); +hotkey -keyShortcut "Right" -name ("NextFrameNameCommand"); +hotkey -keyShortcut "'" -releaseName (""); +hotkey -keyShortcut "'" -name ("PlaybackToggleNameCommand"); +hotkey -keyShortcut "l" -releaseName (""); +hotkey -keyShortcut "l" -name ("PlaybackBackwardNameCommand"); +hotkey -keyShortcut ";" -name ("PlaybackStopNameCommand"); +hotkey -keyShortcut "9" -alt -name (""); +hotkey -keyShortcut "9" -name ("GraphEditorNameCommand"); +hotkey -keyShortcut "/" -releaseName (""); +hotkey -keyShortcut "/" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "F" -name ("FrameSelectedNameCommand"); +hotkey -keyShortcut "F9" -name ("Translate_LocalNameCommand"); +hotkey -keyShortcut "F10" -name ("Translate_WorldNameCommand"); +hotkey -keyShortcut "F11" -name ("LocalRotateNameCommand"); +hotkey -keyShortcut "F12" -name ("GimbalRotateNameCommand"); +hotkey -keyShortcut "Left" -alt -name (""); +hotkey -keyShortcut "Right" -alt -name (""); +hotkey -keyShortcut "Down" -alt -name (""); +hotkey -keyShortcut "Up" -alt -name (""); +hotkey -keyShortcut "0" -name ("ChannelBox_ToggleNameCommand"); +hotkey -keyShortcut "a" -ctl -alt -name ("LoadAnimationHotkeysNameCommand"); +hotkey -keyShortcut "m" -ctl -alt -name ("LoadModelingHotkeysNameCommand"); +hotkey -keyShortcut "t" -name ("AnimConv_AutoTangentNameCommand"); +hotkey -keyShortcut "o" -releaseName (""); +hotkey -keyShortcut "o" -name ("MotionTrailNameCommand"); +hotkey -keyShortcut "f" -alt -name ("FramePlaybackRangeInGraphEditorNameCommand"); +hotkey -keyShortcut "f" -ctl -alt -name (""); +hotkey -keyShortcut "S" -ctl -alt -name ("SaveThierryHotkeysNameCommand"); +hotkey -keyShortcut "A" -ctl -alt -name (""); +hotkey -keyShortcut "d" -ctl -alt -name ("LoadDefaultHotkeysNameCommand"); +hotkey -keyShortcut "." -alt -name (""); +hotkey -keyShortcut "," -alt -name (""); +hotkey -keyShortcut "," -name ("PreviousKeyNameCommand"); +hotkey -keyShortcut "." -name ("NextKeyNameCommand"); +hotkey -keyShortcut "k" -ctl -name ("AddKeyNameCommand"); +hotkey -keyShortcut "F5" -name ("CopyKeyNameCommand"); +hotkey -keyShortcut "F3" -name ("CopyKeyTimeSliderNameCommand"); +hotkey -keyShortcut "F4" -name ("PasteKeyTimeSliderNameCommand"); +hotkey -keyShortcut "\\" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "n" -releaseName (""); +hotkey -keyShortcut "n" -name ("UnifyTangentsNameCommand"); +hotkey -keyShortcut "m" -releaseName (""); +hotkey -keyShortcut "m" -name ("BreakTangentsNameCommand"); +hotkey -keyShortcut "v" -releaseName ("SnapToPointNameCommand"); +hotkey -keyShortcut "v" -name ("SnapToPointNameCommand"); +hotkey -keyShortcut "O" -name (""); +hotkey -keyShortcut "u" -releaseName (""); +hotkey -keyShortcut "u" -name ("AnimConvergeNameCommand"); +hotkey -keyShortcut "F1" -name ("ScreenLargeNameCommand"); +hotkey -keyShortcut "g" -name ("TangentsSplineNameCommand"); +hotkey -keyShortcut "H" -name (""); +hotkey -keyShortcut "=" -alt -name ("AddInbetweenNameCommand"); +hotkey -keyShortcut "-" -alt -name ("RemoveInbetweenNameCommand"); +hotkey -keyShortcut "F" -ctl -name ("defaultTangentsFlatNameCommand"); +hotkey -keyShortcut "P" -ctl -name ("UnparentNameCommand"); +hotkey -keyShortcut "p" -ctl -name ("ParentNameCommand"); +hotkey -keyShortcut "P" -name (""); +hotkey -keyShortcut "G" -name ("defaultTangentsPlateauNameCommand"); +hotkey -keyShortcut "," -ctl -name ("PreviousKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "." -ctl -name ("NextKeyframeNoUpdateNameCommand"); +hotkey -keyShortcut "[" -name ("NameComGo_To_Previous_View"); +hotkey -keyShortcut "]" -name ("NameComGo_To_Next_View"); +hotkey -keyShortcut "{" -name ("NameComPrevious_View_Arrangement"); +hotkey -keyShortcut "}" -name ("NameComNext_View_Arrangement"); +hotkey -keyShortcut "Z" -name ("NameComRedo"); +hotkey -keyShortcut "F8" -name ("NameComToggle_ObjectComponent_Editing"); +hotkey -keyShortcut "F9" -alt -name ("NameComSet_VertexFace_Component_Mask"); +hotkey -keyShortcut "F9" -ctl -name ("ConvertSelectionToVerticesNameCommand"); +hotkey -keyShortcut "F10" -ctl -name ("ConvertSelectionToEdgesNameCommand"); +hotkey -keyShortcut "F11" -ctl -name ("ConvertSelectionToFacesNameCommand"); +hotkey -keyShortcut "F12" -ctl -name ("ConvertSelectionToUVsNameCommand"); +hotkey -keyShortcut ">" -name ("GrowPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "<" -name ("ShrinkPolygonSelectionRegionNameCommand"); +hotkey -keyShortcut "H" -ctl -name ("NameComShow_Last_Hidden"); +hotkey -keyShortcut "h" -alt -name ("NameComHide_Unselected_Objects"); +hotkey -keyShortcut "q" -releaseName ("NameComSelectTool_MaskMMenu_release"); +hotkey -keyShortcut "q" -name ("NameComSelectTool_MaskMMenu"); +hotkey -keyShortcut "Q" -releaseName (""); +hotkey -keyShortcut "Q" -name ("SelectUVMaskNameCommand"); +hotkey -keyShortcut "m" -ctl -name ("NameComToggle_Main_Menubar_Visibility"); +hotkey -keyShortcut "m" -alt -name ("NameComHotbox_DisplayRows"); +hotkey -keyShortcut "M" -name ("NameComToggle_Panel_Menubar_Visibility"); +hotkey -keyShortcut "J" -releaseName ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "J" -name ("NameComMoveRotateScale_Tool_ToggleSnapRelative"); +hotkey -keyShortcut "w" -releaseName ("TranslateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "w" -name ("TranslateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "e" -releaseName ("RotateToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "e" -name ("RotateToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "r" -releaseName ("ScaleToolWithSnapMarkingMenuPopDownNameCommand"); +hotkey -keyShortcut "r" -name ("ScaleToolWithSnapMarkingMenuNameCommand"); +hotkey -keyShortcut "t" -ctl -name ("NameComUniversalManip"); +hotkey -keyShortcut "y" -name ("NameComNonSacred_Tool"); +hotkey -keyShortcut "F2" -name ("HypershadeWindowNameCommand"); +hotkey -keyShortcut "e" -alt -name ("NameComToggleFBIKEffectorsRotatePinState"); +hotkey -keyShortcut "s" -alt -name ("NameComToggleFBIKEffectorsPinState"); +hotkey -keyShortcut "d" -alt -name ("NameComSetFullBodyIKKeysAll"); +hotkey -keyShortcut "4" -alt -name ("NameComSetFullBodyIKKeysSelected"); +hotkey -keyShortcut "5" -alt -name ("NameComToggleFkSkeletonVisibility"); +hotkey -keyShortcut "1" -alt -name ("NameComFBIKReachKeyingOptionFK"); +hotkey -keyShortcut "2" -alt -name ("NameComFBIKReachKeyingOptionSimple"); +hotkey -keyShortcut "3" -alt -name ("NameComFBIKReachKeyingOptionIK"); +hotkey -keyShortcut "V" -alt -name ("NameComGo_to_min_frame"); +hotkey -keyShortcut "k" -releaseName ("NameComVirtual_timeslider_modifier_release"); +hotkey -keyShortcut "k" -name ("NameComVirtual_timeslider_modifier"); +hotkey -keyShortcut "i" -releaseName ("NameComInsert_Key_Modifier_release"); +hotkey -keyShortcut "i" -name ("NameComInsert_Key_Modifier"); +hotkey -keyShortcut "5" -name ("NameComShaded_Display"); +hotkey -keyShortcut "6" -name ("NameComShaded_and_Textured_Display"); +hotkey -keyShortcut "7" -name ("NameComTurn_on_Light_Display"); +hotkey -keyShortcut "8" -name ("NameComOpen_Paint_Effects_Panel"); +hotkey -keyShortcut "I" -name ("NameComIsolateSelect"); +hotkey -keyShortcut " " -releaseName ("NameComUnpop_hotBox"); +hotkey -keyShortcut " " -name ("NameComPop_hotBox"); +hotkey -keyShortcut "Return" -name ("NameComComplete_current_Tool1"); +hotkey -keyShortcut "Insert" -name ("NameComEnter_Tool_Edit_Mode"); +hotkey -keyShortcut "o" -ctl -name ("NameComOpen_File"); +hotkey -keyShortcut "n" -ctl -name ("NameComNew_File"); +hotkey -keyShortcut "s" -ctl -name ("NameComSave_File"); +hotkey -keyShortcut "g" -ctl -name ("NameComGroup_Selected"); +hotkey -keyShortcut "G" -releaseName (""); +hotkey -keyShortcut "Up" -name ("NameComWalk_up_the_current_hierarchy"); +hotkey -keyShortcut "Down" -name ("NameComWalk_down_the_current_hierarchy"); +hotkey -keyShortcut "+" -name ("NameComIncrease_Manipulator_Size"); +hotkey -keyShortcut "Y" -alt -releaseName (""); +hotkey -keyShortcut "Y" -alt -name (""); +hotkey -keyShortcut "Y" -ctl -releaseName (""); +hotkey -keyShortcut "Y" -ctl -name (""); +hotkey -keyShortcut "Y" -ctl -alt -releaseName (""); +hotkey -keyShortcut "Y" -ctl -alt -name (""); +hotkey -keyShortcut "W" -releaseName (""); +hotkey -keyShortcut "E" -releaseName (""); +hotkey -keyShortcut "E" -name ("NameComSave_Keyframe_for_Rotate"); +hotkey -keyShortcut "R" -releaseName (""); +hotkey -keyShortcut "R" -name ("NameComSave_Keyframe_for_Scale"); +hotkey -keyShortcut "i" -ctl -releaseName (""); +hotkey -keyShortcut "i" -ctl -name ("NameComSelect_Next_Intermediate_Object"); +hotkey -keyShortcut "F1" -releaseName (""); +hotkey -keyShortcut "B" -releaseName ("artisanModifyLowerRadius_release"); +hotkey -keyShortcut "B" -name ("artisanModifyLowerRadius_press"); +hotkey -keyShortcut "j" -alt -name ("artisanMultiColorFeedback_press"); +hotkey -keyShortcut "r" -alt -name ("artisanToggleReflection_press"); +hotkey -keyShortcut "Up" -ctl -releaseName (""); +hotkey -keyShortcut "Down" -ctl -releaseName (""); +hotkey -keyShortcut "A" -alt -releaseName (""); +hotkey -keyShortcut "A" -alt -name ("NameComFluids_DecrementFluidCenter"); +hotkey -keyShortcut "S" -alt -releaseName (""); +hotkey -keyShortcut "S" -alt -name ("NameComFluids_IncrementFluidCenter"); +hotkey -keyShortcut "x" -ctl -name ("CutSelectedNameCommand"); +hotkey -keyShortcut "c" -ctl -name ("CopySelectedNameCommand"); +hotkey -keyShortcut "v" -ctl -name ("PasteSelectedNameCommand"); +hotkey -keyShortcut " " -ctl -name ("ToggleUIElementsNameCommand"); +hotkey -keyShortcut "~" -name ("SmoothingDisplayShowBothNameCommand"); +hotkey -keyShortcut "`" -ctl -name ("SmoothProxyNameCommand"); +hotkey -keyShortcut "~" -ctl -name ("SmoothProxyOptionsNameCommand"); +hotkey -keyShortcut "`" -alt -name ("NameComSubdiv_Create"); +hotkey -keyShortcut "~" -alt -name ("NameComSubdiv_Create_Options"); +hotkey -keyShortcut "Page_Up" -name ("SmoothingLevelIncreaseNameCommand"); +hotkey -keyShortcut "Page_Down" -name ("SmoothingLevelDecreaseNameCommand"); +hotkey -keyShortcut "g" -alt -name ("HyperGraph_IncreaseDepth"); +hotkey -keyShortcut "t" -alt -name ("HyperGraph_DecreaseDepth"); +hotkey -keyShortcut "A" -ctl -name ("defaultTangentsLinearNameCommand"); +hotkey -keyShortcut "C" -ctl -name ("defaultTangentsClampedNameCommand"); +hotkey -keyShortcut "G" -ctl -name ("defaultTangentsPlateauNameCommand"); +hotkey -keyShortcut "T" -name ("AutoTangentCommandNameCommand"); +hotkey -keyShortcut "t" -ctl -alt -name ("LoadThierryHotkeysNameCommand"); diff --git a/2009-x64/prefs/userHotkeys_Ty.mel b/2009-x64/prefs/userHotkeys_Ty.mel new file mode 100644 index 0000000..157deec --- /dev/null +++ b/2009-x64/prefs/userHotkeys_Ty.mel @@ -0,0 +1,18 @@ +//Maya Preference 7.00 (Release 1) +// +// + +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "F6" -name ("NameComLive_UI"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "w" -alt -name ("walkCamForwardNameCommand"); +hotkey -keyShortcut "w" -alt -releaseName ("walkCamStopNameCommand"); +hotkey -keyShortcut "s" -alt -name ("walkCamBackwardNameCommand"); +hotkey -keyShortcut "s" -alt -releaseName ("walkCamStopNameCommand"); +hotkey -keyShortcut "a" -alt -name ("walkCamLeftNameCommand"); +hotkey -keyShortcut "a" -alt -releaseName ("walkCamStopNameCommand"); +hotkey -keyShortcut "d" -alt -name ("walkCamRightNameCommand"); +hotkey -keyShortcut "d" -alt -releaseName ("walkCamStopNameCommand"); diff --git a/2009-x64/prefs/userNamedCommands.mel b/2009-x64/prefs/userNamedCommands.mel new file mode 100644 index 0000000..d9b2442 --- /dev/null +++ b/2009-x64/prefs/userNamedCommands.mel @@ -0,0 +1,1450 @@ +//Maya Preference 2009 (Release 1) +// +// + +nameCommand + -annotation "RedoNameCommand" + -sourceType "mel" + -command ("Redo") + RedoNameCommand; + +nameCommand + -annotation "SelectVertexMaskNameCommand" + -sourceType "mel" + -command ("SelectVertexMask") + SelectVertexMaskNameCommand; + +nameCommand + -annotation "SelectToggleModeNameCommand" + -sourceType "mel" + -command ("SelectToggleMode") + SelectToggleModeNameCommand; + +nameCommand + -annotation "FrameSelectedNameCommand" + -sourceType "mel" + -command ("FrameSelected") + FrameSelectedNameCommand; + +nameCommand + -annotation "LookAtSelectionNameCommand" + -sourceType "mel" + -command ("LookAtSelection") + LookAtSelectionNameCommand; + +nameCommand + -annotation "SelectEdgeMaskNameCommand" + -sourceType "mel" + -command ("SelectEdgeMask") + SelectEdgeMaskNameCommand; + +nameCommand + -annotation "SelectFacetMaskNameCommand" + -sourceType "mel" + -command ("SelectFacetMask") + SelectFacetMaskNameCommand; + +nameCommand + -annotation "ArtPaintSelectToolNameCommand" + -sourceType "mel" + -command ("ArtPaintSelectTool") + ArtPaintSelectToolNameCommand; + +nameCommand + -annotation "CreatePolygonCubeNameCommand" + -sourceType "mel" + -command ("CreatePolygonCube") + CreatePolygonCubeNameCommand; + +nameCommand + -annotation "ExtrudeFaceNameCommand" + -sourceType "mel" + -command ("ExtrudeFace") + ExtrudeFaceNameCommand; + +nameCommand + -annotation "ModifyUpperRadiusPressNameCommand" + -sourceType "mel" + -command ("ModifyUpperRadiusPress") + ModifyUpperRadiusPressNameCommand; + +nameCommand + -annotation "ModifyUpperRadiusReleaseNameCommand" + -sourceType "mel" + -command ("ModifyUpperRadiusRelease") + ModifyUpperRadiusReleaseNameCommand; + +nameCommand + -annotation "BevelPolygonNameCommand" + -sourceType "mel" + -command ("BevelPolygon") + BevelPolygonNameCommand; + +nameCommand + -annotation "BevelPolygonOptionsNameCommand" + -sourceType "mel" + -command ("BevelPolygonOptions") + BevelPolygonOptionsNameCommand; + +nameCommand + -annotation "ExtrudeFaceOptionsNameCommand" + -sourceType "mel" + -command ("ExtrudeFaceOptions") + ExtrudeFaceOptionsNameCommand; + +nameCommand + -annotation "PolyFromVertsNameCommand" + -sourceType "mel" + -command ("PolyFromVerts") + PolyFromVertsNameCommand; + +nameCommand + -annotation "ConvertSelectionToContainedFacesNameCommand" + -sourceType "mel" + -command ("ConvertSelectionToContainedFaces") + ConvertSelectionToContainedFacesNameCommand; + +nameCommand + -annotation "ConvertSelectionToContainedEdgesNameCommand" + -sourceType "mel" + -command ("ConvertSelectionToContainedEdges") + ConvertSelectionToContainedEdgesNameCommand; + +nameCommand + -annotation "SlideEdgeNameCommand" + -sourceType "mel" + -command ("SlideEdge") + SlideEdgeNameCommand; + +nameCommand + -annotation "SplitPolygonToolNameCommand" + -sourceType "mel" + -command ("SplitPolygonTool") + SplitPolygonToolNameCommand; + +nameCommand + -annotation "SplitEdgeRingToolNameCommand" + -sourceType "mel" + -command ("SplitEdgeRingTool") + SplitEdgeRingToolNameCommand; + +nameCommand + -annotation "AverageVertexNameCommand" + -sourceType "mel" + -command ("AverageVertex") + AverageVertexNameCommand; + +nameCommand + -annotation "cpsToggleProxyVisibilityNameCommand" + -sourceType "mel" + -command ("cpsToggleProxyVisibility") + cpsToggleProxyVisibilityNameCommand; + +nameCommand + -annotation "cpsToggleBaseShadingNameCommand" + -sourceType "mel" + -command ("cpsToggleBaseShading") + cpsToggleBaseShadingNameCommand; + +nameCommand + -annotation "cameraFrontViewNameCommand" + -sourceType "mel" + -command ("cameraFrontView") + cameraFrontViewNameCommand; + +nameCommand + -annotation "cameraTopViewNameCommand" + -sourceType "mel" + -command ("cameraTopView") + cameraTopViewNameCommand; + +nameCommand + -annotation "cameraRightSideViewNameCommand" + -sourceType "mel" + -command ("cameraRightSideView") + cameraRightSideViewNameCommand; + +nameCommand + -annotation "cameraLeftSideViewNameCommand" + -sourceType "mel" + -command ("cameraLeftSideView") + cameraLeftSideViewNameCommand; + +nameCommand + -annotation "cameraBottomViewNameCommand" + -sourceType "mel" + -command ("cameraBottomView") + cameraBottomViewNameCommand; + +nameCommand + -annotation "cameraRearViewNameCommand" + -sourceType "mel" + -command ("cameraRearView") + cameraRearViewNameCommand; + +nameCommand + -annotation "cameraPerspViewNameCommand" + -sourceType "mel" + -command ("cameraPerspView") + cameraPerspViewNameCommand; + +nameCommand + -annotation "DisplayWireframeNameCommand" + -sourceType "mel" + -command ("DisplayWireframe") + DisplayWireframeNameCommand; + +nameCommand + -annotation "DisplayShadedNameCommand" + -sourceType "mel" + -command ("DisplayShaded") + DisplayShadedNameCommand; + +nameCommand + -annotation "DisplaySmoothShadedNameCommand" + -sourceType "mel" + -command ("DisplaySmoothShaded") + DisplaySmoothShadedNameCommand; + +nameCommand + -annotation "xRayToggleNameCommand" + -sourceType "mel" + -command ("xRayToggle") + xRayToggleNameCommand; + +nameCommand + -annotation "displayFlatShadedNameCommand" + -sourceType "mel" + -command ("displayFlatShaded") + displayFlatShadedNameCommand; + +nameCommand + -annotation "SelectEdgeLoopNameCommand" + -sourceType "mel" + -command ("SelectEdgeLoop") + SelectEdgeLoopNameCommand; + +nameCommand + -annotation "SelectEdgeRingNameCommand" + -sourceType "mel" + -command ("SelectEdgeRing") + SelectEdgeRingNameCommand; + +nameCommand + -annotation "selectAllNameCommand" + -sourceType "mel" + -command ("selectAll") + selectAllNameCommand; + +nameCommand + -annotation "deselectAllNameCommand" + -sourceType "mel" + -command ("deselectAll") + deselectAllNameCommand; + +nameCommand + -annotation "RepeatLastNameCommand" + -sourceType "mel" + -command ("RepeatLast") + RepeatLastNameCommand; + +nameCommand + -annotation "cpsToggleProxyEditableNameCommand" + -sourceType "mel" + -command ("cpsToggleProxyEditable") + cpsToggleProxyEditableNameCommand; + +nameCommand + -annotation "cpsToggleSubdivisionNameCommand" + -sourceType "mel" + -command ("cpsToggleSubdivision") + cpsToggleSubdivisionNameCommand; + +nameCommand + -annotation "componentTransformManipulatorNameCommand" + -sourceType "mel" + -command ("componentTransformManipulator") + componentTransformManipulatorNameCommand; + +nameCommand + -annotation "HideSelectedObjectsNameCommand" + -sourceType "mel" + -command ("HideSelectedObjects") + HideSelectedObjectsNameCommand; + +nameCommand + -annotation "ShowAllNameCommand" + -sourceType "mel" + -command ("ShowAll") + ShowAllNameCommand; + +nameCommand + -annotation "localToolsNameCommand" + -sourceType "mel" + -command ("localTools") + localToolsNameCommand; + +nameCommand + -annotation "ConnectNameCommand" + -sourceType "mel" + -command ("Connect") + ConnectNameCommand; + +nameCommand + -annotation "convertToVertsAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToVertsAndChangeSelectionMode") + convertToVertsAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "convertToEdgesAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToEdgesAndChangeSelectionMode") + convertToEdgesAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "convertToFacesAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToFacesAndChangeSelectionMode") + convertToFacesAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "convertToContainedEdgesAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToContainedEdgesAndChangeSelectionMode") + convertToContainedEdgesAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "convertToContainedFacesAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToContainedFacesAndChangeSelectionMode") + convertToContainedFacesAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "HKMagnetToolsUndoNameCommand" + -sourceType "mel" + -command ("HKMagnetToolsUndo") + HKMagnetToolsUndoNameCommand; + +nameCommand + -annotation "SnapToGridNameCommand" + -sourceType "mel" + -command ("SnapToGrid") + SnapToGridNameCommand; + +nameCommand + -annotation "AttributeEditorNameCommand" + -sourceType "mel" + -command ("AttributeEditor") + AttributeEditorNameCommand; + +nameCommand + -annotation "MovePolygonComponentNameCommand" + -sourceType "mel" + -command ("MovePolygonComponent") + MovePolygonComponentNameCommand; + +nameCommand + -annotation "DuplicateNameCommand" + -sourceType "mel" + -command ("Duplicate") + DuplicateNameCommand; + +nameCommand + -annotation "CreateUnitCubeNameCommand" + -sourceType "mel" + -command ("CreateUnitCube") + CreateUnitCubeNameCommand; + +nameCommand + -annotation "DecreaseManipulatorSizeNameCommand" + -sourceType "mel" + -command ("DecreaseManipulatorSize") + DecreaseManipulatorSizeNameCommand; + +nameCommand + -annotation "DisplayShadedAndTexturedNameCommand" + -sourceType "mel" + -command ("DisplayShadedAndTextured") + DisplayShadedAndTexturedNameCommand; + +nameCommand + -annotation "PickWalkUpNameCommand" + -sourceType "mel" + -command ("PickWalkUp") + PickWalkUpNameCommand; + +nameCommand + -annotation "PickWalkDownNameCommand" + -sourceType "mel" + -command ("PickWalkDown") + PickWalkDownNameCommand; + +nameCommand + -annotation "PickWalkLeftNameCommand" + -sourceType "mel" + -command ("PickWalkLeft") + PickWalkLeftNameCommand; + +nameCommand + -annotation "PickWalkRightNameCommand" + -sourceType "mel" + -command ("PickWalkRight") + PickWalkRightNameCommand; + +nameCommand + -annotation "PreviousFrameNameCommand" + -sourceType "mel" + -command ("PreviousFrame") + PreviousFrameNameCommand; + +nameCommand + -annotation "NextFrameNameCommand" + -sourceType "mel" + -command ("NextFrame") + NextFrameNameCommand; + +nameCommand + -annotation "PlaybackToggleNameCommand" + -sourceType "mel" + -command ("PlaybackToggle") + PlaybackToggleNameCommand; + +nameCommand + -annotation "PlaybackBackwardNameCommand" + -sourceType "mel" + -command ("PlaybackBackward") + PlaybackBackwardNameCommand; + +nameCommand + -annotation "PlaybackStopNameCommand" + -sourceType "mel" + -command ("PlaybackStop") + PlaybackStopNameCommand; + +nameCommand + -annotation "GraphEditorNameCommand" + -sourceType "mel" + -command ("GraphEditor") + GraphEditorNameCommand; + +nameCommand + -annotation "SetKeyNameCommand" + -sourceType "mel" + -command ("SetKey") + SetKeyNameCommand; + +nameCommand + -annotation "SelectAllNameCommand" + -sourceType "mel" + -command ("SelectAll") + SelectAllNameCommand; + +nameCommand + -annotation "PlaybackForwardNameCommand" + -sourceType "mel" + -command ("PlaybackForward") + PlaybackForwardNameCommand; + +nameCommand + -annotation "PreviousKeyNameCommand" + -sourceType "mel" + -command ("PreviousKey") + PreviousKeyNameCommand; + +nameCommand + -annotation "NextKeyNameCommand" + -sourceType "mel" + -command ("NextKey") + NextKeyNameCommand; + +nameCommand + -annotation "BreakTangentsNameCommand" + -sourceType "mel" + -command ("BreakTangents") + BreakTangentsNameCommand; + +nameCommand + -annotation "AddKeyNameCommand" + -sourceType "mel" + -command ("AddKey") + AddKeyNameCommand; + +nameCommand + -annotation "GimbalNameCommand" + -sourceType "mel" + -command ("Gimbal") + GimbalNameCommand; + +nameCommand + -annotation "Gimbal_RotateNameCommand" + -sourceType "mel" + -command ("Gimbal_Rotate") + Gimbal_RotateNameCommand; + +nameCommand + -annotation "Local_RotateNameCommand" + -sourceType "mel" + -command ("Local_Rotate") + Local_RotateNameCommand; + +nameCommand + -annotation "Gimbal_RotationNameCommand" + -sourceType "mel" + -command ("Gimbal_Rotation") + Gimbal_RotationNameCommand; + +nameCommand + -annotation "Local_RotationNameCommand" + -sourceType "mel" + -command ("Local_Rotation") + Local_RotationNameCommand; + +nameCommand + -annotation "Break_TangentNameCommand" + -sourceType "mel" + -command ("Break_Tangent") + Break_TangentNameCommand; + +nameCommand + -annotation "Copy_Key_GraphEditorNameCommand" + -sourceType "mel" + -command ("Copy_Key_GraphEditor") + Copy_Key_GraphEditorNameCommand; + +nameCommand + -annotation "Paste_Key_GraphEditorNameCommand" + -sourceType "mel" + -command ("Paste_Key_GraphEditor") + Paste_Key_GraphEditorNameCommand; + +nameCommand + -annotation "Play_FWDNameCommand" + -sourceType "mel" + -command ("Play_FWD") + Play_FWDNameCommand; + +nameCommand + -annotation "CopyKeyNameCommand" + -sourceType "mel" + -command ("CopyKey") + CopyKeyNameCommand; + +nameCommand + -annotation "PasteKeyNameCommand" + -sourceType "mel" + -command ("PasteKey") + PasteKeyNameCommand; + +nameCommand + -annotation "CopyKeyTimeSliderNameCommand" + -sourceType "mel" + -command ("CopyKeyTimeSlider") + CopyKeyTimeSliderNameCommand; + +nameCommand + -annotation "PasteKeyTimeSliderNameCommand" + -sourceType "mel" + -command ("PasteKeyTimeSlider") + PasteKeyTimeSliderNameCommand; + +nameCommand + -annotation "ScreenLargeNameCommand" + -sourceType "mel" + -command ("ScreenLarge") + ScreenLargeNameCommand; + +nameCommand + -annotation "TranslateObjectNameCommand" + -sourceType "mel" + -command ("TranslateObject") + TranslateObjectNameCommand; + +nameCommand + -annotation "TranslateWorldNameCommand" + -sourceType "mel" + -command ("TranslateWorld") + TranslateWorldNameCommand; + +nameCommand + -annotation "Head_TrailNameCommand" + -sourceType "mel" + -command ("Head_Trail") + Head_TrailNameCommand; + +nameCommand + -annotation "PlayblastOptionsNameCommand" + -sourceType "mel" + -command ("PlayblastOptions") + PlayblastOptionsNameCommand; + +nameCommand + -annotation "PlayblastWindowNameCommand" + -sourceType "mel" + -command ("PlayblastWindow") + PlayblastWindowNameCommand; + +nameCommand + -annotation "WeightTangentNameCommand" + -sourceType "mel" + -command ("WeightTangent") + WeightTangentNameCommand; + +nameCommand + -annotation "LockTangentNameCommand" + -sourceType "mel" + -command ("LockTangent") + LockTangentNameCommand; + +nameCommand + -annotation "BreakTangntNameCommand" + -sourceType "mel" + -command ("BreakTangnt") + BreakTangntNameCommand; + +nameCommand + -annotation "TangentsFlatNameCommand" + -sourceType "mel" + -command ("TangentsFlat") + TangentsFlatNameCommand; + +nameCommand + -annotation "CopyKeysNameCommand" + -sourceType "mel" + -command ("CopyKeys") + CopyKeysNameCommand; + +nameCommand + -annotation "PasteKeysNameCommand" + -sourceType "mel" + -command ("PasteKeys") + PasteKeysNameCommand; + +nameCommand + -annotation "copyKey_GraphEdNameCommand" + -sourceType "mel" + -command ("copyKey_GraphEd") + copyKey_GraphEdNameCommand; + +nameCommand + -annotation "SnapPointToPointNameCommand" + -sourceType "mel" + -command ("SnapPointToPoint") + SnapPointToPointNameCommand; + +nameCommand + -annotation "SnapToPointNameCommand" + -sourceType "mel" + -command ("SnapToPoint") + SnapToPointNameCommand; + +nameCommand + -annotation "paste_keyNameCommand" + -sourceType "mel" + -command ("paste_key") + paste_keyNameCommand; + +nameCommand + -annotation "DeleteKeyNameCommand" + -sourceType "mel" + -command ("DeleteKey") + DeleteKeyNameCommand; + +nameCommand + -annotation "DeleteTimeSliderKeyNameCommand" + -sourceType "mel" + -command ("DeleteTimeSliderKey") + DeleteTimeSliderKeyNameCommand; + +nameCommand + -annotation "GraphCenterCurrentTimeNameCommand" + -sourceType "mel" + -command ("GraphCenterCurrentTime") + GraphCenterCurrentTimeNameCommand; + +nameCommand + -annotation "ChannelBoxNameCommand" + -sourceType "mel" + -command ("ChannelBox") + ChannelBoxNameCommand; + +nameCommand + -annotation "ToggleControlBoxesNameCommand" + -sourceType "mel" + -command ("ToggleControlBoxes") + ToggleControlBoxesNameCommand; + +nameCommand + -annotation "TangentsSplineNameCommand" + -sourceType "mel" + -command ("TangentsSpline") + TangentsSplineNameCommand; + +nameCommand + -annotation "TimeSlider_Flat_TangentNameCommand" + -sourceType "mel" + -command ("TimeSlider_Flat_Tangent") + TimeSlider_Flat_TangentNameCommand; + +nameCommand + -annotation "UnifyTangentsNameCommand" + -sourceType "mel" + -command ("UnifyTangents") + UnifyTangentsNameCommand; + +nameCommand + -annotation "FreeTangentWeightNameCommand" + -sourceType "mel" + -command ("FreeTangentWeight") + FreeTangentWeightNameCommand; + +nameCommand + -annotation "AnimConv_AutoTangentNameCommand" + -sourceType "mel" + -command ("AnimConv_AutoTangent") + AnimConv_AutoTangentNameCommand; + +nameCommand + -annotation "AnimConvergeNameCommand" + -sourceType "mel" + -command ("AnimConverge") + AnimConvergeNameCommand; + +nameCommand + -annotation "ToggleChannelBoxNameCommand" + -sourceType "mel" + -command ("ToggleChannelBox") + ToggleChannelBoxNameCommand; + +nameCommand + -annotation "HideNURBSCurvesNameCommand" + -sourceType "mel" + -command ("HideNURBSCurves") + HideNURBSCurvesNameCommand; + +nameCommand + -annotation "ShowNURBSCurvesNameCommand" + -sourceType "mel" + -command ("ShowNURBSCurves") + ShowNURBSCurvesNameCommand; + +nameCommand + -annotation "ChannelBox_ToggleNameCommand" + -sourceType "mel" + -command ("ChannelBox_Toggle") + ChannelBox_ToggleNameCommand; + +nameCommand + -annotation "LocalRotateNameCommand" + -sourceType "mel" + -command ("LocalRotate") + LocalRotateNameCommand; + +nameCommand + -annotation "GimbalRotateNameCommand" + -sourceType "mel" + -command ("GimbalRotate") + GimbalRotateNameCommand; + +nameCommand + -annotation "Translate_WorldNameCommand" + -sourceType "mel" + -command ("Translate_World") + Translate_WorldNameCommand; + +nameCommand + -annotation "Translate_ObjectNameCommand" + -sourceType "mel" + -command ("Translate_Object") + Translate_ObjectNameCommand; + +nameCommand + -annotation "FilterCurvesNameCommand" + -sourceType "mel" + -command ("FilterCurves") + FilterCurvesNameCommand; + +nameCommand + -annotation "Nudge_FwdNameCommand" + -sourceType "mel" + -command ("Nudge_Fwd") + Nudge_FwdNameCommand; + +nameCommand + -annotation "Nudge_BkwdNameCommand" + -sourceType "mel" + -command ("Nudge_Bkwd") + Nudge_BkwdNameCommand; + +nameCommand + -annotation "Nudge_DnNameCommand" + -sourceType "mel" + -command ("Nudge_Dn") + Nudge_DnNameCommand; + +nameCommand + -annotation "Nudge_UpNameCommand" + -sourceType "mel" + -command ("Nudge_Up") + Nudge_UpNameCommand; + +nameCommand + -annotation "XrayNameCommand" + -sourceType "mel" + -command ("Xray") + XrayNameCommand; + +nameCommand + -annotation "WeightedFreeTangentsNameCommand" + -sourceType "mel" + -command ("WeightedFreeTangents") + WeightedFreeTangentsNameCommand; + +nameCommand + -annotation "MotionTrailNameCommand" + -sourceType "mel" + -command ("MotionTrail") + MotionTrailNameCommand; + +nameCommand + -annotation "Translate_LocalNameCommand" + -sourceType "mel" + -command ("Translate_Local") + Translate_LocalNameCommand; + +nameCommand + -annotation "DeleteTimeSlideKeyNameCommand" + -sourceType "mel" + -command ("DeleteTimeSlideKey") + DeleteTimeSlideKeyNameCommand; + +nameCommand + -annotation "LoadAnimationHotkeysNameCommand" + -sourceType "mel" + -command ("LoadAnimationHotkeys") + LoadAnimationHotkeysNameCommand; + +nameCommand + -annotation "LoadModelingHotkeysNameCommand" + -sourceType "mel" + -command ("LoadModelingHotkeys") + LoadModelingHotkeysNameCommand; + +nameCommand + -annotation "ToggleUnifyBreakKeyTangentsNameCommand" + -sourceType "mel" + -command ("ToggleUnifyBreakKeyTangents") + ToggleUnifyBreakKeyTangentsNameCommand; + +nameCommand + -annotation "AutoTangentCommandNameCommand" + -sourceType "mel" + -command ("AutoTangentCommand") + AutoTangentCommandNameCommand; + +nameCommand + -annotation "TangentsLinearNameCommand" + -sourceType "mel" + -command ("TangentsLinear") + TangentsLinearNameCommand; + +nameCommand + -annotation "InTangentSplineNameCommand" + -sourceType "mel" + -command ("InTangentSpline") + InTangentSplineNameCommand; + +nameCommand + -annotation "TangentsSteppedNameCommand" + -sourceType "mel" + -command ("TangentsStepped") + TangentsSteppedNameCommand; + +nameCommand + -annotation "FramePlaybackRangeInGraphEditorNameCommand" + -sourceType "mel" + -command ("FramePlaybackRangeInGraphEditor") + FramePlaybackRangeInGraphEditorNameCommand; + +nameCommand + -annotation "ViewImageNameCommand" + -sourceType "mel" + -command ("ViewImage") + ViewImageNameCommand; + +nameCommand + -annotation "SaveAnimationHotkeysNameCommand" + -sourceType "mel" + -command ("SaveAnimationHotkeys") + SaveAnimationHotkeysNameCommand; + +nameCommand + -annotation "SaveModelingHotkeysNameCommand" + -sourceType "mel" + -command ("SaveModelingHotkeys") + SaveModelingHotkeysNameCommand; + +nameCommand + -annotation "defaultTangentsSplineNameCommand" + -sourceType "mel" + -command ("defaultTangentsSpline") + defaultTangentsSplineNameCommand; + +nameCommand + -annotation "defaultTangentsLinearNameCommand" + -sourceType "mel" + -command ("defaultTangentsLinear") + defaultTangentsLinearNameCommand; + +nameCommand + -annotation "defaultTangentsSteppedNameCommand" + -sourceType "mel" + -command ("defaultTangentsStepped") + defaultTangentsSteppedNameCommand; + +nameCommand + -annotation "LoadThierryHotkeysNameCommand" + -sourceType "mel" + -command ("LoadThierryHotkeys") + LoadThierryHotkeysNameCommand; + +nameCommand + -annotation "AddInbetweenNameCommand" + -sourceType "mel" + -command ("AddInbetween") + AddInbetweenNameCommand; + +nameCommand + -annotation "RemoveInbetweenNameCommand" + -sourceType "mel" + -command ("RemoveInbetween") + RemoveInbetweenNameCommand; + +nameCommand + -annotation "defaultTangentsFlatNameCommand" + -sourceType "mel" + -command ("defaultTangentsFlat") + defaultTangentsFlatNameCommand; + +nameCommand + -annotation "ParentNameCommand" + -sourceType "mel" + -command ("Parent") + ParentNameCommand; + +nameCommand + -annotation "UnparentNameCommand" + -sourceType "mel" + -command ("Unparent") + UnparentNameCommand; + +nameCommand + -annotation "defaultTangentsPlateauNameCommand" + -sourceType "mel" + -command ("defaultTangentsPlateau") + defaultTangentsPlateauNameCommand; + +nameCommand + -annotation "TangentsPlateauNameCommand" + -sourceType "mel" + -command ("TangentsPlateau") + TangentsPlateauNameCommand; + +nameCommand + -annotation "defaultTangentsClampedNameCommand" + -sourceType "mel" + -command ("defaultTangentsClamped") + defaultTangentsClampedNameCommand; + +nameCommand + -annotation "TangentsClampedNameCommand" + -sourceType "mel" + -command ("TangentsClamped") + TangentsClampedNameCommand; + +nameCommand + -annotation "ShowSelectedObjectsNameCommand" + -sourceType "mel" + -command ("ShowSelectedObjects") + ShowSelectedObjectsNameCommand; + +nameCommand + -annotation "PreviousKeyframeNoUpdateNameCommand" + -sourceType "mel" + -command ("PreviousKeyframeNoUpdate") + PreviousKeyframeNoUpdateNameCommand; + +nameCommand + -annotation "NextKeyframeNoUpdateNameCommand" + -sourceType "mel" + -command ("NextKeyframeNoUpdate") + NextKeyframeNoUpdateNameCommand; + +nameCommand + -annotation "ToggleLockedKeyTangentWeightsNameCommand" + -sourceType "mel" + -command ("ToggleLockedKeyTangentWeights") + ToggleLockedKeyTangentWeightsNameCommand; + +nameCommand + -annotation "AutoTangentSoftCommandNameCommand" + -sourceType "mel" + -command ("AutoTangentSoftCommand") + AutoTangentSoftCommandNameCommand; + +nameCommand + -annotation "extrudeComponentNameCommand" + -sourceType "mel" + -command ("extrudeComponent") + extrudeComponentNameCommand; + +nameCommand + -annotation "HypershadeWindowNameCommand" + -sourceType "mel" + -command ("HypershadeWindow") + HypershadeWindowNameCommand; + +nameCommand + -annotation "SelectUVMaskNameCommand" + -sourceType "mel" + -command ("SelectUVMask") + SelectUVMaskNameCommand; + +nameCommand + -annotation "ToggleVertexNormalDisplayNameCommand" + -sourceType "mel" + -command ("ToggleVertexNormalDisplay") + ToggleVertexNormalDisplayNameCommand; + +nameCommand + -annotation "ToggleFaceNormalDisplayNameCommand" + -sourceType "mel" + -command ("ToggleFaceNormalDisplay") + ToggleFaceNormalDisplayNameCommand; + +nameCommand + -annotation "LoadDefaultHotkeysNameCommand" + -sourceType "mel" + -command ("LoadDefaultHotkeys") + LoadDefaultHotkeysNameCommand; + +nameCommand + -annotation "SaveThierryHotkeysNameCommand" + -sourceType "mel" + -command ("SaveThierryHotkeys") + SaveThierryHotkeysNameCommand; + +nameCommand + -annotation "SaveHotkeysDummyNameCommand" + -sourceType "mel" + -command ("SaveHotkeysDummy") + SaveHotkeysDummyNameCommand; + +nameCommand + -annotation "AppendToPolygonToolNameCommand" + -sourceType "mel" + -command ("AppendToPolygonTool") + AppendToPolygonToolNameCommand; + +nameCommand + -annotation "PolyMergeNameCommand" + -sourceType "mel" + -command ("PolyMerge") + PolyMergeNameCommand; + +nameCommand + -annotation "FillHoleNameCommand" + -sourceType "mel" + -command ("FillHole") + FillHoleNameCommand; + +nameCommand + -annotation "convertToUVsAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToUVsAndChangeSelectionMode") + convertToUVsAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "DisplaySmoothShadedNoTextureNameCommand" + -sourceType "mel" + -command ("DisplaySmoothShadedNoTexture") + DisplaySmoothShadedNoTextureNameCommand; + +nameCommand + -annotation "TextureViewWindowNameCommand" + -sourceType "mel" + -command ("TextureViewWindow") + TextureViewWindowNameCommand; + +nameCommand + -annotation "PMP_hideUnselectedCommandNameCommand" + -sourceType "mel" + -command ("PMP_hideUnselectedCommand") + PMP_hideUnselectedCommandNameCommand; + +nameCommand + -annotation "bridgeFacesCommandNameCommand" + -sourceType "mel" + -command ("bridgeFacesCommand") + bridgeFacesCommandNameCommand; + +nameCommand + -annotation "OutlinerWindowNameCommand" + -sourceType "mel" + -command ("OutlinerWindow") + OutlinerWindowNameCommand; + +nameCommand + -annotation "convertToUVShellAndChangeSelectionModeNameCommand" + -sourceType "mel" + -command ("convertToUVShellAndChangeSelectionMode") + convertToUVShellAndChangeSelectionModeNameCommand; + +nameCommand + -annotation "ConnectionEditorNameCommand" + -sourceType "mel" + -command ("ConnectionEditor") + ConnectionEditorNameCommand; + +nameCommand + -annotation "HypergraphDGWindowNameCommand" + -sourceType "mel" + -command ("HypergraphDGWindow") + HypergraphDGWindowNameCommand; + +nameCommand + -annotation "HypergraphHierarchyWindowNameCommand" + -sourceType "mel" + -command ("HypergraphHierarchyWindow") + HypergraphHierarchyWindowNameCommand; + +nameCommand + -annotation "InstanceNameCommand" + -sourceType "mel" + -command ("Instance") + InstanceNameCommand; + +nameCommand + -annotation "UpdatePSDTexturesNameCommand" + -sourceType "mel" + -command ("UpdatePSDTextures") + UpdatePSDTexturesNameCommand; + +nameCommand + -annotation "toggleMayaDisplaySmoothingNameCommand" + -sourceType "mel" + -command ("toggleMayaDisplaySmoothing") + toggleMayaDisplaySmoothingNameCommand; + +nameCommand + -annotation "toggleMayaDisplaySmoothingCageNameCommand" + -sourceType "mel" + -command ("toggleMayaDisplaySmoothingCage") + toggleMayaDisplaySmoothingCageNameCommand; + +nameCommand + -annotation "Add items to 'Down' of selection" + -sourceType "mel" + -command ("PMP_pickWalkAddSelection_Down_RTC") + PMP_pickWalkAddSelection_Down_RTCNameCommand; + +nameCommand + -annotation "Add items to 'Left' of selection" + -sourceType "mel" + -command ("PMP_pickWalkAddSelection_Left_RTC") + PMP_pickWalkAddSelection_Left_RTCNameCommand; + +nameCommand + -annotation "Add items to 'Right' of selection" + -sourceType "mel" + -command ("PMP_pickWalkAddSelection_Right_RTC") + PMP_pickWalkAddSelection_Right_RTCNameCommand; + +nameCommand + -annotation "Add items to 'Up' of selection" + -sourceType "mel" + -command ("PMP_pickWalkAddSelection_Up_RTC") + PMP_pickWalkAddSelection_Up_RTCNameCommand; + +nameCommand + -annotation "SelectNextIntermediatObjectNameCommand" + -sourceType "mel" + -command ("SelectNextIntermediatObject") + SelectNextIntermediatObjectNameCommand; + +nameCommand + -annotation "SelectIsolateNameCommand" + -sourceType "mel" + -command ("SelectIsolate") + SelectIsolateNameCommand; + +nameCommand + -annotation "UngroupNameCommand" + -sourceType "mel" + -command ("Ungroup") + UngroupNameCommand; + +nameCommand + -annotation "walkCamForwardNameCommand" + -sourceType "mel" + -command ("walkCamForward") + walkCamForwardNameCommand; + +nameCommand + -annotation "walkCamBackwardNameCommand" + -sourceType "mel" + -command ("walkCamBackward") + walkCamBackwardNameCommand; + +nameCommand + -annotation "walkCamLeftNameCommand" + -sourceType "mel" + -command ("walkCamLeft") + walkCamLeftNameCommand; + +nameCommand + -annotation "walkCamRightNameCommand" + -sourceType "mel" + -command ("walkCamRight") + walkCamRightNameCommand; + +nameCommand + -annotation "walkCamStopNameCommand" + -sourceType "mel" + -command ("walkCamStop") + walkCamStopNameCommand; + +nameCommand + -annotation "UndoNameCommand" + -sourceType "mel" + -command ("Undo") + UndoNameCommand; + +nameCommand + -annotation "SlideEdgeToolNameCommand" + -sourceType "mel" + -command ("SlideEdgeTool") + SlideEdgeToolNameCommand; + +nameCommand + -annotation "ParentRelativeNameCommand" + -sourceType "mel" + -command ("ParentRelative") + ParentRelativeNameCommand; + +nameCommand + -annotation "InvertSelectionNameCommand" + -sourceType "mel" + -command ("InvertSelection") + InvertSelectionNameCommand; + +nameCommand + -annotation "BridgeEdgeNameCommand" + -sourceType "mel" + -command ("BridgeEdge") + BridgeEdgeNameCommand; + +nameCommand + -annotation "toggleSymmetricModelingNameCommand" + -sourceType "mel" + -command ("toggleSymmetricModeling") + toggleSymmetricModelingNameCommand; + +nameCommand + -annotation "toggleSoftSelectionNameCommand" + -sourceType "mel" + -command ("toggleSoftSelection") + toggleSoftSelectionNameCommand; + +nameCommand + -annotation "ModifyLowerRadiusPressNameCommand" + -sourceType "mel" + -command ("ModifyLowerRadiusPress") + ModifyLowerRadiusPressNameCommand; + +nameCommand + -annotation "ModifyLowerRadiusReleaseNameCommand" + -sourceType "mel" + -command ("ModifyLowerRadiusRelease") + ModifyLowerRadiusReleaseNameCommand; + +nameCommand + -annotation "CombinePolygonsNameCommand" + -sourceType "mel" + -command ("CombinePolygons") + CombinePolygonsNameCommand; + +nameCommand + -annotation "SeparatePolygonNameCommand" + -sourceType "mel" + -command ("SeparatePolygon") + SeparatePolygonNameCommand; + +nameCommand + -annotation "PMP_printHi" + -sourceType "mel" + -command ("PMP_printHi") + PMP_printHi; + +nameCommand + -annotation "Loads the 'Default' hotkey set" + -sourceType "mel" + -command ("LoadDefaultHotkeys") + LoadDefaultHotkeys; + +nameCommand + -annotation "Loads the 'Animation' hotkey set" + -sourceType "mel" + -command ("LoadAnimationHotkeys") + LoadAnimationHotkeys; + +nameCommand + -annotation "Loads the 'Modeling' hotkey set" + -sourceType "mel" + -command ("LoadModelingHotkeys") + LoadModelingHotkeys; + +nameCommand + -annotation "Saves the current hotkey set" + -sourceType "mel" + -command ("SaveCurrentHotkeys") + SaveCurrentHotkeys; + +nameCommand + -annotation "displayFlatShadedNoTextureNameCommand" + -sourceType "mel" + -command ("displayFlatShadedNoTexture") + displayFlatShadedNoTextureNameCommand; + +nameCommand + -annotation "displaySmoothShadedNoTextureNameCommand" + -sourceType "mel" + -command ("displaySmoothShadedNoTexture") + displaySmoothShadedNoTextureNameCommand; + +nameCommand + -annotation "Thierry_stickyPreviousFrame_pressNameCommand" + -sourceType "mel" + -command ("Thierry_stickyPreviousFrame_press") + Thierry_stickyPreviousFrame_pressNameCommand; + +nameCommand + -annotation "Thierry_stickyPreviousFrame_releaseNameCommand" + -sourceType "mel" + -command ("Thierry_stickyPreviousFrame_release") + Thierry_stickyPreviousFrame_releaseNameCommand; + +nameCommand + -annotation "Thierry_stickyNextFrame_pressNameCommand" + -sourceType "mel" + -command ("Thierry_stickyNextFrame_press") + Thierry_stickyNextFrame_pressNameCommand; + +nameCommand + -annotation "Thierry_stickyNextFrame_releaseNameCommand" + -sourceType "mel" + -command ("Thierry_stickyNextFrame_release") + Thierry_stickyNextFrame_releaseNameCommand; + +nameCommand + -annotation "SetDrivenKeyOptionsNameCommand" + -sourceType "mel" + -command ("SetDrivenKeyOptions") + SetDrivenKeyOptionsNameCommand; + +nameCommand + -annotation "GraphPasteNameCommand" + -sourceType "mel" + -command ("GraphPaste") + GraphPasteNameCommand; + +nameCommand + -annotation "GraphCopyNameCommand" + -sourceType "mel" + -command ("GraphCopy") + GraphCopyNameCommand; + +nameCommand + -annotation "WorldRotateNameCommand" + -sourceType "mel" + -command ("WorldRotate") + WorldRotateNameCommand; + +nameCommand + -annotation "ModifyDisplacementPressNameCommand" + -sourceType "mel" + -command ("ModifyDisplacementPress") + ModifyDisplacementPressNameCommand; + +nameCommand + -annotation "ModifyDisplacementReleaseNameCommand" + -sourceType "mel" + -command ("ModifyDisplacementRelease") + ModifyDisplacementReleaseNameCommand; + +nameCommand + -annotation "ToggleIsolateSelectNameCommand" + -sourceType "mel" + -command ("ToggleIsolateSelect") + ToggleIsolateSelectNameCommand; + +nameCommand + -annotation "InsertKeyNameCommand" + -sourceType "mel" + -command ("InsertKey") + InsertKeyNameCommand; + +nameCommand + -annotation "pmp_selectionModeEdgeNameCommand" + -sourceType "mel" + -command ("pmp_selectionModeEdge") + pmp_selectionModeEdgeNameCommand; + +nameCommand + -annotation "pmp_selectionModeFaceNameCommand" + -sourceType "mel" + -command ("pmp_selectionModeFace") + pmp_selectionModeFaceNameCommand; + +nameCommand + -annotation "pmp_selectionModeObjectNameCommand" + -sourceType "mel" + -command ("pmp_selectionModeObject") + pmp_selectionModeObjectNameCommand; + +nameCommand + -annotation "pmp_selectionModeVertexNameCommand" + -sourceType "mel" + -command ("pmp_selectionModeVertex") + pmp_selectionModeVertexNameCommand; + +nameCommand + -annotation "LassoToolNameCommand" + -sourceType "mel" + -command ("LassoTool") + LassoToolNameCommand; + +nameCommand + -annotation "selectSurfacesOnNameCommand" + -sourceType "mel" + -command ("selectSurfacesOn") + selectSurfacesOnNameCommand; + +nameCommand + -annotation "selectSurfacesOffNameCommand" + -sourceType "mel" + -command ("selectSurfacesOff") + selectSurfacesOffNameCommand; + +nameCommand + -annotation "ToggleChannelsLayersNameCommand" + -sourceType "mel" + -command ("ToggleChannelsLayers") + ToggleChannelsLayersNameCommand; + +nameCommand + -annotation "ToggleLayerBarNameCommand" + -sourceType "mel" + -command ("ToggleLayerBar") + ToggleLayerBarNameCommand; + diff --git a/2009-x64/prefs/userPrefs.mel b/2009-x64/prefs/userPrefs.mel new file mode 100644 index 0000000..84c312f --- /dev/null +++ b/2009-x64/prefs/userPrefs.mel @@ -0,0 +1,4518 @@ +//Maya Preference 2009 (Release 1) +// +// +keyTangent -global -inTangentType linear -outTangentType linear -weightedTangents true; +constructionHistory -tgl on; + +optionVar -version 3; +optionVar + -sv "" "C:/Graphics/Projects/" + -sv "3DSOptions" "" + -iv "AEpopupWhenCreatingShaders" 1 + -sv "Adobe(R) Illustrator(R)Options" "" + -sv "AgeOM" "age" + -sv "AimAxisOM" "None" + -sv "AimDirectionOM" "velocity" + -sv "AimPositionOM" "None" + -sv "AimUpAxisOM" "None" + -sv "AimWorldUpOM" "None" + -iv "CCchannelNames" 1; +optionVar + -iv "CCkeyAllSame" 1 + -iv "CClockAllSame" 1 + -iv "CEAutoUpdate" 1 + -iv "CEPrecision" 3 + -iv "CEShowAllCols" 1 + -iv "CEShowPathName" 1 + -iv "CESortAlpha" 1 + -iv "CEoperationType" 6 + -sv "CSB_DCOptions" "" + -sv "CreateNurbsCircleCtx" "createNurbsCircleCtx -e -image1 \"circle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -normalType 3\n-normal 0 0 1 -sweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-attachToSections 1\n-doDragEdit 0\nCreateNurbsCircleCtx"; +optionVar + -sv "CreateNurbsConeCtx" "createNurbsConeCtx -e -image1 \"cone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 8\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 1\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-height 0\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsConeCtx" + -sv "CreateNurbsCubeCtx" "createNurbsCubeCtx -e -image1 \"cube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 0\n-depth 0\n-height 0\n-attachToPatchesU 0\n-attachToPatchesV 0\n-doDragEdit 0\nCreateNurbsCubeCtx" + -sv "CreateNurbsCylinderCtx" "createNurbsCylinderCtx -e -image1 \"cylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 12\n-spans 50\n-axisType 1\n-axis 1 0 0 -surfaceDegree 3\n-caps 3\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-height 250\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsCylinderCtx" + -sv "CreateNurbsPlaneCtx" "createNurbsPlaneCtx -e -image1 \"plane.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 0\n-height 0\n-attachToPatchesU 0\n-attachToPatchesV 0\n-doDragEdit 0\nCreateNurbsPlaneCtx" + -sv "CreateNurbsSphereCtx" "createNurbsSphereCtx -e -image1 \"sphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axisType 2\n-axis 0 1 0 -startSweep 0\n-endSweep 180\n-degree 3\n-useTolerance 0\n-sections 8\n-spans 4\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsSphereCtx" + -sv "CreateNurbsSquareCtx" "createNurbsSquareCtx -e -image1 \"square.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 0\n-height 0\n-attachToSpans 0\n-doDragEdit 0\nCreateNurbsSquareCtx" + -sv "CreateNurbsTorusCtx" "createNurbsTorusCtx -e -image1 \"torus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-minorSweep 360\n-minorRadius 0.5\n-sections 8\n-spans 4\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-attachToSections 0\n-attachToSpans 0\n-attachToHeightRatio 0\n-doDragEdit 0\nCreateNurbsTorusCtx" + -sv "CreatePolyConeCtx" "createPolyConeCtx -e -image1 \"polyCone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 1\n-subdivisionsDepth 0\n-radius 0\n-height 0\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyConeCtx" + -sv "CreatePolyCubeCtx" "createPolyCubeCtx -e -image1 \"polyCube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-subdivisionsDepth 1\n-width 0\n-depth 0\n-height 0\n-createUVs 4\n-attachToSubdivisionsDepth 0\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsWidth 0\n-attachToSubdivisionsAll 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCubeCtx" + -sv "CreatePolyCylinderCtx" "createPolyCylinderCtx -e -image1 \"polyCylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 16\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 0\n-height 0\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCylinderCtx"; +optionVar + -sv "CreatePolyHelixCtx" "createPolyHelixCtx -e -image1 \"polyHelix.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 8\n-subdivisionsCoil 50\n-subdivisionsCap 0\n-roundCap 0\n-coils 3\n-height 0\n-width 0\n-radius 0\n-direction 1\n-createUVs 3\n-attachToSubdivisionsCoil 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-attachToNumberCoils 0\n-attachToRadius 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyHelixCtx" + -sv "CreatePolyPipeCtx" "createPolyPipeCtx -e -image1 \"polyPipe.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 0\n-height 0\n-thickness 0\n-roundCap 0\n-createUVs 1\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-attachToThickness 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPipeCtx" + -sv "CreatePolyPlaneCtx" "createPolyPlaneCtx -e -image1 \"polyMesh.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-width 1.63665e-010\n-height 1.22748e-010\n-createUVs 2\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsWidth 0\n-attachToSubdivisionsAll 0\n-axis 2\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlaneCtx" + -sv "CreatePolyPlatonicSolidCtx" "createPolyPlatonicSolidCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 0\n-sideLength 0\n-solidType 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlatonicSolidCtx" + -sv "CreatePolyPrismCtx" "createPolyPrismCtx -e -image1 \"polyPrism.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -numberOfSides 3\n-subdivisionsHeight 1\n-subdivisionsCap 0\n-length 0\n-sideLength 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-attachToNumSides 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPrismCtx" + -sv "CreatePolyPyramidCtx" "createPolyPyramidCtx -e -image1 \"polyPyramid.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsHeight 1\n-subdivisionsDepth 0\n-sideLength 0\n-numberOfSides 4\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPyramidCtx" + -sv "CreatePolySoccerBallCtx" "createPolySoccerBallCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 0\n-sideLength 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySoccerBallCtx" + -sv "CreatePolySphereCtx" "createPolySphereCtx -e -image1 \"polySphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 0\n-createUVs 2\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsAll 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySphereCtx" + -sv "CreatePolyTorusCtx" "createPolyTorusCtx -e -image1 \"polyTorus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 0\n-sectionRadius 0\n-twist 0\n-createUVs 1\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSectionRadius 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyTorusCtx" + -sv "CycleStartObjectOM" "None"; +optionVar + -sv "DAE_FBXOptions" "" + -iv "DAGOpenHyperGraphMode" 0 + -iv "DGOpenHyperGraphMode" 1 + -iv "DUVAntiAlias" 0 + -iv "DUVKeepAspect" 1 + -fv "DUVblue" 0 + -iv "DUVfileFormat" 8 + -fv "DUVgreen" 0 + -fv "DUVred" 1 + -iv "DUVresX" 1024; +optionVar + -iv "DUVresY" 1024 + -sv "DWG_DCOptions" "" + -sv "DXF_DCOptions" "" + -sv "DXF_FBXOptions" "groups=0;ptgroups=0;materials=1;smoothing=0;normals=0" + -iv "EEexprEdTextEditor" 2 + -sv "EPSOptions" "" + -sv "FbxOptions" "" + -iv "HKLTHUDBlock" 9 + -iv "HKLTOrientationOnlyOpVar" 0 + -iv "HKLTPivotLockedOpVar" 0; +optionVar + -ca "HKLTPreferedPivot" + -iva "HKLTPreferedPivot" 1 + -iva "HKLTPreferedPivot" 1 + -iva "HKLTPreferedPivot" 1 + -iva "HKLTPreferedPivot" 1 + -iv "HfAssignHDAttach" 1 + -sv "IGES_DCOptions" "" + -sv "IPT_DCOptions" "" + -sv "IV_DCOptions" "" + -iv "LT_replaceInst" 1 + -iv "LT_replaceRotate" 1 + -iv "LT_replaceScale" 1 + -sv "Move" "manipMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 0\n-activeHandle 3\n-orientAxes 0.785398 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\n-tweakMode 0\nMove" + -sv "MoveLimits" "manipMoveLimitsCtx -e -image1 \"moveLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" MoveLimits"; +optionVar + -sv "MoveNormal" "manipMoveContext -e -image1 \"moveNormal.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 3\n-activeHandle 3\n-orientAxes 0.785398 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\n-tweakMode 0\nMoveNormal" + -sv "NParticleStyle" "Cloud" + -sv "OBJOptions" "mo=0" + -sv "OBJexportOptions" "groups=0;ptgroups=0;materials=0;smoothing=0;normals=0" + -sv "OMTLoad_connectComponents" "Load" + -sv "OMTLoad_extrudeComponent" "Load" + -sv "OMTLoad_overshoot" "Load" + -sv "OMTLoad_saveSelectionToggle" "Load" + -sv "OMTLoad_scalePosition" "Load" + -sv "OMTLoad_selectElement" "Load"; +optionVar + -sv "OMTLoad_selectLoop" "Load" + -sv "OMTLoad_selectOutline" "Load" + -sv "OMTLoad_selectRing" "Load" + -sv "OMTLoad_selectionDragger" "Load" + -sv "OMTLoad_spinEdge" "Load" + -sv "OMTLoad_splitAroundSelection" "Load" + -sv "OMTLoad_splitLoop" "Load" + -sv "OMTLoad_toggleSaveSelection" "Load" + -sv "OMTLoad_xrayToggle" "Load" + -sv "OMTSection_connectComponents" "General"; +optionVar + -sv "OMTSection_extrudeComponent" "General" + -sv "OMTSection_overshoot" "General" + -sv "OMTSection_saveSelectionToggle" "General" + -sv "OMTSection_scalePosition" "General" + -sv "OMTSection_selectElement" "General" + -sv "OMTSection_selectLoop" "General" + -sv "OMTSection_selectOutline" "General" + -sv "OMTSection_selectRing" "General" + -sv "OMTSection_selectionDragger" "General" + -sv "OMTSection_spinEdge" "General"; +optionVar + -sv "OMTSection_splitAroundSelection" "General" + -sv "OMTSection_splitLoop" "General" + -sv "OMTSection_toggleSaveSelection" "General" + -sv "OMTSection_xrayToggle" "General" + -sv "OMT_nVectorStyle" "Similiar" + -sv "OMT_ov_overshootSourceType" "Previous Key" + -sv "ObjectIndexOM" "None" + -sv "PIautoCycleOM" "None" + -fv "PIautoCycleStepSize" 1 + -sv "PIautoCycleStepUnitsOM" "Frames"; +optionVar + -iv "PIdisplayAllTypes" 0 + -sv "PIlevelOfDetailOM" "BoundingBoxes" + -sv "PIrotationOrderOM" "XYZ" + -sv "PIrotationUnitsOM" "Degrees" + -ca "PMP_hotkeyManager_allKeysets" + -sva "PMP_hotkeyManager_allKeysets" "Default" + -sva "PMP_hotkeyManager_allKeysets" "Animation" + -sva "PMP_hotkeyManager_allKeysets" "Modeling" + -sva "PMP_hotkeyManager_allKeysets" "SAVE_CURRENT" + -sv "PMP_hotkeyManager_currentKeyset" "Modeling" + -ca "PMP_hotkeyManager_keyset_Animation" + -sva "PMP_hotkeyManager_keyset_Animation" "a" + -sva "PMP_hotkeyManager_keyset_Animation" "CTRL-ALT" + -ca "PMP_hotkeyManager_keyset_Default" + -sva "PMP_hotkeyManager_keyset_Default" "d" + -sva "PMP_hotkeyManager_keyset_Default" "CTRL-ALT" + -ca "PMP_hotkeyManager_keyset_Modeling" + -sva "PMP_hotkeyManager_keyset_Modeling" "m" + -sva "PMP_hotkeyManager_keyset_Modeling" "CTRL-ALT" + -ca "PMP_hotkeyManager_keyset_SAVE_CURRENT" + -sva "PMP_hotkeyManager_keyset_SAVE_CURRENT" "S" + -sva "PMP_hotkeyManager_keyset_SAVE_CURRENT" "CTRL ALT"; +optionVar + -sv "PTC_DCOptions" "" + -iv "PolyBridgeEdgeCurveTypeOption" 0 + -iv "PolyBridgeEdgeDivisionsOption" 5 + -fv "PolyBridgeEdgeSmoothAngleOption" 30 + -fv "PolyBridgeEdgeTaperOption" 1 + -fv "PolyBridgeEdgeTwistOption" 0 + -iv "PolyForceUVCreateMapcamera" 0 + -iv "PolyForceUVCreateMapunitize" 0 + -iv "PolyForceUVFlipDirection" 1 + -iv "PolyForceUVNormalizeCollectiveOrSeparate" 1; +optionVar + -iv "PolyForceUVPreserveAspectRatio" 0 + -sv "PolyForceUVSetNamecamera" "uvSet1" + -sv "PolyForceUVSetNameunitize" "uvSet1" + -iv "PolyForceUVSpace" 1 + -fv "PolySelectEditDuplicateEdgeSmoothAngle" 180 + -iv "PolySelectEditSplitRingAbsolute" 0 + -sv "PolyTexShortestPath" "texSelectShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyTexShortestPath" + -sv "PolyViewPortShortestPath" "polyShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyViewPortShortestPath" + -sv "PositionOM" "worldPosition" + -sv "ProjectsDir" "C:/Graphics/Projects"; +optionVar + -sv "PropMod" "propModCtx -e -image1 \"propMod.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type 1\n-linear -0.1\n-linearParam 0.5 0.5 -powerCutoff 10\n-powerDegree 3\n-direction 1 1 1 -worldspace 1\n-powerCutoffParam 0.5 0.5 -powerDegreeParam 3\n-animCurveFalloff 1 1 PropMod" + -iv "RecentBackupsMaxSize" 10 + -iv "RecentBackupsMaxSizeHold" 10 + -ca "RecentFilesList" + -sva "RecentFilesList" "C:/Documents and Settings/Elrond/Desktop/testSoftIk.mb" + -sva "RecentFilesList" "C:/School/GameProd/TestUnreal/scenes/refCoordMesh_only.mb" + -sva "RecentFilesList" "C:/Documents and Settings/Elrond/Desktop/testSoftIk2.mb" + -sva "RecentFilesList" "C:/Documents and Settings/Elrond/Desktop/testSoftIk3.mb" + -sva "RecentFilesList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes/scenes/edouard_pose_T_nettoye.mb" + -sva "RecentFilesList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/src/model0_body,MeshShape.obj" + -sva "RecentFilesList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes/scenes/edouard_pose_T_nettoye_fixed.mb" + -sva "RecentFilesList" "C:/Documents and Settings/Elrond/Desktop/LaplacianPositiveDefiniteTests.mb" + -sva "RecentFilesList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes/scenes/Goblin_template.mb" + -sva "RecentFilesList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes/scenes/autoRig_test2.mb" + -iv "RecentFilesMaxSize" 10 + -ca "RecentFilesTypeList" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "OBJ" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -ca "RecentProjectsList" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Doghouse" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Lighting_Test" + -sva "RecentProjectsList" "C:/School/T&L1/Environment" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Environment" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Character" + -sva "RecentProjectsList" "C:/Documents and Settings/Paul/Desktop/Test_Project" + -sva "RecentProjectsList" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Brick_Wall" + -sva "RecentProjectsList" "C:/School/Animation 1 take 2/Mr_Pink" + -sva "RecentProjectsList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes" + -iv "RecentProjectsMaxSize" 10 + -iv "RecentProjectsMaxSizeHold" 10 + -sv "Rotate" "manipRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 2\n-activeHandle 1\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 15\n-useObjectPivot 0\n-centerTrackball 1\n-editPivotMode 0\n-tweakMode 0\nRotate"; +optionVar + -sv "RotateLimits" "manipRotateLimitsCtx -e -image1 \"rotateLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" RotateLimits" + -sv "RotationOM" "None" + -sv "RotationTypeOM" "None" + -iv "SDKclearOnLoad" 1 + -iv "SDKselectListItems" 1 + -iv "SDKshowNonKeyable" 0 + -iv "SDKshowShapes" 0 + -sv "STEP_DCOptions" "" + -sv "STL_DCOptions" "" + -sv "SW_DCOptions" ""; +optionVar + -sv "Scale" "manipScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -activeHandle 3\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 1\n-snapValue 0.05\n-useObjectPivot 0\n-editPivotMode 0\nScale" + -sv "ScaleLimits" "manipScaleLimitsCtx -e -image1 \"scaleLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" ScaleLimits" + -sv "ScaleOM" "None" + -ca "ScriptEditorExecuterBackupArray" + -sva "ScriptEditorExecuterBackupArray" "commandExecuter" + -sva "ScriptEditorExecuterBackupArray" "commandExecuter-0" + -ca "ScriptEditorExecuterLabelArray" + -sva "ScriptEditorExecuterLabelArray" "MEL" + -sva "ScriptEditorExecuterLabelArray" "Python" + -sva "ScriptEditorExecuterLabelArray" "Python" + -sva "ScriptEditorExecuterLabelArray" "MEL" + -iv "ScriptEditorExecuterTabIndex" 2 + -ca "ScriptEditorExecuterTypeArray" + -sva "ScriptEditorExecuterTypeArray" "mel" + -sva "ScriptEditorExecuterTypeArray" "python" + -sva "ScriptEditorExecuterTypeArray" "python" + -sva "ScriptEditorExecuterTypeArray" "mel" + -sv "SelectLasso" "lassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\n-fastComponents 1\nSelectLasso" + -sv "ShearOM" "None" + -sv "SoftSelectOptionsContext" "softSelectOptionsCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -enabled 0\n-size 5\n-uvSize 0.5\n-falloffCurve \"0,1,2,1,0,2\" -enableFalseColor 1\n-colorCurve \"1,1,0,1,1,1,0,0,0.5,1,0,0,0,0,1\" -falloffMode 0\nSoftSelectOptionsContext"; +optionVar + -sv "TextureLasso" "textureLassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\nTextureLasso" + -sv "Transform" "srtContext -e -image1 \"srt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" Transform" + -sv "VisibilityOM" "None" + -iv "aTan_flatten" 0 + -fv "aTan_softness" 0 + -iv "acAsWindow" 0 + -iv "acPrefAnnotation" 1 + -iv "acPrefBreakCBtn" 1 + -iv "acPrefDelKBtn" 1 + -iv "acPrefDeleteBtn" 1; +optionVar + -iv "acPrefEditBtn" 1 + -iv "acPrefEnableColorButtons" 0 + -iv "acPrefEnableSliders" 1 + -iv "acPrefFieldSize" 80 + -iv "acPrefInitAnnotation" 0 + -iv "acPrefLabelSize" 140 + -iv "acPrefLockUI" 0 + -iv "acPrefNameStyle" 3 + -iv "acPrefSelectBtn" 1 + -iv "acPrefSetKBtn" 1; +optionVar + -iv "acPrefSliderSize" 160 + -iv "activeObjectPivots" 0 + -iv "aeInMainWindow" 0 + -iv "aimConstMaintainOffset" 0 + -fv "aimConstOffsetX" 0 + -fv "aimConstOffsetY" 0 + -fv "aimConstOffsetZ" 0 + -iv "aimConstraintAddTargets" 1 + -ca "aimConstraintAimVector" + -fva "aimConstraintAimVector" 0 + -fva "aimConstraintAimVector" 0 + -fva "aimConstraintAimVector" -1 + -iv "aimConstraintAxisX" 1; +optionVar + -iv "aimConstraintAxisY" 1 + -iv "aimConstraintAxisZ" 1 + -ca "aimConstraintUpVector" + -fva "aimConstraintUpVector" 0 + -fva "aimConstraintUpVector" 1 + -fva "aimConstraintUpVector" 0 + -fv "aimConstraintWeight" 1 + -sv "aimConstraintWorldUpObject" "" + -sv "aimConstraintWorldUpType" "vector" + -ca "aimConstraintWorldUpVector" + -fva "aimConstraintWorldUpVector" 0 + -fva "aimConstraintWorldUpVector" 1 + -fva "aimConstraintWorldUpVector" 0 + -iv "ajrAS_iEnabled" 0 + -iv "ajrAS_iNotify" 1 + -iv "ajrAS_iSaveCopies" 5; +optionVar + -iv "ajrAS_iSelectTrigger" 15 + -iv "ajrAS_iUseTime" 1 + -sv "ajrAS_sBackupDir" "scenes" + -iv "alignAttach" 0 + -iv "alignCurvature" 0 + -fv "alignCurvatureScale1" 0 + -fv "alignCurvatureScale2" 1 + -iv "alignCurveEuc" 0 + -iv "alignCurveLac" 1 + -iv "alignKeepMultKnots" 1; +optionVar + -iv "alignKeepOriginal" 1 + -iv "alignPositionalType" 4 + -iv "alignSurfaceEuc" 0 + -iv "alignSurfaceLac" 1 + -iv "alignTangent" 1 + -fv "alignTangentScale1" 1 + -fv "alignTangentScale2" 1 + -iv "alignTangentType" 1 + -sv "alignToolCtx" "alignCtx -e -image1 \"alignTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -anchorFirstObject 0\n-showAlignTouch 1\nalignToolCtx" + -iv "alignatl" 0; +optionVar + -iv "alignaxisX" 0 + -iv "alignaxisY" 1 + -iv "alignaxisZ" 0 + -sv "alignmode" "Stack" + -iv "allMainWindowComponentsVisible" 1 + -iv "allowMenusInPanels" 1 + -ca "ambientLightColor" + -fva "ambientLightColor" 1 + -fva "ambientLightColor" 1 + -fva "ambientLightColor" 1 + -fv "ambientLightIntensity" 1 + -fv "ambientLightShade" 0.45 + -ca "ambientLightShadowColor" + -fva "ambientLightShadowColor" 0 + -fva "ambientLightShadowColor" 0 + -fva "ambientLightShadowColor" 0; +optionVar + -iv "ambientLightShadowSamples" 1 + -iv "ambientLightShadows" 0 + -iv "animBlendingOpt" 1 + -iv "animExportAnimationFile" 1 + -sv "animExportOptions" "precision=17;intValue=17;nodeNames=0;verboseUnits=0;whichRange=2;range=0:35;options=keys;hierarchy=none;controlPoints=0;shapes=0;helpPictures=0;useChannelBox=0;copyKeyCmd=-animation objects -time >0:35> -float >0:35> -option keys -hierarchy none -controlPoints 0 -shape 0 " + -sv "animImportOptions" ";targetTime=4;copies=1;option=replace;pictures=0;connect=0;" + -iv "animLayerButtonsOnRight" 0 + -iv "animLayerDefaultPassthroughMode" 1 + -iv "animLayerDefaultRotationMode" 0 + -iv "animLayerDefaultScaleMode" 1; +optionVar + -iv "animLayerFilterActive" 0 + -iv "animLayerFilterOptions" 1 + -iv "animLayerGhostOption" 1 + -iv "animLayerLockCurves" 1 + -iv "animLayerMuteLock" 1 + -iv "animLayerReverseLayerStack" 1 + -iv "animLayerSelectOnCollapse" 1 + -iv "animLayerSelectionKey" 1 + -iv "animateRoll" 1 + -iv "animateRollFitAll" 1; +optionVar + -iv "animateRollGotoBookmark" 1 + -iv "animateRollNextLastCameraView" 1 + -iv "animateRollViewCompass" 1 + -iv "animationDetailsVisibility" 0 + -iv "apiPrefLazyLoading" 0 + -iv "apiPrefOldPluginWarning" 1 + -sv "arcLenDimContext" "arcLenDimContext -e -image1 \"arcLengthDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" arcLenDimContext" + -ca "areaLightColor" + -fva "areaLightColor" 1 + -fva "areaLightColor" 1 + -fva "areaLightColor" 1 + -iv "areaLightDecay" 0 + -fv "areaLightIntensity" 1; +optionVar + -iv "areaLightInteractivePlacement" 0 + -ca "areaLightShadowColor" + -fva "areaLightShadowColor" 0 + -fva "areaLightShadowColor" 0 + -fva "areaLightShadowColor" 0 + -iv "areaLightShadows" 0 + -sv "art3dPaintContext" "art3dPaintCtx -e -image1 \"art3dPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 0\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.05\n-screenRadius 1\n-worldRadius 2.1142\n-lowerradius 0.911839\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 2.1142\n-stampProfile \"gaussian\" -exportfilesizex 256\n-exportfilesizey 256\n-brushtype \"artisanBrush\" -painttxtattr \"Color\" -painttxtattrname \"color\" -alphablendmode \"Default\" -pfxScale 1\n-pfxWidth 0.05\n-pressureMapping1 5\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-filetxtsizex 2048\n-filetxtsizey 2048\n-keepaspectratio 1\n-filetxtaspectratio 1\n-resizeratio 1\n-fileformat \"maya\" -rgbcolor 0.077 0.0301229 0.003003 -rgbflood 0 0 0 -brushdepth 0.1\n-saveonstroke 0\n-saveTextureOnStroke 0\n-extendFillColor 0\n-attrnames \"color transparency incandescence normalCamera specularColor reflectivity ambientColor diffuse translucence reflectedColor displacement\" -floodOpacity 1\nart3dPaintContext" + -sv "artAttrContext" "artAttrCtx -e -image1 \"attrPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 0.216881\n-lowerradius 0.157772\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.216881\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"general\" -selectedattroper \"absolute\" -value 0\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-clamp \"none\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-paintNodeArray \"wire2\" -objattrArray \"wire.wire2.weights.1\" -attrSelected \"wire.wire2.weights\" -colorAlphaValue 0 artAttrContext" + -sv "artPuttyContext" "artPuttyCtx -e -image1 \"putty.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1 -surfaceConformedBrushVertices 0 -record 0 -importreassign 0 -selectclonesource 0 -preserveclonesource 1 -dynclonemode 1 -pickColor 0 -expandfilename 0 -usepressure 1 -reflectionaboutorigin 0 -reflection 0 -projective 0 -showactive 1 -brushfeedback 1 -outwhilepaint 0 -outline 1 -accopacity 1 -brushalignment 1 -exportaspectratio 1 -stampDepth 0.5 -stampSpacing 0.1 -screenRadius 1 -worldRadius 0.4739 -lowerradius 0.419657 -opacity 1 -reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.4739 -stampProfile \"poly\" -exportfilesizex 256 -exportfilesizey 256 -whichTool \"putty\" -selectedattroper \"absolute\" -value 1 -minvalue 0 -maxvalue 1 -clamplower 0 -clampupper 1 -clamp \"none\" -dataTypeIndex 1 -colorfeedback 1 -colorfeedbackOverride 0 -disablelighting 1 -colorrangelower 0 -colorrangeupper 1 -interactiveUpdate 1 -mouldtypemouse \"smooth\" -mouldtypehead \"smooth\" -mouldtypetail \"erase\" -refvector \"normal\" -maxdisp 1 -autosmooth 0 -smoothiters 1 -refsurface 1 -erasesrfupd 0 -invertrefvector 0 -collapsecvtol 0.005 artPuttyContext" + -sv "artSelectContext" "artSelectCtx -e -image1 \"artSelect.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 0\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 5.361624\n-lowerradius 0.0573972\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 5.361624\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-selectop \"select\" -addselection 1\n-importthreshold 0.5\nartSelectContext" + -ca "artlambert1.color" + -fva "artlambert1.color" 0.5 + -fva "artlambert1.color" 0.5 + -fva "artlambert1.color" 0.5 + -fva "artlambert1.color" 1 + -ca "artpaintEffects_body_MAT.color" + -fva "artpaintEffects_body_MAT.color" 0.5 + -fva "artpaintEffects_body_MAT.color" 0.5 + -fva "artpaintEffects_body_MAT.color" 0.5 + -fva "artpaintEffects_body_MAT.color" 1 + -ca "artpaintEffects_head_MAT.color" + -fva "artpaintEffects_head_MAT.color" 0.5 + -fva "artpaintEffects_head_MAT.color" 0.5 + -fva "artpaintEffects_head_MAT.color" 0.5 + -fva "artpaintEffects_head_MAT.color" 1; +optionVar + -fv "attachCrvBlendBias" 0.5 + -iv "attachCrvBlendInsert" 1 + -fv "attachCrvBlendParameter" 0.1 + -iv "attachCrvKeepMultKnots" 1 + -iv "attachCrvKeepOriginal" 0 + -iv "attachCrvMethod" 0 + -iv "attachCurveEuc" 0 + -iv "attachCurveLac" 1 + -iv "attachKeepMultKnots" 1 + -iv "attachKeepOriginal" 1; +optionVar + -fv "attachSrfBlendBias" 0 + -iv "attachSrfBlendInsert" 0 + -fv "attachSrfBlendParameter" 0.5 + -iv "attachSrfMethod" 1 + -iv "attachSurfaceEuc" 0 + -iv "attachSurfaceLac" 1 + -sv "attrEdListType" "auto" + -iv "attrEdPaneRatio" 71 + -sv "audioOptions" "" + -sv "autoKeyCharacterState" "standard"; +optionVar + -iv "autoKeyframeState" 1 + -sv "azimuthElevationContext" "orbitCtx -e -image1 \"azimuthElevation.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Azimuth Elevation Tool\" -orbitScale 1\n-localOrbit 1\nazimuthElevationContext" + -fv "bakeSimulationByTime" 1 + -iv "bakeSimulationControlPoints" 0 + -iv "bakeSimulationDriven" 1 + -sv "bakeSimulationHierarchy" "none" + -iv "bakeSimulationImpCon" 1 + -iv "bakeSimulationPreserveKeys" 1 + -sv "bakeSimulationRange" "0:10" + -iv "bakeSimulationShapes" 0; +optionVar + -iv "bakeSimulationSparseAnimCurve" 0 + -iv "bakeSimulationUseChannelBox" 0 + -iv "bakeSimulationWhichRange" 1 + -iv "batchRenderMessagesVerbosity" 1 + -iv "bevelOutputPolygons" 0 + -iv "bindMethod" 1 + -iv "bindSkinColorJts" 0 + -iv "bindSkinMethod" 1 + -iv "bindSkinTo" 2 + -iv "bindTo" 1; +optionVar + -iv "birail1BlendFirstProfile" 0 + -fv "birail1BlendValue" 0 + -iv "birail1OutputPoly" 0 + -iv "birail1RebuildFirstProfile" 0 + -iv "birail1RebuildFirstRail" 0 + -iv "birail1RebuildLastProfile" 0 + -iv "birail1RebuildLastRail" 0 + -iv "birail1TransformProp" 0 + -iv "birail2BlendFirstProfile" 0 + -iv "birail2BlendLastProfile" 0; +optionVar + -fv "birail2BlendValue" 0.5 + -iv "birail2OutputPoly" 0 + -iv "birail2RebuildFirstProfile" 0 + -iv "birail2RebuildFirstRail" 0 + -iv "birail2RebuildLastProfile" 0 + -iv "birail2RebuildLastRail" 0 + -iv "birail2TransformProp" 1 + -iv "birail3BlendFirstProfile" 0 + -iv "birail3BlendLastProfile" 0 + -fv "birail3BlendValue" 0; +optionVar + -iv "birail3OutputPoly" 0 + -iv "birail3RebuildFirstProfile" 0 + -iv "birail3RebuildFirstRail" 0 + -iv "birail3RebuildLastProfile" 0 + -iv "birail3RebuildLastRail" 0 + -iv "birail3TransformProp" 1 + -iv "birailEuc" 1 + -iv "birailLac" 1 + -iv "blendAutoAnchor" 1 + -iv "blendAutoDirection" 1; +optionVar + -iv "blendCurvesInFirst" 3 + -iv "blendFlipLeft" 0 + -iv "blendFlipRight" 0 + -fv "blendLeftAnchor" 0 + -fv "blendLeftEnd" 1 + -iv "blendLeftReverse" 0 + -fv "blendLeftStart" 0 + -iv "blendMultiKnots" 0 + -iv "blendOutputPoly" 0 + -fv "blendPositionTol" 0.1; +optionVar + -fv "blendRightAnchor" 0 + -fv "blendRightEnd" 1 + -iv "blendRightReverse" 0 + -fv "blendRightStart" 0 + -iv "blendShapeBetween" 0 + -iv "blendShapeDelTgt" 0 + -fv "blendShapeEnv" 1 + -sv "blendShapeExclName" "deformPartition" + -iv "blendShapeExclusive" 0 + -sv "blendShapeNode" ""; +optionVar + -iv "blendShapeOrigin" 1 + -sv "blendShapePositioning" "frontOfChain" + -iv "blendShapeTop" 1 + -fv "blendTangentTol" 0.1 + -iv "blendUseLocalTol" 1 + -iv "bonusToolsMenuToggle" 0 + -iv "booleanEuc0" 0 + -iv "booleanLac0" 1 + -iv "boundaryAutoEdgeCount" 4 + -iv "boundaryEuc" 0; +optionVar + -iv "boundaryInsist" 0 + -iv "boundaryLac" 1 + -iv "boundaryOrder" 0 + -iv "boundaryPartial" 0 + -iv "boundaryPolys" 0 + -fv "boundaryTolerance" 0.01 + -iv "boundaryUseGlobal" 1 + -sv "boxZoom2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" boxZoom2dContext" + -sv "boxZoomContext" "boxZoomCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -zoomScale 1\nboxZoomContext" + -sv "boxZoomtwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" boxZoomtwContext"; +optionVar + -fv "cameraFarClip" 1000 + -sv "cameraFilmFit" "Fill" + -iv "cameraFilmFitMode" 3 + -fv "cameraFilmFitOffset" 0 + -fv "cameraFocalLength" 35 + -fv "cameraHorizAper" 1.41732 + -fv "cameraHorizOffset" 0 + -fv "cameraInterest" 5 + -fv "cameraLensSqueeze" 1 + -iv "cameraNamesVisibility" 1; +optionVar + -fv "cameraNearClip" 0.01 + -iv "cameraNodeCount" 1 + -iv "cameraOrtho" 0 + -fv "cameraOrthoWidth" 30 + -fv "cameraOverscan" 1 + -fv "cameraScale" 1 + -fv "cameraShutterAngle" 144 + -fv "cameraVertAper" 0.94488 + -fv "cameraVertOffset" 0 + -sv "categoryChoiceStatus" "default"; +optionVar + -ca "changeAnimCurveColorColor" + -fva "changeAnimCurveColorColor" 0.280985 + -fva "changeAnimCurveColorColor" 0.591 + -fva "changeAnimCurveColorColor" 0.275997 + -iv "channelsFieldWidth" 155 + -sv "channelsLayersConfiguration" "Channel Box / Layer Editor" + -iv "channelsLayersPaneSize" 57 + -iv "channelsLayersVisible" 1 + -iv "channelsLayersWidth" 310 + -iv "channelsLongName" 2 + -iv "channelsPrecision" 15 + -sv "characterChoiceStatus" "Generick" + -iv "circFilletEuc" 0; +optionVar + -iv "circFilletLac" 1 + -iv "circularFilletGenerateCoS" 1 + -fv "circularFilletLocalPositionalTolerance" 0.01 + -fv "circularFilletLocalTangentTolerance" 0.1 + -iv "circularFilletOutputPolygons" 0 + -fv "circularFilletRadius" 0.01 + -iv "circularFilletReversePrimary" 1 + -iv "circularFilletReverseSecondary" 1 + -iv "circularFilletUseGlobalTolerance" 0 + -iv "circularFilletUseUseGlobalTolerance" 1; +optionVar + -iv "clearKeyAllAnimCurves" 0 + -iv "clearKeyControlPoints" 0 + -iv "clearKeyDriven" 0 + -iv "clearKeyHelpPictures" 0 + -sv "clearKeyHierarchy" "none" + -sv "clearKeyOption" "keys" + -sv "clearKeyRange" "0:10" + -iv "clearKeyShapes" 1 + -iv "clearKeyUseChannelBox" 0 + -iv "clearKeyWhichRange" 1; +optionVar + -iv "clickBoxSize" 4 + -iv "clipHierarchy" 1 + -fv "closeCurveBlendBias" 0.5 + -iv "closeCurveBlendInsert" 0 + -fv "closeCurveBlendParameter" 0.1 + -iv "closeKeepOriginal" 0 + -iv "closePreserveShape" 1 + -iv "cmdWindowTitleBarVis" 1 + -iv "collapseIconBarsInPanels" 0 + -fv "collisionFriction" 0; +optionVar + -fv "collisionResilience" 1 + -ca "colorMaterialBlend" + -iva "colorMaterialBlend" 0 + -iva "colorMaterialBlend" 0 + -ca "colorMaterialChannel" + -iva "colorMaterialChannel" 3 + -iva "colorMaterialChannel" 3 + -ca "colorShadedDisplay" + -iva "colorShadedDisplay" 0 + -iva "colorShadedDisplay" 0 + -iv "colorizeSkeleton" 1 + -iv "commandExecuterShowLineNumbers" 1 + -iv "commandLineHoldFocus" 0 + -iv "commandLineInputFieldWidth" 50 + -iv "commandLineNumHistoryLines" 50 + -sv "commandLineSourceType" "mel"; +optionVar + -iv "commandLineVisible" 1 + -sv "commandReporterSourceTypeFilter" "" + -iv "commandReportercmdScrollFieldReporter1SuppressErrors" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressInfo" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressResults" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressStackTrace" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressWarnings" 0 + -sv "commandportDefaultName" "commandportDefault" + -iv "commandportOpenByDefault" 1 + -fv "componentEditorSliderMax" 1; +optionVar + -fv "componentEditorSliderMin" 0 + -iv "connectWindowActive" 1 + -sv "connectWindowAttrAlphaOrder" "ascend" + -iv "connectWindowAutoConnect" 1 + -iv "connectWindowDisplayNamesCW" 2 + -iv "connectWindowLeftCNO" 0 + -iv "connectWindowLeftSHD" 1 + -iv "connectWindowLeftSNK" 1 + -iv "connectWindowLeftToRight" 1 + -iv "connectWindowRightCNO" 0; +optionVar + -iv "connectWindowRightSHD" 1 + -iv "connectWindowRightSNK" 1 + -iv "constrPlanePole" 1 + -fv "constrPlaneSize" 24 + -iv "containerCentricSelection" 0 + -iv "containerRootUsesCustomIcon" 1 + -iv "continuityType" 2 + -ca "convertSolidBckColor" + -fva "convertSolidBckColor" 0 + -fva "convertSolidBckColor" 0 + -fva "convertSolidBckColor" 0 + -iv "convertSolidBckMode" 1 + -iv "convertSolidTxAntiA" 1; +optionVar + -iv "convertSolidTxBakeAlpha" 1 + -iv "convertSolidTxBakeLt" 1 + -iv "convertSolidTxBakeShadow" 0 + -iv "convertSolidTxCompRange" 0 + -iv "convertSolidTxDoubleSided" 0 + -sv "convertSolidTxFileFormat" "png" + -iv "convertSolidTxFillTextureSeams" 1 + -iv "convertSolidTxResX" 1024 + -iv "convertSolidTxResY" 1024 + -iv "convertSolidTxSamplePlane" 0; +optionVar + -fv "convertSolidTxUMax" 1 + -fv "convertSolidTxUMin" 0 + -iv "convertSolidTxUvRange" 0 + -fv "convertSolidTxVMax" 1 + -fv "convertSolidTxVMin" 0 + -iv "copyKeyControlPoints" 0 + -iv "copyKeyDriven" 0 + -iv "copyKeyHelpPictures" 0 + -sv "copyKeyHierarchy" "none" + -sv "copyKeyOption" "keys"; +optionVar + -sv "copyKeyRange" "0:10" + -iv "copyKeyShapes" 1 + -iv "copyKeyUseChannelBox" 0 + -iv "copyKeyWhichRange" 1 + -iv "cps_border" 0 + -iv "cps_dFrame" 0 + -iv "cps_edFrame" 0 + -iv "cps_esFrame" 0 + -iv "cps_gFrame" 0 + -iv "cps_keepHardEdges" 0; +optionVar + -iv "cps_keepMapBorders" 1 + -fv "cps_locatorSize" 0.25 + -iv "cps_lsFrame" 0 + -fv "cps_mirrorMergeDistance" 0.001 + -iv "cps_mirrorPlaneMode" 1 + -fv "cps_mirrorPlaneX" 0 + -fv "cps_mirrorPlaneY" 0 + -fv "cps_mirrorPlaneZ" 0 + -iv "cps_mirrorStitchAxisX" 2 + -iv "cps_mirrorStitchAxisY" 2; +optionVar + -iv "cps_mirrorStitchAxisZ" 2 + -iv "cps_mirrorStitchEnable" 0 + -iv "cps_mirrorStitchX" 0 + -iv "cps_mirrorStitchY" 0 + -iv "cps_mirrorStitchZ" 0 + -iv "cps_mrFrame" 0 + -iv "cps_noFrame" 0 + -iv "cps_noSelection" 1 + -iv "cps_noShade" 1 + -iv "cps_renderInvisible" 1; +optionVar + -iv "cps_sdFrame" 0 + -iv "cps_shFrame" 0 + -fv "cps_shellMergeDistance" 0.001 + -iv "cps_smooth" 1 + -iv "cps_smoothMethod" 1 + -iv "cps_smoothUVs" 1 + -iv "cps_softenEdges" 0 + -iv "cps_trFrame" 0 + -iv "cps_triangulate" 0 + -iv "cpsa_paFrame" 0; +optionVar + -iv "cpsa_saFrame" 0 + -iv "cpsc_dFrame" 0 + -iv "cpsc_lFrame" 0 + -iv "cpsc_mAlterRenderFlags" 1 + -iv "cpsc_mBCfull" 1 + -iv "cpsc_mBChard" 0 + -iv "cpsc_mBCwire" 0 + -iv "cpsc_mClearSelection" 0 + -iv "cpsc_mHUDanimationDetails" 0 + -iv "cpsc_mHUDcameraNames" 0; +optionVar + -iv "cpsc_mHUDcpsDetails" 1 + -iv "cpsc_mHUDframeRate" 0 + -iv "cpsc_mHUDobjectDetails" 0 + -iv "cpsc_mHUDoriginAxis" 0 + -iv "cpsc_mHUDpolyCount" 0 + -iv "cpsc_mHUDviewAxis" 0 + -iv "cpsc_mPaintSelectOptionWindow" 0 + -iv "cpsc_mRenameLayer" 1 + -iv "cpsc_mRestoreRenderFlags" 1 + -iv "cpsc_mSelectResult" 1; +optionVar + -iv "cpsc_mShowCloseButton" 1 + -iv "cpsc_mShowMenu" 1 + -iv "cpsc_mShowScrollSlider" 0 + -iv "cpsc_mShowTitleBar" 1 + -iv "cpsc_mToggleStitching" 0 + -iv "cpsc_mToggleXAxis" 1 + -iv "cpsc_mToggleYAxis" 1 + -iv "cpsc_mToggleZAxis" 1 + -iv "cpsc_mUIaddShell" 1 + -iv "cpsc_mUIconstraint" 1; +optionVar + -iv "cpsc_mUIconvertSelection" 1 + -iv "cpsc_mUIcps" 1 + -iv "cpsc_mUIdeleteHistory" 1 + -iv "cpsc_mUIdisconnect" 1 + -iv "cpsc_mUImergeLayer" 1 + -iv "cpsc_mUImergeShells" 1 + -iv "cpsc_mUIpaintSelection" 1 + -iv "cpsc_mUIrecallToolboxLayout" 0 + -iv "cpsc_mUIselectProxy" 1 + -iv "cpsc_mUIselectionMode" 1; +optionVar + -iv "cpsc_mUIselectionRegion" 1 + -iv "cpsc_mUIshading" 1 + -iv "cpsc_mUIsubdivisions" 1 + -iv "cpsc_mUItoggleBackface" 1 + -iv "cpsc_mUItoggleEvaluation" 1 + -iv "cpsc_mUItoggleIsolateSelect" 1 + -iv "cpsc_mUItoggleNodeState" 1 + -iv "cpsc_mUItoggleShellEvaluation" 1 + -iv "cpsc_mUItoggleSmoothMethod" 1 + -iv "cpsc_mUItoggleVisibility" 1; +optionVar + -iv "cpsc_mUItoggleWireframe" 1 + -iv "cpsc_mUItoggleXray" 1 + -iv "cpsc_mUItoolbox" 1 + -iv "cpsc_ogFrame" 0 + -iv "cpsc_rgFrame" 0 + -iv "cpsc_shFrame" 0 + -iv "cpsc_showHUD" 0 + -iv "cpsc_tFrame" 0 + -iv "cpsc_toFrame" 0 + -ca "cpsc_windowPos1" + -iva "cpsc_windowPos1" -2 + -iva "cpsc_windowPos1" 1456; +optionVar + -ca "cpsc_windowSize1" + -iva "cpsc_windowSize1" 148 + -iva "cpsc_windowSize1" 898 + -iv "cpsf_faceLimit" 5000 + -iv "cpss_iFrame" 0 + -iv "cpss_mainMenuEntry" 1 + -iv "cpss_runtimeCommands" 1 + -iv "cpss_shelfIcons" 1 + -ca "cpst_icons" + -sva "cpst_icons" "5" + -sva "cpst_icons" "connectPolyShape.xpm" + -sva "cpst_icons" "if( `window -q -exists cps_ui` ){if( `window -q -iconify cps_ui` )window -e -iconify 0 cps_ui;else if( !`window -q -visible cps_ui` )window -e -visible 1 cps_ui;else deleteUI cps_ui;}else connectPolyShape;" + -sva "cpst_icons" "" + -sva "cpst_icons" "Connect Poly Shape" + -sva "cpst_icons" "" + -sva "cpst_icons" "cpsControl.xpm" + -sva "cpst_icons" "if( `window -q -exists cpsc_ui` ){if( `window -q -iconify cpsc_ui` )window -e -iconify 0 cpsc_ui;else if( !`window -q -visible cpsc_ui` )window -e -visible 1 cpsc_ui;else deleteUI cpsc_ui;}else cpsControl;" + -sva "cpst_icons" "" + -sva "cpst_icons" "CPS Control" + -sva "cpst_icons" "" + -sva "cpst_icons" "cpsAttributes.xpm" + -sva "cpst_icons" "if( `window -q -exists cpsa_ui` ){if( `window -q -iconify cpsa_ui` )window -e -iconify 0 cpsa_ui;else if( !`window -q -visible cpsa_ui` )window -e -visible 1 cpsa_ui;else deleteUI cpsa_ui;}else cpsAttributes;" + -sva "cpst_icons" "" + -sva "cpst_icons" "CPS Attributes" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCube.xpm" + -sva "cpst_icons" "CreatePolygonCube" + -sva "cpst_icons" "CreatePolygonCubeOptions" + -sva "cpst_icons" "Create Polygon Cube" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyMesh.xpm" + -sva "cpst_icons" "CreatePolygonPlane" + -sva "cpst_icons" "CreatePolygonPlaneOptions" + -sva "cpst_icons" "Create Polygon Plane" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCreateFacet.xpm" + -sva "cpst_icons" "CreatePolygonTool" + -sva "cpst_icons" "CreatePolygonToolOptions" + -sva "cpst_icons" "Create Polygon Tool" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyAppendFacet.xpm" + -sva "cpst_icons" "AppendToPolygonTool" + -sva "cpst_icons" "AppendToPolygonToolOptions" + -sva "cpst_icons" "Append to Polygon Tool" + -sva "cpst_icons" "" + -sva "cpst_icons" "polySplitFacet.xpm" + -sva "cpst_icons" "SplitPolygonTool" + -sva "cpst_icons" "SplitPolygonToolOptions" + -sva "cpst_icons" "Split Polygon" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyExtrudeFacet.xpm" + -sva "cpst_icons" "ExtrudeFace" + -sva "cpst_icons" "ExtrudeFaceOptions" + -sva "cpst_icons" "Extrude Face" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyExtrudeEdge.xpm" + -sva "cpst_icons" "ExtrudeEdge" + -sva "cpst_icons" "ExtrudeEdgeOptions" + -sva "cpst_icons" "Extrude Edge" + -sva "cpst_icons" "" + -sva "cpst_icons" "polySubdFacet.xpm" + -sva "cpst_icons" "SubdividePolygon" + -sva "cpst_icons" "SubdividePolygonOptions" + -sva "cpst_icons" "Subdivide Polygon" + -sva "cpst_icons" "" + -sva "cpst_icons" "polySmooth.xpm" + -sva "cpst_icons" "SmoothPolygon" + -sva "cpst_icons" "SmoothPolygonOptions" + -sva "cpst_icons" "Smooth Polygon" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCollapseEdge.xpm" + -sva "cpst_icons" "performPolyCollapse 0" + -sva "cpst_icons" "" + -sva "cpst_icons" "Collapse" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyFlipEdge.xpm" + -sva "cpst_icons" "polyFlipEdge" + -sva "cpst_icons" "" + -sva "cpst_icons" "Flip Triangle Edge" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyLoopEdge.xpm" + -sva "cpst_icons" "performSelContiguousEdges 0" + -sva "cpst_icons" "performSelContiguousEdges 1" + -sva "cpst_icons" "Select Contiguous Edges" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyDelVertex.xpm" + -sva "cpst_icons" "polyDeleteVertex" + -sva "cpst_icons" "" + -sva "cpst_icons" "Delete Vertex" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyDelEdge.xpm" + -sva "cpst_icons" "polyPerformAction \"polyDelEdge -cv true\" e 0" + -sva "cpst_icons" "" + -sva "cpst_icons" "Delete Edge" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCloseBorder.xpm" + -sva "cpst_icons" "polyPerformAction polyCloseBorder e 0" + -sva "cpst_icons" "" + -sva "cpst_icons" "Fill Hole" + -sva "cpst_icons" "" + -iv "cpst_mShowCloseButton" 1 + -iv "cpst_mShowMenu" 1 + -iv "cpst_mShowTab" 1; +optionVar + -iv "cpst_mShowTitleBar" 1 + -iv "cpst_mUIrecallToolboxLayout" 0 + -iv "cpsv_enableXAxis" 1 + -iv "cpsv_enableYAxis" 1 + -iv "cpsv_enableZAxis" 1 + -fv "cpsv_snapTolerance" 0.2909 + -iv "cpsv_soFrame" 0 + -sv "create2dTextureType" "normal" + -iv "create3DFluidXRes" 10 + -fv "create3DFluidXSize" 10; +optionVar + -iv "create3DFluidYRes" 10 + -fv "create3DFluidYSize" 10 + -iv "create3DFluidZRes" 10 + -fv "create3DFluidZSize" 10 + -fv "createClipEnd" 10 + -sv "createClipName" "clip1" + -iv "createClipRangeMethodWhich" 3 + -iv "createClipSchedule" 1 + -fv "createClipStart" 0 + -iv "createClipSubChar" 1; +optionVar + -iv "createClipTimeWarp" 0 + -sv "createDrawContext" "createDrawCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axis \"x\" createDrawContext" + -iv "createMaterialsWithShadingGroup" 1 + -iv "createNClothOutputSpace" 1 + -iv "createNurbsPrimitiveAsTool" 0 + -iv "createPolyPrimitiveAsTool" 0 + -sv "createRenderNodeButtonStyle" "Icons and Text" + -iv "createTexturesWithPlacement" 1 + -fv "crvIntersectLocalTolerance" 0.0001 + -iv "crvIntersectUseGlobalTolerance" 2; +optionVar + -iv "currentDisplayLayerActive" 0 + -iv "currentFrameVisibility" 0 + -sv "currentMenuBarTab" "animationMenuSet" + -sv "curveAddPtContext" "curveAddPtCtx -e -image1 \"curveAddPt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" curveAddPtContext" + -sv "curveContextCV" "curveCVCtx -e -image1 \"curveCV.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -degree 3\n-rational 0\n-uniform 0\n-multEndKnots 0\ncurveContextCV" + -sv "curveContextEP" "curveEPCtx -e -image1 \"curveEP.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -degree 3\n-uniform 0\n-preserveShapeFraction 0.25\ncurveContextEP" + -iv "curveFitCheckpoints" 5 + -ca "customSelectPriority" + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 4 + -iva "customSelectPriority" 3 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 8 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -fv "cutCurveDirX" 0 + -fv "cutCurveDirY" 1; +optionVar + -fv "cutCurveDirZ" 0 + -iv "cutCurveEuc" 1 + -iv "cutCurveKeepOriginal" 0 + -iv "cutCurveLac" 0 + -iv "cutCurveSegmentOrKeepLongest" 3 + -fv "cutCurveTol" 0.01 + -iv "cutCurveUseDirection" 2 + -iv "cutCurveUseTol" 1 + -iv "cutCurveWithAllCurvesOrLastCurve" 1 + -iv "cutKeyControlPoints" 0; +optionVar + -iv "cutKeyDriven" 0 + -iv "cutKeyHelpPictures" 0 + -sv "cutKeyHierarchy" "none" + -sv "cutKeyOption" "keys" + -sv "cutKeyRange" "0:10" + -iv "cutKeyShapes" 1 + -iv "cutKeyUseChannelBox" 0 + -iv "cutKeyWhichRange" 1 + -fv "defaultCameraFarClipValue" 1000 + -fv "defaultCameraNearClipValue" 0.001; +optionVar + -sv "defaultDiskCacheSaveAsType" "always" + -sv "defaultFileExportActiveType" "OBJexport" + -sv "defaultFileExportAllType" "silo (sib|sia)" + -sv "defaultFileImportType" "mayaBinary" + -sv "defaultFileOpenType" "Best Guess" + -sv "defaultFileReferenceType" "Best Guess" + -sv "defaultFileSaveType" "mayaBinary" + -iv "defaultLockFile" 0 + -iv "defaultShowManipulator" 6 + -sv "defaultTextureSaveAsType" "unlessRef"; +optionVar + -iv "detachCurveEuc" 0 + -iv "detachCurveLac" 1 + -iv "detachKeepOriginal" 1 + -sv "directKeyContext" "directKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" directKeyContext" + -ca "directionalLightColor" + -fva "directionalLightColor" 1 + -fva "directionalLightColor" 1 + -fva "directionalLightColor" 1 + -fv "directionalLightIntensity" 1 + -iv "directionalLightInteractivePlacement" 0 + -ca "directionalLightShadowColor" + -fva "directionalLightShadowColor" 0 + -fva "directionalLightShadowColor" 0 + -fva "directionalLightShadowColor" 0 + -iv "directionalLightShadows" 0 + -iv "disableComponentPopups" 0; +optionVar + -iv "dispSmthnessFineNurbsObjsAffected" 1 + -iv "dispSmthnessHullNurbsObjsAffected" 1 + -iv "dispSmthnessHullSimpHullU" 2 + -iv "dispSmthnessHullSimpHullV" 2 + -iv "dispSmthnessMediumNurbsObjsAffected" 1 + -iv "dispSmthnessRoughNurbsObjsAffected" 1 + -iv "displayAffected" 0 + -iv "displayAlphaAsGreyScale" 0 + -iv "displayControlAllOFF" 0 + -iv "displayControlAllON" 0; +optionVar + -ca "displayControlCVs" + -iva "displayControlCVs" 1 + -iva "displayControlCVs" 0 + -iva "displayControlCVs" 0 + -iva "displayControlCVs" 0 + -iva "displayControlCVs" 0 + -ca "displayControlEditPoints" + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -ca "displayControlHulls" + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -ca "displayControlNormals" + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -ca "displayControlOrigin" + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iv "displayControlScope" 1 + -ca "displayControlSelectHandles" + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -ca "displayControlSurfaceFace" + -iva "displayControlSurfaceFace" 1 + -iva "displayControlSurfaceFace" 0 + -iva "displayControlSurfaceFace" 0 + -iva "displayControlSurfaceFace" 0 + -iva "displayControlSurfaceFace" 0 + -iv "displayDivisionLines" 1 + -iv "displayEditorImage" 0; +optionVar + -iv "displayGridAxes" 1 + -iv "displayGridAxesAccented" 1 + -iv "displayGridLines" 1 + -sv "displayGridOrthoLabelPosition" "edge" + -iv "displayGridOrthoLabels" 0 + -sv "displayGridPerspLabelPosition" "axis" + -iv "displayGridPerspLabels" 0 + -iv "displayLayerBase" 1 + -iv "displayLayerContents" 1 + -iv "displayLayerCurrent" 0; +optionVar + -iv "displayLayerMerge" 0 + -iv "displayLayerShowNamespace" 1 + -iv "displayOrthoGridLabels" 0 + -iv "displayPerspGridLabels" 0 + -ca "displayPolyBackFaceCull" + -iva "displayPolyBackFaceCull" 0 + -iva "displayPolyBackFaceCull" 0 + -ca "displayPolyBorderEdgeHilite" + -iva "displayPolyBorderEdgeHilite" 0 + -iva "displayPolyBorderEdgeHilite" 0 + -ca "displayPolyBorderEdgeSize" + -fva "displayPolyBorderEdgeSize" 9.1064 + -fva "displayPolyBorderEdgeSize" 3 + -ca "displayPolyBorderMapHilite" + -iva "displayPolyBorderMapHilite" 0 + -iva "displayPolyBorderMapHilite" 0 + -ca "displayPolyCreaseEdgeHilite" + -iva "displayPolyCreaseEdgeHilite" 0 + -iva "displayPolyCreaseEdgeHilite" 0 + -ca "displayPolyCreaseVertexHilite" + -iva "displayPolyCreaseVertexHilite" 0 + -iva "displayPolyCreaseVertexHilite" 0; +optionVar + -ca "displayPolyEdgeDisp" + -iva "displayPolyEdgeDisp" 0 + -iva "displayPolyEdgeDisp" 0 + -ca "displayPolyFacetCentreDisp" + -iva "displayPolyFacetCentreDisp" 0 + -iva "displayPolyFacetCentreDisp" 0 + -ca "displayPolyFacetNormalDisp" + -iva "displayPolyFacetNormalDisp" 0 + -iva "displayPolyFacetNormalDisp" 0 + -ca "displayPolyFacetTrngleDisp" + -iva "displayPolyFacetTrngleDisp" 0 + -iva "displayPolyFacetTrngleDisp" 0 + -ca "displayPolyFacetWarpDisp" + -iva "displayPolyFacetWarpDisp" 0 + -iva "displayPolyFacetWarpDisp" 0 + -ca "displayPolyNormalSize" + -fva "displayPolyNormalSize" 0.4 + -fva "displayPolyNormalSize" 0.4 + -ca "displayPolyNumEdge" + -iva "displayPolyNumEdge" 0 + -iva "displayPolyNumEdge" 0 + -ca "displayPolyNumFacet" + -iva "displayPolyNumFacet" 0 + -iva "displayPolyNumFacet" 0 + -ca "displayPolyNumUv" + -iva "displayPolyNumUv" 0 + -iva "displayPolyNumUv" 0 + -ca "displayPolyNumVertex" + -iva "displayPolyNumVertex" 0 + -iva "displayPolyNumVertex" 0; +optionVar + -iv "displayPolyObjsAffected" 0 + -ca "displayPolyUV" + -iva "displayPolyUV" 0 + -iva "displayPolyUV" 0 + -ca "displayPolyUVSize" + -fva "displayPolyUVSize" 4 + -fva "displayPolyUVSize" 4 + -ca "displayPolyUVTopology" + -iva "displayPolyUVTopology" 0 + -iva "displayPolyUVTopology" 0 + -ca "displayPolyVertexNormals" + -iva "displayPolyVertexNormals" 0 + -iva "displayPolyVertexNormals" 0 + -ca "displayPolyVertexSize" + -fva "displayPolyVertexSize" 3 + -fva "displayPolyVertexSize" 3 + -ca "displayPolyVtxBackCull" + -iva "displayPolyVtxBackCull" 1 + -iva "displayPolyVtxBackCull" 1 + -ca "displayPolyVtxDisp" + -iva "displayPolyVtxDisp" 0 + -iva "displayPolyVtxDisp" 0 + -iv "displayRegionOfEffect" 1 + -iv "displayViewportGradient" 0; +optionVar + -sv "distanceDimContext" "distanceDimContext -e -image1 \"distanceDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" distanceDimContext" + -sv "dolly2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" dolly2dContext" + -sv "dollyContext" "dollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Dolly Tool\" -scale 1\n-localDolly 1\n-centerOfInterestDolly 0\n-boxDollyType \"bbox\" -dollyTowardsCenter 1\ndollyContext" + -sv "dollytwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" dollytwContext" + -iv "dopeSheetAutoFit" 0 + -iv "dopeSheetOutlinerWidth" 190 + -iv "dopeSheetShowTicks" 1 + -fv "dropoff" 4 + -iv "duplicateCopy" 1 + -iv "duplicateCount" 1; +optionVar + -iv "duplicateCurveEuc" 0 + -iv "duplicateCurveIsoparms" 2 + -iv "duplicateCurveLac" 1 + -iv "duplicateCurveLocal" 0 + -iv "duplicateGroup" 2 + -iv "duplicateInputConn" 0 + -iv "duplicateInstanceLeaf" 0 + -fv "duplicateRX" 0 + -fv "duplicateRY" 0 + -fv "duplicateRZ" 0; +optionVar + -iv "duplicateRenameChildren" 0 + -fv "duplicateSX" 1 + -fv "duplicateSY" 1 + -fv "duplicateSZ" 1 + -iv "duplicateSmart" 0 + -iv "duplicateSpecialCopy" 0 + -iv "duplicateSpecialCount" 1 + -iv "duplicateSpecialGroup" 1 + -iv "duplicateSpecialInputConn" 0 + -iv "duplicateSpecialInstanceLeaf" 0; +optionVar + -fv "duplicateSpecialRX" 0 + -fv "duplicateSpecialRY" 0 + -fv "duplicateSpecialRZ" 0 + -iv "duplicateSpecialRenameChildren" 1 + -fv "duplicateSpecialSX" 1 + -fv "duplicateSpecialSY" 1 + -fv "duplicateSpecialSZ" 1 + -iv "duplicateSpecialSmart" 0 + -fv "duplicateSpecialTX" 0 + -fv "duplicateSpecialTY" 0; +optionVar + -fv "duplicateSpecialTZ" 0 + -iv "duplicateSpecialUpstream" 0 + -iv "duplicateSurfaceLocal" 0 + -fv "duplicateTX" 0 + -fv "duplicateTY" 0 + -fv "duplicateTZ" 0 + -iv "duplicateUpstream" 0 + -iv "dynPaint23dToggle" 2 + -ca "dynPaintPanelClearColour" + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -sv "dynParticleContext" "dynParticleCtx -e -image1 \"particle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -conserve 1\n-nucleus 0\n-sketch 0\n-numJitters 3\n-jitterRadius 5\n-sketchInterval 5\n-grid 1\n-gridSpacing 0.5\n-lowerLeftX -5.281628\n-lowerLeftY 0\n-lowerLeftZ 6.60428\n-upperRightX -20.496773\n-upperRightY 0\n-upperZ 1.784567\ndynParticleContext"; +optionVar + -iv "dynPrefAutoCreate" 1 + -iv "dynPrefEchoCollision" 1 + -iv "dynPrefRunupFrom" 1 + -iv "dynPrefRunupToCurrentTime" 0 + -iv "dynPrefSaveRuntimeState" 1 + -sv "dynWireCtx1" "dynWireCtx -e -image1 \"paintEffectsTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -dragBrushSize \"none\" -doProject 1\n-brushDrag 0.88\n-brushMass 1\n-inputSamples 4\n-sampleSeparation 4\n-surfaceOffset 0\n-paintAtDepth 0\n-drawAsMesh 1\n-usePressure 1\n-pressureMapping1 0\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0.5854\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-displayQuality 100\n-pixelMode 0\ndynWireCtx1" + -iv "echoAllLines" 0 + -iv "editRampIsVertical" 0 + -fv "emitterAlongAxis" 0 + -fv "emitterAroundAxis" 0; +optionVar + -fv "emitterAwayFromAxis" 1 + -fv "emitterAwayFromCenter" 1 + -iv "emitterCycleInterval" 1 + -iv "emitterCycleOM" 1 + -iv "emitterDieOnExit" 0 + -fv "emitterDirectionX" 1 + -fv "emitterDirectionY" 0 + -fv "emitterDirectionZ" 0 + -fv "emitterDirectionalSpeed" 0 + -fv "emitterMaxDistance" 0.993; +optionVar + -fv "emitterMinDistance" 0 + -sv "emitterName" "GoblinEmitter" + -iv "emitterNeedParentUV" 0 + -fv "emitterNormalSpeed" 0 + -fv "emitterRandomSpread" 0 + -fv "emitterRate" 240 + -iv "emitterScaleRateByObjectSize" 0 + -iv "emitterScaleSpeedBySize" 0 + -fv "emitterSpeed" 0 + -fv "emitterSpeedRandomRange" 2; +optionVar + -fv "emitterSpread" 0 + -fv "emitterTangentSpeed" 1 + -fv "emitterTorusSectionRadius" 0.5 + -iv "emitterTypesOM" 3 + -fv "emitterVolumeOffsetX" 0 + -fv "emitterVolumeOffsetY" 0 + -fv "emitterVolumeOffsetZ" 0 + -iv "emitterVolumeShapeOM" 1 + -fv "emitterVolumeSweep" 360 + -iv "expandPopupList" 0; +optionVar + -iv "exportIncludeChannels" 0 + -iv "exportIncludeConstraints" 0 + -iv "exportIncludeExpressions" 0 + -iv "exportIncludeHistory" 0 + -iv "exportIncludeInputs" 0 + -iv "exportIncludeShaders" 1 + -iv "exportKeepOnlyRef" 0 + -iv "exportKeepReferences" 1 + -iv "exportOptionsGrouping" 0 + -sv "exportOptionsRenamePrefix" ""; +optionVar + -iv "exportOptionsUseRenamePrefix" 0 + -iv "exportUseNamespacesDuringFileIO" 1 + -fv "extendCurveDistance" 1 + -iv "extendCurveEuc" 0 + -iv "extendCurveJoin" 0 + -iv "extendCurveKeepOriginal" 0 + -iv "extendCurveLac" 1 + -iv "extendCurveMethod" 0 + -iv "extendCurveRemoveMultKnots" 1 + -iv "extendCurveStart" 1; +optionVar + -fv "extendCurveToPointX" 0 + -fv "extendCurveToPointY" 0 + -fv "extendCurveToPointZ" 0 + -iv "extendCurveType" 1 + -iv "extendSurfaceDirection" 1 + -fv "extendSurfaceDistance" 1 + -iv "extendSurfaceEuc" 0 + -iv "extendSurfaceJoin" 1 + -iv "extendSurfaceKeepOriginal" 0 + -iv "extendSurfaceLac" 1; +optionVar + -iv "extendSurfaceSide" 1 + -iv "extendSurfaceType" 0 + -iv "extrudeCurveRangePartial" 1 + -iv "extrudeDegreeAlongLength" 3 + -iv "extrudeDirectionType" 1 + -fv "extrudeDirectionX" 0 + -fv "extrudeDirectionY" 1 + -fv "extrudeDirectionZ" 0 + -iv "extrudeEuc" 0 + -iv "extrudeLac" 1; +optionVar + -fv "extrudeLength" -1 + -iv "extrudeOutputPolygons" 0 + -iv "extrudePathFixed" 1 + -fv "extrudeRotation" 257.874 + -fv "extrudeScale" 1 + -iv "extrudeStyle" 2 + -iv "extrudeUseComponentPivot" 1 + -fv "extrudeUsePivotX" 0 + -fv "extrudeUsePivotY" 0 + -fv "extrudeUsePivotZ" 0; +optionVar + -iv "extrudeUseProfileNormal" 1 + -iv "fastInteraction" 0 + -iv "fbEnvVarExpand" 1 + -iv "fbikDetailsVisibility" 0 + -iv "fcheckAsImageViewer" 1 + -sv "fileCompressionMode" "asCompressed" + -iv "fileExecuteSN" 1 + -sv "fileImportRefLoadSetting" "none" + -iv "fileOpenIgnoreVersion" 0 + -sv "fileOpenRefLoadSetting" "default"; +optionVar + -sv "fileOptionsGroupNodeResolvedName" "group" + -iv "fileOptionsGrouping" 0 + -iv "fileOptionsRenameAll" 0 + -sv "fileOptionsRenamePrefix" "" + -iv "fileOptionsUseRenamePrefix" 0 + -sv "fileReferenceRefLoadSetting" "all" + -iv "fileSelPreload" 0 + -sv "fluidCacheOptions" "" + -iv "frameRateVisibility" 1 + -iv "freeFilletEuc" 0; +optionVar + -iv "freeFilletLac" 1 + -fv "freeFormFilletBias" 0 + -fv "freeFormFilletDepth" 0.5 + -fv "freeFormFilletLocalPositionalTolerance" 0.1 + -fv "freeFormFilletLocalTangentTolerance" 0.1 + -iv "freeFormFilletOutputPolygons" 0 + -iv "freeFormFilletUseGlobalTolerance" 0 + -iv "freeFormFilletUseUseGlobalTolerance" 1 + -iv "freezeTransformationsJointOrient" 0 + -iv "freezeTransformationsNormal" 0; +optionVar + -iv "freezeTransformationsRotate" 0 + -iv "freezeTransformationsScale" 1 + -iv "freezeTransformationsTranslate" 0 + -iv "freezeTransformationsWhen" 1 + -sv "furAttrMapOptions" "" + -sv "furEqualMapOptions" "" + -sv "furFilesOptions" "" + -sv "furImagesOptions" "" + -sv "furShadowMapOptions" "" + -iv "gCloseFlag" 0; +optionVar + -iv "geometryConstraintAddTargets" 1 + -fv "geometryConstraintWeight" 1 + -iv "ghostFrameStep" 1 + -iv "ghostFramesAfter" 3 + -iv "ghostFramesBefore" 3 + -iv "globalStitchCheckInteriors" 1 + -iv "globalStitchCorners" 1 + -iv "globalStitchEdges" 1 + -iv "globalStitchEuc" 1 + -iv "globalStitchKeepOriginal" 0; +optionVar + -iv "globalStitchLac" 0 + -fv "globalStitchMaxSeparation" 0.001 + -fv "globalStitchModificationResistance" 0.1 + -iv "globalStitchSampling" 8 + -iv "globalStitchSmoothness" 2 + -iv "globalVisibilityOfComponentBars" 1 + -iv "goalUseTransform" 0 + -fv "goalWeight" 0.5 + -sv "graphDollyContext" "graphDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphDollyContext" + -iv "graphEdOutlinerWidth" 310; +optionVar + -iv "graphEditorAutoFit" 0 + -iv "graphEditorClipTime" 1 + -sv "graphTrackContext" "graphTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphTrackContext" + -fv "gravityAttenuation" 0 + -fv "gravityDirectionX" 0 + -fv "gravityDirectionY" -1 + -fv "gravityDirectionZ" 0 + -fv "gravityMagnitude" 5 + -fv "gravityMaxDistCBox" 0 + -fv "gravityMaxDistance" 0; +optionVar + -sv "gravityName" "Main Gravity" + -fv "gravityTorusSectionRadius" 0.5 + -iv "gravityVolumeExclusion" 0 + -iv "gravityVolumeFieldTypesOM" 1 + -fv "gravityVolumeOffsetX" 0 + -fv "gravityVolumeOffsetY" 0 + -fv "gravityVolumeOffsetZ" 0 + -fv "gravityVolumeSweep" 360 + -fv "gridDivisions" 5 + -fv "gridSize" 12; +optionVar + -fv "gridSpacing" 5 + -iv "groupPreserve" 1 + -iv "groupWorld" 0 + -iv "groupZeroPivot" 1 + -iv "heatMapDisplay" 0 + -iv "heatMapMetric" 2 + -iv "heatMapType" 1 + -iv "helpBrowserRaiseWindow" 1 + -iv "helpBrowserUseWindow" 0 + -iv "helpInMainWindow" 0; +optionVar + -sv "helpLanguage" "en_US" + -iv "helpLineVisible" 1 + -iv "helpPopupDisplayTime" 10 + -sv "helpUrl" "" + -iv "highPrecisionNurbs" 0 + -sv "hotBoxDisplayStyle" "-dh" + -iv "hotBoxTransparencyLevel" 0 + -iv "hsBinsSortShadingNodesOnly" 1 + -iv "hsClearBeforeGraphing" 1 + -iv "hsMergeConnections" 1; +optionVar + -iv "hsOpaqueContainers" 0 + -iv "hsShapeDisplay" 2 + -iv "hsShowRelationships" 1 + -iv "hsTransformDisplay" 1 + -iv "hwRendererBumpResX" 2048 + -iv "hwRendererBumpResY" 512 + -iv "hwRendererColorResX" 2048 + -iv "hwRendererColorResY" 2048 + -sv "hwRendererCullingOverride" "singleSided" + -iv "hwRendererLowQualLighting" 0; +optionVar + -iv "hwRendererOcclusionCulling" 1 + -sv "hwRendererTranspAlg" "frontAndBackCull" + -iv "hwRendererTranspInShadows" 0 + -iv "hwRendererUseMaxHWLights" 1 + -iv "hwTxAniso" 0 + -sv "hwTxBlend" "modulate" + -iv "hwTxFilter" 2 + -ca "hyperShadeFirstPaneTabs" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab1" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab2" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab3" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab4" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab5" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab6" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab7" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab8" + -iv "hyperShadePanelCreateBarIconsAndTextWidth" 172 + -iv "hyperShadePanelCreateBarShown" 1; +optionVar + -sv "hyperShadePanelTabSectionsShown" "showTopAndBottomTabs" + -sv "hyperShadePanelWorkAreaTab" "MayaWindow|mayaMainWindowForm|formLayout3|viewPanes|hyperShadePanel1|hyperShadePanel1|mainForm|paneArrangement|secondPaneTabs|formLayout74" + -ca "hyperShadeSecondPaneTabs" + -sva "hyperShadeSecondPaneTabs" "hyperShadeTab9" + -iv "hyperShadeTab1" 1 + -sv "hyperShadeTab1Filter" "MaterialsAndShaderGlow" + -sv "hyperShadeTab1HypershadeName" "collection1HyperShadeEd" + -sv "hyperShadeTab1IconSize" "largeIcons" + -sv "hyperShadeTab1Label" "Materials" + -sv "hyperShadeTab1Type" "scene" + -iv "hyperShadeTab2" 1; +optionVar + -sv "hyperShadeTab2Filter" "Textures" + -sv "hyperShadeTab2HypershadeName" "collection2HyperShadeEd" + -sv "hyperShadeTab2IconSize" "superIcons" + -sv "hyperShadeTab2Label" "Textures" + -sv "hyperShadeTab2Type" "scene" + -iv "hyperShadeTab3" 1 + -sv "hyperShadeTab3Filter" "Utilities" + -sv "hyperShadeTab3HypershadeName" "collection3HyperShadeEd" + -sv "hyperShadeTab3IconSize" "mediumIcons" + -sv "hyperShadeTab3Label" "Utilities"; +optionVar + -sv "hyperShadeTab3Type" "scene" + -iv "hyperShadeTab4" 1 + -sv "hyperShadeTab4Filter" "LightsAndOpticalFX" + -sv "hyperShadeTab4HypershadeName" "collection4HyperShadeEd" + -sv "hyperShadeTab4IconSize" "mediumIcons" + -sv "hyperShadeTab4Label" "Lights" + -sv "hyperShadeTab4Type" "scene" + -iv "hyperShadeTab5" 1 + -sv "hyperShadeTab5Filter" "Cameras" + -sv "hyperShadeTab5HypershadeName" "collection5HyperShadeEd"; +optionVar + -sv "hyperShadeTab5IconSize" "mediumIcons" + -sv "hyperShadeTab5Label" "Cameras" + -sv "hyperShadeTab5Type" "scene" + -iv "hyperShadeTab6" 1 + -sv "hyperShadeTab6Filter" "ShadingGroups" + -sv "hyperShadeTab6HypershadeName" "collection6HyperShadeEd" + -sv "hyperShadeTab6IconSize" "largeIcons" + -sv "hyperShadeTab6Label" "Shading Groups" + -sv "hyperShadeTab6Type" "scene" + -iv "hyperShadeTab7" 1; +optionVar + -sv "hyperShadeTab7Filter" "BakeSets" + -sv "hyperShadeTab7HypershadeName" "collection7HyperShadeEd" + -sv "hyperShadeTab7Label" "Bake Sets" + -sv "hyperShadeTab7Type" "scene" + -iv "hyperShadeTab8" 1 + -sv "hyperShadeTab8CurrentDirectory" "C:/Graphics/Projects/" + -iv "hyperShadeTab8DirectoriesShown" 1 + -sv "hyperShadeTab8DirectoriesVisorName" "directories1VisorEd" + -iv "hyperShadeTab8FilesShown" 1 + -sv "hyperShadeTab8FilesVisorName" "files1VisorEd"; +optionVar + -sv "hyperShadeTab8Label" "Projects" + -sv "hyperShadeTab8RootDirectory" "C:/Graphics/Projects/" + -sv "hyperShadeTab8Type" "disk" + -iv "hyperShadeTab9" 1 + -sv "hyperShadeTab9HypershadeName" "graph1HyperShadeEd" + -sv "hyperShadeTab9Label" "Work Area" + -sv "hyperShadeTab9Type" "protected graph" + -iv "hypergraphColorOverride" 0 + -iv "hypergraphDisplayConstraints" 1 + -iv "hypergraphDisplayDeformers" 1; +optionVar + -iv "hypergraphDisplayExpressions" 1 + -iv "hypergraphDisplayImage" 1 + -iv "hypergraphDisplayInvisibleNodes" 1 + -iv "hypergraphDisplayShapeNodes" 1 + -iv "hypergraphDisplayUnderworldNodes" 1 + -iv "hypergraphFreeform" 0 + -sv "hypergraphGraphLayoutStyle" "HierarchicalLayout" + -iv "hypergraphMergeConnections" 1 + -iv "hypergraphOpaqueContainers" 0 + -sv "hypergraphOrientation" "horiz"; +optionVar + -iv "hypergraphShowCachedConnections" 1 + -iv "hypergraphShowRelationships" 1 + -iv "hypergraphUpdateNodeAdded" 1 + -iv "hypergraphUpdateSelection" 1 + -sv "iconsBackgroundColorStatus" "iconsBackgroundColorWhiteIRB" + -iv "iconsSizeHeightStatus" 50 + -iv "iconsSizeWidthStatus" 50 + -iv "ignoreSelectionPriority" 0 + -iv "ikFKSwitchState" 0 + -sv "ikHandleContext" "ikHandleCtx -e -image1 \"kinHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikRPsolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikHandleContext"; +optionVar + -fv "ikHandleDisplayScale" 1 + -sv "ikIkFkDisplayMethod" "ikfk" + -fv "ikIkFkJointDisplayScale" 1 + -fv "ikJointDisplayScale" 1 + -sv "ikSplineHandleContext" "ikSplineHandleCtx -e -image1 \"kinSplineHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikSplineSolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikSplineHandleContext" + -sv "imageOptions" "" + -iv "importKeepReferences" 1 + -sv "inTangentType" "linear" + -iv "incrementalSaveLimitBackups" 0 + -iv "incrementalSaveMaxBackups" 20; +optionVar + -iv "insertIsoAddOrComplement" 1 + -iv "insertIsoBetween" 0 + -iv "insertIsoKeepOriginal" 0 + -iv "insertIsoNumberOfIsosToInsert" 1 + -sv "insertJointContext" "insertJointCtx -e -image1 \"kinInsert.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" insertJointContext" + -sv "insertKeyContext" "insertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\ninsertKeyContext" + -iv "insertKnotAddOrComplement" 1 + -iv "insertKnotBetween" 0 + -iv "insertKnotIsoparm" 0 + -iv "insertKnotKeepOriginal" 0; +optionVar + -iv "insertKnotNumberOfKnotsToInsert" 1 + -iv "intersectCosAs2D" 0 + -iv "intersectCosOnlyOnFirstSurface" 0 + -fv "intersectCurveDirX" 0 + -fv "intersectCurveDirY" 1 + -fv "intersectCurveDirZ" 0 + -iv "intersectCurveEuc" 1 + -iv "intersectCurveLac" 0 + -iv "intersectCurveUseDirection" 2 + -iv "intersectCurveWithAllCurvesOrLastCurve" 1; +optionVar + -iv "intersectEuc" 0 + -iv "intersectLac" 1 + -fv "intersectSrfTolerance" 0.01 + -iv "intersectSrfUseGlobalTol" 0 + -iv "iprRenderMotionBlur" 1 + -iv "iprRenderShading" 1 + -iv "iprRenderShadowMaps" 1 + -iv "isAttributeEditorVisible" 0 + -iv "isHotBoxAnimationRowVisible" 1 + -iv "isHotBoxClothRowVisible" 0; +optionVar + -iv "isHotBoxCommonRowVisible" 1 + -iv "isHotBoxControlRowVisible" 1 + -iv "isHotBoxDynamicsRowVisible" 0 + -iv "isHotBoxLiveRowVisible" 0 + -iv "isHotBoxModelingRowVisible" 1 + -iv "isHotBoxNClothRowVisible" 0 + -iv "isHotBoxNDynamicsRowVisible" 0 + -iv "isHotBoxPane-SpecificRowVisible" 1 + -iv "isHotBoxPaneSpecificRowVisible" 1 + -iv "isHotBoxPolygonsRowVisible" 0; +optionVar + -iv "isHotBoxRenderingRowVisible" 0 + -iv "isHotBoxRmbPopupsOn" 0 + -iv "isHotBoxShowAll" 0 + -iv "isHotBoxSurfacesRowVisible" 0 + -iv "isIncrementalSaveEnabled" 0 + -iv "isMarkingMenuOn" 1 + -iv "isShelfLoad" 1 + -iv "isShelfSave" 1 + -iv "isShelfVisible" 1 + -sv "jointContext" "jointCtx -e -image1 \"kinJoint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -scaleCompensateJ 1\n-degreeOfFreedomJ \"xyz\" -jointOrientationJ 0 0 0 -scaleOrientationJ 0 0 0 -scaleJ 1 1 1 -autoJointOrient \"xyz\" -secondaryAxisOrient \"yup\" -jointAutoLimits 0\n-createIKHandle 0\n-solverTypeH \"ikRPsolver\" -autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-smallBoneLength 1\n-smallBoneRadius 0.5\n-largeBoneLength 30\n-largeBoneRadius 2\njointContext"; +optionVar + -iv "journalIsOn" 1 + -iv "keyControlPoints" 0 + -iv "keyHierarchy" 0 + -iv "keySetFBIK" 1 + -iv "keySetIKFK" 0 + -iv "keyShapes" 1 + -iv "keyUseChannelBox" 0 + -sv "keyframeRegionDirectKeyContext" "keyframeRegionDirectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionDirectKeyContext" + -sv "keyframeRegionDollyContext" "keyframeRegionDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionDollyContext" + -sv "keyframeRegionInsertKeyContext" "keyframeRegionInsertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 1\nkeyframeRegionInsertKeyContext"; +optionVar + -sv "keyframeRegionMoveKeyContext" "keyframeRegionMoveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionMoveKeyContext" + -sv "keyframeRegionScaleKeyContext" "keyframeRegionScaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 0\nkeyframeRegionScaleKeyContext" + -sv "keyframeRegionSelectKeyContext" "keyframeRegionSelectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionSelectKeyContext" + -sv "keyframeRegionSetKeyContext" "keyframeRegionSetKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nkeyframeRegionSetKeyContext" + -sv "keyframeRegionTrackContext" "keyframeRegionTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionTrackContext" + -sv "lastLocalWS" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes" + -iv "latticeAutoParent" 0 + -iv "latticeCommonParent" 0 + -sv "latticeDeformKeyContext" "latticeDeformKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-scaleLatticePts 0\nlatticeDeformKeyContext" + -iv "latticeDivX" 2; +optionVar + -iv "latticeDivY" 5 + -iv "latticeDivZ" 2 + -sv "latticeExclName" "deformPartition" + -iv "latticeExclusive" 0 + -iv "latticeFreezeMapping" 0 + -iv "latticeLocal" 1 + -iv "latticeLocalDivX" 2 + -iv "latticeLocalDivY" 2 + -iv "latticeLocalDivZ" 2 + -iv "latticeObjectCentered" 1; +optionVar + -fv "latticeOutsideFalloffDistance" 1 + -sv "latticeOutsideTransform" "inside" + -sv "latticePositioning" "default" + -iv "leInMainWindow" 1 + -iv "loadDynamics" 1 + -iv "loadUrchin" 1 + -iv "loftAutoReverse" 1 + -iv "loftClose" 0 + -iv "loftDegree" 1 + -iv "loftEuc" 0; +optionVar + -iv "loftLac" 1 + -iv "loftPolys" 0 + -iv "loftRange" 0 + -iv "loftSectionSpans" 1 + -iv "loftUniform" 0 + -fv "ltsFarClip" 1000 + -fv "ltsNearClip" 0.001 + -iv "mainMenuBarNeedsToBeTraversedWhenHotkeyEditorIsOpened" 1 + -iv "mainWindowDisable" 0 + -iv "mainWindowMenubarVis" 1; +optionVar + -iv "mainWindowTitleBarVis" 1 + -fv "manipGlobalScale" 1.5 + -fv "manipHandleSize" 35 + -fv "manipLinePickSize" 1 + -fv "manipLineSize" 1 + -fv "manipMiddleMouseRepos" 0 + -fv "manipPreviousStateSize" 6 + -ca "markingMenuEditorAnnotations" + -sva "markingMenuEditorAnnotations" "ChangePanelLayout" + -sva "markingMenuEditorAnnotations" "ChangePanelType" + -sva "markingMenuEditorAnnotations" "ControlPaneVisibility" + -sva "markingMenuEditorAnnotations" "ChangeSelectionMask" + -sva "markingMenuEditorAnnotations" "CommonModelingPanes" + -sva "markingMenuEditorAnnotations" "PA_Style_LMB" + -sva "markingMenuEditorAnnotations" "PA_Style_MMB" + -sva "markingMenuEditorAnnotations" "PA_Style_RMB" + -ca "markingMenuEditorDisplayAsMMFlags" + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -ca "markingMenuEditorFilenames" + -sva "markingMenuEditorFilenames" "menu_ChangePanelLayout" + -sva "markingMenuEditorFilenames" "menu_ChangePanelType" + -sva "markingMenuEditorFilenames" "menu_ControlPaneVisibility" + -sva "markingMenuEditorFilenames" "menu_ChangeSelectionMask" + -sva "markingMenuEditorFilenames" "menu_CommonModelingPanes" + -sva "markingMenuEditorFilenames" "menu_PA_Style_LMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_MMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_RMB"; +optionVar + -ca "markingMenuEditorIsNamedCommandFlags" + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iv "maxImageSizeForSwatchGen" 2000 + -iv "maxInfl" 5 + -iv "maxTextureResolution" 4096 + -sv "mayaAsciiOptions" "v=1" + -sv "mayaBinaryOptions" "v=1" + -iv "mayaMacButtonMap" 3 + -sv "mayaMode" "animationMenuSet" + -sv "melOptions" "" + -sv "mellsplsLASTPATH" "C:/Documents and Settings/Elrond/My Documents/maya/8.5-x64/PaulScripts/scripts/"; +optionVar + -sv "mentalRayOptions" "" + -iv "miCacheOptimFileTextures" 0 + -iv "miCollapseHistoryOnProxyUpdate" 0 + -iv "miFileTextureCacheConversionScope" 1 + -sv "miFileTextureCacheLocation" "" + -iv "miFileTextureCacheStorageMode" 0 + -iv "miUseMayaAlphaDetection" 0 + -iv "middleMouseRepos" 0 + -ca "minorNodeTypes" + -iva "minorNodeTypes" 1397509968 + -iva "minorNodeTypes" 1330007124 + -iva "minorNodeTypes" 1330792012 + -iva "minorNodeTypes" 1330529868 + -iva "minorNodeTypes" 1330464332 + -iva "minorNodeTypes" 1330004308 + -iva "minorNodeTypes" 1330923084 + -iva "minorNodeTypes" 1330857548 + -iva "minorNodeTypes" 1196576848 + -iva "minorNodeTypes" 1145918537 + -iva "minorNodeTypes" 1280070484 + -iva "minorNodeTypes" 1314083656 + -iva "minorNodeTypes" 1313166152 + -iva "minorNodeTypes" 1297435724 + -iva "minorNodeTypes" 1145390668 + -iva "minorNodeTypes" 1347441492 + -iva "minorNodeTypes" 1380209484 + -iva "minorNodeTypes" 1146246476 + -iva "minorNodeTypes" 1380206412 + -iva "minorNodeTypes" 1380404290 + -iva "minorNodeTypes" 1381061953 + -iva "minorNodeTypes" 1380734030 + -iva "minorNodeTypes" 1146441300 + -iva "minorNodeTypes" 1196443972 + -iva "minorNodeTypes" 1213812812 + -iva "minorNodeTypes" 1213812818 + -iv "minorNodeTypesDisplay" 1; +optionVar + -iv "missingReferenceDialogBakeChanges" 0 + -iv "mlRotoCacheSize" 10 + -iv "mlRotoPixelType" 0 + -iv "mlRotoTextureMethod" 1 + -iv "modelWithToolAlignCurve" 0 + -iv "modelWithToolAlignSurface" 0 + -iv "modelWithToolAttachCurve" 0 + -iv "modelWithToolAttachSurface" 0 + -iv "modelWithToolBevel" 0 + -iv "modelWithToolBoundary" 0; +optionVar + -iv "modelWithToolCircFillet" 0 + -iv "modelWithToolCloseCurve" 0 + -iv "modelWithToolCloseSurface" 0 + -iv "modelWithToolCutCurve" 0 + -iv "modelWithToolCvHardness" 0 + -iv "modelWithToolDetachCurve" 0 + -iv "modelWithToolDetachSurface" 0 + -iv "modelWithToolDuplCurve" 0 + -iv "modelWithToolDuplicateSurface" 0 + -iv "modelWithToolExtendCosCurve" 0; +optionVar + -iv "modelWithToolExtendCurve" 0 + -iv "modelWithToolExtendSurface" 0 + -iv "modelWithToolExtrude" 0 + -iv "modelWithToolFilletCurve" 0 + -iv "modelWithToolFitBspline" 0 + -iv "modelWithToolFreeFillet" 0 + -iv "modelWithToolGlobalStitch" 0 + -iv "modelWithToolInsertCurve" 0 + -iv "modelWithToolInsertSurface" 0 + -iv "modelWithToolIntersect" 0; +optionVar + -iv "modelWithToolIntersectCurve" 0 + -iv "modelWithToolLoft" 0 + -iv "modelWithToolOffsetCoS" 0 + -iv "modelWithToolOffsetCurve" 0 + -iv "modelWithToolOffsetSurface" 0 + -iv "modelWithToolPlanar" 0 + -iv "modelWithToolProject" 0 + -iv "modelWithToolProjectTangent" 0 + -iv "modelWithToolRebuildCurve" 0 + -iv "modelWithToolRebuildSurface" 0; +optionVar + -iv "modelWithToolReverseCurve" 0 + -iv "modelWithToolReverseSurface" 0 + -iv "modelWithToolRevolve" 0 + -iv "modelWithToolSmoothCurve" 0 + -iv "modelWithToolSquareSrf" 0 + -iv "modelWithToolUntrim" 0 + -fv "motionTrailByTime" 1 + -iv "motionTrailDrawStyle" 1 + -fv "motionTrailEndTime" 10 + -iv "motionTrailForceUpdate" 2; +optionVar + -iv "motionTrailFrames" 0 + -fv "motionTrailStartTime" 1 + -iv "motionTrailTSRange" 1 + -sv "moveKeyContext" "moveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" -moveFunction \"constant\" moveKeyContext" + -sv "moveOptions" "" + -iv "multiListerPanel1BottomListerActiveTab" 1 + -ca "multiListerPanel1BottomListerCmds" + -sva "multiListerPanel1BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerCount" 1 + -ca "multiListerPanel1BottomListerLabels" + -sva "multiListerPanel1BottomListerLabels" "Textures" + -ca "multiListerPanel1BottomListerNames" + -sva "multiListerPanel1BottomListerNames" "multiListerPanel1BottomTab1"; +optionVar + -iv "multiListerPanel1BottomListerTabHeight" 50 + -iv "multiListerPanel1ButtonBar" 1 + -sv "multiListerPanel1NewTabFilter" "DefaultSGLightShapesFilter" + -iv "multiListerPanel1TopListerActiveTab" 1 + -ca "multiListerPanel1TopListerCmds" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab4" + -iv "multiListerPanel1TopListerCount" 4 + -ca "multiListerPanel1TopListerLabels" + -sva "multiListerPanel1TopListerLabels" "General" + -sva "multiListerPanel1TopListerLabels" "Materials" + -sva "multiListerPanel1TopListerLabels" "Lights" + -sva "multiListerPanel1TopListerLabels" "Cameras" + -ca "multiListerPanel1TopListerNames" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab4" + -sv "multiListerPanel1WorkArea" "single" + -iv "multiListerPanel1WorkAreaHeight" 33; +optionVar + -iv "multiListerPanel2BottomListerActiveTab" 1 + -ca "multiListerPanel2BottomListerCmds" + -sva "multiListerPanel2BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2BottomTab1" + -iv "multiListerPanel2BottomListerCount" 1 + -ca "multiListerPanel2BottomListerLabels" + -sva "multiListerPanel2BottomListerLabels" "Textures" + -ca "multiListerPanel2BottomListerNames" + -sva "multiListerPanel2BottomListerNames" "multiListerPanel2BottomTab1" + -iv "multiListerPanel2BottomListerTabHeight" 50 + -iv "multiListerPanel2ButtonBar" 1 + -sv "multiListerPanel2NewTabFilter" "DefaultSGLightShapesFilter" + -iv "multiListerPanel2TopListerActiveTab" 1 + -ca "multiListerPanel2TopListerCmds" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab1" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab2" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab3" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab4"; +optionVar + -iv "multiListerPanel2TopListerCount" 4 + -ca "multiListerPanel2TopListerLabels" + -sva "multiListerPanel2TopListerLabels" "General" + -sva "multiListerPanel2TopListerLabels" "Materials" + -sva "multiListerPanel2TopListerLabels" "Lights" + -sva "multiListerPanel2TopListerLabels" "Cameras" + -ca "multiListerPanel2TopListerNames" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab1" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab2" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab3" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab4" + -sv "multiListerPanel2WorkArea" "single" + -iv "multiListerPanel2WorkAreaHeight" 33 + -iv "multipleBindPosesOpt" 1 + -sv "nameOfHotBoxC1MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC2MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC3MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxE1MarkingMenu" "ControlPaneVisibility"; +optionVar + -sv "nameOfHotBoxE2MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE3MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxN1MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN2MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN3MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxS1MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS2MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS3MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxW1MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW2MarkingMenu" "ChangeSelectionMask"; +optionVar + -sv "nameOfHotBoxW3MarkingMenu" "ChangeSelectionMask" + -sv "namespaceTextFieldStatus" "myNamespace" + -iv "newCurveDisplayCV" 0 + -iv "newCurveDisplayEP" 0 + -iv "newCurveDisplayHull" 0 + -iv "newFileEnabled" 0 + -sv "newFileName" "" + -iv "newNurbsIsoparms" 0 + -iv "newNurbsPointsShaded" 1 + -iv "newNurbsPointsWire" 5; +optionVar + -iv "newPolyBackFaceCull" 0 + -iv "newPolyBorderEdgeHilite" 1 + -fv "newPolyBorderEdgeSize" 9.0426 + -iv "newPolyBorderMapHilite" 0 + -iv "newPolyColorChannel" 3 + -iv "newPolyColorShaded" 0 + -iv "newPolyCreaseEdgeHilite" 1 + -iv "newPolyCreaseVertexHilite" 1 + -iv "newPolyEdgeDisp" 0 + -iv "newPolyFacetCentreDisp" 0; +optionVar + -iv "newPolyFacetNormalDisp" 0 + -iv "newPolyFacetTrngleDisp" 0 + -iv "newPolyFacetWarpDisp" 0 + -iv "newPolyMaterialBlend" 1 + -fv "newPolyNormalSize" 0.4 + -iv "newPolyNumEdgeDisp" 0 + -iv "newPolyNumFacetDisp" 0 + -iv "newPolyNumUvDisp" 0 + -iv "newPolyNumVertexDisp" 0 + -fv "newPolyUVSize" 4; +optionVar + -iv "newPolyVertexNormals" 0 + -fv "newPolyVertexSize" 3 + -iv "newPolyVtxBackCull" 1 + -iv "newPolyVtxDisp" 0 + -sv "newScenePanelConfiguration" "Single Perspective View" + -iv "newSurfaceDisplayCV" 0 + -iv "newSurfaceDisplayEP" 0 + -iv "newSurfaceDisplayHull" 0 + -iv "newSurfaceDisplayOrigin" 0 + -iv "normalConstraintAddTargets" 1; +optionVar + -ca "normalConstraintAimVector" + -fva "normalConstraintAimVector" 0 + -fva "normalConstraintAimVector" 0 + -fva "normalConstraintAimVector" 1 + -ca "normalConstraintUpVector" + -fva "normalConstraintUpVector" 0 + -fva "normalConstraintUpVector" 1 + -fva "normalConstraintUpVector" 0 + -fv "normalConstraintWeight" 1 + -sv "normalConstraintWorldUpObject" "" + -sv "normalConstraintWorldUpType" "vector" + -ca "normalConstraintWorldUpVector" + -fva "normalConstraintWorldUpVector" 0 + -fva "normalConstraintWorldUpVector" -1 + -fva "normalConstraintWorldUpVector" 0 + -iv "numShelves" 28 + -iv "nurbsCircleAxisType" 2 + -fv "nurbsCircleAxisX" 0 + -fv "nurbsCircleAxisY" 1; +optionVar + -fv "nurbsCircleAxisZ" 0 + -iv "nurbsCircleDegree" 3 + -fv "nurbsCircleEndSweep" 360 + -iv "nurbsCirclePivotType" 1 + -fv "nurbsCirclePivotX" 0 + -fv "nurbsCirclePivotY" 0 + -fv "nurbsCirclePivotZ" 0 + -fv "nurbsCircleRadius" 1 + -iv "nurbsCircleSections" 8 + -fv "nurbsCircleTolerance" 0.01; +optionVar + -iv "nurbsCircleUseGlobalTol" 1 + -iv "nurbsCircleUseTolerance" 0 + -iv "nurbsCubeAxisType" 2 + -fv "nurbsCubeAxisX" 0 + -fv "nurbsCubeAxisY" 1 + -fv "nurbsCubeAxisZ" 0 + -iv "nurbsCubeDegree" 3 + -fv "nurbsCubeHeightRatio" 1 + -fv "nurbsCubeLengthRatio" 1 + -iv "nurbsCubePatchesU" 1; +optionVar + -iv "nurbsCubePatchesV" 1 + -iv "nurbsCubePivotType" 1 + -fv "nurbsCubePivotX" 0 + -fv "nurbsCubePivotY" 0 + -fv "nurbsCubePivotZ" 0 + -fv "nurbsCubeWidth" 1 + -iv "nurbsCylinderAxisType" 1 + -fv "nurbsCylinderAxisX" 0 + -fv "nurbsCylinderAxisY" 1 + -fv "nurbsCylinderAxisZ" 0; +optionVar + -iv "nurbsCylinderCaps" 3 + -iv "nurbsCylinderDegree" 3 + -fv "nurbsCylinderEndSweep" 360 + -iv "nurbsCylinderGroupCaps" 1 + -fv "nurbsCylinderHeightRatio" 250 + -iv "nurbsCylinderPivotType" 1 + -fv "nurbsCylinderPivotX" 0 + -fv "nurbsCylinderPivotY" 0 + -fv "nurbsCylinderPivotZ" 0 + -fv "nurbsCylinderRadius" 1; +optionVar + -iv "nurbsCylinderSections" 12 + -iv "nurbsCylinderSpans" 200 + -fv "nurbsCylinderStartSweep" 0 + -fv "nurbsCylinderTolerance" 0.01 + -iv "nurbsCylinderUseGlobalTolerance" 0 + -iv "nurbsCylinderUseTolerance" 0 + -iv "nurbsPlaneAxisType" 2 + -fv "nurbsPlaneAxisX" 0 + -fv "nurbsPlaneAxisY" 1 + -fv "nurbsPlaneAxisZ" 0; +optionVar + -iv "nurbsPlaneDegree" 3 + -fv "nurbsPlaneLengthRatio" 1 + -iv "nurbsPlanePatchesU" 1 + -iv "nurbsPlanePatchesV" 1 + -iv "nurbsPlanePivotType" 1 + -fv "nurbsPlanePivotX" 0 + -fv "nurbsPlanePivotY" 0 + -fv "nurbsPlanePivotZ" 0 + -fv "nurbsPlaneWidth" 1 + -iv "nurbsPrimitiveAsToolExitOnComplete" 1; +optionVar + -sv "nurbsSelect" "selectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" nurbsSelect" + -iv "nurbsSelectbb" 1 + -iv "nurbsSelectlb" 1 + -iv "nurbsSelectrb" 1 + -iv "nurbsSelecttb" 1 + -iv "nurbsUnionDeleteInput" 1 + -iv "obeyMaxInfl" 1 + -iv "objectDetailsVisibility" 0 + -iv "offsetCosConnectBreaks" 1 + -iv "offsetCosCutLoop" 0; +optionVar + -fv "offsetCosDistance" 0 + -iv "offsetCosEuc" 0 + -iv "offsetCosLac" 1 + -iv "offsetCosRangePartial" 0 + -iv "offsetCosStitch" 1 + -iv "offsetCosSubdivDensity" 5 + -fv "offsetCosTolerance" 0.01 + -iv "offsetCosUseGlobalTol" 0 + -iv "oneTimeDefaultPluginLoad2008Ext2" 1 + -iv "oneTimeDefaultPluginLoad50" 1; +optionVar + -iv "oneTimeDefaultPluginLoad65" 1 + -iv "oneTimeDefaultPluginLoad70" 1 + -iv "oneTimeDefaultPluginLoad80" 1 + -iv "oneTimeDefaultPluginUnload2008sp1" 1 + -iv "oneTimeUnlimitedPluginLoad30" 1 + -ca "optionBoxDimensionsAim" + -iva "optionBoxDimensionsAim" 525 + -iva "optionBoxDimensionsAim" 350 + -ca "optionBoxDimensionsAlignCurves" + -iva "optionBoxDimensionsAlignCurves" 525 + -iva "optionBoxDimensionsAlignCurves" 350 + -ca "optionBoxDimensionsAlignSurfaces" + -iva "optionBoxDimensionsAlignSurfaces" 525 + -iva "optionBoxDimensionsAlignSurfaces" 350 + -ca "optionBoxDimensionsAlignUV" + -iva "optionBoxDimensionsAlignUV" 525 + -iva "optionBoxDimensionsAlignUV" 350 + -ca "optionBoxDimensionsAttachCurves" + -iva "optionBoxDimensionsAttachCurves" 525 + -iva "optionBoxDimensionsAttachCurves" 350; +optionVar + -ca "optionBoxDimensionsAttachSurfaces" + -iva "optionBoxDimensionsAttachSurfaces" 525 + -iva "optionBoxDimensionsAttachSurfaces" 350 + -ca "optionBoxDimensionsAutomaticMapping" + -iva "optionBoxDimensionsAutomaticMapping" 635 + -iva "optionBoxDimensionsAutomaticMapping" 438 + -ca "optionBoxDimensionsAverageNormals" + -iva "optionBoxDimensionsAverageNormals" 525 + -iva "optionBoxDimensionsAverageNormals" 350 + -ca "optionBoxDimensionsBirail1Tool" + -iva "optionBoxDimensionsBirail1Tool" 525 + -iva "optionBoxDimensionsBirail1Tool" 350 + -ca "optionBoxDimensionsChangeAnimCurveColor" + -iva "optionBoxDimensionsChangeAnimCurveColor" 525 + -iva "optionBoxDimensionsChangeAnimCurveColor" 350 + -ca "optionBoxDimensionsCircularFillet" + -iva "optionBoxDimensionsCircularFillet" 525 + -iva "optionBoxDimensionsCircularFillet" 350 + -ca "optionBoxDimensionsCleanup" + -iva "optionBoxDimensionsCleanup" 623 + -iva "optionBoxDimensionsCleanup" 576 + -ca "optionBoxDimensionsConvertFileText" + -iva "optionBoxDimensionsConvertFileText" 525 + -iva "optionBoxDimensionsConvertFileText" 350 + -ca "optionBoxDimensionsCopyCurrentUVSet" + -iva "optionBoxDimensionsCopyCurrentUVSet" 525 + -iva "optionBoxDimensionsCopyCurrentUVSet" 350 + -ca "optionBoxDimensionsCreateActiveRigidBody" + -iva "optionBoxDimensionsCreateActiveRigidBody" 612 + -iva "optionBoxDimensionsCreateActiveRigidBody" 579; +optionVar + -ca "optionBoxDimensionsCreateEmitter" + -iva "optionBoxDimensionsCreateEmitter" 525 + -iva "optionBoxDimensionsCreateEmitter" 350 + -ca "optionBoxDimensionsCreateLattice" + -iva "optionBoxDimensionsCreateLattice" 525 + -iva "optionBoxDimensionsCreateLattice" 350 + -ca "optionBoxDimensionsCreatePassiveRigidBody" + -iva "optionBoxDimensionsCreatePassiveRigidBody" 562 + -iva "optionBoxDimensionsCreatePassiveRigidBody" 661 + -ca "optionBoxDimensionsCreateReferenceOptions" + -iva "optionBoxDimensionsCreateReferenceOptions" 525 + -iva "optionBoxDimensionsCreateReferenceOptions" 350 + -ca "optionBoxDimensionsCreateSculptDeformer" + -iva "optionBoxDimensionsCreateSculptDeformer" 525 + -iva "optionBoxDimensionsCreateSculptDeformer" 350 + -ca "optionBoxDimensionsCustomNURBSDisplay" + -iva "optionBoxDimensionsCustomNURBSDisplay" 525 + -iva "optionBoxDimensionsCustomNURBSDisplay" 350 + -ca "optionBoxDimensionsCustomPolygonDisplay" + -iva "optionBoxDimensionsCustomPolygonDisplay" 525 + -iva "optionBoxDimensionsCustomPolygonDisplay" 350 + -ca "optionBoxDimensionsCutCurve" + -iva "optionBoxDimensionsCutCurve" 525 + -iva "optionBoxDimensionsCutCurve" 350 + -ca "optionBoxDimensionsCutFaces" + -iva "optionBoxDimensionsCutFaces" 525 + -iva "optionBoxDimensionsCutFaces" 350 + -ca "optionBoxDimensionsCylindricalMapping" + -iva "optionBoxDimensionsCylindricalMapping" 525 + -iva "optionBoxDimensionsCylindricalMapping" 350; +optionVar + -ca "optionBoxDimensionsDetachCurves" + -iva "optionBoxDimensionsDetachCurves" 525 + -iva "optionBoxDimensionsDetachCurves" 350 + -ca "optionBoxDimensionsDuplicateSpecial" + -iva "optionBoxDimensionsDuplicateSpecial" 537 + -iva "optionBoxDimensionsDuplicateSpecial" 387 + -ca "optionBoxDimensionsDuplicateSurfaceCurves" + -iva "optionBoxDimensionsDuplicateSurfaceCurves" 525 + -iva "optionBoxDimensionsDuplicateSurfaceCurves" 350 + -ca "optionBoxDimensionsEditPolygonsExtrudeFace" + -iva "optionBoxDimensionsEditPolygonsExtrudeFace" 525 + -iva "optionBoxDimensionsEditPolygonsExtrudeFace" 350 + -ca "optionBoxDimensionsEmitfromObject" + -iva "optionBoxDimensionsEmitfromObject" 771 + -iva "optionBoxDimensionsEmitfromObject" 598 + -ca "optionBoxDimensionsExportAllOptions" + -iva "optionBoxDimensionsExportAllOptions" 581 + -iva "optionBoxDimensionsExportAllOptions" 832 + -ca "optionBoxDimensionsExportSelectionOptions" + -iva "optionBoxDimensionsExportSelectionOptions" 801 + -iva "optionBoxDimensionsExportSelectionOptions" 749 + -ca "optionBoxDimensionsExtendCurve" + -iva "optionBoxDimensionsExtendCurve" 525 + -iva "optionBoxDimensionsExtendCurve" 350 + -ca "optionBoxDimensionsExtendSurfaces" + -iva "optionBoxDimensionsExtendSurfaces" 525 + -iva "optionBoxDimensionsExtendSurfaces" 350 + -ca "optionBoxDimensionsExtract" + -iva "optionBoxDimensionsExtract" 525 + -iva "optionBoxDimensionsExtract" 350; +optionVar + -ca "optionBoxDimensionsExtrude" + -iva "optionBoxDimensionsExtrude" 525 + -iva "optionBoxDimensionsExtrude" 350 + -ca "optionBoxDimensionsExtrudeEdge" + -iva "optionBoxDimensionsExtrudeEdge" 525 + -iva "optionBoxDimensionsExtrudeEdge" 350 + -ca "optionBoxDimensionsExtrudeVertices" + -iva "optionBoxDimensionsExtrudeVertices" 525 + -iva "optionBoxDimensionsExtrudeVertices" 350 + -ca "optionBoxDimensionsFilletBlendTool" + -iva "optionBoxDimensionsFilletBlendTool" 525 + -iva "optionBoxDimensionsFilletBlendTool" 350 + -ca "optionBoxDimensionsFlipUVs" + -iva "optionBoxDimensionsFlipUVs" 525 + -iva "optionBoxDimensionsFlipUVs" 350 + -ca "optionBoxDimensionsFreeformFillet" + -iva "optionBoxDimensionsFreeformFillet" 525 + -iva "optionBoxDimensionsFreeformFillet" 350 + -ca "optionBoxDimensionsFreezeTransformations" + -iva "optionBoxDimensionsFreezeTransformations" 525 + -iva "optionBoxDimensionsFreezeTransformations" 350 + -ca "optionBoxDimensionsGeometry" + -iva "optionBoxDimensionsGeometry" 525 + -iva "optionBoxDimensionsGeometry" 350 + -ca "optionBoxDimensionsGlobalStitch" + -iva "optionBoxDimensionsGlobalStitch" 525 + -iva "optionBoxDimensionsGlobalStitch" 350 + -ca "optionBoxDimensionsGoal" + -iva "optionBoxDimensionsGoal" 525 + -iva "optionBoxDimensionsGoal" 350; +optionVar + -ca "optionBoxDimensionsGraphCopy" + -iva "optionBoxDimensionsGraphCopy" 525 + -iva "optionBoxDimensionsGraphCopy" 350 + -ca "optionBoxDimensionsGraphDelete" + -iva "optionBoxDimensionsGraphDelete" 525 + -iva "optionBoxDimensionsGraphDelete" 350 + -ca "optionBoxDimensionsGraphPaste" + -iva "optionBoxDimensionsGraphPaste" 525 + -iva "optionBoxDimensionsGraphPaste" 350 + -ca "optionBoxDimensionsGraphScale" + -iva "optionBoxDimensionsGraphScale" 525 + -iva "optionBoxDimensionsGraphScale" 350 + -ca "optionBoxDimensionsGraphShowResults" + -iva "optionBoxDimensionsGraphShowResults" 525 + -iva "optionBoxDimensionsGraphShowResults" 350 + -ca "optionBoxDimensionsGraphSnap" + -iva "optionBoxDimensionsGraphSnap" 525 + -iva "optionBoxDimensionsGraphSnap" 350 + -ca "optionBoxDimensionsGravity" + -iva "optionBoxDimensionsGravity" 525 + -iva "optionBoxDimensionsGravity" 350 + -ca "optionBoxDimensionsGridOptions" + -iva "optionBoxDimensionsGridOptions" 525 + -iva "optionBoxDimensionsGridOptions" 350 + -ca "optionBoxDimensionsGroup" + -iva "optionBoxDimensionsGroup" 525 + -iva "optionBoxDimensionsGroup" 349 + -ca "optionBoxDimensionsHardwareRendererDisplay" + -iva "optionBoxDimensionsHardwareRendererDisplay" 525 + -iva "optionBoxDimensionsHardwareRendererDisplay" 347; +optionVar + -ca "optionBoxDimensionsHardwareTextureDisplay" + -iva "optionBoxDimensionsHardwareTextureDisplay" 525 + -iva "optionBoxDimensionsHardwareTextureDisplay" 350 + -ca "optionBoxDimensionsHyperGraphOptions" + -iva "optionBoxDimensionsHyperGraphOptions" 525 + -iva "optionBoxDimensionsHyperGraphOptions" 350 + -ca "optionBoxDimensionsImportOptions" + -iva "optionBoxDimensionsImportOptions" 701 + -iva "optionBoxDimensionsImportOptions" 557 + -ca "optionBoxDimensionsInstancer" + -iva "optionBoxDimensionsInstancer" 605 + -iva "optionBoxDimensionsInstancer" 707 + -ca "optionBoxDimensionsIntersectCurves" + -iva "optionBoxDimensionsIntersectCurves" 525 + -iva "optionBoxDimensionsIntersectCurves" 350 + -ca "optionBoxDimensionsKeysBakeSimulation" + -iva "optionBoxDimensionsKeysBakeSimulation" 525 + -iva "optionBoxDimensionsKeysBakeSimulation" 350 + -ca "optionBoxDimensionsLayoutUVs" + -iva "optionBoxDimensionsLayoutUVs" 525 + -iva "optionBoxDimensionsLayoutUVs" 350 + -ca "optionBoxDimensionsLoft" + -iva "optionBoxDimensionsLoft" 525 + -iva "optionBoxDimensionsLoft" 350 + -ca "optionBoxDimensionsLookThroughSelected" + -iva "optionBoxDimensionsLookThroughSelected" 525 + -iva "optionBoxDimensionsLookThroughSelected" 350 + -ca "optionBoxDimensionsMapUVBorder" + -iva "optionBoxDimensionsMapUVBorder" 525 + -iva "optionBoxDimensionsMapUVBorder" 350; +optionVar + -ca "optionBoxDimensionsMergeMultipleEdges" + -iva "optionBoxDimensionsMergeMultipleEdges" 525 + -iva "optionBoxDimensionsMergeMultipleEdges" 350 + -ca "optionBoxDimensionsMergeUVs" + -iva "optionBoxDimensionsMergeUVs" 525 + -iva "optionBoxDimensionsMergeUVs" 350 + -ca "optionBoxDimensionsMergeVertices" + -iva "optionBoxDimensionsMergeVertices" 525 + -iva "optionBoxDimensionsMergeVertices" 350 + -ca "optionBoxDimensionsMirrorCut" + -iva "optionBoxDimensionsMirrorCut" 525 + -iva "optionBoxDimensionsMirrorCut" 350 + -ca "optionBoxDimensionsMirrorGeometry" + -iva "optionBoxDimensionsMirrorGeometry" 525 + -iva "optionBoxDimensionsMirrorGeometry" 350 + -ca "optionBoxDimensionsModifyConstrainedAxis" + -iva "optionBoxDimensionsModifyConstrainedAxis" 525 + -iva "optionBoxDimensionsModifyConstrainedAxis" 350 + -ca "optionBoxDimensionsMotionTrail" + -iva "optionBoxDimensionsMotionTrail" 525 + -iva "optionBoxDimensionsMotionTrail" 350 + -ca "optionBoxDimensionsMrBakeText" + -iva "optionBoxDimensionsMrBakeText" 525 + -iva "optionBoxDimensionsMrBakeText" 350 + -ca "optionBoxDimensionsNURBStoPolygons" + -iva "optionBoxDimensionsNURBStoPolygons" 548 + -iva "optionBoxDimensionsNURBStoPolygons" 515 + -ca "optionBoxDimensionsNormal" + -iva "optionBoxDimensionsNormal" 525 + -iva "optionBoxDimensionsNormal" 350; +optionVar + -ca "optionBoxDimensionsNurbsCylinder" + -iva "optionBoxDimensionsNurbsCylinder" 771 + -iva "optionBoxDimensionsNurbsCylinder" 568 + -ca "optionBoxDimensionsOpenSceneOptions" + -iva "optionBoxDimensionsOpenSceneOptions" 525 + -iva "optionBoxDimensionsOpenSceneOptions" 350 + -ca "optionBoxDimensionsOrient" + -iva "optionBoxDimensionsOrient" 525 + -iva "optionBoxDimensionsOrient" 350 + -ca "optionBoxDimensionsParent" + -iva "optionBoxDimensionsParent" 525 + -iva "optionBoxDimensionsParent" 350 + -ca "optionBoxDimensionsParentConstraint" + -iva "optionBoxDimensionsParentConstraint" 525 + -iva "optionBoxDimensionsParentConstraint" 367 + -ca "optionBoxDimensionsPlanarMapping" + -iva "optionBoxDimensionsPlanarMapping" 525 + -iva "optionBoxDimensionsPlanarMapping" 342 + -ca "optionBoxDimensionsPlayblast" + -iva "optionBoxDimensionsPlayblast" 625 + -iva "optionBoxDimensionsPlayblast" 642 + -ca "optionBoxDimensionsPoint" + -iva "optionBoxDimensionsPoint" 525 + -iva "optionBoxDimensionsPoint" 350 + -ca "optionBoxDimensionsPointLight" + -iva "optionBoxDimensionsPointLight" 525 + -iva "optionBoxDimensionsPointLight" 350 + -ca "optionBoxDimensionsPolyGridUV" + -iva "optionBoxDimensionsPolyGridUV" 525 + -iva "optionBoxDimensionsPolyGridUV" 350; +optionVar + -ca "optionBoxDimensionsPolygonsBevel" + -iva "optionBoxDimensionsPolygonsBevel" 525 + -iva "optionBoxDimensionsPolygonsBevel" 350 + -ca "optionBoxDimensionsPolygonsSmooth" + -iva "optionBoxDimensionsPolygonsSmooth" 525 + -iva "optionBoxDimensionsPolygonsSmooth" 350 + -ca "optionBoxDimensionsProjectCurveOnSurface" + -iva "optionBoxDimensionsProjectCurveOnSurface" 525 + -iva "optionBoxDimensionsProjectCurveOnSurface" 350 + -ca "optionBoxDimensionsPruneSmallWeights" + -iva "optionBoxDimensionsPruneSmallWeights" 525 + -iva "optionBoxDimensionsPruneSmallWeights" 350 + -ca "optionBoxDimensionsRadial" + -iva "optionBoxDimensionsRadial" 525 + -iva "optionBoxDimensionsRadial" 350 + -ca "optionBoxDimensionsRebuildCurve" + -iva "optionBoxDimensionsRebuildCurve" 523 + -iva "optionBoxDimensionsRebuildCurve" 350 + -ca "optionBoxDimensionsRebuildSurfaces" + -iva "optionBoxDimensionsRebuildSurfaces" 580 + -iva "optionBoxDimensionsRebuildSurfaces" 480 + -ca "optionBoxDimensionsRelaxUVs" + -iva "optionBoxDimensionsRelaxUVs" 525 + -iva "optionBoxDimensionsRelaxUVs" 350 + -ca "optionBoxDimensionsRemoveTarget" + -iva "optionBoxDimensionsRemoveTarget" 525 + -iva "optionBoxDimensionsRemoveTarget" 350 + -ca "optionBoxDimensionsRenameCurrentUVSet" + -iva "optionBoxDimensionsRenameCurrentUVSet" 525 + -iva "optionBoxDimensionsRenameCurrentUVSet" 350; +optionVar + -ca "optionBoxDimensionsRenderAllLayersOptions" + -iva "optionBoxDimensionsRenderAllLayersOptions" 525 + -iva "optionBoxDimensionsRenderAllLayersOptions" 350 + -ca "optionBoxDimensionsResetTransformations" + -iva "optionBoxDimensionsResetTransformations" 525 + -iva "optionBoxDimensionsResetTransformations" 350 + -ca "optionBoxDimensionsRevolve" + -iva "optionBoxDimensionsRevolve" 525 + -iva "optionBoxDimensionsRevolve" 350 + -ca "optionBoxDimensionsRigidBind" + -iva "optionBoxDimensionsRigidBind" 525 + -iva "optionBoxDimensionsRigidBind" 350 + -ca "optionBoxDimensionsSaveSceneAsOptions" + -iva "optionBoxDimensionsSaveSceneAsOptions" 525 + -iva "optionBoxDimensionsSaveSceneAsOptions" 350 + -ca "optionBoxDimensionsSaveSceneOptions" + -iva "optionBoxDimensionsSaveSceneOptions" 525 + -iva "optionBoxDimensionsSaveSceneOptions" 350 + -ca "optionBoxDimensionsSetCurrentUVSet" + -iva "optionBoxDimensionsSetCurrentUVSet" 525 + -iva "optionBoxDimensionsSetCurrentUVSet" 350 + -ca "optionBoxDimensionsSetVertexNormal" + -iva "optionBoxDimensionsSetVertexNormal" 525 + -iva "optionBoxDimensionsSetVertexNormal" 350 + -ca "optionBoxDimensionsSmoothCurve" + -iva "optionBoxDimensionsSmoothCurve" 525 + -iva "optionBoxDimensionsSmoothCurve" 350 + -ca "optionBoxDimensionsSmoothProxy" + -iva "optionBoxDimensionsSmoothProxy" 763 + -iva "optionBoxDimensionsSmoothProxy" 658; +optionVar + -ca "optionBoxDimensionsSpotLight" + -iva "optionBoxDimensionsSpotLight" 525 + -iva "optionBoxDimensionsSpotLight" 350 + -ca "optionBoxDimensionsStitchSurfacePoints" + -iva "optionBoxDimensionsStitchSurfacePoints" 525 + -iva "optionBoxDimensionsStitchSurfacePoints" 350 + -ca "optionBoxDimensionsTransferAttributes" + -iva "optionBoxDimensionsTransferAttributes" 525 + -iva "optionBoxDimensionsTransferAttributes" 353 + -ca "optionBoxDimensionsUnparent" + -iva "optionBoxDimensionsUnparent" 525 + -iva "optionBoxDimensionsUnparent" 350 + -ca "optionBoxDimensionsUntrimSurfaces" + -iva "optionBoxDimensionsUntrimSurfaces" 525 + -iva "optionBoxDimensionsUntrimSurfaces" 350 + -ca "optionBoxDimensionstexMoveUVShellTool" + -iva "optionBoxDimensionstexMoveUVShellTool" 525 + -iva "optionBoxDimensionstexMoveUVShellTool" 350 + -iv "orientConstMaintainOffset" 0 + -fv "orientConstOffsetX" 0 + -fv "orientConstOffsetY" 0 + -fv "orientConstOffsetZ" 0; +optionVar + -iv "orientConstraintAddTargets" 1 + -iv "orientConstraintAxisX" 1 + -iv "orientConstraintAxisY" 1 + -iv "orientConstraintAxisZ" 1 + -fv "orientConstraintWeight" 1 + -sv "outTangentType" "linear" + -sv "outlinerEditorStateString" " outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName" + -iv "paintEffectsDisplayMesh" 1 + -iv "parConstMaintainOffset" 1 + -sv "paramDimContext" "paramDimContext -e -image1 \"paramDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" paramDimContext"; +optionVar + -iv "parentAdd" 0 + -iv "parentConstraintAddTargets" 1 + -iv "parentConstraintAxisRotateX" 1 + -iv "parentConstraintAxisRotateY" 1 + -iv "parentConstraintAxisRotateZ" 1 + -iv "parentConstraintAxisTranslateX" 1 + -iv "parentConstraintAxisTranslateY" 1 + -iv "parentConstraintAxisTranslateZ" 1 + -fv "parentConstraintWeight" 1 + -iv "parentPreserve" 1; +optionVar + -sv "particleInstancerName" "GoblinInstances" + -iv "pasteKeyConnect" 0 + -iv "pasteKeyCopies" 1 + -iv "pasteKeyHelpPictures" 0 + -sv "pasteKeyOption" "merge" + -sv "pasteKeyRange" "0:24" + -iv "pasteKeyTargetTime" 3 + -fv "pasteKeyTimeOffset" 0 + -iv "pasteKeyTimeRangeOverride" 0 + -fv "pasteKeyValueOffset" 0; +optionVar + -iv "pathAnimBankCB" 0 + -fv "pathAnimBankMaxSG" 90 + -fv "pathAnimBankScaleSG" 1 + -fv "pathAnimEndTimeSG" 240 + -iv "pathAnimFollowCB" 1 + -iv "pathAnimFrameRangeRB" 3 + -iv "pathAnimFrontAxisRB" 1 + -iv "pathAnimInverseFrontCB" 0 + -iv "pathAnimInverseUpCB" 0 + -iv "pathAnimParametricLengthCB" 0; +optionVar + -iv "pathAnimPrevFrontAxis" 1 + -iv "pathAnimPrevUpAxis" 2 + -fv "pathAnimStartTimeSG" 60 + -iv "pathAnimUpAxisRB" 2 + -sv "pathAnimWorldUpObjectTF" "" + -sv "pathAnimWorldUpTypeOM" "scene" + -ca "pathAnimWorldUpVectorFF" + -fva "pathAnimWorldUpVectorFF" 0 + -fva "pathAnimWorldUpVectorFF" 1 + -fva "pathAnimWorldUpVectorFF" 0 + -sv "pathsBookmarksStatus" "" + -sv "performanceSettingBindSkinAndFlexors" "0" + -sv "performanceSettingBlendShapes" "0"; +optionVar + -sv "performanceSettingClusterResolution" "0" + -sv "performanceSettingClusters" "0" + -sv "performanceSettingFlexors" "0" + -fv "performanceSettingGlobalClusterResolution" 5 + -fv "performanceSettingGlobalLatticeResolution" 0.01 + -sv "performanceSettingLatticeResolution" "0" + -sv "performanceSettingLattices" "0" + -sv "performanceSettingPaintEffects" "0" + -sv "performanceSettingSculpts" "0" + -sv "performanceSettingStitchSurfaces" "0"; +optionVar + -sv "performanceSettingTrimDisplay" "0" + -sv "performanceSettingWires" "0" + -iv "planarTrimDegree" 3 + -iv "planarTrimEuc" 0 + -iv "planarTrimLac" 1 + -iv "planarTrimPartial" 0 + -iv "planarTrimPolys" 1 + -fv "playbackMax" 24 + -fv "playbackMaxDefault" 24 + -fv "playbackMaxRange" 48; +optionVar + -fv "playbackMaxRangeDefault" 48 + -fv "playbackMin" 1 + -fv "playbackMinDefault" 1 + -fv "playbackMinRange" 1 + -fv "playbackMinRangeDefault" 1 + -iv "playbackRangeVisible" 1 + -iv "playblastClearCache" 1 + -sv "playblastCompression" "none" + -iv "playblastDisplaySizeSource" 2 + -fv "playblastEndTime" 10; +optionVar + -sv "playblastFile" "playblast" + -iv "playblastHeight" 480 + -iv "playblastOffscreen" 0 + -sv "playblastOutputFormat" "sgi" + -iv "playblastPadding" 4 + -iv "playblastSaveToFile" 1 + -fv "playblastScale" 1 + -iv "playblastShowOrnaments" 1 + -fv "playblastStartTime" 1 + -iv "playblastUseStartEnd" 0; +optionVar + -iv "playblastViewerOn" 1 + -iv "playblastWidth" 640 + -sv "plug-inOptions" "" + -iv "pointConstraintAxisX" 1 + -iv "pointConstraintAxisY" 1 + -iv "pointConstraintAxisZ" 1 + -fv "pointConstraintWeight" 1 + -ca "pointLightColor" + -fva "pointLightColor" 1 + -fva "pointLightColor" 1 + -fva "pointLightColor" 1 + -iv "pointLightDecay" 0 + -fv "pointLightIntensity" 1; +optionVar + -ca "pointLightShadowColor" + -fva "pointLightShadowColor" 0 + -fva "pointLightShadowColor" 0 + -fva "pointLightShadowColor" 0 + -iv "pointLightShadows" 0 + -ca "pokeLocalTranslate" + -fva "pokeLocalTranslate" 0 + -fva "pokeLocalTranslate" 0 + -fva "pokeLocalTranslate" 0 + -ca "pokeTranslate" + -fva "pokeTranslate" 0 + -fva "pokeTranslate" 0 + -fva "pokeTranslate" 0 + -iv "pokeTranslateLocalSpace" 0 + -iv "poleVectorConstraintAddTargets" 1 + -fv "poleVectorConstraintWeight" 1 + -sv "polyAppendFacetContext" "polyAppendFacetCtx -e -image1 \"polyAppendFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 1\n-subdivision 1\n-texture 1\n-rotate 0\n-isRotateAvailable 0\n-planarConstraint 0\n-maximumNumberOfPoints -1\npolyAppendFacetContext" + -iv "polyAutoConvertAction" 1 + -iv "polyAutoInstallAction" 0; +optionVar + -iv "polyAutoProjcm" 0 + -fv "polyAutoProjeg" 0.2 + -iv "polyAutoProjibd" 0 + -iv "polyAutoProjl" 2 + -iv "polyAutoProjlm" 1 + -iv "polyAutoProjo" 0 + -iv "polyAutoProjp" 1 + -iv "polyAutoProjpb" 0 + -sv "polyAutoProjpolyGeomObject" "" + -iv "polyAutoProjsc" 1; +optionVar + -sv "polyAutoProjuvSetName" "uvSet1" + -iv "polyAutoShowColorPerVertex" 1 + -iv "polyAverageNormalAllowZero" 0 + -iv "polyAverageNormalPostnormalize" 1 + -iv "polyAverageNormalPrenormalize" 0 + -ca "polyAverageNormalReplace" + -fva "polyAverageNormalReplace" 1 + -fva "polyAverageNormalReplace" 0 + -fva "polyAverageNormalReplace" 0 + -fv "polyAverageNormalTol" 0.1 + -iv "polyAverageVertexi" 2 + -ca "polyBdeClashColor" + -fva "polyBdeClashColor" 0 + -fva "polyBdeClashColor" 1 + -fva "polyBdeClashColor" 1 + -iv "polyBdeColorOnApply" 0; +optionVar + -ca "polyBdeNoneColor" + -fva "polyBdeNoneColor" 0 + -fva "polyBdeNoneColor" 0 + -fva "polyBdeNoneColor" 0 + -iv "polyBdeNumQcRows" 0 + -iv "polyBdeNumTemplates" 0 + -ca "polyBdeOutOfRangeColor" + -fva "polyBdeOutOfRangeColor" 1 + -fva "polyBdeOutOfRangeColor" 1 + -fva "polyBdeOutOfRangeColor" 0 + -iv "polyBevelAutofit" 0 + -fv "polyBevelOffset" 0.02 + -iv "polyBevelOffsetAsFraction" 1 + -iv "polyBevelOffsetWorld" 1 + -fv "polyBevelRound" 0.5 + -iv "polyBevelSegment" 1; +optionVar + -iv "polyBevelUVAssignment" 0 + -iv "polyBrushMMModKeys" 0 + -iv "polyBrushOperation" 19 + -iv "polyChamferVertexDeleteFace" 0 + -fv "polyChamferVertexWidth" 0.25 + -fv "polyChipOffDAttr" 0 + -iv "polyChipOffDDoSeparate" 1 + -ca "polyChipOffDGravity" + -fva "polyChipOffDGravity" 0 + -fva "polyChipOffDGravity" -1 + -fva "polyChipOffDGravity" 0 + -ca "polyChipOffDLocalDirection" + -fva "polyChipOffDLocalDirection" 1 + -fva "polyChipOffDLocalDirection" 0 + -fva "polyChipOffDLocalDirection" 0 + -ca "polyChipOffDLocalRotate" + -fva "polyChipOffDLocalRotate" 0 + -fva "polyChipOffDLocalRotate" 0 + -fva "polyChipOffDLocalRotate" 0; +optionVar + -ca "polyChipOffDLocalScale" + -fva "polyChipOffDLocalScale" 1 + -fva "polyChipOffDLocalScale" 1 + -fva "polyChipOffDLocalScale" 1 + -ca "polyChipOffDLocalTranslate" + -fva "polyChipOffDLocalTranslate" 0 + -fva "polyChipOffDLocalTranslate" 0 + -fva "polyChipOffDLocalTranslate" 0 + -ca "polyChipOffDMagnet" + -fva "polyChipOffDMagnet" 0 + -fva "polyChipOffDMagnet" 0 + -fva "polyChipOffDMagnet" 0 + -fv "polyChipOffDOffset" 0 + -fv "polyChipOffDRandom" 0 + -ca "polyChipOffDRotate" + -fva "polyChipOffDRotate" 0 + -fva "polyChipOffDRotate" 0 + -fva "polyChipOffDRotate" 0 + -ca "polyChipOffDScale" + -fva "polyChipOffDScale" 1 + -fva "polyChipOffDScale" 1 + -fva "polyChipOffDScale" 1 + -ca "polyChipOffDTranslate" + -fva "polyChipOffDTranslate" 0 + -fva "polyChipOffDTranslate" 0 + -fva "polyChipOffDTranslate" 0 + -fv "polyChipOffDWeight" 0 + -iv "polyChipOffDWorld" 0; +optionVar + -fv "polyChipOffDWorldSpace" 0 + -fv "polyChipOffEAttr" 0 + -iv "polyChipOffEDoSeparate" 0 + -ca "polyChipOffEGravity" + -fva "polyChipOffEGravity" 0 + -fva "polyChipOffEGravity" -1 + -fva "polyChipOffEGravity" 0 + -ca "polyChipOffELocalDirection" + -fva "polyChipOffELocalDirection" 1 + -fva "polyChipOffELocalDirection" 0 + -fva "polyChipOffELocalDirection" 0 + -ca "polyChipOffELocalRotate" + -fva "polyChipOffELocalRotate" 0 + -fva "polyChipOffELocalRotate" 0 + -fva "polyChipOffELocalRotate" 0 + -ca "polyChipOffELocalScale" + -fva "polyChipOffELocalScale" 1 + -fva "polyChipOffELocalScale" 1 + -fva "polyChipOffELocalScale" 1 + -ca "polyChipOffELocalTranslate" + -fva "polyChipOffELocalTranslate" 0 + -fva "polyChipOffELocalTranslate" 0 + -fva "polyChipOffELocalTranslate" 0 + -ca "polyChipOffEMagnet" + -fva "polyChipOffEMagnet" 0 + -fva "polyChipOffEMagnet" 0 + -fva "polyChipOffEMagnet" 0 + -fv "polyChipOffEOffset" 0; +optionVar + -fv "polyChipOffERandom" 0 + -ca "polyChipOffERotate" + -fva "polyChipOffERotate" 0 + -fva "polyChipOffERotate" 0 + -fva "polyChipOffERotate" 0 + -ca "polyChipOffEScale" + -fva "polyChipOffEScale" 1 + -fva "polyChipOffEScale" 1 + -fva "polyChipOffEScale" 1 + -ca "polyChipOffETranslate" + -fva "polyChipOffETranslate" 0 + -fva "polyChipOffETranslate" 0 + -fva "polyChipOffETranslate" 0 + -fv "polyChipOffEWeight" 0 + -iv "polyChipOffEWorld" 0 + -fv "polyChipOffEWorldSpace" 0 + -iv "polyCleanupAllMeshes" 0 + -iv "polyCleanupConcave" 0 + -iv "polyCleanupHistory" 1; +optionVar + -iv "polyCleanupHoles" 0 + -iv "polyCleanupLaminaFace" 0 + -iv "polyCleanupNSided" 0 + -iv "polyCleanupNoTrgFace" 0 + -iv "polyCleanupNonManifold" -1 + -iv "polyCleanupNonPlanar" 0 + -iv "polyCleanupOperation" 2 + -iv "polyCleanupQuads" 0 + -iv "polyCleanupSharedUVs" 0 + -fv "polyCleanupZeroGeomETol" 0.01; +optionVar + -iv "polyCleanupZeroGeomEdge" 1 + -fv "polyCleanupZeroGeomFTol" 1e-005 + -iv "polyCleanupZeroGeomFace" 0 + -iv "polyCleanupZeroMap" 0 + -fv "polyCleanupZeroMapTol" 1e-005 + -iv "polyConnectBordersAutoReverse" 0 + -fv "polyConnectBordersMapEdgeCount" 0 + -fv "polyConnectBordersQuadAngle" 180 + -iv "polyConnectBordersQuads" 1 + -iv "polyConnectBordersReverse" 0; +optionVar + -fv "polyContinuity" 1 + -iv "polyCopyPasteAction" 2 + -iv "polyCopyPasteColor" 0 + -iv "polyCopyPasteShader" 1 + -iv "polyCopyPasteUV" 1 + -sv "polyCopyUVSet" "noOverlap_UV" + -iv "polyCount" 0 + -iv "polyCountVisibility" 1 + -sv "polyCreaseContext" "polyCreaseCtx -e -image1 \"polyCrease.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -extendSelection 0\n-relative 0\npolyCreaseContext" + -sv "polyCreateFacetContext" "polyCreateFacetCtx -e -image1 \"polyCreateFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 0\n-subdivision 1\n-texture 1\n-planarConstraint 0\n-maximumNumberOfPoints -1\npolyCreateFacetContext"; +optionVar + -iv "polyCreateMeshesSingleSided" 0 + -sv "polyCreateUVSet" "uvSet" + -sv "polyCurrentUVSet" "map1" + -sv "polyCutContext" "polyCutCtx -e -image1 \"polyCut.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -deleteFaces 0\n-extractFaces 0\n-extractOffset 0.5 0.5 0.5 polyCutContext" + -fv "polyDefaultTangentSmoothingAngle" 0 + -iv "polyDefaultTangentSpace" 0 + -iv "polyDisplayDisplayBackfaceCulling" 0 + -iv "polyDisplayHardEdgeBackfaceCulling" 0 + -iv "polyDisplayLimitedToSelectedOV" 1 + -iv "polyDisplayWireBackfaceCulling" 0; +optionVar + -iv "polyDivisions" 2 + -iv "polyDuplicateEdgeAsTool" 1 + -iv "polyDuplicateEdgeAutoComplete" 1 + -iv "polyDuplicateEdgeDeleteEdge" 1 + -fv "polyDuplicateEdgeOffset" 0.5 + -fv "polyDuplicateEdgeVertexOffset" 0 + -fv "polyExtrudeAttr" 0 + -iv "polyExtrudeDivisions" 1 + -iv "polyExtrudeEdgeDivisions" 1 + -ca "polyExtrudeEdgeLocalDirection" + -fva "polyExtrudeEdgeLocalDirection" 1 + -fva "polyExtrudeEdgeLocalDirection" 0 + -fva "polyExtrudeEdgeLocalDirection" 0; +optionVar + -ca "polyExtrudeEdgeLocalRotate" + -fva "polyExtrudeEdgeLocalRotate" 0 + -fva "polyExtrudeEdgeLocalRotate" 0 + -fva "polyExtrudeEdgeLocalRotate" 0 + -ca "polyExtrudeEdgeLocalScale" + -fva "polyExtrudeEdgeLocalScale" 1 + -fva "polyExtrudeEdgeLocalScale" 1 + -fva "polyExtrudeEdgeLocalScale" 1 + -ca "polyExtrudeEdgeLocalTranslate" + -fva "polyExtrudeEdgeLocalTranslate" 0 + -fva "polyExtrudeEdgeLocalTranslate" 0 + -fva "polyExtrudeEdgeLocalTranslate" 0 + -fv "polyExtrudeEdgeRandom" 0 + -ca "polyExtrudeEdgeRotate" + -fva "polyExtrudeEdgeRotate" 0 + -fva "polyExtrudeEdgeRotate" 0 + -fva "polyExtrudeEdgeRotate" 0 + -ca "polyExtrudeEdgeScale" + -fva "polyExtrudeEdgeScale" 1 + -fva "polyExtrudeEdgeScale" 1 + -fva "polyExtrudeEdgeScale" 1 + -fv "polyExtrudeEdgeSmoothingAngle" 30 + -fv "polyExtrudeEdgeTaper" 1 + -fv "polyExtrudeEdgeTaperValue" 1 + -ca "polyExtrudeEdgeTranslate" + -fva "polyExtrudeEdgeTranslate" 0 + -fva "polyExtrudeEdgeTranslate" 0 + -fva "polyExtrudeEdgeTranslate" 0; +optionVar + -fv "polyExtrudeEdgeTwist" 0 + -iv "polyExtrudeEdgeUseCurve" 1 + -iv "polyExtrudeEdgeWorld" 0 + -fv "polyExtrudeEdgeWorldSpace" 0 + -iv "polyExtrudeFaceDivisions" 1 + -fv "polyExtrudeFaceOffset" 0 + -fv "polyExtrudeFaceSmoothingAngle" 30 + -fv "polyExtrudeFaceTaper" 1 + -fv "polyExtrudeFaceTwist" 0 + -iv "polyExtrudeFaceUseCurve" 1; +optionVar + -ca "polyExtrudeGravity" + -fva "polyExtrudeGravity" 0 + -fva "polyExtrudeGravity" -1 + -fva "polyExtrudeGravity" 0 + -ca "polyExtrudeLocalDirection" + -fva "polyExtrudeLocalDirection" 1 + -fva "polyExtrudeLocalDirection" 0 + -fva "polyExtrudeLocalDirection" 0 + -ca "polyExtrudeLocalRotate" + -fva "polyExtrudeLocalRotate" 0 + -fva "polyExtrudeLocalRotate" 0 + -fva "polyExtrudeLocalRotate" 0 + -ca "polyExtrudeLocalScale" + -fva "polyExtrudeLocalScale" 1 + -fva "polyExtrudeLocalScale" 1 + -fva "polyExtrudeLocalScale" 1 + -ca "polyExtrudeLocalTranslate" + -fva "polyExtrudeLocalTranslate" 0 + -fva "polyExtrudeLocalTranslate" 0 + -fva "polyExtrudeLocalTranslate" 0 + -ca "polyExtrudeMagnet" + -fva "polyExtrudeMagnet" 0 + -fva "polyExtrudeMagnet" 0 + -fva "polyExtrudeMagnet" 0 + -fv "polyExtrudeOffset" 0 + -fv "polyExtrudeRandom" 0 + -ca "polyExtrudeRotate" + -fva "polyExtrudeRotate" 0 + -fva "polyExtrudeRotate" 0 + -fva "polyExtrudeRotate" 0 + -ca "polyExtrudeScale" + -fva "polyExtrudeScale" 1 + -fva "polyExtrudeScale" 1 + -fva "polyExtrudeScale" 1; +optionVar + -fv "polyExtrudeSmoothingAngle" 30 + -fv "polyExtrudeTaperValue" 1 + -ca "polyExtrudeTranslate" + -fva "polyExtrudeTranslate" 0 + -fva "polyExtrudeTranslate" 0 + -fva "polyExtrudeTranslate" 0 + -fv "polyExtrudeTwist" 0 + -iv "polyExtrudeUseCurve" 1 + -iv "polyExtrudeVertexDivisions" 1 + -fv "polyExtrudeVertexLength" 1 + -ca "polyExtrudeVertexTranslate" + -fva "polyExtrudeVertexTranslate" 0 + -fva "polyExtrudeVertexTranslate" 0 + -fva "polyExtrudeVertexTranslate" 0 + -fv "polyExtrudeVertexWidth" 0.5 + -fv "polyExtrudeWeight" 0; +optionVar + -iv "polyExtrudeWorld" 0 + -fv "polyExtrudeWorldSpace" 0 + -iv "polyFaceSensitive" 0 + -iv "polyGridUVValuePixel" 0 + -iv "polyGridUVValueU" 256 + -iv "polyGridUVValueV" 256 + -iv "polyKeepFacetsGrouped" 1 + -iv "polyKeepFacetsPlanar" 0 + -iv "polyLayoutUVMultiOrNonMulti" 1 + -fv "polyLayoutUVeg" 0.2066; +optionVar + -iv "polyLayoutUVfr" 1 + -iv "polyLayoutUVl" 2 + -iv "polyLayoutUVlm" 1 + -iv "polyLayoutUVrbf" 1 + -iv "polyLayoutUVsc" 1 + -iv "polyLayoutUVse" 0 + -iv "polyMapBorderAutoShapeDetail" 0 + -iv "polyMapBorderOp" 1 + -fv "polyMapBorderShapeDetail" 0 + -iv "polyMapSewMovelps" 0; +optionVar + -iv "polyMapSewMovenf" 10 + -fv "polyMergeEdge" 0 + -sv "polyMergeEdgeContext" "polyMergeEdgeCtx -e -image1 \"polyMergeEdge.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 1\n-firstEdge -1\n-secondEdge -1\n-mergeTexture 0\npolyMergeEdgeContext" + -iv "polyMergeEdgeMap" 1 + -iv "polyMergeEdgeWorldSpace" 1 + -sv "polyMergeFacetContext" "polyMergeFacetCtx -e -image1 \"polyMergeFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 6\n-firstFacet -1\n-secondFacet -1\npolyMergeFacetContext" + -fv "polyMergeUVDistance" 0.01 + -iv "polyMergeVertexAlwaysMergeTwoVertices" 1 + -sv "polyMergeVertexContext" "targetWeldCtx -e -image1 \"polyMergeVertex.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mergeToCenter 0\npolyMergeVertexContext" + -fv "polyMergeVertexDistance" 0.001; +optionVar + -iv "polyMirrorCutAxis" 1 + -iv "polyMirrorCutCombine" 0 + -fv "polyMirrorCutMergeVertexTolerance" 0.001 + -iv "polyMirrorDirection" 3 + -iv "polyMirrorStitch" 1 + -iv "polyMoveeLocalCenter" 1 + -ca "polyMoveeLocalRotate" + -fva "polyMoveeLocalRotate" 0 + -fva "polyMoveeLocalRotate" 0 + -fva "polyMoveeLocalRotate" 0 + -ca "polyMoveeLocalScale" + -fva "polyMoveeLocalScale" 1 + -fva "polyMoveeLocalScale" 1 + -fva "polyMoveeLocalScale" 1 + -ca "polyMoveeLocalTranslate" + -fva "polyMoveeLocalTranslate" 0 + -fva "polyMoveeLocalTranslate" 0 + -fva "polyMoveeLocalTranslate" 0 + -fv "polyMoveeRandom" 0; +optionVar + -ca "polyMoveeRotate" + -fva "polyMoveeRotate" 0 + -fva "polyMoveeRotate" 0 + -fva "polyMoveeRotate" 0 + -ca "polyMoveeScale" + -fva "polyMoveeScale" 1 + -fva "polyMoveeScale" 1 + -fva "polyMoveeScale" 1 + -ca "polyMoveeTranslate" + -fva "polyMoveeTranslate" 0 + -fva "polyMoveeTranslate" 0 + -fva "polyMoveeTranslate" 0 + -iv "polyMoveeWorld" 0 + -iv "polyMoveeWorldSpace" 0 + -fv "polyMovefAttr" 0 + -ca "polyMovefGravity" + -fva "polyMovefGravity" 0 + -fva "polyMovefGravity" -1 + -fva "polyMovefGravity" 0 + -ca "polyMovefLocalDirection" + -fva "polyMovefLocalDirection" 1 + -fva "polyMovefLocalDirection" 0 + -fva "polyMovefLocalDirection" 0 + -ca "polyMovefLocalRotate" + -fva "polyMovefLocalRotate" 0 + -fva "polyMovefLocalRotate" 0 + -fva "polyMovefLocalRotate" 0 + -ca "polyMovefLocalScale" + -fva "polyMovefLocalScale" 1 + -fva "polyMovefLocalScale" 1 + -fva "polyMovefLocalScale" 1; +optionVar + -ca "polyMovefLocalTranslate" + -fva "polyMovefLocalTranslate" 0 + -fva "polyMovefLocalTranslate" 0 + -fva "polyMovefLocalTranslate" 0 + -ca "polyMovefMagnet" + -fva "polyMovefMagnet" 0 + -fva "polyMovefMagnet" 0 + -fva "polyMovefMagnet" 0 + -fv "polyMovefOffset" 0 + -fv "polyMovefRandom" 0 + -ca "polyMovefRotate" + -fva "polyMovefRotate" 0 + -fva "polyMovefRotate" 0 + -fva "polyMovefRotate" 0 + -ca "polyMovefScale" + -fva "polyMovefScale" 1 + -fva "polyMovefScale" 1 + -fva "polyMovefScale" 1 + -ca "polyMovefTranslate" + -fva "polyMovefTranslate" 0 + -fva "polyMovefTranslate" 0 + -fva "polyMovefTranslate" 0 + -fv "polyMovefWeight" 0 + -iv "polyMovefWorld" 0 + -iv "polyMovefWorldSpace" 0; +optionVar + -ca "polyMovevtxLocalDirection" + -fva "polyMovevtxLocalDirection" 1 + -fva "polyMovevtxLocalDirection" 0 + -fva "polyMovevtxLocalDirection" 0 + -ca "polyMovevtxLocalRotate" + -fva "polyMovevtxLocalRotate" 0 + -fva "polyMovevtxLocalRotate" 0 + -fva "polyMovevtxLocalRotate" 0 + -ca "polyMovevtxLocalScale" + -fva "polyMovevtxLocalScale" 1 + -fva "polyMovevtxLocalScale" 1 + -fva "polyMovevtxLocalScale" 1 + -ca "polyMovevtxLocalTranslate" + -fva "polyMovevtxLocalTranslate" 0 + -fva "polyMovevtxLocalTranslate" 0 + -fva "polyMovevtxLocalTranslate" 0 + -fv "polyMovevtxRandom" 0 + -ca "polyMovevtxRotate" + -fva "polyMovevtxRotate" 0 + -fva "polyMovevtxRotate" 0 + -fva "polyMovevtxRotate" 0 + -ca "polyMovevtxScale" + -fva "polyMovevtxScale" 1 + -fva "polyMovevtxScale" 1 + -fva "polyMovevtxScale" 1 + -ca "polyMovevtxTranslate" + -fva "polyMovevtxTranslate" 0 + -fva "polyMovevtxTranslate" 0 + -fva "polyMovevtxTranslate" 0 + -iv "polyMovevtxWorld" 0 + -iv "polyMovevtxWorldSpace" 0; +optionVar + -iv "polyNormalMode" 4 + -ca "polyPlaneCenter" + -fva "polyPlaneCenter" 0 + -fva "polyPlaneCenter" 0 + -fva "polyPlaneCenter" 0 + -iv "polyPlaneCutDirection" 2 + -iv "polyPlaneDeleteFaces" 1 + -iv "polyPlaneExtractFaces" 0 + -ca "polyPlaneExtractOffset" + -fva "polyPlaneExtractOffset" 0 + -fva "polyPlaneExtractOffset" 0 + -fva "polyPlaneExtractOffset" 0 + -ca "polyPlaneRotate" + -fva "polyPlaneRotate" 0 + -fva "polyPlaneRotate" 0 + -fva "polyPlaneRotate" 0 + -ca "polyPlaneScale" + -fva "polyPlaneScale" 1 + -fva "polyPlaneScale" 1 + -iv "polyPrimitiveAsToolExitOnComplete" 1 + -iv "polyPrimitiveConeAxis" 2; +optionVar + -iv "polyPrimitiveConeCreateUVs" 1 + -fv "polyPrimitiveConeHeight" 2 + -iv "polyPrimitiveConeNormalize" 1 + -iv "polyPrimitiveConePreserveAspectRatio" 1 + -fv "polyPrimitiveConeRadius" 1 + -iv "polyPrimitiveConeRoundCap" 0 + -iv "polyPrimitiveConeSX" 20 + -iv "polyPrimitiveConeSY" 1 + -iv "polyPrimitiveConeSZ" 0 + -iv "polyPrimitiveConeTexture" 1; +optionVar + -iv "polyPrimitiveCubeAxis" 2 + -iv "polyPrimitiveCubeCreateUVs" 1 + -fv "polyPrimitiveCubeDepth" 1 + -fv "polyPrimitiveCubeHeight" 1 + -iv "polyPrimitiveCubeNormalize" 1 + -iv "polyPrimitiveCubeNormalizeType" 1 + -iv "polyPrimitiveCubePreserveAspectRatio" 1 + -iv "polyPrimitiveCubeSX" 1 + -iv "polyPrimitiveCubeSY" 1 + -iv "polyPrimitiveCubeSZ" 1; +optionVar + -iv "polyPrimitiveCubeTexture" 1 + -fv "polyPrimitiveCubeWidth" 1 + -iv "polyPrimitiveCylinderAxis" 2 + -iv "polyPrimitiveCylinderCreateUVs" 1 + -fv "polyPrimitiveCylinderHeight" 10 + -iv "polyPrimitiveCylinderNormalize" 1 + -iv "polyPrimitiveCylinderPreserveAspectRatio" 1 + -fv "polyPrimitiveCylinderRadius" 1 + -iv "polyPrimitiveCylinderRoundCap" 0 + -iv "polyPrimitiveCylinderSX" 8; +optionVar + -iv "polyPrimitiveCylinderSY" 1 + -iv "polyPrimitiveCylinderSZ" 1 + -iv "polyPrimitiveCylinderTexture" 1 + -iv "polyPrimitivePlaneAxis" 2 + -iv "polyPrimitivePlaneCreateUVs" 1 + -fv "polyPrimitivePlaneHeight" 1 + -iv "polyPrimitivePlanePreserveAspectRatio" 1 + -iv "polyPrimitivePlaneSX" 10 + -iv "polyPrimitivePlaneSY" 10 + -iv "polyPrimitivePlaneTexture" 1; +optionVar + -fv "polyPrimitivePlaneWidth" 1 + -iv "polyPrimitivePyramidAxis" 2 + -iv "polyPrimitivePyramidCreateUVs" 1 + -iv "polyPrimitivePyramidNS" 2 + -iv "polyPrimitivePyramidNormalize" 1 + -iv "polyPrimitivePyramidPreserveAspectRatio" 1 + -iv "polyPrimitivePyramidSC" 0 + -iv "polyPrimitivePyramidSH" 1 + -fv "polyPrimitivePyramidSideLength" 1 + -iv "polyPrimitivePyramidTexture" 1; +optionVar + -iv "polyPrimitiveSphereAxis" 2 + -iv "polyPrimitiveSphereCreateUVs" 1 + -fv "polyPrimitiveSphereRadius" 1 + -iv "polyPrimitiveSphereSX" 14 + -iv "polyPrimitiveSphereSY" 6 + -iv "polyPrimitiveSphereTexture" 2 + -iv "polyPrimitiveSphereUVType" 2 + -iv "polyPrimitiveTorusAxis" 2 + -iv "polyPrimitiveTorusCreateUVs" 1 + -fv "polyPrimitiveTorusRadius" 1; +optionVar + -iv "polyPrimitiveTorusSX" 20 + -iv "polyPrimitiveTorusSY" 20 + -fv "polyPrimitiveTorusSectionRadius" 0.5 + -iv "polyPrimitiveTorusTexture" 1 + -fv "polyPrimitiveTorusTwist" 0 + -iv "polyProjectionCreateMapCylindrical" 0 + -iv "polyProjectionCreateMapPlanar" 0 + -iv "polyProjectionFitToBoxOrPlaneCylindrical" 2 + -iv "polyProjectionFitToBoxOrPlanePlanar" 1 + -iv "polyProjectionInsertionPointCylindrical" 1; +optionVar + -iv "polyProjectionInsertionPointPlanar" 1 + -iv "polyProjectionMappingDirectionCylindrical" 1 + -iv "polyProjectionMappingDirectionPlanar" 4 + -iv "polyProjectionSquareImagePlanar" 1 + -sv "polyProjectionUvSetNameCylindrical" "uvSet1" + -sv "polyProjectionUvSetNamePlanar" "uvSet1" + -fv "polyQuadrangulateAngle" 30 + -iv "polyQuadrangulateGroupBorder" 1 + -iv "polyQuadrangulateHardEdges" 1 + -iv "polyQuadrangulateTextureBorder" 1; +optionVar + -iv "polyQuadrangulateWorldSpace" 1 + -iv "polyRelaxAlgorithm" 1 + -iv "polyRelaxMaxIterations" 5 + -iv "polyRelaxPinBoundary" 1 + -iv "polyRelaxPinSelected" 0 + -iv "polyRelaxPinUVs" 1 + -iv "polyRelaxPinUnselected" 1 + -iv "polyRelaxUseMaxIterations" 0 + -sv "polyRenameUVSet" "noOverlap_consistantScale_UV" + -fv "polyRotateUVAngleClockwise" 45; +optionVar + -fv "polyRotateUVAngleCounterclockwise" 45 + -sv "polySelectConstraintState" "" + -sv "polySelectContext" "polySelectCtx -e -image1 \"polySelectEdgeBorder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 2\npolySelectContext" + -sv "polySelectEditContext" "polySelectEditCtx -e -image1 \"polySplitEdgeRing.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-autoComplete 1\n-divisions 10\n-useEqualMultiplier 0\n-fixQuads 0\n-smoothingAngle 0\n-splitType 1\npolySelectEditContext" + -fv "polySetNormalX" 1 + -fv "polySetNormalY" 0 + -fv "polySetNormalZ" 0 + -iv "polySetToFaceNormalUserNormal" 0 + -fv "polySewEdge" 7.5886 + -iv "polySewEdgeMap" 1; +optionVar + -iv "polySewEdgeWorldSpace" 1 + -sv "polySlideEdgeContext" "polySlideEdgeCtx -e -image1 \"slideEdgeTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -edgeDirection 0\n-direction 1\n-absolute 0\n-useSnapping 1\n-snappingTolerance 0.1\n-snappingPoints 1\npolySlideEdgeContext" + -iv "polySmoothBaseMeshDisplay" 2 + -iv "polySmoothEdivisions" 4 + -iv "polySmoothHiInLayer" 0 + -iv "polySmoothKeepBorder" 0 + -iv "polySmoothKeepHardEdge" 0 + -iv "polySmoothKeepMapBorders" 1 + -iv "polySmoothKeepSelectionBorder" 0 + -iv "polySmoothKeepTesselation" 0; +optionVar + -iv "polySmoothLoInLayer" 0 + -iv "polySmoothLoRenderable" 1 + -iv "polySmoothMethod" 1 + -iv "polySmoothMirror" 1 + -iv "polySmoothMirrorAxis" 4 + -fv "polySmoothMirrorMergeVertexTolerance" 0.001 + -iv "polySmoothNumIter" 2 + -iv "polySmoothPropEHardness" 0 + -fv "polySmoothRoundness" 1 + -iv "polySmoothShareTransform" 0; +optionVar + -iv "polySmoothSmoothDisplay" 3 + -iv "polySmoothSmoothUVs" 1 + -iv "polySmoothToggleProxies" 1 + -fv "polySmoothTransparency" 0.75 + -fv "polySmoothVolume" 0.1 + -fv "polySoftEdge" 30 + -sv "polySplitContext" "polySplitCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivision 1\n-precsnap 100\n-magnetsnap 9\n-enablesnap 1\n-snaptoedge 1\n-smoothingangle 0\npolySplitContext" + -fv "polySubdLene" 0 + -iv "polySubdSubde" 1 + -iv "polySubdWSe" 0; +optionVar + -iv "polyUVBrushOperation" 8 + -iv "polyUnfoldUVs" 1 + -sv "polyVertexNormalEdit" "polyVertexNormalCtx -e -image1 \"vertexNormalEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -rotatemode 0\n-relativemode 0\n-lockmode 0\npolyVertexNormalEdit" + -fv "polyWedgeFaceAngle" 10 + -iv "polyWedgeFaceDivisions" 1 + -iv "popUpHelpMode" 0 + -iv "popUpHelpModeTime" 0 + -iv "popupMenuSelection" 0 + -sv "poseLibDefaultPathStatus" "%USERPROFILE%/My Documents/maya/8.5/poseLib" + -fv "positionalTolerance" 3.53146e-008; +optionVar + -iv "preSelectHilite" 1 + -sv "preferredRenderer" "mayaSoftware" + -iv "preselectHighlightManips" 0 + -sv "primitivePlacementRule" "AtOrigin" + -iv "projectCurveAlongDirection" 0 + -iv "projectCurveEuc" 0 + -iv "projectCurveLac" 1 + -iv "projectCurveRangePartial" 0 + -fv "projectCurveTolerance" 0.01 + -iv "projectCurveUseGlobalTol" 0; +optionVar + -fv "proxyContinuity" 1 + -iv "proxyDivisions" 2 + -sv "proxyOptionsNewProxyTag" "" + -sv "proxyOptionsNewReferenceTag" "" + -iv "proxyOptionsNewReferenceTagSpecified" 0 + -sv "proxyOptionsProxyTag" "" + -sv "proxyOptionsReferenceTag" "" + -iv "proxyOptionsUseNewProxyTag" 1 + -iv "proxyOptionsUseNewReferenceTag" 1 + -iv "proxySmoothEdivisions" 1; +optionVar + -iv "proxySmoothKeepBorder" 0 + -iv "proxySmoothKeepHardEdge" 0 + -iv "proxySmoothNumIter" 1 + -fv "proxySmoothRoundness" 1 + -fv "proxySmoothVolume" 0.1 + -iv "psdAntiAliasValue" 0 + -iv "psdAspectRatioValue" 1 + -ca "psdColorValue" + -fva "psdColorValue" 1 + -fva "psdColorValue" 0 + -fva "psdColorValue" 0 + -iv "psdDetailedListValue" 0 + -iv "psdIncludeUVSnapValue" 1; +optionVar + -iv "psdOpenPhotoshopValue" 1 + -iv "psdSizeX" 1024 + -iv "psdSizeY" 1024 + -iv "psdUVSnapshotPosition" 1 + -iv "ptConstMaintainOffset" 0 + -fv "ptConstOffsetX" 0 + -fv "ptConstOffsetY" 0 + -fv "ptConstOffsetZ" 0 + -sv "quickFieldMode" "Rel" + -ca "quickPanelButtonLayout" + -sva "quickPanelButtonLayout" "Single Perspective View" + -sva "quickPanelButtonLayout" "Four View" + -sva "quickPanelButtonLayout" "Persp/Outliner" + -sva "quickPanelButtonLayout" "Hypershade/Render/Persp Vertical" + -sva "quickPanelButtonLayout" "Persp/UV Texture Editor" + -sva "quickPanelButtonLayout" "Persp_Render_Graph"; +optionVar + -fv "radialAttenuation" 1 + -fv "radialMagnitude" 5 + -fv "radialMaxDistCBox" 1 + -iv "radialMaxDistDBox" 1 + -fv "radialMaxDistance" 1.75 + -sv "radialName" "GoblinRadialField" + -fv "radialTorusSectionRadius" 0.5 + -fv "radialType" 0 + -iv "radialVolumeExclusion" 0 + -iv "radialVolumeFieldTypesOM" 1; +optionVar + -fv "radialVolumeOffsetX" 0 + -fv "radialVolumeOffsetY" 0 + -fv "radialVolumeOffsetZ" 0 + -fv "radialVolumeSweep" 360 + -iv "rebuildCurveChanges" 1 + -iv "rebuildCurveEndKnots" 1 + -iv "rebuildCurveEuc" 0 + -iv "rebuildCurveKeepControlPoints" 0 + -iv "rebuildCurveKeepEndPoints" 0 + -iv "rebuildCurveKeepEndTangents" 0; +optionVar + -iv "rebuildCurveKeepNumSpans" 0 + -iv "rebuildCurveKeepOriginal" 0 + -iv "rebuildCurveKeepRange" 0 + -iv "rebuildCurveLac" 1 + -fv "rebuildCurveLocalTolerance" 0.05 + -iv "rebuildCurveType" 0 + -iv "rebuildCurveTypeUniformDegree" 3 + -iv "rebuildCurveTypeUniformNumSpans" 6 + -iv "rebuildCurveUseGlobalTolerance" 1 + -iv "rebuildSurfaceDirection" 2; +optionVar + -iv "rebuildSurfaceEndKnots" 1 + -iv "rebuildSurfaceEuc" 0 + -iv "rebuildSurfaceFitRebuild" 2 + -iv "rebuildSurfaceKeepControlPoints" 1 + -iv "rebuildSurfaceKeepCornerPoints" 1 + -iv "rebuildSurfaceKeepCorners" 1 + -iv "rebuildSurfaceKeepNumSpans" 1 + -iv "rebuildSurfaceKeepOriginal" 1 + -iv "rebuildSurfaceKeepRange" 0 + -iv "rebuildSurfaceLac" 1; +optionVar + -fv "rebuildSurfaceLocalTolerance" 0.05 + -iv "rebuildSurfacePolys" 0 + -iv "rebuildSurfaceType" 0 + -iv "rebuildSurfaceTypeUniformDegreeU" 1 + -iv "rebuildSurfaceTypeUniformDegreeV" 1 + -iv "rebuildSurfaceTypeUniformNumSpansU" 8 + -iv "rebuildSurfaceTypeUniformNumSpansV" 16 + -iv "rebuildSurfaceUseGlobalTolerance" 1 + -iv "recursive" 1 + -sv "refEdEditorVisibility" "refEdSceneEditorButton"; +optionVar + -iv "referenceOptionsDeferReference" 0 + -iv "referenceOptionsGrouping" 0 + -iv "referenceOptionsLocator" 1 + -iv "referenceOptionsLockReference" 0 + -sv "referenceOptionsRenamePrefix" "" + -iv "referenceOptionsShareDisplayLayers" 0 + -sv "referenceOptionsShareRenderLayers" "name" + -iv "referenceOptionsShareShaders" 0 + -iv "referenceOptionsSharedReference" 0 + -iv "referenceOptionsUseRenamePrefix" 0; +optionVar + -iv "referenceUseNamespacesDuringFileIO" 1 + -iv "refreshMode" 0 + -sv "relationshipEditorTask" "lightCentricLightLinking" + -iv "remConstMaintainOffset" 0 + -sv "remoteHelpUrl" "" + -iv "removeAllTargets" 1 + -iv "removeDuplicateShadingNetworksOnImport" 1 + -iv "removeTargetAddTargets" 0 + -iv "removeUnusedInfluences" 1 + -sv "renderCreateBarCurrentTab" "MayaNodesTab"; +optionVar + -sv "renderCreateBarStyle" "iconsAndText" + -iv "renderLayerBase" 1 + -iv "renderLayerContents" 0 + -iv "renderLayerCurrent" 0 + -iv "renderLayerMerge" 0 + -iv "renderViewAutoRenderRegion" 0 + -iv "renderViewAutoResize" 1 + -iv "renderViewDisplayToolbar" 1 + -iv "renderViewRenderAllLayers" 0 + -iv "renderViewRenderLayersMode" 0; +optionVar + -iv "renderViewRenderSelectedObj" 0 + -iv "renderViewShowCameraName" 1 + -iv "renderViewShowFrameNumber" 1 + -iv "renderViewShowLayerName" 1 + -iv "renderViewShowRenderTime" 1 + -iv "renderViewTestResolution" 1 + -sv "renderWindowSelectContextItem" "renderWindowSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" renderWindowSelectContextItem" + -sv "renderedImageName" "C:/School/T&L1/Brick_Wall/images/tmp/render_CAM/Molodowitch_Paul_Brickwall_0002.iff" + -iv "resetTransformationsRotate" 1 + -iv "resetTransformationsScale" 1; +optionVar + -iv "resetTransformationsTranslate" 1 + -iv "restrictAxisMaintainOffset" 1 + -iv "restrictConstraintX" 1 + -iv "restrictConstraintY" 1 + -iv "restrictConstraintZ" 1 + -fv "resultsSampleRate" 1 + -iv "resultsScreenBased" 0 + -sv "resultsUpdates" "delayed" + -iv "reverseChanges" 1 + -iv "reverseKeepOriginal" 0; +optionVar + -iv "reverseSurfaceDirection" 0 + -iv "reverseSurfaceEuc" 0 + -iv "reverseSurfaceLac" 1 + -fv "revolveAxisX" 0 + -fv "revolveAxisY" 1 + -fv "revolveAxisZ" 0 + -iv "revolveCurveRangePartial" 0 + -fv "revolveEndSweepAngle" 360 + -iv "revolveEuc" 0 + -iv "revolveLac" 1; +optionVar + -iv "revolveNumberOfSegments" 8 + -iv "revolveOutputPolygons" 0 + -fv "revolvePivotX" 0 + -fv "revolvePivotY" 0 + -fv "revolvePivotZ" 0 + -fv "revolveStartSweepAngle" 0 + -iv "revolveSurfaceDegree" 3 + -fv "revolveTolerance" 0.01 + -iv "revolveUseGlobalTol" 0 + -iv "revolveUseLocalPivot" 1; +optionVar + -iv "revolveUsePresetAxis" 1 + -iv "revolveUseTolerance" 0 + -fv "rigidAngVelocityX" 0 + -fv "rigidAngVelocityY" 0 + -fv "rigidAngVelocityZ" 0 + -fv "rigidBounciness" 0.6 + -iv "rigidCacheCBox" 0 + -iv "rigidCollide" 0 + -iv "rigidCollisionType" 0 + -iv "rigidComCBox" 0; +optionVar + -fv "rigidComX" 0 + -fv "rigidComY" 0 + -fv "rigidComZ" 0 + -fv "rigidDamping" 0 + -fv "rigidDynFriction" 0.2 + -fv "rigidImpulsePosX" 0 + -fv "rigidImpulsePosY" 0 + -fv "rigidImpulsePosZ" 0 + -fv "rigidImpulseX" 0 + -fv "rigidImpulseY" 0; +optionVar + -fv "rigidImpulseZ" 0 + -fv "rigidInitVelocityX" 2.057 + -fv "rigidInitVelocityY" 0 + -fv "rigidInitVelocityZ" 0 + -iv "rigidLayer" 0 + -fv "rigidMass" 1 + -sv "rigidName" "SetRigidBodies" + -iv "rigidOrCBox" 0 + -fv "rigidOrX" 0 + -fv "rigidOrY" 0; +optionVar + -fv "rigidOrZ" 0 + -iv "rigidPosCBox" 0 + -fv "rigidPosX" 0 + -fv "rigidPosY" 0 + -fv "rigidPosZ" 0 + -fv "rigidSpinImpulseX" 0 + -fv "rigidSpinImpulseY" 0 + -fv "rigidSpinImpulseZ" 0 + -iv "rigidStandInType" 1 + -fv "rigidStatFriction" 0.01; +optionVar + -iv "rigidTesselation" 200 + -sv "rollContext" "rollCtx -e -image1 \"roll.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Roll Tool\" -rollScale 1\nrollContext" + -iv "rotationInterpolationDefault" 1 + -iv "rotationalAlignEdgeAxis" 1 + -sv "roundContext" "roundCRCtx -e -image1 \"roundSrf.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1 -object 1 -append 0 -tolerance 0.1 -autoCreate 1 -useGlobalTolerance 0 -radiusToUse 0.5 roundContext" + -iv "saveActionsPreferences" 1 + -iv "saveActionsScriptEditor" 1 + -iv "saveWindowPos" 1 + -fv "scPruneWeight" 0.02 + -iv "scaleConstraintAddTargets" 1; +optionVar + -iv "scaleKeyAllAnimCurves" 0 + -sv "scaleKeyContext" "scaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 0\nscaleKeyContext" + -iv "scaleKeyControlPoints" 0 + -iv "scaleKeyDriven" 0 + -sv "scaleKeyHierarchy" "none" + -iv "scaleKeyMethod" 1 + -fv "scaleKeyNewEndTime" 50 + -fv "scaleKeyNewStartTime" 60 + -sv "scaleKeyRange" "12:24" + -iv "scaleKeyScaleSpecifiedKeys" 1; +optionVar + -iv "scaleKeyShapes" 1 + -fv "scaleKeyTimePivot" 0 + -fv "scaleKeyTimeScale" 2 + -iv "scaleKeyUseChannelBox" 0 + -fv "scaleKeyValuePivot" 0 + -fv "scaleKeyValueScale" 1 + -iv "scaleKeyWhichRange" 1 + -fv "sculptDropoffDist" 1 + -sv "sculptDropoffType" "linear" + -sv "sculptExclName" "deformPartition"; +optionVar + -iv "sculptExclusive" 0 + -iv "sculptGroupWithLocator" 1 + -sv "sculptInsideMode" "even" + -fv "sculptMaxDisp" 0.1 + -sv "sculptMode" "stretch" + -iv "sculptObjectCentered" 1 + -sv "sculptPositioning" "default" + -iv "sculptTool" 1 + -iv "selContiguousEdgesec" 0 + -iv "selContiguousEdgesed" 10; +optionVar + -fv "selContiguousEdgesm2a" 30 + -fv "selContiguousEdgesm3a" 90 + -iv "selectAffectsActive" 1 + -iv "selectClickDrag" 0 + -iv "selectEveryNEdgeTool" 0 + -sv "selectKeyContext" "selectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyContext" + -sv "selectKeyframeRegionContext" "selectKeyframeRegionCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyframeRegionContext" + -sv "selectPrefPriorityMode" "animation" + -iv "selectPrefUseDepth" 0 + -iv "selectSingleMarquee" 0; +optionVar + -iv "selectedShelf" 28 + -sv "setEditContext" "setEditCtx -e -image1 \"setEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" setEditContext" + -iv "setIKKey" 3 + -sv "setKeyContext" "setKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nsetKeyContext" + -iv "setKeyframePrompt" 0 + -iv "setKeyframeWhich" 4 + -iv "shadeTemplates" 0 + -sv "shelfFile1" "shelf_Animation" + -sv "shelfFile10" "shelf_PaulAnimation" + -sv "shelfFile11" "shelf_PaulCurves"; +optionVar + -sv "shelfFile12" "shelf_PaulPoly" + -sv "shelfFile13" "shelf_PaulScripts" + -sv "shelfFile14" "shelf_PaulTexture" + -sv "shelfFile15" "shelf_Polygons" + -sv "shelfFile16" "shelf_RenderMan" + -sv "shelfFile17" "shelf_Rendering" + -sv "shelfFile18" "shelf_Subdivs" + -sv "shelfFile19" "shelf_Surfaces" + -sv "shelfFile2" "shelf_Curves" + -sv "shelfFile20" "shelf_Toon"; +optionVar + -sv "shelfFile21" "shelf_nCloth" + -sv "shelfFile22" "shelf_Custom" + -sv "shelfFile23" "shelf_Muscle" + -sv "shelfFile24" "shelf_PaulLighting" + -sv "shelfFile25" "shelf_PaulRig" + -sv "shelfFile26" "shelf_SS2" + -sv "shelfFile27" "shelf_newAbxPicker" + -sv "shelfFile28" "shelf_heatWeight" + -sv "shelfFile3" "shelf_Deformation" + -sv "shelfFile4" "shelf_Dynamics"; +optionVar + -sv "shelfFile5" "shelf_Fluids" + -sv "shelfFile6" "shelf_Fur" + -sv "shelfFile7" "shelf_General" + -sv "shelfFile8" "shelf_Hair" + -sv "shelfFile9" "shelf_PaintEffects" + -sv "shelfItemSize" "Small" + -sv "shelfItemStyle" "iconOnly" + -iv "shelfLoad1" 1 + -iv "shelfLoad10" 1 + -iv "shelfLoad11" 1; +optionVar + -iv "shelfLoad12" 1 + -iv "shelfLoad13" 1 + -iv "shelfLoad14" 1 + -iv "shelfLoad15" 1 + -iv "shelfLoad16" 1 + -iv "shelfLoad17" 1 + -iv "shelfLoad18" 1 + -iv "shelfLoad19" 1 + -iv "shelfLoad2" 1 + -iv "shelfLoad20" 1; +optionVar + -iv "shelfLoad21" 1 + -iv "shelfLoad22" 1 + -iv "shelfLoad23" 1 + -iv "shelfLoad24" 1 + -iv "shelfLoad25" 1 + -iv "shelfLoad26" 1 + -iv "shelfLoad27" 1 + -iv "shelfLoad28" 1 + -iv "shelfLoad3" 1 + -iv "shelfLoad4" 1; +optionVar + -iv "shelfLoad5" 1 + -iv "shelfLoad6" 1 + -iv "shelfLoad7" 1 + -iv "shelfLoad8" 1 + -iv "shelfLoad9" 1 + -sv "shelfName1" "Animation" + -sv "shelfName10" "PaulAnimation" + -sv "shelfName11" "PaulCurves" + -sv "shelfName12" "PaulPoly" + -sv "shelfName13" "PaulScripts"; +optionVar + -sv "shelfName14" "PaulTexture" + -sv "shelfName15" "Polygons" + -sv "shelfName16" "RenderMan" + -sv "shelfName17" "Rendering" + -sv "shelfName18" "Subdivs" + -sv "shelfName19" "Surfaces" + -sv "shelfName2" "Curves" + -sv "shelfName20" "Toon" + -sv "shelfName21" "nCloth" + -sv "shelfName22" "Custom"; +optionVar + -sv "shelfName23" "Muscle" + -sv "shelfName24" "PaulLighting" + -sv "shelfName25" "PaulRig" + -sv "shelfName26" "SS2" + -sv "shelfName27" "newAbxPicker" + -sv "shelfName28" "heatWeight" + -sv "shelfName3" "Deformation" + -sv "shelfName4" "Dynamics" + -sv "shelfName5" "Fluids" + -sv "shelfName6" "Fur"; +optionVar + -sv "shelfName7" "General" + -sv "shelfName8" "Hair" + -sv "shelfName9" "PaintEffects" + -iv "shelfTabsVisible" 1 + -sv "shelvesLastUpdated" "2009 Service Pack 1a x64" + -iv "showCustomMenuSetsMenusInHotBox" 0 + -iv "showGrid" 1 + -iv "showLearningMoviesOnStartup" 0 + -iv "showLineNumbersIsOn" 1 + -sv "showManip3D" ""; +optionVar + -sv "showManipTextureContext" "texManipContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" showManipTextureContext" + -iv "showStatusAlign" 1 + -iv "showStatusAutoAlign" 1 + -iv "showStatusAutoAlignUnfold" 1 + -iv "showStatusCopyPaste" 1 + -iv "showStatusDisplay1" 1 + -iv "showStatusDisplay2" 1 + -iv "showStatusDisplay3" 1 + -iv "showStatusFiles" 1 + -iv "showStatusFlipRotate" 1; +optionVar + -iv "showStatusHistory" 1 + -iv "showStatusInputField" 1 + -iv "showStatusIsolateSelect" 1 + -iv "showStatusManipSelect" 1 + -iv "showStatusMoveSew" 1 + -iv "showStatusRender" 1 + -iv "showStatusSelectMasks" 1 + -iv "showStatusSelectMode" 1 + -iv "showStatusSelectionSet" 0 + -iv "showStatusSnap" 1; +optionVar + -iv "shutDownDocServer" 0 + -sv "silo (sib|sia)Options" "" + -sv "smartModeStatus" "1" + -iv "smoothCurveEuc" 0 + -iv "smoothCurveKeepOrig" 1 + -iv "smoothCurveLac" 1 + -fv "smoothCurveSmoothness" 100 + -ca "smpContinuity" + -fva "smpContinuity" 1 + -fva "smpContinuity" 1 + -ca "smpDisplaySmoothMesh" + -iva "smpDisplaySmoothMesh" 0 + -iva "smpDisplaySmoothMesh" 0 + -ca "smpDisplaySubdComps" + -iva "smpDisplaySubdComps" 0 + -iva "smpDisplaySubdComps" 0; +optionVar + -ca "smpKeepBorder" + -iva "smpKeepBorder" 0 + -iva "smpKeepBorder" 0 + -ca "smpKeepHardEdge" + -iva "smpKeepHardEdge" 0 + -iva "smpKeepHardEdge" 0 + -ca "smpKeepMapBorders" + -iva "smpKeepMapBorders" 1 + -iva "smpKeepMapBorders" 1 + -ca "smpPropagateEdgeHardness" + -iva "smpPropagateEdgeHardness" 0 + -iva "smpPropagateEdgeHardness" 0 + -iv "smpSizeOfMeshForWarning" 15000 + -iv "smpSizeWarningDisabledForAllPolys" 0 + -ca "smpSmoothLevel" + -iva "smpSmoothLevel" 2 + -iva "smpSmoothLevel" 2 + -ca "smpSmoothMeshSelectionMode" + -iva "smpSmoothMeshSelectionMode" 0 + -iva "smpSmoothMeshSelectionMode" 0 + -ca "smpSmoothUVs" + -iva "smpSmoothUVs" 1 + -iva "smpSmoothUVs" 1 + -iv "snap2PtTo2PtParent" 0; +optionVar + -iv "snap2PtTo2PtType" 0 + -iv "snap3PtTo3PtParent" 0 + -iv "snapKeyAllAnimCurves" 0 + -iv "snapKeyControlPoints" 0 + -iv "snapKeyDriven" 0 + -sv "snapKeyHierarchy" "none" + -sv "snapKeyRange" "0:10" + -iv "snapKeyShapes" 1 + -fv "snapKeyTimeMultiple" 1 + -iv "snapKeyTimeValue" 1; +optionVar + -iv "snapKeyUseChannelBox" 0 + -fv "snapKeyValueMultiple" 1 + -iv "snapKeyWhichRange" 1 + -iv "snapMagnet" 0 + -fv "snapMagnetTolerance" 0.1 + -sv "snapTogetherToolCtx" "snapTogetherCtx -e -image1 \"snapTogetherTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -setOrientation 1\n-clearSelection 1\n-snapPolygonFace 0\nsnapTogetherToolCtx" + -iv "snapTolerance" 20 + -iv "snapUVTolerance" 25 + -iv "softModColorFeedback" 1 + -iv "softModFalloffAroundSelection" 1; +optionVar + -ca "softModFalloffCurveOptionVar" + -sva "softModFalloffCurveOptionVar" "0,1,2" + -sva "softModFalloffCurveOptionVar" "1,0,2" + -iv "softModFalloffInX" 1 + -iv "softModFalloffInY" 1 + -iv "softModFalloffInZ" 1 + -iv "softModFalloffMasking" 0 + -iv "softModFalloffMode" 0 + -fv "softModFalloffRadius" 2.018669 + -iv "softModPreserveHistory" 0 + -iv "softModToolMode" 1 + -iv "sphereAxisType" 2; +optionVar + -fv "sphereAxisX" 0 + -fv "sphereAxisY" 1 + -fv "sphereAxisZ" 0 + -iv "sphereDegree" 3 + -fv "sphereEndSweep" 360 + -iv "spherePivotType" 1 + -fv "spherePivotX" 0 + -fv "spherePivotY" 0 + -fv "spherePivotZ" 0 + -fv "sphereRadius" 1; +optionVar + -iv "sphereSections" 8 + -iv "sphereSpans" 4 + -fv "sphereStartSweep" 0 + -fv "sphereTolerance" 0.01 + -iv "sphereUseGlobalTolerance" 0 + -iv "sphereUseTolerance" 0 + -fv "spiralHeight" 2 + -fv "spiralRadius" 3 + -fv "spiralRounds" 2 + -ca "spotLightColor" + -fva "spotLightColor" 1 + -fva "spotLightColor" 1 + -fva "spotLightColor" 1; +optionVar + -fv "spotLightConeAngle" 5 + -iv "spotLightDecay" 0 + -fv "spotLightDropoff" 0 + -fv "spotLightIntensity" 1 + -iv "spotLightInteractivePlacement" 0 + -fv "spotLightPenumbra" 25 + -ca "spotLightShadowColor" + -fva "spotLightShadowColor" 0 + -fva "spotLightShadowColor" 0 + -fva "spotLightShadowColor" 0 + -iv "spotLightShadows" 0 + -iv "squareSrfAutoEdgeCount" 4 + -iv "squareSrfPolys" 0; +optionVar + -iv "squareSrfRebuild1" 0 + -iv "squareSrfRebuild2" 0 + -iv "squareSrfRebuild3" 0 + -iv "squareSrfRebuild4" 0 + -fv "squareSrfTolerance" 0.01 + -iv "squareSrfUseGlobal" 1 + -iv "squareSurfaceEuc" 0 + -iv "squareSurfaceLac" 1 + -iv "stackTraceIsOn" 1 + -iv "statusLineVisible" 1; +optionVar + -sv "stitchSrfContext" "stitchSurfaceCtx -e -image1 \"stitchSrf.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1 -object 1 -replaceOriginal 1 -keepG0Continuity 1 -keepG1Continuity 0 -cascade 1 -weight0 0.5 -weight1 0.5 -numberOfSamples 40 -caching 0 -nodeState 0 -togglePointNormals 0 -togglePointPosition 1 -bias 1 -fixBoundary 0 -autoCreate 1 stitchSrfContext" + -iv "stitchSurfacePointsCascade" 0 + -iv "stitchSurfacePointsEqualWts" 1 + -iv "stitchSurfacePointsKeepOriginal" 0 + -sv "studioImportOptions" "" + -iv "subdivComponentDisplayStyle" 0 + -iv "subdivCreateMaxEdgesPerVert" 32 + -iv "subdivCreateMaxPolygons" 1000 + -iv "subdivCreateOrigObject" 1 + -sv "surfaceEditorContext" "curveEditorCtx -e -image1 \"surfaceEditor.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -title \"Surface Editing Tool\" -relativeTangentSize 4 -direction 0 surfaceEditorContext"; +optionVar + -iv "sweepOutputPolygons" 0 + -sv "symmetricModellingAboutOption" "origin" + -sv "symmetricModellingAxisOption" "x" + -iv "symmetricModellingOption" 0 + -sv "symmetricModellingSeamFalloffCurve" "0,1,2,1,0,2" + -iv "symmetricModellingSeamOption" 1 + -fv "symmetricModellingSeamTolerance" 0.01 + -sv "symmetricModellingSpaceOption" "object" + -fv "symmetricModellingToleranceValue" 0.001 + -iv "tangentConstraintAddTargets" 1; +optionVar + -fv "tangentialTolerance" 0.0572958 + -iv "tessellationSetupCamera" 0 + -fv "tessellationSetupChordHeight" 0.01 + -fv "tessellationSetupChordHeightRatio" 0.99 + -iv "tessellationSetupCurvature" 2 + -fv "tessellationSetupDivisionU" 1.5 + -fv "tessellationSetupDivisionV" 1.5 + -iv "tessellationSetupEdgeSwap" 0 + -iv "tessellationSetupFrame" 0 + -fv "tessellationSetupMinScreen" 14; +optionVar + -iv "tessellationSetupModeU" 2 + -iv "tessellationSetupModeV" 2 + -iv "tessellationSetupNumberU" 3 + -iv "tessellationSetupNumberV" 3 + -fv "tessellationSetupSmoothEdge" 0.99 + -iv "tessellationSetupSurfaces" 0 + -iv "tessellationSetupType" 0 + -iv "tessellationSetupUseChordHeight" 0 + -iv "tessellationSetupUseChordHeightRatio" 1 + -iv "tessellationSetupUseMinScreen" 0; +optionVar + -iv "tessellationSetupUseSmoothEdge" 0 + -sv "texLatticeDeformCtx" "texLatticeDeformContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-snapPixelMode 0\n-useBoundingRect 1\ntexLatticeDeformCtx" + -sv "texMoveContext" "texMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snapComponentsRelative 0\n-snapPixelMode 0\ntexMoveContext" + -sv "texMoveUVShellCtx" "texMoveUVShellContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mask 1\n-iterations 16\n-shellBorder 0.2\ntexMoveUVShellCtx" + -sv "texRotateContext" "texRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snap 0\n-snapRelative 0\n-snapValue 15\ntexRotateContext" + -sv "texScaleContext" "texScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snap 0\n-snapRelative 0\n-snapValue 1\ntexScaleContext" + -sv "texSmoothCtx" "texSmoothContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -pinBorder 0\n-space 1\ntexSmoothCtx" + -sv "texSmudgeUVCtx" "texSmudgeUVContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -effectType \"fixed\" -functionType \"exponential\" -radius 0.075\n-pressure 0.01\n-dragSlider \"none\" -smudgeIsMiddle 0\ntexSmudgeUVCtx" + -iv "textureBakeAlphaMode" 1 + -iv "textureBakeBakeAlpha" 0; +optionVar + -iv "textureBakeBakeToOneMap" 0 + -iv "textureBakeBitsPerChannel" 1 + -iv "textureBakeColorMode" 1 + -iv "textureBakeFileFormat" 1 + -fv "textureBakeFillTextureSeams" 1 + -fv "textureBakeFinalGatherQuality" 1 + -fv "textureBakeFinalGatherReflect" 0 + -iv "textureBakeNormalDirection" 1 + -fv "textureBakeOcclusionFalloff" 0 + -iv "textureBakeOcclusionRays" 64; +optionVar + -iv "textureBakeOrthogonalReflection" 0 + -iv "textureBakeOverrideMeshUVSetAssignments" 0 + -sv "textureBakePrefix" "baked" + -iv "textureBakeSamples" 1 + -fv "textureBakeUMax" 1 + -fv "textureBakeUMin" 1 + -iv "textureBakeUvRange" 0 + -sv "textureBakeUvSetName" "uvSet1" + -fv "textureBakeVMax" 1 + -fv "textureBakeVMin" 1; +optionVar + -iv "textureBakeXResolution" 512 + -iv "textureBakeYResolution" 512 + -iv "textureEditorToolbarState" 0 + -iv "textureWindowDisplayDivisionLines" 0 + -iv "textureWindowDisplayGridAxes" 1 + -sv "textureWindowDisplayGridLabelPosition" "axis" + -iv "textureWindowDisplayGridLabels" 1 + -iv "textureWindowDisplayGridLines" 1 + -fv "textureWindowGridDivisions" 2 + -fv "textureWindowGridSize" 1; +optionVar + -fv "textureWindowGridSpacing" 0.1 + -iv "textureWindowShaderFacesMode" 0 + -iv "timeSliderHeight" 28 + -fv "timeSliderMaxPlaySpeed" 0 + -fv "timeSliderPlayBy" 1 + -sv "timeSliderPlayLoop" "continuous" + -fv "timeSliderPlaySpeed" 1 + -sv "timeSliderPlayView" "active" + -fv "timeSliderRepeatChunk" 3 + -iv "timeSliderRepeatOnHold" 1; +optionVar + -sv "timeSliderShowKeys" "active" + -iv "timeSliderSnapping" 1 + -sv "timeSliderSoundDisplay" "both" + -iv "timeSliderTickSize" 1 + -iv "timeSliderTimeCode" 0 + -sv "timeSliderTimeCodeOffset" "00:00:00:00" + -iv "timeSliderVisible" 1 + -iv "toggleOriginAxis" 0 + -iv "toggleViewAxis" 0 + -iv "toolMessageHorizontalOffset" 0; +optionVar + -fv "toolMessageTime" 0.7 + -iv "toolMessageVerticalOffset" -40 + -iv "toolMessageVisible" 1 + -iv "toolSettingsInMainWindow" 0 + -iv "toolSettingsVisible" 0 + -iv "toolboxVisible" 1 + -fv "totalAnimateRollTime" 0.5 + -sv "track2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" track2dContext" + -sv "trackContext" "trackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Track Tool\" -trackGeometry 0\n-trackScale 1\ntrackContext" + -sv "tracktwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" tracktwContext"; +optionVar + -iv "transferAttributesColorBordersOption" 2 + -iv "transferAttributesColorSetsOption" 1 + -iv "transferAttributesFlipUVsOption" 1 + -iv "transferAttributesMirrorOption" 1 + -iv "transferAttributesNormalsOption" 2 + -iv "transferAttributesPositionsOption" 1 + -iv "transferAttributesSpaceOption" 4 + -iv "transferAttributesUVSetsOption" 1 + -sv "transformTexSelectContext" "texSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" transformTexSelectContext" + -sv "trimContext" "trimCtx -e -image1 \"trim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1 -object 1 -replaceOriginal 1 -caching 0 -nodeState 0 -selected 0 -shrink 0 -tolerance 0.001 -autoCreate 1 trimContext"; +optionVar + -iv "trsManipsPreserveChildPosition" 0 + -iv "trsManipsPreserveUvs" 0 + -sv "tumbleContext" "tumbleCtx -e -image1 \"tumble.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Tumble Tool\" -tumbleScale 1\n-objectTumble 0\n-localTumble 1\n-autoOrthoConstrain 1\n-orthoStep 5\n-orthoLock 1\ntumbleContext" + -iv "tvAlignUVsOption" 1 + -fv "tvImageRangeMaxU" 1 + -fv "tvImageRangeMaxV" 1 + -fv "tvImageRangeMinU" 0 + -fv "tvImageRangeMinV" 0 + -iv "tvImageRangePresets" 1 + -iv "tvImageResolution" 9; +optionVar + -iv "undoIsEnabled" 1 + -iv "undoIsInfinite" 1 + -iv "undoLength" 50 + -fv "unfoldGlobalBlend" 0 + -fv "unfoldGlobalMethodBlend" 0.5 + -iv "unfoldHistOn" 0 + -iv "unfoldIterations" 5000 + -iv "unfoldPinAxis" 1 + -iv "unfoldPinBorder" 0 + -iv "unfoldPinSelected" 0; +optionVar + -iv "unfoldRescale" 0 + -fv "unfoldScale" 0.02 + -fv "unfoldStopThreshold" 0.001 + -iv "ungroupPreserve" 1 + -iv "ungroupWorld" 0 + -iv "unparentPreserve" 0 + -iv "unparentRemove" 0 + -iv "untrimChanges" 1 + -iv "untrimEuc" 0 + -iv "untrimHistory" 1; +optionVar + -iv "untrimLac" 1 + -iv "untrimOriginal" 0 + -sv "upAxisDirection" "y" + -iv "updateLightGlow" 1 + -iv "updateMotionBlur" 1 + -iv "updateShaderGlow" 1 + -iv "updateShadingAndLighting" 1 + -iv "useBakeSetOverride" 0 + -iv "useCurrentCharacterStatus" 1 + -iv "useCurrentWorkspaceOnImportAndRef" 0; +optionVar + -iv "useDefaultFileExtensions" 1 + -iv "useNamespaceStatus" 0 + -iv "useNamespacesDuringFileIO" 0 + -iv "useNewScenePanelConfig" 1 + -iv "useSaveScenePanelConfig" 1 + -iv "useScenePanelConfig" 1 + -iv "useScrollWheel" 1 + -iv "useSnapTolerance" 0 + -sv "userDefinedImageViewerCmdForImage" "" + -sv "userDefinedImageViewerCmdForSequence" ""; +optionVar + -sv "uvSnapshotFileName" "C:/School/T&L1/Character/sourceimages/head_UVs_1024_001" + -fv "uvSnapshotUMax" 1 + -fv "uvSnapshotUMin" 0 + -iv "uvSnapshotUVRange" 0 + -fv "uvSnapshotVMax" 1 + -fv "uvSnapshotVMin" 0 + -sv "v_mrBakeScope" "Selected" + -iv "v_mrBakeShadows" 0 + -sv "v_mrBakeTo" "Texture" + -iv "v_mrBatchRenderLogVerbosity" 3; +optionVar + -iv "v_mrBatchRenderMemLimit" 0 + -iv "v_mrBatchRenderMemLimitAuto" 1 + -iv "v_mrBatchRenderNumThread" 2 + -iv "v_mrBatchRenderNumThreadAuto" 1 + -iv "v_mrBatchRenderTaskSize" 0 + -iv "v_mrBatchRenderUseMaster" 1 + -iv "v_mrBatchRenderUseSlaves" 1 + -sv "v_mrCamera" "persp" + -iv "v_mrKeepOrgSG" 0 + -iv "v_mrRenderLogVerbosity" 3; +optionVar + -iv "v_mrRenderMemLimit" 0 + -iv "v_mrRenderMemLimitAuto" 1 + -iv "v_mrRenderNumThread" 4 + -iv "v_mrRenderNumThreadAuto" 2 + -iv "v_mrRenderTaskSize" 0 + -iv "v_mrRenderUseMaster" 1 + -iv "v_mrRenderUseSlaves" 1 + -iv "v_mrSkipDefault" 1 + -iv "vertexBakeAlphaBlending" 0 + -iv "vertexBakeAlphaMode" 1; +optionVar + -iv "vertexBakeBakeAlpha" 0 + -iv "vertexBakeBakeColor" 1 + -iv "vertexBakeClampMax" 0 + -iv "vertexBakeClampMin" 0 + -iv "vertexBakeColorBlending" 0 + -iv "vertexBakeColorMode" 1 + -sv "vertexBakeColorSetName" "" + -fv "vertexBakeFilterNormalTolerance" 5 + -fv "vertexBakeFilterSize" 0.001 + -fv "vertexBakeMaxAlpha" 1; +optionVar + -fv "vertexBakeMaxColorB" 0 + -fv "vertexBakeMaxColorG" 0 + -fv "vertexBakeMaxColorR" 0 + -fv "vertexBakeMinAlpha" 0 + -fv "vertexBakeMinColorB" 0 + -fv "vertexBakeMinColorG" 0 + -fv "vertexBakeMinColorR" 0 + -iv "vertexBakeNormalDirection" 1 + -fv "vertexBakeOcclusionFalloff" 0 + -iv "vertexBakeOcclusionRays" 64; +optionVar + -iv "vertexBakeOrthogonalReflection" 0 + -fv "vertexBakeScaleRgba" 1 + -iv "vertexBakeSharedVertices" 0 + -iv "vertexBakeUseFaceNormals" 0 + -iv "viewAxisVisibility" 1 + -iv "viewCompassVisibleInPersp" 1 + -fv "viewCubeCompassAngle" 0 + -fv "viewCubeCompassAngleDefault" 0 + -iv "viewCubeFitToView" 1 + -fv "viewCubeInactiveOpacity" 1; +optionVar + -iv "viewCubePreserveSceneUp" 1 + -sv "viewCubeScreenPosition" "topRight" + -iv "viewCubeShowCompass" 0 + -iv "viewCubeShowCompassDefault" 0 + -iv "viewCubeShowCube" 0 + -sv "viewCubeSize" "normal" + -iv "viewCubeSnapToClosest" 1 + -sv "walkCycleControlCentralControls" "RIG_Generick_root_ctrl " + -iv "walkCycleControlCycleOffset" 12 + -sv "walkCycleControlLeftFoot" "RIG_Generick_leg_ctrl_L "; +optionVar + -sv "walkCycleControlLeftHand" "RIG_Generick_wrist_ctrl_R " + -sv "walkCycleControlRightFoot" "RIG_Generick_leg_ctrl_R " + -sv "walkCycleControlRightHand" "RIG_Generick_wrist_ctrl_L " + -ca "webBrowserBookmarkNames" + -sva "webBrowserBookmarkNames" "Getting Started with Maya" + -sva "webBrowserBookmarkNames" "Help Contents" + -sva "webBrowserBookmarkNames" "MEL Reference" + -sva "webBrowserBookmarkNames" "Node Reference" + -sva "webBrowserBookmarkNames" " " + -sva "webBrowserBookmarkNames" "Maya Community" + -sva "webBrowserBookmarkNames" "Report a Problem" + -sva "webBrowserBookmarkNames" "Technical Support" + -ca "webBrowserBookmarkURLs" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsTutorials" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsHome" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsMelCommands" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsNodes" + -sva "webBrowserBookmarkURLs" " " + -sva "webBrowserBookmarkURLs" "http://www.alias.com/eng/community" + -sva "webBrowserBookmarkURLs" "http://www.alias.com/cgi-bin/bug_forms/rel/product.cgi?product=Maya" + -sva "webBrowserBookmarkURLs" "http://www.alias.com/eng/support/maya/index.jhtml" + -iv "weightedTangents" 1 + -sv "wireCtx" "wireContext -e -image1 \"wire.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -holder 0\n-groupWithBase 0\n-envelope 1\n-crossingEffect 0\n-dropoffDistance 1\n-localInfluence 0\n-deformationOrder \"Default\" -exclusivePartition \"deformPartition\" -exclusive 0\nwireCtx" + -iv "wireframeOnShadedActive" 1 + -sv "workingUnitAngular" "deg" + -sv "workingUnitAngularDefault" "deg"; +optionVar + -sv "workingUnitLinear" "cm" + -sv "workingUnitLinearDefault" "cm" + -sv "workingUnitTime" "film" + -sv "workingUnitTimeDefault" "film" + -sv "wrinkleCtx" "wrinkleContext -e -image1 \"wrinkle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -style \"radial\" -wrinkleCount 3\n-branchCount 2\n-branchDepth 0\n-wrinkleIntensity 0.5\n-thickness 1\n-randomness 0.2\nwrinkleCtx" + -iv "xformManipUseRotatePivot" 0 + -iv "xformManipWorldSpace" 0 + -sv "yawPitchContext" "orbitCtx -e -image1 \"yawPitch.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Yaw-Pitch Tool\" -orbitScale 1\n-localOrbit 0\nyawPitchContext" + -iv "zooCSTDisplayInfo" 61101 + -iv "zooToolBoxDisplayInfo" 60224; +optionVar + -iv "zooToolBoxDonation" 1 + -iv "zooTrigHighlighting" 0 + -iv "zooTrigViewMode" 1; + +panelConfiguration -label (localizedPanelLabel("Current Layout")) + -defaultImage "" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"single\" -ps 1 100 100 $gMainPane;" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -cam `findStartUpCamera persp` \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 1\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -cam `findStartUpCamera persp` \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 1\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 8192\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName"; +panelConfiguration -label (localizedPanelLabel("Single Perspective View")) + -defaultImage "singlePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"single\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Four View")) + -defaultImage "fourViewLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"quad\" $gMainPane" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Top View\" -cam `findStartUpCamera top`;}" + "modelPanel -e -l \"Top View\" -cam `findStartUpCamera top` $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Side View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Side View\" -cam `findStartUpCamera side`;}" + "modelPanel -e -l \"Side View\" -cam `findStartUpCamera side` $panelName" + -ap true + (localizedPanelLabel("Front View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Front View\" -cam `findStartUpCamera front`;}" + "modelPanel -e -l \"Front View\" -cam `findStartUpCamera front` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Hypergraph")) + -defaultImage "perspHypergraphLayout.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -l \"Hypergraph\";}" + "scriptedPanel -e -l \"Hypergraph\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Hypergraph")) + -defaultImage "perspGraphHypergraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"top3\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -l \"Hypergraph\";}" + "scriptedPanel -e -l \"Hypergraph\" $panelName" + -ap true + (localizedPanelLabel("Graph Editor")) + "graphEditorPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -l \"Graph Editor\";}" + "scriptedPanel -e -l \"Graph Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp")) + -defaultImage "hypershadeRenderPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\"\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\"\t\t\t\t-cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -l \"Render View\";}" + "scriptedPanel -edit -l \"Render View\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Outliner/Persp")) + -defaultImage "hypershadeOutlinerPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Persp")) + -defaultImage "hypershadePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Outliner")) + -defaultImage "perspOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 20 100 -ps 2 80 100 $gMainPane;" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Outliner")) + -defaultImage "perspGraphOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -l \"Graph Editor\";}" + "scriptedPanel -edit -l \"Graph Editor\" $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Web Browser/Persp")) + -defaultImage "perspBrowserLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap false + (localizedPanelLabel("Web Browser")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t\tscriptedPanel -mbv $gUseMenusInPanels\t\t\t\t\t-unParent -type \"webBrowserPanel\" -l \"Web Browser\";}" + "scriptedPanel -edit -l \"Web Browser\" -mbv $menusOkayInPanels $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax")) + -defaultImage "perspTraxLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -l \"Trax Editor\";}" + "scriptedPanel -edit -l \"Trax Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax/Outliner")) + -defaultImage "perspTraxOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -l \"Trax Editor\";}" + "scriptedPanel -edit -l \"Trax Editor\" $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph")) + -defaultImage "perspGraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 46 -ps 2 100 54 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -l \"Graph Editor\";}" + "scriptedPanel -edit -l \"Graph Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Relationship Editor")) + -defaultImage "perspRelationshipEditorLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 61 -ps 2 100 39 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Relationship Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type relationshipPanel -unParent -l \"Relationship Editor\";}" + "scriptedPanel -edit -l \"Relationship Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/UV Texture Editor")) + -defaultImage "perspTextureLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("UV Texture Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l \"UV Texture Editor\" -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l \"UV Texture Editor\" -mbv $menusOkayInPanels $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp Vertical")) + -defaultImage "hypershadeRenderPerspVerticalLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"right3\" -paneSize 1 50 100 -paneSize 2 50 50 -paneSize 3 50 50 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -l \"Render View\";}" + "scriptedPanel -edit -l \"Render View\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\"\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\"\t\t\t\t-cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Setup")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane;paneLayout -e -cn \"single\" $gMainPane;" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t modelPanel -mbv $gUseMenusInPanels -unParent -l \"Persp View\" -cam persp;}" + "modelPanel -edit -l \"Persp View\" -cam \"persp\" $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Track")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane;paneLayout -e -cn \"right3\" $gMainPane;" + -ap false + (localizedPanelLabel("Track Shot View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Track Shot View\" -cam persp;}" + "modelPanel -edit -l \"Track Shot View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Track Point View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Track Point View\" -cam $gPointCenteredCamera;}" + "modelPanel -e -l \"Track Point View\" -cam $gPointCenteredCamera $panelName" + -ap false + (localizedPanelLabel("Track Summary View")) + "mlSummaryPanel" + "{global int $gUseMenusInPanels; scriptedPanel -mbv $gUseMenusInPanels -type mlSummaryPanel -unParent -l \"Track Summary View\";}" + "scriptedPanel -edit -l \"Track Summary View\" $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Solve")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"quad\" $gMainPane;" + -ap false + (localizedPanelLabel("Solve View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Solve View\" -cam persp;}" + "modelPanel -edit -l \"Solve View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Top View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Top View\" -cam top;}" + "modelPanel -e -l \"Top View\" -cam top $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Persp View\" -cam persp;}" + "modelPanel -edit -l \"Persp View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Locator Summary View")) + "mlLocatorPanel" + "{global int $gUseMenusInPanels; scriptedPanel -mbv $gUseMenusInPanels -type mlLocatorPanel -unParent -l \"Locator Summary View\";}" + "scriptedPanel -edit -l \"Locator Summary View\" $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Manual MatchMove")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane;paneLayout -e -cn \"right3\" $gMainPane;" + -ap false + (localizedPanelLabel("Manual Shot View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Manual Shot View\" -cam persp;}" + "modelPanel -edit -l \"Mnaual Shot View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Manual TTL Dragger View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Manual TTL Dragger View\" -cam persp;}" + "modelPanel -edit -l \"Manual TTL Dragger View\" -cam $gPointCenteredCamera $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Persp View\" -cam $gPointCenteredCamera;}" + "modelPanel -e -l \"TTL Dragger View\" -cam \"persp\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Persp/Graph")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"top3\" -ps 1 50 50 -ps 2 50 50 -ps 3 100 50 $gMainPane;" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l \"Top View\" -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l \"Top View\" -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l \"Persp View\" -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"KeyFramedCamera\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"flatShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l \"Persp View\" -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"KeyFramedCamera\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"flatShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l \"Graph Editor\" -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -mainListConnection \"graphEditorList\" \n -selectionConnection \"graphEditor1FromOutliner\" \n -highlightConnection \"keyframeList\" \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -mainListConnection \"graphEditor1FromOutliner\" \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName" + "scriptedPanel -edit -l \"Graph Editor\" -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -mainListConnection \"graphEditorList\" \n -selectionConnection \"graphEditor1FromOutliner\" \n -highlightConnection \"keyframeList\" \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -mainListConnection \"graphEditor1FromOutliner\" \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName"; +panelConfiguration -label (localizedPanelLabel("Persp_Render_Graph")) + -defaultImage "defaultThreeSplitTopLayout.xpm" + -image "Persp_Persp_Graph_Layout.bmp" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"top3\" -ps 1 50 49 -ps 2 50 49 -ps 3 100 51 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -cam `findStartUpCamera persp` \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -cam `findStartUpCamera persp` \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"render_CAM\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 0\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 0\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"render_CAM\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 0\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 0\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName" + "scriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName"; +panelConfiguration -label (localizedPanelLabel("AttrCollectionLayout")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 40 100 -ps 2 60 100 $gMainPane;" + -ap false + (localizedPanelLabel("Attribute Collection")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"acPanelType\" -l \"Attribute Collection\" -mbv true `;" + "scriptedPanel -edit -l \"Attribute Collection\" -mbv true $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;modelEditor -e -cam `findStartUpCamera persp` $panelName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) $panelName;"; +panelConfiguration -label (localizedPanelLabel("Render_Persp_Hypershade")) + -defaultImage "defaultThreeSplitTopLayout.xpm" + -image "hypershadeRenderPerspLayout.xpm" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"top3\" -ps 1 50 50 -ps 2 50 50 -ps 3 100 50 $gMainPane;" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"Camera02\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 1\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 0\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"Camera02\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 1\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 0\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap false + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName"; +panelConfiguration -label (localizedPanelLabel("Stereo Persp")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"single\" $gMainPane" + -ap true + (localizedPanelLabel("Stereo")) + "scriptedPanel" + "{ scriptedPanel -type Stereo\t\t\t\t -unParent -label \"Stereo\";}" + "scriptedPanel -edit -label \"Stereo\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Stereo Persp/Outliner")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"vertical2\" -ps 1 20 100 -ps 2 80 100 $gMainPane;" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName" + -ap true + (localizedPanelLabel("Stereo")) + "scriptedPanel" + "{ scriptedPanel -type Stereo\t\t\t\t -unParent -label \"Stereo\";}" + "scriptedPanel -edit -label \"Stereo\" $panelName"; + + +autoKeyframe -state true ; +optionVar -fv gridSpacing 5 -fv gridDivisions 5 -fv gridSize 12 -intValue displayGridAxes 1 -intValue displayGridLines 1 -intValue displayDivisionLines 1 -intValue displayGridPerspLabels 0 -intValue displayGridOrthoLabels 0 -intValue displayGridAxesAccented 1 -stringValue displayGridPerspLabelPosition axis -stringValue displayGridOrthoLabelPosition edge; +nurbsToPolygonsPref -f 2 -ucr 0 -chr 0.1 -uch 0 -cht 1 -d 0.1 -es 0 -ft 0.01 -mel 0.001 -pc 200 -pt 1 -m 0 -mt 0.1 -mrt 0 -un 1 -ut 3 -vn 1 -vt 3 ; +nurbsCurveRebuildPref -fr 0 -rt 6 -d 3 -s 1 -tol 0.01 -end 1 -kr 1 -kep 1 -kt 0 -kcp 0 -scr 0; +makePaintable -ca; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleMultiCollide" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleSystem" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleStretch" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleSplineDeformer" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleRelative" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleMirror" "weights"; +makePaintable -at "doubleArray" -aa "goalPP0" "particle" "goalPP"; +makePaintable -at "doubleArray" "polyReduce" "vertexWeights"; +makePaintable -at "doubleArray" "cacheFile" "perPtWeights"; +makePaintable -at "doubleArray" "skinCluster" "paintWeights"; +makePaintable -at "multiFloat" -sm "deformer" "transferAttributes" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "wire" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "blendShape" "targetWeights"; +makePaintable -at "multiFloat" -sm "deformer" "jiggle" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "softMod" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cluster" "weights"; + +nurbsToSubdivPref -mpc 1000 -rn 1 -mp 1 -cp 1 -st 0 -ct 1 -br 0 -o 1 -t00 1 -t01 0 -t02 0 -t10 0 -t11 1 -t12 0 -t20 0 -t21 0 -t22 1 -t30 0 -t31 0 -t32 0 ; +ikSystem -e -sn true -ar false ; + + diff --git a/2009-x64/prefs/userPrefs.mela00464 b/2009-x64/prefs/userPrefs.mela00464 new file mode 100644 index 0000000..503211a --- /dev/null +++ b/2009-x64/prefs/userPrefs.mela00464 @@ -0,0 +1,3728 @@ +//Maya Preference 2009 (Release 1) +// +// +keyTangent -global -inTangentType plateau -outTangentType plateau -weightedTangents true; +constructionHistory -tgl on; + +optionVar -version 3; +optionVar + -sv "3DSOptions" "" + -ca "AEcgfxShader_toolButtons" + -sva "AEcgfxShader_toolButtons" "Edit\tReload\tOpen" + -sva "AEcgfxShader_toolButtons" "Edit\tEdit CgFX file with Notepad\tsystem \"start notepad.exe \";" + -sva "AEcgfxShader_toolButtons" "Open\tOpen CgFX file in its default application\tsystem \"load \";" + -sva "AEcgfxShader_toolButtons" "Reload\tReload CgFX file\tcgfxShader -e -fx ;" + -iv "AEpopupWhenCreatingShaders" 1 + -sv "Adobe(R) Illustrator(R)Options" "" + -iv "CCchannelNames" 1 + -iv "CCkeyAllSame" 1 + -iv "CClockAllSame" 1 + -iv "CEAutoUpdate" 1 + -iv "CEPrecision" 3 + -iv "CEShowAllCols" 1 + -iv "CEShowPathName" 1; +optionVar + -iv "CESortAlpha" 1 + -iv "CEoperationType" 6 + -sv "CSB_DCOptions" "" + -sv "CreateNurbsCircleCtx" "createNurbsCircleCtx -e -image1 \"circle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -normalType 2\n-normal 0 1 0 -sweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-toleranceType 1\n-tolerance 0.01\n-radius 3.80125e-008\n-attachToSections 1\n-doDragEdit 0\nCreateNurbsCircleCtx" + -sv "CreateNurbsConeCtx" "createNurbsConeCtx -e -image1 \"cone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 8\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 1\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 3.80125e-008\n-height 7.60246e-008\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsConeCtx" + -sv "CreateNurbsCubeCtx" "createNurbsCubeCtx -e -image1 \"cube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 3.80125e-008\n-depth 3.80125e-008\n-height 3.80125e-008\n-attachToPatchesU 1\n-attachToPatchesV 1\n-doDragEdit 0\nCreateNurbsCubeCtx" + -sv "CreateNurbsCylinderCtx" "createNurbsCylinderCtx -e -image1 \"cylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 20\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 3\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 3.80125e-008\n-height 7.60246e-008\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsCylinderCtx" + -sv "CreateNurbsPlaneCtx" "createNurbsPlaneCtx -e -image1 \"plane.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 3.80125e-008\n-height 3.80125e-008\n-attachToPatchesU 1\n-attachToPatchesV 1\n-doDragEdit 0\nCreateNurbsPlaneCtx" + -sv "CreateNurbsSphereCtx" "createNurbsSphereCtx -e -image1 \"sphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axisType 2\n-axis 0 1 0 -startSweep 0\n-endSweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-spans 4\n-toleranceType 1\n-tolerance 0.01\n-radius 3.80125e-008\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsSphereCtx" + -sv "CreateNurbsSquareCtx" "createNurbsSquareCtx -e -image1 \"square.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 3.80125e-008\n-height 3.80125e-008\n-attachToSpans 1\n-doDragEdit 0\nCreateNurbsSquareCtx"; +optionVar + -sv "CreateNurbsTorusCtx" "createNurbsTorusCtx -e -image1 \"torus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-minorSweep 360\n-minorRadius 0.5\n-sections 8\n-spans 4\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 3.80125e-008\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsTorusCtx" + -sv "CreatePolyConeCtx" "createPolyConeCtx -e -image1 \"polyCone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 1\n-subdivisionsDepth 0\n-radius 3.80125e-008\n-height 7.60246e-008\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyConeCtx" + -sv "CreatePolyCubeCtx" "createPolyCubeCtx -e -image1 \"polyCube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-subdivisionsDepth 1\n-width 3.80125e-008\n-depth 3.80125e-008\n-height 3.80125e-008\n-createUVs 4\n-attachToSubdivisionsDepth 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsWidth 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCubeCtx" + -sv "CreatePolyCylinderCtx" "createPolyCylinderCtx -e -image1 \"polyCylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 3.80125e-008\n-height 7.60246e-008\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCylinderCtx" + -sv "CreatePolyHelixCtx" "createPolyHelixCtx -e -image1 \"polyHelix.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 8\n-subdivisionsCoil 50\n-subdivisionsCap 0\n-roundCap 0\n-coils 3\n-height 7.60246e-008\n-width 7.60246e-008\n-radius 1.5205e-008\n-direction 1\n-createUVs 3\n-attachToSubdivisionsCoil 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-attachToNumberCoils 1\n-attachToRadius 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyHelixCtx" + -sv "CreatePolyPipeCtx" "createPolyPipeCtx -e -image1 \"polyPipe.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 3.80125e-008\n-height 7.60246e-008\n-thickness 1.90062e-008\n-roundCap 0\n-createUVs 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-attachToThickness 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPipeCtx" + -sv "CreatePolyPlaneCtx" "createPolyPlaneCtx -e -image1 \"polyMesh.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-width 3.80125e-008\n-height 3.80125e-008\n-createUVs 2\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsWidth 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlaneCtx" + -sv "CreatePolyPlatonicSolidCtx" "createPolyPlatonicSolidCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 3.80125e-008\n-sideLength 2.71295e-008\n-solidType 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlatonicSolidCtx" + -sv "CreatePolyPrismCtx" "createPolyPrismCtx -e -image1 \"polyPrism.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -numberOfSides 3\n-subdivisionsHeight 1\n-subdivisionsCap 0\n-length 7.60246e-008\n-sideLength 3.80125e-008\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-attachToNumSides 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPrismCtx" + -sv "CreatePolyPyramidCtx" "createPolyPyramidCtx -e -image1 \"polyPyramid.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsHeight 1\n-subdivisionsDepth 0\n-sideLength 3.80125e-008\n-numberOfSides 4\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsCap 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPyramidCtx"; +optionVar + -sv "CreatePolySoccerBallCtx" "createPolySoccerBallCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 3.80125e-008\n-sideLength 1.53418e-008\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySoccerBallCtx" + -sv "CreatePolySphereCtx" "createPolySphereCtx -e -image1 \"polySphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 3.80125e-008\n-createUVs 2\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySphereCtx" + -sv "CreatePolyTorusCtx" "createPolyTorusCtx -e -image1 \"polyTorus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 3.80125e-008\n-sectionRadius 1.90062e-008\n-twist 0\n-createUVs 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSectionRadius 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyTorusCtx" + -sv "DAE_FBXOptions" "" + -iv "DAGOpenHyperGraphMode" 0 + -iv "DGOpenHyperGraphMode" 1 + -iv "DUVAntiAlias" 0 + -iv "DUVKeepAspect" 1 + -fv "DUVblue" 0 + -iv "DUVfileFormat" 8; +optionVar + -fv "DUVgreen" 0 + -fv "DUVred" 1 + -iv "DUVresX" 1024 + -iv "DUVresY" 1024 + -sv "DWG_DCOptions" "" + -sv "DXF_DCOptions" "" + -sv "DXF_FBXOptions" "" + -iv "EEexprEdTextEditor" 1 + -sv "EPSOptions" "" + -sv "FbxOptions" ""; +optionVar + -iv "HKLTHUDBlock" 9 + -iv "HKLTOrientationOnlyOpVar" 0 + -iv "HKLTPivotLockedOpVar" 0 + -sv "IGES_DCOptions" "" + -sv "IV_DCOptions" "" + -iv "LT_alignAxis" 1 + -iv "LT_alignFrame" 0 + -iv "LT_colorFrame" 0 + -iv "LT_createRefLocator" 0 + -iv "LT_edgeSegment" 0; +optionVar + -iv "LT_generalFrame" 0 + -fv "LT_groundValue" 0 + -sv "LT_importPrefix" "props" + -iv "LT_includeSubfolders" 0 + -iv "LT_infoFrame" 0 + -iv "LT_moveOffsetAxis" 1 + -sv "LT_moveSpace" "-ws" + -fv "LT_moveValue" 5 + -iv "LT_orientFrame" 0 + -sv "LT_orientToolType" "vert"; +optionVar + -iv "LT_polyFrame" 0 + -iv "LT_positionFrame" 0 + -iv "LT_reference" 0 + -iv "LT_relativeToProject" 1 + -iv "LT_replaceFrame" 0 + -iv "LT_replaceInst" 0 + -iv "LT_replaceRotate" 1 + -iv "LT_replaceScale" 1 + -iv "LT_rotateOffsetAxis" 2 + -sv "LT_rotateSpace" "-os"; +optionVar + -fv "LT_rotateValue" 15 + -iv "LT_selectedTab" 2 + -iv "LT_snapFrame" 0 + -sv "LT_userImportPath" "undefined" + -iv "LT_viewFrame" 0 + -fv "LT_walkCamSpeed" 0.5 + -sv "Move" "manipMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-activeHandle 3\n-orientAxes -0.109457 -0.638147 0.328666 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\n-tweakMode 0\nMove" + -sv "MoveLimits" "manipMoveLimitsCtx -e -image1 \"moveLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" MoveLimits" + -sv "MoveNormal" "manipMoveContext -e -image1 \"moveNormal.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 3\n-activeHandle 3\n-orientAxes -0.109457 -0.638147 0.328666 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\n-tweakMode 0\nMoveNormal" + -fv "NEX_manipSize" 30; +optionVar + -iv "NEX_useNexOnSelModeChange" 0 + -sv "NParticleStyle" "Cloud" + -sv "OBJOptions" "" + -sv "OBJexportOptions" "groups=0;ptgroups=0;materials=0;smoothing=0;normals=0" + -sv "OMTLoad_connectComponents" "Load" + -sv "OMTLoad_extras_to_extrudeComponent" "UnLoad" + -sv "OMTLoad_extras_to_toggleCulling" "UnLoad" + -sv "OMTLoad_extras_to_xrayToggle" "Load" + -sv "OMTLoad_overshoot" "Load" + -sv "OMTLoad_saveSelectionToggle" "Load"; +optionVar + -sv "OMTLoad_scalePosition" "Load" + -sv "OMTLoad_selectElement" "Load" + -sv "OMTLoad_selectLoop" "Load" + -sv "OMTLoad_selectOutline" "Load" + -sv "OMTLoad_selectRing" "Load" + -sv "OMTLoad_selectionDragger" "Load" + -sv "OMTLoad_spinEdge" "Load" + -sv "OMTLoad_splitAroundSelection" "Load" + -sv "OMTLoad_splitLoop" "Load" + -sv "OMTLoad_toggleSaveSelection" "Load"; +optionVar + -sv "OMTSection_connectComponents" "General" + -sv "OMTSection_extras_to_extrudeComponent" "General" + -sv "OMTSection_extras_to_toggleCulling" "General" + -sv "OMTSection_extras_to_xrayToggle" "General" + -sv "OMTSection_overshoot" "General" + -sv "OMTSection_saveSelectionToggle" "General" + -sv "OMTSection_scalePosition" "General" + -sv "OMTSection_selectElement" "General" + -sv "OMTSection_selectLoop" "General" + -sv "OMTSection_selectOutline" "General"; +optionVar + -sv "OMTSection_selectRing" "General" + -sv "OMTSection_selectionDragger" "General" + -sv "OMTSection_spinEdge" "General" + -sv "OMTSection_splitAroundSelection" "General" + -sv "OMTSection_splitLoop" "General" + -sv "OMTSection_toggleSaveSelection" "General" + -sv "OMT_ov_overshootSourceType" "Previous Key" + -iv "OMT_selectOutlineBorderSelect" 0 + -ca "PMP_hotkeyManager_allKeysets" + -sva "PMP_hotkeyManager_allKeysets" "Default" + -sva "PMP_hotkeyManager_allKeysets" "Animation" + -sva "PMP_hotkeyManager_allKeysets" "Modeling" + -sva "PMP_hotkeyManager_allKeysets" "SAVE_CURRENT" + -sv "PMP_hotkeyManager_currentHotkeySet" "Modeling"; +optionVar + -sv "PMP_hotkeyManager_currentKeyset" "Modeling" + -ca "PMP_hotkeyManager_keyset_Animation" + -sva "PMP_hotkeyManager_keyset_Animation" "a" + -sva "PMP_hotkeyManager_keyset_Animation" "CTRL-ALT" + -ca "PMP_hotkeyManager_keyset_Default" + -sva "PMP_hotkeyManager_keyset_Default" "d" + -sva "PMP_hotkeyManager_keyset_Default" "CTRL-ALT" + -ca "PMP_hotkeyManager_keyset_Modeling" + -sva "PMP_hotkeyManager_keyset_Modeling" "m" + -sva "PMP_hotkeyManager_keyset_Modeling" "CTRL-ALT" + -ca "PMP_hotkeyManager_keyset_SAVE_CURRENT" + -sva "PMP_hotkeyManager_keyset_SAVE_CURRENT" "S" + -sva "PMP_hotkeyManager_keyset_SAVE_CURRENT" "CTRL ALT" + -iv "PMverboseLevel" 0 + -iv "PMverboseStop" 0 + -sv "PTC_DCOptions" "" + -iv "PolyBridgeEdgeCurveTypeOption" 0 + -iv "PolyBridgeEdgeDivisionsOption" 0; +optionVar + -fv "PolyBridgeEdgeSmoothAngleOption" 30 + -fv "PolyBridgeEdgeTaperOption" 0.6198 + -fv "PolyBridgeEdgeTwistOption" 0 + -iv "PolyForceUVCreateMapcamera" 0 + -iv "PolyForceUVCreateMapunitize" 0 + -iv "PolyForceUVNormalizeCollectiveOrSeparate" 1 + -iv "PolyForceUVPreserveAspectRatio" 0 + -sv "PolyForceUVSetNamecamera" "uvSet1" + -sv "PolyForceUVSetNameunitize" "uvSet1" + -fv "PolySelectEditDuplicateEdgeSmoothAngle" 180; +optionVar + -iv "PolySelectEditSplitRingAbsolute" 0 + -sv "PolyTexShortestPath" "texSelectShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyTexShortestPath" + -sv "PolyViewPortShortestPath" "polyShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyViewPortShortestPath" + -sv "PropMod" "propModCtx -e -image1 \"propMod.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type 1\n-linear -0.1\n-linearParam 0.5 0.5 -powerCutoff 10\n-powerDegree 3\n-direction 1 1 1 -worldspace 1\n-powerCutoffParam 0.5 0.5 -powerDegreeParam 3\n-animCurveFalloff 1 1 PropMod" + -sv "RIB_ArchiveOptions" "" + -iv "RecentBackupsMaxSize" 4 + -iv "RecentBackupsMaxSizeHold" 4 + -ca "RecentFilesList" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/incrementalSave/Molodowitch_Paul_nd_body_test_0010.mb/Molodowitch_Paul_nd_body_test_0010.0001.mb" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/Molodowitch_Paul_nd_body_test_0010.mb" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/Molodowitch_Paul_nd_body_test_0011.mb" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/incrementalSave/Molodowitch_Paul_nd_body_test_0012.mb/Molodowitch_Paul_nd_body_test_0012.0008.mb" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/incrementalSave/Molodowitch_Paul_nd_body_test_0012.mb/Molodowitch_Paul_nd_body_test_0012.0007.mb" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/Molodowitch_Paul_nd_body_test_0012.mb" + -sva "RecentFilesList" "C:/School/NaughtyDog/scenes/Molodowitch_Paul_nd_body_test_0013.mb" + -sva "RecentFilesList" "C:/Documents and Settings/Elrond/Desktop/testDMM_0001.mb" + -sva "RecentFilesList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes/scenes/Goblin_template.mb" + -sva "RecentFilesList" "C:/3D/Projects/lightGenMapTest/scenes/fortWarren_0001.mb" + -iv "RecentFilesMaxSize" 10 + -ca "RecentFilesTypeList" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary"; +optionVar + -ca "RecentProjectsList" + -sva "RecentProjectsList" "C:/Temp/DeleteMeIfYouNeedRoom/Personal/XmasElf" + -sva "RecentProjectsList" "P:/HomeMirror/c/School/AdvancedProduction/AntRig" + -sva "RecentProjectsList" "P:/HomeMirror/c/School/Animation 2/PitOfDespair" + -sva "RecentProjectsList" "P:/HomeMirror/c/School/Personal/XmasElf" + -sva "RecentProjectsList" "C:/School/Animation 2/PitOfDespair" + -sva "RecentProjectsList" "P:/HomeMirror/c/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes" + -sva "RecentProjectsList" "C:/School/Personal/XmasElf" + -sva "RecentProjectsList" "C:/School/NaughtyDog" + -sva "RecentProjectsList" "C:/Dev/Projects/eclipse/workspace/heatWeightProject/testScenes" + -sva "RecentProjectsList" "C:/3D/Projects/lightGenMapTest" + -iv "RecentProjectsMaxSize" 10 + -iv "RecentProjectsMaxSizeHold" 10 + -sv "Rotate" "manipRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 0\n-activeHandle 3\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 15\n-useObjectPivot 0\n-centerTrackball 1\n-editPivotMode 0\n-tweakMode 0\nRotate" + -sv "RotateLimits" "manipRotateLimitsCtx -e -image1 \"rotateLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" RotateLimits" + -iv "SDKchannelNames" 2 + -iv "SDKclearOnLoad" 1 + -iv "SDKselectListItems" 1 + -iv "SDKshowNonKeyable" 0 + -iv "SDKshowShapes" 0; +optionVar + -sv "STEP_DCOptions" "" + -sv "STL_DCOptions" "" + -sv "ST_ActiveSet" "skinningToolsSet__fullSet" + -iv "ST_AutoHoldINT" 1 + -sv "ST_Mode" "SkinCluster" + -fv "ST_PSW_Opacity" 1 + -fv "ST_PSW_Value" 1 + -sv "ST_PaintMode" "Add" + -iv "ST_PaneLayoutHeight" 54 + -iv "ST_PaneLayoutWidth" 100; +optionVar + -sv "SW_DCOptions" "" + -sv "Scale" "manipScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -activeHandle 3\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-useObjectPivot 0\n-editPivotMode 0\nScale" + -sv "ScaleLimits" "manipScaleLimitsCtx -e -image1 \"scaleLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" ScaleLimits" + -ca "ScriptEditorExecuterLabelArray" + -sva "ScriptEditorExecuterLabelArray" "MEL" + -sva "ScriptEditorExecuterLabelArray" "Python" + -sva "ScriptEditorExecuterLabelArray" "MEL" + -sva "ScriptEditorExecuterLabelArray" "Python" + -sva "ScriptEditorExecuterLabelArray" "Python" + -sva "ScriptEditorExecuterLabelArray" "Python" + -sva "ScriptEditorExecuterLabelArray" "Python" + -iv "ScriptEditorExecuterTabIndex" 6 + -ca "ScriptEditorExecuterTypeArray" + -sva "ScriptEditorExecuterTypeArray" "mel" + -sva "ScriptEditorExecuterTypeArray" "python" + -sva "ScriptEditorExecuterTypeArray" "mel" + -sva "ScriptEditorExecuterTypeArray" "python" + -sva "ScriptEditorExecuterTypeArray" "python" + -sva "ScriptEditorExecuterTypeArray" "python" + -sva "ScriptEditorExecuterTypeArray" "python" + -sv "SelectLasso" "lassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\n-fastComponents 1\nSelectLasso" + -sv "SoftSelectOptionsContext" "softSelectOptionsCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -enabled 0\n-size 2.83272\n-uvSize 0.5\n-falloffCurve \"1,0,2,0,1,2\" -enableFalseColor 1\n-colorCurve \"1,1,0,1,1,1,0,0,0.5,1,0,0,0,0,1\" -falloffMode 0\nSoftSelectOptionsContext" + -sv "TextureLasso" "textureLassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\nTextureLasso" + -sv "Transform" "srtContext -e -image1 \"srt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" Transform"; +optionVar + -iv "_NP_autoSaveActive" 1 + -iv "_NP_autoSaveConfirm" 0 + -iv "_NP_autoSaveEvent" 1 + -fv "_NP_autoSaveSeconds" 600 + -fv "_NP_autoSaveTime" 603.16 + -iv "activeObjectPivots" 0 + -iv "aeInMainWindow" 0 + -iv "aimConstMaintainOffset" 0 + -fv "aimConstOffsetX" 0 + -fv "aimConstOffsetY" 0; +optionVar + -fv "aimConstOffsetZ" 0 + -iv "aimConstraintAddTargets" 1 + -ca "aimConstraintAimVector" + -fva "aimConstraintAimVector" 0 + -fva "aimConstraintAimVector" 0 + -fva "aimConstraintAimVector" 1 + -iv "aimConstraintAxisX" 1 + -iv "aimConstraintAxisY" 1 + -iv "aimConstraintAxisZ" 1 + -ca "aimConstraintUpVector" + -fva "aimConstraintUpVector" 0 + -fva "aimConstraintUpVector" 1 + -fva "aimConstraintUpVector" 0 + -fv "aimConstraintWeight" 1 + -sv "aimConstraintWorldUpObject" "spined_bind" + -sv "aimConstraintWorldUpType" "objectrotation"; +optionVar + -ca "aimConstraintWorldUpVector" + -fva "aimConstraintWorldUpVector" 0 + -fva "aimConstraintWorldUpVector" 0 + -fva "aimConstraintWorldUpVector" 1 + -fv "airAttenuation" 1 + -iv "airComponent" 0 + -fv "airDirectionX" 0 + -fv "airDirectionY" 1 + -fv "airDirectionZ" 0 + -iv "airEnableSpread" 0 + -iv "airInheritRotation" 1 + -fv "airInheritVelocity" 1 + -fv "airMagnitude" 4; +optionVar + -iv "airMaxDistCBox" 1 + -fv "airMaxDistance" 20 + -sv "airName" "" + -fv "airSpeed" 5 + -fv "airSpread" 1 + -fv "airTorusSectionRadius" 0.5 + -iv "airVolumeExclusion" 0 + -iv "airVolumeFieldTypesOM" 1 + -fv "airVolumeOffsetX" 0 + -fv "airVolumeOffsetY" 0; +optionVar + -fv "airVolumeOffsetZ" 0 + -fv "airVolumeSweep" 360 + -iv "ajrAS_iEnabled" 1 + -iv "ajrAS_iNotify" 1 + -iv "ajrAS_iSaveCopies" 5 + -iv "ajrAS_iSelectTrigger" 15 + -iv "ajrAS_iUseTime" 1 + -sv "ajrAS_sBackupDir" "scenes" + -sv "alignToolCtx" "alignCtx -e -image1 \"alignTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -anchorFirstObject 0\n-showAlignTouch 1\nalignToolCtx" + -iv "alignatl" 0; +optionVar + -iv "alignaxisX" 1 + -iv "alignaxisY" 0 + -iv "alignaxisZ" 0 + -sv "alignmode" "Mid" + -iv "allMainWindowComponentsVisible" 0 + -iv "allowMenusInPanels" 1 + -iv "animBlendingOpt" 1 + -iv "animLayerButtonsOnRight" 0 + -iv "animLayerDefaultPassthroughMode" 1 + -iv "animLayerDefaultRotationMode" 0; +optionVar + -iv "animLayerDefaultScaleMode" 1 + -iv "animLayerFilterActive" 0 + -iv "animLayerFilterOptions" 1 + -iv "animLayerGhostOption" 1 + -iv "animLayerLockCurves" 1 + -iv "animLayerMuteLock" 1 + -iv "animLayerReverseLayerStack" 1 + -iv "animLayerSelectOnCollapse" 1 + -iv "animLayerSelectionKey" 1 + -iv "animateRoll" 1; +optionVar + -iv "animateRollFitAll" 1 + -iv "animateRollGotoBookmark" 1 + -iv "animateRollNextLastCameraView" 1 + -iv "animateRollViewCompass" 1 + -iv "animationCurveOption" 1 + -iv "animationDetailsVisibility" 0 + -iv "apiPrefLazyLoading" 0 + -iv "apiPrefOldPluginWarning" 1 + -fv "appendNclothCacheEndTime" 85 + -iv "appendNclothCacheSampleMultiplier" 1; +optionVar + -fv "appendNclothCacheSimulationRate" 1 + -fv "appendNclothCacheStartTime" 75 + -iv "appendNclothCacheTimeRange" 6 + -fv "appendnClothCacheStartTime" 1 + -sv "arcLenDimContext" "arcLenDimContext -e -image1 \"arcLengthDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" arcLenDimContext" + -ca "areaLightColor" + -fva "areaLightColor" 0.9605 + -fva "areaLightColor" 1 + -fva "areaLightColor" 0.921 + -iv "areaLightDecay" 0 + -fv "areaLightIntensity" 1 + -iv "areaLightInteractivePlacement" 0 + -ca "areaLightShadowColor" + -fva "areaLightShadowColor" 0 + -fva "areaLightShadowColor" 0 + -fva "areaLightShadowColor" 0; +optionVar + -iv "areaLightShadows" 0 + -sv "art3dPaintContext" "art3dPaintCtx -e -image1 \"art3dPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 0\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.05\n-screenRadius 1\n-worldRadius 0.00722553\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.00722553\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-brushtype \"artisanBrush\" -painttxtattr \"Color\" -painttxtattrname \"color\" -alphablendmode \"Default\" -pfxScale 1.033718\n-pfxWidth 0.00588565\n-pressureMapping1 5\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-filetxtsizex 1024\n-filetxtsizey 1024\n-keepaspectratio 1\n-filetxtaspectratio 1\n-resizeratio 1\n-fileformat \"bmp\" -rgbcolor 0 1 0 -rgbflood 1 1 1 -brushdepth 0.1\n-saveonstroke 0\n-saveTextureOnStroke 0\n-extendFillColor 0\n-attrnames \"color transparency incandescence normalCamera specularColor reflectivity ambientColor diffuse translucence reflectedColor displacement\" -floodOpacity 1\nart3dPaintContext" + -sv "art3dPaintHairToonContext" "art3dPaintCtx -e -image1 \"art3dPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 0\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.05\n-screenRadius 1\n-worldRadius 1\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 1\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-brushtype \"artisanBrush\" -painttxtattr \"Diffuse\" -painttxtattrname \"diffuse\" -alphablendmode \"Default\" -pfxScale 1\n-pfxWidth 1\n-pressureMapping1 5\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-filetxtsizex 256\n-filetxtsizey 256\n-keepaspectratio 1\n-filetxtaspectratio 1\n-resizeratio 1\n-fileformat \"maya\" -rgbcolor 0 0 0 -rgbflood 1 1 1 -brushdepth 0.1\n-saveonstroke 1\n-saveTextureOnStroke 0\n-extendFillColor 1\n-attrnames \"color transparency incandescence normalCamera specularColor reflectivity ambientColor diffuse translucence reflectedColor displacement\" -floodOpacity 1\nart3dPaintHairToonContext" + -sv "artAttrBlendShapeContext" "artAttrCtx -e -image1 \"paintBlendshape.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 2.9359\n-lowerradius 0.15725\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 2.9359\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"blendShapeWeights\" -selectedattroper \"additive\" -value 0\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-alphaclamplower 0\n-alphaclampupper 1\n-clamp \"none\" -alphaclamp \"none\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-paintNodeArray \"|geometry_GRP|skin_GRP|blendShapes_GRP|lwide_blendShape1|lwide_blendShape1Shape |geometry_GRP|skin_GRP|blendShapes_GRP|lwide_blendShape1|lwide_blendShape1Shape |geometry_GRP|skin_GRP|blendShapes_GRP|rwide_blendShape1|rwide_blendShape1Shape |geometry_GRP|skin_GRP|blendShapes_GRP|rwide_blendShape1|rwide_blendShape1Shape\" -objattrArray \"mesh.|geometry_GRP|skin_GRP|blendShapes_GRP|lwide_blendShape1|lwide_blendShape1Shape.vertexColorRGB.1 mesh.|geometry_GRP|skin_GRP|blendShapes_GRP|lwide_blendShape1|lwide_blendShape1Shape.vertexFaceColorRGB.1 mesh.|geometry_GRP|skin_GRP|blendShapes_GRP|rwide_blendShape1|rwide_blendShape1Shape.vertexColorRGB.1 mesh.|geometry_GRP|skin_GRP|blendShapes_GRP|rwide_blendShape1|rwide_blendShape1Shape.vertexFaceColorRGB.1\" -colorAlphaValue 0 artAttrBlendShapeContext" + -sv "artAttrContext" "artAttrCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 1\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 1\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"general\" -selectedattroper \"absolute\" -value 1\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-alphaclamplower 0\n-alphaclampupper 1\n-clamp \"none\" -alphaclamp \"none\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-colorAlphaValue 1 artAttrContext" + -sv "artAttrNClothContext" "artAttrCtx -e -image1 \"attrPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 0.149125\n-lowerradius 0.0568879\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.149125\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"NClothPaint\" -selectedattroper \"additive\" -value 0.1064\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1000\n-clamp \"both\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-colorAlphaValue 0.1064 artAttrNClothContext" + -sv "artAttrSkinContext" "artAttrSkinPaintCtx -e -image1 \"paintSkinWeights.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 0.035823\n-lowerradius 0.00298276\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.035823\n-stampProfile \"gaussian\" -exportfilesizex 2056\n-exportfilesizey 2056\n-whichTool \"skinWeights\" -selectedattroper \"smooth\" -value 0.02\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-alphaclamplower 0\n-alphaclampupper 1\n-clamp \"both\" -alphaclamp \"none\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-paintNodeArray \"skinCluster3\" -objattrArray \"skinCluster.skinCluster3.paintWeights.1\" -attrSelected \"skinCluster.skinCluster3.paintWeights\" -colorAlphaValue 0.02 -influence \"l_wrist_twist_bind\" -xrayJoints 1\nartAttrSkinContext" + -sv "artFluidAttrContext" "artFluidAttrCtx -e -image1 \"fluidPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 2\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 1\n-lowerradius 0.001\n-opacity 1\n-beforeStrokeCmd \"artFluidAttrVerifyGrid `artFluidAttrCtx -q -property artFluidAttrContext`\" -reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 1\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"general\" -selectedattroper \"absolute\" -value 1\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-clamp \"none\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-colorAlphaValue 1 -property \"temperature\" -rgbValue 0 0 0 -velocity 1 0 0 -useStrokeDirection 1\n-autoSave \"artFluidAttrAutoSaveInitialState artFluidAttrContext\" -displayAsRender 0\n-displayVelocity 0\n-delaySelectionChanged 0\nartFluidAttrContext" + -sv "artSelectContext" "artSelectCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 0\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 0.125586\n-lowerradius 0.125586\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.125586\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-selectop \"select\" -addselection 1\n-importthreshold 0.5\nartSelectContext" + -sv "artUserPaintContext" "artUserPaintCtx -e -image1 \"cMuscle_skin_paint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 0\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 0.173\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.173\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"userPaint\" -selectedattroper \"additive\" -value 0.029\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-alphaclamplower 0\n-alphaclampupper 1\n-clamp \"both\" -alphaclamp \"none\" -dataTypeIndex 1\n-colorfeedback 0\n-colorfeedbackOverride 0\n-disablelighting 0\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-colorAlphaValue 0.029 -fullpaths 0\n-toolSetupCmd \"cMusclePaint_toolSetup\" -initializeCmd \"cMusclePaint_init\" -finalizeCmd \"cMusclePaint_finalize\" -getValueCommand \"cMusclePaint_getValue\" -setValueCommand \"cMusclePaint_setValue\" artUserPaintContext"; +optionVar + -ca "artdefaultMat1.color" + -fva "artdefaultMat1.color" 0.8 + -fva "artdefaultMat1.color" 0.8 + -fva "artdefaultMat1.color" 0.8 + -fva "artdefaultMat1.color" 1 + -ca "artlambert1.color" + -fva "artlambert1.color" 0 + -fva "artlambert1.color" 0 + -fva "artlambert1.color" 0 + -fva "artlambert1.color" 1 + -fv "attachCrvBlendBias" 0.5 + -iv "attachCrvBlendInsert" 0 + -fv "attachCrvBlendParameter" 0.1 + -iv "attachCrvKeepMultKnots" 0 + -iv "attachCrvKeepOriginal" 0 + -iv "attachCrvMethod" 0 + -iv "attachCurveEuc" 0 + -iv "attachCurveLac" 1; +optionVar + -sv "attrEdListType" "auto" + -iv "attrEdPaneRatio" 85 + -sv "audioOptions" "" + -sv "autoKeyCharacterState" "standard" + -iv "autoKeyframeState" 1 + -iv "autoWeightThreshold" 1 + -sv "azimuthElevationContext" "orbitCtx -e -image1 \"azimuthElevation.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Azimuth Elevation Tool\" -orbitScale 1\n-localOrbit 1\nazimuthElevationContext" + -fv "bakeSimulationByTime" 1 + -iv "bakeSimulationControlPoints" 0 + -iv "bakeSimulationDriven" 0; +optionVar + -sv "bakeSimulationHierarchy" "none" + -iv "bakeSimulationImpCon" 1 + -iv "bakeSimulationPreserveKeys" 1 + -sv "bakeSimulationRange" "239:300" + -iv "bakeSimulationShapes" 1 + -iv "bakeSimulationSparseAnimCurve" 0 + -iv "bakeSimulationUseChannelBox" 1 + -iv "bakeSimulationWhichRange" 1 + -iv "batchRenderMessagesVerbosity" 1 + -fv "bendCurve" 0; +optionVar + -sv "bendExclName" "deformPartition" + -iv "bendExclusive" 0 + -fv "bendMax" 1 + -fv "bendMin" -1 + -sv "bendPositioning" "default" + -iv "bevelOutputPolygons" 0 + -iv "bevelPlusAttachSurfaces" 1 + -iv "bevelPlusCaps" 4 + -fv "bevelPlusDepth" 0.1 + -iv "bevelPlusEuc" 0; +optionVar + -fv "bevelPlusExtrudeHeight" 0.25 + -iv "bevelPlusInsideCurves" 0 + -iv "bevelPlusLac" 1 + -iv "bevelPlusNSides" 4 + -iv "bevelPlusOutputPolygons" 1 + -iv "bevelPlusPolyCount" 200 + -iv "bevelPlusPolyFormat" 0 + -iv "bevelPlusPolyNumberU" 3 + -iv "bevelPlusPolyNumberV" 3 + -iv "bevelPlusPolyTypeU" 4; +optionVar + -iv "bevelPlusPolyTypeV" 4 + -fv "bevelPlusTolerance" 0.01 + -iv "bevelPlusUseGlobalTol" 0 + -fv "bevelPlusWidth" 0.1 + -iv "bindMethod" 1 + -iv "bindSkinColorJts" 0 + -iv "bindSkinMethod" 1 + -iv "bindSkinTo" 1 + -iv "bindTo" 1 + -iv "birail1OutputPoly" 0; +optionVar + -iv "birail2OutputPoly" 0 + -iv "birail3OutputPoly" 0 + -iv "blendOutputPoly" 0 + -iv "blendShapeAddBetween" 0 + -fv "blendShapeAddTgtWt" 1 + -iv "blendShapeAddTop" 1 + -iv "blendShapeBetween" 0 + -iv "blendShapeDelTgt" 0 + -fv "blendShapeEnv" 1 + -sv "blendShapeExclName" "deformPartition"; +optionVar + -iv "blendShapeExclusive" 0 + -sv "blendShapeNode" "head_blendShape" + -iv "blendShapeOrigin" 1 + -sv "blendShapePositioning" "" + -iv "blendShapeTop" 1 + -iv "bonusToolsMenuToggle" 1 + -iv "boundaryPolys" 0 + -sv "boxZoom2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" boxZoom2dContext" + -sv "boxZoomContext" "boxZoomCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -zoomScale 1\nboxZoomContext" + -sv "boxZoomtwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" boxZoomtwContext"; +optionVar + -iv "brushOption" 1 + -fv "cMusclePaint_colAB" 0 + -fv "cMusclePaint_colAG" 0 + -fv "cMusclePaint_colAR" 1 + -fv "cMusclePaint_colBB" 0 + -fv "cMusclePaint_colBG" 1 + -fv "cMusclePaint_colBR" 1 + -fv "cMusclePaint_colCB" 0.4 + -fv "cMusclePaint_colCG" 0.3 + -fv "cMusclePaint_colCR" 0; +optionVar + -iv "cMusclePaint_draw" 1 + -iv "cMusclePaint_gauss" 0 + -iv "cMusclePaint_gray" 0 + -iv "cMusclePaint_live" 0 + -iv "cMusclePaint_mode" 2 + -fv "cMusclePaint_opacity" 1 + -iv "cMusclePaint_paintWeightType" 1 + -iv "cMusclePaint_poly" 1 + -iv "cMusclePaint_proj" 0 + -iv "cMusclePaint_ptSize" 4; +optionVar + -fv "cMusclePaint_radius" 0.173454 + -iv "cMusclePaint_rect" 0 + -iv "cMusclePaint_refl" 1 + -iv "cMusclePaint_solid" 0 + -iv "cMusclePaint_tablet" 1 + -fv "cMusclePaint_weight" 0.029 + -iv "cachedOption" 0 + -fv "cameraFarClip" 1000 + -iv "cameraFilmFitMode" 3 + -fv "cameraFilmFitOffset" 0; +optionVar + -fv "cameraFocalLength" 35 + -fv "cameraHorizAper" 1.41732 + -fv "cameraHorizOffset" 0 + -fv "cameraInterest" 5 + -fv "cameraLensSqueeze" 1 + -iv "cameraNamesVisibility" 0 + -fv "cameraNearClip" 0.01 + -iv "cameraNodeCount" 1 + -iv "cameraOrtho" 0 + -fv "cameraOrthoWidth" 30; +optionVar + -fv "cameraOverscan" 1 + -fv "cameraScale" 1 + -fv "cameraShutterAngle" 144 + -fv "cameraVertAper" 0.94488 + -fv "cameraVertOffset" 0 + -iv "channelsFieldWidth" 155 + -sv "channelsLayersConfiguration" "Channel Box / Layer Editor" + -iv "channelsLayersPaneSize" 66 + -iv "channelsLayersVisible" 1 + -iv "channelsLayersWidth" 310; +optionVar + -iv "channelsLongName" 2 + -iv "channelsPrecision" 15 + -iv "characterExcDyn" 0 + -iv "characterExcRotate" 0 + -iv "characterExcScale" 1 + -iv "characterExcTranslate" 0 + -iv "characterExcVis" 1 + -iv "characterHierarchy" 0 + -iv "characterKeysToUse" 2 + -iv "circularFilletOutputPolygons" 0; +optionVar + -iv "clearKeyAllAnimCurves" 0 + -iv "clearKeyControlPoints" 0 + -iv "clearKeyDriven" 0 + -iv "clearKeyHelpPictures" 0 + -sv "clearKeyHierarchy" "none" + -sv "clearKeyOption" "keys" + -sv "clearKeyRange" "0:10" + -iv "clearKeyShapes" 1 + -iv "clearKeyUseChannelBox" 0 + -iv "clearKeyWhichRange" 1; +optionVar + -iv "clickBoxSize" 5 + -iv "clipOption" 0 + -fv "closeCurveBlendBias" 0.5 + -iv "closeCurveBlendInsert" 0 + -fv "closeCurveBlendParameter" 0.1 + -iv "closeKeepOriginal" 0 + -iv "closePreserveShape" 1 + -fv "clusterEnvelope" 1 + -sv "clusterExclName" "deformPartition" + -iv "clusterExclusive" 0; +optionVar + -sv "clusterPositioning" "default" + -iv "clusterRelative" 0 + -iv "cmdWindowTitleBarVis" 1 + -iv "collapseIconBarsInPanels" 0 + -fv "collisionFriction" 0 + -fv "collisionOffset" 0.01 + -fv "collisionResilience" 1 + -ca "colorMaterialBlend" + -iva "colorMaterialBlend" 0 + -iva "colorMaterialBlend" 0 + -ca "colorMaterialChannel" + -iva "colorMaterialChannel" 3 + -iva "colorMaterialChannel" 3 + -ca "colorShadedDisplay" + -iva "colorShadedDisplay" 1 + -iva "colorShadedDisplay" 1; +optionVar + -iv "colorizeSkeleton" 0 + -iv "commandExecuterShowLineNumbers" 1 + -iv "commandLineHoldFocus" 0 + -iv "commandLineInputFieldWidth" 37 + -iv "commandLineNumHistoryLines" 50 + -sv "commandLineSourceType" "python" + -iv "commandLineVisible" 1 + -sv "commandReporterSourceTypeFilter" "" + -iv "commandReportercmdScrollFieldReporter1SuppressErrors" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressInfo" 0; +optionVar + -iv "commandReportercmdScrollFieldReporter1SuppressResults" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressStackTrace" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressWarnings" 0 + -iv "commandReporterpymelScrollFieldReporterConvertToPython" 1 + -iv "commandReporterpymelScrollFieldReporterSuppressErrors" 0 + -iv "commandReporterpymelScrollFieldReporterSuppressInfo" 0 + -iv "commandReporterpymelScrollFieldReporterSuppressResults" 0 + -iv "commandReporterpymelScrollFieldReporterSuppressStackTrace" 0 + -iv "commandReporterpymelScrollFieldReporterSuppressWarnings" 0 + -sv "commandportDefaultName" "commandportDefault"; +optionVar + -iv "commandportOpenByDefault" 1 + -fv "componentEditorSliderMax" 1 + -fv "componentEditorSliderMin" 0 + -iv "compositeTestMapX" 256 + -iv "compositeTestMapY" 256 + -iv "connectWindowActive" 1 + -sv "connectWindowAttrAlphaOrder" "ascend" + -iv "connectWindowAutoConnect" 1 + -iv "connectWindowDisplayNamesCW" 2 + -iv "connectWindowLeftCNO" 0; +optionVar + -iv "connectWindowLeftSHD" 1 + -iv "connectWindowLeftSNK" 1 + -iv "connectWindowLeftToRight" 1 + -iv "connectWindowRightCNO" 0 + -iv "connectWindowRightSHD" 1 + -iv "connectWindowRightSNK" 1 + -iv "constrainInterCB" 0 + -sv "constrainName" "" + -fv "constrainOrientX" 0 + -fv "constrainOrientY" 0; +optionVar + -fv "constrainOrientZ" 0 + -iv "constrainPosCBox" 1 + -fv "constrainPosX" 0 + -fv "constrainPosY" 0 + -fv "constrainPosZ" 0 + -fv "constrainSpringDamping" 0.1 + -fv "constrainSpringRestLength" 1 + -iv "constrainSpringRestLengthCBox" 0 + -fv "constrainSpringStiffness" 5 + -iv "constrainTypesOM" 4; +optionVar + -iv "containerCentricSelection" 0 + -iv "containerRootUsesCustomIcon" 1 + -ca "convertSolidBckColor" + -fva "convertSolidBckColor" 0 + -fva "convertSolidBckColor" 0 + -fva "convertSolidBckColor" 0 + -iv "convertSolidBckMode" 1 + -iv "convertSolidTxAntiA" 0 + -iv "convertSolidTxBakeAlpha" 0 + -iv "convertSolidTxBakeLt" 0 + -iv "convertSolidTxBakeShadow" 0 + -iv "convertSolidTxCompRange" 0 + -iv "convertSolidTxDoubleSided" 0; +optionVar + -sv "convertSolidTxFileFormat" "tif" + -iv "convertSolidTxFillTextureSeams" 0 + -iv "convertSolidTxResX" 16 + -iv "convertSolidTxResY" 16 + -iv "convertSolidTxSamplePlane" 0 + -fv "convertSolidTxUMax" 1 + -fv "convertSolidTxUMin" 0 + -iv "convertSolidTxUvRange" 0 + -fv "convertSolidTxVMax" 1 + -fv "convertSolidTxVMin" 0; +optionVar + -iv "copyKeyControlPoints" 0 + -iv "copyKeyDriven" 0 + -iv "copyKeyHelpPictures" 0 + -sv "copyKeyHierarchy" "none" + -sv "copyKeyOption" "keys" + -sv "copyKeyRange" "0:10" + -iv "copyKeyShapes" 1 + -iv "copyKeyUseChannelBox" 0 + -iv "copyKeyWhichRange" 1 + -iv "create2DFluidXRes" 40; +optionVar + -fv "create2DFluidXSize" 10 + -iv "create2DFluidYRes" 40 + -fv "create2DFluidYSize" 10 + -fv "create2DFluidZSize" 0.25 + -sv "create2dTextureType" "normal" + -iv "create3DFluidXRes" 10 + -fv "create3DFluidXSize" 10 + -iv "create3DFluidYRes" 10 + -fv "create3DFluidYSize" 10 + -iv "create3DFluidZRes" 10; +optionVar + -fv "create3DFluidZSize" 10 + -sv "createCharacterName" "character1" + -sv "createDrawContext" "createDrawCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axis \"x\" createDrawContext" + -iv "createDynamicConstraintUseSets" 0 + -iv "createHairMaxDensity" 100 + -iv "createHairOutput" 1 + -iv "createMaterialsWithShadingGroup" 1 + -iv "createNClothOutputSpace" 1 + -iv "createNurbsPrimitiveAsTool" 0 + -iv "createPolyPrimitiveAsTool" 0; +optionVar + -sv "createRenderNodeButtonStyle" "Icons and Text" + -iv "createTexturesWithPlacement" 1 + -iv "currentDisplayLayerActive" 0 + -iv "currentFrameVisibility" 0 + -sv "currentMenuBarTab" "renderingMenuSet" + -sv "curveContextCV" "curveCVCtx -e -image1 \"curveCV.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -degree 1\n-rational 0\n-uniform 1\n-multEndKnots 1\ncurveContextCV" + -sv "curveContextEP" "curveEPCtx -e -image1 \"curveEP.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -degree 2\n-uniform 1\n-preserveShapeFraction 0.25\ncurveContextEP" + -ca "customSelectPriority" + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 4 + -iva "customSelectPriority" 3 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 8 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -fv "cutCurveDirX" 0 + -fv "cutCurveDirY" 1; +optionVar + -fv "cutCurveDirZ" 0 + -iv "cutCurveEuc" 1 + -iv "cutCurveKeepOriginal" 0 + -iv "cutCurveLac" 0 + -iv "cutCurveSegmentOrKeepLongest" 2 + -fv "cutCurveTol" 0.0001 + -iv "cutCurveUseDirection" 6 + -iv "cutCurveUseTol" 1 + -iv "cutCurveWithAllCurvesOrLastCurve" 1 + -iv "cutKeyControlPoints" 0; +optionVar + -iv "cutKeyDriven" 0 + -iv "cutKeyHelpPictures" 0 + -sv "cutKeyHierarchy" "none" + -sv "cutKeyOption" "keys" + -sv "cutKeyRange" "0:10" + -iv "cutKeyShapes" 1 + -iv "cutKeyUseChannelBox" 0 + -iv "cutKeyWhichRange" 1 + -fv "defaultCameraFarClipValue" 1000 + -fv "defaultCameraNearClipValue" 0.1; +optionVar + -sv "defaultDiskCacheSaveAsType" "always" + -sv "defaultFileExportActiveType" "mayaAscii" + -sv "defaultFileExportAllType" "mentalRay" + -sv "defaultFileImportType" "mayaAscii" + -sv "defaultFileOpenType" "Best Guess" + -sv "defaultFileReferenceType" "Best Guess" + -sv "defaultFileSaveType" "mayaBinary" + -iv "defaultLockContainerUnpublished" 0 + -iv "defaultLockFile" 0 + -iv "defaultShowManipulator" 6; +optionVar + -sv "defaultTextureSaveAsType" "unlessRef" + -fv "defaultWeight" 0 + -iv "deformerOption" 1 + -iv "deleteChannelsControlPoints" 0 + -iv "deleteChannelsDriven" 0 + -sv "deleteChannelsHierarchy" "none" + -iv "deleteChannelsShapes" 1 + -iv "deleteChannelsUseChannelBox" 1 + -fv "deleteNclothCacheFramesEndTime" 100 + -iv "deleteNclothCacheFramesNoBackups" 1; +optionVar + -sv "deleteNclothCacheFramesRename" "backup" + -iv "deleteNclothCacheFramesRenameType" 1 + -fv "deleteNclothCacheFramesStartTime" 35 + -iv "deleteNclothCacheFramesTimeRange" 2 + -fv "deletenClothCacheStartTime" 1 + -iv "detachCurveEuc" 0 + -iv "detachCurveLac" 1 + -iv "detachDeleteHistory" 1 + -iv "detachKeepOriginal" 0 + -iv "detachSkinColorJts" 1; +optionVar + -sv "directKeyContext" "directKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" directKeyContext" + -ca "directionalLightColor" + -fva "directionalLightColor" 1 + -fva "directionalLightColor" 1 + -fva "directionalLightColor" 1 + -fv "directionalLightIntensity" 1 + -iv "directionalLightInteractivePlacement" 0 + -ca "directionalLightShadowColor" + -fva "directionalLightShadowColor" 0 + -fva "directionalLightShadowColor" 0 + -fva "directionalLightShadowColor" 0 + -iv "directionalLightShadows" 0 + -iv "disableComponentPopups" 1 + -iv "dispSmthnessFineNurbsObjsAffected" 1 + -iv "dispSmthnessHullNurbsObjsAffected" 1 + -iv "dispSmthnessHullSimpHullU" 2; +optionVar + -iv "dispSmthnessHullSimpHullV" 2 + -iv "displayAffected" 1 + -iv "displayAlphaAsGreyScale" 0 + -iv "displayDivisionLines" 1 + -iv "displayEditorImage" 0 + -iv "displayGridAxes" 1 + -iv "displayGridAxesAccented" 1 + -iv "displayGridLines" 1 + -sv "displayGridOrthoLabelPosition" "edge" + -iv "displayGridOrthoLabels" 0; +optionVar + -sv "displayGridPerspLabelPosition" "axis" + -iv "displayGridPerspLabels" 0 + -iv "displayLayerBase" 1 + -iv "displayLayerContents" 1 + -iv "displayLayerCurrent" 0 + -iv "displayLayerMerge" 2 + -iv "displayLayerOption" 1 + -iv "displayLayerShowNamespace" 1 + -iv "displayOrthoGridLabels" 0 + -iv "displayPerspGridLabels" 0; +optionVar + -ca "displayPolyBackFaceCull" + -iva "displayPolyBackFaceCull" 0 + -iva "displayPolyBackFaceCull" 0 + -ca "displayPolyBorderEdgeHilite" + -iva "displayPolyBorderEdgeHilite" 0 + -iva "displayPolyBorderEdgeHilite" 0 + -ca "displayPolyBorderEdgeSize" + -fva "displayPolyBorderEdgeSize" 4 + -fva "displayPolyBorderEdgeSize" 3 + -ca "displayPolyBorderMapHilite" + -iva "displayPolyBorderMapHilite" 0 + -iva "displayPolyBorderMapHilite" 0 + -ca "displayPolyCreaseEdgeHilite" + -iva "displayPolyCreaseEdgeHilite" 0 + -iva "displayPolyCreaseEdgeHilite" 0 + -ca "displayPolyCreaseVertexHilite" + -iva "displayPolyCreaseVertexHilite" 0 + -iva "displayPolyCreaseVertexHilite" 0 + -ca "displayPolyEdgeDisp" + -iva "displayPolyEdgeDisp" 0 + -iva "displayPolyEdgeDisp" 0 + -ca "displayPolyFacetCentreDisp" + -iva "displayPolyFacetCentreDisp" 0 + -iva "displayPolyFacetCentreDisp" 0 + -ca "displayPolyFacetNormalDisp" + -iva "displayPolyFacetNormalDisp" 0 + -iva "displayPolyFacetNormalDisp" 0 + -ca "displayPolyFacetTrngleDisp" + -iva "displayPolyFacetTrngleDisp" 0 + -iva "displayPolyFacetTrngleDisp" 0; +optionVar + -ca "displayPolyFacetWarpDisp" + -iva "displayPolyFacetWarpDisp" 0 + -iva "displayPolyFacetWarpDisp" 0 + -ca "displayPolyNormalSize" + -fva "displayPolyNormalSize" 0.4 + -fva "displayPolyNormalSize" 0.4 + -ca "displayPolyNumEdge" + -iva "displayPolyNumEdge" 0 + -iva "displayPolyNumEdge" 0 + -ca "displayPolyNumFacet" + -iva "displayPolyNumFacet" 0 + -iva "displayPolyNumFacet" 0 + -ca "displayPolyNumUv" + -iva "displayPolyNumUv" 0 + -iva "displayPolyNumUv" 0 + -ca "displayPolyNumVertex" + -iva "displayPolyNumVertex" 0 + -iva "displayPolyNumVertex" 0 + -iv "displayPolyObjsAffected" 0 + -ca "displayPolyUV" + -iva "displayPolyUV" 0 + -iva "displayPolyUV" 0 + -ca "displayPolyUVSize" + -fva "displayPolyUVSize" 4 + -fva "displayPolyUVSize" 4 + -ca "displayPolyUVTopology" + -iva "displayPolyUVTopology" 0 + -iva "displayPolyUVTopology" 0; +optionVar + -ca "displayPolyVertexNormals" + -iva "displayPolyVertexNormals" 0 + -iva "displayPolyVertexNormals" 0 + -ca "displayPolyVertexSize" + -fva "displayPolyVertexSize" 3 + -fva "displayPolyVertexSize" 3 + -ca "displayPolyVtxBackCull" + -iva "displayPolyVtxBackCull" 1 + -iva "displayPolyVtxBackCull" 1 + -ca "displayPolyVtxDisp" + -iva "displayPolyVtxDisp" 0 + -iva "displayPolyVtxDisp" 0 + -iv "displayRegionOfEffect" 1 + -iv "displayViewportGradient" 0 + -sv "distanceDimContext" "distanceDimContext -e -image1 \"distanceDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" distanceDimContext" + -sv "dmmLibType" "cinematic" + -sv "dmmMaterialLibPath" "C:/Documents and Settings/Elrond/My Documents/DMM Libraries/materials/" + -sv "dmmSplinterImagesPath" "C:/Documents and Settings/Elrond/My Documents/DMM Libraries/splinters/images/"; +optionVar + -sv "dmmSplintersPath" "C:/Documents and Settings/Elrond/My Documents/DMM Libraries/splinters/meshes/" + -sv "dolly2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" dolly2dContext" + -sv "dollyContext" "dollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Dolly Tool\" -scale 1\n-localDolly 1\n-centerOfInterestDolly 0\n-boxDollyType \"bbox\" -dollyTowardsCenter 1\ndollyContext" + -sv "dollytwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" dollytwContext" + -iv "dopeSheetAutoFit" 0 + -iv "dopeSheetOutlinerWidth" 190 + -iv "dopeSheetShowTicks" 1 + -fv "dragAttenuation" 1 + -fv "dragDirectionX" 0 + -fv "dragDirectionY" 0; +optionVar + -fv "dragDirectionZ" 0 + -fv "dragMagnitude" 0.05 + -iv "dragMaxDistCBox" 0 + -fv "dragMaxDistance" 0 + -sv "dragName" "" + -fv "dragTorusSectionRadius" 0.5 + -iv "dragUseDirection" 0 + -iv "dragVolumeExclusion" 0 + -iv "dragVolumeFieldTypesOM" 1 + -fv "dragVolumeOffsetX" 0; +optionVar + -fv "dragVolumeOffsetY" 0 + -fv "dragVolumeOffsetZ" 0 + -fv "dragVolumeSweep" 360 + -fv "dropoff" 30 + -iv "duplicateCurveEuc" 0 + -iv "duplicateCurveIsoparms" 2 + -iv "duplicateCurveLac" 1 + -iv "duplicateCurveLocal" 0 + -iv "duplicateSpecialCopy" 1 + -iv "duplicateSpecialCount" 10; +optionVar + -iv "duplicateSpecialGroup" 1 + -iv "duplicateSpecialInputConn" 0 + -iv "duplicateSpecialInstanceLeaf" 0 + -fv "duplicateSpecialRX" 0 + -fv "duplicateSpecialRY" 0 + -fv "duplicateSpecialRZ" 0 + -iv "duplicateSpecialRenameChildren" 0 + -fv "duplicateSpecialSX" 1 + -fv "duplicateSpecialSY" 1 + -fv "duplicateSpecialSZ" 1; +optionVar + -iv "duplicateSpecialSmart" 0 + -fv "duplicateSpecialTX" 0 + -fv "duplicateSpecialTY" 0.055 + -fv "duplicateSpecialTZ" 0 + -iv "duplicateSpecialUpstream" 0 + -iv "dynPaint23dToggle" 2 + -ca "dynPaintPanelClearColour" + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -sv "dynParticleContext" "dynParticleCtx -e -image1 \"particle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -conserve 1\n-nucleus 0\n-sketch 0\n-numJitters 1\n-jitterRadius 0\n-sketchInterval 5\n-grid 0\n-gridSpacing 0.5\n-lowerLeftX -2.5\n-lowerLeftY -2.5\n-lowerLeftZ -2.5\n-upperRightX 2.5\n-upperRightY 2.5\n-upperZ 2.5\ndynParticleContext" + -iv "dynPrefAutoCreate" 1 + -iv "dynPrefEchoCollision" 1; +optionVar + -iv "dynPrefRunupFrom" 2 + -iv "dynPrefRunupToCurrentTime" 0 + -iv "dynPrefSaveRuntimeState" 1 + -sv "dynWireCtx1" "dynWireCtx -e -image1 \"paintEffectsTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -dragBrushSize \"none\" -doProject 1\n-brushDrag 0.88\n-brushMass 1\n-inputSamples 4\n-sampleSeparation 4\n-surfaceOffset 0\n-paintAtDepth 0\n-drawAsMesh 1\n-usePressure 1\n-pressureMapping1 0\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0.5854\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-displayQuality 100\n-pixelMode 0\ndynWireCtx1" + -iv "echoAllLines" 0 + -iv "editRampIsVertical" 0 + -fv "emitterAlongAxis" 0 + -fv "emitterAroundAxis" 0 + -fv "emitterAwayFromAxis" 1 + -fv "emitterAwayFromCenter" 1; +optionVar + -iv "emitterCycleInterval" 1 + -iv "emitterCycleOM" 1 + -iv "emitterDieOnExit" 0 + -fv "emitterDirectionX" 1 + -fv "emitterDirectionY" 0 + -fv "emitterDirectionZ" 0 + -fv "emitterDirectionalSpeed" 0 + -fv "emitterMaxDistance" 0 + -fv "emitterMinDistance" 0 + -sv "emitterName" "HemisphereEmitter"; +optionVar + -iv "emitterNeedParentUV" 0 + -fv "emitterNormalSpeed" 1 + -fv "emitterRandomSpread" 0 + -fv "emitterRate" 100 + -iv "emitterScaleRateByObjectSize" 0 + -iv "emitterScaleSpeedBySize" 0 + -fv "emitterSpeed" 1 + -fv "emitterSpeedRandomRange" 0 + -fv "emitterSpread" 0 + -fv "emitterTangentSpeed" 0; +optionVar + -fv "emitterTorusSectionRadius" 0.5 + -iv "emitterTypesOM" 3 + -fv "emitterVolumeOffsetX" 0 + -fv "emitterVolumeOffsetY" 0 + -fv "emitterVolumeOffsetZ" 0 + -iv "emitterVolumeShapeOM" 1 + -fv "emitterVolumeSweep" 360 + -iv "enableRedirection" 0 + -iv "exclusiveBind" 0 + -iv "expandPopupList" 0; +optionVar + -iv "exportIncludeChannels" 0 + -iv "exportIncludeConstraints" 0 + -iv "exportIncludeExpressions" 0 + -iv "exportIncludeHistory" 0 + -iv "exportIncludeInputs" 0 + -iv "exportIncludeShaders" 1 + -iv "exportKeepOnlyRef" 0 + -iv "exportKeepReferences" 0 + -iv "exportOptionsGrouping" 0 + -sv "exportOptionsRenamePrefix" ""; +optionVar + -iv "exportOptionsUseRenamePrefix" 0 + -iv "exportUseNamespacesDuringFileIO" 1 + -iv "expressionOption" 0 + -iv "extendFluidMaxX" 0 + -iv "extendFluidMaxY" 5 + -iv "extendFluidMaxZ" 0 + -iv "extendFluidMinX" 0 + -iv "extendFluidMinY" 0 + -iv "extendFluidMinZ" 0 + -iv "extendFluidRebuildIC" 1; +optionVar + -iv "extrudeCurveRangePartial" 0 + -iv "extrudeDegreeAlongLength" 3 + -iv "extrudeDirectionType" 0 + -fv "extrudeDirectionX" 0 + -fv "extrudeDirectionY" 1 + -fv "extrudeDirectionZ" 0 + -iv "extrudeEuc" 0 + -iv "extrudeLac" 1 + -fv "extrudeLength" 1 + -iv "extrudeOutputPolygons" 0; +optionVar + -iv "extrudePathFixed" 1 + -fv "extrudeRotation" 0 + -fv "extrudeScale" 1 + -iv "extrudeStyle" 2 + -iv "extrudeUseComponentPivot" 0 + -fv "extrudeUsePivotX" 0 + -fv "extrudeUsePivotY" 0 + -fv "extrudeUsePivotZ" 0 + -iv "extrudeUseProfileNormal" 0 + -iv "fastInteraction" 0; +optionVar + -iv "fbEnvVarExpand" 0 + -iv "fbikDetailsVisibility" 0 + -iv "fcheckAsImageViewer" 1 + -sv "fileCompressionMode" "asCompressed" + -iv "fileExecuteSN" 1 + -sv "fileImportRefLoadSetting" "all" + -iv "fileOpenIgnoreVersion" 0 + -sv "fileOpenRefLoadSetting" "default" + -sv "fileOptionsGroupNodeResolvedName" "badWeightsRNgroup" + -iv "fileOptionsGrouping" 0; +optionVar + -iv "fileOptionsRenameAll" 0 + -sv "fileOptionsRenamePrefix" "deformRig" + -iv "fileOptionsUseRenamePrefix" 0 + -sv "fileReferenceRefLoadSetting" "all" + -iv "fileSelPreload" 0 + -iv "flEmitterCycleInterval" 1 + -iv "flEmitterCycleOM" 1 + -fv "flEmitterDensityRate" 1 + -fv "flEmitterFluidDropoff" 2 + -fv "flEmitterFuelRate" 1; +optionVar + -fv "flEmitterHeatRate" 1 + -fv "flEmitterMaxDistance" 1 + -fv "flEmitterMinDistance" 0 + -sv "flEmitterName" "" + -iv "flEmitterParenting" 1 + -fv "flEmitterTorusSectionRadius" 0.5 + -sv "flEmitterTypeOM" "Omni" + -fv "flEmitterVolumeOffsetX" 0 + -fv "flEmitterVolumeOffsetY" 0 + -fv "flEmitterVolumeOffsetZ" 0; +optionVar + -iv "flEmitterVolumeShapeOM" 1 + -fv "flEmitterVolumeSweep" 360 + -sv "fluidCacheOptions" "" + -iv "fluidsDiskCacheICColor" 1 + -iv "fluidsDiskCacheICDensity" 1 + -iv "fluidsDiskCacheICFalloff" 1 + -iv "fluidsDiskCacheICFuel" 1 + -iv "fluidsDiskCacheICTemperature" 1 + -iv "fluidsDiskCacheICTextureCoords" 1 + -iv "fluidsDiskCacheICVelocity" 1; +optionVar + -iv "frameRateVisibility" 0 + -iv "freeFormFilletOutputPolygons" 0 + -iv "freezeTransformationsJointOrient" 0 + -iv "freezeTransformationsNormal" 1 + -iv "freezeTransformationsRotate" 1 + -iv "freezeTransformationsScale" 0 + -iv "freezeTransformationsTranslate" 0 + -iv "freezeTransformationsWhen" 1 + -sv "furAttrMapOptions" "" + -sv "furEqualMapOptions" ""; +optionVar + -sv "furFilesOptions" "" + -sv "furImagesOptions" "" + -sv "furShadowMapOptions" "" + -iv "geometryConstraintAddTargets" 1 + -fv "geometryConstraintWeight" 1 + -iv "ghostFrameStep" 1 + -iv "ghostFramesAfter" 1 + -iv "ghostFramesBefore" 1 + -iv "globalVisibilityOfComponentBars" 1 + -sv "graphDollyContext" "graphDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphDollyContext"; +optionVar + -iv "graphEdOutlinerWidth" 190 + -iv "graphEditorAutoFit" 0 + -iv "graphEditorClipTime" 1 + -sv "graphTrackContext" "graphTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphTrackContext" + -fv "gravityAttenuation" 0 + -fv "gravityDirectionX" 0 + -fv "gravityDirectionY" -1 + -fv "gravityDirectionZ" 0 + -fv "gravityMagnitude" 9.8 + -fv "gravityMaxDistCBox" 0; +optionVar + -fv "gravityMaxDistance" 0 + -sv "gravityName" "gravity" + -fv "gravityTorusSectionRadius" 0.5 + -iv "gravityVolumeExclusion" 0 + -iv "gravityVolumeFieldTypesOM" 1 + -fv "gravityVolumeOffsetX" 0 + -fv "gravityVolumeOffsetY" 0 + -fv "gravityVolumeOffsetZ" 0 + -fv "gravityVolumeSweep" 360 + -fv "gridDivisions" 5; +optionVar + -fv "gridSize" 12 + -fv "gridSpacing" 5 + -iv "groupIDnOption" 1 + -iv "groupPreserve" 1 + -iv "groupWorld" 0 + -iv "groupZeroPivot" 1 + -sv "hairPaintContext" "artUserPaintCtx -e -image1 \"hairPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 1\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 1\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"userPaint\" -selectedattroper \"absolute\" -value 1\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-alphaclamplower 0\n-alphaclampupper 1\n-clamp \"none\" -alphaclamp \"none\" -dataTypeIndex 1\n-colorfeedback 0\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-colorAlphaValue 1 -fullpaths 1\n-toolSetupCmd \"hairCurvePaint\" -toolCleanupCmd \"cleanupHairPaint\" -initializeCmd \"initHairPaint\" -finalizeCmd \"finishHairPaint\" -getValueCommand \"getHairPaintValue\" -setValueCommand \"setHairPaintValue\" hairPaintContext" + -sv "hcPaintFollicleAttribute" "Clump width mult" + -iv "hcPaintFollicleDensityU" 1 + -iv "hcPaintFollicleDensityV" 1; +optionVar + -fv "hcPaintHairLength" 2 + -sv "hcPaintPaintMode" "Create follicles" + -iv "hcPaintPointsPerHair" 6 + -iv "heatMapDisplay" 0 + -iv "heatMapMetric" 2 + -iv "heatMapType" 1 + -iv "helpBrowserRaiseWindow" 1 + -iv "helpBrowserUseWindow" 1 + -sv "helpLanguage" "en_US" + -iv "helpLineVisible" 1; +optionVar + -iv "helpPopupDisplayTime" 4 + -sv "helpUrl" "" + -iv "highPrecisionNurbs" 0 + -sv "hotBoxDisplayStyle" "-dh" + -iv "hotBoxTransparencyLevel" 0 + -iv "hsBinsSortShadingNodesOnly" 1 + -iv "hsClearBeforeGraphing" 1 + -iv "hsMergeConnections" 1 + -iv "hsOpaqueContainers" 0 + -iv "hsShapeDisplay" 2; +optionVar + -iv "hsShowRelationships" 1 + -iv "hsTransformDisplay" 1 + -iv "hwRendererBumpResX" 512 + -iv "hwRendererBumpResY" 512 + -iv "hwRendererColorResX" 256 + -iv "hwRendererColorResY" 256 + -sv "hwRendererCullingOverride" "none" + -iv "hwRendererLowQualLighting" 0 + -iv "hwRendererOcclusionCulling" 0 + -iv "hwRendererTranspInShadows" 1; +optionVar + -iv "hwRendererUseMaxHWLights" 1 + -ca "hyperShadeFirstPaneTabs" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab1" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab2" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab3" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab4" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab5" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab6" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab7" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab8" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab9" + -iv "hyperShadePanelCreateBarIconsAndTextWidth" 206 + -iv "hyperShadePanelCreateBarShown" 1 + -sv "hyperShadePanelTabSectionsShown" "showTopAndBottomTabs" + -sv "hyperShadePanelWorkAreaTab" "hyperShadePanel1Window|TearOffPane|hyperShadePanel1|hyperShadePanel1|mainForm|paneArrangement|secondPaneTabs|formLayout129" + -ca "hyperShadeSecondPaneTabs" + -sva "hyperShadeSecondPaneTabs" "hyperShadeTab10" + -iv "hyperShadeTab1" 1 + -iv "hyperShadeTab10" 1 + -sv "hyperShadeTab10HypershadeName" "graph1HyperShadeEd"; +optionVar + -sv "hyperShadeTab10Label" "Work Area" + -sv "hyperShadeTab10Type" "protected graph" + -sv "hyperShadeTab1Filter" "MaterialsAndShaderGlow" + -sv "hyperShadeTab1HypershadeName" "collection1HyperShadeEd" + -sv "hyperShadeTab1IconSize" "smallIcons" + -sv "hyperShadeTab1Label" "Materials" + -sv "hyperShadeTab1Type" "scene" + -iv "hyperShadeTab2" 1 + -sv "hyperShadeTab2Filter" "Textures" + -sv "hyperShadeTab2HypershadeName" "collection2HyperShadeEd"; +optionVar + -sv "hyperShadeTab2IconSize" "smallIcons" + -sv "hyperShadeTab2Label" "Textures" + -sv "hyperShadeTab2Type" "scene" + -iv "hyperShadeTab3" 1 + -sv "hyperShadeTab3Filter" "Utilities" + -sv "hyperShadeTab3HypershadeName" "collection3HyperShadeEd" + -sv "hyperShadeTab3IconSize" "mediumIcons" + -sv "hyperShadeTab3Label" "Utilities" + -sv "hyperShadeTab3Type" "scene" + -iv "hyperShadeTab4" 1; +optionVar + -sv "hyperShadeTab4Filter" "LightsAndOpticalFX" + -sv "hyperShadeTab4HypershadeName" "collection4HyperShadeEd" + -sv "hyperShadeTab4IconSize" "mediumIcons" + -sv "hyperShadeTab4Label" "Lights" + -sv "hyperShadeTab4Type" "scene" + -iv "hyperShadeTab5" 1 + -sv "hyperShadeTab5Filter" "Cameras" + -sv "hyperShadeTab5HypershadeName" "collection5HyperShadeEd" + -sv "hyperShadeTab5IconSize" "mediumIcons" + -sv "hyperShadeTab5Label" "Cameras"; +optionVar + -sv "hyperShadeTab5Type" "scene" + -iv "hyperShadeTab6" 1 + -sv "hyperShadeTab6Filter" "ShadingGroups" + -sv "hyperShadeTab6HypershadeName" "collection6HyperShadeEd" + -sv "hyperShadeTab6IconSize" "mediumIcons" + -sv "hyperShadeTab6Label" "Shading Groups" + -sv "hyperShadeTab6Type" "scene" + -iv "hyperShadeTab7" 1 + -sv "hyperShadeTab7Filter" "BakeSets" + -sv "hyperShadeTab7HypershadeName" "collection7HyperShadeEd"; +optionVar + -sv "hyperShadeTab7IconSize" "mediumIcons" + -sv "hyperShadeTab7Label" "Bake Sets" + -sv "hyperShadeTab7Type" "scene" + -iv "hyperShadeTab8" 1 + -sv "hyperShadeTab8CurrentDirectory" "C:/Documents and Settings/pmolodow/My Documents/maya/projects/" + -iv "hyperShadeTab8DirectoriesShown" 1 + -sv "hyperShadeTab8DirectoriesVisorName" "directories1VisorEd" + -iv "hyperShadeTab8FilesShown" 1 + -sv "hyperShadeTab8FilesVisorName" "files1VisorEd" + -sv "hyperShadeTab8Label" "Projects"; +optionVar + -sv "hyperShadeTab8RootDirectory" "C:/Documents and Settings/pmolodow/My Documents/maya/projects/" + -sv "hyperShadeTab8Type" "disk" + -iv "hyperShadeTab9" 1 + -sv "hyperShadeTab9Filter" "ContainerNodes" + -sv "hyperShadeTab9HypershadeName" "collection8HyperShadeEd" + -sv "hyperShadeTab9IconSize" "mediumIcons" + -sv "hyperShadeTab9Label" "Container Nodes" + -sv "hyperShadeTab9Type" "scene" + -iv "hypergraphColorOverride" 0 + -iv "hypergraphDisplayConstraints" 0; +optionVar + -iv "hypergraphDisplayDeformers" 0 + -iv "hypergraphDisplayExpressions" 0 + -iv "hypergraphDisplayImage" 0 + -iv "hypergraphDisplayInvisibleNodes" 1 + -iv "hypergraphDisplayShapeNodes" 1 + -iv "hypergraphDisplayUnderworldNodes" 1 + -iv "hypergraphFreeform" 0 + -sv "hypergraphGraphLayoutStyle" "HierarchicalLayout" + -iv "hypergraphMergeConnections" 1 + -iv "hypergraphOpaqueContainers" 0; +optionVar + -iv "hypergraphShowCachedConnections" 0 + -iv "hypergraphShowRelationships" 1 + -iv "hypergraphUpdateNodeAdded" 1 + -iv "hypergraphUpdateSelection" 1 + -iv "ignoreSelectionPriority" 0 + -iv "ikFKSwitchState" 0 + -sv "ikHandleContext" "ikHandleCtx -e -image1 \"kinHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikRPsolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikHandleContext" + -fv "ikHandleDisplayScale" 1 + -sv "ikIkFkDisplayMethod" "ikfk" + -fv "ikIkFkJointDisplayScale" 1; +optionVar + -fv "ikJointDisplayScale" 0.4352 + -sv "ikSplineHandleContext" "ikSplineHandleCtx -e -image1 \"kinSplineHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikSplineSolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 0\n-snapCurve 1\n-numSpans 1\n-rootTwistMode 0\nikSplineHandleContext" + -sv "imageOptions" "" + -iv "importKeepReferences" 1 + -sv "inTangentType" "plateau" + -iv "incrementalSaveLimitBackups" 0 + -iv "incrementalSaveMaxBackups" 20 + -iv "innerStyleBevelCurve" 0 + -iv "innerStyleSameAsOuter" 1 + -iv "insertCurveEuc" 0; +optionVar + -iv "insertCurveLac" 1 + -iv "insertIsoAddOrComplement" 1 + -iv "insertIsoBetween" 0 + -iv "insertIsoKeepOriginal" 0 + -iv "insertIsoNumberOfIsosToInsert" 1 + -sv "insertJointContext" "insertJointCtx -e -image1 \"kinInsert.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" insertJointContext" + -sv "insertKeyContext" "insertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\ninsertKeyContext" + -iv "insertKnotAddOrComplement" 1 + -iv "insertKnotBetween" 0 + -iv "insertKnotIsoparm" 0; +optionVar + -iv "insertKnotKeepOriginal" 0 + -iv "insertKnotNumberOfKnotsToInsert" 1 + -iv "iprRenderMotionBlur" 1 + -iv "iprRenderShading" 1 + -iv "iprRenderShadowMaps" 1 + -iv "isAttributeEditorVisible" 0 + -iv "isCreateRenderPassSet" 0 + -iv "isHotBoxAnimationRowVisible" 0 + -iv "isHotBoxClothRowVisible" 0 + -iv "isHotBoxCommonRowVisible" 1; +optionVar + -iv "isHotBoxControlRowVisible" 1 + -iv "isHotBoxDMMRowVisible" 1 + -iv "isHotBoxDynamicsRowVisible" 0 + -iv "isHotBoxLiveRowVisible" 0 + -iv "isHotBoxNClothRowVisible" 0 + -iv "isHotBoxNDynamicsRowVisible" 0 + -iv "isHotBoxPane-SpecificRowVisible" 1 + -iv "isHotBoxPane-specificRowVisible" 1 + -iv "isHotBoxPaneSpecificRowVisible" 1 + -iv "isHotBoxPolygonsRowVisible" 0; +optionVar + -iv "isHotBoxRenderingRowVisible" 1 + -iv "isHotBoxRmbPopupsOn" 0 + -iv "isHotBoxShowAll" 0 + -iv "isHotBoxSurfacesRowVisible" 0 + -iv "isIncrementalSaveEnabled" 1 + -iv "isMarkingMenuOn" 1 + -iv "isShelfLoad" 1 + -iv "isShelfSave" 1 + -iv "isShelfVisible" 1 + -sv "jointContext" "jointCtx -e -image1 \"kinJoint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -scaleCompensateJ 1\n-degreeOfFreedomJ \"xyz\" -jointOrientationJ 0 0 0 -scaleOrientationJ 0 0 0 -scaleJ 1 1 1 -autoJointOrient \"xyz\" -secondaryAxisOrient \"yup\" -jointAutoLimits 0\n-createIKHandle 0\n-solverTypeH \"ikRPsolver\" -autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-smallBoneLength 1\n-smallBoneRadius 0.5\n-largeBoneLength 30\n-largeBoneRadius 2\njointContext"; +optionVar + -iv "journalIsOn" 1 + -iv "keepSwatchesAtCurrentResolution" 0 + -iv "keyControlPoints" 0 + -iv "keyHierarchy" 0 + -iv "keySetFBIK" 1 + -iv "keySetIKFK" 0 + -iv "keyShapes" 1 + -iv "keyUseChannelBox" 0 + -sv "keyframeRegionDirectKeyContext" "keyframeRegionDirectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionDirectKeyContext" + -sv "keyframeRegionDollyContext" "keyframeRegionDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionDollyContext"; +optionVar + -sv "keyframeRegionInsertKeyContext" "keyframeRegionInsertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 1\nkeyframeRegionInsertKeyContext" + -sv "keyframeRegionMoveKeyContext" "keyframeRegionMoveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionMoveKeyContext" + -sv "keyframeRegionScaleKeyContext" "keyframeRegionScaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 1\nkeyframeRegionScaleKeyContext" + -sv "keyframeRegionSelectKeyContext" "keyframeRegionSelectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionSelectKeyContext" + -sv "keyframeRegionSetKeyContext" "keyframeRegionSetKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nkeyframeRegionSetKeyContext" + -sv "keyframeRegionTrackContext" "keyframeRegionTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionTrackContext" + -sv "lastLocalWS" "C:/3D/Projects/lightGenMapTest" + -iv "latticeAutoParent" 0 + -iv "latticeCommonParent" 0 + -sv "latticeDeformKeyContext" "latticeDeformKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-scaleLatticePts 0\nlatticeDeformKeyContext"; +optionVar + -iv "latticeDivX" 2 + -iv "latticeDivY" 5 + -iv "latticeDivZ" 2 + -sv "latticeExclName" "deformPartition" + -iv "latticeExclusive" 0 + -iv "latticeFreezeMapping" 0 + -iv "latticeLocal" 1 + -iv "latticeLocalDivX" 2 + -iv "latticeLocalDivY" 2 + -iv "latticeLocalDivZ" 2; +optionVar + -iv "latticeObjectCentered" 1 + -fv "latticeOutsideFalloffDistance" 1 + -sv "latticeOutsideTransform" "inside" + -sv "latticePositioning" "default" + -iv "leInMainWindow" 1 + -iv "limitWrapInfluence" 1 + -iv "loadDynamics" 1 + -iv "loadUrchin" 1 + -iv "locatorOption" 0 + -iv "lockWeights" 1; +optionVar + -iv "loftPolys" 0 + -fv "ltsFarClip" 1000 + -fv "ltsNearClip" 0.001 + -iv "mainMenuBarNeedsToBeTraversedWhenHotkeyEditorIsOpened" 1 + -iv "mainWindowDisable" 0 + -iv "mainWindowMenubarVis" 1 + -iv "mainWindowTitleBarVis" 1 + -fv "manipGlobalScale" 1.5 + -fv "manipHandleSize" 35 + -fv "manipLinePickSize" 1; +optionVar + -fv "manipLineSize" 1 + -fv "manipMiddleMouseRepos" 0 + -fv "manipPreviousStateSize" 6 + -ca "markingMenuEditorAnnotations" + -sva "markingMenuEditorAnnotations" "ChangePanelLayout" + -sva "markingMenuEditorAnnotations" "ChangePanelType" + -sva "markingMenuEditorAnnotations" "ControlPaneVisibility" + -sva "markingMenuEditorAnnotations" "ChangeSelectionMask" + -sva "markingMenuEditorAnnotations" "CommonModelingPanes" + -sva "markingMenuEditorAnnotations" "PA_Style_LMB" + -sva "markingMenuEditorAnnotations" "PA_Style_MMB" + -sva "markingMenuEditorAnnotations" "PA_Style_RMB" + -ca "markingMenuEditorDisplayAsMMFlags" + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -ca "markingMenuEditorFilenames" + -sva "markingMenuEditorFilenames" "menu_ChangePanelLayout" + -sva "markingMenuEditorFilenames" "menu_ChangePanelType" + -sva "markingMenuEditorFilenames" "menu_ControlPaneVisibility" + -sva "markingMenuEditorFilenames" "menu_ChangeSelectionMask" + -sva "markingMenuEditorFilenames" "menu_CommonModelingPanes" + -sva "markingMenuEditorFilenames" "menu_PA_Style_LMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_MMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_RMB" + -ca "markingMenuEditorIsNamedCommandFlags" + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -fv "maxDistance" 1 + -iv "maxImageSizeForSwatchGen" 2000 + -fv "maxInfl" 3; +optionVar + -iv "maxInfls" 4 + -iv "maxTextureResolution" 4096 + -sv "mayaAsciiOptions" "v=0" + -sv "mayaBinaryOptions" "" + -iv "mayaMacButtonMap" 3 + -sv "mayaMode" "renderingMenuSet" + -sv "melOptions" "" + -sv "mentalRayOptions" "" + -iv "miCacheOptimFileTextures" 0 + -iv "miCollapseHistoryOnProxyUpdate" 0; +optionVar + -iv "miFileTextureCacheConversionScope" 1 + -sv "miFileTextureCacheLocation" "" + -iv "miFileTextureCacheStorageMode" 0 + -iv "miUseMayaAlphaDetection" 0 + -iv "middleMouseRepos" 0 + -ca "minorNodeTypes" + -iva "minorNodeTypes" 1397509968 + -iva "minorNodeTypes" 1330007124 + -iva "minorNodeTypes" 1330792012 + -iva "minorNodeTypes" 1330529868 + -iva "minorNodeTypes" 1330464332 + -iva "minorNodeTypes" 1330004308 + -iva "minorNodeTypes" 1330923084 + -iva "minorNodeTypes" 1330857548 + -iva "minorNodeTypes" 1196576848 + -iva "minorNodeTypes" 1145918537 + -iva "minorNodeTypes" 1280070484 + -iva "minorNodeTypes" 1314083656 + -iva "minorNodeTypes" 1313166152 + -iva "minorNodeTypes" 1297435724 + -iva "minorNodeTypes" 1145390668 + -iva "minorNodeTypes" 1347441492 + -iva "minorNodeTypes" 1380209484 + -iva "minorNodeTypes" 1146246476 + -iva "minorNodeTypes" 1380206412 + -iva "minorNodeTypes" 1380404290 + -iva "minorNodeTypes" 1381061953 + -iva "minorNodeTypes" 1380734030 + -iva "minorNodeTypes" 1146441300 + -iva "minorNodeTypes" 1196443972 + -iva "minorNodeTypes" 1213812812 + -iva "minorNodeTypes" 1213812818 + -iv "minorNodeTypesDisplay" 1 + -iv "mirrorInverse" 1 + -iv "mirrorJointFunction" 1 + -iv "mirrorJointMode" 2; +optionVar + -sv "mirrorJointReplace" "r_" + -sv "mirrorJointSearch" "l_" + -sv "mirrorSkinAxis" "YZ" + -iv "mirrorSkinWeightsInfluenceAssociationOption1" 3 + -iv "mirrorSkinWeightsInfluenceAssociationOption2" 2 + -iv "mirrorSkinWeightsInfluenceAssociationOption3" 1 + -iv "mirrorSkinWeightsSurfaceAssociationOption" 1 + -iv "missingReferenceDialogBakeChanges" 0 + -iv "mlRotoCacheSize" 10 + -iv "mlRotoPixelType" 0; +optionVar + -iv "mlRotoTextureMethod" 1 + -iv "modelWithToolAlignCurve" 0 + -iv "modelWithToolAlignSurface" 0 + -iv "modelWithToolAttachCurve" 0 + -iv "modelWithToolAttachSurface" 0 + -iv "modelWithToolBevel" 0 + -iv "modelWithToolBoundary" 0 + -iv "modelWithToolCircFillet" 0 + -iv "modelWithToolCloseCurve" 0 + -iv "modelWithToolCloseSurface" 0; +optionVar + -iv "modelWithToolCutCurve" 0 + -iv "modelWithToolCvHardness" 0 + -iv "modelWithToolDetachCurve" 0 + -iv "modelWithToolDetachSurface" 0 + -iv "modelWithToolDuplCurve" 0 + -iv "modelWithToolDuplicateSurface" 0 + -iv "modelWithToolExtendCosCurve" 0 + -iv "modelWithToolExtendCurve" 0 + -iv "modelWithToolExtendSurface" 0 + -iv "modelWithToolExtrude" 0; +optionVar + -iv "modelWithToolFilletCurve" 0 + -iv "modelWithToolFitBspline" 0 + -iv "modelWithToolFreeFillet" 0 + -iv "modelWithToolGlobalStitch" 0 + -iv "modelWithToolInsertCurve" 0 + -iv "modelWithToolInsertSurface" 0 + -iv "modelWithToolIntersect" 0 + -iv "modelWithToolIntersectCurve" 0 + -iv "modelWithToolLoft" 0 + -iv "modelWithToolOffsetCoS" 0; +optionVar + -iv "modelWithToolOffsetCurve" 0 + -iv "modelWithToolOffsetSurface" 0 + -iv "modelWithToolPlanar" 0 + -iv "modelWithToolProject" 0 + -iv "modelWithToolProjectTangent" 0 + -iv "modelWithToolRebuildCurve" 0 + -iv "modelWithToolRebuildSurface" 0 + -iv "modelWithToolReverseCurve" 0 + -iv "modelWithToolReverseSurface" 0 + -iv "modelWithToolRevolve" 0; +optionVar + -iv "modelWithToolSmoothCurve" 0 + -iv "modelWithToolSquareSrf" 0 + -iv "modelWithToolUntrim" 0 + -fv "motionTrailByTime" 1 + -iv "motionTrailDrawStyle" 3 + -fv "motionTrailEndTime" 10 + -iv "motionTrailForceUpdate" 1 + -iv "motionTrailFrames" 1 + -fv "motionTrailStartTime" 1 + -iv "motionTrailTSRange" 1; +optionVar + -sv "moveKeyContext" "moveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" -moveFunction \"constant\" moveKeyContext" + -sv "moveOptions" "" + -iv "multiListerPanel1BottomListerActiveTab" 1 + -ca "multiListerPanel1BottomListerCmds" + -sva "multiListerPanel1BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerCount" 1 + -ca "multiListerPanel1BottomListerLabels" + -sva "multiListerPanel1BottomListerLabels" "Textures" + -ca "multiListerPanel1BottomListerNames" + -sva "multiListerPanel1BottomListerNames" "multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerTabHeight" 50 + -iv "multiListerPanel1ButtonBar" 1 + -sv "multiListerPanel1NewTabFilter" "DefaultSGLightShapesFilter"; +optionVar + -iv "multiListerPanel1TopListerActiveTab" 1 + -ca "multiListerPanel1TopListerCmds" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab4" + -iv "multiListerPanel1TopListerCount" 4 + -ca "multiListerPanel1TopListerLabels" + -sva "multiListerPanel1TopListerLabels" "General" + -sva "multiListerPanel1TopListerLabels" "Materials" + -sva "multiListerPanel1TopListerLabels" "Lights" + -sva "multiListerPanel1TopListerLabels" "Cameras" + -ca "multiListerPanel1TopListerNames" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab4" + -sv "multiListerPanel1WorkArea" "single" + -iv "multiListerPanel1WorkAreaHeight" 33 + -iv "multiListerPanel2BottomListerActiveTab" 1 + -ca "multiListerPanel2BottomListerCmds" + -sva "multiListerPanel2BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2BottomTab1" + -iv "multiListerPanel2BottomListerCount" 1; +optionVar + -ca "multiListerPanel2BottomListerLabels" + -sva "multiListerPanel2BottomListerLabels" "Textures" + -ca "multiListerPanel2BottomListerNames" + -sva "multiListerPanel2BottomListerNames" "multiListerPanel2BottomTab1" + -iv "multiListerPanel2BottomListerTabHeight" 50 + -iv "multiListerPanel2ButtonBar" 1 + -sv "multiListerPanel2NewTabFilter" "DefaultSGLightShapesFilter" + -iv "multiListerPanel2TopListerActiveTab" 1 + -ca "multiListerPanel2TopListerCmds" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab1" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab2" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab3" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab4" + -iv "multiListerPanel2TopListerCount" 4 + -ca "multiListerPanel2TopListerLabels" + -sva "multiListerPanel2TopListerLabels" "General" + -sva "multiListerPanel2TopListerLabels" "Materials" + -sva "multiListerPanel2TopListerLabels" "Lights" + -sva "multiListerPanel2TopListerLabels" "Cameras" + -ca "multiListerPanel2TopListerNames" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab1" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab2" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab3" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab4"; +optionVar + -sv "multiListerPanel2WorkArea" "single" + -iv "multiListerPanel2WorkAreaHeight" 33 + -iv "multipleBindPosesOpt" 1 + -sv "myTestVal" "third" + -sv "nameOfHotBoxC1MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC2MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC3MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxE1MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE2MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE3MarkingMenu" "ControlPaneVisibility"; +optionVar + -sv "nameOfHotBoxN1MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN2MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN3MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxS1MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS2MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS3MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxW1MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW2MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW3MarkingMenu" "ChangeSelectionMask" + -iv "nclothCacheAsFloats" 1; +optionVar + -sv "nclothCacheDirName" "CurrentProject" + -iv "nclothCacheDistrib" 1 + -fv "nclothCacheEndTime" 78 + -iv "nclothCacheInheritModifications" 0 + -iv "nclothCacheMergeDelete" 0 + -sv "nclothCacheName" "Automatic" + -iv "nclothCachePerGeometry" 0 + -iv "nclothCacheSampleMultiplier" 1 + -fv "nclothCacheSimulationRate" 1 + -fv "nclothCacheStartTime" -13; +optionVar + -iv "nclothCacheTimeRange" 2 + -iv "nclothCacheUsePrefix" 0 + -iv "nclothDeleteCacheFiles" 2 + -iv "nclothRefresh" 1 + -iv "newCurveDisplayCV" 0 + -iv "newCurveDisplayEP" 0 + -iv "newCurveDisplayHull" 0 + -iv "newFileEnabled" 0 + -sv "newFileName" "" + -iv "newNurbsIsoparms" 0; +optionVar + -iv "newNurbsPointsShaded" 1 + -iv "newNurbsPointsWire" 5 + -iv "newPolyBackFaceCull" 0 + -iv "newPolyBorderEdgeHilite" 1 + -fv "newPolyBorderEdgeSize" 4 + -iv "newPolyBorderMapHilite" 0 + -iv "newPolyColorChannel" 3 + -iv "newPolyColorShaded" 0 + -iv "newPolyCreaseEdgeHilite" 1 + -iv "newPolyCreaseVertexHilite" 1; +optionVar + -iv "newPolyEdgeDisp" 0 + -iv "newPolyFacetCentreDisp" 0 + -iv "newPolyFacetNormalDisp" 0 + -iv "newPolyFacetTrngleDisp" 0 + -iv "newPolyFacetWarpDisp" 0 + -iv "newPolyMaterialBlend" 1 + -fv "newPolyNormalSize" 0.4 + -iv "newPolyNumEdgeDisp" 0 + -iv "newPolyNumFacetDisp" 0 + -iv "newPolyNumUvDisp" 0; +optionVar + -iv "newPolyNumVertexDisp" 0 + -fv "newPolyUVSize" 4 + -iv "newPolyVertexNormals" 0 + -fv "newPolyVertexSize" 6 + -iv "newPolyVtxBackCull" 1 + -iv "newPolyVtxDisp" 0 + -sv "newScenePanelConfiguration" "Single Perspective View" + -iv "newSurfaceDisplayCV" 0 + -iv "newSurfaceDisplayEP" 0 + -iv "newSurfaceDisplayHull" 0; +optionVar + -iv "newSurfaceDisplayOrigin" 0 + -fv "newtonAttenuation" 1 + -fv "newtonMagnitude" 5 + -iv "newtonMaxDistCBox" 0 + -fv "newtonMaxDistance" 0 + -fv "newtonMinDistance" 0.2 + -sv "newtonName" "" + -fv "newtonTorusSectionRadius" 0.5 + -iv "newtonVolumeExclusion" 0 + -iv "newtonVolumeFieldTypesOM" 1; +optionVar + -fv "newtonVolumeOffsetX" 0 + -fv "newtonVolumeOffsetY" 0 + -fv "newtonVolumeOffsetZ" 0 + -fv "newtonVolumeSweep" 360 + -iv "normalConstraintAddTargets" 1 + -ca "normalConstraintAimVector" + -fva "normalConstraintAimVector" -1 + -fva "normalConstraintAimVector" 0 + -fva "normalConstraintAimVector" 0 + -ca "normalConstraintUpVector" + -fva "normalConstraintUpVector" 0 + -fva "normalConstraintUpVector" 0 + -fva "normalConstraintUpVector" 1 + -fv "normalConstraintWeight" 1 + -sv "normalConstraintWorldUpObject" "" + -sv "normalConstraintWorldUpType" "vector"; +optionVar + -ca "normalConstraintWorldUpVector" + -fva "normalConstraintWorldUpVector" 0 + -fva "normalConstraintWorldUpVector" 1 + -fva "normalConstraintWorldUpVector" 0 + -iv "numShelves" 28 + -iv "nurbsCircleAxisType" 1 + -fv "nurbsCircleAxisX" 0 + -fv "nurbsCircleAxisY" 1 + -fv "nurbsCircleAxisZ" 0 + -iv "nurbsCircleDegree" 3 + -fv "nurbsCircleEndSweep" 360 + -iv "nurbsCirclePivotType" 1 + -fv "nurbsCirclePivotX" 0; +optionVar + -fv "nurbsCirclePivotY" 0 + -fv "nurbsCirclePivotZ" 0 + -fv "nurbsCircleRadius" 1 + -iv "nurbsCircleSections" 8 + -fv "nurbsCircleTolerance" 0.01 + -iv "nurbsCircleUseGlobalTol" 1 + -iv "nurbsCircleUseTolerance" 0 + -iv "nurbsCrvOption" 0 + -iv "nurbsCubeAxisType" 2 + -fv "nurbsCubeAxisX" 0; +optionVar + -fv "nurbsCubeAxisY" 1 + -fv "nurbsCubeAxisZ" 0 + -iv "nurbsCubeDegree" 3 + -fv "nurbsCubeHeightRatio" 1 + -fv "nurbsCubeLengthRatio" 1 + -iv "nurbsCubePatchesU" 1 + -iv "nurbsCubePatchesV" 1 + -iv "nurbsCubePivotType" 1 + -fv "nurbsCubePivotX" 0 + -fv "nurbsCubePivotY" 0; +optionVar + -fv "nurbsCubePivotZ" 0 + -fv "nurbsCubeWidth" 1 + -iv "nurbsCylinderAxisType" 2 + -fv "nurbsCylinderAxisX" 0 + -fv "nurbsCylinderAxisY" 1 + -fv "nurbsCylinderAxisZ" 0 + -iv "nurbsCylinderCaps" 3 + -iv "nurbsCylinderDegree" 3 + -fv "nurbsCylinderEndSweep" 360 + -iv "nurbsCylinderGroupCaps" 1; +optionVar + -fv "nurbsCylinderHeightRatio" 6 + -iv "nurbsCylinderPivotType" 1 + -fv "nurbsCylinderPivotX" 0 + -fv "nurbsCylinderPivotY" 0 + -fv "nurbsCylinderPivotZ" 0 + -fv "nurbsCylinderRadius" 1 + -iv "nurbsCylinderSections" 8 + -iv "nurbsCylinderSpans" 1 + -fv "nurbsCylinderStartSweep" 0 + -fv "nurbsCylinderTolerance" 0.01; +optionVar + -iv "nurbsCylinderUseGlobalTolerance" 0 + -iv "nurbsCylinderUseTolerance" 0 + -iv "nurbsPlaneAxisType" 2 + -fv "nurbsPlaneAxisX" 0 + -fv "nurbsPlaneAxisY" 1 + -fv "nurbsPlaneAxisZ" 0 + -iv "nurbsPlaneDegree" 1 + -fv "nurbsPlaneLengthRatio" 1 + -iv "nurbsPlanePatchesU" 1 + -iv "nurbsPlanePatchesV" 1; +optionVar + -iv "nurbsPlanePivotType" 1 + -fv "nurbsPlanePivotX" 0 + -fv "nurbsPlanePivotY" 0 + -fv "nurbsPlanePivotZ" 0 + -fv "nurbsPlaneWidth" 1 + -iv "nurbsPrimitiveAsToolExitOnComplete" 1 + -iv "nurbsSamples" 10 + -sv "nurbsSelect" "selectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" nurbsSelect" + -iv "nurbsSrfOption" 1 + -iv "obeyMaxInfl" 0; +optionVar + -iv "objectDetailsVisibility" 0 + -iv "oneTimeDefaultPluginLoad2008Ext2" 1 + -iv "oneTimeDefaultPluginLoad50" 1 + -iv "oneTimeDefaultPluginLoad65" 1 + -iv "oneTimeDefaultPluginLoad70" 1 + -iv "oneTimeDefaultPluginLoad80" 1 + -iv "oneTimeDefaultPluginUnload2008sp1" 1 + -iv "oneTimeUnlimitedPluginLoad30" 1 + -ca "optionBoxDimensionsAddInfluence" + -iva "optionBoxDimensionsAddInfluence" 525 + -iva "optionBoxDimensionsAddInfluence" 350 + -ca "optionBoxDimensionsAim" + -iva "optionBoxDimensionsAim" 525 + -iva "optionBoxDimensionsAim" 361; +optionVar + -ca "optionBoxDimensionsAlignObjectsoptions" + -iva "optionBoxDimensionsAlignObjectsoptions" 525 + -iva "optionBoxDimensionsAlignObjectsoptions" 350 + -ca "optionBoxDimensionsAlignUV" + -iva "optionBoxDimensionsAlignUV" 525 + -iva "optionBoxDimensionsAlignUV" 350 + -ca "optionBoxDimensionsAppendToNclothCache" + -iva "optionBoxDimensionsAppendToNclothCache" 525 + -iva "optionBoxDimensionsAppendToNclothCache" 350 + -ca "optionBoxDimensionsAreaLight" + -iva "optionBoxDimensionsAreaLight" 525 + -iva "optionBoxDimensionsAreaLight" 350 + -ca "optionBoxDimensionsAttachCurves" + -iva "optionBoxDimensionsAttachCurves" 525 + -iva "optionBoxDimensionsAttachCurves" 350 + -ca "optionBoxDimensionsAutomaticMapping" + -iva "optionBoxDimensionsAutomaticMapping" 526 + -iva "optionBoxDimensionsAutomaticMapping" 350 + -ca "optionBoxDimensionsBend" + -iva "optionBoxDimensionsBend" 525 + -iva "optionBoxDimensionsBend" 350 + -ca "optionBoxDimensionsCharacterCreate" + -iva "optionBoxDimensionsCharacterCreate" 525 + -iva "optionBoxDimensionsCharacterCreate" 350 + -ca "optionBoxDimensionsCleanup" + -iva "optionBoxDimensionsCleanup" 525 + -iva "optionBoxDimensionsCleanup" 350 + -ca "optionBoxDimensionsConvertToSubdiv" + -iva "optionBoxDimensionsConvertToSubdiv" 525 + -iva "optionBoxDimensionsConvertToSubdiv" 350; +optionVar + -ca "optionBoxDimensionsCopyCurrentUVSet" + -iva "optionBoxDimensionsCopyCurrentUVSet" 525 + -iva "optionBoxDimensionsCopyCurrentUVSet" 350 + -ca "optionBoxDimensionsCreateActiveRigidBody" + -iva "optionBoxDimensionsCreateActiveRigidBody" 525 + -iva "optionBoxDimensionsCreateActiveRigidBody" 350 + -ca "optionBoxDimensionsCreateBlendShape" + -iva "optionBoxDimensionsCreateBlendShape" 525 + -iva "optionBoxDimensionsCreateBlendShape" 350 + -ca "optionBoxDimensionsCreateCluster" + -iva "optionBoxDimensionsCreateCluster" 525 + -iva "optionBoxDimensionsCreateCluster" 350 + -ca "optionBoxDimensionsCreateConstraint" + -iva "optionBoxDimensionsCreateConstraint" 525 + -iva "optionBoxDimensionsCreateConstraint" 350 + -ca "optionBoxDimensionsCreateContainer" + -iva "optionBoxDimensionsCreateContainer" 525 + -iva "optionBoxDimensionsCreateContainer" 350 + -ca "optionBoxDimensionsCreateDynamicConstraint" + -iva "optionBoxDimensionsCreateDynamicConstraint" 525 + -iva "optionBoxDimensionsCreateDynamicConstraint" 350 + -ca "optionBoxDimensionsCreateEmptyUVSet" + -iva "optionBoxDimensionsCreateEmptyUVSet" 525 + -iva "optionBoxDimensionsCreateEmptyUVSet" 350 + -ca "optionBoxDimensionsCreateNCloth" + -iva "optionBoxDimensionsCreateNCloth" 525 + -iva "optionBoxDimensionsCreateNCloth" 350 + -ca "optionBoxDimensionsCreateNclothCache" + -iva "optionBoxDimensionsCreateNclothCache" 525 + -iva "optionBoxDimensionsCreateNclothCache" 350; +optionVar + -ca "optionBoxDimensionsCreatePartition" + -iva "optionBoxDimensionsCreatePartition" 525 + -iva "optionBoxDimensionsCreatePartition" 350 + -ca "optionBoxDimensionsCreateReferenceOptions" + -iva "optionBoxDimensionsCreateReferenceOptions" 738 + -iva "optionBoxDimensionsCreateReferenceOptions" 787 + -ca "optionBoxDimensionsCreateSculptDeformer" + -iva "optionBoxDimensionsCreateSculptDeformer" 525 + -iva "optionBoxDimensionsCreateSculptDeformer" 350 + -ca "optionBoxDimensionsCreateSet" + -iva "optionBoxDimensionsCreateSet" 525 + -iva "optionBoxDimensionsCreateSet" 350 + -ca "optionBoxDimensionsCreateSoftBody" + -iva "optionBoxDimensionsCreateSoftBody" 525 + -iva "optionBoxDimensionsCreateSoftBody" 350 + -ca "optionBoxDimensionsCreateSprings" + -iva "optionBoxDimensionsCreateSprings" 525 + -iva "optionBoxDimensionsCreateSprings" 350 + -ca "optionBoxDimensionsCreateText" + -iva "optionBoxDimensionsCreateText" 525 + -iva "optionBoxDimensionsCreateText" 327 + -ca "optionBoxDimensionsCreateWrap" + -iva "optionBoxDimensionsCreateWrap" 525 + -iva "optionBoxDimensionsCreateWrap" 350 + -ca "optionBoxDimensionsCustomPolygonDisplay" + -iva "optionBoxDimensionsCustomPolygonDisplay" 525 + -iva "optionBoxDimensionsCustomPolygonDisplay" 350 + -ca "optionBoxDimensionsCutCurve" + -iva "optionBoxDimensionsCutCurve" 525 + -iva "optionBoxDimensionsCutCurve" 350; +optionVar + -ca "optionBoxDimensionsCutFaces" + -iva "optionBoxDimensionsCutFaces" 525 + -iva "optionBoxDimensionsCutFaces" 350 + -ca "optionBoxDimensionsCylindricalMapping" + -iva "optionBoxDimensionsCylindricalMapping" 525 + -iva "optionBoxDimensionsCylindricalMapping" 350 + -ca "optionBoxDimensionsDeleteNclothCacheFrames" + -iva "optionBoxDimensionsDeleteNclothCacheFrames" 525 + -iva "optionBoxDimensionsDeleteNclothCacheFrames" 350 + -ca "optionBoxDimensionsDeletebyTypeChannels" + -iva "optionBoxDimensionsDeletebyTypeChannels" 525 + -iva "optionBoxDimensionsDeletebyTypeChannels" 350 + -ca "optionBoxDimensionsDetachCurves" + -iva "optionBoxDimensionsDetachCurves" 525 + -iva "optionBoxDimensionsDetachCurves" 350 + -ca "optionBoxDimensionsDetachSkin" + -iva "optionBoxDimensionsDetachSkin" 525 + -iva "optionBoxDimensionsDetachSkin" 350 + -ca "optionBoxDimensionsDuplicateFace" + -iva "optionBoxDimensionsDuplicateFace" 525 + -iva "optionBoxDimensionsDuplicateFace" 350 + -ca "optionBoxDimensionsDuplicateSpecial" + -iva "optionBoxDimensionsDuplicateSpecial" 541 + -iva "optionBoxDimensionsDuplicateSpecial" 459 + -ca "optionBoxDimensionsDuplicateSurfaceCurves" + -iva "optionBoxDimensionsDuplicateSurfaceCurves" 525 + -iva "optionBoxDimensionsDuplicateSurfaceCurves" 350 + -ca "optionBoxDimensionsEditBlendShapeAdd" + -iva "optionBoxDimensionsEditBlendShapeAdd" 525 + -iva "optionBoxDimensionsEditBlendShapeAdd" 350; +optionVar + -ca "optionBoxDimensionsEditBlendShapeRemove" + -iva "optionBoxDimensionsEditBlendShapeRemove" 525 + -iva "optionBoxDimensionsEditBlendShapeRemove" 350 + -ca "optionBoxDimensionsEditPolygonsExtrudeFace" + -iva "optionBoxDimensionsEditPolygonsExtrudeFace" 525 + -iva "optionBoxDimensionsEditPolygonsExtrudeFace" 350 + -ca "optionBoxDimensionsEditPolygonsSubdivideEdges" + -iva "optionBoxDimensionsEditPolygonsSubdivideEdges" 525 + -iva "optionBoxDimensionsEditPolygonsSubdivideEdges" 350 + -ca "optionBoxDimensionsEmitfromObject" + -iva "optionBoxDimensionsEmitfromObject" 568 + -iva "optionBoxDimensionsEmitfromObject" 500 + -ca "optionBoxDimensionsExportAllOptions" + -iva "optionBoxDimensionsExportAllOptions" 525 + -iva "optionBoxDimensionsExportAllOptions" 350 + -ca "optionBoxDimensionsExportSelectionOptions" + -iva "optionBoxDimensionsExportSelectionOptions" 555 + -iva "optionBoxDimensionsExportSelectionOptions" 555 + -ca "optionBoxDimensionsExportSkinWeightMaps" + -iva "optionBoxDimensionsExportSkinWeightMaps" 525 + -iva "optionBoxDimensionsExportSkinWeightMaps" 350 + -ca "optionBoxDimensionsExtendFluid" + -iva "optionBoxDimensionsExtendFluid" 525 + -iva "optionBoxDimensionsExtendFluid" 350 + -ca "optionBoxDimensionsExtract" + -iva "optionBoxDimensionsExtract" 525 + -iva "optionBoxDimensionsExtract" 350 + -ca "optionBoxDimensionsExtrude" + -iva "optionBoxDimensionsExtrude" 525 + -iva "optionBoxDimensionsExtrude" 350; +optionVar + -ca "optionBoxDimensionsExtrudeEdge" + -iva "optionBoxDimensionsExtrudeEdge" 525 + -iva "optionBoxDimensionsExtrudeEdge" 350 + -ca "optionBoxDimensionsFreezeTransformations" + -iva "optionBoxDimensionsFreezeTransformations" 525 + -iva "optionBoxDimensionsFreezeTransformations" 350 + -ca "optionBoxDimensionsGeometry" + -iva "optionBoxDimensionsGeometry" 525 + -iva "optionBoxDimensionsGeometry" 350 + -ca "optionBoxDimensionsGraphCopy" + -iva "optionBoxDimensionsGraphCopy" 525 + -iva "optionBoxDimensionsGraphCopy" 350 + -ca "optionBoxDimensionsGraphPaste" + -iva "optionBoxDimensionsGraphPaste" 525 + -iva "optionBoxDimensionsGraphPaste" 350 + -ca "optionBoxDimensionsGraphScale" + -iva "optionBoxDimensionsGraphScale" 525 + -iva "optionBoxDimensionsGraphScale" 350 + -ca "optionBoxDimensionsGraphSnap" + -iva "optionBoxDimensionsGraphSnap" 525 + -iva "optionBoxDimensionsGraphSnap" 350 + -ca "optionBoxDimensionsGravity" + -iva "optionBoxDimensionsGravity" 525 + -iva "optionBoxDimensionsGravity" 350 + -ca "optionBoxDimensionsGridOptions" + -iva "optionBoxDimensionsGridOptions" 531 + -iva "optionBoxDimensionsGridOptions" 350 + -ca "optionBoxDimensionsHardwareRendererDisplay" + -iva "optionBoxDimensionsHardwareRendererDisplay" 525 + -iva "optionBoxDimensionsHardwareRendererDisplay" 350; +optionVar + -ca "optionBoxDimensionsImportOptions" + -iva "optionBoxDimensionsImportOptions" 648 + -iva "optionBoxDimensionsImportOptions" 518 + -ca "optionBoxDimensionsInsertKnot" + -iva "optionBoxDimensionsInsertKnot" 525 + -iva "optionBoxDimensionsInsertKnot" 350 + -ca "optionBoxDimensionsKeysBakeSimulation" + -iva "optionBoxDimensionsKeysBakeSimulation" 525 + -iva "optionBoxDimensionsKeysBakeSimulation" 350 + -ca "optionBoxDimensionsLayoutUVs" + -iva "optionBoxDimensionsLayoutUVs" 525 + -iva "optionBoxDimensionsLayoutUVs" 333 + -ca "optionBoxDimensionsLookThroughSelected" + -iva "optionBoxDimensionsLookThroughSelected" 525 + -iva "optionBoxDimensionsLookThroughSelected" 350 + -ca "optionBoxDimensionsMakeCollideNCloth" + -iva "optionBoxDimensionsMakeCollideNCloth" 525 + -iva "optionBoxDimensionsMakeCollideNCloth" 350 + -ca "optionBoxDimensionsMapUVBorder" + -iva "optionBoxDimensionsMapUVBorder" 525 + -iva "optionBoxDimensionsMapUVBorder" 350 + -ca "optionBoxDimensionsMergeVertices" + -iva "optionBoxDimensionsMergeVertices" 525 + -iva "optionBoxDimensionsMergeVertices" 350 + -ca "optionBoxDimensionsMirrorCut" + -iva "optionBoxDimensionsMirrorCut" 525 + -iva "optionBoxDimensionsMirrorCut" 348 + -ca "optionBoxDimensionsMirrorGeometry" + -iva "optionBoxDimensionsMirrorGeometry" 525 + -iva "optionBoxDimensionsMirrorGeometry" 350; +optionVar + -ca "optionBoxDimensionsMirrorJoint" + -iva "optionBoxDimensionsMirrorJoint" 525 + -iva "optionBoxDimensionsMirrorJoint" 350 + -ca "optionBoxDimensionsMirrorSkinWeights" + -iva "optionBoxDimensionsMirrorSkinWeights" 529 + -iva "optionBoxDimensionsMirrorSkinWeights" 369 + -ca "optionBoxDimensionsMotionTrail" + -iva "optionBoxDimensionsMotionTrail" 525 + -iva "optionBoxDimensionsMotionTrail" 350 + -ca "optionBoxDimensionsMrBakeText" + -iva "optionBoxDimensionsMrBakeText" 524 + -iva "optionBoxDimensionsMrBakeText" 885 + -ca "optionBoxDimensionsNURBStoPolygons" + -iva "optionBoxDimensionsNURBStoPolygons" 525 + -iva "optionBoxDimensionsNURBStoPolygons" 350 + -ca "optionBoxDimensionsNormal" + -iva "optionBoxDimensionsNormal" 525 + -iva "optionBoxDimensionsNormal" 350 + -ca "optionBoxDimensionsNormalizeUVs" + -iva "optionBoxDimensionsNormalizeUVs" 525 + -iva "optionBoxDimensionsNormalizeUVs" 350 + -ca "optionBoxDimensionsNurbsCircle" + -iva "optionBoxDimensionsNurbsCircle" 525 + -iva "optionBoxDimensionsNurbsCircle" 350 + -ca "optionBoxDimensionsNurbsCylinder" + -iva "optionBoxDimensionsNurbsCylinder" 525 + -iva "optionBoxDimensionsNurbsCylinder" 350 + -ca "optionBoxDimensionsNurbsPlane" + -iva "optionBoxDimensionsNurbsPlane" 525 + -iva "optionBoxDimensionsNurbsPlane" 350; +optionVar + -ca "optionBoxDimensionsNurbsSphere" + -iva "optionBoxDimensionsNurbsSphere" 557 + -iva "optionBoxDimensionsNurbsSphere" 496 + -ca "optionBoxDimensionsOpenSceneOptions" + -iva "optionBoxDimensionsOpenSceneOptions" 525 + -iva "optionBoxDimensionsOpenSceneOptions" 350 + -ca "optionBoxDimensionsOptimizeSceneSize" + -iva "optionBoxDimensionsOptimizeSceneSize" 539 + -iva "optionBoxDimensionsOptimizeSceneSize" 459 + -ca "optionBoxDimensionsOrient" + -iva "optionBoxDimensionsOrient" 525 + -iva "optionBoxDimensionsOrient" 350 + -ca "optionBoxDimensionsParent" + -iva "optionBoxDimensionsParent" 525 + -iva "optionBoxDimensionsParent" 350 + -ca "optionBoxDimensionsParentConstraint" + -iva "optionBoxDimensionsParentConstraint" 525 + -iva "optionBoxDimensionsParentConstraint" 371 + -ca "optionBoxDimensionsPlanarMapping" + -iva "optionBoxDimensionsPlanarMapping" 525 + -iva "optionBoxDimensionsPlanarMapping" 350 + -ca "optionBoxDimensionsPlayblast" + -iva "optionBoxDimensionsPlayblast" 535 + -iva "optionBoxDimensionsPlayblast" 516 + -ca "optionBoxDimensionsPoint" + -iva "optionBoxDimensionsPoint" 523 + -iva "optionBoxDimensionsPoint" 350 + -ca "optionBoxDimensionsPoleVector" + -iva "optionBoxDimensionsPoleVector" 525 + -iva "optionBoxDimensionsPoleVector" 350; +optionVar + -ca "optionBoxDimensionsPolyBridge" + -iva "optionBoxDimensionsPolyBridge" 525 + -iva "optionBoxDimensionsPolyBridge" 350 + -ca "optionBoxDimensionsPolyCone" + -iva "optionBoxDimensionsPolyCone" 525 + -iva "optionBoxDimensionsPolyCone" 350 + -ca "optionBoxDimensionsPolyCylinder" + -iva "optionBoxDimensionsPolyCylinder" 525 + -iva "optionBoxDimensionsPolyCylinder" 350 + -ca "optionBoxDimensionsPolyPlane" + -iva "optionBoxDimensionsPolyPlane" 525 + -iva "optionBoxDimensionsPolyPlane" 350 + -ca "optionBoxDimensionsPolyPlatonicSolid" + -iva "optionBoxDimensionsPolyPlatonicSolid" 525 + -iva "optionBoxDimensionsPolyPlatonicSolid" 350 + -ca "optionBoxDimensionsPolyPrism" + -iva "optionBoxDimensionsPolyPrism" 525 + -iva "optionBoxDimensionsPolyPrism" 350 + -ca "optionBoxDimensionsPolyPyramid" + -iva "optionBoxDimensionsPolyPyramid" 525 + -iva "optionBoxDimensionsPolyPyramid" 350 + -ca "optionBoxDimensionsPolySphere" + -iva "optionBoxDimensionsPolySphere" 525 + -iva "optionBoxDimensionsPolySphere" 350 + -ca "optionBoxDimensionsPolygonsSmooth" + -iva "optionBoxDimensionsPolygonsSmooth" 560 + -iva "optionBoxDimensionsPolygonsSmooth" 502 + -ca "optionBoxDimensionsPolygonsTransfer" + -iva "optionBoxDimensionsPolygonsTransfer" 525 + -iva "optionBoxDimensionsPolygonsTransfer" 350; +optionVar + -ca "optionBoxDimensionsPruneSmallWeights" + -iva "optionBoxDimensionsPruneSmallWeights" 525 + -iva "optionBoxDimensionsPruneSmallWeights" 350 + -ca "optionBoxDimensionsQuadrangulate" + -iva "optionBoxDimensionsQuadrangulate" 525 + -iva "optionBoxDimensionsQuadrangulate" 350 + -ca "optionBoxDimensionsRebuildCurve" + -iva "optionBoxDimensionsRebuildCurve" 525 + -iva "optionBoxDimensionsRebuildCurve" 350 + -ca "optionBoxDimensionsRenameCurrentUVSet" + -iva "optionBoxDimensionsRenameCurrentUVSet" 525 + -iva "optionBoxDimensionsRenameCurrentUVSet" 350 + -ca "optionBoxDimensionsReplaceNclothCache" + -iva "optionBoxDimensionsReplaceNclothCache" 525 + -iva "optionBoxDimensionsReplaceNclothCache" 350 + -ca "optionBoxDimensionsReplaceNclothCacheFrames" + -iva "optionBoxDimensionsReplaceNclothCacheFrames" 525 + -iva "optionBoxDimensionsReplaceNclothCacheFrames" 350 + -ca "optionBoxDimensionsResetTransformations" + -iva "optionBoxDimensionsResetTransformations" 525 + -iva "optionBoxDimensionsResetTransformations" 350 + -ca "optionBoxDimensionsRigidBind" + -iva "optionBoxDimensionsRigidBind" 525 + -iva "optionBoxDimensionsRigidBind" 350 + -ca "optionBoxDimensionsSaveSceneAsOptions" + -iva "optionBoxDimensionsSaveSceneAsOptions" 525 + -iva "optionBoxDimensionsSaveSceneAsOptions" 350 + -ca "optionBoxDimensionsSaveSceneOptions" + -iva "optionBoxDimensionsSaveSceneOptions" 525 + -iva "optionBoxDimensionsSaveSceneOptions" 350; +optionVar + -ca "optionBoxDimensionsSetCurrentUVSet" + -iva "optionBoxDimensionsSetCurrentUVSet" 525 + -iva "optionBoxDimensionsSetCurrentUVSet" 350 + -ca "optionBoxDimensionsSetMaxInfluences" + -iva "optionBoxDimensionsSetMaxInfluences" 525 + -iva "optionBoxDimensionsSetMaxInfluences" 350 + -ca "optionBoxDimensionsSetVertexNormal" + -iva "optionBoxDimensionsSetVertexNormal" 525 + -iva "optionBoxDimensionsSetVertexNormal" 350 + -ca "optionBoxDimensionsSmoothBind" + -iva "optionBoxDimensionsSmoothBind" 525 + -iva "optionBoxDimensionsSmoothBind" 397 + -ca "optionBoxDimensionsSmoothProxy" + -iva "optionBoxDimensionsSmoothProxy" 525 + -iva "optionBoxDimensionsSmoothProxy" 350 + -ca "optionBoxDimensionsSmoothSkinWeights" + -iva "optionBoxDimensionsSmoothSkinWeights" 525 + -iva "optionBoxDimensionsSmoothSkinWeights" 350 + -ca "optionBoxDimensionsSphericalMapping" + -iva "optionBoxDimensionsSphericalMapping" 525 + -iva "optionBoxDimensionsSphericalMapping" 350 + -ca "optionBoxDimensionsSpotLight" + -iva "optionBoxDimensionsSpotLight" 525 + -iva "optionBoxDimensionsSpotLight" 350 + -ca "optionBoxDimensionsStraightenUVBorder" + -iva "optionBoxDimensionsStraightenUVBorder" 525 + -iva "optionBoxDimensionsStraightenUVBorder" 350 + -ca "optionBoxDimensionsSubstituteGeometry" + -iva "optionBoxDimensionsSubstituteGeometry" 525 + -iva "optionBoxDimensionsSubstituteGeometry" 350; +optionVar + -ca "optionBoxDimensionsSurfaceSampler" + -iva "optionBoxDimensionsSurfaceSampler" 621 + -iva "optionBoxDimensionsSurfaceSampler" 762 + -ca "optionBoxDimensionsTransferAttributes" + -iva "optionBoxDimensionsTransferAttributes" 525 + -iva "optionBoxDimensionsTransferAttributes" 373 + -ca "optionBoxDimensionsTurbulence" + -iva "optionBoxDimensionsTurbulence" 525 + -iva "optionBoxDimensionsTurbulence" 350 + -ca "optionBoxDimensionsUVTextureEditorBakeTexture" + -iva "optionBoxDimensionsUVTextureEditorBakeTexture" 525 + -iva "optionBoxDimensionsUVTextureEditorBakeTexture" 350 + -ca "optionBoxDimensionsUVTextureEditorImageRange" + -iva "optionBoxDimensionsUVTextureEditorImageRange" 525 + -iva "optionBoxDimensionsUVTextureEditorImageRange" 350 + -ca "optionBoxDimensionsUnfoldUVs" + -iva "optionBoxDimensionsUnfoldUVs" 525 + -iva "optionBoxDimensionsUnfoldUVs" 350 + -ca "optionBoxDimensionsVolumeLight" + -iva "optionBoxDimensionsVolumeLight" 525 + -iva "optionBoxDimensionsVolumeLight" 350 + -ca "optionBoxDimensionsjoint" + -iva "optionBoxDimensionsjoint" 525 + -iva "optionBoxDimensionsjoint" 350 + -ca "optionBoxDimensionssearchReplaceNames" + -iva "optionBoxDimensionssearchReplaceNames" 525 + -iva "optionBoxDimensionssearchReplaceNames" 350 + -iv "orJntAxis" 4; +optionVar + -iv "orientConstMaintainOffset" 0 + -fv "orientConstOffsetX" 0 + -fv "orientConstOffsetY" 0 + -fv "orientConstOffsetZ" 0 + -iv "orientConstraintAddTargets" 1 + -iv "orientConstraintAxisX" 1 + -iv "orientConstraintAxisY" 1 + -iv "orientConstraintAxisZ" 1 + -fv "orientConstraintWeight" 1 + -iv "orientJntChildren" 1; +optionVar + -iv "orientJntSecond" 3 + -iv "orientJntZSO" 1 + -sv "outTangentType" "plateau" + -iv "outerStyleBevelCurve" 0 + -sv "outlinerEditorStateString" " outlinerEditor -e \n -showShapes 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName" + -iv "paintEffectsDisplayMesh" 1 + -iv "parConstMaintainOffset" 1 + -sv "paramDimContext" "paramDimContext -e -image1 \"paramDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" paramDimContext" + -iv "parentAdd" 0 + -iv "parentConstraintAddTargets" 1; +optionVar + -iv "parentConstraintAxisRotateX" 1 + -iv "parentConstraintAxisRotateY" 1 + -iv "parentConstraintAxisRotateZ" 1 + -iv "parentConstraintAxisTranslateX" 1 + -iv "parentConstraintAxisTranslateY" 1 + -iv "parentConstraintAxisTranslateZ" 1 + -fv "parentConstraintWeight" 1 + -iv "parentPreserve" 1 + -iv "partitionOption" 0 + -iv "pasteKeyConnect" 1; +optionVar + -iv "pasteKeyCopies" 12 + -iv "pasteKeyHelpPictures" 0 + -sv "pasteKeyOption" "merge" + -sv "pasteKeyRange" "659:10" + -iv "pasteKeyTargetTime" 3 + -fv "pasteKeyTimeOffset" 0 + -iv "pasteKeyTimeRangeOverride" 0 + -fv "pasteKeyValueOffset" 0 + -iv "pbOption" 1 + -iv "perInstanceUVSet" 0; +optionVar + -sv "performanceSettingBindSkinAndFlexors" "0" + -sv "performanceSettingBlendShapes" "0" + -sv "performanceSettingClusterResolution" "0" + -sv "performanceSettingClusters" "0" + -sv "performanceSettingFlexors" "0" + -fv "performanceSettingGlobalClusterResolution" 5 + -fv "performanceSettingGlobalLatticeResolution" 0.01 + -sv "performanceSettingLatticeResolution" "0" + -sv "performanceSettingLattices" "0" + -sv "performanceSettingPaintEffects" "0"; +optionVar + -sv "performanceSettingSculpts" "0" + -sv "performanceSettingStitchSurfaces" "0" + -sv "performanceSettingTrimDisplay" "0" + -sv "performanceSettingWires" "0" + -iv "pfxToPolyHideStrokes" 1 + -iv "pfxToPolyLimit" 100000 + -iv "pfxToPolyQuadOutput" 0 + -iv "pfxToPolyVertColorMode" 0 + -iv "planarTrimPolys" 0 + -fv "playbackMax" 24; +optionVar + -fv "playbackMaxDefault" 24 + -fv "playbackMaxRange" 48 + -fv "playbackMaxRangeDefault" 48 + -fv "playbackMin" 1 + -fv "playbackMinDefault" 1 + -fv "playbackMinRange" 1 + -fv "playbackMinRangeDefault" 1 + -iv "playbackRangeVisible" 1 + -iv "playblastClearCache" 1 + -sv "playblastCompression" "none"; +optionVar + -iv "playblastDisplaySizeSource" 3 + -fv "playblastEndTime" 10 + -sv "playblastFile" "playblast" + -iv "playblastHeight" 480 + -iv "playblastMultiCamera" 0 + -iv "playblastOffscreen" 0 + -sv "playblastOutputFormat" "sgi" + -iv "playblastPadding" 4 + -iv "playblastSaveToFile" 0 + -fv "playblastScale" 1; +optionVar + -iv "playblastShowOrnaments" 1 + -fv "playblastStartTime" 1 + -iv "playblastUseStartEnd" 0 + -iv "playblastViewerOn" 1 + -iv "playblastWidth" 640 + -sv "plug-inOptions" "" + -iv "pointConstraintAxisX" 1 + -iv "pointConstraintAxisY" 1 + -iv "pointConstraintAxisZ" 1 + -fv "pointConstraintWeight" 1; +optionVar + -ca "pointLightColor" + -fva "pointLightColor" 1 + -fva "pointLightColor" 1 + -fva "pointLightColor" 1 + -iv "pointLightDecay" 0 + -fv "pointLightIntensity" 1 + -ca "pointLightShadowColor" + -fva "pointLightShadowColor" 0 + -fva "pointLightShadowColor" 0 + -fva "pointLightShadowColor" 0 + -iv "pointLightShadows" 0 + -ca "pokeTranslate" + -fva "pokeTranslate" 0 + -fva "pokeTranslate" 0 + -fva "pokeTranslate" 0 + -iv "pokeTranslateLocalSpace" 0 + -iv "poleVectorConstraintAddTargets" 1 + -fv "poleVectorConstraintWeight" 1 + -sv "polyAppendFacetContext" "polyAppendFacetCtx -e -image1 \"polyAppendFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 1\n-subdivision 1\n-texture 1\n-rotate 0\n-isRotateAvailable 0\n-planarConstraint 0\n-maximumNumberOfPoints -1\npolyAppendFacetContext"; +optionVar + -iv "polyAutoConvertAction" 1 + -iv "polyAutoInstallAction" 0 + -iv "polyAutoProjcm" 0 + -fv "polyAutoProjeg" 0.2 + -iv "polyAutoProjibd" 1 + -iv "polyAutoProjl" 2 + -iv "polyAutoProjlm" 0 + -iv "polyAutoProjo" 1 + -iv "polyAutoProjp" 4 + -iv "polyAutoProjpb" 0; +optionVar + -sv "polyAutoProjpolyGeomObject" "" + -iv "polyAutoProjsc" 1 + -sv "polyAutoProjuvSetName" "uvSet1" + -iv "polyAutoShowColorPerVertex" 1 + -iv "polyAverageNormalAllowZero" 0 + -iv "polyAverageNormalPostnormalize" 0 + -iv "polyAverageNormalPrenormalize" 1 + -ca "polyAverageNormalReplace" + -fva "polyAverageNormalReplace" 1 + -fva "polyAverageNormalReplace" 0 + -fva "polyAverageNormalReplace" 0 + -fv "polyAverageNormalTol" 0.1 + -iv "polyBevelAutofit" 1; +optionVar + -fv "polyBevelOffset" 0.5 + -iv "polyBevelOffsetAsFraction" 0 + -iv "polyBevelOffsetWorld" 0 + -fv "polyBevelRound" 0.5 + -iv "polyBevelSegment" 1 + -iv "polyBevelUVAssignment" 0 + -iv "polyChamferVertexDeleteFace" 0 + -fv "polyChamferVertexWidth" 0.25 + -fv "polyChipOffDAttr" 0 + -iv "polyChipOffDDoSeparate" 0; +optionVar + -ca "polyChipOffDGravity" + -fva "polyChipOffDGravity" 0 + -fva "polyChipOffDGravity" -1 + -fva "polyChipOffDGravity" 0 + -ca "polyChipOffDLocalDirection" + -fva "polyChipOffDLocalDirection" 1 + -fva "polyChipOffDLocalDirection" 0 + -fva "polyChipOffDLocalDirection" 0 + -ca "polyChipOffDLocalRotate" + -fva "polyChipOffDLocalRotate" 0 + -fva "polyChipOffDLocalRotate" 0 + -fva "polyChipOffDLocalRotate" 0 + -ca "polyChipOffDLocalScale" + -fva "polyChipOffDLocalScale" 1 + -fva "polyChipOffDLocalScale" 1 + -fva "polyChipOffDLocalScale" 1 + -ca "polyChipOffDLocalTranslate" + -fva "polyChipOffDLocalTranslate" 0 + -fva "polyChipOffDLocalTranslate" 0 + -fva "polyChipOffDLocalTranslate" 0 + -ca "polyChipOffDMagnet" + -fva "polyChipOffDMagnet" 0 + -fva "polyChipOffDMagnet" 0 + -fva "polyChipOffDMagnet" 0 + -fv "polyChipOffDOffset" 0 + -fv "polyChipOffDRandom" 0 + -ca "polyChipOffDRotate" + -fva "polyChipOffDRotate" 0 + -fva "polyChipOffDRotate" 0 + -fva "polyChipOffDRotate" 0 + -ca "polyChipOffDScale" + -fva "polyChipOffDScale" 1 + -fva "polyChipOffDScale" 1 + -fva "polyChipOffDScale" 1; +optionVar + -ca "polyChipOffDTranslate" + -fva "polyChipOffDTranslate" 0 + -fva "polyChipOffDTranslate" 0 + -fva "polyChipOffDTranslate" 0 + -fv "polyChipOffDWeight" 0 + -iv "polyChipOffDWorld" 0 + -fv "polyChipOffDWorldSpace" 0 + -fv "polyChipOffEAttr" 0 + -iv "polyChipOffEDoSeparate" 1 + -ca "polyChipOffEGravity" + -fva "polyChipOffEGravity" 0 + -fva "polyChipOffEGravity" -1 + -fva "polyChipOffEGravity" 0 + -ca "polyChipOffELocalDirection" + -fva "polyChipOffELocalDirection" 1 + -fva "polyChipOffELocalDirection" 0 + -fva "polyChipOffELocalDirection" 0 + -ca "polyChipOffELocalRotate" + -fva "polyChipOffELocalRotate" 0 + -fva "polyChipOffELocalRotate" 0 + -fva "polyChipOffELocalRotate" 0 + -ca "polyChipOffELocalScale" + -fva "polyChipOffELocalScale" 1 + -fva "polyChipOffELocalScale" 1 + -fva "polyChipOffELocalScale" 1; +optionVar + -ca "polyChipOffELocalTranslate" + -fva "polyChipOffELocalTranslate" 0 + -fva "polyChipOffELocalTranslate" 0 + -fva "polyChipOffELocalTranslate" 0 + -ca "polyChipOffEMagnet" + -fva "polyChipOffEMagnet" 0 + -fva "polyChipOffEMagnet" 0 + -fva "polyChipOffEMagnet" 0 + -fv "polyChipOffEOffset" 0 + -fv "polyChipOffERandom" 0 + -ca "polyChipOffERotate" + -fva "polyChipOffERotate" 0 + -fva "polyChipOffERotate" 0 + -fva "polyChipOffERotate" 0 + -ca "polyChipOffEScale" + -fva "polyChipOffEScale" 1 + -fva "polyChipOffEScale" 1 + -fva "polyChipOffEScale" 1 + -ca "polyChipOffETranslate" + -fva "polyChipOffETranslate" 0 + -fva "polyChipOffETranslate" 0 + -fva "polyChipOffETranslate" 0 + -fv "polyChipOffEWeight" 0 + -iv "polyChipOffEWorld" 0 + -fv "polyChipOffEWorldSpace" 0; +optionVar + -iv "polyCleanupAllMeshes" 0 + -iv "polyCleanupConcave" 1 + -iv "polyCleanupHistory" 1 + -iv "polyCleanupHoles" 1 + -iv "polyCleanupLaminaFace" 1 + -iv "polyCleanupNSided" 0 + -iv "polyCleanupNoTrgFace" 0 + -iv "polyCleanupNonManifold" 1 + -iv "polyCleanupNonPlanar" 0 + -iv "polyCleanupOperation" 2; +optionVar + -iv "polyCleanupQuads" 0 + -iv "polyCleanupSharedUVs" 0 + -fv "polyCleanupZeroGeomETol" 1e-005 + -iv "polyCleanupZeroGeomEdge" 1 + -fv "polyCleanupZeroGeomFTol" 1e-005 + -iv "polyCleanupZeroGeomFace" 1 + -iv "polyCleanupZeroMap" 0 + -fv "polyCleanupZeroMapTol" 1e-005 + -fv "polyContinuity" 1 + -sv "polyCopyUVSet" "scaled_UVs"; +optionVar + -iv "polyCount" 0 + -iv "polyCountVisibility" 0 + -sv "polyCreaseContext" "polyCreaseCtx -e -image1 \"polyCrease.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -extendSelection 0\n-relative 0\npolyCreaseContext" + -sv "polyCreateFacetContext" "polyCreateFacetCtx -e -image1 \"polyCreateFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 0\n-subdivision 1\n-texture 1\n-planarConstraint 0\n-maximumNumberOfPoints -1\npolyCreateFacetContext" + -iv "polyCreateMeshesSingleSided" 0 + -sv "polyCreateUVSet" "skinTransferUV" + -sv "polyCurrentUVSet" "tempTransfer_UV" + -sv "polyCutContext" "polyCutCtx -e -image1 \"polyCut.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -deleteFaces 0\n-extractFaces 0\n-extractOffset 0.5 0.5 0.5 polyCutContext" + -fv "polyDefaultTangentSmoothingAngle" 0 + -iv "polyDefaultTangentSpace" 0; +optionVar + -iv "polyDisplayDisplayBackfaceCulling" 0 + -iv "polyDisplayHardEdgeBackfaceCulling" 0 + -iv "polyDisplayLimitedToSelectedOV" 1 + -iv "polyDisplayWireBackfaceCulling" 0 + -iv "polyDivisions" 2 + -iv "polyDuplicateEdgeAsTool" 1 + -iv "polyDuplicateEdgeAutoComplete" 1 + -iv "polyDuplicateEdgeDeleteEdge" 1 + -fv "polyDuplicateEdgeOffset" 0.5 + -iv "polyDuplicateEdgeSplitType" 1; +optionVar + -fv "polyDuplicateEdgeVertexOffset" 0 + -iv "polyExtrudeEdgeDivisions" 1 + -fv "polyExtrudeEdgeSmoothingAngle" 30 + -fv "polyExtrudeEdgeTaper" 1 + -fv "polyExtrudeEdgeTwist" 0 + -iv "polyExtrudeEdgeUseCurve" 1 + -iv "polyExtrudeFaceDivisions" 1 + -fv "polyExtrudeFaceOffset" 0 + -fv "polyExtrudeFaceSmoothingAngle" 30 + -fv "polyExtrudeFaceTaper" 1; +optionVar + -fv "polyExtrudeFaceTwist" 0 + -iv "polyExtrudeFaceUseCurve" 0 + -iv "polyExtrudeVertexDivisions" 1 + -fv "polyExtrudeVertexLength" 1 + -fv "polyExtrudeVertexWidth" 0.5 + -iv "polyFaceSensitive" 1 + -iv "polyGridUVValuePixel" 1 + -iv "polyGridUVValueU" 256 + -iv "polyGridUVValueV" 256 + -iv "polyInheritFromSMP" 1; +optionVar + -iv "polyKeepFacetsGrouped" 1 + -iv "polyLayoutUVMultiOrNonMulti" 1 + -fv "polyLayoutUVeg" 1.281 + -iv "polyLayoutUVfr" 1 + -iv "polyLayoutUVl" 2 + -iv "polyLayoutUVlm" 1 + -iv "polyLayoutUVrbf" 1 + -iv "polyLayoutUVsc" 1 + -iv "polyLayoutUVse" 0 + -iv "polyMapBorderAutoShapeDetail" 1; +optionVar + -iv "polyMapBorderOp" 1 + -fv "polyMapBorderShapeDetail" 1 + -iv "polyMapSewMovelps" 0 + -iv "polyMapSewMovenf" 10 + -fv "polyMergeEdge" 0 + -sv "polyMergeEdgeContext" "polyMergeEdgeCtx -e -image1 \"polyMergeEdge.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 1\n-firstEdge -1\n-secondEdge -1\n-mergeTexture 0\npolyMergeEdgeContext" + -iv "polyMergeEdgeMap" 1 + -iv "polyMergeEdgeWorldSpace" 1 + -sv "polyMergeFacetContext" "polyMergeFacetCtx -e -image1 \"polyMergeFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 6\n-firstFacet -1\n-secondFacet -1\npolyMergeFacetContext" + -iv "polyMergeVertexAlwaysMergeTwoVertices" 1; +optionVar + -sv "polyMergeVertexContext" "targetWeldCtx -e -image1 \"polyMergeVertex.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mergeToCenter 0\npolyMergeVertexContext" + -fv "polyMergeVertexDistance" 0.005 + -iv "polyMirrorCutAxis" 1 + -iv "polyMirrorCutCombine" 1 + -fv "polyMirrorCutMergeVertexTolerance" 1 + -iv "polyMirrorDirection" 1 + -iv "polyMirrorStitch" 0 + -iv "polyMoveeLocalCenter" 1 + -fv "polyMoveeRandom" 0 + -fv "polyMovefRandom" 0; +optionVar + -fv "polyMovevtxRandom" 0 + -iv "polyPlaneCutDirection" 2 + -iv "polyPlaneDeleteFaces" 0 + -iv "polyPlaneExtractFaces" 0 + -ca "polyPlaneExtractOffset" + -fva "polyPlaneExtractOffset" 0.5 + -fva "polyPlaneExtractOffset" 0.5 + -fva "polyPlaneExtractOffset" 0.5 + -iv "polyPrimitiveAsToolExitOnComplete" 1 + -iv "polyPrimitiveConeAxis" 2 + -iv "polyPrimitiveConeCreateUVs" 1 + -fv "polyPrimitiveConeHeight" 2 + -iv "polyPrimitiveConeNormalize" 1; +optionVar + -iv "polyPrimitiveConePreserveAspectRatio" 1 + -fv "polyPrimitiveConeRadius" 1 + -iv "polyPrimitiveConeRoundCap" 0 + -iv "polyPrimitiveConeSX" 20 + -iv "polyPrimitiveConeSY" 1 + -iv "polyPrimitiveConeSZ" 0 + -iv "polyPrimitiveConeTexture" 1 + -iv "polyPrimitiveCubeAxis" 2 + -iv "polyPrimitiveCubeCreateUVs" 1 + -fv "polyPrimitiveCubeDepth" 1; +optionVar + -fv "polyPrimitiveCubeHeight" 1 + -iv "polyPrimitiveCubeNormalize" 1 + -iv "polyPrimitiveCubeNormalizeType" 1 + -iv "polyPrimitiveCubePreserveAspectRatio" 1 + -iv "polyPrimitiveCubeSX" 1 + -iv "polyPrimitiveCubeSY" 1 + -iv "polyPrimitiveCubeSZ" 1 + -iv "polyPrimitiveCubeTexture" 1 + -fv "polyPrimitiveCubeWidth" 1 + -iv "polyPrimitiveCylinderAxis" 1; +optionVar + -iv "polyPrimitiveCylinderCreateUVs" 1 + -fv "polyPrimitiveCylinderHeight" 3 + -iv "polyPrimitiveCylinderNormalize" 1 + -iv "polyPrimitiveCylinderPreserveAspectRatio" 1 + -fv "polyPrimitiveCylinderRadius" 1 + -iv "polyPrimitiveCylinderRoundCap" 1 + -iv "polyPrimitiveCylinderSX" 12 + -iv "polyPrimitiveCylinderSY" 32 + -iv "polyPrimitiveCylinderSZ" 1 + -iv "polyPrimitiveCylinderTexture" 1; +optionVar + -iv "polyPrimitiveMiscAxis" 2 + -iv "polyPrimitiveMiscCreateUVs" 1 + -iv "polyPrimitiveMiscNormalize" 1 + -iv "polyPrimitiveMiscNormalizeType" 1 + -iv "polyPrimitiveMiscPreserveAspectRatio" 1 + -fv "polyPrimitiveMiscRadius" 1 + -fv "polyPrimitiveMiscSideLength" 0.4036 + -iv "polyPrimitiveMiscTexture" 1 + -iv "polyPrimitivePlaneAxis" 2 + -iv "polyPrimitivePlaneCreateUVs" 1; +optionVar + -fv "polyPrimitivePlaneHeight" 30 + -iv "polyPrimitivePlanePreserveAspectRatio" 1 + -iv "polyPrimitivePlaneSX" 20 + -iv "polyPrimitivePlaneSY" 20 + -iv "polyPrimitivePlaneTexture" 1 + -fv "polyPrimitivePlaneWidth" 30 + -iv "polyPrimitivePlatonicSolidAxis" 2 + -iv "polyPrimitivePlatonicSolidCreateUVs" 1 + -iv "polyPrimitivePlatonicSolidNormalize" 1 + -iv "polyPrimitivePlatonicSolidNormalizeType" 1; +optionVar + -iv "polyPrimitivePlatonicSolidPreserveAspectRatio" 1 + -fv "polyPrimitivePlatonicSolidRadius" 1 + -fv "polyPrimitivePlatonicSolidSideLength" 1.7321 + -iv "polyPrimitivePlatonicSolidSolidType" 3 + -iv "polyPrimitivePlatonicSolidTexture" 1 + -iv "polyPrimitivePrismAxis" 2 + -iv "polyPrimitivePrismCreateUVs" 1 + -fv "polyPrimitivePrismLength" 2 + -iv "polyPrimitivePrismNS" 3 + -iv "polyPrimitivePrismNormalize" 1; +optionVar + -iv "polyPrimitivePrismPreserveAspectRatio" 1 + -iv "polyPrimitivePrismSC" 0 + -iv "polyPrimitivePrismSH" 1 + -fv "polyPrimitivePrismSideLength" 1 + -iv "polyPrimitivePyramidAxis" 2 + -iv "polyPrimitivePyramidCreateUVs" 1 + -iv "polyPrimitivePyramidNS" 1 + -iv "polyPrimitivePyramidNormalize" 1 + -iv "polyPrimitivePyramidPreserveAspectRatio" 1 + -iv "polyPrimitivePyramidSC" 0; +optionVar + -iv "polyPrimitivePyramidSH" 1 + -fv "polyPrimitivePyramidSideLength" 1 + -iv "polyPrimitivePyramidTexture" 1 + -iv "polyPrimitiveSphereAxis" 2 + -iv "polyPrimitiveSphereCreateUVs" 1 + -fv "polyPrimitiveSphereRadius" 1.1 + -iv "polyPrimitiveSphereSX" 16 + -iv "polyPrimitiveSphereSY" 8 + -iv "polyPrimitiveSphereTexture" 1 + -iv "polyPrimitiveSphereUVType" 2; +optionVar + -iv "polyPrimitiveTorusAxis" 2 + -iv "polyPrimitiveTorusCreateUVs" 1 + -fv "polyPrimitiveTorusRadius" 1 + -iv "polyPrimitiveTorusSX" 20 + -iv "polyPrimitiveTorusSY" 20 + -fv "polyPrimitiveTorusSectionRadius" 0.5 + -iv "polyPrimitiveTorusTexture" 1 + -fv "polyPrimitiveTorusTwist" 0 + -iv "polyProjectionCreateMapCylindrical" 0 + -iv "polyProjectionCreateMapPlanar" 0; +optionVar + -iv "polyProjectionCreateMapSpherical" 0 + -iv "polyProjectionFitToBoxOrPlaneCylindrical" 2 + -iv "polyProjectionFitToBoxOrPlanePlanar" 2 + -iv "polyProjectionFitToBoxOrPlaneSpherical" 2 + -iv "polyProjectionInsertionPointCylindrical" 1 + -iv "polyProjectionInsertionPointPlanar" 1 + -iv "polyProjectionInsertionPointSpherical" 1 + -iv "polyProjectionMappingDirectionCylindrical" 1 + -iv "polyProjectionMappingDirectionPlanar" 2 + -iv "polyProjectionMappingDirectionSpherical" 1; +optionVar + -iv "polyProjectionSquareImagePlanar" 1 + -sv "polyProjectionUvSetNameCylindrical" "uvSet1" + -sv "polyProjectionUvSetNamePlanar" "uvSet1" + -sv "polyProjectionUvSetNameSpherical" "uvSet1" + -fv "polyQuadrangulateAngle" 30 + -iv "polyQuadrangulateGroupBorder" 1 + -iv "polyQuadrangulateHardEdges" 1 + -iv "polyQuadrangulateTextureBorder" 1 + -iv "polyQuadrangulateWorldSpace" 1 + -iv "polyRelaxAlgorithm" 1; +optionVar + -iv "polyRelaxMaxIterations" 5 + -iv "polyRelaxPinBoundary" 1 + -iv "polyRelaxPinSelected" 0 + -iv "polyRelaxPinUVs" 0 + -iv "polyRelaxPinUnselected" 0 + -iv "polyRelaxUseMaxIterations" 0 + -sv "polyRenameUVSet" "unique_domeTop_plug_shield_UV" + -fv "polyRotateUVAngleClockwise" 45 + -fv "polyRotateUVAngleCounterclockwise" 45 + -sv "polySelectConstraintState" ""; +optionVar + -sv "polySelectContext" "polySelectCtx -e -image1 \"polySelectEdgeLoop.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 0\npolySelectContext" + -sv "polySelectEditContext" "polySelectEditCtx -e -image1 \"polySplitEdgeRing.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-autoComplete 1\n-divisions 3\n-useEqualMultiplier 1\n-fixQuads 1\n-smoothingAngle 0\n-splitType 2\npolySelectEditContext" + -fv "polySetNormalX" 1 + -fv "polySetNormalY" 0 + -fv "polySetNormalZ" 0 + -iv "polySetToFaceNormalUserNormal" 0 + -sv "polySlideEdgeContext" "polySlideEdgeCtx -e -image1 \"slideEdgeTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -edgeDirection 0\n-direction 1\n-absolute 0\n-useSnapping 1\n-snappingTolerance 0.1\n-snappingPoints 1\npolySlideEdgeContext" + -iv "polySmoothBaseMeshDisplay" 2 + -iv "polySmoothEdivisions" 1 + -iv "polySmoothHiInLayer" 0; +optionVar + -iv "polySmoothKeepBorder" 1 + -iv "polySmoothKeepHardEdge" 1 + -iv "polySmoothKeepMapBorders" 1 + -iv "polySmoothKeepSelectionBorder" 1 + -iv "polySmoothKeepTesselation" 1 + -iv "polySmoothLoInLayer" 0 + -iv "polySmoothLoRenderable" 1 + -iv "polySmoothMethod" 1 + -iv "polySmoothMirror" 1 + -iv "polySmoothMirrorAxis" 3; +optionVar + -fv "polySmoothMirrorMergeVertexTolerance" 0.001 + -iv "polySmoothNumIter" 1 + -iv "polySmoothPropEHardness" 0 + -iv "polySmoothProxyPropEHardness" 0 + -fv "polySmoothRoundness" 1 + -iv "polySmoothShareTransform" 0 + -iv "polySmoothSmoothDisplay" 3 + -iv "polySmoothSmoothUVs" 1 + -iv "polySmoothToggleProxies" 0 + -fv "polySmoothTransparency" 0.75; +optionVar + -fv "polySmoothVolume" 0.1 + -fv "polySmoothness" 0 + -fv "polySoftEdge" 30 + -sv "polySplitContext" "polySplitCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivision 1\n-precsnap 100\n-magnetsnap 3\n-enablesnap 1\n-snaptoedge 1\n-smoothingangle 0\npolySplitContext" + -fv "polyStraightenUVGap" 5 + -fv "polyStraightenUVUseGap" 1 + -fv "polyStraightenUVbo" 0 + -fv "polyStraightenUVc" 0 + -fv "polyStraightenUVpl" 1 + -fv "polySubdLene" 0; +optionVar + -iv "polySubdSubde" 1 + -iv "polySubdWSe" 0 + -iv "polyTransferuv" 0 + -iv "polyTransferv" 0 + -iv "polyTransfervc" 1 + -iv "polyUnfoldUVs" 1 + -sv "polyVertexNormalEdit" "polyVertexNormalCtx -e -image1 \"vertexNormalEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -rotatemode 0\n-relativemode 0\n-lockmode 0\npolyVertexNormalEdit" + -iv "popUpHelpMode" 0 + -iv "popUpHelpModeTime" 0 + -iv "popupMenuSelection" 0; +optionVar + -iv "poseOption" 0 + -fv "positionalTolerance" 1.07639e-006 + -iv "preSelectHilite" 1 + -sv "preferredRenderer" "mayaSoftware" + -iv "preselectHighlightManips" 0 + -sv "primitivePlacementRule" "AtOrigin" + -fv "proxyContinuity" 1 + -iv "proxyDivisions" 1 + -sv "proxyOptionsNewProxyTag" "" + -sv "proxyOptionsNewReferenceTag" ""; +optionVar + -iv "proxyOptionsNewReferenceTagSpecified" 0 + -sv "proxyOptionsProxyTag" "" + -sv "proxyOptionsReferenceTag" "" + -iv "proxyOptionsUseNewProxyTag" 1 + -iv "proxyOptionsUseNewReferenceTag" 1 + -iv "proxySmoothEdivisions" 1 + -iv "proxySmoothKeepBorder" 0 + -iv "proxySmoothKeepHardEdge" 0 + -iv "proxySmoothNumIter" 1 + -fv "proxySmoothRoundness" 1; +optionVar + -fv "proxySmoothVolume" 0.1 + -sv "psrReplace" "r_" + -sv "psrSearch" "dumb_l" + -iv "psrWhat" 1 + -iv "ptConOption" 1 + -iv "ptConstMaintainOffset" 1 + -fv "ptConstOffsetX" 0 + -fv "ptConstOffsetY" 0 + -fv "ptConstOffsetZ" 0 + -sv "quickFieldMode" "Select"; +optionVar + -ca "quickPanelButtonLayout" + -sva "quickPanelButtonLayout" "Single Perspective View" + -sva "quickPanelButtonLayout" "Four View" + -sva "quickPanelButtonLayout" "Persp/Outliner" + -sva "quickPanelButtonLayout" "Persp/Graph" + -sva "quickPanelButtonLayout" "Hypershade/Render/Rendering Camera Vertical" + -sva "quickPanelButtonLayout" "2Persp_Graph" + -fv "radialAttenuation" 1 + -fv "radialMagnitude" 5 + -iv "radialMaxDistCBox" 1 + -fv "radialMaxDistance" 20 + -sv "radialName" "" + -fv "radialTorusSectionRadius" 0.5 + -fv "radialType" 0 + -iv "radialVolumeExclusion" 0 + -iv "radialVolumeFieldTypesOM" 1; +optionVar + -fv "radialVolumeOffsetX" 0 + -fv "radialVolumeOffsetY" 0 + -fv "radialVolumeOffsetZ" 0 + -fv "radialVolumeSweep" 360 + -iv "rebuildCurveChanges" 1 + -iv "rebuildCurveEndKnots" 1 + -iv "rebuildCurveEuc" 0 + -iv "rebuildCurveKeepControlPoints" 0 + -iv "rebuildCurveKeepEndPoints" 0 + -iv "rebuildCurveKeepEndTangents" 0; +optionVar + -iv "rebuildCurveKeepNumSpans" 0 + -iv "rebuildCurveKeepOriginal" 0 + -iv "rebuildCurveKeepRange" 0 + -iv "rebuildCurveLac" 1 + -fv "rebuildCurveLocalTolerance" 0.05 + -iv "rebuildCurveType" 0 + -iv "rebuildCurveTypeUniformDegree" 2 + -iv "rebuildCurveTypeUniformNumSpans" 1 + -iv "rebuildCurveUseGlobalTolerance" 1 + -iv "rebuildSurfacePolys" 0; +optionVar + -iv "recursive" 1 + -iv "redirectRotation" 1 + -iv "redirectTranslation" 1 + -sv "refEdEditorVisibility" "refEdSceneEditorButton" + -iv "refEditsShowNamespaces" 1 + -iv "refEditsShowPath" 1 + -iv "referenceOptionsDeferReference" 0 + -iv "referenceOptionsGrouping" 1 + -iv "referenceOptionsLocator" 0 + -iv "referenceOptionsLockReference" 0; +optionVar + -sv "referenceOptionsRenamePrefix" "badWeights" + -iv "referenceOptionsShareDisplayLayers" 1 + -sv "referenceOptionsShareRenderLayers" "name" + -iv "referenceOptionsShareShaders" 1 + -iv "referenceOptionsSharedReference" 1 + -iv "referenceOptionsUseRenamePrefix" 1 + -iv "referenceUseNamespacesDuringFileIO" 1 + -iv "referencedOption" 1 + -iv "refreshMode" 0 + -sv "relationshipEditorTask" "objectCentricLightLinking"; +optionVar + -iv "remConstMaintainOffset" 0 + -sv "remoteHelpUrl" "" + -iv "removeAllTargets" 1 + -iv "removeDuplicateShadingNetworksOnImport" 0 + -iv "removeTargetAddTargets" 1 + -iv "removeUnusedInfluences" 0 + -sv "renderCreateBarCurrentTab" "MayaNodesTab" + -sv "renderCreateBarStyle" "iconsAndText" + -iv "renderInfl" 0 + -iv "renderLayerBase" 1; +optionVar + -iv "renderLayerContents" 0 + -iv "renderLayerCurrent" 0 + -iv "renderLayerMerge" 2 + -iv "renderLayerOption" 1 + -sv "renderPassSetName" "" + -iv "renderViewAutoRenderRegion" 0 + -iv "renderViewAutoResize" 1 + -iv "renderViewDisplayToolbar" 1 + -iv "renderViewRenderAllLayers" 0 + -iv "renderViewRenderLayersMode" 0; +optionVar + -iv "renderViewRenderSelectedObj" 0 + -iv "renderViewShowCameraName" 1 + -iv "renderViewShowFrameNumber" 1 + -iv "renderViewShowLayerName" 1 + -iv "renderViewShowRenderTime" 1 + -iv "renderViewTestResolution" 1 + -sv "renderWindowSelectContextItem" "renderWindowSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" renderWindowSelectContextItem" + -sv "renderedImageName" "C:/3D/Projects/lightGenMapTest/images/tmp/fortWarren_0001.iff" + -iv "repNclothCacheFramesInTan" 1 + -iv "repNclothCacheFramesOutTan" 1; +optionVar + -fv "replaceNclothCacheFramesEndTime" 55 + -fv "replaceNclothCacheFramesInterpEndTime" 10 + -sv "replaceNclothCacheFramesInterpRename" "backup" + -fv "replaceNclothCacheFramesInterpStartTime" 1 + -iv "replaceNclothCacheFramesInterpType" 1 + -iv "replaceNclothCacheFramesNoBackups" 0 + -iv "replaceNclothCacheFramesSampleMultiplier" 1 + -fv "replaceNclothCacheFramesSimulationRate" 1 + -fv "replaceNclothCacheFramesStartTime" 40 + -iv "replaceNclothCacheFramesTimeRange" 2; +optionVar + -iv "replaceNclothCacheFramesWithSimulation" 1 + -iv "replaceObjCopy" 1 + -iv "replaceObjKeepOriginal" 1 + -iv "replaceObjRotate" 1 + -iv "replaceObjScale" 1 + -iv "resetTransformationsRotate" 1 + -iv "resetTransformationsScale" 1 + -iv "resetTransformationsTranslate" 1 + -iv "reverseChanges" 1 + -iv "reverseKeepOriginal" 0; +optionVar + -iv "reverseSurfaceDirection" 0 + -iv "revolveOutputPolygons" 0 + -fv "rigidAngVelocityX" 0 + -fv "rigidAngVelocityY" 0 + -fv "rigidAngVelocityZ" 0 + -fv "rigidBounciness" 0.6 + -iv "rigidCacheCBox" 0 + -iv "rigidCollide" 0 + -iv "rigidCollisionType" 0 + -iv "rigidComCBox" 0; +optionVar + -fv "rigidComX" 0 + -fv "rigidComY" 0 + -fv "rigidComZ" 0 + -fv "rigidDamping" 0 + -fv "rigidDynFriction" 0.2 + -fv "rigidImpulsePosX" 0 + -fv "rigidImpulsePosY" 0 + -fv "rigidImpulsePosZ" 0 + -fv "rigidImpulseX" 0 + -fv "rigidImpulseY" 0; +optionVar + -fv "rigidImpulseZ" 0 + -fv "rigidInitVelocityX" 0 + -fv "rigidInitVelocityY" 0 + -fv "rigidInitVelocityZ" 0 + -iv "rigidLayer" 0 + -fv "rigidMass" 1 + -sv "rigidName" "" + -iv "rigidOrCBox" 0 + -fv "rigidOrX" 0 + -fv "rigidOrY" 0; +optionVar + -fv "rigidOrZ" 0 + -iv "rigidPosCBox" 0 + -fv "rigidPosX" 0 + -fv "rigidPosY" 0 + -fv "rigidPosZ" 0 + -fv "rigidSpinImpulseX" 0 + -fv "rigidSpinImpulseY" 0 + -fv "rigidSpinImpulseZ" 0 + -iv "rigidStandInType" 1 + -fv "rigidStatFriction" 0.2; +optionVar + -iv "rigidTesselation" 200 + -iv "rmanPreviewRenderStyle" 1 + -sv "rollContext" "rollCtx -e -image1 \"roll.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Roll Tool\" -rollScale 1\nrollContext" + -iv "rotationInterpolationDefault" 1 + -iv "rotationalAlignAxis" 1 + -iv "rotationalAlignEdgeAxis" 1 + -iv "saveActionsPreferences" 1 + -iv "saveActionsScriptEditor" 1 + -iv "saveWindowPos" 1 + -fv "scPruneWeight" 0.001; +optionVar + -iv "scSmoothPreview" 0 + -iv "scSmoothWeightIterations" 5 + -fv "scSmoothWeights" 0 + -iv "scaleConstraintAddTargets" 1 + -iv "scaleKeyAllAnimCurves" 0 + -sv "scaleKeyContext" "scaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"manip\" -scaleSpecifiedKeys 1\nscaleKeyContext" + -iv "scaleKeyControlPoints" 0 + -iv "scaleKeyDriven" 0 + -sv "scaleKeyHierarchy" "none" + -iv "scaleKeyMethod" 1; +optionVar + -fv "scaleKeyNewEndTime" 10 + -fv "scaleKeyNewStartTime" 1 + -sv "scaleKeyRange" "0:10" + -iv "scaleKeyScaleSpecifiedKeys" 1 + -iv "scaleKeyShapes" 1 + -fv "scaleKeyTimePivot" 0 + -fv "scaleKeyTimeScale" 1 + -iv "scaleKeyUseChannelBox" 0 + -fv "scaleKeyValuePivot" 0 + -fv "scaleKeyValueScale" -1; +optionVar + -iv "scaleKeyWhichRange" 1 + -fv "sculptDropoffDist" 1 + -sv "sculptDropoffType" "linear" + -sv "sculptExclName" "deformPartition" + -iv "sculptExclusive" 0 + -iv "sculptGroupWithLocator" 0 + -sv "sculptInsideMode" "even" + -fv "sculptMaxDisp" 0.1 + -sv "sculptMode" "stretch" + -iv "sculptObjectCentered" 0; +optionVar + -sv "sculptPositioning" "default" + -iv "sculptTool" 1 + -iv "selContiguousEdgesec" 0 + -iv "selContiguousEdgesed" 10 + -fv "selContiguousEdgesm2a" 30 + -fv "selContiguousEdgesm3a" 90 + -iv "selectAffectsActive" 1 + -iv "selectClickDrag" 0 + -iv "selectDetailsVisibility" 0 + -sv "selectEveryNEdgeTool" "scriptCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -title \"Select Every N Edge Tool\" -finalCommandScript \"selectEveryNEdge\" -totalSelectionSets 1\n-cumulativeLists 0\n-expandSelectionList 1\n-showManipulators 0\n-enableRootSelection 0\n-ignoreInvalidItems 0\n-exitUponCompletion 0\n-forceAddSelect 0\n-baseClassName \"scriptTool\" -lastAutoComplete 1\n-toolCursorType \"tumble\" -setNoSelectionPrompt \"Select two edges in a loop or ring to propagate their selection pattern.\"\n-setSelectionPrompt \"\"\n-setDoneSelectionPrompt \"\"\n-setNoSelectionHeadsUp \"\"\n-setSelectionHeadsUp \"\"\n-setAutoToggleSelection 1\n-setAllowExcessCount 0\n-setAutoComplete 1\n-setSelectionCount 2\n-polymeshEdge 1\nselectEveryNEdgeTool"; +optionVar + -sv "selectKeyContext" "selectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyContext" + -sv "selectKeyframeRegionContext" "selectKeyframeRegionCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyframeRegionContext" + -sv "selectPrefPriorityMode" "animation" + -iv "selectPrefUseDepth" 0 + -iv "selectSingleMarquee" 0 + -iv "selectedShelf" 28 + -sv "setEditContext" "setEditCtx -e -image1 \"setEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" setEditContext" + -sv "setKeyContext" "setKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nsetKeyContext" + -iv "setKeyframePrompt" 0 + -iv "setKeyframeWhich" 4; +optionVar + -iv "setsOption" 1 + -iv "shadeTemplates" 0 + -iv "shaderOption" 1 + -iv "shadingNetworksOption" 0 + -sv "shelfFile1" "shelf_Animation" + -sv "shelfFile10" "shelf_Muscle" + -sv "shelfFile11" "shelf_PaintEffects" + -sv "shelfFile12" "shelf_PaulAnimation" + -sv "shelfFile13" "shelf_PaulCurves" + -sv "shelfFile14" "shelf_PaulLighting"; +optionVar + -sv "shelfFile15" "shelf_PaulPoly" + -sv "shelfFile16" "shelf_PaulRig" + -sv "shelfFile17" "shelf_PaulScripts" + -sv "shelfFile18" "shelf_PaulTexture" + -sv "shelfFile19" "shelf_Polygons" + -sv "shelfFile2" "shelf_Curves" + -sv "shelfFile20" "shelf_RenderMan" + -sv "shelfFile21" "shelf_Rendering" + -sv "shelfFile22" "shelf_SS2" + -sv "shelfFile23" "shelf_Subdivs"; +optionVar + -sv "shelfFile24" "shelf_Surfaces" + -sv "shelfFile25" "shelf_Toon" + -sv "shelfFile26" "shelf_nCloth" + -sv "shelfFile27" "shelf_DMM" + -sv "shelfFile28" "shelf_newAbxPicker" + -sv "shelfFile3" "shelf_Custom" + -sv "shelfFile4" "shelf_Deformation" + -sv "shelfFile5" "shelf_Dynamics" + -sv "shelfFile6" "shelf_Fluids" + -sv "shelfFile7" "shelf_Fur"; +optionVar + -sv "shelfFile8" "shelf_General" + -sv "shelfFile9" "shelf_Hair" + -sv "shelfItemSize" "Small" + -sv "shelfItemStyle" "iconOnly" + -iv "shelfLoad1" 1 + -iv "shelfLoad10" 1 + -iv "shelfLoad11" 1 + -iv "shelfLoad12" 1 + -iv "shelfLoad13" 1 + -iv "shelfLoad14" 1; +optionVar + -iv "shelfLoad15" 1 + -iv "shelfLoad16" 1 + -iv "shelfLoad17" 1 + -iv "shelfLoad18" 1 + -iv "shelfLoad19" 1 + -iv "shelfLoad2" 1 + -iv "shelfLoad20" 1 + -iv "shelfLoad21" 1 + -iv "shelfLoad22" 1 + -iv "shelfLoad23" 1; +optionVar + -iv "shelfLoad24" 1 + -iv "shelfLoad25" 1 + -iv "shelfLoad26" 1 + -iv "shelfLoad27" 1 + -iv "shelfLoad28" 1 + -iv "shelfLoad3" 1 + -iv "shelfLoad4" 1 + -iv "shelfLoad5" 1 + -iv "shelfLoad6" 1 + -iv "shelfLoad7" 1; +optionVar + -iv "shelfLoad8" 1 + -iv "shelfLoad9" 1 + -sv "shelfName1" "Animation" + -sv "shelfName10" "Muscle" + -sv "shelfName11" "PaintEffects" + -sv "shelfName12" "PaulAnimation" + -sv "shelfName13" "PaulCurves" + -sv "shelfName14" "PaulLighting" + -sv "shelfName15" "PaulPoly" + -sv "shelfName16" "PaulRig"; +optionVar + -sv "shelfName17" "PaulScripts" + -sv "shelfName18" "PaulTexture" + -sv "shelfName19" "Polygons" + -sv "shelfName2" "Curves" + -sv "shelfName20" "RenderMan" + -sv "shelfName21" "Rendering" + -sv "shelfName22" "SS2" + -sv "shelfName23" "Subdivs" + -sv "shelfName24" "Surfaces" + -sv "shelfName25" "Toon"; +optionVar + -sv "shelfName26" "nCloth" + -sv "shelfName27" "DMM" + -sv "shelfName28" "newAbxPicker" + -sv "shelfName3" "Custom" + -sv "shelfName4" "Deformation" + -sv "shelfName5" "Dynamics" + -sv "shelfName6" "Fluids" + -sv "shelfName7" "Fur" + -sv "shelfName8" "General" + -sv "shelfName9" "Hair"; +optionVar + -iv "shelfTabsVisible" 1 + -sv "shelvesLastUpdated" "2009 Service Pack 1a x64" + -iv "showCustomMenuSetsMenusInHotBox" 0 + -iv "showGrid" 1 + -iv "showLearningMoviesOnStartup" 0 + -iv "showLineNumbersIsOn" 1 + -sv "showManip3D" "" + -sv "showManipTextureContext" "texManipContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" showManipTextureContext" + -iv "showStatusAlign" 1 + -iv "showStatusAutoAlign" 1; +optionVar + -iv "showStatusAutoAlignUnfold" 1 + -iv "showStatusCopyPaste" 1 + -iv "showStatusDisplay1" 1 + -iv "showStatusDisplay2" 1 + -iv "showStatusDisplay3" 1 + -iv "showStatusFiles" 1 + -iv "showStatusFlipRotate" 1 + -iv "showStatusHistory" 1 + -iv "showStatusInputField" 1 + -iv "showStatusIsolateSelect" 1; +optionVar + -iv "showStatusManipSelect" 1 + -iv "showStatusMoveSew" 1 + -iv "showStatusRender" 1 + -iv "showStatusSelectMasks" 1 + -iv "showStatusSelectMode" 1 + -iv "showStatusSelectionSet" 1 + -iv "showStatusSnap" 1 + -sv "silo (sib|sia)Options" "" + -ca "smpContinuity" + -fva "smpContinuity" 1 + -fva "smpContinuity" 1 + -ca "smpDisplaySmoothMesh" + -iva "smpDisplaySmoothMesh" 0 + -iva "smpDisplaySmoothMesh" 0; +optionVar + -ca "smpDisplaySubdComps" + -iva "smpDisplaySubdComps" 0 + -iva "smpDisplaySubdComps" 0 + -ca "smpKeepBorder" + -iva "smpKeepBorder" 0 + -iva "smpKeepBorder" 0 + -ca "smpKeepHardEdge" + -iva "smpKeepHardEdge" 0 + -iva "smpKeepHardEdge" 0 + -ca "smpKeepMapBorders" + -iva "smpKeepMapBorders" 1 + -iva "smpKeepMapBorders" 1 + -ca "smpPropagateEdgeHardness" + -iva "smpPropagateEdgeHardness" 0 + -iva "smpPropagateEdgeHardness" 0 + -iv "smpSizeOfMeshForWarning" 15000 + -iv "smpSizeWarningDisabledForAllPolys" 0 + -ca "smpSmoothLevel" + -iva "smpSmoothLevel" 2 + -iva "smpSmoothLevel" 2 + -ca "smpSmoothMeshSelectionMode" + -iva "smpSmoothMeshSelectionMode" 0 + -iva "smpSmoothMeshSelectionMode" 0 + -ca "smpSmoothUVs" + -iva "smpSmoothUVs" 1 + -iva "smpSmoothUVs" 1; +optionVar + -iv "snap2PtTo2PtParent" 0 + -iv "snap2PtTo2PtType" 0 + -iv "snap3PtTo3PtParent" 0 + -iv "snapKeyAllAnimCurves" 0 + -iv "snapKeyControlPoints" 0 + -iv "snapKeyDriven" 0 + -sv "snapKeyHierarchy" "none" + -sv "snapKeyRange" "0:10" + -iv "snapKeyShapes" 1 + -fv "snapKeyTimeMultiple" 1; +optionVar + -iv "snapKeyTimeValue" 1 + -iv "snapKeyUseChannelBox" 0 + -fv "snapKeyValueMultiple" 1 + -iv "snapKeyWhichRange" 1 + -iv "snapMagnet" 1 + -fv "snapMagnetTolerance" 0 + -sv "snapTogetherToolCtx" "snapTogetherCtx -e -image1 \"snapTogetherTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -setOrientation 1\n-clearSelection 1\n-snapPolygonFace 0\nsnapTogetherToolCtx" + -iv "snapTolerance" 20 + -iv "snapUVTolerance" 25 + -iv "snapshotOption" 1; +optionVar + -iv "softCreationOption" 2 + -iv "softGoal" 1 + -iv "softHide" 1 + -iv "softHistory" 0 + -iv "softModColorFeedback" 1 + -iv "softModFalloffAroundSelection" 0 + -ca "softModFalloffCurveOptionVar" + -sva "softModFalloffCurveOptionVar" "0,1,2" + -sva "softModFalloffCurveOptionVar" "1,0,2" + -iv "softModFalloffInX" 1 + -iv "softModFalloffInY" 1 + -iv "softModFalloffInZ" 1; +optionVar + -iv "softModFalloffMasking" 1 + -iv "softModFalloffMode" 0 + -fv "softModFalloffRadius" 5 + -iv "softModPreserveHistory" 0 + -iv "softModToolMode" 1 + -fv "softWeight" 0.5 + -iv "sortSkinPaintList" 1 + -iv "sphereAxisType" 3 + -fv "sphereAxisX" 0 + -fv "sphereAxisY" 1; +optionVar + -fv "sphereAxisZ" 0 + -iv "sphereDegree" 3 + -fv "sphereEndSweep" 360 + -iv "spherePivotType" 1 + -fv "spherePivotX" 0 + -fv "spherePivotY" 0 + -fv "spherePivotZ" 0 + -fv "sphereRadius" 2.5 + -iv "sphereSections" 8 + -iv "sphereSpans" 8; +optionVar + -fv "sphereStartSweep" 0 + -fv "sphereTolerance" 0.01 + -iv "sphereUseGlobalTolerance" 0 + -iv "sphereUseTolerance" 0 + -fv "spiralHeight" 2 + -fv "spiralRadius" 3 + -fv "spiralRounds" 5 + -ca "spotLightColor" + -fva "spotLightColor" 1 + -fva "spotLightColor" 1 + -fva "spotLightColor" 1 + -fv "spotLightConeAngle" 40 + -iv "spotLightDecay" 1; +optionVar + -fv "spotLightDropoff" 0 + -fv "spotLightIntensity" 1 + -iv "spotLightInteractivePlacement" 0 + -fv "spotLightPenumbra" 0 + -ca "spotLightShadowColor" + -fva "spotLightShadowColor" 0 + -fva "spotLightShadowColor" 0 + -fva "spotLightShadowColor" 0 + -iv "spotLightShadows" 0 + -iv "springAdd" 0 + -fv "springDamp" 0.2 + -fv "springEndForceWeight" 1 + -iv "springExclusive" 0; +optionVar + -fv "springMaxDistance" 68.086 + -iv "springMethodsOM" 3 + -fv "springMinDistance" 31.914 + -sv "springName" "" + -iv "springNoDuplicate" 1 + -fv "springRestLength" 0 + -fv "springStartForceWeight" 1 + -fv "springStiffness" 1 + -iv "springUseDampingPS" 0 + -iv "springUseRestLengthPS" 1; +optionVar + -iv "springUseStiffnessPS" 0 + -iv "springWireWalkLength" 2 + -iv "squareSrfPolys" 0 + -iv "stackTraceIsOn" 1 + -iv "statusLineVisible" 1 + -iv "steeringWheelBigOpacity" 0 + -fv "steeringWheelBigSize" 0 + -iv "steeringWheelConstrainWalkToGround" 0 + -iv "steeringWheelIncrementalZoom" 0 + -iv "steeringWheelInvertLookAxis" 0; +optionVar + -iv "steeringWheelKeepSceneUpright" 0 + -fv "steeringWheelMiniOpacity" 0 + -fv "steeringWheelMiniSize" 0 + -iv "steeringWheelSelectionSensitivity" 0 + -iv "steeringWheelShowPinnedOnStartup" 0 + -iv "steeringWheelShowToolMessages" 0 + -iv "steeringWheelShowToolTips" 0 + -fv "steeringWheelWalkSpeedFactor" 0 + -iv "steeringWheelWelcomeSeen" 0 + -iv "stereoCameraStereoToolBarDisplay" 0; +optionVar + -sv "studioImportOptions" "" + -iv "subdToNurbsOrigObject" 1 + -iv "subdToNurbsOutputType" 0 + -iv "subdivComponentDisplayStyle" 0 + -iv "subdivCreateMaxEdgesPerVert" 8 + -iv "subdivCreateMaxPolygons" 10000 + -iv "subdivCreateOrigObject" 1 + -iv "substDisableNonSkinDeformers" 0 + -fv "substGeomDistTolerance" 2 + -iv "substGeomNewGeometryLayer" 1; +optionVar + -iv "substGeomOldGeometryLayer" 0 + -iv "substituteRetainOldGeometry" 1 + -sv "surfaceSamplingCameraName2" "front" + -sv "surfaceSamplingCameraName3" "front" + -sv "surfaceSamplingConnectionNode" "surfaceSamplingConnectionNode" + -sv "surfaceSamplingCustomShaderName2" "" + -sv "surfaceSamplingCustomShaderName3" "" + -iv "surfaceSamplingDeleteCagesOption" 1 + -iv "surfaceSamplingEnableMapOption2" 0 + -iv "surfaceSamplingEnableMapOption3" 1; +optionVar + -iv "surfaceSamplingExtensionOption2" 1 + -iv "surfaceSamplingExtensionOption3" 11 + -sv "surfaceSamplingFileNameOption2" "C:/School/T&L2/HallwayElf/textures/sampledColor.pix" + -sv "surfaceSamplingFileNameOption3" "P:/HomeMirror/C/School/T&L1/Doghouse_Mini/textures/sampledDiffuseColor.png" + -iv "surfaceSamplingFillTextureSeamsOption" 0 + -fv "surfaceSamplingFilterSizeOption" 1 + -iv "surfaceSamplingFilterTypeOption" 3 + -iv "surfaceSamplingFlipUOption" 0 + -iv "surfaceSamplingFlipVOption" 0 + -iv "surfaceSamplingIgnoreMirroredFacesOption" 0; +optionVar + -iv "surfaceSamplingIncludeShadowsOption2" 0 + -iv "surfaceSamplingIncludeShadowsOption3" 1 + -iv "surfaceSamplingLockAspectRatioOption0" 1 + -iv "surfaceSamplingLockAspectRatioOption1" 1 + -iv "surfaceSamplingLockAspectRatioOption2" 1 + -iv "surfaceSamplingLockAspectRatioOption3" 1 + -iv "surfaceSamplingMapHeightOption0" 360 + -iv "surfaceSamplingMapHeightOption1" 2048 + -iv "surfaceSamplingMapHeightOption2" 256 + -iv "surfaceSamplingMapHeightOption3" 256; +optionVar + -iv "surfaceSamplingMapMaterialsOption2" 1 + -iv "surfaceSamplingMapMaterialsOption3" 1 + -iv "surfaceSamplingMapSpaceOption2" 2 + -iv "surfaceSamplingMapSpaceOption3" 2 + -iv "surfaceSamplingMapWidthOption0" 360 + -iv "surfaceSamplingMapWidthOption1" 2048 + -iv "surfaceSamplingMapWidthOption2" 256 + -iv "surfaceSamplingMapWidthOption3" 256 + -iv "surfaceSamplingMatchBasedOnOption" 1 + -fv "surfaceSamplingMaxSearchDistanceOption" 0; +optionVar + -fv "surfaceSamplingMaxValueOption2" 1 + -fv "surfaceSamplingMaxValueOption3" 1 + -iv "surfaceSamplingMentalAlpha" 0 + -iv "surfaceSamplingMentalAlphaMode" 1 + -iv "surfaceSamplingMentalBitsPerChannel2" 1 + -iv "surfaceSamplingMentalBitsPerChannel3" 1 + -iv "surfaceSamplingMentalBitsPerChannel4" 1 + -fv "surfaceSamplingMentalFillTextureSeams" 1 + -fv "surfaceSamplingMentalFinalGatherQuality" 1 + -fv "surfaceSamplingMentalFinalGatherReflect" 0; +optionVar + -iv "surfaceSamplingMentalNormalDirection" 2 + -iv "surfaceSamplingMentalOrthogonalReflection" 1 + -iv "surfaceSamplingMentalSamples" 3 + -iv "surfaceSamplingMentalTransferSpaceOption" 1 + -fv "surfaceSamplingMentalUMax" 0 + -fv "surfaceSamplingMentalUMin" 0 + -iv "surfaceSamplingMentalUVRange" 1 + -fv "surfaceSamplingMentalVMax" 0 + -fv "surfaceSamplingMentalVMin" 0 + -fv "surfaceSamplingOcclusionFalloff2" 0; +optionVar + -fv "surfaceSamplingOcclusionFalloff3" 0 + -iv "surfaceSamplingOcclusionRays2" 16 + -iv "surfaceSamplingOcclusionRays3" 16 + -iv "surfaceSamplingOutputArraySize" 4 + -iv "surfaceSamplingPostBakeOption0" 1 + -iv "surfaceSamplingPostBakeOption1" 1 + -iv "surfaceSamplingPostBakeOption2" 0 + -fv "surfaceSamplingSearchEnvelopeOption" 0 + -iv "surfaceSamplingSearchMethodOption" 1 + -iv "surfaceSamplingShaderConnectionOption" 1; +optionVar + -ca "surfaceSamplingSourceList" + -sva "surfaceSamplingSourceList" "pCylinderShape5" + -iv "surfaceSamplingSuperSamplingOption" 1 + -ca "surfaceSamplingTargetList" + -sva "surfaceSamplingTargetList" "pCylinderShape3" + -iv "surfaceSamplingTransferSpaceOption" 3 + -iv "surfaceSamplingType2" 3 + -iv "surfaceSamplingType3" 2 + -iv "surfaceSamplingUseCommonOutputSettingsField2" 1 + -iv "surfaceSamplingUseCommonOutputSettingsField3" 1 + -iv "sweepOutputPolygons" 0 + -sv "symmetricModellingAboutOption" "origin"; +optionVar + -sv "symmetricModellingAxisOption" "x" + -iv "symmetricModellingOption" 0 + -sv "symmetricModellingSeamFalloffCurve" "0,1,2,1,0,2" + -iv "symmetricModellingSeamOption" 1 + -fv "symmetricModellingSeamTolerance" 0.01 + -sv "symmetricModellingSpaceOption" "world" + -fv "symmetricModellingToleranceValue" 0.13904 + -iv "tangentConstraintAddTargets" 1 + -fv "tangentialTolerance" 0.0572958 + -iv "tessellationFactor" 200; +optionVar + -sv "test" "dooder" + -sv "texLatticeDeformCtx" "texLatticeDeformContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-snapPixelMode 0\n-useBoundingRect 1\ntexLatticeDeformCtx" + -sv "texMoveContext" "texMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snapComponentsRelative 0\n-snapPixelMode 0\ntexMoveContext" + -sv "texMoveUVShellCtx" "texMoveUVShellContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mask 1\n-iterations 16\n-shellBorder 0.3\ntexMoveUVShellCtx" + -sv "texRotateContext" "texRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snap 0\n-snapRelative 0\n-snapValue 15\ntexRotateContext" + -sv "texScaleContext" "texScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snap 0\n-snapRelative 0\n-snapValue 1\ntexScaleContext" + -sv "texSmoothCtx" "texSmoothContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -pinBorder 0\n-space 1\ntexSmoothCtx" + -sv "texSmudgeUVCtx" "texSmudgeUVContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -effectType \"fixed\" -functionType \"exponential\" -radius 0.075\n-pressure 0.01\n-dragSlider \"none\" -smudgeIsMiddle 0\ntexSmudgeUVCtx" + -sv "textCurvesFont" "Tahoma|h-27|w700|c0" + -iv "textCurvesHistory" 1; +optionVar + -sv "textCurvesText" "HOME" + -iv "textCurvesType" 2 + -iv "textureBakeAlphaMode" 1 + -iv "textureBakeBakeAlpha" 0 + -iv "textureBakeBakeToOneMap" 0 + -iv "textureBakeBitsPerChannel" 1 + -iv "textureBakeColorMode" 1 + -iv "textureBakeFileFormat" 1 + -fv "textureBakeFillTextureSeams" 1 + -fv "textureBakeFinalGatherQuality" 1; +optionVar + -fv "textureBakeFinalGatherReflect" 0 + -iv "textureBakeNormalDirection" 1 + -fv "textureBakeOcclusionFalloff" 0 + -iv "textureBakeOcclusionRays" 64 + -iv "textureBakeOrthogonalReflection" 0 + -iv "textureBakeOverrideMeshUVSetAssignments" 0 + -sv "textureBakePrefix" "baked" + -iv "textureBakeSamples" 1 + -fv "textureBakeUMax" 1 + -fv "textureBakeUMin" 1; +optionVar + -iv "textureBakeUvRange" 0 + -sv "textureBakeUvSetName" "uvSet1" + -fv "textureBakeVMax" 1 + -fv "textureBakeVMin" 1 + -iv "textureBakeXResolution" 512 + -iv "textureBakeYResolution" 512 + -iv "textureEditorToolbarState" 0 + -iv "textureWindowDisplayDivisionLines" 0 + -iv "textureWindowDisplayGridAxes" 1 + -sv "textureWindowDisplayGridLabelPosition" "axis"; +optionVar + -iv "textureWindowDisplayGridLabels" 1 + -iv "textureWindowDisplayGridLines" 1 + -fv "textureWindowGridDivisions" 2 + -fv "textureWindowGridSize" 1 + -fv "textureWindowGridSpacing" 0.1 + -iv "textureWindowShaderFacesMode" 0 + -iv "timeSliderHeight" 28 + -fv "timeSliderMaxPlaySpeed" 1 + -fv "timeSliderPlayBy" 1 + -sv "timeSliderPlayLoop" "continuous"; +optionVar + -fv "timeSliderPlaySpeed" 0 + -sv "timeSliderPlayView" "active" + -fv "timeSliderRepeatChunk" 3 + -iv "timeSliderRepeatOnHold" 1 + -sv "timeSliderShowKeys" "active" + -iv "timeSliderSnapping" 1 + -sv "timeSliderSoundDisplay" "both" + -iv "timeSliderTickSize" 5 + -iv "timeSliderTimeCode" 0 + -sv "timeSliderTimeCodeOffset" "00:00:00:00"; +optionVar + -iv "timeSliderVisible" 1 + -iv "toggleOriginAxis" 1 + -iv "toggleViewAxis" 0 + -iv "toolMessageHorizontalOffset" 0 + -fv "toolMessageTime" 0.7 + -iv "toolMessageVerticalOffset" -40 + -iv "toolMessageVisible" 1 + -iv "toolSettingsInMainWindow" 0 + -iv "toolSettingsVisible" 0 + -iv "toolboxVisible" 1; +optionVar + -fv "totalAnimateRollTime" 0.5 + -sv "track2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" track2dContext" + -sv "trackContext" "trackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Track Tool\" -trackGeometry 0\n-trackScale 1\ntrackContext" + -sv "tracktwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" tracktwContext" + -iv "transferAttributesColorBordersOption" 1 + -iv "transferAttributesColorSetsOption" 1 + -iv "transferAttributesFlipUVsOption" 1 + -iv "transferAttributesMirrorOption" 1 + -iv "transferAttributesNormalsOption" 1 + -iv "transferAttributesPositionsOption" 1; +optionVar + -iv "transferAttributesSearchMethodOption" 2 + -iv "transferAttributesSpaceOption" 1 + -iv "transferAttributesUVSetsOption" 2 + -iv "transformOption" 1 + -sv "transformTexSelectContext" "texSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" transformTexSelectContext" + -iv "trsManipsPreserveChildPosition" 0 + -iv "trsManipsPreserveUvs" 0 + -sv "tumbleContext" "tumbleCtx -e -image1 \"tumble.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Tumble Tool\" -tumbleScale 1\n-objectTumble 0\n-localTumble 1\n-autoOrthoConstrain 1\n-orthoStep 5\n-orthoLock 1\ntumbleContext" + -fv "turbulenceAttenuation" 1 + -fv "turbulenceFrequency" 1; +optionVar + -fv "turbulenceMagnitude" 5 + -fv "turbulenceMaxDistCBox" 0 + -fv "turbulenceMaxDistance" 0 + -sv "turbulenceName" "" + -iv "turbulenceNoiseLevel" 0 + -fv "turbulenceNoiseRatio" 0.707 + -fv "turbulencePhaseX" 0 + -fv "turbulencePhaseY" 0 + -fv "turbulencePhaseZ" 0 + -fv "turbulenceTorusSectionRadius" 0.5; +optionVar + -iv "turbulenceVolumeExclusion" 0 + -iv "turbulenceVolumeFieldTypesOM" 1 + -fv "turbulenceVolumeOffsetX" 0 + -fv "turbulenceVolumeOffsetY" 0 + -fv "turbulenceVolumeOffsetZ" 0 + -fv "turbulenceVolumeSweep" 360 + -iv "tvAlignUVsOption" 1 + -fv "tvImageRangeMaxU" 1 + -fv "tvImageRangeMaxV" 1 + -fv "tvImageRangeMinU" 0; +optionVar + -fv "tvImageRangeMinV" 0 + -iv "tvImageRangePresets" 1 + -iv "tvImageResolution" 11 + -iv "undoIsEnabled" 1 + -iv "undoIsInfinite" 0 + -iv "undoLength" 2000 + -fv "unfoldGlobalBlend" 0 + -fv "unfoldGlobalMethodBlend" 1 + -iv "unfoldHistOn" 0 + -iv "unfoldIterations" 5000; +optionVar + -iv "unfoldPinAxis" 2 + -iv "unfoldPinBorder" 0 + -iv "unfoldPinSelected" 0 + -iv "unfoldRescale" 0 + -fv "unfoldScale" 0.02 + -fv "unfoldStopThreshold" 0.001 + -iv "ungroupPreserve" 1 + -iv "ungroupWorld" 0 + -fv "uniformAttenuation" 1 + -fv "uniformDirectionX" 1; +optionVar + -fv "uniformDirectionY" 0 + -fv "uniformDirectionZ" 0 + -fv "uniformMagnitude" 5 + -iv "uniformMaxDistCBox" 0 + -fv "uniformMaxDistance" 0 + -sv "uniformName" "" + -fv "uniformTorusSectionRadius" 0.5 + -iv "uniformVolumeExclusion" 0 + -iv "uniformVolumeFieldTypesOM" 1 + -fv "uniformVolumeOffsetX" 0; +optionVar + -fv "uniformVolumeOffsetY" 0 + -fv "uniformVolumeOffsetZ" 0 + -fv "uniformVolumeSweep" 360 + -iv "unitConversionOption" 1 + -iv "unknownNodesOption" 1 + -iv "unparentPreserve" 1 + -iv "unparentRemove" 0 + -iv "unusedNurbsSrfOption" 0 + -iv "unusedSkinInfsOption" 1 + -sv "upAxisDirection" "y"; +optionVar + -iv "updateLightGlow" 1 + -iv "updateMotionBlur" 1 + -iv "updateShaderGlow" 1 + -iv "updateShadingAndLighting" 1 + -iv "useBakeSetOverride" 0 + -iv "useCurrentWorkspaceOnImportAndRef" 0 + -iv "useDefaultFileExtensions" 1 + -iv "useGeometry" 0 + -iv "useNamespacesDuringFileIO" 0 + -iv "useNewScenePanelConfig" 1; +optionVar + -iv "useRemoteURL" 0 + -iv "useSaveScenePanelConfig" 1 + -iv "useScenePanelConfig" 1 + -iv "useScrollWheel" 1 + -iv "useSnapTolerance" 0 + -sv "userDefinedImageViewerCmdForImage" "" + -sv "userDefinedImageViewerCmdForSequence" "" + -sv "uvSnapshotFileName" "C:/Documents and Settings/Elrond/My Documents/maya/projects/default/images/outUV" + -fv "uvSnapshotUMax" 1 + -fv "uvSnapshotUMin" 0; +optionVar + -iv "uvSnapshotUVRange" 0 + -fv "uvSnapshotVMax" 1 + -fv "uvSnapshotVMin" 0 + -iv "v_mrBakeOptim" 1 + -sv "v_mrBakeScope" "Selected" + -iv "v_mrBakeShadows" 1 + -sv "v_mrBakeTo" "Vertices" + -iv "v_mrBatchRenderLogVerbosity" 3 + -iv "v_mrBatchRenderMemLimit" 0 + -iv "v_mrBatchRenderMemLimitAuto" 1; +optionVar + -iv "v_mrBatchRenderNumThread" 2 + -iv "v_mrBatchRenderNumThreadAuto" 1 + -sv "v_mrBatchRenderPreRenderCommand" "" + -sv "v_mrBatchRenderRenderCommand" "" + -sv "v_mrBatchRenderRenderCommandOptions" "" + -sv "v_mrBatchRenderRenderCommandOptionsInclude" "" + -sv "v_mrBatchRenderRenderCommandOptionsLib" "" + -iv "v_mrBatchRenderRenderMode" 0 + -iv "v_mrBatchRenderTaskSize" 0 + -iv "v_mrBatchRenderUseMaster" 1; +optionVar + -iv "v_mrBatchRenderUseSlaves" 1 + -sv "v_mrCamera" "persp" + -iv "v_mrImrRenderNumThread" 2 + -iv "v_mrImrRenderNumThreadAuto" 1 + -iv "v_mrImrRenderTaskSize" 0 + -iv "v_mrImrRenderUpdateVisibility" 0 + -iv "v_mrImrRenderUseMaster" 1 + -iv "v_mrImrRenderUseSlaves" 1 + -iv "v_mrImrRenderVerbosity" 3 + -iv "v_mrKeepOrgSG" 0; +optionVar + -iv "v_mrRenderLogVerbosity" 3 + -iv "v_mrRenderMemLimit" 0 + -iv "v_mrRenderMemLimitAuto" 1 + -iv "v_mrRenderNumThread" 2 + -iv "v_mrRenderNumThreadAuto" 2 + -iv "v_mrRenderTaskSize" 0 + -iv "v_mrRenderUseMaster" 1 + -iv "v_mrRenderUseSlaves" 1 + -iv "v_mrSkipDefault" 1 + -iv "vertexBakeAlphaBlending" 0; +optionVar + -iv "vertexBakeAlphaMode" 1 + -iv "vertexBakeBakeAlpha" 0 + -iv "vertexBakeBakeColor" 1 + -iv "vertexBakeClampMax" 0 + -iv "vertexBakeClampMin" 0 + -iv "vertexBakeColorBlending" 0 + -iv "vertexBakeColorMode" 1 + -sv "vertexBakeColorSetName" "" + -fv "vertexBakeFilterNormalTolerance" 5 + -fv "vertexBakeFilterSize" 0.001; +optionVar + -fv "vertexBakeMaxAlpha" 1 + -fv "vertexBakeMaxColorB" 0 + -fv "vertexBakeMaxColorG" 0 + -fv "vertexBakeMaxColorR" 0 + -fv "vertexBakeMinAlpha" 0 + -fv "vertexBakeMinColorB" 0 + -fv "vertexBakeMinColorG" 0 + -fv "vertexBakeMinColorR" 0 + -iv "vertexBakeNormalDirection" 1 + -fv "vertexBakeOcclusionFalloff" 0; +optionVar + -iv \ No newline at end of file diff --git a/2009-x64/prefs/userPrefs_default.mel b/2009-x64/prefs/userPrefs_default.mel new file mode 100644 index 0000000..739a818 --- /dev/null +++ b/2009-x64/prefs/userPrefs_default.mel @@ -0,0 +1,1182 @@ +//Maya Preference 8.50 (Release 1) +// +// +keyTangent -global -inTangentType clamped -outTangentType clamped -weightedTangents false; +constructionHistory -tgl on; + +optionVar -version 3; +optionVar + -iv "AEpopupWhenCreatingShaders" 1 + -sv "CreateNurbsCircleCtx" "createNurbsCircleCtx -e -image1 \"circle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -normalType 2\n-normal 0 1 0 -sweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-attachToSections 1\n-doDragEdit 0\nCreateNurbsCircleCtx" + -sv "CreateNurbsConeCtx" "createNurbsConeCtx -e -image1 \"cone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 8\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 1\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-height 2\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsConeCtx" + -sv "CreateNurbsCubeCtx" "createNurbsCubeCtx -e -image1 \"cube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 1\n-depth 1\n-height 1\n-attachToPatchesU 1\n-attachToPatchesV 1\n-doDragEdit 0\nCreateNurbsCubeCtx" + -sv "CreateNurbsCylinderCtx" "createNurbsCylinderCtx -e -image1 \"cylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 20\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 3\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-height 2\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsCylinderCtx" + -sv "CreateNurbsPlaneCtx" "createNurbsPlaneCtx -e -image1 \"plane.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 1\n-height 1\n-attachToPatchesU 1\n-attachToPatchesV 1\n-doDragEdit 0\nCreateNurbsPlaneCtx" + -sv "CreateNurbsSphereCtx" "createNurbsSphereCtx -e -image1 \"sphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axisType 2\n-axis 0 1 0 -startSweep 0\n-endSweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-spans 4\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsSphereCtx" + -sv "CreateNurbsSquareCtx" "createNurbsSquareCtx -e -image1 \"square.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 1\n-height 1\n-attachToSpans 1\n-doDragEdit 0\nCreateNurbsSquareCtx" + -sv "CreateNurbsTorusCtx" "createNurbsTorusCtx -e -image1 \"torus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-minorSweep 360\n-minorRadius 0.5\n-sections 8\n-spans 4\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsTorusCtx" + -sv "CreatePolyConeCtx" "createPolyConeCtx -e -image1 \"polyCone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 1\n-subdivisionsDepth 0\n-radius 1\n-height 2\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyConeCtx" + -sv "CreatePolyCubeCtx" "createPolyCubeCtx -e -image1 \"polyCube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-subdivisionsDepth 1\n-width 1\n-depth 1\n-height 1\n-createUVs 4\n-attachToSubdivisionsDepth 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsWidth 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCubeCtx"; +optionVar + -sv "CreatePolyCylinderCtx" "createPolyCylinderCtx -e -image1 \"polyCylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 1\n-height 2\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCylinderCtx" + -sv "CreatePolyHelixCtx" "createPolyHelixCtx -e -image1 \"polyHelix.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 8\n-subdivisionsCoil 50\n-subdivisionsCap 0\n-roundCap 0\n-coils 3\n-height 2\n-width 2\n-radius 0.4\n-direction 1\n-createUVs 3\n-attachToSubdivisionsCoil 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-attachToNumberCoils 1\n-attachToRadius 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyHelixCtx" + -sv "CreatePolyPipeCtx" "createPolyPipeCtx -e -image1 \"polyPipe.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 1\n-height 2\n-thickness 0.5\n-roundCap 0\n-createUVs 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 1\n-attachToThickness 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPipeCtx" + -sv "CreatePolyPlaneCtx" "createPolyPlaneCtx -e -image1 \"polyMesh.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-width 1\n-height 1\n-createUVs 2\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsWidth 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlaneCtx" + -sv "CreatePolyPlatonicSolidCtx" "createPolyPlatonicSolidCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 1\n-sideLength 0.7137\n-solidType 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlatonicSolidCtx" + -sv "CreatePolyPrismCtx" "createPolyPrismCtx -e -image1 \"polyPrism.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -numberOfSides 3\n-subdivisionsHeight 1\n-subdivisionsCap 0\n-length 2\n-sideLength 1\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-attachToNumSides 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPrismCtx" + -sv "CreatePolyPyramidCtx" "createPolyPyramidCtx -e -image1 \"polyPyramid.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsHeight 1\n-subdivisionsDepth 0\n-sideLength 1\n-numberOfSides 4\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsCap 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPyramidCtx" + -sv "CreatePolySoccerBallCtx" "createPolySoccerBallCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 1\n-sideLength 0.4036\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySoccerBallCtx" + -sv "CreatePolySphereCtx" "createPolySphereCtx -e -image1 \"polySphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 1\n-createUVs 2\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySphereCtx" + -sv "CreatePolyTorusCtx" "createPolyTorusCtx -e -image1 \"polyTorus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 1\n-sectionRadius 0.5\n-twist 0\n-createUVs 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSectionRadius 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyTorusCtx"; +optionVar + -iv "EEexprEdTextEditor" 1 + -sv "Move" "manipMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 2\n-activeHandle 3\n-orientAxes 0 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-snap 0\n-snapRelative 0\n-reflection 0\n-reflectionAbout 1\n-reflectionAxis 0\n-reflectionTolerance 1e-005\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\nMove" + -sv "MoveLimits" "manipMoveLimitsCtx -e -image1 \"moveLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" MoveLimits" + -sv "MoveNormal" "manipMoveContext -e -image1 \"moveNormal.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 3\n-activeHandle 3\n-orientAxes 0 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-snap 0\n-snapRelative 0\n-reflection 0\n-reflectionAbout 1\n-reflectionAxis 0\n-reflectionTolerance 1e-005\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\nMoveNormal" + -iv "PolySelectEditSplitRingAbsolute" 0 + -sv "PolyTexShortestPath" "texSelectShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyTexShortestPath" + -sv "PolyViewPortShortestPath" "polyShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyViewPortShortestPath" + -sv "PropMod" "propModCtx -e -image1 \"propMod.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type 1\n-linear -0.1\n-linearParam 0.5 0.5 -powerCutoff 10\n-powerDegree 3\n-direction 1 1 1 -worldspace 1\n-powerCutoffParam 0.5 0.5 -powerDegreeParam 3\n-animCurveFalloff 1 1 PropMod" + -iv "RecentBackupsMaxSize" 4 + -iv "RecentFilesMaxSize" 4; +optionVar + -iv "RecentProjectsMaxSize" 4 + -sv "Rotate" "manipRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 0\n-activeHandle 3\n-snap 0\n-snapRelative 0\n-snapValue 15\n-reflection 0\n-reflectionAbout 1\n-reflectionAxis 0\n-reflectionTolerance 1e-005\n-useObjectPivot 0\n-centerTrackball 1\n-editPivotMode 0\nRotate" + -sv "RotateLimits" "manipRotateLimitsCtx -e -image1 \"rotateLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" RotateLimits" + -sv "Scale" "manipScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -activeHandle 3\n-snap 0\n-snapRelative 0\n-snapValue 1\n-reflection 0\n-reflectionAbout 1\n-reflectionAxis 0\n-reflectionTolerance 1e-005\n-useObjectPivot 0\n-editPivotMode 0\nScale" + -sv "ScaleLimits" "manipScaleLimitsCtx -e -image1 \"scaleLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" ScaleLimits" + -sv "SelectLasso" "lassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\n-fastComponents 1\nSelectLasso" + -sv "TextureLasso" "textureLassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\nTextureLasso" + -sv "Transform" "srtContext -e -image1 \"srt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" Transform" + -iv "activeObjectPivots" 0 + -iv "aeInMainWindow" 1; +optionVar + -sv "alignToolCtx" "alignCtx -e -image1 \"alignTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -anchorFirstObject 0\n-showAlignTouch 1\nalignToolCtx" + -iv "allowMenusInPanels" 1 + -iv "animBlendingOpt" 1 + -iv "animateRoll" 1 + -iv "animateRollFitAll" 1 + -iv "animateRollGotoBookmark" 1 + -iv "animateRollNextLastCameraView" 1 + -iv "animateRollViewCompass" 1 + -iv "animationDetailsVisibility" 0 + -iv "apiPrefLazyLoading" 0; +optionVar + -iv "apiPrefOldPluginWarning" 1 + -sv "arcLenDimContext" "arcLenDimContext -e -image1 \"arcLengthDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" arcLenDimContext" + -sv "artSelectContext" "artSelectCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 0\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 1\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 1\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-selectop \"select\" -addselection 1\n-importthreshold 0.5\nartSelectContext" + -sv "autoKeyCharacterState" "standard" + -iv "autoKeyframeState" 0 + -sv "azimuthElevationContext" "orbitCtx -e -image1 \"azimuthElevation.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Azimuth Elevation Tool\" -orbitScale 1\n-localOrbit 1\nazimuthElevationContext" + -iv "batchRenderMessagesVerbosity" 1 + -iv "bevelOutputPolygons" 0 + -iv "birail1OutputPoly" 0 + -iv "birail2OutputPoly" 0; +optionVar + -iv "birail3OutputPoly" 0 + -iv "blendOutputPoly" 0 + -iv "boundaryPolys" 0 + -sv "boxZoom2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" boxZoom2dContext" + -sv "boxZoomContext" "boxZoomCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -zoomScale 1\nboxZoomContext" + -sv "boxZoomtwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" boxZoomtwContext" + -iv "cameraNamesVisibility" 1 + -iv "channelsFieldWidth" 65 + -sv "channelsLayersConfiguration" "Channel Box / Layer Editor" + -iv "channelsLayersPaneSize" 70; +optionVar + -iv "channelsLayersVisible" 1 + -iv "channelsLayersWidth" 180 + -iv "channelsLongName" 1 + -iv "channelsPrecision" 3 + -iv "circularFilletOutputPolygons" 0 + -iv "clickBoxSize" 4 + -iv "cmdWindowTitleBarVis" 1 + -ca "colorMaterialBlend" + -iva "colorMaterialBlend" 0 + -iva "colorMaterialBlend" 0 + -ca "colorMaterialChannel" + -iva "colorMaterialChannel" 3 + -iva "colorMaterialChannel" 3 + -ca "colorShadedDisplay" + -iva "colorShadedDisplay" 0 + -iva "colorShadedDisplay" 0; +optionVar + -iv "commandExecuterShowLineNumbers" 1 + -iv "commandLineHoldFocus" 0 + -iv "commandLineInputFieldWidth" 50 + -iv "commandLineNumHistoryLines" 50 + -sv "commandLineSourceType" "mel" + -iv "commandLineVisible" 1 + -sv "commandportDefaultName" "commandportDefault" + -iv "commandportOpenByDefault" 1 + -sv "create2dTextureType" "normal" + -sv "createDrawContext" "createDrawCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axis \"x\" createDrawContext"; +optionVar + -iv "createMaterialsWithShadingGroup" 1 + -iv "createNurbsPrimitiveAsTool" 1 + -iv "createPolyPrimitiveAsTool" 1 + -iv "createTexturesWithPlacement" 1 + -iv "currentDisplayLayerActive" 0 + -iv "currentFrameVisibility" 0 + -sv "currentMenuBarTab" "animationMenuSet" + -ca "customSelectPriority" + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 4 + -iva "customSelectPriority" 3 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 8 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -fv "defaultCameraFarClipValue" 1000 + -fv "defaultCameraNearClipValue" 0.1; +optionVar + -sv "defaultDiskCacheSaveAsType" "always" + -iv "defaultShowManipulator" 6 + -sv "defaultTextureSaveAsType" "unlessRef" + -sv "directKeyContext" "directKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" directKeyContext" + -iv "disableComponentPopups" 0 + -iv "displayAffected" 1 + -iv "displayAlphaAsGreyScale" 0 + -iv "displayDivisionLines" 1 + -iv "displayGridAxes" 1 + -iv "displayGridAxesAccented" 1; +optionVar + -iv "displayGridLines" 1 + -sv "displayGridOrthoLabelPosition" "edge" + -sv "displayGridPerspLabelPosition" "axis" + -iv "displayLayerCurrent" 0 + -iv "displayLayerMerge" 0 + -iv "displayOrthoGridLabels" 0 + -iv "displayPerspGridLabels" 0 + -ca "displayPolyBackFaceCull" + -iva "displayPolyBackFaceCull" 0 + -iva "displayPolyBackFaceCull" 0 + -ca "displayPolyBorderEdgeHilite" + -iva "displayPolyBorderEdgeHilite" 0 + -iva "displayPolyBorderEdgeHilite" 0 + -ca "displayPolyBorderEdgeSize" + -fva "displayPolyBorderEdgeSize" 3 + -fva "displayPolyBorderEdgeSize" 3; +optionVar + -ca "displayPolyBorderMapHilite" + -iva "displayPolyBorderMapHilite" 0 + -iva "displayPolyBorderMapHilite" 0 + -ca "displayPolyCreaseEdgeHilite" + -iva "displayPolyCreaseEdgeHilite" 0 + -iva "displayPolyCreaseEdgeHilite" 0 + -ca "displayPolyCreaseVertexHilite" + -iva "displayPolyCreaseVertexHilite" 0 + -iva "displayPolyCreaseVertexHilite" 0 + -ca "displayPolyEdgeDisp" + -iva "displayPolyEdgeDisp" 0 + -iva "displayPolyEdgeDisp" 0 + -ca "displayPolyFacetCentreDisp" + -iva "displayPolyFacetCentreDisp" 0 + -iva "displayPolyFacetCentreDisp" 0 + -ca "displayPolyFacetNormalDisp" + -iva "displayPolyFacetNormalDisp" 0 + -iva "displayPolyFacetNormalDisp" 0 + -ca "displayPolyFacetTrngleDisp" + -iva "displayPolyFacetTrngleDisp" 0 + -iva "displayPolyFacetTrngleDisp" 0 + -ca "displayPolyFacetWarpDisp" + -iva "displayPolyFacetWarpDisp" 0 + -iva "displayPolyFacetWarpDisp" 0 + -ca "displayPolyNormalSize" + -fva "displayPolyNormalSize" 0.4 + -fva "displayPolyNormalSize" 0.4 + -ca "displayPolyNumEdge" + -iva "displayPolyNumEdge" 0 + -iva "displayPolyNumEdge" 0; +optionVar + -ca "displayPolyNumFacet" + -iva "displayPolyNumFacet" 0 + -iva "displayPolyNumFacet" 0 + -ca "displayPolyNumUv" + -iva "displayPolyNumUv" 0 + -iva "displayPolyNumUv" 0 + -ca "displayPolyNumVertex" + -iva "displayPolyNumVertex" 0 + -iva "displayPolyNumVertex" 0 + -iv "displayPolyObjsAffected" 0 + -ca "displayPolyUV" + -iva "displayPolyUV" 0 + -iva "displayPolyUV" 0 + -ca "displayPolyUVSize" + -fva "displayPolyUVSize" 4 + -fva "displayPolyUVSize" 4 + -ca "displayPolyUVTopology" + -iva "displayPolyUVTopology" 0 + -iva "displayPolyUVTopology" 0 + -ca "displayPolyVertexNormals" + -iva "displayPolyVertexNormals" 0 + -iva "displayPolyVertexNormals" 0 + -ca "displayPolyVertexSize" + -fva "displayPolyVertexSize" 3 + -fva "displayPolyVertexSize" 3 + -ca "displayPolyVtxBackCull" + -iva "displayPolyVtxBackCull" 1 + -iva "displayPolyVtxBackCull" 1; +optionVar + -ca "displayPolyVtxDisp" + -iva "displayPolyVtxDisp" 0 + -iva "displayPolyVtxDisp" 0 + -iv "displayRegionOfEffect" 1 + -sv "distanceDimContext" "distanceDimContext -e -image1 \"distanceDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" distanceDimContext" + -sv "dolly2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" dolly2dContext" + -sv "dollyContext" "dollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Dolly Tool\" -scale 1\n-localDolly 1\n-centerOfInterestDolly 0\n-boxDollyType \"bbox\" -dollyTowardsCenter 1\ndollyContext" + -sv "dollytwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" dollytwContext" + -iv "dopeSheetAutoFit" 0 + -iv "dopeSheetShowTicks" 1 + -sv "dynParticleContext" "dynParticleCtx -e -image1 \"particle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -conserve 1\n-sketch 0\n-numJitters 1\n-jitterRadius 0\n-sketchInterval 5\n-grid 0\n-gridSpacing 0.5\n-lowerLeftX -2.5\n-lowerLeftY -2.5\n-lowerLeftZ -2.5\n-upperRightX 2.5\n-upperRightY 2.5\n-upperZ 2.5\ndynParticleContext" + -iv "dynPrefAutoCreate" 1; +optionVar + -iv "dynPrefEchoCollision" 1 + -iv "dynPrefRunupFrom" 1 + -iv "dynPrefRunupToCurrentTime" 0 + -iv "dynPrefSaveRuntimeState" 1 + -sv "dynWireCtx1" "dynWireCtx -e -image1 \"paintEffectsTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -dragBrushSize \"none\" -doProject 1\n-brushDrag 0.88\n-brushMass 1\n-inputSamples 4\n-sampleSeparation 4\n-surfaceOffset 0\n-paintAtDepth 0\n-drawAsMesh 1\n-usePressure 1\n-pressureMapping1 5\n-pressureMapping2 1\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-displayQuality 100\n-pixelMode 0\ndynWireCtx1" + -iv "echoAllLines" 0 + -iv "expandPopupList" 0 + -iv "extrudeOutputPolygons" 0 + -iv "fastInteraction" 0 + -iv "fbEnvVarExpand" 1; +optionVar + -iv "fbikDetailsVisibility" 0 + -iv "fcheckAsImageViewer" 1 + -sv "fileCompressionMode" "asCompressed" + -iv "frameRateVisibility" 0 + -iv "freeFormFilletOutputPolygons" 0 + -iv "ghostFrameStep" 1 + -iv "ghostFramesAfter" 3 + -iv "ghostFramesBefore" 3 + -iv "globalVisibilityOfComponentBars" 1 + -sv "graphDollyContext" "graphDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphDollyContext"; +optionVar + -iv "graphEditorAutoFit" 0 + -iv "graphEditorClipTime" 1 + -sv "graphTrackContext" "graphTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphTrackContext" + -fv "gridDivisions" 5 + -fv "gridSize" 12 + -fv "gridSpacing" 5 + -iv "helpBrowserRaiseWindow" 1 + -iv "helpBrowserUseWindow" 1 + -sv "helpLanguage" "en_US" + -iv "helpLineVisible" 1; +optionVar + -iv "helpPopupDisplayTime" 4 + -sv "helpUrl" "" + -iv "highPrecisionNurbs" 0 + -sv "hotBoxDisplayStyle" "-dh" + -iv "hotBoxTransparencyLevel" 0 + -iv "hsBinsSortShadingNodesOnly" 1 + -iv "hsClearBeforeGraphing" 1 + -iv "hyperShadePanelCreateBarIconsAndTextWidth" 172 + -iv "hyperShadePanelCreateBarShown" 1 + -sv "hyperShadePanelTabSectionsShown" "showTopAndBottomTabs"; +optionVar + -iv "ignoreSelectionPriority" 0 + -sv "ikHandleContext" "ikHandleCtx -e -image1 \"kinHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikRPsolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikHandleContext" + -fv "ikHandleDisplayScale" 1 + -sv "ikIkFkDisplayMethod" "ikfk" + -fv "ikIkFkJointDisplayScale" 0.5 + -fv "ikJointDisplayScale" 1 + -sv "ikSplineHandleContext" "ikSplineHandleCtx -e -image1 \"kinSplineHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikSplineSolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikSplineHandleContext" + -sv "inTangentType" "clamped" + -sv "insertJointContext" "insertJointCtx -e -image1 \"kinInsert.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" insertJointContext" + -sv "insertKeyContext" "insertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\ninsertKeyContext"; +optionVar + -iv "iprRenderMotionBlur" 1 + -iv "iprRenderShading" 1 + -iv "iprRenderShadowMaps" 1 + -iv "isAttributeEditorVisible" 0 + -iv "isHotBoxAnimationRowVisible" 1 + -iv "isHotBoxClothRowVisible" 0 + -iv "isHotBoxCommonRowVisible" 1 + -iv "isHotBoxControlRowVisible" 1 + -iv "isHotBoxDynamicsRowVisible" 0 + -iv "isHotBoxLiveRowVisible" 0; +optionVar + -iv "isHotBoxPane-SpecificRowVisible" 1 + -iv "isHotBoxPaneSpecificRowVisible" 1 + -iv "isHotBoxPolygonsRowVisible" 0 + -iv "isHotBoxRenderingRowVisible" 0 + -iv "isHotBoxRmbPopupsOn" 0 + -iv "isHotBoxShowAll" 0 + -iv "isHotBoxSurfacesRowVisible" 0 + -iv "isMarkingMenuOn" 1 + -iv "isShelfLoad" 1 + -iv "isShelfSave" 1; +optionVar + -iv "isShelfVisible" 1 + -sv "jointContext" "jointCtx -e -image1 \"kinJoint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -scaleCompensateJ 1\n-degreeOfFreedomJ \"xyz\" -jointOrientationJ 0 0 0 -scaleOrientationJ 0 0 0 -scaleJ 1 1 1 -autoJointOrient \"xyz\" -secondaryAxisOrient \"yup\" -jointAutoLimits 0\n-createIKHandle 0\n-solverTypeH \"ikRPsolver\" -autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-smallBoneLength 1\n-smallBoneRadius 0.5\n-largeBoneLength 30\n-largeBoneRadius 2\njointContext" + -iv "journalIsOn" 1 + -sv "keyframeRegionDirectKeyContext" "keyframeRegionDirectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionDirectKeyContext" + -sv "keyframeRegionDollyContext" "keyframeRegionDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionDollyContext" + -sv "keyframeRegionInsertKeyContext" "keyframeRegionInsertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 1\nkeyframeRegionInsertKeyContext" + -sv "keyframeRegionMoveKeyContext" "keyframeRegionMoveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionMoveKeyContext" + -sv "keyframeRegionScaleKeyContext" "keyframeRegionScaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 1\nkeyframeRegionScaleKeyContext" + -sv "keyframeRegionSelectKeyContext" "keyframeRegionSelectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionSelectKeyContext" + -sv "keyframeRegionSetKeyContext" "keyframeRegionSetKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nkeyframeRegionSetKeyContext"; +optionVar + -sv "keyframeRegionTrackContext" "keyframeRegionTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionTrackContext" + -sv "lastLocalWS" "C:/Documents and Settings/pmolodow/My Documents/maya/projects/default" + -sv "latticeDeformKeyContext" "latticeDeformKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-scaleLatticePts 0\nlatticeDeformKeyContext" + -iv "leInMainWindow" 1 + -iv "loadDynamics" 1 + -iv "loadUrchin" 1 + -iv "loftPolys" 0 + -iv "mainMenuBarNeedsToBeTraversedWhenHotkeyEditorIsOpened" 1 + -iv "mainWindowDisable" 0 + -iv "mainWindowMenubarVis" 1; +optionVar + -iv "mainWindowTitleBarVis" 1 + -fv "manipGlobalScale" 1.5 + -fv "manipHandleSize" 35 + -fv "manipLinePickSize" 1 + -fv "manipLineSize" 1 + -fv "manipMiddleMouseRepos" 0 + -fv "manipPreviousStateSize" 6 + -ca "markingMenuEditorAnnotations" + -sva "markingMenuEditorAnnotations" "ChangePanelLayout" + -sva "markingMenuEditorAnnotations" "ChangePanelType" + -sva "markingMenuEditorAnnotations" "ControlPaneVisibility" + -sva "markingMenuEditorAnnotations" "ChangeSelectionMask" + -sva "markingMenuEditorAnnotations" "CommonModelingPanes" + -sva "markingMenuEditorAnnotations" "PA_Style_LMB" + -sva "markingMenuEditorAnnotations" "PA_Style_MMB" + -sva "markingMenuEditorAnnotations" "PA_Style_RMB" + -ca "markingMenuEditorDisplayAsMMFlags" + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -ca "markingMenuEditorFilenames" + -sva "markingMenuEditorFilenames" "menu_ChangePanelLayout" + -sva "markingMenuEditorFilenames" "menu_ChangePanelType" + -sva "markingMenuEditorFilenames" "menu_ControlPaneVisibility" + -sva "markingMenuEditorFilenames" "menu_ChangeSelectionMask" + -sva "markingMenuEditorFilenames" "menu_CommonModelingPanes" + -sva "markingMenuEditorFilenames" "menu_PA_Style_LMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_MMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_RMB"; +optionVar + -ca "markingMenuEditorIsNamedCommandFlags" + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iv "maxImageSizeForSwatchGen" 2000 + -iv "maxTextureResolution" 4096 + -iv "mayaMacButtonMap" 3 + -sv "mayaMode" "animationMenuSet" + -iv "miCacheOptimFileTextures" 0 + -iv "miFileTextureCacheConversionScope" 1 + -sv "miFileTextureCacheLocation" "" + -iv "miFileTextureCacheStorageMode" 0 + -iv "miUseMayaAlphaDetection" 0; +optionVar + -ca "minorNodeTypes" + -iva "minorNodeTypes" 1397509968 + -iva "minorNodeTypes" 1330007124 + -iva "minorNodeTypes" 1330792012 + -iva "minorNodeTypes" 1330529868 + -iva "minorNodeTypes" 1330464332 + -iva "minorNodeTypes" 1330004308 + -iva "minorNodeTypes" 1330923084 + -iva "minorNodeTypes" 1330857548 + -iva "minorNodeTypes" 1196576848 + -iva "minorNodeTypes" 1145918537 + -iva "minorNodeTypes" 1280070484 + -iva "minorNodeTypes" 1314083656 + -iva "minorNodeTypes" 1313166152 + -iva "minorNodeTypes" 1297435724 + -iva "minorNodeTypes" 1145390668 + -iva "minorNodeTypes" 1347441492 + -iva "minorNodeTypes" 1380209484 + -iva "minorNodeTypes" 1146246476 + -iva "minorNodeTypes" 1380206412 + -iva "minorNodeTypes" 1380404290 + -iva "minorNodeTypes" 1381061953 + -iva "minorNodeTypes" 1380734030 + -iva "minorNodeTypes" 1146441300 + -iva "minorNodeTypes" 1196443972 + -iva "minorNodeTypes" 1213812812 + -iva "minorNodeTypes" 1213812818 + -iv "minorNodeTypesDisplay" 0 + -iv "modelWithToolAlignCurve" 0 + -iv "modelWithToolAlignSurface" 0 + -iv "modelWithToolAttachCurve" 0 + -iv "modelWithToolAttachSurface" 0 + -iv "modelWithToolBevel" 0 + -iv "modelWithToolBoundary" 0 + -iv "modelWithToolCircFillet" 0 + -iv "modelWithToolCloseCurve" 0; +optionVar + -iv "modelWithToolCloseSurface" 0 + -iv "modelWithToolCutCurve" 0 + -iv "modelWithToolCvHardness" 0 + -iv "modelWithToolDetachCurve" 0 + -iv "modelWithToolDetachSurface" 0 + -iv "modelWithToolDuplCurve" 0 + -iv "modelWithToolDuplicateSurface" 0 + -iv "modelWithToolExtendCosCurve" 0 + -iv "modelWithToolExtendCurve" 0 + -iv "modelWithToolExtendSurface" 0; +optionVar + -iv "modelWithToolExtrude" 0 + -iv "modelWithToolFilletCurve" 0 + -iv "modelWithToolFitBspline" 0 + -iv "modelWithToolFreeFillet" 0 + -iv "modelWithToolGlobalStitch" 0 + -iv "modelWithToolInsertCurve" 0 + -iv "modelWithToolInsertSurface" 0 + -iv "modelWithToolIntersect" 0 + -iv "modelWithToolIntersectCurve" 0 + -iv "modelWithToolLoft" 0; +optionVar + -iv "modelWithToolOffsetCoS" 0 + -iv "modelWithToolOffsetCurve" 0 + -iv "modelWithToolOffsetSurface" 0 + -iv "modelWithToolPlanar" 0 + -iv "modelWithToolProject" 0 + -iv "modelWithToolProjectTangent" 0 + -iv "modelWithToolRebuildCurve" 0 + -iv "modelWithToolRebuildSurface" 0 + -iv "modelWithToolReverseCurve" 0 + -iv "modelWithToolReverseSurface" 0; +optionVar + -iv "modelWithToolRevolve" 0 + -iv "modelWithToolSmoothCurve" 0 + -iv "modelWithToolSquareSrf" 0 + -iv "modelWithToolUntrim" 0 + -sv "moveKeyContext" "moveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" -moveFunction \"constant\" moveKeyContext" + -iv "multiListerPanel1BottomListerActiveTab" 1 + -ca "multiListerPanel1BottomListerCmds" + -sva "multiListerPanel1BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerCount" 1 + -ca "multiListerPanel1BottomListerLabels" + -sva "multiListerPanel1BottomListerLabels" "Textures" + -ca "multiListerPanel1BottomListerNames" + -sva "multiListerPanel1BottomListerNames" "multiListerPanel1BottomTab1"; +optionVar + -iv "multiListerPanel1BottomListerTabHeight" 50 + -iv "multiListerPanel1ButtonBar" 1 + -sv "multiListerPanel1NewTabFilter" "DefaultSGLightShapesFilter" + -iv "multiListerPanel1TopListerActiveTab" 1 + -ca "multiListerPanel1TopListerCmds" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab4" + -iv "multiListerPanel1TopListerCount" 4 + -ca "multiListerPanel1TopListerLabels" + -sva "multiListerPanel1TopListerLabels" "General" + -sva "multiListerPanel1TopListerLabels" "Materials" + -sva "multiListerPanel1TopListerLabels" "Lights" + -sva "multiListerPanel1TopListerLabels" "Cameras" + -ca "multiListerPanel1TopListerNames" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab4" + -sv "multiListerPanel1WorkArea" "single" + -iv "multiListerPanel1WorkAreaHeight" 33; +optionVar + -sv "nameOfHotBoxC1MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC2MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC3MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxE1MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE2MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE3MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxN1MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN2MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN3MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxS1MarkingMenu" "ChangePanelType"; +optionVar + -sv "nameOfHotBoxS2MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS3MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxW1MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW2MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW3MarkingMenu" "ChangeSelectionMask" + -iv "newCurveDisplayCV" 0 + -iv "newCurveDisplayEP" 0 + -iv "newCurveDisplayHull" 0 + -iv "newNurbsIsoparms" 0 + -iv "newNurbsPointsShaded" 4; +optionVar + -iv "newNurbsPointsWire" 5 + -iv "newPolyBackFaceCull" 0 + -iv "newPolyBorderEdgeHilite" 0 + -fv "newPolyBorderEdgeSize" 2 + -iv "newPolyBorderMapHilite" 0 + -iv "newPolyColorChannel" 3 + -iv "newPolyColorShaded" 0 + -iv "newPolyCreaseEdgeHilite" 1 + -iv "newPolyCreaseVertexHilite" 1 + -iv "newPolyEdgeDisp" 0; +optionVar + -iv "newPolyFacetCentreDisp" 0 + -iv "newPolyFacetNormalDisp" 0 + -iv "newPolyFacetTrngleDisp" 0 + -iv "newPolyFacetWarpDisp" 0 + -iv "newPolyMaterialBlend" 1 + -fv "newPolyNormalSize" 0.4 + -iv "newPolyNumEdgeDisp" 0 + -iv "newPolyNumFacetDisp" 0 + -iv "newPolyNumUvDisp" 0 + -iv "newPolyNumVertexDisp" 0; +optionVar + -fv "newPolyUVSize" 4 + -iv "newPolyVertexNormals" 0 + -fv "newPolyVertexSize" 3 + -iv "newPolyVtxBackCull" 1 + -iv "newPolyVtxDisp" 0 + -sv "newScenePanelConfiguration" "Single Perspective View" + -iv "newSurfaceDisplayCV" 0 + -iv "newSurfaceDisplayEP" 0 + -iv "newSurfaceDisplayHull" 0 + -iv "newSurfaceDisplayOrigin" 0; +optionVar + -iv "numShelves" 16 + -iv "nurbsPrimitiveAsToolExitOnComplete" 1 + -sv "nurbsSelect" "selectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" nurbsSelect" + -iv "objectDetailsVisibility" 0 + -iv "oneTimeDefaultPluginLoad50" 1 + -iv "oneTimeDefaultPluginLoad65" 1 + -iv "oneTimeDefaultPluginLoad70" 1 + -iv "oneTimeDefaultPluginLoad80" 1 + -iv "oneTimeUnlimitedPluginLoad30" 1 + -sv "outTangentType" "clamped"; +optionVar + -sv "outlinerEditorStateString" " outlinerEditor -e \n -showShapes 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName" + -sv "paramDimContext" "paramDimContext -e -image1 \"paramDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" paramDimContext" + -sv "performanceSettingBindSkinAndFlexors" "0" + -sv "performanceSettingBlendShapes" "0" + -sv "performanceSettingClusterResolution" "0" + -sv "performanceSettingClusters" "0" + -sv "performanceSettingFlexors" "0" + -fv "performanceSettingGlobalClusterResolution" 5 + -fv "performanceSettingGlobalLatticeResolution" 0.01 + -sv "performanceSettingLatticeResolution" "0"; +optionVar + -sv "performanceSettingLattices" "0" + -sv "performanceSettingPaintEffects" "0" + -sv "performanceSettingSculpts" "0" + -sv "performanceSettingStitchSurfaces" "0" + -sv "performanceSettingTrimDisplay" "0" + -sv "performanceSettingWires" "0" + -iv "planarTrimPolys" 0 + -fv "playbackMax" 24 + -fv "playbackMaxDefault" 24 + -fv "playbackMaxRange" 48; +optionVar + -fv "playbackMaxRangeDefault" 48 + -fv "playbackMin" 1 + -fv "playbackMinDefault" 1 + -fv "playbackMinRange" 1 + -fv "playbackMinRangeDefault" 1 + -iv "playbackRangeVisible" 1 + -sv "playblastFile" "playblast" + -sv "polyAppendFacetContext" "polyAppendFacetCtx -e -image1 \"polyAppendFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 1\n-subdivision 1\n-texture 1\n-rotate 0\n-isRotateAvailable 0\n-planarConstraint 1\n-maximumNumberOfPoints -1\npolyAppendFacetContext" + -iv "polyAutoConvertAction" 1 + -iv "polyAutoInstallAction" 0; +optionVar + -iv "polyAutoShowColorPerVertex" 1 + -iv "polyCount" 0 + -iv "polyCountVisibility" 0 + -sv "polyCreaseContext" "polyCreaseCtx -e -image1 \"polyCrease.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -extendSelection 0\n-relative 0\npolyCreaseContext" + -sv "polyCreateFacetContext" "polyCreateFacetCtx -e -image1 \"polyCreateFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 0\n-subdivision 1\n-texture 1\n-planarConstraint 1\n-maximumNumberOfPoints -1\npolyCreateFacetContext" + -iv "polyCreateMeshesSingleSided" 0 + -sv "polyCutContext" "polyCutCtx -e -image1 \"polyCut.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -deleteFaces 0\n-extractFaces 0\n-extractOffset 0.5 0.5 0.5 polyCutContext" + -fv "polyDefaultTangentSmoothingAngle" 0 + -iv "polyDefaultTangentSpace" 0 + -iv "polyDisplayDisplayBackfaceCulling" 0; +optionVar + -iv "polyDisplayHardEdgeBackfaceCulling" 0 + -iv "polyDisplayLimitedToSelectedOV" 1 + -iv "polyDisplayWireBackfaceCulling" 0 + -iv "polyFaceSensitive" 0 + -iv "polyKeepFacetsGrouped" 1 + -sv "polyMergeEdgeContext" "polyMergeEdgeCtx -e -image1 \"polyMergeEdge.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 1\n-firstEdge -1\n-secondEdge -1\n-mergeTexture 0\npolyMergeEdgeContext" + -sv "polyMergeFacetContext" "polyMergeFacetCtx -e -image1 \"polyMergeFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 6\n-firstFacet -1\n-secondFacet -1\npolyMergeFacetContext" + -iv "polyPrimitiveAsToolExitOnComplete" 1 + -sv "polySelectContext" "polySelectCtx -e -image1 \"polySelectTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\npolySelectContext" + -sv "polySelectEditContext" "polySelectEditCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-autoComplete 1\n-divisions 2\n-useEqualMultiplier 0\n-fixQuads 1\n-smoothingAngle 0\n-splitType 1\npolySelectEditContext"; +optionVar + -sv "polySlideEdgeContext" "polySlideEdgeCtx -e -image1 \"slideEdgeTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -edgeDirection 0\n-direction 0\n-absolute 0\n-useSnapping 1\n-snappingTolerance 0.1\n-snappingPoints 1\npolySlideEdgeContext" + -sv "polySplitContext" "polySplitCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivision 1\n-precsnap 10\n-magnetsnap 1\n-enablesnap 1\n-snaptoedge 1\n-smoothingangle 0\npolySplitContext" + -sv "polyVertexNormalEdit" "polyVertexNormalCtx -e -image1 \"vertexNormalEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -rotatemode 0\n-relativemode 0\n-lockmode 0\npolyVertexNormalEdit" + -iv "popUpHelpMode" 1 + -iv "popupMenuSelection" 0 + -fv "positionalTolerance" 0.01 + -sv "preferredRenderer" "mayaSoftware" + -sv "proxyOptionsNewProxyTag" "" + -sv "proxyOptionsNewReferenceTag" "" + -sv "proxyOptionsProxyTag" ""; +optionVar + -sv "proxyOptionsReferenceTag" "" + -iv "proxyOptionsUseNewProxyTag" 1 + -iv "proxyOptionsUseNewReferenceTag" 1 + -sv "quickFieldMode" "Abs" + -ca "quickPanelButtonLayout" + -sva "quickPanelButtonLayout" "Single Perspective View" + -sva "quickPanelButtonLayout" "Four View" + -sva "quickPanelButtonLayout" "Persp/Outliner" + -sva "quickPanelButtonLayout" "Persp/Graph" + -sva "quickPanelButtonLayout" "Hypershade/Persp" + -sva "quickPanelButtonLayout" "Persp/Graph/Hypergraph" + -iv "rebuildSurfacePolys" 0 + -iv "refreshMode" 0 + -sv "remoteHelpUrl" "" + -iv "renderLayerMerge" 0 + -iv "renderViewAutoRenderRegion" 0; +optionVar + -iv "renderViewAutoResize" 1 + -iv "renderViewRenderAllLayers" 0 + -iv "renderViewRenderLayersMode" 0 + -iv "renderViewRenderSelectedObj" 0 + -iv "renderViewTestResolution" 1 + -sv "renderWindowSelectContextItem" "renderWindowSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" renderWindowSelectContextItem" + -sv "renderedImageName" "test" + -iv "revolveOutputPolygons" 0 + -sv "rollContext" "rollCtx -e -image1 \"roll.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Roll Tool\" -rollScale 1\nrollContext" + -iv "rotationInterpolationDefault" 1; +optionVar + -iv "saveActionsPreferences" 1 + -iv "saveActionsScriptEditor" 1 + -iv "saveWindowPos" 1 + -sv "scaleKeyContext" "scaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"manip\" -scaleSpecifiedKeys 1\nscaleKeyContext" + -iv "selectAffectsActive" 1 + -iv "selectClickDrag" 0 + -sv "selectKeyContext" "selectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyContext" + -sv "selectKeyframeRegionContext" "selectKeyframeRegionCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyframeRegionContext" + -sv "selectPrefPriorityMode" "animation" + -iv "selectSingleMarquee" 0; +optionVar + -iv "selectedShelf" 4 + -sv "setEditContext" "setEditCtx -e -image1 \"setEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" setEditContext" + -sv "setKeyContext" "setKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nsetKeyContext" + -iv "shadeTemplates" 0 + -sv "shelfFile1" "shelf_General" + -sv "shelfFile10" "shelf_PaintEffects" + -sv "shelfFile11" "shelf_Toon" + -sv "shelfFile12" "shelf_Fluids" + -sv "shelfFile13" "shelf_Fur" + -sv "shelfFile14" "shelf_Hair"; +optionVar + -sv "shelfFile15" "shelf_nCloth" + -sv "shelfFile16" "shelf_Custom" + -sv "shelfFile2" "shelf_Curves" + -sv "shelfFile3" "shelf_Surfaces" + -sv "shelfFile4" "shelf_Polygons" + -sv "shelfFile5" "shelf_Subdivs" + -sv "shelfFile6" "shelf_Deformation" + -sv "shelfFile7" "shelf_Animation" + -sv "shelfFile8" "shelf_Dynamics" + -sv "shelfFile9" "shelf_Rendering"; +optionVar + -sv "shelfItemSize" "Small" + -sv "shelfItemStyle" "iconOnly" + -iv "shelfLoad1" 1 + -iv "shelfLoad10" 1 + -iv "shelfLoad11" 1 + -iv "shelfLoad12" 1 + -iv "shelfLoad13" 1 + -iv "shelfLoad14" 1 + -iv "shelfLoad15" 1 + -iv "shelfLoad16" 1; +optionVar + -iv "shelfLoad2" 1 + -iv "shelfLoad3" 1 + -iv "shelfLoad4" 1 + -iv "shelfLoad5" 1 + -iv "shelfLoad6" 1 + -iv "shelfLoad7" 1 + -iv "shelfLoad8" 1 + -iv "shelfLoad9" 1 + -sv "shelfName1" "General" + -sv "shelfName10" "PaintEffects"; +optionVar + -sv "shelfName11" "Toon" + -sv "shelfName12" "Fluids" + -sv "shelfName13" "Fur" + -sv "shelfName14" "Hair" + -sv "shelfName15" "nCloth" + -sv "shelfName16" "Custom" + -sv "shelfName2" "Curves" + -sv "shelfName3" "Surfaces" + -sv "shelfName4" "Polygons" + -sv "shelfName5" "Subdivs"; +optionVar + -sv "shelfName6" "Deformation" + -sv "shelfName7" "Animation" + -sv "shelfName8" "Dynamics" + -sv "shelfName9" "Rendering" + -iv "shelfTabsVisible" 1 + -sv "shelvesLastUpdated" "2008" + -iv "showCustomMenuSetsMenusInHotBox" 1 + -iv "showGrid" 1 + -iv "showLearningMoviesOnStartup" 1 + -iv "showLineNumbersIsOn" 0; +optionVar + -sv "showManip3D" "" + -sv "showManipTextureContext" "texManipContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" showManipTextureContext" + -iv "showStatusFiles" 1 + -iv "showStatusHistory" 1 + -iv "showStatusInputField" 1 + -iv "showStatusRender" 1 + -iv "showStatusSelectMasks" 1 + -iv "showStatusSelectMode" 1 + -iv "showStatusSelectionSet" 0 + -iv "showStatusSnap" 1; +optionVar + -iv "smpSizeOfMeshForWarning" 15000 + -iv "snapMagnet" 0 + -fv "snapMagnetTolerance" 0.1 + -sv "snapTogetherToolCtx" "snapTogetherCtx -e -image1 \"snapTogetherTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -setOrientation 1\n-clearSelection 1\n-snapPolygonFace 0\nsnapTogetherToolCtx" + -iv "snapTolerance" 20 + -iv "snapUVTolerance" 25 + -iv "squareSrfPolys" 0 + -iv "stackTraceIsOn" 0 + -iv "statusLineVisible" 1 + -iv "subdivComponentDisplayStyle" 0; +optionVar + -iv "sweepOutputPolygons" 0 + -sv "symmetricModellingAboutOption" "origin" + -sv "symmetricModellingAxisOption" "x" + -iv "symmetricModellingOption" 0 + -fv "symmetricModellingToleranceValue" 0.001 + -fv "tangentialTolerance" 0.1 + -sv "texLatticeDeformCtx" "texLatticeDeformContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-snapPixelMode 0\n-useBoundingRect 1\ntexLatticeDeformCtx" + -sv "texMoveContext" "texMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snapComponentsRelative 0\n-snapPixelMode 1\ntexMoveContext" + -sv "texMoveUVShellCtx" "texMoveUVShellContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mask 1\n-iterations 16\n-shellBorder 0.3\ntexMoveUVShellCtx" + -sv "texRotateContext" "texRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" texRotateContext"; +optionVar + -sv "texScaleContext" "texScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" texScaleContext" + -sv "texSmudgeUVCtx" "texSmudgeUVContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -effectType \"fixed\" -functionType \"exponential\" -radius 0.075\n-pressure 0.01\n-dragSlider \"none\" -smudgeIsMiddle 0\ntexSmudgeUVCtx" + -iv "timeSliderHeight" 28 + -fv "timeSliderMaxPlaySpeed" 0 + -fv "timeSliderPlayBy" 1 + -sv "timeSliderPlayLoop" "continuous" + -fv "timeSliderPlaySpeed" 0 + -sv "timeSliderPlayView" "active" + -fv "timeSliderRepeatChunk" 1 + -iv "timeSliderRepeatOnHold" 0; +optionVar + -sv "timeSliderShowKeys" "active" + -iv "timeSliderSnapping" 1 + -sv "timeSliderSoundDisplay" "both" + -iv "timeSliderTickSize" 1 + -iv "timeSliderTimeCode" 0 + -sv "timeSliderTimeCodeOffset" "00:00:00:00" + -iv "timeSliderVisible" 1 + -iv "toggleOriginAxis" 0 + -iv "toolMessageHorizontalOffset" 0 + -fv "toolMessageTime" 0.7; +optionVar + -iv "toolMessageVerticalOffset" -40 + -iv "toolMessageVisible" 1 + -iv "toolSettingsInMainWindow" 1 + -iv "toolSettingsVisible" 0 + -iv "toolboxVisible" 1 + -fv "totalAnimateRollTime" 0.5 + -sv "track2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" track2dContext" + -sv "trackContext" "trackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Track Tool\" -trackGeometry 0\n-trackScale 1\ntrackContext" + -sv "tracktwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" tracktwContext" + -sv "transformTexSelectContext" "texSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" transformTexSelectContext"; +optionVar + -sv "tumbleContext" "tumbleCtx -e -image1 \"tumble.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Tumble Tool\" -tumbleScale 1\n-objectTumble 0\n-localTumble 1\n-autoOrthoConstrain 1\n-orthoStep 5\n-orthoLock 1\ntumbleContext" + -iv "undoIsEnabled" 1 + -iv "undoIsInfinite" 0 + -iv "undoLength" 50 + -sv "upAxisDirection" "y" + -iv "useDefaultFileExtensions" 1 + -iv "useNewScenePanelConfig" 1 + -iv "useSaveScenePanelConfig" 1 + -iv "useScenePanelConfig" 1 + -iv "useScrollWheel" 1; +optionVar + -iv "useSnapTolerance" 0 + -sv "userDefinedImageViewerCmdForImage" "" + -sv "userDefinedImageViewerCmdForSequence" "" + -iv "viewAxisVisibility" 1 + -iv "viewCubeFitToView" 1 + -fv "viewCubeInactiveOpacity" 0.5 + -iv "viewCubePreserveSceneUp" 1 + -sv "viewCubeScreenPosition" "topRight" + -iv "viewCubeShowCube" 1 + -sv "viewCubeSize" "normal"; +optionVar + -iv "viewCubeSnapToClosest" 1 + -iv "weightedTangents" 0 + -sv "wireCtx" "wireContext -e -image1 \"wire.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -holder 0\n-groupWithBase 0\n-envelope 1\n-crossingEffect 0\n-dropoffDistance 1\n-localInfluence 0\n-deformationOrder \"Default\" -exclusivePartition \"deformPartition\" -exclusive 0\nwireCtx" + -iv "wireframeOnShadedActive" 1 + -sv "workingUnitAngular" "deg" + -sv "workingUnitAngularDefault" "deg" + -sv "workingUnitLinear" "cm" + -sv "workingUnitLinearDefault" "cm" + -sv "workingUnitTime" "film" + -sv "workingUnitTimeDefault" "film"; +optionVar + -sv "wrinkleCtx" "wrinkleContext -e -image1 \"wrinkle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -style \"radial\" -wrinkleCount 3\n-branchCount 2\n-branchDepth 0\n-wrinkleIntensity 0.5\n-thickness 1\n-randomness 0.2\nwrinkleCtx" + -sv "yawPitchContext" "orbitCtx -e -image1 \"yawPitch.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Yaw-Pitch Tool\" -orbitScale 1\n-localOrbit 0\nyawPitchContext"; + +panelConfiguration -label (localizedPanelLabel("Current Layout")) + -defaultImage "" + -image "" + -sc false + -configString "paneLayout -e -cn \"single\" $gMainPane" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Single Perspective View")) + -defaultImage "singlePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"single\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Four View")) + -defaultImage "fourViewLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"quad\" $gMainPane" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Top View\")) -cam `findStartUpCamera top`;}" + "modelPanel -e -label (localizedPanelLabel(\"Top View\")) -cam `findStartUpCamera top` $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Side View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Side View\")) -cam `findStartUpCamera side`;}" + "modelPanel -e -label (localizedPanelLabel(\"Side View\")) -cam `findStartUpCamera side` $panelName" + -ap true + (localizedPanelLabel("Front View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Front View\")) -cam `findStartUpCamera front`;}" + "modelPanel -e -label (localizedPanelLabel(\"Front View\")) -cam `findStartUpCamera front` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Hypergraph")) + -defaultImage "perspHypergraphLayout.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -label (localizedPanelLabel(\"Hypergraph\"));}" + "scriptedPanel -e -label (localizedPanelLabel(\"Hypergraph\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Hypergraph")) + -defaultImage "perspGraphHypergraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"top3\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -label (localizedPanelLabel(\"Hypergraph\"));}" + "scriptedPanel -e -label (localizedPanelLabel(\"Hypergraph\")) $panelName" + -ap true + (localizedPanelLabel("Graph Editor")) + "graphEditorPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -label (localizedPanelLabel(\"Graph Editor\"));}" + "scriptedPanel -e -label (localizedPanelLabel(\"Graph Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp")) + -defaultImage "hypershadeRenderPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t-cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Render View\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Render View\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Outliner/Persp")) + -defaultImage "hypershadeOutlinerPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Persp")) + -defaultImage "hypershadePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Outliner")) + -defaultImage "perspOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 20 100 -ps 2 80 100 $gMainPane;" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Outliner")) + -defaultImage "perspGraphOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -label (localizedPanelLabel(\"Graph Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Graph Editor\")) $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax")) + -defaultImage "perspTraxLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -label (localizedPanelLabel(\"Trax Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Trax Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax/Outliner")) + -defaultImage "perspTraxOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -label (localizedPanelLabel(\"Trax Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Trax Editor\")) $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph")) + -defaultImage "perspGraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 46 -ps 2 100 54 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -label (localizedPanelLabel(\"Graph Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Graph Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Relationship Editor")) + -defaultImage "perspRelationshipEditorLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 61 -ps 2 100 39 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Relationship Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type relationshipPanel -unParent -label (localizedPanelLabel(\"Relationship Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Relationship Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/UV Texture Editor")) + -defaultImage "perspTextureLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("UV Texture Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -label (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -label (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName"; +panelConfiguration -label (localizedPanelLabel("Script Editor/Persp")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap false + (localizedPanelLabel("Script Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -label (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -label (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp Vertical")) + -defaultImage "hypershadeRenderPerspVerticalLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"right3\" -paneSize 1 50 100 -paneSize 2 50 50 -paneSize 3 50 50 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Render View\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Render View\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t-cam `findStartUpCamera persp` $panelName"; + + +autoKeyframe -state false ; +optionVar -fv gridSpacing 5 -fv gridDivisions 5 -fv gridSize 12 -intValue displayGridAxes 1 -intValue displayGridLines 1 -intValue displayDivisionLines 1 -intValue displayGridPerspLabels 0 -intValue displayGridOrthoLabels 0 -intValue displayGridAxesAccented 1 -stringValue displayGridPerspLabelPosition axis -stringValue displayGridOrthoLabelPosition edge; +nurbsToPolygonsPref -f 1 -ucr 0 -chr 0.9 -uch 0 -cht 1 -d 0.1 -es 0 -ft 0.01 -mel 0.001 -pc 200 -pt 0 -m 0 -mt 0.1 -mrt 0 -un 3 -ut 1 -vn 3 -vt 1 ; +nurbsCurveRebuildPref -fr 0 -rt 6 -d 3 -s 1 -tol 0.01 -end 1 -kr 1 -kep 1 -kt 0 -kcp 0 -scr 0; + +nurbsToSubdivPref -mpc 1000 -rn 1 -mp 1 -cp 1 -st 0 -ct 1 -br 0 -o 1 -t00 1 -t01 0 -t02 0 -t10 0 -t11 1 -t12 0 -t20 0 -t21 0 -t22 1 -t30 0 -t31 0 -t32 0 ; +ikSystem -e -sn true -ar false ; + + diff --git a/2009-x64/prefs/userPrefs_oldPaul.mel b/2009-x64/prefs/userPrefs_oldPaul.mel new file mode 100644 index 0000000..bed1b74 --- /dev/null +++ b/2009-x64/prefs/userPrefs_oldPaul.mel @@ -0,0 +1,4334 @@ +//Maya Preference 8.50 (Release 1) +// +// +keyTangent -global -inTangentType linear -outTangentType linear -weightedTangents true; +constructionHistory -tgl on; + +optionVar -version 3; +optionVar + -sv "" "C:/Graphics/Projects/" + -sv "3DSOptions" "" + -iv "AEpopupWhenCreatingShaders" 1 + -sv "Adobe(R) Illustrator(R)Options" "" + -sv "AgeOM" "age" + -sv "AimAxisOM" "None" + -sv "AimDirectionOM" "velocity" + -sv "AimPositionOM" "None" + -sv "AimUpAxisOM" "None" + -sv "AimWorldUpOM" "None" + -iv "CCchannelNames" 1; +optionVar + -iv "CCkeyAllSame" 1 + -iv "CClockAllSame" 1 + -iv "CEAutoUpdate" 1 + -iv "CEPrecision" 3 + -iv "CEShowAllCols" 1 + -iv "CEShowPathName" 1 + -iv "CESortAlpha" 1 + -iv "CEoperationType" 8 + -sv "CSB_DCOptions" "" + -sv "CreateNurbsCircleCtx" "createNurbsCircleCtx -e -image1 \"circle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -normalType 3\n-normal 0 0 1 -sweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-attachToSections 1\n-doDragEdit 0\nCreateNurbsCircleCtx"; +optionVar + -sv "CreateNurbsConeCtx" "createNurbsConeCtx -e -image1 \"cone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 8\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 1\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-height 0\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsConeCtx" + -sv "CreateNurbsCubeCtx" "createNurbsCubeCtx -e -image1 \"cube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 0\n-depth 0\n-height 0\n-attachToPatchesU 0\n-attachToPatchesV 0\n-doDragEdit 0\nCreateNurbsCubeCtx" + -sv "CreateNurbsCylinderCtx" "createNurbsCylinderCtx -e -image1 \"cylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 12\n-spans 50\n-axisType 1\n-axis 1 0 0 -surfaceDegree 3\n-caps 3\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-height 250\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsCylinderCtx" + -sv "CreateNurbsPlaneCtx" "createNurbsPlaneCtx -e -image1 \"plane.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 0\n-height 0\n-attachToPatchesU 0\n-attachToPatchesV 0\n-doDragEdit 0\nCreateNurbsPlaneCtx" + -sv "CreateNurbsSphereCtx" "createNurbsSphereCtx -e -image1 \"sphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axisType 2\n-axis 0 1 0 -startSweep 0\n-endSweep 180\n-degree 3\n-useTolerance 0\n-sections 8\n-spans 4\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsSphereCtx" + -sv "CreateNurbsSquareCtx" "createNurbsSquareCtx -e -image1 \"square.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 0\n-height 0\n-attachToSpans 0\n-doDragEdit 0\nCreateNurbsSquareCtx" + -sv "CreateNurbsTorusCtx" "createNurbsTorusCtx -e -image1 \"torus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-minorSweep 360\n-minorRadius 0.5\n-sections 8\n-spans 4\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 0\n-attachToSections 0\n-attachToSpans 0\n-attachToHeightRatio 0\n-doDragEdit 0\nCreateNurbsTorusCtx" + -sv "CreatePolyConeCtx" "createPolyConeCtx -e -image1 \"polyCone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 1\n-subdivisionsDepth 0\n-radius 0\n-height 0\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyConeCtx" + -sv "CreatePolyCubeCtx" "createPolyCubeCtx -e -image1 \"polyCube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-subdivisionsDepth 1\n-width 0\n-depth 0\n-height 0\n-createUVs 4\n-attachToSubdivisionsDepth 0\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsWidth 0\n-attachToSubdivisionsAll 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCubeCtx" + -sv "CreatePolyCylinderCtx" "createPolyCylinderCtx -e -image1 \"polyCylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 16\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 0\n-height 0\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCylinderCtx"; +optionVar + -sv "CreatePolyHelixCtx" "createPolyHelixCtx -e -image1 \"polyHelix.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 8\n-subdivisionsCoil 50\n-subdivisionsCap 0\n-roundCap 0\n-coils 3\n-height 0\n-width 0\n-radius 0\n-direction 1\n-createUVs 3\n-attachToSubdivisionsCoil 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-attachToNumberCoils 0\n-attachToRadius 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyHelixCtx" + -sv "CreatePolyPipeCtx" "createPolyPipeCtx -e -image1 \"polyPipe.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 0\n-height 0\n-thickness 0\n-roundCap 0\n-createUVs 1\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-attachToThickness 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPipeCtx" + -sv "CreatePolyPlaneCtx" "createPolyPlaneCtx -e -image1 \"polyMesh.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-width 1.63665e-010\n-height 1.22748e-010\n-createUVs 2\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsWidth 0\n-attachToSubdivisionsAll 0\n-axis 2\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlaneCtx" + -sv "CreatePolyPlatonicSolidCtx" "createPolyPlatonicSolidCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 0\n-sideLength 0\n-solidType 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlatonicSolidCtx" + -sv "CreatePolyPrismCtx" "createPolyPrismCtx -e -image1 \"polyPrism.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -numberOfSides 3\n-subdivisionsHeight 1\n-subdivisionsCap 0\n-length 0\n-sideLength 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-attachToNumSides 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPrismCtx" + -sv "CreatePolyPyramidCtx" "createPolyPyramidCtx -e -image1 \"polyPyramid.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsHeight 1\n-subdivisionsDepth 0\n-sideLength 0\n-numberOfSides 4\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPyramidCtx" + -sv "CreatePolySoccerBallCtx" "createPolySoccerBallCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 0\n-sideLength 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySoccerBallCtx" + -sv "CreatePolySphereCtx" "createPolySphereCtx -e -image1 \"polySphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 0\n-createUVs 2\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsAll 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySphereCtx" + -sv "CreatePolyTorusCtx" "createPolyTorusCtx -e -image1 \"polyTorus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 0\n-sectionRadius 0\n-twist 0\n-createUVs 1\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSectionRadius 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyTorusCtx" + -sv "CycleStartObjectOM" "None"; +optionVar + -sv "DAE_FBXOptions" "" + -iv "DAGOpenHyperGraphMode" 0 + -iv "DGOpenHyperGraphMode" 1 + -iv "DUVAntiAlias" 0 + -iv "DUVKeepAspect" 1 + -fv "DUVblue" 0 + -iv "DUVfileFormat" 8 + -fv "DUVgreen" 0 + -fv "DUVred" 1 + -iv "DUVresX" 1024; +optionVar + -iv "DUVresY" 1024 + -sv "DWG_DCOptions" "" + -sv "DXF_FBXOptions" "groups=0;ptgroups=0;materials=1;smoothing=0;normals=0" + -iv "EEexprEdTextEditor" 2 + -sv "EPSOptions" "" + -sv "FbxOptions" "" + -iv "HKLTHUDBlock" 9 + -iv "HKLTOrientationOnlyOpVar" 0 + -iv "HKLTPivotLockedOpVar" 0 + -ca "HKLTPreferedPivot" + -iva "HKLTPreferedPivot" 1 + -iva "HKLTPreferedPivot" 1 + -iva "HKLTPreferedPivot" 1 + -iva "HKLTPreferedPivot" 1; +optionVar + -iv "HfAssignHDAttach" 1 + -sv "IGES_DCOptions" "" + -sv "IV_DCOptions" "" + -iv "LT_replaceInst" 1 + -iv "LT_replaceRotate" 1 + -iv "LT_replaceScale" 1 + -sv "Move" "manipMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 0\n-activeHandle 3\n-orientAxes 0.785398 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-snap 0\n-snapRelative 0\n-reflection 0\n-reflectionAbout 0\n-reflectionAxis 0\n-reflectionTolerance 0.001\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\nMove" + -sv "MoveLimits" "manipMoveLimitsCtx -e -image1 \"moveLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" MoveLimits" + -sv "MoveNormal" "manipMoveContext -e -image1 \"moveNormal.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 3\n-activeHandle 3\n-orientAxes 0.785398 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-snap 0\n-snapRelative 0\n-reflection 0\n-reflectionAbout 0\n-reflectionAxis 0\n-reflectionTolerance 0.001\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\nMoveNormal" + -sv "OBJOptions" "mo=0"; +optionVar + -sv "OBJexportOptions" "groups=1;ptgroups=0;materials=1;smoothing=1;normals=1" + -sv "OMTLoad_connectComponents" "Load" + -sv "OMTLoad_extrudeComponent" "Load" + -sv "OMTLoad_overshoot" "Load" + -sv "OMTLoad_saveSelectionToggle" "Load" + -sv "OMTLoad_scalePosition" "Load" + -sv "OMTLoad_selectElement" "Load" + -sv "OMTLoad_selectLoop" "Load" + -sv "OMTLoad_selectOutline" "Load" + -sv "OMTLoad_selectRing" "Load"; +optionVar + -sv "OMTLoad_selectionDragger" "Load" + -sv "OMTLoad_spinEdge" "Load" + -sv "OMTLoad_splitAroundSelection" "Load" + -sv "OMTLoad_splitLoop" "Load" + -sv "OMTLoad_toggleSaveSelection" "Load" + -sv "OMTLoad_xrayToggle" "Load" + -sv "OMTSection_connectComponents" "General" + -sv "OMTSection_extrudeComponent" "General" + -sv "OMTSection_overshoot" "General" + -sv "OMTSection_saveSelectionToggle" "General"; +optionVar + -sv "OMTSection_scalePosition" "General" + -sv "OMTSection_selectElement" "General" + -sv "OMTSection_selectLoop" "General" + -sv "OMTSection_selectOutline" "General" + -sv "OMTSection_selectRing" "General" + -sv "OMTSection_selectionDragger" "General" + -sv "OMTSection_spinEdge" "General" + -sv "OMTSection_splitAroundSelection" "General" + -sv "OMTSection_splitLoop" "General" + -sv "OMTSection_toggleSaveSelection" "General"; +optionVar + -sv "OMTSection_xrayToggle" "General" + -sv "OMT_nVectorStyle" "Similiar" + -sv "OMT_ov_overshootSourceType" "Previous Key" + -sv "ObjectIndexOM" "None" + -sv "PIautoCycleOM" "None" + -fv "PIautoCycleStepSize" 1 + -sv "PIautoCycleStepUnitsOM" "Frames" + -iv "PIdisplayAllTypes" 0 + -sv "PIlevelOfDetailOM" "BoundingBoxes" + -sv "PIrotationOrderOM" "XYZ"; +optionVar + -sv "PIrotationUnitsOM" "Degrees" + -sv "PTC_DCOptions" "" + -iv "PolyBridgeEdgeCurveTypeOption" 0 + -iv "PolyBridgeEdgeDivisionsOption" 5 + -fv "PolyBridgeEdgeSmoothAngleOption" 30 + -fv "PolyBridgeEdgeTaperOption" 1 + -fv "PolyBridgeEdgeTwistOption" 0 + -iv "PolyForceUVCreateMapcamera" 0 + -iv "PolyForceUVCreateMapunitize" 0 + -iv "PolyForceUVFlipDirection" 1; +optionVar + -iv "PolyForceUVNormalizeCollectiveOrSeparate" 1 + -iv "PolyForceUVPreserveAspectRatio" 0 + -sv "PolyForceUVSetNamecamera" "uvSet1" + -sv "PolyForceUVSetNameunitize" "uvSet1" + -iv "PolyForceUVSpace" 1 + -fv "PolySelectEditDuplicateEdgeSmoothAngle" 180 + -iv "PolySelectEditSplitRingAbsolute" 0 + -sv "PolyTexShortestPath" "texSelectShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyTexShortestPath" + -sv "PolyViewPortShortestPath" "polyShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyViewPortShortestPath" + -sv "PositionOM" "worldPosition"; +optionVar + -sv "ProjectsDir" "C:/Graphics/Projects" + -sv "PropMod" "propModCtx -e -image1 \"propMod.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type 1\n-linear -0.1\n-linearParam 0.5 0.5 -powerCutoff 10\n-powerDegree 3\n-direction 1 1 1 -worldspace 1\n-powerCutoffParam 0.5 0.5 -powerDegreeParam 3\n-animCurveFalloff 1 1 PropMod" + -iv "RecentBackupsMaxSize" 10 + -iv "RecentBackupsMaxSizeHold" 10 + -ca "RecentFilesList" + -sva "RecentFilesList" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini/scenes/chain_and_skel_03.mb" + -sva "RecentFilesList" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini/scenes/chain_and_skel_04.mb" + -sva "RecentFilesList" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini/scenes/Molodowitch_Paul_Doghouse_Mini_0003.mb" + -sva "RecentFilesList" "C:/Documents and Settings/pmolodow/Desktop/Brick_Wall/scenes/brickwall_demo.mb" + -sva "RecentFilesList" "C:/Documents and Settings/pmolodow/Desktop/Brick_Wall/scenes/Molodowitch_Paul_Brickwall_0001.mb" + -sva "RecentFilesList" "C:/temp/DeleteMeIfYouNeedRoom/Brick_Wall/scenes/Molodowitch_Paul_Brickwall_0001.mb" + -sva "RecentFilesList" "C:/School/T&L1/Brick_Wall/scenes/Molodowitch_Paul_Brickwall_0002.mb" + -sva "RecentFilesList" "C:/Documents and Settings/Elrond/Desktop/Abbey_265-all4Sides_noSubDiv.sib" + -sva "RecentFilesList" "C:/School/T&L1/Doghouse_Mini/scenes/Molodowitch_Paul_Doghouse_Mini_0003.mb" + -sva "RecentFilesList" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini/scenes/Molodowitch_Paul_Doghouse_Mini_0005.mb" + -iv "RecentFilesMaxSize" 10 + -ca "RecentFilesTypeList" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "silo (sib|sia)" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -ca "RecentProjectsList" + -sva "RecentProjectsList" "C:/School/Animation 1 take 2/Mr_Pink" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Mr_Pink" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Doghouse" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Lighting_Test" + -sva "RecentProjectsList" "C:/School/T&L1/Environment" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Environment" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Character" + -sva "RecentProjectsList" "C:/Documents and Settings/Paul/Desktop/Test_Project" + -sva "RecentProjectsList" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini" + -sva "RecentProjectsList" "C:/Documents and Settings/pmolodow/Desktop/Brick_Wall" + -iv "RecentProjectsMaxSize" 10 + -iv "RecentProjectsMaxSizeHold" 10; +optionVar + -sv "Rotate" "manipRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-activeHandle 1\n-snap 0\n-snapRelative 0\n-snapValue 15\n-reflection 0\n-reflectionAbout 0\n-reflectionAxis 0\n-reflectionTolerance 0.001\n-useObjectPivot 0\n-centerTrackball 1\n-editPivotMode 0\nRotate" + -sv "RotateLimits" "manipRotateLimitsCtx -e -image1 \"rotateLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" RotateLimits" + -sv "RotationOM" "None" + -sv "RotationTypeOM" "None" + -iv "SDKclearOnLoad" 1 + -iv "SDKselectListItems" 1 + -iv "SDKshowNonKeyable" 0 + -iv "SDKshowShapes" 0 + -sv "STEP_DCOptions" "" + -sv "STL_DCOptions" ""; +optionVar + -sv "SW_DCOptions" "" + -sv "Scale" "manipScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -activeHandle 3\n-snap 0\n-snapRelative 1\n-snapValue 0.05\n-reflection 0\n-reflectionAbout 0\n-reflectionAxis 0\n-reflectionTolerance 0.001\n-useObjectPivot 0\n-editPivotMode 0\nScale" + -sv "ScaleLimits" "manipScaleLimitsCtx -e -image1 \"scaleLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" ScaleLimits" + -sv "ScaleOM" "None" + -ca "ScriptEditorExecuterBackupArray" + -sva "ScriptEditorExecuterBackupArray" "commandExecuter" + -sva "ScriptEditorExecuterBackupArray" "commandExecuter-0" + -ca "ScriptEditorExecuterLabelArray" + -sva "ScriptEditorExecuterLabelArray" "MEL" + -sva "ScriptEditorExecuterLabelArray" "Python" + -iv "ScriptEditorExecuterTabIndex" 1 + -ca "ScriptEditorExecuterTypeArray" + -sva "ScriptEditorExecuterTypeArray" "mel" + -sva "ScriptEditorExecuterTypeArray" "python" + -sv "SelectLasso" "lassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\n-fastComponents 1\nSelectLasso" + -sv "ShearOM" "None"; +optionVar + -sv "TextureLasso" "textureLassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\nTextureLasso" + -sv "Transform" "srtContext -e -image1 \"srt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" Transform" + -sv "VisibilityOM" "None" + -iv "aTan_flatten" 0 + -fv "aTan_softness" 0 + -iv "acAsWindow" 0 + -iv "acPrefAnnotation" 1 + -iv "acPrefBreakCBtn" 1 + -iv "acPrefDelKBtn" 1 + -iv "acPrefDeleteBtn" 1; +optionVar + -iv "acPrefEditBtn" 1 + -iv "acPrefEnableColorButtons" 0 + -iv "acPrefEnableSliders" 1 + -iv "acPrefFieldSize" 80 + -iv "acPrefInitAnnotation" 0 + -iv "acPrefLabelSize" 140 + -iv "acPrefLockUI" 0 + -iv "acPrefNameStyle" 3 + -iv "acPrefSelectBtn" 1 + -iv "acPrefSetKBtn" 1; +optionVar + -iv "acPrefSliderSize" 160 + -iv "activeObjectPivots" 0 + -iv "aeInMainWindow" 0 + -iv "aimConstMaintainOffset" 0 + -fv "aimConstOffsetX" 0 + -fv "aimConstOffsetY" 0 + -fv "aimConstOffsetZ" 0 + -iv "aimConstraintAddTargets" 1 + -ca "aimConstraintAimVector" + -fva "aimConstraintAimVector" 0 + -fva "aimConstraintAimVector" 0 + -fva "aimConstraintAimVector" -1 + -iv "aimConstraintAxisX" 1; +optionVar + -iv "aimConstraintAxisY" 1 + -iv "aimConstraintAxisZ" 1 + -ca "aimConstraintUpVector" + -fva "aimConstraintUpVector" 0 + -fva "aimConstraintUpVector" 1 + -fva "aimConstraintUpVector" 0 + -fv "aimConstraintWeight" 1 + -sv "aimConstraintWorldUpObject" "" + -sv "aimConstraintWorldUpType" "vector" + -ca "aimConstraintWorldUpVector" + -fva "aimConstraintWorldUpVector" 0 + -fva "aimConstraintWorldUpVector" 1 + -fva "aimConstraintWorldUpVector" 0 + -iv "ajrAS_iEnabled" 1 + -iv "ajrAS_iNotify" 1 + -iv "ajrAS_iSaveCopies" 5; +optionVar + -iv "ajrAS_iSelectTrigger" 15 + -iv "ajrAS_iUseTime" 1 + -sv "ajrAS_sBackupDir" "scenes" + -iv "alignAttach" 0 + -iv "alignCurvature" 0 + -fv "alignCurvatureScale1" 0 + -fv "alignCurvatureScale2" 1 + -iv "alignCurveEuc" 0 + -iv "alignCurveLac" 1 + -iv "alignKeepMultKnots" 1; +optionVar + -iv "alignKeepOriginal" 1 + -iv "alignPositionalType" 4 + -iv "alignSurfaceEuc" 0 + -iv "alignSurfaceLac" 1 + -iv "alignTangent" 1 + -fv "alignTangentScale1" 1 + -fv "alignTangentScale2" 1 + -iv "alignTangentType" 1 + -sv "alignToolCtx" "alignCtx -e -image1 \"alignTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -anchorFirstObject 0\n-showAlignTouch 1\nalignToolCtx" + -iv "alignatl" 0; +optionVar + -iv "alignaxisX" 0 + -iv "alignaxisY" 1 + -iv "alignaxisZ" 0 + -sv "alignmode" "Stack" + -iv "allMainWindowComponentsVisible" 1 + -iv "allowMenusInPanels" 1 + -ca "ambientLightColor" + -fva "ambientLightColor" 1 + -fva "ambientLightColor" 1 + -fva "ambientLightColor" 1 + -fv "ambientLightIntensity" 1 + -fv "ambientLightShade" 0.45 + -ca "ambientLightShadowColor" + -fva "ambientLightShadowColor" 0 + -fva "ambientLightShadowColor" 0 + -fva "ambientLightShadowColor" 0; +optionVar + -iv "ambientLightShadowSamples" 1 + -iv "ambientLightShadows" 0 + -iv "animBlendingOpt" 1 + -iv "animExportAnimationFile" 1 + -sv "animExportOptions" "precision=17;intValue=17;nodeNames=0;verboseUnits=0;whichRange=2;range=0:35;options=keys;hierarchy=none;controlPoints=0;shapes=0;helpPictures=0;useChannelBox=0;copyKeyCmd=-animation objects -time >0:35> -float >0:35> -option keys -hierarchy none -controlPoints 0 -shape 0 " + -sv "animImportOptions" ";targetTime=4;copies=1;option=replace;pictures=0;connect=0;" + -iv "animateRoll" 1 + -iv "animateRollFitAll" 1 + -iv "animateRollGotoBookmark" 1 + -iv "animateRollNextLastCameraView" 1; +optionVar + -iv "animateRollViewCompass" 1 + -iv "animationDetailsVisibility" 0 + -iv "apiPrefLazyLoading" 0 + -iv "apiPrefOldPluginWarning" 1 + -sv "arcLenDimContext" "arcLenDimContext -e -image1 \"arcLengthDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" arcLenDimContext" + -ca "areaLightColor" + -fva "areaLightColor" 1 + -fva "areaLightColor" 1 + -fva "areaLightColor" 1 + -iv "areaLightDecay" 0 + -fv "areaLightIntensity" 1 + -iv "areaLightInteractivePlacement" 0 + -ca "areaLightShadowColor" + -fva "areaLightShadowColor" 0 + -fva "areaLightShadowColor" 0 + -fva "areaLightShadowColor" 0; +optionVar + -iv "areaLightShadows" 0 + -sv "art3dPaintContext" "art3dPaintCtx -e -image1 \"art3dPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 0\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.05\n-screenRadius 1\n-worldRadius 2.1142\n-lowerradius 0.911839\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 2.1142\n-stampProfile \"gaussian\" -exportfilesizex 256\n-exportfilesizey 256\n-brushtype \"artisanBrush\" -painttxtattr \"Color\" -painttxtattrname \"color\" -alphablendmode \"Default\" -pfxScale 1\n-pfxWidth 0.05\n-pressureMapping1 5\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-filetxtsizex 2048\n-filetxtsizey 2048\n-keepaspectratio 1\n-filetxtaspectratio 1\n-resizeratio 1\n-fileformat \"maya\" -rgbcolor 0.077 0.0301229 0.003003 -rgbflood 0 0 0 -brushdepth 0.1\n-saveonstroke 0\n-saveTextureOnStroke 0\n-extendFillColor 0\n-attrnames \"color transparency incandescence normalCamera specularColor reflectivity ambientColor diffuse translucence reflectedColor displacement\" -floodOpacity 1\nart3dPaintContext" + -sv "artAttrContext" "artAttrCtx -e -image1 \"attrPaint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 1\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 0.216881\n-lowerradius 0.157772\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.216881\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-whichTool \"general\" -selectedattroper \"absolute\" -value 0\n-minvalue 0\n-maxvalue 1\n-clamplower 0\n-clampupper 1\n-clamp \"none\" -dataTypeIndex 1\n-colorfeedback 1\n-colorfeedbackOverride 0\n-disablelighting 1\n-colorrangelower 0\n-colorrangeupper 1\n-interactiveUpdate 1\n-paintNodeArray \"wire2\" -objattrArray \"wire.wire2.weights.1\" -attrSelected \"wire.wire2.weights\" -colorAlphaValue 0 artAttrContext" + -sv "artPuttyContext" "artPuttyCtx -e -image1 \"putty.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1 -surfaceConformedBrushVertices 0 -record 0 -importreassign 0 -selectclonesource 0 -preserveclonesource 1 -dynclonemode 1 -pickColor 0 -expandfilename 0 -usepressure 1 -reflectionaboutorigin 0 -reflection 0 -projective 0 -showactive 1 -brushfeedback 1 -outwhilepaint 0 -outline 1 -accopacity 1 -brushalignment 1 -exportaspectratio 1 -stampDepth 0.5 -stampSpacing 0.1 -screenRadius 1 -worldRadius 0.4739 -lowerradius 0.419657 -opacity 1 -reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 0.4739 -stampProfile \"poly\" -exportfilesizex 256 -exportfilesizey 256 -whichTool \"putty\" -selectedattroper \"absolute\" -value 1 -minvalue 0 -maxvalue 1 -clamplower 0 -clampupper 1 -clamp \"none\" -dataTypeIndex 1 -colorfeedback 1 -colorfeedbackOverride 0 -disablelighting 1 -colorrangelower 0 -colorrangeupper 1 -interactiveUpdate 1 -mouldtypemouse \"smooth\" -mouldtypehead \"smooth\" -mouldtypetail \"erase\" -refvector \"normal\" -maxdisp 1 -autosmooth 0 -smoothiters 1 -refsurface 1 -erasesrfupd 0 -invertrefvector 0 -collapsecvtol 0.005 artPuttyContext" + -sv "artSelectContext" "artSelectCtx -e -image1 \"artSelect.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 0\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 5.361624\n-lowerradius 0.0573972\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 5.361624\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-selectop \"select\" -addselection 1\n-importthreshold 0.5\nartSelectContext" + -ca "artlambert1.color" + -fva "artlambert1.color" 0.5 + -fva "artlambert1.color" 0.5 + -fva "artlambert1.color" 0.5 + -fva "artlambert1.color" 1 + -ca "artpaintEffects_body_MAT.color" + -fva "artpaintEffects_body_MAT.color" 0.5 + -fva "artpaintEffects_body_MAT.color" 0.5 + -fva "artpaintEffects_body_MAT.color" 0.5 + -fva "artpaintEffects_body_MAT.color" 1 + -ca "artpaintEffects_head_MAT.color" + -fva "artpaintEffects_head_MAT.color" 0.5 + -fva "artpaintEffects_head_MAT.color" 0.5 + -fva "artpaintEffects_head_MAT.color" 0.5 + -fva "artpaintEffects_head_MAT.color" 1 + -fv "attachCrvBlendBias" 0.5 + -iv "attachCrvBlendInsert" 1; +optionVar + -fv "attachCrvBlendParameter" 0.1 + -iv "attachCrvKeepMultKnots" 1 + -iv "attachCrvKeepOriginal" 0 + -iv "attachCrvMethod" 0 + -iv "attachCurveEuc" 0 + -iv "attachCurveLac" 1 + -iv "attachKeepMultKnots" 1 + -iv "attachKeepOriginal" 1 + -fv "attachSrfBlendBias" 0 + -iv "attachSrfBlendInsert" 0; +optionVar + -fv "attachSrfBlendParameter" 0.5 + -iv "attachSrfMethod" 1 + -iv "attachSurfaceEuc" 0 + -iv "attachSurfaceLac" 1 + -sv "attrEdListType" "auto" + -iv "attrEdPaneRatio" 71 + -sv "audioOptions" "" + -sv "autoKeyCharacterState" "standard" + -iv "autoKeyframeState" 1 + -sv "azimuthElevationContext" "orbitCtx -e -image1 \"azimuthElevation.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Azimuth Elevation Tool\" -orbitScale 1\n-localOrbit 1\nazimuthElevationContext"; +optionVar + -fv "bakeSimulationByTime" 1 + -iv "bakeSimulationControlPoints" 0 + -iv "bakeSimulationDriven" 1 + -sv "bakeSimulationHierarchy" "none" + -iv "bakeSimulationImpCon" 1 + -iv "bakeSimulationPreserveKeys" 1 + -sv "bakeSimulationRange" "0:10" + -iv "bakeSimulationShapes" 0 + -iv "bakeSimulationSparseAnimCurve" 0 + -iv "bakeSimulationUseChannelBox" 0; +optionVar + -iv "bakeSimulationWhichRange" 1 + -iv "batchRenderMessagesVerbosity" 1 + -iv "bevelOutputPolygons" 0 + -iv "bindSkinColorJts" 0 + -iv "bindSkinMethod" 1 + -iv "bindSkinTo" 2 + -iv "birail1BlendFirstProfile" 0 + -fv "birail1BlendValue" 0 + -iv "birail1OutputPoly" 0 + -iv "birail1RebuildFirstProfile" 0; +optionVar + -iv "birail1RebuildFirstRail" 0 + -iv "birail1RebuildLastProfile" 0 + -iv "birail1RebuildLastRail" 0 + -iv "birail1TransformProp" 0 + -iv "birail2BlendFirstProfile" 0 + -iv "birail2BlendLastProfile" 0 + -fv "birail2BlendValue" 0.5 + -iv "birail2OutputPoly" 0 + -iv "birail2RebuildFirstProfile" 0 + -iv "birail2RebuildFirstRail" 0; +optionVar + -iv "birail2RebuildLastProfile" 0 + -iv "birail2RebuildLastRail" 0 + -iv "birail2TransformProp" 1 + -iv "birail3BlendFirstProfile" 0 + -iv "birail3BlendLastProfile" 0 + -fv "birail3BlendValue" 0 + -iv "birail3OutputPoly" 0 + -iv "birail3RebuildFirstProfile" 0 + -iv "birail3RebuildFirstRail" 0 + -iv "birail3RebuildLastProfile" 0; +optionVar + -iv "birail3RebuildLastRail" 0 + -iv "birail3TransformProp" 1 + -iv "birailEuc" 1 + -iv "birailLac" 1 + -iv "blendAutoAnchor" 1 + -iv "blendAutoDirection" 1 + -iv "blendCurvesInFirst" 3 + -iv "blendFlipLeft" 0 + -iv "blendFlipRight" 0 + -fv "blendLeftAnchor" 0; +optionVar + -fv "blendLeftEnd" 1 + -iv "blendLeftReverse" 0 + -fv "blendLeftStart" 0 + -iv "blendMultiKnots" 0 + -iv "blendOutputPoly" 0 + -fv "blendPositionTol" 0.1 + -fv "blendRightAnchor" 0 + -fv "blendRightEnd" 1 + -iv "blendRightReverse" 0 + -fv "blendRightStart" 0; +optionVar + -iv "blendShapeBetween" 0 + -iv "blendShapeDelTgt" 0 + -fv "blendShapeEnv" 1 + -sv "blendShapeExclName" "deformPartition" + -iv "blendShapeExclusive" 0 + -sv "blendShapeNode" "" + -iv "blendShapeOrigin" 1 + -sv "blendShapePositioning" "frontOfChain" + -iv "blendShapeTop" 1 + -fv "blendTangentTol" 0.1; +optionVar + -iv "blendUseLocalTol" 1 + -iv "bonusToolsMenuToggle" 0 + -iv "booleanEuc0" 0 + -iv "booleanLac0" 1 + -iv "boundaryAutoEdgeCount" 4 + -iv "boundaryEuc" 0 + -iv "boundaryInsist" 0 + -iv "boundaryLac" 1 + -iv "boundaryOrder" 0 + -iv "boundaryPartial" 0; +optionVar + -iv "boundaryPolys" 0 + -fv "boundaryTolerance" 0.01 + -iv "boundaryUseGlobal" 1 + -sv "boxZoom2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" boxZoom2dContext" + -sv "boxZoomContext" "boxZoomCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -zoomScale 1\nboxZoomContext" + -sv "boxZoomtwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" boxZoomtwContext" + -fv "cameraFarClip" 1000 + -sv "cameraFilmFit" "Fill" + -iv "cameraFilmFitMode" 3 + -fv "cameraFilmFitOffset" 0; +optionVar + -fv "cameraFocalLength" 35 + -fv "cameraHorizAper" 1.41732 + -fv "cameraHorizOffset" 0 + -fv "cameraInterest" 5 + -fv "cameraLensSqueeze" 1 + -iv "cameraNamesVisibility" 1 + -fv "cameraNearClip" 0.01 + -iv "cameraNodeCount" 1 + -iv "cameraOrtho" 0 + -fv "cameraOrthoWidth" 30; +optionVar + -fv "cameraOverscan" 1 + -fv "cameraScale" 1 + -fv "cameraShutterAngle" 144 + -fv "cameraVertAper" 0.94488 + -fv "cameraVertOffset" 0 + -sv "categoryChoiceStatus" "default" + -ca "changeAnimCurveColorColor" + -fva "changeAnimCurveColorColor" 0.280985 + -fva "changeAnimCurveColorColor" 0.591 + -fva "changeAnimCurveColorColor" 0.275997 + -iv "channelsFieldWidth" 155 + -sv "channelsLayersConfiguration" "Channel Box / Layer Editor" + -iv "channelsLayersPaneSize" 58; +optionVar + -iv "channelsLayersVisible" 1 + -iv "channelsLayersWidth" 310 + -iv "channelsLongName" 2 + -iv "channelsPrecision" 15 + -sv "characterChoiceStatus" "Generick" + -iv "circFilletEuc" 0 + -iv "circFilletLac" 1 + -iv "circularFilletGenerateCoS" 1 + -fv "circularFilletLocalPositionalTolerance" 0.01 + -fv "circularFilletLocalTangentTolerance" 0.1; +optionVar + -iv "circularFilletOutputPolygons" 0 + -fv "circularFilletRadius" 0.01 + -iv "circularFilletReversePrimary" 1 + -iv "circularFilletReverseSecondary" 1 + -iv "circularFilletUseGlobalTolerance" 0 + -iv "circularFilletUseUseGlobalTolerance" 1 + -iv "clearKeyAllAnimCurves" 0 + -iv "clearKeyControlPoints" 0 + -iv "clearKeyDriven" 0 + -iv "clearKeyHelpPictures" 0; +optionVar + -sv "clearKeyHierarchy" "none" + -sv "clearKeyOption" "keys" + -sv "clearKeyRange" "0:10" + -iv "clearKeyShapes" 1 + -iv "clearKeyUseChannelBox" 0 + -iv "clearKeyWhichRange" 1 + -iv "clickBoxSize" 4 + -iv "clipHierarchy" 1 + -fv "closeCurveBlendBias" 0.5 + -iv "closeCurveBlendInsert" 0; +optionVar + -fv "closeCurveBlendParameter" 0.1 + -iv "closeKeepOriginal" 0 + -iv "closePreserveShape" 1 + -iv "cmdWindowTitleBarVis" 1 + -fv "collisionFriction" 0 + -fv "collisionResilience" 1 + -ca "colorMaterialBlend" + -iva "colorMaterialBlend" 0 + -iva "colorMaterialBlend" 0 + -ca "colorMaterialChannel" + -iva "colorMaterialChannel" 3 + -iva "colorMaterialChannel" 3 + -ca "colorShadedDisplay" + -iva "colorShadedDisplay" 0 + -iva "colorShadedDisplay" 0 + -iv "commandExecuterShowLineNumbers" 1; +optionVar + -iv "commandLineHoldFocus" 0 + -iv "commandLineInputFieldWidth" 50 + -iv "commandLineNumHistoryLines" 50 + -sv "commandLineSourceType" "mel" + -iv "commandLineVisible" 1 + -sv "commandReporterSourceTypeFilter" "" + -iv "commandReportercmdScrollFieldReporter1SuppressErrors" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressInfo" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressResults" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressStackTrace" 0; +optionVar + -iv "commandReportercmdScrollFieldReporter1SuppressWarnings" 0 + -sv "commandportDefaultName" "commandportDefault" + -iv "commandportOpenByDefault" 1 + -fv "componentEditorSliderMax" 1 + -fv "componentEditorSliderMin" 0 + -iv "connectWindowActive" 1 + -sv "connectWindowAttrAlphaOrder" "ascend" + -iv "connectWindowAutoConnect" 1 + -iv "connectWindowDisplayNamesCW" 2 + -iv "connectWindowLeftCNO" 0; +optionVar + -iv "connectWindowLeftSHD" 1 + -iv "connectWindowLeftSNK" 1 + -iv "connectWindowLeftToRight" 1 + -iv "connectWindowRightCNO" 0 + -iv "connectWindowRightSHD" 1 + -iv "connectWindowRightSNK" 1 + -iv "constrPlanePole" 1 + -fv "constrPlaneSize" 24 + -iv "continuityType" 2 + -ca "convertSolidBckColor" + -fva "convertSolidBckColor" 0 + -fva "convertSolidBckColor" 0 + -fva "convertSolidBckColor" 0; +optionVar + -iv "convertSolidBckMode" 1 + -iv "convertSolidTxAntiA" 1 + -iv "convertSolidTxBakeAlpha" 1 + -iv "convertSolidTxBakeLt" 1 + -iv "convertSolidTxBakeShadow" 0 + -iv "convertSolidTxCompRange" 0 + -iv "convertSolidTxDoubleSided" 0 + -sv "convertSolidTxFileFormat" "png" + -iv "convertSolidTxFillTextureSeams" 1 + -iv "convertSolidTxResX" 1024; +optionVar + -iv "convertSolidTxResY" 1024 + -iv "convertSolidTxSamplePlane" 0 + -fv "convertSolidTxUMax" 1 + -fv "convertSolidTxUMin" 0 + -iv "convertSolidTxUvRange" 0 + -fv "convertSolidTxVMax" 1 + -fv "convertSolidTxVMin" 0 + -iv "copyKeyControlPoints" 0 + -iv "copyKeyDriven" 0 + -iv "copyKeyHelpPictures" 0; +optionVar + -sv "copyKeyHierarchy" "none" + -sv "copyKeyOption" "keys" + -sv "copyKeyRange" "0:10" + -iv "copyKeyShapes" 1 + -iv "copyKeyUseChannelBox" 0 + -iv "copyKeyWhichRange" 1 + -iv "cps_border" 0 + -iv "cps_dFrame" 0 + -iv "cps_edFrame" 0 + -iv "cps_esFrame" 0; +optionVar + -iv "cps_gFrame" 0 + -iv "cps_keepHardEdges" 0 + -iv "cps_keepMapBorders" 1 + -fv "cps_locatorSize" 0.25 + -iv "cps_lsFrame" 0 + -fv "cps_mirrorMergeDistance" 0.001 + -iv "cps_mirrorPlaneMode" 1 + -fv "cps_mirrorPlaneX" 0 + -fv "cps_mirrorPlaneY" 0 + -fv "cps_mirrorPlaneZ" 0; +optionVar + -iv "cps_mirrorStitchAxisX" 2 + -iv "cps_mirrorStitchAxisY" 2 + -iv "cps_mirrorStitchAxisZ" 2 + -iv "cps_mirrorStitchEnable" 0 + -iv "cps_mirrorStitchX" 0 + -iv "cps_mirrorStitchY" 0 + -iv "cps_mirrorStitchZ" 0 + -iv "cps_mrFrame" 0 + -iv "cps_noFrame" 0 + -iv "cps_noSelection" 1; +optionVar + -iv "cps_noShade" 1 + -iv "cps_renderInvisible" 1 + -iv "cps_sdFrame" 0 + -iv "cps_shFrame" 0 + -fv "cps_shellMergeDistance" 0.001 + -iv "cps_smooth" 1 + -iv "cps_smoothMethod" 1 + -iv "cps_smoothUVs" 1 + -iv "cps_softenEdges" 0 + -iv "cps_trFrame" 0; +optionVar + -iv "cps_triangulate" 0 + -iv "cpsa_paFrame" 0 + -iv "cpsa_saFrame" 0 + -iv "cpsc_dFrame" 0 + -iv "cpsc_lFrame" 0 + -iv "cpsc_mAlterRenderFlags" 1 + -iv "cpsc_mBCfull" 1 + -iv "cpsc_mBChard" 0 + -iv "cpsc_mBCwire" 0 + -iv "cpsc_mClearSelection" 0; +optionVar + -iv "cpsc_mHUDanimationDetails" 0 + -iv "cpsc_mHUDcameraNames" 0 + -iv "cpsc_mHUDcpsDetails" 1 + -iv "cpsc_mHUDframeRate" 0 + -iv "cpsc_mHUDobjectDetails" 0 + -iv "cpsc_mHUDoriginAxis" 0 + -iv "cpsc_mHUDpolyCount" 0 + -iv "cpsc_mHUDviewAxis" 0 + -iv "cpsc_mPaintSelectOptionWindow" 0 + -iv "cpsc_mRenameLayer" 1; +optionVar + -iv "cpsc_mRestoreRenderFlags" 1 + -iv "cpsc_mSelectResult" 1 + -iv "cpsc_mShowCloseButton" 1 + -iv "cpsc_mShowMenu" 1 + -iv "cpsc_mShowScrollSlider" 0 + -iv "cpsc_mShowTitleBar" 1 + -iv "cpsc_mToggleStitching" 0 + -iv "cpsc_mToggleXAxis" 1 + -iv "cpsc_mToggleYAxis" 1 + -iv "cpsc_mToggleZAxis" 1; +optionVar + -iv "cpsc_mUIaddShell" 1 + -iv "cpsc_mUIconstraint" 1 + -iv "cpsc_mUIconvertSelection" 1 + -iv "cpsc_mUIcps" 1 + -iv "cpsc_mUIdeleteHistory" 1 + -iv "cpsc_mUIdisconnect" 1 + -iv "cpsc_mUImergeLayer" 1 + -iv "cpsc_mUImergeShells" 1 + -iv "cpsc_mUIpaintSelection" 1 + -iv "cpsc_mUIrecallToolboxLayout" 0; +optionVar + -iv "cpsc_mUIselectProxy" 1 + -iv "cpsc_mUIselectionMode" 1 + -iv "cpsc_mUIselectionRegion" 1 + -iv "cpsc_mUIshading" 1 + -iv "cpsc_mUIsubdivisions" 1 + -iv "cpsc_mUItoggleBackface" 1 + -iv "cpsc_mUItoggleEvaluation" 1 + -iv "cpsc_mUItoggleIsolateSelect" 1 + -iv "cpsc_mUItoggleNodeState" 1 + -iv "cpsc_mUItoggleShellEvaluation" 1; +optionVar + -iv "cpsc_mUItoggleSmoothMethod" 1 + -iv "cpsc_mUItoggleVisibility" 1 + -iv "cpsc_mUItoggleWireframe" 1 + -iv "cpsc_mUItoggleXray" 1 + -iv "cpsc_mUItoolbox" 1 + -iv "cpsc_ogFrame" 0 + -iv "cpsc_rgFrame" 0 + -iv "cpsc_shFrame" 0 + -iv "cpsc_showHUD" 0 + -iv "cpsc_tFrame" 0; +optionVar + -iv "cpsc_toFrame" 0 + -ca "cpsc_windowPos1" + -iva "cpsc_windowPos1" -2 + -iva "cpsc_windowPos1" 1456 + -ca "cpsc_windowSize1" + -iva "cpsc_windowSize1" 148 + -iva "cpsc_windowSize1" 898 + -iv "cpsf_faceLimit" 5000 + -iv "cpss_iFrame" 0 + -iv "cpss_mainMenuEntry" 1 + -iv "cpss_runtimeCommands" 1 + -iv "cpss_shelfIcons" 1 + -ca "cpst_icons" + -sva "cpst_icons" "5" + -sva "cpst_icons" "connectPolyShape.xpm" + -sva "cpst_icons" "if( `window -q -exists cps_ui` ){if( `window -q -iconify cps_ui` )window -e -iconify 0 cps_ui;else if( !`window -q -visible cps_ui` )window -e -visible 1 cps_ui;else deleteUI cps_ui;}else connectPolyShape;" + -sva "cpst_icons" "" + -sva "cpst_icons" "Connect Poly Shape" + -sva "cpst_icons" "" + -sva "cpst_icons" "cpsControl.xpm" + -sva "cpst_icons" "if( `window -q -exists cpsc_ui` ){if( `window -q -iconify cpsc_ui` )window -e -iconify 0 cpsc_ui;else if( !`window -q -visible cpsc_ui` )window -e -visible 1 cpsc_ui;else deleteUI cpsc_ui;}else cpsControl;" + -sva "cpst_icons" "" + -sva "cpst_icons" "CPS Control" + -sva "cpst_icons" "" + -sva "cpst_icons" "cpsAttributes.xpm" + -sva "cpst_icons" "if( `window -q -exists cpsa_ui` ){if( `window -q -iconify cpsa_ui` )window -e -iconify 0 cpsa_ui;else if( !`window -q -visible cpsa_ui` )window -e -visible 1 cpsa_ui;else deleteUI cpsa_ui;}else cpsAttributes;" + -sva "cpst_icons" "" + -sva "cpst_icons" "CPS Attributes" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCube.xpm" + -sva "cpst_icons" "CreatePolygonCube" + -sva "cpst_icons" "CreatePolygonCubeOptions" + -sva "cpst_icons" "Create Polygon Cube" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyMesh.xpm" + -sva "cpst_icons" "CreatePolygonPlane" + -sva "cpst_icons" "CreatePolygonPlaneOptions" + -sva "cpst_icons" "Create Polygon Plane" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCreateFacet.xpm" + -sva "cpst_icons" "CreatePolygonTool" + -sva "cpst_icons" "CreatePolygonToolOptions" + -sva "cpst_icons" "Create Polygon Tool" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyAppendFacet.xpm" + -sva "cpst_icons" "AppendToPolygonTool" + -sva "cpst_icons" "AppendToPolygonToolOptions" + -sva "cpst_icons" "Append to Polygon Tool" + -sva "cpst_icons" "" + -sva "cpst_icons" "polySplitFacet.xpm" + -sva "cpst_icons" "SplitPolygonTool" + -sva "cpst_icons" "SplitPolygonToolOptions" + -sva "cpst_icons" "Split Polygon" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyExtrudeFacet.xpm" + -sva "cpst_icons" "ExtrudeFace" + -sva "cpst_icons" "ExtrudeFaceOptions" + -sva "cpst_icons" "Extrude Face" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyExtrudeEdge.xpm" + -sva "cpst_icons" "ExtrudeEdge" + -sva "cpst_icons" "ExtrudeEdgeOptions" + -sva "cpst_icons" "Extrude Edge" + -sva "cpst_icons" "" + -sva "cpst_icons" "polySubdFacet.xpm" + -sva "cpst_icons" "SubdividePolygon" + -sva "cpst_icons" "SubdividePolygonOptions" + -sva "cpst_icons" "Subdivide Polygon" + -sva "cpst_icons" "" + -sva "cpst_icons" "polySmooth.xpm" + -sva "cpst_icons" "SmoothPolygon" + -sva "cpst_icons" "SmoothPolygonOptions" + -sva "cpst_icons" "Smooth Polygon" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCollapseEdge.xpm" + -sva "cpst_icons" "performPolyCollapse 0" + -sva "cpst_icons" "" + -sva "cpst_icons" "Collapse" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyFlipEdge.xpm" + -sva "cpst_icons" "polyFlipEdge" + -sva "cpst_icons" "" + -sva "cpst_icons" "Flip Triangle Edge" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyLoopEdge.xpm" + -sva "cpst_icons" "performSelContiguousEdges 0" + -sva "cpst_icons" "performSelContiguousEdges 1" + -sva "cpst_icons" "Select Contiguous Edges" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyDelVertex.xpm" + -sva "cpst_icons" "polyDeleteVertex" + -sva "cpst_icons" "" + -sva "cpst_icons" "Delete Vertex" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyDelEdge.xpm" + -sva "cpst_icons" "polyPerformAction \"polyDelEdge -cv true\" e 0" + -sva "cpst_icons" "" + -sva "cpst_icons" "Delete Edge" + -sva "cpst_icons" "" + -sva "cpst_icons" "polyCloseBorder.xpm" + -sva "cpst_icons" "polyPerformAction polyCloseBorder e 0" + -sva "cpst_icons" "" + -sva "cpst_icons" "Fill Hole" + -sva "cpst_icons" "" + -iv "cpst_mShowCloseButton" 1; +optionVar + -iv "cpst_mShowMenu" 1 + -iv "cpst_mShowTab" 1 + -iv "cpst_mShowTitleBar" 1 + -iv "cpst_mUIrecallToolboxLayout" 0 + -iv "cpsv_enableXAxis" 1 + -iv "cpsv_enableYAxis" 1 + -iv "cpsv_enableZAxis" 1 + -fv "cpsv_snapTolerance" 0.2909 + -iv "cpsv_soFrame" 0 + -sv "create2dTextureType" "normal"; +optionVar + -fv "createClipEnd" 10 + -sv "createClipName" "clip1" + -iv "createClipRangeMethodWhich" 3 + -iv "createClipSchedule" 1 + -fv "createClipStart" 0 + -iv "createClipSubChar" 1 + -iv "createClipTimeWarp" 0 + -sv "createDrawContext" "createDrawCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axis \"x\" createDrawContext" + -iv "createMaterialsWithShadingGroup" 1 + -iv "createNurbsPrimitiveAsTool" 0; +optionVar + -iv "createPolyPrimitiveAsTool" 1 + -sv "createRenderNodeButtonStyle" "Icons and Text" + -iv "createTexturesWithPlacement" 1 + -fv "crvIntersectLocalTolerance" 0.0001 + -iv "crvIntersectUseGlobalTolerance" 2 + -iv "currentDisplayLayerActive" 0 + -iv "currentFrameVisibility" 0 + -sv "currentMenuBarTab" "polygonsMenuSet" + -sv "curveAddPtContext" "curveAddPtCtx -e -image1 \"curveAddPt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" curveAddPtContext" + -sv "curveContextCV" "curveCVCtx -e -image1 \"curveCV.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -degree 3\n-rational 0\n-uniform 0\n-multEndKnots 0\ncurveContextCV"; +optionVar + -sv "curveContextEP" "curveEPCtx -e -image1 \"curveEP.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -degree 3\n-uniform 0\n-preserveShapeFraction 0.25\ncurveContextEP" + -iv "curveFitCheckpoints" 5 + -ca "customSelectPriority" + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 4 + -iva "customSelectPriority" 3 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 8 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -iva "customSelectPriority" 0 + -fv "cutCurveDirX" 0 + -fv "cutCurveDirY" 1 + -fv "cutCurveDirZ" 0 + -iv "cutCurveEuc" 1 + -iv "cutCurveKeepOriginal" 0 + -iv "cutCurveLac" 0 + -iv "cutCurveSegmentOrKeepLongest" 3; +optionVar + -fv "cutCurveTol" 0.01 + -iv "cutCurveUseDirection" 2 + -iv "cutCurveUseTol" 1 + -iv "cutCurveWithAllCurvesOrLastCurve" 1 + -iv "cutKeyControlPoints" 0 + -iv "cutKeyDriven" 0 + -iv "cutKeyHelpPictures" 0 + -sv "cutKeyHierarchy" "none" + -sv "cutKeyOption" "keys" + -sv "cutKeyRange" "0:10"; +optionVar + -iv "cutKeyShapes" 1 + -iv "cutKeyUseChannelBox" 0 + -iv "cutKeyWhichRange" 1 + -fv "defaultCameraFarClipValue" 1000 + -fv "defaultCameraNearClipValue" 0.001 + -sv "defaultDiskCacheSaveAsType" "always" + -sv "defaultFileExportActiveType" "OBJexport" + -sv "defaultFileExportAllType" "silo (sib|sia)" + -sv "defaultFileImportType" "mayaBinary" + -sv "defaultFileOpenType" "Best Guess"; +optionVar + -sv "defaultFileReferenceType" "Best Guess" + -sv "defaultFileSaveType" "mayaBinary" + -iv "defaultLockFile" 0 + -iv "defaultShowManipulator" 6 + -sv "defaultTextureSaveAsType" "unlessRef" + -iv "detachCurveEuc" 0 + -iv "detachCurveLac" 1 + -iv "detachKeepOriginal" 1 + -sv "directKeyContext" "directKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" directKeyContext" + -ca "directionalLightColor" + -fva "directionalLightColor" 1 + -fva "directionalLightColor" 1 + -fva "directionalLightColor" 1; +optionVar + -fv "directionalLightIntensity" 1 + -iv "directionalLightInteractivePlacement" 0 + -ca "directionalLightShadowColor" + -fva "directionalLightShadowColor" 0 + -fva "directionalLightShadowColor" 0 + -fva "directionalLightShadowColor" 0 + -iv "directionalLightShadows" 0 + -iv "disableComponentPopups" 0 + -iv "dispSmthnessFineNurbsObjsAffected" 1 + -iv "dispSmthnessHullNurbsObjsAffected" 1 + -iv "dispSmthnessHullSimpHullU" 2 + -iv "dispSmthnessHullSimpHullV" 2 + -iv "dispSmthnessMediumNurbsObjsAffected" 1; +optionVar + -iv "dispSmthnessRoughNurbsObjsAffected" 1 + -iv "displayAffected" 0 + -iv "displayAlphaAsGreyScale" 0 + -iv "displayControlAllOFF" 0 + -iv "displayControlAllON" 0 + -ca "displayControlCVs" + -iva "displayControlCVs" 1 + -iva "displayControlCVs" 0 + -iva "displayControlCVs" 0 + -iva "displayControlCVs" 0 + -iva "displayControlCVs" 0 + -ca "displayControlEditPoints" + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -iva "displayControlEditPoints" 0 + -ca "displayControlHulls" + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -iva "displayControlHulls" 0 + -ca "displayControlNormals" + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -iva "displayControlNormals" 0 + -ca "displayControlOrigin" + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0 + -iva "displayControlOrigin" 0; +optionVar + -iv "displayControlScope" 1 + -ca "displayControlSelectHandles" + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -iva "displayControlSelectHandles" 0 + -ca "displayControlSurfaceFace" + -iva "displayControlSurfaceFace" 1 + -iva "displayControlSurfaceFace" 0 + -iva "displayControlSurfaceFace" 0 + -iva "displayControlSurfaceFace" 0 + -iva "displayControlSurfaceFace" 0 + -iv "displayDivisionLines" 1 + -iv "displayEditorImage" 0 + -iv "displayGridAxes" 1 + -iv "displayGridAxesAccented" 1 + -iv "displayGridLines" 1 + -sv "displayGridOrthoLabelPosition" "edge" + -iv "displayGridOrthoLabels" 1; +optionVar + -sv "displayGridPerspLabelPosition" "axis" + -iv "displayGridPerspLabels" 0 + -iv "displayLayerBase" 1 + -iv "displayLayerContents" 1 + -iv "displayLayerCurrent" 0 + -iv "displayLayerMerge" 0 + -iv "displayLayerShowNamespace" 1 + -iv "displayOrthoGridLabels" 0 + -iv "displayPerspGridLabels" 0 + -ca "displayPolyBackFaceCull" + -iva "displayPolyBackFaceCull" 0 + -iva "displayPolyBackFaceCull" 0; +optionVar + -ca "displayPolyBorderEdgeHilite" + -iva "displayPolyBorderEdgeHilite" 0 + -iva "displayPolyBorderEdgeHilite" 0 + -ca "displayPolyBorderEdgeSize" + -fva "displayPolyBorderEdgeSize" 9.1064 + -fva "displayPolyBorderEdgeSize" 3 + -ca "displayPolyBorderMapHilite" + -iva "displayPolyBorderMapHilite" 0 + -iva "displayPolyBorderMapHilite" 0 + -ca "displayPolyCreaseEdgeHilite" + -iva "displayPolyCreaseEdgeHilite" 0 + -iva "displayPolyCreaseEdgeHilite" 0 + -ca "displayPolyCreaseVertexHilite" + -iva "displayPolyCreaseVertexHilite" 0 + -iva "displayPolyCreaseVertexHilite" 0 + -ca "displayPolyEdgeDisp" + -iva "displayPolyEdgeDisp" 0 + -iva "displayPolyEdgeDisp" 0 + -ca "displayPolyFacetCentreDisp" + -iva "displayPolyFacetCentreDisp" 0 + -iva "displayPolyFacetCentreDisp" 0 + -ca "displayPolyFacetNormalDisp" + -iva "displayPolyFacetNormalDisp" 0 + -iva "displayPolyFacetNormalDisp" 0 + -ca "displayPolyFacetTrngleDisp" + -iva "displayPolyFacetTrngleDisp" 0 + -iva "displayPolyFacetTrngleDisp" 0 + -ca "displayPolyFacetWarpDisp" + -iva "displayPolyFacetWarpDisp" 0 + -iva "displayPolyFacetWarpDisp" 0; +optionVar + -ca "displayPolyNormalSize" + -fva "displayPolyNormalSize" 0.4 + -fva "displayPolyNormalSize" 0.4 + -ca "displayPolyNumEdge" + -iva "displayPolyNumEdge" 0 + -iva "displayPolyNumEdge" 0 + -ca "displayPolyNumFacet" + -iva "displayPolyNumFacet" 0 + -iva "displayPolyNumFacet" 0 + -ca "displayPolyNumUv" + -iva "displayPolyNumUv" 0 + -iva "displayPolyNumUv" 0 + -ca "displayPolyNumVertex" + -iva "displayPolyNumVertex" 0 + -iva "displayPolyNumVertex" 0 + -iv "displayPolyObjsAffected" 0 + -ca "displayPolyUV" + -iva "displayPolyUV" 0 + -iva "displayPolyUV" 0 + -ca "displayPolyUVSize" + -fva "displayPolyUVSize" 4 + -fva "displayPolyUVSize" 4 + -ca "displayPolyUVTopology" + -iva "displayPolyUVTopology" 0 + -iva "displayPolyUVTopology" 0 + -ca "displayPolyVertexNormals" + -iva "displayPolyVertexNormals" 0 + -iva "displayPolyVertexNormals" 0; +optionVar + -ca "displayPolyVertexSize" + -fva "displayPolyVertexSize" 3 + -fva "displayPolyVertexSize" 3 + -ca "displayPolyVtxBackCull" + -iva "displayPolyVtxBackCull" 1 + -iva "displayPolyVtxBackCull" 1 + -ca "displayPolyVtxDisp" + -iva "displayPolyVtxDisp" 0 + -iva "displayPolyVtxDisp" 0 + -iv "displayRegionOfEffect" 1 + -sv "distanceDimContext" "distanceDimContext -e -image1 \"distanceDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" distanceDimContext" + -sv "dolly2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" dolly2dContext" + -sv "dollyContext" "dollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Dolly Tool\" -scale 1\n-localDolly 1\n-centerOfInterestDolly 0\n-boxDollyType \"bbox\" -dollyTowardsCenter 1\ndollyContext" + -sv "dollytwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" dollytwContext" + -iv "dopeSheetAutoFit" 0 + -iv "dopeSheetOutlinerWidth" 190; +optionVar + -iv "dopeSheetShowTicks" 1 + -iv "duplicateCopy" 1 + -iv "duplicateCount" 1 + -iv "duplicateCurveEuc" 0 + -iv "duplicateCurveIsoparms" 2 + -iv "duplicateCurveLac" 1 + -iv "duplicateCurveLocal" 0 + -iv "duplicateGroup" 2 + -iv "duplicateInputConn" 0 + -iv "duplicateInstanceLeaf" 0; +optionVar + -fv "duplicateRX" 0 + -fv "duplicateRY" 0 + -fv "duplicateRZ" 0 + -iv "duplicateRenameChildren" 0 + -fv "duplicateSX" 1 + -fv "duplicateSY" 1 + -fv "duplicateSZ" 1 + -iv "duplicateSmart" 0 + -iv "duplicateSpecialCopy" 0 + -iv "duplicateSpecialCount" 1; +optionVar + -iv "duplicateSpecialGroup" 1 + -iv "duplicateSpecialInputConn" 0 + -iv "duplicateSpecialInstanceLeaf" 0 + -fv "duplicateSpecialRX" 0 + -fv "duplicateSpecialRY" 0 + -fv "duplicateSpecialRZ" 0 + -iv "duplicateSpecialRenameChildren" 1 + -fv "duplicateSpecialSX" 1 + -fv "duplicateSpecialSY" 1 + -fv "duplicateSpecialSZ" 1; +optionVar + -iv "duplicateSpecialSmart" 0 + -fv "duplicateSpecialTX" 0 + -fv "duplicateSpecialTY" 0 + -fv "duplicateSpecialTZ" 0 + -iv "duplicateSpecialUpstream" 0 + -iv "duplicateSurfaceLocal" 0 + -fv "duplicateTX" 0 + -fv "duplicateTY" 0 + -fv "duplicateTZ" 0 + -iv "duplicateUpstream" 0; +optionVar + -iv "dynPaint23dToggle" 2 + -ca "dynPaintPanelClearColour" + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -sv "dynParticleContext" "dynParticleCtx -e -image1 \"particle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -conserve 1\n-sketch 0\n-numJitters 3\n-jitterRadius 5\n-sketchInterval 5\n-grid 1\n-gridSpacing 0.5\n-lowerLeftX -5.281628\n-lowerLeftY 0\n-lowerLeftZ 6.60428\n-upperRightX -20.496773\n-upperRightY 0\n-upperZ 1.784567\ndynParticleContext" + -iv "dynPrefAutoCreate" 1 + -iv "dynPrefEchoCollision" 1 + -iv "dynPrefRunupFrom" 1 + -iv "dynPrefRunupToCurrentTime" 0 + -iv "dynPrefSaveRuntimeState" 1 + -sv "dynWireCtx1" "dynWireCtx -e -image1 \"paintEffectsTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -dragBrushSize \"none\" -doProject 1\n-brushDrag 0.88\n-brushMass 1\n-inputSamples 4\n-sampleSeparation 4\n-surfaceOffset 0\n-paintAtDepth 0\n-drawAsMesh 1\n-usePressure 1\n-pressureMapping1 5\n-pressureMapping2 0\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-displayQuality 100\n-pixelMode 0\ndynWireCtx1" + -iv "echoAllLines" 0; +optionVar + -iv "editRampIsVertical" 0 + -fv "emitterAlongAxis" 0 + -fv "emitterAroundAxis" 0 + -fv "emitterAwayFromAxis" 1 + -fv "emitterAwayFromCenter" 1 + -iv "emitterCycleInterval" 1 + -iv "emitterCycleOM" 1 + -iv "emitterDieOnExit" 0 + -fv "emitterDirectionX" 1 + -fv "emitterDirectionY" 0; +optionVar + -fv "emitterDirectionZ" 0 + -fv "emitterDirectionalSpeed" 0 + -fv "emitterMaxDistance" 0.993 + -fv "emitterMinDistance" 0 + -sv "emitterName" "GoblinEmitter" + -iv "emitterNeedParentUV" 0 + -fv "emitterNormalSpeed" 0 + -fv "emitterRandomSpread" 0 + -fv "emitterRate" 240 + -iv "emitterScaleRateByObjectSize" 0; +optionVar + -iv "emitterScaleSpeedBySize" 0 + -fv "emitterSpeed" 0 + -fv "emitterSpeedRandomRange" 2 + -fv "emitterSpread" 0 + -fv "emitterTangentSpeed" 1 + -fv "emitterTorusSectionRadius" 0.5 + -iv "emitterTypesOM" 3 + -fv "emitterVolumeOffsetX" 0 + -fv "emitterVolumeOffsetY" 0 + -fv "emitterVolumeOffsetZ" 0; +optionVar + -iv "emitterVolumeShapeOM" 1 + -fv "emitterVolumeSweep" 360 + -iv "expandPopupList" 0 + -iv "exportIncludeChannels" 1 + -iv "exportIncludeConstraints" 1 + -iv "exportIncludeExpressions" 1 + -iv "exportIncludeHistory" 1 + -iv "exportIncludeInputs" 1 + -iv "exportIncludeShaders" 1 + -iv "exportKeepOnlyRef" 0; +optionVar + -iv "exportKeepReferences" 1 + -iv "exportOptionsGrouping" 0 + -sv "exportOptionsRenamePrefix" "" + -iv "exportOptionsUseRenamePrefix" 0 + -iv "exportUseNamespacesDuringFileIO" 1 + -fv "extendCurveDistance" 1 + -iv "extendCurveEuc" 0 + -iv "extendCurveJoin" 0 + -iv "extendCurveKeepOriginal" 0 + -iv "extendCurveLac" 1; +optionVar + -iv "extendCurveMethod" 0 + -iv "extendCurveRemoveMultKnots" 1 + -iv "extendCurveStart" 1 + -fv "extendCurveToPointX" 0 + -fv "extendCurveToPointY" 0 + -fv "extendCurveToPointZ" 0 + -iv "extendCurveType" 1 + -iv "extendSurfaceDirection" 1 + -fv "extendSurfaceDistance" 1 + -iv "extendSurfaceEuc" 0; +optionVar + -iv "extendSurfaceJoin" 1 + -iv "extendSurfaceKeepOriginal" 0 + -iv "extendSurfaceLac" 1 + -iv "extendSurfaceSide" 1 + -iv "extendSurfaceType" 0 + -iv "extrudeCurveRangePartial" 1 + -iv "extrudeDegreeAlongLength" 3 + -iv "extrudeDirectionType" 1 + -fv "extrudeDirectionX" 0 + -fv "extrudeDirectionY" 1; +optionVar + -fv "extrudeDirectionZ" 0 + -iv "extrudeEuc" 0 + -iv "extrudeLac" 1 + -fv "extrudeLength" -1 + -iv "extrudeOutputPolygons" 0 + -iv "extrudePathFixed" 1 + -fv "extrudeRotation" 257.874 + -fv "extrudeScale" 1 + -iv "extrudeStyle" 2 + -iv "extrudeUseComponentPivot" 1; +optionVar + -fv "extrudeUsePivotX" 0 + -fv "extrudeUsePivotY" 0 + -fv "extrudeUsePivotZ" 0 + -iv "extrudeUseProfileNormal" 1 + -iv "fastInteraction" 0 + -iv "fbEnvVarExpand" 1 + -iv "fbikDetailsVisibility" 0 + -iv "fcheckAsImageViewer" 1 + -sv "fileCompressionMode" "asCompressed" + -iv "fileExecuteSN" 1; +optionVar + -sv "fileImportRefLoadSetting" "none" + -iv "fileOpenIgnoreVersion" 0 + -sv "fileOpenRefLoadSetting" "default" + -sv "fileOptionsGroupNodeResolvedName" "group" + -iv "fileOptionsGrouping" 0 + -iv "fileOptionsRenameAll" 0 + -sv "fileOptionsRenamePrefix" "" + -iv "fileOptionsUseRenamePrefix" 0 + -sv "fileReferenceRefLoadSetting" "all" + -iv "fileSelPreload" 0; +optionVar + -sv "fluidCacheOptions" "" + -iv "frameRateVisibility" 1 + -iv "freeFilletEuc" 0 + -iv "freeFilletLac" 1 + -fv "freeFormFilletBias" 0 + -fv "freeFormFilletDepth" 0.5 + -fv "freeFormFilletLocalPositionalTolerance" 0.1 + -fv "freeFormFilletLocalTangentTolerance" 0.1 + -iv "freeFormFilletOutputPolygons" 0 + -iv "freeFormFilletUseGlobalTolerance" 0; +optionVar + -iv "freeFormFilletUseUseGlobalTolerance" 1 + -iv "freezeTransformationsJointOrient" 0 + -iv "freezeTransformationsNormal" 0 + -iv "freezeTransformationsRotate" 0 + -iv "freezeTransformationsScale" 1 + -iv "freezeTransformationsTranslate" 0 + -iv "freezeTransformationsWhen" 1 + -sv "furAttrMapOptions" "" + -sv "furEqualMapOptions" "" + -sv "furFilesOptions" ""; +optionVar + -sv "furImagesOptions" "" + -sv "furShadowMapOptions" "" + -iv "gCloseFlag" 0 + -iv "geometryConstraintAddTargets" 1 + -fv "geometryConstraintWeight" 1 + -iv "ghostFrameStep" 1 + -iv "ghostFramesAfter" 3 + -iv "ghostFramesBefore" 3 + -iv "globalStitchCheckInteriors" 1 + -iv "globalStitchCorners" 1; +optionVar + -iv "globalStitchEdges" 1 + -iv "globalStitchEuc" 1 + -iv "globalStitchKeepOriginal" 0 + -iv "globalStitchLac" 0 + -fv "globalStitchMaxSeparation" 0.001 + -fv "globalStitchModificationResistance" 0.1 + -iv "globalStitchSampling" 8 + -iv "globalStitchSmoothness" 2 + -iv "globalVisibilityOfComponentBars" 1 + -iv "goalUseTransform" 0; +optionVar + -fv "goalWeight" 0.5 + -sv "graphDollyContext" "graphDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphDollyContext" + -iv "graphEdOutlinerWidth" 310 + -iv "graphEditorAutoFit" 0 + -iv "graphEditorClipTime" 1 + -sv "graphTrackContext" "graphTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphTrackContext" + -fv "gravityAttenuation" 0 + -fv "gravityDirectionX" 0 + -fv "gravityDirectionY" -1 + -fv "gravityDirectionZ" 0; +optionVar + -fv "gravityMagnitude" 5 + -fv "gravityMaxDistCBox" 0 + -fv "gravityMaxDistance" 0 + -sv "gravityName" "Main Gravity" + -fv "gravityTorusSectionRadius" 0.5 + -iv "gravityVolumeExclusion" 0 + -iv "gravityVolumeFieldTypesOM" 1 + -fv "gravityVolumeOffsetX" 0 + -fv "gravityVolumeOffsetY" 0 + -fv "gravityVolumeOffsetZ" 0; +optionVar + -fv "gravityVolumeSweep" 360 + -fv "gridDivisions" 5 + -fv "gridSize" 250 + -fv "gridSpacing" 50 + -iv "groupPreserve" 1 + -iv "groupWorld" 0 + -iv "groupZeroPivot" 1 + -iv "helpBrowserRaiseWindow" 1 + -iv "helpBrowserUseWindow" 0 + -iv "helpInMainWindow" 0; +optionVar + -sv "helpLanguage" "en_US" + -iv "helpLineVisible" 1 + -iv "helpPopupDisplayTime" 10 + -sv "helpUrl" "" + -iv "highPrecisionNurbs" 0 + -sv "hotBoxDisplayStyle" "-dh" + -iv "hotBoxTransparencyLevel" 0 + -iv "hsBinsSortShadingNodesOnly" 1 + -iv "hsClearBeforeGraphing" 1 + -iv "hsShapeDisplay" 2; +optionVar + -iv "hsTransformDisplay" 1 + -iv "hwRendererBumpResX" 2048 + -iv "hwRendererBumpResY" 512 + -iv "hwRendererColorResX" 2048 + -iv "hwRendererColorResY" 2048 + -sv "hwRendererCullingOverride" "singleSided" + -iv "hwRendererLowQualLighting" 0 + -iv "hwRendererOcclusionCulling" 1 + -sv "hwRendererTranspAlg" "frontAndBackCull" + -iv "hwRendererTranspInShadows" 0; +optionVar + -iv "hwRendererUseMaxHWLights" 1 + -iv "hwTxAniso" 0 + -sv "hwTxBlend" "modulate" + -iv "hwTxFilter" 2 + -ca "hyperShadeFirstPaneTabs" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab1" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab2" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab3" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab4" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab5" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab6" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab7" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab8" + -iv "hyperShadePanelCreateBarIconsAndTextWidth" 172 + -iv "hyperShadePanelCreateBarShown" 1 + -sv "hyperShadePanelTabSectionsShown" "showTopAndBottomTabs" + -sv "hyperShadePanelWorkAreaTab" "MayaWindow|mayaMainWindowForm|formLayout3|viewPanes|hyperShadePanel1|hyperShadePanel1|mainForm|paneArrangement|secondPaneTabs|formLayout74" + -ca "hyperShadeSecondPaneTabs" + -sva "hyperShadeSecondPaneTabs" "hyperShadeTab9"; +optionVar + -iv "hyperShadeTab1" 1 + -sv "hyperShadeTab1Filter" "MaterialsAndShaderGlow" + -sv "hyperShadeTab1HypershadeName" "collection1HyperShadeEd" + -sv "hyperShadeTab1IconSize" "largeIcons" + -sv "hyperShadeTab1Label" "Materials" + -sv "hyperShadeTab1Type" "scene" + -iv "hyperShadeTab2" 1 + -sv "hyperShadeTab2Filter" "Textures" + -sv "hyperShadeTab2HypershadeName" "collection2HyperShadeEd" + -sv "hyperShadeTab2IconSize" "superIcons"; +optionVar + -sv "hyperShadeTab2Label" "Textures" + -sv "hyperShadeTab2Type" "scene" + -iv "hyperShadeTab3" 1 + -sv "hyperShadeTab3Filter" "Utilities" + -sv "hyperShadeTab3HypershadeName" "collection3HyperShadeEd" + -sv "hyperShadeTab3IconSize" "mediumIcons" + -sv "hyperShadeTab3Label" "Utilities" + -sv "hyperShadeTab3Type" "scene" + -iv "hyperShadeTab4" 1 + -sv "hyperShadeTab4Filter" "LightsAndOpticalFX"; +optionVar + -sv "hyperShadeTab4HypershadeName" "collection4HyperShadeEd" + -sv "hyperShadeTab4IconSize" "mediumIcons" + -sv "hyperShadeTab4Label" "Lights" + -sv "hyperShadeTab4Type" "scene" + -iv "hyperShadeTab5" 1 + -sv "hyperShadeTab5Filter" "Cameras" + -sv "hyperShadeTab5HypershadeName" "collection5HyperShadeEd" + -sv "hyperShadeTab5IconSize" "mediumIcons" + -sv "hyperShadeTab5Label" "Cameras" + -sv "hyperShadeTab5Type" "scene"; +optionVar + -iv "hyperShadeTab6" 1 + -sv "hyperShadeTab6Filter" "ShadingGroups" + -sv "hyperShadeTab6HypershadeName" "collection6HyperShadeEd" + -sv "hyperShadeTab6IconSize" "largeIcons" + -sv "hyperShadeTab6Label" "Shading Groups" + -sv "hyperShadeTab6Type" "scene" + -iv "hyperShadeTab7" 1 + -sv "hyperShadeTab7Filter" "BakeSets" + -sv "hyperShadeTab7HypershadeName" "collection7HyperShadeEd" + -sv "hyperShadeTab7Label" "Bake Sets"; +optionVar + -sv "hyperShadeTab7Type" "scene" + -iv "hyperShadeTab8" 1 + -sv "hyperShadeTab8CurrentDirectory" "C:/Graphics/Projects/" + -iv "hyperShadeTab8DirectoriesShown" 1 + -sv "hyperShadeTab8DirectoriesVisorName" "directories1VisorEd" + -iv "hyperShadeTab8FilesShown" 1 + -sv "hyperShadeTab8FilesVisorName" "files1VisorEd" + -sv "hyperShadeTab8Label" "Projects" + -sv "hyperShadeTab8RootDirectory" "C:/Graphics/Projects/" + -sv "hyperShadeTab8Type" "disk"; +optionVar + -iv "hyperShadeTab9" 1 + -sv "hyperShadeTab9HypershadeName" "graph1HyperShadeEd" + -sv "hyperShadeTab9Label" "Work Area" + -sv "hyperShadeTab9Type" "protected graph" + -iv "hypergraphColorOverride" 0 + -iv "hypergraphDisplayConstraints" 1 + -iv "hypergraphDisplayDeformers" 1 + -iv "hypergraphDisplayExpressions" 1 + -iv "hypergraphDisplayImage" 1 + -iv "hypergraphDisplayInvisibleNodes" 1; +optionVar + -iv "hypergraphDisplayShapeNodes" 1 + -iv "hypergraphDisplayUnderworldNodes" 1 + -iv "hypergraphFreeform" 0 + -sv "hypergraphGraphLayoutStyle" "HierarchicalLayout" + -sv "hypergraphOrientation" "horiz" + -iv "hypergraphShowCachedConnections" 1 + -iv "hypergraphUpdateNodeAdded" 1 + -iv "hypergraphUpdateSelection" 1 + -sv "iconsBackgroundColorStatus" "iconsBackgroundColorWhiteIRB" + -iv "iconsSizeHeightStatus" 50; +optionVar + -iv "iconsSizeWidthStatus" 50 + -iv "ignoreSelectionPriority" 0 + -iv "ikFKSwitchState" 0 + -sv "ikHandleContext" "ikHandleCtx -e -image1 \"kinHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikRPsolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikHandleContext" + -fv "ikHandleDisplayScale" 1 + -sv "ikIkFkDisplayMethod" "ikfk" + -fv "ikIkFkJointDisplayScale" 1 + -fv "ikJointDisplayScale" 1 + -sv "ikSplineHandleContext" "ikSplineHandleCtx -e -image1 \"kinSplineHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikSplineSolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikSplineHandleContext" + -sv "imageOptions" ""; +optionVar + -iv "importKeepReferences" 1 + -sv "inTangentType" "linear" + -iv "incrementalSaveLimitBackups" 0 + -iv "incrementalSaveMaxBackups" 20 + -iv "insertIsoAddOrComplement" 1 + -iv "insertIsoBetween" 0 + -iv "insertIsoKeepOriginal" 0 + -iv "insertIsoNumberOfIsosToInsert" 1 + -sv "insertJointContext" "insertJointCtx -e -image1 \"kinInsert.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" insertJointContext" + -sv "insertKeyContext" "insertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\ninsertKeyContext"; +optionVar + -iv "insertKnotAddOrComplement" 1 + -iv "insertKnotBetween" 0 + -iv "insertKnotIsoparm" 0 + -iv "insertKnotKeepOriginal" 0 + -iv "insertKnotNumberOfKnotsToInsert" 1 + -iv "intersectCosAs2D" 0 + -iv "intersectCosOnlyOnFirstSurface" 0 + -fv "intersectCurveDirX" 0 + -fv "intersectCurveDirY" 1 + -fv "intersectCurveDirZ" 0; +optionVar + -iv "intersectCurveEuc" 1 + -iv "intersectCurveLac" 0 + -iv "intersectCurveUseDirection" 2 + -iv "intersectCurveWithAllCurvesOrLastCurve" 1 + -iv "intersectEuc" 0 + -iv "intersectLac" 1 + -fv "intersectSrfTolerance" 0.01 + -iv "intersectSrfUseGlobalTol" 0 + -iv "iprRenderMotionBlur" 1 + -iv "iprRenderShading" 1; +optionVar + -iv "iprRenderShadowMaps" 1 + -iv "isAttributeEditorVisible" 0 + -iv "isHotBoxAnimationRowVisible" 0 + -iv "isHotBoxClothRowVisible" 0 + -iv "isHotBoxCommonRowVisible" 1 + -iv "isHotBoxControlRowVisible" 1 + -iv "isHotBoxDynamicsRowVisible" 0 + -iv "isHotBoxLiveRowVisible" 0 + -iv "isHotBoxModelingRowVisible" 1 + -iv "isHotBoxNClothRowVisible" 0; +optionVar + -iv "isHotBoxPane-SpecificRowVisible" 1 + -iv "isHotBoxPaneSpecificRowVisible" 1 + -iv "isHotBoxPolygonsRowVisible" 1 + -iv "isHotBoxRenderingRowVisible" 0 + -iv "isHotBoxRmbPopupsOn" 0 + -iv "isHotBoxShowAll" 0 + -iv "isHotBoxSurfacesRowVisible" 0 + -iv "isIncrementalSaveEnabled" 1 + -iv "isMarkingMenuOn" 1 + -iv "isShelfLoad" 1; +optionVar + -iv "isShelfSave" 1 + -iv "isShelfVisible" 1 + -sv "jointContext" "jointCtx -e -image1 \"kinJoint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -scaleCompensateJ 1\n-degreeOfFreedomJ \"xyz\" -jointOrientationJ 0 0 0 -scaleOrientationJ 0 0 0 -scaleJ 1 1 1 -autoJointOrient \"xyz\" -secondaryAxisOrient \"yup\" -jointAutoLimits 0\n-createIKHandle 0\n-solverTypeH \"ikRPsolver\" -autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-smallBoneLength 1\n-smallBoneRadius 0.5\n-largeBoneLength 30\n-largeBoneRadius 2\njointContext" + -iv "journalIsOn" 1 + -iv "keyControlPoints" 0 + -iv "keyHierarchy" 0 + -iv "keySetFBIK" 1 + -iv "keySetIKFK" 0 + -iv "keyShapes" 1 + -iv "keyUseChannelBox" 0; +optionVar + -sv "keyframeRegionDirectKeyContext" "keyframeRegionDirectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionDirectKeyContext" + -sv "keyframeRegionDollyContext" "keyframeRegionDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionDollyContext" + -sv "keyframeRegionInsertKeyContext" "keyframeRegionInsertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 1\nkeyframeRegionInsertKeyContext" + -sv "keyframeRegionMoveKeyContext" "keyframeRegionMoveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionMoveKeyContext" + -sv "keyframeRegionScaleKeyContext" "keyframeRegionScaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 0\nkeyframeRegionScaleKeyContext" + -sv "keyframeRegionSelectKeyContext" "keyframeRegionSelectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionSelectKeyContext" + -sv "keyframeRegionSetKeyContext" "keyframeRegionSetKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nkeyframeRegionSetKeyContext" + -sv "keyframeRegionTrackContext" "keyframeRegionTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionTrackContext" + -sv "lastLocalWS" "C:/temp/DeleteMeIfYouNeedRoom/Doghouse_Mini" + -iv "latticeAutoParent" 0; +optionVar + -iv "latticeCommonParent" 0 + -sv "latticeDeformKeyContext" "latticeDeformKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-scaleLatticePts 0\nlatticeDeformKeyContext" + -iv "latticeDivX" 2 + -iv "latticeDivY" 2 + -iv "latticeDivZ" 2 + -sv "latticeExclName" "deformPartition" + -iv "latticeExclusive" 0 + -iv "latticeFreezeMapping" 0 + -iv "latticeLocal" 1 + -iv "latticeLocalDivX" 2; +optionVar + -iv "latticeLocalDivY" 2 + -iv "latticeLocalDivZ" 2 + -iv "latticeObjectCentered" 1 + -fv "latticeOutsideFalloffDistance" 1 + -sv "latticeOutsideTransform" "inside" + -sv "latticePositioning" "default" + -iv "leInMainWindow" 1 + -iv "loadDynamics" 1 + -iv "loadUrchin" 1 + -iv "loftAutoReverse" 1; +optionVar + -iv "loftClose" 0 + -iv "loftDegree" 1 + -iv "loftEuc" 0 + -iv "loftLac" 1 + -iv "loftPolys" 0 + -iv "loftRange" 0 + -iv "loftSectionSpans" 1 + -iv "loftUniform" 0 + -fv "ltsFarClip" 1000 + -fv "ltsNearClip" 0.001; +optionVar + -iv "mainMenuBarNeedsToBeTraversedWhenHotkeyEditorIsOpened" 1 + -iv "mainWindowDisable" 0 + -iv "mainWindowMenubarVis" 1 + -iv "mainWindowTitleBarVis" 1 + -fv "manipGlobalScale" 1.5 + -fv "manipHandleSize" 35 + -fv "manipLinePickSize" 1 + -fv "manipLineSize" 1 + -fv "manipMiddleMouseRepos" 0 + -fv "manipPreviousStateSize" 6; +optionVar + -ca "markingMenuEditorAnnotations" + -sva "markingMenuEditorAnnotations" "ChangePanelLayout" + -sva "markingMenuEditorAnnotations" "ChangePanelType" + -sva "markingMenuEditorAnnotations" "ControlPaneVisibility" + -sva "markingMenuEditorAnnotations" "ChangeSelectionMask" + -sva "markingMenuEditorAnnotations" "CommonModelingPanes" + -sva "markingMenuEditorAnnotations" "PA_Style_LMB" + -sva "markingMenuEditorAnnotations" "PA_Style_MMB" + -sva "markingMenuEditorAnnotations" "PA_Style_RMB" + -ca "markingMenuEditorDisplayAsMMFlags" + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -ca "markingMenuEditorFilenames" + -sva "markingMenuEditorFilenames" "menu_ChangePanelLayout" + -sva "markingMenuEditorFilenames" "menu_ChangePanelType" + -sva "markingMenuEditorFilenames" "menu_ControlPaneVisibility" + -sva "markingMenuEditorFilenames" "menu_ChangeSelectionMask" + -sva "markingMenuEditorFilenames" "menu_CommonModelingPanes" + -sva "markingMenuEditorFilenames" "menu_PA_Style_LMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_MMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_RMB" + -ca "markingMenuEditorIsNamedCommandFlags" + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iv "maxImageSizeForSwatchGen" 2000 + -iv "maxTextureResolution" 4096 + -sv "mayaAsciiOptions" "v=1" + -sv "mayaBinaryOptions" "v=1" + -iv "mayaMacButtonMap" 3 + -sv "mayaMode" "polygonsMenuSet"; +optionVar + -sv "melOptions" "" + -sv "mellsplsLASTPATH" "C:/Documents and Settings/Elrond/My Documents/maya/8.5-x64/PaulScripts/scripts/" + -sv "mentalRayOptions" "" + -iv "miCacheOptimFileTextures" 0 + -iv "miFileTextureCacheConversionScope" 1 + -sv "miFileTextureCacheLocation" "" + -iv "miFileTextureCacheStorageMode" 0 + -iv "miUseMayaAlphaDetection" 0 + -iv "middleMouseRepos" 0 + -ca "minorNodeTypes" + -iva "minorNodeTypes" 1397509968 + -iva "minorNodeTypes" 1330007124 + -iva "minorNodeTypes" 1330792012 + -iva "minorNodeTypes" 1330529868 + -iva "minorNodeTypes" 1330464332 + -iva "minorNodeTypes" 1330004308 + -iva "minorNodeTypes" 1330923084 + -iva "minorNodeTypes" 1330857548 + -iva "minorNodeTypes" 1196576848 + -iva "minorNodeTypes" 1145918537 + -iva "minorNodeTypes" 1280070484 + -iva "minorNodeTypes" 1314083656 + -iva "minorNodeTypes" 1313166152 + -iva "minorNodeTypes" 1297435724 + -iva "minorNodeTypes" 1145390668 + -iva "minorNodeTypes" 1347441492 + -iva "minorNodeTypes" 1380209484 + -iva "minorNodeTypes" 1146246476 + -iva "minorNodeTypes" 1380206412 + -iva "minorNodeTypes" 1380404290 + -iva "minorNodeTypes" 1381061953 + -iva "minorNodeTypes" 1380734030 + -iva "minorNodeTypes" 1146441300 + -iva "minorNodeTypes" 1196443972 + -iva "minorNodeTypes" 1213812812 + -iva "minorNodeTypes" 1213812818; +optionVar + -iv "minorNodeTypesDisplay" 1 + -iv "missingReferenceDialogBakeChanges" 0 + -iv "mlRotoCacheSize" 10 + -iv "mlRotoPixelType" 0 + -iv "mlRotoTextureMethod" 1 + -iv "modelWithToolAlignCurve" 0 + -iv "modelWithToolAlignSurface" 0 + -iv "modelWithToolAttachCurve" 0 + -iv "modelWithToolAttachSurface" 0 + -iv "modelWithToolBevel" 0; +optionVar + -iv "modelWithToolBoundary" 0 + -iv "modelWithToolCircFillet" 0 + -iv "modelWithToolCloseCurve" 0 + -iv "modelWithToolCloseSurface" 0 + -iv "modelWithToolCutCurve" 0 + -iv "modelWithToolCvHardness" 0 + -iv "modelWithToolDetachCurve" 0 + -iv "modelWithToolDetachSurface" 0 + -iv "modelWithToolDuplCurve" 0 + -iv "modelWithToolDuplicateSurface" 0; +optionVar + -iv "modelWithToolExtendCosCurve" 0 + -iv "modelWithToolExtendCurve" 0 + -iv "modelWithToolExtendSurface" 0 + -iv "modelWithToolExtrude" 0 + -iv "modelWithToolFilletCurve" 0 + -iv "modelWithToolFitBspline" 0 + -iv "modelWithToolFreeFillet" 0 + -iv "modelWithToolGlobalStitch" 0 + -iv "modelWithToolInsertCurve" 0 + -iv "modelWithToolInsertSurface" 0; +optionVar + -iv "modelWithToolIntersect" 0 + -iv "modelWithToolIntersectCurve" 0 + -iv "modelWithToolLoft" 0 + -iv "modelWithToolOffsetCoS" 0 + -iv "modelWithToolOffsetCurve" 0 + -iv "modelWithToolOffsetSurface" 0 + -iv "modelWithToolPlanar" 0 + -iv "modelWithToolProject" 0 + -iv "modelWithToolProjectTangent" 0 + -iv "modelWithToolRebuildCurve" 0; +optionVar + -iv "modelWithToolRebuildSurface" 0 + -iv "modelWithToolReverseCurve" 0 + -iv "modelWithToolReverseSurface" 0 + -iv "modelWithToolRevolve" 0 + -iv "modelWithToolSmoothCurve" 0 + -iv "modelWithToolSquareSrf" 0 + -iv "modelWithToolUntrim" 0 + -fv "motionTrailByTime" 1 + -iv "motionTrailDrawStyle" 1 + -fv "motionTrailEndTime" 10; +optionVar + -iv "motionTrailForceUpdate" 2 + -iv "motionTrailFrames" 0 + -fv "motionTrailStartTime" 1 + -iv "motionTrailTSRange" 1 + -sv "moveKeyContext" "moveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" -moveFunction \"constant\" moveKeyContext" + -sv "moveOptions" "" + -iv "multiListerPanel1BottomListerActiveTab" 1 + -ca "multiListerPanel1BottomListerCmds" + -sva "multiListerPanel1BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerCount" 1 + -ca "multiListerPanel1BottomListerLabels" + -sva "multiListerPanel1BottomListerLabels" "Textures"; +optionVar + -ca "multiListerPanel1BottomListerNames" + -sva "multiListerPanel1BottomListerNames" "multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerTabHeight" 50 + -iv "multiListerPanel1ButtonBar" 1 + -sv "multiListerPanel1NewTabFilter" "DefaultSGLightShapesFilter" + -iv "multiListerPanel1TopListerActiveTab" 1 + -ca "multiListerPanel1TopListerCmds" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab4" + -iv "multiListerPanel1TopListerCount" 4 + -ca "multiListerPanel1TopListerLabels" + -sva "multiListerPanel1TopListerLabels" "General" + -sva "multiListerPanel1TopListerLabels" "Materials" + -sva "multiListerPanel1TopListerLabels" "Lights" + -sva "multiListerPanel1TopListerLabels" "Cameras" + -ca "multiListerPanel1TopListerNames" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab4" + -sv "multiListerPanel1WorkArea" "single"; +optionVar + -iv "multiListerPanel1WorkAreaHeight" 33 + -iv "multiListerPanel2BottomListerActiveTab" 1 + -ca "multiListerPanel2BottomListerCmds" + -sva "multiListerPanel2BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2BottomTab1" + -iv "multiListerPanel2BottomListerCount" 1 + -ca "multiListerPanel2BottomListerLabels" + -sva "multiListerPanel2BottomListerLabels" "Textures" + -ca "multiListerPanel2BottomListerNames" + -sva "multiListerPanel2BottomListerNames" "multiListerPanel2BottomTab1" + -iv "multiListerPanel2BottomListerTabHeight" 50 + -iv "multiListerPanel2ButtonBar" 1 + -sv "multiListerPanel2NewTabFilter" "DefaultSGLightShapesFilter" + -iv "multiListerPanel2TopListerActiveTab" 1; +optionVar + -ca "multiListerPanel2TopListerCmds" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab1" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab2" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab3" + -sva "multiListerPanel2TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel2HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel2TopTab4" + -iv "multiListerPanel2TopListerCount" 4 + -ca "multiListerPanel2TopListerLabels" + -sva "multiListerPanel2TopListerLabels" "General" + -sva "multiListerPanel2TopListerLabels" "Materials" + -sva "multiListerPanel2TopListerLabels" "Lights" + -sva "multiListerPanel2TopListerLabels" "Cameras" + -ca "multiListerPanel2TopListerNames" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab1" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab2" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab3" + -sva "multiListerPanel2TopListerNames" "multiListerPanel2TopTab4" + -sv "multiListerPanel2WorkArea" "single" + -iv "multiListerPanel2WorkAreaHeight" 33 + -sv "nameOfHotBoxC1MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC2MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC3MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxE1MarkingMenu" "ControlPaneVisibility"; +optionVar + -sv "nameOfHotBoxE2MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE3MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxN1MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN2MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN3MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxS1MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS2MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS3MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxW1MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW2MarkingMenu" "ChangeSelectionMask"; +optionVar + -sv "nameOfHotBoxW3MarkingMenu" "ChangeSelectionMask" + -sv "namespaceTextFieldStatus" "myNamespace" + -iv "newCurveDisplayCV" 0 + -iv "newCurveDisplayEP" 0 + -iv "newCurveDisplayHull" 0 + -iv "newFileEnabled" 0 + -sv "newFileName" "" + -iv "newNurbsIsoparms" 0 + -iv "newNurbsPointsShaded" 1 + -iv "newNurbsPointsWire" 5; +optionVar + -iv "newPolyBackFaceCull" 0 + -iv "newPolyBorderEdgeHilite" 0 + -fv "newPolyBorderEdgeSize" 9.0426 + -iv "newPolyBorderMapHilite" 0 + -iv "newPolyColorChannel" 3 + -iv "newPolyColorShaded" 0 + -iv "newPolyCreaseEdgeHilite" 1 + -iv "newPolyCreaseVertexHilite" 1 + -iv "newPolyEdgeDisp" 0 + -iv "newPolyFacetCentreDisp" 0; +optionVar + -iv "newPolyFacetNormalDisp" 0 + -iv "newPolyFacetTrngleDisp" 0 + -iv "newPolyFacetWarpDisp" 0 + -iv "newPolyMaterialBlend" 1 + -fv "newPolyNormalSize" 0.4 + -iv "newPolyNumEdgeDisp" 0 + -iv "newPolyNumFacetDisp" 0 + -iv "newPolyNumUvDisp" 0 + -iv "newPolyNumVertexDisp" 0 + -fv "newPolyUVSize" 4; +optionVar + -iv "newPolyVertexNormals" 0 + -fv "newPolyVertexSize" 3 + -iv "newPolyVtxBackCull" 1 + -iv "newPolyVtxDisp" 0 + -sv "newScenePanelConfiguration" "Single Perspective View" + -iv "newSurfaceDisplayCV" 0 + -iv "newSurfaceDisplayEP" 0 + -iv "newSurfaceDisplayHull" 0 + -iv "newSurfaceDisplayOrigin" 0 + -iv "normalConstraintAddTargets" 1; +optionVar + -ca "normalConstraintAimVector" + -fva "normalConstraintAimVector" 0 + -fva "normalConstraintAimVector" 0 + -fva "normalConstraintAimVector" 1 + -ca "normalConstraintUpVector" + -fva "normalConstraintUpVector" 0 + -fva "normalConstraintUpVector" 1 + -fva "normalConstraintUpVector" 0 + -fv "normalConstraintWeight" 1 + -sv "normalConstraintWorldUpObject" "" + -sv "normalConstraintWorldUpType" "vector" + -ca "normalConstraintWorldUpVector" + -fva "normalConstraintWorldUpVector" 0 + -fva "normalConstraintWorldUpVector" -1 + -fva "normalConstraintWorldUpVector" 0 + -iv "numShelves" 23 + -iv "nurbsCircleAxisType" 2 + -fv "nurbsCircleAxisX" 0 + -fv "nurbsCircleAxisY" 1; +optionVar + -fv "nurbsCircleAxisZ" 0 + -iv "nurbsCircleDegree" 3 + -fv "nurbsCircleEndSweep" 360 + -iv "nurbsCirclePivotType" 1 + -fv "nurbsCirclePivotX" 0 + -fv "nurbsCirclePivotY" 0 + -fv "nurbsCirclePivotZ" 0 + -fv "nurbsCircleRadius" 1 + -iv "nurbsCircleSections" 8 + -fv "nurbsCircleTolerance" 0.01; +optionVar + -iv "nurbsCircleUseGlobalTol" 1 + -iv "nurbsCircleUseTolerance" 0 + -iv "nurbsCubeAxisType" 2 + -fv "nurbsCubeAxisX" 0 + -fv "nurbsCubeAxisY" 1 + -fv "nurbsCubeAxisZ" 0 + -iv "nurbsCubeDegree" 3 + -fv "nurbsCubeHeightRatio" 1 + -fv "nurbsCubeLengthRatio" 1 + -iv "nurbsCubePatchesU" 1; +optionVar + -iv "nurbsCubePatchesV" 1 + -iv "nurbsCubePivotType" 1 + -fv "nurbsCubePivotX" 0 + -fv "nurbsCubePivotY" 0 + -fv "nurbsCubePivotZ" 0 + -fv "nurbsCubeWidth" 1 + -iv "nurbsCylinderAxisType" 1 + -fv "nurbsCylinderAxisX" 0 + -fv "nurbsCylinderAxisY" 1 + -fv "nurbsCylinderAxisZ" 0; +optionVar + -iv "nurbsCylinderCaps" 3 + -iv "nurbsCylinderDegree" 3 + -fv "nurbsCylinderEndSweep" 360 + -iv "nurbsCylinderGroupCaps" 1 + -fv "nurbsCylinderHeightRatio" 250 + -iv "nurbsCylinderPivotType" 1 + -fv "nurbsCylinderPivotX" 0 + -fv "nurbsCylinderPivotY" 0 + -fv "nurbsCylinderPivotZ" 0 + -fv "nurbsCylinderRadius" 1; +optionVar + -iv "nurbsCylinderSections" 12 + -iv "nurbsCylinderSpans" 200 + -fv "nurbsCylinderStartSweep" 0 + -fv "nurbsCylinderTolerance" 0.01 + -iv "nurbsCylinderUseGlobalTolerance" 0 + -iv "nurbsCylinderUseTolerance" 0 + -iv "nurbsPlaneAxisType" 2 + -fv "nurbsPlaneAxisX" 0 + -fv "nurbsPlaneAxisY" 1 + -fv "nurbsPlaneAxisZ" 0; +optionVar + -iv "nurbsPlaneDegree" 3 + -fv "nurbsPlaneLengthRatio" 1 + -iv "nurbsPlanePatchesU" 1 + -iv "nurbsPlanePatchesV" 1 + -iv "nurbsPlanePivotType" 1 + -fv "nurbsPlanePivotX" 0 + -fv "nurbsPlanePivotY" 0 + -fv "nurbsPlanePivotZ" 0 + -fv "nurbsPlaneWidth" 1 + -iv "nurbsPrimitiveAsToolExitOnComplete" 1; +optionVar + -sv "nurbsSelect" "selectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" nurbsSelect" + -iv "nurbsSelectbb" 1 + -iv "nurbsSelectlb" 1 + -iv "nurbsSelectrb" 1 + -iv "nurbsSelecttb" 1 + -iv "nurbsUnionDeleteInput" 1 + -iv "objectDetailsVisibility" 0 + -iv "offsetCosConnectBreaks" 1 + -iv "offsetCosCutLoop" 0 + -fv "offsetCosDistance" 0; +optionVar + -iv "offsetCosEuc" 0 + -iv "offsetCosLac" 1 + -iv "offsetCosRangePartial" 0 + -iv "offsetCosStitch" 1 + -iv "offsetCosSubdivDensity" 5 + -fv "offsetCosTolerance" 0.01 + -iv "offsetCosUseGlobalTol" 0 + -iv "oneTimeDefaultPluginLoad50" 1 + -iv "oneTimeDefaultPluginLoad65" 1 + -iv "oneTimeDefaultPluginLoad70" 1; +optionVar + -iv "oneTimeDefaultPluginLoad80" 1 + -iv "oneTimeUnlimitedPluginLoad30" 1 + -ca "optionBoxDimensionsAim" + -iva "optionBoxDimensionsAim" 525 + -iva "optionBoxDimensionsAim" 350 + -ca "optionBoxDimensionsAlignCurves" + -iva "optionBoxDimensionsAlignCurves" 525 + -iva "optionBoxDimensionsAlignCurves" 350 + -ca "optionBoxDimensionsAlignSurfaces" + -iva "optionBoxDimensionsAlignSurfaces" 525 + -iva "optionBoxDimensionsAlignSurfaces" 350 + -ca "optionBoxDimensionsAlignUV" + -iva "optionBoxDimensionsAlignUV" 525 + -iva "optionBoxDimensionsAlignUV" 350 + -ca "optionBoxDimensionsAttachCurves" + -iva "optionBoxDimensionsAttachCurves" 525 + -iva "optionBoxDimensionsAttachCurves" 350 + -ca "optionBoxDimensionsAttachSurfaces" + -iva "optionBoxDimensionsAttachSurfaces" 525 + -iva "optionBoxDimensionsAttachSurfaces" 350 + -ca "optionBoxDimensionsAutomaticMapping" + -iva "optionBoxDimensionsAutomaticMapping" 635 + -iva "optionBoxDimensionsAutomaticMapping" 438 + -ca "optionBoxDimensionsAverageNormals" + -iva "optionBoxDimensionsAverageNormals" 525 + -iva "optionBoxDimensionsAverageNormals" 350; +optionVar + -ca "optionBoxDimensionsBirail1Tool" + -iva "optionBoxDimensionsBirail1Tool" 525 + -iva "optionBoxDimensionsBirail1Tool" 350 + -ca "optionBoxDimensionsChangeAnimCurveColor" + -iva "optionBoxDimensionsChangeAnimCurveColor" 525 + -iva "optionBoxDimensionsChangeAnimCurveColor" 350 + -ca "optionBoxDimensionsCircularFillet" + -iva "optionBoxDimensionsCircularFillet" 525 + -iva "optionBoxDimensionsCircularFillet" 350 + -ca "optionBoxDimensionsCleanup" + -iva "optionBoxDimensionsCleanup" 623 + -iva "optionBoxDimensionsCleanup" 576 + -ca "optionBoxDimensionsConvertFileText" + -iva "optionBoxDimensionsConvertFileText" 525 + -iva "optionBoxDimensionsConvertFileText" 350 + -ca "optionBoxDimensionsCopyCurrentUVSet" + -iva "optionBoxDimensionsCopyCurrentUVSet" 525 + -iva "optionBoxDimensionsCopyCurrentUVSet" 350 + -ca "optionBoxDimensionsCreateActiveRigidBody" + -iva "optionBoxDimensionsCreateActiveRigidBody" 612 + -iva "optionBoxDimensionsCreateActiveRigidBody" 579 + -ca "optionBoxDimensionsCreateEmitter" + -iva "optionBoxDimensionsCreateEmitter" 525 + -iva "optionBoxDimensionsCreateEmitter" 350 + -ca "optionBoxDimensionsCreateLattice" + -iva "optionBoxDimensionsCreateLattice" 525 + -iva "optionBoxDimensionsCreateLattice" 350 + -ca "optionBoxDimensionsCreatePassiveRigidBody" + -iva "optionBoxDimensionsCreatePassiveRigidBody" 562 + -iva "optionBoxDimensionsCreatePassiveRigidBody" 661; +optionVar + -ca "optionBoxDimensionsCreateReferenceOptions" + -iva "optionBoxDimensionsCreateReferenceOptions" 525 + -iva "optionBoxDimensionsCreateReferenceOptions" 350 + -ca "optionBoxDimensionsCreateSculptDeformer" + -iva "optionBoxDimensionsCreateSculptDeformer" 525 + -iva "optionBoxDimensionsCreateSculptDeformer" 350 + -ca "optionBoxDimensionsCustomNURBSDisplay" + -iva "optionBoxDimensionsCustomNURBSDisplay" 525 + -iva "optionBoxDimensionsCustomNURBSDisplay" 350 + -ca "optionBoxDimensionsCustomPolygonDisplay" + -iva "optionBoxDimensionsCustomPolygonDisplay" 525 + -iva "optionBoxDimensionsCustomPolygonDisplay" 350 + -ca "optionBoxDimensionsCutCurve" + -iva "optionBoxDimensionsCutCurve" 525 + -iva "optionBoxDimensionsCutCurve" 350 + -ca "optionBoxDimensionsCutFaces" + -iva "optionBoxDimensionsCutFaces" 525 + -iva "optionBoxDimensionsCutFaces" 350 + -ca "optionBoxDimensionsCylindricalMapping" + -iva "optionBoxDimensionsCylindricalMapping" 525 + -iva "optionBoxDimensionsCylindricalMapping" 350 + -ca "optionBoxDimensionsDetachCurves" + -iva "optionBoxDimensionsDetachCurves" 525 + -iva "optionBoxDimensionsDetachCurves" 350 + -ca "optionBoxDimensionsDuplicateSpecial" + -iva "optionBoxDimensionsDuplicateSpecial" 537 + -iva "optionBoxDimensionsDuplicateSpecial" 387 + -ca "optionBoxDimensionsDuplicateSurfaceCurves" + -iva "optionBoxDimensionsDuplicateSurfaceCurves" 525 + -iva "optionBoxDimensionsDuplicateSurfaceCurves" 350; +optionVar + -ca "optionBoxDimensionsEditPolygonsExtrudeFace" + -iva "optionBoxDimensionsEditPolygonsExtrudeFace" 525 + -iva "optionBoxDimensionsEditPolygonsExtrudeFace" 350 + -ca "optionBoxDimensionsEmitfromObject" + -iva "optionBoxDimensionsEmitfromObject" 771 + -iva "optionBoxDimensionsEmitfromObject" 598 + -ca "optionBoxDimensionsExportAllOptions" + -iva "optionBoxDimensionsExportAllOptions" 581 + -iva "optionBoxDimensionsExportAllOptions" 832 + -ca "optionBoxDimensionsExportSelectionOptions" + -iva "optionBoxDimensionsExportSelectionOptions" 801 + -iva "optionBoxDimensionsExportSelectionOptions" 749 + -ca "optionBoxDimensionsExtendCurve" + -iva "optionBoxDimensionsExtendCurve" 525 + -iva "optionBoxDimensionsExtendCurve" 350 + -ca "optionBoxDimensionsExtendSurfaces" + -iva "optionBoxDimensionsExtendSurfaces" 525 + -iva "optionBoxDimensionsExtendSurfaces" 350 + -ca "optionBoxDimensionsExtract" + -iva "optionBoxDimensionsExtract" 525 + -iva "optionBoxDimensionsExtract" 350 + -ca "optionBoxDimensionsExtrude" + -iva "optionBoxDimensionsExtrude" 525 + -iva "optionBoxDimensionsExtrude" 350 + -ca "optionBoxDimensionsExtrudeEdge" + -iva "optionBoxDimensionsExtrudeEdge" 525 + -iva "optionBoxDimensionsExtrudeEdge" 350 + -ca "optionBoxDimensionsExtrudeVertices" + -iva "optionBoxDimensionsExtrudeVertices" 525 + -iva "optionBoxDimensionsExtrudeVertices" 350; +optionVar + -ca "optionBoxDimensionsFilletBlendTool" + -iva "optionBoxDimensionsFilletBlendTool" 525 + -iva "optionBoxDimensionsFilletBlendTool" 350 + -ca "optionBoxDimensionsFlipUVs" + -iva "optionBoxDimensionsFlipUVs" 525 + -iva "optionBoxDimensionsFlipUVs" 350 + -ca "optionBoxDimensionsFreeformFillet" + -iva "optionBoxDimensionsFreeformFillet" 525 + -iva "optionBoxDimensionsFreeformFillet" 350 + -ca "optionBoxDimensionsFreezeTransformations" + -iva "optionBoxDimensionsFreezeTransformations" 525 + -iva "optionBoxDimensionsFreezeTransformations" 350 + -ca "optionBoxDimensionsGeometry" + -iva "optionBoxDimensionsGeometry" 525 + -iva "optionBoxDimensionsGeometry" 350 + -ca "optionBoxDimensionsGlobalStitch" + -iva "optionBoxDimensionsGlobalStitch" 525 + -iva "optionBoxDimensionsGlobalStitch" 350 + -ca "optionBoxDimensionsGoal" + -iva "optionBoxDimensionsGoal" 525 + -iva "optionBoxDimensionsGoal" 350 + -ca "optionBoxDimensionsGraphCopy" + -iva "optionBoxDimensionsGraphCopy" 525 + -iva "optionBoxDimensionsGraphCopy" 350 + -ca "optionBoxDimensionsGraphDelete" + -iva "optionBoxDimensionsGraphDelete" 525 + -iva "optionBoxDimensionsGraphDelete" 350 + -ca "optionBoxDimensionsGraphPaste" + -iva "optionBoxDimensionsGraphPaste" 525 + -iva "optionBoxDimensionsGraphPaste" 350; +optionVar + -ca "optionBoxDimensionsGraphScale" + -iva "optionBoxDimensionsGraphScale" 525 + -iva "optionBoxDimensionsGraphScale" 350 + -ca "optionBoxDimensionsGraphShowResults" + -iva "optionBoxDimensionsGraphShowResults" 525 + -iva "optionBoxDimensionsGraphShowResults" 350 + -ca "optionBoxDimensionsGraphSnap" + -iva "optionBoxDimensionsGraphSnap" 525 + -iva "optionBoxDimensionsGraphSnap" 350 + -ca "optionBoxDimensionsGravity" + -iva "optionBoxDimensionsGravity" 525 + -iva "optionBoxDimensionsGravity" 350 + -ca "optionBoxDimensionsGridOptions" + -iva "optionBoxDimensionsGridOptions" 525 + -iva "optionBoxDimensionsGridOptions" 350 + -ca "optionBoxDimensionsGroup" + -iva "optionBoxDimensionsGroup" 525 + -iva "optionBoxDimensionsGroup" 349 + -ca "optionBoxDimensionsHardwareRendererDisplay" + -iva "optionBoxDimensionsHardwareRendererDisplay" 525 + -iva "optionBoxDimensionsHardwareRendererDisplay" 347 + -ca "optionBoxDimensionsHardwareTextureDisplay" + -iva "optionBoxDimensionsHardwareTextureDisplay" 525 + -iva "optionBoxDimensionsHardwareTextureDisplay" 350 + -ca "optionBoxDimensionsHyperGraphOptions" + -iva "optionBoxDimensionsHyperGraphOptions" 525 + -iva "optionBoxDimensionsHyperGraphOptions" 350 + -ca "optionBoxDimensionsImportOptions" + -iva "optionBoxDimensionsImportOptions" 701 + -iva "optionBoxDimensionsImportOptions" 557; +optionVar + -ca "optionBoxDimensionsInstancer" + -iva "optionBoxDimensionsInstancer" 605 + -iva "optionBoxDimensionsInstancer" 707 + -ca "optionBoxDimensionsIntersectCurves" + -iva "optionBoxDimensionsIntersectCurves" 525 + -iva "optionBoxDimensionsIntersectCurves" 350 + -ca "optionBoxDimensionsKeysBakeSimulation" + -iva "optionBoxDimensionsKeysBakeSimulation" 525 + -iva "optionBoxDimensionsKeysBakeSimulation" 350 + -ca "optionBoxDimensionsLayoutUVs" + -iva "optionBoxDimensionsLayoutUVs" 525 + -iva "optionBoxDimensionsLayoutUVs" 350 + -ca "optionBoxDimensionsLoft" + -iva "optionBoxDimensionsLoft" 525 + -iva "optionBoxDimensionsLoft" 350 + -ca "optionBoxDimensionsLookThroughSelected" + -iva "optionBoxDimensionsLookThroughSelected" 525 + -iva "optionBoxDimensionsLookThroughSelected" 350 + -ca "optionBoxDimensionsMapUVBorder" + -iva "optionBoxDimensionsMapUVBorder" 525 + -iva "optionBoxDimensionsMapUVBorder" 350 + -ca "optionBoxDimensionsMergeMultipleEdges" + -iva "optionBoxDimensionsMergeMultipleEdges" 525 + -iva "optionBoxDimensionsMergeMultipleEdges" 350 + -ca "optionBoxDimensionsMergeUVs" + -iva "optionBoxDimensionsMergeUVs" 525 + -iva "optionBoxDimensionsMergeUVs" 350 + -ca "optionBoxDimensionsMergeVertices" + -iva "optionBoxDimensionsMergeVertices" 525 + -iva "optionBoxDimensionsMergeVertices" 350; +optionVar + -ca "optionBoxDimensionsMirrorCut" + -iva "optionBoxDimensionsMirrorCut" 525 + -iva "optionBoxDimensionsMirrorCut" 350 + -ca "optionBoxDimensionsMirrorGeometry" + -iva "optionBoxDimensionsMirrorGeometry" 525 + -iva "optionBoxDimensionsMirrorGeometry" 350 + -ca "optionBoxDimensionsModifyConstrainedAxis" + -iva "optionBoxDimensionsModifyConstrainedAxis" 525 + -iva "optionBoxDimensionsModifyConstrainedAxis" 350 + -ca "optionBoxDimensionsMotionTrail" + -iva "optionBoxDimensionsMotionTrail" 525 + -iva "optionBoxDimensionsMotionTrail" 350 + -ca "optionBoxDimensionsMrBakeText" + -iva "optionBoxDimensionsMrBakeText" 525 + -iva "optionBoxDimensionsMrBakeText" 350 + -ca "optionBoxDimensionsNURBStoPolygons" + -iva "optionBoxDimensionsNURBStoPolygons" 548 + -iva "optionBoxDimensionsNURBStoPolygons" 515 + -ca "optionBoxDimensionsNormal" + -iva "optionBoxDimensionsNormal" 525 + -iva "optionBoxDimensionsNormal" 350 + -ca "optionBoxDimensionsNurbsCylinder" + -iva "optionBoxDimensionsNurbsCylinder" 771 + -iva "optionBoxDimensionsNurbsCylinder" 568 + -ca "optionBoxDimensionsOpenSceneOptions" + -iva "optionBoxDimensionsOpenSceneOptions" 525 + -iva "optionBoxDimensionsOpenSceneOptions" 350 + -ca "optionBoxDimensionsOrient" + -iva "optionBoxDimensionsOrient" 525 + -iva "optionBoxDimensionsOrient" 350; +optionVar + -ca "optionBoxDimensionsParent" + -iva "optionBoxDimensionsParent" 525 + -iva "optionBoxDimensionsParent" 350 + -ca "optionBoxDimensionsParentConstraint" + -iva "optionBoxDimensionsParentConstraint" 525 + -iva "optionBoxDimensionsParentConstraint" 367 + -ca "optionBoxDimensionsPlanarMapping" + -iva "optionBoxDimensionsPlanarMapping" 525 + -iva "optionBoxDimensionsPlanarMapping" 342 + -ca "optionBoxDimensionsPlayblast" + -iva "optionBoxDimensionsPlayblast" 625 + -iva "optionBoxDimensionsPlayblast" 642 + -ca "optionBoxDimensionsPoint" + -iva "optionBoxDimensionsPoint" 525 + -iva "optionBoxDimensionsPoint" 350 + -ca "optionBoxDimensionsPointLight" + -iva "optionBoxDimensionsPointLight" 525 + -iva "optionBoxDimensionsPointLight" 350 + -ca "optionBoxDimensionsPolyGridUV" + -iva "optionBoxDimensionsPolyGridUV" 525 + -iva "optionBoxDimensionsPolyGridUV" 350 + -ca "optionBoxDimensionsPolygonsBevel" + -iva "optionBoxDimensionsPolygonsBevel" 525 + -iva "optionBoxDimensionsPolygonsBevel" 350 + -ca "optionBoxDimensionsPolygonsSmooth" + -iva "optionBoxDimensionsPolygonsSmooth" 525 + -iva "optionBoxDimensionsPolygonsSmooth" 350 + -ca "optionBoxDimensionsProjectCurveOnSurface" + -iva "optionBoxDimensionsProjectCurveOnSurface" 525 + -iva "optionBoxDimensionsProjectCurveOnSurface" 350; +optionVar + -ca "optionBoxDimensionsRadial" + -iva "optionBoxDimensionsRadial" 525 + -iva "optionBoxDimensionsRadial" 350 + -ca "optionBoxDimensionsRebuildCurve" + -iva "optionBoxDimensionsRebuildCurve" 523 + -iva "optionBoxDimensionsRebuildCurve" 350 + -ca "optionBoxDimensionsRebuildSurfaces" + -iva "optionBoxDimensionsRebuildSurfaces" 580 + -iva "optionBoxDimensionsRebuildSurfaces" 480 + -ca "optionBoxDimensionsRelaxUVs" + -iva "optionBoxDimensionsRelaxUVs" 525 + -iva "optionBoxDimensionsRelaxUVs" 350 + -ca "optionBoxDimensionsRemoveTarget" + -iva "optionBoxDimensionsRemoveTarget" 525 + -iva "optionBoxDimensionsRemoveTarget" 350 + -ca "optionBoxDimensionsRenameCurrentUVSet" + -iva "optionBoxDimensionsRenameCurrentUVSet" 525 + -iva "optionBoxDimensionsRenameCurrentUVSet" 350 + -ca "optionBoxDimensionsRenderAllLayersOptions" + -iva "optionBoxDimensionsRenderAllLayersOptions" 525 + -iva "optionBoxDimensionsRenderAllLayersOptions" 350 + -ca "optionBoxDimensionsResetTransformations" + -iva "optionBoxDimensionsResetTransformations" 525 + -iva "optionBoxDimensionsResetTransformations" 350 + -ca "optionBoxDimensionsRevolve" + -iva "optionBoxDimensionsRevolve" 525 + -iva "optionBoxDimensionsRevolve" 350 + -ca "optionBoxDimensionsRigidBind" + -iva "optionBoxDimensionsRigidBind" 525 + -iva "optionBoxDimensionsRigidBind" 350; +optionVar + -ca "optionBoxDimensionsSaveSceneAsOptions" + -iva "optionBoxDimensionsSaveSceneAsOptions" 525 + -iva "optionBoxDimensionsSaveSceneAsOptions" 350 + -ca "optionBoxDimensionsSaveSceneOptions" + -iva "optionBoxDimensionsSaveSceneOptions" 525 + -iva "optionBoxDimensionsSaveSceneOptions" 350 + -ca "optionBoxDimensionsSetCurrentUVSet" + -iva "optionBoxDimensionsSetCurrentUVSet" 525 + -iva "optionBoxDimensionsSetCurrentUVSet" 350 + -ca "optionBoxDimensionsSetVertexNormal" + -iva "optionBoxDimensionsSetVertexNormal" 525 + -iva "optionBoxDimensionsSetVertexNormal" 350 + -ca "optionBoxDimensionsSmoothCurve" + -iva "optionBoxDimensionsSmoothCurve" 525 + -iva "optionBoxDimensionsSmoothCurve" 350 + -ca "optionBoxDimensionsSmoothProxy" + -iva "optionBoxDimensionsSmoothProxy" 763 + -iva "optionBoxDimensionsSmoothProxy" 658 + -ca "optionBoxDimensionsSpotLight" + -iva "optionBoxDimensionsSpotLight" 525 + -iva "optionBoxDimensionsSpotLight" 350 + -ca "optionBoxDimensionsStitchSurfacePoints" + -iva "optionBoxDimensionsStitchSurfacePoints" 525 + -iva "optionBoxDimensionsStitchSurfacePoints" 350 + -ca "optionBoxDimensionsTransferAttributes" + -iva "optionBoxDimensionsTransferAttributes" 525 + -iva "optionBoxDimensionsTransferAttributes" 353 + -ca "optionBoxDimensionsUnparent" + -iva "optionBoxDimensionsUnparent" 525 + -iva "optionBoxDimensionsUnparent" 350; +optionVar + -ca "optionBoxDimensionsUntrimSurfaces" + -iva "optionBoxDimensionsUntrimSurfaces" 525 + -iva "optionBoxDimensionsUntrimSurfaces" 350 + -ca "optionBoxDimensionstexMoveUVShellTool" + -iva "optionBoxDimensionstexMoveUVShellTool" 525 + -iva "optionBoxDimensionstexMoveUVShellTool" 350 + -iv "orientConstMaintainOffset" 0 + -fv "orientConstOffsetX" 0 + -fv "orientConstOffsetY" 0 + -fv "orientConstOffsetZ" 0 + -iv "orientConstraintAddTargets" 1 + -iv "orientConstraintAxisX" 1 + -iv "orientConstraintAxisY" 1 + -iv "orientConstraintAxisZ" 1; +optionVar + -fv "orientConstraintWeight" 1 + -sv "outTangentType" "linear" + -sv "outlinerEditorStateString" " outlinerEditor -e \n -showShapes 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -autoExpand 0\n -showDagOnly 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName" + -iv "paintEffectsDisplayMesh" 1 + -iv "parConstMaintainOffset" 1 + -sv "paramDimContext" "paramDimContext -e -image1 \"paramDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" paramDimContext" + -iv "parentAdd" 0 + -iv "parentConstraintAddTargets" 1 + -iv "parentConstraintAxisRotateX" 1 + -iv "parentConstraintAxisRotateY" 1; +optionVar + -iv "parentConstraintAxisRotateZ" 1 + -iv "parentConstraintAxisTranslateX" 1 + -iv "parentConstraintAxisTranslateY" 1 + -iv "parentConstraintAxisTranslateZ" 1 + -fv "parentConstraintWeight" 1 + -iv "parentPreserve" 1 + -sv "particleInstancerName" "GoblinInstances" + -iv "pasteKeyConnect" 0 + -iv "pasteKeyCopies" 1 + -iv "pasteKeyHelpPictures" 0; +optionVar + -sv "pasteKeyOption" "merge" + -sv "pasteKeyRange" "0:24" + -iv "pasteKeyTargetTime" 3 + -fv "pasteKeyTimeOffset" 0 + -iv "pasteKeyTimeRangeOverride" 0 + -fv "pasteKeyValueOffset" 0 + -iv "pathAnimBankCB" 0 + -fv "pathAnimBankMaxSG" 90 + -fv "pathAnimBankScaleSG" 1 + -fv "pathAnimEndTimeSG" 240; +optionVar + -iv "pathAnimFollowCB" 1 + -iv "pathAnimFrameRangeRB" 3 + -iv "pathAnimFrontAxisRB" 1 + -iv "pathAnimInverseFrontCB" 0 + -iv "pathAnimInverseUpCB" 0 + -iv "pathAnimParametricLengthCB" 0 + -iv "pathAnimPrevFrontAxis" 1 + -iv "pathAnimPrevUpAxis" 2 + -fv "pathAnimStartTimeSG" 60 + -iv "pathAnimUpAxisRB" 2; +optionVar + -sv "pathAnimWorldUpObjectTF" "" + -sv "pathAnimWorldUpTypeOM" "scene" + -ca "pathAnimWorldUpVectorFF" + -fva "pathAnimWorldUpVectorFF" 0 + -fva "pathAnimWorldUpVectorFF" 1 + -fva "pathAnimWorldUpVectorFF" 0 + -sv "pathsBookmarksStatus" "" + -sv "performanceSettingBindSkinAndFlexors" "0" + -sv "performanceSettingBlendShapes" "0" + -sv "performanceSettingClusterResolution" "0" + -sv "performanceSettingClusters" "0" + -sv "performanceSettingFlexors" "0" + -fv "performanceSettingGlobalClusterResolution" 5; +optionVar + -fv "performanceSettingGlobalLatticeResolution" 0.01 + -sv "performanceSettingLatticeResolution" "0" + -sv "performanceSettingLattices" "0" + -sv "performanceSettingPaintEffects" "0" + -sv "performanceSettingSculpts" "0" + -sv "performanceSettingStitchSurfaces" "0" + -sv "performanceSettingTrimDisplay" "0" + -sv "performanceSettingWires" "0" + -iv "planarTrimDegree" 3 + -iv "planarTrimEuc" 0; +optionVar + -iv "planarTrimLac" 1 + -iv "planarTrimPartial" 0 + -iv "planarTrimPolys" 1 + -fv "playbackMax" 24 + -fv "playbackMaxDefault" 24 + -fv "playbackMaxRange" 48 + -fv "playbackMaxRangeDefault" 48 + -fv "playbackMin" 1 + -fv "playbackMinDefault" 1 + -fv "playbackMinRange" 1; +optionVar + -fv "playbackMinRangeDefault" 1 + -iv "playbackRangeVisible" 1 + -iv "playblastClearCache" 1 + -sv "playblastCompression" "none" + -iv "playblastDisplaySizeSource" 2 + -fv "playblastEndTime" 10 + -sv "playblastFile" "playblast" + -iv "playblastHeight" 480 + -iv "playblastOffscreen" 0 + -sv "playblastOutputFormat" "sgi"; +optionVar + -iv "playblastPadding" 4 + -iv "playblastSaveToFile" 1 + -fv "playblastScale" 1 + -iv "playblastShowOrnaments" 1 + -fv "playblastStartTime" 1 + -iv "playblastUseStartEnd" 0 + -iv "playblastViewerOn" 1 + -iv "playblastWidth" 640 + -sv "plug-inOptions" "" + -iv "pointConstraintAxisX" 1; +optionVar + -iv "pointConstraintAxisY" 1 + -iv "pointConstraintAxisZ" 1 + -fv "pointConstraintWeight" 1 + -ca "pointLightColor" + -fva "pointLightColor" 1 + -fva "pointLightColor" 1 + -fva "pointLightColor" 1 + -iv "pointLightDecay" 0 + -fv "pointLightIntensity" 1 + -ca "pointLightShadowColor" + -fva "pointLightShadowColor" 0 + -fva "pointLightShadowColor" 0 + -fva "pointLightShadowColor" 0 + -iv "pointLightShadows" 0 + -ca "pokeLocalTranslate" + -fva "pokeLocalTranslate" 0 + -fva "pokeLocalTranslate" 0 + -fva "pokeLocalTranslate" 0 + -ca "pokeTranslate" + -fva "pokeTranslate" 0 + -fva "pokeTranslate" 0 + -fva "pokeTranslate" 0; +optionVar + -iv "pokeTranslateLocalSpace" 0 + -iv "poleVectorConstraintAddTargets" 1 + -fv "poleVectorConstraintWeight" 1 + -sv "polyAppendFacetContext" "polyAppendFacetCtx -e -image1 \"polyAppendFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 1\n-subdivision 1\n-texture 1\n-rotate 0\n-isRotateAvailable 0\n-planarConstraint 0\n-maximumNumberOfPoints -1\npolyAppendFacetContext" + -iv "polyAutoConvertAction" 1 + -iv "polyAutoInstallAction" 0 + -iv "polyAutoProjcm" 0 + -fv "polyAutoProjeg" 0.2 + -iv "polyAutoProjibd" 0 + -iv "polyAutoProjl" 2; +optionVar + -iv "polyAutoProjlm" 1 + -iv "polyAutoProjo" 0 + -iv "polyAutoProjp" 1 + -iv "polyAutoProjpb" 0 + -sv "polyAutoProjpolyGeomObject" "" + -iv "polyAutoProjsc" 1 + -sv "polyAutoProjuvSetName" "uvSet1" + -iv "polyAutoShowColorPerVertex" 1 + -iv "polyAverageNormalAllowZero" 0 + -iv "polyAverageNormalPostnormalize" 1; +optionVar + -iv "polyAverageNormalPrenormalize" 0 + -ca "polyAverageNormalReplace" + -fva "polyAverageNormalReplace" 1 + -fva "polyAverageNormalReplace" 0 + -fva "polyAverageNormalReplace" 0 + -fv "polyAverageNormalTol" 0.1 + -iv "polyAverageVertexi" 2 + -ca "polyBdeClashColor" + -fva "polyBdeClashColor" 0 + -fva "polyBdeClashColor" 1 + -fva "polyBdeClashColor" 1 + -iv "polyBdeColorOnApply" 0 + -ca "polyBdeNoneColor" + -fva "polyBdeNoneColor" 0 + -fva "polyBdeNoneColor" 0 + -fva "polyBdeNoneColor" 0 + -iv "polyBdeNumQcRows" 0 + -iv "polyBdeNumTemplates" 0 + -ca "polyBdeOutOfRangeColor" + -fva "polyBdeOutOfRangeColor" 1 + -fva "polyBdeOutOfRangeColor" 1 + -fva "polyBdeOutOfRangeColor" 0; +optionVar + -iv "polyBevelAutofit" 0 + -fv "polyBevelOffset" 0.02 + -iv "polyBevelOffsetAsFraction" 1 + -iv "polyBevelOffsetWorld" 1 + -fv "polyBevelRound" 0.5 + -iv "polyBevelSegment" 1 + -iv "polyBevelUVAssignment" 0 + -iv "polyBrushMMModKeys" 0 + -iv "polyBrushOperation" 19 + -iv "polyChamferVertexDeleteFace" 0; +optionVar + -fv "polyChamferVertexWidth" 0.25 + -fv "polyChipOffDAttr" 0 + -iv "polyChipOffDDoSeparate" 1 + -ca "polyChipOffDGravity" + -fva "polyChipOffDGravity" 0 + -fva "polyChipOffDGravity" -1 + -fva "polyChipOffDGravity" 0 + -ca "polyChipOffDLocalDirection" + -fva "polyChipOffDLocalDirection" 1 + -fva "polyChipOffDLocalDirection" 0 + -fva "polyChipOffDLocalDirection" 0 + -ca "polyChipOffDLocalRotate" + -fva "polyChipOffDLocalRotate" 0 + -fva "polyChipOffDLocalRotate" 0 + -fva "polyChipOffDLocalRotate" 0 + -ca "polyChipOffDLocalScale" + -fva "polyChipOffDLocalScale" 1 + -fva "polyChipOffDLocalScale" 1 + -fva "polyChipOffDLocalScale" 1 + -ca "polyChipOffDLocalTranslate" + -fva "polyChipOffDLocalTranslate" 0 + -fva "polyChipOffDLocalTranslate" 0 + -fva "polyChipOffDLocalTranslate" 0 + -ca "polyChipOffDMagnet" + -fva "polyChipOffDMagnet" 0 + -fva "polyChipOffDMagnet" 0 + -fva "polyChipOffDMagnet" 0 + -fv "polyChipOffDOffset" 0; +optionVar + -fv "polyChipOffDRandom" 0 + -ca "polyChipOffDRotate" + -fva "polyChipOffDRotate" 0 + -fva "polyChipOffDRotate" 0 + -fva "polyChipOffDRotate" 0 + -ca "polyChipOffDScale" + -fva "polyChipOffDScale" 1 + -fva "polyChipOffDScale" 1 + -fva "polyChipOffDScale" 1 + -ca "polyChipOffDTranslate" + -fva "polyChipOffDTranslate" 0 + -fva "polyChipOffDTranslate" 0 + -fva "polyChipOffDTranslate" 0 + -fv "polyChipOffDWeight" 0 + -iv "polyChipOffDWorld" 0 + -fv "polyChipOffDWorldSpace" 0 + -fv "polyChipOffEAttr" 0 + -iv "polyChipOffEDoSeparate" 0 + -ca "polyChipOffEGravity" + -fva "polyChipOffEGravity" 0 + -fva "polyChipOffEGravity" -1 + -fva "polyChipOffEGravity" 0; +optionVar + -ca "polyChipOffELocalDirection" + -fva "polyChipOffELocalDirection" 1 + -fva "polyChipOffELocalDirection" 0 + -fva "polyChipOffELocalDirection" 0 + -ca "polyChipOffELocalRotate" + -fva "polyChipOffELocalRotate" 0 + -fva "polyChipOffELocalRotate" 0 + -fva "polyChipOffELocalRotate" 0 + -ca "polyChipOffELocalScale" + -fva "polyChipOffELocalScale" 1 + -fva "polyChipOffELocalScale" 1 + -fva "polyChipOffELocalScale" 1 + -ca "polyChipOffELocalTranslate" + -fva "polyChipOffELocalTranslate" 0 + -fva "polyChipOffELocalTranslate" 0 + -fva "polyChipOffELocalTranslate" 0 + -ca "polyChipOffEMagnet" + -fva "polyChipOffEMagnet" 0 + -fva "polyChipOffEMagnet" 0 + -fva "polyChipOffEMagnet" 0 + -fv "polyChipOffEOffset" 0 + -fv "polyChipOffERandom" 0 + -ca "polyChipOffERotate" + -fva "polyChipOffERotate" 0 + -fva "polyChipOffERotate" 0 + -fva "polyChipOffERotate" 0 + -ca "polyChipOffEScale" + -fva "polyChipOffEScale" 1 + -fva "polyChipOffEScale" 1 + -fva "polyChipOffEScale" 1 + -ca "polyChipOffETranslate" + -fva "polyChipOffETranslate" 0 + -fva "polyChipOffETranslate" 0 + -fva "polyChipOffETranslate" 0; +optionVar + -fv "polyChipOffEWeight" 0 + -iv "polyChipOffEWorld" 0 + -fv "polyChipOffEWorldSpace" 0 + -iv "polyCleanupAllMeshes" 0 + -iv "polyCleanupConcave" 0 + -iv "polyCleanupHistory" 1 + -iv "polyCleanupHoles" 0 + -iv "polyCleanupLaminaFace" 0 + -iv "polyCleanupNSided" 0 + -iv "polyCleanupNoTrgFace" 0; +optionVar + -iv "polyCleanupNonManifold" -2 + -iv "polyCleanupNonPlanar" 0 + -iv "polyCleanupOperation" 2 + -iv "polyCleanupQuads" 0 + -iv "polyCleanupSharedUVs" 0 + -fv "polyCleanupZeroGeomETol" 1e-005 + -iv "polyCleanupZeroGeomEdge" 0 + -fv "polyCleanupZeroGeomFTol" 1e-005 + -iv "polyCleanupZeroGeomFace" 0 + -iv "polyCleanupZeroMap" 1; +optionVar + -fv "polyCleanupZeroMapTol" 1e-005 + -iv "polyConnectBordersAutoReverse" 0 + -fv "polyConnectBordersMapEdgeCount" 0 + -fv "polyConnectBordersQuadAngle" 180 + -iv "polyConnectBordersQuads" 1 + -iv "polyConnectBordersReverse" 0 + -fv "polyContinuity" 1 + -iv "polyCopyPasteAction" 2 + -iv "polyCopyPasteColor" 0 + -iv "polyCopyPasteShader" 1; +optionVar + -iv "polyCopyPasteUV" 1 + -sv "polyCopyUVSet" "noOverlap_UV" + -iv "polyCount" 0 + -iv "polyCountVisibility" 1 + -sv "polyCreaseContext" "polyCreaseCtx -e -image1 \"polyCrease.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -extendSelection 0\n-relative 0\npolyCreaseContext" + -sv "polyCreateFacetContext" "polyCreateFacetCtx -e -image1 \"polyCreateFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 0\n-subdivision 1\n-texture 1\n-planarConstraint 0\n-maximumNumberOfPoints -1\npolyCreateFacetContext" + -iv "polyCreateMeshesSingleSided" 0 + -sv "polyCreateUVSet" "uvSet" + -sv "polyCurrentUVSet" "map1" + -sv "polyCutContext" "polyCutCtx -e -image1 \"polyCut.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -deleteFaces 0\n-extractFaces 0\n-extractOffset 0.5 0.5 0.5 polyCutContext"; +optionVar + -fv "polyDefaultTangentSmoothingAngle" 0 + -iv "polyDefaultTangentSpace" 0 + -iv "polyDisplayDisplayBackfaceCulling" 0 + -iv "polyDisplayHardEdgeBackfaceCulling" 0 + -iv "polyDisplayLimitedToSelectedOV" 1 + -iv "polyDisplayWireBackfaceCulling" 0 + -iv "polyDivisions" 2 + -iv "polyDuplicateEdgeAsTool" 1 + -iv "polyDuplicateEdgeAutoComplete" 1 + -iv "polyDuplicateEdgeDeleteEdge" 1; +optionVar + -fv "polyDuplicateEdgeOffset" 0.5 + -fv "polyDuplicateEdgeVertexOffset" 0 + -fv "polyExtrudeAttr" 0 + -iv "polyExtrudeDivisions" 1 + -iv "polyExtrudeEdgeDivisions" 1 + -ca "polyExtrudeEdgeLocalDirection" + -fva "polyExtrudeEdgeLocalDirection" 1 + -fva "polyExtrudeEdgeLocalDirection" 0 + -fva "polyExtrudeEdgeLocalDirection" 0 + -ca "polyExtrudeEdgeLocalRotate" + -fva "polyExtrudeEdgeLocalRotate" 0 + -fva "polyExtrudeEdgeLocalRotate" 0 + -fva "polyExtrudeEdgeLocalRotate" 0 + -ca "polyExtrudeEdgeLocalScale" + -fva "polyExtrudeEdgeLocalScale" 1 + -fva "polyExtrudeEdgeLocalScale" 1 + -fva "polyExtrudeEdgeLocalScale" 1 + -ca "polyExtrudeEdgeLocalTranslate" + -fva "polyExtrudeEdgeLocalTranslate" 0 + -fva "polyExtrudeEdgeLocalTranslate" 0 + -fva "polyExtrudeEdgeLocalTranslate" 0 + -fv "polyExtrudeEdgeRandom" 0; +optionVar + -ca "polyExtrudeEdgeRotate" + -fva "polyExtrudeEdgeRotate" 0 + -fva "polyExtrudeEdgeRotate" 0 + -fva "polyExtrudeEdgeRotate" 0 + -ca "polyExtrudeEdgeScale" + -fva "polyExtrudeEdgeScale" 1 + -fva "polyExtrudeEdgeScale" 1 + -fva "polyExtrudeEdgeScale" 1 + -fv "polyExtrudeEdgeSmoothingAngle" 30 + -fv "polyExtrudeEdgeTaper" 1 + -fv "polyExtrudeEdgeTaperValue" 1 + -ca "polyExtrudeEdgeTranslate" + -fva "polyExtrudeEdgeTranslate" 0 + -fva "polyExtrudeEdgeTranslate" 0 + -fva "polyExtrudeEdgeTranslate" 0 + -fv "polyExtrudeEdgeTwist" 0 + -iv "polyExtrudeEdgeUseCurve" 1 + -iv "polyExtrudeEdgeWorld" 0 + -fv "polyExtrudeEdgeWorldSpace" 0; +optionVar + -iv "polyExtrudeFaceDivisions" 1 + -fv "polyExtrudeFaceOffset" 0 + -fv "polyExtrudeFaceSmoothingAngle" 30 + -fv "polyExtrudeFaceTaper" 1 + -fv "polyExtrudeFaceTwist" 0 + -iv "polyExtrudeFaceUseCurve" 1 + -ca "polyExtrudeGravity" + -fva "polyExtrudeGravity" 0 + -fva "polyExtrudeGravity" -1 + -fva "polyExtrudeGravity" 0 + -ca "polyExtrudeLocalDirection" + -fva "polyExtrudeLocalDirection" 1 + -fva "polyExtrudeLocalDirection" 0 + -fva "polyExtrudeLocalDirection" 0 + -ca "polyExtrudeLocalRotate" + -fva "polyExtrudeLocalRotate" 0 + -fva "polyExtrudeLocalRotate" 0 + -fva "polyExtrudeLocalRotate" 0 + -ca "polyExtrudeLocalScale" + -fva "polyExtrudeLocalScale" 1 + -fva "polyExtrudeLocalScale" 1 + -fva "polyExtrudeLocalScale" 1; +optionVar + -ca "polyExtrudeLocalTranslate" + -fva "polyExtrudeLocalTranslate" 0 + -fva "polyExtrudeLocalTranslate" 0 + -fva "polyExtrudeLocalTranslate" 0 + -ca "polyExtrudeMagnet" + -fva "polyExtrudeMagnet" 0 + -fva "polyExtrudeMagnet" 0 + -fva "polyExtrudeMagnet" 0 + -fv "polyExtrudeOffset" 0 + -fv "polyExtrudeRandom" 0 + -ca "polyExtrudeRotate" + -fva "polyExtrudeRotate" 0 + -fva "polyExtrudeRotate" 0 + -fva "polyExtrudeRotate" 0 + -ca "polyExtrudeScale" + -fva "polyExtrudeScale" 1 + -fva "polyExtrudeScale" 1 + -fva "polyExtrudeScale" 1 + -fv "polyExtrudeSmoothingAngle" 30 + -fv "polyExtrudeTaperValue" 1 + -ca "polyExtrudeTranslate" + -fva "polyExtrudeTranslate" 0 + -fva "polyExtrudeTranslate" 0 + -fva "polyExtrudeTranslate" 0 + -fv "polyExtrudeTwist" 0; +optionVar + -iv "polyExtrudeUseCurve" 1 + -iv "polyExtrudeVertexDivisions" 1 + -fv "polyExtrudeVertexLength" 1 + -ca "polyExtrudeVertexTranslate" + -fva "polyExtrudeVertexTranslate" 0 + -fva "polyExtrudeVertexTranslate" 0 + -fva "polyExtrudeVertexTranslate" 0 + -fv "polyExtrudeVertexWidth" 0.5 + -fv "polyExtrudeWeight" 0 + -iv "polyExtrudeWorld" 0 + -fv "polyExtrudeWorldSpace" 0 + -iv "polyFaceSensitive" 0 + -iv "polyGridUVValuePixel" 0; +optionVar + -iv "polyGridUVValueU" 256 + -iv "polyGridUVValueV" 256 + -iv "polyKeepFacetsGrouped" 1 + -iv "polyKeepFacetsPlanar" 0 + -iv "polyLayoutUVMultiOrNonMulti" 1 + -fv "polyLayoutUVeg" 0.2066 + -iv "polyLayoutUVfr" 1 + -iv "polyLayoutUVl" 2 + -iv "polyLayoutUVlm" 1 + -iv "polyLayoutUVrbf" 1; +optionVar + -iv "polyLayoutUVsc" 1 + -iv "polyLayoutUVse" 0 + -iv "polyMapBorderAutoShapeDetail" 0 + -iv "polyMapBorderOp" 1 + -fv "polyMapBorderShapeDetail" 0 + -iv "polyMapSewMovelps" 0 + -iv "polyMapSewMovenf" 10 + -fv "polyMergeEdge" 0 + -sv "polyMergeEdgeContext" "polyMergeEdgeCtx -e -image1 \"polyMergeEdge.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 1\n-firstEdge -1\n-secondEdge -1\n-mergeTexture 0\npolyMergeEdgeContext" + -iv "polyMergeEdgeMap" 1; +optionVar + -iv "polyMergeEdgeWorldSpace" 1 + -sv "polyMergeFacetContext" "polyMergeFacetCtx -e -image1 \"polyMergeFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 6\n-firstFacet -1\n-secondFacet -1\npolyMergeFacetContext" + -fv "polyMergeUVDistance" 0.01 + -iv "polyMergeVertexAlwaysMergeTwoVertices" 1 + -fv "polyMergeVertexDistance" 0.001 + -iv "polyMirrorCutAxis" 1 + -iv "polyMirrorCutCombine" 0 + -fv "polyMirrorCutMergeVertexTolerance" 0.001 + -iv "polyMirrorDirection" 3 + -iv "polyMirrorStitch" 1; +optionVar + -iv "polyMoveeLocalCenter" 1 + -ca "polyMoveeLocalRotate" + -fva "polyMoveeLocalRotate" 0 + -fva "polyMoveeLocalRotate" 0 + -fva "polyMoveeLocalRotate" 0 + -ca "polyMoveeLocalScale" + -fva "polyMoveeLocalScale" 1 + -fva "polyMoveeLocalScale" 1 + -fva "polyMoveeLocalScale" 1 + -ca "polyMoveeLocalTranslate" + -fva "polyMoveeLocalTranslate" 0 + -fva "polyMoveeLocalTranslate" 0 + -fva "polyMoveeLocalTranslate" 0 + -fv "polyMoveeRandom" 0 + -ca "polyMoveeRotate" + -fva "polyMoveeRotate" 0 + -fva "polyMoveeRotate" 0 + -fva "polyMoveeRotate" 0 + -ca "polyMoveeScale" + -fva "polyMoveeScale" 1 + -fva "polyMoveeScale" 1 + -fva "polyMoveeScale" 1 + -ca "polyMoveeTranslate" + -fva "polyMoveeTranslate" 0 + -fva "polyMoveeTranslate" 0 + -fva "polyMoveeTranslate" 0 + -iv "polyMoveeWorld" 0 + -iv "polyMoveeWorldSpace" 0; +optionVar + -fv "polyMovefAttr" 0 + -ca "polyMovefGravity" + -fva "polyMovefGravity" 0 + -fva "polyMovefGravity" -1 + -fva "polyMovefGravity" 0 + -ca "polyMovefLocalDirection" + -fva "polyMovefLocalDirection" 1 + -fva "polyMovefLocalDirection" 0 + -fva "polyMovefLocalDirection" 0 + -ca "polyMovefLocalRotate" + -fva "polyMovefLocalRotate" 0 + -fva "polyMovefLocalRotate" 0 + -fva "polyMovefLocalRotate" 0 + -ca "polyMovefLocalScale" + -fva "polyMovefLocalScale" 1 + -fva "polyMovefLocalScale" 1 + -fva "polyMovefLocalScale" 1 + -ca "polyMovefLocalTranslate" + -fva "polyMovefLocalTranslate" 0 + -fva "polyMovefLocalTranslate" 0 + -fva "polyMovefLocalTranslate" 0 + -ca "polyMovefMagnet" + -fva "polyMovefMagnet" 0 + -fva "polyMovefMagnet" 0 + -fva "polyMovefMagnet" 0 + -fv "polyMovefOffset" 0 + -fv "polyMovefRandom" 0 + -ca "polyMovefRotate" + -fva "polyMovefRotate" 0 + -fva "polyMovefRotate" 0 + -fva "polyMovefRotate" 0; +optionVar + -ca "polyMovefScale" + -fva "polyMovefScale" 1 + -fva "polyMovefScale" 1 + -fva "polyMovefScale" 1 + -ca "polyMovefTranslate" + -fva "polyMovefTranslate" 0 + -fva "polyMovefTranslate" 0 + -fva "polyMovefTranslate" 0 + -fv "polyMovefWeight" 0 + -iv "polyMovefWorld" 0 + -iv "polyMovefWorldSpace" 0 + -ca "polyMovevtxLocalDirection" + -fva "polyMovevtxLocalDirection" 1 + -fva "polyMovevtxLocalDirection" 0 + -fva "polyMovevtxLocalDirection" 0 + -ca "polyMovevtxLocalRotate" + -fva "polyMovevtxLocalRotate" 0 + -fva "polyMovevtxLocalRotate" 0 + -fva "polyMovevtxLocalRotate" 0 + -ca "polyMovevtxLocalScale" + -fva "polyMovevtxLocalScale" 1 + -fva "polyMovevtxLocalScale" 1 + -fva "polyMovevtxLocalScale" 1 + -ca "polyMovevtxLocalTranslate" + -fva "polyMovevtxLocalTranslate" 0 + -fva "polyMovevtxLocalTranslate" 0 + -fva "polyMovevtxLocalTranslate" 0 + -fv "polyMovevtxRandom" 0; +optionVar + -ca "polyMovevtxRotate" + -fva "polyMovevtxRotate" 0 + -fva "polyMovevtxRotate" 0 + -fva "polyMovevtxRotate" 0 + -ca "polyMovevtxScale" + -fva "polyMovevtxScale" 1 + -fva "polyMovevtxScale" 1 + -fva "polyMovevtxScale" 1 + -ca "polyMovevtxTranslate" + -fva "polyMovevtxTranslate" 0 + -fva "polyMovevtxTranslate" 0 + -fva "polyMovevtxTranslate" 0 + -iv "polyMovevtxWorld" 0 + -iv "polyMovevtxWorldSpace" 0 + -iv "polyNormalMode" 4 + -ca "polyPlaneCenter" + -fva "polyPlaneCenter" 0 + -fva "polyPlaneCenter" 0 + -fva "polyPlaneCenter" 0 + -iv "polyPlaneCutDirection" 2 + -iv "polyPlaneDeleteFaces" 1 + -iv "polyPlaneExtractFaces" 0; +optionVar + -ca "polyPlaneExtractOffset" + -fva "polyPlaneExtractOffset" 0 + -fva "polyPlaneExtractOffset" 0 + -fva "polyPlaneExtractOffset" 0 + -ca "polyPlaneRotate" + -fva "polyPlaneRotate" 0 + -fva "polyPlaneRotate" 0 + -fva "polyPlaneRotate" 0 + -ca "polyPlaneScale" + -fva "polyPlaneScale" 1 + -fva "polyPlaneScale" 1 + -iv "polyPrimitiveAsToolExitOnComplete" 1 + -iv "polyPrimitiveConeAxis" 2 + -iv "polyPrimitiveConeCreateUVs" 1 + -fv "polyPrimitiveConeHeight" 2 + -iv "polyPrimitiveConeNormalize" 1 + -iv "polyPrimitiveConePreserveAspectRatio" 1 + -fv "polyPrimitiveConeRadius" 1; +optionVar + -iv "polyPrimitiveConeRoundCap" 0 + -iv "polyPrimitiveConeSX" 20 + -iv "polyPrimitiveConeSY" 1 + -iv "polyPrimitiveConeSZ" 0 + -iv "polyPrimitiveConeTexture" 1 + -iv "polyPrimitiveCubeAxis" 2 + -iv "polyPrimitiveCubeCreateUVs" 1 + -fv "polyPrimitiveCubeDepth" 1 + -fv "polyPrimitiveCubeHeight" 1 + -iv "polyPrimitiveCubeNormalize" 1; +optionVar + -iv "polyPrimitiveCubeNormalizeType" 1 + -iv "polyPrimitiveCubePreserveAspectRatio" 1 + -iv "polyPrimitiveCubeSX" 1 + -iv "polyPrimitiveCubeSY" 1 + -iv "polyPrimitiveCubeSZ" 1 + -iv "polyPrimitiveCubeTexture" 1 + -fv "polyPrimitiveCubeWidth" 1 + -iv "polyPrimitiveCylinderAxis" 2 + -iv "polyPrimitiveCylinderCreateUVs" 1 + -fv "polyPrimitiveCylinderHeight" 10; +optionVar + -iv "polyPrimitiveCylinderNormalize" 1 + -iv "polyPrimitiveCylinderPreserveAspectRatio" 1 + -fv "polyPrimitiveCylinderRadius" 1 + -iv "polyPrimitiveCylinderRoundCap" 0 + -iv "polyPrimitiveCylinderSX" 8 + -iv "polyPrimitiveCylinderSY" 1 + -iv "polyPrimitiveCylinderSZ" 1 + -iv "polyPrimitiveCylinderTexture" 1 + -iv "polyPrimitivePlaneAxis" 2 + -iv "polyPrimitivePlaneCreateUVs" 1; +optionVar + -fv "polyPrimitivePlaneHeight" 1 + -iv "polyPrimitivePlanePreserveAspectRatio" 1 + -iv "polyPrimitivePlaneSX" 10 + -iv "polyPrimitivePlaneSY" 10 + -iv "polyPrimitivePlaneTexture" 1 + -fv "polyPrimitivePlaneWidth" 1 + -iv "polyPrimitiveSphereAxis" 2 + -iv "polyPrimitiveSphereCreateUVs" 1 + -fv "polyPrimitiveSphereRadius" 1 + -iv "polyPrimitiveSphereSX" 14; +optionVar + -iv "polyPrimitiveSphereSY" 6 + -iv "polyPrimitiveSphereTexture" 2 + -iv "polyPrimitiveSphereUVType" 2 + -iv "polyPrimitiveTorusAxis" 2 + -iv "polyPrimitiveTorusCreateUVs" 1 + -fv "polyPrimitiveTorusRadius" 1 + -iv "polyPrimitiveTorusSX" 20 + -iv "polyPrimitiveTorusSY" 20 + -fv "polyPrimitiveTorusSectionRadius" 0.5 + -iv "polyPrimitiveTorusTexture" 1; +optionVar + -fv "polyPrimitiveTorusTwist" 0 + -iv "polyProjectionCreateMapCylindrical" 0 + -iv "polyProjectionCreateMapPlanar" 0 + -iv "polyProjectionFitToBoxOrPlaneCylindrical" 2 + -iv "polyProjectionFitToBoxOrPlanePlanar" 1 + -iv "polyProjectionInsertionPointCylindrical" 1 + -iv "polyProjectionInsertionPointPlanar" 1 + -iv "polyProjectionMappingDirectionCylindrical" 1 + -iv "polyProjectionMappingDirectionPlanar" 4 + -iv "polyProjectionSquareImagePlanar" 1; +optionVar + -sv "polyProjectionUvSetNameCylindrical" "uvSet1" + -sv "polyProjectionUvSetNamePlanar" "uvSet1" + -fv "polyQuadrangulateAngle" 30 + -iv "polyQuadrangulateGroupBorder" 1 + -iv "polyQuadrangulateHardEdges" 1 + -iv "polyQuadrangulateTextureBorder" 1 + -iv "polyQuadrangulateWorldSpace" 1 + -iv "polyRelaxAlgorithm" 1 + -iv "polyRelaxMaxIterations" 5 + -iv "polyRelaxPinBoundary" 1; +optionVar + -iv "polyRelaxPinSelected" 0 + -iv "polyRelaxPinUVs" 1 + -iv "polyRelaxPinUnselected" 1 + -iv "polyRelaxUseMaxIterations" 0 + -sv "polyRenameUVSet" "noOverlap_consistantScale_UV" + -fv "polyRotateUVAngleClockwise" 45 + -fv "polyRotateUVAngleCounterclockwise" 45 + -sv "polySelectConstraintState" "" + -sv "polySelectContext" "polySelectCtx -e -image1 \"polySelectEdgeLoop.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 0\npolySelectContext" + -sv "polySelectEditContext" "polySelectEditCtx -e -image1 \"polySplitEdgeRing.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-autoComplete 1\n-divisions 10\n-useEqualMultiplier 0\n-fixQuads 0\n-smoothingAngle 0\n-splitType 1\npolySelectEditContext"; +optionVar + -fv "polySetNormalX" 1 + -fv "polySetNormalY" 0 + -fv "polySetNormalZ" 0 + -iv "polySetToFaceNormalUserNormal" 0 + -fv "polySewEdge" 7.5886 + -iv "polySewEdgeMap" 1 + -iv "polySewEdgeWorldSpace" 1 + -sv "polySlideEdgeContext" "polySlideEdgeCtx -e -image1 \"slideEdgeTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -edgeDirection 0\n-direction 0\n-absolute 0\n-useSnapping 1\n-snappingTolerance 0.1\n-snappingPoints 1\npolySlideEdgeContext" + -iv "polySmoothBaseMeshDisplay" 2 + -iv "polySmoothEdivisions" 4; +optionVar + -iv "polySmoothHiInLayer" 0 + -iv "polySmoothKeepBorder" 0 + -iv "polySmoothKeepHardEdge" 0 + -iv "polySmoothKeepMapBorders" 1 + -iv "polySmoothKeepSelectionBorder" 0 + -iv "polySmoothKeepTesselation" 0 + -iv "polySmoothLoInLayer" 0 + -iv "polySmoothLoRenderable" 1 + -iv "polySmoothMethod" 1 + -iv "polySmoothMirror" 1; +optionVar + -iv "polySmoothMirrorAxis" 4 + -fv "polySmoothMirrorMergeVertexTolerance" 0.001 + -iv "polySmoothNumIter" 2 + -iv "polySmoothPropEHardness" 0 + -fv "polySmoothRoundness" 1 + -iv "polySmoothShareTransform" 0 + -iv "polySmoothSmoothDisplay" 3 + -iv "polySmoothSmoothUVs" 1 + -iv "polySmoothToggleProxies" 1 + -fv "polySmoothTransparency" 0.75; +optionVar + -fv "polySmoothVolume" 0.1 + -fv "polySoftEdge" 30 + -sv "polySplitContext" "polySplitCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivision 1\n-precsnap 100\n-magnetsnap 9\n-enablesnap 1\n-snaptoedge 1\n-smoothingangle 0\npolySplitContext" + -fv "polySubdLene" 0 + -iv "polySubdSubde" 1 + -iv "polySubdWSe" 0 + -iv "polyUVBrushOperation" 8 + -iv "polyUnfoldUVs" 1 + -sv "polyVertexNormalEdit" "polyVertexNormalCtx -e -image1 \"vertexNormalEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -rotatemode 0\n-relativemode 0\n-lockmode 0\npolyVertexNormalEdit" + -fv "polyWedgeFaceAngle" 10; +optionVar + -iv "polyWedgeFaceDivisions" 1 + -iv "popUpHelpMode" 0 + -iv "popUpHelpModeTime" 0 + -iv "popupMenuSelection" 0 + -sv "poseLibDefaultPathStatus" "%USERPROFILE%/My Documents/maya/8.5/poseLib" + -fv "positionalTolerance" 3.53146e-008 + -sv "preferredRenderer" "mayaSoftware" + -sv "primitivePlacementRule" "AtOrigin" + -iv "projectCurveAlongDirection" 0 + -iv "projectCurveEuc" 0; +optionVar + -iv "projectCurveLac" 1 + -iv "projectCurveRangePartial" 0 + -fv "projectCurveTolerance" 0.01 + -iv "projectCurveUseGlobalTol" 0 + -fv "proxyContinuity" 1 + -iv "proxyDivisions" 2 + -sv "proxyOptionsNewProxyTag" "" + -sv "proxyOptionsNewReferenceTag" "" + -iv "proxyOptionsNewReferenceTagSpecified" 0 + -sv "proxyOptionsProxyTag" ""; +optionVar + -sv "proxyOptionsReferenceTag" "" + -iv "proxyOptionsUseNewProxyTag" 1 + -iv "proxyOptionsUseNewReferenceTag" 1 + -iv "proxySmoothEdivisions" 1 + -iv "proxySmoothKeepBorder" 0 + -iv "proxySmoothKeepHardEdge" 0 + -iv "proxySmoothNumIter" 1 + -fv "proxySmoothRoundness" 1 + -fv "proxySmoothVolume" 0.1 + -iv "psdAntiAliasValue" 0; +optionVar + -iv "psdAspectRatioValue" 1 + -ca "psdColorValue" + -fva "psdColorValue" 1 + -fva "psdColorValue" 0 + -fva "psdColorValue" 0 + -iv "psdDetailedListValue" 0 + -iv "psdIncludeUVSnapValue" 1 + -iv "psdOpenPhotoshopValue" 1 + -iv "psdSizeX" 1024 + -iv "psdSizeY" 1024 + -iv "psdUVSnapshotPosition" 1 + -iv "ptConstMaintainOffset" 0 + -fv "ptConstOffsetX" 0; +optionVar + -fv "ptConstOffsetY" 0 + -fv "ptConstOffsetZ" 0 + -sv "quickFieldMode" "Abs" + -ca "quickPanelButtonLayout" + -sva "quickPanelButtonLayout" "Single Perspective View" + -sva "quickPanelButtonLayout" "Four View" + -sva "quickPanelButtonLayout" "Persp/Outliner" + -sva "quickPanelButtonLayout" "Hypershade/Render/Persp Vertical" + -sva "quickPanelButtonLayout" "Persp/UV Texture Editor" + -sva "quickPanelButtonLayout" "Persp_Render_Graph" + -fv "radialAttenuation" 1 + -fv "radialMagnitude" 5 + -fv "radialMaxDistCBox" 1 + -iv "radialMaxDistDBox" 1 + -fv "radialMaxDistance" 1.75 + -sv "radialName" "GoblinRadialField"; +optionVar + -fv "radialTorusSectionRadius" 0.5 + -fv "radialType" 0 + -iv "radialVolumeExclusion" 0 + -iv "radialVolumeFieldTypesOM" 1 + -fv "radialVolumeOffsetX" 0 + -fv "radialVolumeOffsetY" 0 + -fv "radialVolumeOffsetZ" 0 + -fv "radialVolumeSweep" 360 + -iv "rebuildCurveChanges" 1 + -iv "rebuildCurveEndKnots" 1; +optionVar + -iv "rebuildCurveEuc" 0 + -iv "rebuildCurveKeepControlPoints" 0 + -iv "rebuildCurveKeepEndPoints" 0 + -iv "rebuildCurveKeepEndTangents" 0 + -iv "rebuildCurveKeepNumSpans" 0 + -iv "rebuildCurveKeepOriginal" 0 + -iv "rebuildCurveKeepRange" 0 + -iv "rebuildCurveLac" 1 + -fv "rebuildCurveLocalTolerance" 0.05 + -iv "rebuildCurveType" 0; +optionVar + -iv "rebuildCurveTypeUniformDegree" 3 + -iv "rebuildCurveTypeUniformNumSpans" 6 + -iv "rebuildCurveUseGlobalTolerance" 1 + -iv "rebuildSurfaceDirection" 2 + -iv "rebuildSurfaceEndKnots" 1 + -iv "rebuildSurfaceEuc" 0 + -iv "rebuildSurfaceFitRebuild" 2 + -iv "rebuildSurfaceKeepControlPoints" 1 + -iv "rebuildSurfaceKeepCornerPoints" 1 + -iv "rebuildSurfaceKeepCorners" 1; +optionVar + -iv "rebuildSurfaceKeepNumSpans" 1 + -iv "rebuildSurfaceKeepOriginal" 1 + -iv "rebuildSurfaceKeepRange" 0 + -iv "rebuildSurfaceLac" 1 + -fv "rebuildSurfaceLocalTolerance" 0.05 + -iv "rebuildSurfacePolys" 0 + -iv "rebuildSurfaceType" 0 + -iv "rebuildSurfaceTypeUniformDegreeU" 1 + -iv "rebuildSurfaceTypeUniformDegreeV" 1 + -iv "rebuildSurfaceTypeUniformNumSpansU" 8; +optionVar + -iv "rebuildSurfaceTypeUniformNumSpansV" 16 + -iv "rebuildSurfaceUseGlobalTolerance" 1 + -iv "recursive" 1 + -sv "refEdEditorVisibility" "refEdSceneEditorButton" + -iv "referenceOptionsDeferReference" 0 + -iv "referenceOptionsGrouping" 0 + -iv "referenceOptionsLocator" 1 + -iv "referenceOptionsLockReference" 0 + -sv "referenceOptionsRenamePrefix" "" + -iv "referenceOptionsShareDisplayLayers" 0; +optionVar + -sv "referenceOptionsShareRenderLayers" "name" + -iv "referenceOptionsShareShaders" 0 + -iv "referenceOptionsSharedReference" 0 + -iv "referenceOptionsUseRenamePrefix" 0 + -iv "referenceUseNamespacesDuringFileIO" 1 + -iv "refreshMode" 0 + -sv "relationshipEditorTask" "lightCentricLightLinking" + -iv "remConstMaintainOffset" 0 + -sv "remoteHelpUrl" "" + -iv "removeAllTargets" 1; +optionVar + -iv "removeDuplicateShadingNetworksOnImport" 1 + -iv "removeTargetAddTargets" 0 + -sv "renderCreateBarCurrentTab" "MayaNodesTab" + -sv "renderCreateBarStyle" "iconsAndText" + -iv "renderLayerBase" 1 + -iv "renderLayerContents" 0 + -iv "renderLayerCurrent" 0 + -iv "renderLayerMerge" 0 + -iv "renderViewAutoRenderRegion" 0 + -iv "renderViewAutoResize" 1; +optionVar + -iv "renderViewDisplayToolbar" 1 + -iv "renderViewRenderAllLayers" 0 + -iv "renderViewRenderLayersMode" 0 + -iv "renderViewRenderSelectedObj" 0 + -iv "renderViewShowCameraName" 1 + -iv "renderViewShowFrameNumber" 1 + -iv "renderViewShowLayerName" 1 + -iv "renderViewShowRenderTime" 1 + -iv "renderViewTestResolution" 1 + -sv "renderWindowSelectContextItem" "renderWindowSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" renderWindowSelectContextItem"; +optionVar + -sv "renderedImageName" "C:/School/T&L1/Brick_Wall/images/tmp/render_CAM/Molodowitch_Paul_Brickwall_0002.iff" + -iv "resetTransformationsRotate" 1 + -iv "resetTransformationsScale" 1 + -iv "resetTransformationsTranslate" 1 + -iv "restrictAxisMaintainOffset" 1 + -iv "restrictConstraintX" 1 + -iv "restrictConstraintY" 1 + -iv "restrictConstraintZ" 1 + -fv "resultsSampleRate" 1 + -iv "resultsScreenBased" 0; +optionVar + -sv "resultsUpdates" "delayed" + -iv "reverseChanges" 1 + -iv "reverseKeepOriginal" 0 + -iv "reverseSurfaceDirection" 0 + -iv "reverseSurfaceEuc" 0 + -iv "reverseSurfaceLac" 1 + -fv "revolveAxisX" 0 + -fv "revolveAxisY" 1 + -fv "revolveAxisZ" 0 + -iv "revolveCurveRangePartial" 0; +optionVar + -fv "revolveEndSweepAngle" 360 + -iv "revolveEuc" 0 + -iv "revolveLac" 1 + -iv "revolveNumberOfSegments" 8 + -iv "revolveOutputPolygons" 0 + -fv "revolvePivotX" 0 + -fv "revolvePivotY" 0 + -fv "revolvePivotZ" 0 + -fv "revolveStartSweepAngle" 0 + -iv "revolveSurfaceDegree" 3; +optionVar + -fv "revolveTolerance" 0.01 + -iv "revolveUseGlobalTol" 0 + -iv "revolveUseLocalPivot" 1 + -iv "revolveUsePresetAxis" 1 + -iv "revolveUseTolerance" 0 + -fv "rigidAngVelocityX" 0 + -fv "rigidAngVelocityY" 0 + -fv "rigidAngVelocityZ" 0 + -fv "rigidBounciness" 0.6 + -iv "rigidCacheCBox" 0; +optionVar + -iv "rigidCollide" 0 + -iv "rigidCollisionType" 0 + -iv "rigidComCBox" 0 + -fv "rigidComX" 0 + -fv "rigidComY" 0 + -fv "rigidComZ" 0 + -fv "rigidDamping" 0 + -fv "rigidDynFriction" 0.2 + -fv "rigidImpulsePosX" 0 + -fv "rigidImpulsePosY" 0; +optionVar + -fv "rigidImpulsePosZ" 0 + -fv "rigidImpulseX" 0 + -fv "rigidImpulseY" 0 + -fv "rigidImpulseZ" 0 + -fv "rigidInitVelocityX" 2.057 + -fv "rigidInitVelocityY" 0 + -fv "rigidInitVelocityZ" 0 + -iv "rigidLayer" 0 + -fv "rigidMass" 1 + -sv "rigidName" "SetRigidBodies"; +optionVar + -iv "rigidOrCBox" 0 + -fv "rigidOrX" 0 + -fv "rigidOrY" 0 + -fv "rigidOrZ" 0 + -iv "rigidPosCBox" 0 + -fv "rigidPosX" 0 + -fv "rigidPosY" 0 + -fv "rigidPosZ" 0 + -fv "rigidSpinImpulseX" 0 + -fv "rigidSpinImpulseY" 0; +optionVar + -fv "rigidSpinImpulseZ" 0 + -iv "rigidStandInType" 1 + -fv "rigidStatFriction" 0.01 + -iv "rigidTesselation" 200 + -sv "rollContext" "rollCtx -e -image1 \"roll.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Roll Tool\" -rollScale 1\nrollContext" + -iv "rotationInterpolationDefault" 1 + -iv "rotationalAlignEdgeAxis" 1 + -sv "roundContext" "roundCRCtx -e -image1 \"roundSrf.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1 -object 1 -append 0 -tolerance 0.1 -autoCreate 1 -useGlobalTolerance 0 -radiusToUse 0.5 roundContext" + -iv "saveActionsPreferences" 1 + -iv "saveActionsScriptEditor" 1; +optionVar + -iv "saveWindowPos" 1 + -iv "scaleConstraintAddTargets" 1 + -iv "scaleKeyAllAnimCurves" 0 + -sv "scaleKeyContext" "scaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 0\nscaleKeyContext" + -iv "scaleKeyControlPoints" 0 + -iv "scaleKeyDriven" 0 + -sv "scaleKeyHierarchy" "none" + -iv "scaleKeyMethod" 1 + -fv "scaleKeyNewEndTime" 50 + -fv "scaleKeyNewStartTime" 60; +optionVar + -sv "scaleKeyRange" "12:24" + -iv "scaleKeyScaleSpecifiedKeys" 1 + -iv "scaleKeyShapes" 1 + -fv "scaleKeyTimePivot" 0 + -fv "scaleKeyTimeScale" 2 + -iv "scaleKeyUseChannelBox" 0 + -fv "scaleKeyValuePivot" 0 + -fv "scaleKeyValueScale" 1 + -iv "scaleKeyWhichRange" 1 + -fv "sculptDropoffDist" 1; +optionVar + -sv "sculptDropoffType" "linear" + -sv "sculptExclName" "deformPartition" + -iv "sculptExclusive" 0 + -iv "sculptGroupWithLocator" 1 + -sv "sculptInsideMode" "even" + -fv "sculptMaxDisp" 0.1 + -sv "sculptMode" "stretch" + -iv "sculptObjectCentered" 1 + -sv "sculptPositioning" "default" + -iv "sculptTool" 1; +optionVar + -iv "selContiguousEdgesec" 0 + -iv "selContiguousEdgesed" 10 + -fv "selContiguousEdgesm2a" 30 + -fv "selContiguousEdgesm3a" 90 + -iv "selectAffectsActive" 1 + -iv "selectClickDrag" 0 + -iv "selectEveryNEdgeTool" 0 + -sv "selectKeyContext" "selectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyContext" + -sv "selectKeyframeRegionContext" "selectKeyframeRegionCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyframeRegionContext" + -sv "selectPrefPriorityMode" "animation"; +optionVar + -iv "selectSingleMarquee" 0 + -iv "selectedShelf" 11 + -sv "setEditContext" "setEditCtx -e -image1 \"setEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" setEditContext" + -iv "setIKKey" 3 + -sv "setKeyContext" "setKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nsetKeyContext" + -iv "setKeyframePrompt" 0 + -iv "setKeyframeWhich" 4 + -iv "shadeTemplates" 0 + -sv "shelfFile1" "shelf_Animation" + -sv "shelfFile10" "shelf_PaulAnimation"; +optionVar + -sv "shelfFile11" "shelf_PaulCurves" + -sv "shelfFile12" "shelf_PaulGenerick" + -sv "shelfFile13" "shelf_PaulLuxo" + -sv "shelfFile14" "shelf_PaulPoly" + -sv "shelfFile15" "shelf_PaulScripts" + -sv "shelfFile16" "shelf_PaulTexture" + -sv "shelfFile17" "shelf_Polygons" + -sv "shelfFile18" "shelf_RenderMan" + -sv "shelfFile19" "shelf_Rendering" + -sv "shelfFile2" "shelf_Curves"; +optionVar + -sv "shelfFile20" "shelf_Subdivs" + -sv "shelfFile21" "shelf_Surfaces" + -sv "shelfFile22" "shelf_Toon" + -sv "shelfFile23" "shelf_nCloth" + -sv "shelfFile24" "shelf_Generick" + -sv "shelfFile3" "shelf_Deformation" + -sv "shelfFile4" "shelf_Dynamics" + -sv "shelfFile5" "shelf_Fluids" + -sv "shelfFile6" "shelf_Fur" + -sv "shelfFile7" "shelf_General"; +optionVar + -sv "shelfFile8" "shelf_Hair" + -sv "shelfFile9" "shelf_PaintEffects" + -sv "shelfItemSize" "Small" + -sv "shelfItemStyle" "iconOnly" + -iv "shelfLoad1" 1 + -iv "shelfLoad10" 1 + -iv "shelfLoad11" 1 + -iv "shelfLoad12" 1 + -iv "shelfLoad13" 1 + -iv "shelfLoad14" 1; +optionVar + -iv "shelfLoad15" 1 + -iv "shelfLoad16" 1 + -iv "shelfLoad17" 1 + -iv "shelfLoad18" 1 + -iv "shelfLoad19" 1 + -iv "shelfLoad2" 1 + -iv "shelfLoad20" 1 + -iv "shelfLoad21" 1 + -iv "shelfLoad22" 1 + -iv "shelfLoad23" 1; +optionVar + -iv "shelfLoad24" 1 + -iv "shelfLoad3" 1 + -iv "shelfLoad4" 1 + -iv "shelfLoad5" 1 + -iv "shelfLoad6" 1 + -iv "shelfLoad7" 1 + -iv "shelfLoad8" 1 + -iv "shelfLoad9" 1 + -sv "shelfName1" "Animation" + -sv "shelfName10" "PaulAnimation"; +optionVar + -sv "shelfName11" "PaulCurves" + -sv "shelfName12" "PaulGenerick" + -sv "shelfName13" "PaulLuxo" + -sv "shelfName14" "PaulPoly" + -sv "shelfName15" "PaulScripts" + -sv "shelfName16" "PaulTexture" + -sv "shelfName17" "Polygons" + -sv "shelfName18" "RenderMan" + -sv "shelfName19" "Rendering" + -sv "shelfName2" "Curves"; +optionVar + -sv "shelfName20" "Subdivs" + -sv "shelfName21" "Surfaces" + -sv "shelfName22" "Toon" + -sv "shelfName23" "nCloth" + -sv "shelfName24" "Generick" + -sv "shelfName3" "Deformation" + -sv "shelfName4" "Dynamics" + -sv "shelfName5" "Fluids" + -sv "shelfName6" "Fur" + -sv "shelfName7" "General"; +optionVar + -sv "shelfName8" "Hair" + -sv "shelfName9" "PaintEffects" + -iv "shelfTabsVisible" 1 + -sv "shelvesLastUpdated" "2008" + -iv "showCustomMenuSetsMenusInHotBox" 0 + -iv "showGrid" 1 + -iv "showLearningMoviesOnStartup" 0 + -iv "showLineNumbersIsOn" 1 + -sv "showManip3D" "" + -sv "showManipTextureContext" "texManipContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" showManipTextureContext"; +optionVar + -iv "showStatusAlign" 1 + -iv "showStatusAutoAlign" 1 + -iv "showStatusAutoAlignUnfold" 1 + -iv "showStatusCopyPaste" 1 + -iv "showStatusDisplay1" 1 + -iv "showStatusDisplay2" 1 + -iv "showStatusDisplay3" 1 + -iv "showStatusFiles" 1 + -iv "showStatusFlipRotate" 1 + -iv "showStatusHistory" 1; +optionVar + -iv "showStatusInputField" 1 + -iv "showStatusIsolateSelect" 1 + -iv "showStatusManipSelect" 1 + -iv "showStatusMoveSew" 1 + -iv "showStatusRender" 1 + -iv "showStatusSelectMasks" 1 + -iv "showStatusSelectMode" 1 + -iv "showStatusSelectionSet" 0 + -iv "showStatusSnap" 1 + -iv "shutDownDocServer" 0; +optionVar + -sv "silo (sib|sia)Options" "" + -sv "smartModeStatus" "1" + -iv "smoothCurveEuc" 0 + -iv "smoothCurveKeepOrig" 1 + -iv "smoothCurveLac" 1 + -fv "smoothCurveSmoothness" 100 + -iv "smpSizeOfMeshForWarning" 15000 + -iv "snap2PtTo2PtParent" 0 + -iv "snap2PtTo2PtType" 0 + -iv "snap3PtTo3PtParent" 0; +optionVar + -iv "snapKeyAllAnimCurves" 0 + -iv "snapKeyControlPoints" 0 + -iv "snapKeyDriven" 0 + -sv "snapKeyHierarchy" "none" + -sv "snapKeyRange" "0:10" + -iv "snapKeyShapes" 1 + -fv "snapKeyTimeMultiple" 1 + -iv "snapKeyTimeValue" 1 + -iv "snapKeyUseChannelBox" 0 + -fv "snapKeyValueMultiple" 1; +optionVar + -iv "snapKeyWhichRange" 1 + -iv "snapMagnet" 0 + -fv "snapMagnetTolerance" 0.1 + -sv "snapTogetherToolCtx" "snapTogetherCtx -e -image1 \"snapTogetherTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -setOrientation 1\n-clearSelection 1\n-snapPolygonFace 0\nsnapTogetherToolCtx" + -iv "snapTolerance" 20 + -iv "snapUVTolerance" 25 + -iv "softModColorFeedback" 1 + -iv "softModFalloffAroundSelection" 1 + -ca "softModFalloffCurveOptionVar" + -sva "softModFalloffCurveOptionVar" "0,1,2" + -sva "softModFalloffCurveOptionVar" "1,0,2" + -iv "softModFalloffInX" 1; +optionVar + -iv "softModFalloffInY" 1 + -iv "softModFalloffInZ" 1 + -iv "softModFalloffMasking" 0 + -iv "softModFalloffMode" 0 + -fv "softModFalloffRadius" 2.018669 + -iv "softModPreserveHistory" 0 + -iv "softModToolMode" 1 + -iv "sphereAxisType" 2 + -fv "sphereAxisX" 0 + -fv "sphereAxisY" 1; +optionVar + -fv "sphereAxisZ" 0 + -iv "sphereDegree" 3 + -fv "sphereEndSweep" 360 + -iv "spherePivotType" 1 + -fv "spherePivotX" 0 + -fv "spherePivotY" 0 + -fv "spherePivotZ" 0 + -fv "sphereRadius" 1 + -iv "sphereSections" 8 + -iv "sphereSpans" 4; +optionVar + -fv "sphereStartSweep" 0 + -fv "sphereTolerance" 0.01 + -iv "sphereUseGlobalTolerance" 0 + -iv "sphereUseTolerance" 0 + -fv "spiralHeight" 2 + -fv "spiralRadius" 3 + -fv "spiralRounds" 2 + -ca "spotLightColor" + -fva "spotLightColor" 1 + -fva "spotLightColor" 1 + -fva "spotLightColor" 1 + -fv "spotLightConeAngle" 5 + -iv "spotLightDecay" 0; +optionVar + -fv "spotLightDropoff" 0 + -fv "spotLightIntensity" 1 + -iv "spotLightInteractivePlacement" 0 + -fv "spotLightPenumbra" 25 + -ca "spotLightShadowColor" + -fva "spotLightShadowColor" 0 + -fva "spotLightShadowColor" 0 + -fva "spotLightShadowColor" 0 + -iv "spotLightShadows" 0 + -iv "squareSrfAutoEdgeCount" 4 + -iv "squareSrfPolys" 0 + -iv "squareSrfRebuild1" 0 + -iv "squareSrfRebuild2" 0; +optionVar + -iv "squareSrfRebuild3" 0 + -iv "squareSrfRebuild4" 0 + -fv "squareSrfTolerance" 0.01 + -iv "squareSrfUseGlobal" 1 + -iv "squareSurfaceEuc" 0 + -iv "squareSurfaceLac" 1 + -iv "stackTraceIsOn" 1 + -iv "statusLineVisible" 1 + -sv "stitchSrfContext" "stitchSurfaceCtx -e -image1 \"stitchSrf.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1 -object 1 -replaceOriginal 1 -keepG0Continuity 1 -keepG1Continuity 0 -cascade 1 -weight0 0.5 -weight1 0.5 -numberOfSamples 40 -caching 0 -nodeState 0 -togglePointNormals 0 -togglePointPosition 1 -bias 1 -fixBoundary 0 -autoCreate 1 stitchSrfContext" + -iv "stitchSurfacePointsCascade" 0; +optionVar + -iv "stitchSurfacePointsEqualWts" 1 + -iv "stitchSurfacePointsKeepOriginal" 0 + -sv "studioImportOptions" "" + -iv "subdivComponentDisplayStyle" 0 + -iv "subdivCreateMaxEdgesPerVert" 32 + -iv "subdivCreateMaxPolygons" 1000 + -iv "subdivCreateOrigObject" 1 + -sv "surfaceEditorContext" "curveEditorCtx -e -image1 \"surfaceEditor.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -title \"Surface Editing Tool\" -relativeTangentSize 4 -direction 0 surfaceEditorContext" + -iv "sweepOutputPolygons" 0 + -sv "symmetricModellingAboutOption" "origin"; +optionVar + -sv "symmetricModellingAxisOption" "x" + -iv "symmetricModellingOption" 0 + -fv "symmetricModellingToleranceValue" 0.001 + -iv "tangentConstraintAddTargets" 1 + -fv "tangentialTolerance" 0.0572958 + -iv "tessellationSetupCamera" 0 + -fv "tessellationSetupChordHeight" 0.01 + -fv "tessellationSetupChordHeightRatio" 0.99 + -iv "tessellationSetupCurvature" 2 + -fv "tessellationSetupDivisionU" 1.5; +optionVar + -fv "tessellationSetupDivisionV" 1.5 + -iv "tessellationSetupEdgeSwap" 0 + -iv "tessellationSetupFrame" 0 + -fv "tessellationSetupMinScreen" 14 + -iv "tessellationSetupModeU" 2 + -iv "tessellationSetupModeV" 2 + -iv "tessellationSetupNumberU" 3 + -iv "tessellationSetupNumberV" 3 + -fv "tessellationSetupSmoothEdge" 0.99 + -iv "tessellationSetupSurfaces" 0; +optionVar + -iv "tessellationSetupType" 0 + -iv "tessellationSetupUseChordHeight" 0 + -iv "tessellationSetupUseChordHeightRatio" 1 + -iv "tessellationSetupUseMinScreen" 0 + -iv "tessellationSetupUseSmoothEdge" 0 + -sv "texLatticeDeformCtx" "texLatticeDeformContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-snapPixelMode 0\n-useBoundingRect 1\ntexLatticeDeformCtx" + -sv "texMoveContext" "texMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snapComponentsRelative 0\n-snapPixelMode 0\ntexMoveContext" + -sv "texMoveUVShellCtx" "texMoveUVShellContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mask 1\n-iterations 16\n-shellBorder 0.2\ntexMoveUVShellCtx" + -sv "texRotateContext" "texRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" texRotateContext" + -sv "texScaleContext" "texScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" texScaleContext"; +optionVar + -sv "texSmudgeUVCtx" "texSmudgeUVContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -effectType \"fixed\" -functionType \"exponential\" -radius 0.075\n-pressure 0.01\n-dragSlider \"none\" -smudgeIsMiddle 0\ntexSmudgeUVCtx" + -iv "textureBakeAlphaMode" 1 + -iv "textureBakeBakeAlpha" 0 + -iv "textureBakeBakeToOneMap" 0 + -iv "textureBakeBitsPerChannel" 1 + -iv "textureBakeColorMode" 1 + -iv "textureBakeFileFormat" 1 + -fv "textureBakeFillTextureSeams" 1 + -fv "textureBakeFinalGatherQuality" 1 + -fv "textureBakeFinalGatherReflect" 0; +optionVar + -iv "textureBakeNormalDirection" 1 + -fv "textureBakeOcclusionFalloff" 0 + -iv "textureBakeOcclusionRays" 64 + -iv "textureBakeOrthogonalReflection" 0 + -iv "textureBakeOverrideMeshUVSetAssignments" 0 + -sv "textureBakePrefix" "baked" + -iv "textureBakeSamples" 1 + -fv "textureBakeUMax" 1 + -fv "textureBakeUMin" 1 + -iv "textureBakeUvRange" 0; +optionVar + -sv "textureBakeUvSetName" "uvSet1" + -fv "textureBakeVMax" 1 + -fv "textureBakeVMin" 1 + -iv "textureBakeXResolution" 512 + -iv "textureBakeYResolution" 512 + -iv "textureEditorToolbarState" 0 + -iv "textureWindowDisplayDivisionLines" 0 + -iv "textureWindowDisplayGridAxes" 1 + -sv "textureWindowDisplayGridLabelPosition" "axis" + -iv "textureWindowDisplayGridLabels" 1; +optionVar + -iv "textureWindowDisplayGridLines" 1 + -fv "textureWindowGridDivisions" 2 + -fv "textureWindowGridSize" 1 + -fv "textureWindowGridSpacing" 0.1 + -iv "textureWindowShaderFacesMode" 0 + -iv "timeSliderHeight" 28 + -fv "timeSliderMaxPlaySpeed" 0 + -fv "timeSliderPlayBy" 1 + -sv "timeSliderPlayLoop" "continuous" + -fv "timeSliderPlaySpeed" 1; +optionVar + -sv "timeSliderPlayView" "active" + -fv "timeSliderRepeatChunk" 3 + -iv "timeSliderRepeatOnHold" 1 + -sv "timeSliderShowKeys" "active" + -iv "timeSliderSnapping" 1 + -sv "timeSliderSoundDisplay" "both" + -iv "timeSliderTickSize" 1 + -iv "timeSliderTimeCode" 0 + -sv "timeSliderTimeCodeOffset" "00:00:00:00" + -iv "timeSliderVisible" 1; +optionVar + -iv "toggleOriginAxis" 0 + -iv "toggleViewAxis" 0 + -iv "toolMessageHorizontalOffset" 0 + -fv "toolMessageTime" 0.7 + -iv "toolMessageVerticalOffset" -40 + -iv "toolMessageVisible" 1 + -iv "toolSettingsInMainWindow" 0 + -iv "toolSettingsVisible" 0 + -iv "toolboxVisible" 1 + -fv "totalAnimateRollTime" 0.5; +optionVar + -sv "track2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" track2dContext" + -sv "trackContext" "trackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Track Tool\" -trackGeometry 0\n-trackScale 1\ntrackContext" + -sv "tracktwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" tracktwContext" + -iv "transferAttributesColorBordersOption" 2 + -iv "transferAttributesColorSetsOption" 1 + -iv "transferAttributesFlipUVsOption" 1 + -iv "transferAttributesMirrorOption" 1 + -iv "transferAttributesNormalsOption" 2 + -iv "transferAttributesPositionsOption" 1 + -iv "transferAttributesSpaceOption" 4; +optionVar + -iv "transferAttributesUVSetsOption" 1 + -sv "transformTexSelectContext" "texSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" transformTexSelectContext" + -sv "trimContext" "trimCtx -e -image1 \"trim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1 -object 1 -replaceOriginal 1 -caching 0 -nodeState 0 -selected 0 -shrink 0 -tolerance 0.001 -autoCreate 1 trimContext" + -sv "tumbleContext" "tumbleCtx -e -image1 \"tumble.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Tumble Tool\" -tumbleScale 1\n-objectTumble 0\n-localTumble 1\n-autoOrthoConstrain 1\n-orthoStep 5\n-orthoLock 1\ntumbleContext" + -iv "tvAlignUVsOption" 1 + -fv "tvImageRangeMaxU" 1 + -fv "tvImageRangeMaxV" 1 + -fv "tvImageRangeMinU" 0 + -fv "tvImageRangeMinV" 0 + -iv "tvImageRangePresets" 1; +optionVar + -iv "tvImageResolution" 9 + -iv "undoIsEnabled" 1 + -iv "undoIsInfinite" 1 + -iv "undoLength" 50 + -fv "unfoldGlobalBlend" 0 + -fv "unfoldGlobalMethodBlend" 0.5 + -iv "unfoldHistOn" 0 + -iv "unfoldIterations" 5000 + -iv "unfoldPinAxis" 1 + -iv "unfoldPinBorder" 0; +optionVar + -iv "unfoldPinSelected" 0 + -iv "unfoldRescale" 0 + -fv "unfoldScale" 0.02 + -fv "unfoldStopThreshold" 0.001 + -iv "ungroupPreserve" 1 + -iv "ungroupWorld" 0 + -iv "unparentPreserve" 0 + -iv "unparentRemove" 0 + -iv "untrimChanges" 1 + -iv "untrimEuc" 0; +optionVar + -iv "untrimHistory" 1 + -iv "untrimLac" 1 + -iv "untrimOriginal" 0 + -sv "upAxisDirection" "y" + -iv "updateLightGlow" 1 + -iv "updateMotionBlur" 1 + -iv "updateShaderGlow" 1 + -iv "updateShadingAndLighting" 1 + -iv "useBakeSetOverride" 0 + -iv "useCurrentCharacterStatus" 1; +optionVar + -iv "useCurrentWorkspaceOnImportAndRef" 0 + -iv "useDefaultFileExtensions" 1 + -iv "useNamespaceStatus" 0 + -iv "useNamespacesDuringFileIO" 0 + -iv "useNewScenePanelConfig" 1 + -iv "useSaveScenePanelConfig" 1 + -iv "useScenePanelConfig" 1 + -iv "useScrollWheel" 1 + -iv "useSnapTolerance" 0 + -sv "userDefinedImageViewerCmdForImage" ""; +optionVar + -sv "userDefinedImageViewerCmdForSequence" "" + -sv "uvSnapshotFileName" "C:/School/T&L1/Character/sourceimages/head_UVs_1024_001" + -fv "uvSnapshotUMax" 1 + -fv "uvSnapshotUMin" 0 + -iv "uvSnapshotUVRange" 0 + -fv "uvSnapshotVMax" 1 + -fv "uvSnapshotVMin" 0 + -sv "v_mrBakeScope" "Selected" + -iv "v_mrBakeShadows" 0 + -sv "v_mrBakeTo" "Texture"; +optionVar + -iv "v_mrBatchRenderLogVerbosity" 3 + -iv "v_mrBatchRenderMemLimit" 0 + -iv "v_mrBatchRenderMemLimitAuto" 1 + -iv "v_mrBatchRenderNumThread" 2 + -iv "v_mrBatchRenderNumThreadAuto" 1 + -iv "v_mrBatchRenderTaskSize" 0 + -iv "v_mrBatchRenderUseMaster" 1 + -iv "v_mrBatchRenderUseSlaves" 1 + -sv "v_mrCamera" "persp" + -iv "v_mrKeepOrgSG" 0; +optionVar + -iv "v_mrRenderLogVerbosity" 3 + -iv "v_mrRenderMemLimit" 0 + -iv "v_mrRenderMemLimitAuto" 1 + -iv "v_mrRenderNumThread" 4 + -iv "v_mrRenderNumThreadAuto" 2 + -iv "v_mrRenderTaskSize" 0 + -iv "v_mrRenderUseMaster" 1 + -iv "v_mrRenderUseSlaves" 1 + -iv "v_mrSkipDefault" 1 + -iv "vertexBakeAlphaBlending" 0; +optionVar + -iv "vertexBakeAlphaMode" 1 + -iv "vertexBakeBakeAlpha" 0 + -iv "vertexBakeBakeColor" 1 + -iv "vertexBakeClampMax" 0 + -iv "vertexBakeClampMin" 0 + -iv "vertexBakeColorBlending" 0 + -iv "vertexBakeColorMode" 1 + -sv "vertexBakeColorSetName" "" + -fv "vertexBakeFilterNormalTolerance" 5 + -fv "vertexBakeFilterSize" 0.001; +optionVar + -fv "vertexBakeMaxAlpha" 1 + -fv "vertexBakeMaxColorB" 0 + -fv "vertexBakeMaxColorG" 0 + -fv "vertexBakeMaxColorR" 0 + -fv "vertexBakeMinAlpha" 0 + -fv "vertexBakeMinColorB" 0 + -fv "vertexBakeMinColorG" 0 + -fv "vertexBakeMinColorR" 0 + -iv "vertexBakeNormalDirection" 1 + -fv "vertexBakeOcclusionFalloff" 0; +optionVar + -iv "vertexBakeOcclusionRays" 64 + -iv "vertexBakeOrthogonalReflection" 0 + -fv "vertexBakeScaleRgba" 1 + -iv "vertexBakeSharedVertices" 0 + -iv "vertexBakeUseFaceNormals" 0 + -iv "viewAxisVisibility" 1 + -iv "viewCompassVisibleInPersp" 1 + -iv "viewCubeFitToView" 1 + -fv "viewCubeInactiveOpacity" 1 + -iv "viewCubePreserveSceneUp" 1; +optionVar + -sv "viewCubeScreenPosition" "topRight" + -iv "viewCubeShowCube" 0 + -sv "viewCubeSize" "normal" + -iv "viewCubeSnapToClosest" 1 + -sv "walkCycleControlCentralControls" "RIG_Generick_root_ctrl " + -iv "walkCycleControlCycleOffset" 12 + -sv "walkCycleControlLeftFoot" "RIG_Generick_leg_ctrl_L " + -sv "walkCycleControlLeftHand" "RIG_Generick_wrist_ctrl_R " + -sv "walkCycleControlRightFoot" "RIG_Generick_leg_ctrl_R " + -sv "walkCycleControlRightHand" "RIG_Generick_wrist_ctrl_L "; +optionVar + -ca "webBrowserBookmarkNames" + -sva "webBrowserBookmarkNames" "Getting Started with Maya" + -sva "webBrowserBookmarkNames" "Help Contents" + -sva "webBrowserBookmarkNames" "MEL Reference" + -sva "webBrowserBookmarkNames" "Node Reference" + -sva "webBrowserBookmarkNames" " " + -sva "webBrowserBookmarkNames" "Maya Community" + -sva "webBrowserBookmarkNames" "Report a Problem" + -sva "webBrowserBookmarkNames" "Technical Support" + -ca "webBrowserBookmarkURLs" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsTutorials" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsHome" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsMelCommands" + -sva "webBrowserBookmarkURLs" "mel://showHelpBookmark DocsNodes" + -sva "webBrowserBookmarkURLs" " " + -sva "webBrowserBookmarkURLs" "http://www.alias.com/eng/community" + -sva "webBrowserBookmarkURLs" "http://www.alias.com/cgi-bin/bug_forms/rel/product.cgi?product=Maya" + -sva "webBrowserBookmarkURLs" "http://www.alias.com/eng/support/maya/index.jhtml" + -iv "weightedTangents" 1 + -sv "wireCtx" "wireContext -e -image1 \"wire.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -holder 0\n-groupWithBase 0\n-envelope 1\n-crossingEffect 0\n-dropoffDistance 1\n-localInfluence 0\n-deformationOrder \"Default\" -exclusivePartition \"deformPartition\" -exclusive 0\nwireCtx" + -iv "wireframeOnShadedActive" 1 + -sv "workingUnitAngular" "deg" + -sv "workingUnitAngularDefault" "deg" + -sv "workingUnitLinear" "cm" + -sv "workingUnitLinearDefault" "cm" + -sv "workingUnitTime" "film"; +optionVar + -sv "workingUnitTimeDefault" "film" + -sv "wrinkleCtx" "wrinkleContext -e -image1 \"wrinkle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -style \"radial\" -wrinkleCount 3\n-branchCount 2\n-branchDepth 0\n-wrinkleIntensity 0.5\n-thickness 1\n-randomness 0.2\nwrinkleCtx" + -iv "xformManipUseRotatePivot" 0 + -iv "xformManipWorldSpace" 0 + -sv "yawPitchContext" "orbitCtx -e -image1 \"yawPitch.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Yaw-Pitch Tool\" -orbitScale 1\n-localOrbit 0\nyawPitchContext" + -iv "zooCSTDisplayInfo" 61101 + -iv "zooToolBoxDisplayInfo" 60224 + -iv "zooToolBoxDonation" 1 + -iv "zooTrigHighlighting" 0 + -iv "zooTrigViewMode" 1; + +panelConfiguration -label (localizedPanelLabel("Current Layout")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"right3\" -ps 1 50 100 -ps 2 50 50 -ps 3 50 50 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"renderCam\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 1\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 1\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"renderCam\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 1\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 1\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName"; +panelConfiguration -label (localizedPanelLabel("Single Perspective View")) + -defaultImage "singlePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"single\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Four View")) + -defaultImage "fourViewLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"quad\" $gMainPane" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Top View\" -cam `findStartUpCamera top`;}" + "modelPanel -e -l \"Top View\" -cam `findStartUpCamera top` $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Side View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Side View\" -cam `findStartUpCamera side`;}" + "modelPanel -e -l \"Side View\" -cam `findStartUpCamera side` $panelName" + -ap true + (localizedPanelLabel("Front View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Front View\" -cam `findStartUpCamera front`;}" + "modelPanel -e -l \"Front View\" -cam `findStartUpCamera front` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Hypergraph")) + -defaultImage "perspHypergraphLayout.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -l \"Hypergraph\";}" + "scriptedPanel -e -l \"Hypergraph\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Hypergraph")) + -defaultImage "perspGraphHypergraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"top3\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Perspective\" -cam `findStartUpCamera persp`;}" + "modelPanel -e -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -l \"Hypergraph\";}" + "scriptedPanel -e -l \"Hypergraph\" $panelName" + -ap true + (localizedPanelLabel("Graph Editor")) + "graphEditorPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -l \"Graph Editor\";}" + "scriptedPanel -e -l \"Graph Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp")) + -defaultImage "hypershadeRenderPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\"\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\"\t\t\t\t-cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -l \"Render View\";}" + "scriptedPanel -edit -l \"Render View\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Outliner/Persp")) + -defaultImage "hypershadeOutlinerPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Persp")) + -defaultImage "hypershadePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Outliner")) + -defaultImage "perspOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 20 100 -ps 2 80 100 $gMainPane;" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Outliner")) + -defaultImage "perspGraphOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -l \"Graph Editor\";}" + "scriptedPanel -edit -l \"Graph Editor\" $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Web Browser/Persp")) + -defaultImage "perspBrowserLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap false + (localizedPanelLabel("Web Browser")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t\tscriptedPanel -mbv $gUseMenusInPanels\t\t\t\t\t-unParent -type \"webBrowserPanel\" -l \"Web Browser\";}" + "scriptedPanel -edit -l \"Web Browser\" -mbv $menusOkayInPanels $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax")) + -defaultImage "perspTraxLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -l \"Trax Editor\";}" + "scriptedPanel -edit -l \"Trax Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax/Outliner")) + -defaultImage "perspTraxOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -l \"Trax Editor\";}" + "scriptedPanel -edit -l \"Trax Editor\" $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -l \"Outliner\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph")) + -defaultImage "perspGraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 46 -ps 2 100 54 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -l \"Graph Editor\";}" + "scriptedPanel -edit -l \"Graph Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Relationship Editor")) + -defaultImage "perspRelationshipEditorLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 61 -ps 2 100 39 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Relationship Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type relationshipPanel -unParent -l \"Relationship Editor\";}" + "scriptedPanel -edit -l \"Relationship Editor\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/UV Texture Editor")) + -defaultImage "perspTextureLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\" -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\" -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("UV Texture Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -l \"UV Texture Editor\" -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l \"UV Texture Editor\" -mbv $menusOkayInPanels $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp Vertical")) + -defaultImage "hypershadeRenderPerspVerticalLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"right3\" -paneSize 1 50 100 -paneSize 2 50 50 -paneSize 3 50 50 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -l \"Hypershade\";}" + "scriptedPanel -edit -l \"Hypershade\" $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -l \"Render View\";}" + "scriptedPanel -edit -l \"Render View\" $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -l \"Persp View\"\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -l \"Persp View\"\t\t\t\t-cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Setup")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane;paneLayout -e -cn \"single\" $gMainPane;" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t modelPanel -mbv $gUseMenusInPanels -unParent -l \"Persp View\" -cam persp;}" + "modelPanel -edit -l \"Persp View\" -cam \"persp\" $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Track")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane;paneLayout -e -cn \"right3\" $gMainPane;" + -ap false + (localizedPanelLabel("Track Shot View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Track Shot View\" -cam persp;}" + "modelPanel -edit -l \"Track Shot View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Track Point View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Track Point View\" -cam $gPointCenteredCamera;}" + "modelPanel -e -l \"Track Point View\" -cam $gPointCenteredCamera $panelName" + -ap false + (localizedPanelLabel("Track Summary View")) + "mlSummaryPanel" + "{global int $gUseMenusInPanels; scriptedPanel -mbv $gUseMenusInPanels -type mlSummaryPanel -unParent -l \"Track Summary View\";}" + "scriptedPanel -edit -l \"Track Summary View\" $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Solve")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"quad\" $gMainPane;" + -ap false + (localizedPanelLabel("Solve View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Solve View\" -cam persp;}" + "modelPanel -edit -l \"Solve View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Top View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Top View\" -cam top;}" + "modelPanel -e -l \"Top View\" -cam top $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Persp View\" -cam persp;}" + "modelPanel -edit -l \"Persp View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Locator Summary View")) + "mlLocatorPanel" + "{global int $gUseMenusInPanels; scriptedPanel -mbv $gUseMenusInPanels -type mlLocatorPanel -unParent -l \"Locator Summary View\";}" + "scriptedPanel -edit -l \"Locator Summary View\" $panelName"; +panelConfiguration -label (localizedPanelLabel("MayaLive Manual MatchMove")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane;paneLayout -e -cn \"right3\" $gMainPane;" + -ap false + (localizedPanelLabel("Manual Shot View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Manual Shot View\" -cam persp;}" + "modelPanel -edit -l \"Mnaual Shot View\" -cam \"persp\" $panelName" + -ap false + (localizedPanelLabel("Manual TTL Dragger View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Manual TTL Dragger View\" -cam persp;}" + "modelPanel -edit -l \"Manual TTL Dragger View\" -cam $gPointCenteredCamera $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels; modelPanel -mbv $gUseMenusInPanels -unParent -l \"Persp View\" -cam $gPointCenteredCamera;}" + "modelPanel -e -l \"TTL Dragger View\" -cam \"persp\" $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Persp/Graph")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"top3\" -ps 1 50 50 -ps 2 50 50 -ps 3 100 50 $gMainPane;" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l \"Top View\" -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l \"Top View\" -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l \"Persp View\" -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"KeyFramedCamera\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"flatShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l \"Persp View\" -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"KeyFramedCamera\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"flatShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 0\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -locators 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l \"Graph Editor\" -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -mainListConnection \"graphEditorList\" \n -selectionConnection \"graphEditor1FromOutliner\" \n -highlightConnection \"keyframeList\" \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -mainListConnection \"graphEditor1FromOutliner\" \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName" + "scriptedPanel -edit -l \"Graph Editor\" -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -mainListConnection \"graphEditorList\" \n -selectionConnection \"graphEditor1FromOutliner\" \n -highlightConnection \"keyframeList\" \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -mainListConnection \"graphEditor1FromOutliner\" \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName"; +panelConfiguration -label (localizedPanelLabel("Persp_Render_Graph")) + -defaultImage "defaultThreeSplitTopLayout.xpm" + -image "Persp_Persp_Graph_Layout.bmp" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"top3\" -ps 1 50 49 -ps 2 50 49 -ps 3 100 51 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -cam `findStartUpCamera persp` \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -cam `findStartUpCamera persp` \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"render_CAM\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 0\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 0\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"render_CAM\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 0\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 0\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName" + "scriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -autoExpand 1\n -showDagOnly 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -clipTime \"on\" \n $editorName"; +panelConfiguration -label (localizedPanelLabel("AttrCollectionLayout")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 40 100 -ps 2 60 100 $gMainPane;" + -ap false + (localizedPanelLabel("Attribute Collection")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"acPanelType\" -l \"Attribute Collection\" -mbv true `;" + "scriptedPanel -edit -l \"Attribute Collection\" -mbv true $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;modelEditor -e -cam `findStartUpCamera persp` $panelName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) $panelName;"; +panelConfiguration -label (localizedPanelLabel("Render_Persp_Hypershade")) + -defaultImage "defaultThreeSplitTopLayout.xpm" + -image "hypershadeRenderPerspLayout.xpm" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"top3\" -ps 1 50 50 -ps 2 50 50 -ps 3 100 50 $gMainPane;" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"renderWindowPanel\" -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"Camera02\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 1\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 0\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"Camera02\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -displayTextures 1\n -smoothWireframe 0\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 0\n -planes 0\n -lights 1\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 0\n -joints 0\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 0\n -nRigids 0\n -dynamicConstraints 0\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + -ap false + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName"; + + +autoKeyframe -state true ; +optionVar -fv gridSpacing 50 -fv gridDivisions 5 -fv gridSize 250 -intValue displayGridAxes 1 -intValue displayGridLines 1 -intValue displayDivisionLines 1 -intValue displayGridPerspLabels 0 -intValue displayGridOrthoLabels 1 -intValue displayGridAxesAccented 1 -stringValue displayGridPerspLabelPosition axis -stringValue displayGridOrthoLabelPosition edge; +nurbsToPolygonsPref -f 2 -ucr 0 -chr 0.1 -uch 0 -cht 1 -d 0.1 -es 0 -ft 0.01 -mel 0.001 -pc 200 -pt 1 -m 0 -mt 0.1 -mrt 0 -un 1 -ut 3 -vn 1 -vt 3 ; +nurbsCurveRebuildPref -fr 0 -rt 6 -d 3 -s 1 -tol 0.01 -end 1 -kr 1 -kep 1 -kt 0 -kcp 0 -scr 0; + +nurbsToSubdivPref -mpc 1000 -rn 1 -mp 1 -cp 1 -st 0 -ct 1 -br 0 -o 1 -t00 1 -t01 0 -t02 0 -t10 0 -t11 1 -t12 0 -t20 0 -t21 0 -t22 1 -t30 0 -t31 0 -t32 0 ; +ikSystem -e -sn true -ar false ; + + diff --git a/2009-x64/prefs/userRGBColors.mel b/2009-x64/prefs/userRGBColors.mel new file mode 100644 index 0000000..dec15cd --- /dev/null +++ b/2009-x64/prefs/userRGBColors.mel @@ -0,0 +1,121 @@ +displayRGBColor -c background 0.631 0.631 0.631; +displayRGBColor -c template 0.41642 0 0.47; +displayRGBColor -c userDefined1 0.63 0.41391 0.189; +displayRGBColor -c userDefined2 0.62118 0.63 0.189; +displayRGBColor -c userDefined3 0.4095 0.63 0.189; +displayRGBColor -c userDefined4 0.189 0.63 0.3654; +displayRGBColor -c userDefined5 0.189 0.63 0.63; +displayRGBColor -c userDefined6 0.189 0.4051 0.63; +displayRGBColor -c userDefined7 0.43596 0.189 0.63; +displayRGBColor -c userDefined8 0.63 0.189 0.41391; +displayRGBColor -c outlinerInvisibleColor 0 0 0.533; +displayRGBColor -c outlinerTemplatedColor 0.3961 0.2314 0.2314; +displayRGBColor -c outlinerTemplInvisColor 0.3961 0.1961 0.3882; +displayRGBColor -c outlinerHilightColor 0.625 0.625 0.625; +displayRGBColor -c outlinerChildHilightColor 0.698 1 0.698; +displayRGBColor -c hyperBackgroundColor 0.1 0.1 0.1; +displayRGBColor -c hyperNormalColor 0.439 0.447 0.455; +displayRGBColor -c hyperNormalLineColor 0.302 0.302 0.302; +displayRGBColor -c hyperSelectedColor 0.7 0.7 0; +displayRGBColor -c hyperHighlightColor 0.9 0.9 0.9; +displayRGBColor -c hyperDimColor 0.6 0.6 0.6; +displayRGBColor -c hyperSelectedHighlightColor 1 1 0; +displayRGBColor -c hyperTemplatedColor 0.635 0.478 0.333; +displayRGBColor -c hyperInstancedColor 0.659 0.301 0.659; +displayRGBColor -c hyperIconShadowColor 0.165 0.168 0.168; +displayRGBColor -c hyperIconOutlineColor 0 0 0; +displayRGBColor -c hyperLabelColor 0 0 0; +displayRGBColor -c hyperLine1Color 1 0 0; +displayRGBColor -c hyperLine2Color 0.251 0.686 1; +displayRGBColor -c hyperLine3Color 0 1 0; +displayRGBColor -c hyperLine4Color 0 0 1; +displayRGBColor -c hyperLine5Color 0 0 1; +displayRGBColor -c hyperSingleAttrColor 0.1 0.1 0.8; +displayRGBColor -c hyperDoubleAttrColor 0.1 0.8 0.8; +displayRGBColor -c hyperTripleAttrColor 0.1 0.8 0.1; +displayRGBColor -c hyperDataAttrColor 0.8 0.1 0.8; +displayRGBColor -c hyperArrayAttrColor 0.8 0.1 0.1; +displayRGBColor -c hyperMaterialColor 0.5 0.8 0.5; +displayRGBColor -c hyperTextureColor 0.8 0.5 0.5; +displayRGBColor -c hyperUtilityColor 0.5 0.5 0.8; +displayRGBColor -c hyperCachedPlugColor 0.7 0.2 0.2; +displayRGBColor -c listerNormalForeground 0.9 0.9 0.9; +displayRGBColor -c listerNormalBackground 0.1 0.1 0.1; +displayRGBColor -c listerNetworkBox1 0.99 0.09 0.18; +displayRGBColor -c listerNetworkBox2 0.392 0.392 0.392; +displayRGBColor -c listerHighlightForeground 0.3 0.3 0.3; +displayRGBColor -c listerHighlightBackground 0.99 0.65 0; +displayRGBColor -c listerSelectForeground 0.4 0.4 0.4; +displayRGBColor -c listerSelectBackground 0 0.75 0.99; +displayRGBColor -c renderViewBackground 0.25 0.25 0.25; +displayRGBColor -c renderViewCaption 0.8 0.8 0.8; +displayRGBColor -c renderViewActionCaption 1 1 0; +displayRGBColor -c traxBackgroundColor 0 0 0; +displayRGBColor -c traxShadowColor 0 0 0; +displayRGBColor -c traxHighlightColor 0 0 0; +displayRGBColor -c traxTimelineBackgroundColor 0 0 0; +displayRGBColor -c traxTimelineClipColor 0 0 0; +displayRGBColor -c traxTimelineTickColor 0 0 0; +displayRGBColor -c traxClipNormalColor 0 0 0; +displayRGBColor -c traxClipSelectedColor 0 0 0; +displayRGBColor -c traxClipHighlightColor 0 0 0; +displayRGBColor -c traxClipSelectedHighlightColor 0 0 0; +displayRGBColor -c traxClipActiveColor 0 0 0; +displayRGBColor -c traxClipActiveSelectedColor 0 0 0; +displayRGBColor -c traxClipActiveHighlightColor 0 0 0; +displayRGBColor -c traxActiveSelectedHighlightColor 0 0 0; +displayRGBColor -c traxClipLocateColor 0 0 0; +displayRGBColor -c traxClipCycleColor 0 0 0; +displayRGBColor -c traxClipLabelColor 0 0 0; +displayRGBColor -c traxClipDisabledLabelColor 0 0 0; +displayRGBColor -c traxClipPhantomColor 0 0 0; +displayRGBColor -c traxBlendNormalColor 0 0 0; +displayRGBColor -c traxBlendSelectedColor 0 0 0; +displayRGBColor -c traxBlendHighlightColor 0 0 0; +displayRGBColor -c traxBlendSelectedHighlightColor 0 0 0; +displayRGBColor -c traxSummaryNormalColor 0 0 0; +displayRGBColor -c traxSummarySelectedColor 0 0 0; +displayRGBColor -c traxSummaryHighlightColor 0 0 0; +displayRGBColor -c traxSummarySelectedHighlightColor 0 0 0; +displayRGBColor -c traxSummaryLabelColor 0 0 0; +displayRGBColor -c traxSummaryPhantomColor 0 0 0; +displayRGBColor -c dormantKeyframe 0 0.16 0.08; +displayRGBColor -c activeKeyframe 0.9 0.9 0; +displayRGBColor -c keyframeHighlight 0.235 0.235 0.235; +displayRGBColor -c keyframeTemplate 0.35 0.35 0.35; +displayRGBColor -c dormantBreakdown 0 0.39 0.39; +displayRGBColor -c activeBreakdown 0.9 0.9 0; +displayRGBColor -c dormantTangent 0.54 0.28 0.2; +displayRGBColor -c activeTangent 0.84 1 0.38; +displayRGBColor -c tangentHighlight 0.54 0.28 0.2; +displayRGBColor -c tangentTemplate 0.35 0.35 0.35; +displayRGBColor -c dormantUnlockedTangent 0.3 0.41 0.57; +displayRGBColor -c activeUnlockedTangent 0.11 0.82 1; +displayRGBColor -c dormantCurve 0 0.01 0.38; +displayRGBColor -c activeCurve 1 1 1; +displayRGBColor -c curveHighlight 0.54 0.28 0.2; +displayRGBColor -c curveTemplate 0.5 0.5 0.5; +displayRGBColor -c dormantBufferCurve 0.35 0.35 0.35; +displayRGBColor -c currentTime 1 0 0; +displayRGBColor -c timeSliderKey 0.66 0 0; +displayRGBColor -c timeSliderBreakdown 0 0.39 0.39; +displayRGBColor -c timeSliderTickDrawSpecial 0 1 0; +displayRGBColor -c timeSliderActiveKey 0.9 0.9 0; +displayRGBColor -c timeSliderRange 1 0 0; +displayRGBColor -c sound 0.36 0.6 0.38; +displayRGBColor -c transformX 0.9 0 0; +displayRGBColor -c transformY 0 0.9 0; +displayRGBColor -c transformZ 0 0 0.9; +displayRGBColor -c summaryObject 0.051 0.298 0.522; +displayRGBColor -c object 0.208 0.404 0.239; +displayRGBColor -c compoundAttribute 0.494 0.576 0.494; +displayRGBColor -c timeLabel 0 0 0; +displayRGBColor -c animationRange 0.375 0.375 0.375; +displayRGBColor -c colorR 0.9 0 0; +displayRGBColor -c colorG 0 0.9 0; +displayRGBColor -c colorB 0 0 0.9; +displayRGBColor -c transformNodes 0.051 0.102 0.059; +displayRGBColor -c cameraNodes 0.25 0.4375 0.5625; +displayRGBColor -c historyNodes 0 0.9 0.375; +displayRGBColor -c polygonNodes 0.161 0.161 0.161; +displayRGBColor -c otherNodes 0 0.01 0.38; diff --git a/2009-x64/prefs/userRunTimeCommands.mel b/2009-x64/prefs/userRunTimeCommands.mel new file mode 100644 index 0000000..6df059d --- /dev/null +++ b/2009-x64/prefs/userRunTimeCommands.mel @@ -0,0 +1,907 @@ +//Maya Preference 2009 (Release 1) +// +// + +runTimeCommand + -annotation "Aims the camera at the selection" + -category "Paul" + -commandLanguage "mel" + -command ("viewLookAt;") + LookAtSelection; + +runTimeCommand + -annotation "Append a poly using the selected verts (select counter-clockwise)" + -category "Paul" + -commandLanguage "mel" + -command ("buildFaceFromVerts;") + PolyFromVerts; + +runTimeCommand + -annotation "Slide Edge along neighbors" + -category "Paul" + -commandLanguage "mel" + -command ("OMT_to_selectionDragger;") + SlideEdge; + +runTimeCommand + -annotation "Connect selected components" + -category "Paul" + -commandLanguage "mel" + -command ("OMT_to_connectComponents;") + Connect; + +runTimeCommand + -annotation "Toggle base geometry shading" + -category "Paul" + -commandLanguage "mel" + -command ("cpsc_control toggleShading") + cpsToggleBaseShading; + +runTimeCommand + -annotation "Sets the camera to the top orthographic view" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -top") + cameraTopView; + +runTimeCommand + -annotation "Sets the camera to the bottom orthographic view" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -bottom") + cameraBottomView; + +runTimeCommand + -annotation "Sets the camera to the left side orthographic view (from the left)" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -leftSide") + cameraLeftSideView; + +runTimeCommand + -annotation "Sets the camera to the right side orthographic view (from the right)" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -rightSide") + cameraRightSideView; + +runTimeCommand + -annotation "Sets the camera to the rear orthographic view" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -back") + cameraRearView; + +runTimeCommand + -annotation "Sets the camera to the front orthographic view" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -front") + cameraFrontView; + +runTimeCommand + -annotation "Sets the camera to the standard perspective view" + -category "Paul" + -commandLanguage "mel" + -command ("viewSet -fit -ff 0.8 -krs true -an 0 -persp") + cameraPerspView; + +runTimeCommand + -annotation "Toggle x-ray shading on selected object, or all objects if none selected" + -category "Paul" + -commandLanguage "mel" + -command ("source extras_to_xrayToggle;\r\nextras_to_xrayToggleAsGroup;") + xRayToggle; + +runTimeCommand + -annotation "Sets the current view to display objects in flat shading with textures" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n string $currentPanel = `getPanel -underPointer`;\r\n if (\"\" == $currentPanel) {\r\n $currentPanel = `getPanel -withFocus`;\r\n }\r\n if (\"\" != $currentPanel) {\r\n string $panelType = `getPanel -typeOf $currentPanel`;\r\n if ($panelType == \"modelPanel\") {\r\n modelEditor -edit -displayAppearance \"flatShaded\" -displayTextures on \r\n -displayLights \"default\" $currentPanel;\r\n } else if (`isTrue \"MayaCreatorExists\"` && `scriptedPanel -exists $currentPanel` \r\n && `scriptedPanel -query -type $currentPanel` == \"dynPaintScriptedPanelType\") {\r\n dynPaintEditor -edit -displayTextures 1 -displayAppearance \"flatShaded\"\r\n -displayLights \"default\" $gDynPaintEditorName;\r\n } else if ($panelType == \"scriptedPanel\") {\r\n string $scriptedType = `scriptedPanel -q -type $currentPanel`;\r\n if ($scriptedType == \"referenceEditorPanel\") {\r\n global string $gReferenceEditorModelEditor;\r\n modelEditor -edit -displayAppearance \"flatShaded\" -displayTextures on -displayLights \"default\" $gReferenceEditorModelEditor;\r\n }\r\n }\r\n }\r\n}") + displayFlatShaded; + +runTimeCommand + -annotation "Selects all of the current component type in the current shell" + -category "Paul" + -commandLanguage "mel" + -command ("OMT_to_selectElement") + selectAll; + +runTimeCommand + -annotation "Clears the selection" + -category "Paul" + -commandLanguage "mel" + -command ("select -clear;") + deselectAll; + +runTimeCommand + -annotation "Toggles wether the cps proxy shape is editable" + -category "Paul" + -commandLanguage "mel" + -command ("cpsc_control toggleEditable") + cpsToggleProxyEditable; + +runTimeCommand + -annotation "Creates a Bonus Tools Component Transform Manipulator" + -category "Paul" + -commandLanguage "mel" + -command ("bgComponentTransformManip") + componentTransformManipulator; + +runTimeCommand + -annotation "Transform Objects/Components around a user-defined local pivot" + -category "Paul" + -commandLanguage "mel" + -command ("HKLocalToolsAction();") + localTools; + +runTimeCommand + -annotation "Convert the selection to vertices and change the selection filter to vertices" + -category "Paul" + -commandLanguage "mel" + -command ("PolySelectConvert 3;\r\nsetSelectMode components Components;\r\nselectType -smp 1 -sme 0 -smf 0 -smu 0 -pv 1 -pe 0 -pf 0 -puv 0;\r\nhilite `ls -sl -objectsOnly`;") + convertToVertsAndChangeSelectionMode; + +runTimeCommand + -annotation "Convert the selection to edges and change the selection filter to edges" + -category "Paul" + -commandLanguage "mel" + -command ("PolySelectConvert 2;\r\nsetSelectMode components Components;\r\nselectType -smp 0 -sme 1 -smf 0 -smu 0 -pv 0 -pe 1 -pf 0 -puv 0;\r\nhilite `ls -sl -objectsOnly`;") + convertToEdgesAndChangeSelectionMode; + +runTimeCommand + -annotation "Convert the selection to faces and change the selection filter to faces" + -category "Paul" + -commandLanguage "mel" + -command ("PolySelectConvert 1;\r\nsetSelectMode components Components;\r\nselectType -smp 0 -sme 0 -smf 1 -smu 0 -pv 0 -pe 0 -pf 1 -puv 0;\r\nhilite `ls -sl -objectsOnly`;") + convertToFacesAndChangeSelectionMode; + +runTimeCommand + -annotation "Convert the selection to contained edges and change the selection filter to edges" + -category "Paul" + -commandLanguage "mel" + -command ("PolySelectConvert 20;\r\nsetSelectMode components Components;\r\nselectType -smp 0 -sme 1 -smf 0 -smu 0 -pv 0 -pe 1 -pf 0 -puv 0;\r\nhilite `ls -sl -objectsOnly`;") + convertToContainedEdgesAndChangeSelectionMode; + +runTimeCommand + -annotation "Convert the selection to contained faces and change the selection filter to faces" + -category "Paul" + -commandLanguage "mel" + -command ("PolySelectConvert 10;\r\nsetSelectMode components Components;\r\nselectType -smp 0 -sme 0 -smf 1 -smu 0 -pv 0 -pe 0 -pf 1 -puv 0;\r\nhilite `ls -sl -objectsOnly`;") + convertToContainedFacesAndChangeSelectionMode; + +runTimeCommand + -annotation "Connect Poly Shape" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsLib.mel; cpsl_connectPolyShape") + cps; + +runTimeCommand + -annotation "Connect Poly Shape Options" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsLib.mel; cpsl_showOptionWindow") + cpsOptions; + +runTimeCommand + -annotation "CPS Control Window" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsLib.mel; cpsl_showControlWindow") + cpsControlWindow; + +runTimeCommand + -annotation "CPS Toolbox Window" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsLib.mel; cpsl_showToolboxWindow") + cpsToolboxWindow; + +runTimeCommand + -annotation "CPS Attribute Window" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsLib.mel; cpsl_showAttributeWindow") + cpsAttributeWindow; + +runTimeCommand + -annotation "CPS Add Shell" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_shell addShell") + cpsAddShell; + +runTimeCommand + -annotation "CPS Remove Shell" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_shell removeShell") + cpsRemoveShell; + +runTimeCommand + -annotation "CPS Delete Shell" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_shell deleteShell") + cpsDeleteShell; + +runTimeCommand + -annotation "CPS Merge Shells" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_shell mergeShells") + cpsMergeShells; + +runTimeCommand + -annotation "CPS Split Shell" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_shell splitShell") + cpsSplitShell; + +runTimeCommand + -annotation "CPS Toggle Shell Evaluation" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_shell toggleShellEvaluation") + cpsToggleShellEvaluation; + +runTimeCommand + -annotation "CPS Increase Subdivisions" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry increaseSubdivisions") + cpsIncSubd; + +runTimeCommand + -annotation "CPS Decrease Subdivisions" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry decreaseSubdivisions") + cpsDecSubd; + +runTimeCommand + -annotation "CPS Toggle Subdivision" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry toggleSmoothNode") + cpsToggleSubdivision; + +runTimeCommand + -annotation "CPS Toggle Triangulation" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry toggleTriangulationNode") + cpsToggleTriangulation; + +runTimeCommand + -annotation "CPS Toggle Mirror and Stitch" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry toggleMirrorAndStitchNode") + cpsToggleMirrorAndStitch; + +runTimeCommand + -annotation "CPS Toggle Soften Edge" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry toggleSoftEdgeNode") + cpsToggleSoftenEdge; + +runTimeCommand + -annotation "CPS Disconnect Poly Shape" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry disconnectPolyShape") + cpsDisconnectPolyShape; + +runTimeCommand + -annotation "CPS Delete Proxy" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry deleteResult") + cpsDeleteProxy; + +runTimeCommand + -annotation "CPS Delete History" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry deleteHistory") + cpsDeleteHistory; + +runTimeCommand + -annotation "CPS Snap Border Vertices" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control_geometry snapVertices") + cpsSnapBorderVertices; + +runTimeCommand + -annotation "CPS Toggle Base Visibility" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control toggleBaseVisibility") + cpsToggleBaseVisibility; + +runTimeCommand + -annotation "CPS Toggle Proxy Visibility" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control toggleProxyVisibility") + cpsToggleProxyVisibility; + +runTimeCommand + -annotation "CPS Switch Base/Proxy Visibility" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control switchBaseProxy") + cpsSwitchBaseProxy; + +runTimeCommand + -annotation "CPS Toggle HUD" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control toggleHeadUpDisplay") + cpsToggleHUD; + +runTimeCommand + -annotation "CPS Toggle Display Affected" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control toggleDisplayAffected") + cpsToggleDisplayAffected; + +runTimeCommand + -annotation "CPS Toggle Isolate Select" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control toggleIsolateSelect") + cpsToggleIsolateSelect; + +runTimeCommand + -annotation "CPS Select Base" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control selectBase") + cpsSelectBase; + +runTimeCommand + -annotation "CPS Select Proxy" + -category "CPS" + -commandLanguage "mel" + -command ("source cpsControl.mel; cpsc_createUI none; cpsc_control selectProxy") + cpsSelectProxy; + +runTimeCommand + -annotation "Replace the standard undo with this, so that it uses the HKMagnetTool native undo when active" + -category "Paul" + -commandLanguage "mel" + -command ("$CurTool = `currentCtx `;\r\n if($CurTool == \"HKMagnetTool\")\r\n {\r\n $Obj = `ls -hl`;\r\n if(`size $Obj` > 0)\r\n {\r\n string $Shape[];\r\n \t\t $Shape = `listRelatives -s -ni $Obj[0]`;\r\n \t\t string $DNode[];\r\n \t\t $DNode = `listConnections -s 1 -d 0 ($Shape[0]+\".inMesh\")`;\r\n \t\t if( `nodeType $DNode[0]` == \"softMod\")\r\n \t\t delete $DNode;\r\n }\r\n }\r\n else \r\n undo;") + HKMagnetToolsUndo; + +runTimeCommand + -annotation "Creates a default 1x1x1 cube" + -category "Paul" + -commandLanguage "mel" + -command ("polyCube -ch on -o on -w 1.0 -h 1.0 -d 1.0 -cuv 4 ;") + CreateUnitCube; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("animCurveConvergeTowardCenter2(0);\r\nautoTangent ;") + AnimConv_AutoTangent; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("animCurveConvergeTowardCenter2(0);") + AnimConverge; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("toggleUIComponentVisibility(\"Channel Box / Layer Editor\");") + ChannelBox_Toggle; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("manipRotateContext -e -mode 0 Rotate;\r\nprint \"Rotate Mode: Local Space\"") + LocalRotate; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("manipRotateContext -e -mode 2 Rotate;\r\nprint \"Rotate Mode: Gimbal\"") + GimbalRotate; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("manipMoveContext -e -mode 2 Move;\r\nprint \"Move Mode: World Space\"") + Translate_World; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("lpFilterCurves ;") + FilterCurves; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir right -nudge 1 -factor 0 -pivot mid -abs 1 -curvePivot 0\";\r\n") + Nudge_Fwd; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir left -nudge 1 -factor 0 -pivot mid -abs 1 -curvePivot 0\";") + Nudge_Bkwd; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir down -nudge 1 -factor 0.02 -pivot mid -abs 1 -curvePivot 0\";") + Nudge_Dn; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir up -nudge 1 -factor 0.02 -pivot mid -abs 1 -curvePivot 0\";\r\n") + Nudge_Up; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("{\r\n string $currentPanel = `getPanel -underPointer`;\r\n if (\"\" == $currentPanel) \r\n {\r\n $currentPanel = `getPanel -withFocus`;\r\n }\r\n if (\"\" != $currentPanel) \r\n {\r\n string $panelType = `getPanel -typeOf $currentPanel`;\r\n if ($panelType == \"modelPanel\") \r\n {\r\n int $state = `modelEditor -q -xray $currentPanel`;\r\n modelEditor -e -xray (!$state) $currentPanel;\r\n }\r\n }\r\n}\r\n\r\n") + Xray; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("keyTangent -edit -weightedTangents true;\r\nkeyTangent -weightLock off;") + WeightedFreeTangents; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("cMotionTrailUI ;") + MotionTrail; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("manipMoveContext -e -mode 1 Move;\r\nprint \"Move Mode: Local Space\"") + Translate_Local; + +runTimeCommand + -annotation "" + -category "Thierry" + -commandLanguage "mel" + -command ("timeSliderClearKey;") + DeleteTimeSlideKey; + +runTimeCommand + -annotation "Toggles whether the selected keys have unified or broken tangents" + -category "Paul" + -commandLanguage "mel" + -command ("if(`keyframe -animation keys -q -kc`)\r\n{\r\n\tint $tangentsLockedArray[] = `keyTangent -q -l`;\r\n\tint $locked;\r\n\tint $sum = 0;\r\n\tfor($locked in $tangentsLockedArray)\r\n\t{\r\n\t\t$sum += $locked;\r\n\t}\r\n if($sum / float(size($tangentsLockedArray)) >= .5)\r\n {\r\n doKeyTangent \"-lock off\" graphEditor1GraphEd noOptions;\r\n }\r\n else\r\n {\r\n doKeyTangent \"-lock on\" graphEditor1GraphEd noOptions;\r\n }\r\n}") + ToggleUnifyBreakKeyTangents; + +runTimeCommand + -annotation "AutoTangent" + -category "Paul" + -commandLanguage "mel" + -command ("source autoTangent.mel;\r\naTan_smoothKeys(0.0, false);") + AutoTangentCommand; + +runTimeCommand + -annotation "" + -category "Paul" + -commandLanguage "mel" + -command ("animView -startTime (`playbackOptions -query -minTime` - 1) -endTime (`playbackOptions -query -maxTime` + 1) graphEditor1GraphEd;\r\n") + FramePlaybackRangeInGraphEditor; + +runTimeCommand + -annotation "" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager; PMP_SaveHotkeys(\"Animation\");") + SaveAnimationHotkeys; + +runTimeCommand + -annotation "" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager; PMP_SaveHotkeys(\"Modeling\");") + SaveModelingHotkeys; + +runTimeCommand + -annotation "Sets the default in/out tangent type to Spline" + -category "Paul" + -commandLanguage "mel" + -command ("keyTangent -global -itt spline;\r\nkeyTangent -global -ott spline;\r\nprint(\"Default tangents changed to SPLINE\\n\");") + defaultTangentsSpline; + +runTimeCommand + -annotation "Sets the default in/out tangent type to Linear" + -category "Paul" + -commandLanguage "mel" + -command ("keyTangent -global -itt linear;\r\nkeyTangent -global -ott linear;\r\nprint(\"Default tangents changed to LINEAR\\n\");") + defaultTangentsLinear; + +runTimeCommand + -annotation "Sets the default out tangent type to Stepped (and in type to Linear)" + -category "Paul" + -commandLanguage "mel" + -command ("keyTangent -global -itt linear;\r\nkeyTangent -global -ott step;\r\nprint(\"Default tangents changed to STEPPED\\n\");") + defaultTangentsStepped; + +runTimeCommand + -annotation "Sets the default in/out tangent type to Linear" + -category "Paul" + -commandLanguage "mel" + -command ("keyTangent -global -itt flat;\r\nkeyTangent -global -ott flat;\r\nprint(\"Default tangents changed to FLAT\\n\");") + defaultTangentsFlat; + +runTimeCommand + -annotation "Loads Thierry's default hotkey set" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager; PMP_loadHotkeys(\"Thierry\");") + LoadThierryHotkeys; + +runTimeCommand + -annotation "Sets the default in/out tangent type to Clamped" + -category "Paul" + -commandLanguage "mel" + -command ("keyTangent -global -itt clamped;\r\nkeyTangent -global -ott clamped;\r\nprint(\"Default tangents changed to CLAMPED\\n\");") + defaultTangentsClamped; + +runTimeCommand + -annotation "Sets the default in/out tangent type to Clamped" + -category "Paul" + -commandLanguage "mel" + -command ("keyTangent -global -itt plateau;\r\nkeyTangent -global -ott plateau;\r\nprint(\"Default tangents changed to PLATEAU\\n\");") + defaultTangentsPlateau; + +runTimeCommand + -annotation "Set the time to the previous keyframe on the timeline, without updating the scene" + -category "Paul" + -commandLanguage "mel" + -command ("currentTime -update false (`findKeyframe -timeSlider -which previous`);") + PreviousKeyframeNoUpdate; + +runTimeCommand + -annotation "Set the time to the next keyframe on the timeline, without updating the scene" + -category "Paul" + -commandLanguage "mel" + -command ("currentTime -update false (`findKeyframe -timeSlider -which next`);") + NextKeyframeNoUpdate; + +runTimeCommand + -annotation "Toggles the locked/unlocked status of keyframe weights (all keys set to the same locked/unlocked state) (also sets tangents to weighted if not already)" + -category "Paul" + -commandLanguage "mel" + -command ("python(\"import PMP.maya.animation;PMP.maya.animation.toggleLockedKeyTangentWeights()\")") + ToggleLockedKeyTangentWeights; + +runTimeCommand + -annotation "AutoTangent, with 100 softness" + -category "Paul" + -commandLanguage "mel" + -command ("source autoTangent.mel;\r\naTan_smoothKeys(100.0, false);") + AutoTangentSoftCommand; + +runTimeCommand + -annotation "Extrudes Vertex, Edge, or Face" + -category "Paul" + -commandLanguage "mel" + -command ("extras_to_extrudeComponent") + extrudeComponent; + +runTimeCommand + -annotation "" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager; PMP_SaveHotkeys(\"Thierry\");") + SaveThierryHotkeys; + +runTimeCommand + -annotation "Doesn't save anything - used to make sure pressing CTRL+ALT+SHIFT+S with default keys doesn't save another keyset" + -category "Paul" + -commandLanguage "mel" + -command ("{}") + SaveHotkeysDummy; + +runTimeCommand + -annotation "Convert the selection to UVs and change the selection filter to UVs" + -category "Paul" + -commandLanguage "mel" + -command ("ConvertSelectionToUVs;\r\nsetSelectMode components Components;\r\nselectType -pv 0 -pe 0 -pf 0 -puv 1 -smp 0 -sme 0 -smf 0 -smu 1;\r\nhilite `ls -sl -objectsOnly`;") + convertToUVsAndChangeSelectionMode; + +runTimeCommand + -annotation "Hides Unselected objects, but not hilited objects!" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hideUnselected") + PMP_hideUnselectedCommand; + +runTimeCommand + -annotation "Bridges the selected faces" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_bridgeFaces") + bridgeFacesCommand; + +runTimeCommand + -annotation "Convert the selection to the UV shell and change the selection filter to UVs" + -category "Paul" + -commandLanguage "mel" + -command ("ConvertSelectionToUVs;\r\npolySelectBorderShell 0;\r\nsetSelectMode components Components;\r\nselectType -pv 0 -pe 0 -pf 0 -puv 1 -smp 0 -sme 0 -smf 0 -smu 1;\r\nhilite `ls -sl -objectsOnly`;") + convertToUVShellAndChangeSelectionMode; + +runTimeCommand + -annotation "Makes an instance... duh" + -category "Paul" + -commandLanguage "mel" + -command ("instance;\r\nprint \"Made instance...\"") + Instance; + +runTimeCommand + -annotation "Update PSD Textures" + -category "Paul" + -commandLanguage "mel" + -command ("psdUpdateTextures;\r\nprint \"Updated PSD Textures\";") + UpdatePSDTextures; + +runTimeCommand + -annotation "Toggles the display of polygon smoothing (ie, subdiv surfaces in 2008)" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n int $oldSmoothness[] = `displaySmoothness -q -polygonObject`;\r\n if( $oldSmoothness[0] == 3) displaySmoothness -polygonObject 1;\r\n else displaySmoothness -polygonObject 3;\r\n}") + toggleMayaDisplaySmoothing; + +runTimeCommand + -annotation "Toggles the display of polygon smoothing cage (for subdiv surfaces in 2008)" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n int $oldSmoothness[] = `displaySmoothness -q -polygonObject`;\r\n if( $oldSmoothness[0] == 2) displaySmoothness -polygonObject 1;\r\n else displaySmoothness -polygonObject 2;\r\n}") + toggleMayaDisplaySmoothingCage; + +runTimeCommand + -annotation "Add items to 'Left' of selection" + -category "User" + -commandLanguage "mel" + -command ("PMP_pickWalkAddSelection(\"Left\")") + PMP_pickWalkAddSelection_Left_RTC; + +runTimeCommand + -annotation "Add items to 'Right' of selection" + -category "User" + -commandLanguage "mel" + -command ("PMP_pickWalkAddSelection(\"Right\")") + PMP_pickWalkAddSelection_Right_RTC; + +runTimeCommand + -annotation "Add items to 'Up' of selection" + -category "User" + -commandLanguage "mel" + -command ("PMP_pickWalkAddSelection(\"Up\")") + PMP_pickWalkAddSelection_Up_RTC; + +runTimeCommand + -annotation "Add items to 'Down' of selection" + -category "User" + -commandLanguage "mel" + -command ("PMP_pickWalkAddSelection(\"Down\")") + PMP_pickWalkAddSelection_Down_RTC; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("startWalkCam 1;") + walkCamForward; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("startWalkCam 0;") + walkCamBackward; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("startWalkCam 3;") + walkCamLeft; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("startWalkCam 2;") + walkCamRight; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("stopWalkCam;") + walkCamStop; + +runTimeCommand + -annotation "Parent the selected object(s) to the last selected object (but maintain local transform)" + -category "Paul" + -commandLanguage "mel" + -command ("parent -r;") + ParentRelative; + +runTimeCommand + -annotation "Toggle symmetric modeling on / off" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n\tint $state = `symmetricModelling -q -symmetry`;\r\n\tsymmetricModelling -e -symmetry (!$state);\r\n}") + toggleSymmetricModeling; + +runTimeCommand + -annotation "Toggle soft selection on and off" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n\tint $state = `softSelect -q -softSelectEnabled`;\r\n\tsoftSelect -e -softSelectEnabled (!$state);\r\n}") + toggleSoftSelection; + +runTimeCommand + -annotation "" + -category "Paul" + -commandLanguage "mel" + -command ("\r\n{\r\n string $currentPanel = `getPanel -withFocus`;\r\n string $panelType = `getPanel -to $currentPanel`;\r\n if ($panelType == \"modelPanel\") \r\n {\r\n modelEditor -edit -da \"smoothShaded\" -displayTextures off -dl \"default\" $currentPanel;\r\n }\r\n else if (`isTrue \"MayaCreatorExists\"` && `scriptedPanel -ex $currentPanel` && `scriptedPanel -q -type $currentPanel` == \"dynPaintScriptedPanelType\") \r\n {\r\n dynPaintEditor -e -dtx off -dsa \"smoothShaded\" -dsl \"default\" $gDynPaintEditorName;\r\n }\r\n else if ($panelType == \"scriptedPanel\") \r\n {\r\n string $scriptedType = `scriptedPanel -q -type $currentPanel`;\r\n if ($scriptedType == \"referenceEditorPanel\") \r\n {\r\n global string $gReferenceEditorModelEditor;\r\n modelEditor -edit -da \"smoothShaded\" -displayTextures off -dl \"default\" $gReferenceEditorModelEditor;\r\n }\r\n }\r\n}\r\n") + displaySmoothShadedNoTexture; + +runTimeCommand + -annotation "Sets the current view to display objects in flat shading with no textures" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n string $currentPanel = `getPanel -underPointer`;\r\n if (\"\" == $currentPanel) {\r\n $currentPanel = `getPanel -withFocus`;\r\n }\r\n if (\"\" != $currentPanel) {\r\n string $panelType = `getPanel -typeOf $currentPanel`;\r\n if ($panelType == \"modelPanel\") {\r\n modelEditor -edit -displayAppearance \"flatShaded\" -displayTextures off \r\n -displayLights \"default\" $currentPanel;\r\n } else if (`isTrue \"MayaCreatorExists\"` && `scriptedPanel -exists $currentPanel` \r\n && `scriptedPanel -query -type $currentPanel` == \"dynPaintScriptedPanelType\") {\r\n dynPaintEditor -edit -displayTextures 0 -displayAppearance \"flatShaded\"\r\n -displayLights \"default\" $gDynPaintEditorName;\r\n } else if ($panelType == \"scriptedPanel\") {\r\n string $scriptedType = `scriptedPanel -q -type $currentPanel`;\r\n if ($scriptedType == \"referenceEditorPanel\") {\r\n global string $gReferenceEditorModelEditor;\r\n modelEditor -edit -displayAppearance \"flatShaded\" -displayTextures off -displayLights \"default\" $gReferenceEditorModelEditor;\r\n }\r\n }\r\n }\r\n}") + displayFlatShadedNoTexture; + +runTimeCommand + -annotation "When held, play in reverse; when pressed, go back one frame" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n // Signal that the key is pressed\r\n global int $PMP_stickyPreviousFrame_keyPressed;\r\n $PMP_stickyPreviousFrame_keyPressed = true;\r\n\r\n // Frame at which we started\r\n global float $PMP_stickyPreviousFrame_startFrame;\r\n $PMP_stickyPreviousFrame_startFrame = `currentTime -q`;\r\n \r\n // Time at which we started\r\n global float $PMP_stickyPreviousFrame_startTime;\r\n $PMP_stickyPreviousFrame_startTime = `timerX`;\r\n\r\n scriptJob -idleEvent \"PMP_stickyPreviousFrame_whilePressed()\" -runOnce true;\r\n}\r\n\r\n// This must be set to a script job with the -runOnce flag!\r\nglobal proc PMP_stickyPreviousFrame_whilePressed()\r\n{\r\n // Time to delay before playback starts\r\n float $delayTime = .2 ;\r\n\r\n global float $PMP_stickyPreviousFrame_startTime;\r\n global int $PMP_stickyPreviousFrame_keyPressed;\r\n\r\n //print(\"PMP_stickyPreviousFrame_whilePressed - elapsedTime: \" + `timerX -startTime $PMP_stickyPreviousFrame_startTime` + \"\\n\");\r\n \r\n if(`timerX -startTime $PMP_stickyPreviousFrame_startTime` > $delayTime && \r\n $PMP_stickyPreviousFrame_keyPressed)\r\n {\r\n //print \"playing...\\n\";\r\n play -forward false;\r\n }\r\n else if($PMP_stickyPreviousFrame_keyPressed)\r\n {\r\n //print \"starting script again...\\n\";\r\n scriptJob -idleEvent \"PMP_stickyPreviousFrame_whilePressed()\" -runOnce true;\r\n }\r\n}\r\n") + Thierry_stickyPreviousFrame_press; + +runTimeCommand + -annotation "When held, play in reverse; when pressed, go back one frame" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n // Signal that the key is released\r\n global int $PMP_stickyPreviousFrame_keyPressed;\r\n $PMP_stickyPreviousFrame_keyPressed = false;\r\n\r\n // Stop playback\r\n play -state off;\r\n\r\n // Check if frame has changed - if not, go back one\r\n global float $PMP_stickyPreviousFrame_startFrame;\r\n if($PMP_stickyPreviousFrame_startFrame == `currentTime -q`)\r\n {\r\n print \"Previous frame\\n\";\r\n currentTime($PMP_stickyPreviousFrame_startFrame - 1);\r\n }\r\n}\r\n") + Thierry_stickyPreviousFrame_release; + +runTimeCommand + -annotation "When held, play forward; when pressed, go forward one frame" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n // Signal that the key is pressed\r\n global int $PMP_stickyNextFrame_keyPressed;\r\n $PMP_stickyNextFrame_keyPressed = true;\r\n\r\n // Frame at which we started\r\n global float $PMP_stickyNextFrame_startFrame;\r\n $PMP_stickyNextFrame_startFrame = `currentTime -q`;\r\n \r\n // Time at which we started\r\n global float $PMP_stickyNextFrame_startTime;\r\n $PMP_stickyNextFrame_startTime = `timerX`;\r\n\r\n scriptJob -idleEvent \"PMP_stickyNextFrame_whilePressed()\" -runOnce true;\r\n}\r\n\r\n// This must be set to a script job with the -runOnce flag!\r\nglobal proc PMP_stickyNextFrame_whilePressed()\r\n{\r\n // Time to delay before playback starts\r\n float $delayTime = .2 ;\r\n\r\n global float $PMP_stickyNextFrame_startTime;\r\n global int $PMP_stickyNextFrame_keyPressed;\r\n\r\n //print(\"PMP_stickyNextFrame_whilePressed - elapsedTime: \" + `timerX -startTime $PMP_stickyNextFrame_startTime` + \"\\n\");\r\n \r\n if(`timerX -startTime $PMP_stickyNextFrame_startTime` > $delayTime && \r\n $PMP_stickyNextFrame_keyPressed)\r\n {\r\n //print \"playing...\\n\";\r\n play;\r\n }\r\n else if($PMP_stickyNextFrame_keyPressed)\r\n {\r\n //print \"starting script again...\\n\";\r\n scriptJob -idleEvent \"PMP_stickyNextFrame_whilePressed()\" -runOnce true;\r\n }\r\n}") + Thierry_stickyNextFrame_press; + +runTimeCommand + -annotation "When held, play forward; when pressed, go forward one frame" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n // Signal that the key is released\r\n global int $PMP_stickyNextFrame_keyPressed;\r\n $PMP_stickyNextFrame_keyPressed = false;\r\n\r\n // Stop playback\r\n play -state off;\r\n\r\n // Check if frame has changed - if not, go forward one\r\n global float $PMP_stickyNextFrame_startFrame;\r\n if($PMP_stickyNextFrame_startFrame == `currentTime -q`)\r\n {\r\n print \"Next frame\\n\";\r\n currentTime($PMP_stickyNextFrame_startFrame + 1);\r\n }\r\n}") + Thierry_stickyNextFrame_release; + +runTimeCommand + -annotation "Set the rotate manipulator to world space" + -category "Paul" + -commandLanguage "mel" + -command ("manipRotateContext -e -mode 1 Rotate;\r\nprint \"Rotate Mode: Local Space\"") + WorldRotate; + +runTimeCommand + -annotation "Toggles \"Isolate Selected\" mode on/off for current modeling view" + -category "Paul" + -commandLanguage "mel" + -command ("{ \r\n\tstring $currentPanel = `getPanel -withFocus`;\r\n string $panelType = `getPanel -to $currentPanel`;\r\n if ($panelType == \"modelPanel\")\r\n {\r\n if(`isolateSelect -q -state $currentPanel`)\r\n {\r\n enableIsolateSelect $currentPanel false;\r\n }\r\n else\r\n {\r\n enableIsolateSelect $currentPanel true;\r\n }\r\n }\r\n}\r\n") + ToggleIsolateSelect; + +runTimeCommand + -annotation "Insert a key on the selected curves" + -category "Paul" + -commandLanguage "mel" + -command ("{\r\n $editor = \"graphEditor1OutlineEd\";\r\n // First try to find highlighted curves in graphEditor...\r\n // (curves which are selected in the 'graph' window portion of the graphEditor)\r\n\tstring $curves[] = `findActiveAnimCurves $editor`;\r\n\r\n // ...then try to find displayed curves in graphEditor...\r\n // (curves which are selected in the 'outliner' window portion of the graphEditor)\r\n if(size($curves) < 1)\r\n {\r\n string $selConnection = `editor -query -selectionConnection $editor`;\r\n $curves = `findAnimCurves $selConnection`;\r\n }\r\n if(size($curves) > 0)\r\n {\r\n setKeyframe -insert $curves ;\r\n }\r\n else\r\n {\r\n print \"No curves selected or displayed in graph editor...\";\r\n }\r\n}\r\n") + InsertKey; + +runTimeCommand + -annotation "Set selection mode to objects (and decrease click box size)" + -category "Paul" + -commandLanguage "mel" + -command ("//selectPref -clickBoxSize 5;\r\nsetSelectMode(\"objects\", \"Objects\");\r\n") + pmp_selectionModeObject; + +runTimeCommand + -annotation "Set selection mode to vertex (and increase click box size)" + -category "Paul" + -commandLanguage "mel" + -command ("//selectPref -clickBoxSize 125;\r\nsetSelectMode components Components; selectType -smp 1 -sme 0 -smf 0 -smu 0 -pv 1 -pe 0 -pf 0 -puv 0; select -cl;") + pmp_selectionModeVertex; + +runTimeCommand + -annotation "Set selection mode to edge (and increase click box size)" + -category "Paul" + -commandLanguage "mel" + -command ("//selectPref -clickBoxSize 125;\r\nsetSelectMode components Components; selectType -smp 0 -sme 1 -smf 0 -smu 0 -pv 0 -pe 1 -pf 0 -puv 0; select -cl;") + pmp_selectionModeEdge; + +runTimeCommand + -annotation "Set selection mode to face (and increase click box size)" + -category "Paul" + -commandLanguage "mel" + -command ("//selectPref -clickBoxSize 125;\r\nsetSelectMode components Components; selectType -smp 0 -sme 0 -smf 1 -smu 0 -pv 0 -pe 0 -pf 1 -puv 0; select -cl;") + pmp_selectionModeFace; + +runTimeCommand + -annotation "Enables selection of surfaces" + -category "Paul" + -commandLanguage "mel" + -command ("setObjectPickMask \"Surface\" true;") + selectSurfacesOn; + +runTimeCommand + -annotation "Disables selection of surfaces" + -category "Paul" + -commandLanguage "mel" + -command ("setObjectPickMask \"Surface\" false;") + selectSurfacesOff; + +runTimeCommand + -annotation "Loads the 'Default' hotkey set" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager;PMP_loadHotkeys(\"Default\");") + LoadDefaultHotkeys; + +runTimeCommand + -annotation "Loads the 'Animation' hotkey set" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager;PMP_loadHotkeys(\"Animation\");") + LoadAnimationHotkeys; + +runTimeCommand + -annotation "Loads the 'Modeling' hotkey set" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager;PMP_loadHotkeys(\"Modeling\");") + LoadModelingHotkeys; + +runTimeCommand + -annotation "Saves the current hotkey set" + -category "Paul" + -commandLanguage "mel" + -command ("PMP_hotkeyManager;PMP_saveHotkeys();") + SaveCurrentHotkeys; + diff --git a/2009-x64/prefs/windowPrefs.mel b/2009-x64/prefs/windowPrefs.mel new file mode 100644 index 0000000..094950f --- /dev/null +++ b/2009-x64/prefs/windowPrefs.mel @@ -0,0 +1,174 @@ +//Maya Preference 2009 (Release 1) +// +// +windowPref -topLeftCorner 523 1421 -widthHeight 597 460 -parentMain true outlinerPanel1Window; +windowPref -topLeftCorner 165 1941 -widthHeight 793 717 -parentMain true hyperGraphPanel1Window; +windowPref -topLeftCorner 476 1957 -widthHeight 1394 599 -parentMain true graphEditor1Window; +windowPref -topLeftCorner 257 157 -widthHeight 888 450 -parentMain true dopeSheetPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 660 400 -parentMain true clipEditorPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 560 430 -parentMain true multiListerPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 524 470 -parentMain true devicePanel1Window; +windowPref -topLeftCorner 73 2054 -widthHeight 1252 936 -parentMain true hyperShadePanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 700 400 -parentMain true dynPaintScriptedPanelWindow; +windowPref -topLeftCorner 250 200 -widthHeight 550 562 -parentMain true blindDataEditor1Window; +windowPref -topLeftCorner 400 640 -widthHeight 215 139 -parentMain true zooAutoSaveConfig; +windowPref -topLeftCorner 612 2340 -widthHeight 1180 524 -parentMain true CommandWindow; +windowPref -topLeftCorner 58 1955 -widthHeight 1464 996 -parentMain false MayaWindow; +windowPref -topLeftCorner 614 1395 -widthHeight 525 350 -parentMain true OptionBoxWindow; +windowPref -topLeftCorner 436 459 -widthHeight 346 310 -parentMain true panelArrangementWin; +windowPref -topLeftCorner 400 640 -widthHeight 250 200 -parentMain true QuickLayoutImageEditor; +windowPref -topLeftCorner 463 843 -widthHeight 724 450 -parentMain true PreferencesWindow; +windowPref -topLeftCorner 169 2132 -widthHeight 603 947 -parentMain true AEWindow; +windowPref -topLeftCorner 545 934 -widthHeight 500 400 -parentMain true LockingKeyable; +windowPref -topLeftCorner 140 803 -widthHeight 673 834 -parentMain true unifiedRenderGlobalsWindow; +windowPref -topLeftCorner 367 1493 -widthHeight 322 671 -parentMain true ColorEditor; +windowPref -topLeftCorner 155 161 -widthHeight 778 876 -parentMain true connectWindow; +windowPref -topLeftCorner 379 1069 -widthHeight 724 349 -parentMain true shelfEditorWin; +windowPref -topLeftCorner 280 979 -widthHeight 245 54 -parentMain true zenToolsWindow; +windowPref -topLeftCorner 15 769 -widthHeight 735 831 -parentMain true pluginManagerWindow; +windowPref -topLeftCorner 400 640 -widthHeight 224 212 -parentMain true reloadTexUI; +windowPref -topLeftCorner 570 423 -widthHeight 209 162 -parentMain true RoadKill; +windowPref -topLeftCorner 400 640 -widthHeight 776 633 -parentMain true UVSnapshotWindow; +windowPref -topLeftCorner 276 1233 -widthHeight 450 730 -parentMain true createRenderNodeWindow; +windowPref -topLeftCorner 495 907 -widthHeight 845 570 -parentMain true relationshipPanel1Window; +windowPref -topLeftCorner 509 1132 -widthHeight 781 615 -parentMain true hyperGraphPanel3Window; +windowPref -topLeftCorner 354 691 -widthHeight 179 323 -parentMain true autoMapUI; +windowPref -topLeftCorner 249 2081 -widthHeight 926 577 -parentMain true polyTexturePlacementPanel1Window; +windowPref -topLeftCorner 523 230 -widthHeight 451 196 -parentMain true LayerEditorQuickEditWindow; +windowPref -topLeftCorner 284 156 -widthHeight 447 530 -parentMain true showAttribInfoWindow; +windowPref -topLeftCorner 369 595 -widthHeight 1092 648 -parentMain true expressionEditorWin; +windowPref -topLeftCorner 398 667 -widthHeight 280 300 -parentMain true ui_ajrAS; +windowPref -topLeftCorner 411 1977 -widthHeight 1092 659 -parentMain true hyperGraphPanel5Window; +windowPref -topLeftCorner 321 2034 -widthHeight 1275 439 -parentMain true hyperGraphPanel4Window; +windowPref -topLeftCorner 180 2133 -widthHeight 451 889 -parentMain true toolProperties; +windowPref -topLeftCorner 282 79 -widthHeight 1375 792 -parentMain true hyperGraphPanel6Window; +windowPref -topLeftCorner 165 480 -widthHeight 1002 744 -parentMain true renderViewWindow; +windowPref -topLeftCorner 315 2046 -widthHeight 731 600 -parentMain true renderWindowPanel1Window; +windowPref -topLeftCorner 350 576 -widthHeight 450 510 -parentMain true newProjectWindow; +windowPref -topLeftCorner 96 382 -widthHeight 621 280 -parentMain true PluginInfoWin; +windowPref -topLeftCorner 337 501 -widthHeight 592 243 -parentMain true miApproxEditorWindow; +windowPref -topLeftCorner 320 2006 -widthHeight 579 549 -parentMain true polySelectionConstraintPanel1Window; +windowPref -topLeftCorner 125 330 -widthHeight 398 378 -parentMain true borderSelectOptWin; +windowPref -topLeftCorner 307 360 -widthHeight 527 620 -parentMain true AddAttrWin; +windowPref -topLeftCorner 176 569 -widthHeight 1272 396 -parentMain true hyperGraphPanel2Window; +windowPref -topLeftCorner 433 538 -widthHeight 488 200 -parentMain true FtiExportWindow; +windowPref -topLeftCorner 400 640 -widthHeight 252 92 -parentMain true EdgeSzwnd; +windowPref -topLeftCorner 397 425 -widthHeight 525 350 -parentMain true colorPreferenceWindow; +windowPref -topLeftCorner 219 353 -widthHeight 841 830 -parentMain true HotkeyEditor; +windowPref -topLeftCorner 400 640 -widthHeight 430 341 -parentMain true SearchForRunTimeCommandWindow; +windowPref -topLeftCorner 71 670 -widthHeight 473 331 -parentMain true batchRenderWnd; +windowPref -topLeftCorner 13 1622 -widthHeight 225 625 -parentMain true leveltools; +windowPref -topLeftCorner 150 150 -widthHeight 220 246 -parentMain true MJPolyToolsWin; +windowPref -topLeftCorner 467 1070 -widthHeight 636 517 -parentMain true walkCycleControl; +windowPref -topLeftCorner 280 230 -widthHeight 598 788 -parentMain true ui_window_PMP_getPackageGroupMeshNames; +windowPref -topLeftCorner 93 277 -widthHeight 1528 846 -parentMain true window1; +windowPref -topLeftCorner 400 640 -widthHeight 438 150 -parentMain true commandSearchAndReplaceWnd; +windowPref -topLeftCorner 400 640 -widthHeight 637 463 -parentMain true omtSettingsWin; +windowPref -topLeftCorner 581 522 -widthHeight 1425 586 -parentMain true componentEditorPanel1Window; +windowPref -topLeftCorner 400 640 -widthHeight 252 93 -parentMain true NormSzwnd; +windowPref -topLeftCorner 469 436 -widthHeight 640 200 -parentMain true gradientAttributeEditor; +windowPref -topLeftCorner 173 1004 -widthHeight 485 500 -parentMain true RenameAttrWin; +windowPref -topLeftCorner 500 435 -widthHeight 788 528 -parentMain true referenceEditorPanel1Window; +windowPref -topLeftCorner 601 896 -widthHeight 949 567 -parentMain true refEditsWin_FredTheXmasElf_REF_allGeometryRN; +windowPref -topLeftCorner 414 1005 -widthHeight 360 300 -parentMain true art3dPaintAssignFileTxtWindow; +windowPref -topLeftCorner 400 640 -widthHeight 500 34 -parentMain true ui_ajrAS_NotifyWindow; +windowPref -topLeftCorner 400 640 -widthHeight 400 220 -parentMain true rmanAttrNodeWin; +windowPref -topLeftCorner 400 640 -widthHeight 285 410 -parentMain true DeleteAttrWin; +windowPref -topLeftCorner 830 23 -widthHeight 1767 325 -parentMain true blendShapePanel1Window; +windowPref -topLeftCorner 447 1241 -widthHeight 390 530 -parentMain true setDrivenWnd; +windowPref -topLeftCorner 400 640 -widthHeight 268 574 -parentMain true refEditsWin_FredTheXmasElf_skinGeometryRN; +windowPref -topLeftCorner 227 269 -widthHeight 564 357 -parentMain true modelPanel5Window; +windowPref -topLeftCorner 348 907 -widthHeight 443 312 -parentMain true modelPanel6Window; +windowPref -topLeftCorner 117 2060 -widthHeight 972 636 -parentMain true hyperGraphPanel7Window; +windowPref -topLeftCorner 316 621 -widthHeight 744 584 -parentMain true hyperGraphPanel10Window; +windowPref -topLeftCorner 261 882 -widthHeight 719 440 -parentMain true hyperGraphPanel9Window; +windowPref -topLeftCorner 486 2062 -widthHeight 781 454 -parentMain true hyperGraphPanel8Window; +windowPref -topLeftCorner 446 585 -widthHeight 206 94 -parentMain true smartFKWindow; +windowPref -topLeftCorner 400 640 -widthHeight 150 400 -parentMain true hyperBookmarkWindow; +windowPref -topLeftCorner 237 1085 -widthHeight 475 325 -parentMain true hyperGraphPanel13Window; +windowPref -topLeftCorner 551 788 -widthHeight 673 461 -parentMain true hyperGraphPanel12Window; +windowPref -topLeftCorner 326 2110 -widthHeight 862 501 -parentMain true hyperGraphPanel11Window; +windowPref -topLeftCorner 216 2400 -widthHeight 582 534 -parentMain true hyperGraphPanel14Window; +windowPref -topLeftCorner 400 640 -widthHeight 206 471 -parentMain true AuxiliaryNodeWindow; +windowPref -topLeftCorner 400 640 -widthHeight 260 600 -parentMain true rigToolsWin; +windowPref -topLeftCorner 400 640 -widthHeight 400 225 -parentMain true attrCtrl; +windowPref -topLeftCorner 400 640 -widthHeight 260 450 -parentMain true djnEZWeight; +windowPref -topLeftCorner 533 218 -widthHeight 100 355 -parentMain true riggingToolBar; +windowPref -topLeftCorner 400 640 -widthHeight 276 117 -parentMain true TrollWelcome; +windowPref -topLeftCorner 400 640 -widthHeight 384 411 -parentMain true mrFactoryManagerWindow; +windowPref -topLeftCorner 345 464 -widthHeight 550 700 -parentMain true FBXEXPORTWINDOW; +windowPref -topLeftCorner 427 544 -widthHeight 882 500 -parentMain true FbxWarningWindow; +windowPref -topLeftCorner 489 832 -widthHeight 392 112 -parentMain true miTextWindow; +windowPref -topLeftCorner 300 300 -widthHeight 398 241 -parentMain true VRayImageOptions; +windowPref -topLeftCorner 215 485 -widthHeight 550 700 -parentMain true FBXIMPORTWINDOWUI; +windowPref -topLeftCorner 302 746 -widthHeight 293 251 -parentMain true TestWindow2; +windowPref -topLeftCorner 400 640 -widthHeight 388 294 -parentMain true theWindow; +windowPref -topLeftCorner 400 640 -widthHeight 713 150 -parentMain true myWindow; +windowPref -topLeftCorner 400 640 -widthHeight 402 217 -parentMain true polySoftEdgeWnd; +windowPref -topLeftCorner 400 640 -widthHeight 192 114 -parentMain true particleColorWin; +windowPref -topLeftCorner 324 1137 -widthHeight 450 650 -parentMain true eventEditorWin; +windowPref -topLeftCorner 398 2150 -widthHeight 662 324 -parentMain true hyperGraphPanel15Window; +windowPref -topLeftCorner 400 640 -widthHeight 406 200 -parentMain true saveNodePresetDialogWindow; +windowPref -topLeftCorner 94 2378 -widthHeight 737 513 -parentMain true hyperGraphPanel16Window; +windowPref -topLeftCorner 80 2500 -widthHeight 769 465 -parentMain true hyperGraphPanel17Window; +windowPref -topLeftCorner 400 640 -widthHeight 780 574 -parentMain true refEditsWin_pfTrack_exportRN; +windowPref -topLeftCorner 383 381 -widthHeight 440 500 -parentMain true sIBL_Window; +windowPref -topLeftCorner 400 640 -widthHeight 210 105 -parentMain true ss2_attachWin; +windowPref -topLeftCorner 642 2635 -widthHeight 754 556 -parentMain true hyperGraphPanel20Window; +windowPref -topLeftCorner 138 2700 -widthHeight 765 583 -parentMain true hyperGraphPanel19Window; +windowPref -topLeftCorner 416 2349 -widthHeight 1056 803 -parentMain true hyperGraphPanel18Window; +windowPref -topLeftCorner 241 2466 -widthHeight 945 904 -parentMain true hyperGraphPanel21Window; +windowPref -topLeftCorner 214 2183 -widthHeight 972 590 -parentMain true hyperGraphPanel22Window; +windowPref -topLeftCorner 71 2298 -widthHeight 895 629 -parentMain true hyperGraphPanel23Window; +windowPref -topLeftCorner 143 2428 -widthHeight 846 626 -parentMain true hyperGraphPanel24Window; +windowPref -topLeftCorner 264 2124 -widthHeight 1030 642 -parentMain true hyperGraphPanel25Window; +windowPref -topLeftCorner 447 526 -widthHeight 810 423 -parentMain true hyperGraphPanel26Window; +windowPref -topLeftCorner 294 506 -widthHeight 762 502 -parentMain true hyperGraphPanel29Window; +windowPref -topLeftCorner 264 2230 -widthHeight 475 325 -parentMain true hyperGraphPanel31Window; +windowPref -topLeftCorner 0 0 -widthHeight 475 325 -parentMain true hyperGraphPanel33Window; +windowPref -topLeftCorner 352 2120 -widthHeight 475 325 -parentMain true hyperGraphPanel32Window; +windowPref -topLeftCorner 400 131 -widthHeight 753 508 -parentMain true hyperGraphPanel28Window; +windowPref -topLeftCorner 435 1153 -widthHeight 661 512 -parentMain true hyperGraphPanel27Window; +windowPref -topLeftCorner 456 927 -widthHeight 799 592 -parentMain true hyperGraphPanel30Window; +windowPref -topLeftCorner 396 679 -widthHeight 964 609 -parentMain true refEditsWin_rigRN; +windowPref -topLeftCorner 400 640 -widthHeight 1206 616 -parentMain true refEditsWin_deformRigRN; +windowPref -topLeftCorner 266 991 -widthHeight 464 421 -parentMain true poseLibWindow; +windowPref -topLeftCorner 485 639 -widthHeight 220 140 -parentMain true poseLibCreateNewPoseWindow; +windowPref -topLeftCorner 451 782 -widthHeight 340 370 -parentMain true poseLibEditOptionsWindow; +windowPref -topLeftCorner 400 640 -widthHeight 135 190 -parentMain true createCurveFromEdges; +windowPref -topLeftCorner 740 1386 -widthHeight 354 113 -parentMain true tweenMachineWin; +windowPref -topLeftCorner 400 640 -widthHeight 410 150 -parentMain true attrPresetWin; +windowPref -topLeftCorner 461 990 -widthHeight 460 500 -parentMain true showHistoryWindow; +windowPref -topLeftCorner -5 2340 -widthHeight 398 178 -parentMain true zoomerWin2; +windowPref -topLeftCorner 386 798 -widthHeight 394 261 -parentMain true HcPaintSettingsWindow; +windowPref -topLeftCorner 228 683 -widthHeight 579 470 -parentMain true modelPanel9Window; +windowPref -topLeftCorner 428 300 -widthHeight 579 470 -parentMain true modelPanel10Window; +windowPref -topLeftCorner 4 2753 -widthHeight 759 572 -parentMain true modelPanel11Window; +windowPref -topLeftCorner 181 584 -widthHeight 1154 458 -parentMain true modelPanel12Window; +windowPref -topLeftCorner 213 376 -widthHeight 1154 458 -parentMain true modelPanel13Window; +windowPref -topLeftCorner 400 640 -widthHeight 300 85 -parentMain true renameCharacterWindow; +windowPref -topLeftCorner 154 2135 -widthHeight 1060 917 -parentMain true scriptEditorPanel1Window; +windowPref -topLeftCorner 400 640 -widthHeight 200 125 -parentMain true autoTangentWin; +windowPref -topLeftCorner -2 3046 -widthHeight 475 325 -parentMain true modelPanel14Window; +windowPref -topLeftCorner 247 2338 -widthHeight 562 295 -parentMain true cMTrailWin; +windowPref -topLeftCorner 400 640 -widthHeight 348 200 -parentMain true window3; +windowPref -topLeftCorner 358 100 -widthHeight 273 200 -parentMain true window2; +windowPref -topLeftCorner 321 1414 -widthHeight 302 537 -parentMain true abxPickerWindow; +windowPref -topLeftCorner 504 1033 -widthHeight 230 376 -parentMain true abxPickerWindow1; +windowPref -topLeftCorner 0 0 -widthHeight 475 325 -parentMain true outlinerPanel2Window; +windowPref -topLeftCorner 215 1207 -widthHeight 416 774 -parentMain true skinningToolsUI; +windowPref -topLeftCorner 389 1381 -widthHeight 431 792 -parentMain true SkinnyUI; +windowPref -topLeftCorner 400 640 -widthHeight 254 94 -parentMain true jdsWnd; +windowPref -topLeftCorner 400 640 -widthHeight 857 609 -parentMain true refEditsWin_heatWeightsRN; +windowPref -topLeftCorner 476 1180 -widthHeight 420 808 -parentMain true cMuscleBuilderWin; +windowPref -topLeftCorner 460 1271 -widthHeight 462 308 -parentMain true cMuscleWeightDefaultUIWin; +windowPref -topLeftCorner 183 1113 -widthHeight 346 550 -parentMain true cMusclePaintWin; +windowPref -topLeftCorner 173 900 -widthHeight 973 717 -parentMain true cMuscleCreatorWin; +windowPref -topLeftCorner 399 1054 -widthHeight 320 310 -parentMain true nt_MirrorBlendShape; +windowPref -topLeftCorner 531 1014 -widthHeight 300 210 -parentMain true ST_TransferWeightsWin; +windowPref -topLeftCorner 332 838 -widthHeight 330 149 -parentMain true cometTransferWeightsWin; +windowPref -topLeftCorner 249 142 -widthHeight 432 534 -parentMain true wnd_DMMManager_v4; +windowPref -topLeftCorner 400 640 -widthHeight 531 256 -parentMain true lightMapGenWindow; +windowPref -topLeftCorner 309 646 -widthHeight 534 196 -parentMain true lightMapGenCalcWindow; +windowPref -topLeftCorner 400 640 -widthHeight 540 545 -parentMain true learningMoviesLaunchWnd; +windowPref -topLeftCorner 400 640 -widthHeight 518 368 -parentMain true menuSetEditorWindow; diff --git a/2009-x64/prefsThierry/commandFieldContentSaved.mel b/2009-x64/prefsThierry/commandFieldContentSaved.mel new file mode 100644 index 0000000..e69de29 diff --git a/2009-x64/prefsThierry/icons/GIJoe_icon.bmp b/2009-x64/prefsThierry/icons/GIJoe_icon.bmp new file mode 100644 index 0000000..033e568 Binary files /dev/null and b/2009-x64/prefsThierry/icons/GIJoe_icon.bmp differ diff --git a/2009-x64/prefsThierry/icons/Larm.0000.bmp b/2009-x64/prefsThierry/icons/Larm.0000.bmp new file mode 100644 index 0000000..a4be3cf Binary files /dev/null and b/2009-x64/prefsThierry/icons/Larm.0000.bmp differ diff --git a/2009-x64/prefsThierry/icons/Rest.0000.bmp b/2009-x64/prefsThierry/icons/Rest.0000.bmp new file mode 100644 index 0000000..e7b5597 Binary files /dev/null and b/2009-x64/prefsThierry/icons/Rest.0000.bmp differ diff --git a/2009-x64/prefsThierry/icons/Tangent.BMP b/2009-x64/prefsThierry/icons/Tangent.BMP new file mode 100644 index 0000000..688db57 Binary files /dev/null and b/2009-x64/prefsThierry/icons/Tangent.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERCIRCLE.BMP b/2009-x64/prefsThierry/icons/USERCIRCLE.BMP new file mode 100644 index 0000000..3d9b1b7 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERCIRCLE.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERFLATTANGENT.BMP b/2009-x64/prefsThierry/icons/USERFLATTANGENT.BMP new file mode 100644 index 0000000..1c64a39 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERFLATTANGENT.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERKINSPLINEHANDLE.BMP b/2009-x64/prefsThierry/icons/USERKINSPLINEHANDLE.BMP new file mode 100644 index 0000000..ec79e1e Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERKINSPLINEHANDLE.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERMENUICONEDITCURVES.BMP b/2009-x64/prefsThierry/icons/USERMENUICONEDITCURVES.BMP new file mode 100644 index 0000000..0fd6f17 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERMENUICONEDITCURVES.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERMENUICONFOCUS.BMP b/2009-x64/prefsThierry/icons/USERMENUICONFOCUS.BMP new file mode 100644 index 0000000..af63078 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERMENUICONFOCUS.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERMENUICONKEYS.BMP b/2009-x64/prefsThierry/icons/USERMENUICONKEYS.BMP new file mode 100644 index 0000000..e76e70e Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERMENUICONKEYS.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERMENUICONSKELETONS.BMP b/2009-x64/prefsThierry/icons/USERMENUICONSKELETONS.BMP new file mode 100644 index 0000000..50204f8 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERMENUICONSKELETONS.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERNAVDOWN.BMP b/2009-x64/prefsThierry/icons/USERNAVDOWN.BMP new file mode 100644 index 0000000..731192c Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERNAVDOWN.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERNAVUP.BMP b/2009-x64/prefsThierry/icons/USERNAVUP.BMP new file mode 100644 index 0000000..d74485b Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERNAVUP.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERNEWTON.BMP b/2009-x64/prefsThierry/icons/USERNEWTON.BMP new file mode 100644 index 0000000..fc9af44 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERNEWTON.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERPIVOTICON.BMP b/2009-x64/prefsThierry/icons/USERPIVOTICON.BMP new file mode 100644 index 0000000..6a9edc0 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERPIVOTICON.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERPOLYSPHERE.BMP b/2009-x64/prefsThierry/icons/USERPOLYSPHERE.BMP new file mode 100644 index 0000000..8e7afd1 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERPOLYSPHERE.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERRADIAL.BMP b/2009-x64/prefsThierry/icons/USERRADIAL.BMP new file mode 100644 index 0000000..6ddfed3 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERRADIAL.BMP differ diff --git a/2009-x64/prefsThierry/icons/USERSUBMENUCELL.BMP b/2009-x64/prefsThierry/icons/USERSUBMENUCELL.BMP new file mode 100644 index 0000000..47a85a8 Binary files /dev/null and b/2009-x64/prefsThierry/icons/USERSUBMENUCELL.BMP differ diff --git a/2009-x64/prefsThierry/icons/abxPicker.bmp b/2009-x64/prefsThierry/icons/abxPicker.bmp new file mode 100644 index 0000000..39de429 Binary files /dev/null and b/2009-x64/prefsThierry/icons/abxPicker.bmp differ diff --git a/2009-x64/prefsThierry/icons/autoTangnt.bmp b/2009-x64/prefsThierry/icons/autoTangnt.bmp new file mode 100644 index 0000000..2217982 Binary files /dev/null and b/2009-x64/prefsThierry/icons/autoTangnt.bmp differ diff --git a/2009-x64/prefsThierry/icons/cMotion.BMP b/2009-x64/prefsThierry/icons/cMotion.BMP new file mode 100644 index 0000000..f1dac7e Binary files /dev/null and b/2009-x64/prefsThierry/icons/cMotion.BMP differ diff --git a/2009-x64/prefsThierry/icons/chinaMarker.xpm b/2009-x64/prefsThierry/icons/chinaMarker.xpm new file mode 100644 index 0000000..2a3bedf --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarker.xpm @@ -0,0 +1,269 @@ +/* XPM */ +static char * spGreasePencil_drawTool_xpm[] = { +"30 30 236 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #848484", +"$ c #858585", +"% c #868686", +"& c #C8C8C8", +"* c #D1D1D1", +"= c #D2D2D2", +"- c #D3D3D3", +"; c #D4D4D4", +"> c #D5D5D5", +", c #D6D6D6", +"' c #D7D7D7", +") c #D8D8D8", +"! c #E8E8E8", +"~ c #E9E9E9", +"{ c #EAEAEA", +"] c #EBEBEB", +"^ c #ECECEC", +"/ c #EDEDED", +"( c #EEEEEE", +"_ c #EFEFEF", +": c #B8B8B8", +"< c #D8D8D7", +"[ c #D9D9D9", +"} c #D9DADA", +"| c #DADADA", +"1 c #DBDBDB", +"2 c #DBDCDB", +"3 c #DCDCDC", +"4 c #DDDDDE", +"5 c #DFDFE0", +"6 c #E1E2E2", +"7 c #E4E4E4", +"8 c #E5E5E5", +"9 c #E1E1E1", +"0 c #DADAD9", +"a c #B9B9B9", +"b c #B9B8B8", +"c c #DBDADA", +"d c #DDDDDD", +"e c #DDDEDD", +"f c #DEDEDD", +"g c #E0E0E0", +"h c #E2E2E2", +"i c #C5C5C5", +"j c #7E7E7E", +"k c #777777", +"l c #B3B3B3", +"m c #E9E8E8", +"n c #E8E7E7", +"o c #E2E1E1", +"p c #BABABA", +"q c #DCDBDB", +"r c #DDDCDC", +"s c #DEDEDE", +"t c #DFDEDE", +"u c #DFE0E0", +"v c #E3E3E3", +"w c #E6E6E6", +"x c #CDCDCD", +"y c #525252", +"z c #939393", +"A c #BDBDBD", +"B c #A6A6A6", +"C c #5E5E5E", +"D c #616161", +"E c #CACACA", +"F c #DDDCDD", +"G c #DEDEDF", +"H c #DFDFDF", +"I c #DFE0DF", +"J c #E0E0DF", +"K c #8A8A8A", +"L c #515150", +"M c #686868", +"N c #989898", +"O c #585858", +"P c #DCDDDD", +"Q c #BFBFBF", +"R c #E2E2E3", +"S c #535353", +"T c #4E4E4E", +"U c #3A3A3A", +"V c #313131", +"W c #434343", +"X c #767676", +"Y c #C3C3C3", +"Z c #7A7A7A", +"` c #9D9D9D", +" . c #C2C2C1", +".. c #E1E1E0", +"+. c #E3E3E4", +"@. c #EDEEED", +"#. c #747474", +"$. c #727272", +"%. c #CECECE", +"&. c #969696", +"*. c #555555", +"=. c #303030", +"-. c #353535", +";. c #9E9E9E", +">. c #959595", +",. c #E7E7E7", +"'. c #C2C2C2", +"). c #E6E5E5", +"!. c #F0F0F0", +"~. c #8B8B8B", +"{. c #5A5A5A", +"]. c #424242", +"^. c #404040", +"/. c #D0D0D0", +"(. c #575757", +"_. c #BBBBBB", +":. c #E1E0E0", +"<. c #9F9F9F", +"[. c #CFCFCF", +"}. c #A1A1A1", +"|. c #505050", +"1. c #515151", +"2. c #C1C1C1", +"3. c #E3E3E2", +"4. c #E4E5E4", +"5. c #EDECED", +"6. c #F1F1F1", +"7. c #C4C4C4", +"8. c #454545", +"9. c #464646", +"0. c #3E3E3E", +"a. c #EFF0EF", +"b. c #E6E6E7", +"c. c #C0C0C0", +"d. c #BCBCBC", +"e. c #EAE9EA", +"f. c #979797", +"g. c #6E6E6E", +"h. c #BEBFBE", +"i. c #5F5F5F", +"j. c #878787", +"k. c #A4A4A4", +"l. c #EEEFEE", +"m. c #EAEAE9", +"n. c #E6E5E6", +"o. c #BEBEBE", +"p. c #F2F2F2", +"q. c #6B6B6B", +"r. c #4D4D4D", +"s. c #E5E5E6", +"t. c #919191", +"u. c #B2B2B2", +"v. c #4C4C4C", +"w. c #E6E6E5", +"x. c #BDBDBC", +"y. c #EAEBEA", +"z. c #B7B7B7", +"A. c #484848", +"B. c #C9C9C9", +"C. c #A3A3A3", +"D. c #F1F0F0", +"E. c #ABABAB", +"F. c #4F4F4F", +"G. c #F3F3F3", +"H. c #E7E7E8", +"I. c #BFC0C0", +"J. c #474747", +"K. c #9A9A9A", +"L. c #B0B0B0", +"M. c #4D4E4D", +"N. c #F4F4F4", +"O. c #F2F3F3", +"P. c #8E8E8E", +"Q. c #343434", +"R. c #494949", +"S. c #F5F5F5", +"T. c #F5F4F4", +"U. c #F2F3F2", +"V. c #BEBDBE", +"W. c #ECEDED", +"X. c #606060", +"Y. c #3D3D3D", +"Z. c #676767", +"`. c #545454", +" + c #F7F7F7", +".+ c #F6F6F6", +"++ c #F3F4F3", +"@+ c #F3F3F2", +"#+ c #ECEBEB", +"$+ c #808080", +"%+ c #000000", +"&+ c #EEEEEF", +"*+ c #EBEAEA", +"=+ c #EDEDEE", +"-+ c #898989", +";+ c #717171", +">+ c #646464", +",+ c #F9F9F9", +"'+ c #F8F8F7", +")+ c #F4F5F5", +"!+ c #C0C1C0", +"~+ c #939394", +"{+ c #A0A0A0", +"]+ c #565656", +"^+ c #FAFAFA", +"/+ c #F8F8F8", +"(+ c #F7F7F6", +"_+ c #F0EFF0", +":+ c #EDECEC", +"<+ c #F2F2F1", +"[+ c #ADADAD", +"}+ c #6A6A6A", +"|+ c #ACACAC", +"1+ c #D7D7D8", +"2+ c #FBFBFB", +"3+ c #EEEFEF", +"4+ c #ECECEB", +"5+ c #A5A5A5", +"6+ c #C8C8C9", +"7+ c #FCFCFC", +"8+ c #EFF0F0", +"9+ c #F2F2F3", +"0+ c #F5F5F6", +"a+ c #F6F7F6", +"b+ c #F9F8F9", +"c+ c #FDFDFD", +"d+ c #F9FAF9", +"e+ c #ECECED", +"f+ c #FCFBFB", +"g+ c #FAFAFB", +"h+ c #F2F1F2", +"i+ c #EBEBEC", +"j+ c #D5D4D5", +"k+ c #D4D3D3", +"l+ c #D1D1D2", +"m+ c #D0D1D0", +". . . . . . . . . . . . . . . . + @ # $ % % $ # @ + . . . . ", +". & * * * * * * * * * * * * * = - ; > , ' ' , > ; - = * & . ", +". ) ! ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { ] ^ / ( _ _ ( / ^ { ~ ! ) . ", +". : < ) [ } | 1 1 2 3 3 3 4 5 6 7 ! { ^ ^ ^ { ~ 8 9 3 0 a . ", +". b [ | c 1 3 3 d d e f g h 7 ! ] / i j k $ l m ^ n o d p + ", +". a | 1 q r d f s t u 9 v w { / ( x y z A B C D E ^ w g A @ ", +". a 3 F d s G H I J h 7 ! ^ ( = K L M ) v 7 v N O P { v Q # ", +". p d s t H g g 9 R 8 ~ / _ ; S T U V W X Y 9 8 Z ` ^ w .$ ", +". p s H g ..9 h +.w ~ @._ ~ #.$.3 %.&.*.=.-.;.7 >.>./ ,.'.$ ", +". p I g 9 h R 7 ).~ ( !./ ~.{.) h g g d p ].^./.(.A / ,.'.$ ", +". _.:.9 h v 7 w ~ ^ !.!.<.T [.9 g g g g g }.=.|.1.H / ,.2.# ", +". _.h 3.7 4.w ~ 5.!.6.7.8._.h g g g g g g [ 9.0.Y a.^ b.c.@ ", +". d.v 7 8 ,.e./ !.6.) 1.f.h g g g g g g g 9 (.g.( _ ] w h.+ ", +". d.7 8 ,.~ / !.6.7 i.j.h 9 g g g g g g h k.].B 6.l.m.n.o.. ", +". d.).w ~ ^ !.p./ $.q.s 9 g g g g g 9 h i r.$ / 6./ m s.A . ", +". A w ! ] _ p.!.t.{.) 9 g g g g g 9 h u.v.>.^ p.!.^ ~ w.x.. ", +". o.! y.( 6.p.z.A.B.h g g g g g 9 h C.r.u.!.p.6.( ] ~ ,.A . ", +". o.~ ^ D.p./.v.E.h g g g g g 9 v B F.2.G.G.p.!./ ] ~ H.A . ", +". I.{ ( 6.d i.J.^.K.g g g g 9 v L.M.Y N.N.G.6.( / ] ~ ! A . ", +". c.^ !.O.P.{.3 p Q.1 g g g h i R.A S.S.T.U.!.( / ^ { ~ V.. ", +". c.W.6.G.@ X.9 1 Q.Q.Y.Z.l ' `.K.S. +.+++@+!._ ( ^ #+{ o.. ", +". 2./ 6.G.$+%+d g , x o.f.R.*.X !. + +.+G.U.6.!.&+/ ^ *+o.. ", +". 2.=+6.G.-+%+%+x 9 9 s | ;+>+7 +,+'+.+)+G.p.!._ ( ^ ] o.. ", +". !+( 6.N.~+%+%+%+{+$.]+T O [ +^+,+/+(+S.N.p.6._+( :+] o.. ", +". 2.( <+N.[+%+%+%+R.}+~.|+1+/+2+2+^+,+ +.+N.G.6.!.3+/ 4+o.. ", +". 2.( 6.N., z 5+6+w N..+/+^+7+7+7+2+,+/+.+S.G.p.8+_ / ] o.. ", +". c.=+!.9+S.0+.+a+ +b+^+2+7+c+c+7+2+d+/+.+S.G.p.!._ / ^ o.. ", +". c.e+_ 6.G.N..+ +/+,+^+f+7+c+c+7+g+,+/+.+S.G.h+!._ / i+o.. ", +". _././.* * = = - - ; ; j+> > > j+; ; k+- = = l+* m+/.[._.. ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_addButton.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_addButton.xpm new file mode 100644 index 0000000..e0fe948 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_addButton.xpm @@ -0,0 +1,287 @@ +/* XPM */ +static char * spGreasePencil_addButton_xpm[] = { +"30 30 254 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E9E9E9", +"* c #E7E7E7", +"= c #B8B8B8", +"- c #D8D8D7", +"; c #D9D9D9", +"> c #D9DADA", +", c #DADADA", +"' c #DBDBDB", +") c #DADBDA", +"! c #DADADB", +"~ c #D9D9DA", +"{ c #B9B8B8", +"] c #DBDADA", +"^ c #DCDCDC", +"/ c #DCDDDC", +"( c #DCDCDB", +"_ c #DCDBDB", +": c #DAD9D9", +"< c #B9B9B9", +"[ c #DDDCDC", +"} c #DDDDDD", +"| c #DEDEDD", +"1 c #DEDDDD", +"2 c #DDDEDE", +"3 c #D7D7D7", +"4 c #D5D5D5", +"5 c #D4D4D4", +"6 c #D6D6D6", +"7 c #DCDDDD", +"8 c #DBDCDC", +"9 c #DBDBDA", +"0 c #DDDCDD", +"a c #DEDEDE", +"b c #DEDEDF", +"c c #DFDFDF", +"d c #DEDFDE", +"e c #DFDFDE", +"f c #C4C4C4", +"g c #D2D2D2", +"h c #D7D7D6", +"i c #DDDEDD", +"j c #BABABA", +"k c #DFDEDE", +"l c #E0E0E0", +"m c #E0E0E1", +"n c #D7D7D8", +"o c #C1C1C1", +"p c #A4A4A4", +"q c #8D8C8C", +"r c #C0C0C1", +"s c #DFE0DF", +"t c #BABAB9", +"u c #E0E0DF", +"v c #E1E1E1", +"w c #E1E1E2", +"x c #E2E2E2", +"y c #BDBDBD", +"z c #979797", +"A c #6C6C6C", +"B c #878787", +"C c #CCCCCC", +"D c #E3E2E2", +"E c #8D8D8D", +"F c #5D5D5D", +"G c #737373", +"H c #C9C9C9", +"I c #DFDFE0", +"J c #E0DFE0", +"K c #BBBBBB", +"L c #E0DFDF", +"M c #E3E3E3", +"N c #E2E3E3", +"O c #DCDCDD", +"P c #B5B5B5", +"Q c #888888", +"R c #565656", +"S c #6D6D6D", +"T c #C6C6C6", +"U c #D3D3D3", +"V c #DFDEDF", +"W c #E2E2E1", +"X c #E2E3E2", +"Y c #E2E1E2", +"Z c #AFAFAF", +"` c #868686", +" . c #515050", +".. c #646564", +"+. c #C2C2C2", +"@. c #CFCFCF", +"#. c #D3D3D4", +"$. c #BCBCBC", +"%. c #A9A9A9", +"&. c #808080", +"*. c #494949", +"=. c #555555", +"-. c #B1B1B1", +";. c #BEBEBE", +">. c #C0C1C0", +",. c #C7C7C7", +"'. c #BBBCBB", +"). c #CBCBCB", +"!. c #848484", +"~. c #585858", +"{. c #292929", +"]. c #2B2B2B", +"^. c #505050", +"/. c #626262", +"(. c #686768", +"_. c #7C7C7C", +":. c #E1E1E0", +"<. c #CECECE", +"[. c #C5C5C5", +"}. c #7B7B7B", +"|. c #5F5F5F", +"1. c #4A4A4A", +"2. c #2F2F2F", +"3. c #1C1C1C", +"4. c #0C0C0C", +"5. c #0D0D0D", +"6. c #191919", +"7. c #303030", +"8. c #575757", +"9. c #5A5A5A", +"0. c #686868", +"a. c #A9A8A9", +"b. c #E2E1E1", +"c. c #E2E2E3", +"d. c #B7B7B7", +"e. c #838383", +"f. c #636363", +"g. c #4E4E4E", +"h. c #3D3D3D", +"i. c #313131", +"j. c #282828", +"k. c #232323", +"l. c #1B1B1B", +"m. c #171717", +"n. c #484848", +"o. c #6A6A6A", +"p. c #A2A2A2", +"q. c #E4E4E3", +"r. c #BDBDBC", +"s. c #9B9B9C", +"t. c #777777", +"u. c #7E7E7E", +"v. c #797979", +"w. c #747474", +"x. c #989898", +"y. c #8A8A8A", +"z. c #363636", +"A. c #515151", +"B. c #9C9C9C", +"C. c #CACACA", +"D. c #E4E4E4", +"E. c #E6E6E6", +"F. c #D2D2D3", +"G. c #C6C7C6", +"H. c #B6B6B6", +"I. c #828282", +"J. c #434343", +"K. c #9F9F9F", +"L. c #D3D3D2", +"M. c #E6E6E7", +"N. c #BDBEBE", +"O. c #E5E5E5", +"P. c #DDDDDC", +"Q. c #858585", +"R. c #4D4D4D", +"S. c #545454", +"T. c #CDCDCD", +"U. c #EAEAEA", +"V. c #E7E8E8", +"W. c #E3E3E4", +"X. c #939393", +"Y. c #5E5E5E", +"Z. c #535453", +"`. c #9A9A9A", +" + c #E6E5E5", +".+ c #EAEBEA", +"++ c #ECECEC", +"@+ c #EBEBEB", +"#+ c #BEBDBE", +"$+ c #E9EAEA", +"%+ c #ECEBEB", +"&+ c #EDEDED", +"*+ c #EEEEEE", +"=+ c #A6A6A6", +"-+ c #535353", +";+ c #969696", +">+ c #E8E9E8", +",+ c #EDEDEC", +"'+ c #EBEAEA", +")+ c #F0EFF0", +"!+ c #F0F0F0", +"~+ c #F1F1F1", +"{+ c #F2F2F2", +"]+ c #F2F2F3", +"^+ c #BCBDBD", +"/+ c #7F7F7E", +"(+ c #939292", +"_+ c #EEEFEE", +":+ c #EFEFEF", +"<+ c #EDEDEE", +"[+ c #EAEAEB", +"}+ c #F2F1F2", +"|+ c #F3F3F3", +"1+ c #F4F4F4", +"2+ c #F3F3F4", +"3+ c #848383", +"4+ c #BEBFBE", +"5+ c #F0F0F1", +"6+ c #F4F3F4", +"7+ c #F5F5F5", +"8+ c #F6F6F6", +"9+ c #F6F6F5", +"0+ c #EDECEC", +"a+ c #BFBFBF", +"b+ c #ECECED", +"c+ c #EEEEED", +"d+ c #EFF0EF", +"e+ c #F6F5F6", +"f+ c #F7F7F7", +"g+ c #F8F7F8", +"h+ c #EEEFEF", +"i+ c #ECECEB", +"j+ c #F0EFEF", +"k+ c #F5F5F6", +"l+ c #F7F7F8", +"m+ c #F9F9F9", +"n+ c #FAF9F9", +"o+ c #F9F8F9", +"p+ c #EFF0F0", +"q+ c #EFEFF0", +"r+ c #F5F6F5", +"s+ c #FBFBFB", +"t+ c #FAFAFA", +"u+ c #F6F7F6", +"v+ c #FBFAFA", +"w+ c #FCFCFC", +"x+ c #F8F8F9", +"y+ c #F8F8F8", +"z+ c #F1F0F1", +"A+ c #EBEBEC", +"B+ c #D4D3D4", +"C+ c #D3D2D2", +"D+ c #D1D1D2", +"E+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ # # # # # # # # # # # # # # @ @ @ @ @ @ + . ", +". $ % % & & & & % % % % % % * * * % % % % % & & & % % % $ . ", +". = - $ ; > , ' , ) ' ' ' ! ~ > , , ' ' , , ; , ; ; $ - = . ", +". { ; , ] ' ^ ^ ^ ^ / ( ' ; $ $ ; , ' ^ ^ ' ' _ ' ] : ; = . ", +". < , ' _ [ } | } 1 2 ^ , 3 4 5 6 ; ' / } } ^ 7 ^ 8 9 , < . ", +". < ^ 0 } a b c d e a ^ ; @ f < g h , } c a a a i 7 ^ ' < . ", +". j } a k c l l l m e ^ n o p q r 5 ; i c s c a a } ^ ^ t . ", +". j a c c u l v w x l / 3 y z A B C $ } u l v l c a i } j . ", +". j d c l v w x D x v } 6 < E F G H 6 ^ c l l l I J a a j . ", +". K L l v x M N M x v O 6 P Q R S T U ; ' } } V c l l c K . ", +". K v W x X x x Y l a , 5 Z ` ...+.@.#.6 3 ; ' } s l m K . ", +". $.x x v l c a } ' ; 4 # %.&.*.=.-.$.;.;.>.,.U ; } m l '.. ", +". $.x v a ^ , $ 6 g ).f = !.~.{.].^.R /.(.S _.-.4 / :.Y $.. ", +". $.x c ' 4 <.[.P z }.|.1.2.3.4.5.6.7.^.8.9.0.a.6 a b.c.$.. ", +". y x a 3 d.e.f.g.h.i.j.k.l.m.5.3.n.o._.E p.K # ^ l M q.r.. ", +". y x c 5 s.t.u.E v.w.Q x.y.S z.A.B.y f C.g ; } v D.E.E.y . ", +". y D.v 1 F.G.[.C ).).C C H.I.J.R K.C.L.; a v D.E.* % M.y . ", +". N.E.O.M m c a } } P., 4 f Q.R.S.B.T.; l O.% & U.U.% * y . ", +". ;.& % V.E.* * * * * W.a U X.Y.Z.`.# } +.+++++++@+& % #+. ", +". ;.$+@+%+@+++&+*+*+*+@+O.^ =+S -+;+g l >+,+*+*+&+@+'+& ;.. ", +". ;.U.++&+*+)+!+~+{+]+!+@+w ^+/+/.(+4 M U._+!+:+<+++@+'+;.. ", +". ;.[+++&+:+!+}+|+1+1+2+:+% ; P 3+p , * &+!+~+:+:+*+++@+;.. ", +". 4+++&+:+5+{+|+6+7+8+9+|+&+E.! = 4 O.@+:+{+~+!+)+*+0+@+;.. ", +". a+b+c+d+5+{+6+1+e+f+g+f+2+:+& D.% ++!+{+|+{+!+!+h+&+i+;.. ", +". a+&+*+j+~+|+1+k+8+l+m+n+o+8+|+~+~+{+1+1+1+{+~+p+:+&+@+;.. ", +". a+b+*+q+~+]+1+r+8+g+m+s+s+t+m+f+8+u+8+7+1+{+~+!+:+&+++;.. ", +". a+b+*+q+~+{+1+e+8+f+m+v+s+w+s+t+x+y+f+7+1+{+z+!+:+&+A+;.. ", +". K # # @ @ g g U U U U B+5 5 5 B+U U C+g @ @ D+@ E+# @.K . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_delButton.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_delButton.xpm new file mode 100644 index 0000000..683a95b --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_delButton.xpm @@ -0,0 +1,259 @@ +/* XPM */ +static char * spGreasePencil_delButton_xpm[] = { +"30 30 226 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DCDCDC", +") c #DCDCDD", +"! c #DCDDDD", +"~ c #B9B8B8", +"{ c #DBDADA", +"] c #DDDDDD", +"^ c #DDDEDD", +"/ c #DEDEDD", +"( c #DEDEDE", +"_ c #DCDBDB", +": c #DAD9D9", +"< c #B9B9B9", +"[ c #DDDCDC", +"} c #DFDEDE", +"| c #DEDFDF", +"1 c #DFDFDF", +"2 c #E0DFDF", +"3 c #DEDFDE", +"4 c #DBDCDC", +"5 c #DBDBDA", +"6 c #DDDCDD", +"7 c #DEDEDF", +"8 c #DFE0DF", +"9 c #E0E0DF", +"0 c #E0E0E0", +"a c #E1E1E1", +"b c #E1E1E0", +"c c #BABABA", +"d c #E0E0E1", +"e c #E1E1E2", +"f c #E2E1E1", +"g c #E0E1E0", +"h c #BABAB9", +"i c #E2E2E2", +"j c #E2E3E2", +"k c #E3E3E3", +"l c #E3E3E2", +"m c #E3E2E3", +"n c #E2E2E1", +"o c #E3E2E2", +"p c #E0DFE0", +"q c #BBBBBB", +"r c #E1E0E0", +"s c #E2E3E3", +"t c #DFDFE0", +"u c #DFE0E0", +"v c #E3E4E3", +"w c #E4E4E4", +"x c #E2E1E2", +"y c #D8D9D8", +"z c #DFDEDF", +"A c #BCBCBC", +"B c #E5E5E5", +"C c #E4E3E4", +"D c #D5D5D5", +"E c #D0D0D0", +"F c #CECECE", +"G c #CCCCCC", +"H c #CDCDCD", +"I c #CFCECF", +"J c #D2D2D2", +"K c #D6D6D6", +"L c #E2E2E3", +"M c #BBBCBB", +"N c #B6B6B6", +"O c #A5A5A5", +"P c #9C9C9C", +"Q c #969595", +"R c #929292", +"S c #919090", +"T c #949494", +"U c #9B9B9B", +"V c #A6A6A6", +"W c #D4D4D4", +"X c #E4E4E3", +"Y c #E6E5E5", +"Z c #E6E6E6", +"` c #9A9A9A", +" . c #585858", +".. c #414141", +"+. c #363636", +"@. c #383838", +"#. c #393939", +"$. c #3A3A3A", +"%. c #464646", +"&. c #727272", +"*. c #A9A9A9", +"=. c #D7D6D6", +"-. c #E5E4E4", +";. c #E3E3E4", +">. c #BDBDBD", +",. c #E7E7E7", +"'. c #D7D7D7", +"). c #9F9F9F", +"!. c #636363", +"~. c #444444", +"{. c #2E2E2E", +"]. c #252424", +"^. c #1E1E1E", +"/. c #1D1D1D", +"(. c #202020", +"_. c #262626", +":. c #303030", +"<. c #3E3E3E", +"[. c #575757", +"}. c #828282", +"|. c #C5C5C5", +"1. c #E5E5E4", +"2. c #BDBDBC", +"3. c #E7E8E7", +"4. c #E8E8E9", +"5. c #E7E7E8", +"6. c #CACACA", +"7. c #8C8C8C", +"8. c #909090", +"9. c #9D9D9D", +"0. c #A8A8A8", +"a. c #B3B3B3", +"b. c #C7C7C7", +"c. c #D3D3D3", +"d. c #EAE9E9", +"e. c #EAEAEB", +"f. c #E9EAE9", +"g. c #E9E8E9", +"h. c #E6E6E5", +"i. c #DCDCDB", +"j. c #E6E6E7", +"k. c #BDBEBE", +"l. c #EAEAEA", +"m. c #EBEBEC", +"n. c #ECECEC", +"o. c #EBEBEB", +"p. c #E5E4E5", +"q. c #BEBEBE", +"r. c #EBECEC", +"s. c #EEEEEE", +"t. c #EFEFEF", +"u. c #EEEEEF", +"v. c #EDEDED", +"w. c #EDECED", +"x. c #EBEBEA", +"y. c #EBECEB", +"z. c #EDEDEE", +"A. c #EEEDED", +"B. c #BEBDBE", +"C. c #EAEBEB", +"D. c #EDECEC", +"E. c #F0F0F0", +"F. c #F1F1F1", +"G. c #F2F2F2", +"H. c #F3F3F3", +"I. c #F3F3F2", +"J. c #F2F1F1", +"K. c #F0F1F0", +"L. c #F0F0EF", +"M. c #EBEAEA", +"N. c #F0EFF0", +"O. c #F4F4F5", +"P. c #F5F5F5", +"Q. c #F6F6F6", +"R. c #F5F5F6", +"S. c #F5F6F6", +"T. c #F6F6F5", +"U. c #F5F4F4", +"V. c #F5F5F4", +"W. c #F4F4F4", +"X. c #F1F2F1", +"Y. c #F3F2F3", +"Z. c #F6F6F7", +"`. c #F7F7F7", +" + c #F8F8F8", +".+ c #F8F7F7", +"++ c #F3F4F4", +"@+ c #BEBFBE", +"#+ c #F0F0F1", +"$+ c #F5F4F5", +"%+ c #F9F9F8", +"&+ c #F9F9F9", +"*+ c #FAFAFA", +"=+ c #FAFAFB", +"-+ c #F7F7F6", +";+ c #BFBFBF", +">+ c #ECECED", +",+ c #EEEEED", +"'+ c #EFF0EF", +")+ c #F4F3F4", +"!+ c #F7F6F7", +"~+ c #FAF9FA", +"{+ c #FBFBFB", +"]+ c #FBFBFC", +"^+ c #FCFCFC", +"/+ c #EEEFEF", +"(+ c #ECECEB", +"_+ c #F0EFEF", +":+ c #F8F8F9", +"<+ c #FCFBFB", +"[+ c #FDFCFD", +"}+ c #FDFDFD", +"|+ c #EFF0F0", +"1+ c #EFEFF0", +"2+ c #F2F2F3", +"3+ c #F5F6F5", +"4+ c #F9F8F9", +"5+ c #FEFEFE", +"6+ c #F9FAF9", +"7+ c #F6F5F6", +"8+ c #F2F1F2", +"9+ c #D5D4D5", +"0+ c #D4D3D3", +"a+ c #D1D1D2", +"b+ c #D0D1D0", +"c+ c #CFCFCF", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , ' ' ' ) ) ! ' ' ' ' > > ; ; = = # * & . ", +". ~ = ; { > ' ' ] ] ^ / ( ( ( ( ( ( ] ] ] ' ' _ > { : = & . ", +". < ; > _ [ ] / ( } | 1 1 1 1 2 1 1 1 3 ( ( ] ! ' 4 5 ; < . ", +". < ' 6 ] ( 7 1 8 9 0 0 a a a a a b 0 0 0 1 1 ( ^ ! ' > < . ", +". c ] ( } ( 1 1 0 d b a e a e f e a a g 0 8 1 ( 1 ( ] ] h . ", +". c ( 1 1 9 0 a e i i j k k k k l m i i n a a 0 1 ( ^ ( c . ", +". c 8 1 0 a e i o i k i i l l i o i k k i j i a d p ( ( c . ", +". q r 0 a i k s i a 0 t 1 1 1 1 1 u 0 a a i i m i a 0 1 q . ", +". q i n k v w k x ( ' ; : = y = = ; > ] z 0 i k k j a d q . ", +". A k k w B C i ( - D E F G G G H I J K = , 1 a k k L a M . ", +". A w w B B w a , F N O P Q R S T U V < G W > 1 L v X m A . ", +". A Y B Z Z w 0 W ` ...+.@.#.+.@.#.$.%.&.*.=.z k B -.;.A . ", +". >.Z Z ,.,.B a '.).!.~.{.].^./.(._.:.<.[.}.|.1 k Z Z 1.2.. ", +". >.,.3.$ 4.5.1.1 D 6.q O ` R 7.8.9.0.a.b.c.> a B ,.,.Z >.. ", +". >.$ $ d.e.f.g.h.i 1 6 ; =.W c.W '.= i.] 1 i B ,.$ $ j.>.. ", +". k.% % l.m.n.n.o.l.$ ,.p.k a 0 a j w B Z ,.$ % l.l.$ ,.>.. ", +". q.l.l.r.n.s.t.t.t.t.u.v.w.n.x.y.n.n.z.A.v.n.n.n.o.% $ B.. ", +". q.C.o.D.v.t.E.F.G.G.H.I.H.G.G.J.G.G.G.K.L.t.s.v.o.M.% q.. ", +". q.o.v.v.s.N.F.G.H.O.P.Q.R.S.T.P.U.V.W.G.X.E.t.z.n.o.d.q.. ", +". q.m.v.s.E.F.Y.H.W.P.Z.`. + + +.+`.T.P.++G.F.E.t.s.n.o.q.. ", +". @+n.v.t.#+G.H.$+Q.`.%+&+*+=+=+*+&+ +-+P.W.G.F.N.s.D.o.q.. ", +". ;+>+,+'+#+G.)+P.!+ +~+{+]+^+^+{+*+&+`.Q.W.H.F.E./+v.(+q.. ", +". ;+v.s._+F.H.W.R.`.:+*+<+[+}+}+^+{+&+ +Q.P.H.G.|+t.v.o.q.. ", +". ;+>+s.1+F.2+W.3+`.4+*+^+}+5+5+^+{+6+ +Q.P.H.G.E.t.v.n.q.. ", +". ;+>+s.1+F.G.W.7+`. +*+<+^+}+}+^+=+&+ +Q.P.H.8+E.t.v.m.q.. ", +". q E E @ @ J J c.c.W W 9+D D D 9+W W 0+c.J J a+@ b+E c+q . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_down.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_down.xpm new file mode 100644 index 0000000..764a875 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_down.xpm @@ -0,0 +1,300 @@ +/* XPM */ +static char * spGreasePencil_down_xpm[] = { +"30 30 267 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #C8C8C8", +"$ c #D1D1D1", +"% c #D0D0D0", +"& c #CFCFCF", +"* c #D8D8D8", +"= c #E8E8E8", +"- c #E9E9E9", +"; c #E7E7E7", +"> c #E6E6E6", +", c #E3E3E3", +"' c #E1E1E1", +") c #DFDFDF", +"! c #E2E2E2", +"~ c #E4E4E4", +"{ c #B8B8B8", +"] c #D8D8D7", +"^ c #D9D9D9", +"/ c #D9DADA", +"( c #DADADA", +"_ c #DADBDA", +": c #D5D5D5", +"< c #D2D2D3", +"[ c #D0D0D1", +"} c #D4D4D4", +"| c #D7D7D7", +"1 c #DBDBDB", +"2 c #B9B8B8", +"3 c #DBDADA", +"4 c #DCDCDC", +"5 c #D3D3D3", +"6 c #C9C9C9", +"7 c #BCBCBC", +"8 c #C6C6C6", +"9 c #D2D2D2", +"0 c #DCDBDB", +"a c #DAD9D9", +"b c #B9B9B9", +"c c #DDDCDC", +"d c #DDDDDC", +"e c #DDDDDD", +"f c #CBCBCB", +"g c #969696", +"h c #7B7B7B", +"i c #A9A9A9", +"j c #DCDDDC", +"k c #DBDCDC", +"l c #DADBDB", +"m c #DADAD9", +"n c #DCDBDC", +"o c #DDDDDE", +"p c #DEDEDE", +"q c #DEDFDE", +"r c #BEBEBE", +"s c #646464", +"t c #5F5F5F", +"u c #ADADAD", +"v c #BABABA", +"w c #DEDDDD", +"x c #D9D9D8", +"y c #B4B4B4", +"z c #575757", +"A c #D3D3D4", +"B c #BABAB9", +"C c #E0E0E0", +"D c #DFDFE0", +"E c #AEAEAE", +"F c #525252", +"G c #565656", +"H c #C0C0C0", +"I c #D5D5D4", +"J c #DEDEDD", +"K c #DDDEDD", +"L c #E0DFDF", +"M c #CECECE", +"N c #A1A1A1", +"O c #4B4B4B", +"P c #5A5A5A", +"Q c #C3C3C3", +"R c #D6D5D5", +"S c #D7D8D7", +"T c #DADADB", +"U c #DDDCDD", +"V c #BBBBBB", +"W c #CDCDCD", +"X c #949494", +"Y c #464646", +"Z c #5B5B5B", +"` c #C5C5C5", +" . c #D2D1D2", +".. c #D6D7D6", +"+. c #D6D6D6", +"@. c #CCCCCC", +"#. c #898989", +"$. c #414141", +"%. c #5E5F5E", +"&. c #C4C4C4", +"*. c #B0B0B0", +"=. c #B1B1B1", +"-. c #B3B3B3", +";. c #D9DAD9", +">. c #A6A5A6", +",. c #CACACA", +"'. c #D6D7D7", +"). c #7E7E7E", +"!. c #3B3B3B", +"~. c #D1D0D1", +"{. c #6B6B6B", +"]. c #49494A", +"^. c #505050", +"/. c #787878", +"(. c #BBBCBB", +"_. c #ABABAB", +":. c #6A6A6A", +"<. c #545454", +"[. c #777777", +"}. c #C7C8C7", +"|. c #C7C7C7", +"1. c #747474", +"2. c #313131", +"3. c #616161", +"4. c #656565", +"5. c #343434", +"6. c #4A4A4A", +"7. c #535353", +"8. c #CBCBCC", +"9. c #DFDFDE", +"0. c #727272", +"a. c #696969", +"b. c #6F6F6F", +"c. c #262626", +"d. c #636363", +"e. c #BFBFBF", +"f. c #2C2C2C", +"g. c #474747", +"h. c #373737", +"i. c #454545", +"j. c #A8A8A8", +"k. c #E1E0E0", +"l. c #E2E2E3", +"m. c #BDBDBD", +"n. c #222222", +"o. c #232323", +"p. c #1B1B1B", +"q. c #B6B6B6", +"r. c #2A2A2A", +"s. c #303030", +"t. c #404040", +"u. c #E4E4E3", +"v. c #BDBDBC", +"w. c #DFE0DF", +"x. c #767676", +"y. c #181818", +"z. c #1A1A1A", +"A. c #6E6E6E", +"B. c #707070", +"C. c #141414", +"D. c #717171", +"E. c #2F2F2F", +"F. c #242424", +"G. c #353535", +"H. c #E5E5E5", +"I. c #A9AAA9", +"J. c #6C6B6C", +"K. c #121212", +"L. c #171717", +"M. c #686868", +"N. c #111111", +"O. c #5C5C5C", +"P. c #1F1F1F", +"Q. c #2E2E2E", +"R. c #434343", +"S. c #E6E6E7", +"T. c #BDBEBE", +"U. c #DBDBDC", +"V. c #B5B5B5", +"W. c #757575", +"X. c #131313", +"Y. c #1D1D1D", +"Z. c #444444", +"`. c #0B0B0B", +" + c #3F3F3F", +".+ c #E6E7E7", +"++ c #858585", +"@+ c #2B2B2B", +"#+ c #060606", +"$+ c #3E3E3E", +"%+ c #C1C1C2", +"&+ c #E1E2E1", +"*+ c #EAEAEA", +"=+ c #EBEBEB", +"-+ c #BEBDBE", +";+ c #E9EAEA", +">+ c #EAE9E9", +",+ c #959595", +"'+ c #222221", +")+ c #3C3C3C", +"!+ c #494949", +"~+ c #4F4F4F", +"{+ c #E0E1E0", +"]+ c #E8E8E7", +"^+ c #EDEDED", +"/+ c #EBEAEA", +"(+ c #ECECEC", +"_+ c #EBEAEB", +":+ c #939393", +"<+ c #3A3A3A", +"[+ c #2C2C2D", +"}+ c #363636", +"|+ c #666666", +"1+ c #D6D6D5", +"2+ c #ECEDEC", +"3+ c #EEEEEE", +"4+ c #EFEFEF", +"5+ c #EDEDEE", +"6+ c #EAEAEB", +"7+ c #EEEDEE", +"8+ c #989898", +"9+ c #5D5D5D", +"0+ c #AAAAAA", +"a+ c #ECEDED", +"b+ c #F0F0F0", +"c+ c #BEBFBE", +"d+ c #EFEFF0", +"e+ c #F1F1F1", +"f+ c #F0EFF0", +"g+ c #E3E3E2", +"h+ c #B5B5B6", +"i+ c #F2F2F2", +"j+ c #EFEEEF", +"k+ c #EDECEC", +"l+ c #EBEBEC", +"m+ c #EDEDEC", +"n+ c #EEEFEE", +"o+ c #F3F2F3", +"p+ c #F3F3F3", +"q+ c #EDECED", +"r+ c #E4E4E5", +"s+ c #F4F4F4", +"t+ c #EEEFEF", +"u+ c #ECECEB", +"v+ c #EFEEEE", +"w+ c #F4F4F5", +"x+ c #F5F5F5", +"y+ c #F2F1F1", +"z+ c #F6F6F6", +"A+ c #ECECED", +"B+ c #F1F1F2", +"C+ c #F4F5F4", +"D+ c #F7F6F7", +"E+ c #F7F7F7", +"F+ c #F8F8F8", +"G+ c #F7F8F7", +"H+ c #F5F4F5", +"I+ c #F9F9F9", +"J+ c #FAF9F9", +"K+ c #FAFAFA", +"L+ c #FBFBFB", +"M+ c #F9F9FA", +"N+ c #F2F1F2", +"O+ c #D4D3D4", +"P+ c #D3D2D2", +"Q+ c #D1D1D2", +"R+ c #D0D1D0", +". . . . . . . . . . . . + @ @ @ @ + . . . . . . . . . . . . ", +". # $ $ $ $ $ % % % % % % & & & & % % % % % $ $ $ $ $ $ # . ", +". * = = - - - = = = ; > , ' ) ) ! ~ > = = = - - - = = = * . ", +". { ] * ^ / ^ ( ( _ ( * : < [ $ } | ^ 1 ( ( ( ( ^ ^ * ] { . ", +". 2 ^ ( 3 1 1 1 4 1 _ | 5 6 7 8 9 | ^ 1 4 1 4 0 1 3 a ^ { . ", +". b ( 1 0 c 4 d e c / : f g h i & | 1 j e e 4 k 1 l m ^ b . ", +". b 1 n 4 e o p q d ^ } r s t u 9 * 4 p ) p p e j k 1 ( b . ", +". v 4 e w p ) ) ) o x 9 y z z b A ( p q ) p p e e e 4 4 B . ", +". v e p ) ) C C D e * % E F G H I 1 p p J 4 4 4 e e K e v . ", +". v K e p ) D C L e * M N O P Q R 1 e 4 ^ S * * T U e p v . ", +"+ V e 4 1 1 e p p 4 | W X Y Z ` : ^ ^ | 9 $ $ .| 1 e p V . ", +"@ V 4 m | ..* ( 1 ( +.@.#.$.%.&.5 : : &.*.=.7 -.9 ;.e D V . ", +"@ 7 1 | W H >.,.+.'.5 ,.).!.t Q & ~.b {.].^./.).# * o C (.. ", +"@ 7 1 5 _.:.<.[.}.$ & |.1.2.3.H f V 4.2.5.6.7.+ 8.^ 9.' 7 . ", +"@ 7 w * 8 0.5.2.a.` f Q b.c.d.e.V s f.5.g.h.i.j.} 4 k.l.7 . ", +"+ m.C 1 : m.F n.o.:.H H b.p.:.q.b.r.s.i.2.t.. M ( ) , u.v.. ", +". m., w.^ # x.5.y.z.A.b B.C.D.h E.F.G.s.$.h 8 ^ ) , H.> m.. ", +". m.H.! w } I.J.2.K.L.b.M.N.O.!.P.n.Q.R.[.` ( C ~ > ; S.m.. ", +". T.; H.' U.9 V.W.f.X.Y.Z.`.s.F.y.f. +/.8 ( ' H.= - = ; m.. ", +". r - = .+! e +.# ++@+L.Q.#+z.f.5.$+:.%+( &+; *+=+=+- = -+. ", +". r ;+*+>+; H.C ( 9 ,+2.'+N.)+!+~+Z v * {+]+=+^+^+=+/+- r . ", +". r *+(+(+(+_+= , e : :+<+[+}+P |+-.1+C ; 2+3+4+5+(+=+>+r . ", +". r 6+(+^+3+3+7+=+> ) +.8+M.9+[.0++.C = a+4+b+4+3+^+=+=+r . ", +". c+=+(+3+d+e+e+f+^+= g+1 H h+H 4 , - 3+e+i+e+b+j+^+k+=+r . ", +". e.l+m+n+d+e+o+p+i+b+q+= r+, H.= ^+e+i+s+p+i+b+4+t+^+u+r . ", +". e.^+3+v+b+i+p+w+x+w+p+y+f+4+b+i+s+x+z+x+s+i+e+t+4+^+=+r . ", +". e.A+3+d+b+B+p+C+z+D+E+F+E+F+F+F+F+G+E+x+s+i+e+b+4+^+(+r . ", +". e.A+3+d+e+e+p+H+z+E+I+J+K+K+L+K+M+F+E+x+s+i+N+b+4+^+l+r . ", +". V % % $ $ 9 $ 9 9 5 5 O+} } } O+5 5 P+9 $ 9 Q+$ R+% & V . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_downAll.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_downAll.xpm new file mode 100644 index 0000000..f67294b --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_downAll.xpm @@ -0,0 +1,313 @@ +/* XPM */ +static char * spGreasePencil_downAll_xpm[] = { +"30 30 280 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #C8C8C8", +"# c #D1D1D1", +"$ c #D0D0D0", +"% c #CFCFCF", +"& c #D8D8D8", +"* c #E7E7E7", +"= c #E8E8E8", +"- c #E5E5E5", +"; c #E3E3E3", +"> c #E4E4E4", +", c #B8B8B8", +"' c #D7D7D6", +") c #D7D7D7", +"! c #D8D9D9", +"~ c #D9D9D9", +"{ c #DADADA", +"] c #DADBDA", +"^ c #D6D6D6", +"/ c #D5D5D6", +"( c #D6D6D7", +"_ c #DBDBDB", +": c #B9B8B8", +"< c #DAD9D9", +"[ c #DCDCDC", +"} c #D5D5D5", +"| c #DBDADA", +"1 c #D9D8D8", +"2 c #B9B9B9", +"3 c #DBDBDA", +"4 c #DCDBDB", +"5 c #DADBDB", +"6 c #DDDDDD", +"7 c #DBDCDB", +"8 c #D9DADA", +"9 c #DADAD9", +"0 c #DCDBDC", +"a c #D9D9DA", +"b c #D9DAD9", +"c c #DEDEDE", +"d c #DFDFDF", +"e c #DEDEDD", +"f c #DBDCDC", +"g c #BABABA", +"h c #D4D4D4", +"i c #DCDCDB", +"j c #DEDEDF", +"k c #DFDFE0", +"l c #E1E0E0", +"m c #E0E0E1", +"n c #D6D7D6", +"o c #CCCDCC", +"p c #BABAB9", +"q c #D5D5D4", +"r c #CDCDCD", +"s c #B2B2B2", +"t c #CBCBCC", +"u c #DEDFDE", +"v c #E1E1E1", +"w c #E2E2E2", +"x c #DFDEDF", +"y c #C9C9C9", +"z c #9A9A99", +"A c #909090", +"B c #C2C2C2", +"C c #DDDEDD", +"D c #DCDDDC", +"E c #9B9B9B", +"F c #6F6F6F", +"G c #A0A0A0", +"H c #E5E5E4", +"I c #E3E2E2", +"J c #A9A9A9", +"K c #5B5B5B", +"L c #565756", +"M c #DBDBDC", +"N c #DEDDDE", +"O c #BBBBBB", +"P c #D3D3D3", +"Q c #BEBEBE", +"R c #676767", +"S c #414141", +"T c #7F7F7F", +"U c #E6E6E6", +"V c #939393", +"W c #474747", +"X c #464646", +"Y c #8A8A8A", +"Z c #E0E0E0", +"` c #838383", +" . c #D8D8D7", +".. c #B3B4B3", +"+. c #272727", +"@. c #595959", +"#. c #E5E4E4", +"$. c #E7E7E6", +"%. c #E6E7E6", +"&. c #E7E6E6", +"*. c #E4E5E4", +"=. c #888888", +"-. c #404040", +";. c #3F3F3F", +">. c #878787", +",. c #DFE0DF", +"'. c #848484", +"). c #BCBCBC", +"!. c #B1B1B1", +"~. c #333333", +"{. c #1E1E1E", +"]. c #494949", +"^. c #CACACA", +"/. c #E4E3E4", +"(. c #828383", +"_. c #3C3C3D", +":. c #3C3C3C", +"<. c #BBBCBB", +"[. c #B7B7B7", +"}. c #313131", +"|. c #191919", +"1. c #C3C3C3", +"2. c #E2E1E1", +"3. c #7A7A7A", +"4. c #363636", +"5. c #7B7B7B", +"6. c #E0E0DF", +"7. c #E1E0E1", +"8. c #858585", +"9. c #BFBFBF", +"0. c #151515", +"a. c #B5B5B5", +"b. c #717171", +"c. c #2A2A2A", +"d. c #282828", +"e. c #696969", +"f. c #D0CFD0", +"g. c #868686", +"h. c #BDBDBD", +"i. c #CBCBCB", +"j. c #AEAEAE", +"k. c #0E0E0E", +"l. c #202020", +"m. c #AAAAAA", +"n. c #B3B3B3", +"o. c #C9C8C8", +"p. c #D2D1D1", +"q. c #616161", +"r. c #1C1C1C", +"s. c #4C4C4C", +"t. c #9E9E9E", +"u. c #9A9A9A", +"v. c #D2D2D2", +"w. c #DDDDDC", +"x. c #BDBDBC", +"y. c #999999", +"z. c #5F5F5F", +"A. c #161616", +"B. c #070707", +"C. c #0C0C0C", +"D. c #292929", +"E. c #424242", +"F. c #525252", +"G. c #C0C0C0", +"H. c #C5C5C5", +"I. c #8B8B8B", +"J. c #111111", +"K. c #0F0F0F", +"L. c #242424", +"M. c #383838", +"N. c #707070", +"O. c #9D9D9D", +"P. c #0D0D0D", +"Q. c #030303", +"R. c #060606", +"S. c #171717", +"T. c #5D5D5D", +"U. c #B6B7B7", +"V. c #B0B0B0", +"W. c #4D4D4D", +"X. c #1F1F1F", +"Y. c #141414", +"Z. c #0A0A0A", +"`. c #040404", +" + c #DADADB", +".+ c #1A1A1A", +"++ c #090909", +"@+ c #010101", +"#+ c #0B0B0B", +"$+ c #393939", +"%+ c #919191", +"&+ c #C4C4C4", +"*+ c #1B1B1B", +"=+ c #020202", +"-+ c #080808", +";+ c #727272", +">+ c #444545", +",+ c #121212", +"'+ c #2C2C2C", +")+ c #8D8D8D", +"!+ c #969696", +"~+ c #131313", +"{+ c #BEBDBE", +"]+ c #747373", +"^+ c #050505", +"/+ c #222222", +"(+ c #CBCBCA", +"_+ c #777777", +":+ c #1D1D1D", +"<+ c #444444", +"[+ c #DDDCDC", +"}+ c #ADADAD", +"|+ c #454545", +"1+ c #181818", +"2+ c #E2E2E3", +"3+ c #E4E5E5", +"4+ c #E1E1E0", +"5+ c #BDBCBC", +"6+ c #232323", +"7+ c #929292", +"8+ c #CCCCCD", +"9+ c #E6E5E5", +"0+ c #E1E1E2", +"a+ c #2F2F2F", +"b+ c #373737", +"c+ c #EBEBEB", +"d+ c #EDEDED", +"e+ c #EAEAEA", +"f+ c #B8B8B7", +"g+ c #2E2E2E", +"h+ c #5C5C5C", +"i+ c #BEBFBE", +"j+ c #6D6D6D", +"k+ c #4F4F4F", +"l+ c #F1F1F1", +"m+ c #F3F3F4", +"n+ c #F1F1F2", +"o+ c #808080", +"p+ c #6C6C6C", +"q+ c #E8E7E7", +"r+ c #E9E9E9", +"s+ c #E8E8E9", +"t+ c #E6E6E5", +"u+ c #A6A6A6", +"v+ c #E9E8E9", +"w+ c #F5F5F6", +"x+ c #F8F8F8", +"y+ c #F7F7F7", +"z+ c #F3F3F3", +"A+ c #C7C7C7", +"B+ c #E7E8E8", +"C+ c #EBEBEA", +"D+ c #E9E9EA", +"E+ c #F0F0F0", +"F+ c #F6F5F5", +"G+ c #FAF9FA", +"H+ c #FBFBFB", +"I+ c #F4F4F4", +"J+ c #EFEFEF", +"K+ c #EBEBEC", +"L+ c #EBECEB", +"M+ c #EEEEEE", +"N+ c #F5F5F5", +"O+ c #F9F9F9", +"P+ c #FDFDFD", +"Q+ c #FAFAFA", +"R+ c #F4F5F4", +"S+ c #ECECEC", +"T+ c #EDEDEE", +"U+ c #F2F1F2", +"V+ c #FBFAFA", +"W+ c #FCFCFC", +"X+ c #F9F9FA", +"Y+ c #EFEEEF", +"Z+ c #EAEAEB", +"`+ c #D4D3D4", +" @ c #D3D2D2", +".@ c #D0D0D1", +"+@ c #CFD0CF", +"@@ c #CECECE", +". . . . . . . . . . . + + + + + . . . . . . . . . . . . . . ", +". @ # # # # # $ $ $ $ $ % % $ $ $ $ $ $ # # # # # # # # @ . ", +". & * * = = = = = = * - ; ; > - * = = = = = = = = * * * & . ", +". , ' ) & ! ~ { { ] ~ & ^ / ( ! { _ _ _ { { ~ ~ & & ) ' , . ", +". : & ~ < { _ _ [ _ ] & ^ } ^ ~ _ [ [ [ _ { { | { < 1 & , . ", +". 2 ~ { | | _ 3 _ 4 5 ~ ) ) & _ [ 6 6 7 { { ~ 8 { 5 9 ~ 2 . ", +". 2 _ 0 _ { a ~ b 3 [ _ _ _ [ c d e [ { & ) & ~ ] f _ { 2 . ", +". g [ [ | & ^ h ) a i c j c k l m c _ n % o h ) _ [ [ [ p . ", +". g [ _ ~ q r s t ) _ u v w w w v x ~ y z A B ) _ 6 C 6 g . ", +". g D { ^ r E F G $ { d w > H > I c ~ J K L E ^ M N c c g . ", +"+ O [ & P Q R S T r ~ k > U U - > d & V W X Y ^ [ d Z d O . ", +"` O [ .# ..S +.@.r ~ Z #.$.%.&.*.d & =.-.;.>.^ [ ,.Z m O . ", +"'.)._ ^ $ !.~.{.].^.) c /.U U U > x ) (._.:.'.^ _ d m Z <.. ", +"'.).{ } $ [.}.|.-.1.} [ Z 2.w 2.Z [ } 3.4.4.5.P a 6 6.7.).+ ", +"8.).| } % 9.}.0.~.a.# ^ ~ _ _ _ ~ ^ # b.c.d.e.f.} ~ 4 j ).` ", +"g.h.{ h i.j.c.k.l.8.m.n.O o.p.$ @ 2 !.q.l.r.s.t.u.s v.w.x.'.", +">.h.& @ y.z.A.B.C.D.:.E.F.8.G.H.I.@.].+.J.K.L.M.E.N.9._ h.'.", +"=.Q h O.s.D.P.Q.R.P.J.S.+.T.U.V.W.X.Y.Z.`.R.J.A.+.@.G. +h.'.", +"=.Q P I.4..+++@+Q.Z.#+S.$+%+&+).K *+P.R.=+Q.-+J.D.;+% [ h.'.", +">.Q ) m.>+r.#+Q.`.Z.,+'+)+i.# r !+$+~+C.P.Z.#+.+W.a.& d {+` ", +"g.Q 5 ^.]++.P.`.^+P./+R (+~ _ & H._+D.,+Y..+:+<+G P [+w Q + ", +"'.Q c ^ }+|+1+C.#+1+|+!._ 2+3+4+& 5+q.6+Y..+S 7+8+{ v 9+Q + ", +"` Q 0+_ % '.a+r.{.b+T h ; c+d+e+w & f+T.a+g+h+2 & Z - = Q . ", +"+ i+- Z { 1.j+W k++ 1.4+e+l+m+n+c+; { 9.o+p+%+^.N > q+r+Q . ", +". 9.s+t+v _ &+u+n.$ Z v+l+w+x+y+z+d+U d h A+r _ ; B+e+C+Q . ", +". 9.c+r+* > w v w - D+E+F+G+H+H+x+I+J+e+U > ; U B+c+c+e+Q . ", +". 9.K+c+K+e+e+e+L+M+l+N+O+H+P+P+Q+x+R+l+M+S+c+S+S+d+S+c+Q . ", +". 9.K+d+T+M+M+E+U+z+N+x+V+H+W+W+H+X+y+N+z+l+E+Y+M+M+S+Z+Q . ", +". O % % $ $ # # v.v.P P `+h h h `+P P @v.# # .@$ +@% @@O . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_drawTool.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_drawTool.xpm new file mode 100644 index 0000000..2a3bedf --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_drawTool.xpm @@ -0,0 +1,269 @@ +/* XPM */ +static char * spGreasePencil_drawTool_xpm[] = { +"30 30 236 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #848484", +"$ c #858585", +"% c #868686", +"& c #C8C8C8", +"* c #D1D1D1", +"= c #D2D2D2", +"- c #D3D3D3", +"; c #D4D4D4", +"> c #D5D5D5", +", c #D6D6D6", +"' c #D7D7D7", +") c #D8D8D8", +"! c #E8E8E8", +"~ c #E9E9E9", +"{ c #EAEAEA", +"] c #EBEBEB", +"^ c #ECECEC", +"/ c #EDEDED", +"( c #EEEEEE", +"_ c #EFEFEF", +": c #B8B8B8", +"< c #D8D8D7", +"[ c #D9D9D9", +"} c #D9DADA", +"| c #DADADA", +"1 c #DBDBDB", +"2 c #DBDCDB", +"3 c #DCDCDC", +"4 c #DDDDDE", +"5 c #DFDFE0", +"6 c #E1E2E2", +"7 c #E4E4E4", +"8 c #E5E5E5", +"9 c #E1E1E1", +"0 c #DADAD9", +"a c #B9B9B9", +"b c #B9B8B8", +"c c #DBDADA", +"d c #DDDDDD", +"e c #DDDEDD", +"f c #DEDEDD", +"g c #E0E0E0", +"h c #E2E2E2", +"i c #C5C5C5", +"j c #7E7E7E", +"k c #777777", +"l c #B3B3B3", +"m c #E9E8E8", +"n c #E8E7E7", +"o c #E2E1E1", +"p c #BABABA", +"q c #DCDBDB", +"r c #DDDCDC", +"s c #DEDEDE", +"t c #DFDEDE", +"u c #DFE0E0", +"v c #E3E3E3", +"w c #E6E6E6", +"x c #CDCDCD", +"y c #525252", +"z c #939393", +"A c #BDBDBD", +"B c #A6A6A6", +"C c #5E5E5E", +"D c #616161", +"E c #CACACA", +"F c #DDDCDD", +"G c #DEDEDF", +"H c #DFDFDF", +"I c #DFE0DF", +"J c #E0E0DF", +"K c #8A8A8A", +"L c #515150", +"M c #686868", +"N c #989898", +"O c #585858", +"P c #DCDDDD", +"Q c #BFBFBF", +"R c #E2E2E3", +"S c #535353", +"T c #4E4E4E", +"U c #3A3A3A", +"V c #313131", +"W c #434343", +"X c #767676", +"Y c #C3C3C3", +"Z c #7A7A7A", +"` c #9D9D9D", +" . c #C2C2C1", +".. c #E1E1E0", +"+. c #E3E3E4", +"@. c #EDEEED", +"#. c #747474", +"$. c #727272", +"%. c #CECECE", +"&. c #969696", +"*. c #555555", +"=. c #303030", +"-. c #353535", +";. c #9E9E9E", +">. c #959595", +",. c #E7E7E7", +"'. c #C2C2C2", +"). c #E6E5E5", +"!. c #F0F0F0", +"~. c #8B8B8B", +"{. c #5A5A5A", +"]. c #424242", +"^. c #404040", +"/. c #D0D0D0", +"(. c #575757", +"_. c #BBBBBB", +":. c #E1E0E0", +"<. c #9F9F9F", +"[. c #CFCFCF", +"}. c #A1A1A1", +"|. c #505050", +"1. c #515151", +"2. c #C1C1C1", +"3. c #E3E3E2", +"4. c #E4E5E4", +"5. c #EDECED", +"6. c #F1F1F1", +"7. c #C4C4C4", +"8. c #454545", +"9. c #464646", +"0. c #3E3E3E", +"a. c #EFF0EF", +"b. c #E6E6E7", +"c. c #C0C0C0", +"d. c #BCBCBC", +"e. c #EAE9EA", +"f. c #979797", +"g. c #6E6E6E", +"h. c #BEBFBE", +"i. c #5F5F5F", +"j. c #878787", +"k. c #A4A4A4", +"l. c #EEEFEE", +"m. c #EAEAE9", +"n. c #E6E5E6", +"o. c #BEBEBE", +"p. c #F2F2F2", +"q. c #6B6B6B", +"r. c #4D4D4D", +"s. c #E5E5E6", +"t. c #919191", +"u. c #B2B2B2", +"v. c #4C4C4C", +"w. c #E6E6E5", +"x. c #BDBDBC", +"y. c #EAEBEA", +"z. c #B7B7B7", +"A. c #484848", +"B. c #C9C9C9", +"C. c #A3A3A3", +"D. c #F1F0F0", +"E. c #ABABAB", +"F. c #4F4F4F", +"G. c #F3F3F3", +"H. c #E7E7E8", +"I. c #BFC0C0", +"J. c #474747", +"K. c #9A9A9A", +"L. c #B0B0B0", +"M. c #4D4E4D", +"N. c #F4F4F4", +"O. c #F2F3F3", +"P. c #8E8E8E", +"Q. c #343434", +"R. c #494949", +"S. c #F5F5F5", +"T. c #F5F4F4", +"U. c #F2F3F2", +"V. c #BEBDBE", +"W. c #ECEDED", +"X. c #606060", +"Y. c #3D3D3D", +"Z. c #676767", +"`. c #545454", +" + c #F7F7F7", +".+ c #F6F6F6", +"++ c #F3F4F3", +"@+ c #F3F3F2", +"#+ c #ECEBEB", +"$+ c #808080", +"%+ c #000000", +"&+ c #EEEEEF", +"*+ c #EBEAEA", +"=+ c #EDEDEE", +"-+ c #898989", +";+ c #717171", +">+ c #646464", +",+ c #F9F9F9", +"'+ c #F8F8F7", +")+ c #F4F5F5", +"!+ c #C0C1C0", +"~+ c #939394", +"{+ c #A0A0A0", +"]+ c #565656", +"^+ c #FAFAFA", +"/+ c #F8F8F8", +"(+ c #F7F7F6", +"_+ c #F0EFF0", +":+ c #EDECEC", +"<+ c #F2F2F1", +"[+ c #ADADAD", +"}+ c #6A6A6A", +"|+ c #ACACAC", +"1+ c #D7D7D8", +"2+ c #FBFBFB", +"3+ c #EEEFEF", +"4+ c #ECECEB", +"5+ c #A5A5A5", +"6+ c #C8C8C9", +"7+ c #FCFCFC", +"8+ c #EFF0F0", +"9+ c #F2F2F3", +"0+ c #F5F5F6", +"a+ c #F6F7F6", +"b+ c #F9F8F9", +"c+ c #FDFDFD", +"d+ c #F9FAF9", +"e+ c #ECECED", +"f+ c #FCFBFB", +"g+ c #FAFAFB", +"h+ c #F2F1F2", +"i+ c #EBEBEC", +"j+ c #D5D4D5", +"k+ c #D4D3D3", +"l+ c #D1D1D2", +"m+ c #D0D1D0", +". . . . . . . . . . . . . . . . + @ # $ % % $ # @ + . . . . ", +". & * * * * * * * * * * * * * = - ; > , ' ' , > ; - = * & . ", +". ) ! ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { ] ^ / ( _ _ ( / ^ { ~ ! ) . ", +". : < ) [ } | 1 1 2 3 3 3 4 5 6 7 ! { ^ ^ ^ { ~ 8 9 3 0 a . ", +". b [ | c 1 3 3 d d e f g h 7 ! ] / i j k $ l m ^ n o d p + ", +". a | 1 q r d f s t u 9 v w { / ( x y z A B C D E ^ w g A @ ", +". a 3 F d s G H I J h 7 ! ^ ( = K L M ) v 7 v N O P { v Q # ", +". p d s t H g g 9 R 8 ~ / _ ; S T U V W X Y 9 8 Z ` ^ w .$ ", +". p s H g ..9 h +.w ~ @._ ~ #.$.3 %.&.*.=.-.;.7 >.>./ ,.'.$ ", +". p I g 9 h R 7 ).~ ( !./ ~.{.) h g g d p ].^./.(.A / ,.'.$ ", +". _.:.9 h v 7 w ~ ^ !.!.<.T [.9 g g g g g }.=.|.1.H / ,.2.# ", +". _.h 3.7 4.w ~ 5.!.6.7.8._.h g g g g g g [ 9.0.Y a.^ b.c.@ ", +". d.v 7 8 ,.e./ !.6.) 1.f.h g g g g g g g 9 (.g.( _ ] w h.+ ", +". d.7 8 ,.~ / !.6.7 i.j.h 9 g g g g g g h k.].B 6.l.m.n.o.. ", +". d.).w ~ ^ !.p./ $.q.s 9 g g g g g 9 h i r.$ / 6./ m s.A . ", +". A w ! ] _ p.!.t.{.) 9 g g g g g 9 h u.v.>.^ p.!.^ ~ w.x.. ", +". o.! y.( 6.p.z.A.B.h g g g g g 9 h C.r.u.!.p.6.( ] ~ ,.A . ", +". o.~ ^ D.p./.v.E.h g g g g g 9 v B F.2.G.G.p.!./ ] ~ H.A . ", +". I.{ ( 6.d i.J.^.K.g g g g 9 v L.M.Y N.N.G.6.( / ] ~ ! A . ", +". c.^ !.O.P.{.3 p Q.1 g g g h i R.A S.S.T.U.!.( / ^ { ~ V.. ", +". c.W.6.G.@ X.9 1 Q.Q.Y.Z.l ' `.K.S. +.+++@+!._ ( ^ #+{ o.. ", +". 2./ 6.G.$+%+d g , x o.f.R.*.X !. + +.+G.U.6.!.&+/ ^ *+o.. ", +". 2.=+6.G.-+%+%+x 9 9 s | ;+>+7 +,+'+.+)+G.p.!._ ( ^ ] o.. ", +". !+( 6.N.~+%+%+%+{+$.]+T O [ +^+,+/+(+S.N.p.6._+( :+] o.. ", +". 2.( <+N.[+%+%+%+R.}+~.|+1+/+2+2+^+,+ +.+N.G.6.!.3+/ 4+o.. ", +". 2.( 6.N., z 5+6+w N..+/+^+7+7+7+2+,+/+.+S.G.p.8+_ / ] o.. ", +". c.=+!.9+S.0+.+a+ +b+^+2+7+c+c+7+2+d+/+.+S.G.p.!._ / ^ o.. ", +". c.e+_ 6.G.N..+ +/+,+^+f+7+c+c+7+g+,+/+.+S.G.h+!._ / i+o.. ", +". _././.* * = = - - ; ; j+> > > j+; ; k+- = = l+* m+/.[._.. ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPostOff.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPostOff.xpm new file mode 100644 index 0000000..4feb430 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPostOff.xpm @@ -0,0 +1,278 @@ +/* XPM */ +static char * spGreasePencil_ghostPostOff_xpm[] = { +"30 30 245 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #848484", +"# c #858585", +"$ c #868686", +"% c #838383", +"& c #C7C7C7", +"* c #D0D0D0", +"= c #D1D1D1", +"- c #CFCFCF", +"; c #CECECE", +"> c #D6D6D6", +", c #E3E3E3", +"' c #E5E5E5", +") c #E6E6E6", +"! c #E7E7E7", +"~ c #E8E8E8", +"{ c #E9E9E9", +"] c #DFDFDF", +"^ c #DCDCDC", +"/ c #DBDBDB", +"( c #DEDEDE", +"_ c #D4D4D4", +": c #878787", +"< c #B9B9B9", +"[ c #D2D2D1", +"} c #D2D2D2", +"| c #D5D6D6", +"1 c #D8D8D8", +"2 c #DADADA", +"3 c #DADBDA", +"4 c #DCDCDD", +"5 c #DBDCDC", +"6 c #D3D3D3", +"7 c #CCCCCC", +"8 c #C1C1C1", +"9 c #C8C8C7", +"0 c #8C8C8C", +"a c #BBBABA", +"b c #C6C6C6", +"c c #CDCDCD", +"d c #D2D1D1", +"e c #D7D7D7", +"f c #D9D9D9", +"g c #DCDDDC", +"h c #DDDDDC", +"i c #DDDDDD", +"j c #D1D0D0", +"k c #C9C9C9", +"l c #AEAEAE", +"m c #A8A7A7", +"n c #C4C4C4", +"o c #BABABA", +"p c #8F8F8F", +"q c #BBBBBB", +"r c #D5D5D5", +"s c #D9D9D8", +"t c #DDDCDC", +"u c #DDDEDE", +"v c #DFDEDE", +"w c #DBDCDB", +"x c #C8C8C8", +"y c #AAAAAA", +"z c #A4A4A4", +"A c #C6C6C5", +"B c #9B9A9B", +"C c #BEBEBE", +"D c #D9DAD9", +"E c #E0E0E0", +"F c #DFDFDE", +"G c #A6A6A6", +"H c #A0A0A0", +"I c #C4C5C5", +"J c #8D8D8D", +"K c #BCBCBC", +"L c #CBCBCB", +"M c #939393", +"N c #B2B2B2", +"O c #DADADB", +"P c #DFDFE0", +"Q c #E0E0E1", +"R c #E1E0E0", +"S c #CACACA", +"T c #9F9F9F", +"U c #BABAB9", +"V c #898989", +"W c #8B8B8B", +"X c #DCDBDC", +"Y c #CBCBCA", +"Z c #A7A7A7", +"` c #9D9D9D", +" . c #C5C5C5", +".. c #B1B1B1", +"+. c #979797", +"@. c #DBDBDA", +"#. c #DCDCDB", +"$. c #969696", +"%. c #C2C2C2", +"&. c #D7D7D8", +"*. c #DBDADB", +"=. c #B7B7B7", +"-. c #9B9B9B", +";. c #8A8A8A", +">. c #D1D2D1", +",. c #666666", +"'. c #7B7B7B", +"). c #A5A5A5", +"!. c #BDBCBC", +"~. c #CBCCCB", +"{. c #CAC9C9", +"]. c #797979", +"^. c #AFAFAF", +"/. c #DFE0DF", +"(. c #B3B3B3", +"_. c #919191", +":. c #737373", +"<. c #525252", +"[. c #606060", +"}. c #A1A1A1", +"|. c #757475", +"1. c #686868", +"2. c #939494", +"3. c #AEAEAF", +"4. c #BBBCBB", +"5. c #E1E1E1", +"6. c #B8B8B8", +"7. c #959595", +"8. c #5E5E5E", +"9. c #505050", +"0. c #6D6D6D", +"a. c #787878", +"b. c #707070", +"c. c #5D5D5D", +"d. c #646464", +"e. c #909090", +"f. c #A9A9A9", +"g. c #ADADAD", +"h. c #D6D6D7", +"i. c #E0E0DF", +"j. c #E2E1E1", +"k. c #A8A8A8", +"l. c #767676", +"m. c #454545", +"n. c #464646", +"o. c #414141", +"p. c #4F4F4F", +"q. c #9A9A9A", +"r. c #BDBDBD", +"s. c #B6B6B6", +"t. c #DEDDDD", +"u. c #999999", +"v. c #ABABAB", +"w. c #B5B5B5", +"x. c #232323", +"y. c #3B3B3B", +"z. c #6F6F6F", +"A. c #ACACAC", +"B. c #C3C3C3", +"C. c #BDBDBC", +"D. c #B9B9BA", +"E. c #949494", +"F. c #B0B0B0", +"G. c #A2A2A2", +"H. c #535353", +"I. c #4C4C4C", +"J. c #E2E2E2", +"K. c #A3A3A3", +"L. c #6A6A6A", +"M. c #4A4A4A", +"N. c #4D4D4D", +"O. c #BFBFBF", +"P. c #BDBEBE", +"Q. c #989898", +"R. c #5A5A5A", +"S. c #808080", +"T. c #717171", +"U. c #585858", +"V. c #E4E4E4", +"W. c #D6D7D7", +"X. c #7C7C7C", +"Y. c #555555", +"Z. c #595959", +"`. c #7D7D7D", +" + c #777777", +".+ c #565656", +"++ c #9C9C9C", +"@+ c #BEBDBE", +"#+ c #E3E4E4", +"$+ c #7F7F7F", +"%+ c #7E7E7E", +"&+ c #575757", +"*+ c #B9B9B8", +"=+ c #B4B4B4", +"-+ c #DBDBDC", +";+ c #D5D4D4", +">+ c #E3E3E4", +",+ c #848384", +"'+ c #7E7E7F", +")+ c #D5D4D5", +"!+ c #E5E4E5", +"~+ c #EDECED", +"{+ c #EFEFEF", +"]+ c #EFEFF0", +"^+ c #F0F0F0", +"/+ c #EEEEEE", +"(+ c #EDEDED", +"_+ c #EBEBEB", +":+ c #969797", +"<+ c #A3A3A2", +"[+ c #747474", +"}+ c #727272", +"|+ c #8A8989", +"1+ c #E6E6E7", +"2+ c #F1F1F2", +"3+ c #F4F4F4", +"4+ c #F7F6F6", +"5+ c #F8F7F8", +"6+ c #F8F8F8", +"7+ c #F7F7F7", +"8+ c #F6F6F6", +"9+ c #F3F3F3", +"0+ c #ECECEC", +"a+ c #9E9E9E", +"b+ c #CACACB", +"c+ c #DEDEDF", +"d+ c #ECEDEC", +"e+ c #F2F2F2", +"f+ c #F6F5F6", +"g+ c #FAFAFA", +"h+ c #FBFBFB", +"i+ c #FCFCFC", +"j+ c #F9F9F9", +"k+ c #F7F8F7", +"l+ c #F1F1F1", +"m+ c #757575", +"n+ c #D3D3D4", +"o+ c #F2F1F2", +"p+ c #F5F5F5", +"q+ c #FBFAFA", +"r+ c #F9F9FA", +"s+ c #D4D3D4", +"t+ c #D3D2D2", +"u+ c #D0D0D1", +"v+ c #888888", +". . . . . . . . . . . . . . . . . . . . . . . + @ # $ # % + ", +"+ & * * * * * * * * * = = = = = = * * * * * * - - ; ; ; & @ ", +"@ > , , ' ) ! ~ ~ ~ ~ ~ { { { { ~ ~ ~ ~ ~ ! ' , ] ^ / ( _ $ ", +": < [ } _ | 1 2 2 3 / / / 4 4 5 / / / / 2 1 > 6 * 7 8 9 < : ", +"0 a b c d _ e f ^ ^ g h i i i i i i ^ ^ 2 e _ j k l m n o : ", +"p o l q c = r s / t u ( ( ( ( v ( ( i w f > } x y z A = o $ ", +"p q < B C c } > D ^ ( ( E E E E E F i / e 6 k G H I = _ o @ ", +"J K L y M N k } e O h ( P E Q R Q ( ^ 1 _ S G T b } r 1 U + ", +"V q } S y W z n } > f w ( ] E E ( X 1 _ Y Z ` .6 e D / o . ", +"# q e 6 c ..J +.q ; 6 > f @.#./ 2 e 6 k z $.%.6 &.*.^ i o . ", +"% q / e 6 c =.p + G .c = _ r r _ * %.-.;.o * > / ( ] ] q . ", +"+ q ( #.1 >.7 q 0 ,.'.).!.b ~.{.%.l @ ].^.k * e ^ /.E Q q . ", +". K E ( f 6 k (._.:.<.[.# }.z z +.|.1.2.3.o S _ 2 ( Q E 4.. ", +". K 5.( f = 6.7.0 M $ 8.9.0.a.b.c.d.e.f.y g.=.S h.w i.5.K . ", +". K j.( 1 L G e.T g...k.l.m.n.o.p.q.r.q s.l l 6.- 1 t.Q K . ", +". r.5.i > %.u._.v.w.< w.q.p.x.y.z.z q K K C N A.B._ ^ E C.+ ", +"+ r.5.g 6 D.M E.f.l F.G.z.o.H.I.9.. (.6.C n q f.6.* 2 E r.+ ", +"+ r.J.^ d w.E.M K.v.+.L.H.0.7.;.M.N.J r.8 8 O.y (.; 2 E r.+ ", +"+ P., i 6 6.Q.e.7.J 8.R.S.p Q.$.T.R.U.0 ..O.< G s.- 2 E r.+ ", +"+ C V.( W.n G._.X.Y.Z.@ u.W ;.`.'.J +.+0.++).z r.} 2 5.@++ ", +"% C #+] e c w.;.U..+$+e.e.: . + J T T %+<.&+`.A.k = 2 E C % ", +"# C 5.^ _ L ..b.T.` g.l g.^...=.q < *+w.++T.8.# =+- e t.C $ ", +"V C -+> S g.. X.=+c * } 6 6 r r ;+_ 6 } * 8 $.b.'.A.- f C W ", +"e.O.= K H ;.$+=.6 2 ( 5.J., >+>+, , J.E i f - ..,+'.K.; O._.", +"$.o K.W $ '+s.)+i !+{ ~+{+]+^+^+{+/+(+_+~ , ( e 8 :+X.<+q q.", +"u.f.[+}+|+6.r ( 1+(+2+3+4+5+6+6+7+8+3+9+{+0+) E f k q.$+a+}.", +"u.=.).=.b+e c+) d+e+f+6+g+h+i+i+g+j+k+8+9+l+0+~ 5.2 b e.m+Q.", +"E.O.n+e -+5.) 0+o+p+7+j+q+h+i+i+h+r+6+7+p+9+^+~+! E 1 D.b.m+", +"J K L L c ; * * } } 6 6 s+_ r r )+6 6 t+} = = u+- c S n M R.", +"$ V ;.V v+# @ + . . . . . . . . . . . . . . . + @ v+e.-.++z."}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPostOn.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPostOn.xpm new file mode 100644 index 0000000..442f812 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPostOn.xpm @@ -0,0 +1,289 @@ +/* XPM */ +static char * spGreasePencil_ghostPostOn_xpm[] = { +"30 30 256 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DCDCDC", +") c #DCDCDD", +"! c #DCDDDD", +"~ c #B9B8B8", +"{ c #DAD9D9", +"] c #DCDDDC", +"^ c #DDDDDC", +"/ c #DDDDDD", +"( c #DBDADA", +"_ c #B9B9B9", +": c #DCDBDB", +"< c #DEDDDD", +"[ c #DDDEDE", +"} c #DEDEDE", +"| c #DFDEDE", +"1 c #DDDEDD", +"2 c #DBDCDC", +"3 c #DADBDB", +"4 c #DADAD9", +"5 c #DCDBDC", +"6 c #DDDDDE", +"7 c #DEDEDD", +"8 c #DFDFDF", +"9 c #BABABA", +"0 c #DCDCDB", +"a c #BABAB9", +"b c #D9D9DA", +"c c #D7D7D7", +"d c #D7D8D7", +"e c #D8D7D8", +"f c #DEDFDE", +"g c #DADADB", +"h c #D4D4D4", +"i c #D0D0D0", +"j c #CDCDCD", +"k c #CCCCCC", +"l c #CFCFCF", +"m c #D3D3D3", +"n c #D4D4D3", +"o c #CECECE", +"p c #DFDEDF", +"q c #BBBBBB", +"r c #E0DFDF", +"s c #D6D6D6", +"t c #CFD0D0", +"u c #BEBEBE", +"v c #A0A0A0", +"w c #888888", +"x c #8E8E8E", +"y c #A3A3A3", +"z c #C5C5C5", +"A c #C4C4C4", +"B c #B6B6B6", +"C c #ABABAB", +"D c #AFAFAF", +"E c #C6C6C6", +"F c #E0E0E0", +"G c #DFDFDE", +"H c #D6D7D6", +"I c #CBCBCB", +"J c #9D9D9D", +"K c #5A595A", +"L c #3F3F3F", +"M c #474747", +"N c #515151", +"O c #525252", +"P c #636363", +"Q c #737373", +"R c #7F7F7F", +"S c #848484", +"T c #8B8B8B", +"U c #909090", +"V c #929293", +"W c #9E9E9E", +"X c #B0B0B0", +"Y c #D2D2D2", +"Z c #DFDFE0", +"` c #BCBCBC", +" . c #999899", +".. c #444444", +"+. c #2D2D2D", +"@. c #434343", +"#. c #4A4A4A", +"$. c #3D3D3D", +"%. c #303030", +"&. c #383838", +"*. c #6A6A6A", +"=. c #8A8A8A", +"-. c #8C8C8C", +";. c #8D8D8D", +">. c #929292", +",. c #C0C0C0", +"'. c #BBBCBB", +"). c #BFBFBF", +"!. c #2F2F2F", +"~. c #595959", +"{. c #555555", +"]. c #2A2A2A", +"^. c #3C3C3C", +"/. c #979797", +"(. c #B2B2B2", +"_. c #AEAEAE", +":. c #C8C8C9", +"<. c #D5D6D5", +"[. c #E0DFE0", +"}. c #828282", +"|. c #A9A9A9", +"1. c #7E7E7E", +"2. c #989898", +"3. c #A4A4A4", +"4. c #999999", +"5. c #5B5B5B", +"6. c #626262", +"7. c #4E4E4E", +"8. c #242424", +"9. c #727272", +"0. c #B1B1B1", +"a. c #DEDEDF", +"b. c #BDBDBD", +"c. c #767676", +"d. c #5F5F5F", +"e. c #7C7C7C", +"f. c #7D7D7D", +"g. c #282828", +"h. c #464646", +"i. c #898989", +"j. c #BDBDBC", +"k. c #C9C9C9", +"l. c #858585", +"m. c #343434", +"n. c #696969", +"o. c #787878", +"p. c #777777", +"q. c #878787", +"r. c #363636", +"s. c #B7B7B7", +"t. c #E1E1E1", +"u. c #313131", +"v. c #424242", +"w. c #6B6B6B", +"x. c #838383", +"y. c #707070", +"z. c #252525", +"A. c #969696", +"B. c #AAAAAA", +"C. c #A6A6A6", +"D. c #E0E0E1", +"E. c #BDBEBE", +"F. c #E3E3E3", +"G. c #D5D5D5", +"H. c #B5B5B5", +"I. c #666666", +"J. c #3E3E3E", +"K. c #585858", +"L. c #5C5C5C", +"M. c #5D5D5D", +"N. c #505050", +"O. c #212121", +"P. c #616161", +"Q. c #9B9B9B", +"R. c #919191", +"S. c #E2E2E2", +"T. c #E5E5E5", +"U. c #A2A2A2", +"V. c #606060", +"W. c #414141", +"X. c #353535", +"Y. c #2B2B2B", +"Z. c #323232", +"`. c #535353", +" + c #868686", +".+ c #BEBDBE", +"++ c #E7E8E8", +"@+ c #E6E6E6", +"#+ c #E3E2E2", +"$+ c #A7A7A7", +"%+ c #808080", +"&+ c #A8A8A8", +"*+ c #E6E5E5", +"=+ c #E7E7E7", +"-+ c #E4E4E4", +";+ c #E1E0E1", +">+ c #CFCFD0", +",+ c #CECECF", +"'+ c #D3D2D2", +")+ c #E3E3E4", +"!+ c #E9E8E8", +"~+ c #EAEAEB", +"{+ c #EBEBEB", +"]+ c #EAEAEA", +"^+ c #E2E2E1", +"/+ c #BEBFBE", +"(+ c #ECECEC", +"_+ c #EDEDED", +":+ c #EDEDEE", +"<+ c #EEEEEE", +"[+ c #EDECED", +"}+ c #EEEEED", +"|+ c #EEEEEF", +"1+ c #ECEBEB", +"2+ c #EBEBEC", +"3+ c #EDEDEC", +"4+ c #EEEFEE", +"5+ c #EFEFF0", +"6+ c #F0F0F0", +"7+ c #F2F1F2", +"8+ c #F2F2F2", +"9+ c #F3F2F3", +"0+ c #F3F3F3", +"a+ c #F5F4F5", +"b+ c #F6F6F6", +"c+ c #F6F6F7", +"d+ c #F7F7F7", +"e+ c #F5F5F5", +"f+ c #F4F4F4", +"g+ c #F1F1F1", +"h+ c #EFEFEF", +"i+ c #EDEEEE", +"j+ c #EBEBEA", +"k+ c #EFEEEE", +"l+ c #F4F4F5", +"m+ c #F8F8F8", +"n+ c #FAF9F9", +"o+ c #FBFAFB", +"p+ c #FBFBFB", +"q+ c #FAFAFA", +"r+ c #F9F9F9", +"s+ c #EEEFEF", +"t+ c #ECECED", +"u+ c #F1F1F2", +"v+ c #F4F5F4", +"w+ c #F8F7F8", +"x+ c #FCFCFC", +"y+ c #FDFDFD", +"z+ c #F8F9F8", +"A+ c #F6F5F6", +"B+ c #FCFBFB", +"C+ c #FAFAFB", +"D+ c #D5D4D5", +"E+ c #D4D3D3", +"F+ c #D1D1D2", +"G+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , ' ' ' ) ) ! ' ' ' ' > > ; ; = = # * & . ", +". ~ = ; { ; > > ' ' ] ^ / / / / / / ' ' ' > > ( ; ( { = & . ", +". _ = ; ( : ' ^ / < [ } } } } | } } } 1 / / ' 2 > 3 4 ; _ . ", +". _ > 5 ' / 6 } 1 7 } } 8 8 8 8 8 } } } } } } / ] 2 > ; _ . ", +". 9 ' / < } } / / ) 0 ' ) / 6 < ) ' ' ] / 1 } } } / ' ' a . ", +". 9 / } 8 } / ' b # c d # = ; = # e c # 4 > / } } } 1 / 9 . ", +". 9 f 8 } / g c h i j k l m n m @ l o @ h c ; ' 6 p } } 9 . ", +". q r } / ; s t u v w x y 9 z A B C D 9 E l h e > / 8 8 q . ", +". q F G ' H I J K L M N O P Q R S T U V W X E Y c , } Z q . ", +". ` F / = l ...+.@.#.#.M $.%.&.*.=.-.-.;.>.v ,.Y # / 8 '.. ", +". ` F ' s ).P !.~.. -.v x {.%.].^./.(._.v U x J :.<.0 [.` . ", +"}.` r ; Y |.L !.1.2.3.4.R 5.6.7.8.9.C C C 0.2.=.B Y ; a.` }.", +"}.b.8 = j >.%.&.c.S =.. *.d.e.f.g.h.2.3.X u D i.y o = G j.}.", +"}.b.F ; k.l.m.&.n.R Q o.T *.p.q.!.r.;.9 s.9 & -.J I ; F b.}.", +"}.b.t.> j U @.u.v.w.9.x.Q 6.y.n.z.v.A.B._._ X =.C.l > D.b.}.", +"}.E.F.} G.H.I.J.L K.w.L.M.7.N.!.O.P.U 4.Q.y R.U _ G./ S.b.}.", +". u T.S.' m U.Q V.W.X.X.u.%.Y.Z.`.f.x.x. +T A.H.m ' t.T..+. ", +". u ++@+#+' G.q $+U %+1.o.f.-.W B.&+&+C.C & + G.' t.*+=+u . ", +". u % % =+-+;+' s @ >+o o ,+m n m '+Y Y m d ' F )+@+$ !+u . ", +". u ~+{+{+]+$ @+-+S.S.S.S.F.F.F.#+S.^+S.S.F.@+=+% {+]+]+u . ", +". /+{+(+_+:+<+_+[+(+(+}+<+<+|+|+<+<+_+(+(+(+(+_+[+(+1+]+u . ", +". ).2+3+4+5+6+7+8+9+0+a+b+c+d+d+b+e+f+8+8+g+g+h+h+i+(+j+u . ", +". ).(+_+k+6+8+0+l+e+c+m+n+o+p+p+q+r+d+b+f+f+8+g+s+<+(+]+u . ", +". ).t+_+|+6+u+0+v+b+w+r+p+x+y+y+p+q+z+d+e+f+8+g+h+<+(+(+u . ", +". ).t+<+5+g+8+f+A+d+m+q+B+x+y+y+x+C+r+m+b+e+0+7+6+h+_+2+u . ", +". q i i @ @ Y Y m m h h D+G.G.G.D+h h E+m Y Y F+@ G+i l q . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPreOff.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPreOff.xpm new file mode 100644 index 0000000..f8f5eb6 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPreOff.xpm @@ -0,0 +1,295 @@ +/* XPM */ +static char * spGreasePencil_ghostPreOff_xpm[] = { +"30 30 262 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #848484", +"# c #858585", +"$ c #868686", +"% c #838383", +"& c #C7C7C7", +"* c #D0D0D0", +"= c #D1D1D1", +"- c #CFCFCF", +"; c #CECECE", +"> c #D6D6D6", +", c #E3E3E3", +"' c #E5E5E5", +") c #E6E6E6", +"! c #E7E7E7", +"~ c #E8E8E8", +"{ c #E9E9E9", +"] c #DFDFDF", +"^ c #DCDCDC", +"/ c #DBDBDB", +"( c #DEDEDE", +"_ c #D4D4D4", +": c #878787", +"< c #B9B9B9", +"[ c #D2D2D1", +"} c #D2D2D2", +"| c #D5D6D6", +"1 c #D8D8D8", +"2 c #DADADA", +"3 c #DADBDA", +"4 c #DCDCDD", +"5 c #DBDCDC", +"6 c #D3D3D3", +"7 c #CCCCCC", +"8 c #C1C1C1", +"9 c #C8C8C7", +"0 c #8C8C8C", +"a c #BBBABA", +"b c #C6C6C6", +"c c #CDCDCD", +"d c #D2D1D1", +"e c #D7D7D7", +"f c #D9D9D9", +"g c #DCDDDC", +"h c #DDDDDC", +"i c #DDDDDD", +"j c #D1D0D0", +"k c #C9C9C9", +"l c #AEAEAE", +"m c #A8A7A7", +"n c #C4C4C4", +"o c #BABABA", +"p c #8F8F8F", +"q c #BBBBBB", +"r c #D5D5D5", +"s c #D9D9D8", +"t c #DDDCDC", +"u c #DDDEDE", +"v c #DFDEDE", +"w c #DBDCDB", +"x c #C8C8C8", +"y c #AAAAAA", +"z c #A4A4A4", +"A c #C6C6C5", +"B c #9B9A9B", +"C c #BDBDBD", +"D c #D9DAD9", +"E c #DCDCDB", +"F c #DEDEDD", +"G c #A6A6A6", +"H c #A0A0A0", +"I c #C4C5C5", +"J c #8D8D8D", +"K c #BCBCBC", +"L c #CBCBCB", +"M c #939292", +"N c #B2B2B2", +"O c #DADADB", +"P c #DDDDDE", +"Q c #D7D8D7", +"R c #CACACA", +"S c #A7A7A7", +"T c #9F9F9F", +"U c #BABAB9", +"V c #898989", +"W c #A9A9A9", +"X c #898988", +"Y c #A2A2A2", +"Z c #C3C3C3", +"` c #D8D8D7", +" . c #D8D7D8", +".. c #A8A8A8", +"+. c #9E9E9E", +"@. c #D6D7D6", +"#. c #ADADAD", +"$. c #878788", +"%. c #939393", +"&. c #BAB9B9", +"*. c #D0D0CF", +"=. c #9B9B9B", +"-. c #C5C5C5", +";. c #D8D8D9", +">. c #D9D8D8", +",. c #B1B1B1", +"'. c #888888", +"). c #7D7D7D", +"!. c #A5A5A5", +"~. c #B4B4B4", +"{. c #919191", +"]. c #BFBFBF", +"^. c #D9D8D9", +"/. c #B6B6B6", +"(. c #6C6C6C", +"_. c #9B9A9A", +":. c #949494", +"<. c #989898", +"[. c #9C9C9C", +"}. c #797979", +"|. c #7C7C7C", +"1. c #B7B7B7", +"2. c #E0E0E0", +"3. c #E1E2E1", +"4. c #E1E1E1", +"5. c #E0E0E1", +"6. c #BEBEBE", +"7. c #B4B3B4", +"8. c #B0B0B0", +"9. c #595959", +"0. c #535353", +"a. c #737373", +"b. c #636363", +"c. c #5C5C5C", +"d. c #CECFCE", +"e. c #E2E2E2", +"f. c #E2E2E3", +"g. c #BBBCBB", +"h. c #8E8E8E", +"i. c #A3A3A3", +"j. c #757575", +"k. c #4E4E4E", +"l. c #4D4D4D", +"m. c #656565", +"n. c #5F5F5F", +"o. c #969696", +"p. c #A4A3A4", +"q. c #E1E1E2", +"r. c #E3E4E3", +"s. c #E4E4E3", +"t. c #E3E2E3", +"u. c #C2C1C1", +"v. c #ABABAB", +"w. c #959595", +"x. c #747474", +"y. c #6D6D6D", +"z. c #6B6B6B", +"A. c #545454", +"B. c #676767", +"C. c #606060", +"D. c #979797", +"E. c #B3B3B3", +"F. c #A1A1A1", +"G. c #D4D3D3", +"H. c #DCDBDC", +"I. c #E4E4E4", +"J. c #E5E4E4", +"K. c #E3E3E4", +"L. c #999999", +"M. c #B5B5B5", +"N. c #777777", +"O. c #5A5A5A", +"P. c #292929", +"Q. c #454545", +"R. c #ACACAC", +"S. c #E5E5E4", +"T. c #BDBDBC", +"U. c #5D5D5D", +"V. c #464646", +"W. c #565656", +"X. c #6F6F6F", +"Y. c #AFAFAF", +"Z. c #9D9D9D", +"`. c #7F7F7F", +" + c #3C3C3C", +".+ c #9A9A9A", +"++ c #5E5E5E", +"@+ c #E6E6E7", +"#+ c #B0B1B1", +"$+ c #484848", +"%+ c #626262", +"&+ c #686868", +"*+ c #525252", +"=+ c #717171", +"-+ c #8A8A8A", +";+ c #909090", +">+ c #4D4D4E", +",+ c #BEBDBE", +"'+ c #B5B6B6", +")+ c #999998", +"!+ c #6A6A6A", +"~+ c #767676", +"{+ c #E1E0E0", +"]+ c #616161", +"^+ c #929292", +"/+ c #D0D1D1", +"(+ c #727272", +"_+ c #C0C0C0", +":+ c #E0DFDF", +"<+ c #696969", +"[+ c #DFDFDE", +"}+ c #7B7B7B", +"|+ c #7C7C7D", +"1+ c #ECECED", +"2+ c #EDEDEE", +"3+ c #EEEEEE", +"4+ c #EDEDED", +"5+ c #EAEAEA", +"6+ c #E7E7E6", +"7+ c #888788", +"8+ c #7E7E7E", +"9+ c #9B9B9C", +"0+ c #7D7E7D", +"a+ c #787878", +"b+ c #EBEAEB", +"c+ c #F0F0F0", +"d+ c #F3F3F3", +"e+ c #F5F5F5", +"f+ c #F6F6F6", +"g+ c #EFEFEF", +"h+ c #EBEBEB", +"i+ c #979898", +"j+ c #707070", +"k+ c #6E6E6E", +"l+ c #EEEEEF", +"m+ c #F7F6F6", +"n+ c #F9F8F9", +"o+ c #FAFAFA", +"p+ c #FBFBFB", +"q+ c #F9F9F9", +"r+ c #F4F4F4", +"s+ c #F1F1F1", +"t+ c #ECECEC", +"u+ c #CACACB", +"v+ c #DEDEDF", +"w+ c #F5F4F5", +"x+ c #F7F7F7", +"y+ c #FCFCFC", +"z+ c #FDFDFD", +"A+ c #F8F9F8", +"B+ c #D3D3D4", +"C+ c #DBDBDC", +"D+ c #F1F0F1", +"E+ c #FBFAFA", +"F+ c #F9F9FA", +"G+ c #F8F8F8", +"H+ c #EDECED", +"I+ c #B9B9BA", +"J+ c #D4D3D4", +"K+ c #D5D4D5", +"L+ c #D3D2D2", +"M+ c #D0D0D1", +". . . . . . . . . . . . . . . . . . . . . . . + @ # $ # % + ", +"+ & * * * * * * * * * = = = = = = * * * * * * - - ; ; ; & @ ", +"@ > , , ' ) ! ~ ~ ~ ~ ~ { { { { ~ ~ ~ ~ ~ ! ' , ] ^ / ( _ $ ", +": < [ } _ | 1 2 2 3 / / / 4 4 5 / / / / 2 1 > 6 * 7 8 9 < : ", +"0 a b c d _ e f ^ ^ g h i i i i i i ^ ^ 2 e _ j k l m n o : ", +"p o l q c = r s / t u ( ( ( ( v ( ( i w f > } x y z A = o $ ", +"p q < B C c } > D E ( ( ] ] ( ( ( F ^ / e 6 k G H I = _ o @ ", +"J K L y M N k } e O ^ i P ^ 4 t 4 ^ / Q _ R S T b } r 1 U + ", +"V q } R W X Y Z } > 1 D f 1 1 e ` .> _ L ..+.b 6 e D / o . ", +"$ q @.} L #.$.%.&.c } 6 6 = *.- * = = k S =.-._ ;./ ^ i o . ", +"@ q >._ * k ,.'.).!.n L -.o N ~.K n C =.{.].6 ^.i ] ] ] q . ", +"# q f r * L b /.0 (.$ z _.:.<.[.[.:.}.|.1.- > ^ 2.3.4.5.q . ", +"V C e } k 6.7.,.8.:.9.0.a.%.<.<.: b.c.0 K d.e i 4.e.f.4.g.. ", +"h.C = Z 8.G !.!.i.+.j.k.l.% ..[.m.n.+ o.p.k > i q.r.s.t.K . ", +":.C u.v.i.G G z z w.x.y.z.A.B.9.C.D.E.F.D.o G.H.e.I.J.K.K . ", +"L.q E.i.v.E.M.o M.<.a.N.% O.P.Q.0 ~.].~.D.R.* / e.' ) S.T.. ", +"+.1.W F.N 1.o 1.,.L.% N.U.V.W.k.X.F.o o <.G 7 / e.) ! ) C . ", +"H E.z Y Y.E.~.E.l Z.`.A. +B..+h.n.++:.#.%.W 7 2 4.) ! @+C . ", +"T #+G i.#.,.Y.,.C D.A.$+%++ +.Z.p &+*+=+-+E.- 1 2.' ) ) C . ", +"Z.E.v.i.z #.l ~.=.b.c.).`.`.J {.;+'.&+>+y.l 7 r i e.I.) ,+. ", +"L.o '+S z W R.;+n.m.[.+.)+z #.l #.l 8.<.!+~+!.L e ^ {+I.6.% ", +":.].Z E.y T -+O.]+^+..l C c /+} } } } ; E.@ (+D._+r / :+6.$ ", +"^+].- 8 ,.{.&+<+T o Z ; 1 i 2.e.e.4.[+/ > -.Z.}+# N = f 6.-+", +":.].x Y.{.|+~+,.; 6 f ] I.{ 1+2+3+4+5+6+4./ = E.7+8+!.; ].{.", +"<.o 9+. 0+a+E.} 2 2.' b+c+d+e+f+f+e+d+g+h+' ( e 8 i+).i.q .+", +".+..j+k+$ 1._ i I.5+l+d+m+n+o+p+o+q+f+r+s+t+) 2.f k .+`.+.F.", +"L.1.z 1.u+e v+) t+s+w+x+o+y+z+z+p+o+A+f+d+s+t+~ 4.2 b ;+j.<.", +":.].B+e C+4.) t+D+r+f+q+E+p+y+y+p+F+G+x+e+d+c+H+! 2.1 I+j+j.", +"J K L L c ; * * } } 6 6 J+_ _ _ K+6 6 L+} = = M+- c R n %.O.", +"$ V -+V '.# @ + . . . . . . . . . . . . . . . + @ '.;+=.[.X."}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPreOn.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPreOn.xpm new file mode 100644 index 0000000..e99ac61 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_ghostPreOn.xpm @@ -0,0 +1,297 @@ +/* XPM */ +static char * spGreasePencil_ghostPreOn_xpm[] = { +"30 30 264 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DBDBDC", +") c #DBDCDC", +"! c #B9B8B8", +"~ c #DBDADA", +"{ c #DCDCDC", +"] c #DCDDDC", +"^ c #DDDDDC", +"/ c #DDDDDD", +"( c #DAD9D9", +"_ c #B9B9B9", +": c #DCDBDB", +"< c #DEDDDD", +"[ c #DDDEDE", +"} c #DEDEDE", +"| c #DADBDB", +"1 c #DADAD9", +"2 c #DCDBDC", +"3 c #DDDDDE", +"4 c #DEDFDE", +"5 c #DFDFDE", +"6 c #DFDFDF", +"7 c #DBDBDA", +"8 c #BABABA", +"9 c #DEDEDF", +"0 c #D9D9DA", +"a c #D6D6D7", +"b c #D6D6D6", +"c c #BABAB9", +"d c #DEDEDD", +"e c #DCDCDD", +"f c #D7D7D7", +"g c #D4D4D4", +"h c #D0D0D0", +"i c #CCCCCC", +"j c #CCCBCC", +"k c #CFCFCF", +"l c #D7D7D6", +"m c #DDDEDD", +"n c #D8D7D7", +"o c #BEBEBE", +"p c #A0A0A0", +"q c #888888", +"r c #8E8E8E", +"s c #A5A5A5", +"t c #BDBDBD", +"u c #CBCBCB", +"v c #D3D4D3", +"w c #DFDEDF", +"x c #BBBBBB", +"y c #D1D2D2", +"z c #CECECE", +"A c #CFCFD0", +"B c #C7C7C7", +"C c #999999", +"D c #585858", +"E c #3F3F3F", +"F c #474747", +"G c #515151", +"H c #555555", +"I c #6D6D6D", +"J c #909090", +"K c #D7D6D7", +"L c #B2B1B2", +"M c #B3B3B3", +"N c #3B3B3B", +"O c #2A2B2A", +"P c #434343", +"Q c #4A4A4A", +"R c #494949", +"S c #4E4E4E", +"T c #545454", +"U c #6F6F6F", +"V c #AFAFAF", +"W c #E0E0E1", +"X c #BCBCBC", +"Y c #9F9F9F", +"Z c #949494", +"` c #969696", +" . c #989898", +".. c #8B8B8B", +"+. c #444444", +"@. c #232323", +"#. c #575757", +"$. c #8C8C8C", +"%. c #979797", +"&. c #7A7A7A", +"*. c #535354", +"=. c #4B4B4B", +"-. c #696969", +";. c #C1C1C1", +">. c #D5D5D5", +",. c #DFDFE0", +"'. c #E0E0E0", +"). c #BBBCBB", +"!. c #D2D2D2", +"~. c #939393", +"{. c #959595", +"]. c #929292", +"^. c #1F1F1F", +"/. c #727272", +"(. c #A4A4A4", +"_. c #9C9C9C", +":. c #646464", +"<. c #E2E1E2", +"[. c #CACACA", +"}. c #8D8D8D", +"|. c #AAAAAA", +"1. c #AEAEAE", +"2. c #B5B5B5", +"3. c #676767", +"4. c #141414", +"5. c #252525", +"6. c #5A5A5A", +"7. c #7F7F7F", +"8. c #8A8A8A", +"9. c #848484", +"0. c #9B9B9B", +"a. c #9A9A9A", +"b. c #424141", +"c. c #747374", +"d. c #DFDEDE", +"e. c #E1E1E2", +"f. c #A9A9A9", +"g. c #B2B2B2", +"h. c #B6B6B6", +"i. c #A2A2A2", +"j. c #5E5E5E", +"k. c #1E1E1E", +"l. c #292929", +"m. c #6E6E6E", +"n. c #7C7C7C", +"o. c #B0B0B0", +"p. c #ABABAB", +"q. c #484848", +"r. c #686868", +"s. c #C3C3C3", +"t. c #E3E3E2", +"u. c #BDBDBC", +"v. c #B8B9B8", +"w. c #ADADAD", +"x. c #2C2C2C", +"y. c #2E2E2E", +"z. c #878787", +"A. c #AFAEAF", +"B. c #454545", +"C. c #797979", +"D. c #C9C9C9", +"E. c #E1E1E1", +"F. c #E4E4E4", +"G. c #A1A1A1", +"H. c #A8A8A8", +"I. c #282828", +"J. c #414141", +"K. c #656565", +"L. c #5C5C5C", +"M. c #666666", +"N. c #7D7D7D", +"O. c #525252", +"P. c #4C4C4C", +"Q. c #9E9E9E", +"R. c #E3E3E3", +"S. c #E5E5E6", +"T. c #D3D3D3", +"U. c #505050", +"V. c #2D2D2D", +"W. c #2F2F2F", +"X. c #343434", +"Y. c #424242", +"Z. c #595959", +"`. c #E2E2E2", +" + c #E5E5E5", +".+ c #E6E6E6", +"++ c #A6A6A6", +"@+ c #A3A3A3", +"#+ c #7E7E7E", +"$+ c #707070", +"%+ c #777777", +"&+ c #838383", +"*+ c #9F9E9E", +"=+ c #BCBDBC", +"-+ c #E7E7E7", +";+ c #BEBDBE", +">+ c #DCDDDD", +",+ c #C0BFBF", +"'+ c #8F8F8F", +")+ c #CDCDCD", +"!+ c #D6D7D6", +"~+ c #EAE9E9", +"{+ c #BFBFBF", +"]+ c #CBCBCC", +"^+ c #E1E0E0", +"/+ c #EAEAEA", +"(+ c #EBEBEC", +"_+ c #EBEBEB", +":+ c #D4D3D4", +"<+ c #EBEAEA", +"[+ c #ECECEC", +"}+ c #ECECEB", +"|+ c #ECEDED", +"1+ c #EDEDED", +"2+ c #EEEEEE", +"3+ c #BEBFBE", +"4+ c #E4E4E5", +"5+ c #E1E0E1", +"6+ c #E5E5E4", +"7+ c #EFEFF0", +"8+ c #F2F2F3", +"9+ c #F4F4F4", +"0+ c #F3F3F3", +"a+ c #F3F3F2", +"b+ c #F2F2F2", +"c+ c #F0F0F0", +"d+ c #EFEEEF", +"e+ c #ECEBEB", +"f+ c #EAEAEB", +"g+ c #EBECEB", +"h+ c #EBEAEB", +"i+ c #ECEBEC", +"j+ c #F0EFF0", +"k+ c #F4F4F5", +"l+ c #F7F7F7", +"m+ c #F8F8F8", +"n+ c #F5F5F5", +"o+ c #EFEFEF", +"p+ c #EDEEEE", +"q+ c #EBEBEA", +"r+ c #EEEDED", +"s+ c #F1F1F2", +"t+ c #F6F6F6", +"u+ c #F8F7F7", +"v+ c #FAF9FA", +"w+ c #FBFBFB", +"x+ c #FCFCFC", +"y+ c #FAFAFA", +"z+ c #F1F1F1", +"A+ c #EEEFEF", +"B+ c #EEEEEF", +"C+ c #F3F4F3", +"D+ c #F7F6F7", +"E+ c #FDFDFD", +"F+ c #F8F9F8", +"G+ c #F5F4F5", +"H+ c #F9F9F9", +"I+ c #FBFAFA", +"J+ c #F9F9FA", +"K+ c #F2F1F2", +"L+ c #D5D4D5", +"M+ c #D4D3D3", +"N+ c #D1D1D2", +"O+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , > > > ' ' ) > > > > ; ; = = = = # * & . ", +". ! = ; ~ > { { { { ] ^ / / / / / / { { { > > ~ ; ( ( = & . ", +". _ = ; ~ : { ^ / < [ } } } / < / / / ] / / { ) > | 1 = _ . ", +". _ > 2 { / 3 } 4 5 6 6 6 } / { > 7 > { / / } / ] ) > ; _ . ", +". 8 { / < } } } } 9 5 6 3 { 0 # a b # = > { / / } / { { c . ", +". 8 / } } d / / e / { , ; f g h i j k g l = { / } } m / 8 . ", +". 8 4 } / { 0 # n f f b g k o p q r s t u v f ; e w } } 8 . ", +". x < { ; f g y k z k A B C D E F G H I J t h K > } 6 6 x . ", +". x / 1 b @ + x L M 8 t q N O P Q Q R S T U V @ # / 6 W x . ", +". X > b k x Y Z ` . ...+.@.#.. $.p %.&.*.=.-.;.>.> ,.'.).. ", +". X = !._ %.$.~.{.{.].U ^.^./.%.(.C J J _.:.P C @ ; 5 <.X . ", +". t f [.s }._.|.1.2.|.3.4.5.6.7.8.9.. 0.x a.b.c.+ = d.e.X . ", +". o >.;.` }.f.g.h.g.i.j.k.l.Q m./.n.o.|.M p.q.r.s.; '.t.u.. ", +". o !.v.J J s p.w.p.Y -.x.5.y.T m.z.r ` A.a.B.C.D.> E.F.t . ", +". o h M ].J G.H.(.H._ ~.B.l.I.J.K.L.M.m.N.O.P.Q.g } R.S.t . ", +". o T.& .r ~.i.(.p.1.V n.U.N V.W.X.X.N Y.Z.{.k { `. +.+t . ", +". o # B ++Z ].0.G._.p @+s #+$+%+&.n.C.&+*+=+g { `..+-+$ ;+. ", +". o >+>.,+p.G.{.'+'+r ].` Y g.+ i )+z h !+{ '.F.-+$ ~+% o . ", +". o E./ b D.{+h.V 1.w.g.o ]+f ^ 6 ^+E.`.R..+$ /+(+_+_+~+o . ", +". o S.R.6 > f :+T.!.T.b > '.F.$ <+[+}+[+|+1+2+1+1+1+_+/+o . ", +". 3+% $ -+4+R.E.5+E.`.6+-+_+7+8+9+9+0+a+b+b+c+c+d+1+e+/+o . ", +". {+f+}+g+f+/+h+_+i+1+j+b+k+l+m+m+m+l+n+n+0+b+c+o+p+[+q+o . ", +". {+[+1+r+o+c+c+s+b+k+t+u+v+w+x+w+y+m+l+n+9+b+z+A+2+1+_+o . ", +". {+(+1+B+c+s+b+C+n+D+m+w+x+E+E+w+y+F+l+t+n+0+b+c+o+1+[+o . ", +". {+(+1+B+c+z+0+G+t+l+H+I+w+x+x+w+J+H+m+t+n+0+K+c+o+1+(+o . ", +". x h h @ @ !.!.T.T.g g L+>.>.>.L+g g M+T.!.!.N+@ O+h k x . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_helpButton.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_helpButton.xpm new file mode 100644 index 0000000..10ff9cd --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_helpButton.xpm @@ -0,0 +1,196 @@ +/* XPM */ +static char * helpButton_xpm[] = { +"57 21 172 2", +" c None", +". c #818181", +"+ c #848484", +"@ c #8E8E8E", +"# c #939393", +"$ c #E1E1E1", +"% c #F4F4F4", +"& c #F0F0F0", +"* c #D3D3D3", +"= c #DCDCDC", +"- c #DDDDDD", +"; c #DEDEDE", +"> c #DEDEDF", +", c #DFDFDF", +"' c #DFE0DF", +") c #E0E0E0", +"! c #E1E1E0", +"~ c #E2E1E2", +"{ c #E2E2E2", +"] c #E2E2E3", +"^ c #E2E3E3", +"/ c #E3E3E2", +"( c #E3E3E3", +"_ c #E3E3E4", +": c #E0DFDF", +"< c #E0E0DF", +"[ c #464646", +"} c #1C1C1C", +"| c #050505", +"1 c #000000", +"2 c #151515", +"3 c #535353", +"4 c #CBCBCB", +"5 c #E4E4E4", +"6 c #E4E4E5", +"7 c #E5E5E5", +"8 c #E5E5E4", +"9 c #DFDFE0", +"0 c #E1E0E0", +"a c #E2E1E1", +"b c #E2E2E1", +"c c #E3E4E3", +"d c #DADADA", +"e c #1A1A1A", +"f c #5A5A5A", +"g c #7A7A7A", +"h c #777677", +"i c #2A2A2A", +"j c #353535", +"k c #E6E6E6", +"l c #E7E6E7", +"m c #E7E7E7", +"n c #E8E7E7", +"o c #E7E8E7", +"p c #E7E8E8", +"q c #E5E6E5", +"r c #E4E5E4", +"s c #CCCCCC", +"t c #020202", +"u c #E8E8E8", +"v c #E8E8E9", +"w c #E9E8E9", +"x c #E9E9E9", +"y c #EAE9E9", +"z c #EAEAEA", +"A c #E9EAEA", +"B c #E9EAE9", +"C c #E9E9EA", +"D c #E4E3E3", +"E c #E6E6E5", +"F c #E6E6E7", +"G c #E7E7E8", +"H c #B8B8B8", +"I c #333333", +"J c #EAEAEB", +"K c #EAEBEA", +"L c #EBEBEB", +"M c #ECEBEB", +"N c #ECEBEC", +"O c #EBECEB", +"P c #ECECEC", +"Q c #EBEBEC", +"R c #E6E7E6", +"S c #E8E8E7", +"T c #EBEBEA", +"U c #CDCDCD", +"V c #262626", +"W c #363636", +"X c #ECEDEC", +"Y c #EDEDED", +"Z c #EEEDED", +"` c #EEEDEE", +" . c #EEEEEE", +".. c #E6E7E7", +"+. c #E8E9E8", +"@. c #EAEAE9", +"#. c #EBEAEB", +"$. c #EDEDEC", +"%. c #BDBDBD", +"&. c #111111", +"*. c #6B6C6B", +"=. c #EEEFEE", +"-. c #EFEFEF", +";. c #F0EFEF", +">. c #F0EFF0", +",. c #EBECEC", +"'. c #ECECED", +"). c #282828", +"!. c #F1F1F1", +"~. c #F2F1F1", +"{. c #F2F1F2", +"]. c #F2F2F2", +"^. c #E8E7E8", +"/. c #E8E9E9", +"(. c #ECEDED", +"_. c #EDEDEE", +":. c #EEEEEF", +"<. c #EFF0F0", +"[. c #0E0E0E", +"}. c #F1F2F1", +"|. c #F3F3F3", +"1. c #F4F3F3", +"2. c #F4F3F4", +"3. c #EAEBEB", +"4. c #ECECEB", +"5. c #F0F0EF", +"6. c #F0F1F1", +"7. c #F3F2F2", +"8. c #F3F2F3", +"9. c #F4F4F3", +"0. c #F4F4F5", +"a. c #F5F4F5", +"b. c #F5F5F5", +"c. c #F5F6F5", +"d. c #F5F6F6", +"e. c #F6F6F6", +"f. c #EEEEED", +"g. c #2C2C2C", +"h. c #F5F4F4", +"i. c #F5F5F4", +"j. c #F6F6F7", +"k. c #F7F7F7", +"l. c #F7F8F7", +"m. c #F7F8F8", +"n. c #F8F8F8", +"o. c #EFEEEE", +"p. c #F0F0F1", +"q. c #F7F7F6", +"r. c #F7F7F8", +"s. c #F9F9F9", +"t. c #FAF9F9", +"u. c #FAFAF9", +"v. c #FAFAFA", +"w. c #FAFAFB", +"x. c #FAFBFB", +"y. c #FBFBFB", +"z. c #F2F2F1", +"A. c #F2F2F3", +"B. c #F3F3F4", +"C. c #F6F5F6", +"D. c #F7F6F6", +"E. c #FBFAFA", +"F. c #FCFBFC", +"G. c #FCFCFC", +"H. c #FCFCFD", +"I. c #FDFDFD", +"J. c #FDFDFC", +"K. c #838383", +"L. c #8C8C8C", +"M. c #919191", +"N. c #929292", +"O. c #909090", +". . . + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ + . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . ", +". . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % . . ", +". . & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & . . ", +". . * = - - - - ; ; ; > , , , ' ) ) ) ) ) ! $ $ $ $ ~ { { { { { ] ^ / ( / ( ( ( ( ( ( ( ( ( ( ( ( _ ( ( ( ( * . . ", +". . * ; ; ; , , : < ) ) ) $ $ $ $ { { { { { ( = [ } | 1 2 3 4 5 5 6 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 * . . ", +". . * , 9 ) ) 0 $ $ a b { { ( ( ( c c c 5 5 7 d e f g h i 1 j k k l m m m m m m m n m m o p p o o m m m m m * . . ", +". . * $ $ b { { / ( ( c 5 5 5 7 7 7 7 q k k k r 7 m m m s 1 t u u v w x x x x x y y x x y z z A B y y x C x * . . ", +". . * { ^ ( D 5 5 5 8 7 7 E k k F m m G u u u u x x x x H 1 I z z J J K L L L L M M N N M M L O P P L Q Q L * . . ", +". . * 5 5 r 7 k k k k R m S u u u u w C z z z z T L L U V W * P P P P X Y Z Z ` Z Z . . . . . . . . . . . .* . . ", +". . * k k k ..m m o u +.x x y @.z z #.L L N P P $.Y %.&.*.K . . . .=.-.-.;.;.>.;.;.& & & & & & & & & & & & * . . ", +". . * m m G p u v x x z z z L L L ,.P '.'.Y Y . . .).1 ) -.& & & & & !.!.!.!.~.~.{.].].].].].].].].].].].].* . . ", +". . * ^.u /.x C z z K L L P P X (.Y _. . .:.-.<.& u [.[.!.!.}.].].].].|.|.|.|.1.1.2.2.% % % % % % % % % % % * . . ", +". . * w x C z K 3.L 4.P P Y Y ` . .-.-.5.& & 6.!.!.{.].7.8.|.|.1.9.% % 0.a.b.b.c.d.e.e.e.e.e.e.e.e.e.e.e.e.* . . ", +". . * x C z L L Q P P Y Y f. .:.-.-.& & 6.!.].].].x g.g.% % h.i.b.c.e.e.e.j.k.k.l.m.m.n.n.n.n.n.n.n.n.n.n.n.* . . ", +". . * z z L L P P '.Y Y .o.-.-.<.& p.!.}.].].8.1.S 1 1 b.b.e.e.q.k.r.m.n.s.s.t.u.v.v.w.x.y.y.y.y.y.y.y.y.w.* . . ", +". . * z L L ,.P '.Y Y . .-.-.;.& !.!.z.].A.|.|.B.% a.b.C.e.D.k.k.n.n.s.s.u.v.E.y.y.F.G.H.I.I.I.I.I.I.J.J.G.* . . ", +". . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . K.L.M.N.# # # # # # # # # O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.L.K.. . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_offLock.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_offLock.xpm new file mode 100644 index 0000000..9511ceb --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_offLock.xpm @@ -0,0 +1,274 @@ +/* XPM */ +static char * spGreasePencil_offLock_xpm[] = { +"30 30 241 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #E1E1E1", +"* c #C1C1C1", +"= c #A7A7A7", +"- c #AFAFAF", +"; c #C4C4C4", +"> c #E2E2E2", +", c #B8B8B8", +"' c #D8D8D7", +") c #D9D9D9", +"! c #D9DADA", +"~ c #DADADA", +"{ c #DBDBDB", +"] c #DBDCDB", +"^ c #DCDCDC", +"/ c #DCDCDD", +"( c #D7D7D8", +"_ c #ACADAD", +": c #787878", +"< c #7C7C7C", +"[ c #9E9E9E", +"} c #989898", +"| c #7E7E7E", +"1 c #BABABA", +"2 c #B9B8B8", +"3 c #DBDADA", +"4 c #DDDDDD", +"5 c #DDDEDD", +"6 c #DEDEDD", +"7 c #DEDEDE", +"8 c #D4D4D4", +"9 c #8C8C8C", +"0 c #828282", +"a c #C9C9C9", +"b c #ACACAC", +"c c #BBBBBB", +"d c #B1B1B1", +"e c #CECDCD", +"f c #DAD9D9", +"g c #B9B9B9", +"h c #DCDBDB", +"i c #DDDCDC", +"j c #DFDEDE", +"k c #DEDFDF", +"l c #DFDFDF", +"m c #D7D7D7", +"n c #8A8A8A", +"o c #A4A4A4", +"p c #DEDDDD", +"q c #5C5C5C", +"r c #6E6E6E", +"s c #929292", +"t c #A8A9A9", +"u c #DBDCDC", +"v c #DBDBDA", +"w c #DDDCDD", +"x c #DEDEDF", +"y c #DFE0DF", +"z c #E0E0DF", +"A c #E0E0E0", +"B c #959595", +"C c #999998", +"D c #D3D3D3", +"E c #CCCCCC", +"F c #5D5D5D", +"G c #BEBEBE", +"H c #DCDDDD", +"I c #E1E1E2", +"J c #E2E2E1", +"K c #7B7B7B", +"L c #CACACA", +"M c #D4D4D5", +"N c #CBCBCB", +"O c #B0B0B0", +"P c #D3D4D3", +"Q c #D5D6D5", +"R c #BABAB9", +"S c #E1E1E0", +"T c #E3E3E3", +"U c #E3E3E4", +"V c #E4E4E4", +"W c #ADAEAD", +"X c #8F8F8F", +"Y c #CFCFCF", +"Z c #E5E5E5", +"` c #E4E4E3", +" . c #E4E3E4", +".. c #A1A1A1", +"+. c #A8A8A8", +"@. c #DEDFDE", +"#. c #E7E6E6", +"$. c #7D7D7D", +"%. c #C5C5C5", +"&. c #A5A5A4", +"*. c #9F9F9F", +"=. c #E7E7E7", +"-. c #E6E6E6", +";. c #E3E4E3", +">. c #969696", +",. c #B7B7B7", +"'. c #E1E0E1", +"). c #E1E0E0", +"!. c #E9EAEA", +"~. c #ECECEC", +"{. c #EDEDED", +"]. c #CECECE", +"^. c #858585", +"/. c #EAEAEA", +"(. c #E8E9E9", +"_. c #ADADAD", +":. c #7F7F7F", +"<. c #D4D3D4", +"[. c #E3E3E2", +"}. c #E6E7E6", +"|. c #EEEEEE", +"1. c #BCBCBC", +"2. c #777777", +"3. c #8B8B8B", +"4. c #C9C8C8", +"5. c #727272", +"6. c #E8E9E8", +"7. c #F1F1F1", +"8. c #EFEFEF", +"9. c #DFDFE0", +"0. c #919091", +"a. c #868686", +"b. c #949494", +"c. c #848484", +"d. c #4D4D4D", +"e. c #5A5A5A", +"f. c #565656", +"g. c #535353", +"h. c #F4F4F4", +"i. c #F3F2F3", +"j. c #F0F0F0", +"k. c #E9E9EA", +"l. c #E1E2E1", +"m. c #BBBCBB", +"n. c #888888", +"o. c #D0D0D0", +"p. c #515151", +"q. c #555555", +"r. c #767676", +"s. c #C4C4C3", +"t. c #EBEBEB", +"u. c #E5E6E5", +"v. c #E5E5E4", +"w. c #E6E5E5", +"x. c #6F6F6F", +"y. c #FDFDFD", +"z. c #FEFEFE", +"A. c #FCFCFC", +"B. c #F8F8F8", +"C. c #898989", +"D. c #585858", +"E. c #5E5E5E", +"F. c #666666", +"G. c #F1F0F0", +"H. c #EEEDEE", +"I. c #E4E4E5", +"J. c #BDBDBD", +"K. c #FFFFFF", +"L. c #676767", +"M. c #747474", +"N. c #E6E6E5", +"O. c #BDBDBC", +"P. c #E9EAE9", +"Q. c #F2F2F2", +"R. c #B4B4B5", +"S. c #696969", +"T. c #F6F6F6", +"U. c #9D9D9D", +"V. c #757575", +"W. c #F3F3F3", +"X. c #EFEEEE", +"Y. c #F3F3F4", +"Z. c #A2A3A2", +"`. c #767576", +" + c #7A7A7A", +".+ c #E7E7E8", +"++ c #BDBEBE", +"@+ c #F4F4F5", +"#+ c #BFBFBF", +"$+ c #F1F2F2", +"%+ c #C3C3C3", +"&+ c #FAFAFA", +"*+ c #6B6B6B", +"=+ c #979797", +"-+ c #F7F7F7", +";+ c #6D6D6D", +">+ c #BEBDBE", +",+ c #EBECEC", +"'+ c #F3F2F2", +")+ c #A5A5A5", +"!+ c #606060", +"~+ c #3B3B3B", +"{+ c #3D3D3D", +"]+ c #CDCDCD", +"^+ c #ECEBEB", +"/+ c #7D7C7D", +"(+ c #D2D2D2", +"_+ c #FBFBFB", +":+ c #636363", +"<+ c #EFEFF0", +"[+ c #EBEAEA", +"}+ c #EBEBEC", +"|+ c #484848", +"1+ c #8D8D8D", +"2+ c #F5F5F5", +"3+ c #BEBFBE", +"4+ c #838383", +"5+ c #F9F9F9", +"6+ c #F0EFF0", +"7+ c #EDECEC", +"8+ c #ECECED", +"9+ c #EEEEED", +"0+ c #F0F1F0", +"a+ c #737373", +"b+ c #6C6C6C", +"c+ c #EEEFEF", +"d+ c #ECECEB", +"e+ c #C2C2C2", +"f+ c #B5B5B5", +"g+ c #EFF0F0", +"h+ c #707070", +"i+ c #656565", +"j+ c #717171", +"k+ c #ABACAB", +"l+ c #F8F7F8", +"m+ c #B6B5B5", +"n+ c #F2F1F2", +"o+ c #D5D5D5", +"p+ c #D1D1D2", +"q+ c #D0D1D0", +"r+ c #999999", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % & * = - ; > % % % $ $ $ # . ", +". , ' # ) ! ~ { { ] ^ ^ ^ / ( _ : < [ } | . 1 ~ ) ) # ' , . ", +". 2 ) ~ 3 { ^ ^ 4 4 5 6 7 8 9 0 , ~ a b c d : e { 3 f ) , . ", +". g ~ { h i 4 6 7 j k l m n o p 8 | q r r ~ s t ^ u v ~ g . ", +". g ^ w 4 7 x l y z A A o B & m < C D E F m G 9 5 H ^ { g . ", +". 1 4 7 j l A A & I J m K L M N O & > P q Q g 9 l 7 4 4 R . ", +". 1 7 l A S & T U V V W X Y K Z ` .T ; r 4 ..+.A l @.7 1 . ", +". 1 y A & > U Z #.$ > $.%.&.*.=.#.-.V } ..;.>.,.I '.l l 1 . ", +". c ).& > V =.!.~.{.].: $ ^.+ ~./.(.l >._.D :.<.T > & A c . ", +". c > [.Z }./.|.'.1.2.3.4.5.6.7.8.{.~.9.0.a.b.-.V ;.> I c . ", +". 1.T V -./.|.7 c.r d.e.f.g.n ) h.i.7.j.k.l.T $ -.V U > m.. ", +". 1.V -.$ ~.7.} n.{.* o.^.p.q.r., 1 s.> 7.7.|.t.$ u.v. .1.. ", +". 1.w.=./.8.Z x.+ y.z.z.A.B.C.g.D.F E.F.a.L G.H./.$ w.I.1.. ", +". J.-.$ ~.j.N F.& z.z.K.K.z.y.8.|.-.Y ..L.M.$ j.~.% =.N.O.. ", +". J.=.P.{.Q.R.S.T.z.z.K.K.K.K.z.z.z.z.z.U.V.W.7.{./.$ =.J.. ", +". J.$ t.X.Y.Z.`.y.z.K.K.K.K.K.K.K.K.z.z.^. +h.Q.|.t.% .+J.. ", +". ++% ~.j.@+3.:.z.z.K.K.K.K.A.K.K.K.z.z.0 0 h.Q.|.~.% $ J.. ", +". #+t.{.$+h.n %+z.z.K.K.&+U.*+=+7.K.z.-+;+= T.Q.8.~./.% >+. ", +". #+,+|.'+h.)+%.z.z.K.K.t.!+~+{+,.K.z.l !+]+T.Q.8.~.^+/.G . ", +". #+~.8.Q.j./+^.y.z.K.K.K.r.*+(+_+z.z.c :+/.T.W.<+{.~.[+G . ", +". G }+|.Q.T.+.F.m z.z.K./.|+c K.K.z.y.1+: 2+T.Q.j.|.~.t.G . ", +". 3+~.|.7.@+A : K =.z.z.{.O A.K.K.z.y.4+>.5+2+W.6+|.7+t.G . ", +". #+8+9+0+Y.-+D a+V.* -+z.z.z.z.z.z.8 b+8 B.2+Q.j.c+{.d+G . ", +". #+{.|.j.Q.T.B.8 +E.a+* j.2+~.m e+a+f+&+B.2+Q.g+8.{.t.G . ", +". #+8+|.<+Q.Y.T.5+8.d h+i+j+r.b+L.r k+-+5+-+h.Q.j.8.{.~.G . ", +". #+8+|.<+7.W.2+l+&+&+V m+- _.; 8 .+&+&+B.T.W.n+j.8.{.}+G . ", +". c o.o.@ @ D o+) ^ A > V Z Z Z V > A i # o+D p+@ q+o.Y c . ", +". . . . . . 0 c.n.1+s >.} r+r+r+} >.s 1+n.c.0 . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_onLock.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_onLock.xpm new file mode 100644 index 0000000..74c2124 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_onLock.xpm @@ -0,0 +1,273 @@ +/* XPM */ +static char * spGreasePencil_onLock_xpm[] = { +"30 30 240 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D8D8D8", +"$ c #E8E8E8", +"% c #E9E9E9", +"& c #B8B8B8", +"* c #D8D8D7", +"= c #D9D9D9", +"- c #D9DADA", +"; c #DADADA", +"> c #DBDBDB", +", c #DBDCDB", +"' c #DCDCDC", +") c #DCDCDD", +"! c #DCDDDD", +"~ c #B9B8B8", +"{ c #DBDADA", +"] c #DDDDDD", +"^ c #DDDEDD", +"/ c #DEDEDD", +"( c #D0D0D0", +"_ c #B9B9B9", +": c #ABABAB", +"< c #A9A9A9", +"[ c #A8A8A8", +"} c #AFAFAF", +"| c #A3A3A3", +"1 c #D6D5D5", +"2 c #DAD9D9", +"3 c #DCDBDB", +"4 c #DDDCDC", +"5 c #DEDEDE", +"6 c #DFDEDE", +"7 c #DEDFDF", +"8 c #9F9F9F", +"9 c #717171", +"0 c #828282", +"a c #989898", +"b c #9E9E9E", +"c c #9B9B9B", +"d c #7C7C7C", +"e c #767676", +"f c #C0C1C1", +"g c #DBDCDC", +"h c #DBDBDA", +"i c #DDDCDD", +"j c #DEDEDF", +"k c #DFDFDF", +"l c #DFE0DF", +"m c #E0E0DF", +"n c #E0E0E0", +"o c #C2C2C2", +"p c #868686", +"q c #B1B1B1", +"r c #999999", +"s c #8B8B8B", +"t c #949494", +"u c #B7B7B7", +"v c #929292", +"w c #AEAEAE", +"x c #BABABA", +"y c #E1E1E1", +"z c #E1E1E2", +"A c #E2E2E1", +"B c #9C9C9D", +"C c #CDCDCD", +"D c #666667", +"E c #828181", +"F c #A0A0A1", +"G c #A6A6A6", +"H c #666666", +"I c #8F908F", +"J c #939393", +"K c #BABAB9", +"L c #E1E1E0", +"M c #E3E3E3", +"N c #E3E3E4", +"O c #E4E4E4", +"P c #E2E2E2", +"Q c #B6B6B6", +"R c #B5B5B5", +"S c #848484", +"T c #E5E5E5", +"U c #E4E4E3", +"V c #E4E3E4", +"W c #B7B7B6", +"X c #C3C3C3", +"Y c #747474", +"Z c #DEDFDE", +"` c #E7E6E6", +" . c #D6D6D6", +".. c #969695", +"+. c #A4A4A4", +"@. c #E7E7E7", +"#. c #E6E6E6", +"$. c #707070", +"%. c #6D6D6D", +"&. c #D8D8D9", +"*. c #E1E0E1", +"=. c #BBBBBB", +"-. c #E1E0E0", +";. c #E9EAEA", +">. c #ECECEC", +",. c #EDEDED", +"'. c #BCBCBC", +"). c #777777", +"!. c #EAEAEA", +"~. c #E8E9E9", +"{. c #909090", +"]. c #757575", +"^. c #E3E3E2", +"/. c #E6E7E6", +"(. c #EEEEEE", +"_. c #BDBDBD", +":. c #808080", +"<. c #9A9A9A", +"[. c #B3B3B3", +"}. c #888887", +"|. c #EEEFEE", +"1. c #F1F1F1", +"2. c #EFEFEF", +"3. c #D4D4D4", +"4. c #DFDEDF", +"5. c #737373", +"6. c #E3E4E3", +"7. c #727272", +"8. c #606060", +"9. c #5C5C5C", +"0. c #525252", +"a. c #5B5B5B", +"b. c #F4F4F4", +"c. c #F2F1F2", +"d. c #9D9D9D", +"e. c #EBEBEC", +"f. c #7B7B7B", +"g. c #BBBCBB", +"h. c #888888", +"i. c #F6F6F6", +"j. c #575757", +"k. c #555555", +"l. c #B0B0B0", +"m. c #C9C9C9", +"n. c #8D8D8D", +"o. c #EBEBEB", +"p. c #E5E6E5", +"q. c #E5E5E4", +"r. c #E6E5E5", +"s. c #6F6F6F", +"t. c #FDFDFD", +"u. c #FEFEFE", +"v. c #FCFCFC", +"w. c #F5F5F5", +"x. c #898989", +"y. c #535353", +"z. c #585858", +"A. c #515151", +"B. c #9C9C9C", +"C. c #F1F0F0", +"D. c #EEEDEE", +"E. c #E4E4E5", +"F. c #F0F0F0", +"G. c #CBCBCB", +"H. c #FFFFFF", +"I. c #C6C6C6", +"J. c #A1A1A1", +"K. c #646464", +"L. c #E6E6E5", +"M. c #BDBDBC", +"N. c #E9EAE9", +"O. c #F2F2F2", +"P. c #B4B4B5", +"Q. c #696969", +"R. c #F3F3F3", +"S. c #EFEEEE", +"T. c #F3F3F4", +"U. c #A2A3A2", +"V. c #767576", +"W. c #858585", +"X. c #7A7A7A", +"Y. c #E7E7E8", +"Z. c #BDBEBE", +"`. c #F4F4F5", +" + c #7F7F7F", +".+ c #BFBFBF", +"++ c #F1F2F2", +"@+ c #8A8A8A", +"#+ c #FAFAFA", +"$+ c #6B6B6B", +"%+ c #979797", +"&+ c #F7F7F7", +"*+ c #A7A7A7", +"=+ c #BEBDBE", +"-+ c #EBECEC", +";+ c #F3F2F2", +">+ c #A5A5A5", +",+ c #C5C5C5", +"'+ c #3B3B3B", +")+ c #3D3D3D", +"!+ c #ECEBEB", +"~+ c #BEBEBE", +"{+ c #7D7C7D", +"]+ c #D2D2D2", +"^+ c #FBFBFB", +"/+ c #636363", +"(+ c #EFEFF0", +"_+ c #EBEAEA", +":+ c #D7D7D7", +"<+ c #484848", +"[+ c #787878", +"}+ c #BEBFBE", +"|+ c #838383", +"1+ c #969696", +"2+ c #F9F9F9", +"3+ c #F0EFF0", +"4+ c #EDECEC", +"5+ c #ECECED", +"6+ c #EEEEED", +"7+ c #F0F1F0", +"8+ c #D3D3D3", +"9+ c #C1C1C1", +"0+ c #6C6C6C", +"a+ c #F8F8F8", +"b+ c #EEEFEF", +"c+ c #ECECEB", +"d+ c #5E5E5E", +"e+ c #EFF0F0", +"f+ c #656565", +"g+ c #676767", +"h+ c #6E6E6E", +"i+ c #ABACAB", +"j+ c #F8F7F8", +"k+ c #B6B5B5", +"l+ c #ADADAD", +"m+ c #C4C4C4", +"n+ c #D5D5D5", +"o+ c #D1D1D2", +"p+ c #D0D1D0", +"q+ c #CFCFCF", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ % % % % % % % % % % % % % % % % % % % % % $ $ $ # . ", +". & * # = - ; > > , ' ' ' ) ) ! ' ' ' ' > > ; ; = = # * & . ", +". ~ = ; { > ' ' ] ] ^ / ] ( _ : < < [ [ [ } | 1 > { 2 = & . ", +". _ ; > 3 4 ] / 5 6 7 ' 8 9 0 a 8 8 8 b c d e f ' g h ; _ . ", +". _ ' i ] 5 j k l m n o p = # q r s p t u > v w ^ ! ' > _ . ", +". x ] 5 6 k n n y z A | B C D E F G | t H I [ J k 5 ] ] K . ", +". x 5 k n L y M N O P . Q R S T U V M M W H X Y 5 k Z 5 x . ", +". x l n y P N T ` $ .e ] ..+.@.` #.T > $.< y %.&.*.k k x . ", +". =.-.y P O @.;.>.,.'.F @.). .>.!.~.#.{.r O a ].> P y n =.. ", +". =.P ^.T /.!.(.*._.:.<.[.}.|.1.2.,.3.Y 4.=.5.# O 6.P z =.. ", +". '.M O #.!.(.5 S 7.8.9.0.a.s = b.c.< d.e.f.o $ #.O N P g.. ", +". '.O #.$ >.1.a h.i.b.C %.j.k.e & l.e 3.m.n.o.o.$ p.q.V '.. ", +". '.r.@.!.2.T s.+ t.u.v.3.w.x.y.z.k.A.H %.B.C.D.!.$ r.E.'.. ", +". _.#.$ >.F.G.H y u.u.H.H.u.t.2.(.I.x J.K.9 $ F.>.% @.L.M.. ", +". _.@.N.,.O.P.Q.i.u.u.H.H.H.H.u.u.u.u.u.d.].R.1.,.!.$ @._.. ", +". _.$ o.S.T.U.V.t.u.H.H.H.H.H.H.H.H.u.u.W.X.b.O.(.o.% Y._.. ", +". Z.% >.F.`.s +u.u.H.H.H.H.v.H.H.H.u.u.0 0 b.O.(.>.% $ _.. ", +". .+o.,.++b.@+X u.u.H.H.#+d.$+%+1.H.u.&+%.*+i.O.2.>.!.% =+. ", +". .+-+(.;+b.>+,+u.u.H.H.o.8.'+)+u H.u.k 8.C i.O.2.>.!+!.~+. ", +". .+>.2.O.F.{+W.t.u.H.H.H.e $+]+^+u.u.=./+!.i.R.(+,.>._+~+. ", +". ~+e.(.O.i.[ H :+u.u.H.!.<+=.H.H.u.t.n.[+w.i.O.F.(.>.o.~+. ", +". }+>.(.1.`.n [+f.@.u.u.,.l.v.H.H.u.t.|+1+2+w.R.3+(.4+o.~+. ", +". .+5+6+7+T.&+8+5.].9+&+u.u.u.u.u.u.3.0+3.a+w.O.F.b+,.c+~+. ", +". .+,.(.F.O.i.a+3.X.d+5.9+F.w.>.:+o 5.R #+a+w.O.e+2.,.o.~+. ", +". .+5+(.(+O.T.i.2+2.q $.f+9 e 0+g+h+i+&+2+&+b.O.F.2.,.>.~+. ", +". .+5+(.(+1.R.w.j+#+#+O k+} l+m+3.Y.#+#+a+i.R.c.F.2.,.e.~+. ", +". =.( ( @ @ 8+n+= ' n P O T T T O P n 4 # n+8+o+@ p+( q+=.. ", +". . . . . . 0 S h.n.v 1+a r r r a 1+v n.h.S 0 . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_selButton.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_selButton.xpm new file mode 100644 index 0000000..0313f9a --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_selButton.xpm @@ -0,0 +1,268 @@ +/* XPM */ +static char * spGreasePencil_selButton_xpm[] = { +"30 30 235 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E7E7E7", +"* c #E9E9E9", +"= c #B8B8B8", +"- c #D8D8D7", +"; c #D7D7D7", +"> c #D8D9D9", +", c #D9D9D9", +"' c #D9D9DA", +") c #DADADB", +"! c #DADBDB", +"~ c #DBDBDB", +"{ c #DADADA", +"] c #B9B8B8", +"^ c #DAD9D9", +"/ c #D6D6D6", +"( c #D5D6D5", +"_ c #D6D6D5", +": c #DCDCDC", +"< c #DBDADA", +"[ c #D9D8D8", +"} c #B9B9B9", +"| c #DCDBDB", +"1 c #D4D4D4", +"2 c #D2D1D1", +"3 c #D2D2D2", +"4 c #D5D5D5", +"5 c #D8D7D7", +"6 c #DCDDDC", +"7 c #DDDDDD", +"8 c #DBDCDC", +"9 c #DADAD9", +"0 c #DCDBDC", +"a c #CECECE", +"b c #BBBBBA", +"c c #BABABA", +"d c #C0C0C0", +"e c #C5C5C5", +"f c #CACACA", +"g c #CFCFCF", +"h c #DEDDDD", +"i c #B7B7B7", +"j c #8E8E8E", +"k c #7B7B7A", +"l c #767676", +"m c #989898", +"n c #B4B4B4", +"o c #CDCDCD", +"p c #DBDCDB", +"q c #DEDEDE", +"r c #BABAB9", +"s c #DDDDDC", +"t c #D3D3D3", +"u c #A8A8A9", +"v c #AFAFAF", +"w c #B5B5B5", +"x c #A5A5A5", +"y c #888888", +"z c #717171", +"A c #696969", +"B c #828282", +"C c #A7A7A7", +"D c #C1C1C1", +"E c #DDDEDD", +"F c #DEDFDE", +"G c #DFDFDF", +"H c #D7D7D8", +"I c #9D9C9C", +"J c #BFBFBF", +"K c #C3C3C3", +"L c #A2A2A2", +"M c #6A6A6A", +"N c #797979", +"O c #A4A4A4", +"P c #C4C4C4", +"Q c #DEDEDF", +"R c #BBBBBB", +"S c #E0DFDF", +"T c #C9C9C9", +"U c #969696", +"V c #C2C2C2", +"W c #AAAAAA", +"X c #858585", +"Y c #6C6C6C", +"Z c #7F7F7F", +"` c #949494", +" . c #E0E0E0", +".. c #E1E1E1", +"+. c #E1E1E0", +"@. c #D9DAD9", +"#. c #939293", +"$. c #676767", +"%. c #545454", +"&. c #E1E2E1", +"*. c #E0E0E1", +"=. c #BCBCBC", +"-. c #E2E2E2", +";. c #ACACAC", +">. c #BEBEBE", +",. c #B6B6B6", +"'. c #A9A9A9", +"). c #939393", +"!. c #727272", +"~. c #909090", +"{. c #CBCCCB", +"]. c #E2E2E3", +"^. c #BBBCBB", +"/. c #E3E3E3", +"(. c #A3A3A3", +"_. c #9A9A9A", +":. c #7E7E7E", +"<. c #656565", +"[. c #3D3D3D", +"}. c #E3E3E4", +"|. c #E4E5E4", +"1. c #E4E4E3", +"2. c #E3E2E3", +"3. c #E5E4E4", +"4. c #9C9C9C", +"5. c #8A8A8A", +"6. c #686868", +"7. c #4E4E4E", +"8. c #BDBDBD", +"9. c #595959", +"0. c #878787", +"a. c #E4E3E4", +"b. c #E6E6E6", +"c. c #E5E5E5", +"d. c #E4E4E4", +"e. c #959595", +"f. c #757575", +"g. c #6F6F6F", +"h. c #9B9B9B", +"i. c #B0B0B0", +"j. c #7C7C7C", +"k. c #868686", +"l. c #6D6D6D", +"m. c #B2B2B2", +"n. c #E5E5E4", +"o. c #BDBDBC", +"p. c #E5E6E5", +"q. c #A8A8A8", +"r. c #C7C7C7", +"s. c #848484", +"t. c #E3E2E2", +"u. c #DBDBDC", +"v. c #CECFCE", +"w. c #868586", +"x. c #A6A6A6", +"y. c #C6C6C6", +"z. c #E5E5E6", +"A. c #BDBEBE", +"B. c #DDDDDE", +"C. c #929292", +"D. c #979797", +"E. c #838383", +"F. c #8D8D8D", +"G. c #A1A1A1", +"H. c #707070", +"I. c #8F8F8F", +"J. c #E6E7E7", +"K. c #9D9D9D", +"L. c #A2A1A1", +"M. c #7B7B7B", +"N. c #BEBDBE", +"O. c #E9EAEA", +"P. c #EAEAEA", +"Q. c #E9E8E8", +"R. c #B1B1B1", +"S. c #8C8C8C", +"T. c #E1E0E0", +"U. c #ECECEC", +"V. c #EBEBEB", +"W. c #E8E7E8", +"X. c #E8E8E9", +"Y. c #777777", +"Z. c #A0A0A0", +"`. c #AFAFB0", +" + c #E6E5E5", +".+ c #EAEAEB", +"++ c #EDEDED", +"@+ c #EDECED", +"#+ c #EEEEEE", +"$+ c #EFEFEF", +"%+ c #E9E9EA", +"&+ c #898989", +"*+ c #ADADAD", +"=+ c #BEBFBE", +"-+ c #EFEFF0", +";+ c #F0F0F0", +">+ c #F1F1F1", +",+ c #F2F1F2", +"'+ c #F3F3F3", +")+ c #F2F2F2", +"!+ c #EEEEED", +"~+ c #7D7D7D", +"{+ c #E7E6E6", +"]+ c #EBEBEC", +"^+ c #EDEDEC", +"/+ c #EEEFEE", +"(+ c #F3F2F3", +"_+ c #F4F4F4", +":+ c #F5F4F5", +"<+ c #F1F0F1", +"[+ c #919191", +"}+ c #EAEAE9", +"|+ c #EFEEEE", +"1+ c #F4F4F5", +"2+ c #F6F6F6", +"3+ c #F5F5F6", +"4+ c #EDECEC", +"5+ c #737373", +"6+ c #E7E8E8", +"7+ c #ECECED", +"8+ c #F2F2F3", +"9+ c #F4F5F4", +"0+ c #F7F6F7", +"a+ c #F5F5F5", +"b+ c #B3B3B3", +"c+ c #CCCCCC", +"d+ c #F7F7F7", +"e+ c #F5F4F4", +"f+ c #CBCBCB", +"g+ c #EEEDEE", +"h+ c #D3D2D3", +"i+ c #CDCCCC", +"j+ c #D0D0D1", +"k+ c #CFD0CF", +"l+ c #8B8B8B", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ # # # # # # # # # # # # # # # # # @ @ @ @ @ @ @ @ + . ", +". $ % & % % % % & & & & & % % % % % % % % % * * * % % % $ . ", +". = - ; $ > , , $ $ $ $ , ' ) ! ~ ~ ~ ~ { { , , , , $ - = . ", +". ] , , ^ { { , ; / ( _ ; $ , { ~ : : : : ~ ~ < { ^ [ , = . ", +". } , { < | { - 1 2 # @ 3 1 4 5 , ~ : 6 : 7 : 8 ~ ! 9 , } . ", +". } ~ 0 : : ' / a b c d e f g 3 4 - { ~ 7 7 7 7 6 8 ~ { } . ", +". c : 7 h : { 1 i j k l . m n e o 3 / $ { p : 7 q 7 : : r . ", +". c 7 q q s , t u v w x y z A B C D o 3 4 $ ~ 7 q q E 7 c . ", +". c F G q : H @ I J K J c w L . M N O P o t $ : Q G q q c . ", +". R S G q ~ 4 T U P V D D D J } W X Y Z ` e 4 ~ G . .G R . ", +". R ..+.G @.3 c #.J D D D D D D D R L $.%.W 4 : .&...*.R . ", +". =.-...q , # ;.` >.J } ,.D D D n '.).!.~.{., q ..-.]...^.. ", +". =./.-.G $ a (._.= L :.z ,.D = <.[.A L f / 7 ..}.|.1.2.=.. ", +". =.3./.G , a 4.U 5.6.<.7.x D 8.).9.0.e 3 { .a.b.b.3.}.=.. ", +". 8.c.d. ., a e.f.g.h.i.j.k.=.D c j l.m.3 { ..d.b.b.b.n.o.. ", +". 8.b.p...) o X <.q.e r.C g.= D D n N s.K ; 7 -.c.b.b.b.8.. ", +". 8.& b.t.u.v.w.N P a o =.z x.J D d q.z ~.y.; : ..d.b.z.8.. ", +". A.% & d.B.3 C.D.o 1 t y.E.F.R D D d G.H.I.>.t ~ ./.c.8.. ", +". >.* % J...{ V y.; ~ , g K.j.= D D D d L.f.M.C o 7 -.c.N.. ", +". >.O.P.Q.c...7 7 .-.G / i z m.D D D D D R.S.Y K.1 T.c.>.. ", +". >.P.U.V.* W.b.& % X.d.: y.Y.(.J D D D D V Z.N `.$ .. +>.. ", +". >..+U.U.++++@+#+$+#+%+ .a &+I.8.D D D V *+E.Z.# q /.& >.. ", +". =+V.U.#+-+;+>+,+'+)+!+d.4 L ~+*+D D V i.y ).T : -.{+% >.. ", +". J ]+^+/+-+>+(+_+:+_+<+* : R f.F.= V *+0.[+y.: /.& * }+>.. ", +". J U.++|+;+)+'+1+2+3+'+4+2.a k.5+C (.B e.y.7 d.6+V.V.P.>.. ", +". J 7+#+-+>+8+_+9+2+0+a+>+* 7 b+X S.E.Z.c+q c.P.U.++U.V.>.. ", +". J 7+#+-+>+)+_+:+2+d+d+e+$+& 7 f+} V 4 .b.V.g+#+#+U..+>.. ", +". R # # @ @ 3 3 3 3 t t h+3 # a c+T f i+a g # j+# k+g a R . ", +". . . . . . . . . . . . B s.y l+I.[+~.F.&+X E.B . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_storeButton.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_storeButton.xpm new file mode 100644 index 0000000..5ef3cbf --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_storeButton.xpm @@ -0,0 +1,252 @@ +/* XPM */ +static char * spGreasePencil_storeButton_xpm[] = { +"30 30 219 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #838383", +"# c #858585", +"$ c #888888", +"% c #8C8C8C", +"& c #919191", +"* c #989898", +"= c #9F9F9F", +"- c #A6A6A6", +"; c #A8A8A8", +"> c #A5A5A5", +", c #969696", +"' c #8E8E8E", +") c #848484", +"! c #C8C8C8", +"~ c #D1D1D1", +"{ c #D2D2D2", +"] c #D3D3D3", +"^ c #D5D5D5", +"/ c #D7D7D7", +"( c #DADADA", +"_ c #DDDDDD", +": c #E1E1E1", +"< c #E5E5E5", +"[ c #999999", +"} c #C5C5C5", +"| c #E4E4E4", +"1 c #DFDFDF", +"2 c #D6D6D6", +"3 c #D8D8D8", +"4 c #E8E8E8", +"5 c #EAEAEA", +"6 c #EBEBEB", +"7 c #EDEDED", +"8 c #EFEFEF", +"9 c #F1F1F1", +"0 c #F3F3F3", +"a c #E0E0E0", +"b c #C6C6C6", +"c c #747474", +"d c #787878", +"e c #929292", +"f c #B4B4B4", +"g c #F0F0F0", +"h c #E9E9E9", +"i c #B8B8B8", +"j c #D8D8D7", +"k c #D9D9D9", +"l c #DCDCDC", +"m c #DBDBDB", +"n c #898989", +"o c #6E6E6E", +"p c #B5B5B5", +"q c #7B7B7B", +"r c #C3C3C3", +"s c #E6E6E6", +"t c #B9B8B8", +"u c #DFDEDE", +"v c #E3E3E3", +"w c #7C7C7C", +"x c #ABABAB", +"y c #C9C9C9", +"z c #FDFDFD", +"A c #FCFCFC", +"B c #9D9D9D", +"C c #DCDBDB", +"D c #DBDADA", +"E c #DAD9D9", +"F c #B9B9B9", +"G c #7A7A7A", +"H c #FEFEFE", +"I c #959595", +"J c #EEEEEE", +"K c #E7E8E7", +"L c #DEDEDE", +"M c #DCDDDD", +"N c #DBDCDC", +"O c #DBDBDA", +"P c #DFDEDF", +"Q c #E2E2E2", +"R c #A2A2A2", +"S c #5E5E5E", +"T c #C4C4C4", +"U c #D0D0D0", +"V c #F8F8F8", +"W c #AEAEAE", +"X c #6C6C6B", +"Y c #DEDFDE", +"Z c #BBBBBB", +"` c #E6E5E5", +" . c #F2F2F2", +".. c #585858", +"+. c #4D4D4D", +"@. c #494949", +"#. c #474747", +"$. c #5B5B5B", +"%. c #8D8D8D", +"&. c #C1C1C1", +"*. c #EAEBEA", +"=. c #E7E7E7", +"-. c #BABAB9", +";. c #BCBCBC", +">. c #CDCDCD", +",. c #555555", +"'. c #707070", +"). c #BEBEBE", +"!. c #9A9A9A", +"~. c #666666", +"{. c #5A595A", +"]. c #868686", +"^. c #DFE0DF", +"/. c #BABABA", +"(. c #E2E3E2", +"_. c #D4D4D4", +":. c #8F8F8F", +"<. c #717171", +"[. c #8B8B8B", +"}. c #FFFFFF", +"|. c #ACACAC", +"1. c #484848", +"2. c #626262", +"3. c #535353", +"4. c #5C5C5C", +"5. c #676767", +"6. c #777777", +"7. c #E8E8E9", +"8. c #E4E3E4", +"9. c #E5E4E4", +"0. c #C0C0C0", +"a. c #797979", +"b. c #FBFCFC", +"c. c #CECECE", +"d. c #A7A7A7", +"e. c #4C4C4C", +"f. c #767676", +"g. c #CFCFCF", +"h. c #ECECEC", +"i. c #F4F4F4", +"j. c #F5F5F5", +"k. c #6B6B6B", +"l. c #7E7E7E", +"m. c #6F6F6F", +"n. c #C7C7C7", +"o. c #E1E1E2", +"p. c #656465", +"q. c #515151", +"r. c #595959", +"s. c #E5E5E6", +"t. c #BBBCBB", +"u. c #BDBDBD", +"v. c #B7B7B7", +"w. c #757575", +"x. c #E7E7E6", +"y. c #E7E6E6", +"z. c #B3B3B3", +"A. c #464646", +"B. c #4E4E4E", +"C. c #9B9B9B", +"D. c #F6F6F6", +"E. c #E8E7E7", +"F. c #E4E4E5", +"G. c #B0B0B0", +"H. c #5D5D5D", +"I. c #4B4B4B", +"J. c #7F7F7F", +"K. c #BDBDBC", +"L. c #4A4A4A", +"M. c #737373", +"N. c #F1F0F0", +"O. c #5A5A5A", +"P. c #727272", +"Q. c #FBFBFB", +"R. c #646464", +"S. c #656565", +"T. c #6C6C6C", +"U. c #BEBFBF", +"V. c #939393", +"W. c #CCCCCC", +"X. c #4F4F4F", +"Y. c #B6B6B6", +"Z. c #BFBFBF", +"`. c #F2F3F3", +" + c #B1B1B1", +".+ c #A9A9A9", +"++ c #5F5F5F", +"@+ c #BFBEBF", +"#+ c #EBECEC", +"$+ c #525252", +"%+ c #EFEEEE", +"&+ c #CBCBCB", +"*+ c #ECEBEB", +"=+ c #EBEBEC", +"-+ c #A1A1A1", +";+ c #F9F9F9", +">+ c #BEBFBE", +",+ c #EEEDED", +"'+ c #ECECED", +")+ c #EEEEED", +"!+ c #F0F1F0", +"~+ c #F3F3F4", +"{+ c #F7F7F7", +"]+ c #C3C2C3", +"^+ c #AAAAAA", +"/+ c #808080", +"(+ c #F0F1F1", +"_+ c #ECECEB", +":+ c #9C9C9D", +"<+ c #F1F2F2", +"[+ c #EFEFF0", +"}+ c #F4F4F5", +"|+ c #777877", +"1+ c #F9F8F9", +"2+ c #F3F2F3", +"3+ c #E5E4E5", +"4+ c #D3D3D4", +"5+ c #D0D1D0", +"6+ c #878787", +". . . . + @ # $ % & * = - ; > = , ' $ ) + . . . . . . . . . ", +". ! ~ ~ { ] ^ / ( _ : < ! [ } | 1 ( 2 ] ~ ~ ~ ~ ~ ~ ~ ~ ! . ", +". 3 4 4 5 6 7 8 9 0 a b @ c d e f g 7 6 h h h h h 4 4 4 3 . ", +". i j k l a < m f n o o = k p # q r s : _ m ( ( k k 3 j i . ", +". t k m u v ^ n w x y 7 z z A 0 d B 5 | a _ l C m D E k i . ", +". F ( l a s ^ G % A z H H H H A I @ J K v a L M l N O ( F . ", +". F l P Q 4 8 R S T v R U J V z W X 3 7 4 | Q a Y M l m F . ", +". Z L : ` 6 9 .S ..+.@.#.+.$.%.} S &. .J *.=.| : 1 _ _ -.. ", +". ;.a | h 8 >.& ,.'.).l p !.~.@.( {.].3 j ~ 7 h < : ^.L /.. ", +"+ ;.(.=._.:.<.[.2 H H }.}.}.|.1.2 2.3.4.5.6.I : 7.8.a 1 /.. ", +"+ ).9.h 0.a.F b.H H }.}.}.}.c.1.d.).e.f.g.Z f.c.h.s Q a Z . ", +"+ ).< 5 v # 6.i.H H }.}.}.}.j.S k.V l.+.).Q m.n.7 4 | o.Z . ", +"+ ).s 5 g ).p.p H H }.}.}.}.}.@ q.h a r.3.% k.F 8 h s.Q t.. ", +". u.s h 8 g d 4.J H }.}.}.}.}.r #.o 4.@...v.w.d.g *.x.8.;.. ", +". u.y.h J 0 v.$.z.H }.}.}.}.}.1 A.B.C._.D.A + & 9 h.E.F.;.. ", +". u.=.5 J 0 G.H.~.D.}.}.}.}.}.}.@ I._.}.H H [ J.0 J h x.K.. ", +". u.4 *.8 i.%.<.B.v.}.}.}.}.}.}.m L.* }.H H G.M.v 8 6 4 ).. ", +". ).h h.N.F.f.T O.P.z }.}.}.}.}.Q.R.S.V H H ! T.2 9 h.7.).. ", +". U.5 7 9 c.m.< V.I.W.}.}.}.}.}.z %.X.=.H H v T.Y. .7 h ).. ", +". Z.6 J `.y k.z. ++.T./ _ _ W..+) ++) i.H H Q.+ !.0 7 5 @+. ", +". Z.#+8 0 >.o r.+.@.1.1.1.1.1.@.X.$+O.S.f.l.[.w.:.0 %+6 Z.. ", +". Z.h.8 0 a G ) &+y y y y y y 0.Y.* % J.w.4.<.c d.0 8 *+Z.. ", +". ).=+J .D.-+o Q H H }.}.}.}.}.}.}.}.H z ;+z.n 7 .J h.Z.. ", +". >+h.J 9 j.: w ].j.H H }.}.}.}.}.}.H H H >.w l j.9 ,+6 ).. ", +". Z.'+)+!+~+{+]+'.^+H H H H H H H H H H < /+W.D.0 (+J _+).. ", +". Z.7 J N.0 D.;+:+6.^ h < =.4 4 4 4 4 s V. +V j.<+g 7 6 ).. ", +". Z.'+J [+ .}+{+^.].a.<.T.'.<.<.<.P.|+. R {+D.i.9 8 7 h.).. ", +". Z.'+J [+9 0 D.1+m >.! ! &+W.W.W.W.c._.;+V j.2+g 8 7 =+).. ", +". Z U U ~ { _./ m 1 Q | 3+< < < 3+| v a _ k 2 4+~ 5+U g.Z . ", +". . . . . + ) 6+% e , * [ [ [ [ [ * , V.' n # @ . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_title.png b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_title.png new file mode 100644 index 0000000..581cdf1 Binary files /dev/null and b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_title.png differ diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_tmpOff.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_tmpOff.xpm new file mode 100644 index 0000000..0b857d9 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_tmpOff.xpm @@ -0,0 +1,238 @@ +/* XPM */ +static char * spGreasePencil_tmpOff_xpm[] = { +"30 30 205 2", +" c None", +". c #818181", +"+ c #828282", +"@ c #C7C7C7", +"# c #D0D0D0", +"$ c #858585", +"% c #D5D5D5", +"& c #E3E3E3", +"* c #E5E5E5", +"= c #E6E6E6", +"- c #E7E7E7", +"; c #E8E8E8", +"> c #D7D7D7", +", c #898989", +"' c #B9B9B9", +") c #D2D2D1", +"! c #D2D2D2", +"~ c #D4D4D4", +"{ c #D5D6D6", +"] c #D9D9D9", +"^ c #D9DAD9", +"/ c #DADADA", +"( c #D8D8D8", +"_ c #D8D8D9", +": c #DBDBDB", +"< c #D6D6D6", +"[ c #D7D7D6", +"} c #B8B8B8", +"| c #8C8C8C", +"1 c #BABABA", +"2 c #C8C8C8", +"3 c #CFCFCF", +"4 c #D2D1D1", +"5 c #D3D3D3", +"6 c #D8D9D8", +"7 c #D6D5D5", +"8 c #D7D6D6", +"9 c #8D8D8D", +"0 c #BBBBBB", +"a c #BEBEBE", +"b c #B5B5B5", +"c c #CAC9C9", +"d c #D1D0D0", +"e c #D6D6D5", +"f c #CECECE", +"g c #D3D4D4", +"h c #8B8B8B", +"i c #AAAAAA", +"j c #C4C4C4", +"k c #CECECF", +"l c #D1D1D1", +"m c #D2D3D2", +"n c #C9C9C9", +"o c #B3B3B3", +"p c #A3A3A3", +"q c #CBCBCB", +"r c #B6B6B6", +"s c #C4C5C4", +"t c #D4D5D5", +"u c #888888", +"v c #C0BFBF", +"w c #9F9F9F", +"x c #CDCDCD", +"y c #989898", +"z c #8B8B8C", +"A c #ACACAC", +"B c #BFBFC0", +"C c #ACABAB", +"D c #CCCCCC", +"E c #C9CAC9", +"F c #AEAEAE", +"G c #C2C2C2", +"H c #BABAB9", +"I c #999999", +"J c #B1B1B1", +"K c #C6C6C6", +"L c #B7B7B7", +"M c #909090", +"N c #BCBCBC", +"O c #7B7B7B", +"P c #C5C5C5", +"Q c #C3C3C2", +"R c #A2A2A2", +"S c #DBDCDB", +"T c #DCDCDC", +"U c #8E8E8E", +"V c #C1C1C1", +"W c #919191", +"X c #A6A6A6", +"Y c #BDBDBD", +"Z c #A3A4A3", +"` c #DEDEDE", +" . c #DEDDDD", +".. c #B0B0B0", +"+. c #868686", +"@. c #A5A5A5", +"#. c #C0C0C0", +"$. c #DDDDDD", +"%. c #DFDFDF", +"&. c #E0E0E0", +"*. c #DEDEDD", +"=. c #D4D5D4", +"-. c #A9A9A9", +";. c #7C7C7C", +">. c #BFBFBF", +",. c #848484", +"'. c #707070", +"). c #DDDEDD", +"!. c #E0E0E1", +"~. c #E1E1E1", +"{. c #CCCBCC", +"]. c #7E7E7E", +"^. c #A8A8A8", +"/. c #929292", +"(. c #7D7D7D", +"_. c #BBBCBB", +":. c #C2C1C1", +"<. c #949494", +"[. c #737373", +"}. c #C0BFC0", +"|. c #D7D7D8", +"1. c #E2E2E1", +"2. c #E3E2E3", +"3. c #E3E2E2", +"4. c #B2B2B2", +"5. c #7A7A7A", +"6. c #E2E1E1", +"7. c #E3E3E4", +"8. c #979797", +"9. c #808080", +"0. c #9C9C9C", +"a. c #878787", +"b. c #E2E2E2", +"c. c #E4E4E3", +"d. c #BDBDBC", +"e. c #E4E4E4", +"f. c #E2E3E2", +"g. c #DDDDDE", +"h. c #E0E0DF", +"i. c #727272", +"j. c #474747", +"k. c #838383", +"l. c #5E5E5E", +"m. c #636363", +"n. c #C3C3C3", +"o. c #CACACA", +"p. c #DEDEDF", +"q. c #4E4E4E", +"r. c #383838", +"s. c #4A4A4A", +"t. c #717171", +"u. c #969696", +"v. c #9A9A9A", +"w. c #6B6B6B", +"x. c #9D9D9D", +"y. c #BDBEBE", +"z. c #D9D9DA", +"A. c #D5D5D4", +"B. c #ABABAB", +"C. c #5B5B5B", +"D. c #676767", +"E. c #616161", +"F. c #666666", +"G. c #9E9E9E", +"H. c #7F7F7F", +"I. c #B4B4B4", +"J. c #959595", +"K. c #767676", +"L. c #5D5D5D", +"M. c #797979", +"N. c #9B9B9B", +"O. c #8A8A8A", +"P. c #BEBDBE", +"Q. c #E5E6E6", +"R. c #494949", +"S. c #A4A4A4", +"T. c #A0A0A0", +"U. c #B8B9B8", +"V. c #DADADB", +"W. c #E8E7E7", +"X. c #787878", +"Y. c #656565", +"Z. c #555555", +"`. c #E9E9E9", +" + c #BEBFBE", +".+ c #696969", +"++ c #5C5C5C", +"@+ c #E4E4E5", +"#+ c #C9C9CA", +"$+ c #6F6F6F", +"%+ c #646464", +"&+ c #E0E1E1", +"*+ c #E8E8E7", +"=+ c #A1A1A1", +"-+ c #A7A7A7", +";+ c #D6D7D6", +">+ c #B2B1B2", +",+ c #ADADAD", +"'+ c #E1E0E1", +")+ c #B0AFB0", +"!+ c #CECDCE", +"~+ c #D1D0D1", +"{+ c #C5C5C6", +"]+ c #939393", +"^+ c #8F8F8F", +". + + + . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"+ @ # # # # # # # # # # # # # # # # # # # # # # # # # # @ . ", +"$ % & & * = - ; ; ; ; - = = = - - ; ; ; ; ; - - - = = - > . ", +", ' ) ! ~ { > ] ] ^ / ] ( ( _ ] ] / : : / ] > > < < < [ } . ", +"| 1 2 3 4 5 < ( / ] 6 [ % % % > ( / / : / ( < % % 7 8 > } . ", +"9 0 a b c d 5 e > 8 % 5 3 f 3 ! % > ] ^ ( < 5 f @ g [ ( ' . ", +"h 0 3 a i j k l m ! # n o p 1 q 3 5 < > < 5 q r s t > ] ' . ", +"u 0 5 # v w 1 q x q 1 y z A B C 1 D l ! l E F G ! < ] : H . ", +"$ 1 > ~ 3 1 I J K L . M r G N h O i P x Q R } l % ( S T 1 . ", +"+ 1 : ( ~ f b U i V 0 a V V V 0 I W X Y y Z n l > : T ` 1 . ", +". 0 .: > ! q ..+.@.#.V V V V V Y a ' W U F q ! ( $.%.%.0 . ", +". 0 &.*./ =.f K -.;.X >.V V V V V 1 M ,.U '...l ( ).&.!.0 . ", +". N ~.%.: % {.A j X ].^.V V V V 0 /.O J L (.9 q ( $.!.~._.. ", +". N ~.%./ 5 o 1 f n X . F :.V 0 <.[.A V }.R O P |.` 1.2.N . ", +". N 3.%./ x ' ! % 5 q R + 4.Y y [.@.N V V L 5.G ( ` 6.7.N . ", +". Y & ~.$.> ~ / T / % n 8.9.M '.0.8.a.J V N . P > ` b.c.d.. ", +". Y e.f.&.g.g.h.&.%.] # N i.j.k.h l.m.].N n.i o.% T b.e.Y . ", +". Y * & ~.p.%.~.b.%.( D M q.r.s.t.u.v.w.x.G j Y o./ &.7.Y . ", +". y.= & %.z.T %.%.T A.B.C.D.'.E.F.U G.G.H.I.#.J.4.> %.& Y . ", +". a * b.$.n.! / / < Y O K.9 B.+ L.C.@.G.M.N.o O.V ( &.e.P.. ", +". a Q.~./ b V 5 5 >.| y w ^.M x.].R.;., [.N.O.F ~ T 3.= a . ", +". a * ~.] G Y D 0 O.v.S.B.v.U T.,.,.R.C.J.U.#.! V.~.= W.a . ", +". a = b./ ! q r ,.8.1 X.N., R I , G.Y.Z.J.j 3 < ` e.- `.a . ", +"+ += ~.: 5 >.O.<.} L H.W U J.y I | u..+++w q > ` e.W.`.a . ", +"k.>.@+h.6 #+I 8.y I X I ,.i X.$+%+l.[.(.O.9.A 3 : &+* *+a . ", +",.>.~.: # ^.=+@ j G., ..n.q ../.h u.I.j n -+O.J l T ~.e.a + ", +"+.>.$.% o =+o.< ;+# >+u.Y ~ ( ( ~ < ] / ( # ,+U J 3 T b.a ,.", +"u >./ 1 =+@ / %.'+%./ # 7 &.* = = = = * b.$.5 )+W N.l p.a $ ", +"a.N 2 -.I.2 D x f f x D !+3 # l ~+# # # 3 x q {+F 8.Y n N +.", +"+.| ]+u.y J.^+O.u , | 9 | , a.+.$ $ $ $ a.h W y N.8.y W O.$ "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_tmpOn.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_tmpOn.xpm new file mode 100644 index 0000000..517ff54 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_tmpOn.xpm @@ -0,0 +1,253 @@ +/* XPM */ +static char * spGreasePencil_tmpOn_xpm[] = { +"30 30 220 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E7E7E7", +"* c #E6E6E6", +"= c #E9E9E9", +"- c #B8B8B8", +"; c #D8D8D7", +"> c #D7D7D7", +", c #D8D9D9", +"' c #D9D9D9", +") c #DADADA", +"! c #DADBDA", +"~ c #D8D8D9", +"{ c #DBDBDB", +"] c #B9B8B8", +"^ c #DAD9D9", +"/ c #D8D9D8", +"( c #D6D6D6", +"_ c #D5D5D5", +": c #DCDCDC", +"< c #DBDADA", +"[ c #B9B9B9", +"} c #DCDBDB", +"| c #DCDCDB", +"1 c #D9D8D8", +"2 c #D3D3D3", +"3 c #CFCFCF", +"4 c #D3D2D2", +"5 c #DBDCDB", +"6 c #DDDDDD", +"7 c #DBDCDC", +"8 c #DADBDB", +"9 c #DADAD9", +"0 c #DCDBDC", +"a c #DCDCDD", +"b c #D9DAD9", +"c c #D6D6D5", +"d c #D2D2D2", +"e c #CCCCCC", +"f c #AAAAAA", +"g c #BDBDBD", +"h c #D4D4D4", +"i c #DEDEDE", +"j c #DCDDDC", +"k c #BABABA", +"l c #DEDDDD", +"m c #C3C3C3", +"n c #A7A7A7", +"o c #9E9E9E", +"p c #B7B7B7", +"q c #C6C6C6", +"r c #B4B3B3", +"s c #BEBEBF", +"t c #CECECE", +"u c #BABAB9", +"v c #DFDFDF", +"w c #DFDFDE", +"x c #D6D6D7", +"y c #C9C9C9", +"z c #A3A3A3", +"A c #ADADAD", +"B c #919190", +"C c #B4B4B4", +"D c #DDDEDD", +"E c #DEDFDE", +"F c #DDDDDE", +"G c #D8D7D7", +"H c #D4D4D3", +"I c #CDCDCD", +"J c #B3B3B3", +"K c #A9A9A9", +"L c #DFDEDF", +"M c #BBBBBB", +"N c #E0DFDF", +"O c #D9DADA", +"P c #DADADB", +"Q c #D8D7D8", +"R c #E1E1E1", +"S c #E0E0DF", +"T c #D9D8D9", +"U c #E3E2E2", +"V c #E3E3E2", +"W c #E1E2E1", +"X c #DFDEDE", +"Y c #CECECF", +"Z c #AFAFAF", +"` c #8D8D8D", +" . c #E0E0E0", +".. c #E0E0E1", +"+. c #BCBCBC", +"@. c #C2C2C2", +"#. c #E2E2E2", +"$. c #E5E5E5", +"%. c #C6C6C7", +"&. c #939393", +"*. c #999999", +"=. c #BBBCBB", +"-. c #C7C7C7", +";. c #E4E4E4", +">. c #E7E6E6", +",. c #E2E1E1", +"'. c #D7D7D6", +"). c #CDCCCD", +"!. c #B0B0B0", +"~. c #888888", +"{. c #E2E2E1", +"]. c #E3E2E3", +"^. c #E3E3E3", +"/. c #E6E7E6", +"(. c #C1C1C1", +"_. c #868585", +":. c #C4C4C4", +"<. c #E3E3E4", +"[. c #E4E5E5", +"}. c #DDDCDC", +"|. c #C0C0C0", +"1. c #CACACA", +"2. c #8A8A8A", +"3. c #E4E4E3", +"4. c #BDBDBC", +"5. c #E2E3E2", +"6. c #DEDEDF", +"7. c #A0A0A0", +"8. c #747474", +"9. c #767676", +"0. c #AEAEAE", +"a. c #CBCBCB", +"b. c #DFE0DF", +"c. c #E6E6E5", +"d. c #979696", +"e. c #7A7A7A", +"f. c #7D7D7D", +"g. c #808080", +"h. c #9B9B9B", +"i. c #727272", +"j. c #A2A2A2", +"k. c #C5C5C5", +"l. c #BDBEBE", +"m. c #DEDEDD", +"n. c #949494", +"o. c #8B8B8B", +"p. c #838383", +"q. c #959595", +"r. c #9F9F9F", +"s. c #828282", +"t. c #B6B6B6", +"u. c #969696", +"v. c #B2B2B2", +"w. c #BEBEBE", +"x. c #DDDEDE", +"y. c #C0C0C1", +"z. c #A6A6A6", +"A. c #7F7F7F", +"B. c #ABABAB", +"C. c #7B7B7B", +"D. c #9D9D9D", +"E. c #BEBDBE", +"F. c #E5E6E6", +"G. c #ACACAC", +"H. c #919191", +"I. c #A5A5A5", +"J. c #8E8E8E", +"K. c #777777", +"L. c #909090", +"M. c #B1B1B1", +"N. c #868686", +"O. c #8C8C8C", +"P. c #BFBFBF", +"Q. c #E8E7E7", +"R. c #E7E7E8", +"S. c #8C8C8D", +"T. c #898989", +"U. c #A1A1A1", +"V. c #C3C4C4", +"W. c #BEBFBE", +"X. c #E2E2E3", +"Y. c #989898", +"Z. c #E9E8E9", +"`. c #EAEAEA", +" + c #EBEAEA", +".+ c #EAEAEB", +"++ c #EBEBEA", +"@+ c #EAEBEA", +"#+ c #878787", +"$+ c #787878", +"%+ c #6F6F6F", +"&+ c #646464", +"*+ c #606060", +"=+ c #797979", +"-+ c #8F8F8F", +";+ c #ECECEC", +">+ c #ECEDED", +",+ c #EDECEC", +"'+ c #EBEBEB", +")+ c #979797", +"!+ c #EDEDED", +"~+ c #EDEEEE", +"{+ c #EEEEEE", +"]+ c #EBEBEC", +"^+ c #EDEDEE", +"/+ c #E0E1E0", +"(+ c #B5B4B5", +"_+ c #EFEFEF", +":+ c #EEEEEF", +"<+ c #E8E7E8", +"[+ c #D6D5D5", +"}+ c #E6E6E7", +"|+ c #F0F0F0", +"1+ c #F0EFF0", +"2+ c #CECDCE", +"3+ c #D1D0D1", +"4+ c #D0D0D1", +"5+ c #CFD0CF", +"6+ c #858585", +"7+ c #848484", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ # # # # # # # # # # # # # # # # @ @ @ @ @ @ + . ", +". $ % % % % % % % % % & * * * & & % % % % % % = = % % % $ . ", +". - ; > $ , ' ) ) ! ) ' $ $ ~ ' ' ) { { ) ) ' ' ' ' $ ; - . ", +". ] ' ' ^ ) { { { ) / > ( _ _ > $ ) { : : { { < ) < ^ ' - . ", +". [ ) ) < } : | ) 1 ( 2 # 3 # 4 _ $ ) 5 : 6 : 7 { 8 9 ' [ . ", +". [ { 0 : 6 a { b c d e - f g e # h > { 6 6 i 6 j 7 { ) [ . ", +". k : 6 l i 6 { $ 2 m n o p q r s t h / { j 6 6 i 6 : : u . ", +". k 6 i v w 6 { x y z A q 3 y z B C e _ $ ) : 6 i i D 6 k . ", +". k E v v v F ) G h # d _ c H I J K - # h ( ' { F L i i k . ", +". M N v v i : O $ $ ' P 6 6 { $ d 3 3 # e q 2 Q : i v v M . ", +". M R S v 5 ' > T { v R U V W X ! > h Y Z ` M h ) E ...M . ", +". +.R .6 ' 2 @.$ i #.$.* * $.#.v { > d %.&.*.I ' i ..R =.. ", +". +.R v { _ +.-.{ .;.& & >.;.,.i { '.d ).!.~.-.$ E {.].+.. ", +". +.U v { t g > i ^.* /.$.^. .6 ' h # # I (._.:.$ i ,.<.+.. ", +". g ^.R 6 $ _ 6 #.[.$.;. .}.1 2 I J z |.1.:.2.-.> i #.3.4.. ", +". g ;.5. .F 6.{.;.* ;.i > 3 |.+.7.8.9.` @.-.0.a._ : #.;.g . ", +". g $.^.R v b.].c.$. .> p d.e.f.g.h.o i.j.:.k.g a.) .<.g . ", +". l.* ^.v P i #.$.;.m.+ n.o.p.j.*.q.r.r.s.t.(.u.v.> v ^.g . ", +". w.$.#.x.q ( v ^.#.) y.r.q.A n.z.A.B.r.C.D.C o.(.' .;.E.. ", +". w.F.R } +.a.6 .v ' e G.B.H.o &.2.I.J.K.r.L.M._ 6 U * w.. ", +". w.* ^.: e ).{ i : ( - v.D.J.7.N.j.O.e.r.P.q ( 6 #.* Q.w.. ", +". w.R.$. .: { 0 { > t S.z O.z *.T.7.p.U.V.@ $ i ^.& = = w.. ", +". W.= % * X. .: > # m O.u.L.u.Y.*.` D.n.f h i $.Z.`. +`.w.. ", +". P..+++@+R.;.0 +.A !.o #+f $+%+&+*+=+-+@.{ ;.= ;+>+;+++w.. ", +". P.;+;+,+'+= #.h A H.v.m a.!.&.o.)+- e { ^.= !+~+{+;+`.w.. ", +". P.]+!+^+{+]+& /+_ (+Y.w.h $ $ h > 5 .$.= !+_+_+{+;+'+w.. ", +". P.]+!+:+_+{+;+<+#.{ # [+ .$.* * }+% `.;+_+|+1+_+{+;+]+w.. ", +". M 3 3 # # @ # # t I e 2+3 # @ 3+# @ @ @ @ @ 4+# 5+3 3 M . ", +". . . . . . s.p.6+~.o.` O.T.#+N.6+6+7+p.s.s.. . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_up.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_up.xpm new file mode 100644 index 0000000..8afcb48 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_up.xpm @@ -0,0 +1,293 @@ +/* XPM */ +static char * spGreasePencil_up_xpm[] = { +"30 30 260 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D1D1D1", +"# c #D0D0D0", +"$ c #D8D8D8", +"% c #E8E8E8", +"& c #E9E9E9", +"* c #E7E7E7", +"= c #B8B8B8", +"- c #D8D8D7", +"; c #D9D9D9", +"> c #D8D9D9", +", c #DADADA", +"' c #DADBDA", +") c #DBDBDB", +"! c #D9D9DA", +"~ c #D9DADA", +"{ c #B9B8B8", +"] c #DAD9D9", +"^ c #DCDCDC", +"/ c #DBDCDB", +"( c #DADAD9", +"_ c #D7D7D7", +": c #DBDADA", +"< c #B9B9B9", +"[ c #DCDBDB", +"} c #DDDDDC", +"| c #D5D5D5", +"1 c #D3D3D3", +"2 c #D2D2D2", +"3 c #D4D3D3", +"4 c #DDDDDD", +"5 c #DBDCDC", +"6 c #DBDBDA", +"7 c #DCDBDC", +"8 c #DDDDDE", +"9 c #DCDDDC", +"0 c #CFCFCF", +"a c #B6B6B6", +"b c #ACACAC", +"c c #D4D4D4", +"d c #DEDEDE", +"e c #BABABA", +"f c #DEDDDD", +"g c #D4D4D3", +"h c #CDCDCD", +"i c #919191", +"j c #636363", +"k c #585858", +"l c #727171", +"m c #A3A3A3", +"n c #D8D9D8", +"o c #DFDFDF", +"p c #BABAB9", +"q c #D7D7D8", +"r c #8E8E8E", +"s c #373737", +"t c #2A2A2A", +"u c #343434", +"v c #636362", +"w c #AEADAE", +"x c #CECECE", +"y c #E0E0E0", +"z c #DDDEDD", +"A c #DEDFDE", +"B c #DADADB", +"C c #D3D2D2", +"D c #CCCCCC", +"E c #2E2E2E", +"F c #202020", +"G c #101010", +"H c #3B3B3B", +"I c #484848", +"J c #4E4E4E", +"K c #B5B5B5", +"L c #E0E0E1", +"M c #E0DFE0", +"N c #BBBBBB", +"O c #E0DFDF", +"P c #D6D6D6", +"Q c #D0D1D1", +"R c #C4C4C4", +"S c #828282", +"T c #292929", +"U c #161616", +"V c #060606", +"W c #1A1A1A", +"X c #2C2C2C", +"Y c #333333", +"Z c #3D3D3D", +"` c #686868", +" . c #BDBDBD", +".. c #E1E0E1", +"+. c #E1E1E1", +"@. c #DFDFDE", +"#. c #D6D7D6", +"$. c #B2B2B2", +"%. c #737373", +"&. c #2B2B2B", +"*. c #131313", +"=. c #1D1D1D", +"-. c #434343", +";. c #0B0B0B", +">. c #303030", +",. c #242424", +"'. c #181818", +"). c #3E3E3E", +"!. c #767676", +"~. c #C3C2C3", +"{. c #E1E2E1", +"]. c #BCBCBC", +"^. c #A8A7A8", +"/. c #6A6A6A", +"(. c #121212", +"_. c #171717", +":. c #6E6E6E", +"<. c #111111", +"[. c #5C5C5C", +"}. c #1F1F1F", +"|. c #222222", +"1. c #2D2D2D", +"2. c #424242", +"3. c #C2C2C2", +"4. c #E1E1E2", +"5. c #BBBCBB", +"6. c #C6C6C6", +"7. c #757575", +"8. c #191919", +"9. c #707070", +"0. c #141414", +"a. c #717171", +"b. c #7B7B7B", +"c. c #2F2F2F", +"d. c #353535", +"e. c #404040", +"f. c #7A7A7A", +"g. c #DCDCDD", +"h. c #E2E2E1", +"i. c #E3E2E3", +"j. c #525252", +"k. c #232323", +"l. c #C0C0C0", +"m. c #BFC0BF", +"n. c #6F6F6F", +"o. c #1B1B1B", +"p. c #454545", +"q. c #313131", +"r. c #CECDCE", +"s. c #E2E1E1", +"t. c #E2E2E3", +"u. c #838383", +"v. c #C7C7C7", +"w. c #323232", +"x. c #696969", +"y. c #C5C5C5", +"z. c #CBCBCB", +"A. c #262626", +"B. c #BFBFBF", +"C. c #656565", +"D. c #474747", +"E. c #A8A8A8", +"F. c #E4E4E3", +"G. c #BDBDBC", +"H. c #D5D6D5", +"I. c #6B6B6B", +"J. c #555555", +"K. c #797978", +"L. c #C9C9C9", +"M. c #747474", +"N. c #616161", +"O. c #C1C1C1", +"P. c #666666", +"Q. c #4A4A4A", +"R. c #535353", +"S. c #E4E4E4", +"T. c #D0CFCF", +"U. c #C2C2C3", +"V. c #808080", +"W. c #3C3C3C", +"X. c #6D6D6D", +"Y. c #4B4B4B", +"Z. c #515151", +"`. c #797979", +" + c #E2E2E2", +".+ c #E4E4E5", +"++ c #BDBEBE", +"@+ c #DBDBDC", +"#+ c #8B8B8B", +"$+ c #606060", +"%+ c #B3B3B3", +"&+ c #BEBEBE", +"*+ c #E3E3E3", +"=+ c #E6E6E6", +"-+ c #E3E4E4", +";+ c #979797", +">+ c #5E5E5E", +",+ c #CACACA", +"'+ c #DEDEDF", +")+ c #D9D8D8", +"!+ c #BEBDBE", +"~+ c #E8E9E9", +"{+ c #EAE9E9", +"]+ c #ECECEC", +"^+ c #EDEDED", +"/+ c #A6A6A5", +"(+ c #5D5D5D", +"_+ c #DFDEDE", +":+ c #E3E4E3", +"<+ c #E5E5E5", +"[+ c #E9E8E8", +"}+ c #EAEAEA", +"|+ c #EBEBEB", +"1+ c #EFEEEF", +"2+ c #F0F0F0", +"3+ c #EFEFEF", +"4+ c #565656", +"5+ c #5A5B5B", +"6+ c #EEEEED", +"7+ c #EEEEEE", +"8+ c #E9E9EA", +"9+ c #EAEAEB", +"0+ c #F2F1F2", +"a+ c #F1F1F1", +"b+ c #E1E0E0", +"c+ c #F0F0EF", +"d+ c #F2F2F2", +"e+ c #BEBFBE", +"f+ c #EFEFF0", +"g+ c #F3F2F3", +"h+ c #E3E3E2", +"i+ c #656566", +"j+ c #F4F4F3", +"k+ c #F3F3F3", +"l+ c #ECEBEB", +"m+ c #ECECED", +"n+ c #EFF0EF", +"o+ c #F0F0F1", +"p+ c #A0A0A1", +"q+ c #848484", +"r+ c #B4B4B4", +"s+ c #F4F4F4", +"t+ c #F5F5F5", +"u+ c #EDEEEE", +"v+ c #EBEBEA", +"w+ c #F0EFEF", +"x+ c #F4F4F5", +"y+ c #F2F2F3", +"z+ c #D9D8D9", +"A+ c #EFF0F0", +"B+ c #F1F1F2", +"C+ c #F4F5F4", +"D+ c #F5F4F5", +"E+ c #F6F6F6", +"F+ c #F4F3F3", +"G+ c #F3F3F4", +"H+ c #EBEBEC", +"I+ c #D3D2D3", +"J+ c #D1D1D2", +"K+ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ # # # # # # # # # # # # # # # @ @ @ @ @ @ + . ", +". $ % % & & % % % % % % % * * * % % % % % % % & & % % % $ . ", +". = - $ ; > ; , , ' ) , , ! ! ~ , , ) ) , , ; ; ; ; $ - = . ", +". { ; , ] , ) ) ^ ^ / ( ; $ _ $ ; , ) ^ ^ ) ) : , : ] ; = . ", +". < ; , : [ ^ } ^ [ ~ $ | 1 2 3 | $ , / ^ 4 ^ 5 ) 5 6 , < . ", +". < ) 7 ^ 4 8 4 9 6 _ 1 0 a b a 0 c _ ) 4 d d 4 9 5 ^ ) < . ", +". e ^ 4 f d d 4 ) $ g h i j k l m h c n ^ d o d d 4 ^ 4 p . ", +". e 4 d o d 4 ) q c h r s t u k v w x | 6 d y y o d z 4 e . ", +". e A o d 4 B _ C D i E F G H I J k K @ _ 9 o y L M d d e . ", +". N O o 4 , P Q R S T U E V W X Y Z ` .1 ; d ..+.+.y o N . ", +". N y @.^ #.x $.%.&.*.=.-.;.>.,.'.X ).!.~.| ) o +.{.+.L N . ", +". ].y d ; @ ^./.>.(._.:.` <.[.H }.|.1.2.!.3.P ) o +.4.+.5.. ", +". ].y 4 _ 6.7.Y _.8.:.< 9.0.a.b.c.,.d.c.e.f.R _ g.y h.i.].. ", +"S ].O ) c .j.|.k./.l.m.n.o./.a n.t >.p.q.e.. r.; d s.t.].. ", +"u. .d ; v.%.u w.x.y.z.R n.A.j B.N C.X u D.s p.E.c ^ +.F.G.. ", +"u. .d H.b I.J.K.L.1 @ + M.q.N.O.D ].P.q.d.Q.R.u.h ) +.S. .. ", +"u. .o , T.U.E.h ( , P h V.W.N.y.2 c N X.Y.Z.`.V.z.^ +.+ .. ", +"u.++ +o ^ @+4 y ++.) # #+-.$++ $ ) , + %+%+&+a P o *+=+ .. ", +"S &+=+S.-+*+=+% % =+d 2 ;+I >+,+^ + +'+)+P P _ d *+=+* !+. ", +". &+~+% {+& ]+^+^+& +.| /+J (+,+_+=+& % :+h.y +<+* [+& &+. ", +". &+}+|+]+^+1+2+3+]+.+; %+4+5+v.y {+6+7+|+}+& & 8+}+}+{+&+. ", +". &+9+]+^+3+2+0+a+7+% d N [.(+3.b+|+c+d+a+3+3+^+^+^+|+}+&+. ", +". e+|+]+7+f+a+d+g+a+|+h++ I.i+a y }+a+j+k+k+a+2+1+^+l+}+&+. ", +". B.m+6+n+o+a+g+k+g+3+% , p+q+r+o |+d+s+t+k+d+2+3+u+]+v+&+. ", +". B.^+7+w+a+d+k+x+s+y+^+=+z+L.| S.^+d+t+t+s+k+d+A+3+^+|+&+. ", +". B.m+7+f+a+B+k+C+t+D+d+7+% <+=+}+2+C+E+t+s+k+d+2+3+^+]+&+. ", +". B.m+7+f+a+d+k+D+E+E+E+F+2+3+3+a+G+E+E+t+s+k+0+2+3+^+H+&+. ", +". N # # @ @ 2 @ 2 2 1 1 I+1 2 2 I+1 1 C 2 @ 2 J+@ K+# 0 N . ", +". . . . . . . . . . . . S u.u.u.u.S . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_upAll.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_upAll.xpm new file mode 100644 index 0000000..ae68142 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_upAll.xpm @@ -0,0 +1,323 @@ +/* XPM */ +static char * spGreasePencil_upAll_xpm[] = { +"30 30 290 2", +" c None", +". c #818181", +"+ c #C7C7C7", +"@ c #D0D0D0", +"# c #D7D7D7", +"$ c #E7E7E7", +"% c #E6E6E6", +"& c #E8E8E8", +"* c #B8B8B8", +"= c #D7D7D6", +"- c #D6D6D6", +"; c #D5D6D6", +"> c #D5D5D5", +", c #D6D7D6", +"' c #D8D8D8", +") c #D9D9D9", +"! c #DADADA", +"~ c #DBDBDC", +"{ c #DBDCDC", +"] c #DBDBDB", +"^ c #B9B8B8", +"/ c #D6D5D5", +"( c #D4D4D4", +"_ c #D3D3D3", +": c #D2D2D2", +"< c #D5D6D5", +"[ c #D9D9D8", +"} c #DCDCDC", +"| c #DDDDDD", +"1 c #D5D4D4", +"2 c #D8D7D7", +"3 c #D9D8D8", +"4 c #B9B9B9", +"5 c #D0CFCF", +"6 c #BABABA", +"7 c #9D9D9D", +"8 c #A9A9A9", +"9 c #C5C4C4", +"0 c #D0D1D1", +"a c #DDDCDC", +"b c #D1D2D1", +"c c #C8C8C8", +"d c #BCBCBC", +"e c #C2C2C2", +"f c #CFCFCF", +"g c #D7D8D8", +"h c #828282", +"i c #D5D4D5", +"j c #686868", +"k c #434343", +"l c #4A4A4A", +"m c #7C7C7C", +"n c #CECECE", +"o c #B7B7B7", +"p c #7A7A7A", +"q c #666666", +"r c #8B8B8B", +"s c #C1C1C1", +"t c #D2D3D2", +"u c #D6D7D7", +"v c #838383", +"w c #808080", +"x c #2D2D2D", +"y c #1A1A1A", +"z c #1C1C1C", +"A c #343434", +"B c #7A7A79", +"C c #CACACA", +"D c #D5D5D6", +"E c #DAD9D9", +"F c #D4D4D5", +"G c #B1B1B1", +"H c #595959", +"I c #2C2C2C", +"J c #2B2B2B", +"K c #585858", +"L c #B4B4B4", +"M c #BABAB9", +"N c #848484", +"O c #BBBBBB", +"P c #171717", +"Q c #0B0B0B", +"R c #0A0A0A", +"S c #424242", +"T c #ABABAB", +"U c #5E5E5E", +"V c #212121", +"W c #131313", +"X c #191919", +"Y c #3F3F3F", +"Z c #8F8F8F", +"` c #868686", +" . c #D3D4D3", +".. c #C5C5C5", +"+. c #717171", +"@. c #262626", +"#. c #0C0C0C", +"$. c #040404", +"%. c #050505", +"&. c #646464", +"*. c #D1D1D1", +"=. c #D3D3D2", +"-. c #C0C0C0", +";. c #747474", +">. c #272727", +",. c #111111", +"'. c #141414", +"). c #878787", +"!. c #A7A7A7", +"~. c #030303", +"{. c #2A2A2A", +"]. c #8A8A8A", +"^. c #CDCDCD", +"/. c #C9C9C9", +"(. c #939393", +"_. c #373737", +":. c #121212", +"<. c #0D0D0D", +"[. c #1A191A", +"}. c #4B4B4B", +"|. c #B2B2B2", +"1. c #888888", +"2. c #898988", +"3. c #353535", +"4. c #090909", +"5. c #010101", +"6. c #161616", +"7. c #383838", +"8. c #C2C3C2", +"9. c #BBBABA", +"0. c #595A59", +"a. c #060606", +"b. c #020202", +"c. c #080808", +"d. c #282828", +"e. c #707070", +"f. c #CCCCCC", +"g. c #D7D7D8", +"h. c #BDBDBD", +"i. c #9C9C9C", +"j. c #272627", +"k. c #5C5C5C", +"l. c #B5B5B5", +"m. c #AFAFAF", +"n. c #4C4C4C", +"o. c #1F1F1F", +"p. c #101010", +"q. c #151515", +"r. c #575757", +"s. c #BDBDBE", +"t. c #BBBCBB", +"u. c #C6C6C6", +"v. c #999999", +"w. c #5F5F5F", +"x. c #070707", +"y. c #292929", +"z. c #3C3C3C", +"A. c #414141", +"B. c #515151", +"C. c #858484", +"D. c #BFBFBF", +"E. c #C4C4C4", +"F. c #484848", +"G. c #0F0F0F", +"H. c #232323", +"I. c #6F6F6F", +"J. c #D9D8D9", +"K. c #CBCBCB", +"L. c #AEAEAE", +"M. c #0E0E0E", +"N. c #202020", +"O. c #AAAAAA", +"P. c #B2B3B2", +"Q. c #B8B8B9", +"R. c #606161", +"S. c #9E9D9E", +"T. c #9A9A9A", +"U. c #858585", +"V. c #313131", +"W. c #333333", +"X. c #DCDBDB", +"Y. c #696969", +"Z. c #E0E0DF", +"`. c #BDBDBC", +" + c #B7B7B8", +".+ c #404040", +"++ c #DEDEDE", +"@+ c #E3E3E3", +"#+ c #E5E5E5", +"$+ c #373637", +"%+ c #363636", +"&+ c #E0E0E0", +"*+ c #E2E2E2", +"=+ c #DFDFDF", +"-+ c #4B4B4A", +";+ c #E4E4E4", +">+ c #EAEAEA", +",+ c #EDECEC", +"'+ c #EDEDED", +")+ c #EDEDEC", +"!+ c #3E3E3E", +"~+ c #E5E5E6", +"{+ c #BDBEBE", +"]+ c #E1E1E1", +"^+ c #B6B6B6", +"/+ c #5B5B5B", +"(+ c #DFDFDE", +"_+ c #EEEDEE", +":+ c #F0F0F0", +"<+ c #F1F1F1", +"[+ c #EEEEEE", +"}+ c #E7E8E7", +"|+ c #8C8C8C", +"1+ c #BEBEBE", +"2+ c #D9DADA", +"3+ c #6A6A6A", +"4+ c #444444", +"5+ c #EAEAEB", +"6+ c #F3F2F3", +"7+ c #F4F4F4", +"8+ c #F3F3F2", +"9+ c #F0F1F0", +"0+ c #989899", +"a+ c #494949", +"b+ c #E9E9E9", +"c+ c #BEBDBE", +"d+ c #E6E7E7", +"e+ c #DFDEDE", +"f+ c #A0A0A0", +"g+ c #A6A6A6", +"h+ c #F2F2F1", +"i+ c #F5F5F5", +"j+ c #F2F1F1", +"k+ c #ECECEC", +"l+ c #B0B0B0", +"m+ c #606060", +"n+ c #A1A1A1", +"o+ c #EBEAEA", +"p+ c #E9E9EA", +"q+ c #EFEFEF", +"r+ c #F3F3F3", +"s+ c #F4F4F5", +"t+ c #F5F6F6", +"u+ c #F6F6F5", +"v+ c #EFEEEE", +"w+ c #E7E7E6", +"x+ c #979797", +"y+ c #E6E6E7", +"z+ c #EBEBEB", +"A+ c #EAE9E9", +"B+ c #E0DFE0", +"C+ c #F0F0F1", +"D+ c #F2F2F2", +"E+ c #F5F4F4", +"F+ c #ECECEB", +"G+ c #DADBDB", +"H+ c #BEBFBE", +"I+ c #ECEBEC", +"J+ c #F1F1F0", +"K+ c #F1F1F2", +"L+ c #F6F6F6", +"M+ c #ECEBEB", +"N+ c #EBEBEC", +"O+ c #EDEEED", +"P+ c #EDEDEE", +"Q+ c #EFEEEF", +"R+ c #F2F1F2", +"S+ c #F0EFF0", +"T+ c #F7F7F7", +"U+ c #EDEEEE", +"V+ c #EBEBEA", +"W+ c #F3F3F4", +"X+ c #F2F2F3", +"Y+ c #EBEAEB", +"Z+ c #F8F8F8", +"`+ c #EEEFEF", +" @ c #EEEEEF", +".@ c #F4F5F4", +"+@ c #F4F3F4", +"@@ c #F9F9F9", +"#@ c #F8F9F8", +"$@ c #F5F4F5", +"%@ c #F4F3F3", +"&@ c #F9F9FA", +"*@ c #F1F0F1", +"=@ c #D3D2D3", +"-@ c #D4D3D4", +";@ c #D3D2D2", +">@ c #D1D1D2", +",@ c #D0D1D0", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . ", +". # $ $ $ $ % % % % $ $ & & & & & & $ $ % % % $ $ $ $ $ # . ", +". * = - # ; > - - , ' ) ! ~ ~ { ] ! ) ) # - - - # ' # = * . ", +". ^ # # / ( _ : : _ < [ ] } | | } ! ' - ( _ _ 1 - 2 3 ' * . ", +". 4 # - _ 5 6 7 8 9 0 - ) } | a ! ' > b c d e f > g [ ) 4 . ", +"h 4 ' i @ d j k l m 6 : ' } | } ' ( n o p q r s t u ) ) 4 . ", +"v 6 - : c w x y z A B C D ) ] E F n G H I J K L @ > ' ] M . ", +"N O > f 8 k P Q R P S T : - ' > f o U V W X Y Z + : # ! 6 h ", +"` O ...+.@.#.$.%.#.V &...*.=.@ -.;.>.,.'.X z S 7 n ( ) 6 h ", +").d : !.k z Q ~.$.R ,.{.].+ ^./.(._.:.#.<.R Q [.}.|._ ' O v ", +"1.d f 2.3.X 4.5.~.R Q 6.7.Z 8.9.0.y <.a.b.~.c.,.d.e.f.g.O N ", +"1.h.*.i.}.d.<.~.a.<.,.6.j.k.l.m.n.o.'.R $.a.p.q.@.r.s.# t.N ", +").h.- u.v.w.6.x.#.y.z.A.B.C.D.E.].K F.>.,.G.H._.A.I.h.J.d N ", +"` d E _ K.L.{.M.N.N O.P.6 c *.@ + Q.G R.N.z n.S.T.|.*.~ d N ", +"U.h.] - f D.V.q.W.l.*.# ! X.} ] ! # *.+.{.d.Y.@ > ) | Z.`.v ", +"N h.| # *. +V.X .+E.# ++@+#+% #+@+++# m $+%+m > } &+*+@+h.h ", +"N h.=+) : |.A o.-+^.] ;+>+,+'+)+>+;+] U.!+!+` ) &+;+% ~+h.. ", +"v {+]+} > ^+k d./+*.(+& _+:+<+:+[+}+++|+S S ].] *+$ $ $ h.. ", +"h 1+;+&+2+e 3+4+h _ ]+5+:+6+7+8+9+>+&+0+}.a+Z | ;+& b+& c+. ", +". 1+d+;+e+_ f+;.g+' #+'+h+7+i+7+j+k+@+l+m+/+n+++#+& o+b+1+. ", +". 1+b+$ @+++i 6 ( *+p+q+r+s+t+u+r+v+w+( n+x+C ]+y+>+z+A+1+. ", +". 1+>+>+& #+*+B+;+& '+C+D+r+7+i+E+D+F+#+G+# =+;+b+z+z+>+1+. ", +". H+z+z+z+5+b+b+I+[+:+J+q+:+K+s+L+i+<+k+$ % $ b+I+k+M+>+1+. ", +". D.N+)+O+P+[+Q+:+R+<+S+'+k+q+7+L+T+i+D+q+'+'+'+[+U+k+V+1+. ", +". D.k+'+v+:+<+D+W+7+X+:+,+Y+[+7+T+Z+T+L+r+D+:+:+`+[+k+>+1+. ", +". D.N+'+ @:+K+r+.@i++@D+:+q+D+L+Z+@@#@T+i+7+D+<+q+[+k+z+1+. ", +". D.N+'+ @:+<+r+$@i+i+i+%@r+i+Z+@@&@Z+T+i+7+D+*@q+[+k+5+1+. ", +". O @ @ *.*.: *.: : _ _ =@_ _ ( -@_ _ ;@_ : : >@*.,@@ f O . ", +". . . . . . . . . . . h h h h h . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_visOff.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_visOff.xpm new file mode 100644 index 0000000..2777ab8 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_visOff.xpm @@ -0,0 +1,231 @@ +/* XPM */ +static char * spGreasePencil_visOff_xpm[] = { +"30 30 198 2", +" c None", +". c #828282", +"+ c #838383", +"@ c #848484", +"# c #818181", +"$ c #C7C7C7", +"% c #CFCFCF", +"& c #CECECE", +"* c #D0D0D0", +"= c #858585", +"- c #D5D5D5", +"; c #E0E0E0", +"> c #DEDEDE", +", c #E1E1E1", +"' c #E2E2E2", +") c #E3E3E3", +"! c #E4E4E4", +"~ c #E5E5E5", +"{ c #E6E6E6", +"] c #E7E7E7", +"^ c #E8E8E8", +"/ c #D7D7D7", +"( c #868686", +"_ c #B9B9B9", +": c #C8C8C8", +"< c #D1D1D1", +"[ c #D2D2D2", +"} c #D1D2D1", +"| c #D2D2D3", +"1 c #D3D3D4", +"2 c #D4D5D5", +"3 c #D6D6D6", +"4 c #D9D9D9", +"5 c #DADADA", +"6 c #D8D8D8", +"7 c #D3D3D3", +"8 c #D4D4D4", +"9 c #D5D5D4", +"0 c #B8B8B8", +"a c #878787", +"b c #BAB9B9", +"c c #BEBEBE", +"d c #B5B4B4", +"e c #CBCBCB", +"f c #C6C6C6", +"g c #CACACA", +"h c #CDCDCD", +"i c #D3D2D2", +"j c #C7C6C6", +"k c #BABABA", +"l c #BDBCBC", +"m c #A7A6A6", +"n c #BFBFBF", +"o c #C2C2C2", +"p c #B3B3B3", +"q c #A8A8A8", +"r c #A3A4A4", +"s c #A4A4A4", +"t c #A9A9A9", +"u c #B0B0B0", +"v c #C3C3C3", +"w c #B5B5B5", +"x c #D3D2D3", +"y c #BCBCBC", +"z c #929293", +"A c #9D9D9D", +"B c #A5A5A5", +"C c #ADADAD", +"D c #B1B1B1", +"E c #A6A6A6", +"F c #9F9F9F", +"G c #A1A1A1", +"H c #BDBDBD", +"I c #C9C9C9", +"J c #AEAEAE", +"K c #D0D1D1", +"L c #D2D1D1", +"M c #CCCCCC", +"N c #7A7A7A", +"O c #949494", +"P c #999999", +"Q c #979797", +"R c #9A9A9A", +"S c #9B9B9B", +"T c #9E9E9E", +"U c #BABAB9", +"V c #DBDBDB", +"W c #929292", +"X c #636363", +"Y c #ABABAB", +"Z c #B4B4B4", +"` c #A7A7A7", +" . c #B6B6B6", +".. c #DADBDA", +"+. c #DCDCDC", +"@. c #DBDCDB", +"#. c #8D8D8D", +"$. c #797979", +"%. c #C4C4C4", +"&. c #9C9C9C", +"*. c #909090", +"=. c #7D7D7D", +"-. c #959695", +";. c #C5C5C5", +">. c #BBBBBB", +",. c #DCDBDB", +"'. c #A2A2A2", +"). c #7E7E7E", +"!. c #AFAFAF", +"~. c #747474", +"{. c #696969", +"]. c #DDDDDD", +"^. c #DFDFDF", +"/. c #D7D7D6", +"(. c #AAAAAA", +"_. c #B7B7B7", +":. c #737373", +"<. c #8A8A8A", +"[. c #C0C0C0", +"}. c #E0E0E1", +"|. c #7F7F7F", +"1. c #BBBCBB", +"2. c #787878", +"3. c #D6D6D7", +"4. c #DCDDDC", +"5. c #E1E1E0", +"6. c #E2E1E2", +"7. c #DAD9D9", +"8. c #B2B2B2", +"9. c #6B6B6B", +"0. c #5F5F5F", +"a. c #646464", +"b. c #E1E0E0", +"c. c #E2E2E3", +"d. c #A3A3A3", +"e. c #404040", +"f. c #7B7B7B", +"g. c #C1C1C1", +"h. c #BDBDBC", +"i. c #8F8F8F", +"j. c #5C5C5C", +"k. c #585858", +"l. c #6D6D6D", +"m. c #CFCECE", +"n. c #ACACAC", +"o. c #616161", +"p. c #686868", +"q. c #E5E5E6", +"r. c #BDBEBE", +"s. c #C4C4C5", +"t. c #555555", +"u. c #757575", +"v. c #A0A0A0", +"w. c #5A5A5A", +"x. c #535353", +"y. c #989898", +"z. c #BEBDBE", +"A. c #E7E8E8", +"B. c #A8A8A7", +"C. c #E9E9E9", +"D. c #D5D4D5", +"E. c #6F6F6F", +"F. c #808080", +"G. c #969696", +"H. c #919191", +"I. c #666666", +"J. c #DDDDDE", +"K. c #E9E8E8", +"L. c #8E8E8E", +"M. c #BEBFBE", +"N. c #D4D4D3", +"O. c #8B8B8B", +"P. c #E6E6E7", +"Q. c #D1D1D2", +"R. c #E0E0DF", +"S. c #D6D5D5", +"T. c #E7E7E8", +"U. c #EAEAEA", +"V. c #888888", +"W. c #ECECEC", +"X. c #F0F0F0", +"Y. c #F2F2F2", +"Z. c #F1F1F1", +"`. c #F1F2F1", +" + c #B9B9BA", +".+ c #EBEAEB", +"++ c #F4F4F4", +"@+ c #F7F7F7", +"#+ c #F8F7F7", +"$+ c #F8F8F8", +"%+ c #F6F6F7", +"&+ c #F6F6F6", +"*+ c #DEDDDE", +"=+ c #CBCBCC", +"-+ c #8C8C8C", +";+ c #D4D3D4", +">+ c #CCCCCD", +",+ c #898989", +". . + @ @ + . . . . . . . . . # # # # # # # # # . . . # # # ", +"+ $ % & % % % % % % % % % % * * * * * * * * * * * * * * $ # ", +"= - ; > > ; , ' ' , , , , ' ) ! ~ { ] ] ^ ] { ~ ! ) ! ~ / # ", +"( _ * : & * < [ [ } < < < | 1 2 3 / 4 5 4 6 3 - 7 7 8 9 0 . ", +"a b * c d : & & e : f f : g h * [ - 3 6 4 / - i h j [ - 0 . ", +"( k [ % l m n o p q r s t u k v g % 7 - - - [ g w v 7 3 _ . ", +"@ _ 3 x % y z A B C D C E F A G C H I * [ * I J o K - / _ . ", +". k 4 3 L M J N O G P Q Q R S P R T C o M v E k < - / 5 U # ", +". k V 6 7 h c W X + Y k 0 c H Z ` S R B .A Y h 8 6 ..+.k # ", +"# k @.4 7 M Z P #.$.C < [ 8 8 * %.Z &.*.=.-.;.< / V +.> k # ", +". >.,.6 [ v B '.n C ).Z - / / - < : !.~.{.B I x 4 ].^.^.>.# ", +". >.V /.& w B Z [ [ (.)._.3 / / 3 h P :.<.S [.[ 4 > ; }.>.# ", +"+ y 5 8 I t q e 3 / < B |.H - 3 < s |.u Y Q !.& 6 ].}., 1.# ", +"@ y 4 [ o s !.< 3 / / < S 2.u n '.|.k ;.k A G : 3.4.5.6.y # ", +"@ y 7.[ c s 8.7 / / / M ` 9.0.~.a.B [ f c s A o - +.b.c.y # ", +"@ H 5 7 [.d. .- / / % Y R Q 0.e.f.t h f H d.T g.8 +., ) h.# ", +"+ H ].3 $ E 8.7 / - H T &.i.j.k.l.Q [.$ >.T F %.3 ].' ~ H # ", +". H ; 4 m.D n.f / 7 8.R i.o.i.J X p.` ;.!.T d.I 6 ^.! q.H # ", +". r.' ].- s.C u h 7 8.+ o.# !.u i.t.u.u v.F C & V ' ~ { H # ", +"# c ~ , V < H (.u % t w.:.q C n.'.. x.N y.F >.7 ].! ] ^ z.# ", +"# c A.~ b.4 % >.E y.~.# *.Q A T P i.$.t.N B.I 3 ^.! ^ C.c # ", +"# c C.^ ! ].D.e ` E.F.B d.y.G.O *.H.y.F.I.A g - J.! ] K.c # ", +"# c C.^ ! > 3 o L.Q C ` s '.F S S v.Y _.T . (.% 5 ; ! ] c . ", +"# M.^ ~ , V h G E e % : y 8.C !._.;.& N.M q O.u < V ; ! c + ", +". n P.' 4.Q.n.t % 5 ].].5 3.- - / +.^.> V [ C L.8.< V R.c = ", +"+ n ! > S.w B & J.! T.C.K.] { { ] C.U.C.! > 7 J L.D & V c V.", +"+ n ' V >.'.I ].~ W.X.Y.Y.Y.Y.Y.Z.Y.`.X.W.{ > 7 !.*.R < c O.", +"+ n c.V +%.V ) .+Z.++@+#+$+$+$+$+%+&+++Z.W.~ *+8 >.s =+c -+", +"+ >.h e : g M & * [ 7 7 ;+8 8 8 ;+7 7 i [ * % >+e : v : y <.", +". @ a -+i.i.-+V.@ . # # # # # # # # # # . + = ,+L.H.W *.-+a "}; diff --git a/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_visOn.xpm b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_visOn.xpm new file mode 100644 index 0000000..29c1e62 --- /dev/null +++ b/2009-x64/prefsThierry/icons/chinaMarkerIcons/chinaMarker_visOn.xpm @@ -0,0 +1,286 @@ +/* XPM */ +static char * spGreasePencil_visOn_xpm[] = { +"30 30 253 2", +" c None", +". c #818181", +"+ c #C8C8C8", +"@ c #D0D0D0", +"# c #D1D1D1", +"$ c #D7D7D7", +"% c #E7E7E7", +"& c #E8E8E8", +"* c #E6E6E6", +"= c #D8D8D8", +"- c #B8B8B8", +"; c #D7D7D6", +"> c #D8D9D9", +", c #D6D7D6", +"' c #D6D6D6", +") c #D7D7D8", +"! c #D9D9D9", +"~ c #DADADA", +"{ c #DBDBDB", +"] c #D8D8D7", +"^ c #B9B8B8", +"/ c #DAD9D9", +"( c #D4D4D4", +"_ c #D3D3D3", +": c #D2D3D2", +"< c #D2D2D2", +"[ c #DBDADA", +"} c #D9D8D8", +"| c #B9B9B9", +"1 c #D3D3D2", +"2 c #CACACA", +"3 c #C1C1C1", +"4 c #BDBDBD", +"5 c #C6C6C6", +"6 c #CCCCCC", +"7 c #D5D5D5", +"8 c #D8D9D8", +"9 c #DCDCDC", +"0 c #DBDCDC", +"a c #DADBDB", +"b c #DADAD9", +"c c #DBDADB", +"d c #C2C2C2", +"e c #979797", +"f c #757575", +"g c #666666", +"h c #686868", +"i c #737373", +"j c #888888", +"k c #A0A0A0", +"l c #B7B7B7", +"m c #C5C5C5", +"n c #CECECD", +"o c #DDDDDD", +"p c #DCDDDC", +"q c #BABABA", +"r c #CBCBCB", +"s c #9A9A9A", +"t c #7C7C7C", +"u c #909090", +"v c #848484", +"w c #707070", +"x c #5F5F5F", +"y c #565656", +"z c #5E5E5E", +"A c #7B7B7C", +"B c #A3A3A3", +"C c #CFD0CF", +"D c #DEDEDE", +"E c #BABAB9", +"F c #D4D4D3", +"G c #C4C4C4", +"H c #939393", +"I c #6E6E6E", +"J c #525252", +"K c #4C4C4C", +"L c #4E4E4E", +"M c #535353", +"N c #545454", +"O c #4F4F4F", +"P c #4B4B4B", +"Q c #777777", +"R c #B1B1B1", +"S c #CFCFCE", +"T c #DDDEDD", +"U c #828282", +"V c #5D5D5D", +"W c #8A8A8A", +"X c #ADADAD", +"Y c #A7A7A7", +"Z c #B6B6B6", +"` c #9F9F9F", +" . c #505050", +".. c #4A4A4A", +"+. c #6B6B6B", +"@. c #B2B2B2", +"#. c #D0D1D0", +"$. c #DEDEDF", +"%. c #DFDEDF", +"&. c #BBBBBB", +"*. c #DDDCDC", +"=. c #949494", +"-. c #747474", +";. c #C0C0C0", +">. c #EBEBEB", +",. c #F5F5F5", +"'. c #F0F0F0", +"). c #F6F6F6", +"!. c #F7F7F7", +"~. c #E9E9E9", +"{. c #9B9B9B", +"]. c #585858", +"^. c #494949", +"/. c #BEBEBE", +"(. c #DFDFDF", +"_. c #E0E0E0", +":. c #B3B3B3", +"<. c #696969", +"[. c #F1F1F1", +"}. c #FDFDFD", +"|. c #FEFEFE", +"1. c #FFFFFF", +"2. c #FAFAFA", +"3. c #EEEEEE", +"4. c #A1A1A1", +"5. c #484848", +"6. c #898989", +"7. c #DFE0DF", +"8. c #E0E0E1", +"9. c #BCBCBC", +"0. c #C9C9C9", +"a. c #8C8C8C", +"b. c #989898", +"c. c #F2F2F2", +"d. c #FCFCFC", +"e. c #9D9D9D", +"f. c #4D4D4D", +"g. c #ACACAC", +"h. c #E1E1E1", +"i. c #BBBCBB", +"j. c #838383", +"k. c #BFBFBF", +"l. c #727272", +"m. c #FBFBFB", +"n. c #F9F9F9", +"o. c #CECECE", +"p. c #808080", +"q. c #434343", +"r. c #E1E1E0", +"s. c #E3E2E3", +"t. c #636363", +"u. c #858585", +"v. c #ECECEC", +"w. c #E3E3E3", +"x. c #B9B8B9", +"y. c #E1E0E0", +"z. c #E2E2E3", +"A. c #CFCFCF", +"B. c #A6A6A6", +"C. c #646464", +"D. c #8D8D8D", +"E. c #363636", +"F. c #2F2F2F", +"G. c #3E3E3E", +"H. c #676767", +"I. c #A8A8A8", +"J. c #E4E4E3", +"K. c #BDBDBC", +"L. c #616161", +"M. c #3A3A3A", +"N. c #595959", +"O. c #A4A4A4", +"P. c #E2E2E2", +"Q. c #E4E4E4", +"R. c #B7B6B6", +"S. c #656565", +"T. c #878787", +"U. c #F3F3F3", +"V. c #474747", +"W. c #B4B4B4", +"X. c #515151", +"Y. c #AEAEAE", +"Z. c #E5E5E6", +"`. c #BDBEBE", +" + c #C7C7C7", +".+ c #868686", +"++ c #606060", +"@+ c #969696", +"#+ c #343434", +"$+ c #575757", +"%+ c #B0B0B0", +"&+ c #7D7D7D", +"*+ c #2D2D2D", +"=+ c #5C5C5C", +"-+ c #7F7F7F", +";+ c #555555", +">+ c #303030", +",+ c #5B5B5B", +"'+ c #797979", +")+ c #BEBDBE", +"!+ c #E5E6E6", +"~+ c #DCDBDB", +"{+ c #2A2A2A", +"]+ c #313131", +"^+ c #717171", +"/+ c #323232", +"(+ c #6C6C6C", +"_+ c #E5E5E5", +":+ c #E9E8E8", +"<+ c #D1D0D1", +"[+ c #767676", +"}+ c #282828", +"|+ c #454545", +"1+ c #353535", +"2+ c #626262", +"3+ c #8E8E8E", +"4+ c #EAEAEA", +"5+ c #EAE9E9", +"6+ c #E9E9EA", +"7+ c #AAAAAA", +"8+ c #2B2B2B", +"9+ c #272727", +"0+ c #949595", +"a+ c #BEBFBE", +"b+ c #E8E8E9", +"c+ c #919191", +"d+ c #7A7A7A", +"e+ c #AFAFAE", +"f+ c #ECEBEC", +"g+ c #ECEBEB", +"h+ c #EBEBEC", +"i+ c #EDEDEC", +"j+ c #EDEEED", +"k+ c #ECECED", +"l+ c #E6E5E6", +"m+ c #DAD9DA", +"n+ c #EDEDED", +"o+ c #EDEEEE", +"p+ c #EBEBEA", +"q+ c #EFEEEE", +"r+ c #EFEFEF", +"s+ c #EEEFEF", +"t+ c #EEEEEF", +"u+ c #F0F0F1", +"v+ c #EBEAEB", +"w+ c #EBECEB", +"x+ c #F3F2F3", +"y+ c #F1F0F0", +"z+ c #F1F1F2", +"A+ c #F1F0F1", +"B+ c #D3D2D3", +"C+ c #D3D2D2", +"D+ c #D0D0D1", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # # # # # + . ", +". $ % % & & & % * * * * * * * % % & & & & & & & & & & & = . ", +". - ; $ = > = = $ , ' ' ' ) ) > ! ~ ~ { ~ ~ ! ! = = = ] - . ", +". ^ = ! / ! = ' ( _ : < _ _ ( ' $ ! ! ~ { { { [ ~ / } ! - . ", +". | ! ~ / } ' 1 2 3 4 4 3 5 6 # _ 7 $ 8 ~ 9 9 0 { a b ~ | . ", +". | { c ~ $ _ d e f g h i j k l m n < 7 = ~ 9 o p 0 { ~ | . ", +". q 9 9 / 7 r s t j u v w x y z A B 3 C ( = { o D o 9 9 E . ", +". q 9 { ! F G H u I J K L M N O P M Q R S 7 ~ o D D T o q . ", +". q o { $ # - U K V W X Y q Z ` Q ...+.@.#.$ { $.%.D D q . ", +". &.*.! ( r =.y -.;.>.,.'.).!.~.r {.].^.i /._ ! o (._.(.&.. ", +"U &.9 ] # :.<.g 3 [.}.|.1.1.1.2.3._ 4.y 5.6.2 ' 9 7._.8.&.. ", +"U 9.9 ' 0.a.<.b.c.d.1.1.1.1.1.1.}.,.= e.f.N g.< ! D h.h.i.. ", +"j.9.~ ( k.I l.{ m.1.1.1.1.|.2.2.1.1.n.o.p.q.t + ) T r.s.9.. ", +"v 9./ # @.t.u.v.}.1.1.1.'.6 q k.w.d.d.@ g.J y x.' o y.z.9.. ", +"u.4 ! A.B.C.D.c.1.1.1.{ t E.F.G.H.5 !.A.- H.^.I._ 9 h.J.K.. ", +"u.4 ~ @ Y L.e !.1.1.* i M.O <.N.5.w (.# Z C.P O.# 9 P.Q.4 . ", +"v 4 9 ( R.S.T.U.1.n.g.V.V.l.g x N V.W.@ X N.X.Y.( o w.Z.4 . ", +"j.`.(.= +. w 5 d.U..+M.++N.@+W.f.#+t 6 D.$+z 4 = _.Q.* 4 . ", +"U /.P.o _ %+w &+(.c.6.*+=+C.u.-+;+>+,+k H.x '++ 9 w.* % )+. ", +"U /.!+P.~+@ k +.u.Q.&.{+]+f i ^+N /+ .(+,+C.O.7 _._+:+~./.. ", +". /.& * P.{ <+4.h [+I.Q }+]+q.|+1+}+q.N.2+3+6 D Q.& 4+5+/.. ", +". /.6+~.% w.9 < 7+[+H.(+M >+8+{+9+E. .C.0++ o w.& >.4+4+/.. ", +". a+>.>.>.b+Q.D ( k.c+g z ,+M f.f.].d+e+# D Q.~.f+v.g+4+/.. ", +". k.h+i+j+k+4+l+_.m+A.x.e -+-.Q 3+%+0.! h.* >.n+3.o+v.p+/.. ", +". k.v.n+q+r+r+v.b+_+_.9 7 <+o.A.( { _._+~.n+r+'.s+3.v.4+/.. ", +". k.h+n+t+'.u+'.r+n+v+& % * * % % ~.w+3.r+[.[.[.r+3.v.>./.. ", +". k.h+n+t+'.[.c.x+c.[.[.y+'.[.[.[.z+c.U.U.U.c.A+r+3.v.h+/.. ", +". &.@ A.@ @ # # < < _ < B+_ _ _ B+< _ C+< # # D+@ C @ A.&.. ", +". . . . . . . . . . . U U U U U U U . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/curveFilter.BMP b/2009-x64/prefsThierry/icons/curveFilter.BMP new file mode 100644 index 0000000..259cc2a Binary files /dev/null and b/2009-x64/prefsThierry/icons/curveFilter.BMP differ diff --git a/2009-x64/prefsThierry/icons/eye_Br.bmp b/2009-x64/prefsThierry/icons/eye_Br.bmp new file mode 100644 index 0000000..8bc3620 Binary files /dev/null and b/2009-x64/prefsThierry/icons/eye_Br.bmp differ diff --git a/2009-x64/prefsThierry/icons/face.bmp b/2009-x64/prefsThierry/icons/face.bmp new file mode 100644 index 0000000..22db27f Binary files /dev/null and b/2009-x64/prefsThierry/icons/face.bmp differ diff --git a/2009-x64/prefsThierry/icons/icon2shelf.BMP b/2009-x64/prefsThierry/icons/icon2shelf.BMP new file mode 100644 index 0000000..8d5c5f8 Binary files /dev/null and b/2009-x64/prefsThierry/icons/icon2shelf.BMP differ diff --git a/2009-x64/prefsThierry/icons/jsPickWalkUI.BMP b/2009-x64/prefsThierry/icons/jsPickWalkUI.BMP new file mode 100644 index 0000000..4f5ebd6 Binary files /dev/null and b/2009-x64/prefsThierry/icons/jsPickWalkUI.BMP differ diff --git a/2009-x64/prefsThierry/icons/mouth.bmp b/2009-x64/prefsThierry/icons/mouth.bmp new file mode 100644 index 0000000..b981fa3 Binary files /dev/null and b/2009-x64/prefsThierry/icons/mouth.bmp differ diff --git a/2009-x64/prefsThierry/icons/poseLib.BMP b/2009-x64/prefsThierry/icons/poseLib.BMP new file mode 100644 index 0000000..cdbe821 Binary files /dev/null and b/2009-x64/prefsThierry/icons/poseLib.BMP differ diff --git a/2009-x64/prefsThierry/icons/rivet.bmp b/2009-x64/prefsThierry/icons/rivet.bmp new file mode 100644 index 0000000..1df4e43 Binary files /dev/null and b/2009-x64/prefsThierry/icons/rivet.bmp differ diff --git a/2009-x64/prefsThierry/icons/toggleXRay.bmp b/2009-x64/prefsThierry/icons/toggleXRay.bmp new file mode 100644 index 0000000..f59f50e Binary files /dev/null and b/2009-x64/prefsThierry/icons/toggleXRay.bmp differ diff --git a/2009-x64/prefsThierry/icons/toggleXRay1.png b/2009-x64/prefsThierry/icons/toggleXRay1.png new file mode 100644 index 0000000..1f4fe30 Binary files /dev/null and b/2009-x64/prefsThierry/icons/toggleXRay1.png differ diff --git a/2009-x64/prefsThierry/icons/tweenMachine.xpm b/2009-x64/prefsThierry/icons/tweenMachine.xpm new file mode 100644 index 0000000..39c3c7f --- /dev/null +++ b/2009-x64/prefsThierry/icons/tweenMachine.xpm @@ -0,0 +1,73 @@ +/* XPM */ +static char *tweenMachine[] = { +/* width height ncolors chars_per_pixel */ +"32 32 35 2", +/* colors */ +"AA c #FFFFEFEFC6C6", +"BA c #FFFFEFEFBDBD", +"CA c #EFEFE7E7B5B5", +"DA c #EFEFDEDEB5B5", +"EA c #EFEFDEDEADAD", +"FA c #DEDED6D6ADAD", +"GA c #DEDECECEADAD", +"HA c #DEDECECE9C9C", +"IA c #D6D6BDBD9494", +"JA c #CECEC6C69C9C", +"KA c #CECEBDBD9C9C", +"LA c #C6C6B5B58C8C", +"MA c #BDBDB5B58C8C", +"NA c #BDBDADAD8C8C", +"OA c #B5B5A5A57B7B", +"PA c #ADADA5A58484", +"AB c #ADADA5A57B7B", +"BB c #ADAD9C9C8484", +"CB c #ADAD9C9C7B7B", +"DB c #9C9C94947B7B", +"EB c #9C9C94946B6B", +"FB c #9C9C8C8C7373", +"GB c #9C9C8C8C6B6B", +"HB c #8C8C84846B6B", +"IB c #8C8C7B7B6363", +"JB c #8C8C7B7B5A5A", +"KB c #7B7B73735252", +"LB c #7B7B6B6B5252", +"MB c #73736B6B4A4A", +"NB c #6B6B63634A4A", +"OB c #6B6B5A5A4242", +"PB c #63635A5A3939", +"AC c #5A5A52523939", +"BC c #5A5A4A4A3131", +"CC c #4A4A42423131", +/* pixels */ +"GBABLAHBOBCCKBCBHBCBKAHBJBHBGBCBGBGBGBGBDBNAJABADACADACABADADABA", +"IBHBGBBCMBPBDBEAOAJAHANAJBGBGBGBDBGBGBIBCBBABADABADABADADABACADA", +"MAACACCBHBIBGAEAKALAHALAFBEBCBNADBCBCBHBCBJAKAIAGAGAJAGAHAGADAGA", +"KANAKAKAGBABGAHAHAKAKAMAEBDBCBCBCBCBEBEBCBGBCBNAJAEAGAEAFADADAEA", +"KALABANAKBLBABDAKALAEANALBHBEBDBGBGBGBGBDBGBHBGBLABADADACADADADA", +"KACBMACBLBMBNBKAJBPAJAGBLBEBGBGBDBGBCBGBGBGBGBEBGADADACADADADACA", +"OADBJBKBNBNBJBOBIBCBNAACKBGBGBGBGBFBCBHBLADAEADAEADADADACADACADA", +"CBDBJBOBACNBCCCCJBMAJBNBHBHBGBGBCBCBDBJBGABADADADADACADABACADADA", +"GBHBHBKBOBACACNBLBOBKBHBJBGBGBHBGBCBCBCBLAEADADADADACADADABADADA", +"EBNBNBOBLBKBOBACACNBIBGBCBDBCBGBCBEBGBEBDBNADACACADADABADADADABA", +"CBGBKBNBNBJBOBNBKBDBEBDBCBCBEBCBHBCBHBGBCBCBCBCADADADAGACADADADA", +"CBABCBCBCBDBEBCBCBEBCBCBGBPAOAGBCBGBHAJADBGBKABADADADADADABADACA", +"GBCBCBABABCBDBCBCBDBCBGBGBGBCBPACBLABAEACAEACADADADADADADADACABA", +"DBCBABCBCBDBCBCBGBGBEBDBEBGBGBCBCBKAGABACADADADACACACADACADADADA", +"CBGBCBCBCBNAGBCBEBGBGBGBGBDBGBGBGBEBKADADACADACAAADADAAADACAAADA", +"CBCBDBGBEBCBDBCBCBDBGBGBGBGBKAABHBCBKAFABADADADADABADACADAAADABA", +"EBCBCBGBCBCBGBGBCBGBHBGBABIABADALANALAKADACABADADADAAADAAADADADA", +"CBCBGBGBEBCBHBCBHBGBJBGBCBKACACACAEADAEAMADADADADAAADACADADACACA", +"DBGBCBNAPACBEBGBJACACBIBGBNADADADADACACADAGAEADADADACADACADAAADA", +"OAGBJABAEACBCBEBGABAHAHBCBBBDABACADADABADAEAKADACADAAADAAADADABA", +"KAMABADAJAABABFBEADAAAKANAEACADADAAADADABADADAPAGABADAAADABADADA", +"NADADADAEANACBCBDACADACABADAAACAAADADABADAAACADAJAGABADAAADACABA", +"BADACABAGAGAGAEADABADABADACADADACAAACADAAADABADABAKAGABADAAADAAA", +"CADABADANAGABADADADACADADABADAAADADADAAADADADABADABAMAKABADAAADA", +"BACADAKADBEADACADADADAAADADACADACADACADABADADADACADABAJAGABADAGA", +"DADAKAFBGBDBDBKABAPADBDAGABBDAKAFBBBDADANAFBDBGAGAFBBBFBPADAFAFA", +"BADACAKAFBFAKAPADABBCBDAKAPAGADBDAKABBGADBCAKACBGAFBGAFAFBKAGABA", +"DABADAJADBGAEADBGAPAKAKADBGAKAFBDBFBHBKADBFBFBFBGAFBBACAIBKABABA", +"BADAAAKADBEACABBPAGAJAPADBBAJADBDACADAKADBCACADAJADBCAGAHBGADADA", +"DAAABAFAGBDBDAKAFBEACAFBNADACAKAHBFBKACAKAFBFBKAFAHBGAEAHBGACABA", +"BADADABAGAGABADACAAADACADABABADACACADACADACACACADAGAFABACACADADA", +"DAAACADAGAHACADABADABACADAAADACADAAADABACADACAGAGADABADADACADABA"}; diff --git a/2009-x64/prefsThierry/icons/zooAssets.xpm b/2009-x64/prefsThierry/icons/zooAssets.xpm new file mode 100644 index 0000000..3bc8f81 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooAssets.xpm @@ -0,0 +1,290 @@ +/* XPM */ +static char *zooAssets[] = { +/* columns rows colors chars-per-pixel */ +"32 32 252 2", +" c #000046", +". c #041266", +"X c #0D2197", +"o c #2F4196", +"O c #1341FD", +"+ c #1E55EF", +"@ c #1F62DD", +"# c #2549FB", +"$ c #2057F4", +"% c #3057F4", +"& c #3854FC", +"* c #395FF1", +"= c #226CEF", +"- c #286EEE", +"; c #226BF1", +": c #2C69FB", +"> c #2D6AFB", +", c #2479FB", +"< c #2679F9", +"1 c #3E72F2", +"2 c #3F70F5", +"3 c #435BB9", +"4 c #5E6BA8", +"5 c #6D749D", +"6 c #6978B4", +"7 c #4757FE", +"8 c #5767D2", +"9 c #436AF7", +"0 c #436AF8", +"q c #4F66F6", +"w c #4D6EF7", +"e c #4B6AF8", +"r c #4A74EE", +"t c #4470F2", +"y c #546EE6", +"u c #5269F3", +"i c #5068F9", +"p c #5B60FE", +"a c #5F77EB", +"s c #7973D6", +"d c #696CFD", +"f c #6175EE", +"g c #6972EF", +"h c #6878E9", +"j c #6170F0", +"k c #6B70F4", +"l c #6970FC", +"z c #6A71FE", +"x c #727DF1", +"c c #2783C9", +"v c #2885CB", +"b c #2C8FCC", +"n c #2D98D5", +"m c #2F9DD4", +"M c #399ECA", +"N c #3A9ED8", +"B c #2987EB", +"V c #2987EC", +"C c #2D88EA", +"Z c #2A8FF3", +"A c #2E9AEC", +"S c #2B91FF", +"D c #2F9EF1", +"F c #2E9AFF", +"G c #2E9CF8", +"H c #2F9EFE", +"J c #309BFE", +"K c #31A6CE", +"L c #31A6D1", +"P c #32A9D3", +"I c #35B2DB", +"U c #37B4DB", +"Y c #36B5DF", +"T c #37B6DE", +"R c #2FA0FF", +"E c #30A2E4", +"W c #31A7EA", +"Q c #33A8E6", +"! c #33ACE1", +"~ c #35A8E4", +"^ c #35ADE1", +"/ c #34AEEB", +"( c #31A3FF", +") c #33ABF4", +"_ c #33ACFF", +"` c #35B1E7", +"' c #35B2E8", +"] c #37B9E1", +"[ c #37BAE3", +"{ c #37B8E6", +"} c #37BBE4", +"| c #37BBEC", +" . c #3AB5E9", +".. c #38BAE3", +"X. c #38BBE4", +"o. c #3ABCE3", +"O. c #38BCE5", +"+. c #39BDE7", +"@. c #3CBBE2", +"#. c #39BEE8", +"$. c #39BEEA", +"%. c #39BFEC", +"&. c #36B4FE", +"*. c #37B8F2", +"=. c #38BEFF", +"-. c #3AC3E4", +";. c #39C0EE", +":. c #3CC6ED", +">. c #3CC8EF", +",. c #3AC2F0", +"<. c #3AC3F3", +"1. c #3BC6F6", +"2. c #3AC4FE", +"3. c #3BC8F6", +"4. c #3DCCFD", +"5. c #3ED0FA", +"6. c #3FD3FE", +"7. c #3FD4FF", +"8. c #7E86B2", +"9. c #5C96E6", +"0. c #56B1D1", +"q. c #44ABE5", +"w. c #679DDA", +"e. c #7688CB", +"r. c #6A81F2", +"t. c #728AFD", +"y. c #68A2DE", +"u. c #69AAEC", +"i. c #4BC0E6", +"p. c #40D3FE", +"a. c #40D4FF", +"s. c #5EC5EA", +"d. c #68C2DF", +"f. c #BE3A51", +"g. c #D8262A", +"h. c #E22626", +"j. c #E03434", +"k. c #E03838", +"l. c #E03E3E", +"z. c #C2374B", +"x. c #CF5353", +"c. c #DF4343", +"v. c #D84F4F", +"b. c #DF4B4B", +"n. c #DE4E4E", +"m. c #DE5050", +"M. c #DE5757", +"N. c #DE5959", +"B. c #DD5C5C", +"V. c #DC5F5F", +"C. c #DD6161", +"Z. c #DD6666", +"A. c #DC6D6D", +"S. c #D47A7A", +"D. c #BC7199", +"F. c #9078D1", +"G. c #889098", +"H. c #8C93B5", +"J. c #9199A2", +"K. c #9BA3AC", +"L. c #98A5B2", +"P. c #9DA7B0", +"I. c #9FA8B2", +"U. c #A190A6", +"Y. c #AAAAAA", +"T. c #A8ABAD", +"R. c gray68", +"E. c #AFAFAF", +"W. c #A3ADB7", +"Q. c #A5AFB9", +"!. c #A6B0BA", +"~. c #A7B1BB", +"^. c #AFB2B5", +"/. c #A8B1BB", +"(. c #A9B2BC", +"). c #AFB7BF", +"_. c #BDA8A8", +"`. c #B1B1B1", +"'. c gray71", +"]. c #B7B7B7", +"[. c gray72", +"{. c gray73", +"}. c #B9BCBF", +"|. c gray74", +" X c #BFBEBE", +".X c #8588DF", +"XX c #8497DE", +"oX c #9797DA", +"OX c #8182EC", +"+X c #8A8CE1", +"@X c #888BED", +"#X c #898BF1", +"$X c #8D91E3", +"%X c #829AFF", +"&X c #9B9CEC", +"*X c #9FA3CA", +"=X c #92A1DE", +"-X c #8AA2FF", +";X c #ACB8D1", +":X c #B2B9C1", +">X c #B9BEC3", +",X c #B9BBCE", +" <.:.#...A 9.b m ^ @.~ z R.{.cXDXDXDXDXDXlXQ.DXDX", +"ZXDXQ.lXZXcXgXh w , #.' 1 M P Y ..[ q Y.'.zXZXDXDXDXDXDXlX(.DXDX", +"AXDX(.hXDXAX# 1. .u.e t 0.K U o.-.* R.{.gXAXDXDXDXDXDXDXhX(.AXDX", +"AXDX).7XDXp F 6.4.<.s.d.P I [ -.- R.'.zXZXDXDXDXDXDXDXDX7X:XDXDX", +"DXDXhX(.AXbX&X9 =.p.1.{ Y [ O.C ;X'.gXZXDXDXDXDXDXDXDXDX(.hXDXDX", +"DXDXDXL.AXZXzXjXOX: <.:.#.[ A =X`.dXmXDXDXDXDXDXDXDXDXDXL.DXDXDX", +"DXDXAX:XL.~.>XdX>X,Xj < #.' r T.^.7XhXzXlXlXlXlXhX5X(.L.).DXDXDX", +"DXDXDXDXDXhX:X(.W.P.K.*Xu t G.J.P.Q.~.Q.Q.Q.~.Q.(.:XhXDXDXDXDXDX", +"DXDXDXDXDXDXDXDXDXAXZXzXdX{.{.zXZXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDX", +"DXDXDXDXDXDXDXDXDXDXAXAXbXcXcXZXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDX" +}; diff --git a/2009-x64/prefsThierry/icons/zooAutoSave_0.xpm b/2009-x64/prefsThierry/icons/zooAutoSave_0.xpm new file mode 100644 index 0000000..cf013c9 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooAutoSave_0.xpm @@ -0,0 +1,265 @@ +/* XPM */ +static char *zooAutoSave_0[] = { +/* columns rows colors chars-per-pixel */ +"32 32 227 2", +" c #180B03", +". c #22150A", +"X c #27190C", +"o c #2A1405", +"O c #2C190A", +"+ c #2B1C11", +"@ c #351B08", +"# c #3A1B06", +"$ c #312217", +"% c #322318", +"& c #37281D", +"* c #3C2613", +"= c #3D2815", +"- c #3B2A1B", +"; c #411E07", +": c #462007", +"> c #442008", +", c #4C2207", +"< c #482309", +"1 c #402512", +"2 c #422914", +"3 c #422B18", +"4 c #4E2C14", +"5 c #482D18", +"6 c #4D321A", +"7 c #512507", +"8 c #542608", +"9 c #51290B", +"0 c #582708", +"q c #5B2B0B", +"w c #512D13", +"e c #5B2E10", +"r c #5F300E", +"t c #523217", +"y c #513218", +"u c #5C3113", +"i c #5A351A", +"p c #5E3919", +"a c #463321", +"s c #453629", +"d c #493421", +"f c #4C3824", +"g c #4D3A28", +"h c #573B23", +"j c #583720", +"k c #5D3920", +"l c #583F29", +"z c #632F0C", +"x c #63310E", +"c c #6C320B", +"v c #643411", +"b c #663815", +"n c #663A19", +"m c #693410", +"M c #693915", +"N c #6B3D1A", +"B c #73340B", +"V c #79360B", +"C c #7C380C", +"Z c #733B13", +"A c #783D13", +"S c #5F432C", +"D c #524233", +"F c #584533", +"G c #69401E", +"H c #73421B", +"J c #79451C", +"K c #65452C", +"L c #6D4323", +"P c #634C35", +"I c #694F39", +"U c #6C5138", +"Y c #744520", +"T c #774922", +"R c #7A4921", +"E c #794D29", +"W c #7C512B", +"Q c #745135", +"! c #7E5435", +"~ c #7F5838", +"^ c #64594A", +"/ c #6E5546", +"( c #755C4B", +") c #7E5E44", +"_ c #6E624F", +"` c #79624C", +"' c #706454", +"] c #736959", +"[ c #7C6853", +"{ c #823A0C", +"} c #883E0D", +"| c #823F10", +" . c #8C410F", +".. c #834214", +"X. c #80471C", +"o. c #85491C", +"O. c #8B4414", +"+. c #8A4718", +"@. c #8F4816", +"#. c #8B4B1B", +"$. c #914512", +"%. c #934915", +"&. c #924D1B", +"*. c #9B4B14", +"=. c #9B4E19", +"-. c #97521E", +";. c #9A521D", +":. c #844C21", +">. c #8B4E21", +",. c #81542A", +"<. c #8C5123", +"1. c #8C592C", +"2. c #825A3A", +"3. c #8B5D32", +"4. c #935423", +"5. c #91552A", +"6. c #935826", +"7. c #915929", +"8. c #9A5521", +"9. c #9B5925", +"0. c #9B5C2A", +"q. c #955F34", +"w. c #8F6336", +"e. c #936335", +"r. c #996737", +"t. c #9A653E", +"y. c #9B6938", +"u. c #A24C12", +"i. c #AA4E11", +"p. c #A55117", +"a. c #A4531A", +"s. c #A8531A", +"d. c #AD581C", +"f. c #B35718", +"g. c #B35A1B", +"h. c #BB5B19", +"j. c #A25923", +"k. c #A05C28", +"l. c #AB5D22", +"z. c #B45D20", +"x. c #A4612B", +"c. c #AE672E", +"v. c #AF682E", +"b. c #B26024", +"n. c #B26529", +"m. c #B56A2E", +"M. c #BB6222", +"N. c #BB6B2C", +"B. c #B46D33", +"V. c #BB6E31", +"C. c #B4733A", +"Z. c #BF7334", +"A. c #BF783B", +"S. c #876144", +"D. c #806048", +"F. c #8C684E", +"G. c #806B54", +"H. c #826E59", +"J. c #83705C", +"K. c #936B43", +"L. c #916F57", +"P. c #977459", +"I. c #826F62", +"U. c #867364", +"Y. c #86776F", +"T. c #8A7E75", +"R. c #A56F4A", +"E. c #A6714B", +"W. c #A9724A", +"Q. c #A77C59", +"!. c #AC7D5E", +"~. c #C25E1A", +"^. c #C5601A", +"/. c #CA621A", +"(. c #D3641A", +"). c #D9681B", +"_. c #C36521", +"`. c #C36C2A", +"'. c #C96620", +"]. c #CF6820", +"[. c #CB6D28", +"{. c #C77533", +"}. c #C47A3B", +"|. c #C97532", +" X c #D46B21", +".X c #D86D22", +"XX c #D4732B", +"oX c #D17B36", +"OX c #908277", +"+X c #90867F", +"@X c #988272", +"#X c #A58975", +"$X c #AA8C72", +"%X c #B28B6E", +"&X c #CF803D", +"*X c #978E88", +"=X c #9B9283", +"-X c #A19787", +";X c #A19888", +":X c #AF9584", +">X c #A89F97", +",X c #B39B87", +" J T H H H H H r + 5XwXuX", +"tX0X=XO N Y @X>XqXrX$XQ L ,.G G W L > : n ,.,.H b N R H + =X0XyX", +"tX8X_ * Y < T.*XY.( t.> < 3.> , L : , , : e.n , , : , X.5 _ 8XyX", +"tX8XF t T ) >X5X/ ; w.: : e., , H E , , J ,., 7 1.9 7 b p F 7XwX", +"wX4Xf p Y ( *XU.i , e., , e., , T r., 7 r.T 7 7 y.b 7 x N g 5XwX", +"wX4Xa n e U.OX) 9 , r., 7 x 8 7 T y.8 7 J e.7 0 J q 0 H G 6 5XwX", +"wX4X- M Z U.( i 9 7 1.b 7 7 q 8 J 0.x 9 0 J :.q 0 q Z -.H 3 4XqX", +"qX3X= b X.1XQ.q.5.5.4.7.6.6.6.6.6.4.8.8.8.8.9.9.9.9.-.-.A 3 2XqX", +"qX4X* x ..%Xt.<.#.#.#.#.#.#.-.#.&.&.&.-.-.;.;.;.;.;.-.%.C 1 2XwX", +"qX2X* x ..!.5.#.+.+.+.@.%.%.@.&.%.%.%.%.%.*.*.=.*.*.*.*.C 1 2XwX", +"qX>X* c } R.4.+.@.O.O.%.%.%.%.%.%.*.*.*.;.*.*.*.=.u.u.u.C 1 2XwX", +"qX>X* m } R.5.&.%.%.%.&.%.=.=.*.=.=.=.=.a.s.s.s.s.s.p.=...1 2XwX", +"qX3X3 Z &.E.k.8.8.;.;.a.j.j.j.j.l.j.l.d.l.l.l.b.b.b.l.d.O.5 4XwX", +"wX3X5 A 8.R.:.:.0.x.x.0.+.#.9.c.9.-.-.m.-.-.n.N.;.;.b.M.%.6 2XwX", +"wX4Xf J o.Y v z z 6.6.c c c c &.9.B B B.B B v.V V V V =.8.h 4XwX", +"wX5Xl J Z Y m X.#.C.x.+.o.X.B B A.B B j.V @...C +.a.C C 4.S 7XwX", +"tX5XP H 9.Y m c c J 4.c B V B B }.&.V C C B.C { C ..C { <.U 7XyX", +"yX8X[ p +.Z 4.+.B B B B +.{ V V }.Z.C C { oX=.{ @.d. .;.H G.7XyX", +"tX0X-X= &.B c c B 9.&.V V O.C C {.|...{ ;.oX{.@. .{ .g.4 =XqXyX", +"pXwX4X2 ;.l.n.n.m.N.N.N.N.`.`.`.`.[.[.[.[.XXXXXXXXXXXX_.t 5XeXuX", +"pXtX8XJ.w d.g.g.M.M.M.M._._._._././.(.].(. X.X.X.X.X.Xb J.9XtXpX", +"aXuXwX5XI 9 *.f.g.h.h.h.~.^.~.^././././.(.).).).).^.x U 5XeXuXpX", +"aXaXtXqX5XH.* # 0 C .$.*.*.u.u.u.u.i.i.*.*. .c > < J.5XqXuXpXpX", +"fXaXaXtXwX8X4X=X` K i 6 4 4 4 4 4 4 w t i i K ` =X4X7XwXyXpXaXfX", +"fXaXaXaXuXtXqX0X7X5X4X2X2X2X2X2X2X2X2X2X4X5X5X8X0XwXyXuXpXpXfXfX", +"fXfXfXaXaXuXpXtXyXtXwXwXwX0XqXqXqXwXqXwXwXwXwXyXyXuXpXpXdXdXfXfX" +}; diff --git a/2009-x64/prefsThierry/icons/zooAutoSave_1.xpm b/2009-x64/prefsThierry/icons/zooAutoSave_1.xpm new file mode 100644 index 0000000..f2ffe85 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooAutoSave_1.xpm @@ -0,0 +1,294 @@ +/* XPM */ +static char *zooAutoSave_1[] = { +/* columns rows colors chars-per-pixel */ +"32 32 256 2", +" c #18011B", +". c #230A25", +"X c #29022E", +"o c #2A0E2D", +"O c #2D0731", +"+ c #2C102E", +"@ c #2C1030", +"# c #35023C", +"$ c #351739", +"% c #3E0445", +"& c #3E1540", +"* c #3E1A41", +"= c #5B323F", +"- c #44034D", +"; c #44034B", +": c #480052", +"> c #4C0E55", +", c #4F0C58", +"< c #4F0558", +"1 c #421546", +"2 c #451649", +"3 c #510F4E", +"4 c #520B57", +"5 c #541859", +"6 c #4E1752", +"7 c #5A0664", +"8 c #5C0C65", +"9 c #5E0A68", +"0 c #5A0565", +"q c #5A1762", +"w c #452849", +"e c #492448", +"r c #4D2152", +"t c #4F3354", +"y c #562944", +"u c #553357", +"i c #59295A", +"p c #5E2B62", +"a c #631E5A", +"s c #610C6B", +"d c #660E70", +"f c #6B0179", +"g c #690376", +"h c #641A6A", +"j c #691C6D", +"k c #671470", +"l c #6A1473", +"z c #6E1C75", +"x c #6F1778", +"c c #721B7A", +"v c #7B197C", +"b c #6C2851", +"n c #7C3851", +"m c #752E55", +"M c #62286A", +"N c #6D206C", +"B c #66366B", +"V c #7C2D6F", +"C c #74207B", +"Z c #78297E", +"A c #73247A", +"S c #79326A", +"D c #703174", +"F c #624968", +"G c #6C5371", +"H c #75497D", +"J c #705976", +"K c #78537E", +"L c #750184", +"P c #7B0588", +"I c #7E0090", +"U c #7B1C80", +"Y c #7C2184", +"T c #7C2D82", +"R c #7C3483", +"E c #7E5984", +"W c #7C5681", +"Q c #813C55", +"! c #88386D", +"~ c #8A377A", +"^ c #96367D", +"/ c #8B4655", +"( c #914A5B", +") c #9A5756", +"_ c #8E406F", +"` c #994A75", +"' c #904D73", +"] c #906879", +"[ c #A15D58", +"{ c #A2497A", +"} c #A75679", +"| c #A76359", +" . c #BB7B5B", +".. c #B17154", +"X. c #B36E60", +"o. c #BE7A63", +"O. c #BE7B7A", +"+. c #AC6D77", +"@. c #C67A79", +"#. c #840196", +"$. c #880799", +"%. c #8A198C", +"&. c #8B1296", +"*. c #800A89", +"=. c #9806AC", +"-. c #9D02B2", +";. c #9915A9", +":. c #8D2484", +">. c #842882", +",. c #843A83", +"<. c #8E3C91", +"1. c #962C8A", +"2. c #972996", +"3. c #993585", +"4. c #9F3A92", +"5. c #993198", +"6. c #8C2199", +"7. c #9E22A5", +"8. c #A302B9", +"9. c #A916BC", +"0. c #A5389C", +"q. c #A13D88", +"w. c #AE23BE", +"e. c #A532A5", +"r. c #AE0CC4", +"t. c #AE16C3", +"y. c #B50CCB", +"u. c #BC0BD4", +"i. c #B218C6", +"p. c #B818CD", +"a. c #B619CA", +"s. c #BD16D4", +"d. c #BA28CB", +"f. c #B228C3", +"g. c #BE26D0", +"h. c #845684", +"j. c #935699", +"k. c #8D498D", +"l. c #8F7D92", +"z. c #907293", +"x. c #A74887", +"c. c #A94394", +"v. c #AC4598", +"b. c #A65084", +"n. c #B65B88", +"m. c #B65697", +"M. c #AB5399", +"N. c #B345AE", +"B. c #AB6180", +"V. c #A86492", +"C. c #A17F85", +"Z. c #B8648A", +"A. c #BD6299", +"S. c #B8738E", +"D. c #A775AA", +"F. c #C209DB", +"G. c #C317DA", +"H. c #C908E3", +"J. c #CD08E8", +"K. c #CB12E4", +"L. c #D209ED", +"P. c #D115EA", +"I. c #C820DE", +"U. c #C126D5", +"Y. c #C835DA", +"T. c #CD22E4", +"R. c #D024E6", +"E. c #C65AAD", +"W. c #C26899", +"Q. c #C7768C", +"!. c #C8789B", +"~. c #C26D86", +"^. c #C769A6", +"/. c #CB76A4", +"(. c #D179A5", +"). c #D170AD", +"_. c #D172B3", +"`. c #C740D3", +"'. c #D46DC9", +"]. c #BE937B", +"[. c #C78D5A", +"{. c #C98875", +"}. c #D2907B", +"|. c #D9AA68", +" X c #DDB379", +".X c #DAA772", +"XX c #E0AE7E", +"oX c #E8C675", +"OX c #F4D97D", +"+X c #F7E27D", +"@X c #95849B", +"#X c #9B89A0", +"$X c #9F93A8", +"%X c #AF8F89", +"&X c #AE82B2", +"*X c #A195A9", +"=X c #A49AAC", +"-X c #A89EAF", +";X c #AB9AB0", +":X c #B286B6", +">X c #AAA2B3", +",X c #AEA8B7", +"X*X@XF w $ @ @ @ o o @ @ @ @ @ $ w F @X*X>XXJ O 9 9 9 l k.D.&XD.D.j.k.R R A z l l k d d d s O J ,X5X8X", +"7X1X=Xo 8 l R :XIXIXPX:Xj.R Z Z Z Z 5 - A C C c x x l 9 @ *X1X7X", +"3X,X@Xo l C z.;X2XBXD.D D R j h k.h 3 - h >.T A j z Y x o #X,X7X", +"3X>XG $ z - z.l.%X] z.b n j.; b _ n n : : <.j 3 / / b ~ 1 G >X3X", +"3X>Xu 5 c h.4XdX+./ 9X[ ..V.b n ' {.n m ~ >.a [ S.| ( ` 5 i -X3X", +"1X=Xe q z ] sX%X[.[.zX|.[.qX../ %XvX) / M.A ! ) eX.X| ! S r -X1X", +"1X*Xe h S %XsXaXOX+X+X+XHXoXo.| XHXoX[.B.M.( ..oXHXX.S.` e =X1X", +"1X*X* V ` sX].+X+X+XCXoX+X+XoX| zXHXHX|.@.+.x.o. XHXaX!.} * *X1X", +"1X*X& ! n.UXFXHXJXeXqX!.qXGXHXeXVXHXHXHXeXeX^./.xXHXvXwXb.y *X.} {.rXhXSXZXhXqXQ.^ } NXzXn.N.3.5.m.Q.wXbXn.n.5.p -X1X", +"3X-XB z e.,.} } { Q.!.+.} b.x.3.MXW.~.4.*.f.x.c.n.Q.x.4.2.B >X3X", +"5X>XK 5 %.v %.5.{ { x.3.4.*.L :.'.'.1.:.I Y.7.&.v.N.&.;.z W >X5X", +"6X 9.9.t.t.a.a.p.p.s.s.s.s.G.G.K.K.K.J.P.P.P.P.k h.>X5X8X", +"KX6X1X-XB , =.r.r.y.y.u.s.u.u.F.F.F.H.H.J.J.L.L.L.F.s D -X1X7XKX", +"KX8X6X E -X1X6XKXKX", +"LXKX8X6X1X>X=X@XH M 5 5 > > > , > , , , q q M W @X*X>X1X6X7XKXLX", +"LXLXKX8X7X5XX1X6X6X8XKXLXLX", +"LXLXLXLXKX8X6X5X3X3X1X1X c #343355", +", c #33325A", +"< c #2F2E69", +"1 c #21227B", +"2 c #2F2E7C", +"3 c #353463", +"4 c #3F3D64", +"5 c #343370", +"6 c #34337B", +"7 c #3F3D73", +"8 c #3F3D7F", +"9 c #5E0504", +"0 c #580909", +"q c #460121", +"w c #7F181B", +"e c #5A076B", +"r c #403F7A", +"t c #6A1674", +"y c #42436B", +"u c #484764", +"i c #54536E", +"p c #56567A", +"a c #555874", +"s c #68667C", +"d c #000084", +"f c #02028D", +"g c #000092", +"h c #00009B", +"j c #170096", +"k c #111187", +"l c #191982", +"z c #0000A3", +"x c #0000AA", +"c c #0101B2", +"v c #0101BC", +"b c #0909BD", +"n c #1D1DAE", +"m c #3B168B", +"M c #2F2E8A", +"N c #20219C", +"B c #343383", +"V c #3F3D87", +"C c #323294", +"Z c #33329C", +"A c #3F3E95", +"S c #2A29AC", +"D c #2829B1", +"F c #3132AB", +"G c #3A39A9", +"H c #3332B3", +"J c #0101C2", +"K c #0101C9", +"L c #0909C3", +"P c #0909CC", +"I c #1414CD", +"U c #1B1BC8", +"Y c #1313D0", +"T c #2B2AC9", +"R c #2121D7", +"E c #2C2CD6", +"W c #302FC8", +"Q c #3B22CC", +"! c #3433C3", +"~ c #3E3DC7", +"^ c #3C3BC8", +"/ c #403FB1", +"( c #414080", +") c #484785", +"_ c #48478C", +"` c #4A4884", +"' c #555394", +"] c #55579D", +"[ c #5D5F97", +"{ c #5E5C9D", +"} c #4847B4", +"| c #5857A5", +" . c #5F5EAE", +".. c #5C5AB5", +"X. c #604DA5", +"o. c #606289", +"O. c #67698B", +"+. c #686680", +"@. c #6D6B84", +"#. c #686694", +"$. c #68669C", +"%. c #716F98", +"&. c #7B7683", +"*. c #7B798D", +"=. c #7B7995", +"-. c #7B789D", +";. c #6361A5", +":. c #6866AA", +">. c #6D6CA3", +",. c #6062B2", +"<. c #6866B8", +"1. c #6C6ABE", +"2. c #716FB3", +"3. c #716FBD", +"4. c #7B79B1", +"5. c #7E7EB8", +"6. c #4745C8", +"7. c #4A48C9", +"8. c #4F4DD0", +"9. c #5252CC", +"0. c #5F5ECB", +"q. c #4545F3", +"w. c #6362C9", +"e. c #6A68C9", +"r. c #7674C8", +"t. c #7978C2", +"y. c #7F7DE8", +"u. c #9C030A", +"i. c #8A2C2B", +"p. c #AF0909", +"a. c #A60821", +"s. c #B43635", +"d. c #906765", +"f. c #AD4959", +"g. c #A65D5A", +"h. c #A25061", +"j. c #AA5579", +"k. c #D71109", +"l. c #D51313", +"z. c #D65A53", +"x. c #877E98", +"c. c #807EA8", +"v. c #807EC7", +"b. c #807EC8", +"n. c #82808E", +"m. c #8A8893", +"M. c #8F8D9F", +"N. c #9F8581", +"B. c #908E9C", +"V. c #8583A2", +"C. c #8284AA", +"Z. c #8C8AA7", +"A. c #8A88A8", +"S. c #8185B3", +"D. c #8589B3", +"F. c #8B8FB5", +"G. c #8C90B6", +"H. c #9580A1", +"J. c #908EBF", +"K. c #9896A3", +"L. c #9896AC", +"P. c #9E9CA1", +"I. c #9E9CAF", +"U. c #9093B6", +"Y. c #9396B8", +"T. c #9E9CB1", +"R. c #9D9DBB", +"E. c #9EA0BA", +"W. c #A48891", +"Q. c #AB9894", +"!. c #A19FB6", +"~. c #B2A39E", +"^. c #BBA29D", +"/. c #A4A1A6", +"(. c #A6A3A9", +"). c #A8A6AB", +"_. c #ACAAAD", +"`. c #A6A3B2", +"'. c #A3A2BB", +"]. c #ACA9BC", +"[. c #B0ACAF", +"{. c #BAAFAA", +"}. c #B1AFB1", +"|. c #B1AEBC", +" X c #B6B3B4", +".X c #B5B2BC", +"XX c #B8B6BF", +"oX c #8786C7", +"OX c #918EC9", +"+X c #9290C9", +"@X c #9D9AC8", +"#X c #9694D5", +"$X c #9492E4", +"%X c #A29FC7", +"&X c #B1AEC7", +"*X c #B5B4C0", +"=X c #B9B6C9", +"-X c #BAB8C2", +";X c #BCB9CB", +":X c #D38E89", +">X c #C6A9A4", +",X c #C4B3AE", +".tX0X( f 0.E ..tXtXtXtXtXwXG.tX", +"tXD.qXrXtXtXtXtXn.. < V.|.>.; ; L.tX/.o V.tXt.h tXtXtXtXtXqXD.tX", +"tXD.qXtXtXtXtX8X=.. X o O + * y 0XrX1X$ ` !.A l tXtXtXtXtXqXD.tX", +"tXD.qXtXtXtXtX#.+ + X . X , 4 XXtXtXtX-.o o % K.tXtXtXtXtXqXD.tX", +"tXD.qXtXtXtXqX6 * * = + 3 XtXtXtXtXtX7.} Z. XrXtXtXtXtXtXqXD.tX", +"tXD.qXrXtXtX`.* * * = = V wXtXtXtXtX@XU -XtXtXtXtXtXtXtXtXqXD.tX", +"tXD.qXtXtXtX) * * = = B Z.tXtXtXtXtXT r.tXtXtXtXtXtXtXtXtXqXD.tX", +"tXD.qXtXtX8X6 * = = = $.tXtXtXtXeXb.T 9XtXtXtXtXtXtXtXtXtXeXD.rX", +"tXD.eXtXeX-.* * = = _ tXtXtXtX].5.! OXtXtXtXtXtXtXtXtXtXtXqXD.tX", +"tXD.qXtXtX6 * = = B qXtXtXtXm.g b U @XtXtXtXtXtX>Xs.3XtXtXqXD.tX", +"tXD.XXS...Z = = B .XtXtXtX[.* | =X9.S 8XtXtXtXtXQ.9 ,XtXtXqXD.tX", +"eX[ Z x v J c ; T.tXtXtXtX/.o Z.rX .f .XrXrXtXtX~.0 O ' tXeX0Xx z z T oXwXtXtXtXtXrXtXtXtXrX@X9.F - t Q j W.qXD.tX", +"u . r qXtX].g f J K K 6.=XrXrXtXtXtXtXtXtXtXrXO.# a.e m 8XqXF.rX", +"P. . 5 ` B = * x J K K W t.rXrXtXtXtXtXtXtXrX}.. @ @ u.z.4XF.tX", +"qXy , . X X X . . + g v K K ~ &XrX].2.} 3.-XtXrX_.a &.N.i.p.f.2X", +"tXD.).u > i /.. . . . X ; J K J k g x v K ! Y.rXtXtXrXeX3Xd.w ^.", +"tXD.qXtXtXtX8X*.4 , . . . X ; h = g H 8.b.Y H -XtXtXtXtXtXeXD.tX", +"tXD.qXtXtXtXtXtXtX7X_.+.4 . . . = C |.tX;Xb x 4.tXtXtXtXtXeXD.tX", +"tXF.wXtXtXtXtXtXtXtXtXtXqX XK.u O B rXtXrXc h { tXtXtXtXrX0XF.tX", +"tXE.*XtXtXtXtXtXtXtXtXtXtXtXtXs . 5 T.eX'.f ; %.tXtXtXtXrXXX!.tX", +"rX8XU.tXtXtXtXtXtXtXtXtXtXtXtX}., X o + * + 5 }.tXtXtXtXrXY.8XrX", +"rXtX.XU.XXwXtXtXtXtXtXtXtXtXtXtXm., . . , P.tXtXtX0X-XF.XXtXtX", +"rXtXtX8XR.G.S.S.S.S.S.S.S.S.S.S.S.C.o.y p C.S.S.S.S.F.R.0XtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXtXtXrXtXtXtXtXtXtXtXtXrXtXtXtX" +}; diff --git a/2009-x64/prefsThierry/icons/zooBoltOnIK.xpm b/2009-x64/prefsThierry/icons/zooBoltOnIK.xpm new file mode 100644 index 0000000..83b0fbe --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooBoltOnIK.xpm @@ -0,0 +1,257 @@ +/* XPM */ +static char *zooBoltOnIK[] = { +/* columns rows colors chars-per-pixel */ +"32 32 219 2", +" c #01023C", +". c #040445", +"X c #000049", +"o c #0A0946", +"O c #000054", +"+ c #00005B", +"@ c #0B015B", +"# c #150050", +"$ c #1C1B47", +"% c #010062", +"& c #000075", +"* c #00007B", +"= c #1B0069", +"- c #1B007B", +"; c #151573", +": c #221C43", +"> c #310043", +", c #2D2C51", +"< c #2F2E69", +"1 c #2C2C7B", +"2 c #343460", +"3 c #3C3B64", +"4 c #3A3B68", +"5 c #3F3D73", +"6 c #3D3C7F", +"7 c #440000", +"8 c #4A0000", +"9 c #560000", +"0 c #6E0202", +"q c #690908", +"w c #700000", +"e c #700208", +"r c #790000", +"t c #7D1F1F", +"y c #6A0335", +"u c #61232B", +"i c #7D2222", +"p c #4B0072", +"a c #403F65", +"s c #70004B", +"d c #4B4967", +"f c #54536F", +"g c #6C484B", +"h c #000085", +"j c #000092", +"k c #000099", +"l c #0000A3", +"z c #0000A9", +"x c #0404B1", +"c c #0202BD", +"v c #0D0DB7", +"b c #0B0BBD", +"n c #1A00A3", +"m c #1B1BB7", +"M c #1E279D", +"N c #2D1A86", +"B c #3F0684", +"V c #2F2E8A", +"C c #2425AF", +"Z c #2E2DAD", +"A c #2323BD", +"S c #3433A2", +"D c #3A39A9", +"F c #3433B4", +"G c #3F3DB7", +"H c #0101C9", +"J c #0909C9", +"K c #0C0FD7", +"L c #1212C5", +"P c #1313CB", +"I c #1D1CC8", +"U c #1515D0", +"Y c #2221C9", +"T c #2B2AC9", +"R c #3B35E2", +"E c #44168D", +"W c #4749AF", +"Q c #4F51A3", +"! c #5A5EA7", +"~ c #5F63B4", +"^ c #65678E", +"/ c #6B6985", +"( c #63639B", +") c #676991", +"_ c #68669F", +"` c #6E719B", +"' c #736682", +"] c #6866AA", +"[ c #6C6BA3", +"{ c #6064BD", +"} c #6669B9", +"| c #6C63B3", +" . c #6866B8", +".. c #6F73A6", +"X. c #7A78A5", +"o. c #7072B8", +"O. c #4644C9", +"+. c #5755C9", +"@. c #6D6BC8", +"#. c #7275C0", +"$. c #7D80AC", +"%. c #7E81B2", +"&. c #831D19", +"*. c #920000", +"=. c #980000", +"-. c #810023", +";. c #812323", +":. c #A60000", +">. c #B50004", +",. c #B80000", +"<. c #B30420", +"1. c #A72B27", +"2. c #A42E31", +"3. c #B93032", +"4. c #A33552", +"5. c #825A58", +"6. c #995552", +"7. c #A85A68", +"8. c #C30000", +"9. c #CD0303", +"0. c #D50000", +"q. c #CF2F34", +"w. c #CF343A", +"e. c #DA2E2B", +"r. c #E00F07", +"t. c #E30A0A", +"y. c #E90302", +"u. c #D34544", +"i. c #C66768", +"p. c #9647AE", +"a. c #8A798B", +"s. c #A77F84", +"d. c #8E8C98", +"f. c #9F8987", +"g. c #938C96", +"h. c #938C9D", +"j. c #94919B", +"k. c #98959C", +"l. c #8785A3", +"z. c #8689AE", +"x. c #8185B3", +"c. c #8589B3", +"v. c #8A8EB4", +"b. c #8A88BD", +"n. c #8C90B5", +"m. c #9491A3", +"M. c #9491AA", +"N. c #9996A3", +"B. c #9896AA", +"V. c #9C9AA5", +"C. c #9C99A9", +"Z. c #9293B5", +"A. c #9392BA", +"S. c #9699B8", +"D. c #9895B5", +"F. c #9E9BB6", +"G. c #9B9CB9", +"H. c #9EA0BA", +"J. c #A08482", +"K. c #AA8783", +"L. c #A5928F", +"P. c #AF938E", +"I. c #AF9F9B", +"U. c #A384A3", +"Y. c #A19FA6", +"T. c #A09DBE", +"R. c #B1A19C", +"E. c #A4A1A3", +"W. c #A4A1A9", +"Q. c #A6A3B2", +"!. c #A4A4BB", +"~. c #A8A5B2", +"^. c #A9A6BA", +"/. c #ACA9B3", +"(. c #ACAABB", +"). c #B4ADAD", +"_. c #B2ADB2", +"`. c #B1AEB8", +"'. c #BDB1AE", +"]. c #B6B3B3", +"[. c #B3B2BD", +"{. c #BAB7B6", +"}. c #BAB6BC", +"|. c #BCB8BD", +" X c #8582C8", +".X c #8A88C0", +"XX c #9491C3", +"oX c #9492C8", +"OX c #9895C1", +"+X c #9D9BC2", +"@X c #9D9AC9", +"#X c #9391E4", +"$X c #A09EC3", +"%X c #A9A6C3", +"&X c #ADABC7", +"*X c #AFACD2", +"=X c #B1AEC8", +"-X c #B5B4C0", +";X c #B8B5C5", +":X c #BBB9C1", +">X c #BEBCC8", +",X c #CC9C98", +"X0X.XG.Z.[.yXyX", +"yX9XZ.tXyXyXyXyXyXf + V wXyX9Xx l Q Z.Z.%.c.x.n.S.0XA.!.rXS.9XyX", +"yXH.-XyXyXyXyXyXyXd X 1 yXyXwXk j ( 9XyXyXqXN.W.}.(.M.|.yX[.H.yX", +"yXn.eXyXyXyXyXyXyXj. < X.^.[ h * B.yXyXyX`.N.j.j.N._.tXyXeXn.yX", +"yXc.wXyXyXyXyXyXyX3X3 . X O + + 5 wXyXyXqXM.M.M.N.7XwXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXyXyX;Xh . o 2 3 |.yXyXyX].M.M.M.Q.tXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXyXyXJ H /.V.7XyXyXyXtXtX~.M.M.M.9XtXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXyX XH XyXyXyXyXyXyXtX}.B.M.M.9XtXyXyXyXyXrXc.yX", +"yXc.wXyXyXyXyXyXyXH J yXyXyXyXyXyXtXqX(.M.M.}.yXyXyXyXyXyXtXc.yX", +"yXc.wXyXyXyXyXyXO.H >XyXyXyXyXyXqX(.OXXXA.`.tXyXyXyXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXH Y yXyXyXyXyXyX/.D.%X*XoX6XtXtXyXyXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXY H yXyXyXyXyXyXyXh.`.^.eX+XT.;XeXyXyXyXyXyXwXc.yX", +"yXc.wXyXyXn.>XH +.yXyXyXyXyXeX[.x.c.!.5XG.A.oX@X6XwXyXyXyXwXc.yX", +"yXc.eXX.S z v A wXyXyXyX:XG.c.H.~.k.C.B.N.M.A.oXoX=XeXyXwX6X%.tX", +"tXv.6 h l b U c } 9XH.c.S.-XwXyXrX].K.8.3.k.g.m.Z.oX@X:X`.XX .;X", +"yX) + h D oX#XP C %.&XeXyXyXyXyXtXtXf.9 t ).).E.j.m.Z.M.D.&X#.oX", +"yX4 + V wXyX0Xx l ] yXyXyXyXyXyXyXyXL.7 i rXrXwX3X].W.N.^.G.x.$X", +"yX2 X 1 yXyXwXk j _ yXyXyXyXyXyXyXyXI.7 ;.rXyXyXtXtX2Xh.c.`.x.D.", +"yX^ . < l.[.[ * * Z 6XyXtXtXyXyXyXyXR.8 ;.rXyXyXyX,Xq.w.g.Y.( m.", +"yX$.3 . X O + + ; L H J XtXyXyXyXyXR.8 &.wXyX8Xi.t.0.2.).Y.` 3X", +"yXc.9X/ o o 2 a 3XyX@.H H J O.yXyXrXa.8 e | U.e.y.,.6.8XtXeXv.tX", +"yXc.rXtX/.V.8XyXyXyXyXyX&XP J J I ( & > E K n <.1.P.rXyXyXeXv.tX", +"yXc.wXyXyXyXyXyXyXyXyXyXyXyXyXT m % j p p.R c N 1XyXyXyXyXrXv.tX", +"yXc.wXyXyXyXyXyXyXyXyXyXyXyXyXyXd.+ = >.0.B z M 0XyXyXyXyXrXv.tX", +"yXn.eXyXyXyXyXyXyXyXyXyXyXyXyXyXE. @ y -.- s 4.rXtXyXyXtX0Xv.rX", +"yXH.[.yXyXyXyXyXyXyXyXyXyXyXyXyXqX$ @ % # *.9.e. c #311C19", +", c #251B24", +"< c #201B2A", +"1 c #291720", +"2 c #2F1C20", +"3 c #2F201A", +"4 c #37251D", +"5 c #3C241D", +"6 c #24222B", +"7 c #2E2029", +"8 c #272030", +"9 c #292434", +"0 c #2D293A", +"q c #372320", +"w c #312229", +"e c #3A2622", +"r c #3D2B2F", +"t c #332B3D", +"y c #36313E", +"u c #3B333A", +"i c #38393C", +"p c #353141", +"a c #393542", +"s c #3C3B44", +"d c #3D3D49", +"f c #3F4043", +"g c #422D27", +"h c #432E29", +"j c #44302C", +"k c #49342E", +"l c #453331", +"z c #4C3634", +"x c #4D3A34", +"c c #4D3C3A", +"v c #513D34", +"b c #523E3B", +"n c #443A42", +"m c #423D49", +"M c #4C3C40", +"N c #4F403C", +"B c #54413C", +"V c #59423D", +"C c #424244", +"Z c #434349", +"A c #474849", +"S c #4B4243", +"D c #4B444B", +"F c #49494E", +"G c #474651", +"H c #494452", +"J c #494558", +"K c #4B4B51", +"L c #4E4D59", +"P c #4F5055", +"I c #554542", +"U c #51494C", +"Y c #584442", +"T c #5C4944", +"R c #5B4B49", +"E c #534A52", +"W c #514C5D", +"Q c #5D514B", +"! c #515156", +"~ c #53525A", +"^ c #5D575F", +"/ c #58595D", +"( c #565660", +") c #595661", +"_ c #5C5C61", +"` c #5F6067", +"' c #604E46", +"] c #624E4A", +"[ c #63534E", +"{ c #655454", +"} c #665458", +"| c #665954", +" . c #625A5A", +".. c #695551", +"X. c #6B5A56", +"o. c #6B5A5B", +"O. c #705D5A", +"+. c #615C62", +"@. c #625F69", +"#. c #6A5C63", +"$. c #715F60", +"%. c #68605A", +"&. c #716154", +"*. c #73615D", +"=. c #636466", +"-. c #646469", +";. c #67686F", +":. c #6C6366", +">. c #6C666B", +",. c #6B6C6C", +"<. c #666172", +"1. c #6E6374", +"2. c #6C6C72", +"3. c #6F7074", +"4. c #756462", +"5. c #70616C", +"6. c #7B6964", +"7. c #7D6C69", +"8. c #726471", +"9. c #746D75", +"0. c #746D7C", +"q. c #796C74", +"w. c #786D7A", +"e. c #7E706D", +"r. c #727274", +"t. c #73747B", +"y. c #77787B", +"u. c #7B7273", +"i. c #7B737D", +"p. c #78797C", +"a. c #7C7C81", +"s. c #7E7B88", +"d. c #7F8089", +"f. c #806D69", +"g. c #82726C", +"h. c #857472", +"j. c #867976", +"k. c #857B79", +"l. c #8B7C75", +"z. c #8C7D7A", +"x. c #827C84", +"c. c #817E8E", +"v. c #8C827E", +"b. c #92817E", +"n. c #848486", +"m. c #82828B", +"M. c #8D8381", +"N. c #8B868D", +"B. c #88898A", +"V. c #848390", +"C. c #878891", +"Z. c #8C8090", +"A. c #8C8D90", +"S. c #8C8D98", +"D. c #8F9097", +"F. c #938583", +"G. c #958688", +"H. c #958A8A", +"J. c #988785", +"K. c #9B8B87", +"L. c #9B8E8B", +"P. c #958D93", +"I. c #998F92", +"U. c #94928E", +"Y. c #9C918F", +"T. c #929194", +"R. c #969698", +"E. c #9A9396", +"W. c #9E949A", +"Q. c #9B9C9C", +"!. c #9595A3", +"~. c #9897A3", +"^. c #9E9CA2", +"/. c #9FA0A1", +"(. c #A1918F", +"). c #A29593", +"_. c #A49896", +"`. c #A79C99", +"'. c #A89A95", +"]. c #AA9C9A", +"[. c #A19DA2", +"{. c #ABA19D", +"}. c #A5A4A8", +"|. c #ACA1A1", +" X c #ABA6AB", +".X c #ADAAAE", +"XX c #A6A4BF", +"oX c #ACACB1", +"OX c #B1A6A3", +"+X c #B4A8A4", +"@X c #B4ADAA", +"#X c #B9ADAB", +"$X c #B3ABB3", +"%X c #BCB1AD", +"&X c #BCB4B2", +"*X c #BCB9BA", +"=X c #BBB2C1", +"-X c #BFBBC6", +";X c #C0B1AF", +":X c #C0B5B2", +">X c #C1BAB4", +",X c #C3BAB8", +".) F.K.v.(.'.).v.' p d H.Y.Y.L.H.J.v.h.f.] #.w.c B qX", +"qXH 7 ; b z.j.E.F.j.l.f.6.*.5 < s u.M.F.F.F.v.h.f.O.b #.q.b T qX", +"8Xt.=.H n T ] h.h.h.g.*.x : @ 9 i K h.k.k.l.h.6.O.] b >.q.V T qX", +"qXp.;._ K p M f.h.h.g.f.X.k > 0 i a o.7.u.e.6.o...b z 8.:.k c qX", +"qXa.2._ ( G s .h.g.g.f.g.] o 9 i f i R %.o...T v h z 8.Y v x 0X", +"qXm.a.;.` ~ K s X.f.f.g.6.b X O i f S 3 4 l k g q : z } v M k 8X", +"qXD.d.a.2.=.( K s } 7.7.*.k o 9 D B : + + * 3 e l M b V z } 8X", +"qX}.C.m.a.t.;.` L p ] 6.X.g - . S 5 , a f u N Y Y Y ' V z L.qX", +"qX2XD.S.C.d.a.2._ ~ a I z 5 ; & . & ; d A s S R I Y Y V b V ,XqX", +"qXqX*X!.!.S.C.s.3.=.~ d w - = = o . 0 K F Z F X.[ ] T T T ].qXqX", +"qXqXqX5XoX^.!.C.m.t.-.~ d , $ $ & o 0 K K F U o.X.X.*.v.>XqXqXqX", +"qXqXqXqXqXqXqXqXqXqXqXqXqXqXqXqX8XqXqX8XqXqXqXqXqX8XqXqXqXqXqXqX" +}; diff --git a/2009-x64/prefsThierry/icons/zooGraphFilter.xpm b/2009-x64/prefsThierry/icons/zooGraphFilter.xpm new file mode 100644 index 0000000..0fc85ba --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooGraphFilter.xpm @@ -0,0 +1,283 @@ +/* XPM */ +static char * zooGraphFilter_xpm[] = { +"32 32 248 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #B5B4C0", +"% c #9094B7", +"& c #B4B3C0", +"* c #C5C3C4", +"= c #C3C1C4", +"- c #9295B7", +"; c #D1CDC7", +"> c #E7E66A", +", c #F4F627", +"' c #E3E36D", +") c #9EA0BA", +"! c #B7B6C1", +"~ c #D3CFC7", +"{ c #F8FB10", +"] c #FCFF00", +"^ c #8B8FB5", +"/ c #CAC7C6", +"( c #D2CEC6", +"_ c #D0BDB6", +": c #F9B60C", +"< c #ECEC40", +"[ c #C8C6C4", +"} c #868AB4", +"| c #CFCCC7", +"1 c #D3CFC8", +"2 c #CEC0B8", +"3 c #F42120", +"4 c #E45B3C", +"5 c #C6C48D", +"6 c #D0CCA9", +"7 c #CDCAC5", +"8 c #D2CEC9", +"9 c #D0CCC9", +"0 c #9996D7", +"a c #8A87DB", +"b c #8683DC", +"c c #9996D6", +"d c #CDC7C0", +"e c #F12927", +"f c #DD4E4B", +"g c #B4B1AA", +"h c #C3BFB8", +"i c #CFCBC3", +"j c #9C99D6", +"k c #8784DC", +"l c #B0ADD1", +"m c #A5A2D4", +"n c #AAA6D3", +"o c #B1AECB", +"p c #B93B67", +"q c #EC2928", +"r c #B4B0A9", +"s c #CECAC3", +"t c #8087D4", +"u c #93CE9B", +"v c #89E181", +"w c #8AE082", +"x c #8DE085", +"y c #C5D3BA", +"z c #CEABA4", +"A c #FA090A", +"B c #7E64A8", +"C c #BFBBB7", +"D c #A0DB97", +"E c #8ACF94", +"F c #7F8DCE", +"G c #C7D3BB", +"H c #86E17E", +"I c #B7D6AD", +"J c #B6B3D0", +"K c #A4A1D5", +"L c #CDC9C1", +"M c #E93E3B", +"N c #D75B58", +"O c #A5A2B8", +"P c #8482D3", +"Q c #D2CEC7", +"R c #93DE8B", +"S c #AFD8A5", +"T c #9390D9", +"U c #C6C2CC", +"V c #D3D0C7", +"W c #87E17F", +"X c #C1D4B6", +"Y c #9592D8", +"Z c #C8C4CB", +"` c #D1CDC5", +" . c #D09C96", +".. c #F81110", +"+. c #B9ADA6", +"@. c #C7C3BB", +"#. c #BCB9CC", +"$. c #8380DD", +"%. c #C7C3CB", +"&. c #AAD9A1", +"*. c #A1DB98", +"=. c #C3C0CC", +"-. c #9794D8", +";. c #D0D1C4", +">. c #83E27B", +",. c #D2D0C6", +"'. c #8886DC", +"). c #CCC8C0", +"!. c #EE2D2B", +"~. c #CF6D69", +"{. c #C0BCB5", +"]. c #C5C1CC", +"^. c #83E27C", +"/. c #8885DC", +"(. c #D1CDC9", +"_. c #AED8A4", +":. c #A5DB9B", +"<. c #CFCBC9", +"[. c #8D8BDA", +"}. c #D0CCC4", +"|. c #D6857F", +"1. c #F21E1D", +"2. c #B8B3AC", +"3. c #C9C5BE", +"4. c #B6D7AC", +"5. c #B4D7A9", +"6. c #A9A6D3", +"7. c #84E27D", +"8. c #B6B7CB", +"9. c #A3A0D5", +"0. c #CBC1BA", +"a. c #F51A19", +"b. c #C68781", +"c. c #C2BEB7", +"d. c #D4D1C6", +"e. c #D3D0B1", +"f. c #A19FB3", +"g. c #D8D5B4", +"h. c #B5D7AB", +"i. c #7BA9AF", +"j. c #B8B5CE", +"k. c #DF615D", +"l. c #E73735", +"m. c #BAB7B0", +"n. c #CBC7BF", +"o. c #D6D2AB", +"p. c #F3E729", +"q. c #F6F40B", +"r. c #E6DD54", +"s. c #5897A8", +"t. c #CACAC3", +"u. c #D29D96", +"v. c #F90F0E", +"w. c #BBA59E", +"x. c #C5C1BA", +"y. c #A8DA9E", +"z. c #DF7571", +"A. c #FB3A0A", +"B. c #FBEF02", +"C. c #FCFD00", +"D. c #FCBC02", +"E. c #EF3634", +"F. c #DC8782", +"G. c #D0CBC3", +"H. c #D8D5A9", +"I. c #A7B676", +"J. c #CCCB48", +"K. c #F9320C", +"L. c #C6837F", +"M. c #BEBBB4", +"N. c #CDC9C2", +"O. c #C8D3BC", +"P. c #CEC9C2", +"Q. c #E94542", +"R. c #F2201F", +"S. c #C49B7C", +"T. c #DADA4D", +"U. c #E7E92D", +"V. c #A6A574", +"W. c #CD7570", +"X. c #FB0D0D", +"Y. c #EE8725", +"Z. c #F9E906", +"`. c #FBE601", +" + c #DCAE44", +".+ c #CAC6BF", +"++ c #85E27D", +"@+ c #CAD2BF", +"#+ c #E55451", +"$+ c #F02322", +"%+ c #B5A7A1", +"&+ c #B9B6AF", +"*+ c #8A88C1", +"=+ c #A4A1B4", +"-+ c #BB9791", +";+ c #CC9848", +">+ c #F6EF0C", +",+ c #F3F60F", +"'+ c #B3DA4B", +")+ c #C8C4BC", +"!+ c #D4908B", +"~+ c #F61716", +"{+ c #B5AAA4", +"]+ c #C6C2C5", +"^+ c #827FD3", +"/+ c #C4C1B9", +"(+ c #B9B5B5", +"_+ c #8886A7", +":+ c #D5D46B", +"<+ c #D8D76E", +"[+ c #A0D974", +"}+ c #B2D4A8", +"|+ c #91DF89", +"1+ c #B0D8A6", +"2+ c #CFCDBA", +"3+ c #D5C195", +"4+ c #F9370F", +"5+ c #C6917D", +"6+ c #A19ED4", +"7+ c #9D9AD3", +"8+ c #8A88D5", +"9+ c #B7B3C7", +"0+ c #D1CEC5", +"a+ c #94DE8C", +"b+ c #98DD90", +"c+ c #BCD5B1", +"d+ c #D8D785", +"e+ c #F8E10D", +"f+ c #F7E10C", +"g+ c #D1D075", +"h+ c #B1AED1", +"i+ c #BCB8CE", +"j+ c #C6D3BB", +"k+ c #DADB6B", +"l+ c #FBF702", +"m+ c #FAFB06", +"n+ c #DFDE65", +"o+ c #D1CE94", +"p+ c #E6E641", +"q+ c #E7E842", +"r+ c #D9D695", +"s+ c #CBC8C3", +"t+ c #9396B8", +"u+ c #C2C0C4", +"v+ c #B9B8C1", +"w+ c #C9C6C5", +"x+ c #9C9EBA", +"y+ c #8C90B6", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # @ + . ", +" $ % & * * & % $ ", +" = - ; > , ' - = ", +" ) ! ~ { ] { ! ) ", +" ^ / ( _ : ] < [ ^ ", +" } | 1 ( 2 3 4 5 6 7 } ", +" } | 8 9 1 0 a b c d e f g h i | } ", +" } | j k l m n o p q r h s ~ | } ", +" } | t u v w x y 1 b ( z A B C s ~ | } ", +" } | D E F G H I J K ~ L M N O P Q | } ", +" } | R S T U V W X Y Z ` ...+.@.#.$.%. | } ", +" } | &.*. =.-. ;.>.,. '. ~ ).!.~.{.i ~ U ]. | } ", +" } | ;.^. /.(. _.:.<.[. }.|.1.2.3.( | } ", +" } | 4.5. 6.l 7.8.9.( 0.a.b.c.}. | } ", +" } | d.e.f.g. h.i.j.i k.l.m.n.( | } ", +" } | ( o.p.q.r.( ~ s.t.u.v.w.x.` y.;. | } ", +" } | ~ }.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.~ O.x | } ", +" } | ~ P.Q.R.S.T.U.V.W.!.X.Y.Z.`. +m..+( V ++@+ | } ", +" } | ~ i #+$+%+&+{.c.*+=+r -+;+>+,+'+)+` v I | } ", +" } | ` !+~+{+M..+}.` ]+^+/+(+_+:+<+[+}+ ,.|+1+ | } ", +" } 2+3+4+5+M.).( 6+7+8+9+L }.0+a+a+b+++c+ | } ", +" } d+e+f+g+.+( h+i+~ ~ O.j+ | } ", +" } k+l+m+n+` | } ", +" } o+p+q+r+~ | } ", +" } s+).i ( | } ", +" ^ / ~ ~ / ^ ", +" ) ! ! ) ", +" = - ; ; t+u+ ", +" $ % v+w+ w+v+% $ ", +" . x+y+# # # # # # # # # # # # # # # # # # # # y+x+. ", +" "}; diff --git a/2009-x64/prefsThierry/icons/zooGreaseMonkey.xpm b/2009-x64/prefsThierry/icons/zooGreaseMonkey.xpm new file mode 100644 index 0000000..14ec0ce --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooGreaseMonkey.xpm @@ -0,0 +1,729 @@ +/* XPM */ +static char * zooGreaseMonkey_xpm[] = { +"32 32 691 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #8F93B6", +"% c #A1A2BB", +"& c #C3C1C4", +"* c #8489B4", +"= c #8E91B6", +"- c #B4B3C0", +"; c #C5C3C4", +"> c #D3CFC7", +", c #D2CEC6", +"' c #CFCBC3", +") c #CAC6BF", +"! c #C3C0BB", +"~ c #BDBBB8", +"{ c #BABAB9", +"] c #BCBBBB", +"^ c #BBBABA", +"/ c #B7B6B3", +"( c #B7B5B1", +"_ c #B8B5B0", +": c #B8B5AF", +"< c #B9B8B5", +"[ c #BABABA", +"} c #C2C1BE", +"| c #CEC7B8", +"1 c #CAC7BD", +"2 c #B8B6B1", +"3 c #C0BCB5", +"4 c #BBB9BA", +"5 c #B0B0BD", +"6 c #8D91B6", +"7 c #9EA0BA", +"8 c #9295B7", +"9 c #D1CDC7", +"0 c #C8C5BE", +"a c #BCBBB9", +"b c #BFBAB8", +"c c #A8948B", +"d c #9A7261", +"e c #996F55", +"f c #BF9F73", +"g c #C3AA86", +"h c #A6907F", +"i c #B5AAA6", +"j c #BFBEB8", +"k c #D6CDB0", +"l c #E1D0A8", +"m c #E0C995", +"n c #E8CA91", +"o c #EEDAA1", +"p c #D0CBBA", +"q c #B3AFA9", +"r c #BFBCB4", +"s c #CDCAC3", +"t c #9195B7", +"u c #8B8FB5", +"v c #B7B6C1", +"w c #D0CCC4", +"x c #BDBBB9", +"y c #B9ACA2", +"z c #905D40", +"A c #894F29", +"B c #BB8E54", +"C c #E1BB6D", +"D c #EAC56F", +"E c #E8C475", +"F c #B68444", +"G c #965B37", +"H c #CE9F5A", +"I c #E2B967", +"J c #E8C271", +"K c #EBCA80", +"L c #EFD491", +"M c #EBD489", +"N c #EDDA9E", +"O c #A8A59F", +"P c #B8B4AD", +"Q c #C6C2BB", +"R c #CECAC3", +"S c #B5B5BF", +"T c #868AB4", +"U c #CAC7C6", +"V c #D1CDC5", +"W c #CDC9C1", +"X c #C0BEB9", +"Y c #C5BEAF", +"Z c #C7A764", +"` c #D5AB56", +" . c #E1BB62", +".. c #ECCD7D", +"+. c #DEB868", +"@. c #B28032", +"#. c #DAA12F", +"$. c #CB902A", +"%. c #8A4A1E", +"&. c #A3621A", +"*. c #DEB45E", +"=. c #CA9331", +"-. c #DFB14F", +";. c #E5BD64", +">. c #E8C36D", +",. c #E0B863", +"'. c #A4A19A", +"). c #B2AFA8", +"!. c #C3BFB8", +"~. c #C8C6C4", +"{. c #CFCCC7", +"]. c #C7C3BC", +"^. c #BCB9B4", +"/. c #D6B471", +"(. c #E6BF62", +"_. c #CDA447", +":. c #E3B13D", +"<. c #D99E2F", +"[. c #CC9217", +"}. c #B57611", +"|. c #C37C09", +"1. c #CC8508", +"2. c #B87F1A", +"3. c #AA6D16", +"4. c #E8C97D", +"5. c #925E22", +"6. c #B87E23", +"7. c #DAA638", +"8. c #D7A835", +"9. c #D5B075", +"0. c #9D9A95", +"a. c #B0ADA6", +"b. c #C1BDB6", +"c. c #CCC8C0", +"d. c #CDCAC5", +"e. c #CFCBC4", +"f. c #C9C6BE", +"g. c #C0BDB6", +"h. c #AC9382", +"i. c #D3A23C", +"j. c #D39B2B", +"k. c #916111", +"l. c #BF7C08", +"m. c #C47807", +"n. c #C47E08", +"o. c #C37B06", +"p. c #C87E04", +"q. c #CD8305", +"r. c #D89E2E", +"s. c #CC952F", +"t. c #D6B378", +"u. c #4B1F0F", +"v. c #5D1F0C", +"w. c #854016", +"x. c #C3934A", +"y. c #A39E94", +"z. c #9E9B95", +"A. c #CBC8C0", +"B. c #B9B6B1", +"C. c #A77E5E", +"D. c #B17324", +"E. c #C38007", +"F. c #B76F07", +"G. c #C0790B", +"H. c #C07F09", +"I. c #C3810F", +"J. c #BD7E16", +"K. c #D38D0A", +"L. c #D99F20", +"M. c #C9A058", +"N. c #9C6F44", +"O. c #421F11", +"P. c #4A1610", +"Q. c #62210E", +"R. c #834529", +"S. c #9E8B81", +"T. c #92908B", +"U. c #A5A29B", +"V. c #B7B3AD", +"W. c #C5C1BA", +"X. c #CAC7C2", +"Y. c #C1BFB8", +"Z. c #BBB8B3", +"`. c #B8B7B5", +" + c #D7B26E", +".+ c #935317", +"++ c #C58315", +"@+ c #BF7605", +"#+ c #BD790E", +"$+ c #BF7E0E", +"%+ c #D29310", +"&+ c #DAA21E", +"*+ c #D5A337", +"=+ c #C19943", +"-+ c #D3B37A", +";+ c #472312", +">+ c #3D130B", +",+ c #561D10", +"'+ c #71331E", +")+ c #8F6048", +"!+ c #8E8C87", +"~+ c #9A9791", +"{+ c #ADAAA3", +"]+ c #BEBAB3", +"^+ c #C9C5BE", +"/+ c #C2C0BC", +"(+ c #CDC6B0", +"_+ c #D6B165", +":+ c #C2A271", +"<+ c #D6B582", +"[+ c #A86D1D", +"}+ c #BF8532", +"|+ c #D29331", +"1+ c #D0932D", +"2+ c #D3992B", +"3+ c #DAA232", +"4+ c #BB8C38", +"5+ c #C8A258", +"6+ c #E7C67B", +"7+ c #AB8554", +"8+ c #43160B", +"9+ c #4B1307", +"0+ c #5A1B0F", +"a+ c #6C2D1B", +"b+ c #9A7668", +"c+ c #8F8C87", +"d+ c #A19E98", +"e+ c #B4B1AA", +"f+ c #C3C0B8", +"g+ c #CECBC6", +"h+ c #8D91B4", +"i+ c #C0BFB9", +"j+ c #DDCEA3", +"k+ c #E8BF5E", +"l+ c #D7A441", +"m+ c #C0892C", +"n+ c #B18A48", +"o+ c #D6B15F", +"p+ c #C7963F", +"q+ c #C3974D", +"r+ c #C39750", +"s+ c #BF9350", +"t+ c #C69843", +"u+ c #E4B864", +"v+ c #E2C076", +"w+ c #A07E4D", +"x+ c #4E2010", +"y+ c #410F08", +"z+ c #58170A", +"A+ c #641F12", +"B+ c #763624", +"C+ c #927871", +"D+ c #93908B", +"E+ c #A7A49E", +"F+ c #BAB7B0", +"G+ c #C8C4BC", +"H+ c #C6C3BD", +"I+ c #E2C673", +"J+ c #E5B749", +"K+ c #E2AD41", +"L+ c #DCAD54", +"M+ c #CE9735", +"N+ c #6C4012", +"O+ c #4C2B15", +"P+ c #563117", +"Q+ c #5A3823", +"R+ c #996F31", +"S+ c #C3953A", +"T+ c #C99B45", +"U+ c #C2954F", +"V+ c #A2723F", +"W+ c #4D1F0D", +"X+ c #46110E", +"Y+ c #401109", +"Z+ c #601D11", +"`+ c #692314", +" @ c #85412E", +".@ c #907D79", +"+@ c #94928D", +"@@ c #A9A69F", +"#@ c #BBB8B0", +"$@ c #C8C5BD", +"%@ c #CCC0A6", +"&@ c #DCA02F", +"*@ c #D7A125", +"=@ c #DBA640", +"-@ c #E0A954", +";@ c #9F681F", +">@ c #471606", +",@ c #360E07", +"'@ c #310D07", +")@ c #391007", +"!@ c #50160B", +"~@ c #4A210D", +"{@ c #41210D", +"]@ c #491709", +"^@ c #47160F", +"/@ c #2E0C07", +"(@ c #501308", +"_@ c #5D1B0B", +":@ c #672514", +"<@ c #6D2814", +"[@ c #7B331E", +"}@ c #996F65", +"|@ c #989692", +"1@ c #A5A29C", +"2@ c #CDC9C2", +"3@ c #D0C09D", +"4@ c #D6A044", +"5@ c #D7A02B", +"6@ c #D39D33", +"7@ c #D29937", +"8@ c #844114", +"9@ c #6D260E", +"0@ c #591C0A", +"a@ c #53190B", +"b@ c #5B1C09", +"c@ c #6B2312", +"d@ c #4A1409", +"e@ c #4D1408", +"f@ c #511409", +"g@ c #400E06", +"h@ c #4C120B", +"i@ c #6C280F", +"j@ c #7A301A", +"k@ c #742E18", +"l@ c #7D3620", +"m@ c #772F18", +"n@ c #884A30", +"o@ c #967E78", +"p@ c #A2A09C", +"q@ c #AFACA5", +"r@ c #BEBBB4", +"s@ c #A2A4B7", +"t@ c #BDB6A8", +"u@ c #A99880", +"v@ c #AB8E62", +"w@ c #AB834D", +"x@ c #865436", +"y@ c #76311C", +"z@ c #772C17", +"A@ c #742A0F", +"B@ c #712A11", +"C@ c #641D11", +"D@ c #5F1D0D", +"E@ c #621E11", +"F@ c #5D170D", +"G@ c #621A0A", +"H@ c #742814", +"I@ c #7A3015", +"J@ c #783518", +"K@ c #7E391E", +"L@ c #833D23", +"M@ c #752E14", +"N@ c #763019", +"O@ c #693021", +"P@ c #938278", +"Q@ c #ABAAA7", +"R@ c #9093B4", +"S@ c #B8B5B2", +"T@ c #B0ADA7", +"U@ c #A6A39F", +"V@ c #9F9C97", +"W@ c #9B9894", +"X@ c #98928E", +"Y@ c #8E7F79", +"Z@ c #864C36", +"`@ c #742C14", +" # c #6A241B", +".# c #7A2E1A", +"+# c #7F311D", +"@# c #803019", +"## c #803419", +"$# c #823B1B", +"%# c #834121", +"&# c #814224", +"*# c #864227", +"=# c #864223", +"-# c #813C1D", +";# c #7E402B", +"># c #4B1A0E", +",# c #481915", +"'# c #624844", +")# c #A59E99", +"!# c #C4C1BC", +"~# c #8C90B5", +"{# c #C2BEBA", +"]# c #B7B3AE", +"^# c #ABA9A3", +"/# c #A8A6A1", +"(# c #A19E99", +"_# c #A3A09D", +":# c #855344", +"<# c #7B301C", +"[# c #752E1A", +"}# c #732C1B", +"|# c #722A13", +"1# c #83371D", +"2# c #863E22", +"3# c #7B381D", +"4# c #78361E", +"5# c #77331C", +"6# c #844128", +"7# c #833E29", +"8# c #5A1E15", +"9# c #4C1510", +"0# c #471813", +"a# c #34110C", +"b# c #4F2019", +"c# c #9B8E87", +"d# c #BBB9B4", +"e# c #858AB4", +"f# c #878BB4", +"g# c #C8C5C1", +"h# c #BDB9B2", +"i# c #B1AEA8", +"j# c #AAA7A3", +"k# c #BAB0AA", +"l# c #683120", +"m# c #47140A", +"n# c #5C180C", +"o# c #732917", +"p# c #853F27", +"q# c #7A391E", +"r# c #6C2911", +"s# c #6F2614", +"t# c #6F2917", +"u# c #601B0E", +"v# c #652215", +"w# c #542017", +"x# c #541609", +"y# c #45160C", +"z# c #4B120B", +"A# c #56130F", +"B# c #5F2410", +"C# c #BA9E69", +"D# c #B0ADA8", +"E# c #8489B3", +"F# c #C4C1B9", +"G# c #B4B1AC", +"H# c #B1AFAD", +"I# c #723C2A", +"J# c #65230D", +"K# c #6D2912", +"L# c #732916", +"M# c #66200E", +"N# c #692212", +"O# c #652311", +"P# c #581C0C", +"Q# c #4A1B0D", +"R# c #83665E", +"S# c #8A7E7B", +"T# c #7E7470", +"U# c #82675C", +"V# c #6D2911", +"W# c #722B17", +"X# c #65210B", +"Y# c #B06C14", +"Z# c #D49413", +"`# c #DAA025", +" $ c #9E99A0", +".$ c #BAB8B4", +"+$ c #B4B3AF", +"@$ c #684032", +"#$ c #501E0F", +"$$ c #6C2B15", +"%$ c #6E2510", +"&$ c #763218", +"*$ c #723728", +"=$ c #61433A", +"-$ c #2E100B", +";$ c #2E1205", +">$ c #603329", +",$ c #8A8784", +"'$ c #8A8883", +")$ c #918E8A", +"!$ c #9A8F8B", +"~$ c #6D4131", +"{$ c #A76210", +"]$ c #C68007", +"^$ c #D4960C", +"/$ c #DAA015", +"($ c #DFB041", +"_$ c #D9C486", +":$ c #BEBCB5", +"<$ c #B6B4B1", +"[$ c #613221", +"}$ c #5C2111", +"|$ c #65260E", +"1$ c #78351A", +"2$ c #7D3D24", +"3$ c #958780", +"4$ c #999695", +"5$ c #543228", +"6$ c #5E2917", +"7$ c #6C321D", +"8$ c #7B6F68", +"9$ c #918E89", +"0$ c #989590", +"a$ c #9B9993", +"b$ c #AC9B86", +"c$ c #B76E0C", +"d$ c #C58308", +"e$ c #D89D17", +"f$ c #D8A728", +"g$ c #E1B857", +"h$ c #BAAD8C", +"i$ c #C2BEB7", +"j$ c #B3AFAB", +"k$ c #632C1A", +"l$ c #6A2919", +"m$ c #632917", +"n$ c #612713", +"o$ c #8C6048", +"p$ c #84837F", +"q$ c #898884", +"r$ c #988981", +"s$ c #522613", +"t$ c #2D1209", +"u$ c #3E2018", +"v$ c #989693", +"w$ c #9F9E99", +"x$ c #BFB6A9", +"y$ c #AE660A", +"z$ c #CB8C14", +"A$ c #D2A542", +"B$ c #D6B265", +"C$ c #B2A698", +"D$ c #A09D97", +"E$ c #A49890", +"F$ c #5B1E09", +"G$ c #642415", +"H$ c #531609", +"I$ c #6A2613", +"J$ c #937A70", +"K$ c #898783", +"L$ c #A6A4A1", +"M$ c #583B29", +"N$ c #431608", +"O$ c #3F1508", +"P$ c #82756E", +"Q$ c #9D9C97", +"R$ c #A6A49F", +"S$ c #ADAAA5", +"T$ c #B5955E", +"U$ c #ABA088", +"V$ c #A39C8D", +"W$ c #9E988F", +"X$ c #8387B0", +"Y$ c #AAA6A0", +"Z$ c #826757", +"`$ c #4E1608", +" % c #471207", +".% c #591D0B", +"+% c #753A1F", +"@% c #908B86", +"#% c #9C9A94", +"$% c #A2A09B", +"%% c #9A8E81", +"&% c #55200C", +"*% c #4F1E0B", +"=% c #734D41", +"-% c #9B9893", +";% c #A7A5A0", +">% c #AFACA6", +",% c #AFABA5", +"'% c #ABA8A2", +")% c #AAA7A1", +"!% c #AAA8A4", +"~% c #8488B2", +"{% c #93612F", +"]% c #6F2E0C", +"^% c #662609", +"/% c #712A0B", +"(% c #7B4828", +"_% c #908F8C", +":% c #96948E", +"<% c #A3A09B", +"[% c #A8A4A0", +"}% c #52210F", +"|% c #5D260F", +"1% c #642614", +"2% c #9A9792", +"3% c #B9B5AE", +"4% c #BCB8B1", +"5% c #BAB7B3", +"6% c #8589B3", +"7% c #C5C2BB", +"8% c #CDC1AA", +"9% c #CE9221", +"0% c #CC9020", +"a% c #CA8D22", +"b% c #C88D1C", +"c% c #D7A74B", +"d% c #99958B", +"e% c #999792", +"f% c #A4A19B", +"g% c #A9A7A2", +"h% c #B8B7B6", +"i% c #6E3724", +"j% c #732F16", +"k% c #7B3B20", +"l% c #9A9590", +"m% c #A8A59E", +"n% c #C7C3BB", +"o% c #C1BEBE", +"p% c #BEBDB9", +"q% c #D8B981", +"r% c #D6A346", +"s% c #D7A548", +"t% c #D9A452", +"u% c #D5A241", +"v% c #CE8C1D", +"w% c #B89F6B", +"x% c #96938E", +"y% c #A19D97", +"z% c #9D8C82", +"A% c #A2897D", +"B% c #6D331D", +"C% c #813E24", +"D% c #8A4A2F", +"E% c #98948F", +"F% c #B5B4BF", +"G% c #8B8EB5", +"H% c #BFBDB9", +"I% c #E2BF7D", +"J% c #E4BD79", +"K% c #DFBF7A", +"L% c #DEBB74", +"M% c #DFB872", +"N% c #D1A34D", +"O% c #B5944C", +"P% c #8A6956", +"Q% c #6E301A", +"R% c #793620", +"S% c #7F3D22", +"T% c #5E240F", +"U% c #672A19", +"V% c #7E3E25", +"W% c #97928D", +"X% c #CFCBC5", +"Y% c #B9B8C1", +"Z% c #C9C6C5", +"`% c #C1BDB7", +" & c #DFD0A4", +".& c #E1BC74", +"+& c #DDB36F", +"@& c #CB9F50", +"#& c #B78E4B", +"$& c #AA9671", +"%& c #8D8377", +"&& c #6B2D21", +"*& c #662217", +"=& c #742D1B", +"-& c #753925", +";& c #581A10", +">& c #774231", +",& c #989491", +"'& c #A6A39D", +")& c #BFBCBB", +"!& c #B6B5BE", +"~& c #C2C0C4", +"{& c #9C9EBA", +"]& c #8C90B6", +"^& c #8387B3", +"/& c #C8C3B6", +"(& c #E1C596", +"_& c #D4B279", +":& c #BBA180", +"<& c #8A8CAB", +"[& c #8186B2", +"}& c #888BAE", +"|& c #72372E", +"1& c #371212", +"2& c #8D7369", +"3& c #5D2E1F", +"4& c #692517", +"5& c #5C211A", +"6& c #5E362F", +"7& c #878BAD", +"8& c #A3A19B", +"9& c #9C9994", +"0& c #A19F9B", +"a& c #885042", +"b& c #66271C", +"c& c #32130A", +"d& c #37150D", +"e& c #5C1D11", +"f& c #5C221A", +"g& c #4E2520", +"h& c #92908A", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # # # $ % . ", +" & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 * & ", +" 7 8 9 , ' 0 a b c d e f g h i j k l m n o p q r ) s t 7 ", +" u v > w ) x y z A B C D E F G H I J K L M N O P Q R S u ", +" T U > V W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.,.'.).!.W ~.T ", +" T {. , ' ].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.T ", +" T {., e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.).!.W d.T ", +" T d.w A.X B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.R d.T ", +" T X.) Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+w d.T ", +" T /+~ (+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+W , g+T ", +" h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+' , g+T ", +" H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@w , g+T ", +" %@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@P Q 2@, g+T ", +" 3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@$@R d.T ", +" s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@q r $@X.T > ", +" R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#>#,#'#)#q r !#T , ", +" ~#{#r@]#T@^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0#a#b#c#q d#e#W ", +" f#g#^+W.b.h#P i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#", +" T d.w 2@c.$@F#]+G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $V.", +" T {.> , V w c.Q .$+$@$#$$$%$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$($_$", +" T {. > , w ) :$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$h$", +" T {. > , c.i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$d+x$y$z$A$B$C$D$", +" T {. , W !.E$F$G$H$I$J$K$)$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$", +" T {. , c.b.Z$`$ %.%+%@%9$#%$%%%&%*%=%-%;%>%,%'%)%!%~%P ", +" T {. > w ) g.{%]%^%/%(%_%:%<%E+[%}%|%1%2%E+q 3%#@4%5%6%W.", +" T U , ' 7%8%9%0%a%b%c%d%e%f%g%h%i%j%k%l%m%P i$n%$@o%e#2@", +" u v , 2@p%q%r%s%t%u%v%w%x%y%z%A%B%C%D%E%@@F+n%W w F%G%, ", +" 7 8 9 , W H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%m%#@G+' X%8 7 ", +" & * = Y%Z%, W `% &.&+&@&#&$&%&B+&&*&=&-&;&>&,&'&F+)&!&= * ~& ", +" . {&]&# # # ^&/&(&_&:&<&[&}&|&1&2&3&4&5&6&7&# # # u {&. ", +" , ' G+Z.>%8&9&~+2%0&a&b&c&d&e&f&g&h&'&F+G+w > "}; + + + diff --git a/2009-x64/prefsThierry/icons/zooHotkeyer.xpm b/2009-x64/prefsThierry/icons/zooHotkeyer.xpm new file mode 100644 index 0000000..8bbc4ef --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooHotkeyer.xpm @@ -0,0 +1,228 @@ +/* XPM */ +static char * zooHotkeyer_xpm[] = { +"32 32 193 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #B5B4C0", +"% c #9094B7", +"& c #B4B3C0", +"* c #C5C3C6", +"= c #C6C6C5", +"- c #C0C0C0", +"; c #C1C1C1", +"> c #C2C2C2", +", c #C4C4C4", +"' c #C7C7C7", +") c #C3C3C3", +"! c #C6C6C6", +"~ c #C5C5C5", +"{ c #CFCFD5", +"] c #B9B9C7", +"^ c #C3C1C4", +"/ c #9295B7", +"( c #D1CDC7", +"_ c #D3D2CE", +": c #D5D4D2", +"< c #DDDDDD", +"[ c #E2E2E2", +"} c #E5E5E5", +"| c #E7E7E7", +"1 c #E9E9E9", +"2 c #EBEBEB", +"3 c #EDEDED", +"4 c #EEEEEE", +"5 c #F1F1F1", +"6 c #F3F3F3", +"7 c #F2F2F2", +"8 c #F4F4F4", +"9 c #F5F5F5", +"0 c #F7F7F7", +"a c #F6F6F6", +"b c #F6F5F5", +"c c #DFDDDA", +"d c #9EA0BA", +"e c #B7B6C1", +"f c #D3D1CD", +"g c #D5D5D5", +"h c #DBDBDB", +"i c #E1E1E1", +"j c #EFEFEF", +"k c #F0F0F0", +"l c #F8F8F8", +"m c #FBFBFB", +"n c #FEFEFE", +"o c #FDFDFD", +"p c #FFFFFF", +"q c #FCFCFC", +"r c #B3B3C1", +"s c #8B8FB5", +"t c #C8C6C6", +"u c #CACAC8", +"v c #DCDCDC", +"w c #E6E6E6", +"x c #ECECEC", +"y c #EAEAEA", +"z c #B9B9B9", +"A c #A1A1A7", +"B c #868AB4", +"C c #C7C6C8", +"D c #CCCCCC", +"E c #D3D3D3", +"F c #DFDFDF", +"G c #D9D9D9", +"H c #D2D2D2", +"I c #D0D0D0", +"J c #DADADA", +"K c #D8D8D8", +"L c #D7D7D7", +"M c #D6D6D6", +"N c #BFBFBF", +"O c #959595", +"P c #8C8D8F", +"Q c #B2B2B5", +"R c #CACACA", +"S c #CECECE", +"T c #CDCDCD", +"U c #CFCFCF", +"V c #D1D1D1", +"W c #9C9C9C", +"X c #898989", +"Y c #8D8E90", +"Z c #B1B1B4", +"` c #CBCBCB", +" . c #939393", +".. c #8A8A8A", +"+. c #AFAFB2", +"@. c #BCBCBC", +"#. c #8C8C8C", +"$. c #BABABA", +"%. c #969696", +"&. c #8B8B8B", +"*. c #C9C9C9", +"=. c #B1B1B1", +"-. c #B0B0B0", +";. c #B3B3B3", +">. c #B5B5B5", +",. c #BBBBBB", +"'. c #3A3A3A", +"). c #1E1E1E", +"!. c #1F1F1F", +"~. c #4B4B4B", +"{. c #6A6A6A", +"]. c #262626", +"^. c #2D2D2D", +"/. c #7F7F7F", +"(. c #8B8C8E", +"_. c #212121", +":. c #545454", +"<. c #9A9A9A", +"[. c #979797", +"}. c #A8A8A8", +"|. c #9F9F9F", +"1. c #242424", +"2. c #595959", +"3. c #BEBEBE", +"4. c #AEAEB1", +"5. c #1D1D1D", +"6. c #5E5E5E", +"7. c #BDBDBD", +"8. c #A2A2A2", +"9. c #161616", +"0. c #282828", +"a. c #2B2B2B", +"b. c #B4B4B4", +"c. c #383838", +"d. c #525252", +"e. c #1C1C1C", +"f. c #5C5C5C", +"g. c #AFAFAF", +"h. c #ABABAB", +"i. c #2C2C2C", +"j. c #3E3E3E", +"k. c #6D6D6D", +"l. c #515151", +"m. c #2F2F2F", +"n. c #AAAAAA", +"o. c #717171", +"p. c #111111", +"q. c #101010", +"r. c #1A1A1A", +"s. c #292929", +"t. c #B7B7B7", +"u. c #858585", +"v. c #A3A3A3", +"w. c #A9A9A9", +"x. c #797979", +"y. c #767676", +"z. c #747474", +"A. c #7B7B7B", +"B. c #8A8B8D", +"C. c #8D8D8D", +"D. c #DEDEDE", +"E. c #A5A5A5", +"F. c #9D9D9D", +"G. c #949494", +"H. c #898A8C", +"I. c #B6B6B8", +"J. c #C8C8C8", +"K. c #A7A7A7", +"L. c #A0A0A0", +"M. c #A4A4A4", +"N. c #939396", +"O. c #A1A1A1", +"P. c #A2A2A8", +"Q. c #B6B5C1", +"R. c #D8D7D4", +"S. c #989898", +"T. c #929292", +"U. c #9B9B9B", +"V. c #9E9E9E", +"W. c #A7A7B4", +"X. c #D3D0CD", +"Y. c #B8B8B8", +"Z. c #999999", +"`. c #ACADAC", +" + c #9296B7", +".+ c #C2C0C4", +"++ c #B3B3BF", +"@+ c #9B9CA2", +"#+ c #96979C", +"$+ c #ABACBB", +"%+ c #8F93B6", +"&+ c #9C9EBA", +"*+ c #8C90B6", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # @ + . ", +" $ % & * = - ; > > , ' ' ; ) ! ~ ! ! ' ~ ) - - ! { ] % $ ", +" ^ / ( _ : < < [ } | 1 2 3 2 4 5 5 6 7 6 8 9 0 a 9 7 b c / ^ ", +" d e f g h h i [ } 1 2 3 j k 8 0 l m n o o n p o n o q i r d ", +" s t u v h v i [ [ } w 1 2 x 4 5 7 7 7 7 8 9 8 0 o o y z A s ", +" B C D E F F G H I H E g h J K J G L K L K K M < 9 j N O P B ", +" B Q , R h G E S T U U U V U T V S V I V I I U H J v W X Y B ", +" B Z , ` J g U H U T T T I I ` S V S U U S V H S U ! ...P B ", +" B +., S G U T U T I I V S S V U U I T V V R U S T @. .#.P B ", +" B +., V J ` S I T I U T T U T S D S I S S I S S U $.%.&.P B ", +" B +.~ H h *.T I U I =.=.-.-.z S ' ;.>.R S ` U T T ,.%.&.P B ", +" B +.! I h *.S S V T '.).).!.~.~ {.].^./.U U U S D ,.%.&.(.B ", +" B +.~ U J R S U S D _.:.<.[.}.|.1.X 2.^.3.V S U ` ,.O &.(.B ", +" B 4.~ I < U U U U H 5.6.=.=.! 7.8.*.{.5.- *.U U ` ,.O &.(.B ", +" B 4.~ I < U I V S D ).9.0.a.%.T ' b.c.d.S ' U U ` ,.O &.(.B ", +" B +.~ I v S U T V U e.f.g.h.N *.$.i.j.7.S I S U ` ,.O &.(.B ", +" B 4.~ I < U I V D I ).k.E V T 3.l.m.n.R S ` H S ` ,.O &.(.B ", +" B +.~ I v T S D H D 1.o.U R V [.p.q.r.s.t.H D U ` ,.O &.(.B ", +" B +.~ V h ` D S S T u.v.D T I w.x.y.z.A., U U U ` ,.O &.P B ", +" B +.~ I J D T U V D U T U U T H E U I U T U D S T @.O ..P B ", +" B +.~ S G S I I I H U S T U I D T I T S V U H S D $.[.&.B.B ", +" B +., T J I V T I V I U D S D U U D U D H V S D S 7.[...P B ", +" B +.) D v V ` I I U V U I I I T ` T T U D S U V S t.[.C.Y B ", +" B +.! D D.K U S V V I I I I H V V V H V E I I D @.E.F.G.H.B ", +" B I.J.V v F J D ) ' ' ! ' , ~ ! ! ' ~ ! ! ! J.7.|.K.L.M.N.B ", +" s t S G K H z O.W 8.O.L.L.L.L.O.L.L.L.O.L.L.|.v.L.F.F.v.P.s ", +" d Q.R.M I t.S.T.[.W W U.U.W W W U.U.U.U.U.U.O [.L.w.V.w.W.d ", +" ^ / X.D Y.[.G.S.S.W V.W U.W <.Z.U.U.F.W <.U.Z. .S.W }.`. +.+ ", +" $ % ++@+ .T.T.S.V.S.%.Z.V.L.L.L.V.V.V.S.%.[.G. .#+$+%+$ ", +" . &+*+# # # # # # # # # # # # # # # # # # # # *+&+. ", +" "}; diff --git a/2009-x64/prefsThierry/icons/zooIcon.xpm b/2009-x64/prefsThierry/icons/zooIcon.xpm new file mode 100644 index 0000000..b0124c0 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooIcon.xpm @@ -0,0 +1,59 @@ +/* XPM */ +static char * zooIcon_xpm[] = { +"32 32 24 1", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #B5B4C0", +"% c #9094B7", +"& c #B4B3C0", +"* c #C5C3C4", +"= c #C3C1C4", +"- c #9295B7", +"; c #D1CDC7", +"> c #9EA0BA", +", c #B7B6C1", +"' c #8B8FB5", +") c #CAC7C6", +"! c #868AB4", +"~ c #CFCCC7", +"{ c #9396B8", +"] c #C2C0C4", +"^ c #B9B8C1", +"/ c #C9C6C5", +"( c #9C9EBA", +"_ c #8C90B6", +" ", +" .+@####################@+. ", +" $%&* *&%$ ", +" =-; ;-= ", +" >, ,> ", +" ') )' ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" ') )' ", +" >, ,> ", +" =-; ;{] ", +" $%^/ /^%$ ", +" .(_####################_(. ", +" "}; diff --git a/2009-x64/prefsThierry/icons/zooKeyCommands.xpm b/2009-x64/prefsThierry/icons/zooKeyCommands.xpm new file mode 100644 index 0000000..76485a6 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooKeyCommands.xpm @@ -0,0 +1,64 @@ +/* XPM */ +static char *zooKeyCommands[] = { +/* columns rows colors chars-per-pixel */ +"32 32 26 1", +" c #BB9646", +". c #BD9849", +"X c #C29D4D", +"o c #C49F4F", +"O c #CBA556", +"+ c #D2AC5C", +"@ c #D7B161", +"# c #D9B363", +"$ c #DEB867", +"% c #E0BA69", +"& c #F3C12F", +"* c #FADA4E", +"= c #FBDF54", +"- c #989590", +"; c #9C9993", +": c #A39A87", +"> c #A6A39D", +", c #ACA390", +"< c #AAA7A1", +"1 c #B4B0A9", +"2 c #B9B5AE", +"3 c #C2BEB7", +"4 c #C7C3BB", +"5 c #D6CCB8", +"6 c #D0CCC4", +"7 c #D4D0C8", +/* pixels */ +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"777777777777777775%%%%%%%%577777", +"77777777777777777%&&&&&&&&%77777", +"7777775%%%575%%57%&==*&&&&#$5777", +"777777%&&&%7%&&%7%&==&oooo&&%777", +"777777%&=%&%&==&.-;o&ʥ", +"7775%%%&=&O#%&&O#%&==&X13@&&O477", +"777%&&&*=*&&&**&&&*==&o37%&&o377", +"777%&================&o37%&&o377", +"777%&================&o37%&&o377", +"777%&================&o37%&&o377", +"777%&&&&&&&&&&&&&&*==&o37%&&o377", +"7775@o &==&o37%&&o377", +"77774<;;;;;;;;;;;o&==&o37%&&o377", +"77776433333333333@&==&o@%%&&o377", +"77777777777777777%&==*&&&&@o:377", +"77777777777777777%&&&&&&&&+><477", +"777777777777777775@o .Xoo,24677", +"7777777777777777774<;;;;;;<47777", +"77777777777777777764333333467777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777" +}; diff --git a/2009-x64/prefsThierry/icons/zooKeymaster.xpm b/2009-x64/prefsThierry/icons/zooKeymaster.xpm new file mode 100644 index 0000000..efd610b --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooKeymaster.xpm @@ -0,0 +1,824 @@ +/* XPM */ +static char * zooKeymaster_xpm[] = { +"32 32 789 2", +" c None", +". c #D4D0C8", +"+ c #9497B7", +"@ c #8A8EB5", +"# c #8186B3", +"$ c #8F93B6", +"% c #A1A2BB", +"& c #C7C4C4", +"* c #A9AABD", +"= c #858490", +"- c #B9AC8E", +"; c #F7E5BB", +"> c #F6E5B4", +", c #FBEABF", +"' c #FCF0C8", +") c #EFDEB7", +"! c #CEB891", +"~ c #C6AF8A", +"{ c #B7A07B", +"] c #99805A", +"^ c #B49A75", +"/ c #BA9F7B", +"( c #DCC5A6", +"_ c #A89373", +": c #75603D", +"< c #77674A", +"[ c #6A5D41", +"} c #5B5033", +"| c #776E56", +"1 c #766955", +"2 c #675445", +"3 c #655147", +"4 c #5A4C44", +"5 c #5C5651", +"6 c #797B90", +"7 c #B4B4C0", +"8 c #B5B4C0", +"9 c #8B8C9C", +"0 c #6D6140", +"a c #AE9E76", +"b c #F1E3B5", +"c c #FBF3C6", +"d c #FEF5CB", +"e c #FBEDC4", +"f c #E2D0AA", +"g c #C3AF8C", +"h c #CCB79B", +"i c #947D63", +"j c #614427", +"k c #896F52", +"l c #6E502A", +"m c #816949", +"n c #735E42", +"o c #705F47", +"p c #473821", +"q c #6B604F", +"r c #47402E", +"s c #4A4634", +"t c #605645", +"u c #645549", +"v c #5A493F", +"w c #554940", +"x c #372E27", +"y c #31342B", +"z c #8D93A5", +"A c #C3C1C3", +"B c #8E91B6", +"C c #7D7A6C", +"D c #625536", +"E c #B5A785", +"F c #F2EAC5", +"G c #CABE92", +"H c #BFB38C", +"I c #AC9F79", +"J c #7A6948", +"K c #584526", +"L c #4E3724", +"M c #321C0E", +"N c #2D1309", +"O c #5A3F2F", +"P c #371801", +"Q c #594229", +"R c #503C26", +"S c #3A2718", +"T c #160F09", +"U c #29251F", +"V c #38372D", +"W c #0C0E07", +"X c #2E281B", +"Y c #322218", +"Z c #352117", +"` c #51443B", +" . c #3C3328", +".. c #15140A", +"+. c #768076", +"@. c #9EA0BA", +"#. c #555040", +"$. c #61533E", +"%. c #B3A38E", +"&. c #9E8F73", +"*. c #7A6D4A", +"=. c #928B70", +"-. c #8F8A73", +";. c #585138", +">. c #2A2110", +",. c #2C2113", +"'. c #281C14", +"). c #060101", +"!. c #392215", +"~. c #4C3120", +"{. c #5A4635", +"]. c #311C0E", +"^. c #190A03", +"/. c #2F2721", +"(. c #030102", +"_. c #3A3C36", +":. c #2D3629", +"<. c #1D1C14", +"[. c #342820", +"}. c #311D15", +"|. c #3D2D25", +"1. c #3B3126", +"2. c #1B1A12", +"3. c #636E60", +"4. c #858AB4", +"5. c #585142", +"6. c #615042", +"7. c #6A5645", +"8. c #756352", +"9. c #6B5D49", +"0. c #737164", +"a. c #57584C", +"b. c #34342C", +"c. c #010101", +"d. c #0F0F0E", +"e. c #181817", +"f. c #030302", +"g. c #2D2117", +"h. c #725E51", +"i. c #7B6B61", +"j. c #1F0D0A", +"k. c #0E0300", +"l. c #24201F", +"m. c #171417", +"n. c #424743", +"o. c #333C33", +"p. c #21201B", +"q. c #1D1712", +"r. c #3A2B23", +"s. c #41322A", +"t. c #423629", +"u. c #18150A", +"v. c #5A635A", +"w. c #5D5346", +"x. c #4F372A", +"y. c #C8B4A8", +"z. c #715C48", +"A. c #685640", +"B. c #676655", +"C. c #43453A", +"D. c #343431", +"E. c #191511", +"F. c #1B1510", +"G. c #0A0603", +"H. c #2D200D", +"I. c #6C5D42", +"J. c #8A7F6E", +"K. c #261C14", +"L. c #120F07", +"M. c #090A09", +"N. c #384039", +"O. c #223020", +"P. c #363F2F", +"Q. c #0A0903", +"R. c #2C1D13", +"S. c #351C14", +"T. c #503C33", +"U. c #413225", +"V. c #1B1308", +"W. c #323937", +"X. c #463E2E", +"Y. c #453128", +"Z. c #EDDFD1", +"`. c #897358", +" + c #796547", +".+ c #433C21", +"++ c #3B3730", +"@+ c #383531", +"#+ c #0C0200", +"$+ c #281A16", +"%+ c #1E0E09", +"&+ c #271C15", +"*+ c #5F4E2C", +"=+ c #C7BC9D", +"-+ c #A1967E", +";+ c #3C2D1B", +">+ c #0D0701", +",+ c #090A08", +"'+ c #464941", +")+ c #363B2F", +"!+ c #272612", +"~+ c #3D3326", +"{+ c #382316", +"]+ c #4C342B", +"^+ c #635048", +"/+ c #45362A", +"(+ c #1A150B", +"_+ c #242820", +":+ c #8489B3", +"<+ c #403922", +"[+ c #453222", +"}+ c #C6B49A", +"|+ c #CCB99A", +"1+ c #816D41", +"2+ c #5C4E2E", +"3+ c #4C3D31", +"4+ c #443630", +"5+ c #190301", +"6+ c #402722", +"7+ c #2B0E06", +"8+ c #4B321E", +"9+ c #AB9874", +"0+ c #F6EAC7", +"a+ c #CBBB9E", +"b+ c #68533F", +"c+ c #3D2A1E", +"d+ c #160704", +"e+ c #140806", +"f+ c #32241B", +"g+ c #1F0802", +"h+ c #30180C", +"i+ c #3E2516", +"j+ c #584236", +"k+ c #5E4F42", +"l+ c #4E4233", +"m+ c #1C1106", +"n+ c #544434", +"o+ c #473A20", +"p+ c #726141", +"q+ c #EDE1C3", +"r+ c #CEBF96", +"s+ c #AB9769", +"t+ c #9B8A6D", +"u+ c #735E46", +"v+ c #5D4135", +"w+ c #351008", +"x+ c #38140A", +"y+ c #4F2D1C", +"z+ c #6E4F39", +"A+ c #F5EBCB", +"B+ c #F8EBC3", +"C+ c #CAB495", +"D+ c #806753", +"E+ c #4E3227", +"F+ c #270A08", +"G+ c #190201", +"H+ c #381913", +"I+ c #2E0601", +"J+ c #2A0702", +"K+ c #442719", +"L+ c #553F33", +"M+ c #6D5E52", +"N+ c #564A3B", +"O+ c #331B0A", +"P+ c #865233", +"Q+ c #8488B3", +"R+ c #C7B69B", +"S+ c #958159", +"T+ c #F1E0BB", +"U+ c #F8E9BE", +"V+ c #DBC89B", +"W+ c #C4B191", +"X+ c #BFAC95", +"Y+ c #6A4E3A", +"Z+ c #482612", +"`+ c #54311C", +" @ c #71513B", +".@ c #B89C85", +"+@ c #E0CAA9", +"@@ c #B8A27B", +"#@ c #725431", +"$@ c #5C3B23", +"%@ c #5C3D33", +"&@ c #401A16", +"*@ c #2D0A08", +"=@ c #330A03", +"-@ c #340301", +";@ c #3F1707", +">@ c #4C2F1F", +",@ c #655143", +"'@ c #705D50", +")@ c #584434", +"!@ c #532A14", +"~@ c #AB5A3A", +"{@ c #BE9A76", +"]@ c #AD9267", +"^@ c #F7E6BE", +"/@ c #F1DFB4", +"(@ c #F1DEB3", +"_@ c #C2B08B", +":@ c #A89576", +"<@ c #8F785D", +"[@ c #7E654E", +"}@ c #7D6049", +"|@ c #84674C", +"1@ c #AD9273", +"2@ c #5C3E14", +"3@ c #4C2D0A", +"4@ c #4B2A11", +"5@ c #431D0E", +"6@ c #593630", +"7@ c #461F1A", +"8@ c #40180F", +"9@ c #3A0D03", +"0@ c #3D1001", +"a@ c #3D1704", +"b@ c #472B17", +"c@ c #624C3A", +"d@ c #6D5546", +"e@ c #634334", +"f@ c #60260E", +"g@ c #AE512C", +"h@ c #A97547", +"i@ c #9B7643", +"j@ c #E9D2A8", +"k@ c #E5D2A8", +"l@ c #CDBA8F", +"m@ c #B0A077", +"n@ c #8E7E56", +"o@ c #BFAD90", +"p@ c #CEBBA5", +"q@ c #B6A088", +"r@ c #957C5C", +"s@ c #5C3B20", +"t@ c #2E0E00", +"u@ c #311004", +"v@ c #4C2E23", +"w@ c #340C0A", +"x@ c #361211", +"y@ c #370F07", +"z@ c #381306", +"A@ c #421D08", +"B@ c #48230C", +"C@ c #3C1B03", +"D@ c #472F16", +"E@ c #533B25", +"F@ c #664837", +"G@ c #63382A", +"H@ c #7B3E2A", +"I@ c #9D4A1C", +"J@ c #E3B695", +"K@ c #A27E4E", +"L@ c #D4CA9B", +"M@ c #CEBE94", +"N@ c #BB9373", +"O@ c #A08565", +"P@ c #A79672", +"Q@ c #B9A881", +"R@ c #D6C59D", +"S@ c #BDAB84", +"T@ c #8E7951", +"U@ c #715631", +"V@ c #270800", +"W@ c #2D1105", +"X@ c #3F2418", +"Y@ c #2D110D", +"Z@ c #311208", +"`@ c #402214", +" # c #412412", +".# c #4E311E", +"+# c #5A3E2B", +"@# c #513E26", +"## c #3C3011", +"$# c #45381C", +"%# c #604A36", +"&# c #5C3222", +"*# c #875345", +"=# c #814423", +"-# c #C88C70", +";# c #A57D52", +"># c #B2AD7A", +",# c #BEB188", +"'# c #B98B70", +")# c #937054", +"!# c #B39F7D", +"~# c #D3C196", +"{# c #C8B885", +"]# c #C6B584", +"^# c #CFBC99", +"/# c #B39D85", +"(# c #684F3F", +"_# c #533E2E", +":# c #260B02", +"<# c #2A0D01", +"[# c #3D2514", +"}# c #483221", +"|# c #574334", +"1# c #5D4334", +"2# c #604533", +"3# c #574831", +"4# c #3E3A1B", +"5# c #454023", +"6# c #594731", +"7# c #5F3928", +"8# c #7A4C40", +"9# c #7F5243", +"0# c #F1CBB7", +"a# c #E1C2A4", +"b# c #BBA97F", +"c# c #BFB28A", +"d# c #B19474", +"e# c #9E8364", +"f# c #CEBB99", +"g# c #EADAB1", +"h# c #DACA9B", +"i# c #DAC99E", +"j# c #DBC8A9", +"k# c #B7A28C", +"l# c #A38E80", +"m# c #6F5A4E", +"n# c #1C0300", +"o# c #2E1304", +"p# c #4B3626", +"q# c #513B2C", +"r# c #574233", +"s# c #4B2D1E", +"t# c #4B2817", +"u# c #56402D", +"v# c #4C4029", +"w# c #4D402A", +"x# c #58402E", +"y# c #613A2E", +"z# c #623126", +"A# c #6F483B", +"B# c #F0D6C4", +"C# c #EBD0B8", +"D# c #D2B693", +"E# c #BEB18A", +"F# c #AB9E78", +"G# c #B3A07D", +"H# c #D0BE9A", +"I# c #EDDCB5", +"J# c #D9C89F", +"K# c #DECCA8", +"L# c #C1AD90", +"M# c #937C66", +"N# c #917A6D", +"O# c #50372E", +"P# c #280700", +"Q# c #432619", +"R# c #3F2211", +"S# c #422514", +"T# c #4D2C20", +"U# c #461D11", +"V# c #482819", +"W# c #51392B", +"X# c #584536", +"Y# c #5C4235", +"Z# c #552F25", +"`# c #50231A", +" $ c #6B4F44", +".$ c #E3C1AE", +"+$ c #966144", +"@$ c #AC8765", +"#$ c #C8B996", +"$$ c #AFAC84", +"%$ c #B0A279", +"&$ c #CCBA94", +"*$ c #DCCAA4", +"=$ c #D0BE99", +"-$ c #8B7451", +";$ c #5D4223", +">$ c #543422", +",$ c #381508", +"'$ c #240605", +")$ c #200505", +"!$ c #230504", +"~$ c #290302", +"{$ c #220201", +"]$ c #220100", +"^$ c #2B0201", +"/$ c #390B04", +"($ c #432015", +"_$ c #4B3023", +":$ c #604A3F", +"<$ c #594035", +"[$ c #57392F", +"}$ c #5D4037", +"|$ c #73635A", +"1$ c #B09F8A", +"2$ c #DBC0A7", +"3$ c #CCAF91", +"4$ c #C5B392", +"5$ c #B4AF8A", +"6$ c #AEA075", +"7$ c #C3B188", +"8$ c #CCB994", +"9$ c #917B56", +"0$ c #341506", +"a$ c #321307", +"b$ c #63463B", +"c$ c #6D4F44", +"d$ c #896F66", +"e$ c #6F5247", +"f$ c #543528", +"g$ c #4C2B1F", +"h$ c #422011", +"i$ c #320D05", +"j$ c #240402", +"k$ c #310C03", +"l$ c #4D3226", +"m$ c #4E362B", +"n$ c #59463A", +"o$ c #514032", +"p$ c #59483A", +"q$ c #7C7066", +"r$ c #76726B", +"s$ c #A5A78F", +"t$ c #CCC3A7", +"u$ c #937D5A", +"v$ c #CCB89A", +"w$ c #A99B78", +"x$ c #AD9E71", +"y$ c #C8B68D", +"z$ c #D8C6A4", +"A$ c #41220F", +"B$ c #816854", +"C$ c #9D8477", +"D$ c #6F5246", +"E$ c #44201A", +"F$ c #38160C", +"G$ c #47251A", +"H$ c #2E0600", +"I$ c #340A02", +"J$ c #3C1509", +"K$ c #39180C", +"L$ c #270C04", +"M$ c #362019", +"N$ c #58463D", +"O$ c #5C4F44", +"P$ c #52483C", +"Q$ c #8D897D", +"R$ c #8A897E", +"S$ c #70736D", +"T$ c #9CA691", +"U$ c #A6AA91", +"V$ c #948C71", +"W$ c #B5A68C", +"X$ c #B5A88A", +"Y$ c #9F926A", +"Z$ c #C9BB97", +"`$ c #B5A583", +" % c #624C27", +".% c #846D54", +"+% c #715747", +"@% c #5B3A31", +"#% c #48261F", +"$% c #260100", +"%% c #2B0301", +"&% c #270401", +"*% c #290300", +"=% c #220000", +"-% c #280200", +";% c #2D0901", +">% c #210500", +",% c #382318", +"'% c #5B4E40", +")% c #504736", +"!% c #595544", +"~% c #7E7E72", +"{% c #84877D", +"]% c #717971", +"^% c #9BA294", +"/% c #939B8D", +"(% c #828775", +"_% c #A2A18C", +":% c #958F74", +"<% c #7D7459", +"[% c #8A8164", +"}% c #716341", +"|% c #55421C", +"1% c #715A40", +"2% c #351309", +"3% c #2D0406", +"4% c #331012", +"5% c #1D0000", +"6% c #1C0000", +"7% c #190000", +"8% c #260201", +"9% c #2B0804", +"0% c #4E392D", +"a% c #5C503D", +"b% c #454027", +"c% c #585643", +"d% c #7A7A6E", +"e% c #8C8D86", +"f% c #757D73", +"g% c #8B9486", +"h% c #8A8F7E", +"i% c #8B8A74", +"j% c #6E674A", +"k% c #615738", +"l% c #635638", +"m% c #453310", +"n% c #776645", +"o% c #4C321C", +"p% c #2C0800", +"q% c #240101", +"r% c #320E0D", +"s% c #371B16", +"t% c #290E0B", +"u% c #170000", +"v% c #210803", +"w% c #2B0D09", +"x% c #180301", +"y% c #1F0505", +"z% c #29100D", +"A% c #4A3C2E", +"B% c #544C37", +"C% c #4E4C34", +"D% c #454731", +"E% c #73786A", +"F% c #848981", +"G% c #757E74", +"H% c #9BA295", +"I% c #888C7C", +"J% c #92917C", +"K% c #979075", +"L% c #5B4D28", +"M% c #6A5938", +"N% c #8C7C61", +"O% c #9E8E77", +"P% c #4A321D", +"Q% c #33150E", +"R% c #3F211B", +"S% c #4C332C", +"T% c #371C13", +"U% c #2A0B07", +"V% c #210402", +"W% c #361C14", +"X% c #32160D", +"Y% c #2D140D", +"Z% c #291A15", +"`% c #4F4436", +" & c #625B47", +".& c #47442B", +"+& c #474B34", +"@& c #747D6E", +"#& c #798479", +"$& c #727C71", +"%& c #9EA598", +"&& c #8A9385", +"*& c #878C7B", +"=& c #92917B", +"-& c #CBC5AD", +";& c #B1A284", +">& c #584221", +",& c #96846C", +"'& c #84735E", +")& c #624E3C", +"!& c #634E42", +"~& c #79645B", +"{& c #4B3127", +"]& c #220401", +"^& c #1F0100", +"/& c #33170A", +"(& c #220803", +"_& c #270A04", +":& c #32150B", +"<& c #321E11", +"[& c #41362E", +"}& c #6B5F53", +"|& c #635644", +"1& c #433922", +"2& c #4F4F3A", +"3& c #697263", +"4& c #778579", +"5& c #747E73", +"6& c #A4AB9E", +"7& c #858E80", +"8& c #868A7A", +"9& c #95947E", +"0& c #C0B9A2", +"a& c #D6C8AC", +"b& c #7F6848", +"c& c #634C31", +"d& c #543C29", +"e& c #584435", +"f& c #625043", +"g& c #5D4C3C", +"h& c #290F07", +"i& c #280B00", +"j& c #2F1307", +"k& c #2D1307", +"l& c #2B1006", +"m& c #2C1003", +"n& c #32170A", +"o& c #4C3A2E", +"p& c #61554F", +"q& c #574337", +"r& c #3E2115", +"s& c #3A230E", +"t& c #49402D", +"u& c #797E70", +"v& c #7D897E", +"w& c #717B70", +"x& c #A1A89E", +"y& c #80897B", +"z& c #878B7A", +"A& c #969680", +"B& c #ADA68E", +"C& c #D3C3A5", +"D& c #C3B093", +"E& c #593F23", +"F& c #5D4538", +"G& c #574237", +"H& c #4D3C2D", +"I& c #463721", +"J& c #38230F", +"K& c #2E1206", +"L& c #442D1C", +"M& c #3B2310", +"N& c #3B2210", +"O& c #240700", +"P& c #361F10", +"Q& c #29100B", +"R& c #2A0301", +"S& c #3D0E02", +"T& c #472011", +"U& c #584436", +"V& c #BEBDB4", +"W& c #81887F", +"X& c #7D857F", +"Y& c #9398AA", +"Z& c #899183", +"`& c #888C7D", +" * c #939480", +".* c #9E9982", +"+* c #CCBD9E", +"@* c #AE9B7A", +"#* c #7C654C", +"$* c #533826", +"%* c #5C4538", +"&* c #5F4E3F", +"** c #564833", +"=* c #554530", +"-* c #5C4837", +";* c #564230", +">* c #47301C", +",* c #3E2510", +"'* c #2C0E01", +")* c #351905", +"!* c #2D1204", +"~* c #2C0E0A", +"{* c #280000", +"]* c #380401", +"^* c #3E1208", +"/* c #563F31", +"(* c #C7C7BD", +"_* c #737A6F", +":* c #898EA1", +"<* c #C2C0C3", +"[* c #8F92A5", +"}* c #8B8E84", +"|* c #8F9284", +"1* c #969888", +"2* c #C5BE9C", +"3* c #B6A880", +"4* c #A28D6C", +"5* c #644629", +"6* c #60432B", +"7* c #6C5343", +"8* c #665343", +"9* c #645545", +"0* c #574838", +"a* c #523F30", +"b* c #473020", +"c* c #422515", +"d* c #341301", +"e* c #3A1807", +"f* c #230400", +"g* c #230100", +"h* c #36100A", +"i* c #39170E", +"j* c #5F5145", +"k* c #ADB1A7", +"l* c #83899B", +"m* c #9C9EB9", +"n* c #8B8FB5", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . + @ # # # # # # # # # # # # # # # # # # # # $ % & . . . ", +". . * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 . . ", +". 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A . ", +". B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ...+.@.. ", +". @ #.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.@ . ", +". 4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.4.. ", +". 4.w.x.y.z.A.B.C.D.f.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.4.. ", +". 4.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+4.. ", +". :+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+4.. ", +". :+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+4.. ", +". Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@4.. ", +". Q+{@]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@4.. ", +". 4.h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@4.. ", +". 4.J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#4.. ", +". 4.-#;#>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#4.. ", +". 4.0#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#4.. ", +". 4.B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#P#Q#R#S#T#U#V#W#X#Y#Z#`# $4.. ", +". 4..$+$@$#$$$%$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$($_$:$<$[$}$|$4.. ", +". 4.1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$4.. ", +". 4.s$t$u$v$w$x$y$z$m A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$4.. ", +". 4.T$U$V$W$X$Y$Z$`$ %.%+%@%#%$%%%&%*%=%-%;%>%,%'%)%!%~%{%]%4.. ", +". 4.^%/%(%_%:%<%[%}%|%1%2%3%4%5%5%6%7%6%5%8%9%0%a%b%c%d%e%f%4.. ", +". 4.^%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%A%B%C%D%E%F%G%4.. ", +". 4.H%g%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%W%X%Y%Z%`% &.&+&@&#&$&4.. ", +". 4.%&&&*&=&-&;&>&,&'&)&!&~&{&]&^&/&(&_&:&<&[&}&|&1&2&3&4&5&4.. ", +". @ 6&7&8&9&0&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&@ . ", +". @.x&y&z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&N&P&Q&R&S&T&U&V&W&X&@.. ", +". A Y&Z&`& *.*+*@*#*$*%*&***=*-*;*>*,*'*)*!*~*{*]*^*/*(*_*:*<*. ", +". . 7 [*}*|*1*2*3*4*5*6*7*8*9*0*a*b*c*d*e*a$f*g*h*i*j*k*l*7 . . ", +". . . & m*n*# # # # # # # # # # # # # # # # # # # # n*m*& . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/2009-x64/prefsThierry/icons/zooLineOfAction.xpm b/2009-x64/prefsThierry/icons/zooLineOfAction.xpm new file mode 100644 index 0000000..7d8b3fd --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooLineOfAction.xpm @@ -0,0 +1,291 @@ +/* XPM */ +static char * zooLineOfAction_xpm[] = { +"32 32 256 2", +" c #301512", +". c #79040E", +"+ c #711417", +"@ c #372C37", +"# c #3F2C25", +"$ c #9B0707", +"% c #422F29", +"& c #930C0A", +"* c #851511", +"= c #393831", +"- c #363B32", +"; c #B2090D", +"> c #433C36", +", c #9A1716", +"' c #802322", +") c #8E1E17", +"! c #B61108", +"~ c #7B2C23", +"{ c #424441", +"] c #4E4037", +"^ c #6E332B", +"/ c #C90B0B", +"( c #A01E1A", +"_ c #DE0304", +": c #4A4247", +"< c #7D2E2A", +"[ c #E70000", +"} c #47463F", +"| c #DF0500", +"1 c #55413A", +"2 c #444558", +"3 c #D50A09", +"4 c #75342E", +"5 c #B11A16", +"6 c #444A41", +"7 c #8E292A", +"8 c #524541", +"9 c #F30000", +"0 c #723834", +"a c #484851", +"b c #5C423C", +"c c #C31611", +"d c #F30009", +"e c #BC1B15", +"f c #EB0804", +"g c #D50F1B", +"h c #FD0000", +"i c #FC0003", +"j c #E10D08", +"k c #C61913", +"l c #4C4F41", +"m c #81382F", +"n c #F70500", +"o c #4E4E46", +"p c #584A41", +"q c #E10E12", +"r c #B8231B", +"s c #C71C1B", +"t c #93342B", +"u c #71433F", +"v c #525149", +"w c #564F49", +"x c #D91616", +"y c #604B44", +"z c #D11A19", +"A c #EC0D19", +"B c #505446", +"C c #575447", +"D c #51574D", +"E c #4E5567", +"F c #A53533", +"G c #51556E", +"H c #595850", +"I c #9D3C32", +"J c #575861", +"K c #5B5A53", +"L c #6D5543", +"M c #D22A23", +"N c #6C564F", +"O c #A2413B", +"P c #7A5250", +"Q c #605F57", +"R c #595D76", +"S c #71594D", +"T c #EC2322", +"U c #7E5744", +"V c #656255", +"W c #64635B", +"X c #5F5F7F", +"Y c #735D56", +"Z c #5A6280", +"` c #67665E", +" . c #60647D", +".. c #726258", +"+. c #805C53", +"@. c #DA3435", +"#. c #63695F", +"$. c #726656", +"%. c #7F6156", +"&. c #666686", +"*. c #746661", +"=. c #6B6B63", +"-. c #6E6B5E", +";. c #7C665E", +">. c #B24F48", +",. c #6C6C8D", +"'. c #757264", +"). c #73726A", +"!. c #737460", +"~. c #7C6E69", +"{. c #C4514B", +"]. c #707091", +"^. c #8D6A66", +"/. c #787567", +"(. c #76756D", +"_. c #A7615E", +":. c #E44745", +"<. c #81736E", +"[. c #B85C56", +"}. c #70749A", +"|. c #986B5E", +"1. c #7B7A72", +"2. c #82786C", +"3. c #C85B51", +"4. c #7F7C6E", +"5. c #7E7D75", +"6. c #7F7E76", +"7. c #7E8172", +"8. c #9B766C", +"9. c #878079", +"0. c #83827A", +"a. c #7980A0", +"b. c #818380", +"c. c #868376", +"d. c #7C80A7", +"e. c #838677", +"f. c #8C8277", +"g. c #7A82AE", +"h. c #87877E", +"i. c #7F83AA", +"j. c #8A8779", +"k. c #7D85B1", +"l. c #7E86B3", +"m. c #8286AD", +"n. c #908882", +"o. c #8B8B82", +"p. c #8E8B7D", +"q. c #93897D", +"r. c #A2847D", +"s. c #868AB1", +"t. c #938C85", +"u. c #8F8E86", +"v. c #988A85", +"w. c #9C8B81", +"x. c #A7877B", +"y. c #A18A81", +"z. c #919188", +"A. c #98918A", +"B. c #8C8FB7", +"C. c #8F8FB1", +"D. c #979486", +"E. c #95948C", +"F. c #AB8D86", +"G. c #97968D", +"H. c #9C948E", +"I. c #8E95B6", +"J. c #9B978A", +"K. c #9493B6", +"L. c #A99188", +"M. c #B28D89", +"N. c #9A9A91", +"O. c #BB8D86", +"P. c #AE9486", +"Q. c #9E9B8D", +"R. c #AD958C", +"S. c #9D9C94", +"T. c #A79893", +"U. c #A29B94", +"V. c #AA998E", +"W. c #A09F97", +"X. c #BC948A", +"Y. c #B49A8C", +"Z. c #BC9692", +"`. c #A3A299", +" + c #A5A294", +".+ c #9CA0BB", +"++ c #B69C8E", +"@+ c #B09E94", +"#+ c #BB9A8E", +"$+ c #B99A94", +"%+ c #A4A49B", +"&+ c #A0A69C", +"*+ c #B59D95", +"=+ c #A1A1B7", +"-+ c #A7A69D", +";+ c #AEA497", +">+ c #AAA798", +",+ c #B5A399", +"'+ c #BDA294", +")+ c #ADA99B", +"!+ c #B3A89C", +"~+ c #ABABA2", +"{+ c #B8A79C", +"]+ c #B2AAA3", +"^+ c #BEA69D", +"/+ c #B0AD9F", +"(+ c #B2AFA0", +"_+ c #B0AFA6", +":+ c #B2B1A9", +"<+ c #B5B2A3", +"[+ c #B4B3AA", +"}+ c #B6B6AD", +"|+ c #B4B4BE", +"1+ c #B9B6A7", +"2+ c #BEB4A7", +"3+ c #BCB8AA", +"4+ c #B6B7C1", +"5+ c #B9B9B0", +"6+ c #CCB3AA", +"7+ c #BEBAAC", +"8+ c #B8B9C3", +"9+ c #BCBBB3", +"0+ c #C1B9B2", +"a+ c #C0BDAE", +"b+ c #BEBDB4", +"c+ c #C6BBAE", +"d+ c #BFBEB5", +"e+ c #C2BEB0", +"f+ c #C1C0B7", +"g+ c #C4C1B2", +"h+ c #C2C2B9", +"i+ c #CBC0B4", +"j+ c #C3C1C5", +"k+ c #C6C1C0", +"l+ c #C4C4BB", +"m+ c #CAC2BA", +"n+ c #C8C4B5", +"o+ c #C6C6BD", +"p+ c #CAC4C3", +"q+ c #C8C7BF", +"r+ c #CBC6C5", +"s+ c #CEC6BF", +"t+ c #CCC9BA", +"u+ c #CAC9C0", +"v+ c #CBCAC1", +"w+ c #CCCBC2", +"x+ c #D1C9C2", +"y+ c #D4C9BC", +"z+ c #CDCCC3", +"A+ c #CECDC4", +"B+ c #CFCEC5", +"C+ c #D0CFC7", +"D+ c #D3CFC0", +"E+ c #D5CDC6", +"F+ c #D4D0C2", +"G+ c #D1D1C8", +"G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+h+%+b+B+C+G+", +"E+E+E+p+=+K.l.l.l.l.m.m.l.m.m.m.m.l.l.l.l.l.l.].G X : 7 z f :.x+", +"G+G+|+K.|+p+E+y+y+E+E+y+E+E+E+y+F+y+y+y+y+y+G+f.7.m j 9 ; + ..n+", +"F+p+I.B+E+G+F+E+E+E+E+G+F+F+F+G+F+E+G+G+E+E+y+h.O n k %.h.a } d+", +"B+=+|+G+y+E+G+G+F+F+E+F+F+F+F+E+G+E+x+G+G+C+z.< i 5 > V V { J w+", +"y+C.r+F+G+G+E+E+G+G+G+G+F+G+E+g+G.j.1.7+ +6 $.d ; o #.w (.} E D+", +"G+s.E+E+E+G+G+E+E+E+E+G+F+G+`.Q.w+e+d+K } C c f b f.o # D m+d.C+", +"E+B.C+G+G+E+E+G+G+G+G+G+]+'.o+E+<+G.E+/+= ) n ~ D (.> # o `.s.x+", +"E+l.E+E+G+G+E+E+E+E+E+[+(.p.5+G+g+j.B+n++.n $ ).- V 8.<.Q *.s.7+", +"G+B.C+G+E+E+G+G+G+G+G+N. +6.0.%+`.h.D+A+@.j C #.w P p.o.(.m.u+", +"6+m.E+G+G+E+E+E+E+E+E+%+z.4. +p.6.5.g+O.n * 6 l `.y 5.5.h._+a.G+", +"d g _.[+G+G+G+G+G+G+G+C+1+5+z+d+t+E._+r j f.j.D w N >+g+o+}+i.E+", +"0 . 9 >.q.s+E+F+F+E+G+E+G+E+<.0.4.9.S 9 ( '.d+-.N _+b+g+7+9+s.G+", +"a+,.) i U !.D+E+E+G+E+G+E+ +` n+e+E.M f N &+a+;.V.t+d+h+w+z+l.E+", +"(+R u.s j |.o.G+E+F+F+F+G+Q ~+5+)+[.i ' K [+,+x.t.3+e+W.u.B+s.G+", +"0.Z h.v.3 x 4 m+F+G+E+G+y+` (+<+$+d ; -.o V.Z.~+1.5+`.D./.E+l.E+", +"N 2 0+h+r.x [ 3.i+E+F+B+Q.Q 0.++j | L = 8 Z.]+d+H ]+z+u.u.A+B.G+", +"/+@ {+E+l+A.F [ i T :.3.7 O r 9 f u C x.^.>+3+t+t.u.E+J.h.E+l.E+", +"h+G v.^+u+a+&+9.^ , / 9 9 i _ , 1 Q y.X.m+9.l+G+/+-+z+h.f+B+s.G+", +"G+].0.2+#+7+(+w+(+p.p.<.*.~.K } q.M.#+x+E+`.U.x+q+U.s+-+E+E+l.E+", +"G+d.9.k+u+@+R.0+y+x+z+d+d+r+1+x.1 (+l+o+x+u+:+]+G+_+N.G+G+E+B.G+", +"E+k.9+%+E+E+c+^+F.F.R.L.@+'+$+!+).0+e+E+G+G+G+o+]+]+E+E+E+C+l.E+", +"E+g.z+b+0+A.o.u.9.T.n.A./+e+v+x+d+6.v+n+E+E+E+w+5+G+G+G+B+B+s.G+", +"G+d.r+0+C+x+x+u+q+w+m+h+N.h.g+v+A+z.5+U.[+G+A+k+E+E+E+E+E+E+l.E+", +"D+i.C+B+G+A+E+B+G+B+E+G+G+U.h+E+B+E+6.6.v o.n+v+x+G+G+G+G+E+B.G+", +"E+s.k+E+E+E+G+E+E+E+G+E+E+G+]+C+E+C+`.1+]+=.]+x+G+E+E+E+E+C+l.E+", +"E+B.r+u+u+x+G+B+B+E+B+F+E+G+y+-+y+u+A+W.E+`.0.E+u+W.C+G+G+r+B.G+", +"C+=+|+E+E+C+E+E+E+F+x+B+G+E+G+-+u+s+E+7+q+s+` [+n.H.E+E+E+8+=+E+", +"B+j+K.r+E+G+C+G+G+G+E+x+G+E+E+E+`.B+G+B+t+l+5.Q u+u.C+G+E+K.j+G+", +"E+C+8+I.8+r+F+E+E+]+f+G+E+z+G+G+U.s+E+x+v+x+1.u.r+H.r+8+B.4+G+E+", +"G+G+E+r+.+B.l.l.l.l.l.l.l.l.l.l.k.,.l.l.g.d.G G }.X B..+j+E+G+G+", +"E+E+G+G+E+G+E+E+G+E+E+G+E+m+E+G+E+E.E+E+x+s+0./.k+S.E+G+G+G+E+E+"}; diff --git a/2009-x64/prefsThierry/icons/zooNameSpacey.xpm b/2009-x64/prefsThierry/icons/zooNameSpacey.xpm new file mode 100644 index 0000000..f1023b0 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooNameSpacey.xpm @@ -0,0 +1,142 @@ +/* XPM */ +static char *zooNameSpacey[] = { +/* columns rows colors chars-per-pixel */ +"32 32 104 2", +" c black", +". c #201D14", +"X c #201F14", +"o c #202014", +"O c #30271D", +"+ c #302D1D", +"@ c #302F1D", +"# c #30301D", +"$ c #403427", +"% c #403927", +"& c #403A27", +"* c #403C27", +"= c #403F27", +"- c #404027", +"; c #505031", +": c #505034", +"> c #60603B", +", c #705A45", +"< c #706645", +"1 c #706945", +"2 c #707049", +"3 c #80674E", +"4 c #80734E", +"5 c #80774E", +"6 c #807D4E", +"7 c #807F4E", +"8 c #9C9C00", +"9 c #80804E", +"0 c #808053", +"q c #8F8F57", +"w c #9F8061", +"e c #9F8761", +"r c #9F9361", +"t c #9F9C61", +"y c #9F9F61", +"u c #9F9D68", +"i c #9F9F68", +"p c #BF9A75", +"a c #AFAF6B", +"s c #BFAD75", +"d c #BFAE75", +"f c #BFBB75", +"g c #BFBF75", +"h c #BFBB7C", +"j c #BFBF7C", +"k c #CECE63", +"l c #CFCD7F", +"z c #CFCF7F", +"x c #8186B3", +"c c #868AB4", +"v c #8B8FB5", +"b c #8C90B6", +"n c #9093B7", +"m c #9094B7", +"M c #9295B7", +"N c #9396B8", +"B c #9C9EBA", +"V c #9EA0BA", +"C c #BFBF9A", +"Z c #A1A3BB", +"A c #B4B3C0", +"S c #B5B4C0", +"D c #B7B6C1", +"F c #B9B8C1", +"G c #DFB488", +"H c #DFC888", +"J c #DFCA88", +"K c #DFDF88", +"L c #CFCFA7", +"P c #DFDFB4", +"I c #EECE88", +"U c #EFC192", +"Y c #FFCE9C", +"T c #F6D091", +"R c #F6D991", +"E c #F6DF91", +"W c #EFE592", +"Q c #EFEF92", +"! c #F6E191", +"~ c #F6E193", +"^ c #F6E491", +"/ c #F6E399", +"( c #F6EA91", +") c #FFE59C", +"_ c #FFE69C", +"` c #FFF99C", +"' c #FFFF9C", +"] c #EFEFA3", +"[ c #FFF4A4", +"{ c #FFF9A6", +"} c #FFFDA6", +"| c #FFFFA6", +" . c #C2C0C4", +".. c #C3C1C4", +"X. c #C5C3C4", +"o. c #C7C5C5", +"O. c #C9C6C5", +"+. c #CAC7C6", +"@. c #CFCCC7", +"#. c #D1CDC7", +"$. c #D4D0C8", +"%. c #EFEFC1", +"&. c #FFFFCE", +"*. c gray97", +/* pixels */ +"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.", +"$.$.$.o.V m x x x x x x x x x x x x x x x x x x x x n Z o.$.$.$.", +"$.$.S M A 8 8 8 8 8 $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.X.A m S $.$.", +"$...M #.8 *.&.&.' ' 8 $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.@.m ..$.", +"$.V S 8 k k k k k k k 8 8 8 8 8 8 $.$.$.$.$.$.$.$.$.$.$.$.F V $.", +"$.b +.8 %.L &.&.&.&.C &.&.&.&.' k $.$.$.$.$.$.$.$.$.$.$.+.v $.", +"$.c @.8 C - ' ' ' ' 9 ' ' ' ' Y k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C # ; ; Q ' - ' , ; , y k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C o Q q > ' y ; Y ; 3 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C - ' g - ' 9 3 ' 3 9 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C a > 9 ' p # p o 3 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 P y q q Y ' 3 Q w q , 3 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 &.Y ' Y ' Y ' U # $ O G k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 k k k k k k k k k k k k k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$. $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.$.8 8 8 8 8 $.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.8 *.&.&.' ' 8 $.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 k k k k k k k 8 8 8 8 8 8 $.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.&.&.&.&.&.&.&.&.&.&.' k $.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.] : 2 | | | | [ u [ ~ k $.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.u # K Q g l ` r + J ^ k $.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.0 o g ; 7 @ y 5 . d E k $.@.c $.", +"$.c @.$.$.$.$.$. 8 &.j - ' g 6 . 5 s & ) ^ k $.@.c $.", +"$.c @.$.$.$.$.$.$.$.$.$.$.8 &.j - J . f 1 4 s & ) R k $.@.c $.", +"$.v o.$.$.$.$.$.$.$.$.$.$.8 &.h - W . * & < H . e T k $.+.v $.", +"$.V F $.$.$.$.$.$.$.$.$.$.8 &./ ( W ^ E ^ E ^ R T I k $.S V $.", +"$.X.N @.$.$.$.$.$.$.$.$.$.8 k k k k k k k k k k k k k @.N X.$.", +"$.$.S m F o.$.$.$.$.$.$.$.$. m S $.$.", +"$.$.$.o.B b x x x x x x x x x x x x x x x x x x x x b B o.$.$.$.", +"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$." +}; diff --git a/2009-x64/prefsThierry/icons/zooPanelCycler.xpm b/2009-x64/prefsThierry/icons/zooPanelCycler.xpm new file mode 100644 index 0000000..2afc314 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooPanelCycler.xpm @@ -0,0 +1,349 @@ +/* XPM */ +static char * zooPanelCycler_xpm[] = { +"32 32 314 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #B5B4C0", +"% c #9094B7", +"& c #B4B3C0", +"* c #C5C3C4", +"= c #D6CCC1", +"- c #E5A17A", +"; c #F76A34", +"> c #FB5924", +", c #FE4E1B", +"' c #FB5925", +") c #F47642", +"! c #E9976C", +"~ c #D9C5B3", +"{ c #C3C1C4", +"] c #9295B7", +"^ c #D1CDC7", +"/ c #D4D0C7", +"( c #EA9568", +"_ c #FE4C19", +": c #FD681C", +"< c #FF9116", +"[ c #FFAE16", +"} c #FFBE16", +"| c #FFAF16", +"1 c #FF9216", +"2 c #FF6B17", +"3 c #FE4A18", +"4 c #EE8757", +"5 c #D5CBC0", +"6 c #9EA0BA", +"7 c #B7B6C1", +"8 c #D3CFC7", +"9 c #D2CEC6", +"0 c #D2CCC2", +"a c #F56B37", +"b c #FE5C18", +"c c #FFB816", +"d c #FFCB16", +"e c #FFC816", +"f c #FE7118", +"g c #FC511F", +"h c #D8C1AD", +"i c #8B8FB5", +"j c #C9C6C5", +"k c #3F3636", +"l c #BB4D20", +"m c #F95F17", +"n c #FFC916", +"o c #FE8617", +"p c #F06D20", +"q c #FE7216", +"r c #FFC316", +"s c #FF8217", +"t c #FA5A26", +"u c #D3CDC4", +"v c #CAC7C6", +"w c #868AB4", +"x c #CDCAC5", +"y c #C9C9D2", +"z c #C8C8D1", +"A c #D0AFA2", +"B c #FD501A", +"C c #FFA816", +"D c #FA5719", +"E c #F54E1C", +"F c #C76336", +"G c #B26843", +"H c #B46740", +"I c #E25926", +"J c #F8511A", +"K c #E3986B", +"L c #C5C5CE", +"M c #EC7142", +"N c #FE6218", +"O c #F74916", +"P c #AA5E37", +"Q c #6C6862", +"R c #777570", +"S c #7C7A75", +"T c #7A7874", +"U c #74726E", +"V c #C1653A", +"W c #FB6C18", +"X c #FFA316", +"Y c #FB531E", +"Z c #C9C5C0", +"` c #C0BEC4", +" . c #FD4B19", +".. c #FC4919", +"+. c #4C2D1D", +"@. c #1D1919", +"#. c #262121", +"$. c #2C2626", +"%. c #97948E", +"&. c #999690", +"*. c #8E8C86", +"=. c #9B7860", +"-. c #F5571C", +";. c #FB511B", +">. c #C9B09D", +",. c #C7C7D0", +"'. c #C7A394", +"). c #FF4716", +"!. c #A9765E", +"~. c #292323", +"{. c #77777C", +"]. c #9C9CA3", +"^. c #383030", +"/. c #A5A29B", +"(. c #B6B2AB", +"_. c #B1AEA7", +":. c #AD8B72", +"<. c #F7571C", +"[. c #F9631C", +"}. c #CC9A7D", +"|. c #C4C4CD", +"1. c #C9957E", +"2. c #ED5A2A", +"3. c #88888E", +"4. c #322B2B", +"5. c #8F8F95", +"6. c #B2B2BA", +"7. c #3D3434", +"8. c #CF855E", +"9. c #C7B09D", +"0. c #C2BEB7", +"a. c #C68D6C", +"b. c #F8631B", +"c. c #FE7317", +"d. c #D38762", +"e. c #858AB4", +"f. c #C1C1CA", +"g. c #ABA8AD", +"h. c #A28D85", +"i. c #9E9EA6", +"j. c #3A3131", +"k. c #9B9BA2", +"l. c #B7B7C0", +"m. c #DE4C19", +"n. c #FC4816", +"o. c #673F2C", +"p. c #DD7344", +"q. c #FD8118", +"r. c #FF7916", +"s. c #D87E51", +"t. c #C2C2CB", +"u. c #AFAFB7", +"v. c #A3A3AA", +"w. c #B3B3BB", +"x. c #3D3535", +"y. c #9D9DA4", +"z. c #B7B7BF", +"A. c #3C3332", +"B. c #FC4B19", +"C. c #FF8F16", +"D. c #FB4816", +"E. c #FB4C1A", +"F. c #FFB916", +"G. c #FF7516", +"H. c #D77C4C", +"I. c #8589B3", +"J. c #C6C6CF", +"K. c #BDBDC6", +"L. c #B9B9C2", +"M. c #9E9EA5", +"N. c #B6B6BF", +"O. c #54392C", +"P. c #F8501B", +"Q. c #FE8716", +"R. c #FB5E19", +"S. c #FE6616", +"T. c #C28563", +"U. c #B4B4BC", +"V. c #754126", +"W. c #F65E1B", +"X. c #FA571A", +"Y. c #B18E7A", +"Z. c #9A4721", +"`. c #FD7217", +" + c #FC4A18", +".+ c #A59E99", +"++ c #858AB3", +"@+ c #AEAEB6", +"#+ c #C64D1B", +"$+ c #FF8B16", +"%+ c #FF8316", +"&+ c #DC6533", +"*+ c #AAA8A4", +"=+ c #AAAAB2", +"-+ c #EB4B18", +";+ c #FFAA16", +">+ c #F7591B", +",+ c #AF8062", +"'+ c #B3B0AC", +")+ c #A9A3A7", +"!+ c #FFC616", +"~+ c #FFA916", +"{+ c #F94D1A", +"]+ c #9A948E", +"^+ c #BAB8B4", +"/+ c #9C9CA2", +"(+ c #B4968B", +"_+ c #F35017", +":+ c #F95619", +"<+ c #BA734D", +"[+ c #A8A59E", +"}+ c #C4C0BB", +"|+ c #C2886F", +"1+ c #F56117", +"2+ c #FE6F17", +"3+ c #F94F1C", +"4+ c #C1A996", +"5+ c #C9C6C2", +"6+ c #C8C4BC", +"7+ c #B4B0A9", +"8+ c #A7A49E", +"9+ c #9F9FA6", +"0+ c #D57850", +"a+ c #FE7B16", +"b+ c #FF6216", +"c+ c #FB501E", +"d+ c #D3B6A3", +"e+ c #CECBC6", +"f+ c #CFCBC3", +"g+ c #C2BEB6", +"h+ c #3A3232", +"i+ c #B8B8C1", +"j+ c #B8B8C0", +"k+ c #B1B1BA", +"l+ c #EB6432", +"m+ c #FF9616", +"n+ c #FFB716", +"o+ c #FE7816", +"p+ c #F7601A", +"q+ c #F84F1A", +"r+ c #FD4917", +"s+ c #EC5C27", +"t+ c #DE7A4C", +"u+ c #D79E7E", +"v+ c #CFCCC7", +"w+ c #D0CCC4", +"x+ c #3E3535", +"y+ c #F44A17", +"z+ c #FF8516", +"A+ c #F45B1B", +"B+ c #FC4716", +"C+ c #FC4817", +"D+ c #DA5B27", +"E+ c #BC653A", +"F+ c #A26B4B", +"G+ c #826E5E", +"H+ c #73716C", +"I+ c #7E7C77", +"J+ c #B6B3AF", +"K+ c #978B88", +"L+ c #F05120", +"M+ c #D35929", +"N+ c #AB5D3A", +"O+ c #91654F", +"P+ c #3A261B", +"Q+ c #595754", +"R+ c #6C6A66", +"S+ c #7A7873", +"T+ c #817E7A", +"U+ c #86837E", +"V+ c #8B8883", +"W+ c #93908B", +"X+ c #A4A19B", +"Y+ c #B8B5B0", +"Z+ c #B5B5BE", +"`+ c #A2A2AA", +" @ c #7F7F85", +".@ c #6D6D72", +"+@ c #6F6F74", +"@@ c #78787D", +"#@ c #282222", +"$@ c #6D6B67", +"%@ c #888580", +"&@ c #9C9994", +"*@ c #B0ADA6", +"=@ c #B7B3AD", +"-@ c #BCB8B1", +";@ c #C3BFB8", +">@ c #C6C2BE", +",@ c #302929", +"'@ c #2D2626", +")@ c #2F2929", +"!@ c #352D2D", +"~@ c #92908A", +"{@ c #AEABA4", +"]@ c #C1BDB6", +"^@ c #CDC9C1", +"/@ c #A9A69F", +"(@ c #A6A39D", +"_@ c #A5A29C", +":@ c #A09D97", +"<@ c #98958F", +"[@ c #96938E", +"}@ c #999691", +"|@ c #9E9C96", +"1@ c #A4A19A", +"2@ c #C6C2BA", +"3@ c #C3C0B8", +"4@ c #C1BEB7", +"5@ c #9396B8", +"6@ c #C2C0C4", +"7@ c #B9B8C1", +"8@ c #9C9EBA", +"9@ c #8C90B6", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # @ + . ", +" $ % & * = - ; > , ' ) ! ~ * & % $ ", +" { ] ^ / ( _ : < [ } | 1 2 3 4 5 ^ ] { ", +" 6 7 8 9 9 9 9 9 9 9 9 9 0 a b c d d d d d d d e f g h 7 6 ", +" i j k k k k k k k k k k l m n | o p q 1 r d d d d s t u v i ", +" w x k y y y y y y y z A B C D E F G H I J c d d d d b K x w ", +" w x k y y y y y y y L M N O P Q R S T U V W d d d d X Y Z w ", +" w x k y y y y y y z ` ...+.@.#.$.%.&.*.=.-.d d d d d ;.>.w ", +" w x k y y y y y y ,.'.).!.~.{.].^./.(._.:.<.d d d d d [.}.w ", +" w x k y y y y y y |.1.2.3.4.5.6.7.8.9.0.a.b.d d d d d c.d.e.8 ", +" w x k y y y y y z f.g.h.i.j.k.l.7.m.n.o.p.q.d d d d d r.s.e.8 ", +" w x k y y y y y z t.u.v.w.x.y.z.A.B.C.D.E.F.d d d d d G.H.I.9 ", +" w x k y y y y y y J.K.L.f.k M.N.O.P.d Q.R.d d d d d d S.T.I.9 ", +" w x k y y y y y y y ,.J.,.k M.U.V.W.d d C d d d d d d X.Y.I.9 ", +" w x k y y y y y y y y y y k M.6.Z.`.d d d d d d d d } +.+++9 ", +" w x k y y y y y y y y y y k y.@+#+$+d d d d d d d d %+&+*+e.8 ", +" w x k y y y y y y y y y y k y.=+-+;+d d d d d d d d >+,+'+w ", +" w x k y y y y y y y y y y k ].)+D.!+d d d d d d d ~+{+]+^+w ", +" w x k y y y y y y y y y y k /+(+_+d d d d d d d e :+<+[+}+w ", +" w x k k k k k k k k k k k k /+|+1+d d d d d d d d 2+3+4+5+w ", +" w x 6+7+8+4.M.M.M.M.M.M.i.9+v.0+a+d d d d d d d d !+b+c+d+w ", +" w e+f+6+g+h+i+i+i+i+i+i+i+j+k+l+m+d d d n+1 o+p+q+r+s+t+u+w ", +" w v+8 9 w+x+x+x+x+x+x+x+x+7.j.y+z+q A+B+C+D+E+F+G+H+I+&.J+e. ", +" w v+ 9 6+7+8+4.M.M.M.M.].K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+e.8 ", +" w v+ 8 f+6+g+h+i+i+i+i+Z+`+ @.@+@@@#@$@%@&@[+*@=@-@;@>@w ", +" i v 8 9 w+x+x+x+x+x+7.^.,@'@)@4.!@~@{@]@6+^@w+9 9 j i ", +" 6 7 9 6+7+/@8+(@_@:@<@[@}@|@1@*@2@w+8 7 6 ", +" { ] ^ 8 f+6+3@;@;@;@0.4@]@4@0.3@6+f+8 ^ 5@6@ ", +" $ % 7@j 8 9 9 9 9 9 9 9 9 9 9 9 9 8 j 7@% $ ", +" . 8@9@# # # # # # # # # # # # # # # # # # # # 9@8@. ", +" "}; diff --git a/2009-x64/prefsThierry/icons/zooRemind.xpm b/2009-x64/prefsThierry/icons/zooRemind.xpm new file mode 100644 index 0000000..0789328 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooRemind.xpm @@ -0,0 +1,293 @@ +/* XPM */ +static char *zooRemind[] = { +/* columns rows colors chars-per-pixel */ +"32 32 255 2", +" c black", +". c #09090C", +"X c #0D0D11", +"o c #101012", +"O c #121315", +"+ c #15151A", +"@ c #1B1412", +"# c #1A1A1F", +"$ c #1D1D26", +"% c #201F16", +"& c #3D3B1F", +"* c #212327", +"= c #22222A", +"- c #21222C", +"; c #23242E", +": c #25252A", +"> c #25262D", +", c #2D2220", +"< c #292A29", +"1 c #2C2C2D", +"2 c #292A32", +"3 c #2B2C35", +"4 c #2D2E38", +"5 c #2F3235", +"6 c #352B27", +"7 c #3A3A2C", +"8 c #343436", +"9 c #31303A", +"0 c #32333E", +"q c #37383B", +"w c #3A3B3A", +"e c #3F3D39", +"r c #3C3C3C", +"t c #373842", +"y c #3A3B41", +"u c #3D3C47", +"i c #383948", +"p c #3F403F", +"a c #453733", +"s c #50413C", +"d c #42424C", +"f c #494745", +"g c #4B494F", +"h c #454653", +"j c #474758", +"k c #4D4C54", +"l c #4C4D5D", +"z c #5A4B44", +"x c #545452", +"c c #585659", +"v c #5C5B58", +"b c #535364", +"n c #5D5E6D", +"m c #5A605D", +"M c #61514A", +"N c #6C5852", +"B c #67605D", +"V c #736057", +"C c #79655C", +"Z c #7D7B5F", +"A c #696866", +"S c #6A6A7C", +"D c #7E6E6A", +"F c #766676", +"G c #71706C", +"H c #7C7A65", +"J c #787877", +"K c #72738A", +"L c #7D7D92", +"P c #897065", +"I c #837670", +"U c #837F7C", +"Y c #90746C", +"T c #957D77", +"R c #807482", +"E c #9D9B52", +"W c #89896C", +"Q c #988E77", +"! c #A38478", +"~ c #878581", +"^ c #83839D", +"/ c #8E9080", +"( c #938985", +") c #918799", +"_ c #92908B", +"` c #979894", +"' c #989590", +"] c #9E919E", +"[ c #9E9A95", +"{ c #8889A5", +"} c #9192AE", +"| c #9899B8", +" . c #9B9CBC", +".. c #9F9FBE", +"X. c #AA8E84", +"o. c #A19E98", +"O. c #AD9A94", +"+. c #B6968A", +"@. c #A898A8", +"#. c #AB9EB5", +"$. c #B09DB0", +"%. c #AEA29D", +"&. c #B7B38D", +"*. c #A4A0A3", +"=. c #A9A6A0", +"-. c #ADA4AF", +";. c #ADAAA3", +":. c #ADABA5", +">. c #AEACAB", +",. c #B3A8A3", +"<. c #B4AFAA", +"1. c #B9A5B8", +"2. c #BDB9B3", +"3. c #9F9EC1", +"4. c #9CA2C0", +"5. c #9FA4C4", +"6. c #A0A1C0", +"7. c #A1A2C1", +"8. c #A1A3C2", +"9. c #A2A2C1", +"0. c #A3A3C3", +"q. c #A2A2C5", +"w. c #A2A4C3", +"e. c #A3A4C4", +"r. c #A3A4C7", +"t. c #A3A6C5", +"y. c #A4A3C3", +"u. c #A5A6C3", +"i. c #A4A5C5", +"p. c #A5A4C7", +"a. c #A5A6C5", +"s. c #A5A6C6", +"d. c #A6A5C5", +"f. c #A7A5C6", +"g. c #A6A7C6", +"h. c #A4A5C8", +"j. c #A5A5C8", +"k. c #A6A9C5", +"l. c #A6A8C6", +"z. c #A7A8C7", +"x. c #A6A9CA", +"c. c #A7ABCD", +"v. c #A9A6C9", +"b. c #A9A9C7", +"n. c #A8A9C9", +"m. c #A8A9CA", +"M. c #A9AACA", +"N. c #AAA8C9", +"B. c #AAABCC", +"V. c #ABADCD", +"C. c #AEABCA", +"Z. c #ACACC9", +"A. c #AEAECE", +"S. c #ADAFD1", +"D. c #ADB0D2", +"F. c #B0ACCC", +"G. c #B2ADCC", +"H. c #BAAAC4", +"J. c #BEAAC9", +"K. c #B1AFD0", +"L. c #B8B1CE", +"P. c #B2B2D4", +"I. c #B4B4DB", +"U. c #BBB4D3", +"Y. c #BFB7D7", +"T. c #BFB9D9", +"R. c #C3A092", +"E. c #CAA59A", +"W. c #C8BAA9", +"Q. c #C6BCB5", +"!. c #DBB4A5", +"~. c #E8BDAD", +"^. c #C0AEC2", +"/. c #C3B1C7", +"(. c #C0B6D2", +"). c #C3B9D7", +"_. c #C6BBD9", +"`. c #C9BEDA", +"'. c #D3BED3", +"]. c #CAC4BD", +"[. c #E2C7BB", +"{. c #EDC3B4", +"}. c #F6C5B5", +"|. c #F5C9B6", +" X c #FACBB9", +".X c #FBCCBA", +"XX c #F8CEBE", +"oX c #FDCDBA", +"OX c #FDCFBD", +"+X c #FDCEBF", +"@X c #FFCDBC", +"#X c #FFCEBD", +"$X c #FFCFBE", +"%X c #FBD2BF", +"&X c #FFD0BD", +"*X c #FFD0BF", +"=X c #FFD2BF", +"-X c #CCC1DE", +";X c #D7CDC5", +":X c #D1C2DF", +">X c #D6C5DD", +",X c #D8D4CD", +" > = - - = ; 2 3 3 4 4 0 d d q Q.[.[ 5 b h u w 3 : * X v ", +"' t 0.s.s.h.h.h.h.h.s.h.h.p.v.q.S.S ~ fXdXyXk | z.w.q... .s.b a ", +"=.9 s.n.n.z.z.g.s.G.n.s.g.s.).).| y U JXIX[.I { V.S.g.z.n.D.l p ", +";.2 0.z.s.s.w.s.w.G.>Xs.8.s.G.mXL f J 5X6XO.U K ).).s.z.g.D.l a ", +";.2 ..z.s.g.s.w.s.z.4X>Xz.w.g.mX) A O.z a X.( L jXG.s.w.s.G.h g ", +"=.2 ..g.s.n.U.G.w.8.).DXhXG.4.3X] _ KX~.~.iXU @.zXg.s.F.D.V.u v ", +"o.: 0.s.s.0.G.:XG.0.C.cXCXhXz.-X#.<.KX8XwXdXJ 1.>X0.G.1XG.V.y A ", +"' > 8.z.g.w.y.F.2X2XF.:XnXNXlXhX@.%.yX.X@XiXA $.-X1XzXU.w.V.0 G ", +"_ = 0.z.g.w.g.y.s.:XMX2XzXnXnXFX@.%.dX X*X@Xf 1.SXBXU.8.M.b.0 ~ ", +"U $ 0.g.s.s.s.s.0.0.:XNXcXcXmXSX@.%.dX*XwX}.6 1.DX`.4.k.g.g.9 _ ", +"J $ 8.s.g.z.Z.G.U.).:XkXnXMXcXDX#.( +.yXdXtXa ^.mXU.P.@.S z.2 _ ", +"A > 8.n.).2XlXBXNXCXBXMXcXcXMXDX@.M T !.I ;XN '.nXLXLX<.u 5.> _ ", +"x > n.n.n.G.U.`.2XhXcXMXMXMXmXDX1.P I >.o.,.I >X3X@.] c b w.$ ' ", +"x ; g.g.s.w.8.0.w.h.C.).hXMXcXNX@.X.R.+.2.GXT H.C E & L u.# ' ", +"x 3 n.g.s.s.s.g.G.).:XgXcXMXMXhX_ &.I T ,.GXO.-.W H [ Z j 5.o ` ", +"x 0 n.g.s.C.).3XcXCXVXcXBXBXSXLX@.a C g m W &.HXPXW.H 7 l 4.O [ ", +"x 9 n.g.s.C.Z.G.G.).hXBXVX'.@.@.] a |.T a 6 f Q &.PXQ $ .4.+ =.", +"s t n.g.s.s.s.8.F.>XMXBXR B ]. d A.s.s.s.8.(.nXNXBXH.x 8XiXKXJXz |.*X=XyXC /.#.7 HXZ i w.+ ;.", +"1 d D.t.s.n.`.hXgX`.U.^ f *X*XeX8Xe !.=X*XpXV R SXk & # K .o >.", +"< l D.t.n.).).F.h.s.D.) z tX@X=X~.@ R.yX*XpXP u LX>XK ^ V.} X ;.", +"< l P.g.g.s.q.c.3.| 3XF s !.=XwX~.@ R.yX.XyX! + >XZX4Xh.V.} X ;.", +"1 b D.g.g.s.V.L K J g w B ~.=X*X%Xz +.yX*X%X!.O ^ -XjX).x.} X ;.", +"1 n I.g. ...K * 6XdX[.5XfX=X7XOXyXT ! pX*X@XGXU l V.Z._.D.} X ;.", +"1 n ^ n L _ A [ dX@XwXyXtXwX@X*X=X!.P .X*X@XtX5Xy { D.v.G.} X ;.", +"8 0 d Q.tXtXiXdX*X@XtXE.M ! wX*X*X*X~. X@X*X@XGXJ # b w.D.} X ;.", +"8 O Q.pX*X@X@X.X*XtX.Xa V {.wX@X@X*X*X*X.X*X@XwXW.+.s i w.} o <.", +"1 C dX*X*X*X*X.XwX!.Y +.uXrX*X*X*X*X*X*XwXwXwX*XyXtXiXz j | + 2.", +"< Y dX=XyXiXdXpXdX!.!.GXdXyX%X%X*X&XOX X.X X X X@X@XwXR.9 { o 2.", +"5 , z z M N V V V C C V N M s s a 6 , , , , , , , , 6 % . $ O ].", +";.f r r r e w w r e w w w p x x x v A A A G G G G J U L ~ W o.,X" +}; diff --git a/2009-x64/prefsThierry/icons/zooRenamer.xpm b/2009-x64/prefsThierry/icons/zooRenamer.xpm new file mode 100644 index 0000000..709ac44 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooRenamer.xpm @@ -0,0 +1,163 @@ +/* XPM */ +static char *zooRenamer[] = { +/* columns rows colors chars-per-pixel */ +"32 32 125 2", +" c #4A5777", +". c #6A6B6F", +"X c #75726D", +"o c #7D7A76", +"O c #345596", +"+ c #3E609E", +"@ c #475B8E", +"# c #5E6985", +"$ c #5E6E96", +"% c #5A6D9C", +"& c #5F709B", +"* c #4667A4", +"= c #4E70AB", +"- c #576CA0", +"; c #5A6EA0", +": c #5670A6", +"> c #5A72A1", +", c #5678B0", +"< c #66718C", +"1 c #637194", +"2 c #65759A", +"3 c #697594", +"4 c #68789F", +"5 c #6579A4", +"6 c #637CAA", +"7 c #6B7CA3", +"8 c #5D80B8", +"9 c #6D80AD", +"0 c #6588BE", +"q c #6E84B1", +"w c #7182A7", +"e c #7485AA", +"r c #7C8DAF", +"t c #738CB6", +"y c #7993BC", +"u c #6D90C5", +"i c #7499CB", +"p c #7F99C0", +"a c #7DA2D3", +"s c #85827B", +"d c #8D8B85", +"f c #918E88", +"g c #94928C", +"h c #98958F", +"j c #909092", +"k c #999690", +"l c #9C9993", +"z c #8294B5", +"x c #899BBA", +"c c #979CA1", +"v c #8DA0BE", +"b c #A09C96", +"n c #A19E98", +"m c #A6A39C", +"M c #A8A49D", +"N c #A1A7AC", +"B c #A4AAAE", +"V c #A9A6A0", +"C c #ADAAA3", +"Z c #A4ACB2", +"A c #ADB5BB", +"S c #B1ADA6", +"D c #B1AEA8", +"F c #B5B2AB", +"G c #B8B4AE", +"H c #B4B4B1", +"J c #B2B8BC", +"K c #B9B6B1", +"L c #BCB9B3", +"P c #BEBCB8", +"I c #849FC6", +"U c #8AA6CA", +"Y c #84A9D9", +"T c #92A5C2", +"R c #97A9C6", +"E c #9AAEC9", +"W c #91ACD1", +"Q c #9FB3CD", +"! c #97B2D5", +"~ c #9DB8DA", +"^ c #8CB1E0", +"/ c #93B9E5", +"( c #AEB9C3", +") c #A4B8D2", +"_ c #A2BEDE", +"` c #A8BCD6", +"' c #98C0EE", +"] c #ADC1D9", +"[ c #BDC5CB", +"{ c #B1C6DC", +"} c #BEC8D3", +"| c #A8C6E6", +" . c #B4C9E0", +".. c #BBD3EC", +"X. c #C1BDB6", +"o. c #C1BEB9", +"O. c #C4C1BB", +"+. c #C8C5BD", +"@. c #C6C5C1", +"#. c #C8C6C2", +"$. c #CCC9C3", +"%. c #CFCDC8", +"&. c #C4CDD5", +"*. c #C6D2DE", +"=. c #D1CDC6", +"-. c #D1CEC8", +";. c #D4D0C7", +":. c #D5D1C9", +">. c #D8D4CD", +",. c #DCD8CE", +"<. c #D6D5D6", +"1. c #D9D6D0", +"2. c #DCD9D3", +"3. c #DAD9D8", +"4. c #C1D3E6", +"5. c #D2DAE2", +"6. c #E0DDD6", +"7. c #E0DED9", +"8. c #E4E0DB", +"9. c #E1E0E0", +"0. c #F0EFEC", +"q. c #F6F6F6", +"w. c #F7F7F8", +"e. c #F8F7F6", +"r. c #FCFCFC", +/* pixels */ +"3 3 3 $ $ 2 5 7 w e r z z x v T R Q Q ) ` ] { { 4.5.&.&.} 4.&.[ ", +" . < - ; ; 6 e q - O + * = , 8 0 u i a Y ^ / ' ..+.F o.H A s Z ", +"3 j # @ % % 7 7 w 6 > 6 9 q t y y U U W ! ~ _ | { c N Z Z ( B A ", +"@.L K O.$.$.#.$.$.$.%.=.%.%.%.%.%.%.-.%.%.:.=.;.%.=.=.=.%.=.=.$.", +"+.g X S ,.:.:.:.:.:.:.:.:.:.;.;.:.:.:.:.;.:.:.:.:.:.:.-.:.:.:.$.", +":.=.+.=.-.=.-.-.%.=.;.=.=.-.;.%.%.;.;.%.=.=.=.%.=.=.=.=.=.=.=.#.", +"+.#.=.=.=.-.=.$.:.=.o.O.O.X.O.O.+.X.O.:.+.+.=.=.=.=.+.=.:.-.:.$.", +"#.0.D h k b k g F :.K $.F l f g g g M :.F g d b b X.D X.:.-.-.$.", +"2.2.$.X.L L L X.o.>.,.,.O.S F S G C X.>.+.X.D X.X.+.X.=.=.=.=.=.", +"-.-.>.>.,.:.=.P o.o.o.o.o.O.O.o.o.o.O.O.o.O.+.@.6.,.6.6.2.6.2.+.", +"o.m D M $.:.o.<.w.w.e.e.w.w.w.q.q.q.w.w.q.q.e.q.6.M D L G G o.G ", +"+.D n k o.:.+.7.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.2.G k n f k M D ", +",.:.:.>.-.:.=.6.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.$.L L L L L K K ", +":.:.:.:.:.:.$.P O.@.O.O.O.@.@.O.@.O.O.O.@.O.O.@.3.>.3.7.7.7.6.@.", +"+.M M k +.>.X.<.w.r.w.r.w.r.w.r.w.r.r.w.r.w.w.q.2.M l D M V D F ", +"=.S M n X.>.+.7.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.>.F l M g l C F ", +":.>.,.,.:.:.;.>.2.,.2.2.6.6.6.6.6.2.2.2.2.2.2.6.+.F K K K K G G ", +"=.O.$.+.O.$.:.%.-.;.-.=.$.S O.o.+.+.$.:.=.=.=.=.:.:.,.:.:.,.:.%.", +"+.b d f l S :.:.:.:.;.:.=.g o f d d D >.;.;.;.:.:.;.:.:.;.:.:.=.", +":.+.=.+.+.=.%.%.+.=.=.=.:.=.+.$.+.+.=.=.=.$.=.%.:.:.:.:.:.:.:.%.", +"P $.$.#.$.$.#.$.=.$.$.-.=.P #.$.%.#.$.#.#.#.#.$.3.>.2.8.8.7.6.O.", +"@.r.r.r.r.r.r.r.r.r.r.>.F <.r.r.r.r.r.r.r.r.r.r.6.n k V b m S F ", +"$.r.r.w.r.w.w.r.w.r.r.3.X.2.r.e.r.w.r.r.r.e.w.e.1.K m V l M S F ", +"1.2.1.2.2.2.,.,.2.2.,.:.:.,.2.2.,.2.,.,.3.2.6.6.$.G P P P L K K ", +"%.+.%.:.O.+.=.=.+.=.=.-.=.=.-.+.=.=.=.%.>.7.-.=.2.8.%.>.7.2.2.O.", +"O.C k b S l g m M d h k m g S f f b l +.2.,.K M l M k l b g %.G ", +"%.X.F D +.O.G X.+.L L G X.G X.+.D X.K $.>.#.G M l m G S V C K F ", +">.,.2.6.,.2.6.6.6.6.2.6.,.2.,.,.2.2.2.2.>.$.#.=.$.%.$.$.$.#.#.O.", +"2.>.-.=.=.X.D X.L +.:.-.:.:.=.O.2.>.,.=.%.=.:.:.:.:.>.>.>.,.1.L ", +"2.,.=.k M h n h h M M g l %.%.o.,.:.,.S b k b f S C g h %.:.:.F ", +">.P L G G L X.G K L G F F K K o.o.L K L G G F F G G F D X.K K D ", +">.-.=.=.=.=.=.=.=.=.=.-.=.%.=.:.=.=.=.=.=.=.%.=.=.%.=.%.%.%.%.$." +}; diff --git a/2009-x64/prefsThierry/icons/zooScriptLoader.xpm b/2009-x64/prefsThierry/icons/zooScriptLoader.xpm new file mode 100644 index 0000000..87870f9 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooScriptLoader.xpm @@ -0,0 +1,126 @@ +/* XPM */ +static char *zooScriptLoader[] = { +/* columns rows colors chars-per-pixel */ +"32 32 88 1", +" c #403F3C", +". c #514F4C", +"X c #54524F", +"o c #555350", +"O c #565451", +"+ c #5A5B6A", +"@ c #555872", +"# c #5D5F79", +"$ c #666460", +"% c #676561", +"& c #6A6864", +"* c #716F6B", +"= c #74726E", +"- c #767471", +"; c #797672", +": c #7B7974", +"> c #7C7A75", +", c #7D7A76", +"< c #7E7C77", +"1 c #7F7D78", +"2 c #676A8A", +"3 c #74789C", +"4 c #807E79", +"5 c #83807B", +"6 c #83817C", +"7 c #84827E", +"8 c #87847F", +"9 c #868481", +"0 c #8A8782", +"q c #8D8A85", +"w c #8D8B85", +"e c #8E8B86", +"r c #918E88", +"t c #918F89", +"y c #95928C", +"u c #989590", +"i c #999690", +"p c #9B9993", +"a c #9F9C96", +"s c #9F9D99", +"d c #8186B3", +"f c #8488B1", +"g c #868AB4", +"h c #8B8FB5", +"j c #8C90B6", +"k c #9093B7", +"l c #9094B7", +"z c #9295B7", +"x c #9396B8", +"c c #9C9EBA", +"v c #9EA0BA", +"b c #A09D97", +"n c #A29F99", +"m c #A3A09A", +"M c #A6A39D", +"N c #AAA6A0", +"B c #AAA7A1", +"V c #AEAAA4", +"C c #AAA8AB", +"Z c #A1A3BB", +"A c #B1AEA7", +"S c #B0ADAC", +"D c #B3B1AC", +"F c #B5B2AB", +"G c #B8B4AD", +"H c #B9B5AE", +"J c #BCB8B1", +"K c #BFBCB4", +"L c #B4B3C0", +"P c #B5B4C0", +"I c #B7B6C1", +"U c #B9B8C1", +"Y c #BFBDC3", +"T c #C3BFB8", +"R c #C6C2BB", +"E c #CAC6BF", +"W c #C2C0C4", +"Q c #C3C1C4", +"! c #C5C3C4", +"~ c #C7C5C5", +"^ c #C9C6C1", +"/ c #C9C6C5", +"( c #CAC7C6", +") c #CDC9C2", +"_ c #CFCCC7", +"` c #D1CDC5", +"' c #D1CDC7", +"] c #D4D0C8", +/* pixels */ +"]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]", +"]]]~vlddddddddddddddddddddkv~]]]", +"]]PzL~]]]]]]]]]]]]]]]]]]]]~JlI]]", +"]Qz']]]]]]]]]]]]EGR]]]]]]]]]_xCC", +"]vP]]]]]]]]]]]]]Km<]]]]]]]]]]I+]", +"]h(]RMaVBm]]peR]]]8]]]]JJ]]]]S#]", +"]g_])$n,iyR5F^;)]]8]]]] ]]]]-g]", +"]g_]]8]8'mG.88:y]]8]]]]E^]]]K9g]", +"]g_]]8]8]mG:]]]]]]8]]]]JJ]]]*^g]", +"]g_]Kom8im c #626263", +", c #6B6B6B", +"< c gray45", +"1 c #7B7B7B", +"2 c #676A84", +"3 c #6E7295", +"4 c #797A8A", +"5 c #7D80A1", +"6 c #7E83AB", +"7 c #848484", +"8 c #858589", +"9 c #8B8B8B", +"0 c #828493", +"q c #8E8E90", +"w c #939393", +"e c #969699", +"r c #9A9A9A", +"t c #8387AD", +"y c #8589AD", +"u c #8186B2", +"i c #8488B0", +"p c #898DB4", +"a c #8E91AC", +"s c #8F92B3", +"d c #9092AB", +"f c #9E9EA1", +"g c #999BAA", +"h c #9193B0", +"j c #9699BD", +"k c #999CBE", +"l c #A2A2A2", +"z c #A7A6AB", +"x c #A8A6A9", +"c c #AAAAAA", +"v c #A2A3B1", +"b c #A8A9B7", +"n c #ADAFBB", +"m c #AFB0B6", +"M c #B4B1AA", +"N c #B3B3B3", +"B c #B7B6B8", +"V c #B8B7BA", +"C c #BBB8B0", +"Z c #BBBBBB", +"A c #9B9DC0", +"S c #C0BCB5", +"D c #C1BEB8", +"F c #C6C2BC", +"G c #C9C5BE", +"H c #C4C3C4", +"J c #C6C6C8", +"K c #CDC9C2", +"L c #CCCCCC", +"P c #D1CDC5", +"I c #D5D1CA", +"U c #D9D5CE", +"Y c #D0D0D0", +"T c #DAD6D0", +"R c #DCD8D2", +"E c #DADADA", +"W c #E0DDD8", +"Q c #E3E0DB", +"! c #E2E2E2", +"~ c #EDEDED", +/* pixels */ +"PPFFCMMMCMMNCMmMMNMMMMMMMCCFGKPI", +"PFCxdyuu666666666uu666uu666amGPP", +"GCgygnZZZZZZHZZZZZHZZZZZHZngyvKP", +"FxyBLYYYYYYYYYYYYYYYYYYYYYYYByVP", +"CanLYLYYLLLLYLYLLYYLYLLLYLYLLnsI", +"DpLLLLLLLLLLLLLLLLLLLLLLLLLLLLsU", +"DkBHLLKLLLKLLJLLJLJLLJLLLLLLJLAT", +"Dk7wlHHHJJJxclffrrewwq9wrxJJJJAT", +"Dd<,<1cxw7<,,<<,,,,,,,,,,,,wr9<>9xMceewwwww95,1cC7N,NL~FQr=M,LLq>9lBjT", +"Dyq1,=<,<11,M,<1~rH1,c>Ee$$1,lsT", +"Dyq711<<$>$=N>7HLYL$7q>E5#>Ec15I", +"Cpfre911$wwwm7=*&&%@w1>Q,O,EM<2G", +"Dsfrr997O,xfrrrww977r%&R$ OH1<;Z", +"Dirrrrrr@%frrrrrrrrrf#>WfO.$,%-D", +"Dywwrrwr%+frrwrrrrrrr@1EY$%%%&:G", +"Dywww9ww=X1xrllrrrrrr+w!NO%*=>3I", +"Dtqw9w9w< .#%,17qq9w9+w1oX*<156T", +"Du99qq9q11,&%X...X. . ..#<=199aU", +"Dtq999991>%$x# #+oO=$$$*199yU", +"Du9979997<=*wX $%$%$%**>1996W", +"Cu9899799711=.=OoOo7***=,1178q6R", +"Di979797977wXX$+@$ X7<<1577979aU", +"F6887797779< #%O@$O +r17777777yU", +"Fi877777777@ *%O+&= .,<5777778yR", +"Kd077777477X.7*o@*>% X<<777770hW", +"PBt7177777 X$*O#*,,O o,17777yHR", +"IIby074777=X.$*X$&<<= @11506nWU", +"IIUHaytupu6666uu6p666py6y66hLWRI", +"PIIURWWQQ!!QQ!QQ!QQQQQQQQQQWWUII" +}; diff --git a/2009-x64/prefsThierry/icons/zooSurgeon.xpm b/2009-x64/prefsThierry/icons/zooSurgeon.xpm new file mode 100644 index 0000000..5ed819b --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooSurgeon.xpm @@ -0,0 +1,294 @@ +/* XPM */ +static char *zooSurgeon-0[] = { +/* columns rows colors chars-per-pixel */ +"32 32 256 2", +" c black", +". c #0B0D00", +"X c #06160C", +"o c #121F1C", +"O c #190A04", +"+ c #0A2214", +"@ c #073310", +"# c #1D211F", +"$ c #19321E", +"% c #082705", +"& c #392618", +"* c #362B27", +"= c #272D2D", +"- c #01512E", +"; c #065D31", +": c #1B4B36", +"> c #185B3C", +", c #11512E", +"< c #056438", +"1 c #2F412B", +"2 c #2C4636", +"3 c #324028", +"4 c #375434", +"5 c #246634", +"6 c #136947", +"7 c #107752", +"8 c #345445", +"9 c #2A754B", +"0 c #297754", +"q c #3B6347", +"w c #396D59", +"e c #327059", +"r c #2C714E", +"t c #2F7F61", +"y c #3F7C63", +"u c #493616", +"i c #4C372E", +"p c #643415", +"a c #77371B", +"s c #474A37", +"d c #5A4739", +"f c #58623A", +"g c #4B663F", +"h c #634A36", +"j c #68553B", +"k c #7D5129", +"l c #76512E", +"z c #76623D", +"x c #51585B", +"c c #474E4A", +"v c #46764E", +"b c #556449", +"n c #4F6A54", +"m c #537260", +"M c #437565", +"N c #635843", +"B c #695B4E", +"V c #685146", +"C c #6D5E56", +"Z c #745C48", +"A c #725E51", +"S c #7B4843", +"D c #676357", +"F c #667358", +"G c #766D54", +"H c #6D664C", +"J c #696C66", +"K c #6A756D", +"L c #6B7C73", +"P c #766869", +"I c #7E706B", +"U c #7C7F78", +"Y c #7A7976", +"T c #74789D", +"R c #787C9D", +"E c #787CA2", +"W c #797EA8", +"Q c #1C936A", +"! c #1C8A65", +"~ c #1DAC77", +"^ c #2D8263", +"/ c #278A69", +"( c #259568", +") c #299D76", +"_ c #318466", +"` c #318A6A", +"' c #3E8C73", +"] c #329768", +"[ c #389577", +"{ c #24A679", +"} c #31A679", +"| c #3DB07A", +" . c #22B87A", +".. c #418C5B", +"X. c #578152", +"o. c #4A957B", +"O. c #508D64", +"+. c #558F7A", +"@. c #4A8F68", +"#. c #43A97B", +"$. c #7C8459", +"%. c #6E8576", +"&. c #6D8B7C", +"*. c #648474", +"=. c #619064", +"-. c #7E807C", +";. c #749F7D", +":. c #2AAD82", +">. c #25B383", +",. c #2EB58C", +"<. c #32B38A", +"1. c #33B889", +"2. c #3BBE95", +"3. c #1CC392", +"4. c #2CCC8E", +"5. c #2AC785", +"6. c #2BC595", +"7. c #2CC698", +"8. c #2AC995", +"9. c #2AC898", +"0. c #26CB98", +"q. c #33C38B", +"w. c #33C493", +"e. c #31C89A", +"r. c #3CC394", +"t. c #36C898", +"y. c #42B68C", +"u. c #42BF95", +"i. c #41AB8A", +"p. c #6D8C81", +"a. c #689684", +"s. c #70808C", +"d. c #7B9487", +"f. c #7F82AA", +"g. c #7F84B0", +"h. c #4CD09D", +"j. c #8F713D", +"k. c #915635", +"l. c #845E48", +"z. c #807452", +"x. c #827A5D", +"c. c #967656", +"v. c #876E51", +"b. c #8B796D", +"n. c #857D68", +"m. c #807E79", +"M. c #9B7E70", +"N. c #A7765B", +"B. c #927D81", +"V. c #83827C", +"C. c #898575", +"Z. c #968068", +"A. c #92887B", +"S. c #9A9278", +"D. c #8A8A6C", +"F. c #A2855E", +"G. c #A68B70", +"H. c #A3917E", +"J. c #B68A63", +"K. c #BA9577", +"L. c #B28C6F", +"P. c #C99576", +"I. c #D7A276", +"U. c #888681", +"Y. c #8C8A84", +"T. c #8E8C89", +"R. c #908E89", +"E. c #918988", +"W. c #94918D", +"Q. c #989589", +"!. c #9B9993", +"~. c #959691", +"^. c #809588", +"/. c #8185AE", +"(. c #8186B2", +"). c #8589B3", +"_. c #8B8FB5", +"`. c #8C90B6", +"'. c #9094B7", +"]. c #999BB9", +"[. c #95A79B", +"{. c #8EA38D", +"}. c #9EAFA5", +"|. c #9EA0BA", +" X c #9DB5AB", +".X c #A29495", +"XX c #AE978A", +"oX c #A4A29C", +"OX c #A9A69F", +"+X c #BFBE9D", +"@X c #A9B797", +"#X c #ABA6A2", +"$X c #ADAEA9", +"%X c #A9ACA2", +"&X c #A1A3BB", +"*X c #A9B4A8", +"=X c #ADB3B4", +"-X c #B2AFA8", +";X c #B9ACAD", +":X c #B5B5AA", +">X c #BCBAB3", +",X c #B5B8B4", +".0.0.8.9.9.6.h.` %.$XrXZXBX`.SX", +"SX).ZXZXSXSXSXSXAX6Xn 3 s f f s 5 } w.8.9.8.9.9.t._ d.oXeXVX).SX", +"SX).VXSXSXSXSXSX>X4 f 0XsXsXkXkXK.$.X.| t.8.9.9.7.2.t ~.#XdX).SX", +"SX).ZXSXSXSXSXFXc V c.F.lXlXP.J.uXmX0X=.@.r.7.7.7.7.} %.W.XR.d n.7 <.9.9.7._ U W.E ZX", +"SX).VXSXSX~.X>X:XO u i P PXGXCXCXIXD b.@.t 1.8.t.0 U W.E ZX", +"SX).VXSXSXB.wXwXm.gXK.* V i m.DX;XE. M w 8 + 6XFXBXfXC i XXs . G x.N A.-.W.E ZX", +"SX).VXSXVXSXK 2 o.Q 3.6.e.2.6 , m C.B S yXvXD.G G.j.c.XXm.R.E VX", +"SX).VXSXSXZXd.: ) 9.6.0.e.7.7./ > q ;.@XS.G & XXK.8XK.Z.U.E.T VX", +"SX).VXSXSXDX*.o.7.7.{ 7 ! ,.9.9.y.#.] 9 v % z XXl c.l.b.Y.T.T ZX", +"SX).VXSXSXSX&.[ 7.7.Q ; ; ) 1.0.8.q.) ( 5 @ yXJ.z n.A.R.m.!.E ZX", +"SX).VXSXSXSXd./ 6.6.5. . .q.8.6.8.e.<.o.w 2 kXl z.Q.Y.V..X-X(.ZX", +"SX).VXSXSXSX}.^ 6.6.0.4.4.4.4.0.9.0.{ +.8 o K.h Q.V.Y.oX>XBX).SX", +"SX).VXSXSXSXNX: >.7.0.6.8.7.9.9.9.8.>.^ : + u n.V.Y.OXeXZXVX).SX", +"SX_.VXSXSXSXAXL Q 6.0.6.9.9.9.9.9.8.1.r # s B V.Y.OXeXZXZXZX).SX", +"SX).VXSXSXSXSXZX+.) e.7.9.9.7.7.e.h.) 2 D m.Y.!.$XrXZXSXSXVX).SX", +"SX).VXSXSXSXSXSXZX[.p.{ 9.0.8.r.@.5 , %.V.R.OX>XfXZXZXSXSXZX).SX", +"SX`.VXSXSXSXSXSXSXVX>X}.a.r q c z S.G R.V.#XeXZXZXSXSXSXZXVX`.SX", +"SX1X2XAXSXSXSXSXSXSXVXBX6X>XZ K.kXbXl.Q.R.-XVXAXSXSXSXSXSX3X|.SX", +"SXMX'.ZXSXSXSXSXSXSXSXSXAXZXG z aXxXG C.E.-XVXZXSXSXSXSXVX'.MXSX", +"SXVX3X'.3XBXSXSXSXSXSXSXAXAXc.F.j.lXaXH [.oXeXZXSXSXBX3X'.2XSXSX", +"VXSXSXBX].`.(.(.g.g.g.1X=XB pXcXI.jXsXv q s.R W (.g.`.].BXSXSXSX", +"SXSXSXSXSXSXSXSXSXDXFXd.2 4 8XuXuXlXz...0 6 J $XeXBXVXZXZXSXSXSX" +}; diff --git a/2009-x64/prefsThierry/icons/zooTangentWks_flattenStatic.xpm b/2009-x64/prefsThierry/icons/zooTangentWks_flattenStatic.xpm new file mode 100644 index 0000000..4aab487 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooTangentWks_flattenStatic.xpm @@ -0,0 +1,281 @@ +/* XPM */ +static char *zooTangentWks_flattenStatic[] = { +/* columns rows colors chars-per-pixel */ +"32 32 243 2", +" c #797E94", +". c #7A7E94", +"X c #7C8097", +"o c #7D8299", +"O c #7E839A", +"+ c #7F839A", +"@ c #C9323B", +"# c #CA323A", +"$ c #CA323B", +"% c #D93C3B", +"& c #D93E3B", +"* c #DA3E3B", +"= c #D83F3D", +"- c red", +"; c #D8403E", +": c #D9413F", +"> c #F64C00", +", c #D7424D", +"< c #DF4340", +"1 c #DB4D40", +"2 c #DE484E", +"3 c #E1454A", +"4 c #E84E4B", +"5 c #EA4C49", +"6 c #EB4D4A", +"7 c #EB4E4B", +"8 c #EB4F4C", +"9 c #EC4C49", +"0 c #EB514E", +"q c #EB5250", +"w c #EC5350", +"e c #FF6363", +"r c #84987D", +"t c #A5B153", +"y c #DFBB0C", +"u c #E98233", +"i c #EBAC00", +"p c #EBB90C", +"a c #F68E42", +"s c #EBC518", +"d c #E5E500", +"f c #8D8993", +"g c #8D8E96", +"h c #8E8C94", +"j c #879C80", +"k c #8B9E83", +"l c #8D9985", +"z c #8F9885", +"x c #93949D", +"c c #9E9996", +"v c #8388A0", +"b c #868BA3", +"n c #888DA6", +"m c #8B91AA", +"M c #8D92AB", +"N c #9B9BA5", +"B c #9297B1", +"V c #959AB5", +"C c #979CB8", +"Z c #999FBB", +"A c #8FAE9C", +"S c #90A688", +"D c #92A88A", +"F c #97AE8F", +"G c #90AF9D", +"H c #90AF9E", +"J c #91AF9F", +"K c #9AA791", +"L c #9DA994", +"P c #9DB294", +"I c #9CB494", +"U c #9EB796", +"Y c #9AB69D", +"T c #9AB79D", +"R c #9BB79E", +"E c #9CB89E", +"W c #9CB99E", +"Q c #9DB99F", +"! c #94A9AA", +"~ c #95AAAB", +"^ c #96ABAC", +"/ c #9EA1AE", +"( c #9CA1BE", +") c #9DA3BF", +"_ c #9EA2BE", +"` c #A29D97", +"' c #A39D97", +"] c #A19E98", +"[ c #A29F99", +"{ c #A49E98", +"} c #A3A09A", +"| c #A3A19E", +" . c #A4A19B", +".. c #A7A49E", +"X. c #A9A49D", +"o. c #A8A59E", +"O. c #A9A69F", +"+. c #ABA59F", +"@. c #A7B796", +"#. c #A1B998", +"$. c #A6BD9B", +"%. c #A6BF9D", +"&. c #A7BF9E", +"*. c #B2A69F", +"=. c #A6A3A0", +"-. c #A2A3AF", +";. c #A4A5AE", +":. c #AAA6A0", +">. c #AAA7A1", +",. c #ABA8A2", +"<. c #ADAAA3", +"1. c #AEAAA4", +"2. c #AFACA5", +"3. c #AEAFB9", +"4. c #A1BAA3", +"5. c #A6BAAC", +"6. c #AFB0B9", +"7. c #B0ADA6", +"8. c #B2AFA8", +"9. c #B3AFA9", +"0. c #B4B0A9", +"q. c #B5B2AB", +"w. c #B6B3AC", +"e. c #B7BCA3", +"r. c #BAB3AC", +"t. c #BFB5AE", +"y. c #B7B4B0", +"u. c #B4B5BF", +"i. c #BAB7B0", +"p. c #BBB8B0", +"a. c #BCB8B1", +"s. c #BDB9B2", +"d. c #BEBAB3", +"f. c #BEBBB4", +"g. c #BFBCB4", +"h. c #9FA5C2", +"j. c #A0A6C2", +"k. c #A0A6C3", +"l. c #AAAEC0", +"z. c #AEB1C3", +"x. c #AEB1C4", +"c. c #AFB2C4", +"v. c #B0B3C5", +"b. c #B1B3C5", +"n. c #B0B4C3", +"m. c #B2B4C1", +"M. c #B1B4C5", +"N. c #B2B4C5", +"B. c #B5B6C1", +"V. c #B4B6C4", +"C. c #B4B6C5", +"Z. c #B5B7C5", +"A. c #B6B7C5", +"S. c #B6B8C5", +"D. c #B7B9C5", +"F. c #B8B9C5", +"G. c #B8BAC4", +"H. c #B8BAC5", +"J. c #B9BAC5", +"K. c #B9BBC5", +"L. c #BABBC5", +"P. c #A6C19F", +"I. c #A7C19E", +"U. c #A8C29F", +"Y. c #A9C29F", +"T. c #A7C1A0", +"R. c #A8C2A1", +"E. c #A9C2A0", +"W. c #A9C3A0", +"Q. c #AAC3A0", +"!. c #ABC3A2", +"~. c #AAC4A1", +"^. c #ABC4A1", +"/. c #ABC4A2", +"(. c #ACC4A3", +"). c #ADC4A3", +"_. c #AEC5A4", +"`. c #AFC5A5", +"'. c #B0C5A6", +"]. c #B1C5A7", +"[. c #B3C1AA", +"{. c #B2C2A9", +"}. c #B2C2AD", +"|. c #B3C6A9", +" X c #B6C7AB", +".X c #B5C5AE", +"XX c #B8C3A9", +"oX c #B8C7AE", +"OX c #B9C6AE", +"+X c #B9C7AE", +"@X c #B9C7AF", +"#X c #B8C8AD", +"$X c #B9C8AE", +"%X c #BAC8AF", +"&X c #B7C6B0", +"*X c #BAC8B0", +"=X c #C0BCB5", +"-X c #C1BDB6", +";X c #C2BEB7", +":X c #C1BEBB", +">X c #C8BBB4", +",X c #C3C0B8", +"X", +"CXCXCXCXCXCXCXCXCXCXBXBXBXBXfXCXBXfXfXCXCXCXCXCXVXmX7 - - - - t.", +"CXCXCXCXCXCXCXCXfX%XI.U.~.U.~.].~.~.~. XVXCXCXNXmX0 - - - - : w.", +"CXtXZ.Z.K.vXBX XU.~.~./.`.~.'.~.^.'.'.W.W.@XNXmX0 - - - - - X.9.", +"CXZ.k.h.) 5.~.~.`.`./.~.U.~.~.].W.W.W.^.^.I.+XpX- - - - - = X.w.", +"CXc.k.^ A W W.`./.I.~.%XvXBXfXCXmXfX+XI.^.W.$.7 - - - - = } 1.p.", +"CXZ.^ H A ! Q I.I.XX8X0X0X0X0X0X0X0XwXe.@.1 - - - - - = c >.w.;X", +"*XE G G G G Y }.u i p a e e e e e e e e e a p i > - & } ,.0.g.6X", +"W.T.4.G A ~ _ 3 i d d s e e e e e e e e e s d d i & } X.9.f.3XpX", +"W.~.P.T ~ , - - i d d s e e e e e e e e e s d d y l >.9.s.4XpXBX", +"%XW.+XtX2 - - - > i p a e e e e e e e e e a p y t j L s.4XpXmXBX", +"VXVXmXpX- - - - - $ h h ` c { { { { { { c { z r k S F 3XpXmXNXVX", +"VXmXmX7 - - - - $ . O x =.>.1.,.,.,.,.,.>.1.K D P #.[.mXVXCXCX", +"NXNX0 - - - - # O v n m N ;.;.w.s.p.p.s.s.s.=XI #.&.I.+XVXCXCX", +"mX8 - - - - & g O b M B C Z C C 3.3.:X5X5X5X5X5X[.I.I.I.W.~.@XCX", +"zX- - - - - ` | N -.C Z Z Z k.h.l.h.m.B.tXhXmXmXmX.XW.~./.W.W.VX", +"zX7 - - - = ..7.s.:XB.l.k.k.k.k.k.h.k.k.v.Z.L.L.dXL.L..XW.E @XCX", +"pX;Xr.*.X.,.7.s.;XpXNXtXZ.n.k.h.k.k.k.k.h.h.k.k.l.k.k.c.n.h.L.CX", +"dX6Xf.w.9.9.t.;X8XdXCXCXCXtXZ.h.k.k.k.k.h.h.k.k.k.k.k.k.k.k.Z.CX", +"mX8X4X=X=X=X;XpXdXmXCXCXCXCXNXL.A.Z.b.k.k.k.k.k.k.k.k.k.k.k.b.CX", +"mXhXpX8X8X8XpXmXNXNXCXCXCXCXCXCXCXCXkXJ.C.N.c.k.k.k.k.k.k.k.C.CX", +"NXNXmXmXmXmXNXNXCXCXCXCXCXCXCXCXCXCXCXCXCXCXkXL.L.L.L.C.C.C.tXCX", +"CXCXCXCXNXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXNXNXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX" +}; diff --git a/2009-x64/prefsThierry/icons/zooToolBox.xpm b/2009-x64/prefsThierry/icons/zooToolBox.xpm new file mode 100644 index 0000000..015bf2a --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooToolBox.xpm @@ -0,0 +1,729 @@ +/* XPM */ +static char * zooToolBox_xpm[] = { +"32 32 694 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #D5D1C9", +"% c #B5B4C0", +"& c #9094B7", +"* c #B4B3C0", +"= c #C5C3C4", +"- c #D4D2CD", +"; c #D3CFC8", +"> c #D3CFC7", +", c #C5C2C7", +"' c #CDC9C9", +") c #B9B7CE", +"! c #CECACD", +"~ c #BEBAC4", +"{ c #8A899E", +"] c #A1A2B9", +"^ c #B5B4C4", +"/ c #C7C4BE", +"( c #C4C1C1", +"_ c #CFCCC7", +": c #D2CEC6", +"< c #B6B5C1", +"[ c #C3C1C4", +"} c #9295B7", +"| c #D1CDC7", +"1 c #C4C2C7", +"2 c #B6B3C3", +"3 c #D0CECC", +"4 c #CFCBC3", +"5 c #BEBDCE", +"6 c #BEBDD9", +"7 c #B0AFCC", +"8 c #B0ABBE", +"9 c #52434B", +"0 c #3E212B", +"a c #40252F", +"b c #776A7B", +"c c #BBB8C2", +"d c #B6B6CC", +"e c #C5C4CD", +"f c #CECAC3", +"g c #D1CEC7", +"h c #CECDCC", +"i c #D3D0C9", +"j c #9EA0BA", +"k c #B7B6C1", +"l c #C1BFCE", +"m c #B1AED2", +"n c #B7B8CB", +"o c #CBCACD", +"p c #B8B9D4", +"q c #B0B0CE", +"r c #A3A3BB", +"s c #493A43", +"t c #60302A", +"u c #67201B", +"v c #863A2D", +"w c #522625", +"x c #69596A", +"y c #A9A5C3", +"z c #B7B6CC", +"A c #C4C6CF", +"B c #B6B9C5", +"C c #C5C6CB", +"D c #CDC9C2", +"E c #D0CCC4", +"F c #8B8FB5", +"G c #CAC7C6", +"H c #C5C3C9", +"I c #C6C3C6", +"J c #CECAC8", +"K c #BAB7CE", +"L c #AFABCD", +"M c #AEACD5", +"N c #B0B1D6", +"O c #8D8BA4", +"P c #5E4E56", +"Q c #4F2A27", +"R c #7E362A", +"S c #9E3B32", +"T c #902D25", +"U c #A13A2A", +"V c #9D3E2B", +"W c #863A2F", +"X c #582728", +"Y c #64505F", +"Z c #A1A2BB", +"` c #B8B9D2", +" . c #C3C0BF", +".. c #C3C2C7", +"+. c #D0CECE", +"@. c #C8C5C4", +"#. c #868AB4", +"$. c #C6C2CB", +"%. c #AFACCA", +"&. c #B5B1D1", +"*. c #B6B3D2", +"=. c #8B88A7", +"-. c #81869A", +";. c #848895", +">. c #1C1019", +",. c #5C3238", +"'. c #6F292A", +"). c #752A27", +"!. c #682621", +"~. c #6A2721", +"{. c #692924", +"]. c #5D2321", +"^. c #552421", +"/. c #492A1F", +"(. c #251C20", +"_. c #43475C", +":. c #B6B7D2", +"<. c #B4AFCA", +"[. c #BDBDC1", +"}. c #C3BFB8", +"|. c #CBC7BF", +"1. c #CCC9C4", +"2. c #8589B3", +"3. c #CCC8C1", +"4. c #B5B2C6", +"5. c #AFACC9", +"6. c #514F66", +"7. c #6D6D78", +"8. c #655F6D", +"9. c #9792A5", +"0. c #87899C", +"a. c #84899B", +"b. c #898D9B", +"c. c #838487", +"d. c #807465", +"e. c #A29077", +"f. c #5E584F", +"g. c #6B6D7A", +"h. c #9C96AB", +"i. c #9E91A5", +"j. c #9896B1", +"k. c #979BBA", +"l. c #B0B2CD", +"m. c #B3B1BF", +"n. c #B1AEA9", +"o. c #BBB8B0", +"p. c #C7C3BB", +"q. c #CAC7C2", +"r. c #ACA9AD", +"s. c #B3B1CA", +"t. c #565566", +"u. c #A5A6A5", +"v. c #C8C3D0", +"w. c #69607F", +"x. c #B5ADD6", +"y. c #B1ACDC", +"z. c #B1AEDF", +"A. c #9F98B7", +"B. c #9D8079", +"C. c #E9C2A6", +"D. c #655451", +"E. c #847C9B", +"F. c #B7AAD7", +"G. c #B1ACE2", +"H. c #B0ADE1", +"I. c #ADAED9", +"J. c #B2B4D3", +"K. c #B9BBC8", +"L. c #AEADB7", +"M. c #B7B5B9", +"N. c #C5C1BA", +"O. c #C9C6C2", +"P. c #CDC9C1", +"Q. c #C1BDB8", +"R. c #B6B1D3", +"S. c #7A7895", +"T. c #616169", +"U. c #D3D5D7", +"V. c #7B7C88", +"W. c #9595AD", +"X. c #AFAFD2", +"Y. c #ABAED5", +"Z. c #969BB7", +"`. c #978678", +" + c #D0B188", +".+ c #5E5B4F", +"++ c #778198", +"@+ c #AFADCD", +"#+ c #B0B0D3", +"$+ c #AEABD3", +"%+ c #B2AFD8", +"&+ c #AFB0D6", +"*+ c #ADB1D3", +"=+ c #B0ADC4", +"-+ c #B5B2AE", +";+ c #C4C1B9", +">+ c #CFCBC9", +",+ c #B8B9C7", +"'+ c #B7B6D2", +")+ c #B3AFD6", +"!+ c #A19DBD", +"~+ c #44414F", +"{+ c #B5B4B9", +"]+ c #CDCDD4", +"^+ c #5B5B69", +"/+ c #AEAFC9", +"(+ c #AFB0D8", +"_+ c #9A98B7", +":+ c #948675", +"<+ c #E9D0A7", +"[+ c #6D5F5E", +"}+ c #5F5E72", +"|+ c #4A4B4F", +"1+ c #464552", +"2+ c #8585A2", +"3+ c #AFB1CD", +"4+ c #AEAFCA", +"5+ c #B0AED0", +"6+ c #AAA9B1", +"7+ c #B2AFA8", +"8+ c #C2BEB7", +"9+ c #C9C6C1", +"0+ c #C7C4C1", +"a+ c #B4B3C5", +"b+ c #B3AFD3", +"c+ c #AAA5C6", +"d+ c #413E51", +"e+ c #8B898E", +"f+ c #DBDADD", +"g+ c #9B9BA5", +"h+ c #7B7A92", +"i+ c #B0AED5", +"j+ c #9F98B6", +"k+ c #988675", +"l+ c #CCB38F", +"m+ c #4C3C39", +"n+ c #302D39", +"o+ c #2E2E2B", +"p+ c #807A7B", +"q+ c #3F3D4D", +"r+ c #9999A8", +"s+ c #3E3C4D", +"t+ c #85819D", +"u+ c #B6B5C6", +"v+ c #B2B0AD", +"w+ c #C2BEB8", +"x+ c #C8C5C0", +"y+ c #CFCBC5", +"z+ c #C6C3BF", +"A+ c #BEBBBB", +"B+ c #B5B1D3", +"C+ c #B3AECF", +"D+ c #6F6B82", +"E+ c #4B494D", +"F+ c #B1AEAE", +"G+ c #C0BEC4", +"H+ c #575568", +"I+ c #A8A6C6", +"J+ c #A19AB2", +"K+ c #99867A", +"L+ c #ECD1B3", +"M+ c #5E4D41", +"N+ c #1A1311", +"O+ c #70675A", +"P+ c #40352E", +"Q+ c #4D464A", +"R+ c #535253", +"S+ c #A9A7AF", +"T+ c #76718A", +"U+ c #B2B1D1", +"V+ c #AFAEC0", +"W+ c #BFBBB5", +"X+ c #C3C0C5", +"Y+ c #B2B1D3", +"Z+ c #B2AED1", +"`+ c #B4B0CD", +" @ c #8F8CA2", +".@ c #1E1A21", +"+@ c #5D585A", +"@@ c #4C494C", +"#@ c #73717B", +"$@ c #6B687C", +"%@ c #A19CAD", +"&@ c #8E7E7B", +"*@ c #927A68", +"=@ c #4D3B29", +"-@ c #BEAC95", +";@ c #ECD6BE", +">@ c #6E6058", +",@ c #453E3E", +"'@ c #484846", +")@ c #9A9AA3", +"!@ c #8B87A5", +"~@ c #B1AFD6", +"{@ c #ACAAB1", +"]@ c #C5C2BE", +"^@ c #8488B2", +"/@ c #C0BCC6", +"(@ c #AFADD4", +"_@ c #B1AFD7", +":@ c #AEABCD", +"<@ c #4D4A63", +"[@ c #4D4B5A", +"}@ c #726D77", +"|@ c #757075", +"1@ c #535052", +"2@ c #4D4B4E", +"3@ c #66646C", +"4@ c #7D7C86", +"5@ c #2F2527", +"6@ c #806B5D", +"7@ c #E1CDAD", +"8@ c #E9CEAA", +"9@ c #8A6C53", +"0@ c #594D48", +"a@ c #4D484B", +"b@ c #424245", +"c@ c #575968", +"d@ c #AAA9CE", +"e@ c #AEACD4", +"f@ c #A6A3A1", +"g@ c #B7B3AD", +"h@ c #C3C0BB", +"i@ c #8488B1", +"j@ c #CDCAC6", +"k@ c #C3C1C5", +"l@ c #BAB6CE", +"m@ c #ABA8CC", +"n@ c #565568", +"o@ c #3B3A44", +"p@ c #7D7B86", +"q@ c #CFCDD0", +"r@ c #7B777B", +"s@ c #2A282E", +"t@ c #D0D2D3", +"u@ c #CCCFD0", +"v@ c #919193", +"w@ c #3C2E29", +"x@ c #C0A68D", +"y@ c #ECD8AF", +"z@ c #C7B694", +"A@ c #53413F", +"B@ c #836879", +"C@ c #A2979A", +"D@ c #61606A", +"E@ c #5E556B", +"F@ c #8C8FAA", +"G@ c #B2ADD4", +"H@ c #ABA8C4", +"I@ c #A5A29B", +"J@ c #B8B4AD", +"K@ c #C4C1BC", +"L@ c #CCCAC6", +"M@ c #B7B6C6", +"N@ c #B4B1D2", +"O@ c #7A7693", +"P@ c #9F9EA8", +"Q@ c #C7C5C7", +"R@ c #C8C2C9", +"S@ c #9F9A98", +"T@ c #312D2C", +"U@ c #302C31", +"V@ c #88848B", +"W@ c #746B6A", +"X@ c #766857", +"Y@ c #E4D1AA", +"Z@ c #E9D2AE", +"`@ c #978176", +" # c #2B191C", +".# c #766866", +"+# c #9D938E", +"@# c #90767C", +"## c #554C49", +"$# c #555E5D", +"%# c #7C6E86", +"&# c #B0AFD3", +"*# c #A5A3B5", +"=# c #A9A69F", +"-# c #BCB8B1", +";# c #C6C3BE", +"># c #C6C4BF", +",# c #B5B2CD", +"'# c #928DA7", +")# c #7D7A82", +"!# c #817D7F", +"~# c #787179", +"{# c #4C4447", +"]# c #5D574F", +"^# c #292021", +"/# c #60545D", +"(# c #7B6764", +"_# c #EED4B4", +":# c #D8C19B", +"<# c #5D4D3D", +"[# c #776864", +"}# c #5C4F53", +"|# c #423939", +"1# c #8C8B84", +"2# c #4A2224", +"3# c #7B433E", +"4# c #704540", +"5# c #210D18", +"6# c #959BB5", +"7# c #A6A5AE", +"8# c #AEAAA4", +"9# c #C1BDB6", +"0# c #C8C4BC", +"a# c #B8B4B9", +"b# c #A7A5C1", +"c# c #40404F", +"d# c #33323C", +"e# c #524E60", +"f# c #8B8794", +"g# c #211713", +"h# c #41342E", +"i# c #827476", +"j# c #6A5957", +"k# c #9E8B79", +"l# c #4E3D3A", +"m# c #4E4447", +"n# c #756F62", +"o# c #39362A", +"p# c #645F63", +"q# c #504B52", +"r# c #4A080A", +"s# c #761F1F", +"t# c #682022", +"u# c #18080A", +"v# c #717481", +"w# c #A4A2A0", +"x# c #CBC8C3", +"y# c #CDCAC5", +"z# c #BFBCB8", +"A# c #B4B5D4", +"B# c #9396B1", +"C# c #5C5E75", +"D# c #ACACCA", +"E# c #83829C", +"F# c #766762", +"G# c #978575", +"H# c #534A41", +"I# c #5A5553", +"J# c #605A60", +"K# c #6D6772", +"L# c #625D65", +"M# c #484546", +"N# c #686766", +"O# c #4F4E51", +"P# c #736969", +"Q# c #8C1A22", +"R# c #510D0E", +"S# c #363027", +"T# c #746263", +"U# c #575053", +"V# c #A4A19B", +"W# c #B6B3AC", +"X# c #CECBC6", +"Y# c #CFCBC4", +"Z# c #BFBCC4", +"`# c #B1ACD0", +" $ c #ACAAD9", +".$ c #ADAEE0", +"+$ c #B1B1DB", +"@$ c #89869E", +"#$ c #8E7866", +"$$ c #E2C7AA", +"%$ c #786454", +"&$ c #5B4F4F", +"*$ c #9D96A3", +"=$ c #706A77", +"-$ c #7C777D", +";$ c #1D1D1E", +">$ c #8E8E91", +",$ c #797680", +"'$ c #452D39", +")$ c #4E1618", +"!$ c #64503C", +"~$ c #E0CCA9", +"{$ c #B39785", +"]$ c #363131", +"^$ c #A6A39D", +"/$ c #BAB7B0", +"($ c #C8C4BD", +"_$ c #B7B3BB", +":$ c #B1AECB", +"<$ c #ADAED1", +"[$ c #A6A8C2", +"}$ c #545661", +"|$ c #9B8A6B", +"1$ c #EFD6B0", +"2$ c #695647", +"3$ c #554A47", +"4$ c #5D5B58", +"5$ c #4E4E4C", +"6$ c #CCC9CD", +"7$ c #A7A7AF", +"8$ c #CBCAD2", +"9$ c #575154", +"0$ c #22120F", +"a$ c #957B69", +"b$ c #E8D8B5", +"c$ c #F4D5AB", +"d$ c #C4AB90", +"e$ c #1B1F1A", +"f$ c #A9A5A0", +"g$ c #BEBBB4", +"h$ c #CAC6BF", +"i$ c #ABA8AB", +"j$ c #888699", +"k$ c #2A2936", +"l$ c #0F0D13", +"m$ c #A69477", +"n$ c #EAD2B3", +"o$ c #523E3A", +"p$ c #473D40", +"q$ c #4A4A44", +"r$ c #50524A", +"s$ c #A19FA2", +"t$ c #B5B3BE", +"u$ c #3C363D", +"v$ c #2F231C", +"w$ c #BCAA8D", +"x$ c #F3DAB5", +"y$ c #F6D5AE", +"z$ c #FDD2A9", +"A$ c #D5B99D", +"B$ c #191712", +"C$ c #9E9B96", +"D$ c #BFBCB4", +"E$ c #C1BEB7", +"F$ c #5C575C", +"G$ c #3A2F33", +"H$ c #645554", +"I$ c #62534E", +"J$ c #B79C82", +"K$ c #ECCFB2", +"L$ c #402A22", +"M$ c #625455", +"N$ c #353032", +"O$ c #100D0F", +"P$ c #B0AAAE", +"Q$ c #645B5D", +"R$ c #54463C", +"S$ c #D9C2A3", +"T$ c #F5D8AD", +"U$ c #F6D1A8", +"V$ c #FCD0AE", +"W$ c #F7D2AE", +"X$ c #B59E8A", +"Y$ c #170E11", +"Z$ c #918F8A", +"`$ c #C8C5BD", +" % c #2B2620", +".% c #B4A38D", +"+% c #CAB093", +"@% c #C9AD8D", +"#% c #EDCBA4", +"$% c #F5D5A8", +"%% c #C5AC85", +"&% c #72624C", +"*% c #4F4340", +"=% c #544953", +"-% c #2E2328", +";% c #77695B", +">% c #E6CFAE", +",% c #F5D4A9", +"'% c #F8D2A5", +")% c #F7D3AC", +"!% c #EECDAE", +"~% c #877B5F", +"{% c #13120A", +"]% c #332F35", +"^% c #9F9B96", +"/% c #3A322E", +"(% c #D0BAA3", +"_% c #F3D4AF", +":% c #F8D6AA", +"<% c #F5D2A8", +"[% c #F6D3A9", +"}% c #F6D5AA", +"|% c #F3D7AD", +"1% c #E5CBA5", +"2% c #7C6958", +"3% c #5C4F4E", +"4% c #9A8471", +"5% c #F9D2A7", +"6% c #FBD3A1", +"7% c #F2D5AC", +"8% c #DBC4AA", +"9% c #52473D", +"0% c #0D0D0D", +"a% c #595858", +"b% c #999691", +"c% c #ABA8A2", +"d% c #5E5550", +"e% c #C6AD97", +"f% c #F7D4AE", +"g% c #FBD3A6", +"h% c #F9D3AA", +"i% c #F7D1AC", +"j% c #F8D3AE", +"k% c #F8D4AF", +"l% c #F6D3AF", +"m% c #A98E78", +"n% c #82736D", +"o% c #756051", +"p% c #F4D2AE", +"q% c #F4D5AF", +"r% c #AE9C83", +"s% c #261C16", +"t% c #2C2A28", +"u% c #82817E", +"v% c #9B9892", +"w% c #B4B0A9", +"x% c #C3C0B8", +"y% c #C9C6C5", +"z% c #89847F", +"A% c #796C64", +"B% c #B19C88", +"C% c #E2C6AA", +"D% c #F2D4AE", +"E% c #F5D4AC", +"F% c #F8D3AC", +"G% c #FAD3AC", +"H% c #BC9D84", +"I% c #807169", +"J% c #51433A", +"K% c #E3CCB7", +"L% c #776656", +"M% c #110D0B", +"N% c #52514F", +"O% c #96948F", +"P% c #9E9B95", +"Q% c #A7A49E", +"R% c #B3AFA9", +"S% c #C0BCB5", +"T% c #B6B5C0", +"U% c #C6C2BB", +"V% c #B4B1AA", +"W% c #939089", +"X% c #6B645E", +"Y% c #7A6E5D", +"Z% c #A9987D", +"`% c #D8C1A1", +" & c #F1D5B1", +".& c #F6D4AE", +"+& c #B99E86", +"@& c #766B65", +"#& c #26201E", +"$& c #413530", +"%& c #302826", +"&& c #7C7A77", +"*& c #A29F99", +"=& c #ADAAA3", +"-& c #D1CDC5", +";& c #D0CCC6", +">& c #9396B8", +",& c #C2C0C4", +"'& c #B9B8C1", +")& c #C7C4C3", +"!& c #A19E98", +"~& c #8A8681", +"{& c #665E57", +"]& c #68584D", +"^& c #9F8674", +"/& c #A79384", +"(& c #3F3C3A", +"_& c #0D0E12", +":& c #4D4847", +"<& c #94908C", +"[& c #BEBAB3", +"}& c #B8B7C0", +"|& c #9C9EBA", +"1& c #7E83AF", +"2& c #7B80AB", +"3& c #767BA4", +"4& c #72779F", +"5& c #6E7298", +"6& c #6A6E93", +"7& c #666A8D", +"8& c #5E6181", +"9& c #48485F", +"0& c #312F3D", +"a& c #1E1D26", +"b& c #4E5168", +"c& c #5F6283", +"d& c #636689", +"e& c #696D92", +"f& c #70749B", +"g& c #8085B2", +"h& c #8C90B6", +"i& c #ACA9A2", +"j& c #A5A29C", +"k& c #9F9C97", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # @ + . $ ", +" % & * = - ; > > , ' ) ! ~ { ] ^ / ( _ : > = * & < ", +" [ } | > 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i > | } [ ", +" j k > : l m n o p q r s t u v w x y z A B C D E : k j ", +" F G $ H I J K L M N O P Q R S T U V W X Y Z ` ...+.E @.F ", +" #._ : $.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2. ", +" #._ : 3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.2. ", +" #._ : |.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.2. ", +" #._ : P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+O.2. ", +" #._ >+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+2. ", +" #._ > : 0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+2. ", +" #._ > y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+x+2. ", +" #._ > X+7 Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@o.]@^@> ", +" #._ : /@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@> ", +" #.j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@i@> ", +" #.L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#2. ", +" 2.1.>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#O.2. ", +" 2.1.0#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#7+;+x#2. ", +" #.y#|.z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#0#1.#. ", +" #.X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$|.y##. ", +" #.X#: ($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$P.y##. ", +" #._ : h$-#i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$D$f X##. ", +" #._ : f E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$D$D X##. ", +" #._ > : `$ %.%+%@%#%$%%%&%*%=%-%;%>%,%'%)%!%~%{%]%^%g$D y##. ", +" #._ : f /%(%_%:%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%b%c%D$D y##. ", +" F G > f d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%V#w%x%4 y%F ", +" j k > 4 z%A%B%C%D%c$E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%|.: T%j ", +" [ } | > E U%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&v%*&=&J@}.|.-&;&>&,& ", +" % & '&)&|.g$7+=#!&~&{&]&^&/&(&_&:&<&P%Q%7+[&0#D )&}&& % ", +" . |&F 1&2&3&4&5&6&7&8&9&0&a&b&c&d&e&f&3&2&1&g&h&|&. ", +" > : f |.p.9#/$w%i&j&k&!&Q%7+[&0#f : > "}; diff --git a/2009-x64/prefsThierry/icons/zooTriggered_0.xpm b/2009-x64/prefsThierry/icons/zooTriggered_0.xpm new file mode 100644 index 0000000..feab93b --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooTriggered_0.xpm @@ -0,0 +1,199 @@ +/* XPM */ +static char * zooTriggered_0_xpm[] = { +"32 32 163 2", +" c #D3CFC7", +". c #D2CFC6", +"+ c #D1CEC6", +"@ c #CFCDC4", +"# c #CDCBC1", +"$ c #C9C8BE", +"% c #C5C6BA", +"& c #C1C3B7", +"* c #BDC0B3", +"= c #B9BEB0", +"- c #B7BCAE", +"; c #B5BBAC", +"> c #B4BAAC", +", c #B4BAAB", +"' c #B3B9AA", +") c #CDCDC9", +"! c #C9C9C7", +"~ c #C5C5C3", +"{ c #C0C0BE", +"] c #BABAB8", +"^ c #B4B4B2", +"/ c #AEAFAD", +"( c #A7A9A7", +"_ c #A4A6A4", +": c #A0A2A0", +"< c #9FA19F", +"[ c #9D9F9D", +"} c #9C9E9C", +"| c #BDBDBD", +"1 c #B4B4B4", +"2 c #AAAAAA", +"3 c #A1A1A1", +"4 c #8E8E8E", +"5 c #585858", +"6 c #383838", +"7 c #2B2B2B", +"8 c #252525", +"9 c #1F1F1F", +"0 c #B1B1B1", +"a c #A3A3A3", +"b c #646464", +"c c #161616", +"d c #0D0D0D", +"e c #1E1E1E", +"f c #212121", +"g c #232323", +"h c #262626", +"i c #242424", +"j c #222222", +"k c #171717", +"l c #414141", +"m c #151515", +"n c #2A2A2A", +"o c #303030", +"p c #313131", +"q c #323232", +"r c #2C2C2C", +"s c #656565", +"t c #666666", +"u c #888888", +"v c #959595", +"w c #878787", +"x c #6D6D6D", +"y c #5B5B5B", +"z c #505050", +"A c #4A4A4A", +"B c #424242", +"C c #353535", +"D c #343434", +"E c #2D2D2D", +"F c #333333", +"G c #4D4D4D", +"H c #939393", +"I c #C7C7C7", +"J c #D1D1D1", +"K c #6C6C6C", +"L c #434343", +"M c #3E3E3E", +"N c #3B3B3B", +"O c #3A3A3A", +"P c #393939", +"Q c #363636", +"R c #373737", +"S c #181818", +"T c #0F0F0F", +"U c #949494", +"V c #B9B9B9", +"W c #CACACA", +"X c #B2B2B2", +"Y c #7D7D7D", +"Z c #555555", +"` c #454545", +" . c #101010", +".. c #A8AAA8", +"+. c #5A5A5A", +"@. c #1A1A1A", +"#. c #BCBCBC", +"$. c #797979", +"%. c #494949", +"&. c #3C3C3C", +"*. c #3D3D3D", +"=. c #1D1D1D", +"-. c #CECECE", +";. c #C4C4C4", +">. c #858585", +",. c #3F3F3F", +"'. c #404040", +"). c #292929", +"!. c #A1A3A1", +"~. c #2F2F2F", +"{. c #909090", +"]. c #D3D3D3", +"^. c #9F9F9F", +"/. c #2E2E2E", +"(. c #A8A8A8", +"_. c #BBBBBB", +":. c #747474", +"<. c #444444", +"[. c #464646", +"}. c #474747", +"|. c #A9A9A9", +"1. c #8F8F8F", +"2. c #575757", +"3. c #484848", +"4. c #272727", +"5. c #989898", +"6. c #707070", +"7. c #4E4E4E", +"8. c #4B4B4B", +"9. c #4C4C4C", +"0. c #898989", +"a. c #606060", +"b. c #4F4F4F", +"c. c #282828", +"d. c #818181", +"e. c #595959", +"f. c #515151", +"g. c #525252", +"h. c #535353", +"i. c #787878", +"j. c #545454", +"k. c #565656", +"l. c #737373", +"m. c #5C5C5C", +"n. c #6E6E6E", +"o. c #5D5D5D", +"p. c #5E5E5E", +"q. c #5F5F5F", +"r. c #6B6B6B", +"s. c #616161", +"t. c #626262", +"u. c #636363", +"v. c #6A6A6A", +"w. c #676767", +"x. c #686868", +"y. c #696969", +"z. c #6F6F6F", +"A. c #727272", +"B. c #717171", +"C. c #757575", +"D. c #767676", +"E. c #777777", +"F. c #1B1B1B", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . ", +". ) ! ~ { ] ^ / ( _ : < [ [ } } } } [ [ < : _ ( / ^ ] { ~ ! ) . ", +"+ ! ~ | 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 | ~ ! + ", +"@ ~ | 0 a b c d c e f g h 8 h h h h h h i j e k d c b a 0 | ~ @ ", +"# { 1 a l m n o o o o p p p p p p p p q p q q q q r c l a 1 { # ", +"$ ] 2 s m q q q 6 t u v v w x y z A B 6 C D D C C D D k s 2 ] $ ", +"% ^ 3 k E F G H I J | v K z L M N O P P Q Q R R R R R o S 3 ^ % ", +"& / 4 T C C U V W X Y Z ` M N N N N N N P P P O O O O O .4 / & ", +"* ..+.@.R M #.I 1 $.%.M &.N N &.&.&.*.*.&.*.*.*.*.*.*.*.=.+...* ", +"= _ &.i P t -.;.>.N N N &.&.*.*.M M M M ,.,.'.'.'.'.'.'.).&._ = ", +"- !.~.n N {.].^.Z *.M M M ,.,.'.'.'.l B B B L L L L L L o p !.- ", +"; < n /.*.(._.:.` ,.'.'.l l B B L <.<.<.` ` [.[.[.[.}.[.C r < ; ", +"> [ i F ,.|.1.2.<.B B L L <.` ` ` [.}.}.3.3.%.%.A A A A N 4.[ > ", +", [ 8 D l 5.6.7.` <.` ` [.}.}.3.3.%.A A 8.8.9.9.G G G G M 4.[ , ", +"' [ h C L 0.a.8.}.[.}.3.3.%.A A 8.9.9.G 7.b.b.z z z z z '.c.[ ' ", +"' } h R ` d.e.9.%.3.%.A 8.9.9.G 7.7.b.z f.f.g.h.h.h.h.h.B ).} ' ", +"' } 4.P }.i.2.G 8.8.8.9.G 7.b.b.z f.g.h.h.j.Z Z k.k.k.k.` n } ' ", +"' [ 4.O %.l.5 7.7.G 7.7.b.z f.g.h.j.j.Z k.2.5 5 e.e.5 5 }.7 [ ' ", +", [ c.&.8.6.k.z z b.z f.f.g.j.j.Z k.2.5 e.+.+.y y m.y y %.r [ , ", +"> [ ).*.G n.k.g.g.f.g.h.j.Z k.2.5 e.+.y m.o.p.p.q.q.q.q.9.E [ > ", +"; < o N b.r.5 j.j.h.Z k.2.5 e.+.y m.o.p.q.a.a.s.t.t.t.t.A F < ; ", +"- !.Q O f.x e.k.Z k.2.5 e.+.y m.p.p.q.s.t.u.b s s s s s %.O !.- ", +"= _ L C j.v.y 2.2.5 +.y m.o.p.q.a.s.u.b s t w.x.x.x.x.x.L [._ = ", +"* ..a.).k.m.y 5 e.y m.o.q.a.s.t.u.s t w.x.y.v.r.r.r.K K D s...* ", +"& / 1.S 5 5 m.+.m.o.p.a.s.t.u.s t w.x.v.r.K x x n.z.z.z.9 {./ & ", +"% ^ 3 g b.+.m.m.p.q.s.t.u.s t w.x.v.r.x x z.6.6.A.B.A.b ).3 ^ % ", +"$ ] 2 K c.m.o.p.a.s.u.b s w.x.v.r.K x z.6.A.l.l.:.C.C.F K 2 ] $ ", +"# { 1 a 7.).j.a.s.u.b t x.y.v.K x n.6.A.l.:.C.D.E.y.D f.a 1 { # ", +"@ ~ | 0 a K 8 F.o l A b.Z Z 2.2.e.+.y o.e.Z 9.O j 7 x a 0 | ~ @ ", +"+ ! ~ | 1 2 3 {.u.3.&.R p q q q F F F D O ,.A u.{.3 2 1 | ~ ! + ", +". ) ! ~ { ] ^ / ( _ : < [ [ } } } } [ [ < : _ ( / ^ ] { ~ ! ) . ", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . "}; + diff --git a/2009-x64/prefsThierry/icons/zooTriggered_1.xpm b/2009-x64/prefsThierry/icons/zooTriggered_1.xpm new file mode 100644 index 0000000..389d398 --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooTriggered_1.xpm @@ -0,0 +1,409 @@ +/* XPM */ +static char * zooTriggered_1_xpm[] = { +"32 32 373 2", +" c #D3CFC7", +". c #D2CFC6", +"+ c #D1CEC6", +"@ c #CFCDC4", +"# c #CDCBC1", +"$ c #C9C8BE", +"% c #C5C6BA", +"& c #C1C3B7", +"* c #BDC0B3", +"= c #B9BEB0", +"- c #B7BCAE", +"; c #B5BBAC", +"> c #B4BAAC", +", c #B4BAAB", +"' c #B3B9AA", +") c #D1CEC5", +"! c #CECCC3", +"~ c #CAC9BF", +"{ c #C4C5BA", +"] c #BCC0B3", +"^ c #AEB6A6", +"/ c #A7B1A0", +"( c #A2AE9C", +"_ c #9EAB98", +": c #9CAA96", +"< c #9AA994", +"[ c #9AA894", +"} c #99A893", +"| c #C9C9BF", +"1 c #B6BBAD", +"2 c #A9B3A2", +"3 c #9DAB97", +"4 c #879A83", +"5 c #4B6849", +"6 c #284928", +"7 c #1B3B1B", +"8 c #153515", +"9 c #0F2F0F", +"0 c #B2B9AA", +"a c #A1AD9A", +"b c #587356", +"c c #082408", +"d c #001A00", +"e c #002D00", +"f c #003C00", +"g c #004300", +"h c #004700", +"i c #004C00", +"j c #004B00", +"k c #004900", +"l c #004500", +"m c #003D00", +"n c #002E00", +"o c #001B00", +"p c #082508", +"q c #325231", +"r c #002B00", +"s c #005500", +"t c #006100", +"u c #006200", +"v c #006300", +"w c #006400", +"x c #006500", +"y c #005800", +"z c #002C00", +"A c #587456", +"B c #086908", +"C c #408C40", +"D c #6BA66B", +"E c #7BAF7B", +"F c #7BB07B", +"G c #69A569", +"H c #499249", +"I c #328532", +"J c #247D24", +"K c #1C781C", +"L c #127312", +"M c #056B05", +"N c #016A01", +"O c #006800", +"P c #006900", +"Q c #006A00", +"R c #082708", +"S c #005B00", +"T c #006700", +"U c #207B20", +"V c #78AF78", +"W c #B9D6B9", +"X c #C5DDC5", +"Y c #ACCEAC", +"Z c #79B179", +"` c #469346", +" . c #237E23", +".. c #127512", +"+. c #0B710B", +"@. c #077007", +"#. c #066F06", +"$. c #046E04", +"%. c #046F04", +"&. c #006D00", +"*. c #006E00", +"=. c #006F00", +"-. c #082908", +";. c #001E00", +">. c #006B00", +",. c #78B178", +"'. c #A7CCA7", +"). c #BCD8BC", +"!. c #9DC79D", +"~. c #5AA15A", +"{. c #278427", +"]. c #117911", +"^. c #087408", +"/. c #057205", +"(. c #047304", +"_. c #037303", +":. c #027402", +"<. c #007300", +"[. c #007400", +"}. c #007500", +"|. c #002000", +"1. c #A8B2A0", +"2. c #4B6B49", +"3. c #003500", +"4. c #AACFAA", +"5. c #B8D7B8", +"6. c #9FCA9F", +"7. c #539F53", +"8. c #157E15", +"9. c #067606", +"0. c #037603", +"a. c #027502", +"b. c #027602", +"c. c #027702", +"d. c #027802", +"e. c #017901", +"f. c #007900", +"g. c #007A00", +"h. c #007B00", +"i. c #003B00", +"j. c #285028", +"k. c #3A933A", +"l. c #C0DCC0", +"m. c #B3D6B3", +"n. c #61A961", +"o. c #007600", +"p. c #007700", +"q. c #007C00", +"r. c #007D00", +"s. c #007F00", +"t. c #007E00", +"u. c #008000", +"v. c #008100", +"w. c #005200", +"x. c #285128", +"y. c #9FAC99", +"z. c #1B441B", +"A. c #6FB26F", +"B. c #C6E1C6", +"C. c #82BD82", +"D. c #208B20", +"E. c #008200", +"F. c #008400", +"G. c #008500", +"H. c #008600", +"I. c #008700", +"J. c #1B471B", +"K. c #153F15", +"L. c #005C00", +"M. c #8CC48C", +"N. c #A5D1A5", +"O. c #47A147", +"P. c #088208", +"Q. c #008300", +"R. c #008800", +"S. c #008900", +"T. c #008A00", +"U. c #008B00", +"V. c #008C00", +"W. c #008D00", +"X. c #008E00", +"Y. c #154315", +"Z. c #0F3A0F", +"`. c #006600", +" + c #8DC68D", +".+ c #69B569", +"++ c #1F901F", +"@+ c #048504", +"#+ c #008F00", +"$+ c #009100", +"%+ c #009200", +"&+ c #009300", +"*+ c #009400", +"=+ c #0F3F0F", +"-+ c #0F3B0F", +";+ c #74BC74", +">+ c #3EA33E", +",+ c #0F8E0F", +"'+ c #028802", +")+ c #009000", +"!+ c #009500", +"~+ c #009600", +"{+ c #009700", +"]+ c #009800", +"^+ c #009900", +"/+ c #009A00", +"(+ c #0F400F", +"_+ c #0F3D0F", +":+ c #5EB45E", +"<+ c #269B26", +"[+ c #098E09", +"}+ c #028D02", +"|+ c #009B00", +"1+ c #009D00", +"2+ c #009E00", +"3+ c #00A000", +"4+ c #00A100", +"5+ c #0F420F", +"6+ c #51B151", +"7+ c #199919", +"8+ c #079207", +"9+ c #029102", +"0+ c #009C00", +"a+ c #009F00", +"b+ c #00A200", +"c+ c #00A300", +"d+ c #00A400", +"e+ c #00A600", +"f+ c #00A700", +"g+ c #0F440F", +"h+ c #007200", +"i+ c #43AD43", +"j+ c #159A15", +"k+ c #059505", +"l+ c #029502", +"m+ c #00A900", +"n+ c #00AA00", +"o+ c #00AB00", +"p+ c #00AC00", +"q+ c #0F450F", +"r+ c #3BAC3B", +"s+ c #139D13", +"t+ c #049804", +"u+ c #029A02", +"v+ c #00A800", +"w+ c #00AD00", +"x+ c #00AF00", +"y+ c #00B000", +"z+ c #00B100", +"A+ c #00B200", +"B+ c #0F470F", +"C+ c #007800", +"D+ c #34AC34", +"E+ c #0E9F0E", +"F+ c #049D04", +"G+ c #029E02", +"H+ c #00A500", +"I+ c #00AE00", +"J+ c #00B300", +"K+ c #00B400", +"L+ c #00B500", +"M+ c #00B700", +"N+ c #00B800", +"O+ c #0F490F", +"P+ c #0F430F", +"Q+ c #2EAE2E", +"R+ c #0AA20A", +"S+ c #04A004", +"T+ c #02A202", +"U+ c #00B600", +"V+ c #00BA00", +"W+ c #00BC00", +"X+ c #00BD00", +"Y+ c #00BE00", +"Z+ c #0F4B0F", +"`+ c #154B15", +" @ c #28AF28", +".@ c #0AA60A", +"+@ c #04A404", +"@@ c #02A602", +"#@ c #00C000", +"$@ c #00C100", +"%@ c #00C300", +"&@ c #00C400", +"*@ c #00C500", +"=@ c #155215", +"-@ c #1B521B", +";@ c #27B327", +">@ c #0AA90A", +",@ c #04A904", +"'@ c #01AA01", +")@ c #00B900", +"!@ c #00BF00", +"~@ c #00C700", +"{@ c #00C800", +"]@ c #00CA00", +"^@ c #00CB00", +"/@ c #1B591B", +"(@ c #285F28", +"_@ c #20B420", +":@ c #09AD09", +"<@ c #02AD02", +"[@ c #00C600", +"}@ c #00CC00", +"|@ c #00CE00", +"1@ c #00D000", +"2@ c #00D100", +"3@ c #286428", +"4@ c #4B7849", +"5@ c #08B008", +"6@ c #05B105", +"7@ c #00C200", +"8@ c #00CF00", +"9@ c #00D300", +"0@ c #00D500", +"a@ c #00D600", +"b@ c #00D700", +"c@ c #00D800", +"d@ c #4B7A49", +"e@ c #879C83", +"f@ c #003000", +"g@ c #04B404", +"h@ c #00BB00", +"i@ c #00D400", +"j@ c #00D900", +"k@ c #00DB00", +"l@ c #00DD00", +"m@ c #00DE00", +"n@ c #003E00", +"o@ c #879D83", +"p@ c #083E08", +"q@ c #01B701", +"r@ c #00DA00", +"s@ c #00E100", +"t@ c #00E400", +"u@ c #00E300", +"v@ c #00C900", +"w@ c #084A08", +"x@ c #588256", +"y@ c #005000", +"z@ c #00DF00", +"A@ c #00E700", +"B@ c #00E900", +"C@ c #00EA00", +"D@ c #588356", +"E@ c #326B31", +"F@ c #005300", +"G@ c #00CD00", +"H@ c #00E800", +"I@ c #00EB00", +"J@ c #00ED00", +"K@ c #00EF00", +"L@ c #327131", +"M@ c #084308", +"N@ c #003700", +"O@ c #006000", +"P@ c #004400", +"Q@ c #084E08", +"R@ c #588556", +"S@ c #4B7D49", +"T@ c #286828", +"U@ c #1B5E1B", +"V@ c #155A15", +"W@ c #0F540F", +"X@ c #0F550F", +"Y@ c #0F560F", +"Z@ c #0F570F", +"`@ c #0F580F", +" # c #0F590F", +".# c #155F15", +"+# c #1B641B", +"@# c #286D28", +"## c #4B7E49", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . ", +". ) ! ~ { ] ; ^ / ( _ : < [ } } } } [ < : _ ( / ^ ; ] { ~ ! ) . ", +"+ ! | & 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 & | ! + ", +"@ ~ & 0 a b c d e f g h i j i i i i i i k l m n o p b a 0 & ~ @ ", +"# { 1 a q r s t t t t u u u v v v v v w v x w x w y z q a 1 { # ", +"$ ] 2 A r w w w B C D E F G H I J K L M N O P Q Q P P n A 2 ] $ ", +"% ; 3 R S T U V W X Y Z ` ...+.@.#.$.%.&.&.*.*.=.*.*.t -.3 ; % ", +"& ^ 4 ;.>.>.,.'.).!.~.{.].^./.(.(.(._.:.<.<.<.[.}.[.[.[.|.4 ^ & ", +"* 1.2.3.=.^.4.5.6.7.8.9.0.a.a.b.c.c.d.e.f.g.g.g.h.g.h.g.i.2.1.* ", +"= ( j.k <.k.l.m.n.o.o.p.f.f.g.g.q.q.q.r.s.t.u.v.u.u.u.v.w.x.( = ", +"- y.z.s p.A.B.C.D.h.q.q.r.t.s.u.v.v.E.F.F.G.H.H.I.I.I.I.t J.y.- ", +"; : K.L.h.M.N.O.P.s.u.v.Q.Q.F.G.H.R.R.S.T.U.V.W.W.W.X.W.>.Y.: ; ", +"> < Z.`.s. +.+++@+F.G.I.I.R.T.U.U.W.X.#+$+$+%+&+*+*+*+*+o.=+< > ", +", [ -+P Q.;+>+,+'+S.T.U.V.X.#+)+$+&+*+!+~+{+]+^+/+/+/+/+q.(+[ , ", +"' [ _+>.I.:+<+[+}+W.#+$+$+&+*+!+{+]+^+|+1+2+2+3+3+3+4+3+u.5+[ ' ", +"' } _+*.U.6+7+8+9+$+&+*+{+]+^+|+0+1+a+4+b+c+d+e+e+f+e+e+G.g+} ' ", +"' } =+h+#+i+j+k+l+~+{+^+|+0+2+a+4+c+d+e+f+m+n+o+p+p+p+p+T.q+} ' ", +"' [ (+}.&+r+s+t+u+/+0+1+a+4+c+d+e+v+m+o+w+x+y+z+A+A+z+z+X.B+[ ' ", +", [ 5+C+{+D+E+F+G+2+3+b+c+H+v+m+o+w+I+z+J+K+L+M+M+N+M+M+&+O+[ , ", +"> < P+h.|+Q+R+S+T+c+H+f+m+o+w+x+z+A+K+U+N+V+W+X+Y+Y+Y+Y+]+Z+< > ", +"; : `+p.a+ @.@+@@@f+n+p+I+y+A+K+U+N+V+W+Y+#@$@%@&@&@*@&@*+=@: ; ", +"- y.-@[.c+;@>@,@'@w+I+z+J+L+M+)@W+X+!@%@*@~@{@]@]@]@^@]@%+/@y.- ", +"= ( (@Q v+_@:@<@x+z+K+U+)@V+W+!@$@%@[@{@]@}@|@1@2@2@2@2@H.3@( = ", +"* 1.4@w.p+5@6@y+J+U+)@V+Y+#@7@*@~@]@}@8@1@9@0@a@b@b@c@c@O d@1.* ", +"& ^ e@f@y+z+g@L+N+h@X+#@7@*@~@]@}@8@2@i@a@j@k@k@l@m@m@m@n@o@^ & ", +"% ; 3 p@2+L+q@)@W+!@7@&@~@]@}@8@2@i@b@r@k@m@s@s@t@u@t@v@w@3 ; % ", +"$ ] 2 x@y@N+h@X+#@%@[@{@^@8@1@i@b@j@k@z@s@t@A@A@B@C@C@T D@2 ] $ ", +"# { 1 a E@F@m+$@%@~@v@G@1@9@0@c@k@l@s@t@A@H@I@J@K@9@P L@a 1 { # ", +"@ ~ & 0 a x@M@N@O@E.*+2+n+o+I+x+A+K+M+V+A+o+^+}.P@Q@R@a 0 & ~ @ ", +"+ ! | & 1 2 3 o@S@T@U@V@W@X@Y@Y@Z@Z@`@ #.#+#@###o@3 2 1 & | ! + ", +". ) ! ~ { ] ; ^ / ( _ : < [ } } } } [ < : _ ( / ^ ; ] { ~ ! ) . ", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . "}; + diff --git a/2009-x64/prefsThierry/icons/zooWeightSave.xpm b/2009-x64/prefsThierry/icons/zooWeightSave.xpm new file mode 100644 index 0000000..cc952bf --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooWeightSave.xpm @@ -0,0 +1,294 @@ +/* XPM */ +static char *zooWeightSave[] = { +/* columns rows colors chars-per-pixel */ +"32 32 256 2", +" c black", +". c #000002", +"X c #070708", +"o c #000A0C", +"O c #08080A", +"+ c #0A0A11", +"@ c #041305", +"# c #041719", +"$ c #100C13", +"% c #191909", +"& c #1B1818", +"* c #16172E", +"= c #1A241A", +"- c #082831", +"; c #142528", +": c #11283B", +"> c #14363D", +", c #25251C", +"< c #262827", +"1 c #222C32", +"2 c #23382F", +"3 c #21333E", +"4 c #283435", +"5 c #2D3036", +"6 c #2F3934", +"7 c #2B3B39", +"8 c #30312F", +"9 c #343534", +"0 c #323B3B", +"q c #163243", +"w c #2D3C43", +"e c #363F40", +"r c #32453A", +"t c #0D4556", +"y c #154A65", +"u c #176074", +"i c #2E4946", +"p c #2B4257", +"a c #2C505B", +"s c #3D4644", +"d c #3B4349", +"f c #3F4F46", +"g c #3F4A4A", +"h c #3F4D4D", +"j c #374B55", +"k c #3F5746", +"l c #39545B", +"z c #3C535F", +"x c #2D6576", +"c c #473F3D", +"v c #424432", +"b c #615E3E", +"n c #454542", +"m c #484B4E", +"M c #424B51", +"N c #414D58", +"B c #4C4E51", +"V c #4B534F", +"C c #475055", +"Z c #41525B", +"A c #475952", +"S c #4C5255", +"D c #4D575B", +"F c #4E5E5D", +"G c #534E52", +"H c #525555", +"J c #525358", +"K c #53545A", +"L c #50575E", +"P c #54555B", +"I c #55565C", +"U c #515E5A", +"Y c #595554", +"T c #59545E", +"R c #595A5E", +"E c #5E5E5A", +"W c #5F5D5D", +"Q c #425D68", +"! c #495963", +"~ c #545C63", +"^ c #5F5F60", +"/ c #5D5F64", +"( c #48626E", +") c #496972", +"_ c #506062", +"` c #556564", +"' c #576A69", +"] c #566E6B", +"[ c #5A6061", +"{ c #5A6266", +"} c #596765", +"| c #5F6065", +" . c #5E6661", +".. c #5D6767", +"X. c #596D68", +"o. c #5C6A6A", +"O. c #5E726D", +"+. c #5E7478", +"@. c #636858", +"#. c #77735B", +"$. c #616364", +"%. c #656667", +"&. c #616268", +"*. c #63646A", +"=. c #656669", +"-. c #666769", +";. c #67676B", +":. c #65666C", +">. c #66676E", +",. c #606C66", +"<. c #616A6D", +"1. c #686363", +"2. c #6A6B6D", +"3. c #6E6E6C", +"4. c #626C73", +"5. c #6A6A72", +"6. c #686C71", +"7. c #6A6D75", +"8. c #6D6E75", +"9. c #6E726F", +"0. c #647572", +"q. c #637876", +"w. c #647B79", +"e. c #6B7076", +"r. c #6A7772", +"t. c #6A7676", +"y. c #6D7373", +"u. c #6E7073", +"i. c #6F7074", +"p. c #6F7076", +"a. c #6E7377", +"s. c #6D767B", +"d. c #6C7C7C", +"f. c #726B70", +"g. c #727569", +"h. c #707176", +"j. c #727274", +"k. c #737474", +"l. c #737477", +"z. c #767572", +"x. c #777674", +"c. c #707179", +"v. c #75767E", +"b. c #747B7B", +"n. c #777F7E", +"m. c #787777", +"M. c #7C7876", +"N. c #78797C", +"B. c #357A90", +"V. c #767780", +"C. c #777881", +"Z. c #787981", +"A. c #7A7B84", +"S. c #797D80", +"D. c #7B7C86", +"F. c #7D7E81", +"G. c #7E7F81", +"H. c #7D7E87", +"J. c #7E7F88", +"K. c #7F8073", +"L. c #6A8889", +"P. c #6E9191", +"I. c #738584", +"U. c #768489", +"Y. c #71898A", +"T. c #7B8283", +"R. c #7F8487", +"E. c #7A8C88", +"W. c #7B8D91", +"Q. c #7C9494", +"!. c #7C9B9A", +"~. c #7FA4A3", +"^. c #858767", +"/. c #84817F", +"(. c #858F78", +"). c #838486", +"_. c #848486", +"`. c #81828B", +"'. c #82838C", +"]. c #81878A", +"[. c #878789", +"{. c #84858F", +"}. c #838989", +"|. c #88898A", +" X c #858690", +".X c #868791", +"XX c #818C91", +"oX c #898A94", +"OX c #8A8B95", +"+X c #888F90", +"@X c #8B8C96", +"#X c #8D8E90", +"$X c #8C8D97", +"%X c #8E8F99", +"&X c #839B97", +"*X c #849898", +"=X c #849B9B", +"-X c #879999", +";X c #8F9796", +":X c #8F909A", +">X c #8B9897", +",X c #899899", +".IX", +"DX^ 8 ^ e ! # o.Y.Y.w.4 7 g U 1 j P I I P P p Z h 7 w ! L &.>.IX", +"JXB B / w ` # d.Q.Q.X.n 9 < & $ : l ! R ! w ~ ` ' o.M ..m R / IX", +"PX/ K { 4 D ; W.!.*X` R M.1.Y Y G d j Q - S F ] +.3 d 0 o < &.PX", +"PX2.R s @ e ; Q.hXhXY.# @ = & c c /. .D U.} d.1 rX<.i ] O.$.KX", +"IXp./ H 9 ; =XkXkXkXhXY.6 > q : T & I.h r.2 d.+.l hXbXcXS DX", +"IXv.>.K W 8 < X.mXlXlXMX=X * m m M t < I.6 U 0 W.) MXQ.L.cX! wX", +"IXZ.c.>.I ^ o jXMXMXzX5 X N =.5.$.a S q.A V o.Y.cXgX= v A r /.", +"IXJ.Z.V.8./ d O # A f q N ;.v.Z.c.z w.] ~ M XXL.mX2 #.NX(.@ 0X", +"IX'.G.J.A.c...B * + * j ~ 5.V.J.J.Z.! +.] ! r -XP.cX< b ^.@. /.", +"IX.X'.'.'.J.A.8.| ~ | 5.v.J.'.'.'.J.<.j ` o.S xXL.HXk v K.E SXf.", +"IXOX.X.X.X.X.X'.J.V.D.'..X.X.X.X.X.Xv.z 7.E.' HX!.LXMX6 g.V 2.m ", +"IX%XOXoXOXOXOXoXoXoXoXoXoXoXoXoXoXoX'.7.Q ( w HXMXHXUXcX% | | 0X", +"IXtX%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X'.7.Q y p }.zXGXi +.:.k.ZX", +"IXBX5X5X5X5X5X6X5X5X5X6X5X5X5X5X5X5X5X:X.XV.6.( x B.u x e.H.vXKX", +"PXKXtXiXtXiXtXiXtXiXtXiXiXtXiXtXtXtXtXtXtX:X.XA.a.5.5.V. X:XJXIX", +"IXIXFXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXpXiXtX%X@X$X:XpXFXIXIX", +"IXIXIXKXVXBXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXBXVXKXIXIXIX", +"IXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIX" +}; diff --git a/2009-x64/prefsThierry/icons/zooXferAnim.bmp b/2009-x64/prefsThierry/icons/zooXferAnim.bmp new file mode 100644 index 0000000..9ce377c Binary files /dev/null and b/2009-x64/prefsThierry/icons/zooXferAnim.bmp differ diff --git a/2009-x64/prefsThierry/icons/zooXferAnim.xpm b/2009-x64/prefsThierry/icons/zooXferAnim.xpm new file mode 100644 index 0000000..669ffef --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooXferAnim.xpm @@ -0,0 +1,224 @@ +/* XPM */ +static char *zooXferAnim[] = { +/* columns rows colors chars-per-pixel */ +"32 32 186 2", +" c #171716", +". c #1C1B1A", +"X c #23221E", +"o c #29251D", +"O c #382D1B", +"+ c #222224", +"@ c #25262A", +"# c #2A2824", +"$ c #2A2A2D", +"% c #2D2E31", +"& c #2E313A", +"* c #302D26", +"= c #34322C", +"- c #323234", +"; c #35363A", +": c #3B3A33", +"> c #3A3B3F", +", c #343741", +"< c #353841", +"1 c #3E3E41", +"2 c #423624", +"3 c #40392D", +"4 c #4B3D29", +"5 c #423D34", +"6 c #444037", +"7 c #43413A", +"8 c #5B503D", +"9 c #635032", +"0 c #69583D", +"q c #444542", +"w c #464648", +"e c #4D4B43", +"r c #494A4D", +"t c #434653", +"y c #494B54", +"u c #4D5055", +"i c #4C505E", +"p c #59554B", +"a c #515155", +"s c #51545D", +"d c #525662", +"f c #555A64", +"g c #5F5F65", +"h c #595D6A", +"j c #5D606B", +"k c #5D6273", +"l c #645947", +"z c #6D5E45", +"x c #645F54", +"c c #676458", +"v c #766749", +"b c #7D6A49", +"n c #756950", +"m c #78705A", +"M c #686A62", +"N c #636771", +"B c #777161", +"V c #7B7D73", +"C c #7B7B7C", +"Z c #5E6988", +"A c #636B83", +"S c #686F85", +"D c #66708E", +"F c #6E748C", +"G c #697595", +"H c #6E7A9B", +"J c #707589", +"K c #747887", +"L c #7B7B80", +"P c #737D9B", +"I c #7D8087", +"U c #7A848D", +"Y c #7682A6", +"T c #7381A9", +"R c #7B85A4", +"E c #7D89AC", +"W c #7B89B1", +"Q c #A77C3A", +"! c #88704A", +"~ c #9D7B45", +"^ c #9A7D4D", +"/ c #9A7E51", +"( c #A27E46", +") c #807F82", +"_ c #97825C", +"` c #9D8356", +"' c #9E865B", +"] c #86847B", +"[ c #8B897B", +"{ c #938264", +"} c #9D8E72", +"| c #9C917B", +" . c #AE8445", +".. c #A38654", +"X. c #B48845", +"o. c #BB8E49", +"O. c #B58E52", +"+. c #BD914E", +"@. c #B49156", +"#. c #B8965D", +"$. c #BD9C66", +"%. c #B39B73", +"&. c #BFA270", +"*. c #C7974D", +"=. c #C69751", +"-. c #C59A56", +";. c #CD9F56", +":. c #D09948", +">. c #D9A14C", +",. c #D5A254", +"<. c #DAA657", +"1. c #C0A97E", +"2. c #E9AB4F", +"3. c #E3AB57", +"4. c #EAAE54", +"5. c #ECB056", +"6. c #EBB15A", +"7. c #F0B155", +"8. c #F1B75F", +"9. c #EDB663", +"0. c #ECB96A", +"q. c #E4BC7D", +"w. c #E8BA73", +"e. c #848489", +"r. c #8A8B81", +"t. c #8A898D", +"y. c #818592", +"u. c #8B8B92", +"i. c #8F989F", +"p. c #9D9D8D", +"a. c #97969D", +"s. c #98979D", +"d. c #858CA3", +"f. c #818EB4", +"g. c #8D97A2", +"h. c #8D93A9", +"j. c #8392BC", +"k. c #959DAC", +"l. c #9B9CA4", +"z. c #96A0A7", +"x. c #98A5B2", +"c. c #A0A091", +"v. c #A6A89E", +"b. c #ABA594", +"n. c #B2A88F", +"m. c #A6A4A8", +"M. c #A9A7AC", +"N. c #A9ADA0", +"B. c #A5AFB8", +"V. c #A6B0B9", +"C. c #ABB3BC", +"Z. c #B8BAAD", +"A. c #B6B6B6", +"S. c #B3B6BA", +"D. c #B5B9BC", +"F. c #BDBFB2", +"G. c #BBBBBB", +"H. c #8695C1", +"J. c #8897C1", +"K. c #8999C4", +"L. c #8E9DC9", +"P. c #909FC8", +"I. c #93A0C7", +"U. c #95A2C8", +"Y. c #98A4C7", +"T. c #9DA8C9", +"R. c #A3ACC8", +"E. c #AAB2C9", +"W. c #B1B6CA", +"Q. c #B1B8C0", +"!. c #B6BAC9", +"~. c #B9BDC1", +"^. c #BBBDC8", +"/. c #BBC0C5", +"(. c #E0BE85", +"). c #DBC092", +"_. c #D9C299", +"`. c #C7CABC", +"'. c #D5C4A4", +"]. c #D1C7AF", +"[. c #E1C18B", +"{. c #C2C2C3", +"}. c #C3C6C9", +"|. c #C5C9CC", +" X c #CDCDCD", +".X c #D3D3D3", +/* pixels */ +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X", +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X", +".X.X.X.X.X}.Q.C.V.V.V.C.E.V.V.V.V.V.V.V.V.V.V.B.C.D.}..X.X.X.X.X", +".X.X.XQ.x.C./.}.|.|.|. X|.|.|.|.|.|.|.|.}.}.}.}.}.~.V.x.D..X.X.X", +".X.X.Xx..X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X X.X X X X X Xx..X.X.X", +".X.X/.C..X.X.X.X.X.X.X.X.X.X.X.X.X.Xm * [ .X X X X X X XV.|..X.X", +".X.XQ./..X.X.X.X.X.X.X.X.X.X.X.X.Xc 9 X.4 : 6 ] X X X}./.Q..X.X", +".X.XC.}..X.XV q = = X p e 6 o # X z *.5.>.Q ~ 4 * p.v.|./.V..X.X", +".X.XE.|..Xv.X ] | } &.n ! ^ @.@.o.*.5.5.4.5.5.4. .O o = V B..X.X", +".X.XB.|..Xq ] ]._.).(.q.w.0.6.6.6.6.5.5.5.5.5.5.7.2.:.` c i..X.X", +".X.XV.|..X+ b.'._.[.q.q.0.0.8.8.6.6.5.5.5.5.5.5.3.,.@.' m U .X.X", +".X.XB.}..XV e n.| &.%.&.$.#...@.3.5.5.5.5.4.<.-...8 O = r z..X.X", +".X.XV.|..X X: # * . 7 : # = { ,.5.5.<.-.^ v n * 6 V r./.B..X.X", +".X.XB.|. X.X.X X.X X X X.X X X2 o.;..._ l X X # r.{.{.G.~.B..X.X", +".X.XV.}..X.X X.X X X.X X X X X0 ` 8 . = : c.Z.F.{.{.G.{.~.B..X.X", +".X.XV.}. X X X X X X X X X X X# = e c.r.`.{.{.{.G.{.`.~.G.B..X.X", +".X.XV.}. X X X X X X X) $ N |.M [ X{.{.{.{.{.{.G.G.G.G.{.B..X.X", +".X.XB.}. X X X X) 1 , , G t g |.|.{. X{.{.{.{.{.{.G.G.G.G.B..X.X", +".X.XV.}..Xm.a.% < D Z W K.P d @ @ + > r a . - - w ) G.G.~.B..X.X", +".X.XR.) & + @ D H.K.H.H.K.K.P P P P S k k h.y.u.C + M.G.D.B..X.X", +".X.Xg.f A P H.H.H.H.H.H.H.H.H.K.K.L.P.Y.R.R.E.!.^.C w G.D.B..X.X", +".X.XU N F P W H.H.H.H.H.K.H.H.j.L.P.U.Y.T.R.E.W.!.a.+ A.D.B..X.X", +".X.Xk.a - $ t F d.f.H.K.K.K.H.j.P J R d.h.d.k.y.l.w C A.~.B..X.X", +".X.XB.{.t.L 1 @ k h D P f.K.K.W K $ @ ; < . % @ 1 A.A.D.B..X.X", +".X.XB.^.}.|.{.u.$ + . s K J W H & t.G.A.A.A.A.A.A.A.A.G.D.B..X.X", +".X.XQ.~.{.{.{.{.G.{.l.; - . y J i a A.A.A.A.A.A.A.A.A.A.D.C..X.X", +".X.X}.C.{.{.{.`.{.G.{.G.G.l.w % $ u.A.A.A.A.A.A.A.A.A.A.V.}..X.X", +".X.X.Xx.{.{.{.G.G.G.G.G.A.A.A.A.A.G.A.A.A.A.A.A.A.A.A.A.x..X.X.X", +".X.X.XQ.x.C.D.~.~.~.A.Q.~.A.A.D.A.D.D.S.D.S.S.S.Q.S.V.x.Q..X.X.X", +".X.X.X.X.X}.C.V.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.V.S.}..X.X.X.X.X", +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X", +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X" +}; diff --git a/2009-x64/prefsThierry/icons/zooXferAnimQuickLoader.xpm b/2009-x64/prefsThierry/icons/zooXferAnimQuickLoader.xpm new file mode 100644 index 0000000..d0d353a --- /dev/null +++ b/2009-x64/prefsThierry/icons/zooXferAnimQuickLoader.xpm @@ -0,0 +1,224 @@ +/* XPM */ +static char *zooXferAnimQuickLoader[] = { +/* columns rows colors chars-per-pixel */ +"32 32 186 2", +" c #171716", +". c #1D1B18", +"X c #23221E", +"o c #29251D", +"O c #382D1B", +"+ c #2A2824", +"@ c #302D26", +"# c #34322C", +"$ c #3B3A33", +"% c #423624", +"& c #40392D", +"* c #4B3D29", +"= c #423D34", +"- c #444037", +"; c #43413A", +": c #5B503D", +"> c #635032", +", c #69583D", +"< c #444541", +"1 c #4D4B43", +"2 c #4D4F4E", +"3 c #59554B", +"4 c #645947", +"5 c #6D5E45", +"6 c #645F54", +"7 c #676458", +"8 c #766749", +"9 c #7D6A49", +"0 c #756950", +"q c #78705A", +"w c #686A62", +"e c #777161", +"r c #7B7D73", +"t c #7D7F7B", +"y c #7A848D", +"u c #A77C3A", +"i c #88704A", +"p c #9D7B45", +"a c #9A7D4D", +"s c #9A7E51", +"d c #A27E46", +"f c #97825C", +"g c #9D8356", +"h c #9E865B", +"j c #86847B", +"k c #8B897B", +"l c #938264", +"z c #9D8E72", +"x c #9C917B", +"c c #AE8445", +"v c #A38654", +"b c #B48845", +"n c #BB8E49", +"m c #B58E52", +"M c #BD914E", +"N c #B49156", +"B c #B8965D", +"V c #BD9C66", +"C c #B39B73", +"Z c #BFA270", +"A c #DE9200", +"S c #DC9D24", +"D c #D99F2C", +"F c #DFA027", +"G c #DDA63E", +"H c #E19500", +"J c #E69800", +"K c #EA9C03", +"L c #EB9E09", +"P c #E29D19", +"I c #ECA00B", +"U c #ECA112", +"Y c #EDA519", +"T c #E7A426", +"R c #E2A42B", +"E c #E6A82F", +"W c #E8A82D", +"Q c #E1A632", +"! c #E7AB36", +"~ c #E4AB3C", +"^ c #EBAC31", +"/ c #E9AE3B", +"( c #F0AA20", +") c #C7974D", +"_ c #C69751", +"` c #C59A56", +"' c #CD9F56", +"] c #D09948", +"[ c #C6A35B", +"{ c #C9A45B", +"} c #CDA85C", +"| c #D0A54F", +" . c #D9A14C", +".. c #DEAD4D", +"X. c #D5A254", +"o. c #D4AB57", +"O. c #D6AD5D", +"+. c #DAA657", +"@. c #C7A668", +"#. c #C1AA7C", +"$. c #D0AC62", +"%. c #D3B06A", +"&. c #DEB973", +"*. c #DDBC7D", +"=. c #E4AD42", +"-. c #E2AF4C", +";. c #E9AB4F", +":. c #E3AB57", +">. c #EAAE54", +",. c #E7B34E", +"<. c #E8B147", +"1. c #E8B44E", +"2. c #E1B256", +"3. c #E3B458", +"4. c #ECB056", +"5. c #EBB15A", +"6. c #F0B155", +"7. c #F1B75F", +"8. c #E5B964", +"9. c #EDB663", +"0. c #ECB96A", +"q. c #E4BC7D", +"w. c #E8BA73", +"e. c #8A8B81", +"r. c #8F989F", +"t. c #9D9D8D", +"y. c #96A0A7", +"u. c #98A5B2", +"i. c #A0A091", +"p. c #A6A89E", +"a. c #ABA594", +"s. c #B2A88F", +"d. c #A7ACAD", +"f. c #A9ADA0", +"g. c #A8ADAE", +"h. c #A6ADB3", +"j. c #A5AFB8", +"k. c #A8AEB1", +"l. c #A6B0B9", +"z. c #AAB1B5", +"x. c #ABB4BC", +"c. c #B9B6AA", +"v. c #BBB9AB", +"b. c #B6B6B6", +"n. c #B3B6BA", +"m. c #B5B8BC", +"M. c #BDBCB2", +"N. c #BABABA", +"B. c #B2B9C1", +"V. c #B9BDC1", +"C. c #BBC0C5", +"Z. c #C1B08B", +"A. c #CEB98F", +"S. c #D1B681", +"D. c #D6BC89", +"F. c #DFBF82", +"G. c #DBBF88", +"H. c #D1BB93", +"J. c #C0B9A7", +"K. c #CABDA2", +"L. c #E0BE85", +"P. c #DEC38D", +"I. c #D2C09C", +"U. c #DBC092", +"Y. c #DBC59C", +"T. c #C8C0AD", +"R. c #C7CABC", +"E. c #CBC4B3", +"W. c #C9C5BA", +"Q. c #D4C3A4", +"!. c #D3C5AA", +"~. c #D8C5A2", +"^. c #D8C7AA", +"/. c #D3C9B5", +"(. c #D2CABD", +"). c #D8CBB2", +"_. c #E0C289", +"`. c #C3C3C4", +"'. c #C3C6C9", +"]. c #C5C9CB", +"[. c #C9C7C2", +"{. c #CAC8C3", +"}. c #CBCBCB", +"|. c #D0CECB", +" X c #D4D1CA", +".X c #D3D3D3", +/* pixels */ +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X", +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X", +".X.X.X.X.X'.B.x.l.l.z.g.j.l.l.d.g.z.l.l.j.g.d.d.z.n.'..X.X.X.X.X", +".X.X.XB.u.x.C.].}.}.]. XS.Q.'.R.S.O.%.T.'.T.%.o.$.Z.z.u.B..X.X.X", +".X.X.Xu..X.X.X.X.X.X.X.X_.( 8..X X1.Y / (..XP.Y I I T I.u..X.X.X", +".X.X'.l..X.X.X.X.X.X.X.X.XY.4._..X).<.Y ~ Y.|.Q.W K I Q z.]..X.X", +".X.XB.C..X.X.X.X.X.X.X.X.X.XY.W 8. X X3.U W !.|.D.K K K #.z..X.X", +".X.XB.]..X.X.X.X.X.X.X.X.X.X|.G.^ *.|./.! I ~ !.}.D.R K } z..X.X", +".X.Xl.]..X.X.X.X.X.X.X.X.X.X.X.X^.=.*.}./.-.K P I.}.H.P | d..X.X", +".X.Xl.]..X.X.X.X.X.X.X.X.X.X}..X|.&.U 2.}.(.! J F E.C.*.} d..X.X", +".X.Xl.]..X.X.X.X.X.X]..X.X}.}..X|.|.!.=.D.}.T.~ J F A.`.v.g..X.X", +".X.Xj.]..X.X]..X}..X}..X.X}..X|..X}.q @ k -.{.{...A S K.C.j..X.X", +".X.Xl.'..X.X]..X.X.X|..X}.}.|.}.}.7 > c * & ; k K.F A D v.j..X.X", +".X.Xj.]..X}.y < # # . 3 1 = o + + 5 _ 6. .u p * # t.p.H { k..X.X", +".X.Xl.'.}.f.X s e.z C i i a m m M ) >.>.4.>.>.4.c O o # t k..X.X", +".X.Xl.]..X< e.E.^.G.L.L.w.0.9.9.5.>.4.4.4.>.>.>.>.;.] d 6 r..X.X", +".X.Xl.'.}.X a.K.H.L.L.w.w.9.9.9.5.>.4.5.4.5.>.4.:.+.N h q y .X.X", +".X.Xl.'.}.t 3 s.x #.C Z V B v B :.4.4.4.4.>.+.` v : @ # 2 y..X.X", +".X.Xl.'.|.}.$ @ # = $ + # s X.6.6.+.` s 8 0 @ ; j j Z l..X.X", +".X.Xl.].}.}.}.}.}.}.}.}.{.'.'.% n ' v l 4 . X + e.N.M.@.@.z..X.X", +".X.Xl.'.}.}.}.{.{.}.`.`.`.`.`., v : . # $ i.c.M.N.N.N.N.v.g..X.X", +".X.Xl.'.}.}.'.].`.`.{.`.`.`.`.@ @ 1 i.e.R.N.N.N.b.N.b.N.m.h..X.X", +".X.Xl.C.}.{.{.}.`.`.`.`.`.`.V.w e.V.J.V.N.N.N.N.N.b.b.b.m.j..X.X", +".X.Xl.`.}.`.`.`.`.`.V.`.V.'.J.N.N.N.V.V.N.N.N.b.b.b.m.m.m.j..X.X", +".X.Xj.V.'.{.`.`.[.`.N.`.N.N.N.N.N.N.N.b.b.b.b.b.b.b.b.b.m.l..X.X", +".X.XB.B.`.`.`.`.N.`.V.N.N.N.N.N.N.b.b.b.b.b.b.b.b.b.b.b.m.x..X.X", +".X.X].B.`.`.`.V.`.N.C.N.N.C.N.N.b.b.b.b.b.b.b.b.b.b.b.N.l.]..X.X", +".X.X.Xu.`.`.`.N.N.N.N.N.N.J.N.N.b.b.b.b.b.b.b.b.b.b.b.b.u..X.X.X", +".X.X.XB.u.l.V.V.V.m.m.m.m.m.m.m.m.m.m.b.m.m.n.n.n.n.x.u.n..X.X.X", +".X.X.X.X.X'.x.l.l.z.l.l.j.j.j.l.l.j.j.j.l.l.l.j.l.x.]..X.X.X.X.X", +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X", +".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X" +}; diff --git a/2009-x64/prefsThierry/icons/zoo_sig.tga b/2009-x64/prefsThierry/icons/zoo_sig.tga new file mode 100644 index 0000000..9ea98bb Binary files /dev/null and b/2009-x64/prefsThierry/icons/zoo_sig.tga differ diff --git a/2009-x64/prefsThierry/icons/zoomerate.bmp b/2009-x64/prefsThierry/icons/zoomerate.bmp new file mode 100644 index 0000000..c211a65 Binary files /dev/null and b/2009-x64/prefsThierry/icons/zoomerate.bmp differ diff --git a/2009-x64/prefsThierry/markingMenus/menu_ChangePanelLayout.mel b/2009-x64/prefsThierry/markingMenus/menu_ChangePanelLayout.mel new file mode 100644 index 0000000..e2276af --- /dev/null +++ b/2009-x64/prefsThierry/markingMenus/menu_ChangePanelLayout.mel @@ -0,0 +1,163 @@ + + menuItem + -label "Single Perspective" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Single Perspective View\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem296; + + menuItem + -label "Hypershade/Render/Persp" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Hypershade/Render/Persp\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem297; + + menuItem + -label "Hypershade/Outliner/Persp" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Hypershade/Outliner/Persp\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem298; + + menuItem + -label "Hypershade/Persp" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Hypershade/Persp\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem299; + + menuItem + -label "Persp/Outliner" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Outliner\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem300; + + menuItem + -label "Persp/Graph/Outliner" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Graph/Outliner\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem301; + + menuItem + -label "Persp/Graph" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Graph\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem302; + + menuItem + -label "Persp/Relationship Editor" + -divider 0 + -subMenu 0 + -command "setNamedPanelLayout \"Persp/Relationship Editor\";" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem303; + +setParent -m ..; + diff --git a/2009-x64/prefsThierry/markingMenus/menu_ChangePanelType.mel b/2009-x64/prefsThierry/markingMenus/menu_ChangePanelType.mel new file mode 100644 index 0000000..d9ef109 --- /dev/null +++ b/2009-x64/prefsThierry/markingMenus/menu_ChangePanelType.mel @@ -0,0 +1,163 @@ + + menuItem + -label "Outliner" + -divider 0 + -subMenu 0 + -command "switchPanelToType Outliner" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem304; + + menuItem + -label "Graph Editor" + -divider 0 + -subMenu 0 + -command "switchPanelToType GraphEditor" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem305; + + menuItem + -label "Dope Sheet" + -divider 0 + -subMenu 0 + -command "switchPanelToType DopeSheet" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem306; + + menuItem + -label "Hypergraph" + -divider 0 + -subMenu 0 + -command "switchPanelToType Hypergraph" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem307; + + menuItem + -label "Dynamic Relationships" + -divider 0 + -subMenu 0 + -command "switchPanelToType DynRelationships" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem308; + + menuItem + -label "Hypershade" + -divider 0 + -subMenu 0 + -command "switchPanelToType Hypershade" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem309; + + menuItem + -label "Render View" + -divider 0 + -subMenu 0 + -command "switchPanelToType RenderView" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem310; + + menuItem + -label "Set Editor" + -divider 0 + -subMenu 0 + -command "switchPanelToType SetEditor" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem311; + +setParent -m ..; + diff --git a/2009-x64/prefsThierry/markingMenus/menu_ChangeSelectionMask.mel b/2009-x64/prefsThierry/markingMenus/menu_ChangeSelectionMask.mel new file mode 100644 index 0000000..6fea156 --- /dev/null +++ b/2009-x64/prefsThierry/markingMenus/menu_ChangeSelectionMask.mel @@ -0,0 +1,163 @@ + + menuItem + -label "NURBS Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode nurbsModeling NURBS" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem323; + + menuItem + -label "Hierarchy" + -divider 0 + -subMenu 0 + -command "setSelectMode hierarchy Hierarchy" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem324; + + menuItem + -label "Animation Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode animation Animation" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem325; + + menuItem + -label "Deformations Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode deformations Deformations" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem326; + + menuItem + -label "Dynamics Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode dynamics Dynamics" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem327; + + menuItem + -label "Polygons Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode polyModeling Polygons" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem328; + + menuItem + -label "Rendering Mask" + -divider 0 + -subMenu 0 + -command "setSelectMode rendering Rendering" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem329; + + menuItem + -label "Object/Components" + -divider 0 + -subMenu 0 + -command "if ( `selectMode -q -component` ) { setSelectMode objects Objects; } \t\t\t else { setSelectMode components Components; }" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 0 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem330; + +setParent -m ..; + diff --git a/2009-x64/prefsThierry/markingMenus/menu_CommonModelingPanes.mel b/2009-x64/prefsThierry/markingMenus/menu_CommonModelingPanes.mel new file mode 100644 index 0000000..95a35d7 --- /dev/null +++ b/2009-x64/prefsThierry/markingMenus/menu_CommonModelingPanes.mel @@ -0,0 +1,155 @@ + + menuItem + -label "Perspective View" + -divider 0 + -subMenu 0 + -command "switchModelView persp" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem331; + + menuItem + -label "Side View" + -divider 0 + -subMenu 0 + -command "switchModelView side" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem332; + + menuItem + -label "Front View" + -divider 0 + -subMenu 0 + -command "switchModelView front" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem333; + + menuItem + -label "Top View" + -divider 0 + -subMenu 0 + -command "switchModelView top" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem334; + + menuItem + -label "Hotbox Style" + -divider 0 + -subMenu 1 + -tearOff 0 + -enable 1 + -data 0 + -allowOptionBoxes 1 + -postMenuCommandOnce 0 + -italicized 0 + -boldFont 0 + menuItem335; + + menuItem + -label "Zones and Menu Rows" + -divider 0 + -subMenu 0 + -command "hotBox -dh" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem336; + + menuItem + -label "Zones Only" + -divider 0 + -subMenu 0 + -command "hotBox -dzo" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem337; + + menuItem + -label "Center Zone Only" + -divider 0 + -subMenu 0 + -command "hotBox -dco" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -enableCommandRepeat 1 + -echoCommand 0 + -italicized 0 + -boldFont 0 + menuItem338; + + setParent -m ..; + +setParent -m ..; + diff --git a/2009-x64/prefsThierry/markingMenus/menu_ControlPaneVisibility.mel b/2009-x64/prefsThierry/markingMenus/menu_ControlPaneVisibility.mel new file mode 100644 index 0000000..a1c3677 --- /dev/null +++ b/2009-x64/prefsThierry/markingMenus/menu_ControlPaneVisibility.mel @@ -0,0 +1,229 @@ + + menuItem + -label "Help Line" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Help Line\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Help Line on/off" + -italicized 0 + -boldFont 0 + menuItem312; + + menuItem + -label "Status Line" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Status Line\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NE" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Status Line on/off" + -italicized 0 + -boldFont 0 + menuItem313; + + menuItem + -label "Attributes" + -divider 0 + -subMenu 1 + -tearOff 0 + -enable 1 + -data 0 + -radialPosition "E" + -allowOptionBoxes 0 + -postMenuCommandOnce 0 + -italicized 0 + -boldFont 0 + menuItem314; + + menuItem + -label "Channel Box / Layer Editor" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Channel Box / Layer Editor\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "E" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Channel Box / Layer Editor on/off" + -italicized 0 + -boldFont 0 + menuItem315; + + menuItem + -label "Attribute Editor" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Attribute Editor\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Attribute Editor on/off" + -italicized 0 + -boldFont 0 + menuItem316; + + menuItem + -label "Tool Settings" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Tool Settings\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "N" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Tool Settings on/off" + -italicized 0 + -boldFont 0 + menuItem317; + + setParent -m ..; + + menuItem + -label "Tool Box" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Tool Box\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SE" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Toolbox on/off" + -italicized 0 + -boldFont 0 + menuItem318; + + menuItem + -label "Time Slider" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Time Slider\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "S" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Time Slider on/off" + -italicized 0 + -boldFont 0 + menuItem319; + + menuItem + -label "Range Slider" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Range Slider\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "SW" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Range Slider on/off" + -italicized 0 + -boldFont 0 + menuItem320; + + menuItem + -label "Shelf" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Shelf\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "W" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the shelf on/off" + -italicized 0 + -boldFont 0 + menuItem321; + + menuItem + -label "Command Line" + -divider 0 + -subMenu 0 + -command "toggleUIComponentVisibility \"Command Line\"; updatePrefsMenu" + -altModifier 0 + -optionModifier 0 + -commandModifier 0 + -ctrlModifier 0 + -shiftModifier 0 + -optionBox 0 + -enable 1 + -data 0 + -radialPosition "NW" + -enableCommandRepeat 1 + -echoCommand 0 + -annotation "Toggle the Command Line on/off" + -italicized 0 + -boldFont 0 + menuItem322; + +setParent -m ..; + diff --git a/2009-x64/prefsThierry/menuSetPrefs.mel b/2009-x64/prefsThierry/menuSetPrefs.mel new file mode 100644 index 0000000..b615fae --- /dev/null +++ b/2009-x64/prefsThierry/menuSetPrefs.mel @@ -0,0 +1,17 @@ +//Menu Set Preferences ( 1.07) +// +// +menuSet -permanent 1 -hotBoxVisible 1 -label "Common" -menuArray { "mainFileMenu", "mainEditMenu", "mainModifyMenu", "mainCreateMenu", "mainDisplayMenu", "mainWindowMenu", "mainAssetsMenu" } commonMenuSet; +menuSet -moveMenuSet commonMenuSet 0; +menuSet -permanent 0 -hotBoxVisible 1 -label "Animation" -menuArray { "mainKeysMenu", "mainGeoCacheMenu", "mainDeformationsMenu", "mainEditDeformationsMenu", "mainSkeletonsMenu", "mainSkinningMenu", "mainConstraintsMenu", "mainCharactersMenu" } animationMenuSet; +menuSet -moveMenuSet animationMenuSet 1; +menuSet -permanent 0 -hotBoxVisible 1 -label "Polygons" -menuArray { "mainPolygonsSelectMenu", "mainPolygonsMeshMenu", "mainPolygonsEditMeshMenu", "mainPolygonsProxyMenu", "mainPolygonsNormalsMenu", "mainPolygonsColorMenu", "mainPolygonsCreateUVsMenu", "mainPolygonsEditUVsMenu" } polygonsMenuSet; +menuSet -moveMenuSet polygonsMenuSet 2; +menuSet -permanent 0 -hotBoxVisible 1 -label "Surfaces" -menuArray { "mainEditCurvesMenu", "mainSurfacesMenu", "mainEditSurfacesMenu", "mainSubdivSurfacesMenu" } surfacesMenuSet; +menuSet -moveMenuSet surfacesMenuSet 3; +menuSet -permanent 0 -hotBoxVisible 1 -label "Dynamics" -menuArray { "mainParticlesMenu", "mainFluidsMenu", "mainFluidsCacheMenu", "mainFieldsMenu", "mainDynBodiesMenu", "mainDynEffectsMenu", "mainDynSettingsMenu", "mainHairMenu" } dynamicsMenuSet; +menuSet -moveMenuSet dynamicsMenuSet 4; +menuSet -permanent 0 -hotBoxVisible 1 -label "Rendering" -menuArray { "mainShadingMenu", "mainRenTexturingMenu", "mainRenderMenu", "mainCartoonMenu", "mainCreatorMenu", "SBSHairMenu" } renderingMenuSet; +menuSet -moveMenuSet renderingMenuSet 5; +menuSet -permanent 0 -hotBoxVisible 1 -label "nDynamics" -menuArray { "mainNParticleMenu", "mainNMeshMenu", "mainNConstraintMenu", "mainNCacheMenu", "mainNSolverMenu", "mainFieldsMenu" } nDynamicsMenuSet; +menuSet -moveMenuSet nDynamicsMenuSet 6; diff --git a/2009-x64/prefsThierry/pluginPrefs.mel b/2009-x64/prefsThierry/pluginPrefs.mel new file mode 100644 index 0000000..5ed9942 --- /dev/null +++ b/2009-x64/prefsThierry/pluginPrefs.mel @@ -0,0 +1,12 @@ +//Maya Preference 2009 (Release 1) +// +// +evalDeferred("autoLoadPlugin(\"\", \"Fur\", \"Fur\")"); +evalDeferred("autoLoadPlugin(\"\", \"DirectConnect\", \"DirectConnect\")"); +evalDeferred("autoLoadPlugin(\"\", \"VectorRender\", \"VectorRender\")"); +evalDeferred("autoLoadPlugin(\"\", \"ikSpringSolver\", \"ikSpringSolver\")"); +evalDeferred("autoLoadPlugin(\"\", \"Mayatomr\", \"Mayatomr\")"); +evalDeferred("autoLoadPlugin(\"\", \"rotateHelper\", \"rotateHelper\")"); +evalDeferred("autoLoadPlugin(\"\", \"MayaMuscle\", \"MayaMuscle\")"); +evalDeferred("autoLoadPlugin(\"\", \"fbxmaya\", \"fbxmaya\")"); +evalDeferred("autoLoadPlugin(\"\", \"ik2Bsolver\", \"ik2Bsolver\")"); diff --git a/2009-x64/prefsThierry/scriptEditorTemp/commandExecuter b/2009-x64/prefsThierry/scriptEditorTemp/commandExecuter new file mode 100644 index 0000000..e69de29 diff --git a/2009-x64/prefsThierry/scriptEditorTemp/commandExecuter-0 b/2009-x64/prefsThierry/scriptEditorTemp/commandExecuter-0 new file mode 100644 index 0000000..e69de29 diff --git a/2009-x64/prefsThierry/shelves/shelf_Anim2Tools.mel b/2009-x64/prefsThierry/shelves/shelf_Anim2Tools.mel new file mode 100644 index 0000000..52fe06f --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Anim2Tools.mel @@ -0,0 +1,481 @@ +global proc shelf_Anim2Tools () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Curve Filter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "_filter" + -image "curveFilter.BMP" + -image1 "curveFilter.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "lpFilterCurves ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "autoTangent" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "autoTangnt.bmp" + -image1 "autoTangnt.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "autoTangent ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "selectFromCurve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "sel" + -image "zooGraphFilter.xpm" + -image1 "zooGraphFilter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "selectFromCurve ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "XRay" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toggleXRay.bmp" + -image1 "toggleXRay.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{\r\n string $currentPanel = `getPanel -underPointer`;\r\n if (\"\" == $currentPanel) \r\n {\r\n $currentPanel = `getPanel -withFocus`;\r\n }\r\n if (\"\" != $currentPanel) \r\n {\r\n string $panelType = `getPanel -typeOf $currentPanel`;\r\n if ($panelType == \"modelPanel\") \r\n {\r\n int $state = `modelEditor -q -xray $currentPanel`;\r\n modelEditor -e -xray (!$state) $currentPanel;\r\n }\r\n }\r\n}\r\n\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Pose Library" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "poses" + -image "poseLib.BMP" + -image1 "poseLib.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "poseLib ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Maya MotionTrail" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "maya" + -image "USERMENUICONEDITCURVES.BMP" + -image1 "USERMENUICONEDITCURVES.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doMotionTrail 1 { \"snapshot -motionTrail 1 -increment 1 -constructionHistory 1 -startTime `playbackOptions -query -min` -endTime `playbackOptions -query -max`\", \"point\", \"0\", \"force\"};\r\ndoMotionTrail 1 { \"snapshot -motionTrail 1 -increment 1 -constructionHistory 1 -startTime `playbackOptions -query -min` -endTime `playbackOptions -query -max`\", \"line\", \"0\", \"force\"};\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "cMotionTrail" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "motion" + -image "cMotion.BMP" + -image1 "cMotion.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cMotionTrailUI ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "zoomerate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "zoomerate.bmp" + -image1 "zoomerate.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "zoomerate ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Tween Machine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "tween" + -image "tweenMachine.xpm" + -image1 "tweenMachine.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "tweenMachine ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Icon2Shelf" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Icon" + -image "icon2shelf.BMP" + -image1 "icon2shelf.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "oaIcon2Shelf ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "load the zooShots UI - right click for additional options" + -docTag "zooToolBox" + -align "center" + -label "zooToolBox ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "zooToolBox.xpm" + -image1 "zooToolBox.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "zooToolBox;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "keyScaler;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Scale" + -image "USERSUBMENUCELL.BMP" + -image1 "USERSUBMENUCELL.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "keyScalerButtons;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "abxPicker ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "abxPicker.bmp" + -image1 "abxPicker.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "abxPicker ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "chinaMarker_GUI;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "chinaMarker.xpm" + -image1 "chinaMarker.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "source chinaMarker;\r\nchinaMarker_GUI;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "jsMakePickWalkUI ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "jsPickWalkUI.BMP" + -image1 "jsPickWalkUI.BMP" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "source jsPickWalk.mel ;\r\njsMakePickWalkUI ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "zooTransfer ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "zooXferAnim.xpm" + -image1 "zooXferAnim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "zooXferAnim" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "zooShots.xpm" + -image1 "zooShots.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "zooShots" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "sds_mocap_cleaner ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "clean" + -image "zooKeyCommands.xpm" + -image1 "zooKeyCommands.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "sds_mocap_cleaner ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "hotkeyman ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "zooHotkeyer.xpm" + -image1 "zooHotkeyer.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "hotkeyman ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "rivet ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rivet.bmp" + -image1 "rivet.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "rivet ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "animFood ;" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "Food" + -image "mouth.bmp" + -image1 "mouth.bmp" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "animFood ;" + -sourceType "mel" + -actionIsSubstitute 0 + -commandRepeatable 1 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Animation.mel b/2009-x64/prefsThierry/shelves/shelf_Animation.mel new file mode 100644 index 0000000..3a4d0e6 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Animation.mel @@ -0,0 +1,597 @@ +global proc shelf_Animation () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set Key: Select object(s) to key" + -align "center" + -label "Set Key" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "setKeyframe.xpm" + -image1 "setKeyframe.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SetKey" + -sourceType "mel" + -doubleClickCommand "SetKeyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach to Motion Path: Select object(s) to animate along a motion path, followed by the motion path curve" + -align "center" + -label "Attach to Motion Path" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "motionPath.xpm" + -image1 "motionPath.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachToPath" + -sourceType "mel" + -doubleClickCommand "AttachToPathOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set Motion Path Key: Select object to key a motion path" + -align "center" + -label "Set Motion Path Key" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "motionPathKey.xpm" + -image1 "motionPathKey.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SetKeyPath" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Motion Trail: Select object(s) to generate a motion trail over time" + -align "center" + -label "Motion Trail" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "motionTrail.xpm" + -image1 "motionTrail.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateMotionTrail" + -sourceType "mel" + -doubleClickCommand "CreateMotionTrailOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ghosting: Display ghosts for objects" + -align "center" + -label "Ghosting" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ghost.xpm" + -image1 "ghost.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "GhostObject" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "No Ghosting: Do not display ghosts for objects" + -align "center" + -label "No Ghosting" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ghostOff.xpm" + -image1 "ghostOff.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "UnghostObject" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Joint Tool: Click to place joint, click on existing joint to add to skeleton, click/drag to position joint" + -align "center" + -label "Joint Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinJoint.xpm" + -image1 "kinJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "JointTool" + -sourceType "mel" + -doubleClickCommand "JointToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "IK Handle Tool: Create IK handle on joint chain" + -align "center" + -label "IK Handle Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinHandle.xpm" + -image1 "kinHandle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IKHandleTool" + -sourceType "mel" + -doubleClickCommand "IKHandleToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Connect Joint: Select two joints to connect" + -align "center" + -label "Connect Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinConnect.xpm" + -image1 "kinConnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ConnectJoint" + -sourceType "mel" + -doubleClickCommand "ConnectJointOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Disconnect Joint: Select a joint to disconnect" + -align "center" + -label "Disconnect Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinDisconnect.xpm" + -image1 "kinDisconnect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DisconnectJoint" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reroot Skeleton: Select a joint to be the new root" + -align "center" + -label "Reroot Skeleton" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinReroot.xpm" + -image1 "kinReroot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RerootSkeleton" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Remove Joint: Select a joint to remove" + -align "center" + -label "Remove Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinRemove.xpm" + -image1 "kinRemove.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RemoveJoint" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror Joint: Select a joint to mirror" + -align "center" + -label "Mirror Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinMirrorJoint_S.xpm" + -image1 "kinMirrorJoint_S.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorJoint" + -sourceType "mel" + -doubleClickCommand "MirrorJointOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Orient Joint: Select a joint to orient" + -align "center" + -label "Orient Joint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "orientJoint.xpm" + -image1 "orientJoint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OrientJoint" + -sourceType "mel" + -doubleClickCommand "OrientJointOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "IK Spline Handle Tool: Create IK spline handle on joint chain" + -align "center" + -label "IK Spline Handle Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "kinSplineHandle.xpm" + -image1 "kinSplineHandle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IKSplineHandleTool" + -sourceType "mel" + -doubleClickCommand "IKSplineHandleToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smooth Bind: Smooth bind skin" + -align "center" + -label "Smooth Bind" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "smoothSkin.xpm" + -image1 "smoothSkin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SmoothBindSkin" + -sourceType "mel" + -doubleClickCommand "SmoothBindSkinOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror Skin Weights: Mirror skin weights" + -align "center" + -label "Mirror Skin Weights" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "mirrorSkinWeight.xpm" + -image1 "mirrorSkinWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorSkinWeights" + -sourceType "mel" + -doubleClickCommand "MirrorSkinWeightsOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Copy Skin Weights: Copy skin weights" + -align "center" + -label "Copy Skin Weights" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "copySkinWeight.xpm" + -image1 "copySkinWeight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CopySkinWeights" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Export Skin Weight Maps: Export skin weight maps" + -align "center" + -label "Export Skin Weight Maps" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "exportSmoothSkin.xpm" + -image1 "exportSmoothSkin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExportSkinWeightMaps" + -sourceType "mel" + -doubleClickCommand "ExportSkinWeightMapsOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Import Skin Weight Maps: Import skin weight maps" + -align "center" + -label "Import Skin Weight Maps" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "importSmoothSkin.xpm" + -image1 "importSmoothSkin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ImportSkinWeightMaps" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Skin Weights Tool: Paint weights on smooth bound skins" + -align "center" + -label "Paint Skin Weights Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintSkinWeights.xpm" + -image1 "paintSkinWeights.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ArtPaintSkinWeightsTool" + -sourceType "mel" + -doubleClickCommand "ArtPaintSkinWeightsToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Locator: Create a locator object on the grid" + -align "center" + -label "Locator" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "locator.xpm" + -image1 "locator.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateLocator" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Point Constraint: Point constraint" + -align "center" + -label "Point Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posConstraint.xpm" + -image1 "posConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PointConstraint" + -sourceType "mel" + -doubleClickCommand "PointConstraintOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Aim Constraint: Aim constraint" + -align "center" + -label "Aim Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "aimConstraint.xpm" + -image1 "aimConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AimConstraint" + -sourceType "mel" + -doubleClickCommand "AimConstraintOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Orient Constraint: Orient constraint" + -align "center" + -label "Orient Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "orientConstraint.xpm" + -image1 "orientConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OrientConstraint" + -sourceType "mel" + -doubleClickCommand "OrientConstraintOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Parent Constraint: Parent constraint" + -align "center" + -label "Parent Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "parentConstraint.xpm" + -image1 "parentConstraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ParentConstraint" + -sourceType "mel" + -doubleClickCommand "ParentConstraintOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Curves.mel b/2009-x64/prefsThierry/shelves/shelf_Curves.mel new file mode 100644 index 0000000..75f40fc --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Curves.mel @@ -0,0 +1,305 @@ +global proc shelf_Curves () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Circle: Create a NURBS circle on the grid" + -align "center" + -label "NURBS Circle" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "circle.xpm" + -image1 "circle.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCircle" + -sourceType "mel" + -doubleClickCommand "CreateNURBSCircleOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Square: Create a NURBS square on the grid" + -align "center" + -label "NURBS Square" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "square.xpm" + -image1 "square.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSSquare" + -sourceType "mel" + -doubleClickCommand "CreateNURBSSquareOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "EP Curve Tool: Create a curve on the grid or live surface specifying edit points" + -align "center" + -label "EP Curve Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveEP.xpm" + -image1 "curveEP.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EPCurveTool" + -sourceType "mel" + -doubleClickCommand "EPCurveToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Pencil Curve Tool: Create a curve on the grid or live surface" + -align "center" + -label "Pencil Curve Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pencil.xpm" + -image1 "pencil.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PencilCurveTool" + -sourceType "mel" + -doubleClickCommand "PencilCurveToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Three Point Circular Arc: Create a circular arc on the grid specifying three points" + -align "center" + -label "Three Point Circular Arc" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "threePointArc.xpm" + -image1 "threePointArc.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ThreePointArcTool" + -sourceType "mel" + -doubleClickCommand "ThreePointArcToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach Curves: Select two curves" + -align "center" + -label "Attach Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "attachCurves.xpm" + -image1 "attachCurves.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachCurve" + -sourceType "mel" + -doubleClickCommand "AttachCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Detach Curves: Select curve parameter point(s)" + -align "center" + -label "Detach Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "detachCurve.xpm" + -image1 "detachCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DetachCurve" + -sourceType "mel" + -doubleClickCommand "DetachCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Insert Knot: Select curve parameter point(s)" + -align "center" + -label "Insert Knot" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "insertKnot.xpm" + -image1 "insertKnot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InsertKnot" + -sourceType "mel" + -doubleClickCommand "InsertKnotOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extend Curve: Select curve(s) or curve on surface(s)" + -align "center" + -label "Extend Curve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "extend.xpm" + -image1 "extend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtendCurve" + -sourceType "mel" + -doubleClickCommand "ExtendCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Offset Curve: Select a curve, curve on surface, isoparm or trim edge" + -align "center" + -label "Offset Curve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "offsetCurve.xpm" + -image1 "offsetCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OffsetCurve" + -sourceType "mel" + -doubleClickCommand "OffsetCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rebuild Curve: Select curve(s) or curve on surface(s)" + -align "center" + -label "Rebuild Curve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rebuildCurve.xpm" + -image1 "rebuildCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RebuildCurve" + -sourceType "mel" + -doubleClickCommand "RebuildCurveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add Points Tool: Select the curve to add points" + -align "center" + -label "Add Points Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveAddPt.xpm" + -image1 "curveAddPt.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AddPointsTool" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Curve Editing Tool: Select a curve or curve on surface" + -align "center" + -label "Curve Editing Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "curveEditor.xpm" + -image1 "curveEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CurveEditTool" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Custom.mel b/2009-x64/prefsThierry/shelves/shelf_Custom.mel new file mode 100644 index 0000000..146b887 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Custom.mel @@ -0,0 +1,8 @@ +global proc shelf_Custom () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Deformation.mel b/2009-x64/prefsThierry/shelves/shelf_Deformation.mel new file mode 100644 index 0000000..f837bdf --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Deformation.mel @@ -0,0 +1,261 @@ +global proc shelf_Deformation () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lattice: Create a lattice for the selected object(s)" + -align "center" + -label "Lattice" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lattice.xpm" + -image1 "lattice.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateLattice" + -sourceType "mel" + -doubleClickCommand "CreateLatticeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wrap: Select object(s), and then an influence object to wrap them with" + -align "center" + -label "Wrap" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "wrap.xpm" + -image1 "wrap.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateWrap" + -sourceType "mel" + -doubleClickCommand "CreateWrapOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Bend: Select object(s) to bend" + -align "center" + -label "Nonlinear Bend" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "bendNLD.xpm" + -image1 "bendNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Bend" + -sourceType "mel" + -doubleClickCommand "BendOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Flare: Select object(s) to flare" + -align "center" + -label "Nonlinear Flare" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flareNLD.xpm" + -image1 "flareNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Flare" + -sourceType "mel" + -doubleClickCommand "FlareOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Sine: Select object(s) to apply a sine deformation to" + -align "center" + -label "Nonlinear Sine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sineNLD.xpm" + -image1 "sineNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Sine" + -sourceType "mel" + -doubleClickCommand "SineOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Squash: Select object(s) to squash" + -align "center" + -label "Nonlinear Squash" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "squashNLD.xpm" + -image1 "squashNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Squash" + -sourceType "mel" + -doubleClickCommand "SquashOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Twist: Select object(s) to twist" + -align "center" + -label "Nonlinear Twist" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "twistNLD.xpm" + -image1 "twistNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Twist" + -sourceType "mel" + -doubleClickCommand "TwistOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Nonlinear Wave: Select object(s) to apply a wave deformation to" + -align "center" + -label "Nonlinear Wave" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "waveNLD.xpm" + -image1 "waveNLD.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Wave" + -sourceType "mel" + -doubleClickCommand "WaveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Deformer: Select object(s) to sculpt" + -align "center" + -label "Sculpt Deformer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sculpt.xpm" + -image1 "sculpt.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSculptDeformer" + -sourceType "mel" + -doubleClickCommand "CreateSculptDeformerOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wire Tool: Select object(s) to deform, then select curve(s) to act as wire deformers" + -align "center" + -label "Wire Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "wire.xpm" + -image1 "wire.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "WireTool" + -sourceType "mel" + -doubleClickCommand "WireToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Blend Shape: Select two or more objects to blend between; Select the base shape last" + -align "center" + -label "Blend Shape" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "blendShape.xpm" + -image1 "blendShape.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateBlendShape" + -sourceType "mel" + -doubleClickCommand "CreateBlendShapeOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Dynamics.mel b/2009-x64/prefsThierry/shelves/shelf_Dynamics.mel new file mode 100644 index 0000000..2f3002b --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Dynamics.mel @@ -0,0 +1,581 @@ +global proc shelf_Dynamics () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Emitter: Create an emitter on the grid or live object" + -align "center" + -label "Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posEmitter.xpm" + -image1 "posEmitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateEmitter" + -sourceType "mel" + -doubleClickCommand "CreateEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add Emitter: Select the object(s) to emit particles" + -align "center" + -label "Add Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "emitter.xpm" + -image1 "emitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EmitFromObject" + -sourceType "mel" + -doubleClickCommand "EmitFromObjectOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Collide: Select particle object, then select one geometry object to collide with" + -align "center" + -label "Make Collide" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "collision.xpm" + -image1 "collision.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakeCollide" + -sourceType "mel" + -doubleClickCommand "MakeCollideOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Air: Create an air field. Select objects to be affected by the field" + -align "center" + -label "Air" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posAir.xpm" + -image1 "posAir.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Air" + -sourceType "mel" + -doubleClickCommand "AirOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Drag: Create a drag field. Select objects to be affected by the field" + -align "center" + -label "Drag" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posDrag.xpm" + -image1 "posDrag.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Drag" + -sourceType "mel" + -doubleClickCommand "DragOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Gravity: Create a gravity field. Select objects to be affected by the field" + -align "center" + -label "Gravity" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posGravity.xpm" + -image1 "posGravity.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Gravity" + -sourceType "mel" + -doubleClickCommand "GravityOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Newton: Create a newton field. Select objects to be affected by the field" + -align "center" + -label "Newton" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posNewton.xpm" + -image1 "posNewton.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Newton" + -sourceType "mel" + -doubleClickCommand "NewtonOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Radial: Create a radial field. Select objects to be affected by the field" + -align "center" + -label "Radial" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posRadial.xpm" + -image1 "posRadial.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Radial" + -sourceType "mel" + -doubleClickCommand "RadialOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Turbulence: Create a turbulence field. Select objects to be affected by the field" + -align "center" + -label "Turbulence" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posTurbulence.xpm" + -image1 "posTurbulence.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Turbulence" + -sourceType "mel" + -doubleClickCommand "TurbulenceOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Uniform: Create a unform field. Select objects to be affected by the field" + -align "center" + -label "Uniform" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posUniform.xpm" + -image1 "posUniform.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Uniform" + -sourceType "mel" + -doubleClickCommand "UniformOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Vortex: Create a vortex field. Select objects to be affected by the field" + -align "center" + -label "Vortex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posVortex.xpm" + -image1 "posVortex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Vortex" + -sourceType "mel" + -doubleClickCommand "VortexOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Volume Axis: Create a volume axis field. Select objects to be affected by the field" + -align "center" + -label "Volume Axis" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "posVolumeAxis.xpm" + -image1 "posVolumeAxis.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "VolumeAxis" + -sourceType "mel" + -doubleClickCommand "VolumeAxisOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Use Selected Object as Source of Field: Select field, then select object to be its source" + -align "center" + -label "Use Selected Object as Source of Field" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "menuIconFields.xpm" + -image1 "menuIconFields.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachSelectedAsSourceField" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Affect Selected Object(s): Select object(s) to be affected, then select field" + -align "center" + -label "Affect Selected Object(s)" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "connectField.xpm" + -image1 "connectField.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AffectSelectedObject" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Active Rigid Body: Select geometry objects to create rigid bodies" + -align "center" + -label "Active Rigid Body" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rigid.xpm" + -image1 "rigid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateActiveRigidBody" + -sourceType "mel" + -doubleClickCommand "CreateActiveRigidBodyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Passive Rigid Body: Select geometry objects to create rigid bodies" + -align "center" + -label "Passive Rigid Body" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rigidPassive.xpm" + -image1 "rigidPassive.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePassiveRigidBody" + -sourceType "mel" + -doubleClickCommand "CreatePassiveRigidBodyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Constraint: Select rigid bodies to be constrained" + -align "center" + -label "Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "constraint.xpm" + -image1 "constraint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateConstraint" + -sourceType "mel" + -doubleClickCommand "CreateConstraintOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fire: Create fire effect" + -align "center" + -label "Fire" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fire.xpm" + -image1 "fire.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Fire" + -sourceType "mel" + -doubleClickCommand "FireOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smoke: Create smoke effect" + -align "center" + -label "Smoke" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "smoke.xpm" + -image1 "smoke.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Smoke" + -sourceType "mel" + -doubleClickCommand "SmokeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fireworks: Create fireworks effect" + -align "center" + -label "Fireworks" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fireworks.xpm" + -image1 "fireworks.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Fireworks" + -sourceType "mel" + -doubleClickCommand "FireworksOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lightning: Create lightning effect" + -align "center" + -label "Lightning" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lightning.xpm" + -image1 "lightning.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Lightning" + -sourceType "mel" + -doubleClickCommand "LightningOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shatter: Create shatter effects" + -align "center" + -label "Shatter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "shatter.xpm" + -image1 "shatter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Shatter" + -sourceType "mel" + -doubleClickCommand "ShatterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Curve Flow: Create flow along curves" + -align "center" + -label "Curve Flow" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flow.xpm" + -image1 "flow.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CurveFlow" + -sourceType "mel" + -doubleClickCommand "CurveFlowOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Flow: Create flow along surfaces" + -align "center" + -label "Surface Flow" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flowSurface.xpm" + -image1 "flowSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SurfaceFlow" + -sourceType "mel" + -doubleClickCommand "SurfaceFlowOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Surface Flow: Delete flow along surfaces" + -align "center" + -label "Delete Surface Flow" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flowSurfaceDelete.xpm" + -image1 "flowSurfaceDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteSurfaceFlow" + -sourceType "mel" + -doubleClickCommand "DeleteSurfaceFlowOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Fluids.mel b/2009-x64/prefsThierry/shelves/shelf_Fluids.mel new file mode 100644 index 0000000..99b3c7c --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Fluids.mel @@ -0,0 +1,416 @@ +global proc shelf_Fluids () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "3D Fluid Container: Create a 3D fluid container" + -align "center" + -label "3D Fluid Container" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate3D.xpm" + -image1 "fluidCreate3D.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create3DContainer" + -sourceType "mel" + -doubleClickCommand "Create3DContainerOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "2D Fluid Container: Create a 2D fluid container" + -align "center" + -label "2D Fluid Container" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate2D.xpm" + -image1 "fluidCreate2D.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create2DContainer" + -sourceType "mel" + -doubleClickCommand "Create2DContainerOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Fluids Tool: Paint fluid properties" + -align "center" + -label "Paint Fluids Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidPaint.xpm" + -image1 "fluidPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintFluidsTool" + -sourceType "mel" + -doubleClickCommand "PaintFluidsToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "3D Fluid Container with Emitter: Create an emitter and a 3D fluid container" + -align "center" + -label "3D Fluid Container with Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate3DEmitter.xpm" + -image1 "fluidCreate3DEmitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create3DContainerEmitter" + -sourceType "mel" + -doubleClickCommand "Create3DContainerEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "2D Fluid Container with Emitter: Create an emitter and a 2D fluid container" + -align "center" + -label "2D Fluid Container with Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCreate2DEmitter.xpm" + -image1 "fluidCreate2DEmitter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Create2DContainerEmitter" + -sourceType "mel" + -doubleClickCommand "Create2DContainerEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Fluid Emitter: Create an emitter and attach it to a fluid shape" + -align "center" + -label "Fluid Emitter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidEmitterAdd.xpm" + -image1 "fluidEmitterAdd.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FluidEmitter" + -sourceType "mel" + -doubleClickCommand "FluidEmitterOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ocean Material: Assign a new ocean material to the active objects" + -align "center" + -label "Ocean Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_oceanShader.xpm" + -image1 "render_oceanShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader oceanShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Emit Fluid from Object: Select a fluid and the emitting object(s)" + -align "center" + -label "Emit Fluid from Object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidObjectEmit.xpm" + -image1 "fluidObjectEmit.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EmitFluidFromObject" + -sourceType "mel" + -doubleClickCommand "EmitFluidFromObjectOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extend Fluid Resolution: Extend fluid resolution, preserving contents and voxel size" + -align "center" + -label "Extend Fluid Resolution" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidExtend.xpm" + -image1 "fluidExtend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtendFluid" + -sourceType "mel" + -doubleClickCommand "ExtendFluidOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Edit Fluid Resolution: Modify fluid resolution, preserving contents" + -align "center" + -label "Edit Fluid Resolution" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidEditRes.xpm" + -image1 "fluidEditRes.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "EditFluidResolution" + -sourceType "mel" + -doubleClickCommand "EditFluidResolutionOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Collide: Select fluid object(s) and geometry object(s) to collide" + -align "center" + -label "Make Collide" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCollide.xpm" + -image1 "fluidCollide.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakeFluidCollide" + -sourceType "mel" + -doubleClickCommand "MakeFluidCollideOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Set Initial State: Set current state of fluid as its initial conditions" + -align "center" + -label "Set Initial State" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidInitialStateSet.xpm" + -image1 "fluidInitialStateSet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SetInitialState" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Clear Initial State: Remove previously set initial conditions" + -align "center" + -label "Clear Initial State" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidInitialStateClear.xpm" + -image1 "fluidInitialStateClear.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ClearInitialState" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Cache: Runup to create playback and render cache" + -align "center" + -label "Create Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheCreate.xpm" + -image1 "fluidCacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateFluidCache" + -sourceType "mel" + -doubleClickCommand "CreateFluidCacheOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Append to Cache: Append frame range to cache" + -align "center" + -label "Append to Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheAppend.xpm" + -image1 "fluidCacheAppend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AppendToFluidCache" + -sourceType "mel" + -doubleClickCommand "AppendToFluidCacheOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Truncate Cache: Truncate cache to current frame" + -align "center" + -label "Truncate Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheTruncate.xpm" + -image1 "fluidCacheTruncate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TruncateFluidCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Replace Cache Frame: Replace cache contents at current frame with current contents of fluid" + -align "center" + -label "Replace Cache Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheReplace.xpm" + -image1 "fluidCacheReplace.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReplaceFrameInCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Cache: Remove saved cache" + -align "center" + -label "Delete Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "fluidCacheDelete.xpm" + -image1 "fluidCacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteFluidCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Fur.mel b/2009-x64/prefsThierry/shelves/shelf_Fur.mel new file mode 100644 index 0000000..08caf87 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Fur.mel @@ -0,0 +1,404 @@ +global proc shelf_Fur () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bear: Apply the bear fur preset to the selected object(s)" + -align "center" + -label "Bear" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furBear.xpm" + -image1 "furBear.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Bear;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bison: Apply the bison fur preset to the selected object(s)" + -align "center" + -label "Bison" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furBison.xpm" + -image1 "furBison.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Bison;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Calico Cat: Apply the calico cat fur preset to the selected object(s)" + -align "center" + -label "Calico Cat" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furCalicoCat.xpm" + -image1 "furCalicoCat.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset CalicoCat;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Dreadlocks: Apply the dreadlocks fur preset to the selected object(s)" + -align "center" + -label "Dreadlocks" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furDreadlocks.xpm" + -image1 "furDreadlocks.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Dreadlocks;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Duckling: Apply the duckling fur preset to the selected object(s)" + -align "center" + -label "Duckling" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furDuckling.xpm" + -image1 "furDuckling.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Duckling;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Gorilla: Apply the gorilla fur preset to the selected object(s)" + -align "center" + -label "Gorilla" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furGorilla.xpm" + -image1 "furGorilla.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Gorilla;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Grass: Apply the grass fur preset to the selected object(s)" + -align "center" + -label "Grass" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furGrass.xpm" + -image1 "furGrass.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Grass;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lion Mane: Apply the lion mane fur preset to the selected object(s)" + -align "center" + -label "Lion Mane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furLionMane.xpm" + -image1 "furLionMane.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset LionMane;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Llama: Apply the llama fur preset to the selected object(s)" + -align "center" + -label "Llama" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furLlama.xpm" + -image1 "furLlama.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Llama;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mouse: Apply the mouse fur preset to the selected object(s)" + -align "center" + -label "Mouse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furMouse.xpm" + -image1 "furMouse.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Mouse;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polar Bear: Apply the polar bear fur preset to the selected object(s)" + -align "center" + -label "Polar Bear" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furPolarBear.xpm" + -image1 "furPolarBear.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset PolarBear;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Porcupine: Apply the porcupine fur preset to the selected object(s)" + -align "center" + -label "Porcupine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furPorcupine.xpm" + -image1 "furPorcupine.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Porcupine;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Punk: Apply the punk fur preset to the selected object(s)" + -align "center" + -label "Punk" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furPunk.xpm" + -image1 "furPunk.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Punk;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Raccoon: Apply the raccoon fur preset to the selected object(s)" + -align "center" + -label "Raccoon" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furRaccoon.xpm" + -image1 "furRaccoon.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Raccoon;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sheep: Apply the sheep fur preset to the selected object(s)" + -align "center" + -label "Sheep" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furSheep.xpm" + -image1 "furSheep.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Sheep;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Squirrel: Apply the squirrel fur preset to the selected object(s)" + -align "center" + -label "Squirrel" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furSquirrel.xpm" + -image1 "furSquirrel.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset Squirrel;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wet Labrador: Apply the wet labrador fur preset to the selected object(s)" + -align "center" + -label "Wet Labrador" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furWetLabrador.xpm" + -image1 "furWetLabrador.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset WetLabrador;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Wet Otter: Apply the wet otter fur preset to the selected object(s)" + -align "center" + -label "Wet Otter" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "furWetOtter.xpm" + -image1 "furWetOtter.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "applyFurPreset WetOtter;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_General.mel b/2009-x64/prefsThierry/shelves/shelf_General.mel new file mode 100644 index 0000000..fba1914 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_General.mel @@ -0,0 +1,412 @@ +global proc shelf_General () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Learning Movies: Shows movies demonstrating basic concepts" + -align "center" + -label "Learning Movies" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "LearningMovies.xpm" + -image1 "LearningMovies.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "mayaLearningMoviesPage" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Help" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "menuIconHelp.xpm" + -image1 "menuIconHelp.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "checkHelpPrefs `about -uiLanguage`" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Tumble Tool: Rotate the point of view around the centre of interest (Alt + LMB)" + -align "center" + -label "Tumble Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "tumble.xpm" + -image1 "tumble.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TumbleTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Track Tool: Track the camera (Alt + MMB)" + -align "center" + -label "Track Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "track.xpm" + -image1 "track.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TrackTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Dolly Tool: Move the camera in and out (Alt + RMB)" + -align "center" + -label "Dolly Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "dolly.xpm" + -image1 "dolly.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DollyTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Zoom Tool: Zoom the camera in and out" + -align "center" + -label "Zoom Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "boxZoom.xpm" + -image1 "boxZoom.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ZoomTool" + -sourceType "mel" + -doubleClickCommand "ToolSettingsWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Undo: Undo the last action" + -align "center" + -label "Undo" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "undo.xpm" + -image1 "undo.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Undo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Redo: Redo the last undone action" + -align "center" + -label "Redo" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "redo.xpm" + -image1 "redo.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Redo" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete: Delete the selected object(s)" + -align "center" + -label "Delete" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "deleteActive.xpm" + -image1 "deleteActive.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Delete" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Group: Group the selected object(s)" + -align "center" + -label "Group" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "group.xpm" + -image1 "group.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Group" + -sourceType "mel" + -doubleClickCommand "GroupOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ungroup: Ungroup the selected object(s)" + -align "center" + -label "Ungroup" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ungroup.xpm" + -image1 "ungroup.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Ungroup" + -sourceType "mel" + -doubleClickCommand "UngroupOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Parent: Parent the selected object(s) to the last selected object" + -align "center" + -label "Parent" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "parent.xpm" + -image1 "parent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Parent" + -sourceType "mel" + -doubleClickCommand "ParentOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Unparent: Unparent the selected object(s)" + -align "center" + -label "Unparent" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "unparent.xpm" + -image1 "unparent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Unparent" + -sourceType "mel" + -doubleClickCommand "UnparentOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Hypergraph: Display and edit relationships among nodes in your scene graphically" + -align "center" + -label "Hypergraph" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hypergraph.xpm" + -image1 "hypergraph.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "HypergraphWindow" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select by hierarchy and combinations" + -align "center" + -label "Select by Hierarchy" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "selectByHierarchy.xpm" + -image1 "selectByHierarchy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "changeSelectMode -hierarchical" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select by object type" + -align "center" + -label "Select by Object" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "selectByObject.xpm" + -image1 "selectByObject.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "changeSelectMode -object" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select by component type" + -align "center" + -label "Select by Component" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "selectByComponent.xpm" + -image1 "selectByComponent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "changeSelectMode -component" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Selection Tool: Paint selection of CVs, vertices, faces, and edges" + -align "center" + -label "Paint Selection Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "artSelect.xpm" + -image1 "artSelect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ArtPaintSelectTool" + -sourceType "mel" + -doubleClickCommand "ArtPaintSelectToolOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Hair.mel b/2009-x64/prefsThierry/shelves/shelf_Hair.mel new file mode 100644 index 0000000..320eb82 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Hair.mel @@ -0,0 +1,536 @@ +global proc shelf_Hair () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Hair: Create hair options" + -align "center" + -label "Create Hair" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCreate.xpm" + -image1 "hairCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateHairOptions" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint hair tool options" + -align "center" + -label "Paint Hair Tool Options" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairPaint.xpm" + -image1 "hairPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintHairTool 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Selected Curves Dynamic: Make selected curves dynamic" + -align "center" + -label "Make Selected Curves Dynamic" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDynamicCurves.xpm" + -image1 "hairDynamicCurves.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakeCurvesDynamic" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Interactive Playback: Allows interaction with objects during playback" + -align "center" + -label "Interactive Playback" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "interactivePlayback.xpm" + -image1 "interactivePlayback.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InteractivePlayback" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Current Position: Display current position curves or pfxHair for selected or all hair systems" + -align "center" + -label "Current Position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayCurrent.xpm" + -image1 "hairDisplayCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"current\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Start Position: Display start position curves for selected or all hair systems" + -align "center" + -label "Start Position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayStart.xpm" + -image1 "hairDisplayStart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"start\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rest Position: Display rest position curves for selected or all hair systems" + -align "center" + -label "Rest Position" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayRest.xpm" + -image1 "hairDisplayRest.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"rest\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Hair Systems: Select hair system nodes related to current selection" + -align "center" + -label "To Hair Systems" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertHairSystem.xpm" + -image1 "hairConvertHairSystem.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"hairSystems\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Follicles: Select follicles related to current selection" + -align "center" + -label "To Follicles" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertFollicles.xpm" + -image1 "hairConvertFollicles.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"follicles\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Start Curves: Select start curves related to current selection" + -align "center" + -label "To Start Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertStart.xpm" + -image1 "hairConvertStart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"startCurves\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Rest Curves: Select rest curves related to current selection" + -align "center" + -label "To Rest Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertRest.xpm" + -image1 "hairConvertRest.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"restCurves\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Scale Hair Tool: Select hairs (directly or indirectly) then drag left and right to scale" + -align "center" + -label "Scale Hair Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairScaleTool.xpm" + -image1 "hairScaleTool.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "scaleHairCtx" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Start Curve End CVs: Select start curve end CVs related to current selection" + -align "center" + -label "To Start Curve End CVs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertStartEndCVs.xpm" + -image1 "hairConvertStartEndCVs.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"startCurveEndCvs\"\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "To Rest Curve End CVs: Select rest curve end CVs related to current selection" + -align "center" + -label "To Rest Curve End CVs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairConvertRestEndCVs.xpm" + -image1 "hairConvertRestEndCVs.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "convertHairSelection \"restCurveEndCvs\"\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collide Sphere: Create a collide sphere constraint for selected hairs" + -align "center" + -label "Collide Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCollideSphere.xpm" + -image1 "hairCollideSphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createHairConstraint 5" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collide Cube: Create a collide cube constraint for selected hairs" + -align "center" + -label "Collide Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCollideCube.xpm" + -image1 "hairCollideCube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createHairConstraint 6" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "From Current: Set start position to current position for selected hairs" + -align "center" + -label "From Current" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairStartFromCurrent.xpm" + -image1 "hairStartFromCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setSelectedHairCurves \"current\" \"start\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Current and Start: Display current and start position curves for selected or all hair systems" + -align "center" + -label "Current and Start" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayCurrentStart.xpm" + -image1 "hairDisplayCurrentStart.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"currentAndStart\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "From Current: Set rest position to current position for selected hairs" + -align "center" + -label "From Current" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairRestFromCurrent.xpm" + -image1 "hairRestFromCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setSelectedHairCurves \"current\" \"rest\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Current and Rest: Display current and rest position curves for selected or all hair systems" + -align "center" + -label "Current and Rest" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairDisplayCurrentRest.xpm" + -image1 "hairDisplayCurrentRest.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayHairCurves \"currentAndRest\" 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Cache: Create hair cache options" + -align "center" + -label "Create Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheCreate.xpm" + -image1 "hairCacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateHairCacheOptions" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Append to Cache: Append to hair cache options" + -align "center" + -label "Append to Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheAppend.xpm" + -image1 "hairCacheAppend.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AppendToHairCacheOptions" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Truncate Cache: Truncate hair cache to current frame" + -align "center" + -label "Truncate Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheTruncate.xpm" + -image1 "hairCacheTruncate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TruncateHairCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete Cache: Remove saved hair cache" + -align "center" + -label "Delete Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairCacheDelete.xpm" + -image1 "hairCacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DeleteHairCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_PaintEffects.mel b/2009-x64/prefsThierry/shelves/shelf_PaintEffects.mel new file mode 100644 index 0000000..cc7c952 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_PaintEffects.mel @@ -0,0 +1,954 @@ +global proc shelf_PaintEffects () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects Tool: Draw strokes on paintable surfaces or the ground plane" + -align "center" + -label "Paint Effects Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintEffectsTool.xpm" + -image1 "paintEffectsTool.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsTool" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Make Paintable: Make the selected surface(s) paintable, and other surfaces not paintable" + -align "center" + -label "Make Paintable" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "makePaintable.xpm" + -image1 "makePaintable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MakePaintable" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Get Brush: Select a Paint Effects brush from a folder in the Visor" + -align "center" + -label "Get Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintEffectsBrushesLarge.xpm" + -image1 "paintEffectsBrushesLarge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "{VisorWindow;string $pnl=visorPanelName();if(size($pnl)>0) visorPanelMenuCommand( $pnl, \"selectOrCreateTabByLabel Paint Effects\");}" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Template Brush Settings: Edit the brush settings which will be applied to subsequent strokes" + -align "center" + -label "Template Brush Settings" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "templateBrushSettings.xpm" + -image1 "templateBrushSettings.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TemplateBrushSettings" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects to Polygons: Paint Effects to polygons" + -align "center" + -label "Paint Effects to Polygons" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintFXtoPoly.xpm" + -image1 "paintFXtoPoly.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToPoly" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects to Curves: Paint Effects to curve" + -align "center" + -label "Paint Effects to Curves" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintFXtoCurve.xpm" + -image1 "paintFXtoCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToCurve" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint Effects to NURBS: Paint Effects to NURBS" + -align "center" + -label "Paint Effects to NURBS" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "paintFXtoNurbs.xpm" + -image1 "paintFXtoNurbs.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToNurbs" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Teapot Brush: Select teapot brush for painting" + -align "center" + -label "Teapot Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "teapot.xpm" + -image1 "teapot.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.895; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 1; bPset \"brushType\" 5; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 12.8096; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.809920013; bPset \"color1G\" 0.7985452414; bPset \"color1B\" 0.7888621092; bPset \"color2R\" 0.8429800272; bPset \"color2G\" 0.8264141679; bPset \"color2B\" 0.8210625648; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.9471866488; bPset \"specularColorB\" 0.7279999852; bPset \"specular\" 0.6; bPset \"specularPower\" 206.71; bPset \"translucence\" 0.3; bPset \"glow\" 0; bPset \"glowColorR\" 0.5333333611; bPset \"glowColorG\" 0.5333333611; bPset \"glowColorB\" 0.5333333611; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.6504; bPset \"realLights\" 1; bPset \"lightDirectionX\" -0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.07; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.4; bPset \"lengthMin\" 0.4; bPset \"segments\" 66; bPset \"tubeWidth1\" 0.5; bPset \"tubeWidth2\" 0.5; bPset \"widthRand\" 0; bPset \"widthBias\" -0.262; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 1; bPset \"elevationMax\" 1; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" -0.2562; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 7.7661; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 1.26698; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 5; bPset \"splitRand\" 0.17476; bPset \"splitAngle\" 26.214; bPset \"splitSizeDecay\" 0.6602; bPset \"splitBias\" 0.00972; bPset \"splitTwist\" 0.02912; bPset \"startBranches\" 0; bPset \"numBranches\" 1; bPset \"branchDropout\" 0.26214; bPset \"middleBranch\" 1; bPset \"minSize\" 0; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0.204; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.004; bPset \"turbulenceFrequency\" 0.2233; bPset \"turbulenceSpeed\" 0.2233; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" -0.1; bPset \"deflectionMax\" 0.09708; bPset \"twigsInCluster\" 3; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 129.42; bPset \"twigAngle2\" 55.923; bPset \"twigTwist\" 0.3204; bPset \"twigLength\" 0.5786; bPset \"twigStart\" 0.30578; bPset \"numTwigClusters\" 1; bPset \"twigBaseWidth\" 0.04958; bPset \"twigTipWidth\" 0.42976; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 1; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 59.505; bPset \"leafAngle2\" 65.454; bPset \"leafTwist\" 0; bPset \"leafBend\" -0.7; bPset \"leafCurl[0].leafCurl_Position\" 0.3357142806; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 1; bPset \"leafSegments\" 16; bPset \"leafStart\" 0.52066; bPset \"numLeafClusters\" 1; bPset \"leafFlatness\" -0.01156; bPset \"leafLength\" 0.103611; bPset \"leafBaseWidth\" 0.1405; bPset \"leafTipWidth\" 0.0909; bPset \"leafSizeDecay\" 0.807; bPset \"leafTranslucence\" 0.3; bPset \"leafSpecular\" 0.6; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.768599987; bPset \"leafColor1G\" 0.768599987; bPset \"leafColor1B\" 0.768599987; bPset \"leafColor2R\" 0.7603399754; bPset \"leafColor2G\" 0.7603399754; bPset \"leafColor2B\" 0.7603399754; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" -58.014; bPset \"flowerAngle2\" -60.99; bPset \"flowerTwist\" 0; bPset \"petalBend\" -3.3884; bPset \"petalCurl[0].petalCurl_Position\" 0.1142857149; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 23; bPset \"flowerStart\" 0.6033; bPset \"numFlowers\" 1; bPset \"petalFlatness\" 0.33058; bPset \"petalLength\" 0.36364; bPset \"petalBaseWidth\" 0.07438; bPset \"petalTipWidth\" 0.0909; bPset \"flowerSizeDecay\" 1; bPset \"flowerTranslucence\" 0.3; bPset \"flowerSpecular\" 0.6033; bPset \"petalColor1R\" 0.8016600013; bPset \"petalColor1G\" 0.8016600013; bPset \"petalColor1B\" 0.8016600013; bPset \"petalColor2R\" 0.793380022; bPset \"petalColor2G\" 0.793380022; bPset \"petalColor2B\" 0.793380022; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 1; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 1; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 0.04132; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 0.90908; bPset \"bumpBlur\" 1.47108; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.3966; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.9256; bPset \"smear\" 0.20326; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.52066; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 30; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 0.001000000047; bPset \"widthScale[0].widthScale_Interp\" 3; bPset \"widthScale[1].widthScale_Position\" 0.8500000238; bPset \"widthScale[1].widthScale_FloatValue\" 0.3199999928; bPset \"widthScale[1].widthScale_Interp\" 3; bPset \"widthScale[2].widthScale_Position\" 0.7571428418; bPset \"widthScale[2].widthScale_FloatValue\" 0.5400000215; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0.4071428478; bPset \"widthScale[3].widthScale_FloatValue\" 0.8600000143; bPset \"widthScale[3].widthScale_Interp\" 3; bPset \"widthScale[4].widthScale_Position\" 0.09285714477; bPset \"widthScale[4].widthScale_FloatValue\" 0.7799999714; bPset \"widthScale[4].widthScale_Interp\" 3; bPset \"widthScale[5].widthScale_Position\" 1; bPset \"widthScale[5].widthScale_FloatValue\" 0.003000000026; bPset \"widthScale[5].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 0.7285714149; bPset \"widthScale[6].widthScale_FloatValue\" 0.4199999869; bPset \"widthScale[6].widthScale_Interp\" 1; bPset \"widthScale[7].widthScale_Position\" 0.7214285731; bPset \"widthScale[7].widthScale_FloatValue\" 0.5600000024; bPset \"widthScale[7].widthScale_Interp\" 1; bPset \"widthScale[8].widthScale_Position\" 0.8785714507; bPset \"widthScale[8].widthScale_FloatValue\" 0.07999999821; bPset \"widthScale[8].widthScale_Interp\" 3; bPset \"widthScale[9].widthScale_Position\" 0.9357143044; bPset \"widthScale[9].widthScale_FloatValue\" 0.1400000006; bPset \"widthScale[9].widthScale_Interp\" 3; bPset \"widthScale[10].widthScale_Position\" 0.9785714149; bPset \"widthScale[10].widthScale_FloatValue\" 0.1800000072; bPset \"widthScale[10].widthScale_Interp\" 3; bPset \"widthScale[11].widthScale_Position\" 0.02857142873; bPset \"widthScale[11].widthScale_FloatValue\" 0.4600000083; bPset \"widthScale[11].widthScale_Interp\" 3; bPset \"widthScale[12].widthScale_Position\" 0.6857143044; bPset \"widthScale[12].widthScale_FloatValue\" 0.6000000238; bPset \"widthScale[12].widthScale_Interp\" 3; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 3; bPset \"leafWidthScale[1].leafWidthScale_Position\" 0.6000000238; bPset \"leafWidthScale[1].leafWidthScale_FloatValue\" 0.7400000095; bPset \"leafWidthScale[1].leafWidthScale_Interp\" 3; bPset \"leafWidthScale[2].leafWidthScale_Position\" 1; bPset \"leafWidthScale[2].leafWidthScale_FloatValue\" 0.5; bPset \"leafWidthScale[2].leafWidthScale_Interp\" 1; bPset \"leafWidthScale[3].leafWidthScale_Position\" 0.9714285731; bPset \"leafWidthScale[3].leafWidthScale_FloatValue\" 0.6600000262; bPset \"leafWidthScale[3].leafWidthScale_Interp\" 1; bPset \"leafWidthScale[4].leafWidthScale_Position\" 0.2285714298; bPset \"leafWidthScale[4].leafWidthScale_FloatValue\" 0.8999999762; bPset \"leafWidthScale[4].leafWidthScale_Interp\" 3; bPset \"leafWidthScale[5].leafWidthScale_Position\" 0.8071428537; bPset \"leafWidthScale[5].leafWidthScale_FloatValue\" 0.6999999881; bPset \"leafWidthScale[5].leafWidthScale_Interp\" 3; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[1].petalWidthScale_Position\" 0; bPset \"petalWidthScale[1].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[1].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[2].petalWidthScale_Position\" 0; bPset \"petalWidthScale[2].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[2].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[3].petalWidthScale_Position\" 0; bPset \"petalWidthScale[3].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[3].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[4].petalWidthScale_Position\" 0; bPset \"petalWidthScale[4].petalWidthScale_FloatValue\" 0; bPset \"petalWidthScale[4].petalWidthScale_Interp\" 0; bPset \"petalWidthScale[5].petalWidthScale_Position\" 0; bPset \"petalWidthScale[5].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[5].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[6].petalWidthScale_Position\" 0.2642857134; bPset \"petalWidthScale[6].petalWidthScale_FloatValue\" 0.5400000215; bPset \"petalWidthScale[6].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[7].petalWidthScale_Position\" 0.821428597; bPset \"petalWidthScale[7].petalWidthScale_FloatValue\" 0.6999999881; bPset \"petalWidthScale[7].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[8].petalWidthScale_Position\" 0.04285714403; bPset \"petalWidthScale[8].petalWidthScale_FloatValue\" 0.8199999928; bPset \"petalWidthScale[8].petalWidthScale_Interp\" 3; bPset \"petalWidthScale[9].petalWidthScale_Position\" 1; bPset \"petalWidthScale[9].petalWidthScale_FloatValue\" 0.8600000143; bPset \"petalWidthScale[9].petalWidthScale_Interp\" 1; bPset \"petalWidthScale[10].petalWidthScale_Position\" 0.9214285612; bPset \"petalWidthScale[10].petalWidthScale_FloatValue\" 0.9399999976; bPset \"petalWidthScale[10].petalWidthScale_Interp\" 3; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 100; bPset \"thornLength\" 0.281; bPset \"thornBaseWidth\" 0.140496; bPset \"thornTipWidth\" 0.008264; bPset \"thornElevation\" 1.00828; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0; bPset \"environment[0].environment_ColorR\" 0.3714480102; bPset \"environment[0].environment_ColorG\" 0.40200001; bPset \"environment[0].environment_ColorB\" 0.3734593391; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.5285714269; bPset \"environment[1].environment_ColorR\" 0.7280920148; bPset \"environment[1].environment_ColorG\" 0.7395167351; bPset \"environment[1].environment_ColorB\" 0.7639999986; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 1; bPset \"environment[2].environment_ColorR\" 0.4001069963; bPset \"environment[2].environment_ColorG\" 0.4425171018; bPset \"environment[2].environment_ColorB\" 0.5910000205; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.5; bPset \"environment[3].environment_ColorR\" 0.2255149931; bPset \"environment[3].environment_ColorG\" 0.2326551974; bPset \"environment[3].environment_ColorB\" 0.2649999857; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0.3285714388; bPset \"environment[4].environment_ColorR\" 0.5432050228; bPset \"environment[4].environment_ColorG\" 0.6387984753; bPset \"environment[4].environment_ColorB\" 0.6850000024; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0; bPset \"environment[5].environment_ColorR\" 0; bPset \"environment[5].environment_ColorG\" 0; bPset \"environment[5].environment_ColorB\" 0; bPset \"environment[5].environment_Interp\" 0; bPset \"environment[6].environment_Position\" 0.7142857313; bPset \"environment[6].environment_ColorR\" 0.5976179838; bPset \"environment[6].environment_ColorG\" 0.6764085889; bPset \"environment[6].environment_ColorB\" 0.7139999866; bPset \"environment[6].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.1599999964; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 3; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.1571428627; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 3; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.5214285851; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.4799999893; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 3; bPset \"branchReflectivity\" 0.56198; bPset \"leafReflectivity\" 0.56198; bPset \"flowerReflectivity\" 0.55176; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 0; \nbPsetName \"imageName\" \"wrapBark.iff\";\nbPsetName \"leafImage\" \"sideleaf.rgb\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.5854 1;\npresetSetPressure 2 0 0 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) teapot;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "New Curly Hair Brush: Select new curly hair brush for painting" + -align "center" + -label "New Curly Hair Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "newCurlyHair.xpm" + -image1 "newCurlyHair.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.462; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 4; bPset \"brushWidth\" 0.305824; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.11382; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.4380199909; bPset \"color1G\" 0.3737154603; bPset \"color1B\" 0.2303218246; bPset \"color2R\" 0.7520599961; bPset \"color2G\" 0.7317340374; bPset \"color2B\" 0.5555758476; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9683827758; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.7944205403; bPset \"specular\" 0.49514; bPset \"specularPower\" 14.022; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.01626; bPset \"satRand\" 0.08738; bPset \"valRand\" 0.2136; bPset \"rootFade\" 0; bPset \"tipFade\" 0.3398; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.26214; bPset \"brightnessRand\" 0.69902; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.74758; bPset \"depthShadowDepth\" 0.25242; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 1; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 1.405; bPset \"tubeRand\" 0.41748; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.5; bPset \"lengthMin\" 1.5; bPset \"segments\" 47; bPset \"tubeWidth1\" 0.003; bPset \"tubeWidth2\" 0.0015; bPset \"widthRand\" 0.29126; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.23578; bPset \"segmentLengthBias\" 0.02912; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.6602; bPset \"elevationMax\" 0.70874; bPset \"azimuthMin\" -0.05000000075; bPset \"azimuthMax\" 0.05000000075; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 1; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 3; bPset \"wiggleOffset\" 0; bPset \"curl\" 4; bPset \"curlFrequency\" 4; bPset \"curlOffset\" 0; bPset \"noise\" 0.09756; bPset \"noiseFrequency\" 0.50412; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.01652; bPset \"pathAttract\" 0.05; bPset \"curveFollow\" 1; bPset \"curveAttract\" 1; bPset \"curveMaxDist\" 0.8738; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.03884; bPset \"turbulenceFrequency\" 0.4369; bPset \"turbulenceSpeed\" 0.36894; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.4466; bPset \"momentum\" 1; bPset \"deflection\" 1; bPset \"deflectionMin\" 0.04; bPset \"deflectionMax\" 0.09708; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"leafSpecular\" 0.49514; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"flowerSpecular\" 0.49514; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 1; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 1; bPset \"bumpBlur\" 0.5; bPset \"luminanceIsDisplacement\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 60; bPset \"multiStreakSpread1\" 0.33058; bPset \"multiStreakSpread2\" 0.01652; bPset \"multiStreakDiffuseRand\" 0.17356; bPset \"multiStreakSpecularRand\" 0.66116; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 17; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 1; bPset \"widthScale[0].widthScale_Interp\" 1; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 10; bPset \"thornLength\" 0.5; bPset \"thornBaseWidth\" 0.05; bPset \"thornTipWidth\" 0.01; bPset \"thornElevation\" 0.6; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0.200000003; bPset \"environment[0].environment_ColorR\" 0; bPset \"environment[0].environment_ColorG\" 0; bPset \"environment[0].environment_ColorB\" 0.150000006; bPset \"environment[0].environment_Interp\" 1; bPset \"environment[1].environment_Position\" 0.5; bPset \"environment[1].environment_ColorR\" 0.4799999893; bPset \"environment[1].environment_ColorG\" 0.5500000119; bPset \"environment[1].environment_ColorB\" 0.6999999881; bPset \"environment[1].environment_Interp\" 1; bPset \"environment[2].environment_Position\" 1; bPset \"environment[2].environment_ColorR\" 0; bPset \"environment[2].environment_ColorG\" 0.1000000015; bPset \"environment[2].environment_ColorB\" 0.4499999881; bPset \"environment[2].environment_Interp\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 0; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 0; \nbPsetName \"imageName\" \"\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.2602 1;\npresetSetPressure 2 0 0.3008 1;\npresetSetPressure 3 0 0.7967 1;\nrename (getDefaultBrush()) newCurlyHair;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Bubbles Brush: Select surface bubbles brush for painting" + -align "center" + -label "Surface Bubbles Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "surfaceBubbles.xpm" + -image1 "surfaceBubbles.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.8446; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.262136; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 6; bPset \"softness\" -0.26212; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.6901960969; bPset \"color1G\" 0.6901960969; bPset \"color1B\" 0.6901960969; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.8745098114; bPset \"transparency1G\" 0.8745098114; bPset \"transparency1B\" 0.8745098114; bPset \"transparency2R\" 0.9529411793; bPset \"transparency2G\" 0.9529411793; bPset \"transparency2B\" 0.9529411793; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9991083145; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.9499999881; bPset \"specular\" 3.9741; bPset \"specularPower\" 20; bPset \"translucence\" 0; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.24272; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 2.33; bPset \"tubeRand\" 0.3398; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.035; bPset \"lengthMin\" 0.035; bPset \"segments\" 7; bPset \"tubeWidth1\" 0.08; bPset \"tubeWidth2\" 0.08; bPset \"widthRand\" 0.49514; bPset \"widthBias\" -0.72816; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 1; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.79612; bPset \"elevationMax\" 0.96116; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"leafSpecular\" 0; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"flowerSpecular\" 0; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 1; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 1; bPset \"bumpBlur\" 0.95144; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 1.200000048; bPset \"texColor1G\" 1.200000048; bPset \"texColor1B\" 1.200000048; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 6.2139; bPset \"repeatV\" 0.58256; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.48544; bPset \"smear\" 0.02912; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 19; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[2].widthScale_Position\" 0.9714285731; bPset \"widthScale[2].widthScale_FloatValue\" 0.2399999946; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0; bPset \"widthScale[3].widthScale_FloatValue\" 1; bPset \"widthScale[3].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 0.400000006; bPset \"widthScale[6].widthScale_FloatValue\" 0.8600000143; bPset \"widthScale[6].widthScale_Interp\" 3; bPset \"widthScale[7].widthScale_Position\" 0.7428571582; bPset \"widthScale[7].widthScale_FloatValue\" 0.6399999857; bPset \"widthScale[7].widthScale_Interp\" 3; bPset \"widthScale[8].widthScale_Position\" 1; bPset \"widthScale[8].widthScale_FloatValue\" 0; bPset \"widthScale[8].widthScale_Interp\" 3; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 19.418; bPset \"thornLength\" 1.068; bPset \"thornBaseWidth\" 0.5; bPset \"thornTipWidth\" 0; bPset \"thornElevation\" 1.1262; bPset \"thornSpecular\" 0; bPset \"thornBaseColorR\" 0.04333353043; bPset \"thornBaseColorG\" 0; bPset \"thornBaseColorB\" 1; bPset \"thornTipColorR\" 0.8417564631; bPset \"thornTipColorG\" 0.8090000153; bPset \"thornTipColorB\" 1; bPset \"environment[0].environment_Position\" 0.4857142866; bPset \"environment[0].environment_ColorR\" 0.0564067848; bPset \"environment[0].environment_ColorG\" 0.04193399847; bPset \"environment[0].environment_ColorB\" 0.05799999833; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.4928571284; bPset \"environment[1].environment_ColorR\" 0.6999999881; bPset \"environment[1].environment_ColorG\" 0.6602364779; bPset \"environment[1].environment_ColorB\" 0.6559000015; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.75; bPset \"environment[2].environment_ColorR\" 0.4152960181; bPset \"environment[2].environment_ColorG\" 0.4389799833; bPset \"environment[2].environment_ColorB\" 0.5040000081; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.25; bPset \"environment[3].environment_ColorR\" 0.2360000014; bPset \"environment[3].environment_ColorG\" 0.1718080044; bPset \"environment[3].environment_ColorB\" 0.176119566; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0; bPset \"environment[4].environment_ColorR\" 0.7129999995; bPset \"environment[4].environment_ColorG\" 0.710567832; bPset \"environment[4].environment_ColorB\" 0.5625570416; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0.8642857075; bPset \"environment[5].environment_ColorR\" 0.4944959581; bPset \"environment[5].environment_ColorG\" 0.5175463557; bPset \"environment[5].environment_ColorB\" 0.6119999886; bPset \"environment[5].environment_Interp\" 2; bPset \"environment[6].environment_Position\" 1; bPset \"environment[6].environment_ColorR\" 0.4543389976; bPset \"environment[6].environment_ColorG\" 0.4864760041; bPset \"environment[6].environment_ColorB\" 0.5237470269; bPset \"environment[6].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.2399999946; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.5500000119; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 0.6200000048; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.2857142985; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.9399999976; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 1.7864; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 0; \nbPsetName \"imageName\" \"copperPipe.iff\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 2 0.4309 1;\npresetSetPressure 2 0 0.2764 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) surfaceBubbles;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Crystals Brush: Select crystals brush for painting" + -align "center" + -label "Crystals Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "crystals.xpm" + -image1 "crystals.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.542; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.4896; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 8; bPset \"softness\" -0.38844; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.0934855938; bPset \"color1G\" 0.2028057426; bPset \"color1B\" 0.2313999981; bPset \"color2R\" 0.4876568317; bPset \"color2G\" 0.3517401516; bPset \"color2B\" 0.57852; bPset \"transparency1R\" 0.01394399814; bPset \"transparency1G\" 0.03882077709; bPset \"transparency1B\" 0.248999998; bPset \"transparency2R\" 0.05367100239; bPset \"transparency2G\" 0.0632153675; bPset \"transparency2B\" 0.1909999996; bPset \"incandescence1R\" 0.1494079977; bPset \"incandescence1G\" 0.3122197986; bPset \"incandescence1B\" 0.3219999969; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0.99174; bPset \"specularPower\" 13.3884; bPset \"translucence\" 0.32232; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.15702; bPset \"satRand\" 0.18182; bPset \"valRand\" 0.59504; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.57852; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.15702; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 3.5538; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.8264; bPset \"lengthMin\" 0.1; bPset \"segments\" 10; bPset \"tubeWidth1\" 0.13573; bPset \"tubeWidth2\" 0.130522; bPset \"widthRand\" 0.41322; bPset \"widthBias\" -0.05784; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.7686; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.01652; bPset \"elevationMax\" 1; bPset \"azimuthMin\" -1; bPset \"azimuthMax\" 1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 3; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0.79338; bPset \"leafAngle1\" 0; bPset \"leafAngle2\" 0; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0.5; bPset \"leafSegments\" 1; bPset \"leafStart\" 1; bPset \"numLeafClusters\" 1; bPset \"leafFlatness\" 0; bPset \"leafLength\" 0.81322; bPset \"leafBaseWidth\" 0.0248; bPset \"leafTipWidth\" 0.01652; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0; bPset \"leafSpecular\" 0.9091; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.3140400052; bPset \"leafColor1G\" 0.3140400052; bPset \"leafColor1B\" 0.3140400052; bPset \"leafColor2R\" 0.5510475636; bPset \"leafColor2G\" 0.6528999805; bPset \"leafColor2B\" 0.619713068; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0.3967; bPset \"leafUseBranchTex\" 0; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"flowerSpecular\" 0; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.30578; bPset \"texOpacityOffset\" 0.0909; bPset \"displacementScale\" 0; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 0.11572; bPset \"bumpBlur\" 2.1818; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.008259999566; bPset \"texColor2G\" 0.005790259689; bPset \"texColor2B\" 0.00583965471; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1.73552; bPset \"repeatV\" 2.27272; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.41324; bPset \"smear\" 0.22314; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.6529; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 6; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 1; bPset \"widthScale[0].widthScale_Interp\" 1; bPset \"widthScale[1].widthScale_Position\" 0.8142856956; bPset \"widthScale[1].widthScale_FloatValue\" 1; bPset \"widthScale[1].widthScale_Interp\" 1; bPset \"widthScale[2].widthScale_Position\" 1; bPset \"widthScale[2].widthScale_FloatValue\" 0; bPset \"widthScale[2].widthScale_Interp\" 1; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"leafWidthScale[1].leafWidthScale_Position\" 1; bPset \"leafWidthScale[1].leafWidthScale_FloatValue\" 0; bPset \"leafWidthScale[1].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 10; bPset \"thornLength\" 0.5; bPset \"thornBaseWidth\" 0.05; bPset \"thornTipWidth\" 0.01; bPset \"thornElevation\" 0.6; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0; bPset \"environment[0].environment_ColorR\" 0.4206953347; bPset \"environment[0].environment_ColorG\" 0.4379999936; bPset \"environment[0].environment_ColorB\" 0.4139100015; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.6499999762; bPset \"environment[1].environment_ColorR\" 0.4799999893; bPset \"environment[1].environment_ColorG\" 0.5500000119; bPset \"environment[1].environment_ColorB\" 0.6999999881; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.8428571224; bPset \"environment[2].environment_ColorR\" 0; bPset \"environment[2].environment_ColorG\" 0.1486295462; bPset \"environment[2].environment_ColorB\" 0.6690000296; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.4928571284; bPset \"environment[3].environment_ColorR\" 0.9380000234; bPset \"environment[3].environment_ColorG\" 1; bPset \"environment[3].environment_ColorB\" 0.9986566901; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0.4714285731; bPset \"environment[4].environment_ColorR\" 0.2601088881; bPset \"environment[4].environment_ColorG\" 0.3190000057; bPset \"environment[4].environment_ColorB\" 0.2370170057; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0.200000003; bPset \"environment[5].environment_ColorR\" 0.3593319952; bPset \"environment[5].environment_ColorG\" 0.3925279975; bPset \"environment[5].environment_ColorB\" 0.3463160098; bPset \"environment[5].environment_Interp\" 2; bPset \"environment[6].environment_Position\" 0.1714285761; bPset \"environment[6].environment_ColorR\" 0.499289304; bPset \"environment[6].environment_ColorG\" 0.5730000138; bPset \"environment[6].environment_ColorB\" 0.3810450137; bPset \"environment[6].environment_Interp\" 2; bPset \"environment[7].environment_Position\" 0.8642857075; bPset \"environment[7].environment_ColorR\" 0.473652035; bPset \"environment[7].environment_ColorG\" 0.4818891883; bPset \"environment[7].environment_ColorB\" 0.6690000296; bPset \"environment[7].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.2399999946; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.4285714328; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 0.8399999738; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.7571428418; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.3199999928; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 0.66942; bPset \"leafReflectivity\" 0.84298; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 1; \nbPsetName \"imageName\" \"\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.187 1.5;\npresetSetPressure 2 0 0.187 1;\npresetSetPressure 3 0 0 1.2;\nrename (getDefaultBrush()) crystals;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Light Bulb Brush: Select light bulb brush for painting" + -align "center" + -label "Light Bulb Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lightBulb.xpm" + -image1 "lightBulb.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.895; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 12.8096; bPset \"softness\" -0.58676; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.2975200117; bPset \"color1G\" 0.2975200117; bPset \"color1B\" 0.2975200117; bPset \"color2R\" 0.1899999976; bPset \"color2G\" 0.1899999976; bPset \"color2B\" 0.1899999976; bPset \"transparency1R\" 0.3718999922; bPset \"transparency1G\" 0.3718999922; bPset \"transparency1B\" 0.3718999922; bPset \"transparency2R\" 0.6528999805; bPset \"transparency2G\" 0.6528999805; bPset \"transparency2B\" 0.6528999805; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 2.67771; bPset \"specularPower\" 40; bPset \"translucence\" 0.13592; bPset \"glow\" 0; bPset \"glowColorR\" 0.5333333611; bPset \"glowColorG\" 0.5333333611; bPset \"glowColorB\" 0.5333333611; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0.52066; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.6504; bPset \"realLights\" 1; bPset \"lightDirectionX\" -0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.07; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.6; bPset \"lengthMin\" 0.6; bPset \"segments\" 66; bPset \"tubeWidth1\" 0.4; bPset \"tubeWidth2\" 0.4; bPset \"widthRand\" 0; bPset \"widthBias\" -0.26212; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.05784; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 1; bPset \"elevationMax\" 1; bPset \"azimuthMin\" -0.3398; bPset \"azimuthMax\" -0.22332; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0.78512; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 7.7661; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 1.26698; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 5; bPset \"splitRand\" 0.17476; bPset \"splitAngle\" 26.214; bPset \"splitSizeDecay\" 0.6602; bPset \"splitBias\" 0.00972; bPset \"splitTwist\" 0.02912; bPset \"startBranches\" 0; bPset \"numBranches\" 1; bPset \"branchDropout\" 0.26214; bPset \"middleBranch\" 1; bPset \"minSize\" 0; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0.204; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.004; bPset \"turbulenceFrequency\" 0.2233; bPset \"turbulenceSpeed\" 0.2233; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" -0.1; bPset \"deflectionMax\" 0.09708; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0.2; bPset \"twigAngle1\" 48.933; bPset \"twigAngle2\" 55.923; bPset \"twigTwist\" 0.3204; bPset \"twigLength\" 0.6; bPset \"twigStart\" 0.51456; bPset \"numTwigClusters\" 7; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 2; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 10.413; bPset \"leafAngle2\" 8.925; bPset \"leafTwist\" 0.5; bPset \"leafBend\" 10; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 42; bPset \"leafStart\" 0; bPset \"numLeafClusters\" 1; bPset \"leafFlatness\" 0; bPset \"leafLength\" 0.4; bPset \"leafBaseWidth\" 0.015; bPset \"leafTipWidth\" 0.015; bPset \"leafSizeDecay\" 0.75728; bPset \"leafTranslucence\" 0.75728; bPset \"leafSpecular\" 1; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.01651999913; bPset \"leafColor1G\" 0.01651999913; bPset \"leafColor1B\" 0.01651999913; bPset \"leafColor2R\" 5; bPset \"leafColor2G\" 1.001862526; bPset \"leafColor2B\" 0.2750000358; bPset \"leafHueRand\" 0.02912; bPset \"leafSatRand\" 0.06796; bPset \"leafValRand\" 0.28156; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"flowerSpecular\" 0.86408; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 1; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 1; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 1; bPset \"bumpBlur\" 0.5; bPset \"luminanceIsDisplacement\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 6; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.38836; bPset \"smear\" 0.20326; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 0; bPset \"tubeSections\" 10; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 0.2599999905; bPset \"widthScale[0].widthScale_Interp\" 3; bPset \"widthScale[1].widthScale_Position\" 0.150000006; bPset \"widthScale[1].widthScale_FloatValue\" 0.3799999952; bPset \"widthScale[1].widthScale_Interp\" 3; bPset \"widthScale[2].widthScale_Position\" 0.4214285612; bPset \"widthScale[2].widthScale_FloatValue\" 0.8000000119; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0.5928571224; bPset \"widthScale[3].widthScale_FloatValue\" 1; bPset \"widthScale[3].widthScale_Interp\" 3; bPset \"widthScale[4].widthScale_Position\" 0.8571428657; bPset \"widthScale[4].widthScale_FloatValue\" 0.8000000119; bPset \"widthScale[4].widthScale_Interp\" 3; bPset \"widthScale[5].widthScale_Position\" 1; bPset \"widthScale[5].widthScale_FloatValue\" 0; bPset \"widthScale[5].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 0.9714285731; bPset \"widthScale[6].widthScale_FloatValue\" 0.3400000036; bPset \"widthScale[6].widthScale_Interp\" 3; bPset \"widthScale[7].widthScale_Position\" 0.3285714388; bPset \"widthScale[7].widthScale_FloatValue\" 0.5799999833; bPset \"widthScale[7].widthScale_Interp\" 3; bPset \"widthScale[8].widthScale_Position\" 0.05000000075; bPset \"widthScale[8].widthScale_FloatValue\" 0.4199999869; bPset \"widthScale[8].widthScale_Interp\" 3; bPset \"widthScale[9].widthScale_Position\" 0.09285710007; bPset \"widthScale[9].widthScale_FloatValue\" 0.3799999952; bPset \"widthScale[9].widthScale_Interp\" 3; bPset \"widthScale[10].widthScale_Position\" 0.1285714358; bPset \"widthScale[10].widthScale_FloatValue\" 0.4399999976; bPset \"widthScale[10].widthScale_Interp\" 3; bPset \"widthScale[11].widthScale_Position\" 0.2428571433; bPset \"widthScale[11].widthScale_FloatValue\" 0.400000006; bPset \"widthScale[11].widthScale_Interp\" 3; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 100; bPset \"thornLength\" 0.281; bPset \"thornBaseWidth\" 0.140496; bPset \"thornTipWidth\" 0.008264; bPset \"thornElevation\" 1.00828; bPset \"thornSpecular\" 0.4; bPset \"thornBaseColorR\" 0.5; bPset \"thornBaseColorG\" 0.5; bPset \"thornBaseColorB\" 0.5; bPset \"thornTipColorR\" 0.5; bPset \"thornTipColorG\" 0.5; bPset \"thornTipColorB\" 0.5; bPset \"environment[0].environment_Position\" 0; bPset \"environment[0].environment_ColorR\" 0.3714480102; bPset \"environment[0].environment_ColorG\" 0.40200001; bPset \"environment[0].environment_ColorB\" 0.3734593391; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.5071428418; bPset \"environment[1].environment_ColorR\" 0.8386399746; bPset \"environment[1].environment_ColorG\" 0.8517993689; bPset \"environment[1].environment_ColorB\" 0.8799999952; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.9571428299; bPset \"environment[2].environment_ColorR\" 0.4562520087; bPset \"environment[2].environment_ColorG\" 0.4861885309; bPset \"environment[2].environment_ColorB\" 0.5910000205; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.4357142746; bPset \"environment[3].environment_ColorR\" 0.145521; bPset \"environment[3].environment_ColorG\" 0.150128454; bPset \"environment[3].environment_ColorB\" 0.1710000038; bPset \"environment[3].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 0.9857142568; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.200000003; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.3142857254; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.5071428418; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.3799999952; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"branchReflectivity\" 1.36512; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 1; \nbPsetName \"imageName\" \"wrapBark.iff\";\nbPsetName \"leafImage\" \"sideleaf.rgb\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 0 0.5854 1;\npresetSetPressure 2 0 0 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) lightBulb;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Tacks Brush: Select tacks brush for painting" + -align "center" + -label "Tacks Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "tacks.xpm" + -image1 "tacks.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.759210304; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 5; bPset \"brushWidth\" 0.184464; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 6; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.1921568662; bPset \"color1G\" 0.1921568662; bPset \"color1B\" 0.1921568662; bPset \"color2R\" 0.4078431427; bPset \"color2G\" 0.4078431427; bPset \"color2B\" 0.4078431427; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9991083145; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.9499999881; bPset \"specular\" 0.85436; bPset \"specularPower\" 3.4952; bPset \"translucence\" 0; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0.767; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.24272; bPset \"brightnessRand\" 0.90292; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"textureFlow\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 1.2622; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.097; bPset \"lengthMin\" 0.097; bPset \"segments\" 6; bPset \"tubeWidth1\" 0.029126; bPset \"tubeWidth2\" 0.039806; bPset \"widthRand\" 0.30098; bPset \"widthBias\" -0.74756; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.74756; bPset \"segmentWidthBias\" 0.61166; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.09708; bPset \"elevationMax\" 0.09708; bPset \"azimuthMin\" -1; bPset \"azimuthMax\" 1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0.8932; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"bend\" 0; bPset \"bendBias\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"twigStiffness\" 0.5; bPset \"branchAfterTwigs\" 0; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafBend\" 0; bPset \"leafCurl[0].leafCurl_Position\" 0; bPset \"leafCurl[0].leafCurl_FloatValue\" 0.5; bPset \"leafCurl[0].leafCurl_Interp\" 1; bPset \"leafTwirl\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"leafSpecular\" 0; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"leafStiffness\" 0.5; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalBend\" 0; bPset \"petalCurl[0].petalCurl_Position\" 0; bPset \"petalCurl[0].petalCurl_FloatValue\" 0.5; bPset \"petalCurl[0].petalCurl_Interp\" 1; bPset \"petalTwirl\" 0; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"flowerSpecular\" 0; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"flowerStiffness\" 0.5; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"mapDisplacement\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"displacementScale\" 0.04854; bPset \"displacementOffset\" 0; bPset \"bumpIntensity\" 0.38836; bPset \"bumpBlur\" 0.95144; bPset \"luminanceIsDisplacement\" 0; bPset \"texColor1R\" 0.6039215922; bPset \"texColor1G\" 0.07450980693; bPset \"texColor1B\" 0.04705882445; bPset \"texColor2R\" 1; bPset \"texColor2G\" 0.8784313798; bPset \"texColor2B\" 0.7568627596; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1.8932; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.40776; bPset \"smear\" 0.08738; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.95146; bPset \"fractalAmplitude\" 5.1262; bPset \"fractalThreshold\" 0.87378; bPset \"multiStreaks\" 0; bPset \"multiStreakSpread1\" 0.2; bPset \"multiStreakSpread2\" 0.2; bPset \"multiStreakDiffuseRand\" 0; bPset \"multiStreakSpecularRand\" 0; bPset \"multiStreakLightAll\" 0; bPset \"singleSided\" 1; bPset \"tubeSections\" 8; bPset \"subSegments\" 1; bPset \"perPixelLighting\" 1; bPset \"widthScale[0].widthScale_Position\" 0; bPset \"widthScale[0].widthScale_FloatValue\" 0; bPset \"widthScale[0].widthScale_Interp\" 1; bPset \"widthScale[1].widthScale_Position\" 0.05000000075; bPset \"widthScale[1].widthScale_FloatValue\" 0.1800000072; bPset \"widthScale[1].widthScale_Interp\" 1; bPset \"widthScale[2].widthScale_Position\" 0.9071428776; bPset \"widthScale[2].widthScale_FloatValue\" 0.7200000286; bPset \"widthScale[2].widthScale_Interp\" 3; bPset \"widthScale[3].widthScale_Position\" 0.6142857075; bPset \"widthScale[3].widthScale_FloatValue\" 0.1800000072; bPset \"widthScale[3].widthScale_Interp\" 1; bPset \"widthScale[4].widthScale_Position\" 0.9714285731; bPset \"widthScale[4].widthScale_FloatValue\" 0.2599999905; bPset \"widthScale[4].widthScale_Interp\" 3; bPset \"widthScale[5].widthScale_Position\" 0.6642857194; bPset \"widthScale[5].widthScale_FloatValue\" 0.9200000167; bPset \"widthScale[5].widthScale_Interp\" 3; bPset \"widthScale[6].widthScale_Position\" 1; bPset \"widthScale[6].widthScale_FloatValue\" 0; bPset \"widthScale[6].widthScale_Interp\" 0; bPset \"widthScale[7].widthScale_Position\" 0.6214285493; bPset \"widthScale[7].widthScale_FloatValue\" 0.8999999762; bPset \"widthScale[7].widthScale_Interp\" 1; bPset \"leafWidthScale[0].leafWidthScale_Position\" 0; bPset \"leafWidthScale[0].leafWidthScale_FloatValue\" 1; bPset \"leafWidthScale[0].leafWidthScale_Interp\" 1; bPset \"petalWidthScale[0].petalWidthScale_Position\" 0; bPset \"petalWidthScale[0].petalWidthScale_FloatValue\" 1; bPset \"petalWidthScale[0].petalWidthScale_Interp\" 1; bPset \"twigLengthScale[0].twigLengthScale_Position\" 0; bPset \"twigLengthScale[0].twigLengthScale_FloatValue\" 1; bPset \"twigLengthScale[0].twigLengthScale_Interp\" 1; bPset \"branchThorns\" 0; bPset \"twigThorns\" 0; bPset \"leafThorns\" 0; bPset \"flowerThorns\" 0; bPset \"thornDensity\" 19.418; bPset \"thornLength\" 1.068; bPset \"thornBaseWidth\" 0.5; bPset \"thornTipWidth\" 0; bPset \"thornElevation\" 1.1262; bPset \"thornSpecular\" 0; bPset \"thornBaseColorR\" 0.04333353043; bPset \"thornBaseColorG\" 0; bPset \"thornBaseColorB\" 1; bPset \"thornTipColorR\" 0.8417564631; bPset \"thornTipColorG\" 0.8090000153; bPset \"thornTipColorB\" 1; bPset \"environment[0].environment_Position\" 0.4142857194; bPset \"environment[0].environment_ColorR\" 0.3219076991; bPset \"environment[0].environment_ColorG\" 0.2393129915; bPset \"environment[0].environment_ColorB\" 0.3310000002; bPset \"environment[0].environment_Interp\" 2; bPset \"environment[1].environment_Position\" 0.6142857075; bPset \"environment[1].environment_ColorR\" 0.6999999881; bPset \"environment[1].environment_ColorG\" 0.6602364779; bPset \"environment[1].environment_ColorB\" 0.6559000015; bPset \"environment[1].environment_Interp\" 2; bPset \"environment[2].environment_Position\" 0.75; bPset \"environment[2].environment_ColorR\" 0.4152960181; bPset \"environment[2].environment_ColorG\" 0.4389799833; bPset \"environment[2].environment_ColorB\" 0.5040000081; bPset \"environment[2].environment_Interp\" 2; bPset \"environment[3].environment_Position\" 0.200000003; bPset \"environment[3].environment_ColorR\" 0.2360000014; bPset \"environment[3].environment_ColorG\" 0.1718080044; bPset \"environment[3].environment_ColorB\" 0.176119566; bPset \"environment[3].environment_Interp\" 2; bPset \"environment[4].environment_Position\" 0; bPset \"environment[4].environment_ColorR\" 0.7129999995; bPset \"environment[4].environment_ColorG\" 0.710567832; bPset \"environment[4].environment_ColorB\" 0.5625570416; bPset \"environment[4].environment_Interp\" 2; bPset \"environment[5].environment_Position\" 0.8642857075; bPset \"environment[5].environment_ColorR\" 0.4944959581; bPset \"environment[5].environment_ColorG\" 0.5175463557; bPset \"environment[5].environment_ColorB\" 0.6119999886; bPset \"environment[5].environment_Interp\" 2; bPset \"environment[6].environment_Position\" 1; bPset \"environment[6].environment_ColorR\" 0.4543389976; bPset \"environment[6].environment_ColorG\" 0.4864760041; bPset \"environment[6].environment_ColorB\" 0.5237470269; bPset \"environment[6].environment_Interp\" 2; bPset \"reflectionRolloff[0].reflectionRolloff_Position\" 0; bPset \"reflectionRolloff[0].reflectionRolloff_FloatValue\" 1; bPset \"reflectionRolloff[0].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_Position\" 1; bPset \"reflectionRolloff[1].reflectionRolloff_FloatValue\" 0.5799999833; bPset \"reflectionRolloff[1].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[2].reflectionRolloff_Position\" 0.6000000238; bPset \"reflectionRolloff[2].reflectionRolloff_FloatValue\" 0.8600000143; bPset \"reflectionRolloff[2].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[3].reflectionRolloff_Position\" 0.2714285851; bPset \"reflectionRolloff[3].reflectionRolloff_FloatValue\" 0.8999999762; bPset \"reflectionRolloff[3].reflectionRolloff_Interp\" 1; bPset \"reflectionRolloff[4].reflectionRolloff_Position\" 0.07142857462; bPset \"reflectionRolloff[4].reflectionRolloff_FloatValue\" 0.9800000191; bPset \"reflectionRolloff[4].reflectionRolloff_Interp\" 3; bPset \"branchReflectivity\" 0.60194; bPset \"leafReflectivity\" 0; bPset \"flowerReflectivity\" 0; bPset \"forwardTwist\" 0; bPset \"leafForwardTwist\" 0; bPset \"petalForwardTwist\" 0; bPset \"endCaps\" 0; bPset \"hardEdges\" 1; \nbPsetName \"imageName\" \"copperPipe.iff\";\nbPsetName \"leafImage\" \"\";\nbPsetName \"flowerImage\" \"\";\nbPsetName \"creationScript\" \"\";\nbPsetName \"runtimeScript\" \"\";\nbrushPresetApply();\npresetSetPressure 1 2 0.4309 1;\npresetSetPressure 2 0 0.2764 1;\npresetSetPressure 3 0 0 1;\nrename (getDefaultBrush()) tacks;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Charcoal Thin Brush: Select charcoal thin brush for painting" + -align "center" + -label "Charcoal Thin Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "charcoalThin.xpm" + -image1 "charcoalThin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 1.418537511; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.03252; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.50406; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.0627450943; bPset \"color1G\" 0.0627450943; bPset \"color1B\" 0.0627450943; bPset \"color2R\" 0.03529411927; bPset \"color2G\" 0.03529411927; bPset \"color2B\" 0.03529411927; bPset \"transparency1R\" 0.02352941222; bPset \"transparency1G\" 0.02352941222; bPset \"transparency1B\" 0.02352941222; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1.8446; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.05; bPset \"lengthMin\" 0; bPset \"segments\" 8; bPset \"tubeWidth1\" 0.024272; bPset \"tubeWidth2\" 0.02233; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.34952; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.79612; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 1; bPset \"textureType\" 3; bPset \"mapMethod\" 0; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.83496; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 4; bPset \"repeatV\" 5; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.14636; bPset \"smear\" 0.82114; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.93496; bPset \"fractalAmplitude\" 0.52458; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.06499999762 0.3088999987;\r\npresetSetPressure 2 5 0.04879999906 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) charcoalThin;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Orange Pastel Scribble Brush: Select orange pastel scribble brush for painting" + -align "center" + -label "Orange Pastel Scribble Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pasOrangeScribble.xpm" + -image1 "pasOrangeScribble.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.591449441; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.65048; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.5372549295; bPset \"color1B\" 0.08627451211; bPset \"color2R\" 1; bPset \"color2G\" 0.1308467388; bPset \"color2B\" 0.1008366346; bPset \"transparency1R\" 0.1529411823; bPset \"transparency1G\" 0.1019607857; bPset \"transparency1B\" 0.05098039284; bPset \"transparency2R\" 0.8486363888; bPset \"transparency2G\" 0.4797338247; bPset \"transparency2B\" 0.2889221311; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.8152915835; bPset \"specularColorB\" 0.6521323919; bPset \"specular\" 0.63106; bPset \"specularPower\" 3.4952; bPset \"translucence\" 0.85436; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.27184; bPset \"shadowDiffusion\" 0.80582; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.05; bPset \"lengthMin\" 0.05; bPset \"segments\" 10; bPset \"tubeWidth1\" 0.016506; bPset \"tubeWidth2\" 0.015534; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.5; bPset \"texOpacityOffset\" 0.50486; bPset \"texColor1R\" 0.4156862795; bPset \"texColor1G\" 0.3176470697; bPset \"texColor1B\" 0.1098039225; bPset \"texColor2R\" 1; bPset \"texColor2G\" 1; bPset \"texColor2B\" 1; bPset \"texAlpha1\" 0.68932; bPset \"texAlpha2\" -0.5728; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 0.1456; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.36892; bPset \"smear\" 0.06796; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"scribble.iff\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 5 0 1;\r\npresetSetPressure 2 2 0.7 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) pasOrangeScribble;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ink Splash Brush: Select ink splash brush for painting" + -align "center" + -label "Ink Splash Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "inkSplash.xpm" + -image1 "inkSplash.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 1.210368479; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.01456; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 5; bPset \"softness\" 0.02912; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 0; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.1137254909; bPset \"transparency1G\" 0.1137254909; bPset \"transparency1B\" 0.1137254909; bPset \"transparency2R\" 0.02745098062; bPset \"transparency2G\" 0.02745098062; bPset \"transparency2B\" 0.02745098062; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.27184; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 8; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.03999999911; bPset \"lengthMin\" 0.009999999776; bPset \"segments\" 12; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.02; bPset \"widthRand\" 0.62602; bPset \"widthBias\" -0.44716; bPset \"lengthFlex\" 0.47154; bPset \"segmentLengthBias\" 0.3496; bPset \"segmentWidthBias\" 0.74796; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" -0.009999999776; bPset \"azimuthMax\" 0.009999999776; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.17072; bPset \"spiralMax\" 0.1382; bPset \"spiralDecay\" 0.009999999776; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 1.5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.39838; bPset \"splitAngle\" 8.781; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.33334; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.04066; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.19512; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 6 1 0.5;\r\npresetSetPressure 2 1 0.200000003 1.5;\r\npresetSetPressure 3 10 1 0.16;\r\nrename (getDefaultBrush()) inkSplash;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Thick Red Oil Brush: Select thick red oil brush for painting" + -align "center" + -label "Thick Red Oil Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "thickOilRed.xpm" + -image1 "thickOilRed.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 1; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.016264; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.21138; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 1; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.6235294342; bPset \"transparency1G\" 0.5529412031; bPset \"transparency1B\" 0.5529412031; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9764705896; bPset \"specularColorG\" 0.9764705896; bPset \"specularColorB\" 0.9764705896; bPset \"specular\" 0; bPset \"specularPower\" 18.8616; bPset \"translucence\" 0.5122; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.01626; bPset \"satRand\" 0.05692; bPset \"valRand\" 0.03252; bPset \"rootFade\" 0.20326; bPset \"tipFade\" 0.14634; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.0244; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.400000006; bPset \"lightDirectionY\" -0.200000003; bPset \"lightDirectionZ\" -0.6000000238; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 6.2602; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1199999973; bPset \"lengthMin\" 0.009999999776; bPset \"segments\" 23; bPset \"tubeWidth1\" 0.004066; bPset \"tubeWidth2\" 0.005692; bPset \"widthRand\" 0.43902; bPset \"widthBias\" -0.38212; bPset \"lengthFlex\" 1; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 1; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 0.03252; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 0.991538465; bPset \"texColor1B\" 0.8821457028; bPset \"texColor2R\" 0.8823529482; bPset \"texColor2G\" 0.8666666746; bPset \"texColor2B\" 1; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 0.02999999933; bPset \"repeatV\" 0.3000000119; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.39024; bPset \"smear\" 0.82114; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.8374; bPset \"fractalAmplitude\" 0.9187; bPset \"fractalThreshold\" 0.21952; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.7073000073 1.5;\r\npresetSetPressure 2 5 0 1;\r\npresetSetPressure 3 3 0 1;\r\nrename (getDefaultBrush()) thickOilRed;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Blue Dry Erase Brush: Select blue dry erase brush for painting" + -align "center" + -label "Blue Dry Erase Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "dryEraseBlue.xpm" + -image1 "dryEraseBlue.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.922335727; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.012192; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 6; bPset \"softness\" 0.2; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.9583849311; bPset \"color1B\" 0.9798609018; bPset \"color2R\" 0.8156862855; bPset \"color2G\" 0.8156862855; bPset \"color2B\" 0.8156862855; bPset \"transparency1R\" 0.6090980768; bPset \"transparency1G\" 0.7950929999; bPset \"transparency1B\" 0.9490196705; bPset \"transparency2R\" 0.7450980544; bPset \"transparency2G\" 0.8549019694; bPset \"transparency2B\" 0.9529411793; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.05; bPset \"lengthMin\" 0.02; bPset \"segments\" 12; bPset \"tubeWidth1\" 0.005; bPset \"tubeWidth2\" 0.005; bPset \"widthRand\" 0.32038; bPset \"widthBias\" -0.51456; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 4.8541; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 1; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.5; bPset \"texOpacityOffset\" 0.5; bPset \"texColor1R\" 0; bPset \"texColor1G\" 0.01176470611; bPset \"texColor1B\" 0.08627451211; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0.2823529541; bPset \"texColor2B\" 0.7490196228; bPset \"texAlpha1\" 0.5; bPset \"texAlpha2\" -0.59224; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.02; bPset \"repeatV\" 0.3; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.5; bPset \"smear\" 0.82114; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.60194; bPset \"fractalAmplitude\" 0.52428; bPset \"fractalThreshold\" 0.31068; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.6585000157 1;\r\npresetSetPressure 2 5 0 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) dryEraseBlue;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Spatter Heavy Brush: Select spatter heavy brush for painting" + -align "center" + -label "Spatter Heavy Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "spatterHeavy.xpm" + -image1 "spatterHeavy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();\r\n bPset (\"time\") 0;\r\n bPset (\"globalScale\")(0.200000003);\r\n bPset (\"depth\") 0;\r\n bPset (\"illuminated\") 0;\r\n bPset (\"castShadows\") 0;\r\n bPset (\"branches\") 0;\r\n bPset (\"twigs\") 0;\r\n bPset (\"buds\") 0;\r\n bPset (\"leaves\") 0;\r\n bPset (\"flowers\") 0;\r\n bPset (\"brushType\") 0;\r\n bPset (\"brushWidth\") 0.008128;\r\n bPset (\"stampDensity\") 0.5;\r\n bPset (\"softness\") 0.43902;\r\n bPset (\"color1R\") 0;\r\n bPset (\"color1G\") 0;\r\n bPset (\"color1B\") 1;\r\n bPset (\"color2R\") 0;\r\n bPset (\"color2G\") 0.09803921729;\r\n bPset (\"color2B\") 0.870588243;\r\n bPset (\"transparency1R\") 0.6654331088;\r\n bPset (\"transparency1G\") 0.7249218822;\r\n bPset (\"transparency1B\") 0.9137254953;\r\n bPset (\"transparency2R\") 0.6937957406;\r\n bPset (\"transparency2G\") 0.7264562249;\r\n bPset (\"transparency2B\") 0.8156862855;\r\n bPset (\"incandescence1R\") 0;\r\n bPset (\"incandescence1G\") 0;\r\n bPset (\"incandescence1B\") 0;\r\n bPset (\"incandescence2R\") 0;\r\n bPset (\"incandescence2G\") 0;\r\n bPset (\"incandescence2B\") 0;\r\n bPset (\"specularColorR\") 0;\r\n bPset (\"specularColorG\") 0;\r\n bPset (\"specularColorB\") 0;\r\n bPset (\"specular\") 0;\r\n bPset (\"specularPower\") 10;\r\n bPset (\"translucence\") 0.00814;\r\n bPset (\"glow\") 0;\r\n bPset (\"glowColorR\") 0;\r\n bPset (\"glowColorG\") 0;\r\n bPset (\"glowColorB\") 0;\r\n bPset (\"glowSpread\") 1;\r\n bPset (\"hueRand\") 0.04878;\r\n bPset (\"satRand\") 0.23578;\r\n bPset (\"valRand\") 0.0813;\r\n bPset (\"rootFade\") 0.0813;\r\n bPset (\"tipFade\") 0;\r\n bPset (\"fakeShadow\") 0;\r\n bPset (\"shadowOffset\") 0.5;\r\n bPset (\"shadowDiffusion\") 0.1;\r\n bPset (\"shadowTransparency\") 0.8;\r\n bPset (\"backShadow\") 0;\r\n bPset (\"brightnessRand\") 0;\r\n bPset (\"centerShadow\") 0;\r\n bPset (\"depthShadowType\") 0;\r\n bPset (\"depthShadow\") 0;\r\n bPset (\"depthShadowDepth\") 0;\r\n bPset (\"realLights\") 0;\r\n bPset (\"lightDirectionX\") 0.5;\r\n bPset (\"lightDirectionY\") 0.5;\r\n bPset (\"lightDirectionZ\") -0.5;\r\n bPset (\"gapSize\") 0;\r\n bPset (\"gapSpacing\") 1;\r\n bPset (\"gapRand\") 1;\r\n bPset (\"flowSpeed\") 0;\r\n bPset (\"timeClip\") 0;\r\n bPset (\"strokeTime\") 0;\r\n bPset (\"startTime\") 0;\r\n bPset (\"endTime\") 1000;\r\n bPset (\"tubes\") 1;\r\n bPset (\"tubeCompletion\") 0;\r\n bPset (\"tubesPerStep\") 40;\r\n bPset (\"startTubes\") 0;\r\n bPset (\"lengthMax\") 0.1626;\r\n bPset (\"lengthMin\") 0.009999999776;\r\n bPset (\"segments\") 7;\r\n bPset (\"tubeWidth1\") 0.060976;\r\n bPset (\"tubeWidth2\") 0.063416;\r\n bPset (\"widthRand\") 0.6748;\r\n bPset (\"widthBias\") -0.75608;\r\n bPset (\"lengthFlex\") 0;\r\n bPset (\"segmentLengthBias\") 0;\r\n bPset (\"segmentWidthBias\") 0;\r\n bPset (\"elevationMin\") 0;\r\n bPset (\"elevationMax\") 0;\r\n bPset (\"azimuthMin\") -1;\r\n bPset (\"azimuthMax\") 1;\r\n bPset (\"flatness1\") 0;\r\n bPset (\"flatness2\") 0;\r\n bPset (\"twist\") 0;\r\n bPset (\"twistRate\") 0;\r\n bPset (\"twistRand\") 1;\r\n bPset (\"spiralMin\") 0;\r\n bPset (\"spiralMax\") 0;\r\n bPset (\"spiralDecay\") 0;\r\n bPset (\"displacementDelay\") 0.2;\r\n bPset (\"wiggle\") 0;\r\n bPset (\"wiggleFrequency\") 5;\r\n bPset (\"wiggleOffset\") 0;\r\n bPset (\"curl\") 0;\r\n bPset (\"curlFrequency\") 1;\r\n bPset (\"curlOffset\") 0;\r\n bPset (\"noise\") 0;\r\n bPset (\"noiseFrequency\") 0.2;\r\n bPset (\"splitMaxDepth\") 2;\r\n bPset (\"splitRand\") 0;\r\n bPset (\"splitAngle\") 30;\r\n bPset (\"splitSizeDecay\") 0.7;\r\n bPset (\"splitBias\") 0;\r\n bPset (\"splitTwist\") 0.5;\r\n bPset (\"startBranches\") 0;\r\n bPset (\"numBranches\") 2;\r\n bPset (\"branchDropout\") 0;\r\n bPset (\"middleBranch\") 0;\r\n bPset (\"minSize\") 0.0001;\r\n bPset (\"pathFollow\") 0;\r\n bPset (\"pathAttract\") 0;\r\n bPset (\"curveFollow\") 0;\r\n bPset (\"curveAttract\") 0;\r\n bPset (\"curveMaxDist\") 0;\r\n bPset (\"uniformForceX\") 0;\r\n bPset (\"uniformForceY\") 0;\r\n bPset (\"uniformForceZ\") 0;\r\n bPset (\"turbulenceType\") 0;\r\n bPset (\"turbulenceInterpolation\") 0;\r\n bPset (\"turbulence\") 0.2;\r\n bPset (\"turbulenceFrequency\") 0.2;\r\n bPset (\"turbulenceSpeed\") 0.5;\r\n bPset (\"turbulenceOffsetX\") 0;\r\n bPset (\"turbulenceOffsetY\") 0;\r\n bPset (\"turbulenceOffsetZ\") 0;\r\n bPset (\"random\") 0;\r\n bPset (\"gravity\") 0.06504;\r\n bPset (\"momentum\") 1;\r\n bPset (\"deflection\") 0;\r\n bPset (\"deflectionMin\") 0;\r\n bPset (\"deflectionMax\") 0.3;\r\n bPset (\"twigsInCluster\") 1;\r\n bPset (\"twigDropout\") 0;\r\n bPset (\"twigAngle1\") 90;\r\n bPset (\"twigAngle2\") 80;\r\n bPset (\"twigTwist\") 0;\r\n bPset (\"twigLength\") 0.5;\r\n bPset (\"twigStart\") 0.5;\r\n bPset (\"numTwigClusters\") 4;\r\n bPset (\"twigBaseWidth\") 0.4;\r\n bPset (\"twigTipWidth\") 0.2;\r\n bPset (\"leavesInCluster\") 1;\r\n bPset (\"leafDropout\") 0;\r\n bPset (\"leafAngle1\") 75;\r\n bPset (\"leafAngle2\") 25;\r\n bPset (\"leafTwist\") 0;\r\n bPset (\"leafSegments\") 5;\r\n bPset (\"leafStart\") 0.5;\r\n bPset (\"numLeafClusters\") 3;\r\n bPset (\"leafFlatness\") 1;\r\n bPset (\"leafLength\") 0.3;\r\n bPset (\"leafBaseWidth\") 0.15;\r\n bPset (\"leafTipWidth\") 0.05;\r\n bPset (\"leafSizeDecay\") 0.7;\r\n bPset (\"leafTranslucence\") 0.7;\r\n bPset (\"terminalLeaf\") 0;\r\n bPset (\"leafColor1R\") 0.200000003;\r\n bPset (\"leafColor1G\") 0.6000000238;\r\n bPset (\"leafColor1B\") 0.3000000119;\r\n bPset (\"leafColor2R\") 0.400000006;\r\n bPset (\"leafColor2G\") 0.6000000238;\r\n bPset (\"leafColor2B\") 0.3000000119;\r\n bPset (\"leafHueRand\") 0;\r\n bPset (\"leafSatRand\") 0;\r\n bPset (\"leafValRand\") 0;\r\n bPset (\"budSize\") 0.03;\r\n bPset (\"budColorR\") 0.400000006;\r\n bPset (\"budColorG\") 0.8000000119;\r\n bPset (\"budColorB\") 0.200000003;\r\n bPset (\"petalsInFlower\") 1;\r\n bPset (\"petalDropout\") 0;\r\n bPset (\"flowerAngle1\") 75;\r\n bPset (\"flowerAngle2\") 25;\r\n bPset (\"flowerTwist\") 0.23;\r\n bPset (\"petalSegments\") 5;\r\n bPset (\"flowerStart\") 1;\r\n bPset (\"numFlowers\") 10;\r\n bPset (\"petalFlatness\") 1;\r\n bPset (\"petalLength\") 0.2;\r\n bPset (\"petalBaseWidth\") 0.05;\r\n bPset (\"petalTipWidth\") 0.1;\r\n bPset (\"flowerSizeDecay\") 0.7;\r\n bPset (\"flowerTranslucence\") 0.7;\r\n bPset (\"petalColor1R\") 0.8000000119;\r\n bPset (\"petalColor1G\") 0.200000003;\r\n bPset (\"petalColor1B\") 0.1000000015;\r\n bPset (\"petalColor2R\") 1;\r\n bPset (\"petalColor2G\") 1;\r\n bPset (\"petalColor2B\") 1;\r\n bPset (\"flowerHueRand\") 0;\r\n bPset (\"flowerSatRand\") 0;\r\n bPset (\"flowerValRand\") 0;\r\n bPset (\"colorLengthMap\") 0;\r\n bPset (\"transpLengthMap\") 0;\r\n bPset (\"incandLengthMap\") 0;\r\n bPset (\"widthLengthMap\") 0;\r\n bPset (\"splitLengthMap\") 0;\r\n bPset (\"mapColor\") 0;\r\n bPset (\"mapOpacity\") 0;\r\n bPset (\"shaderGlow\") 0; bPset (\"texColorScale\") 1; bPset (\"texColorOffset\") 0; bPset (\"texOpacityScale\") 1; bPset (\"texOpacityOffset\") 0; bPset (\"texAlpha1\") 1; bPset (\"texAlpha2\") 0; bPset (\"tubeDirection\") 0; bPset (\"screenspaceWidth\") 0; bPset (\"edgeAntialias\") 1; bPset (\"modifyColor\") 1; bPset (\"modifyDepth\") 1; bPset (\"modifyAlpha\") 1; bPset (\"leafUseBranchTex\") 1; bPset (\"flowerUseBranchTex\") 1;\r\n bPset (\"textureType\") 0;\r\n bPset (\"mapMethod\") 2;\r\n bPset (\"texColor1R\") 1;\r\n bPset (\"texColor1G\") 1;\r\n bPset (\"texColor1B\") 1;\r\n bPset (\"texColor2R\") 0;\r\n bPset (\"texColor2G\") 0;\r\n bPset (\"texColor2B\") 0;\r\n bPset (\"texUniformity\") 0.5;\r\n bPset (\"repeatU\") 1;\r\n bPset (\"repeatV\") 1;\r\n bPset (\"offsetU\") 0;\r\n bPset (\"offsetV\") 0;\r\n bPset (\"blurMult\") 1;\r\n bPset (\"smear\") 0.1;\r\n bPset (\"smearU\") 0;\r\n bPset (\"smearV\") 0;\r\n bPset (\"fractalRatio\") 0.7;\r\n bPset (\"fractalAmplitude\") 1;\r\n bPset (\"fractalThreshold\") 0;\r\n presetSetPressure 1 5 0 1;\r\npresetSetPressure 2 1 0.2682999969 1.5;\r\npresetSetPressure 3 0 0 1;\r\nbrushPresetApply();\r\nrename (getDefaultBrush()) spatterHeavy;\r\n \r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smear Color Brush: Select smear color brush for painting" + -align "center" + -label "Smear Color Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "smearColor.xpm" + -image1 "smearColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.25; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 1; bPset \"brushWidth\" 0.200000003; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 12; bPset \"softness\" 0.63414; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 0; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.05098039284; bPset \"transparency1G\" 0.4470588267; bPset \"transparency1B\" 0.8078431487; bPset \"transparency2R\" 0.2922559083; bPset \"transparency2G\" 0.5024155974; bPset \"transparency2B\" 0.9529411793; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1.5534; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.4854; bPset \"lengthMin\" 0; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.1; bPset \"tubeWidth2\" 0.052428; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.26214; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.65048; bPset \"spiralMax\" 0.5728; bPset \"spiralDecay\" 0.0066992; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 5 0 1;\r\npresetSetPressure 2 0 0 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) smearColor;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Clean Water Drip Brush: Select clean water drip brush for painting" + -align "center" + -label "Clean Water Drip Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cleanWaterDrip.xpm" + -image1 "cleanWaterDrip.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();\r\n bPset (\"time\") 0;\r\n bPset (\"globalScale\")(0.1000000015);\r\n bPset (\"depth\") 0;\r\n bPset (\"illuminated\") 0;\r\n bPset (\"castShadows\") 0;\r\n bPset (\"branches\") 0;\r\n bPset (\"twigs\") 0;\r\n bPset (\"buds\") 0;\r\n bPset (\"leaves\") 0;\r\n bPset (\"flowers\") 0;\r\n bPset (\"brushType\") 1;\r\n bPset (\"brushWidth\") 0.093496;\r\n bPset (\"stampDensity\") 12;\r\n bPset (\"softness\") 0.58536;\r\n bPset (\"color1R\") 0;\r\n bPset (\"color1G\") 0;\r\n bPset (\"color1B\") 0;\r\n bPset (\"color2R\") 0;\r\n bPset (\"color2G\") 0;\r\n bPset (\"color2B\") 0;\r\n bPset (\"transparency1R\") 0.204517588;\r\n bPset (\"transparency1G\") 0.2616667151;\r\n bPset (\"transparency1B\") 0.2978723347;\r\n bPset (\"transparency2R\") 0.270588249;\r\n bPset (\"transparency2G\") 0.4352941215;\r\n bPset (\"transparency2B\") 0.6274510026;\r\n bPset (\"incandescence1R\") 0;\r\n bPset (\"incandescence1G\") 0;\r\n bPset (\"incandescence1B\") 0;\r\n bPset (\"incandescence2R\") 0;\r\n bPset (\"incandescence2G\") 0;\r\n bPset (\"incandescence2B\") 0;\r\n bPset (\"specularColorR\") 0;\r\n bPset (\"specularColorG\") 0;\r\n bPset (\"specularColorB\") 0;\r\n bPset (\"specular\") 0;\r\n bPset (\"specularPower\") 10;\r\n bPset (\"translucence\") 0.2;\r\n bPset (\"glow\") 0;\r\n bPset (\"glowColorR\") 0.5529412031;\r\n bPset (\"glowColorG\") 0.1725490242;\r\n bPset (\"glowColorB\") 0.2313725501;\r\n bPset (\"glowSpread\") 4.7318;\r\n bPset (\"hueRand\") 0;\r\n bPset (\"satRand\") 0;\r\n bPset (\"valRand\") 0;\r\n bPset (\"rootFade\") 0;\r\n bPset (\"tipFade\") 0;\r\n bPset (\"fakeShadow\") 0;\r\n bPset (\"shadowOffset\") 0.52032;\r\n bPset (\"shadowDiffusion\") 0.6504;\r\n bPset (\"shadowTransparency\") 0.87804;\r\n bPset (\"backShadow\") 0;\r\n bPset (\"brightnessRand\") 0;\r\n bPset (\"centerShadow\") 0;\r\n bPset (\"depthShadowType\") 0;\r\n bPset (\"depthShadow\") 0;\r\n bPset (\"depthShadowDepth\") 0;\r\n bPset (\"realLights\") 0;\r\n bPset (\"lightDirectionX\") 0.5;\r\n bPset (\"lightDirectionY\") -0.5;\r\n bPset (\"lightDirectionZ\") -0.5;\r\n bPset (\"gapSize\") 0;\r\n bPset (\"gapSpacing\") 1;\r\n bPset (\"gapRand\") 1;\r\n bPset (\"flowSpeed\") 0;\r\n bPset (\"timeClip\") 0;\r\n bPset (\"strokeTime\") 0;\r\n bPset (\"startTime\") 0;\r\n bPset (\"endTime\") 1000;\r\n bPset (\"tubes\") 1;\r\n bPset (\"tubeCompletion\") 1;\r\n bPset (\"tubesPerStep\") 2.8456;\r\n bPset (\"startTubes\") 0;\r\n bPset (\"lengthMax\") 0.8944;\r\n bPset (\"lengthMin\") 0.5692;\r\n bPset (\"segments\") 20;\r\n bPset (\"tubeWidth1\") 0.206661;\r\n bPset (\"tubeWidth2\") 0.173712;\r\n bPset (\"widthRand\") 0.36586;\r\n bPset (\"widthBias\") -0.38212;\r\n bPset (\"lengthFlex\") 0.15448;\r\n bPset (\"segmentLengthBias\") 0.10568;\r\n bPset (\"segmentWidthBias\") 0;\r\n bPset (\"elevationMin\") 0;\r\n bPset (\"elevationMax\") 0;\r\n bPset (\"azimuthMin\") -1;\r\n bPset (\"azimuthMax\") 1;\r\n bPset (\"flatness1\") 0.77236;\r\n bPset (\"flatness2\") 0;\r\n bPset (\"twist\") 0;\r\n bPset (\"twistRate\") 0;\r\n bPset (\"twistRand\") 1;\r\n bPset (\"spiralMin\") 0;\r\n bPset (\"spiralMax\") 0;\r\n bPset (\"spiralDecay\") 0;\r\n bPset (\"displacementDelay\") 0.2;\r\n bPset (\"wiggle\") 0;\r\n bPset (\"wiggleFrequency\") 5;\r\n bPset (\"wiggleOffset\") 0;\r\n bPset (\"curl\") 0;\r\n bPset (\"curlFrequency\") 1;\r\n bPset (\"curlOffset\") 0;\r\n bPset (\"noise\") 0;\r\n bPset (\"noiseFrequency\") 0.2;\r\n bPset (\"splitMaxDepth\") 3;\r\n bPset (\"splitRand\") 0.22764;\r\n bPset (\"splitAngle\") 43.902;\r\n bPset (\"splitSizeDecay\") 0.7;\r\n bPset (\"splitBias\") 0;\r\n bPset (\"splitTwist\") 0.5;\r\n bPset (\"startBranches\") 0;\r\n bPset (\"numBranches\") 2;\r\n bPset (\"branchDropout\") 0.69106;\r\n bPset (\"middleBranch\") 0;\r\n bPset (\"minSize\") 0.0001;\r\n bPset (\"pathFollow\") 0.00814;\r\n bPset (\"pathAttract\") 0;\r\n bPset (\"curveFollow\") 0;\r\n bPset (\"curveAttract\") 0;\r\n bPset (\"curveMaxDist\") 0;\r\n bPset (\"uniformForceX\") 0;\r\n bPset (\"uniformForceY\") 0;\r\n bPset (\"uniformForceZ\") 0;\r\n bPset (\"turbulenceType\") 0;\r\n bPset (\"turbulenceInterpolation\") 0;\r\n bPset (\"turbulence\") 0.2;\r\n bPset (\"turbulenceFrequency\") 0.2;\r\n bPset (\"turbulenceSpeed\") 0.5;\r\n bPset (\"turbulenceOffsetX\") 0;\r\n bPset (\"turbulenceOffsetY\") 0;\r\n bPset (\"turbulenceOffsetZ\") 0;\r\n bPset (\"random\") 0.57724;\r\n bPset (\"gravity\") 1;\r\n bPset (\"momentum\") 0.04878;\r\n bPset (\"deflection\") 0;\r\n bPset (\"deflectionMin\") 0;\r\n bPset (\"deflectionMax\") 0.3;\r\n bPset (\"twigsInCluster\") 1;\r\n bPset (\"twigDropout\") 0;\r\n bPset (\"twigAngle1\") 90;\r\n bPset (\"twigAngle2\") 80;\r\n bPset (\"twigTwist\") 0;\r\n bPset (\"twigLength\") 0.5;\r\n bPset (\"twigStart\") 0.5;\r\n bPset (\"numTwigClusters\") 4;\r\n bPset (\"twigBaseWidth\") 0.4;\r\n bPset (\"twigTipWidth\") 0.2;\r\n bPset (\"leavesInCluster\") 1;\r\n bPset (\"leafDropout\") 0;\r\n bPset (\"leafAngle1\") 75;\r\n bPset (\"leafAngle2\") 25;\r\n bPset (\"leafTwist\") 0;\r\n bPset (\"leafSegments\") 5;\r\n bPset (\"leafStart\") 0.5;\r\n bPset (\"numLeafClusters\") 3;\r\n bPset (\"leafFlatness\") 1;\r\n bPset (\"leafLength\") 0.3;\r\n bPset (\"leafBaseWidth\") 0.15;\r\n bPset (\"leafTipWidth\") 0.05;\r\n bPset (\"leafSizeDecay\") 0.7;\r\n bPset (\"leafTranslucence\") 0.3;\r\n bPset (\"terminalLeaf\") 0;\r\n bPset (\"leafColor1R\") 0.200000003;\r\n bPset (\"leafColor1G\") 0.6000000238;\r\n bPset (\"leafColor1B\") 0.3000000119;\r\n bPset (\"leafColor2R\") 0.400000006;\r\n bPset (\"leafColor2G\") 0.6000000238;\r\n bPset (\"leafColor2B\") 0.3000000119;\r\n bPset (\"leafHueRand\") 0;\r\n bPset (\"leafSatRand\") 0;\r\n bPset (\"leafValRand\") 0;\r\n bPset (\"budSize\") 0.03;\r\n bPset (\"budColorR\") 0.400000006;\r\n bPset (\"budColorG\") 0.8000000119;\r\n bPset (\"budColorB\") 0.200000003;\r\n bPset (\"petalsInFlower\") 1;\r\n bPset (\"petalDropout\") 0;\r\n bPset (\"flowerAngle1\") 75;\r\n bPset (\"flowerAngle2\") 25;\r\n bPset (\"flowerTwist\") 0.23;\r\n bPset (\"petalSegments\") 5;\r\n bPset (\"flowerStart\") 1;\r\n bPset (\"numFlowers\") 10;\r\n bPset (\"petalFlatness\") 1;\r\n bPset (\"petalLength\") 0.2;\r\n bPset (\"petalBaseWidth\") 0.05;\r\n bPset (\"petalTipWidth\") 0.1;\r\n bPset (\"flowerSizeDecay\") 0.7;\r\n bPset (\"flowerTranslucence\") 0.3;\r\n bPset (\"petalColor1R\") 0.8000000119;\r\n bPset (\"petalColor1G\") 0.200000003;\r\n bPset (\"petalColor1B\") 0.1000000015;\r\n bPset (\"petalColor2R\") 1;\r\n bPset (\"petalColor2G\") 1;\r\n bPset (\"petalColor2B\") 1;\r\n bPset (\"flowerHueRand\") 0;\r\n bPset (\"flowerSatRand\") 0;\r\n bPset (\"flowerValRand\") 0;\r\n bPset (\"colorLengthMap\") 0;\r\n bPset (\"transpLengthMap\") 0;\r\n bPset (\"incandLengthMap\") 0;\r\n bPset (\"widthLengthMap\") 1;\r\n bPset (\"splitLengthMap\") 1;\r\n bPset (\"mapColor\") 0;\r\n bPset (\"mapOpacity\") 0;\r\n bPset (\"shaderGlow\") 0; bPset (\"texColorScale\") 1; bPset (\"texColorOffset\") 0; bPset (\"texOpacityScale\") 1; bPset (\"texOpacityOffset\") 0; bPset (\"texAlpha1\") 1; bPset (\"texAlpha2\") 0; bPset (\"tubeDirection\") 0; bPset (\"screenspaceWidth\") 0; bPset (\"edgeAntialias\") 1; bPset (\"modifyColor\") 1; bPset (\"modifyDepth\") 1; bPset (\"modifyAlpha\") 1; bPset (\"leafUseBranchTex\") 1; bPset (\"flowerUseBranchTex\") 1;\r\n bPset (\"textureType\") 3;\r\n bPset (\"mapMethod\") 0;\r\n bPset (\"texColor1R\") 1;\r\n bPset (\"texColor1G\") 1;\r\n bPset (\"texColor1B\") 1;\r\n bPset (\"texColor2R\") 0;\r\n bPset (\"texColor2G\") 0;\r\n bPset (\"texColor2B\") 0;\r\n bPset (\"texUniformity\") 0.5;\r\n bPset (\"repeatU\") 4.0244;\r\n bPset (\"repeatV\") 3.94312;\r\n bPset (\"offsetU\") 0;\r\n bPset (\"offsetV\") 0;\r\n bPset (\"blurMult\") 0.61788;\r\n bPset (\"smear\") 0.1;\r\n bPset (\"smearU\") 0;\r\n bPset (\"smearV\") 0;\r\n bPset (\"fractalRatio\") 0.86992;\r\n bPset (\"fractalAmplitude\") 2.62184;\r\n bPset (\"fractalThreshold\") 1.200000048;\r\n presetSetPressure 1 1 0.7317000031 1;\r\npresetSetPressure 2 5 0.02439999953 1;\r\npresetSetPressure 3 7 0.3088999987 1.609799981;\r\nbrushPresetApply();\r\nrename (getDefaultBrush()) cleanWaterDrip;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rice Fiber Paper Brush: Select rice fiber paper brush for painting" + -align "center" + -label "Rice Fiber Paper Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "riceFiber.xpm" + -image1 "riceFiber.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.6629218653; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.30760799; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.61164; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.8784313798; bPset \"color1G\" 0.8980392218; bPset \"color1B\" 0.9450980425; bPset \"color2R\" 0.9784989953; bPset \"color2G\" 0.9921568632; bPset \"color2B\" 0.9007232785; bPset \"transparency1R\" 0.2431372553; bPset \"transparency1G\" 0.2431372553; bPset \"transparency1B\" 0.2431372553; bPset \"transparency2R\" 0.1921568662; bPset \"transparency2G\" 0.1921568662; bPset \"transparency2B\" 0.1921568662; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.9490196109; bPset \"specularColorB\" 0.8235294223; bPset \"specular\" 1; bPset \"specularPower\" 5.8252; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.13592; bPset \"tipFade\" 0.14564; bPset \"fakeShadow\" 1; bPset \"shadowOffset\" 0.60194; bPset \"shadowDiffusion\" 0.36894; bPset \"shadowTransparency\" 0.87378; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.02912; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.002; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 10; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.5826; bPset \"lengthMin\" 0.6796; bPset \"segments\" 19; bPset \"tubeWidth1\" 0.006796; bPset \"tubeWidth2\" 0.006796; bPset \"widthRand\" 0.42718; bPset \"widthBias\" -0.65048; bPset \"lengthFlex\" 0.62136; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.07766; bPset \"elevationMax\" 0.1165; bPset \"azimuthMin\" -0.21952; bPset \"azimuthMax\" 0.21952; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.37864; bPset \"spiralMax\" 0.28156; bPset \"spiralDecay\" 0.0070872; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 1.9421; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.6311; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.03884; bPset \"pathAttract\" 0.1068; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.03884; bPset \"turbulenceFrequency\" 2.9408; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.009999999776; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 10 0.1 1.5;\r\npresetSetPressure 2 1 0.3 1;\r\npresetSetPressure 3 5 0.2 1;\r\nrename (getDefaultBrush()) riceFiber;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Gold Brush: Select gold brush for painting" + -align "center" + -label "Gold Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "gold.xpm" + -image1 "gold.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.9861201994; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.05; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 10; bPset \"softness\" 0.3301; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.4876577854; bPset \"color1B\" 0.0860440135; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.09803921729; bPset \"transparency1G\" 0.1058823541; bPset \"transparency1B\" 0.1058823541; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.8132051229; bPset \"specularColorB\" 0.4424633384; bPset \"specular\" 3.11505; bPset \"specularPower\" 3.4952; bPset \"translucence\" 0.18446; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.5631; bPset \"depthShadowDepth\" 0.07766; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.15; bPset \"lengthMin\" 0; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.005826; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.74758; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 0.8932; bPset \"texColorOffset\" 0.6699; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 0.1850801855; bPset \"texColor1G\" 0.2695454359; bPset \"texColor1B\" 0.2576201558; bPset \"texColor2R\" 1.200000048; bPset \"texColor2G\" 0.9214813709; bPset \"texColor2B\" 0.8994473815; bPset \"texAlpha1\" 0.07766; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0; bPset \"repeatV\" 2.18448; bPset \"offsetU\" 0; bPset \"offsetV\" 0.15534; bPset \"blurMult\" 1.1262; bPset \"smear\" 0.18446; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 2 0 1;\r\npresetSetPressure 2 5 0.6341 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) gold;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Water Tube Brush: Select water tube brush for painting" + -align "center" + -label "Water Tube Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "watertube.xpm" + -image1 "watertube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2305542027; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.160192; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 9.7088; bPset \"softness\" -0.24272; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.6558899879; bPset \"color1G\" 0.7863596082; bPset \"color1B\" 0.9254902005; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.589956522; bPset \"transparency1G\" 0.6860368848; bPset \"transparency1B\" 0.6901960969; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 1; bPset \"specularPower\" 3.3008; bPset \"translucence\" 0.34952; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.26214; bPset \"shadowDiffusion\" 0.767; bPset \"shadowTransparency\" 0.91262; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 1; bPset \"lengthMin\" 0; bPset \"segments\" 2; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.01; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 1; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.52428; bPset \"texOpacityOffset\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2039215714; bPset \"texColor2G\" 0.2039215714; bPset \"texColor2B\" 0.2039215714; bPset \"texAlpha1\" 0.3204; bPset \"texAlpha2\" -0.45632; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.77672; bPset \"repeatV\" 0.58256; bPset \"offsetU\" 0; bPset \"offsetV\" 0.93204; bPset \"blurMult\" 7.6677; bPset \"smear\" 0.2136; bPset \"smearU\" 0; bPset \"smearV\" 0.1165; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.2 1;\r\npresetSetPressure 2 5 0.2 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) watertube;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Vitamin E Brush: Select vitamin E brush for painting" + -align "center" + -label "Vitamin E Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "vitamineE.xpm" + -image1 "vitamineE.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.639375717; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.5728; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 2; bPset \"color1G\" 1.453249216; bPset \"color1B\" 0.4214978218; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.2666666806; bPset \"transparency1G\" 0.270588249; bPset \"transparency1B\" 0.1411764771; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0.1868181825; bPset \"incandescence1G\" 0.02564060688; bPset \"incandescence1B\" 0.0222984571; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.8152915835; bPset \"specularColorB\" 0.6521323919; bPset \"specular\" 0.36894; bPset \"specularPower\" 1.5532; bPset \"translucence\" 0.42718; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 1; bPset \"shadowOffset\" 0.27184; bPset \"shadowDiffusion\" 0.69902; bPset \"shadowTransparency\" 0.61166; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0.57282; bPset \"gapSpacing\" 2; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.07; bPset \"lengthMin\" 0; bPset \"segments\" 10; bPset \"tubeWidth1\" 0.027186; bPset \"tubeWidth2\" 0.01068; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0.57282; bPset \"azimuthMin\" -0.22332; bPset \"azimuthMax\" 0.1068; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 2.5338; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.5; bPset \"repeatV\" 1; bPset \"offsetU\" 0.30098; bPset \"offsetV\" 0; bPset \"blurMult\" 0.93204; bPset \"smear\" 0.12622; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"bubble.iff\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.7 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) vitamineE;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Neon Blue Brush: Select neon blue brush for painting" + -align "center" + -label "Neon Blue Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "neonBlue.xpm" + -image1 "neonBlue.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.4447684171; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.03500000015; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 5.8256; bPset \"softness\" -0.16504; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.1450980455; bPset \"color1G\" 0.07843137532; bPset \"color1B\" 0.04705882445; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.9450980425; bPset \"transparency1G\" 0.9450980425; bPset \"transparency1B\" 0.9450980425; bPset \"transparency2R\" 0.9450980425; bPset \"transparency2G\" 0.9450980425; bPset \"transparency2B\" 0.9450980425; bPset \"incandescence1R\" 0.01568627357; bPset \"incandescence1G\" 0.1411764771; bPset \"incandescence1B\" 0.3764705956; bPset \"incandescence2R\" 0.01196968555; bPset \"incandescence2G\" 0.1077273041; bPset \"incandescence2B\" 0.2872727215; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0.60976; bPset \"glowColorR\" 1; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0.6735985875; bPset \"glowSpread\" 6; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 1; bPset \"shadowOffset\" 0.36586; bPset \"shadowDiffusion\" 0.47572; bPset \"shadowTransparency\" 0.13592; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1; bPset \"lengthMin\" 0.1; bPset \"segments\" 2; bPset \"tubeWidth1\" 0.02233; bPset \"tubeWidth2\" 0.024272; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" -0.3; bPset \"azimuthMax\" -0.3; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2196078449; bPset \"texColor2G\" 0.2196078449; bPset \"texColor2B\" 0.2196078449; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 2.35776; bPset \"repeatV\" 1.86992; bPset \"offsetU\" 0; bPset \"offsetV\" 0.57724; bPset \"blurMult\" 2.5; bPset \"smear\" 0.07318; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 8 0 1;\r\npresetSetPressure 2 0 0 1;\r\npresetSetPressure 3 9 0.3007999957 1;\r\nrename (getDefaultBrush()) neonBlue;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Yellow Yarn Brush: Select yellow yarn brush for painting" + -align "center" + -label "Yellow Yarn Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "yarnYellow.xpm" + -image1 "yarnYellow.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.3844149344; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.70872; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.9872972369; bPset \"color1B\" 0.3364299536; bPset \"color2R\" 1; bPset \"color2G\" 0.8713098764; bPset \"color2B\" 0.1976335049; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.4942396283; bPset \"specularColorB\" 0.3000657558; bPset \"specular\" 0.3398; bPset \"specularPower\" 2.9128; bPset \"translucence\" 0.50486; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.0097; bPset \"satRand\" 0.2136; bPset \"valRand\" 0.01942; bPset \"rootFade\" 0.12622; bPset \"tipFade\" 0.1068; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.29126; bPset \"shadowTransparency\" 0.3301; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.07766; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.3301; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.4; bPset \"tubeRand\" 0; bPset \"startTubes\" 2; bPset \"lengthMax\" 0.4; bPset \"lengthMin\" 0.3; bPset \"segments\" 25; bPset \"tubeWidth1\" 0.03; bPset \"tubeWidth2\" 0.03; bPset \"widthRand\" 0.15534; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.87378; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" -0.08736; bPset \"azimuthMax\" 0.06796; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0.043688; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 1; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0.5; bPset \"texOpacityOffset\" 0.5; bPset \"texColor1R\" 1.5; bPset \"texColor1G\" 1.481605291; bPset \"texColor1B\" 1.467954636; bPset \"texColor2R\" 0.08627451211; bPset \"texColor2G\" 0.03529411927; bPset \"texColor2B\" 0.007843136787; bPset \"texAlpha1\" 0.5; bPset \"texAlpha2\" -0.16504; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 0.19416; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.6602; bPset \"smear\" 0; bPset \"smearU\" 0.08738; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.84466; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0.37864; \r\nbPsetName \"imageName\" \"rope.iff\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 1 1;\r\npresetSetPressure 2 0 0.3 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) yarnYellow;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Hair Blond Wave Brush: Select hair blond wave brush for painting" + -align "center" + -label "Hair Blond Wave Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hairBlondWave.xpm" + -image1 "hairBlondWave.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.3252; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3.5; bPset \"softness\" 0.11382; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.2313725501; bPset \"color1G\" 0.168860063; bPset \"color1B\" 0.04269617423; bPset \"color2R\" 0.4941176474; bPset \"color2G\" 0.4745098054; bPset \"color2B\" 0.2901960909; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.9825035334; bPset \"specularColorB\" 0.6881539822; bPset \"specular\" 0.47572; bPset \"specularPower\" 15.6849; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.01626; bPset \"satRand\" 0.1165; bPset \"valRand\" 0.14564; bPset \"rootFade\" 0; bPset \"tipFade\" 0.09708; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.07766; bPset \"brightnessRand\" 0.70874; bPset \"centerShadow\" 0.2233; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.93204; bPset \"depthShadowDepth\" 0.17476; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 8; bPset \"tubeRand\" 0.53398; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.068; bPset \"lengthMin\" 0.3884; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.01; bPset \"tubeWidth2\" 0.00244; bPset \"widthRand\" 0.22764; bPset \"widthBias\" -0.36584; bPset \"lengthFlex\" 0.23578; bPset \"segmentLengthBias\" 0.05000000075; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.76422; bPset \"elevationMax\" 0.86992; bPset \"azimuthMin\" -0.05000000075; bPset \"azimuthMax\" 0.05000000075; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.7767; bPset \"wiggle\" 0.020328; bPset \"wiggleFrequency\" 13; bPset \"wiggleOffset\" 0; bPset \"curl\" 0.7; bPset \"curlFrequency\" 1.5; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.50412; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.23578; bPset \"pathAttract\" 0.21952; bPset \"curveFollow\" 1; bPset \"curveAttract\" 0.5; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 2; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.03; bPset \"turbulenceFrequency\" 1.95702; bPset \"turbulenceSpeed\" 0.3398; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.4878; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" -0.47968; bPset \"deflectionMax\" 0.29268; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 2 0.1870000064 1.5;\r\npresetSetPressure 2 0 0.1870000064 1;\r\npresetSetPressure 3 10 0 1.200000048;\r\nrename (getDefaultBrush()) hairBlondWave;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Grass Clump Brush: Select grass clump brush for painting" + -align "center" + -label "Grass Clump Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "grassClump.xpm" + -image1 "grassClump.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 233; bPset \"globalScale\" 0.2; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.2796; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.05692; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.4588235319; bPset \"color1G\" 0.4666666687; bPset \"color1B\" 0.2470588237; bPset \"color2R\" 0.1294117719; bPset \"color2G\" 0.7176470757; bPset \"color2B\" 0.2627451122; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9177373648; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.7933692932; bPset \"specular\" 0.30098; bPset \"specularPower\" 30; bPset \"translucence\" 0.55; bPset \"glow\" 0; bPset \"glowColorR\" 0.4941176474; bPset \"glowColorG\" 0.4941176474; bPset \"glowColorB\" 0.4941176474; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.0244; bPset \"satRand\" 0.05692; bPset \"valRand\" 0.01626; bPset \"rootFade\" 0; bPset \"tipFade\" 0.03252; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.36894; bPset \"brightnessRand\" 0.7864; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.6602; bPset \"depthShadowDepth\" 0.30098; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 10; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.5; bPset \"lengthMin\" 0.1000000015; bPset \"segments\" 9; bPset \"tubeWidth1\" 0.022764; bPset \"tubeWidth2\" 0.004878; bPset \"widthRand\" 0.47968; bPset \"widthBias\" -0.44716; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.42276; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.60976; bPset \"elevationMax\" 0.634; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0.79612; bPset \"flatness2\" 0.82524; bPset \"twist\" 0; bPset \"twistRate\" 0.41464; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 0; bPset \"splitRand\" 0; bPset \"splitAngle\" 13.17; bPset \"splitSizeDecay\" 0.87806; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 3; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.2439; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.03252; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0.70874; bPset \"curveAttract\" 0.59224; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1165; bPset \"turbulenceFrequency\" 0.7864; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.07318; bPset \"gravity\" 0.08944; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 1; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.8000000119 1.200000048;\r\npresetSetPressure 2 10 1 0.6097999811;\r\npresetSetPressure 3 7 0.6179 1.600000024;\r\nrename (getDefaultBrush()) grassClump;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Vine Grey Bud Brush: Select vine grey bud brush for painting" + -align "center" + -label "Vine Grey Bud Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "vineGreyBud.xpm" + -image1 "vineGreyBud.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2350097716; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 1; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.05; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.2; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.6588235497; bPset \"color1G\" 0.2088348716; bPset \"color1B\" 0.2488740236; bPset \"color2R\" 0.6266937256; bPset \"color2G\" 1; bPset \"color2B\" 0.9270715117; bPset \"transparency1R\" 0.02745098062; bPset \"transparency1G\" 0.02745098062; bPset \"transparency1B\" 0.02745098062; bPset \"transparency2R\" 0.02745098062; bPset \"transparency2G\" 0.02745098062; bPset \"transparency2B\" 0.02745098062; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.7071983218; bPset \"specularColorB\" 0.677272737; bPset \"specular\" 0.40776; bPset \"specularPower\" 10; bPset \"translucence\" 0.36894; bPset \"glow\" 0; bPset \"glowColorR\" 0.4666666687; bPset \"glowColorG\" 0.4666666687; bPset \"glowColorB\" 0.4666666687; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.03252; bPset \"satRand\" 0.09756; bPset \"valRand\" 0.11382; bPset \"rootFade\" 0.1068; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 5.691; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.5448; bPset \"lengthMin\" 0.244; bPset \"segments\" 48; bPset \"tubeWidth1\" 0.04309; bPset \"tubeWidth2\" 0.017886; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.25204; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0; bPset \"azimuthMin\" 0; bPset \"azimuthMax\" 0; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.17072; bPset \"spiralMax\" 0.187; bPset \"spiralDecay\" 0.0075608; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 4.389; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.25204; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0.72816; bPset \"curveAttract\" 0.24272; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1; bPset \"turbulenceFrequency\" 0.5; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.02999999933; bPset \"budColorR\" 0.7915789485; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.8000000119; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.7235999703 1;\r\npresetSetPressure 2 7 0.09759999812 1;\r\npresetSetPressure 3 10 1 0.2275999933;\r\nrename (getDefaultBrush()) vineGreyBud;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Daisy Large Brush: Select daisy large brush for painting" + -align "center" + -label "Daisy Large Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "daisyLarge.xpm" + -image1 "daisyLarge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.5864262079; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 1; bPset \"leaves\" 1; bPset \"flowers\" 1; bPset \"brushType\" 0; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.2664398253; bPset \"color1G\" 0.3960784376; bPset \"color1B\" 0.2035091519; bPset \"color2R\" 0.1726915538; bPset \"color2G\" 0.4627451003; bPset \"color2B\" 0.3502541482; bPset \"transparency1R\" 0.08627451211; bPset \"transparency1G\" 0.08627451211; bPset \"transparency1B\" 0.08627451211; bPset \"transparency2R\" 0.08627451211; bPset \"transparency2G\" 0.08627451211; bPset \"transparency2B\" 0.08627451211; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0.15534; bPset \"specularPower\" 10.4856; bPset \"translucence\" 0.4878; bPset \"glow\" 0; bPset \"glowColorR\" 0.5843137503; bPset \"glowColorG\" 0.5843137503; bPset \"glowColorB\" 0.5843137503; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.21952; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.7561; bPset \"depthShadowDepth\" 0.36586; bPset \"realLights\" 0; bPset \"lightDirectionX\" -0.200000003; bPset \"lightDirectionY\" -0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.1626; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.6000000238; bPset \"lengthMin\" 0.400000006; bPset \"segments\" 24; bPset \"tubeWidth1\" 0.012196; bPset \"tubeWidth2\" 0.012196; bPset \"widthRand\" 0.28456; bPset \"widthBias\" -0.52844; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.1382; bPset \"segmentWidthBias\" 0.4065; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.84552; bPset \"elevationMax\" 0.92682; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 3; bPset \"splitRand\" 0.21138; bPset \"splitAngle\" 17.562; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 2; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.187; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0.86408; bPset \"curveAttract\" 0.1068; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.17886; bPset \"gravity\" 0.0813; bPset \"momentum\" 1; bPset \"deflection\" 1; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.08944; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0.09756; bPset \"leafAngle1\" 58.536; bPset \"leafAngle2\" 99.513; bPset \"leafTwist\" 0.38212; bPset \"leafSegments\" 6; bPset \"leafStart\" -0.1000000015; bPset \"numLeafClusters\" 19.512; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.03999999911; bPset \"leafBaseWidth\" 0.03500000015; bPset \"leafTipWidth\" 0.01626; bPset \"leafSizeDecay\" 0.45528; bPset \"leafTranslucence\" 0.3252; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.0627450943; bPset \"leafColor1G\" 0.2039215714; bPset \"leafColor1B\" 0.09803921729; bPset \"leafColor2R\" 0.1450980455; bPset \"leafColor2G\" 0.2196078449; bPset \"leafColor2B\" 0.1098039225; bPset \"leafHueRand\" 0.01626; bPset \"leafSatRand\" 0.03252; bPset \"leafValRand\" 0.11382; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.01999999955; bPset \"budColorR\" 0.8941176534; bPset \"budColorG\" 0.8695746064; bPset \"budColorB\" 0.6739547253; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0.4065; bPset \"flowerAngle1\" 81.951; bPset \"flowerAngle2\" 77.562; bPset \"flowerTwist\" 0.3008; bPset \"petalSegments\" 2; bPset \"flowerStart\" 1; bPset \"numFlowers\" 30; bPset \"petalFlatness\" 0.77236; bPset \"petalLength\" 0.01499999966; bPset \"petalBaseWidth\" 0.01300000027; bPset \"petalTipWidth\" 0.0120000001; bPset \"flowerSizeDecay\" 0.95936; bPset \"flowerTranslucence\" 0.57724; bPset \"petalColor1R\" 0.8431372643; bPset \"petalColor1G\" 0.9058823586; bPset \"petalColor1B\" 0.8941176534; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0.04878; bPset \"flowerValRand\" 0.08944; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"wrapBark.iff\";\r\nbPsetName \"leafImage\" \"sideleaf.rgb\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 21 0.5447000265 1.200000048;\r\npresetSetPressure 2 6 0.5 2;\r\npresetSetPressure 3 7 0.4553000033 1.443899989;\r\nrename (getDefaultBrush()) daisyLarge;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Simple Tree Brush: Select simple tree brush for painting" + -align "center" + -label "Simple Tree Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "treeSimple.xpm" + -image1 "treeSimple.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.2715163545; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 1; bPset \"branches\" 1; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.280488; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.2; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.06666667014; bPset \"transparency1G\" 0.06666667014; bPset \"transparency1B\" 0.06666667014; bPset \"transparency2R\" 0.07450980693; bPset \"transparency2G\" 0.07450980693; bPset \"transparency2B\" 0.07450980693; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.8274509907; bPset \"specularColorG\" 0.8274509907; bPset \"specularColorB\" 0.8274509907; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 0.5529412031; bPset \"glowColorG\" 0.5529412031; bPset \"glowColorB\" 0.5529412031; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.1626; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 1; bPset \"lengthMin\" 0.7318; bPset \"segments\" 15; bPset \"tubeWidth1\" 0.047968; bPset \"tubeWidth2\" 0.038212; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.84552; bPset \"elevationMax\" 0.92682; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0.04854; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 5.4634; bPset \"splitRand\" 0.06504; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.06796; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.01942; bPset \"turbulenceFrequency\" 0.3301; bPset \"turbulenceSpeed\" 0.15534; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.17074; bPset \"gravity\" 0.04066; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 2; bPset \"leafDropout\" 0.1057; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0.04064; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.7317; bPset \"numLeafClusters\" 8; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.067888; bPset \"leafBaseWidth\" 0.04066; bPset \"leafTipWidth\" 0.01626; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.56098; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.160784319; bPset \"leafColor1G\" 0.4941176474; bPset \"leafColor1B\" 0.2470588237; bPset \"leafColor2R\" 0.4352941215; bPset \"leafColor2G\" 0.6627451181; bPset \"leafColor2B\" 0.3254902065; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0.03252; bPset \"leafValRand\" 0.11382; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"vineBark.iff\";\r\nbPsetName \"leafImage\" \"sideleaf.rgb\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 21 0.2520000041 1.200000048;\r\npresetSetPressure 2 6 0.3251999915 2;\r\npresetSetPressure 3 7 0.5 1.5;\r\nrename (getDefaultBrush()) treeSimple;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Down Brush: Select down brush for painting" + -align "center" + -label "Down Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "downRed.xpm" + -image1 "downRed.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 166; bPset \"globalScale\" 0.3031077816; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 1; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.373784; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.6069545746; bPset \"color1B\" 0.5635699034; bPset \"color2R\" 1; bPset \"color2G\" 0.07450980693; bPset \"color2B\" 0; bPset \"transparency1R\" 0.01568627357; bPset \"transparency1G\" 0.01568627357; bPset \"transparency1B\" 0.01568627357; bPset \"transparency2R\" 0.007843136787; bPset \"transparency2G\" 0.007843136787; bPset \"transparency2B\" 0.007843136787; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.9725490212; bPset \"specularColorG\" 0.2235294133; bPset \"specularColorB\" 0.3568627536; bPset \"specular\" 0.4466; bPset \"specularPower\" 2.33; bPset \"translucence\" 0.767; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.01; bPset \"tipFade\" 0.15534; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0.32038; bPset \"brightnessRand\" 0.29126; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0.34952; bPset \"depthShadowDepth\" 0.38834; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.3884; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.3884; bPset \"lengthMin\" 0.1942; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.015; bPset \"tubeWidth2\" 0.008; bPset \"widthRand\" 0; bPset \"widthBias\" 0.39804; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0.4; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.53398; bPset \"elevationMax\" 0.81554; bPset \"azimuthMin\" -0.1068; bPset \"azimuthMax\" 0.06796; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0.0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.90292; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 11.6501; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.3787; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.20388; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 5; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.005; bPset \"turbulenceFrequency\" 2.36425; bPset \"turbulenceSpeed\" 0; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.03884; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 2; bPset \"leafDropout\" 0.17476; bPset \"leafAngle1\" 41.943; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0.005; bPset \"leafSegments\" 15; bPset \"leafStart\" 0.06796; bPset \"numLeafClusters\" 41.368; bPset \"leafFlatness\" 0.42718; bPset \"leafLength\" 0.179319; bPset \"leafBaseWidth\" 0.017; bPset \"leafTipWidth\" 0.01; bPset \"leafSizeDecay\" 0.4466; bPset \"leafTranslucence\" 0.75728; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.8156862855; bPset \"leafColor1G\" 0.1725490242; bPset \"leafColor1B\" 0.1411764771; bPset \"leafColor2R\" 1; bPset \"leafColor2G\" 0.09803921729; bPset \"leafColor2B\" 0.09803921729; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0.09708; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.05826; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 2 0.0732 1;\r\npresetSetPressure 2 10 0.3902 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) downRed;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Galaxy Brush: Select galaxy brush for painting" + -align "center" + -label "Galaxy Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "galaxy.xpm" + -image1 "galaxy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.1437156745; bPset \"depth\" 1; bPset \"modifyDepth\" 0; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.13008; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 0.2; bPset \"softness\" 1; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.835272193; bPset \"color1B\" 0.7015699744; bPset \"color2R\" 0.8206162453; bPset \"color2G\" 0.9149168134; bPset \"color2B\" 1; bPset \"transparency1R\" 0.9333333373; bPset \"transparency1G\" 0.9333333373; bPset \"transparency1B\" 0.9333333373; bPset \"transparency2R\" 1; bPset \"transparency2G\" 1; bPset \"transparency2B\" 1; bPset \"incandescence1R\" 0.9719973207; bPset \"incandescence1G\" 1; bPset \"incandescence1B\" 0.8176788688; bPset \"incandescence2R\" 0.4282051921; bPset \"incandescence2G\" 0.6353577375; bPset \"incandescence2B\" 1; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0.400000006; bPset \"glowColorR\" 0.8100899458; bPset \"glowColorG\" 0.9149168134; bPset \"glowColorB\" 1; bPset \"glowSpread\" 10; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.43902; bPset \"satRand\" 0.14634; bPset \"valRand\" 0.28456; bPset \"rootFade\" 0.04878; bPset \"tipFade\" 0.73984; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.36586; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0.999; bPset \"gapSpacing\" 0.09757; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 7.573; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.7074; bPset \"lengthMin\" 0.7318; bPset \"segments\" 33; bPset \"tubeWidth1\" 0.03; bPset \"tubeWidth2\" 0.007; bPset \"widthRand\" 0.75728; bPset \"widthBias\" -0.7864; bPset \"lengthFlex\" 0.64228; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" -0.8000000119; bPset \"elevationMax\" 0.8000000119; bPset \"azimuthMin\" -1; bPset \"azimuthMax\" 1; bPset \"flatness1\" 1; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.17074; bPset \"pathAttract\" 3; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 2; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 17; bPset \"turbulenceFrequency\" 0.7573; bPset \"turbulenceSpeed\" 0; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2196078449; bPset \"texColor2G\" 0.2196078449; bPset \"texColor2B\" 0.2196078449; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 2.35776; bPset \"repeatV\" 1.86992; bPset \"offsetU\" 0; bPset \"offsetV\" 0.57724; bPset \"blurMult\" 2.5; bPset \"smear\" 0.07318; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 6 0.243900001 1;\r\npresetSetPressure 2 10 0 1;\r\npresetSetPressure 3 7 0.6179000139 1.5;\r\nrename (getDefaultBrush()) galaxy;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Party Brush: Select party brush for painting" + -align "center" + -label "Party Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "party.xpm" + -image1 "party.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 2; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.016264; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 0.6000000238; bPset \"softness\" 0; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.478723377; bPset \"color1G\" 0; bPset \"color1B\" 0; bPset \"color2R\" 1; bPset \"color2G\" 0.4613269269; bPset \"color2B\" 0; bPset \"transparency1R\" 0.4156862795; bPset \"transparency1G\" 0.4156862795; bPset \"transparency1B\" 0.4156862795; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0; bPset \"specularPower\" 60; bPset \"translucence\" 0.79674; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 1; bPset \"glowColorB\" 1; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.49594; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.64078; bPset \"shadowDiffusion\" 0.4466; bPset \"shadowTransparency\" 0.30098; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" -0.400000006; bPset \"lightDirectionY\" -0.400000006; bPset \"lightDirectionZ\" -0.6000000238; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 1.3008; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1626; bPset \"lengthMin\" 0.0814; bPset \"segments\" 14; bPset \"tubeWidth1\" 0.004066; bPset \"tubeWidth2\" 0.013008; bPset \"widthRand\" 0.29268; bPset \"widthBias\" -0.44716; bPset \"lengthFlex\" 0.47154; bPset \"segmentLengthBias\" 0.36584; bPset \"segmentWidthBias\" 0.57724; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0.03999999911; bPset \"azimuthMin\" -0.04064; bPset \"azimuthMax\" 0.04064; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" -0.17072; bPset \"spiralMax\" 0.1382; bPset \"spiralDecay\" 0.009999999776; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 1.5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.39838; bPset \"splitAngle\" 8.781; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0.33334; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.04066; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0.19512; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 10 2 0.3000000119;\r\npresetSetPressure 2 1 0.200000003 1.5;\r\npresetSetPressure 3 6 2 0.8000000119;\r\nrename (getDefaultBrush()) party;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bubbles Brush: Select bubbles brush for painting" + -align "center" + -label "Bubbles Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "bubbles.xpm" + -image1 "bubbles.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.580062254; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.05324329025; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 0.4856; bPset \"softness\" 0.06796; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.3764705956; bPset \"transparency1G\" 0.3764705956; bPset \"transparency1B\" 0.3764705956; bPset \"transparency2R\" 0.3882353008; bPset \"transparency2G\" 0.3882353008; bPset \"transparency2B\" 0.3882353008; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.6536704302; bPset \"specularColorG\" 1; bPset \"specularColorB\" 0.7310684919; bPset \"specular\" 0.63106; bPset \"specularPower\" 1.5532; bPset \"translucence\" 0.73786; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.05826; bPset \"tipFade\" 0.35922; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.27184; bPset \"shadowDiffusion\" 0.69902; bPset \"shadowTransparency\" 0.61166; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0.97088; bPset \"gapSpacing\" 0.1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0.282; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 1.8446; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.4; bPset \"lengthMin\" 0.4; bPset \"segments\" 22; bPset \"tubeWidth1\" 0.012622; bPset \"tubeWidth2\" 0.024272; bPset \"widthRand\" 0.63106; bPset \"widthBias\" -0.59224; bPset \"lengthFlex\" 0.30098; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 1; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0.019416; bPset \"wiggleFrequency\" 3; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 4; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.029; bPset \"turbulenceFrequency\" 4.8; bPset \"turbulenceSpeed\" 0.29; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.12622; bPset \"gravity\" -2; bPset \"momentum\" 0.2136; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 20; bPset \"repeatV\" 1; bPset \"offsetU\" 0.5; bPset \"offsetV\" 0; bPset \"blurMult\" 0.93204; bPset \"smear\" 0.12622; bPset \"smearU\" 0.05826; bPset \"smearV\" 0.15534; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"bubble.iff\";\r\nbPsetName \"leafImage\" \"leaftex\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 1 0.7 1;\r\npresetSetPressure 2 5 0.4 1;\r\npresetSetPressure 3 10 0.1 1;\r\nrename (getDefaultBrush()) bubbles;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Snake Green Brush: Select snake green brush for painting" + -align "center" + -label "Snake Green Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "snakeGreen.xpm" + -image1 "snakeGreen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 1.168186787; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 8; bPset \"softness\" 0.1262; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.270588249; bPset \"transparency1G\" 0.270588249; bPset \"transparency1B\" 0.270588249; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.4654452205; bPset \"specularColorB\" 0.4834541082; bPset \"specular\" 1.12623; bPset \"specularPower\" 2.136; bPset \"translucence\" 0.01942; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1942; bPset \"lengthMin\" 0; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.023302; bPset \"tubeWidth2\" 0.023302; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0.35922; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.75728; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 0; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 0.0941176489; bPset \"texColor1G\" 0.8745098114; bPset \"texColor1B\" 0.1372549087; bPset \"texColor2R\" -0.007362015545; bPset \"texColor2G\" -0.01280797552; bPset \"texColor2B\" -0.006933771539; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.19416; bPset \"repeatV\" 3; bPset \"offsetU\" 0.1068; bPset \"offsetV\" 0; bPset \"blurMult\" 0.71844; bPset \"smear\" 0.04854; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"snake1.jpg\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.4 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) snakeGreen;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Hands Brush: Select hands brush for painting" + -align "center" + -label "Hands Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "hands.xpm" + -image1 "hands.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 4.734243138; bPset \"depth\" 0; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.004856; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 5; bPset \"softness\" 0.28156; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.7176470757; bPset \"color1G\" 0.6396007538; bPset \"color1B\" 0.6156862974; bPset \"color2R\" 1; bPset \"color2G\" 0.93142277; bPset \"color2B\" 0.8823822737; bPset \"transparency1R\" 0; bPset \"transparency1G\" 0; bPset \"transparency1B\" 0; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0.6352941394; bPset \"specularColorG\" 0.4627451003; bPset \"specularColorB\" 0.650980413; bPset \"specular\" 0.3301; bPset \"specularPower\" 0.5824; bPset \"translucence\" 0.5631; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.06796; bPset \"satRand\" 0.06796; bPset \"valRand\" 0.13592; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.02912; bPset \"shadowDiffusion\" 0.62136; bPset \"shadowTransparency\" 0.58252; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 1; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0.03884; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 0; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.1942; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.03; bPset \"lengthMin\" 0.03; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.031068; bPset \"tubeWidth2\" 0.035924; bPset \"widthRand\" 0.233; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.03884; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.92234; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0; bPset \"elevationMax\" 0.2136; bPset \"azimuthMin\" 0.43688; bPset \"azimuthMax\" 0.5728; bPset \"flatness1\" 0; bPset \"flatness2\" 0.29126; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 0; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1.200000048; bPset \"texColor1G\" 1.135858536; bPset \"texColor1B\" 0.9616364241; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1.05; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1.00972; bPset \"smear\" 0.06796; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"hand.iff\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.4 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) hands;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Raw Meat Brush: Select raw meat brush for painting" + -align "center" + -label "Raw Meat Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rawmeat.xpm" + -image1 "rawmeat.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 2.734515847; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.035; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 7; bPset \"softness\" 0.15; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.1450980455; bPset \"transparency1G\" 0.1450980455; bPset \"transparency1B\" 0.1450980455; bPset \"transparency2R\" 0; bPset \"transparency2G\" 0; bPset \"transparency2B\" 0; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 1; bPset \"specularColorG\" 0.6917555332; bPset \"specularColorB\" 0.749859333; bPset \"specular\" 0.70874; bPset \"specularPower\" 5.2428; bPset \"translucence\" 0.47572; bPset \"glow\" 0; bPset \"glowColorR\" 0.5; bPset \"glowColorG\" 0.5; bPset \"glowColorB\" 0.5; bPset \"glowSpread\" 3; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0; bPset \"tipFade\" 0; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.2; bPset \"lightDirectionY\" -0.2; bPset \"lightDirectionZ\" -0.2; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.04; bPset \"lengthMin\" 0.02; bPset \"segments\" 19; bPset \"tubeWidth1\" 0.006796; bPset \"tubeWidth2\" 0.017476; bPset \"widthRand\" 0.48544; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0.3398; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.28156; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.16504; bPset \"gravity\" 0.40776; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 0; bPset \"textureType\" 4; bPset \"mapMethod\" 3; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1.399999976; bPset \"texColor1G\" 1.399999976; bPset \"texColor1B\" 1.399999976; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0.07766; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 0.1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.75728; bPset \"smear\" 0; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"rawsteak.rgb\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0.6098 1;\r\npresetSetPressure 2 2 0.1 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) rawmeat;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Flame Curly Brush: Select flame curly brush for painting" + -align "center" + -label "Flame Curly Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "flameCurly.xpm" + -image1 "flameCurly.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 1; bPset \"globalScale\" 0.7656982396; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.04252389795; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.17886; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 0.3098039329; bPset \"color1G\" 0.2235294133; bPset \"color1B\" 0.03921568766; bPset \"color2R\" 0.1372549087; bPset \"color2G\" 0; bPset \"color2B\" 0; bPset \"transparency1R\" 0.8666666746; bPset \"transparency1G\" 0.8666666746; bPset \"transparency1B\" 0.8666666746; bPset \"transparency2R\" 1; bPset \"transparency2G\" 1; bPset \"transparency2B\" 1; bPset \"incandescence1R\" 0.2039215714; bPset \"incandescence1G\" 0.1529411823; bPset \"incandescence1B\" 0.01568627357; bPset \"incandescence2R\" 0.1529411823; bPset \"incandescence2G\" 0.01176470611; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0; bPset \"glowColorR\" 1; bPset \"glowColorG\" 0.8601613641; bPset \"glowColorB\" 0.595744729; bPset \"glowSpread\" 3.561; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.09756; bPset \"satRand\" 0.17074; bPset \"valRand\" 0.88618; bPset \"rootFade\" 0.22764; bPset \"tipFade\" 0.55284; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 5.4369; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.1626; bPset \"lengthMin\" 0.1626; bPset \"segments\" 18; bPset \"tubeWidth1\" 0.027642; bPset \"tubeWidth2\" 0.007318; bPset \"widthRand\" 0.73984; bPset \"widthBias\" -0.49592; bPset \"lengthFlex\" 0.61788; bPset \"segmentLengthBias\" 0.08944; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.1493599524; bPset \"elevationMax\" 0.72816; bPset \"azimuthMin\" -0.72816; bPset \"azimuthMax\" 0.96116; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.187; bPset \"splitAngle\" 27.804; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 3; bPset \"branchDropout\" 0.6504; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 5; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 1; bPset \"turbulenceFrequency\" 9.1524; bPset \"turbulenceSpeed\" 0.25242; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" -0.45166; bPset \"momentum\" 0.29268; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 0; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 0; bPset \"repeatU\" 1; bPset \"repeatV\" 1; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.1; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 8 0.1057000011 0.9430999756;\r\npresetSetPressure 2 7 0.5 2.5;\r\npresetSetPressure 3 5 0.1463000029 1;\r\nrename (getDefaultBrush()) flameCurly;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lightning White Brush: Select lightning white brush for painting" + -align "center" + -label "Lightning White Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "lightningWhite.xpm" + -image1 "lightningWhite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.1804530062; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 1; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.03500000015; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 2.5; bPset \"softness\" 0.07318; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 0.5760536194; bPset \"color1B\" 0.545542419; bPset \"color2R\" 1; bPset \"color2G\" 0.7369443178; bPset \"color2B\" 0.7058628798; bPset \"transparency1R\" 0.7960784435; bPset \"transparency1G\" 0.7960784435; bPset \"transparency1B\" 0.7960784435; bPset \"transparency2R\" 1; bPset \"transparency2G\" 1; bPset \"transparency2B\" 1; bPset \"incandescence1R\" 0.6176470518; bPset \"incandescence1G\" 0.2517156899; bPset \"incandescence1B\" 0.1262254864; bPset \"incandescence2R\" 0.6102941036; bPset \"incandescence2G\" 0.1625000089; bPset \"incandescence2B\" 0.153431356; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.2; bPset \"glow\" 0.37864; bPset \"glowColorR\" 1; bPset \"glowColorG\" 0.6072411537; bPset \"glowColorB\" 0.5374056697; bPset \"glowSpread\" 7.03; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0.08738; bPset \"satRand\" 0.20388; bPset \"valRand\" 0.26214; bPset \"rootFade\" 0; bPset \"tipFade\" 0.04854; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.36586; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1.55338; bPset \"gapRand\" 1; bPset \"flowSpeed\" 123.632; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 0.6; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 0.05; bPset \"tubeRand\" 0; bPset \"startTubes\" 0; bPset \"lengthMax\" 5.0486; bPset \"lengthMin\" 4.369; bPset \"segments\" 272; bPset \"tubeWidth1\" 0.031068; bPset \"tubeWidth2\" 0.026214; bPset \"widthRand\" 0; bPset \"widthBias\" 0.04856; bPset \"lengthFlex\" 0.91262; bPset \"segmentLengthBias\" -0.26212; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.71844; bPset \"elevationMax\" 0.97088; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.12622; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 1; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0.37864; bPset \"splitAngle\" 36.699; bPset \"splitSizeDecay\" 0.85; bPset \"splitBias\" 0.534; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 4; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1165; bPset \"turbulenceFrequency\" 3.37275; bPset \"turbulenceSpeed\" 18.2787; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0.83496; bPset \"gravity\" -0.16503; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0.6602; bPset \"twigAngle1\" 176.505; bPset \"twigAngle2\" 153.786; bPset \"twigTwist\" 0.3398; bPset \"twigLength\" 1.4564; bPset \"twigStart\" 0.02; bPset \"numTwigClusters\" 18.3; bPset \"twigBaseWidth\" 0.09708; bPset \"twigTipWidth\" 0.07766; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 1; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 0; bPset \"textureType\" 2; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0.2196078449; bPset \"texColor2G\" 0.2196078449; bPset \"texColor2B\" 0.2196078449; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" 1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 2.35776; bPset \"repeatV\" 1.86992; bPset \"offsetU\" 0; bPset \"offsetV\" 0.57724; bPset \"blurMult\" 2.5; bPset \"smear\" 0.07318; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 0 0 1;\r\npresetSetPressure 2 0 0 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) lightningWhite;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cumulus Cloud Brush: Select cumulus cloud brush for painting" + -align "center" + -label "Cumulus Cloud Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cumulus.xpm" + -image1 "cumulus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 0; bPset \"globalScale\" 0.4524325131; bPset \"depth\" 1; bPset \"modifyDepth\" 0; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 0; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 0.400000006; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 3; bPset \"softness\" 0.41748; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1; bPset \"color1G\" 1; bPset \"color1B\" 1; bPset \"color2R\" 1; bPset \"color2G\" 1; bPset \"color2B\" 1; bPset \"transparency1R\" 0.631372571; bPset \"transparency1G\" 0.631372571; bPset \"transparency1B\" 0.631372571; bPset \"transparency2R\" 0.8549019694; bPset \"transparency2G\" 0.8549019694; bPset \"transparency2B\" 0.8549019694; bPset \"incandescence1R\" 0; bPset \"incandescence1G\" 0; bPset \"incandescence1B\" 0; bPset \"incandescence2R\" 0; bPset \"incandescence2G\" 0; bPset \"incandescence2B\" 0; bPset \"specularColorR\" 0; bPset \"specularColorG\" 0; bPset \"specularColorB\" 0; bPset \"specular\" 0; bPset \"specularPower\" 10; bPset \"translucence\" 0.75728; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0; bPset \"rootFade\" 0.25242; bPset \"tipFade\" 0.14564; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 1; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0; bPset \"gapSpacing\" 1; bPset \"gapRand\" 1; bPset \"flowSpeed\" 0; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 0; bPset \"tubeCompletion\" 0; bPset \"tubesPerStep\" 0.5; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 0.2912; bPset \"lengthMin\" 0.3884; bPset \"segments\" 13; bPset \"tubeWidth1\" 0.0534; bPset \"tubeWidth2\" 0.2; bPset \"widthRand\" 0; bPset \"widthBias\" 0; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.2; bPset \"elevationMax\" 0.5; bPset \"azimuthMin\" -0.1; bPset \"azimuthMax\" 0.1; bPset \"flatness1\" 0; bPset \"flatness2\" 0; bPset \"twist\" 0; bPset \"twistRate\" 0; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0.2; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.2; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0.51456; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0; bPset \"turbulenceType\" 0; bPset \"turbulenceInterpolation\" 0; bPset \"turbulence\" 0.2; bPset \"turbulenceFrequency\" 0.2; bPset \"turbulenceSpeed\" 0.5; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.3; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.3; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 2; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 1; bPset \"mapOpacity\" 1; bPset \"textureType\" 4; bPset \"mapMethod\" 1; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 1; bPset \"texOpacityOffset\" 0; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 1; bPset \"texAlpha2\" 0.00972; bPset \"texUniformity\" 1; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 1.84464; bPset \"repeatV\" 0.87376; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 1; bPset \"smear\" 0.08738; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.7; bPset \"fractalAmplitude\" 1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"wrapCloud.iff\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 5 0 1;\r\npresetSetPressure 2 1 0.6 1;\r\npresetSetPressure 3 0 0 1;\r\nrename (getDefaultBrush()) cumulus;\r\n" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Snow Brush: Select snow brush for painting" + -align "center" + -label "Snow Brush" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "snow.xpm" + -image1 "snow.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "brushPresetSetup();bPset \"time\" 25; bPset \"globalScale\" 1.038685276; bPset \"depth\" 1; bPset \"modifyDepth\" 1; bPset \"modifyColor\" 1; bPset \"modifyAlpha\" 1; bPset \"illuminated\" 1; bPset \"castShadows\" 0; bPset \"branches\" 0; bPset \"twigs\" 0; bPset \"buds\" 0; bPset \"leaves\" 0; bPset \"flowers\" 0; bPset \"brushType\" 0; bPset \"brushWidth\" 1; bPset \"screenspaceWidth\" 0; bPset \"stampDensity\" 4; bPset \"softness\" 0.7864; bPset \"edgeAntialias\" 1; bPset \"blurIntensity\" 4; bPset \"color1R\" 1.5; bPset \"color1G\" 1.453500032; bPset \"color1B\" 1.476750016; bPset \"color2R\" 1.5; bPset \"color2G\" 1.5; bPset \"color2B\" 1.5; bPset \"transparency1R\" 0.7686274648; bPset \"transparency1G\" 0.7686274648; bPset \"transparency1B\" 0.7686274648; bPset \"transparency2R\" 0.7490196228; bPset \"transparency2G\" 0.7490196228; bPset \"transparency2B\" 0.7490196228; bPset \"incandescence1R\" 0.01568627357; bPset \"incandescence1G\" 0.01568627357; bPset \"incandescence1B\" 0.01568627357; bPset \"incandescence2R\" 0.007843136787; bPset \"incandescence2G\" 0.007843136787; bPset \"incandescence2B\" 0.007843136787; bPset \"specularColorR\" 1; bPset \"specularColorG\" 1; bPset \"specularColorB\" 1; bPset \"specular\" 0.42718; bPset \"specularPower\" 17.6193; bPset \"translucence\" 1; bPset \"glow\" 0; bPset \"glowColorR\" 0; bPset \"glowColorG\" 0; bPset \"glowColorB\" 0; bPset \"glowSpread\" 1; bPset \"shaderGlow\" 0; bPset \"hueRand\" 0; bPset \"satRand\" 0; bPset \"valRand\" 0.21952; bPset \"rootFade\" 0; bPset \"tipFade\" 0.12196; bPset \"fakeShadow\" 0; bPset \"shadowOffset\" 0.5; bPset \"shadowDiffusion\" 0.1; bPset \"shadowTransparency\" 0.8; bPset \"backShadow\" 0; bPset \"brightnessRand\" 0.80582; bPset \"centerShadow\" 0; bPset \"depthShadowType\" 0; bPset \"depthShadow\" 0; bPset \"depthShadowDepth\" 0; bPset \"realLights\" 0; bPset \"lightDirectionX\" 0.5; bPset \"lightDirectionY\" 0.5; bPset \"lightDirectionZ\" -0.5; bPset \"gapSize\" 0.95; bPset \"gapSpacing\" 0.2; bPset \"gapRand\" 1; bPset \"flowSpeed\" -0.15; bPset \"timeClip\" 0; bPset \"strokeTime\" 0; bPset \"startTime\" 0; bPset \"endTime\" 1000; bPset \"tubes\" 1; bPset \"tubeCompletion\" 1; bPset \"tubesPerStep\" 50; bPset \"tubeRand\" 1; bPset \"startTubes\" 0; bPset \"lengthMax\" 1.5; bPset \"lengthMin\" 0.8000000119; bPset \"segments\" 29; bPset \"tubeWidth1\" 0.015; bPset \"tubeWidth2\" 0.015; bPset \"widthRand\" 0.77236; bPset \"widthBias\" -0.56096; bPset \"lengthFlex\" 0; bPset \"segmentLengthBias\" 0; bPset \"segmentWidthBias\" 0.3252; bPset \"tubeDirection\" 0; bPset \"elevationMin\" 0.813; bPset \"elevationMax\" 0.9756; bPset \"azimuthMin\" -0.20324; bPset \"azimuthMax\" 0.21952; bPset \"flatness1\" 0.62602; bPset \"flatness2\" 0.61788; bPset \"twist\" 0; bPset \"twistRate\" 0.37398; bPset \"twistRand\" 1; bPset \"spiralMin\" 0; bPset \"spiralMax\" 0; bPset \"spiralDecay\" 0; bPset \"displacementDelay\" 0; bPset \"wiggle\" 0; bPset \"wiggleFrequency\" 5; bPset \"wiggleOffset\" 0; bPset \"curl\" 0; bPset \"curlFrequency\" 1; bPset \"curlOffset\" 0; bPset \"noise\" 0; bPset \"noiseFrequency\" 0.17082; bPset \"noiseOffset\" 0; bPset \"splitMaxDepth\" 2; bPset \"splitRand\" 0; bPset \"splitAngle\" 30; bPset \"splitSizeDecay\" 0.7; bPset \"splitBias\" 0; bPset \"splitTwist\" 0.5; bPset \"startBranches\" 0; bPset \"numBranches\" 2; bPset \"branchDropout\" 0; bPset \"middleBranch\" 0; bPset \"minSize\" 0.0001; bPset \"pathFollow\" 0; bPset \"pathAttract\" 0; bPset \"curveFollow\" 0; bPset \"curveAttract\" 0; bPset \"curveMaxDist\" 0; bPset \"uniformForceX\" 0.05000000075; bPset \"uniformForceY\" 0; bPset \"uniformForceZ\" 0.02999999933; bPset \"turbulenceType\" 4; bPset \"turbulenceInterpolation\" 2; bPset \"turbulence\" 0.1; bPset \"turbulenceFrequency\" 1; bPset \"turbulenceSpeed\" 0.25; bPset \"turbulenceOffsetX\" 0; bPset \"turbulenceOffsetY\" 0; bPset \"turbulenceOffsetZ\" 0; bPset \"random\" 0; bPset \"gravity\" 0; bPset \"momentum\" 1; bPset \"deflection\" 0; bPset \"deflectionMin\" 0; bPset \"deflectionMax\" 0.3; bPset \"twigsInCluster\" 1; bPset \"twigDropout\" 0; bPset \"twigAngle1\" 90; bPset \"twigAngle2\" 80; bPset \"twigTwist\" 0; bPset \"twigLength\" 0.5; bPset \"twigStart\" 0.5; bPset \"numTwigClusters\" 4; bPset \"twigBaseWidth\" 0.4; bPset \"twigTipWidth\" 0.2; bPset \"leavesInCluster\" 1; bPset \"leafDropout\" 0; bPset \"leafAngle1\" 75; bPset \"leafAngle2\" 25; bPset \"leafTwist\" 0; bPset \"leafSegments\" 5; bPset \"leafStart\" 0.5; bPset \"numLeafClusters\" 3; bPset \"leafFlatness\" 1; bPset \"leafLength\" 0.3; bPset \"leafBaseWidth\" 0.15; bPset \"leafTipWidth\" 0.05; bPset \"leafSizeDecay\" 0.7; bPset \"leafTranslucence\" 0.7; bPset \"terminalLeaf\" 0; bPset \"leafColor1R\" 0.200000003; bPset \"leafColor1G\" 0.6000000238; bPset \"leafColor1B\" 0.3000000119; bPset \"leafColor2R\" 0.400000006; bPset \"leafColor2G\" 0.6000000238; bPset \"leafColor2B\" 0.3000000119; bPset \"leafHueRand\" 0; bPset \"leafSatRand\" 0; bPset \"leafValRand\" 0; bPset \"leafUseBranchTex\" 1; bPset \"budSize\" 0.03; bPset \"budColorR\" 0.400000006; bPset \"budColorG\" 0.8000000119; bPset \"budColorB\" 0.200000003; bPset \"petalsInFlower\" 1; bPset \"petalDropout\" 0; bPset \"flowerAngle1\" 75; bPset \"flowerAngle2\" 25; bPset \"flowerTwist\" 0.23; bPset \"petalSegments\" 5; bPset \"flowerStart\" 1; bPset \"numFlowers\" 10; bPset \"petalFlatness\" 1; bPset \"petalLength\" 0.2; bPset \"petalBaseWidth\" 0.05; bPset \"petalTipWidth\" 0.1; bPset \"flowerSizeDecay\" 0.7; bPset \"flowerTranslucence\" 0.7; bPset \"petalColor1R\" 0.8000000119; bPset \"petalColor1G\" 0.200000003; bPset \"petalColor1B\" 0.1000000015; bPset \"petalColor2R\" 1; bPset \"petalColor2G\" 1; bPset \"petalColor2B\" 1; bPset \"flowerHueRand\" 0; bPset \"flowerSatRand\" 0; bPset \"flowerValRand\" 0; bPset \"flowerUseBranchTex\" 1; bPset \"simplifyMethod\" 0; bPset \"colorLengthMap\" 0; bPset \"transpLengthMap\" 0; bPset \"incandLengthMap\" 0; bPset \"widthLengthMap\" 0; bPset \"splitLengthMap\" 0; bPset \"mapColor\" 0; bPset \"mapOpacity\" 1; bPset \"textureType\" 3; bPset \"mapMethod\" 2; bPset \"texColorScale\" 1; bPset \"texColorOffset\" 0; bPset \"texOpacityScale\" 0; bPset \"texOpacityOffset\" 1; bPset \"texColor1R\" 1; bPset \"texColor1G\" 1; bPset \"texColor1B\" 1; bPset \"texColor2R\" 0; bPset \"texColor2G\" 0; bPset \"texColor2B\" 0; bPset \"texAlpha1\" 0; bPset \"texAlpha2\" -1; bPset \"texUniformity\" 0.5; bPset \"fringeRemoval\" 1; bPset \"repeatU\" 14.3689; bPset \"repeatV\" 0.5; bPset \"offsetU\" 0; bPset \"offsetV\" 0; bPset \"blurMult\" 0.93204; bPset \"smear\" 0.38212; bPset \"smearU\" 0; bPset \"smearV\" 0; bPset \"useFrameExtension\" 0; bPset \"frameExtension\" 1; bPset \"fractalRatio\" 0.52846; bPset \"fractalAmplitude\" 1.1; bPset \"fractalThreshold\" 0; \r\nbPsetName \"imageName\" \"\";\r\nbPsetName \"leafImage\" \"\";\r\nbPsetName \"flowerImage\" \"\";\r\nbPsetName \"creationScript\" \"\";\r\nbPsetName \"runtimeScript\" \"\";\r\nbrushPresetApply();\r\npresetSetPressure 1 6 0.4472 1;\r\npresetSetPressure 2 5 0.6911 1;\r\npresetSetPressure 3 10 0.5366 1;\r\nrename (getDefaultBrush()) snow;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Polygons.mel b/2009-x64/prefsThierry/shelves/shelf_Polygons.mel new file mode 100644 index 0000000..c676bbb --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Polygons.mel @@ -0,0 +1,689 @@ +global proc shelf_Polygons () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Sphere: Create a polygonal sphere on the grid" + -align "center" + -label "Polygon Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySphere.xpm" + -image1 "polySphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonSphere" + -sourceType "mel" + -doubleClickCommand "CreatePolygonSphereOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Cube: Create a polygonal cube on the grid" + -align "center" + -label "Polygon Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCube.xpm" + -image1 "polyCube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonCube" + -sourceType "mel" + -doubleClickCommand "CreatePolygonCubeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Cylinder: Create a polygonal cylinder on the grid" + -align "center" + -label "Polygon Cylinder" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCylinder.xpm" + -image1 "polyCylinder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonCylinder" + -sourceType "mel" + -doubleClickCommand "CreatePolygonCylinderOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Cone: Create a polygonal cone on the grid" + -align "center" + -label "Polygon Cone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCone.xpm" + -image1 "polyCone.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonCone" + -sourceType "mel" + -doubleClickCommand "CreatePolygonConeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Plane: Create a polygonal plane on the grid" + -align "center" + -label "Polygon Plane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMesh.xpm" + -image1 "polyMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonPlane" + -sourceType "mel" + -doubleClickCommand "CreatePolygonPlaneOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Torus: Create a polygonal torus on the grid" + -align "center" + -label "Polygon Torus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyTorus.xpm" + -image1 "polyTorus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonTorus" + -sourceType "mel" + -doubleClickCommand "CreatePolygonTorusOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Pyramid: Create a polygonal pyramid on the grid" + -align "center" + -label "Polygon Pyramid" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPyramid.xpm" + -image1 "polyPyramid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonPyramid" + -sourceType "mel" + -doubleClickCommand "CreatePolygonPyramidOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Polygon Pipe: Create a polygonal pipe on the grid" + -align "center" + -label "Polygon Pipe" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPipe.xpm" + -image1 "polyPipe.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePolygonPipe" + -sourceType "mel" + -doubleClickCommand "CreatePolygonPipeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Combine: Combine the selected polygon objects into one single object to allow operations such as merges or face trims" + -align "center" + -label "Combine" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyUnite.xpm" + -image1 "polyUnite.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CombinePolygons" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Separate: Separate the selected polygon object shells or the shells of any selected faces from the object into distinct objects" + -align "center" + -label "Separate" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySeparate.xpm" + -image1 "polySeparate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SeparatePolygon" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Mirror Geometry: Mirror geometry across an axis" + -align "center" + -label "Mirror Geometry" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMirrorGeometry.xpm" + -image1 "polyMirrorGeometry.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MirrorPolygonGeometry" + -sourceType "mel" + -doubleClickCommand "MirrorPolygonGeometryOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Smooth: Add polygons to the selected polygon objects to smooth them" + -align "center" + -label "Smooth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySmooth.xpm" + -image1 "polySmooth.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SmoothPolygon" + -sourceType "mel" + -doubleClickCommand "SmoothPolygonOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Proxy: Add polygons to the selected proxy objects" + -align "center" + -label "Subdiv Proxy" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySmoothProxy.xpm" + -image1 "polySmoothProxy.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SmoothProxy" + -sourceType "mel" + -doubleClickCommand "SmoothProxyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reduce: Reduce number of polygonal components for selected objects" + -align "center" + -label "Reduce" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyReduce.xpm" + -image1 "polyReduce.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ReducePolygon" + -sourceType "mel" + -doubleClickCommand "ReducePolygonOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Split Polygon Tool: Select a point on an edge to start cutting the face" + -align "center" + -label "Split Polygon Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySplitFacet.xpm" + -image1 "polySplitFacet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SplitPolygonTool" + -sourceType "mel" + -doubleClickCommand "SplitPolygonToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extrude: Extrude the selected component" + -align "center" + -label "Extrude" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyExtrudeFacet.xpm" + -image1 "polyExtrudeFacet.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PolyExtrude" + -sourceType "mel" + -doubleClickCommand "PolyExtrudeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bridge: Create a bridge between two sets of edges or faces " + -align "center" + -label "Bridge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyBridge.xpm" + -image1 "polyBridge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BridgeEdge" + -sourceType "mel" + -doubleClickCommand "BridgeEdgeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Chamfer Vertex: Chamfer the selected vertices" + -align "center" + -label "Chamfer Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyChamfer.xpm" + -image1 "polyChamfer.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ChamferVertex" + -sourceType "mel" + -doubleClickCommand "ChamferVertexOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cut Faces Tool: Cut the faces using a plane" + -align "center" + -label "Cut Faces Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCut.xpm" + -image1 "polyCut.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CutPolygon" + -sourceType "mel" + -doubleClickCommand "CutPolygonOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Merge: Merge vertices / border edges based on selection" + -align "center" + -label "Merge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMergeVertex.xpm" + -image1 "polyMergeVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PolyMerge" + -sourceType "mel" + -doubleClickCommand "PolyMergeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Merge Edge Tool: Merge the two selected border edges, if topologically possible" + -align "center" + -label "Merge Edge Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyMergeEdge.xpm" + -image1 "polyMergeEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "MergeEdgeTool" + -sourceType "mel" + -doubleClickCommand "MergeEdgeToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Flip Triangle Edge: Flip the edge between two triangles" + -align "center" + -label "Flip Triangle Edge" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyFlipEdge.xpm" + -image1 "polyFlipEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FlipTriangleEdge" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Collapse: Collapse the selected edges or faces" + -align "center" + -label "Collapse" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCollapseEdge.xpm" + -image1 "polyCollapseEdge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PolygonCollapse" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extract: Extract the currently selected faces from their shell and shows a manipulator to adjust their offset" + -align "center" + -label "Extract" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyChipOff.xpm" + -image1 "polyChipOff.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtractFace" + -sourceType "mel" + -doubleClickCommand "ExtractFaceOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Geometry Tool: Sculpt a geometry object" + -align "center" + -label "Sculpt Geometry Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryTool" + -sourceType "mel" + -doubleClickCommand "SculptGeometryToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Planar Mapping: Create a projection planar to the selected faces" + -align "center" + -label "Planar Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyPlanProj.xpm" + -image1 "polyPlanProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyProjection -type planar -mapDirection z" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cylindrical Mapping: Create a cylindrical projection on the selected faces" + -align "center" + -label "Cylindrical Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyCylProj.xpm" + -image1 "polyCylProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyProjection -type cylindrical -smartFit on" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Spherical Mapping: Create a spheric projection on the selected faces" + -align "center" + -label "Spherical Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polySphereProj.xpm" + -image1 "polySphereProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "polyProjection -type spherical -smartFit on" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Automatic Projection: Select faces to be mapped automatically" + -align "center" + -label "Automatic Mapping" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "polyAutoProj.xpm" + -image1 "polyAutoProj.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "performPolyAutoProj 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "UV Texture Editor...: Texture coordinate mapping view" + -align "center" + -label "UV Texture Editor..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "textureEditor.xpm" + -image1 "textureEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TextureViewWindow" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_RenderMan.mel b/2009-x64/prefsThierry/shelves/shelf_RenderMan.mel new file mode 100644 index 0000000..52a465d --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_RenderMan.mel @@ -0,0 +1,197 @@ +global proc shelf_RenderMan () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Render Current Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_render.xpm" + -image1 "rman_render.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} setCurrentRenderer renderMan; rmanChangeRendererUpdate; RenderIntoNewWindow;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Display RenderMan Globals" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_globals.xpm" + -image1 "rman_globals.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} setCurrentRenderer renderMan; rmanChangeRendererUpdate; unifiedRenderGlobalsWindow;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_batch.xpm" + -image1 "rman_batch.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} setCurrentRenderer renderMan; rmanChangeRendererUpdate; BatchRender;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Cancel Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_batch_cancel.xpm" + -image1 "rman_batch_cancel.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CancelBatchRender;" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Shared Geometric Attributes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_sga.xpm" + -image1 "rman_sga.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} renderManNodeEditor(\"Prim\");" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Create Environment Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_env.xpm" + -image1 "rman_env.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanCreateEnvLight" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Start Slim" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_slim.xpm" + -image1 "rman_slim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanStartSlim" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Start Alfred" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_alfred.xpm" + -image1 "rman_alfred.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanStartAlfred \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Start It" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rman_it.xpm" + -image1 "rman_it.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "if(!`pluginInfo -q -l RenderMan_for_Maya`) {loadPlugin \"RenderMan_for_Maya\";} rmanStartIt" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Rendering.mel b/2009-x64/prefsThierry/shelves/shelf_Rendering.mel new file mode 100644 index 0000000..f7da909 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Rendering.mel @@ -0,0 +1,589 @@ +global proc shelf_Rendering () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ambient Light: Create an ambient light on the grid or live surface" + -align "center" + -label "Ambient Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ambientlight.xpm" + -image1 "ambientlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateAmbientLight" + -sourceType "mel" + -doubleClickCommand "CreateAmbientLightOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Directional Light: Create a directional light on the grid or live surface" + -align "center" + -label "Directional Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "directionallight.xpm" + -image1 "directionallight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateDirectionalLight" + -sourceType "mel" + -doubleClickCommand "CreateDirectionalLightOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Point Light: Create a point light on the grid or live surface" + -align "center" + -label "Point Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "pointlight.xpm" + -image1 "pointlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreatePointLight" + -sourceType "mel" + -doubleClickCommand "CreatePointLightOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Spot Light: Create a spot light on the grid or live surface" + -align "center" + -label "Spot Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "spotlight.xpm" + -image1 "spotlight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSpotLight" + -sourceType "mel" + -doubleClickCommand "CreateSpotLightOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Area Light: Create an area light on the grid or live surface" + -align "center" + -label "Area Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "arealight.xpm" + -image1 "arealight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateAreaLight" + -sourceType "mel" + -doubleClickCommand "CreateAreaLightOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Volume Light: Create a volume light on the grid or live surface" + -align "center" + -label "Volume Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "volumelight.xpm" + -image1 "volumelight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateVolumeLight" + -sourceType "mel" + -doubleClickCommand "CreateVolumeLightOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Camera: Create a camera on the grid" + -align "center" + -label "Create Camera" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "view.xpm" + -image1 "view.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateCameraOnly" + -sourceType "mel" + -doubleClickCommand "CreateCameraOnlyOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Edit Material Attributes: Show shading group Attribute Editor" + -align "center" + -label "Edit Material Attributes" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "materialEditor.xpm" + -image1 "materialEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ShowShadingGroupAttributeEditor" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Anisotropic Material: Assign a new anisotropic material to the active objects" + -align "center" + -label "Anisotropic Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_anisotropic.xpm" + -image1 "render_anisotropic.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader anisotropic \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Blinn Material: Assign a new Blinn material to the active objects" + -align "center" + -label "Blinn Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_blinn.xpm" + -image1 "render_blinn.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader blinn \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Lambert Material: Assign a new Lambert material to the active objects" + -align "center" + -label "Lambert Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_lambert.xpm" + -image1 "render_lambert.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader lambert \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Phong Material: Assign a new Phong material to the active objects" + -align "center" + -label "Phong Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_phong.xpm" + -image1 "render_phong.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader phong \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Phong E Material: Assign a new Phong E material to the active objects" + -align "center" + -label "Phong E Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_phongE.xpm" + -image1 "render_phongE.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader phongE \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Layered Material: Assign a new layered material to the active objects" + -align "center" + -label "Layered Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_layeredShader.xpm" + -image1 "render_layeredShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader layeredShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Ramp Material: Assign a new ramp material to the active objects" + -align "center" + -label "Ramp Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_rampShader.xpm" + -image1 "render_rampShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader rampShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shading Map: Assign a new shading map to the active objects" + -align "center" + -label "Shading Map" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_shadingMap.xpm" + -image1 "render_shadingMap.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader shadingMap \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Material: Assign a new surface material to the active objects" + -align "center" + -label "Surface Material" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_surfaceShader.xpm" + -image1 "render_surfaceShader.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader surfaceShader \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Use Background: Assign a new Use Background material to the active objects" + -align "center" + -label "Use Background" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render_useBackground.xpm" + -image1 "render_useBackground.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createAndAssignShader useBackground \"\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Render Current Frame: Render the current frame into a render view window" + -align "center" + -label "Render Current Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "render.xpm" + -image1 "render.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RenderIntoNewWindow" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 0 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "IPR render is not supported by RenderMan" + -align "center" + -label "IPR Render Current Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "ipr.xpm" + -image1 "ipr.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IPRRenderIntoNewWindow" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Render Settings Window: Change rendering attributes" + -align "center" + -label "Render Settings Window" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "renderGlobals.xpm" + -image1 "renderGlobals.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "unifiedRenderGlobalsWindow" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 0 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Render diagnostics not supported by RenderMan" + -align "center" + -label "Render Diagnostics" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "renderDiagnostics.xpm" + -image1 "renderDiagnostics.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "mayaSoftwareRenderDiagnostics" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Batch Render: Export the current scene to a file and render that file in the background" + -align "center" + -label "Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "showBatchRender.xpm" + -image1 "showBatchRender.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BatchRender" + -sourceType "mel" + -doubleClickCommand "renderManBatchRenderWindow" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Cancel batch render" + -align "center" + -label "Cancel Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "abortBatchRender.xpm" + -image1 "abortBatchRender.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "renderManCancelBatchRender" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display the batch render image" + -align "center" + -label "Show Batch Render" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "showBatchRender.xpm" + -image1 "showBatchRender.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "batchRender -showImage true" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "3D Paint Tool: Paint file textures" + -align "center" + -label "3D Paint Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "art3dPaint.xpm" + -image1 "art3dPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Art3dPaintTool" + -sourceType "mel" + -doubleClickCommand "Art3dPaintToolOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Subdivs.mel b/2009-x64/prefsThierry/shelves/shelf_Subdivs.mel new file mode 100644 index 0000000..759cf66 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Subdivs.mel @@ -0,0 +1,273 @@ +global proc shelf_Subdivs () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Sphere: Create a subdiv sphere on the grid" + -align "center" + -label "Subdiv Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivSphere.xpm" + -image1 "subdivSphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivSphere" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Cube: Create a subdiv cube on the grid" + -align "center" + -label "Subdiv Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCube.xpm" + -image1 "subdivCube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivCube" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Cylinder: Create a subdiv cylinder on the grid" + -align "center" + -label "Subdiv Cylinder" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCylinder.xpm" + -image1 "subdivCylinder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivCylinder" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Cone: Create a subdiv cone on the grid" + -align "center" + -label "Subdiv Cone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCone.xpm" + -image1 "subdivCone.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivCone" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Plane: Create a subdiv plane on the grid" + -align "center" + -label "Subdiv Plane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivPlane.xpm" + -image1 "subdivPlane.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivPlane" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Subdiv Torus: Create a subdiv torus on the grid" + -align "center" + -label "Subdiv Torus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivTorus.xpm" + -image1 "subdivTorus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateSubdivTorus" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Full Crease Edge/Vertex: Full crease subdivision surface edge or vertex (tangent break)" + -align "center" + -label "Full Crease Edge/Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCrease.xpm" + -image1 "subdivCrease.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FullCreaseSubdivSurface" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Uncrease Edge/Vertex: Uncrease subdivision surface edge or vertex" + -align "center" + -label "Uncrease Edge/Vertex" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivUncrease.xpm" + -image1 "subdivUncrease.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "UncreaseSubdivSurface" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Finer: Finer level component display" + -align "center" + -label "Display Finer" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivFineMesh.xpm" + -image1 "subdivFineMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "FineLevelComponentDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Coarser: Coarser level component display" + -align "center" + -label "Display Coarser" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivCoarseMesh.xpm" + -image1 "subdivCoarseMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CoarseLevelComponentDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display Base: Base level component display" + -align "center" + -label "Display Base" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "subdivBaseMesh.xpm" + -image1 "subdivBaseMesh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BaseLevelComponentDisplay" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Geometry Tool: Sculpt a geometry object" + -align "center" + -label "Sculpt Geometry Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryTool" + -sourceType "mel" + -doubleClickCommand "SculptGeometryToolOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Surfaces.mel b/2009-x64/prefsThierry/shelves/shelf_Surfaces.mel new file mode 100644 index 0000000..78057f8 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Surfaces.mel @@ -0,0 +1,560 @@ +global proc shelf_Surfaces () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Sphere: Create a NURBS sphere on the grid" + -align "center" + -label "NURBS Sphere" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "sphere.xpm" + -image1 "sphere.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSSphere" + -sourceType "mel" + -doubleClickCommand "CreateNURBSSphereOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Cube: Create a NURBS cube on the grid" + -align "center" + -label "NURBS Cube" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cube.xpm" + -image1 "cube.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCube" + -sourceType "mel" + -doubleClickCommand "CreateNURBSCubeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Cylinder: Create a NURBS cylinder on the grid" + -align "center" + -label "NURBS Cylinder" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cylinder.xpm" + -image1 "cylinder.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCylinder" + -sourceType "mel" + -doubleClickCommand "CreateNURBSCylinderOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Cone: Create a NURBS cone on the grid" + -align "center" + -label "NURBS Cone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "cone.xpm" + -image1 "cone.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSCone" + -sourceType "mel" + -doubleClickCommand "CreateNURBSConeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Plane: Create a NURBS plane on the grid" + -align "center" + -label "NURBS Plane" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "plane.xpm" + -image1 "plane.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSPlane" + -sourceType "mel" + -doubleClickCommand "CreateNURBSPlaneOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "NURBS Torus: Create a NURBS torus on the grid" + -align "center" + -label "NURBS Torus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "torus.xpm" + -image1 "torus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "CreateNURBSTorus" + -sourceType "mel" + -doubleClickCommand "CreateNURBSTorusOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Revolve: Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Revolve" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "revolve.xpm" + -image1 "revolve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Revolve" + -sourceType "mel" + -doubleClickCommand "RevolveOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Loft: Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Loft" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "skin.xpm" + -image1 "skin.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Loft" + -sourceType "mel" + -doubleClickCommand "LoftOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Planar: Select curve(s), isoparm(s) or trim edge(s) (that together form one or more closed regions)" + -align "center" + -label "Planar" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "planarTrim.xpm" + -image1 "planarTrim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Planar" + -sourceType "mel" + -doubleClickCommand "PlanarOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extrude: Select curve(s), isoparm(s) or trim edge(s). Select the path last" + -align "center" + -label "Extrude" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "extrude.xpm" + -image1 "extrude.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Extrude" + -sourceType "mel" + -doubleClickCommand "ExtrudeOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Birail 1 Tool: Select curve(s), isoparm(s) or trim edge(s)" + -align "center" + -label "Birail 1 Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "birail1Gen.xpm" + -image1 "birail1Gen.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "Birail1" + -sourceType "mel" + -doubleClickCommand "Birail1Options" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Bevel Plus: Select curve(s), isoparm(s) or trim edge(s) or CoS" + -align "center" + -label "Bevel Plus" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "bevelPlus.xpm" + -image1 "bevelPlus.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "BevelPlus" + -sourceType "mel" + -doubleClickCommand "BevelPlusOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Project Curve on Surface: Select curve(s), isoparm(s) or trim edge(s) and a target surface" + -align "center" + -label "Project Curve on Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "projectCurve.xpm" + -image1 "projectCurve.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ProjectCurveOnSurface" + -sourceType "mel" + -doubleClickCommand "ProjectCurveOnSurfaceOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Intersect Surfaces: Select two or more surfaces - the last surface intersects all the other ones" + -align "center" + -label "Intersect Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "srfIntersect.xpm" + -image1 "srfIntersect.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "IntersectSurfaces" + -sourceType "mel" + -doubleClickCommand "IntersectSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Trim Tool: Select a surface with a curve on it" + -align "center" + -label "Trim Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "trim.xpm" + -image1 "trim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "TrimTool" + -sourceType "mel" + -doubleClickCommand "TrimToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Untrim Surfaces: Select a trimmed surface" + -align "center" + -label "Untrim Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "untrim.xpm" + -image1 "untrim.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "UntrimSurfaces" + -sourceType "mel" + -doubleClickCommand "UntrimSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Attach Surfaces: Select two surfaces" + -align "center" + -label "Attach Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "align.xpm" + -image1 "align.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "AttachSurfaces" + -sourceType "mel" + -doubleClickCommand "AttachSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Detach Surfaces: Select isoparm(s)" + -align "center" + -label "Detach Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "detach.xpm" + -image1 "detach.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "DetachSurfaces" + -sourceType "mel" + -doubleClickCommand "DetachSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Open/Close Surfaces: Select surface(s) or isoparm(s) to give direction" + -align "center" + -label "Open/Close Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "openCloseSurface.xpm" + -image1 "openCloseSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "OpenCloseSurfaces" + -sourceType "mel" + -doubleClickCommand "OpenCloseSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Insert Isoparms: Select isoparm(s)" + -align "center" + -label "Insert Isoparms" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "insert.xpm" + -image1 "insert.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InsertIsoparms" + -sourceType "mel" + -doubleClickCommand "InsertIsoparmsOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Extend Surfaces: " + -align "center" + -label "Extend Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "extendSurface.xpm" + -image1 "extendSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "ExtendSurfaces" + -sourceType "mel" + -doubleClickCommand "ExtendSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rebuild Surfaces: Select surface(s)" + -align "center" + -label "Rebuild Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "rebuildSurface.xpm" + -image1 "rebuildSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "RebuildSurfaces" + -sourceType "mel" + -doubleClickCommand "RebuildSurfacesOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Sculpt Geometry Tool: Sculpt a geometry object" + -align "center" + -label "Sculpt Geometry Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "putty.xpm" + -image1 "putty.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SculptGeometryTool" + -sourceType "mel" + -doubleClickCommand "SculptGeometryToolOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Surface Editing Tool: Select a surface" + -align "center" + -label "Surface Editing Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "surfaceEditor.xpm" + -image1 "surfaceEditor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "SurfaceEditingTool" + -sourceType "mel" + -doubleClickCommand "SurfaceEditingToolOptions" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_Toon.mel b/2009-x64/prefsThierry/shelves/shelf_Toon.mel new file mode 100644 index 0000000..056a556 --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_Toon.mel @@ -0,0 +1,471 @@ +global proc shelf_Toon () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Solid Color: Fill the surface with a constant, non-shaded color" + -align "center" + -label "Solid Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonSolid.xpm" + -image1 "toonSolid.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"solid\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Light Angle Two Tone: Index a ramp color based on the light angle, brightness based on light brightness" + -align "center" + -label "Light Angle Two Tone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonLightAngle2.xpm" + -image1 "toonLightAngle2.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"lightAngle\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shaded Brightness Two Tone: Index a ramp color based on the diffuse shaded brightness" + -align "center" + -label "Shaded Brightness Two Tone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonBrightness2.xpm" + -image1 "toonBrightness2.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"shadedBrightness\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Shaded Brightness Three Tone: Index three colors based on the diffuse shaded brightness" + -align "center" + -label "Shaded Brightness Three Tone" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonBrightness3.xpm" + -image1 "toonBrightness3.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"threeToneBrightness\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Dark Profile: Threshold the color based on the view angle with the edges" + -align "center" + -label "Dark Profile" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonDarkProfile.xpm" + -image1 "toonDarkProfile.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"darkProfile\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Rim Light: Edges have a white highlight" + -align "center" + -label "Rim Light" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonRimLight.xpm" + -image1 "toonRimLight.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"rimLight\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Circle Highlight: A light angle shader with a round hard edged specular highlight" + -align "center" + -label "Circle Highlight" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonCircleHigh.xpm" + -image1 "toonCircleHigh.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignToonShader \"circleHighlight\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Add New Toon outline: Assign a new pfx toon outline to selected items" + -align "center" + -label "Add New Toon outline" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonAddOutline.xpm" + -image1 "toonAddOutline.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignNewPfxToon" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Remove any toon outlines for selected items" + -align "center" + -label "Remove Current Toon outlines" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonRemoveOutline.xpm" + -image1 "toonRemoveOutline.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "removePfxToonOutlines" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create Modifier: Create a line modifier object and attach to selected toon lines" + -align "center" + -label "Create Modifier" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonLineModifier.xpm" + -image1 "toonLineModifier.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "createLineModifier" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Edit persp.backgroundColor" + -align "center" + -label "Persp" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "per" + -image "menuIconCartoon.xpm" + -image1 "menuIconCartoon.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "editAttributeColor persp.backgroundColor" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Get Toon Example...: Browse toon examples to import..." + -align "center" + -label "Get Toon Example..." + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonGetExample.xpm" + -image1 "toonGetExample.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "GetToonExample" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Reverse selected surfaces" + -align "center" + -label "Reverse Surfaces" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonReverseSurfaces.xpm" + -image1 "toonReverseSurfaces.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "reverseToonObjects 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Assign a Paint Effects brush to selected pfxToon nodes" + -align "center" + -label "Assign Paint Effects Brush to Toon Lines" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonAssignPfxBrush.xpm" + -image1 "toonAssignPfxBrush.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "assignBrushToPfxToon" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Convert Toon to Polygons: Paint Effects to polygons" + -align "center" + -label "Convert Toon to Polygons" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonToPolygons.xpm" + -image1 "toonToPolygons.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintEffectsToPoly" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Line Width: Paint a line width map for the selected toon node" + -align "center" + -label "Line Width" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintWidth.xpm" + -image1 "toonPaintWidth.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"lineWidthMap\" \"Line Width\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Line Offset: Paint a line offset map for the selected toon node" + -align "center" + -label "Line Offset" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintOffset.xpm" + -image1 "toonPaintOffset.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"lineOffsetMap\" \"Line Offset\" " + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Line Opacity: Paint a line opacity map for the selected toon node" + -align "center" + -label "Line Opacity" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintOpacity.xpm" + -image1 "toonPaintOpacity.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"lineOpacityMap\" \"Line Opacity\" " + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Profile Color: Paint a profile line color map for the selected toon node" + -align "center" + -label "Profile Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintProfileColor.xpm" + -image1 "toonPaintProfileColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"profileColor\" \"Profile Color\" " + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Crease Color: Paint a crease line color map for the selected toon node" + -align "center" + -label "Crease Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintCreaseColor.xpm" + -image1 "toonPaintCreaseColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"creaseColor\" \"Crease Color\" " + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Border Color: Paint a border line color map for the selected toon node" + -align "center" + -label "Border Color" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "toonPaintBorderColor.xpm" + -image1 "toonPaintBorderColor.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "paintToonAttribute \"borderColor\" \"Border Color\" " + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/shelves/shelf_nCloth.mel b/2009-x64/prefsThierry/shelves/shelf_nCloth.mel new file mode 100644 index 0000000..993706f --- /dev/null +++ b/2009-x64/prefsThierry/shelves/shelf_nCloth.mel @@ -0,0 +1,539 @@ +global proc shelf_nCloth () { + global string $gBuffStr; + global string $gBuffStr0; + global string $gBuffStr1; + + + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected triangulated mesh, create an nCloth" + -align "center" + -label "Create nCloth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCreate.xpm" + -image1 "nClothCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNCloth 0" + -sourceType "mel" + -doubleClickCommand "nClothCreateOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given an object and an nCloth, make object a collider with nCloth" + -align "center" + -label "Create Passive" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCreatePassive.xpm" + -image1 "nClothCreatePassive.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "makeCollideNCloth" + -sourceType "mel" + -doubleClickCommand "nClothMakeCollideOptions" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected triangulated mesh, remove it from the nCloth" + -align "center" + -label "Remove nCloth" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothRemove.xpm" + -image1 "nClothRemove.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "removeNCloth \"selected\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display the input mesh" + -align "center" + -label "Display Input Mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothDisplayInput.xpm" + -image1 "nClothDisplayInput.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayNClothMesh \"input\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Display the current mesh" + -align "center" + -label "Display Current Mesh" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothDisplayCurrent.xpm" + -image1 "nClothDisplayCurrent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "displayNClothMesh \"current\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Allows interaction with objects during playback" + -align "center" + -label "Interactive Playback" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "interactivePlayback.xpm" + -image1 "interactivePlayback.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "InteractivePlayback" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint the mappable thickness attribute" + -align "center" + -label "Thickness" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "PVT" + -image "nClothPaintPerVertex.xpm" + -image1 "nClothPaintPerVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setNClothMapType(\"thickness\",\"\",1); artAttrNClothToolScript 3 thickness" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create a transform constraint for selected nucleus object points" + -align "center" + -label "Transform Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintTransform.xpm" + -image1 "nConstraintTransform.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint transform 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Create a constraint between selected nucleus object vertices, edges or faces" + -align "center" + -label "Component to Component" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintComponent.xpm" + -image1 "nConstraintComponent.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint pointToPoint 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth points and a collision object to constraint to" + -align "center" + -label "Point to Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintPointoSurface.xpm" + -image1 "nConstraintPointoSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint pointToSurface 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth points and a collision object to constraint to" + -align "center" + -label "Slide on Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintSlideonSurface.xpm" + -image1 "nConstraintSlideonSurface.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint slideOnSurface 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth objects or components to weld together" + -align "center" + -label "Weld Adjacent Borders" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintWeldBorders.xpm" + -image1 "nConstraintWeldBorders.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint weldBorders 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth surface to make tearable" + -align "center" + -label "Tearable Surface" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintTearable.xpm" + -image1 "nConstraintTearable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint tearableSurface 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select dynamic objects and/or cvs between which to suppress collisions" + -align "center" + -label "Exclude Collide Pairs" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintExcludeCollision.xpm" + -image1 "nConstraintExcludeCollision.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint collisionExclusion 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Select cloth components for which to disable collision with all other objects" + -align "center" + -label "Disable Collision" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintDisableCollision.xpm" + -image1 "nConstraintDisableCollision.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNConstraint disableCollision 0" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Remove the selected dynamic constraint(s)" + -align "center" + -label "Remove Dynamic Constraint" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nConstraintRemove.xpm" + -image1 "nConstraintRemove.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "removeDynamicConstraint \"selected\"" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint the mappable strength attribute" + -align "center" + -label "Strength" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "PVS" + -image "nConstraintPaintPerVertex.xpm" + -image1 "nConstraintPaintPerVertex.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setNComponentMapType(\"strength\",1); artAttrNComponentToolScript 3 strength" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected ncloth mesh, create a cache." + -align "center" + -label "Create New Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheCreate.xpm" + -image1 "nClothCacheCreate.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNclothCache 4 { \"2\", \"1\", \"10\", \"OneFilePerFrame\", \"1\", \"\",\"1\",\"\",\"0\", \"0\", \"0\", \"1\", \"1\",\"0\",\"1\" } " + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Delete cache on selected nCloth mesh." + -align "center" + -label "Delete Cache" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheDelete.xpm" + -image1 "nClothCacheDelete.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "deleteNclothCache" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Disable All Caches On Selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheDisable.xpm" + -image1 "nClothCacheDisable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setCacheEnable 0 0 {}" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -align "center" + -label "Enable All Caches On Selected" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheEnable.xpm" + -image1 "nClothCacheEnable.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "setCacheEnable 1 0 {}" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Given a selected nCloth, merge existing caches into a new cache." + -align "center" + -label "Merge Caches" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheMerge.xpm" + -image1 "nClothCacheMerge.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "doCreateNclothCache 4 { \"2\", \"1\", \"10\", \"OneFilePerFrame\", \"1\", \"\",\"1\",\"\",\"0\", \"merge\", \"0\", \"1\", \"1\",\"0\",\"1\" } " + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Replace frame(s) in nCloth cache" + -align "center" + -label "Replace Cache Frame" + -labelOffset 0 + -font "tinyBoldLabelFont" + -image "nClothCacheReplaceFrames.xpm" + -image1 "nClothCacheReplaceFrames.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "cacheFile -refresh -replaceCachedFrame -startTime 1 -endTime 1 -simulationRate 1 -sampleMultiplier 1" + -sourceType "mel" + -actionIsSubstitute 0 + ; + shelfButton + -enableCommandRepeat 1 + -enable 1 + -width 34 + -height 34 + -manage 1 + -visible 1 + -preventOverride 0 + -annotation "Paint cache weights tool" + -align "center" + -label "Paint Cache Weights Tool" + -labelOffset 0 + -font "tinyBoldLabelFont" + -imageOverlayLabel "PCW" + -image "attrPaint.xpm" + -image1 "attrPaint.xpm" + -style "iconOnly" + -marginWidth 1 + -marginHeight 1 + -command "PaintCacheToolOptions" + -sourceType "mel" + -actionIsSubstitute 0 + ; + +} diff --git a/2009-x64/prefsThierry/userHotkeys.mel b/2009-x64/prefsThierry/userHotkeys.mel new file mode 100644 index 0000000..b9ac524 --- /dev/null +++ b/2009-x64/prefsThierry/userHotkeys.mel @@ -0,0 +1,79 @@ +//Maya Preference 2009 (Release 1) +// +// + +hotkey -keyShortcut "." -alt -name (""); +hotkey -keyShortcut ";" -name ("PlaybackStopNameCommand"); +hotkey -keyShortcut "," -alt -name (""); +hotkey -keyShortcut "'" -releaseName (""); +hotkey -keyShortcut "'" -name ("PlaybackToggleNameCommand"); +hotkey -keyShortcut "l" -name ("PlaybackBackwardNameCommand"); +hotkey -keyShortcut "," -name ("PreviousKeyNameCommand"); +hotkey -keyShortcut "." -name ("NextKeyNameCommand"); +hotkey -keyShortcut "Left" -name ("L_KeyTap_PressNameCommand"); +hotkey -keyShortcut "Right" -name ("R_KeyTap_PressNameCommand"); +hotkey -keyShortcut "0" -name ("ChannelBox_ToggleNameCommand"); +hotkey -keyShortcut "0" -releaseName ("HfAttrSelect_Menu_revert"); +hotkey -keyShortcut "t" -name ("AutoTangntNameCommand"); +hotkey -keyShortcut "k" -ctl -name ("AddKeyNameCommand"); +hotkey -keyShortcut "F11" -name ("LocalRotateNameCommand"); +hotkey -keyShortcut "F12" -name ("GimbalRotateNameCommand"); +hotkey -keyShortcut "c" -releaseName (""); +hotkey -keyShortcut "c" -name ("FilterCurvesNameCommand"); +hotkey -keyShortcut "F6" -name ("PasteKeyNameCommand"); +hotkey -keyShortcut "F5" -name ("CopyKeyNameCommand"); +hotkey -keyShortcut "Up" -ctl -alt -name ("mlTruckUpTool"); +hotkey -keyShortcut "Left" -ctl -alt -name ("mlTruckLeftTool"); +hotkey -keyShortcut "Down" -ctl -alt -name ("mlTruckDownTool"); +hotkey -keyShortcut "Right" -ctl -alt -name ("mlTruckRightTool"); +hotkey -keyShortcut "F3" -name ("CopyKeyTimeSliderNameCommand"); +hotkey -keyShortcut "F4" -name ("PasteKeyTimeSliderNameCommand"); +hotkey -keyShortcut "F9" -name ("Translate_LocalNameCommand"); +hotkey -keyShortcut "F10" -name ("Translate_WorldNameCommand"); +hotkey -keyShortcut "/" -releaseName (""); +hotkey -keyShortcut "/" -name ("CurrentTimeGraphEditorNameCommand"); +hotkey -keyShortcut "\\" -name ("PlayblastWindowNameCommand"); +hotkey -keyShortcut "x" -releaseName (""); +hotkey -keyShortcut "x" -name ("XrayNameCommand"); +hotkey -keyShortcut "j" -releaseName (""); +hotkey -keyShortcut "j" -name ("WeightedFreeTangentsNameCommand"); +hotkey -keyShortcut "n" -releaseName (""); +hotkey -keyShortcut "n" -name ("UnifyTangentsNameCommand"); +hotkey -keyShortcut "m" -releaseName (""); +hotkey -keyShortcut "m" -name ("BreakTangentsNameCommand"); +hotkey -keyShortcut "h" -releaseName (""); +hotkey -keyShortcut "h" -name ("TangentsFlatNameCommand"); +hotkey -keyShortcut "v" -releaseName ("SnapToPointNameCommand"); +hotkey -keyShortcut "v" -name ("SnapToPointNameCommand"); +hotkey -keyShortcut "V" -name ("paste_keyNameCommand"); +hotkey -keyShortcut "V" -releaseName (""); +hotkey -keyShortcut "d" -releaseName (""); +hotkey -keyShortcut "d" -name ("DeleteTimeSlideKeyNameCommand"); +hotkey -keyShortcut "o" -releaseName (""); +hotkey -keyShortcut "o" -name ("MotionTrailNameCommand"); +hotkey -keyShortcut "O" -name (""); +hotkey -keyShortcut "u" -releaseName (""); +hotkey -keyShortcut "u" -name ("AnimConvergeNameCommand"); +hotkey -keyShortcut "F1" -name ("ScreenLargeNameCommand"); +hotkey -keyShortcut "g" -name ("TangentsSplineNameCommand"); +hotkey -keyShortcut "H" -name (""); +hotkey -keyShortcut "9" -name ("GraphEditorNameCommand"); +hotkey -keyShortcut "C" -releaseName (""); +hotkey -keyShortcut "C" -name ("ShowNURBSCurvesNameCommand"); +hotkey -keyShortcut "Right" -alt -name ("jsPickWalk_rightNameCommand"); +hotkey -keyShortcut "Left" -alt -name ("jsPickWalk_leftNameCommand"); +hotkey -keyShortcut "Down" -alt -name ("jsPickWalk_downNameCommand"); +hotkey -keyShortcut "Up" -alt -name ("jsPickWalk_upNameCommand"); +hotkey -keyShortcut "Right" -ctl -name ("Nudge_FwdNameCommand"); +hotkey -keyShortcut "Left" -ctl -name ("Nudge_BkwdNameCommand"); +hotkey -keyShortcut "Down" -ctl -name ("Nudge_DnNameCommand"); +hotkey -keyShortcut "Up" -ctl -name ("Nudge_UpNameCommand"); +hotkey -keyShortcut "Up" -name ("PickWalkUpNameCommand"); +hotkey -keyShortcut "Down" -name ("PickWalkDownNameCommand"); +hotkey -keyShortcut "=" -ctl -name ("rippleTimeSliderKeysFWDNameCommand"); +hotkey -keyShortcut "-" -ctl -name ("rippleTimeSliderKeysBKWDNameCommand"); +hotkey -keyShortcut "Left" -releaseName ("L_KeyTap_ReleaseNameCommand"); +hotkey -keyShortcut "Right" -releaseName ("R_KeyTap_ReleaseNameCommand"); +hotkey -keyShortcut "I" -name ("Insert_KeyNameCommand"); +hotkey -keyShortcut "End" -name ("Play_Range_EndNameCommand"); +hotkey -keyShortcut "Home" -name ("Play_Range_StartNameCommand"); diff --git a/2009-x64/prefsThierry/userNamedCommands.mel b/2009-x64/prefsThierry/userNamedCommands.mel new file mode 100644 index 0000000..13804ca --- /dev/null +++ b/2009-x64/prefsThierry/userNamedCommands.mel @@ -0,0 +1,532 @@ +//Maya Preference 2009 (Release 1) +// +// + +nameCommand + -annotation "NextFrameNameCommand" + -sourceType "mel" + -command ("NextFrame") + NextFrameNameCommand; + +nameCommand + -annotation "PreviousFrameNameCommand" + -sourceType "mel" + -command ("PreviousFrame") + PreviousFrameNameCommand; + +nameCommand + -annotation "PlaybackForwardNameCommand" + -sourceType "mel" + -command ("PlaybackForward") + PlaybackForwardNameCommand; + +nameCommand + -annotation "PlaybackBackwardNameCommand" + -sourceType "mel" + -command ("PlaybackBackward") + PlaybackBackwardNameCommand; + +nameCommand + -annotation "PlaybackStopNameCommand" + -sourceType "mel" + -command ("PlaybackStop") + PlaybackStopNameCommand; + +nameCommand + -annotation "PreviousKeyNameCommand" + -sourceType "mel" + -command ("PreviousKey") + PreviousKeyNameCommand; + +nameCommand + -annotation "NextKeyNameCommand" + -sourceType "mel" + -command ("NextKey") + NextKeyNameCommand; + +nameCommand + -annotation "BreakTangentsNameCommand" + -sourceType "mel" + -command ("BreakTangents") + BreakTangentsNameCommand; + +nameCommand + -annotation "AddKeyNameCommand" + -sourceType "mel" + -command ("AddKey") + AddKeyNameCommand; + +nameCommand + -annotation "GimbalNameCommand" + -sourceType "mel" + -command ("Gimbal") + GimbalNameCommand; + +nameCommand + -annotation "Gimbal_RotateNameCommand" + -sourceType "mel" + -command ("Gimbal_Rotate") + Gimbal_RotateNameCommand; + +nameCommand + -annotation "Local_RotateNameCommand" + -sourceType "mel" + -command ("Local_Rotate") + Local_RotateNameCommand; + +nameCommand + -annotation "Gimbal_RotationNameCommand" + -sourceType "mel" + -command ("Gimbal_Rotation") + Gimbal_RotationNameCommand; + +nameCommand + -annotation "Local_RotationNameCommand" + -sourceType "mel" + -command ("Local_Rotation") + Local_RotationNameCommand; + +nameCommand + -annotation "Break_TangentNameCommand" + -sourceType "mel" + -command ("Break_Tangent") + Break_TangentNameCommand; + +nameCommand + -annotation "Copy_Key_GraphEditorNameCommand" + -sourceType "mel" + -command ("Copy_Key_GraphEditor") + Copy_Key_GraphEditorNameCommand; + +nameCommand + -annotation "Paste_Key_GraphEditorNameCommand" + -sourceType "mel" + -command ("Paste_Key_GraphEditor") + Paste_Key_GraphEditorNameCommand; + +nameCommand + -annotation "Play_FWDNameCommand" + -sourceType "mel" + -command ("Play_FWD") + Play_FWDNameCommand; + +nameCommand + -annotation "CopyKeyNameCommand" + -sourceType "mel" + -command ("CopyKey") + CopyKeyNameCommand; + +nameCommand + -annotation "PasteKeyNameCommand" + -sourceType "mel" + -command ("PasteKey") + PasteKeyNameCommand; + +nameCommand + -annotation "CopyKeyTimeSliderNameCommand" + -sourceType "mel" + -command ("CopyKeyTimeSlider") + CopyKeyTimeSliderNameCommand; + +nameCommand + -annotation "PasteKeyTimeSliderNameCommand" + -sourceType "mel" + -command ("PasteKeyTimeSlider") + PasteKeyTimeSliderNameCommand; + +nameCommand + -annotation "ScreenLargeNameCommand" + -sourceType "mel" + -command ("ScreenLarge") + ScreenLargeNameCommand; + +nameCommand + -annotation "TranslateObjectNameCommand" + -sourceType "mel" + -command ("TranslateObject") + TranslateObjectNameCommand; + +nameCommand + -annotation "TranslateWorldNameCommand" + -sourceType "mel" + -command ("TranslateWorld") + TranslateWorldNameCommand; + +nameCommand + -annotation "Head_TrailNameCommand" + -sourceType "mel" + -command ("Head_Trail") + Head_TrailNameCommand; + +nameCommand + -annotation "PlayblastOptionsNameCommand" + -sourceType "mel" + -command ("PlayblastOptions") + PlayblastOptionsNameCommand; + +nameCommand + -annotation "PlayblastWindowNameCommand" + -sourceType "mel" + -command ("PlayblastWindow") + PlayblastWindowNameCommand; + +nameCommand + -annotation "WeightTangentNameCommand" + -sourceType "mel" + -command ("WeightTangent") + WeightTangentNameCommand; + +nameCommand + -annotation "LockTangentNameCommand" + -sourceType "mel" + -command ("LockTangent") + LockTangentNameCommand; + +nameCommand + -annotation "BreakTangntNameCommand" + -sourceType "mel" + -command ("BreakTangnt") + BreakTangntNameCommand; + +nameCommand + -annotation "TangentsFlatNameCommand" + -sourceType "mel" + -command ("TangentsFlat") + TangentsFlatNameCommand; + +nameCommand + -annotation "CopyKeysNameCommand" + -sourceType "mel" + -command ("CopyKeys") + CopyKeysNameCommand; + +nameCommand + -annotation "PasteKeysNameCommand" + -sourceType "mel" + -command ("PasteKeys") + PasteKeysNameCommand; + +nameCommand + -annotation "copyKey_GraphEdNameCommand" + -sourceType "mel" + -command ("copyKey_GraphEd") + copyKey_GraphEdNameCommand; + +nameCommand + -annotation "SnapPointToPointNameCommand" + -sourceType "mel" + -command ("SnapPointToPoint") + SnapPointToPointNameCommand; + +nameCommand + -annotation "SnapToPointNameCommand" + -sourceType "mel" + -command ("SnapToPoint") + SnapToPointNameCommand; + +nameCommand + -annotation "paste_keyNameCommand" + -sourceType "mel" + -command ("paste_key") + paste_keyNameCommand; + +nameCommand + -annotation "DeleteKeyNameCommand" + -sourceType "mel" + -command ("DeleteKey") + DeleteKeyNameCommand; + +nameCommand + -annotation "DeleteTimeSliderKeyNameCommand" + -sourceType "mel" + -command ("DeleteTimeSliderKey") + DeleteTimeSliderKeyNameCommand; + +nameCommand + -annotation "GraphCenterCurrentTimeNameCommand" + -sourceType "mel" + -command ("GraphCenterCurrentTime") + GraphCenterCurrentTimeNameCommand; + +nameCommand + -annotation "ChannelBoxNameCommand" + -sourceType "mel" + -command ("ChannelBox") + ChannelBoxNameCommand; + +nameCommand + -annotation "ToggleControlBoxesNameCommand" + -sourceType "mel" + -command ("ToggleControlBoxes") + ToggleControlBoxesNameCommand; + +nameCommand + -annotation "TangentsSplineNameCommand" + -sourceType "mel" + -command ("TangentsSpline") + TangentsSplineNameCommand; + +nameCommand + -annotation "TimeSlider_Flat_TangentNameCommand" + -sourceType "mel" + -command ("TimeSlider_Flat_Tangent") + TimeSlider_Flat_TangentNameCommand; + +nameCommand + -annotation "RepeatLastNameCommand" + -sourceType "mel" + -command ("RepeatLast") + RepeatLastNameCommand; + +nameCommand + -annotation "GraphEditorNameCommand" + -sourceType "mel" + -command ("GraphEditor") + GraphEditorNameCommand; + +nameCommand + -annotation "PlaybackToggleNameCommand" + -sourceType "mel" + -command ("PlaybackToggle") + PlaybackToggleNameCommand; + +nameCommand + -annotation "UnifyTangentsNameCommand" + -sourceType "mel" + -command ("UnifyTangents") + UnifyTangentsNameCommand; + +nameCommand + -annotation "FreeTangentWeightNameCommand" + -sourceType "mel" + -command ("FreeTangentWeight") + FreeTangentWeightNameCommand; + +nameCommand + -annotation "AnimConv_AutoTangentNameCommand" + -sourceType "mel" + -command ("AnimConv_AutoTangent") + AnimConv_AutoTangentNameCommand; + +nameCommand + -annotation "AnimConvergeNameCommand" + -sourceType "mel" + -command ("AnimConverge") + AnimConvergeNameCommand; + +nameCommand + -annotation "ToggleChannelBoxNameCommand" + -sourceType "mel" + -command ("ToggleChannelBox") + ToggleChannelBoxNameCommand; + +nameCommand + -annotation "HideNURBSCurvesNameCommand" + -sourceType "mel" + -command ("HideNURBSCurves") + HideNURBSCurvesNameCommand; + +nameCommand + -annotation "ShowNURBSCurvesNameCommand" + -sourceType "mel" + -command ("ShowNURBSCurves") + ShowNURBSCurvesNameCommand; + +nameCommand + -annotation "ChannelBox_ToggleNameCommand" + -sourceType "mel" + -command ("ChannelBox_Toggle") + ChannelBox_ToggleNameCommand; + +nameCommand + -annotation "LocalRotateNameCommand" + -sourceType "mel" + -command ("LocalRotate") + LocalRotateNameCommand; + +nameCommand + -annotation "GimbalRotateNameCommand" + -sourceType "mel" + -command ("GimbalRotate") + GimbalRotateNameCommand; + +nameCommand + -annotation "Translate_WorldNameCommand" + -sourceType "mel" + -command ("Translate_World") + Translate_WorldNameCommand; + +nameCommand + -annotation "Translate_ObjectNameCommand" + -sourceType "mel" + -command ("Translate_Object") + Translate_ObjectNameCommand; + +nameCommand + -annotation "FilterCurvesNameCommand" + -sourceType "mel" + -command ("FilterCurves") + FilterCurvesNameCommand; + +nameCommand + -annotation "Nudge_FwdNameCommand" + -sourceType "mel" + -command ("Nudge_Fwd") + Nudge_FwdNameCommand; + +nameCommand + -annotation "Nudge_BkwdNameCommand" + -sourceType "mel" + -command ("Nudge_Bkwd") + Nudge_BkwdNameCommand; + +nameCommand + -annotation "Nudge_DnNameCommand" + -sourceType "mel" + -command ("Nudge_Dn") + Nudge_DnNameCommand; + +nameCommand + -annotation "Nudge_UpNameCommand" + -sourceType "mel" + -command ("Nudge_Up") + Nudge_UpNameCommand; + +nameCommand + -annotation "XrayNameCommand" + -sourceType "mel" + -command ("Xray") + XrayNameCommand; + +nameCommand + -annotation "WeightedFreeTangentsNameCommand" + -sourceType "mel" + -command ("WeightedFreeTangents") + WeightedFreeTangentsNameCommand; + +nameCommand + -annotation "MotionTrailNameCommand" + -sourceType "mel" + -command ("MotionTrail") + MotionTrailNameCommand; + +nameCommand + -annotation "Translate_LocalNameCommand" + -sourceType "mel" + -command ("Translate_Local") + Translate_LocalNameCommand; + +nameCommand + -annotation "DeleteTimeSlideKeyNameCommand" + -sourceType "mel" + -command ("DeleteTimeSlideKey") + DeleteTimeSlideKeyNameCommand; + +nameCommand + -annotation "PickWalk_UpNameCommand" + -sourceType "mel" + -command ("PickWalk_Up") + PickWalk_UpNameCommand; + +nameCommand + -annotation "jsPickWalk_leftNameCommand" + -sourceType "mel" + -command ("jsPickWalk_left") + jsPickWalk_leftNameCommand; + +nameCommand + -annotation "jsPickWalk_rightNameCommand" + -sourceType "mel" + -command ("jsPickWalk_right") + jsPickWalk_rightNameCommand; + +nameCommand + -annotation "jsPickWalk_upNameCommand" + -sourceType "mel" + -command ("jsPickWalk_up") + jsPickWalk_upNameCommand; + +nameCommand + -annotation "jsPickWalk_downNameCommand" + -sourceType "mel" + -command ("jsPickWalk_down") + jsPickWalk_downNameCommand; + +nameCommand + -annotation "AutoTangntNameCommand" + -sourceType "mel" + -command ("AutoTangnt") + AutoTangntNameCommand; + +nameCommand + -annotation "PickWalkDownNameCommand" + -sourceType "mel" + -command ("PickWalkDown") + PickWalkDownNameCommand; + +nameCommand + -annotation "PickWalkUpNameCommand" + -sourceType "mel" + -command ("PickWalkUp") + PickWalkUpNameCommand; + +nameCommand + -annotation "rippleTimeSliderKeysFWDNameCommand" + -sourceType "mel" + -command ("rippleTimeSliderKeysFWD") + rippleTimeSliderKeysFWDNameCommand; + +nameCommand + -annotation "rippleTimeSliderKeysBKWDNameCommand" + -sourceType "mel" + -command ("rippleTimeSliderKeysBKWD") + rippleTimeSliderKeysBKWDNameCommand; + +nameCommand + -annotation "CurrentTimeGraphEditorNameCommand" + -sourceType "mel" + -command ("CurrentTimeGraphEditor") + CurrentTimeGraphEditorNameCommand; + +nameCommand + -annotation "L_KeyTap_PressNameCommand" + -sourceType "mel" + -command ("L_KeyTap_Press") + L_KeyTap_PressNameCommand; + +nameCommand + -annotation "L_KeyTap_ReleaseNameCommand" + -sourceType "mel" + -command ("L_KeyTap_Release") + L_KeyTap_ReleaseNameCommand; + +nameCommand + -annotation "R_KeyTap_PressNameCommand" + -sourceType "mel" + -command ("R_KeyTap_Press") + R_KeyTap_PressNameCommand; + +nameCommand + -annotation "R_KeyTap_ReleaseNameCommand" + -sourceType "mel" + -command ("R_KeyTap_Release") + R_KeyTap_ReleaseNameCommand; + +nameCommand + -annotation "Insert_KeyNameCommand" + -sourceType "mel" + -command ("Insert_Key") + Insert_KeyNameCommand; + +nameCommand + -annotation "Play_Range_EndNameCommand" + -sourceType "mel" + -command ("Play_Range_End") + Play_Range_EndNameCommand; + +nameCommand + -annotation "Play_Range_StartNameCommand" + -sourceType "mel" + -command ("Play_Range_Start") + Play_Range_StartNameCommand; + diff --git a/2009-x64/prefsThierry/userPrefs.mel b/2009-x64/prefsThierry/userPrefs.mel new file mode 100644 index 0000000..78f36da --- /dev/null +++ b/2009-x64/prefsThierry/userPrefs.mel @@ -0,0 +1,1673 @@ +//Maya Preference 2009 (Release 1) +// +// +keyTangent -global -inTangentType clamped -outTangentType clamped -weightedTangents true; +constructionHistory -tgl on; + +optionVar -version 3; +optionVar + -iv "AEpopupWhenCreatingShaders" 1 + -iv "CCchannelNames" 2 + -iv "CCkeyAllSame" 1 + -sv "CreateNurbsCircleCtx" "createNurbsCircleCtx -e -image1 \"circle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -normalType 2\n-normal 0 1 0 -sweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-attachToSections 1\n-doDragEdit 0\nCreateNurbsCircleCtx" + -sv "CreateNurbsConeCtx" "createNurbsConeCtx -e -image1 \"cone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 8\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 1\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-height 2\n-attachToSections 1\n-attachToSpans 0\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsConeCtx" + -sv "CreateNurbsCubeCtx" "createNurbsCubeCtx -e -image1 \"cube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 1\n-depth 1\n-height 1\n-attachToPatchesU 0\n-attachToPatchesV 0\n-doDragEdit 0\nCreateNurbsCubeCtx" + -sv "CreateNurbsCylinderCtx" "createNurbsCylinderCtx -e -image1 \"cylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-sections 20\n-spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-caps 3\n-extraTransformOnCaps 1\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-height 2\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsCylinderCtx" + -sv "CreateNurbsPlaneCtx" "createNurbsPlaneCtx -e -image1 \"plane.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -uPatches 1\n-vPatches 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 1\n-height 1\n-attachToPatchesU 0\n-attachToPatchesV 0\n-doDragEdit 0\nCreateNurbsPlaneCtx" + -sv "CreateNurbsSphereCtx" "createNurbsSphereCtx -e -image1 \"sphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axisType 2\n-axis 0 1 0 -startSweep 0\n-endSweep 360\n-degree 3\n-useTolerance 0\n-sections 8\n-spans 4\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-attachToSections 1\n-attachToSpans 1\n-attachToHeightRatio 1\n-doDragEdit 0\nCreateNurbsSphereCtx" + -sv "CreateNurbsSquareCtx" "createNurbsSquareCtx -e -image1 \"square.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -spans 1\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-width 1\n-height 1\n-attachToSpans 0\n-doDragEdit 0\nCreateNurbsSquareCtx" + -sv "CreateNurbsTorusCtx" "createNurbsTorusCtx -e -image1 \"torus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -startSweep 0\n-endSweep 360\n-minorSweep 360\n-minorRadius 0.5\n-sections 8\n-spans 4\n-axisType 2\n-axis 0 1 0 -surfaceDegree 3\n-useTolerance 0\n-toleranceType 1\n-tolerance 0.01\n-radius 1\n-attachToSections 0\n-attachToSpans 0\n-attachToHeightRatio 0\n-doDragEdit 0\nCreateNurbsTorusCtx"; +optionVar + -sv "CreatePolyConeCtx" "createPolyConeCtx -e -image1 \"polyCone.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 1\n-subdivisionsDepth 0\n-radius 1\n-height 2\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyConeCtx" + -sv "CreatePolyCubeCtx" "createPolyCubeCtx -e -image1 \"polyCube.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-subdivisionsDepth 1\n-width 1\n-depth 1\n-height 1\n-createUVs 4\n-attachToSubdivisionsDepth 1\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsWidth 1\n-attachToSubdivisionsAll 1\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCubeCtx" + -sv "CreatePolyCylinderCtx" "createPolyCylinderCtx -e -image1 \"polyCylinder.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 1\n-height 2\n-roundCap 0\n-createUVs 3\n-attachToSubdivisionsHeight 1\n-attachToSubdivisionsAxis 1\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyCylinderCtx" + -sv "CreatePolyHelixCtx" "createPolyHelixCtx -e -image1 \"polyHelix.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 8\n-subdivisionsCoil 50\n-subdivisionsCap 0\n-roundCap 0\n-coils 3\n-height 2\n-width 2\n-radius 0.4\n-direction 1\n-createUVs 3\n-attachToSubdivisionsCoil 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-attachToNumberCoils 0\n-attachToRadius 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyHelixCtx" + -sv "CreatePolyPipeCtx" "createPolyPipeCtx -e -image1 \"polyPipe.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsAxis 20\n-subdivisionsHeight 1\n-subdivisionsCap 1\n-radius 1\n-height 2\n-thickness 0.5\n-roundCap 0\n-createUVs 1\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsCap 0\n-attachToThickness 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPipeCtx" + -sv "CreatePolyPlaneCtx" "createPolyPlaneCtx -e -image1 \"polyMesh.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 1\n-subdivisionsHeight 1\n-width 1\n-height 1\n-createUVs 2\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsWidth 0\n-attachToSubdivisionsAll 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlaneCtx" + -sv "CreatePolyPlatonicSolidCtx" "createPolyPlatonicSolidCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 1\n-sideLength 0.7137\n-solidType 0\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPlatonicSolidCtx" + -sv "CreatePolyPrismCtx" "createPolyPrismCtx -e -image1 \"polyPrism.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -numberOfSides 3\n-subdivisionsHeight 1\n-subdivisionsCap 0\n-length 2\n-sideLength 1\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-attachToNumSides 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPrismCtx" + -sv "CreatePolyPyramidCtx" "createPolyPyramidCtx -e -image1 \"polyPyramid.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsHeight 1\n-subdivisionsDepth 0\n-sideLength 1\n-numberOfSides 4\n-createUVs 3\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsCap 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyPyramidCtx" + -sv "CreatePolySoccerBallCtx" "createPolySoccerBallCtx -e -image1 \"polySoccerBall.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -radius 1\n-sideLength 0.4036\n-createUVs 4\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySoccerBallCtx"; +optionVar + -sv "CreatePolySphereCtx" "createPolySphereCtx -e -image1 \"polySphere.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 1\n-createUVs 2\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSubdivisionsAll 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolySphereCtx" + -sv "CreatePolyTorusCtx" "createPolyTorusCtx -e -image1 \"polyTorus.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivisionsWidth 20\n-subdivisionsHeight 20\n-radius 1\n-sectionRadius 0.5\n-twist 0\n-createUVs 1\n-attachToSubdivisionsHeight 0\n-attachToSubdivisionsAxis 0\n-attachToSectionRadius 0\n-axis 1\n-doSubdivisionsCapsEdit 0\n-doDragEdit 0\nCreatePolyTorusCtx" + -iv "DAGOpenHyperGraphMode" 0 + -iv "EEexprEdTextEditor" 1 + -sv "Move" "manipMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 2\n-activeHandle 3\n-orientAxes 0 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\n-tweakMode 0\nMove" + -sv "MoveLimits" "manipMoveLimitsCtx -e -image1 \"moveLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" MoveLimits" + -sv "MoveNormal" "manipMoveContext -e -image1 \"moveNormal.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 3\n-activeHandle 3\n-orientAxes 0 0 0 -interactiveUpdate 1\n-activeHandleNormal 2\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-snapComponentsRelative 1\n-snapLiveFaceCenter 0\n-snapLivePoint 0\n-editPivotMode 0\n-tweakMode 0\nMoveNormal" + -sv "OMTLoad_connectComponents" "Load" + -sv "OMTLoad_overshoot" "Load" + -sv "OMTLoad_saveSelectionToggle" "Load"; +optionVar + -sv "OMTLoad_scalePosition" "Load" + -sv "OMTLoad_selectElement" "Load" + -sv "OMTLoad_selectLoop" "Load" + -sv "OMTLoad_selectOutline" "Load" + -sv "OMTLoad_selectRing" "Load" + -sv "OMTLoad_selectionDragger" "Load" + -sv "OMTLoad_spinEdge" "Load" + -sv "OMTLoad_splitAroundSelection" "Load" + -sv "OMTLoad_splitLoop" "Load" + -sv "OMTLoad_toggleSaveSelection" "Load"; +optionVar + -sv "OMTSection_connectComponents" "General" + -sv "OMTSection_overshoot" "General" + -sv "OMTSection_saveSelectionToggle" "General" + -sv "OMTSection_scalePosition" "General" + -sv "OMTSection_selectElement" "General" + -sv "OMTSection_selectLoop" "General" + -sv "OMTSection_selectOutline" "General" + -sv "OMTSection_selectRing" "General" + -sv "OMTSection_selectionDragger" "General" + -sv "OMTSection_spinEdge" "General"; +optionVar + -sv "OMTSection_splitAroundSelection" "General" + -sv "OMTSection_splitLoop" "General" + -sv "OMTSection_toggleSaveSelection" "General" + -sv "OMT_ov_overshootSourceType" "Previous Key" + -iv "PolySelectEditSplitRingAbsolute" 0 + -sv "PolyTexShortestPath" "texSelectShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyTexShortestPath" + -sv "PolyViewPortShortestPath" "polyShortestPathCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" PolyViewPortShortestPath" + -sv "PropMod" "propModCtx -e -image1 \"propMod.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type 1\n-linear -0.1\n-linearParam 0.5 0.5 -powerCutoff 10\n-powerDegree 3\n-direction 1 1 1 -worldspace 1\n-powerCutoffParam 0.5 0.5 -powerDegreeParam 3\n-animCurveFalloff 1 1 PropMod" + -iv "RecentBackupsMaxSize" 4 + -iv "RecentBackupsMaxSizeHold" 4; +optionVar + -ca "RecentFilesList" + -sva "RecentFilesList" "C:/Documents and Settings/tdidonna/Desktop/10_HW_Antic_and_Breakdowns/victor_loeza_breakdown_anticip.mb" + -sva "RecentFilesList" "C:/Documents and Settings/tdidonna/Desktop/11_HW_Splined_Root_to_Head/victor_loeza_torso_spline.mb" + -sva "RecentFilesList" "K:/TapRapper/Milestone 1/Maxiford_Cycle_Full.mb" + -sva "RecentFilesList" "K:/TapRapper/Cycles/Maxiford/Maxiford_Cycle_144 FR.mb" + -iv "RecentFilesMaxSize" 4 + -ca "RecentFilesTypeList" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -sva "RecentFilesTypeList" "mayaBinary" + -ca "RecentProjectsList" + -sva "RecentProjectsList" "C:/Documents and Settings/tdidonna/Desktop/Generick" + -iv "RecentProjectsMaxSize" 4 + -iv "RecentProjectsMaxSizeHold" 4 + -sv "Rotate" "manipRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 2\n-activeHandle 3\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 15\n-useObjectPivot 0\n-centerTrackball 1\n-editPivotMode 0\n-tweakMode 0\nRotate" + -sv "RotateLimits" "manipRotateLimitsCtx -e -image1 \"rotateLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" RotateLimits" + -sv "Scale" "manipScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -activeHandle 3\n-preserveChildPosition 0\n-preserveUV 0\n-snap 0\n-snapRelative 0\n-snapValue 1\n-useObjectPivot 0\n-editPivotMode 0\nScale" + -sv "ScaleLimits" "manipScaleLimitsCtx -e -image1 \"scaleLimits.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" ScaleLimits"; +optionVar + -ca "ScriptEditorExecuterBackupArray" + -sva "ScriptEditorExecuterBackupArray" "commandExecuter" + -sva "ScriptEditorExecuterBackupArray" "commandExecuter-0" + -ca "ScriptEditorExecuterLabelArray" + -sva "ScriptEditorExecuterLabelArray" "MEL" + -sva "ScriptEditorExecuterLabelArray" "Python" + -iv "ScriptEditorExecuterTabIndex" 1 + -ca "ScriptEditorExecuterTypeArray" + -sva "ScriptEditorExecuterTypeArray" "mel" + -sva "ScriptEditorExecuterTypeArray" "python" + -sv "SelectLasso" "lassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\n-fastComponents 1\nSelectLasso" + -sv "SoftSelectOptionsContext" "softSelectOptionsCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -enabled 0\n-size 5\n-uvSize 0.5\n-falloffCurve \"0,1,2,1,0,2\" -enableFalseColor 1\n-colorCurve \"1,1,0,1,1,1,0,0,0.5,1,0,0,0,0,1\" -falloffMode 0\nSoftSelectOptionsContext" + -sv "TextureLasso" "textureLassoContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -drawClosed 1\nTextureLasso" + -sv "Transform" "srtContext -e -image1 \"srt.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" Transform" + -iv "aTan_flatten" 0 + -fv "aTan_softness" 0.056; +optionVar + -iv "activeObjectPivots" 0 + -iv "aeInMainWindow" 0 + -iv "ajrAS_iEnabled" 0 + -iv "ajrAS_iNotify" 0 + -iv "ajrAS_iSaveCopies" 5 + -iv "ajrAS_iSelectTrigger" 15 + -iv "ajrAS_iUseTime" 1 + -sv "ajrAS_sBackupDir" "scenes" + -sv "alignToolCtx" "alignCtx -e -image1 \"alignTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -anchorFirstObject 0\n-showAlignTouch 1\nalignToolCtx" + -iv "allMainWindowComponentsVisible" 0; +optionVar + -iv "allowMenusInPanels" 1 + -iv "animBlendingOpt" 1 + -iv "animLayerButtonsOnRight" 0 + -iv "animLayerDefaultPassthroughMode" 1 + -iv "animLayerDefaultRotationMode" 0 + -iv "animLayerDefaultScaleMode" 1 + -iv "animLayerFilterActive" 0 + -iv "animLayerFilterOptions" 1 + -iv "animLayerGhostOption" 1 + -iv "animLayerLockCurves" 1; +optionVar + -iv "animLayerMuteLock" 1 + -iv "animLayerReverseLayerStack" 1 + -iv "animLayerSelectOnCollapse" 1 + -iv "animLayerSelectionKey" 1 + -iv "animateRoll" 1 + -iv "animateRollFitAll" 1 + -iv "animateRollGotoBookmark" 1 + -iv "animateRollNextLastCameraView" 1 + -iv "animateRollViewCompass" 1 + -iv "animationDetailsVisibility" 0; +optionVar + -iv "apiPrefLazyLoading" 0 + -iv "apiPrefOldPluginWarning" 1 + -sv "arcLenDimContext" "arcLenDimContext -e -image1 \"arcLengthDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" arcLenDimContext" + -sv "artSelectContext" "artSelectCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -tangentOutline 1\n-surfaceConformedBrushVertices 0\n-record 0\n-importreassign 0\n-selectclonesource 0\n-preserveclonesource 1\n-dynclonemode 1\n-pickColor 0\n-expandfilename 0\n-usepressure 0\n-reflectionaboutorigin 0\n-reflection 0\n-projective 0\n-showactive 1\n-brushfeedback 1\n-outwhilepaint 0\n-outline 1\n-accopacity 0\n-brushalignment 1\n-exportaspectratio 1\n-stampDepth 0.5\n-stampSpacing 0.1\n-screenRadius 1\n-worldRadius 1\n-lowerradius 0.001\n-opacity 1\n-reflectionaxis \"x\" -exportfiletype \"IFF\" -exportfilemode \"luminance\" -importfilemode \"luminance\" -strokesmooth \"spline\" -mappressure \"Opacity\" -paintmode \"tangent\" -paintoperationtype \"Paint\" -dragSlider \"none\" -radius 1\n-stampProfile \"poly\" -exportfilesizex 256\n-exportfilesizey 256\n-selectop \"select\" -addselection 1\n-importthreshold 0.5\nartSelectContext" + -sv "attrEdListType" "auto" + -iv "attrEdPaneRatio" 85 + -sv "autoKeyCharacterState" "standard" + -iv "autoKeyframeState" 1 + -sv "azimuthElevationContext" "orbitCtx -e -image1 \"azimuthElevation.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Azimuth Elevation Tool\" -orbitScale 1\n-localOrbit 1\nazimuthElevationContext" + -iv "batchRenderMessagesVerbosity" 1; +optionVar + -iv "bevelOutputPolygons" 0 + -iv "birail1OutputPoly" 0 + -iv "birail2OutputPoly" 0 + -iv "birail3OutputPoly" 0 + -iv "blendOutputPoly" 0 + -iv "bonusToolsMenuToggle" 0 + -iv "boundaryPolys" 0 + -sv "boxZoom2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" boxZoom2dContext" + -sv "boxZoomContext" "boxZoomCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -zoomScale 1\nboxZoomContext" + -sv "boxZoomtwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" boxZoomtwContext"; +optionVar + -fv "cameraFarClip" 1000 + -iv "cameraFilmFitMode" 3 + -fv "cameraFilmFitOffset" 0 + -fv "cameraFocalLength" 35 + -fv "cameraHorizAper" 1.41732 + -fv "cameraHorizOffset" 0 + -fv "cameraInterest" 5 + -fv "cameraLensSqueeze" 1 + -iv "cameraNamesVisibility" 1 + -fv "cameraNearClip" 0.01; +optionVar + -iv "cameraNodeCount" 1 + -iv "cameraOrtho" 0 + -fv "cameraOrthoWidth" 30 + -fv "cameraOverscan" 1 + -fv "cameraScale" 1 + -fv "cameraShutterAngle" 144 + -fv "cameraVertAper" 0.94488 + -fv "cameraVertOffset" 0 + -iv "channelsFieldWidth" 65 + -sv "channelsLayersConfiguration" "Channel Box / Layer Editor"; +optionVar + -iv "channelsLayersPaneSize" 57 + -iv "channelsLayersVisible" 1 + -iv "channelsLayersWidth" 200 + -iv "channelsLongName" 1 + -iv "channelsPrecision" 3 + -iv "circularFilletOutputPolygons" 0 + -iv "clickBoxSize" 4 + -iv "cmdWindowTitleBarVis" 1 + -iv "collapseIconBarsInPanels" 0 + -ca "colorMaterialBlend" + -iva "colorMaterialBlend" 0 + -iva "colorMaterialBlend" 0; +optionVar + -ca "colorMaterialChannel" + -iva "colorMaterialChannel" 3 + -iva "colorMaterialChannel" 3 + -ca "colorShadedDisplay" + -iva "colorShadedDisplay" 0 + -iva "colorShadedDisplay" 0 + -iv "commandExecuterShowLineNumbers" 1 + -iv "commandLineHoldFocus" 0 + -iv "commandLineInputFieldWidth" 50 + -iv "commandLineNumHistoryLines" 50 + -sv "commandLineSourceType" "mel" + -iv "commandLineVisible" 1 + -sv "commandReporterSourceTypeFilter" "" + -iv "commandReportercmdScrollFieldReporter1SuppressErrors" 0; +optionVar + -iv "commandReportercmdScrollFieldReporter1SuppressInfo" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressResults" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressStackTrace" 0 + -iv "commandReportercmdScrollFieldReporter1SuppressWarnings" 0 + -sv "commandportDefaultName" "commandportDefault" + -iv "commandportOpenByDefault" 1 + -iv "containerCentricSelection" 0 + -iv "containerRootUsesCustomIcon" 1 + -iv "copyKeyControlPoints" 0 + -iv "copyKeyDriven" 0; +optionVar + -iv "copyKeyHelpPictures" 0 + -sv "copyKeyHierarchy" "none" + -sv "copyKeyOption" "keys" + -sv "copyKeyRange" "0:10" + -iv "copyKeyShapes" 1 + -iv "copyKeyUseChannelBox" 0 + -iv "copyKeyWhichRange" 1 + -sv "create2dTextureType" "normal" + -sv "createDrawContext" "createDrawCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -axis \"x\" createDrawContext" + -iv "createMaterialsWithShadingGroup" 1; +optionVar + -iv "createNurbsPrimitiveAsTool" 1 + -iv "createPolyPrimitiveAsTool" 1 + -iv "createTexturesWithPlacement" 1 + -iv "currentDisplayLayerActive" 0 + -iv "currentFrameVisibility" 0 + -sv "currentMenuBarTab" "animationMenuSet" + -ca "customSelectPriority" + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 4 + -iva "customSelectPriority" 3 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 8 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 10 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 9 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -iva "customSelectPriority" 2 + -fv "defaultCameraFarClipValue" 1000 + -fv "defaultCameraNearClipValue" 0.1 + -sv "defaultDiskCacheSaveAsType" "always"; +optionVar + -sv "defaultFileExportActiveType" "mayaAscii" + -iv "defaultShowManipulator" 6 + -sv "defaultTextureSaveAsType" "unlessRef" + -sv "directKeyContext" "directKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" directKeyContext" + -iv "disableComponentPopups" 0 + -iv "displayAffected" 1 + -iv "displayAlphaAsGreyScale" 0 + -iv "displayDivisionLines" 1 + -iv "displayEditorImage" 0 + -iv "displayGridAxes" 1; +optionVar + -iv "displayGridAxesAccented" 1 + -iv "displayGridLines" 1 + -sv "displayGridOrthoLabelPosition" "edge" + -iv "displayGridOrthoLabels" 1 + -sv "displayGridPerspLabelPosition" "axis" + -iv "displayGridPerspLabels" 1 + -iv "displayLayerBase" 1 + -iv "displayLayerContents" 1 + -iv "displayLayerCurrent" 0 + -iv "displayLayerMerge" 0; +optionVar + -iv "displayLayerShowNamespace" 1 + -iv "displayOrthoGridLabels" 0 + -iv "displayPerspGridLabels" 0 + -ca "displayPolyBackFaceCull" + -iva "displayPolyBackFaceCull" 0 + -iva "displayPolyBackFaceCull" 0 + -ca "displayPolyBorderEdgeHilite" + -iva "displayPolyBorderEdgeHilite" 0 + -iva "displayPolyBorderEdgeHilite" 0 + -ca "displayPolyBorderEdgeSize" + -fva "displayPolyBorderEdgeSize" 3 + -fva "displayPolyBorderEdgeSize" 3 + -ca "displayPolyBorderMapHilite" + -iva "displayPolyBorderMapHilite" 0 + -iva "displayPolyBorderMapHilite" 0 + -ca "displayPolyCreaseEdgeHilite" + -iva "displayPolyCreaseEdgeHilite" 0 + -iva "displayPolyCreaseEdgeHilite" 0 + -ca "displayPolyCreaseVertexHilite" + -iva "displayPolyCreaseVertexHilite" 0 + -iva "displayPolyCreaseVertexHilite" 0 + -ca "displayPolyEdgeDisp" + -iva "displayPolyEdgeDisp" 0 + -iva "displayPolyEdgeDisp" 0; +optionVar + -ca "displayPolyFacetCentreDisp" + -iva "displayPolyFacetCentreDisp" 0 + -iva "displayPolyFacetCentreDisp" 0 + -ca "displayPolyFacetNormalDisp" + -iva "displayPolyFacetNormalDisp" 0 + -iva "displayPolyFacetNormalDisp" 0 + -ca "displayPolyFacetTrngleDisp" + -iva "displayPolyFacetTrngleDisp" 0 + -iva "displayPolyFacetTrngleDisp" 0 + -ca "displayPolyFacetWarpDisp" + -iva "displayPolyFacetWarpDisp" 0 + -iva "displayPolyFacetWarpDisp" 0 + -ca "displayPolyNormalSize" + -fva "displayPolyNormalSize" 0.4 + -fva "displayPolyNormalSize" 0.4 + -ca "displayPolyNumEdge" + -iva "displayPolyNumEdge" 0 + -iva "displayPolyNumEdge" 0 + -ca "displayPolyNumFacet" + -iva "displayPolyNumFacet" 0 + -iva "displayPolyNumFacet" 0 + -ca "displayPolyNumUv" + -iva "displayPolyNumUv" 0 + -iva "displayPolyNumUv" 0 + -ca "displayPolyNumVertex" + -iva "displayPolyNumVertex" 0 + -iva "displayPolyNumVertex" 0 + -iv "displayPolyObjsAffected" 0; +optionVar + -ca "displayPolyUV" + -iva "displayPolyUV" 0 + -iva "displayPolyUV" 0 + -ca "displayPolyUVSize" + -fva "displayPolyUVSize" 4 + -fva "displayPolyUVSize" 4 + -ca "displayPolyUVTopology" + -iva "displayPolyUVTopology" 0 + -iva "displayPolyUVTopology" 0 + -ca "displayPolyVertexNormals" + -iva "displayPolyVertexNormals" 0 + -iva "displayPolyVertexNormals" 0 + -ca "displayPolyVertexSize" + -fva "displayPolyVertexSize" 3 + -fva "displayPolyVertexSize" 3 + -ca "displayPolyVtxBackCull" + -iva "displayPolyVtxBackCull" 1 + -iva "displayPolyVtxBackCull" 1 + -ca "displayPolyVtxDisp" + -iva "displayPolyVtxDisp" 0 + -iva "displayPolyVtxDisp" 0 + -iv "displayRegionOfEffect" 1 + -iv "displayViewportGradient" 0 + -sv "distanceDimContext" "distanceDimContext -e -image1 \"distanceDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" distanceDimContext"; +optionVar + -sv "dolly2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" dolly2dContext" + -sv "dollyContext" "dollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Dolly Tool\" -scale 1\n-localDolly 1\n-centerOfInterestDolly 0\n-boxDollyType \"bbox\" -dollyTowardsCenter 1\ndollyContext" + -sv "dollytwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" dollytwContext" + -iv "dopeSheetAutoFit" 0 + -iv "dopeSheetOutlinerWidth" 190 + -iv "dopeSheetShowTicks" 1 + -iv "dynPaint23dToggle" 2 + -ca "dynPaintPanelClearColour" + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -fva "dynPaintPanelClearColour" 1 + -sv "dynParticleContext" "dynParticleCtx -e -image1 \"particle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -conserve 1\n-nucleus 0\n-sketch 0\n-numJitters 1\n-jitterRadius 0\n-sketchInterval 5\n-grid 0\n-gridSpacing 0.5\n-lowerLeftX -2.5\n-lowerLeftY -2.5\n-lowerLeftZ -2.5\n-upperRightX 2.5\n-upperRightY 2.5\n-upperZ 2.5\ndynParticleContext" + -iv "dynPrefAutoCreate" 1; +optionVar + -iv "dynPrefEchoCollision" 1 + -iv "dynPrefRunupFrom" 1 + -iv "dynPrefRunupToCurrentTime" 0 + -iv "dynPrefSaveRuntimeState" 1 + -sv "dynWireCtx1" "dynWireCtx -e -image1 \"paintEffectsTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -dragBrushSize \"none\" -doProject 1\n-brushDrag 0.88\n-brushMass 1\n-inputSamples 4\n-sampleSeparation 4\n-surfaceOffset 0\n-paintAtDepth 0\n-drawAsMesh 1\n-usePressure 1\n-pressureMapping1 5\n-pressureMapping2 1\n-pressureMapping3 0\n-pressureMin1 0\n-pressureMin2 0\n-pressureMin3 0\n-pressureMax1 1\n-pressureMax2 1\n-pressureMax3 1\n-displayQuality 100\n-pixelMode 0\ndynWireCtx1" + -iv "echoAllLines" 0 + -iv "expandPopupList" 0 + -iv "exportKeepReferences" 1 + -iv "extrudeOutputPolygons" 0 + -iv "fastInteraction" 0; +optionVar + -iv "fbEnvVarExpand" 1 + -iv "fbikDetailsVisibility" 0 + -iv "fcheckAsImageViewer" 1 + -sv "fileCompressionMode" "asCompressed" + -sv "fileOptionsGroupNodeResolvedName" "group" + -iv "frameRateVisibility" 0 + -iv "freeFormFilletOutputPolygons" 0 + -iv "freezeTransformationsJointOrient" 0 + -iv "freezeTransformationsNormal" 0 + -iv "freezeTransformationsRotate" 1; +optionVar + -iv "freezeTransformationsScale" 1 + -iv "freezeTransformationsTranslate" 1 + -iv "freezeTransformationsWhen" 1 + -iv "ghostFrameStep" 1 + -iv "ghostFramesAfter" 3 + -iv "ghostFramesBefore" 3 + -iv "globalVisibilityOfComponentBars" 1 + -sv "graphDollyContext" "graphDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphDollyContext" + -iv "graphEdOutlinerWidth" 190 + -iv "graphEditorAutoFit" 0; +optionVar + -iv "graphEditorClipTime" 1 + -sv "graphTrackContext" "graphTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" graphTrackContext" + -fv "gridDivisions" 5 + -fv "gridSize" 12 + -fv "gridSpacing" 5 + -iv "groupPreserve" 1 + -iv "groupWorld" 0 + -iv "groupZeroPivot" 1 + -iv "heatMapMetric" 2 + -iv "helpBrowserRaiseWindow" 1; +optionVar + -iv "helpBrowserUseWindow" 1 + -sv "helpLanguage" "en_US" + -iv "helpLineVisible" 1 + -iv "helpPopupDisplayTime" 4 + -sv "helpUrl" "" + -iv "highPrecisionNurbs" 0 + -sv "hotBoxDisplayStyle" "-dh" + -iv "hotBoxTransparencyLevel" 0 + -iv "hsBinsSortShadingNodesOnly" 1 + -iv "hsClearBeforeGraphing" 1; +optionVar + -iv "hsMergeConnections" 1 + -iv "hsOpaqueContainers" 0 + -iv "hsShowRelationships" 1 + -ca "hyperShadeFirstPaneTabs" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab1" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab2" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab3" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab4" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab5" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab6" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab7" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab8" + -sva "hyperShadeFirstPaneTabs" "hyperShadeTab9" + -iv "hyperShadePanelCreateBarIconsAndTextWidth" 172 + -iv "hyperShadePanelCreateBarShown" 1 + -sv "hyperShadePanelTabSectionsShown" "showTopAndBottomTabs" + -sv "hyperShadePanelWorkAreaTab" "hyperShadePanel1Window|TearOffPane|hyperShadePanel1|hyperShadePanel1|mainForm|paneArrangement|secondPaneTabs|formLayout80" + -ca "hyperShadeSecondPaneTabs" + -sva "hyperShadeSecondPaneTabs" "hyperShadeTab10" + -iv "hyperShadeTab1" 1; +optionVar + -iv "hyperShadeTab10" 1 + -sv "hyperShadeTab10HypershadeName" "graph1HyperShadeEd" + -sv "hyperShadeTab10Label" "Work Area" + -sv "hyperShadeTab10Type" "protected graph" + -sv "hyperShadeTab1Filter" "MaterialsAndShaderGlow" + -sv "hyperShadeTab1HypershadeName" "collection1HyperShadeEd" + -sv "hyperShadeTab1IconSize" "mediumIcons" + -sv "hyperShadeTab1Label" "Materials" + -sv "hyperShadeTab1Type" "scene" + -iv "hyperShadeTab2" 1; +optionVar + -sv "hyperShadeTab2Filter" "Textures" + -sv "hyperShadeTab2HypershadeName" "collection2HyperShadeEd" + -sv "hyperShadeTab2Label" "Textures" + -sv "hyperShadeTab2Type" "scene" + -iv "hyperShadeTab3" 1 + -sv "hyperShadeTab3Filter" "Utilities" + -sv "hyperShadeTab3HypershadeName" "collection3HyperShadeEd" + -sv "hyperShadeTab3Label" "Utilities" + -sv "hyperShadeTab3Type" "scene" + -iv "hyperShadeTab4" 1; +optionVar + -sv "hyperShadeTab4Filter" "LightsAndOpticalFX" + -sv "hyperShadeTab4HypershadeName" "collection4HyperShadeEd" + -sv "hyperShadeTab4Label" "Lights" + -sv "hyperShadeTab4Type" "scene" + -iv "hyperShadeTab5" 1 + -sv "hyperShadeTab5Filter" "Cameras" + -sv "hyperShadeTab5HypershadeName" "collection5HyperShadeEd" + -sv "hyperShadeTab5Label" "Cameras" + -sv "hyperShadeTab5Type" "scene" + -iv "hyperShadeTab6" 1; +optionVar + -sv "hyperShadeTab6Filter" "ShadingGroups" + -sv "hyperShadeTab6HypershadeName" "collection6HyperShadeEd" + -sv "hyperShadeTab6Label" "Shading Groups" + -sv "hyperShadeTab6Type" "scene" + -iv "hyperShadeTab7" 1 + -sv "hyperShadeTab7Filter" "BakeSets" + -sv "hyperShadeTab7HypershadeName" "collection7HyperShadeEd" + -sv "hyperShadeTab7Label" "Bake Sets" + -sv "hyperShadeTab7Type" "scene" + -iv "hyperShadeTab8" 1; +optionVar + -sv "hyperShadeTab8CurrentDirectory" "C:/Documents and Settings/tdidonna/My Documents/maya/projects/" + -iv "hyperShadeTab8DirectoriesShown" 1 + -sv "hyperShadeTab8DirectoriesVisorName" "directories1VisorEd" + -iv "hyperShadeTab8FilesShown" 1 + -sv "hyperShadeTab8FilesVisorName" "files1VisorEd" + -sv "hyperShadeTab8Label" "Projects" + -sv "hyperShadeTab8RootDirectory" "C:/Documents and Settings/tdidonna/My Documents/maya/projects/" + -sv "hyperShadeTab8Type" "disk" + -iv "hyperShadeTab9" 1 + -sv "hyperShadeTab9Filter" "ContainerNodes"; +optionVar + -sv "hyperShadeTab9HypershadeName" "collection8HyperShadeEd" + -sv "hyperShadeTab9Label" "Container Nodes" + -sv "hyperShadeTab9Type" "scene" + -iv "hypergraphColorOverride" 0 + -iv "hypergraphDisplayConstraints" 0 + -iv "hypergraphDisplayDeformers" 0 + -iv "hypergraphDisplayExpressions" 0 + -iv "hypergraphDisplayImage" 0 + -iv "hypergraphDisplayInvisibleNodes" 0 + -iv "hypergraphDisplayShapeNodes" 0; +optionVar + -iv "hypergraphDisplayUnderworldNodes" 0 + -iv "hypergraphFreeform" 0 + -sv "hypergraphGraphLayoutStyle" "HierarchicalLayout" + -iv "hypergraphShowCachedConnections" 0 + -iv "hypergraphUpdateNodeAdded" 1 + -iv "hypergraphUpdateSelection" 1 + -iv "ignoreSelectionPriority" 0 + -iv "ikFKSwitchState" 0 + -sv "ikHandleContext" "ikHandleCtx -e -image1 \"kinHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikRPsolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikHandleContext" + -fv "ikHandleDisplayScale" 1; +optionVar + -sv "ikIkFkDisplayMethod" "ikfk" + -fv "ikIkFkJointDisplayScale" 0.5 + -fv "ikJointDisplayScale" 1 + -sv "ikSplineHandleContext" "ikSplineHandleCtx -e -image1 \"kinSplineHandle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -solverTypeH \"ikSplineSolver\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -createCurve 1\n-simplifyCurve 1\n-rootOnCurve 1\n-twistType \"linear\" -createRootAxis 0\n-parentCurve 1\n-snapCurve 0\n-numSpans 1\n-rootTwistMode 0\nikSplineHandleContext" + -sv "inTangentType" "clamped" + -sv "insertJointContext" "insertJointCtx -e -image1 \"kinInsert.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" insertJointContext" + -sv "insertKeyContext" "insertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\ninsertKeyContext" + -iv "iprRenderMotionBlur" 1 + -iv "iprRenderShading" 1 + -iv "iprRenderShadowMaps" 1; +optionVar + -iv "isAttributeEditorVisible" 0 + -iv "isHotBoxAnimationRowVisible" 1 + -iv "isHotBoxClothRowVisible" 0 + -iv "isHotBoxCommonRowVisible" 1 + -iv "isHotBoxControlRowVisible" 1 + -iv "isHotBoxDynamicsRowVisible" 0 + -iv "isHotBoxLiveRowVisible" 0 + -iv "isHotBoxNClothRowVisible" 0 + -iv "isHotBoxNDynamicsRowVisible" 1 + -iv "isHotBoxPane-SpecificRowVisible" 1; +optionVar + -iv "isHotBoxPaneSpecificRowVisible" 1 + -iv "isHotBoxPolygonsRowVisible" 0 + -iv "isHotBoxRenderingRowVisible" 0 + -iv "isHotBoxRmbPopupsOn" 0 + -iv "isHotBoxShowAll" 0 + -iv "isHotBoxSurfacesRowVisible" 0 + -iv "isMarkingMenuOn" 1 + -iv "isShelfLoad" 1 + -iv "isShelfSave" 1 + -iv "isShelfVisible" 1; +optionVar + -sv "jointContext" "jointCtx -e -image1 \"kinJoint.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -scaleCompensateJ 1\n-degreeOfFreedomJ \"xyz\" -jointOrientationJ 0 0 0 -scaleOrientationJ 0 0 0 -scaleJ 1 1 1 -autoJointOrient \"xyz\" -secondaryAxisOrient \"yup\" -jointAutoLimits 0\n-createIKHandle 0\n-solverTypeH \"ikRPsolver\" -autoPriorityH 0\n-snapHandleH 1\n-forceSolverH 1\n-stickyH \"off\" -priorityH 1\n-weightH 1\n-poWeightH 1\n-smallBoneLength 1\n-smallBoneRadius 0.5\n-largeBoneLength 30\n-largeBoneRadius 2\njointContext" + -iv "journalIsOn" 1 + -iv "keyControlPoints" 0 + -iv "keyHierarchy" 0 + -iv "keySetFBIK" 1 + -iv "keySetIKFK" 0 + -iv "keyShapes" 1 + -iv "keyUseChannelBox" 0 + -sv "keyframeRegionDirectKeyContext" "keyframeRegionDirectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionDirectKeyContext" + -sv "keyframeRegionDollyContext" "keyframeRegionDollyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionDollyContext"; +optionVar + -sv "keyframeRegionInsertKeyContext" "keyframeRegionInsertKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 1\nkeyframeRegionInsertKeyContext" + -sv "keyframeRegionMoveKeyContext" "keyframeRegionMoveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" keyframeRegionMoveKeyContext" + -sv "keyframeRegionScaleKeyContext" "keyframeRegionScaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"rect\" -scaleSpecifiedKeys 1\nkeyframeRegionScaleKeyContext" + -sv "keyframeRegionSelectKeyContext" "keyframeRegionSelectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionSelectKeyContext" + -sv "keyframeRegionSetKeyContext" "keyframeRegionSetKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nkeyframeRegionSetKeyContext" + -sv "keyframeRegionTrackContext" "keyframeRegionTrackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" keyframeRegionTrackContext" + -sv "lastLocalWS" "C:/Documents and Settings/pmolodow/My Documents/maya/projects/default" + -sv "latticeDeformKeyContext" "latticeDeformKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 2\n-latticeRows 2\n-envelope 1\n-scaleLatticePts 0\nlatticeDeformKeyContext" + -iv "leInMainWindow" 1 + -iv "loadDynamics" 1; +optionVar + -iv "loadUrchin" 1 + -iv "loftPolys" 0 + -iv "mainMenuBarNeedsToBeTraversedWhenHotkeyEditorIsOpened" 1 + -iv "mainWindowDisable" 0 + -iv "mainWindowMenubarVis" 1 + -iv "mainWindowTitleBarVis" 1 + -fv "manipGlobalScale" 1.5 + -fv "manipHandleSize" 35 + -fv "manipLinePickSize" 1 + -fv "manipLineSize" 1; +optionVar + -fv "manipMiddleMouseRepos" 0 + -fv "manipPreviousStateSize" 6 + -ca "markingMenuEditorAnnotations" + -sva "markingMenuEditorAnnotations" "ChangePanelLayout" + -sva "markingMenuEditorAnnotations" "ChangePanelType" + -sva "markingMenuEditorAnnotations" "ControlPaneVisibility" + -sva "markingMenuEditorAnnotations" "ChangeSelectionMask" + -sva "markingMenuEditorAnnotations" "CommonModelingPanes" + -sva "markingMenuEditorAnnotations" "PA_Style_LMB" + -sva "markingMenuEditorAnnotations" "PA_Style_MMB" + -sva "markingMenuEditorAnnotations" "PA_Style_RMB" + -ca "markingMenuEditorDisplayAsMMFlags" + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -iva "markingMenuEditorDisplayAsMMFlags" 1 + -ca "markingMenuEditorFilenames" + -sva "markingMenuEditorFilenames" "menu_ChangePanelLayout" + -sva "markingMenuEditorFilenames" "menu_ChangePanelType" + -sva "markingMenuEditorFilenames" "menu_ControlPaneVisibility" + -sva "markingMenuEditorFilenames" "menu_ChangeSelectionMask" + -sva "markingMenuEditorFilenames" "menu_CommonModelingPanes" + -sva "markingMenuEditorFilenames" "menu_PA_Style_LMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_MMB" + -sva "markingMenuEditorFilenames" "menu_PA_Style_RMB" + -ca "markingMenuEditorIsNamedCommandFlags" + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iva "markingMenuEditorIsNamedCommandFlags" 0 + -iv "maxImageSizeForSwatchGen" 2000 + -iv "maxTextureResolution" 4096 + -iv "mayaMacButtonMap" 3 + -sv "mayaMode" "animationMenuSet"; +optionVar + -iv "miCacheOptimFileTextures" 0 + -iv "miCollapseHistoryOnProxyUpdate" 0 + -iv "miFileTextureCacheConversionScope" 1 + -sv "miFileTextureCacheLocation" "" + -iv "miFileTextureCacheStorageMode" 0 + -iv "miUseMayaAlphaDetection" 0 + -iv "middleMouseRepos" 0 + -ca "minorNodeTypes" + -iva "minorNodeTypes" 1397509968 + -iva "minorNodeTypes" 1330007124 + -iva "minorNodeTypes" 1330792012 + -iva "minorNodeTypes" 1330529868 + -iva "minorNodeTypes" 1330464332 + -iva "minorNodeTypes" 1330004308 + -iva "minorNodeTypes" 1330923084 + -iva "minorNodeTypes" 1330857548 + -iva "minorNodeTypes" 1196576848 + -iva "minorNodeTypes" 1145918537 + -iva "minorNodeTypes" 1280070484 + -iva "minorNodeTypes" 1314083656 + -iva "minorNodeTypes" 1313166152 + -iva "minorNodeTypes" 1297435724 + -iva "minorNodeTypes" 1145390668 + -iva "minorNodeTypes" 1347441492 + -iva "minorNodeTypes" 1380209484 + -iva "minorNodeTypes" 1146246476 + -iva "minorNodeTypes" 1380206412 + -iva "minorNodeTypes" 1380404290 + -iva "minorNodeTypes" 1381061953 + -iva "minorNodeTypes" 1380734030 + -iva "minorNodeTypes" 1146441300 + -iva "minorNodeTypes" 1196443972 + -iva "minorNodeTypes" 1213812812 + -iva "minorNodeTypes" 1213812818 + -iv "minorNodeTypesDisplay" 0 + -iv "modelWithToolAlignCurve" 0; +optionVar + -iv "modelWithToolAlignSurface" 0 + -iv "modelWithToolAttachCurve" 0 + -iv "modelWithToolAttachSurface" 0 + -iv "modelWithToolBevel" 0 + -iv "modelWithToolBoundary" 0 + -iv "modelWithToolCircFillet" 0 + -iv "modelWithToolCloseCurve" 0 + -iv "modelWithToolCloseSurface" 0 + -iv "modelWithToolCutCurve" 0 + -iv "modelWithToolCvHardness" 0; +optionVar + -iv "modelWithToolDetachCurve" 0 + -iv "modelWithToolDetachSurface" 0 + -iv "modelWithToolDuplCurve" 0 + -iv "modelWithToolDuplicateSurface" 0 + -iv "modelWithToolExtendCosCurve" 0 + -iv "modelWithToolExtendCurve" 0 + -iv "modelWithToolExtendSurface" 0 + -iv "modelWithToolExtrude" 0 + -iv "modelWithToolFilletCurve" 0 + -iv "modelWithToolFitBspline" 0; +optionVar + -iv "modelWithToolFreeFillet" 0 + -iv "modelWithToolGlobalStitch" 0 + -iv "modelWithToolInsertCurve" 0 + -iv "modelWithToolInsertSurface" 0 + -iv "modelWithToolIntersect" 0 + -iv "modelWithToolIntersectCurve" 0 + -iv "modelWithToolLoft" 0 + -iv "modelWithToolOffsetCoS" 0 + -iv "modelWithToolOffsetCurve" 0 + -iv "modelWithToolOffsetSurface" 0; +optionVar + -iv "modelWithToolPlanar" 0 + -iv "modelWithToolProject" 0 + -iv "modelWithToolProjectTangent" 0 + -iv "modelWithToolRebuildCurve" 0 + -iv "modelWithToolRebuildSurface" 0 + -iv "modelWithToolReverseCurve" 0 + -iv "modelWithToolReverseSurface" 0 + -iv "modelWithToolRevolve" 0 + -iv "modelWithToolSmoothCurve" 0 + -iv "modelWithToolSquareSrf" 0; +optionVar + -iv "modelWithToolUntrim" 0 + -sv "moveKeyContext" "moveKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -option \"over\" -moveFunction \"constant\" moveKeyContext" + -iv "multiListerPanel1BottomListerActiveTab" 1 + -ca "multiListerPanel1BottomListerCmds" + -sva "multiListerPanel1BottomListerCmds" "listerEditor -e -lockInput false -filter DefaultTexturesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerCount" 1 + -ca "multiListerPanel1BottomListerLabels" + -sva "multiListerPanel1BottomListerLabels" "Textures" + -ca "multiListerPanel1BottomListerNames" + -sva "multiListerPanel1BottomListerNames" "multiListerPanel1BottomTab1" + -iv "multiListerPanel1BottomListerTabHeight" 50 + -iv "multiListerPanel1ButtonBar" 1 + -sv "multiListerPanel1NewTabFilter" "DefaultSGLightShapesFilter"; +optionVar + -iv "multiListerPanel1TopListerActiveTab" 1 + -ca "multiListerPanel1TopListerCmds" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultSGLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultMaterialsFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultLightShapesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerCmds" "listerEditor -e -lockInput false -filter DefaultCameraShapesImagePlanesFilter -hlc multiListerPanel1HLC -column false -pt below -thumbnailSize medium -showShaderChildren true -showSetMembers false multiListerPanel1TopTab4" + -iv "multiListerPanel1TopListerCount" 4 + -ca "multiListerPanel1TopListerLabels" + -sva "multiListerPanel1TopListerLabels" "General" + -sva "multiListerPanel1TopListerLabels" "Materials" + -sva "multiListerPanel1TopListerLabels" "Lights" + -sva "multiListerPanel1TopListerLabels" "Cameras" + -ca "multiListerPanel1TopListerNames" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab1" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab2" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab3" + -sva "multiListerPanel1TopListerNames" "multiListerPanel1TopTab4" + -sv "multiListerPanel1WorkArea" "single" + -iv "multiListerPanel1WorkAreaHeight" 33 + -sv "nameOfHotBoxC1MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC2MarkingMenu" "CommonModelingPanes" + -sv "nameOfHotBoxC3MarkingMenu" "CommonModelingPanes"; +optionVar + -sv "nameOfHotBoxE1MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE2MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxE3MarkingMenu" "ControlPaneVisibility" + -sv "nameOfHotBoxN1MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN2MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxN3MarkingMenu" "ChangePanelLayout" + -sv "nameOfHotBoxS1MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS2MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxS3MarkingMenu" "ChangePanelType" + -sv "nameOfHotBoxW1MarkingMenu" "ChangeSelectionMask"; +optionVar + -sv "nameOfHotBoxW2MarkingMenu" "ChangeSelectionMask" + -sv "nameOfHotBoxW3MarkingMenu" "ChangeSelectionMask" + -iv "newCurveDisplayCV" 0 + -iv "newCurveDisplayEP" 0 + -iv "newCurveDisplayHull" 0 + -iv "newFileEnabled" 0 + -sv "newFileName" "" + -iv "newNurbsIsoparms" 0 + -iv "newNurbsPointsShaded" 4 + -iv "newNurbsPointsWire" 5; +optionVar + -iv "newPolyBackFaceCull" 0 + -iv "newPolyBorderEdgeHilite" 0 + -fv "newPolyBorderEdgeSize" 2 + -iv "newPolyBorderMapHilite" 0 + -iv "newPolyColorChannel" 3 + -iv "newPolyColorShaded" 0 + -iv "newPolyCreaseEdgeHilite" 1 + -iv "newPolyCreaseVertexHilite" 1 + -iv "newPolyEdgeDisp" 0 + -iv "newPolyFacetCentreDisp" 0; +optionVar + -iv "newPolyFacetNormalDisp" 0 + -iv "newPolyFacetTrngleDisp" 0 + -iv "newPolyFacetWarpDisp" 0 + -iv "newPolyMaterialBlend" 1 + -fv "newPolyNormalSize" 0.4 + -iv "newPolyNumEdgeDisp" 0 + -iv "newPolyNumFacetDisp" 0 + -iv "newPolyNumUvDisp" 0 + -iv "newPolyNumVertexDisp" 0 + -fv "newPolyUVSize" 4; +optionVar + -iv "newPolyVertexNormals" 0 + -fv "newPolyVertexSize" 3 + -iv "newPolyVtxBackCull" 1 + -iv "newPolyVtxDisp" 0 + -sv "newScenePanelConfiguration" "Single Perspective View" + -iv "newSurfaceDisplayCV" 0 + -iv "newSurfaceDisplayEP" 0 + -iv "newSurfaceDisplayHull" 0 + -iv "newSurfaceDisplayOrigin" 0 + -iv "numShelves" 18; +optionVar + -iv "nurbsCubeAxisType" 2 + -fv "nurbsCubeAxisX" 0 + -fv "nurbsCubeAxisY" 1 + -fv "nurbsCubeAxisZ" 0 + -iv "nurbsCubeDegree" 3 + -fv "nurbsCubeHeightRatio" 1 + -fv "nurbsCubeLengthRatio" 1 + -iv "nurbsCubePatchesU" 1 + -iv "nurbsCubePatchesV" 1 + -iv "nurbsCubePivotType" 1; +optionVar + -fv "nurbsCubePivotX" 0 + -fv "nurbsCubePivotY" 0 + -fv "nurbsCubePivotZ" 0 + -fv "nurbsCubeWidth" 1 + -iv "nurbsPrimitiveAsToolExitOnComplete" 1 + -sv "nurbsSelect" "selectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" nurbsSelect" + -iv "objectDetailsVisibility" 0 + -iv "oneTimeDefaultPluginLoad2008Ext2" 1 + -iv "oneTimeDefaultPluginLoad50" 1 + -iv "oneTimeDefaultPluginLoad65" 1; +optionVar + -iv "oneTimeDefaultPluginLoad70" 1 + -iv "oneTimeDefaultPluginLoad80" 1 + -iv "oneTimeDefaultPluginUnload2008sp1" 1 + -iv "oneTimeUnlimitedPluginLoad30" 1 + -ca "optionBoxDimensionsGraphPaste" + -iva "optionBoxDimensionsGraphPaste" 525 + -iva "optionBoxDimensionsGraphPaste" 350 + -ca "optionBoxDimensionsParentConstraint" + -iva "optionBoxDimensionsParentConstraint" 525 + -iva "optionBoxDimensionsParentConstraint" 350 + -ca "optionBoxDimensionsPlayblast" + -iva "optionBoxDimensionsPlayblast" 525 + -iva "optionBoxDimensionsPlayblast" 350 + -ca "optionBoxDimensionsTransferAttributes" + -iva "optionBoxDimensionsTransferAttributes" 525 + -iva "optionBoxDimensionsTransferAttributes" 350 + -sv "outTangentType" "clamped" + -sv "outlinerEditorStateString" " outlinerEditor -e \n -showShapes 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n $editorName"; +optionVar + -iv "parConstMaintainOffset" 1 + -sv "paramDimContext" "paramDimContext -e -image1 \"paramDim.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" paramDimContext" + -iv "parentAdd" 0 + -iv "parentConstraintAxisRotateX" 1 + -iv "parentConstraintAxisRotateY" 1 + -iv "parentConstraintAxisRotateZ" 1 + -iv "parentConstraintAxisTranslateX" 1 + -iv "parentConstraintAxisTranslateY" 1 + -iv "parentConstraintAxisTranslateZ" 1 + -fv "parentConstraintWeight" 1; +optionVar + -iv "parentPreserve" 1 + -iv "pasteKeyConnect" 1 + -iv "pasteKeyCopies" 1 + -iv "pasteKeyHelpPictures" 0 + -sv "pasteKeyOption" "merge" + -sv "pasteKeyRange" "0:10" + -iv "pasteKeyTargetTime" 3 + -fv "pasteKeyTimeOffset" 0 + -iv "pasteKeyTimeRangeOverride" 0 + -fv "pasteKeyValueOffset" 0; +optionVar + -sv "performanceSettingBindSkinAndFlexors" "0" + -sv "performanceSettingBlendShapes" "0" + -sv "performanceSettingClusterResolution" "0" + -sv "performanceSettingClusters" "0" + -sv "performanceSettingFlexors" "0" + -fv "performanceSettingGlobalClusterResolution" 5 + -fv "performanceSettingGlobalLatticeResolution" 0.01 + -sv "performanceSettingLatticeResolution" "0" + -sv "performanceSettingLattices" "0" + -sv "performanceSettingPaintEffects" "0"; +optionVar + -sv "performanceSettingSculpts" "0" + -sv "performanceSettingStitchSurfaces" "0" + -sv "performanceSettingTrimDisplay" "0" + -sv "performanceSettingWires" "0" + -iv "planarTrimPolys" 0 + -fv "playbackMax" 24 + -fv "playbackMaxDefault" 24 + -fv "playbackMaxRange" 48 + -fv "playbackMaxRangeDefault" 48 + -fv "playbackMin" 1; +optionVar + -fv "playbackMinDefault" 1 + -fv "playbackMinRange" 1 + -fv "playbackMinRangeDefault" 1 + -iv "playbackRangeVisible" 1 + -iv "playblastClearCache" 1 + -sv "playblastCompression" "none" + -iv "playblastDisplaySizeSource" 2 + -fv "playblastEndTime" 10 + -sv "playblastFile" "playblast" + -iv "playblastHeight" 256; +optionVar + -iv "playblastOffscreen" 0 + -sv "playblastOutputFormat" "sgi" + -iv "playblastPadding" 4 + -iv "playblastSaveToFile" 0 + -fv "playblastScale" 1 + -iv "playblastShowOrnaments" 1 + -fv "playblastStartTime" 1 + -iv "playblastUseStartEnd" 0 + -iv "playblastViewerOn" 1 + -iv "playblastWidth" 256; +optionVar + -sv "polyAppendFacetContext" "polyAppendFacetCtx -e -image1 \"polyAppendFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 1\n-subdivision 1\n-texture 1\n-rotate 0\n-isRotateAvailable 0\n-planarConstraint 1\n-maximumNumberOfPoints -1\npolyAppendFacetContext" + -iv "polyAutoConvertAction" 1 + -iv "polyAutoInstallAction" 0 + -iv "polyAutoShowColorPerVertex" 1 + -iv "polyCount" 0 + -iv "polyCountVisibility" 1 + -sv "polyCreaseContext" "polyCreaseCtx -e -image1 \"polyCrease.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -extendSelection 0\n-relative 0\npolyCreaseContext" + -sv "polyCreateFacetContext" "polyCreateFacetCtx -e -image1 \"polyCreateFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -append 0\n-subdivision 1\n-texture 1\n-planarConstraint 1\n-maximumNumberOfPoints -1\npolyCreateFacetContext" + -iv "polyCreateMeshesSingleSided" 0 + -sv "polyCutContext" "polyCutCtx -e -image1 \"polyCut.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -deleteFaces 0\n-extractFaces 0\n-extractOffset 0.5 0.5 0.5 polyCutContext"; +optionVar + -fv "polyDefaultTangentSmoothingAngle" 0 + -iv "polyDefaultTangentSpace" 0 + -iv "polyDisplayDisplayBackfaceCulling" 0 + -iv "polyDisplayHardEdgeBackfaceCulling" 0 + -iv "polyDisplayLimitedToSelectedOV" 1 + -iv "polyDisplayWireBackfaceCulling" 0 + -iv "polyFaceSensitive" 0 + -iv "polyKeepFacetsGrouped" 1 + -sv "polyMergeEdgeContext" "polyMergeEdgeCtx -e -image1 \"polyMergeEdge.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 1\n-firstEdge -1\n-secondEdge -1\n-mergeTexture 0\npolyMergeEdgeContext" + -sv "polyMergeFacetContext" "polyMergeFacetCtx -e -image1 \"polyMergeFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -constructionHistory 1\n-caching 0\n-nodeState 0\n-mergeMode 6\n-firstFacet -1\n-secondFacet -1\npolyMergeFacetContext"; +optionVar + -sv "polyMergeVertexContext" "targetWeldCtx -e -image1 \"polyMergeVertex.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mergeToCenter 0\npolyMergeVertexContext" + -iv "polyPrimitiveAsToolExitOnComplete" 1 + -iv "polyPrimitiveConeAxis" 2 + -iv "polyPrimitiveConeCreateUVs" 1 + -fv "polyPrimitiveConeHeight" 2 + -iv "polyPrimitiveConeNormalize" 1 + -iv "polyPrimitiveConePreserveAspectRatio" 1 + -fv "polyPrimitiveConeRadius" 1 + -iv "polyPrimitiveConeRoundCap" 0 + -iv "polyPrimitiveConeSX" 20; +optionVar + -iv "polyPrimitiveConeSY" 1 + -iv "polyPrimitiveConeSZ" 0 + -iv "polyPrimitiveConeTexture" 1 + -iv "polyPrimitiveCubeAxis" 2 + -iv "polyPrimitiveCubeCreateUVs" 1 + -fv "polyPrimitiveCubeDepth" 1 + -fv "polyPrimitiveCubeHeight" 1 + -iv "polyPrimitiveCubeNormalize" 1 + -iv "polyPrimitiveCubeNormalizeType" 1 + -iv "polyPrimitiveCubePreserveAspectRatio" 1; +optionVar + -iv "polyPrimitiveCubeSX" 1 + -iv "polyPrimitiveCubeSY" 1 + -iv "polyPrimitiveCubeSZ" 1 + -iv "polyPrimitiveCubeTexture" 1 + -fv "polyPrimitiveCubeWidth" 1 + -iv "polyPrimitiveCylinderAxis" 2 + -iv "polyPrimitiveCylinderCreateUVs" 1 + -fv "polyPrimitiveCylinderHeight" 2 + -iv "polyPrimitiveCylinderNormalize" 1 + -iv "polyPrimitiveCylinderPreserveAspectRatio" 1; +optionVar + -fv "polyPrimitiveCylinderRadius" 1 + -iv "polyPrimitiveCylinderRoundCap" 0 + -iv "polyPrimitiveCylinderSX" 20 + -iv "polyPrimitiveCylinderSY" 1 + -iv "polyPrimitiveCylinderSZ" 1 + -iv "polyPrimitiveCylinderTexture" 1 + -iv "polyPrimitiveSphereAxis" 2 + -iv "polyPrimitiveSphereCreateUVs" 1 + -fv "polyPrimitiveSphereRadius" 1 + -iv "polyPrimitiveSphereSX" 20; +optionVar + -iv "polyPrimitiveSphereSY" 20 + -iv "polyPrimitiveSphereTexture" 1 + -iv "polyPrimitiveSphereUVType" 2 + -sv "polySelectContext" "polySelectCtx -e -image1 \"polySelectTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\npolySelectContext" + -sv "polySelectEditContext" "polySelectEditCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mode 1\n-autoComplete 1\n-divisions 2\n-useEqualMultiplier 0\n-fixQuads 0\n-smoothingAngle 0\n-splitType 1\npolySelectEditContext" + -sv "polySlideEdgeContext" "polySlideEdgeCtx -e -image1 \"slideEdgeTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -edgeDirection 0\n-direction 0\n-absolute 0\n-useSnapping 1\n-snappingTolerance 0.1\n-snappingPoints 1\npolySlideEdgeContext" + -sv "polySplitContext" "polySplitCtx -e -image1 \"polySplitFacet.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -subdivision 1\n-precsnap 10\n-magnetsnap 1\n-enablesnap 1\n-snaptoedge 1\n-smoothingangle 0\npolySplitContext" + -sv "polyVertexNormalEdit" "polyVertexNormalCtx -e -image1 \"vertexNormalEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -rotatemode 0\n-relativemode 0\n-lockmode 0\npolyVertexNormalEdit" + -iv "popUpHelpMode" 0 + -iv "popUpHelpModeTime" 0; +optionVar + -iv "popupMenuSelection" 0 + -fv "positionalTolerance" 0.01 + -iv "preSelectHilite" 1 + -sv "preferredRenderer" "mayaHardware" + -iv "preselectHighlightManips" 0 + -sv "primitivePlacementRule" "AtOrigin" + -sv "proxyOptionsNewProxyTag" "" + -sv "proxyOptionsNewReferenceTag" "" + -sv "proxyOptionsProxyTag" "" + -sv "proxyOptionsReferenceTag" ""; +optionVar + -iv "proxyOptionsUseNewProxyTag" 1 + -iv "proxyOptionsUseNewReferenceTag" 1 + -sv "quickFieldMode" "Abs" + -ca "quickPanelButtonLayout" + -sva "quickPanelButtonLayout" "Single Perspective View" + -sva "quickPanelButtonLayout" "Four View" + -sva "quickPanelButtonLayout" "Persp/Outliner" + -sva "quickPanelButtonLayout" "Persp/Graph" + -sva "quickPanelButtonLayout" "Hypershade/Persp" + -sva "quickPanelButtonLayout" "Persp/Graph/Hypergraph" + -iv "rebuildSurfacePolys" 0 + -sv "refEdEditorVisibility" "refEdSceneEditorButton" + -iv "refreshMode" 0 + -sv "remoteHelpUrl" "" + -sv "renderCreateBarCurrentTab" "MayaNodesTab" + -sv "renderCreateBarStyle" "iconsAndText"; +optionVar + -iv "renderLayerMerge" 0 + -iv "renderViewAutoRenderRegion" 0 + -iv "renderViewAutoResize" 1 + -iv "renderViewRenderAllLayers" 0 + -iv "renderViewRenderLayersMode" 0 + -iv "renderViewRenderSelectedObj" 0 + -iv "renderViewTestResolution" 1 + -sv "renderWindowSelectContextItem" "renderWindowSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" renderWindowSelectContextItem" + -sv "renderedImageName" "test" + -iv "revolveOutputPolygons" 0; +optionVar + -sv "rollContext" "rollCtx -e -image1 \"roll.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Roll Tool\" -rollScale 1\nrollContext" + -iv "rotationInterpolationDefault" 1 + -iv "saveActionsPreferences" 1 + -iv "saveActionsScriptEditor" 1 + -iv "saveWindowPos" 1 + -sv "scaleKeyContext" "scaleKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -type \"manip\" -scaleSpecifiedKeys 1\nscaleKeyContext" + -iv "selectAffectsActive" 1 + -iv "selectClickDrag" 0 + -sv "selectKeyContext" "selectKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyContext" + -sv "selectKeyframeRegionContext" "selectKeyframeRegionCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" selectKeyframeRegionContext"; +optionVar + -sv "selectPrefPriorityMode" "animation" + -iv "selectPrefUseDepth" 0 + -iv "selectSingleMarquee" 0 + -iv "selectedShelf" 1 + -sv "setEditContext" "setEditCtx -e -image1 \"setEdit.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" setEditContext" + -sv "setKeyContext" "setKeyCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -breakdown 0\nsetKeyContext" + -iv "setKeyframePrompt" 0 + -iv "setKeyframeWhich" 4 + -iv "shadeTemplates" 0 + -sv "shelfFile1" "shelf_Anim2Tools"; +optionVar + -sv "shelfFile10" "shelf_Hair" + -sv "shelfFile11" "shelf_PaintEffects" + -sv "shelfFile12" "shelf_Polygons" + -sv "shelfFile13" "shelf_RenderMan" + -sv "shelfFile14" "shelf_Rendering" + -sv "shelfFile15" "shelf_Subdivs" + -sv "shelfFile16" "shelf_Surfaces" + -sv "shelfFile17" "shelf_Toon" + -sv "shelfFile18" "shelf_nCloth" + -sv "shelfFile2" "shelf_Animation"; +optionVar + -sv "shelfFile3" "shelf_Curves" + -sv "shelfFile4" "shelf_Custom" + -sv "shelfFile5" "shelf_Deformation" + -sv "shelfFile6" "shelf_Dynamics" + -sv "shelfFile7" "shelf_Fluids" + -sv "shelfFile8" "shelf_Fur" + -sv "shelfFile9" "shelf_General" + -sv "shelfItemSize" "Small" + -sv "shelfItemStyle" "iconOnly" + -iv "shelfLoad1" 1; +optionVar + -iv "shelfLoad10" 1 + -iv "shelfLoad11" 1 + -iv "shelfLoad12" 1 + -iv "shelfLoad13" 1 + -iv "shelfLoad14" 1 + -iv "shelfLoad15" 1 + -iv "shelfLoad16" 1 + -iv "shelfLoad17" 1 + -iv "shelfLoad18" 1 + -iv "shelfLoad2" 1; +optionVar + -iv "shelfLoad3" 1 + -iv "shelfLoad4" 1 + -iv "shelfLoad5" 1 + -iv "shelfLoad6" 1 + -iv "shelfLoad7" 1 + -iv "shelfLoad8" 1 + -iv "shelfLoad9" 1 + -sv "shelfName1" "Anim2Tools" + -sv "shelfName10" "Hair" + -sv "shelfName11" "PaintEffects"; +optionVar + -sv "shelfName12" "Polygons" + -sv "shelfName13" "RenderMan" + -sv "shelfName14" "Rendering" + -sv "shelfName15" "Subdivs" + -sv "shelfName16" "Surfaces" + -sv "shelfName17" "Toon" + -sv "shelfName18" "nCloth" + -sv "shelfName2" "Animation" + -sv "shelfName3" "Curves" + -sv "shelfName4" "Custom"; +optionVar + -sv "shelfName5" "Deformation" + -sv "shelfName6" "Dynamics" + -sv "shelfName7" "Fluids" + -sv "shelfName8" "Fur" + -sv "shelfName9" "General" + -iv "shelfTabsVisible" 1 + -sv "shelvesLastUpdated" "2009" + -iv "showCustomMenuSetsMenusInHotBox" 1 + -iv "showGrid" 1 + -iv "showLearningMoviesOnStartup" 0; +optionVar + -iv "showLineNumbersIsOn" 0 + -sv "showManip3D" "" + -sv "showManipTextureContext" "texManipContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" showManipTextureContext" + -iv "showStatusAlign" 1 + -iv "showStatusAutoAlign" 1 + -iv "showStatusAutoAlignUnfold" 1 + -iv "showStatusCopyPaste" 1 + -iv "showStatusDisplay1" 1 + -iv "showStatusDisplay2" 1 + -iv "showStatusDisplay3" 1; +optionVar + -iv "showStatusFiles" 1 + -iv "showStatusFlipRotate" 1 + -iv "showStatusHistory" 1 + -iv "showStatusInputField" 1 + -iv "showStatusIsolateSelect" 1 + -iv "showStatusManipSelect" 1 + -iv "showStatusMoveSew" 1 + -iv "showStatusRender" 1 + -iv "showStatusSelectMasks" 1 + -iv "showStatusSelectMode" 1; +optionVar + -iv "showStatusSelectionSet" 0 + -iv "showStatusSnap" 1 + -ca "smpContinuity" + -fva "smpContinuity" 1 + -fva "smpContinuity" 1 + -ca "smpDisplaySmoothMesh" + -iva "smpDisplaySmoothMesh" 0 + -iva "smpDisplaySmoothMesh" 0 + -ca "smpDisplaySubdComps" + -iva "smpDisplaySubdComps" 0 + -iva "smpDisplaySubdComps" 0 + -ca "smpKeepBorder" + -iva "smpKeepBorder" 0 + -iva "smpKeepBorder" 0 + -ca "smpKeepHardEdge" + -iva "smpKeepHardEdge" 0 + -iva "smpKeepHardEdge" 0 + -ca "smpKeepMapBorders" + -iva "smpKeepMapBorders" 1 + -iva "smpKeepMapBorders" 1 + -ca "smpPropagateEdgeHardness" + -iva "smpPropagateEdgeHardness" 0 + -iva "smpPropagateEdgeHardness" 0 + -iv "smpSizeOfMeshForWarning" 15000; +optionVar + -iv "smpSizeWarningDisabledForAllPolys" 0 + -ca "smpSmoothLevel" + -iva "smpSmoothLevel" 2 + -iva "smpSmoothLevel" 2 + -ca "smpSmoothMeshSelectionMode" + -iva "smpSmoothMeshSelectionMode" 0 + -iva "smpSmoothMeshSelectionMode" 0 + -ca "smpSmoothUVs" + -iva "smpSmoothUVs" 1 + -iva "smpSmoothUVs" 1 + -iv "snapMagnet" 0 + -fv "snapMagnetTolerance" 0.1 + -sv "snapTogetherToolCtx" "snapTogetherCtx -e -image1 \"snapTogetherTool.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -setOrientation 1\n-clearSelection 1\n-snapPolygonFace 0\nsnapTogetherToolCtx" + -iv "snapTolerance" 20 + -iv "snapUVTolerance" 25 + -iv "squareSrfPolys" 0; +optionVar + -iv "stackTraceIsOn" 0 + -iv "statusLineVisible" 1 + -iv "subdivComponentDisplayStyle" 0 + -iv "sweepOutputPolygons" 0 + -sv "symmetricModellingAboutOption" "origin" + -sv "symmetricModellingAxisOption" "x" + -iv "symmetricModellingOption" 0 + -sv "symmetricModellingSeamFalloffCurve" "0,1,2,1,0,2" + -iv "symmetricModellingSeamOption" 1 + -fv "symmetricModellingSeamTolerance" 0.01; +optionVar + -sv "symmetricModellingSpaceOption" "world" + -fv "symmetricModellingToleranceValue" 0.001 + -fv "tangentialTolerance" 0.1 + -sv "texLatticeDeformCtx" "texLatticeDeformContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -latticeColumns 3\n-latticeRows 3\n-envelope 1\n-snapPixelMode 0\n-useBoundingRect 1\ntexLatticeDeformCtx" + -sv "texMoveContext" "texMoveContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snapComponentsRelative 0\n-snapPixelMode 1\ntexMoveContext" + -sv "texMoveUVShellCtx" "texMoveUVShellContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -mask 1\n-iterations 16\n-shellBorder 0.3\ntexMoveUVShellCtx" + -sv "texRotateContext" "texRotateContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snap 0\n-snapRelative 0\n-snapValue 15\ntexRotateContext" + -sv "texScaleContext" "texScaleContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -snap 0\n-snapRelative 0\n-snapValue 1\ntexScaleContext" + -sv "texSmoothCtx" "texSmoothContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -pinBorder 0\n-space 1\ntexSmoothCtx" + -sv "texSmudgeUVCtx" "texSmudgeUVContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -effectType \"fixed\" -functionType \"exponential\" -radius 0.075\n-pressure 0.01\n-dragSlider \"none\" -smudgeIsMiddle 0\ntexSmudgeUVCtx"; +optionVar + -iv "textureEditorToolbarState" 0 + -iv "textureWindowDisplayDivisionLines" 0 + -iv "textureWindowDisplayGridAxes" 1 + -sv "textureWindowDisplayGridLabelPosition" "axis" + -iv "textureWindowDisplayGridLabels" 1 + -iv "textureWindowDisplayGridLines" 1 + -fv "textureWindowGridDivisions" 2 + -fv "textureWindowGridSize" 1 + -fv "textureWindowGridSpacing" 0.1 + -iv "textureWindowShaderFacesMode" 0; +optionVar + -iv "timeSliderHeight" 28 + -fv "timeSliderMaxPlaySpeed" 0 + -fv "timeSliderPlayBy" 1 + -sv "timeSliderPlayLoop" "continuous" + -fv "timeSliderPlaySpeed" 1 + -sv "timeSliderPlayView" "active" + -fv "timeSliderRepeatChunk" 3 + -iv "timeSliderRepeatOnHold" 1 + -sv "timeSliderShowKeys" "active" + -iv "timeSliderSnapping" 1; +optionVar + -sv "timeSliderSoundDisplay" "both" + -iv "timeSliderTickSize" 1 + -iv "timeSliderTimeCode" 0 + -sv "timeSliderTimeCodeOffset" "00:00:00:00" + -iv "timeSliderVisible" 1 + -iv "toggleOriginAxis" 0 + -iv "toggleViewAxis" 0 + -iv "toolMessageHorizontalOffset" 0 + -fv "toolMessageTime" 0.7 + -iv "toolMessageVerticalOffset" -40; +optionVar + -iv "toolMessageVisible" 1 + -iv "toolSettingsInMainWindow" 1 + -iv "toolSettingsVisible" 0 + -iv "toolboxVisible" 1 + -fv "totalAnimateRollTime" 0.5 + -sv "track2dContext" "view2dToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"2d View\" track2dContext" + -sv "trackContext" "trackCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Track Tool\" -trackGeometry 0\n-trackScale 1\ntrackContext" + -sv "tracktwContext" "texWinToolCtx -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"UV Texture Editor\" tracktwContext" + -iv "transferAttributesColorBordersOption" 2 + -iv "transferAttributesColorSetsOption" 1; +optionVar + -iv "transferAttributesFlipUVsOption" 1 + -iv "transferAttributesMirrorOption" 1 + -iv "transferAttributesNormalsOption" 1 + -iv "transferAttributesPositionsOption" 1 + -iv "transferAttributesSpaceOption" 1 + -iv "transferAttributesUVSetsOption" 3 + -sv "transformTexSelectContext" "texSelectContext -e -image1 \"vacantCell.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" transformTexSelectContext" + -iv "trsManipsPreserveChildPosition" 0 + -iv "trsManipsPreserveUvs" 0 + -sv "tumbleContext" "tumbleCtx -e -image1 \"tumble.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 1\n-toolName \"Tumble Tool\" -tumbleScale 1\n-objectTumble 0\n-localTumble 1\n-autoOrthoConstrain 1\n-orthoStep 5\n-orthoLock 1\ntumbleContext"; +optionVar + -fv "tvImageRangeMaxU" 1 + -fv "tvImageRangeMaxV" 1 + -fv "tvImageRangeMinU" 0 + -fv "tvImageRangeMinV" 0 + -iv "tvImageRangePresets" 1 + -iv "tvImageResolution" 9 + -iv "undoIsEnabled" 1 + -iv "undoIsInfinite" 0 + -iv "undoLength" 1000 + -sv "upAxisDirection" "y"; +optionVar + -iv "useDefaultFileExtensions" 1 + -iv "useNewScenePanelConfig" 1 + -iv "useSaveScenePanelConfig" 1 + -iv "useScenePanelConfig" 1 + -iv "useScrollWheel" 1 + -iv "useSnapTolerance" 0 + -sv "userDefinedImageViewerCmdForImage" "" + -sv "userDefinedImageViewerCmdForSequence" "" + -iv "viewAxisVisibility" 1 + -iv "viewCompassVisibleInPersp" 1; +optionVar + -fv "viewCubeCompassAngle" 0 + -iv "viewCubeFitToView" 1 + -fv "viewCubeInactiveOpacity" 1 + -iv "viewCubePreserveSceneUp" 1 + -sv "viewCubeScreenPosition" "topRight" + -iv "viewCubeShowCompass" 0 + -iv "viewCubeShowCube" 0 + -sv "viewCubeSize" "normal" + -iv "viewCubeSnapToClosest" 1 + -iv "weightedTangents" 1; +optionVar + -sv "wireCtx" "wireContext -e -image1 \"wire.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -holder 0\n-groupWithBase 0\n-envelope 1\n-crossingEffect 0\n-dropoffDistance 1\n-localInfluence 0\n-deformationOrder \"Default\" -exclusivePartition \"deformPartition\" -exclusive 0\nwireCtx" + -iv "wireframeOnShadedActive" 1 + -sv "workingUnitAngular" "deg" + -sv "workingUnitAngularDefault" "deg" + -sv "workingUnitLinear" "cm" + -sv "workingUnitLinearDefault" "cm" + -sv "workingUnitTime" "film" + -sv "workingUnitTimeDefault" "film" + -sv "wrinkleCtx" "wrinkleContext -e -image1 \"wrinkle.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -style \"radial\" -wrinkleCount 3\n-branchCount 2\n-branchDepth 0\n-wrinkleIntensity 0.5\n-thickness 1\n-randomness 0.2\nwrinkleCtx" + -sv "yawPitchContext" "orbitCtx -e -image1 \"yawPitch.xpm\" -image2 \"vacantCell.xpm\" -image3 \"vacantCell.xpm\" -alternateContext 0\n-toolName \"Yaw-Pitch Tool\" -orbitScale 1\n-localOrbit 0\nyawPitchContext"; +optionVar + -iv "zooToolBoxDisplayInfo" 60224; + +panelConfiguration -label (localizedPanelLabel("Current Layout")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"single\" -ps 1 100 100 $gMainPane;" + -ap false + (localizedPanelLabel("Side View")) + "modelPanel" + "$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels `;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 0\n -nurbsSurfaces 0\n -polymeshes 1\n -subdivSurfaces 1\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName" + "modelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n$editorName = $panelName;\nmodelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 1\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 4096\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -maxConstantTransparency 1\n -rendererName \"base_OpenGL_Renderer\" \n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 0\n -nurbsSurfaces 0\n -polymeshes 1\n -subdivSurfaces 1\n -planes 0\n -lights 0\n -cameras 0\n -controlVertices 1\n -hulls 1\n -grid 1\n -joints 1\n -ikHandles 0\n -deformers 0\n -dynamics 0\n -fluids 0\n -hairSystems 0\n -follicles 0\n -nCloths 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 0\n -manipulators 1\n -dimensions 0\n -handles 0\n -pivots 0\n -textures 0\n -strokes 0\n -shadows 0\n $editorName;\nmodelEditor -e -viewSelected 0 $editorName"; +panelConfiguration -label (localizedPanelLabel("Single Perspective View")) + -defaultImage "singlePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"single\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Four View")) + -defaultImage "fourViewLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"quad\" $gMainPane" + -ap true + (localizedPanelLabel("Top View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Top View\")) -cam `findStartUpCamera top`;}" + "modelPanel -e -label (localizedPanelLabel(\"Top View\")) -cam `findStartUpCamera top` $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Side View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Side View\")) -cam `findStartUpCamera side`;}" + "modelPanel -e -label (localizedPanelLabel(\"Side View\")) -cam `findStartUpCamera side` $panelName" + -ap true + (localizedPanelLabel("Front View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Front View\")) -cam `findStartUpCamera front`;}" + "modelPanel -e -label (localizedPanelLabel(\"Front View\")) -cam `findStartUpCamera front` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Hypergraph")) + -defaultImage "perspHypergraphLayout.xpm" + -image "" + -sc false + -configString "global string $gMainPane; paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -label (localizedPanelLabel(\"Hypergraph\"));}" + "scriptedPanel -e -label (localizedPanelLabel(\"Hypergraph\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Hypergraph")) + -defaultImage "perspGraphHypergraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"top3\" $gMainPane" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Perspective\")) -cam `findStartUpCamera persp`;}" + "modelPanel -e -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap true + (localizedPanelLabel("Hypergraph")) + "hyperGraphPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperGraphPanel -unParent -label (localizedPanelLabel(\"Hypergraph\"));}" + "scriptedPanel -e -label (localizedPanelLabel(\"Hypergraph\")) $panelName" + -ap true + (localizedPanelLabel("Graph Editor")) + "graphEditorPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -label (localizedPanelLabel(\"Graph Editor\"));}" + "scriptedPanel -e -label (localizedPanelLabel(\"Graph Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp")) + -defaultImage "hypershadeRenderPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t-cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Render View\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Render View\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Outliner/Persp")) + -defaultImage "hypershadeOutlinerPerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"bottom3\" -paneSize 1 100 55 -paneSize 2 50 45 -paneSize 3 50 45 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Persp")) + -defaultImage "hypershadePerspLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Outliner")) + -defaultImage "perspOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 20 100 -ps 2 80 100 $gMainPane;" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph/Outliner")) + -defaultImage "perspGraphOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -label (localizedPanelLabel(\"Graph Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Graph Editor\")) $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax")) + -defaultImage "perspTraxLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 64 -ps 2 100 36 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -label (localizedPanelLabel(\"Trax Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Trax Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Trax/Outliner")) + -defaultImage "perspTraxOutlinerLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"bottom3\" -ps 1 100 55 -ps 2 78 45 -ps 3 22 45 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Trax Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type clipEditorPanel -unParent -label (localizedPanelLabel(\"Trax Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Trax Editor\")) $panelName" + -ap false + (localizedPanelLabel("Outliner")) + "outlinerPanel" + "{global int $gUseMenusInPanels;\t\t\t\t $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -label (localizedPanelLabel(\"Outliner\"))`;\t\t\t\t outlinerEditor -e -highlightActive true $panelName;}" + "outlinerPanel -edit -label (localizedPanelLabel(\"Outliner\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Graph")) + -defaultImage "perspGraphLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 46 -ps 2 100 54 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Graph Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type graphEditor -unParent -label (localizedPanelLabel(\"Graph Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Graph Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/Relationship Editor")) + -defaultImage "perspRelationshipEditorLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"horizontal2\" -ps 1 100 61 -ps 2 100 39 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("Relationship Editor")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels -type relationshipPanel -unParent -label (localizedPanelLabel(\"Relationship Editor\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Relationship Editor\")) $panelName"; +panelConfiguration -label (localizedPanelLabel("Persp/UV Texture Editor")) + -defaultImage "perspTextureLayout.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName" + -ap false + (localizedPanelLabel("UV Texture Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"polyTexturePlacementPanel\" -label (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -label (localizedPanelLabel(\"UV Texture Editor\")) -mbv $menusOkayInPanels $panelName"; +panelConfiguration -label (localizedPanelLabel("Script Editor/Persp")) + -defaultImage "vacantCell.xpm" + -image "" + -sc false + -configString "paneLayout -e -cn \"vertical2\" -ps 1 50 100 -ps 2 50 100 $gMainPane;" + -ap false + (localizedPanelLabel("Script Editor")) + "scriptedPanel" + "$panelName = `scriptedPanel -unParent -type \"scriptEditorPanel\" -label (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels `" + "scriptedPanel -edit -label (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName" + -ap true + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\")) -cam `findStartUpCamera persp` $panelName"; +panelConfiguration -label (localizedPanelLabel("Hypershade/Render/Persp Vertical")) + -defaultImage "hypershadeRenderPerspVerticalLayout.xpm" + -image "" + -sc false + -configString "paneLayout -edit -configuration \"right3\" -paneSize 1 50 100 -paneSize 2 50 50 -paneSize 3 50 50 $gMainPane;" + -ap true + (localizedPanelLabel("Hypershade")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type hyperShadePanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Hypershade\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Hypershade\")) $panelName" + -ap false + (localizedPanelLabel("Render View")) + "scriptedPanel" + "{global int $gUseMenusInPanels;\t\t\t\t scriptedPanel -mbv $gUseMenusInPanels\t\t\t\t -type renderWindowPanel\t\t\t\t -unParent -label (localizedPanelLabel(\"Render View\"));}" + "scriptedPanel -edit -label (localizedPanelLabel(\"Render View\")) $panelName" + -ap false + (localizedPanelLabel("Persp View")) + "modelPanel" + "{global int $gUseMenusInPanels;\t\t\t\t modelPanel -mbv $gUseMenusInPanels\t\t\t\t -unParent -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t -cam `findStartUpCamera persp`;}" + "modelPanel -edit -label (localizedPanelLabel(\"Persp View\"))\t\t\t\t-cam `findStartUpCamera persp` $panelName"; + + +autoKeyframe -state true ; +optionVar -fv gridSpacing 5 -fv gridDivisions 5 -fv gridSize 12 -intValue displayGridAxes 1 -intValue displayGridLines 1 -intValue displayDivisionLines 1 -intValue displayGridPerspLabels 1 -intValue displayGridOrthoLabels 1 -intValue displayGridAxesAccented 1 -stringValue displayGridPerspLabelPosition axis -stringValue displayGridOrthoLabelPosition edge; +nurbsToPolygonsPref -f 1 -ucr 0 -chr 0.9 -uch 0 -cht 1 -d 0.1 -es 0 -ft 0.01 -mel 0.001 -pc 200 -pt 0 -m 0 -mt 0.1 -mrt 0 -un 3 -ut 1 -vn 3 -vt 1 ; +nurbsCurveRebuildPref -fr 0 -rt 6 -d 3 -s 1 -tol 0.01 -end 1 -kr 1 -kep 1 -kt 0 -kcp 0 -scr 0; +makePaintable -ca; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleMultiCollide" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleSystem" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleStretch" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleSplineDeformer" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleRelative" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cMuscleMirror" "weights"; +makePaintable -at "doubleArray" -aa "goalPP0" "particle" "goalPP"; +makePaintable -at "doubleArray" "polyReduce" "vertexWeights"; +makePaintable -at "doubleArray" "cacheFile" "perPtWeights"; +makePaintable -at "doubleArray" "skinCluster" "paintWeights"; +makePaintable -at "multiFloat" -sm "deformer" "transferAttributes" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "wire" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "blendShape" "targetWeights"; +makePaintable -at "multiFloat" -sm "deformer" "jiggle" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "softMod" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "cluster" "weights"; +makePaintable -at "multiFloat" -sm "deformer" "weightGeometryFilter" "weights"; + +nurbsToSubdivPref -mpc 1000 -rn 1 -mp 1 -cp 1 -st 0 -ct 1 -br 0 -o 1 -t00 1 -t01 0 -t02 0 -t10 0 -t11 1 -t12 0 -t20 0 -t21 0 -t22 1 -t30 0 -t31 0 -t32 0 ; +ikSystem -e -sn true -ar false ; + + diff --git a/2009-x64/prefsThierry/userRunTimeCommands.mel b/2009-x64/prefsThierry/userRunTimeCommands.mel new file mode 100644 index 0000000..7868c8c --- /dev/null +++ b/2009-x64/prefsThierry/userRunTimeCommands.mel @@ -0,0 +1,214 @@ +//Maya Preference 2009 (Release 1) +// +// + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("animCurveConvergeTowardCenter2(0);") + AnimConverge; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("toggleUIComponentVisibility(\"Channel Box / Layer Editor\");") + ChannelBox_Toggle; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("manipRotateContext -e -mode 0 Rotate;") + LocalRotate; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("manipRotateContext -e -mode 2 Rotate;") + GimbalRotate; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("manipMoveContext -e -mode 2 Move;") + Translate_World; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("lpFilterCurves ;") + FilterCurves; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir right -nudge 1 -factor 0 -pivot mid -abs 1 -curvePivot 0\";\r\n") + Nudge_Fwd; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir left -nudge 1 -factor 0 -pivot mid -abs 1 -curvePivot 0\";") + Nudge_Bkwd; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir down -nudge 1 -factor 0.02 -pivot mid -abs 1 -curvePivot 0\";") + Nudge_Dn; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("zooKeymaster \"-dir up -nudge 1 -factor 0.02 -pivot mid -abs 1 -curvePivot 0\";\r\n") + Nudge_Up; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("{\r\n string $currentPanel = `getPanel -underPointer`;\r\n if (\"\" == $currentPanel) \r\n {\r\n $currentPanel = `getPanel -withFocus`;\r\n }\r\n if (\"\" != $currentPanel) \r\n {\r\n string $panelType = `getPanel -typeOf $currentPanel`;\r\n if ($panelType == \"modelPanel\") \r\n {\r\n int $state = `modelEditor -q -xray $currentPanel`;\r\n modelEditor -e -xray (!$state) $currentPanel;\r\n }\r\n }\r\n}\r\n\r\n") + Xray; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("keyTangent -edit -weightedTangents true;\r\nkeyTangent -weightLock off;") + WeightedFreeTangents; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("cMotionTrailUI ;") + MotionTrail; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("manipMoveContext -e -mode 1 Move;") + Translate_Local; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("timeSliderClearKey;") + DeleteTimeSlideKey; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("jsPickWalk down ;") + jsPickWalk_down; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("jsPickWalk up ;") + jsPickWalk_up; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("jsPickWalk left ;") + jsPickWalk_left; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("jsPickWalk right ;") + jsPickWalk_right; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("autoTangent ;\r\naTan_start();") + AutoTangnt; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("timeSliderEditKeys addInbetween;") + rippleTimeSliderKeysFWD; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("timeSliderEditKeys removeInbetween;") + rippleTimeSliderKeysBKWD; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("animCurveEditor -edit -lookAt currentTime graphEditor1GraphEd;") + CurrentTimeGraphEditor; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("// ============================================================\r\n// Copy this to a new hotkey command, assigned to \"Left\", with\r\n// direction set to \"Release\" (not \"Press\"!)\r\n// ============================================================\r\n{\r\n // Signal that the key is released\r\n global int $PMP_stickyPreviousFrame_keyPressed;\r\n $PMP_stickyPreviousFrame_keyPressed = false;\r\n\r\n // Stop playback\r\n play -state off;\r\n\r\n // Check if frame has changed - if not, go back one\r\n global float $PMP_stickyPreviousFrame_startFrame;\r\n if($PMP_stickyPreviousFrame_startFrame == `currentTime -q`)\r\n {\r\n print \"Previous frame\\n\";\r\n currentTime($PMP_stickyPreviousFrame_startFrame - 1);\r\n }\r\n}\r\n// ============================================================\r\n// End of stuff to put in \"Left\" \"Release\" command\r\n// ============================================================") + L_KeyTap_Release; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("// ============================================================\r\n// Copy this to a new hotkey command, assigned to \"Left\"\r\n// ============================================================\r\n{\r\n // Signal that the key is pressed\r\n global int $PMP_stickyPreviousFrame_keyPressed;\r\n $PMP_stickyPreviousFrame_keyPressed = true;\r\n\r\n // Frame at which we started\r\n global float $PMP_stickyPreviousFrame_startFrame;\r\n $PMP_stickyPreviousFrame_startFrame = `currentTime -q`;\r\n \r\n // Time at which we started\r\n global float $PMP_stickyPreviousFrame_startTime;\r\n $PMP_stickyPreviousFrame_startTime = `timerX`;\r\n\r\n scriptJob -idleEvent \"PMP_stickyPreviousFrame_whilePressed()\" -runOnce true;\r\n}\r\n\r\n// This must be set to a script job with the -runOnce flag!\r\nglobal proc PMP_stickyPreviousFrame_whilePressed()\r\n{\r\n // Time to delay before playback starts\r\n float $delayTime = .2 ;\r\n\r\n global float $PMP_stickyPreviousFrame_startTime;\r\n global int $PMP_stickyPreviousFrame_keyPressed;\r\n\r\n //print(\"PMP_stickyPreviousFrame_whilePressed - elapsedTime: \" + `timerX -startTime $PMP_stickyPreviousFrame_startTime` + \"\\n\");\r\n \r\n if(`timerX -startTime $PMP_stickyPreviousFrame_startTime` > $delayTime && \r\n $PMP_stickyPreviousFrame_keyPressed)\r\n {\r\n //print \"playing...\\n\";\r\n play -forward false;\r\n }\r\n else if($PMP_stickyPreviousFrame_keyPressed)\r\n {\r\n //print \"starting script again...\\n\";\r\n scriptJob -idleEvent \"PMP_stickyPreviousFrame_whilePressed()\" -runOnce true;\r\n }\r\n}\r\n// ============================================================\r\n// End of stuff to put in \"Left\" command\r\n// ============================================================") + L_KeyTap_Press; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("// ============================================================\r\n// Copy this to a new hotkey command, assigned to \"Right\"\r\n// ============================================================\r\n{\r\n // Signal that the key is pressed\r\n global int $PMP_stickyNextFrame_keyPressed;\r\n $PMP_stickyNextFrame_keyPressed = true;\r\n\r\n // Frame at which we started\r\n global float $PMP_stickyNextFrame_startFrame;\r\n $PMP_stickyNextFrame_startFrame = `currentTime -q`;\r\n \r\n // Time at which we started\r\n global float $PMP_stickyNextFrame_startTime;\r\n $PMP_stickyNextFrame_startTime = `timerX`;\r\n\r\n scriptJob -idleEvent \"PMP_stickyNextFrame_whilePressed()\" -runOnce true;\r\n}\r\n\r\n// This must be set to a script job with the -runOnce flag!\r\nglobal proc PMP_stickyNextFrame_whilePressed()\r\n{\r\n // Time to delay before playback starts\r\n float $delayTime = .2 ;\r\n\r\n global float $PMP_stickyNextFrame_startTime;\r\n global int $PMP_stickyNextFrame_keyPressed;\r\n\r\n //print(\"PMP_stickyNextFrame_whilePressed - elapsedTime: \" + `timerX -startTime $PMP_stickyNextFrame_startTime` + \"\\n\");\r\n \r\n if(`timerX -startTime $PMP_stickyNextFrame_startTime` > $delayTime && \r\n $PMP_stickyNextFrame_keyPressed)\r\n {\r\n //print \"playing...\\n\";\r\n play;\r\n }\r\n else if($PMP_stickyNextFrame_keyPressed)\r\n {\r\n //print \"starting script again...\\n\";\r\n scriptJob -idleEvent \"PMP_stickyNextFrame_whilePressed()\" -runOnce true;\r\n }\r\n}\r\n// ============================================================\r\n// End of stuff to put in \"Right\" command\r\n// ============================================================") + R_KeyTap_Press; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("// ============================================================\r\n// Copy this to a new hotkey command, assigned to \"Right\", with\r\n// direction set to \"Release\" (not \"Press\"!)\r\n// ============================================================\r\n{\r\n // Signal that the key is released\r\n global int $PMP_stickyNextFrame_keyPressed;\r\n $PMP_stickyNextFrame_keyPressed = false;\r\n\r\n // Stop playback\r\n play -state off;\r\n\r\n // Check if frame has changed - if not, go forward one\r\n global float $PMP_stickyNextFrame_startFrame;\r\n if($PMP_stickyNextFrame_startFrame == `currentTime -q`)\r\n {\r\n print \"Next frame\\n\";\r\n currentTime($PMP_stickyNextFrame_startFrame + 1);\r\n }\r\n}\r\n// ============================================================\r\n// End of stuff to put in \"Right\" \"Release\" command\r\n// ============================================================") + R_KeyTap_Release; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("setKeyframe -insert") + Insert_Key; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("playButtonEnd;") + Play_Range_End; + +runTimeCommand + -annotation "" + -category "User" + -commandLanguage "mel" + -command ("playButtonStart;") + Play_Range_Start; + diff --git a/2009-x64/prefsThierry/windowPrefs.mel b/2009-x64/prefsThierry/windowPrefs.mel new file mode 100644 index 0000000..1036d28 --- /dev/null +++ b/2009-x64/prefsThierry/windowPrefs.mel @@ -0,0 +1,39 @@ +//Maya Preference 2009 (Release 1) +// +// +windowPref -topLeftCorner 225 150 -widthHeight 250 400 -parentMain true outlinerPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 700 400 -parentMain true hyperGraphPanel1Window; +windowPref -topLeftCorner 358 850 -widthHeight 1005 631 -parentMain true graphEditor1Window; +windowPref -topLeftCorner 121 370 -widthHeight 1184 733 -parentMain true dopeSheetPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 660 400 -parentMain true clipEditorPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 560 430 -parentMain true multiListerPanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 524 470 -parentMain true devicePanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 700 400 -parentMain true hyperShadePanel1Window; +windowPref -topLeftCorner 250 200 -widthHeight 700 400 -parentMain true dynPaintScriptedPanelWindow; +windowPref -topLeftCorner 250 200 -widthHeight 550 562 -parentMain true blindDataEditor1Window; +windowPref -topLeftCorner 191 551 -widthHeight 594 655 -parentMain true pluginManagerWindow; +windowPref -topLeftCorner 0 0 -widthHeight 680 600 -parentMain true renderViewWindow; +windowPref -topLeftCorner 896 1070 -widthHeight 530 276 -parentMain true CommandWindow; +windowPref -topLeftCorner -1 7 -widthHeight 1518 1145 -parentMain false MayaWindow; +windowPref -topLeftCorner 200 220 -widthHeight 422 670 -parentMain true unifiedRenderGlobalsWindow; +windowPref -topLeftCorner 400 640 -widthHeight 450 200 -parentMain true hyperShadePanelCreateNewTabWindow; +windowPref -topLeftCorner 400 640 -widthHeight 425 110 -parentMain true hyperShadePanelRenameTabWindow; +windowPref -topLeftCorner 400 640 -widthHeight 450 510 -parentMain true newProjectWindow; +windowPref -topLeftCorner 0 0 -widthHeight 475 325 -parentMain true referenceEditorPanel1Window; +windowPref -topLeftCorner 210 390 -widthHeight 630 450 -parentMain true PreferencesWindow; +windowPref -topLeftCorner 400 640 -widthHeight 530 300 -parentMain true cmdShellWnd; +windowPref -topLeftCorner 400 640 -widthHeight 450 200 -parentMain true visorPanelCreateNewTabWindow; +windowPref -topLeftCorner 240 287 -widthHeight 1248 391 -parentMain true visorPanel1Window; +windowPref -topLeftCorner 400 533 -widthHeight 562 290 -parentMain true cMTrailWin; +windowPref -topLeftCorner 400 533 -widthHeight 376 349 -parentMain true shelfEditorWin; +windowPref -topLeftCorner 400 533 -widthHeight 300 200 -parentMain true zooToolBoxTipsWindow; +windowPref -topLeftCorner 400 533 -widthHeight 350 250 -parentMain true zooToolBoxWindow; +windowPref -topLeftCorner 96 272 -widthHeight 819 993 -parentMain true HotkeyEditor; +windowPref -topLeftCorner 400 533 -widthHeight 398 178 -parentMain true zoomerWin2; +windowPref -topLeftCorner 373 945 -widthHeight 354 333 -parentMain true animFodod; +windowPref -topLeftCorner 444 363 -widthHeight 1323 826 -parentMain true scriptEditorPanel1Window; +windowPref -topLeftCorner 191 525 -widthHeight 659 651 -parentMain true SearchForRunTimeCommandWindow; +windowPref -topLeftCorner 210 1675 -widthHeight 200 125 -parentMain true autoTangentWin; +windowPref -topLeftCorner 400 640 -widthHeight 525 350 -parentMain true OptionBoxWindow; +windowPref -topLeftCorner 400 640 -widthHeight 136 119 -parentMain true icon2shelfWin; +windowPref -topLeftCorner 400 640 -widthHeight 540 545 -parentMain true learningMoviesLaunchWnd; diff --git a/2009-x64/presets/.zooTriggerator/arrow.shape b/2009-x64/presets/.zooTriggerator/arrow.shape new file mode 100644 index 0000000..09a2e50 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/arrow.shape @@ -0,0 +1,7 @@ +-1,0.2 +0.3,0.2 +0.3,0.5 +1,0 +0.3,-0.5 +0.3,-0.2 +-1,-0.2 diff --git a/2009-x64/presets/.zooTriggerator/box.shape b/2009-x64/presets/.zooTriggerator/box.shape new file mode 100644 index 0000000..ad2065b --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/box.shape @@ -0,0 +1,10 @@ +-1,1 +-1,-1 +1,-1 +1,1 +-0.8,1 +-0.8,0.8 +0.8,0.8 +0.8,-0.8 +-0.8,-0.8 +-0.8,1 diff --git a/2009-x64/presets/.zooTriggerator/circle.shape b/2009-x64/presets/.zooTriggerator/circle.shape new file mode 100644 index 0000000..520204f --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/circle.shape @@ -0,0 +1,16 @@ +0,1 +0.38268,0.92388 +0.70711,0.70711 +0.92388,0.38268 +1,0 +0.92388,-0.38268 +0.70711,-0.70711 +0.38268,-0.92388 +0,-1 +-0.38268,-0.92388 +-0.70711,-0.70711 +-0.92388,-0.38268 +-1,0 +-0.92388,0.38268 +-0.70711,0.70711 +-0.38268,0.92388 \ No newline at end of file diff --git a/2009-x64/presets/.zooTriggerator/doublearrow.shape b/2009-x64/presets/.zooTriggerator/doublearrow.shape new file mode 100644 index 0000000..9904276 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/doublearrow.shape @@ -0,0 +1,10 @@ +-1,0 +-0.3,0.5 +-0.3,0.2 +0.3,0.2 +0.3,0.5 +1,0 +0.3,-0.5 +0.3,-0.2 +-0.3,-0.2 +-0.3,-0.5 diff --git a/2009-x64/presets/.zooTriggerator/eightstar.shape b/2009-x64/presets/.zooTriggerator/eightstar.shape new file mode 100644 index 0000000..067a5a1 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/eightstar.shape @@ -0,0 +1,16 @@ +0,1 +0.19134,0.46194 +0.70711,0.70711 +0.46194,0.19134 +1,0 +0.46194,-0.19134 +0.70711,-0.70711 +0.19134,-0.46194 +0,-1 +-0.19134,-0.46194 +-0.70711,-0.70711 +-0.46194,-0.19134 +-1,0 +-0.46194,0.19134 +-0.70711,0.70711 +-0.19134,0.46194 diff --git a/2009-x64/presets/.zooTriggerator/eye.shape b/2009-x64/presets/.zooTriggerator/eye.shape new file mode 100644 index 0000000..16f9752 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/eye.shape @@ -0,0 +1,32 @@ +-0.8009648323,0.2841463387 +-0.4039365053,0.5212705135 +0,0.5872560143 +0.4039365053,0.5212705135 +0.8009648323,0.2841463387 +1,0 +0.8009648323,-0.2841463387 +0.4039365053,-0.5212705135 +-2.806213595e-011,-0.5872560143 +-2.356368656e-009,-0.3857257962 +0.3065886796,-0.2727493346 +0.4335818887,1.761159218e-009 +0.3065886497,0.2727493048 +3.254307046e-009,0.3857257664 +-3.492459655e-009,0.2795876563 +0.20601511,0.1976983994 +0.291349262,0 +0.20601511,-0.1976983249 +-6.511655659e-010,-0.2795876861 +-0.2060149908,-0.1976983249 +-0.2913491726,5.105239342e-009 +-0.2060149908,0.1976983249 +-0.005544215441,0.2795876861 +-0.005544215441,0.3857257664 +-0.3065886497,0.2727493048 +-0.4335818589,2.402744226e-009 +-0.3065886497,-0.2727493048 +-0.005544237792,-0.3857257962 +-0.005544222891,-0.5872560143 +-0.4039365053,-0.5212705135 +-0.8009648323,-0.2841463387 +-1,0 diff --git a/2009-x64/presets/.zooTriggerator/fivestar.shape b/2009-x64/presets/.zooTriggerator/fivestar.shape new file mode 100644 index 0000000..50aaa55 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/fivestar.shape @@ -0,0 +1,10 @@ +0,1 +0.23512,0.32361 +0.95106,0.30902 +0.38042,-0.12361 +0.58779,-0.80902 +0,-0.4 +-0.58779,-0.80902 +-0.38042,-0.12361 +-0.95106,0.30902 +-0.23512,0.32361 diff --git a/2009-x64/presets/.zooTriggerator/hand.shape b/2009-x64/presets/.zooTriggerator/hand.shape new file mode 100644 index 0000000..b330ad0 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/hand.shape @@ -0,0 +1,13 @@ +-3.290022873,27.04568504 +100,25.50944405 +92.52066301,-4.817812506 +15.82039831,-22.87274315 +1.091466041,-36.09552655 +81.30440632,-44.26394401 +60.38170689,-79.53899026 +-26.92728173,-86.38875587 +-100,-56.84683596 +-98.78300548,20.43930869 +-42.42057298,86.38875587 +-11.66498604,64.58677837 +-44.13910272,24.31019616 diff --git a/2009-x64/presets/.zooTriggerator/minus.shape b/2009-x64/presets/.zooTriggerator/minus.shape new file mode 100644 index 0000000..c0d12a8 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/minus.shape @@ -0,0 +1,4 @@ +-0.7,-0.25 +0.7,-0.25 +0.7,0.25 +-0.7,0.25 diff --git a/2009-x64/presets/.zooTriggerator/minusbox.shape b/2009-x64/presets/.zooTriggerator/minusbox.shape new file mode 100644 index 0000000..0b6e571 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/minusbox.shape @@ -0,0 +1,14 @@ +-1,1 +-1,-1 +1,-1 +1,1 +-0.7,1 +-0.7,0.8 +0.8,0.8 +0.8,-0.8 +-0.8,-0.8 +-0.8,-0.25 +0.7,-0.25 +0.7,0.25 +-0.8,0.25 +-0.8,1 diff --git a/2009-x64/presets/.zooTriggerator/plus.shape b/2009-x64/presets/.zooTriggerator/plus.shape new file mode 100644 index 0000000..0f1b6ab --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/plus.shape @@ -0,0 +1,12 @@ +-0.7,-0.25 +-0.25,-0.25 +-0.25,-0.7 +0.25,-0.7 +0.25,-0.25 +0.7,-0.25 +0.7,0.25 +0.25,0.25 +0.25,0.7 +-0.25,0.7 +-0.25,0.25 +-0.7,0.25 diff --git a/2009-x64/presets/.zooTriggerator/plusbox.shape b/2009-x64/presets/.zooTriggerator/plusbox.shape new file mode 100644 index 0000000..fbde683 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/plusbox.shape @@ -0,0 +1,22 @@ +-1,1 +-1,-1 +1,-1 +1,1 +-0.7,1 +-0.7,0.8 +0.8,0.8 +0.8,-0.8 +-0.8,-0.8 +-0.8,-0.25 +-0.25,-0.25 +-0.25,-0.7 +0.25,-0.7 +0.25,-0.25 +0.7,-0.25 +0.7,0.25 +0.25,0.25 +0.25,0.7 +-0.25,0.7 +-0.25,0.25 +-0.8,0.25 +-0.8,1 diff --git a/2009-x64/presets/.zooTriggerator/square.shape b/2009-x64/presets/.zooTriggerator/square.shape new file mode 100644 index 0000000..19fa4bd --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/square.shape @@ -0,0 +1,4 @@ +-1,1 +-1,-1 +1,-1 +1,1 diff --git a/2009-x64/presets/.zooTriggerator/testy.shape b/2009-x64/presets/.zooTriggerator/testy.shape new file mode 100644 index 0000000..c2fd0b9 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/testy.shape @@ -0,0 +1,34 @@ +0,100 +38.26798587,92.38799143 +70.71097943,70.7110003 +92.38805403,38.26799631 +100,-5.21683459e-006 +92.38805403,-38.26800152 +70.71097943,-70.7110003 +38.26798587,-92.38800186 +0,-100 +-38.26798587,-92.38800186 +-70.71097943,-70.7110003 +-92.3880123,-38.26800152 +-100,-5.21683459e-006 +-68.64699099,-1.043366919e-005 +-63.42151731,-26.26981406 +-48.54093483,-48.54094005 +-26.26980884,-63.42153818 +0,-68.64693882 +26.26976711,-63.42153296 +48.54097657,-48.54094005 +63.42151731,-26.26981406 +68.64694926,-5.21683459e-006 +63.42151731,26.26980884 +48.54097657,48.54093483 +26.26976711,63.42153818 +0,68.64692839 +-26.26980884,63.42153818 +-48.54093483,48.54093483 +-63.42151731,26.26980884 +-68.64699099,-5.21683459e-006 +-100,-5.21683459e-006 +-92.3880123,38.26799631 +-70.71097943,70.7110003 +-38.26798587,92.38799143 diff --git a/2009-x64/presets/.zooTriggerator/triangle.shape b/2009-x64/presets/.zooTriggerator/triangle.shape new file mode 100644 index 0000000..f0f5ef5 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/triangle.shape @@ -0,0 +1,3 @@ +0,1 +0.86603,-0.5 +-0.86603,-0.5 diff --git a/2009-x64/presets/.zooTriggerator/triggerator.shape b/2009-x64/presets/.zooTriggerator/triggerator.shape new file mode 100644 index 0000000..e231127 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/triggerator.shape @@ -0,0 +1,328 @@ +ref: + +n=aang_selecter +t=folder +p=zooEazel,-0.004415651947,0.002321164063,0,0.025,0.025,0.025 + +n=polySurface10 +c=1#; +t=select -d #;\nselect -add @;\n +s=3.974039078,-12.01078224,3.48739481,-12.86366177,5.489806175,-12.86361885,5.489591599,-11.80316353, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface11 +c=1#ref:aang_knee_ctrl_R; +t=select -d #;\nselect -add @;\n +s=3.119244814,-9.041003227,3.11924839,-10.30359936,1.694348574,-9.672299385, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface12 +c=1#ref:aang_leg_ctrl_R; +t=select -d #;\nselect -add @;\n +s=1.986383677,-11.0989542,2.147608757,-11.13212776,2.221802473,-11.52912807,2.29264307,-11.50998211,2.270502806,-11.38407516,2.450078487,-11.3374567,2.544173956,-11.7946825,2.759911776,-11.28732395,2.987650633,-11.40049076,2.632532597,-12.05873775,3.167155027,-12.21234608,3.067631006,-12.44517899,2.646749258,-12.23698807,2.766341448,-12.50584412,2.544027567,-12.60453606,2.302646637,-11.64169979,2.228765488,-11.60546303,2.387291431,-12.58836746,2.134741306,-12.72505474, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface13 +c=1#ref:aang_fk_bicep_ctrl_R; +t=select -d #;\nselect -add @;\n +s=2.602160215,-3.06222868,2.946018696,-3.663044214,4.381285191,-2.841613293,4.037426949,-2.240797758, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface14 +c=1#ref:aang_fk_elbow_ctrl_R; +t=select -d #;\nselect -add @;\n +s=1.014466524,-3.970896244,1.358325005,-4.57171154,2.793591738,-3.750281096,2.449733257,-3.149465084, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface15 +c=1#ref:aang_clavicle_ctrl_R; +t=select -d #;\nselect -add @;\n +s=4.592603683,-0.9910107851,4.825824738,-1.037401676,5.023545742,-1.169510126,5.155654907,-1.367231607,5.202045441,-1.600452662,5.155654907,-1.833674192,5.023545742,-2.031395197,4.825824738,-2.163503885,4.592603683,-2.209894657,4.359382629,-2.163503885,4.161661148,-2.031395197,4.02955246,-1.833674192,3.983161926,-1.600452662,4.02955246,-1.367231607,4.161661148,-1.169510126,4.359382629,-1.037401676, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface16 +c=1#ref:aang_wrist_ctrl_R; +t=select -d #;\nselect -add @;\n +s=-0.02083539963,-4.475512981,-0.8614153862,-5.055807114,-0.6332638264,-5.263986588,0.09642612934,-4.990860939,0.2901659012,-5.018601418,-0.3242759705,-5.526582241,0.04157066345,-5.701548576,0.7968794703,-5.278015137,1.235165715,-4.633589268,0.8004081249,-4.005001068,-0.02532887459,-3.772668123,-0.1583135724,-4.120904446,0.3299717009,-4.273497581, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface17 +c=1#ref:aang_arm_ctrl_R; +t=select -d #;\nselect -add @;\n +s=-0.308601737,-1.927188396,-0.1687559485,-1.955962181,-0.104400903,-2.300318241,-0.04295411706,-2.283711672,-0.06215831637,-2.17449975,0.09360459447,-2.134063721,0.175222531,-2.530659199,0.362352252,-2.090579033,0.5598915815,-2.188738823,0.2518642545,-2.759699106,0.715592742,-2.89293766,0.6292661428,-3.09489584,0.2641957402,-2.914311886,0.3679292798,-3.147516727,0.1750954837,-3.233121634,-0.03427690268,-2.39796257,-0.09836119413,-2.366530418,0.0391433537,-3.219096422,-0.1799171269,-3.337658644, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface18 +c=1#ref:aang_elbow_ctrl_R;2#;3#; +t=select -d #;\nselect -add @;\n +s=2.800336838,-2.204805136,1.671778202,-2.770933867,1.790689707,-1.600033998, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface19 +c=1#ref:aang_neck_ctrl; +t=select -d #;\nselect -add @;\n +s=5.948812962,-0.7098228931,5.948812962,-1.813401461,6.649743557,-1.813401461,6.649743557,-0.7098228931, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface2 +c=1#ref:aang_world; +t=select -d #;\nselect -add @;\n +s=-0.8601425886,-6.96429348,-0.8601425886,-8.96429348,1.139857411,-8.96429348,1.139857411,-6.96429348,-0.6601426601,-6.96429348,-0.6601426601,-7.164293289,0.9398573637,-7.164293289,0.9398573637,-8.764293671,-0.6601426601,-8.764293671,-0.6601426601,-6.96429348, +p=aang_selecter,-0.001492402985,-0.03059426119,0,1,1,1 + +n=polySurface20 +c=1#ref:aang_head_ctrl; +t=select -d #;\nselect -add @;\n +s=6.299278259,1.75654912,6.736506939,1.669578552,7.107182503,1.421909332,7.354852676,1.051233649,7.441822529,0.6140047908,7.354852676,0.1767759919,7.107182503,-0.1938996315,6.736506939,-0.4415689707,6.299278259,-0.5285394192,5.86204958,-0.4415689707,5.491374016,-0.1938996315,5.243704319,0.1767759919,5.15673399,0.6140047908,5.514955997,0.6140047312,5.574659348,0.3138605952,5.74467659,0.05940312147,5.999134064,-0.1106142998,6.299278259,-0.1703168154,6.599421978,-0.1106142402,6.853880405,0.05940312147,7.023897171,0.3138605952,7.083600044,0.6140047908,7.023897171,0.9141490459,6.853880405,1.16860652,6.599421978,1.338624001,6.299278259,1.398326397,5.999134064,1.338624001,5.74467659,1.16860652,5.574659348,0.9141490459,5.514956474,0.6140047908,5.15673399,0.6140047908,5.243704319,1.051233649,5.491374016,1.421909332,5.86204958,1.669578552, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface21 +c=1#; +t=select -d #;\nselect -add @;\n +s=8.002264023,1.497948885,8.162753105,1.466025352,8.29881382,1.375115752,8.389722824,1.239055395,8.421646118,1.078565955,8.389722824,0.9180765748,8.29881382,0.7820162177,8.162753105,0.6911065578,8.002264023,0.6591832638,7.841773987,0.6911065578,7.705713749,0.7820162177,7.614803791,0.9180765748,7.582880974,1.078565955,7.614803791,1.239055395,7.705713749,1.375115752,7.841773987,1.466025352, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface22 +c=1#; +t=select -d #;\nselect -add @;\n +s=8.002264023,0.5172147155,8.162753105,0.4852912724,8.29881382,0.3943816721,8.389722824,0.2583212852,8.421646118,0.09783186018,8.389722824,-0.06265756488,8.29881382,-0.1987178922,8.162753105,-0.289627552,8.002264023,-0.3215509653,7.841773987,-0.289627552,7.705713749,-0.1987178922,7.614803791,-0.06265756488,7.582880974,0.09783186018,7.614803791,0.2583212852,7.705713749,0.3943816721,7.841773987,0.4852912724, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface23 +c=1#; +t=select -d #;\nselect -add @;\n +s=6.299278259,1.234177589,6.450675964,1.204062581,6.579029083,1.118302822,6.664788723,0.9899500608,6.694903851,0.8385521173,6.664788723,0.6871541142,6.579029083,0.558801353,6.450675964,0.4730415344,6.299278259,0.4429266453,6.147880554,0.4730415344,6.019527435,0.558801353,5.933767796,0.6871541142,5.903652668,0.8385521173,5.933767796,0.9899500608,6.019527435,1.118302822,6.147880554,1.204062581, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface24 +c=1#ref:aang_fk_bicep_ctrl_L; +t=select -d #;\nselect -add @;\n +s=9.996396065,-3.06222868,9.652537346,-3.663044214,8.217271805,-2.841613293,8.56112957,-2.240797758, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface25 +c=1#ref:aang_fk_elbow_ctrl_L; +t=select -d #;\nselect -add @;\n +s=11.58409023,-3.970896244,11.24023151,-4.57171154,9.804965019,-3.750281096,10.14882278,-3.149465084, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface26 +c=1#ref:aang_clavicle_ctrl_L; +t=select -d #;\nselect -add @;\n +s=8.005952835,-0.9910107851,7.772731781,-1.037401676,7.5750103,-1.169510126,7.442902088,-1.367231607,7.396511078,-1.600452662,7.442902088,-1.833674192,7.5750103,-2.031395197,7.772731781,-2.163503885,8.005952835,-2.209894657,8.239173889,-2.163503885,8.43689537,-2.031395197,8.569004059,-1.833674192,8.615394592,-1.600452662,8.569004059,-1.367231607,8.43689537,-1.169510126,8.239173889,-1.037401676, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface27 +c=1#ref:aang_wrist_ctrl_L; +t=select -d #;\nselect -add @;\n +s=12.61939049,-4.475512981,13.45997143,-5.055807114,13.23181915,-5.263986588,12.50213051,-4.990860939,12.30839062,-5.018601418,12.92283249,-5.526582241,12.55698586,-5.701548576,11.8016777,-5.278015137,11.36339188,-4.633589268,11.79814911,-4.005001068,12.62388515,-3.772668123,12.75687027,-4.120904446,12.26858521,-4.273497581, +s=-1.078140736,0.3461279869,-1.078140736,0.3461279869, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface28 +c=1#ref:aang_arm_ctrl_L; +t=select -d #;\nselect -add @;\n +s=11.61601734,-2.01876545,11.75586224,-2.047539473,11.82021713,-2.391895533,11.88166332,-2.375288725,11.86246014,-2.266077042,12.01822281,-2.225641012,12.09984112,-2.622236252,12.28697014,-2.182156086,12.48451138,-2.280315876,12.17648315,-2.851276159,12.64021111,-2.984514713,12.55388451,-3.186472893,12.18881321,-3.005889177,12.29254723,-3.239093781,12.09971428,-3.324698925,11.89034081,-2.489539862,11.82625675,-2.458107471,11.96376133,-3.310673475,11.74470139,-3.429235697, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface29 +c=1#ref:aang_elbow_ctrl_L;2#;3#; +t=select -d #;\nselect -add @;\n +s=9.798219681,-2.204805136,10.92677784,-2.770933867,10.80786705,-1.600033998, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface3 +c=1#ref:aang_root_ctrl; +t=select -d #;\nselect -add @;\n +s=4.778504372,-5.281130791,4.578499794,-5.76936245,4.778504372,-6.257593632,7.820052624,-6.257593632,8.020056725,-5.76936245,7.820052624,-5.281130791,6.299278259,-5.281130791, +s=4.778504372,-5.281130791,4.778504372,-5.281130791, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface30 +c=1#; +t=select -d #;\nselect -add @;\n +s=7.842139244,-7.507740021,8.495094299,-9.544099808,7.652233124,-9.597874641,7.052709579,-7.880675316, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface31 +c=1#; +t=select -d #;\nselect -add @;\n +s=8.47541523,-9.816918373,7.953552246,-11.57192326,7.08046627,-11.57192326,7.637120247,-9.747332573, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface32 +c=1#; +t=select -d #;\nselect -add @;\n +s=8.624517441,-12.01078224,9.111161232,-12.86366177,7.108750343,-12.86361885,7.10896492,-11.80316353, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface33 +c=1#ref:aang_knee_ctrl_L;2#;3#; +t=select -d #;\nselect -add @;\n +s=9.479311943,-9.041003227,9.479308128,-10.30359936,10.90420818,-9.672299385, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface34 +c=1#ref:aang_leg_ctrl_L; +t=select -d #;\nselect -add @;\n +s=9.6593647,-11.0989542,9.820590019,-11.13212776,9.894783974,-11.52912807,9.965623856,-11.50998211,9.943484306,-11.38407516,10.12306023,-11.3374567,10.21715546,-11.7946825,10.4328928,-11.28732395,10.66063213,-11.40049076,10.30551338,-12.05873775,10.84013653,-12.21234608,10.74061203,-12.44517899,10.31973076,-12.23698807,10.43932247,-12.50584412,10.21700859,-12.60453606,9.975627899,-11.64169979,9.90174675,-11.60546303,10.06027222,-12.58836746,9.807723045,-12.72505474, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface35 +c=1#ref:aang_ctrls_qss; +t=select `sets -q %1`;\n +s=-0.5082364082,-7.517332077,-0.09106278419,-7.764349461,-0.3118587732,-8.030962944,-0.107917428,-8.283429146,-0.03385680914,-7.586072445,0.09139079601,-7.602872372,0.1167921573,-8.233727455,0.236826539,-7.927675724,0.5410380363,-7.580532074,0.7829148769,-7.758355618,0.6639306545,-7.887888908,0.5033618212,-7.791920662,0.3838861287,-8.023564339,0.4906762838,-8.242214203,0.7106492519,-8.154197693,0.6079870462,-8.081871033,0.7877156138,-8.011581421,0.8959112763,-8.260785103,0.514865458,-8.420816422,0.2528586984,-8.246180534,0.1562799215,-8.337140083,-0.05079489946,-8.354144096,-0.1717990339,-8.441020012,-0.3710410595,-8.25873661,-0.3541262746,-8.47110939,-0.5478576422,-8.467433929, +p=aang_selecter,-0.001492402985,-0.03059426119,0,1,1,1 + +n=polySurface4 +c=1#ref:aang_spine_1_ctrl; +t=select -d #;\nselect -add @;\n +s=5.221137524,-4.245052338,5.221137524,-4.937308311,7.377418995,-4.937308311,7.377418995,-4.245052338, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface5 +c=1#ref:aang_spine_2_ctrl; +t=select -d #;\nselect -add @;\n +s=5.221137524,-3.337270737,5.221137524,-4.029526711,7.377418995,-4.029526711,7.377418995,-3.337270737, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface6 +c=1#ref:aang_spine_3_ctrl; +t=select -d #;\nselect -add @;\n +s=5.221137524,-1.948818207,5.221137524,-3.052396774,7.377418995,-3.052396774,7.377418995,-1.948818207, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface7 +c=1#ref:aang_hips_ctrl; +t=select -d #;\nselect -add @;\n +s=5.221137524,-6.592569828,5.221137524,-7.488824844,7.377418995,-7.488824844,7.377418995,-6.592569828, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface8 +c=1#; +t=select -d #;\nselect -add @;\n +s=4.756417274,-7.507740021,4.103461742,-9.544099808,4.946323395,-9.597874641,5.545846939,-7.880675316, +p=aang_selecter,0,0,0,1,1,1 + +n=polySurface9 +c=1#; +t=select -d #;\nselect -add @;\n +s=4.123141766,-9.816918373,4.645003796,-11.57192326,5.518090248,-11.57192326,4.961436272,-9.747332573, +p=aang_selecter,0,0,0,1,1,1 + +n=hand_folder +t=folder +p=aang_selecter,0.09937219874,-0.06734013468,0,0.5668157809,0.5668157809,0.5668157809 + +n=hand_folder|polySurface37 +c=1#ref:aang_wrist_ctrl_L; +t=select -d #;\nselect -add @;\n +s=1.540291309,0.2294788957,1.540291309,-2.253437996,3.540291309,-2.253437996,3.540291309,0.2294788957, +p=hand_folder,1.825460693e-014,0.008980117486,0,1,1,1 + +n=hand_folder|polySurface38 +c=1#ref:aang_ring_base_ctrl_L; +t=select -d #;\nselect -add @;\n +s=3.917933941,-0.2701934576,3.917933941,-1.022020221,4.940103531,-1.022020221,4.940103531,-0.2701934576, +p=hand_folder,1.825460693e-014,0.008980117486,0,1,1,1 + +n=hand_folder|polySurface39 +c=1#ref:aang_ring_mid_ctrl_L; +t=select -d #;\nselect -add @;\n +s=5.155369759,-0.2701934576,5.155369759,-1.022020221,6.177538395,-1.022020221,6.177538395,-0.2701934576, +p=hand_folder,1.825460693e-014,0.008980117486,0,1,1,1 + +n=hand_folder|polySurface40 +c=1#ref:aang_index_base_ctrl_L; +t=select -d #;\nselect -add @;\n +s=3.917933941,-1.247411728,3.917933941,-1.999238491,4.940103531,-1.999238491,4.940103531,-1.247411728, +p=hand_folder,1.825460693e-014,0.008980117486,0,1,1,1 + +n=hand_folder|polySurface41 +c=1#ref:aang_index_mid_ctrl_L; +t=select -d #;\nselect -add @;\n +s=5.155369759,-1.247411728,5.155369759,-1.999238491,6.177538395,-1.999238491,6.177538395,-1.247411728, +p=hand_folder,1.825460693e-014,0.008980117486,0,1,1,1 + +n=hand_folder|polySurface46 +c=1#ref:aang_thumb_base_ctrl_L; +t=select -d #;\nselect -add @;\n +s=2.436952829,-2.682701588,1.794684172,-3.073514223,2.326025486,-3.946730137,2.968294144,-3.55591774, +p=hand_folder,5.481711149e-014,0.01144498319,0,1,1,1 + +n=hand_folder|polySurface47 +c=1#ref:aang_thumb_mid_ctrl_L; +t=select -d #;\nselect -add @;\n +s=3.08019352,-3.739814758,2.437924862,-4.130627632,2.969265938,-5.003843307,3.611534595,-4.61303091, +p=hand_folder,5.481711149e-014,0.01144498319,0,1,1,1 + +n=polySurface48 +c=1#refRN; +t=select -d #;\nselect -add @;\n +s=5.155369759,-0.2701934576,5.155369759,-1.022020221,6.177538395,-1.022020221,6.177538395,-0.2701934576, +p=hand_folder,0.01302395835,0.008980117486,0,1,1,1 + +n=polySurface49 +c=1#refRN; +t=select -d #;\nselect -add @;\n +s=5.155369759,-1.247411728,5.155369759,-1.999238491,6.177538395,-1.999238491,6.177538395,-1.247411728, +p=hand_folder,0.01302395835,0.008980117486,0,1,1,1 + +n=polySurface52 +t=folder +p=aang_selecter,0.0319159828,-0.06734013468,-6.312675365e-015,0.5668157809,0.5668157809,0.5668157809 + +n=polySurface50 +c=1#refRN; +t=select -d #;\nselect -add @;\n +s=-0.8217831254,-6.378156662,-0.8217831254,-6.804303646,-1.401164532,-6.804303646,-1.401164532,-6.378156662, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface51 +c=1#refRN; +t=select -d #;\nselect -add @;\n +s=-0.8217831254,-6.932058811,-0.8217831254,-7.358206272,-1.401164532,-7.358206272,-1.401164532,-6.932058811, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface37 +c=1#ref:aang_wrist_ctrl_R; +t=select -d #;\nselect -add @;\n +s=1.965670824,-6.094933987,1.965670824,-7.502290249,0.8320393562,-7.502290249,0.8320393562,-6.094933987, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface38 +c=1#ref:aang_ring_base_ctrl_R; +t=select -d #;\nselect -add @;\n +s=0.6179856062,-6.378156662,0.6179856062,-6.804303646,0.03860402107,-6.804303646,0.03860402107,-6.378156662, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface39 +c=1#ref:aang_ring_mid_ctrl_R; +t=select -d #;\nselect -add @;\n +s=-0.08341264725,-6.378156662,-0.08341264725,-6.804303646,-0.6627939939,-6.804303646,-0.6627939939,-6.378156662, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface40 +c=1#ref:aang_index_base_ctrl_R; +t=select -d #;\nselect -add @;\n +s=0.6179856062,-6.932058811,0.6179856062,-7.358206272,0.03860402107,-7.358206272,0.03860402107,-6.932058811, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface41 +c=1#ref:aang_index_mid_ctrl_R; +t=select -d #;\nselect -add @;\n +s=-0.08341264725,-6.932058811,-0.08341264725,-7.358206272,-0.6627939939,-7.358206272,-0.6627939939,-6.932058811, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface46 +c=1#ref:aang_thumb_base_ctrl_R; +t=select -d #;\nselect -add @;\n +s=1.457428932,-7.605891228,1.821476936,-7.827410221,1.520304441,-8.3223629,1.156256199,-8.100844383, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + +n=polySurface52|polySurface47 +c=1#ref:aang_thumb_mid_ctrl_R; +t=select -d #;\nselect -add @;\n +s=1.092829943,-8.205080032,1.456878185,-8.426598549,1.155705571,-8.921550751,0.7916575074,-8.700032234, +p=polySurface52,-0.05630750567,0.1188042693,4.056274318e-015,1.764241635,1.764241635,1.764241635 + diff --git a/2009-x64/presets/.zooTriggerator/word_ik.shape b/2009-x64/presets/.zooTriggerator/word_ik.shape new file mode 100644 index 0000000..b887754 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/word_ik.shape @@ -0,0 +1,19 @@ +-0.7970530097,0.6261001194 +-0.6358279276,0.5929272577 +-0.5616343714,0.1959266037 +-0.4907937745,0.2150722568 +-0.5129338842,0.3409799904 +-0.3333582272,0.3875977911 +-0.2392627103,-0.06962815127 +-0.0235249706,0.4377305175 +0.204213796,0.3245643329 +-0.1509041728,-0.333683299 +0.3837182129,-0.4872910974 +0.2841942122,-0.7201242445 +-0.1366874508,-0.5119330325 +-0.01709535357,-0.7807896514 +-0.2394091888,-0.8794817518 +-0.4807900158,0.08335463361 +-0.5546714323,0.1195921036 +-0.3961454457,-0.8633122328 +-0.6486954055,-1 diff --git a/2009-x64/presets/.zooTriggerator/word_rig.shape b/2009-x64/presets/.zooTriggerator/word_rig.shape new file mode 100644 index 0000000..6262e46 --- /dev/null +++ b/2009-x64/presets/.zooTriggerator/word_rig.shape @@ -0,0 +1,26 @@ +-0.9414786696,0.7172526121 +-0.3657518327,0.3763538897 +-0.6704646945,0.008409895934 +-0.3890123367,-0.3400105834 +-0.2868038416,0.6223863363 +-0.1139540002,0.5992026329 +-0.07889845967,-0.2714199424 +0.0867568031,0.150951907 +0.506588459,0.6300336123 +0.8403942585,0.3846248388 +0.6761883497,0.2058601528 +0.454592824,0.3383028507 +0.2897086143,0.01861989498 +0.4370860457,-0.2831315696 +0.740662992,-0.1616622508 +0.598982513,-0.06184632704 +0.8470196128,0.03515756503 +0.9963366985,-0.3087597787 +0.4704686701,-0.5296137929 +0.1088822037,-0.2886050642 +-0.02440278977,-0.4141358733 +-0.3101795018,-0.4376006126 +-0.4771731198,-0.5574960113 +-0.7521401048,-0.3059334159 +-0.7287966013,-0.5990207195 +-0.996158421,-0.5939493775 diff --git a/2009-x64/presets/attrPresets/sculpt/eyeScultDeformer.mel b/2009-x64/presets/attrPresets/sculpt/eyeScultDeformer.mel new file mode 100644 index 0000000..065ee27 --- /dev/null +++ b/2009-x64/presets/attrPresets/sculpt/eyeScultDeformer.mel @@ -0,0 +1,14 @@ +// requires maya "2009"; +startAttrPreset( "sculpt" ); +blendAttr "input[0].groupId" 715; +blendAttr "envelope" 1; +blendAttr "mode" 2; +blendAttr "insideMode" 1; +blendAttr "maximumDisplacement" 0.0828; +blendAttr "dropoffDistance" 0.1652; +blendAttr "dropoffType" 1; +blendAttr "startPosX" 5.66539669; +blendAttr "startPosY" 116.4452057; +blendAttr "startPosZ" 19.46671295; +blendAttr "extendedEnd" 1; +endAttrPreset(); diff --git a/2009-x64/presets/mentalrayFramebufferPreset_HallwayFinalRender.mel b/2009-x64/presets/mentalrayFramebufferPreset_HallwayFinalRender.mel new file mode 100644 index 0000000..352285b --- /dev/null +++ b/2009-x64/presets/mentalrayFramebufferPreset_HallwayFinalRender.mel @@ -0,0 +1,104 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".datatype" 2; +} + +proc setAttribute6() { +} + +proc setAttribute7() { + setAttr ".interpolateSamples" yes; +} + +proc setAttribute8() { +} + +proc setAttribute9() { + setAttr ".desaturate" no; +} + +proc setAttribute10() { + setAttr ".premultiply" yes; +} + +proc setAttribute11() { + setAttr ".dither" yes; +} + +proc setAttribute12() { + setAttr ".field" 0; +} + +proc setAttribute13() { + setAttr ".gamma" 1; +} + +proc setAttribute14() { + setAttr ".colorclip" 2; +} + +proc setAttribute15() { + setAttr ".contourEnable" no; +} + +proc setAttribute16() { + setAttr ".contourSamples" 1; +} + +proc setAttribute17() { + setAttr ".contourFilter" 0; +} + +proc setAttribute18() { + setAttr ".contourFilterSupport" 1; +} + +proc setAttribute19() { + setAttr ".contourClearImage" no; +} + +proc setAttribute20() { + setAttr ".contourClearColor" -type "float3" 0 0 0 ; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); diff --git a/2009-x64/presets/mentalrayFramebufferPreset_KeyboardPreset.mel b/2009-x64/presets/mentalrayFramebufferPreset_KeyboardPreset.mel new file mode 100644 index 0000000..352285b --- /dev/null +++ b/2009-x64/presets/mentalrayFramebufferPreset_KeyboardPreset.mel @@ -0,0 +1,104 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".datatype" 2; +} + +proc setAttribute6() { +} + +proc setAttribute7() { + setAttr ".interpolateSamples" yes; +} + +proc setAttribute8() { +} + +proc setAttribute9() { + setAttr ".desaturate" no; +} + +proc setAttribute10() { + setAttr ".premultiply" yes; +} + +proc setAttribute11() { + setAttr ".dither" yes; +} + +proc setAttribute12() { + setAttr ".field" 0; +} + +proc setAttribute13() { + setAttr ".gamma" 1; +} + +proc setAttribute14() { + setAttr ".colorclip" 2; +} + +proc setAttribute15() { + setAttr ".contourEnable" no; +} + +proc setAttribute16() { + setAttr ".contourSamples" 1; +} + +proc setAttribute17() { + setAttr ".contourFilter" 0; +} + +proc setAttribute18() { + setAttr ".contourFilterSupport" 1; +} + +proc setAttribute19() { + setAttr ".contourClearImage" no; +} + +proc setAttribute20() { + setAttr ".contourClearColor" -type "float3" 0 0 0 ; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); diff --git a/2009-x64/presets/mentalrayFramebufferPreset_bathroomMR3.mel b/2009-x64/presets/mentalrayFramebufferPreset_bathroomMR3.mel new file mode 100644 index 0000000..8093c64 --- /dev/null +++ b/2009-x64/presets/mentalrayFramebufferPreset_bathroomMR3.mel @@ -0,0 +1,104 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".datatype" 15; +} + +proc setAttribute6() { +} + +proc setAttribute7() { + setAttr ".interpolateSamples" yes; +} + +proc setAttribute8() { +} + +proc setAttribute9() { + setAttr ".desaturate" no; +} + +proc setAttribute10() { + setAttr ".premultiply" yes; +} + +proc setAttribute11() { + setAttr ".dither" yes; +} + +proc setAttribute12() { + setAttr ".field" 0; +} + +proc setAttribute13() { + setAttr ".gamma" 1; +} + +proc setAttribute14() { + setAttr ".colorclip" 2; +} + +proc setAttribute15() { + setAttr ".contourEnable" no; +} + +proc setAttribute16() { + setAttr ".contourSamples" 1; +} + +proc setAttribute17() { + setAttr ".contourFilter" 0; +} + +proc setAttribute18() { + setAttr ".contourFilterSupport" 1; +} + +proc setAttribute19() { + setAttr ".contourClearImage" no; +} + +proc setAttribute20() { + setAttr ".contourClearColor" -type "float3" 0 0 0 ; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); diff --git a/2009-x64/presets/mentalrayFramebufferPreset_bathroomMRFinal2.mel b/2009-x64/presets/mentalrayFramebufferPreset_bathroomMRFinal2.mel new file mode 100644 index 0000000..352285b --- /dev/null +++ b/2009-x64/presets/mentalrayFramebufferPreset_bathroomMRFinal2.mel @@ -0,0 +1,104 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".datatype" 2; +} + +proc setAttribute6() { +} + +proc setAttribute7() { + setAttr ".interpolateSamples" yes; +} + +proc setAttribute8() { +} + +proc setAttribute9() { + setAttr ".desaturate" no; +} + +proc setAttribute10() { + setAttr ".premultiply" yes; +} + +proc setAttribute11() { + setAttr ".dither" yes; +} + +proc setAttribute12() { + setAttr ".field" 0; +} + +proc setAttribute13() { + setAttr ".gamma" 1; +} + +proc setAttribute14() { + setAttr ".colorclip" 2; +} + +proc setAttribute15() { + setAttr ".contourEnable" no; +} + +proc setAttribute16() { + setAttr ".contourSamples" 1; +} + +proc setAttribute17() { + setAttr ".contourFilter" 0; +} + +proc setAttribute18() { + setAttr ".contourFilterSupport" 1; +} + +proc setAttribute19() { + setAttr ".contourClearImage" no; +} + +proc setAttribute20() { + setAttr ".contourClearColor" -type "float3" 0 0 0 ; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); diff --git a/2009-x64/presets/mentalrayGlobalsPreset_HallwayFinalRender.mel b/2009-x64/presets/mentalrayGlobalsPreset_HallwayFinalRender.mel new file mode 100644 index 0000000..6f868e9 --- /dev/null +++ b/2009-x64/presets/mentalrayGlobalsPreset_HallwayFinalRender.mel @@ -0,0 +1,567 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".versions" -type "string" ""; +} + +proc setAttribute6() { + setAttr ".links" -type "string" ""; +} + +proc setAttribute7() { + setAttr ".includes" -type "string" ""; +} + +proc setAttribute8() { + setAttr ".useRenderRegions" no; +} + +proc setAttribute9() { + setAttr ".renderMode" 0; +} + +proc setAttribute10() { + setAttr ".renderThreads" 4; +} + +proc setAttribute11() { + setAttr ".renderVerbosity" 3; +} + +proc setAttribute12() { + setAttr ".inheritVerbosity" no; +} + +proc setAttribute13() { + setAttr ".topRegion" 256; +} + +proc setAttribute14() { + setAttr ".bottomRegion" 0; +} + +proc setAttribute15() { + setAttr ".leftRegion" 0; +} + +proc setAttribute16() { + setAttr ".rightRegion" 256; +} + +proc setAttribute17() { + setAttr ".shadowsObeyLightLinking" yes; +} + +proc setAttribute18() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute19() { + setAttr ".photonsObeyLightLinking" no; +} + +proc setAttribute20() { + setAttr ".renderShadersWithFiltering" yes; +} + +proc setAttribute21() { + setAttr ".defaultFilterSize" 9.9999997473787516e-005; +} + +proc setAttribute22() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute23() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute24() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute25() { + setAttr ".useFrameExt" no; +} + +proc setAttribute26() { + setAttr ".accelerationMethod" 0; +} + +proc setAttribute27() { + setAttr ".bspSize" 10; +} + +proc setAttribute28() { + setAttr ".bspDepth" 40; +} + +proc setAttribute29() { + setAttr ".bspShadow" no; +} + +proc setAttribute30() { + setAttr ".gridResolution" 2; +} + +proc setAttribute31() { + setAttr ".gridAuto" yes; +} + +proc setAttribute32() { + setAttr ".gridMaxSize" 128; +} + +proc setAttribute33() { + setAttr ".gridDepth" 2; +} + +proc setAttribute34() { + setAttr ".tabWidth" 4; +} + +proc setAttribute35() { + setAttr ".exportUsingApi" no; +} + +proc setAttribute36() { + setAttr ".exportBinary" no; +} + +proc setAttribute37() { + setAttr ".exportVerbosity" 3; +} + +proc setAttribute38() { + setAttr ".exportMessages" yes; +} + +proc setAttribute39() { + setAttr ".exportExactHierarchy" no; +} + +proc setAttribute40() { + setAttr ".exportVisibleOnly" yes; +} + +proc setAttribute41() { + setAttr ".exportAssignedOnly" yes; +} + +proc setAttribute42() { + setAttr ".exportFullDagpath" no; +} + +proc setAttribute43() { + setAttr ".exportShapeDeformation" yes; +} + +proc setAttribute44() { + setAttr ".exportObjectsOnDemand" no; +} + +proc setAttribute45() { + setAttr ".exportPlaceholderSize" 0; +} + +proc setAttribute46() { + setAttr ".exportTexturesFirst" no; +} + +proc setAttribute47() { + setAttr ".exportIgnoreErrors" no; +} + +proc setAttribute48() { + setAttr ".exportStateShader" yes; +} + +proc setAttribute49() { + setAttr ".exportLightLinker" no; +} + +proc setAttribute50() { + setAttr ".exportShadowLinker" no; +} + +proc setAttribute51() { + setAttr ".exportInstanceLights" yes; +} + +proc setAttribute52() { + setAttr ".exportInstanceShadows" yes; +} + +proc setAttribute53() { + setAttr ".exportMayaOptions" yes; +} + +proc setAttribute54() { + setAttr ".exportStartupFile" no; +} + +proc setAttribute55() { + setAttr ".exportPolygonDerivatives" yes; +} + +proc setAttribute56() { + setAttr ".mayaDerivatives" no; +} + +proc setAttribute57() { + setAttr ".smoothPolygonDerivatives" no; +} + +proc setAttribute58() { + setAttr ".exportNurbsDerivatives" yes; +} + +proc setAttribute59() { + setAttr ".exportSubdivDerivatives" yes; +} + +proc setAttribute60() { + setAttr ".exportSharedVertices" yes; +} + +proc setAttribute61() { + setAttr ".exportTriangles" yes; +} + +proc setAttribute62() { + setAttr ".exportParticles" yes; +} + +proc setAttribute63() { + setAttr ".exportParticleInstances" yes; +} + +proc setAttribute64() { + setAttr ".exportFluids" yes; +} + +proc setAttribute65() { + setAttr ".exportHair" 2; +} + +proc setAttribute66() { + setAttr ".exportPostEffects" yes; +} + +proc setAttribute67() { + setAttr ".exportVertexColors" no; +} + +proc setAttribute68() { + setAttr ".optimizeAnimateDetection" yes; +} + +proc setAttribute69() { + setAttr ".optimizeVisibleDetection" yes; +} + +proc setAttribute70() { + setAttr ".optimizeRaytraceShadows" yes; +} + +proc setAttribute71() { + setAttr ".shadowEffectsWithPhotons" no; +} + +proc setAttribute72() { + setAttr ".passAlphaThrough" no; +} + +proc setAttribute73() { + setAttr ".passDepthThrough" no; +} + +proc setAttribute74() { + setAttr ".passLabelThrough" no; +} + +proc setAttribute75() { + setAttr ".exportCustom" yes; +} + +proc setAttribute76() { + setAttr ".exportCustomAssigned" yes; +} + +proc setAttribute77() { + setAttr ".exportCustomColors" yes; +} + +proc setAttribute78() { + setAttr ".exportCustomData" yes; +} + +proc setAttribute79() { + setAttr ".exportCustomMotion" no; +} + +proc setAttribute80() { + setAttr ".exportMotionOffset" 0.5; +} + +proc setAttribute81() { + setAttr ".exportMotionOutput" 0; +} + +proc setAttribute82() { + setAttr ".exportMotionCamera" yes; +} + +proc setAttribute83() { + setAttr ".exportMotionSegments" yes; +} + +proc setAttribute84() { + setAttr ".exportCustomVectors" yes; +} + +proc setAttribute85() { + setAttr ".includePath" -type "string" ""; +} + +proc setAttribute86() { + setAttr ".libraryPath" -type "string" ""; +} + +proc setAttribute87() { + setAttr ".texturePath" -type "string" ""; +} + +proc setAttribute88() { + setAttr ".projectPath" -type "string" ""; +} + +proc setAttribute89() { + setAttr ".outputPath" -type "string" "images"; +} + +proc setAttribute90() { + setAttr ".imageFilePath" -type "string" "sourceimages"; +} + +proc setAttribute91() { + setAttr ".shadowMapPath" -type "string" "shadowMap"; +} + +proc setAttribute92() { + setAttr ".photonMapPath" -type "string" "photonMap"; +} + +proc setAttribute93() { + setAttr ".finalgMapPath" -type "string" "finalgMap"; +} + +proc setAttribute94() { + setAttr ".lightMapPath" -type "string" "lightMap"; +} + +proc setAttribute95() { + setAttr ".previewAnimation" no; +} + +proc setAttribute96() { + setAttr ".previewMotionBlur" yes; +} + +proc setAttribute97() { + setAttr ".previewLayerPasses" no; +} + +proc setAttribute98() { + setAttr ".previewFinalGatherTiles" yes; +} + +proc setAttribute99() { + setAttr ".previewCustom" no; +} + +proc setAttribute100() { + setAttr ".previewProgress" yes; +} + +proc setAttribute101() { + setAttr ".previewRenderTiles" yes; +} + +proc setAttribute102() { + setAttr ".previewConvertTiles" yes; +} + +proc setAttribute103() { + setAttr ".previewTonemapTiles" yes; +} + +proc setAttribute104() { + setAttr ".tonemapRangeLow" 0; + setAttr ".tonemapRangeHigh" 1; +} + +proc setAttribute105() { + setAttr ".previewRegion" no; +} + +proc setAttribute106() { + setAttr ".previewTopRegion" 256; +} + +proc setAttribute107() { + setAttr ".previewBottomRegion" 0; +} + +proc setAttribute108() { + setAttr ".previewLeftRegion" 0; +} + +proc setAttribute109() { + setAttr ".previewRightRegion" 256; +} + +proc setAttribute110() { + setAttr ".previewFlags" 0; +} + +proc setAttribute111() { + setAttr ".previewResolutionX" 0; +} + +proc setAttribute112() { + setAttr ".previewResolutionY" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); diff --git a/2009-x64/presets/mentalrayGlobalsPreset_KeyboardPreset.mel b/2009-x64/presets/mentalrayGlobalsPreset_KeyboardPreset.mel new file mode 100644 index 0000000..6f868e9 --- /dev/null +++ b/2009-x64/presets/mentalrayGlobalsPreset_KeyboardPreset.mel @@ -0,0 +1,567 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".versions" -type "string" ""; +} + +proc setAttribute6() { + setAttr ".links" -type "string" ""; +} + +proc setAttribute7() { + setAttr ".includes" -type "string" ""; +} + +proc setAttribute8() { + setAttr ".useRenderRegions" no; +} + +proc setAttribute9() { + setAttr ".renderMode" 0; +} + +proc setAttribute10() { + setAttr ".renderThreads" 4; +} + +proc setAttribute11() { + setAttr ".renderVerbosity" 3; +} + +proc setAttribute12() { + setAttr ".inheritVerbosity" no; +} + +proc setAttribute13() { + setAttr ".topRegion" 256; +} + +proc setAttribute14() { + setAttr ".bottomRegion" 0; +} + +proc setAttribute15() { + setAttr ".leftRegion" 0; +} + +proc setAttribute16() { + setAttr ".rightRegion" 256; +} + +proc setAttribute17() { + setAttr ".shadowsObeyLightLinking" yes; +} + +proc setAttribute18() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute19() { + setAttr ".photonsObeyLightLinking" no; +} + +proc setAttribute20() { + setAttr ".renderShadersWithFiltering" yes; +} + +proc setAttribute21() { + setAttr ".defaultFilterSize" 9.9999997473787516e-005; +} + +proc setAttribute22() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute23() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute24() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute25() { + setAttr ".useFrameExt" no; +} + +proc setAttribute26() { + setAttr ".accelerationMethod" 0; +} + +proc setAttribute27() { + setAttr ".bspSize" 10; +} + +proc setAttribute28() { + setAttr ".bspDepth" 40; +} + +proc setAttribute29() { + setAttr ".bspShadow" no; +} + +proc setAttribute30() { + setAttr ".gridResolution" 2; +} + +proc setAttribute31() { + setAttr ".gridAuto" yes; +} + +proc setAttribute32() { + setAttr ".gridMaxSize" 128; +} + +proc setAttribute33() { + setAttr ".gridDepth" 2; +} + +proc setAttribute34() { + setAttr ".tabWidth" 4; +} + +proc setAttribute35() { + setAttr ".exportUsingApi" no; +} + +proc setAttribute36() { + setAttr ".exportBinary" no; +} + +proc setAttribute37() { + setAttr ".exportVerbosity" 3; +} + +proc setAttribute38() { + setAttr ".exportMessages" yes; +} + +proc setAttribute39() { + setAttr ".exportExactHierarchy" no; +} + +proc setAttribute40() { + setAttr ".exportVisibleOnly" yes; +} + +proc setAttribute41() { + setAttr ".exportAssignedOnly" yes; +} + +proc setAttribute42() { + setAttr ".exportFullDagpath" no; +} + +proc setAttribute43() { + setAttr ".exportShapeDeformation" yes; +} + +proc setAttribute44() { + setAttr ".exportObjectsOnDemand" no; +} + +proc setAttribute45() { + setAttr ".exportPlaceholderSize" 0; +} + +proc setAttribute46() { + setAttr ".exportTexturesFirst" no; +} + +proc setAttribute47() { + setAttr ".exportIgnoreErrors" no; +} + +proc setAttribute48() { + setAttr ".exportStateShader" yes; +} + +proc setAttribute49() { + setAttr ".exportLightLinker" no; +} + +proc setAttribute50() { + setAttr ".exportShadowLinker" no; +} + +proc setAttribute51() { + setAttr ".exportInstanceLights" yes; +} + +proc setAttribute52() { + setAttr ".exportInstanceShadows" yes; +} + +proc setAttribute53() { + setAttr ".exportMayaOptions" yes; +} + +proc setAttribute54() { + setAttr ".exportStartupFile" no; +} + +proc setAttribute55() { + setAttr ".exportPolygonDerivatives" yes; +} + +proc setAttribute56() { + setAttr ".mayaDerivatives" no; +} + +proc setAttribute57() { + setAttr ".smoothPolygonDerivatives" no; +} + +proc setAttribute58() { + setAttr ".exportNurbsDerivatives" yes; +} + +proc setAttribute59() { + setAttr ".exportSubdivDerivatives" yes; +} + +proc setAttribute60() { + setAttr ".exportSharedVertices" yes; +} + +proc setAttribute61() { + setAttr ".exportTriangles" yes; +} + +proc setAttribute62() { + setAttr ".exportParticles" yes; +} + +proc setAttribute63() { + setAttr ".exportParticleInstances" yes; +} + +proc setAttribute64() { + setAttr ".exportFluids" yes; +} + +proc setAttribute65() { + setAttr ".exportHair" 2; +} + +proc setAttribute66() { + setAttr ".exportPostEffects" yes; +} + +proc setAttribute67() { + setAttr ".exportVertexColors" no; +} + +proc setAttribute68() { + setAttr ".optimizeAnimateDetection" yes; +} + +proc setAttribute69() { + setAttr ".optimizeVisibleDetection" yes; +} + +proc setAttribute70() { + setAttr ".optimizeRaytraceShadows" yes; +} + +proc setAttribute71() { + setAttr ".shadowEffectsWithPhotons" no; +} + +proc setAttribute72() { + setAttr ".passAlphaThrough" no; +} + +proc setAttribute73() { + setAttr ".passDepthThrough" no; +} + +proc setAttribute74() { + setAttr ".passLabelThrough" no; +} + +proc setAttribute75() { + setAttr ".exportCustom" yes; +} + +proc setAttribute76() { + setAttr ".exportCustomAssigned" yes; +} + +proc setAttribute77() { + setAttr ".exportCustomColors" yes; +} + +proc setAttribute78() { + setAttr ".exportCustomData" yes; +} + +proc setAttribute79() { + setAttr ".exportCustomMotion" no; +} + +proc setAttribute80() { + setAttr ".exportMotionOffset" 0.5; +} + +proc setAttribute81() { + setAttr ".exportMotionOutput" 0; +} + +proc setAttribute82() { + setAttr ".exportMotionCamera" yes; +} + +proc setAttribute83() { + setAttr ".exportMotionSegments" yes; +} + +proc setAttribute84() { + setAttr ".exportCustomVectors" yes; +} + +proc setAttribute85() { + setAttr ".includePath" -type "string" ""; +} + +proc setAttribute86() { + setAttr ".libraryPath" -type "string" ""; +} + +proc setAttribute87() { + setAttr ".texturePath" -type "string" ""; +} + +proc setAttribute88() { + setAttr ".projectPath" -type "string" ""; +} + +proc setAttribute89() { + setAttr ".outputPath" -type "string" "images"; +} + +proc setAttribute90() { + setAttr ".imageFilePath" -type "string" "sourceimages"; +} + +proc setAttribute91() { + setAttr ".shadowMapPath" -type "string" "shadowMap"; +} + +proc setAttribute92() { + setAttr ".photonMapPath" -type "string" "photonMap"; +} + +proc setAttribute93() { + setAttr ".finalgMapPath" -type "string" "finalgMap"; +} + +proc setAttribute94() { + setAttr ".lightMapPath" -type "string" "lightMap"; +} + +proc setAttribute95() { + setAttr ".previewAnimation" no; +} + +proc setAttribute96() { + setAttr ".previewMotionBlur" yes; +} + +proc setAttribute97() { + setAttr ".previewLayerPasses" no; +} + +proc setAttribute98() { + setAttr ".previewFinalGatherTiles" yes; +} + +proc setAttribute99() { + setAttr ".previewCustom" no; +} + +proc setAttribute100() { + setAttr ".previewProgress" yes; +} + +proc setAttribute101() { + setAttr ".previewRenderTiles" yes; +} + +proc setAttribute102() { + setAttr ".previewConvertTiles" yes; +} + +proc setAttribute103() { + setAttr ".previewTonemapTiles" yes; +} + +proc setAttribute104() { + setAttr ".tonemapRangeLow" 0; + setAttr ".tonemapRangeHigh" 1; +} + +proc setAttribute105() { + setAttr ".previewRegion" no; +} + +proc setAttribute106() { + setAttr ".previewTopRegion" 256; +} + +proc setAttribute107() { + setAttr ".previewBottomRegion" 0; +} + +proc setAttribute108() { + setAttr ".previewLeftRegion" 0; +} + +proc setAttribute109() { + setAttr ".previewRightRegion" 256; +} + +proc setAttribute110() { + setAttr ".previewFlags" 0; +} + +proc setAttribute111() { + setAttr ".previewResolutionX" 0; +} + +proc setAttribute112() { + setAttr ".previewResolutionY" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); diff --git a/2009-x64/presets/mentalrayGlobalsPreset_bathroomMR3.mel b/2009-x64/presets/mentalrayGlobalsPreset_bathroomMR3.mel new file mode 100644 index 0000000..6f868e9 --- /dev/null +++ b/2009-x64/presets/mentalrayGlobalsPreset_bathroomMR3.mel @@ -0,0 +1,567 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".versions" -type "string" ""; +} + +proc setAttribute6() { + setAttr ".links" -type "string" ""; +} + +proc setAttribute7() { + setAttr ".includes" -type "string" ""; +} + +proc setAttribute8() { + setAttr ".useRenderRegions" no; +} + +proc setAttribute9() { + setAttr ".renderMode" 0; +} + +proc setAttribute10() { + setAttr ".renderThreads" 4; +} + +proc setAttribute11() { + setAttr ".renderVerbosity" 3; +} + +proc setAttribute12() { + setAttr ".inheritVerbosity" no; +} + +proc setAttribute13() { + setAttr ".topRegion" 256; +} + +proc setAttribute14() { + setAttr ".bottomRegion" 0; +} + +proc setAttribute15() { + setAttr ".leftRegion" 0; +} + +proc setAttribute16() { + setAttr ".rightRegion" 256; +} + +proc setAttribute17() { + setAttr ".shadowsObeyLightLinking" yes; +} + +proc setAttribute18() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute19() { + setAttr ".photonsObeyLightLinking" no; +} + +proc setAttribute20() { + setAttr ".renderShadersWithFiltering" yes; +} + +proc setAttribute21() { + setAttr ".defaultFilterSize" 9.9999997473787516e-005; +} + +proc setAttribute22() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute23() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute24() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute25() { + setAttr ".useFrameExt" no; +} + +proc setAttribute26() { + setAttr ".accelerationMethod" 0; +} + +proc setAttribute27() { + setAttr ".bspSize" 10; +} + +proc setAttribute28() { + setAttr ".bspDepth" 40; +} + +proc setAttribute29() { + setAttr ".bspShadow" no; +} + +proc setAttribute30() { + setAttr ".gridResolution" 2; +} + +proc setAttribute31() { + setAttr ".gridAuto" yes; +} + +proc setAttribute32() { + setAttr ".gridMaxSize" 128; +} + +proc setAttribute33() { + setAttr ".gridDepth" 2; +} + +proc setAttribute34() { + setAttr ".tabWidth" 4; +} + +proc setAttribute35() { + setAttr ".exportUsingApi" no; +} + +proc setAttribute36() { + setAttr ".exportBinary" no; +} + +proc setAttribute37() { + setAttr ".exportVerbosity" 3; +} + +proc setAttribute38() { + setAttr ".exportMessages" yes; +} + +proc setAttribute39() { + setAttr ".exportExactHierarchy" no; +} + +proc setAttribute40() { + setAttr ".exportVisibleOnly" yes; +} + +proc setAttribute41() { + setAttr ".exportAssignedOnly" yes; +} + +proc setAttribute42() { + setAttr ".exportFullDagpath" no; +} + +proc setAttribute43() { + setAttr ".exportShapeDeformation" yes; +} + +proc setAttribute44() { + setAttr ".exportObjectsOnDemand" no; +} + +proc setAttribute45() { + setAttr ".exportPlaceholderSize" 0; +} + +proc setAttribute46() { + setAttr ".exportTexturesFirst" no; +} + +proc setAttribute47() { + setAttr ".exportIgnoreErrors" no; +} + +proc setAttribute48() { + setAttr ".exportStateShader" yes; +} + +proc setAttribute49() { + setAttr ".exportLightLinker" no; +} + +proc setAttribute50() { + setAttr ".exportShadowLinker" no; +} + +proc setAttribute51() { + setAttr ".exportInstanceLights" yes; +} + +proc setAttribute52() { + setAttr ".exportInstanceShadows" yes; +} + +proc setAttribute53() { + setAttr ".exportMayaOptions" yes; +} + +proc setAttribute54() { + setAttr ".exportStartupFile" no; +} + +proc setAttribute55() { + setAttr ".exportPolygonDerivatives" yes; +} + +proc setAttribute56() { + setAttr ".mayaDerivatives" no; +} + +proc setAttribute57() { + setAttr ".smoothPolygonDerivatives" no; +} + +proc setAttribute58() { + setAttr ".exportNurbsDerivatives" yes; +} + +proc setAttribute59() { + setAttr ".exportSubdivDerivatives" yes; +} + +proc setAttribute60() { + setAttr ".exportSharedVertices" yes; +} + +proc setAttribute61() { + setAttr ".exportTriangles" yes; +} + +proc setAttribute62() { + setAttr ".exportParticles" yes; +} + +proc setAttribute63() { + setAttr ".exportParticleInstances" yes; +} + +proc setAttribute64() { + setAttr ".exportFluids" yes; +} + +proc setAttribute65() { + setAttr ".exportHair" 2; +} + +proc setAttribute66() { + setAttr ".exportPostEffects" yes; +} + +proc setAttribute67() { + setAttr ".exportVertexColors" no; +} + +proc setAttribute68() { + setAttr ".optimizeAnimateDetection" yes; +} + +proc setAttribute69() { + setAttr ".optimizeVisibleDetection" yes; +} + +proc setAttribute70() { + setAttr ".optimizeRaytraceShadows" yes; +} + +proc setAttribute71() { + setAttr ".shadowEffectsWithPhotons" no; +} + +proc setAttribute72() { + setAttr ".passAlphaThrough" no; +} + +proc setAttribute73() { + setAttr ".passDepthThrough" no; +} + +proc setAttribute74() { + setAttr ".passLabelThrough" no; +} + +proc setAttribute75() { + setAttr ".exportCustom" yes; +} + +proc setAttribute76() { + setAttr ".exportCustomAssigned" yes; +} + +proc setAttribute77() { + setAttr ".exportCustomColors" yes; +} + +proc setAttribute78() { + setAttr ".exportCustomData" yes; +} + +proc setAttribute79() { + setAttr ".exportCustomMotion" no; +} + +proc setAttribute80() { + setAttr ".exportMotionOffset" 0.5; +} + +proc setAttribute81() { + setAttr ".exportMotionOutput" 0; +} + +proc setAttribute82() { + setAttr ".exportMotionCamera" yes; +} + +proc setAttribute83() { + setAttr ".exportMotionSegments" yes; +} + +proc setAttribute84() { + setAttr ".exportCustomVectors" yes; +} + +proc setAttribute85() { + setAttr ".includePath" -type "string" ""; +} + +proc setAttribute86() { + setAttr ".libraryPath" -type "string" ""; +} + +proc setAttribute87() { + setAttr ".texturePath" -type "string" ""; +} + +proc setAttribute88() { + setAttr ".projectPath" -type "string" ""; +} + +proc setAttribute89() { + setAttr ".outputPath" -type "string" "images"; +} + +proc setAttribute90() { + setAttr ".imageFilePath" -type "string" "sourceimages"; +} + +proc setAttribute91() { + setAttr ".shadowMapPath" -type "string" "shadowMap"; +} + +proc setAttribute92() { + setAttr ".photonMapPath" -type "string" "photonMap"; +} + +proc setAttribute93() { + setAttr ".finalgMapPath" -type "string" "finalgMap"; +} + +proc setAttribute94() { + setAttr ".lightMapPath" -type "string" "lightMap"; +} + +proc setAttribute95() { + setAttr ".previewAnimation" no; +} + +proc setAttribute96() { + setAttr ".previewMotionBlur" yes; +} + +proc setAttribute97() { + setAttr ".previewLayerPasses" no; +} + +proc setAttribute98() { + setAttr ".previewFinalGatherTiles" yes; +} + +proc setAttribute99() { + setAttr ".previewCustom" no; +} + +proc setAttribute100() { + setAttr ".previewProgress" yes; +} + +proc setAttribute101() { + setAttr ".previewRenderTiles" yes; +} + +proc setAttribute102() { + setAttr ".previewConvertTiles" yes; +} + +proc setAttribute103() { + setAttr ".previewTonemapTiles" yes; +} + +proc setAttribute104() { + setAttr ".tonemapRangeLow" 0; + setAttr ".tonemapRangeHigh" 1; +} + +proc setAttribute105() { + setAttr ".previewRegion" no; +} + +proc setAttribute106() { + setAttr ".previewTopRegion" 256; +} + +proc setAttribute107() { + setAttr ".previewBottomRegion" 0; +} + +proc setAttribute108() { + setAttr ".previewLeftRegion" 0; +} + +proc setAttribute109() { + setAttr ".previewRightRegion" 256; +} + +proc setAttribute110() { + setAttr ".previewFlags" 0; +} + +proc setAttribute111() { + setAttr ".previewResolutionX" 0; +} + +proc setAttribute112() { + setAttr ".previewResolutionY" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); diff --git a/2009-x64/presets/mentalrayGlobalsPreset_bathroomMRFinal2.mel b/2009-x64/presets/mentalrayGlobalsPreset_bathroomMRFinal2.mel new file mode 100644 index 0000000..6f868e9 --- /dev/null +++ b/2009-x64/presets/mentalrayGlobalsPreset_bathroomMRFinal2.mel @@ -0,0 +1,567 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".versions" -type "string" ""; +} + +proc setAttribute6() { + setAttr ".links" -type "string" ""; +} + +proc setAttribute7() { + setAttr ".includes" -type "string" ""; +} + +proc setAttribute8() { + setAttr ".useRenderRegions" no; +} + +proc setAttribute9() { + setAttr ".renderMode" 0; +} + +proc setAttribute10() { + setAttr ".renderThreads" 4; +} + +proc setAttribute11() { + setAttr ".renderVerbosity" 3; +} + +proc setAttribute12() { + setAttr ".inheritVerbosity" no; +} + +proc setAttribute13() { + setAttr ".topRegion" 256; +} + +proc setAttribute14() { + setAttr ".bottomRegion" 0; +} + +proc setAttribute15() { + setAttr ".leftRegion" 0; +} + +proc setAttribute16() { + setAttr ".rightRegion" 256; +} + +proc setAttribute17() { + setAttr ".shadowsObeyLightLinking" yes; +} + +proc setAttribute18() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute19() { + setAttr ".photonsObeyLightLinking" no; +} + +proc setAttribute20() { + setAttr ".renderShadersWithFiltering" yes; +} + +proc setAttribute21() { + setAttr ".defaultFilterSize" 9.9999997473787516e-005; +} + +proc setAttribute22() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute23() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute24() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute25() { + setAttr ".useFrameExt" no; +} + +proc setAttribute26() { + setAttr ".accelerationMethod" 0; +} + +proc setAttribute27() { + setAttr ".bspSize" 10; +} + +proc setAttribute28() { + setAttr ".bspDepth" 40; +} + +proc setAttribute29() { + setAttr ".bspShadow" no; +} + +proc setAttribute30() { + setAttr ".gridResolution" 2; +} + +proc setAttribute31() { + setAttr ".gridAuto" yes; +} + +proc setAttribute32() { + setAttr ".gridMaxSize" 128; +} + +proc setAttribute33() { + setAttr ".gridDepth" 2; +} + +proc setAttribute34() { + setAttr ".tabWidth" 4; +} + +proc setAttribute35() { + setAttr ".exportUsingApi" no; +} + +proc setAttribute36() { + setAttr ".exportBinary" no; +} + +proc setAttribute37() { + setAttr ".exportVerbosity" 3; +} + +proc setAttribute38() { + setAttr ".exportMessages" yes; +} + +proc setAttribute39() { + setAttr ".exportExactHierarchy" no; +} + +proc setAttribute40() { + setAttr ".exportVisibleOnly" yes; +} + +proc setAttribute41() { + setAttr ".exportAssignedOnly" yes; +} + +proc setAttribute42() { + setAttr ".exportFullDagpath" no; +} + +proc setAttribute43() { + setAttr ".exportShapeDeformation" yes; +} + +proc setAttribute44() { + setAttr ".exportObjectsOnDemand" no; +} + +proc setAttribute45() { + setAttr ".exportPlaceholderSize" 0; +} + +proc setAttribute46() { + setAttr ".exportTexturesFirst" no; +} + +proc setAttribute47() { + setAttr ".exportIgnoreErrors" no; +} + +proc setAttribute48() { + setAttr ".exportStateShader" yes; +} + +proc setAttribute49() { + setAttr ".exportLightLinker" no; +} + +proc setAttribute50() { + setAttr ".exportShadowLinker" no; +} + +proc setAttribute51() { + setAttr ".exportInstanceLights" yes; +} + +proc setAttribute52() { + setAttr ".exportInstanceShadows" yes; +} + +proc setAttribute53() { + setAttr ".exportMayaOptions" yes; +} + +proc setAttribute54() { + setAttr ".exportStartupFile" no; +} + +proc setAttribute55() { + setAttr ".exportPolygonDerivatives" yes; +} + +proc setAttribute56() { + setAttr ".mayaDerivatives" no; +} + +proc setAttribute57() { + setAttr ".smoothPolygonDerivatives" no; +} + +proc setAttribute58() { + setAttr ".exportNurbsDerivatives" yes; +} + +proc setAttribute59() { + setAttr ".exportSubdivDerivatives" yes; +} + +proc setAttribute60() { + setAttr ".exportSharedVertices" yes; +} + +proc setAttribute61() { + setAttr ".exportTriangles" yes; +} + +proc setAttribute62() { + setAttr ".exportParticles" yes; +} + +proc setAttribute63() { + setAttr ".exportParticleInstances" yes; +} + +proc setAttribute64() { + setAttr ".exportFluids" yes; +} + +proc setAttribute65() { + setAttr ".exportHair" 2; +} + +proc setAttribute66() { + setAttr ".exportPostEffects" yes; +} + +proc setAttribute67() { + setAttr ".exportVertexColors" no; +} + +proc setAttribute68() { + setAttr ".optimizeAnimateDetection" yes; +} + +proc setAttribute69() { + setAttr ".optimizeVisibleDetection" yes; +} + +proc setAttribute70() { + setAttr ".optimizeRaytraceShadows" yes; +} + +proc setAttribute71() { + setAttr ".shadowEffectsWithPhotons" no; +} + +proc setAttribute72() { + setAttr ".passAlphaThrough" no; +} + +proc setAttribute73() { + setAttr ".passDepthThrough" no; +} + +proc setAttribute74() { + setAttr ".passLabelThrough" no; +} + +proc setAttribute75() { + setAttr ".exportCustom" yes; +} + +proc setAttribute76() { + setAttr ".exportCustomAssigned" yes; +} + +proc setAttribute77() { + setAttr ".exportCustomColors" yes; +} + +proc setAttribute78() { + setAttr ".exportCustomData" yes; +} + +proc setAttribute79() { + setAttr ".exportCustomMotion" no; +} + +proc setAttribute80() { + setAttr ".exportMotionOffset" 0.5; +} + +proc setAttribute81() { + setAttr ".exportMotionOutput" 0; +} + +proc setAttribute82() { + setAttr ".exportMotionCamera" yes; +} + +proc setAttribute83() { + setAttr ".exportMotionSegments" yes; +} + +proc setAttribute84() { + setAttr ".exportCustomVectors" yes; +} + +proc setAttribute85() { + setAttr ".includePath" -type "string" ""; +} + +proc setAttribute86() { + setAttr ".libraryPath" -type "string" ""; +} + +proc setAttribute87() { + setAttr ".texturePath" -type "string" ""; +} + +proc setAttribute88() { + setAttr ".projectPath" -type "string" ""; +} + +proc setAttribute89() { + setAttr ".outputPath" -type "string" "images"; +} + +proc setAttribute90() { + setAttr ".imageFilePath" -type "string" "sourceimages"; +} + +proc setAttribute91() { + setAttr ".shadowMapPath" -type "string" "shadowMap"; +} + +proc setAttribute92() { + setAttr ".photonMapPath" -type "string" "photonMap"; +} + +proc setAttribute93() { + setAttr ".finalgMapPath" -type "string" "finalgMap"; +} + +proc setAttribute94() { + setAttr ".lightMapPath" -type "string" "lightMap"; +} + +proc setAttribute95() { + setAttr ".previewAnimation" no; +} + +proc setAttribute96() { + setAttr ".previewMotionBlur" yes; +} + +proc setAttribute97() { + setAttr ".previewLayerPasses" no; +} + +proc setAttribute98() { + setAttr ".previewFinalGatherTiles" yes; +} + +proc setAttribute99() { + setAttr ".previewCustom" no; +} + +proc setAttribute100() { + setAttr ".previewProgress" yes; +} + +proc setAttribute101() { + setAttr ".previewRenderTiles" yes; +} + +proc setAttribute102() { + setAttr ".previewConvertTiles" yes; +} + +proc setAttribute103() { + setAttr ".previewTonemapTiles" yes; +} + +proc setAttribute104() { + setAttr ".tonemapRangeLow" 0; + setAttr ".tonemapRangeHigh" 1; +} + +proc setAttribute105() { + setAttr ".previewRegion" no; +} + +proc setAttribute106() { + setAttr ".previewTopRegion" 256; +} + +proc setAttribute107() { + setAttr ".previewBottomRegion" 0; +} + +proc setAttribute108() { + setAttr ".previewLeftRegion" 0; +} + +proc setAttribute109() { + setAttr ".previewRightRegion" 256; +} + +proc setAttribute110() { + setAttr ".previewFlags" 0; +} + +proc setAttribute111() { + setAttr ".previewResolutionX" 0; +} + +proc setAttribute112() { + setAttr ".previewResolutionY" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); diff --git a/2009-x64/presets/mentalrayOptionsPreset_HallwayFinalRender.mel b/2009-x64/presets/mentalrayOptionsPreset_HallwayFinalRender.mel new file mode 100644 index 0000000..227ae42 --- /dev/null +++ b/2009-x64/presets/mentalrayOptionsPreset_HallwayFinalRender.mel @@ -0,0 +1,824 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".contrastR" 0.10000000149011612; +} + +proc setAttribute6() { + setAttr ".contrastG" 0.10000000149011612; +} + +proc setAttribute7() { + setAttr ".contrastB" 0.10000000149011612; +} + +proc setAttribute8() { + setAttr ".contrastA" 0.10000000149011612; +} + +proc setAttribute9() { + setAttr ".sampleLock" yes; +} + +proc setAttribute10() { + setAttr ".minSamples" -2; +} + +proc setAttribute11() { + setAttr ".maxSamples" 0; +} + +proc setAttribute12() { + setAttr ".minObjectSamples" -128; +} + +proc setAttribute13() { + setAttr ".maxObjectSamples" 127; +} + +proc setAttribute14() { + setAttr ".filter" 0; +} + +proc setAttribute15() { + setAttr ".filterWidth" 1; +} + +proc setAttribute16() { + setAttr ".filterHeight" 1; +} + +proc setAttribute17() { + setAttr ".jitter" yes; +} + +proc setAttribute18() { + setAttr ".scanline" 1; +} + +proc setAttribute19() { + setAttr ".rapidSamplesCollect" 0; +} + +proc setAttribute20() { + setAttr ".rapidSamplesMotion" 1; +} + +proc setAttribute21() { + setAttr ".rapidSamplesShading" 1; +} + +proc setAttribute22() { + setAttr ".rayTracing" yes; +} + +proc setAttribute23() { + setAttr ".maxReflectionRays" 1; +} + +proc setAttribute24() { + setAttr ".maxRefractionRays" 1; +} + +proc setAttribute25() { + setAttr ".maxRayDepth" 2; +} + +proc setAttribute26() { + setAttr ".maxReflectionBlur" 1; +} + +proc setAttribute27() { + setAttr ".maxRefractionBlur" 1; +} + +proc setAttribute28() { + setAttr ".maxShadowRayDepth" 6; +} + +proc setAttribute29() { + setAttr ".shadowMethod" 0; +} + +proc setAttribute30() { + setAttr ".shadowMaps" 1; +} + +proc setAttribute31() { + setAttr ".rebuildShadowMaps" 1; +} + +proc setAttribute32() { + setAttr ".motionBlurShadowMaps" yes; +} + +proc setAttribute33() { + setAttr ".traceShadowMaps" no; +} + +proc setAttribute34() { + setAttr ".windowShadowMaps" no; +} + +proc setAttribute35() { + setAttr ".biasShadowMaps" 0; +} + +proc setAttribute36() { + setAttr ".motionBlur" 0; +} + +proc setAttribute37() { + setAttr ".motionBlurBy" 1; +} + +proc setAttribute38() { + setAttr ".motionSteps" 1; +} + +proc setAttribute39() { + setAttr ".shutter" 1; +} + +proc setAttribute40() { + setAttr ".shutterDelay" 0; +} + +proc setAttribute41() { + setAttr ".timeContrastR" 0.20000000298023224; +} + +proc setAttribute42() { + setAttr ".timeContrastG" 0.20000000298023224; +} + +proc setAttribute43() { + setAttr ".timeContrastB" 0.20000000298023224; +} + +proc setAttribute44() { + setAttr ".timeContrastA" 0.20000000298023224; +} + +proc setAttribute45() { + setAttr ".caustics" yes; +} + +proc setAttribute46() { + setAttr ".causticsGenerating" 0; +} + +proc setAttribute47() { + setAttr ".causticsReceiving" 0; +} + +proc setAttribute48() { + setAttr ".causticFilterType" 0; +} + +proc setAttribute49() { + setAttr ".causticFilterKernel" 1.1000000238418579; +} + +proc setAttribute50() { + setAttr ".causticAccuracy" 100; +} + +proc setAttribute51() { + setAttr ".causticRadius" 0; +} + +proc setAttribute52() { + setAttr ".causticAutoRadius" no; +} + +proc setAttribute53() { + setAttr ".causticScaleA" 1; +} + +proc setAttribute54() { + setAttr ".causticScale" -type "float3" 1 1 1 ; +} + +proc setAttribute55() { + setAttr ".causticMerge" 0; +} + +proc setAttribute56() { + setAttr ".photonVolumeAccuracy" 30; +} + +proc setAttribute57() { + setAttr ".photonVolumeRadius" 0; +} + +proc setAttribute58() { + setAttr ".photonVolumeAutoRadius" no; +} + +proc setAttribute59() { + setAttr ".photonAutoVolume" no; +} + +proc setAttribute60() { + setAttr ".photonVolumeScaleA" 1; +} + +proc setAttribute61() { + setAttr ".photonVolumeScale" -type "float3" 1 1 1 ; +} + +proc setAttribute62() { + setAttr ".photonVolumeMerge" 0; +} + +proc setAttribute63() { + setAttr ".maxReflectionPhotons" 5; +} + +proc setAttribute64() { + setAttr ".maxRefractionPhotons" 5; +} + +proc setAttribute65() { + setAttr ".maxPhotonDepth" 5; +} + +proc setAttribute66() { + setAttr ".photonDepthAuto" no; +} + +proc setAttribute67() { + setAttr ".photonMapFilename" -type "string" "default.pmap"; +} + +proc setAttribute68() { + setAttr ".photonMapVisualizer" yes; +} + +proc setAttribute69() { + setAttr ".photonMapRebuild" yes; +} + +proc setAttribute70() { + setAttr ".globalIllum" yes; +} + +proc setAttribute71() { + setAttr ".globalIllumGenerating" 0; +} + +proc setAttribute72() { + setAttr ".globalIllumReceiving" 0; +} + +proc setAttribute73() { + setAttr ".globalIllumAccuracy" 500; +} + +proc setAttribute74() { + setAttr ".globalIllumRadius" 0; +} + +proc setAttribute75() { + setAttr ".globalIllumAutoRadius" no; +} + +proc setAttribute76() { + setAttr ".globalIllumScaleA" 1; +} + +proc setAttribute77() { + setAttr ".globalIllumScale" -type "float3" 1 1 1 ; +} + +proc setAttribute78() { + setAttr ".globalIllumMerge" 0; +} + +proc setAttribute79() { + setAttr ".finalGather" yes; +} + +proc setAttribute80() { + setAttr ".finalGatherFast" no; +} + +proc setAttribute81() { + setAttr ".finalGatherRays" 100; +} + +proc setAttribute82() { + setAttr ".finalGatherMode" 2; +} + +proc setAttribute83() { + setAttr ".finalGatherMinRadius" 0; +} + +proc setAttribute84() { + setAttr ".finalGatherMaxRadius" 0; +} + +proc setAttribute85() { + setAttr ".finalGatherAutoRadius" no; +} + +proc setAttribute86() { + setAttr ".finalGatherView" no; +} + +proc setAttribute87() { + setAttr ".finalGatherPoints" 10; +} + +proc setAttribute88() { + setAttr ".finalGatherScaleA" 1; +} + +proc setAttribute89() { + setAttr ".finalGatherScale" -type "float3" 1 1 1 ; +} + +proc setAttribute90() { + setAttr ".finalGatherPresampleDensity" 1; +} + +proc setAttribute91() { + setAttr ".finalGatherFilename" -type "string" "default.fgmap"; +} + +proc setAttribute92() { +} + +proc setAttribute93() { + setAttr ".finalGatherMapVisualizer" no; +} + +proc setAttribute94() { + setAttr ".finalGatherRebuild" 1; +} + +proc setAttribute95() { + setAttr ".finalGatherFilter" 1; +} + +proc setAttribute96() { + setAttr ".finalGatherFalloffStart" 0; +} + +proc setAttribute97() { + setAttr ".finalGatherFalloffStop" 0; +} + +proc setAttribute98() { + setAttr ".finalGatherTraceDiffuse" 0; +} + +proc setAttribute99() { + setAttr ".finalGatherTraceReflection" 1; +} + +proc setAttribute100() { + setAttr ".finalGatherTraceRefraction" 1; +} + +proc setAttribute101() { + setAttr ".finalGatherTraceDepth" 2; +} + +proc setAttribute102() { + setAttr ".finalGatherBounceScaleA" 1; +} + +proc setAttribute103() { + setAttr ".finalGatherBounceScale" -type "float3" 1 1 1 ; +} + +proc setAttribute104() { + setAttr ".finalGatherImportance" -1; +} + +proc setAttribute105() { + setAttr ".finalGatherContrastA" 1; +} + +proc setAttribute106() { + setAttr ".finalGatherContrast" -type "float3" 1 1 1 ; +} + +proc setAttribute107() { + setAttr ".diagnoseGrid" 0; +} + +proc setAttribute108() { + setAttr ".diagnoseGridSize" 1; +} + +proc setAttribute109() { + setAttr ".diagnoseSamples" no; +} + +proc setAttribute110() { + setAttr ".diagnosePhoton" 0; +} + +proc setAttribute111() { + setAttr ".diagnosePhotonDensity" 0; +} + +proc setAttribute112() { + setAttr ".diagnoseBsp" 0; +} + +proc setAttribute113() { + setAttr ".diagnoseFinalg" no; +} + +proc setAttribute114() { + setAttr ".lightMaps" yes; +} + +proc setAttribute115() { + setAttr ".lightMapsNetwork" yes; +} + +proc setAttribute116() { + setAttr ".lensShaders" yes; +} + +proc setAttribute117() { + setAttr ".volumeShaders" yes; +} + +proc setAttribute118() { + setAttr ".geometryShaders" yes; +} + +proc setAttribute119() { + setAttr ".outputShaders" yes; +} + +proc setAttribute120() { + setAttr ".mergeSurfaces" yes; +} + +proc setAttribute121() { + setAttr ".autoVolume" yes; +} + +proc setAttribute122() { + setAttr ".renderHair" yes; +} + +proc setAttribute123() { + setAttr ".renderPasses" yes; +} + +proc setAttribute124() { + setAttr ".lightmapRender" yes; +} + +proc setAttribute125() { + setAttr ".displacementShaders" yes; +} + +proc setAttribute126() { + setAttr ".displacePresample" yes; +} + +proc setAttribute127() { + setAttr ".maxDisplace" 0; +} + +proc setAttribute128() { + setAttr ".faces" 2; +} + +proc setAttribute129() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute130() { + setAttr ".luminance" -type "float3" 0 0 0 ; +} + +proc setAttribute131() { + setAttr ".hardware" 0; +} + +proc setAttribute132() { + setAttr ".hardwareCg" yes; +} + +proc setAttribute133() { + setAttr ".hardwareGL" yes; +} + +proc setAttribute134() { + setAttr ".hardwareFast" yes; +} + +proc setAttribute135() { + setAttr ".hardwareForce" no; +} + +proc setAttribute136() { + setAttr ".userFrameBuffer0Mode" 0; + setAttr ".userFrameBuffer0Type" 2; +} + +proc setAttribute137() { + setAttr ".userFrameBuffer1Mode" 0; + setAttr ".userFrameBuffer1Type" 2; +} + +proc setAttribute138() { + setAttr ".userFrameBuffer2Mode" 0; + setAttr ".userFrameBuffer2Type" 2; +} + +proc setAttribute139() { + setAttr ".userFrameBuffer3Mode" 0; + setAttr ".userFrameBuffer3Type" 2; +} + +proc setAttribute140() { + setAttr ".userFrameBuffer4Mode" 0; + setAttr ".userFrameBuffer4Type" 2; +} + +proc setAttribute141() { + setAttr ".userFrameBuffer5Mode" 0; + setAttr ".userFrameBuffer5Type" 2; +} + +proc setAttribute142() { + setAttr ".userFrameBuffer6Mode" 0; + setAttr ".userFrameBuffer6Type" 2; +} + +proc setAttribute143() { + setAttr ".userFrameBuffer7Mode" 0; + setAttr ".userFrameBuffer7Type" 2; +} + +proc setAttribute144() { + setAttr ".contourBackground" no; +} + +proc setAttribute145() { + setAttr ".enableContourColor" yes; +} + +proc setAttribute146() { + setAttr ".contourColor" -type "float3" 0 0 0 ; +} + +proc setAttribute147() { + setAttr ".contourPriIdx" no; +} + +proc setAttribute148() { + setAttr ".contourPriData" no; +} + +proc setAttribute149() { + setAttr ".contourInstance" no; +} + +proc setAttribute150() { + setAttr ".contourMaterial" no; +} + +proc setAttribute151() { + setAttr ".contourLabel" no; +} + +proc setAttribute152() { + setAttr ".enableContourDist" yes; +} + +proc setAttribute153() { + setAttr ".contourDist" 0; +} + +proc setAttribute154() { + setAttr ".enableContourDepth" yes; +} + +proc setAttribute155() { + setAttr ".contourDepth" 0; +} + +proc setAttribute156() { + setAttr ".enableContourNormal" yes; +} + +proc setAttribute157() { + setAttr ".contourNormal" 0; +} + +proc setAttribute158() { + setAttr ".contourNormalGeom" no; +} + +proc setAttribute159() { + setAttr ".contourInvNormal" no; +} + +proc setAttribute160() { + setAttr ".enableContourTexUV" yes; +} + +proc setAttribute161() { + setAttr ".contourTexU" 0; + setAttr ".contourTexV" 0; +} + +proc setAttribute162() { + setAttr ".description" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); +catch(setAttribute113()); +catch(setAttribute114()); +catch(setAttribute115()); +catch(setAttribute116()); +catch(setAttribute117()); +catch(setAttribute118()); +catch(setAttribute119()); +catch(setAttribute120()); +catch(setAttribute121()); +catch(setAttribute122()); +catch(setAttribute123()); +catch(setAttribute124()); +catch(setAttribute125()); +catch(setAttribute126()); +catch(setAttribute127()); +catch(setAttribute128()); +catch(setAttribute129()); +catch(setAttribute130()); +catch(setAttribute131()); +catch(setAttribute132()); +catch(setAttribute133()); +catch(setAttribute134()); +catch(setAttribute135()); +catch(setAttribute136()); +catch(setAttribute137()); +catch(setAttribute138()); +catch(setAttribute139()); +catch(setAttribute140()); +catch(setAttribute141()); +catch(setAttribute142()); +catch(setAttribute143()); +catch(setAttribute144()); +catch(setAttribute145()); +catch(setAttribute146()); +catch(setAttribute147()); +catch(setAttribute148()); +catch(setAttribute149()); +catch(setAttribute150()); +catch(setAttribute151()); +catch(setAttribute152()); +catch(setAttribute153()); +catch(setAttribute154()); +catch(setAttribute155()); +catch(setAttribute156()); +catch(setAttribute157()); +catch(setAttribute158()); +catch(setAttribute159()); +catch(setAttribute160()); +catch(setAttribute161()); +catch(setAttribute162()); diff --git a/2009-x64/presets/mentalrayOptionsPreset_KeyboardPreset.mel b/2009-x64/presets/mentalrayOptionsPreset_KeyboardPreset.mel new file mode 100644 index 0000000..8dd5869 --- /dev/null +++ b/2009-x64/presets/mentalrayOptionsPreset_KeyboardPreset.mel @@ -0,0 +1,824 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".contrastR" 0.019999999552965164; +} + +proc setAttribute6() { + setAttr ".contrastG" 0.019999999552965164; +} + +proc setAttribute7() { + setAttr ".contrastB" 0.019999999552965164; +} + +proc setAttribute8() { + setAttr ".contrastA" 0.10000000149011612; +} + +proc setAttribute9() { + setAttr ".sampleLock" yes; +} + +proc setAttribute10() { + setAttr ".minSamples" 1; +} + +proc setAttribute11() { + setAttr ".maxSamples" 2; +} + +proc setAttribute12() { + setAttr ".minObjectSamples" -128; +} + +proc setAttribute13() { + setAttr ".maxObjectSamples" 127; +} + +proc setAttribute14() { + setAttr ".filter" 1; +} + +proc setAttribute15() { + setAttr ".filterWidth" 0.75; +} + +proc setAttribute16() { + setAttr ".filterHeight" 0.75; +} + +proc setAttribute17() { + setAttr ".jitter" yes; +} + +proc setAttribute18() { + setAttr ".scanline" 0; +} + +proc setAttribute19() { + setAttr ".rapidSamplesCollect" 0; +} + +proc setAttribute20() { + setAttr ".rapidSamplesMotion" 1; +} + +proc setAttribute21() { + setAttr ".rapidSamplesShading" 1; +} + +proc setAttribute22() { + setAttr ".rayTracing" yes; +} + +proc setAttribute23() { + setAttr ".maxReflectionRays" 1; +} + +proc setAttribute24() { + setAttr ".maxRefractionRays" 1; +} + +proc setAttribute25() { + setAttr ".maxRayDepth" 1; +} + +proc setAttribute26() { + setAttr ".maxReflectionBlur" 1; +} + +proc setAttribute27() { + setAttr ".maxRefractionBlur" 1; +} + +proc setAttribute28() { + setAttr ".maxShadowRayDepth" 2; +} + +proc setAttribute29() { + setAttr ".shadowMethod" 1; +} + +proc setAttribute30() { + setAttr ".shadowMaps" 1; +} + +proc setAttribute31() { + setAttr ".rebuildShadowMaps" 0; +} + +proc setAttribute32() { + setAttr ".motionBlurShadowMaps" yes; +} + +proc setAttribute33() { + setAttr ".traceShadowMaps" no; +} + +proc setAttribute34() { + setAttr ".windowShadowMaps" no; +} + +proc setAttribute35() { + setAttr ".biasShadowMaps" 0; +} + +proc setAttribute36() { + setAttr ".motionBlur" 0; +} + +proc setAttribute37() { + setAttr ".motionBlurBy" 1; +} + +proc setAttribute38() { + setAttr ".motionSteps" 1; +} + +proc setAttribute39() { + setAttr ".shutter" 1; +} + +proc setAttribute40() { + setAttr ".shutterDelay" 0; +} + +proc setAttribute41() { + setAttr ".timeContrastR" 0.20000000298023224; +} + +proc setAttribute42() { + setAttr ".timeContrastG" 0.20000000298023224; +} + +proc setAttribute43() { + setAttr ".timeContrastB" 0.20000000298023224; +} + +proc setAttribute44() { + setAttr ".timeContrastA" 0.20000000298023224; +} + +proc setAttribute45() { + setAttr ".caustics" yes; +} + +proc setAttribute46() { + setAttr ".causticsGenerating" 0; +} + +proc setAttribute47() { + setAttr ".causticsReceiving" 0; +} + +proc setAttribute48() { + setAttr ".causticFilterType" 0; +} + +proc setAttribute49() { + setAttr ".causticFilterKernel" 1.1000000238418579; +} + +proc setAttribute50() { + setAttr ".causticAccuracy" 100; +} + +proc setAttribute51() { + setAttr ".causticRadius" 0; +} + +proc setAttribute52() { + setAttr ".causticAutoRadius" no; +} + +proc setAttribute53() { + setAttr ".causticScaleA" 1; +} + +proc setAttribute54() { + setAttr ".causticScale" -type "float3" 1 1 1 ; +} + +proc setAttribute55() { + setAttr ".causticMerge" 0; +} + +proc setAttribute56() { + setAttr ".photonVolumeAccuracy" 30; +} + +proc setAttribute57() { + setAttr ".photonVolumeRadius" 0; +} + +proc setAttribute58() { + setAttr ".photonVolumeAutoRadius" no; +} + +proc setAttribute59() { + setAttr ".photonAutoVolume" no; +} + +proc setAttribute60() { + setAttr ".photonVolumeScaleA" 1; +} + +proc setAttribute61() { + setAttr ".photonVolumeScale" -type "float3" 1 1 1 ; +} + +proc setAttribute62() { + setAttr ".photonVolumeMerge" 0; +} + +proc setAttribute63() { + setAttr ".maxReflectionPhotons" 5; +} + +proc setAttribute64() { + setAttr ".maxRefractionPhotons" 5; +} + +proc setAttribute65() { + setAttr ".maxPhotonDepth" 5; +} + +proc setAttribute66() { + setAttr ".photonDepthAuto" no; +} + +proc setAttribute67() { + setAttr ".photonMapFilename" -type "string" ""; +} + +proc setAttribute68() { + setAttr ".photonMapVisualizer" no; +} + +proc setAttribute69() { + setAttr ".photonMapRebuild" yes; +} + +proc setAttribute70() { + setAttr ".globalIllum" yes; +} + +proc setAttribute71() { + setAttr ".globalIllumGenerating" 0; +} + +proc setAttribute72() { + setAttr ".globalIllumReceiving" 0; +} + +proc setAttribute73() { + setAttr ".globalIllumAccuracy" 500; +} + +proc setAttribute74() { + setAttr ".globalIllumRadius" 0; +} + +proc setAttribute75() { + setAttr ".globalIllumAutoRadius" no; +} + +proc setAttribute76() { + setAttr ".globalIllumScaleA" 1; +} + +proc setAttribute77() { + setAttr ".globalIllumScale" -type "float3" 1 1 1 ; +} + +proc setAttribute78() { + setAttr ".globalIllumMerge" 0; +} + +proc setAttribute79() { + setAttr ".finalGather" yes; +} + +proc setAttribute80() { + setAttr ".finalGatherFast" no; +} + +proc setAttribute81() { + setAttr ".finalGatherRays" 100; +} + +proc setAttribute82() { + setAttr ".finalGatherMode" 2; +} + +proc setAttribute83() { + setAttr ".finalGatherMinRadius" 0; +} + +proc setAttribute84() { + setAttr ".finalGatherMaxRadius" 0; +} + +proc setAttribute85() { + setAttr ".finalGatherAutoRadius" no; +} + +proc setAttribute86() { + setAttr ".finalGatherView" no; +} + +proc setAttribute87() { + setAttr ".finalGatherPoints" 10; +} + +proc setAttribute88() { + setAttr ".finalGatherScaleA" 1; +} + +proc setAttribute89() { + setAttr ".finalGatherScale" -type "float3" 1 1 1 ; +} + +proc setAttribute90() { + setAttr ".finalGatherPresampleDensity" 1; +} + +proc setAttribute91() { + setAttr ".finalGatherFilename" -type "string" ""; +} + +proc setAttribute92() { +} + +proc setAttribute93() { + setAttr ".finalGatherMapVisualizer" no; +} + +proc setAttribute94() { + setAttr ".finalGatherRebuild" 1; +} + +proc setAttribute95() { + setAttr ".finalGatherFilter" 0; +} + +proc setAttribute96() { + setAttr ".finalGatherFalloffStart" 0; +} + +proc setAttribute97() { + setAttr ".finalGatherFalloffStop" 0; +} + +proc setAttribute98() { + setAttr ".finalGatherTraceDiffuse" 0; +} + +proc setAttribute99() { + setAttr ".finalGatherTraceReflection" 1; +} + +proc setAttribute100() { + setAttr ".finalGatherTraceRefraction" 1; +} + +proc setAttribute101() { + setAttr ".finalGatherTraceDepth" 2; +} + +proc setAttribute102() { + setAttr ".finalGatherBounceScaleA" 1; +} + +proc setAttribute103() { + setAttr ".finalGatherBounceScale" -type "float3" 1 1 1 ; +} + +proc setAttribute104() { + setAttr ".finalGatherImportance" -1; +} + +proc setAttribute105() { + setAttr ".finalGatherContrastA" 1; +} + +proc setAttribute106() { + setAttr ".finalGatherContrast" -type "float3" 1 1 1 ; +} + +proc setAttribute107() { + setAttr ".diagnoseGrid" 0; +} + +proc setAttribute108() { + setAttr ".diagnoseGridSize" 1; +} + +proc setAttribute109() { + setAttr ".diagnoseSamples" no; +} + +proc setAttribute110() { + setAttr ".diagnosePhoton" 0; +} + +proc setAttribute111() { + setAttr ".diagnosePhotonDensity" 0; +} + +proc setAttribute112() { + setAttr ".diagnoseBsp" 0; +} + +proc setAttribute113() { + setAttr ".diagnoseFinalg" no; +} + +proc setAttribute114() { + setAttr ".lightMaps" yes; +} + +proc setAttribute115() { + setAttr ".lightMapsNetwork" yes; +} + +proc setAttribute116() { + setAttr ".lensShaders" yes; +} + +proc setAttribute117() { + setAttr ".volumeShaders" yes; +} + +proc setAttribute118() { + setAttr ".geometryShaders" yes; +} + +proc setAttribute119() { + setAttr ".outputShaders" yes; +} + +proc setAttribute120() { + setAttr ".mergeSurfaces" yes; +} + +proc setAttribute121() { + setAttr ".autoVolume" yes; +} + +proc setAttribute122() { + setAttr ".renderHair" yes; +} + +proc setAttribute123() { + setAttr ".renderPasses" yes; +} + +proc setAttribute124() { + setAttr ".lightmapRender" yes; +} + +proc setAttribute125() { + setAttr ".displacementShaders" yes; +} + +proc setAttribute126() { + setAttr ".displacePresample" yes; +} + +proc setAttribute127() { + setAttr ".maxDisplace" 0; +} + +proc setAttribute128() { + setAttr ".faces" 2; +} + +proc setAttribute129() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute130() { + setAttr ".luminance" -type "float3" 0 0 0 ; +} + +proc setAttribute131() { + setAttr ".hardware" 0; +} + +proc setAttribute132() { + setAttr ".hardwareCg" yes; +} + +proc setAttribute133() { + setAttr ".hardwareGL" yes; +} + +proc setAttribute134() { + setAttr ".hardwareFast" yes; +} + +proc setAttribute135() { + setAttr ".hardwareForce" no; +} + +proc setAttribute136() { + setAttr ".userFrameBuffer0Mode" 0; + setAttr ".userFrameBuffer0Type" 2; +} + +proc setAttribute137() { + setAttr ".userFrameBuffer1Mode" 0; + setAttr ".userFrameBuffer1Type" 2; +} + +proc setAttribute138() { + setAttr ".userFrameBuffer2Mode" 0; + setAttr ".userFrameBuffer2Type" 2; +} + +proc setAttribute139() { + setAttr ".userFrameBuffer3Mode" 0; + setAttr ".userFrameBuffer3Type" 2; +} + +proc setAttribute140() { + setAttr ".userFrameBuffer4Mode" 0; + setAttr ".userFrameBuffer4Type" 2; +} + +proc setAttribute141() { + setAttr ".userFrameBuffer5Mode" 0; + setAttr ".userFrameBuffer5Type" 2; +} + +proc setAttribute142() { + setAttr ".userFrameBuffer6Mode" 0; + setAttr ".userFrameBuffer6Type" 2; +} + +proc setAttribute143() { + setAttr ".userFrameBuffer7Mode" 0; + setAttr ".userFrameBuffer7Type" 2; +} + +proc setAttribute144() { + setAttr ".contourBackground" no; +} + +proc setAttribute145() { + setAttr ".enableContourColor" yes; +} + +proc setAttribute146() { + setAttr ".contourColor" -type "float3" 0 0 0 ; +} + +proc setAttribute147() { + setAttr ".contourPriIdx" no; +} + +proc setAttribute148() { + setAttr ".contourPriData" no; +} + +proc setAttribute149() { + setAttr ".contourInstance" no; +} + +proc setAttribute150() { + setAttr ".contourMaterial" no; +} + +proc setAttribute151() { + setAttr ".contourLabel" no; +} + +proc setAttribute152() { + setAttr ".enableContourDist" yes; +} + +proc setAttribute153() { + setAttr ".contourDist" 0; +} + +proc setAttribute154() { + setAttr ".enableContourDepth" yes; +} + +proc setAttribute155() { + setAttr ".contourDepth" 0; +} + +proc setAttribute156() { + setAttr ".enableContourNormal" yes; +} + +proc setAttribute157() { + setAttr ".contourNormal" 0; +} + +proc setAttribute158() { + setAttr ".contourNormalGeom" no; +} + +proc setAttribute159() { + setAttr ".contourInvNormal" no; +} + +proc setAttribute160() { + setAttr ".enableContourTexUV" yes; +} + +proc setAttribute161() { + setAttr ".contourTexU" 0; + setAttr ".contourTexV" 0; +} + +proc setAttribute162() { + setAttr ".description" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); +catch(setAttribute113()); +catch(setAttribute114()); +catch(setAttribute115()); +catch(setAttribute116()); +catch(setAttribute117()); +catch(setAttribute118()); +catch(setAttribute119()); +catch(setAttribute120()); +catch(setAttribute121()); +catch(setAttribute122()); +catch(setAttribute123()); +catch(setAttribute124()); +catch(setAttribute125()); +catch(setAttribute126()); +catch(setAttribute127()); +catch(setAttribute128()); +catch(setAttribute129()); +catch(setAttribute130()); +catch(setAttribute131()); +catch(setAttribute132()); +catch(setAttribute133()); +catch(setAttribute134()); +catch(setAttribute135()); +catch(setAttribute136()); +catch(setAttribute137()); +catch(setAttribute138()); +catch(setAttribute139()); +catch(setAttribute140()); +catch(setAttribute141()); +catch(setAttribute142()); +catch(setAttribute143()); +catch(setAttribute144()); +catch(setAttribute145()); +catch(setAttribute146()); +catch(setAttribute147()); +catch(setAttribute148()); +catch(setAttribute149()); +catch(setAttribute150()); +catch(setAttribute151()); +catch(setAttribute152()); +catch(setAttribute153()); +catch(setAttribute154()); +catch(setAttribute155()); +catch(setAttribute156()); +catch(setAttribute157()); +catch(setAttribute158()); +catch(setAttribute159()); +catch(setAttribute160()); +catch(setAttribute161()); +catch(setAttribute162()); diff --git a/2009-x64/presets/mentalrayOptionsPreset_bathroomMR3.mel b/2009-x64/presets/mentalrayOptionsPreset_bathroomMR3.mel new file mode 100644 index 0000000..2380ff3 --- /dev/null +++ b/2009-x64/presets/mentalrayOptionsPreset_bathroomMR3.mel @@ -0,0 +1,824 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".contrastR" 0.10000000149011612; +} + +proc setAttribute6() { + setAttr ".contrastG" 0.10000000149011612; +} + +proc setAttribute7() { + setAttr ".contrastB" 0.10000000149011612; +} + +proc setAttribute8() { + setAttr ".contrastA" 0.10000000149011612; +} + +proc setAttribute9() { + setAttr ".sampleLock" yes; +} + +proc setAttribute10() { + setAttr ".minSamples" -2; +} + +proc setAttribute11() { + setAttr ".maxSamples" 0; +} + +proc setAttribute12() { + setAttr ".minObjectSamples" -128; +} + +proc setAttribute13() { + setAttr ".maxObjectSamples" 127; +} + +proc setAttribute14() { + setAttr ".filter" 0; +} + +proc setAttribute15() { + setAttr ".filterWidth" 1; +} + +proc setAttribute16() { + setAttr ".filterHeight" 1; +} + +proc setAttribute17() { + setAttr ".jitter" yes; +} + +proc setAttribute18() { + setAttr ".scanline" 1; +} + +proc setAttribute19() { + setAttr ".rapidSamplesCollect" 0; +} + +proc setAttribute20() { + setAttr ".rapidSamplesMotion" 1; +} + +proc setAttribute21() { + setAttr ".rapidSamplesShading" 1; +} + +proc setAttribute22() { + setAttr ".rayTracing" yes; +} + +proc setAttribute23() { + setAttr ".maxReflectionRays" 1; +} + +proc setAttribute24() { + setAttr ".maxRefractionRays" 1; +} + +proc setAttribute25() { + setAttr ".maxRayDepth" 2; +} + +proc setAttribute26() { + setAttr ".maxReflectionBlur" 1; +} + +proc setAttribute27() { + setAttr ".maxRefractionBlur" 1; +} + +proc setAttribute28() { + setAttr ".maxShadowRayDepth" 6; +} + +proc setAttribute29() { + setAttr ".shadowMethod" 1; +} + +proc setAttribute30() { + setAttr ".shadowMaps" 1; +} + +proc setAttribute31() { + setAttr ".rebuildShadowMaps" 1; +} + +proc setAttribute32() { + setAttr ".motionBlurShadowMaps" yes; +} + +proc setAttribute33() { + setAttr ".traceShadowMaps" no; +} + +proc setAttribute34() { + setAttr ".windowShadowMaps" no; +} + +proc setAttribute35() { + setAttr ".biasShadowMaps" 0; +} + +proc setAttribute36() { + setAttr ".motionBlur" 0; +} + +proc setAttribute37() { + setAttr ".motionBlurBy" 1; +} + +proc setAttribute38() { + setAttr ".motionSteps" 1; +} + +proc setAttribute39() { + setAttr ".shutter" 1; +} + +proc setAttribute40() { + setAttr ".shutterDelay" 0; +} + +proc setAttribute41() { + setAttr ".timeContrastR" 0.20000000298023224; +} + +proc setAttribute42() { + setAttr ".timeContrastG" 0.20000000298023224; +} + +proc setAttribute43() { + setAttr ".timeContrastB" 0.20000000298023224; +} + +proc setAttribute44() { + setAttr ".timeContrastA" 0.20000000298023224; +} + +proc setAttribute45() { + setAttr ".caustics" yes; +} + +proc setAttribute46() { + setAttr ".causticsGenerating" 0; +} + +proc setAttribute47() { + setAttr ".causticsReceiving" 0; +} + +proc setAttribute48() { + setAttr ".causticFilterType" 0; +} + +proc setAttribute49() { + setAttr ".causticFilterKernel" 1.1000000238418579; +} + +proc setAttribute50() { + setAttr ".causticAccuracy" 100; +} + +proc setAttribute51() { + setAttr ".causticRadius" 0; +} + +proc setAttribute52() { + setAttr ".causticAutoRadius" no; +} + +proc setAttribute53() { + setAttr ".causticScaleA" 1; +} + +proc setAttribute54() { + setAttr ".causticScale" -type "float3" 1 1 1 ; +} + +proc setAttribute55() { + setAttr ".causticMerge" 0; +} + +proc setAttribute56() { + setAttr ".photonVolumeAccuracy" 30; +} + +proc setAttribute57() { + setAttr ".photonVolumeRadius" 0; +} + +proc setAttribute58() { + setAttr ".photonVolumeAutoRadius" no; +} + +proc setAttribute59() { + setAttr ".photonAutoVolume" yes; +} + +proc setAttribute60() { + setAttr ".photonVolumeScaleA" 1; +} + +proc setAttribute61() { + setAttr ".photonVolumeScale" -type "float3" 1 1 1 ; +} + +proc setAttribute62() { + setAttr ".photonVolumeMerge" 0; +} + +proc setAttribute63() { + setAttr ".maxReflectionPhotons" 5; +} + +proc setAttribute64() { + setAttr ".maxRefractionPhotons" 5; +} + +proc setAttribute65() { + setAttr ".maxPhotonDepth" 5; +} + +proc setAttribute66() { + setAttr ".photonDepthAuto" no; +} + +proc setAttribute67() { + setAttr ".photonMapFilename" -type "string" "default.pmap"; +} + +proc setAttribute68() { + setAttr ".photonMapVisualizer" yes; +} + +proc setAttribute69() { + setAttr ".photonMapRebuild" yes; +} + +proc setAttribute70() { + setAttr ".globalIllum" yes; +} + +proc setAttribute71() { + setAttr ".globalIllumGenerating" 0; +} + +proc setAttribute72() { + setAttr ".globalIllumReceiving" 0; +} + +proc setAttribute73() { + setAttr ".globalIllumAccuracy" 500; +} + +proc setAttribute74() { + setAttr ".globalIllumRadius" 0; +} + +proc setAttribute75() { + setAttr ".globalIllumAutoRadius" no; +} + +proc setAttribute76() { + setAttr ".globalIllumScaleA" 1; +} + +proc setAttribute77() { + setAttr ".globalIllumScale" -type "float3" 1 1 1 ; +} + +proc setAttribute78() { + setAttr ".globalIllumMerge" 0; +} + +proc setAttribute79() { + setAttr ".finalGather" yes; +} + +proc setAttribute80() { + setAttr ".finalGatherFast" no; +} + +proc setAttribute81() { + setAttr ".finalGatherRays" 100; +} + +proc setAttribute82() { + setAttr ".finalGatherMode" 2; +} + +proc setAttribute83() { + setAttr ".finalGatherMinRadius" 0; +} + +proc setAttribute84() { + setAttr ".finalGatherMaxRadius" 0; +} + +proc setAttribute85() { + setAttr ".finalGatherAutoRadius" no; +} + +proc setAttribute86() { + setAttr ".finalGatherView" no; +} + +proc setAttribute87() { + setAttr ".finalGatherPoints" 10; +} + +proc setAttribute88() { + setAttr ".finalGatherScaleA" 1; +} + +proc setAttribute89() { + setAttr ".finalGatherScale" -type "float3" 1 1 1 ; +} + +proc setAttribute90() { + setAttr ".finalGatherPresampleDensity" 1; +} + +proc setAttribute91() { + setAttr ".finalGatherFilename" -type "string" "default.fgmap"; +} + +proc setAttribute92() { +} + +proc setAttribute93() { + setAttr ".finalGatherMapVisualizer" no; +} + +proc setAttribute94() { + setAttr ".finalGatherRebuild" 1; +} + +proc setAttribute95() { + setAttr ".finalGatherFilter" 1; +} + +proc setAttribute96() { + setAttr ".finalGatherFalloffStart" 0; +} + +proc setAttribute97() { + setAttr ".finalGatherFalloffStop" 0; +} + +proc setAttribute98() { + setAttr ".finalGatherTraceDiffuse" 0; +} + +proc setAttribute99() { + setAttr ".finalGatherTraceReflection" 1; +} + +proc setAttribute100() { + setAttr ".finalGatherTraceRefraction" 1; +} + +proc setAttribute101() { + setAttr ".finalGatherTraceDepth" 2; +} + +proc setAttribute102() { + setAttr ".finalGatherBounceScaleA" 1; +} + +proc setAttribute103() { + setAttr ".finalGatherBounceScale" -type "float3" 1 1 1 ; +} + +proc setAttribute104() { + setAttr ".finalGatherImportance" -1; +} + +proc setAttribute105() { + setAttr ".finalGatherContrastA" 1; +} + +proc setAttribute106() { + setAttr ".finalGatherContrast" -type "float3" 1 1 1 ; +} + +proc setAttribute107() { + setAttr ".diagnoseGrid" 0; +} + +proc setAttribute108() { + setAttr ".diagnoseGridSize" 1; +} + +proc setAttribute109() { + setAttr ".diagnoseSamples" no; +} + +proc setAttribute110() { + setAttr ".diagnosePhoton" 0; +} + +proc setAttribute111() { + setAttr ".diagnosePhotonDensity" 0; +} + +proc setAttribute112() { + setAttr ".diagnoseBsp" 0; +} + +proc setAttribute113() { + setAttr ".diagnoseFinalg" no; +} + +proc setAttribute114() { + setAttr ".lightMaps" yes; +} + +proc setAttribute115() { + setAttr ".lightMapsNetwork" yes; +} + +proc setAttribute116() { + setAttr ".lensShaders" yes; +} + +proc setAttribute117() { + setAttr ".volumeShaders" yes; +} + +proc setAttribute118() { + setAttr ".geometryShaders" yes; +} + +proc setAttribute119() { + setAttr ".outputShaders" yes; +} + +proc setAttribute120() { + setAttr ".mergeSurfaces" yes; +} + +proc setAttribute121() { + setAttr ".autoVolume" yes; +} + +proc setAttribute122() { + setAttr ".renderHair" yes; +} + +proc setAttribute123() { + setAttr ".renderPasses" yes; +} + +proc setAttribute124() { + setAttr ".lightmapRender" yes; +} + +proc setAttribute125() { + setAttr ".displacementShaders" yes; +} + +proc setAttribute126() { + setAttr ".displacePresample" yes; +} + +proc setAttribute127() { + setAttr ".maxDisplace" 0; +} + +proc setAttribute128() { + setAttr ".faces" 2; +} + +proc setAttribute129() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute130() { + setAttr ".luminance" -type "float3" 0 0 0 ; +} + +proc setAttribute131() { + setAttr ".hardware" 0; +} + +proc setAttribute132() { + setAttr ".hardwareCg" yes; +} + +proc setAttribute133() { + setAttr ".hardwareGL" yes; +} + +proc setAttribute134() { + setAttr ".hardwareFast" yes; +} + +proc setAttribute135() { + setAttr ".hardwareForce" no; +} + +proc setAttribute136() { + setAttr ".userFrameBuffer0Mode" 0; + setAttr ".userFrameBuffer0Type" 2; +} + +proc setAttribute137() { + setAttr ".userFrameBuffer1Mode" 0; + setAttr ".userFrameBuffer1Type" 2; +} + +proc setAttribute138() { + setAttr ".userFrameBuffer2Mode" 0; + setAttr ".userFrameBuffer2Type" 2; +} + +proc setAttribute139() { + setAttr ".userFrameBuffer3Mode" 0; + setAttr ".userFrameBuffer3Type" 2; +} + +proc setAttribute140() { + setAttr ".userFrameBuffer4Mode" 0; + setAttr ".userFrameBuffer4Type" 2; +} + +proc setAttribute141() { + setAttr ".userFrameBuffer5Mode" 0; + setAttr ".userFrameBuffer5Type" 2; +} + +proc setAttribute142() { + setAttr ".userFrameBuffer6Mode" 0; + setAttr ".userFrameBuffer6Type" 2; +} + +proc setAttribute143() { + setAttr ".userFrameBuffer7Mode" 0; + setAttr ".userFrameBuffer7Type" 2; +} + +proc setAttribute144() { + setAttr ".contourBackground" no; +} + +proc setAttribute145() { + setAttr ".enableContourColor" yes; +} + +proc setAttribute146() { + setAttr ".contourColor" -type "float3" 0 0 0 ; +} + +proc setAttribute147() { + setAttr ".contourPriIdx" no; +} + +proc setAttribute148() { + setAttr ".contourPriData" no; +} + +proc setAttribute149() { + setAttr ".contourInstance" no; +} + +proc setAttribute150() { + setAttr ".contourMaterial" no; +} + +proc setAttribute151() { + setAttr ".contourLabel" no; +} + +proc setAttribute152() { + setAttr ".enableContourDist" yes; +} + +proc setAttribute153() { + setAttr ".contourDist" 0; +} + +proc setAttribute154() { + setAttr ".enableContourDepth" yes; +} + +proc setAttribute155() { + setAttr ".contourDepth" 0; +} + +proc setAttribute156() { + setAttr ".enableContourNormal" yes; +} + +proc setAttribute157() { + setAttr ".contourNormal" 0; +} + +proc setAttribute158() { + setAttr ".contourNormalGeom" no; +} + +proc setAttribute159() { + setAttr ".contourInvNormal" no; +} + +proc setAttribute160() { + setAttr ".enableContourTexUV" yes; +} + +proc setAttribute161() { + setAttr ".contourTexU" 0; + setAttr ".contourTexV" 0; +} + +proc setAttribute162() { + setAttr ".description" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); +catch(setAttribute113()); +catch(setAttribute114()); +catch(setAttribute115()); +catch(setAttribute116()); +catch(setAttribute117()); +catch(setAttribute118()); +catch(setAttribute119()); +catch(setAttribute120()); +catch(setAttribute121()); +catch(setAttribute122()); +catch(setAttribute123()); +catch(setAttribute124()); +catch(setAttribute125()); +catch(setAttribute126()); +catch(setAttribute127()); +catch(setAttribute128()); +catch(setAttribute129()); +catch(setAttribute130()); +catch(setAttribute131()); +catch(setAttribute132()); +catch(setAttribute133()); +catch(setAttribute134()); +catch(setAttribute135()); +catch(setAttribute136()); +catch(setAttribute137()); +catch(setAttribute138()); +catch(setAttribute139()); +catch(setAttribute140()); +catch(setAttribute141()); +catch(setAttribute142()); +catch(setAttribute143()); +catch(setAttribute144()); +catch(setAttribute145()); +catch(setAttribute146()); +catch(setAttribute147()); +catch(setAttribute148()); +catch(setAttribute149()); +catch(setAttribute150()); +catch(setAttribute151()); +catch(setAttribute152()); +catch(setAttribute153()); +catch(setAttribute154()); +catch(setAttribute155()); +catch(setAttribute156()); +catch(setAttribute157()); +catch(setAttribute158()); +catch(setAttribute159()); +catch(setAttribute160()); +catch(setAttribute161()); +catch(setAttribute162()); diff --git a/2009-x64/presets/mentalrayOptionsPreset_bathroomMRFinal2.mel b/2009-x64/presets/mentalrayOptionsPreset_bathroomMRFinal2.mel new file mode 100644 index 0000000..b9bdc12 --- /dev/null +++ b/2009-x64/presets/mentalrayOptionsPreset_bathroomMRFinal2.mel @@ -0,0 +1,824 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".contrastR" 0.10000000149011612; +} + +proc setAttribute6() { + setAttr ".contrastG" 0.10000000149011612; +} + +proc setAttribute7() { + setAttr ".contrastB" 0.10000000149011612; +} + +proc setAttribute8() { + setAttr ".contrastA" 0.10000000149011612; +} + +proc setAttribute9() { + setAttr ".sampleLock" yes; +} + +proc setAttribute10() { + setAttr ".minSamples" -2; +} + +proc setAttribute11() { + setAttr ".maxSamples" 0; +} + +proc setAttribute12() { + setAttr ".minObjectSamples" -128; +} + +proc setAttribute13() { + setAttr ".maxObjectSamples" 127; +} + +proc setAttribute14() { + setAttr ".filter" 0; +} + +proc setAttribute15() { + setAttr ".filterWidth" 1; +} + +proc setAttribute16() { + setAttr ".filterHeight" 1; +} + +proc setAttribute17() { + setAttr ".jitter" yes; +} + +proc setAttribute18() { + setAttr ".scanline" 1; +} + +proc setAttribute19() { + setAttr ".rapidSamplesCollect" 0; +} + +proc setAttribute20() { + setAttr ".rapidSamplesMotion" 1; +} + +proc setAttribute21() { + setAttr ".rapidSamplesShading" 1; +} + +proc setAttribute22() { + setAttr ".rayTracing" yes; +} + +proc setAttribute23() { + setAttr ".maxReflectionRays" 1; +} + +proc setAttribute24() { + setAttr ".maxRefractionRays" 1; +} + +proc setAttribute25() { + setAttr ".maxRayDepth" 2; +} + +proc setAttribute26() { + setAttr ".maxReflectionBlur" 1; +} + +proc setAttribute27() { + setAttr ".maxRefractionBlur" 1; +} + +proc setAttribute28() { + setAttr ".maxShadowRayDepth" 6; +} + +proc setAttribute29() { + setAttr ".shadowMethod" 1; +} + +proc setAttribute30() { + setAttr ".shadowMaps" 1; +} + +proc setAttribute31() { + setAttr ".rebuildShadowMaps" 1; +} + +proc setAttribute32() { + setAttr ".motionBlurShadowMaps" yes; +} + +proc setAttribute33() { + setAttr ".traceShadowMaps" no; +} + +proc setAttribute34() { + setAttr ".windowShadowMaps" no; +} + +proc setAttribute35() { + setAttr ".biasShadowMaps" 0; +} + +proc setAttribute36() { + setAttr ".motionBlur" 0; +} + +proc setAttribute37() { + setAttr ".motionBlurBy" 1; +} + +proc setAttribute38() { + setAttr ".motionSteps" 1; +} + +proc setAttribute39() { + setAttr ".shutter" 1; +} + +proc setAttribute40() { + setAttr ".shutterDelay" 0; +} + +proc setAttribute41() { + setAttr ".timeContrastR" 0.20000000298023224; +} + +proc setAttribute42() { + setAttr ".timeContrastG" 0.20000000298023224; +} + +proc setAttribute43() { + setAttr ".timeContrastB" 0.20000000298023224; +} + +proc setAttribute44() { + setAttr ".timeContrastA" 0.20000000298023224; +} + +proc setAttribute45() { + setAttr ".caustics" yes; +} + +proc setAttribute46() { + setAttr ".causticsGenerating" 0; +} + +proc setAttribute47() { + setAttr ".causticsReceiving" 0; +} + +proc setAttribute48() { + setAttr ".causticFilterType" 0; +} + +proc setAttribute49() { + setAttr ".causticFilterKernel" 1.1000000238418579; +} + +proc setAttribute50() { + setAttr ".causticAccuracy" 100; +} + +proc setAttribute51() { + setAttr ".causticRadius" 0; +} + +proc setAttribute52() { + setAttr ".causticAutoRadius" no; +} + +proc setAttribute53() { + setAttr ".causticScaleA" 1; +} + +proc setAttribute54() { + setAttr ".causticScale" -type "float3" 1 1 1 ; +} + +proc setAttribute55() { + setAttr ".causticMerge" 0; +} + +proc setAttribute56() { + setAttr ".photonVolumeAccuracy" 30; +} + +proc setAttribute57() { + setAttr ".photonVolumeRadius" 0; +} + +proc setAttribute58() { + setAttr ".photonVolumeAutoRadius" no; +} + +proc setAttribute59() { + setAttr ".photonAutoVolume" no; +} + +proc setAttribute60() { + setAttr ".photonVolumeScaleA" 1; +} + +proc setAttribute61() { + setAttr ".photonVolumeScale" -type "float3" 1 1 1 ; +} + +proc setAttribute62() { + setAttr ".photonVolumeMerge" 0; +} + +proc setAttribute63() { + setAttr ".maxReflectionPhotons" 5; +} + +proc setAttribute64() { + setAttr ".maxRefractionPhotons" 5; +} + +proc setAttribute65() { + setAttr ".maxPhotonDepth" 5; +} + +proc setAttribute66() { + setAttr ".photonDepthAuto" no; +} + +proc setAttribute67() { + setAttr ".photonMapFilename" -type "string" "default.pmap"; +} + +proc setAttribute68() { + setAttr ".photonMapVisualizer" yes; +} + +proc setAttribute69() { + setAttr ".photonMapRebuild" yes; +} + +proc setAttribute70() { + setAttr ".globalIllum" yes; +} + +proc setAttribute71() { + setAttr ".globalIllumGenerating" 0; +} + +proc setAttribute72() { + setAttr ".globalIllumReceiving" 0; +} + +proc setAttribute73() { + setAttr ".globalIllumAccuracy" 500; +} + +proc setAttribute74() { + setAttr ".globalIllumRadius" 0; +} + +proc setAttribute75() { + setAttr ".globalIllumAutoRadius" no; +} + +proc setAttribute76() { + setAttr ".globalIllumScaleA" 1; +} + +proc setAttribute77() { + setAttr ".globalIllumScale" -type "float3" 1 1 1 ; +} + +proc setAttribute78() { + setAttr ".globalIllumMerge" 0; +} + +proc setAttribute79() { + setAttr ".finalGather" yes; +} + +proc setAttribute80() { + setAttr ".finalGatherFast" no; +} + +proc setAttribute81() { + setAttr ".finalGatherRays" 100; +} + +proc setAttribute82() { + setAttr ".finalGatherMode" 2; +} + +proc setAttribute83() { + setAttr ".finalGatherMinRadius" 0; +} + +proc setAttribute84() { + setAttr ".finalGatherMaxRadius" 0; +} + +proc setAttribute85() { + setAttr ".finalGatherAutoRadius" no; +} + +proc setAttribute86() { + setAttr ".finalGatherView" no; +} + +proc setAttribute87() { + setAttr ".finalGatherPoints" 10; +} + +proc setAttribute88() { + setAttr ".finalGatherScaleA" 1; +} + +proc setAttribute89() { + setAttr ".finalGatherScale" -type "float3" 1 1 1 ; +} + +proc setAttribute90() { + setAttr ".finalGatherPresampleDensity" 1; +} + +proc setAttribute91() { + setAttr ".finalGatherFilename" -type "string" "default.fgmap"; +} + +proc setAttribute92() { +} + +proc setAttribute93() { + setAttr ".finalGatherMapVisualizer" no; +} + +proc setAttribute94() { + setAttr ".finalGatherRebuild" 1; +} + +proc setAttribute95() { + setAttr ".finalGatherFilter" 1; +} + +proc setAttribute96() { + setAttr ".finalGatherFalloffStart" 0; +} + +proc setAttribute97() { + setAttr ".finalGatherFalloffStop" 0; +} + +proc setAttribute98() { + setAttr ".finalGatherTraceDiffuse" 0; +} + +proc setAttribute99() { + setAttr ".finalGatherTraceReflection" 1; +} + +proc setAttribute100() { + setAttr ".finalGatherTraceRefraction" 1; +} + +proc setAttribute101() { + setAttr ".finalGatherTraceDepth" 2; +} + +proc setAttribute102() { + setAttr ".finalGatherBounceScaleA" 1; +} + +proc setAttribute103() { + setAttr ".finalGatherBounceScale" -type "float3" 1 1 1 ; +} + +proc setAttribute104() { + setAttr ".finalGatherImportance" -1; +} + +proc setAttribute105() { + setAttr ".finalGatherContrastA" 1; +} + +proc setAttribute106() { + setAttr ".finalGatherContrast" -type "float3" 1 1 1 ; +} + +proc setAttribute107() { + setAttr ".diagnoseGrid" 0; +} + +proc setAttribute108() { + setAttr ".diagnoseGridSize" 1; +} + +proc setAttribute109() { + setAttr ".diagnoseSamples" no; +} + +proc setAttribute110() { + setAttr ".diagnosePhoton" 0; +} + +proc setAttribute111() { + setAttr ".diagnosePhotonDensity" 0; +} + +proc setAttribute112() { + setAttr ".diagnoseBsp" 0; +} + +proc setAttribute113() { + setAttr ".diagnoseFinalg" no; +} + +proc setAttribute114() { + setAttr ".lightMaps" yes; +} + +proc setAttribute115() { + setAttr ".lightMapsNetwork" yes; +} + +proc setAttribute116() { + setAttr ".lensShaders" yes; +} + +proc setAttribute117() { + setAttr ".volumeShaders" yes; +} + +proc setAttribute118() { + setAttr ".geometryShaders" yes; +} + +proc setAttribute119() { + setAttr ".outputShaders" yes; +} + +proc setAttribute120() { + setAttr ".mergeSurfaces" yes; +} + +proc setAttribute121() { + setAttr ".autoVolume" yes; +} + +proc setAttribute122() { + setAttr ".renderHair" yes; +} + +proc setAttribute123() { + setAttr ".renderPasses" yes; +} + +proc setAttribute124() { + setAttr ".lightmapRender" yes; +} + +proc setAttribute125() { + setAttr ".displacementShaders" yes; +} + +proc setAttribute126() { + setAttr ".displacePresample" yes; +} + +proc setAttribute127() { + setAttr ".maxDisplace" 0; +} + +proc setAttribute128() { + setAttr ".faces" 2; +} + +proc setAttribute129() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute130() { + setAttr ".luminance" -type "float3" 0 0 0 ; +} + +proc setAttribute131() { + setAttr ".hardware" 0; +} + +proc setAttribute132() { + setAttr ".hardwareCg" yes; +} + +proc setAttribute133() { + setAttr ".hardwareGL" yes; +} + +proc setAttribute134() { + setAttr ".hardwareFast" yes; +} + +proc setAttribute135() { + setAttr ".hardwareForce" no; +} + +proc setAttribute136() { + setAttr ".userFrameBuffer0Mode" 0; + setAttr ".userFrameBuffer0Type" 2; +} + +proc setAttribute137() { + setAttr ".userFrameBuffer1Mode" 0; + setAttr ".userFrameBuffer1Type" 2; +} + +proc setAttribute138() { + setAttr ".userFrameBuffer2Mode" 0; + setAttr ".userFrameBuffer2Type" 2; +} + +proc setAttribute139() { + setAttr ".userFrameBuffer3Mode" 0; + setAttr ".userFrameBuffer3Type" 2; +} + +proc setAttribute140() { + setAttr ".userFrameBuffer4Mode" 0; + setAttr ".userFrameBuffer4Type" 2; +} + +proc setAttribute141() { + setAttr ".userFrameBuffer5Mode" 0; + setAttr ".userFrameBuffer5Type" 2; +} + +proc setAttribute142() { + setAttr ".userFrameBuffer6Mode" 0; + setAttr ".userFrameBuffer6Type" 2; +} + +proc setAttribute143() { + setAttr ".userFrameBuffer7Mode" 0; + setAttr ".userFrameBuffer7Type" 2; +} + +proc setAttribute144() { + setAttr ".contourBackground" no; +} + +proc setAttribute145() { + setAttr ".enableContourColor" yes; +} + +proc setAttribute146() { + setAttr ".contourColor" -type "float3" 0 0 0 ; +} + +proc setAttribute147() { + setAttr ".contourPriIdx" no; +} + +proc setAttribute148() { + setAttr ".contourPriData" no; +} + +proc setAttribute149() { + setAttr ".contourInstance" no; +} + +proc setAttribute150() { + setAttr ".contourMaterial" no; +} + +proc setAttribute151() { + setAttr ".contourLabel" no; +} + +proc setAttribute152() { + setAttr ".enableContourDist" yes; +} + +proc setAttribute153() { + setAttr ".contourDist" 0; +} + +proc setAttribute154() { + setAttr ".enableContourDepth" yes; +} + +proc setAttribute155() { + setAttr ".contourDepth" 0; +} + +proc setAttribute156() { + setAttr ".enableContourNormal" yes; +} + +proc setAttribute157() { + setAttr ".contourNormal" 0; +} + +proc setAttribute158() { + setAttr ".contourNormalGeom" no; +} + +proc setAttribute159() { + setAttr ".contourInvNormal" no; +} + +proc setAttribute160() { + setAttr ".enableContourTexUV" yes; +} + +proc setAttribute161() { + setAttr ".contourTexU" 0; + setAttr ".contourTexV" 0; +} + +proc setAttribute162() { + setAttr ".description" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); +catch(setAttribute93()); +catch(setAttribute94()); +catch(setAttribute95()); +catch(setAttribute96()); +catch(setAttribute97()); +catch(setAttribute98()); +catch(setAttribute99()); +catch(setAttribute100()); +catch(setAttribute101()); +catch(setAttribute102()); +catch(setAttribute103()); +catch(setAttribute104()); +catch(setAttribute105()); +catch(setAttribute106()); +catch(setAttribute107()); +catch(setAttribute108()); +catch(setAttribute109()); +catch(setAttribute110()); +catch(setAttribute111()); +catch(setAttribute112()); +catch(setAttribute113()); +catch(setAttribute114()); +catch(setAttribute115()); +catch(setAttribute116()); +catch(setAttribute117()); +catch(setAttribute118()); +catch(setAttribute119()); +catch(setAttribute120()); +catch(setAttribute121()); +catch(setAttribute122()); +catch(setAttribute123()); +catch(setAttribute124()); +catch(setAttribute125()); +catch(setAttribute126()); +catch(setAttribute127()); +catch(setAttribute128()); +catch(setAttribute129()); +catch(setAttribute130()); +catch(setAttribute131()); +catch(setAttribute132()); +catch(setAttribute133()); +catch(setAttribute134()); +catch(setAttribute135()); +catch(setAttribute136()); +catch(setAttribute137()); +catch(setAttribute138()); +catch(setAttribute139()); +catch(setAttribute140()); +catch(setAttribute141()); +catch(setAttribute142()); +catch(setAttribute143()); +catch(setAttribute144()); +catch(setAttribute145()); +catch(setAttribute146()); +catch(setAttribute147()); +catch(setAttribute148()); +catch(setAttribute149()); +catch(setAttribute150()); +catch(setAttribute151()); +catch(setAttribute152()); +catch(setAttribute153()); +catch(setAttribute154()); +catch(setAttribute155()); +catch(setAttribute156()); +catch(setAttribute157()); +catch(setAttribute158()); +catch(setAttribute159()); +catch(setAttribute160()); +catch(setAttribute161()); +catch(setAttribute162()); diff --git a/2009-x64/presets/renderGlobalsPreset_Paul.mel b/2009-x64/presets/renderGlobalsPreset_Paul.mel new file mode 100644 index 0000000..633856a --- /dev/null +++ b/2009-x64/presets/renderGlobalsPreset_Paul.mel @@ -0,0 +1,466 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".macCodec" 1919706400; +} + +proc setAttribute6() { + setAttr ".macDepth" 32; +} + +proc setAttribute7() { + setAttr ".macQual" 1024; +} + +proc setAttribute8() { + setAttr ".comFrrt" 24; +} + +proc setAttribute9() { + setAttr ".ignoreFilmGate" yes; +} + +proc setAttribute10() { + setAttr ".clipFinalShadedColor" yes; +} + +proc setAttribute11() { + setAttr ".enableDepthMaps" yes; +} + +proc setAttribute12() { + setAttr ".enableDefaultLight" yes; +} + +proc setAttribute13() { + setAttr ".currentRenderer" -type "string" "mayaSoftware"; +} + +proc setAttribute14() { + setAttr ".enableStrokeRender" yes; +} + +proc setAttribute15() { + setAttr ".onlyRenderStrokes" no; +} + +proc setAttribute16() { + setAttr ".strokesDepthFile" -type "string" ""; +} + +proc setAttribute17() { + setAttr ".imageFormat" 3; +} + +proc setAttribute18() { + setAttr ".imfPluginKey" -type "string" ""; +} + +proc setAttribute19() { + setAttr ".gammaCorrection" 1; +} + +proc setAttribute20() { + setAttr ".animation" no; +} + +proc setAttribute21() { + setAttr ".animationRange" 1; +} + +proc setAttribute22() { + setAttr ".startFrame" 1; +} + +proc setAttribute23() { + setAttr ".endFrame" 10; +} + +proc setAttribute24() { + setAttr ".byFrameStep" 1; +} + +proc setAttribute25() { + setAttr ".modifyExtension" no; +} + +proc setAttribute26() { + setAttr ".startExtension" 1; +} + +proc setAttribute27() { + setAttr ".byExtension" 1; +} + +proc setAttribute28() { + setAttr ".extensionPadding" 1; +} + +proc setAttribute29() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute30() { + setAttr ".outFormatControl" 0; +} + +proc setAttribute31() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute32() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute33() { + setAttr ".outFormatExt" -type "string" ""; +} + +proc setAttribute34() { + setAttr ".useMayaFileName" yes; +} + +proc setAttribute35() { + setAttr ".useFrameExt" no; +} + +proc setAttribute36() { + setAttr ".putFrameBeforeExt" no; +} + +proc setAttribute37() { + setAttr ".periodInExt" 1; +} + +proc setAttribute38() { + setAttr ".imageFilePrefix" -type "string" "doghouse"; +} + +proc setAttribute39() { + setAttr ".renderVersion" -type "string" ""; +} + +proc setAttribute40() { + setAttr ".composite" no; +} + +proc setAttribute41() { + setAttr ".compositeThreshold" 0; +} + +proc setAttribute42() { + setAttr ".shadowsObeyLightLinking" no; +} + +proc setAttribute43() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute44() { + setAttr ".recursionDepth" 2; +} + +proc setAttribute45() { + setAttr ".leafPrimitives" 200; +} + +proc setAttribute46() { + setAttr ".subdivisionPower" 0.25; +} + +proc setAttribute47() { + setAttr ".subdivisionHashSize" 5; +} + +proc setAttribute48() { + setAttr ".logRenderPerformance" no; +} + +proc setAttribute49() { + setAttr ".geometryVector" 20; +} + +proc setAttribute50() { + setAttr ".shadingVector" 60; +} + +proc setAttribute51() { + setAttr ".maximumMemory" 48; +} + +proc setAttribute52() { + setAttr ".numCpusToUse" 0; +} + +proc setAttribute53() { + setAttr ".interruptFrequency" 1; +} + +proc setAttribute54() { + setAttr ".shadowPass" no; +} + +proc setAttribute55() { + setAttr ".iprShadowPass" no; +} + +proc setAttribute56() { + setAttr ".useFileCache" yes; +} + +proc setAttribute57() { + setAttr ".optimizeInstances" yes; +} + +proc setAttribute58() { + setAttr ".reuseTessellations" yes; +} + +proc setAttribute59() { + setAttr ".matteOpacityUsesTransparency" yes; +} + +proc setAttribute60() { + setAttr ".motionBlur" no; +} + +proc setAttribute61() { + setAttr -keyable on ".motionBlurByFrame" 1; +} + +proc setAttribute62() { + setAttr ".applyFogInPost" no; +} + +proc setAttribute63() { + setAttr ".postFogBlur" 1; +} + +proc setAttribute64() { + setAttr ".preMel" -type "string" ""; +} + +proc setAttribute65() { + setAttr ".postMel" -type "string" ""; +} + +proc setAttribute66() { + setAttr ".preRenderLayerMel" -type "string" ""; +} + +proc setAttribute67() { + setAttr ".postRenderLayerMel" -type "string" ""; +} + +proc setAttribute68() { + setAttr ".preRenderMel" -type "string" ""; +} + +proc setAttribute69() { + setAttr ".postRenderMel" -type "string" ""; +} + +proc setAttribute70() { + setAttr ".preFurRenderMel" -type "string" ""; +} + +proc setAttribute71() { + setAttr ".postFurRenderMel" -type "string" ""; +} + +proc setAttribute72() { + setAttr ".blurLength" 1; +} + +proc setAttribute73() { + setAttr ".blurSharpness" 1; +} + +proc setAttribute74() { + setAttr ".smoothValue" 2; +} + +proc setAttribute75() { + setAttr ".useBlur2DMemoryCap" yes; +} + +proc setAttribute76() { + setAttr ".blur2DMemoryCap" 200; +} + +proc setAttribute77() { + setAttr ".motionBlurType" 1; +} + +proc setAttribute78() { + setAttr ".useDisplacementBoundingBox" yes; +} + +proc setAttribute79() { + setAttr ".smoothColor" no; +} + +proc setAttribute80() { + setAttr ".keepMotionVector" no; +} + +proc setAttribute81() { + setAttr ".iprRenderShading" yes; +} + +proc setAttribute82() { + setAttr ".iprRenderShadowMaps" yes; +} + +proc setAttribute83() { + setAttr ".iprRenderMotionBlur" yes; +} + +proc setAttribute84() { + setAttr ".renderLayerEnable" no; +} + +proc setAttribute85() { + setAttr ".forceTileSize" no; +} + +proc setAttribute86() { + setAttr ".tileWidth" 64; +} + +proc setAttribute87() { + setAttr ".tileHeight" 64; +} + +proc setAttribute88() { + setAttr ".jitterFinalColor" yes; +} + +proc setAttribute89() { + setAttr ".raysSeeBackground" yes; +} + +proc setAttribute90() { + setAttr ".oversamplePaintEffects" no; +} + +proc setAttribute91() { + setAttr ".oversamplePfxPostFilter" no; +} + +proc setAttribute92() { + setAttr ".hyperShadeBinList" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); diff --git a/2009-x64/presets/renderGlobalsPreset_Paul_draftRaytracing.mel b/2009-x64/presets/renderGlobalsPreset_Paul_draftRaytracing.mel new file mode 100644 index 0000000..c6d0fde --- /dev/null +++ b/2009-x64/presets/renderGlobalsPreset_Paul_draftRaytracing.mel @@ -0,0 +1,461 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".macCodec" 1919706400; +} + +proc setAttribute6() { + setAttr ".macDepth" 32; +} + +proc setAttribute7() { + setAttr ".macQual" 1024; +} + +proc setAttribute8() { + setAttr ".comFrrt" 30; +} + +proc setAttribute9() { + setAttr ".ignoreFilmGate" yes; +} + +proc setAttribute10() { + setAttr ".clipFinalShadedColor" yes; +} + +proc setAttribute11() { + setAttr ".enableDepthMaps" yes; +} + +proc setAttribute12() { + setAttr ".enableDefaultLight" yes; +} + +proc setAttribute13() { + setAttr ".currentRenderer" -type "string" "mayaSoftware"; +} + +proc setAttribute14() { + setAttr ".enableStrokeRender" yes; +} + +proc setAttribute15() { + setAttr ".onlyRenderStrokes" no; +} + +proc setAttribute16() { + setAttr ".strokesDepthFile" -type "string" ""; +} + +proc setAttribute17() { + setAttr ".imageFormat" 7; +} + +proc setAttribute18() { + setAttr ".imfPluginKey" -type "string" ""; +} + +proc setAttribute19() { + setAttr ".gammaCorrection" 1; +} + +proc setAttribute20() { + setAttr ".animation" no; +} + +proc setAttribute21() { + setAttr ".animationRange" 1; +} + +proc setAttribute22() { + setAttr ".startFrame" 1; +} + +proc setAttribute23() { + setAttr ".endFrame" 10; +} + +proc setAttribute24() { + setAttr ".byFrameStep" 1; +} + +proc setAttribute25() { + setAttr ".modifyExtension" no; +} + +proc setAttribute26() { + setAttr ".startExtension" 1; +} + +proc setAttribute27() { + setAttr ".byExtension" 1; +} + +proc setAttribute28() { + setAttr ".extensionPadding" 1; +} + +proc setAttribute29() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute30() { + setAttr ".outFormatControl" 0; +} + +proc setAttribute31() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute32() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute33() { + setAttr ".outFormatExt" -type "string" ""; +} + +proc setAttribute34() { + setAttr ".useMayaFileName" yes; +} + +proc setAttribute35() { + setAttr ".useFrameExt" no; +} + +proc setAttribute36() { + setAttr ".putFrameBeforeExt" no; +} + +proc setAttribute37() { + setAttr ".periodInExt" 1; +} + +proc setAttribute38() { + setAttr ".imageFilePrefix" -type "string" ""; +} + +proc setAttribute39() { + setAttr ".renderVersion" -type "string" ""; +} + +proc setAttribute40() { + setAttr ".composite" no; +} + +proc setAttribute41() { + setAttr ".compositeThreshold" 0; +} + +proc setAttribute42() { + setAttr ".shadowsObeyLightLinking" yes; +} + +proc setAttribute43() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute44() { + setAttr ".recursionDepth" 2; +} + +proc setAttribute45() { + setAttr ".leafPrimitives" 200; +} + +proc setAttribute46() { + setAttr ".subdivisionPower" 0.25; +} + +proc setAttribute47() { + setAttr ".subdivisionHashSize" 5; +} + +proc setAttribute48() { + setAttr ".logRenderPerformance" no; +} + +proc setAttribute49() { + setAttr ".geometryVector" 20; +} + +proc setAttribute50() { + setAttr ".shadingVector" 60; +} + +proc setAttribute51() { + setAttr ".maximumMemory" 48; +} + +proc setAttribute52() { + setAttr ".numCpusToUse" 0; +} + +proc setAttribute53() { + setAttr ".interruptFrequency" 1; +} + +proc setAttribute54() { + setAttr ".shadowPass" no; +} + +proc setAttribute55() { + setAttr ".iprShadowPass" no; +} + +proc setAttribute56() { + setAttr ".useFileCache" yes; +} + +proc setAttribute57() { + setAttr ".optimizeInstances" yes; +} + +proc setAttribute58() { + setAttr ".reuseTessellations" yes; +} + +proc setAttribute59() { + setAttr ".motionBlur" no; +} + +proc setAttribute60() { + setAttr -keyable on ".motionBlurByFrame" 1; +} + +proc setAttribute61() { + setAttr ".applyFogInPost" no; +} + +proc setAttribute62() { + setAttr ".postFogBlur" 1; +} + +proc setAttribute63() { + setAttr ".preMel" -type "string" ""; +} + +proc setAttribute64() { + setAttr ".postMel" -type "string" ""; +} + +proc setAttribute65() { + setAttr ".preRenderLayerMel" -type "string" ""; +} + +proc setAttribute66() { + setAttr ".postRenderLayerMel" -type "string" ""; +} + +proc setAttribute67() { + setAttr ".preRenderMel" -type "string" ""; +} + +proc setAttribute68() { + setAttr ".postRenderMel" -type "string" ""; +} + +proc setAttribute69() { + setAttr ".preFurRenderMel" -type "string" ""; +} + +proc setAttribute70() { + setAttr ".postFurRenderMel" -type "string" ""; +} + +proc setAttribute71() { + setAttr ".blurLength" 1; +} + +proc setAttribute72() { + setAttr ".blurSharpness" 1; +} + +proc setAttribute73() { + setAttr ".smoothValue" 2; +} + +proc setAttribute74() { + setAttr ".useBlur2DMemoryCap" yes; +} + +proc setAttribute75() { + setAttr ".blur2DMemoryCap" 200; +} + +proc setAttribute76() { + setAttr ".motionBlurType" 1; +} + +proc setAttribute77() { + setAttr ".useDisplacementBoundingBox" yes; +} + +proc setAttribute78() { + setAttr ".smoothColor" no; +} + +proc setAttribute79() { + setAttr ".keepMotionVector" no; +} + +proc setAttribute80() { + setAttr ".iprRenderShading" yes; +} + +proc setAttribute81() { + setAttr ".iprRenderShadowMaps" yes; +} + +proc setAttribute82() { + setAttr ".iprRenderMotionBlur" yes; +} + +proc setAttribute83() { + setAttr ".renderLayerEnable" no; +} + +proc setAttribute84() { + setAttr ".forceTileSize" no; +} + +proc setAttribute85() { + setAttr ".tileWidth" 64; +} + +proc setAttribute86() { + setAttr ".tileHeight" 64; +} + +proc setAttribute87() { + setAttr ".jitterFinalColor" yes; +} + +proc setAttribute88() { + setAttr ".raysSeeBackground" yes; +} + +proc setAttribute89() { + setAttr ".oversamplePaintEffects" no; +} + +proc setAttribute90() { + setAttr ".oversamplePfxPostFilter" no; +} + +proc setAttribute91() { + setAttr ".hyperShadeBinList" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); diff --git a/2009-x64/presets/renderGlobalsPreset_Paul_goodRaytrace.mel b/2009-x64/presets/renderGlobalsPreset_Paul_goodRaytrace.mel new file mode 100644 index 0000000..c6d0fde --- /dev/null +++ b/2009-x64/presets/renderGlobalsPreset_Paul_goodRaytrace.mel @@ -0,0 +1,461 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".macCodec" 1919706400; +} + +proc setAttribute6() { + setAttr ".macDepth" 32; +} + +proc setAttribute7() { + setAttr ".macQual" 1024; +} + +proc setAttribute8() { + setAttr ".comFrrt" 30; +} + +proc setAttribute9() { + setAttr ".ignoreFilmGate" yes; +} + +proc setAttribute10() { + setAttr ".clipFinalShadedColor" yes; +} + +proc setAttribute11() { + setAttr ".enableDepthMaps" yes; +} + +proc setAttribute12() { + setAttr ".enableDefaultLight" yes; +} + +proc setAttribute13() { + setAttr ".currentRenderer" -type "string" "mayaSoftware"; +} + +proc setAttribute14() { + setAttr ".enableStrokeRender" yes; +} + +proc setAttribute15() { + setAttr ".onlyRenderStrokes" no; +} + +proc setAttribute16() { + setAttr ".strokesDepthFile" -type "string" ""; +} + +proc setAttribute17() { + setAttr ".imageFormat" 7; +} + +proc setAttribute18() { + setAttr ".imfPluginKey" -type "string" ""; +} + +proc setAttribute19() { + setAttr ".gammaCorrection" 1; +} + +proc setAttribute20() { + setAttr ".animation" no; +} + +proc setAttribute21() { + setAttr ".animationRange" 1; +} + +proc setAttribute22() { + setAttr ".startFrame" 1; +} + +proc setAttribute23() { + setAttr ".endFrame" 10; +} + +proc setAttribute24() { + setAttr ".byFrameStep" 1; +} + +proc setAttribute25() { + setAttr ".modifyExtension" no; +} + +proc setAttribute26() { + setAttr ".startExtension" 1; +} + +proc setAttribute27() { + setAttr ".byExtension" 1; +} + +proc setAttribute28() { + setAttr ".extensionPadding" 1; +} + +proc setAttribute29() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute30() { + setAttr ".outFormatControl" 0; +} + +proc setAttribute31() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute32() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute33() { + setAttr ".outFormatExt" -type "string" ""; +} + +proc setAttribute34() { + setAttr ".useMayaFileName" yes; +} + +proc setAttribute35() { + setAttr ".useFrameExt" no; +} + +proc setAttribute36() { + setAttr ".putFrameBeforeExt" no; +} + +proc setAttribute37() { + setAttr ".periodInExt" 1; +} + +proc setAttribute38() { + setAttr ".imageFilePrefix" -type "string" ""; +} + +proc setAttribute39() { + setAttr ".renderVersion" -type "string" ""; +} + +proc setAttribute40() { + setAttr ".composite" no; +} + +proc setAttribute41() { + setAttr ".compositeThreshold" 0; +} + +proc setAttribute42() { + setAttr ".shadowsObeyLightLinking" yes; +} + +proc setAttribute43() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute44() { + setAttr ".recursionDepth" 2; +} + +proc setAttribute45() { + setAttr ".leafPrimitives" 200; +} + +proc setAttribute46() { + setAttr ".subdivisionPower" 0.25; +} + +proc setAttribute47() { + setAttr ".subdivisionHashSize" 5; +} + +proc setAttribute48() { + setAttr ".logRenderPerformance" no; +} + +proc setAttribute49() { + setAttr ".geometryVector" 20; +} + +proc setAttribute50() { + setAttr ".shadingVector" 60; +} + +proc setAttribute51() { + setAttr ".maximumMemory" 48; +} + +proc setAttribute52() { + setAttr ".numCpusToUse" 0; +} + +proc setAttribute53() { + setAttr ".interruptFrequency" 1; +} + +proc setAttribute54() { + setAttr ".shadowPass" no; +} + +proc setAttribute55() { + setAttr ".iprShadowPass" no; +} + +proc setAttribute56() { + setAttr ".useFileCache" yes; +} + +proc setAttribute57() { + setAttr ".optimizeInstances" yes; +} + +proc setAttribute58() { + setAttr ".reuseTessellations" yes; +} + +proc setAttribute59() { + setAttr ".motionBlur" no; +} + +proc setAttribute60() { + setAttr -keyable on ".motionBlurByFrame" 1; +} + +proc setAttribute61() { + setAttr ".applyFogInPost" no; +} + +proc setAttribute62() { + setAttr ".postFogBlur" 1; +} + +proc setAttribute63() { + setAttr ".preMel" -type "string" ""; +} + +proc setAttribute64() { + setAttr ".postMel" -type "string" ""; +} + +proc setAttribute65() { + setAttr ".preRenderLayerMel" -type "string" ""; +} + +proc setAttribute66() { + setAttr ".postRenderLayerMel" -type "string" ""; +} + +proc setAttribute67() { + setAttr ".preRenderMel" -type "string" ""; +} + +proc setAttribute68() { + setAttr ".postRenderMel" -type "string" ""; +} + +proc setAttribute69() { + setAttr ".preFurRenderMel" -type "string" ""; +} + +proc setAttribute70() { + setAttr ".postFurRenderMel" -type "string" ""; +} + +proc setAttribute71() { + setAttr ".blurLength" 1; +} + +proc setAttribute72() { + setAttr ".blurSharpness" 1; +} + +proc setAttribute73() { + setAttr ".smoothValue" 2; +} + +proc setAttribute74() { + setAttr ".useBlur2DMemoryCap" yes; +} + +proc setAttribute75() { + setAttr ".blur2DMemoryCap" 200; +} + +proc setAttribute76() { + setAttr ".motionBlurType" 1; +} + +proc setAttribute77() { + setAttr ".useDisplacementBoundingBox" yes; +} + +proc setAttribute78() { + setAttr ".smoothColor" no; +} + +proc setAttribute79() { + setAttr ".keepMotionVector" no; +} + +proc setAttribute80() { + setAttr ".iprRenderShading" yes; +} + +proc setAttribute81() { + setAttr ".iprRenderShadowMaps" yes; +} + +proc setAttribute82() { + setAttr ".iprRenderMotionBlur" yes; +} + +proc setAttribute83() { + setAttr ".renderLayerEnable" no; +} + +proc setAttribute84() { + setAttr ".forceTileSize" no; +} + +proc setAttribute85() { + setAttr ".tileWidth" 64; +} + +proc setAttribute86() { + setAttr ".tileHeight" 64; +} + +proc setAttribute87() { + setAttr ".jitterFinalColor" yes; +} + +proc setAttribute88() { + setAttr ".raysSeeBackground" yes; +} + +proc setAttribute89() { + setAttr ".oversamplePaintEffects" no; +} + +proc setAttribute90() { + setAttr ".oversamplePfxPostFilter" no; +} + +proc setAttribute91() { + setAttr ".hyperShadeBinList" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); diff --git a/2009-x64/presets/renderGlobalsPreset_Paul_superLowQuality.mel b/2009-x64/presets/renderGlobalsPreset_Paul_superLowQuality.mel new file mode 100644 index 0000000..633856a --- /dev/null +++ b/2009-x64/presets/renderGlobalsPreset_Paul_superLowQuality.mel @@ -0,0 +1,466 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".macCodec" 1919706400; +} + +proc setAttribute6() { + setAttr ".macDepth" 32; +} + +proc setAttribute7() { + setAttr ".macQual" 1024; +} + +proc setAttribute8() { + setAttr ".comFrrt" 24; +} + +proc setAttribute9() { + setAttr ".ignoreFilmGate" yes; +} + +proc setAttribute10() { + setAttr ".clipFinalShadedColor" yes; +} + +proc setAttribute11() { + setAttr ".enableDepthMaps" yes; +} + +proc setAttribute12() { + setAttr ".enableDefaultLight" yes; +} + +proc setAttribute13() { + setAttr ".currentRenderer" -type "string" "mayaSoftware"; +} + +proc setAttribute14() { + setAttr ".enableStrokeRender" yes; +} + +proc setAttribute15() { + setAttr ".onlyRenderStrokes" no; +} + +proc setAttribute16() { + setAttr ".strokesDepthFile" -type "string" ""; +} + +proc setAttribute17() { + setAttr ".imageFormat" 3; +} + +proc setAttribute18() { + setAttr ".imfPluginKey" -type "string" ""; +} + +proc setAttribute19() { + setAttr ".gammaCorrection" 1; +} + +proc setAttribute20() { + setAttr ".animation" no; +} + +proc setAttribute21() { + setAttr ".animationRange" 1; +} + +proc setAttribute22() { + setAttr ".startFrame" 1; +} + +proc setAttribute23() { + setAttr ".endFrame" 10; +} + +proc setAttribute24() { + setAttr ".byFrameStep" 1; +} + +proc setAttribute25() { + setAttr ".modifyExtension" no; +} + +proc setAttribute26() { + setAttr ".startExtension" 1; +} + +proc setAttribute27() { + setAttr ".byExtension" 1; +} + +proc setAttribute28() { + setAttr ".extensionPadding" 1; +} + +proc setAttribute29() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute30() { + setAttr ".outFormatControl" 0; +} + +proc setAttribute31() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute32() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute33() { + setAttr ".outFormatExt" -type "string" ""; +} + +proc setAttribute34() { + setAttr ".useMayaFileName" yes; +} + +proc setAttribute35() { + setAttr ".useFrameExt" no; +} + +proc setAttribute36() { + setAttr ".putFrameBeforeExt" no; +} + +proc setAttribute37() { + setAttr ".periodInExt" 1; +} + +proc setAttribute38() { + setAttr ".imageFilePrefix" -type "string" "doghouse"; +} + +proc setAttribute39() { + setAttr ".renderVersion" -type "string" ""; +} + +proc setAttribute40() { + setAttr ".composite" no; +} + +proc setAttribute41() { + setAttr ".compositeThreshold" 0; +} + +proc setAttribute42() { + setAttr ".shadowsObeyLightLinking" no; +} + +proc setAttribute43() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute44() { + setAttr ".recursionDepth" 2; +} + +proc setAttribute45() { + setAttr ".leafPrimitives" 200; +} + +proc setAttribute46() { + setAttr ".subdivisionPower" 0.25; +} + +proc setAttribute47() { + setAttr ".subdivisionHashSize" 5; +} + +proc setAttribute48() { + setAttr ".logRenderPerformance" no; +} + +proc setAttribute49() { + setAttr ".geometryVector" 20; +} + +proc setAttribute50() { + setAttr ".shadingVector" 60; +} + +proc setAttribute51() { + setAttr ".maximumMemory" 48; +} + +proc setAttribute52() { + setAttr ".numCpusToUse" 0; +} + +proc setAttribute53() { + setAttr ".interruptFrequency" 1; +} + +proc setAttribute54() { + setAttr ".shadowPass" no; +} + +proc setAttribute55() { + setAttr ".iprShadowPass" no; +} + +proc setAttribute56() { + setAttr ".useFileCache" yes; +} + +proc setAttribute57() { + setAttr ".optimizeInstances" yes; +} + +proc setAttribute58() { + setAttr ".reuseTessellations" yes; +} + +proc setAttribute59() { + setAttr ".matteOpacityUsesTransparency" yes; +} + +proc setAttribute60() { + setAttr ".motionBlur" no; +} + +proc setAttribute61() { + setAttr -keyable on ".motionBlurByFrame" 1; +} + +proc setAttribute62() { + setAttr ".applyFogInPost" no; +} + +proc setAttribute63() { + setAttr ".postFogBlur" 1; +} + +proc setAttribute64() { + setAttr ".preMel" -type "string" ""; +} + +proc setAttribute65() { + setAttr ".postMel" -type "string" ""; +} + +proc setAttribute66() { + setAttr ".preRenderLayerMel" -type "string" ""; +} + +proc setAttribute67() { + setAttr ".postRenderLayerMel" -type "string" ""; +} + +proc setAttribute68() { + setAttr ".preRenderMel" -type "string" ""; +} + +proc setAttribute69() { + setAttr ".postRenderMel" -type "string" ""; +} + +proc setAttribute70() { + setAttr ".preFurRenderMel" -type "string" ""; +} + +proc setAttribute71() { + setAttr ".postFurRenderMel" -type "string" ""; +} + +proc setAttribute72() { + setAttr ".blurLength" 1; +} + +proc setAttribute73() { + setAttr ".blurSharpness" 1; +} + +proc setAttribute74() { + setAttr ".smoothValue" 2; +} + +proc setAttribute75() { + setAttr ".useBlur2DMemoryCap" yes; +} + +proc setAttribute76() { + setAttr ".blur2DMemoryCap" 200; +} + +proc setAttribute77() { + setAttr ".motionBlurType" 1; +} + +proc setAttribute78() { + setAttr ".useDisplacementBoundingBox" yes; +} + +proc setAttribute79() { + setAttr ".smoothColor" no; +} + +proc setAttribute80() { + setAttr ".keepMotionVector" no; +} + +proc setAttribute81() { + setAttr ".iprRenderShading" yes; +} + +proc setAttribute82() { + setAttr ".iprRenderShadowMaps" yes; +} + +proc setAttribute83() { + setAttr ".iprRenderMotionBlur" yes; +} + +proc setAttribute84() { + setAttr ".renderLayerEnable" no; +} + +proc setAttribute85() { + setAttr ".forceTileSize" no; +} + +proc setAttribute86() { + setAttr ".tileWidth" 64; +} + +proc setAttribute87() { + setAttr ".tileHeight" 64; +} + +proc setAttribute88() { + setAttr ".jitterFinalColor" yes; +} + +proc setAttribute89() { + setAttr ".raysSeeBackground" yes; +} + +proc setAttribute90() { + setAttr ".oversamplePaintEffects" no; +} + +proc setAttribute91() { + setAttr ".oversamplePfxPostFilter" no; +} + +proc setAttribute92() { + setAttr ".hyperShadeBinList" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); diff --git a/2009-x64/presets/renderGlobalsPreset_Paul_superLowQualityRaytrace.mel b/2009-x64/presets/renderGlobalsPreset_Paul_superLowQualityRaytrace.mel new file mode 100644 index 0000000..633856a --- /dev/null +++ b/2009-x64/presets/renderGlobalsPreset_Paul_superLowQualityRaytrace.mel @@ -0,0 +1,466 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".macCodec" 1919706400; +} + +proc setAttribute6() { + setAttr ".macDepth" 32; +} + +proc setAttribute7() { + setAttr ".macQual" 1024; +} + +proc setAttribute8() { + setAttr ".comFrrt" 24; +} + +proc setAttribute9() { + setAttr ".ignoreFilmGate" yes; +} + +proc setAttribute10() { + setAttr ".clipFinalShadedColor" yes; +} + +proc setAttribute11() { + setAttr ".enableDepthMaps" yes; +} + +proc setAttribute12() { + setAttr ".enableDefaultLight" yes; +} + +proc setAttribute13() { + setAttr ".currentRenderer" -type "string" "mayaSoftware"; +} + +proc setAttribute14() { + setAttr ".enableStrokeRender" yes; +} + +proc setAttribute15() { + setAttr ".onlyRenderStrokes" no; +} + +proc setAttribute16() { + setAttr ".strokesDepthFile" -type "string" ""; +} + +proc setAttribute17() { + setAttr ".imageFormat" 3; +} + +proc setAttribute18() { + setAttr ".imfPluginKey" -type "string" ""; +} + +proc setAttribute19() { + setAttr ".gammaCorrection" 1; +} + +proc setAttribute20() { + setAttr ".animation" no; +} + +proc setAttribute21() { + setAttr ".animationRange" 1; +} + +proc setAttribute22() { + setAttr ".startFrame" 1; +} + +proc setAttribute23() { + setAttr ".endFrame" 10; +} + +proc setAttribute24() { + setAttr ".byFrameStep" 1; +} + +proc setAttribute25() { + setAttr ".modifyExtension" no; +} + +proc setAttribute26() { + setAttr ".startExtension" 1; +} + +proc setAttribute27() { + setAttr ".byExtension" 1; +} + +proc setAttribute28() { + setAttr ".extensionPadding" 1; +} + +proc setAttribute29() { + setAttr ".fieldExtControl" 0; +} + +proc setAttribute30() { + setAttr ".outFormatControl" 0; +} + +proc setAttribute31() { + setAttr ".oddFieldExt" -type "string" ""; +} + +proc setAttribute32() { + setAttr ".evenFieldExt" -type "string" ""; +} + +proc setAttribute33() { + setAttr ".outFormatExt" -type "string" ""; +} + +proc setAttribute34() { + setAttr ".useMayaFileName" yes; +} + +proc setAttribute35() { + setAttr ".useFrameExt" no; +} + +proc setAttribute36() { + setAttr ".putFrameBeforeExt" no; +} + +proc setAttribute37() { + setAttr ".periodInExt" 1; +} + +proc setAttribute38() { + setAttr ".imageFilePrefix" -type "string" "doghouse"; +} + +proc setAttribute39() { + setAttr ".renderVersion" -type "string" ""; +} + +proc setAttribute40() { + setAttr ".composite" no; +} + +proc setAttribute41() { + setAttr ".compositeThreshold" 0; +} + +proc setAttribute42() { + setAttr ".shadowsObeyLightLinking" no; +} + +proc setAttribute43() { + setAttr ".shadowsObeyShadowLinking" no; +} + +proc setAttribute44() { + setAttr ".recursionDepth" 2; +} + +proc setAttribute45() { + setAttr ".leafPrimitives" 200; +} + +proc setAttribute46() { + setAttr ".subdivisionPower" 0.25; +} + +proc setAttribute47() { + setAttr ".subdivisionHashSize" 5; +} + +proc setAttribute48() { + setAttr ".logRenderPerformance" no; +} + +proc setAttribute49() { + setAttr ".geometryVector" 20; +} + +proc setAttribute50() { + setAttr ".shadingVector" 60; +} + +proc setAttribute51() { + setAttr ".maximumMemory" 48; +} + +proc setAttribute52() { + setAttr ".numCpusToUse" 0; +} + +proc setAttribute53() { + setAttr ".interruptFrequency" 1; +} + +proc setAttribute54() { + setAttr ".shadowPass" no; +} + +proc setAttribute55() { + setAttr ".iprShadowPass" no; +} + +proc setAttribute56() { + setAttr ".useFileCache" yes; +} + +proc setAttribute57() { + setAttr ".optimizeInstances" yes; +} + +proc setAttribute58() { + setAttr ".reuseTessellations" yes; +} + +proc setAttribute59() { + setAttr ".matteOpacityUsesTransparency" yes; +} + +proc setAttribute60() { + setAttr ".motionBlur" no; +} + +proc setAttribute61() { + setAttr -keyable on ".motionBlurByFrame" 1; +} + +proc setAttribute62() { + setAttr ".applyFogInPost" no; +} + +proc setAttribute63() { + setAttr ".postFogBlur" 1; +} + +proc setAttribute64() { + setAttr ".preMel" -type "string" ""; +} + +proc setAttribute65() { + setAttr ".postMel" -type "string" ""; +} + +proc setAttribute66() { + setAttr ".preRenderLayerMel" -type "string" ""; +} + +proc setAttribute67() { + setAttr ".postRenderLayerMel" -type "string" ""; +} + +proc setAttribute68() { + setAttr ".preRenderMel" -type "string" ""; +} + +proc setAttribute69() { + setAttr ".postRenderMel" -type "string" ""; +} + +proc setAttribute70() { + setAttr ".preFurRenderMel" -type "string" ""; +} + +proc setAttribute71() { + setAttr ".postFurRenderMel" -type "string" ""; +} + +proc setAttribute72() { + setAttr ".blurLength" 1; +} + +proc setAttribute73() { + setAttr ".blurSharpness" 1; +} + +proc setAttribute74() { + setAttr ".smoothValue" 2; +} + +proc setAttribute75() { + setAttr ".useBlur2DMemoryCap" yes; +} + +proc setAttribute76() { + setAttr ".blur2DMemoryCap" 200; +} + +proc setAttribute77() { + setAttr ".motionBlurType" 1; +} + +proc setAttribute78() { + setAttr ".useDisplacementBoundingBox" yes; +} + +proc setAttribute79() { + setAttr ".smoothColor" no; +} + +proc setAttribute80() { + setAttr ".keepMotionVector" no; +} + +proc setAttribute81() { + setAttr ".iprRenderShading" yes; +} + +proc setAttribute82() { + setAttr ".iprRenderShadowMaps" yes; +} + +proc setAttribute83() { + setAttr ".iprRenderMotionBlur" yes; +} + +proc setAttribute84() { + setAttr ".renderLayerEnable" no; +} + +proc setAttribute85() { + setAttr ".forceTileSize" no; +} + +proc setAttribute86() { + setAttr ".tileWidth" 64; +} + +proc setAttribute87() { + setAttr ".tileHeight" 64; +} + +proc setAttribute88() { + setAttr ".jitterFinalColor" yes; +} + +proc setAttribute89() { + setAttr ".raysSeeBackground" yes; +} + +proc setAttribute90() { + setAttr ".oversamplePaintEffects" no; +} + +proc setAttribute91() { + setAttr ".oversamplePfxPostFilter" no; +} + +proc setAttribute92() { + setAttr ".hyperShadeBinList" -type "string" ""; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); +catch(setAttribute27()); +catch(setAttribute28()); +catch(setAttribute29()); +catch(setAttribute30()); +catch(setAttribute31()); +catch(setAttribute32()); +catch(setAttribute33()); +catch(setAttribute34()); +catch(setAttribute35()); +catch(setAttribute36()); +catch(setAttribute37()); +catch(setAttribute38()); +catch(setAttribute39()); +catch(setAttribute40()); +catch(setAttribute41()); +catch(setAttribute42()); +catch(setAttribute43()); +catch(setAttribute44()); +catch(setAttribute45()); +catch(setAttribute46()); +catch(setAttribute47()); +catch(setAttribute48()); +catch(setAttribute49()); +catch(setAttribute50()); +catch(setAttribute51()); +catch(setAttribute52()); +catch(setAttribute53()); +catch(setAttribute54()); +catch(setAttribute55()); +catch(setAttribute56()); +catch(setAttribute57()); +catch(setAttribute58()); +catch(setAttribute59()); +catch(setAttribute60()); +catch(setAttribute61()); +catch(setAttribute62()); +catch(setAttribute63()); +catch(setAttribute64()); +catch(setAttribute65()); +catch(setAttribute66()); +catch(setAttribute67()); +catch(setAttribute68()); +catch(setAttribute69()); +catch(setAttribute70()); +catch(setAttribute71()); +catch(setAttribute72()); +catch(setAttribute73()); +catch(setAttribute74()); +catch(setAttribute75()); +catch(setAttribute76()); +catch(setAttribute77()); +catch(setAttribute78()); +catch(setAttribute79()); +catch(setAttribute80()); +catch(setAttribute81()); +catch(setAttribute82()); +catch(setAttribute83()); +catch(setAttribute84()); +catch(setAttribute85()); +catch(setAttribute86()); +catch(setAttribute87()); +catch(setAttribute88()); +catch(setAttribute89()); +catch(setAttribute90()); +catch(setAttribute91()); +catch(setAttribute92()); diff --git a/2009-x64/presets/renderQualityPreset_Paul.mel b/2009-x64/presets/renderQualityPreset_Paul.mel new file mode 100644 index 0000000..be2390f --- /dev/null +++ b/2009-x64/presets/renderQualityPreset_Paul.mel @@ -0,0 +1,136 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".reflections" 1; +} + +proc setAttribute6() { + setAttr ".refractions" 0; +} + +proc setAttribute7() { + setAttr ".shadows" 1; +} + +proc setAttribute8() { + setAttr ".rayTraceBias" 0; +} + +proc setAttribute9() { + setAttr ".edgeAntiAliasing" 3; +} + +proc setAttribute10() { + setAttr ".renderSample" no; +} + +proc setAttribute11() { + setAttr ".useMultiPixelFilter" no; +} + +proc setAttribute12() { + setAttr ".pixelFilterType" 2; +} + +proc setAttribute13() { + setAttr ".pixelFilterWidthX" 2.2000000476837158; +} + +proc setAttribute14() { + setAttr ".pixelFilterWidthY" 2.2000000476837158; +} + +proc setAttribute15() { + setAttr ".plugInFilterWeight" 1; +} + +proc setAttribute16() { + setAttr ".shadingSamples" 1; +} + +proc setAttribute17() { + setAttr ".maxShadingSamples" 1; +} + +proc setAttribute18() { + setAttr ".visibilitySamples" 1; +} + +proc setAttribute19() { + setAttr ".maxVisibilitySamples" 4; +} + +proc setAttribute20() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute21() { + setAttr ".particleSamples" 1; +} + +proc setAttribute22() { + setAttr ".enableRaytracing" yes; +} + +proc setAttribute23() { + setAttr ".redThreshold" 0.40000000596046448; +} + +proc setAttribute24() { + setAttr ".greenThreshold" 0.30000001192092896; +} + +proc setAttribute25() { + setAttr ".blueThreshold" 0.60000002384185791; +} + +proc setAttribute26() { + setAttr ".coverageThreshold" 0.125; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); diff --git a/2009-x64/presets/renderQualityPreset_Paul_draftRaytracing.mel b/2009-x64/presets/renderQualityPreset_Paul_draftRaytracing.mel new file mode 100644 index 0000000..82ae183 --- /dev/null +++ b/2009-x64/presets/renderQualityPreset_Paul_draftRaytracing.mel @@ -0,0 +1,136 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".reflections" 1; +} + +proc setAttribute6() { + setAttr ".refractions" 1; +} + +proc setAttribute7() { + setAttr ".shadows" 1; +} + +proc setAttribute8() { + setAttr ".rayTraceBias" 0; +} + +proc setAttribute9() { + setAttr ".edgeAntiAliasing" 3; +} + +proc setAttribute10() { + setAttr ".renderSample" no; +} + +proc setAttribute11() { + setAttr ".useMultiPixelFilter" no; +} + +proc setAttribute12() { + setAttr ".pixelFilterType" 2; +} + +proc setAttribute13() { + setAttr ".pixelFilterWidthX" 2.2000000476837158; +} + +proc setAttribute14() { + setAttr ".pixelFilterWidthY" 2.2000000476837158; +} + +proc setAttribute15() { + setAttr ".plugInFilterWeight" 1; +} + +proc setAttribute16() { + setAttr ".shadingSamples" 1; +} + +proc setAttribute17() { + setAttr ".maxShadingSamples" 8; +} + +proc setAttribute18() { + setAttr ".visibilitySamples" 1; +} + +proc setAttribute19() { + setAttr ".maxVisibilitySamples" 4; +} + +proc setAttribute20() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute21() { + setAttr ".particleSamples" 1; +} + +proc setAttribute22() { + setAttr ".enableRaytracing" yes; +} + +proc setAttribute23() { + setAttr ".redThreshold" 0.40000000596046448; +} + +proc setAttribute24() { + setAttr ".greenThreshold" 0.30000001192092896; +} + +proc setAttribute25() { + setAttr ".blueThreshold" 0.60000002384185791; +} + +proc setAttribute26() { + setAttr ".coverageThreshold" 0.125; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); diff --git a/2009-x64/presets/renderQualityPreset_Paul_goodRaytrace.mel b/2009-x64/presets/renderQualityPreset_Paul_goodRaytrace.mel new file mode 100644 index 0000000..81f2acb --- /dev/null +++ b/2009-x64/presets/renderQualityPreset_Paul_goodRaytrace.mel @@ -0,0 +1,136 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".reflections" 1; +} + +proc setAttribute6() { + setAttr ".refractions" 4; +} + +proc setAttribute7() { + setAttr ".shadows" 3; +} + +proc setAttribute8() { + setAttr ".rayTraceBias" 0; +} + +proc setAttribute9() { + setAttr ".edgeAntiAliasing" 3; +} + +proc setAttribute10() { + setAttr ".renderSample" no; +} + +proc setAttribute11() { + setAttr ".useMultiPixelFilter" no; +} + +proc setAttribute12() { + setAttr ".pixelFilterType" 2; +} + +proc setAttribute13() { + setAttr ".pixelFilterWidthX" 2.2000000476837158; +} + +proc setAttribute14() { + setAttr ".pixelFilterWidthY" 2.2000000476837158; +} + +proc setAttribute15() { + setAttr ".plugInFilterWeight" 1; +} + +proc setAttribute16() { + setAttr ".shadingSamples" 1; +} + +proc setAttribute17() { + setAttr ".maxShadingSamples" 8; +} + +proc setAttribute18() { + setAttr ".visibilitySamples" 1; +} + +proc setAttribute19() { + setAttr ".maxVisibilitySamples" 4; +} + +proc setAttribute20() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute21() { + setAttr ".particleSamples" 1; +} + +proc setAttribute22() { + setAttr ".enableRaytracing" yes; +} + +proc setAttribute23() { + setAttr ".redThreshold" 0.40000000596046448; +} + +proc setAttribute24() { + setAttr ".greenThreshold" 0.30000001192092896; +} + +proc setAttribute25() { + setAttr ".blueThreshold" 0.60000002384185791; +} + +proc setAttribute26() { + setAttr ".coverageThreshold" 0.125; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); diff --git a/2009-x64/presets/renderQualityPreset_Paul_superLowQuality.mel b/2009-x64/presets/renderQualityPreset_Paul_superLowQuality.mel new file mode 100644 index 0000000..f0a58bc --- /dev/null +++ b/2009-x64/presets/renderQualityPreset_Paul_superLowQuality.mel @@ -0,0 +1,136 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".reflections" 0; +} + +proc setAttribute6() { + setAttr ".refractions" 0; +} + +proc setAttribute7() { + setAttr ".shadows" 1; +} + +proc setAttribute8() { + setAttr ".rayTraceBias" 0; +} + +proc setAttribute9() { + setAttr ".edgeAntiAliasing" 3; +} + +proc setAttribute10() { + setAttr ".renderSample" no; +} + +proc setAttribute11() { + setAttr ".useMultiPixelFilter" no; +} + +proc setAttribute12() { + setAttr ".pixelFilterType" 2; +} + +proc setAttribute13() { + setAttr ".pixelFilterWidthX" 2.2000000476837158; +} + +proc setAttribute14() { + setAttr ".pixelFilterWidthY" 2.2000000476837158; +} + +proc setAttribute15() { + setAttr ".plugInFilterWeight" 1; +} + +proc setAttribute16() { + setAttr ".shadingSamples" 1; +} + +proc setAttribute17() { + setAttr ".maxShadingSamples" 1; +} + +proc setAttribute18() { + setAttr ".visibilitySamples" 1; +} + +proc setAttribute19() { + setAttr ".maxVisibilitySamples" 4; +} + +proc setAttribute20() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute21() { + setAttr ".particleSamples" 1; +} + +proc setAttribute22() { + setAttr ".enableRaytracing" no; +} + +proc setAttribute23() { + setAttr ".redThreshold" 0.40000000596046448; +} + +proc setAttribute24() { + setAttr ".greenThreshold" 0.30000001192092896; +} + +proc setAttribute25() { + setAttr ".blueThreshold" 0.60000002384185791; +} + +proc setAttribute26() { + setAttr ".coverageThreshold" 0.125; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); diff --git a/2009-x64/presets/renderQualityPreset_Paul_superLowQualityRaytrace.mel b/2009-x64/presets/renderQualityPreset_Paul_superLowQualityRaytrace.mel new file mode 100644 index 0000000..be2390f --- /dev/null +++ b/2009-x64/presets/renderQualityPreset_Paul_superLowQualityRaytrace.mel @@ -0,0 +1,136 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr ".reflections" 1; +} + +proc setAttribute6() { + setAttr ".refractions" 0; +} + +proc setAttribute7() { + setAttr ".shadows" 1; +} + +proc setAttribute8() { + setAttr ".rayTraceBias" 0; +} + +proc setAttribute9() { + setAttr ".edgeAntiAliasing" 3; +} + +proc setAttribute10() { + setAttr ".renderSample" no; +} + +proc setAttribute11() { + setAttr ".useMultiPixelFilter" no; +} + +proc setAttribute12() { + setAttr ".pixelFilterType" 2; +} + +proc setAttribute13() { + setAttr ".pixelFilterWidthX" 2.2000000476837158; +} + +proc setAttribute14() { + setAttr ".pixelFilterWidthY" 2.2000000476837158; +} + +proc setAttribute15() { + setAttr ".plugInFilterWeight" 1; +} + +proc setAttribute16() { + setAttr ".shadingSamples" 1; +} + +proc setAttribute17() { + setAttr ".maxShadingSamples" 1; +} + +proc setAttribute18() { + setAttr ".visibilitySamples" 1; +} + +proc setAttribute19() { + setAttr ".maxVisibilitySamples" 4; +} + +proc setAttribute20() { + setAttr ".volumeSamples" 1; +} + +proc setAttribute21() { + setAttr ".particleSamples" 1; +} + +proc setAttribute22() { + setAttr ".enableRaytracing" yes; +} + +proc setAttribute23() { + setAttr ".redThreshold" 0.40000000596046448; +} + +proc setAttribute24() { + setAttr ".greenThreshold" 0.30000001192092896; +} + +proc setAttribute25() { + setAttr ".blueThreshold" 0.60000002384185791; +} + +proc setAttribute26() { + setAttr ".coverageThreshold" 0.125; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); +catch(setAttribute17()); +catch(setAttribute18()); +catch(setAttribute19()); +catch(setAttribute20()); +catch(setAttribute21()); +catch(setAttribute22()); +catch(setAttribute23()); +catch(setAttribute24()); +catch(setAttribute25()); +catch(setAttribute26()); diff --git a/2009-x64/presets/resolutionPreset_Paul.mel b/2009-x64/presets/resolutionPreset_Paul.mel new file mode 100644 index 0000000..d1e7445 --- /dev/null +++ b/2009-x64/presets/resolutionPreset_Paul.mel @@ -0,0 +1,86 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr -keyable on ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr -keyable on ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr -alteredValue ".width" 1920; +} + +proc setAttribute6() { + setAttr -alteredValue ".height" 1200; +} + +proc setAttribute7() { + setAttr ".pixelAspect" 1.0659999847412109; +} + +proc setAttribute8() { + setAttr ".aspectLock" no; +} + +proc setAttribute9() { + setAttr -alteredValue ".deviceAspectRatio" 1.7056000232696533; +} + +proc setAttribute10() { + setAttr ".lockDeviceAspectRatio" no; +} + +proc setAttribute11() { + setAttr ".dotsPerInch" 72; +} + +proc setAttribute12() { + setAttr -keyable on ".oddFieldFirst" yes; +} + +proc setAttribute13() { + setAttr -keyable on ".fields" 0; +} + +proc setAttribute14() { + setAttr -keyable on ".zerothScanline" 0; +} + +proc setAttribute15() { + setAttr ".imageSizeUnits" 0; +} + +proc setAttribute16() { + setAttr ".pixelDensityUnits" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); diff --git a/2009-x64/presets/resolutionPreset_Paul_draftRaytracing.mel b/2009-x64/presets/resolutionPreset_Paul_draftRaytracing.mel new file mode 100644 index 0000000..43356a6 --- /dev/null +++ b/2009-x64/presets/resolutionPreset_Paul_draftRaytracing.mel @@ -0,0 +1,86 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr -keyable on ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr -keyable on ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr -alteredValue ".width" 1200; +} + +proc setAttribute6() { + setAttr -alteredValue ".height" 800; +} + +proc setAttribute7() { + setAttr ".pixelAspect" 1; +} + +proc setAttribute8() { + setAttr ".aspectLock" no; +} + +proc setAttribute9() { + setAttr -alteredValue ".deviceAspectRatio" 1.5; +} + +proc setAttribute10() { + setAttr ".lockDeviceAspectRatio" no; +} + +proc setAttribute11() { + setAttr ".dotsPerInch" 72; +} + +proc setAttribute12() { + setAttr -keyable on ".oddFieldFirst" yes; +} + +proc setAttribute13() { + setAttr -keyable on ".fields" 0; +} + +proc setAttribute14() { + setAttr -keyable on ".zerothScanline" 0; +} + +proc setAttribute15() { + setAttr ".imageSizeUnits" 0; +} + +proc setAttribute16() { + setAttr ".pixelDensityUnits" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); diff --git a/2009-x64/presets/resolutionPreset_Paul_goodRaytrace.mel b/2009-x64/presets/resolutionPreset_Paul_goodRaytrace.mel new file mode 100644 index 0000000..43356a6 --- /dev/null +++ b/2009-x64/presets/resolutionPreset_Paul_goodRaytrace.mel @@ -0,0 +1,86 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr -keyable on ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr -keyable on ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr -alteredValue ".width" 1200; +} + +proc setAttribute6() { + setAttr -alteredValue ".height" 800; +} + +proc setAttribute7() { + setAttr ".pixelAspect" 1; +} + +proc setAttribute8() { + setAttr ".aspectLock" no; +} + +proc setAttribute9() { + setAttr -alteredValue ".deviceAspectRatio" 1.5; +} + +proc setAttribute10() { + setAttr ".lockDeviceAspectRatio" no; +} + +proc setAttribute11() { + setAttr ".dotsPerInch" 72; +} + +proc setAttribute12() { + setAttr -keyable on ".oddFieldFirst" yes; +} + +proc setAttribute13() { + setAttr -keyable on ".fields" 0; +} + +proc setAttribute14() { + setAttr -keyable on ".zerothScanline" 0; +} + +proc setAttribute15() { + setAttr ".imageSizeUnits" 0; +} + +proc setAttribute16() { + setAttr ".pixelDensityUnits" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); diff --git a/2009-x64/presets/resolutionPreset_Paul_superLowQuality.mel b/2009-x64/presets/resolutionPreset_Paul_superLowQuality.mel new file mode 100644 index 0000000..d1e7445 --- /dev/null +++ b/2009-x64/presets/resolutionPreset_Paul_superLowQuality.mel @@ -0,0 +1,86 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr -keyable on ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr -keyable on ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr -alteredValue ".width" 1920; +} + +proc setAttribute6() { + setAttr -alteredValue ".height" 1200; +} + +proc setAttribute7() { + setAttr ".pixelAspect" 1.0659999847412109; +} + +proc setAttribute8() { + setAttr ".aspectLock" no; +} + +proc setAttribute9() { + setAttr -alteredValue ".deviceAspectRatio" 1.7056000232696533; +} + +proc setAttribute10() { + setAttr ".lockDeviceAspectRatio" no; +} + +proc setAttribute11() { + setAttr ".dotsPerInch" 72; +} + +proc setAttribute12() { + setAttr -keyable on ".oddFieldFirst" yes; +} + +proc setAttribute13() { + setAttr -keyable on ".fields" 0; +} + +proc setAttribute14() { + setAttr -keyable on ".zerothScanline" 0; +} + +proc setAttribute15() { + setAttr ".imageSizeUnits" 0; +} + +proc setAttribute16() { + setAttr ".pixelDensityUnits" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); diff --git a/2009-x64/presets/resolutionPreset_Paul_superLowQualityRaytrace.mel b/2009-x64/presets/resolutionPreset_Paul_superLowQualityRaytrace.mel new file mode 100644 index 0000000..d1e7445 --- /dev/null +++ b/2009-x64/presets/resolutionPreset_Paul_superLowQualityRaytrace.mel @@ -0,0 +1,86 @@ +// Preset version 7.0 +// This file generated by Maya using the nodePreset command. +// Edit this file at your own risk. +// +proc setAttribute1() { + setAttr -keyable on ".caching" no; +} + +proc setAttribute2() { + setAttr ".isHistoricallyInteresting" 2; +} + +proc setAttribute3() { + setAttr -keyable on ".nodeState" 0; +} + +proc setAttribute4() { + setAttr ".binMembership" -type "string" ""; +} + +proc setAttribute5() { + setAttr -alteredValue ".width" 1920; +} + +proc setAttribute6() { + setAttr -alteredValue ".height" 1200; +} + +proc setAttribute7() { + setAttr ".pixelAspect" 1.0659999847412109; +} + +proc setAttribute8() { + setAttr ".aspectLock" no; +} + +proc setAttribute9() { + setAttr -alteredValue ".deviceAspectRatio" 1.7056000232696533; +} + +proc setAttribute10() { + setAttr ".lockDeviceAspectRatio" no; +} + +proc setAttribute11() { + setAttr ".dotsPerInch" 72; +} + +proc setAttribute12() { + setAttr -keyable on ".oddFieldFirst" yes; +} + +proc setAttribute13() { + setAttr -keyable on ".fields" 0; +} + +proc setAttribute14() { + setAttr -keyable on ".zerothScanline" 0; +} + +proc setAttribute15() { + setAttr ".imageSizeUnits" 0; +} + +proc setAttribute16() { + setAttr ".pixelDensityUnits" 0; +} + +// The following code will be executed by sourcing this file +// +catch(setAttribute1()); +catch(setAttribute2()); +catch(setAttribute3()); +catch(setAttribute4()); +catch(setAttribute5()); +catch(setAttribute6()); +catch(setAttribute7()); +catch(setAttribute8()); +catch(setAttribute9()); +catch(setAttribute10()); +catch(setAttribute11()); +catch(setAttribute12()); +catch(setAttribute13()); +catch(setAttribute14()); +catch(setAttribute15()); +catch(setAttribute16()); diff --git a/2009-x64/projects/default/workspace.mel b/2009-x64/projects/default/workspace.mel new file mode 100644 index 0000000..b55982d --- /dev/null +++ b/2009-x64/projects/default/workspace.mel @@ -0,0 +1,26 @@ +//Maya 2008 Extension 2 Project Definition + +workspace -ot "scene" "scenes"; +workspace -fr "iprImages" "renderData/iprImages"; +workspace -fr "IGES" "data"; +workspace -fr "DXFexport" "data"; +workspace -fr "lights" "renderData/shaders"; +workspace -fr "OBJexport" "data"; +workspace -fr "textures" "textures"; +workspace -fr "audio" "sound"; +workspace -fr "particles" "particles"; +workspace -fr "image" "images"; +workspace -fr "RIBexport" "data"; +workspace -fr "RIB" "data"; +workspace -fr "aliasWire" "data"; +workspace -fr "move" "data"; +workspace -fr "DXF" "data"; +workspace -fr "clips" "clips"; +workspace -fr "depth" "renderData/depth"; +workspace -fr "animExport" "data"; +workspace -fr "diskCache" "data"; +workspace -fr "OBJ" "data"; +workspace -fr "sourceImages" "sourceimages"; +workspace -fr "animImport" "data"; +workspace -rt "renderScenes" "renderScenes"; +workspace -rt "images" "images"; diff --git a/2009-x64/pyScripts/paul/__init__.py b/2009-x64/pyScripts/paul/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/2009-x64/pyScripts/paul/getDrive.py b/2009-x64/pyScripts/paul/getDrive.py new file mode 100644 index 0000000..88835ca --- /dev/null +++ b/2009-x64/pyScripts/paul/getDrive.py @@ -0,0 +1,85 @@ +import subprocess + +MAXTOR_SERIAL = 0x00586720; # Maxtor 7Y250M0 250GB #2 +IAUDIO_SERIAL = 0x437E07ED; # 1132333037 decimal + +def getVol(): + return shellOutput("vol") + +############################################################ +# from pymel.mayahook.mayautils +############################################################ + +def executableOutput(exeAndArgs, convertNewlines=True, stripTrailingNewline=True, **kwargs): + """Will return the text output of running the given executable with the given arguments. + + This is just a convenience wrapper for subprocess.Popen, so the exeAndArgs argment + should have the same format as the first argument to Popen: ie, either a single string + giving the executable, or a list where the first element is the executable and the rest + are arguments. + + convertNewlines: if True, will replace os-specific newlines (ie, '\r\n' on Windows) with + the standard '\n' newline + + stripTrailingNewline: if True, and the output from the executable contains a final newline, + it is removed from the return value + Note: the newline that is stripped is the one given by os.linesep, not '\n' + + kwargs are passed onto subprocess.Popen + + Note that if the keyword arg 'stdout' is supplied (and is something other than subprocess.PIPE), + then the return will be empty - you must check the file object supplied as the stdout yourself. + + Also, 'stderr' is given the default value of subprocess.STDOUT, so that the return will be + the combined output of stdout and stderr. + + Finally, since maya's python build doesn't support universal_newlines, this is always set to False - + however, set convertNewlines to True for an equivalent result.""" + + kwargs.setdefault('stdout', subprocess.PIPE) + kwargs.setdefault('stderr', subprocess.STDOUT) + + cmdProcess = subprocess.Popen(exeAndArgs, **kwargs) + cmdOutput = cmdProcess.communicate()[0] + + if stripTrailingNewline and cmdOutput.endswith(os.linesep): + cmdOutput = cmdOutput[:-len(os.linesep)] + + if convertNewlines: + cmdOutput = cmdOutput.replace(os.linesep, '\n') + return cmdOutput + +def shellOutput(shellCommand, convertNewlines=True, stripTrailingNewline=True, **kwargs): + """Will return the text output of running a given shell command. + + convertNewlines: if True, will replace os-specific newlines (ie, '\r\n' on Windows) with + the standard '\n' newline + + stripTrailingNewline: if True, and the output from the shell contains a final newline, + it is removed from the return value + Note: the newline that is stripped is the one given by os.linesep, not '\n' + + With default arguments, behaves like commands.getoutput(shellCommand), + except it works on windows as well. + + kwargs are passed onto subprocess.Popen + + Note that if the keyword arg 'stdout' is supplied (and is something other than subprocess.PIPE), + then the return will be empty - you must check the file object supplied as the stdout yourself. + + Also, 'stderr' is given the default value of subprocess.STDOUT, so that the return will be + the combined output of stdout and stderr. + + Finally, since maya's python build doesn't support universal_newlines, this is always set to False - + however, set convertNewlines to True for an equivalent result.""" + + # commands module not supported on windows... use subprocess + kwargs['shell'] = True + kwargs['convertNewlines'] = convertNewlines + kwargs['stripTrailingNewline'] = stripTrailingNewline + return executableOutput(shellCommand, **kwargs) + + +############################################################ +# end from pymel.mayahook.mayautils +############################################################ diff --git a/2009-x64/pyScripts/paul/test.py b/2009-x64/pyScripts/paul/test.py new file mode 100644 index 0000000..d0b4119 --- /dev/null +++ b/2009-x64/pyScripts/paul/test.py @@ -0,0 +1,38 @@ +import sys, inspect + +if globals().get('version', False): + version += 1 +else: + version = 1 + +def isCurrentModule(): + """ + Because reloading the module can leave "outdated" scriptJobs, + this allows a mechanism to check if a reload has been done + """ + # Get the code object of calling function... + callerCode = sys._getframe(1).f_code + # ... and it's name... + callerName = callerCode.co_name + # ... and module... + callerModule = inspect.getmodule(callerCode) + + funcFromModule = getattr(callerModule, callerName) + codeFromModule = funcFromModule.func_code + + #TODO: remp + print __name__ + print "isCurrentModule determined name:", callerName + print "in globals:", globals()[callerName] + print "callerModule:", callerModule + print "globals()[callerName.func_code == callerCode", globals()[callerName].func_code == callerCode + print "globals()[callerName.func_code is callerCode", globals()[callerName].func_code is callerCode + print "codeFromModule == callerCode", codeFromModule == callerCode + print "codeFromModule is callerCode", codeFromModule is callerCode + +def foo(fooVersion=version): + blah = "altered shit" + print "module version:", version + print "foo version:", fooVersion + current = isCurrentModule() + print "currentModule?", current diff --git a/2009-x64/pyScripts/paul/testDocTest.py b/2009-x64/pyScripts/paul/testDocTest.py new file mode 100644 index 0000000..66ce8f9 --- /dev/null +++ b/2009-x64/pyScripts/paul/testDocTest.py @@ -0,0 +1,59 @@ +import sys, doctest + +def myFunc(): + """ + >>> a = 1 + >>> a + 1 + >>> + """ + pass + +def doTest(setStdout, cleanup=None): + save_stdout = sys.stdout + + try: + setStdout() + try: + result = doctest.testmod(sys.modules[__name__]) + finally: + sys.stdout = save_stdout + if result[0]: + print "%s Failed!!!" % setStdout.__name__ + else: + print "%s Succeeded!!!" % setStdout.__name__ + finally: + if cleanup: + cleanup() + +def paul(): + sys.stdout = sys.__stdout__ + +def olivier(): + reload(sys) + +def chad(): + fout = open('templog', 'w') + +fout = None +def chad(): + global fout + fout = open('templog', 'w') + sys.stdout = fout + +def chadClean(): + global fout + fout.close() + +def testPaul(): + doTest(paul) + +def testOlivier(): + doTest(olivier) + +def testChad(): + doTest(chad, chadClean) + +testPaul() +testOlivier() +testChad() \ No newline at end of file diff --git a/2009-x64/pyScripts/paul/testUI.py b/2009-x64/pyScripts/paul/testUI.py new file mode 100644 index 0000000..55f6fca --- /dev/null +++ b/2009-x64/pyScripts/paul/testUI.py @@ -0,0 +1,41 @@ +myModVar = "Hi there, from test.py" + +def testUiFunc_module(*args, **kwargs): + print myModVar + +def makeTestUiFunc_func(): + localVar = "More stuff" + def testUiFunc_func(*args, **kwargs): + print myModVar + print localVar + return testUiFunc + +def makeTestUiFunc_loop(): + for i in [1]: + loopVar = "defined in a loop!" + def testUiFunc_loop(*args, **kwargs): + print myModVar + print loopVar + return testUiFunc + +class TestUiFuncMaker(object): + classVar = "defined in a class" + def testUiFunc_class(*args, **kwargs): + print myModVar + print classVar + +class TestUiFuncMakerLoop(object): + for i in [1]: + classLoopVar = "defined in a loop in a class!" + def testUiFunc_classLoop(*args, **kwargs): + print myModVar + print classVar + +class TestUiFuncMaker3(object): + def __init__(self, instStr): + self.string = instStr + def maker(self, string): + def myUiFunc(*args, **kwargs): + print self.string + print string + return myUiFunc diff --git a/2009-x64/scripts/userSetup.mel b/2009-x64/scripts/userSetup.mel new file mode 100644 index 0000000..a9dcd0f --- /dev/null +++ b/2009-x64/scripts/userSetup.mel @@ -0,0 +1,107 @@ +print "Starting userSetup.mel...\n"; + +// Set the time before popuphelp is displayed, in ms +help -popupPauseTime 400; + +// Enable Help Line +if(! `about -batch`) +{ + // No longer needed - correctly remembers help line in prefs + // string $helpLineComponent = "Help Line"; + // if( `exists "isUIComponentVisible"` + // && !isUIComponentVisible($helpLineComponent)) + // { + // toggleUIComponentVisibility($helpLineComponent); + // } + + abxSmartKey; + + + + + + if(`exists "bonusToolsMenu"`) + { + +//////////////////////////////// +// bonusTools userSetup.mel +//////////////////////////////// +// +// if you have an existing userSetup.mel file you will need to append +// this code to have all the bonusTools available +// cut and paste the contents of this file into your existing userSetup.mel +// and restart maya to get the full effect + +// scriptJob to rebuild menu as working mode changes + scriptJob + -permanent + -event "MenuModeChanged" "bonusToolsMenu"; + +// build the menu the first time + bonusToolsMenu; + +// publish (ctrl+RMB in channelBox) +// aka Quick Connect Attributes +// uncomment the next line if you wish to use this functionality +//publish; + + +/////////////////////////////////// +// end bonusTools userSetUp.mel +/////////////////////////////////// + } + + source "cometMenu.mel" ; + +// OMToolbox userSetup + scriptJob + -permanent + -event "MenuModeChanged" "OMT_toolboxMenu"; + OMT_toolboxMenu; +// OMT Stop + +//cpsInstallMenu; // Install CPS menu entry in Maya's main window. This line was created by cpsSetup. + +/// In 2009, need to call buildFileMenu before adding anything to it! + global string $gMainFileMenu; + string $fileMenuItems[] = `menu -q -ia $gMainFileMenu`; + if(size($fileMenuItems)==0) + { + buildFileMenu; + } + ajrAutoSave(); + + +//source NPautoSave; + +// Filter out the 'currentTime -q;' commands that happen when you move a window +// when "Echo All Commands" is on... + global proc addCurrentTimeEchoFilter() + { + string $echoFilter[] = `commandEcho -q -filter`; + $echoFilter[size($echoFilter)] = "currentTime -q"; + commandEcho -filter $echoFilter; + } + + evalDeferred -lowestPriority "addCurrentTimeEchoFilter()"; + + + PMP_setProjectOnSceneOpen(true); +} +//Mapy +//commandPort -eo -n ":2255"; + +//create alias' +source "PMP_getDef.mel"; +alias h help -doc; +alias w whatIs; +alias d PMP_printDef; +alias l listProcs; +alias e PMP_edit; +global proc hw() +{ + python("import PMP.maya"); + python("PMP.maya.hw()"); +} + +print "Finished userSetup.mel...\n"; diff --git a/2009-x64/scripts/userSetup.py b/2009-x64/scripts/userSetup.py new file mode 100644 index 0000000..049879e --- /dev/null +++ b/2009-x64/scripts/userSetup.py @@ -0,0 +1,284 @@ +if not globals().get('_USER_SETUP_EXECUTED', False): + _USER_SETUP_EXECUTED = True + + IMPORT_PYMEL = True + VERBOSE = True + ADDMAYAPATHS = True + + if VERBOSE: + print "userSetup.py..." + + if VERBOSE: + print "Trying to run startup.py..." + import os, sys + filename = os.environ.get('PYTHONSTARTUP') + if filename and os.path.isfile(filename): + execfile(filename) + if VERBOSE: + print "Finished startup.py..." + else: + print "Could not load PYTHONSTARTUP - '%s'" % filename + from PMP.sysUtils import setDefaultEnvValue + + def addToPath(path): + import PMP.sysUtils + return PMP.sysUtils.addToPath(path, verbose=VERBOSE) + + import maya.cmds as cmds + from maya.cmds import * + # So that standard python builtins, like 'open', are preserved + from __builtin__ import * + import maya.mel as mel + from maya.mel import eval as meval + import maya.OpenMaya as api + + # If executed by a normal maya startup, __file__ will not be defined... + # ...but in that case, cmds.internalVar(userScriptDir=1) should work + try: + _thisModuleDir = cmds.internalVar(userScriptDir=1) + except: + _thisModuleDir = os.path.dirname(__file__) + _thisModuleDir = os.path.realpath(_thisModuleDir) + + eclipseProjects = (os.path.join('pymelProject', 'pymel'), + os.path.join('abxPickerProject', 'abxPicker'), + os.path.join('heatWeightProject', 'src'), + os.path.join('TempScripts', 'src')) + # workspaces = (r"C:\Dev\Projects\eclipse\workspace", + # os.path.join(os.environ['USB_ROOT'], "HomeMirror", "iAudioApps", "eclipse", "workspace")) + workspaces = [os.path.join(os.environ['PAUL_C_DRIVE'], + *("Dev/Projects/eclipse/workspace".split('/')))] + workspaces = [workspace for workspace in workspaces if os.path.isdir(workspace)] + for project in eclipseProjects: + for projectDir in [os.path.join(workspace, project) for workspace in workspaces]: + if os.path.isdir(projectDir): + addToPath(projectDir) + break + + # Note that using these functions ONLY works within userSetup.py, as + # we are setting the versionedDir/appDir by assuming that userSetup.py is located at: + # mayaAppDir/mayaVersionedAppDir/scripts/userSetup.py + + @setDefaultEnvValue('MAYA_VERSIONED_SETTINGS_DIR') + def setMayaVersionedAppDir(): + return os.path.dirname(_thisModuleDir) + + @setDefaultEnvValue('MAYA_APP_DIR') + def setMayaAppDir(): + return os.path.dirname(setMayaVersionedAppDir()) + + @setDefaultEnvValue('MAYA_LOCATION') + def setMayaLocation(): + for dir in (r"C:\3D\Maya2008", r"C:\Program Files\Autodesk\Maya2008"): + if os.path.isdir(dir): + return dir + + #@setDefaultEnvValue('PYMEL') + #def setPymelLocation(): + # return os.path.join(setMayaVersionedAppDir(), "PyMelBase") + + # Note also that we shouldn't need to call mayaVersionedAppDir in order to + # set the env. var, as it is called by setMayaAppDir, but I'm doing it anyway, just + # to be safe + setMayaVersionedAppDir() + setMayaAppDir() + setMayaLocation() + + #addToPath(_thisModuleDir) + + if IMPORT_PYMEL: + pymelImported = True + if VERBOSE: + print "Trying to import pymel..." + try: + from pymel.all import * + except ImportError: + try: + from pymel import * + except Exception: + pymelImported = False + except Exception: + pymelImported = False + + if pymelImported: + if VERBOSE: + print "pymel successfully imported!" + from pymel.util import refreshEnviron + try: + from tests.pymel_test import nose_test as pymel_test + except Exception: + print "failed to import pymel_test" + if VERBOSE: + import traceback + traceback.print_exc() + else: + print "pymel import failed..." + if VERBOSE: + import traceback + traceback.print_exc() + + if 'refreshEnviron' not in locals(): + import platform, subprocess + + if VERBOSE: + print "refreshEnviron not loaded from pymel, defining..." + + def executableOutput(exeAndArgs, convertNewlines=True, stripTrailingNewline=True, **kwargs): + """Will return the text output of running the given executable with the given arguments. + + This is just a convenience wrapper for subprocess.Popen, so the exeAndArgs argment + should have the same format as the first argument to Popen: ie, either a single string + giving the executable, or a list where the first element is the executable and the rest + are arguments. + + convertNewlines: if True, will replace os-specific newlines (ie, '\r\n' on Windows) with + the standard '\n' newline + + stripTrailingNewline: if True, and the output from the executable contains a final newline, + it is removed from the return value + Note: the newline that is stripped is the one given by os.linesep, not '\n' + + kwargs are passed onto subprocess.Popen + + Note that if the keyword arg 'stdout' is supplied (and is something other than subprocess.PIPE), + then the return will be empty - you must check the file object supplied as the stdout yourself. + + Also, 'stderr' is given the default value of subprocess.STDOUT, so that the return will be + the combined output of stdout and stderr. + + Finally, since maya's python build doesn't support universal_newlines, this is always set to False - + however, set convertNewlines to True for an equivalent result.""" + + kwargs.setdefault('stdout', subprocess.PIPE) + kwargs.setdefault('stderr', subprocess.STDOUT) + + cmdProcess = subprocess.Popen(exeAndArgs, **kwargs) + cmdOutput = cmdProcess.communicate()[0] + + if stripTrailingNewline and cmdOutput.endswith(os.linesep): + cmdOutput = cmdOutput[:-len(os.linesep)] + + if convertNewlines: + cmdOutput = cmdOutput.replace(os.linesep, '\n') + return cmdOutput + + def shellOutput(shellCommand, convertNewlines=True, stripTrailingNewline=True, **kwargs): + """Will return the text output of running a given shell command. + + convertNewlines: if True, will replace os-specific newlines (ie, '\r\n' on Windows) with + the standard '\n' newline + + stripTrailingNewline: if True, and the output from the shell contains a final newline, + it is removed from the return value + Note: the newline that is stripped is the one given by os.linesep, not '\n' + + With default arguments, behaves like commands.getoutput(shellCommand), + except it works on windows as well. + + kwargs are passed onto subprocess.Popen + + Note that if the keyword arg 'stdout' is supplied (and is something other than subprocess.PIPE), + then the return will be empty - you must check the file object supplied as the stdout yourself. + + Also, 'stderr' is given the default value of subprocess.STDOUT, so that the return will be + the combined output of stdout and stderr. + + Finally, since maya's python build doesn't support universal_newlines, this is always set to False - + however, set convertNewlines to True for an equivalent result.""" + + # commands module not supported on windows... use subprocess + kwargs['shell'] = True + kwargs['convertNewlines'] = convertNewlines + kwargs['stripTrailingNewline'] = stripTrailingNewline + return executableOutput(shellCommand, **kwargs) + + + def refreshEnviron(): + """ + copy the shell environment into python's environment, as stored in os.environ + """ + exclude = ['SHLVL'] + + if platform.system() in ('Darwin', 'Linux'): + cmd = '/usr/bin/env' + else: + cmd = 'set' + + cmdOutput = shellOutput(cmd) + #print "ENV", cmdOutput + # use splitlines rather than split('\n') for better handling of different + # newline characters on various os's + for line in cmdOutput.splitlines(): + # need the check for '=' in line b/c on windows (and perhaps on other systems? orenouard?), an extra empty line may be appended + if '=' in line: + var, val = line.split('=', 1) # split at most once, so that lines such as 'smiley==)' will work + if not var.startswith('_') and var not in exclude: + os.environ[var] = val + + refreshEnviron() + + import PMP.mayaUtils + import PMP.maya.fileUtils + from PMP.maya import hw + + for path in (r"C:\Program Files\Autodesk\MayaBonusTools%d\python" % PMP.mayaUtils.getMayaVersion(), + r"C:\MayaBonusTools%d\python" % PMP.mayaUtils.getMayaVersion(), + os.path.join(os.environ["OMTOOLBOX"], "pyScripts"), + os.path.join(os.environ["PAUL_SCRIPTS"], "pyScripts"), + os.path.join(os.environ["PAUL_C_DRIVE"], + *r"Dev\eclipse\plugins\org.python.pydev.debug_1.4.5.2727\pysrc".split('\\')) + ): + try: + addToPath(path) + except Exception: + print "Error adding %s to python path..." % path + + # Unfortunately, it seems the point at which userSetup.py is run is + # too late to update MAYA_PLUG_IN_PATH + + # extraPluginDir = os.environ['MAYA_VERSIONED_SETTINGS_DIR'] + # if cmds.about(is64=True): + # extraPluginDir += 'plug-ins 64-bit' + # else: + # extraPluginDir += 'plug-ins 32-bit' + # os.environ['MAYA_PLUG_IN_PATH'] = os.environ['MAYA_PLUG_IN_PATH'] + os.pathsep + extraPluginDir + + PMP.maya.fileUtils.addProjectToPythonPath() + workspaceChangedScriptJob = cmds.scriptJob(event=["workspaceChanged", + "import PMP.maya.fileUtils;PMP.maya.fileUtils.addProjectToPythonPath()" + ]) + PMP.maya.fileUtils.openLastProject(verbose=VERBOSE) + + ##################################################### + + #for path in sys.path: + # if "pymel" in path.lower(): + + + # Old interactive console setup: + + #import os, os.path, platform + # + ##os.environ['MAYA_APP_DIR'] = os.path.join(os.environ['USERPROFILE'], 'My Documents', 'maya') + # + #if(os.environ['USERNAME'] == "Elrond"): + # os.environ['MAYA_LOCATION'] = r"C:\3D\Maya2008" + # #paulLocation = "home" + #else: + # os.environ['MAYA_LOCATION'] = r"C:\Program Files\Autodesk\Maya2008" + # #paulLocation = "expression" + # + ##import maya.standalone + ##maya.standalone.initialize('eclipse') + ##import pymel + # + #versionName = '2008' + #if platform.system() in ('Microsoft', 'Windows') and (os.environ['PROCESSOR_ARCHITECTURE'] == 'AMD64'): + # versionName += '-x64' + # + ##sys.path.append(os.path.join(os.environ['MAYA_APP_DIR'], versionName, 'scripts')) + # + ##from userSetup import * + + if VERBOSE: + print "...userSetup.py finished!!" diff --git a/2009-x64/scripts/userSetup.py.SET_SYS_PATH b/2009-x64/scripts/userSetup.py.SET_SYS_PATH new file mode 100644 index 0000000..b7c1a93 --- /dev/null +++ b/2009-x64/scripts/userSetup.py.SET_SYS_PATH @@ -0,0 +1,12 @@ +import maya.cmds as cmds +import os +import sys + +MAYA_SEP = '/' + +def correctSysPath(): + for i, path in enumerate(sys.path): + if path[-1] in (MAYA_SEP, os.sep, os.altsep): + sys.path[i] = sys.path[i][:-1] + +correctSysPath() diff --git a/2009-x64/scripts/userSetup.py.bak b/2009-x64/scripts/userSetup.py.bak new file mode 100644 index 0000000..c823321 --- /dev/null +++ b/2009-x64/scripts/userSetup.py.bak @@ -0,0 +1,272 @@ +if not globals().get('_USER_SETUP_EXECUTED', False): + _USER_SETUP_EXECUTED = True + + IMPORT_PYMEL = True + VERBOSE = False + ADDMAYAPATHS = True + + if VERBOSE: + print "userSetup.py..." + + if VERBOSE: + print "Trying to run startup.py..." + import os, sys + filename = os.environ.get('PYTHONSTARTUP') + if filename and os.path.isfile(filename): + execfile(filename) + if VERBOSE: + print "Finished startup.py..." + else: + print "Could not load PYTHONSTARTUP - '%s'" % filename + from PMP.sysUtils import setDefaultEnvValue + + def addToPath(path): + import PMP.sysUtils + return PMP.sysUtils.addToPath(path, verbose=VERBOSE) + + import maya.cmds as cmds + from maya.cmds import * + # So that standard python builtins, like 'open', are preserved + from __builtin__ import * + import maya.mel as mel + from maya.mel import eval as meval + import maya.OpenMaya as api + + # If executed by a normal maya startup, __file__ will not be defined... + # ...but in that case, cmds.internalVar(userScriptDir=1) should work + try: + _thisModuleDir = cmds.internalVar(userScriptDir=1) + except: + _thisModuleDir = os.path.dirname(__file__) + _thisModuleDir = os.path.realpath(_thisModuleDir) + + eclipseProjects = (os.path.join('pymelProject', 'pymel'), + os.path.join('abxPickerProject', 'abxPicker'), + os.path.join('heatWeightProject', 'src'), + os.path.join('TempScripts', 'src')) + # workspaces = (r"C:\Dev\Projects\eclipse\workspace", + # os.path.join(os.environ['USB_ROOT'], "HomeMirror", "iAudioApps", "eclipse", "workspace")) + workspaces = [os.path.join(os.environ['PAUL_C_DRIVE'], + *("Dev/Projects/eclipse/workspace".split('/')))] + workspaces = [workspace for workspace in workspaces if os.path.isdir(workspace)] + for project in eclipseProjects: + for projectDir in [os.path.join(workspace, project) for workspace in workspaces]: + if os.path.isdir(projectDir): + addToPath(projectDir) + break + + # Note that using these functions ONLY works within userSetup.py, as + # we are setting the versionedDir/appDir by assuming that userSetup.py is located at: + # mayaAppDir/mayaVersionedAppDir/scripts/userSetup.py + + @setDefaultEnvValue('MAYA_VERSIONED_SETTINGS_DIR') + def setMayaVersionedAppDir(): + return os.path.dirname(_thisModuleDir) + + @setDefaultEnvValue('MAYA_APP_DIR') + def setMayaAppDir(): + return os.path.dirname(setMayaVersionedAppDir()) + + @setDefaultEnvValue('MAYA_LOCATION') + def setMayaLocation(): + for dir in (r"C:\3D\Maya2008", r"C:\Program Files\Autodesk\Maya2008"): + if os.path.isdir(dir): + return dir + + #@setDefaultEnvValue('PYMEL') + #def setPymelLocation(): + # return os.path.join(setMayaVersionedAppDir(), "PyMelBase") + + # Note also that we shouldn't need to call mayaVersionedAppDir in order to + # set the env. var, as it is called by setMayaAppDir, but I'm doing it anyway, just + # to be safe + setMayaVersionedAppDir() + setMayaAppDir() + setMayaLocation() + + #addToPath(_thisModuleDir) + + if IMPORT_PYMEL: + if VERBOSE: + print "Trying to import pymel..." + try: + from pymel import * + except: + print "pymel import failed..." + else: + if VERBOSE: + print "pymel successfully imported!" + from pymel.mayahook import refreshEnviron + try: + from pymel_tests.pymel_test import nose_test as pymel_test + except Exception: + print "failed to import pymel_test" + if VERBOSE: + import traceback + traceback.print_exc() + + if 'refreshEnviron' not in locals(): + import platform, subprocess + + if VERBOSE: + print "refreshEnviron not loaded from pymel, defining..." + + def executableOutput(exeAndArgs, convertNewlines=True, stripTrailingNewline=True, **kwargs): + """Will return the text output of running the given executable with the given arguments. + + This is just a convenience wrapper for subprocess.Popen, so the exeAndArgs argment + should have the same format as the first argument to Popen: ie, either a single string + giving the executable, or a list where the first element is the executable and the rest + are arguments. + + convertNewlines: if True, will replace os-specific newlines (ie, '\r\n' on Windows) with + the standard '\n' newline + + stripTrailingNewline: if True, and the output from the executable contains a final newline, + it is removed from the return value + Note: the newline that is stripped is the one given by os.linesep, not '\n' + + kwargs are passed onto subprocess.Popen + + Note that if the keyword arg 'stdout' is supplied (and is something other than subprocess.PIPE), + then the return will be empty - you must check the file object supplied as the stdout yourself. + + Also, 'stderr' is given the default value of subprocess.STDOUT, so that the return will be + the combined output of stdout and stderr. + + Finally, since maya's python build doesn't support universal_newlines, this is always set to False - + however, set convertNewlines to True for an equivalent result.""" + + kwargs.setdefault('stdout', subprocess.PIPE) + kwargs.setdefault('stderr', subprocess.STDOUT) + + cmdProcess = subprocess.Popen(exeAndArgs, **kwargs) + cmdOutput = cmdProcess.communicate()[0] + + if stripTrailingNewline and cmdOutput.endswith(os.linesep): + cmdOutput = cmdOutput[:-len(os.linesep)] + + if convertNewlines: + cmdOutput = cmdOutput.replace(os.linesep, '\n') + return cmdOutput + + def shellOutput(shellCommand, convertNewlines=True, stripTrailingNewline=True, **kwargs): + """Will return the text output of running a given shell command. + + convertNewlines: if True, will replace os-specific newlines (ie, '\r\n' on Windows) with + the standard '\n' newline + + stripTrailingNewline: if True, and the output from the shell contains a final newline, + it is removed from the return value + Note: the newline that is stripped is the one given by os.linesep, not '\n' + + With default arguments, behaves like commands.getoutput(shellCommand), + except it works on windows as well. + + kwargs are passed onto subprocess.Popen + + Note that if the keyword arg 'stdout' is supplied (and is something other than subprocess.PIPE), + then the return will be empty - you must check the file object supplied as the stdout yourself. + + Also, 'stderr' is given the default value of subprocess.STDOUT, so that the return will be + the combined output of stdout and stderr. + + Finally, since maya's python build doesn't support universal_newlines, this is always set to False - + however, set convertNewlines to True for an equivalent result.""" + + # commands module not supported on windows... use subprocess + kwargs['shell'] = True + kwargs['convertNewlines'] = convertNewlines + kwargs['stripTrailingNewline'] = stripTrailingNewline + return executableOutput(shellCommand, **kwargs) + + + def refreshEnviron(): + """ + copy the shell environment into python's environment, as stored in os.environ + """ + exclude = ['SHLVL'] + + if platform.system() in ('Darwin', 'Linux'): + cmd = '/usr/bin/env' + else: + cmd = 'set' + + cmdOutput = shellOutput(cmd) + #print "ENV", cmdOutput + # use splitlines rather than split('\n') for better handling of different + # newline characters on various os's + for line in cmdOutput.splitlines(): + # need the check for '=' in line b/c on windows (and perhaps on other systems? orenouard?), an extra empty line may be appended + if '=' in line: + var, val = line.split('=', 1) # split at most once, so that lines such as 'smiley==)' will work + if not var.startswith('_') and var not in exclude: + os.environ[var] = val + + refreshEnviron() + + import PMP.mayaUtils + import PMP.maya.fileUtils + from PMP.maya import hw + + for path in (r"C:\Program Files\Autodesk\MayaBonusTools%d\python" % PMP.mayaUtils.getMayaVersion(), + r"C:\MayaBonusTools%d\python" % PMP.mayaUtils.getMayaVersion(), + os.path.join(os.environ["OMTOOLBOX"], "pyScripts"), + os.path.join(os.environ["PAUL_SCRIPTS"], "pyScripts"), + os.path.join(os.environ["PAUL_C_DRIVE"], + *r"Dev\eclipse\plugins\org.python.pydev.debug_1.4.5.2727\pysrc".split('\\')) + ): + try: + addToPath(path) + except Exception: + print "Error adding %s to python path..." % path + + # Unfortunately, it seems the point at which userSetup.py is run is + # too late to update MAYA_PLUG_IN_PATH + + # extraPluginDir = os.environ['MAYA_VERSIONED_SETTINGS_DIR'] + # if cmds.about(is64=True): + # extraPluginDir += 'plug-ins 64-bit' + # else: + # extraPluginDir += 'plug-ins 32-bit' + # os.environ['MAYA_PLUG_IN_PATH'] = os.environ['MAYA_PLUG_IN_PATH'] + os.pathsep + extraPluginDir + + PMP.maya.fileUtils.addProjectToPythonPath() + workspaceChangedScriptJob = cmds.scriptJob(event=["workspaceChanged", + "import PMP.maya.fileUtils;PMP.maya.fileUtils.addProjectToPythonPath()" + ]) + PMP.maya.fileUtils.openLastProject(verbose=VERBOSE) + + ##################################################### + + #for path in sys.path: + # if "pymel" in path.lower(): + + + # Old interactive console setup: + + #import os, os.path, platform + # + ##os.environ['MAYA_APP_DIR'] = os.path.join(os.environ['USERPROFILE'], 'My Documents', 'maya') + # + #if(os.environ['USERNAME'] == "Elrond"): + # os.environ['MAYA_LOCATION'] = r"C:\3D\Maya2008" + # #paulLocation = "home" + #else: + # os.environ['MAYA_LOCATION'] = r"C:\Program Files\Autodesk\Maya2008" + # #paulLocation = "expression" + # + ##import maya.standalone + ##maya.standalone.initialize('eclipse') + ##import pymel + # + #versionName = '2008' + #if platform.system() in ('Microsoft', 'Windows') and (os.environ['PROCESSOR_ARCHITECTURE'] == 'AMD64'): + # versionName += '-x64' + # + ##sys.path.append(os.path.join(os.environ['MAYA_APP_DIR'], versionName, 'scripts')) + # + ##from userSetup import * + + if VERBOSE: + print "...userSetup.py finished!!" diff --git a/2009-x64/scripts/zenTools_userOptions.mel b/2009-x64/scripts/zenTools_userOptions.mel new file mode 100644 index 0000000..4cee2e9 --- /dev/null +++ b/2009-x64/scripts/zenTools_userOptions.mel @@ -0,0 +1,34 @@ +$zenOptions_debugging=0; +$zenOptions_attachSurfaceDegree=2; +$zenOptions_attachSurfaceShave=0; +$zenOptions_attachSpansDegree=2; +$zenOptions_attachSpansCount=0; +$zenOptions_attachSpansShave=0; +$zenOptions_attachCurvesDegree=2; +$zenOptions_loftDistribution=2; +$zenOptions_keepLoftedSurface=0; +$zenOptions_patchUVDistribution=1; +$zenOptions_zenLoopUVcurveType=1; +$zenOptions_zenLoopUVDistributionType=3; +$zenOptions_safeUVLoop=0; +$zenOptions_curveType=1; +$zenOptions_loopDistributionType=1; +$zenOptions_keepCurve=0; +$zenOptions_reflectUVReferenceAxis=3; +$zenOptions_reflectUVuAxisOffset=0.5; +$zenOptions_setAttrNonRecursive=0; +$zenOptions_transferUVSpace=0; +$zenOptions_transferUVaccurateEval=0; +$zenOptions_mirrorInfluencesAxis=1; +$zenOptions_mirrorInfluencesPosNeg=1; +$zenOptions_tol=0.01; +$zenOptions_confineWeightsHierarchy=1; +$zenOptions_muscleReflect=1; +$zenOptions_muscleReflectAxis=1; +$zenOptions_muscleJiggle=0; +$zenOptions_muscleScript=0; +$zenOptionString_scriptsFolders=""; +$zenOptionString_scriptsFoldersAddCommands=""; +$zenOptionString_scriptsFolderLabels=""; +$zenOptionString_prefixExclude="zen;db;ab;riess;dora;"; +global proc zenTools_userOptions(){} diff --git a/2009-x64/sphericalLight/doc/a.jpg b/2009-x64/sphericalLight/doc/a.jpg new file mode 100644 index 0000000..0241f63 Binary files /dev/null and b/2009-x64/sphericalLight/doc/a.jpg differ diff --git a/2009-x64/sphericalLight/doc/b.jpg b/2009-x64/sphericalLight/doc/b.jpg new file mode 100644 index 0000000..8ae8880 Binary files /dev/null and b/2009-x64/sphericalLight/doc/b.jpg differ diff --git a/2009-x64/sphericalLight/doc/c.jpg b/2009-x64/sphericalLight/doc/c.jpg new file mode 100644 index 0000000..40589d8 Binary files /dev/null and b/2009-x64/sphericalLight/doc/c.jpg differ diff --git a/2009-x64/sphericalLight/doc/sphericalLight.html b/2009-x64/sphericalLight/doc/sphericalLight.html new file mode 100644 index 0000000..e86c75e --- /dev/null +++ b/2009-x64/sphericalLight/doc/sphericalLight.html @@ -0,0 +1,200 @@ + + + + + Spherical Light +
+
+

Spherical Light
+

+
+Jeremy Pronk 2008
+www.happiestdays.com
+
+

Whats New

+

Version 6

+Fixed crashing bug with interleaved light maps (race condition identified by Manfred Ernst)
+Fixed bug whereby low level light map would not be used for final gathering
+Added tint parameter
+Updated createSphericalLight to work with Maya 8.5 / mental ray 3.5.1.2
+

Version 5

+Added mental ray style shadows
+

Version 4

+Added second "low level" light map for use when trace depth exceeds a +specific level and/or when final gather rays are being evaluated
+

Version 3

+Added Linux build
+Added new compiler optimizations (win32)
+Added occlusion for shadows option
+Changed default for maxInterleavedShadowSamples to 64
+Changed to only read light maps generated by the new version of +lightMapGen, +beta4. Not compatible with older +light map files.
+

Version 2

+Added "calculate shadows" parameter
+Added interleaved shadow sampling
+

Version 1

+Initial release
+
+

Overview

+
+Use light maps generated by lightMapGen in mental ray.
+
+Please see the lightMapGen documentation for additional information.
+
+

Usage

+See lightMapGen quick start.
+
+Turn on "Info Messages" under the Translation tab of Render Global +Settings to see the sphericalLight diagnostic messages.
+
+
+ +

Example Results

+ + + + + + + + +
Grace probe 128 samples
8sec
Grace probe 128 samples
w/ final gathering
44sec
Grace probe 128 samples
w/ final gathering using low map 8 samples
11sec
+
+
+ +

Notes

+
+Light Map Orientation
+
+The lightMap is situated at the origin and oriented such that the theta +angle (x-axis if generated from lightMapGen) begins at positive X and +rotates towards positive Z. The phi angle (y-axis if generated from +lightMapGen) is the vertical, beginning from positive Y. sphericalLight +obeys it's parent transform, so if you want a different orientation +than the one described simply rotate and translate as required.
+
+Interleaved Sampling
+
+Spherical light supports interleaved sampling of the shadow rays.
+
+Making Shadows
+
+Their may be some confusion as to what technique to use for shadows. +Besides simply switching on shadowing you can use these +two basic rules of thumb:
+
    +
  1. If you are using a light map with a low sample count, try using occlusion shadow sampling
  2. +
  3. If you find you want to increasing the samples in your lightmap +because of shadow artifacts, try +using +interleaved sampling. (e.g. rather than using a light map with +128 samples, try 32 samples with 4 interleave levels)
  4. +
+Final Gathering, Reflections and +Refractions
+
+These computational expensive procedures can be sped up by using an +alternate "low level" light map. See the Level and Use Low Light Map for Final Gather parameters.
+
+
+

Parameters

+
+

Light Map Data File

+Light map file.
+
+

Type

+Spot Lights - treats each light map sample as emanating from a single +location (e.g. equivalent to spot or point lights)
+Directional Lights - treats each light map sample as a light with +parallel rays
+
+

Intensity

+Gain applied to light map samples.
+
+

Radius

+World space size of the light map (sphere).
+
+

Shadows

+None - no shadows will be calculated
+Mental Ray - mental ray's standard shadowing will be used for each +sample
+Occlusion - an occlusion call will be used for each sample with the +cone angle set to the size of the sample in the light map
+Interleaved - a trace probe will be used for each interleaved sample +(i.e. multiple shadow rays for each sample), you must have an +interleaved light map for this to work
+
+About Occlusion Shadows
+When enabled an occlusion style algorithm is used for shadow testing. +The occlusion cone size (i.e. area above the shading sample to check +for +occlusion) is set to the solid angle of the current sample in the light +map. Useful to get soft shadows from light maps with low sample counts +but still have the shadow softness related to the light map. To +visualize this area you can pass the writeDiagImages +flag to lightMapGen. See the +lightMapGen documentation for more +information.
+If occlusion shadows are enabled the interleave settings below are +ignored. Interleave samples are still used but may not be as +appropriate when using occlusion shadows.
+
+

Occlusion Shadow Samples

+Number of occlusion samples. The occlusion shadow samples are divided +up between the light map samples, depending on a particular light map +samples area.
+
+

Occlusion Min Softness

+Increase this value if you dont want any sharp shadows. 1 = full +hemispherical sampling.
+
+

Level

+Operates the same as the Level parameter +for mental ray area lights. In the case of sphericalLight the Light Map File Low is used when the Level is triggered.
+
+

Use Low Light Map for Finalgather
+

+When enabled the Light Map File Low +will be used for finalgather rays.
+
+

Shadows Low, Occlusion Shadow Samples +and Occlusion Min Softness Low
+

+These params are the same as their non-Low counterparts but apply to +the low level lightmap Light Map File +Low
+
+

Max Interleaved Shadow Samples

+This parameter can be used to restrict the number of shadow samples +when using an interleaved light map. E.g. if you load a map with 16 +interleave levels but wish to use only 8.
+
+

Interleaved Shadow Sampling Type

+When "Max Interleaved Shadow Samples" is less than the number of +interleaved samples in the currently load map, this parameter specifics +how to choose which "Max Interleaved Shadow Samples" are used.
+
+0 - Random : chooses a random interleaved sample each time
+1 - mental ray : uses mental ray's sampling engine to choose the +interleaved sample
+
+
+

Known Issues
+

+
    +
  • when using occlusion or interleaved shadows objects must be visible +to raytracing for shadows to work
    +
  • +
  • shadows calculations are not completely correct when using +directional (parallel) +light mode, objects outside the lights radius may unintentionally +occlude
    +
  • +
  • does not work correctly with Maya materials, use mental ray +equivalents for now
    +
  • +
+
+ \ No newline at end of file diff --git a/2009-x64/sphericalLight/include/sphericalLight.mi b/2009-x64/sphericalLight/include/sphericalLight.mi new file mode 100644 index 0000000..6a3ea08 --- /dev/null +++ b/2009-x64/sphericalLight/include/sphericalLight.mi @@ -0,0 +1,35 @@ + + + +declare shader + color "sphericalLight" ( + integer "type", #: default 0 + scalar "radius", #: default 100 + color "tint", #: default 1 1 1 + scalar "intensity", #: default 1.0 + + string "lightMapFile", + integer "shadows", #: default 1 + #boolean "calculateShadows", #: default 0 + #boolean "occlusionShadows", #: default 1 + integer "occlusionShadowSamples", #: default 128 + scalar "occlusionMinSoftness", #: default 0.025 + + string "lightMapFileLow", + integer "level", #: default 0 + boolean "lowForFinalGather", #: default 1 + integer "shadowsLow", #: default 1 + #boolean "calculateShadowsLow", #: default 0 + #boolean "occlusionShadowsLow", #: default 0 + integer "occlusionShadowSamplesLow", #: default 32 + scalar "occlusionMinSoftnessLow", #: default 0.025 + + integer "maxInterleavedShadowSamples", #: default 64 + integer "interleavedShadowSamplingType", #: default 1 + + boolean "diagnostic" #: default 0 + ) + version 6 + apply light + #: nodeid 1091087 +end declare diff --git a/2009-x64/sphericalLight/lib-win32/sphericalLight.dll b/2009-x64/sphericalLight/lib-win32/sphericalLight.dll new file mode 100644 index 0000000..f894a17 Binary files /dev/null and b/2009-x64/sphericalLight/lib-win32/sphericalLight.dll differ diff --git a/2009-x64/sphericalLight/lib-win64/sphericalLight.dll b/2009-x64/sphericalLight/lib-win64/sphericalLight.dll new file mode 100644 index 0000000..df3d239 Binary files /dev/null and b/2009-x64/sphericalLight/lib-win64/sphericalLight.dll differ diff --git a/2009-x64/sphericalLight/mel/AEsphericalLightTemplate.mel b/2009-x64/sphericalLight/mel/AEsphericalLightTemplate.mel new file mode 100644 index 0000000..7b1936c --- /dev/null +++ b/2009-x64/sphericalLight/mel/AEsphericalLightTemplate.mel @@ -0,0 +1,228 @@ +// +// Spherical Light +// Copyright (c) Jeremy Pronk 2005 +// www.thereisnoluck.com + + +global proc AEsphericalLightTemplate ( string $nodeName ) +{ + AEswatchDisplay $nodeName; + editorTemplate -beginScrollLayout; + + editorTemplate -beginLayout "Common" -collapse 0; + + editorTemplate -callCustom "AEtypeNew" + "AEtypeReplace" + "type"; + editorTemplate -addControl "tint"; + editorTemplate -addControl "intensity"; + editorTemplate -addControl "radius"; + + editorTemplate -callCustom "AEsphericalLightDataFileButtonNew" + "AEsphericalLightDataFileButtonReplace" + "lightMapFile"; + + editorTemplate -callCustom "AEshadowsNew" + "AEshadowsReplace" + "shadows"; + //editorTemplate -addControl "calculateShadows"; + editorTemplate -beginLayout "Occlusion Shadow Settings" -collapse 0; + //editorTemplate -addControl "occlusionShadows"; + editorTemplate -addControl "occlusionShadowSamples"; + editorTemplate -addControl "occlusionMinSoftness"; + editorTemplate -endLayout; + + editorTemplate -endLayout; + + editorTemplate -beginLayout "Low Level Lightmap" -collapse 0; + + editorTemplate -addControl "level"; + editorTemplate -l "Use Low Lightmap For Final Gather" -addControl "lowForFinalGather"; + editorTemplate -callCustom "AEsphericalLightDataFileButtonNew" + "AEsphericalLightDataFileButtonReplace" + "lightMapFileLow"; + + editorTemplate -callCustom "AEshadowsNew" + "AEshadowsReplace" + "shadowsLow"; + //editorTemplate -addControl "calculateShadowsLow"; + editorTemplate -beginLayout "Low Level Occlusion Shadow Settings" -collapse 1; + //editorTemplate -addControl "occlusionShadowsLow"; + editorTemplate -addControl "occlusionShadowSamplesLow"; + editorTemplate -addControl "occlusionMinSoftnessLow"; + editorTemplate -endLayout; + + editorTemplate -endLayout; + + editorTemplate -beginLayout "Interleaved Sampling" -collapse 1; + editorTemplate -addControl "maxInterleavedShadowSamples"; + editorTemplate -callCustom "AEinterleaveLevelSamplingTypeNew" + "AEinterleaveLevelSamplingTypeReplace" + "interleavedShadowSamplingType"; + editorTemplate -endLayout; + + editorTemplate -beginLayout "Debug" -collapse 1; + editorTemplate -addControl "diagnostic"; + editorTemplate -endLayout; + + editorTemplate -endLayout; + + editorTemplate -addExtraControls; + editorTemplate -endScrollLayout; + + editorTemplate -suppress "type"; + editorTemplate -suppress "lightMapFile"; + editorTemplate -suppress "lightMapFileLow"; + editorTemplate -suppress "shadows"; + editorTemplate -suppress "shadowsLow"; + editorTemplate -suppress "interleavedShadowSamplingType"; +} + +global proc AEsphericalLightDataFileButtonPress( string $node, string $attr, string $textfld ) +{ + string $filename = `fileDialog -dm "*.lm"`; + textField -e -text $filename $textfld; + setAttr ($node+"."+$attr) -type "string" $filename; +} + +global proc AEsphericalLightDataFileButtonNew( string $nodeAttr ) +{ + string $buffer[]; + tokenize( $nodeAttr, ".", $buffer ); + string $node = $buffer[0]; + string $attr = $buffer[1]; + string $textFld = $attr+"TextFld"; + + rowLayout -numberOfColumns 3; + text -label `interToUI( $attr )`; + textField -en false $textFld; + button -label ".." -width 20 lightMapFileButton; + + AEsphericalLightDataFileButtonReplace( $nodeAttr ); +} + +global proc AEsphericalLightDataFileButtonReplace( string $nodeAttr ) +{ + string $buffer[]; + tokenize( $nodeAttr, ".", $buffer ); + string $node = $buffer[0]; + string $attr = $buffer[1]; + string $textFld = $attr+"TextFld"; + + button -e -command ( "AEsphericalLightDataFileButtonPress \"" + $node + "\" \"" + $attr + "\" \"" + $textFld + "\"" ) lightMapFileButton; + string $filename = `getAttr ($node+"."+$attr)`; + textField -e -text $filename $textFld; +} + + +global proc AEtypeNew( string $attr ) +{ + columnLayout; + attrEnumOptionMenuGrp -l "Mode" + -ei 0 "Spot lights" + -ei 1 "Directional lights" modeeee; + setParent ..; + + AEtypeReplace($attr); +} + +global proc AEtypeReplace( string $attr ) +{ + attrEnumOptionMenuGrp -e -at $attr modeeee; +} + + +global proc AEinterleaveLevelSamplingTypeNew( string $attr ) +{ + columnLayout; + attrEnumOptionMenuGrp -l "Interleaved Shadow Sampling" + -ei 0 "Random" + -ei 1 "mental ray" + levelSamplingg; + setParent ..; + + AEinterleaveLevelSamplingTypeReplace($attr); +} + +global proc AEinterleaveLevelSamplingTypeReplace( string $attr ) +{ + attrEnumOptionMenuGrp -e -at $attr levelSamplingg; +} + + +global proc AEshadowsNew( string $nodeAttr ) +{ + string $buffer[]; + tokenize( $nodeAttr, ".", $buffer ); + string $node = $buffer[0]; + string $attr = $buffer[1]; + string $menu = $attr+"Menu"; + + columnLayout; + attrEnumOptionMenuGrp -l ( interToUI( $attr ) ) + -ei 0 "none" + -ei 1 "mental ray" + -ei 2 "occlusion" + -ei 3 "interleaved" + $menu; + setParent ..; + + //AEshadowsReplace( $attr ); + AEshadowsReplace( $nodeAttr ); +} + +global proc AEshadowsReplace( string $nodeAttr ) +{ + string $buffer[]; + tokenize( $nodeAttr, ".", $buffer ); + string $node = $buffer[0]; + string $attr = $buffer[1]; + string $menu = $attr+"Menu"; + attrEnumOptionMenuGrp -e -at $nodeAttr $menu; +} + + +/* +global proc AEimportanceSamplingAreaLightExposureChange( string $nodeName ) +{ + string $buffer[]; + tokenize( $nodeName, ".", $buffer ); + string $node = $buffer[0]; + + float $currentExposure = `floatSliderGrp -q -v exposureCorrectionSlider`; + setAttr ( $node+".lightMapExposure" ) $currentExposure; +} + + +global proc AEimportanceSamplingAreaLightExposureNew( string $nodeName ) +{ + columnLayout; + floatSliderGrp + -f true + -l "Exposure Correction" + -maxValue 10 + -minValue -10 + -value 0 + -pre 2 + -s 0.25 + -ss 0.25 + -cc ( "AEimportanceSamplingAreaLightExposureChange " + $nodeName ) + exposureCorrectionSlider; + setParent ..; + + AEimportanceSamplingAreaLightExposureReplace( $nodeName ); +} + +global proc AEimportanceSamplingAreaLightExposureReplace( string $nodeName ) +{ + string $buffer[]; + tokenize( $nodeName, ".", $buffer ); + string $node = $buffer[0]; + + float $currentExposure = `getAttr ( $node+".lightMapExposure" )`; + floatSliderGrp -e -v $currentExposure exposureCorrectionSlider; +} +*/ + + + diff --git a/2009-x64/sphericalLight/mel/createSphericalLight.mel b/2009-x64/sphericalLight/mel/createSphericalLight.mel new file mode 100644 index 0000000..cea1a3e --- /dev/null +++ b/2009-x64/sphericalLight/mel/createSphericalLight.mel @@ -0,0 +1,35 @@ + +/* +# +# Utility to create a mental ray spherical light +# +# Copyright (c) Jeremy Pronk 2005 +# +*/ + +//source "lightMapGen_loader.mel"; + +global proc createSphericalLight( ) +{ + waitCursor -state on; + + // mental ray should be loaded + string $plugin = "Mayatomr"; + if( !eval( "pluginInfo -query -loaded " + $plugin ) ) + loadPlugin $plugin; + + string $mayaLight = `spotLight -i 0 -ca 175`; + string $mrLight = `mrCreateCustomNode -asUtility ( "defaultNavigation -connectToExisting -destination " + $mayaLight + ".miLightShader -source %node" ) sphericalLight`; + setAttr ( $mayaLight+".areaLight" ) 1; + setAttr ( $mayaLight+".areaType" ) 4; + setAttr ( $mayaLight+".areaSamplingU" ) 1024; + setAttr ( $mayaLight+".areaSamplingV" ) 1024; + string $mayaLightTransform[] = `listRelatives -p $mayaLight`; + $mayaLightTransform[0] = `rename $mayaLightTransform[0] "sphericalLight#"`; + + //createLightMapDome( "lightMapGenDome", $mayaLightTransform[0], 100 ); + + select $mrLight; + + waitCursor -state off; +} \ No newline at end of file diff --git a/2009-x64/zooScripts/dagMenuProc.mel b/2009-x64/zooScripts/dagMenuProc.mel new file mode 100644 index 0000000..c22c352 --- /dev/null +++ b/2009-x64/zooScripts/dagMenuProc.mel @@ -0,0 +1,1773 @@ +// Copyright (C) 1997-2004 Alias Systems Corp. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias license agreement, without fee. +// +// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +// Alias Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: Dec 3, 1996 +// +// +// Description: +// This script describes the contents of the context sensitive menus. +// +// Input Arguments: +// None. +// +// Return Value: +// None. +// + +proc optionalDagMenuProc( string $parent, string $item ) +{ + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + string $shape = ""; + int $gotVisible = 0; + + if( size($object) < 1 ) return; + + for( $i=0; $i 0); +} + +proc +createFBIKmenuItems(string $parent, + string $item, + string $ikReachModeLocation, + string $keyBodyPartLocation, + string $keyAllLocation, + string $keySelectedLocation) +{ + string $reachKeyingMode = "Reach Mode:"; + int $rkm = `optionVar -q setIKKey`; + switch ($rkm) + { + case 1: + $reachKeyingMode = $reachKeyingMode + " IK"; + break; + case 2: + $reachKeyingMode = $reachKeyingMode + " FK"; + break; + case 3: + $reachKeyingMode = $reachKeyingMode + " Simple"; + break; + } + + menuItem -rp $ikReachModeLocation -l $reachKeyingMode + -subMenu true + -annotation "Determine how reach values get keyed when doing FBIK keying."; + + menuItem -rp "S" -label "IK (Reach = 1)" + -command FBIKReachKeyingOptionIK; + + menuItem -rp "N" -label "FK (Reach = 0)" + -command FBIKReachKeyingOptionFK; + + menuItem -rp "E" -label "Simple (No Reach)" + -command FBIKReachKeyingOptionSimple; + + setParent -m $parent; + + menuItem -l "Key All" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"1\", \"2\", \""+$item+"\"};") + -rp $keyAllLocation + keyAllItem; + + menuItem -l "Key Body Part" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"2\", \"2\", \""+$item+"\"};") + -rp $keyBodyPartLocation + keyBodyPartItem; + + menuItem -l "Key Selected" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"4\", \"2\", \""+$item+"\"};") + -rp $keySelectedLocation + keySelectedItem; +} +proc checkForSkinInfluenceItem(string $item, string $quadrant) +{ + int $isJoint = (nodeType($item) == "joint"); + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster + // + string $currContext = `currentCtx`; + string $currTool = ""; + if(`contextInfo -ex $currContext`) { + $currTool = `contextInfo -c $currContext`; + } + if ( $currTool == "artAttrSkin" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "skinWeights" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "skinCluster") + { + // select the surface (not the joint) and set + // the joint as the current influence + // + string $currSel[] = `ls -sl`; + string $currSelString; + if (size($currSel) > 0) { + string $currObj; + $currSelString = "select -r "; + for ($currObj in $currSel) { + $currSelString += ($currObj+" "); + } + } + menuItem -l "Paint Weights" + -echoCommand true + -c ($currSelString+"; setSmoothSkinInfluence " + $item) + -rp $quadrant + paintWeightItem; + break; + } + } + } + } // menu for skinCluster paint + // Check if the current context is the clusterPaint context + // and the the joint is connected to a jointCluster + // + else if ( $isJoint && ($currTool == "artAttr") ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "general" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") + { + string $artCommand = "artAttrCtx" ; + string $attribute = "cluster." + $conn + ".weights" ; + menuItem -l "Paint Weights" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artAttrCtx -e -pas \"cluster." + $conn + ".weights\" `currentCtx`") + -c ("artSetToolAndSelectAttr( \"" + $artCommand + "\", \"" + $attribute + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + // menu for joint-set paint + // Check if the current context is the setPaint context + // and the the joint is connected to a objectSet via jointCluster + // + else if ( $isJoint && ($currTool == "artSetPaint") ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") { + string $connS[] = `listConnections ($conn+".message")`; + for($set in $connS) { + if (`nodeType $set` == "objectSet") { + menuItem -l "Paint Set Membership" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artSetPaintCtx -e -settomodify " + $set + " `currentCtx`") + -c ("artSetPaintSelectSet( \"" + $set + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + } +} + +global proc string[] objectSelectMasks(string $item) +// Returns the component selection masks that apply to this object +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + + string $nt = `nodeType $shape`; + + switch ($nt) { + case "lattice": + $maskList[0] = "latticePoint"; + break; + case "locator": + $maskList[0] = "locator"; + break; + case "nurbsCurve": + $maskList[0] = "curveParameterPoint"; + $maskList[1] = "controlVertex"; + $maskList[2] = "editPoint"; + $maskList[3] = "hull"; + break; + case "nurbsSurface": + $maskList[0] = "isoparm"; + $maskList[1] = "controlVertex"; + $maskList[2] = "surfaceParameterPoint"; + $maskList[3] = "hull"; + $maskList[4] = "surfaceFace"; + $maskList[5] = "surfaceUV"; + if (objectIsTrimmed($shape)) { + $maskList[6] = "surfaceEdge"; + } + break; + case "mesh": + $maskList[0] = "edge"; + $maskList[1] = "vertex"; + $maskList[2] = "facet"; + $maskList[3] = "puv"; + $maskList[4] = "pvf"; + break; + case "joint": + $maskList[0] = "joint"; // special case + break; + case "ikHandle": + $maskList[0] = "ikHandle"; // special case + break; + case "hikEffector": + case "hikFloorContactMarker": + $maskList[0] = "hikEffector"; // special case + break; + case "particle": + $maskList[0] = "particle"; // only one choice + break; + case "spring": + $maskList[0] = "springComponent"; // only one choice + break; + case "subdiv": + $maskList[0] = "subdivMeshPoint"; + $maskList[1] = "subdivMeshEdge"; + $maskList[2] = "subdivMeshFace"; + $maskList[3] = "subdivMeshUV"; + break; + } + + if (isIKcontroller($item)) { + $maskList[size($maskList)] = "ikfkHandle"; + } + + return $maskList; +} + +global proc createSelectMenuItems(string $parent, string $item) +// Create a menu that shows the dag parenting for this object +{ + string $maskList[] = `objectSelectMasks($item)`; + string $radialPosition[]; + string $uiName; + + int $i; + int $isNurbObject = false; + int $isPolyObject = false; + int $isLatticeObject = false; + int $isJointObject = false; + int $isHikEffector = false; + int $isIkHandleObject = false; + int $isIkFkHandleObject = false; + int $isParticleObject = false; + int $isSpringObject = false; + int $isSubdivObject = false; + int $isLocatorObject = false; + int $hasComponents = false; + + // Comparing an element in an empty array will increase the array + // to accomodate that element. + // + // To avoid this, first test the size of the array before comparing + // elements that may not exist. + // + if (1 <= size($maskList)) { + $isLatticeObject = ($maskList[0] == "latticePoint"); + $isJointObject = ($maskList[0] == "joint"); + $isHikEffector = ($maskList[0] == "hikEffector"); + $isIkHandleObject = ($maskList[0] == "ikHandle"); + $isParticleObject = ($maskList[0] == "particle"); + $isSpringObject = ($maskList[0] == "springComponent"); + $isSubdivObject = ($maskList[0] == "subdivMeshPoint"); + $isLocatorObject = ($maskList[0] == "locator"); + } + if (2 <= size($maskList)) { + $isNurbObject = ($maskList[1] == "controlVertex"); + $isPolyObject = ($maskList[1] == "vertex"); + } + + // $maxRadialPos keeps track of how many octants of the + // RMB marking menu will be populated + // + int $maskSize = size($maskList); + int $maxRadialPos = size($maskList); + + if (($maskSize > 0) && ($maskList[$maskSize-1] == "ikfkHandle")) { + $isIkFkHandleObject = true; + $maxRadialPos--; // ikfkHandle does not populate like other masks + } + + $hasComponents = $isLatticeObject || + $isParticleObject || + $isSubdivObject || + $isSpringObject || + $isNurbObject || + $isPolyObject; + + // NOTE: + // If the object has selectable components, then the + // radial position "NE" will be used for the menuItem: + // "Revert back to object mode." + // + setParent -menu $parent; + $radialPosition[0] = "N"; + $radialPosition[1] = "W"; + $radialPosition[2] = "S"; + $radialPosition[3] = "E"; + $radialPosition[4] = "SW"; + $radialPosition[5] = "SE"; + $radialPosition[6] = "NW"; + $radialPosition[7] = "NE"; + + if ($isNurbObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "surfaceParameterPoint": + $uiName = "Surface Point"; + break; + case "curveParameterPoint": + $uiName = "Curve Point"; + break; + case "surfaceEdge": + $uiName = "Trim Edge"; + break; + case "surfaceFace": + $uiName = "Surface Patch"; + break; + case "surfaceUV": + $uiName = "UV"; + default: + $uiName = `interToUI $maskList[$i]`; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuNURBComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the nurbs is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isPolyObject) { + + for ($i = 0; $i < size($maskList); $i++) { + + switch ($maskList[$i]) { + case "puv": + $uiName = "UV"; + break; + case "facet": + $uiName = "Face"; + break; + case "pvf": + $uiName = "Vertex Faces"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + break; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the poly is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isLatticeObject) { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] != "ikfkHandle") { + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuLatticeComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isJointObject) { + string $setCmd = `performSetPrefAngle 2`; + string $assumeCmd = `performAssumePrefAngle 2`; + $setCmd += (" "+$item); + $assumeCmd += (" "+$item); + string $jts[] = `ls -sl -type joint`; + for ($jointItem in $jts) { + if ($jointItem != $item) { + $setCmd += (" "+$jointItem); + $assumeCmd += (" "+$jointItem); + } + } + menuItem -l "Set Preferred Angle" + -echoCommand true + -c `evalEcho($setCmd)` + -rp "N" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -echoCommand true + -c `evalEcho($assumeCmd)` + -rp "S" + assumePrefAngleItem; + + string $hikHandle[] = `listConnections -type hikHandle $item`; + int $isFBIKjoint = (size($hikHandle) > 0); + if ($isFBIKjoint) { + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isHikEffector){ + if (nodeType($item) == "hikFloorContactMarker") { + string $parentItems[] = `listRelatives -pa -p $item`; + if (size($parentItems) && + nodeType($parentItems[0]) == "hikEffector") { + $item = $parentItems[0]; + } else { + $isHikEffector = false; + } + } + + if ($isHikEffector) { + string $pivotOffsetPlug = $item + ".pivotOffset"; + float $pivotOffset[] = `getAttr $pivotOffsetPlug`; + int $enablePin = (equivalentTol($pivotOffset[0],0.0,0.001) && + equivalentTol($pivotOffset[1],0.0,0.001) && + equivalentTol($pivotOffset[2],0.0,0.001)); + + // set pinning for hikEffectors + menuItem -l "Pin Both" + -echoCommand true + -c ("doPinHikEffectors 1 {\"3\",\"" + $item + "\"};") + -enable $enablePin + -rp "N" + pinAllItem; + + menuItem -l "Pin Translate" + -echoCommand true + -c ("doPinHikEffectors 1 {\"1\",\"" + $item + "\"};") + -enable $enablePin + -rp "NW" + pinTransItem; + + menuItem -l "Pin Rotate" + -echoCommand true + -c ("doPinHikEffectors 1 {\"2\",\"" + $item + "\"};") + -enable $enablePin + -rp "SW" + pinRotItem; + + menuItem -l "Unpin" + -echoCommand true + -c ("doPinHikEffectors 1 {\"0\",\"" + $item + "\"};") + -rp "S" + unpinItem; + + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + } else if ($isLocatorObject) { + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isIkHandleObject) { + menuItem -l "Set Preferred Angle" + -annotation "Set Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -annotation "Assume Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -eh " + $item) + -rp "N" + enableIKHandlesItem; + + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -dh " + $item) + -rp "S" + disableIKHandlesItem; + + menuItem -l "Enable Snap" + -annotation "Enable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -see " + $item + ";" + + "ikHandle -e -shf on " + $item) + -rp "SE" + enableIKHandlesSnapItem; + + menuItem -l "Disable Snap" + -annotation "Disable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -shf off " + $item) + -rp "SW" + disableIKHandlesSnapItem; + + $maxRadialPos = 6; + } else if ($isParticleObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "particle": + $uiName = "Particle"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuParticleComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSpringObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "springComponent": + $uiName = "Spring"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuSpringComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSubdivObject) { + subdDagMenuProc( 0, $item, $maskList ); + } else { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] == "ikfkHandle") { + continue; + } + + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // If components are present, provide the ability to + // get back to object mode... + // + if ($hasComponents) { + menuItem -l "Object Mode" + -ecr false + -c ( "hilite -unHilite " + $item + "; string $selection[] = `ls -sl`;" + + "changeSelectMode -object; select -r $selection;" ) + -rp "NE"; + } + + // Since any object can be an ikfk handle, we only populate the ikfk items + // in slots that are not already in use. + // + if ($isIkFkHandleObject) { + string $handle = getControlledHandle($item); + + if ($maxRadialPos < 8) { + menuItem -label "Set IK/FK Key" + -echoCommand true + -annotation "Set keys on selected joint chains and handles." + -rp $radialPosition[7] + -command ("select -r "+$item+"; SetIKFKKeyframe"); + } + + if ($maxRadialPos < 7) { + menuItem -label "Move IK to FK" + -echoCommand true + -annotation "Select an IK handle or IK/FK connected object." + -rp $radialPosition[6] + -command ("select -r "+$item+"; MoveIKtoFK"); + } + + if ($maxRadialPos < 5) { + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handle" + -echoCommand true + -c ("ikHandle -e -dh " + $handle) + -rp $radialPosition[5]; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handle" + -echoCommand true + -c ("ikHandle -e -eh " + $handle) + -rp $radialPosition[4]; + } + } + + +// for ($i = 0; $i < size($maskList); $i++) { +// $itemName = "SELM" + string($i); +// setParent -menu $parent; +// menuItem +// -c ("doMenuComponentSelection(\"" + +// $item + "\", \"" + $maskList[$i] + "\")") +// -l $maskList[$i] +// -rp $radialPosition[$i] +// $itemName; +// } + setParent -menu $parent; +} + +global proc doMenuNURBComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of NURB components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + if( $mask == "surfaceUV" ) + { + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + } + } else { + selectType -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -isoparm 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "surfaceUV": + $selectCmd = $selectCmd + + "toggle -state true -uv " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + break; + case "editPoint": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "controlVertex": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "hull": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + } + } + + eval $selectCmd; +} + +global proc doMenuLatticeComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the Lattice control points +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } else { + $selectCmd = $selectCmd + "toggle -" + $mask + ";"; + } + } + eval $selectCmd; +} + + +global proc doMenuParticleComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of particle +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -particle 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "particle": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -particle " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuSpringComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of spring +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -springComponent 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "springComponent": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -springComponent " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the specified selection mask type. +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + eval $selectCmd; +} + +global proc undoMenuComponentSelection(string $item, string $mask) +{ + string $selectCmd; + + if (`selectMode -q -object`) { + $selectCmd = "selectType -ocm -" + $mask + " false;"; + } else { + $selectCmd = "selectType -" + $mask + " false;"; + } + + eval $selectCmd; +} + +global proc toggleBoundingBoxDisplay ( string $parent ) +// +// For each shape under the selected parent object, toggle the +// state of bounding box display mode. +// +{ + string $shapes[] = `listRelatives -shapes $parent`; + string $shape; + + for ( $shape in $shapes ) { + int $overrideOn = `getAttr ( $shape + ".overrideEnabled")`; + int $lodMode = `getAttr ( $shape + ".overrideLevelOfDetail")`; + int $enabled = $overrideOn && $lodMode == 1; + + if ( $enabled ) { + // Don't reset the overrideEnabled attribute. It + // is used for more than just bounding box display + // and turning if off will mess things up of you + // have temporarily enabled bounding box display + // of an object in a layer. + setAttr ( $shape + ".overrideLevelOfDetail" ) 0; + } else { + setAttr ( $shape + ".overrideEnabled") 1; + setAttr ( $shape + ".overrideLevelOfDetail") 1; + } + + } +} + +global proc createActionsMenuItems(string $parent, string $item) +// +// Creates a menu with common operations to perform on an object +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -l "Template" -c ("toggle -template -state on " + $item); + menuItem -l "Untemplate" -c ("toggle -template -state off " + $item); + menuItem -l "Unparent" -c ("parent -w " + $item); + menuItem -l "Bounding Box" -c ("toggleBoundingBoxDisplay " + $item); +} + + +global proc showSG(string $item) +// +// Display the Attribute Editor and show the tab for the +// shading group that is on the object $item. +// +// If would have been nicer to be able to use the +// showShadingGroupAttributeEditor command, but it only +// acts on the selected object. +// +{ + //check selection list for faces (polys, subds, nurbs) + string $shader = ""; + string $selection[] = `filterExpand -sm 34 -sm 38 -sm 72`; + + // If there are components selected, try to find a component shader + if( size( $selection ) > 0) + { + string $nameBuffer[]; + + int $numComps = size( $selection ); + int $comp; + for( $comp = 0; $comp < $numComps; $comp++) + { + tokenize $selection[ $comp] "." $nameBuffer; + + //if the selected component is on the object under the pointer + //get it's shader + if ($nameBuffer[0] == $item) { + $shader = `getComponentShader $selection[$comp]`; + + //check if the shader is already selected - only toggle + //selection if it is not selected + string $shaderSelected[] = `ls -selection $shader`; + if ( size( $shaderSelected ) == 0){ + select -tgl $shader; + + } + break; + } + } + } + + // If we didn't find a component level shader, try for an object level one + if( size( $shader ) == 0 ) { + string $allNodes[] = (`listHistory -f true $item` ); + string $node = ""; + for ($node in $allNodes) { + if(`nodeType $node` == "shadingEngine") { + + $shader = $node; + break; + } + } + } + + // If we found a shader, show it + if( size( $shader ) > 0) + { + showEditor $shader; + } +} + +global proc showBakeSets(string $item, string $type) +// +// Display the Attribute Editor and show the tab for the +// first bake set of the specified $type that the object $item is in. +// If there is no this $type of bake set in the scene, creates the +// initial bake set of this type and show it in the attribute editor. +// +// If would have been nicer to be able to use the +// showBakeSetAttributeEditor command, but it only +// acts on the selected object. +// +{ + string $possibleBakeSets[] = (`listHistory -f true $item` ); + string $node = ""; + int $bakeSetExists = false; + for ($node in $possibleBakeSets) { + if(`nodeType $node` == $type) + { + showEditor $node; + $bakeSetExists = true; + break; + } + } + + // If no bake set exists for the $item, then create the + // initial bake set of that $type and assign it to the $item. + // + if (!$bakeSetExists) + { + string $initialBakeSet = ""; + if($type == "vertexBakeSet") + { + $initialBakeSet = "initialVertexBakeSet"; + } + else if($type == "textureBakeSet") + { + $initialBakeSet = "initialTextureBakeSet"; + } + else + { + error -showLineNumber true + ("Bake set type "+$type + " does not exist."); + return; + } + + // Create it if it does not exist yet. + // + if ( size(`ls $initialBakeSet`) < 1) + { + createBakeSet($initialBakeSet, $type); + } + + // Assign the initial bake set to the item. + // + assignBakeSet($initialBakeSet, $item); + + // Show the initial bake set. + // + showBakeSetAE($initialBakeSet); + } +} + +global proc createShaderMenuItems(string $parent, string $item) +// +// Create the Shader menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + menuItem -l "Material Attributes..." -c ("showSG " + $item); + menuItem -d true; + + buildShaderMenus($item); +} + +// Description: This procedure is called to refresh the baking +// attribute menu items. +// +global proc refreshBakingAttributeMenu (string $parent, string $item) +{ + setParent -menu $parent; + + int $suitable = bakeSetTypeSuitableForItem("textureBakeSet", $item); + menuItem -edit -enable $suitable textureBakingAttributeItem; + $suitable = bakeSetTypeSuitableForItem("vertexBakeSet", $item); + menuItem -edit -enable $suitable vertexBakingAttributeItem; +} + +// Description: This procedure is called to create the +// baking attribute menu. +// +proc createBakingAttributeMenu(string $parent, string $item) +{ + setParent -menu $parent; + + menuItem -l "Edit Attributes..." + -subMenu true + -tearOff true + -postMenuCommand ("refreshBakingAttributeMenu \"" + +$parent+"|editAttributeItem\" \"" + +$item+"\"") + editAttributeItem; + + + menuItem -l "texture" + -c ("showBakeSets \""+$item+"\" \"textureBakeSet\"") + textureBakingAttributeItem; + menuItem -l "vertex" + -c ("showBakeSets \""+$item+"\" \"vertexBakeSet\"") + vertexBakingAttributeItem; + + setParent -menu ..; +} + +// Description: This procedure is called to create the baking +// menu items. +// +global proc createBakingMenuItems(string $parent, string $item) +// +// Create the Baking menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + createBakingAttributeMenu($parent, $item); + menuItem -d true; + + if (!`about -evalVersion`) { + buildBakingMenus($item); + } +} + +// Description: This procedure is called to create the switch proxy +// menu items. +// +global proc createSwitchProxyMenuItems(string $parent, string $item, string $refNode) +// +// Create the switch proxy submenu for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + string $proxyNodes[] = `getRelatedProxies $refNode`; + int $i; + string $proxyLabel; + string $proxyTag; + for( $i=0; $i 0) + { + string $ann = `getRunTimeCommandAnnotation "UVCentricUVLinkingEditor"`; + string $cmd = "UVCentricUVLinkingEditor; " + "select -r " + $item; + menuItem -l "UV Linking..." + -c $cmd + -annotation $ann; + menuItem -divider true; + } + + for ($i=0; $i<$numNames; $i++) + { + string $uvEditname = ("\"" + $names[$i] + "\""); + string $uvname = $names[$i]; + string $setCurCmd = $cmd + $uvEditname + " " + $shape + ";"; + + // Find any projections associated with the uvset + string $projs[]; + $projs = `polyUVSet -pr -uvs $uvname -q $shape`; + string $projCmd; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($uvname == $curSet[0]) + { + menuItem -l ($uvname) -c $setClearCmd -checkBox true; + for ($j=0; $j= 5) + break; + } + } + else + { + menuItem -l ($uvname) -c ($setClearCmd + $setCurCmd) -checkBox false; + for ($j=0; $j= 5) + break; + } + } + } +} + +// +global proc string objectHandlesColorSets(string $item) +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + string $nt = `nodeType $shape`; + + if ($nt == "mesh") + return $shape; + + return ""; +} + +global proc createColorSetMenuItems(string $parent, string $item, + string $shape) +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + string $cmd = "polyColorSet -currentColorSet -colorSet "; + string $curSet[] = `polyColorSet -q -currentColorSet $shape`; + string $names[] = `polyColorSet -q -acs $shape`; + + int $numNames = size($names); + + // Add in a menu to access color set editor + menuItem -l "Color Set Editor..." + -ann (getRunTimeCommandAnnotation("ColorSetEditor")) + -command "colorSetEditor" + ; + if ($numNames > 0) + { + menuItem -divider true; + } + + for ($i=0; $i < $numNames; $i++) + { + string $colorEditname = ("\"" + $names[$i] + "\""); + string $colorname = $names[$i]; + string $setCurCmd = $cmd + $colorEditname + " " + $shape + ";"; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($colorname == $curSet[0]) + { + menuItem -l ($colorname) -checkBox true; + } + else + { + menuItem -l ($colorname) -c ($setCurCmd) -checkBox false; + } + } +} + +global proc createArtAttrMenuItems( + string $parent, + string $item +) +// +// Description: +// Creates a menu that shows all the paintable attributes. +// +// NOTE: paintAttr are sorted by the paintable node type. +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + // add default items which are always displayed in the context menu + menuItem -p $parent -label "Paint Select" -command "ArtPaintSelectToolOptions" ; + menuItem -p $parent -label "3D Paint" -command "Art3dPaintToolOptions" ; + menuItem -p $parent -label "Sculpt" -command "SculptGeometryToolOptions" ; + + // Get all paintable attributes + string $paintAttr = `artBuildPaintMenu $item`; + + if ($paintAttr != "") + { + // if the menu item has not been created, create it. + if( $parent == "" ) + $parent = `menuItem -subMenu true -aob true -l "Paint"`; + + + // Create the menu. + artAttrCreateMenuItems( $parent, $paintAttr ); + + // artAttrCreateMenuItems currently does not use $object + // hence we are making a seperate call to this function to handle + // cloth objects. We need the object name to select the object and detect + // dynamic attributes available for painting. + // + createPaintingMenuItems( $parent, $item ); + } +} + +// This has been called because a menu press happened on a DAG object +// So find the Object submenu and add the DAG specific items to it. +// +global proc dagMenuProc(string $parent, string $object) +{ + global string $artSelectObject ; + string $mode = "All"; + + if (`optionVar -exists currentMenuBarTab`) { + $mode = `optionVar -q currentMenuBarTab`; + } else { + optionVar -sv currentMenuBarTab $mode; + } + + if (`popupMenu -e -exists $parent`) { + setParent -m $parent; + + // label the object + string $shortName = `substitute ".*|" $object ""`; + menuItem -l ($shortName + "...") -c ("showEditor "+$object); + menuItem -divider true; + menuItem -divider true; + + // Create the list of selection masks + createSelectMenuItems($parent, $object); + + menuItem -d true; + + menuItem -l "Select" -c ("select -r " + $object); + menuItem -l "Select Hierarchy" -c ("select -hierarchy " + $object); + + menuItem -d true; + + //call the zooObjMenu script, to add any object specific commands to the rmb + zooObjMenu $parent $object; + + optionalDagMenuProc( $parent, $object ); + + // create the history menu + // + string $menu = `menuItem -subMenu true -aob true -l "Inputs"`; + menu -e + -pmc ( "createHistoryMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + $menu = `menuItem -subMenu true -aob true -l "Outputs"`; + menu -e -pmc ( "createFutureMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // Look at the shape child of this object + // + string $shapes[] = `listRelatives -path -s $object`; + + // get current selection of shapes + string $currentSel[] = `ls -sl -dagObjects -shapes` ; + + string $paintParent = "" ; + int $selIndex ; + + int $i; + for ($i = 0; $i < size($shapes); ++$i) + { + string $nodeType = `nodeType $shapes[$i]` ; + + if ( ( $nodeType == "nurbsSurface") || + ( $nodeType == "mesh") || + ( $nodeType == "subdiv")) + { + // save the object name if it is not already selected by the user + // We use this info to select the object if user chooses a paint option + // + // If user has selected multiple objects and is using context menu on one of them + // we do not change the selection list as user may want to paint some attribute + // on all of them. (It is the way it has been working all along...we don't want to + // break it ) + + int $found = 0 ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $shapes[$i] == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( $found ) + { + $artSelectObject = "" ; + } + else + { + // check if the object is in component selection mode + // and if it is, do not do any further selection. + // We are assuming that if the object is in hilite mode + // then the user is in component selection mode. + + $currentSel = `ls -hilite` ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $object == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( !$found ) + $artSelectObject = $object ; + else + $artSelectObject = "" ; + } + + $paintParent = `menuItem -subMenu true -aob true -l "Paint"`; + menu -e -pmc ( "createArtAttrMenuItems \""+ $paintParent +"\" "+$object ) $paintParent ; + setParent -m $parent; + break ; + } + } + + $menu = `menuItem -subMenu true -l "Actions"`; + menu -e -pmc ( "createActionsMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // If the object can handle uv sets then add the uvset menu + // + string $shape = objectHandlesUvSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "UV Sets"`; + menu -e + -pmc ( "createUVsetMenuItems \""+$menu+"\" " +$object + " "+ + $shape ) + $menu; + setParent -m $parent; + } + + string $shape = objectHandlesColorSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "Color Sets"`; + menu -e + -pmc ( "createColorSetMenuItems \""+$menu+"\" " +$object + " "+ + $shape ) + $menu; + setParent -m $parent; + } + + // Shader menu to be able to quickly assign existing shaders + // to the object under the pointer. + // + menuItem -d true; + + $menu = `menuItem -subMenu true -l "Materials"`; + menu -e + -pmc ( "createShaderMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + + int $mentalIsLoaded = 0; + string $renderer; + for ($renderer in `renderer -query -namesOfAvailableRenderers`) { + if( $renderer == "mentalRay" ) { + $mentalIsLoaded = 1; + break; + } + } + + if ($mentalIsLoaded) { + $menu = `menuItem -subMenu true -l "Baking"`; + menu -e + -pmc ( "createBakingMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + } + +// { +// $menu = `menuItem -subMenu true -l "Paint"`; +// menu -e +// -pmc ( "createPaintingMenuItems \""+$menu+"\" "+$object ) +// $menu; +// setParent -m $parent; +// } + + if ($mode == "Dynamics") { + menuItem -d true; + menuItem -l "Connect Field" -c ("connectDynamic -f " + $object); + menuItem -l "Connect Emitter" -c ("connectDynamic -em " + $object); + menuItem -l "Connect Collision" -c ("connectDynamic -c " + $object); + } + + // is there a reference associated with the object ? + // and if so, is it in a loaded or unloaded state? + string $refNode = `getRelatedReference $object`; + if( size($refNode) > 0) { + menuItem -d true; + if( `file -rfn $refNode -q -dr` ) { + menuItem -l "Load Related Reference" -c ("loadRelatedReference " + $object); + } else { + menuItem -l "Reload Related Reference" -c ("loadRelatedReference " + $object); + menuItem -l "Unload Related Reference" -c ("unloadRelatedReference " + $object); + } + // Is this reference a proxy? If so, add proxy switch submenu + // + string $proxyNodes[] = `getRelatedProxies $refNode`; + if(size($proxyNodes) > 0) { + $menu = `menuItem -subMenu true -l "Reload Proxy As"`; + menu -e + -pmc ( "createSwitchProxyMenuItems \""+$menu+"\" "+$object + " " + $refNode ) + $menu; + setParent -m $parent; + } + } + + setParent -m $parent; + + } else { + warning("Menu " + $parent + " doesn't exist."); + } +} diff --git a/2009-x64/zooScripts/dagMenuProc_v6.mel b/2009-x64/zooScripts/dagMenuProc_v6.mel new file mode 100644 index 0000000..3c8202f --- /dev/null +++ b/2009-x64/zooScripts/dagMenuProc_v6.mel @@ -0,0 +1,1341 @@ +// Copyright (C) 1997-2004 Alias, +// a division of Silicon Graphics Limited. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias license agreement, without fee. +// +// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: Dec 3, 1996 +// +// +// Description: +// This script describes the contents of the context sensitive menus. +// +// Input Arguments: +// None. +// +// Return Value: +// None. +// + +proc optionalDagMenuProc( string $parent, string $item ) +{ + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + string $shape = ""; + int $gotVisible = 0; + + if( size($object) < 1 ) return; + + for( $i=0; $i 0); +} + + +global proc string[] objectSelectMasks(string $item) +// Returns the component selection masks that apply to this object +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + + string $nt = `nodeType $shape`; + + switch ($nt) { + case "lattice": + $maskList[0] = "latticePoint"; + break; + case "nurbsCurve": + $maskList[0] = "curveParameterPoint"; + $maskList[1] = "controlVertex"; + $maskList[2] = "editPoint"; + $maskList[3] = "hull"; + break; + case "nurbsSurface": + $maskList[0] = "isoparm"; + $maskList[1] = "controlVertex"; + $maskList[2] = "surfaceParameterPoint"; + $maskList[3] = "hull"; + $maskList[4] = "surfaceFace"; + if (objectIsTrimmed($shape)) { + $maskList[5] = "surfaceEdge"; + } + break; + case "mesh": + $maskList[0] = "edge"; + $maskList[1] = "vertex"; + $maskList[2] = "facet"; + $maskList[3] = "puv"; + $maskList[4] = "pvf"; + break; + case "joint": + $maskList[0] = "joint"; // special case + break; + case "ikHandle": + $maskList[0] = "ikHandle"; // special case + break; + case "particle": + $maskList[0] = "particle"; // only one choice + break; + case "spring": + $maskList[0] = "springComponent"; // only one choice + break; + case "subdiv": + $maskList[0] = "subdivMeshPoint"; + $maskList[1] = "subdivMeshEdge"; + $maskList[2] = "subdivMeshFace"; + $maskList[3] = "subdivMeshUV"; + break; + } + + if (isIKcontroller($item)) { + $maskList[size($maskList)] = "ikfkHandle"; + } + + return $maskList; +} + +global proc createSelectMenuItems(string $parent, string $item) +// Create a menu that shows the dag parenting for this object +{ + string $maskList[] = `objectSelectMasks($item)`; + string $radialPosition[]; + string $uiName; + + int $i; + int $isNurbObject = false; + int $isPolyObject = false; + int $isLatticeObject = false; + int $isJointObject = false; + int $isIkHandleObject = false; + int $isIkFkHandleObject = false; + int $isParticleObject = false; + int $isSpringObject = false; + int $isSubdivObject = false; + int $hasComponents = false; + + // Work around for bug #143031. + // Comparing an element in an empty array will increase the array + // to accomodate that element. + // + // To avoid this, first test the size of the array before comparing + // elements that may not exist. + // + if (1 <= size($maskList)) { + $isLatticeObject = ($maskList[0] == "latticePoint"); + $isJointObject = ($maskList[0] == "joint"); + $isIkHandleObject = ($maskList[0] == "ikHandle"); + $isParticleObject = ($maskList[0] == "particle"); + $isSpringObject = ($maskList[0] == "springComponent"); + $isSubdivObject = ($maskList[0] == "subdivMeshPoint"); + } + if (2 <= size($maskList)) { + $isNurbObject = ($maskList[1] == "controlVertex"); + $isPolyObject = ($maskList[1] == "vertex"); + } + + // $maxRadialPos keeps track of how many octants of the + // RMB marking menu will be populated + // + int $maskSize = size($maskList); + int $maxRadialPos = size($maskList); + + if (($maskSize > 0) && ($maskList[$maskSize-1] == "ikfkHandle")) { + $isIkFkHandleObject = true; + $maxRadialPos--; // ikfkHandle does not populate like other masks + } + + $hasComponents = $isLatticeObject || + $isParticleObject || + $isSubdivObject || + $isSpringObject || + $isNurbObject || + $isPolyObject; + + // NOTE: + // If the object has selectable components, then the + // radial position "NE" will be used for the menuItem: + // "Revert back to object mode." + // + setParent -menu $parent; + $radialPosition[0] = "N"; + $radialPosition[1] = "W"; + $radialPosition[2] = "S"; + $radialPosition[3] = "E"; + $radialPosition[4] = "SW"; + $radialPosition[5] = "SE"; + $radialPosition[6] = "NW"; + $radialPosition[7] = "NE"; + + if ($isNurbObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "surfaceParameterPoint": + $uiName = "Surface Point"; + break; + case "curveParameterPoint": + $uiName = "Curve Point"; + break; + case "surfaceEdge": + $uiName = "Trim Edge"; + break; + case "surfaceFace": + $uiName = "Surface Patch"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuNURBComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isPolyObject) { + + for ($i = 0; $i < size($maskList); $i++) { + + switch ($maskList[$i]) { + case "puv": + $uiName = "UV"; + break; + case "facet": + $uiName = "Face"; + break; + case "pvf": + $uiName = "Vertex Faces"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + break; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isLatticeObject) { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] != "ikfkHandle") { + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuLatticeComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isJointObject) { + menuItem -l "Set Preferred Angle" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster + // + string $currContext = `currentCtx`; + string $currTool = `contextInfo -c $currContext`; + if ( $currTool == "artAttrSkin" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "skinWeights" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) + if (`nodeType $conn` == "skinCluster") + { + // select the surface (not the joint) and set + // the joint as the current influence + // + string $currSel[] = `ls -sl`; + string $currSelString; + if (size($currSel) > 0) { + string $currObj; + $currSelString = "select -r "; + for ($currObj in $currSel) { + $currSelString += ($currObj+" "); + } + } + menuItem -l "Paint Weights" + -echoCommand true + -c ($currSelString+"; setSmoothSkinInfluence " + $item) + -rp "N" + paintWeightItem; + break; + } + } + } + // menu for joint-cluster paint + // Check if the current context is the clusterPaint context + // and the the joint is connected to a jointCluster + // + else if ( $currTool == "artAttr" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "general" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") + { + string $artCommand = "artAttrCtx" ; + string $attribute = "cluster." + $conn + ".weights" ; + menuItem -l "Paint Weights" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artAttrCtx -e -pas \"cluster." + $conn + ".weights\" `currentCtx`") + -c ("artSetToolAndSelectAttr( \"" + $artCommand + "\", \"" + $attribute + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + // menu for joint-set paint + // Check if the current context is the setPaint context + // and the the joint is connected to a objectSet via jointCluster + // + else if ( $currTool == "artSetPaint" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") { + string $connS[] = `listConnections ($conn+".message")`; + for($set in $connS) { + if (`nodeType $set` == "objectSet") { + menuItem -l "Paint Set Membership" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artSetPaintCtx -e -settomodify " + $set + " `currentCtx`") + -c ("artSetPaintSelectSet( \"" + $set + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + } + } else if ($isIkHandleObject) { + menuItem -l "Set Preferred Angle" + -annotation "Set Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -annotation "Assume Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -eh " + $item) + -rp "N" + enableIKHandlesItem; + + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -dh " + $item) + -rp "S" + disableIKHandlesItem; + + menuItem -l "Enable Snap" + -annotation "Enable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -see " + $item + ";" + + "ikHandle -e -shf on " + $item) + -rp "SE" + enableIKHandlesSnapItem; + + menuItem -l "Disable Snap" + -annotation "Disable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -shf off " + $item) + -rp "SW" + disableIKHandlesSnapItem; + + $maxRadialPos = 6; + } else if ($isParticleObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "particle": + $uiName = "Particle"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuParticleComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSpringObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "springComponent": + $uiName = "Spring"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuSpringComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSubdivObject) { + subdDagMenuProc( 0, $item, $maskList ); + } else { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] == "ikfkHandle") { + continue; + } + + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // If components are present, provide the ability to + // get back to object mode... + // + if ($hasComponents) { + menuItem -l "Object Mode" + -ecr false + -c ( "hilite -unHilite " + $item + "; string $selection[] = `ls -sl`;" + + "changeSelectMode -object; select -r $selection;" ) + -rp "NE"; + } + + // Since any object can be an ikfk handle, we only populate the ikfk items + // in slots that are not already in use. + // + if ($isIkFkHandleObject) { + string $handle = getControlledHandle($item); + + if ($maxRadialPos < 8) { + menuItem -label "Set IK/FK Key" + -echoCommand true + -annotation "Set keys on selected joint chains and handles." + -rp $radialPosition[7] + -command ("select -r "+$item+"; SetIKFKKeyframe"); + } + + if ($maxRadialPos < 7) { + menuItem -label "Move IK to FK" + -echoCommand true + -annotation "Select an IK handle or IK/FK connected object." + -rp $radialPosition[6] + -command ("select -r "+$item+"; MoveIKtoFK"); + } + + if ($maxRadialPos < 5) { + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handle" + -echoCommand true + -c ("ikHandle -e -dh " + $handle) + -rp $radialPosition[5]; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handle" + -echoCommand true + -c ("ikHandle -e -eh " + $handle) + -rp $radialPosition[4]; + } + } + + +// for ($i = 0; $i < size($maskList); $i++) { +// $itemName = "SELM" + string($i); +// setParent -menu $parent; +// menuItem +// -c ("doMenuComponentSelection(\"" + +// $item + "\", \"" + $maskList[$i] + "\")") +// -l $maskList[$i] +// -rp $radialPosition[$i] +// $itemName; +// } + setParent -menu $parent; +} + +global proc doMenuNURBComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of NURB components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -isoparm 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "editPoint": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + break; + case "controlVertex": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + break; + case "hull": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + +global proc doMenuLatticeComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the Lattice control points +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } else { + $selectCmd = $selectCmd + "toggle -" + $mask + ";"; + } + } + eval $selectCmd; +} + + +global proc doMenuParticleComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of particle +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -particle 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "particle": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -particle " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuSpringComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of spring +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -springComponent 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "springComponent": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -springComponent " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the specified selection mask type. +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + eval $selectCmd; +} + +global proc undoMenuComponentSelection(string $item, string $mask) +{ + string $selectCmd; + + if (`selectMode -q -object`) { + $selectCmd = "selectType -ocm -" + $mask + " false;"; + } else { + $selectCmd = "selectType -" + $mask + " false;"; + } + + eval $selectCmd; +} + +global proc toggleBoundingBoxDisplay ( string $parent ) +// +// For each shape under the selected parent object, toggle the +// state of bounding box display mode. +// +{ + string $shapes[] = `listRelatives -shapes $parent`; + string $shape; + + for ( $shape in $shapes ) { + int $overrideOn = `getAttr ( $shape + ".overrideEnabled")`; + int $lodMode = `getAttr ( $shape + ".overrideLevelOfDetail")`; + int $enabled = $overrideOn && $lodMode == 1; + + if ( $enabled ) { + // Don't reset the overrideEnabled attribute. It + // is used for more than just bounding box display + // and turning if off will mess things up of you + // have temporarily enabled bounding box display + // of an object in a layer. + setAttr ( $shape + ".overrideLevelOfDetail" ) 0; + } else { + setAttr ( $shape + ".overrideEnabled") 1; + setAttr ( $shape + ".overrideLevelOfDetail") 1; + } + + } +} + +global proc createActionsMenuItems(string $parent, string $item) +// +// Creates a menu with common operations to perform on an object +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -l "Template" -c ("toggle -template -state on " + $item); + menuItem -l "Untemplate" -c ("toggle -template -state off " + $item); + menuItem -l "Unparent" -c ("parent -w " + $item); + menuItem -l "Bounding Box" -c ("toggleBoundingBoxDisplay " + $item); +} + + +global proc showSG(string $item) +// +// Display the Attribute Editor and show the tab for the +// shading group that is on the object $item. +// +// If would have been nicer to be able to use the +// showShadingGroupAttributeEditor command, but it only +// acts on the selected object. +// +{ + //check selection list for faces (polys, subds, nurbs) + string $shader = ""; + string $selection[] = `filterExpand -sm 34 -sm 38 -sm 72`; + + // If there are components selected, try to find a component shader + if( size( $selection ) > 0) + { + string $nameBuffer[]; + + int $numComps = size( $selection ); + int $comp; + for( $comp = 0; $comp < $numComps; $comp++) + { + tokenize $selection[ $comp] "." $nameBuffer; + + //if the selected component is on the object under the pointer + //get it's shader + if ($nameBuffer[0] == $item) { + $shader = `getComponentShader $selection[$comp]`; + + //check if the shader is already selected - only toggle + //selection if it is not selected + string $shaderSelected[] = `ls -selection $shader`; + if ( size( $shaderSelected ) == 0){ + select -tgl $shader; + + } + break; + } + } + } + + // If we didn't find a component level shader, try for an object level one + if( size( $shader ) == 0 ) { + string $allNodes[] = (`listHistory -f true $item` ); + string $node = ""; + for ($node in $allNodes) { + if(`nodeType $node` == "shadingEngine") { + + $shader = $node; + break; + } + } + } + + // If we found a shader, show it + if( size( $shader ) > 0) + { + showEditor $shader; + } +} + +global proc showBakeSets(string $item, string $type) +// +// Display the Attribute Editor and show the tab for the +// first bake set of the specified $type that the object $item is in. +// If there is no this $type of bake set in the scene, creates the +// initial bake set of this type and show it in the attribute editor. +// +// If would have been nicer to be able to use the +// showBakeSetAttributeEditor command, but it only +// acts on the selected object. +// +{ + string $possibleBakeSets[] = (`listHistory -f true $item` ); + string $node = ""; + int $bakeSetExists = false; + for ($node in $possibleBakeSets) { + if(`nodeType $node` == $type) + { + showEditor $node; + $bakeSetExists = true; + break; + } + } + + // If no bake set exists for the $item, then create the + // initial bake set of that $type and assign it to the $item. + // + if (!$bakeSetExists) + { + string $initialBakeSet = ""; + if($type == "vertexBakeSet") + { + $initialBakeSet = "initialVertexBakeSet"; + } + else if($type == "textureBakeSet") + { + $initialBakeSet = "initialTextureBakeSet"; + } + else + { + error -showLineNumber true + ("Bake set type "+$type + " does not exist."); + return; + } + + // Create it if it does not exist yet. + // + if ( size(`ls $initialBakeSet`) < 1) + { + createBakeSet($initialBakeSet, $type); + } + + // Assign the initial bake set to the item. + // + assignBakeSet($initialBakeSet, $item); + + // Show the initial bake set. + // + showBakeSetAE($initialBakeSet); + } +} + +global proc createShaderMenuItems(string $parent, string $item) +// +// Create the Shader menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + menuItem -l "Material Attributes..." -c ("showSG " + $item); + menuItem -d true; + + buildShaderMenus($item); +} + +// Description: This procedure is called to refresh the baking +// attribute menu items. +// +global proc refreshBakingAttributeMenu (string $parent, string $item) +{ + setParent -menu $parent; + + int $suitable = bakeSetTypeSuitableForItem("textureBakeSet", $item); + menuItem -edit -enable $suitable textureBakingAttributeItem; + $suitable = bakeSetTypeSuitableForItem("vertexBakeSet", $item); + menuItem -edit -enable $suitable vertexBakingAttributeItem; +} + +// Description: This procedure is called to create the +// baking attribute menu. +// +proc createBakingAttributeMenu(string $parent, string $item) +{ + setParent -menu $parent; + + menuItem -l "Edit Attributes..." + -subMenu true + -tearOff true + -postMenuCommand ("refreshBakingAttributeMenu \"" + +$parent+"|editAttributeItem\" \"" + +$item+"\"") + editAttributeItem; + + + menuItem -l "texture" + -c ("showBakeSets \""+$item+"\" \"textureBakeSet\"") + textureBakingAttributeItem; + menuItem -l "vertex" + -c ("showBakeSets \""+$item+"\" \"vertexBakeSet\"") + vertexBakingAttributeItem; + + setParent -menu ..; +} + +// Description: This procedure is called to create the baking +// menu items. +// +global proc createBakingMenuItems(string $parent, string $item) +// +// Create the Baking menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + createBakingAttributeMenu($parent, $item); + menuItem -d true; + + buildBakingMenus($item); +} + + +global proc createHistoryMenuItems(string $parent, string $item) +// +// Creates a menu on the toolbar that shows a list of +// all operations that took place to create/modify +// the currently selected object. Note that the list +// is not being filtered yet to get rid of things that +// users won't really care about, nor are the operations +// being listed as operations - their DG node names are +// simply being stuck into the menu. This should +// change. +// +// Also note that the chain of operations limit is being +// hardcoded to 20 here, for the sake of speed. +// +{ + // + // Delete all menu entries currently in the popup + // + popupMenu -e -dai $parent; + setParent -menu $parent; + + historyPopupFill( $item, false, 1 ); +} + +global proc createFutureMenuItems(string $parent, string $item) +// +// Creates a menu on the toolbar that shows a list of +// all operations that took place to create/modify +// the currently selected object. Note that the list +// is not being filtered yet to get rid of things that +// users won't really care about, nor are the operations +// being listed as operations - their DG node names are +// simply being stuck into the menu. This should +// change. +// +// Also note that the chain of operations limit is being +// hardcoded to 20 here, for the sake of speed. +// +{ + // + // Delete all menu entries currently in the popup + // + popupMenu -e -dai $parent; + setParent -menu $parent; + + historyPopupFill( $item, true, 1 ); +} + +global proc string objectHandlesUvSets(string $item) +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + string $nt = `nodeType $shape`; + + if ($nt == "mesh") + return $shape; + return ""; +} + +global proc createUVsetMenuItems(string $parent, string $item, + string $shape) +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + string $cmd = "polyUVSet -currentUVSet -uvSet "; + string $curSet[] = `polyUVSet -q -currentUVSet $shape`; + string $names[] = `polyUVSet -q -auv $shape`; + + string $allProjects[] = `polyUVSet -pr -q $shape`; + string $setClearCmd = ""; + if (size($allProjects)) + { + $setClearCmd = "select -d "; + for ($p=0; $p 0) + { + string $ann = `getRunTimeCommandAnnotation "UVCentricUVLinkingEditor"`; + string $cmd = "UVCentricUVLinkingEditor; " + "select -r " + $item; + menuItem -l "UV Linking..." + -c $cmd + -annotation $ann; + menuItem -divider true; + } + + for ($i=0; $i<$numNames; $i++) + { + string $uvEditname = ("\"" + $names[$i] + "\""); + string $uvname = $names[$i]; + string $setCurCmd = $cmd + $uvEditname + " " + $shape + ";"; + + // Find any projections associated with the uvset + string $projs[]; + $projs = `polyUVSet -pr -uvs $uvname -q $shape`; + string $projCmd; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($uvname == $curSet[0]) + { + menuItem -l ($uvname) -c $setClearCmd -checkBox true; + for ($j=0; $j= 5) + break; + } + } + else + { + menuItem -l ($uvname) -c ($setClearCmd + $setCurCmd) -checkBox false; + for ($j=0; $j= 5) + break; + } + } + } +} + +// This has been called because a menu press happened on a DAG object +// So find the Object submenu and add the DAG specific items to it. +// +global proc dagMenuProc(string $parent, string $object) +{ + string $mode = "All"; + + if (`optionVar -exists currentMenuBarTab`) { + $mode = `optionVar -q currentMenuBarTab`; + } else { + optionVar -sv currentMenuBarTab $mode; + } + + if (`popupMenu -e -exists $parent`) { + setParent -m $parent; + + // label the object + string $shortName = `substitute ".*|" $object ""`; + menuItem -l ($shortName + "...") -c ("showEditor "+$object); + menuItem -divider true; + menuItem -divider true; + + // Create the list of selection masks + createSelectMenuItems($parent, $object); + + menuItem -d true; + + menuItem -l "Select" -c ("select -r " + $object); + + menuItem -d true; + + //call the zooObjMenu script, to add any object specific commands to the rmb + zooObjMenu $parent $object; + + optionalDagMenuProc( $parent, $object ); + + // create the history menu + // + string $menu = `menuItem -subMenu true -aob true -l "Inputs"`; + menu -e + -pmc ( "createHistoryMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + $menu = `menuItem -subMenu true -aob true -l "Outputs"`; + menu -e -pmc ( "createFutureMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // Look at the shape child of this object + // + string $shapes[] = `listRelatives -path -s $object`; + + string $paintParent = "" ; + + int $i; + for ($i = 0; $i < size($shapes); ++$i) + { + string $nodeType = `nodeType $shapes[$i]` ; + + if ( ( $nodeType == "nurbsSurface") || + ( $nodeType == "mesh") || + ( $nodeType == "subdiv")) + { + $paintParent = `menuItem -subMenu true -aob true -l "Paint"`; + + menuItem -p $paintParent -label "Paint Select" -command "ArtPaintSelectToolOptions" ; + menuItem -p $paintParent -label "3D Paint" -command "Art3dPaintToolOptions" ; + break ; + } + } + + string $paintAttr = `artBuildPaintMenu $object`; + if ($paintAttr != "") + { + // if the menu item has not been created, create it. + if( $paintParent == "" ) + $paintParent = `menuItem -subMenu true -aob true -l "Paint"`; + + // Create the menu. + artAttrCreateMenuItems( $paintParent, $paintAttr ); + + // artAttrCreateMenuItems currently does not use $object + // hence we are making a seperate call to this function to handle + // cloth objects. We need the object name to select the object and detect + // dynamic attributes available for painting. + // + menu -e -pmc ( "createPaintingMenuItems \""+ $paintParent +"\" "+$object ) $paintParent ; + } + + setParent -m $parent; + + $menu = `menuItem -subMenu true -l "Actions"`; + menu -e -pmc ( "createActionsMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // If the object can handle uv sets then add the uvset menu + // + string $shape = objectHandlesUvSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "UV Sets"`; + menu -e + -pmc ( "createUVsetMenuItems \""+$menu+"\" " +$object + " "+ + $shape ) + $menu; + setParent -m $parent; + } + + // Shader menu to be able to quickly assign existing shaders + // to the object under the pointer. + // + menuItem -d true; + + $menu = `menuItem -subMenu true -l "Materials"`; + menu -e + -pmc ( "createShaderMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + + int $mentalIsLoaded = 0; + string $renderer; + for ($renderer in `renderer -query -namesOfAvailableRenderers`) { + if( $renderer == "mentalRay" ) { + $mentalIsLoaded = 1; + break; + } + } + + if ($mentalIsLoaded) { + $menu = `menuItem -subMenu true -l "Baking"`; + menu -e + -pmc ( "createBakingMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + } + +// { +// $menu = `menuItem -subMenu true -l "Paint"`; +// menu -e +// -pmc ( "createPaintingMenuItems \""+$menu+"\" "+$object ) +// $menu; +// setParent -m $parent; +// } + + if ($mode == "Dynamics") { + menuItem -d true; + menuItem -l "Connect Field" -c ("connectDynamic -f " + $object); + menuItem -l "Connect Emitter" -c ("connectDynamic -em " + $object); + menuItem -l "Connect Collision" -c ("connectDynamic -c " + $object); + } + + // is there a reference associated with the object ? + // and if so, is it in a loaded or unloaded state? + string $refNode = `getRelatedReference $object`; + if( size($refNode) > 0) { + menuItem -d true; + if( `file -rfn $refNode -q -dr` ) { + menuItem -l "Load Related Reference" -c ("loadRelatedReference " + $object); + } else { + menuItem -l "Reload Related Reference" -c ("loadRelatedReference " + $object); + menuItem -l "Unload Related Reference" -c ("unloadRelatedReference " + $object); + } + } + + setParent -m $parent; + + } else { + warning("Menu " + $parent + " doesn't exist."); + } +} diff --git a/2009-x64/zooScripts/dagMenuProc_v65.mel b/2009-x64/zooScripts/dagMenuProc_v65.mel new file mode 100644 index 0000000..c9d6be5 --- /dev/null +++ b/2009-x64/zooScripts/dagMenuProc_v65.mel @@ -0,0 +1,1415 @@ +// Copyright (C) 1997-2004 Alias Systems Corp. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias license agreement, without fee. +// +// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +// Alias|Wavefront Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: Dec 3, 1996 +// +// +// Description: +// This script describes the contents of the context sensitive menus. +// +// Input Arguments: +// None. +// +// Return Value: +// None. +// + +proc optionalDagMenuProc( string $parent, string $item ) +{ + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + string $shape = ""; + int $gotVisible = 0; + + if( size($object) < 1 ) return; + + for( $i=0; $i 0); +} + +proc checkForSkinInfluenceItem(string $item, string $quadrant) +{ + int $isJoint = (nodeType($item) == "joint"); + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster + // + string $currContext = `currentCtx`; + string $currTool = `contextInfo -c $currContext`; + if ( $currTool == "artAttrSkin" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "skinWeights" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "skinCluster") + { + // select the surface (not the joint) and set + // the joint as the current influence + // + string $currSel[] = `ls -sl`; + string $currSelString; + if (size($currSel) > 0) { + string $currObj; + $currSelString = "select -r "; + for ($currObj in $currSel) { + $currSelString += ($currObj+" "); + } + } + menuItem -l "Paint Weights" + -echoCommand true + -c ($currSelString+"; setSmoothSkinInfluence " + $item) + -rp $quadrant + paintWeightItem; + break; + } + } + } + } // menu for skinCluster paint + // Check if the current context is the clusterPaint context + // and the the joint is connected to a jointCluster + // + else if ( $isJoint && ($currTool == "artAttr") ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "general" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") + { + string $artCommand = "artAttrCtx" ; + string $attribute = "cluster." + $conn + ".weights" ; + menuItem -l "Paint Weights" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artAttrCtx -e -pas \"cluster." + $conn + ".weights\" `currentCtx`") + -c ("artSetToolAndSelectAttr( \"" + $artCommand + "\", \"" + $attribute + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + // menu for joint-set paint + // Check if the current context is the setPaint context + // and the the joint is connected to a objectSet via jointCluster + // + else if ( $isJoint && ($currTool == "artSetPaint") ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") { + string $connS[] = `listConnections ($conn+".message")`; + for($set in $connS) { + if (`nodeType $set` == "objectSet") { + menuItem -l "Paint Set Membership" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artSetPaintCtx -e -settomodify " + $set + " `currentCtx`") + -c ("artSetPaintSelectSet( \"" + $set + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + } +} + +global proc string[] objectSelectMasks(string $item) +// Returns the component selection masks that apply to this object +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + + string $nt = `nodeType $shape`; + + switch ($nt) { + case "lattice": + $maskList[0] = "latticePoint"; + break; + case "locator": + $maskList[0] = "locator"; + break; + case "nurbsCurve": + $maskList[0] = "curveParameterPoint"; + $maskList[1] = "controlVertex"; + $maskList[2] = "editPoint"; + $maskList[3] = "hull"; + break; + case "nurbsSurface": + $maskList[0] = "isoparm"; + $maskList[1] = "controlVertex"; + $maskList[2] = "surfaceParameterPoint"; + $maskList[3] = "hull"; + $maskList[4] = "surfaceFace"; + if (objectIsTrimmed($shape)) { + $maskList[5] = "surfaceEdge"; + } + break; + case "mesh": + $maskList[0] = "edge"; + $maskList[1] = "vertex"; + $maskList[2] = "facet"; + $maskList[3] = "puv"; + $maskList[4] = "pvf"; + break; + case "joint": + $maskList[0] = "joint"; // special case + break; + case "ikHandle": + $maskList[0] = "ikHandle"; // special case + break; + case "particle": + $maskList[0] = "particle"; // only one choice + break; + case "spring": + $maskList[0] = "springComponent"; // only one choice + break; + case "subdiv": + $maskList[0] = "subdivMeshPoint"; + $maskList[1] = "subdivMeshEdge"; + $maskList[2] = "subdivMeshFace"; + $maskList[3] = "subdivMeshUV"; + break; + } + + if (isIKcontroller($item)) { + $maskList[size($maskList)] = "ikfkHandle"; + } + + return $maskList; +} + +global proc createSelectMenuItems(string $parent, string $item) +// Create a menu that shows the dag parenting for this object +{ + string $maskList[] = `objectSelectMasks($item)`; + string $radialPosition[]; + string $uiName; + + int $i; + int $isNurbObject = false; + int $isPolyObject = false; + int $isLatticeObject = false; + int $isJointObject = false; + int $isIkHandleObject = false; + int $isIkFkHandleObject = false; + int $isParticleObject = false; + int $isSpringObject = false; + int $isSubdivObject = false; + int $isLocatorObject = false; + int $hasComponents = false; + + // Work around for bug #143031. + // Comparing an element in an empty array will increase the array + // to accomodate that element. + // + // To avoid this, first test the size of the array before comparing + // elements that may not exist. + // + if (1 <= size($maskList)) { + $isLatticeObject = ($maskList[0] == "latticePoint"); + $isJointObject = ($maskList[0] == "joint"); + $isIkHandleObject = ($maskList[0] == "ikHandle"); + $isParticleObject = ($maskList[0] == "particle"); + $isSpringObject = ($maskList[0] == "springComponent"); + $isSubdivObject = ($maskList[0] == "subdivMeshPoint"); + $isLocatorObject = ($maskList[0] == "locator"); + } + if (2 <= size($maskList)) { + $isNurbObject = ($maskList[1] == "controlVertex"); + $isPolyObject = ($maskList[1] == "vertex"); + } + + // $maxRadialPos keeps track of how many octants of the + // RMB marking menu will be populated + // + int $maskSize = size($maskList); + int $maxRadialPos = size($maskList); + + if (($maskSize > 0) && ($maskList[$maskSize-1] == "ikfkHandle")) { + $isIkFkHandleObject = true; + $maxRadialPos--; // ikfkHandle does not populate like other masks + } + + $hasComponents = $isLatticeObject || + $isParticleObject || + $isSubdivObject || + $isSpringObject || + $isNurbObject || + $isPolyObject; + + // NOTE: + // If the object has selectable components, then the + // radial position "NE" will be used for the menuItem: + // "Revert back to object mode." + // + setParent -menu $parent; + $radialPosition[0] = "N"; + $radialPosition[1] = "W"; + $radialPosition[2] = "S"; + $radialPosition[3] = "E"; + $radialPosition[4] = "SW"; + $radialPosition[5] = "SE"; + $radialPosition[6] = "NW"; + $radialPosition[7] = "NE"; + + if ($isNurbObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "surfaceParameterPoint": + $uiName = "Surface Point"; + break; + case "curveParameterPoint": + $uiName = "Curve Point"; + break; + case "surfaceEdge": + $uiName = "Trim Edge"; + break; + case "surfaceFace": + $uiName = "Surface Patch"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuNURBComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isPolyObject) { + + for ($i = 0; $i < size($maskList); $i++) { + + switch ($maskList[$i]) { + case "puv": + $uiName = "UV"; + break; + case "facet": + $uiName = "Face"; + break; + case "pvf": + $uiName = "Vertex Faces"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + break; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isLatticeObject) { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] != "ikfkHandle") { + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuLatticeComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isJointObject) { + menuItem -l "Set Preferred Angle" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isLocatorObject) { + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isIkHandleObject) { + menuItem -l "Set Preferred Angle" + -annotation "Set Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -annotation "Assume Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -eh " + $item) + -rp "N" + enableIKHandlesItem; + + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -dh " + $item) + -rp "S" + disableIKHandlesItem; + + menuItem -l "Enable Snap" + -annotation "Enable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -see " + $item + ";" + + "ikHandle -e -shf on " + $item) + -rp "SE" + enableIKHandlesSnapItem; + + menuItem -l "Disable Snap" + -annotation "Disable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -shf off " + $item) + -rp "SW" + disableIKHandlesSnapItem; + + $maxRadialPos = 6; + } else if ($isParticleObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "particle": + $uiName = "Particle"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuParticleComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSpringObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "springComponent": + $uiName = "Spring"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuSpringComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSubdivObject) { + subdDagMenuProc( 0, $item, $maskList ); + } else { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] == "ikfkHandle") { + continue; + } + + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // If components are present, provide the ability to + // get back to object mode... + // + if ($hasComponents) { + menuItem -l "Object Mode" + -ecr false + -c ( "hilite -unHilite " + $item + "; string $selection[] = `ls -sl`;" + + "changeSelectMode -object; select -r $selection;" ) + -rp "NE"; + } + + // Since any object can be an ikfk handle, we only populate the ikfk items + // in slots that are not already in use. + // + if ($isIkFkHandleObject) { + string $handle = getControlledHandle($item); + + if ($maxRadialPos < 8) { + menuItem -label "Set IK/FK Key" + -echoCommand true + -annotation "Set keys on selected joint chains and handles." + -rp $radialPosition[7] + -command ("select -r "+$item+"; SetIKFKKeyframe"); + } + + if ($maxRadialPos < 7) { + menuItem -label "Move IK to FK" + -echoCommand true + -annotation "Select an IK handle or IK/FK connected object." + -rp $radialPosition[6] + -command ("select -r "+$item+"; MoveIKtoFK"); + } + + if ($maxRadialPos < 5) { + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handle" + -echoCommand true + -c ("ikHandle -e -dh " + $handle) + -rp $radialPosition[5]; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handle" + -echoCommand true + -c ("ikHandle -e -eh " + $handle) + -rp $radialPosition[4]; + } + } + + +// for ($i = 0; $i < size($maskList); $i++) { +// $itemName = "SELM" + string($i); +// setParent -menu $parent; +// menuItem +// -c ("doMenuComponentSelection(\"" + +// $item + "\", \"" + $maskList[$i] + "\")") +// -l $maskList[$i] +// -rp $radialPosition[$i] +// $itemName; +// } + setParent -menu $parent; +} + +global proc doMenuNURBComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of NURB components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -isoparm 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "editPoint": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + break; + case "controlVertex": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + break; + case "hull": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + +global proc doMenuLatticeComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the Lattice control points +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } else { + $selectCmd = $selectCmd + "toggle -" + $mask + ";"; + } + } + eval $selectCmd; +} + + +global proc doMenuParticleComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of particle +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -particle 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "particle": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -particle " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuSpringComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of spring +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -springComponent 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "springComponent": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -springComponent " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the specified selection mask type. +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + eval $selectCmd; +} + +global proc undoMenuComponentSelection(string $item, string $mask) +{ + string $selectCmd; + + if (`selectMode -q -object`) { + $selectCmd = "selectType -ocm -" + $mask + " false;"; + } else { + $selectCmd = "selectType -" + $mask + " false;"; + } + + eval $selectCmd; +} + +global proc toggleBoundingBoxDisplay ( string $parent ) +// +// For each shape under the selected parent object, toggle the +// state of bounding box display mode. +// +{ + string $shapes[] = `listRelatives -shapes $parent`; + string $shape; + + for ( $shape in $shapes ) { + int $overrideOn = `getAttr ( $shape + ".overrideEnabled")`; + int $lodMode = `getAttr ( $shape + ".overrideLevelOfDetail")`; + int $enabled = $overrideOn && $lodMode == 1; + + if ( $enabled ) { + // Don't reset the overrideEnabled attribute. It + // is used for more than just bounding box display + // and turning if off will mess things up of you + // have temporarily enabled bounding box display + // of an object in a layer. + setAttr ( $shape + ".overrideLevelOfDetail" ) 0; + } else { + setAttr ( $shape + ".overrideEnabled") 1; + setAttr ( $shape + ".overrideLevelOfDetail") 1; + } + + } +} + +global proc createActionsMenuItems(string $parent, string $item) +// +// Creates a menu with common operations to perform on an object +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -l "Template" -c ("toggle -template -state on " + $item); + menuItem -l "Untemplate" -c ("toggle -template -state off " + $item); + menuItem -l "Unparent" -c ("parent -w " + $item); + menuItem -l "Bounding Box" -c ("toggleBoundingBoxDisplay " + $item); +} + + +global proc showSG(string $item) +// +// Display the Attribute Editor and show the tab for the +// shading group that is on the object $item. +// +// If would have been nicer to be able to use the +// showShadingGroupAttributeEditor command, but it only +// acts on the selected object. +// +{ + //check selection list for faces (polys, subds, nurbs) + string $shader = ""; + string $selection[] = `filterExpand -sm 34 -sm 38 -sm 72`; + + // If there are components selected, try to find a component shader + if( size( $selection ) > 0) + { + string $nameBuffer[]; + + int $numComps = size( $selection ); + int $comp; + for( $comp = 0; $comp < $numComps; $comp++) + { + tokenize $selection[ $comp] "." $nameBuffer; + + //if the selected component is on the object under the pointer + //get it's shader + if ($nameBuffer[0] == $item) { + $shader = `getComponentShader $selection[$comp]`; + + //check if the shader is already selected - only toggle + //selection if it is not selected + string $shaderSelected[] = `ls -selection $shader`; + if ( size( $shaderSelected ) == 0){ + select -tgl $shader; + + } + break; + } + } + } + + // If we didn't find a component level shader, try for an object level one + if( size( $shader ) == 0 ) { + string $allNodes[] = (`listHistory -f true $item` ); + string $node = ""; + for ($node in $allNodes) { + if(`nodeType $node` == "shadingEngine") { + + $shader = $node; + break; + } + } + } + + // If we found a shader, show it + if( size( $shader ) > 0) + { + showEditor $shader; + } +} + +global proc showBakeSets(string $item, string $type) +// +// Display the Attribute Editor and show the tab for the +// first bake set of the specified $type that the object $item is in. +// If there is no this $type of bake set in the scene, creates the +// initial bake set of this type and show it in the attribute editor. +// +// If would have been nicer to be able to use the +// showBakeSetAttributeEditor command, but it only +// acts on the selected object. +// +{ + string $possibleBakeSets[] = (`listHistory -f true $item` ); + string $node = ""; + int $bakeSetExists = false; + for ($node in $possibleBakeSets) { + if(`nodeType $node` == $type) + { + showEditor $node; + $bakeSetExists = true; + break; + } + } + + // If no bake set exists for the $item, then create the + // initial bake set of that $type and assign it to the $item. + // + if (!$bakeSetExists) + { + string $initialBakeSet = ""; + if($type == "vertexBakeSet") + { + $initialBakeSet = "initialVertexBakeSet"; + } + else if($type == "textureBakeSet") + { + $initialBakeSet = "initialTextureBakeSet"; + } + else + { + error -showLineNumber true + ("Bake set type "+$type + " does not exist."); + return; + } + + // Create it if it does not exist yet. + // + if ( size(`ls $initialBakeSet`) < 1) + { + createBakeSet($initialBakeSet, $type); + } + + // Assign the initial bake set to the item. + // + assignBakeSet($initialBakeSet, $item); + + // Show the initial bake set. + // + showBakeSetAE($initialBakeSet); + } +} + +global proc createShaderMenuItems(string $parent, string $item) +// +// Create the Shader menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + menuItem -l "Material Attributes..." -c ("showSG " + $item); + menuItem -d true; + + buildShaderMenus($item); +} + +// Description: This procedure is called to refresh the baking +// attribute menu items. +// +global proc refreshBakingAttributeMenu (string $parent, string $item) +{ + setParent -menu $parent; + + int $suitable = bakeSetTypeSuitableForItem("textureBakeSet", $item); + menuItem -edit -enable $suitable textureBakingAttributeItem; + $suitable = bakeSetTypeSuitableForItem("vertexBakeSet", $item); + menuItem -edit -enable $suitable vertexBakingAttributeItem; +} + +// Description: This procedure is called to create the +// baking attribute menu. +// +proc createBakingAttributeMenu(string $parent, string $item) +{ + setParent -menu $parent; + + menuItem -l "Edit Attributes..." + -subMenu true + -tearOff true + -postMenuCommand ("refreshBakingAttributeMenu \"" + +$parent+"|editAttributeItem\" \"" + +$item+"\"") + editAttributeItem; + + + menuItem -l "texture" + -c ("showBakeSets \""+$item+"\" \"textureBakeSet\"") + textureBakingAttributeItem; + menuItem -l "vertex" + -c ("showBakeSets \""+$item+"\" \"vertexBakeSet\"") + vertexBakingAttributeItem; + + setParent -menu ..; +} + +// Description: This procedure is called to create the baking +// menu items. +// +global proc createBakingMenuItems(string $parent, string $item) +// +// Create the Baking menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + createBakingAttributeMenu($parent, $item); + menuItem -d true; + + if (!`about -evalVersion`) { + buildBakingMenus($item); + } +} + +// Description: This procedure is called to create the switch proxy +// menu items. +// +global proc createSwitchProxyMenuItems(string $parent, string $item, string $refNode) +// +// Create the switch proxy submenu for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + string $proxyNodes[] = `getRelatedProxies $refNode`; + int $i; + string $proxyLabel; + string $proxyTag; + for( $i=0; $i 0) + { + string $ann = `getRunTimeCommandAnnotation "UVCentricUVLinkingEditor"`; + string $cmd = "UVCentricUVLinkingEditor; " + "select -r " + $item; + menuItem -l "UV Linking..." + -c $cmd + -annotation $ann; + menuItem -divider true; + } + + for ($i=0; $i<$numNames; $i++) + { + string $uvEditname = ("\"" + $names[$i] + "\""); + string $uvname = $names[$i]; + string $setCurCmd = $cmd + $uvEditname + " " + $shape + ";"; + + // Find any projections associated with the uvset + string $projs[]; + $projs = `polyUVSet -pr -uvs $uvname -q $shape`; + string $projCmd; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($uvname == $curSet[0]) + { + menuItem -l ($uvname) -c $setClearCmd -checkBox true; + for ($j=0; $j= 5) + break; + } + } + else + { + menuItem -l ($uvname) -c ($setClearCmd + $setCurCmd) -checkBox false; + for ($j=0; $j= 5) + break; + } + } + } +} + +global proc createArtAttrMenuItems( + string $parent, + string $item +) +// +// Description: +// Creates a menu that shows all the paintable attributes. +// +// NOTE: paintAttr are sorted by the paintable node type. +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -p $parent -label "Paint Select" -command "ArtPaintSelectToolOptions" ; + menuItem -p $parent -label "3D Paint" -command "Art3dPaintToolOptions" ; + + // Get all paintable attributes + string $paintAttr = `artBuildPaintMenu $item`; + + if ($paintAttr != "") + { + // if the menu item has not been created, create it. + if( $parent == "" ) + $parent = `menuItem -subMenu true -aob true -l "Paint"`; + + + // Create the menu. + artAttrCreateMenuItems( $parent, $paintAttr ); + + // artAttrCreateMenuItems currently does not use $object + // hence we are making a seperate call to this function to handle + // cloth objects. We need the object name to select the object and detect + // dynamic attributes available for painting. + // + createPaintingMenuItems( $parent, $item ); + } +} + +// This has been called because a menu press happened on a DAG object +// So find the Object submenu and add the DAG specific items to it. +// +global proc dagMenuProc(string $parent, string $object) +{ + string $mode = "All"; + + if (`optionVar -exists currentMenuBarTab`) { + $mode = `optionVar -q currentMenuBarTab`; + } else { + optionVar -sv currentMenuBarTab $mode; + } + + if (`popupMenu -e -exists $parent`) { + setParent -m $parent; + + // label the object + string $shortName = `substitute ".*|" $object ""`; + menuItem -l ($shortName + "...") -c ("showEditor "+$object); + menuItem -divider true; + menuItem -divider true; + + // Create the list of selection masks + createSelectMenuItems($parent, $object); + + menuItem -d true; + + menuItem -l "Select" -c ("select -r " + $object); + + menuItem -d true; + + //call the zooObjMenu script, to add any object specific commands to the rmb + zooObjMenu $parent $object; + + optionalDagMenuProc( $parent, $object ); + + // create the history menu + // + string $menu = `menuItem -subMenu true -aob true -l "Inputs"`; + menu -e + -pmc ( "createHistoryMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + $menu = `menuItem -subMenu true -aob true -l "Outputs"`; + menu -e -pmc ( "createFutureMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // Look at the shape child of this object + // + string $shapes[] = `listRelatives -path -s $object`; + + string $paintParent = "" ; + + int $i; + for ($i = 0; $i < size($shapes); ++$i) + { + string $nodeType = `nodeType $shapes[$i]` ; + + if ( ( $nodeType == "nurbsSurface") || + ( $nodeType == "mesh") || + ( $nodeType == "subdiv")) + { + $paintParent = `menuItem -subMenu true -aob true -l "Paint"`; + menu -e -pmc ( "createArtAttrMenuItems \""+ $paintParent +"\" "+$object ) $paintParent ; + setParent -m $parent; + break ; + } + } + + $menu = `menuItem -subMenu true -l "Actions"`; + menu -e -pmc ( "createActionsMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // If the object can handle uv sets then add the uvset menu + // + string $shape = objectHandlesUvSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "UV Sets"`; + menu -e + -pmc ( "createUVsetMenuItems \""+$menu+"\" " +$object + " "+ + $shape ) + $menu; + setParent -m $parent; + } + + // Shader menu to be able to quickly assign existing shaders + // to the object under the pointer. + // + menuItem -d true; + + $menu = `menuItem -subMenu true -l "Materials"`; + menu -e + -pmc ( "createShaderMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + + int $mentalIsLoaded = 0; + string $renderer; + for ($renderer in `renderer -query -namesOfAvailableRenderers`) { + if( $renderer == "mentalRay" ) { + $mentalIsLoaded = 1; + break; + } + } + + if ($mentalIsLoaded) { + $menu = `menuItem -subMenu true -l "Baking"`; + menu -e + -pmc ( "createBakingMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + } + +// { +// $menu = `menuItem -subMenu true -l "Paint"`; +// menu -e +// -pmc ( "createPaintingMenuItems \""+$menu+"\" "+$object ) +// $menu; +// setParent -m $parent; +// } + + if ($mode == "Dynamics") { + menuItem -d true; + menuItem -l "Connect Field" -c ("connectDynamic -f " + $object); + menuItem -l "Connect Emitter" -c ("connectDynamic -em " + $object); + menuItem -l "Connect Collision" -c ("connectDynamic -c " + $object); + } + + // is there a reference associated with the object ? + // and if so, is it in a loaded or unloaded state? + string $refNode = `getRelatedReference $object`; + if( size($refNode) > 0) { + menuItem -d true; + if( `file -rfn $refNode -q -dr` ) { + menuItem -l "Load Related Reference" -c ("loadRelatedReference " + $object); + } else { + menuItem -l "Reload Related Reference" -c ("loadRelatedReference " + $object); + menuItem -l "Unload Related Reference" -c ("unloadRelatedReference " + $object); + } + // Is this reference a proxy? If so, add proxy switch submenu + // + string $proxyNodes[] = `getRelatedProxies $refNode`; + if(size($proxyNodes) > 0) { + $menu = `menuItem -subMenu true -l "Reload Proxy As"`; + menu -e + -pmc ( "createSwitchProxyMenuItems \""+$menu+"\" "+$object + " " + $refNode ) + $menu; + setParent -m $parent; + } + } + + setParent -m $parent; + + } else { + warning("Menu " + $parent + " doesn't exist."); + } +} diff --git a/2009-x64/zooScripts/dagMenuProc_v7.mel b/2009-x64/zooScripts/dagMenuProc_v7.mel new file mode 100644 index 0000000..c22c352 --- /dev/null +++ b/2009-x64/zooScripts/dagMenuProc_v7.mel @@ -0,0 +1,1773 @@ +// Copyright (C) 1997-2004 Alias Systems Corp. +// +// The information in this file is provided for the exclusive use of the +// licensees of Alias. Such users have the right to use, modify, +// and incorporate this code into other products for purposes authorized +// by the Alias license agreement, without fee. +// +// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +// Alias Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: Dec 3, 1996 +// +// +// Description: +// This script describes the contents of the context sensitive menus. +// +// Input Arguments: +// None. +// +// Return Value: +// None. +// + +proc optionalDagMenuProc( string $parent, string $item ) +{ + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + string $shape = ""; + int $gotVisible = 0; + + if( size($object) < 1 ) return; + + for( $i=0; $i 0); +} + +proc +createFBIKmenuItems(string $parent, + string $item, + string $ikReachModeLocation, + string $keyBodyPartLocation, + string $keyAllLocation, + string $keySelectedLocation) +{ + string $reachKeyingMode = "Reach Mode:"; + int $rkm = `optionVar -q setIKKey`; + switch ($rkm) + { + case 1: + $reachKeyingMode = $reachKeyingMode + " IK"; + break; + case 2: + $reachKeyingMode = $reachKeyingMode + " FK"; + break; + case 3: + $reachKeyingMode = $reachKeyingMode + " Simple"; + break; + } + + menuItem -rp $ikReachModeLocation -l $reachKeyingMode + -subMenu true + -annotation "Determine how reach values get keyed when doing FBIK keying."; + + menuItem -rp "S" -label "IK (Reach = 1)" + -command FBIKReachKeyingOptionIK; + + menuItem -rp "N" -label "FK (Reach = 0)" + -command FBIKReachKeyingOptionFK; + + menuItem -rp "E" -label "Simple (No Reach)" + -command FBIKReachKeyingOptionSimple; + + setParent -m $parent; + + menuItem -l "Key All" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"1\", \"2\", \""+$item+"\"};") + -rp $keyAllLocation + keyAllItem; + + menuItem -l "Key Body Part" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"2\", \"2\", \""+$item+"\"};") + -rp $keyBodyPartLocation + keyBodyPartItem; + + menuItem -l "Key Selected" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"4\", \"2\", \""+$item+"\"};") + -rp $keySelectedLocation + keySelectedItem; +} +proc checkForSkinInfluenceItem(string $item, string $quadrant) +{ + int $isJoint = (nodeType($item) == "joint"); + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster + // + string $currContext = `currentCtx`; + string $currTool = ""; + if(`contextInfo -ex $currContext`) { + $currTool = `contextInfo -c $currContext`; + } + if ( $currTool == "artAttrSkin" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "skinWeights" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "skinCluster") + { + // select the surface (not the joint) and set + // the joint as the current influence + // + string $currSel[] = `ls -sl`; + string $currSelString; + if (size($currSel) > 0) { + string $currObj; + $currSelString = "select -r "; + for ($currObj in $currSel) { + $currSelString += ($currObj+" "); + } + } + menuItem -l "Paint Weights" + -echoCommand true + -c ($currSelString+"; setSmoothSkinInfluence " + $item) + -rp $quadrant + paintWeightItem; + break; + } + } + } + } // menu for skinCluster paint + // Check if the current context is the clusterPaint context + // and the the joint is connected to a jointCluster + // + else if ( $isJoint && ($currTool == "artAttr") ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "general" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") + { + string $artCommand = "artAttrCtx" ; + string $attribute = "cluster." + $conn + ".weights" ; + menuItem -l "Paint Weights" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artAttrCtx -e -pas \"cluster." + $conn + ".weights\" `currentCtx`") + -c ("artSetToolAndSelectAttr( \"" + $artCommand + "\", \"" + $attribute + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + // menu for joint-set paint + // Check if the current context is the setPaint context + // and the the joint is connected to a objectSet via jointCluster + // + else if ( $isJoint && ($currTool == "artSetPaint") ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") { + string $connS[] = `listConnections ($conn+".message")`; + for($set in $connS) { + if (`nodeType $set` == "objectSet") { + menuItem -l "Paint Set Membership" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artSetPaintCtx -e -settomodify " + $set + " `currentCtx`") + -c ("artSetPaintSelectSet( \"" + $set + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + } +} + +global proc string[] objectSelectMasks(string $item) +// Returns the component selection masks that apply to this object +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + + string $nt = `nodeType $shape`; + + switch ($nt) { + case "lattice": + $maskList[0] = "latticePoint"; + break; + case "locator": + $maskList[0] = "locator"; + break; + case "nurbsCurve": + $maskList[0] = "curveParameterPoint"; + $maskList[1] = "controlVertex"; + $maskList[2] = "editPoint"; + $maskList[3] = "hull"; + break; + case "nurbsSurface": + $maskList[0] = "isoparm"; + $maskList[1] = "controlVertex"; + $maskList[2] = "surfaceParameterPoint"; + $maskList[3] = "hull"; + $maskList[4] = "surfaceFace"; + $maskList[5] = "surfaceUV"; + if (objectIsTrimmed($shape)) { + $maskList[6] = "surfaceEdge"; + } + break; + case "mesh": + $maskList[0] = "edge"; + $maskList[1] = "vertex"; + $maskList[2] = "facet"; + $maskList[3] = "puv"; + $maskList[4] = "pvf"; + break; + case "joint": + $maskList[0] = "joint"; // special case + break; + case "ikHandle": + $maskList[0] = "ikHandle"; // special case + break; + case "hikEffector": + case "hikFloorContactMarker": + $maskList[0] = "hikEffector"; // special case + break; + case "particle": + $maskList[0] = "particle"; // only one choice + break; + case "spring": + $maskList[0] = "springComponent"; // only one choice + break; + case "subdiv": + $maskList[0] = "subdivMeshPoint"; + $maskList[1] = "subdivMeshEdge"; + $maskList[2] = "subdivMeshFace"; + $maskList[3] = "subdivMeshUV"; + break; + } + + if (isIKcontroller($item)) { + $maskList[size($maskList)] = "ikfkHandle"; + } + + return $maskList; +} + +global proc createSelectMenuItems(string $parent, string $item) +// Create a menu that shows the dag parenting for this object +{ + string $maskList[] = `objectSelectMasks($item)`; + string $radialPosition[]; + string $uiName; + + int $i; + int $isNurbObject = false; + int $isPolyObject = false; + int $isLatticeObject = false; + int $isJointObject = false; + int $isHikEffector = false; + int $isIkHandleObject = false; + int $isIkFkHandleObject = false; + int $isParticleObject = false; + int $isSpringObject = false; + int $isSubdivObject = false; + int $isLocatorObject = false; + int $hasComponents = false; + + // Comparing an element in an empty array will increase the array + // to accomodate that element. + // + // To avoid this, first test the size of the array before comparing + // elements that may not exist. + // + if (1 <= size($maskList)) { + $isLatticeObject = ($maskList[0] == "latticePoint"); + $isJointObject = ($maskList[0] == "joint"); + $isHikEffector = ($maskList[0] == "hikEffector"); + $isIkHandleObject = ($maskList[0] == "ikHandle"); + $isParticleObject = ($maskList[0] == "particle"); + $isSpringObject = ($maskList[0] == "springComponent"); + $isSubdivObject = ($maskList[0] == "subdivMeshPoint"); + $isLocatorObject = ($maskList[0] == "locator"); + } + if (2 <= size($maskList)) { + $isNurbObject = ($maskList[1] == "controlVertex"); + $isPolyObject = ($maskList[1] == "vertex"); + } + + // $maxRadialPos keeps track of how many octants of the + // RMB marking menu will be populated + // + int $maskSize = size($maskList); + int $maxRadialPos = size($maskList); + + if (($maskSize > 0) && ($maskList[$maskSize-1] == "ikfkHandle")) { + $isIkFkHandleObject = true; + $maxRadialPos--; // ikfkHandle does not populate like other masks + } + + $hasComponents = $isLatticeObject || + $isParticleObject || + $isSubdivObject || + $isSpringObject || + $isNurbObject || + $isPolyObject; + + // NOTE: + // If the object has selectable components, then the + // radial position "NE" will be used for the menuItem: + // "Revert back to object mode." + // + setParent -menu $parent; + $radialPosition[0] = "N"; + $radialPosition[1] = "W"; + $radialPosition[2] = "S"; + $radialPosition[3] = "E"; + $radialPosition[4] = "SW"; + $radialPosition[5] = "SE"; + $radialPosition[6] = "NW"; + $radialPosition[7] = "NE"; + + if ($isNurbObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "surfaceParameterPoint": + $uiName = "Surface Point"; + break; + case "curveParameterPoint": + $uiName = "Curve Point"; + break; + case "surfaceEdge": + $uiName = "Trim Edge"; + break; + case "surfaceFace": + $uiName = "Surface Patch"; + break; + case "surfaceUV": + $uiName = "UV"; + default: + $uiName = `interToUI $maskList[$i]`; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuNURBComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the nurbs is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isPolyObject) { + + for ($i = 0; $i < size($maskList); $i++) { + + switch ($maskList[$i]) { + case "puv": + $uiName = "UV"; + break; + case "facet": + $uiName = "Face"; + break; + case "pvf": + $uiName = "Vertex Faces"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + break; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the poly is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isLatticeObject) { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] != "ikfkHandle") { + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuLatticeComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isJointObject) { + string $setCmd = `performSetPrefAngle 2`; + string $assumeCmd = `performAssumePrefAngle 2`; + $setCmd += (" "+$item); + $assumeCmd += (" "+$item); + string $jts[] = `ls -sl -type joint`; + for ($jointItem in $jts) { + if ($jointItem != $item) { + $setCmd += (" "+$jointItem); + $assumeCmd += (" "+$jointItem); + } + } + menuItem -l "Set Preferred Angle" + -echoCommand true + -c `evalEcho($setCmd)` + -rp "N" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -echoCommand true + -c `evalEcho($assumeCmd)` + -rp "S" + assumePrefAngleItem; + + string $hikHandle[] = `listConnections -type hikHandle $item`; + int $isFBIKjoint = (size($hikHandle) > 0); + if ($isFBIKjoint) { + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isHikEffector){ + if (nodeType($item) == "hikFloorContactMarker") { + string $parentItems[] = `listRelatives -pa -p $item`; + if (size($parentItems) && + nodeType($parentItems[0]) == "hikEffector") { + $item = $parentItems[0]; + } else { + $isHikEffector = false; + } + } + + if ($isHikEffector) { + string $pivotOffsetPlug = $item + ".pivotOffset"; + float $pivotOffset[] = `getAttr $pivotOffsetPlug`; + int $enablePin = (equivalentTol($pivotOffset[0],0.0,0.001) && + equivalentTol($pivotOffset[1],0.0,0.001) && + equivalentTol($pivotOffset[2],0.0,0.001)); + + // set pinning for hikEffectors + menuItem -l "Pin Both" + -echoCommand true + -c ("doPinHikEffectors 1 {\"3\",\"" + $item + "\"};") + -enable $enablePin + -rp "N" + pinAllItem; + + menuItem -l "Pin Translate" + -echoCommand true + -c ("doPinHikEffectors 1 {\"1\",\"" + $item + "\"};") + -enable $enablePin + -rp "NW" + pinTransItem; + + menuItem -l "Pin Rotate" + -echoCommand true + -c ("doPinHikEffectors 1 {\"2\",\"" + $item + "\"};") + -enable $enablePin + -rp "SW" + pinRotItem; + + menuItem -l "Unpin" + -echoCommand true + -c ("doPinHikEffectors 1 {\"0\",\"" + $item + "\"};") + -rp "S" + unpinItem; + + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + } else if ($isLocatorObject) { + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isIkHandleObject) { + menuItem -l "Set Preferred Angle" + -annotation "Set Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -annotation "Assume Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -eh " + $item) + -rp "N" + enableIKHandlesItem; + + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -dh " + $item) + -rp "S" + disableIKHandlesItem; + + menuItem -l "Enable Snap" + -annotation "Enable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -see " + $item + ";" + + "ikHandle -e -shf on " + $item) + -rp "SE" + enableIKHandlesSnapItem; + + menuItem -l "Disable Snap" + -annotation "Disable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -shf off " + $item) + -rp "SW" + disableIKHandlesSnapItem; + + $maxRadialPos = 6; + } else if ($isParticleObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "particle": + $uiName = "Particle"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuParticleComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSpringObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "springComponent": + $uiName = "Spring"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuSpringComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSubdivObject) { + subdDagMenuProc( 0, $item, $maskList ); + } else { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] == "ikfkHandle") { + continue; + } + + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // If components are present, provide the ability to + // get back to object mode... + // + if ($hasComponents) { + menuItem -l "Object Mode" + -ecr false + -c ( "hilite -unHilite " + $item + "; string $selection[] = `ls -sl`;" + + "changeSelectMode -object; select -r $selection;" ) + -rp "NE"; + } + + // Since any object can be an ikfk handle, we only populate the ikfk items + // in slots that are not already in use. + // + if ($isIkFkHandleObject) { + string $handle = getControlledHandle($item); + + if ($maxRadialPos < 8) { + menuItem -label "Set IK/FK Key" + -echoCommand true + -annotation "Set keys on selected joint chains and handles." + -rp $radialPosition[7] + -command ("select -r "+$item+"; SetIKFKKeyframe"); + } + + if ($maxRadialPos < 7) { + menuItem -label "Move IK to FK" + -echoCommand true + -annotation "Select an IK handle or IK/FK connected object." + -rp $radialPosition[6] + -command ("select -r "+$item+"; MoveIKtoFK"); + } + + if ($maxRadialPos < 5) { + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handle" + -echoCommand true + -c ("ikHandle -e -dh " + $handle) + -rp $radialPosition[5]; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handle" + -echoCommand true + -c ("ikHandle -e -eh " + $handle) + -rp $radialPosition[4]; + } + } + + +// for ($i = 0; $i < size($maskList); $i++) { +// $itemName = "SELM" + string($i); +// setParent -menu $parent; +// menuItem +// -c ("doMenuComponentSelection(\"" + +// $item + "\", \"" + $maskList[$i] + "\")") +// -l $maskList[$i] +// -rp $radialPosition[$i] +// $itemName; +// } + setParent -menu $parent; +} + +global proc doMenuNURBComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of NURB components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + if( $mask == "surfaceUV" ) + { + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + } + } else { + selectType -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -isoparm 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "surfaceUV": + $selectCmd = $selectCmd + + "toggle -state true -uv " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + break; + case "editPoint": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "controlVertex": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "hull": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + } + } + + eval $selectCmd; +} + +global proc doMenuLatticeComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the Lattice control points +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } else { + $selectCmd = $selectCmd + "toggle -" + $mask + ";"; + } + } + eval $selectCmd; +} + + +global proc doMenuParticleComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of particle +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -particle 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "particle": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -particle " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuSpringComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of spring +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -springComponent 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "springComponent": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -springComponent " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the specified selection mask type. +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + eval $selectCmd; +} + +global proc undoMenuComponentSelection(string $item, string $mask) +{ + string $selectCmd; + + if (`selectMode -q -object`) { + $selectCmd = "selectType -ocm -" + $mask + " false;"; + } else { + $selectCmd = "selectType -" + $mask + " false;"; + } + + eval $selectCmd; +} + +global proc toggleBoundingBoxDisplay ( string $parent ) +// +// For each shape under the selected parent object, toggle the +// state of bounding box display mode. +// +{ + string $shapes[] = `listRelatives -shapes $parent`; + string $shape; + + for ( $shape in $shapes ) { + int $overrideOn = `getAttr ( $shape + ".overrideEnabled")`; + int $lodMode = `getAttr ( $shape + ".overrideLevelOfDetail")`; + int $enabled = $overrideOn && $lodMode == 1; + + if ( $enabled ) { + // Don't reset the overrideEnabled attribute. It + // is used for more than just bounding box display + // and turning if off will mess things up of you + // have temporarily enabled bounding box display + // of an object in a layer. + setAttr ( $shape + ".overrideLevelOfDetail" ) 0; + } else { + setAttr ( $shape + ".overrideEnabled") 1; + setAttr ( $shape + ".overrideLevelOfDetail") 1; + } + + } +} + +global proc createActionsMenuItems(string $parent, string $item) +// +// Creates a menu with common operations to perform on an object +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -l "Template" -c ("toggle -template -state on " + $item); + menuItem -l "Untemplate" -c ("toggle -template -state off " + $item); + menuItem -l "Unparent" -c ("parent -w " + $item); + menuItem -l "Bounding Box" -c ("toggleBoundingBoxDisplay " + $item); +} + + +global proc showSG(string $item) +// +// Display the Attribute Editor and show the tab for the +// shading group that is on the object $item. +// +// If would have been nicer to be able to use the +// showShadingGroupAttributeEditor command, but it only +// acts on the selected object. +// +{ + //check selection list for faces (polys, subds, nurbs) + string $shader = ""; + string $selection[] = `filterExpand -sm 34 -sm 38 -sm 72`; + + // If there are components selected, try to find a component shader + if( size( $selection ) > 0) + { + string $nameBuffer[]; + + int $numComps = size( $selection ); + int $comp; + for( $comp = 0; $comp < $numComps; $comp++) + { + tokenize $selection[ $comp] "." $nameBuffer; + + //if the selected component is on the object under the pointer + //get it's shader + if ($nameBuffer[0] == $item) { + $shader = `getComponentShader $selection[$comp]`; + + //check if the shader is already selected - only toggle + //selection if it is not selected + string $shaderSelected[] = `ls -selection $shader`; + if ( size( $shaderSelected ) == 0){ + select -tgl $shader; + + } + break; + } + } + } + + // If we didn't find a component level shader, try for an object level one + if( size( $shader ) == 0 ) { + string $allNodes[] = (`listHistory -f true $item` ); + string $node = ""; + for ($node in $allNodes) { + if(`nodeType $node` == "shadingEngine") { + + $shader = $node; + break; + } + } + } + + // If we found a shader, show it + if( size( $shader ) > 0) + { + showEditor $shader; + } +} + +global proc showBakeSets(string $item, string $type) +// +// Display the Attribute Editor and show the tab for the +// first bake set of the specified $type that the object $item is in. +// If there is no this $type of bake set in the scene, creates the +// initial bake set of this type and show it in the attribute editor. +// +// If would have been nicer to be able to use the +// showBakeSetAttributeEditor command, but it only +// acts on the selected object. +// +{ + string $possibleBakeSets[] = (`listHistory -f true $item` ); + string $node = ""; + int $bakeSetExists = false; + for ($node in $possibleBakeSets) { + if(`nodeType $node` == $type) + { + showEditor $node; + $bakeSetExists = true; + break; + } + } + + // If no bake set exists for the $item, then create the + // initial bake set of that $type and assign it to the $item. + // + if (!$bakeSetExists) + { + string $initialBakeSet = ""; + if($type == "vertexBakeSet") + { + $initialBakeSet = "initialVertexBakeSet"; + } + else if($type == "textureBakeSet") + { + $initialBakeSet = "initialTextureBakeSet"; + } + else + { + error -showLineNumber true + ("Bake set type "+$type + " does not exist."); + return; + } + + // Create it if it does not exist yet. + // + if ( size(`ls $initialBakeSet`) < 1) + { + createBakeSet($initialBakeSet, $type); + } + + // Assign the initial bake set to the item. + // + assignBakeSet($initialBakeSet, $item); + + // Show the initial bake set. + // + showBakeSetAE($initialBakeSet); + } +} + +global proc createShaderMenuItems(string $parent, string $item) +// +// Create the Shader menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + menuItem -l "Material Attributes..." -c ("showSG " + $item); + menuItem -d true; + + buildShaderMenus($item); +} + +// Description: This procedure is called to refresh the baking +// attribute menu items. +// +global proc refreshBakingAttributeMenu (string $parent, string $item) +{ + setParent -menu $parent; + + int $suitable = bakeSetTypeSuitableForItem("textureBakeSet", $item); + menuItem -edit -enable $suitable textureBakingAttributeItem; + $suitable = bakeSetTypeSuitableForItem("vertexBakeSet", $item); + menuItem -edit -enable $suitable vertexBakingAttributeItem; +} + +// Description: This procedure is called to create the +// baking attribute menu. +// +proc createBakingAttributeMenu(string $parent, string $item) +{ + setParent -menu $parent; + + menuItem -l "Edit Attributes..." + -subMenu true + -tearOff true + -postMenuCommand ("refreshBakingAttributeMenu \"" + +$parent+"|editAttributeItem\" \"" + +$item+"\"") + editAttributeItem; + + + menuItem -l "texture" + -c ("showBakeSets \""+$item+"\" \"textureBakeSet\"") + textureBakingAttributeItem; + menuItem -l "vertex" + -c ("showBakeSets \""+$item+"\" \"vertexBakeSet\"") + vertexBakingAttributeItem; + + setParent -menu ..; +} + +// Description: This procedure is called to create the baking +// menu items. +// +global proc createBakingMenuItems(string $parent, string $item) +// +// Create the Baking menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + createBakingAttributeMenu($parent, $item); + menuItem -d true; + + if (!`about -evalVersion`) { + buildBakingMenus($item); + } +} + +// Description: This procedure is called to create the switch proxy +// menu items. +// +global proc createSwitchProxyMenuItems(string $parent, string $item, string $refNode) +// +// Create the switch proxy submenu for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + string $proxyNodes[] = `getRelatedProxies $refNode`; + int $i; + string $proxyLabel; + string $proxyTag; + for( $i=0; $i 0) + { + string $ann = `getRunTimeCommandAnnotation "UVCentricUVLinkingEditor"`; + string $cmd = "UVCentricUVLinkingEditor; " + "select -r " + $item; + menuItem -l "UV Linking..." + -c $cmd + -annotation $ann; + menuItem -divider true; + } + + for ($i=0; $i<$numNames; $i++) + { + string $uvEditname = ("\"" + $names[$i] + "\""); + string $uvname = $names[$i]; + string $setCurCmd = $cmd + $uvEditname + " " + $shape + ";"; + + // Find any projections associated with the uvset + string $projs[]; + $projs = `polyUVSet -pr -uvs $uvname -q $shape`; + string $projCmd; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($uvname == $curSet[0]) + { + menuItem -l ($uvname) -c $setClearCmd -checkBox true; + for ($j=0; $j= 5) + break; + } + } + else + { + menuItem -l ($uvname) -c ($setClearCmd + $setCurCmd) -checkBox false; + for ($j=0; $j= 5) + break; + } + } + } +} + +// +global proc string objectHandlesColorSets(string $item) +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + string $nt = `nodeType $shape`; + + if ($nt == "mesh") + return $shape; + + return ""; +} + +global proc createColorSetMenuItems(string $parent, string $item, + string $shape) +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + string $cmd = "polyColorSet -currentColorSet -colorSet "; + string $curSet[] = `polyColorSet -q -currentColorSet $shape`; + string $names[] = `polyColorSet -q -acs $shape`; + + int $numNames = size($names); + + // Add in a menu to access color set editor + menuItem -l "Color Set Editor..." + -ann (getRunTimeCommandAnnotation("ColorSetEditor")) + -command "colorSetEditor" + ; + if ($numNames > 0) + { + menuItem -divider true; + } + + for ($i=0; $i < $numNames; $i++) + { + string $colorEditname = ("\"" + $names[$i] + "\""); + string $colorname = $names[$i]; + string $setCurCmd = $cmd + $colorEditname + " " + $shape + ";"; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($colorname == $curSet[0]) + { + menuItem -l ($colorname) -checkBox true; + } + else + { + menuItem -l ($colorname) -c ($setCurCmd) -checkBox false; + } + } +} + +global proc createArtAttrMenuItems( + string $parent, + string $item +) +// +// Description: +// Creates a menu that shows all the paintable attributes. +// +// NOTE: paintAttr are sorted by the paintable node type. +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + // add default items which are always displayed in the context menu + menuItem -p $parent -label "Paint Select" -command "ArtPaintSelectToolOptions" ; + menuItem -p $parent -label "3D Paint" -command "Art3dPaintToolOptions" ; + menuItem -p $parent -label "Sculpt" -command "SculptGeometryToolOptions" ; + + // Get all paintable attributes + string $paintAttr = `artBuildPaintMenu $item`; + + if ($paintAttr != "") + { + // if the menu item has not been created, create it. + if( $parent == "" ) + $parent = `menuItem -subMenu true -aob true -l "Paint"`; + + + // Create the menu. + artAttrCreateMenuItems( $parent, $paintAttr ); + + // artAttrCreateMenuItems currently does not use $object + // hence we are making a seperate call to this function to handle + // cloth objects. We need the object name to select the object and detect + // dynamic attributes available for painting. + // + createPaintingMenuItems( $parent, $item ); + } +} + +// This has been called because a menu press happened on a DAG object +// So find the Object submenu and add the DAG specific items to it. +// +global proc dagMenuProc(string $parent, string $object) +{ + global string $artSelectObject ; + string $mode = "All"; + + if (`optionVar -exists currentMenuBarTab`) { + $mode = `optionVar -q currentMenuBarTab`; + } else { + optionVar -sv currentMenuBarTab $mode; + } + + if (`popupMenu -e -exists $parent`) { + setParent -m $parent; + + // label the object + string $shortName = `substitute ".*|" $object ""`; + menuItem -l ($shortName + "...") -c ("showEditor "+$object); + menuItem -divider true; + menuItem -divider true; + + // Create the list of selection masks + createSelectMenuItems($parent, $object); + + menuItem -d true; + + menuItem -l "Select" -c ("select -r " + $object); + menuItem -l "Select Hierarchy" -c ("select -hierarchy " + $object); + + menuItem -d true; + + //call the zooObjMenu script, to add any object specific commands to the rmb + zooObjMenu $parent $object; + + optionalDagMenuProc( $parent, $object ); + + // create the history menu + // + string $menu = `menuItem -subMenu true -aob true -l "Inputs"`; + menu -e + -pmc ( "createHistoryMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + $menu = `menuItem -subMenu true -aob true -l "Outputs"`; + menu -e -pmc ( "createFutureMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // Look at the shape child of this object + // + string $shapes[] = `listRelatives -path -s $object`; + + // get current selection of shapes + string $currentSel[] = `ls -sl -dagObjects -shapes` ; + + string $paintParent = "" ; + int $selIndex ; + + int $i; + for ($i = 0; $i < size($shapes); ++$i) + { + string $nodeType = `nodeType $shapes[$i]` ; + + if ( ( $nodeType == "nurbsSurface") || + ( $nodeType == "mesh") || + ( $nodeType == "subdiv")) + { + // save the object name if it is not already selected by the user + // We use this info to select the object if user chooses a paint option + // + // If user has selected multiple objects and is using context menu on one of them + // we do not change the selection list as user may want to paint some attribute + // on all of them. (It is the way it has been working all along...we don't want to + // break it ) + + int $found = 0 ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $shapes[$i] == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( $found ) + { + $artSelectObject = "" ; + } + else + { + // check if the object is in component selection mode + // and if it is, do not do any further selection. + // We are assuming that if the object is in hilite mode + // then the user is in component selection mode. + + $currentSel = `ls -hilite` ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $object == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( !$found ) + $artSelectObject = $object ; + else + $artSelectObject = "" ; + } + + $paintParent = `menuItem -subMenu true -aob true -l "Paint"`; + menu -e -pmc ( "createArtAttrMenuItems \""+ $paintParent +"\" "+$object ) $paintParent ; + setParent -m $parent; + break ; + } + } + + $menu = `menuItem -subMenu true -l "Actions"`; + menu -e -pmc ( "createActionsMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // If the object can handle uv sets then add the uvset menu + // + string $shape = objectHandlesUvSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "UV Sets"`; + menu -e + -pmc ( "createUVsetMenuItems \""+$menu+"\" " +$object + " "+ + $shape ) + $menu; + setParent -m $parent; + } + + string $shape = objectHandlesColorSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "Color Sets"`; + menu -e + -pmc ( "createColorSetMenuItems \""+$menu+"\" " +$object + " "+ + $shape ) + $menu; + setParent -m $parent; + } + + // Shader menu to be able to quickly assign existing shaders + // to the object under the pointer. + // + menuItem -d true; + + $menu = `menuItem -subMenu true -l "Materials"`; + menu -e + -pmc ( "createShaderMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + + int $mentalIsLoaded = 0; + string $renderer; + for ($renderer in `renderer -query -namesOfAvailableRenderers`) { + if( $renderer == "mentalRay" ) { + $mentalIsLoaded = 1; + break; + } + } + + if ($mentalIsLoaded) { + $menu = `menuItem -subMenu true -l "Baking"`; + menu -e + -pmc ( "createBakingMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + } + +// { +// $menu = `menuItem -subMenu true -l "Paint"`; +// menu -e +// -pmc ( "createPaintingMenuItems \""+$menu+"\" "+$object ) +// $menu; +// setParent -m $parent; +// } + + if ($mode == "Dynamics") { + menuItem -d true; + menuItem -l "Connect Field" -c ("connectDynamic -f " + $object); + menuItem -l "Connect Emitter" -c ("connectDynamic -em " + $object); + menuItem -l "Connect Collision" -c ("connectDynamic -c " + $object); + } + + // is there a reference associated with the object ? + // and if so, is it in a loaded or unloaded state? + string $refNode = `getRelatedReference $object`; + if( size($refNode) > 0) { + menuItem -d true; + if( `file -rfn $refNode -q -dr` ) { + menuItem -l "Load Related Reference" -c ("loadRelatedReference " + $object); + } else { + menuItem -l "Reload Related Reference" -c ("loadRelatedReference " + $object); + menuItem -l "Unload Related Reference" -c ("unloadRelatedReference " + $object); + } + // Is this reference a proxy? If so, add proxy switch submenu + // + string $proxyNodes[] = `getRelatedProxies $refNode`; + if(size($proxyNodes) > 0) { + $menu = `menuItem -subMenu true -l "Reload Proxy As"`; + menu -e + -pmc ( "createSwitchProxyMenuItems \""+$menu+"\" "+$object + " " + $refNode ) + $menu; + setParent -m $parent; + } + } + + setParent -m $parent; + + } else { + warning("Menu " + $parent + " doesn't exist."); + } +} diff --git a/2009-x64/zooScripts/dagMenuProc_v8.mel b/2009-x64/zooScripts/dagMenuProc_v8.mel new file mode 100644 index 0000000..460bac8 --- /dev/null +++ b/2009-x64/zooScripts/dagMenuProc_v8.mel @@ -0,0 +1,1778 @@ +// Copyright (C) 1997-2006 Autodesk, Inc., and/or its licensors. +// All rights reserved. +// +// The coded instructions, statements, computer programs, and/or related +// material (collectively the "Data") in these files contain unpublished +// information proprietary to Autodesk, Inc. ("Autodesk") and/or its licensors, +// which is protected by U.S. and Canadian federal copyright law and by +// international treaties. +// +// The Data is provided for use exclusively by You. You have the right to use, +// modify, and incorporate this Data into other products for purposes authorized +// by the Autodesk software license agreement, without fee. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. AUTODESK +// DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTIES +// INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF NON-INFRINGEMENT, +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE +// OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS +// LICENSORS BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL, +// DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK AND/OR ITS +// LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OR PROBABILITY OF SUCH DAMAGES. + +// Alias Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: Dec 3, 1996 +// +// +// Description: +// This script describes the contents of the context sensitive menus. +// +// Input Arguments: +// None. +// +// Return Value: +// None. +// + +proc optionalDagMenuProc( string $parent, string $item ) +{ + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + + string $shape = ""; + int $gotVisible = 0; + + if( size($object) < 1 ) return; + + for( $i=0; $i 0); +} + +proc +createFBIKmenuItems(string $parent, + string $item, + string $ikReachModeLocation, + string $keyBodyPartLocation, + string $keyAllLocation, + string $keySelectedLocation) +{ + string $reachKeyingMode = "Reach Mode:"; + int $rkm = `optionVar -q setIKKey`; + switch ($rkm) + { + case 1: + $reachKeyingMode = $reachKeyingMode + " IK"; + break; + case 2: + $reachKeyingMode = $reachKeyingMode + " FK"; + break; + case 3: + $reachKeyingMode = $reachKeyingMode + " Simple"; + break; + } + + menuItem -rp $ikReachModeLocation -l $reachKeyingMode + -subMenu true + -annotation "Determine how reach values get keyed when doing FBIK keying."; + + menuItem -rp "S" -label "IK (Reach = 1)" + -command FBIKReachKeyingOptionIK; + + menuItem -rp "N" -label "FK (Reach = 0)" + -command FBIKReachKeyingOptionFK; + + menuItem -rp "E" -label "Simple (No Reach)" + -command FBIKReachKeyingOptionSimple; + + setParent -m $parent; + + menuItem -l "Key All" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"1\", \"2\", \""+$item+"\"};") + -rp $keyAllLocation + keyAllItem; + + menuItem -l "Key Body Part" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"2\", \"2\", \""+$item+"\"};") + -rp $keyBodyPartLocation + keyBodyPartItem; + + menuItem -l "Key Selected" + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"4\", \"2\", \""+$item+"\"};") + -rp $keySelectedLocation + keySelectedItem; +} +proc checkForSkinInfluenceItem(string $item, string $quadrant) +{ + int $isJoint = (nodeType($item) == "joint"); + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster + // + string $currContext = `currentCtx`; + string $currTool = ""; + if(`contextInfo -ex $currContext`) { + $currTool = `contextInfo -c $currContext`; + } + if ( $currTool == "artAttrSkin" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "skinWeights" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "skinCluster") + { + // select the surface (not the joint) and set + // the joint as the current influence + // + string $currSel[] = `ls -sl`; + string $currSelString; + if (size($currSel) > 0) { + string $currObj; + $currSelString = "select -r "; + for ($currObj in $currSel) { + $currSelString += ($currObj+" "); + } + } + menuItem -l "Paint Weights" + -echoCommand true + -c ($currSelString+"; setSmoothSkinInfluence " + $item) + -rp $quadrant + paintWeightItem; + break; + } + } + } + } // menu for skinCluster paint + // Check if the current context is the clusterPaint context + // and the the joint is connected to a jointCluster + // + else if ( $isJoint && ($currTool == "artAttr") ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "general" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") + { + string $artCommand = "artAttrCtx" ; + string $attribute = "cluster." + $conn + ".weights" ; + menuItem -l "Paint Weights" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artAttrCtx -e -pas \"cluster." + $conn + ".weights\" `currentCtx`") + -c ("artSetToolAndSelectAttr( \"" + $artCommand + "\", \"" + $attribute + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + // menu for joint-set paint + // Check if the current context is the setPaint context + // and the the joint is connected to a objectSet via jointCluster + // + else if ( $isJoint && ($currTool == "artSetPaint") ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") { + string $connS[] = `listConnections ($conn+".message")`; + for($set in $connS) { + if (`nodeType $set` == "objectSet") { + menuItem -l "Paint Set Membership" + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artSetPaintCtx -e -settomodify " + $set + " `currentCtx`") + -c ("artSetPaintSelectSet( \"" + $set + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + } +} + +global proc string[] objectSelectMasks(string $item) +// Returns the component selection masks that apply to this object +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + + string $nt = `nodeType $shape`; + + switch ($nt) { + case "lattice": + $maskList[0] = "latticePoint"; + break; + case "locator": + $maskList[0] = "locator"; + break; + case "nurbsCurve": + $maskList[0] = "curveParameterPoint"; + $maskList[1] = "controlVertex"; + $maskList[2] = "editPoint"; + $maskList[3] = "hull"; + break; + case "nurbsSurface": + $maskList[0] = "isoparm"; + $maskList[1] = "controlVertex"; + $maskList[2] = "surfaceParameterPoint"; + $maskList[3] = "hull"; + $maskList[4] = "surfaceFace"; + $maskList[5] = "surfaceUV"; + if (objectIsTrimmed($shape)) { + $maskList[6] = "surfaceEdge"; + } + break; + case "mesh": + $maskList[0] = "edge"; + $maskList[1] = "vertex"; + $maskList[2] = "facet"; + $maskList[3] = "puv"; + $maskList[4] = "pvf"; + break; + case "joint": + $maskList[0] = "joint"; // special case + break; + case "ikHandle": + $maskList[0] = "ikHandle"; // special case + break; + case "hikEffector": + case "hikFloorContactMarker": + $maskList[0] = "hikEffector"; // special case + break; + case "particle": + $maskList[0] = "particle"; // only one choice + break; + case "spring": + $maskList[0] = "springComponent"; // only one choice + break; + case "subdiv": + $maskList[0] = "subdivMeshPoint"; + $maskList[1] = "subdivMeshEdge"; + $maskList[2] = "subdivMeshFace"; + $maskList[3] = "subdivMeshUV"; + break; + } + + if (isIKcontroller($item)) { + $maskList[size($maskList)] = "ikfkHandle"; + } + + return $maskList; +} + +global proc createSelectMenuItems(string $parent, string $item) +// Create a menu that shows the dag parenting for this object +{ + string $maskList[] = `objectSelectMasks($item)`; + + string $radialPosition[]; + string $uiName; + + int $i; + int $isNurbObject = false; + int $isPolyObject = false; + int $isLatticeObject = false; + int $isJointObject = false; + int $isHikEffector = false; + int $isIkHandleObject = false; + int $isIkFkHandleObject = false; + int $isParticleObject = false; + int $isSpringObject = false; + int $isSubdivObject = false; + int $isLocatorObject = false; + int $hasComponents = false; + + // Comparing an element in an empty array will increase the array + // to accomodate that element. + // + // To avoid this, first test the size of the array before comparing + // elements that may not exist. + // + if (1 <= size($maskList)) { + $isLatticeObject = ($maskList[0] == "latticePoint"); + $isJointObject = ($maskList[0] == "joint"); + $isHikEffector = ($maskList[0] == "hikEffector"); + $isIkHandleObject = ($maskList[0] == "ikHandle"); + $isParticleObject = ($maskList[0] == "particle"); + $isSpringObject = ($maskList[0] == "springComponent"); + $isSubdivObject = ($maskList[0] == "subdivMeshPoint"); + $isLocatorObject = ($maskList[0] == "locator"); + } + if (2 <= size($maskList)) { + $isNurbObject = ($maskList[1] == "controlVertex"); + $isPolyObject = ($maskList[1] == "vertex"); + } + + // $maxRadialPos keeps track of how many octants of the + // RMB marking menu will be populated + // + int $maskSize = size($maskList); + int $maxRadialPos = size($maskList); + + if (($maskSize > 0) && ($maskList[$maskSize-1] == "ikfkHandle")) { + $isIkFkHandleObject = true; + $maxRadialPos--; // ikfkHandle does not populate like other masks + } + + $hasComponents = $isLatticeObject || + $isParticleObject || + $isSubdivObject || + $isSpringObject || + $isNurbObject || + $isPolyObject; + + // NOTE: + // If the object has selectable components, then the + // radial position "NE" will be used for the menuItem: + // "Revert back to object mode." + // + setParent -menu $parent; + $radialPosition[0] = "N"; + $radialPosition[1] = "W"; + $radialPosition[2] = "S"; + $radialPosition[3] = "E"; + $radialPosition[4] = "SW"; + $radialPosition[5] = "SE"; + $radialPosition[6] = "NW"; + $radialPosition[7] = "NE"; + + if ($isNurbObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "surfaceParameterPoint": + $uiName = "Surface Point"; + break; + case "curveParameterPoint": + $uiName = "Curve Point"; + break; + case "surfaceEdge": + $uiName = "Trim Edge"; + break; + case "surfaceFace": + $uiName = "Surface Patch"; + break; + case "surfaceUV": + $uiName = "UV"; + default: + $uiName = `interToUI $maskList[$i]`; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuNURBComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the nurbs is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isPolyObject) { + for ($i = 0; $i < size($maskList); $i++) { + + switch ($maskList[$i]) { + case "puv": + $uiName = "UV"; + break; + case "facet": + $uiName = "Face"; + break; + case "pvf": + $uiName = "Vertex Face"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + break; + } + + if ($maskList[$i] != "ikfkHandle") { + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the poly is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isLatticeObject) { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] != "ikfkHandle") { + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuLatticeComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isJointObject) { + string $setCmd = `performSetPrefAngle 2`; + string $assumeCmd = `performAssumePrefAngle 2`; + $setCmd += (" "+$item); + $assumeCmd += (" "+$item); + string $jts[] = `ls -sl -type joint`; + for ($jointItem in $jts) { + if ($jointItem != $item) { + $setCmd += (" "+$jointItem); + $assumeCmd += (" "+$jointItem); + } + } + menuItem -l "Set Preferred Angle" + -echoCommand true + -c ($setCmd) + -rp "N" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -echoCommand true + -c ($assumeCmd) + -rp "S" + assumePrefAngleItem; + + string $hikHandle[] = `listConnections -type hikHandle $item`; + int $isFBIKjoint = (size($hikHandle) > 0); + if ($isFBIKjoint) { + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isHikEffector){ + if (nodeType($item) == "hikFloorContactMarker") { + string $parentItems[] = `listRelatives -pa -p $item`; + if (size($parentItems) && + nodeType($parentItems[0]) == "hikEffector") { + $item = $parentItems[0]; + } else { + $isHikEffector = false; + } + } + + if ($isHikEffector) { + string $pivotOffsetPlug = $item + ".pivotOffset"; + float $pivotOffset[] = `getAttr $pivotOffsetPlug`; + int $enablePin = (equivalentTol($pivotOffset[0],0.0,0.001) && + equivalentTol($pivotOffset[1],0.0,0.001) && + equivalentTol($pivotOffset[2],0.0,0.001)); + + // set pinning for hikEffectors + menuItem -l "Pin Both" + -echoCommand true + -c ("doPinHikEffectors 1 {\"3\",\"" + $item + "\"};") + -enable $enablePin + -rp "N" + pinAllItem; + + menuItem -l "Pin Translate" + -echoCommand true + -c ("doPinHikEffectors 1 {\"1\",\"" + $item + "\"};") + -enable $enablePin + -rp "NW" + pinTransItem; + + menuItem -l "Pin Rotate" + -echoCommand true + -c ("doPinHikEffectors 1 {\"2\",\"" + $item + "\"};") + -enable $enablePin + -rp "SW" + pinRotItem; + + menuItem -l "Unpin" + -echoCommand true + -c ("doPinHikEffectors 1 {\"0\",\"" + $item + "\"};") + -rp "S" + unpinItem; + + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + } else if ($isLocatorObject) { + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isIkHandleObject) { + menuItem -l "Set Preferred Angle" + -annotation "Set Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -l "Assume Preferred Angle" + -annotation "Assume Preferred: Select ikHandles or joints" + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -eh " + $item) + -rp "N" + enableIKHandlesItem; + + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handles: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -dh " + $item) + -rp "S" + disableIKHandlesItem; + + menuItem -l "Enable Snap" + -annotation "Enable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -see " + $item + ";" + + "ikHandle -e -shf on " + $item) + -rp "SE" + enableIKHandlesSnapItem; + + menuItem -l "Disable Snap" + -annotation "Disable IK Handle Snapping: Select ikHandles" + -echoCommand true + -c ("ikHandle -e -shf off " + $item) + -rp "SW" + disableIKHandlesSnapItem; + + $maxRadialPos = 6; + } else if ($isParticleObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "particle": + $uiName = "Particle"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuParticleComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSpringObject) { + for ($i = 0; $i < size($maskList); $i++) { + switch ($maskList[$i]) { + case "springComponent": + $uiName = "Spring"; + break; + default: + $uiName = `interToUI $maskList[$i]`; + } + menuItem -l $uiName + -ecr false + -c ( "doMenuSpringComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSubdivObject) { + subdDagMenuProc( 0, $item, $maskList ); + } else { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] == "ikfkHandle") { + continue; + } + + $uiName = `interToUI $maskList[$i]`; + menuItem -l $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // If components are present, provide the ability to + // get back to object mode... + // + if ($hasComponents) { + menuItem -l "Object Mode" + -ecr false + -c ( "hilite -unHilite " + $item + "; string $selection[] = `ls -sl`;" + + "changeSelectMode -object; select -r $selection;" ) + -rp "NE"; + } + + // Since any object can be an ikfk handle, we only populate the ikfk items + // in slots that are not already in use. + // + if ($isIkFkHandleObject) { + string $handle = getControlledHandle($item); + + if ($maxRadialPos < 8) { + menuItem -label "Set IK/FK Key" + -echoCommand true + -annotation "Set keys on selected joint chains and handles." + -rp $radialPosition[7] + -command ("select -r "+$item+"; SetIKFKKeyframe"); + } + + if ($maxRadialPos < 7) { + menuItem -label "Move IK to FK" + -echoCommand true + -annotation "Select an IK handle or IK/FK connected object." + -rp $radialPosition[6] + -command ("select -r "+$item+"; MoveIKtoFK"); + } + + if ($maxRadialPos < 5) { + menuItem -l "Disable ikHandle" + -annotation "Disable IK Handle" + -echoCommand true + -c ("ikHandle -e -dh " + $handle) + -rp $radialPosition[5]; + + menuItem -l "Enable ikHandle" + -annotation "Enable IK Handle" + -echoCommand true + -c ("ikHandle -e -eh " + $handle) + -rp $radialPosition[4]; + } + } + + +// for ($i = 0; $i < size($maskList); $i++) { +// $itemName = "SELM" + string($i); +// setParent -menu $parent; +// menuItem +// -c ("doMenuComponentSelection(\"" + +// $item + "\", \"" + $maskList[$i] + "\")") +// -l $maskList[$i] +// -rp $radialPosition[$i] +// $itemName; +// } + setParent -menu $parent; +} + +global proc doMenuNURBComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of NURB components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + if( $mask == "surfaceUV" ) + { + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + } + } else { + selectType -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -isoparm 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "surfaceUV": + $selectCmd = $selectCmd + + "toggle -state true -uv " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + break; + case "editPoint": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "controlVertex": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "hull": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + string $warn = "Edit UV Mode is not enabled on "; + $warn += $item; + $warn += ". UVs will not be selectable."; + warning($warn); + } + } + } + + eval $selectCmd; +} + +global proc doMenuLatticeComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the Lattice control points +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } else { + $selectCmd = $selectCmd + "toggle -" + $mask + ";"; + } + } + eval $selectCmd; +} + + +global proc doMenuParticleComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of particle +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -particle 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "particle": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -particle " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuSpringComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of spring +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -springComponent 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "springComponent": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -springComponent " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the specified selection mask type. +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + eval $selectCmd; +} + +global proc undoMenuComponentSelection(string $item, string $mask) +{ + string $selectCmd; + + if (`selectMode -q -object`) { + $selectCmd = "selectType -ocm -" + $mask + " false;"; + } else { + $selectCmd = "selectType -" + $mask + " false;"; + } + + eval $selectCmd; +} + +global proc toggleBoundingBoxDisplay ( string $parent ) +// +// For each shape under the selected parent object, toggle the +// state of bounding box display mode. +// +{ + string $shapes[] = `listRelatives -shapes $parent`; + + string $shape; + + for ( $shape in $shapes ) { + int $overrideOn = `getAttr ( $shape + ".overrideEnabled")`; + int $lodMode = `getAttr ( $shape + ".overrideLevelOfDetail")`; + int $enabled = $overrideOn && $lodMode == 1; + + if ( $enabled ) { + // Don't reset the overrideEnabled attribute. It + // is used for more than just bounding box display + // and turning if off will mess things up of you + // have temporarily enabled bounding box display + // of an object in a layer. + setAttr ( $shape + ".overrideLevelOfDetail" ) 0; + } else { + setAttr ( $shape + ".overrideEnabled") 1; + setAttr ( $shape + ".overrideLevelOfDetail") 1; + } + + } +} + +global proc createActionsMenuItems(string $parent, string $item) +// +// Creates a menu with common operations to perform on an object +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -l "Template" -c ("toggle -template -state on " + $item); + menuItem -l "Untemplate" -c ("toggle -template -state off " + $item); + menuItem -l "Unparent" -c ("parent -w " + $item); + menuItem -l "Bounding Box" -c ("toggleBoundingBoxDisplay " + $item); +} + + +global proc showSG(string $item) +// +// Display the Attribute Editor and show the tab for the +// shading group that is on the object $item. +// +// If would have been nicer to be able to use the +// showShadingGroupAttributeEditor command, but it only +// acts on the selected object. +// +{ + //check selection list for faces (polys, subds, nurbs) + string $shader = ""; + string $selection[] = `filterExpand -sm 34 -sm 38 -sm 72`; + + // If there are components selected, try to find a component shader + if( size( $selection ) > 0) + { + string $nameBuffer[]; + + int $numComps = size( $selection ); + int $comp; + for( $comp = 0; $comp < $numComps; $comp++) + { + tokenize $selection[ $comp] "." $nameBuffer; + + //if the selected component is on the object under the pointer + //get it's shader + if ($nameBuffer[0] == $item) { + $shader = `getComponentShader $selection[$comp]`; + + //check if the shader is already selected - only toggle + //selection if it is not selected + string $shaderSelected[] = `ls -selection $shader`; + if ( size( $shaderSelected ) == 0){ + select -tgl $shader; + + } + break; + } + } + } + + // If we didn't find a component level shader, try for an object level one + if( size( $shader ) == 0 ) { + string $allNodes[] = (`listHistory -f true $item` ); + string $node = ""; + for ($node in $allNodes) { + if(`nodeType $node` == "shadingEngine") { + + $shader = $node; + break; + } + } + } + + // If we found a shader, show it + if( size( $shader ) > 0) + { + showEditor $shader; + } +} + +global proc showBakeSets(string $item, string $type) +// +// Display the Attribute Editor and show the tab for the +// first bake set of the specified $type that the object $item is in. +// If there is no this $type of bake set in the scene, creates the +// initial bake set of this type and show it in the attribute editor. +// +// If would have been nicer to be able to use the +// showBakeSetAttributeEditor command, but it only +// acts on the selected object. +// +{ + string $possibleBakeSets[] = (`listHistory -f true $item` ); + string $node = ""; + int $bakeSetExists = false; + for ($node in $possibleBakeSets) { + if(`nodeType $node` == $type) + { + showEditor $node; + $bakeSetExists = true; + break; + } + } + + // If no bake set exists for the $item, then create the + // initial bake set of that $type and assign it to the $item. + // + if (!$bakeSetExists) + { + string $initialBakeSet = ""; + if($type == "vertexBakeSet") + { + $initialBakeSet = "initialVertexBakeSet"; + } + else if($type == "textureBakeSet") + { + $initialBakeSet = "initialTextureBakeSet"; + } + else + { + error -showLineNumber true + ("Bake set type "+$type + " does not exist."); + return; + } + + // Create it if it does not exist yet. + // + if ( size(`ls $initialBakeSet`) < 1) + { + createBakeSet($initialBakeSet, $type); + } + + // Assign the initial bake set to the item. + // + assignBakeSet($initialBakeSet, $item); + + // Show the initial bake set. + // + showBakeSetAE($initialBakeSet); + } +} + +// Description: This procedure is called to refresh the baking +// attribute menu items. +// +global proc refreshBakingAttributeMenu (string $parent, string $item) +{ + setParent -menu $parent; + + int $suitable = bakeSetTypeSuitableForItem("textureBakeSet", $item); + menuItem -edit -enable $suitable textureBakingAttributeItem; + $suitable = bakeSetTypeSuitableForItem("vertexBakeSet", $item); + menuItem -edit -enable $suitable vertexBakingAttributeItem; +} + +// Description: This procedure is called to create the +// baking attribute menu. +// +proc createBakingAttributeMenu(string $parent, string $item) +{ + setParent -menu $parent; + + menuItem -l "Edit Attributes..." + -subMenu true + -tearOff true + -postMenuCommand ("refreshBakingAttributeMenu \"" + +$parent+"|editAttributeItem\" \"" + +$item+"\"") + editAttributeItem; + + + menuItem -l "texture" + -c ("showBakeSets \""+$item+"\" \"textureBakeSet\"") + textureBakingAttributeItem; + menuItem -l "vertex" + -c ("showBakeSets \""+$item+"\" \"vertexBakeSet\"") + vertexBakingAttributeItem; + + setParent -menu ..; +} + +// Description: This procedure is called to create the baking +// menu items. +// +global proc createBakingMenuItems(string $parent, string $item) +// +// Create the Baking menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + createBakingAttributeMenu($parent, $item); + menuItem -d true; + + if (!`about -evalVersion`) { + buildBakingMenus($item); + } +} + +// Description: This procedure is called to create the switch proxy +// menu items. +// +global proc createSwitchProxyMenuItems(string $parent, string $item, string $refNode) +// +// Create the switch proxy submenu for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + string $proxyNodes[] = `getRelatedProxies $refNode`; + int $i; + string $proxyLabel; + string $proxyTag; + for( $i=0; $i 0) + { + string $ann = `getRunTimeCommandAnnotation "UVCentricUVLinkingEditor"`; + string $cmd = "UVCentricUVLinkingEditor; " + "select -r " + $item; + menuItem -l "UV Linking..." + -c $cmd + -annotation $ann; + menuItem -divider true; + } + + for ($i=0; $i<$numNames; $i++) + { + string $uvEditname = ("\"" + $names[$i] + "\""); + string $uvname = $names[$i]; + string $setCurCmd = $cmd + $uvEditname + " " + $shape + ";"; + + // Find any projections associated with the uvset + string $projs[]; + $projs = `polyUVSet -pr -uvs $uvname -q $shape`; + string $projCmd; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($uvname == $curSet[0]) + { + menuItem -l ($uvname) -c $setClearCmd -checkBox true; + for ($j=0; $j= 5) + break; + } + } + else + { + menuItem -l ($uvname) -c ($setClearCmd + $setCurCmd) -checkBox false; + for ($j=0; $j= 5) + break; + } + } + } +} + +// +global proc string objectHandlesColorSets(string $item) +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + string $nt = `nodeType $shape`; + + if ($nt == "mesh") + return $shape; + + return ""; +} + +global proc createColorSetMenuItems(string $parent, string $item, + string $shape) +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + string $cmd = "polyColorSet -currentColorSet -colorSet "; + string $curSet[] = `polyColorSet -q -currentColorSet $shape`; + string $names[] = `polyColorSet -q -acs $shape`; + + int $numNames = size($names); + + // Add in a menu to access color set editor + menuItem -l "Color Set Editor..." + -ann (getRunTimeCommandAnnotation("ColorSetEditor")) + -command "colorSetEditor" + ; + if ($numNames > 0) + { + menuItem -divider true; + } + + for ($i=0; $i < $numNames; $i++) + { + string $colorEditname = ("\"" + $names[$i] + "\""); + string $colorname = $names[$i]; + string $setCurCmd = $cmd + $colorEditname + " " + $shape + ";"; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($colorname == $curSet[0]) + { + menuItem -l ($colorname) -checkBox true; + } + else + { + menuItem -l ($colorname) -c ($setCurCmd) -checkBox false; + } + } +} + +global proc createArtAttrMenuItems( + string $parent, + string $item +) +// +// Description: +// Creates a menu that shows all the paintable attributes. +// +// NOTE: paintAttr are sorted by the paintable node type. +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + // add default items which are always displayed in the context menu + menuItem -p $parent -label "Paint Select" -command "ArtPaintSelectToolOptions" ; + menuItem -p $parent -label "3D Paint" -command "Art3dPaintToolOptions" ; + menuItem -p $parent -label "Sculpt" -command "SculptGeometryToolOptions" ; + + // Get all paintable attributes + string $paintAttr = `artBuildPaintMenu $item`; + + if ($paintAttr != "") + { + // if the menu item has not been created, create it. + if( $parent == "" ) + $parent = `menuItem -subMenu true -aob true -l "Paint"`; + + + // Create the menu. + artAttrCreateMenuItems( $parent, $paintAttr ); + + // artAttrCreateMenuItems currently does not use $object + // hence we are making a seperate call to this function to handle + // cloth objects. We need the object name to select the object and detect + // dynamic attributes available for painting. + // + createPaintingMenuItems( $parent, $item ); + } +} + +// This has been called because a menu press happened on a DAG object +// So find the Object submenu and add the DAG specific items to it. +// +global proc dagMenuProc(string $parent, string $object) +{ + global string $artSelectObject ; + string $mode = "All"; + + if (`optionVar -exists currentMenuBarTab`) { + $mode = `optionVar -q currentMenuBarTab`; + } else { + optionVar -sv currentMenuBarTab $mode; + } + + if (`popupMenu -e -exists $parent`) { + setParent -m $parent; + + // label the object + string $shortName = `substitute ".*|" $object ""`; + menuItem -l ($shortName + "...") -c ("showEditor "+$object); + menuItem -divider true; + menuItem -divider true; + + // Create the list of selection masks + createSelectMenuItems($parent, $object); + + menuItem -d true; + + menuItem -l "Select" -c ("select -r " + $object); + menuItem -l "Select Hierarchy" -c ("select -hierarchy " + $object); + + menuItem -d true; + + //call the zooObjMenu script, to add any object specific commands to the rmb + zooObjMenu $parent $object; + + optionalDagMenuProc( $parent, $object ); + + // create the history menu + // + string $menu = `menuItem -subMenu true -aob true -l "Inputs"`; + menu -e + -pmc ( "createHistoryMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + $menu = `menuItem -subMenu true -aob true -l "Outputs"`; + menu -e -pmc ( "createFutureMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // Look at the shape child of this object + // + string $shapes[] = `listRelatives -path -s $object`; + + // get current selection of shapes + string $currentSel[] = `ls -sl -dagObjects -shapes` ; + + string $paintParent = "" ; + int $selIndex ; + + int $i; + for ($i = 0; $i < size($shapes); ++$i) + { + string $nodeType = `nodeType $shapes[$i]` ; + + if ( ( $nodeType == "nurbsSurface") || + ( $nodeType == "mesh") || + ( $nodeType == "subdiv")) + { + // save the object name if it is not already selected by the user + // We use this info to select the object if user chooses a paint option + // + // If user has selected multiple objects and is using context menu on one of them + // we do not change the selection list as user may want to paint some attribute + // on all of them. (It is the way it has been working all along...we don't want to + // break it ) + + int $found = 0 ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $shapes[$i] == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( $found ) + { + $artSelectObject = "" ; + } + else + { + // check if the object is in component selection mode + // and if it is, do not do any further selection. + // We are assuming that if the object is in hilite mode + // then the user is in component selection mode. + + $currentSel = `ls -hilite` ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $object == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( !$found ) + $artSelectObject = $object ; + else + $artSelectObject = "" ; + } + + $paintParent = `menuItem -subMenu true -aob true -l "Paint"`; + menu -e -pmc ( "createArtAttrMenuItems \""+ $paintParent +"\" "+$object ) $paintParent ; + setParent -m $parent; + break ; + } + } + + $menu = `menuItem -subMenu true -l "Actions"`; + menu -e -pmc ( "createActionsMenuItems \""+$menu+"\" "+$object ) $menu; + + setParent -m $parent; + + // If the object can handle uv sets then add the uvset menu + // + string $shape = objectHandlesUvSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "UV Sets"`; + menu -e + -pmc ( "createUVsetMenuItems \""+$menu+"\" " +$object + " "+ $shape ) + $menu; + setParent -m $parent; + } + + string $shape = objectHandlesColorSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -l "Color Sets"`; + menu -e + -pmc ( "createColorSetMenuItems \""+$menu+"\" " +$object + " "+ $shape ) + $menu; + setParent -m $parent; + } + + // Shader menu to be able to quickly assign existing shaders + // to the object under the pointer. + // + menuItem -d true; + + menuItem -l "Material Attributes..." -c ("showSG " + $object); + + menuItem -d true; + + buildShaderMenus($object); + + menuItem -divider true; + + string $removeOverrideMenuItem = `menuItem + -label (uiRes("m_dagMenuProc.kRemoveMaterialOverride")) + -subMenu true`; + menuItem -edit -postMenuCommand + ("buildMaterialRemoveOverrideMenu -surface "+$object+" "+$removeOverrideMenuItem) + $removeOverrideMenuItem; + setParent -m ..; + + menuItem -d true; + + int $mentalIsLoaded = 0; + string $renderer; + for ($renderer in `renderer -query -namesOfAvailableRenderers`) { + if( $renderer == "mentalRay" ) { + $mentalIsLoaded = 1; + break; + } + } + + if ($mentalIsLoaded) { + $menu = `menuItem -subMenu true -l "Baking"`; + menu -e + -pmc ( "createBakingMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + } + +// { +// $menu = `menuItem -subMenu true -l "Paint"`; +// menu -e +// -pmc ( "createPaintingMenuItems \""+$menu+"\" "+$object ) +// $menu; +// setParent -m $parent; +// } + + if ($mode == "Dynamics") { + menuItem -d true; + menuItem -l "Connect Field" -c ("connectDynamic -f " + $object); + menuItem -l "Connect Emitter" -c ("connectDynamic -em " + $object); + menuItem -l "Connect Collision" -c ("connectDynamic -c " + $object); + } + + // is there a reference associated with the object ? + // and if so, is it in a loaded or unloaded state? + string $refNode = `getRelatedReference $object`; + if( size($refNode) > 0) { + menuItem -d true; + if( `file -rfn $refNode -q -dr` ) { + menuItem -l "Load Related Reference" -c ("loadRelatedReference " + $object); + } else { + menuItem -l "Reload Related Reference" -c ("loadRelatedReference " + $object); + menuItem -l "Unload Related Reference" -c ("unloadRelatedReference " + $object); + } + // Is this reference a proxy? If so, add proxy switch submenu + // + string $proxyNodes[] = `getRelatedProxies $refNode`; + if(size($proxyNodes) > 0) { + $menu = `menuItem -subMenu true -l "Reload Proxy As"`; + menu -e + -pmc ( "createSwitchProxyMenuItems \""+$menu+"\" "+$object + " " + $refNode ) + $menu; + setParent -m $parent; + } + } + + setParent -m $parent; + + } else { + warning("Menu " + $parent + " doesn't exist."); + } +} diff --git a/2009-x64/zooScripts/dagMenuProc_v85.mel b/2009-x64/zooScripts/dagMenuProc_v85.mel new file mode 100644 index 0000000..a463995 --- /dev/null +++ b/2009-x64/zooScripts/dagMenuProc_v85.mel @@ -0,0 +1,1825 @@ +// Copyright (C) 1997-2006 Autodesk, Inc., and/or its licensors. +// All rights reserved. +// +// The coded instructions, statements, computer programs, and/or related +// material (collectively the "Data") in these files contain unpublished +// information proprietary to Autodesk, Inc. ("Autodesk") and/or its licensors, +// which is protected by U.S. and Canadian federal copyright law and by +// international treaties. +// +// The Data is provided for use exclusively by You. You have the right to use, +// modify, and incorporate this Data into other products for purposes authorized +// by the Autodesk software license agreement, without fee. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. AUTODESK +// DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTIES +// INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF NON-INFRINGEMENT, +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE +// OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS +// LICENSORS BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL, +// DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK AND/OR ITS +// LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OR PROBABILITY OF SUCH DAMAGES. + +// Alias Script File +// MODIFY THIS AT YOUR OWN RISK +// +// Creation Date: Dec 3, 1996 +// +// +// Description: +// This script describes the contents of the context sensitive menus. +// +// Input Arguments: +// None. +// +// Return Value: +// None. +// + +proc optionalDagMenuProc( string $parent, string $item ) +{ + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + + string $shape = ""; + int $gotVisible = 0; + + if( size($object) < 1 ) return; + + for( $i=0; $i 0); +} + +proc +createFBIKmenuItems(string $parent, + string $item, + string $ikReachModeLocation, + string $keyBodyPartLocation, + string $keyAllLocation, + string $keySelectedLocation) +{ + string $reachKeyingMode = "Reach Mode:"; + int $rkm = `optionVar -q setIKKey`; + switch ($rkm) + { + case 1: + $reachKeyingMode = $reachKeyingMode + " IK"; + break; + case 2: + $reachKeyingMode = $reachKeyingMode + " FK"; + break; + case 3: + $reachKeyingMode = $reachKeyingMode + " Simple"; + break; + } + + menuItem -rp $ikReachModeLocation -label $reachKeyingMode + -subMenu true + -annotation (uiRes("m_dagMenuProc.kDetermineHowAnnot")) ; + + menuItem -rp "S" -label (uiRes("m_dagMenuProc.kIK")) + -command FBIKReachKeyingOptionIK; + + menuItem -rp "N" -label (uiRes("m_dagMenuProc.kFK")) + -command FBIKReachKeyingOptionFK; + + menuItem -rp "E" -label (uiRes("m_dagMenuProc.kSimpleNoReach")) + -command FBIKReachKeyingOptionSimple; + + setParent -m $parent; + + menuItem -label (uiRes("m_dagMenuProc.kKeyAll")) + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"1\", \"2\", \""+$item+"\"};") + -rp $keyAllLocation + keyAllItem; + + menuItem -label (uiRes("m_dagMenuProc.kKeyBodyPart")) + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"2\", \"2\", \""+$item+"\"};") + -rp $keyBodyPartLocation + keyBodyPartItem; + + menuItem -label (uiRes("m_dagMenuProc.kKeySelected")) + -echoCommand true + -c ("doSetFullBodyIKKeysArgList 2 {\"4\", \"2\", \""+$item+"\"};") + -rp $keySelectedLocation + keySelectedItem; +} +proc checkForSkinInfluenceItem(string $item, string $quadrant) +{ + int $isJoint = (nodeType($item) == "joint"); + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster + // + string $currContext = `currentCtx`; + string $currTool = ""; + if(`contextInfo -ex $currContext`) { + $currTool = `contextInfo -c $currContext`; + } + string $paintWeights = (uiRes("m_dagMenuProc.kPaintWeights")); + if ( $currTool == "artAttrSkin" ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "skinWeights" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "skinCluster") + { + // select the surface (not the joint) and set + // the joint as the current influence + // + string $currSel[] = `ls -sl`; + string $currSelString; + if (size($currSel) > 0) { + string $currObj; + $currSelString = "select -r "; + for ($currObj in $currSel) { + $currSelString += ($currObj+" "); + } + } + menuItem -label $paintWeights + -echoCommand true + -c ($currSelString+"; setSmoothSkinInfluence " + $item) + -rp $quadrant + paintWeightItem; + break; + } + } + } + } // menu for skinCluster paint + // Check if the current context is the clusterPaint context + // and the the joint is connected to a jointCluster + // + else if ( $isJoint && ($currTool == "artAttr") ) { + string $whichTool = `artAttrCtx -q -whichTool $currContext`; + if ( $whichTool == "general" ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") + { + string $artCommand = "artAttrCtx" ; + string $attribute = "cluster." + $conn + ".weights" ; + menuItem -label $paintWeights + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artAttrCtx -e -pas \"cluster." + $conn + ".weights\" `currentCtx`") + -c ("artSetToolAndSelectAttr( \"" + $artCommand + "\", \"" + $attribute + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + // menu for joint-set paint + // Check if the current context is the setPaint context + // and the the joint is connected to a objectSet via jointCluster + // + else if ( $isJoint && ($currTool == "artSetPaint") ) { + string $connL[] = `listConnections ($item+".worldMatrix")`; + string $conn; + for($conn in $connL) { + if (`nodeType $conn` == "jointCluster") { + string $connS[] = `listConnections ($conn+".message")`; + for($set in $connS) { + if (`nodeType $set` == "objectSet") { + menuItem -label (uiRes("m_dagMenuProc.kPaintSetMembership")) + -echoCommand true + // the following command doesnot update the UI hence we use the next one + //-c ("artSetPaintCtx -e -settomodify " + $set + " `currentCtx`") + -c ("artSetPaintSelectSet( \"" + $set + "\" )") + -rp "N" + paintWeightItem; + break; + } + } + } + } + } +} + +global proc string[] objectSelectMasks(string $item) +// Returns the component selection masks that apply to this object +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + + string $nt = `nodeType $shape`; + + switch ($nt) { + case "lattice": + $maskList[0] = "latticePoint"; + break; + case "locator": + $maskList[0] = "locator"; + break; + case "nurbsCurve": + $maskList[0] = "curveParameterPoint"; + $maskList[1] = "controlVertex"; + $maskList[2] = "editPoint"; + $maskList[3] = "hull"; + break; + case "nurbsSurface": + $maskList[0] = "isoparm"; + $maskList[1] = "controlVertex"; + $maskList[2] = "surfaceParameterPoint"; + $maskList[3] = "hull"; + $maskList[4] = "surfaceFace"; + $maskList[5] = "surfaceUV"; + if (objectIsTrimmed($shape)) { + $maskList[6] = "surfaceEdge"; + } + break; + case "mesh": + $maskList[0] = "edge"; + $maskList[1] = "vertex"; + $maskList[2] = "facet"; + $maskList[3] = "puv"; + $maskList[4] = "pvf"; + break; + case "joint": + $maskList[0] = "joint"; // special case + break; + case "ikHandle": + $maskList[0] = "ikHandle"; // special case + break; + case "hikEffector": + // fall through + case "hikFloorContactMarker": + $maskList[0] = "hikEffector"; // special case + break; + case "particle": + $maskList[0] = "particle"; // only one choice + break; + case "spring": + $maskList[0] = "springComponent"; // only one choice + break; + case "subdiv": + $maskList[0] = "subdivMeshPoint"; + $maskList[1] = "subdivMeshEdge"; + $maskList[2] = "subdivMeshFace"; + $maskList[3] = "subdivMeshUV"; + break; + } + + if (isIKcontroller($item)) { + $maskList[size($maskList)] = "ikfkHandle"; + } + + return $maskList; +} + + +global proc string dagMenuProc_selectionMask_melToUI( string $mel ) +{ + string $result = $mel; + + switch ($mel) + { + case "latticePoint": + $result = (uiRes("m_dagMenuProc.kLatticePoint")); + break; + case "locator": + $result = (uiRes("m_dagMenuProc.kLocator")); + break; + case "controlVertex": + $result = (uiRes("m_dagMenuProc.kControlVertex")); + break; + case "editPoint": + $result = (uiRes("m_dagMenuProc.kEditPoint")); + break; + case "hull": + $result = (uiRes("m_dagMenuProc.kHull")); + break; + case "isoparm": + $result = (uiRes("m_dagMenuProc.kIsoparm")); + break; + case "subdivMeshEdge": + // fall through + case "edge": + $result = (uiRes("m_dagMenuProc.kEdge")); + break; + case "subdivMeshPoint": + // fall through + case "vertex": + $result = (uiRes("m_dagMenuProc.kVertex")); + break; + case "joint": + $result = (uiRes("m_dagMenuProc.kJoint")); + break; + case "ikHandle": + $result = (uiRes("m_dagMenuProc.kIkHandle")); + break; + case "hikEffector": + $result = (uiRes("m_dagMenuProc.kHikEffector")); + break; + case "ikfkHandle": + $result = (uiRes("m_dagMenuProc.kIkfkHandle")); + break; + case "surfaceUV": + $result = (uiRes("m_dagMenuProc.kSurfaceUV")); + break; + case "surfaceParameterPoint": + $result = (uiRes("m_dagMenuProc.kSurfacePoint")); + break; + case "curveParameterPoint": + $result = (uiRes("m_dagMenuProc.kCurvePoint")); + break; + case "surfaceEdge": + $result = (uiRes("m_dagMenuProc.kTrimEdge")); + break; + case "surfaceFace": + $result = (uiRes("m_dagMenuProc.kSurfacePatch")); + break; + case "subdivMeshUV": + // fall through + case "puv": + $result = (uiRes("m_dagMenuProc.kUV")); + break; + case "subdivMeshFace": + // fall through + case "facet": + $result = (uiRes("m_dagMenuProc.kFace")); + break; + case "pvf": + $result = (uiRes("m_dagMenuProc.kVertexFace")); + break; + case "particle": + $result = (uiRes("m_dagMenuProc.kParticle")); + break; + case "springComponent": + $result = (uiRes("m_dagMenuProc.kSpring")); + break; + default: + uiToMelMsg( "dagMenuProc_selectionMask_melToUI", $mel, 1 ); + break; + } + + return $result; +} + +global proc createSelectMenuItems(string $parent, string $item) +// Create a menu that shows the dag parenting for this object +{ + string $maskList[] = `objectSelectMasks($item)`; + + string $radialPosition[]; + string $uiName; + + int $i; + int $isNurbObject = false; + int $isPolyObject = false; + int $isLatticeObject = false; + int $isJointObject = false; + int $isHikEffector = false; + int $isIkHandleObject = false; + int $isIkFkHandleObject = false; + int $isParticleObject = false; + int $isSpringObject = false; + int $isSubdivObject = false; + int $isLocatorObject = false; + int $hasComponents = false; + + // Comparing an element in an empty array will increase the array + // to accomodate that element. + // + // To avoid this, first test the size of the array before comparing + // elements that may not exist. + // + if (1 <= size($maskList)) { + $isLatticeObject = ($maskList[0] == "latticePoint"); + $isJointObject = ($maskList[0] == "joint"); + $isHikEffector = ($maskList[0] == "hikEffector"); + $isIkHandleObject = ($maskList[0] == "ikHandle"); + $isParticleObject = ($maskList[0] == "particle"); + $isSpringObject = ($maskList[0] == "springComponent"); + $isSubdivObject = ($maskList[0] == "subdivMeshPoint"); + $isLocatorObject = ($maskList[0] == "locator"); + } + if (2 <= size($maskList)) { + $isNurbObject = ($maskList[1] == "controlVertex"); + $isPolyObject = ($maskList[1] == "vertex"); + } + + // $maxRadialPos keeps track of how many octants of the + // RMB marking menu will be populated + // + int $maskSize = size($maskList); + int $maxRadialPos = size($maskList); + + if (($maskSize > 0) && ($maskList[$maskSize-1] == "ikfkHandle")) { + $isIkFkHandleObject = true; + $maxRadialPos--; // ikfkHandle does not populate like other masks + } + + $hasComponents = $isLatticeObject || + $isParticleObject || + $isSubdivObject || + $isSpringObject || + $isNurbObject || + $isPolyObject; + + // NOTE: + // If the object has selectable components, then the + // radial position "NE" will be used for the menuItem: + // "Revert back to object mode." + // + setParent -menu $parent; + $radialPosition[0] = "N"; + $radialPosition[1] = "W"; + $radialPosition[2] = "S"; + $radialPosition[3] = "E"; + $radialPosition[4] = "SW"; + $radialPosition[5] = "SE"; + $radialPosition[6] = "NW"; + $radialPosition[7] = "NE"; + + string $disableikHandle = (uiRes("m_dagMenuProc.kDisableIkHandle")); + string $enableIkHandle = (uiRes("m_dagMenuProc.kEnableIkHandle")); + string $setPreferred = (uiRes("m_dagMenuProc.kSetPreferredAngle")); + string $assumePreferred = (uiRes("m_dagMenuProc.kAssumePreferredAngle")); + + if ($isNurbObject) { + for ($i = 0; $i < size($maskList); $i++) { + $uiName = `dagMenuProc_selectionMask_melToUI $maskList[$i]`; + if ($maskList[$i] != "ikfkHandle") { + menuItem -label $uiName + -ecr false + -c ( "doMenuNURBComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the nurbs is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isPolyObject) { + for ($i = 0; $i < size($maskList); $i++) { + $uiName = `dagMenuProc_selectionMask_melToUI $maskList[$i]`; + if ($maskList[$i] != "ikfkHandle") { + menuItem -label $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // Check if the current context is the skinPaint context + // and the the poly is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("NW") quadrant + // + checkForSkinInfluenceItem($item, "NW"); + + } else if ($isLatticeObject) { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] != "ikfkHandle") { + $uiName = `dagMenuProc_selectionMask_melToUI $maskList[$i]`; + menuItem -label $uiName + -ecr false + -c ( "doMenuLatticeComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + } else if ($isJointObject) { + string $setCmd = `performSetPrefAngle 2`; + string $assumeCmd = `performAssumePrefAngle 2`; + $setCmd += (" "+$item); + $assumeCmd += (" "+$item); + string $jts[] = `ls -sl -type joint`; + for ($jointItem in $jts) { + if ($jointItem != $item) { + $setCmd += (" "+$jointItem); + $assumeCmd += (" "+$jointItem); + } + } + menuItem -label $setPreferred + -echoCommand true + -c ($setCmd) + -rp "N" + setPrefAngleItem; + + menuItem -label $assumePreferred + -echoCommand true + -c ($assumeCmd) + -rp "S" + assumePrefAngleItem; + + string $hikHandle[] = `listConnections -type hikHandle $item`; + int $isFBIKjoint = (size($hikHandle) > 0); + if ($isFBIKjoint) { + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isHikEffector){ + if (nodeType($item) == "hikFloorContactMarker") { + string $parentItems[] = `listRelatives -pa -p $item`; + if (size($parentItems) && + nodeType($parentItems[0]) == "hikEffector") { + $item = $parentItems[0]; + } else { + $isHikEffector = false; + } + } + + if ($isHikEffector) { + string $pivotOffsetPlug = $item + ".pivotOffset"; + float $pivotOffset[] = `getAttr $pivotOffsetPlug`; + int $enablePin = (equivalentTol($pivotOffset[0],0.0,0.001) && + equivalentTol($pivotOffset[1],0.0,0.001) && + equivalentTol($pivotOffset[2],0.0,0.001)); + + // set pinning for hikEffectors + menuItem -label (uiRes("m_dagMenuProc.kPinBoth")) + -echoCommand true + -c ("doPinHikEffectors 1 {\"3\",\"" + $item + "\"};") + -enable $enablePin + -rp "N" + pinAllItem; + + menuItem -label (uiRes("m_dagMenuProc.kPinTranslate")) + -echoCommand true + -c ("doPinHikEffectors 1 {\"1\",\"" + $item + "\"};") + -enable $enablePin + -rp "NW" + pinTransItem; + + menuItem -label (uiRes("m_dagMenuProc.kPinRotate")) + -echoCommand true + -c ("doPinHikEffectors 1 {\"2\",\"" + $item + "\"};") + -enable $enablePin + -rp "SW" + pinRotItem; + + menuItem -label (uiRes("m_dagMenuProc.kUnpin")) + -echoCommand true + -c ("doPinHikEffectors 1 {\"0\",\"" + $item + "\"};") + -rp "S" + unpinItem; + + createFBIKmenuItems($parent, $item,"W","NE","E","SE"); + } + } else if ($isLocatorObject) { + // Check if the current context is the skinPaint context + // and the the joint is connected to a skinCluster. If so, add + // Paint Skin Weights to north ("N") quadrant + // + checkForSkinInfluenceItem($item, "N"); + + } else if ($isIkHandleObject) { + string $selectikHandlesJointsAnnot = (uiRes("m_dagMenuProc.kSelectikHandlesAnnot")); + string $selectikHandlesAnnot = (uiRes("m_dagMenuProc.kEnableIKHandlesAnnot")); + menuItem -label $setPreferred + -annotation $selectikHandlesJointsAnnot + -echoCommand true + -c (`performSetPrefAngle 2` + " " + $item) + -rp "W" + setPrefAngleItem; + + menuItem -label $assumePreferred + -annotation $selectikHandlesJointsAnnot + -echoCommand true + -c (`performAssumePrefAngle 2` + " " + $item) + -rp "E" + assumePrefAngleItem; + + menuItem -label $enableIkHandle + -annotation $selectikHandlesAnnot + -echoCommand true + -c ("ikHandle -e -eh " + $item) + -rp "N" + enableIKHandlesItem; + + menuItem -label $disableikHandle + -annotation $selectikHandlesAnnot + -echoCommand true + -c ("ikHandle -e -dh " + $item) + -rp "S" + disableIKHandlesItem; + + menuItem -label (uiRes("m_dagMenuProc.kEnableSnap")) + -annotation $selectikHandlesAnnot + -echoCommand true + -c ("ikHandle -e -see " + $item + ";" + + "ikHandle -e -shf on " + $item) + -rp "SE" + enableIKHandlesSnapItem; + + menuItem -label (uiRes("m_dagMenuProc.kDisableSnap")) + -annotation $selectikHandlesAnnot + -echoCommand true + -c ("ikHandle -e -shf off " + $item) + -rp "SW" + disableIKHandlesSnapItem; + + $maxRadialPos = 6; + } else if ($isParticleObject) { + for ($i = 0; $i < size($maskList); $i++) { + $uiName = `dagMenuProc_selectionMask_melToUI $maskList[$i]`; + menuItem -label $uiName + -ecr false + -c ( "doMenuParticleComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSpringObject) { + for ($i = 0; $i < size($maskList); $i++) { + $uiName = `dagMenuProc_selectionMask_melToUI $maskList[$i]`; + menuItem -label $uiName + -ecr false + -c ( "doMenuSpringComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } else if ($isSubdivObject) { + subdDagMenuProc( 0, $item, $maskList ); + } else { + for ($i = 0; $i < size($maskList); $i++) { + if ($maskList[$i] == "ikfkHandle") { + continue; + } + + $uiName = `dagMenuProc_selectionMask_melToUI $maskList[$i]`; + menuItem -label $uiName + -ecr false + -c ( "doMenuComponentSelection(\"" + + $item + "\", \"" + $maskList[$i] + "\")") + -rp $radialPosition[$i]; + } + } + + // If components are present, provide the ability to + // get back to object mode... + // + if ($hasComponents) { + menuItem -label (uiRes("m_dagMenuProc.kObjectMode")) + -ecr false + -c ( "hilite -unHilite " + $item + "; string $selection[] = `ls -sl`;" + + "changeSelectMode -object; select -r $selection;" ) + -rp "NE"; + } + + // Since any object can be an ikfk handle, we only populate the ikfk items + // in slots that are not already in use. + // + if ($isIkFkHandleObject) { + string $handle = getControlledHandle($item); + + if ($maxRadialPos < 8) { + menuItem -label (uiRes("m_dagMenuProc.kSetIKFKKey")) + -echoCommand true + -annotation (uiRes("m_dagMenuProc.kSetKeysAnnot")) + -rp $radialPosition[7] + -command ("select -r "+$item+"; SetIKFKKeyframe"); + } + + if ($maxRadialPos < 7) { + menuItem -label (uiRes("m_dagMenuProc.kMoveIKToFK")) + -echoCommand true + -annotation (uiRes("m_dagMenuProc.kSelectAnIKHandleOrIKFKAnnot")) + -rp $radialPosition[6] + -command ("select -r "+$item+"; MoveIKtoFK"); + } + + if ($maxRadialPos < 5) { + menuItem -label $disableikHandle + -annotation (uiRes("m_dagMenuProc.kDisableIKHandleAnnot")) + -echoCommand true + -c ("ikHandle -e -dh " + $handle) + -rp $radialPosition[5]; + + menuItem -label $enableIkHandle + -annotation (uiRes("m_dagMenuProc.kEnableIKHandleAnnot")) + -echoCommand true + -c ("ikHandle -e -eh " + $handle) + -rp $radialPosition[4]; + } + } + + +// for ($i = 0; $i < size($maskList); $i++) { +// $itemName = "SELM" + string($i); +// setParent -menu $parent; +// menuItem +// -c ("doMenuComponentSelection(\"" + +// $item + "\", \"" + $maskList[$i] + "\")") +// -label $maskList[$i] +// -rp $radialPosition[$i] +// $itemName; +// } + setParent -menu $parent; +} + +global proc doMenuNURBComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of NURB components +// +{ + string $selectCmd; + string $warn = (uiRes("m_dagMenuProc.kEditUVModeWarn")); + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + if( $mask == "surfaceUV" ) + { + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + warning(`format -s $item $warn`); + } + } + } else { + selectType -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -isoparm 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "surfaceUV": + $selectCmd = $selectCmd + + "toggle -state true -uv " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + warning(`format -s $item $warn`); + } + break; + case "editPoint": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "controlVertex": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + case "hull": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -hull " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -controlVertex " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -editPoint " + $item + ";"; + $selectCmd = $selectCmd + + "toggle -state false -uv " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + + // Test for implicit UVs - If we are in implicit UV mode + // UVs are not selectable. So issue a warning. + // + int $isExplicit[] = `nurbsUVSet -q -ue $item`; + if( !$isExplicit[0] ) + { + warning(`format -s $item $warn`); + } + } + } + + eval $selectCmd; +} + +global proc doMenuLatticeComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the Lattice control points +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } else { + $selectCmd = $selectCmd + "toggle -" + $mask + ";"; + } + } + eval $selectCmd; +} + + +global proc doMenuParticleComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of particle +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -particle 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "particle": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -particle " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuSpringComponentSelection(string $item, string $mask) +// +// Change the selection/display state to allow selection of spring +// components +// +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (`selectMode -q -preset`) { + $selectCmd = $selectCmd +"selectPriority -allComponents 1;"; + $selectCmd = $selectCmd +"selectPriority -springComponent 2;"; + $selectCmd = $selectCmd +"selectPriority -" + $mask + " 3;"; + switch ($mask) { + case "springComponent": + $selectCmd = $selectCmd + + "toggle -state true -" + $mask + " " + $item +";"; + break; + default: + $selectCmd = $selectCmd + + "toggle -state false -springComponent " + $item + ";"; + break; + } + } else { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + + eval $selectCmd; +} + + +global proc doMenuComponentSelection(string $item, string $mask) +// +// Changes the selection/display state on this object to allow +// selection of the specified selection mask type. +{ + string $selectCmd; + + if (`selectMode -q -object`) { + hilite $item; + selectType -ocm -alc false; + $selectCmd = "selectType -ocm -" + $mask + " true;"; + } else { + selectType -ocm -alc false; + $selectCmd = "selectType -" + $mask + " true;"; + if (!`selectMode -q -preset`) { + $selectCmd = $selectCmd + "hilite " + $item + ";"; + } + } + eval $selectCmd; +} + +global proc undoMenuComponentSelection(string $item, string $mask) +{ + string $selectCmd; + + if (`selectMode -q -object`) { + $selectCmd = "selectType -ocm -" + $mask + " false;"; + } else { + $selectCmd = "selectType -" + $mask + " false;"; + } + + eval $selectCmd; +} + +global proc toggleBoundingBoxDisplay ( string $parent ) +// +// For each shape under the selected parent object, toggle the +// state of bounding box display mode. +// +{ + string $shapes[] = `listRelatives -shapes $parent`; + + string $shape; + + for ( $shape in $shapes ) { + int $overrideOn = `getAttr ( $shape + ".overrideEnabled")`; + int $lodMode = `getAttr ( $shape + ".overrideLevelOfDetail")`; + int $enabled = $overrideOn && $lodMode == 1; + + if ( $enabled ) { + // Don't reset the overrideEnabled attribute. It + // is used for more than just bounding box display + // and turning if off will mess things up of you + // have temporarily enabled bounding box display + // of an object in a layer. + setAttr ( $shape + ".overrideLevelOfDetail" ) 0; + } else { + setAttr ( $shape + ".overrideEnabled") 1; + setAttr ( $shape + ".overrideLevelOfDetail") 1; + } + + } +} + +global proc createActionsMenuItems(string $parent, string $item) +// +// Creates a menu with common operations to perform on an object +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + menuItem -label (uiRes("m_dagMenuProc.kTemplate")) -c ("toggle -template -state on " + $item); + menuItem -label (uiRes("m_dagMenuProc.kUntemplate")) -c ("toggle -template -state off " + $item); + menuItem -label (uiRes("m_dagMenuProc.kUnparent")) -c ("parent -w " + $item); + menuItem -label (uiRes("m_dagMenuProc.kBoundingBox")) -c ("toggleBoundingBoxDisplay " + $item); +} + + +global proc showSG(string $item) +// +// Display the Attribute Editor and show the tab for the +// shading group that is on the object $item. +// +// If would have been nicer to be able to use the +// showShadingGroupAttributeEditor command, but it only +// acts on the selected object. +// +{ + //check selection list for faces (polys, subds, nurbs) + string $shader = ""; + string $selection[] = `filterExpand -sm 34 -sm 38 -sm 72`; + + // If there are components selected, try to find a component shader + if( size( $selection ) > 0) + { + string $nameBuffer[]; + + int $numComps = size( $selection ); + int $comp; + for( $comp = 0; $comp < $numComps; $comp++) + { + tokenize $selection[ $comp] "." $nameBuffer; + + //if the selected component is on the object under the pointer + //get it's shader + if ($nameBuffer[0] == $item) { + $shader = `getComponentShader $selection[$comp]`; + + //check if the shader is already selected - only toggle + //selection if it is not selected + string $shaderSelected[] = `ls -selection $shader`; + if ( size( $shaderSelected ) == 0){ + select -tgl $shader; + + } + break; + } + } + } + + // If we didn't find a component level shader, try for an object level one + if( size( $shader ) == 0 ) { + string $allNodes[] = (`listHistory -f true $item` ); + string $node = ""; + for ($node in $allNodes) { + if(`nodeType $node` == "shadingEngine") { + + $shader = $node; + break; + } + } + } + + // If we found a shader, show it + if( size( $shader ) > 0) + { + showEditor $shader; + } +} + +global proc showBakeSets(string $item, string $type) +// +// Display the Attribute Editor and show the tab for the +// first bake set of the specified $type that the object $item is in. +// If there is no this $type of bake set in the scene, creates the +// initial bake set of this type and show it in the attribute editor. +// +// If would have been nicer to be able to use the +// showBakeSetAttributeEditor command, but it only +// acts on the selected object. +// +{ + string $possibleBakeSets[] = (`listHistory -f true $item` ); + string $node = ""; + int $bakeSetExists = false; + for ($node in $possibleBakeSets) { + if(`nodeType $node` == $type) + { + showEditor $node; + $bakeSetExists = true; + break; + } + } + + // If no bake set exists for the $item, then create the + // initial bake set of that $type and assign it to the $item. + // + if (!$bakeSetExists) + { + string $initialBakeSet = ""; + if($type == "vertexBakeSet") + { + $initialBakeSet = "initialVertexBakeSet"; + } + else if($type == "textureBakeSet") + { + $initialBakeSet = "initialTextureBakeSet"; + } + else + { + string $errorMsg = (uiRes("m_dagMenuProc.kBakeSetError")); + error -showLineNumber true + (`format -s $type $errorMsg`); + return; + } + + // Create it if it does not exist yet. + // + if ( size(`ls $initialBakeSet`) < 1) + { + createBakeSet($initialBakeSet, $type); + } + + // Assign the initial bake set to the item. + // + assignBakeSet($initialBakeSet, $item); + + // Show the initial bake set. + // + showBakeSetAE($initialBakeSet); + } +} + +// Description: This procedure is called to refresh the baking +// attribute menu items. +// +global proc refreshBakingAttributeMenu (string $parent, string $item) +{ + setParent -menu $parent; + + int $suitable = bakeSetTypeSuitableForItem("textureBakeSet", $item); + menuItem -edit -enable $suitable textureBakingAttributeItem; + $suitable = bakeSetTypeSuitableForItem("vertexBakeSet", $item); + menuItem -edit -enable $suitable vertexBakingAttributeItem; +} + +// Description: This procedure is called to create the +// baking attribute menu. +// +proc createBakingAttributeMenu(string $parent, string $item) +{ + setParent -menu $parent; + + menuItem -label (uiRes("m_dagMenuProc.kEditAttributes")) + -subMenu true + -tearOff true + -postMenuCommand ("refreshBakingAttributeMenu \"" + +$parent+"|editAttributeItem\" \"" + +$item+"\"") + editAttributeItem; + + + menuItem -label (uiRes("m_dagMenuProc.kTexture")) + -c ("showBakeSets \""+$item+"\" \"textureBakeSet\"") + textureBakingAttributeItem; + menuItem -label (uiRes("m_dagMenuProc.kVertexMenuLabel")) + -c ("showBakeSets \""+$item+"\" \"vertexBakeSet\"") + vertexBakingAttributeItem; + + setParent -menu ..; +} + +// Description: This procedure is called to create the baking +// menu items. +// +global proc createBakingMenuItems(string $parent, string $item) +// +// Create the Baking menus for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + createBakingAttributeMenu($parent, $item); + menuItem -d true; + + if (!`about -evalVersion`) { + buildBakingMenus($item); + } +} + +// Description: This procedure is called to create the switch proxy +// menu items. +// +global proc createSwitchProxyMenuItems(string $parent, string $item, string $refNode) +// +// Create the switch proxy submenu for the RMB popup menu. +// +{ + popupMenu -e -deleteAllItems $parent; + setParent -menu $parent; + + string $proxyNodes[] = `getRelatedProxies $refNode`; + int $i; + string $proxyLabel; + string $proxyTag; + for( $i=0; $i 0) + { + string $ann = `getRunTimeCommandAnnotation "UVCentricUVLinkingEditor"`; + string $cmd = "UVCentricUVLinkingEditor; " + "select -r " + $item; + menuItem -label (uiRes("m_dagMenuProc.kUVLinking")) + -c $cmd + -annotation $ann; + menuItem -divider true; + } + + for ($i=0; $i<$numNames; $i++) + { + string $uvEditname = ("\"" + $names[$i] + "\""); + string $uvname = $names[$i]; + string $setCurCmd = $cmd + $uvEditname + " " + $shape + ";"; + + // Find any projections associated with the uvset + string $projs[]; + $projs = `polyUVSet -pr -uvs $uvname -q $shape`; + string $projCmd; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($uvname == $curSet[0]) + { + menuItem -label ($uvname) -c $setClearCmd -checkBox true; + for ($j=0; $j= 5) + break; + } + } + else + { + menuItem -label ($uvname) -c ($setClearCmd + $setCurCmd) -checkBox false; + for ($j=0; $j= 5) + break; + } + } + } +} + +// +global proc string objectHandlesColorSets(string $item) +{ + string $maskList[]; + string $shape = $item; + int $i; + + // Look at the shape child of this object + // + string $object[] = `listRelatives -path -s $item`; + int $gotVisible = 0; + + for ($i = 0; $i < size($object); ++$i) { + if( (0 == getAttr($object[$i] + ".io")) && + getAttr($object[$i] + ".v") ) { + $shape = $object[$i]; + $gotVisible = 1; + break; + } + } + + if( !$gotVisible ) { + for ($i = 0; $i < size($object); ++$i) + { + if (getAttr($object[$i] + ".io") == 0) + { + $shape = $object[$i]; + break; + } + } + } + string $nt = `nodeType $shape`; + + if ($nt == "mesh") + return $shape; + + return ""; +} + +global proc createColorSetMenuItems(string $parent, string $item, + string $shape) +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + string $cmd = "polyColorSet -currentColorSet -colorSet "; + string $curSet[] = `polyColorSet -q -currentColorSet $shape`; + string $names[] = `polyColorSet -q -acs $shape`; + + int $numNames = size($names); + + // Add in a menu to access color set editor + menuItem -label (uiRes("m_dagMenuProc.kColorSetEditor")) + -ann (getRunTimeCommandAnnotation("ColorSetEditor")) + -command "colorSetEditor" + ; + if ($numNames > 0) + { + menuItem -divider true; + } + + for ($i=0; $i < $numNames; $i++) + { + string $colorEditname = ("\"" + $names[$i] + "\""); + string $colorname = $names[$i]; + string $setCurCmd = $cmd + $colorEditname + " " + $shape + ";"; + + // Add a divider between items + if ($i > 0) + menuItem -divider true; + + if ($colorname == $curSet[0]) + { + menuItem -label ($colorname) -checkBox true; + } + else + { + menuItem -label ($colorname) -c ($setCurCmd) -checkBox false; + } + } +} + +global proc createArtAttrMenuItems( + string $parent, + string $item +) +// +// Description: +// Creates a menu that shows all the paintable attributes. +// +// NOTE: paintAttr are sorted by the paintable node type. +// +{ + popupMenu -e -dai $parent; + setParent -menu $parent; + + // add default items which are always displayed in the context menu + menuItem -p $parent -label (uiRes("m_dagMenuProc.kPaintSelect")) -command "ArtPaintSelectToolOptions" ; + menuItem -p $parent -label (uiRes("m_dagMenuProc.kThreeDPaint")) -command "Art3dPaintToolOptions" ; + menuItem -p $parent -label (uiRes("m_dagMenuProc.kSculpt")) -command "SculptGeometryToolOptions" ; + + // Get all paintable attributes + string $paintAttr = `artBuildPaintMenu $item`; + string $paint = (uiRes("m_dagMenuProc.kPaint")); + + if ($paintAttr != "") + { + // if the menu item has not been created, create it. + if( $parent == "" ) + $parent = `menuItem -subMenu true -aob true -label $paint `; + + + // create special purpose painting menu items for objects + // such as cloth + // + string $excludeNodes[] = createPaintingMenuItems( $parent, $item ); + + // Create the menu. + artAttrCreateMenuItems( $parent, $paintAttr, $excludeNodes ); + + } +} + +// This has been called because a menu press happened on a DAG object +// So find the Object submenu and add the DAG specific items to it. +// +global proc dagMenuProc(string $parent, string $object) +{ + global string $artSelectObject ; + string $mode = ""; + + if (`optionVar -exists currentMenuBarTab`) { + $mode = `optionVar -q currentMenuBarTab`; + } else { + optionVar -sv currentMenuBarTab $mode; + } + + if (`popupMenu -e -exists $parent`) { + setParent -m $parent; + + // label the object + string $shortName = `substitute ".*|" $object ""`; + menuItem -label ($shortName + "...") -c ("showEditor "+$object); + menuItem -divider true; + menuItem -divider true; + + // Create the list of selection masks + createSelectMenuItems($parent, $object); + + menuItem -d true; + + menuItem -label (uiRes("m_dagMenuProc.kSelect")) -c ("select -r " + $object); + menuItem -label (uiRes("m_dagMenuProc.kSelectHierarchy")) -c ("select -hierarchy " + $object); + + menuItem -d true; + + //zooCST option (firas) + zooObjMenu $parent $object; + + optionalDagMenuProc( $parent, $object ); + + // create the history menu + // + string $menu = `menuItem -subMenu true -aob true -label (uiRes("m_dagMenuProc.kInputs")) `; + menu -e + -pmc ( "createHistoryMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + $menu = `menuItem -subMenu true -aob true -label (uiRes("m_dagMenuProc.kOutputs")) `; + menu -e -pmc ( "createFutureMenuItems \""+$menu+"\" "+$object ) $menu; + setParent -m $parent; + + // Look at the shape child of this object + // + string $shapes[] = `listRelatives -path -s $object`; + + // get current selection of shapes + string $currentSel[] = `ls -sl -dagObjects -shapes` ; + + string $paintParent = "" ; + int $selIndex ; + + int $i; + for ($i = 0; $i < size($shapes); ++$i) + { + string $nodeType = `nodeType $shapes[$i]` ; + + if ( ( $nodeType == "nurbsSurface") || + ( $nodeType == "mesh") || + ( $nodeType == "subdiv")) + { + // save the object name if it is not already selected by the user + // We use this info to select the object if user chooses a paint option + // + // If user has selected multiple objects and is using context menu on one of them + // we do not change the selection list as user may want to paint some attribute + // on all of them. (It is the way it has been working all along...we don't want to + // break it ) + + int $found = 0 ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $shapes[$i] == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( $found ) + { + $artSelectObject = "" ; + } + else + { + // check if the object is in component selection mode + // and if it is, do not do any further selection. + // We are assuming that if the object is in hilite mode + // then the user is in component selection mode. + + $currentSel = `ls -hilite` ; + for( $selIndex = 0 ; $selIndex < size( $currentSel ); ++$selIndex ) + { + if( $object == $currentSel[ $selIndex ] ) + { + $found = 1 ; + break ; + } + } + + if( !$found ) + $artSelectObject = $object ; + else + $artSelectObject = "" ; + } + + $paintParent = `menuItem -subMenu true -aob true -label (uiRes("m_dagMenuProc.kPaintSubmenu")) `; + menu -e -pmc ( "createArtAttrMenuItems \""+ $paintParent +"\" "+$object ) $paintParent ; + setParent -m $parent; + break ; + } + } + + $menu = `menuItem -subMenu true -label (uiRes("m_dagMenuProc.kActions")) `; + menu -e -pmc ( "createActionsMenuItems \""+$menu+"\" "+$object ) $menu; + + setParent -m $parent; + + // If the object can handle uv sets then add the uvset menu + // + string $shape = objectHandlesUvSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -label (uiRes("m_dagMenuProc.kUVSets")) `; + menu -e + -pmc ( "createUVsetMenuItems \""+$menu+"\" " +$object + " "+ $shape ) + $menu; + setParent -m $parent; + } + + string $shape = objectHandlesColorSets( $object ); + if ($shape != "") + { + $menu = `menuItem -subMenu true -label (uiRes("m_dagMenuProc.kColorSets")) `; + menu -e + -pmc ( "createColorSetMenuItems \""+$menu+"\" " +$object + " "+ $shape ) + $menu; + setParent -m $parent; + } + + // Shader menu to be able to quickly assign existing shaders + // to the object under the pointer. + // + menuItem -d true; + + menuItem -label (uiRes("m_dagMenuProc.kMaterialAttributes")) -c ("showSG "+$object); + + menuItem -d true; + + buildShaderMenus($object); + + menuItem -d true; + + menuItem -divider true; + + string $removeOverrideMenuItem = `menuItem + -label (uiRes("m_dagMenuProc.kRemoveMaterialOverride")) + -subMenu true`; + menuItem -edit -postMenuCommand + ("buildMaterialRemoveOverrideMenu -surface "+$object+" "+$removeOverrideMenuItem) + $removeOverrideMenuItem; + setParent -m ..; + + int $mentalIsLoaded = 0; + string $renderer; + for ($renderer in `renderer -query -namesOfAvailableRenderers`) { + if( $renderer == "mentalRay" ) { + $mentalIsLoaded = 1; + break; + } + } + + if ($mentalIsLoaded) { + $menu = `menuItem -subMenu true -label (uiRes("m_dagMenuProc.kBaking")) `; + menu -e + -pmc ( "createBakingMenuItems \""+$menu+"\" "+$object ) + $menu; + setParent -m $parent; + } + +// { +// $menu = `menuItem -subMenu true -label $paint `; +// menu -e +// -pmc ( "createPaintingMenuItems \""+$menu+"\" "+$object ) +// $menu; +// setParent -m $parent; +// } + + if ($mode == "dynamicsMenuSet") { + menuItem -d true; + menuItem -label (uiRes("m_dagMenuProc.kConnectField")) -c ("connectDynamic -f " + $object); + menuItem -label (uiRes("m_dagMenuProc.kConnectEmitter")) -c ("connectDynamic -em " + $object); + menuItem -label (uiRes("m_dagMenuProc.kConnectCollision")) -c ("connectDynamic -c " + $object); + } + + // is there a reference associated with the object ? + // and if so, is it in a loaded or unloaded state? + string $refNode = `getRelatedReference $object`; + if( size($refNode) > 0) { + menuItem -d true; + if( `file -rfn $refNode -q -dr` ) { + menuItem -label (uiRes("m_dagMenuProc.kLoadRelatedReference")) -c ("loadRelatedReference " + $object); + } else { + menuItem -label (uiRes("m_dagMenuProc.kReloadRelatedReference")) -c ("loadRelatedReference " + $object); + menuItem -label (uiRes("m_dagMenuProc.kUnloadRelatedReference")) -c ("unloadRelatedReference " + $object); + } + // Is this reference a proxy? If so, add proxy switch submenu + // + string $proxyNodes[] = `getRelatedProxies $refNode`; + if(size($proxyNodes) > 0) { + $menu = `menuItem -subMenu true -label (uiRes("m_dagMenuProc.kReloadProxy")) `; + menu -e + -pmc ( "createSwitchProxyMenuItems \""+$menu+"\" "+$object + " " + $refNode ) + $menu; + setParent -m $parent; + } + } + + setParent -m $parent; + + } else { + string $warn = (uiRes("m_dagMenuProc.kMenuWarn")); + warning(`format -s $parent $warn`); + } +} diff --git a/2009-x64/zooScripts/icons/zooAnimStore.xpm b/2009-x64/zooScripts/icons/zooAnimStore.xpm new file mode 100644 index 0000000..57d13d6 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooAnimStore.xpm @@ -0,0 +1,181 @@ +/* XPM */ +static char * zooAnimStore_xpm[] = { +"32 32 146 2", +" c #000000", +". c #020202", +"+ c #040404", +"@ c #050505", +"# c #060606", +"$ c #070707", +"% c #0A0A0A", +"& c #0C0D0D", +"* c #0D0D0D", +"= c #0F1011", +"- c #101010", +"; c #101112", +"> c #111111", +", c #121212", +"' c #131313", +") c #141414", +"! c #141415", +"~ c #151515", +"{ c #151516", +"] c #161616", +"^ c #171717", +"/ c #1A1A1A", +"( c #1A1B1B", +"_ c #1B1B1B", +": c #1D1D1D", +"< c #1F2020", +"[ c #202020", +"} c #212121", +"| c #262626", +"1 c #272727", +"2 c #26282A", +"3 c #2A2D2F", +"4 c #2D2D2D", +"5 c #2E2E2E", +"6 c #2F2F2F", +"7 c #2F2F30", +"8 c #323232", +"9 c #363636", +"0 c #393939", +"a c #3E3E3E", +"b c #404142", +"c c #424242", +"d c #464646", +"e c #474747", +"f c #494949", +"g c #4A4A4A", +"h c #474B50", +"i c #4B4B4B", +"j c #4B4C4D", +"k c #4C4C4C", +"l c #4F4F4F", +"m c #505050", +"n c #515151", +"o c #525252", +"p c #535353", +"q c #555555", +"r c #575757", +"s c #595959", +"t c #5B5B5B", +"u c #5F5F5F", +"v c #606060", +"w c #606162", +"x c #616161", +"y c #626262", +"z c #656565", +"A c #666666", +"B c #696969", +"C c #666C73", +"D c #6C6C6C", +"E c #6D6D6D", +"F c #6F6F6F", +"G c #6A7177", +"H c #707070", +"I c #717171", +"J c #737373", +"K c #767676", +"L c #777777", +"M c #787878", +"N c #7A7A7A", +"O c #7B7B7B", +"P c #767E85", +"Q c #7D7D7D", +"R c #7F7F7F", +"S c #808080", +"T c #828282", +"U c #838383", +"V c #848484", +"W c #858585", +"X c #888888", +"Y c #8A8A8A", +"Z c #909090", +"` c #939393", +" . c #949494", +".. c #959595", +"+. c #9A9A9A", +"@. c #9B9B9B", +"#. c #9C9C9C", +"$. c #9E9E9E", +"%. c #9D9FA2", +"&. c #A0A0A0", +"*. c #A2A2A2", +"=. c #98A5B2", +"-. c #9EA8B1", +";. c #A5A8AA", +">. c #AAAAAA", +",. c #A3ADB7", +"'. c #AAADAF", +"). c #ADADAD", +"!. c #A6B0BA", +"~. c #AFAFAF", +"{. c #A9B2BC", +"]. c #B1B1B1", +"^. c #B4B4B4", +"/. c #B5B5B5", +"(. c #AFB7BF", +"_. c #B6B6B6", +":. c #B6B8BB", +"<. c #B2B9C1", +"[. c #B9B9B9", +"}. c #BBBBBB", +"|. c #BCBCBC", +"1. c #BDBDBD", +"2. c #BAC0C5", +"3. c #BDC0C3", +"4. c #C0C0C0", +"5. c #C1C1C1", +"6. c #BDC2C7", +"7. c #C2C2C2", +"8. c #C3C3C3", +"9. c #C4C4C4", +"0. c #C5C5C5", +"a. c #C3C7CA", +"b. c #C7C7C7", +"c. c #C8C8C8", +"d. c #C6C9CC", +"e. c #CACACA", +"f. c #CBCBCB", +"g. c #CCCCCC", +"h. c #CDCDCD", +"i. c #CECECE", +"j. c #CFCFCF", +"k. c #D0D0D0", +"l. c #D1D1D1", +"m. c #D2D2D2", +"n. c #D3D3D3", +"o. c #D4D4D4", +"o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", +"o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", +"o.o.o.o.o.a.<.{.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.{.<.a.o.o.o.o.o.", +"o.o.o.(.=.{.2.a.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.a.2.{.=.(.o.o.o.", +"o.o.o.=.o.o.o.o.o.o.o.o.h.j.o.o.o.o.o.o.o.o.o.o.o.o.o.o.=.o.o.o.", +"o.o.a.{.o.o.o.o.o.o.o.).v 5.o.o.o.o.o.o.o.o.o.o.o.o.o.o.{.a.o.o.", +"o.o.(.6.o.o.o.k.D c 4 ] X T c.o.o.o.o.o.o.o.o.o.o.o.o.o.6.(.o.o.", +"o.o.{.a.o.o.j.t . * - > 9 ].o.o.o.o.o.o.o.o.o.o.o.o.o.a.{.o.o.", +"o.o.!.d.o.1.s ] V e._.T $.m.o.o.o.o.o.o.o.o.8.+.o.o.o.d.!.o.o.", +"o.o.!.d.o.f $ E o.o.o.o.o.o.o.o.o.o.o.o.4.g.o.B t 1.o.d.!.o.o.", +"o.o.!.d.O q o.o.o.o.o.o.o.o.o.o.o.o.o.` o T 4 _ E 3.!.o.o.", +"o.o.!.;.] 6 e.o.o.o.o.o.o.o.o.o.o.o.o.o.o.U n u y ~ + %.!.o.o.", +"o.o.!.b V o.o.o.o.h.o.7.M A R ).o.o.o.o.n.o.o.o.Q 7 ,.o.o.", +"o.o.C 6 i.o.o.o.*.6 r _ % v m.o.o.o.o.o.o./.] P o.o.", +"o.l.2 U o.o.o.o.q + &.o.o.o.o.o.o.o.g 3 m.o.", +"o.o.h S o.o./.m - Y o.o.o.o.o.o.o.H ; 1.o.", +"o.o.P : |.o.o.r W o.o.o.o.o.o.o.~.& Z o.", +"o.o.-.< v o.o.J x o.o.o.o.o.o.o.b.! D o.", +"o.o.!.w > ~.o.^.0 | + X o.o.o.o.o.o.o.c.{ a o.", +"o.o.!.'.) e e.o.o.f.8 ^ 4.o.o.o.o.o.o.o.|., > }.", +"o.o.!.d.v 5 ` o.o.N / 0 I o.o.o.o.o.o.[.D 1 ' >.", +"o.o.!.d.|.: z g.9 F o.o.o.c.*...L i > = @.o.", +"o.o.!.d.o. .* * } c @.I d _ # . ( G o.o.", +"o.o.!.d.o.o.K + p :.!.o.o.", +"o.o.{.a.o.o.o.i _ k #.o.a.{.o.o.", +"o.o.(.6.o.o.o.&.@ 5 S 9.o.o.o.6.(.o.o.", +"o.o.a.{.o.o.o.0.' . . l j.o.o.o.o.o.{.a.o.o.", +"o.o.o.=.o.o.o.g.[ . . > ^.o.o.o.o.o.o.=.o.o.o.", +"o.o.o.(.=.{.2.a.j . . b d.d.d.a.2.{.=.(.o.o.o.", +"o.o.o.o.o.a.<.{.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.{.<.a.o.o.o.o.o.", +"o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.", +"o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o."}; diff --git a/2009-x64/zooScripts/icons/zooAssets.xpm b/2009-x64/zooScripts/icons/zooAssets.xpm new file mode 100644 index 0000000..3bc8f81 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooAssets.xpm @@ -0,0 +1,290 @@ +/* XPM */ +static char *zooAssets[] = { +/* columns rows colors chars-per-pixel */ +"32 32 252 2", +" c #000046", +". c #041266", +"X c #0D2197", +"o c #2F4196", +"O c #1341FD", +"+ c #1E55EF", +"@ c #1F62DD", +"# c #2549FB", +"$ c #2057F4", +"% c #3057F4", +"& c #3854FC", +"* c #395FF1", +"= c #226CEF", +"- c #286EEE", +"; c #226BF1", +": c #2C69FB", +"> c #2D6AFB", +", c #2479FB", +"< c #2679F9", +"1 c #3E72F2", +"2 c #3F70F5", +"3 c #435BB9", +"4 c #5E6BA8", +"5 c #6D749D", +"6 c #6978B4", +"7 c #4757FE", +"8 c #5767D2", +"9 c #436AF7", +"0 c #436AF8", +"q c #4F66F6", +"w c #4D6EF7", +"e c #4B6AF8", +"r c #4A74EE", +"t c #4470F2", +"y c #546EE6", +"u c #5269F3", +"i c #5068F9", +"p c #5B60FE", +"a c #5F77EB", +"s c #7973D6", +"d c #696CFD", +"f c #6175EE", +"g c #6972EF", +"h c #6878E9", +"j c #6170F0", +"k c #6B70F4", +"l c #6970FC", +"z c #6A71FE", +"x c #727DF1", +"c c #2783C9", +"v c #2885CB", +"b c #2C8FCC", +"n c #2D98D5", +"m c #2F9DD4", +"M c #399ECA", +"N c #3A9ED8", +"B c #2987EB", +"V c #2987EC", +"C c #2D88EA", +"Z c #2A8FF3", +"A c #2E9AEC", +"S c #2B91FF", +"D c #2F9EF1", +"F c #2E9AFF", +"G c #2E9CF8", +"H c #2F9EFE", +"J c #309BFE", +"K c #31A6CE", +"L c #31A6D1", +"P c #32A9D3", +"I c #35B2DB", +"U c #37B4DB", +"Y c #36B5DF", +"T c #37B6DE", +"R c #2FA0FF", +"E c #30A2E4", +"W c #31A7EA", +"Q c #33A8E6", +"! c #33ACE1", +"~ c #35A8E4", +"^ c #35ADE1", +"/ c #34AEEB", +"( c #31A3FF", +") c #33ABF4", +"_ c #33ACFF", +"` c #35B1E7", +"' c #35B2E8", +"] c #37B9E1", +"[ c #37BAE3", +"{ c #37B8E6", +"} c #37BBE4", +"| c #37BBEC", +" . c #3AB5E9", +".. c #38BAE3", +"X. c #38BBE4", +"o. c #3ABCE3", +"O. c #38BCE5", +"+. c #39BDE7", +"@. c #3CBBE2", +"#. c #39BEE8", +"$. c #39BEEA", +"%. c #39BFEC", +"&. c #36B4FE", +"*. c #37B8F2", +"=. c #38BEFF", +"-. c #3AC3E4", +";. c #39C0EE", +":. c #3CC6ED", +">. c #3CC8EF", +",. c #3AC2F0", +"<. c #3AC3F3", +"1. c #3BC6F6", +"2. c #3AC4FE", +"3. c #3BC8F6", +"4. c #3DCCFD", +"5. c #3ED0FA", +"6. c #3FD3FE", +"7. c #3FD4FF", +"8. c #7E86B2", +"9. c #5C96E6", +"0. c #56B1D1", +"q. c #44ABE5", +"w. c #679DDA", +"e. c #7688CB", +"r. c #6A81F2", +"t. c #728AFD", +"y. c #68A2DE", +"u. c #69AAEC", +"i. c #4BC0E6", +"p. c #40D3FE", +"a. c #40D4FF", +"s. c #5EC5EA", +"d. c #68C2DF", +"f. c #BE3A51", +"g. c #D8262A", +"h. c #E22626", +"j. c #E03434", +"k. c #E03838", +"l. c #E03E3E", +"z. c #C2374B", +"x. c #CF5353", +"c. c #DF4343", +"v. c #D84F4F", +"b. c #DF4B4B", +"n. c #DE4E4E", +"m. c #DE5050", +"M. c #DE5757", +"N. c #DE5959", +"B. c #DD5C5C", +"V. c #DC5F5F", +"C. c #DD6161", +"Z. c #DD6666", +"A. c #DC6D6D", +"S. c #D47A7A", +"D. c #BC7199", +"F. c #9078D1", +"G. c #889098", +"H. c #8C93B5", +"J. c #9199A2", +"K. c #9BA3AC", +"L. c #98A5B2", +"P. c #9DA7B0", +"I. c #9FA8B2", +"U. c #A190A6", +"Y. c #AAAAAA", +"T. c #A8ABAD", +"R. c gray68", +"E. c #AFAFAF", +"W. c #A3ADB7", +"Q. c #A5AFB9", +"!. c #A6B0BA", +"~. c #A7B1BB", +"^. c #AFB2B5", +"/. c #A8B1BB", +"(. c #A9B2BC", +"). c #AFB7BF", +"_. c #BDA8A8", +"`. c #B1B1B1", +"'. c gray71", +"]. c #B7B7B7", +"[. c gray72", +"{. c gray73", +"}. c #B9BCBF", +"|. c gray74", +" X c #BFBEBE", +".X c #8588DF", +"XX c #8497DE", +"oX c #9797DA", +"OX c #8182EC", +"+X c #8A8CE1", +"@X c #888BED", +"#X c #898BF1", +"$X c #8D91E3", +"%X c #829AFF", +"&X c #9B9CEC", +"*X c #9FA3CA", +"=X c #92A1DE", +"-X c #8AA2FF", +";X c #ACB8D1", +":X c #B2B9C1", +">X c #B9BEC3", +",X c #B9BBCE", +" <.:.#...A 9.b m ^ @.~ z R.{.cXDXDXDXDXDXlXQ.DXDX", +"ZXDXQ.lXZXcXgXh w , #.' 1 M P Y ..[ q Y.'.zXZXDXDXDXDXDXlX(.DXDX", +"AXDX(.hXDXAX# 1. .u.e t 0.K U o.-.* R.{.gXAXDXDXDXDXDXDXhX(.AXDX", +"AXDX).7XDXp F 6.4.<.s.d.P I [ -.- R.'.zXZXDXDXDXDXDXDXDX7X:XDXDX", +"DXDXhX(.AXbX&X9 =.p.1.{ Y [ O.C ;X'.gXZXDXDXDXDXDXDXDXDX(.hXDXDX", +"DXDXDXL.AXZXzXjXOX: <.:.#.[ A =X`.dXmXDXDXDXDXDXDXDXDXDXL.DXDXDX", +"DXDXAX:XL.~.>XdX>X,Xj < #.' r T.^.7XhXzXlXlXlXlXhX5X(.L.).DXDXDX", +"DXDXDXDXDXhX:X(.W.P.K.*Xu t G.J.P.Q.~.Q.Q.Q.~.Q.(.:XhXDXDXDXDXDX", +"DXDXDXDXDXDXDXDXDXAXZXzXdX{.{.zXZXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDX", +"DXDXDXDXDXDXDXDXDXDXAXAXbXcXcXZXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDX" +}; diff --git a/2009-x64/zooScripts/icons/zooAutoSave_0.xpm b/2009-x64/zooScripts/icons/zooAutoSave_0.xpm new file mode 100644 index 0000000..cf013c9 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooAutoSave_0.xpm @@ -0,0 +1,265 @@ +/* XPM */ +static char *zooAutoSave_0[] = { +/* columns rows colors chars-per-pixel */ +"32 32 227 2", +" c #180B03", +". c #22150A", +"X c #27190C", +"o c #2A1405", +"O c #2C190A", +"+ c #2B1C11", +"@ c #351B08", +"# c #3A1B06", +"$ c #312217", +"% c #322318", +"& c #37281D", +"* c #3C2613", +"= c #3D2815", +"- c #3B2A1B", +"; c #411E07", +": c #462007", +"> c #442008", +", c #4C2207", +"< c #482309", +"1 c #402512", +"2 c #422914", +"3 c #422B18", +"4 c #4E2C14", +"5 c #482D18", +"6 c #4D321A", +"7 c #512507", +"8 c #542608", +"9 c #51290B", +"0 c #582708", +"q c #5B2B0B", +"w c #512D13", +"e c #5B2E10", +"r c #5F300E", +"t c #523217", +"y c #513218", +"u c #5C3113", +"i c #5A351A", +"p c #5E3919", +"a c #463321", +"s c #453629", +"d c #493421", +"f c #4C3824", +"g c #4D3A28", +"h c #573B23", +"j c #583720", +"k c #5D3920", +"l c #583F29", +"z c #632F0C", +"x c #63310E", +"c c #6C320B", +"v c #643411", +"b c #663815", +"n c #663A19", +"m c #693410", +"M c #693915", +"N c #6B3D1A", +"B c #73340B", +"V c #79360B", +"C c #7C380C", +"Z c #733B13", +"A c #783D13", +"S c #5F432C", +"D c #524233", +"F c #584533", +"G c #69401E", +"H c #73421B", +"J c #79451C", +"K c #65452C", +"L c #6D4323", +"P c #634C35", +"I c #694F39", +"U c #6C5138", +"Y c #744520", +"T c #774922", +"R c #7A4921", +"E c #794D29", +"W c #7C512B", +"Q c #745135", +"! c #7E5435", +"~ c #7F5838", +"^ c #64594A", +"/ c #6E5546", +"( c #755C4B", +") c #7E5E44", +"_ c #6E624F", +"` c #79624C", +"' c #706454", +"] c #736959", +"[ c #7C6853", +"{ c #823A0C", +"} c #883E0D", +"| c #823F10", +" . c #8C410F", +".. c #834214", +"X. c #80471C", +"o. c #85491C", +"O. c #8B4414", +"+. c #8A4718", +"@. c #8F4816", +"#. c #8B4B1B", +"$. c #914512", +"%. c #934915", +"&. c #924D1B", +"*. c #9B4B14", +"=. c #9B4E19", +"-. c #97521E", +";. c #9A521D", +":. c #844C21", +">. c #8B4E21", +",. c #81542A", +"<. c #8C5123", +"1. c #8C592C", +"2. c #825A3A", +"3. c #8B5D32", +"4. c #935423", +"5. c #91552A", +"6. c #935826", +"7. c #915929", +"8. c #9A5521", +"9. c #9B5925", +"0. c #9B5C2A", +"q. c #955F34", +"w. c #8F6336", +"e. c #936335", +"r. c #996737", +"t. c #9A653E", +"y. c #9B6938", +"u. c #A24C12", +"i. c #AA4E11", +"p. c #A55117", +"a. c #A4531A", +"s. c #A8531A", +"d. c #AD581C", +"f. c #B35718", +"g. c #B35A1B", +"h. c #BB5B19", +"j. c #A25923", +"k. c #A05C28", +"l. c #AB5D22", +"z. c #B45D20", +"x. c #A4612B", +"c. c #AE672E", +"v. c #AF682E", +"b. c #B26024", +"n. c #B26529", +"m. c #B56A2E", +"M. c #BB6222", +"N. c #BB6B2C", +"B. c #B46D33", +"V. c #BB6E31", +"C. c #B4733A", +"Z. c #BF7334", +"A. c #BF783B", +"S. c #876144", +"D. c #806048", +"F. c #8C684E", +"G. c #806B54", +"H. c #826E59", +"J. c #83705C", +"K. c #936B43", +"L. c #916F57", +"P. c #977459", +"I. c #826F62", +"U. c #867364", +"Y. c #86776F", +"T. c #8A7E75", +"R. c #A56F4A", +"E. c #A6714B", +"W. c #A9724A", +"Q. c #A77C59", +"!. c #AC7D5E", +"~. c #C25E1A", +"^. c #C5601A", +"/. c #CA621A", +"(. c #D3641A", +"). c #D9681B", +"_. c #C36521", +"`. c #C36C2A", +"'. c #C96620", +"]. c #CF6820", +"[. c #CB6D28", +"{. c #C77533", +"}. c #C47A3B", +"|. c #C97532", +" X c #D46B21", +".X c #D86D22", +"XX c #D4732B", +"oX c #D17B36", +"OX c #908277", +"+X c #90867F", +"@X c #988272", +"#X c #A58975", +"$X c #AA8C72", +"%X c #B28B6E", +"&X c #CF803D", +"*X c #978E88", +"=X c #9B9283", +"-X c #A19787", +";X c #A19888", +":X c #AF9584", +">X c #A89F97", +",X c #B39B87", +" J T H H H H H r + 5XwXuX", +"tX0X=XO N Y @X>XqXrX$XQ L ,.G G W L > : n ,.,.H b N R H + =X0XyX", +"tX8X_ * Y < T.*XY.( t.> < 3.> , L : , , : e.n , , : , X.5 _ 8XyX", +"tX8XF t T ) >X5X/ ; w.: : e., , H E , , J ,., 7 1.9 7 b p F 7XwX", +"wX4Xf p Y ( *XU.i , e., , e., , T r., 7 r.T 7 7 y.b 7 x N g 5XwX", +"wX4Xa n e U.OX) 9 , r., 7 x 8 7 T y.8 7 J e.7 0 J q 0 H G 6 5XwX", +"wX4X- M Z U.( i 9 7 1.b 7 7 q 8 J 0.x 9 0 J :.q 0 q Z -.H 3 4XqX", +"qX3X= b X.1XQ.q.5.5.4.7.6.6.6.6.6.4.8.8.8.8.9.9.9.9.-.-.A 3 2XqX", +"qX4X* x ..%Xt.<.#.#.#.#.#.#.-.#.&.&.&.-.-.;.;.;.;.;.-.%.C 1 2XwX", +"qX2X* x ..!.5.#.+.+.+.@.%.%.@.&.%.%.%.%.%.*.*.=.*.*.*.*.C 1 2XwX", +"qX>X* c } R.4.+.@.O.O.%.%.%.%.%.%.*.*.*.;.*.*.*.=.u.u.u.C 1 2XwX", +"qX>X* m } R.5.&.%.%.%.&.%.=.=.*.=.=.=.=.a.s.s.s.s.s.p.=...1 2XwX", +"qX3X3 Z &.E.k.8.8.;.;.a.j.j.j.j.l.j.l.d.l.l.l.b.b.b.l.d.O.5 4XwX", +"wX3X5 A 8.R.:.:.0.x.x.0.+.#.9.c.9.-.-.m.-.-.n.N.;.;.b.M.%.6 2XwX", +"wX4Xf J o.Y v z z 6.6.c c c c &.9.B B B.B B v.V V V V =.8.h 4XwX", +"wX5Xl J Z Y m X.#.C.x.+.o.X.B B A.B B j.V @...C +.a.C C 4.S 7XwX", +"tX5XP H 9.Y m c c J 4.c B V B B }.&.V C C B.C { C ..C { <.U 7XyX", +"yX8X[ p +.Z 4.+.B B B B +.{ V V }.Z.C C { oX=.{ @.d. .;.H G.7XyX", +"tX0X-X= &.B c c B 9.&.V V O.C C {.|...{ ;.oX{.@. .{ .g.4 =XqXyX", +"pXwX4X2 ;.l.n.n.m.N.N.N.N.`.`.`.`.[.[.[.[.XXXXXXXXXXXX_.t 5XeXuX", +"pXtX8XJ.w d.g.g.M.M.M.M._._._._././.(.].(. X.X.X.X.X.Xb J.9XtXpX", +"aXuXwX5XI 9 *.f.g.h.h.h.~.^.~.^././././.(.).).).).^.x U 5XeXuXpX", +"aXaXtXqX5XH.* # 0 C .$.*.*.u.u.u.u.i.i.*.*. .c > < J.5XqXuXpXpX", +"fXaXaXtXwX8X4X=X` K i 6 4 4 4 4 4 4 w t i i K ` =X4X7XwXyXpXaXfX", +"fXaXaXaXuXtXqX0X7X5X4X2X2X2X2X2X2X2X2X2X4X5X5X8X0XwXyXuXpXpXfXfX", +"fXfXfXaXaXuXpXtXyXtXwXwXwX0XqXqXqXwXqXwXwXwXwXyXyXuXpXpXdXdXfXfX" +}; diff --git a/2009-x64/zooScripts/icons/zooAutoSave_1.xpm b/2009-x64/zooScripts/icons/zooAutoSave_1.xpm new file mode 100644 index 0000000..f2ffe85 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooAutoSave_1.xpm @@ -0,0 +1,294 @@ +/* XPM */ +static char *zooAutoSave_1[] = { +/* columns rows colors chars-per-pixel */ +"32 32 256 2", +" c #18011B", +". c #230A25", +"X c #29022E", +"o c #2A0E2D", +"O c #2D0731", +"+ c #2C102E", +"@ c #2C1030", +"# c #35023C", +"$ c #351739", +"% c #3E0445", +"& c #3E1540", +"* c #3E1A41", +"= c #5B323F", +"- c #44034D", +"; c #44034B", +": c #480052", +"> c #4C0E55", +", c #4F0C58", +"< c #4F0558", +"1 c #421546", +"2 c #451649", +"3 c #510F4E", +"4 c #520B57", +"5 c #541859", +"6 c #4E1752", +"7 c #5A0664", +"8 c #5C0C65", +"9 c #5E0A68", +"0 c #5A0565", +"q c #5A1762", +"w c #452849", +"e c #492448", +"r c #4D2152", +"t c #4F3354", +"y c #562944", +"u c #553357", +"i c #59295A", +"p c #5E2B62", +"a c #631E5A", +"s c #610C6B", +"d c #660E70", +"f c #6B0179", +"g c #690376", +"h c #641A6A", +"j c #691C6D", +"k c #671470", +"l c #6A1473", +"z c #6E1C75", +"x c #6F1778", +"c c #721B7A", +"v c #7B197C", +"b c #6C2851", +"n c #7C3851", +"m c #752E55", +"M c #62286A", +"N c #6D206C", +"B c #66366B", +"V c #7C2D6F", +"C c #74207B", +"Z c #78297E", +"A c #73247A", +"S c #79326A", +"D c #703174", +"F c #624968", +"G c #6C5371", +"H c #75497D", +"J c #705976", +"K c #78537E", +"L c #750184", +"P c #7B0588", +"I c #7E0090", +"U c #7B1C80", +"Y c #7C2184", +"T c #7C2D82", +"R c #7C3483", +"E c #7E5984", +"W c #7C5681", +"Q c #813C55", +"! c #88386D", +"~ c #8A377A", +"^ c #96367D", +"/ c #8B4655", +"( c #914A5B", +") c #9A5756", +"_ c #8E406F", +"` c #994A75", +"' c #904D73", +"] c #906879", +"[ c #A15D58", +"{ c #A2497A", +"} c #A75679", +"| c #A76359", +" . c #BB7B5B", +".. c #B17154", +"X. c #B36E60", +"o. c #BE7A63", +"O. c #BE7B7A", +"+. c #AC6D77", +"@. c #C67A79", +"#. c #840196", +"$. c #880799", +"%. c #8A198C", +"&. c #8B1296", +"*. c #800A89", +"=. c #9806AC", +"-. c #9D02B2", +";. c #9915A9", +":. c #8D2484", +">. c #842882", +",. c #843A83", +"<. c #8E3C91", +"1. c #962C8A", +"2. c #972996", +"3. c #993585", +"4. c #9F3A92", +"5. c #993198", +"6. c #8C2199", +"7. c #9E22A5", +"8. c #A302B9", +"9. c #A916BC", +"0. c #A5389C", +"q. c #A13D88", +"w. c #AE23BE", +"e. c #A532A5", +"r. c #AE0CC4", +"t. c #AE16C3", +"y. c #B50CCB", +"u. c #BC0BD4", +"i. c #B218C6", +"p. c #B818CD", +"a. c #B619CA", +"s. c #BD16D4", +"d. c #BA28CB", +"f. c #B228C3", +"g. c #BE26D0", +"h. c #845684", +"j. c #935699", +"k. c #8D498D", +"l. c #8F7D92", +"z. c #907293", +"x. c #A74887", +"c. c #A94394", +"v. c #AC4598", +"b. c #A65084", +"n. c #B65B88", +"m. c #B65697", +"M. c #AB5399", +"N. c #B345AE", +"B. c #AB6180", +"V. c #A86492", +"C. c #A17F85", +"Z. c #B8648A", +"A. c #BD6299", +"S. c #B8738E", +"D. c #A775AA", +"F. c #C209DB", +"G. c #C317DA", +"H. c #C908E3", +"J. c #CD08E8", +"K. c #CB12E4", +"L. c #D209ED", +"P. c #D115EA", +"I. c #C820DE", +"U. c #C126D5", +"Y. c #C835DA", +"T. c #CD22E4", +"R. c #D024E6", +"E. c #C65AAD", +"W. c #C26899", +"Q. c #C7768C", +"!. c #C8789B", +"~. c #C26D86", +"^. c #C769A6", +"/. c #CB76A4", +"(. c #D179A5", +"). c #D170AD", +"_. c #D172B3", +"`. c #C740D3", +"'. c #D46DC9", +"]. c #BE937B", +"[. c #C78D5A", +"{. c #C98875", +"}. c #D2907B", +"|. c #D9AA68", +" X c #DDB379", +".X c #DAA772", +"XX c #E0AE7E", +"oX c #E8C675", +"OX c #F4D97D", +"+X c #F7E27D", +"@X c #95849B", +"#X c #9B89A0", +"$X c #9F93A8", +"%X c #AF8F89", +"&X c #AE82B2", +"*X c #A195A9", +"=X c #A49AAC", +"-X c #A89EAF", +";X c #AB9AB0", +":X c #B286B6", +">X c #AAA2B3", +",X c #AEA8B7", +"X*X@XF w $ @ @ @ o o @ @ @ @ @ $ w F @X*X>XXJ O 9 9 9 l k.D.&XD.D.j.k.R R A z l l k d d d s O J ,X5X8X", +"7X1X=Xo 8 l R :XIXIXPX:Xj.R Z Z Z Z 5 - A C C c x x l 9 @ *X1X7X", +"3X,X@Xo l C z.;X2XBXD.D D R j h k.h 3 - h >.T A j z Y x o #X,X7X", +"3X>XG $ z - z.l.%X] z.b n j.; b _ n n : : <.j 3 / / b ~ 1 G >X3X", +"3X>Xu 5 c h.4XdX+./ 9X[ ..V.b n ' {.n m ~ >.a [ S.| ( ` 5 i -X3X", +"1X=Xe q z ] sX%X[.[.zX|.[.qX../ %XvX) / M.A ! ) eX.X| ! S r -X1X", +"1X*Xe h S %XsXaXOX+X+X+XHXoXo.| XHXoX[.B.M.( ..oXHXX.S.` e =X1X", +"1X*X* V ` sX].+X+X+XCXoX+X+XoX| zXHXHX|.@.+.x.o. XHXaX!.} * *X1X", +"1X*X& ! n.UXFXHXJXeXqX!.qXGXHXeXVXHXHXHXeXeX^./.xXHXvXwXb.y *X.} {.rXhXSXZXhXqXQ.^ } NXzXn.N.3.5.m.Q.wXbXn.n.5.p -X1X", +"3X-XB z e.,.} } { Q.!.+.} b.x.3.MXW.~.4.*.f.x.c.n.Q.x.4.2.B >X3X", +"5X>XK 5 %.v %.5.{ { x.3.4.*.L :.'.'.1.:.I Y.7.&.v.N.&.;.z W >X5X", +"6X 9.9.t.t.a.a.p.p.s.s.s.s.G.G.K.K.K.J.P.P.P.P.k h.>X5X8X", +"KX6X1X-XB , =.r.r.y.y.u.s.u.u.F.F.F.H.H.J.J.L.L.L.F.s D -X1X7XKX", +"KX8X6X E -X1X6XKXKX", +"LXKX8X6X1X>X=X@XH M 5 5 > > > , > , , , q q M W @X*X>X1X6X7XKXLX", +"LXLXKX8X7X5XX1X6X6X8XKXLXLX", +"LXLXLXLXKX8X6X5X3X3X1X1X c #343355", +", c #33325A", +"< c #2F2E69", +"1 c #21227B", +"2 c #2F2E7C", +"3 c #353463", +"4 c #3F3D64", +"5 c #343370", +"6 c #34337B", +"7 c #3F3D73", +"8 c #3F3D7F", +"9 c #5E0504", +"0 c #580909", +"q c #460121", +"w c #7F181B", +"e c #5A076B", +"r c #403F7A", +"t c #6A1674", +"y c #42436B", +"u c #484764", +"i c #54536E", +"p c #56567A", +"a c #555874", +"s c #68667C", +"d c #000084", +"f c #02028D", +"g c #000092", +"h c #00009B", +"j c #170096", +"k c #111187", +"l c #191982", +"z c #0000A3", +"x c #0000AA", +"c c #0101B2", +"v c #0101BC", +"b c #0909BD", +"n c #1D1DAE", +"m c #3B168B", +"M c #2F2E8A", +"N c #20219C", +"B c #343383", +"V c #3F3D87", +"C c #323294", +"Z c #33329C", +"A c #3F3E95", +"S c #2A29AC", +"D c #2829B1", +"F c #3132AB", +"G c #3A39A9", +"H c #3332B3", +"J c #0101C2", +"K c #0101C9", +"L c #0909C3", +"P c #0909CC", +"I c #1414CD", +"U c #1B1BC8", +"Y c #1313D0", +"T c #2B2AC9", +"R c #2121D7", +"E c #2C2CD6", +"W c #302FC8", +"Q c #3B22CC", +"! c #3433C3", +"~ c #3E3DC7", +"^ c #3C3BC8", +"/ c #403FB1", +"( c #414080", +") c #484785", +"_ c #48478C", +"` c #4A4884", +"' c #555394", +"] c #55579D", +"[ c #5D5F97", +"{ c #5E5C9D", +"} c #4847B4", +"| c #5857A5", +" . c #5F5EAE", +".. c #5C5AB5", +"X. c #604DA5", +"o. c #606289", +"O. c #67698B", +"+. c #686680", +"@. c #6D6B84", +"#. c #686694", +"$. c #68669C", +"%. c #716F98", +"&. c #7B7683", +"*. c #7B798D", +"=. c #7B7995", +"-. c #7B789D", +";. c #6361A5", +":. c #6866AA", +">. c #6D6CA3", +",. c #6062B2", +"<. c #6866B8", +"1. c #6C6ABE", +"2. c #716FB3", +"3. c #716FBD", +"4. c #7B79B1", +"5. c #7E7EB8", +"6. c #4745C8", +"7. c #4A48C9", +"8. c #4F4DD0", +"9. c #5252CC", +"0. c #5F5ECB", +"q. c #4545F3", +"w. c #6362C9", +"e. c #6A68C9", +"r. c #7674C8", +"t. c #7978C2", +"y. c #7F7DE8", +"u. c #9C030A", +"i. c #8A2C2B", +"p. c #AF0909", +"a. c #A60821", +"s. c #B43635", +"d. c #906765", +"f. c #AD4959", +"g. c #A65D5A", +"h. c #A25061", +"j. c #AA5579", +"k. c #D71109", +"l. c #D51313", +"z. c #D65A53", +"x. c #877E98", +"c. c #807EA8", +"v. c #807EC7", +"b. c #807EC8", +"n. c #82808E", +"m. c #8A8893", +"M. c #8F8D9F", +"N. c #9F8581", +"B. c #908E9C", +"V. c #8583A2", +"C. c #8284AA", +"Z. c #8C8AA7", +"A. c #8A88A8", +"S. c #8185B3", +"D. c #8589B3", +"F. c #8B8FB5", +"G. c #8C90B6", +"H. c #9580A1", +"J. c #908EBF", +"K. c #9896A3", +"L. c #9896AC", +"P. c #9E9CA1", +"I. c #9E9CAF", +"U. c #9093B6", +"Y. c #9396B8", +"T. c #9E9CB1", +"R. c #9D9DBB", +"E. c #9EA0BA", +"W. c #A48891", +"Q. c #AB9894", +"!. c #A19FB6", +"~. c #B2A39E", +"^. c #BBA29D", +"/. c #A4A1A6", +"(. c #A6A3A9", +"). c #A8A6AB", +"_. c #ACAAAD", +"`. c #A6A3B2", +"'. c #A3A2BB", +"]. c #ACA9BC", +"[. c #B0ACAF", +"{. c #BAAFAA", +"}. c #B1AFB1", +"|. c #B1AEBC", +" X c #B6B3B4", +".X c #B5B2BC", +"XX c #B8B6BF", +"oX c #8786C7", +"OX c #918EC9", +"+X c #9290C9", +"@X c #9D9AC8", +"#X c #9694D5", +"$X c #9492E4", +"%X c #A29FC7", +"&X c #B1AEC7", +"*X c #B5B4C0", +"=X c #B9B6C9", +"-X c #BAB8C2", +";X c #BCB9CB", +":X c #D38E89", +">X c #C6A9A4", +",X c #C4B3AE", +".tX0X( f 0.E ..tXtXtXtXtXwXG.tX", +"tXD.qXrXtXtXtXtXn.. < V.|.>.; ; L.tX/.o V.tXt.h tXtXtXtXtXqXD.tX", +"tXD.qXtXtXtXtX8X=.. X o O + * y 0XrX1X$ ` !.A l tXtXtXtXtXqXD.tX", +"tXD.qXtXtXtXtX#.+ + X . X , 4 XXtXtXtX-.o o % K.tXtXtXtXtXqXD.tX", +"tXD.qXtXtXtXqX6 * * = + 3 XtXtXtXtXtX7.} Z. XrXtXtXtXtXtXqXD.tX", +"tXD.qXrXtXtX`.* * * = = V wXtXtXtXtX@XU -XtXtXtXtXtXtXtXtXqXD.tX", +"tXD.qXtXtXtX) * * = = B Z.tXtXtXtXtXT r.tXtXtXtXtXtXtXtXtXqXD.tX", +"tXD.qXtXtX8X6 * = = = $.tXtXtXtXeXb.T 9XtXtXtXtXtXtXtXtXtXeXD.rX", +"tXD.eXtXeX-.* * = = _ tXtXtXtX].5.! OXtXtXtXtXtXtXtXtXtXtXqXD.tX", +"tXD.qXtXtX6 * = = B qXtXtXtXm.g b U @XtXtXtXtXtX>Xs.3XtXtXqXD.tX", +"tXD.XXS...Z = = B .XtXtXtX[.* | =X9.S 8XtXtXtXtXQ.9 ,XtXtXqXD.tX", +"eX[ Z x v J c ; T.tXtXtXtX/.o Z.rX .f .XrXrXtXtX~.0 O ' tXeX0Xx z z T oXwXtXtXtXtXrXtXtXtXrX@X9.F - t Q j W.qXD.tX", +"u . r qXtX].g f J K K 6.=XrXrXtXtXtXtXtXtXtXrXO.# a.e m 8XqXF.rX", +"P. . 5 ` B = * x J K K W t.rXrXtXtXtXtXtXtXrX}.. @ @ u.z.4XF.tX", +"qXy , . X X X . . + g v K K ~ &XrX].2.} 3.-XtXrX_.a &.N.i.p.f.2X", +"tXD.).u > i /.. . . . X ; J K J k g x v K ! Y.rXtXtXrXeX3Xd.w ^.", +"tXD.qXtXtXtX8X*.4 , . . . X ; h = g H 8.b.Y H -XtXtXtXtXtXeXD.tX", +"tXD.qXtXtXtXtXtXtX7X_.+.4 . . . = C |.tX;Xb x 4.tXtXtXtXtXeXD.tX", +"tXF.wXtXtXtXtXtXtXtXtXtXqX XK.u O B rXtXrXc h { tXtXtXtXrX0XF.tX", +"tXE.*XtXtXtXtXtXtXtXtXtXtXtXtXs . 5 T.eX'.f ; %.tXtXtXtXrXXX!.tX", +"rX8XU.tXtXtXtXtXtXtXtXtXtXtXtX}., X o + * + 5 }.tXtXtXtXrXY.8XrX", +"rXtX.XU.XXwXtXtXtXtXtXtXtXtXtXtXm., . . , P.tXtXtX0X-XF.XXtXtX", +"rXtXtX8XR.G.S.S.S.S.S.S.S.S.S.S.S.C.o.y p C.S.S.S.S.F.R.0XtXtXtX", +"tXtXtXtXtXtXtXtXtXtXtXtXtXtXtXrXrXtXtXrXtXtXtXtXtXtXtXtXrXtXtXtX" +}; diff --git a/2009-x64/zooScripts/icons/zooBoltOnIK.xpm b/2009-x64/zooScripts/icons/zooBoltOnIK.xpm new file mode 100644 index 0000000..83b0fbe --- /dev/null +++ b/2009-x64/zooScripts/icons/zooBoltOnIK.xpm @@ -0,0 +1,257 @@ +/* XPM */ +static char *zooBoltOnIK[] = { +/* columns rows colors chars-per-pixel */ +"32 32 219 2", +" c #01023C", +". c #040445", +"X c #000049", +"o c #0A0946", +"O c #000054", +"+ c #00005B", +"@ c #0B015B", +"# c #150050", +"$ c #1C1B47", +"% c #010062", +"& c #000075", +"* c #00007B", +"= c #1B0069", +"- c #1B007B", +"; c #151573", +": c #221C43", +"> c #310043", +", c #2D2C51", +"< c #2F2E69", +"1 c #2C2C7B", +"2 c #343460", +"3 c #3C3B64", +"4 c #3A3B68", +"5 c #3F3D73", +"6 c #3D3C7F", +"7 c #440000", +"8 c #4A0000", +"9 c #560000", +"0 c #6E0202", +"q c #690908", +"w c #700000", +"e c #700208", +"r c #790000", +"t c #7D1F1F", +"y c #6A0335", +"u c #61232B", +"i c #7D2222", +"p c #4B0072", +"a c #403F65", +"s c #70004B", +"d c #4B4967", +"f c #54536F", +"g c #6C484B", +"h c #000085", +"j c #000092", +"k c #000099", +"l c #0000A3", +"z c #0000A9", +"x c #0404B1", +"c c #0202BD", +"v c #0D0DB7", +"b c #0B0BBD", +"n c #1A00A3", +"m c #1B1BB7", +"M c #1E279D", +"N c #2D1A86", +"B c #3F0684", +"V c #2F2E8A", +"C c #2425AF", +"Z c #2E2DAD", +"A c #2323BD", +"S c #3433A2", +"D c #3A39A9", +"F c #3433B4", +"G c #3F3DB7", +"H c #0101C9", +"J c #0909C9", +"K c #0C0FD7", +"L c #1212C5", +"P c #1313CB", +"I c #1D1CC8", +"U c #1515D0", +"Y c #2221C9", +"T c #2B2AC9", +"R c #3B35E2", +"E c #44168D", +"W c #4749AF", +"Q c #4F51A3", +"! c #5A5EA7", +"~ c #5F63B4", +"^ c #65678E", +"/ c #6B6985", +"( c #63639B", +") c #676991", +"_ c #68669F", +"` c #6E719B", +"' c #736682", +"] c #6866AA", +"[ c #6C6BA3", +"{ c #6064BD", +"} c #6669B9", +"| c #6C63B3", +" . c #6866B8", +".. c #6F73A6", +"X. c #7A78A5", +"o. c #7072B8", +"O. c #4644C9", +"+. c #5755C9", +"@. c #6D6BC8", +"#. c #7275C0", +"$. c #7D80AC", +"%. c #7E81B2", +"&. c #831D19", +"*. c #920000", +"=. c #980000", +"-. c #810023", +";. c #812323", +":. c #A60000", +">. c #B50004", +",. c #B80000", +"<. c #B30420", +"1. c #A72B27", +"2. c #A42E31", +"3. c #B93032", +"4. c #A33552", +"5. c #825A58", +"6. c #995552", +"7. c #A85A68", +"8. c #C30000", +"9. c #CD0303", +"0. c #D50000", +"q. c #CF2F34", +"w. c #CF343A", +"e. c #DA2E2B", +"r. c #E00F07", +"t. c #E30A0A", +"y. c #E90302", +"u. c #D34544", +"i. c #C66768", +"p. c #9647AE", +"a. c #8A798B", +"s. c #A77F84", +"d. c #8E8C98", +"f. c #9F8987", +"g. c #938C96", +"h. c #938C9D", +"j. c #94919B", +"k. c #98959C", +"l. c #8785A3", +"z. c #8689AE", +"x. c #8185B3", +"c. c #8589B3", +"v. c #8A8EB4", +"b. c #8A88BD", +"n. c #8C90B5", +"m. c #9491A3", +"M. c #9491AA", +"N. c #9996A3", +"B. c #9896AA", +"V. c #9C9AA5", +"C. c #9C99A9", +"Z. c #9293B5", +"A. c #9392BA", +"S. c #9699B8", +"D. c #9895B5", +"F. c #9E9BB6", +"G. c #9B9CB9", +"H. c #9EA0BA", +"J. c #A08482", +"K. c #AA8783", +"L. c #A5928F", +"P. c #AF938E", +"I. c #AF9F9B", +"U. c #A384A3", +"Y. c #A19FA6", +"T. c #A09DBE", +"R. c #B1A19C", +"E. c #A4A1A3", +"W. c #A4A1A9", +"Q. c #A6A3B2", +"!. c #A4A4BB", +"~. c #A8A5B2", +"^. c #A9A6BA", +"/. c #ACA9B3", +"(. c #ACAABB", +"). c #B4ADAD", +"_. c #B2ADB2", +"`. c #B1AEB8", +"'. c #BDB1AE", +"]. c #B6B3B3", +"[. c #B3B2BD", +"{. c #BAB7B6", +"}. c #BAB6BC", +"|. c #BCB8BD", +" X c #8582C8", +".X c #8A88C0", +"XX c #9491C3", +"oX c #9492C8", +"OX c #9895C1", +"+X c #9D9BC2", +"@X c #9D9AC9", +"#X c #9391E4", +"$X c #A09EC3", +"%X c #A9A6C3", +"&X c #ADABC7", +"*X c #AFACD2", +"=X c #B1AEC8", +"-X c #B5B4C0", +";X c #B8B5C5", +":X c #BBB9C1", +">X c #BEBCC8", +",X c #CC9C98", +"X0X.XG.Z.[.yXyX", +"yX9XZ.tXyXyXyXyXyXf + V wXyX9Xx l Q Z.Z.%.c.x.n.S.0XA.!.rXS.9XyX", +"yXH.-XyXyXyXyXyXyXd X 1 yXyXwXk j ( 9XyXyXqXN.W.}.(.M.|.yX[.H.yX", +"yXn.eXyXyXyXyXyXyXj. < X.^.[ h * B.yXyXyX`.N.j.j.N._.tXyXeXn.yX", +"yXc.wXyXyXyXyXyXyX3X3 . X O + + 5 wXyXyXqXM.M.M.N.7XwXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXyXyX;Xh . o 2 3 |.yXyXyX].M.M.M.Q.tXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXyXyXJ H /.V.7XyXyXyXtXtX~.M.M.M.9XtXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXyX XH XyXyXyXyXyXyXtX}.B.M.M.9XtXyXyXyXyXrXc.yX", +"yXc.wXyXyXyXyXyXyXH J yXyXyXyXyXyXtXqX(.M.M.}.yXyXyXyXyXyXtXc.yX", +"yXc.wXyXyXyXyXyXO.H >XyXyXyXyXyXqX(.OXXXA.`.tXyXyXyXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXyXH Y yXyXyXyXyXyX/.D.%X*XoX6XtXtXyXyXyXyXyXwXc.yX", +"yXc.wXyXyXyXyXY H yXyXyXyXyXyXyXh.`.^.eX+XT.;XeXyXyXyXyXyXwXc.yX", +"yXc.wXyXyXn.>XH +.yXyXyXyXyXeX[.x.c.!.5XG.A.oX@X6XwXyXyXyXwXc.yX", +"yXc.eXX.S z v A wXyXyXyX:XG.c.H.~.k.C.B.N.M.A.oXoX=XeXyXwX6X%.tX", +"tXv.6 h l b U c } 9XH.c.S.-XwXyXrX].K.8.3.k.g.m.Z.oX@X:X`.XX .;X", +"yX) + h D oX#XP C %.&XeXyXyXyXyXtXtXf.9 t ).).E.j.m.Z.M.D.&X#.oX", +"yX4 + V wXyX0Xx l ] yXyXyXyXyXyXyXyXL.7 i rXrXwX3X].W.N.^.G.x.$X", +"yX2 X 1 yXyXwXk j _ yXyXyXyXyXyXyXyXI.7 ;.rXyXyXtXtX2Xh.c.`.x.D.", +"yX^ . < l.[.[ * * Z 6XyXtXtXyXyXyXyXR.8 ;.rXyXyXyX,Xq.w.g.Y.( m.", +"yX$.3 . X O + + ; L H J XtXyXyXyXyXR.8 &.wXyX8Xi.t.0.2.).Y.` 3X", +"yXc.9X/ o o 2 a 3XyX@.H H J O.yXyXrXa.8 e | U.e.y.,.6.8XtXeXv.tX", +"yXc.rXtX/.V.8XyXyXyXyXyX&XP J J I ( & > E K n <.1.P.rXyXyXeXv.tX", +"yXc.wXyXyXyXyXyXyXyXyXyXyXyXyXT m % j p p.R c N 1XyXyXyXyXrXv.tX", +"yXc.wXyXyXyXyXyXyXyXyXyXyXyXyXyXd.+ = >.0.B z M 0XyXyXyXyXrXv.tX", +"yXn.eXyXyXyXyXyXyXyXyXyXyXyXyXyXE. @ y -.- s 4.rXtXyXyXtX0Xv.rX", +"yXH.[.yXyXyXyXyXyXyXyXyXyXyXyXyXqX$ @ % # *.9.e. c #311C19", +", c #251B24", +"< c #201B2A", +"1 c #291720", +"2 c #2F1C20", +"3 c #2F201A", +"4 c #37251D", +"5 c #3C241D", +"6 c #24222B", +"7 c #2E2029", +"8 c #272030", +"9 c #292434", +"0 c #2D293A", +"q c #372320", +"w c #312229", +"e c #3A2622", +"r c #3D2B2F", +"t c #332B3D", +"y c #36313E", +"u c #3B333A", +"i c #38393C", +"p c #353141", +"a c #393542", +"s c #3C3B44", +"d c #3D3D49", +"f c #3F4043", +"g c #422D27", +"h c #432E29", +"j c #44302C", +"k c #49342E", +"l c #453331", +"z c #4C3634", +"x c #4D3A34", +"c c #4D3C3A", +"v c #513D34", +"b c #523E3B", +"n c #443A42", +"m c #423D49", +"M c #4C3C40", +"N c #4F403C", +"B c #54413C", +"V c #59423D", +"C c #424244", +"Z c #434349", +"A c #474849", +"S c #4B4243", +"D c #4B444B", +"F c #49494E", +"G c #474651", +"H c #494452", +"J c #494558", +"K c #4B4B51", +"L c #4E4D59", +"P c #4F5055", +"I c #554542", +"U c #51494C", +"Y c #584442", +"T c #5C4944", +"R c #5B4B49", +"E c #534A52", +"W c #514C5D", +"Q c #5D514B", +"! c #515156", +"~ c #53525A", +"^ c #5D575F", +"/ c #58595D", +"( c #565660", +") c #595661", +"_ c #5C5C61", +"` c #5F6067", +"' c #604E46", +"] c #624E4A", +"[ c #63534E", +"{ c #655454", +"} c #665458", +"| c #665954", +" . c #625A5A", +".. c #695551", +"X. c #6B5A56", +"o. c #6B5A5B", +"O. c #705D5A", +"+. c #615C62", +"@. c #625F69", +"#. c #6A5C63", +"$. c #715F60", +"%. c #68605A", +"&. c #716154", +"*. c #73615D", +"=. c #636466", +"-. c #646469", +";. c #67686F", +":. c #6C6366", +">. c #6C666B", +",. c #6B6C6C", +"<. c #666172", +"1. c #6E6374", +"2. c #6C6C72", +"3. c #6F7074", +"4. c #756462", +"5. c #70616C", +"6. c #7B6964", +"7. c #7D6C69", +"8. c #726471", +"9. c #746D75", +"0. c #746D7C", +"q. c #796C74", +"w. c #786D7A", +"e. c #7E706D", +"r. c #727274", +"t. c #73747B", +"y. c #77787B", +"u. c #7B7273", +"i. c #7B737D", +"p. c #78797C", +"a. c #7C7C81", +"s. c #7E7B88", +"d. c #7F8089", +"f. c #806D69", +"g. c #82726C", +"h. c #857472", +"j. c #867976", +"k. c #857B79", +"l. c #8B7C75", +"z. c #8C7D7A", +"x. c #827C84", +"c. c #817E8E", +"v. c #8C827E", +"b. c #92817E", +"n. c #848486", +"m. c #82828B", +"M. c #8D8381", +"N. c #8B868D", +"B. c #88898A", +"V. c #848390", +"C. c #878891", +"Z. c #8C8090", +"A. c #8C8D90", +"S. c #8C8D98", +"D. c #8F9097", +"F. c #938583", +"G. c #958688", +"H. c #958A8A", +"J. c #988785", +"K. c #9B8B87", +"L. c #9B8E8B", +"P. c #958D93", +"I. c #998F92", +"U. c #94928E", +"Y. c #9C918F", +"T. c #929194", +"R. c #969698", +"E. c #9A9396", +"W. c #9E949A", +"Q. c #9B9C9C", +"!. c #9595A3", +"~. c #9897A3", +"^. c #9E9CA2", +"/. c #9FA0A1", +"(. c #A1918F", +"). c #A29593", +"_. c #A49896", +"`. c #A79C99", +"'. c #A89A95", +"]. c #AA9C9A", +"[. c #A19DA2", +"{. c #ABA19D", +"}. c #A5A4A8", +"|. c #ACA1A1", +" X c #ABA6AB", +".X c #ADAAAE", +"XX c #A6A4BF", +"oX c #ACACB1", +"OX c #B1A6A3", +"+X c #B4A8A4", +"@X c #B4ADAA", +"#X c #B9ADAB", +"$X c #B3ABB3", +"%X c #BCB1AD", +"&X c #BCB4B2", +"*X c #BCB9BA", +"=X c #BBB2C1", +"-X c #BFBBC6", +";X c #C0B1AF", +":X c #C0B5B2", +">X c #C1BAB4", +",X c #C3BAB8", +".) F.K.v.(.'.).v.' p d H.Y.Y.L.H.J.v.h.f.] #.w.c B qX", +"qXH 7 ; b z.j.E.F.j.l.f.6.*.5 < s u.M.F.F.F.v.h.f.O.b #.q.b T qX", +"8Xt.=.H n T ] h.h.h.g.*.x : @ 9 i K h.k.k.l.h.6.O.] b >.q.V T qX", +"qXp.;._ K p M f.h.h.g.f.X.k > 0 i a o.7.u.e.6.o...b z 8.:.k c qX", +"qXa.2._ ( G s .h.g.g.f.g.] o 9 i f i R %.o...T v h z 8.Y v x 0X", +"qXm.a.;.` ~ K s X.f.f.g.6.b X O i f S 3 4 l k g q : z } v M k 8X", +"qXD.d.a.2.=.( K s } 7.7.*.k o 9 D B : + + * 3 e l M b V z } 8X", +"qX}.C.m.a.t.;.` L p ] 6.X.g - . S 5 , a f u N Y Y Y ' V z L.qX", +"qX2XD.S.C.d.a.2._ ~ a I z 5 ; & . & ; d A s S R I Y Y V b V ,XqX", +"qXqX*X!.!.S.C.s.3.=.~ d w - = = o . 0 K F Z F X.[ ] T T T ].qXqX", +"qXqXqX5XoX^.!.C.m.t.-.~ d , $ $ & o 0 K K F U o.X.X.*.v.>XqXqXqX", +"qXqXqXqXqXqXqXqXqXqXqXqXqXqXqXqX8XqXqX8XqXqXqXqXqX8XqXqXqXqXqXqX" +}; diff --git a/2009-x64/zooScripts/icons/zooGraphFilter.xpm b/2009-x64/zooScripts/icons/zooGraphFilter.xpm new file mode 100644 index 0000000..0fc85ba --- /dev/null +++ b/2009-x64/zooScripts/icons/zooGraphFilter.xpm @@ -0,0 +1,283 @@ +/* XPM */ +static char * zooGraphFilter_xpm[] = { +"32 32 248 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #B5B4C0", +"% c #9094B7", +"& c #B4B3C0", +"* c #C5C3C4", +"= c #C3C1C4", +"- c #9295B7", +"; c #D1CDC7", +"> c #E7E66A", +", c #F4F627", +"' c #E3E36D", +") c #9EA0BA", +"! c #B7B6C1", +"~ c #D3CFC7", +"{ c #F8FB10", +"] c #FCFF00", +"^ c #8B8FB5", +"/ c #CAC7C6", +"( c #D2CEC6", +"_ c #D0BDB6", +": c #F9B60C", +"< c #ECEC40", +"[ c #C8C6C4", +"} c #868AB4", +"| c #CFCCC7", +"1 c #D3CFC8", +"2 c #CEC0B8", +"3 c #F42120", +"4 c #E45B3C", +"5 c #C6C48D", +"6 c #D0CCA9", +"7 c #CDCAC5", +"8 c #D2CEC9", +"9 c #D0CCC9", +"0 c #9996D7", +"a c #8A87DB", +"b c #8683DC", +"c c #9996D6", +"d c #CDC7C0", +"e c #F12927", +"f c #DD4E4B", +"g c #B4B1AA", +"h c #C3BFB8", +"i c #CFCBC3", +"j c #9C99D6", +"k c #8784DC", +"l c #B0ADD1", +"m c #A5A2D4", +"n c #AAA6D3", +"o c #B1AECB", +"p c #B93B67", +"q c #EC2928", +"r c #B4B0A9", +"s c #CECAC3", +"t c #8087D4", +"u c #93CE9B", +"v c #89E181", +"w c #8AE082", +"x c #8DE085", +"y c #C5D3BA", +"z c #CEABA4", +"A c #FA090A", +"B c #7E64A8", +"C c #BFBBB7", +"D c #A0DB97", +"E c #8ACF94", +"F c #7F8DCE", +"G c #C7D3BB", +"H c #86E17E", +"I c #B7D6AD", +"J c #B6B3D0", +"K c #A4A1D5", +"L c #CDC9C1", +"M c #E93E3B", +"N c #D75B58", +"O c #A5A2B8", +"P c #8482D3", +"Q c #D2CEC7", +"R c #93DE8B", +"S c #AFD8A5", +"T c #9390D9", +"U c #C6C2CC", +"V c #D3D0C7", +"W c #87E17F", +"X c #C1D4B6", +"Y c #9592D8", +"Z c #C8C4CB", +"` c #D1CDC5", +" . c #D09C96", +".. c #F81110", +"+. c #B9ADA6", +"@. c #C7C3BB", +"#. c #BCB9CC", +"$. c #8380DD", +"%. c #C7C3CB", +"&. c #AAD9A1", +"*. c #A1DB98", +"=. c #C3C0CC", +"-. c #9794D8", +";. c #D0D1C4", +">. c #83E27B", +",. c #D2D0C6", +"'. c #8886DC", +"). c #CCC8C0", +"!. c #EE2D2B", +"~. c #CF6D69", +"{. c #C0BCB5", +"]. c #C5C1CC", +"^. c #83E27C", +"/. c #8885DC", +"(. c #D1CDC9", +"_. c #AED8A4", +":. c #A5DB9B", +"<. c #CFCBC9", +"[. c #8D8BDA", +"}. c #D0CCC4", +"|. c #D6857F", +"1. c #F21E1D", +"2. c #B8B3AC", +"3. c #C9C5BE", +"4. c #B6D7AC", +"5. c #B4D7A9", +"6. c #A9A6D3", +"7. c #84E27D", +"8. c #B6B7CB", +"9. c #A3A0D5", +"0. c #CBC1BA", +"a. c #F51A19", +"b. c #C68781", +"c. c #C2BEB7", +"d. c #D4D1C6", +"e. c #D3D0B1", +"f. c #A19FB3", +"g. c #D8D5B4", +"h. c #B5D7AB", +"i. c #7BA9AF", +"j. c #B8B5CE", +"k. c #DF615D", +"l. c #E73735", +"m. c #BAB7B0", +"n. c #CBC7BF", +"o. c #D6D2AB", +"p. c #F3E729", +"q. c #F6F40B", +"r. c #E6DD54", +"s. c #5897A8", +"t. c #CACAC3", +"u. c #D29D96", +"v. c #F90F0E", +"w. c #BBA59E", +"x. c #C5C1BA", +"y. c #A8DA9E", +"z. c #DF7571", +"A. c #FB3A0A", +"B. c #FBEF02", +"C. c #FCFD00", +"D. c #FCBC02", +"E. c #EF3634", +"F. c #DC8782", +"G. c #D0CBC3", +"H. c #D8D5A9", +"I. c #A7B676", +"J. c #CCCB48", +"K. c #F9320C", +"L. c #C6837F", +"M. c #BEBBB4", +"N. c #CDC9C2", +"O. c #C8D3BC", +"P. c #CEC9C2", +"Q. c #E94542", +"R. c #F2201F", +"S. c #C49B7C", +"T. c #DADA4D", +"U. c #E7E92D", +"V. c #A6A574", +"W. c #CD7570", +"X. c #FB0D0D", +"Y. c #EE8725", +"Z. c #F9E906", +"`. c #FBE601", +" + c #DCAE44", +".+ c #CAC6BF", +"++ c #85E27D", +"@+ c #CAD2BF", +"#+ c #E55451", +"$+ c #F02322", +"%+ c #B5A7A1", +"&+ c #B9B6AF", +"*+ c #8A88C1", +"=+ c #A4A1B4", +"-+ c #BB9791", +";+ c #CC9848", +">+ c #F6EF0C", +",+ c #F3F60F", +"'+ c #B3DA4B", +")+ c #C8C4BC", +"!+ c #D4908B", +"~+ c #F61716", +"{+ c #B5AAA4", +"]+ c #C6C2C5", +"^+ c #827FD3", +"/+ c #C4C1B9", +"(+ c #B9B5B5", +"_+ c #8886A7", +":+ c #D5D46B", +"<+ c #D8D76E", +"[+ c #A0D974", +"}+ c #B2D4A8", +"|+ c #91DF89", +"1+ c #B0D8A6", +"2+ c #CFCDBA", +"3+ c #D5C195", +"4+ c #F9370F", +"5+ c #C6917D", +"6+ c #A19ED4", +"7+ c #9D9AD3", +"8+ c #8A88D5", +"9+ c #B7B3C7", +"0+ c #D1CEC5", +"a+ c #94DE8C", +"b+ c #98DD90", +"c+ c #BCD5B1", +"d+ c #D8D785", +"e+ c #F8E10D", +"f+ c #F7E10C", +"g+ c #D1D075", +"h+ c #B1AED1", +"i+ c #BCB8CE", +"j+ c #C6D3BB", +"k+ c #DADB6B", +"l+ c #FBF702", +"m+ c #FAFB06", +"n+ c #DFDE65", +"o+ c #D1CE94", +"p+ c #E6E641", +"q+ c #E7E842", +"r+ c #D9D695", +"s+ c #CBC8C3", +"t+ c #9396B8", +"u+ c #C2C0C4", +"v+ c #B9B8C1", +"w+ c #C9C6C5", +"x+ c #9C9EBA", +"y+ c #8C90B6", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # @ + . ", +" $ % & * * & % $ ", +" = - ; > , ' - = ", +" ) ! ~ { ] { ! ) ", +" ^ / ( _ : ] < [ ^ ", +" } | 1 ( 2 3 4 5 6 7 } ", +" } | 8 9 1 0 a b c d e f g h i | } ", +" } | j k l m n o p q r h s ~ | } ", +" } | t u v w x y 1 b ( z A B C s ~ | } ", +" } | D E F G H I J K ~ L M N O P Q | } ", +" } | R S T U V W X Y Z ` ...+.@.#.$.%. | } ", +" } | &.*. =.-. ;.>.,. '. ~ ).!.~.{.i ~ U ]. | } ", +" } | ;.^. /.(. _.:.<.[. }.|.1.2.3.( | } ", +" } | 4.5. 6.l 7.8.9.( 0.a.b.c.}. | } ", +" } | d.e.f.g. h.i.j.i k.l.m.n.( | } ", +" } | ( o.p.q.r.( ~ s.t.u.v.w.x.` y.;. | } ", +" } | ~ }.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.~ O.x | } ", +" } | ~ P.Q.R.S.T.U.V.W.!.X.Y.Z.`. +m..+( V ++@+ | } ", +" } | ~ i #+$+%+&+{.c.*+=+r -+;+>+,+'+)+` v I | } ", +" } | ` !+~+{+M..+}.` ]+^+/+(+_+:+<+[+}+ ,.|+1+ | } ", +" } 2+3+4+5+M.).( 6+7+8+9+L }.0+a+a+b+++c+ | } ", +" } d+e+f+g+.+( h+i+~ ~ O.j+ | } ", +" } k+l+m+n+` | } ", +" } o+p+q+r+~ | } ", +" } s+).i ( | } ", +" ^ / ~ ~ / ^ ", +" ) ! ! ) ", +" = - ; ; t+u+ ", +" $ % v+w+ w+v+% $ ", +" . x+y+# # # # # # # # # # # # # # # # # # # # y+x+. ", +" "}; diff --git a/2009-x64/zooScripts/icons/zooGreaseMonkey.xpm b/2009-x64/zooScripts/icons/zooGreaseMonkey.xpm new file mode 100644 index 0000000..14ec0ce --- /dev/null +++ b/2009-x64/zooScripts/icons/zooGreaseMonkey.xpm @@ -0,0 +1,729 @@ +/* XPM */ +static char * zooGreaseMonkey_xpm[] = { +"32 32 691 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #8F93B6", +"% c #A1A2BB", +"& c #C3C1C4", +"* c #8489B4", +"= c #8E91B6", +"- c #B4B3C0", +"; c #C5C3C4", +"> c #D3CFC7", +", c #D2CEC6", +"' c #CFCBC3", +") c #CAC6BF", +"! c #C3C0BB", +"~ c #BDBBB8", +"{ c #BABAB9", +"] c #BCBBBB", +"^ c #BBBABA", +"/ c #B7B6B3", +"( c #B7B5B1", +"_ c #B8B5B0", +": c #B8B5AF", +"< c #B9B8B5", +"[ c #BABABA", +"} c #C2C1BE", +"| c #CEC7B8", +"1 c #CAC7BD", +"2 c #B8B6B1", +"3 c #C0BCB5", +"4 c #BBB9BA", +"5 c #B0B0BD", +"6 c #8D91B6", +"7 c #9EA0BA", +"8 c #9295B7", +"9 c #D1CDC7", +"0 c #C8C5BE", +"a c #BCBBB9", +"b c #BFBAB8", +"c c #A8948B", +"d c #9A7261", +"e c #996F55", +"f c #BF9F73", +"g c #C3AA86", +"h c #A6907F", +"i c #B5AAA6", +"j c #BFBEB8", +"k c #D6CDB0", +"l c #E1D0A8", +"m c #E0C995", +"n c #E8CA91", +"o c #EEDAA1", +"p c #D0CBBA", +"q c #B3AFA9", +"r c #BFBCB4", +"s c #CDCAC3", +"t c #9195B7", +"u c #8B8FB5", +"v c #B7B6C1", +"w c #D0CCC4", +"x c #BDBBB9", +"y c #B9ACA2", +"z c #905D40", +"A c #894F29", +"B c #BB8E54", +"C c #E1BB6D", +"D c #EAC56F", +"E c #E8C475", +"F c #B68444", +"G c #965B37", +"H c #CE9F5A", +"I c #E2B967", +"J c #E8C271", +"K c #EBCA80", +"L c #EFD491", +"M c #EBD489", +"N c #EDDA9E", +"O c #A8A59F", +"P c #B8B4AD", +"Q c #C6C2BB", +"R c #CECAC3", +"S c #B5B5BF", +"T c #868AB4", +"U c #CAC7C6", +"V c #D1CDC5", +"W c #CDC9C1", +"X c #C0BEB9", +"Y c #C5BEAF", +"Z c #C7A764", +"` c #D5AB56", +" . c #E1BB62", +".. c #ECCD7D", +"+. c #DEB868", +"@. c #B28032", +"#. c #DAA12F", +"$. c #CB902A", +"%. c #8A4A1E", +"&. c #A3621A", +"*. c #DEB45E", +"=. c #CA9331", +"-. c #DFB14F", +";. c #E5BD64", +">. c #E8C36D", +",. c #E0B863", +"'. c #A4A19A", +"). c #B2AFA8", +"!. c #C3BFB8", +"~. c #C8C6C4", +"{. c #CFCCC7", +"]. c #C7C3BC", +"^. c #BCB9B4", +"/. c #D6B471", +"(. c #E6BF62", +"_. c #CDA447", +":. c #E3B13D", +"<. c #D99E2F", +"[. c #CC9217", +"}. c #B57611", +"|. c #C37C09", +"1. c #CC8508", +"2. c #B87F1A", +"3. c #AA6D16", +"4. c #E8C97D", +"5. c #925E22", +"6. c #B87E23", +"7. c #DAA638", +"8. c #D7A835", +"9. c #D5B075", +"0. c #9D9A95", +"a. c #B0ADA6", +"b. c #C1BDB6", +"c. c #CCC8C0", +"d. c #CDCAC5", +"e. c #CFCBC4", +"f. c #C9C6BE", +"g. c #C0BDB6", +"h. c #AC9382", +"i. c #D3A23C", +"j. c #D39B2B", +"k. c #916111", +"l. c #BF7C08", +"m. c #C47807", +"n. c #C47E08", +"o. c #C37B06", +"p. c #C87E04", +"q. c #CD8305", +"r. c #D89E2E", +"s. c #CC952F", +"t. c #D6B378", +"u. c #4B1F0F", +"v. c #5D1F0C", +"w. c #854016", +"x. c #C3934A", +"y. c #A39E94", +"z. c #9E9B95", +"A. c #CBC8C0", +"B. c #B9B6B1", +"C. c #A77E5E", +"D. c #B17324", +"E. c #C38007", +"F. c #B76F07", +"G. c #C0790B", +"H. c #C07F09", +"I. c #C3810F", +"J. c #BD7E16", +"K. c #D38D0A", +"L. c #D99F20", +"M. c #C9A058", +"N. c #9C6F44", +"O. c #421F11", +"P. c #4A1610", +"Q. c #62210E", +"R. c #834529", +"S. c #9E8B81", +"T. c #92908B", +"U. c #A5A29B", +"V. c #B7B3AD", +"W. c #C5C1BA", +"X. c #CAC7C2", +"Y. c #C1BFB8", +"Z. c #BBB8B3", +"`. c #B8B7B5", +" + c #D7B26E", +".+ c #935317", +"++ c #C58315", +"@+ c #BF7605", +"#+ c #BD790E", +"$+ c #BF7E0E", +"%+ c #D29310", +"&+ c #DAA21E", +"*+ c #D5A337", +"=+ c #C19943", +"-+ c #D3B37A", +";+ c #472312", +">+ c #3D130B", +",+ c #561D10", +"'+ c #71331E", +")+ c #8F6048", +"!+ c #8E8C87", +"~+ c #9A9791", +"{+ c #ADAAA3", +"]+ c #BEBAB3", +"^+ c #C9C5BE", +"/+ c #C2C0BC", +"(+ c #CDC6B0", +"_+ c #D6B165", +":+ c #C2A271", +"<+ c #D6B582", +"[+ c #A86D1D", +"}+ c #BF8532", +"|+ c #D29331", +"1+ c #D0932D", +"2+ c #D3992B", +"3+ c #DAA232", +"4+ c #BB8C38", +"5+ c #C8A258", +"6+ c #E7C67B", +"7+ c #AB8554", +"8+ c #43160B", +"9+ c #4B1307", +"0+ c #5A1B0F", +"a+ c #6C2D1B", +"b+ c #9A7668", +"c+ c #8F8C87", +"d+ c #A19E98", +"e+ c #B4B1AA", +"f+ c #C3C0B8", +"g+ c #CECBC6", +"h+ c #8D91B4", +"i+ c #C0BFB9", +"j+ c #DDCEA3", +"k+ c #E8BF5E", +"l+ c #D7A441", +"m+ c #C0892C", +"n+ c #B18A48", +"o+ c #D6B15F", +"p+ c #C7963F", +"q+ c #C3974D", +"r+ c #C39750", +"s+ c #BF9350", +"t+ c #C69843", +"u+ c #E4B864", +"v+ c #E2C076", +"w+ c #A07E4D", +"x+ c #4E2010", +"y+ c #410F08", +"z+ c #58170A", +"A+ c #641F12", +"B+ c #763624", +"C+ c #927871", +"D+ c #93908B", +"E+ c #A7A49E", +"F+ c #BAB7B0", +"G+ c #C8C4BC", +"H+ c #C6C3BD", +"I+ c #E2C673", +"J+ c #E5B749", +"K+ c #E2AD41", +"L+ c #DCAD54", +"M+ c #CE9735", +"N+ c #6C4012", +"O+ c #4C2B15", +"P+ c #563117", +"Q+ c #5A3823", +"R+ c #996F31", +"S+ c #C3953A", +"T+ c #C99B45", +"U+ c #C2954F", +"V+ c #A2723F", +"W+ c #4D1F0D", +"X+ c #46110E", +"Y+ c #401109", +"Z+ c #601D11", +"`+ c #692314", +" @ c #85412E", +".@ c #907D79", +"+@ c #94928D", +"@@ c #A9A69F", +"#@ c #BBB8B0", +"$@ c #C8C5BD", +"%@ c #CCC0A6", +"&@ c #DCA02F", +"*@ c #D7A125", +"=@ c #DBA640", +"-@ c #E0A954", +";@ c #9F681F", +">@ c #471606", +",@ c #360E07", +"'@ c #310D07", +")@ c #391007", +"!@ c #50160B", +"~@ c #4A210D", +"{@ c #41210D", +"]@ c #491709", +"^@ c #47160F", +"/@ c #2E0C07", +"(@ c #501308", +"_@ c #5D1B0B", +":@ c #672514", +"<@ c #6D2814", +"[@ c #7B331E", +"}@ c #996F65", +"|@ c #989692", +"1@ c #A5A29C", +"2@ c #CDC9C2", +"3@ c #D0C09D", +"4@ c #D6A044", +"5@ c #D7A02B", +"6@ c #D39D33", +"7@ c #D29937", +"8@ c #844114", +"9@ c #6D260E", +"0@ c #591C0A", +"a@ c #53190B", +"b@ c #5B1C09", +"c@ c #6B2312", +"d@ c #4A1409", +"e@ c #4D1408", +"f@ c #511409", +"g@ c #400E06", +"h@ c #4C120B", +"i@ c #6C280F", +"j@ c #7A301A", +"k@ c #742E18", +"l@ c #7D3620", +"m@ c #772F18", +"n@ c #884A30", +"o@ c #967E78", +"p@ c #A2A09C", +"q@ c #AFACA5", +"r@ c #BEBBB4", +"s@ c #A2A4B7", +"t@ c #BDB6A8", +"u@ c #A99880", +"v@ c #AB8E62", +"w@ c #AB834D", +"x@ c #865436", +"y@ c #76311C", +"z@ c #772C17", +"A@ c #742A0F", +"B@ c #712A11", +"C@ c #641D11", +"D@ c #5F1D0D", +"E@ c #621E11", +"F@ c #5D170D", +"G@ c #621A0A", +"H@ c #742814", +"I@ c #7A3015", +"J@ c #783518", +"K@ c #7E391E", +"L@ c #833D23", +"M@ c #752E14", +"N@ c #763019", +"O@ c #693021", +"P@ c #938278", +"Q@ c #ABAAA7", +"R@ c #9093B4", +"S@ c #B8B5B2", +"T@ c #B0ADA7", +"U@ c #A6A39F", +"V@ c #9F9C97", +"W@ c #9B9894", +"X@ c #98928E", +"Y@ c #8E7F79", +"Z@ c #864C36", +"`@ c #742C14", +" # c #6A241B", +".# c #7A2E1A", +"+# c #7F311D", +"@# c #803019", +"## c #803419", +"$# c #823B1B", +"%# c #834121", +"&# c #814224", +"*# c #864227", +"=# c #864223", +"-# c #813C1D", +";# c #7E402B", +"># c #4B1A0E", +",# c #481915", +"'# c #624844", +")# c #A59E99", +"!# c #C4C1BC", +"~# c #8C90B5", +"{# c #C2BEBA", +"]# c #B7B3AE", +"^# c #ABA9A3", +"/# c #A8A6A1", +"(# c #A19E99", +"_# c #A3A09D", +":# c #855344", +"<# c #7B301C", +"[# c #752E1A", +"}# c #732C1B", +"|# c #722A13", +"1# c #83371D", +"2# c #863E22", +"3# c #7B381D", +"4# c #78361E", +"5# c #77331C", +"6# c #844128", +"7# c #833E29", +"8# c #5A1E15", +"9# c #4C1510", +"0# c #471813", +"a# c #34110C", +"b# c #4F2019", +"c# c #9B8E87", +"d# c #BBB9B4", +"e# c #858AB4", +"f# c #878BB4", +"g# c #C8C5C1", +"h# c #BDB9B2", +"i# c #B1AEA8", +"j# c #AAA7A3", +"k# c #BAB0AA", +"l# c #683120", +"m# c #47140A", +"n# c #5C180C", +"o# c #732917", +"p# c #853F27", +"q# c #7A391E", +"r# c #6C2911", +"s# c #6F2614", +"t# c #6F2917", +"u# c #601B0E", +"v# c #652215", +"w# c #542017", +"x# c #541609", +"y# c #45160C", +"z# c #4B120B", +"A# c #56130F", +"B# c #5F2410", +"C# c #BA9E69", +"D# c #B0ADA8", +"E# c #8489B3", +"F# c #C4C1B9", +"G# c #B4B1AC", +"H# c #B1AFAD", +"I# c #723C2A", +"J# c #65230D", +"K# c #6D2912", +"L# c #732916", +"M# c #66200E", +"N# c #692212", +"O# c #652311", +"P# c #581C0C", +"Q# c #4A1B0D", +"R# c #83665E", +"S# c #8A7E7B", +"T# c #7E7470", +"U# c #82675C", +"V# c #6D2911", +"W# c #722B17", +"X# c #65210B", +"Y# c #B06C14", +"Z# c #D49413", +"`# c #DAA025", +" $ c #9E99A0", +".$ c #BAB8B4", +"+$ c #B4B3AF", +"@$ c #684032", +"#$ c #501E0F", +"$$ c #6C2B15", +"%$ c #6E2510", +"&$ c #763218", +"*$ c #723728", +"=$ c #61433A", +"-$ c #2E100B", +";$ c #2E1205", +">$ c #603329", +",$ c #8A8784", +"'$ c #8A8883", +")$ c #918E8A", +"!$ c #9A8F8B", +"~$ c #6D4131", +"{$ c #A76210", +"]$ c #C68007", +"^$ c #D4960C", +"/$ c #DAA015", +"($ c #DFB041", +"_$ c #D9C486", +":$ c #BEBCB5", +"<$ c #B6B4B1", +"[$ c #613221", +"}$ c #5C2111", +"|$ c #65260E", +"1$ c #78351A", +"2$ c #7D3D24", +"3$ c #958780", +"4$ c #999695", +"5$ c #543228", +"6$ c #5E2917", +"7$ c #6C321D", +"8$ c #7B6F68", +"9$ c #918E89", +"0$ c #989590", +"a$ c #9B9993", +"b$ c #AC9B86", +"c$ c #B76E0C", +"d$ c #C58308", +"e$ c #D89D17", +"f$ c #D8A728", +"g$ c #E1B857", +"h$ c #BAAD8C", +"i$ c #C2BEB7", +"j$ c #B3AFAB", +"k$ c #632C1A", +"l$ c #6A2919", +"m$ c #632917", +"n$ c #612713", +"o$ c #8C6048", +"p$ c #84837F", +"q$ c #898884", +"r$ c #988981", +"s$ c #522613", +"t$ c #2D1209", +"u$ c #3E2018", +"v$ c #989693", +"w$ c #9F9E99", +"x$ c #BFB6A9", +"y$ c #AE660A", +"z$ c #CB8C14", +"A$ c #D2A542", +"B$ c #D6B265", +"C$ c #B2A698", +"D$ c #A09D97", +"E$ c #A49890", +"F$ c #5B1E09", +"G$ c #642415", +"H$ c #531609", +"I$ c #6A2613", +"J$ c #937A70", +"K$ c #898783", +"L$ c #A6A4A1", +"M$ c #583B29", +"N$ c #431608", +"O$ c #3F1508", +"P$ c #82756E", +"Q$ c #9D9C97", +"R$ c #A6A49F", +"S$ c #ADAAA5", +"T$ c #B5955E", +"U$ c #ABA088", +"V$ c #A39C8D", +"W$ c #9E988F", +"X$ c #8387B0", +"Y$ c #AAA6A0", +"Z$ c #826757", +"`$ c #4E1608", +" % c #471207", +".% c #591D0B", +"+% c #753A1F", +"@% c #908B86", +"#% c #9C9A94", +"$% c #A2A09B", +"%% c #9A8E81", +"&% c #55200C", +"*% c #4F1E0B", +"=% c #734D41", +"-% c #9B9893", +";% c #A7A5A0", +">% c #AFACA6", +",% c #AFABA5", +"'% c #ABA8A2", +")% c #AAA7A1", +"!% c #AAA8A4", +"~% c #8488B2", +"{% c #93612F", +"]% c #6F2E0C", +"^% c #662609", +"/% c #712A0B", +"(% c #7B4828", +"_% c #908F8C", +":% c #96948E", +"<% c #A3A09B", +"[% c #A8A4A0", +"}% c #52210F", +"|% c #5D260F", +"1% c #642614", +"2% c #9A9792", +"3% c #B9B5AE", +"4% c #BCB8B1", +"5% c #BAB7B3", +"6% c #8589B3", +"7% c #C5C2BB", +"8% c #CDC1AA", +"9% c #CE9221", +"0% c #CC9020", +"a% c #CA8D22", +"b% c #C88D1C", +"c% c #D7A74B", +"d% c #99958B", +"e% c #999792", +"f% c #A4A19B", +"g% c #A9A7A2", +"h% c #B8B7B6", +"i% c #6E3724", +"j% c #732F16", +"k% c #7B3B20", +"l% c #9A9590", +"m% c #A8A59E", +"n% c #C7C3BB", +"o% c #C1BEBE", +"p% c #BEBDB9", +"q% c #D8B981", +"r% c #D6A346", +"s% c #D7A548", +"t% c #D9A452", +"u% c #D5A241", +"v% c #CE8C1D", +"w% c #B89F6B", +"x% c #96938E", +"y% c #A19D97", +"z% c #9D8C82", +"A% c #A2897D", +"B% c #6D331D", +"C% c #813E24", +"D% c #8A4A2F", +"E% c #98948F", +"F% c #B5B4BF", +"G% c #8B8EB5", +"H% c #BFBDB9", +"I% c #E2BF7D", +"J% c #E4BD79", +"K% c #DFBF7A", +"L% c #DEBB74", +"M% c #DFB872", +"N% c #D1A34D", +"O% c #B5944C", +"P% c #8A6956", +"Q% c #6E301A", +"R% c #793620", +"S% c #7F3D22", +"T% c #5E240F", +"U% c #672A19", +"V% c #7E3E25", +"W% c #97928D", +"X% c #CFCBC5", +"Y% c #B9B8C1", +"Z% c #C9C6C5", +"`% c #C1BDB7", +" & c #DFD0A4", +".& c #E1BC74", +"+& c #DDB36F", +"@& c #CB9F50", +"#& c #B78E4B", +"$& c #AA9671", +"%& c #8D8377", +"&& c #6B2D21", +"*& c #662217", +"=& c #742D1B", +"-& c #753925", +";& c #581A10", +">& c #774231", +",& c #989491", +"'& c #A6A39D", +")& c #BFBCBB", +"!& c #B6B5BE", +"~& c #C2C0C4", +"{& c #9C9EBA", +"]& c #8C90B6", +"^& c #8387B3", +"/& c #C8C3B6", +"(& c #E1C596", +"_& c #D4B279", +":& c #BBA180", +"<& c #8A8CAB", +"[& c #8186B2", +"}& c #888BAE", +"|& c #72372E", +"1& c #371212", +"2& c #8D7369", +"3& c #5D2E1F", +"4& c #692517", +"5& c #5C211A", +"6& c #5E362F", +"7& c #878BAD", +"8& c #A3A19B", +"9& c #9C9994", +"0& c #A19F9B", +"a& c #885042", +"b& c #66271C", +"c& c #32130A", +"d& c #37150D", +"e& c #5C1D11", +"f& c #5C221A", +"g& c #4E2520", +"h& c #92908A", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # # # $ % . ", +" & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 * & ", +" 7 8 9 , ' 0 a b c d e f g h i j k l m n o p q r ) s t 7 ", +" u v > w ) x y z A B C D E F G H I J K L M N O P Q R S u ", +" T U > V W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.,.'.).!.W ~.T ", +" T {. , ' ].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.T ", +" T {., e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.).!.W d.T ", +" T d.w A.X B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.R d.T ", +" T X.) Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+w d.T ", +" T /+~ (+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+W , g+T ", +" h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+' , g+T ", +" H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@w , g+T ", +" %@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@P Q 2@, g+T ", +" 3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@$@R d.T ", +" s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@q r $@X.T > ", +" R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#>#,#'#)#q r !#T , ", +" ~#{#r@]#T@^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0#a#b#c#q d#e#W ", +" f#g#^+W.b.h#P i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#", +" T d.w 2@c.$@F#]+G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $V.", +" T {.> , V w c.Q .$+$@$#$$$%$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$($_$", +" T {. > , w ) :$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$h$", +" T {. > , c.i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$d+x$y$z$A$B$C$D$", +" T {. , W !.E$F$G$H$I$J$K$)$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$", +" T {. , c.b.Z$`$ %.%+%@%9$#%$%%%&%*%=%-%;%>%,%'%)%!%~%P ", +" T {. > w ) g.{%]%^%/%(%_%:%<%E+[%}%|%1%2%E+q 3%#@4%5%6%W.", +" T U , ' 7%8%9%0%a%b%c%d%e%f%g%h%i%j%k%l%m%P i$n%$@o%e#2@", +" u v , 2@p%q%r%s%t%u%v%w%x%y%z%A%B%C%D%E%@@F+n%W w F%G%, ", +" 7 8 9 , W H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%m%#@G+' X%8 7 ", +" & * = Y%Z%, W `% &.&+&@&#&$&%&B+&&*&=&-&;&>&,&'&F+)&!&= * ~& ", +" . {&]&# # # ^&/&(&_&:&<&[&}&|&1&2&3&4&5&6&7&# # # u {&. ", +" , ' G+Z.>%8&9&~+2%0&a&b&c&d&e&f&g&h&'&F+G+w > "}; + + + diff --git a/2009-x64/zooScripts/icons/zooIcon.xpm b/2009-x64/zooScripts/icons/zooIcon.xpm new file mode 100644 index 0000000..b0124c0 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooIcon.xpm @@ -0,0 +1,59 @@ +/* XPM */ +static char * zooIcon_xpm[] = { +"32 32 24 1", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #B5B4C0", +"% c #9094B7", +"& c #B4B3C0", +"* c #C5C3C4", +"= c #C3C1C4", +"- c #9295B7", +"; c #D1CDC7", +"> c #9EA0BA", +", c #B7B6C1", +"' c #8B8FB5", +") c #CAC7C6", +"! c #868AB4", +"~ c #CFCCC7", +"{ c #9396B8", +"] c #C2C0C4", +"^ c #B9B8C1", +"/ c #C9C6C5", +"( c #9C9EBA", +"_ c #8C90B6", +" ", +" .+@####################@+. ", +" $%&* *&%$ ", +" =-; ;-= ", +" >, ,> ", +" ') )' ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" !~ ~! ", +" ') )' ", +" >, ,> ", +" =-; ;{] ", +" $%^/ /^%$ ", +" .(_####################_(. ", +" "}; diff --git a/2009-x64/zooScripts/icons/zooKeyCommands.xpm b/2009-x64/zooScripts/icons/zooKeyCommands.xpm new file mode 100644 index 0000000..76485a6 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooKeyCommands.xpm @@ -0,0 +1,64 @@ +/* XPM */ +static char *zooKeyCommands[] = { +/* columns rows colors chars-per-pixel */ +"32 32 26 1", +" c #BB9646", +". c #BD9849", +"X c #C29D4D", +"o c #C49F4F", +"O c #CBA556", +"+ c #D2AC5C", +"@ c #D7B161", +"# c #D9B363", +"$ c #DEB867", +"% c #E0BA69", +"& c #F3C12F", +"* c #FADA4E", +"= c #FBDF54", +"- c #989590", +"; c #9C9993", +": c #A39A87", +"> c #A6A39D", +", c #ACA390", +"< c #AAA7A1", +"1 c #B4B0A9", +"2 c #B9B5AE", +"3 c #C2BEB7", +"4 c #C7C3BB", +"5 c #D6CCB8", +"6 c #D0CCC4", +"7 c #D4D0C8", +/* pixels */ +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"777777777777777775%%%%%%%%577777", +"77777777777777777%&&&&&&&&%77777", +"7777775%%%575%%57%&==*&&&&#$5777", +"777777%&&&%7%&&%7%&==&oooo&&%777", +"777777%&=%&%&==&.-;o&ʥ", +"7775%%%&=&O#%&&O#%&==&X13@&&O477", +"777%&&&*=*&&&**&&&*==&o37%&&o377", +"777%&================&o37%&&o377", +"777%&================&o37%&&o377", +"777%&================&o37%&&o377", +"777%&&&&&&&&&&&&&&*==&o37%&&o377", +"7775@o &==&o37%&&o377", +"77774<;;;;;;;;;;;o&==&o37%&&o377", +"77776433333333333@&==&o@%%&&o377", +"77777777777777777%&==*&&&&@o:377", +"77777777777777777%&&&&&&&&+><477", +"777777777777777775@o .Xoo,24677", +"7777777777777777774<;;;;;;<47777", +"77777777777777777764333333467777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777", +"77777777777777777777777777777777" +}; diff --git a/2009-x64/zooScripts/icons/zooLineOfAction.xpm b/2009-x64/zooScripts/icons/zooLineOfAction.xpm new file mode 100644 index 0000000..7d8b3fd --- /dev/null +++ b/2009-x64/zooScripts/icons/zooLineOfAction.xpm @@ -0,0 +1,291 @@ +/* XPM */ +static char * zooLineOfAction_xpm[] = { +"32 32 256 2", +" c #301512", +". c #79040E", +"+ c #711417", +"@ c #372C37", +"# c #3F2C25", +"$ c #9B0707", +"% c #422F29", +"& c #930C0A", +"* c #851511", +"= c #393831", +"- c #363B32", +"; c #B2090D", +"> c #433C36", +", c #9A1716", +"' c #802322", +") c #8E1E17", +"! c #B61108", +"~ c #7B2C23", +"{ c #424441", +"] c #4E4037", +"^ c #6E332B", +"/ c #C90B0B", +"( c #A01E1A", +"_ c #DE0304", +": c #4A4247", +"< c #7D2E2A", +"[ c #E70000", +"} c #47463F", +"| c #DF0500", +"1 c #55413A", +"2 c #444558", +"3 c #D50A09", +"4 c #75342E", +"5 c #B11A16", +"6 c #444A41", +"7 c #8E292A", +"8 c #524541", +"9 c #F30000", +"0 c #723834", +"a c #484851", +"b c #5C423C", +"c c #C31611", +"d c #F30009", +"e c #BC1B15", +"f c #EB0804", +"g c #D50F1B", +"h c #FD0000", +"i c #FC0003", +"j c #E10D08", +"k c #C61913", +"l c #4C4F41", +"m c #81382F", +"n c #F70500", +"o c #4E4E46", +"p c #584A41", +"q c #E10E12", +"r c #B8231B", +"s c #C71C1B", +"t c #93342B", +"u c #71433F", +"v c #525149", +"w c #564F49", +"x c #D91616", +"y c #604B44", +"z c #D11A19", +"A c #EC0D19", +"B c #505446", +"C c #575447", +"D c #51574D", +"E c #4E5567", +"F c #A53533", +"G c #51556E", +"H c #595850", +"I c #9D3C32", +"J c #575861", +"K c #5B5A53", +"L c #6D5543", +"M c #D22A23", +"N c #6C564F", +"O c #A2413B", +"P c #7A5250", +"Q c #605F57", +"R c #595D76", +"S c #71594D", +"T c #EC2322", +"U c #7E5744", +"V c #656255", +"W c #64635B", +"X c #5F5F7F", +"Y c #735D56", +"Z c #5A6280", +"` c #67665E", +" . c #60647D", +".. c #726258", +"+. c #805C53", +"@. c #DA3435", +"#. c #63695F", +"$. c #726656", +"%. c #7F6156", +"&. c #666686", +"*. c #746661", +"=. c #6B6B63", +"-. c #6E6B5E", +";. c #7C665E", +">. c #B24F48", +",. c #6C6C8D", +"'. c #757264", +"). c #73726A", +"!. c #737460", +"~. c #7C6E69", +"{. c #C4514B", +"]. c #707091", +"^. c #8D6A66", +"/. c #787567", +"(. c #76756D", +"_. c #A7615E", +":. c #E44745", +"<. c #81736E", +"[. c #B85C56", +"}. c #70749A", +"|. c #986B5E", +"1. c #7B7A72", +"2. c #82786C", +"3. c #C85B51", +"4. c #7F7C6E", +"5. c #7E7D75", +"6. c #7F7E76", +"7. c #7E8172", +"8. c #9B766C", +"9. c #878079", +"0. c #83827A", +"a. c #7980A0", +"b. c #818380", +"c. c #868376", +"d. c #7C80A7", +"e. c #838677", +"f. c #8C8277", +"g. c #7A82AE", +"h. c #87877E", +"i. c #7F83AA", +"j. c #8A8779", +"k. c #7D85B1", +"l. c #7E86B3", +"m. c #8286AD", +"n. c #908882", +"o. c #8B8B82", +"p. c #8E8B7D", +"q. c #93897D", +"r. c #A2847D", +"s. c #868AB1", +"t. c #938C85", +"u. c #8F8E86", +"v. c #988A85", +"w. c #9C8B81", +"x. c #A7877B", +"y. c #A18A81", +"z. c #919188", +"A. c #98918A", +"B. c #8C8FB7", +"C. c #8F8FB1", +"D. c #979486", +"E. c #95948C", +"F. c #AB8D86", +"G. c #97968D", +"H. c #9C948E", +"I. c #8E95B6", +"J. c #9B978A", +"K. c #9493B6", +"L. c #A99188", +"M. c #B28D89", +"N. c #9A9A91", +"O. c #BB8D86", +"P. c #AE9486", +"Q. c #9E9B8D", +"R. c #AD958C", +"S. c #9D9C94", +"T. c #A79893", +"U. c #A29B94", +"V. c #AA998E", +"W. c #A09F97", +"X. c #BC948A", +"Y. c #B49A8C", +"Z. c #BC9692", +"`. c #A3A299", +" + c #A5A294", +".+ c #9CA0BB", +"++ c #B69C8E", +"@+ c #B09E94", +"#+ c #BB9A8E", +"$+ c #B99A94", +"%+ c #A4A49B", +"&+ c #A0A69C", +"*+ c #B59D95", +"=+ c #A1A1B7", +"-+ c #A7A69D", +";+ c #AEA497", +">+ c #AAA798", +",+ c #B5A399", +"'+ c #BDA294", +")+ c #ADA99B", +"!+ c #B3A89C", +"~+ c #ABABA2", +"{+ c #B8A79C", +"]+ c #B2AAA3", +"^+ c #BEA69D", +"/+ c #B0AD9F", +"(+ c #B2AFA0", +"_+ c #B0AFA6", +":+ c #B2B1A9", +"<+ c #B5B2A3", +"[+ c #B4B3AA", +"}+ c #B6B6AD", +"|+ c #B4B4BE", +"1+ c #B9B6A7", +"2+ c #BEB4A7", +"3+ c #BCB8AA", +"4+ c #B6B7C1", +"5+ c #B9B9B0", +"6+ c #CCB3AA", +"7+ c #BEBAAC", +"8+ c #B8B9C3", +"9+ c #BCBBB3", +"0+ c #C1B9B2", +"a+ c #C0BDAE", +"b+ c #BEBDB4", +"c+ c #C6BBAE", +"d+ c #BFBEB5", +"e+ c #C2BEB0", +"f+ c #C1C0B7", +"g+ c #C4C1B2", +"h+ c #C2C2B9", +"i+ c #CBC0B4", +"j+ c #C3C1C5", +"k+ c #C6C1C0", +"l+ c #C4C4BB", +"m+ c #CAC2BA", +"n+ c #C8C4B5", +"o+ c #C6C6BD", +"p+ c #CAC4C3", +"q+ c #C8C7BF", +"r+ c #CBC6C5", +"s+ c #CEC6BF", +"t+ c #CCC9BA", +"u+ c #CAC9C0", +"v+ c #CBCAC1", +"w+ c #CCCBC2", +"x+ c #D1C9C2", +"y+ c #D4C9BC", +"z+ c #CDCCC3", +"A+ c #CECDC4", +"B+ c #CFCEC5", +"C+ c #D0CFC7", +"D+ c #D3CFC0", +"E+ c #D5CDC6", +"F+ c #D4D0C2", +"G+ c #D1D1C8", +"G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+h+%+b+B+C+G+", +"E+E+E+p+=+K.l.l.l.l.m.m.l.m.m.m.m.l.l.l.l.l.l.].G X : 7 z f :.x+", +"G+G+|+K.|+p+E+y+y+E+E+y+E+E+E+y+F+y+y+y+y+y+G+f.7.m j 9 ; + ..n+", +"F+p+I.B+E+G+F+E+E+E+E+G+F+F+F+G+F+E+G+G+E+E+y+h.O n k %.h.a } d+", +"B+=+|+G+y+E+G+G+F+F+E+F+F+F+F+E+G+E+x+G+G+C+z.< i 5 > V V { J w+", +"y+C.r+F+G+G+E+E+G+G+G+G+F+G+E+g+G.j.1.7+ +6 $.d ; o #.w (.} E D+", +"G+s.E+E+E+G+G+E+E+E+E+G+F+G+`.Q.w+e+d+K } C c f b f.o # D m+d.C+", +"E+B.C+G+G+E+E+G+G+G+G+G+]+'.o+E+<+G.E+/+= ) n ~ D (.> # o `.s.x+", +"E+l.E+E+G+G+E+E+E+E+E+[+(.p.5+G+g+j.B+n++.n $ ).- V 8.<.Q *.s.7+", +"G+B.C+G+E+E+G+G+G+G+G+N. +6.0.%+`.h.D+A+@.j C #.w P p.o.(.m.u+", +"6+m.E+G+G+E+E+E+E+E+E+%+z.4. +p.6.5.g+O.n * 6 l `.y 5.5.h._+a.G+", +"d g _.[+G+G+G+G+G+G+G+C+1+5+z+d+t+E._+r j f.j.D w N >+g+o+}+i.E+", +"0 . 9 >.q.s+E+F+F+E+G+E+G+E+<.0.4.9.S 9 ( '.d+-.N _+b+g+7+9+s.G+", +"a+,.) i U !.D+E+E+G+E+G+E+ +` n+e+E.M f N &+a+;.V.t+d+h+w+z+l.E+", +"(+R u.s j |.o.G+E+F+F+F+G+Q ~+5+)+[.i ' K [+,+x.t.3+e+W.u.B+s.G+", +"0.Z h.v.3 x 4 m+F+G+E+G+y+` (+<+$+d ; -.o V.Z.~+1.5+`.D./.E+l.E+", +"N 2 0+h+r.x [ 3.i+E+F+B+Q.Q 0.++j | L = 8 Z.]+d+H ]+z+u.u.A+B.G+", +"/+@ {+E+l+A.F [ i T :.3.7 O r 9 f u C x.^.>+3+t+t.u.E+J.h.E+l.E+", +"h+G v.^+u+a+&+9.^ , / 9 9 i _ , 1 Q y.X.m+9.l+G+/+-+z+h.f+B+s.G+", +"G+].0.2+#+7+(+w+(+p.p.<.*.~.K } q.M.#+x+E+`.U.x+q+U.s+-+E+E+l.E+", +"G+d.9.k+u+@+R.0+y+x+z+d+d+r+1+x.1 (+l+o+x+u+:+]+G+_+N.G+G+E+B.G+", +"E+k.9+%+E+E+c+^+F.F.R.L.@+'+$+!+).0+e+E+G+G+G+o+]+]+E+E+E+C+l.E+", +"E+g.z+b+0+A.o.u.9.T.n.A./+e+v+x+d+6.v+n+E+E+E+w+5+G+G+G+B+B+s.G+", +"G+d.r+0+C+x+x+u+q+w+m+h+N.h.g+v+A+z.5+U.[+G+A+k+E+E+E+E+E+E+l.E+", +"D+i.C+B+G+A+E+B+G+B+E+G+G+U.h+E+B+E+6.6.v o.n+v+x+G+G+G+G+E+B.G+", +"E+s.k+E+E+E+G+E+E+E+G+E+E+G+]+C+E+C+`.1+]+=.]+x+G+E+E+E+E+C+l.E+", +"E+B.r+u+u+x+G+B+B+E+B+F+E+G+y+-+y+u+A+W.E+`.0.E+u+W.C+G+G+r+B.G+", +"C+=+|+E+E+C+E+E+E+F+x+B+G+E+G+-+u+s+E+7+q+s+` [+n.H.E+E+E+8+=+E+", +"B+j+K.r+E+G+C+G+G+G+E+x+G+E+E+E+`.B+G+B+t+l+5.Q u+u.C+G+E+K.j+G+", +"E+C+8+I.8+r+F+E+E+]+f+G+E+z+G+G+U.s+E+x+v+x+1.u.r+H.r+8+B.4+G+E+", +"G+G+E+r+.+B.l.l.l.l.l.l.l.l.l.l.k.,.l.l.g.d.G G }.X B..+j+E+G+G+", +"E+E+G+G+E+G+E+E+G+E+E+G+E+m+E+G+E+E.E+E+x+s+0./.k+S.E+G+G+G+E+E+"}; diff --git a/2009-x64/zooScripts/icons/zooNameSpacey.xpm b/2009-x64/zooScripts/icons/zooNameSpacey.xpm new file mode 100644 index 0000000..f1023b0 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooNameSpacey.xpm @@ -0,0 +1,142 @@ +/* XPM */ +static char *zooNameSpacey[] = { +/* columns rows colors chars-per-pixel */ +"32 32 104 2", +" c black", +". c #201D14", +"X c #201F14", +"o c #202014", +"O c #30271D", +"+ c #302D1D", +"@ c #302F1D", +"# c #30301D", +"$ c #403427", +"% c #403927", +"& c #403A27", +"* c #403C27", +"= c #403F27", +"- c #404027", +"; c #505031", +": c #505034", +"> c #60603B", +", c #705A45", +"< c #706645", +"1 c #706945", +"2 c #707049", +"3 c #80674E", +"4 c #80734E", +"5 c #80774E", +"6 c #807D4E", +"7 c #807F4E", +"8 c #9C9C00", +"9 c #80804E", +"0 c #808053", +"q c #8F8F57", +"w c #9F8061", +"e c #9F8761", +"r c #9F9361", +"t c #9F9C61", +"y c #9F9F61", +"u c #9F9D68", +"i c #9F9F68", +"p c #BF9A75", +"a c #AFAF6B", +"s c #BFAD75", +"d c #BFAE75", +"f c #BFBB75", +"g c #BFBF75", +"h c #BFBB7C", +"j c #BFBF7C", +"k c #CECE63", +"l c #CFCD7F", +"z c #CFCF7F", +"x c #8186B3", +"c c #868AB4", +"v c #8B8FB5", +"b c #8C90B6", +"n c #9093B7", +"m c #9094B7", +"M c #9295B7", +"N c #9396B8", +"B c #9C9EBA", +"V c #9EA0BA", +"C c #BFBF9A", +"Z c #A1A3BB", +"A c #B4B3C0", +"S c #B5B4C0", +"D c #B7B6C1", +"F c #B9B8C1", +"G c #DFB488", +"H c #DFC888", +"J c #DFCA88", +"K c #DFDF88", +"L c #CFCFA7", +"P c #DFDFB4", +"I c #EECE88", +"U c #EFC192", +"Y c #FFCE9C", +"T c #F6D091", +"R c #F6D991", +"E c #F6DF91", +"W c #EFE592", +"Q c #EFEF92", +"! c #F6E191", +"~ c #F6E193", +"^ c #F6E491", +"/ c #F6E399", +"( c #F6EA91", +") c #FFE59C", +"_ c #FFE69C", +"` c #FFF99C", +"' c #FFFF9C", +"] c #EFEFA3", +"[ c #FFF4A4", +"{ c #FFF9A6", +"} c #FFFDA6", +"| c #FFFFA6", +" . c #C2C0C4", +".. c #C3C1C4", +"X. c #C5C3C4", +"o. c #C7C5C5", +"O. c #C9C6C5", +"+. c #CAC7C6", +"@. c #CFCCC7", +"#. c #D1CDC7", +"$. c #D4D0C8", +"%. c #EFEFC1", +"&. c #FFFFCE", +"*. c gray97", +/* pixels */ +"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.", +"$.$.$.o.V m x x x x x x x x x x x x x x x x x x x x n Z o.$.$.$.", +"$.$.S M A 8 8 8 8 8 $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.X.A m S $.$.", +"$...M #.8 *.&.&.' ' 8 $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.@.m ..$.", +"$.V S 8 k k k k k k k 8 8 8 8 8 8 $.$.$.$.$.$.$.$.$.$.$.$.F V $.", +"$.b +.8 %.L &.&.&.&.C &.&.&.&.' k $.$.$.$.$.$.$.$.$.$.$.+.v $.", +"$.c @.8 C - ' ' ' ' 9 ' ' ' ' Y k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C # ; ; Q ' - ' , ; , y k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C o Q q > ' y ; Y ; 3 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C - ' g - ' 9 3 ' 3 9 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 C a > 9 ' p # p o 3 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 P y q q Y ' 3 Q w q , 3 k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 &.Y ' Y ' Y ' U # $ O G k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.8 k k k k k k k k k k k k k $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$. $.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.$.8 8 8 8 8 $.$.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.$.8 *.&.&.' ' 8 $.$.$.$.$.$.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 k k k k k k k 8 8 8 8 8 8 $.$.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.&.&.&.&.&.&.&.&.&.&.' k $.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.] : 2 | | | | [ u [ ~ k $.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.u # K Q g l ` r + J ^ k $.@.c $.", +"$.c @.$.$.$.$.$. $.$.$.$.8 &.0 o g ; 7 @ y 5 . d E k $.@.c $.", +"$.c @.$.$.$.$.$. 8 &.j - ' g 6 . 5 s & ) ^ k $.@.c $.", +"$.c @.$.$.$.$.$.$.$.$.$.$.8 &.j - J . f 1 4 s & ) R k $.@.c $.", +"$.v o.$.$.$.$.$.$.$.$.$.$.8 &.h - W . * & < H . e T k $.+.v $.", +"$.V F $.$.$.$.$.$.$.$.$.$.8 &./ ( W ^ E ^ E ^ R T I k $.S V $.", +"$.X.N @.$.$.$.$.$.$.$.$.$.8 k k k k k k k k k k k k k @.N X.$.", +"$.$.S m F o.$.$.$.$.$.$.$.$. m S $.$.", +"$.$.$.o.B b x x x x x x x x x x x x x x x x x x x x b B o.$.$.$.", +"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$." +}; diff --git a/2009-x64/zooScripts/icons/zooRemind.xpm b/2009-x64/zooScripts/icons/zooRemind.xpm new file mode 100644 index 0000000..0789328 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooRemind.xpm @@ -0,0 +1,293 @@ +/* XPM */ +static char *zooRemind[] = { +/* columns rows colors chars-per-pixel */ +"32 32 255 2", +" c black", +". c #09090C", +"X c #0D0D11", +"o c #101012", +"O c #121315", +"+ c #15151A", +"@ c #1B1412", +"# c #1A1A1F", +"$ c #1D1D26", +"% c #201F16", +"& c #3D3B1F", +"* c #212327", +"= c #22222A", +"- c #21222C", +"; c #23242E", +": c #25252A", +"> c #25262D", +", c #2D2220", +"< c #292A29", +"1 c #2C2C2D", +"2 c #292A32", +"3 c #2B2C35", +"4 c #2D2E38", +"5 c #2F3235", +"6 c #352B27", +"7 c #3A3A2C", +"8 c #343436", +"9 c #31303A", +"0 c #32333E", +"q c #37383B", +"w c #3A3B3A", +"e c #3F3D39", +"r c #3C3C3C", +"t c #373842", +"y c #3A3B41", +"u c #3D3C47", +"i c #383948", +"p c #3F403F", +"a c #453733", +"s c #50413C", +"d c #42424C", +"f c #494745", +"g c #4B494F", +"h c #454653", +"j c #474758", +"k c #4D4C54", +"l c #4C4D5D", +"z c #5A4B44", +"x c #545452", +"c c #585659", +"v c #5C5B58", +"b c #535364", +"n c #5D5E6D", +"m c #5A605D", +"M c #61514A", +"N c #6C5852", +"B c #67605D", +"V c #736057", +"C c #79655C", +"Z c #7D7B5F", +"A c #696866", +"S c #6A6A7C", +"D c #7E6E6A", +"F c #766676", +"G c #71706C", +"H c #7C7A65", +"J c #787877", +"K c #72738A", +"L c #7D7D92", +"P c #897065", +"I c #837670", +"U c #837F7C", +"Y c #90746C", +"T c #957D77", +"R c #807482", +"E c #9D9B52", +"W c #89896C", +"Q c #988E77", +"! c #A38478", +"~ c #878581", +"^ c #83839D", +"/ c #8E9080", +"( c #938985", +") c #918799", +"_ c #92908B", +"` c #979894", +"' c #989590", +"] c #9E919E", +"[ c #9E9A95", +"{ c #8889A5", +"} c #9192AE", +"| c #9899B8", +" . c #9B9CBC", +".. c #9F9FBE", +"X. c #AA8E84", +"o. c #A19E98", +"O. c #AD9A94", +"+. c #B6968A", +"@. c #A898A8", +"#. c #AB9EB5", +"$. c #B09DB0", +"%. c #AEA29D", +"&. c #B7B38D", +"*. c #A4A0A3", +"=. c #A9A6A0", +"-. c #ADA4AF", +";. c #ADAAA3", +":. c #ADABA5", +">. c #AEACAB", +",. c #B3A8A3", +"<. c #B4AFAA", +"1. c #B9A5B8", +"2. c #BDB9B3", +"3. c #9F9EC1", +"4. c #9CA2C0", +"5. c #9FA4C4", +"6. c #A0A1C0", +"7. c #A1A2C1", +"8. c #A1A3C2", +"9. c #A2A2C1", +"0. c #A3A3C3", +"q. c #A2A2C5", +"w. c #A2A4C3", +"e. c #A3A4C4", +"r. c #A3A4C7", +"t. c #A3A6C5", +"y. c #A4A3C3", +"u. c #A5A6C3", +"i. c #A4A5C5", +"p. c #A5A4C7", +"a. c #A5A6C5", +"s. c #A5A6C6", +"d. c #A6A5C5", +"f. c #A7A5C6", +"g. c #A6A7C6", +"h. c #A4A5C8", +"j. c #A5A5C8", +"k. c #A6A9C5", +"l. c #A6A8C6", +"z. c #A7A8C7", +"x. c #A6A9CA", +"c. c #A7ABCD", +"v. c #A9A6C9", +"b. c #A9A9C7", +"n. c #A8A9C9", +"m. c #A8A9CA", +"M. c #A9AACA", +"N. c #AAA8C9", +"B. c #AAABCC", +"V. c #ABADCD", +"C. c #AEABCA", +"Z. c #ACACC9", +"A. c #AEAECE", +"S. c #ADAFD1", +"D. c #ADB0D2", +"F. c #B0ACCC", +"G. c #B2ADCC", +"H. c #BAAAC4", +"J. c #BEAAC9", +"K. c #B1AFD0", +"L. c #B8B1CE", +"P. c #B2B2D4", +"I. c #B4B4DB", +"U. c #BBB4D3", +"Y. c #BFB7D7", +"T. c #BFB9D9", +"R. c #C3A092", +"E. c #CAA59A", +"W. c #C8BAA9", +"Q. c #C6BCB5", +"!. c #DBB4A5", +"~. c #E8BDAD", +"^. c #C0AEC2", +"/. c #C3B1C7", +"(. c #C0B6D2", +"). c #C3B9D7", +"_. c #C6BBD9", +"`. c #C9BEDA", +"'. c #D3BED3", +"]. c #CAC4BD", +"[. c #E2C7BB", +"{. c #EDC3B4", +"}. c #F6C5B5", +"|. c #F5C9B6", +" X c #FACBB9", +".X c #FBCCBA", +"XX c #F8CEBE", +"oX c #FDCDBA", +"OX c #FDCFBD", +"+X c #FDCEBF", +"@X c #FFCDBC", +"#X c #FFCEBD", +"$X c #FFCFBE", +"%X c #FBD2BF", +"&X c #FFD0BD", +"*X c #FFD0BF", +"=X c #FFD2BF", +"-X c #CCC1DE", +";X c #D7CDC5", +":X c #D1C2DF", +">X c #D6C5DD", +",X c #D8D4CD", +" > = - - = ; 2 3 3 4 4 0 d d q Q.[.[ 5 b h u w 3 : * X v ", +"' t 0.s.s.h.h.h.h.h.s.h.h.p.v.q.S.S ~ fXdXyXk | z.w.q... .s.b a ", +"=.9 s.n.n.z.z.g.s.G.n.s.g.s.).).| y U JXIX[.I { V.S.g.z.n.D.l p ", +";.2 0.z.s.s.w.s.w.G.>Xs.8.s.G.mXL f J 5X6XO.U K ).).s.z.g.D.l a ", +";.2 ..z.s.g.s.w.s.z.4X>Xz.w.g.mX) A O.z a X.( L jXG.s.w.s.G.h g ", +"=.2 ..g.s.n.U.G.w.8.).DXhXG.4.3X] _ KX~.~.iXU @.zXg.s.F.D.V.u v ", +"o.: 0.s.s.0.G.:XG.0.C.cXCXhXz.-X#.<.KX8XwXdXJ 1.>X0.G.1XG.V.y A ", +"' > 8.z.g.w.y.F.2X2XF.:XnXNXlXhX@.%.yX.X@XiXA $.-X1XzXU.w.V.0 G ", +"_ = 0.z.g.w.g.y.s.:XMX2XzXnXnXFX@.%.dX X*X@Xf 1.SXBXU.8.M.b.0 ~ ", +"U $ 0.g.s.s.s.s.0.0.:XNXcXcXmXSX@.%.dX*XwX}.6 1.DX`.4.k.g.g.9 _ ", +"J $ 8.s.g.z.Z.G.U.).:XkXnXMXcXDX#.( +.yXdXtXa ^.mXU.P.@.S z.2 _ ", +"A > 8.n.).2XlXBXNXCXBXMXcXcXMXDX@.M T !.I ;XN '.nXLXLX<.u 5.> _ ", +"x > n.n.n.G.U.`.2XhXcXMXMXMXmXDX1.P I >.o.,.I >X3X@.] c b w.$ ' ", +"x ; g.g.s.w.8.0.w.h.C.).hXMXcXNX@.X.R.+.2.GXT H.C E & L u.# ' ", +"x 3 n.g.s.s.s.g.G.).:XgXcXMXMXhX_ &.I T ,.GXO.-.W H [ Z j 5.o ` ", +"x 0 n.g.s.C.).3XcXCXVXcXBXBXSXLX@.a C g m W &.HXPXW.H 7 l 4.O [ ", +"x 9 n.g.s.C.Z.G.G.).hXBXVX'.@.@.] a |.T a 6 f Q &.PXQ $ .4.+ =.", +"s t n.g.s.s.s.8.F.>XMXBXR B ]. d A.s.s.s.8.(.nXNXBXH.x 8XiXKXJXz |.*X=XyXC /.#.7 HXZ i w.+ ;.", +"1 d D.t.s.n.`.hXgX`.U.^ f *X*XeX8Xe !.=X*XpXV R SXk & # K .o >.", +"< l D.t.n.).).F.h.s.D.) z tX@X=X~.@ R.yX*XpXP u LX>XK ^ V.} X ;.", +"< l P.g.g.s.q.c.3.| 3XF s !.=XwX~.@ R.yX.XyX! + >XZX4Xh.V.} X ;.", +"1 b D.g.g.s.V.L K J g w B ~.=X*X%Xz +.yX*X%X!.O ^ -XjX).x.} X ;.", +"1 n I.g. ...K * 6XdX[.5XfX=X7XOXyXT ! pX*X@XGXU l V.Z._.D.} X ;.", +"1 n ^ n L _ A [ dX@XwXyXtXwX@X*X=X!.P .X*X@XtX5Xy { D.v.G.} X ;.", +"8 0 d Q.tXtXiXdX*X@XtXE.M ! wX*X*X*X~. X@X*X@XGXJ # b w.D.} X ;.", +"8 O Q.pX*X@X@X.X*XtX.Xa V {.wX@X@X*X*X*X.X*X@XwXW.+.s i w.} o <.", +"1 C dX*X*X*X*X.XwX!.Y +.uXrX*X*X*X*X*X*XwXwXwX*XyXtXiXz j | + 2.", +"< Y dX=XyXiXdXpXdX!.!.GXdXyX%X%X*X&XOX X.X X X X@X@XwXR.9 { o 2.", +"5 , z z M N V V V C C V N M s s a 6 , , , , , , , , 6 % . $ O ].", +";.f r r r e w w r e w w w p x x x v A A A G G G G J U L ~ W o.,X" +}; diff --git a/2009-x64/zooScripts/icons/zooRenamer.xpm b/2009-x64/zooScripts/icons/zooRenamer.xpm new file mode 100644 index 0000000..709ac44 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooRenamer.xpm @@ -0,0 +1,163 @@ +/* XPM */ +static char *zooRenamer[] = { +/* columns rows colors chars-per-pixel */ +"32 32 125 2", +" c #4A5777", +". c #6A6B6F", +"X c #75726D", +"o c #7D7A76", +"O c #345596", +"+ c #3E609E", +"@ c #475B8E", +"# c #5E6985", +"$ c #5E6E96", +"% c #5A6D9C", +"& c #5F709B", +"* c #4667A4", +"= c #4E70AB", +"- c #576CA0", +"; c #5A6EA0", +": c #5670A6", +"> c #5A72A1", +", c #5678B0", +"< c #66718C", +"1 c #637194", +"2 c #65759A", +"3 c #697594", +"4 c #68789F", +"5 c #6579A4", +"6 c #637CAA", +"7 c #6B7CA3", +"8 c #5D80B8", +"9 c #6D80AD", +"0 c #6588BE", +"q c #6E84B1", +"w c #7182A7", +"e c #7485AA", +"r c #7C8DAF", +"t c #738CB6", +"y c #7993BC", +"u c #6D90C5", +"i c #7499CB", +"p c #7F99C0", +"a c #7DA2D3", +"s c #85827B", +"d c #8D8B85", +"f c #918E88", +"g c #94928C", +"h c #98958F", +"j c #909092", +"k c #999690", +"l c #9C9993", +"z c #8294B5", +"x c #899BBA", +"c c #979CA1", +"v c #8DA0BE", +"b c #A09C96", +"n c #A19E98", +"m c #A6A39C", +"M c #A8A49D", +"N c #A1A7AC", +"B c #A4AAAE", +"V c #A9A6A0", +"C c #ADAAA3", +"Z c #A4ACB2", +"A c #ADB5BB", +"S c #B1ADA6", +"D c #B1AEA8", +"F c #B5B2AB", +"G c #B8B4AE", +"H c #B4B4B1", +"J c #B2B8BC", +"K c #B9B6B1", +"L c #BCB9B3", +"P c #BEBCB8", +"I c #849FC6", +"U c #8AA6CA", +"Y c #84A9D9", +"T c #92A5C2", +"R c #97A9C6", +"E c #9AAEC9", +"W c #91ACD1", +"Q c #9FB3CD", +"! c #97B2D5", +"~ c #9DB8DA", +"^ c #8CB1E0", +"/ c #93B9E5", +"( c #AEB9C3", +") c #A4B8D2", +"_ c #A2BEDE", +"` c #A8BCD6", +"' c #98C0EE", +"] c #ADC1D9", +"[ c #BDC5CB", +"{ c #B1C6DC", +"} c #BEC8D3", +"| c #A8C6E6", +" . c #B4C9E0", +".. c #BBD3EC", +"X. c #C1BDB6", +"o. c #C1BEB9", +"O. c #C4C1BB", +"+. c #C8C5BD", +"@. c #C6C5C1", +"#. c #C8C6C2", +"$. c #CCC9C3", +"%. c #CFCDC8", +"&. c #C4CDD5", +"*. c #C6D2DE", +"=. c #D1CDC6", +"-. c #D1CEC8", +";. c #D4D0C7", +":. c #D5D1C9", +">. c #D8D4CD", +",. c #DCD8CE", +"<. c #D6D5D6", +"1. c #D9D6D0", +"2. c #DCD9D3", +"3. c #DAD9D8", +"4. c #C1D3E6", +"5. c #D2DAE2", +"6. c #E0DDD6", +"7. c #E0DED9", +"8. c #E4E0DB", +"9. c #E1E0E0", +"0. c #F0EFEC", +"q. c #F6F6F6", +"w. c #F7F7F8", +"e. c #F8F7F6", +"r. c #FCFCFC", +/* pixels */ +"3 3 3 $ $ 2 5 7 w e r z z x v T R Q Q ) ` ] { { 4.5.&.&.} 4.&.[ ", +" . < - ; ; 6 e q - O + * = , 8 0 u i a Y ^ / ' ..+.F o.H A s Z ", +"3 j # @ % % 7 7 w 6 > 6 9 q t y y U U W ! ~ _ | { c N Z Z ( B A ", +"@.L K O.$.$.#.$.$.$.%.=.%.%.%.%.%.%.-.%.%.:.=.;.%.=.=.=.%.=.=.$.", +"+.g X S ,.:.:.:.:.:.:.:.:.:.;.;.:.:.:.:.;.:.:.:.:.:.:.-.:.:.:.$.", +":.=.+.=.-.=.-.-.%.=.;.=.=.-.;.%.%.;.;.%.=.=.=.%.=.=.=.=.=.=.=.#.", +"+.#.=.=.=.-.=.$.:.=.o.O.O.X.O.O.+.X.O.:.+.+.=.=.=.=.+.=.:.-.:.$.", +"#.0.D h k b k g F :.K $.F l f g g g M :.F g d b b X.D X.:.-.-.$.", +"2.2.$.X.L L L X.o.>.,.,.O.S F S G C X.>.+.X.D X.X.+.X.=.=.=.=.=.", +"-.-.>.>.,.:.=.P o.o.o.o.o.O.O.o.o.o.O.O.o.O.+.@.6.,.6.6.2.6.2.+.", +"o.m D M $.:.o.<.w.w.e.e.w.w.w.q.q.q.w.w.q.q.e.q.6.M D L G G o.G ", +"+.D n k o.:.+.7.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.2.G k n f k M D ", +",.:.:.>.-.:.=.6.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.$.L L L L L K K ", +":.:.:.:.:.:.$.P O.@.O.O.O.@.@.O.@.O.O.O.@.O.O.@.3.>.3.7.7.7.6.@.", +"+.M M k +.>.X.<.w.r.w.r.w.r.w.r.w.r.r.w.r.w.w.q.2.M l D M V D F ", +"=.S M n X.>.+.7.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.>.F l M g l C F ", +":.>.,.,.:.:.;.>.2.,.2.2.6.6.6.6.6.2.2.2.2.2.2.6.+.F K K K K G G ", +"=.O.$.+.O.$.:.%.-.;.-.=.$.S O.o.+.+.$.:.=.=.=.=.:.:.,.:.:.,.:.%.", +"+.b d f l S :.:.:.:.;.:.=.g o f d d D >.;.;.;.:.:.;.:.:.;.:.:.=.", +":.+.=.+.+.=.%.%.+.=.=.=.:.=.+.$.+.+.=.=.=.$.=.%.:.:.:.:.:.:.:.%.", +"P $.$.#.$.$.#.$.=.$.$.-.=.P #.$.%.#.$.#.#.#.#.$.3.>.2.8.8.7.6.O.", +"@.r.r.r.r.r.r.r.r.r.r.>.F <.r.r.r.r.r.r.r.r.r.r.6.n k V b m S F ", +"$.r.r.w.r.w.w.r.w.r.r.3.X.2.r.e.r.w.r.r.r.e.w.e.1.K m V l M S F ", +"1.2.1.2.2.2.,.,.2.2.,.:.:.,.2.2.,.2.,.,.3.2.6.6.$.G P P P L K K ", +"%.+.%.:.O.+.=.=.+.=.=.-.=.=.-.+.=.=.=.%.>.7.-.=.2.8.%.>.7.2.2.O.", +"O.C k b S l g m M d h k m g S f f b l +.2.,.K M l M k l b g %.G ", +"%.X.F D +.O.G X.+.L L G X.G X.+.D X.K $.>.#.G M l m G S V C K F ", +">.,.2.6.,.2.6.6.6.6.2.6.,.2.,.,.2.2.2.2.>.$.#.=.$.%.$.$.$.#.#.O.", +"2.>.-.=.=.X.D X.L +.:.-.:.:.=.O.2.>.,.=.%.=.:.:.:.:.>.>.>.,.1.L ", +"2.,.=.k M h n h h M M g l %.%.o.,.:.,.S b k b f S C g h %.:.:.F ", +">.P L G G L X.G K L G F F K K o.o.L K L G G F F G G F D X.K K D ", +">.-.=.=.=.=.=.=.=.=.=.-.=.%.=.:.=.=.=.=.=.=.%.=.=.%.=.%.%.%.%.$." +}; diff --git a/2009-x64/zooScripts/icons/zooShots.xpm b/2009-x64/zooScripts/icons/zooShots.xpm new file mode 100644 index 0000000..1dbbce2 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooShots.xpm @@ -0,0 +1,118 @@ +/* XPM */ +static char *zooShots[] = { +/* columns rows colors chars-per-pixel */ +"32 32 80 1", +" c #010101", +". c #0A0A0A", +"X c #131313", +"o c #1A1A1A", +"O c #242424", +"+ c #2D2D2D", +"@ c #343434", +"# c #39393A", +"$ c #444444", +"% c #4B4B4B", +"& c #4F4F51", +"* c #535353", +"= c gray36", +"- c #52546F", +"; c #5B5D77", +": c #5A5D7A", +"> c #626263", +", c #6B6B6B", +"< c gray45", +"1 c #7B7B7B", +"2 c #676A84", +"3 c #6E7295", +"4 c #797A8A", +"5 c #7D80A1", +"6 c #7E83AB", +"7 c #848484", +"8 c #858589", +"9 c #8B8B8B", +"0 c #828493", +"q c #8E8E90", +"w c #939393", +"e c #969699", +"r c #9A9A9A", +"t c #8387AD", +"y c #8589AD", +"u c #8186B2", +"i c #8488B0", +"p c #898DB4", +"a c #8E91AC", +"s c #8F92B3", +"d c #9092AB", +"f c #9E9EA1", +"g c #999BAA", +"h c #9193B0", +"j c #9699BD", +"k c #999CBE", +"l c #A2A2A2", +"z c #A7A6AB", +"x c #A8A6A9", +"c c #AAAAAA", +"v c #A2A3B1", +"b c #A8A9B7", +"n c #ADAFBB", +"m c #AFB0B6", +"M c #B4B1AA", +"N c #B3B3B3", +"B c #B7B6B8", +"V c #B8B7BA", +"C c #BBB8B0", +"Z c #BBBBBB", +"A c #9B9DC0", +"S c #C0BCB5", +"D c #C1BEB8", +"F c #C6C2BC", +"G c #C9C5BE", +"H c #C4C3C4", +"J c #C6C6C8", +"K c #CDC9C2", +"L c #CCCCCC", +"P c #D1CDC5", +"I c #D5D1CA", +"U c #D9D5CE", +"Y c #D0D0D0", +"T c #DAD6D0", +"R c #DCD8D2", +"E c #DADADA", +"W c #E0DDD8", +"Q c #E3E0DB", +"! c #E2E2E2", +"~ c #EDEDED", +/* pixels */ +"PPFFCMMMCMMNCMmMMNMMMMMMMCCFGKPI", +"PFCxdyuu666666666uu666uu666amGPP", +"GCgygnZZZZZZHZZZZZHZZZZZHZngyvKP", +"FxyBLYYYYYYYYYYYYYYYYYYYYYYYByVP", +"CanLYLYYLLLLYLYLLYYLYLLLYLYLLnsI", +"DpLLLLLLLLLLLLLLLLLLLLLLLLLLLLsU", +"DkBHLLKLLLKLLJLLJLJLLJLLLLLLJLAT", +"Dk7wlHHHJJJxclffrrewwq9wrxJJJJAT", +"Dd<,<1cxw7<,,<<,,,,,,,,,,,,wr9<>9xMceewwwww95,1cC7N,NL~FQr=M,LLq>9lBjT", +"Dyq1,=<,<11,M,<1~rH1,c>Ee$$1,lsT", +"Dyq711<<$>$=N>7HLYL$7q>E5#>Ec15I", +"Cpfre911$wwwm7=*&&%@w1>Q,O,EM<2G", +"Dsfrr997O,xfrrrww977r%&R$ OH1<;Z", +"Dirrrrrr@%frrrrrrrrrf#>WfO.$,%-D", +"Dywwrrwr%+frrwrrrrrrr@1EY$%%%&:G", +"Dywww9ww=X1xrllrrrrrr+w!NO%*=>3I", +"Dtqw9w9w< .#%,17qq9w9+w1oX*<156T", +"Du99qq9q11,&%X...X. . ..#<=199aU", +"Dtq999991>%$x# #+oO=$$$*199yU", +"Du9979997<=*wX $%$%$%**>1996W", +"Cu9899799711=.=OoOo7***=,1178q6R", +"Di979797977wXX$+@$ X7<<1577979aU", +"F6887797779< #%O@$O +r17777777yU", +"Fi877777777@ *%O+&= .,<5777778yR", +"Kd077777477X.7*o@*>% X<<777770hW", +"PBt7177777 X$*O#*,,O o,17777yHR", +"IIby074777=X.$*X$&<<= @11506nWU", +"IIUHaytupu6666uu6p666py6y66hLWRI", +"PIIURWWQQ!!QQ!QQ!QQQQQQQQQQWWUII" +}; diff --git a/2009-x64/zooScripts/icons/zooSurgeon.xpm b/2009-x64/zooScripts/icons/zooSurgeon.xpm new file mode 100644 index 0000000..5ed819b --- /dev/null +++ b/2009-x64/zooScripts/icons/zooSurgeon.xpm @@ -0,0 +1,294 @@ +/* XPM */ +static char *zooSurgeon-0[] = { +/* columns rows colors chars-per-pixel */ +"32 32 256 2", +" c black", +". c #0B0D00", +"X c #06160C", +"o c #121F1C", +"O c #190A04", +"+ c #0A2214", +"@ c #073310", +"# c #1D211F", +"$ c #19321E", +"% c #082705", +"& c #392618", +"* c #362B27", +"= c #272D2D", +"- c #01512E", +"; c #065D31", +": c #1B4B36", +"> c #185B3C", +", c #11512E", +"< c #056438", +"1 c #2F412B", +"2 c #2C4636", +"3 c #324028", +"4 c #375434", +"5 c #246634", +"6 c #136947", +"7 c #107752", +"8 c #345445", +"9 c #2A754B", +"0 c #297754", +"q c #3B6347", +"w c #396D59", +"e c #327059", +"r c #2C714E", +"t c #2F7F61", +"y c #3F7C63", +"u c #493616", +"i c #4C372E", +"p c #643415", +"a c #77371B", +"s c #474A37", +"d c #5A4739", +"f c #58623A", +"g c #4B663F", +"h c #634A36", +"j c #68553B", +"k c #7D5129", +"l c #76512E", +"z c #76623D", +"x c #51585B", +"c c #474E4A", +"v c #46764E", +"b c #556449", +"n c #4F6A54", +"m c #537260", +"M c #437565", +"N c #635843", +"B c #695B4E", +"V c #685146", +"C c #6D5E56", +"Z c #745C48", +"A c #725E51", +"S c #7B4843", +"D c #676357", +"F c #667358", +"G c #766D54", +"H c #6D664C", +"J c #696C66", +"K c #6A756D", +"L c #6B7C73", +"P c #766869", +"I c #7E706B", +"U c #7C7F78", +"Y c #7A7976", +"T c #74789D", +"R c #787C9D", +"E c #787CA2", +"W c #797EA8", +"Q c #1C936A", +"! c #1C8A65", +"~ c #1DAC77", +"^ c #2D8263", +"/ c #278A69", +"( c #259568", +") c #299D76", +"_ c #318466", +"` c #318A6A", +"' c #3E8C73", +"] c #329768", +"[ c #389577", +"{ c #24A679", +"} c #31A679", +"| c #3DB07A", +" . c #22B87A", +".. c #418C5B", +"X. c #578152", +"o. c #4A957B", +"O. c #508D64", +"+. c #558F7A", +"@. c #4A8F68", +"#. c #43A97B", +"$. c #7C8459", +"%. c #6E8576", +"&. c #6D8B7C", +"*. c #648474", +"=. c #619064", +"-. c #7E807C", +";. c #749F7D", +":. c #2AAD82", +">. c #25B383", +",. c #2EB58C", +"<. c #32B38A", +"1. c #33B889", +"2. c #3BBE95", +"3. c #1CC392", +"4. c #2CCC8E", +"5. c #2AC785", +"6. c #2BC595", +"7. c #2CC698", +"8. c #2AC995", +"9. c #2AC898", +"0. c #26CB98", +"q. c #33C38B", +"w. c #33C493", +"e. c #31C89A", +"r. c #3CC394", +"t. c #36C898", +"y. c #42B68C", +"u. c #42BF95", +"i. c #41AB8A", +"p. c #6D8C81", +"a. c #689684", +"s. c #70808C", +"d. c #7B9487", +"f. c #7F82AA", +"g. c #7F84B0", +"h. c #4CD09D", +"j. c #8F713D", +"k. c #915635", +"l. c #845E48", +"z. c #807452", +"x. c #827A5D", +"c. c #967656", +"v. c #876E51", +"b. c #8B796D", +"n. c #857D68", +"m. c #807E79", +"M. c #9B7E70", +"N. c #A7765B", +"B. c #927D81", +"V. c #83827C", +"C. c #898575", +"Z. c #968068", +"A. c #92887B", +"S. c #9A9278", +"D. c #8A8A6C", +"F. c #A2855E", +"G. c #A68B70", +"H. c #A3917E", +"J. c #B68A63", +"K. c #BA9577", +"L. c #B28C6F", +"P. c #C99576", +"I. c #D7A276", +"U. c #888681", +"Y. c #8C8A84", +"T. c #8E8C89", +"R. c #908E89", +"E. c #918988", +"W. c #94918D", +"Q. c #989589", +"!. c #9B9993", +"~. c #959691", +"^. c #809588", +"/. c #8185AE", +"(. c #8186B2", +"). c #8589B3", +"_. c #8B8FB5", +"`. c #8C90B6", +"'. c #9094B7", +"]. c #999BB9", +"[. c #95A79B", +"{. c #8EA38D", +"}. c #9EAFA5", +"|. c #9EA0BA", +" X c #9DB5AB", +".X c #A29495", +"XX c #AE978A", +"oX c #A4A29C", +"OX c #A9A69F", +"+X c #BFBE9D", +"@X c #A9B797", +"#X c #ABA6A2", +"$X c #ADAEA9", +"%X c #A9ACA2", +"&X c #A1A3BB", +"*X c #A9B4A8", +"=X c #ADB3B4", +"-X c #B2AFA8", +";X c #B9ACAD", +":X c #B5B5AA", +">X c #BCBAB3", +",X c #B5B8B4", +".0.0.8.9.9.6.h.` %.$XrXZXBX`.SX", +"SX).ZXZXSXSXSXSXAX6Xn 3 s f f s 5 } w.8.9.8.9.9.t._ d.oXeXVX).SX", +"SX).VXSXSXSXSXSX>X4 f 0XsXsXkXkXK.$.X.| t.8.9.9.7.2.t ~.#XdX).SX", +"SX).ZXSXSXSXSXFXc V c.F.lXlXP.J.uXmX0X=.@.r.7.7.7.7.} %.W.XR.d n.7 <.9.9.7._ U W.E ZX", +"SX).VXSXSX~.X>X:XO u i P PXGXCXCXIXD b.@.t 1.8.t.0 U W.E ZX", +"SX).VXSXSXB.wXwXm.gXK.* V i m.DX;XE. M w 8 + 6XFXBXfXC i XXs . G x.N A.-.W.E ZX", +"SX).VXSXVXSXK 2 o.Q 3.6.e.2.6 , m C.B S yXvXD.G G.j.c.XXm.R.E VX", +"SX).VXSXSXZXd.: ) 9.6.0.e.7.7./ > q ;.@XS.G & XXK.8XK.Z.U.E.T VX", +"SX).VXSXSXDX*.o.7.7.{ 7 ! ,.9.9.y.#.] 9 v % z XXl c.l.b.Y.T.T ZX", +"SX).VXSXSXSX&.[ 7.7.Q ; ; ) 1.0.8.q.) ( 5 @ yXJ.z n.A.R.m.!.E ZX", +"SX).VXSXSXSXd./ 6.6.5. . .q.8.6.8.e.<.o.w 2 kXl z.Q.Y.V..X-X(.ZX", +"SX).VXSXSXSX}.^ 6.6.0.4.4.4.4.0.9.0.{ +.8 o K.h Q.V.Y.oX>XBX).SX", +"SX).VXSXSXSXNX: >.7.0.6.8.7.9.9.9.8.>.^ : + u n.V.Y.OXeXZXVX).SX", +"SX_.VXSXSXSXAXL Q 6.0.6.9.9.9.9.9.8.1.r # s B V.Y.OXeXZXZXZX).SX", +"SX).VXSXSXSXSXZX+.) e.7.9.9.7.7.e.h.) 2 D m.Y.!.$XrXZXSXSXVX).SX", +"SX).VXSXSXSXSXSXZX[.p.{ 9.0.8.r.@.5 , %.V.R.OX>XfXZXZXSXSXZX).SX", +"SX`.VXSXSXSXSXSXSXVX>X}.a.r q c z S.G R.V.#XeXZXZXSXSXSXZXVX`.SX", +"SX1X2XAXSXSXSXSXSXSXVXBX6X>XZ K.kXbXl.Q.R.-XVXAXSXSXSXSXSX3X|.SX", +"SXMX'.ZXSXSXSXSXSXSXSXSXAXZXG z aXxXG C.E.-XVXZXSXSXSXSXVX'.MXSX", +"SXVX3X'.3XBXSXSXSXSXSXSXAXAXc.F.j.lXaXH [.oXeXZXSXSXBX3X'.2XSXSX", +"VXSXSXBX].`.(.(.g.g.g.1X=XB pXcXI.jXsXv q s.R W (.g.`.].BXSXSXSX", +"SXSXSXSXSXSXSXSXSXDXFXd.2 4 8XuXuXlXz...0 6 J $XeXBXVXZXZXSXSXSX" +}; diff --git a/2009-x64/zooScripts/icons/zooTangentWks_flattenStatic.xpm b/2009-x64/zooScripts/icons/zooTangentWks_flattenStatic.xpm new file mode 100644 index 0000000..4aab487 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooTangentWks_flattenStatic.xpm @@ -0,0 +1,281 @@ +/* XPM */ +static char *zooTangentWks_flattenStatic[] = { +/* columns rows colors chars-per-pixel */ +"32 32 243 2", +" c #797E94", +". c #7A7E94", +"X c #7C8097", +"o c #7D8299", +"O c #7E839A", +"+ c #7F839A", +"@ c #C9323B", +"# c #CA323A", +"$ c #CA323B", +"% c #D93C3B", +"& c #D93E3B", +"* c #DA3E3B", +"= c #D83F3D", +"- c red", +"; c #D8403E", +": c #D9413F", +"> c #F64C00", +", c #D7424D", +"< c #DF4340", +"1 c #DB4D40", +"2 c #DE484E", +"3 c #E1454A", +"4 c #E84E4B", +"5 c #EA4C49", +"6 c #EB4D4A", +"7 c #EB4E4B", +"8 c #EB4F4C", +"9 c #EC4C49", +"0 c #EB514E", +"q c #EB5250", +"w c #EC5350", +"e c #FF6363", +"r c #84987D", +"t c #A5B153", +"y c #DFBB0C", +"u c #E98233", +"i c #EBAC00", +"p c #EBB90C", +"a c #F68E42", +"s c #EBC518", +"d c #E5E500", +"f c #8D8993", +"g c #8D8E96", +"h c #8E8C94", +"j c #879C80", +"k c #8B9E83", +"l c #8D9985", +"z c #8F9885", +"x c #93949D", +"c c #9E9996", +"v c #8388A0", +"b c #868BA3", +"n c #888DA6", +"m c #8B91AA", +"M c #8D92AB", +"N c #9B9BA5", +"B c #9297B1", +"V c #959AB5", +"C c #979CB8", +"Z c #999FBB", +"A c #8FAE9C", +"S c #90A688", +"D c #92A88A", +"F c #97AE8F", +"G c #90AF9D", +"H c #90AF9E", +"J c #91AF9F", +"K c #9AA791", +"L c #9DA994", +"P c #9DB294", +"I c #9CB494", +"U c #9EB796", +"Y c #9AB69D", +"T c #9AB79D", +"R c #9BB79E", +"E c #9CB89E", +"W c #9CB99E", +"Q c #9DB99F", +"! c #94A9AA", +"~ c #95AAAB", +"^ c #96ABAC", +"/ c #9EA1AE", +"( c #9CA1BE", +") c #9DA3BF", +"_ c #9EA2BE", +"` c #A29D97", +"' c #A39D97", +"] c #A19E98", +"[ c #A29F99", +"{ c #A49E98", +"} c #A3A09A", +"| c #A3A19E", +" . c #A4A19B", +".. c #A7A49E", +"X. c #A9A49D", +"o. c #A8A59E", +"O. c #A9A69F", +"+. c #ABA59F", +"@. c #A7B796", +"#. c #A1B998", +"$. c #A6BD9B", +"%. c #A6BF9D", +"&. c #A7BF9E", +"*. c #B2A69F", +"=. c #A6A3A0", +"-. c #A2A3AF", +";. c #A4A5AE", +":. c #AAA6A0", +">. c #AAA7A1", +",. c #ABA8A2", +"<. c #ADAAA3", +"1. c #AEAAA4", +"2. c #AFACA5", +"3. c #AEAFB9", +"4. c #A1BAA3", +"5. c #A6BAAC", +"6. c #AFB0B9", +"7. c #B0ADA6", +"8. c #B2AFA8", +"9. c #B3AFA9", +"0. c #B4B0A9", +"q. c #B5B2AB", +"w. c #B6B3AC", +"e. c #B7BCA3", +"r. c #BAB3AC", +"t. c #BFB5AE", +"y. c #B7B4B0", +"u. c #B4B5BF", +"i. c #BAB7B0", +"p. c #BBB8B0", +"a. c #BCB8B1", +"s. c #BDB9B2", +"d. c #BEBAB3", +"f. c #BEBBB4", +"g. c #BFBCB4", +"h. c #9FA5C2", +"j. c #A0A6C2", +"k. c #A0A6C3", +"l. c #AAAEC0", +"z. c #AEB1C3", +"x. c #AEB1C4", +"c. c #AFB2C4", +"v. c #B0B3C5", +"b. c #B1B3C5", +"n. c #B0B4C3", +"m. c #B2B4C1", +"M. c #B1B4C5", +"N. c #B2B4C5", +"B. c #B5B6C1", +"V. c #B4B6C4", +"C. c #B4B6C5", +"Z. c #B5B7C5", +"A. c #B6B7C5", +"S. c #B6B8C5", +"D. c #B7B9C5", +"F. c #B8B9C5", +"G. c #B8BAC4", +"H. c #B8BAC5", +"J. c #B9BAC5", +"K. c #B9BBC5", +"L. c #BABBC5", +"P. c #A6C19F", +"I. c #A7C19E", +"U. c #A8C29F", +"Y. c #A9C29F", +"T. c #A7C1A0", +"R. c #A8C2A1", +"E. c #A9C2A0", +"W. c #A9C3A0", +"Q. c #AAC3A0", +"!. c #ABC3A2", +"~. c #AAC4A1", +"^. c #ABC4A1", +"/. c #ABC4A2", +"(. c #ACC4A3", +"). c #ADC4A3", +"_. c #AEC5A4", +"`. c #AFC5A5", +"'. c #B0C5A6", +"]. c #B1C5A7", +"[. c #B3C1AA", +"{. c #B2C2A9", +"}. c #B2C2AD", +"|. c #B3C6A9", +" X c #B6C7AB", +".X c #B5C5AE", +"XX c #B8C3A9", +"oX c #B8C7AE", +"OX c #B9C6AE", +"+X c #B9C7AE", +"@X c #B9C7AF", +"#X c #B8C8AD", +"$X c #B9C8AE", +"%X c #BAC8AF", +"&X c #B7C6B0", +"*X c #BAC8B0", +"=X c #C0BCB5", +"-X c #C1BDB6", +";X c #C2BEB7", +":X c #C1BEBB", +">X c #C8BBB4", +",X c #C3C0B8", +"X", +"CXCXCXCXCXCXCXCXCXCXBXBXBXBXfXCXBXfXfXCXCXCXCXCXVXmX7 - - - - t.", +"CXCXCXCXCXCXCXCXfX%XI.U.~.U.~.].~.~.~. XVXCXCXNXmX0 - - - - : w.", +"CXtXZ.Z.K.vXBX XU.~.~./.`.~.'.~.^.'.'.W.W.@XNXmX0 - - - - - X.9.", +"CXZ.k.h.) 5.~.~.`.`./.~.U.~.~.].W.W.W.^.^.I.+XpX- - - - - = X.w.", +"CXc.k.^ A W W.`./.I.~.%XvXBXfXCXmXfX+XI.^.W.$.7 - - - - = } 1.p.", +"CXZ.^ H A ! Q I.I.XX8X0X0X0X0X0X0X0XwXe.@.1 - - - - - = c >.w.;X", +"*XE G G G G Y }.u i p a e e e e e e e e e a p i > - & } ,.0.g.6X", +"W.T.4.G A ~ _ 3 i d d s e e e e e e e e e s d d i & } X.9.f.3XpX", +"W.~.P.T ~ , - - i d d s e e e e e e e e e s d d y l >.9.s.4XpXBX", +"%XW.+XtX2 - - - > i p a e e e e e e e e e a p y t j L s.4XpXmXBX", +"VXVXmXpX- - - - - $ h h ` c { { { { { { c { z r k S F 3XpXmXNXVX", +"VXmXmX7 - - - - $ . O x =.>.1.,.,.,.,.,.>.1.K D P #.[.mXVXCXCX", +"NXNX0 - - - - # O v n m N ;.;.w.s.p.p.s.s.s.=XI #.&.I.+XVXCXCX", +"mX8 - - - - & g O b M B C Z C C 3.3.:X5X5X5X5X5X[.I.I.I.W.~.@XCX", +"zX- - - - - ` | N -.C Z Z Z k.h.l.h.m.B.tXhXmXmXmX.XW.~./.W.W.VX", +"zX7 - - - = ..7.s.:XB.l.k.k.k.k.k.h.k.k.v.Z.L.L.dXL.L..XW.E @XCX", +"pX;Xr.*.X.,.7.s.;XpXNXtXZ.n.k.h.k.k.k.k.h.h.k.k.l.k.k.c.n.h.L.CX", +"dX6Xf.w.9.9.t.;X8XdXCXCXCXtXZ.h.k.k.k.k.h.h.k.k.k.k.k.k.k.k.Z.CX", +"mX8X4X=X=X=X;XpXdXmXCXCXCXCXNXL.A.Z.b.k.k.k.k.k.k.k.k.k.k.k.b.CX", +"mXhXpX8X8X8XpXmXNXNXCXCXCXCXCXCXCXCXkXJ.C.N.c.k.k.k.k.k.k.k.C.CX", +"NXNXmXmXmXmXNXNXCXCXCXCXCXCXCXCXCXCXCXCXCXCXkXL.L.L.L.C.C.C.tXCX", +"CXCXCXCXNXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXNXNXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX", +"CXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCXCX" +}; diff --git a/2009-x64/zooScripts/icons/zooToolBox.xpm b/2009-x64/zooScripts/icons/zooToolBox.xpm new file mode 100644 index 0000000..015bf2a --- /dev/null +++ b/2009-x64/zooScripts/icons/zooToolBox.xpm @@ -0,0 +1,729 @@ +/* XPM */ +static char * zooToolBox_xpm[] = { +"32 32 694 2", +" c #D4D0C8", +". c #C7C5C5", +"+ c #A1A3BB", +"@ c #9093B7", +"# c #8186B3", +"$ c #D5D1C9", +"% c #B5B4C0", +"& c #9094B7", +"* c #B4B3C0", +"= c #C5C3C4", +"- c #D4D2CD", +"; c #D3CFC8", +"> c #D3CFC7", +", c #C5C2C7", +"' c #CDC9C9", +") c #B9B7CE", +"! c #CECACD", +"~ c #BEBAC4", +"{ c #8A899E", +"] c #A1A2B9", +"^ c #B5B4C4", +"/ c #C7C4BE", +"( c #C4C1C1", +"_ c #CFCCC7", +": c #D2CEC6", +"< c #B6B5C1", +"[ c #C3C1C4", +"} c #9295B7", +"| c #D1CDC7", +"1 c #C4C2C7", +"2 c #B6B3C3", +"3 c #D0CECC", +"4 c #CFCBC3", +"5 c #BEBDCE", +"6 c #BEBDD9", +"7 c #B0AFCC", +"8 c #B0ABBE", +"9 c #52434B", +"0 c #3E212B", +"a c #40252F", +"b c #776A7B", +"c c #BBB8C2", +"d c #B6B6CC", +"e c #C5C4CD", +"f c #CECAC3", +"g c #D1CEC7", +"h c #CECDCC", +"i c #D3D0C9", +"j c #9EA0BA", +"k c #B7B6C1", +"l c #C1BFCE", +"m c #B1AED2", +"n c #B7B8CB", +"o c #CBCACD", +"p c #B8B9D4", +"q c #B0B0CE", +"r c #A3A3BB", +"s c #493A43", +"t c #60302A", +"u c #67201B", +"v c #863A2D", +"w c #522625", +"x c #69596A", +"y c #A9A5C3", +"z c #B7B6CC", +"A c #C4C6CF", +"B c #B6B9C5", +"C c #C5C6CB", +"D c #CDC9C2", +"E c #D0CCC4", +"F c #8B8FB5", +"G c #CAC7C6", +"H c #C5C3C9", +"I c #C6C3C6", +"J c #CECAC8", +"K c #BAB7CE", +"L c #AFABCD", +"M c #AEACD5", +"N c #B0B1D6", +"O c #8D8BA4", +"P c #5E4E56", +"Q c #4F2A27", +"R c #7E362A", +"S c #9E3B32", +"T c #902D25", +"U c #A13A2A", +"V c #9D3E2B", +"W c #863A2F", +"X c #582728", +"Y c #64505F", +"Z c #A1A2BB", +"` c #B8B9D2", +" . c #C3C0BF", +".. c #C3C2C7", +"+. c #D0CECE", +"@. c #C8C5C4", +"#. c #868AB4", +"$. c #C6C2CB", +"%. c #AFACCA", +"&. c #B5B1D1", +"*. c #B6B3D2", +"=. c #8B88A7", +"-. c #81869A", +";. c #848895", +">. c #1C1019", +",. c #5C3238", +"'. c #6F292A", +"). c #752A27", +"!. c #682621", +"~. c #6A2721", +"{. c #692924", +"]. c #5D2321", +"^. c #552421", +"/. c #492A1F", +"(. c #251C20", +"_. c #43475C", +":. c #B6B7D2", +"<. c #B4AFCA", +"[. c #BDBDC1", +"}. c #C3BFB8", +"|. c #CBC7BF", +"1. c #CCC9C4", +"2. c #8589B3", +"3. c #CCC8C1", +"4. c #B5B2C6", +"5. c #AFACC9", +"6. c #514F66", +"7. c #6D6D78", +"8. c #655F6D", +"9. c #9792A5", +"0. c #87899C", +"a. c #84899B", +"b. c #898D9B", +"c. c #838487", +"d. c #807465", +"e. c #A29077", +"f. c #5E584F", +"g. c #6B6D7A", +"h. c #9C96AB", +"i. c #9E91A5", +"j. c #9896B1", +"k. c #979BBA", +"l. c #B0B2CD", +"m. c #B3B1BF", +"n. c #B1AEA9", +"o. c #BBB8B0", +"p. c #C7C3BB", +"q. c #CAC7C2", +"r. c #ACA9AD", +"s. c #B3B1CA", +"t. c #565566", +"u. c #A5A6A5", +"v. c #C8C3D0", +"w. c #69607F", +"x. c #B5ADD6", +"y. c #B1ACDC", +"z. c #B1AEDF", +"A. c #9F98B7", +"B. c #9D8079", +"C. c #E9C2A6", +"D. c #655451", +"E. c #847C9B", +"F. c #B7AAD7", +"G. c #B1ACE2", +"H. c #B0ADE1", +"I. c #ADAED9", +"J. c #B2B4D3", +"K. c #B9BBC8", +"L. c #AEADB7", +"M. c #B7B5B9", +"N. c #C5C1BA", +"O. c #C9C6C2", +"P. c #CDC9C1", +"Q. c #C1BDB8", +"R. c #B6B1D3", +"S. c #7A7895", +"T. c #616169", +"U. c #D3D5D7", +"V. c #7B7C88", +"W. c #9595AD", +"X. c #AFAFD2", +"Y. c #ABAED5", +"Z. c #969BB7", +"`. c #978678", +" + c #D0B188", +".+ c #5E5B4F", +"++ c #778198", +"@+ c #AFADCD", +"#+ c #B0B0D3", +"$+ c #AEABD3", +"%+ c #B2AFD8", +"&+ c #AFB0D6", +"*+ c #ADB1D3", +"=+ c #B0ADC4", +"-+ c #B5B2AE", +";+ c #C4C1B9", +">+ c #CFCBC9", +",+ c #B8B9C7", +"'+ c #B7B6D2", +")+ c #B3AFD6", +"!+ c #A19DBD", +"~+ c #44414F", +"{+ c #B5B4B9", +"]+ c #CDCDD4", +"^+ c #5B5B69", +"/+ c #AEAFC9", +"(+ c #AFB0D8", +"_+ c #9A98B7", +":+ c #948675", +"<+ c #E9D0A7", +"[+ c #6D5F5E", +"}+ c #5F5E72", +"|+ c #4A4B4F", +"1+ c #464552", +"2+ c #8585A2", +"3+ c #AFB1CD", +"4+ c #AEAFCA", +"5+ c #B0AED0", +"6+ c #AAA9B1", +"7+ c #B2AFA8", +"8+ c #C2BEB7", +"9+ c #C9C6C1", +"0+ c #C7C4C1", +"a+ c #B4B3C5", +"b+ c #B3AFD3", +"c+ c #AAA5C6", +"d+ c #413E51", +"e+ c #8B898E", +"f+ c #DBDADD", +"g+ c #9B9BA5", +"h+ c #7B7A92", +"i+ c #B0AED5", +"j+ c #9F98B6", +"k+ c #988675", +"l+ c #CCB38F", +"m+ c #4C3C39", +"n+ c #302D39", +"o+ c #2E2E2B", +"p+ c #807A7B", +"q+ c #3F3D4D", +"r+ c #9999A8", +"s+ c #3E3C4D", +"t+ c #85819D", +"u+ c #B6B5C6", +"v+ c #B2B0AD", +"w+ c #C2BEB8", +"x+ c #C8C5C0", +"y+ c #CFCBC5", +"z+ c #C6C3BF", +"A+ c #BEBBBB", +"B+ c #B5B1D3", +"C+ c #B3AECF", +"D+ c #6F6B82", +"E+ c #4B494D", +"F+ c #B1AEAE", +"G+ c #C0BEC4", +"H+ c #575568", +"I+ c #A8A6C6", +"J+ c #A19AB2", +"K+ c #99867A", +"L+ c #ECD1B3", +"M+ c #5E4D41", +"N+ c #1A1311", +"O+ c #70675A", +"P+ c #40352E", +"Q+ c #4D464A", +"R+ c #535253", +"S+ c #A9A7AF", +"T+ c #76718A", +"U+ c #B2B1D1", +"V+ c #AFAEC0", +"W+ c #BFBBB5", +"X+ c #C3C0C5", +"Y+ c #B2B1D3", +"Z+ c #B2AED1", +"`+ c #B4B0CD", +" @ c #8F8CA2", +".@ c #1E1A21", +"+@ c #5D585A", +"@@ c #4C494C", +"#@ c #73717B", +"$@ c #6B687C", +"%@ c #A19CAD", +"&@ c #8E7E7B", +"*@ c #927A68", +"=@ c #4D3B29", +"-@ c #BEAC95", +";@ c #ECD6BE", +">@ c #6E6058", +",@ c #453E3E", +"'@ c #484846", +")@ c #9A9AA3", +"!@ c #8B87A5", +"~@ c #B1AFD6", +"{@ c #ACAAB1", +"]@ c #C5C2BE", +"^@ c #8488B2", +"/@ c #C0BCC6", +"(@ c #AFADD4", +"_@ c #B1AFD7", +":@ c #AEABCD", +"<@ c #4D4A63", +"[@ c #4D4B5A", +"}@ c #726D77", +"|@ c #757075", +"1@ c #535052", +"2@ c #4D4B4E", +"3@ c #66646C", +"4@ c #7D7C86", +"5@ c #2F2527", +"6@ c #806B5D", +"7@ c #E1CDAD", +"8@ c #E9CEAA", +"9@ c #8A6C53", +"0@ c #594D48", +"a@ c #4D484B", +"b@ c #424245", +"c@ c #575968", +"d@ c #AAA9CE", +"e@ c #AEACD4", +"f@ c #A6A3A1", +"g@ c #B7B3AD", +"h@ c #C3C0BB", +"i@ c #8488B1", +"j@ c #CDCAC6", +"k@ c #C3C1C5", +"l@ c #BAB6CE", +"m@ c #ABA8CC", +"n@ c #565568", +"o@ c #3B3A44", +"p@ c #7D7B86", +"q@ c #CFCDD0", +"r@ c #7B777B", +"s@ c #2A282E", +"t@ c #D0D2D3", +"u@ c #CCCFD0", +"v@ c #919193", +"w@ c #3C2E29", +"x@ c #C0A68D", +"y@ c #ECD8AF", +"z@ c #C7B694", +"A@ c #53413F", +"B@ c #836879", +"C@ c #A2979A", +"D@ c #61606A", +"E@ c #5E556B", +"F@ c #8C8FAA", +"G@ c #B2ADD4", +"H@ c #ABA8C4", +"I@ c #A5A29B", +"J@ c #B8B4AD", +"K@ c #C4C1BC", +"L@ c #CCCAC6", +"M@ c #B7B6C6", +"N@ c #B4B1D2", +"O@ c #7A7693", +"P@ c #9F9EA8", +"Q@ c #C7C5C7", +"R@ c #C8C2C9", +"S@ c #9F9A98", +"T@ c #312D2C", +"U@ c #302C31", +"V@ c #88848B", +"W@ c #746B6A", +"X@ c #766857", +"Y@ c #E4D1AA", +"Z@ c #E9D2AE", +"`@ c #978176", +" # c #2B191C", +".# c #766866", +"+# c #9D938E", +"@# c #90767C", +"## c #554C49", +"$# c #555E5D", +"%# c #7C6E86", +"&# c #B0AFD3", +"*# c #A5A3B5", +"=# c #A9A69F", +"-# c #BCB8B1", +";# c #C6C3BE", +"># c #C6C4BF", +",# c #B5B2CD", +"'# c #928DA7", +")# c #7D7A82", +"!# c #817D7F", +"~# c #787179", +"{# c #4C4447", +"]# c #5D574F", +"^# c #292021", +"/# c #60545D", +"(# c #7B6764", +"_# c #EED4B4", +":# c #D8C19B", +"<# c #5D4D3D", +"[# c #776864", +"}# c #5C4F53", +"|# c #423939", +"1# c #8C8B84", +"2# c #4A2224", +"3# c #7B433E", +"4# c #704540", +"5# c #210D18", +"6# c #959BB5", +"7# c #A6A5AE", +"8# c #AEAAA4", +"9# c #C1BDB6", +"0# c #C8C4BC", +"a# c #B8B4B9", +"b# c #A7A5C1", +"c# c #40404F", +"d# c #33323C", +"e# c #524E60", +"f# c #8B8794", +"g# c #211713", +"h# c #41342E", +"i# c #827476", +"j# c #6A5957", +"k# c #9E8B79", +"l# c #4E3D3A", +"m# c #4E4447", +"n# c #756F62", +"o# c #39362A", +"p# c #645F63", +"q# c #504B52", +"r# c #4A080A", +"s# c #761F1F", +"t# c #682022", +"u# c #18080A", +"v# c #717481", +"w# c #A4A2A0", +"x# c #CBC8C3", +"y# c #CDCAC5", +"z# c #BFBCB8", +"A# c #B4B5D4", +"B# c #9396B1", +"C# c #5C5E75", +"D# c #ACACCA", +"E# c #83829C", +"F# c #766762", +"G# c #978575", +"H# c #534A41", +"I# c #5A5553", +"J# c #605A60", +"K# c #6D6772", +"L# c #625D65", +"M# c #484546", +"N# c #686766", +"O# c #4F4E51", +"P# c #736969", +"Q# c #8C1A22", +"R# c #510D0E", +"S# c #363027", +"T# c #746263", +"U# c #575053", +"V# c #A4A19B", +"W# c #B6B3AC", +"X# c #CECBC6", +"Y# c #CFCBC4", +"Z# c #BFBCC4", +"`# c #B1ACD0", +" $ c #ACAAD9", +".$ c #ADAEE0", +"+$ c #B1B1DB", +"@$ c #89869E", +"#$ c #8E7866", +"$$ c #E2C7AA", +"%$ c #786454", +"&$ c #5B4F4F", +"*$ c #9D96A3", +"=$ c #706A77", +"-$ c #7C777D", +";$ c #1D1D1E", +">$ c #8E8E91", +",$ c #797680", +"'$ c #452D39", +")$ c #4E1618", +"!$ c #64503C", +"~$ c #E0CCA9", +"{$ c #B39785", +"]$ c #363131", +"^$ c #A6A39D", +"/$ c #BAB7B0", +"($ c #C8C4BD", +"_$ c #B7B3BB", +":$ c #B1AECB", +"<$ c #ADAED1", +"[$ c #A6A8C2", +"}$ c #545661", +"|$ c #9B8A6B", +"1$ c #EFD6B0", +"2$ c #695647", +"3$ c #554A47", +"4$ c #5D5B58", +"5$ c #4E4E4C", +"6$ c #CCC9CD", +"7$ c #A7A7AF", +"8$ c #CBCAD2", +"9$ c #575154", +"0$ c #22120F", +"a$ c #957B69", +"b$ c #E8D8B5", +"c$ c #F4D5AB", +"d$ c #C4AB90", +"e$ c #1B1F1A", +"f$ c #A9A5A0", +"g$ c #BEBBB4", +"h$ c #CAC6BF", +"i$ c #ABA8AB", +"j$ c #888699", +"k$ c #2A2936", +"l$ c #0F0D13", +"m$ c #A69477", +"n$ c #EAD2B3", +"o$ c #523E3A", +"p$ c #473D40", +"q$ c #4A4A44", +"r$ c #50524A", +"s$ c #A19FA2", +"t$ c #B5B3BE", +"u$ c #3C363D", +"v$ c #2F231C", +"w$ c #BCAA8D", +"x$ c #F3DAB5", +"y$ c #F6D5AE", +"z$ c #FDD2A9", +"A$ c #D5B99D", +"B$ c #191712", +"C$ c #9E9B96", +"D$ c #BFBCB4", +"E$ c #C1BEB7", +"F$ c #5C575C", +"G$ c #3A2F33", +"H$ c #645554", +"I$ c #62534E", +"J$ c #B79C82", +"K$ c #ECCFB2", +"L$ c #402A22", +"M$ c #625455", +"N$ c #353032", +"O$ c #100D0F", +"P$ c #B0AAAE", +"Q$ c #645B5D", +"R$ c #54463C", +"S$ c #D9C2A3", +"T$ c #F5D8AD", +"U$ c #F6D1A8", +"V$ c #FCD0AE", +"W$ c #F7D2AE", +"X$ c #B59E8A", +"Y$ c #170E11", +"Z$ c #918F8A", +"`$ c #C8C5BD", +" % c #2B2620", +".% c #B4A38D", +"+% c #CAB093", +"@% c #C9AD8D", +"#% c #EDCBA4", +"$% c #F5D5A8", +"%% c #C5AC85", +"&% c #72624C", +"*% c #4F4340", +"=% c #544953", +"-% c #2E2328", +";% c #77695B", +">% c #E6CFAE", +",% c #F5D4A9", +"'% c #F8D2A5", +")% c #F7D3AC", +"!% c #EECDAE", +"~% c #877B5F", +"{% c #13120A", +"]% c #332F35", +"^% c #9F9B96", +"/% c #3A322E", +"(% c #D0BAA3", +"_% c #F3D4AF", +":% c #F8D6AA", +"<% c #F5D2A8", +"[% c #F6D3A9", +"}% c #F6D5AA", +"|% c #F3D7AD", +"1% c #E5CBA5", +"2% c #7C6958", +"3% c #5C4F4E", +"4% c #9A8471", +"5% c #F9D2A7", +"6% c #FBD3A1", +"7% c #F2D5AC", +"8% c #DBC4AA", +"9% c #52473D", +"0% c #0D0D0D", +"a% c #595858", +"b% c #999691", +"c% c #ABA8A2", +"d% c #5E5550", +"e% c #C6AD97", +"f% c #F7D4AE", +"g% c #FBD3A6", +"h% c #F9D3AA", +"i% c #F7D1AC", +"j% c #F8D3AE", +"k% c #F8D4AF", +"l% c #F6D3AF", +"m% c #A98E78", +"n% c #82736D", +"o% c #756051", +"p% c #F4D2AE", +"q% c #F4D5AF", +"r% c #AE9C83", +"s% c #261C16", +"t% c #2C2A28", +"u% c #82817E", +"v% c #9B9892", +"w% c #B4B0A9", +"x% c #C3C0B8", +"y% c #C9C6C5", +"z% c #89847F", +"A% c #796C64", +"B% c #B19C88", +"C% c #E2C6AA", +"D% c #F2D4AE", +"E% c #F5D4AC", +"F% c #F8D3AC", +"G% c #FAD3AC", +"H% c #BC9D84", +"I% c #807169", +"J% c #51433A", +"K% c #E3CCB7", +"L% c #776656", +"M% c #110D0B", +"N% c #52514F", +"O% c #96948F", +"P% c #9E9B95", +"Q% c #A7A49E", +"R% c #B3AFA9", +"S% c #C0BCB5", +"T% c #B6B5C0", +"U% c #C6C2BB", +"V% c #B4B1AA", +"W% c #939089", +"X% c #6B645E", +"Y% c #7A6E5D", +"Z% c #A9987D", +"`% c #D8C1A1", +" & c #F1D5B1", +".& c #F6D4AE", +"+& c #B99E86", +"@& c #766B65", +"#& c #26201E", +"$& c #413530", +"%& c #302826", +"&& c #7C7A77", +"*& c #A29F99", +"=& c #ADAAA3", +"-& c #D1CDC5", +";& c #D0CCC6", +">& c #9396B8", +",& c #C2C0C4", +"'& c #B9B8C1", +")& c #C7C4C3", +"!& c #A19E98", +"~& c #8A8681", +"{& c #665E57", +"]& c #68584D", +"^& c #9F8674", +"/& c #A79384", +"(& c #3F3C3A", +"_& c #0D0E12", +":& c #4D4847", +"<& c #94908C", +"[& c #BEBAB3", +"}& c #B8B7C0", +"|& c #9C9EBA", +"1& c #7E83AF", +"2& c #7B80AB", +"3& c #767BA4", +"4& c #72779F", +"5& c #6E7298", +"6& c #6A6E93", +"7& c #666A8D", +"8& c #5E6181", +"9& c #48485F", +"0& c #312F3D", +"a& c #1E1D26", +"b& c #4E5168", +"c& c #5F6283", +"d& c #636689", +"e& c #696D92", +"f& c #70749B", +"g& c #8085B2", +"h& c #8C90B6", +"i& c #ACA9A2", +"j& c #A5A29C", +"k& c #9F9C97", +" ", +" . + @ # # # # # # # # # # # # # # # # # # # # @ + . $ ", +" % & * = - ; > > , ' ) ! ~ { ] ^ / ( _ : > = * & < ", +" [ } | > 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i > | } [ ", +" j k > : l m n o p q r s t u v w x y z A B C D E : k j ", +" F G $ H I J K L M N O P Q R S T U V W X Y Z ` ...+.E @.F ", +" #._ : $.%.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2. ", +" #._ : 3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.2. ", +" #._ : |.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.2. ", +" #._ : P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+O.2. ", +" #._ >+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+2. ", +" #._ > : 0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+2. ", +" #._ > y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+x+2. ", +" #._ > X+7 Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@o.]@^@> ", +" #._ : /@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@> ", +" #.j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@i@> ", +" #.L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#2. ", +" 2.1.>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#O.2. ", +" 2.1.0#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#7+;+x#2. ", +" #.y#|.z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#0#1.#. ", +" #.X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$|.y##. ", +" #.X#: ($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$P.y##. ", +" #._ : h$-#i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$D$f X##. ", +" #._ : f E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$D$D X##. ", +" #._ > : `$ %.%+%@%#%$%%%&%*%=%-%;%>%,%'%)%!%~%{%]%^%g$D y##. ", +" #._ : f /%(%_%:%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%b%c%D$D y##. ", +" F G > f d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%V#w%x%4 y%F ", +" j k > 4 z%A%B%C%D%c$E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%|.: T%j ", +" [ } | > E U%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&v%*&=&J@}.|.-&;&>&,& ", +" % & '&)&|.g$7+=#!&~&{&]&^&/&(&_&:&<&P%Q%7+[&0#D )&}&& % ", +" . |&F 1&2&3&4&5&6&7&8&9&0&a&b&c&d&e&f&3&2&1&g&h&|&. ", +" > : f |.p.9#/$w%i&j&k&!&Q%7+[&0#f : > "}; diff --git a/2009-x64/zooScripts/icons/zooTriggerator.bmp b/2009-x64/zooScripts/icons/zooTriggerator.bmp new file mode 100644 index 0000000..1b33c3d Binary files /dev/null and b/2009-x64/zooScripts/icons/zooTriggerator.bmp differ diff --git a/2009-x64/zooScripts/icons/zooTriggered_0.xpm b/2009-x64/zooScripts/icons/zooTriggered_0.xpm new file mode 100644 index 0000000..feab93b --- /dev/null +++ b/2009-x64/zooScripts/icons/zooTriggered_0.xpm @@ -0,0 +1,199 @@ +/* XPM */ +static char * zooTriggered_0_xpm[] = { +"32 32 163 2", +" c #D3CFC7", +". c #D2CFC6", +"+ c #D1CEC6", +"@ c #CFCDC4", +"# c #CDCBC1", +"$ c #C9C8BE", +"% c #C5C6BA", +"& c #C1C3B7", +"* c #BDC0B3", +"= c #B9BEB0", +"- c #B7BCAE", +"; c #B5BBAC", +"> c #B4BAAC", +", c #B4BAAB", +"' c #B3B9AA", +") c #CDCDC9", +"! c #C9C9C7", +"~ c #C5C5C3", +"{ c #C0C0BE", +"] c #BABAB8", +"^ c #B4B4B2", +"/ c #AEAFAD", +"( c #A7A9A7", +"_ c #A4A6A4", +": c #A0A2A0", +"< c #9FA19F", +"[ c #9D9F9D", +"} c #9C9E9C", +"| c #BDBDBD", +"1 c #B4B4B4", +"2 c #AAAAAA", +"3 c #A1A1A1", +"4 c #8E8E8E", +"5 c #585858", +"6 c #383838", +"7 c #2B2B2B", +"8 c #252525", +"9 c #1F1F1F", +"0 c #B1B1B1", +"a c #A3A3A3", +"b c #646464", +"c c #161616", +"d c #0D0D0D", +"e c #1E1E1E", +"f c #212121", +"g c #232323", +"h c #262626", +"i c #242424", +"j c #222222", +"k c #171717", +"l c #414141", +"m c #151515", +"n c #2A2A2A", +"o c #303030", +"p c #313131", +"q c #323232", +"r c #2C2C2C", +"s c #656565", +"t c #666666", +"u c #888888", +"v c #959595", +"w c #878787", +"x c #6D6D6D", +"y c #5B5B5B", +"z c #505050", +"A c #4A4A4A", +"B c #424242", +"C c #353535", +"D c #343434", +"E c #2D2D2D", +"F c #333333", +"G c #4D4D4D", +"H c #939393", +"I c #C7C7C7", +"J c #D1D1D1", +"K c #6C6C6C", +"L c #434343", +"M c #3E3E3E", +"N c #3B3B3B", +"O c #3A3A3A", +"P c #393939", +"Q c #363636", +"R c #373737", +"S c #181818", +"T c #0F0F0F", +"U c #949494", +"V c #B9B9B9", +"W c #CACACA", +"X c #B2B2B2", +"Y c #7D7D7D", +"Z c #555555", +"` c #454545", +" . c #101010", +".. c #A8AAA8", +"+. c #5A5A5A", +"@. c #1A1A1A", +"#. c #BCBCBC", +"$. c #797979", +"%. c #494949", +"&. c #3C3C3C", +"*. c #3D3D3D", +"=. c #1D1D1D", +"-. c #CECECE", +";. c #C4C4C4", +">. c #858585", +",. c #3F3F3F", +"'. c #404040", +"). c #292929", +"!. c #A1A3A1", +"~. c #2F2F2F", +"{. c #909090", +"]. c #D3D3D3", +"^. c #9F9F9F", +"/. c #2E2E2E", +"(. c #A8A8A8", +"_. c #BBBBBB", +":. c #747474", +"<. c #444444", +"[. c #464646", +"}. c #474747", +"|. c #A9A9A9", +"1. c #8F8F8F", +"2. c #575757", +"3. c #484848", +"4. c #272727", +"5. c #989898", +"6. c #707070", +"7. c #4E4E4E", +"8. c #4B4B4B", +"9. c #4C4C4C", +"0. c #898989", +"a. c #606060", +"b. c #4F4F4F", +"c. c #282828", +"d. c #818181", +"e. c #595959", +"f. c #515151", +"g. c #525252", +"h. c #535353", +"i. c #787878", +"j. c #545454", +"k. c #565656", +"l. c #737373", +"m. c #5C5C5C", +"n. c #6E6E6E", +"o. c #5D5D5D", +"p. c #5E5E5E", +"q. c #5F5F5F", +"r. c #6B6B6B", +"s. c #616161", +"t. c #626262", +"u. c #636363", +"v. c #6A6A6A", +"w. c #676767", +"x. c #686868", +"y. c #696969", +"z. c #6F6F6F", +"A. c #727272", +"B. c #717171", +"C. c #757575", +"D. c #767676", +"E. c #777777", +"F. c #1B1B1B", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . ", +". ) ! ~ { ] ^ / ( _ : < [ [ } } } } [ [ < : _ ( / ^ ] { ~ ! ) . ", +"+ ! ~ | 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 | ~ ! + ", +"@ ~ | 0 a b c d c e f g h 8 h h h h h h i j e k d c b a 0 | ~ @ ", +"# { 1 a l m n o o o o p p p p p p p p q p q q q q r c l a 1 { # ", +"$ ] 2 s m q q q 6 t u v v w x y z A B 6 C D D C C D D k s 2 ] $ ", +"% ^ 3 k E F G H I J | v K z L M N O P P Q Q R R R R R o S 3 ^ % ", +"& / 4 T C C U V W X Y Z ` M N N N N N N P P P O O O O O .4 / & ", +"* ..+.@.R M #.I 1 $.%.M &.N N &.&.&.*.*.&.*.*.*.*.*.*.*.=.+...* ", +"= _ &.i P t -.;.>.N N N &.&.*.*.M M M M ,.,.'.'.'.'.'.'.).&._ = ", +"- !.~.n N {.].^.Z *.M M M ,.,.'.'.'.l B B B L L L L L L o p !.- ", +"; < n /.*.(._.:.` ,.'.'.l l B B L <.<.<.` ` [.[.[.[.}.[.C r < ; ", +"> [ i F ,.|.1.2.<.B B L L <.` ` ` [.}.}.3.3.%.%.A A A A N 4.[ > ", +", [ 8 D l 5.6.7.` <.` ` [.}.}.3.3.%.A A 8.8.9.9.G G G G M 4.[ , ", +"' [ h C L 0.a.8.}.[.}.3.3.%.A A 8.9.9.G 7.b.b.z z z z z '.c.[ ' ", +"' } h R ` d.e.9.%.3.%.A 8.9.9.G 7.7.b.z f.f.g.h.h.h.h.h.B ).} ' ", +"' } 4.P }.i.2.G 8.8.8.9.G 7.b.b.z f.g.h.h.j.Z Z k.k.k.k.` n } ' ", +"' [ 4.O %.l.5 7.7.G 7.7.b.z f.g.h.j.j.Z k.2.5 5 e.e.5 5 }.7 [ ' ", +", [ c.&.8.6.k.z z b.z f.f.g.j.j.Z k.2.5 e.+.+.y y m.y y %.r [ , ", +"> [ ).*.G n.k.g.g.f.g.h.j.Z k.2.5 e.+.y m.o.p.p.q.q.q.q.9.E [ > ", +"; < o N b.r.5 j.j.h.Z k.2.5 e.+.y m.o.p.q.a.a.s.t.t.t.t.A F < ; ", +"- !.Q O f.x e.k.Z k.2.5 e.+.y m.p.p.q.s.t.u.b s s s s s %.O !.- ", +"= _ L C j.v.y 2.2.5 +.y m.o.p.q.a.s.u.b s t w.x.x.x.x.x.L [._ = ", +"* ..a.).k.m.y 5 e.y m.o.q.a.s.t.u.s t w.x.y.v.r.r.r.K K D s...* ", +"& / 1.S 5 5 m.+.m.o.p.a.s.t.u.s t w.x.v.r.K x x n.z.z.z.9 {./ & ", +"% ^ 3 g b.+.m.m.p.q.s.t.u.s t w.x.v.r.x x z.6.6.A.B.A.b ).3 ^ % ", +"$ ] 2 K c.m.o.p.a.s.u.b s w.x.v.r.K x z.6.A.l.l.:.C.C.F K 2 ] $ ", +"# { 1 a 7.).j.a.s.u.b t x.y.v.K x n.6.A.l.:.C.D.E.y.D f.a 1 { # ", +"@ ~ | 0 a K 8 F.o l A b.Z Z 2.2.e.+.y o.e.Z 9.O j 7 x a 0 | ~ @ ", +"+ ! ~ | 1 2 3 {.u.3.&.R p q q q F F F D O ,.A u.{.3 2 1 | ~ ! + ", +". ) ! ~ { ] ^ / ( _ : < [ [ } } } } [ [ < : _ ( / ^ ] { ~ ! ) . ", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . "}; + diff --git a/2009-x64/zooScripts/icons/zooTriggered_1.xpm b/2009-x64/zooScripts/icons/zooTriggered_1.xpm new file mode 100644 index 0000000..389d398 --- /dev/null +++ b/2009-x64/zooScripts/icons/zooTriggered_1.xpm @@ -0,0 +1,409 @@ +/* XPM */ +static char * zooTriggered_1_xpm[] = { +"32 32 373 2", +" c #D3CFC7", +". c #D2CFC6", +"+ c #D1CEC6", +"@ c #CFCDC4", +"# c #CDCBC1", +"$ c #C9C8BE", +"% c #C5C6BA", +"& c #C1C3B7", +"* c #BDC0B3", +"= c #B9BEB0", +"- c #B7BCAE", +"; c #B5BBAC", +"> c #B4BAAC", +", c #B4BAAB", +"' c #B3B9AA", +") c #D1CEC5", +"! c #CECCC3", +"~ c #CAC9BF", +"{ c #C4C5BA", +"] c #BCC0B3", +"^ c #AEB6A6", +"/ c #A7B1A0", +"( c #A2AE9C", +"_ c #9EAB98", +": c #9CAA96", +"< c #9AA994", +"[ c #9AA894", +"} c #99A893", +"| c #C9C9BF", +"1 c #B6BBAD", +"2 c #A9B3A2", +"3 c #9DAB97", +"4 c #879A83", +"5 c #4B6849", +"6 c #284928", +"7 c #1B3B1B", +"8 c #153515", +"9 c #0F2F0F", +"0 c #B2B9AA", +"a c #A1AD9A", +"b c #587356", +"c c #082408", +"d c #001A00", +"e c #002D00", +"f c #003C00", +"g c #004300", +"h c #004700", +"i c #004C00", +"j c #004B00", +"k c #004900", +"l c #004500", +"m c #003D00", +"n c #002E00", +"o c #001B00", +"p c #082508", +"q c #325231", +"r c #002B00", +"s c #005500", +"t c #006100", +"u c #006200", +"v c #006300", +"w c #006400", +"x c #006500", +"y c #005800", +"z c #002C00", +"A c #587456", +"B c #086908", +"C c #408C40", +"D c #6BA66B", +"E c #7BAF7B", +"F c #7BB07B", +"G c #69A569", +"H c #499249", +"I c #328532", +"J c #247D24", +"K c #1C781C", +"L c #127312", +"M c #056B05", +"N c #016A01", +"O c #006800", +"P c #006900", +"Q c #006A00", +"R c #082708", +"S c #005B00", +"T c #006700", +"U c #207B20", +"V c #78AF78", +"W c #B9D6B9", +"X c #C5DDC5", +"Y c #ACCEAC", +"Z c #79B179", +"` c #469346", +" . c #237E23", +".. c #127512", +"+. c #0B710B", +"@. c #077007", +"#. c #066F06", +"$. c #046E04", +"%. c #046F04", +"&. c #006D00", +"*. c #006E00", +"=. c #006F00", +"-. c #082908", +";. c #001E00", +">. c #006B00", +",. c #78B178", +"'. c #A7CCA7", +"). c #BCD8BC", +"!. c #9DC79D", +"~. c #5AA15A", +"{. c #278427", +"]. c #117911", +"^. c #087408", +"/. c #057205", +"(. c #047304", +"_. c #037303", +":. c #027402", +"<. c #007300", +"[. c #007400", +"}. c #007500", +"|. c #002000", +"1. c #A8B2A0", +"2. c #4B6B49", +"3. c #003500", +"4. c #AACFAA", +"5. c #B8D7B8", +"6. c #9FCA9F", +"7. c #539F53", +"8. c #157E15", +"9. c #067606", +"0. c #037603", +"a. c #027502", +"b. c #027602", +"c. c #027702", +"d. c #027802", +"e. c #017901", +"f. c #007900", +"g. c #007A00", +"h. c #007B00", +"i. c #003B00", +"j. c #285028", +"k. c #3A933A", +"l. c #C0DCC0", +"m. c #B3D6B3", +"n. c #61A961", +"o. c #007600", +"p. c #007700", +"q. c #007C00", +"r. c #007D00", +"s. c #007F00", +"t. c #007E00", +"u. c #008000", +"v. c #008100", +"w. c #005200", +"x. c #285128", +"y. c #9FAC99", +"z. c #1B441B", +"A. c #6FB26F", +"B. c #C6E1C6", +"C. c #82BD82", +"D. c #208B20", +"E. c #008200", +"F. c #008400", +"G. c #008500", +"H. c #008600", +"I. c #008700", +"J. c #1B471B", +"K. c #153F15", +"L. c #005C00", +"M. c #8CC48C", +"N. c #A5D1A5", +"O. c #47A147", +"P. c #088208", +"Q. c #008300", +"R. c #008800", +"S. c #008900", +"T. c #008A00", +"U. c #008B00", +"V. c #008C00", +"W. c #008D00", +"X. c #008E00", +"Y. c #154315", +"Z. c #0F3A0F", +"`. c #006600", +" + c #8DC68D", +".+ c #69B569", +"++ c #1F901F", +"@+ c #048504", +"#+ c #008F00", +"$+ c #009100", +"%+ c #009200", +"&+ c #009300", +"*+ c #009400", +"=+ c #0F3F0F", +"-+ c #0F3B0F", +";+ c #74BC74", +">+ c #3EA33E", +",+ c #0F8E0F", +"'+ c #028802", +")+ c #009000", +"!+ c #009500", +"~+ c #009600", +"{+ c #009700", +"]+ c #009800", +"^+ c #009900", +"/+ c #009A00", +"(+ c #0F400F", +"_+ c #0F3D0F", +":+ c #5EB45E", +"<+ c #269B26", +"[+ c #098E09", +"}+ c #028D02", +"|+ c #009B00", +"1+ c #009D00", +"2+ c #009E00", +"3+ c #00A000", +"4+ c #00A100", +"5+ c #0F420F", +"6+ c #51B151", +"7+ c #199919", +"8+ c #079207", +"9+ c #029102", +"0+ c #009C00", +"a+ c #009F00", +"b+ c #00A200", +"c+ c #00A300", +"d+ c #00A400", +"e+ c #00A600", +"f+ c #00A700", +"g+ c #0F440F", +"h+ c #007200", +"i+ c #43AD43", +"j+ c #159A15", +"k+ c #059505", +"l+ c #029502", +"m+ c #00A900", +"n+ c #00AA00", +"o+ c #00AB00", +"p+ c #00AC00", +"q+ c #0F450F", +"r+ c #3BAC3B", +"s+ c #139D13", +"t+ c #049804", +"u+ c #029A02", +"v+ c #00A800", +"w+ c #00AD00", +"x+ c #00AF00", +"y+ c #00B000", +"z+ c #00B100", +"A+ c #00B200", +"B+ c #0F470F", +"C+ c #007800", +"D+ c #34AC34", +"E+ c #0E9F0E", +"F+ c #049D04", +"G+ c #029E02", +"H+ c #00A500", +"I+ c #00AE00", +"J+ c #00B300", +"K+ c #00B400", +"L+ c #00B500", +"M+ c #00B700", +"N+ c #00B800", +"O+ c #0F490F", +"P+ c #0F430F", +"Q+ c #2EAE2E", +"R+ c #0AA20A", +"S+ c #04A004", +"T+ c #02A202", +"U+ c #00B600", +"V+ c #00BA00", +"W+ c #00BC00", +"X+ c #00BD00", +"Y+ c #00BE00", +"Z+ c #0F4B0F", +"`+ c #154B15", +" @ c #28AF28", +".@ c #0AA60A", +"+@ c #04A404", +"@@ c #02A602", +"#@ c #00C000", +"$@ c #00C100", +"%@ c #00C300", +"&@ c #00C400", +"*@ c #00C500", +"=@ c #155215", +"-@ c #1B521B", +";@ c #27B327", +">@ c #0AA90A", +",@ c #04A904", +"'@ c #01AA01", +")@ c #00B900", +"!@ c #00BF00", +"~@ c #00C700", +"{@ c #00C800", +"]@ c #00CA00", +"^@ c #00CB00", +"/@ c #1B591B", +"(@ c #285F28", +"_@ c #20B420", +":@ c #09AD09", +"<@ c #02AD02", +"[@ c #00C600", +"}@ c #00CC00", +"|@ c #00CE00", +"1@ c #00D000", +"2@ c #00D100", +"3@ c #286428", +"4@ c #4B7849", +"5@ c #08B008", +"6@ c #05B105", +"7@ c #00C200", +"8@ c #00CF00", +"9@ c #00D300", +"0@ c #00D500", +"a@ c #00D600", +"b@ c #00D700", +"c@ c #00D800", +"d@ c #4B7A49", +"e@ c #879C83", +"f@ c #003000", +"g@ c #04B404", +"h@ c #00BB00", +"i@ c #00D400", +"j@ c #00D900", +"k@ c #00DB00", +"l@ c #00DD00", +"m@ c #00DE00", +"n@ c #003E00", +"o@ c #879D83", +"p@ c #083E08", +"q@ c #01B701", +"r@ c #00DA00", +"s@ c #00E100", +"t@ c #00E400", +"u@ c #00E300", +"v@ c #00C900", +"w@ c #084A08", +"x@ c #588256", +"y@ c #005000", +"z@ c #00DF00", +"A@ c #00E700", +"B@ c #00E900", +"C@ c #00EA00", +"D@ c #588356", +"E@ c #326B31", +"F@ c #005300", +"G@ c #00CD00", +"H@ c #00E800", +"I@ c #00EB00", +"J@ c #00ED00", +"K@ c #00EF00", +"L@ c #327131", +"M@ c #084308", +"N@ c #003700", +"O@ c #006000", +"P@ c #004400", +"Q@ c #084E08", +"R@ c #588556", +"S@ c #4B7D49", +"T@ c #286828", +"U@ c #1B5E1B", +"V@ c #155A15", +"W@ c #0F540F", +"X@ c #0F550F", +"Y@ c #0F560F", +"Z@ c #0F570F", +"`@ c #0F580F", +" # c #0F590F", +".# c #155F15", +"+# c #1B641B", +"@# c #286D28", +"## c #4B7E49", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . ", +". ) ! ~ { ] ; ^ / ( _ : < [ } } } } [ < : _ ( / ^ ; ] { ~ ! ) . ", +"+ ! | & 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 9 8 7 6 5 4 3 2 1 & | ! + ", +"@ ~ & 0 a b c d e f g h i j i i i i i i k l m n o p b a 0 & ~ @ ", +"# { 1 a q r s t t t t u u u v v v v v w v x w x w y z q a 1 { # ", +"$ ] 2 A r w w w B C D E F G H I J K L M N O P Q Q P P n A 2 ] $ ", +"% ; 3 R S T U V W X Y Z ` ...+.@.#.$.%.&.&.*.*.=.*.*.t -.3 ; % ", +"& ^ 4 ;.>.>.,.'.).!.~.{.].^./.(.(.(._.:.<.<.<.[.}.[.[.[.|.4 ^ & ", +"* 1.2.3.=.^.4.5.6.7.8.9.0.a.a.b.c.c.d.e.f.g.g.g.h.g.h.g.i.2.1.* ", +"= ( j.k <.k.l.m.n.o.o.p.f.f.g.g.q.q.q.r.s.t.u.v.u.u.u.v.w.x.( = ", +"- y.z.s p.A.B.C.D.h.q.q.r.t.s.u.v.v.E.F.F.G.H.H.I.I.I.I.t J.y.- ", +"; : K.L.h.M.N.O.P.s.u.v.Q.Q.F.G.H.R.R.S.T.U.V.W.W.W.X.W.>.Y.: ; ", +"> < Z.`.s. +.+++@+F.G.I.I.R.T.U.U.W.X.#+$+$+%+&+*+*+*+*+o.=+< > ", +", [ -+P Q.;+>+,+'+S.T.U.V.X.#+)+$+&+*+!+~+{+]+^+/+/+/+/+q.(+[ , ", +"' [ _+>.I.:+<+[+}+W.#+$+$+&+*+!+{+]+^+|+1+2+2+3+3+3+4+3+u.5+[ ' ", +"' } _+*.U.6+7+8+9+$+&+*+{+]+^+|+0+1+a+4+b+c+d+e+e+f+e+e+G.g+} ' ", +"' } =+h+#+i+j+k+l+~+{+^+|+0+2+a+4+c+d+e+f+m+n+o+p+p+p+p+T.q+} ' ", +"' [ (+}.&+r+s+t+u+/+0+1+a+4+c+d+e+v+m+o+w+x+y+z+A+A+z+z+X.B+[ ' ", +", [ 5+C+{+D+E+F+G+2+3+b+c+H+v+m+o+w+I+z+J+K+L+M+M+N+M+M+&+O+[ , ", +"> < P+h.|+Q+R+S+T+c+H+f+m+o+w+x+z+A+K+U+N+V+W+X+Y+Y+Y+Y+]+Z+< > ", +"; : `+p.a+ @.@+@@@f+n+p+I+y+A+K+U+N+V+W+Y+#@$@%@&@&@*@&@*+=@: ; ", +"- y.-@[.c+;@>@,@'@w+I+z+J+L+M+)@W+X+!@%@*@~@{@]@]@]@^@]@%+/@y.- ", +"= ( (@Q v+_@:@<@x+z+K+U+)@V+W+!@$@%@[@{@]@}@|@1@2@2@2@2@H.3@( = ", +"* 1.4@w.p+5@6@y+J+U+)@V+Y+#@7@*@~@]@}@8@1@9@0@a@b@b@c@c@O d@1.* ", +"& ^ e@f@y+z+g@L+N+h@X+#@7@*@~@]@}@8@2@i@a@j@k@k@l@m@m@m@n@o@^ & ", +"% ; 3 p@2+L+q@)@W+!@7@&@~@]@}@8@2@i@b@r@k@m@s@s@t@u@t@v@w@3 ; % ", +"$ ] 2 x@y@N+h@X+#@%@[@{@^@8@1@i@b@j@k@z@s@t@A@A@B@C@C@T D@2 ] $ ", +"# { 1 a E@F@m+$@%@~@v@G@1@9@0@c@k@l@s@t@A@H@I@J@K@9@P L@a 1 { # ", +"@ ~ & 0 a x@M@N@O@E.*+2+n+o+I+x+A+K+M+V+A+o+^+}.P@Q@R@a 0 & ~ @ ", +"+ ! | & 1 2 3 o@S@T@U@V@W@X@Y@Y@Z@Z@`@ #.#+#@###o@3 2 1 & | ! + ", +". ) ! ~ { ] ; ^ / ( _ : < [ } } } } [ < : _ ( / ^ ; ] { ~ ! ) . ", +" . + @ # $ % & * = - ; > , , ' ' , , > ; - = * & % $ # @ + . "}; + diff --git a/2009-x64/zooScripts/icons/zooWeightSave.xpm b/2009-x64/zooScripts/icons/zooWeightSave.xpm new file mode 100644 index 0000000..cc952bf --- /dev/null +++ b/2009-x64/zooScripts/icons/zooWeightSave.xpm @@ -0,0 +1,294 @@ +/* XPM */ +static char *zooWeightSave[] = { +/* columns rows colors chars-per-pixel */ +"32 32 256 2", +" c black", +". c #000002", +"X c #070708", +"o c #000A0C", +"O c #08080A", +"+ c #0A0A11", +"@ c #041305", +"# c #041719", +"$ c #100C13", +"% c #191909", +"& c #1B1818", +"* c #16172E", +"= c #1A241A", +"- c #082831", +"; c #142528", +": c #11283B", +"> c #14363D", +", c #25251C", +"< c #262827", +"1 c #222C32", +"2 c #23382F", +"3 c #21333E", +"4 c #283435", +"5 c #2D3036", +"6 c #2F3934", +"7 c #2B3B39", +"8 c #30312F", +"9 c #343534", +"0 c #323B3B", +"q c #163243", +"w c #2D3C43", +"e c #363F40", +"r c #32453A", +"t c #0D4556", +"y c #154A65", +"u c #176074", +"i c #2E4946", +"p c #2B4257", +"a c #2C505B", +"s c #3D4644", +"d c #3B4349", +"f c #3F4F46", +"g c #3F4A4A", +"h c #3F4D4D", +"j c #374B55", +"k c #3F5746", +"l c #39545B", +"z c #3C535F", +"x c #2D6576", +"c c #473F3D", +"v c #424432", +"b c #615E3E", +"n c #454542", +"m c #484B4E", +"M c #424B51", +"N c #414D58", +"B c #4C4E51", +"V c #4B534F", +"C c #475055", +"Z c #41525B", +"A c #475952", +"S c #4C5255", +"D c #4D575B", +"F c #4E5E5D", +"G c #534E52", +"H c #525555", +"J c #525358", +"K c #53545A", +"L c #50575E", +"P c #54555B", +"I c #55565C", +"U c #515E5A", +"Y c #595554", +"T c #59545E", +"R c #595A5E", +"E c #5E5E5A", +"W c #5F5D5D", +"Q c #425D68", +"! c #495963", +"~ c #545C63", +"^ c #5F5F60", +"/ c #5D5F64", +"( c #48626E", +") c #496972", +"_ c #506062", +"` c #556564", +"' c #576A69", +"] c #566E6B", +"[ c #5A6061", +"{ c #5A6266", +"} c #596765", +"| c #5F6065", +" . c #5E6661", +".. c #5D6767", +"X. c #596D68", +"o. c #5C6A6A", +"O. c #5E726D", +"+. c #5E7478", +"@. c #636858", +"#. c #77735B", +"$. c #616364", +"%. c #656667", +"&. c #616268", +"*. c #63646A", +"=. c #656669", +"-. c #666769", +";. c #67676B", +":. c #65666C", +">. c #66676E", +",. c #606C66", +"<. c #616A6D", +"1. c #686363", +"2. c #6A6B6D", +"3. c #6E6E6C", +"4. c #626C73", +"5. c #6A6A72", +"6. c #686C71", +"7. c #6A6D75", +"8. c #6D6E75", +"9. c #6E726F", +"0. c #647572", +"q. c #637876", +"w. c #647B79", +"e. c #6B7076", +"r. c #6A7772", +"t. c #6A7676", +"y. c #6D7373", +"u. c #6E7073", +"i. c #6F7074", +"p. c #6F7076", +"a. c #6E7377", +"s. c #6D767B", +"d. c #6C7C7C", +"f. c #726B70", +"g. c #727569", +"h. c #707176", +"j. c #727274", +"k. c #737474", +"l. c #737477", +"z. c #767572", +"x. c #777674", +"c. c #707179", +"v. c #75767E", +"b. c #747B7B", +"n. c #777F7E", +"m. c #787777", +"M. c #7C7876", +"N. c #78797C", +"B. c #357A90", +"V. c #767780", +"C. c #777881", +"Z. c #787981", +"A. c #7A7B84", +"S. c #797D80", +"D. c #7B7C86", +"F. c #7D7E81", +"G. c #7E7F81", +"H. c #7D7E87", +"J. c #7E7F88", +"K. c #7F8073", +"L. c #6A8889", +"P. c #6E9191", +"I. c #738584", +"U. c #768489", +"Y. c #71898A", +"T. c #7B8283", +"R. c #7F8487", +"E. c #7A8C88", +"W. c #7B8D91", +"Q. c #7C9494", +"!. c #7C9B9A", +"~. c #7FA4A3", +"^. c #858767", +"/. c #84817F", +"(. c #858F78", +"). c #838486", +"_. c #848486", +"`. c #81828B", +"'. c #82838C", +"]. c #81878A", +"[. c #878789", +"{. c #84858F", +"}. c #838989", +"|. c #88898A", +" X c #858690", +".X c #868791", +"XX c #818C91", +"oX c #898A94", +"OX c #8A8B95", +"+X c #888F90", +"@X c #8B8C96", +"#X c #8D8E90", +"$X c #8C8D97", +"%X c #8E8F99", +"&X c #839B97", +"*X c #849898", +"=X c #849B9B", +"-X c #879999", +";X c #8F9796", +":X c #8F909A", +">X c #8B9897", +",X c #899899", +".IX", +"DX^ 8 ^ e ! # o.Y.Y.w.4 7 g U 1 j P I I P P p Z h 7 w ! L &.>.IX", +"JXB B / w ` # d.Q.Q.X.n 9 < & $ : l ! R ! w ~ ` ' o.M ..m R / IX", +"PX/ K { 4 D ; W.!.*X` R M.1.Y Y G d j Q - S F ] +.3 d 0 o < &.PX", +"PX2.R s @ e ; Q.hXhXY.# @ = & c c /. .D U.} d.1 rX<.i ] O.$.KX", +"IXp./ H 9 ; =XkXkXkXhXY.6 > q : T & I.h r.2 d.+.l hXbXcXS DX", +"IXv.>.K W 8 < X.mXlXlXMX=X * m m M t < I.6 U 0 W.) MXQ.L.cX! wX", +"IXZ.c.>.I ^ o jXMXMXzX5 X N =.5.$.a S q.A V o.Y.cXgX= v A r /.", +"IXJ.Z.V.8./ d O # A f q N ;.v.Z.c.z w.] ~ M XXL.mX2 #.NX(.@ 0X", +"IX'.G.J.A.c...B * + * j ~ 5.V.J.J.Z.! +.] ! r -XP.cX< b ^.@. /.", +"IX.X'.'.'.J.A.8.| ~ | 5.v.J.'.'.'.J.<.j ` o.S xXL.HXk v K.E SXf.", +"IXOX.X.X.X.X.X'.J.V.D.'..X.X.X.X.X.Xv.z 7.E.' HX!.LXMX6 g.V 2.m ", +"IX%XOXoXOXOXOXoXoXoXoXoXoXoXoXoXoXoX'.7.Q ( w HXMXHXUXcX% | | 0X", +"IXtX%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X'.7.Q y p }.zXGXi +.:.k.ZX", +"IXBX5X5X5X5X5X6X5X5X5X6X5X5X5X5X5X5X5X:X.XV.6.( x B.u x e.H.vXKX", +"PXKXtXiXtXiXtXiXtXiXtXiXiXtXiXtXtXtXtXtXtX:X.XA.a.5.5.V. X:XJXIX", +"IXIXFXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXaXpXiXtX%X@X$X:XpXFXIXIX", +"IXIXIXKXVXBXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXBXVXKXIXIXIX", +"IXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIXIX" +}; diff --git a/2009-x64/zooScripts/icons/zooXferAnim.bmp b/2009-x64/zooScripts/icons/zooXferAnim.bmp new file mode 100644 index 0000000..9ce377c Binary files /dev/null and b/2009-x64/zooScripts/icons/zooXferAnim.bmp differ diff --git a/2009-x64/zooScripts/icons/zoo_sig.tga b/2009-x64/zooScripts/icons/zoo_sig.tga new file mode 100644 index 0000000..9ea98bb Binary files /dev/null and b/2009-x64/zooScripts/icons/zoo_sig.tga differ diff --git a/2009-x64/zooScripts/scripts/CST/control.arrow.shape b/2009-x64/zooScripts/scripts/CST/control.arrow.shape new file mode 100644 index 0000000..dc47c1c --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.arrow.shape @@ -0,0 +1,37 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 7 0 no 3 + 8 0 1 4 5 6 7 8 11 + 8 + -0.105 -0.5 0 + 0.105 -0.5 0 + 0.105 0.036 0 + 0.325 0.036 0 + 0 0.5 0 + -0.325 0.036 0 + -0.105 0.036 0 + -0.105 -0.5 0 + ; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 4 0 no 3 + 5 0 1 4 5 6 + 5 + 0 -0.49 0 + 0.095 -0.5 0 + 0.095 0.046 0 + 0.305 0.046 0 + 0 0.48 0 + ; +string $rot[] = `revolve -ch 0 -po 0 -rn 0 -ssw 0 -esw 360 -ut 0 -tol 0.01 -degree 1 -s 6 -ulp 1 -ax 0 1 0 $control[2]`; +delete $control[2]; +for( $s in `listRelatives -f -s $rot[0]` ) parent -add -s $s $control[0]; +delete $rot; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.cone.shape b/2009-x64/zooScripts/scripts/CST/control.cone.shape new file mode 100644 index 0000000..8b5d2c4 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.cone.shape @@ -0,0 +1,54 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 8 0 no 3 + 9 0 1 2 3 4 5 6 7 8 + 9 + -0.5 -0.5 0 + -0.245 -0.5 -0.433 + 0.245 -0.5 -0.433 + 0.5 -0.5 0 + 0 0.5 0 + -0.5 -0.5 0 + -0.245 -0.5 0.433 + 0.245 -0.5 0.433 + 0.5 -0.5 0 + ; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 2 0 no 3 + 3 0 1 2 + 3 + 0.245 -0.5 -0.433 + 0 0.5 0 + -0.245 -0.5 0.433 + ; +$control[3] = `createNode nurbsCurve -n "zooControlShape2" -p $control[0]`; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 2 0 no 3 + 3 0 1 2 + 3 + -0.245 -0.5 -0.433 + 0 0.5 0 + 0.245 -0.5 0.433 + ; +$control[4] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr ".cc" -type "nurbsCurve" + 1 2 0 no 3 + 3 0 1 3 + 3 + 0 -0.49 0 + -0.49 -0.49 0 + 0 0.49 0 + ; +string $rot[] = `revolve -ch 0 -po 0 -rn 0 -ssw 0 -esw 360 -ut 0 -tol 0.01 -degree 1 -s 6 -ulp 1 -ax 0 1 0 $control[4]`; +delete $control[4]; +for( $s in `listRelatives -f -s $rot[0]` ) parent -add -s $s $control[0]; +delete $rot; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.cube.shape b/2009-x64/zooScripts/scripts/CST/control.cube.shape new file mode 100644 index 0000000..55717e0 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.cube.shape @@ -0,0 +1,42 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 15 0 no 3 + 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 16 + -0.5 0.5 0.5 + -0.5 -0.5 0.5 + -0.5 -0.5 -0.5 + -0.5 0.5 -0.5 + -0.5 0.5 0.5 + 0.5 0.5 0.5 + 0.5 0.5 -0.5 + -0.5 0.5 -0.5 + -0.5 -0.5 -0.5 + 0.5 -0.5 -0.5 + 0.5 0.5 -0.5 + 0.5 -0.5 -0.5 + 0.5 -0.5 0.5 + 0.5 0.5 0.5 + 0.5 -0.5 0.5 + -0.5 -0.5 0.5; + +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr ".cc" -type "nurbsCurve" + 1 3 0 no 3 + 4 0 1 2 3 + 4 + 0 -0.49 0 + -0.49 -0.49 0.49 + -0.49 0.49 0.49 + 0 0.49 0 + ; +string $rot[] = `revolve -ch 0 -po 0 -rn 0 -ssw 0 -esw 360 -ut 0 -tol 0.01 -degree 1 -s 4 -ulp 1 -ax 0 1 0 $control[2]`; +delete $control[2]; +for( $s in `listRelatives -f -s $rot[0]` ) parent -add -s $s $control[0]; +delete $rot; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.cylinder.shape b/2009-x64/zooScripts/scripts/CST/control.cylinder.shape new file mode 100644 index 0000000..df7d805 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.cylinder.shape @@ -0,0 +1,18 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; + +string $curve1 = `curve -d 1 -p 0 -0.5 -0.25 -p 0.17678 -0.5 -0.17677 -p 0.25 -0.5 0 -p 0.17678 -0.5 0.17678 -p 0 -0.5 0.25 -p -0.17677 -0.5 0.17678 -p -0.25 -0.5 0 -p -0.17677 -0.5 -0.17677 -p 0 -0.5 -0.25 -p 0 0.5 -0.25 -p -0.17677 0.5 -0.17677 -p -0.25 0.5 0 -p -0.17677 0.5 0.17678 -p 0 0.5 0.25 -p 0.17678 0.5 0.17678 -p 0.25 0.5 0 -p 0.17678 0.5 -0.17677 -p 0 0.5 -0.25`; +string $curve2 = `curve -d 1 -p -0.17677 0.5 -0.17677 -p -0.17677 -0.5 -0.17677 -p -0.25 -0.5 0 -p -0.25 0.5 0 -p -0.17677 0.5 0.17678 -p -0.17677 -0.5 0.17678 -p 0 -0.5 0.25 -p 0 0.5 0.25 -p 0.17678 0.5 0.17678 -p 0.17678 -0.5 0.17678 -p 0.25 -0.5 0 -p 0.25 0.5 0 -p 0.17678 0.5 -0.17677 -p 0.17678 -0.5 -0.17677`; +for( $s in `listRelatives -f -s $curve1` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $curve2` ) parent -add -s $s $control[0]; +delete $curve1; +delete $curve2; +string $rev = `curve -d 1 -p 0 -0.49 0 -p 0 -0.49 -0.24 -p 0 0.49 -0.24 -p 0 0.49 0`; +string $rot[] = `revolve -ch 0 -po 0 -rn 0 -ssw 0 -esw 360 -ut 0 -tol 0.01 -degree 1 -s 8 -ulp 1 -ax 0 1 0 $rev`; +delete $rev; +for( $s in `listRelatives -f -s $rot[0]` ) parent -add -s $s $control[0]; +delete $rot; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.eye.shape b/2009-x64/zooScripts/scripts/CST/control.eye.shape new file mode 100644 index 0000000..86ec9e2 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.eye.shape @@ -0,0 +1,63 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 8 2 no 3 + 13 -2 -1 0 1 2 3 4 5 6 7 8 9 10 + 11 + 0.122 0.122 0 + 0 0.17254 0 + -0.122 0.122 0 + -0.17254 0 0 + -0.122 -0.122 0 + 0 -0.17254 0 + 0.122 -0.122 0 + 0.17254 0 0 + 0.122 0.122 0 + 0 0.17254 0 + -0.122 0.122 0; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 8 2 no 3 + 13 -2 -1 0 1 2 3 4 5 6 7 8 9 10 + 11 + 0.205598 0.2056 0 + 0 0.29076 0 + -0.205598 0.2056 0 + -0.29076 0 0 + -0.205598 -0.2056 0 + 0 -0.29076 0 + 0.205598 -0.2056 0 + 0.29076 0 0 + 0.205598 0.2056 0 + 0 0.29076 0 + -0.205598 0.2056 0; +$control[3] = `createNode nurbsCurve -n "zooControlShape2" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 12 2 no 3 + 17 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 + 15 + 0.2778 0.26 0 + 0 0.3 0 + -0.2778 0.26 0 + -0.5213 0.0289 0 + -0.53 0 0 + -0.5213 -0.0289 0 + -0.2778 -0.26 0 + 0 -0.3 0 + 0.2778 -0.26 0 + 0.5221 -0.0289 0 + 0.529 0 0 + 0.5221 0.0289 0 + 0.2778 0.26 0 + 0 0.3 0 + -0.2778 0.26 0; +setAttr ( $control[0] +".s" ) 0.95 0.95 0.95; +setAttr ( $control[0] +".rx" ) -90; +makeIdentity -a 1 -r 1 -s 1 $control[0]; +select $control[0]; +} \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/control.face.shape b/2009-x64/zooScripts/scripts/CST/control.face.shape new file mode 100644 index 0000000..79a41eb --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.face.shape @@ -0,0 +1,72 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 8 2 no 3 + 13 -2 -1 0 1 2 3 4 5 6 7 8 9 10 + 11 + -0.33236396623978604 0.3638340565024798 0 + -0.23777401545829149 0.40301449696991298 0 + -0.14318406476272932 0.3638340565024798 0 + -0.10400362429529755 0.26924410580691216 0 + -0.14318406476272932 0.17465415502542569 0 + -0.23777401545829149 0.13547371455799961 0 + -0.33236396623978604 0.17465415502542569 0 + -0.37154440662128541 0.26924410580691216 0 + -0.33236396623978604 0.3638340565024798 0 + -0.23777401545829149 0.40301449696991298 0 + -0.14318406476272932 0.3638340565024798 0; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 8 2 no 3 + 13 -2 -1 0 1 2 3 4 5 6 7 8 9 10 + 11 + 0.33415547851075217 0.36562556877830943 0 + 0.23777401545262436 0.40554807792767278 0 + 0.1413925524820567 0.36562556877830943 0 + 0.10147004333268371 0.26924410580773284 0 + 0.1413925524820567 0.17286264274961027 0 + 0.23777401545262436 0.13294013360024337 0 + 0.33415547851075217 0.17286264274961027 0 + 0.37407798757256477 0.26924410580773284 0 + 0.33415547851075217 0.36562556877830943 0 + 0.23777401545262436 0.40554807792767278 0 + 0.1413925524820567 0.36562556877830943 0; +$control[3] = `createNode nurbsCurve -n "zooControlShape2" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 4 0 no 3 + 9 2 2 2 3 4 5 6 6 6 + 7 + -0.38663227867516048 0.041486179652508781 0 + -0.39181530042085422 -0.11592899441400561 0 + -0.27705525588916563 -0.30951933335428805 0 + 0 -0.40093272334533836 0 + 0.27705525588916563 -0.30951933335428805 0 + 0.39181530042085422 -0.11592899441400561 0 + 0.38663227867516048 0.041486179652508781 0; +$control[4] = `createNode nurbsCurve -n "zooControlShape3" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 3 8 2 no 3 + 13 -2 -1 0 1 2 3 4 5 6 7 8 9 10 + 11 + 0.4820734553036391 0.48207345530362744 0 + 0 0.68175481881696598 0 + -0.4820734553036391 0.48207345530362744 0 + -0.68175481881696953 0 0 + -0.4820734553036391 -0.48207345530364876 0 + 0 -0.68175481881697308 0 + 0.4820734553036391 -0.48207345530364876 0 + 0.68175481881696953 0 0 + 0.4820734553036391 0.48207345530362744 0 + 0 0.68175481881696598 0 + -0.4820734553036391 0.48207345530362744 0; +setAttr ( $control[0] +".s" ) 0.81 0.81 0.81; +setAttr ( $control[0] +".rx" ) -90; +makeIdentity -a 1 -r 1 -s 1 $control[0]; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.hand.shape b/2009-x64/zooScripts/scripts/CST/control.hand.shape new file mode 100644 index 0000000..5fba606 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.hand.shape @@ -0,0 +1,11 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; + +string $cv = `curve -d 2 -p -0.02705287736 0 0.5018789017 -p 0.03652286899 0 0.5018789017 -p 0.03652286899 0 0.3952521783 -p 0.03276858247 0 0.2503294833 -p 0.02901429596 0 0.1054067887 -p 0.07006310104 0 0.2207943288 -p 0.1111119061 0 0.336181869 -p 0.1476555185 0 0.4378025512 -p 0.2002179741 0 0.4378025512 -p 0.2607900956 0 0.4092686049 -p 0.2507785021 0 0.309149735 -p 0.2129833793 0 0.1589706969 -p 0.1751882566 0 0.008791658821 -p 0.1852003391 0 -0.05528469164 -p 0.2627925122 0 0.01079407533 -p 0.3223639144 0 0.05334444834 -p 0.3919464213 0 0.05334444834 -p 0.441005137 0 0.008791658821 -p 0.3889427966 0 -0.06329435767 -p 0.3248664461 0 -0.1253682916 -p 0.2152360979 0 -0.2745458769 -p 0.1005992195 0 -0.3721622151 -p 0.1005992195 0 -0.4587657513 -p -0.04757715768 0 -0.5095352623 -p -0.1877443576 0 -0.4701579757 -p -0.1877443576 0 -0.3921863802 -p -0.2348001678 0 -0.3316137697 -p -0.281856467 0 -0.2455113266 -p -0.3003783308 0 -0.1093489596 -p -0.2933698728 0 -0.03676282783 -p -0.3549432027 0 0.06836257214 -p -0.4165165325 0 0.1734879721 -p -0.4440497595 0 0.2487898024 -p -0.4110103761 0 0.3371291831 -p -0.3173983821 0 0.2510801452 -p -0.2633341141 0 0.1599716607 -p -0.2092698462 0 0.06886317629 -p -0.2408074174 0 0.1895068153 -p -0.2723449884 0 0.3101504543 -p -0.2855290463 0 0.423100536 -p -0.2282923142 0 0.4378025512 -p -0.1807358999 0 0.4378025512 -p -0.1597105266 0 0.3627133987 -p -0.1256701793 0 0.2403174009 -p -0.09162983194 0 0.1179214029 -p -0.09162983194 0 0.2625937956 -p -0.09162983194 0 0.4072661884 -p -0.08075182044 0 0.4914295618 -p -0.02705287736 0 0.5018789017 -p -0.02756792187 0 0.5018789017`; + +for( $s in `listRelatives -f -s $cv` ) parent -add -s $s $control[0]; +delete $cv; + +select $control[0]; +} \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/control.hex.shape b/2009-x64/zooScripts/scripts/CST/control.hex.shape new file mode 100644 index 0000000..7c088cb --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.hex.shape @@ -0,0 +1,16 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; + +string $circ[] = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.5 -d 1 -ut 0 -tol 0.0001 -s 6 -ch 0`; +string $tor[] = `torus -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -msw 360 -r 0.5 -hr 0.25 -d 1 -ut 0 -tol 0.01 -s 6 -nsp 4 -ch 0`; +setAttr( $tor[0] +".ry" ) -30; +makeIdentity -a 1 -r 1 $tor[0]; + +for( $s in `listRelatives -f -s $circ[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $tor[0]` ) parent -add -s $s $control[0]; +delete $tor; +delete $circ; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.locator.shape b/2009-x64/zooScripts/scripts/CST/control.locator.shape new file mode 100644 index 0000000..b0e598a --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.locator.shape @@ -0,0 +1,20 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 7 0 no 3 + 8 0 1 2 3 4 5 6 7 + 8 + 0.5 0 0 + -0.5 0 0 + 0 0 0 + 0 0 0.5 + 0 0 -0.5 + 0 0 0 + 0 0.5 0 + 0 -0.5 0 + ; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.pin.shape b/2009-x64/zooScripts/scripts/CST/control.pin.shape new file mode 100644 index 0000000..09daf63 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.pin.shape @@ -0,0 +1,52 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 9 0 no 3 + 10 0 0.32870337729999999 0.76536686473017945 1.5307337294603589 2.2961005941905386 + 3.0614674589207183 3.8268343236508975 4.5922011883810772 5.3575680531112564 6.1229349178414356 + + 10 + 0 0 0 + 0 0.666667 0 + -0.11785101234662772 0.71548248765337219 0 + -0.166667 0.833333 0 + -0.11785101234662777 0.95118451234662771 0 + 0 1 0 + 0.1178510123466277 0.95118451234662771 0 + 0.166667 0.833333 0 + 0.11785101234662779 0.71548248765337241 0 + 0 0.666667 0 + ; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + -0.11785101234662777 0.95118451234662771 0 + 0.11785101234662779 0.71548248765337241 0 + ; +$control[3] = `createNode nurbsCurve -n "zooControlShape2" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + -0.11785101234662772 0.71548248765337219 0 + 0.1178510123466277 0.95118451234662771 0 + ; + + +string $sphere[] = `sphere -p 0 0.8333333 0 -ax 0 1 0 -ssw 0 -esw 360 -r 0.166667 -d 3 -ut 0 -tol 0.02 -s 6 -nsp 4 -ch 0`; +string $cyl[] = `cylinder -p 0 0.345 0 -ax 0 1 0 -ssw 0 -esw 360 -r .08333333 -hr 8.333333 -d 3 -ut 0 -tol 0.02 -s 4 -nsp 1 -ch 0`; + +for( $s in `listRelatives -f -s $sphere[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $cyl[0]` ) parent -add -s $s $control[0]; +delete $sphere; +delete $cyl; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.pointer.shape b/2009-x64/zooScripts/scripts/CST/control.pointer.shape new file mode 100644 index 0000000..422f196 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.pointer.shape @@ -0,0 +1,47 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 11 0 no 3 + 12 0 1 2 3 4 5 6 7 8 9 10 11 + 12 + -0.5 -0.5 0 + 0.5 -0.5 0 + 0.5 -0.225 0 + 0.105 -0.225 0 + 0.105 -0.064 0 + 0.325 -0.064 0 + 0 0.5 0 + -0.325 -0.064 0 + -0.105 -0.064 0 + -0.105 -0.225 0 + -0.5 -0.225 0 + -0.5 -0.5 0 + ; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 6 0 no 3 + 7 0 1 2 3 4 5 6 + 7 + 0 -0.49 0 + 0.489399 -0.49 0.489399 + 0.489399 -0.235 0.489399 + 0.0908579 -0.235 0.0908579 + 0.0908579 -0.054 0.0908579 + 0.307929 -0.054 0.307929 + 0 0.48 0 + ; +select -r ( $control[2] +".cv[*]" ); +scale -r 0.99 1 1; +string $rot[] = `revolve -ch 0 -po 0 -rn 0 -ssw 0 -esw 360 -ut 0 -tol 0.01 -degree 1 -s 4 -ulp 1 -ax 0 1 0 $control[2]`; +scale -r 1 1 0.3 $rot[0]; +makeIdentity -a 1 -s 1 $rot[0]; +delete $control[2]; +for( $s in `listRelatives -f -s $rot[0]` ) parent -add -s $s $control[0]; +delete $rot; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.ring.shape b/2009-x64/zooScripts/scripts/CST/control.ring.shape new file mode 100644 index 0000000..f24ba41 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.ring.shape @@ -0,0 +1,14 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; + +string $circ[] = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.5 -d 3 -ut 0 -tol 0.02 -s 6 -ch 0`; +string $tor[] = `torus -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -msw 360 -r 0.5 -hr 0.15 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 0`; + +for( $s in `listRelatives -f -s $circ[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $tor[0]` ) parent -add -s $s $control[0]; +delete $tor; +delete $circ; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.sphere.shape b/2009-x64/zooScripts/scripts/CST/control.sphere.shape new file mode 100644 index 0000000..2500d6e --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.sphere.shape @@ -0,0 +1,27 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +string $circ1[] = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.5 -d 3 -ut 0 -tol 0.0001 -s 8 -ch 0`; +string $circ2[] = `circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 0.5 -d 3 -ut 0 -tol 0.0001 -s 8 -ch 0`; +string $circ3[] = `circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 0.5 -d 3 -ut 0 -tol 0.0001 -s 8 -ch 0`; +string $circ4[] = `circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 0.5 -d 3 -ut 0 -tol 0.0001 -s 8 -ch 0`; +string $sphere[] = `sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 0.49 -d 3 -ut 0 -tol 0.025 -s 6 -nsp 4 -ch 0`; + +setAttr ( $circ3[0] +".ry" ) 60; +setAttr ( $circ4[0] +".ry" ) -60; +makeIdentity -a 1 -r 1 $circ3[0]; +makeIdentity -a 1 -r 1 $circ4[0]; + +for( $s in `listRelatives -f -s $circ1[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $circ2[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $circ3[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $circ4[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $sphere[0]` ) parent -add -s $s $control[0]; + +delete $circ1[0]; +delete $circ2[0]; +delete $circ3[0]; +delete $circ4[0]; +delete $sphere[0]; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.starcircle.shape b/2009-x64/zooScripts/scripts/CST/control.starcircle.shape new file mode 100644 index 0000000..d5cc3ae --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.starcircle.shape @@ -0,0 +1,141 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 16 0 no 3 + 17 0 0.39018055152560699 0.78036112399730628 1.1705416712397225 1.5607217417254857 + 1.9509024144061686 2.3410831024416172 2.7312637821422268 3.1214444428128898 + 3.5116250866456444 3.9018057582362222 4.291986371707722 4.6821669850288199 + 5.0723475885221401 5.4625281857735581 5.8527087661305135 6.2428893321020258 + + 17 + 0 0 -1.26 + 0.336 0 -0.812 + 0.8925 0 -0.8925 + 0.812 0 -0.336 + 1.26 0 0 + 0.812 0 0.336 + 0.8925 0 0.8925 + 0.336 0 0.812 + 0 0 1.26 + -0.336 0 0.812 + -0.8925 0 0.8925 + -0.812 0 0.336 + -1.26 0 0 + -0.812 0 -0.336 + -0.8925 0 -0.8925 + -0.336 0 -0.812 + 0 0 -1.26; +setAttr ( $control[0] +".s" ) 0.397 0.397 0.397; +makeIdentity -a 1 -r 1 -s 1 $control[0]; +$control[2] = `createNode nurbsSurface -n "zooControlShape1" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".vir" yes; + setAttr ".vif" yes; + setAttr ".covm[0]" 0 1 1; + setAttr ".cdvm[0]" 0 1 1; + setAttr ".dvu" 0; + setAttr ".dvv" 0; + setAttr ".cpr" 4; + setAttr ".cps" 4; + setAttr ".cc" -type "nurbsSurface" + 1 1 0 0 no + 5 0 1.4142135623730949 2.8284271247461898 4.2426406871192848 5.6568542494923797 + + 17 0 0.39018055152560699 0.78036112399730628 1.1705416712397225 1.5607217417254857 + 1.9509024144061686 2.3410831024416172 2.7312637821422268 3.1214444428128898 3.5116250866456444 + 3.9018057582362222 4.291986371707722 4.6821669850288199 5.0723475885221401 5.4625281857735581 + 5.8527087661305135 6.2428893321020258 + + 85 + -0.00017600000000005418 0.1 -0.5 + 0.13329431523458152 0.1 -0.32234757968722461 + 0.35406261705789216 0.1 -0.35428261705789227 + 0.32212757968722455 0.1 -0.1335143152345816 + 0.5 0.1 -0.00022000000000012678 + 0.32212757968722455 0.1 0.13307431523458149 + 0.35406261705789216 0.1 0.35384261705789199 + 0.13329431523458157 0.1 0.3219075796872245 + 2.6521618018068794e-017 0.1 0.5 + -0.13329431523458152 0.1 0.3219075796872245 + -0.35406261705789216 0.1 0.35384261705789199 + -0.32212757968722455 0.1 0.13307431523458149 + -0.5 0.1 -0.00022000000000012678 + -0.32212757968722455 0.1 -0.1335143152345816 + -0.35406261705789216 0.1 -0.35428261705789227 + -0.13329431523458157 0.1 -0.32234757968722461 + 0.00017600000000003512 0.1 -0.5 + 0 0 -0.33296666666666652 + 0.088892149135284385 0 -0.21488380115295427 + 0.23593400700888356 0 -0.23615400700888359 + 0.21466380115295416 0 -0.089112149135284396 + 0.33318666666666669 0 -0.00022000000000012678 + 0.21466380115295416 0 0.088672149135284289 + 0.23593400700888359 0 0.23571400700888348 + 0.088892149135284329 0 0.21444380115295414 + 0 0 0.33296666666666652 + -0.088892149135284468 0 0.21444380115295403 + -0.2359340070088837 0 0.23571400700888334 + -0.21466380115295416 0 0.08867214913528422 + -0.33318666666666669 0 -0.00021999999999977149 + -0.21466380115295408 0 -0.089112149135284688 + -0.23593400700888342 0 -0.23615400700888373 + -0.088892149135284232 0 -0.21488380115295427 + 0 0 -0.33296666666666652 + -0.0 -0.1 -0.5 + 0.13329431523458157 -0.1 -0.32234757968722461 + 0.35406261705789216 -0.1 -0.35428261705789227 + 0.32212757968722455 -0.1 -0.1335143152345816 + 0.5 -0.1 -0.0 + 0.32212757968722455 -0.1 0.13307431523458149 + 0.35406261705789216 -0.1 0.35384261705789199 + 0.13329431523458152 -0.1 0.3219075796872245 + 0 -0.1 0.5 + -0.13329431523458157 -0.1 0.3219075796872245 + -0.35406261705789216 -0.1 0.35384261705789199 + -0.32212757968722455 -0.1 0.13307431523458149 + -0.5 -0.1 -0.0 + -0.32212757968722455 -0.1 -0.1335143152345816 + -0.35406261705789216 -0.1 -0.35428261705789227 + -0.13329431523458152 -0.1 -0.32234757968722461 + 0.00017600000000005442 -0.1 -0.5 + 0 0 -0.6663 + 0.17769648133387872 0 -0.42981135822149513 + 0.47219122710690076 0 -0.47241122710690081 + 0.42959135822149497 0 -0.1779164813338788 + 0.66651999999999989 0 -0.0 + 0.42959135822149508 0 0.17747648133387869 + 0.47219122710690076 0 0.47197122710690054 + 0.17769648133387872 0 0.42937135822149486 + 0 0 0.6663 + -0.17769648133387864 0 0.42937135822149503 + -0.47219122710690054 0 0.4719712271069007 + -0.42959135822149497 0 0.17747648133387883 + -0.66651999999999989 0 -0.0 + -0.42959135822149508 0 -0.17791648133387866 + -0.47219122710690092 0 -0.47241122710690064 + -0.17769648133387883 0 -0.42981135822149513 + 0 0 -0.6663 + -0.00017600000000005418 0.1 -0.5 + 0.13329431523458152 0.1 -0.32234757968722461 + 0.35406261705789216 0.1 -0.35428261705789227 + 0.32212757968722455 0.1 -0.1335143152345816 + 0.5 0.1 -0.00022000000000012678 + 0.32212757968722455 0.1 0.13307431523458149 + 0.35406261705789216 0.1 0.35384261705789199 + 0.13329431523458157 0.1 0.3219075796872245 + 2.6521618018068785e-017 0.1 0.5 + -0.13329431523458152 0.1 0.3219075796872245 + -0.35406261705789216 0.1 0.35384261705789199 + -0.32212757968722455 0.1 0.13307431523458149 + -0.5 0.1 0 + -0.32212757968722455 0.1 -0.1335143152345816 + -0.35406261705789216 0.1 -0.35428261705789227 + -0.13329431523458157 0.1 -0.32234757968722461 + 0.00017600000000003512 0.1 -0.5 + ; + connectAttr ( $control[2] +".iog" ) ":initialShadingGroup.dsm" -na; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.target.shape b/2009-x64/zooScripts/scripts/CST/control.target.shape new file mode 100644 index 0000000..c3c9669 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.target.shape @@ -0,0 +1,39 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; + +$control[1] = `createNode nurbsCurve -n "zooControlShape" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0.08839 0 0.08839 + -0.08839 0 -0.08839 + ; +$control[2] = `createNode nurbsCurve -n "zooControlShape1" -p $control[0]`; + setAttr -k 0 ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + -0.08839 0 0.08839 + 0.08839 0 -0.08839 + ; + +string $circ[] = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.5 -d 3 -ut 0 -tol 0.02 -s 6 -ch 0`; +string $incirc[] = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.125 -d 3 -ut 0 -tol 0.02 -s 6 -ch 0`; +string $sphere[] = `sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 0.125 -d 3 -ut 0 -tol 0.02 -s 6 -nsp 4 -ch 0`; +string $tor[] = `torus -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -msw 360 -r 0.5 -hr 0.25 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 0`; + +for( $s in `listRelatives -f -s $circ[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $incirc[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $sphere[0]` ) parent -add -s $s $control[0]; +for( $s in `listRelatives -f -s $tor[0]` ) parent -add -s $s $control[0]; +delete $sphere; +delete $tor; +delete $circ; +delete $incirc; + +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/control.textall.shape b/2009-x64/zooScripts/scripts/CST/control.textall.shape new file mode 100644 index 0000000..ed213f1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/control.textall.shape @@ -0,0 +1,114 @@ +{ +string $control[] = {}; +$control[0] = `createNode transform -n "zooControl"`; +createNode nurbsCurve -n "zooControlShape" -p $control[0]; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 2 44 0 no 3 + 47 0 0 1 1 2 2 3 4 4 5 6 6 7 7 8 8 9 10 10 11 11 + 12 12 13 14 + 14 14.764063477531092 14.764063477531092 15.764063477531092 + 16.764063477531092 16.764063477531092 17.670313572899978 17.670313572899978 + 18.670313572899978 19.670313572899978 19.670313572899978 20.670313572899978 + 21.670313572899978 21.670313572899978 22.670313572899978 23.670313572899978 + 23.670313572899978 24.670313572899978 25.670313572899978 25.670313572899978 + 26.476539347729833 26.476539347729833 + 46 + -0.74619236283657164 0 0 + -0.72909186025527184 0.054409930953702279 0 + -0.70188651523956747 0.073842320250633975 0 + -0.66690897358279755 0.099492315044876989 0 + -0.59617659469738016 0.099492315044876989 0 + -0.54098936817180121 0.099492315044876989 0 + -0.497 0.055187226525578836 0 + -0.497 0 0 + -0.5657 -0.028759177081751908 0 + -0.68789595402348369 -0.063736718738521603 0 + -0.89465353983200868 -0.10726451168594142 0 + -1.0664328249060568 -0.14379740356417336 0 + -1.1301703027222856 -0.21763896473709998 0 + -1.1939077805385145 -0.29148128498773307 0 + -1.1939077805385145 -0.40651875239244761 0 + -1.1939077805385145 -0.52932993459364175 0 + -1.0159093718117413 -0.696 0 + -0.8441300867376933 -0.696 0 + -0.71510053996148104 -0.696 0 + -0.61794011163223661 -0.65058576657337452 0 + -0.546430437174942 -0.61638552048848183 0 + -0.47414270806806313 -0.53632559474053698 0 + -0.46714704792116779 -0.59306741240987071 0 + -0.45315572762737699 -0.64592275221981765 0 + -0.43061491512064332 -0.696 0 + -0.24056880456862584 -0.696 0 + -0.050522694016608805 -0.696 0 + -0.081614516891699518 -0.63270872749790419 0 + -0.099492315044876323 -0.55109345152849798 0 + -0.099492315044876323 -0.47880648149932625 0 + -0.099492315044876323 -0.25339418150459991 0 + -0.099492315044876323 -0.027981881509874462 0 + -0.099492315044876323 0.044305847597004622 0 + -0.15467878249274847 0.20287110794913943 0 + -0.20209305329955485 0.24639965997426572 0 + -0.26971700897516981 0.30858178756903332 0 + -0.47336541249618591 0.3482231026570668 0 + -0.64125897878855465 0.3482231026570668 0 + -0.74541506726469442 0.3482231026570668 0 + -0.92496730805751515 0.31713203885968344 0 + -0.97626805672370776 0.28915015734980898 0 + -1.0477777311810024 0.24950808318406814 0 + -1.1239519381472676 0.14302086707000328 0 + -1.1441616230160765 0.049746157522438494 0 + -0.94517699292632407 0.024873078761219247 0 + -0.74619236283657164 0 0; +createNode nurbsCurve -n "zooControlShape1" -p $control[0]; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 2 14 0 no 3 + 17 0 0 1 1 2 2 3 3 4 5 5 6 7 8 8 8.1078110933089196 8.1078110933089196 + + 16 + -0.497 -0.2 0 + -0.5657 -0.2239 0 + -0.6405 -0.2425 0 + -0.7415 -0.2697 0 + -0.768 -0.2961 0 + -0.796 -0.3233 0 + -0.796 -0.3583 0 + -0.796 -0.3972 0 + -0.7415 -0.448 0 + -0.6887 -0.448 0 + -0.6327 -0.448 0 + -0.537 -0.3933 0 + -0.497 -0.3148 0 + -0.497 -0.2526 0 + -0.497 -0.226 0 + -0.497 -0.2 0; +createNode nurbsCurve -n "zooControlShape2" -p $control[0]; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 4 2 no 3 + 5 0 2.8 3.6 6.4 7.2 + + 5 + 0.149 0.696 0 + 0.149 -0.696 0 + 0.547 -0.696 0 + 0.547 0.696 0 + 0.149 0.696 0; +createNode nurbsCurve -n "zooControlShape3" -p $control[0]; + setAttr -k off ".v"; + setAttr ".cc" -type "nurbsCurve" + 1 4 2 no 3 + 5 0 2.8 3.6 6.4 7.2 + + 5 + 0.79594 0.69645 0 + 0.79594 -0.69645 0 + 1.1939 -0.69645 0 + 1.1939 0.69645 0 + 0.79594 0.69645 0; +setAttr ( $control[0] +".s" ) 0.42 0.42 0.42; +setAttr ( $control[0] +".rx" ) -90; +makeIdentity -a 1 -r 1 -s 1 $control; +select $control[0]; +} diff --git a/2009-x64/zooScripts/scripts/CST/zooCST.mel b/2009-x64/zooScripts/scripts/CST/zooCST.mel new file mode 100644 index 0000000..5ca3c57 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCST.mel @@ -0,0 +1,830 @@ +// +// Character Setup Toolkit +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 08 March 2003 +// +// Usage: +// simply run the command: +// zooCST; +// +// Hamish McKenzie ©2007 + + +global proc zooCST() { + //because the UI code was getting so large, its been offloaded into a different file, + //and is now sourced. This means that the UI code is no longer stored in a global proc, + //which means the zooCST UI memory overhead is heaps less + eval( "source zooCSTWin" ); + } + + +global proc zooCSTWindowFunctions( string $function, string $variable01 ) { + string $UINames[10] = { "Root", "Spine", "Waist", "Head", "EyeL", "EyeR", "ArmL", "ArmR", "LegL", "LegR" }; + string $UIPrefix = "zooCSTText"; + float $scale = `floatField -q -v zooCSTFloatScale`; + int $buildCurves = `checkBox -q -v zooCSTCheckCurveControls`; + + string $prefix = $variable01; + if( $variable01 == "*" ) $prefix = `textField -q -tx zooCSTTextPrefix`; + + switch ( $function ) { + case "update": + string $selJoints[] = `ls -sl -type joint`; + string $childUIs[] = {}; + string $prefix = `textField -q -tx zooCSTTextPrefix`; + + string $world = zooGetElement_str( 0,`zooGetBrandedWithList { "name","world" } { $prefix,$prefix }` ); + if( `objExists $world` ) { + text -e -l ( "World: "+ $world ) zooCSTTextHeadWorld; + text -e -l ( "World: "+ $world ) zooCSTTextArmWorld; + text -e -l ( "World: "+ $world ) zooCSTTextLegWorld; + } + + string $root = zooGetElement_str( 0,`zooGetBrandedWithList { "name","root" } { $prefix,$prefix }` ); + if( `objExists $root` ) { + text -e -l ( "Root: "+ $root ) zooCSTTextHeadRoot; + text -e -l ( "Root: "+ $root ) zooCSTTextArmRoot; + text -e -l ( "Root: "+ $root ) zooCSTTextLegRoot; + } + + string $chest = zooGetElement_str( 0,`zooGetBrandedWithList { "name","chest" } { $prefix,$prefix }` ); + if( `objExists $chest` ) { + text -e -l ( "Chest: "+ $chest ) zooCSTTextHeadChest; + text -e -l ( "Chest: "+ $chest ) zooCSTTextArmChest; + } + + string $head = zooGetElement_str( 0,`zooGetBrandedWithList { "name","head" } { $prefix,$prefix }` ); + if( `objExists $head` ) { + text -e -l ( "Head: "+ $head ) zooCSTTextArmHead; + } + + string $armL = zooGetElement_str( 0,`zooGetBrandedWithList { "name","arm" } { $prefix,"_L" }` ); + if( `objExists $armL` ) text -e -l ( "ArmL: "+ $armL ) zooCSTTextPredHandL; + + string $armR = zooGetElement_str( 0,`zooGetBrandedWithList { "name","arm" } { $prefix,"_R" }` ); + if( `objExists $armR` ) text -e -l ( "ArmR: "+ $armR ) zooCSTTextPredHandR; + + if( `checkBox -q -v zooCSTCheckRootHips` ) { + control -e -en 1 zooCSTTextWaist; + control -e -en 1 zooCSTButtWaist; + } + else { + control -e -en 0 zooCSTTextWaist; + control -e -en 0 zooCSTButtWaist; + } + + if( `checkBox -q -v zooCSTCheckHeadNeck` ) { + control -e -en 1 zooCSTTextNeck; + control -e -en 1 zooCSTButtNeck; + } + else { + control -e -en 0 zooCSTTextNeck; + control -e -en 0 zooCSTButtNeck; + } + + clear $childUIs; $childUIs = `formLayout -q -ca zooCSTFormArm`; + if( `checkBox -q -v zooCSTCheckArmL` ) for( $n=4; $n<10; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=4; $n<10; $n++ ) control -e -enable 0 $childUIs[$n]; + + if( `checkBox -q -v zooCSTCheckArmR` ) for( $n=10; $n<16; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=10; $n<16; $n++ ) control -e -enable 0 $childUIs[$n]; + + clear $childUIs; $childUIs = `formLayout -q -ca zooCSTFormLeg`; + if( `checkBox -q -v zooCSTCheckLegL` ) for( $n=0; $n<12; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=4; $n<12; $n++ ) control -e -enable 0 $childUIs[$n]; + + if( `checkBox -q -v zooCSTCheckLegR` ) for( $n=12; $n<20; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=12; $n<20; $n++ ) control -e -enable 0 $childUIs[$n]; + + int $legType = `optionMenu -q -sl zooCSTOptionLegType`; + if( $legType == 2 ) { + if( `checkBox -q -v zooCSTCheckLegL` ) { + control -e -enable 1 $childUIs[10]; + control -e -enable 1 $childUIs[11]; + } + if( `checkBox -q -v zooCSTCheckLegR` ) { + control -e -enable 1 $childUIs[18]; + control -e -enable 1 $childUIs[19]; + } + } + else { + control -e -enable 0 $childUIs[10]; + control -e -enable 0 $childUIs[11]; + control -e -enable 0 $childUIs[18]; + control -e -enable 0 $childUIs[19]; + } + + clear $childUIs; $childUIs = `formLayout -q -ca zooCSTFormHand`; + if( `checkBox -q -v zooCSTCheckHandL` ) for( $n=4; $n<19; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=4; $n<19; $n++ ) control -e -enable 0 $childUIs[$n]; + + if( `checkBox -q -v zooCSTCheckHandR` ) for( $n=19; $n<34; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=19; $n<34; $n++ ) control -e -enable 0 $childUIs[$n]; + + clear $childUIs; $childUIs = `formLayout -q -ca zooCSTFormSubPrimIKFK`; + if( `checkBox -q -v zooCSTCheckSubPrimL` ) for( $n=2; $n<8; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=2; $n<8; $n++ ) control -e -enable 0 $childUIs[$n]; + + if( `checkBox -q -v zooCSTCheckSubPrimR` ) for( $n=8; $n<14; $n++ ) control -e -enable 1 $childUIs[$n]; + else for( $n=8; $n<14; $n++ ) control -e -enable 0 $childUIs[$n]; + + if( objExists(`textField -q -tx zooCSTTextRoot`)) control -e -enable 1 zooCSTButtonGuessSize; + else control -e -enable 0 zooCSTButtonGuessSize; + break; + + case "refreshTab": + string $selTab = `tabLayout -q -st zooCSTSetupTabs`; + break; + + case "addClient": + //the variable this sub function takes contains the UI suffix that it is to send the guessed name to + string $suffix = $variable01; + string $selObjs[] = `ls -sl`; + string $tmp[] = {}; + + tokenize $suffix "^" $tmp; + textField -e -tx $selObjs[0] ( "zooCSTText"+ $tmp[0] ); + if( `size $tmp`>1 ) zooCSTWindowFunctions guessOpposing $tmp[1]; + zooCSTWindowFunctions update 0; + break; + + case "validate": + string $flagStr = `textField -q -tx $variable01`; + string $errors[] = `zooCSTValidateFlags $flagStr`; + if( `size $errors` && `size $flagStr` ) confirmDialog -m ( "the following flags are bad:\n"+ `zooArrayToStr_str $errors "\n"` +"\n\ncheck the \"Additional Flags\" docs for details\nmake sure you check spelling, and the flag type\nof data the flag takes\n\nNOTE: This warning may not be correct..." ); + else confirmDialog -m "flag string looks good!"; + break; + + case "addHead": + string $selObjs[] = `ls -sl`; + string $tmp[] = {}; + string $head = $selObjs[0]; + int $mode = ( $variable01 == "head" )?0:1; + + if( $mode ) { + $tmp = `listRelatives -parent -path $selObjs[0]`; + $head = $tmp[0]; + } + + textField -e -tx $head zooCSTTextHead; + zooCSTWindowFunctions update 0; + break; + + case "guessAll": + string $allJoints[] = `ls -r 1 -type joint`; + string $roots[] = `zooMatchNames {"COG","root"} $allJoints "-strip 1 -parity 1 -threshold 0.5"`; + string $matches[] = {}; + + if( $prefix == "" ) { + $prefix = `match "[^:]+$" $matches[0]`; + $prefix = `match "^[^_]+" $prefix`; + textField -e -tx $prefix zooCSTTextPrefix; + } + + if( `objExists $roots[0]` ) textField -e -tx $roots[0] zooCSTTextRoot; + else if( `objExists $roots[1]` ) textField -e -tx $roots[1] zooCSTTextRoot; + + $matches = `zooMatchNames { "hips","spine_base","chest","head","neck","eye_L","eye_R" } $allJoints "-strip 1 -parity 1 -threshold 1"`; + textField -e -tx $matches[0] zooCSTTextWaist; + textField -e -tx $matches[1] zooCSTTextSpineBase; + textField -e -tx $matches[2] zooCSTTextSpineEnd; + textField -e -tx $matches[3] zooCSTTextHead; + textField -e -tx $matches[4] zooCSTTextNeck; + textField -e -tx $matches[5] zooCSTTextEyeL; + textField -e -tx $matches[6] zooCSTTextEyeR; + + $matches = `zooMatchNames { "bicep_L","bicep_R","elbow_L","elbow_R","wrist_L","wrist_R" } $allJoints "-strip 1 -parity 1 -threshold 1"`; + textField -e -tx $matches[0] zooCSTTextBicepL; + textField -e -tx $matches[1] zooCSTTextBicepR; + textField -e -tx $matches[2] zooCSTTextElbowL; + textField -e -tx $matches[3] zooCSTTextElbowR; + textField -e -tx $matches[4] zooCSTTextWristL; + textField -e -tx $matches[5] zooCSTTextWristR; + + $matches = `zooMatchNames { "thigh_L","thigh_R","knee_L","knee_R","ankle_L","ankle_R","toe_L","toe_R" } $allJoints "-strip 1 -parity 1 -threshold 1"`; + textField -e -tx $matches[0] zooCSTTextThighL; + textField -e -tx $matches[1] zooCSTTextThighR; + textField -e -tx $matches[2] zooCSTTextKneeL; + textField -e -tx $matches[3] zooCSTTextKneeR; + textField -e -tx $matches[4] zooCSTTextAnkleL; + textField -e -tx $matches[5] zooCSTTextAnkleR; + textField -e -tx $matches[6] zooCSTTextToeL; + textField -e -tx $matches[7] zooCSTTextToeR; + + $matches = `zooMatchNames { "index_base_L","mid_base_L","ring_base_L","pinky_base_L","thumb_base_L" } $allJoints "-strip 1 -parity 1 -threshold 1"`; + textField -e -tx $matches[0] zooCSTTextIndexObjL; + textField -e -tx $matches[1] zooCSTTextMidObjL; + textField -e -tx $matches[2] zooCSTTextRingObjL; + textField -e -tx $matches[3] zooCSTTextPinkyObjL; + textField -e -tx $matches[4] zooCSTTextThumbObjL; + + $matches = `zooMatchNames { "index_base_R","mid_base_R","ring_base_R","pinky_base_R","thumb_base_R" } $allJoints "-strip 1 -parity 1 -threshold 1"`; + textField -e -tx $matches[0] zooCSTTextIndexObjR; + textField -e -tx $matches[1] zooCSTTextMidObjR; + textField -e -tx $matches[2] zooCSTTextRingObjR; + textField -e -tx $matches[3] zooCSTTextPinkyObjR; + textField -e -tx $matches[4] zooCSTTextThumbObjR; + + zooCSTWindowFunctions update "*"; + break; + + case "guessSize": + string $root = `textField -q -tx zooCSTTextRoot`; + if( `objExists $root` ) { + float $temp[] = `zooGetHeirarchyBounds $root`; + float $height = $temp[4]-$temp[1]; + floatField -e -v ( $height/20 ) zooCSTFloatScale; //divide by 20 just because that seems to be a good number - scale is rather arbitrary + } + break; + + case "guessOpposing": + string $suffix = $variable01; + string $selObjs[] = `ls -sl`; + int $stringSize = `size $selObjs[0]`; + string $objSuffix = `substring $selObjs[0] ( $stringSize - 1 ) $stringSize`; + string $guessedName = `substring $selObjs[0] 1 ( $stringSize - 2 )`; + + if( $objSuffix == "_L" && `objExists ( $guessedName +"_R" )` ) textField -e -tx ( $guessedName +"_R" ) ( "zooCSTText"+ $suffix ); + if( $objSuffix == "_R" && `objExists ( $guessedName +"_L" )` ) textField -e -tx ( $guessedName +"_L" ) ( "zooCSTText"+ $suffix ); + break; + + case "addMPath": + string $tsl = $variable01; + string $sel[] = `ls -sl`; + for( $s in $sel ) textScrollList -e -a $s $tsl; + break; + + case "remMPath": + string $tsl = $variable01; + int $selIdxs[] = `textScrollList -q -sii $tsl`; + $selIdxs = `sort $selIdxs`; + $selIdxs = `zooReverseArray_int $selIdxs`; + for( $idx in $selIdxs ) textScrollList -e -rii $idx $tsl; + break; + + case "createProxy": + if( $prefix == "" ) error "You must specify a prefix"; + zooSurgeonUtils; + zooSurgeonSplitMesh ( "-asPrim 1 -prefix "+ $prefix ); + break; + + case "createSpine": + string $root = `textField -q -tx zooCSTTextRoot`; + string $hips = `textField -q -tx zooCSTTextWaist`; + string $spineBase = `textField -q -tx zooCSTTextSpineBase`; + string $spineEnd = `textField -q -tx zooCSTTextSpineEnd`; + string $options = `textField -q -tx zooCSTTextOptsRoot`; + int $buildhips = `checkBox -q -v zooCSTCheckRootHips`; + int $spineType = `optionMenu -q -sl zooCSTOptionSpineType`; + int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + if( !`objExists $root` ) error "You haven't specified the root joint - or the object name you have entered is invalid"; + if( $buildhips && !`objExists $hips` ) error "You have the build hips option checked, but either haven't specified the hips joint, or the joint you have specified is invalid"; + if( !`objExists $spineBase` || !`objExists $spineEnd` ) error "You haven't specified either the spinebase or the chest, or the joints you have entered are invalid"; + + //create the controls + string $spineControls[] = {}; + if( $spineType == 1 ) $spineControls = `zooCSTBuildPrimBasicSpine $prefix $root $spineBase $spineEnd ( $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale )`; + //if( $spineType == 2 ) $spineControls = `zooCSTBuildPrimFKSpine $prefix $root $spineBase $spineEnd ( $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale )`; + if( $spineType == 2 ) $spineControls = `zooCSTBuildPrimReverseSpine $prefix $root $spineBase $spineEnd ( $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale )`; + //if( $spineType == 4 ) $spineControls = `zooCSTBuildPrimIKSpine $prefix $root $spineBase $spineEnd ( $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale )`; + if( $spineType == 3 ) $spineControls = `zooCSTBuildPrimIKFKSpine $prefix $root $spineBase $spineEnd ( $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale )`; + if( $spineType == 4 ) $spineControls = `zooCSTBuildPrimRootSpine $prefix $root $spineBase $spineEnd ( $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale )`; + print( "zooCSTBuildPrimSpine "+ $prefix +" "+ $root +" "+ $spineBase +" "+ $spineEnd +" \""+ $options +" -buildhips "+ $buildhips +" -hips "+ $hips +" -scale "+ $scale +"\";\n" ); + break; + + case "createHead": + string $head = `textField -q -tx zooCSTTextHead`; + string $neck = `textField -q -tx zooCSTTextNeck`; + string $options = `textField -q -tx zooCSTTextOptsHead`; + int $headType = `optionMenu -q -sl zooCSTOptionHeadType`; + int $buildneck = `checkBox -q -v zooCSTCheckHeadNeck`; + int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + if( !`objExists $head` ) error "You need to specify the head joint"; + + //create the controls + string $headControls[] = {}; + if( $headType == 1 ) $headControls = `zooCSTBuildPrimHead $prefix $head ( $options +" -buildneck "+ $buildneck +" -neck "+ $neck +" -scale "+ $scale )`; + break; + + case "createEyes": + string $eyeL = `textField -q -tx zooCSTTextEyeL`; + string $eyeR = `textField -q -tx zooCSTTextEyeR`; + string $options = `textField -q -tx zooCSTTextOptsHead`; + int $eyeType = `optionMenu -q -sl zooCSTOptionEyeType`; + int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + if( !`objExists $eyeL` || !`objExists $eyeR` ) error "You need to specify both eye joints"; + + //create the controls: + string $eyeControls[] = {}; + if( $eyeType == 1 ) $eyeControls = `zooCSTBuildPrimEyes $prefix $eyeL $eyeR ( $options +" -scale "+ $scale )`; + if( $eyeType == 2 ) $eyeControls = `zooCSTBuildPrimMoveableEyes $prefix $eyeL $eyeR ( $options +" -scale "+ $scale )`; + break; + + case "createArm": + string $leftArmControls[] = {}; + string $rightArmControls[] = {}; + string $bicepL = `textField -q -tx zooCSTTextBicepL`; + string $bicepR = `textField -q -tx zooCSTTextBicepR`; + string $elbowL = `textField -q -tx zooCSTTextElbowL`; + string $elbowR = `textField -q -tx zooCSTTextElbowR`; + string $wristL = `textField -q -tx zooCSTTextWristL`; + string $wristR = `textField -q -tx zooCSTTextWristR`; + string $options = `textField -q -tx zooCSTTextOptsArms`; + int $armType = `optionMenu -q -sl zooCSTOptionArmType`; + int $stretchL = `checkBox -q -v zooCSTCheckArmStretchL`; + int $stretchR = `checkBox -q -v zooCSTCheckArmStretchR`; + int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + if( `checkBox -q -v zooCSTCheckArmL` && `objExists $bicepL` && `objExists $elbowL` && `objExists $wristL` ) { + if( $armType == 1 ) $leftArmControls = `zooCSTBuildPrimArm $prefix l $bicepL $elbowL $wristL ( $options +" -scale "+ $scale +" -stretch "+ $stretchL )`; + } + if( `checkBox -q -v zooCSTCheckArmR` && `objExists $bicepR` && `objExists $elbowR` && `objExists $wristR` ) { + if( $armType == 1 ) $rightArmControls = `zooCSTBuildPrimArm $prefix r $bicepR $elbowR $wristR ( $options +" -scale "+ $scale +" -stretch "+ $stretchR )`; + } + break; + + case "createLeg": + string $leftLegControls[] = {}; + string $rightLegControls[] = {}; + string $thighL = `textField -q -tx zooCSTTextThighL`; + string $thighR = `textField -q -tx zooCSTTextThighR`; + string $kneeL = `textField -q -tx zooCSTTextKneeL`; + string $kneeR = `textField -q -tx zooCSTTextKneeR`; + string $ankleL = `textField -q -tx zooCSTTextAnkleL`; + string $ankleR = `textField -q -tx zooCSTTextAnkleR`; + string $toeL = `textField -q -tx zooCSTTextToeL`; + string $toeR = `textField -q -tx zooCSTTextToeR`; + string $options = `textField -q -tx zooCSTTextOptsLegs`; + int $legType = `optionMenu -q -sl zooCSTOptionLegType`; + int $stretchL = `checkBox -q -v zooCSTCheckLegStretchL`; + int $stretchR = `checkBox -q -v zooCSTCheckLegStretchR`; + int $kneeModeL = `checkBox -q -v zooCSTCheckLegParentKneeL`; + int $kneeModeR = `checkBox -q -v zooCSTCheckLegParentKneeR`; + int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + + //create foot controls: + if( `checkBox -q -v zooCSTCheckLegL` && `objExists $thighL` && `objExists $kneeL` && `objExists $ankleL` ) { + if( $legType == 1 ) $leftLegControls = `zooCSTBuildPrimLeg $prefix l $thighL $kneeL $ankleL ( $options +" -scale "+ $scale +" -stretch "+ $stretchL +" -kneeMode "+ $kneeModeL )`; + if( $legType == 2 ) $leftLegControls = `zooCSTBuildPrimHaunch $prefix l $thighL $kneeL $ankleL $toeL ( $options +" -scale "+ $scale )`; + } + if( `checkBox -q -v zooCSTCheckLegR` && `objExists $thighR` && `objExists $kneeR` && `objExists $ankleR` ) { + if( $legType == 1 ) $rightLegControls = `zooCSTBuildPrimLeg $prefix r $thighR $kneeR $ankleR ( $options +" -scale "+ $scale +" -stretch "+ $stretchR +" -kneeMode "+ $kneeModeR )`; + if( $legType == 2 ) $rightLegControls = `zooCSTBuildPrimHaunch $prefix r $thighR $kneeR $ankleR $toeR ( $options +" -scale "+ $scale )`; + } + break; + + case "createHands": + string $controlL = zooGetElement_str( 0,`zooGetBrandedWithList { "name","arm" } { $prefix,"_L" }` ); + string $controlR = zooGetElement_str( 0,`zooGetBrandedWithList { "name","arm" } { $prefix,"_R" }` ); + string $baseIndexL = `textField -q -tx zooCSTTextIndexObjL`; + string $baseMidL = `textField -q -tx zooCSTTextMidObjL`; + string $baseRingL = `textField -q -tx zooCSTTextRingObjL`; + string $basePinkyL = `textField -q -tx zooCSTTextPinkyObjL`; + string $baseThumbL = `textField -q -tx zooCSTTextThumbObjL`; + string $baseIndexR = `textField -q -tx zooCSTTextIndexObjR`; + string $baseMidR = `textField -q -tx zooCSTTextMidObjR`; + string $baseRingR = `textField -q -tx zooCSTTextRingObjR`; + string $basePinkyR = `textField -q -tx zooCSTTextPinkyObjR`; + string $baseThumbR = `textField -q -tx zooCSTTextThumbObjR`; + string $options = `textField -q -tx zooCSTTextOptsHand`; + int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + if( `checkBox -q -v zooCSTCheckHandL` ) { + string $wrist[] = `listRelatives -f -p $baseIndexL`; + string $buildOpts = " -names "; + string $existing[] = {}; + if( `objExists $baseIndexL` ) { + $buildOpts += " index"; + $existing[( `size $existing` )] = $baseIndexL; + } + if( `objExists $baseMidL` ) { + $buildOpts += " mid"; + $existing[( `size $existing` )] = $baseMidL; + } + if( `objExists $baseRingL` ) { + $buildOpts += " ring"; + $existing[( `size $existing` )] = $baseRingL; + } + if( `objExists $basePinkyL` ) { + $buildOpts += " pinky"; + $existing[( `size $existing` )] = $basePinkyL; + } + if( `objExists $baseThumbL` ) { + $buildOpts += " thumb"; + $existing[( `size $existing` )] = $baseThumbL; + } + zooCSTBuildPrimHand $prefix l $wrist[0] $existing ( $options + $buildOpts +" -scale "+ $scale +" -sliders "+ `checkBox -q -v zooCSTCheckHandSlidersL` ); + } + + if( `checkBox -q -v zooCSTCheckHandR` ) { + string $wrist[] = `listRelatives -f -p $baseIndexR`; + string $buildOpts = " -names "; + string $existing[] = {}; + if( `objExists $baseIndexR` ) { + $buildOpts += " index"; + $existing[( `size $existing` )] = $baseIndexR; + } + if( `objExists $baseMidR` ) { + $buildOpts += " mid"; + $existing[( `size $existing` )] = $baseMidR; + } + if( `objExists $baseRingR` ) { + $buildOpts += " ring"; + $existing[( `size $existing` )] = $baseRingR; + } + if( `objExists $basePinkyR` ) { + $buildOpts += " pinky"; + $existing[( `size $existing` )] = $basePinkyR; + } + if( `objExists $baseThumbR` ) { + $buildOpts += " thumb"; + $existing[( `size $existing` )] = $baseThumbR; + } + zooCSTBuildPrimHand $prefix r $wrist[0] $existing ( $options + $buildOpts +" -scale "+ $scale +" -sliders "+ `checkBox -q -v zooCSTCheckHandSlidersR` ); + } + break; + + case "createSubPrimIKFK": + string $upperL = `textField -q -tx zooCSTTextIkfkObjLUpper`; + string $midL = `textField -q -tx zooCSTTextIkfkObjLMid`; + string $lowerL = `textField -q -tx zooCSTTextIkfkObjLLower`; + string $upperR = `textField -q -tx zooCSTTextIkfkObjRUpper`; + string $midR = `textField -q -tx zooCSTTextIkfkObjRMid`; + string $lowerR = `textField -q -tx zooCSTTextIkfkObjRLower`; + string $options = `textField -q -tx zooCSTTextOptsSubPrimIKFK`; + int $asPrimL = `checkBox -q -v zooCSTCheckSubPrimAsPrimL`; + int $asPrimR = `checkBox -q -v zooCSTCheckSubPrimAsPrimR`; + //int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + if( `checkBox -q -v zooCSTCheckSubPrimL` && `objExists $upperL` && `objExists $midL` && `objExists $lowerL` ) { + zooCSTBuildIKFK $prefix l $upperL $midL $lowerL ( $options +" -scale "+ $scale ); + } + if( `checkBox -q -v zooCSTCheckSubPrimR` && `objExists $upperR` && `objExists $midR` && `objExists $lowerR` ) { + zooCSTBuildIKFK $prefix r $upperR $midR $lowerR ( $options +" -scale "+ $scale ); + } + break; + + case "createSubPrimSplineIK": + string $start = `textField -q -tx zooCSTTextSplineIKStart`; + string $end = `textField -q -tx zooCSTTextSplineIKEnd`; + string $options = `textField -q -tx zooCSTTextOptsSubPrimSplineIK`; + int $stretch = `checkBox -q -v zooCSTCheckSubPrimSplineIKStretch`; + //int $colour = `colorIndexSliderGrp -q -v zooCSTColourSlider`; + + if( $prefix == "" ) error "You must specify a prefix"; + zooCSTBuildSplineIK $prefix $start $end ( $options +" -stretch "+ $stretch +" -scale "+ $scale ); + break; + + case "createSubPrimPole": + string $start = `textField -q -tx zooCSTTextPoleStart`; + string $mid = `textField -q -tx zooCSTTextPoleMid`; + string $end = `textField -q -tx zooCSTTextPoleEnd`; + string $type = `textField -q -tx zooCSTTextCtrlType`; + string $options = `textField -q -tx zooCSTTextOptsSubPrimPole`; + + if( $prefix == "" ) error "You must specify a prefix"; + float $pos[] = `zooFindPolePosition ( $options +" -start "+ $start +" -mid "+ $mid +" -end "+ $end +" -scale "+ $scale )`; + string $control = `zooBuildControl ( $prefix +"_"+ $mid +"_pole" ) ( "-type "+ $type +" -scale "+ $scale )`; + move $pos[0] $pos[1] $pos[2] $control; + break; + + case "createSubPrimMPath": + string $tsl = $variable01; + string $objs[] = `textScrollList -q -ai $tsl`; + + $prefix = `textField -q -tx zooCSTTextPrefix`; + if( $prefix == "" ) error "You must specify a prefix"; + string $controls[] = `zooCSTBuildMPath $prefix $objs ""`; + select $controls[3] $controls[4]; + for( $n=7; $n<`size $controls`; $n++ ) { + if( !`objExists $controls[$n]` ) continue; + if( `nodeType $controls[$n]` == "motionPath" ) break; + select -add $controls[$n]; + } + group -n "misc"; + setAttr .v 0; + select -d; + break; + } + } + + +global proc zooBuildFlagPopup( string $textFieldName, string $flags[] ) { + menu -e -dai ( $textFieldName +"Popup" ); + setParent -m ( $textFieldName +"Popup" ); + + string $text = `textField -q -tx $textFieldName`; + $flags = `sort $flags`; + for( $f in $flags ) menuItem -l( `match "^[^ ]+" $f` ) -c( "textField -e -tx \""+ $text +" -"+ $f +"\" "+ $textFieldName ); + menuItem -d 1; + menuItem -l "clear all" -c( "textField -e -tx \"\" "+ $textFieldName ); + } + + +global proc zooCSTSpaceUIFunctions( string $function ) { + zooCSTUtils; + zooSpaceSwitching; + string $dir = "up"; + switch( $function ) { + case "-u": + case "-update": + string $selName[] = `textScrollList -q -si zooCSTScrollNames`; + if( `size $selName` ) textField -e -tx $selName[0] zooCSTTextName; + else textField -e -tx "" zooCSTTextName; + break; + + case "-a": + case "-add": + string $sel[] = `ls -sl`; + for( $a in $sel ) { + string $name = `match "[^:]*$" $a`; + textScrollList -e -a $a zooCSTScrollSpaces; + textScrollList -e -a $name zooCSTScrollNames; + } + break; + + case "-rma": + textScrollList -e -da zooCSTScrollSpaces; + textScrollList -e -da zooCSTScrollNames; + case "-rm": + case "-remove": + int $indicies[] = `textScrollList -q -sii zooCSTScrollSpaces`; + if( !`size $indicies` ) if( `confirmDialog -t "Are you sure?" -message "Do you want to remove all items?" -button "Yes" -button "No" -defaultButton "Yes"` == "Yes" ) { + textScrollList -e -ra zooCSTScrollSpaces; + textScrollList -e -ra zooCSTScrollNames; + } + for( $n in $indicies ) { + textScrollList -e -rii $n zooCSTScrollSpaces; + textScrollList -e -rii $n zooCSTScrollNames; + } + zooCSTSpaceUIFunctions -u; + break; + + //deliberate fallthrough here - to allow the -up and -down options share code + case "-down": + $dir = "down"; + case "-up": + string $objs[] = `textScrollList -q -ai zooCSTScrollSpaces`; + string $names[] = `textScrollList -q -ai zooCSTScrollNames`; + string $selNames[] = `textScrollList -q -si zooCSTScrollSpaces`; + int $selIdxs[] = `textScrollList -q -sii zooCSTScrollSpaces`; + + //make the indicies 0-based + for( $n=0; $n<`size $selIdxs`; $n++ ) $selIdxs[$n] -= 1; + $objs = `zooReorderArray_str $objs $selIdxs $dir`; + $names = `zooReorderArray_str $names $selIdxs $dir`; + textScrollList -e -ra zooCSTScrollSpaces; + textScrollList -e -ra zooCSTScrollNames; + for( $o in $objs ) textScrollList -e -a $o zooCSTScrollSpaces; + for( $o in $names ) textScrollList -e -a $o zooCSTScrollNames; + + //reselect what was initially selected + for( $o in $selNames ) textScrollList -e -si $o zooCSTScrollSpaces; + zooCSTSpaceUIFunctions -sel; + break; + + case "-sel": + case "-select": + int $selSpace[] = `textScrollList -q -sii zooCSTScrollSpaces`; + textScrollList -e -sii $selSpace[0] zooCSTScrollNames; + zooCSTSpaceUIFunctions -u; + break; + + case "-load": + string $obj = zooGetElement_str(0,`ls -sl -type transform`); + string $spaces[] = {}; + string $names[] = {}; + int $clear = `checkBox -q -v zooCSTCheckSpcClear`; + + if( !`objExists $obj` ) break; + string $parent = zooGetElement_str(0,`listRelatives -f -p $obj`); + + zooGetSpaceTargetsNames $obj $spaces $names; + if( $clear && !`size $spaces` ) { + textScrollList -e -ra zooCSTScrollSpaces; + textScrollList -e -ra zooCSTScrollNames; + } + + if( `size $spaces` ) { + $parent = `zooFindSpace $obj`; + button -e -en 0 zooCSTWinSSButtUp; + button -e -en 0 zooCSTWinSSButtDn; + for( $n=0; $n<`size $spaces`; $n++ ) { + textScrollList -e -a $spaces[$n] zooCSTScrollSpaces; + textScrollList -e -a $names[$n] zooCSTScrollNames; + } + } + else { + button -e -en 1 zooCSTWinSSButtUp; + button -e -en 1 zooCSTWinSSButtDn; + } + + nameField -e -o $obj zooCSTNameSpc; + nameField -e -o $parent zooCSTNameParent; + button -e -en 1 zooCSTButtSpcGrp; + break; + + case "-loadParent": + string $obj = zooGetElement_str(0,`ls -sl -type transform`); + if( !`objExists $obj` ) break; + nameField -e -o $obj zooCSTNameParent; + break; + + case "-c": + case "-change": + string $newName = `textField -q -tx zooCSTTextName`; + int $selSpace[] = `textScrollList -q -sii zooCSTScrollNames`; + textScrollList -e -rii $selSpace[0] zooCSTScrollNames; + textScrollList -e -ap $selSpace[0] $newName zooCSTScrollNames; + textScrollList -e -sii $selSpace[0] zooCSTScrollNames; + break; + + case "-build": + string $obj = `nameField -q -o zooCSTNameSpc`; + if( !`objExists $obj` ) error "you haven't specified a target object to add space switching to"; + string $existingSpace[] = {}; + string $spaces[] = `textScrollList -q -ai zooCSTScrollSpaces`; + string $names[] = `textScrollList -q -ai zooCSTScrollNames`; + string $parent = `nameField -q -o zooCSTNameParent`; + + if( !`objExists $parent` ) $parent = zooGetElement_str(0,`listRelatives -f -p $obj`); + if( !`objExists $parent` ) error "the target object has no parent"; + zooGetSpaceTargetsNames $obj $existingSpace {}; + $spaces = `zooSubtractArray_str $spaces $existingSpace`; + $names = `zooIndexCrop_str $names ( "-"+ (size($spaces)) +":" )`; + for( $n=0; $n<`size $spaces`; $n++ ) zooAddSpaceSwitch $obj $parent $spaces[$n] $names[$n] "-mo"; + break; + } + } + + +global proc zooCSTCtrlUIFunctions( string $function ) { + string $tgts[] = {}; + int $useSelected = 0; + + switch( $function ) { + case "-u": + case "-update": + string $selName[] = `textScrollList -q -si zooCSTScrollNames`; + if( `size $selName` ) textField -e -tx $selName[0] zooCSTTextName; + break; + + case "-load": + string $sel[] = `ls -sl -type transform -type joint`; + if( `objExists $sel[0]` ) { + nameField -e -o $sel[0] zooCSTNamePlaceCtrl; + nameField -e -o $sel[0] zooCSTNameAlignCtrl; + button -e -en 1 zooCSTButtSpcGrp; + } + break; + + case "-loadpiv": + string $sel[] = `ls -sl -type transform -type joint`; + if( `objExists $sel[0]` ) nameField -e -o $sel[0] zooCSTNamePivotCtrl; + break; + + case "-loadali": + string $sel[] = `ls -sl -type transform -type joint`; + if( `objExists $sel[0]` ) nameField -e -o $sel[0] zooCSTNameAlignCtrl; + break; + + case "-buildOnSelected": + $useSelected = 1; + case "-build": + string $tgt = `nameField -q -o zooCSTNamePlaceCtrl`; + string $piv = `nameField -q -o zooCSTNamePivotCtrl`; + string $ali = `nameField -q -o zooCSTNameAlignCtrl`; + string $type = `textField -q -tx zooCSTTextCtrlType`; + string $axis = `radioCollection -q -sl zooCSTCtrlAxis`; + string $name = `match "[^|]+$" $tgt`; + string $colour = `textField -q -tx zooCSTTextCtrlColour`; + float $scale = `floatField -q -v zooCSTFloatScale`; + float $offsetUp = `floatField -q -v zooCSTFloatOffUp`; + float $offsetSide = `floatField -q -v zooCSTFloatOffSide`; + float $offsetFwd = `floatField -q -v zooCSTFloatOffFwd`; + int $curve = `checkBox -q -v zooCSTCheckCurve`; + int $surface = `checkBox -q -v zooCSTCheckSurface`; + int $constrain = `checkBox -q -v zooCSTCheckConstrain`; + int $orient = `checkBox -q -v zooCSTCheckOriented`; + int $joint = `checkBox -q -v zooCSTCheckJoint`; + + if( $name != "" ) $name += "_ctrl"; + if( $colour == "none" ) $colour = ""; + if( `checkBox -q -v zooCSTCheckNeg` ) $axis = "_"+ $axis; + if( $useSelected ) $tgts = `ls -sl`; + else $tgts = {$tgt}; + for( $obj in $tgts ) { + string $ctrl = `zooBuildControl $name ( "-type "+ $type +" -axis "+ $axis +" -place "+ $obj +" -placepivot "+ $piv +" -align "+ ($useSelected? "%p": $ali) +" -surface "+ $surface +" -orient "+ $orient +" -joint "+ $joint +" -colour "+ $colour +" -scale "+ $scale +" -offset "+ $offsetUp +"up "+ $offsetSide +"side "+ $offsetFwd +"fwd" )`; + if( $constrain ) if( `objExists $obj` ) parentConstraint -mo $ctrl $obj; + } + break; + } + } + + +//installs a shelf button to the current shelf +global proc zooCSTShelfButton( string $function ) { + switch( $function ) { + case "install": + string $button = `zooInstallShelfButton zooCST`; + string $label = "zooCST - Character Setup Toolkit - a complete suite of character rigging tools"; + string $image = `internalVar -userBitmapsDir` +"zooCST.bmp"; + + shelfButton -e -l $label -image1 $image -c( "source zooCST; zooCST;" ) $button; + zooCSTBuildShelfPopups; + break; + + case "remove": + string $button = `zooShelveItGetShelfButton zooCST`; + deleteUI $button; + break; + } + } + + +global proc zooCSTBuildShelfPopups() { + string $buttons[] = `zooGetShelfButtonAll zooCST`; + for( $button in $buttons ) { + if( `shelfButton -q -npm $button` ) continue; + string $pup = `popupMenu -p $button -b 3`; + popupMenu -e -pmc( "zooCSTBuildPopup "+ $pup ) $pup; + } + } + + +global proc zooCSTBuildPopup( string $parent ) { + menu -e -dai $parent; + setParent -m $parent; + + string $sel[] = `ls -sl`; + string $pfx = `size $sel`? "(*for selected*) ": ""; + + menuItem -l( $pfx +"group to self" ) -c ( "{zooCSTUtils; for( $a in `ls -sl` ) zooGrpToSelf \"\" $a;}" ); + menuItem -l( $pfx +"group to self, no freeze" ) -c ( "{zooCSTUtils; for( $a in `ls -sl` ) zooGrpToSelf \"-freeze 0\" $a;}" ); + menuItem -l( $pfx +"parent to child" ) -c ( "{for( $a in `ls -sl` ) zooParentToChild $a;}" ); + } + + +global proc zooCSTPrimitiveListWindow() { + string $windowName = "zooCSTPrimitivesList"; + string $windowTitle = "Primitives"; + string $primitives[] = `zooCSTListPrimitives`; + + if( `window -exists $windowName` ) deleteUI $windowName; + + window -title $windowTitle -maximizeButton 0 -sizeable 1 -width 255 $windowName; + scrollLayout -cr 1; + columnLayout -adj 1; + for( $p in $primitives ) { + string $controls[] = `zooCSTListRegistered control $p`; + string $inputs[] = `zooCSTListRegistered input $p`; + string $outputs[] = `zooCSTListPrimOutputs $p`; + + string $form = `formLayout`; + string $name = `nameField -o $p -width 200`; + string $butt = `button -l "actions" -width 50`; + setParent ..; + + formLayout -e + -af $name "top" 2 + -af $name "left" 2 + -ac $name "right" 2 $butt + -af $name "bottom" 2 + + -af $butt "top" 2 + -an $butt "left" + -af $butt "right" 2 + -af $butt "bottom" 2 + $form; + + popupMenu -p $butt -b 1; + if( `size $controls` ) menuItem -l "select controls" -c( "select (zooCSTListRegistered(\"control\",`nameField -q -o "+ $name +"`))" ); + if( `size $inputs` ) menuItem -l "select inputs" -c( "select (zooCSTListRegistered(\"input\",`nameField -q -o "+ $name +"`))" ); + if( `size $outputs` ) menuItem -l "select outputs" -c( "select (zooCSTListPrimOutputs(`nameField -q -o "+ $name +"`))" ); + menuItem -d 1; + menuItem -l "select primitive node" -c( "select (`nameField -q -o "+ $name +"`)" ); + menuItem -d 1; + menuItem -l "rebuild" -c( "{ string $q=`confirmDialog -title \"Rebuild Primitive?\" -m \"Really rebuild this primitive?\" -b Yes -b No -db No -cb No -ds No`; if($q!=\"No\"){zooCSTRebuildPrimitive (`nameField -q -o "+ $name +"`); deleteUI "+ $form +";}}" ); + menuItem -l "delete" -c( "{ string $q=`confirmDialog -title \"Delete Primitive?\" -m \"Really delete this primitive?\" -b Yes -b No -db No -cb No -ds No`; if($q!=\"No\") zooCSTDeletePrimitive (`nameField -q -o "+ $name +"`); }" ); + } + button -l "update" -c( "zooCSTPrimitiveListWindow;" ); + + showWindow $windowName; + zooBumpWindow $windowName; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildIKFK.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildIKFK.mel new file mode 100644 index 0000000..45dd334 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildIKFK.mel @@ -0,0 +1,432 @@ +zooArrays_float; +zooArrays_str; +zooAttrUtils; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooStrUtils; +zooUtils; +zooVectors; + + +global proc string[] zooCSTBuildIKFK( string $prefix, string $parity, string $bicep, string $elbow, string $wrist, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $axes[] = {"x","y","z"}; + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $temp[] = {}; + string $id = ""; + string $ikType = "cube"; + string $fkType = "cube"; + string $poleType = "cone"; + string $bicepTwists[] = `zooGetInBTweenJoints $bicep $elbow`; + string $wristTwists[] = `zooGetInBTweenJoints $elbow $wrist`; + string $twistUpObj = zooGetElement_str(0,`listRelatives -f -p $bicep`); + string $colour = $parity=="r"? "red 0.65": "green 0.65"; + float $scale = 1.; + int $cmds = 0; + int $asPrim = 0; + int $offsetDir = $parity=="r"? -1: 1; + + int $isCurve = 0; + int $fkCurve = 0; + int $triggers = 1; + + $temp = `zooGetFlagArguments $optionStr id`; if( `size $temp` ) $id = $temp[0]; + $temp = `zooGetFlagArguments $optionStr bicepTwists`; if( `size $temp` ) $bicepTwists = $temp; + $temp = `zooGetFlagArguments $optionStr wristTwists`; if( `size $temp` ) $wristTwists = $temp; + $temp = `zooGetFlagArguments $optionStr twistUpObj`; if( `size $temp` ) if( `objExists $temp[0]` ) $twistUpObj = $temp[0]; + $temp = `zooGetFlagArguments $optionStr cmds`; if( `size $temp` ) $cmds = $temp[0]; + $temp = `zooGetFlagArguments $optionStr asPrim`; if( `size $temp` ) $asPrim = $temp[0]; + $temp = `zooGetFlagArguments $optionStr ikType`; if( `size $temp` ) $ikType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr fkType`; if( `size $temp` ) $fkType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr poleType`; if( `size $temp` ) $poleType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr scale`; if( `size $temp` ) $scale = $temp[0]; + $temp = `zooGetFlagArguments $optionStr curve`; if( `size $temp` ) $isCurve = $temp[0]; + $temp = `zooGetFlagArguments $optionStr fkCurve`; if( `size $temp` ) $fkCurve = $temp[0]; + $temp = `zooGetFlagArguments $optionStr triggers`; if( `size $temp` ) $triggers = $temp[0]; + if( $isCurve ) $fkCurve = 1; + if( $id == "" ) $id = `zooCSTGetPrimId ikfk $suffix $prefix`; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $controls[] = {}; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + + + //------ + //build the objects + //------ + string $ikArmSpace = `zooBuildControl ( $prefix +"_ik_limb_space"+ $id ) ( "-type null -align %p -place "+ $wrist )`; + string $fkArmSpace = `zooBuildControl ( $prefix +"_fk_limb_space"+ $id ) ( "-type null -align %p -place "+ $bicep )`; + string $driverUpper = `zooBuildControl ( $prefix +"_fk_limbUpper_ctrl"+ $id ) ( "-type "+ $fkType +" -align %p -place "+ $bicep +" -joint 1 -scale "+ $scale +" -colour "+ $colour )`; + string $driverMid = `zooBuildControl ( $prefix +"_fk_limbMiddle_ctrl"+ $id ) ( "-type "+ $fkType +" -align %p -place "+ $elbow +" -joint 1 -scale "+ $scale +" -colour "+ $colour )`; + string $driverLower = `zooBuildControl ( $prefix +"_limbEnd_ctrl"+ $id ) ( "-type "+ $fkType +" -align %p -place "+ $wrist +" -joint 1 -scale "+ $scale +" -colour "+ $colour )`; + string $wristOrient = `zooBuildControl ( $prefix +"_limbEnd_orient_lockthis"+ $id ) ( "-type null -align %p -place "+ $wrist )`; + string $wristOrientOffset = `zooBuildControl ( $prefix +"_limbEnd_orient_offset"+ $id ) ( "-type null -align %p -place "+ $wrist )`; + string $poleControlSpace = `zooBuildControl ( $prefix +"_pole_space"+ $id ) "-type null"`; + + parent $wristOrientOffset $wristOrient; + parent $wristOrient $partsControl; + delete `parentConstraint $wrist $wristOrientOffset`; + + + //------ + //the fk and ik arm spaces are oriented using zooAlign instead of building them as oriented controls - this is because + //oriented controls are joints and thus can't be hidden without hiding all children + //------ + zooAlign ( "-src "+ $wrist +" -tgt "+ $ikArmSpace ); + zooAlign ( "-src "+ $bicep +" -tgt "+ $fkArmSpace ); + parent $driverUpper $fkArmSpace; + parent $driverMid $driverUpper; + parent $driverLower $driverMid; + + float $polePos[] = `zooFindPolePosition ( "-multiplier 5 -end "+ $driverLower )`; + move -a -ws -rpr $polePos[0] $polePos[1] $polePos[2] $poleControlSpace; + string $poleAxis = zooReplaceInString(zooVectorAsAxis(zooHighestInDirection(`zooBetweenVector $elbow $poleControlSpace`)),"-","_"); + string $poleControl = `zooBuildControl ( $prefix +"_pole_ctrl"+ $id ) ( "-type "+ $poleType +" -pivot base -place "+ $poleControlSpace +" -axis "+ $poleAxis +" -scale "+ $scale +" -colour "+ $colour )`; + + move -a -ws -rpr $polePos[0] $polePos[1] $polePos[2] $poleControl; + parent $poleControl $poleControlSpace; + makeIdentity -a 1 -t 1 $poleControlSpace; + + + //------ + //build the pole control selection trigger + //------ + string $lineNode = `group -em`; + $lineNode = `rename $lineNode ( $prefix +"_pole_line"+ $id )`; + zooAlignFast $elbow $lineNode 0 0; + pointConstraint $elbow $lineNode; + zooAttrState "-attrs t r s v -k 0 -l 1" $lineNode; + + + //------ + //build the IK handle + //------ + string $limbControl = zooGetElement_str(0,`ikHandle -fs 1 -sj $driverUpper -ee $driverLower -solver ikRPsolver`); + string $limbControlObject = `zooBuildControl ( $prefix +"_limb_ctrl"+ $id ) ( "-type "+ $ikType +" -scale "+ $scale +" -colour "+ $colour )`; + string $limbControlOrient = `zooCSTOrient2Obj $wrist $limbControl`; + + parent $limbControlOrient $ikArmSpace; + for( $s in `listRelatives -f -s $limbControlObject` ) parent -add -s $s $limbControl; + delete $limbControlObject; + $limbControl = `rename $limbControl ( $prefix +"_limb_ctrl"+ $id )`; + + + //------ + //setup constraints to drive the original joints + //------ + xform -p 1 -rotateOrder `zooCSTGetRo x` $limbControl; + delete `parentConstraint $wrist $wristOrientOffset`; + string $orgArmConstraints[] = {}; + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`parentConstraint $driverMid $elbow`); + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`orientConstraint $wristOrientOffset $wrist`); + string $wristSpaceOrient = zooGetElement_str(0,`parentConstraint -mo $limbControl $wristOrient`); + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`parentConstraint -mo $driverLower $wristOrient`); + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`poleVectorConstraint $poleControl $limbControl`); + + + //------ + //distribute the "bank" rotations over the bicep twist joints of the original skeleton + //------ + string $twistCtrl = ""; + string $bicepTwistGrps[] = {}; + string $utils[] = {}; + int $numBicepTwists = `size $bicepTwists`; + int $numWristTwists = `size $wristTwists`; + + if( $numBicepTwists || $numWristTwists ) if( !`objExists $twistUpObj` ) error "couldn't find an object to use for the twisting \"up axis\" - try specifying it manually using the \"-twistUpObj objName\" flag in the creation of this subprimitive"; + if( $numBicepTwists || $numWristTwists ) $twistCtrl = `zooBuildControl ( $prefix +"_twist_ctrl"+ $id ) ( "-type ring -axis z -surface 0 -offset 1up "+ $offsetDir +"side -scale "+ $scale +" -placepivot %p -place "+ $bicep )`; + if( $numBicepTwists ) { + float $twistAxis[] = zooAxisInDirection($bicep,`zooBetweenVector $bicep $elbow`); + string $twistAsStr = `zooArrayToStr_float $twistAxis " "`; + string $twistName = `zooCSTVectorAsName $twistAsStr`; + string $bicepDistrib = `shadingNode -asUtility multiplyDivide -n ( "upper_twist_distributor"+ $suffix )`; + string $upAxisChoiceSrc = `shadingNode -asUtility condition -n ( "upper_distrib_up_src"+ $suffix )`; + string $upAxisChoiceTgt = `shadingNode -asUtility condition -n ( "upper_distrib_up_tgt"+ $suffix )`; + string $bicepElbowAim = `group -em`;//zooGetElement_str(0,`spaceLocator`); + string $elbowBicepAim = `group -em`; + string $otherAxes[] = `zooSubtractArray_str $axes { $twistName }`; + + $bicepElbowAim = `rename $bicepElbowAim ( "upper_twistRoot"+ $suffix +"#" )`; + $elbowBicepAim = `rename $elbowBicepAim ( "upper_twistEnd"+ $suffix +"#" )`; + $utils[( `size $utils` )] = $bicepDistrib; + $utils[( `size $utils` )] = $upAxisChoiceSrc; + $utils[( `size $utils` )] = $upAxisChoiceTgt; + addAttr -ln "switchUp" -at bool $twistCtrl; + setAttr -k 1 ( $twistCtrl +".switchUp" ); + parent $elbowBicepAim $bicepElbowAim; + parent $bicepElbowAim $fkArmSpace; + delete `parentConstraint $bicep $bicepElbowAim`; + string $bAim = zooGetElement_str(0,`aimConstraint -aim $twistAxis[0] $twistAxis[1] $twistAxis[2] -wuo $twistUpObj -wut objectrotation $driverMid $bicepElbowAim`); + delete `parentConstraint $elbow $elbowBicepAim`; + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`aimConstraint -aim (-1*$twistAxis[0]) (-1*$twistAxis[1]) (-1*$twistAxis[2]) -wuo $driverMid -wut objectrotation $driverUpper $elbowBicepAim`); + $orgArmConstraints = `zooAddArray_str $orgArmConstraints {$bAim}`; + connectAttr -f ( $twistCtrl +".switchUp" ) ( $upAxisChoiceSrc +".firstTerm" ); + connectAttr -f ( $twistCtrl +".switchUp" ) ( $upAxisChoiceTgt +".firstTerm" ); + connectAttr -f ( $upAxisChoiceSrc +".outColor" ) ( $bAim +".upVector" ); + connectAttr -f ( $upAxisChoiceTgt +".outColor" ) ( $bAim +".worldUpVector" ); + connectAttr ( $elbowBicepAim +".r" ) ( $bicepDistrib +".input1" ); + setAttr ( $bicepDistrib +".input2" ) ( $numBicepTwists+1 ) ( $numBicepTwists+1 ) ( $numBicepTwists+1 ); + setAttr ( $bicepDistrib +".operation" ) 2; + + float $upOther0Src[] = `zooAxisAsVector $otherAxes[0]`; + float $upOther1Src[] = `zooAxisAsVector $otherAxes[1]`; + float $upOther0Tgt[] = `zooAxisInDirection $twistUpObj (zooAxisVector($bicepElbowAim,$upOther0Src))`; + float $upOther1Tgt[] = `zooAxisInDirection $twistUpObj (zooAxisVector($bicepElbowAim,$upOther1Src))`; + + setAttr ( $upAxisChoiceSrc +".colorIfTrue" ) $upOther0Src[0] $upOther0Src[1] $upOther0Src[2]; + setAttr ( $upAxisChoiceSrc +".colorIfFalse" ) $upOther1Src[0] $upOther1Src[1] $upOther1Src[2]; + setAttr ( $upAxisChoiceTgt +".colorIfTrue" ) $upOther0Tgt[0] $upOther0Tgt[1] $upOther0Tgt[2]; + setAttr ( $upAxisChoiceTgt +".colorIfFalse" ) $upOther1Tgt[0] $upOther1Tgt[1] $upOther1Tgt[2]; + + string $locs[] = { $bicepElbowAim }; + for( $n=0; $n<$numBicepTwists; $n++ ) { + string $loc = `group -em -n ( $bicepTwists[$n] +"_twist_distrib_"+ $n )`;//zooGetElement_str(0,`spaceLocator`); + parent $loc $locs[$n]; + $locs[$n+1] = $loc; + delete `parentConstraint $bicepTwists[$n] $loc`; + connectAttr -f ( $bicepDistrib +".o"+ $twistName ) ( $loc +".r"+ $twistName ); + parentConstraint $loc $bicepTwists[$n]; + } + + $bicepTwistGrps = `zooAddArray_str $locs {$elbowBicepAim}`; + orientConstraint $bicepElbowAim $bicep; + pointConstraint $bicep $twistCtrl; + string $bicepParent = zooGetElement_str(0,`listRelatives -f -p $bicep`); + if( `objExists $bicepParent` ) orientConstraint -mo $bicepParent $twistCtrl; + zooAttrState "-attrs t r s v -k 0" $twistCtrl; + zooAttrState "-attrs t r s -l 1" $twistCtrl; + zooObjMenuAddCmdAll $twistCtrl "swap upper twist" "setAttr #.switchUp (!`getAttr #.switchUp`);"; + } + else orientConstraint $driverUpper $bicep; + + + //------ + //now do the same for the wrist twist joints + //------ + string $wristTwistGrps[] = {}; + string $constrainWristTo = $driverLower; + if( $numWristTwists ) { + float $twistAxis[] = zooAxisInDirection($elbow,`zooBetweenVector $elbow $wrist`); + string $twistAsStr = `zooArrayToStr_float $twistAxis " "`; + string $twistName = `zooCSTVectorAsName $twistAsStr`; + string $wristDistrib = `shadingNode -asUtility multiplyDivide -n ( "lower_twist_distributor"+ $suffix )`; + string $elbowWristAim = `group -em`; + string $wristElbowAim = `group -em`; + string $wristElbowAimUp = `group -em`; + string $otherAxes[] = `zooSubtractArray_str $axes { $twistName }`; + + $elbowWristAim = `rename $elbowWristAim ( "lower_twistRoot"+ $suffix +"#" )`; + $wristElbowAim = `rename $wristElbowAim ( "lower_twistEnd"+ $suffix +"#" )`; + $wristElbowAimUp = `rename $wristElbowAimUp ( "lower_twistUp"+ $suffix +"#" )`; + $wristTwistGrps[( `size $wristTwistGrps` )] = $elbowWristAim; + $utils[( `size $utils` )] = $wristDistrib; + parent $wristElbowAimUp $wristOrientOffset; + parent $wristElbowAim $elbowWristAim; + parent $elbowWristAim $driverMid; + delete `parentConstraint $wristOrientOffset $wristElbowAimUp`; + delete `parentConstraint $elbow $elbowWristAim`; + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`aimConstraint -aim $twistAxis[0] $twistAxis[1] $twistAxis[2] -wuo $driverMid -wut objectrotation $driverLower $elbowWristAim`); + delete `parentConstraint $wrist $wristElbowAim`; + string $eAim = zooGetElement_str(0,`aimConstraint -aim (-1*$twistAxis[0]) (-1*$twistAxis[1]) (-1*$twistAxis[2]) -u ($otherAxes[0]=="x"?1:0) ($otherAxes[0]=="y"?1:0) ($otherAxes[0]=="z"?1:0) -wuo $wristElbowAimUp -wut object $driverMid $wristElbowAim`); + $orgArmConstraints = `zooAddArray_str $orgArmConstraints {$eAim}`; + connectAttr ( $wristElbowAim +".r" ) ( $wristDistrib +".input1" ); + setAttr ( $wristDistrib +".input2" ) ( $numWristTwists+1 ) ( $numWristTwists+1 ) ( $numWristTwists+1 ); + setAttr ( $wristDistrib +".operation" ) 2; + select $wristElbowAimUp; + eval( "move -os -r -"+ $otherAxes[0] +" 1;" ); + + string $locs[] = { $elbowWristAim }; + for( $n=0; $n<$numWristTwists; $n++ ) { + string $loc = `group -em -n ( $wristTwists[$n] +"_twist_distrib_"+ $n )`; + parent $loc $locs[$n]; + $locs[$n+1] = $loc; + delete `parentConstraint $wristTwists[$n] $loc`; + connectAttr -f ( $wristDistrib +".o"+ $twistName ) ( $loc +".r"+ $twistName ); + parentConstraint $loc $wristTwists[$n]; + } + + $wristTwistGrps = `zooAddArray_str $locs {$wristElbowAim}`; + $constrainWristTo = $wristElbowAim; + } + pointConstraint $constrainWristTo $wrist; + + + //------ + //constrain the position of the twists so that if the fk objects are moved, the twists maintain their relative position + //------ + string $bicepAxis = `zooCSTJointDirection $driverMid`; + float $bicepLength = `getAttr ( $driverMid +".t"+ $bicepAxis )`;//zooVectorMag(`zooBetweenVector $bicep $elbow`); + + for( $n=1; $n<`size $bicepTwistGrps`-1; $n++ ) { + string $name = `match "[^|:]+$" $bicepTwistGrps[$n]`; + string $multNode = `shadingNode -asUtility -name ( $prefix +"_"+ $name +"_fraction_pos" ) multiplyDivide`; + string $objAxis = `zooCSTJointDirection $bicepTwistGrps[$n]`; + + setAttr ( $multNode +".input1X" ) ( `getAttr ( $bicepTwistGrps[$n] +".t"+ $objAxis )`/$bicepLength ); + connectAttr -f ( $driverMid +".t"+ $bicepAxis ) ( $multNode +".input2X" ); + connectAttr -f ( $multNode +".outputX" ) ( $bicepTwistGrps[$n] +".t"+ $objAxis ); + $utils[( `size $utils` )] = $multNode; + } + + string $elbowAxis = `zooCSTJointDirection $driverLower`; + float $elbowLength = `getAttr ( $driverLower +".t"+ $elbowAxis )`; + + for( $n=1; $n<`size $wristTwistGrps`; $n++ ) { + string $name = `match "[^|:]+$" $wristTwistGrps[$n]`; + string $multNode = `shadingNode -asUtility -name ( $prefix +"_"+ $name +"_fraction_pos" ) multiplyDivide`; + string $objAxis = `zooCSTJointDirection $wristTwistGrps[$n]`; + + setAttr ( $multNode +".input1X" ) ( `getAttr ( $wristTwistGrps[$n] +".t"+ $objAxis )`/$elbowLength ); + connectAttr -f ( $driverLower +".t"+ $elbowAxis ) ( $multNode +".input2X" ); + connectAttr -f ( $multNode +".outputX" ) ( $wristTwistGrps[$n] +".t"+ $objAxis ); + $utils[( `size $utils` )] = $multNode; + } + + + //------ + //connect the ikBlend of the arm controller to the orient constraint of the fk wrist - ie turn it off when ik is off... + //------ + string $attribs[] = `listAttr -ud $wristSpaceOrient`; + string $weightRevNode = `shadingNode -asUtility reverse`; + connectAttr -f ( $limbControl +".ikBlend" ) ( $weightRevNode +".inputX" ); + connectAttr -f ( $limbControl +".ikBlend" ) ( $wristSpaceOrient +"."+ $attribs[0] ); + connectAttr -f ( $weightRevNode +".outputX" ) ( $wristSpaceOrient +"."+ $attribs[1] ); + setAttr ( $wristSpaceOrient +".interpType" ) 2; + $utils[`size $utils`] = $weightRevNode; + + + //------ + //build expressions for fk blending and control visibility + //------ + string $fkVisCond = `shadingNode -asUtility condition`; + string $poleVisCond = `shadingNode -asUtility condition`; + connectAttr -f ( $limbControl +".ikBlend" ) ( $fkVisCond +".firstTerm" ); + connectAttr -f ( $limbControl +".ikBlend" ) ( $poleVisCond +".firstTerm" ); + connectAttr -f ( $fkVisCond +".outColorR" ) ( $driverUpper +".v" ); + connectAttr -f ( $poleVisCond +".outColorG" ) ( $poleControlSpace +".v" ); + setAttr ( $fkVisCond +".secondTerm" ) 1; + + + //------ + //add set pole to fk pos command to pole control + //------ + string $fkControls[] = { $driverUpper, $driverMid, $driverLower }; + int $poleConnectNums[3]; + + for( $n=0; $n<3; $n++ ) $poleConnectNums[$n] = `zooAddConnect $poleControl $fkControls[$n]`; + zooObjMenuAddCmdAll $poleControl "move to FK position" ( "{\nzooVectors;\nfloat $pos[] = `zooFindPolePosition \"-start %"+ $poleConnectNums[0] +" -mid %"+ $poleConnectNums[1] +" -end %"+ $poleConnectNums[2] +"\"`;\nmove -rpr $pos[0] $pos[1] $pos[2] #;\n}" ); + + + //------ + //add select all commands to each fk control + //------ + int $cmdNums[] = {}; + for( $n=0; $n<3; $n++ ) { + int $c1 = `zooAddConnect $fkControls[$n] $fkControls[(($n+1)%3 )]`; + int $c2 = `zooAddConnect $fkControls[$n] $fkControls[(($n+2)%3 )]`; + $cmdNums[$n] = `zooObjMenuAddCmdAll $fkControls[$n] "select all fk controls" ( "select #;\nselect -add %"+ $c1 +" %"+ $c2 +";" )`; + } + + + //------ + //add IK/FK switching commands if required + //------ + if( $cmds ) { + int $poleNum = `zooAddConnect $limbControl $poleControl`; + zooObjMenuAddCmdAll $limbControl "switch to FK" "zooAlign \"\";\nzooAlignFK \"-ikHandle #\";"; + zooObjMenuAddCmdAll $limbControl "switch to IK" ( "zooAlign \"\";\nzooAlignIK \"-ikHandle # -pole %"+ $poleNum +"\";" ); + } + + + //------ + //add trigger commands + //------ + if( $triggers ) { + zooMakeTrigger $lineNode `zooPresetTriggerCmds -selectConnected` {$poleControl}; + setAttr ( $lineNode +".displayHandle" ) 1; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $turnROff[] = { $poleControl }; + string $turnSOff[] = { $limbControl, $poleControl, $driverUpper, $driverMid, $driverLower }; + + for( $obj in $fkControls ) zooAttrState "-attrs t radi -v 0 -k 0 -l 1" $obj; + for( $obj in $turnROff ) zooAttrState "-attrs r -k 0 -l 1" $obj; + for( $obj in $turnSOff ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $turnSOff ) zooAttrState "-attrs v -k 0" $obj; + zooAttrState "-attrs pv off rol twi -k 0 -l 1" $limbControl; + zooAttrState "-attrs t r s v -k 0 -l 1" $wristOrient; + + + //------ + //clean up - set minor attribs to tweak behaviour, and parent controls under parents where possible + //------ + string $controllers[] = { $limbControl, $driverUpper, $driverMid, $driverLower, $poleControl }; + string $allNodes[] = $controllers; + + $allNodes = `zooAddArray_str $allNodes { $wristOrient, $ikArmSpace, $fkArmSpace, $lineNode, $limbControlOrient, $wristOrientOffset, $poleControlSpace, $fkVisCond, $poleVisCond, $twistCtrl }`; + $allNodes = `zooAddArray_str $allNodes $utils`; + $allNodes = `zooAddArray_str $allNodes $bicepTwistGrps`; + $allNodes = `zooAddArray_str $allNodes $wristTwistGrps`; + if( `objExists $worldControl` ) { + parent $ikArmSpace $worldControl; + parent $fkArmSpace $worldControl; + parent $poleControlSpace $worldControl; + } + if( `objExists $partsControl` ) parent $lineNode $partsControl; + if( `objExists $partsControl` ) if( `objExists $twistCtrl` ) parent $twistCtrl $partsControl; + zooBrandObject twistControl $prefix $twistCtrl; + + + //------ + //does the user want it built as a primitive? + //------ + if( $asPrim ) { + string $primitive = `zooCSTCreatePrimRecord ikfk $id $prefix`; + zooCSTRegisterInput $bicep $primitive; + zooCSTRegisterInput $elbow $primitive; + zooCSTRegisterInput $wrist $primitive; + zooCSTPrimOutputs $allNodes $primitive; + zooCSTPrimOutputs $orgArmConstraints $primitive; + zooBrandObject options ( $optionStr +" -parity "+ $parity ) $primitive; + zooBrandObject version "1" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + } + + return $allNodes; + } + + +/* +$prefix - standard character prefix (all controls built by this proc are prefixed with this string +$parity - which side of the character are the controls on? l or r +$bicep - the bicep, upper arm, or humerous +$elbow - the elbow or forearm. ie where the limb bends +$wrist - the wrist/hand joint +$optionStr - standard option string - see flag docs for info on option strings + +option flags +------- +-id [string] requires a unique id number (usually found using the zooCSTGetPrimId command) +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +-triggers [int] turn this off if you don't want the script to build trigger selection objects for the pole vector + +controller names are returned. the $controller variable is the object attribs are added to, $controlParent is the object the ikfk controls are parentConstrained to, and $limbControl is so it knows whcih ikHandle to control +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildIKFK_altTwist.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildIKFK_altTwist.mel new file mode 100644 index 0000000..591147b --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildIKFK_altTwist.mel @@ -0,0 +1,414 @@ +zooArrays_float; +zooArrays_str; +zooAttrUtils; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooUtils; +zooVectors; + + +global proc string[] zooCSTBuildIKFK( string $prefix, string $parity, string $bicep, string $elbow, string $wrist, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $axes[] = {"x","y","z"}; + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $temp[] = {}; + string $id = ""; + string $ikType = "cube"; + string $fkType = "cube"; + string $poleType = "cone"; + string $bicepTwists[] = `zooGetInBTweenJoints $bicep $elbow`; + string $wristTwists[] = `zooGetInBTweenJoints $elbow $wrist`; + string $twistUpObj = zooGetElement_str(0,`listRelatives -f -p $bicep`); + string $colour = $parity=="r"? "red 0.8": "green 0.8"; + float $scale = 1.; + int $asPrim = 0; + int $isCurve = 0; + int $fkCurve = 0; + int $triggers = 1; + + $temp = `zooGetFlagArguments $optionStr id`; if( `size $temp` ) $id = $temp[0]; + $temp = `zooGetFlagArguments $optionStr bicepTwists`; if( `size $temp` ) $bicepTwists = $temp; + $temp = `zooGetFlagArguments $optionStr wristTwists`; if( `size $temp` ) $wristTwists = $temp; + $temp = `zooGetFlagArguments $optionStr twistUpObj`; if( `size $temp` ) if( `objExists $temp[0]` ) $twistUpObj = $temp[0]; + $temp = `zooGetFlagArguments $optionStr asPrim`; if( `size $temp` ) $asPrim = $temp[0]; + $temp = `zooGetFlagArguments $optionStr ikType`; if( `size $temp` ) $ikType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr fkType`; if( `size $temp` ) $fkType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr poleType`; if( `size $temp` ) $poleType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $temp = `zooGetFlagArguments $optionStr scale`; if( `size $temp` ) $scale = $temp[0]; + $temp = `zooGetFlagArguments $optionStr curve`; if( `size $temp` ) $isCurve = $temp[0]; + $temp = `zooGetFlagArguments $optionStr fkCurve`; if( `size $temp` ) $fkCurve = $temp[0]; + $temp = `zooGetFlagArguments $optionStr triggers`; if( `size $temp` ) $triggers = $temp[0]; + if( $isCurve ) $fkCurve = 1; + if( $id == "" ) $id = `zooCSTGetPrimId ikfk $suffix $prefix`; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $controls[] = {}; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + + + //------ + //build the objects + //------ + string $ikArmSpace = `zooCSTBuildControl null ( $prefix +"_ik_limb_space"+ $id ) $wrist "-scale 1 -curve 0"`; + string $fkArmSpace = `zooCSTBuildControl null ( $prefix +"_fk_limb_space"+ $id ) $bicep "-scale 1 -curve 0"`; + string $driverUpper = `zooCSTBuildControl $fkType ( $prefix +"_fk_limbUpper_ctrl"+ $id ) $bicep ( "-orient 1 -scale "+ $scale +" -curve "+ $fkCurve +" -colour "+ $colour )`; + string $driverMid = `zooCSTBuildControl $fkType ( $prefix +"_fk_limbMiddle_ctrl"+ $id ) $elbow ( "-orient 1 -scale "+ $scale +" -curve "+ $fkCurve +" -colour "+ $colour )`; + string $driverLower = `zooCSTBuildControl $fkType ( $prefix +"_limbEnd_ctrl"+ $id ) $wrist ( "-orient 1 -scale "+ $scale +" -curve "+ $fkCurve +" -colour "+ $colour )`; + string $wristOrient = `zooCSTBuildControl null ( $prefix +"_limbEnd_orient_lockthis"+ $id ) $wrist "-orient 1 -scale 1 -curve 0"`; + string $wristOrientOffset = `zooCSTBuildControl null ( $prefix +"_limbEnd_orient_offset"+ $id ) $wrist "-scale 1 -curve 0"`; + string $poleControlSpace = `zooCSTBuildControl null ( $prefix +"_pole_space"+ $id ) "" "-scale 1 -curve 0"`; + string $poleControl = `zooCSTBuildControl $poleType ( $prefix +"_pole_ctrl"+ $id ) "" ( "-scale "+ $scale +" -curve "+ $isCurve +" -colour "+ $colour )`; + + parent $wristOrientOffset $wristOrient; + delete `parentConstraint $wrist $wristOrientOffset`; + + + //------ + //the fk and ik arm spaces are oriented using zooAlign instead of building them as oriented controls - this is because + //oriented controls are joints and thus can't be hidden without hiding all children + //------ + zooAlign ( "-src "+ $wrist +" -tgt "+ $ikArmSpace ); + zooAlign ( "-src "+ $bicep +" -tgt "+ $fkArmSpace ); + parent $driverUpper $fkArmSpace; + parent $driverMid $driverUpper; + parent $driverLower $driverMid; + + float $polePos[] = `zooFindPolePosition ( "-multiplier 5 -end "+ $driverLower )`; + move -a -ws -rpr $polePos[0] $polePos[1] $polePos[2] $poleControl; + move -a -ws -rpr $polePos[0] $polePos[1] $polePos[2] $poleControlSpace; + parent $poleControl $poleControlSpace; + makeIdentity -a 1 -t 1 $poleControlSpace; + + + //------ + //build the pole control selection trigger + //------ + string $lineNode = `group -em`; + $lineNode = `rename $lineNode ( $prefix +"_pole_line"+ $id )`; + zooAlignFast $elbow $lineNode 0; + pointConstraint $elbow $lineNode; + zooAttrState "-attrs t r s v -k 0 -l 1" $lineNode; + + + //------ + //build the IK handle + //------ + string $limbControl = zooGetElement_str(0,`ikHandle -fs 1 -sj $driverUpper -ee $driverLower -solver ikRPsolver`); + string $limbControlObject = `zooCSTBuildControl $ikType ( $prefix +"_limb_ctrl"+ $id ) "" ( "-scale "+ $scale +" -curve "+ $isCurve +" -colour "+ $colour )`; + string $limbControlOrient = `zooCSTOrient2Obj $wrist $limbControl`; + + $limbControl = `rename $limbControl ( $prefix +"_limb_ctrl"+ $id )`; + parent $limbControlOrient $ikArmSpace; + for( $s in `listRelatives -f -s $limbControlObject` ) parent -add -s $s $limbControl; + delete $limbControlObject; + + + //------ + //setup constraints to drive the original joints + //------ + xform -p 1 -rotateOrder `zooCSTGetRo x` $limbControl; + delete `parentConstraint $wrist $wristOrientOffset`; + string $orgArmConstraints[] = {}; + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`parentConstraint $driverMid $elbow`); + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`orientConstraint $wristOrientOffset $wrist`); + string $wristSpaceOrient = zooGetElement_str(0,`parentConstraint -mo $limbControl $wristOrient`); + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`parentConstraint -mo $driverLower $wristOrient`); + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`poleVectorConstraint $poleControl $limbControl`); + + + //------ + //distribute the "bank" rotations over the bicep twist joints of the original skeleton + //------ + string $bicepTwistGrps[] = {}; + string $utils[] = {}; + int $numBicepTwists = `size $bicepTwists`; + + if( $numBicepTwists ) { + float $twistAxis[] = zooAxisInDirection($bicep,`zooBetweenVector $bicep $elbow`); + string $twistAsStr = `zooArrayToStr_float $twistAxis " "`; + string $twistName = `zooCSTVectorAsName $twistAsStr`; + string $bicepDistrib = `shadingNode -asUtility multiplyDivide -n ( "upper_twist_distributor"+ $suffix )`; + string $upAxisChoiceSrc = `shadingNode -asUtility condition -n ( "upper_distrib_up_src"+ $suffix )`; + string $upAxisChoiceTgt = `shadingNode -asUtility condition -n ( "upper_distrib_up_tgt"+ $suffix )`; + string $bicepElbowAim = `group -em`;//zooGetElement_str(0,`spaceLocator`); + string $elbowBicepAim = `group -em`; + string $otherAxes[] = `zooSubtractArray_str $axes { $twistName }`; + + $bicepElbowAim = `rename $bicepElbowAim ( "upper_twistRoot"+ $suffix +"#" )`; + $elbowBicepAim = `rename $elbowBicepAim ( "upper_twistEnd"+ $suffix +"#" )`; + $utils[( `size $utils` )] = $bicepDistrib; + $utils[( `size $utils` )] = $upAxisChoiceSrc; + $utils[( `size $utils` )] = $upAxisChoiceTgt; + addAttr -ln "switchUp" -at bool $limbControl; + setAttr -k 1 ( $limbControl +".switchUp" ); + parent $elbowBicepAim $bicepElbowAim; + parent $bicepElbowAim $fkArmSpace; + delete `parentConstraint $bicep $bicepElbowAim`; + string $bAim = zooGetElement_str(0,`aimConstraint -aim $twistAxis[0] $twistAxis[1] $twistAxis[2] -wuo $twistUpObj -wut objectrotation $driverMid $bicepElbowAim`); + delete `parentConstraint $elbow $elbowBicepAim`; + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`aimConstraint -aim (-1*$twistAxis[0]) (-1*$twistAxis[1]) (-1*$twistAxis[2]) -wuo $driverMid -wut objectrotation $driverUpper $elbowBicepAim`); + $orgArmConstraints = `zooAddArray_str $orgArmConstraints {$bAim}`; + connectAttr -f ( $limbControl +".switchUp" ) ( $upAxisChoiceSrc +".firstTerm" ); + connectAttr -f ( $limbControl +".switchUp" ) ( $upAxisChoiceTgt +".firstTerm" ); + connectAttr -f ( $upAxisChoiceSrc +".outColor" ) ( $bAim +".upVector" ); + connectAttr -f ( $upAxisChoiceTgt +".outColor" ) ( $bAim +".worldUpVector" ); + connectAttr ( $elbowBicepAim +".r" ) ( $bicepDistrib +".input1" ); + setAttr ( $bicepDistrib +".input2" ) ( $numBicepTwists+1 ) ( $numBicepTwists+1 ) ( $numBicepTwists+1 ); + setAttr ( $bicepDistrib +".operation" ) 2; + + float $upOther0Src[] = `zooAxisAsVector $otherAxes[0]`; + float $upOther1Src[] = `zooAxisAsVector $otherAxes[1]`; + float $upOther0Tgt[] = `zooAxisInDirection $twistUpObj (zooAxisVector($bicepElbowAim,$upOther0Src))`; + float $upOther1Tgt[] = `zooAxisInDirection $twistUpObj (zooAxisVector($bicepElbowAim,$upOther1Src))`; + + setAttr ( $upAxisChoiceSrc +".colorIfTrue" ) $upOther0Src[0] $upOther0Src[1] $upOther0Src[2]; + setAttr ( $upAxisChoiceSrc +".colorIfFalse" ) $upOther1Src[0] $upOther1Src[1] $upOther1Src[2]; + setAttr ( $upAxisChoiceTgt +".colorIfTrue" ) $upOther0Tgt[0] $upOther0Tgt[1] $upOther0Tgt[2]; + setAttr ( $upAxisChoiceTgt +".colorIfFalse" ) $upOther1Tgt[0] $upOther1Tgt[1] $upOther1Tgt[2]; + + string $locs[] = { $bicepElbowAim }; + for( $n=0; $n<$numBicepTwists; $n++ ) { + string $loc = `group -em -n ( $bicepTwists[$n] +"_twist_distrib_"+ $n )`;//zooGetElement_str(0,`spaceLocator`); + parent $loc $locs[$n]; + $locs[$n+1] = $loc; + delete `parentConstraint $bicepTwists[$n] $loc`; + connectAttr -f ( $bicepDistrib +".o"+ $twistName ) ( $loc +".r"+ $twistName ); + parentConstraint $loc $bicepTwists[$n]; + } + + $bicepTwistGrps = `zooAddArray_str $locs {$elbowBicepAim}`; + orientConstraint $bicepElbowAim $bicep; + } + else orientConstraint $driverUpper $bicep; + + + //------ + //now do the same for the wrist twist joints + //------ + string $wristTwistGrps[] = {}; + int $numWristTwists = `size $wristTwists`; + + if( $numWristTwists ) { + float $twistAxis[] = zooAxisInDirection($elbow,`zooBetweenVector $elbow $wrist`); + string $twistAsStr = `zooArrayToStr_float $twistAxis " "`; + string $twistName = `zooCSTVectorAsName $twistAsStr`; + string $wristDistrib = `shadingNode -asUtility multiplyDivide -n ( "lower_twist_distributor"+ $suffix )`; + string $upAxisChoiceSrc = `shadingNode -asUtility condition -n ( "lower_distrib_up_src"+ $suffix )`; + string $upAxisChoiceTgt = `shadingNode -asUtility condition -n ( "lower_distrib_up_tgt"+ $suffix )`; + string $elbowWristAim = `group -em`; + string $wristElbowAim = `group -em`; + string $otherAxes[] = `zooSubtractArray_str $axes { $twistName }`; + + $elbowWristAim = `rename $elbowWristAim ( "lower_twistRoot"+ $suffix +"#" )`; + $wristElbowAim = `rename $wristElbowAim ( "lower_twistEnd"+ $suffix +"#" )`; + $wristTwistGrps[( `size $wristTwistGrps` )] = $elbowWristAim; + $utils[( `size $utils` )] = $wristDistrib; + $utils[( `size $utils` )] = $upAxisChoiceSrc; + $utils[( `size $utils` )] = $upAxisChoiceTgt; + addAttr -ln "switchWristUp" -at bool $limbControl; + setAttr -k 0 ( $limbControl +".switchWristUp" ); + parent $wristElbowAim $elbowWristAim; + parent $elbowWristAim $driverMid; + delete `parentConstraint $elbow $elbowWristAim`; + $orgArmConstraints = zooAddArray_str($orgArmConstraints,`aimConstraint -aim $twistAxis[0] $twistAxis[1] $twistAxis[2] -wuo $driverMid -wut objectrotation $driverLower $elbowWristAim`); + delete `parentConstraint $wrist $wristElbowAim`; + string $eAim = zooGetElement_str(0,`aimConstraint -aim (-1*$twistAxis[0]) (-1*$twistAxis[1]) (-1*$twistAxis[2]) -wuo $wristSpaceOrient -wut objectrotation $driverMid $wristElbowAim`); + $orgArmConstraints = `zooAddArray_str $orgArmConstraints {$eAim}`; + connectAttr -f ( $limbControl +".switchWristUp" ) ( $upAxisChoiceSrc +".firstTerm" ); + connectAttr -f ( $upAxisChoiceSrc +".outColor" ) ( $eAim +".upVector" ); + connectAttr -f ( $upAxisChoiceTgt +".outColor" ) ( $eAim +".worldUpVector" ); + connectAttr ( $wristElbowAim +".r" ) ( $wristDistrib +".input1" ); + setAttr ( $wristDistrib +".input2" ) ( $numWristTwists+1 ) ( $numWristTwists+1 ) ( $numWristTwists+1 ); + setAttr ( $wristDistrib +".operation" ) 2; + + float $upOther0Src[] = `zooAxisAsVector $otherAxes[0]`; + float $upOther1Src[] = `zooAxisAsVector $otherAxes[1]`; + float $upOther0Tgt[] = `zooAxisInDirection $driverMid (zooAxisVector($elbowWristAim,$upOther0Src))`; + float $upOther1Tgt[] = `zooAxisInDirection $driverMid (zooAxisVector($elbowWristAim,$upOther1Src))`; + + setAttr ( $upAxisChoiceSrc +".colorIfTrue" ) $upOther0Src[0] $upOther0Src[1] $upOther0Src[2]; + setAttr ( $upAxisChoiceSrc +".colorIfFalse" ) $upOther1Src[0] $upOther1Src[1] $upOther1Src[2]; + setAttr ( $upAxisChoiceTgt +".colorIfTrue" ) $upOther0Tgt[0] $upOther0Tgt[1] $upOther0Tgt[2]; + setAttr ( $upAxisChoiceTgt +".colorIfFalse" ) $upOther1Tgt[0] $upOther1Tgt[1] $upOther1Tgt[2]; + + string $locs[] = { $elbowWristAim }; + for( $n=0; $n<$numWristTwists; $n++ ) { + string $loc = `group -em -n ( $wristTwists[$n] +"_twist_distrib_"+ $n )`; + parent $loc $locs[$n]; + $locs[$n+1] = $loc; + delete `parentConstraint $wristTwists[$n] $loc`; + connectAttr -f ( $wristDistrib +".o"+ $twistName ) ( $loc +".r"+ $twistName ); + parentConstraint $loc $wristTwists[$n]; + } + + $wristTwistGrps = `zooAddArray_str $locs {$wristElbowAim}`; + pointConstraint $wristElbowAim $wrist; + } + + + //------ + //constrain the position of the twists so that if the fk objects are moved, the twists maintain their relative position + //------ + string $bicepAxis = `zooCSTJointDirection $driverMid`; + float $bicepLength = `getAttr ( $driverMid +".t"+ $bicepAxis )`;//zooVectorMag(`zooBetweenVector $bicep $elbow`); + + for( $n=1; $n<`size $bicepTwistGrps`-1; $n++ ) { + string $name = `match "[^|]+$" $bicepTwistGrps[$n]`; + string $multNode = `shadingNode -asUtility -name ( $prefix +"_"+ $name +"_fraction_pos" ) multiplyDivide`; + string $objAxis = `zooCSTJointDirection $bicepTwistGrps[$n]`; + + setAttr ( $multNode +".input1X" ) ( `getAttr ( $bicepTwistGrps[$n] +".t"+ $objAxis )`/$bicepLength ); + connectAttr -f ( $driverMid +".t"+ $bicepAxis ) ( $multNode +".input2X" ); + connectAttr -f ( $multNode +".outputX" ) ( $bicepTwistGrps[$n] +".t"+ $objAxis ); + $utils[( `size $utils` )] = $multNode; + } + + string $elbowAxis = `zooCSTJointDirection $driverLower`; + float $elbowLength = `getAttr ( $driverLower +".t"+ $elbowAxis )`; + + for( $n=1; $n<`size $wristTwistGrps`; $n++ ) { + string $name = `match "[^|]+$" $wristTwistGrps[$n]`; + string $multNode = `shadingNode -asUtility -name ( $prefix +"_"+ $name +"_fraction_pos" ) multiplyDivide`; + string $objAxis = `zooCSTJointDirection $wristTwistGrps[$n]`; + + setAttr ( $multNode +".input1X" ) ( `getAttr ( $wristTwistGrps[$n] +".t"+ $objAxis )`/$elbowLength ); + connectAttr -f ( $driverLower +".t"+ $elbowAxis ) ( $multNode +".input2X" ); + connectAttr -f ( $multNode +".outputX" ) ( $wristTwistGrps[$n] +".t"+ $objAxis ); + $utils[( `size $utils` )] = $multNode; + } + + + //------ + //connect the ikBlend of the arm controller to the orient constraint of the fk wrist - ie turn it off when ik is off... + //------ + string $attribs[] = `listAttr -ud $wristSpaceOrient`; + string $weightRevNode = `shadingNode -asUtility reverse`; + connectAttr -f ( $limbControl +".ikBlend" ) ( $weightRevNode +".inputX" ); + connectAttr -f ( $limbControl +".ikBlend" ) ( $wristSpaceOrient +"."+ $attribs[0] ); + connectAttr -f ( $weightRevNode +".outputX" ) ( $wristSpaceOrient +"."+ $attribs[1] ); + setAttr ( $wristSpaceOrient +".interpType" ) 2; + + + //------ + //build expressions for fk blending and control visibility + //------ + string $fkVisCond = `shadingNode -asUtility condition`; + string $poleVisCond = `shadingNode -asUtility condition`; + connectAttr -f ( $limbControl +".ikBlend" ) ( $fkVisCond +".firstTerm" ); + connectAttr -f ( $limbControl +".ikBlend" ) ( $poleVisCond +".firstTerm" ); + connectAttr -f ( $fkVisCond +".outColorR" ) ( $driverUpper +".v" ); + connectAttr -f ( $poleVisCond +".outColorG" ) ( $poleControlSpace +".v" ); + setAttr ( $fkVisCond +".secondTerm" ) 1; + + + //------ + //add set pole to fk pos command to pole control + //------ + string $fkControls[] = { $driverUpper, $driverMid, $driverLower }; + int $poleConnectNums[3]; + + for( $n=0; $n<3; $n++ ) $poleConnectNums[$n] = `zooAddConnect $poleControl $fkControls[$n]`; + zooObjMenuAddCmdAll $poleControl "move to FK position" ( "{\nzooVectors;\nfloat $pos[] = `zooFindPolePosition \"-start %"+ $poleConnectNums[0] +" -mid %"+ $poleConnectNums[1] +" -end %"+ $poleConnectNums[2] +"\"`;\nmove -rpr $pos[0] $pos[1] $pos[2] #;\n}" ); + + + //------ + //add select all commands to each fk control + //------ + int $cmdNums[] = {}; + for( $n=0; $n<3; $n++ ) { + int $c1 = `zooAddConnect $fkControls[$n] $fkControls[(($n+1)%3 )]`; + int $c2 = `zooAddConnect $fkControls[$n] $fkControls[(($n+2)%3 )]`; + $cmdNums[$n] = `zooObjMenuAddCmdAll $fkControls[$n] "select all fk controls" ( "select #;\nselect -add %"+ $c1 +" %"+ $c2 +";" )`; + } + + + //------ + //add trigger commands + //------ + if( $triggers ) { + zooMakeTrigger $lineNode `zooPresetTriggerCmds -selectConnected` {$poleControl}; + setAttr ( $lineNode +".displayHandle" ) 1; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $turnROff[] = { $poleControl }; + string $turnSOff[] = { $limbControl, $poleControl, $driverUpper, $driverMid, $driverLower }; + + for( $obj in $fkControls ) zooAttrState "-attrs t radi -v 0 -k 0 -l 1" $obj; + for( $obj in $turnROff ) zooAttrState "-attrs r -k 0 -l 1" $obj; + for( $obj in $turnSOff ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $turnSOff ) zooAttrState "-attrs v -k 0" $obj; + zooAttrState "-attrs pv off rol twi -k 0 -l 1" $limbControl; + zooAttrState "-attrs t r s v -k 0 -l 1" $wristOrient; + + + //------ + //clean up - set minor attribs to tweak behaviour, and parent controls under parents where possible + //------ + string $controllers[] = { $limbControl, $ikArmSpace, $fkArmSpace, $driverUpper, $driverMid, $driverLower, $wristOrient, $poleControl }; + string $allNodes[] = `zooAddArray_str $controllers { $lineNode, $limbControlOrient, $wristOrientOffset, $poleControlSpace, $fkVisCond, $poleVisCond }`; + + $allNodes = `zooAddArray_str $allNodes $utils`; + $allNodes = `zooAddArray_str $allNodes $bicepTwistGrps`; + $allNodes = `zooAddArray_str $allNodes $wristTwistGrps`; + if( `objExists $worldControl` ) { + parent $ikArmSpace $worldControl; + parent $fkArmSpace $worldControl; + parent $poleControlSpace $worldControl; + } + if( `objExists $partsControl` ) parent $lineNode $partsControl; + + + //------ + //does the user want it built as a primitive? + //------ + if( $asPrim ) { + string $primitive = `zooCSTCreatePrimRecord ikfk $id $prefix`; + zooCSTRegisterInput $bicep $primitive; + zooCSTRegisterInput $elbow $primitive; + zooCSTRegisterInput $wrist $primitive; + zooCSTPrimOutputs $allNodes $primitive; + zooCSTPrimOutputs $orgArmConstraints $primitive; + zooBrandObject options ( $optionStr +" -parity "+ $parity ) $primitive; + zooBrandObject version "1" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + } + + return $allNodes; + } + + +/* +$prefix - standard character prefix (all controls built by this proc are prefixed with this string +$parity - which side of the character are the controls on? l or r +$bicep - the bicep, upper arm, or humerous +$elbow - the elbow or forearm. ie where the limb bends +$wrist - the wrist/hand joint +$optionStr - standard option string - see flag docs for info on option strings + +option flags +------- +-id [string] requires a unique id number (usually found using the zooCSTGetPrimId command) +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +-curve [int] 1 or 0 specifies whether to create the control as a curve or not. default: 0 +-triggers [int] turn this off if you don't want the script to build trigger selection objects for the pole vector + +controller names are returned. the $controller variable is the object attribs are added to, $controlParent is the object the ikfk controls are parentConstrained to, and $limbControl is so it knows whcih ikHandle to control +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildMPath.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildMPath.mel new file mode 100644 index 0000000..7f0041f --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildMPath.mel @@ -0,0 +1,294 @@ +zooArrays_float; +zooArrays_str; +zooCSTUtils; +zooUtils; +zooVectors; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildMPath( string $prefix, string $objs[], string $optionStr ) { + //------ + //parse option flags + //------ + string $temp[] = {}; + int $squish = 1; + + $temp = `zooGetFlagArguments $optionStr squish`; if( `size $temp` ) $squish = $temp[0]; + + + //------ + //first we need to build a curve - we build an ep curve so that it goes exactly through the joint pivots + //------ + string $curveCmd = "curve -d 1 "; + int $numObjs = `size $objs`; + + for( $n=0; $n<$numObjs; $n++ ) { + float $pos[] = `xform -q -ws -rp $objs[$n]`; + $curveCmd += "-p "+ $pos[0] +" "+ $pos[1] +" "+ $pos[2] +" "; + } + for( $n=0; $n<$numObjs; $n++ ) $curveCmd += "-k "+ $n +" "; + string $baseCurve = `eval $curveCmd`; + string $curve = zooGetElement_str(0,`fitBspline -ch 1 -tol 0.0001 $baseCurve`); + string $curveShape = zooGetElement_str(0,`listRelatives -s -pa $curve`); + string $infoNode = `createNode curveInfo`; + float $knots[] = {}; + + //setAttr ( $baseCurve +".v" ) 0; + connectAttr -f ( $curveShape +".worldSpace[0]" ) ( $infoNode +".inputCurve" ); + $knots = `getAttr ( $infoNode +".knots" )`; + $knots = `zooIndexCrop_float $knots "2:-2"`; + + + //------ + //now build the actual motion path nodes that keep the joints attached to the curve + //there is one proxy for each joint. the original joints get constrained to + //the proxies, which in turn get stuck to the motion path and oriented properly + //then three joints get created, which are used to deform the motion path + //------ + string $mpaths[] = {}; + string $proxies[] = {}; + string $upVectors[] = {}; + string $aimVectors[] = {}; //holds the string versions of the aim vectors for each proxy + string $aims[] = {}; //holds the aim constraints + float $unitComp = 1.0; + + if( `currentUnit -q -l` == "m" ) $unitComp = 100.0; + for( $n=1; $n<$numObjs; $n++ ) { + string $mpath = `createNode pointOnCurveInfo`; + string $proxy = `group -em`; + + //connect axes individually so they can be broken easily if we need to... + connectAttr -f ( $curveShape +".worldSpace" ) ( $mpath +".inputCurve" ); + connectAttr -f ( $mpath +".px" ) ( $proxy +".tx" ); + connectAttr -f ( $mpath +".py" ) ( $proxy +".ty" ); + connectAttr -f ( $mpath +".pz" ) ( $proxy +".tz" ); + setAttr ( $mpath +".parameter" ) $knots[$n];//($n/$unitComp);//were using ($knots[$n]/$unitComp) but it seems this is buggy - invalid knot values are returned for a straight curve... so it seems assuming $n is valid works in all test cases I've tried... + delete `orientConstraint $objs[$n] $proxy`; + + $mpaths[$n] = $mpath; + $proxies[$n] = $proxy; + } + + + //------ + //build a motionpath to get positions along the path - mainly useful for finding the half way mark + //------ + string $halfWayPath = `createNode pointOnCurveInfo`; + string $halfWayPos = `group -em -n "half"`; + float $arcLength = `getAttr ( $curveShape +".maxValue" )`-`getAttr ( $curveShape +".minValue" )`; + + connectAttr -f ( $curveShape +".worldSpace" ) ( $halfWayPath +".inputCurve" ); + connectAttr -f ( $halfWayPath +".p" ) ( $halfWayPos +".t" ); + setAttr ( $halfWayPath +".parameter" ) (`zooGetElement_float -1 $knots`/2.0); + + + //------ + //now build the control stucture and place then + //------ + string $deformJoints[3] = {}; + int $half = $numObjs/2; + + select -d; + $deformJoints[0] = `joint`; select -d; + $deformJoints[1] = `joint`; select -d; + $deformJoints[2] = `joint`; select -d; + delete `parentConstraint $objs[0] $deformJoints[0]`; + delete `parentConstraint $halfWayPos $deformJoints[1]`; + delete `parentConstraint $objs[$numObjs-1] $deformJoints[2]`; + + + //------ + //orient the middle deform object - this is harder than in sounds because the object doesn't actually correspond to + //any of the proxies so what we do is find the closest proxies and average their orientations based on their proximity + //it looks pretty complicated, but thats all thats going on - proximity based orient constraint weighting + //------ + string $midObjs[] = {}; + float $distancesToObjs[] = {}; + float $total = 0; + int $isOdd = $numObjs%2; + + //if there is an odd number of objs in the chain, we want the surrounding three - NOTE one is almost certain to be very close, whcih is why we + //do the proximity based weighting - the closest one should have the greatest effect on orientation + if( $isOdd ) { + $midObjs[0] = $objs[$half-1]; + $midObjs[1] = $objs[$half]; + $midObjs[2] = $objs[$half+1]; + $distancesToObjs[0] = zooVectorMag(`zooBetweenVector $midObjs[0] $deformJoints[1]`); + $distancesToObjs[1] = zooVectorMag(`zooBetweenVector $midObjs[1] $deformJoints[1]`); + $distancesToObjs[2] = zooVectorMag(`zooBetweenVector $midObjs[2] $deformJoints[1]`); + } + //but if there are an even number of objs in the chain, we only want the mid two + else { + int $n = ($numObjs-1)/2; + $midObjs[0] = $objs[$n]; + $midObjs[1] = $objs[$n+1]; + $distancesToObjs[0] = zooVectorMag(`zooBetweenVector $midObjs[0] $deformJoints[1]`); + $distancesToObjs[1] = zooVectorMag(`zooBetweenVector $midObjs[1] $deformJoints[1]`); + } + for( $n=0; $n<`size $midObjs`; $n++ ) $total += $distancesToObjs[$n]; + for( $n=0; $n<`size $midObjs`; $n++ ) $distancesToObjs[$n] = $total/$distancesToObjs[$n]; + string $tempConstraint[] = eval( "orientConstraint "+ (zooArrayToStr_str($midObjs," ")) +" "+ $deformJoints[1] +";" ); + for( $n=0; $n<`size $midObjs`; $n++ ) orientConstraint -e -w $distancesToObjs[$n] $midObjs[$n] $tempConstraint[0]; + delete $tempConstraint[0]; + makeIdentity -a 1 -r 1 $deformJoints[1]; + + + //------ + //now weight the curve to the controls - the weighting is just based on a linear + //falloff from the start to mid joint, and then from the mid joint to the end + //------ + string $skinCluster = zooGetElement_str(0,`skinCluster $deformJoints $baseCurve`); + + //set the weights to 1 for the bottom and mid joint + for( $n=0; $n<$half; $n++ ) skinPercent -tv $deformJoints[0] 1 $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + for( $n=$half; $n<$numObjs; $n++ ) skinPercent -tv $deformJoints[1] 1 $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + + //now figure out the positional mid point + float $midToStart = zooVectorMag(`zooBetweenVector $deformJoints[1] $deformJoints[0]`); + float $startPos[] = `xform -q -ws -rp $deformJoints[0]`; + int $halfByPos = 0; + + for( $n=0; $n<$numObjs; $n++ ) { + float $pointPos[] = `pointPosition ( $baseCurve +".cv["+ $n +"]" )`; + float $relToStart[] = {$pointPos[0]-$startPos[0],$pointPos[1]-$startPos[1],$pointPos[2]-$startPos[2]}; + float $distFromStart = `zooVectorMag $relToStart`; + + if( $distFromStart>$midToStart ) { + $halfByPos = $n; + break; + } + } + + //set the weights initially fully to the end deform joints - then figure out the of each point from the mid joint, and apply a weight falloff + float $midPos[] = `xform -q -ws -rp $deformJoints[1]`; + float $midToEnd = zooVectorMag(`zooBetweenVector $deformJoints[2] $deformJoints[1]`); + + for( $n=0; $n<$halfByPos; $n++ ) skinPercent -tv $deformJoints[0] 1 $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + for( $n=$halfByPos; $n<$numObjs; $n++ ) skinPercent -tv $deformJoints[2] 1 $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + for( $n=1; $n<$halfByPos; $n++ ) { + float $pointPos[] = `pointPosition ( $baseCurve +".cv["+ $n +"]" )`; + float $pointToMid[] = {$pointPos[0]-$midPos[0],$pointPos[1]-$midPos[1],$pointPos[2]-$midPos[2]}; + float $weight = 1-((zooVectorMag($pointToMid))/$midToStart); + print $pointPos; + print( "weight: "+ $weight +" distance to point: "+ (zooVectorMag($pointToMid)) +" distance to mid: "+ $midToStart +"\n" ); + skinPercent -tv $deformJoints[1] $weight $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + } + for( $n=$halfByPos; $n<$numObjs-1; $n++ ) { + float $pointPos[] = `pointPosition ( $baseCurve +".cv["+ $n +"]" )`; + float $pointToMid[] = {$pointPos[0]-$midPos[0],$pointPos[1]-$midPos[1],$pointPos[2]-$midPos[2]}; + float $weight = 1-((zooVectorMag($pointToMid))/$midToEnd); + print( "weight: "+ $weight +" distance to point: "+ (zooVectorMag($pointToMid)) +" distance to mid: "+ $midToStart +"\n" ); + skinPercent -tv $deformJoints[1] $weight $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + } + + parentConstraint $deformJoints[0] $objs[0]; + pointConstraint $proxies[$numObjs-1] $objs[$numObjs-1]; + orientConstraint $deformJoints[2] $objs[$numObjs-1]; + + + //------ + //build the aim constraints for the proxies + //------ + int $third_1st = zooRoundFloat($numObjs/3.0); + int $third_2nd = zooRoundFloat(( $numObjs*2.0 )/3.0); + + for( $n=1; $n<$numObjs-1; $n++ ) { + //we're using z as the aim axis for the proxies, and y for the up axis + string $upObj = $deformJoints[0]; + float $aim_float[] = {0.,0.,1.}; + float $up_float[] = {0.,1.,0.}; + + if( $n>=$third_1st && $n<$third_2nd ) $upObj = $deformJoints[1]; + else if( $n>=$third_2nd ) $upObj = $deformJoints[2]; + $aimVectors[$n] = `zooArrayToStr_float $aim_float " "`; + + //now that we have an aim vector, build the aimconstraint, then we'll need to find the up vector - we need the + //proxy to be aimed at its target first however, so we can get an accurate up axis to use on the deform obj + //because all this is just a proxy rig that the real skeleton is constrained to, axes are all arbitrary... + delete `aimConstraint -aim $aim_float[0] $aim_float[1] $aim_float[2] -u $up_float[0] $up_float[1] $up_float[2] -wu $up_float[0] $up_float[1] $up_float[2] -wuo $upObj -wut objectrotation $proxies[( $n+1 )] $proxies[$n]`; + + //now we have to figure out which axis on the deform obj to use as the up axis - we do this by using the x axis on + //the proxy (an arbitrary choice - could just as easily have been y) then seeing what axis is closest to that vector on the deform obj + float $proxyUpVector[] = pointMatrixMult($up_float,`xform -q -m $proxies[$n]`); //get aim axis relative to the proxy - we need this so we can figure out which axis on the up object points in that direction + float $upObjUpAxis[] = `zooAxisInDirection $upObj $proxyUpVector`; + $upVectors[$n] = `zooArrayToStr_float $up_float " "`; + + //now edit the constraint to use the up vector we've determined + $aims[$n] = zooGetElement_str(0,`aimConstraint -mo -aim $aim_float[0] $aim_float[1] $aim_float[2] -u $up_float[0] $up_float[1] $up_float[2] -wu $upObjUpAxis[0] $upObjUpAxis[1] $upObjUpAxis[2] -wuo $upObj -wut objectrotation $proxies[( $n+1 )] $proxies[$n]`); + parentConstraint -mo $proxies[$n] $objs[$n]; + } + + + //------ + //scaling? create a network to dynamically scale the objects based on the length + //of the segment. there are two curve segments - start to mid, mid to end. this + //scaling is done via SDK so we get control over the in/out of the scaling + //------ + string $squishNodes[] = {}; + if( $squish ) { + string $curveInfo = `createNode curveInfo`; + string $scaleFac = `shadingNode -n( "squishCalculator" ) -asUtility multiplyDivide`; + string $adder = `shadingNode -n( "now_add_one" ) -asUtility plusMinusAverage`; + string $sdkScaler = `createNode -n( "squish_sdk" ) animCurveUU`; + float $initialLength = 0; + float $maxScale = 2.0; + float $minScale = 0.25; + + addAttr -k 1 -ln length -at double -min 0 -max 1 -dv 1 $deformJoints[0]; + addAttr -k 1 -ln squishFactor -at double -min 0 -max 1 -dv 0 $deformJoints[0]; + setAttr -k 1 ( $deformJoints[0] +".length" ); + setAttr -k 1 ( $deformJoints[0] +".squishFactor" ); + connectAttr -f ( $curveShape +".worldSpace[0]" ) ( $curveInfo +".inputCurve" ); + $initialLength = `getAttr ( $curveInfo +".arcLength" )`; + setAttr ( $adder +".input1D[0]" ) 1; + select -cl; + setKeyframe -f $initialLength -v 0 $sdkScaler; + setKeyframe -f( $initialLength/100 ) -v( $maxScale-1 ) $sdkScaler; + setKeyframe -f( $initialLength*2 ) -v( $minScale-1 ) $sdkScaler; + keyTangent -in 0 -itt flat -ott flat $sdkScaler; + keyTangent -in 2 -itt flat -ott flat $sdkScaler; + connectAttr -f ( $curveInfo +".arcLength" ) ( $sdkScaler +".input" ); + connectAttr -f ( $scaleFac +".outputX" ) ( $adder +".input1D[1]" ); + connectAttr -f ( $sdkScaler +".output" ) ( $scaleFac +".input1X" ); + connectAttr -f ( $deformJoints[0] +".squishFactor" ) ( $scaleFac +".input2X" ); + for( $n=0; $n<$numObjs; $n++ ) for( $ax in {"x","y","z"} ) connectAttr -f ( $adder +".output1D" ) ( $objs[$n] +".s"+ $ax ); + + string $lengthMults[] = {}; + for( $n=1; $n<$numObjs; $n++ ) { + float $posOnCurve = `getAttr ( $mpaths[$n] +".parameter" )`; + $lengthMults[$n] = `shadingNode -n( "length_multiplier"+ $n ) -asUtility multiplyDivide`; + setAttr ( $lengthMults[$n] +".input1X" ) $posOnCurve; + connectAttr -f ( $deformJoints[0] +".length" ) ( $lengthMults[$n] +".input2X" ); + connectAttr -f ( $lengthMults[$n] +".outputX" ) ( $mpaths[$n] +".parameter" ); + } + $squishNodes = `zooAddArray_str {$curveInfo, $scaleFac, $adder, $sdkScaler} $lengthMults`; + } + + + //------ + //rename the curves + //------ + $baseCurve = `rename $baseCurve ( $prefix +"_pointCurve" )`; + $curve = `rename $curve ( $prefix +"_mPath" )`; + + + //------ + //build the controllers array for returning + //------ + string $controllers[] = $deformJoints; + $controllers = `zooAddArray_str $controllers {$baseCurve,$curve}`; + $controllers = `zooAddArray_str $controllers {$skinCluster}`; + $controllers = `zooAddArray_str $controllers $proxies`; + $controllers = `zooAddArray_str $controllers $mpaths`; + $controllers = `zooAddArray_str $controllers $aims`; + $controllers = `zooAddArray_str $controllers $squishNodes`; + //$controllers = `zooAddArray_str $controllers { $sdkScaler }`; + delete $halfWayPos; + select $deformJoints; + + return $controllers; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimArm.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimArm.mel new file mode 100644 index 0000000..b682114 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimArm.mel @@ -0,0 +1,325 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooTriggeredUtils; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimArm( string $prefix, string $parity, string $bicep, string $elbow, string $wrist, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $clavControl = ""; + string $rootFlag; + string $chestFlag; + string $headFlag; + string $colour = $parity=="r"? "red 0.65": "green 0.65"; + float $scale = 1; + int $buildclav = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + int $stretch = 0; + + $optionTemp = `zooGetFlagArguments $optionStr root`; if( `size $optionTemp` ) $rootFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr chest`; if( `size $optionTemp` ) $chestFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr head`; if( `size $optionTemp` ) $headFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildclav`; if( `size $optionTemp` ) $buildclav = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr clavcontrol`; if( `objExists $optionTemp[0]` ) $clavControl = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr stretch`; if( `size $optionTemp` ) $stretch = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $id = `zooCSTGetPrimId arm $suffix $prefix`; + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $controls[] = `zooCSTBuildIKFK $prefix $parity $bicep $elbow $wrist ( "-id "+ $id +" "+ $optionStr )`; + string $primitive = `zooCSTCreatePrimRecord arm $id $prefix`; + + + //------ + //rename the objects created by the ikfk proc + //------ + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limbUpper bicep $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limbMiddle elbow $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limbEnd wrist $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace pole elbow $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limb arm $controls[$n]`; + + + //------ + //create variables for each control used + //------ + string $armControl = $controls[0]; + string $ikArmSpace = $controls[6]; + string $fkArmSpace = $controls[7]; + string $driverBicep = $controls[1]; + string $driverElbow = $controls[2]; + string $driverWrist = $controls[3]; + string $elbowControl = $controls[4]; + string $twistControl = $controls[14]; + string $elbowControlSpace = $controls[11]; + string $fkControls[] = { $driverBicep, $driverElbow, $driverWrist }; + + + //------ + //discover the other parts of the rig already built + //------ + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $rootControl = zooGetElement_str( 0,`zooGetBrandedWith rootGimbal $prefix` ); + string $chestControl = zooGetElement_str( 0,`zooGetBrandedWith chest $prefix` ); + string $headControl = zooGetElement_str( 0,`zooGetBrandedWith headGimbal $prefix` ); + + if( `objExists $rootFlag` ) $rootControl = $rootFlag; + if( `objExists $chestFlag` ) $chestControl = $chestFlag; + if( `objExists $headFlag` ) $headControl = $headFlag; + + + //------ + //build the clavicle if its wanted + //------ + string $clavicle = zooGetElement_str( 0,`listRelatives -parent -path $bicep` ); + string $armAlign = zooGetElement_str(0,`listRelatives -p $armControl`); + string $clavControlOrient; + string $constraints[] = {}; + + if( !`objExists $clavicle` ) $buildclav = 0; + if( $buildclav ) { + $clavControl = `zooBuildControl ( $prefix +"_clavicle_ctrl"+ $suffix ) ( "-type sphere -orient 1 -place "+ $bicep +" -align "+ $clavicle +" -placepivot %a -scale "+ ($scale*1.25) +" -colour "+ $colour )`; + $clavControlOrient = zooGetElement_str(0,`listRelatives -p $clavControl`); + + parent $clavControlOrient $worldControl; + if( `objExists $rootControl` ) parent $clavControlOrient $rootControl; + if( `objExists $chestControl` ) parent $clavControlOrient $chestControl; + //zooAddArray_str(`pointConstraint $clavicle $clavControlOrient`,$constraints); + zooAddArray_str(`parentConstraint $clavControl $clavicle`,$constraints); + zooAttrState "-attrs t r s v -k 0 -l 1" $clavControlOrient; + zooAttrState "-attrs t s -k 0 -l 1" $clavControl; + zooAttrState "-attrs v -k 0" $clavControl; + } + + + //------ + //build space switching nodes + //------ + string $spaceNodes1[] = {}; + string $spaceNodes2[] = {}; + + if( `objExists $clavControl` ) parent $fkArmSpace $clavControl; + else if( `objExists $chestControl` ) parent $fkArmSpace $chestControl; + else if( `objExists $rootControl` ) parent $fkArmSpace $rootControl; + if( $spaceswitching ) { + string $armControlParents[] = { $worldControl, $rootControl, $chestControl, $clavControl, $headControl }; + if( `size $parents` ) $armControlParents = `zooAddArray_str $armControlParents $parents`; + $spaceNodes1 = `zooBuildSpaceSwitch $armControl $ikArmSpace $armControlParents { "world", "root", "chest", "clavicle", "head" } "-mo"`; + $spaceNodes2 = `zooBuildSpaceSwitch $driverBicep $fkArmSpace { $clavControl, $chestControl, $rootControl, $worldControl } { "clavicle", "chest", "root", "world" } "-mo"`; + } + + delete -icn ( $fkArmSpace +".tx" ); + delete -icn ( $fkArmSpace +".ty" ); + delete -icn ( $fkArmSpace +".tz" ); + //pointConstraint $fkArmSpace $bicep; + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + string $parityName = "left"; + if( $parity == "r" ) $parityName = "right"; + zooSetPickwalkObj $clavControl $chestControl "-dir up -reciprocal 0"; + zooSetPickwalkObj $clavControl $fkControls[0] "-dir down -reciprocal 1"; + zooSetPickwalkObj $fkControls[0] $fkControls[1] "-dir down -reciprocal 1"; + zooSetPickwalkObj $fkControls[1] $fkControls[2] "-dir down -reciprocal 1"; + zooSetPickwalkObj $fkControls[2] $armControl "-dir left -reciprocal 1"; + zooSetPickwalkObj $fkControls[2] $armControl "-dir right -reciprocal 1"; + zooSetPickwalkObj $armControl $elbowControl "-dir up -reciprocal 1"; + zooSetPickwalkObj $armControl $elbowControl "-dir down -reciprocal 1"; + zooSetPickwalkObj $chestControl $clavControl ( "-dir "+ $parityName+ " -reciprocal 0" ); + } + + + //------ + //add the zooObjMenu commands to the ik control for easy switching to FK mode + //------ + int $elbowNum = `zooAddConnect $armControl $elbowControl`; //add the elbow control as a connect + int $clavNum = `zooAddConnect $armControl $clavControl`; //add the clavicle as a connect + + zooObjMenuAddCmdAll $armControl "switch to FK" "zooAlign \"\";\nzooAlignFK \"-ikHandle #\";"; + zooObjMenuAddCmdAll $armControl "switch to IK" ( "zooAlign \"\";\nzooAlignIK \"-ikHandle # -pole %"+ $elbowNum +"\";" ); + zooObjMenuAddCmdAll $armControl "select all arm controls" ( "select `ikHandle -q -jl #`;\nstring $effector = `ikHandle -q -ee #`;\nselect -add `listConnections -d 0 ( $effector +\".tx\" )`;\nselect -add %"+ $clavNum +" %"+ $elbowNum +" #;" ); + zooObjMenuAddCmdAll $armControl "draw line of action" "zooBrandTools;\nzooCSTPrimitives;\nzooLineOfAction;\nstring $prim = `zooGetPrimFromRegistered #`;\nstring $inputs[] = `zooCSTListRegistered input $prim`;\nzooLineOfAction_multi $inputs \"\";"; + + + //------ + //add all zooObjMenu commands to the fk controls + //------ + for( $n=0; $n<3; $n++ ) { + int $connect1 = `zooAddConnect $fkControls[$n] $armControl`; + int $connect2 = `zooAddConnect $fkControls[$n] $elbowControl`; + int $connect3 = `zooAddConnect $fkControls[$n] $clavControl`; + + zooObjMenuAddCmdAll $fkControls[$n] "select all arm controls" ( "select `ikHandle -q -jl %"+ $connect1 +"`;\nstring $effector = `ikHandle -q -ee %"+ $connect1 +"`;\nselect -add `listConnections -d 0 ( $effector +\".tx\" )`;\nselect -add %"+ $connect3+" %"+ $connect2 +" %"+ $connect1 +";" ); + zooObjMenuAddCmdAll $fkControls[$n] "switch to IK" ( "zooFlags;\nzooAlign \"\";\nzooAlignIK \"-ikHandle %"+ $connect1 +" -pole %"+ $connect2 +"\";\nselect %"+ $connect1 +";" ); + } + + + //------ + //add all zooObjMenu commands to the clavicle + //------ + if( $buildclav ) { + int $clavConnects[] = {}; + $clavConnects[( `size $clavConnects` )] = `zooAddConnect $clavControl $armControl`; + $clavConnects[( `size $clavConnects` )] = `zooAddConnect $clavControl $elbowControl`; + zooObjMenuAddCmdAll $clavControl "select all arm controls" ( "select `ikHandle -q -jl %"+ $clavConnects[0] +"`;\nstring $effector = `ikHandle -q -ee %"+ $clavConnects[0] +"`;\nselect -add `listConnections -d 0 ( $effector +\".tx\" )`;\nselect -add # %"+ $clavConnects[1] +" %"+ $clavConnects[0] +";" ); + } + + + //------ + //make the limb stretchy? + //------ + string $stretchNodes[] = {}; + if( $stretch ) $stretchNodes = `zooCSTMakeStretchy $armControl $armControl ( $optionStr +" -axis "+ (zooCSTJointDirection($wrist)) +" -prefix "+ $prefix +" -parts "+ $partsControl +" -register 1 -primitive "+ $primitive )`; + + + //------ + //now brand all objects + //------ + string $allSetupObjects[] = { $armControl, $elbowControl, $driverBicep, $driverElbow, $driverWrist }; + for( $obj in $allSetupObjects ) zooBrandObject name $prefix $obj; + zooBrandObject arm $suffix $armControl; + zooBrandObject elbow $suffix $elbowControl; + zooBrandObject fk_bicep $suffix $driverBicep; + zooBrandObject fk_elbow $suffix $driverElbow; + zooBrandObject fk_wrist $suffix $driverWrist; + if( `objExists $clavControl` ) zooBrandObject clav $suffix $clavControl; + if( `objExists $clavControl` ) zooBrandObject name $prefix $clavControl; + + + //------ + //create a list of controls + //------ + string $controllers[] = {}; + $controllers = { $armControl, $elbowControl, $driverBicep, $driverElbow, $driverWrist, $twistControl }; + if( `objExists $clavControl` ) $controllers = { $armControl, $elbowControl, $clavControl, $driverBicep, $driverElbow, $driverWrist, $twistControl }; + for( $obj in $controllers ) if( `objExists $obj` ) sets -add $qss $obj; + + + //------ + //build the primitive record + //------ + zooCSTRegisterInput $bicep $primitive; + zooCSTRegisterInput $elbow $primitive; + zooCSTRegisterInput $wrist $primitive; + zooCSTPrimOutputs $controls $primitive; + zooCSTPrimOutputs $spaceNodes1 $primitive; + zooCSTPrimOutputs $spaceNodes2 $primitive; + zooCSTPrimOutputs $stretchNodes $primitive; + zooCSTPrimOutputs $constraints $primitive; + if( `objExists $clavControl` ) zooCSTPrimOutputs { $clavControl, $clavControlOrient } $primitive; + zooBrandObject options ( $optionStr +" -parity "+ $parity ) $primitive; + zooBrandObject version "7" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + //------ + //cleanup - put all control objects where they should be in the outliner + //------ + zooAttrState "-attrs t r s v -k 0 -l 1" $elbowControlSpace; + zooAttrState "-attrs t r s v -k 0 -l 1" $armAlign; + if( `objExists $rootControl` ) { + parent $elbowControlSpace $rootControl; + parent $ikArmSpace $rootControl; + } + if( `objExists $chestControl` ) { + parent $elbowControlSpace $chestControl; + parent $ikArmSpace $chestControl; + } + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the arm primitive +//------ +global proc string[] zooCSTRebuildPrimArm( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $parity = "l"; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + string $temp[] = {}; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr parity`; if( `size $temp` ) $parity = $temp[0]; + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimArm $prefix $parity $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a generic IK/FK arm rig +------- + +$prefix - the character prefix used to identify the character +$parity - which side is the arm on? l (left) or r (right) +$bicep - the bicep, upper arm, or humerous +$elbow - the elbow or forearm. ie where the limb bends +$wrist - the wrist/hand joint +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - ie the parent of this primitive +-chest [string] use this flag to explicitly set which object to use as the chest +-head [string] use this flag to explicitly set which object to use as the head +-buildclav [int] if you don't want the clavicle built, turn this off +-colour [int] specify a colour index to change the colour for the control object's wireframe +-stretch [int] turn this flag on if you want a stretchy arm +-parents [string] use this to specify an additional list of parents for the dynamic parenting on all spine controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 + +NOTE: the script will automatically discover any twist joints that lie between parts of the arm +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimBasicSpine.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimBasicSpine.mel new file mode 100644 index 0000000..2d78de1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimBasicSpine.mel @@ -0,0 +1,247 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimBasicSpine( string $prefix, string $root, string $spineBase, string $spineEnd, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $hips = ""; + string $type = "ring"; + string $colour = "lightblue 0.65"; + float $scale = 1; + int $buildroot = 1; + int $buildhips = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + + $optionTemp = `zooGetFlagArguments $optionStr buildroot`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildhips`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr type`; if( `size $optionTemp` ) $type = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //create the root and hips controls + //------ + string $roots[] = `zooCSTBuildRoot $prefix $root ( "-hips "+ $hips +" -buildhips "+ $buildhips +" -scale "+ $scale +" -colour "+ $colour )`; + string $rootControl = $roots[0]; + string $hipsControl = $roots[1]; + string $rootSpace = $roots[2]; + string $rootGimbal = $roots[3]; + + parent $rootSpace $worldControl; + parentConstraint -mo $rootControl $root; + if( `objExists $hipsControl` ) parentConstraint -mo $hipsControl $hips; + + + //------ + //build a list of all spine joints - start from the bottom of the heirarchy, and work up - a joint only has one parent + //------ + string $spines[] = {}; + $spines[0] = $spineEnd; + $spines = zooAddArray_str( $spines, `zooGetInBTweenJoints $spineBase $spineEnd` ); + if( $spineBase != $spineEnd ) $spines[( `size $spines` )] = $spineBase; + $spines = `zooReverseArray_str $spines`; + + + //------ + //create the controls, and parent them + //------ + string $controlSpaces[] = {}; + string $controllers[] = {$rootControl}; + + for( $n=0; $n<`size $spines`; $n++ ) { + $controlSpaces[$n] = `zooBuildControl ( $prefix + "_spine_"+$n+"_space" ) ( "-type null -place "+ $spines[$n] )`; + $controllers[$n] = `zooBuildControl ( $prefix + "_spine_"+$n+"_ctrl" ) ( "-type "+ $type +" -place "+ $spines[$n] +" -scale "+ $scale +" -colour "+ $colour )`; + parent $controllers[$n] $controlSpaces[$n]; + orientConstraint -mo $controllers[$n] $spines[$n]; + if( $n ) parent $controlSpaces[$n] $controllers[( $n-1 )]; + } + + parent $controlSpaces[0] $rootGimbal; + + + //------ + //create the space switching + //------ + string $baseParents[] = { $rootGimbal, $worldControl }; + string $spaceNodes[] = {}; + + if( `size $parents` ) $baseParents = `zooAddArray_str $baseParents $parents`; + if( $spaceswitching ) $spaceNodes = `zooBuildSpaceSwitch $controllers[0] $controlSpaces[0] $baseParents { "root", "world" } "-mo"`; + delete -icn ( $controlSpaces[0] + ".tx" ); + delete -icn ( $controlSpaces[0] + ".ty" ); + delete -icn ( $controlSpaces[0] + ".tz" ); + for( $n=1; $n<`size $controllers`; $n++ ) { + string $controlParents[] = { $controllers[( $n-1 )], $rootGimbal, $worldControl }; + if( `size $parents` ) $controlParents = `zooAddArray_str $controlParents $parents`; + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $controllers[$n] $controlSpaces[$n] $controlParents { "previous", "root", "world" } "-mo"`,$spaceNodes); + delete -icn ( $controlSpaces[$n] + ".tx" ); + delete -icn ( $controlSpaces[$n] + ".ty" ); + delete -icn ( $controlSpaces[$n] + ".tz" ); + } + if( $spaceswitching && `size $parents` ) { + string $rootParents[] = `zooAddArray_str { $worldControl } $parents`; + $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $rootControl $rootSpace $rootParents { "world" } "-mo"`,$spaceNodes); + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + for( $obj in $controllers ) zooAttrState "-attrs t s -k 0 -l 1" $obj; + for( $obj in $controllers ) zooAttrState "-attrs v -k 0" $obj; + + + //------ + //add objmenu commands + //------ + int $spineConnects[] = {}; + int $cmdNum = `zooObjMenuAddCmd $rootControl`; + for( $n=0; $n<`size $spines`; $n++ ) $spineConnects[$n] = `zooAddConnect $rootControl $spines[$n]`; + string $cmdStr = "zooLineOfAction;\nzooLineOfAction_multi { \"%"+ `zooArrayToStr_int $spineConnects "\", \"%"` +"\" } \"\";"; + + zooSetObjMenuCmdName $rootControl "draw line of action" $cmdNum; + zooSetObjMenuCmdStr $rootControl $cmdStr $cmdNum; + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + for( $n=0; $n<`size $controllers`-1; $n++ ) zooSetPickwalkObj $controllers[$n] $controllers[( $n+1 )] "-dir down -reciprocal 1"; + zooSetPickwalkObj $controllers[0] $rootControl "-dir up -reciprocal 1"; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + for( $obj in $controllers ) zooAttrState "-attrs t s -k 0 -l 1" $obj; + for( $obj in $controllers ) zooAttrState "-attrs v -k 0" $obj; + + + //------ + //now brand all objects + //------ + for( $n=0; $n<`size $controllers`; $n++ ) zooBrandObject name $prefix $controllers[$n]; + zooBrandObject chest $prefix $controllers[( `size $controllers`-1 )]; + zooBrandObject root $prefix $rootControl; + zooBrandObject rootGimbal $prefix $rootGimbal; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId basicSpine "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord basicSpine $id $prefix`; + zooCSTRegisterInput $root $primitive; + zooCSTRegisterInput $spineBase $primitive; + zooCSTRegisterInput $spineEnd $primitive; + zooCSTPrimOutputs $controllers $primitive; + zooCSTPrimOutputs $controlSpaces $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooCSTPrimOutputs $roots $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "5" $primitive; + zooCSTRegisterControl $roots[0] $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + //------ + //add the controls to the qss + //------ + for( $obj in $controllers ) if( `objExists $obj` ) sets -add $qss $obj; + sets -add $qss $roots[0]; + if( `objExists $roots[1]` ) sets -add $qss $roots[1]; + if( `objExists $roots[3]` ) sets -add $qss $roots[3]; + //sets -rm $qss $roots[2]; + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers; + + return `zooAddArray_str $roots $controllers`; + } + + +//------ +//this proc deals with rebuilding the basicSpine primitive +//------ +global proc string[] zooCSTRebuildPrimBasicSpine( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimBasicSpine $prefix $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds the most basic FK spine primitive +------- +it basically has a control per spine joint. Although basic, each control still has space switching +between the previous control, the root, and the world. + +$prefix - the character prefix used to identify the character +$spineBase - this is where you want the spine to start - the base +$spineEnd - this is where you want the spine to terminate - the end +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - ie the parent of this primitive +-type [string] this flag lets you change the representation of the spine controls - ie circle, cylinder, cone etc... default is cube +-parents [string] use this to specify an additional list of parents for the dynamic parenting on all spine controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimEyes.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimEyes.mel new file mode 100644 index 0000000..d358a20 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimEyes.mel @@ -0,0 +1,215 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimEyes( string $prefix, string $eyeL, string $eyeR, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $headFlag; + string $colour = "purple 0.65"; + float $controllerScale = 1; + int $spaceswitching = 1; + + $optionTemp = `zooGetFlagArguments $optionStr head`; if( `size $optionTemp` ) $headFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $controllerScale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //discover the other parts of the rig already built + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $rootControl = zooGetElement_str( 0,`zooGetBrandedWith rootGimbal $prefix` ); + string $headControl = zooGetElement_str( 0,`zooGetBrandedWith headGimbal $prefix` ); + + if( `objExists $headFlag` ) $headControl = $headFlag; + if( !`objExists $headControl` ) $headControl = zooGetElement_str( 0,`listRelatives -parent -path $eyeL` ); + + + // + // ------------- CREATE ALL CONTROLS ------------- + string $headSpace = `zooBuildControl ( $prefix +"_false_head_space" ) ( "-type null -place "+ $headControl )`; + string $eyeControl = `zooBuildControl ( $prefix +"_eye_aim_ctrl" ) ( "-type target -place "+ $eyeL +" -axis z -scale "+$controllerScale+" -offset 5fwd"+" -colour "+ $colour )`; + string $eyeLAimSpace = `zooBuildControl ( $prefix +"_eye_aim_space_L" ) ( "-type null -place "+ $eyeL )`; + string $eyeRAimSpace = `zooBuildControl ( $prefix +"_eye_aim_space_R" ) ( "-type null -place "+ $eyeR )`; + string $eyeLPosControl = `zooBuildControl ( $prefix +"_eye_pos_ctrl_L" ) ( "-type sphere -place "+ $eyeL +" -axis z -scale "+ $controllerScale +" -offset 5fwd"+" -colour "+$colour )`; + string $eyeRPosControl = `zooBuildControl ( $prefix +"_eye_pos_ctrl_R" ) ( "-type sphere -place "+ $eyeR +" -axis z -scale "+ $controllerScale +" -offset 5fwd"+" -colour "+$colour )`; + string $eyeLRotControl = `zooBuildControl ( $prefix +"_eye_rot_ctrl_L" ) ( "-type sphere -place "+ $eyeL +" -axis z -scale "+ $controllerScale +" -colour "+$colour )`; + string $eyeRRotControl = `zooBuildControl ( $prefix +"_eye_rot_ctrl_R" ) ( "-type sphere -place "+ $eyeR +" -axis z -scale "+ $controllerScale +" -colour "+$colour )`; + string $eyeControlSpace = `zooBuildControl ( $prefix +"_eye_space" ) ( "-type null -place "+ $eyeL )`; + + select -r $eyeControl; + move -a -ws -rpr -x 0; + delete `parentConstraint $eyeControl $eyeControlSpace`; + scale 0.5 0.5 0.5 $eyeLPosControl $eyeRPosControl; + makeIdentity -a 1 -s 1 $eyeLPosControl $eyeRPosControl; + + parent $eyeLAimSpace $headSpace; + parent $eyeRAimSpace $headSpace; + parent $eyeLRotControl $eyeLAimSpace; + parent $eyeRRotControl $eyeRAimSpace; + parent $eyeLPosControl $eyeControl; + parent $eyeRPosControl $eyeControl; + parent $eyeControl $eyeControlSpace; + parent $eyeControlSpace $partsControl; + parent $headSpace $partsControl; + makeIdentity -apply 1 -t 1 -r 1 -s 1 $eyeControl; + + + //------ + //create space constraint + //------ + string $eyeCtrlAim = `zooCSTUpVector $eyeControl (zooCSTGetDir("fwd"))`; string $eyeCtrlUp = `zooCSTUpVector $eyeControl (zooCSTGetDir("up"))`; + string $eyeLAim = `zooCSTUpVector $eyeLAimSpace (zooCSTGetDir("fwd"))`; string $eyeLUp = `zooCSTUpVector $eyeL (zooCSTGetDir("up"))`; + string $eyeRAim = `zooCSTUpVector $eyeRAimSpace (zooCSTGetDir("fwd"))`; string $eyeRUp = `zooCSTUpVector $eyeR (zooCSTGetDir("up"))`; + string $headUp = `zooCSTUpVector $headControl (zooCSTGetDir("up"))`; + + string $spaceNodes[] = {}; + string $eyeControlParents[] = { $headControl, $rootControl, $worldControl }; + if( `size $parents` ) $eyeControlParents = `zooAddArray_str $eyeControlParents $parents`; + if( $spaceswitching ) $spaceNodes = `zooBuildSpaceSwitch $eyeControl $eyeControlSpace $eyeControlParents { "head", "root", "world" } "-mo"`; + eval ( "aimConstraint -mo -aimVector "+ $eyeCtrlAim +" -upVector "+ $eyeCtrlUp +" -worldUpType objectrotation -worldUpObject "+ $headControl +" -worldUpVector "+ $headUp +" "+ $headControl +" "+ $eyeControl ); + string $aim1 = zooGetElement_str(0,`eval( "aimConstraint -mo -aimVector "+ $eyeLAim +" -upVector "+ $eyeLUp +" -worldUpType objectrotation -worldUpObject "+ $headControl +" -worldUpVector "+ $headUp +" "+ $eyeLPosControl +" "+ $eyeLAimSpace )`); + string $aim2 = zooGetElement_str(0,`eval( "aimConstraint -mo -aimVector "+ $eyeRAim +" -upVector "+ $eyeRUp +" -worldUpType objectrotation -worldUpObject "+ $headControl +" -worldUpVector "+ $headUp +" "+ $eyeRPosControl +" "+ $eyeRAimSpace )`); + string $oc1 = zooGetElement_str(0,`orientConstraint -mo $eyeLRotControl $eyeL`); + string $oc2 = zooGetElement_str(0,`orientConstraint -mo $eyeRRotControl $eyeR`); + parentConstraint -mo $headControl $headSpace; + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $turnTranslateOff[] = { $eyeLRotControl, $eyeRRotControl }; + string $turnRotateOff[] = { $eyeControl, $eyeLPosControl, $eyeRPosControl }; + string $turnScaleOff[] = { $eyeControl, $eyeLPosControl, $eyeRPosControl, $eyeLRotControl, $eyeRRotControl }; + + for( $obj in $turnTranslateOff ) zooAttrState "-attrs t -k 0 -l 1" $obj; + for( $obj in $turnRotateOff ) zooAttrState "-attrs r -k 0 -l 1" $obj; + for( $obj in $turnScaleOff ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $turnScaleOff ) zooAttrState "-attrs v -k 0" $obj; + + + //------ + //add right click menu to turn on individual controls + //------ + zooObjMenuAddCmdAll $eyeControl "toggle individual controls" "string $kids[] = `listRelatives -type transform #`;\nint $vis = `getAttr ( $kids[0] +\".v\" )`;\nfor( $k in $kids ) setAttr ( $k +\".v\" ) (!$vis);"; + zooObjMenuAddCmdAll $eyeControl "swap to look at eyes" ( "zooEyeSwapper;\nzooSwapToLookatEyes \""+ $prefix +"\";" ); + zooObjMenuAddCmdAll $eyeControl "swap to rotate eyes" ( "zooEyeSwapper;\nzooSwapToRotateEyes \""+ $prefix +"\";" ); + setAttr ( $eyeLPosControl +".v" ) 0; + setAttr ( $eyeRPosControl +".v" ) 0; + + + //------ + //create a list of controls + //------ + string $controllers[] = {}; + $controllers = { $eyeControl, $eyeLRotControl, $eyeRRotControl, $eyeLPosControl, $eyeRPosControl }; + for( $obj in $controllers ) sets -add $qss $obj; + + + //------ + //now brand all objects + //------ + string $allSetupObjects[] = { $eyeControl, $eyeLPosControl, $eyeRPosControl, $eyeControlSpace }; + for( $obj in $allSetupObjects ) zooBrandObject name $prefix $obj; + zooBrandObject eyes $prefix $eyeControl; + zooBrandObject name $prefix $eyeLRotControl; + zooBrandObject name $prefix $eyeRRotControl; + zooBrandObject eyeRot "l" $eyeLRotControl; + zooBrandObject eyeRot "r" $eyeRRotControl; + zooBrandObject eyeAim "l" $eyeLPosControl; + zooBrandObject eyeAim "r" $eyeRPosControl; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId eyes "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord eyes $id $prefix`; + zooCSTRegisterInput $eyeL $primitive; + zooCSTRegisterInput $eyeR $primitive; + zooCSTPrimOutputs { $eyeControl, $eyeLPosControl, $eyeRPosControl, $eyeLRotControl, $eyeLAimSpace, $eyeRAimSpace, $eyeRRotControl, $eyeControlSpace } $primitive; + zooCSTPrimOutputs { $headSpace, $aim1, $aim2, $oc1, $oc2 } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "5" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the eyes primitive +//------ +global proc string[] zooCSTRebuildPrimEyes( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimEyes $prefix $inputs[0] $inputs[1] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds rigging for the eyes primitive - +------- +this is a simple two eye rig - left and right. Its a simple, but powerful eye rig - independant and +unified look at control, independant rotation control, and dynamic parenting on the lookat control, +and the eyes won't suffer from paralax problems that happen with a simple lookat setup. + +$prefix - the character prefix used to identify the character +$eyeL - this is the joint controlling the left eye +$eyeR - this is the joint controlling the right eye +$optionStr - standard option string + +option flags +------- +-head [string] use this to specify a custom head control - by default it looks for a zooCST head control. Use this flag to use the eye primitive with a custom rig. +-parents [string] use this to specify an additional list of parents for the dynamic parenting on the eye lookat control +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimFKSpine.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimFKSpine.mel new file mode 100644 index 0000000..efbf791 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimFKSpine.mel @@ -0,0 +1,248 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimFKSpine( string $prefix, string $root, string $spineBase, string $spineEnd, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $hips = ""; + string $type = "cube"; + string $colour = "lightblue 0.65"; + float $scale = 1; + int $buildroot = 1; + int $buildhips = 1; + int $spaceswitching = 1; + + $optionTemp = `zooGetFlagArguments $optionStr buildroot`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildhips`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr type`; if( `size $optionTemp` ) $type = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //create the root and hips controls + //------ + string $roots[] = `zooCSTBuildRoot $prefix $root ( "-hips "+ $hips +" -buildhips "+ $buildhips +" -scale "+ $scale +" -colour "+ $colour )`; + string $rootControl = $roots[0]; + string $hipsControl = $roots[1]; + string $rootSpace = $roots[2]; + string $rootGimbal = $roots[3]; + + parent $rootSpace $worldControl; + parentConstraint -mo $rootControl $root; + if( `objExists $hipsControl` ) parentConstraint -mo $hipsControl $hips; + + + //------ + //build the spine proxies, and parent constraint the spine segments to the proxy objects - now we have full control over the spine heirarchy without re-arranging the skeleton + string $spines[] = { $spineEnd }; + string $spineProxies[] = {}; + + $spines = zooAddArray_str($spines, `zooGetInBTweenJoints $spineBase $spineEnd` ); + $spines = `zooAddArray_str $spines { $spineBase }`; + $spines = `zooReverseArray_str $spines`; + + for( $spine in $spines ) $spineProxies[( `size $spineProxies` )] = `zooBuildControl ( $prefix +"_lockthis_spine_proxy" ) ( "-joint 1 -type null -place "+ $spine )`; + for( $n=0; $n<`size $spines`; $n++ ) orientConstraint -mo $spineProxies[$n] $spines[$n]; + + + float $half = ( `size $spines` )/2.0; + int $mid = $half; + int $end = `size $spines`; + if( $half == (int)$half ) $mid = $half-1; + + + //------ + //create the controls, and parent them + //------ + string $baseSpace = `zooBuildControl ( $prefix +"_spine_base_space" ) ( "-type null -place "+ $spineBase )`; + string $baseControl = `zooBuildControl ( $prefix +"_spine_base_ctrl" ) ( "-type "+ $type +" -place "+ $spineBase +" -scale "+ $scale +" -colour "+ $colour )`; + string $chestSpace = `zooBuildControl ( $prefix +"_spine_chest_space" ) ( "-type null -place "+ $spines[$mid+1] )`; + string $chestControl = `zooBuildControl ( $prefix +"_spine_chest_ctrl" ) ( "-type "+ $type +" -place "+ $spines[$mid+1] +" -scale "+ $scale +" -colour "+ $colour )`; + + parent $baseControl $baseSpace; + parent $chestControl $chestSpace; + parent $chestSpace $baseControl; + if( `objExists $rootControl` ) parent $baseSpace $rootControl; + else parent $baseSpace $worldControl; + + + //------ + //constrain the spine chain to the controllers that affect them + //------ + float $increment = 1.0/( $mid+1 ); + for( $n=0; $n<$mid; $n++ ) { + float $diff = ($n+1)*$increment; + + if( $diff == 1 ) zooGetElement_str(0,`parentConstraint -mo -st x -st y -st z $baseControl $spineProxies[$n]`); + else if( $diff == 0 ) zooGetElement_str(0,`parentConstraint -mo -st x -st y -st z $rootControl $spineProxies[$n]`); + else { + string $constraint = zooGetElement_str(0,`parentConstraint -mo -st x -st y -st z $rootControl $baseControl $spineProxies[$n]`); + string $attrs[] = `listAttr -ud $constraint`; + setAttr ( $constraint +"."+ $attrs[0] ) ( 1-$diff ); + setAttr ( $constraint +"."+ $attrs[1] ) $diff; + setAttr ( $constraint +".interpType" ) 2; + } + } + + $increment = 1.0/( $end-$mid-1 ); + for( $n=$mid; $n<$end; $n++ ) { + float $diff = ($n-$mid)*$increment; + + if( $diff == 1 ) zooGetElement_str(0,`parentConstraint -mo -st x -st y -st z $chestControl $spineProxies[$n]`); + else if( $diff == 0 ) zooGetElement_str(0,`parentConstraint -mo -st x -st y -st z $baseControl $spineProxies[$n]`); + else { + string $constraint = zooGetElement_str(0,`parentConstraint -mo -st x -st y -st z $baseControl $chestControl $spineProxies[$n]`); + string $attrs[] = `listAttr -ud $constraint`; + setAttr ( $constraint +"."+ $attrs[0] ) ( 1-$diff ); + setAttr ( $constraint +"."+ $attrs[1] ) $diff; + setAttr ( $constraint +".interpType" ) 2; + } + } + + + //------ + //create the space switching + //------ + string $chestParents[] = { $baseControl, $rootControl, $worldControl }; + if( `size $parents` ) $chestParents = `zooAddArray_str $chestParents $parents`; + string $spaceNodes[] = {}; + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $baseControl $baseSpace { $rootControl, $worldControl } { "previous", "world" } "-mo"`,$spaceNodes); + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $chestControl $chestSpace $chestParents { "previous", "root", "world" } "-mo"`,$spaceNodes); + + + //------ + //delete the connection to the translation values from the parent constraint for the space objects for the controls + //we do this so the controls aren't position parented to the space objects - specifying -st x etc in the parent constraint flag options doesnt work + //as maya stuffs up when applying multiple parent constraints each with the -st flags specified + //------ + delete -icn ( $baseSpace +".tx" ); + delete -icn ( $baseSpace +".ty" ); + delete -icn ( $baseSpace +".tz" ); + delete -icn ( $chestSpace +".tx" ); + delete -icn ( $chestSpace +".ty" ); + delete -icn ( $chestSpace +".tz" ); + + + //------ + //create a list of controls + //------ + string $controllers[] = { $baseControl, $chestControl }; + for( $obj in $spineProxies ) parent $obj $partsControl; + for( $obj in $controllers ) sets -add $qss $obj; + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + for( $obj in $controllers ) zooAttrState "-attrs t s -k 0 -l 1" $obj; + for( $obj in $controllers ) zooAttrState "-attrs v -k 0" $obj; + + + //------ + //now brand all objects + //------ + zooBrandObject name $prefix $chestControl; + zooBrandObject name $prefix $chestControl; + zooBrandObject spine $prefix $baseControl; + zooBrandObject chest $prefix $chestControl; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId fkSpine "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord fkSpine $id $prefix`; + zooCSTRegisterInput $spineBase $primitive; + zooCSTRegisterInput $spineEnd $primitive; + zooCSTPrimOutputs { $baseControl, $chestControl, $baseSpace, $chestSpace } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "4" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the fkSpine primitive +//------ +global proc string[] zooCSTRebuildPrimFKSpine( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimFKSpine $prefix $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a simple fk spine rig +------- + +$prefix - the character prefix used to identify the character +$spineBase - this is where you want the spine to start - the base +$spineEnd - this is where you want the spine to terminate - the end +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - ie the parent of this primitive +-type [string] this flag lets you change the representation of the spine controls - ie circle, cylinder, cone etc... default is cube +-parents [string] use this to specify an additional list of parents for the dynamic parenting on all spine controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimFinger.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimFinger.mel new file mode 100644 index 0000000..1a6d0b3 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimFinger.mel @@ -0,0 +1,301 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimFinger( string $prefix, string $parity, string $base, string $optionStr ) { + $optionStr = "."+ $optionStr; + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $name = "index"; + string $control = ""; + string $wrist = zooGetElement_str(0,`listRelatives -p $base`); + string $axis = ""; + string $colour = "orange 0.65"; + float $scale = 1; + int $pickwalking = 1; + int $num = 0; + int $invert = 1; + int $sliders = 1; + int $triggers = 1; + int $stretch = 0; + + $optionTemp = `zooGetFlagArguments $optionStr name`; if( `size $optionTemp` ) $name = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr num`; if( `size $optionTemp` ) $num = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr axis`; if( `size $optionTemp` ) $axis = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr invert`; if( $optionTemp[0] == "1" ) $invert = -1; + $optionTemp = `zooGetFlagArguments $optionStr sliders`; if( `size $optionTemp` ) $sliders = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr triggers`; if( `size $optionTemp` ) $triggers = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr stretch`; if( `size $optionTemp` ) $stretch = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr wrist`; if( `size $optionTemp` && `objExists $optionTemp[0]` ) $wrist = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr control`; if( `size $optionTemp` && `objExists $optionTemp[0]` ) $control = $optionTemp[0]; + $scale *= 0.5; //manually modify the user scale, as fingers are generally small + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $id = `zooCSTGetPrimId finger $parity $prefix`; + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + + string $controlObj = zooGetElement_str(0,`zooGetBrandedWithList { "name", "arm" } { $prefix, $suffix }`); + string $prim = ""; + string $wristFromPrim = ""; + if( `objExists $controlObj` ) $prim = zooGetElement_str(0,`listConnections -d 0 -type time $controlObj`); + if( `objExists $prim` ) $wristFromPrim = zooGetElement_str(2,`zooCSTListAllPrimInputs $prim`); + if( !`objExists $control` && `objExists $controlObj` ) $control = $controlObj; + if( !`objExists $wrist` && `objExists $wristFromPrim` ) $wrist = $wristFromPrim; + + + //------ + //discover the other parts of the rig already built + //------ + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $fingerGrp = zooGetElement_str( 0,`zooGetBrandedWithList { "fingers", "parity" } { $prefix, $parity }` ); + string $fingerTrig = zooGetElement_str( 0,`zooGetBrandedWithList { "fingersSel", "parity" } { $prefix, $parity }` ); + + + //------ + //discover the list of joint names in the finger + //------ + string $joints[] = `listRelatives -ad -type transform -type joint -pa $base`; + $joints = `zooAddArray_str $joints { $base }`; + $joints = `zooReverseArray_str $joints`; + + if( !$num ) $num = `size $joints`; //if $num is zero, then its implied that all child joints of the base joint are finger joints + + + //------ + //build the controls + //------ + if( !`objExists $fingerGrp` ) { + $fingerGrp = `zooBuildControl ( $prefix +"_fingers_grp"+ $suffix ) ( "-type null -place "+ $wrist )`; + delete `orientConstraint $wrist $fingerGrp`; + zooBrandObject fingers $prefix $fingerGrp; //the s on the fingers brand is deliberate + zooBrandObject parity $parity $fingerGrp; + } + + string $jointSpaces[] = {}; + string $jointCtrls[] = {}; + string $jointConstraints[] = {}; + for( $n=0; $n<$num; $n++ ) { + $jointCtrls[$n] = `zooBuildControl ( $prefix +"_"+ $name +"_ctrl"+ $suffix ) ( "-type sphere -place "+ $joints[$n] +" -scale "+ $scale +" -colour "+ $colour )`; + $jointSpaces[$n] = `zooCSTOrient2Obj $joints[$n] $jointCtrls[$n]`; + if( $n ) parent $jointSpaces[$n] $jointCtrls[( $n-1 )]; + $jointConstraints = zooAddArray_str( `parentConstraint $jointCtrls[$n] $joints[$n]`, $jointConstraints ); + zooAttrState "-attrs t s -k 0 -l 1" $jointCtrls[$n]; + zooAttrState "-attrs v -k 0" $jointCtrls[$n]; + } + + parent $jointSpaces[0] $fingerGrp; + if( !(size(`listRelatives -p $fingerGrp`))) parent $fingerGrp $partsControl; + parentConstraint -mo $wrist $fingerGrp; + + + //------ + //discover the axis the joint rotates on - this is almost always normal to the plane that goes through the wrist and the base + //except on characters with really really wide hands + //------ + float $baseUp[] = `zooAxisInDirection $base {0.,1.,0.}`; + float $palmPlane[] = `zooBetweenVector $wrist $base`; + float $normal[] = `crossProduct $baseUp $palmPlane 1 1`; + string $axisStrs[] = {}; //this array holds the axis string saying which axis the finger joint is to rotate around + + for( $n=0; $n<$num; $n++ ) $axisStrs[$n] = `zooCSTUpVector $joints[$n] $normal`; + + + //------ + //write the SDKs if required + //------ + if( $sliders ) { + string $driverAttr = $name +"Curl"; + if( !`objExists ( $control +"."+ $driverAttr )` ) addAttr -ln $driverAttr -k 1 -at double -min -10 -max 10 -dv 0 $control; + setAttr ( $control +"."+ $driverAttr ) 0; + for( $n=0; $n<$num; $n++ ) { + string $attrName = ( "r"+ `zooCSTVectorAsName $axisStrs[$n]` ); + if( $axis != "" ) $attrName = "r"+ $axis; + setDrivenKeyframe -at $attrName -cd( $control +"."+ $driverAttr ) $jointSpaces[$n]; + } + + setAttr ( $control +"."+ $driverAttr ) 10; + for( $n=0; $n<$num; $n++ ) { + string $attrName = ( "r"+ `zooCSTVectorAsName $axisStrs[$n]` ); + if( $axis != "" ) $attrName = "r"+ $axis; + setAttr ( $jointSpaces[$n] +"."+ $attrName ) ( 90*$invert ); + setDrivenKeyframe -at $attrName -cd( $control +"."+ $driverAttr ) $jointSpaces[$n]; + } + + setAttr ( $control +"."+ $driverAttr ) -10; + for( $n=0; $n<$num; $n++ ) { + string $attrName = ( "r"+ `zooCSTVectorAsName $axisStrs[$n]` ); + if( $axis != "" ) $attrName = "r"+ $axis; + setAttr ( $jointSpaces[$n] +"."+ $attrName ) ( -90*$invert ); + setDrivenKeyframe -at $attrName -cd( $control +"."+ $driverAttr ) $jointSpaces[$n]; + } + + setAttr ( $control +"."+ $name +"Curl" ) 0; + } + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + for( $n=0; $n<`size $jointCtrls`-1; $n++ ) zooSetPickwalkObj $jointCtrls[$n] $jointCtrls[( $n+1 )] "-dir down -reciprocal 1"; + zooSetPickwalkObj $jointCtrls[0] $controlObj "-dir up -reciprocal 1"; + } + + + //------ + //add a zooObjMenu command to toggle finger control vis, and select them + //------ + if( `objExists $control` ) { + int $tglCmdExists = 0; + int $cmd1Num; + int $cmd2Num; + int $connectNum = `zooAddConnect $control $fingerGrp`; + for( $a in `zooObjMenuListCmds $control` ) if( `zooGetObjMenuCmdName $control $a` == "hide/show fingers" ) $tglCmdExists = 1; + if( !$tglCmdExists ) { + $cmd1Num = `zooObjMenuAddCmd $control`; + $cmd2Num = `zooObjMenuAddCmd $control`; + zooSetObjMenuCmdName $control "hide/show fingers" $cmd1Num; + zooSetObjMenuCmdName $control "select all fingers" $cmd2Num; + zooSetObjMenuCmdStr $control ( "{\nint $vis = !`getAttr %"+ $connectNum +".v`;\nsetAttr %"+ $connectNum +".v $vis;\n}" ) $cmd1Num; + zooSetObjMenuCmdStr $control ( "{\nstring $allKids[] = `listRelatives -pa -ad %"+ $connectNum +"`;\nstring $c[] = {};\nfor( $n=0; $n<`size $allKids`; $n++ ) {\n\tstring $shapes[] = `listRelatives -s $allKids[$n]`;\n\tif( `size $shapes` ) $c[( `size $c` )] = $allKids[$n];\n\t}\nselect $c;\n}" ) $cmd2Num; + } + } + + + //------ + //build triggers if the user wants them + //------ + if( $triggers ) { + if( !`objExists $fingerTrig` ) { + string $paritySign = "-"; + if( $parity == "r" ) $paritySign = ""; + $fingerTrig = `zooBuildControl ( $prefix +"_fingers_select_trigger"+ $suffix ) ( "-type arrow -place "+ $wrist +" -offset -3.5fwd -scale "+ (0.5*$scale) +" -colour "+ $colour )`; + zooBrandObject fingersSel $prefix $fingerTrig; + zooBrandObject parity $parity $fingerTrig; + parent $fingerTrig $fingerGrp; + select -cl; + string $shapes[] = `listRelatives -s $fingerTrig`; + for( $shape in $shapes ) { + int $num = `getAttr -s ( $shape +".controlPoints" )`; + select -add ( $shape +".controlPoints[0:"+ $num +"]" ); + } + eval( "rotate -r -os 0 "+ $paritySign +"90 0" ); + zooAttrState "-attrs t r s -k 0 -l 1" $fingerTrig; + zooAttrState "-attrs v -k 0" $fingerTrig; + zooMakeTrigger $fingerTrig `zooPresetTriggerCmds -selectConnected` $jointCtrls; + } + else for( $c in $jointCtrls ) zooAddConnect $fingerTrig $c; + } + + + //------ + //now brand all objects + //------ + for( $obj in $jointSpaces ) { + zooBrandObject name $prefix $obj; + zooBrandObject finger $name $obj; + } + + + //------ + //add the controls to the quick selection set + //------ + for( $obj in $jointCtrls ) sets -add $qss $obj; + + + //------ + //build the primitive record + //------ + string $primitive = `zooCSTCreatePrimRecord finger $id $prefix`; + zooCSTRegisterInput $base $primitive; + zooCSTPrimOutputs { $fingerGrp } $primitive; //for now this object is deliberately left out of the primitive + zooCSTPrimOutputs $jointConstraints $primitive; + zooCSTPrimOutputs $jointSpaces $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "2" $primitive; + for( $obj in $jointCtrls ) zooCSTRegisterControl $obj $primitive; + + //zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $jointCtrls`; $n++ ) $jointCtrls[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $jointCtrls[$n]`; + + return $jointCtrls; + } + + +//------ +//this proc deals with rebuilding the finger primitive +//------ +global proc string[] zooCSTRebuildPrimFinger( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $parity = "l"; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + string $temp[] = {}; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr parity`; if( `size $temp` ) $parity = $temp[0]; + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimFinger $prefix $parity $inputs[0] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a simple finger rig +------- + +$prefix - the character prefix used to identify the character +$parity - which side is the arm on? l (left) or r (right) +$base - this is the base of the finger - the start joint +$optionStr - standard option string + +option flags +------- +-name [string] this is the name prefix for the control objects the script creates +-num [int] the number of joints in the fingers - by default it assumes all children are part of the finger +-axis [string] you can override the axis that CST guesses using this flag +-invert [int] did zooCST get the rotations wrong? You can invert the direction of rotation using this flag +-sliders [int] so you want the sliders written to the arm control? +-stretch [int] do you want stretchy fingers? *NOT currently supported +-wrist [string] the wrist joint - the fingers need to be parentConstrained to the wrist to follow the arm +-control [string] this is the name of the object in which to write the sliders on to +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHand.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHand.mel new file mode 100644 index 0000000..dc6e907 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHand.mel @@ -0,0 +1,352 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; +zooVectors; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimHand( string $prefix, string $parity, string $wrist, string $bases[], string $optionStr ) { + $optionStr = "."+ $optionStr; + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $names[] = { "index","mid","ring","pinky","thumb" }; + string $axes[] = { "#","#","#","#","#" }; + string $control = ""; + string $colour = "orange 0.65"; + float $scale = 1; + int $pickwalking = 1; + int $num = 0; + int $invert = 1; + int $sliders = 1; + int $triggers = 1; + int $stretch = 0; + + $optionTemp = `zooGetFlagArguments $optionStr names`; if( `size $optionTemp` ) $names = $optionTemp; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr num`; if( `size $optionTemp` ) $num = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr axes`; if( `size $optionTemp` ) $axes = $optionTemp; + $optionTemp = `zooGetFlagArguments $optionStr invert`; if( $optionTemp[0] == "1" ) $invert = -1; + $optionTemp = `zooGetFlagArguments $optionStr triggers`; if( `size $optionTemp` ) $triggers = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr stretch`; if( `size $optionTemp` ) $stretch = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr wrist`; if( `size $optionTemp` && `objExists $optionTemp[0]` ) $wrist = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr control`; if( `size $optionTemp` && `objExists $optionTemp[0]` ) $control = $optionTemp[0]; + $scale *= 0.5; //manually modify the user scale, as fingers are generally small + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $id = `zooCSTGetPrimId hand $parity $prefix`; + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $handControl = zooGetElement_str(0,`zooGetBrandedWithList { "name", "arm" } { $prefix, $suffix }`); + string $wristControl = zooGetElement_str(0,`zooGetBrandedWithList { "name", "fk_wrist" } { $prefix, $suffix }`); + string $handqss = `sets -empty -text "gCharacterSet" -n ( $prefix + "_hand_ctrls"+ $suffix )`; + string $prim = ""; + string $wristFromPrim = ""; + + if( `objExists $handControl` ) $prim = zooGetElement_str(0,`listConnections -d 0 -type time $handControl`); + if( `objExists $prim` ) $wristFromPrim = zooGetElement_str(2,`zooCSTListAllPrimInputs $prim`); + if( !`objExists $control` && `objExists $handControl` ) $control = $handControl; + if( !`objExists $wrist` && `objExists $wristFromPrim` ) $wrist = $wristFromPrim; + sets -add $worldParts[2] $handqss; + + + //------ + //discover the other parts of the rig already built + //------ + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + + + //------ + //before we start building the hand controls, lets figure out some useful vectors + //------ + float $acrossBases[] = `zooBetweenVector $bases[0] $bases[1]`; + float $averageWristToBaseVector[] = {}; + int $numBases = `size $bases`; + + for( $base in $bases ) { + float $tempVec[] = `zooBetweenVector $wrist $base`; + $averageWristToBaseVector[0] += $tempVec[0]; + $averageWristToBaseVector[1] += $tempVec[1]; + $averageWristToBaseVector[2] += $tempVec[2]; + } + for( $n=0; $n<3; $n++ ) $averageWristToBaseVector[$n] /= $numBases; + float $handUp[] = `crossProduct $averageWristToBaseVector $acrossBases 1 1`; + + + //------ + //build the main hand group, and the slider control for the fingers + //------ + string $handGrp = `zooBuildControl ( $prefix +"_hand_space"+ $suffix ) ( "-type null -place "+ $wrist )`; + string $handSliders = `zooBuildControl ( $prefix +"_hand_sliders"+ $suffix ) ( "-type pointer -place "+ $wrist +" -axis _z -surface 0 -offset -4fwd -scale "+ (0.5*$scale) +" -colour "+ $colour )`; + string $poseCurve = `zooBuildControl ( $prefix +"_hand_poses"+ $suffix ) ( "-type starCircle -place "+ $wrist +" -surface 0 -scale "+ $scale +" -colour "+ $colour )`; + + move -r ($averageWristToBaseVector[0]*$scale*2) ($averageWristToBaseVector[1]*$scale*2) ($averageWristToBaseVector[2]*$scale*2) $handSliders; + parentConstraint $wrist $handGrp; + parent $handSliders $handGrp; + parent $poseCurve $handSliders; + parent $handGrp $partsControl; + delete `parentConstraint $handSliders $poseCurve`; + zooBrandObject name $prefix $handGrp; + zooBrandObject hand $suffix $handGrp; + setAttr ( $handSliders +".r" ) 0 0 0; + zooAttrState "-attrs t r s -k 0 -l 1" $handSliders; + zooAttrState "-attrs t r s -k 0 -l 1" $poseCurve; + zooAttrState "-attrs v -k 0" $handSliders; + zooAttrState "-attrs v -k 0" $poseCurve; + + //now start building the controls + string $allCtrls[] = { $handSliders, $poseCurve }; + string $allSpaces[] = {}; + string $allConstraints[] = {}; + string $baseControls[] = {}; + string $slider_curl[] = {}; + string $slider_bend[] = {}; + string $slider_twist[] = {}; + + for( $n=0; $n<`size $bases`; $n++ ) { + //------ + //discover the list of joints under the current base + //------ + string $name = $names[$n]; + string $base = $bases[$n]; + string $joints[] = `listRelatives -ad -type transform -type joint -pa $base`; + string $baseTwistAxis = `zooCSTJointDirection $base`; + + $joints = `zooAddArray_str $joints { $base }`; + $joints = `zooReverseArray_str $joints`; + + if( !$num ) $num = `size $joints`; //if $num is zero, then its implied that all child joints of the base joint are finger joints + if( `size $joints` < $num ) $num = `size $joints`; + + //------ + //build the controls + //------ + string $ctrls[] = {}; + string $spaces[] = {}; + string $constraints[] = {}; + + for( $i=0; $i<$num; $i++ ) { + string $ctrlAxis = `zooCSTJointDirection $joints[$i]`; + $spaces[$i] = `zooBuildControl ( $prefix +"_"+ $name +"_space_"+ $i + $suffix ) ( "-type null -orient 1 -scale "+ $scale +" -place "+ $joints[$i] +" -align %p -colour "+ $colour )`; + $ctrls[$i] = `zooBuildControl ( $prefix +"_"+ $name +"_ctrl_"+ $i + $suffix ) ( "-type sphere -typecurve ring -axis "+ $ctrlAxis +" -place "+ $joints[$i] +" -scale "+ $scale +" -colour "+ $colour )`; + parent $ctrls[$i] $spaces[$i]; + setAttr ( $ctrls[$i] +".r" ) 0 0 0; + if( $i ) parent `listRelatives -pa -p $spaces[$i]` $ctrls[( $i-1 )]; + $constraints = zooAddArray_str( `parentConstraint $ctrls[$i] $joints[$i]`, $constraints ); + zooAttrState "-attrs t s -k 0 -l 1" $ctrls[$i]; + zooAttrState "-attrs v -k 0" $ctrls[$i]; + } + $allCtrls = `zooAddArray_str $allCtrls $ctrls`; + $allSpaces = `zooAddArray_str $allSpaces $spaces`; + $allConstraints = `zooAddArray_str $allConstraints $constraints`; + $baseControls[( `size $baseControls` )] = $ctrls[0]; + parent `listRelatives -pa -p $spaces[0]` $handGrp; + zooAddConnect $poseCurve $spaces[0]; + + if( $sliders ) { + //build the curl sliders + string $driverAttr = $name +"Curl"; + string $rotateAxisVecStr = `zooCSTUpVector $base $acrossBases`; + string $rotateAxis = `zooCSTVectorAsName $rotateAxisVecStr`; + int $direction = 1; + + if( $axes[$n] == "#" ) $axes[$n] = $rotateAxis; + if( `match "^-" $rotateAxisVecStr` != "" ) $direction = -1; + if( `match "^[-_]" $axes[$n]` != "" ) $direction = -1; + $axes[$n] = `match "[xyzXYZ]+$" $axes[$n]`; + if( $axes[$n] == "" ) $axes[$n] = $rotateAxis; + $direction *= $invert; + + addAttr -ln $driverAttr -k 1 -at double -min -10 -max 10 -dv 0 $handSliders; + setAttr -k 1 ( $handSliders +"."+ $driverAttr ) 0; + for( $i=0; $i<$num; $i++ ) setDrivenKeyframe -at( "r"+ $axes[$n] ) -cd( $handSliders +"."+ $driverAttr ) $spaces[$i]; + + setAttr ( $handSliders +"."+ $driverAttr ) 10; + for( $i=0; $i<$num; $i++ ) { + rotate -r -os ( $axes[$n]=="x"? 120*$direction: 0 ) ( $axes[$n]=="y"? 120*$direction: 0 ) ( $axes[$n]=="z"? 120*$direction: 0 ) $spaces[$i]; + setDrivenKeyframe -at( "r"+ $axes[$n] ) -cd( $handSliders +"."+ $driverAttr ) $spaces[$i]; + } + + setAttr ( $handSliders +"."+ $driverAttr ) -10; + for( $i=0; $i<$num; $i++ ) { + rotate -r -os ( $axes[$n]=="x"? -120*$direction: 0 ) ( $axes[$n]=="y"? -120*$direction: 0 ) ( $axes[$n]=="z"? -120*$direction: 0 ) $spaces[$i]; + setDrivenKeyframe -at( "r"+ $axes[$n] ) -cd( $handSliders +"."+ $driverAttr ) $spaces[$i]; + } + + setAttr ( $handSliders +"."+ $driverAttr ) 0; + $slider_curl[( `size $slider_curl` )] = $driverAttr; + + //build the bend sliders + $driverAttr = $name +"Bend"; + addAttr -ln $driverAttr -k 1 -at double -min -10 -max 10 -dv 0 $handSliders; + setAttr -k 1 ( $handSliders +"."+ $driverAttr ) 0; + setDrivenKeyframe -at( "r"+ $axes[$n] ) -cd( $handSliders +"."+ $driverAttr ) $spaces[0]; + + setAttr ( $handSliders +"."+ $driverAttr ) 10; + rotate -r -os ( $axes[$n]=="x"? 120*$direction: 0 ) ( $axes[$n]=="y"? 120*$direction: 0 ) ( $axes[$n]=="z"? 120*$direction: 0 ) $spaces[0]; + setDrivenKeyframe -at( "r"+ $axes[$n] ) -cd( $handSliders +"."+ $driverAttr ) $spaces[0]; + + setAttr ( $handSliders +"."+ $driverAttr ) -10; + rotate -r -os ( $axes[$n]=="x"? -120*$direction: 0 ) ( $axes[$n]=="y"? -120*$direction: 0 ) ( $axes[$n]=="z"? -120*$direction: 0 ) $spaces[0]; + setDrivenKeyframe -at( "r"+ $axes[$n] ) -cd( $handSliders +"."+ $driverAttr ) $spaces[0]; + + setAttr ( $handSliders +"."+ $driverAttr ) 0; + $slider_bend[( `size $slider_bend` )] = $driverAttr; + } + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + for( $i=0; $i<`size $ctrls`-1; $i++ ) zooSetPickwalkObj $ctrls[$i] $ctrls[( $i+1 )] "-dir down -reciprocal 1"; + zooSetPickwalkObj $ctrls[0] $control "-dir up -reciprocal 0"; + } + + + //------ + //add the controls to the quick selection set + //------ + //for( $obj in $ctrls ) sets -add $qss $obj; + } + + if( $pickwalking ) { + //not sure why, but when pickwalking is enabled, weird shit happens to the curl/bend attributes... no idea why + //zooSetPickwalkObj $control $handSliders "-dir down -reciprocal 1"; + //zooSetPickwalkObj $control $handSliders "-dir down -reciprocal 0"; + zooSetPickwalkObj $wristControl $handSliders "-dir down -reciprocal 0"; + } + + //reorder the finger sliders + string $attrOrder[] = `zooAddArray_str $slider_curl $slider_bend`; + $attrOrder = `zooAddArray_str $attrOrder $slider_twist`; + zooReorderAttrs $handSliders $attrOrder; + + //lock space attributes + for( $s in $allSpaces ) zooAttrState "-attrs t s v -l 1 -k 0" $s; + zooObjMenuAddCmdAll $poseCurve base ( `zooWriteSetAttrCmd $poseCurve (zooGetConnects($poseCurve))` ); + + //------ + //add a zooObjMenu command to toggle finger control vis, and select them + //------ + int $cmd1Num = `zooObjMenuAddCmd $handSliders`; + int $cmd2Num = `zooObjMenuAddCmd $handSliders`; + int $cmd3Num = `zooObjMenuAddCmd $handSliders`; + int $cmd4Num = `zooObjMenuAddCmd $handSliders`; + int $connects[] = {}; + + for( $b in $baseControls ) $connects[( `size $connects` )] = `zooAddConnect $handSliders $b`; + string $toggleCmd = "int $vis = !`getAttr %"+ $connects[0] +".v`;\n"; + string $offset1Cmd = ""; + string $offset2Cmd = ""; + + for( $n in $connects ) $toggleCmd += "setAttr %"+ $n +".v $vis;\n"; + for( $n=0; $n<`size $slider_bend`-1; $n++ ) $offset1Cmd += "setAttr -c #."+ $slider_bend[$n] +" ( `getAttr #."+ $slider_bend[$n] +"`+ "+ (0.1*($n+1)) +" );\n"; //-1 on the range because we assume the thumb is the last digit + for( $n=0; $n<`size $slider_bend`-1; $n++ ) $offset2Cmd += "setAttr -c #."+ $slider_bend[$n] +" ( `getAttr #."+ $slider_bend[$n] +"`+ "+ (0.35*($n+1)) +" );\n"; + zooSetObjMenuCmdName $handSliders "hide/show fingers" $cmd1Num; + zooSetObjMenuCmdName $handSliders "select all fingers" $cmd2Num; + zooSetObjMenuCmdName $handSliders "add small offset to fingers" $cmd3Num; + zooSetObjMenuCmdName $handSliders "add bigger offset to fingers" $cmd4Num; + zooSetObjMenuCmdStr $handSliders $toggleCmd $cmd1Num; + zooSetObjMenuCmdStr $handSliders ( "select -r # %"+ `zooArrayToStr_int $connects " %"` +";" ) $cmd2Num; + zooSetObjMenuCmdStr $handSliders $offset1Cmd $cmd3Num; + zooSetObjMenuCmdStr $handSliders $offset2Cmd $cmd4Num; + for( $c in $allCtrls ) sets -add $handqss $c; + + + //------ + //build the primitive record + //------ + string $primitive = `zooCSTCreatePrimRecord hand $id $prefix`; + zooCSTRegisterInput $wrist $primitive; + for( $b in $bases ) zooCSTRegisterInput $b $primitive; + zooCSTPrimOutputs { $handGrp } $primitive; + zooCSTPrimOutputs { $handqss } $primitive; + zooCSTPrimOutputs $allCtrls $primitive; + zooCSTPrimOutputs $allSpaces $primitive; + zooCSTPrimOutputs $allConstraints $primitive; + zooBrandObject handqss $suffix $handqss; + zooBrandObject name $prefix $handqss; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "3" $primitive; + zooCSTRegisterControl $handSliders $primitive; + for( $c in $allCtrls ) zooCSTRegisterControl $c $primitive; + + for( $n=0; $n<`size $allCtrls`; $n++ ) $allCtrls[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $allCtrls[$n]`; + + return $allCtrls; + } + + +//------ +//this proc deals with rebuilding the finger primitive +//------ +global proc string[] zooCSTRebuildPrimFinger( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $parity = "l"; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + string $temp[] = {}; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr parity`; if( `size $temp` ) $parity = $temp[0]; + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimFinger $prefix $parity $inputs[0] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a simple finger rig +------- + +$prefix - the character prefix used to identify the character +$parity - which side is the arm on? l (left) or r (right) +$base - this is the base of the finger - the start joint +$optionStr - standard option string + +option flags +------- +-name [string] this is the name prefix for the control objects the script creates +-num [int] the number of joints in the fingers - by default it assumes all children are part of the finger +-axis [string] you can override the axis that CST guesses using this flag +-invert [int] did zooCST get the rotations wrong? You can invert the direction of rotation using this flag +-sliders [int] so you want the sliders written to the arm control? +-stretch [int] do you want stretchy fingers? *NOT currently supported +-wrist [string] the wrist joint - the fingers need to be parentConstrained to the wrist to follow the arm +-control [string] this is the name of the object in which to write the sliders on to +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHaunch.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHaunch.mel new file mode 100644 index 0000000..ec7819e --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHaunch.mel @@ -0,0 +1,279 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooCSTPrimitives; +zooCSTUtils; +zooSpaceSwitching; +zooRenamerUtils; +zooVectors; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimHaunch( string $prefix, string $parity, string $thigh, string $knee, string $ankle, string $toeBase, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $type = "cube"; + string $colour = $parity=="r"? "red 0.65": "green 0.65"; + float $scale = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + + $optionTemp = `zooGetFlagArguments $optionStr type`; if( `size $optionTemp` ) $type = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $id = `zooCSTGetPrimId haunch $parity $prefix`; + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $rootControl = zooGetElement_str( 0,`zooGetBrandedWith rootGimbal $prefix` ); + + + //------ + //build the controls + //------ + string $anklePos = `zooBuildControl ( "ankle_null"+ $suffix ) ( "-type null -place "+ $ankle )`; + string $legSpace = `zooBuildControl ( "leg_space"+ $suffix ) ( "-type null -place "+ $toeBase )`; + string $legControl = `zooBuildControl ( "leg_ctrl"+ $suffix ) ( "-type "+ $type +" -place "+ $toeBase +"-scale "+ $scale +" -colour "+ $colour )`; + string $toeAimer = `zooBuildControl ( "toe_aim"+ $suffix ) ( "-type null -place "+ $toeBase )`; + string $toeNeutral = `zooBuildControl ( "toe_neutral"+ $suffix ) ( "-type null -place "+ $toeBase )`; + string $toeSuperSpace = `zooBuildControl ( "toe_auto_space"+ $suffix ) ( "-type null -place "+ $toeBase )`; + string $toeSpace = `zooBuildControl ( "toe_space"+ $suffix ) ( "-type null -place "+ $toeBase +"-orient 1 -joint 1 -scale 1" )`; + string $toeSubSpace = `zooBuildControl ( "toe_sdk"+ $suffix ) ( "-type null -place "+ $toeBase )`; + string $toeControl = `zooBuildControl ( "toe_ctrl"+ $suffix ) ( "-type sphere -place "+ $toeBase +" -scale "+ $scale +" -colour "+ $colour )`; + string $kneeSpace = `zooBuildControl ( "knee_ctrl"+ $suffix ) ( "-type null -place "+ $knee )`; + string $kneeControl = `zooBuildControl ( "knee_ctrl"+ $suffix ) ( "-type cone -place "+ $knee +" -scale "+ $scale +" -colour "+ $colour )`; + float $kneePos[] = `zooFindPolePosition ( "-start "+ $thigh +" -mid "+ $knee +" -end "+ $ankle )`; + + move -rpr -ws $kneePos[0] $kneePos[1] $kneePos[2] $kneeSpace; + move -rpr -ws $kneePos[0] $kneePos[1] $kneePos[2] $kneeControl; + parent $legControl $legSpace; + parent $kneeControl $kneeSpace; + parent $kneeSpace $legControl; + parent $toeAimer $legControl; + parent $toeNeutral $legControl; + parent $toeSpace $toeSuperSpace; + parent $toeSuperSpace $legControl; + parent $toeSubSpace $toeSpace; + parent $toeControl $toeSubSpace; + parent $anklePos $toeControl; + makeIdentity -a 1 -t 1 -r 1 -s 1 $kneeSpace $kneeControl; + delete `orientConstraint $ankle $toeSubSpace`; + delete `orientConstraint $ankle $toeControl`; + pointConstraint -mo $thigh $anklePos $kneeSpace; + orientConstraint -mo $legControl $toeBase; + + + //------ + //add convenience sliders to the leg control + //------ + string $squashAxis = zooCSTVectorAsName(`zooCSTUpVector $toeSubSpace {1.,0.,0.}`); + string $mult = `shadingNode -asUtility multiplyDivide`; + + setAttr ( $mult +".input2X" ) 9; + addAttr -ln "ankle" -at "double" -min -10 -max 10 -dv 0 $legControl; + addAttr -ln "autoAnkle" -at "double" -min 0 -max 1 -dv 1 $legControl; + setAttr -k 1 ( $legControl +".ankle" ); + setAttr -k 1 ( $legControl +".autoAnkle" ) 1; + connectAttr -f ( $legControl +".ankle" ) ( $mult +".input1X" ); + connectAttr -f ( $mult +".outputX" ) ( $toeSubSpace +".r"+ $squashAxis ); + orientConstraint -mo $toeControl $ankle; + + + //------ + //build the IK + //------ + string $ikHandle = zooGetElement_str(0,`ikHandle -sj $thigh -ee $ankle`); + + setAttr ( $ikHandle +".v" ) 0; + parent $ikHandle $toeControl; + poleVectorConstraint $kneeControl $ikHandle; + + + //------ + //build the auto ankle network + //------ + string $aimGrp = `group -em`; + string $lenGrp = `group -em`; + + parent $lenGrp $aimGrp; + parent $aimGrp $legControl; + delete `pointConstraint $toeBase $aimGrp`; + aimConstraint -aim 0 1 0 -u 0 0 1 -worldUpType objectrotation -worldUpObject $legControl $thigh $aimGrp; + pointConstraint $thigh $lenGrp; + + //string $autoMult = `shadingNode -asUtility multiplyDivide`; + float $toeToAnkle[] = `zooBetweenVector $toeBase $ankle`; + float $initialLength = `getAttr( $lenGrp +".ty" )`; + float $minLength = $initialLength/10; + float $maxLength = `zooCSTDistBetween $thigh $knee` + `zooCSTDistBetween $knee $ankle` + `zooCSTDistBetween $ankle $toeBase`; + float $maxAngle = (atan($toeToAnkle[2]/$toeToAnkle[1])/3.141592654)*180; + float $minAngle = 90-abs($maxAngle); + + $squashAxis = zooCSTVectorAsName(`zooCSTUpVector $toeSpace {1.,0.,0.}`); + setDrivenKeyframe -at "input1Y" -cd( $lenGrp +".ty" ) -dv $initialLength -v 0 $mult; + setDrivenKeyframe -at "input1Y" -cd( $lenGrp +".ty" ) -dv $minLength -v $minAngle $mult; + setDrivenKeyframe -at "input1Y" -cd( $lenGrp +".ty" ) -dv $maxLength -v $maxAngle $mult; + connectAttr -f ( $mult +".outputY" ) ( $toeSpace +".r"+ $squashAxis ); + connectAttr -f ( $legControl +".autoAnkle" ) ( $mult +".input2Y" ); + + + //------ + //aim the toe control super space at the thigh + //------ + string $reverse = `shadingNode -asUtility reverse`; + float $toeToThighVec[] = `zooBetweenVector $toeAimer $thigh`; + float $toeToKneeVec[] = `zooBetweenVector $toeAimer $kneeControl`; + float $toeAim[] = `zooAxisInDirection $toeAimer $toeToThighVec`; + float $toeUp[] = `zooAxisInDirection $toeAimer $toeToKneeVec`; + + aimConstraint -mo -aim $toeAim[0] $toeAim[1] $toeAim[2] -u $toeUp[0] $toeUp[1] $toeUp[2] -worldUpType object -worldUpObject $kneeControl $thigh $toeAimer; + string $orient = zooGetElement_str(0,`orientConstraint -mo $toeAimer $toeNeutral $toeSuperSpace`); + connectAttr -f ( $legControl +".autoAnkle" ) ( $reverse +".inputX" ); + connectAttr -f ( $legControl +".autoAnkle" ) ( $orient +".target[0].targetWeight" ); + connectAttr -f ( $reverse +".outputX" ) ( $orient +".target[1].targetWeight" ); + + + //------ + //build space switching expressions + //------ + string $legParents[] = { $worldControl, $rootControl }; + string $spaceNodes[] = {}; + + if( `size $parents` ) $legParents = `zooAddArray_str $legParents $parents`; + if( $spaceswitching ) $spaceNodes = `zooBuildSpaceSwitch $legControl $legSpace $legParents { "world","root" } "-mo"`; + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + zooSetPickwalkObj $legControl $kneeControl "-dir up -reciprocal 1"; + zooSetPickwalkObj $legControl $kneeControl "-dir down -reciprocal 1"; + } + + + //------ + //add the zooObjMenu commands to the object for easy switching to FK mode + //------ + int $cmd1Num = `zooObjMenuAddCmd $legControl`; + string $cmd1Str = "zooBrandTools;\nzooCSTPrimitives;\nzooLineOfAction;\nstring $prim = `zooGetPrimFromRegistered #`;\nstring $inputs[] = `zooCSTListRegistered input $prim`;\nzooLineOfAction_multi $inputs \"\";"; + + zooSetObjMenuCmdName $legControl "draw line of action" $cmd1Num; + zooSetObjMenuCmdStr $legControl $cmd1Str $cmd1Num; + + + //------ + //now cleanup the top level + //------ + parent $legSpace $worldControl; + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $controllers[] = { $legControl, $toeControl, $kneeControl }; + for( $obj in $controllers ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $controllers ) zooAttrState "-attrs v -k 0" $obj; + zooAttrState "-attrs t r s v -k 0 -l 1" $toeSpace; + zooAttrState "-attrs t r s v pv off rol twi -k 0 -l 1" $ikHandle; + + + //------ + //add the controls to the qss + //------ + for( $obj in $controllers ) sets -add $qss $obj; + + + //------ + //build the primitive record + //------ + string $primitive = `zooCSTCreatePrimRecord haunch $id $prefix`; + zooCSTRegisterInput $thigh $primitive; + zooCSTRegisterInput $knee $primitive; + zooCSTRegisterInput $ankle $primitive; + zooCSTRegisterInput $toeBase $primitive; + zooCSTPrimOutputs { $legSpace, $kneeSpace, $toeSpace, $toeSubSpace, $ikHandle, $aimGrp, $lenGrp } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "1" $primitive; + zooBrandObject leg $suffix $legControl; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the head primitive +//------ +global proc string[] zooCSTRebuildPrimHaunch( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $parity = "l"; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + string $temp[] = {}; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr parity`; if( `size $temp` ) $parity = $temp[0]; + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimHaunch $prefix $parity $inputs[0] $inputs[1] $inputs[2] $inputs[3] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a spline IK rig primitive +------ + +$prefix - the character prefix used to identify the character +$spineBase - this is where you want the spine to start - the base +$spineEnd - this is where you want the spine to terminate - the end +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - ie the parent of this primitive + +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHead.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHead.mel new file mode 100644 index 0000000..b2363dd --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimHead.mel @@ -0,0 +1,267 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimHead( string $prefix, string $head, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $rootFlag; + string $chestFlag; + string $headType = "cube"; + string $neck = ""; + string $neckType = "cylinder"; + string $colour = "blue 0.65"; + float $scale = 1; + int $orient = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + int $buildNeck = 1; + + $optionTemp = `zooGetFlagArguments $optionStr root`; if( `size $optionTemp` ) $rootFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr chest`; if( `size $optionTemp` ) $chestFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr neck`; if( `size $optionTemp` ) $neck = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr orient`; if( `size $optionTemp` ) $orient = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr headType`; if( `size $optionTemp` ) $headType = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr neckType`; if( `size $optionTemp` ) $neckType = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildneck`; if( `size $optionTemp` ) $buildNeck = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + if( !`objExists $neck` ) $neck = zooGetElement_str( 0,`listRelatives -parent -path $head` ); + if( !`objExists $neck` ) $buildNeck = 0; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + + + //------ + //discover the other parts of the rig already built + //------ + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $rootControl = zooGetElement_str( 0,`zooGetBrandedWith rootGimbal $prefix` ); + string $chestControl = zooGetElement_str( 0,`zooGetBrandedWith chest $prefix` ); + + if( `objExists $rootFlag` ) $rootControl = $rootFlag; + if( `objExists $chestFlag` ) $chestControl = $chestFlag; + + + //------ + //build all the control objects + //------ + string $constraints[] = {}; + string $headControlSpace = `zooBuildControl ( $prefix +"_head_space" ) ( "-type null -place "+ $head )`; + string $headGimbal = `zooBuildControl ( $prefix +"_head_gimbal_ctrl" ) ( "-type starCircle -place "+ $head +" -scale "+(3*$scale)+" -surface 0 -colour "+ $colour )`; + string $headControl = `zooBuildControl ( $prefix +"_head_ctrl" ) ( "-type "+ $headType +" -place "+ $head +" -placepivot %p -offset 0.5up -scale "+(1.5*$scale)+" -colour "+ $colour )`; + string $neckControlSpace = ""; + string $neckControl = ""; + + if( $orient ) delete `orientConstraint $head $headControlSpace`; //align the control space instead of using an oriented control so it doesn't show in the viewport + parent $headControlSpace $worldControl; + parent $headControl $headControlSpace; + parent $headGimbal $headControl; + makeIdentity -a 1 -t 1 -r 1 $headControl; + if( `objExists $rootControl` ) parent $headControlSpace $rootControl; + if( `objExists $chestControl` ) parent $headControlSpace $chestControl; + + if( $buildNeck ) { + //determine what axis to draw the neck using + string $axis = zooVectorAsAxis(`zooAxisInDirection $neck {1.,0.,0.}`); + $axis = `substitute "-" $axis "_"`; + + $neckControlSpace = `zooBuildControl ( $prefix +"_neck_space" ) ( "-type null -place "+ $neck )`; + $neckControl = `zooBuildControl ( $prefix +"_neck_ctrl" ) ( "-axis "+ $axis +" -type "+ $neckType +" -place "+ $neck +" -align %p -scale "+ $scale +" -colour "+ $colour )`; + string $shapes[] = `listRelatives -pa -s $neckControl`; + + select -cl; + for( $s in $shapes ) select -add ( $s +".cv[*]" ); + scale -r 2 1 1; + //if( $orient ) delete `orientConstraint $neck $neckControlSpace`; + parent $neckControlSpace $worldControl; + parent $neckControl $neckControlSpace; + makeIdentity -a 1 -t 1 -r 1 $neckControl; + parent $headControlSpace $neckControl; + if( `objExists $rootControl` ) parent $neckControlSpace $rootControl; + if( `objExists $chestControl` ) parent $neckControlSpace $chestControl; + } + + + //------ + //add right click menu to turn on the gimbal control + //------ + string $cmdName = "toggle gimbal control"; + int $cmd1Num = `zooObjMenuAddCmd $headControl`; + int $gimbalIdx = `zooAddConnect $headControl $headGimbal`; + string $cmd1Str = "string $shapes[] = `listRelatives -f -s %"+ $gimbalIdx +"`;\nint $vis = `getAttr ( $shapes[0] +\".v\" )`;\nfor( $s in $shapes ) setAttr ( $s +\".v\" ) (!$vis);"; + + zooSetObjMenuCmdName $headControl $cmdName $cmd1Num; + zooSetObjMenuCmdStr $headControl $cmd1Str $cmd1Num; + + + //------ + //create space constraints + //------ + string $headParents[] = { $rootControl, $chestControl, $neckControl, $worldControl }; + string $neckParents[] = { $rootControl, $chestControl, $worldControl }; + if( `size $parents` ) { $headParents = `zooAddArray_str $headParents $parents`; $neckParents = `zooAddArray_str $neckParents $parents`; } + string $spaceNodes[] = {}; + if( $spaceswitching ) $spaceNodes = `zooBuildSpaceSwitch $headControl $headControlSpace $headParents { "root", "chest", "neck", "world" } "-mo"`;; + if( $buildNeck && $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $neckControl $neckControlSpace $neckParents { "root", "chest", "world" } "-mo"`,$spaceNodes); + delete -icn ( $headControlSpace +".tx" ); + delete -icn ( $headControlSpace +".ty" ); + delete -icn ( $headControlSpace +".tz" ); + if( $buildNeck ) delete -icn ( $neckControlSpace +".tx" ); + if( $buildNeck ) delete -icn ( $neckControlSpace +".ty" ); + if( $buildNeck ) delete -icn ( $neckControlSpace +".tz" ); + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + if( $buildNeck ) { + zooSetPickwalkObj $headControl $neckControl "-dir up -reciprocal 1"; + zooSetPickwalkObj $neckControl $chestControl "-dir up -reciprocal 1"; + } + else zooSetPickwalkObj $headControl $chestControl "-dir up -reciprocal 1"; + } + + + //------ + //constrain the skeleton to the controls + //------ + zooAddArray_str $constraints `parentConstraint -mo $headGimbal $head`; + if( $buildNeck ) zooAddArray_str $constraints `parentConstraint -mo $neckControl $neck`; + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable, and set rotation orders + //------ + string $gimbalShapes[] = `listRelatives -f -s $headGimbal`; + setAttr ( $headControl +".ro" ) 3; + setAttr ( $headGimbal +".ro" ) 3; + for( $s in $gimbalShapes ) setAttr ( $s +".v" ) 0; + for( $a in {$headControl,$headGimbal}) { + zooAttrState "-attrs t s -k 0 -l 1" $a; + zooAttrState "-attrs v -k 0" $a; + } + if( $buildNeck ) { + setAttr ( $neckControl +".rotateOrder" ) 2; + zooAttrState "-attrs t s -k 0 -l 1" $neckControl; + zooAttrState "-attrs v -k 0" $neckControl; + } + + + //------ + //now brand all objects + //------ + zooBrandObject head $prefix $headControl; + zooBrandObject headGimbal $prefix $headGimbal; + if( $buildNeck ) zooBrandObject neck $prefix $neckControl; + + + //------ + //create a list of controls + //------ + string $controllers[] = { $headControl,$headGimbal }; + sets -add $qss $headControl $headGimbal; + if( $buildNeck ) sets -add $qss $neckControl; + if( $buildNeck ) $controllers[1] = $neckControl; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId head "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord head $id $prefix`; + zooCSTRegisterInput $head $primitive; + zooCSTPrimOutputs { $headControl, $headControlSpace } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooCSTPrimOutputs $constraints $primitive; + if( $buildNeck ) zooCSTPrimOutputs { $neckControl, $neckControlSpace } $primitive; + zooBrandObject options ( $optionStr +" -buildNeck "+ $buildNeck ) $primitive; + zooBrandObject version "5" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the head primitive +//------ +global proc string[] zooCSTRebuildPrimHead( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimHead $prefix $inputs[0] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a head rig +------- +it also rigs the neck if it present - ie the head joint is parented to a neck joint + +$prefix - the character prefix used to identify the character +$spineBase - this is where you want the spine to start - the base +$spineEnd - this is where you want the spine to terminate - the end +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - used as a dynamic parent +-headType [string] this flag lets you change the representation of the head control - ie circle, cylinder, cone etc... default is cube +-neckType [string] this flag lets you change the representation of the neck control - ie circle, cube, cone etc... default is cylinder +-chest [string] use this flag to explicitly set which object to use as the chest - the primitive is parented to this object +-buildneck [int] is the head joint parented to a neck joint? If not, use -buildneck 0. default is 1 +-parents [string] use this to specify an additional list of parents for the dynamic parenting on all spine controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimIKFKSpine.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimIKFKSpine.mel new file mode 100644 index 0000000..190dabb --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimIKFKSpine.mel @@ -0,0 +1,273 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimIKFKSpine( string $prefix, string $root, string $spineBase, string $spineEnd, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $hips = ""; + string $type = "cube"; + string $colour = "lightblue 0.65"; + float $scale = 1; + int $buildroot = 1; + int $buildhips = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + + $optionTemp = `zooGetFlagArguments $optionStr buildroot`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildhips`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr type`; if( `size $optionTemp` ) $type = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $controls[] = {}; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //create the root and hips controls + //------ + string $roots[] = `zooCSTBuildRoot $prefix $root ( "-hips "+ $hips +" -buildhips "+ $buildhips +" -scale "+ $scale +" -colour "+ $colour )`; + string $rootControl = $roots[0]; + string $hipsControl = $roots[1]; + string $rootSpace = $roots[2]; + string $rootGimbal = $roots[3]; + + parent $rootSpace $worldControl; + parentConstraint -mo $rootControl $root; + if( `objExists $hipsControl` ) parentConstraint -mo $hipsControl $hips; + + + //------ + //find the names of relevant joints + //------ + string $joints[] = { $spineEnd }; + $joints = zooAddArray_str($joints, `zooGetInBTweenJoints $spineBase $spineEnd` ); + $joints = `zooAddArray_str $joints { $spineBase }`; + $joints = `zooReverseArray_str $joints`; + + + //------ + //build the sub primitive + //------ + string $subPrim[] = `zooCSTBuildMPath $prefix $joints ""`; + + + //------ + //build the controls + //------ + string $chestSpace = `zooBuildControl ( $prefix + "_chest_space" ) ( "-type null -place "+ $subPrim[2] )`; + string $chestControl = `zooBuildControl ( $prefix + "_chest_ctrl" ) ( "-type "+ $type +" -place "+ $subPrim[2] +" -scale "+ $scale +" -colour "+ $colour )`; + string $midSpace = `zooBuildControl ( $prefix + "_spine_mid_space" ) ( "-type null -place "+ $subPrim[1] )`; + string $midControl = `zooBuildControl ( $prefix + "_spine_mid_ctrl" ) ( "-type "+ $type +" -place "+ $subPrim[1] +" -scale "+ $scale +" -colour "+ $colour )`; + string $baseControl = `zooBuildControl ( $prefix + "_base_ctrl" ) ( "-type "+ $type +" -place "+ $subPrim[0] +" -scale "+ $scale +" -colour "+ $colour )`; + + parent $baseControl $rootGimbal; + parent $midControl $midSpace; + parent $midSpace $rootGimbal; + parent $chestControl $chestSpace; + parent $chestSpace $midControl; + parentConstraint -mo $baseControl $subPrim[0]; + parentConstraint -mo $midControl $subPrim[1]; + parentConstraint -mo $chestControl $subPrim[2]; + + addAttr -at "float" -ln affect -min 0 -max 5 -dv 1 $rootControl; + addAttr -at "float" -ln affect -min 0 -max 5 -dv 1 $midControl; + addAttr -at "float" -ln affect -min 0 -max 5 -dv 1 $chestControl; + + setAttr -k 1 ( $rootControl +".affect" ); + setAttr -k 1 ( $midControl +".affect" ); + setAttr -k 1 ( $chestControl +".affect" ); + setAttr ( $baseControl +".v" ) 0; + connectAttr -f ( $rootControl +".affect" ) ( $subPrim[0] +".scaleX" ); + connectAttr -f ( $rootControl +".affect" ) ( $subPrim[0] +".scaleY" ); + connectAttr -f ( $rootControl +".affect" ) ( $subPrim[0] +".scaleZ" ); + connectAttr -f ( $midControl +".affect" ) ( $subPrim[1] +".scaleX" ); + connectAttr -f ( $midControl +".affect" ) ( $subPrim[1] +".scaleY" ); + connectAttr -f ( $midControl +".affect" ) ( $subPrim[1] +".scaleZ" ); + connectAttr -f ( $chestControl +".affect" ) ( $subPrim[2] +".scaleX" ); + connectAttr -f ( $chestControl +".affect" ) ( $subPrim[2] +".scaleY" ); + connectAttr -f ( $chestControl +".affect" ) ( $subPrim[2] +".scaleZ" ); + + + //------ + //add right click menu to turn on extra spine base control + //------ + int $spineConnects[] = {}; + int $cmdANum = `zooObjMenuAddCmd $rootControl`; + int $cmdBNum = `zooObjMenuAddCmd $rootControl`; + int $baseConnectIdx = `zooAddConnect $rootControl $baseControl`; + string $cmdAStr = "int $vis = !`getAttr %"+ $baseConnectIdx +".v`;\nsetAttr %"+ $baseConnectIdx +".v $vis;"; + + for( $n=0; $n<`size $joints`; $n++ ) $spineConnects[$n] = `zooAddConnect $rootControl $joints[$n]`; + string $cmdBStr = "zooLineOfAction;\nzooLineOfAction_multi { \"%"+ `zooArrayToStr_int $spineConnects "\", \"%"` +"\" } \"\";"; + zooSetObjMenuCmdName $rootControl "toggle base rotation control" $cmdANum; + zooSetObjMenuCmdName $rootControl "draw line of action" $cmdBNum; + zooSetObjMenuCmdStr $rootControl $cmdAStr $cmdANum; + zooSetObjMenuCmdStr $rootControl $cmdBStr $cmdBNum; + + + //------ + //build space switching expressions + //------ + string $chestParents[] = { $midControl, $rootGimbal, $worldControl }; + string $midParents[] = { $rootGimbal, $worldControl }; + string $spaceNodes[] = {}; + + if( `size $parents` ) $chestParents = `zooAddArray_str $chestParents $parents`; + if( `size $parents` ) $midParents = `zooAddArray_str $midParents $parents`; + if( $spaceswitching ) { + $spaceNodes = `zooBuildSpaceSwitch $chestControl $chestSpace $chestParents { "parent", "root", "world" } "-mo"`; + $spaceNodes = `zooBuildSpaceSwitch $midControl $midSpace $midParents { "parent", "world" } "-mo"`; + } + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + zooSetPickwalkObj $rootControl $worldControl "-dir up -reciprocal 1"; + zooSetPickwalkObj $rootControl $midControl "-dir down -reciprocal 1"; + zooSetPickwalkObj $baseControl $midControl "-dir down -reciprocal 0"; + zooSetPickwalkObj $baseControl $rootControl "-dir up -reciprocal 0"; + zooSetPickwalkObj $midControl $chestControl "-dir down -reciprocal 1"; + } + + + //------ + //now cleanup the top level + //------ + // deform1 deform2 deform3 basecurve curve + parent $subPrim[0] $subPrim[1] $subPrim[2] $subPrim[3] $subPrim[4] $partsControl; + for( $n=6; $n<`size $subPrim`; $n++ ) { + if( !`objExists $subPrim[$n]` ) continue; + if( `nodeType $subPrim[$n]` != "transform" ) break; + parent $subPrim[$n] $partsControl; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $controllers[] = { $rootControl, $baseControl, $midControl, $chestControl }; + if( $buildhips ) $controllers[( `size $controllers` )] = $hipsControl; + for( $obj in $controllers ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $controllers ) zooAttrState "-attrs v -k 0" $obj; + zooAttrState "-attrs t -k 0 -l 1" $baseControl; + + + //------ + //tidy up + //------ + for( $n=0; $n<5; $n++ ) setAttr ( $subPrim[$n] +".v" ) 0; + for( $n=6; $n<`size $subPrim`; $n++ ) zooAttrState "-attrs t r s v -k 0 -l 1" $subPrim[$n]; + + + //------ + //add the controls to the qss + //------ + for( $obj in $controllers ) sets -add $qss $obj; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId ikSpine "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord ikSpine $id $prefix`; + zooCSTRegisterInput $spineBase $primitive; + zooCSTRegisterInput $spineEnd $primitive; + zooCSTPrimOutputs { $chestSpace, $midSpace } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooCSTPrimOutputs $subPrim $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "5" $primitive; + zooBrandObject chest $prefix $chestControl; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[2]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the head primitive +//------ +global proc string[] zooCSTRebuildPrimIKSpine( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimIKSpine $prefix $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a spline IK rig primitive +------ + +$prefix - the character prefix used to identify the character +$spineBase - this is where you want the spine to start - the base +$spineEnd - this is where you want the spine to terminate - the end +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - ie the parent of this primitive +-type [string] this flag lets you change the representation of the spine controls - ie circle, cylinder, cone etc... default is cube +-axis [string] which axis to apply the stretch to (usually the axis pointing along the length of the joint) +-stretch [int] turn this flag off if you don't want the spline control to be stretchy +-orient [int] do you want the chest control oriented to the chest joint ( $spineEnd )? +-parents [string] use this to specify an additional list of parents for the dynamic parenting on all spine controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimIKSpine.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimIKSpine.mel new file mode 100644 index 0000000..fab44c9 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimIKSpine.mel @@ -0,0 +1,267 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimIKSpine( string $prefix, string $root, string $spineBase, string $spineEnd, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $hips = ""; + string $type = "cube"; + string $colour = "lightblue 0.65"; + float $scale = 1; + int $buildroot = 1; + int $buildhips = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + + $optionTemp = `zooGetFlagArguments $optionStr buildroot`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildhips`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr type`; if( `size $optionTemp` ) $type = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $controls[] = {}; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //create the root and hips controls + //------ + string $roots[] = `zooCSTBuildRoot $prefix $root ( "-hips "+ $hips +" -buildhips "+ $buildhips +" -scale "+ $scale +" -colour "+ $colour )`; + string $rootControl = $roots[0]; + string $hipsControl = $roots[1]; + string $rootSpace = $roots[2]; + string $rootGimbal = $roots[3]; + + parent $rootSpace $worldControl; + parentConstraint -mo $rootControl $root; + if( `objExists $hipsControl` ) parentConstraint -mo $hipsControl $hips; + + + //------ + //find the names of relevant joints + //------ + string $joints[] = { $spineEnd }; + $joints = zooAddArray_str($joints, `zooGetInBTweenJoints $spineBase $spineEnd` ); + $joints = `zooAddArray_str $joints { $spineBase }`; + $joints = `zooReverseArray_str $joints`; + + + //------ + //build the sub primitive + //------ + string $subPrim[] = `zooCSTBuildMPath $prefix $joints ""`; + + + //------ + //build the controls + //------ + string $chestSpace = `zooBuildControl ( $prefix + "_chest_space" ) ( "-type null -place "+ $subPrim[2] )`; + string $chestControl = `zooBuildControl ( $prefix + "_chest_ctrl" ) ( "-type "+ $type +" -place "+ $subPrim[2] +" -scale "+ $scale +" -colour "+ $colour )`; + string $midSpace = `zooBuildControl ( $prefix + "_spine_mid_space" ) ( "-type null -place "+ $subPrim[1] )`; + string $midControl = `zooBuildControl ( $prefix + "_spine_mid_ctrl" ) ( "-type "+ $type +" -place "+ $subPrim[1] +" -scale "+ $scale +" -colour "+ $colour )`; + string $baseControl = `zooBuildControl ( $prefix + "_base_ctrl" ) ( "-type "+ $type +" -place "+ $subPrim[0] +" -scale "+ $scale +" -colour "+ $colour )`; + + parent $baseControl $rootControl; + parent $chestControl $chestSpace; + parent $midControl $midSpace; + parentConstraint -mo $baseControl $subPrim[0]; + parentConstraint -mo $midControl $subPrim[1]; + parentConstraint -mo $chestControl $subPrim[2]; + parentConstraint -mo $chestControl $rootControl $midSpace; + + addAttr -at "float" -ln affect -min 0 -max 5 -dv 1 $rootControl; + addAttr -at "float" -ln affect -min 0 -max 5 -dv 1 $midControl; + addAttr -at "float" -ln affect -min 0 -max 5 -dv 1 $chestControl; + + setAttr -k 1 ( $rootControl +".affect" ); + setAttr -k 1 ( $midControl +".affect" ); + setAttr -k 1 ( $chestControl +".affect" ); + setAttr ( $baseControl +".v" ) 0; + connectAttr -f ( $rootControl +".affect" ) ( $subPrim[0] +".scaleX" ); + connectAttr -f ( $rootControl +".affect" ) ( $subPrim[0] +".scaleY" ); + connectAttr -f ( $rootControl +".affect" ) ( $subPrim[0] +".scaleZ" ); + connectAttr -f ( $midControl +".affect" ) ( $subPrim[1] +".scaleX" ); + connectAttr -f ( $midControl +".affect" ) ( $subPrim[1] +".scaleY" ); + connectAttr -f ( $midControl +".affect" ) ( $subPrim[1] +".scaleZ" ); + connectAttr -f ( $chestControl +".affect" ) ( $subPrim[2] +".scaleX" ); + connectAttr -f ( $chestControl +".affect" ) ( $subPrim[2] +".scaleY" ); + connectAttr -f ( $chestControl +".affect" ) ( $subPrim[2] +".scaleZ" ); + + + //------ + //add right click menu to turn on extra spine base control + //------ + int $spineConnects[] = {}; + int $cmdANum = `zooObjMenuAddCmd $rootControl`; + int $cmdBNum = `zooObjMenuAddCmd $rootControl`; + int $baseConnectIdx = `zooAddConnect $rootControl $baseControl`; + string $cmdAStr = "int $vis = !`getAttr %"+ $baseConnectIdx +".v`;\nsetAttr %"+ $baseConnectIdx +".v $vis;"; + + for( $n=0; $n<`size $joints`; $n++ ) $spineConnects[$n] = `zooAddConnect $rootControl $joints[$n]`; + string $cmdBStr = "zooLineOfAction;\nzooLineOfAction_multi { \"%"+ `zooArrayToStr_int $spineConnects "\", \"%"` +"\" } \"\";"; + zooSetObjMenuCmdName $rootControl "toggle base rotation control" $cmdANum; + zooSetObjMenuCmdName $rootControl "draw line of action" $cmdBNum; + zooSetObjMenuCmdStr $rootControl $cmdAStr $cmdANum; + zooSetObjMenuCmdStr $rootControl $cmdBStr $cmdBNum; + + + //------ + //build space switching expressions + //------ + string $chestParents[] = { $rootControl, $worldControl }; + string $spaceNodes[] = {}; + + if( `size $parents` ) $chestParents = `zooAddArray_str $chestParents $parents`; + if( $spaceswitching ) $spaceNodes = `zooBuildSpaceSwitch $chestControl $chestSpace $chestParents { "root", "world" } "-mo"`; + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + zooSetPickwalkObj $rootControl $worldControl "-dir up -reciprocal 1"; + zooSetPickwalkObj $rootControl $midControl "-dir down -reciprocal 1"; + zooSetPickwalkObj $baseControl $midControl "-dir down -reciprocal 0"; + zooSetPickwalkObj $baseControl $rootControl "-dir up -reciprocal 0"; + zooSetPickwalkObj $midControl $chestControl "-dir down -reciprocal 1"; + } + + + //------ + //now cleanup the top level + //------ + parent $chestSpace $midSpace $partsControl; + parent $subPrim[0] $subPrim[1] $subPrim[2] $subPrim[3] $subPrim[4] $partsControl; + for( $n=6; $n<`size $subPrim`; $n++ ) { + if( !`objExists $subPrim[$n]` ) continue; + if( `nodeType $subPrim[$n]` == "motionPath" ) break; + parent $subPrim[$n] $partsControl; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $controllers[] = { $rootControl, $baseControl, $midControl, $chestControl }; + if( $buildhips ) $controllers[( `size $controllers` )] = $hipsControl; + for( $obj in $controllers ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $controllers ) zooAttrState "-attrs v -k 0" $obj; + zooAttrState "-attrs t -k 0 -l 1" $baseControl; + + + //------ + //tidy up + //------ + for( $n=0; $n<5; $n++ ) setAttr ( $subPrim[$n] +".v" ) 0; + for( $n=6; $n<`size $subPrim`; $n++ ) zooAttrState "-attrs t r s v -k 0 -l 1" $subPrim[$n]; + + + //------ + //add the controls to the qss + //------ + for( $obj in $controllers ) sets -add $qss $obj; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId ikSpine "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord ikSpine $id $prefix`; + zooCSTRegisterInput $spineBase $primitive; + zooCSTRegisterInput $spineEnd $primitive; + zooCSTPrimOutputs { $chestSpace, $midSpace } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooCSTPrimOutputs $subPrim $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "5" $primitive; + zooBrandObject chest $prefix $chestControl; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[2]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the head primitive +//------ +global proc string[] zooCSTRebuildPrimIKSpine( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimIKSpine $prefix $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a spline IK rig primitive +------ + +$prefix - the character prefix used to identify the character +$spineBase - this is where you want the spine to start - the base +$spineEnd - this is where you want the spine to terminate - the end +$optionStr - standard option string + +option flags +------- +-root [string] use this flag to explicitly set which object to use as the root - ie the parent of this primitive +-type [string] this flag lets you change the representation of the spine controls - ie circle, cylinder, cone etc... default is cube +-axis [string] which axis to apply the stretch to (usually the axis pointing along the length of the joint) +-stretch [int] turn this flag off if you don't want the spline control to be stretchy +-orient [int] do you want the chest control oriented to the chest joint ( $spineEnd )? +-parents [string] use this to specify an additional list of parents for the dynamic parenting on all spine controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimLeg.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimLeg.mel new file mode 100644 index 0000000..3e19a39 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimLeg.mel @@ -0,0 +1,406 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimLeg( string $prefix, string $parity, string $thigh, string $knee, string $ankle, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $rootFlag = ""; + string $hipsFlag = ""; + string $ikType = "cube"; + string $colour = $parity=="r"? "red 0.65": "green 0.65"; + float $scale = 1; + int $spaceswitching = 1; + int $pickwalking = 1; + int $stretch = 0; + int $kneeMode = 0; + + $optionTemp = `zooGetFlagArguments $optionStr root`; if( `size $optionTemp` ) $rootFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr ikType`; if( `size $optionTemp` ) $ikType = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) $hipsFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr stretch`; if( `size $optionTemp` ) $stretch = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr kneeMode`; if( `size $optionTemp` ) $kneeMode = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $suffix = ( $parity == "r" )?"_R":"_L"; + string $id = `zooCSTGetPrimId leg $suffix $prefix`; + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $rootControl = zooGetElement_str( 0,`zooGetBrandedWith rootGimbal $prefix` ); + string $hipsControl = zooGetElement_str( 0,`zooGetBrandedWith hips $prefix` ); + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + + if( `objExists $rootFlag` ) $rootControl = $rootFlag; + if( `objExists $hipsFlag` ) $hipsControl = $hipsFlag; + string $controls[] = `zooCSTBuildIKFK $prefix $parity $thigh $knee $ankle ( "-twistUpObj "+ $hipsControl +" -id "+ $id +" "+ $optionStr )`; + string $primitive = `zooCSTCreatePrimRecord leg $id $prefix`; + cycleCheck -e 0; //turn this off because when the script executes, it gives an annoying warning about a cycle that only exists for the duration of the script + + + //------ + //rename the objects created by the ikfk proc + //------ + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limb leg $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limbUpper thigh $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limbMiddle knee $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace limbEnd ankle $controls[$n]`; + for( $n=0; $n<`size $controls`; $n++ ) $controls[$n] = `zooRenamerFunctions replace pole knee $controls[$n]`; + $controls[0] = `rename $controls[0] ( $prefix +"_leg_ik"+ $suffix )`; + + + //------ + //create variables for each control used + //------ + string $legIK = $controls[0]; + string $ikLegSpace = $controls[6]; + string $fkLegSpace = $controls[7]; + string $driverThigh = $controls[1]; + string $driverKnee = $controls[2]; + string $driverAnkle = $controls[3]; + string $ankleOrient = $controls[5]; + string $kneeControl = $controls[4]; + string $twistControl = $controls[14]; + string $legIKOrient = $controls[9]; + string $kneeControlSpace = $controls[11];//zooGetElement_str(0,`listRelatives -p $kneeControl`); + string $toe = zooGetElement_str( 0,`listRelatives -c -pa -type joint $ankle` ); + string $toeTip = zooGetElement_str( 0,`listRelatives -c -pa -type joint $toe` ); + + + //------ + //build the objects to control the foot + //------ + string $legControlSpace = `zooBuildControl ( $prefix +"_leg_space"+ $suffix ) ( "-type null -place "+ $ankle )`; + string $legControl = `zooBuildControl ( $prefix +"_leg_ctrl"+ $suffix ) ( "-type "+ $ikType +" -place "+ $ankle +" -scale "+ $scale +" -colour "+ $colour )`; + string $toeRoll; + string $heelRoll = `zooBuildControl ( $prefix +"_heel_roll_piv"+ $suffix ) ( "-type null -place "+ $ankle +" -scale "+ $scale +" -offset -0.5fwd" )`; + string $footControlSpace = `zooBuildControl ( $prefix +"_foot_control_space"+ $suffix ) ( "-type null -place "+ $ankle )`; + string $footRollControl = `zooBuildControl ( $prefix +"_leg_roll_piv"+ $suffix ) ( "-type null -place "+ $toe )`; + string $toeOrient = `zooBuildControl ( $prefix +"_leg_toe_orient_piv"+ $suffix ) ( "-type null -place "+ $toe )`; + string $footBankL = `zooBuildControl ( $prefix +"_leg_bank_in_piv"+ $suffix ) ( "-type null -place "+ $toe +" -scale "+ $scale +" -offset "+($parity=="r"?1:-1)+"side" )`; + string $footBankR = `zooBuildControl ( $prefix +"_leg_bank_out_piv"+ $suffix ) ( "-type null -place "+ $toe +" -scale "+ $scale +" -offset "+($parity=="r"?-1:1)+"side" )`; + string $constraints[] = {}; //holds all constraints created by the script + + if( `objExists $toeTip` ) $toeRoll = `zooBuildControl ( $prefix +"_leg_toe_roll_piv"+ $suffix ) ( "-type null -place "+ $toeTip )`; + else $toeRoll = `zooBuildControl ( $prefix +"_leg_toe_roll_piv"+ $suffix ) ( "-type null -place "+ $toe +" -scale "+ $scale +" -offset 1fwd" )`; + select $heelRoll; //stupid move command doesn't support object naming when specifying a single axis move, so we must selec the object first + move -rpr -y 0; + + + //------ + //parent the leg pivots together + //------ + setAttr ( $legIK +".stickiness " ) 1; + setAttr ( $legIK +".snapEnable " ) 0; + if( `objExists $rootControl` ) parent $kneeControlSpace $rootControl; + parent $heelRoll $footControlSpace; + parent $toeRoll $heelRoll; + parent $footBankL $toeRoll; + parent $footBankR $footBankL; + parent $footRollControl $footBankR; + parent $toeOrient $footBankR; + makeIdentity -apply 1 -t 1 -r 1 $heelRoll; + + + //------ + //re-parent the iklegSpace - so that its above the legControl, not the ikHandle + //------ + parent $legIKOrient $footRollControl; + parent $footControlSpace $legControl; + zooAddArray_str $constraints `orientConstraint -mo $toeOrient $toe`; + + delete `listConnections -d 0 ( $ankle +".rx" )`; + parent $legControlSpace $worldControl; + parent $legControl $legControlSpace; + makeIdentity -apply 1 -t 1 -r 1 $legControl; + orientConstraint -mo $legIK $ankle; + + + //------ + //add attributes to the leg control, to control the pivots + //------ + addAttr -k 1 -ln fkBlend -at double -min 0 -max 1 $legControl; + addAttr -k 1 -ln rollBall -at double -min 0 -max 10 $legControl; + addAttr -k 1 -ln rollToe -at double -min -10 -max 10 $legControl; + addAttr -k 1 -ln twistFoot -at double -min -10 -max 10 $legControl; + addAttr -k 1 -ln toe -at double -min -10 -max 10 $legControl; + addAttr -k 1 -ln bank -at double -min -10 -max 10 $legControl; + + if( `objExists ( $legIK +".switchUp" )`) addAttr -k 1 -ln switchUp -at bool $legControl; + if( `objExists ( $legIK +".switchUp" )`) connectAttr -f ( $legControl +".switchUp" ) ( $legIK +".switchUp" ); + + string $reverseNode = `shadingNode -asUtility reverse`; + connectAttr -f ( $legControl +".fkBlend" ) ( $reverseNode +".inputX" ); + connectAttr -f ( $reverseNode +".outputX" ) ( $legIK +".ikBlend" ); + + + //------ + //set up the parent constraint for the reverse foot setup - so that it blends to the fk control when its enabled + //------ + string $footControlConstraint = zooGetElement_str(0,`parentConstraint -st x -st y -st z -mo $legControl $driverAnkle $footControlSpace`); + string $constraintAttrs[] = `listAttr -ud $footControlConstraint`; + string $weightReverse = `shadingNode -asUtility reverse`; + connectAttr -f ( $legControl +".fkBlend" ) ( $footControlConstraint +"."+ $constraintAttrs[1] ); + connectAttr -f ( $legControl +".fkBlend" ) ( $weightReverse +".inputX" ); + connectAttr -f ( $weightReverse +".outputX" ) ( $footControlConstraint +"."+ $constraintAttrs[0] ); + setAttr ( $footControlConstraint +".interpType" ) 2; + + + //------ + //build the SDK's to control the pivots + //because these objects are built by this script, we know which axes to drive, without using zooCSTUpVector + //------ + string $rollBallAxis = `zooCSTUpVectorAsName $footRollControl {1.,0.,0.}`; + setDrivenKeyframe -cd ( $legControl +".rollBall" ) -dv 0 -v 0 ( $footRollControl +".r"+ $rollBallAxis); + setDrivenKeyframe -cd ( $legControl +".rollBall" ) -dv 10 -v 90 ( $footRollControl +".r"+ $rollBallAxis ); + setDrivenKeyframe -cd ( $legControl +".rollBall" ) -dv -10 -v -90 ( $footRollControl +".r"+ $rollBallAxis ); + + string $toeRollAxis = `zooCSTUpVectorAsName $toeRoll {1.,0.,0.}`; + string $toeTwistAxis = `zooCSTUpVectorAsName $toeRoll (zooCSTGetDir("up"))`; + setDrivenKeyframe -cd ( $legControl +".rollToe" ) -dv 0 -v 0 ( $toeRoll +".r"+ $toeRollAxis ); + setDrivenKeyframe -cd ( $legControl +".rollToe" ) -dv 10 -v 90 ( $toeRoll +".r"+ $toeRollAxis ); + setDrivenKeyframe -cd ( $legControl +".rollToe" ) -dv 0 -v 0 ( $heelRoll +".r"+ $toeRollAxis ); + setDrivenKeyframe -cd ( $legControl +".rollToe" ) -dv -10 -v -90 ( $heelRoll +".r"+ $toeRollAxis ); + setDrivenKeyframe -cd ( $legControl +".twistFoot" ) -dv -10 -v -90 ( $toeRoll +".r"+ $toeTwistAxis ); + setDrivenKeyframe -cd ( $legControl +".twistFoot" ) -dv 10 -v 90 ( $toeRoll +".r"+ $toeTwistAxis ); + + string $toeAxis = `zooCSTUpVectorAsName $toeOrient {1.,0.,0.}`; + setDrivenKeyframe -cd ( $legControl +".toe" ) -dv -10 -v 90 ( $toeOrient +".r"+ $toeAxis ); + setDrivenKeyframe -cd ( $legControl +".toe" ) -dv 10 -v -90 ( $toeOrient +".r"+ $toeAxis ); + + float $min = ($parity=="r")? 90: -90; + float $max = ($parity=="r")? -90: 90; + string $bankAxisL = `zooCSTUpVectorAsName $footBankL (zooCSTGetDir("fwd"))`; + string $bankAxisR = `zooCSTUpVectorAsName $footBankR (zooCSTGetDir("fwd"))`; + setDrivenKeyframe -cd ( $legControl +".bank" ) -dv 0 -v 0 ( $footBankL +".r"+ $bankAxisL ); + setDrivenKeyframe -cd ( $legControl +".bank" ) -dv 10 -v $max ( $footBankL +".r"+ $bankAxisL ); + setDrivenKeyframe -cd ( $legControl +".bank" ) -dv 0 -v 0 ( $footBankR +".r"+ $bankAxisR ); + setDrivenKeyframe -cd ( $legControl +".bank" ) -dv -10 -v $min ( $footBankR +".r"+ $bankAxisR ); + + + //------ + //build space switching expressions + //------ + string $spaceNodes[] = {}; + string $legControlParents[] = { $worldControl, $rootControl, $hipsControl }; + + if( `objExists $hipsControl` ) parent $fkLegSpace $hipsControl; + if( `size $parents` ) zooAddArray_str $legControlParents $parents; + if( $spaceswitching ) zooAddArray_str $spaceNodes `zooBuildSpaceSwitch $legControl $legControlSpace $legControlParents { "world", "root", "hips" } "-mo"`; + if( $spaceswitching ) zooAddArray_str $spaceNodes `zooBuildSpaceSwitch $driverThigh $fkLegSpace { $hipsControl, $rootControl, $worldControl } { "hips", "root", "world" } "-mo"`; + + delete -icn ( $fkLegSpace +".tx" ); + delete -icn ( $fkLegSpace +".ty" ); + delete -icn ( $fkLegSpace +".tz" ); + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + string $parityName = "left"; + if( $parity == "r" ) $parityName = "right"; + zooSetPickwalkObj $driverThigh $rootControl "-dir up -reciprocal 0"; + zooSetPickwalkObj $driverThigh $driverKnee "-dir down -reciprocal 1"; + zooSetPickwalkObj $driverKnee $driverAnkle "-dir down -reciprocal 1"; + zooSetPickwalkObj $driverAnkle $legControl "-dir left -reciprocal 1"; + zooSetPickwalkObj $driverAnkle $legControl "-dir right -reciprocal 1"; + zooSetPickwalkObj $legControl $kneeControl "-dir up -reciprocal 1"; + zooSetPickwalkObj $legControl $kneeControl "-dir down -reciprocal 1"; + zooSetPickwalkObj $rootControl $legControl ( "-dir "+ $parityName+ " -reciprocal 0" ); + } + + + //------ + //add the zooObjMenu commands to the object for easy switching to FK mode + //------ + int $FKcmdNum = `zooObjMenuAddCmd $legControl`; + int $IKcmdNum = `zooObjMenuAddCmd $legControl`; + int $cmdANum = `zooObjMenuAddCmd $legControl`; + string $FKcmdStr = "zooFlags;\nzooAlign \"-src # -tgt %1\";\nsetAttr #.fkBlend 1;"; + string $IKcmdStr = "zooFlags;\nzooAlign \"\";\nzooAlignIK \"-control # -ikHandle %1 -pole %2 -offCmd setAttr #.fkBlend 0\";"; + string $cmdAStr = "zooBrandTools;\nzooCSTPrimitives;\nzooLineOfAction;\nstring $prim = `zooGetPrimFromRegistered #`;\nstring $inputs[] = `zooCSTListRegistered input $prim`;\nzooLineOfAction_multi $inputs \"\";"; + + zooAddConnect $legControl $legIK; + zooAddConnect $legControl $kneeControl; + zooSetObjMenuCmdName $legControl "switch to FK" $FKcmdNum; + zooSetObjMenuCmdName $legControl "switch to FK" $FKcmdNum; + zooSetObjMenuCmdName $legControl "draw line of action" $cmdANum; + zooSetObjMenuCmdStr $legControl $FKcmdStr $FKcmdNum; + zooSetObjMenuCmdStr $legControl $IKcmdStr $IKcmdNum; + zooSetObjMenuCmdStr $legControl $cmdAStr $cmdANum; + + + //------ + //rig the knee control so that its always between the root and the foot + //------ + if( $kneeMode ) { + string $kneeTwist = `zooBuildControl ( $prefix +"_knee_twist_space"+ $suffix ) ( "-type null -place "+ $ankle +" -scale 1" )`; + parent $kneeTwist $legControl; + parent $kneeControl $kneeTwist; + zooAttrState "-attrs r -k 0 -l 1" $kneeControl; + addAttr -k 1 -ln twist -at double -min -90 -max 90 -dv 0 $legControl; + connectAttr -f ( $legControl +".twist" ) ( $kneeTwist +".ry" ); + } + + else { + string $kneeSpace = `zooBuildControl ( $prefix +"_knee_space"+ $suffix ) ( "-type null -place "+ $ankle +" -scale 1" )`; + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $kneeControl $kneeControlSpace { $worldControl, $rootControl, $hipsControl } { "world", "root", "hips" } "-mo"`,$spaceNodes); + zooAddArray_str $constraints `pointConstraint -mo $legIK $kneeSpace`; + if( `objExists $rootControl` ) zooAddArray_str $constraints `pointConstraint -mo $rootControl $kneeSpace`; + connectAttr -f ( $legControl +".r"+ `upAxis -q -axis` ) ( $kneeSpace +".r"+ `upAxis -q -axis` ); + connectAttr -f ( $legControl +".parent" ) ( $kneeControl +".parent" ); + + zooAttrState "-attrs r -k 1 -l 0" $kneeControl; + parent $kneeControl $kneeSpace; + parent $kneeSpace $kneeControlSpace; + makeIdentity -apply 1 -t 1 -r 1 $kneeControl; + zooAttrState "-attrs r parent -k 0 -l 1" $kneeControl; + } + + + //------ + //make the limb stretchy? + //------ + string $stretchNodes[] = {}; + if( $stretch ) { + $stretchNodes = `zooCSTMakeStretchy $legControl $legIK ( $optionStr +" -startObj "+ $thigh +" -endObj "+ $legControl +" -register 1 -primitive "+ $primitive +" -axis "+ zooCSTJointDirection($ankle) +" -prefix "+ $prefix +" -parts "+ $partsControl )`; + renameAttr ( $legControl +".elbowPos" ) kneePos; + } + + + //------ + //hide attribs, objects and cleanup + //------ + setAttr ( $legIK +".v" ) 0; + delete `listRelatives -s -pa $legIK`; //delete legIK shape nodes + zooAttrState "-attrs s kneePos -k 0 -l 1" $legControl; + zooAttrState "-attrs v -k 0" $legControl; + string $toLock[] = {$legIK,$legControlSpace,$toeRoll,$heelRoll,$footControlSpace,$footRollControl,$toeOrient,$footBankL,$footBankR}; + for( $a in $toLock ) zooAttrState "-attrs t r s -l 1" $a; + + + //------ + //now brand all objects + //------ + string $allSetupObjects[] = { $legControl, $kneeControl, $driverThigh, $driverKnee, $driverAnkle }; + for( $obj in $allSetupObjects ) zooBrandObject name $prefix $obj; + zooBrandObject leg $suffix $legControl; + zooBrandObject knee $suffix $kneeControl; + zooBrandObject fk_thigh $suffix $driverThigh; + zooBrandObject fk_knee $suffix $driverKnee; + zooBrandObject fk_ankle $suffix $driverAnkle; + + + //------ + //create a list of controls + //------ + string $controllers[] = {}; + $controllers = { $legControl, $kneeControl, $driverThigh, $driverKnee, $driverAnkle, $twistControl }; + for( $obj in $controllers ) if( `objExists $obj` ) sets -add $qss $obj; + + + //------ + //build the primitive record + //------ + zooCSTRegisterInput $thigh $primitive; + zooCSTRegisterInput $knee $primitive; + zooCSTRegisterInput $ankle $primitive; + zooCSTPrimOutputs $controls $primitive; + zooCSTPrimOutputs { $legControl, $legControlSpace, $footControlSpace, $footRollControl, $toeOrient } $primitive; + zooCSTPrimOutputs { $footBankL, $footBankR, $toeRoll } $primitive; + zooCSTPrimOutputs { $reverseNode, $weightReverse, $footControlConstraint } $primitive; + zooCSTPrimOutputs $constraints $primitive; + zooCSTPrimOutputs $stretchNodes $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooBrandObject options ( $optionStr +" -parity "+ $parity ) $primitive; + zooBrandObject version "6" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + delete $ankleOrient; //this isn't used in the leg + cycleCheck -e 1; + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the leg primitive +//------ +global proc string[] zooCSTRebuildPrimLeg( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $parity = "l"; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + string $temp[] = {}; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr parity`; if( `size $temp` ) $parity = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimLeg $prefix $parity $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds a generic IK/FK leg rig +------- + +$prefix - the character prefix used to identify the character +$parity - which side is the arm on? l (left) or r (right) +$thigh - the thigh, or femur +$knee - the knee, or tibia/fibula. ie where the leg bends +$ankle - the ankle/foot joint +$optionStr - standard option string - see technical docs for info on option strings + +option flags +------- +-root [string] use this to override which object is used as the root control +-hips [string] use this to override which object is used as the hips control +-stretch [int] turn this flag on if you want a stretchy leg +-kneeMode [int] knee mode 0 is a simply parented knee control - mode 1 is constrained, and only rotates in the y-axis +-parents [string] use this to specify an additional list of parents for the dynamic parenting +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimMoveableEyes.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimMoveableEyes.mel new file mode 100644 index 0000000..ee03d3e --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimMoveableEyes.mel @@ -0,0 +1,230 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimMoveableEyes( string $prefix, string $eyeL, string $eyeR, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $eyeParents[] = {}; + string $headFlag; + string $colour = "purple 0.65"; + float $controllerScale = 1; + int $spaceswitching = 1; + + $optionTemp = `zooGetFlagArguments $optionStr head`; if( `size $optionTemp` ) $headFlag = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $controllerScale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + $optionTemp = `zooGetFlagArguments $optionStr eyeParents`; if( `size $optionTemp` ) $eyeParents = $optionTemp; + + + //------ + //discover the other parts of the rig already built + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $rootControl = zooGetElement_str( 0,`zooGetBrandedWith rootGimbal $prefix` ); + string $headControl = zooGetElement_str( 0,`zooGetBrandedWith headGimbal $prefix` ); + + if( `objExists $headFlag` ) $headControl = $headFlag; + if( !`objExists $headControl` ) $headControl = zooGetElement_str( 0,`listRelatives -parent -path $eyeL` ); + + + // + // ------------- CREATE ALL CONTROLS ------------- + string $headSpace = `zooBuildControl ( $prefix +"_false_head_space" ) ( "-type null -place "+ $headControl )`; + string $eyeControl = `zooBuildControl ( $prefix +"_eye_aim_ctrl" ) ( "-type target -axis z -place "+ $eyeL +" -scale "+$controllerScale+" -offset 5fwd"+" -colour "+ $colour )`; + string $eyeLAimSpace = `zooBuildControl ( $prefix +"_eye_aim_space_L" ) ( "-type null -place "+ $eyeL )`; + string $eyeRAimSpace = `zooBuildControl ( $prefix +"_eye_aim_space_R" ) ( "-type null -place "+ $eyeR )`; + string $eyeLPosControl = `zooBuildControl ( $prefix +"_eye_pos_ctrl_L" ) ( "-type sphere -place "+ $eyeL +" -scale "+ $controllerScale +" -offset 5fwd"+" -colour "+ $colour )`; + string $eyeRPosControl = `zooBuildControl ( $prefix +"_eye_pos_ctrl_R" ) ( "-type sphere -place "+ $eyeR +" -scale "+ $controllerScale +" -offset 5fwd"+" -colour "+ $colour )`; + string $eyeLRotControl = `zooBuildControl ( $prefix +"_eye_rot_ctrl_L" ) ( "-type sphere -place "+ $eyeL +" -scale "+ $controllerScale +" -colour "+ $colour )`; + string $eyeRRotControl = `zooBuildControl ( $prefix +"_eye_rot_ctrl_R" ) ( "-type sphere -place "+ $eyeR +" -scale "+ $controllerScale +" -colour "+ $colour )`; + string $eyeLRotControlSpace = `zooBuildControl ( $prefix +"_eye_rot_space_L" ) ( "-type null -place "+ $eyeL )`; + string $eyeRRotControlSpace = `zooBuildControl ( $prefix +"_eye_rot_space_R" ) ( "-type null -place "+ $eyeR )`; + string $eyeControlSpace = `zooBuildControl ( $prefix +"_eye_space" ) ( "-type null -place "+ $eyeL )`; + + select -r $eyeControl; + move -a -ws -rpr -x 0; + delete `parentConstraint $eyeControl $eyeControlSpace`; + scale 0.5 0.5 0.5 $eyeLPosControl $eyeRPosControl; + makeIdentity -a 1 -s 1 $eyeLPosControl $eyeRPosControl; + + parent $eyeLAimSpace $headSpace; + parent $eyeRAimSpace $headSpace; + parent $eyeLRotControlSpace $headSpace; + parent $eyeRRotControlSpace $headSpace; + parent $eyeLRotControl $eyeLRotControlSpace; + parent $eyeRRotControl $eyeRRotControlSpace; + parent $eyeLPosControl $eyeControl; + parent $eyeRPosControl $eyeControl; + parent $eyeControl $eyeControlSpace; + parent $eyeControlSpace $partsControl; + parent $headSpace $partsControl; + makeIdentity -apply 1 -t 1 -r 1 -s 1 $eyeControl; + + + //------ + //create space constraint + //------ + string $eyeCtrlAim = `zooCSTUpVector $eyeControl (zooCSTGetDir("fwd"))`; string $eyeCtrlUp = `zooCSTUpVector $eyeControl (zooCSTGetDir("up"))`; + string $eyeLAim = `zooCSTUpVector $eyeLAimSpace (zooCSTGetDir("fwd"))`; string $eyeLUp = `zooCSTUpVector $eyeL (zooCSTGetDir("up"))`; + string $eyeRAim = `zooCSTUpVector $eyeRAimSpace (zooCSTGetDir("fwd"))`; string $eyeRUp = `zooCSTUpVector $eyeR (zooCSTGetDir("up"))`; + string $headUp = `zooCSTUpVector $headControl (zooCSTGetDir("up"))`; + + string $spaceNodes[] = {}; + string $eyeControlParents[] = { $headControl, $rootControl, $worldControl }; + string $eyeRotLParents[] = { $eyeLAimSpace, $headControl, $worldControl }; + string $eyeRotRParents[] = { $eyeRAimSpace, $headControl, $worldControl }; + if( `size $parents` ) $eyeControlParents = `zooAddArray_str $eyeControlParents $parents`; + if( `size $eyeParents` ) $eyeRotLParents = `zooAddArray_str $eyeRotLParents $eyeParents`; + if( `size $eyeParents` ) $eyeRotRParents = `zooAddArray_str $eyeRotRParents $eyeParents`; + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $eyeControl $eyeControlSpace $eyeControlParents { "head", "root", "world" } "-mo"`, $spaceNodes); + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $eyeLRotControl $eyeLRotControlSpace $eyeRotLParents { "aim", "head", "world" } "-mo"`, $spaceNodes); + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $eyeRRotControl $eyeRRotControlSpace $eyeRotRParents { "aim", "head", "world" } "-mo"`, $spaceNodes); + eval ( "aimConstraint -mo -aimVector "+ $eyeCtrlAim +" -upVector "+ $eyeCtrlUp +" -worldUpType objectrotation -worldUpObject "+ $headControl +" -worldUpVector "+ $headUp +" "+ $headControl +" "+ $eyeControl ); + string $aim1 = zooGetElement_str(0,`eval( "aimConstraint -mo -aimVector "+ $eyeLAim +" -upVector "+ $eyeLUp +" -worldUpType objectrotation -worldUpObject "+ $headControl +" -worldUpVector "+ $headUp +" "+ $eyeLPosControl +" "+ $eyeLAimSpace )`); + string $aim2 = zooGetElement_str(0,`eval( "aimConstraint -mo -aimVector "+ $eyeRAim +" -upVector "+ $eyeRUp +" -worldUpType objectrotation -worldUpObject "+ $headControl +" -worldUpVector "+ $headUp +" "+ $eyeRPosControl +" "+ $eyeRAimSpace )`); + string $oc1 = zooGetElement_str(0,`orientConstraint -mo $eyeLRotControl $eyeL`); + string $oc2 = zooGetElement_str(0,`orientConstraint -mo $eyeRRotControl $eyeR`); + parentConstraint -mo $headControl $headSpace; + pointConstraint $eyeLRotControl $eyeL; + pointConstraint $eyeRRotControl $eyeR; + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $turnRotateOff[] = { $eyeControl, $eyeLPosControl, $eyeRPosControl }; + string $turnScaleOff[] = { $eyeControl, $eyeLPosControl, $eyeRPosControl, $eyeLRotControl, $eyeRRotControl }; + + for( $obj in $turnRotateOff ) zooAttrState "-attrs r -k 0 -l 1" $obj; + for( $obj in $turnScaleOff ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for( $obj in $turnScaleOff ) zooAttrState "-attrs v -k 0" $obj; + + + //------ + //add right click menu to turn on individual controls + //------ + zooObjMenuAddCmdAll $eyeControl "toggle individual controls" "string $kids[] = `listRelatives -type transform #`;\nint $vis = `getAttr ( $kids[0] +\".v\" )`;\nfor( $k in $kids ) setAttr ( $k +\".v\" ) (!$vis);"; + zooObjMenuAddCmdAll $eyeControl "swap to look at eyes" ( "zooEyeSwapper;\nzooSwapToLookatEyes \""+ $prefix +"\";" ); + zooObjMenuAddCmdAll $eyeControl "swap to rotate eyes" ( "zooEyeSwapper;\nzooSwapToRotateEyes \""+ $prefix +"\";" ); + setAttr ( $eyeLPosControl +".v" ) 0; + setAttr ( $eyeRPosControl +".v" ) 0; + + + //------ + //create a list of controls + //------ + string $controllers[] = {}; + $controllers = { $eyeControl, $eyeLRotControl, $eyeRRotControl, $eyeLPosControl, $eyeRPosControl }; + for( $obj in $controllers ) sets -add $qss $obj; + + + //------ + //now brand all objects + //------ + string $allSetupObjects[] = { $eyeControl, $eyeLPosControl, $eyeRPosControl, $eyeControlSpace }; + for( $obj in $allSetupObjects ) zooBrandObject name $prefix $obj; + zooBrandObject eyes $prefix $eyeControl; + zooBrandObject name $prefix $eyeLRotControl; + zooBrandObject name $prefix $eyeRRotControl; + zooBrandObject eyeRot "l" $eyeLRotControl; + zooBrandObject eyeRot "r" $eyeRRotControl; + zooBrandObject eyeAim "l" $eyeLPosControl; + zooBrandObject eyeAim "r" $eyeRPosControl; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId moveableEyes "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord moveableEyes $id $prefix`; + zooCSTRegisterInput $eyeL $primitive; + zooCSTRegisterInput $eyeR $primitive; + zooCSTPrimOutputs { $eyeControl, $eyeLPosControl, $eyeRPosControl, $eyeLRotControl, $eyeLAimSpace, $eyeRAimSpace, $eyeLRotControlSpace, $eyeRRotControlSpace, $eyeRRotControl, $eyeControlSpace } $primitive; + zooCSTPrimOutputs { $headSpace, $aim1, $aim2, $oc1, $oc2 } $primitive; + zooCSTPrimOutputs $spaceNodes $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "5" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + + return $controllers; + } + + +//------ +//this proc deals with rebuilding the eyes primitive +//------ +global proc string[] zooCSTRebuildPrimMoveableEyes( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimMoveableEyes $prefix $inputs[0] $inputs[1] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +/* +builds rigging for the eyes primitive - +------- +The eyes are moveable, and have dynamic parenting options. Ie eyes can be moved on the face, or parented +to parts of the body. This is a great setup for really cartoony characters, who may be able to remove +their own eye balls. It also has independant and unified look at control, independant rotation control, +and the lookat control also has dynamic parenting The eyes won't suffer from paralax problems that +happen with a simple lookat setup. + +$prefix - the character prefix used to identify the character +$eyeL - this is the joint controlling the left eye +$eyeR - this is the joint controlling the right eye +$optionStr - standard option string + +option flags +------- +-head [string] use this to specify a custom head control - by default it looks for a zooCST head control. Use this flag to use the eye primitive with a custom rig. +-parents [string] use this to specify an additional list of parents for the dynamic parenting on the lookat control +-eyeParents [string] use this to specify an additional list of parents for the dynamic parenting on the individual eye rotation controls +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimReverseSpine.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimReverseSpine.mel new file mode 100644 index 0000000..da28726 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimReverseSpine.mel @@ -0,0 +1,334 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimReverseSpine( string $prefix, string $root, string $spineBase, string $spineEnd, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $spaceNodes[] = {}; + string $parents[] = {}; + string $hips = ""; + string $type = "ring"; + string $colour = "lightblue 0.65"; + float $scale = 1; + int $spaceswitching = 1; + int $buildhips = 1; + int $align = 0; + + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) for( $p in $optionTemp ) if( `objExists $p` ) $parents[( `size $parents` )] = $p; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr align`; if( `size $optionTemp` ) $align = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr type`; if( `size $optionTemp` ) $type = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //build a list of all spine joints - start from the bottom of the heirarchy, and work up - a joint only has one parent + //------ + string $spines[] = {}; + $spines[0] = $spineEnd; + $spines = zooAddArray_str( $spines, `zooGetInBTweenJoints $spineBase $spineEnd` ); + if( $spineBase != $spineEnd ) $spines[( `size $spines` )] = $spineBase; + $spines = `zooReverseArray_str $spines`; + if( `objExists $root` ) $spines = `zooAddArray_str { $root } $spines`; + int $numSpines = `size $spines`; + + + //------ + //build the forward and reverse heirarchies + //------ + string $forwardSpine[] = {}; + string $reverseSpine[] = {}; + string $forwardSpaces[] = {}; + string $reverseSpaces[] = {}; + string $constraints[] = {}; + + for( $n=0; $n<$numSpines; $n++ ) { + $forwardSpine[$n] = `zooBuildControl ( $prefix +"_forward_spine_"+($n+1)) ( "-type "+ $type +" -place "+ $spines[$n] +" -scale "+ $scale +" -colour darkblue 0.65" )`; + $reverseSpine[$n] = `zooBuildControl ( $prefix +"_reverse_spine_"+($numSpines-$n)) ( "-type "+ $type +" -place "+ $spines[$n] +" -scale "+ $scale +" -colour darkblue 0.65" )`; + if( $align ) $forwardSpaces[$n] = `zooCSTOrient2Obj $spines[$n] $forwardSpine[$n]`; + else $forwardSpaces[$n] = $forwardSpine[$n]; + if( $align ) $reverseSpaces[$n] = `zooCSTOrient2Obj $spines[$n] $reverseSpine[$n]`; + else $reverseSpaces[$n] = $reverseSpine[$n]; + $constraints[$n] = zooGetElement_str(0,`parentConstraint -mo $forwardSpine[$n] $reverseSpine[$n] $spines[$n]`); + } + + for( $n=$numSpines-1; $n; $n-- ) parent $forwardSpaces[$n] $forwardSpine[( $n-1 )]; + for( $n=1; $n<$numSpines; $n++ ) parent $reverseSpaces[( $n-1 )] $reverseSpine[$n]; + for( $ctl in $forwardSpine ) if( `objExists ( $ctl +".radius" )`) { + setAttr ( $ctl +".radius" ) 0; + zooAttrState "-attrs radius -k 0 -l 1 -v 0" $ctl; + } + + + //------ + //if the root joint has been specified, build a different shape control for it + //------ + if( `objExists $root` ) { + string $newRootShape1 = `zooBuildControl ( $prefix +"_forward_spine_root" ) ( "-type ring -place "+ $forwardSpine[0] +" -scale "+ (3.1*$scale) +" -colour "+ $colour )`; + string $newRootShape2 = `zooBuildControl ( $prefix +"_reverse_spine_root" ) ( "-type ring -place "+ $reverseSpine[0] +" -scale "+ (3.1*$scale) +" -colour "+ $colour )`; + zooReplaceShape $newRootShape1 $forwardSpine[0]; + zooReplaceShape $newRootShape2 $reverseSpine[( `size $reverseSpine`-1 )]; + delete $newRootShape1 $newRootShape2; + } + + + //------ + //are we building the hips? + //------ + string $hipsControl = ""; + if( $buildhips ) { + $hipsControl = `zooBuildControl ( $prefix +"_hips_ctrl" ) ( "-type "+ $type +" -place "+ $root +" -scale "+ $scale +" -offset -0.5up"+" -colour "+ $colour )`; + $hipsSpace = `zooBuildControl ( $prefix +"_hips_space" ) ( "-type null -place "+ $root )`; + parent $hipsControl $hipsSpace; + parent $hipsSpace $worldControl; + orientConstraint $hipsControl $hips; + pointConstraint $root $hipsControl; + string $hipParents[] = `zooAddArray_str { $root, $worldControl } $parents`; + if( $spaceswitching ) $spaceNodes = zooAddArray_str(`zooBuildSpaceSwitch $hipsControl $hipsSpace $hipParents { "root", "world" } "-mo"`,$spaceNodes); + else orientConstraint $root $hipsSpace; + zooAttrState "-attrs t s -k 0 -l 1" $hipsControl; + zooAttrState "-attrs v -k 0" $hipsControl; + } + + + //------ + //build the network to control the reverse setting + //------ + string $reverse = `shadingNode -asUtility reverse`; + addAttr -k 1 -ln reverse -at bool $forwardSpine[0]; + connectAttr -f ( $forwardSpine[0] +".reverse" ) ( $reverse +".inputX" ); + connectAttr -f ( $reverse +".outputX" ) ( $forwardSpine[0] +".v" ); + connectAttr -f ( $forwardSpine[0] +".reverse" ) ( `zooGetElement_str -1 $reverseSpine` +".v" ); + for( $n=0; $n<`size $constraints`; $n++ ) { + connectAttr -f ( $reverse +".outputX" ) ( $constraints[$n] +".w0" ); + connectAttr -f ( $forwardSpine[0] +".reverse" ) ( $constraints[$n] +".w1" ); + } + + + //------ + //build the interface on the fwd spine to the reverse setting + //------ + string $objMenuCmd = "{\nzooArrays_str;\nzooFlags;\nzooTriggeredUtils;\nstring $objStr = zooArrayToStr_str(`zooTriggeredGetConnectedObjects nurbsSphere1`,\" \");\nzooChangeSpace ( \"-attr parent 0 -objs \"+ $objStr ) #;\n}"; + int $cmd1Num = `zooObjMenuAddCmd $forwardSpine[0]`; + int $cmd2Num = `zooObjMenuAddCmd $forwardSpine[0]`; + int $cmd3Num = `zooObjMenuAddCmd (zooGetElement_str(-1,$forwardSpine))`; + int $other = `zooAddConnect (zooGetElement_str(-1,$forwardSpine)) $forwardSpine[0]`; + int $fwdConnects[] = {}; + int $revConnects[] = {}; + + for( $n=0; $n<`size $forwardSpine`; $n++ ) $fwdConnects[( `size $fwdConnects` )] = `zooAddConnect $forwardSpine[0] $forwardSpine[$n]`; + for( $n=0; $n<`size $reverseSpine`; $n++ ) $revConnects[( `size $revConnects` )] = `zooAddConnect $forwardSpine[0] $reverseSpine[$n]`; + zooSetObjMenuCmdName $forwardSpine[0] "switch to reverse spine" $cmd1Num; + zooSetObjMenuCmdName $forwardSpine[0] "snap to reverse spine" $cmd2Num; + zooSetObjMenuCmdName (zooGetElement_str(-1,$forwardSpine)) "switch to reverse spine" $cmd3Num; + + string $toFwdScript = ""; + string $toRevScript = ""; + + //$revConnects = `zooReverseArray_int $revConnects`; + for( $n=0; $n<$numSpines; $n++ ) { + int $srcConnectNum = $fwdConnects[$n]; + int $tgtConnectNum = $revConnects[$n]; + $toFwdScript += "zooAlign \"-tgt %"+ $srcConnectNum +" -src %"+ $tgtConnectNum +"\";\n"; + } + for( $n=$numSpines-1; $n>=0; $n-- ) { + int $srcConnectNum = $fwdConnects[$n]; + int $tgtConnectNum = $revConnects[$n]; + $toRevScript += "zooAlign \"-src %"+ $srcConnectNum +" -tgt %"+ $tgtConnectNum +"\";\n"; + } + $toFwdScript += "setAttr #.reverse 0;"; + $toRevScript += "setAttr #.reverse 1;"; + zooSetObjMenuCmdStr $forwardSpine[0] $toRevScript $cmd1Num; + zooSetObjMenuCmdStr $forwardSpine[0] $toFwdScript $cmd2Num; + zooSetObjMenuCmdStr (zooGetElement_str(-1,$forwardSpine)) ( "zooObjMenuUtils;\nstring $cmd = `zooGetObjMenuCmdStr %"+ $other +" 0`;\n$cmd = `zooPopulateCmdStr %"+ $other +" $cmd`;\neval $cmd;" ) $cmd3Num; + + + //------ + //build the interface on the rev spine to the reverse setting + //------ + string $revSpineInterface = `zooGetElement_str -1 $reverseSpine`; + int $cmd1Num = `zooObjMenuAddCmd $revSpineInterface`; + int $cmd2Num = `zooObjMenuAddCmd $revSpineInterface`; + int $cmd3Num = `zooObjMenuAddCmd $reverseSpine[0]`; + int $other = `zooAddConnect $reverseSpine[0] $revSpineInterface`; + + clear $fwdConnects; + clear $revConnects; + for( $n=0; $n<`size $forwardSpine`; $n++ ) $fwdConnects[( `size $fwdConnects` )] = `zooAddConnect $revSpineInterface $forwardSpine[$n]`; + for( $n=0; $n<`size $reverseSpine`; $n++ ) $revConnects[( `size $revConnects` )] = `zooAddConnect $revSpineInterface $reverseSpine[$n]`; + zooSetObjMenuCmdName $revSpineInterface "switch to forward spine" $cmd1Num; + zooSetObjMenuCmdName $revSpineInterface "snap to forward spine" $cmd2Num; + zooSetObjMenuCmdName $reverseSpine[0] "switch to forward spine" $cmd3Num; + + $toFwdScript = ""; + $toRevScript = ""; + for( $n=0; $n<$numSpines; $n++ ) { + int $srcConnectNum = $fwdConnects[$n]; + int $tgtConnectNum = $revConnects[$n]; + $toFwdScript += "zooAlign \"-tgt %"+ $srcConnectNum +" -src %"+ $tgtConnectNum +"\";\n"; + } + for( $n=$numSpines-1; $n>=0; $n-- ) { + int $srcConnectNum = $fwdConnects[$n]; + int $tgtConnectNum = $revConnects[$n]; + $toRevScript += "zooAlign \"-src %"+ $srcConnectNum +" -tgt %"+ $tgtConnectNum +"\";\n"; + } + $toFwdScript += "setAttr %"+ $fwdConnects[0] +".reverse 0;"; + $toRevScript += "setAttr %"+ $fwdConnects[0] +".reverse 1;"; + zooSetObjMenuCmdStr $revSpineInterface $toFwdScript $cmd1Num; + zooSetObjMenuCmdStr $revSpineInterface $toRevScript $cmd2Num; + zooSetObjMenuCmdStr $reverseSpine[0] ( "zooObjMenuUtils;\nstring $cmd = `zooGetObjMenuCmdStr %"+ $other +" 0`;\n$cmd = `zooPopulateCmdStr %"+ $other +" $cmd`;\neval $cmd;" ) $cmd3Num; + + + //------ + //add right click menu to turn on extra spine base control + //------ + int $spineAConnects[] = {}; + int $spineBConnects[] = {}; + int $cmdANum = `zooObjMenuAddCmd $revSpineInterface`; + int $cmdBNum = `zooObjMenuAddCmd $forwardSpine[0]`; + + for( $n=0; $n<`size $spines`; $n++ ) $spineAConnects[$n] = `zooAddConnect $revSpineInterface $spines[$n]`; + for( $n=0; $n<`size $spines`; $n++ ) $spineBConnects[$n] = `zooAddConnect $forwardSpine[0] $spines[$n]`; + string $cmdAStr = "zooLineOfAction;\nzooLineOfAction_multi { \"%"+ `zooArrayToStr_int $spineAConnects "\", \"%"` +"\" } \"\";"; + string $cmdBStr = "zooLineOfAction;\nzooLineOfAction_multi { \"%"+ `zooArrayToStr_int $spineBConnects "\", \"%"` +"\" } \"\";"; + zooSetObjMenuCmdName $revSpineInterface "draw line of action" $cmdANum; + zooSetObjMenuCmdName $forwardSpine[0] "draw line of action" $cmdBNum; + zooSetObjMenuCmdStr $revSpineInterface $cmdAStr $cmdANum; + zooSetObjMenuCmdStr $forwardSpine[0] $cmdBStr $cmdBNum; + + + + //------ + //now build a stand-in chest control that other primitives can get parented to + //------ + string $chest = `zooBuildControl ( $prefix +"_chest" ) ( "-type null -place "+ $revSpineInterface +" -scale "+ $scale )`; + string $chestCon = zooGetElement_str(0,`parentConstraint -mo $forwardSpine[0] $chest`); + + parentConstraint -mo $revSpineInterface $chest; + connectAttr -f ( $reverse +".outputX" ) ( $chestCon +".w0" ); + connectAttr -f ( $forwardSpine[0] +".reverse" ) ( $chestCon +".w1" ); + zooBrandObject name $prefix $chest; + zooBrandObject chest $prefix $chest; + + + //------ + //now build a stand-in root control that other primitives can get parented to + //------ + string $rootStandIn = `zooBuildControl ( $prefix +"_root" ) ( "-type null -place "+ $reverseSpine[0] +" -scale "+ $scale )`; + string $rootControl = zooGetElement_str(0,`parentConstraint -mo (zooGetElement_str(-1,$forwardSpine)) $rootStandIn`); + + parentConstraint -mo $reverseSpine[0] $rootStandIn; + connectAttr -f ( $reverse +".outputX" ) ( $rootControl +".w0" ); + connectAttr -f ( $forwardSpine[0] +".reverse" ) ( $rootControl +".w1" ); + zooBrandObject name $prefix $rootStandIn; + zooBrandObject root $prefix $rootStandIn; + zooBrandObject rootGimbal $prefix $rootStandIn; + + + //------ + //now brand all objects and clean up + //------ + for( $n=0; $n<`size $forwardSpine`; $n++ ) zooBrandObject name $prefix $forwardSpine[$n]; + for( $n=0; $n<`size $forwardSpine`; $n++ ) zooBrandObject spine $prefix $forwardSpine[$n]; + for( $n=0; $n<`size $reverseSpine`; $n++ ) zooBrandObject name $prefix $reverseSpine[$n]; + for( $n=0; $n<`size $reverseSpine`; $n++ ) zooBrandObject spine $prefix $reverseSpine[$n]; + parent $chest $rootStandIn $partsControl; + parent (zooGetElement_str(-1,$reverseSpaces)) $forwardSpaces[0] $worldControl; + + + //------ + //build the primitive record + //------ + string $allSpines[] = `zooAddArray_str $forwardSpine $reverseSpine`; + string $id = `zooCSTGetPrimId reverseSpine "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord reverseSpine $id $prefix`; + zooCSTRegisterInput $spineBase $primitive; + zooCSTRegisterInput $spineEnd $primitive; + zooCSTRegisterInput $root $primitive; + zooCSTPrimOutputs $allSpines $primitive; + zooCSTPrimOutputs $forwardSpaces $primitive; + zooCSTPrimOutputs $reverseSpaces $primitive; + zooCSTPrimOutputs $constraints $primitive; + zooCSTPrimOutputs { $reverse, $chest, $rootStandIn } $primitive; + zooBrandObject options $optionStr $primitive; + zooBrandObject version "1" $primitive; + zooCSTRegisterControl $rootControl $primitive; + for( $obj in $allSpines ) zooCSTRegisterControl $obj $primitive; + if( $buildhips ) { + zooCSTRegisterInput $hips $primitive; + zooCSTPrimOutputs { $hipsControl } $primitive; + zooCSTRegisterControl $hipsControl $primitive; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + for( $obj in $allSpines ) zooAttrState "-attrs radius s -k 0 -l 1 -v 0" $obj; + for( $obj in $allSpines ) zooAttrState "-attrs v -k 0" $obj; + + + //------ + //add the controls to the qss + //------ + for( $obj in $allSpines ) sets -add $qss $obj; + + return $allSpines; + } + + +//------ +//this proc deals with rebuilding the reverseSpine primitive +//------ +global proc string[] zooCSTRebuildPrimReverseSpine( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimBasicSpine $prefix $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +//zoo.end \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimRootSpine.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimRootSpine.mel new file mode 100644 index 0000000..daa7adb --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildPrimRootSpine.mel @@ -0,0 +1,178 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildPrimRootSpine( string $prefix, string $root, string $spineBase, string $spineEnd, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $parents[] = {}; + string $hips = ""; + float $scale = 1; + int $spaceswitching = 1; + int $colour = 0; + int $buildhips = 0; + + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) if( `objExists $optionTemp[0]` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildhips`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr spaceswitching`; if( `size $optionTemp` ) $spaceswitching = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parents`; if( `size $optionTemp` ) $parents = $optionTemp; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //create the controls, and parent them + //------ + string $rootControl = `zooBuildControl ( $prefix +"_root_ctrl" ) ( "-type ring -place "+ $root +" -scale "+ (3.1*$scale) +" -colour "+ $colour )`; + string $rootGimbal = `zooBuildControl ( $prefix +"_root_gimbal_ctrl" ) ( "-type starCircle -place "+ $root +" -scale "+ (4*$scale) +" -surface 0 -colour "+ $colour )`; + string $hipsControl = ""; + + parent $rootGimbal $rootControl; + parent $rootControl $worldControl; + pointConstraint $rootControl $root; + orientConstraint -mo $rootGimbal $root; + + if( $buildhips ) { + $hipsControl = `zooBuildControl ( $prefix +"_hips_ctrl" ) ( "-type cube -place "+ $root +" -scale "+ $scale +" -offset -0.5up"+" -colour "+ $colour )`; + parent $hipsControl $rootGimbal; + orientConstraint -mo $hipsControl $hips; + zooAttrState "-attrs t s -k 0 -l 1" $hipsControl; + zooAttrState "-attrs v -k 0" $hipsControl; + } + + + //------ + //build space switching expressions + //------ + string $spaceNodes[] = {}; + string $rootSpace = ""; + if( `size $parents` && $spaceswitching ) { + $parents = `zooAddArray_str { $worldControl } $parents`; + $rootSpace = `zooBuildControl ( $prefix +"_root_space" ) ( "-type null -place "+ $root )`; + parent $rootSpace $worldControl; + parent $rootControl $rootSpace; + $spaceNodes = `zooBuildSpaceSwitch $rootControl $rootSpace $parents { "world" } "-mo 1"`; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $turnTranslateOff[] = { $rootGimbal }; + string $turnScaleOff[] = { $rootControl, $rootGimbal }; + + for ( $obj in $turnTranslateOff ) zooAttrState "-attrs t -k 0 -l 1" $obj; + for ( $obj in $turnScaleOff ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for ( $obj in $turnScaleOff ) zooAttrState "-attrs v -k 0" $obj; + + string $rootGimbalShape = zooGetElement_str( 0,`listRelatives -s $rootGimbal` ); + setAttr ( $rootControl +".rotateOrder" ) 3; + setAttr ( $rootGimbal +".rotateOrder" ) 2; + setAttr ( $rootGimbalShape +".v" ) 0; + + + //------ + //add right click menu to turn on the gimbal control + //------ + string $cmdName = "toggle gimbal control"; + string $cmd1Str = "{\nstring $kids[] = `listRelatives -type transform #`;\n$kids = `listRelatives -s $kids[0]`;\nint $vis = `getAttr ( $kids[0] +\".v\" )`;\nfor( $k in $kids ) setAttr ( $k +\".v\" ) (!$vis);\n}"; + string $cmd2Str = "{\nstring $kids[] = `listRelatives -s #`;\nint $vis = `getAttr ( $kids[0] +\".v\" )`;\nfor( $k in $kids ) setAttr ( $k +\".v\" ) (!$vis);\nselect `listRelatives -p`;\n}"; + int $cmdNum = `zooObjMenuAddCmd $rootControl`; + int $cmdNum = `zooObjMenuAddCmd $rootGimbal`; + + zooSetObjMenuCmdName $rootControl $cmdName $cmdNum; + zooSetObjMenuCmdStr $rootControl $cmd1Str $cmdNum; + zooSetObjMenuCmdName $rootGimbal $cmdName $cmdNum; + zooSetObjMenuCmdStr $rootGimbal $cmd2Str $cmdNum; + + //------ + //now brand all objects + //------ + string $controllers[] = { $rootControl, $rootGimbal }; + if( $buildhips ) $controllers[( `size $controllers` )] = $hipsControl; + for( $obj in $controllers ) zooBrandObject name $prefix $obj; + zooBrandObject root $prefix $rootControl; + zooBrandObject rootGimbal $prefix $rootGimbal; + if( $buildhips ) zooBrandObject hips $prefix $hipsControl; + + + //------ + //build the primitive record + //------ + string $id = `zooCSTGetPrimId rootSpine "" $prefix`; + string $primitive = `zooCSTCreatePrimRecord rootSpine $id $prefix`; + zooCSTRegisterInput $root $primitive; + if( $buildhips ) zooCSTRegisterInput $hips $primitive; + zooCSTPrimOutputs { $rootControl, $rootGimbal } $primitive; + if( $buildhips ) zooCSTPrimOutputs { $hipsControl } $primitive; + if( `size $spaceNodes` ) zooCSTPrimOutputs $spaceNodes $primitive; + zooBrandObject options ( $optionStr +" -hips "+ $buildhips ) $primitive; + zooBrandObject version "4" $primitive; + for( $obj in $controllers ) zooCSTRegisterControl $obj $primitive; + + + //------ + //cleanup - put all control objects where they should be in the outliner + //------ + for( $obj in $controllers ) sets -add $qss $obj; + + zooCSTUtilsRigVis -h; + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + select $controllers[0]; + return $controllers; + } + + +//------ +//this proc deals with rebuilding the root primitive +//------ +global proc string[] zooCSTRebuildPrimRoot( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $version = `zooQueryBrand version $primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $controls[] = `zooCSTListRegistered control $primitive`; + int $useExisting = 1; + + string $dupes[] = {}; + if( `size $controls` ) { + $dupes = `duplicate -rc $controls`; //duplicate the control objects so we can grab the original control shape nodes, to parent under the new controls created + parent -w $dupes; + } + + $temp = `zooGetFlagArguments $optionStr useExisting`; if( `size $temp` ) $useExisting = $temp[0]; + + zooCSTDeletePrimitive $primitive; + string $newControls[] = `zooCSTBuildPrimRootSpine $prefix $inputs[0] $inputs[1] $inputs[2] $optionStr`; + + //parent the shape nodes of the original controls to the transforms of the new controls + if( $useExisting ) for( $n=0; $n<`size $newControls`; $n++ ) zooReplaceShape $dupes[$n] $newControls[$n]; + + delete $dupes; + return $newControls; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildRoot.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildRoot.mel new file mode 100644 index 0000000..2feeb7b --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildRoot.mel @@ -0,0 +1,114 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildRoot( string $prefix, string $root, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $hips = ""; + string $colour = "darkblue 0.65"; + float $scale = 1; + int $buildhips = 0; + int $pickwalking = 1; + int $isCurve = 0; + + $optionTemp = `zooGetFlagArguments $optionStr hips`; if( `size $optionTemp` ) if( `objExists $optionTemp[0]` ) $hips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr buildhips`; if( `size $optionTemp` ) $buildhips = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr pickwalking`; if( `size $optionTemp` ) $pickwalking = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr curve`; if( `size $optionTemp` ) $isCurve = $optionTemp[0]; + if( !`objExists $hips` || $hips == $root ) $buildhips = 0; + + + //------ + //create the controls, and parent them + //------ + string $rootControl = `zooBuildControl ( $prefix +"_root_ctrl" ) ( "-type ring -place "+ $root +" -scale "+ (3.1*$scale) +" -colour "+ $colour )`; + string $rootGimbal = `zooBuildControl ( $prefix +"_root_gimbal_ctrl" ) ( "-type starCircle -place "+ $root +" -scale "+ (4*$scale) +" -surface 0 -colour "+ $colour )`; + string $rootSpace = `zooBuildControl ( $prefix +"_root_space_ctrl" ) ( "-type null -place "+ $root )`; + string $hipsControl = ""; + + parent $rootGimbal $rootControl; + parent $rootControl $rootSpace; + + if( $buildhips ) { + $hipsControl = `zooBuildControl ( $prefix +"_hips_ctrl" ) ( "-type cube -place "+ $root +" -placepivot %p -scale "+ $scale +" -offset -0.75up -colour "+ $colour )`; + parent $hipsControl $rootGimbal; + zooAttrState "-attrs t s -k 0 -l 1" $hipsControl; + zooAttrState "-attrs v -k 0" $hipsControl; + } + + + //------ + //turn unwanted transforms off, so that they are locked, and no longer keyable + //------ + string $turnTranslateOff[] = { $rootGimbal }; + string $turnScaleOff[] = { $rootControl, $rootGimbal }; + + for ( $obj in $turnTranslateOff ) zooAttrState "-attrs t -k 0 -l 1" $obj; + for ( $obj in $turnScaleOff ) zooAttrState "-attrs s -k 0 -l 1" $obj; + for ( $obj in $turnScaleOff ) zooAttrState "-attrs v -k 0" $obj; + + string $rootGimbalShape = zooGetElement_str( 0,`listRelatives -s $rootGimbal` ); + setAttr ( $rootGimbalShape +".v" ) 0; + xform -p 1 -roo xzy $rootControl; + xform -p 1 -roo zxy $rootGimbal; + + + //------ + //build pickwalking if required + //------ + if( $pickwalking ) { + zooPickwalk "-load"; + zooSetPickwalkObj $rootGimbal $rootControl "-dir up -reciprocal 0"; + } + + + //------ + //add right click menu to turn on the gimbal control + //------ + string $cmdName = "toggle gimbal control"; + string $cmd1Str = "{\nstring $kids[] = `listRelatives -type transform #`;\n$kids = `listRelatives -s $kids[0]`;\nint $vis = `getAttr ( $kids[0] +\".v\" )`;\nfor( $k in $kids ) setAttr ( $k +\".v\" ) (!$vis);\n}"; + string $cmd2Str = "{\nstring $kids[] = `listRelatives -s #`;\nint $vis = `getAttr ( $kids[0] +\".v\" )`;\nfor( $k in $kids ) setAttr ( $k +\".v\" ) (!$vis);\nselect `listRelatives -p`;\n}"; + int $cmd1Num = `zooObjMenuAddCmd $rootControl`; + int $cmd2Num = `zooObjMenuAddCmd $rootGimbal`; + + zooSetObjMenuCmdName $rootControl $cmdName $cmd1Num; + zooSetObjMenuCmdStr $rootControl $cmd1Str $cmd1Num; + zooSetObjMenuCmdName $rootGimbal $cmdName $cmd2Num; + zooSetObjMenuCmdStr $rootGimbal $cmd2Str $cmd2Num; + + + //------ + //now brand all objects + //------ + string $controllers[] = { $rootControl, "", $rootSpace, $rootGimbal }; + if( $buildhips ) $controllers[1] = $hipsControl; + for( $obj in $controllers ) zooBrandObject name $prefix $obj; + zooBrandObject root $prefix $rootControl; + zooBrandObject rootGimbal $prefix $rootGimbal; + if( $buildhips ) zooBrandObject hips $prefix $hipsControl; + + + //------ + //cleanup - put all control objects where they should be in the outliner + //------ + for( $n=0; $n<`size $controllers`; $n++ ) $controllers[$n] = `zooRenamerFunctions replace "[0-9]+$" "" $controllers[$n]`; + + return $controllers; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildSplineIK.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildSplineIK.mel new file mode 100644 index 0000000..290c51c --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildSplineIK.mel @@ -0,0 +1,246 @@ +//script documentation is at the end of this file +global proc string[] zooCSTBuildSplineIK( string $prefix, string $start, string $end, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $axis = ""; + string $colour = ""; + string $control; //the control to put the ik/fk switch attribute on - can be empty + float $scale = 1; + int $bezier = 1; //bezier controls? if true, the spline will pass through the controls + int $stretch = 1; //make stretchy splineIK based on curve arcLength + int $buildcontrols = 1; //build controls for a switchable splineik/fk chain + + $optionTemp = `zooGetFlagArguments $optionStr axis`; if( `size $optionTemp` ) $axis = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr colour`; if( `size $optionTemp` ) $colour = `zooArrayToStr_str $optionTemp " "`; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr bezier`; if( `size $optionTemp` ) $bezier = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr stretch`; if( `size $optionTemp` ) $stretch = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr buildcontrols`; if( `size $optionTemp` ) $buildcontrols = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr control`; if( `size $optionTemp` ) $control = $optionTemp[0]; + + + //------ + //always build the world first - the world creation proc only builds the world once for any given prefix, so a world control is never created more than once + //------ + string $worldParts[] = `zooCSTBuildWorld $prefix $optionStr`; + string $worldControl = $worldParts[0]; + string $partsControl = $worldParts[1]; + string $masterqss = $worldParts[2]; + string $qss = $worldParts[3]; + string $nodes[] = {}; + + + //------ + //find the names of relevant joints + //------ + string $orgJoints[] = { $end }; + $orgJoints = zooAddArray_str($orgJoints, `zooGetInBTweenJoints $start $end` ); + $orgJoints = `zooAddArray_str $orgJoints { $start }`; + $orgJoints = `zooReverseArray_str $orgJoints`; + int $numJoints = `size $orgJoints`; + + + //------ + //now duplicate the original joints - we set up the spline IK on the dupe chain + //so we can constrain the originals between the spline IK chain and an fk chain + //------ + string $joints[] = {}; + if( $buildcontrols ) { + for( $n=0; $n<$numJoints; $n++ ) { + string $dupeTemp[] = `duplicate -rc -rr $orgJoints[$n]`; + if( size(`listRelatives -p $dupeTemp[0]`)) parent -w $dupeTemp[0]; + string $tempKids[] = `listRelatives -pa $dupeTemp[0]`; + for( $k in $tempKids ) if( `objExists $k` ) delete $k; + $joints[$n] = $dupeTemp[0]; + if( $n ) parent $joints[$n] $joints[( $n-1 )]; + } + $start = $joints[0]; + $end = `zooGetElement_str -1 $joints`; + } + else $joints = $orgJoints; + + + //------ + //build the curve and spline ik handle + //------ + string $info[] = {}; + string $baseCurve = ""; + string $curve = ""; + + if( $bezier ) { + string $curveCmd = "curve -d 1 "; + for( $n=0; $n<$numJoints; $n++ ) { + float $pos[] = `xform -q -ws -rp $joints[$n]`; + $curveCmd += "-p "+ $pos[0] +" "+ $pos[1] +" "+ $pos[2] +" "; + } + $baseCurve = eval( $curveCmd ); + $curve = zooGetElement_str(0,`fitBspline -ch 1 -tol 0.0001 $baseCurve`); + $info = `ikHandle -sol ikSplineSolver -ccv 0 -c $curve -sj $start -ee $end`; + $baseCurve = `rename $baseCurve "zooSplineIK_driverCurve#"`; + parent $baseCurve $partsControl; + } + else { + $info = `ikHandle -sol ikSplineSolver -scv 0 -sj $start -ee $end`; + $curve = $info[2]; + } + + $curve = `rename $curve "zooSplineIK_curve#"`; + string $ikHandle = $info[0]; + $nodes = { $ikHandle, $baseCurve, $curve }; + parent $curve $partsControl; + parent $ikHandle $partsControl; + + + //------ + //are we building controls for the structure? + //------ + if( $buildcontrols ) { + string $fkCtrls[] = {}; + string $ikCtrls[] = {}; + string $clusters[] = {}; + string $ikSpace = `zooBuildControl ( $prefix +"_ik_space" ) ( "-type null -place "+ $joints[0] +" align %p -freeze 0" )`; + + for( $n=0; $n<$numJoints; $n++ ) { + string $axis = `zooCSTJointDirection $joints[$n]`; + $axis = `substitute "-" $axis "_"`; + $fkCtrls[$n] = `zooBuildControl ( $prefix +"_fk_ctrl_"+ ($n+1)) ( "-type cylinder -axis "+ $axis +" -place "+ $joints[$n] +" -align %p -orient 1 -scale "+ ($scale*2) +" -colour orange 0.6" )`; + $ikCtrls[$n] = `zooBuildControl ( $prefix +"_ik_ctrl_"+ ($n+1)) ( "-type sphere -axis "+ $axis +" -place "+ $joints[$n] +" -align %p -orient 1 -scale "+ $scale +" -colour purple 0.6" )`; + $clusters[$n] = zooGetElement_str(1,eval( "cluster "+ $baseCurve +".cv["+ $n +"];" )); + if( $n ) parent `listRelatives -p $fkCtrls[$n]` $fkCtrls[( $n-1 )]; + $clusters[$n] = zooGetElement_str(0,`parent $clusters[$n] $ikCtrls[$n]`); + setAttr -l 1 ( $clusters[$n] +".v" ) 0; + } + + string $fkSpace = zooGetElement_str(0,`listRelatives -p $fkCtrls[0]`); + parent `listRelatives -p $ikCtrls` $ikSpace; + parent $joints[0] $ikSpace; + if( `objExists $control` ) parent $fkSpace $ikSpace $control; + setAttr -l 1 ( $ikCtrls[0] +".v" ) 0; + setAttr -l 1 ( $joints[0] +".v" ) 0; + setAttr -l 1 ( $baseCurve +".v" ) 0; + setAttr -l 1 ( $curve +".v" ) 0; + setAttr -l 1 ( $ikHandle +".v" ) 0; + + if( !`objExists $control` ) $control = $fkCtrls[0]; + string $fkVisCond = `shadingNode -n( $prefix +"_fk_vis" ) -asUtility condition`; + string $ikVisCond = `shadingNode -n( $prefix +"_ik_vis" ) -asUtility condition`; + string $rev = `shadingNode -n( $prefix +"_ikfk_blend" ) -asUtility reverse`; + + //add the ikChain attr to the control if it doesn't already exist + if( !`objExists ( $control +".ikChain" )`) { + addAttr -at double -ln ikChain -min 0 -max 1 -dv 0 $control; + setAttr -k 1 ( $control +".ikChain" ); + } + + //set attrs and make connections... + setAttr ( $fkVisCond +".secondTerm" ) 1; + connectAttr -f ( $control +".ikChain" ) ( $rev +".inputX" ); + connectAttr -f ( $control +".ikChain" ) ( $fkVisCond +".firstTerm" ); + connectAttr -f ( $control +".ikChain" ) ( $ikVisCond +".firstTerm" ); + connectAttr -f ( $fkVisCond +".outColorR" ) ( $fkSpace +".v" ); + connectAttr -f ( $ikVisCond +".outColorR" ) ( $ikSpace +".v" ); + + //constrain originals between the ik and fk chains + string $constraints[] = {}; + for( $n=0; $n<$numJoints; $n++ ) $constraints[$n] = zooGetElement_str(0,`parentConstraint $joints[$n] $fkCtrls[$n] $orgJoints[$n]`); + for( $n=0; $n<$numJoints; $n++ ) { + string $attrs[] = `listAttr -ud $constraints[$n]`; + connectAttr -f ( $rev +".outputX" ) ( $constraints[$n] +"."+ $attrs[1] ); + connectAttr -f ( $control +".ikChain" ) ( $constraints[$n] +"."+ $attrs[0] ); + } + + //build pickwalking + zooPickwalk "-load"; + zooSetPickwalkObj $fkCtrls[0] $control "-dir up -reciprocal 1"; + zooSetPickwalkObj $ikCtrls[1] $control "-dir up -reciprocal 0"; + zooSetPickwalkObj $control $ikCtrls[1] "-dir left -reciprocal 0"; + zooSetPickwalkObj $control $ikCtrls[1] "-dir right -reciprocal 0"; + for( $n=1; $n<$numJoints; $n++ ) zooSetPickwalkObj $fkCtrls[$n] $fkCtrls[($n-1)] "-dir up -reciprocal 1"; + for( $n=2; $n<$numJoints; $n++ ) { + zooSetPickwalkObj $ikCtrls[$n] $ikCtrls[($n-1)] "-dir up -reciprocal 1"; + zooSetPickwalkObj $ikCtrls[$n] $control "-dir left -reciprocal 0"; + zooSetPickwalkObj $ikCtrls[$n] $control "-dir right -reciprocal 0"; + } + + //build a line of action option to the ik controls - is really useful to be able to turn on LOA to see the spline path + for( $n=0; $n<$numJoints; $n++ ) zooAddConnect $ikCtrls[1] $ikCtrls[$n]; + zooObjMenuAddCmdAll $ikCtrls[1] "draw line of action" ( "zooLineOfAction;\nzooArrays_str;\nstring $a[] = @;\n$a = `zooAddArrayAt_str $a {\"%0\"} 1`;\nzooLineOfAction_multi $a \"-thickness "+ ($scale*10) +" -colour purple 0.5\";" ); + + //finally lock non required attributes + for( $n=0; $n<$numJoints; $n++ ) { + zooAttrState "-attrs s -l 1 -k 0" $fkCtrls[$n]; + zooAttrState "-attrs r s -l 1 -k 0" $ikCtrls[$n]; + zooAttrState "-attrs v -k 0" $fkCtrls[$n]; + zooAttrState "-attrs v -k 0" $ikCtrls[$n]; + } + zooAttrState "-attrs t r s v -l 1" $fkSpace; + zooAttrState "-attrs t r s v -l 1" $ikSpace; + zooAttrState "-attrs t r s v -l 1" $baseCurve; + zooAttrState "-attrs t r s v -l 1" $curve; + } + + + //------ + //build the nodes for the stretchiness + //------ + string $curveInfo; + string $initLenMult; + + if( $stretch ) { + $curveInfo = `arclen -ch 1 $curve`; + $initLenMult = `shadingNode -n( $prefix +"_initial_length_multiplier" ) -asUtility multiplyDivide`; + $nodes = `zooAddArray_str $nodes { $curveInfo, $initLenMult }`; + float $len = `arclen $curve`; + + //add the autoStretch attr to the control if it doesn't already exist + if( !`objExists ( $control +".autoStretch" )`) addAttr -at double -ln autoStretch -min 0 -max 1 -dv 1 $control; + if( !`objExists ( $control +".stretchMultiplier" )`) addAttr -at double -ln stretchMultiplier -min 0 -dv 1 $control; + setAttr -k 1 ( $control +".autoStretch" ); + setAttr -k 1 ( $control +".stretchMultiplier" ); + + setAttr ( $initLenMult +".input2X" ) $len; + setAttr ( $initLenMult +".operation" ) 2; + + //yes, this is an expression... I'm really far too lazy to bother building such + //a simplistic network of like 5 nodes just to do some adding and multiplication + //in a certain order... I'm sure it barely slows anything down. deal with it + string $exp = `expression -ae 0 -n( $prefix +"_stretch_expression" ) -s( $initLenMult +".input1X = (("+ $curveInfo +".arcLength - "+ $len +") * "+ $control +".autoStretch + "+ $len +") * "+ $control +".stretchMultiplier;" )`; + string $finalLengthOutput = $initLenMult +".outputX"; + for( $n=0; $n<$numJoints; $n++ ) { //you may want to change to ($numJoints-1) so the last joint can be parent constrained to an end chain control... + string $joint = $joints[$n]; + string $lenFraction = `shadingNode -asUtility multiplyDivide`; + string $upaxis = `zooCSTJointDirection $joint`; + + if( $axis != "" ) $upaxis = $axis; + setAttr ( $lenFraction +".input1X" ) `getAttr ( $joint +".t"+ $upaxis )`; + connectAttr -f $finalLengthOutput ( $lenFraction +".input2X" ); + connectAttr -f ( $lenFraction +".outputX" ) ( $joint +".t"+ $upaxis ); + $nodes = `zooAddArray_str $nodes { $lenFraction }`; + } + } + + return $nodes; + } + + +/* +builds a spline IK sub primitive. There are flags to turn on stretchiness, and also to override the stretch axis + +$prefix - standard character prefix (all controls built by this proc are prefixed with this string +$start - which side of the character are the controls on? l or r +$end - the bicep, upper arm, or humerous +$optionStr - standard option string - see flag docs for info on option strings + +option flags +------- +-axis [string] which axis to apply the stretch to (usually the axis pointing along the length of the joint) +-stretch [int] turn this flag off if you don't want the spline control to be stretchy + +controller names are returned. +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTBuildWorld.mel b/2009-x64/zooScripts/scripts/CST/zooCSTBuildWorld.mel new file mode 100644 index 0000000..ea93eac --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTBuildWorld.mel @@ -0,0 +1,100 @@ +zooArrays_str; +zooAttrUtils; +zooBrandTools; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooCSTPrimitives; +zooSpaceSwitching; +zooRenamerUtils; + + +//script documentation is at the end of this file +global proc string[] zooCSTBuildWorld( string $prefix, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + float $scale = 1; + + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $scale *= 2.5; + + + //------ + //the build world proc is slightly different from other creation procs - a) world is not a primitive, and + // b) it can be called multiple times, but will only create one world if another is detected + //------ + string $world = zooGetElement_str( 0,`zooGetBrandedWith "world" $prefix` ); + string $parts = zooGetElement_str( 0,`zooGetBrandedWith "parts" $prefix` ); + string $masterqss = zooGetElement_str( 0,`zooGetBrandedWith "masterqss" $prefix` ); + string $qss = zooGetElement_str( 0,`zooGetBrandedWith "qss" $prefix` ); + int $alreadyBuilt = 0; + + if( `objExists $world` ) $alreadyBuilt = 1; + if( !$alreadyBuilt ) { + string $rigAuthor = `getenv USER`; + string $setupVersion = `zooCSTInfo version`; + string $date = `about -cd`; + + $world = `zooBuildControl world ( "-type hex -surface 0 -scale "+ (2.5*$scale))`; + $parts = `group -empty`; + $qss = `sets -empty -text "gCharacterSet" -n ( $prefix +"_body_ctrls" )`; + $masterqss = `sets -empty -text "gCharacterSet" -n ( $prefix +"_all_ctrls" )`; + + sets -add $masterqss $qss; + $world = `rename $world ( $prefix +"_world" )`; + $parts = `rename $parts ( $prefix +"_parts_grp" )`; + + addAttr -ln setupWithVersion -dt "string" $world; + addAttr -ln rigAuthor -dt "string" $world; + addAttr -ln date -dt "string" $world; + setAttr -l 1 -type "string" ( $world +".rigAuthor" ) $rigAuthor; + setAttr -l 1 -type "string" ( $world +".setupWithVersion" ) $setupVersion; + setAttr -l 1 -type "string" ( $world +".date" ) $date; + connectAttr -f ( $world +".s" ) ( $parts +".s" ); + + //add right items to the world controller + int $qssIdx = `zooAddConnect $world $masterqss`; + zooObjMenuAddCmdAll $world "toggle rig vis" "{\nstring $childs[] = `listRelatives -type transform #`;\nint $vis = !`getAttr ( $childs[0]+\".v\" )`;\nfor($a in $childs) if( `objExists ( $a+\".v\" )`) if( `getAttr -se ( $a+\".v\" )`) setAttr ( $a+\".v\" ) $vis;\n}"; + zooObjMenuAddCmdAll $world "reset to rigpose" ( "zooUtils;\nstring $all[] = `zooQuerySet %"+ $qssIdx +" 0 1`;\nfor( $a in $all ) zooResetAttrs $a;" ); + zooObjMenuAddCmdAll $world "draw all lines of action" "string $menuObjs[] = `zooGetObjsWithMenus`;\nfor( $m in $menuObjs ) {\n\tint $cmds[] = `zooObjMenuListCmds $m`;\n\tfor( $c in $cmds ) {\n\t\tstring $name = `zooGetObjMenuCmdName $m $c`;\n\t\tif( `match \"draw line of action\" $name` != \"\" ) eval(`zooPopulateCmdStr $m (zooGetObjMenuCmdStr($m,$c))`);\n\t\t}\n\t}"; + zooObjMenuAddCmdAll $world "controls as curves" ( "zooCSTCtrlType "+ $prefix +" 0 1;" ); + zooObjMenuAddCmdAll $world "controls as solids" ( "zooCSTCtrlType "+ $prefix +" 1 0;" ); + zooObjMenuAddCmdAll $world "controls as both" ( "zooCSTCtrlType "+ $prefix +" 1 1;" ); + + //add world control to master qss + sets -add $masterqss $world; + + //turn unwanted transforms off, so that they are locked, and no longer keyable + zooAttrState "-attrs v -k 0 -l 1" $world; + zooAttrState "-attrs t r s v -k 0" $parts; + + //now brand all objects + string $allSetupObjects[] = { $world, $parts, $masterqss, $qss }; + for( $obj in $allSetupObjects ) zooBrandObject name $prefix $obj; + zooBrandObject world $prefix $world; + zooBrandObject parts $prefix $parts; + zooBrandObject masterqss $prefix $masterqss; + zooBrandObject qss $prefix $qss; + } + + return { $world, $parts, $masterqss, $qss }; + } + + +/* +builds the world controls +------- + +$prefix - the character prefix used to identify the character +$optionStr - standard option string - see technical docs for info on option strings + +option flags +------- +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTCtrlType.mel b/2009-x64/zooScripts/scripts/CST/zooCSTCtrlType.mel new file mode 100644 index 0000000..c166121 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTCtrlType.mel @@ -0,0 +1,56 @@ +zooArrays_str; +zooBrandTools; +zooUtils; + + +global proc zooCSTCtrlType( string $prefix, int $showSurface, int $showCurve ) { + string $ctrls[] = {}; + string $prefixes[] = {$prefix}; + + if( $prefix == "*" ) $prefixes = `zooListAllCSTChars`; + for( $p in $prefixes ) { + string $all[] = `zooGetBrandedWith masterqss $p`; + if( `objExists $all[0]` ) $ctrls = zooAddArray_str($ctrls,`zooQuerySet $all[0] 0 1`); + } + + for( $c in $ctrls ) { + string $surfaces[] = `listRelatives -type nurbsSurface -type mesh -f -s $c`; + string $curves[] = `listRelatives -type nurbsCurve -f -s $c`; + string $shapes[] = `listRelatives -f -s $c`; + + //first check the initial hide state of the shape nodes - if all shape nodes + //on the control are hidden, chances are its a "shape hidden control" such as + //a gimbal - if so, keep loopin + int $anyVisible = 0; + for( $shape in $shapes ) if( `getAttr ( $shape +".v" )`) $anyVisible = 1; + if( !$anyVisible ) continue; + + //now make sure ALL shape nodes are hidden - and only unhide what we want + for( $shape in $shapes ) if( `getAttr -se ( $shape +".v" )` ) setAttr ( $shape +".v" ) 0; + if( $showSurface ) { + for( $surface in $surfaces ) if( `getAttr -se ( $surface +".v" )` ) setAttr ( $surface +".v" ) 1; + //if the control has no surface shapes, then make sure all of its curve shapes are visible + if( !`size $surfaces` ) for( $curve in $curves ) if( `getAttr -se ( $curve +".v" )` ) setAttr ( $curve +".v" ) 1; + } + if( $showCurve ) { + for( $curve in $curves ) if( `getAttr -se ( $curve +".v" )` ) setAttr ( $curve +".v" ) 1; + //if the control has no curve shapes, then make sure any of its surface shapes are visible + if( !`size $curves` ) for( $surface in $surfaces ) if( `getAttr -se ( $surface +".v" )` ) setAttr ( $surface +".v" ) 1; + } + } + } + + +global proc string[] zooListAllCSTChars() { + string $worlds[] = `zooListAllWithBrand world`; + string $chars[] = {}; + + for( $world in $worlds ) $chars[( `size $chars` )] = `zooQueryBrand $world world`; + $chars = `stringArrayRemoveDuplicates $chars`; + + return $chars; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTDependencies.mel b/2009-x64/zooScripts/scripts/CST/zooCSTDependencies.mel new file mode 100644 index 0000000..f648aa4 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTDependencies.mel @@ -0,0 +1,83 @@ +global proc string[] zooCSTDependencies( string $mode ) { + string $melDependencies[] = {}; + string $includeFiles[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAlign"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooBrandTools"; + $melDependencies[( `size $melDependencies` )] = "zooBounds"; + $melDependencies[( `size $melDependencies` )] = "zooBuildControl"; + $melDependencies[( `size $melDependencies` )] = "zooCSTCtrlType"; + $melDependencies[( `size $melDependencies` )] = "zooCSTPrimitives"; + $melDependencies[( `size $melDependencies` )] = "zooCSTValidateFlags"; + $melDependencies[( `size $melDependencies` )] = "zooCSTMakeStretchy"; + $melDependencies[( `size $melDependencies` )] = "zooCSTUtils"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooObjMenuUtils"; + $melDependencies[( `size $melDependencies` )] = "zooShelveIt"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooStrUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + + $includeFiles[( `size $includeFiles` )] = "zooCSTInfo"; + $includeFiles[( `size $includeFiles` )] = "zooRenamerUtils"; + $includeFiles[( `size $includeFiles` )] = "zooReorderAttrs"; + $includeFiles[( `size $includeFiles` )] = "zooArrays_float"; + $includeFiles[( `size $includeFiles` )] = "zooArrays_int"; + $includeFiles[( `size $includeFiles` )] = "zooAttrUtils"; + $includeFiles[( `size $includeFiles` )] = "zooLineOfAction"; + $includeFiles[( `size $includeFiles` )] = "zooShaders"; + $includeFiles[( `size $includeFiles` )] = "zooChangeSpace"; + $includeFiles[( `size $includeFiles` )] = "zooCSTWin"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildWorld"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildRoot"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimRootSpine"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimBasicSpine"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimReverseSpine"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildMPath"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimFKSpine"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimIKSpine"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimIKFKSpine"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimHand"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimHead"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimEyes"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimMoveableEyes"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimArm"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimLeg"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildPrimHaunch"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildIKFK"; + $includeFiles[( `size $includeFiles` )] = "zooCSTBuildSplineIK"; + $includeFiles[( `size $includeFiles` )] = "zooHelp"; + $includeFiles[( `size $includeFiles` )] = "zooKeyCommands"; + $includeFiles[( `size $includeFiles` )] = "zooMatchNames"; + $includeFiles[( `size $includeFiles` )] = "zooObjMenu"; + $includeFiles[( `size $includeFiles` )] = "zooStickToCurve"; + $includeFiles[( `size $includeFiles` )] = "zooSpaceSwitching"; + $includeFiles[( `size $includeFiles` )] = "zooSurgeon"; + $includeFiles[( `size $includeFiles` )] = "zooSurgeonUtils"; + $includeFiles[( `size $includeFiles` )] = "zooTips"; + $includeFiles[( `size $includeFiles` )] = "zooVectors"; + + $helpDependencies[( `size $helpDependencies` )] = "zooCSTHelp_about"; + $helpDependencies[( `size $helpDependencies` )] = "zooCSTHelp_flags"; + $helpDependencies[( `size $helpDependencies` )] = "zooCSTHelp_intro"; + $helpDependencies[( `size $helpDependencies` )] = "zooCSTHelp_works"; + $helpDependencies[( `size $helpDependencies` )] = "zooCSTHelp_tech"; + + $iconDependencies[( `size $iconDependencies` )] = "zooCST.xpm"; + $iconDependencies[( `size $iconDependencies` )] = "zooTriggered_0.xpm"; + $iconDependencies[( `size $iconDependencies` )] = "zooTriggered_1.xpm"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-deps" ) return $melDependencies; + if( $mode == "-docs" ) return $helpDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-scripts" ) { + $melDependencies = `zooAddArray_str $melDependencies $includeFiles`; + $melDependencies = `stringArrayRemoveDuplicates $melDependencies`; + return $melDependencies; + } + return {}; + } diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTHelp_flags.zooHelp b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_flags.zooHelp new file mode 100644 index 0000000..eca1d5e --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_flags.zooHelp @@ -0,0 +1,109 @@ +----Flags for Additional Options---- +The additional options field provides a space for users to specify flags which are not available through the UI. Using the additional options field helps keep the UI simple, while still providing full control over the zooCST commands. This doc lists all the official flags for each of the primitives, and what they do. + +*Global Flags +The following flags affect ALL kinds of primitives when they're present in the additional options field. + +-scale [float] The scale flag tells zooCST what scale to make the control objects. This is purely a visual thing. If not specified in the additional options, zooCST takes the scale from the "global scale". + +-curve [bool] Tells zooCST whether to build curve controls or not. If not specified in the additional options, zooCST takes the setting from the "curve controls" check box in the UI. + +-spaceswitching [bool] Allows you to control whether space switching is added to the controls built by zooCST. Use this flag to manually add space switching yourself, or leave it off altogether for a faster rig + +-useExisting [bool] By default, this flag is true. Its used for rebuilding primitives, and if true, this will tell the rebuild command to re-use existing control objects. So if you alter the control representations in any way, then this flag ensures that when a primitive is rebuilt, the altered representation is used. + +-colour [int] By default, controls aren't assigned a colour, but if you want to colour your controls (their wireframes that is) you can use the colour flag. This flag is an integer, and using it will turn on the "draw overrides" for the control objects. + + +*Predecessor Overrides +These flags are used to override predecessors found by zooCST. These are useful for using zooCST primitives on your own rigs. For example, if you have a character that you've manually rigged, but you want to use a zooCST arm primitive, then you can tell zooCST to use the controls you've already built for the dynamic parenting. + +-world [string] +-root [string] +-chest [string] +-head [string] + +NOTE: if zooCST doesn't find the objects specified, it will ignore the flag + + +*Root Primitive +-buildhips [bool] if you don't want zooCST to build a hip control, then turn it off with this flag (ie -buildhips 0) + + +*Head Primitive +-buildneck [bool] if you don't want zooCST to create a neck control, then turn it off with this flag (ie -buildneck 0) + + +*IK Spine Primitive +-orient [bool] If you don't want the last joint in the spine to be oriented to the chest control, then turn this flag off (ie -orient 0) + +-axis [string] This will tell zooCST which axis to use as the stretch axis. By default zooCST will try to guess which axis to use + + +*Arm and Leg Primitives +The following flags apply to both arm and leg primitives. Arms and Legs are both based on the IK/FK sub primitive, and both share the same command to make them stretchy. + +-fkCurve [bool] Setting this flag on (ie -fkCurve 1) tells zooCST to build the fk controls as curve controls. If you turn this flag on, but have the "curve controls" checkbox un-ticked, you can combine geometry and curve controls + +-fkType [string] This flag allows you to set what the fk controls look like. By default, zooCST builds the fk controls as cubes. You can use this flag to make them look like any of the shapes that the zooCSTBuildControl command supports (see below under the *zooCSTBuildControl command heading). Example: "-fkType circle" this flag setting would build the fk controls as circle curves. + +-ikType [string] + +-poleType [string] + +-buildclav [int] If you don't want the clavicle control build, then set this flag to false. By default, this flag is true + +-kneeMode [int] Currently there are only two knee modes, 0 and 1. In mode zero, the knee control inherits y-axis rotation from the foot only, and is constrained between the foot control, and the root. Mode 1 knee is simply parented to the foot control, and has dynamic parenting enabled. + +-triggers [bool] If you don't want triggers (the selection handles on the elbow/knee that are selection triggers for the pole vectors) created, then turn them off using this flag (ie: -triggers 0) + +-invert [bool] This is specifically for stretchy arms and legs. When zooCST builds stretchy limbs, it assumes the right side (the character's right side) joints have negative joint translations. If they don't, then turn invert on. Basically if your arms twist inside out when you turn on stretch, then try turning on invert (ie: -invert 1) + + +*The Finger Primitive +The finger primitive takes the following flags: + +-axis [string] By default zooCST tries to figure out which axis to rotate the fingers on, but if it gets it wrong, you can force it to use a specific axis using this flag + +-sliders [bool] If you don't want the finger primitive to be controlled by sliders, then turn this flag off + +-wrist [string] By default the parent of the base joint is assumed to be the wrist. Use this flag to override the which object is the wrist + +-control [string] If sliders are being written for the finger primitive, the attributes are added to this object + +-invert [bool] Inverts all rotations controlled by the sliders + +-num [int] Explicitly set the number of joints in the finger. By default the script assumes all children of the base joint are finger joints. If this is not the case, then set the number of joints using this flag. + +-name [string] Set the name of the finger using this flag. So for the pinky finger, you would use -name pinky + + +*zooCSTBuildControl command +this is the command used to build a control object in zooCST. It builds the geometry for the control, and deals with snapping it to a target object, orienting/offsetting it if needed, and even changing its colour. + +-colour [int] this is the colour "index" that the control will use. This index is just taken from the override colours on any transform node. To find out which number a colour is, try double clicking a layer, and count the number of colour swatches to the colour you want, starting at zero from the top left corner. So black is 1, pre blue is 6, pure red is 13, etc... + +-orient [int] turning this flag on will make the control an oriented control, which basically uses a joint node as the transform node, so it can be oriented. When on, the control is oriented to the target object. + +-curve [int] if this flag is turned on, the control will be a curve control. Otherwise it will be geometry. + +-scale [float] this is the scale of the object. Most controls are 1 unit across at a scale of 1. This is purely a visual flag, as the a control's transforms are always frozen when its created. + +These are the different control types that the zooCSTBuildControl command supports: + +face, cube, cone, locator, sphere, cylinder, eye, ring, hex, circle, starCircle, null + + +*Make Stretchy Command +the zooCSTMakeStretchy command takes the following flags: + +-axis [string] forces zooCST to use the specified axis as the "stretch" axis for the joints + +-invert [bool] inverts the "parity" of the stretch. by default, zooCST figures out whether the joints are supposed to have negative or positive translation. if it gets it wrong, then try inverting it manually using -invert 1 + +-startObj [string] this forces the strech command to use the specified object as the start object for the measure node + +-endObj [string] this forces the strech command to use the specified object as the end object for the measure node + +Hamish McKenzie ©2005... +macaroniKazoo Productions ©2005... \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTHelp_intro.zooHelp b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_intro.zooHelp new file mode 100644 index 0000000..fc9daac --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_intro.zooHelp @@ -0,0 +1,69 @@ +----Introduction---- +The CST help files are broken up into 4 major parts. This is the introduction. It covers the basics about navigating the UI, and how to get started. + +There is also the "How it works" section, which covers what makes CST different from other rigging tools. The "Technical Help" section, which is useful for those interested in integrating CST into their own pipeline, or extending it for their own needs. And lastly, there is the flag documentation. This goes through a list of flags you can use to alter the behaviour of zooCST primitives when you build them. + + +----Welcome to CST---- +The Character Setup Toolkit is a collection of scripts designed to help create complex character rigs easily. It does this, by considering each part of the rig as a single element. These elements in CST are called "rig primitives". The rig primitives available in this version of CST are: root, fkSpine, ikSpine, head, basicEye, moveableEye, arm, leg and finger. + +So why does the world need another set of rigging scripts? zooCST includes a few innovations that makes zooCST rigs easier to animate with, as well as easier to upgrade in the future, when new versions of zooCST become available. Its also really easy to use, and highly customisable. + + +----Where to Start---- +The UI is arranged in a sequence of tabs. Because of the way CST works, its best to go through the tabs and create each rig primitive in the order the tabs are layed out. So, we start with the Root and Spine primitives. This is far from essential, but it gives you the most flexible rig. + +The reason you should create the rig primitives in the correct order is because some rig primitives can take advantage of other rig primitives if they exist. For example, if the spine and head primitives exist, the arm primitive will be able to use them as dynamic parents. You can still create the arm without the spine or head, but it they're built first, the arm will be that much more useful. + +Building a rig primitive through the interface is simple. Each primitive requires you to tell it the names of the different parts of the rig that primitive needs to know about, in order to control. To do this, simply select the object, and click the button with the -> arrow symbol. If your skeletons are suffixed with _L and _R for the left and the right side respectively, you only have to enter one side, and the script will find the name of the corresponding joint on the other side. + +For example, if your bicep joint is called: char_bicep_L, then when you select it, and enter it into the UI, zooCST will automatically look to see whether the object char_bicep_R exists, and if so, it will add it to the right side in the UI. This is the only case where naming of joints has an effect on zooCST. It should be noted that this is purely an interface enhancement, and in no way does the naming of joints have an effect on the script. + +So to create a root primitive, select the character's root joint, and press the button labelled- "Root->". The name of the root joint will appear in the box beside the button. Similarly for the hips - the hips is a single joint that the legs are parented to, and is also known as the groin or pelvis. + +The last step before creating your primtive, is to give the character a name. When you build a primitive in zooCST, the primitive gets branded with a name. This name allows zooCST to find all other parts of a character based on the name, or prefix. zooCST won't let you build a primitive without giving it a name, so make sure you enter a prefix. + +So, once you've entered a prefix, and both of the objects have been specified, press the "create root primitive" button, and voila! + + +----Guessing---- +The "Guess All" button is a simple convenience for those who adhere to the zooCST skeleton naming convention. Its a pretty simple convention. Basically the names of the joints should be the same as the names of the buttons in the zooCST UI, but with an _L or _R for the left and right sides of the body. For example, the leg joints are thigh_L, knee_L and ankle_L for the left side. The joint names are free to have a prefix, as long as the _L or _R comes last in the joint name. Example: char_bicep_L_side is invalid, because the _L isn't last, but char_bicep_upper_L is valid, and would be found by the script. + +If you don't want to use the naming convention, zooCST will still function perfectly, the script just won't be able to guess which joints to use, so you'll have to specify them manually. No big deal really. + +Regardless of whether you use the naming convention or not, CST can also try to determine what size your controls should be built at by pressing the "guess size" button. This simply finds out the size of the bounding box for the entire skeleton and uses the height from that as the size for the controls. It simply needs the root joint to be specified to guess the size. + + +----What is Space Switching?---- +Space switching is basically just animating what an object is parented to through animating weights of a parent constraint. When zooCST sets up space switching however, it creates some additional things that make animating transitions between parents easy. Items are added to the object's right click menu that allow you to change the parenting without affecting the object's world space position. If you don't have the options in the object's right click menu, make sure you have renamed the appropriate dagMenuProc script - zooCST comes with 3 versions of the script, one for maya v5, v6 and v6.5. Rename the appropriate one to simply dagMenuProc.mel and restart maya. You should now have "parent to ..." options in the right click menu for the arm/leg controls, and any other controls that have dynamic parenting. + +The space switching tab provides an interface to the zooCSTUtils function: zooCSTUtilsCreateSpaceSwitch. + + +----How Come There Aren't Any Options?---- +Well, there actually are heaps of options for most primitives. Its just a lot of the options aren't plainly visible in the UI. Most options in zooCST are implemented as flags, which can be specified in the "additional options" field at the bottom of the window in each tab. Right clicking this field, lets you choose from a list of flags for convenience. To get info on what each flag does, check out the "Additional Flags" section of the help. + +As zooCST evolves, more and more features get added, and the one thing I don't want, is the UI to become some enormous bohemoth. UI programming takes up a huge amount of code, so using the flag system, adding functionality is super easy, and takes only seconds to add to the UI. + +When you want to use a flag, as a reassurance there is a "check flags" button that will make sure the flags you've added are valid, before you create the primitive. This is not always correct, but most of the time it speaks the truth. If you're dead sure your flags are valid, and its still not working right, chances are I've bollocksed something up. If so, i can be berrated at: cst@mel.macaronikazoo.com + + +----Quick Notes About Arm Primitives---- +All arm primitives are assumed to have a single clavicle joint which the bicep is parented to. Creating a clavicle isn't optional in zooCST yet, but optional clavicles is a planned feature in coming versions. + + +----Quick Notes About Leg Primitives---- +When you create your leg primitive, to get proper animation on the bank for each foot, you will have to manually adjust the pivot points to be on either side of the foot geometry. Unfortunately the script is unable to do this step automatically, as there is no way for the script to know how wide a character's foot geometry is. So it is left to the user to place the bank pivot points. + +The bank pivot points are controlled by the two groups, which can be found under the foot controllers: +prefix_leg_bank_L_rig_controller_L +prefix_leg_bank_L_rig_controller_R + +You will need to adjust these two objects for each leg. + + +----Troubleshooting---- +While I can't guarantee detailed support, I will try my hardest to help anyone out who needs help getting zooCST to work. If you have trouble with the script, and are getting strange errors, contact the author at: cst@macaronikazoo.com + +Hamish McKenzie ©2005... +macaroniKazoo Productions ©2005... \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTHelp_tech.zooHelp b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_tech.zooHelp new file mode 100644 index 0000000..2d385e9 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_tech.zooHelp @@ -0,0 +1,150 @@ +----CST Architecture---- +The Character Setup Toolkit abstracts character rigging by defining common rig sub-structures, or "rig primitives". Rig structures such as arms, legs, spines etc, are all considererd one "part". Using these common "rig primitives", characters can be quickly rigged using the scripts that comprise the setup toolkit. + +NOTE: if you plan to use any of the zooCST commands in your own scripts (and please, feel free to), make sure all the scripts that zooCST depends on have been sourced. The easiest way to do this is to open the zooCST window, as it sources all dependencies when it first loads. Or you can source them manually using: + +source zooCST; +string $deps[] = `zooCSTDependencies -scripts`; +for( $script in $deps ) eval( "source "+ $script ); + + +----CST Rig Primitives---- +Building the rig primitives is usually done through the UI, but can also be done by calling the primitive creation commands directly. For example, if you wanted to build an fkSpine primitive: + +zooCSTBuildPrimFKSpine charName spineBase spineEnd "-scale 0.25 -isCurve 1"; + +Currently the primitives "know" how to re-build themselves. The zooCSTPrimitives script contains all the primitive based operation commands. Primitives offer a powerful higher level concept of rigging. For example, as of v4 of zooCST, you can rebuild primitives. Each primitive, when created, is given all the information needed to rebuild itself, using the primitive commands contained in the zooCSTPrimitives script. + +Primitives are actually time nodes (time nodes are used because they're "light", but still "known" nodes - using unknown nodes can cause problems). Each object involved in creating a rig primitive gets registered with the primitive node, as does each object the primitive creates. Registering an object with a primitive creates a connection to it, or vice versa, depending on what the object is registered as (see below). Registering an object with a primitive allows the primitive to "keep track" of what objects were used to create it, and what nodes it has itself created. It also contains a list of any user options that were set when the primitive was created. Using this information, the primitive can be rebuilt at a later date, as all the information used to create it can be found by a script. + +You can register an object with a primitive in one of three different ways. As an input, as an ouptut, or as a control. The difference between these are discussed in the Primitives section of the "How it Works" section of the help. + +The primitive tools are fairly comprehensive, and reasonably well documented. For the dirty details on primitives, please read the comments contained in the zooCSTPrimitives script. + + +----Branding---- +zooCST uses branding to later identify objects. Using a node naming convention to identify objects is sloppy, as node names are very fluid things. So instead of relying on node names, zooCST uses branding to identify objects. Branding an object simply attaches a string attribute of known name. Information can then be stored in this string to further identify a node. + +For example, the root control gets branded with these attributes: +zooBrand_name +zooBrand_root + +The value of the attributes is set to the prefix of the character. So now from script, we can tell that this node is a root control, belonging to a certain character. Primitives like arms and legs are also branded with id numbers, as its usual for a character to have multiple arm or leg primitives + +All of the branding functions can be found in the zooBrandTools script, so feel free to look through that script yourself to find out exactly what it provides. Here is a rough overview of some of the more useful commands: + +So using our example above, if you had already build a rig -for a character called georgie- that you wanted to use with zooCST, and wanted to brand the root control: +zooBrandToolsBrandObject name georgie rootControlObject; +zooBrandToolsBrandObject root georgie rootControlObject; + +The name brand records what the character's prefix is, while the root brand simply specifies that the control is a root control. The prefix doesn't need to be added to the root brand, but there's no harm in adding it there as well. + +To list all branded objects in a scene: +zooBrandToolsListBranded; + +And if you want to find all objects with the "root" brandname: +zooBrandToolsGetBrandedWith root georgie; + +Lastly, for convenience, this procedure will return all objects branded with a list of brands +zooBrandToolsGetBrandedWithList { "name","arm" } { "georgie","left" }; + +So the brand tools provides a comprehensive suite of tools to discover names of primitive nodes, and branded objects. + + +----Combining CST With Your Own Rigs---- +If you're trying to integrate a zooCST rig primitive into your own rig (say you want to use zooCST arms on your already made rig) you don't have to use branding. In fact, using branding is the hard way of doing things. You can specify objects to be used in place of branded ones through the predecessor flags. This can be done for any rig primitive using one of the following flags: + +-world [string] +-root [string] +-chest [string] +-head [string] + +replace the [string] with the object you want to be used. For more info on the predecessor flags, check out the "Additional Flags" section of the help. + + +----Option Strings---- +All primitive creation commands, and a few other zooCST scripts have an optionStr argument. This option string is basically a string containing optional flags, which alter the way the script behaves. The flags look exactly like flags passed to normal MEL commands. For example: + +zooCSTBuildControl cube "cubeObject" "" "-scale 1 -offset 3up 5fwd -curve 1"; + +this command will create a cube curve, offset 3 units up and 5 units forward of the origin. These flags are optional, so the command: + +zooCSTBuildControl cube "cubeObject" "" ""; + +will also create a cube object using the default creation options. Possible flags are listed in the actual script. Entering invalid flags simply does nothing, it will not raise an error. + +Option parsing is done by the zooFlags script, and can easily be used for other scripts outside zooCST. Many other zoo scripts also use this script. + + +----Space Switching---- +Creating space switching controls into a rig is a great idea and can make an animators life much easier. A space switching allows a control's parent to be changed. Dynamic parenting it is sometimes called. Space switching requires that an object has a "dummy" parent object, or space object. This object is parent constrained between multiple objects. By constraining this space object, the child - the control - is free to be animated under its parent of choice. + +CST offers a quick and easy way to setup space switching using a command found in the zooCSTUtils script called: zooCSTUtilsCreateSpaceSwitch. Its reasonably simple to use. For example, if you had an arm controller called armCtrl_L, which was parented to the object armSpace_L, and you wanted it to have the parents: world_ctrl, root_ctrl, chest_ctrl: + +zooCSTUtilsCreateSpaceSwitch armCtrl_L armSpace_L { "world_ctrl", "root_ctrl", "chest_ctrl" } { "world", "root", "chest" } "-mo"; + +The last array is the list of names that appears in the animatable attribute on the control object. So the animator would be able to choose from the list which parent object they wanted the control to follow. + +It should be noted that space switching can be used on absolutely anything. I've used it to great effect for prop animation (setting up a prop with multiple dynamic parents makes picking up and putting down props dead simple to animate), on custom rigs, or anywhere else dynamic, easily animated parenting is needed. + + +----Building Controls---- +CST builds its control objects by using the script: zooCSTBuildControl. By specifying a target object, this script will place the control object it builds at this position (and orientation if needed) and freeze its transforms. As of v3.4 there is now an interface to the buildControl command in the UI. + +zooCSTBuildControl allows the creation of normal transform controls, or an oriented control, which uses a joint node for the transform. Because joints can be oriented in space, and have their rotations frozen into the jointOrient attribute, using a joint allows the control to be oriented. To determine what type of control the zooCSTBuildControl creates, set the -orient flag to on. + +To build a control using zooCSTBuildControl: +zooCSTBuildControl cube "armControl" armJoint_L "-scale 0.5 -offset 0 0 0"; + +This command will make the control a cube visually (other types are: sphere, cylinder, cone, locator, null), and call it armControl. The object will be placed at the location of the armJoint_L object, and will have no offset. For more details on the flags you can use with the zooCSTBuildControl command, see the "Additional Flags" help. + +The offset string in the above example is all zeros, but it can also contain keywords such as up, side, and fwd, to offset the control in one of these directions. Keywords are used for compatability with Z-up scenes. + +For example: +zooCSTBuildControl cone "elbow_L" elbow_joint_L "-scale 0.5 -offset 3up -2fwd"; + +This offset will move the control 3 units up and 2 units backwards. NOTE: keywords can be given in any order, but must be preceded by a number. + + +----Stretchy Limbs---- +Making limbs stretchy using zooCST is reasonably straight forward. Stretchi-ness can be added to arms or legs automatically through the UI, but you can also make limbs stretchy AFTER they've been created using the zooCSTMakeStretchy command. + +zooCSTMakeStretchy $armControl $ikHandle "-axis x"; + +the armControl is the control object for the arm, and is usually called something like primoBoy_arm_ctrl_R. This is the object that the stretch control attributes will be added to. The parity is which side of the body the control belongs to. r for right, and l for left. NOTE that it must be a lowercase l or r. The ikHandle is the name of the ikHandle controlling the limb that you want to be stretchy. This is usually the same as the armControl object if you've set your arms up using zooCST. So for the primoBoy rig, you can make the arms strechy using the following command: + +zooCSTMakeStretchy primoBoy_arm_ctrl_L primoBoy_arm_ctrl_L "-axis x"; +zooCSTMakeStretchy primoBoy_arm_ctrl_R primoBoy_arm_ctrl_R "-axis x"; + + +----Adapting CST to your pipeline---- +CST can be adapted reasonably easily to different pipelines, because its such a modular toolset. Writing new rig primitives is reasonably simple using the tools zooCST provides. Discovering other parts of the rig is also easy using the zooBrandTools. + +Following is a list of some useful commands that you might use to write your own primitives. The location of the command (ie which script the command can be found in) is written in brackets. Have a look at the comments that go with the command for more detailed information on command usage: + +zooFindPolePosition (loc: zooCSTUtils) This command returns a position to place a pole vector at, so as to not move the joint chain. + +zooCSTUtilsCreateSpaceSwitch (loc: zooCSTUtils) Used to add space switching to an object. Automatically adds zooObjMenu commands to the object as well. + +zooCSTHideAttr (loc: zooCSTUtils) Easy to use command for hiding and unhiding multiple channels at once. + +zooGetInBTweenJoints (loc: zooCSTUtils) returns all the joints that lie between the start and end joint specified. + +zooCSTBetweenVector (loc: zooCSTUtils) returns the vector between two objects. This is really useful for finding which direction a joint is pointing. + +zooCSTUpVector (loc: zooCSTUtils) returns which axis is the closest to a direction specified. Useful when used in conjunction with zooCSTBetweenVector. ie: zooCSTUpVector elbow `zooCSTBetweenVector elbow wrist`; + +zooCSTBuildControl (loc: zooCSTBuildControl) Creates generic control objects of various shapes and types. This proc will position (and potentially orient) the control object to another object in the scene if needed. + + +----Name Matching---- +The name matching script (which is also used by zooXferAnim) is a general name matching script, and can be used easily outside zooCST. To use it, it needs two string array arguments. The first is the list of names to match, and the second is the list of names to choose from. For example: + +zooMatchNames { "char_name_leg", "joint12", "nurbsCurve1" } `ls -type joint` ""; + +will try to match the names in the first array, to one of the joints in the scene. The return array is always the same size as the first input array. If the script doesn't find a close enough match for a name, that entry will be an empty string. + +The name matching algorithm uses parity matching when matching names as well. Parity is which side of the character the object is on. ie left or right. Parity strings must be at the end of the name, and separated with an underscore. ie char_arm_left has parity, while left_arm_on_billy has no parity, because the left is not at the end of the name. Valid parity strings are: L, l, left, lt, lft for the left side, and: R, r, right, rgt, rt for the right side. + +Hamish McKenzie ©2005... +macaroniKazoo Productions ©2005... \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTHelp_works.zooHelp b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_works.zooHelp new file mode 100644 index 0000000..8b3da75 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTHelp_works.zooHelp @@ -0,0 +1,47 @@ +----Introduction---- +This section will give you a bit of an idea about what's happening "under the hood" of CST. It covers the main things to know about rigging with CST: Predecessors, Prefixes, Branding and Primitives. These are the four main points things that distinguish CST from other rigging tools. + + +----Using CST---- +Welcome to the Character Setup Toolkit. This script helps to simplify the somewhat tedious task of character setup. It aims to be maximally flexible, while still being simple to use. The architecture of the script allows it to be easily adapted to a different UI, with minimal hassle. + +The Character Setup Toolkit abstracts character rigging by defining common rig sub-structures, or "rig primitives". Rig structures such as arms, legs, spines etc, are all considererd one "part". Using the "rig primitives", characters can be quickly rigged using the scripts that comprise the setup toolkit. The following sections will give you an overview of what happens behind the scenes of CST to create its rig primitives. + + +----Predecessor Primitives---- +To get the full benefit of zooCST, the order you create rig primitives matters. Certain primitives are able to make use of "predecessor primitives" in order to be fully functional. For example, the arm primitive will use the chest and head control as dynamic parents if they exist. If they don't exist, its no drama, the arm will still be created, you just won't have the option of being able to dynamically parent the arm to the chest or head. + +If you're using zooCST in conjunction with your own rigs, you can specify your own objects as predecessors. See the flags documentation on which flags to use for predecessor overrides. + + +----Prefixes---- +A prefix in CST is used as a character identifier. CST uses the prefix to discover other parts of the rig using branding (discussed below). Its important that you keep your prefix the same when setting up different parts of the rig (ie the arms and legs). If you change the prefix, zooCST will no longer be able to find predecessor primitives, as it uses the prefix to indentify primitive nodes. + +At the moment, there is no way to change a prefix once a character has been rigged. + + +----Branding---- +CST brands all of its important controls to enable different parts of the script to identify accurately the object names of such controls. This also allows the user to freely change the names of controls, and frees them from a pre-defined naming convention. + +Branding is a simple process of adding a custom string attribute to an node. Most nodes that CST creates are branded with a name - which is the prefix of the character. By branding an object with the prefix of the character, zooCST can easily and accurately identify parts of the rig that belong to the character. + +Important nodes are branded with both a name, and a type. For example, the root control has both the "name" and "root" brands. This allows the spine primitive (for example) to parent itself to the root primitive regardless of when the root control was created. + +Its important to understand branding if you plan on manually creating certain parts of your rig, and automatically creating other parts with CST. For more information on how to create your own rigs manually in conjunction with zooCST, have a look in the Technical Notes section of the help. + + +----Primitives---- +Rig primitives in CST are actual nodes. A primitive node "knows" all the other objects in the scene that it needs to re-create itself. This enables zooCST to deal with rig primitives more like they were single objects. So they can be deleted as if they were a single object, rebuilt, and potentially other functions as well. + +A primitive node has three main connection types. Inputs, outputs, and controls. When a primitive is built, every node that gets created gets registered with the primitive as one of these types. Inputs are usually joints on the character's skeleton. The inputs are what the rig is built to control. So for an arm primitive, there are three inputs: the bicep, elbow and wrist. + +The outputs of a primitive are all the nodes associated with that part of the rig. Basically every single node that gets built by the primitive creation script should get registered as an output. Its the outputs that get disconnected and then deleted when a primitive is deleted. + +Lastly, the primitive knows what objects are considered controls. A control is really just a special kind of output. Most outputs are generally hidden from the animator, as they're not directly useful. The controls however, are the nodes that the animator interacts with, they're the interface between the animator and the rig. + +To inspect what rig primitives have been built in your scene, go to the Tools->List Primitives menu option. + +To find out more about what you can currently do with rig primitives, have a look through the zooCSTPrimitives script. + +Hamish McKenzie ©2005... +macaroniKazoo Productions ©2005... \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTInfo.mel b/2009-x64/zooScripts/scripts/CST/zooCSTInfo.mel new file mode 100644 index 0000000..8800623 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTInfo.mel @@ -0,0 +1,8 @@ +global proc string zooCSTInfo ( string $function ) { + string $creationDate = "08 March 2003"; + string $version = "4.06.11"; + + if( $function == "created" ) return $creationDate; + if( $function == "version" ) return $version; + return ""; + } diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTMakeStretchy.mel b/2009-x64/zooScripts/scripts/CST/zooCSTMakeStretchy.mel new file mode 100644 index 0000000..ce1003a --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTMakeStretchy.mel @@ -0,0 +1,281 @@ +zooArrays_str; +zooCSTUtils; +zooFlags; +zooUtils; +zooVectors; + + +//------ +// -dampen [float] this flag allows control over the dampen range - lower values cause the dampening to happen over a shorter range. setting to zero turns damping off. its technical range is 0-100, but in practice, its probably best to keep between 0-25. defaults to 12 +// -dampstrength [float] this is the strength of the dampening - ie how much the arm gets elongated as it nears maximum extension. the technical range is 0-100, but in reality, you'd probably never go beyond 10. default is 2 +//------ +global proc string[] zooCSTMakeStretchy( string $control, string $ikHandle, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $axis = ""; + string $primitive = ""; + string $startObj = ""; + string $endObj = ""; + string $prefix = ""; + string $parts = ""; + float $scale = 1; + float $dampRange = 12.0; + float $dampStrength = 2.0; + int $register = 0; + int $invert = 1; + int $elbowpos = 1; + + $optionTemp = `zooGetFlagArguments $optionStr axis`; if( `size $optionTemp` ) $axis = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr register`; if( `size $optionTemp` ) $register = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr primitive`; if( `size $optionTemp` ) $primitive = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr startObj`; if( `size $optionTemp` ) $startObj = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr endObj`; if( `size $optionTemp` ) $endObj = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr prefix`; if( `size $optionTemp` ) $prefix = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr invert`; if( $optionTemp[0] == "1" ) $invert = -1; + $optionTemp = `zooGetFlagArguments $optionStr elbowpos`; if( `size $optionTemp` ) $elbowpos = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr parts`; if( `size $optionTemp` ) $parts = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr dampen`; if( `size $optionTemp` ) $dampRange = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr dampstrength`; if( `size $optionTemp` ) $dampStrength = $optionTemp[0]; + if( $dampRange <= 0 ) $dampstrength = 0; + $dampRange = abs($dampRange); + $dampStrength = abs($dampStrength); + $dampRange /= 200.0; //divide by 200 because we want the input range to be 0-100, but internally it needs to range from 0-0.5 + $dampStrength /= 100.0; + + + //------ + //setup some current unit variables, and take parity into account + //------ + string $stretchAuto = "autoStretch"; + string $stretchName = "stretch"; + int $parityFactor = 1; + + $parityFactor *= $invert; + addAttr -ln $stretchAuto -at double -min 0 -max 1 -dv 1 $control; + addAttr -ln $stretchName -at double -min 0 -max 10 -dv 0 $control; + setAttr -k 1 ( $control +"."+ $stretchAuto ); + setAttr -k 1 ( $control +"."+ $stretchName ); + + + //------ + //build the network for distributing stretch from the fk controls to the actual joints + //------ + string $plusNodes[] = {}; + string $initialNodes[] = {}; + string $fractionNodes[] = {}; + string $clients[] = {}; + string $allNodes[] = {}; + + $clients = `ikHandle -q -jl $ikHandle`; + if( $axis == "" ) $axis = `zooCSTJointDirection $clients[1]`; //if no axis is specified, assume the second joint in the chain has the correct axis set + string $cons = connectionInfo("-sfd",(`ikHandle -q -ee $ikHandle`+".t"+$axis)); + $clients[( `size $clients` )] = `match "^[^.]+" $cons`; + + for( $n=0; $n<`size $clients`; $n++ ) $fractionNodes[( `size $fractionNodes` )] = `shadingNode -asUtility -name ( $clients[$n] +"_fraction_pos" ) multiplyDivide`; + if( !`objExists $startObj` ) $startObj = $clients[0]; + if( !`objExists $endObj` ) $endObj = $ikHandle; + + + //------ + //setup the minimum limits for each joint in the chain + //------ + string $clientAxes[] = {}; //not really used + float $clientLengths[] = {}; + float $totalLength = 0; + + $clientAxes[0] = `zooCSTJointDirection $clients[0]`; + $clientLengths[0] = `getAttr ( $clients[0] +".t"+ $axis )`; + for( $n=1; $n<`size $clients`; $n++ ) { + string $clientAxis = `zooCSTJointDirection $clients[$n]`; + float $length = `getAttr ( $clients[$n] +".t"+ $axis )`; + float $min = 0; int $minOn = 1; + float $max = 0; int $maxOn = 0; + + $clientAxes[$n] = $clientAxis; + $clientLengths[$n] = $length; + $totalLength += abs($clientLengths[$n]); + } + + + //------ + //build the network to measure limb length + //------ + string $loc_a = `group -em`; + string $loc_b = `group -em`; + string $measure = $loc_b; + string $aimAxis = "1 0 0"; + string $aimName = "tx"; + + parent $loc_b $loc_a; + string $constraint_a = zooGetElement_str(0,`pointConstraint $startObj $loc_a`); + $aimAxis = `zooCSTUpVector $loc_a (zooBetweenVector($loc_a,$loc_b))`; + $aimName = "t"+ `zooCSTUpVectorAsName $loc_a (zooBetweenVector($loc_a,$loc_b))`; + $aimAxis = `substitute "-" $aimAxis ""`; //remove the negative sign - we always want the child to be on a positive axis + + string $aimConstraint = zooGetElement_str(0,eval( "aimConstraint -aimVector "+ $aimAxis +" "+ $endObj +" "+ $loc_a )); + setAttr ( $loc_b +"."+ $aimName ) $totalLength; + makeIdentity -a 1 -t 1 $loc_b; //by doing this, the zero point for the null is the max extension for the limb + string $constraint_b = zooGetElement_str(0,`pointConstraint $endObj $loc_b`); + $allNodes = `zooAddArray_str $allNodes { $loc_a, $loc_b, $constraint_a, $constraint_b, $aimConstraint }`; + zooAttrState "-attrs t r s -k 0 -l 1" $loc_a; + zooAttrState "-attrs t r s -k 0 -l 1" $loc_b; + + + //------ + //create the stretch network + //------ + string $stretchEnable = `shadingNode -asUtility -n( $prefix +"_stretch_enable" ) multiplyDivide`; //blends the auto length smooth back to zero when blending to fk + string $fkikBlend = `shadingNode -asUtility -n( $prefix +"_fkik_stretch_blend" ) multiplyDivide`; //blends the auto length smooth back to zero when blending to fk + string $actualLength = `shadingNode -asUtility -n( $prefix +"_actual_length#" ) plusMinusAverage`; //adds the length mods to the normal limb length + string $lengthMods = `shadingNode -asUtility -n( $prefix +"_length_mods#" ) plusMinusAverage`; //adds all lengths together + string $finalLength = `shadingNode -asUtility -n( $prefix +"_final_length#" ) clamp`; //clamps the length the limb can be + string $manualStretchMult = `shadingNode -asUtility -n( $prefix +"_manualStretch_range_multiplier" ) multiplyDivide`; //multiplys manual stretch to a sensible range + string $dampen = `createNode -n( $prefix +"_dampen" ) animCurveUU`; + + for( $n=1; $n<`size $clientLengths`; $n++ ) //if any of the lengths are negative, the stretch will still be wrong, but will be easier to fix manually if this number is correct + setKeyframe -f($totalLength*-0.5) -v 0 $dampen; + setKeyframe -f($totalLength*-1*$dampRange) -v( $totalLength*$dampStrength) $dampen; + setKeyframe -f($totalLength*$dampRange) -v 0 $dampen; + keyTangent -f ":" -itt flat -ott flat $dampen; + + //NOTE: the second term attribute of the length condition node holds the initial length for the limb, and is thus connected to the false attribute of all condition nodes + setAttr ( $manualStretchMult +".input2X" ) ( $totalLength/10 ); + setAttr ( $actualLength +".input1D[0]" ) $totalLength; + setAttr ( $actualLength +".input1D[0]" ) $totalLength; + setAttr ( $finalLength +".minR" ) $totalLength; + setAttr ( $finalLength +".maxR" ) ($totalLength*3); + connectAttr -f ( $measure +"."+ $aimName ) ( $dampen +".input" ); + connectAttr -f ( $lengthMods +".output1D" ) ( $fkikBlend +".input1X" ); + connectAttr -f ( $ikHandle +".ikBlend" ) ( $fkikBlend +".input2X" ); + connectAttr -f ( $fkikBlend +".outputX" ) ( $stretchEnable +".input1X" ); + connectAttr -f ( $control +"."+ $stretchAuto ) ( $stretchEnable +".input2X" ); + connectAttr -f ( $measure +"."+ $aimName ) ( $lengthMods +".input1D[0]" ); + connectAttr -f ( $control +"."+ $stretchName ) ( $manualStretchMult +".input1X" ); + connectAttr -f ( $manualStretchMult +".outputX" ) ( $lengthMods +".input1D[1]" ); + connectAttr -f ( $dampen +".output" ) ( $lengthMods +".input1D[2]" ); + connectAttr -f ( $stretchEnable +".outputX" ) ( $actualLength +".input1D[1]" ); + connectAttr -f ( $actualLength +".output1D" ) ( $finalLength +".inputR" ); + $allNodes = `zooAddArray_str $allNodes { $dampen, $lengthMods, $actualLength, $finalLength, $manualStretchMult, $fkikBlend, $stretchEnable }`; + + + //------ + //connect the stretch distribution network up - NOTE this loop starts at 1 because we don't need to connect the + // start of the limb chain (ie the bicep or the thigh) as it doesn't move + //------ + for( $n=1; $n<`size $clients`; $n++ ) { + setAttr ( $fractionNodes[$n] +".input2X" ) ($clientLengths[$n]/$totalLength*$parityFactor); + + //now connect the inital coords to the plus node - then connect the + connectAttr -f ( $finalLength +".outputR" ) ( $fractionNodes[$n] +".input1X" ); + + //then connect the result of the plus node to the t(axis) pos of the limb joints + if( `getAttr -l ( $clients[$n] +".t"+ $axis )` ) setAttr -l 0 ( $clients[$n] +".t"+ $axis ); + connectAttr -f ( $fractionNodes[$n] +".outputX" ) ( $clients[$n] +".t"+ $axis ); + } + + + //------ + //now if we have only 3 clients, that means we have a simple limb structure + //in which case, lets build an elbow pos network + //------ + string $elbowPos = ""; + if( `size $clients` == 3 && $elbowpos ) { + float $default = $clientLengths[1]/$totalLength*$parityFactor; + int $isNeg = $default < 0? 1: 0; + + $default = abs($default); + addAttr -ln elbowPos -at double -min 0 -max 1 -dv $default $control; + setAttr -k 1 ( $control +".elbowPos" ); + + $elbowPos = `shadingNode -asUtility reverse`; + $elbowPos = `rename $elbowPos ( $clients[1] +"_elbowPos")`; + $allNodes[`size $allNodes`] = $elbowPos; + if( $isNeg ) { + string $mult = `shadingNode -asUtility multiplyDivide`; + setAttr ( $mult +".input2" ) -1 -1 -1; + connectAttr -f ( $control +".elbowPos" ) ( $elbowPos +".inputX" ); + connectAttr -f ( $control +".elbowPos" ) ( $mult +".input1X" ); + connectAttr -f ( $elbowPos +".outputX" ) ( $mult +".input1Y" ); + connectAttr -f ( $mult +".outputY" ) ( $fractionNodes[2] +".input2X" ); + connectAttr -f ( $mult +".outputX" ) ( $fractionNodes[1] +".input2X" ); + $allNodes[`size $allNodes`] = $mult; + } + else { + connectAttr -f ( $control +".elbowPos" ) ( $elbowPos +".inputX" ); + connectAttr -f ( $elbowPos +".outputX" ) ( $fractionNodes[2] +".input2X" ); + connectAttr -f ( $control +".elbowPos" ) ( $fractionNodes[1] +".input2X" ); + } + } + + + //------ + //now add all variable length nodes to the allNodes array + //------ + $allNodes = `zooAddArray_str $allNodes $fractionNodes`; + + + //------ + //finally, if the user wants the nodes created by this proc registered with a primitive, and then cleanup + //------ + if( $register ) if( `objExists $primitive` ) zooCSTPrimOutputs $allNodes $primitive; + if( `objExists $parts` ) parent $loc_a $parts; + int $idxA = `zooGetIdxOfElement_str $allNodes $loc_a`; + int $idxB = `zooGetIdxOfElement_str $allNodes $loc_b`; + $allNodes[$idxA] = `rename $loc_a ( $ikHandle +"_lockthis_extension_start" )`; + $allNodes[$idxB] = `rename $loc_b ( $ikHandle +"_lockthis_extension_end" )`; + + return $allNodes; + } + + +/* +creates stretch attribs on the $control object, and makes all joints controlled by the ikHandle stretchy +------- + +$control - the character prefix used to identify the character +$parity - which side is the arm on? l (left) or r (right) +$ikHandle - the bicep, upper arm, or humerous +$optionStr - standard option string - see technical docs for info on option strings + +option flags +------- +-axis [string] the stretch axis used by the joints in the limb. default: x +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +-startObj [string] the beginning of the measure node is attached to the start object. if its not specified, then the script assumes the start object is the start of the ik chain (usally the case) +-endObj [string] this is the object the end of the measure is attached to - by default its the +-invert [int] use this flag if the script inverts the limb when adding stretch +-parts [string] the parts node is simply an object that miscellanous dag nodes are parented under - if not specified, miscellanous objects are simply left in worldspace + +It is reccommended that this proc has a "root" control, a "chest" control and a "head" control already +built (and branded with these names) as it uses them as dynamic parents for the actual arm control. + +For example: +zooCSTMakeStretchy primoBoy_arm_ctrl_L l primoBoy_arm_ctrl_L "-axis x -scale 0.5"; +*/ + + +//returns the real length of the limb that an ik handle controls +global proc float[] zooCSTGetIKLength( string $ikHandle ) { + string $clients[] = `ikHandle -q -jl $ikHandle`; + float $lengthList[] = {}; + float $length = 0; + + $clients[( `size $clients` )] = `ikHandle -q -ee $ikHandle`; + for( $n=0; $n<`size $clients`-1; $n++ ) { + float $posA[] = `xform -q -ws -rp $clients[$n]`; + float $posB[] = `xform -q -ws -rp $clients[( $n+1 )]`; + float $sqd = `pow ($posA[0]-$posB[0]) 2` + `pow ($posA[1]-$posB[1]) 2` + `pow ($posA[2]-$posB[2]) 2`; + + $lengthList[( `size $lengthList` )] = `sqrt $sqd`; + $length += `sqrt $sqd`; + } + + return $lengthList; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTMakeStretchy_limitsMethod.mel b/2009-x64/zooScripts/scripts/CST/zooCSTMakeStretchy_limitsMethod.mel new file mode 100644 index 0000000..f0b4a33 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTMakeStretchy_limitsMethod.mel @@ -0,0 +1,198 @@ +global proc string[] zooCSTMakeStretchy( string $control, string $ikHandle, string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $optionTemp[] = {}; + string $axis = ""; + string $startObj = ""; + string $endObj = ""; + float $scale = 1; + int $invert = 0; + + $optionTemp = `zooGetFlagArguments $optionStr axis`; if( `size $optionTemp` ) $axis = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr startObj`; if( `size $optionTemp` ) $startObj = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr endObj`; if( `size $optionTemp` ) $endObj = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr scale`; if( `size $optionTemp` ) $scale = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr invert`; if( `size $optionTemp` ) $invert = $optionTemp[0]; + + + //------ + //build the nodes responsible for the stretch distribution + //------ + string $plusNodes[] = {}; + string $initialNodes[] = {}; + string $fractionNodes[] = {}; + string $clients[] = {}; + string $allNodes[] = {}; + + $clients = `ikHandle -q -jl $ikHandle`; + if( $axis == "" ) $axis = `zooCSTJointDirection $clients[1]`; //if no axis is specified, assume the second joint in the chain has the correct axis set + $clients[( `size $clients` )] = zooNameFromAttrPath(connectionInfo("-sfd", ( `ikHandle -q -ee $ikHandle`+".t"+$axis ))); + + for( $obj in $clients ) $fractionNodes[( `size $fractionNodes` )] = `shadingNode -asUtility -name ( $obj +"_fraction_pos" ) multiplyDivide`; + $allNodes = $fractionNodes; + + + //------ + //setup some current unit variables, and take parity into account + //------ + string $currentUnit = `currentUnit -q -linear`; + int $unitFactor = ( $currentUnit == "m" )?100:1; + int $parityFactor = 1; + + //if ( $parity == "r" ) $parityFactor = -1; + if ( `getAttr ( $clients[1] +".t"+ $axis )` < 0 ) $parityFactor = -1; + if( $invert ) $invert = -1; + else $invert = 1; + $parityFactor *= $invert; + + string $stretchAuto = "autoStretch"; + string $stretchName = "stretch"; + addAttr -ln $stretchAuto -at bool $control; + addAttr -ln $stretchName -at double -min 0 -max 10 $control; + setAttr -k 1 ( $control +"."+ $stretchAuto ); + setAttr -k 1 ( $control +"."+ $stretchName ); + + + //------ + //setup the minimum limits for each joint in the chain + //------ + string $clientAxes[] = {}; //not really used + float $clientLengths[] = {}; + + $clientAxes[0] = `zooCSTJointDirection $clients[0]`; + $clientLengths[0] = `getAttr ( $clients[0] +".t"+ $axis )`; + for( $n=1; $n<`size $clients`; $n++ ) { + string $clientAxis = `zooCSTJointDirection $clients[$n]`; + float $length = `getAttr ( $clients[$n] +".t"+ $axis )`; + float $min = 0; int $minOn = 1; + float $max = 0; int $maxOn = 0; + + $clientAxes[$n] = $clientAxis; + $clientLengths[$n] = $length; + if( $length > 0 ) { $min = $length; $max = 2*$min; $maxOn = 0; $minOn = 1; } + if( $length < 0 ) { $max = $length; $min = 2*$max; $maxOn = 1; $minOn = 0; } + eval( "transformLimits -t"+$axis+" "+$min+" "+$max+" -et"+$axis+" "+$minOn+" "+$maxOn+" "+$clients[$n] ); + } + + + //------ + //build the measure node + //------ + string $measure = `distanceDimension -sp -5 -5 -5 -ep 5 5 5`; + string $measureTransform[] = `listRelatives -p $measure`; + string $startLoc = zooNameFromAttrPath(`connectionInfo -sfd ( $measure +".startPoint" )`); + string $endLoc = zooNameFromAttrPath(`connectionInfo -sfd ( $measure +".endPoint" )`); + string $measureUnitConvert = `shadingNode -asUtility -name ( $obj +"_length_unit_conversizooCheckIfLockedon" ) multiplyDivide`; + + $startLoc = zooGetElement_str(0,`listRelatives -p $startLoc`); + $endLoc = zooGetElement_str(0,`listRelatives -p $endLoc`); + + if( `objExists $startObj` ) pointConstraint $startObj $startLoc; + else pointConstraint $clients[0] $startLoc; + if( `objExists $endObj` ) pointConstraint $endObj $endLoc; + else pointConstraint $ikHandle $endLoc; + + $allNodes = `zooAddArray_str $allNodes { $measure, $startLoc, $endLoc, $measureUnitConvert }`; + + + //------ + //create the stretch network + //------ + string $autoCondition = `shadingNode -asUtility condition`; + string $lengthAdder = `shadingNode -asUtility -name ( $ikHandle +"_limb_length" ) plusMinusAverage`; + float $totalLength = 0; + + for( $x in $clientLengths ) $totalLength += abs($x); //if any of the lengths are negative, the stretch will still be wrong, but will be easier to fix manually if this number is correct + + setAttr ( $measureUnitConvert +".operation" ) 2; + setAttr ( $measureUnitConvert +".input2X" ) $unitFactor; + setAttr ( $autoCondition +".secondTerm" ) 1; + setAttr ( $autoCondition +".colorIfFalseR" ) $totalLength; //if auto stretch is off, output the original length + connectAttr -f ( $control +"."+ $stretchAuto ) ( $autoCondition +".firstTerm" ); + connectAttr -f ( $measure +".distance" ) ( $measureUnitConvert +".input1X" ); + connectAttr -f ( $measureUnitConvert +".outputX" ) ( $autoCondition +".colorIfTrueR" ); + + connectAttr -f ( $control +"."+ $stretchName ) ( $lengthAdder +".input1D[1]" ); + connectAttr -f ( $autoCondition +".outColorR" ) ( $lengthAdder +".input1D[2]" ); + + $allNodes = `zooAddArray_str $allNodes { $autoCondition, $lengthAdder }`; + + + //------ + //connect the stretch distribution network up - NOTE this loop starts at 1 because we don't need to connect the + // start of the limb chain (ie the bicep or the thigh) as it doesn't move + //------ + for( $n=1; $n<`size $clients`; $n++ ) { + setAttr ( $fractionNodes[$n] +".input2X" ) ($clientLengths[$n]/$totalLength*$parityFactor); + + //now connect the inital coords to the plus node - then connect the + connectAttr -f ( $lengthAdder +".output1D" ) ( $fractionNodes[$n] +".input1X" ); + + //then connect the result of the plus node to the t(axis) pos of the limb joints + if( `getAttr -l ( $clients[$n] +".t"+ $axis )` ) setAttr -l 0 ( $clients[$n] +".t"+ $axis ); + connectAttr -f ( $fractionNodes[$n] +".outputX" ) ( $clients[$n] +".t"+ $axis ); + } + + + //------ + //finally, rename the objects and tidy up the outliner + //------ + parent $measureTransform[0] $control; + parent { $startLoc, $endLoc } $control; + + rename $startLoc ( $ikHandle +"_lockthis_extension_start" ); + rename $endLoc ( $ikHandle +"_lockthis_extension_end" ); + rename $measureTransform[0] ( $ikHandle +"_lockthis_extension" ); + + return $allNodes; + } + + +/* +creates stretch attribs on the $control object, and makes all joints controlled by the ikHandle stretchy +------- + +$control - the character prefix used to identify the character +$parity - which side is the arm on? l (left) or r (right) +$ikHandle - the bicep, upper arm, or humerous +$optionStr - standard option string - see technical docs for info on option strings + +option flags +------- +-axis [string] the stretch axis used by the joints in the limb. default: x +-scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +-startObj [string] the beginning of the measure node is attached to the start object. if its not specified, then the script assumes the start object is the start of the ik chain (usally the case) +-endObj [string] this is the object the end of the measure is attached to - by default its the +-invert [int] use this flag if the script inverts the limb when adding stretch + +It is reccommended that this proc has a "root" control, a "chest" control and a "head" control already +built (and branded with these names) as it uses them as dynamic parents for the actual arm control. + +For example: +zooCSTMakeStretchy primoBoy_arm_ctrl_L l primoBoy_arm_ctrl_L "-axis x -scale 0.5"; +*/ + + +//returns the real length of the limb that an ik handle controls +global proc float[] zooCSTGetIKLength( string $ikHandle ) { + string $clients[] = `ikHandle -q -jl $ikHandle`; + float $lengthList[] = {}; + float $length = 0; + + $clients[( `size $clients` )] = `ikHandle -q -ee $ikHandle`; + for( $n=0; $n<`size $clients`-1; $n++ ) { + float $posA[] = `xform -q -ws -rp $clients[$n]`; + float $posB[] = `xform -q -ws -rp $clients[( $n+1 )]`; + float $sqd = `pow ($posA[0]-$posB[0]) 2` + `pow ($posA[1]-$posB[1]) 2` + `pow ($posA[2]-$posB[2]) 2`; + + $lengthList[( `size $lengthList` )] = `sqrt $sqd`; + $length += `sqrt $sqd`; + } + + return $lengthList; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTPrimitives.mel b/2009-x64/zooScripts/scripts/CST/zooCSTPrimitives.mel new file mode 100644 index 0000000..53386a2 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTPrimitives.mel @@ -0,0 +1,360 @@ +//NOTE: see the end of the file for information about how to register a primitive properly + + +zooArrays_str; +zooBrandTools; +zooFlags; + + +global proc zooCSTPrimitives() { + return; + } + + +global proc string zooGetPrimFromRegistered( string $obj ) { + string $cons[] = `listConnections -s 0 -type time ( $obj +".message" )`; + for( $c in $cons ) { + string $prim = `zooQueryBrand $c primitive`; + if( $prim != "" ) return $c; + } + + return ""; + } + + +//------ +//creates a primitive record +//------ +global proc string zooCSTCreatePrimRecord( string $type, string $id, string $charID ) { + string $primitive = `createNode time -n( $charID +"_"+ $type +"_prim" )`; + zooBrandObject primitive $type $primitive; + zooBrandObject id $id $primitive; + zooBrandObject char $charID $primitive; + return $primitive; + } + + +//------ +//connects an object to a rig primitive, as a given name +// +//example: +//zooCSTPrimAttachToPrimAs char_bicep_joint_L bicep arm_L char; +//connects the object char_bicep_joint_L to the rig primitve arm_L belonging to "char" +//------ +global proc zooCSTPrimAttachToPrimAs( string $obj, string $attachAs, string $primitive ){ + if( !`objExists ( $primitive +".zooCSTInput_"+ $attachAs )` ) addAttr -ln ( "zooCSTInput_"+ $attachAs ) -at bool $primitive; + connectAttr -f ( $obj +".message" ) ( $primitive +".zooCSTInput_"+ $attachAs ); + } + + +//------ +//this proc merely registers an object as a "input" ie: the type is input +//------ +global proc zooCSTRegisterInput( string $obj, string $primitive ){ + zooCSTRegisterObj $obj "input" $primitive; + } + + +//------ +//this proc merely registers an object as a "control" ie: the type is control +//------ +global proc zooCSTRegisterControl( string $obj, string $primitive ) { + zooCSTRegisterObj $obj "control" $primitive; + } + + +global proc string[] zooCSTListRegistered( string $type, string $primitive ) { + $type = `tolower $type`; + string $registerAttrs[] = {}; + string $registeredObjs[] = {}; + string $attrs[] = `listAttr $primitive`; + string $registerName = "zooCST"+ $type; + + for( $a in $attrs ) if( `match ( "^"+ $registerName +"[0-9]+" ) $a` != "" ) $registerAttrs[( `size $registerAttrs` )] = $a; + for( $a in $registerAttrs ) $registeredObjs[( `size $registeredObjs` )] = `connectionInfo -sfd ( $primitive +"."+ $a )`; + for( $n=0; $n<`size $registeredObjs`; $n++ ) $registeredObjs[$n] = `match "^[^.]+" $registeredObjs[$n]`; + + return $registeredObjs; + } + + +//------ +//registering an object basically connects it to a primitive as a certain thing - the attachment has a type +//this type is basically just some sort of name that is given to the registered object. You can have as many +//registered objects of the same type as you want. Registered objects are queryable later on using the +//ListRegistered proc. Registering objects is a convenient way to have common controls that are part of a +//primitive easily findable using the primitive, instead of branding +//------ +global proc zooCSTRegisterObj( string $obj, string $type, string $primitive ) { + if( !`objExists $obj` ) return; + $type = `tolower $type`; + string $attrs[] = `listAttr $primitive`; + string $registerName = "zooCST"+ $type; + int $controls[] = {}; + int $nextControl = 0; + + for( $a in $attrs ) if( `match ( $registerName +"[0-9]+" ) $a` != "" ) $controls[( `size $controls` )] = `match "[0-9]+$" $a`; + $controls = `sort $controls`; + if( `size $controls` ) $nextControl = $controls[( `size $controls`-1 )]+1; + addAttr -ln ( $registerName + $nextControl ) -at bool $primitive; + + if( !`objExists ( $obj +".zooPrimOut" )` ) addAttr -ln zooPrimOut -at bool $obj; + connectAttr -f ( $obj +".message" ) ( $primitive +"."+ $registerName + $nextControl ); + } + + +//------ +//connects a rig primitve to all objects involved in the rig primitive +//------ +global proc zooCSTPrimOutputs( string $outputs[], string $primitive ) { + for( $obj in $outputs ) { + if( !`objExists $obj` ) continue; + if( !`objExists ( $obj +".zooPrimOut" )` ) addAttr -ln zooPrimOut -at bool $obj; + string $existing = `connectionInfo -sfd ( $obj +".zooPrimOut" )`; + if( $existing != ( $primitive +".message" )) connectAttr -f ( $primitive +".message" ) ( $obj +".zooPrimOut" ); + } + } + + +//------ +//given a primitive record name (ie arm_L) and a charID (the same as prefix used to create the rig) +//list all outputs of a rig primitive +//------ +global proc string[] zooCSTListPrimOutputs( string $primitive ){ + string $outputs[] = {}; + if( size(`connectionInfo -dfs ( $primitive +".message" )`)) $outputs = `connectionInfo -dfs ( $primitive +".message" )`; + for( $n=0; $n<`size $outputs`; $n++ ) if( `match "zooPrimOut$" $outputs[$n]` == "zooPrimOut" ) $outputs[$n] = `match "^[^.]+" $outputs[$n]`; + return $outputs; + } + + +//------ +//returns a list of all primitive input objects - note this is usually different from the inputs require to create the primitive +//as it includes twist joints etc - this list is essential for cleaning up a primitive properly +//------ +global proc string[] zooCSTListAllPrimInputs( string $primitive ){ + string $type = `zooQueryBrand $primitive primitive`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + + if( $type == "arm" || $type == "leg" ) { + string $upperTwists[] = `zooGetInBTweenJoints $inputs[0] $inputs[1]`; + string $lowerTwists[] = `zooGetInBTweenJoints $inputs[1] $inputs[2]`; + $inputs = `zooAddArray_str $inputs $upperTwists`; + $inputs = `zooAddArray_str $inputs $lowerTwists`; + } + + return $inputs; + } + + +//------ +//returns a list of all the input objects that were used to create the primitive in the first place +//------ +global proc string[] zooCSTListPrimInputs( string $primitive ){ + string $inputNames[] = `zooCSTGetAllPrimInputNames $primitive`; + string $inputs[] = {}; + + for( $a in $inputNames ) $inputs[( `size $inputs` )] = `zooCSTListPrimInput $primitive $a`; + + return $inputs; + } + + +global proc string zooCSTListPrimInput( string $primitive, string $inputName ){ + string $input = `connectionInfo -sfd ( $primitive +".zooCSTInput"+ $inputName )`; + return `match "^[^.]+" $input`; + } + + +global proc string[] zooCSTGetAllPrimInputNames( string $primitive ){ + string $attrs[] = `listAttr -ud $primitive`; + string $inputs[] = {}; + + for( $a in $attrs ) if( `match "^zooCSTInput" $a` == "zooCSTInput" ) { + string $name = `match "^_.*" $a`; + $inputs[( `size $inputs` )] = `substring $name 2 (size($name))`; + } + + return $inputs; + } + + +//returns the name of a primitive with a given type and charID +global proc string zooCSTGetPrimitive( string $type, string $id, string $charID ) { + string $primitives[] = `zooCSTListPrimitives`; + for( $prim in $primitives ) if( `zooIsBrandedWith $prim primitive $type` ) if( `zooIsBrandedWith $prim char $charID` ) if( `zooIsBrandedWith $prim id $id` ) return $prim; + return ""; + } + + +global proc string[] zooCSTGetPrimitivesOfType( string $type, string $charID ) { + string $primitives[] = `zooCSTListPrimitives`; + string $primitivesOfType[] = {}; + for( $prim in $primitives ) if( `zooIsBrandedWith $prim primitive $type` ) $primitivesOfType[( `size $primitivesOfType` )] = $prim; + return $primitivesOfType; + } + + +//lists all rig primitives in a scene +global proc string[] zooCSTListPrimitives() { + string $times[] = `ls -type time`; + string $primitives[] = {}; + + for( $obj in $times ) if( `objExists ( $obj +".zooBrand_primitive" )`) $primitives[( `size $primitives` )] = $obj; + return $primitives; + } + + +//deals with deleting a primitive, and cleaning up all the extraneous shit involved in making that primitive work +global proc zooCSTDeletePrimitive( string $primitive ) { + //first thing we want to do is set all keyable attributes to zero - this should get the primitive back to "rig pose" + string $controls[] = `zooCSTListRegistered control $primitive`; + for( $c in $controls ) { + string $attrs[] = `listAttr -k -s $c`; + for( $a in $attrs ) { + float $default[] = `attributeQuery -ld -n $c $a`; //set the attr values to their default value (which is zero by default) but can be set to other values + if( !`getAttr -se ( $c +"."+ $a )`) setAttr -l 0 ( $c +"."+ $a ); + if( `getAttr -se ( $c +"."+ $a )`) setAttr ( $c +"."+ $a ) $default[0]; + } + } + + string $primaryInputs[] = `zooCSTListAllPrimInputs $primitive`;print $primaryInputs; + for( $obj in $primaryInputs ) zooCSTDisconnectObj $obj "-inputs 1"; //this deletes all connections to input objects - + //which are user created objects by deleting these input connections to base objects, we're making sure they + //don't get disturbed after we go deleting rig nodes + + string $outputs[] = `zooCSTListPrimOutputs $primitive`; + for( $obj in $outputs ) zooCSTDisconnectObj $obj "-inputs 1 -outputs 1"; + for( $obj in $outputs ) if( `objExists $obj` ) delete $obj; + for( $obj in $controls ) if( `objExists $obj` ) delete $obj; + + zooCSTDisconnectObj $primitive "-inputs 1 -outputs 1"; + if( `exists deleteUnusedExpressions` ) deleteUnusedExpressions; //this is an alias proc used when doing an optimize scene + delete $primitive; + } + + +//------ +//this proc cleanly disconnects all things from a given object - either inputs or outputs +//usage: zooCSTDisconnectObj objName "-inputs 1"; +//by default disconnects nothing, either -inputs or -outputs must be specified +//------ +global proc zooCSTDisconnectObj( string $obj, string $optionStr ) { + string $temp[] = {}; + int $doInputs = 0; + int $doOutputs = 0; + + $temp = `zooGetFlagArguments $optionStr inputs`; if( `size $temp` ) $doInputs = $temp[0]; + $temp = `zooGetFlagArguments $optionStr outputs`; if( `size $temp` ) $doOutputs = $temp[0]; + + string $inputs[] = `listConnections -s 1 -d 0 -c 1 -p 1 $obj`; + if( $doInputs ) for( $n=0; $n<`size $inputs`; $n+=2 ) { + string $objSrc = `match "^[^.]+" $inputs[($n+1)]`; + string $attrSrc = `match "[^.]+$" $inputs[($n+1)]`; + + if( !`objExists $inputs[$n]` ) continue; //this is done because sometimes attributes are deleted when disconnected by maya - such as constraint weight attributes + if( `getAttr -l $inputs[$n]` ) setAttr -l 0 $inputs[$n]; + if( !`objExists $inputs[( $n+1 )]` ) continue; + if( `getAttr -l $inputs[( $n+1 )]` ) setAttr -l 0 $inputs[( $n+1 )]; + + disconnectAttr $inputs[( $n+1 )] $inputs[$n]; + if( `objExists $objSrc` ) if( `nodeType $objSrc` == "unitConversion" ) delete $objSrc; + } + + string $outputs[] = `listConnections -scn 1 -s 0 -d 1 -c 1 -p 1 $obj`; + if( $doOutputs ) for( $n=0; $n<`size $outputs`; $n+=2 ) { + string $objTgt = `match "^[^.]+" $inputs[$n]`; + string $attrTgt = `match "[^.]+$" $inputs[$n]`; + string $objSrc = `match "^[^.]+" $inputs[($n+1)]`; + string $attrSrc = `match "[^.]+$" $inputs[($n+1)]`; + + if( !`objExists $outputs[$n]` ) continue; + if( `getAttr -l $outputs[$n]` ) setAttr -l 0 $outputs[$n]; + if( !`objExists $outputs[( $n+1 )]` ) continue; + if( `getAttr -l $outputs[( $n+1 )]` ) setAttr -l 0 $outputs[( $n+1 )]; + disconnectAttr $outputs[$n] $outputs[( $n+1 )]; + + if( `objExists $objSrc` ) if( `nodeType $objSrc` == "unitConversion" ) delete $objSrc; + } + } + + +//------ +//returns the next unique id number for a primitive - unique ids are essential for characters with multiple, similar limbs - ie multiple arms +//------ +global proc string zooCSTGetPrimId( string $type, string $idPrefix, string $charID ) { + string $typePrims[] = `zooCSTGetPrimitivesOfType $type $charID`; + int $ids[] = {}; + int $id = 0; + + for( $a in $typePrims ) if( `objExists ( $a +".zooBrand_id" )` ) { + string $attr = `getAttr( $a +".zooBrand_id" )`; + $ids[( `size $ids` )] = `match "[0-9]+$" $attr`; + } + + int $num = `size $ids`; + if( $num ) $id = $ids[( $num-1 )]+1; + else $id = 0; + + return ( $idPrefix + $id ); + } + + +global proc zooCSTRebuildPrimitive( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $type = `zooQueryBrand $primitive primitive`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListPrimInputs $primitive`; + string $outputs[] = `zooCSTListPrimOutputs $primitive`; + string $capitalisedType = toupper(`substring $type 1 1`); + + $capitalisedType += `substring $type 2 (size($type))`; + eval( "zooCSTRebuildPrim"+ $capitalisedType +" "+ $primitive ); + } + + +/* +All About Primitives +------ + +the idea of the primitive, is to contain all the necessary creation data required to build that part of the rig. So in the case of an arm for example, the primtive would "know" the prefix, the parity, the bicep, elbow and wrist, along with all the additional options set when that arm primitive was built. + +So thats what this script is all about. It contains all the functions used to set and retrieve primitive information. + +If you want to write your own primitive, and have it compatible with all the primitive functions, then these are the steps you must take. + +First, you must have a type for the primitive. The type is generally just a word for the basic function of the primitive. For example if you were writing a primitive to build a schliefer spine primitive, you might call it schlieferSpine. Basically every primtive needs a category. In your creation proc (the proc that creates the primitive) you need to get a unique ID for the primitive you're about to build. This is done with the getPrimId proc: + + string $id = `zooCSTGetPrimId schlieferSpine $suffix $prefix`; + +This proc basically just makes sure if the character has multiple primitives of the same type on it, they're identifiable in some way. So characters with multiple sets of arms for example, having a unique id on each arm primitive, allows zooCST to deal with 3 different left arms. + +Second, you must build the actual primitive node. This simply creates the node that will store all out information. We still need to set the values, and connect the objects. + + string $primitive = `zooCSTCreatePrimRecord arm $id $prefix`; + +Thirdly we must attach the inputs. This connects each joint in our skeleton that wasa used to create the rig primitive to the primtive node. So no matter what happens in the scene, the primitive node always "knows" what was used to generate it. Each input is given a name so you can refer to it later. This information can be easily used to create a rebuild primitive script. This is called registering the inputs. + + zooCSTAttachToPrimAs $bicep bicep $primitive; + zooCSTAttachToPrimAs $elbow elbow $primitive; + zooCSTAttachToPrimAs $wrist wrist $primitive; + +Fourth you must connect the primitive to all nodes involved in making the rig work (basically everything built by the creation proc). This is called registering the outputs. + + zooCSTPrimOutputs $controls $primitive; + zooCSTPrimOutputs { $clavControl, $spaceXpr2 } $primitive; + +Fifth you must connect the primtive specifically to the controls that the animator interacts with. So for a spine, the controls are simply the single control used to rotate and move the spine around. But for an arm, it would be the elbow, ik arm, fk controls, and the clavicle. + + zooCSTRegisterControl $spineControl $primitive; + +Lastly you must add the option string that the creation proc was called with to the primitive. This option string stores any switches or flags that were set before the primitive was created. Storing these on the primitive as well allows the zooCST rebuild proc to re-create the primitive with exactly the same settings. + + zooBrandObject options ( $optionStr +" -parity "+ $parity ) $primitive; + +So thats is. Its sounds like quite a lot of extra work, but it doesn't take long to do, and it can really save you heaps of time if you'll be re-rigging the character in future. +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTTips.txt b/2009-x64/zooScripts/scripts/CST/zooCSTTips.txt new file mode 100644 index 0000000..4022cf3 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTTips.txt @@ -0,0 +1,26 @@ +When new tips are added, the tips window will automatically display itself. So if the tips window pops up even after you asked it not to, its probably because new tips have been added. The window will automatically go away next time you start the script +zooCST has been used in many high budget productions around the world. It creates solid, easy to use, production proven rigs.||The rigs it builds have been used in film, tv, pre-rendered game cinematics and in-game animation +The help contains heaps of useful information about using zooCST +You can specify additional options for all primitives to alter their default behaviour. For a list of possible flags that you can use, see Help->Additional Flags +When zooCST creates a leg primitive, it takes a guess at where it should place the pivots for the toe twisting and banking. More often than not, it will be wrong.||To adjust where the foot pivots around for the banking, look for the transform nodes below the foot control called:|leg_toe_roll_piv --> twist foot pivot|leg_bank_in_piv --> bank in pivot|leg_bank_out_piv --> bank outwards pivot||Simply select these objects, and adjust their pivots +Remember you can delete a rig primitive easily by using the list primitives window +Space switching is a great way to animate props. Grab your prop, group to self, and add all the objects to the list that will need to interact with the prop. You can add space switching to anything.||Also remember that any object with space switching automatically has the right click, parent changing menu added to it +After building your rig, try right clicking on one of the controls. You should see a menu item to change the parenting of that control. By changing parenting using this menu, instead of setting the attribute directly, the control will remain in place.||If you don't see a menu with "parent to..." options in it, see the next tip.. +If you right click on an object, and there isn't the "new cmd..." menu item, then you don't have the advanced parenting options installed. See the "What is Space Switching?" section in the help +Using the list primitives window, you can select all outputs, inputs or control associated with a primitive. Each primitive "knows" what objects it has created (the outputs), all the objects used to create it (the inputs), and all the objects an animator uses to interact with the primitive (the controls) +There is now the option to preserve existing control objects when rebuilding primitives. By default the option is turned on. If you don't want to preserve the control objects, then turn the option off using:|-useExisting 0 +If you think you've found a bug in zooCST, or any of the other zoo scripts, please report it in the zooForums||www.macaronikazoo.com/forum +When creating finger primitives, make sure all finger joints axes are aligned the same. If the finger primitives guesses the axis incorrectly (which it does frequently - its a bit buggy at present) you may need to specify the axis manually using the -axis flag.||For example, if the rotation axis is y, use:|-axis y +When you create fingers for you hand using finger primitives, a right click command automatically gets added to the hand control to toggle the visibility of the finger controls.||You can tell whether zooCST has found a hand control by openinig the Predecessors tab. If there is no object after the word "ArmL:" then you may need to manually specify the hand control to add the sliders and right click commands to +If you don't like the default control object type, you can change it using the -type flag. Some commands have multiple -type flags. For example, the arm and leg primitives use -fkType as well as the -type flag.||To see a list of what control types are available, have a look at the right click list in the create control tab. For more details on the -type flags, see the Help->Additional Flags +If you right click the "additional options" textField at the bottom of the window, it will show a list of possible flags for you to use with the primitives listed in that tab +The zooCST code is well commented for those more adventurous TD's wanting to extend or alter zooCST's code +zooCST now comes with zooSurgeon, which can automatically generate a proxy mesh for your character rig, based on skinned geometry.||To build the proxy mesh, simply select all the skinned geometry that makes up your character, and go to:|Utils->Build Proxy Primitives +If you use zooCST to build your skin proxies, the proxy objects all get treated as a rig primitive. You can access the character proxy primitive from the list primitives window just like any other rig primitive. In addition, both delete and rebuild functions also work for the proxy rig primitive +zooCST also gives you access to some of the sub primitives that come with the zooCST package. Sub-primitives provide a common basis to build upon. For example, an arm and a leg are similar, but not the same. The IKFK sub primitive builds an IKFK switching chain, which the arm and leg primitives further build upon.\n\nThey can be useful to those not wanting to use zooCST rigs, but still wanting an easy way to speed up their rigging process. +You can now use the place pole vector function through the UI. This feature has always been part of zooCST, but its now accessible through the interface.||Go to the "Create Control" tab, choose your control type, and expand the "Place Pole Vector" section. Then enter the three points of your limb, and click build.||The script will create a control where a pole vector should go in. +You can now add spaces to objects using space switching. Simply load the target up in the UI and zooCST should now find all the existing parents on the object. Then just add the new parents that you want, and press build and the new parents will be added. +As of version 4.06.07 The IK spine is now quite a nice stretchy ik setup. It is simple to use, but quite powerful. Its fast and very poseable. Try it out. +zooCST now comes bundled with the "line of action" tool, which as it sounds, will draw a line of action on your character for you. Its a pretty neat tool for getting a nice, easily seen line of action on your character. just select the parts of the character (or rig, or mesh or whatever) you want the line to go through, and in the menu, go to animation->line of action||because the line of action is drawn relative to a camera, if you change camera views, you will need to update your camera (done automatically if you use the zooCam marking menu) +As of version 4.06.08 the twisting on biceps works using an aim constraint setup, which is much more stable than in previous versions. However, it will still flip in certain circumstances, but you can now control where the flipping occurs by animating the "switchUp" attribute on the control circle just above the bicep +if you prefer curve controls to surface controls - you can easily switch to them. CST actually builds both types of geometry - curves and surfaces for each control. If you want to switch between them, you can right click on the world controller, and choose "curve controls only" diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTUtils.mel b/2009-x64/zooScripts/scripts/CST/zooCSTUtils.mel new file mode 100644 index 0000000..5a394d0 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTUtils.mel @@ -0,0 +1,310 @@ +zooArrays_str; +zooAttrUtils; +zooVectors; + + +global proc zooCSTUtils() { return; } + + +//------ +//returns the "facing" axis of the joint - ie which axis the joint twists (ie banks) around +//------ +global proc string zooCSTJointDirection( string $obj ) { + string $children[] = `listRelatives -path -c -type transform $obj`; + if( `size $children`==1 ) return `zooCSTUpVectorAsName $obj (zooCSTBetweenVector($obj,$children[0]))`; + else return `zooCSTLargestT $obj`; + } + + +//------ +//returns the name of the translation axis with the highest value +//------ +global proc string zooCSTLargestT( string $obj ) { + float $pos[] = `getAttr ( $obj + ".t" )`; + float $highest = abs($pos[0]); + int $axis = 0; + + for( $n=1; $n<`size $pos`; $n++ ) if( abs($pos[$n]) > $highest ) { + $highest = abs($pos[$n]); + $axis = $n; + } + + if( $axis == 0 ) return "x"; + if( $axis == 1 ) return "y"; + if( $axis == 2 ) return "z"; + } + + +//------ +//given the output of the zooCSTUpVector command, returns the name of the axis as a string (ie x, y or z) +//------ +global proc string zooCSTUpVectorAsName( string $obj, float $compareVector[] ){ + string $axis = `zooCSTUpVector $obj $compareVector`; + string $axisName = `zooCSTVectorAsName $axis`; + return $axisName; + } + + +//------ +//given a unit vector, returns its name +//------ +global proc string zooCSTVectorAsName( string $vector ){ + string $axisName = "x"; + if( $vector == "0 1 0" || $vector == "0 -1 0" ) $axisName = "y"; + if( $vector == "0 0 1" || $vector == "0 0 -1" ) $axisName = "z"; + return $axisName; + } + + +//------ +//given an axis, returns the best rotation order for the object +//------ +global proc string zooCSTGetRo( string $twistAxis ) { + //if( $twistAxis == "x" ) return "zxy"; //2,4 + //if( $twistAxis == "y" ) return "xyz"; //0,5 + //if( $twistAxis == "z" ) return "yzx"; //1,3 + if( $twistAxis == "x" ) return "xzy"; + if( $twistAxis == "y" ) return "yxz"; + if( $twistAxis == "z" ) return "zyx"; + } + + +//------ +//returns the axis which faces in the $dir +//$dir can be either "fwd" or "up". +x is always the side axis +//------ +global proc float[] zooCSTGetDir( string $dir ) { + string $upAxis = `upAxis -q -axis`; + switch( $dir ) { + case "up": + if( $upAxis == "y" ) return { (float)0, (float)1, (float)0 }; + else return { (float)0, (float)0, (float)1 }; + break; + + case "fwd": + if( $upAxis == "y" ) return { (float)0, (float)0, (float)1 }; + else return { (float)0, (float)-1, (float)0 }; + break; + } + } + + +global proc float[] zooCSTAxisStrAsFloat( string $axisStr ) { + float $return[] = {0,0,0}; + if( `match "x" $axisStr` != "" ) $return[0] = 1; + if( `match "y" $axisStr` != "" ) $return[1] = 1; + if( `match "z" $axisStr` != "" ) $return[2] = 1; + return $return; + } + + +//------ +//this function will return a string indicating the axis of an object, closest in orientation to a compare vector. +//------ +global proc float[] zooCSTUpVector_float( string $obj, float $vector[] ) { + return `zooAxisInDirection $obj $vector`; + } + + +//------ +//this function will return a string indicating the axis of an object, closest in orientation to a compare vector. +//------ +global proc string zooCSTUpVector( string $obj, float $vector[] ) { + float $axis[] = `zooAxisInDirection $obj $vector`; + return `zooArrayToStr_float $axis " "`; + } + + +//------ +//returns the distance between two objects +//------ +global proc float zooCSTDistBetween( string $obj1, string $obj2 ) { + float $vector[] = `zooCSTBetweenVector $obj1 $obj2`; + return `zooVectorMag $vector`; + } + + +//------ +//returns the vector between two objects +//------ +global proc float[] zooCSTBetweenVector( string $obj1, string $obj2 ) { + return `zooBetweenVector $obj1 $obj2`; + } + + +//------ +//groups an object to itself, and aligns the group to a target object +//------ +global proc string zooCSTOrient2Obj( string $src, string $tgt ) { + string $grp = `group -em -name ( $tgt + "_alignSpace" )`; + delete `parentConstraint $src $tgt`; + delete `parentConstraint $src $grp`; + + parent $tgt $grp; + makeIdentity -apply 1 -t 1 -r 1 -s 1 $tgt; + + return $grp; + } + + +//------ +//simply groups an object to itself - makes sure the group has the same pivot point as the given object +//------ +global proc string zooGrpToSelf( string $optionStr, string $obj ) { + string $temp[] = {}; + int $freeze = 1; + + $temp = `zooGetFlagArguments $optionStr freeze`; if( `size $temp` ) $freeze = $temp[0]; + + string $grp = `group -em`; + string $shortName = `match "[^|:]+$" $obj`; + string $objParent = zooGetElement_str(0,`listRelatives -pa -p $obj`); + + $grp = `rename $grp ( $shortName +"_space" )`; + if( `objExists $objParent` ) parent $grp $objParent; + delete `parentConstraint $obj $grp`; + if( $freeze ) makeIdentity -a 1 -t 1 -r 1 $grp; + parent $obj $grp; + + return $grp; + } + + +//returns a list of all joints in between the start and the end joint - this proc doesn't check input, so make sure +//the start joint is actually higher in the heirarchy - otherwise weird results get returned +global proc string[] zooGetInBTweenJoints( string $start, string $end ) { + string $current = $end; + string $inBTween[] = {}; + + if( $start == $end ) return {}; + for( $n=1; true; $n++ ) { + string $parent = zooGetElement_str(0,`listRelatives -p -path $current`); + if( $parent == $start ) break; + if( $parent == "" ) break; + if( $n>500 ) break; + $inBTween[( `size $inBTween` )] = $parent; + $current = $parent; + } + + zooReverseArray_str $inBTween; + return $inBTween; + } + + +global proc zooReplaceShape( string $srcObj, string $tgtObj ) { + //source object is the source transform - ie the shape you want to use + //target object is the transform of the object you want the source's shape to be used for + string $dupeSrc = zooGetElement_str(0,`duplicate -rc $srcObj`); + string $srcShapes[] = `listRelatives -pa -s $dupeSrc`; + string $tgtShapes[] = `listRelatives -pa -s $tgtObj`; + string $cs[] = `listRelatives -pa -type transform $dupeSrc`; + + for( $c in $cs ) if( `objExists $c` ) delete $c; + if( `size $tgtShapes` ) delete $tgtShapes; + zooAttrState "-attrs t r s -k 1 -l 0" $dupeSrc; //make sure all transform attributes are unlocked + zooAlign ( "-src "+ $tgtObj +" -tgt "+ $dupeSrc ); + parent $dupeSrc $tgtObj; + makeIdentity -a 1 -t 1 -r 1 -s 1 $dupeSrc; + for( $shape in $srcShapes ) parent -add -s $shape $tgtObj; + delete $dupeSrc; + } + + +//NOTE - the three arg defines the three joints to define the normal. if empty +//the normal is calculated from the first, mid and final joint in the list +global proc zooOrientChainProperly( string $chain[], string $three[] ) { + string $last = `zooGetElement_str -1 $chain`; + string $kids[] = {}; + float $normal[] = {}; + int $sizeChain = `size $chain`; + int $mid = $sizeChain/2; + + if( $sizeChain < 3 ) return; + if( `size $three` != 3 ) $three = { $chain[0],$chain[$mid],$last }; + float $aVec[] = `zooBetweenVector $three[0] $three[1]`; + float $bVec[] = `zooBetweenVector $three[1] $three[2]`; + + $normal = `crossProduct $bVec $aVec 1 1`; + for( $n=0; $n<$sizeChain-1; $n++ ) { + string $aimCmd = "aimConstraint -aim 1 0 0 -u 0 1 0 -wu "+ $normal[0] +" "+ $normal[1] +" "+ $normal[2] +" "+ $chain[($n+1)] +" "+ $chain[$n] +";"; + $kids = `listRelatives -pa -type transform $chain[$n]`; + if( `size $kids` ) parent -w $kids; + delete `eval $aimCmd`; + makeIdentity -a 1 -r 1 $chain[$n]; + if( `size $kids` ) parent $kids $chain[$n]; + } + + //finally, deal with the last joint + $kids = `listRelatives -pa -type transform $last`; + if( `size $kids` ) $kids = `parent -w $kids`; + setAttr ( $last +".r" ) 0 0 0; + setAttr ( $last +".jo" ) 0 0 0; + if( `size $kids` ) parent $kids $last; + } + + +//------ +//returns a bounding box for a heirarchy. useful if you wanted to find the bounds of an entire skeleton +//------ +global proc float[] zooGetHeirarchyBounds( string $obj ) { + string $heirarchy[] = `listRelatives -ad -type transform $obj`; + float $minX[] = {}; + float $minY[] = {}; + float $minZ[] = {}; + float $maxX[] = {}; + float $maxY[] = {}; + float $maxZ[] = {}; + + for( $n=0; $n<`size $heirarchy`; $n++ ) { + float $tempMN[] = `getAttr ( $heirarchy[$n] +".bbmn" )`; + float $tempMX[] = `getAttr ( $heirarchy[$n] +".bbmx" )`; + $minX[$n] = $tempMN[0]; + $minY[$n] = $tempMN[1]; + $minZ[$n] = $tempMN[2]; + $maxX[$n] = $tempMX[0]; + $maxY[$n] = $tempMX[1]; + $maxZ[$n] = $tempMX[2]; + } + + $minX = `sort $minX`; + $minY = `sort $minY`; + $minZ = `sort $minZ`; + $maxX = `sort $maxX`; + $maxY = `sort $maxY`; + $maxZ = `sort $maxZ`; + + return { $minX[0], $minY[0], $minZ[0], $maxX[( `size $maxX` - 1 )], $maxY[( `size $maxY` - 1 )], $maxZ[( `size $maxZ` - 1 )] }; + } + + +//------ +//hides all rig objects - also locks their shape's visibility channel so they can't accidentally be unhidden by a showAll command +//------ +global proc zooCSTUtilsRigVis( string $function ) { + string $allHideTransforms[] = `ls -r 1 -tr "*_lockthis*"`; + string $allRigTransforms[] = `ls -r 1 -tr "*_false*"`; + string $allRigShapes[] = `ls -r 1 -s "*_false*"`; + string $allRigJoints[] = `ls -r 1 -type joint "*_false*"`; + int $vis; + + if( $function == "-h" || $function == "-hide" ) $vis = 0; + if( $function == "-u" || $function == "-unhide" ) $vis = 1; + + for ( $obj in $allHideTransforms ) { + setAttr -l 0 ( $obj + ".v" ); + setAttr -l 1 ( $obj + ".v" ) $vis; + } + for ( $obj in $allRigTransforms ) setAttr -l 1 ( $obj + ".v" ); + for ( $obj in $allRigShapes ) { + setAttr -l 0 ( $obj + ".v" ); + setAttr -l 1 ( $obj + ".v" ) $vis; + } + for ( $obj in $allRigJoints ) { + setAttr -l 0 ( $obj + ".v" ); + setAttr -l 1 ( $obj + ".v" ) $vis; + } + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTValidateFlags.mel b/2009-x64/zooScripts/scripts/CST/zooCSTValidateFlags.mel new file mode 100644 index 0000000..f11945d --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTValidateFlags.mel @@ -0,0 +1,27 @@ +zooArrays_str; +zooFlags; + + +//returns whether a given option string is valid or not +global proc string[] zooCSTValidateFlags( string $optionStr ) { + string $validRootFlags[] = {}; + string $validSpineFlags[] = {}; + string $validHeadFlags[] = {"eyeParents,obj"}; + string $validIKFKFlags[] = {"ikType,string","fkType,string","poleType,string","colour,int","fkCurve,bool","arrow,bool"}; + string $validLimbFlags[] = {"buildclav,bool","stretch,bool","kneeMode,int","invert,bool","startObj,obj","endObj,obj"}; + string $validFingerFlags[] = {"sliders,bool","wrist,string","control,string","num,int","name,string"}; + string $validOtherFlags[] = {"triggers,bool","axis,axis","orient,bool","spaceswitching,bool","scale,float","curve,bool","world,obj","root,obj","chest,obj","head,obj","parents,obj","useExisting,bool"}; + string $validFlags[] = $validRootFlags; + + $validFlags = `zooAddArray_str $validFlags $validSpineFlags`; + $validFlags = `zooAddArray_str $validFlags $validHeadFlags`; + $validFlags = `zooAddArray_str $validFlags $validIKFKFlags`; + $validFlags = `zooAddArray_str $validFlags $validLimbFlags`; + $validFlags = `zooAddArray_str $validFlags $validOtherFlags`; + + return `zooValidateFlagStr $optionStr $validFlags`; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/CST/zooCSTWin.mel b/2009-x64/zooScripts/scripts/CST/zooCSTWin.mel new file mode 100644 index 0000000..9dfbc27 --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooCSTWin.mel @@ -0,0 +1,1787 @@ +zooArrays_str; +zooBrandTools; +zooCSTPrimitives; +zooCSTUtils; +zooFlags; +zooObjMenuUtils; +zooShelveIt; +zooRenamerUtils; +zooTriggeredUtils; +zooStrUtils; +zooTips; +zooUtils; + + +{ +string $windowName = "zooCSTWindow"; +string $windowTitle = "zooCharacterSetupTools v"+ `zooCSTInfo version`; +string $cameras[] = `ls -type camera`; +int $infoDate = 61101; //this is actually a reversed date, with the first number being the year number +int $showTips = `zooTipState zooCST -1`; +int $latestTip = -1; + +for( $n=0; $n<`size $cameras`; $n++ ) $cameras[$n] = zooGetElement_str(0,`listRelatives -f -p $cameras[$n]`); +if( $infoDate > `optionVar -q zooCSTDisplayInfo` ) { + $showTips = 1; + $latestTip = 26; + } +optionVar -iv zooCSTDisplayInfo $infoDate; //When new tips are added, this counter in incremented. If the number stored in the script is bigger than the one stored in the userPrefs, then the user hasn't seen the new tips + +if( `window -exists $windowName` ) deleteUI $windowName; +window -mb 1 -title $windowTitle -width 520 -sizeable 1 $windowName; + scriptJob -p $windowName -e "SelectionChanged" "zooCSTWindowFunctions update 0"; + menu -label "CST Tools"; + menuItem -l "List Primitives" -c( "zooCSTPrimitiveListWindow;" ); + menuItem -d 1; + menuItem -l "Brand With..." -sm 1; + menuItem -l "Chest" -c( "{zooBrandTools; string $name = `textField -q -tx zooCSTTextPrefix`; string $s[] = `ls -sl`; if( `size $s` ) if( $name != \"\" ) {for( $o in $s ) zooBrandObject name $name $o; for( $o in $s ) zooBrandObject chest $name $o;}}" ); + menuItem -l "Head" -c( "{zooBrandTools; string $name = `textField -q -tx zooCSTTextPrefix`; string $s[] = `ls -sl`; if( `size $s` ) if( $name != \"\" ) {for( $o in $s ) zooBrandObject name $name $o; for( $o in $s ) zooBrandObject head $name $o;}}" ); + menuItem -l "Hips" -c( "{zooBrandTools; string $name = `textField -q -tx zooCSTTextPrefix`; string $s[] = `ls -sl`; if( `size $s` ) if( $name != \"\" ) {for( $o in $s ) zooBrandObject name $name $o; for( $o in $s ) zooBrandObject hips $name $o;}}" ); + menuItem -l "Neck" -c( "{zooBrandTools; string $name = `textField -q -tx zooCSTTextPrefix`; string $s[] = `ls -sl`; if( `size $s` ) if( $name != \"\" ) {for( $o in $s ) zooBrandObject name $name $o; for( $o in $s ) zooBrandObject neck $name $o;}}" ); + menuItem -l "Root" -c( "{zooBrandTools; string $name = `textField -q -tx zooCSTTextPrefix`; string $s[] = `ls -sl`; if( `size $s` ) if( $name != \"\" ) {for( $o in $s ) zooBrandObject name $name $o; for( $o in $s ) zooBrandObject root $name $o;}}" ); + setParent -m ..; + menuItem -d 1; + menuItem -l "Replace Brand Info" -c( "{string $brand = \"\";string $search = \"\";string $replace = \"\";string $a = `promptDialog -t \"question 1/3\" -m \"brand name:\" -b OK -b Cancel -db OK`;if( $a == \"OK\") {$brand = `promptDialog -q -tx`;string $b = `promptDialog -t \"question 2/3\" -m \"search for:\" -b OK -b Cancel -db OK`; if( $b == \"OK\" ) {$search = `promptDialog -q -tx`;string $c = `promptDialog -t \"question 3/3\" -m \"replace with:\" -b OK -b Cancel -db OK`; if( $c == \"OK\" ) {$replace = `promptDialog -q -tx`;zooBrandTools; print `zooReplaceBrandInfo $brand $search $replace`;}}}}" ); + menuItem -l "Replace Info In Any Brand" -c( "{string $search = \"\";string $replace = \"\";string $a = `promptDialog -t \"question 1/2\" -m \"search for:\" -b OK -b Cancel -db OK`;if( $a == \"OK\") {$search = `promptDialog -q -tx`;string $b = `promptDialog -t \"question 2/2\" -m \"replace with:\" -b OK -b Cancel -db OK`; if( $b == \"OK\" ) {$replace = `promptDialog -q -tx`;zooBrandTools;print `zooReplaceAnyInfo $search $replace`;}}}" ); + menu -label "Rigging Tools"; + menuItem -l "Author Pickwalking" -ann "lets you setup pickwalking directions for your character's rig" -c( "zooPickwalkAuthor;" ); + menuItem -d 1; + menuItem -l "Build Proxy Primitives" -ann "select all the skinned mesh objects that comprise your character" -c( "zooCSTWindowFunctions createProxy \"*\"" ); + menuItem -l "Replace Shape" -ann "select the source object, then the target - this will replace the shape nodes on the target object with those from the source object" -c( "{zooCSTUtils; string $sel[] = `ls -sl`; zooReplaceShape $sel[0] $sel[1]; }" ); + menuItem -l "Extract Mesh From Joint" -ann "select some joints, then run this - an object containing the faces that the selected joints deform gets created" -c( "{zooSurgeonUtils; zooArrays_str; string $js[] = `ls -type joint -sl`; string $jStr = `zooArrayToStr_str $js \" \"`; zooExtractJointMesh ( \"-joints \"+ $jStr +\" -expand 0.01\" ); }" ); + menuItem -l "Open zooSurgeon (to create proxies)" -c( "zooSurgeon;" ); + menuItem -d 1; + menuItem -l "Orient Chain Sensibly" -ann "" -c( "{zooOrientChainProperly `ls -sl` {};}" ); + menuItem -d 1; + menuItem -l "Open zooTriggered" -c( "zooTriggered;" ); + menuItem -l "Open zooRenamer" -c( "zooRenamer;" ); + menu -label "Skinning Tools"; + menuItem -l "Open zooWeightSave" -c( "zooWeightSave;" ); + menu -label "Animation Tools"; + menuItem -l "Draw Line of Action (LOA)" -c( "zooLineOfAction;zooLineOfAction_multi `ls -sl` \"\";" ); + menuItem -l "Camera for LOA ->" -sm 1; + for( $c in $cameras ) menuItem -l( `match "[^|]+$" $c` ) -c( "zooSetLookat "+ $c +";" ); + setParent -m ..; + menuItem -d 1; + menuItem -l "Bolt on IK" -c( "zooBoltOnIKWin;" ); + menu -label "Setup"; + menuItem -l "Install Shelf Button" -c( "zooCSTShelfButton install" ); + menuItem -l "Remove Shelf Button" -c( "zooCSTShelfButton remove" ); + menu -label "Help"; + menuItem -l "Donate Now" -c( "showHelp -a \"http://www.macaronikazoo.com/donate.html\";" ); + menuItem -l "Help..." -c( "zooHelp zooCST 2" ); + menuItem -d 1; + menuItem -l "How It Works" -c( "zooHelp zooCST 4" ); + menuItem -l "Technical Info" -c( "zooHelp zooCST 3" ); + menuItem -l "Additional Flags" -c( "zooHelp zooCST 1" ); + menuItem -d 1; + menuItem -l "Show Tips Window" -c( "zooTipsWin zooCST -1" ); + + string $masterForm = `formLayout`; + string $topForm = `formLayout`; + text -width 80 -l "controller prefix:" zooCSTTextPrefixLbl; + textField -width 85 -cc( "zooCSTWindowFunctions update n" ) zooCSTTextPrefix; + button -width 105 -l "guess all joints" -c( "zooCSTWindowFunctions guessAll \"*\"" ) zooCSTButtonGuess; + checkBox -vis 0 -l "controls as curves ONLY" -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckCurveControls; + + text -width 80 -l "global scale:" zooCSTTextScaleLbl; + floatField -width 85 -v 0.25 -min 0.001 -max 100 -s 0.1 zooCSTFloatScale; + button -width 105 -enable 0 -l "guess size" -c( "zooCSTWindowFunctions guessSize \"*\"" ) zooCSTButtonGuessSize; + colorIndexSliderGrp -vis 0 -cat 1 left 0 -cat 2 left 0 -cw 1 1 -cw 3 80 -label "" -min 0 -max 20 -value 0 zooCSTColourSlider; + setParent ..; + + string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5 -sc ( "zooCSTWindowFunctions refreshTab \"*\"" ) zooCSTSetupTabs`; + string $spineForm = `formLayout zooCSTFormRoot`; + string $rootBut = `button -l "Root ->" -width 70 -c( "zooCSTWindowFunctions addClient Root" )`; + string $rootTex = `textField zooCSTTextRoot`; + + string $rootHipsBut = `button -l "Hips ->" -width 70 -c( "zooCSTWindowFunctions addClient Waist;" ) zooCSTButtWaist`; + string $rootHipsTex = `textField zooCSTTextWaist`; + string $rootHipsCheck = `checkBox -l "build Hips" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckRootHips`; + + string $baseAnn = "This is the FIRST joint that you want to be controlled by the spine, which is different from the root. See Help for more details"; + string $spineBut1 = `button -l "Base ->" -width 70 -ann( $baseAnn ) -c( "zooCSTWindowFunctions addClient SpineBase;" ) zooCSTButtonSpineBase`; + string $spineTex1 = `textField zooCSTTextSpineBase`; + + string $endAnn = "This is the LAST joint that you want to be controlled by the spine"; + string $spineBut2 = `button -l "Chest ->" -width 70 -ann( $endAnn ) -c( "zooCSTWindowFunctions addClient SpineEnd;" ) zooCSTButtonSpineEnd`; + string $spineTex2 = `textField zooCSTTextSpineEnd`; + + string $spineOpts = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 70 + -columnWidth 2 90 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0`; + text -l "spine type -->"; + optionMenu -l "" zooCSTOptionSpineType; + menuItem -l "basic FK" basicFk; + //menuItem -l "advanced FK" advancedFk; + menuItem -l "reverse spine" reverseSpine; + //menuItem -l "stretchy IK" ik; + menuItem -l "stretchy IK FK" ikFk; + menuItem -l "root only" rootOnly; + setParent ..; + + string $spineCreateBut = `button -l "create spine primitive" -c( "zooCSTWindowFunctions createSpine \"*\"" )`; + string $rootOptsLbl = `text -l "additional options:"`; + string $rootOptsTex = `textField zooCSTTextOptsRoot`; + string $rootValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsRoot" )`; + string $spineInfoLbl = `text -l( zooWrapString("zooCST no longer has a root primitive. The spine is now the basis for your rig. If your character doesn't have a spine, you can use the \"root only\" spine type",80))`; + popupMenu -p $rootOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsRoot { \"spaceswitching 0\", \"parents\", \"orient 1\", \"axis x\" }" ) zooCSTTextOptsRootPopup; + setParent ..; + + string $headForm = `formLayout zooCSTFormHead`; + string $headFramePred = `frameLayout -label "Predecessors" -collapse 1 -collapsable 1 -labelAlign top -borderStyle etchedIn`; + rowColumnLayout -numberOfColumns 2 + -columnWidth 1 270 + -columnWidth 2 120 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0; + columnLayout; + text -l "World:" zooCSTTextHeadWorld; + text -l "Root:" zooCSTTextHeadRoot; + text -l "Chest:" zooCSTTextHeadChest; + setParent ..; + + columnLayout; + setParent ..; + setParent ..; + setParent ..; + + string $headSep1 = `separator`; + + string $headBut = `button -l "Head->" -width 70 -ann( "The joint used to rotate the head" ) -c( "zooCSTWindowFunctions addClient Head" )`; + string $headTex = `textField zooCSTTextHead`; + + string $neckBut = `button -l "Neck->" -en 0 -width 70 -ann( "The joint used to rotate the neck" ) -c( "zooCSTWindowFunctions addClient Neck" ) zooCSTButtNeck`; + string $neckTex = `textField -en 0 zooCSTTextNeck`; + string $headCheckNeck = `checkBox -l "build Neck" -v 0 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckHeadNeck`; + + string $headOpts = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 70 + -columnWidth 2 90 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0`; + text -l "head type -->"; + optionMenu -l "" zooCSTOptionHeadType; + menuItem -l "basic head" Head; + setParent ..; + + string $headCreateBut = `button -l "create head primitive" -c( "zooCSTWindowFunctions createHead \"*\"" )`; + + string $headSep2 = `separator`; + string $headEyeLbl = `text -l "Eyes" -align center`; + string $headSep3 = `separator`; + + string $eyeButL = `button -l "Eye_L ->" -width 70 -c( "zooCSTWindowFunctions addClient \"EyeL^EyeR\";" )`; + string $eyeTexL = `textField zooCSTTextEyeL`; + string $eyeButR = `button -l "Eye_R ->" -width 70 -c( "zooCSTWindowFunctions addClient \"EyeR^EyeL\";" )`; + string $eyeTexR = `textField zooCSTTextEyeR`; + + string $eyeOpts = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 70 + -columnWidth 2 90 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0`; + text -l "eye type -->"; + optionMenu -l "" zooCSTOptionEyeType; + menuItem -l "basic eye" Eyes; + menuItem -l "moveable eyes" MoveableEyes; + setParent ..; + + string $eyeCreateBut = `button -l "create eyes primitive" -c( "zooCSTWindowFunctions createEyes \"*\"" )`; + string $eyeOptsLbl = `text -l "additional options:"`; + string $eyeOptsTex = `textField zooCSTTextOptsHead`; + string $headValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsHead" )`; + popupMenu -p $eyeOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsHead { \"orient 0\", \"spaceswitching 0\", \"parents\", \"world\", \"root\", \"chest\", \"head\", \"eyeParents\", \"neck 0\" }" ) zooCSTTextOptsHeadPopup; + setParent ..; + + string $armForm = `formLayout zooCSTFormArm`; + string $armFramePred = `frameLayout -label "Predecessors" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + rowColumnLayout -numberOfColumns 2 + -columnWidth 1 270 + -columnWidth 2 120 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0; + columnLayout; + text -l "World:" zooCSTTextArmWorld; + text -l "Root:" zooCSTTextArmRoot; + text -l "Chest:" zooCSTTextArmChest; + text -l "Head:" zooCSTTextArmHead; + setParent ..; + + columnLayout; + setParent ..; + setParent ..; + setParent ..; + + string $armSep = `separator`; + + string $armFrameLOpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 65 -columnWidth 2 100 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "left arm" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckArmL; + checkBox -l "stretchy" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckArmStretchL; + setParent ..; + setParent ..; + + string $armFrameROpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 65 -columnWidth 2 100 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "right arm" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckArmR; + checkBox -l "stretchy" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckArmStretchR; + setParent ..; + setParent ..; + + string $armBicepButL = `button -l "Bicep ->" -width 70 -c( "zooCSTWindowFunctions addClient \"BicepL^BicepR\"" )`; + string $armBicepTexL = `textField zooCSTTextBicepL`; + + string $armElbowButL = `button -l "Elbow ->" -width 70 -c( "zooCSTWindowFunctions addClient \"ElbowL^ElbowR\"" )`; + string $armElbowTexL = `textField zooCSTTextElbowL`; + + string $armWristButL = `button -l "Wrist ->" -width 70 -c( "zooCSTWindowFunctions addClient \"WristL^WristR\"" )`; + string $armWristTexL = `textField zooCSTTextWristL`; + + string $armBicepButR = `button -l "Bicep ->" -width 70 -c( "zooCSTWindowFunctions addClient \"BicepR^BicepL\"" )`; + string $armBicepTexR = `textField zooCSTTextBicepR`; + + string $armElbowButR = `button -l "Elbow ->" -width 70 -c( "zooCSTWindowFunctions addClient \"ElbowR^ElbowL\"" )`; + string $armElbowTexR = `textField zooCSTTextElbowR`; + + string $armWristButR = `button -l "Wrist ->" -width 70 -c( "zooCSTWindowFunctions addClient \"WristR^WristL\"" )`; + string $armWristTexR = `textField zooCSTTextWristR`; + + string $armOpts = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 70 + -columnWidth 2 90 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0`; + text -l "arm type -->"; + optionMenu -l "" zooCSTOptionArmType; + menuItem -l "basic ik/fk" Arm; + setParent ..; + + string $armCreateBut = `button -l "create arm primitive" -c( "zooCSTWindowFunctions createArm \"*\"" )`; + string $armOptsLbl = `text -l "additional options:"`; + string $armOptsTex = `textField zooCSTTextOptsArms`; + string $armsValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsArms" )`; + popupMenu -p $armOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsArms { \"buildclav 0\", \"spaceswitching 0\", \"parents\", \"world\", \"root\", \"chest\", \"head\", \"fkType\", \"ikType\", \"poleType\", \"triggers 0\", \"invert 1\" }" ) zooCSTTextOptsArmsPopup; + setParent ..; + + string $legForm = `formLayout zooCSTFormLeg`; + string $legFramePred = `frameLayout -label "Predecessors" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 270 + -columnWidth 2 120 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0; + columnLayout; + text -l "World:" zooCSTTextLegWorld; + text -l "Root:" zooCSTTextLegRoot; + setParent ..; + + columnLayout; + setParent ..; + setParent ..; + setParent ..; + + string $legSep = `separator`; + + string $legFrameLOpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 65 -columnWidth 2 75 -columnWidth 3 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0 -columnAttach 3 "both" 0; + checkBox -l "left leg" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckLegL; + checkBox -l "stretchy" -v 1 zooCSTCheckLegStretchL; + checkBox -l "parent knee" -v 1 zooCSTCheckLegParentKneeL; + setParent ..; + setParent ..; + + string $legFrameROpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 3 -columnWidth 1 65 -columnWidth 2 75 -columnWidth 3 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0 -columnAttach 3 "both" 0; + checkBox -l "right leg" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckLegR; + checkBox -l "stretchy" -v 1 zooCSTCheckLegStretchR; + checkBox -l "parent knee" -v 1 zooCSTCheckLegParentKneeR; + setParent ..; + setParent ..; + + string $legThighButL = `button -l "Thigh ->" -width 70 -c( "zooCSTWindowFunctions addClient \"ThighL^ThighR\"" )`; + string $legThighTexL = `textField zooCSTTextThighL`; + + string $legKneeButL = `button -l "Knee ->" -width 70 -c( "zooCSTWindowFunctions addClient \"KneeL^KneeR\"" )`; + string $legKneeTexL = `textField zooCSTTextKneeL`; + + string $legAnkleButL = `button -l "Ankle ->" -width 70 -c( "zooCSTWindowFunctions addClient \"AnkleL^AnkleR\"" )`; + string $legAnkleTexL = `textField zooCSTTextAnkleL`; + + string $legToeButL = `button -l "Toe ->" -en 0 -width 70 -c( "zooCSTWindowFunctions addClient \"ToeL^ToeR\"" )`; + string $legToeTexL = `textField -en 0 zooCSTTextToeL`; + + string $legThighButR = `button -l "Thigh ->" -width 70 -c( "zooCSTWindowFunctions addClient \"ThighR^ThighL\"" )`; + string $legThighTexR = `textField zooCSTTextThighR`; + + string $legKneeButR = `button -l "Knee ->" -width 70 -c( "zooCSTWindowFunctions addClient \"KneeR^KneeL\"" )`; + string $legKneeTexR = `textField zooCSTTextKneeR`; + + string $legAnkleButR = `button -l "Ankle ->" -width 70 -c( "zooCSTWindowFunctions addClient \"AnkleR^AnkleL\"" )`; + string $legAnkleTexR = `textField zooCSTTextAnkleR`; + + string $legToeButR = `button -l "Toe ->" -en 0 -width 70 -c( "zooCSTWindowFunctions addClient \"ToeR^ToeL\"" )`; + string $legToeTexR = `textField -en 0 zooCSTTextToeR`; + + string $legOpts = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 70 + -columnWidth 2 90 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0`; + text -l "leg type -->"; + optionMenu -l "" -cc( "zooCSTWindowFunctions update \"*\";" ) zooCSTOptionLegType; + menuItem -l "basic ik/fk" Leg; + menuItem -l "quadruped leg" Haunch; + setParent ..; + + string $legCreateBut = `button -l "create leg primitive" -c( "zooCSTWindowFunctions createLeg \"*\"" )`; + string $legOptsLbl = `text -l "additional options:"`; + string $legOptsTex = `textField -tx "" zooCSTTextOptsLegs`; + string $legsValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsLegs" )`; + string $legInfoText = `text -l "the -fkCurve flag forces zooCST to create the fk controls as curve controls\n\nthis allows you to combine control geometry types - for more information\non other flags that work in zooCST, please read the \"Additional Flags\" help"`; + popupMenu -p $legOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsLegs { \"spaceswitching 0\", \"parents\", \"world\", \"root\", \"chest\", \"head\", \"fkType\", \"ikType\", \"poleType\", \"triggers 0\", \"invert 1\", \"kneeMode 0\" }" ) zooCSTTextOptsLegsPopup; + setParent ..; + + string $handForm = `formLayout zooCSTFormHand`; + string $handFramePred = `frameLayout -label "Predecessors" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 270 + -columnWidth 2 120 + -columnAttach 1 "both" 0 + -columnAttach 2 "both" 0; + columnLayout; + text -l "ArmL:" zooCSTTextPredHandL; + text -l "ArmR:" zooCSTTextPredHandR; + setParent ..; + + columnLayout; + setParent ..; + setParent ..; + setParent ..; + string $sep = `separator`; + + string $handFrameLOpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 95 -columnWidth 2 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "left fingers" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckHandL; + checkBox -l "write sliders" -v 1 zooCSTCheckHandSlidersL; + setParent ..; + setParent ..; + + string $handFrameROpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 95 -columnWidth 2 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "right fingers" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckHandR; + checkBox -l "write sliders" -v 1 zooCSTCheckHandSlidersR; + setParent ..; + setParent ..; + + string $handLIndexLoad = `button -width 70 -l "Index ->" -c( "zooCSTWindowFunctions addClient \"IndexObjL^IndexObjR\"" )`; + string $handLIndexObj = `textField zooCSTTextIndexObjL`; + string $handLIndexNum = `intField -vis 0 -width 1 -v 0 zooCSTIntIndexNumL`; + + string $handLMidLoad = `button -width 70 -l "Mid ->" -c( "zooCSTWindowFunctions addClient \"MidObjL^MidObjR\"" )`; + string $handLMidObj = `textField zooCSTTextMidObjL`; + string $handLMidNum = `intField -vis 0 -width 1 -v 0 zooCSTIntMidNumL`; + + string $handLRingLoad = `button -width 70 -l "Ring ->" -c( "zooCSTWindowFunctions addClient \"RingObjL^RingObjR\"" )`; + string $handLRingObj = `textField zooCSTTextRingObjL`; + string $handLRingNum = `intField -vis 0 -width 1 -v 0 zooCSTIntRingNumL`; + + string $handLPinkyLoad = `button -width 70 -l "Pinky ->" -c( "zooCSTWindowFunctions addClient \"PinkyObjL^PinkyObjR\"" )`; + string $handLPinkyObj = `textField zooCSTTextPinkyObjL`; + string $handLPinkyNum = `intField -vis 0 -width 1 -v 0 zooCSTIntPinkyNumL`; + + string $handLThumbLoad = `button -width 70 -l "Thumb ->" -c( "zooCSTWindowFunctions addClient \"ThumbObjL^ThumbObjR\"" )`; + string $handLThumbObj = `textField zooCSTTextThumbObjL`; + string $handLThumbNum = `intField -vis 0 -width 1 -v 0 zooCSTIntThumbNumL`; + + string $handRIndexLoad = `button -width 70 -l "Index ->" -c( "zooCSTWindowFunctions addClient \"IndexObjR^IndexObjL\"" )`; + string $handRIndexObj = `textField zooCSTTextIndexObjR`; + string $handRIndexNum = `intField -vis 0 -width 1 -v 0 zooCSTIntIndexNumR`; + + string $handRMidLoad = `button -width 70 -l "Mid ->" -c( "zooCSTWindowFunctions addClient \"MidObjR^MidObjL\"" )`; + string $handRMidObj = `textField zooCSTTextMidObjR`; + string $handRMidNum = `intField -vis 0 -width 1 -v 0 zooCSTIntMidNumR`; + + string $handRRingLoad = `button -width 70 -l "Ring ->" -c( "zooCSTWindowFunctions addClient \"RingObjR^RingObjL\"" )`; + string $handRRingObj = `textField zooCSTTextRingObjR`; + string $handRRingNum = `intField -vis 0 -width 1 -v 0 zooCSTIntRingNumR`; + + string $handRPinkyLoad = `button -width 70 -l "Pinky ->" -c( "zooCSTWindowFunctions addClient \"PinkyObjR^PinkyObjL\"" )`; + string $handRPinkyObj = `textField zooCSTTextPinkyObjR`; + string $handRPinkyNum = `intField -vis 0 -width 1 -v 0 zooCSTIntPinkyNumR`; + + string $handRThumbLoad = `button -width 70 -l "Thumb ->" -c( "zooCSTWindowFunctions addClient \"ThumbObjR^ThumbObjL\"" )`; + string $handRThumbObj = `textField zooCSTTextThumbObjR`; + string $handRThumbNum = `intField -vis 0 -width 1 -v 0 zooCSTIntThumbNumR`; + + string $handGoBut = `button -l "build fingers" -c( "zooCSTWindowFunctions createHands \"*\"" )`; + string $handOptsLbl = `text -l "additional options:"`; + string $handOptsTex = `textField -tx "" zooCSTTextOptsHand`; + string $handValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsHand" )`; + popupMenu -p $handOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsHand { \"axis x\", \"wrist\", \"control\", \"invert 1\", \"num\", \"name\" }" ) zooCSTTextOptsHandPopup; + setParent ..; + + string $subPrimForm = `formLayout zooCSTFormSubPrim`; + string $subPrimFrameIKFK = `frameLayout -label "IK/FK Sub-Primitive" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + string $subPrimIKFKForm = `formLayout zooCSTFormSubPrimIKFK`; + string $subPrimFrameLOpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 95 -columnWidth 2 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "build left" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckSubPrimL; + checkBox -vis 0 -l "as primitive" -v 1 zooCSTCheckSubPrimAsPrimL; + setParent ..; + setParent ..; + + string $subPrimFrameROpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 95 -columnWidth 2 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "build right" -v 1 -cc( "zooCSTWindowFunctions update \"*\"" ) zooCSTCheckSubPrimR; + checkBox -vis 0 -l "as primitive" -v 1 zooCSTCheckSubPrimAsPrimR; + setParent ..; + setParent ..; + + string $subPrimIkfkLoadLUpper = `button -width 70 -l "Upper ->" -c( "zooCSTWindowFunctions addClient \"IkfkObjLUpper^IkfkObjRUpper\"" )`; + string $subPrimIkfkObjLUpper = `textField zooCSTTextIkfkObjLUpper`; + + string $subPrimIkfkLoadLMid = `button -width 70 -l "Mid ->" -c( "zooCSTWindowFunctions addClient \"IkfkObjLMid^IkfkObjRMid\"" )`; + string $subPrimIkfkObjLMid = `textField zooCSTTextIkfkObjLMid`; + + string $subPrimIkfkLoadLLower = `button -width 70 -l "Lower ->" -c( "zooCSTWindowFunctions addClient \"IkfkObjLLower^IkfkObjRLower\"" )`; + string $subPrimIkfkObjLLower = `textField zooCSTTextIkfkObjLLower`; + + string $subPrimIkfkLoadRUpper = `button -width 70 -l "Upper ->" -c( "zooCSTWindowFunctions addClient \"IkfkObjRUpper^IkfkObjLUpper\"" )`; + string $subPrimIkfkObjRUpper = `textField zooCSTTextIkfkObjRUpper`; + + string $subPrimIkfkLoadRMid = `button -width 70 -l "Mid ->" -c( "zooCSTWindowFunctions addClient \"IkfkObjRMid^IkfkObjLMid\"" )`; + string $subPrimIkfkObjRMid = `textField zooCSTTextIkfkObjRMid`; + + string $subPrimIkfkLoadRLower = `button -width 70 -l "Lower ->" -c( "zooCSTWindowFunctions addClient \"IkfkObjRLower^IkfkObjLLower\"" )`; + string $subPrimIkfkObjRLower = `textField zooCSTTextIkfkObjRLower`; + + string $subPrimIkfkGoBut = `button -l "build IK/FK sub-primitive" -c( "zooCSTWindowFunctions createSubPrimIKFK \"*\"" )`; + string $subPrimIkfkOptsLbl = `text -l "additional options:"`; + string $subPrimIkfkOptsTex = `textField -tx "-cmds 1 " zooCSTTextOptsSubPrimIKFK`; + string $subPrimIkfkValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsSubPrimIKFK" )`; + popupMenu -p $subPrimIkfkOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsSubPrimIKFK {\"-cmds 1\",\"asPrim 1\",\"id\",\"ikType\",\"fkType\",\"poleType\",\"triggers 0\"}" ) zooCSTTextOptsSubPrimIKFKPopup; + setParent ..; + setParent ..; + + string $subPrimFrameSplineIK = `frameLayout -label "Spline IK Sub-Primitive" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + string $subPrimSplineIKForm = `formLayout zooCSTFormSubPrimSplineIK`; + string $subPrimFrameSplineIKOpts = `frameLayout -label "" -labelVisible 0 -collapse 0 -collapsable 0 -labelAlign top -borderStyle etchedOut`; + rowColumnLayout -numberOfColumns 2 -columnWidth 1 95 -columnWidth 2 80 -columnAttach 1 "both" 0 -columnAttach 2 "both" 0; + checkBox -l "stretchy" -v 1 zooCSTCheckSubPrimSplineIKStretch; + checkBox -vis 0; + setParent ..; + setParent ..; + + string $subPrimSplineIKLoadStart = `button -width 70 -l "Start ->" -c( "zooCSTWindowFunctions addClient \"SplineIKStart\"" )`; + string $subPrimSplineIKObjStart = `textField zooCSTTextSplineIKStart`; + + string $subPrimSplineIKLoadEnd = `button -width 70 -l "End ->" -c( "zooCSTWindowFunctions addClient \"SplineIKEnd\"" )`; + string $subPrimSplineIKObjEnd = `textField zooCSTTextSplineIKEnd`; + + string $subPrimSplineIKGoBut = `button -l "build SplineIK sub-primitive" -c( "zooCSTWindowFunctions createSubPrimSplineIK \"*\"" )`; + string $subPrimSplineIKOptsLbl = `text -l "additional options:"`; + string $subPrimSplineIKOptsTex = `textField -tx "" zooCSTTextOptsSubPrimSplineIK`; + string $subPrimSplineIKValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsSubPrimSplineIK" )`; + popupMenu -p $subPrimSplineIKOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsSubPrimSplineIK {\"axis x\",\"control\",\"buildcontrols 0\",\"bezier 0\"}" ) zooCSTTextOptsSubPrimSplineIKPopup; + setParent ..; + setParent ..; + + string $subPrimFrameMPath = `frameLayout -label "IK/FK Curve Constraint" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + string $subPrimMPathForm = `formLayout zooCSTFormSubPrimMPath`; + string $subPrimMPathTSL = `textScrollList -ams 1 -h 100`; + string $subPrimMPathGoBut = `button -l "build MPath sub-primitive" -c( "zooCSTWindowFunctions createSubPrimMPath \""+ $subPrimMPathTSL +"\"" )`; + + string $subPrimMPathAdd = `button -width 70 -l "Add ->" -c( "zooCSTWindowFunctions addMPath \""+ $subPrimMPathTSL +"\";" )`; + string $subPrimMPathRemove = `button -width 70 -l "Remove ->" -c( "zooCSTWindowFunctions remMPath \""+ $subPrimMPathTSL +"\";" )`; + string $subPrimMPathRemAll = `button -width 70 -l "Remove All!" -c( "textScrollList -e -ra \""+ $subPrimMPathTSL +"\";" )`; + setParent ..; + setParent ..; + setParent ..; + + string $spaceForm = `formLayout`; + int $clear = `optionVar -ex zooCSTClearParents`? `optionVar -q zooCSTClearParents`: 1; + string $spcLbl0 = `text -w 65 -l "control:"`; + string $spcTgt = `nameField zooCSTNameSpc`; + string $spcClear = `checkBox -l "clear list" -v $clear -cc( "if( #1 ) optionVar -rm zooCSTClearParents; else optionVar -iv zooCSTClearParents #1;" ) zooCSTCheckSpcClear`; + string $spcTgtBut = `button -l "load target" -c( "zooCSTSpaceUIFunctions -load" )`; + string $spcGrp2Self = `button -en 0 -l "group to self" -c( "zooGrpToSelf \"\" `nameField -q -o zooCSTNameSpc`" ) zooCSTButtSpcGrp`; + + string $parLbl = `text -w 65 -l "space node:"`; + string $parName = `nameField zooCSTNameParent`; + string $parLoad = `button -l "load parent" -c( "zooCSTSpaceUIFunctions -loadParent" )`; + + string $spcLbl1 = `text -width 90 -l "Parents"`; + string $spcSpaces = `textScrollList -allowMultiSelection 0 -sc ( "zooCSTSpaceUIFunctions -sel" ) -dkc( "zooCSTSpaceUIFunctions -rm" ) -dcc( "select `textScrollList -q -si zooCSTScrollSpaces`" ) zooCSTScrollSpaces`; + string $spcDirForm = `formLayout`; + string $spcUpBut = `button -l "up" -width 20 -c( "zooCSTSpaceUIFunctions -up" ) zooCSTWinSSButtUp`; + string $spcDnBut = `button -l "dn" -width 20 -c( "zooCSTSpaceUIFunctions -down" ) zooCSTWinSSButtDn`; + setParent ..; + string $spcBut1 = `button -l "add space" -c( "zooCSTSpaceUIFunctions -a" )`; + string $spcBut2 = `button -l "remove" -c( "zooCSTSpaceUIFunctions -rm" )`; + string $spcBut4 = `button -l "remove all" -c( "zooCSTSpaceUIFunctions -rma" )`; + + string $spcLbl2 = `text -width 90 -l "Space Names"`; + string $spcNames = `textScrollList -enable 0 -allowMultiSelection 0 zooCSTScrollNames`; + string $spcName = `textField -ec( "zooCSTSpaceUIFunctions -c" ) -cc( "zooCSTSpaceUIFunctions -c" ) zooCSTTextName`; + string $spcBut3 = `button -l "change name" -width 85 -c( "zooCSTSpaceUIFunctions -c" )`; + + string $spcGoBut = `button -l "build space switch" -c( "zooCSTSpaceUIFunctions -build" )`; + setParent ..; + + string $ctrlForm = `formLayout`; + string $shapes[] = `zooListControlShapes`; + string $ctrlTgtBut = `button -l "place at->" -width 70 -c( "zooCSTCtrlUIFunctions -load" )`; + string $ctrlTgt = `nameField zooCSTNamePlaceCtrl`; + + string $ctrlAlignBut = `button -l "align to->" -width 70 -c( "zooCSTCtrlUIFunctions -loadali" )`; + string $ctrlAlign = `nameField zooCSTNameAlignCtrl`; + string $ctrlPivBut = `button -l "pivot to->" -width 70 -c( "zooCSTCtrlUIFunctions -loadpiv" )`; + string $ctrlPiv = `nameField zooCSTNamePivotCtrl`; + + string $ctrlSubForm1 = `formLayout`; + string $ctrlLbl1 = `text -l "control type"`; + string $ctrlShape = `textField -ed 0 -tx "cube" zooCSTTextCtrlType`; + string $ctrlLbl1a = `text -l "colour"`; + string $ctrlColour = `textField -tx "none" zooCSTTextCtrlColour`; + setParent ..; + + radioCollection zooCSTCtrlAxis; + string $ctrlAxisLbl = `text -l "facing axis"`; + string $ctrlAxisX = `radioButton -l "x" x`; + string $ctrlAxisY = `radioButton -l "y" -sl y`; + string $ctrlAxisZ = `radioButton -l "z" z`; + string $ctrlCheckNeg = `checkBox -l "neg" -v 0 zooCSTCheckNeg`; + + string $ctrlConstrain = `checkBox -l "constrain" -v 1 zooCSTCheckConstrain`; + string $ctrlJoint = `checkBox -l "as joint" -v 0 zooCSTCheckJoint`; + string $ctrlOrient = `checkBox -l "oriented" -v 0 zooCSTCheckOriented`; + string $ctrlCurve = `checkBox -l "build curve" -v 1 zooCSTCheckCurve`; + string $ctrlSurface = `checkBox -l "build surface" -v 1 zooCSTCheckSurface`; + + string $ctrlLbl2 = `text -l "offset up:"`; + string $ctrlLbl3 = `text -l "offset side:"`; + string $ctrlLbl4 = `text -l "offset forward:"`; + + string $ctrlOffUp = `floatField zooCSTFloatOffUp`; + string $ctrlOffSide = `floatField zooCSTFloatOffSide`; + string $ctrlOffFwd = `floatField zooCSTFloatOffFwd`; + + string $ctrlGoBut = `button -l "build control" -c( "zooCSTCtrlUIFunctions -build" )`; + string $ctrlSelGoBut = `button -l "build controls on selected" -c( "zooCSTCtrlUIFunctions -buildOnSelected" )`; + popupMenu -p $ctrlShape zooCSTPopCtrlTypes; + popupMenu -p $ctrlAlignBut -pmc( "nameField -e -o \"\" zooCSTNameAlignCtrl" ); + popupMenu -p $ctrlPivBut -pmc( "nameField -e -o \"\" zooCSTNamePivotCtrl" ); + + string $subPrimFramePole = `frameLayout -label "Place Pole Vector" -collapse 1 -collapsable 1 -labelAlign top -borderStyle "etchedIn"`; + string $subPrimPoleForm = `formLayout zooCSTFormSubPrimPole`; + string $subPrimPoleLoadStart = `button -width 70 -l "Start ->" -c( "zooCSTWindowFunctions addClient \"PoleStart\"" )`; + string $subPrimPoleObjStart = `textField zooCSTTextPoleStart`; + + string $subPrimPoleLoadMid = `button -width 70 -l "Mid ->" -c( "zooCSTWindowFunctions addClient \"PoleMid\"" )`; + string $subPrimPoleObjMid = `textField zooCSTTextPoleMid`; + + string $subPrimPoleLoadEnd = `button -width 70 -l "End ->" -c( "zooCSTWindowFunctions addClient \"PoleEnd\"" )`; + string $subPrimPoleObjEnd = `textField zooCSTTextPoleEnd`; + + string $subPrimPoleGoBut = `button -l "place pole vector" -c( "zooCSTWindowFunctions createSubPrimPole \"*\"" )`; + string $subPrimPoleOptsLbl = `text -l "additional options:"`; + string $subPrimPoleOptsTex = `textField -tx "-dist 1" zooCSTTextOptsSubPrimPole`; + string $subPrimPoleValidBut = `button -l "check flags" -c( "zooCSTWindowFunctions validate zooCSTTextOptsSubPrimPole" )`; + popupMenu -p $subPrimPoleOptsTex -pmc( "zooBuildFlagPopup zooCSTTextOptsSubPrimPole {\"dist\"}" ) zooCSTTextOptsSubPrimPolePopup; + setParent ..; + setParent ..; + + setParent ..; + setParent ..; + + string $image = `image -width 300 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + setParent ..; + +setParent -m zooCSTPopCtrlTypes; +for( $s in $shapes ) menuItem -c( "textField -e -tx "+ $s +" zooCSTTextCtrlType" ) -l $s; + +tabLayout -e + -tabLabel $spineForm "Create Spine" + -tabLabel $headForm "Create Head" + -tabLabel $armForm "Create Arm" + -tabLabel $legForm "Create Leg" + -tabLabel $handForm "Create Fingers" + -tabLabel $subPrimForm "Sub Primitives" + -tabLabel $spaceForm "Space Switching" + -tabLabel $ctrlForm "Create Control" + zooCSTSetupTabs; + +formLayout -e + -af $topForm "top" 0 + -af $topForm "left" 0 + -af $topForm "right" 0 + -an $topForm "bottom" + + -ac $tabs "top" 0 $topForm + -af $tabs "left" 0 + -af $tabs "right" 0 + -ac $tabs "bottom" 2 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $masterForm; + +formLayout -e + -af zooCSTTextPrefixLbl "top" 3 + -af zooCSTTextPrefixLbl "left" 5 + -an zooCSTTextPrefixLbl "right" + -an zooCSTTextPrefixLbl "bottom" + + -af zooCSTTextPrefix "top" 0 + -ac zooCSTTextPrefix "left" 2 zooCSTTextPrefixLbl + -an zooCSTTextPrefix "right" + -an zooCSTTextPrefix "bottom" + + -af zooCSTButtonGuess "top" 0 + -ac zooCSTButtonGuess "left" 2 zooCSTTextPrefix + -an zooCSTButtonGuess "right" + -an zooCSTButtonGuess "bottom" + + -af zooCSTCheckCurveControls "top" 3 + -ac zooCSTCheckCurveControls "left" 12 zooCSTButtonGuess + -an zooCSTCheckCurveControls "right" + -an zooCSTCheckCurveControls "bottom" + + -ac zooCSTTextScaleLbl "top" 3 zooCSTTextPrefix + -af zooCSTTextScaleLbl "left" 5 + -an zooCSTTextScaleLbl "right" + -an zooCSTTextScaleLbl "bottom" + + -ac zooCSTFloatScale "top" 0 zooCSTTextPrefix + -ac zooCSTFloatScale "left" 2 zooCSTTextScaleLbl + -an zooCSTFloatScale "right" + -an zooCSTFloatScale "bottom" + + -ac zooCSTButtonGuessSize "top" 0 zooCSTTextPrefix + -ac zooCSTButtonGuessSize "left" 2 zooCSTFloatScale + -an zooCSTButtonGuessSize "right" + -an zooCSTButtonGuessSize "bottom" + + -ac zooCSTColourSlider "top" 0 zooCSTTextPrefix + -ac zooCSTColourSlider "left" 2 zooCSTButtonGuessSize + -an zooCSTColourSlider "right" + -an zooCSTColourSlider "bottom" + $topForm; + +formLayout -e + -af $rootBut "top" 0 + -af $rootBut "left" 0 + -an $rootBut "right" + -an $rootBut "bottom" + + -af $rootTex "top" 0 + -ac $rootTex "left" 0 $rootBut + -af $rootTex "right" 0 + -an $rootTex "bottom" + + -ac $rootHipsBut "top" 0 $rootBut + -af $rootHipsBut "left" 0 + -an $rootHipsBut "right" + -an $rootHipsBut "bottom" + + -ac $rootHipsTex "top" 0 $rootBut + -ac $rootHipsTex "left" 0 $rootHipsBut + -ac $rootHipsTex "right" 5 $rootHipsCheck + -an $rootHipsTex "bottom" + + -ac $rootHipsCheck "top" 4 $rootBut + -an $rootHipsCheck "left" + -af $rootHipsCheck "right" 0 + -an $rootHipsCheck "bottom" + + -ac $spineBut1 "top" 0 $rootHipsBut + -af $spineBut1 "left" 0 + -an $spineBut1 "right" + -an $spineBut1 "bottom" + + -ac $spineTex1 "top" 0 $rootHipsBut + -ac $spineTex1 "left" 0 $spineBut1 + -af $spineTex1 "right" 0 + -an $spineTex1 "bottom" + + -ac $spineBut2 "top" 0 $spineBut1 + -af $spineBut2 "left" 0 + -an $spineBut2 "right" + -an $spineBut2 "bottom" + + -ac $spineTex2 "top" 0 $spineBut1 + -ac $spineTex2 "left" 0 $spineBut2 + -af $spineTex2 "right" 0 + -an $spineTex2 "bottom" + + -ac $spineOpts "top" 0 $spineBut2 + -af $spineOpts "left" 0 + -an $spineOpts "right" + -an $spineOpts "bottom" + + -ac $spineCreateBut "top" 0 $spineBut2 + -ac $spineCreateBut "left" 0 $spineOpts + -af $spineCreateBut "right" 0 + -an $spineCreateBut "bottom" + + -ac $rootOptsLbl "top" 3 $spineOpts + -af $rootOptsLbl "left" 0 + -an $rootOptsLbl "right" + -an $rootOptsLbl "bottom" + + -ac $rootOptsTex "top" 0 $spineOpts + -ac $rootOptsTex "left" 0 $rootOptsLbl + -ac $rootOptsTex "right" 0 $rootValidBut + -an $rootOptsTex "bottom" + + -ac $rootValidBut "top" 0 $spineOpts + -an $rootValidBut "left" + -af $rootValidBut "right" 0 + -an $rootValidBut "bottom" + + -ac $spineInfoLbl "top" 10 $rootValidBut + -ac $spineInfoLbl "left" 0 $rootOptsLbl + -an $spineInfoLbl "right" + -an $spineInfoLbl "bottom" + $spineForm; + +formLayout -e + -af $headFramePred "top" 0 + -af $headFramePred "left" 0 + -af $headFramePred "right" 0 + -an $headFramePred "bottom" + + -ac $headSep1 "top" 5 $headFramePred + -af $headSep1 "left" 0 + -af $headSep1 "right" 0 + -an $headSep1 "bottom" + + -ac $headBut "top" 5 $headSep1 + -af $headBut "left" 0 + -an $headBut "right" + -an $headBut "bottom" + + -ac $headTex "top" 5 $headSep1 + -ac $headTex "left" 0 $headBut + -af $headTex "right" 0 + -an $headTex "bottom" + + -ac $neckBut "top" 0 $headTex + -af $neckBut "left" 0 + -an $neckBut "right" + -an $neckBut "bottom" + + -ac $neckTex "top" 0 $headTex + -ac $neckTex "left" 0 $neckBut + -ac $neckTex "right" 5 $headCheckNeck + -an $neckTex "bottom" + + -ac $headCheckNeck "top" 3 $headTex + -an $headCheckNeck "left" + -af $headCheckNeck "right" 0 + -an $headCheckNeck "bottom" + + -ac $headOpts "top" 0 $neckBut + -af $headOpts "left" 0 + -an $headOpts "right" + -an $headOpts "bottom" + + -ac $headCreateBut "top" 0 $neckBut + -ac $headCreateBut "left" 0 $headOpts + -af $headCreateBut "right" 0 + -an $headCreateBut "bottom" + + -ac $headSep2 "top" 7 $headCreateBut + -af $headSep2 "left" 0 + -ap $headSep2 "right" 5 50 + -an $headSep2 "bottom" + + -ac $headEyeLbl "top" 2 $headCreateBut + -ap $headEyeLbl "left" 0 50 + -an $headEyeLbl "right" + -an $headEyeLbl "bottom" + + -ac $headSep3 "top" 7 $headCreateBut + -ac $headSep3 "left" 4 $headEyeLbl + -af $headSep3 "right" 0 + -an $headSep3 "bottom" + + -ac $eyeButL "top" 2 $headEyeLbl + -af $eyeButL "left" 0 + -an $eyeButL "right" + -an $eyeButL "bottom" + + -ac $eyeTexL "top" 2 $headEyeLbl + -ac $eyeTexL "left" 0 $eyeButL + -ap $eyeTexL "right" 0 50 + -an $eyeTexL "bottom" + + -ac $eyeButR "top" 2 $headEyeLbl + -ap $eyeButR "left" 0 50 + -an $eyeButR "right" + -an $eyeButR "bottom" + + -ac $eyeTexR "top" 2 $headEyeLbl + -ac $eyeTexR "left" 0 $eyeButR + -af $eyeTexR "right" 0 + -an $eyeTexR "bottom" + + -ac $eyeOpts "top" 0 $eyeButL + -af $eyeOpts "left" 0 + -an $eyeOpts "right" + -an $eyeOpts "bottom" + + -ac $eyeCreateBut "top" 0 $eyeButL + -ac $eyeCreateBut "left" 0 $eyeOpts + -af $eyeCreateBut "right" 0 + -an $eyeCreateBut "bottom" + + -ac $eyeOptsLbl "top" 3 $eyeOpts + -af $eyeOptsLbl "left" 0 + -an $eyeOptsLbl "right" + -an $eyeOptsLbl "bottom" + + -ac $eyeOptsTex "top" 0 $eyeOpts + -ac $eyeOptsTex "left" 0 $eyeOptsLbl + -ac $eyeOptsTex "right" 0 $headValidBut + -an $eyeOptsTex "bottom" + + -ac $headValidBut "top" 0 $eyeOpts + -an $headValidBut "left" + -af $headValidBut "right" 0 + -an $headValidBut "bottom" + $headForm; + +formLayout -e + -af $armFramePred "top" 0 + -af $armFramePred "left" 0 + -af $armFramePred "right" 0 + -an $armFramePred "bottom" + + -ac $armSep "top" 5 $armFramePred + -af $armSep "left" 0 + -af $armSep "right" 0 + -an $armSep "bottom" + + -ac $armFrameLOpts "top" 5 $armSep + -af $armFrameLOpts "left" 0 + -ap $armFrameLOpts "right" 0 50 + -an $armFrameLOpts "bottom" + + -ac $armFrameROpts "top" 5 $armSep + -ap $armFrameROpts "left" 0 50 + -af $armFrameROpts "right" 0 + -an $armFrameROpts "bottom" + + -ac $armBicepButL "top" 0 $armFrameROpts + -af $armBicepButL "left" 0 + -an $armBicepButL "right" + -an $armBicepButL "bottom" + + -ac $armBicepTexL "top" 0 $armFrameROpts + -ac $armBicepTexL "left" 0 $armBicepButL + -ap $armBicepTexL "right" 0 50 + -an $armBicepTexL "bottom" + + -ac $armElbowButL "top" 0 $armBicepButL + -af $armElbowButL "left" 0 + -an $armElbowButL "right" + -an $armElbowButL "bottom" + + -ac $armElbowTexL "top" 0 $armBicepButL + -ac $armElbowTexL "left" 0 $armElbowButL + -ap $armElbowTexL "right" 0 50 + -an $armElbowTexL "bottom" + + -ac $armWristButL "top" 0 $armElbowButL + -af $armWristButL "left" 0 + -an $armWristButL "right" + -an $armWristButL "bottom" + + -ac $armWristTexL "top" 0 $armElbowButL + -ac $armWristTexL "left" 0 $armWristButL + -ap $armWristTexL "right" 0 50 + -an $armWristTexL "bottom" + + -ac $armBicepButR "top" 0 $armFrameROpts + -ap $armBicepButR "left" 0 50 + -an $armBicepButR "right" + -an $armBicepButR "bottom" + + -ac $armBicepTexR "top" 0 $armFrameROpts + -ac $armBicepTexR "left" 0 $armBicepButR + -af $armBicepTexR "right" 0 + -an $armBicepTexR "bottom" + + -ac $armElbowButR "top" 0 $armBicepButL + -ap $armElbowButR "left" 0 50 + -an $armElbowButR "right" + -an $armElbowButR "bottom" + + -ac $armElbowTexR "top" 0 $armBicepButL + -ac $armElbowTexR "left" 0 $armElbowButR + -af $armElbowTexR "right" 0 + -an $armElbowTexR "bottom" + + -ac $armWristButR "top" 0 $armElbowButL + -ap $armWristButR "left" 0 50 + -an $armWristButR "right" + -an $armWristButR "bottom" + + -ac $armWristTexR "top" 0 $armElbowButL + -ac $armWristTexR "left" 0 $armWristButR + -af $armWristTexR "right" 0 + -an $armWristTexR "bottom" + + -ac $armOpts "top" 0 $armWristButL + -af $armOpts "left" 0 + -an $armOpts "right" + -an $armOpts "bottom" + + -ac $armCreateBut "top" 0 $armWristButL + -ac $armCreateBut "left" 0 $armOpts + -af $armCreateBut "right" 0 + -an $armCreateBut "bottom" + + -ac $armOptsLbl "top" 3 $armOpts + -af $armOptsLbl "left" 0 + -an $armOptsLbl "right" + -an $armOptsLbl "bottom" + + -ac $armOptsTex "top" 0 $armOpts + -ac $armOptsTex "left" 0 $armOptsLbl + -ac $armOptsTex "right" 0 $armsValidBut + -an $armOptsTex "bottom" + + -ac $armsValidBut "top" 0 $armOpts + -an $armsValidBut "left" + -af $armsValidBut "right" 0 + -an $armsValidBut "bottom" + $armForm; + +formLayout -e + -af $legFramePred "top" 0 + -af $legFramePred "left" 0 + -af $legFramePred "right" 0 + -an $legFramePred "bottom" + + -ac $legSep "top" 5 $legFramePred + -af $legSep "left" 0 + -af $legSep "right" 0 + -an $legSep "bottom" + + -ac $legFrameLOpts "top" 5 $legSep + -af $legFrameLOpts "left" 0 + -ap $legFrameLOpts "right" 0 50 + -an $legFrameLOpts "bottom" + + -ac $legFrameROpts "top" 5 $legSep + -ap $legFrameROpts "left" 0 50 + -af $legFrameROpts "right" 0 + -an $legFrameROpts "bottom" + + -ac $legThighButL "top" 0 $legFrameROpts + -af $legThighButL "left" 0 + -an $legThighButL "right" + -an $legThighButL "bottom" + + -ac $legThighTexL "top" 0 $legFrameROpts + -ac $legThighTexL "left" 0 $legThighButL + -ap $legThighTexL "right" 0 50 + -an $legThighTexL "bottom" + + -ac $legKneeButL "top" 0 $legThighButL + -af $legKneeButL "left" 0 + -an $legKneeButL "right" + -an $legKneeButL "bottom" + + -ac $legKneeTexL "top" 0 $legThighButL + -ac $legKneeTexL "left" 0 $legKneeButL + -ap $legKneeTexL "right" 0 50 + -an $legKneeTexL "bottom" + + -ac $legAnkleButL "top" 0 $legKneeButL + -af $legAnkleButL "left" 0 + -an $legAnkleButL "right" + -an $legAnkleButL "bottom" + + -ac $legAnkleTexL "top" 0 $legKneeButL + -ac $legAnkleTexL "left" 0 $legAnkleButL + -ap $legAnkleTexL "right" 0 50 + -an $legAnkleTexL "bottom" + + -ac $legToeButL "top" 0 $legAnkleButL + -af $legToeButL "left" 0 + -an $legToeButL "right" + -an $legToeButL "bottom" + + -ac $legToeTexL "top" 0 $legAnkleButL + -ac $legToeTexL "left" 0 $legToeButL + -ap $legToeTexL "right" 0 50 + -an $legToeTexL "bottom" + + -ac $legThighButR "top" 0 $legFrameROpts + -ap $legThighButR "left" 0 50 + -an $legThighButR "right" + -an $legThighButR "bottom" + + -ac $legThighTexR "top" 0 $legFrameROpts + -ac $legThighTexR "left" 0 $legThighButR + -af $legThighTexR "right" 0 + -an $legThighTexR "bottom" + + -ac $legKneeButR "top" 0 $legThighButL + -ap $legKneeButR "left" 0 50 + -an $legKneeButR "right" + -an $legKneeButR "bottom" + + -ac $legKneeTexR "top" 0 $legThighButL + -ac $legKneeTexR "left" 0 $legKneeButR + -af $legKneeTexR "right" 0 + -an $legKneeTexR "bottom" + + -ac $legAnkleButR "top" 0 $legKneeButL + -ap $legAnkleButR "left" 0 50 + -an $legAnkleButR "right" + -an $legAnkleButR "bottom" + + -ac $legAnkleTexR "top" 0 $legKneeButL + -ac $legAnkleTexR "left" 0 $legAnkleButR + -af $legAnkleTexR "right" 0 + -an $legAnkleTexR "bottom" + + -ac $legToeButR "top" 0 $legAnkleButR + -ap $legToeButR "left" 0 50 + -an $legToeButR "right" + -an $legToeButR "bottom" + + -ac $legToeTexR "top" 0 $legAnkleButR + -ac $legToeTexR "left" 0 $legToeButR + -af $legToeTexR "right" 0 + -an $legToeTexR "bottom" + + -ac $legOpts "top" 0 $legToeButL + -af $legOpts "left" 0 + -an $legOpts "right" + -an $legOpts "bottom" + + -ac $legCreateBut "top" 0 $legToeButL + -ac $legCreateBut "left" 0 $legOpts + -af $legCreateBut "right" 0 + -an $legCreateBut "bottom" + + -ac $legOptsLbl "top" 3 $legOpts + -af $legOptsLbl "left" 0 + -an $legOptsLbl "right" + -an $legOptsLbl "bottom" + + -ac $legOptsTex "top" 0 $legOpts + -ac $legOptsTex "left" 0 $legOptsLbl + -ac $legOptsTex "right" 0 $legsValidBut + -an $legOptsTex "bottom" + + -ac $legsValidBut "top" 0 $legOpts + -an $legsValidBut "left" + -af $legsValidBut "right" 0 + -an $legsValidBut "bottom" + + -ac $legInfoText "top" 10 $legOptsTex + -ac $legInfoText "left" 0 $legOptsLbl + -an $legInfoText "right" + -an $legInfoText "bottom" + $legForm; + +formLayout -e + -af $handFramePred "top" 0 + -af $handFramePred "left" 0 + -af $handFramePred "right" 0 + -an $handFramePred "bottom" + + -ac $sep "top" 5 $handFramePred + -af $sep "left" 0 + -af $sep "right" 0 + -an $sep "bottom" + + -ac $handFrameLOpts "top" 5 $sep + -af $handFrameLOpts "left" 0 + -ap $handFrameLOpts "right" 0 50 + -an $handFrameLOpts "bottom" + + -ac $handFrameROpts "top" 5 $sep + -ap $handFrameROpts "left" 0 50 + -af $handFrameROpts "right" 0 + -an $handFrameROpts "bottom" + + -ac $handLIndexLoad "top" 0 $handFrameLOpts + -af $handLIndexLoad "left" 0 + -an $handLIndexLoad "right" + -an $handLIndexLoad "bottom" + + -ac $handLIndexObj "top" 0 $handFrameLOpts + -ac $handLIndexObj "left" 0 $handLIndexLoad + -ac $handLIndexObj "right" 0 $handLIndexNum + -an $handLIndexObj "bottom" + + -ac $handLIndexNum "top" 0 $handFrameLOpts + -an $handLIndexNum "left" + -ap $handLIndexNum "right" 0 50 + -an $handLIndexNum "bottom" + + -ac $handLMidLoad "top" 0 $handLIndexLoad + -af $handLMidLoad "left" 0 + -an $handLMidLoad "right" + -an $handLMidLoad "bottom" + + -ac $handLMidObj "top" 0 $handLIndexLoad + -ac $handLMidObj "left" 0 $handLMidLoad + -ac $handLMidObj "right" 0 $handLMidNum + -an $handLMidObj "bottom" + + -ac $handLMidNum "top" 0 $handLIndexLoad + -an $handLMidNum "left" + -ap $handLMidNum "right" 0 50 + -an $handLMidNum "bottom" + + -ac $handLRingLoad "top" 0 $handLMidLoad + -af $handLRingLoad "left" 0 + -an $handLRingLoad "right" + -an $handLRingLoad "bottom" + + -ac $handLRingObj "top" 0 $handLMidLoad + -ac $handLRingObj "left" 0 $handLRingLoad + -ac $handLRingObj "right" 0 $handLRingNum + -an $handLRingObj "bottom" + + -ac $handLRingNum "top" 0 $handLMidLoad + -an $handLRingNum "left" + -ap $handLRingNum "right" 0 50 + -an $handLRingNum "bottom" + + -ac $handLPinkyLoad "top" 0 $handLRingLoad + -af $handLPinkyLoad "left" 0 + -an $handLPinkyLoad "right" + -an $handLPinkyLoad "bottom" + + -ac $handLPinkyObj "top" 0 $handLRingLoad + -ac $handLPinkyObj "left" 0 $handLPinkyLoad + -ac $handLPinkyObj "right" 0 $handLPinkyNum + -an $handLPinkyObj "bottom" + + -ac $handLPinkyNum "top" 0 $handLRingLoad + -an $handLPinkyNum "left" + -ap $handLPinkyNum "right" 0 50 + -an $handLPinkyNum "bottom" + + -ac $handLThumbLoad "top" 0 $handLPinkyLoad + -af $handLThumbLoad "left" 0 + -an $handLThumbLoad "right" + -an $handLThumbLoad "bottom" + + -ac $handLThumbObj "top" 0 $handLPinkyLoad + -ac $handLThumbObj "left" 0 $handLThumbLoad + -ac $handLThumbObj "right" 0 $handLThumbNum + -an $handLThumbObj "bottom" + + -ac $handLThumbNum "top" 0 $handLPinkyLoad + -an $handLThumbNum "left" + -ap $handLThumbNum "right" 0 50 + -an $handLThumbNum "bottom" + + -ac $handRIndexLoad "top" 0 $handFrameROpts + -ap $handRIndexLoad "left" 0 50 + -an $handRIndexLoad "right" + -an $handRIndexLoad "bottom" + + -ac $handRIndexObj "top" 0 $handFrameROpts + -ac $handRIndexObj "left" 0 $handRIndexLoad + -ac $handRIndexObj "right" 0 $handRIndexNum + -an $handRIndexObj "bottom" + + -ac $handRIndexNum "top" 0 $handFrameROpts + -an $handRIndexNum "left" + -af $handRIndexNum "right" 0 + -an $handRIndexNum "bottom" + + -ac $handRMidLoad "top" 0 $handRIndexLoad + -ap $handRMidLoad "left" 0 50 + -an $handRMidLoad "right" + -an $handRMidLoad "bottom" + + -ac $handRMidObj "top" 0 $handRIndexLoad + -ac $handRMidObj "left" 0 $handRMidLoad + -ac $handRMidObj "right" 0 $handRMidNum + -an $handRMidObj "bottom" + + -ac $handRMidNum "top" 0 $handRIndexLoad + -an $handRMidNum "left" + -af $handRMidNum "right" 0 + -an $handRMidNum "bottom" + + -ac $handRRingLoad "top" 0 $handRMidLoad + -ap $handRRingLoad "left" 0 50 + -an $handRRingLoad "right" + -an $handRRingLoad "bottom" + + -ac $handRRingObj "top" 0 $handRMidLoad + -ac $handRRingObj "left" 0 $handRRingLoad + -ac $handRRingObj "right" 0 $handRRingNum + -an $handRRingObj "bottom" + + -ac $handRRingNum "top" 0 $handRMidLoad + -an $handRRingNum "left" + -af $handRRingNum "right" 0 + -an $handRRingNum "bottom" + + -ac $handRPinkyLoad "top" 0 $handRRingLoad + -ap $handRPinkyLoad "left" 0 50 + -an $handRPinkyLoad "right" + -an $handRPinkyLoad "bottom" + + -ac $handRPinkyObj "top" 0 $handRRingLoad + -ac $handRPinkyObj "left" 0 $handRPinkyLoad + -ac $handRPinkyObj "right" 0 $handRPinkyNum + -an $handRPinkyObj "bottom" + + -ac $handRPinkyNum "top" 0 $handRRingLoad + -an $handRPinkyNum "left" + -af $handRPinkyNum "right" 0 + -an $handRPinkyNum "bottom" + + -ac $handRThumbLoad "top" 0 $handRPinkyLoad + -ap $handRThumbLoad "left" 0 50 + -an $handRThumbLoad "right" + -an $handRThumbLoad "bottom" + + -ac $handRThumbObj "top" 0 $handRPinkyLoad + -ac $handRThumbObj "left" 0 $handRThumbLoad + -ac $handRThumbObj "right" 0 $handRThumbNum + -an $handRThumbObj "bottom" + + -ac $handRThumbNum "top" 0 $handRPinkyLoad + -an $handRThumbNum "left" + -af $handRThumbNum "right" 0 + -an $handRThumbNum "bottom" + + -ac $handGoBut "top" 0 $handLThumbLoad + -af $handGoBut "left" 0 + -af $handGoBut "right" 0 + -an $handGoBut "bottom" + + -ac $handOptsLbl "top" 4 $handGoBut + -af $handOptsLbl "left" 0 + -an $handOptsLbl "right" + -an $handOptsLbl "bottom" + + -ac $handOptsTex "top" 0 $handGoBut + -ac $handOptsTex "left" 0 $handOptsLbl + -ac $handOptsTex "right" 0 $handValidBut + -an $handOptsTex "bottom" + + -ac $handValidBut "top" 0 $handGoBut + -an $handValidBut "left" + -af $handValidBut "right" 0 + -an $handValidBut "bottom" + $handForm; + +formLayout -e + -af $subPrimFrameIKFK "top" 0 + -af $subPrimFrameIKFK "left" 0 + -af $subPrimFrameIKFK "right" 0 + -an $subPrimFrameIKFK "bottom" + + -ac $subPrimFrameSplineIK "top" 10 $subPrimFrameIKFK + -af $subPrimFrameSplineIK "left" 0 + -af $subPrimFrameSplineIK "right" 0 + -an $subPrimFrameSplineIK "bottom" + + -ac $subPrimFrameMPath "top" 10 $subPrimFrameSplineIK + -af $subPrimFrameMPath "left" 0 + -af $subPrimFrameMPath "right" 0 + -an $subPrimFrameMPath "bottom" + $subPrimForm; + +formLayout -e + -af $subPrimFrameLOpts "top" 0 + -af $subPrimFrameLOpts "left" 0 + -ap $subPrimFrameLOpts "right" 1 50 + -an $subPrimFrameLOpts "bottom" + + -af $subPrimFrameROpts "top" 0 + -ap $subPrimFrameROpts "left" 1 50 + -af $subPrimFrameROpts "right" 0 + -an $subPrimFrameROpts "bottom" + + -ac $subPrimIkfkLoadLUpper "top" 0 $subPrimFrameLOpts + -af $subPrimIkfkLoadLUpper "left" 0 + -an $subPrimIkfkLoadLUpper "right" + -an $subPrimIkfkLoadLUpper "bottom" + + -ac $subPrimIkfkObjLUpper "top" 0 $subPrimFrameLOpts + -ac $subPrimIkfkObjLUpper "left" 0 $subPrimIkfkLoadLUpper + -ap $subPrimIkfkObjLUpper "right" 1 50 + -an $subPrimIkfkObjLUpper "bottom" + + -ac $subPrimIkfkLoadLMid "top" 0 $subPrimIkfkLoadLUpper + -af $subPrimIkfkLoadLMid "left" 0 + -an $subPrimIkfkLoadLMid "right" + -an $subPrimIkfkLoadLMid "bottom" + + -ac $subPrimIkfkObjLMid "top" 0 $subPrimIkfkLoadLUpper + -ac $subPrimIkfkObjLMid "left" 0 $subPrimIkfkLoadLMid + -ap $subPrimIkfkObjLMid "right" 1 50 + -an $subPrimIkfkObjLMid "bottom" + + -ac $subPrimIkfkLoadLLower "top" 0 $subPrimIkfkLoadLMid + -af $subPrimIkfkLoadLLower "left" 0 + -an $subPrimIkfkLoadLLower "right" + -an $subPrimIkfkLoadLLower "bottom" + + -ac $subPrimIkfkObjLLower "top" 0 $subPrimIkfkLoadLMid + -ac $subPrimIkfkObjLLower "left" 0 $subPrimIkfkLoadLLower + -ap $subPrimIkfkObjLLower "right" 1 50 + -an $subPrimIkfkObjLLower "bottom" + + -ac $subPrimIkfkLoadRUpper "top" 0 $subPrimFrameLOpts + -ap $subPrimIkfkLoadRUpper "left" 1 50 + -an $subPrimIkfkLoadRUpper "right" + -an $subPrimIkfkLoadRUpper "bottom" + + -ac $subPrimIkfkObjRUpper "top" 0 $subPrimFrameLOpts + -ac $subPrimIkfkObjRUpper "left" 0 $subPrimIkfkLoadRUpper + -af $subPrimIkfkObjRUpper "right" 0 + -an $subPrimIkfkObjRUpper "bottom" + + -ac $subPrimIkfkLoadRMid "top" 0 $subPrimIkfkLoadRUpper + -ap $subPrimIkfkLoadRMid "left" 1 50 + -an $subPrimIkfkLoadRMid "right" + -an $subPrimIkfkLoadRMid "bottom" + + -ac $subPrimIkfkObjRMid "top" 0 $subPrimIkfkLoadRUpper + -ac $subPrimIkfkObjRMid "left" 0 $subPrimIkfkLoadRMid + -af $subPrimIkfkObjRMid "right" 0 + -an $subPrimIkfkObjRMid "bottom" + + -ac $subPrimIkfkLoadRLower "top" 0 $subPrimIkfkLoadRMid + -ap $subPrimIkfkLoadRLower "left" 1 50 + -an $subPrimIkfkLoadRLower "right" + -an $subPrimIkfkLoadRLower "bottom" + + -ac $subPrimIkfkObjRLower "top" 0 $subPrimIkfkLoadRMid + -ac $subPrimIkfkObjRLower "left" 0 $subPrimIkfkLoadRLower + -af $subPrimIkfkObjRLower "right" 0 + -an $subPrimIkfkObjRLower "bottom" + + -ac $subPrimIkfkGoBut "top" 0 $subPrimIkfkLoadRLower + -af $subPrimIkfkGoBut "left" 0 + -af $subPrimIkfkGoBut "right" 0 + -an $subPrimIkfkGoBut "bottom" + + -ac $subPrimIkfkOptsLbl "top" 3 $subPrimIkfkGoBut + -af $subPrimIkfkOptsLbl "left" 0 + -an $subPrimIkfkOptsLbl "right" + -an $subPrimIkfkOptsLbl "bottom" + + -ac $subPrimIkfkOptsTex "top" 0 $subPrimIkfkGoBut + -ac $subPrimIkfkOptsTex "left" 0 $subPrimIkfkOptsLbl + -ac $subPrimIkfkOptsTex "right" 0 $subPrimIkfkValidBut + -an $subPrimIkfkOptsTex "bottom" + + -ac $subPrimIkfkValidBut "top" 0 $subPrimIkfkGoBut + -an $subPrimIkfkValidBut "left" + -af $subPrimIkfkValidBut "right" 0 + -an $subPrimIkfkValidBut "bottom" + $subPrimIKFKForm; + +formLayout -e + -af $subPrimFrameSplineIKOpts "top" 0 + -af $subPrimFrameSplineIKOpts "left" 0 + -af $subPrimFrameSplineIKOpts "right" 0 + -an $subPrimFrameSplineIKOpts "bottom" + + -ac $subPrimSplineIKLoadStart "top" 0 $subPrimFrameSplineIKOpts + -af $subPrimSplineIKLoadStart "left" 0 + -an $subPrimSplineIKLoadStart "right" + -an $subPrimSplineIKLoadStart "bottom" + + -ac $subPrimSplineIKObjStart "top" 0 $subPrimFrameSplineIKOpts + -ac $subPrimSplineIKObjStart "left" 0 $subPrimSplineIKLoadStart + -ap $subPrimSplineIKObjStart "right" 1 50 + -an $subPrimSplineIKObjStart "bottom" + + -ac $subPrimSplineIKLoadEnd "top" 0 $subPrimFrameSplineIKOpts + -ap $subPrimSplineIKLoadEnd "left" 1 50 + -an $subPrimSplineIKLoadEnd "right" + -an $subPrimSplineIKLoadEnd "bottom" + + -ac $subPrimSplineIKObjEnd "top" 0 $subPrimFrameSplineIKOpts + -ac $subPrimSplineIKObjEnd "left" 0 $subPrimSplineIKLoadEnd + -af $subPrimSplineIKObjEnd "right" 0 + -an $subPrimSplineIKObjEnd "bottom" + + -ac $subPrimSplineIKGoBut "top" 0 $subPrimSplineIKLoadStart + -af $subPrimSplineIKGoBut "left" 0 + -af $subPrimSplineIKGoBut "right" 0 + -an $subPrimSplineIKGoBut "bottom" + + -ac $subPrimSplineIKOptsLbl "top" 3 $subPrimSplineIKGoBut + -af $subPrimSplineIKOptsLbl "left" 0 + -an $subPrimSplineIKOptsLbl "right" + -an $subPrimSplineIKOptsLbl "bottom" + + -ac $subPrimSplineIKOptsTex "top" 0 $subPrimSplineIKGoBut + -ac $subPrimSplineIKOptsTex "left" 5 $subPrimSplineIKOptsLbl + -ac $subPrimSplineIKOptsTex "right" 0 $subPrimSplineIKValidBut + -an $subPrimSplineIKOptsTex "bottom" + + -ac $subPrimSplineIKValidBut "top" 0 $subPrimSplineIKGoBut + -an $subPrimSplineIKValidBut "left" + -af $subPrimSplineIKValidBut "right" 0 + -an $subPrimSplineIKValidBut "bottom" + $subPrimSplineIKForm; + +formLayout -e + -af $subPrimMPathAdd "left" 0 + + -ac $subPrimMPathRemove "top" 0 $subPrimMPathAdd + -af $subPrimMPathRemove "left" 0 + + -ac $subPrimMPathRemAll "top" 0 $subPrimMPathRemove + -af $subPrimMPathRemAll "left" 0 + + -af $subPrimMPathTSL "top" 0 + -ac $subPrimMPathTSL "left" 0 $subPrimMPathAdd + -af $subPrimMPathTSL "right" 0 + -ac $subPrimMPathTSL "bottom" 0 $subPrimMPathGoBut + + -af $subPrimMPathGoBut "left" 0 + -af $subPrimMPathGoBut "right" 0 + -af $subPrimMPathGoBut "bottom" 0 + $subPrimMPathForm; + +formLayout -e + -af $subPrimPoleLoadStart "top" 0 + -af $subPrimPoleLoadStart "left" 0 + -an $subPrimPoleLoadStart "right" + -an $subPrimPoleLoadStart "bottom" + + -af $subPrimPoleObjStart "top" 0 + -ac $subPrimPoleObjStart "left" 0 $subPrimPoleLoadStart + -af $subPrimPoleObjStart "right" 0 + -an $subPrimPoleObjStart "bottom" + + -ac $subPrimPoleLoadMid "top" 0 $subPrimPoleLoadStart + -af $subPrimPoleLoadMid "left" 0 + -an $subPrimPoleLoadMid "right" + -an $subPrimPoleLoadMid "bottom" + + -ac $subPrimPoleObjMid "top" 0 $subPrimPoleLoadStart + -ac $subPrimPoleObjMid "left" 0 $subPrimPoleLoadMid + -af $subPrimPoleObjMid "right" 0 + -an $subPrimPoleObjMid "bottom" + + -ac $subPrimPoleLoadEnd "top" 0 $subPrimPoleLoadMid + -af $subPrimPoleLoadEnd "left" 0 + -an $subPrimPoleLoadEnd "right" + -an $subPrimPoleLoadEnd "bottom" + + -ac $subPrimPoleObjEnd "top" 0 $subPrimPoleLoadMid + -ac $subPrimPoleObjEnd "left" 0 $subPrimPoleLoadEnd + -af $subPrimPoleObjEnd "right" 0 + -an $subPrimPoleObjEnd "bottom" + + -ac $subPrimPoleGoBut "top" 0 $subPrimPoleLoadEnd + -af $subPrimPoleGoBut "left" 0 + -af $subPrimPoleGoBut "right" 0 + -an $subPrimPoleGoBut "bottom" + + -ac $subPrimPoleOptsLbl "top" 3 $subPrimPoleGoBut + -af $subPrimPoleOptsLbl "left" 0 + -an $subPrimPoleOptsLbl "right" + -an $subPrimPoleOptsLbl "bottom" + + -ac $subPrimPoleOptsTex "top" 0 $subPrimPoleGoBut + -ac $subPrimPoleOptsTex "left" 0 $subPrimPoleOptsLbl + -ac $subPrimPoleOptsTex "right" 0 $subPrimPoleValidBut + -an $subPrimPoleOptsTex "bottom" + + -ac $subPrimPoleValidBut "top" 0 $subPrimPoleGoBut + -an $subPrimPoleValidBut "left" + -af $subPrimPoleValidBut "right" 0 + -an $subPrimPoleValidBut "bottom" + $subPrimPoleForm; + +formLayout -e + -af $spcUpBut "top" 0 + -af $spcUpBut "left" 0 + -an $spcUpBut "right" + -ap $spcUpBut "bottom" 0 50 + + -ap $spcDnBut "top" 0 50 + -af $spcDnBut "left" 0 + -an $spcDnBut "right" + -af $spcDnBut "bottom" 0 + $spcDirForm; + +formLayout -e + -af $spcLbl0 "top" 3 + -af $spcLbl0 "left" 0 + -an $spcLbl0 "right" + -an $spcLbl0 "bottom" + + -af $spcTgt "top" 0 + -ac $spcTgt "left" 0 $spcLbl0 + -ac $spcTgt "right" 3 $spcClear + -an $spcTgt "bottom" + + -af $spcClear "top" 4 + -an $spcClear "left" + -ac $spcClear "right" 1 $spcTgtBut + -an $spcClear "bottom" + + -af $spcTgtBut "top" 0 + -an $spcTgtBut "left" + -ac $spcTgtBut "right" 0 $spcGrp2Self + -an $spcTgtBut "bottom" + + -af $spcGrp2Self "top" 0 + -an $spcGrp2Self "left" + -af $spcGrp2Self "right" 0 + -an $spcGrp2Self "bottom" + + -ac $parLbl "top" 3 $spcTgt + -af $parLbl "left" 0 + -an $parLbl "right" + -an $parLbl "bottom" + + -ac $parName "top" 0 $spcTgt + -ac $parName "left" 0 $parLbl + -ac $parName "right" 0 $parLoad + -an $parName "bottom" + + -ac $parLoad "top" 0 $spcTgt + -an $parLoad "left" + -af $parLoad "right" 0 + -an $parLoad "bottom" + + -ac $spcLbl1 "top" 0 $parName + -af $spcLbl1 "left" 0 + -ap $spcLbl1 "right" 0 50 + -an $spcLbl1 "bottom" + + -ac $spcSpaces "top" 0 $spcLbl1 + -af $spcSpaces "left" 0 + -ap $spcSpaces "right" 1 50 + -ac $spcSpaces "bottom" 0 $spcBut1 + + -ac $spcDirForm "top" 0 $spcLbl1 + -ap $spcDirForm "left" 0 50 + -an $spcDirForm "right" + -ac $spcDirForm "bottom" 0 $spcBut1 + + -an $spcBut1 "top" + -af $spcBut1 "left" 0 + -ap $spcBut1 "right" 0 17 + -ac $spcBut1 "bottom" 0 $spcGoBut + + -an $spcBut2 "top" + -ap $spcBut2 "left" 0 17 + -ap $spcBut2 "right" 0 33 + -ac $spcBut2 "bottom" 0 $spcGoBut + + -an $spcBut4 "top" + -ap $spcBut4 "left" 0 33 + -ap $spcBut4 "right" 1 50 + -ac $spcBut4 "bottom" 0 $spcGoBut + + -ac $spcLbl2 "top" 0 $parName + -ac $spcLbl2 "left" 0 $spcSpaces + -af $spcLbl2 "right" 0 + -an $spcLbl2 "bottom" + + -ac $spcNames "top" 0 $spcLbl2 + -ac $spcNames "left" 2 $spcDirForm + -af $spcNames "right" 0 + -ac $spcNames "bottom" 0 $spcName + + -an $spcName "top" + -ac $spcName "left" 0 $spcSpaces + -ac $spcName "right" 0 $spcBut3 + -ac $spcName "bottom" 0 $spcGoBut + + -an $spcBut3 "top" + -an $spcBut3 "left" + -af $spcBut3 "right" 0 + -ac $spcBut3 "bottom" 0 $spcGoBut + + -an $spcGoBut "top" + -af $spcGoBut "left" 0 + -af $spcGoBut "right" 0 + -af $spcGoBut "bottom" 0 + $spaceForm; + +formLayout -e + -af $ctrlTgtBut "top" 0 + -af $ctrlTgtBut "left" 0 + -an $ctrlTgtBut "right" + -an $ctrlTgtBut "bottom" + + -af $ctrlTgt "top" 0 + -ac $ctrlTgt "left" 0 $ctrlTgtBut + -af $ctrlTgt "right" 0 + -an $ctrlTgt "bottom" + + -ac $ctrlAlignBut "top" 0 $ctrlTgt + -af $ctrlAlignBut "left" 0 + -an $ctrlAlignBut "right" + -an $ctrlAlignBut "bottom" + + -ac $ctrlAlign "top" 0 $ctrlTgt + -ac $ctrlAlign "left" 0 $ctrlAlignBut + -ap $ctrlAlign "right" 0 50 + -an $ctrlAlign "bottom" + + -ac $ctrlPivBut "top" 0 $ctrlTgt + -ap $ctrlPivBut "left" 0 50 + -an $ctrlPivBut "right" + -an $ctrlPivBut "bottom" + + -ac $ctrlPiv "top" 0 $ctrlTgt + -ac $ctrlPiv "left" 0 $ctrlPivBut + -af $ctrlPiv "right" 0 + -an $ctrlPiv "bottom" + + -ac $ctrlSubForm1 "top" 7 $ctrlPiv + -af $ctrlSubForm1 "left" 0 + -ac $ctrlSubForm1 "right" 10 $ctrlAxisLbl + -an $ctrlSubForm1 "bottom" + + -ac $ctrlAxisLbl "top" 10 $ctrlPiv + -an $ctrlAxisLbl "left" + -ac $ctrlAxisLbl "right" 5 $ctrlAxisX + -an $ctrlAxisLbl "bottom" + + -ac $ctrlAxisX "top" 10 $ctrlPiv + -an $ctrlAxisX "left" + -ac $ctrlAxisX "right" 0 $ctrlAxisY + -an $ctrlAxisX "bottom" + + -ac $ctrlAxisY "top" 10 $ctrlPiv + -an $ctrlAxisY "left" + -ac $ctrlAxisY "right" 0 $ctrlAxisZ + -an $ctrlAxisY "bottom" + + -ac $ctrlAxisZ "top" 10 $ctrlPiv + -an $ctrlAxisZ "left" + -ac $ctrlAxisZ "right" 0 $ctrlCheckNeg + -an $ctrlAxisZ "bottom" + + -ac $ctrlCheckNeg "top" 10 $ctrlPiv + -an $ctrlCheckNeg "left" + -af $ctrlCheckNeg "right" 0 + -an $ctrlCheckNeg "bottom" + + -ac $ctrlJoint "top" 5 $ctrlSubForm1 + -af $ctrlJoint "left" 5 + -an $ctrlJoint "right" + -an $ctrlJoint "bottom" + + -ac $ctrlConstrain "top" 5 $ctrlSubForm1 + -ac $ctrlConstrain "left" 5 $ctrlJoint + -an $ctrlConstrain "right" + -an $ctrlConstrain "bottom" + + -ac $ctrlOrient "top" 5 $ctrlSubForm1 + -ac $ctrlOrient "left" 5 $ctrlConstrain + -an $ctrlOrient "right" + -an $ctrlOrient "bottom" + + -ac $ctrlCurve "top" 5 $ctrlSubForm1 + -ac $ctrlCurve "left" 5 $ctrlOrient + -an $ctrlCurve "right" + -an $ctrlCurve "bottom" + + -ac $ctrlSurface "top" 5 $ctrlSubForm1 + -ac $ctrlSurface "left" 5 $ctrlCurve + -an $ctrlSurface "right" + -an $ctrlSurface "bottom" + + -ac $ctrlLbl2 "top" 2 $ctrlJoint + -af $ctrlLbl2 "left" 0 + -an $ctrlLbl2 "right" + -an $ctrlLbl2 "bottom" + + -ac $ctrlLbl3 "top" 2 $ctrlJoint + -ap $ctrlLbl3 "left" 0 33 + -an $ctrlLbl3 "right" + -an $ctrlLbl3 "bottom" + + -ac $ctrlLbl4 "top" 2 $ctrlJoint + -ap $ctrlLbl4 "left" 0 67 + -an $ctrlLbl4 "right" + -an $ctrlLbl4 "bottom" + + -ac $ctrlOffUp "top" 2 $ctrlLbl2 + -af $ctrlOffUp "left" 0 + -ap $ctrlOffUp "right" 0 33 + -an $ctrlOffUp "bottom" + + -ac $ctrlOffSide "top" 2 $ctrlLbl2 + -ap $ctrlOffSide "left" 0 33 + -ap $ctrlOffSide "right" 0 67 + -an $ctrlOffSide "bottom" + + -ac $ctrlOffFwd "top" 2 $ctrlLbl2 + -ap $ctrlOffFwd "left" 0 67 + -af $ctrlOffFwd "right" 0 + -an $ctrlOffFwd "bottom" + + -ac $ctrlGoBut "top" 0 $ctrlOffUp + -af $ctrlGoBut "left" 0 + -ap $ctrlGoBut "right" 0 50 + -an $ctrlGoBut "bottom" + + -ac $ctrlSelGoBut "top" 0 $ctrlOffUp + -ap $ctrlSelGoBut "left" 0 50 + -af $ctrlSelGoBut "right" 0 + -an $ctrlSelGoBut "bottom" + + -ac $subPrimFramePole "top" 10 $ctrlGoBut + -af $subPrimFramePole "left" 0 + -af $subPrimFramePole "right" 0 + -an $subPrimFramePole "bottom" + $ctrlForm; + +formLayout -e + -af $ctrlLbl1 "top" 2 + -af $ctrlLbl1 "left" 0 + -an $ctrlLbl1 "right" + -an $ctrlLbl1 "bottom" + + -ac $ctrlShape "left" 2 $ctrlLbl1 + -ap $ctrlShape "right" 0 50 + -an $ctrlShape "bottom" + + -af $ctrlLbl1a "top" 2 + -ap $ctrlLbl1a "left" 10 50 + -an $ctrlLbl1a "right" + -an $ctrlLbl1a "bottom" + + -ac $ctrlColour "left" 2 $ctrlLbl1a + -af $ctrlColour "right" 0 + -an $ctrlColour "bottom" + $ctrlSubForm1; + +showWindow $windowName; + +if( $showTips ) zooTipsWin zooCST $latestTip; +zooCSTWindowFunctions update "*"; +} + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/CST/zooEyeSwapper.mel b/2009-x64/zooScripts/scripts/CST/zooEyeSwapper.mel new file mode 100644 index 0000000..d19fa3c --- /dev/null +++ b/2009-x64/zooScripts/scripts/CST/zooEyeSwapper.mel @@ -0,0 +1,88 @@ +zooBrandTools; +zooSortToHeirarchy {}; + + +global proc zooEyeSwapper() { + return; + } + + +global proc zooSwapToRotateEyes( string $char ) { + string $eyeL = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeRot" } { $char,"l" }`); + string $eyeR = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeRot" } { $char,"r" }`); + string $eyeAim = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyes" } { $char,$char }`); + + setAttr ( $eyeL +".r" ) 0 0 0; + setAttr ( $eyeR +".r" ) 0 0 0; + zooChangeSpace "-attrs parent 0" $eyeAim; + zooChangeSpace ( "-cmd setAttr "+ $eyeAim +".t 0 0 0; -objs "+ $eyeR ) $eyeL; + } + + +global proc zooSwapToLookatEyes( string $char ) { + string $sel[] = `ls -sl`; + string $eyeL = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeRot" } { $char,"l" }`); + string $eyeR = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeRot" } { $char,"r" }`); + string $eyeAimL = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeAim" } { $char,"l" }`); + string $eyeAimR = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeAim" } { $char,"r" }`); + string $eyeAim = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyes" } { $char,$char }`); + float $positions[] = `zooGetLookatPos $char`; + + move -ws -rpr $positions[0] $positions[1] $positions[2] $eyeAim; + move -ws -rpr $positions[3] $positions[4] $positions[5] $eyeAimL; + move -ws -rpr $positions[6] $positions[7] $positions[8] $eyeAimR; + setAttr ( $eyeL +".r" ) 0 0 0; + setAttr ( $eyeR +".r" ) 0 0 0; + select $sel; + } + + +global proc float[] zooGetLookatPos( string $char ) { + string $eyeL = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeRot" } { $char,"l" }`); + string $eyeR = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeRot" } { $char,"r" }`); + string $eyeAimL = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeAim" } { $char,"l" }`); + string $eyeAimR = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyeAim" } { $char,"r" }`); + string $eyeAim = zooGetElement_str(0,`zooGetBrandedWithList { "name","eyes" } { $char,$char }`); + float $eyePos_L[] = `xform -q -ws -rp $eyeL`; + float $eyePos_R[] = `xform -q -ws -rp $eyeR`; + float $eyeLookAtPos[] = `xform -q -ws -rp $eyeAim`; + float $eyeCentre[] = {}; + float $lookAtDistance = 0; + + //find centre of eye rotations + $eyeCentre[0] = ( $eyePos_L[0] + $eyePos_R[0] )/2; + $eyeCentre[1] = ( $eyePos_L[1] + $eyePos_R[1] )/2; + $eyeCentre[2] = ( $eyePos_L[2] + $eyePos_R[2] )/2; + + //find distance of eye aim from centre of eyes + $lookAtDistance += pow(($eyeCentre[0]-$eyeLookAtPos[0]),2); + $lookAtDistance += pow(($eyeCentre[1]-$eyeLookAtPos[1]),2); + $lookAtDistance += pow(($eyeCentre[2]-$eyeLookAtPos[2]),2); + $lookAtDistance = sqrt($lookAtDistance); + + //figure out the cumulative scale to apply to the transforms (ie scale from all parents) + string $parents[] = `zooGetAllParents $eyeL`; + float $cumulativeScale = 1; + + for( $p in $parents ) $cumulativeScale *= `getAttr ($p +".sx" )`; + $lookAtDistance /= $cumulativeScale; + + //transform the distance vector to the appropriate space for the individual eye aims + float $eye_LMat[] = `xform -q -m -ws $eyeL`; + float $eye_RMat[] = `xform -q -m -ws $eyeR`; + float $newAimPosL[] = `pointMatrixMult {0.,0.,$lookAtDistance} $eye_LMat`; + float $newAimPosR[] = `pointMatrixMult {0.,0.,$lookAtDistance} $eye_RMat`; + float $newAimPos[] = {}; + + $newAimPosL[0] += $eyePos_L[0]; + $newAimPosL[1] += $eyePos_L[1]; + $newAimPosL[2] += $eyePos_L[2]; + $newAimPosR[0] += $eyePos_R[0]; + $newAimPosR[1] += $eyePos_R[1]; + $newAimPosR[2] += $eyePos_R[2]; + $newAimPos[0] = ($newAimPosL[0]+$newAimPosR[0])/2; + $newAimPos[1] = ($newAimPosL[1]+$newAimPosR[1])/2; + $newAimPos[2] = ($newAimPosL[2]+$newAimPosR[2])/2; + + return { $newAimPos[0], $newAimPos[1], $newAimPos[2], $newAimPosL[0], $newAimPosL[1], $newAimPosL[2], $newAimPosR[0], $newAimPosR[1], $newAimPosR[2] }; + } diff --git a/2009-x64/zooScripts/scripts/gatherFileDeps.mel b/2009-x64/zooScripts/scripts/gatherFileDeps.mel new file mode 100644 index 0000000..ab2dc07 --- /dev/null +++ b/2009-x64/zooScripts/scripts/gatherFileDeps.mel @@ -0,0 +1,18 @@ +//gathers all dependent files for the currently open scene, and copies them to the +//destination given +global proc gatherFileDeps( string $destination ) { + string $files[] = `file -q -l`; + string $curFile = `file -q -loc`; + + $files = `stringArrayRemoveDuplicates $files`; + substituteAllString $destination "\\" "/"; + if( `match "/$" $destination` == "" ) $destination += "/"; + if( !`filetest -d $destination` ) sysFile -makeDir $destination; + for( $file in $files ) { + string $filename = `match "[^/\\]+$" $file`; + sysFile -copy ( $destination + $filename ) $file; + } + + string $filename = `match "[^/\\]+$" $curFile`; + sysFile -copy ( $destination + $filename ) $curFile; + } diff --git a/2009-x64/zooScripts/scripts/listProcs.mel b/2009-x64/zooScripts/scripts/listProcs.mel new file mode 100644 index 0000000..e67e24c --- /dev/null +++ b/2009-x64/zooScripts/scripts/listProcs.mel @@ -0,0 +1,18 @@ +//lists all procedures in a given script + +zooUtils; + + +global proc string[] listProcs( string $script ) { + string $path = `zooGetScriptLocation $script` + $script +".mel"; + string $scriptContents[] = `zooReadFile $path "-strip 1"`; + string $procs[] = {}; + int $num = `size $scriptContents`; + + for( $n=0; $n<$num; $n++ ) + if( `match "^[ \t]*global[ \t]+proc[ \t]+" $scriptContents[$n]` != "" ) + $procs[`size $procs`] = $scriptContents[$n]; + + return $procs; + } + diff --git a/2009-x64/zooScripts/scripts/p4.mel b/2009-x64/zooScripts/scripts/p4.mel new file mode 100644 index 0000000..e856341 --- /dev/null +++ b/2009-x64/zooScripts/scripts/p4.mel @@ -0,0 +1,443 @@ +zooArrays_str; +zooStrUtils; +zooUtils; + + +global proc p4() { + return; + } + + +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// SUBMIT UI - the submit UI is a moderately complicated UI, with template saving/loading functionality, and various checks and balances +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + + + //normally UI procs are banned from utils scripts, but this is an exception because + //having a UI for description input is so essential to any tools using perforce + //this proc simply opens a window for description authoring, and has a submit and a + //cancel button + global proc p4submitUI( string $files[] ) { + string $windowName = "p4SubmitUI"; + string $windowTitle = "submit comments"; + string $fileArrayStr = "{ \""+ `zooArrayToStr_str $files "\",\""` +"\" }"; + int $isEdit = `isEdit $files[0] {} {}`; + + for( $n=0; $n<`size $files`; $n++ ) $files[$n] = `zooResolvePath $files[$n]`; + if( `window -exists $windowName` ) deleteUI $windowName; + window -t $windowTitle -mb 1 -rtf 0 -maximizeButton 0 -sizeable 1 -width 600 -height 450 $windowName; + string $form = `formLayout`; + string $pane = `paneLayout -cn "horizontal2" -ps 1 100 40 p4SubmitPane`; + string $text = `scrollField -tx "" -ww 1`; + string $listForm = `formLayout`; + string $fileLbl = `text -l "files being submitted - right click to list all files open for edit options (this is slow)"`; + string $fileUI = `textScrollList -ams 1`; + setParent ..; + setParent ..; + string $save = `button -en $isEdit -l(size($files)?"submit file":"submit files") -c( "p4submitUIAction "+ $fileUI +" "+ $text +";" )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + menu -p $windowName -l "Comment Templates" -pmc( "p4CommentTemplateMenu p4TemplateMenu "+ $text ) p4TemplateMenu; + + for( $file in $files ) { + textScrollList -e -a(tolower($file)) $fileUI; + textScrollList -e -si(tolower($file)) $fileUI; + } + popupMenu -b 3 -p $fileUI; + menuItem -l "list all files opened for edit" -c( "p4submitUIListAll "+ $fileUI ); + + formLayout -e + -af $fileLbl "top" 3 + -af $fileLbl "left" 0 + + -ac $fileUI "top" 3 $fileLbl + -af $fileUI "left" 0 + -af $fileUI "right" 0 + -af $fileUI "bottom" 0 + $listForm; + + formLayout -e + -af $pane "top" 2 + -af $pane "left" 2 + -af $pane "right" 2 + -ac $pane "bottom" 2 $save + + -af $save "left" 2 + -ap $save "right" 1 50 + -af $save "bottom" 2 + + -ap $canc "left" 1 50 + -af $canc "right" 2 + -af $canc "bottom" 2 + $form; + + showWindow $windowName; + } + + + global proc p4submitUIListAll( string $fileUI ) { + string $opened[] = `p4_openedClient`; + string $files[] = `textScrollList -q -si $fileUI`; + + textScrollList -e -ra $fileUI; + for( $file in $opened ) textScrollList -e -a(tolower($file)) $fileUI; + for( $file in $files ) textScrollList -e -si(tolower($file)) $fileUI; + } + + + global proc p4CommentTemplateMenu( string $parent, string $commentUI ) { + setParent -m $parent; + menu -e -dai $parent; + + string $dirL = `zooGetPresetDirectory "local" p4`; + string $dirG = `zooGetPresetDirectory "global" p4`; + string $templatesL[] = `zooListPresets "local" p4 ""`; + string $templatesG[] = `zooListPresets "global" p4 ""`; + + for( $n=0; $n<`size $templatesL`; $n++ ) menuItem -l( `match "^[^\.]+" $templatesL[$n]` ) -c( "scrollField -e -tx(zooArrayToStr_str(`zooReadFile \""+ $dirL + $templatesL[$n] +"\" \"\"`,\"\")) \""+ $commentUI +"\";" ); + for( $n=0; $n<`size $templatesG`; $n++ ) menuItem -l( `match "^[^\.]+" $templatesG[$n]` ) -c( "scrollField -e -tx(zooArrayToStr_str(`zooReadFile \""+ $dirG + $templatesG[$n] +"\" \"\"`,\"\")) \""+ $commentUI +"\";" ); + menuItem -d 1; + menuItem -l "Save Current as Template" -c( "{string $name = `promptDialog -t \"template name\" -m \"template name:\" -b OK -b cancel -db OK`; if( $name == \"OK\" ) zooSavePreset \"local\" p4 \"\" (`promptDialog -q -tx`) (`scrollField -q -tx "+ $commentUI +"`);}" ); + menuItem -d 1; + menuItem -l "Preset Manager" -c( "zooPresetManager; zooPresetManagerWin \"local\" p4 \"\";" ); + } + + + global proc p4submitUIAction( string $filesTSL, string $scrollField ) { + string $files[] = `textScrollList -q -si $filesTSL`; + string $comment = zooReplaceNewlines(`scrollField -q -tx $scrollField`,"\\n\\t"); + string $cur = `file -q -sn`; + int $isCurFileInList = 0; + + if( $cur != "" ) { + $cur = `tolower $cur`; + for( $n=0; $n<`size $files`; $n++ ) $files[$n] = `tolower $files[$n]`; + $isCurFileInList = `zooGetIdxOfElement_str $files $cur`; + $isCurFileInList = $isCurFileInList<0? 0: 1; //if its a negative number, its not in the list + } + + //if the current file is in the list of files being submitted, check to see + //if its been saved before submitting if it hasn't been saved, throw up a + //warning and ask the user if they want the file to be saved or not. this + //is just a sanity check to make sure people don't submit unsaved scene files + if( $isCurFileInList ) if( `file -q -modified` ) { + string $ans = `confirmDialog -t "scene not saved" -m "seems your scene has been modified since last save\n\ndo you want me to save it before submitting?" -b "yes please" -b "no thanks" -b "cancel"`; + if( $ans == "cancel" ) return; + if( $ans == "yes please" ) { + print "#### saving file before submitting!\n"; + file -f -save; + } + } + p4_submit $files $comment; + deleteUI p4SubmitUI; + } + + +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// COMMON FUNCTIONALITY - these are commonly used functions that aren't single line functions with the p4 wrappers +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + + + //returns the perforce revision string for the given file - if the file arg + //given is empty, then it assumes the currently opened file + global proc string p4getRevStr( string $file ) { + if( $file == "" ) $file = `file -q -sn`; + + //query perforce data about the current file + string $dataNames[] = {}; + string $data[] = `p4_fstat $file $dataNames {} 1`; + string $revStr = "x/x"; + int $have = `zooGetIdxOfElement_str $dataNames haveRev`; + int $head = `zooGetIdxOfElement_str $dataNames headRev`; + + if( $head >= 0 ) $revStr = "/"+ $data[$head]; + if( $have >= 0 ) $revStr = $data[$have] + $revStr; + else $revStr = "x"+ $revStr; + + return $revStr; + } + + + global proc string[] p4_openedClient() { + string $files[] = `p4_opened`; + string $filepaths[] = {}; + + for( $n=0; $n<`size $files`; $n++ ) $filepaths[$n] = `clientPath $files[$n]`; + + return $filepaths; + } + + +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// DIRECT PERFORCE WRAPPERS - these are pretty much direct wrappers to the basic perforce command line tools +// where possible the commands are named as if they were p4 commandline commands, but with the first space +// being replaced by an underscore: ie p4 add //repo/somefile/yay.txt becomes: p4_add //repo/somefile/yay.txt +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + + + //adds a given file to perforce - returns the success of the command + global proc int p4_add( string $files[] ) { + string $fileStr = ""; + int $num = `size $files`; + + for( $n=0; $n<$num; $n++ ) { + $files[$n] = `zooResolvePath $files[$n]`; + $files[$n] = `zooReplaceChars $files[$n] "/" "\\"`; + $fileStr += "\""+ $files[$n] +"\" "; + } + + string $p4Cmd = "p4 add "+ $fileStr; + print( $p4Cmd +"\n" ); + print `system $p4Cmd`; + + $p4Cmd = strip($p4Cmd); + if( `match "opened for add$" $p4Cmd` != "" ) return 1; + return 0; + } + + + //returns whether the file was successfully opened for edit or not + global proc int p4_edit( string $files[] ) { + string $fileStr = ""; + int $num = `size $files`; + + for( $n=0; $n<$num; $n++ ) { + $files[$n] = `zooResolvePath $files[$n]`; + $files[$n] = `zooReplaceChars $files[$n] "/" "\\"`; + $fileStr += "\""+ $files[$n] +"\" "; + } + + string $p4Cmd = "p4 edit "+ $fileStr; + print( $p4Cmd +"\n" ); + print `system $p4Cmd`; + + $p4Cmd = strip($p4Cmd); + if( `match "currently opened for edit$" $p4Cmd` != "" ) return 1; + if( `match "opened for edit$" $p4Cmd` != "" ) return 1; + return 0; + } + + + //syncs to a given revision number for all files - if the number is zero or negative, + //then its relative to the head revision. so p4_syncRev {} -2; does a sync to the + //second last revision for all files, and 0 is the head revision + global proc p4_sync( string $files[], int $rev ) { + string $fileStr = ""; + int $num = `size $files`; + + for( $n=0; $n<$num; $n++ ) { + $files[$n] = `zooResolvePath $files[$n]`; + $files[$n] = `zooReplaceChars $files[$n] "/" "\\"`; + if( $rev==0 ) $fileStr += "\""+ $files[$n] +"\" "; + else if( $rev<0 ) { + string $dataNames[] = {}; + string $data[] = `p4_fstat $files[$n] $dataNames {} 1`; + int $headIdx = `zooGetIdxOfElement_str $dataNames headRev`; + + if( $headIdx != -1 ) $rev = ((int)$dataNames[$headIdx]) + $rev; + if( $rev<=0 ) $rev = 1; //can't have a negative or zero revision, so crop to 1 + $fileStr += "\""+ $files[$n] +"#"+ $rev +"\" "; + } + else $fileStr += "\""+ $files[$n] +"#"+ $rev +"\" "; + } + + string $p4Cmd = "p4 sync "+ $fileStr; + print( $p4Cmd +"\n" ); + print `system $p4Cmd`; + } + + + //deals with submitting a change, filling out the changelist file with appropriate + //data, and publishing the changelist to perforce - returns the success state + global proc int p4_submit( string $files[], string $comment ) { + int $num = `size $files`; + for( $n=0; $n<$num; $n++ ) $files[$n] = `zooResolvePath $files[$n]`; + + int $oneIsAlreadyOpen = 0; + for( $n=0; $n<`size $files`; $n++ ) { + string $dataNames[] = {}; + string $data[] = `p4_fstat $files[$n] $dataNames {} 1`; + int $openIdx = `zooGetIdxOfElement_str $dataNames otherOpen`; + + if( $openIdx > 0 ) if( $data[$openIdx] == "1" ) { + warning( $files[$n] +" seems to be open by someone already - please do the submit via the perforce interface" ); + $oneIsAlreadyOpen++; + } + } + + if( $oneIsAlreadyOpen ) return 0; + + string $user = `getenv USER`; + string $p4User = `p4User`; + string $computer = `getenv COMPUTERNAME`; + string $tempPath = zooResolvePath(`getenv TEMP`+"/"); + string $tempFile = $tempPath +"p4_changelist_from_maya.txt"; + string $tempDirNative = `zooReplaceChars $tempFile "/" "\\"`; + string $changelist = "Change:\tnew\n\nClient:\t"+ $computer +"\n\nUser:\t"+ $p4User +"\n\nStatus:\tnew\n\nDescription:\n\t"+ $comment +"\n\nFiles:"; + int $fileID = `fopen $tempFile "w"`; + + for( $n=0; $n<$num; $n++ ) { + string $tempPath = `p4Path $files[$n]`; + $changelist += "\n\t"+ $tempPath +"\t# edit"; + } + + fprint $fileID $changelist; + fclose $fileID; + print $changelist; + string $p4Cmd = `system( "p4 submit -i < \""+ $tempDirNative +"\"" )`; + print $p4Cmd; + $p4Cmd = strip($p4Cmd); + sysFile -delete $tempFile; + if( `match "Change [0-9]+ submitted." $p4Cmd` != "" ) return 1; + + return 0; + } + + + global proc int p4_revert( string $files[] ) { + string $fileStr = ""; + int $num = `size $files`; + + for( $n=0; $n<$num; $n++ ) { + $files[$n] = `zooResolvePath $files[$n]`; + $files[$n] = `zooReplaceChars $files[$n] "/" "\\"`; + $fileStr += "\""+ $files[$n] +"\" "; + } + + string $p4Cmd = "p4 revert "+ $fileStr; + print( $p4Cmd +"\n" ); + print `system $p4Cmd`; + + return 1; + } + + + global proc string[] p4_opened() { + string $p4Cmd = `system( "p4 opened" )`; + string $outputToks[] = `zooTokenize (strip($p4Cmd)) "\n"`; + string $opened[] = {}; + + for( $n=0; $n<`size $outputToks`; $n++ ) $opened[$n] = `match "^[^#]+" (strip($outputToks[$n]))`; + + return $opened; + } + + + //returns the p4 stats for the file in question. the two arrays get filled with + //the field names, and the corresponding data for those fields, and the data gets + //returned - for convenience + global proc string[] p4_fstat( string $file, string $dataNames[], string $data[], int $resolvePath ) { + clear $dataNames; + clear $data; + + string $nativeFile = $file; + if( $resolvePath ) { + $file = `zooResolvePath $file`; + $nativeFile = `zooReplaceChars $file "/" "\\"`; + } + string $p4Cmd = `system( "p4 fstat \""+ $nativeFile +"\"" )`; + string $outputToks[] = `zooTokenize (strip($p4Cmd)) "\n"`; + + for( $n=0; $n<`size $outputToks`; $n++ ) { + $outputToks[$n] = `strip $outputToks[$n]`; + string $pfxToStrip = `match "^[\. ]+" $outputToks[$n]`; + $outputToks[$n] = `substitute ( "^"+ $pfxToStrip ) $outputToks[$n] ""`; + string $temp[] = `zooTokenize $outputToks[$n] " "`; //strip is needed because windows uses the \r\n line returns, not just \n + $dataNames[$n] = $temp[0]; + $data[$n] = zooArrayToStr_str(`zooIndexCrop_str $temp "1:"`," "); + } + + return $data; + } + + +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// SUPPORT PROCS - these are convenience procs to simplify the wrapper commands +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + + + //returns an int as to whether the current file is synced to the latest perforce + //revision. returns -1 if file is not in perforce. the dataNames and data args + //are optional. if present, they get filled with the fstat results, so they can + //be reused without re-querying + global proc int isLatest( string $file, string $dataNames[], string $data[] ) { + $data = `p4_fstat $file $dataNames {} 1`; + int $headRev = `zooGetIdxOfElement_str $dataNames "headRev"`; + int $haveRev = `zooGetIdxOfElement_str $dataNames "haveRev"`; + int $actIdx = `zooGetIdxOfElement_str $dataNames "action"`; + + //so if the head rev is -1 that means it doesn't have a head revision which + //means either the file isn't in perforce - OR its been added to perforce but + //the add hasn't been submitted yet - so check for that. if the file is + //waiting for add submission, then return 0 instead of -1 + if( $headRev == -1 ) { + if( $actIdx == -1 ) return -1; + else if( $data[$actIdx] == "add" ) return 0; + } + if( $haveRev == -1 ) return 0; + if( $data[$headRev] == $data[$haveRev] ) return 1; + return 0; + } + + + //returns whether a given file is already open for edit or not + global proc int isEdit( string $file, string $dataNames[], string $data[] ) { + $data = `p4_fstat $file $dataNames {} 1`; + int $isEdit = 0; + int $actIdx = `zooGetIdxOfElement_str $dataNames "action"`; + + if( $actIdx != -1 ) { + if( $data[$actIdx] == "edit" ) $isEdit = 1; + else if( $data[$actIdx] == "add" ) $isEdit = 1; + } + if( `size $data` < 3 ) $isEdit = -1; //indicates that the file isn't in perforce + + return $isEdit; + } + + + //given a filepath, this proc returns a path relative to the perforce + //repository - some p4 commands use repository relative paths... + global proc string p4Path( string $filepath ) { + string $names[] = {}; + string $data[] = `p4_fstat $filepath $names {} 1`; + int $base = `zooGetIdxOfElement_str $names "depotFile"`; + + if( $base == -1 ) return $filepath; + + return $data[$base]; + } + + + //given a filepath, this proc returns a path relative to the perforce + //repository - some p4 commands use repository relative paths... + global proc string clientPath( string $filepath ) { + string $names[] = {}; + string $data[] = `p4_fstat $filepath $names {} 0`; + int $base = `zooGetIdxOfElement_str $names "clientFile"`; + + if( $base == -1 ) return $filepath; + + $data[$base] = `substituteAllString $data[$base] "\\" "/"`; + return $data[$base]; + } + + + //$user can be blank - uses current user if so + //should probably query the username the proper way - by doing a "p4 user -o" and parsing the output + global proc string p4User() { + string $info = tolower( `system "p4 info"` ); + string $data[] = `zooTokenize $info "\n"`; + string $line = ""; + int $num = `size $data`; + + for( $n=0; $n<$num; $n++ ) if( `match "^user name: " $data[$n]` != "" ) { + $line = `strip $data[$n]`; + break; + } + + $line = `match "[^ :]+$" $line`; + + return $line; + } + + diff --git a/2009-x64/zooScripts/scripts/p4menu.mel b/2009-x64/zooScripts/scripts/p4menu.mel new file mode 100644 index 0000000..478f2ff --- /dev/null +++ b/2009-x64/zooScripts/scripts/p4menu.mel @@ -0,0 +1,70 @@ +p4; + + +global proc p4menu() { + global string $gMainWindow; + string $menuName = "p4menu"; + + if( `menu -ex $menuName` ) deleteUI $menuName; + menu -l "Perforce" -to 1 -p $gMainWindow -pmc( "p4buildMenu "+ $menuName +" \"\";" ) $menuName; + } + + +global proc p4buildMenu( string $parent, string $file ) { + menu -e -dai $parent; + setParent -m $parent; + + //if the given file is an empty string, then query the currently opened file and use that + if( $file == "" ) $file = `file -q -sn`; + + //if the file is still an empty string or unreadable, the currently opened file hasn't been saved - report it + if( !`filetest -r $file` || $file == "" ) { + menuItem -en 0 -l "file not saved"; + menuItem -d 1; + menuItem -l "Perforce Scene File Lister" -c( "p4Lister {};" ); + menuItem -l "List All Files Currently \"open for edit\"" -c( "p4Lister `p4_openedClient`;" ); + return; + } + + p4; + string $dataNames[] = {}; + string $data[] = {}; + int $isEdit = `isEdit $file $dataNames $data`; + int $headRev = `zooGetIdxOfElement_str $dataNames "headRev"`; + int $haveRev = `zooGetIdxOfElement_str $dataNames "haveRev"`; + int $isLatest = 0; + + if( $headRev != -1 ) $isLatest = $data[$headRev] == $data[$haveRev]? 1: 0; + if( $isEdit == -1 ) menuItem -l "Add to Perforce" -c( "p4_add {\""+ $file +"\"};" ); + else { + int $have = 0; + int $head = 0; + + if( $haveRev != -1 ) $have = $data[$haveRev]; + if( $headRev != -1 ) $head = $data[$headRev]; + if( $head ) menuItem -en(!$isLatest) -l( "Sync to Latest ("+ $have +"/"+ $head +")" ) -c( "p4_sync {\""+ $file +"\"} 0;{ string $ans = `confirmDialog -m \"do you want to reload the file?\" -b \"Yes\" -b \"No\" -db \"No\"`; if( $ans == \"Yes\" ) file -f -o \""+ $file +"\"; }" ); + + if( $head>1 ) { + menuItem -l "Sync to Previous..." -sm 1; + int $maxToDisplay = 5; + int $numToShow = $head >= $maxToDisplay? $maxToDisplay: $head; + + for( $n=1; $n<$numToShow; $n++ ) { + int $revToSync = $head - $n; + menuItem -l( "Sync to Revision "+ $revToSync ) -c( "p4_sync {\""+ $file +"\"} "+ $revToSync +";{ string $ans = `confirmDialog -m \"do you want to reload the file?\" -b \"Yes\" -b \"No\" -db \"No\"`; if( $ans == \"Yes\" ) file -f -o \""+ $file +"\"; }" ); + } + menuItem -d 1; + menuItem -l "Sync to Given Version..."; + setParent -m ..; + } + menuItem -en( $isEdit==0 ) -l "Open for Edit" -c( "p4_sync {\""+ $file +"\"} 0; p4_edit {\""+ $file +"\"};" ); + menuItem -d 1; + menuItem -en $isEdit -l "Submit File" -c( "p4submitUI {\""+ $file +"\"};" ); + menuItem -d 1; + menuItem -en $isEdit -l "Revert File" -c( "p4_revert {\""+ $file +"\"};{ string $ans = `confirmDialog -m \"do you want to reload the file?\" -b \"Yes\" -b \"No\" -db \"No\"`; if( $ans == \"Yes\" ) file -f -o \""+ $file +"\"; }" ); + } + menuItem -d 1; + menuItem -l "Explore to File" -c( "zooExploreTo \""+ $file +"\";" ); + } + + diff --git a/2009-x64/zooScripts/scripts/procDef.mel b/2009-x64/zooScripts/scripts/procDef.mel new file mode 100644 index 0000000..62bedd7 --- /dev/null +++ b/2009-x64/zooScripts/scripts/procDef.mel @@ -0,0 +1,19 @@ +//returns the line for a procedure definition of a given procedure + +zooUtils; + + +global proc string procDef( string $proc ) { + string $what = `w $proc`; + string $prefixToStrip = "Mel procedure found in: "; + string $path = `substring $what (size($prefixToStrip)+1) (size($what))`; + string $scriptContents[] = `zooReadFile $path "-strip 1"`; + int $num = `size $scriptContents`; + + for( $n=0; $n<$num; $n++ ) + if( `match "^[ \t]*global[ \t]+proc[ \t]+" $scriptContents[$n]` != "" ) + if( `match ( " "+ $proc + "[ (]+" ) $scriptContents[$n]` != "" ) + return $scriptContents[$n]; + + return ""; + } diff --git a/2009-x64/zooScripts/scripts/remEds.mel b/2009-x64/zooScripts/scripts/remEds.mel new file mode 100644 index 0000000..a3db953 --- /dev/null +++ b/2009-x64/zooScripts/scripts/remEds.mel @@ -0,0 +1,25 @@ +//removes reference edits from a list of objects. if the $cmd arg is an empty string +//then ALL commands are removed. if $cmd is a valid reference edit command, only those +//commands are removed from the list of objects supplied +global proc remEds( string $objs[], string $cmd ) { + string $refNodes[] = {}; + int $loadStates[] = {}; + + for( $obj in $objs ) if( `referenceQuery -inr $obj` ) $refNodes[`size $refNodes`] = `referenceQuery -rfn $obj`; + for( $node in $refNodes ) $loadStates[`size $loadStates`] = size(`referenceQuery -n $node`); + $refNodes = `stringArrayRemoveDuplicates $refNodes`; + + //now unload all references so we can remove edits + for( $node in $refNodes ) file -ur $node; + + // + for( $obj in $objs ) referenceEdit -fld 1 -scs 0 -removeEdits $obj; + for( $obj in $objs ) { + if( $cmd == "" ) referenceEdit -fld 1 -scs 1 -removeEdits $obj; + else referenceEdit -fld 1 -scs 1 -editCommand $cmd -removeEdits $obj; + } + + //now set the refs to their initial load state + for( $n=0; $n<`size $refNodes`; $n++ ) if( $loadStates[$n] ) file -lr $refNodes[$n]; + select $objs; + } diff --git a/2009-x64/zooScripts/scripts/src.mel b/2009-x64/zooScripts/scripts/src.mel new file mode 100644 index 0000000..ad3652f --- /dev/null +++ b/2009-x64/zooScripts/scripts/src.mel @@ -0,0 +1,18 @@ +zooArrays_str; +zooUtils; + + +global proc src( string $tool ) { + string $home = `getenv HOME` +"/scripts/"; + string $perforceBase = "d:/p4/"; + string $repos[] = {}; + string $subs[] = {}; + + $repos[( `size $repos` )] = $home; + for( $repo in $repos ) $subs = zooAddArray_str($subs,`zooGetRecursedSubDirs $repo`); + $subs = `zooAddArray_str $subs (zooListEnv("MAYA_SCRIPT_PATH"))`; + + string $loc = `zooGetFileLocation $subs $tool mel`; + print( "source \""+ $loc + $tool +".mel\";\n" ); + eval( "source \""+ $loc + $tool +".mel\";" ); + } diff --git a/2009-x64/zooScripts/scripts/tax.mel b/2009-x64/zooScripts/scripts/tax.mel new file mode 100644 index 0000000..0bff32a --- /dev/null +++ b/2009-x64/zooScripts/scripts/tax.mel @@ -0,0 +1,24 @@ +global proc float[] tax( float $i ){ + float $tax = 0; + float $taxedIncome = 0; + float $maxRate = 0.45; + float $rates[] = {0.,0.,0.15,0.3,0.4}; + int $brackets[] = {0,6000,25000,75000,150000}; + + for( $n=1; $n<`size $brackets`; $n++ ) { + if( $i<$brackets[$n] && $i>$brackets[$n-1] ) { + $tax += ($i-$taxedIncome)*$rates[$n]; + + return {$tax,($i-$tax),(($i-$tax)/12)}; + } + $tax += $rates[$n]*($brackets[$n]-$brackets[$n-1]); + $taxedIncome = $brackets[$n]; + if( $taxedIncome >= $i ) return {$tax,($i-$tax),(($i-$tax)/12)}; + } + + $tax += ($i-$taxedIncome)*$maxRate; + + return {$tax,($i-$tax),(($i-$tax)/12)}; + } + + diff --git a/2009-x64/zooScripts/scripts/userSetup.mel.zooScripts b/2009-x64/zooScripts/scripts/userSetup.mel.zooScripts new file mode 100644 index 0000000..5f5d1c6 --- /dev/null +++ b/2009-x64/zooScripts/scripts/userSetup.mel.zooScripts @@ -0,0 +1,45 @@ +//source scripts that need it +zooArrays_str; +zooShelveIt; +zooUtils; + + +//create alias' +alias h help -doc; +alias w whatIs; +alias d procDef; +alias l listProcs; + + +//re-create the scripts environment variable to include all sub-directories of the maya/scripts dir +{ + string $scriptsDir = `internalVar -userAppDir` + "scripts/"; + string $subDirs[] = `zooGetRecursedSubDirs $scriptsDir`; + string $currentPath = `getenv MAYA_SCRIPT_PATH`; + string $newPathArray[] = {}; + string $toks[] = {}; + int $n = 0; + + tokenize $currentPath ";" $toks; + for( $n; $n<`size $toks`; $n++ ) { + $newPathArray[( `size $newPathArray` )] = $toks[$n]; + if( $toks[$n] == $scriptsDir ) break; + } + + for( $path in $subDirs ) if( `match "^\\." $path` == "" ) $newPathArray[( `size $newPathArray` )] = $path; + for( $n; $n<`size $toks`; $n++ ) $newPathArray[( `size $newPathArray` )] = $toks[$n]; + + string $newPath = `zooArrayToStr_str $newPathArray ";"`; + putenv MAYA_SCRIPT_PATH $newPath; + eval( "rehash" ); //I've put this in an eval simply because its one of those weird mel directives - if the rehash doesn't work like this perhaps an evalDeferred at the end of the script might help + print "// ******************* added all subdirs to SCRIPT_PATH\n"; +} + + +//load zooTriggered +zooTriggeredUtils; +zooTriggeredLoad; +zooTrigUpdateUIState; + +//load auto save +zooAutoSave; \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAddCameraMask.mel b/2009-x64/zooScripts/scripts/zooAddCameraMask.mel new file mode 100644 index 0000000..25c5a14 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAddCameraMask.mel @@ -0,0 +1,56 @@ +//adds a widescreen mask to a given camera - requires zooGreaseMonkeyUtils + + +zooArrays_str; +zooAttrUtils; +zooGreaseMonkeyUtils; +zooObjMenuUtils; +zooShaders; + + +global proc string zooAddCameraMask( string $camera, float $aspect ) { + string $eazel = `zooGetEazel 1`; + string $mask = `zooBuildWideMask $aspect`; + + if( !`objExists $camera` ) $camera = "persp"; + zooMonkeySee $camera; + $mask = zooGetElement_str(0,`parent -r $mask $eazel`); + setAttr ( $mask +".tz" ) -2; + + return $mask; + } + + +global proc string zooBuildWideMask( float $aspect ) { + string $createCmd = "polyCreateFacet -ch 0 -tx 1 "; + float $height = 1/$aspect; + + $createCmd += "-p -2 2 0 "; + $createCmd += "-p 2 2 0 "; + $createCmd += "-p 2 -2 0 "; + $createCmd += "-p -2 -2 0 "; + $createCmd += "-p -2 "+ $height +" 0 "; + $createCmd += "-p -1 "+ $height +" 0 "; + $createCmd += "-p -1 -"+ $height +" 0 "; + $createCmd += "-p 1 -"+ $height +" 0 "; + $createCmd += "-p 1 "+ $height +" 0 "; + $createCmd += "-p -2 "+ $height +" 0 "; + + string $newObj[] = `eval $createCmd`; + string $shape[] = `listRelatives -pa -s $newObj`; + + zooAttrState "-attrs t r s v -k 0" $newObj[0]; + zooSetObjShader $newObj[0] `zooGetShader black 1`; + zooObjMenuAddCmdAll $newObj[0] "build field chart" ( "zooAttrUtils;\nstring $plane[] = `polyPlane -w 0.02 -h "+ (0.02/$aspect) +" -sx 3 -sy 3 -ax 0 0 1 -tx 1 -ch 1`;\nsetAttr ( $plane[0] +\".overrideEnabled\" ) 1;\nsetAttr ( $plane[0] +\".overrideShading\" ) 0;\nparent -r $plane[0] #;\nzooAttrState \"-attrs t r s v -l 1 -k 0\" $plane[0];\nif( !`objExists #.horiz` ) addAttr -at long -dv 3 -ln horiz #;\nif( !`objExists #.vert` ) addAttr -at long -dv 3 -ln vert #;\nsetAttr -k 1 #.horiz 3;\nsetAttr -k 1 #.vert 3;\nconnectAttr -f #.horiz ( $plane[1] +\".subdivisionsWidth\" );\nconnectAttr -f #.vert ( $plane[1] +\".subdivisionsHeight\" );\nzooObjMenuAddCmdAll $plane[0] \"delete field chart\" ( \"delete \"+ $plane[0] +\";\" );\nselect #;" ); + zooObjMenuAddCmdAll $newObj[0] "delete mask" "delete #;"; + zooObjMenuAddCmdAll $newObj[0] "assign colour" "string $ans = `promptDialog -m \"colour string:\" -b \"OK\" -b \"Cancel\" -db \"OK\"`;\nif( $ans == \"OK\" ) {\n\tzooShaders;\n\tzooSetObjShader # (zooGetShader(`promptDialog -q -tx`,1));\n\t}"; + string $newName = $aspect; + $newName = "zooWidescreenMask_"+ `substitute "[\.]+" $newName "_"`; + $newObj[0] = `rename $newObj[0] $newName`; + + return $newObj[0]; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooAlign.mel b/2009-x64/zooScripts/scripts/zooAlign.mel new file mode 100644 index 0000000..e06d501 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAlign.mel @@ -0,0 +1,206 @@ +zooArrays_str; +zooVectors; +zooFlags; + + +//------ +//this general purpose proc aligns two objects - it uses parent constraint (on an intermediate object) so its rotation order independent +//------ +global proc zooAlign( string $optionStr ) { + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + string $selObjs[] = `ls -sl`; + string $temp[] = {}; + string $src = $selObjs[0]; + string $tgts[] = `zooIndexCrop_str $selObjs "1:"`; + int $pivot = 0; + int $key = 0; + + $temp = `zooGetFlagArguments $optionStr load`; if( `size $temp` ) if( $temp[0] == "1" ) return; + $temp = `zooGetFlagArguments $optionStr src`; if( `objExists $temp[0]` ) $src = $temp[0]; + $temp = `zooGetFlagArguments $optionStr tgt`; if( `size $temp` ) $tgts = $temp; + $temp = `zooGetFlagArguments $optionStr pivot`; if( `size $temp` ) $pivot = $temp[0]; + $temp = `zooGetFlagArguments $optionStr key`; if( `size $temp` ) $key = $temp[0]; + for( $tgt in $tgts ) zooAlignFast $src $tgt $key $pivot; + } + + +//------ +//this is separated into a separate proc, because its less "user friendly" ie require less syntax to work +//its better to call zooAlign in non speed intensive operations because the syntax for this command may change +//if the scope of the script is expanded in future - ie I add more functionality +//------ +global proc zooAlignFast( string $src, string $tgt, int $key, int $pivotOnly ){ + //these two lines check to make sure the objects to be aligned are both transform (or joint) nodes, otherwise, it quits + if( !`objExists $src` || !`objExists $tgt` ) return; + if( !`objExists ( $src +".t" )` || !`objExists ( $tgt +".t" )` ) return; + + //get a list of the selected object, and duplicate the target object - we duplicate the target so we're + //free to do whatever we want to it, without disturbing any animation or connections on the actual target + string $selObjs[] = `ls -sl`; + string $dupe = zooGetElement_str(0,`duplicate -rc $tgt`); + + //create a list of all the axes to look at - we will check all these axes to make sure they're not locked + //creating a constraint on a locked axis will give us an error + string $axes[] = { "tx","ty","tz","rx","ry","rz" }; + int $lok[] = {}; + + //go through the list of axes above, and build an array that tells us which axes aren't settable + for( $a in $axes ) $lok[( `size $lok` )] = `getAttr -se ($tgt +"."+ $a)`; + + //parent constrain the target object to the source object, making sure to skip over the axes that are locked + if( $pivotOnly ) { + float $pos[] = `xform -q -ws -rp $src`; + xform -a -ws -piv $pos[0] $pos[1] $pos[2] $tgt; + } + else eval( "parentConstraint "+ ($lok[0]?"":"-st x ") + ($lok[1]?"":"-st y ") + ($lok[2]?"":"-st z ") + ($lok[3]?"":"-sr x ") + ($lok[4]?"":"-sr y ") + ($lok[5]?"":"-sr z ") + $src +" "+ $dupe ); + + //now go over each axis, and if its not locked set the REAL target object to the transform values of the duplicate + //target object. this will make the real target aligned to the source object, all without having to add an + //actual constraint to the target object itself + //Note that we need to read all of the values before setting any of the REAL target values - otherwise, it's + //possible that changing one of the attributes on the target will result in a change in one of the attributes + //of our dupe before it is read - ie, if we are trying to align an object to the position of one of it's + //children + float $attrValues[]; + for( $n=0; $n<`size $axes`; $n++ ) if( $lok[$n] ) { + $attrValues[$n] = `getAttr ($dupe +"."+ $axes[$n])`; + } + for( $n=0; $n<`size $axes`; $n++ ) if( $lok[$n] ) { + setAttr ($tgt +"."+ $axes[$n]) $attrValues[$n]; + if( $key ) setKeyframe -at $axes[$n] $tgt; + } + + //now we delete the duplicate target object, and select the objects that were selected before the script was run + delete $dupe; + select $selObjs; + } + + +//does a simple align +global proc zooAlignSimple( string $src, string $tgt ){ + //these two lines check to make sure the objects to be aligned are both transform (or joint) nodes, otherwise, it quits + if( !`objExists $src` || !`objExists $tgt` ) return; + if( !`objExists ( $src +".t" )` || !`objExists ( $tgt +".t" )` ) return; + + float $pos[] = `xform -q -ws -rp $src`; + float $rot[] = `xform -q -ws -ro $src`; + + move -rpr $pos[0] $pos[1] $pos[2] $tgt; + rotate -a -ws $rot[0] $rot[1] $rot[2] $tgt; + } + + +//------ +//this proc will align the bones controlled by an ik chain to the fk chain +//flags used: +//-ikHandle this flag specifies the name of the ikHandle to work on +//-onCmd this flag tells the script what command to run to turn the ik handle on - it is often left blank because its assumed we're already in ik mode +//-offCmd this flag holds the command to turn the ik handle off, and switch to fk mode +//NOTE: if the offCmd isn't specified, it defaults to: if( `getAttr -se #.ikb` ) setAttr #.ikb 0; +// +//symbols to use in cmd strings: +// ^ refers to the ikHandle +// +//example: +//zooAlignFK "-ikHandle ikHandle1 -onCmd setAttr ^.ikBlend 1 -offCmd setAttr ^.ikBlend 0"; +//------ +global proc zooAlignFK( string $optionStr ) { + string $temp[] = {}; + string $control; + string $ikHandle; + string $onCmd; + string $offCmd = "if( `getAttr -se ^.ikb` ) setAttr ^.ikb 0;"; + int $alignEnd = 1; + + $temp = `zooGetFlagArguments $optionStr control`; if( `size $temp` ) $control = $temp[0]; + $temp = `zooGetFlagArguments $optionStr ikHandle`; if( `size $temp` ) $ikHandle = $temp[0]; + $temp = `zooGetFlagArguments $optionStr alignEnd`; if( `size $temp` ) $alignEnd = $temp[0]; + $temp = `zooGetFlagArguments $optionStr onCmd`; if( `size $temp` ) $onCmd = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr offCmd`; if( `size $temp` ) $offCmd = `zooArrayToStr_str $temp " "`; + + while( `match "#+" $onCmd` != "" ) $onCmd = `substitute "#+" $onCmd $control`; + while( `match "#+" $offCmd` != "" ) $offCmd = `substitute "#+" $offCmd $control`; + + //the ^ symbol in either the onCmd or the offCmd is used to specify the ikHandle - so we must sub it into the command strings + while( `match "\\^+" $onCmd` != "" ) $onCmd = `substitute "\\^+" $onCmd $ikHandle`; + while( `match "\\^+" $offCmd` != "" ) $offCmd = `substitute "\\^+" $offCmd $ikHandle`; + + if( !`ikHandle -ex $ikHandle` ) return; + if( `size $onCmd` ) eval $onCmd; + string $joints[] = `ikHandle -q -jl $ikHandle`; + string $effector = `ikHandle -q -ee $ikHandle`; + string $effectorCtrl[] = `listConnections -d 0 ( $effector +".tx" )`; + + for( $n=0; $n<`size $joints`; $n++ ) { + float $rotation[] = `getAttr ( $joints[$n] +".r" )`; + if( `getAttr -se ( $joints[$n] +".rx" )` ) setKeyframe -at rx -v $rotation[0] $joints[$n]; + if( `getAttr -se ( $joints[$n] +".ry" )` ) setKeyframe -at ry -v $rotation[1] $joints[$n]; + if( `getAttr -se ( $joints[$n] +".rz" )` ) setKeyframe -at rz -v $rotation[2] $joints[$n]; + } + + if( $alignEnd ) zooAlign ( "-key 1 -src "+ $ikHandle +" -tgt "+ $effectorCtrl[0] ); + if( `size $offCmd` ) eval $offCmd; + } + + +//------ +//this proc will align the IK controller to its fk chain +//flags used: +//-control this is the actual control being used to move the ikHandle - it is assumed to be the same object as the ikHandle, but if its different (ie if the ikHandle is constrained to a controller) use this flag +//-pole tells the script the name of the pole controller - if there is no pole vector control, leave this flag out +//-ikHandle this flag specifies the name of the ikHandle to work on +//-onCmd this flag tells the script what command to run to turn the ik handle on - it is often left blank because its assumed we're already in ik mode +//-offCmd this flag holds the command to turn the ik handle off, and switch to fk mode +//NOTE: if the offCmd isn't specified, it defaults to: if( `getAttr -se ^.ikb` ) setAttr ^.ikb 1; +// +//symbols to use in cmd strings: +// ^ refers to the ikHandle +// # refers to the control object +// +//example: +//zooAlignIK "-control somObj -ikHandle ikHandle1 -offCmd setAttr #.fkMode 0"; +//------ +global proc zooAlignIK( string $optionStr ) { + string $temp[] = {}; + string $control; + string $pole; + string $ikHandle; + string $onCmd; + string $offCmd = "if( `getAttr -se ^.ikb` ) setAttr ^.ikb 1;"; + int $alignEnd = 1; + + $temp = `zooGetFlagArguments $optionStr control`; if( `size $temp` ) $control = $temp[0]; + $temp = `zooGetFlagArguments $optionStr pole`; if( `size $temp` ) $pole = $temp[0]; + $temp = `zooGetFlagArguments $optionStr ikHandle`; if( `size $temp` ) $ikHandle = $temp[0]; + $temp = `zooGetFlagArguments $optionStr alignEnd`; if( `size $temp` ) $alignEnd = $temp[0]; + $temp = `zooGetFlagArguments $optionStr onCmd`; if( `size $temp` ) $onCmd = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr offCmd`; if( `size $temp` ) $offCmd = `zooArrayToStr_str $temp " "`; + if( !`objExists $control` ) $control = $ikHandle; + + //the ^ symbol in either the onCmd or the offCmd is used to specify the ikHandle - so we must sub it into the command strings + //likewise for the # symbol which represents the control object + while( `match "#+" $onCmd` != "" ) $onCmd = `substitute "#+" $onCmd $control`; + while( `match "#+" $offCmd` != "" ) $offCmd = `substitute "#+" $offCmd $control`; + while( `match "\\^+" $onCmd` != "" ) $onCmd = `substitute "\\^+" $onCmd $ikHandle`; + while( `match "\\^+" $offCmd` != "" ) $offCmd = `substitute "\\^+" $offCmd $ikHandle`; + + if( !`ikHandle -ex $ikHandle` ) return; + if( `size $onCmd` ) eval $onCmd; + string $joints[] = `ikHandle -q -jl $ikHandle`; + string $effector = `ikHandle -q -ee $ikHandle`; + string $effectorCtrl[] = `listConnections -d 0 ( $effector +".tx" )`; + + if( `objExists $pole` ) { + float $pos[] = `zooFindPolePosition ( "-start "+ $joints[0] +" -mid "+ $joints[1] +" -end "+ $effector +" -dist 1" )`; + move -ws -rpr $pos[0] $pos[1] $pos[2] $pole; + } + + zooAlign ( "-src "+ $effectorCtrl[0] +" -tgt "+ $control ); + if( `size $offCmd` ) eval $offCmd; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooAnimFile.mel b/2009-x64/zooScripts/scripts/zooAnimFile.mel new file mode 100644 index 0000000..b9b5190 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAnimFile.mel @@ -0,0 +1,733 @@ +// +// zAnim Loader +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 27 July 2003 +// +// Description: +// zooAnim is the macaroniKazoo animation file format for storing and transfering +// animation data between characters in maya. It is designed as an addon script +// for zooXferAnim, but can be used standalone, although internally there is no +// support for object matching, which is handled externally (see below in the +// zooAnimFileLoad proc). +// +// To use as stand alone, use the zooAnimFileLoad proc to load the contents of a +// .znm file on to a selection of objects. +// +// Hamish McKenzie ©2007... +// macaroniKazoo Productions ©2007... + + +//load dependencies +zooArrays_str; +zooArrays_float; +zooFlags; +zooStrUtils; +zooUtils; + + +//dummy proc used to load this script without sourcing it +global proc zooAnimFile() { + return; + } + + +//------ +//takes a filepath to write animation of all keyable attributes from the current selection +// +// -world [bool] if true, animation is transformed to world space before export. if only non-transform attributes are animated, obviously this flag makes no difference +// -strip [bool] if true, strips the prefix from object names - prefixes come from importing (namespaces only) and referencing - default is false +// -start [float] specify a start time - keys before this time are not exported +// -end [float] specify an end frame - keys beyond this time are not exported +//------ +global proc zooAnimFileWrite( string $filename, string $optionStr, string $objs[] ){ + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + int $strip = 1; + int $world = 0; + + $optionTemp = `zooGetFlagArguments $optionStr strip`; if( `size $optionTemp` ) $strip = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr world`; if( `size $optionTemp` ) $world = $optionTemp[0]; + if( !`size $objs` ) $objs = `ls -sl -o`; + if( !`size $objs` ) { warning "you haven't specified any objects to export animation for - select the objects, or specify in the export command"; return; } + + //make sure the filename has an extension + if( `match ".znm$" $filename` == "" ) $filename += ".znm"; + + //------ + //make sure there are some keyable channels in the list of selected objects + //------ + string $allAttribs[] = `listAttr -keyable -visible -scalar -multi $objs`; + if( !`size $allAttribs` ) { warning "there are no keyable channels on any selected objects"; return; } + + //------ + //figure out the start and end times - if no start and end time is specified, use the time for the first key + //as the start and the time of the last key as the end time + //------ + float $allKeys[] = sort(`keyframe -q $objs`); + if( !`size $allKeys` ) { warning "there are no keyframes on any of the selected objects"; progressWindow -endProgress; return; } + + float $start = $allKeys[0]; + float $end = $allKeys[( `size $allKeys`-1 )]; + float $offset = $start; + + $optionTemp = `zooGetFlagArguments $optionStr start`; if( `size $optionTemp` ) $start = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr end`; if( `size $optionTemp` ) $end = $optionTemp[0]; + + //------ + //initialise relevant variables, and open the file for writing + //------ + string $sourceFile = `file -q -sn`; + if( !`filetest -r $sourceFile` ) $sourceFile = "<-scene not saved->"; + string $fileData = ".znm Anim File Format v"+ `zooAnimFileInfo version` +"\nExported by: "+ `getenv USER` +"@"+ `getenv COMPUTERNAME` +"\nSource file: "+ $sourceFile +"\nOptionStr: -anim 1 -offset "+ $start +" -range "+ ($end-$start) +" "+ $optionStr +"\n"; + + //------ + //if the animation is to be exported as world space transforms, then we have to convert all transform data to worldspace + //this is done using the world space trace function in zooXferAnim + //------ + string $transformedObjs[] = $objs; //this array holds the names of the objects to get transform data from + string $xformObjs[] = {}; + string $srcs[] = {}; //this holds the original controls that are to be traced + string $tgts[] = {}; //this holds the locators that will be traced to the original controls + int $useTransformed[] = {}; //this array holds which objects have been substituted with locators + int $numObjs = `size $objs`; + + if( $world ) { + for( $a in $objs ) $useTransformed[`size $useTransformed`] = 0; //init this array + for( $n=0; $n<$numObjs; $n++ ) if( `zooIsObjAnimatedTransform $objs[$n]` ) { + $transformedObjs[$n] = zooGetElement_str(0,`spaceLocator -n ( $objs[$n] +"_in_worldspace" )`); + $useTransformed[$n] = 1; + $srcs[( `size $srcs` )] = $objs[$n]; + $tgts[( `size $tgts` )] = $transformedObjs[$n]; + } + if( `size $tgts` ) zooXferBatch ( "-mode 2 -keys 2 -matchRo 1 -range "+ $start +" "+ $end ) $srcs $tgts; + } + + //------ + //initialise the progress window + //------ + float $increment = 100/((float)(`size $allAttribs`)); + float $progress = 0; + progressWindow -t "Writing File" -progress ((int)$progress) -status "Progress: 0%" -isInterruptable 1; + + //------ + //now go through all selected objects + //------ + for( $x=0; $x<$numObjs; $x++ ){ + string $objFileInfo = ""; + string $obj = $objs[$x]; + string $miscInfo = "@"; + string $attribs[] = `listAttr -keyable -visible -scalar -multi $obj`; + int $rotationOrder = `objExists ( $obj +".ro" )`? `getAttr ( $obj +".ro" )`: -1; + + if( !`size $attribs` ) continue; + if( !`size (keyframe("-q"))`) continue; + string $exportName = $obj; + if( $strip ) $exportName = `match "[^:]+$" $obj`; + + for( $attrib in $attribs ) { + //update progress window + $progress += $increment; + progressWindow -e -progress ((int)$progress) -status ( "Progress: "+ ((int)$progress) +"%" ); + if( `progressWindow -q -ic` ) break; + + //make sure we're reading values from the correct object - if the attr is a transform attr, then we need to read animation data from the traced locator + if( $attrib == "translateX" || $attrib == "translateY" || $attrib == "translateZ" || $attrib == "rotateX" || $attrib == "rotateY" || $attrib == "rotateZ" ) $obj = $transformedObjs[$x]; + else $obj = $objs[$x]; + if( size(`listConnections -d 0 -type animCurve ( $obj +"."+ $attrib )`)) { //only proceed if connected to animCurve + string $animCurveInfo = "!"; + string $valTimes = "="; + string $lock = "$"; + string $tTypes = "<"; + string $tSize = ">"; + float $keyTimes[] = zooCropArray_float( `keyframe -q ( $obj +"."+ $attrib )`,$start,$end ); + int $weightInfo[] = `keyTangent -q -wt ( $obj +"."+ $attrib )`; + int $numKeys = `size $keyTimes`; + + $animCurveInfo += $weightInfo[0]; + $objFileInfo += "^"+ $attrib +"\n"+ $animCurveInfo +"\n"; + for( $n=0; $n<$numKeys; $n++ ){ + float $t = $keyTimes[$n]; + string $keytt[2] = `keyTangent -t $t -q -itt -ott ( $obj +"."+ $attrib )`; + float $keyVal[2] = `keyframe -t $t -q -vc ( $obj +"."+ $attrib )`; + float $itt[2] = `keyTangent -t $t -q -ia -iw ( $obj +"."+ $attrib )`; + float $ott[2] = `keyTangent -t $t -q -oa -ow ( $obj +"."+ $attrib )`; + float $curKeyTime = $t-$offset; + int $lockState[] = `keyTangent -t $t -q -l ( $obj +"."+ $attrib )`; + + //if the tangent type is fixed, change it to spline, as the keyTangent command doesn't + //recognise the "fixed" tangent type, even thought its a valid tangent type. go figure... + for( $i=0; $i<`size $keytt`; $i++ ) if( $keytt[$i] == "fixed" ) $keytt[$i] = "linear"; + + //now string all the times, values, tangent types, and tangent sizes together into their respective strings + $valTimes += $keyVal[0] +","+ $curKeyTime +","; + $lock += $lockState[0] +","; + $tTypes += $keytt[0] +","+ $keytt[1] +","; + $tSize += $itt[0] +","+ $itt[1] +","+ $ott[0] +","+ $ott[1] +","; + } + //if there are no keys are found in the timeline, query the attribute instead - we still need to write data for every attribute + if( !$numKeys ) { + $valTimes += `getAttr ( $obj +"."+ $attrib )` +",0,"; + $lock += "0,0,"; + $tTypes += "global,global,"; + $tSize += "1,1,1,1,"; + } + + //add the strings obtained from the previous loop to the string to write out to the file + $objFileInfo += $valTimes +"\n"+ $lock +"\n"+ $tTypes +"\n"+ $tSize +"\n&endAttr\n"; + } + } + + if( $objFileInfo != "" ) { + $miscInfo += $rotationOrder; + $objFileInfo = "*"+ $exportName +"\n"+ $miscInfo +"\n"+ $objFileInfo +"&endObj\n"; + } + + //add the end of object descriptor to the fileData string + $fileData += $objFileInfo; + } + + //now write all the data to the file, and force write to disk + int $fileId = `fopen $filename "w"`; + fprint $fileId $fileData; + fflush $fileId; + fclose $fileId; + + //cleanup + progressWindow -endProgress; + if( $world ) delete $tgts; + select $objs; + } + + +//------ +//writes only keyable attribs' values from the current frame into a file +// +//uses options from the write file proc +//------ +global proc zooAnimFileWritePose( string $filename, string $optionStr, string $objs[] ){ + //------ + //parse optionStr to determine which flags are enabled for this proc + //------ + int $strip = 1; + int $world = 0; + + $optionTemp = `zooGetFlagArguments $optionStr strip`; if( `size $optionTemp` ) $strip = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr world`; if( `size $optionTemp` ) $world = $optionTemp[0]; + if( !`size $objs` ) $objs = `ls -sl -o`; + + //make sure the filename has an extension + if( `match ".znm$" $filename` == "" ) $filename += ".znm"; + + //------ + //initialise relevant variables, and open the file for writing + //------ + string $sourceFile = `file -q -sn`; + if( !`filetest -r $sourceFile` ) $sourceFile = "<-scene not saved->"; + string $fileData = ".znm Anim File Format v"+ `zooAnimFileInfo version` +"\nExported by: "+ `getenv USER` +"\nSource file: "+ $sourceFile +"\nOptionStr: -pose 1 -offset "+ `currentTime -q` +" "+ $optionStr +"\n"; + if( !`size $objs` ) { warning "you have no objects selected - select the objects you want to export animation from"; return; } + + //------ + //make sure there are some keyable channels in the list of selected objects + //------ + string $allAttribs[] = `listAttr -keyable -visible -scalar -multi $objs`; + if( !`size $allAttribs` ) { warning "there are no keyable channels on any selected objects"; return; } + + //------ + //if the animation is to be exported as world space transforms, then we have to convert all transform data to worldspace + //this is done using the world space trace function in zooXferAnim + //------ + string $transformedObjs[] = $objs; //this array holds the names of the objects to get transform data from + string $xformObjs[] = {}; + string $srcs[] = {}; //this holds the original controls that are to be traced + string $tgts[] = {}; //this holds the locators that will be traced to the original controls + int $useTransformed[] = {}; //this array holds which objects have been substituted with locators + int $numObjs = `size $objs`; + + if( $world ) { + for( $a in $objs ) $useTransformed[( `size $useTransformed` )] = 0; //init this array + for( $n=0; $n<$numObjs; $n++ ) if( `zooIsObjAnimatedTransform $objs[$n]` ) { + $transformedObjs[$n] = zooGetElement_str(0,`spaceLocator -n ( $objs[$n] +"_in_worldspace" )`); + $useTransformed[$n] = 1; + $srcs[( `size $srcs` )] = $objs[$n]; + $tgts[( `size $tgts` )] = $transformedObjs[$n]; + } + if( `size $tgts` ) zooXferBatch "-mode 2 -keys 2 -matchRo 1 -range . ." $srcs $tgts; + } + + //------ + //initialise the progress window + //------ + float $increment = 100/((float)(`size $allAttribs`)); + float $progress = 0; + progressWindow -title "Writing File" -progress ((int)$progress) -status "Progress: 0%" -isInterruptable 1; + + //------ + //now go through all selected objects + //------ + for( $x=0; $x<$numObjs; $x++ ){ + string $obj = $objs[$x]; + string $miscInfo = "@"; + string $attribs[] = `listAttr -keyable -visible -scalar -multi $obj`; + int $rotationOrder = `objExists ( $obj +".ro" )`? `getAttr ( $obj +".ro" )` :0; + + if( !`size $attribs` ) continue; + string $exportName = $obj; + if( $strip ) $exportName = `match "[^:]+$" $obj`; + + $miscInfo += $rotationOrder +","; + $fileData += "*"+ $exportName +"\n"+ $miscInfo +"\n"; + for( $attrib in $attribs ) { + //update progress window + $progress += $increment; + progressWindow -e -progress ((int)$progress) -status ( "Progress: "+ ((int)$progress) +"%" ); + if( `progressWindow -query -isCancelled` ) break; + + //make sure we're reading values from the correct object - if the attr is a transform attr, then we need to read animation data from the traced locator + if( $attrib == "translateX" || $attrib == "translateY" || $attrib == "translateZ" || $attrib == "rotateX" || $attrib == "rotateY" || $attrib == "rotateZ" ) $obj = $transformedObjs[$x]; + else $obj = $objs[$x]; + string $valTimes = "="; + string $tTypes = "<"; + string $tSize = ">"; + + $fileData += "^"+ $attrib +"\n!0\n"; + + //now string all the times, values, tangent types, and tangent sizes together into their respective strings + $valTimes += `getAttr ( $obj +"."+ $attrib )` +",0,"; //key time for a pose is always zero - so the offset import feature works properly + $tTypes += "global,global,"; + $tSize += "-1,-1,-1,-1,"; + + //add the strings obtained from the previous loop to the string to write out to the file + $fileData += $valTimes +"\n$1,1\n"+ $tTypes +"\n"+ $tSize +"\n&endAttr\n"; + } + + //add the end of object descriptor to the fileData string + $fileData += "&endObj\n"; + } + + //now write all the data to the file, and force write to disk + int $fileId = `fopen $filename "w"`; + fprint $fileId $fileData; + fflush $fileId; + fclose $fileId; + + //cleanup + progressWindow -endProgress; + if( $world ) delete $tgts; + select $objs; + } + + +//------ +//given a file, a list of source objects and a list of target objects, this proc +//reads in animation data from the file from the objects in the source list if they +//exist, and applies the data to the corresponding target +// +//so the anim file might have 3 objects in it: objA, objB and objC +//if the source list has objA and objD +//and the target list has objB and objD +//then the animation from objA in the file will get applied to the target objB +//and because objD doesn't exist in the file, it gets ignored +// +//the available import flags are: +// -filename [string] full path to the filename +// -offset [float] time offset for the animation +// -incrementOn [int] if true, the values are multiplied by the increment float +// -increment [float] this 0-1 float value acts as a value multiplier. when increment is turned on, the current attribute value gets blended with the file attribute value based on this increment amount +// -additive [int] applies the animation in an additive fashion, instead of doing value replacement +// -subtract [int] similar to additive, except values are subtracted from their current value +// -nocreate [int] if true, this flag tells the importer not to create keys when importing animation +// -clear [int] clears any existing keys in the range of the clip before loading the new animation +// -world [int] if true, the importer assumes all tranform attribute values are worldspace values, and places mapped controllers to those positions in world space, instead of simply setting attribute values +//------ +global proc zooAnimFileLoadObjects( string $filename, string $optionStr, string $srcs[], string $tgts[] ) { + //first look for problems + int $numSrcs = `size $srcs`; + int $numTgts = `size $tgts`; + + if( !`filetest -r $filename` ) { warning "the specified file doesn't exist"; return; } + if( !$numSrcs ) { warning "there are no source objects specified"; return; } + if( !$numTgts ) { warning "there are no target objects specified"; return; } + + //next, read the options that were set in the file header at export time + string $headerData[] = `zooReadAnimFileHeader $filename`; + string $optionsAtExport = $headerData[3]; + string $exportStart[] = `zooGetFlagArguments $optionsAtExport offset`; + + //now parse the command option + string $worldCache[] = {}; + string $temp[] = {}; + string $fileContents[] = {}; + float $timeOffset = $exportStart[0]; + float $incrementalApply = 1.0; + int $incrementOn = 0; + int $additive = 0; + int $subtract = 0; + int $nocreate = 0; + int $clear = 0; + int $world = 0; + int $n = 0; + + $temp = `zooGetFlagArguments $optionStr offset`; if( `size $temp` ) { if( $temp[0] == "*" ) $timeOffset = `currentTime -q`; else $timeOffset = $temp[0]; } + $temp = `zooGetFlagArguments $optionStr incrementOn`; if( `size $temp` ) if( `size $temp` ) $incrementOn = $temp[0]; + $temp = `zooGetFlagArguments $optionStr increment`; if( `size $temp` ) if( `size $temp` ) $incrementalApply = $temp[0]; + $temp = `zooGetFlagArguments $optionStr additive`; if( `size $temp` ) $additive = $temp[0]; + $temp = `zooGetFlagArguments $optionStr subtract`; if( `size $temp` ) $subtract = $temp[0]; + $temp = `zooGetFlagArguments $optionStr nocreate`; if( `size $temp` ) $nocreate = $temp[0]; + $temp = `zooGetFlagArguments $optionStr clear`; if( `size $temp` ) $clear = $temp[0]; + $temp = `zooGetFlagArguments $optionStr world`; if( `size $temp` ) $world = $temp[0]; + + //prepare the object lists - ie strip namespaces if they exist, and determine the namespace for the target list + string $namespace = ""; + while( $namespace == "" && $n<$numTgts ) $namespace = `zooGetNamespace $tgts[$n++]`; + if( $world ) { + $worldCache = $tgts; + for( $n=0; $n<$numTgts; $n++ ) $tgts[$n] = `group -em`; + } + + string $globalItt = zooGetElement_str(0,`keyTangent -q -global -itt`); + string $globalOtt = zooGetElement_str(0,`keyTangent -q -global -ott`); + int $fileID = `fopen $filename "r"`; + int $x = 0; + + //init the progress window + float $progress = 0; + float $increment = $numSrcs? 100/(float)$numSrcs: 1; + progressWindow -t "Importing From File" -progress ((int)$progress) -status "Progress: 0%" -isInterruptable 1; + + float $keyTimeBounds[] = {}; + if( $clear ) $keyTimeBounds = `zooZnmKeyTimeBounds $filename`; + + //now iterate through all the objects in the file, see if the exist in the target array and if so, apply the animation + while( !`feof $fileID` ) { + //update progress window + $progress += $increment; + if( `progressWindow -q -ic` ) break; + progressWindow -e -progress((int)$progress) -status( "Progress: " + ((int)$progress) + "%" ); + + //get the info for the next object + string $objInfo[] = {}; + zooGetNextObj $fileID $objInfo; + if( !`size $objInfo` ) break; + + //see if the object we're currently reading from the file exists in the source list + //if it does, find out its index, and get the associated target, otherwise, keep on loopin + string $obj = $objInfo[0]; + string $tgt; + int $rotOrder = $objInfo[1]; + int $cont = 1; + + //this simple loop does two things - first it checks to see if the object exists + //if it does, the loop breaks and the $x holds the index for the object, if it + //doesn't, it sets a variable to ignore this object in the file + for( $x=0; $x<$numSrcs; $x++ ) if( $srcs[$x] == $obj ) { + $cont = 0; + break; + } + + //search for the target - if the raw target doesn't exist, try searching a likely candidate + $tgt = $tgts[$x]; + if( !`objExists $tgt` ) $tgt = $namespace + `match "[^:]+$" $tgt`; + if( !`objExists $tgt` ) continue; + if( $cont ) continue; + if( `objExists ( $tgt +".ro " )`) if( `getAttr -se ( $tgt +".ro " )`) setAttr ( $tgt +".ro " ) $rotOrder; + + //now that object level info has been loaded, start reading and writing attribute animation + while( true ) { + string $attrib = `zooGetNextAttr $fileID`; + if( $attrib == "" ) break; //if the next attribute name is empty, then we've hit the end of this object's attributes + + string $attrPath = $tgt +"."+ $attrib; + string $weighted[] = {}; + string $keyData[] = {}; + string $keyLocks[] = {}; + string $tangentTypes[] = {}; + string $tangentValues[] = {}; + int $proceed = `zooGetNextAttrInfo $fileID $weighted $keyData $keyLocks $tangentTypes $tangentValues`; + + if( $proceed != 1 ) break; + if( !`objExists $attrPath` ) continue; + if( !`getAttr -k $attrPath` ) continue; + if( !`getAttr -se $attrPath` ) continue; + + //cut any existing keys if nessecary + if( $clear ) cutKey -t( $keyTimeBounds[0] +":"+ $keyTimeBounds[1] ) -cl $attrPath; + + int $numKeys = `size $keyData`/2; + int $weight = $weighted[0]; + float $keyVals[] = {}; + float $keyTimes[] = {}; + float $curAttrVals[] = {}; + + //make sure the curve's weighted state matches the file + keyTangent -e -wt $weight $attrPath; + for( $t=0; $t<$numKeys; $t++ ) { + $keyVals[$t] = $keyData[$t*2]; + $keyTimes[$t] = ((float)$keyData[$t*2+1]) + $timeOffset; + } + + //if additive mode is true, we want to add the already existing attribute + //value at the given time to the value we're loading - but first we need to + //get the attribute values at the given time before applying any new animation + if( $additive || $subtract || $incrementOn ) { + $curAttrVals = `zooGetAttrAtTimes $attrPath $keyTimes`; + if( $additive ) for( $t=0; $t<$numKeys; $t++ ) $keyVals[$t] += $curAttrVals[$t]; + else if( $subtract ) for( $t=0; $t<$numKeys; $t++ ) $keyVals[$t] = $curAttrVals[$t] - $keyVals[$t]; + if( $incrementOn ) for( $t=0; $t<$numKeys; $t++ ) $keyVals[$t] = ($keyVals[$t]*$incrementalApply) + $curAttrVals[$t]*(1.0-$incrementalApply); + } + + //now apply the key data read from the file + for( $t=0; $t<$numKeys; $t++ ) { + string $ittType = $tangentTypes[( $t*2 )]; + string $ottType = $tangentTypes[( $t*2+1 )]; + float $keyVal = $keyVals[$t]; + float $keyTime = $keyTimes[$t]; + float $inAngle = $tangentValues[( $t*4 )]; + float $inWeight = $tangentValues[( $t*4+1 )]; + float $outAngle = $tangentValues[( $t*4+2 )]; + float $outWeight = $tangentValues[( $t*4+3 )]; + int $lock = $keyLocks[$t]; + + //if nocreate is turned on - this means don't create keys, only modify existing keys. + //not very useful for anim clip loading, but useful for pose clip loading sometimes + if( $nocreate ) if( !`keyframe -t $keyTime -q -kc $attrPath`) continue; + + //process keyframe and tangent information, provided the target attribute exists and is keyable + int $isPose = 0; + setKeyframe -t $keyTime -v $keyVal $attrPath; + if( $inWeight == -1 && $outWeight == -1 ) $tangents = 0; + if( $ittType == "global" ) $ittType = $globalItt; + if( $ottType == "global" ) $ottType = $globalOtt; + if( $inAngle == -1 && $outAngle == -1 && $inWeight == -1 && $outWeight == -1 ) $isPose = 1; + if( !$isPose ) { + keyTangent -e -t $keyTime -l $lock -ia $inAngle -oa $outAngle -iw $inWeight -ow $outWeight $attrPath; + if( $ottType == "step" ) keyTangent -e -ott step $attrPath; + } + } + } + } + + fclose $fileID; + currentTime `currentTime -q`; //this is to force maya to update - sometimes maya doesn't update the scene - often when incremental apply is turned on + progressWindow -ep; + + //if the import mode was world space, we need to do some additional things convert the animation to world space + if( $world ) { + zooXferAnimUtils; + zooXferBatch "-mode 2 -keys 1" $tgts $worldCache; + delete $tgts; + $tgts = $worldCache; + } + } + + +//given an array of times, this proc simply returns values of a given attribute +//at those times by sampling the anim curve +global proc float[] zooGetAttrAtTimes( string $attrPath, float $times[] ) { + float $vals[] = {}; + int $num = `size $times`; + + for( $n=0; $n<$num; $n++ ) { + float $valAtTime = zooGetElement_float(0,`keyframe -t $times[$n] -q -eval $attrPath`); + $vals[$n] = $valAtTime; + } + + return $vals; + } + + +//------ +//returns an array containing all information stored in the .znm file header +//------ +global proc string[] zooReadAnimFileHeader( string $filepath ){ + string $fileInfo[] = {}; + int $fileID = `fopen $filepath "r"`; + + while( !`feof $fileID` ) { + string $line = `zooGetLine $fileID`; + if( `match "^\\*" $line` != "" ) break; + $fileInfo[( `size $fileInfo` )] = $line; + } + + fclose $fileID; + return $fileInfo; + } + + +//grabs the first and the last time value for all keys in the file - to get the +//time bounds for the animation clip +global proc float[] zooZnmKeyTimeBounds( string $filepath ) { + string $keyLines[] = {}; + float $times[] = {}; + int $fileID = `fopen $filepath "r"`; + + while( !`feof $fileID` ) { + string $line = `zooGetLine $fileID`; + if( `match "^=" $line` != "" ) $keyLines[`size $keyLines`] = `substring $line 2 (size($line))`; + } + + fclose $fileID; + int $numLines = `size $keyLines`; + for( $n=0; $n<$numLines; $n++ ) { + string $toks[] = {}; + tokenize $keyLines[$n] "," $toks; + int $num =`size $toks`; + for( $i=1; $i<$num; $i+=2 ) $times[`size $times`] = $toks[$i]; + } + + $times =`sort $times`; + float $keyBounds[] = { $times[0],(zooGetElement_float(-1,$times))}; + return $keyBounds; + } + + +global proc string[] zooAnimFileGetObjs( string $filepath ) { + string $objInfo[] = {}; + string $objs[] = {}; + int $fileID = `fopen $filepath "r"`; + + while( `zooGetNextObj $fileID $objInfo` ) $objs[( `size $objs` )] = $objInfo[0]; + + fclose $fileID; + return $objs; + } + + +//------ +//the following procs are specific to reading anim files - the file needs to be open +//already - which is why it takes a fileID arg. it reads through the file - and +//changes the current position of the reader, and returns an object and its per +//object info in the given array +//------ +global proc int zooGetNextObj( int $fileID, string $objInfo[] ) { + string $line = ""; + string $prefix = ""; + string $suffix = ""; + + clear $objInfo; + while( !`feof $fileID` ) { + $line = `zooGetLine $fileID`; + if( !`size $line` ) return 0; + $prefix = `substring $line 1 1`; + if( $prefix == "*" ) { + string $suffix = ""; + $objInfo[0] = `substring $line 2 (size($line))`; + + $line = `zooGetLine $fileID`; + $suffix = `substring $line 2 (size($line))`; + $suffix = `match "^[^,]+" $suffix`; + $objInfo[1] = $suffix; + return 1; + } + } + return 0; + } + + +//------ +//moves to the next attr in the file and returns its name +//------ +global proc string zooGetNextAttr( int $fileID ) { + while( !`feof $fileID` ) { + string $line = `zooGetLine $fileID`; + string $prefix = `substring $line 1 1`; + if( $prefix == "^" ) return `substring $line 2 (size($line))`; + if( $line == "&endObj" ) return ""; + } + return ""; + } + + +//------ +//moves to the next key data for an attr in the file, and fills the passed arrays +//with appropriate data +//------ +global proc int zooGetNextAttrInfo( int $fileID, string $weighted[], string $keys[], string $locked[], string $tTypes[], string $tVals[] ) { + string $line = ""; + string $prefix = ""; + string $suffix = ""; + + clear $weighted; clear $keys; clear $locked; clear $tTypes; clear $tVals; + if( `feof $fileID` ) return 0; + $line = `zooGetLine $fileID`; + $suffix = `substring $line 2 (size($line))`; + $weighted[0] = $suffix; + + $line = `zooGetLine $fileID`; + $suffix = `substring $line 2 (size($line))`; + tokenize $suffix "," $keys; + + $line = `zooGetLine $fileID`; + $suffix = `substring $line 2 (size($line))`; + tokenize $suffix "," $locked; + + $line = `zooGetLine $fileID`; + $suffix = `substring $line 2 (size($line))`; + tokenize $suffix "," $tTypes; + + $line = `zooGetLine $fileID`; + $suffix = `substring $line 2 (size($line))`; + tokenize $suffix "," $tVals; + + $line = `zooGetLine $fileID`; + if( $line == "&endAttr" ) return 1; + return 1; + } + + +//------ +//returns a single line, and moves on in the file - strips out newlines as well +//------ +global proc string zooGetLine( int $fileID ) { + string $line = `fgetline $fileID`; + $line = `substitute "\n" $line ""`; + return $line; + } + + +//------ +//determine whether an object has animated transforms +//this means that at least one of the t or r child attributes are connected from an animCurve node +//------ +global proc int zooIsObjAnimatedTransform( string $obj ) { + //are the top level transform attributes keyable and settable? + int $isTOpen = 0; + int $isROpen = 0; + if( `objExists ( $obj +".t" )` && !size(`listConnections -d 0 ( $obj +".t")`)) $isTOpen = 1; + if( `objExists ( $obj +".r" )` && !size(`listConnections -d 0 ( $obj +".r")`)) $isROpen = 1; + if( !$isTOpen || !$isTOpen ) return 0; + + //are the leaf level transform attributes keyable and connected to with an anim curve - ie animated? + int $tx = 0; int $ty = 0; int $tz = 0; + int $rx = 0; int $ry = 0; int $rz = 0; + + //an object is considered an animated transform if it has keyable translate or rotate attributes AND is connected by either an animCurve node, or a character node + if( `getAttr -k ( $obj +".tx" )` && size(ls("-type","animCurve","-type","character",`listConnections -d 0 ( $obj +".tx")`)) ) $tx = 1; + if( `getAttr -k ( $obj +".ty" )` && size(ls("-type","animCurve","-type","character",`listConnections -d 0 ( $obj +".ty")`)) ) $ty = 1; + if( `getAttr -k ( $obj +".tz" )` && size(ls("-type","animCurve","-type","character",`listConnections -d 0 ( $obj +".tz")`)) ) $tz = 1; + if( `getAttr -k ( $obj +".rx" )` && size(ls("-type","animCurve","-type","character",`listConnections -d 0 ( $obj +".rx")`)) ) $rx = 1; + if( `getAttr -k ( $obj +".ry" )` && size(ls("-type","animCurve","-type","character",`listConnections -d 0 ( $obj +".ry")`)) ) $ry = 1; + if( `getAttr -k ( $obj +".rz" )` && size(ls("-type","animCurve","-type","character",`listConnections -d 0 ( $obj +".rz")`)) ) $rz = 1; + if( $tx || $ty || $tz || $rx || $ry || $rz ) return 1; + return 0; + } + + +//------ +//simply returns versioning, and date information about this script +//------ +global proc string zooAnimFileInfo ( string $function ) { + string $creationDate = "27 July 2003"; + string $lastRevision = "07 June 2006"; + string $currentVersion = "6.07.05"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "modified" ) return $lastRevision; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAnimStore.mel b/2009-x64/zooScripts/scripts/zooAnimStore.mel new file mode 100644 index 0000000..95a698b --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAnimStore.mel @@ -0,0 +1,539 @@ +zooAnimStoreUtils; +zooArrays_str; +zooPresetManager; + + +global proc zooAnimStore() { + string $windowName = "zooAnimStoreWindow"; + string $windowTitle = "zooAnimStore v1.07.05 ::macaroniKazoo::"; + int $alphabetical = `optionVar -ex zooAnimStoreAlphabetical`? `optionVar -q zooAnimStoreAlphabetical`: 1; + int $spacing = `optionVar -ex zooAnimStoreSpacing`? `optionVar -q zooAnimStoreSpacing`: 0; + + zooPrepPresetDirectory zooAnimStore; + if( `window -exists $windowName` ) deleteUI $windowName; + window -t $windowTitle -mb 1 -maximizeButton 0 -sizeable 1 -wh 555 400 $windowName; + menu -l "Stores"; + menuItem -l "Sort Stores Alphabetically" -cb $alphabetical -c( "if( #1 ) optionVar -rm zooAnimStoreAlphabetical; else optionVar -iv zooAnimStoreAlphabetical 0; zooAnimStoreWindowFunctions -updateStores;" ); + menu -l "Clips"; + menuItem -l "Clip Padding" -sm 1; + menuItem -l "no padding" -c( "optionVar -rm zooAnimStoreSpacing; zooAnimStoreWindowFunctions -updateSpacing;" ); + menuItem -d 1; + menuItem -l "10" -c( "optionVar -iv zooAnimStoreSpacing 10; zooAnimStoreWindowFunctions -updateSpacing;" ); + menuItem -l "20" -c( "optionVar -iv zooAnimStoreSpacing 20; zooAnimStoreWindowFunctions -updateSpacing;" ); + menuItem -l "30" -c( "optionVar -iv zooAnimStoreSpacing 30; zooAnimStoreWindowFunctions -updateSpacing;" ); + setParent -m ..; + menu -l "Help"; + menuItem -l "Help..." -c( "zooHelp zooAnimStore 1" ); + menuItem -d 1; + menuItem -l "About" -c( "zooHelp zooAnimStore 2" ); + + string $form = `formLayout`; + string $storesLbl = `text -l "anim stores"`; + string $stores = `textScrollList -nr 10 -sc "zooAnimStoreWindowFunctions -updateClips;" zooStoreUIStores`; + string $animChk = `checkBox -l "show anims" -v(optionVar("-ex","zooAnimStoreAnims")?optionVar("-q","zooAnimStoreAnims"):1) -cc( "if( #1 ) optionVar -rm zooAnimStoreAnims; else optionVar -iv zooAnimStoreAnims 0; zooAnimStoreWindowFunctions -updateClips;" ) zooStoreUICheckAnims`; + string $poseChk = `checkBox -l "show poses" -v(optionVar("-ex","zooAnimStorePoses")?optionVar("-q","zooAnimStorePoses"):1) -cc( "if( #1 ) optionVar -rm zooAnimStorePoses; else optionVar -iv zooAnimStorePoses 0; zooAnimStoreWindowFunctions -updateClips;" ) zooStoreUICheckPoses`; + string $deltChk = `checkBox -l "show deltas" -v(optionVar("-ex","zooAnimStorePoses")?optionVar("-q","zooAnimStorePoses"):1) -cc( "if( #1 ) optionVar -rm zooAnimStoreDeltas; else optionVar -iv zooAnimStoreDeltas 0; zooAnimStoreWindowFunctions -updateClips;" ) zooStoreUICheckDeltas`; + string $searchLbl = `text -l "filter:" `; + string $searchTxt = `textField -tx "" -cc( "zooAnimStoreWindowFunctions -updateClips;" ) zooStoreUITextFilter`; + string $storePanes = `paneLayout -configuration "vertical2" -smc( "zooAnimStoreWindowFunctions -storeConfig;" ) zooStoreUIPane`; + string $lStore = `formLayout`; + string $clipLblL = `text -l "clips in local store"`; + string $shelfL = `shelfLayout zooStoreUIClipsL`; + setParent ..; + setParent ..; + string $gStore = `formLayout`; + string $clipLblG = `text -l "clips in global store"`; + string $refresh = `button -w 80 -l "refresh" -c( "zooAnimStoreWindowFunctions -updateClipsG;" )`; + string $shelfG = `shelfLayout zooStoreUIClipsG`; + setParent ..; + setParent ..; + setParent ..; + string $frame = `frameLayout -height(optionVar("-q","zooAnimStoreShowOpts")? 22: 85) -l "options" -la bottom -cll 1 -cl(optionVar("-q","zooAnimStoreShowOpts")) -cc( "optionVar -iv zooAnimStoreShowOpts 1;" ) -ec( "optionVar -rm zooAnimStoreShowOpts;" ) -bs etchedOut`; + string $optsLayout = `formLayout`; + string $colA = `columnLayout`; + checkBox -v(optionVar("-ex","zooAnimStoreCurTime")?optionVar("-q","zooAnimStoreCurTime"):1) -l "export keys in range only" -cc( "if( #1 ) optionVar -rm zooAnimStoreCurTime; else optionVar -iv zooAnimStoreCurTime 0;" ) zooStoreUICheckCur; + checkBox -v(optionVar("-ex","zooAnimStoreTimeOffset")?optionVar("-q","zooAnimStoreTimeOffset"):1) -l "import at current time" -cc( "if( #1 ) optionVar -rm zooAnimStoreTimeOffset; else optionVar -iv zooAnimStoreTimeOffset 0;" ) zooStoreUICheckOffset; + checkBox -v(optionVar("-q","zooAnimStoreWorld")) -l "world space" -cc( "if( #1 ) optionVar -iv zooAnimStoreWorld 1; else optionVar -rm zooAnimStoreWorld;" ) zooStoreUICheckWS; + checkBox -v(optionVar("-q","zooAnimStoreAdd")) -l "additive" -cc( "if( #1 ) optionVar -iv zooAnimStoreAdd 1; else optionVar -rm zooAnimStoreAdd;" ) zooStoreUICheckAdd; + setParent ..; + string $colB = `columnLayout`; + checkBox -v(optionVar("-q","zooAnimStoreApplyPar")) -l "apply to parent qss (all)" -onc( "checkBox -e -v 1 -en 0 zooStoreUICheckRig; optionVar -iv zooAnimStoreApplyPar 1;" ) -ofc( "checkBox -e -en 1 zooStoreUICheckRig; optionVar -rm zooAnimStoreApplyPar;" ) zooStoreUICheckRigAll; + checkBox -v(optionVar("-ex","zooAnimStoreApplyCur")?optionVar("-q","zooAnimStoreApplyCur"):1) -l "apply to current qss" -cc( "if( #1 ) optionVar -rm zooAnimStoreApplyCur; else optionVar -iv zooAnimStoreApplyCur 0;" ) zooStoreUICheckRig; + checkBox -v(optionVar("-q","zooAnimStoreClear")) -l "clear keys on import" -cc( "if( #1 ) optionVar -iv zooAnimStoreClear 1; else optionVar -rm zooAnimStoreClear;" ) zooStoreUICheckClearKeys; + setParent ..; + string $colC = `columnLayout -adj 1`; + text -l "incremental apply";//`checkBox -v 0 -l "incremental apply" zooStoreUICheckIncrementOn`; + floatSlider -min 0 -max 1 -v(optionVar("-ex","zooStoreIncrement")? optionVar("-q","zooStoreIncrement"): 1) -step 0.05 -cc( "optionVar -fv zooStoreIncrement `floatSlider -q -v zooStoreUIFloatIncrement`;" ) zooStoreUIFloatIncrement; + setParent ..; + setParent ..; + setParent ..; + + string $image = `image -w 555 -height 8 -backgroundColor ((float)1) ((float)0) ((float)0) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com\"" ); + setParent ..; + + formLayout -e + -af $clipLblL "top" 3 + -af $clipLblL "left" 5 + + -ac $shelfL "top" 3 $clipLblL + -af $shelfL "left" 0 + -af $shelfL "right" 0 + -af $shelfL "bottom" 0 + $lStore; + + formLayout -e + -af $clipLblG "top" 3 + -af $clipLblG "left" 5 + + -af $refresh "top" 0 + -af $refresh "right" 0 + + -ac $shelfG "top" 3 $clipLblG + -af $shelfG "left" 0 + -af $shelfG "right" 0 + -af $shelfG "bottom" 0 + $gStore; + + formLayout -e + -af $storesLbl "top" 3 + -af $storesLbl "left" 5 + -an $storesLbl "right" + -an $storesLbl "bottom" + + -ac $stores "top" 3 $storesLbl + -af $stores "left" 2 + -ap $stores "right" 0 25 + -ac $stores "bottom" 2 $image + + -af $animChk "top" 3 + -ac $animChk "left" 2 $stores + + -af $poseChk "top" 3 + -ac $poseChk "left" 10 $animChk + + -af $deltChk "top" 3 + -ac $deltChk "left" 10 $poseChk + + -af $searchLbl "top" 3 + -ac $searchLbl "left" 10 $deltChk + + -af $searchTxt "top" 0 + -ac $searchTxt "left" 3 $searchLbl + -af $searchTxt "right" 0 + + -ac $storePanes "top" 0 $searchTxt + -ac $storePanes "left" 2 $stores + -af $storePanes "right" 0 + -ac $storePanes "bottom" 0 $frame + + -an $frame "top" + -ac $frame "left" 2 $stores + -af $frame "right" 0 + -ac $frame "bottom" 2 $image + + -an $image "top" + -af $image "left" 2 + -af $image "right" 2 + -af $image "bottom" 2 + $form; + + formLayout -e + -af $colA "top" 0 + -af $colA "left" 0 + -ap $colA "right" 0 33 + -af $colA "bottom" 0 + + -af $colB "top" 0 + -ap $colB "left" 0 33 + -ap $colB "right" 0 67 + -af $colB "bottom" 0 + + -af $colC "top" 0 + -ap $colC "left" 0 67 + -af $colC "right" 0 + -af $colC "bottom" 0 + $optsLayout; + + popupMenu -b 1 -p $searchLbl -pmc( "textField -e -tx \"\" zooStoreUITextFilter; zooAnimStoreWindowFunctions -updateClips;" ); + popupMenu -b 3 -p $searchLbl -pmc( "textField -e -tx \"\" zooStoreUITextFilter; zooAnimStoreWindowFunctions -updateClips;" ); + popupMenu -b 3 -p $searchTxt -pmc( "zooAnimStoreFilterMenu zooStorePupFilter zooStoreUITextFilter;" ) zooStorePupFilter; + popupMenu -b 3 -p $stores -pmc "zooStoreListPopup zooStoreListUIPopup" zooStoreListUIPopup; + popupMenu -b 3 -p $shelfL -pmc "zooClipListPopup zooClipLListUIPopup \"local\";" zooClipLListUIPopup; + popupMenu -b 3 -p $shelfG -pmc "zooClipListPopup zooClipGListUIPopup \"global\";" zooClipGListUIPopup; + popupMenu -b 1 -p $searchLbl -pmc "textField -e -tx \"\" zooStoreUITextFilter; zooAnimStoreWindowFunctions -updateClips;"; + popupMenu -b 3 -p $storePanes; + menuItem -l "reset panes" -c( "optionVar -rm zooAnimStorePane; paneLayout -e -paneSize 1 50 100 zooStoreUIPane;" ); + + showWindow $windowName; + zooAnimStoreWindowFunctions -updateStores; + zooAnimStoreWindowFunctions -restoreConfig; + zooAnimStoreWindowFunctions -updateSpacing; + } + + +//******************* +//UI INTERACTION FUNCTIONS +//******************* + + +global proc zooAnimStoreFilterMenu( string $parent, string $filterTextUI ) { + menu -e -dai $parent; + setParent -m $parent; + + string $ext = "txt"; + string $locL = `zooGetPresetDirectory "local" zooAnimStore`; + string $locG = `zooGetPresetDirectory "global" zooAnimStore`; + string $presetsL[] = `zooListPresets "local" zooAnimStore $ext`; + string $presetsG[] = `zooListPresets "global" zooAnimStore $ext`; + + for( $p in $presetsL ) menuItem -l( `match "^[^.]+" $p` ) -c( "{string $c[] = `zooReadFile \""+ $locL + $p +"\" \"-strip 1\"`; textField -e -tx $c[0] "+ $filterTextUI +"; zooAnimStoreWindowFunctions -updateClips;}" ); + for( $p in $presetsG ) menuItem -l( `match "^[^.]+" $p` ) -c( "{string $c[] = `zooReadFile \""+ $locG + $p +"\" \"-strip 1\"`; textField -e -tx $c[0] "+ $filterTextUI +"; zooAnimStoreWindowFunctions -updateClips;}" ); + menuItem -d 1; + menuItem -l "save preset" -c( "{string $ans = `promptDialog -m \"filter preset name\" -tx (textField(\"-q\",\"-tx\",\""+ $filterTextUI +"\")) -b \"OK\" -b \"Cancel\" -db \"OK\"`; if( $ans == \"OK\" ) { string $name = `promptDialog -q -tx`; zooSavePreset \"local\" zooAnimStore "+ $ext +" $name `textField -q -tx "+ $filterTextUI +"`;}}" ); + menuItem -l "manage presets" -c( "zooPresetManagerWin \"local\" zooAnimStore "+ $ext +";" ); + menuItem -d 1; + menuItem -l "clear filter" -c( "textField -e -tx \"\" "+ $filterTextUI +";" ); + } + + +global proc zooStoreListPopup( string $popup ) { + menu -e -dai $popup; + setParent -m $popup; + + menuItem -l "create store" -c "zooAnimStoreWindowFunctions -createStore"; + menuItem -l "explore to store" -sm 1; + menuItem -l "local store" -c( "{string $store = zooGetElement_str(0,`textScrollList -q -si zooStoreUIStores`); string $loc = `zooGetPresetDirectory \"local\" zooAnimStore`; zooExploreTo ( $loc + $store );}" ); + menuItem -l "global store" -c( "{string $store = zooGetElement_str(0,`textScrollList -q -si zooStoreUIStores`); string $loc = `zooGetPresetDirectory \"global\" zooAnimStore`; zooExploreTo ( $loc + $store );}" ); + setParent -m ..; + menuItem -d 1; + menuItem -l "rename store" -c "zooAnimStoreWindowFunctions -renameStore"; + menuItem -d 1; + menuItem -l "delete store" -c "zooAnimStoreWindowFunctions -deleteStore"; + } + + +global proc zooClipListPopup( string $popup, string $locale ) { + string $store = zooGetElement_str(0,`textScrollList -q -si zooStoreUIStores`); + string $loc = `zooGetPresetDirectory $locale zooAnimStore`; + + menu -e -dai $popup; + setParent -m $popup; + + if( $store == "" ) { + menuItem -l "select a store first"; + return; + } + menuItem -l "create anim clip" -c( "zooAnimStoreWindowFunctions -createAnimClip_"+ $locale ); + menuItem -l "create pose clip" -c( "zooAnimStoreWindowFunctions -createPoseClip_"+ $locale ); + menuItem -d 1; + menuItem -l "explore to store" -c( "zooExploreTo \""+ $loc + $store +"\";" ); + } + + +global proc zooClipPopup( string $popup, string $locale, string $clip, string $type ) { + string $store = zooGetElement_str(0,`textScrollList -q -si zooStoreUIStores`); + string $otherLoc = "--> global"; + string $loc = `zooGetPresetDirectory $locale zooAnimStore`; + + menu -e -dai $popup; + setParent -m $popup; + + if( $locale == "global" ) $otherLoc = "<-- local"; + menuItem -l "apply with tight name matching" -c( "zooApplyClip \""+ $clip +"."+ $type +"\" \""+ $store +"\" \""+ $locale +"\" 1 0;" ); + menuItem -l "apply with loose name matching" -c( "zooApplyClip \""+ $clip +"."+ $type +"\" \""+ $store +"\" \""+ $locale +"\" 0 0;" ); + menuItem -l "apply with xferAnim" -c( "zooAnimStoreWindowFunctions_var -loadInXfer_"+ $locale +" "+ $clip +"."+ $type +";" ); + menuItem -d 1; + menuItem -l( "move clip to "+ $otherLoc ) -c( "zooMoveClip \""+ $clip +"."+ $type +"\" \""+ $store +"\" \""+ $locale +"\"; zooAnimStoreWindowFunctions -updateClips;" );; + menuItem -l( "copy clip to "+ $otherLoc ) -c( "zooCopyClip \""+ $clip +"."+ $type +"\" \""+ $store +"\" \""+ $locale +"\"; zooAnimStoreWindowFunctions -updateClips"+ ($locale=="local"?"G":"L") +";" );; + menuItem -l "rename clip..." -c( "{ string $ans = `promptDialog -t \"rename clip\" -tx "+ $clip +" -m \"New Name:\" -b \"Rename\" -b \"Cancel\" -db \"Rename\"`; if( $ans != \"Cancel\" ) { zooRenameClip "+ $clip +"."+ $type +" "+ $store +" \""+ $locale +"\" ( `promptDialog -q -text` +\"."+ $type +"\"); zooAnimStoreWindowFunctions -updateClips"+ ($locale=="local"?"L":"G") +"; }}" ); + menuItem -l "explore to clip..." -c( "zooExploreTo \""+ $loc + $store +"/"+ $clip +"."+ $type +".znm\";" ); + menuItem -d 1; + menuItem -l "over-write clip" -c( "zooAnimStoreWindowFunctions_var -overwrite_"+ $locale +" \""+ $clip +"."+ $type +"\";" ); + menuItem -l "new icon from panel" -c( "zooAnimStoreWindowFunctions_var -newIcon_"+ $locale +" \""+ $clip +"."+ $type +"\";" ); + menuItem -d 1; + menuItem -l "delete clip" -c( "zooAnimStoreWindowFunctions_var -deleteClip_"+ $locale +" \""+ $clip +"."+ $type +"\";" ); + menuItem -d 1; + menuItem -d 1; + menuItem -d 1; + menuItem -l "create anim clip..." -c( "zooAnimStoreWindowFunctions -createAnimClip_"+ $locale ); + menuItem -l "create pose clip..." -c( "zooAnimStoreWindowFunctions -createPoseClip_"+ $locale ); + menuItem -d 1; + menuItem -l "explore to clip" -c( "zooExploreTo \""+ $loc + $store +"/"+ $clip +"."+ $type +".znm\"" ); + } + + +global proc zooAnimStoreWindowFunctions( string $function ) { + //define variables to refer to UI names + string $storeUI = "zooStoreUIStores"; + string $clipLUI = "zooStoreUIClipsL"; + string $clipGUI = "zooStoreUIClipsG"; + string $checkRigAllUI = "zooStoreUICheckRigAll"; + int $iconSize = 60; + + //define other useful variables + string $selStore = zooGetElement_str(0,`textScrollList -q -si $storeUI`); + string $locL = `zooGetPresetDirectory "local" zooAnimStore`; + string $locG = `zooGetPresetDirectory "global" zooAnimStore`; + string $locale = "local"; + string $optionStr = "-strip 0 "; + int $anims = `checkBox -q -v zooStoreUICheckAnims`; + int $poses = `checkBox -q -v zooStoreUICheckPoses`; + int $delts = `checkBox -q -v zooStoreUICheckDeltas`; + int $parentqss = `checkBox -q -v $checkRigAllUI`; + + switch( $function ) { + //handles updating store listings + case "-updateStores": + string $stores_l[] = `zooListStores "local"`; + string $stores_g[] = `zooListStores "global"`; + string $stores[] = `zooAddArray_str $stores_l $stores_g`; + int $alphabetical = `optionVar -ex zooAnimStoreAlphabetical`? `optionVar -q zooAnimStoreAlphabetical`: 1; + int $orders[] = `zooGetAlphabeticalIdx $stores`; + + if( $alphabetical ) $stores = `zooOrderArrayUsing_str $stores $orders`; + $stores = `stringArrayRemoveDuplicates $stores`; + textScrollList -e -ra $storeUI; + for( $s in $stores ) textScrollList -e -a $s $storeUI; + + //select the previously selected store + if( $selStore != "" ) textScrollList -e -si $selStore $storeUI; + else if( `size $stores` ) { + if( `optionVar -ex zooAnimStoreSelectedStore` ) textScrollList -e -si `optionVar -q zooAnimStoreSelectedStore` $storeUI; + else textScrollList -e -si $stores[0] $storeUI; + } + break; + case "-updateSpacing": + int $spacing = `optionVar -ex zooAnimStoreSpacing`? `optionVar -q zooAnimStoreSpacing`: 0; + int $offset = !$spacing? 0: 15; + + shelfLayout -e -st iconAndTextVertical -cwh ($iconSize+$spacing) ($iconSize+$spacing+$offset) $clipLUI; + shelfLayout -e -st iconAndTextVertical -cwh ($iconSize+$spacing) ($iconSize+$spacing+$offset) $clipGUI; + zooAnimStoreWindowFunctions -updateClips; + break; + //deals with refreshing the clip list, both global and local + case "-updateClips": + if( $selStore != "" ) optionVar -sv zooAnimStoreSelectedStore $selStore; + zooAnimStoreWindowFunctions -updateClipsL; + zooAnimStoreWindowFunctions -updateClipsG; + break; + //deals with refreshing the local clip list + case "-updateClipsL": + if( $selStore == "" ) return; + string $search = `textField -q -tx zooStoreUITextFilter`; + string $clipsL_anim[] = `zooListClips $selStore "local" anim`; + string $clipsL_pose[] = `zooListClips $selStore "local" pose`; + string $clipsL_delt[] = `zooListClips $selStore "local" delta`; + string $existingL[] = `shelfLayout -q -ca $clipLUI`; + + if( $search != "" ) $search = `tolower $search`; + for( $ui in $existingL ) deleteUI $ui; + if( $anims ) for( $clipUI in $clipsL_anim ) if( `match $search (tolower($clipUI))` != "" || strip($search) == "" ) zooAddClipToUI $clipLUI $clipUI $selStore "local" anim; + if( $poses ) for( $clipUI in $clipsL_pose ) if( `match $search (tolower($clipUI))` != "" || strip($search) == "" ) zooAddClipToUI $clipLUI $clipUI $selStore "local" pose; + if( $delts ) for( $clipUI in $clipsL_delt ) if( `match $search (tolower($clipUI))` != "" || strip($search) == "" ) zooAddClipToUI $clipLUI $clipUI $selStore "local" delta; + break; + //deals with refreshing the global clip list + case "-updateClipsG": + if( $selStore == "" ) return; + string $search = `textField -q -tx zooStoreUITextFilter`; + string $clipsG_anim[] = `zooListClips $selStore "global" anim`; + string $clipsG_pose[] = `zooListClips $selStore "global" pose`; + string $clipsG_delt[] = `zooListClips $selStore "global" delta`; + string $existingG[] = `shelfLayout -q -ca $clipGUI`; + + if( $search != "" ) $search = `tolower $search`; + for( $ui in $existingG ) deleteUI $ui; + if( $anims ) for( $clipUI in $clipsG_anim ) if( `match $search (tolower($clipUI))` != "" || strip($search) == "" ) zooAddClipToUI $clipGUI $clipUI $selStore "global" anim; + if( $poses ) for( $clipUI in $clipsG_pose ) if( `match $search (tolower($clipUI))` != "" || strip($search) == "" ) zooAddClipToUI $clipGUI $clipUI $selStore "global" pose; + if( $delts ) for( $clipUI in $clipsG_delt ) if( `match $search (tolower($clipUI))` != "" || strip($search) == "" ) zooAddClipToUI $clipGUI $clipUI $selStore "global" delta; + break; + //deals with gathering user info for creating a new store + case "-createStore": + string $ans = `promptDialog -t "store name" -m "Store Name:" -b "Create" -b "Cancel" -db "Create"`; + if( $ans == "Cancel" ) return; + string $name = `promptDialog -q -text`; + zooCreateStore $name; + zooAnimStoreWindowFunctions -updateStores; + break; + case "-createAnimClip_global": + case "-createAnimClip_local": + case "-createPoseClip_global": + case "-createPoseClip_local": + zooAnimStoreWindowFunctions_var $function ""; + break; + //deals with gathering info for a clip rename operation - NOTE because a store exists as both a local + //and a global entity, there is no local and global versions of this proc + case "-renameStore": + string $ans = `promptDialog -t "Rename Store" -text $selStore -m "New Store Name:" -b "Create" -b "Cancel" -db "Create"`; + if( $ans == "Cancel" ) return; + string $name = `promptDialog -q -text`; + + zooRenameStore $selStore $name; + zooAnimStoreWindowFunctions -updateStores; + textScrollList -e -si $name $storeUI; + break; + case "-deleteStore": + string $ans = `confirmDialog -t "Delete Store" -m "Are you sure you want to delete this store?" -b "Yes" -b "Cancel" -db "Cancel"`; + if( $ans == "Cancel" ) return; + + zooDeleteStore $selStore; + zooAnimStoreWindowFunctions -updateStores; + break; + case "-storeApply": + float $val = `floatSlider -q -v zooStoreUIFloatIncrement`; + optionVar -fv zooStoreIncrement $val; + break; + case "-storeConfig": + int $paneSize = zooGetElement_int(0,`paneLayout -q -paneSize zooStoreUIPane`); + optionVar -iv zooAnimStorePane $paneSize; + //paneLayout -e -paneSize 1 75 100 zooStoreUIPane + break; + case "-restoreConfig": + int $paneSize = `optionVar -ex zooAnimStorePane`? `optionVar -q zooAnimStorePane`: 50; + paneLayout -e -paneSize 1 $paneSize 100 zooStoreUIPane; + break; + } + } + + +global proc zooAddClipToUI( string $parent, string $clip, string $store, string $locale, string $type ) { + setParent $parent; + int $iconSize = 60; + string $loc = `zooGetPresetDirectory $locale zooAnimStore`; + string $icon = $loc + $store +"/"+ $clip +"."+ $type +".bmp"; + string $butt = `shelfButton -iol $clip -image $icon -docTag $clip -ann $clip -c( "zooApplyClip \""+ $clip +"."+ $type +"\" \""+ $store +"\" \""+ $locale +"\" 1 0;" )`; + string $popup1 = `popupMenu -p $butt -b 3`; + string $popup2 = `popupMenu -p $butt -b 3 -alt 1`; + + popupMenu -e -pmc( "zooClipPopup \""+ $popup1 +"\" \""+ $locale +"\" \""+ $clip +"\" "+ $type +";" ) $popup1; + popupMenu -e -pmc( "zooApplyClip \""+ $clip +"."+ $type +"\" \""+ $store +"\" \""+ $locale +"\" 1 1;" ) $popup2; + } + + +global proc zooAnimStoreWindowFunctions_var( string $function, string $variable ) { + string $storeUI = "zooStoreUIStores"; + string $checkRigAllUI = "zooStoreUICheckRigAll"; + string $checkCurUI = "zooStoreUICheckCur"; + string $checkRigUI = "zooStoreUICheckRig"; + string $selStore = zooGetElement_str(0,`textScrollList -q -si $storeUI`); + string $locale = "local"; + string $optionStr = "-strip 0 "; + int $world = `checkBox -q -v zooStoreUICheckWS`; + int $parentqss = `checkBox -q -v $checkRigAllUI`; + + switch( $function ) { + //deals with confirmation for deleting clips + case "-deleteClip_global": + $locale = "global"; + case "-deleteClip_local": + string $ans = `confirmDialog -t "you sure?" -m "Are you sure you want to delete this clip?" -b "Yes" -b "Cancel"`; + if( $ans == "Cancel" ) return; + + zooDeleteClip $variable $selStore $locale; + zooAnimStoreWindowFunctions ( "-updateClips"+ ($locale=="local"?"L":"G")); + break; + case "-newIcon_global": + $locale = "global"; + case "-newIcon_local": + string $location = `zooGetPresetDirectory $locale zooAnimStore`; + $location = $location + $selStore +"/"; + print( "new icon created \""+ `zooWriteIcon $variable $location ""` +"\"\n" ); + zooAnimStoreWindowFunctions ( "-updateClips"+ ($locale=="local"?"L":"G")); + break; + //deals with figuring out whether the clip is a pose clip or an anim clip, and re-creates the clip + case "-overwrite_global": + $locale = "global"; //deliberate fallthrough + case "-overwrite_local": + string $location = `zooGetPresetDirectory $locale zooAnimStore`; + string $selStore = zooGetElement_str(0,`textScrollList -q -si $storeUI`); + + $location = $location + $selStore +"/"; + string $filepath = $location +"/"+ $variable +".znm"; + string $header[] = `zooReadAnimFileHeader $filepath`; + string $temp[] = {}; + int $pose = 0; + + $temp = `zooGetFlagArguments $header[3] pose`; if( `size $temp` ) $pose = $temp[0]; + if( $pose ) { + $variable = `substitute ( ".pose$" ) $variable ""`; + zooAnimStoreWindowFunctions_var ( "-createPoseClip_"+ $locale ) $variable; + } + else { + $variable = `substitute ( ".anim$" ) $variable ""`; + zooAnimStoreWindowFunctions_var ( "-createAnimClip_"+ $locale ) $variable; + } + break; + //gathers info from user and deals with creating a new animation clip + case "-createAnimClip_global": + $locale = "global"; //deliberate fallthrough + case "-createAnimClip_local": + string $ans = `promptDialog -t "Create Anim Clip" -m "Clip Name:" -tx $variable -b "Create" -b "Cancel" -db "Create"`; + if( $ans == "Cancel" ) return; + string $name = `promptDialog -q -text`; + string $objs[] = `ls -sl`; + + $name = `zooReplaceChars $name "" "_"`; + if( $world ) $optionStr += " -world 1 "; + if( `checkBox -q -v $checkCurUI` ) $optionStr = $optionStr +" -start "+ `playbackOptions -q -min` +" -end "+ `playbackOptions -q -max`; + if( `checkBox -q -v $checkRigUI` || $parentqss ) { + string $ctrls[] = `zooGetCtrlsFromQss $parentqss`; + if( `size $ctrls` ) select -r $ctrls; + } + zooWriteAnimClip $name $selStore $locale $optionStr; + zooAnimStoreWindowFunctions ( "-updateClips"+ ($locale=="local"?"L":"G")); + break; + //gathers info from user and deals with creating a new pose clip + case "-createPoseClip_global": + $locale = "global"; + case "-createPoseClip_local": + string $selStore = zooGetElement_str(0,`textScrollList -q -si $storeUI`); + string $ans = `promptDialog -t "Create Pose Clip" -m "Clip Name:" -tx $variable -b "Create" -b "Cancel" -db "Create"`; + if( $ans == "Cancel" ) return; + string $name = `promptDialog -q -text`; + + $optionStr += " -world "+ $world; + $name = `zooReplaceChars $name "" "_"`; + if( `checkBox -q -v $checkRigUI` || $parentqss ) { + string $ctrls[] = `zooGetCtrlsFromQss $parentqss`; + if( `size $ctrls` ) select -r $ctrls; + } + zooWritePoseClip $name $selStore $locale $optionStr; + zooAnimStoreWindowFunctions ( "-updateClips"+ ($locale=="local"?"L":"G")); + break; + case "-loadInXfer_global": + $locale = "global"; + case "-loadInXfer_local": + string $location = `zooGetPresetDirectory $locale zooAnimStore`; + if( `checkBox -q -v zooStoreUICheckRig` ) select `zooGetCtrlsFromQss $parentqss`; + zooXferAnim; + zooXferAnimWindowFunctions loadFile ( $location + $selStore +"/"+ $variable +".znm" ); + zooXferAnimWindowFunctions loadTgt n; + break; + } + } + + +global proc zooApplyClip( string $clip, string $store, string $locale, float $nameThreshold, int $incrementOn ) { + string $location = `zooGetPresetDirectory $locale zooAnimStore` + $store +"/"; + string $objs[] = `ls -sl`; + string $opts = ""; + float $increment = `floatSlider -q -v zooStoreUIFloatIncrement`; + int $parentqss = `checkBox -q -v zooStoreUICheckRigAll`; + int $world = `checkBox -q -v zooStoreUICheckWS`; + int $add = `checkBox -q -v zooStoreUICheckAdd`; + int $curAsOffset = `checkBox -q -v zooStoreUICheckOffset`; + int $clearKeys = `checkBox -q -v zooStoreUICheckClearKeys`; + + if( `checkBox -q -v zooStoreUICheckRig` || $parentqss ) { + string $fromQss[] = `zooGetCtrlsFromQss $parentqss`; + if( `size $fromQss` ) $objs = $fromQss; + } + string $optionStr = "-filename "+ $location + $clip +".znm -mode 3 -threshold "+ $nameThreshold +" -world "+ $world +" -additive "+ $add +" -clear "+ $clearKeys; + if( $curAsOffset ) $optionStr += "-offset * "; + if( $incrementOn ) $optionStr += " -increment "+ $increment +" -incrementOn 1 "; + zooXferBlindTransfer $optionStr {} $objs; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooAnimStoreDependencies.mel b/2009-x64/zooScripts/scripts/zooAnimStoreDependencies.mel new file mode 100644 index 0000000..613c9cb --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAnimStoreDependencies.mel @@ -0,0 +1,20 @@ +global proc string[] zooAnimStoreDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAnimFile"; + $melDependencies[( `size $melDependencies` )] = "zooAnimStoreUtils"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooPresetManager"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooXferAnimUtils"; + //$iconDependencies[( `size $iconDependencies` )] = "zooAnimStore.xpm"; + + if( $mode == "-deps" ) return $melDependencies; + if( $mode == "-docs" ) return $helpDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-scripts" ) return $melDependencies; + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooAnimStoreUtils.mel b/2009-x64/zooScripts/scripts/zooAnimStoreUtils.mel new file mode 100644 index 0000000..7874fbf --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAnimStoreUtils.mel @@ -0,0 +1,222 @@ +zooAnimFile; +zooArrays_str; +zooPresetManager; +zooUtils; +zooXferAnimUtils; + + +global proc zooAnimStoreUtils() { + return; + } + + +//******************* +//CLIP FUNCTIONS +//******************* + + +//use zooXferAnim as a base to write, and also read. this proc is basically a +//wrapper for the write process, as it also deals with generating icons +global proc zooWriteAnimClip( string $name, string $store, string $locale, string $optionStr ) { + string $location = `zooGetPresetDirectory $locale zooAnimStore` + $store +"/"; + if( !`filetest -d $location` ) sysFile -makeDir $location; + $name += ".anim"; + zooAnimFileWrite ( $location + $name +".znm" ) $optionStr {}; + string $icon = `zooWriteIcon $name $location ""`; + print( "writing anim clip to: "+ $location +"/\n" ); + } + + +global proc zooWritePoseClip( string $name, string $store, string $locale, string $optionStr ) { + string $location = `zooGetPresetDirectory $locale zooAnimStore` + $store +"/"; + if( !`filetest -d $location` ) sysFile -makeDir $location; + $name += ".pose"; + zooAnimFileWritePose ( $location + $name +".znm" ) $optionStr {}; + string $icon = `zooWriteIcon $name $location ""`; + print( "writing pose clip to: "+ $location +"/\n" ); + } + + +global proc zooRenameClip( string $name, string $store, string $locale, string $newName ) { + string $location = `zooGetPresetDirectory $locale zooAnimStore` + $store +"/"; + print ( "renamed \""+ $location + $newName +"\" \""+ $location + $name +"\"\n" ); + sysFile -rename ( $location + $newName +".znm" ) ( $location + $name +".znm" ); + sysFile -rename ( $location + $newName +".bmp" ) ( $location + $name +".bmp" ); + } + + +global proc zooMoveClip( string $name, string $store, string $locale ) { + string $curLoc = `zooGetPresetDirectory $locale zooAnimStore` + $store +"/"; + string $otherLoc = `zooGetPresetDirectory "global" zooAnimStore`; + + if( $locale == "global" ) $otherLoc = `zooGetPresetDirectory "local" zooAnimStore`; + $otherLoc = $otherLoc + $store +"/"; + if( !`filetest -d $otherLoc` ) sysFile -makeDir $otherLoc; + sysFile -move ( $otherLoc + $name +".znm" ) ( $curLoc + $name +".znm" ); + sysFile -move ( $otherLoc + $name +".bmp" ) ( $curLoc + $name +".bmp" ); + } + + +global proc zooCopyClip( string $name, string $store, string $locale ) { + string $curLoc = `zooGetPresetDirectory $locale zooAnimStore` + $store +"/"; + string $otherLoc = `zooGetPresetDirectory "global" zooAnimStore`; + + if( $locale == "global" ) $otherLoc = `zooGetPresetDirectory "local" zooAnimStore`; + $otherLoc = $otherLoc + $store +"/"; + if( !`filetest -d $otherLoc` ) sysFile -makeDir $otherLoc; + sysFile -copy ( $otherLoc + $name +".znm" ) ( $curLoc + $name +".znm" ); + sysFile -copy ( $otherLoc + $name +".bmp" ) ( $curLoc + $name +".bmp" ); + } + + +global proc zooDeleteClip( string $name, string $store, string $locale ) { + string $location = `zooGetPresetDirectory $locale zooAnimStore`; + print( "deleted \""+ $location + $store +"/"+ $name +"\"\n" ); + sysFile -delete ( $location + $store +"/"+ $name +".znm" ); + sysFile -delete ( $location + $store +"/"+ $name +".bmp" ); + } + + +global proc string[] zooListClips( string $store, string $locale, string $type ) { + string $loc = `zooGetPresetDirectory $locale zooAnimStore`; + string $clips[] = `zooGetFiles ( $loc + $store +"/" ) ( "*."+ $type +".znm" )`; + int $num = `size $clips`; + + for( $n=0; $n<$num; $n++ ) $clips[$n] = `match "^[^.]+" $clips[$n]`; + + return $clips; + } + + +proc string[] zooListClips_adv( string $store, string $locale, string $type ) { + string $loc = `zooGetPresetDirectory $locale zooAnimStore`; + string $clips[] = `zooGetFiles ( $loc + $store +"/" ) ( "*.znm" )`; + string $clipsOfType[] = {}; + int $num = `size $clips`; + + for( $n=0; $n<$num; $n++ ) { + string $header[] = `zooReadAnimFileHeader ( $loc + $store +"/"+ $clips[$n] )`; + string $optionStr = $header[3]; + string $temp[] = {}; + int $typeAns = 0; + + $temp = `zooGetFlagArguments $optionStr $type`; if( `size $temp` ) $typeAns = $temp[0]; + if( $typeAns ) $clipsOfType[`size $clipsOfType`] = `substitute ".znm$" $clips[$n] ""`; + } + + return $clipsOfType; + } + + +global proc string[] zooGetCtrlsFromQss( int $parent ) { + string $sel[] = `ls -sl`; + if( !`size $sel` ) return {}; + string $sets[] = `listConnections -type objectSet`; + if( $parent ) if( `size $sets` ) $sets = `listConnections -type objectSet $sets`; + if( !`size $sets` ) return {}; + select $sets; //distinctly non-elegant, but there is no easy way to recurively query members of a set (ie members of all subsets). selecting the set and listing selection is the easiest way - but ugly + string $objs[] = `ls -sl`; + return $objs; + } + + +//creates the icon for a clip. the $panel arg enables forcing of the panel from +//which to capture from. if blank, uses panel with focus +//NOTE - panel variable isn't implemented - so... just leave it blank always +//the playblast command doesn't support panel specification - it always uses the +//panel with focus +global proc string zooWriteIcon( string $name, string $location, string $panel ) { + if( $panel == "" ) $panel = `zooGetMostLikelyModelView`; + if( $panel == "" ) return ""; + + //store some initial settings, change them to what is required, and then restored at the very end + string $settings[] = { "-df","-cv","-ca","-lt","-ha","-dim","-pv","-ikh","-j","-dy" }; + int $imgFormat = `getAttr "defaultRenderGlobals.imageFormat"` ; // Store for reset later + int $states[] = {}; + + setAttr "defaultRenderGlobals.imageFormat" 20; + for( $n=0; $n<`size $settings`; $n++ ) $states[$n] = eval("modelEditor -q "+ $settings[$n] +" "+ $panel +";"); + for( $n=0; $n<`size $settings`; $n++ ) eval("modelEditor -e "+ $settings[$n] +" 0 "+ $panel +";"); + + float $time = `currentTime -q`; + string $icon = `playblast -st $time -et $time -w 60 -h 60 -fo -fmt "image" -v 0 -p 100 -orn 0 -cf ( $location + $name +".bmp" )`; //-os offscreen capture - doesn't work on all video cards + + if( `filetest -r $icon` ) sysFile -rename ( $location +"/"+ $name +".bmp" ) $icon; + setAttr "defaultRenderGlobals.imageFormat" $imgFormat; + + //restore viewport settings + for( $n=0; $n<`size $settings`; $n++ ) eval("modelEditor -e "+ $settings[$n] +" "+ $states[$n] +" "+ $panel +";"); + + return $icon; + } + + +global proc string zooGetMostLikelyModelView() { + string $cur = `getPanel -wf`; + string $curType = `getPanel -to $cur`; + + if( $curType == "modelPanel" ) return $cur; + string $visPanels[] = `getPanel -vis`; + for( $p in $visPanels ) if( `getPanel -to $p` == "modelPanel" ) return $p; + + return ""; + } + + +//******************* +//STORE FUNCTIONS +//******************* + + +//stores exist in both the local and global repository - in order to make clips a little easier to use and share +//a clip exists in a store, and can be in either the local repository, or the global one. by default a clip is +//created locally. a user can easily move a clip to the global repository for that store. by having stores exist +//in both the local and global spaces, users simply need to remember the clip name, and the store they saved it in +//and it should be very easy to then find that clip, whether it be local or global +global proc string[] zooCreateStore( string $name ) { + string $locL = `zooGetPresetDirectory "local" zooAnimStore`; + string $locG = `zooGetPresetDirectory "global" zooAnimStore`; + + sysFile -makeDir ( $locL + $name ); + sysFile -makeDir ( $locG + $name ); + return {( $locL + $name ), ( $locG + $name )}; + } + + +global proc string[] zooListStores( string $locale ) { + string $loc = `zooGetPresetDirectory $locale zooAnimStore`; + string $stores[] = `zooGetSubDirs $loc 0`; + + return $stores; + } + + +global proc zooRenameStore( string $name, string $newName ) { + string $locL = `zooGetPresetDirectory "local" zooAnimStore`; + string $locG = `zooGetPresetDirectory "global" zooAnimStore`; + + sysFile -rename ( $locL + $newName ) ( $locL + $name ); + sysFile -rename ( $locG + $newName ) ( $locG + $name ); + print( $name +" store renamed to "+ $newName +"\n" ); + } + + +global proc zooDeleteStore( string $name ) { + string $locL = `zooGetPresetDirectory "local" zooAnimStore` + $name +"/"; + string $locG = `zooGetPresetDirectory "global" zooAnimStore` + $name +"/"; + + //sysFile doesn't delete directories, so we must resort to system commands - hence we need an NT path and a *nix path + if( `about -nt` ) { + //the windows directory deletion commands + print(system( "rd /s/q \""+ `toNativePath $locL` +"\"" ) +"\n"); + print(system( "rd /s/q \""+ `toNativePath $locG` +"\"" ) +"\n"); + } + else { + print(system("rm -fdr "+ $locL + $name) +"\n"); + } + print( $name +" store deleted\n" ); + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooArrays_float.mel b/2009-x64/zooScripts/scripts/zooArrays_float.mel new file mode 100644 index 0000000..e0bc71d --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooArrays_float.mel @@ -0,0 +1,308 @@ +global proc zooArrays_float() { + return; + } + + +//------ +//pads a given number with a given character to a given length +//------ +global proc string zooPadBefore_float( float $number, int $length, string $with ) { + string $numberStr = $number; + if( `size $numberStr` >= $length ) return `substring $numberStr 1 $length`; + while( `size $numberStr` < $length ) $numberStr = $with + $numberStr; + return $numberStr; + } + + +global proc string zooPadAfter_float( float $number, int $length, string $with ) { + string $numberStr = $number; + if( `size $numberStr` >= $length ) return `substring $numberStr 1 $length`; + while( `size $numberStr` < $length ) $numberStr = $numberStr + $with; + return $numberStr; + } + + +global proc string zooArrayToStr_float( float $array[], string $separator ) { + string $arrayStr = ""; + int $num = `size $array`; + + if( $num<2 ) return $array[0]; + for( $n=0; $n<$num-1; $n++ ) $arrayStr += $array[$n] + $separator; + $arrayStr += $array[( $num-1 )]; + + return $arrayStr; + } + + +global proc int zooAreArraysEqual_float( float $array1[], float $array2[], int $precision ) { + int $size1 = `size $array1`; + int $size2 = `size $array2`; + + if( $size1 != $size2 ) return 0; + for( $n=0; $n<$size1; $n++ ) if( `zooRoundFloatTo $array1[$n] $precision` != `zooRoundFloatTo $array2[$n] $precision` ) return 0; + return 1; + } + + +//------ +//removes the array element at the given index - returns the resulting array +//------ +global proc float[] zooRemoveArrayIdx_float( float $array[], int $index ) { + float $removed[] = {}; + for( $n=0; $n<`size $array`; $n++ ) { + if( $n == $index ) continue; + $removed[( `size $removed` )] = $array[$n]; + } + + return $removed; + } + + +global proc float[] zooAddArrayAt_float( float $array1[], float $array2[], int $idx ) { + float $newArray[] = {}; + int $size = `size $array1`; + int $n = 0; + + for( $n=0; $n<$size; $n++ ) { + if( $n >= $idx ) break; + $newArray[$n] = $array1[$n]; + } + + for( $a in $array2 ) $newArray[( `size $newArray` )] = $a; + for( $n; $n<$size; $n++ ) $newArray[( `size $newArray` )] = $array1[$n]; + + return $newArray; + } + + +//------ +//returns the given element of an array - use negative numbers to get elements +//starting from the end of the array +// +//example: +//zooGetElement_float { 1.0, 2.0, 3.0, 4.0, 5.0 } -2; +//returns 4.0 as it is the second element from the end +//------ +global proc float zooGetElement_float( int $entry, float $array[] ) { + int $size = `size $array`; + if( $entry<0 ) $entry = $size + $entry; + if( $entry>0 && $entry<$size ) return $array[$entry]; + else return $array[0]; + } + + +global proc int zooGetIdxOfElement_float( float $array[], float $entry ) { + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $entry ) return $n; + return -1; + } + + +//removes all adjacent duplicate entries from an array +global proc float[] zooRemoveAdjacentDupeItems_float( float $array[] ) { + float $returnArray[] = {}; + float $prevVal = $array[0]; + + $returnArray[0] = $array[0]; + for( $n=1; $n<`size $array`; $n++ ) { + if( $prevVal != $array[$n] ) $returnArray[( `size $returnArray` )] = $array[$n]; + $prevVal = $array[$n]; + } + + return $returnArray; + } + + +global proc float[] zooRemoveDupeItems_float( float $array[] ) { + float $unique[] = { $array[0] }; + int $arraySZ = `size $array`; + + for( $n=1; $n<$arraySZ; $n++ ) { + int $uniqueSZ = `size $unique`; + int $dupe = 0; + + for( $i=0; $i<$uniqueSZ; $i++ ) if( $array[$n] == $unique[$i] ) { + $dupe = 1; + break; + } + if( !$dupe ) $unique[$uniqueSZ] = $array[$n]; + } + + return $unique; + } + + +//adds array2 to the end of array1 +global proc float[] zooAddArray_float( float $array1[], float $array2[] ) { + for( $entry in $array2 ) $array1[( `size $array1` )] = $entry; + return $array1; + } + + +//subtracts array 2 from array 1 +global proc float[] zooSubtractArray_float( float $array1[], float $array2[] ) { + float $returnArray[] = {}; + for( $entry1 in $array1 ){ + int $isInArray = 0; + for( $entry2 in $array2 ) if( $entry1 == $entry2 ) $isInArray = 1; + if( !$isInArray ) $returnArray[( `size $returnArray` )] = $entry1; + } + + return $returnArray; + } + + +//reverses the order of an array +global proc float[] zooReverseArray_float( float $array[] ){ + float $reversedArray[] = {}; + int $arraySize = `size $array`; + + for( $n=0; $n<$arraySize; $n++ ) $reversedArray[( $arraySize-1-$n )] = $array[$n]; + return $reversedArray; + } + + +//------ +//crops a string array based on a given pair of indicies. +//The indicies take the form: "start:end" + +//Neither numbers have to be specified, you can leave them blank instead. Leaving them blank +//causes the script to use defaults. the start default is zero, and the end default is the final +//index in the given array. so zooIndexCrop_string { "a", "b", "c", "d" } ""; will return the +//original array. +// +//You can also specify negative numbers for the end index. Negative numbers specify the index +//"backwards" from the final index. +//example: +//zooIndexCrop_float { 1.0, 2.0, 3.0, 4.0 } ":-2"; +//{ 1.0, 2.0 }; +// +//zooIndexCrop_string { 1.0, 2.0, 3.0, 4.0 } "1:-1"; +//{ 2.0, 3.0 }; +//------ +global proc float[] zooIndexCrop_float( float $array[], string $startEndStr ) { + float $cropped[] = {}; + string $startStr = `match "^[^:]+" $startEndStr`; + string $endStr = `match "[^:]+$" $startEndStr`; + int $size = `size $array`; + int $start = 0; + int $end = $size; + + $startStr = `match "[-0-9]+" $startStr`; + $endStr = `match "[-0-9]+" $endStr`; + if( `size $startStr` ) $start = $startStr; + if( `size $endStr` ) $end = $endStr; + if( $start<0 ) $start = $size+$start; + if( $end<0 ) $end = $size+$end; + for( $n=$start; $n<$end; $n++ ) $cropped[( `size $cropped` )] = $array[$n]; + + return $cropped; + } + + +//takes an array, and a max and min value and returns a cropped array - ie all values in the returned array lie inclusively between the max and min values +global proc float[] zooCropArray_float( float $array[], float $min, float $max ) { + float $cropped[] = {}; + for( $entry in $array ) if( $entry >= $min && $entry <= $max ) $cropped[( `size $cropped` )] = $entry; + return $cropped; + } + + +//------ +//returns the index of the lowest value in an int array +//------ +global proc int zooGetLowestValueIdx_float( float $array[] ) { + if( !`size $array` ) return 0; + float $sorted[] = `sort $array`; + float $lowest = $sorted[0]; + + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $lowest ) return $n; + } + + +//------ +//returns the index of the highest value in a float array +//------ +global proc int zooGetHighestValueIdx_float( float $array[] ) { + if( !`size $array` ) return 0; + float $sorted[] = `sort $array`; + float $highest = $sorted[(`size $sorted`-1)]; + + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $highest ) return $n; + } + + +//------ +//returns the index for the highest _absolute_ value in the array +//------ +global proc int zooGetBiggestValueIdx_float( float $array[] ) { + if( !`size $array` ) return 0; + float $abs[] = {}; + for( $n=0; $n<`size $array`; $n++ ) $abs[$n] = abs($array[$n]); + return `zooGetHighestValueIdx_float $abs`; + } + + +global proc float[] zooAddArrayAfter_float( float $array1[], float $array2[], int $idx ) { + float $newArray[] = {}; + int $size = `size $array1`; + int $n = 0; + + for( $n=0; $n<$size; $n++ ) { + if( $n > $idx ) break; + $newArray[$n] = $array1[$n]; + } + + for( $a in $array2 ) $newArray[( `size $newArray` )] = $a; + for( $n; $n<$size; $n++ ) $newArray[( `size $newArray` )] = $array1[$n]; + + return $newArray; + } + + +global proc float zooAverageArray_float( float $array[] ) { + float $average = 0; + float $total = 0; + int $num = `size $array`; + + if( !$num ) return 0.; + for( $n=0; $n<$num; $n++ ) $total += $array[$n]; + $average = (float)$total/(float)$num; + return $average; + } + + +global proc float[] zooNormaliseArray( float $array[] ) { + int $divisorIdx = `zooGetHighestValueIdx_float $array`; + float $divisor = $array[$divisorIdx]; + float $normArray[] = $array; + int $num = `size $array`; + + if( !$num ) return $array; + for( $n=0; $n<$num; $n++ ) $normArray[$n] /= $divisor; + return $normArray; + } + + +//------ +//given an array of floats, this proc will return an array normalised to a given number +//example: +//zooNormaliseArraySum { 1, 2, 3 } 1; +//returns { 0.166667 0.333333 0.5 } +//------ +global proc float[] zooNormaliseArraySum( float $array[], float $normaliseTo ) { + float $total = 0; + float $normFactor = 0; + float $normArray[] = $array; + int $num = `size $array`; + + if( !$num ) return $array; + for( $n=0; $n<$num; $n++ ) $total += $array[$n]; + if( $total == $normaliseTo ) return $array; + $normFactor = $normaliseTo/$total; + for( $n=0; $n<$num; $n++ ) $normArray[$n] *= $normFactor; + return $normArray; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooArrays_int.mel b/2009-x64/zooScripts/scripts/zooArrays_int.mel new file mode 100644 index 0000000..72059c2 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooArrays_int.mel @@ -0,0 +1,288 @@ +global proc zooArrays_int() { + return; + } + + +//------ +//pads a given number with a given character to a given length +//------ +global proc string zooPadBefore_int( int $number, int $length, string $with ) { + string $numberStr = $number; + if( `size $numberStr` >= $length ) return `substring $numberStr 1 $length`; + while( `size $numberStr` < $length ) $numberStr = $with + $numberStr; + return $numberStr; + } + + +global proc string zooPadAfter_int( int $number, int $length, string $with ) { + string $numberStr = $number; + if( `size $numberStr` >= $length ) return `substring $numberStr 1 $length`; + while( `size $numberStr` < $length ) $numberStr = $numberStr + $with; + return $numberStr; + } + + +global proc string zooArrayToStr_int( int $array[], string $separator ) { + string $arrayStr = ""; + int $num = `size $array`; + + if( $num<2 ) return $array[0]; + for( $n=0; $n<$num-1; $n++ ) $arrayStr += $array[$n] + $separator; + $arrayStr += $array[( $num-1 )]; + + return $arrayStr; + } + + +global proc int zooAreArraysEqual_int( int $array1[], int $array2[] ) { + int $size1 = `size $array1`; + int $size2 = `size $array2`; + + if( $size1 != $size2 ) return 0; + for( $n=0; $n<$size1; $n++ ) if( $array1[$n] != $array2[$n] ) return 0; + return 1; + } + + +//------ +//removes the array element at the given index - returns the resulting array +//------ +global proc int[] zooRemoveArrayIdx_int( int $array[], int $index ) { + int $removed[] = {}; + for( $n=0; $n<`size $array`; $n++ ) { + if( $n == $index ) continue; + $removed[( `size $removed` )] = $array[$n]; + } + + return $removed; + } + + +global proc int[] zooAddArrayAt_int( int $array1[], int $array2[], int $idx ) { + int $newArray[] = {}; + int $size = `size $array1`; + int $n = 0; + + for( $n=0; $n<$size; $n++ ) { + if( $n >= $idx ) break; + $newArray[$n] = $array1[$n]; + } + + for( $a in $array2 ) $newArray[( `size $newArray` )] = $a; + for( $n; $n<$size; $n++ ) $newArray[( `size $newArray` )] = $array1[$n]; + + return $newArray; + } + + +//------ +//returns the given element of an array - use negative numbers to get elements +//starting from the end of the array +// +//example: +//zooGetElement_int { 1, 2, 3, 4, 5 } -2; +//returns 4 as it is the second element from the end +//------ +global proc int zooGetElement_int( int $entry, int $array[] ) { + int $size = `size $array`; + if( $entry<0 ) $entry = $size + $entry; + if( $entry>0 && $entry<$size ) return $array[$entry]; + else return $array[0]; + } + + +global proc int zooGetIdxOfElement_int( int $array[], int $entry ) { + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $entry ) return $n; + return -1; + } + + +//removes all adjacent duplicate entries from an array +global proc int[] zooRemoveAdjacentDupeItems_int( int $array[] ) { + int $returnArray[] = {}; + int $prevVal = $array[0]; + + $returnArray[0] = $array[0]; + for( $n = 1; $n < `size $array`; $n++ ) { + if( $prevVal != $array[$n] ) $returnArray[( `size $returnArray` )] = $array[$n]; + $prevVal = $array[$n]; + } + + return $returnArray; + } + + +global proc int[] zooRemoveDupeItems_int( int $array[] ) { + int $unique[] = { $array[0] }; + int $arraySZ = `size $array`; + + for( $n=1; $n<$arraySZ; $n++ ) { + int $uniqueSZ = `size $unique`; + int $dupe = 0; + + for( $i=0; $i<$uniqueSZ; $i++ ) if( $array[$n] == $unique[$i] ) { + $dupe = 1; + break; + } + if( !$dupe ) $unique[$uniqueSZ] = $array[$n]; + } + + return $unique; + } + + +//adds array2 to the end of array1 +global proc int[] zooAddArray_int( int $array1[], int $array2[] ) { + for( $entry in $array2 ) $array1[( `size $array1` )] = $entry; + return $array1; + } + + +//subtracts array 2 from array 1 +global proc int[] zooSubtractArray_int( int $array1[], int $array2[] ) { + int $returnArray[] = {}; + for( $entry1 in $array1 ){ + int $isInArray = 0; + for( $entry2 in $array2 ) if( $entry1 == $entry2 ) $isInArray = 1; + if( !$isInArray ) $returnArray[( `size $returnArray` )] = $entry1; + } + + return $returnArray; + } + + +//reverses the order of an array +global proc int[] zooReverseArray_int( int $array[] ){ + int $reversedArray[] = {}; + int $arraySize = `size $array`; + + for( $n=0; $n<$arraySize; $n++ ) $reversedArray[( $arraySize-1-$n )] = $array[$n]; + return $reversedArray; + } + + +//------ +//crops a string array based on a given pair of indicies. +//The indicies take the form: "start:end" + +//Neither numbers have to be specified, you can leave them blank instead. Leaving them blank +//causes the script to use defaults. the start default is zero, and the end default is the final +//index in the given array. so zooIndexCrop_string { "a", "b", "c", "d" } ""; will return the +//original array. +// +//You can also specify negative numbers for the end index. Negative numbers specify the index +//"backwards" from the final index. +//example: +//zooIndexCrop_int { 1, 2, 3, 4 } ":-2"; +//{ 1, 2 }; +// +//zooIndexCrop_string { 1, 2, 3, 4 } "1:-1"; +//{ 2, 3 }; +//------ +global proc int[] zooIndexCrop_int( int $array[], string $startEndStr ) { + int $cropped[] = {}; + string $startStr = `match "^[^:]+" $startEndStr`; + string $endStr = `match "[^:]+$" $startEndStr`; + int $size = `size $array`; + int $start = 0; + int $end = $size; + + $startStr = `match "[-0-9]+" $startStr`; + $endStr = `match "[-0-9]+" $endStr`; + if( `size $startStr` ) $start = $startStr; + if( `size $endStr` ) $end = $endStr; + if( $start<0 ) $start = $size+$start; + if( $end<0 ) $end = $size+$end; + for( $n=$start; $n<$end; $n++ ) $cropped[( `size $cropped` )] = $array[$n]; + + return $cropped; + } + + +//------ +//orders the given string array based on an int array +//example: +//zooOrderArrayUsing { "a", "b", "c", "d" } { 3, 0, 1, 2 }; +//returns the result: +// { "b", "c", "d", "a" }; +//------ +global proc int[] zooOrderArrayUsing_int( int $array[], int $orders[] ) { + if( `size $array` != `size $orders` ) warning "the given string array is a different size to the orders array - unwanted results may occur"; + int $ordered[] = {}; + int $arrayM[] = $array; //this is a copy of the given string array that will get modified - arrays are referenced so this is nessecary + int $ordersM[] = $orders; + + while( `size $arrayM` && `size $ordersM` ) { + int $lowest = `zooGetLowestValueIdx_int $ordersM`; + $ordered[( `size $ordered` )] = $arrayM[$lowest]; + $arrayM = `zooRemoveArrayIdx_int $arrayM $lowest`; + $ordersM = `zooRemoveArrayIdx_int $ordersM $lowest`; + } + + return $ordered; + } + + +//takes an array, and a max and min value and returns a cropped array - ie all values in the returned array lie inclusively between the max and min values +global proc int[] zooCropArray_int( int $array[], int $min, int $max ) { + int $cropped[] = {}; + for( $entry in $array ) if( $entry >= $min && $entry <= $max ) $cropped[( `size $cropped` )] = $entry; + return $cropped; + } + + +//------ +//returns the index of the lowest value in an array +//------ +global proc int zooGetLowestValueIdx_int( int $array[] ) { + if( !`size $array` ) return 0; + int $sorted[] = `sort $array`; + int $lowest = $sorted[0]; + + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $lowest ) return $n; + } + + +//------ +//returns the index of the highest value in an array +//------ +global proc int zooGetHighestValueIdx_int( int $array[] ) { + if( !`size $array` ) return 0; + int $sorted[] = `sort $array`; + int $highest = $sorted[(`size $sorted`-1)]; + + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $highest ) return $n; + } + + +global proc int[] zooAddArrayAfter_int( int $array1[], int $array2[], int $idx ) { + int $newArray[] = {}; + int $size = `size $array1`; + int $n = 0; + + for( $n=0; $n<$size; $n++ ) { + if( $n > $idx ) break; + $newArray[$n] = $array1[$n]; + } + + for( $a in $array2 ) $newArray[( `size $newArray` )] = $a; + for( $n; $n<$size; $n++ ) $newArray[( `size $newArray` )] = $array1[$n]; + + return $newArray; + } + + +global proc float zooAverageArray_int( int $array[] ) { + float $average = 0; + int $total = 0; + int $num = `size $array`; + + if( !$num ) return 0.; + for( $n=0; $n<$num; $n++ ) $total += $array[$n]; + $average = (float)$total/(float)$num; + return $average; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooArrays_str.mel b/2009-x64/zooScripts/scripts/zooArrays_str.mel new file mode 100644 index 0000000..46ce473 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooArrays_str.mel @@ -0,0 +1,439 @@ +zooArrays_int; +zooUtils; + + +global proc zooArrays_str() { + return; + } + + +//------ +//pads a given string with a given character to a given length +//------ +global proc string zooPadBefore_str( string $string, int $length, string $with ) { + if( `size $string` >= $length ) return `substring $string 1 $length`; + while( `size $string` < $length ) $string = $with + $string; + return $string; + } + + +global proc string zooPadAfter_str( string $string, int $length, string $with ) { + if( `size $string` >= $length ) return `substring $string 1 $length`; + while( `size $string` < $length ) $string = $string + $with; + return $string; + } + + +global proc string zooArrayToStr_str( string $array[], string $separator ) { + string $arrayStr = ""; + int $num = `size $array`; + + if( $num<2 ) return $array[0]; + for( $n=0; $n<$num-1; $n++ ) $arrayStr += $array[$n] + $separator; + $arrayStr += $array[( $num-1 )]; + + return $arrayStr; + } + + +global proc int zooAreArraysEqual_str( string $array1[], string $array2[] ) { + int $size1 = `size $array1`; + int $size2 = `size $array2`; + + if( $size1 != $size2 ) return 0; + for( $n=0; $n<$size1; $n++ ) if( $array1[$n] != $array2[$n] ) return 0; + return 1; + } + + +//------ +//removes the array element at the given index - returns the resulting array +//------ +global proc string[] zooRemoveArrayIdx_str( string $array[], int $index ) { + string $removed[] = {}; + for( $n=0; $n<`size $array`; $n++ ) { + if( $n == $index ) continue; + $removed[( `size $removed` )] = $array[$n]; + } + + return $removed; + } + + +global proc string[] zooAddArrayAt_str( string $array1[], string $array2[], int $idx ) { + string $newArray[] = {}; + int $size = `size $array1`; + int $n = 0; + + for( $n=0; $n<$size; $n++ ) { + if( $n >= $idx ) break; + $newArray[$n] = $array1[$n]; + } + + for( $a in $array2 ) $newArray[( `size $newArray` )] = $a; + for( $n; $n<$size; $n++ ) $newArray[( `size $newArray` )] = $array1[$n]; + + return $newArray; + } + + +//------ +//returns the given element of an array - use negative numbers to get elements +//starting from the end of the array +// +//example: +//zooGetElement_int { "a", "b", "c", "d", "e" } -2; +//returns "d" as it is the second element from the end +//------ +global proc string zooGetElement_str( int $entry, string $array[] ) { + int $size = `size $array`; + if( $entry<0 ) $entry = $size + $entry; + if( $entry>0 && $entry<$size ) return $array[$entry]; + else return $array[0]; + } + + +global proc int zooGetIdxOfElement_str( string $array[], string $entry ) { + for( $n=0; $n<`size $array`; $n++ ) if( $array[$n] == $entry ) return $n; + return -1; + } + + +//removes all adjacent duplicate entries from an array +global proc string[] zooRemoveAdjacentDupeItems_str( string $array[] ) { + string $returnArray[] = {}; + string $prevVal = $array[0]; + + $returnArray[0] = $array[0]; + for( $n=1; $n < `size $array`; $n++ ) { + if( $prevVal != $array[$n] ) $returnArray[( `size $returnArray` )] = $array[$n]; + $prevVal = $array[$n]; + } + + return $returnArray; + } + + +global proc string[] zooRemoveDupeItems_str( string $array[] ) { + string $unique[] = { $array[0] }; + int $arraySZ = `size $array`; + + for( $n=1; $n<$arraySZ; $n++ ) { + int $uniqueSZ = `size $unique`; + int $dupe = 0; + + for( $i=0; $i<$uniqueSZ; $i++ ) if( $array[$n] == $unique[$i] ) { + $dupe = 1; + break; + } + if( !$dupe ) $unique[$uniqueSZ] = $array[$n]; + } + + return $unique; + } + + +//adds array2 to the end of array1 +global proc string[] zooAddArray_str( string $array1[], string $array2[] ) { + for( $entry in $array2 ) $array1[( `size $array1` )] = $entry; + return $array1; + } + + +//subtracts array 2 from array 1 +global proc string[] zooSubtractArray_str( string $array1[], string $array2[] ) { + string $returnArray[] = {}; + for( $entry1 in $array1 ){ + int $isInArray = 0; + for( $entry2 in $array2 ) if( $entry1 == $entry2 ) $isInArray = 1; + if( !$isInArray ) $returnArray[( `size $returnArray` )] = $entry1; + } + + return $returnArray; + } + + +//reverses the order of an array +global proc string[] zooReverseArray_str( string $array[] ){ + string $reversedArray[] = {}; + int $arraySize = `size $array`; + + for( $n=0; $n<$arraySize; $n++ ) $reversedArray[( $arraySize-1-$n )] = $array[$n]; + return $reversedArray; + } + + +//------ +//crops a string array based on a given pair of indicies. +//The indicies take the form: "start:end" + +//Neither numbers have to be specified, you can leave them blank instead. Leaving them blank +//causes the script to use defaults. the start default is zero, and the end default is the final +//index in the given array. so zooIndexCrop_str { "a", "b", "c", "d" } ""; will return the +//original array. +// +//You can also specify negative numbers for the end index. Negative numbers specify the index +//"backwards" from the final index. +//example: +//zooIndexCrop_str { "a", "b", "c", "d" } ":-2"; +//{ "a", "b" }; +// +//zooIndexCrop_str { "a", "b", "c", "d" } "1:-1"; +//{ "b", "c" }; +//------ +global proc string[] zooIndexCrop_str( string $array[], string $startEndStr ) { + string $cropped[] = {}; + string $startStr = `match "^[^:]+" $startEndStr`; + string $endStr = `match "[^:]+$" $startEndStr`; + int $size = `size $array`; + int $start = 0; + int $end = $size; + + $startStr = `match "[-0-9]+" $startStr`; + $endStr = `match "[-0-9]+" $endStr`; + if( `size $startStr` ) $start = $startStr; + if( `size $endStr` ) $end = $endStr; + if( $start<0 ) $start = $size+$start; + if( $end<0 ) $end = $size+$end; + for( $n=$start; $n<$end; $n++ ) $cropped[( `size $cropped` )] = $array[$n]; + + return $cropped; + } + + +//------ +//returns an int array with a list of alphabetical weights corresponding to an +//input string array. the int array can be passed to the re-ordering proc: +//zooOrderArrayUsing_* (ie zooOrderArrayUsing_str) +//------ +global proc int[] zooGetAlphabeticalIdx( string $list[] ) { + string $alphabet[] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; + int $weights[] = {}; + int $num = `size $list`; + + for( $n=0; $n<$num; $n++ ) { + string $lower = `tolower $list[$n]`; + string $str1, $str2, $str3; + int $w1, $w2, $w3; + + $str1 = `substring $lower 1 1`; + $str2 = `substring $lower 2 2`; + $str3 = `substring $lower 3 3`; + for( $i=0; $i<26; $i++ ) if( $str1 == $alphabet[$i] ) { $w1 = $i; break; } + for( $i=0; $i<26; $i++ ) if( $str2 == $alphabet[$i] ) { $w2 = $i; break; } + for( $i=0; $i<26; $i++ ) if( $str3 == $alphabet[$i] ) { $w3 = $i; break; } + + $w1 *= (pow(26,3)); + $w2 *= (pow(26,2)); + $weights[$n] = $w1 + $w2 + $w3; + if( $lower != $list[$n] ) $weights[$n] += 1; + } + + return $weights; + } + + +//------ +//orders the given string array based on an int array +//example: +//zooOrderArrayUsing { "a", "b", "c", "d" } { 3, 0, 1, 2 }; +//returns the result: +// { "b", "c", "d", "a" }; +//------ +global proc string[] zooOrderArrayUsing_str( string $array[], int $orders[] ) { + if( `size $array` != `size $orders` ) warning "the given string array is a different size to the orders array - unwanted results may occur"; + string $orderedStr[] = {}; + string $arrayM[] = $array; //this is a copy of the given string array that will get modified - arrays are referenced so this is nessecary + int $ordersM[] = $orders; + + while( `size $arrayM` && `size $ordersM` ) { + int $lowest = `zooGetLowestValueIdx_int $ordersM`; + $orderedStr[( `size $orderedStr` )] = $arrayM[$lowest]; + $arrayM = `zooRemoveArrayIdx_str $arrayM $lowest`; + $ordersM = `zooRemoveArrayIdx_int $ordersM $lowest`; + } + + return $orderedStr; + } + + +//------ +//is essentially a wrapper for the stringArrayIntersector function in maya - however +//this proc is easier to use and is a one line solution +//------ +global proc string[] zooIntersectArray_str( string $array1[], string $array2[] ) { + string $comparator = `stringArrayIntersector`; + + stringArrayIntersector -e -i $array1 $comparator; + stringArrayIntersector -e -i $array2 $comparator; + + string $common[] = `stringArrayIntersector -q $comparator`; + deleteUI $comparator; + + return $common; + } + + +/* +takes an array of entries (as in array indicies), and shifts them in the direction specified. +------------ + +example: zooUtilsReorderArray { "a,"b","c","d","e" } {3,4} up +produces the resulting array: { a,c,d,b,e } + +example: zooUtilsReorderArray { "a,"b","c","d","e" } {1,2,5} up +produces the resulting array: { b,c,e,d,a } +*/ +global proc string[] zooReorderArray_str( string $array[], int $entries[], string $dir ) { + string $newArray[] = $array; + int $gaps[] = {}; + int $be; + + $entries = `sort $entries`; + $gaps[0] = $entries[0]; + for( $n = 0; $n < `size $entries`-1; $n++ ) if( $entries[$n]+1 != $entries[( $n+1 )] ) { + $gaps[( `size $gaps` )] = $entries[$n]; + $gaps[( `size $gaps` )] = $entries[( $n+1 )]; + } + $gaps[( `size $gaps` )] = $entries[( `size $entries`-1 )]; + + for( $n = 0; $n < `size $gaps`; $n+=2 ) if( $dir == "up" ) $newArray = `zooArrayShiftUp_str $newArray $gaps[$n] $gaps[( $n+1 )]`; + for( $n = 0; $n < `size $gaps`; $n+=2 ) if( $dir == "down" ) $newArray = `zooArrayShiftDown_str $newArray $gaps[$n] $gaps[( $n+1 )]`; + + return $newArray; + } + + +//shifts entries inclusive from the start index, to the end index up (ie towards zero) in an array +global proc string[] zooArrayShiftUp_str( string $array[], int $startIndex, int $endIndex ) { + string $newArray[]; + int $displaced = $startIndex-1; + int $num = ( $endIndex-$startIndex )+1; + + if( $startIndex == 0 ) return $array; + + //copy the original array to the newArray variable + for( $n = 0; $n < `size $array`; $n++ ) $newArray[$n] = $array[$n]; + + int $i = $startIndex-1; + for( $n = 0; $n < $num; $n++, $i++) $newArray[$i] = $array[( $i+1 )]; + + $newArray[$endIndex] = $array[$displaced]; + return $newArray; + } + + +//shifts entries inclusive from the start index, to the end index down (ie away from zero) in an array +global proc string[] zooArrayShiftDown_str( string $array[], int $startIndex, int $endIndex ) { + string $newArray[]; + int $displaced = $endIndex+1; + int $num = ( $endIndex-$startIndex )+1; + + if( $endIndex >= `size $array`-1 ) return $array; + + //copy the original array to the newArray variable + for( $n = 0; $n < `size $array`; $n++ ) $newArray[$n] = $array[$n]; + + int $i = $startIndex+$num; + for( $n = 0; $n < $num; $i--, $n++ ) $newArray[$i] = $array[( $i-1 )]; + + $newArray[$startIndex] = $array[$displaced]; + return $newArray; + } + + +//simply returns the string as an array - one character per array element +global proc string[] zooStrToArray( string $str ) { + string $stringArray[] = {}; + int $size = `size $str`; + + for( $n=0; $n<$size; $n++ ) $stringArray[$n] = `substring $str ($n+1) ($n+1)`; + return $stringArray; + } + + +//normally the tokenize command will completely strip out duplicate items when +//tokenizing - which is not always what you want. this proc will preserve +//duplicate tokens +// +//example: if you have this string "duplicate,,comma,characters" +//the native maya tokenize command will yield this result: +//{ "duplicate", "comma", "characters" } +// +//while the zooTokenize command will give this: +//{ "duplicate", "", "comma", "characters" } +// +//NOTE - you can also use multi-character separators. ie: +//zooTokenize "some;!;thing;!;else" ";!;"; +//yeilds what you would expect: { "some", "thing", "else" } +global proc string[] zooTokenize( string $string, string $separator ) { + string $temp[] = `zooStrToArray $string`; + string $new[] = {}; + int $sepSize = `size $separator`; + int $i=0; + + for( $n=0; $n<`size $temp`; $n++ ) { + string $toMatch = ""; + for( $x=0; $x<$sepSize; $x++ ) $toMatch += $temp[$n+$x]; + if( $toMatch == $separator ) { + $n = $n+$x-1; + $i++; + $new[$i] = ""; + continue; + } + $new[$i] = $new[$i] + $temp[$n]; + } + + return $new; + } + + +//returns word tokens for a camel case word +//example: +//zooSplitCamelCase thisIsACamelCaseWord +//returns the array: { "this", "Is", "A", "Camel", "Case", "Word" }; +global proc string[] zooSplitCamelCase( string $name ) { + string $words[] = {}; + string $letters[] = `zooStrToArray $name`; + int $len = `size $name`; + int $word = 0; + + for( $n=0; $n<$len; $n++ ) { + if( $n ) if( `match "[A-Z]" $letters[$n]` != "" ) $word++; + if( `match "[_0-9]" $letters[$n]` != "" ) { + $word++; + while( `match "[_0-9]" $letters[$n]` != "" ) { + $words[$word] = $words[$word] + $letters[$n]; + $n++; + } + $word++; + } + $words[$word] = $words[$word] + $letters[$n]; + } + + return $words; + } + + +//returns an array of "words" contained in a given string. words are defined by +//any of the delimeters: _ : | [space] or are camel case alpha strings. numeric characters +//are also delimeters +// +//for example: +// zooStrToWords "thisIsAString"; +// returns { "this", "Is", "A", "String" } +// zooStrToWords "another:string_this is"; +// returns { "another", "string", "this", "is" } +global proc string[] zooStrToWords( string $string ) { + string $toks[] = {}; + string $camelWords[] = {}; + int $numToks = `tokenize $string " :|_" $toks`; + + for( $n=0; $n<$numToks; $n++ ) $camelWords = zooAddArray_str($camelWords,`zooSplitCamelCase $toks[$n]`); + + return $camelWords; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooAssets.mel b/2009-x64/zooScripts/scripts/zooAssets.mel new file mode 100644 index 0000000..a36dbd7 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssets.mel @@ -0,0 +1,1430 @@ +//zooAssets is an asset management script. It is designed to store data associated +//with some sort of in-scene asset. These assets are generally things like +//cameras, models or animations. Each asset can have a number of associated +//attributes that can store any type of data. +// +//this particular script handles all user interface calls. It is through the UI +//that the functionality of this system is defined. The "engine" code that drives +//this script is contained in the zooAssetsUtils script, and allows a user to add +//any sort of data to an asset they want. The type of data thats actually +//freely available to the user however is defined in the interface code. This +//means that should multiple versions of an asset manager be required, it can be +//done simply by writing or modifying alternative versions of the interface, while +//maintaining a common collection of utilities via the zooAssetsUtils core. +// +// ©2007 macaronikazoo.com + + +zooArrays_str; +zooAssetsUtils; +zooFlags; +zooTips; +zooTriggeredUtils; +zooUtils; + + +global proc zooAssets() { + eval( "source zooAssetsWin" ); + } + + +//------ +//this proc controls the UI - most UI control functions are done through this proc +//------ +global proc zooAssetsWindowFunctions( string $function, string $variable01 ) { + string $windowName = "zooAssetsWindow"; + int $idx_select = 0; + int $idx_slot = 1; + int $idx_obj = 2; + int $idx_startBut = 3; + int $idx_start = 4; + int $idx_bothBut = 5; + int $idx_end = 6; + int $idx_endBut = 7; + int $idx_name = 0; + int $idx_stage = 1; + int $idx_notes = 2; + int $idx_mel = 3; + + switch( $function ) { + //responsible for updating static UI information + case "update": + if( !`window -ex $windowName` ) return; + //update the view "order by" menuItems + string $orderModes[] = { "slot", "range", "colour", "name" }; + string $orderMode = `optionVar -ex zooAssetsOrderMode`? `optionVar -q zooAssetsOrderMode`: "slot"; + + for( $mode in $orderModes ) if( $mode == $orderMode ) menuItem -e -cb 1 ( "zooAssetsOrder_"+ $mode ); + else menuItem -e -cb 0 ( "zooAssetsOrder_"+ $mode ); + + zooAssetsWindowFunctions hideDisabled n; + zooAssetsWindowFunctions updateMenus n; + zooRevertAssetColour -1; + zooHighlightActiveAsset 0; + break; + case "updateMenus": + if( !`window -ex $windowName` ) return; + textField -e -tx `zooGetGlobalAttrData path` zooAssetsTextGlobalPath; + textField -e -tx `zooGetGlobalAttrData prefix` zooAssetsTextGlobalPrefix; + break; + case "updateNote": + if( !`window -ex $windowName` ) return; + int $slot = $variable01; + string $noteStr = `zooGetAttrData $slot notes`; + float $colR = 0.831; + float $colG = 0.816; + float $colB = 0.784; + + button -e -ann $noteStr -vis 0 ( "zooAssetsFormTextNotes"+ $slot ); + if( $noteStr == "" ) button -e -l "n" -bgc $colR $colG $colB ( "zooAssetsFormTextNotes"+ $slot ); + else button -e -bgc 0.8 0.8 1.0 ( "zooAssetsFormTextNotes"+ $slot ); + button -e -vis 1 ( "zooAssetsFormTextNotes"+ $slot ); + break; + case "updateMEL": + if( !`window -ex $windowName` ) return; + int $slot = $variable01; + string $preStr = `zooGetAttrData $slot preMEL`; + string $postStr = `zooGetAttrData $slot postMEL`; + float $colR = 0.831; + float $colG = 0.816; + float $colB = 0.784; + + button -e -ann $noteStr -vis 0 ( "zooAssetsFormTextMEL"+ $slot ); + if( $preStr == "" && $postStr == "" ) button -e -l "mel" -bgc $colR $colG $colB ( "zooAssetsFormTextMEL"+ $slot ); + else button -e -bgc 0.5 0.5 0.5 ( "zooAssetsFormTextMEL"+ $slot ); + button -e -vis 1 ( "zooAssetsFormTextMEL"+ $slot ); + break; + case "updateEditable": + if( !`window -ex $windowName` ) return; + //disable the parts of the UI that are meant to be disabled, and hide the disabled slots if they're meant to be hidden + int $showNames = `optionVar -ex zooShowActualAssetNames`? `optionVar -q zooShowActualAssetNames`: 0; + int $slots[] = {}; + + if( $variable01 == "*" ) $slots = `zooListAssets`; + else $slots[0] = $variable01; + for( $slot in $slots ) if( `control -ex ( "zooAssetFormRanges"+ $slot )` ) { + string $children1[] = `formLayout -q -ca ( "zooAssetFormRanges"+ $slot )`; + string $children2[] = `formLayout -q -ca ( "zooAssetsFormText"+ $slot )`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + int $disable = `zooGetAttrData $slot disable`; + + if( $disable ) zooColourAsset $slot disable; + else zooRevertAssetColour $slot; + + nameField -e -en (!$locked) $children1[$idx_obj]; + intField -e -ed (!$disable&&!$locked) $children1[$idx_start]; + intField -e -ed (!$disable&&!$locked) $children1[$idx_end]; + textField -e -ed (!$locked&&!$showNames) $children2[$idx_name]; + } + break; + case "updateHeight": + if( !`window -ex $windowName` ) return; + int $slots[] = `zooListAssets`; + int $hideSetting = `optionVar -ex zooHideDisabledAssets`? `optionVar -q zooHideDisabledAssets`: 0; + int $numVisibleSlots = 0; + + for( $s in $slots ) { + if( `zooGetAttrData $s disable` && $hideSetting ) continue; + else $numVisibleSlots++; + } + + paneLayout -e -height( $numVisibleSlots*20+4 ) zooAssetsPane; + break; + case "updateFilter": + if( !`window -ex $windowName` ) return; + string $filterStr = `textField -q -tx zooAssetsTextViewFilter`; + int $hideSetting = `optionVar -ex zooHideDisabledAssets`? `optionVar -q zooHideDisabledAssets`: 0; + int $after = `intField -q -v zooAssetsIntStartFilter`; + int $before = `intField -q -v zooAssetsIntEndFilter`; + int $enableAfter = `control -q -docTag zooAssetsIntStartFilter`; + int $enableBefore = `control -q -docTag zooAssetsIntEndFilter`; + int $selOnly = `checkBox -q -v zooAssetsCheckSelFilter`; + int $slots[] = `zooListAssets`; + int $numVis = `size $slots`; + + for( $s in $slots ) { + string $assetName = `zooGetAttrData $s name`; + + control -e -vis 1 ( "zooAssetFormRanges"+ $s ); + control -e -vis 1 ( "zooAssetsFormText"+ $s ); + if( $filterStr != "" ) { + if( `match $filterStr $assetName` == "" ) { + control -e -vis 0 ( "zooAssetFormRanges"+ $s ); + control -e -vis 0 ( "zooAssetsFormText"+ $s ); + zooAssetSelectionTools unsingle $s; + $numVis--; + continue; + } + } + + if( $selOnly ) { + string $c[] = `formLayout -q -ca ( "zooAssetFormRanges"+ $s )`; + int $state = `checkBox -q -v $c[0]`; + if( !$state ) { + control -e -vis 0 ( "zooAssetFormRanges"+ $s ); + control -e -vis 0 ( "zooAssetsFormText"+ $s ); + $numVis--; + continue; + } + } + + if( $enableAfter ) { + int $start = `zooGetAttrData $s start`; + if( $start < $after ) { + control -e -vis 0 ( "zooAssetFormRanges"+ $s ); + control -e -vis 0 ( "zooAssetsFormText"+ $s ); + zooAssetSelectionTools unsingle $s; + $numVis--; + continue; + } + } + + if( $enableBefore ) { + int $end = `zooGetAttrData $s end`; + if( $end > $before ) { + control -e -vis 0 ( "zooAssetFormRanges"+ $s ); + control -e -vis 0 ( "zooAssetsFormText"+ $s ); + zooAssetSelectionTools unsingle $s; + $numVis--; + continue; + } + } + + if( $hideSetting ) { + int $disable = `zooGetAttrData $s disable`; + if( $disable ) { + control -e -vis 0 ( "zooAssetFormRanges"+ $s ); + control -e -vis 0 ( "zooAssetsFormText"+ $s ); + zooAssetSelectionTools unsingle $s; + $numVis--; + continue; + } + } + } + + paneLayout -e -height( $numVis*20+4 ) zooAssetsPane; + zooAssetsWindowFunctions updateText "*"; + break; + case "updateText": + if( !`window -ex $windowName` ) return; + int $numAssets = size(`zooListAssets`); + int $numVis = (`paneLayout -q -height zooAssetsPane`-4)/20; + int $numSel = size(`zooGetSelectedAssets`); + + text -e -l( "selected: "+ $numSel +" visible: "+ $numVis +" total: "+ $numAssets ) zooAssetsTextInfo; + break; + case "updateTime": + if( !`window -ex $windowName` ) return; + int $slots[] = {}; + + if( $variable01 == "*" ) $slots = `zooListAssets`; + else $slots[0] = $variable01; + for( $slot in $slots ) { + string $UIs[] = `formLayout -q -ca ( "zooAssetFormRanges"+ $slot )`; + int $start = `zooGetAttrData $slot start`; + int $end = `zooGetAttrData $slot end`; + intField -e -v $start $UIs[$idx_start]; + intField -e -v $end $UIs[$idx_end]; + } + break; + case "updateName": + if( !`window -ex $windowName` ) return; + int $showNames = `optionVar -ex zooShowActualAssetNames`? `optionVar -q zooShowActualAssetNames`: 0; + int $slots[] = {}; + + if( $variable01 == "*" ) $slots = `zooListAssets`; + else $slots[0] = $variable01; + for( $s in $slots ) { + string $UIs[] = `formLayout -q -ca ( "zooAssetsFormText"+ $s )`; + string $name = `zooGetAttrData $s name`; + string $prefix = `zooGetGlobalAttrData prefix`; + string $displayName = $name; + if( $showNames ) $displayName = $prefix + $name; + textField -e -ed( !$showNames ) -tx $displayName $UIs[$idx_name]; + } + break; + //this sub-proc builds the elements of the UI - adds all managed objects to the UI + case "rebuild": + if( !`window -ex $windowName` ) return; + string $existingUI1[] = `columnLayout -q -ca zooAssetsListA`; + string $existingUI2[] = `columnLayout -q -ca zooAssetsListB`; + string $orderMode = `optionVar -ex zooAssetsOrderMode`? `optionVar -q zooAssetsOrderMode`: "slot"; + int $slots[] = `zooOrderAssets $orderMode`; + + if( `size $existingUI1` ) deleteUI $existingUI1; + if( `size $existingUI2` ) deleteUI $existingUI2; + control -e -vis 0 zooAssetsListA; + control -e -vis 0 zooAssetsListB; + for( $n=0; $n<`size $slots`; $n++ ) zooAddAssetToUI $slots[$n]; + + control -e -vis 1 zooAssetsListA; + control -e -vis 1 zooAssetsListB; + zooAssetsWindowFunctions update n; + zooAssetsWindowFunctions updateName "*"; + zooAssetsWindowFunctions updateText "*"; + break; + case "toggleHideOption": + int $val = $variable01; + optionVar -iv zooHideDisabledAssets $val; + zooAssetsWindowFunctions updateFilter n; + break; + case "toggleNameView": + int $val = $variable01; + optionVar -iv zooShowActualAssetNames $val; + checkBox -e -v $val zooAssetsCheckFullNames; + zooAssetsWindowFunctions updateName "*"; + break; + case "toggleFilterEnable": + int $state = `control -q -docTag $variable01`; + $state = !$state; + control -e -en $state -docTag $state $variable01; + zooAssetsWindowFunctions updateFilter n; + break; + case "nameChange": + int $slot = $variable01; + string $uiElts[] = `formLayout -q -ca ( "zooAssetsFormText"+ $slot )`; + string $name = `zooGetAttrData $slot name`; + textField -e -tx $name $uiElts[0]; + break; + case "order": + optionVar -sv zooAssetsOrderMode $variable01; + zooAssetsWindowFunctions rebuild n; + zooAssetsWindowFunctions updateFilter n; + break; + case "savePrefs": + int $paneConfig[] = `paneLayout -q -ps zooAssetsPane`; + optionVar -iv zooAssetsPane $paneConfig[0]; + break; + case "setDefaultPath": + string $filepath; + string $previousDir = ( `optionVar -ex zooAssetsPath`)? `optionVar -q zooAssetsPath`: "c:/temp/"; + + $filepath = `fileDialog -directoryMask ( $previousDir + "/*.*" )`; + if( $filepath != "" ) optionVar -sv zooAssetsPath $filepath; + break; + //changes the timeline to the start of a shot + case "start": + float $time = `currentTime -q`; + int $slot = $variable01; + int $start = `zooGetAttrData $slot start`; + playbackOptions -min $start; + if( $time < $start ) currentTime -e $start; + break; + case "end": + float $time = `currentTime -q`; + int $slot = $variable01; + int $end = `zooGetAttrData $slot end`; + playbackOptions -max $end; + if( $time > $end ) currentTime -e $end; + break; + case "both": + float $time = `currentTime -q`; + int $slot = $variable01; + int $start = `zooGetAttrData $slot start`; + int $end = `zooGetAttrData $slot end`; + playbackOptions -min $start -max $end; + if( $time < $start ) currentTime -e $start; + if( $time > $end ) currentTime -e $end; + break; + //manages the selected object(s) - ie connects it to the management node + case "manage": + string $objs[] = {}; + string $confirm = ""; + + if( $variable01 == "*" ) $objs = `ls -sl`; + else $objs = { $variable01 }; + + if( !`size $objs` ) break; + if( `size $objs`>5 ) $confirm = `confirmDialog -title "Adding Multiple Assets" -message "You are trying to add more than 5 assets at once.\n\nIs this what you meant to do?" -button "Yes" -button "No" -defaultButton "Yes" -cancelButton "No" -dismissString "No"`; + if( $confirm == "No" ) break; + + for( $a in $objs ) { + int $slot = `zooCreateAsset $a`; + zooAddAssetToUI $slot; + } + zooAssetsWindowFunctions updateHeight "*"; + zooAssetsWindowFunctions updateText "*"; + break; + case "importAssets": + string $filepath = `fileDialog -directoryMask ( "c:/*.ma" )`; + string $buildImported[] = `zooGetAssetsFromFile $filepath`; + string $node = `zooGetAssetNode 0`; + + if( `objExists $node` ) delete $node; //delete any existing assets node + print $buildImported; + for( $cmd in $buildImported ) catch(eval($cmd)); + zooAssetsWindowFunctions rebuild n; + break; + case "expandRefs": + global int $mvExpandReferences; + int $val = (int)$variable01; + $mvExpandReferences = $val; + break; + case "exportObj": + string $objs[] = {}; + int $slots[] = `zooGetSelectedAssets`; + + if( `size $slots` ) $slots[0] = $variable01; + for( $s in $slots ) $objs[( `size $objs` )] = `zooGetAssetObj $s`; + $objs = `stringArrayRemoveDuplicates $objs`; + for( $obj in $objs ) zooExportObj $obj; + break; + case "emptySlot": + int $slot = `zooCreateAsset ""`; + zooAddAssetToUI $slot; + zooAssetsWindowFunctions updateHeight "*"; + break; + case "delete": + int $slots[] = `zooGetSelectedAssets`; + int $slot = $variable01; + string $ret = ""; + + if( `size $slots` ) $ret = `confirmDialog -title "Delete Selected Slots?" -message "You sure you want to delete the selected slots?" -button "Yes" -button "No" -defaultButton "Darn Tootin!" -cancelButton "No" -dismissString "No"`; + else { + $slots = { $slot }; + $ret = `confirmDialog -title ( "Delete Slot "+ $slot +"?" ) -message ( "You sure you want to delete slot "+ $slot +"?" ) -button "Yes" -button "No" -defaultButton "Darn Tootin!" -cancelButton "No" -dismissString "No"`; + } + + if( $ret == "No" ) break; + for( $a in $slots ) { + zooRemoveAsset $a; + deleteUI ( "zooAssetFormRanges"+ $a ); + deleteUI ( "zooAssetsFormText"+ $a ); + } + + zooAssetsWindowFunctions updateHeight "*"; + zooAssetsWindowFunctions updateText "*"; + break; + case "deleteUnused": + int $slots[] = `zooListAssets`; + for( $a in $slots ) if( !`zooIsSlotUsed $a` ) { + zooRemoveAsset $a; + deleteUI ( "zooAssetFormRanges"+ $a ); + deleteUI ( "zooAssetsFormText"+ $a ); + } + + zooAssetsWindowFunctions updateHeight "*"; + zooAssetsWindowFunctions updateText "*"; + break; + case "deleteDisabled": + int $slots[] = `zooListAssets`; + for( $a in $slots ) if( `zooGetAttrData $a disable` ) { + zooRemoveAsset $a; + deleteUI ( "zooAssetFormRanges"+ $a ); + deleteUI ( "zooAssetsFormText"+ $a ); + } + + zooAssetsWindowFunctions updateHeight "*"; + zooAssetsWindowFunctions updateText "*"; + break; + case "duplicate": + int $slot = $variable01; + int $slots[] = `zooGetSelectedAssets`; + int $newSlots[] = {}; + + if( !`size $slots` ) $slots = { $slot }; + for( $s in $slots ) $newSlots[( `size $newSlots` )] = `zooDuplicateAsset $s`;print $newSlots; + for( $n in $newSlots ) zooAddAssetToUI $n; + zooAssetsWindowFunctions updateHeight "*"; + zooAssetsWindowFunctions updateText "*"; + break; + case "replaceObj": + string $obj = zooGetElement_str(0,`ls -sl`); + int $slot = $variable01; + int $slots[] = `zooGetSelectedAssets`; + + if( !`size $slots` ) $slots = { $slot }; + for( $n in $slots ) { + string $nameField = zooGetElement_str($idx_obj,`formLayout -q -ca ( "zooAssetFormRanges"+ $n )`); + if( `objExists $obj` ) zooSetAssetObj $n $obj; + nameField -e -o $obj $nameField; + } + break; + case "lock": + int $slots[] = `zooGetSelectedAssets`; + if( !`size $slots` ) $slots = { (int)$variable01 }; + for( $slot in $slots ) zooLockAsset ( "-edit 1 -val 2 -slot "+ $slot ); + zooAssetsWindowFunctionsSel updateEditable $slot; + break; + case "disable": + int $slot = $variable01; + int $slots[] = `zooGetSelectedAssets`; + int $disable = `zooGetAttrData $slot disable`; + + if( !`size $slots` ) $slots = { $slot }; + for( $slot in $slots ) zooChangeDataWrapper $slot disable ( !$disable ); + zooAssetsWindowFunctionsSel updateEditable $slot; + break; + case "copyFrom": + int $slot = $variable01; + zooCopyAttrDataTo $slot {"name"} `zooGetSelectedAssets`; + zooAssetsWindowFunctionsSel updateEditable $slot; + zooAssetsWindowFunctionsSel updateTime $slot; + zooAssetsWindowFunctionsSel updateName $slot; + zooAssetsWindowFunctionsSel updateMEL $slot; + zooAssetsWindowFunctionsSel updateNote $slot; + break; + case "select": + int $slot = $variable01; + select -add `zooGetAssetObj $slot`; + break; + } + } + + +//------ +//zooAssetsWindowFunctionsSel functions simply checks to see if assets are selected, +//and if so, calls the zooAssetsWindowFunctions function for each selected asset, +//otherwise it does it on the asset specified +//------ +global proc zooAssetsWindowFunctionsSel( string $function, string $variable01 ) { + int $slots[] = `zooGetSelectedAssets`; + if( !`size $slots` ) $slots[0] = $variable01; + for( $slot in $slots ) zooAssetsWindowFunctions $function $slot; + } + + +//------ +//adds an asset slot to the UI +//------ +global proc zooAddAssetToUI( int $slot ) { + string $obj = `zooGetAssetObj $slot`; + string $noteStr = `zooGetAttrData $slot notes`; + int $start = `zooGetAttrData $slot start`; + int $end = `zooGetAttrData $slot end`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + int $disable = `zooGetAttrData $slot disable`; + + setParent zooAssetsListA; + string $form1 = `formLayout ( "zooAssetFormRanges"+ $slot )`; + string $selectShot = `checkBox -height 20 -width 14 -label "" -ann "select this slot" -cc( "zooAssetsWindowFunctions updateMenus n; zooAssetsWindowFunctions updateText n;" )`; + string $idLbl = `text -width 20 -l $slot -ann "this is the slot number for the asset"`; + string $obj = `nameField -height 20 -ann "this is the object connected to this slot" -o $obj`; + string $startGoto = `button -height 20 -width 12 -l "<" -ann "go to the start time for this slot" -c ( "zooAssetsWindowFunctions start "+ $slot )`; + string $startTime = `intField -height 20 -width 35 -ed (!$disable||!$locked) -v $start -ann "this is the start time for this slot" -cc ( "zooSetAttrData "+ $slot +" start #1" )`; + string $goToButton = `button -height 20 -width 19 -label "<>" -ann "go to the time range for this slot" -c ( "zooAssetsWindowFunctions both "+ $slot )`; + string $endTime = `intField -height 20 -width 35 -ed (!$disable||!$locked) -v $end -ann "this is the end time for this slot" -cc ( "zooSetAttrData "+ $slot +" end #1" )`; + string $endGoto = `button -height 20 -width 12 -l ">" -ann "go to the end time for this slot" -c ( "zooAssetsWindowFunctions end "+ $slot )`; + setParent..; + + setParent zooAssetsListB; + string $form2 = `formLayout ( "zooAssetsFormText"+ $slot )`; + string $name = `textField -height 20 -cc( "zooSetAttrData "+ $slot +" name \"#1\"; zooAssetsWindowFunctions nameChange "+ $slot ) ( "zooAssetNameInput"+ $slot )`; + string $notes = `button -height 20 -width 15 -ann $noteStr -l "n" -c( "zooAssetsOpenNotesWindow "+ $slot ) ( "zooAssetsFormTextNotes"+ $slot )`; + string $mel = `button -height 20 -width 15 -ann "edit pre/post export MEL commands" -l "mel" -c( "zooAssetsMELWindow "+ $slot ) ( "zooAssetsFormTextMEL"+ $slot )`; + setParent..; + + formLayout -e + -af $selectShot "left" 2 + + -af $idLbl "top" 2 + -ac $idLbl "left" 3 $selectShot + + -af $obj "top" 0 + -ac $obj "left" 0 $idLbl + -ac $obj "right" 0 $startGoto + + -ac $startGoto "right" 0 $startTime + + -ac $startTime "right" 0 $goToButton + + -ac $goToButton "right" 0 $endTime + + -ac $endTime "right" 0 $endGoto + + -af $endGoto "top" 0 + -af $endGoto "right" 2 + $form1; + + formLayout -e + -af $name "left" 0 + -af $name "right" 30 + + -ac $notes "left" 0 $name + + -ac $mel "left" 0 $notes + $form2; + + popupMenu -p $selectShot -mm 1 -pmc( "zooBuildAssetSelectMenu zooPopSel"+ $slot +" "+ $slot ) ( "zooPopSel"+ $slot ); + popupMenu -p $obj -aob 1 -pmc( "zooBuildAssetMenu zooPopObj"+ $slot +" "+ $slot ) ( "zooPopObj"+ $slot ); + popupMenu -p $startTime -aob 1 -pmc( "zooBuildAssetTimeMenu zooPopTimeStart"+ $slot +" start "+ $slot ) ( "zooPopTimeStart"+ $slot ); + popupMenu -p $goToButton -aob 1 -pmc( "zooBuildAssetTimeMenu zooPopTimeBoth"+ $slot +" both "+ $slot ) ( "zooPopTimeBoth"+ $slot ); + popupMenu -p $endTime -aob 1 -pmc( "zooBuildAssetTimeMenu zooPopTimeEnd"+ $slot +" end "+ $slot ) ( "zooPopTimeEnd"+ $slot ); + popupMenu -p $name -aob 1 -pmc( "zooBuildAssetMenu zooPopPath"+ $slot +" "+ $slot ) ( "zooPopPath"+ $slot ); + popupMenu -p $mel; + menuItem -l "execute PRE MEL" -c( "eval( `zooGetAssetMEL "+ $slot +" pre` )" ); + menuItem -d 1; + menuItem -l "execute POST MEL" -c( "eval( `zooGetAssetMEL "+ $slot +" post` )" ); + setParent -m ..; + + zooAssetsWindowFunctions updateNote $slot; + zooAssetsWindowFunctions updateMEL $slot; + zooAssetsWindowFunctions updateEditable $slot; + zooAssetsWindowFunctions updateName $slot; + zooRevertAssetColour $slot; + } + + +//------ +//handles all asset selection functions +//------ +global proc zooAssetSelectionTools( string $function, int $slot ) { + string $UIs[] = `columnLayout -q -ca zooAssetsListA`; + int $hideSetting = `optionVar -ex zooHideDisabledAssets`? `optionVar -q zooHideDisabledAssets`: 0; + int $slots[] = `zooOrderAssets ""`; + int $state = 1; + + switch( $function ) { + case "unsingle": + $state = 0; + case "single": + if( `control -ex ( "zooAssetFormRanges"+ $slot )` ) { + string $checkBox = zooGetElement_str(0,`formLayout -q -ca ( "zooAssetFormRanges"+ $slot )`); + int $slotVis = `control -q -vis ( "zooAssetFormRanges"+ $slot )`; + checkBox -e -v( $state*$slotVis ) $checkBox; + } + break; + + case "unall": + $state = 0; + case "all": + for( $a in $slots ) { + string $checkBox = zooGetElement_str(0,`formLayout -q -ca ( "zooAssetFormRanges"+ $a )`); + int $slotVis = `control -q -vis ( "zooAssetFormRanges"+ $a )`; + checkBox -e -v( $state*$slotVis ) $checkBox; + } + break; + + case "unabove": + $state = 0; + case "above": + int $start = $slots[0]; + for( $n=0; $n<`size $slots`; $n++ ) if( $slots[$n] == $slot ) $start = $n; + for( $n=$start; $n>=0; $n-- ) { + string $UIName = $UIs[$n]; + string $checkBox = zooGetElement_str(0,`formLayout -q -ca $UIName`); + int $slotVis = `control -q -vis ( "zooAssetFormRanges"+ $slots[$n] )`; + if( `checkBox -q -v $checkBox` == $state ) break; //if the current checkbox is checked, break - selected assets serve as break points + checkBox -e -v( $state*$slotVis ) $checkBox; + } + break; + + case "unbelow": + $state = 0; + case "below": + int $start = $slots[0]; + for( $n=0; $n<`size $slots`; $n++ ) if( $slots[$n] == $slot ) $start = $n; + for( $n=$start; $n<`size $slots`; $n++ ) { + string $UIName = $UIs[$n]; + string $checkBox = zooGetElement_str(0,`formLayout -q -ca $UIName`); + int $slotVis = `control -q -vis ( "zooAssetFormRanges"+ $slots[$n] )`; + if( `checkBox -q -v $checkBox` == $state ) break; //if the current checkbox is checked, break - selected assets serve as break points + checkBox -e -v( $state*$slotVis ) $checkBox; + } + break; + } + + zooAssetsWindowFunctions updateMenus "*"; + zooAssetsWindowFunctions updateText "*"; + } + + +//------ +//creates a window to allow the user to add a list of shots to be associated with a slot +//------ +global proc zooAssetsOpenShotsWindow( int $slot ) { + string $windowName = "zooAssetsShotListWindow"; + string $windowTitle = "shotlist for slot "+ $slot; + string $shots = `zooGetAttrData $slot shots`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + int $startShot = 0; + int $endShot = 1; + + string $temp[] = {}; + if( $shots != "" ) tokenize $shots ":" $temp; + if( `size $temp` ) { + $startShot = $temp[0]; + $endShot = $temp[1]; + } + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 200 -height 150 $windowName; + string $form = `formLayout`; + string $startLbl = `text -l "start shot"`; + string $start = `intField -v $startShot -width 35`; + string $endLbl = `text -l "end shot"`; + string $end = `intField -v $endShot -width 35`; + string $save = `button -en( !$locked ) -l "save" -c( "zooChangeDataWrapper "+ $slot +" shots ( `intField -q -v "+ $start +"`+ \":\"+ `intField -q -v "+ $end +"` ); deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel updateTime "+ $slot )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + + formLayout -e + -af $startLbl "top" 3 + -af $startLbl "left" 0 + + -af $start "top" 0 + -ac $start "left" 5 $startLbl + -ap $start "right" 1 50 + + -af $endLbl "top" 3 + -ap $endLbl "left" 1 50 + + -af $end "top" 0 + -ac $end "left" 5 $endLbl + -af $end "right" 0 + + -ac $save "top" 0 $start + -af $save "left" 0 + -ap $save "right" 1 50 + + -ac $canc "top" 0 $start + -ap $canc "left" 1 50 + -af $canc "right" 0 + $form; + + showWindow $windowName; + } + + +global proc zooAssetsSearchReplaceWindow( int $slot ) { + string $windowName = "zooAssetsSearchReplaceWindow"; + string $windowTitle = "search & replace attr data for slot:"+ $slot; + string $slotsStr = "{"; + int $slots[] = `zooGetSelectedAssets`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + + if( !`size $slots` ) $slots[0] = $slot; + if( `window -exists $windowName` ) deleteUI $windowName; + $slotsStr = "{"+ $slots[0]; + for( $n=1; $n<`size $slots`; $n++ ) $slotsStr = $slotsStr +","+ $slots[$n]; + $slotsStr = $slotsStr +"}"; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 250 -height 50 $windowName; + string $form = `formLayout`; + string $attrLbl = `text -l "act on attribute:"`; + string $attrList = `textField -tx name zooSearchReplaceMenuAttr`; + popupMenu -p $attrList; + menuItem -l "name" -c( "textField -e -tx name zooSearchReplaceMenuAttr" ); + menuItem -l "notes" -c( "textField -e -tx notes zooSearchReplaceMenuAttr" ); + menuItem -l "preMEL" -c( "textField -e -tx preMEL zooSearchReplaceMenuAttr" ); + menuItem -l "postMEL" -c( "textField -e -tx postMEL zooSearchReplaceMenuAttr" ); + menuItem -l "path" -c( "textField -e -tx path zooSearchReplaceMenuAttr" ); + string $searchLbl = `text -l "search for:"`; + string $search = `textField -width 35 zooAssetsSearchString`; + string $replaceLbl = `text -l "replace with:"`; + string $replace = `textField -width 35 zooAssetsReplaceString`; + string $go = `button -en( !$locked ) -l "go" -c( "{ string $attr = `textField -q -tx zooSearchReplaceMenuAttr`; zooSearchReplaceAttrData "+ $slotsStr +" $attr `textField -q -tx "+ $search +"` `textField -q -tx "+ $replace +"`; deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel updateName "+ $slot +";}" )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + + formLayout -e + -af $attrLbl "top" 3 + -af $attrLbl "left" 5 + + -af $attrList "top" 0 + -ac $attrList "left" 5 $attrLbl + -af $attrList "right" 0 + + -ac $searchLbl "top" 3 $attrList + -af $searchLbl "left" 5 + -ap $searchLbl "right" 1 50 + + -ac $search "top" 3 $searchLbl + -af $search "left" 0 + -ap $search "right" 1 50 + + -ac $replaceLbl "top" 3 $attrList + -ap $replaceLbl "left" 5 50 + -af $replaceLbl "right" 0 + + -ac $replace "top" 3 $replaceLbl + -ap $replace "left" 1 50 + -af $replace "right" 0 + + -ac $go "top" 0 $search + -af $go "left" 0 + -ap $go "right" 1 50 + + -ac $canc "top" 0 $search + -ap $canc "left" 1 50 + -af $canc "right" 0 + $form; + + showWindow $windowName; + } + + +//------ +//this proc opens a window to set any sort of asset attribue. it opens a very simple +//window with a textField input, a "set" button and a "remove" button. This window +//can be used to provide a basic interface to set any asset attribute +// +//however, its used almost exclusively to set the custom export path attribute +//------ +global proc zooSetAssetAttrWindow( int $slot, string $attr ) { + string $windowName = "zooAssetsSetAttrWindow"; + string $windowTitle = "set "+ $attr +" for slot "+ $slot; + string $attrCap = toupper(`substring $attr 1 1`) + `substring $attr 2 (size($attr))`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 350 -height 20 $windowName; + string $form = `formLayout`; + string $textField = `textField -tx( zooGetAttrData($slot,$attr)) -cc( "{string $new = \"#1\"; if( `match \"/$\" $new` == \"\" ) $new += \"/\"; textField -e -tx $new zooAssetsSetAttrInput; }" ) zooAssetsSetAttrInput`; + string $goButt = `button -l "set" -c( "zooChangeDataWrapper "+ $slot +" "+ $attr +" `textField -q -tx zooAssetsSetAttrInput`; deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel update"+ $attrCap +" "+ $slot +";" )`; + string $cancButt = `button -l "remove" -c( "zooChangeDataWrapper "+ $slot +" "+ $attr +" \"\"; deleteUI "+ $windowName )`; + popupMenu -p $textField -pmc( "zooBuildSlotExportPathMenu "+ $slot +" zooAssetsPopupSetAttr" ) zooAssetsPopupSetAttr; + + formLayout -e + -af $textField "top" 0 + -af $textField "left" 0 + -ac $textField "right" 0 $goButt + + -af $goButt "top" 0 + -ac $goButt "right" 0 $cancButt + + -af $cancButt "top" 0 + -af $cancButt "right" 0 + $form; + showWindow $windowName; + } + + +//------ +//opens a window for adding/editing notes +//------ +global proc zooAssetsOpenNotesWindow( int $slot ) { + string $windowName = "zooAssetsNoteWindow"; + string $windowTitle = "notes for slot "+ $slot; + string $noteText = ""; + string $saveLbl = "save note"; + string $deleteLbl = "delete note"; + int $locked = 0; + int $sel = size(`zooGetSelectedAssets`); + + if( $sel ) $saveLbl = "*save notes"; + if( $sel ) $deleteLbl = "*delete notes"; + if( $slot < 0 ) { + $noteText = `zooGetGlobalAttrData notes`; + $windowTitle = "global notes"; + } + else { + $noteText = `zooGetAttrData $slot notes`; + $locked = `zooLockAsset ( "-slot "+ $slot )`; + } + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 0 -maximizeButton 0 -sizeable 1 -width 200 -height 150 $windowName; + string $form = `formLayout`; + string $text = `scrollField -ed( !$locked ) -tx $noteText -ww 1`; + string $save = `button -en( !$locked ) -l $saveLbl -c( "zooChangeDataWrapper "+ $slot +" notes `scrollField -q -tx "+ $text +"`; deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel updateNote "+ $slot )`; + string $rem = `button -en( !$locked ) -l $deleteLbl -c( "zooChangeDataWrapper "+ $slot +" notes \"\"; deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel updateNote "+ $slot )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + + formLayout -e + -af $text "top" 0 + -af $text "left" 0 + -af $text "right" 0 + -ac $text "bottom" 0 $save + + -af $save "left" 0 + -ap $save "right" 0 38 + -af $save "bottom" 0 + + -ap $rem "left" 0 38 + -ap $rem "right" 0 76 + -af $rem "bottom" 0 + + -ap $canc "left" 0 76 + -af $canc "right" 0 + -af $canc "bottom" 0 + $form; + + //if the slot specified is -1, the the notes are to be added to the global slot + if( $slot < 0 ) { + button -e -l "send email" -c( "zooSetGlobalAttrData notes `scrollField -q -tx "+ $text +"`; deleteUI "+ $windowName +"; zooSendEmailForSlot `zooGetSelectedAssets` \"-notes 1\";" ) $save; + button -e -l "delete note" -c( "zooSetGlobalAttrData notes \"\"; deleteUI "+ $windowName ) $rem; + } + + showWindow $windowName; + } + + +//------ +//window for pre/post mel command editing +//------ +global proc zooAssetsMELWindow( int $slot ) { + zooPresetManager; + + string $windowName = "zooAssetsMELWindow"; + string $windowTitle = "pre/post MEL for slot "+ $slot; + string $preMELStr = `zooGetAttrData $slot preMEL`; + string $postMELStr = `zooGetAttrData $slot postMEL`; + int $slots[] = `zooGetSelectedAssets`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + string $x = `size $slots`? "*": ""; + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 200 -height 150 $windowName; + string $form = `formLayout`; + string $preMELLbl = `text -l "pre MEL command"`; + string $preMEL = `scrollField -tx $preMELStr`; + string $preMELPrev = `checkBox -l "preview" -cc( "{ if( #1 ) zooSetAttrData "+ $slot +" preMEL ( `scrollField -q -tx "+ $preMEL +"` ); string $c = `zooGetAttrData "+ $slot +" preMEL`; if( #1 ) $c = `zooGetAssetMEL "+ $slot +" pre`; scrollField -e -ed (!(#1)) -tx $c "+ $preMEL +"; }" ) zooAssetsPreMELCheckPreview`; + string $postMELLbl = `text -l "post MEL command"`; + string $postMEL = `scrollField -tx $postMELStr`; + string $postMELPrev = `checkBox -l "preview" -cc( "{ if( #1 ) zooSetAttrData "+ $slot +" postMEL ( `scrollField -q -tx "+ $postMEL +"` ); string $c = `zooGetAttrData "+ $slot +" postMEL`; if( #1 ) $c = `zooGetAssetMEL "+ $slot +" post`; scrollField -e -ed (!(#1)) -tx $c "+ $postMEL +"; }" ) zooAssetsPostMELCheckPreview`; + string $save = `button -en( !$locked ) -l( $x +"save" ) -c( "if( !`checkBox -q -v zooAssetsPreMELCheckPreview` ) zooChangeDataWrapper "+ $slot +" preMEL ( `scrollField -q -tx "+ $preMEL +"` ); if( !`checkBox -q -v zooAssetsPostMELCheckPreview` ) zooChangeDataWrapper "+ $slot +" postMEL ( `scrollField -q -tx "+ $postMEL +"` ); deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel updateMEL "+ $slot )`; + string $delete = `button -l( $x +"delete cmds" ) -c( "zooChangeDataWrapper "+ $slot +" preMEL \"\"; zooChangeDataWrapper "+ $slot +" postMEL \"\"; deleteUI "+ $windowName +"; zooAssetsWindowFunctionsSel updateMEL "+ $slot )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + + popupMenu -p $preMELLbl -pmc( "zooPrePostPresetMenu "+ $slot +" zooAssetsPreMELPresetPup "+ $preMEL +";" ) zooAssetsPreMELPresetPup; + popupMenu -p $postMELLbl -pmc( "zooPrePostPresetMenu "+ $slot +" zooAssetsPostMELPresetPup "+ $postMEL +";" ) zooAssetsPostMELPresetPup; + formLayout -e + -af $preMELLbl "top" 1 + -af $preMELLbl "left" 0 + + -af $preMELPrev "top" 1 + -af $preMELPrev "right" 0 + + -ac $preMEL "top" 1 $preMELLbl + -af $preMEL "left" 0 + -af $preMEL "right" 0 + -ap $preMEL "bottom" 10 48 + + -ac $postMELLbl "top" 1 $preMEL + -af $postMELLbl "left" 0 + + -ac $postMELPrev "top" 1 $preMEL + -af $postMELPrev "right" 0 + + -ac $postMEL "top" 1 $postMELLbl + -af $postMEL "left" 0 + -af $postMEL "right" 0 + -ac $postMEL "bottom" 0 $save + + -af $save "left" 0 + -ap $save "right" 0 33 + -af $save "bottom" 0 + + -ap $delete "left" 0 33 + -ap $delete "right" 0 67 + -af $delete "bottom" 0 + + -ap $canc "left" 0 67 + -af $canc "right" 0 + -af $canc "bottom" 0 + $form; + + showWindow $windowName; + } + + +global proc zooPrePostPresetMenu( int $slot, string $parent, string $textField ) { + string $locales[] = {}; + string $presets[] = `zooListAllPresets zooAssets txt $locales 1`; + //string $presets[] = `zooListPresets "global" zooAssets txt`; + + setParent -m $parent; + menu -e -dai $parent; + + for( $n=0; $n<`size $presets`; $n++ ) { + string $file = `zooGetPresetDirectory $locales[$n] zooAssets` + $presets[$n]; + menuItem -l( `match "^[^.]+" $presets[$n]` ) -c( "{string $contents[] = `zooReadFile \""+ $file +"\" \"\"`; string $contentsStr = `zooArrayToStr_str $contents \"\"`; scrollField -e -tx $contentsStr "+ $textField +";}" ); + } + menuItem -d 1; + menuItem -l "save preset" -c( "{string $ans = `promptDialog -m \"preset name:\" -b \"OK\" -b \"Cancel\" -db \"OK\"`; if( $ans == \"OK\" ) {string $name = `promptDialog -q -tx`;zooSavePreset \"global\" zooAssets txt $name `scrollField -q -tx "+ $textField +"`;}}" ); + menuItem -d 1; + menuItem -l "manage presets" -c( "zooPresetManagerWin \"global\" zooAssets txt;" ); + } + + +global proc zooAssetsArithmeticWindow( int $slot, int $startEnabled, int $endEnabled ) { + string $windowName = "zooAssetsArithmeticWindow"; + string $windowTitle = "shotlist for slot "+ $slot; + + if( `size (zooGetSelectedAssets())`) $windowTitle = "shotlist for selected slots"; + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 200 -height 100 $windowName; + string $form = `formLayout`; + string $rads = `radioCollection zooAssetsArithmeticRadios`; + string $opsCol = `columnLayout -rs 5 -adj 1`; + string $addRad = `radioButton -sl -l "add" add`; + string $multRad = `radioButton -l "muliply" mult`; + setParent ..; + string $startChk = `checkBox -l "start" -v $startEnabled -cc( "control -e -en #1 zooAssetsArithmeticStart;" )`; + string $start = `floatField -en $startEnabled -v 0 -w 70 zooAssetsArithmeticStart`; + string $endChk = `checkBox -l "end" -v $endEnabled -cc( "control -e -en #1 zooAssetsArithmeticEnd;" )`; + string $end = `floatField -en $endEnabled -v 0 -w 70 zooAssetsArithmeticEnd`; + string $save = `button -l "apply" -c( "zooApplyArithmetic "+ $slot )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + + formLayout -e + -af $opsCol "top" 0 + -af $opsCol "left" 0 + + -af $startChk "top" 3 + -ac $startChk "left" 10 $opsCol + -an $startChk "bottom" + + -af $start "top" 3 + -af $start "right" 0 + -an $start "bottom" + + -ac $endChk "top" 3 $start + -ac $endChk "left" 10 $opsCol + -an $endChk "bottom" + + -ac $end "top" 0 $start + -af $end "right" 0 + -an $end "bottom" + + -af $save "left" 0 + -ap $save "right" 1 50 + -af $save "bottom" 0 + + -ap $canc "left" 1 50 + -af $canc "right" 0 + -af $canc "bottom" 0 + $form; + + showWindow $windowName; + } + + +global proc zooApplyArithmetic( int $slot ) { + string $operation = `radioCollection -q -sl zooAssetsArithmeticRadios`; + string $optionStr = "-operation "+ $operation; + float $start = `floatField -q -v zooAssetsArithmeticStart`; + float $end = `floatField -q -v zooAssetsArithmeticEnd`; + int $doStart = `control -q -en zooAssetsArithmeticStart`; + int $doEnd = `control -q -en zooAssetsArithmeticEnd`; + int $slots[] = `zooGetSelectedAssets`; + + if( !`size $slots` ) $slots = { $slot }; + if( $doStart ) $optionStr += " -startFactor "+ $start; + if( $doEnd ) $optionStr += " -endFactor "+ $end; + zooRangeArithmetic $optionStr $slots; + zooAssetsWindowFunctionsSel updateTime $slot; + } + + +//------ +//highlights (changes the colour) the current shot in the UI. it is usually called by a scriptJob triggered by time change +//------ +global proc zooHighlightActiveAsset( int $force ) { + int $userSetting = `optionVar -ex zooHighlightActiveAsset`? `optionVar -q zooHighlightActiveAsset`: 0; + if( !$userSetting && !$force ) return; + + int $slots[] = `zooListAssets`; + int $currentSlots[] = `zooGetCurrentAssets`; + + zooRevertAssetColour -1; + for( $n in $currentSlots ) zooColourAsset $n active; + } + + +//------ +//reverts all slot colours to their pre-determined colours +//------ +global proc zooRevertAssetColour( int $slot ) { + int $slots[] = `zooListAssets`; + + if( $slot > -1 ) $slots = { $slot }; + for( $n in $slots ) { + zooColourAsset $n `zooGetAttrData $n colour`; + if( `zooGetAttrData $n disable` == "1" ) zooColourAsset $n disable; + } + } + + +//------ +//changes the colour of a shot in the UI - NOTE: this is a purely UI function. It only changes the colour of the UI elements. Setting, and querying a slot's colour is done using the standard slot querying and setting functions +//------ +global proc zooColourAssetWrapper( int $slot, string $colour ) { + int $selected[] = `zooGetSelectedAssets`; + if( `size $selected` ) for( $a in $selected ) zooColourAsset $a $colour; + else zooColourAsset $slot $colour; + } + + +//------ +//changes the colour of a shot in the UI - NOTE: this is a purely UI function. It only changes the colour of the UI elements. Setting, and querying a slot's colour is done using the standard slot querying and setting functions +//------ +global proc zooColourAsset( int $slot, string $colour ) { + int $disable = `zooGetAttrData $slot disable`; + if( $disable ) $colour = "disable"; + + string $UIElts[] = `formLayout -q -ca ( "zooAssetFormRanges" + $slot )`; + int $buttsToChange[] = { 2, 4, 6 }; + float $colR = 0.831; + float $colG = 0.816; + float $colB = 0.784; + + //otherwise, set the colour attributes + if( $colour == "active" ) { $colR = 0.0; $colG = 1.0; $colB = 0.0; } + if( $colour == "red" ) { $colR = 0.784; $colG = 0.176; $colB = 0.176; } + if( $colour == "orange" ) { $colR = 1.0; $colG = 0.549; $colB = 0.157; } + if( $colour == "yellow" ) { $colR = 0.922; $colG = 0.922; $colB = 0.447; } + if( $colour == "green" ) { $colR = 0.518; $colG = 0.825; $colB = 0.227; } + if( $colour == "blue" ) { $colR = 0.376; $colG = 0.392; $colB = 0.573; } + if( $colour == "purple" ) { $colR = 0.537; $colG = 0.294; $colB = 0.612; } + if( $colour == "disable" ) { $colR = 0.55; $colG = 0.55; $colB = 0.55; } + + for( $num in $buttsToChange ) { + control -e -bgc $colR $colG $colB -vis 0 $UIElts[$num]; + control -e -vis 1 $UIElts[$num]; + } + } + + +//------ +//returns a list of selected slots +//------ +global proc int[] zooGetSelectedAssets() { + int $slots[] = `zooListAssets`; + int $sel[] = {}; + + if( `size $slots` ) for( $a in $slots ) if( `control -ex ( "zooAssetFormRanges"+ $a )` ) { + string $children[] = `formLayout -q -ca ( "zooAssetFormRanges"+ $a )`; + if( `checkBox -q -v $children[0]` ) $sel[( `size $sel` )] = $a; + } + + return $sel; + } + + +//------ +//this wrapper function basically just calls the zooSetAttrData function, but if slots are selected, then it batch changes relevant slots +//NOTE: this proc actually unlocks each slot before setting its value - so whats the point of locking then you ask? well locking is more of a UI feature than anything else +//editing attributes manually is already hard enough so the locking is more of a UI lock. most functions are disabled when a slot is locked anyway +//------ +global proc zooChangeDataWrapper( int $slot, string $flag, string $value ) { + int $selected[] = `zooGetSelectedAssets`; + int $lockStates[] = {}; + + if( !`size $selected` ) $selected = { $slot }; + for( $a in $selected ) { + $lockStates[( `size $lockStates` )] = `zooLockAsset ( "-slot "+ $a )`; + zooLockAsset ( "-edit 1 -val 0 -slot "+ $a ); + } + + //batch set the values + for( $a in $selected ) zooSetAttrData $a $flag $value; + + //revert the slot's locked status + for( $n=0; $n<`size $lockStates`; $n++ ) zooLockAsset ( "-edit 1 -val "+ $lockStates[$n] +" -slot "+ $selected[$n] ); + } + + +//------ +//builds the RMB menu attached to the object name in the UI +//------ +global proc zooBuildAssetMenu( string $parent, string $slot ) { + string $selObjs[] = `ls -sl`; + string $template = `zooGetAttrData $slot template`; + string $path = `zooGetAttrData $slot path`; + string $prefix = ""; + string $exportFile = `zooGetSlotExportFilepath $slot` +".ext"; + int $disable = `zooGetAttrData $slot disable`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + int $linkToShots = `zooGetAttrData $slot linkToShots`; + int $anim = `zooGetAttrData $slot anim`; + int $shapes = `zooGetAttrData $slot shapes`; + int $start = `zooGetAttrData $slot start`; + int $end = `zooGetAttrData $slot end`; + int $selected[] = `zooGetSelectedAssets`; + int $sel = size($selected); + int $warn = $sel; + int $p4Menu = `optionVar -ex zooAssetsP4Menu`? `optionVar -q zooAssetsP4Menu`: 1; + + if( $sel ) $prefix = "*selected* "; + for( $x in $selected ) if( $slot == $x ) $warn = 0; + + setParent -m $parent; + menu -e -dai $parent; + if( $warn ) { + warning "The current slot isn't part of the selection - changing any values will NOT affect this slot"; + menuItem -l "WARNING" -c( "warning \"The current slot isn't part of the selection - changing any values will NOT affect this slot\";" ); + menuItem -l "copy this assets attributes" -ann "copy this asset's attributes to the currently selected assets" -c( "zooAssetsWindowFunctions copyFrom "+ $slot ); + menuItem -l "unselect all" -ann "un-select all selected assets" -c( "zooAssetSelectionTools unall "+ $slot ); + menuItem -l "select this slot" -ann "add this asset to the selection list" -c( "zooAssetSelectionTools select "+ $slot ); + menuItem -d 1; + } + + if( $sel ) menuItem -l "export selected..." -enable $sel -ann "export all selected assets" -c( "{ for( $a in `zooGetSelectedAssets` ) zooExportAsset $a; }" ); + else menuItem -l "export..." -ann "export this asset" -c( "zooExportAsset "+ $slot ); + menuItem -l "export all object's assets" -ann "export all assets that the current asset's object is associated with" -c( "zooAssetsWindowFunctions exportObj "+ $slot ); + menuItem -l "explore to file" -ann "opens explorer with the dmx file selected" -c( "zooExploreTo \""+ $exportFile +"\";" ); + menuItem -d 1; + + menuItem -en(`size $selObjs`) -l( $prefix + "use selected object" ) -c( "zooAssetsWindowFunctions replaceObj "+ $slot ); + menuItem -d 1; + + //add perforce menu items + if( $p4Menu ) { + string $data[] = {}; + string $dataNames[] = {}; + int $isEdit = `isEdit $exportFile $dataNames $data`; + + if( $isEdit != -1 ) { + menuItem -en $isEdit -l "Submit" -c( "p4submitUI {\""+ $exportFile +"\"};" ); + menuItem -l "Open for Edit" -cb $isEdit -c( "p4_edit {\""+ $exportFile +"\"};" ); + menuItem -en $isEdit -l "Revert" -c( "p4_revert {\""+ $exportFile +"\"};" ); + } + else menuItem -l "Add to Perforce" -c( "" ); + menuItem -d 1; + } + + menuItem -l( $prefix +"custom export path" ) -cb( $path != "" ) -c( "zooSetAssetAttrWindow "+ $slot +" path" ); + + if( `exists zooShotsUtils` ) menuItem -l( $prefix +"link to shots" ) -cb $linkToShots -c( "zooChangeDataWrapper "+ $slot +" linkToShots "+ (!$linkToShots) +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + if( `exists zooShotsUtils` ) menuItem -ob 1 -c( "zooAssetsOpenShotsWindow "+ $slot ); + + menuItem -l "set attribute" -sm 1; + menuItem -l "name" -c( "zooSetAssetAttrWindow "+ $slot +" name;" ); + menuItem -l "start" -c( "zooSetAssetAttrWindow "+ $slot +" start;" ); + menuItem -l "end" -c( "zooSetAssetAttrWindow "+ $slot +" end;" ); + setParent -m ..; + menuItem -l( $prefix +"search & replace data..." ) -ann "open the search/replace data window" -c( "zooAssetsSearchReplaceWindow "+ $slot ); + menuItem -l( $prefix +"select asset's object" ) -ann "select the object that this asset manages" -c( "select -cl; zooAssetsWindowFunctionsSel select "+ $slot ); + menuItem -l( $prefix +"duplicate asset" ) -ann "duplicate this asset and all its settings" -c( "zooAssetsWindowFunctions duplicate "+ $slot ); + + menuItem -d 1; + menuItem -l( $prefix +"lock asset" ) -cb $locked -c( "zooAssetsWindowFunctions lock "+ $slot ); + menuItem -en(!$locked) -l( $prefix +"disable asset" ) -cb $disable -c( "zooAssetsWindowFunctions disable "+ $slot ); + menuItem -d 1; + menuItem -en(!$locked) -l( $prefix +"delete asset" ) -c( "zooAssetsWindowFunctions delete "+ $slot ); + menuItem -d 1; + menuItem -enable 0 -l( "-slot "+ $slot +": "+ ( $end-$start+1 ) +" frames-" ); + } + + +//------ +//build the rmb menu on the time buttons +//------ +global proc zooBuildAssetTimeMenu( string $parent, string $function, string $slot ) { + int $current = `currentTime -q`; + int $timeStart = `playbackOptions -q -min`; + int $sceneStart = `playbackOptions -q -ast`; + int $timeEnd = `playbackOptions -q -max`; + int $sceneEnd = `playbackOptions -q -aet`; + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + int $disable = `zooGetAttrData $slot disable`; + int $linkToShots = `zooGetAttrData $slot linkToShots`; + + setParent -m $parent; + menu -e -dai $parent; + if( $linkToShots ) if( !`exists zooGetCurrentShot` ) zooShotsUtils; + switch( $function ) { + case "start": + if( $linkToShots ) { + int $currentShot = `zooGetCurrentShot`; + int $shots[] = `zooListShots`; + + if( `size $shots` ) { + menuItem -en(!$locked) -l( "to current shot: "+ $currentShot ) -c( "zooChangeDataWrapper "+ $slot +" shots \""+ $currentShot +":"+ $currentShot +"\"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to all shots: "+ $shots[0] +" - "+ $shots[( `size $shots`-1 )] ) -c( "zooChangeDataWrapper "+ $slot +" shots \""+ $shots[0] +":"+ $shots[( `size $shots`-1 )] +"\"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + } + } + else { + menuItem -en(!$locked) -l( "to current: "+ $current ) -c( "zooChangeDataWrapper "+ $slot +" start "+ $current +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to timeline: "+ $timeStart ) -c( "zooChangeDataWrapper "+ $slot +" start "+ $timeStart +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to scene: "+ $sceneStart ) -c( "zooChangeDataWrapper "+ $slot +" start "+ $sceneStart +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + } + menuItem -d 1; + menuItem -l "shot arithmetic" -c( "zooAssetsArithmeticWindow "+ $slot +" 1 0;" ); + menuItem -d 1; + menuItem -l "link to shots" -cb $linkToShots -c( "zooChangeDataWrapper "+ $slot +" linkToShots "+ (!$linkToShots) +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -ob 1 -c( "zooAssetsOpenShotsWindow "+ $slot ); + break; + + case "end": + if( $linkToShots ) { + int $currentShot = `zooGetCurrentShot`; + int $shots[] = `zooListShots`; + + if( `size $shots` ) { + menuItem -en(!$locked) -l( "to current shot: "+ $currentShot ) -c( "zooChangeDataWrapper "+ $slot +" shots \""+ $currentShot +":"+ $currentShot +"\"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to all shots: "+ $shots[0] +" - "+ $shots[( `size $shots`-1 )] ) -c( "zooChangeDataWrapper "+ $slot +" shots \""+ $shots[0] +":"+ $shots[( `size $shots`-1 )] +"\"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + } + } + else { + menuItem -en(!$locked) -l( "to current: "+ $current ) -c( "zooChangeDataWrapper "+ $slot +" end "+ $current +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to timeline: "+ $timeEnd ) -c( "zooChangeDataWrapper "+ $slot +" end "+ $timeEnd +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to scene: "+ $sceneEnd ) -c( "zooChangeDataWrapper "+ $slot +" end "+ $sceneEnd +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + } + menuItem -d 1; + menuItem -l "shot arithmetic" -c( "zooAssetsArithmeticWindow "+ $slot +" 0 1;" ); + menuItem -d 1; + menuItem -l "link to shots" -cb $linkToShots -c( "zooChangeDataWrapper "+ $slot +" linkToShots "+ (!$linkToShots) +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -ob 1 -c( "zooAssetsOpenShotsWindow "+ $slot ); + break; + + case "both": + string $colours[] = { "red", "orange", "yellow", "green", "blue", "purple" }; + string $slotColour = `zooGetAttrData $slot colour`; + if( $linkToShots ) { + int $currentShot = `zooGetCurrentShot`; + int $shots[] = `zooListShots`; + + if( `size $shots` ) { + menuItem -en(!$locked) -l( "to current shot: "+ $currentShot ) -c( "zooChangeDataWrapper "+ $slot +" shots \""+ $currentShot +":"+ $currentShot +"\"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to all shots: "+ $shots[0] +" - "+ $shots[( `size $shots`-1 )] ) -c( "zooChangeDataWrapper "+ $slot +" shots \""+ $shots[0] +":"+ $shots[( `size $shots`-1 )] +"\"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + } + } + else { + menuItem -en(!$locked) -l( "to timeline: "+ $timeStart +" - "+ $timeEnd ) -c( "zooChangeDataWrapper "+ $slot +" start "+ $timeStart +"; zooChangeDataWrapper "+ $slot +" end "+ $timeEnd +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -en(!$locked) -l( "to scene: "+ $sceneStart +" - "+ $sceneEnd ) -c( "zooChangeDataWrapper "+ $slot +" start "+ $sceneStart +"; zooChangeDataWrapper "+ $slot +" end "+ $sceneEnd +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + } + menuItem -l "shot arithmetic" -c( "zooAssetsArithmeticWindow "+ $slot +" 1 1;" ); + menuItem -d 1; + menuItem -l "link to shots" -cb $linkToShots -c( "zooChangeDataWrapper "+ $slot +" linkToShots "+ (!$linkToShots) +"; zooAssetsWindowFunctionsSel updateTime "+ $slot ); + menuItem -ob 1 -c( "zooAssetsOpenShotsWindow "+ $slot ); + menuItem -d 1; + for( $colour in $colours ) menuItem -l $colour -cb( $colour==$slotColour ) -c( "zooLockAsset \"-edit 1 -val 0 -slot "+ $slot +"\";zooChangeDataWrapper "+ $slot +" colour "+ $colour +"; zooColourAssetWrapper "+ $slot +" "+ $colour +"; zooLockAsset \"-edit 1 -val "+ $locked +" -slot "+ $slot +"\";" ); + menuItem -d 1; + menuItem -l "none" -cb( $slotColour=="" ) -c( "zooLockAsset \"-edit 1 -val 0 -slot "+ $slot +"\";zooChangeDataWrapper "+ $slot +" colour \"\"; zooColourAssetWrapper "+ $slot +" none; zooLockAsset \"-edit 1 -val "+ $locked +" -slot "+ $slot +"\";" ); + menuItem -d 1; + menuItem -l "lock slot" -cb $locked -c( "zooAssetsWindowFunctions lock "+ $slot ); + menuItem -en(!$locked) -l "disable slot" -cb $disable -c( "zooAssetsWindowFunctions disable "+ $slot ); + menuItem -ob 1 -c( "zooAssetsOpenShotsWindow "+ $slot ); + break; + } + } + + +global proc zooBuildAssetSelectMenu( string $parent, int $slot ) { + string $prefix = ""; + int $selected[] = `zooGetSelectedAssets`; + int $sel = size($selected); + int $locked = `zooLockAsset ( "-slot "+ $slot )`; + + if( $sel ) $prefix = "*selected* "; + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "select all" -ann "select all assets" -c( "zooAssetSelectionTools all "+ $slot ) -rp E; + menuItem -l "select above" -ann "select all assets above this one" -c( "zooAssetSelectionTools above "+ $slot ) -rp NE; + menuItem -l "select below" -ann "select all assets below this one" -c( "zooAssetSelectionTools below "+ $slot ) -rp SE; + menuItem -l "unSelect above" -ann "un-select all assets above this one" -c( "zooAssetSelectionTools unabove "+ $slot ) -rp NW; + menuItem -l "unSelect below" -ann "un-select all assets below this one" -c( "zooAssetSelectionTools unbelow "+ $slot ) -rp SW; + menuItem -l "unselect all" -ann "un-select all slots" -c( "zooAssetSelectionTools unall "+ $slot ) -rp W; + menuItem -l "select current assets" -ann "selects all assets which are currently active - ie which encompass the current time" -c( "{zooAssetSelectionTools unall "+ $slot +"; int $slots[] = `zooGetCurrentAssets`; for( $s in $slots ) zooAssetSelectionTools single $s;}" ); + menuItem -l "select object's assets" -ann "select all assets that this asset's object is plugged into" -c( "{string $o = `zooGetAssetObj "+ $slot +"`; int $slots[] = `zooGetObjAssets $o`; for( $s in $slots ) zooAssetSelectionTools single $s;}" ); + menuItem -d 1; + menuItem -en(size(ls("-sl"))) -l( $prefix + "use selected object" ) -ann "plug the currently selected object into this asset's slot" -c( "zooAssetsWindowFunctions replaceObj "+ $slot ); + menuItem -l( $prefix +"lock asset"+ ($sel? "s": "")) -cb $locked -ann "change the lock state of this asset" -c( "zooAssetsWindowFunctions lock "+ $slot +";zooAssetsWindowFunctions updateEditable "+ $slot +";" ); + } + + +//------ +// +//------ +global proc zooBuildExportPathMenu( string $parent ) { + string $localAnim = "c:/project/animation/"; + string $localMesh = "c:/project/meshes/"; + string $localCutscene = "c:/project/cutscenes/"; + string $serverAnim = "//network/project/animation/"; + string $serverMesh = "//network/project/meshes/"; + string $serverCutscene = "//network/project/cutscenes/"; + string $curPath = `zooGetGlobalAttrData path`; + + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "local/animation" -cb( $curPath == $localAnim ) -c( "textField -e -tx \""+ $localAnim +"\" zooAssetsTextGlobalPath; zooSetGlobalAttrData path \""+ $localAnim +"\"" ); + menuItem -l "local/meshes" -cb( $curPath == $localMesh ) -c( "textField -e -tx \""+ $localMesh +"\" zooAssetsTextGlobalPath; zooSetGlobalAttrData path \""+ $localMesh +"\"" ); + menuItem -l "local/cutscene" -cb( $curPath == $localCutscene ) -c( "textField -e -tx \""+ $localCutscene +"\" zooAssetsTextGlobalPath; zooSetGlobalAttrData path \""+ $localCutscene +"\"" ); + menuItem -l "network/animation" -cb( $curPath == $serverAnim ) -c( "textField -e -tx \""+ $serverAnim +"\" zooAssetsTextGlobalPath; zooSetGlobalAttrData path \""+ $serverAnim +"\"" ); + menuItem -l "network/mesh" -cb( $curPath == $serverMesh ) -c( "textField -e -tx \""+ $serverMesh +"\" zooAssetsTextGlobalPath; zooSetGlobalAttrData path \""+ $serverMesh +"\"" ); + menuItem -l "network/cutscene" -cb( $curPath == $serverCutscene ) -c( "textField -e -tx \""+ $serverCutscene +"\" zooAssetsTextGlobalPath; zooSetGlobalAttrData path \""+ $serverCutscene +"\"" ); + menuItem -d 1; + menuItem -l "default" -cb( $curPath == `zooGetGlobalAttrDefault path` ) -c( "textField -e -tx `zooGetGlobalAttrDefault path` zooAssetsTextGlobalPath; zooSetGlobalAttrData path \"\"" ); + } + + +global proc zooBuildSlotExportPathMenu( int $slot, string $parent ) { + string $localAnim = "c:/project/animation/"; + string $localMesh = "c:/project/meshes/"; + string $localCutscene = "c:/project/cutscenes/"; + string $serverAnim = "//network/project/animation/"; + string $serverMesh = "//network/project/meshes/"; + string $serverCutscene = "//network/project/cutscenes/"; + string $curPath = `zooGetAttrData $slot path`; + + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "local/animation" -cb( $curPath == $localAnim ) -c( "textField -e -tx \""+ $localAnim +"\" zooAssetsSetAttrInput; zooSetAttrData "+ $slot +" path \""+ $localAnim +"\"" ); + menuItem -l "local/meshes" -cb( $curPath == $localMesh ) -c( "textField -e -tx \""+ $localMesh +"\" zooAssetsSetAttrInput; zooSetAttrData "+ $slot +" path \""+ $localMesh +"\"" ); + menuItem -l "local/cutscene" -cb( $curPath == $localCutscene ) -c( "textField -e -tx \""+ $localCutscene +"\" zooAssetsSetAttrInput; zooSetAttrData "+ $slot +" path \""+ $localCutscene +"\"" ); + menuItem -l "network/animation" -cb( $curPath == $serverAnim ) -c( "textField -e -tx \""+ $serverAnim +"\" zooAssetsSetAttrInput; zooSetAttrData "+ $slot +" path \""+ $serverAnim +"\"" ); + menuItem -l "network/mesh" -cb( $curPath == $serverMesh ) -c( "textField -e -tx \""+ $serverMesh +"\" zooAssetsSetAttrInput; zooSetAttrData "+ $slot +" path \""+ $serverMesh +"\"" ); + menuItem -l "network/cutscene" -cb( $curPath == $serverCutscene ) -c( "textField -e -tx \""+ $serverCutscene +"\" zooAssetsSetAttrInput; zooSetAttrData "+ $slot +" path \""+ $serverCutscene +"\"" ); + } + + +//------ +//builds the rmb popupMenu for an asset +//------ +global proc zooAssetsBuildPopMenu( string $parent ) { + string $prefix = `zooGetGlobalAttrData prefix`; + string $orderMode = `optionVar -ex zooAssetsOrderMode`? `optionVar -q zooAssetsOrderMode`: "slot"; + int $showNames = `optionVar -ex zooShowActualAssetNames`? `optionVar -q zooShowActualAssetNames`: 0; + int $hideDisabled = `optionVar -ex zooHideDisabledAssets`? `optionVar -q zooHideDisabledAssets`: 0; + int $slots[] = `zooOrderAssets $orderMode`; + int $actSlots[] = `zooGetCurrentAssets`; + + setParent -m $parent; + menu -e -dai $parent; + for( $a in $slots ) { + int $disable = `zooGetAttrData $a disable`; + if( $disable && $hideDisabled ) continue; + + string $name = `zooGetAttrData $a name`; + float $curTime = `currentTime -q`; + int $start = `zooGetAttrData $a start`; + int $end = `zooGetAttrData $a end`; + int $isCurrent = 0; + + if( $name == "" ) $name = "<-unnamed->"; + if( $showNames ) $name = $prefix + $name; + if( $start <= $curTime && $end >= $curTime ) $isCurrent = 1; + string $label = $disable? ( $name +" (disabled)" ): $name; + + menuItem -l $label -cb $isCurrent -c( "zooAssetsWindowFunctions both "+ $a ); + menuItem -ob 1 -c( "zooExportAsset "+ $a ); + } + + menuItem -d 1; + menuItem -l "show full names" -cb $showNames -c( "zooAssetsWindowFunctions toggleNameView "+ (!$showNames)); + menuItem -l "hide disabled" -cb $hideDisabled -c( "zooAssetsWindowFunctions toggleHideOption "+ (!$hideDisabled)); + menuItem -l "open assets..." -c( "zooAssets;" ); + menuItem -d 1; + menuItem -l "export all" -c( "zooExportAll;" ); + } + + +//installs a shelf buttons for zooTriggered on the current shelf +global proc zooAssetsSetup() { + string $button = `zooInstallShelfButton zooAssets`; + string $image = `internalVar -userBitmapsDir` +"zooAssets.xpm"; + string $cmd = "zooAssets;"; + + shelfButton -e -image1 $image -label "zooAssets shelf button" -ann "load the zooAssets UI" -command $cmd $button; + zooTrigInstallShelfPopup; + } + + +//------ +//returns information about this script +//------ +global proc string zooAssetsInfo( string $function ) { + string $creationDate = "09 June 2004"; + string $currentVersion = "4.07.03"; + + if ( $function == "created" ) $info = $creationDate; + if ( $function == "version" ) $info = $currentVersion; + return $info; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAssetsDependencies.mel b/2009-x64/zooScripts/scripts/zooAssetsDependencies.mel new file mode 100644 index 0000000..208fd90 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssetsDependencies.mel @@ -0,0 +1,34 @@ +global proc string[] zooAssetsDependencies( string $mode ) { + string $melDependencies[] = {}; + string $includeFiles[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_int"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooAssetsUtils"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooObjMenuUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooStrUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $includeFiles[( `size $includeFiles` )] = "zooAssetsWin"; + $includeFiles[( `size $includeFiles` )] = "zooAssets_RWExtensions"; + $helpDependencies[( `size $helpDependencies` )] = "zooAssetsHelp"; + $helpDependencies[( `size $helpDependencies` )] = "zooAssetsTechnical"; + $iconDependencies[( `size $iconDependencies` )] = "zooAssets.xpm"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-deps" ) return $melDependencies; + if( $mode == "-docs" ) return $helpDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-scripts" ) { + $return = $melDependencies; + $return = `zooAddArray_str $return $includeFiles`; + $return = `stringArrayRemoveDuplicates $return`; + } + + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooAssetsHelp.zooHelp b/2009-x64/zooScripts/scripts/zooAssetsHelp.zooHelp new file mode 100644 index 0000000..5dedff5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssetsHelp.zooHelp @@ -0,0 +1,61 @@ +----Managing Objects---- +zooAssets manages objects in your scene by connecting them to a node in your scene. Each asset connected to this node is assigned a unique slot number. This slot number is then used to uniquely name attributes associated with an asset. These attributes are used to store information associated with that asset such as its name, notes, pre/post export mel data etc... So zooAssets basically provides you an interface to easily create and maintain a list of assets within a scene. If you want to explore the assets node yourself, you can select it though Export->Select Node. + +To manage an object, select it, and press the "manage selected objects" button down the bottom of the UI. This will create a slot for that object, and add it to the UI. Each asset is represented by a row in the UI. You can then edit the information associated with a slot by right clicking anything in that row. + +To the far left of an asset's row is a checkBox. Checking these boxes allow you to "select" multiple assets. By selecting multiple assets, you can change any setting in the right click menu for all selected assets. This allows you to easily make changes to many assets easily. Also by right click the selection checkBoxes you can perform advanced selection functions. Selecting all assets above or below a given slot, or selecting all of an object's assets can be done through the selection right click menu. + + +----Setting Export Path---- +The "export options" section contains global settings that pertain to the entire scene. The export path in here is where all assets are exported to. By default, it exports to the "batch_export" path of the current project. + + +----Notification Emails---- +You can get zooAssets to send an email certain people to notify them when scene assets change anre have been re-exported. The people to notify are set on a per scene basis. So for instance, if you have 5 animation assets in a scene, when one of them changes, you can tell assets to fire off an email to all the people in your notification list that the selected assets have been updated. + +To set the people in your notification list, you can either go through the menu Export->Notify People, or you can go to your "export options", and right click the text input field. You can manually edit this field if one of the people you want to notify is not in the right click menu. + +To send email, select the slots you have re-exported, and go to Export->Send Email. + +IMPORTANT NOTE: don't rely on zooAssets to do your communication for you. The email function is there to make life easier, not remove your responsibility to communicate with the rest of the team. make sure you follow up emails sent every now and then because if zooAssets fails to send the email properly, you won't be given an error notification because of the way the email process works. + + +----Changing A Slots Object---- +It is easy to change which object is plugged into a slot. Select the new object, right click the slot, and select the "use selected object" menu item. + + +----Pre/Post Export MEL Commands---- +You can assign a pre or post export MEL command to an asset. This is useful for times when you want set up your scene in a different fashion to exporting. For example, if you were working on a cutscene with multiple characters, its often ideal to unload all referenced characters. Obviously if the characters are unloaded, the export will fail. So you could set up your pre-export MEL command to load the reference, and the post-export mel could unload it again once the export has finished. + +The most important thing to be aware of when using pre/post export MEL commands is that the command strings can use a variety of "meta-variables". The meta-variables are symbols that get replaced with node names when the command is executed. For example, if you wanted to know the slot number of the MEL command was being executed from, you would use the @ symbol. + +The following symbols are supported: +# - the object being managed by the slot +%slot - the slot number +%prefix - the global prefix +%name - the asset name +%attr - the data for an attribute called "attr" + +you can also use zooTriggered symbols in pre/post export MEL commands. The connects are taken from the object being managed by a slot. For more information about symbols used in zooTriggered please refer to the zooTriggered help files. + +These symbols get replaced with the actual values before the command is executed. So for example, if you wanted to set an attribute on the managed object, you could use this quasi-MEL command: + +setAttr #.tx 5; + + +----View Filtering---- +For scenes with many assets in them, finding a particular asset in the list can be frustrating. zooAssets offers you a few ways to filter the list of assets in your scene. The expandable tab down the bottom of the window lets you specify a name filter, time range filters, and selection filters. To enable the time range filter, simply right click on the label. This will make the input field editable and tell zooAssets that you want to filter based on time ranges. + +There are also other ways to filter and order the view of assets in your scene. In the View menu you can choose from one of three different ordering methods. These allow you to view assets in a variety of different ways. + +You can also ask zooAssets to hide any disabled assets. A disabled asset doesn't get exported when you do an export all. This is a way of keeping the asset in your scene, but flagging it as a "not used" asset. By disabling assets, you can keep multiple versions of an asset in the scene and still make it clear which asset to use. + + +----Batch Management---- +When setting attributes for an asset, zooAssets will check to see if you have any assets selected. If you do, it will make any changes to the assets you have selected only. Regardless of which asset you click on. If you click on an asset thats not part of the selection, a warning will be issued. + +You can copy settings from one slot to another. First, select the target assets - the assets you want to be copies. Then right click the slot you want to copy from, and choose "copy this assets attributes". This procedure will copy all settings from the source asset - except the object being managed by the slot. So copying isn't quite the same as duplicating. + +The other great batch editing tool available is the search & replace function. To do a search and replace, first select the assets you want to work on, right click them and choose the "search & replace". A window will open asking you to choose which attribute you want to do the search and replace on. So you might want to do a search and replace on the asset names of a bunch of assets. Or perhaps you want to replace something in the notes etc... + +Then simply enter the search string, and the replace string and hit go. \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAssetsTechnical.zooHelp b/2009-x64/zooScripts/scripts/zooAssetsTechnical.zooHelp new file mode 100644 index 0000000..b62555c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssetsTechnical.zooHelp @@ -0,0 +1,59 @@ +----Using Assets With Your Exporter---- +Assets can be used with absolutely any Maya asset exporter provided that exporter plugin can be controlled via MEL. It has been used successfully with RenderWare and at least one other proprietary exporter. + +Its pretty easy really, and there's only one procedure that you have to modify. The procedure is called zooExportAsset and resides in the zooAssetsUtils script. There is already a lot of code in the procedure for gathering the basic data from an asset (such as where to export it to, the name of the exported file, the start and end time for the asset etc...) so all you really need to do is add the actual export command to the procedure and thats it. + +If you're using RenderWare then things are a little trickier. There is a script that comes with zooAssets that can make life easier for you. Its called zooAssets_RWExtension.mel and it contains 2 procedures and some code to add to the zooExportAsset procedure. It should allow the export process to work using RenderWare, but you'll still need to add support for the RenderWare templates to the zooAssets interface (which is very easy to do). + + +----Storing Data On An Asset---- +You can store any sort of data you want with an asset. For example, if you were trying to use the zooAssets script in conjunction with the RenderWare exporter, you'd probably need to add support for different templates. For example, you might want to have one asset using a bindpose template, another using a lit mesh template and yet another using a level template. + +To do so, you simply need to alter the procedure in the zooAssets script called zooBuildAssetMenu. This procedure is responsible for building the menu that pops up when you right click on an asset in the interface. Its through this menu that most interaction occurs. So just say you wanted to add a template option to the right click menu. You could add code like this: + +string $template = `zooGetAttrData $slot template`; +menuItem -l "template" -sm 1; +menuItem -l "bindpose" -cb( $template == "RW Template.rwt" ) -c( "zooSetAttrData "+ $slot +" template \"RW Template.rwt\"" ); +menuItem -l "lit mesh" -cb( $template == "RW Other Template.rwt" ) -c( "zooSetAttrData "+ $slot +" template \"RW Other Template.rwt\"" ); +menuItem -l "level" -cb( $template == "RW Level.rwt" ) -c( "zooSetAttrData "+ $slot +" template \"RW Level.rwt\"" ); + +Thats as simple as it needs to be. Although you might want to set a default value for the template attribute by altering the zooGetAttrDefault procedure. + + +----Attribute Defaults---- +You can give any attribute a default value simply by altering the zooGetAttrDefault procedure found in the zooAssetsUtils script. If you want to add a new attribute to an asset and set a default value for it, then simply copy one of the existing lines, and change the attribute name, and set a default value. + + +----Management Node Flags---- +The two most useful commands in zooAssets are the attr query and editing commands: zooGetAttrData and zooSetAttrData + +zooGetAttrData $slot attrName; +zooSetAttrData $slot attrName newData; + +The following attributes are coded into the present UI: + +start this is the start frame for the asset + +end this is the end frame for the asset + +name this is the asset name. The asset name can only contain letters, numbers and underscores, just like a normal maya node name + +colour this flag enables colouring of slots in the viewport. changing a slot's colour is purely a visual UI thing, and has no effect on anything else. valid choices are: red, green, yellow etc... + +notes this flag is used to store miscellaneous notes + +pre this is the pre-export MEL command + +post this is the post-export MEL command + +path this is the custom export path for the asset + + +There are also global attributes that the assets node stores. These attributes are queried and set using the following commands: + +zooGetGlobalAttr attrName; +zooSetGlobalAttr attrName newData; + +path this is the path to which files are exported. All files will be exported to this directory + +fullNames stores whether to display full asset names in the UI or not \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAssetsTips.txt b/2009-x64/zooScripts/scripts/zooAssetsTips.txt new file mode 100644 index 0000000..79dafbf --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssetsTips.txt @@ -0,0 +1,17 @@ +Assets is an all purpose asset management tool. It can be used to manage game objects, animations, rigs, cameras etc... Anything that needs to be exported can be managed as an asset through Assets +Right clicking an asset gives you access to most common functions +The checkBoxes down the left side of the window are used to select multiple assets. If you select a bunch of assets, then changing a setting in the right click menu will affect all selected assets +For animated assets, you can either enter explicit start and end times, or you can tell assets to read the start and end times from shots, the camera management script.||to do this, you must link the asset to shots, and then in the option box, assign a start and end shot. They can be the same if you want the animation to be just for a single shot +The button to the far right of an asset is the notes button. Clicking on this button opens up a window that lets you associate a note with an asset. These notes get automatically added to any emails you send through assets, so they're a useful way of communicating with other departments when assets are re-exported||Notes are also a good way to keep track of what assets are used for what for both yourself, and anyone else who may happen to inherit your work +When you export, Assets checks to see if you've specified a pre-export mel command. If you have, it will execute it. This allows you to make scene changes just before an asset is exported, and can help you to configure asset export differently from day to day scene interaction.||You can also set post-export mel commands +You can configure Assets to send an export notification email to certain people. The notification email by default contains the names and any notes associated with selected slots. You can also specify a custom note to add to the head of the email if you want by selecting the option box||You need to select assets to send notification emails +You can lock slots which stops them from being modified. Locking a slot locks absolutely everything about it +You can also disable a slot. Disabling a slot keeps the slot around, but it you can no longer export it. Disabled slots are useful for times you may want to have multiple variations of an asset in your scene +If you're not using Assets to manage animated assets, you may want to turn off the "Auto Highlighting" in the View menu. Auto highlighting will automatically highlight which slot corresponds to the current time value +Assets now has view filtering. If you have many assets in your scene, you can find certain assets in the list quickly by doing a name filter.||Simply expand the view filter menu and type in the name fragment you want to search for. You can also do primitive range searches +There are now three different types of asset ordering you can do. You can order assets by slot number (the default), by the start range, or by the colour. Ordering assets by colour will group similar coloured assets together, in the same order as the colours appear in the colour menu (chromatical order) +The selection tools now respect what asset order type you're using. So no matter what order you're viewing your assets in, "select above" will always select the assets above the one clicked on +You can copy all settings from one asset to another. Simply select the assets you want to copy settings TO, right click the asset you want to copy settings FROM, and choose "copy this assets attributes" +You can now search and replace words in an assets string based attributes. For example, just say you had three assets called "asset", "another_asset" and "this_is_also_an_asset" and you wanted to change the word asset to anim.||Simply select the three assets, right click one of them and choose "search & replace data...". A window will popup asking you what to search for and what to replace it with. +You can also set custom export paths for an asset. This allows you to override the global export path setting per asset if needed. This can be useful for when you want to have most assets export to one location, but one or two export to a different location +The pre and post export MEL command windows now has a preview button. The preview button will show you the exact code that gets executed for the pre/post MEL command diff --git a/2009-x64/zooScripts/scripts/zooAssetsUtils.mel b/2009-x64/zooScripts/scripts/zooAssetsUtils.mel new file mode 100644 index 0000000..45a0b43 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssetsUtils.mel @@ -0,0 +1,808 @@ +//This is the engine script for zooAssets. +// +//This script basically contains all the core code used to drive zooAssets. So +//the creation and management of assets, default values, export code etc. This +//script alone can be used to manage assets from a command-line. For any UI +//code please refer to the zooAssets.mel script. +// +// ©2007 macaronikazoo.com + + +zooArrays_str; +zooFlags; +zooTriggeredUtils; +zooStrUtils; +zooUtils; +p4; + + +//this dummy proc allows this script to be loaded into memory without having to +//actually source the script. By simply calling zooAssetsUtils, all procedures +//within this script are loaded into memory +global proc zooAssetsUtils() { + return; + } + + +//------ +//exports all managed objects in the scene +//------ +global proc string zooExportAll() { + string $errors = ""; + int $slots[] = `zooListAssets`; + + for( $a in $slots ) { + string $return = `zooExportAsset $a`; + if( $return == "" ) $errors = $errors +"slot "+ $a +" didn't export correctly\n"; + } + + return $errors; + } + + +//------ +//exports the given object +//an object can be potentially managed in multiple different slots - this proc will find all slots the +//specified object is managed by, and export them all +//------ +global proc string zooExportObj( string $obj ) { + string $errors = ""; + int $slots[] = `zooGetObjAssets $obj`; + + for( $a in $slots ) { + string $return = `zooExportAsset $a`; + if( $return == "" ) $errors = $errors +"slot "+ $a +" didn't export correctly\n"; + } + + return $errors; + } + + +//------ +//exports the given slot, and returns the path of the exported file +//for customisation of this proc, set the extension to whatever your extension +//your exporter exports to, and set the export command. There should be all the +//variables you need already set in this procedure, so use them at will +//------ +global proc string zooExportAsset( int $slot ) { + string $extension = ".exp"; + string $node = `zooGetAssetNode 0`; + if( !`objExists $node` ) return ""; + + string $obj = `zooGetAssetObj $slot`; + string $path = `zooGetSlotExportFilepath $slot` +"."+ $extension; + int $initialHideState = `objExists ( $obj +".v" )`? `getAttr ( $obj +".v")`: 1; + int $preStart = `playbackOptions -q -min`; + int $preEnd = `playbackOptions -q -max`; + int $start = `zooGetAttrData $slot start`; + int $end = `zooGetAttrData $slot end`; + int $animation = `zooGetAttrData $slot anim`; + int $shapes = `zooGetAttrData $slot shapes`; + int $disable = `zooGetAttrData $slot disable`; + + //check the disable state of the slot before proceeding + if( $disable ) { warning( "slot "+ $slot +" is disabled and won't be exported" ); return ""; } + + //check to see if the managed object is from a referenced file. if so, make + //sure the reference is loaded, and after export, restore its load state + int $unloadState = `nodeType $obj` == "reference"; + if( $unloadState ) file -lr $obj; + + //check to see if the export file is open for edit + string $dataNames[] = {}; + string $data[] = {}; + int $isEdit = `isEdit $path $dataNames $data`; + + if( !$isEdit ) p4_edit {$path}; + + //execute pre export MEL command + string $cmd = `zooGetAssetMEL $slot pre`; + if( $cmd != "" ) if( catch( `eval $cmd` )) warning( "pre-export command failed for slot "+ $slot ); + + //exportPluginExportCommand; put the command to invoke the exporter here + //if( $isEdit == -1 ) p4_add {$path}; //if the edit is -1, then the file isn't being managed by perforce - so add it + + //execute post export MEL command + $cmd = `zooGetAssetMEL $slot post`; + if( $cmd != "" ) if( catch( `eval $cmd` )) warning( "post-export command failed for slot "+ $slot ); + + //now revert the scene to the state it was in before export + if( `objExists ( $obj +".v" )` ) if( `getAttr -se ( $obj +".v" )`) setAttr ( $obj +".v") $initialHideState; + if( $unloadState ) file -ur $obj; + + return $path; + } + + +//------ +//returns a list of current slots - current slots encompass the current time. So +//if the current time was 10, then only slots that start before 10 and end after +//10 are returned +//------ +global proc int[] zooGetCurrentAssets() { + float $currentTime = `currentTime -q`; + int $slots[] = `zooListAssets`; + int $starts[] = {}; + int $ends[] = {}; + int $currentSlots[] = {}; + + for( $n=0; $n<`size $slots`; $n++ ) { + $starts[$n] = `zooGetAttrData $slots[$n] start`; + $ends[$n] = `zooGetAttrData $slots[$n] end`; + } + + for( $n=0; $n<`size $slots`; $n++ ) if( $currentTime >= $starts[$n] && $currentTime <= $ends[$n] ) $currentSlots[( `size $currentSlots` )] = $slots[$n]; + + return $currentSlots; + } + + +//------ +//returns the filepath to export a slot to - deals with sorting out whether the +//slot has a custom export path, or whether to use the default global export path +//------ +global proc string zooGetSlotExportFilepath( int $slot ) { + string $globalPath = `zooGetGlobalAttrData path`; + string $assetPath = `zooGetAttrData $slot path`; + string $prefix = `zooGetGlobalAttrData prefix`; + string $path = `zooGetAttrData $slot name`; + + if( $assetPath != "" ) return ( $assetPath + $prefix + $path ); + return( $globalPath + $prefix + $path ); + } + + +//------ +//returns a list of commands required to build an assets node contained in a given +//file. NOTE this command returns a list of commands used to build an assets node +//it doesn't actually build the node itself. So this command is usually used like so: +// +//string $cmds[] = `zooGetAssetsFromFile "c:/temp/file.ma"`; +//for( $cmd in $cmds ) eval $cmd; +//------ +global proc string[] zooGetAssetsFromFile( string $file ) { + string $fileContents[] = {}; + string $buildCmds[] = { "createNode time -n zooAssets" }; + int $foundCmds = 0; + + $fileContents = `zooReadFile $file "-strip 1"`; + for( $line in $fileContents ) { + if( `match "addAttr.*\"zooAssetNode\".*\"bool\"" $line` != "" ) $foundCmds = 1; + if( $foundCmds ) { + if( `match "^createNode" $line` != "" ) return $buildCmds; + $buildCmds[( `size $buildCmds` )] = $line; + } + } + + return $buildCmds; + } + + +//performs basic arithmetic on start/end frames for a given list of assets +global proc zooRangeArithmetic( string $optionStr, int $slots[] ) { + string $temp[] = {}; + string $operation = "add"; + float $startFactor = 0; + float $endFactor = 0; + int $doStart = 0; + int $doEnd = 0; + + if( !`size $slots` ) $slots = `zooGetSelectedAssets`; + $temp = `zooGetFlagArguments $optionStr operation`; if( `size $temp` ) $operation = $temp[0]; + $temp = `zooGetFlagArguments $optionStr startFactor`; if( `size $temp` ) { $startFactor = $temp[0]; $doStart = 1; } + $temp = `zooGetFlagArguments $optionStr endFactor`; if( `size $temp` ) { $endFactor = $temp[0]; $doEnd = 1; } + + for( $slot in $slots ) { + int $start = `zooGetAttrData $slot start`; + int $end = `zooGetAttrData $slot end`; + if( $operation == "mult" ) { + $start = ((float)$start) * $startFactor; + $end = ((float)$end) * $endFactor; + } + else if( $operation == "add" ) { + $start += $startFactor; + $end += $endFactor; + } + if( $doStart ) zooSetAttrData $slot start $start; + if( $doEnd ) zooSetAttrData $slot end $end; + } + } + + +//------ +//copies all attrs from the source slot to the target slots. you can specify a +//list of attributes to exclude from the copy +//------ +global proc zooCopyAttrDataTo( int $source, string $attrsToIgnore[], int $targets[] ) { + string $attrs[] = `zooListAssetAttrs $source`; + $attrs = `zooSubtractArray_str $attrs $attrsToIgnore`; + for( $slot in $targets ) { + string $tgtAttrs[] = `zooListAssetAttrs $slot`; + $tgtAttrs = `zooSubtractArray_str $tgtAttrs $attrsToIgnore`; + for( $attr in $tgtAttrs ) zooDelAttr $slot $attr; //first, delete all attrs on the target slot - this will assure that the targets are identical after the copy + for( $attr in $attrs ) zooSetAttrData $slot $attr `zooGetAttrData $source $attr`; + } + } + + +//------ +//given a list of slots, an attribute to search within this proc goes though the +//given slots and does a search and replace on the attribute data +//------ +global proc zooSearchReplaceAttrData( int $slots[], string $attr, string $search, string $replace ) { + for( $slot in $slots ) { + string $data = `zooGetAttrData $slot $attr`; + string $newData = `zooReplaceInString $data $search $replace`; + zooSetAttrData $slot $attr $newData; + } + } + + +//------ +//deletes a given attribute from a slot +//------ +global proc zooDelAttr( int $slot, string $attr ) { + string $default = `zooGetAttrDefault $slot $attr`; + zooSetAttrData $slot $attr $default; + } + + +//------ +//used to change data stored in an asset attribute +//------ +global proc zooSetAttrData( int $slot, string $attr, string $data ) { + string $node = `zooGetAssetNode 0`; + if( !`objExists $node` ) return; + + string $default = `zooGetAttrDefault $slot $attr`; + string $noDefaultList[] = { "start", "end" }; + int $hasDefault = 1; + + //this section is an optional formatting section - if you want strict formatting + //of attr data, put in a case for the attr name, and proceed to format the data + switch( $attr ) { + case "start": + case "end": + $data = (int)$data; + break; + + case "name": + $data = `zooReplaceChars $data "" "_"`; + break; + + case "path": + $data = `zooScrubPath $data`; + if( $data != "" && `match "/$" $data` == "" ) $data += "/"; + break; + } + + if( !`objExists ( $node+".ast"+$slot )` ) error "slot doesn't exist"; + for( $a in $noDefaultList ) if( $attr == $a ) $hasDefault = 0; + if( $data == $default && $hasDefault ) { + //if the data is being set to the default value, delete the attribute as its no longer needed + if( `objExists ( $node+".ast"+$slot+"_"+$attr )` ) deleteAttr ( $node+".ast"+$slot+"_"+$attr ); + return; + } + + if( !`objExists ( $node+".ast"+$slot+"_"+$attr )` ) addAttr -dt "string" -ln( "ast"+$slot+"_"+$attr ) $node; + setAttr -type "string" ( $node+".ast"+$slot+"_"+$attr ) $data; + } + + +//------ +//returns attribute data for a given slot. if the attribute doesn't exist on the +//slot, then the default data for that attribute is return instead. if you want +//to get the actual data stored for a given attribute, use zooGetActualAttrData +//instead +//------ +global proc string zooGetAttrData( int $slot, string $attr ) { + string $info = `zooGetActualAttrData $slot $attr`; + string $default = `zooGetAttrDefault $slot $attr`; + + if( $info != "" ) return $info; + else return $default; + } + + +//------ +//this proc returns the actual data stored in a slot attribute. so if the +//attribute doesn't exist for the given slot, an empty string is returned +//------ +global proc string zooGetActualAttrData( int $slot, string $attr ) { + string $node = `zooGetAssetNode 0`; + if( !`objExists $node` ) return ""; + + string $default = `zooGetAttrDefault $slot $attr`; + + if( !`objExists ( $node +".ast"+$slot+"_"+$attr )` ) return $default; + string $data = `getAttr ( $node +".ast"+$slot+"_"+$attr )`; + + if( $data == $default && $attr != "start" && $attr != "end" ) return ""; + + //if we're querying start or end times on a slot thats linked to shots, we need to query the start/end time from shots + if( $attr == "start" || $attr == "end" ) { + string $linkToShotsStr = `zooGetActualAttrData $slot linkToShots`; + int $linkToShots = 0; + + if( $linkToShotsStr == "1" ) $linkToShots = 1; + if( $linkToShots ) { + string $shotsStr = `zooGetActualAttrData $slot shots`; + int $shots[] = {}; + + $shots[0] = `match "^[^:]+" $shotsStr`; + $shots[1] = `match "[^:]+$" $shotsStr`; + if( `size $shots` ) { + $shots = `sort $shots`; + if( $attr == "start" ) $data = `zooGetShotInfo start $shots[0]`; + if( $attr == "end" ) $data = `zooGetShotInfo end $shots[(size($shots)-1)]`; + } + } + } + + return $data; + } + + +//------ +//this proc parses the pre/post export MEL command, and substitutes in useful +//meta variables the following meta variables are supported: +// +// # - the object name connected to the slot +// %slot - the slot number +// %prefix - the global prefix +// %name - the slot name +// %path - the path the asset will export to +// all triggered symbols are also supported +// +//for example, try using this as a pre-export command +//print "%prefix%name start: %start end: %end #\n"; +//------ +global proc string zooGetAssetMEL( int $slot, string $prePost ) { + string $cmd = `zooGetAttrData $slot preMEL`; + string $start = `zooGetAttrData $slot start`; + string $end = `zooGetAttrData $slot end`; + string $prefix = `zooGetGlobalAttrData prefix`; + string $globalPath = `zooGetGlobalAttrData path`; + string $path = `zooGetActualAttrData $slot path`; + string $obj = `zooGetAssetObj $slot`; + int $useTriggered = `exists zooTriggeredUtils`; + + if( $path == "" ) $path = $globalPath; //if there isn't a user specified path for the asset, use the global export path + if( $prePost == "post" ) $cmd = `zooGetAttrData $slot postMEL`; + if( $cmd == "" ) return ""; + $cmd = `substituteAllString $cmd "#" $obj`; + while( `match "\%slot" $cmd` != "" ) $cmd = `substitute "\%slot" $cmd ((string)$slot)`; + while( `match "\%prefix" $cmd` != "" ) $cmd = `substitute "\%prefix" $cmd $prefix`; + while( `match "\%path" $cmd` != "" ) $cmd = `substitute "\%path" $cmd $path`; + while( `match "\%[a-zA-Z_]+" $cmd` != "" ) { + string $attr = `match "\%[a-zA-Z_]+" $cmd`; + string $val = ""; + + $attr = `match "[^\%]+$" $attr`; + $val = `zooGetAttrData $slot $attr`; + if( $attr == "preMEL" || $attr == "postMEL" ) $val = "!"; //this is a safeguard, just in case the user tries to sub in the command string + $cmd = `substitute "\%[a-zA-Z_]+" $cmd $val`; + } + if( $useTriggered ) $cmd = `zooPopulateCmdStr $obj $cmd`; + return $cmd; + } + + +//------ +//returns default values for a given attr name - not all attrs have default values, +//but if you want to add a default value, simply add a new if test to this proc +//------ +global proc string zooGetAttrDefault( int $slot, string $attr ) { + string $default = ""; + + if( $attr == "start" ) $default = (int)`playbackOptions -q -min`; + if( $attr == "end" ) $default = (int)`playbackOptions -q -max`; + if( $attr == "disable" ) $default = "0"; + if( $attr == "anim" ) $default = "1"; + if( $attr == "shapes" ) $default = "1"; + if( $attr == "shots" ) $default = "0:0"; + if( $attr == "linkToShots" ) $default = "0"; + + return $default; + } + + +//deals with locking a slot - must be put into edit mode to change the lock state, +//otherwise it assumes query mode +// -edit [bool] needs to be in edit mode for the -val flag to have any effect +// -val [int] 0 is unlocked, 1 is locked, 2 is toggle +// -slot [int] this is the slot number the proc affects +// +//returns the lock state of the slot after the operation (or query) +global proc int zooLockAsset( string $optionStr ) { + string $node = `zooGetAssetNode 0`; + string $info[] = {}; + int $val = 1; + int $edit = 0; + int $slot = 0; + + if( !`objExists $node` ) return -1; + $info = `zooGetFlagArguments $optionStr val`; if( `size $info` ) $val = $info[0]; + $info = `zooGetFlagArguments $optionStr edit`; if( `size $info` ) $edit = $info[0]; + $info = `zooGetFlagArguments $optionStr slot`; if( `size $info` ) $slot = $info[0]; + string $attrs[] = `zooListAssetAttrs $slot`; + + if( $val == 2 ) $val = !`getAttr -l ( $node +".ast"+ $slot +"_"+ $attrs[0] )`; + if( $edit ) for( $attr in $attrs ) setAttr -l $val ( $node +".ast"+ $slot +"_"+ $attr ); + else $val = `getAttr -l ( $node +".ast"+ $slot +"_"+ $attrs[0] )`; + + return $val; + } + + +//------ +//handles making changes to global data +//------ +global proc zooSetGlobalAttrData( string $attr, string $data ) { + string $node = `zooGetAssetNode 1`; + string $default = `zooGetGlobalAttrDefault $attr`; + + //this section is an optional formatting section - if you want strict formatting + //of attr data, put in a case for the attr name, and proceed to format the data + switch( $attr ) { + case "prefix": + $data = `zooReplaceChars $data "" "_"`; + break; + + case "path": + $data = `zooScrubPath $data`; + if( $data != "" && `match "/$" $data` == "" ) $data += "/"; + break; + } + + if( $data == $default || $data == "" ) { + //if the data is being set to the default value, delete the attribute as its no longer needed + if( `objExists ( $node+".global"+$attr )` ) deleteAttr ( $node+".global"+$attr ); + return; + } + + if( !`objExists ( $node+".global"+$attr )` ) addAttr -dt "string" -ln( "global"+$attr ) $node; + setAttr -type "string" ( $node+".global"+$attr ) $data; + } + + +//------ +//gets global info located on the assets node +//------ +global proc string zooGetGlobalAttrData( string $attr ) { + string $node = `zooGetAssetNode 0`; + string $info = `zooGetGlobalAttrDefault $attr`; + + if( !`objExists $node` ) return ""; + if( `objExists ( $node +".global"+ $attr )` ) { + string $data = `getAttr ( $node +".global"+ $attr )`; + if( $data != "" ) $info = $data; + } + return $info; + } + + +//------ +//returns default values for a given attr name - not all attrs have default values, +//but if you want to add a default value, simply add a new if test to this proc +//------ +global proc string zooGetGlobalAttrDefault( string $attr ) { + string $default = ""; + + if( $attr == "path" ) $default = "c:/temp/"; + if( $attr == "fullNames" ) $default = "0"; + + return $default; + } + + +//------ +//duplicates a slot and all data associated with it - the slot number of the +//duplicated slot is returned +//------ +global proc int zooDuplicateAsset( int $slot ) { + string $node = `zooGetAssetNode 0`; + if( !`objExists $node` ) return -1; + + string $attrs[] = `zooListAssetAttrs $slot`; + string $orgName = `zooGetAttrData $slot name`; + string $obj = `zooGetAssetObj $slot`; + int $newSlot = `zooCreateAsset $obj`; + + for( $a in $attrs ) zooSetAttrData $newSlot $a `zooGetActualAttrData $slot $a`; + zooSetAttrData $newSlot name ( $orgName +"_dupe" ); + return $newSlot; + } + + +//------ +//unManages an entire object - disconnects the object from all slots, and deletes +//the attributes associated with those slots +//------ +global proc zooRemoveAssetObject( string $obj ) { + string $node = `zooGetAssetNode 0`; + int $slots[] = `zooGetObjAssets $obj`; + + for( $slot in $slots ) zooRemoveAsset $slot; + } + + +//------ +//deletes a given slot - disconnects the object from the slot, and deletes all +//slot attributes +//------ +global proc zooRemoveAsset( int $slot ) { + string $node = `zooGetAssetNode 0`; + string $attrs[] = `zooListAssetAttrs $slot`; + + if( `getAttr -l ( $node +".ast"+ $slot )`) { warning( "slot "+ $slot +" is locked - please unlock before attempting to delete" ); return; } + if( `objExists ( $node +".ast"+ $slot )`) deleteAttr ( $node +".ast"+ $slot ); + for( $attr in $attrs ) if( `objExists ( $node +".ast"+ $slot +"_"+ $attr )`) deleteAttr ( $node +".ast"+ $slot +"_"+ $attr ); + } + + +//------ +//creates an asset slot for an object +//------ +global proc int zooCreateAsset( string $obj ) { + string $node = `zooGetAssetNode 1`; + string $defaultName = `file -q -sn`; + int $slot = `zooGetNextFreeSlot`; + + $defaultName = `basename $defaultName ".ma"`; + if( !`objExists ($node+".ast"+$slot)` ) addAttr -ln ( "ast"+$slot ) -at bool $node; + zooSetAssetObj $slot $obj; + zooSetAttrData $slot name $defaultName; + zooSetAttrData $slot start `zooGetAttrDefault $slot start`; + zooSetAttrData $slot end `zooGetAttrDefault $slot end`; + + return $slot; + } + + +//------ +//returns a list of objects being managed +//------ +global proc string[] zooListManagedObjs() { + string $node = `zooGetAssetNode 0`; + int $slots[] = `zooListAssets`; + string $objs[] = {}; + + for( $a in $slots ) $objs[( `size $objs` )] = `zooGetAssetObj $a`; + $objs = `stringArrayRemoveDuplicates $objs`; + + return $objs; + } + + +//------ +//returns all the slots an object is managed by. An empty array is returned if +//the object isn't being managed at all +//------ +global proc int[] zooGetObjAssets( string $obj ) { + string $node = `zooGetAssetNode 0`; + int $allSlots[] = `zooListAssets`; + int $objSlots[] = {}; + + for( $a in $allSlots ) { + string $objPath = `connectionInfo -sfd ( $node +".ast"+ $a )`; + string $objName = `match "^[^.]+" $objPath`; + if( $objName == $obj ) $objSlots[( `size $objSlots` )] = $a; + } + return $objSlots; + } + + +//------ +//returns the object being managed by a given slot. returns an empty string if +//the slot isn't managing an object +//------ +global proc string zooGetAssetObj( int $slot ) { + string $node = `zooGetAssetNode 0`; + + if( !`objExists ( $node +".ast"+ $slot )` ) return ""; + string $objPath = `connectionInfo -sfd ( $node +".ast"+ $slot )`; + string $obj = `match "^[^.]+" $objPath`; + if( `objExists $obj` ) return $obj; + return ""; + } + + +//------ +//sets the current object being managed by a given asset slot +//------ +global proc zooSetAssetObj( int $slot, string $obj ) { + string $node = `zooGetAssetNode 0`; + + if( !`objExists ($node+".ast"+$slot)` ) error "slot doesn't exist - use: \"zooCreateAsset objectName\"; to create an asset"; + if( `objExists $obj` ) if( $obj != `zooGetAssetObj $slot` ) if( !`getAttr -l ( $node +".ast"+ $slot )`) connectAttr -f ( $obj +".message" ) ( $node +".ast"+ $slot ); + } + + +//------ +//returns whether a slot is being used or not. -1 returned if the slot doesn't exist +//------ +global proc int zooIsSlotUsed( int $slot ) { + string $node = `zooGetAssetNode 0`; + if( !`objExists ( $node +".ast"+ $slot )` ) return -1; + + string $input = `connectionInfo -sfd ( $node +".ast"+ $slot )`; + string $path = `zooGetActualAttrData $slot name`; + if( $path != "" || `objExists $input` ) return 1; //consider the slot "used" if the path name has been set or the presence of an connected object + return 0; + } + + +//------ +//returns an un-used slot number. this proc is very simple - it simply grabs +//the last slot in the slot list, and adds one. The commented out section is +//will alter the behaviour of this proc. If uncommented, the proc will return +//the smallest available slot, not the largest +//------ +global proc int zooGetNextFreeSlot() { + int $slots[] = `zooListAssets`; + + if( !`size $slots` ) return 0; + else return ( $slots[( `size $slots`-1 )]+1 ); + //for( $a in $slots ) if( !`zooIsSlotUsed $a` ) return $a; + //if( `size $slots`>1 ) for( $n=1; $n<`size $slots`; $n++ ) if( $slots[$n-1]+1 != $slots[$n] ) return ( $slots[$n-1]+1 ); + //return ( $slots[( `size $slots`-1 )]+1 ); + } + + +//------ +//this proc returns an ordered list of slots - the way the slots are ordered +//depends on the $orderMode. the orderMode variable can be one of the following: +// slot - this method simply returns the slots in an ascending order +// range - this method returns the slots in an ascending start range order - ie from the slot with the lowest start, to the highest start +// colour - this method returns a list of slots based on their colour. if no slots have colour, then they're arranged in slot order. the colour order is chromatic ascending +// name - sorts slots based on their asset name +//------ +global proc int[] zooOrderAssets( string $orderMode ) { + string $pref = `optionVar -ex zooAssetsOrderMode`? `optionVar -q zooAssetsOrderMode`: "slot"; + string $slotsStr[] = {}; + int $slots[] = `zooListAssets`; + int $orderedSlots[] = {}; + int $numSlots = `size $slots`; + + if( $orderMode == "" ) $orderMode = $pref; + for( $slot in $slots ) $slotsStr[( `size $slotsStr` )] = $slot; + switch( $orderMode ){ + case "slot": + return $slots; + break; + + case "range": + int $starts[] = {}; + + for( $slot in $slots ) $starts[( `size $starts` )] = (int)`zooGetAttrData $slot start`; + $slotsStr = `zooOrderArrayUsing_str $slotsStr $starts`; + for( $a in $slotsStr ) $orderedSlots[( `size $orderedSlots` )] = $a; + return $orderedSlots; + break; + + case "colour": + string $colourOrders[] = { "red","orange","yellow","green","blue","purple" }; + int $colourIndicies[] = {}; + + for( $n=0; $n<$numSlots; $n++ ) for( $x=0; $x<`size $colourOrders`; $x++ ) { + string $colour = `zooGetAttrData $slots[$n] colour`; + if( $colour == "" ) $colourIndicies[$n] = `size $colourOrders`; + else if( $colour == $colourOrders[$x] ) $colourIndicies[$n] = $x; + } + + $slotsStr = `zooOrderArrayUsing_str $slotsStr $colourIndicies`; + for( $a in $slotsStr ) $orderedSlots[( `size $orderedSlots` )] = $a; + return $orderedSlots; + break; + + case "name": + string $alphabet[] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; + string $names[] = {}; + int $weights[] = {}; + + //$alphabet = `zooReverseArray_str $alphabet`; + for( $n=0; $n<$numSlots; $n++ ) $names[$n] = `zooGetAttrData $slots[$n] name`; + for( $n=0; $n<$numSlots; $n++ ) { + string $str1, $str2, $str3; + int $w1, $w2, $w3; + + $str1 = `substring $names[$n] 1 1`; + $str2 = `substring $names[$n] 2 2`; + $str3 = `substring $names[$n] 3 3`; + for( $i=0; $i<26; $i++ ) if( $str1 == $alphabet[$i] ) { $w1 = $i; break; } + for( $i=0; $i<26; $i++ ) if( $str2 == $alphabet[$i] ) { $w2 = $i; break; } + for( $i=0; $i<26; $i++ ) if( $str3 == $alphabet[$i] ) { $w3 = $i; break; } + + $w1 *= (pow(26,3)); + $w2 *= (pow(26,2)); + $weights[$n] = $w1 + $w2 + $w3; + } + + $slotsStr = `zooOrderArrayUsing_str $slotsStr $weights`; + for( $a in $slotsStr ) $orderedSlots[( `size $orderedSlots` )] = $a; + return $orderedSlots; + break; + } + + return $slots; + } + + +//------ +//returns an list of all slot numbers +//NOTE: it doesn't return USED slots, just created slots. if a slot is created, +//and the object it manages is deleted, the slot will still remain. +//------ +global proc int[] zooListAssets() { + string $node = `zooGetAssetNode 0`; + if( !`objExists $node` ) return {}; + + string $attrs[] = `listAttr -ud $node`; + string $slotNames[] = {}; + int $slots[] = {}; + + for( $a in $attrs ) if( `match "^ast[0-9]+$" $a` == $a ) $slots[( `size $slots` )] = `match "[0-9]+$" $a`; + $slots = `sort $slots`; + + return $slots; + } + + +//------ +//returns a list of all attributes associated with an asset +//------ +global proc string[] zooListAssetAttrs( int $slot ) { + string $node = `zooGetAssetNode 0`; + if( !`objExists $node` ) return {}; + + string $attrs[] = `listAttr -ud $node`; + string $assetAttrs[] = {}; + + for( $attr in $attrs ) if( `match ( "^ast"+ $slot +"_" ) $attr` != "" ) { + string $name = `substitute ( "^ast"+ $slot +"_" ) $attr ""`; + if( $name != "" ) $assetAttrs[( `size $assetAttrs` )] = $name; + } + return $assetAttrs; + } + + +//------ +//creates the management node - makes sure one doesn't already exist. there +//should only ever be one management node in a scene +//------ +global proc string zooGetAssetNode( int $forceCreate ) { + string $selObjs[] = `ls -sl`; + string $node = `zooGetExistingAssetNode`; + + if( $forceCreate ) if( !`objExists $node` ) { + $node = `createNode time`; + $node = `rename $node "assetsNode"`; + addAttr -ln zooAssetNode -at bool $node; + zooSetGlobalAttrData creator `getenv user`; + } + + select $selObjs; + return $node; + } + + +//------ +//returns the name of the first management node found in the scene +//------ +global proc string zooGetExistingAssetNode() { + string $nodes[] = `ls -type time`; + string $node = ""; + int $referencedNodesExist = 0; + + for( $a in $nodes ) if( `objExists ( $a +".zooAssetNode" )` ) { + if( !`reference -inr $a` ) $node = $a; + else $referencedNodesExist = 1; + } + + return $node; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAssetsWin.mel b/2009-x64/zooScripts/scripts/zooAssetsWin.mel new file mode 100644 index 0000000..94444fa --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAssetsWin.mel @@ -0,0 +1,221 @@ +//This is the basic UI for zooAssets. It is stored separately in the script so +//that it doesn't take up any memory by being contained in a global procedure. +//This script merely builds the UI and exits. The zooAssets script is responsible +//for updating and maintaining the interface. +// +// ©2007 macaronikazoo.com + + +proc win() { +//load dependencies +zooAnimFile; +zooArrays_str; +zooArrays_int; +zooArrays_float; +zooBrandTools; +zooFlags; +zooObjMenuUtils; +zooTips; +zooTriggeredUtils; +zooUtils; + +string $assetsButtons[] = `zooGetShelfButtonAll zooAssets`; +for( $a in $assetsButtons ) popupMenu -p $a -aob 1 -pmc ( "zooAssetsBuildPopMenu zooAssetsPopMenu" ) zooAssetsPopMenu; + +string $windowName = "zooAssetsWindow"; +string $windowTitle = "zooAssets v"+ `zooAssetsInfo version`; +int $infoDate = 50910; //this is actually a reversed date, with the first number being the year number +int $showTips = `optionVar -ex zooAssetsTips`? `optionVar -q zooAssetsTips`: 1; +int $latestTip = -1; +int $showNames = `zooGetGlobalAttrData fullNames`;//`optionVar -ex zooShowActualAssetNames`? `optionVar -q zooShowActualAssetNames`: 0; + +if( $infoDate > `optionVar -q zooAssetsPreviousTipDate` ) { + $showTips = 1; + $latestTip = 16; + } +optionVar -iv zooAssetsPreviousTipDate $infoDate; //When new tips are added, this counter in incremented. If the number stored in the script is bigger than the one stored in the userPrefs, then the user hasn't seen the new tips + +if( `window -ex $windowName` ) deleteUI $windowName; +window -t $windowTitle -resizeToFitChildren 0 -maximizeButton 0 -sizeable 1 -width 650 -height 350 $windowName; + menuBarLayout zooAssetsMenuMain; + menu -l "Manage"; + menuItem -l "Import Assets From..." -c( "zooAssetsWindowFunctions importAssets n;" ); + menuItem -d 1; + menuItem -l "Add Empty Slot" -c( "zooAssetsWindowFunctions emptySlot n;" ); + menuItem -l "Delete un-used Slots" -c( "zooAssetsWindowFunctions deleteUnused n;" ); + menuItem -l "Delete disabled Slots" -c( "zooAssetsWindowFunctions deleteDisabled n;" ); + menuItem -d 1; + menuItem -l "Install Shelf Button" -c( "zooAssetsSetup;" ); + menuItem -l "Remove Shelf Button" -c ( "deleteUI `zooShelveItGetShelfButton zooAssets`;" ); + menu -l "View"; + menuItem -l "Show Perforce Menu Items" -cb( `optionVar -ex zooAssetsP4Menu`?`optionVar -q zooAssetsP4Menu`:1) -c( "if( #1 ) optionVar -rm zooAssetsP4Menu; else optionVar -iv zooAssetsP4Menu 0;" ); + menuItem -l "Show Full Names" -cb $showNames -c( "zooAssetsWindowFunctions toggleNameView #1;" ) zooShowActualAssetNames; + menuItem -l "Hide Disabled" -cb( `optionVar -ex zooHideDisabledAssets`? `optionVar -q zooHideDisabledAssets`: 0 ) -c( "zooAssetsWindowFunctions toggleHideOption #1;" ) zooHideDisabledAssets; + menuItem -d 1; + menuItem -l "Order by Slot Number" -cb 0 -c( "zooAssetsWindowFunctions order slot;" ) zooAssetsOrder_slot; + menuItem -l "Order by Start Range" -cb 0 -c( "zooAssetsWindowFunctions order range;" ) zooAssetsOrder_range; + menuItem -l "Order by Colour" -cb 0 -c( "zooAssetsWindowFunctions order colour;" ) zooAssetsOrder_colour; + menuItem -l "Order by Name" -cb 0 -c( "zooAssetsWindowFunctions order name;" ) zooAssetsOrder_name; + menuItem -d 1; + menuItem -l "Highlight Current" -c( "zooHighlightActiveAsset 1;" ); + menuItem -l "Auto Highlight Current" -cb (`optionVar -ex zooHighlightActiveAsset`? `optionVar -q zooHighlightActiveAsset`: 1) -c( "optionVar -iv zooHighlightActiveAsset `menuItem -q -cb zooAssetsHighlight`; zooRevertAssetColour -1;" ) zooAssetsHighlight; + menu -l "Export" -aob 1; + menuItem -l "Export All..." -c( "zooAssetsWindowFunctions exportAll n;" ); + menuItem -d 1; + menuItem -l "Select Node" -c( "select `zooGetAssetNode 0`;" ); + menu -l "Help"; + menuItem -l "Help..." -c ( "zooHelp zooAssets 1;" ); + menuItem -l "Technical Info" -c ( "zooHelp zooAssets 3;" ); + menuItem -l "Show Tips Window" -c( "zooTipsWin zooAssets -1;" ); + + string $layoutForm = `formLayout zooAssetsFormMain`; + scriptJob -p zooAssetsFormMain -cu 1 -e timeChanged "zooHighlightActiveAsset 0"; + + string $frame = `frameLayout -l "export options" -collapsable 1 -collapse 0 -labelAlign "center" -borderStyle "etchedIn"`; + string $topForm = `formLayout`; + string $expLbl = `text -l "export path"`; + textField -tx `zooGetGlobalAttrData path` -cc( "zooSetGlobalAttrData path \"#1\"; textField -e -tx `zooGetGlobalAttrData path` zooAssetsTextGlobalPath;" ) zooAssetsTextGlobalPath; + popupMenu -p zooAssetsTextGlobalPath -pmc( "zooBuildExportPathMenu zooAssetsPopupMasterPath" ) zooAssetsPopupMasterPath; + + string $prefixLbl = `text -l "global prefix"`; + string $prefixTxt = `textField -tx(zooGetGlobalAttrData("prefix")) -cc( "zooSetGlobalAttrData prefix \"#1\"; zooAssetsWindowFunctions updateNames \"*\"; textField -e -tx `zooGetGlobalAttrData prefix` zooAssetsTextGlobalPrefix;" ) zooAssetsTextGlobalPrefix`; + setParent ..; + setParent ..; + + int $paneSize = `optionVar -ex zooAssetsPane`? `optionVar -q zooAssetsPane`: 75; + string $scroll = `scrollLayout -childResizable 1 -hst 0 -vst 1 -height 300 zooAssetsScroll`; + string $pane = `paneLayout -configuration vertical2 -paneSize 1 $paneSize 100 -smc( "zooAssetsWindowFunctions savePrefs n" ) zooAssetsPane`; + columnLayout -adjustableColumn 1 zooAssetsListA; + setParent ..; + columnLayout -adjustableColumn 1 zooAssetsListB; + setParent ..; + setParent ..; + setParent ..; + + string $infoText = `text -l "" zooAssetsTextInfo`; + string $namesCheck = `checkBox -l "view full names" -v $showNames -cc( "zooAssetsWindowFunctions toggleNameView #1" ) zooAssetsCheckFullNames`; + string $filterFrame = `frameLayout -l "view filter" -collapsable 1 -collapse 1 -labelAlign "center" -borderStyle "etchedIn"`; + string $filterForm = `formLayout`; + string $filterLbl = `text -l "name filter:"`; + string $filterTxt = `textField -tx "" -width 80 -cc( "zooAssetsWindowFunctions updateFilter \"*\"" ) zooAssetsTextViewFilter`; + string $startLbl = `text -l "after frame:"`; + string $startInput = `intField -en 0 -v( playbackOptions("-q", "-min")) -docTag "0" -width 40 -cc( "zooAssetsWindowFunctions updateFilter \"*\"" ) zooAssetsIntStartFilter`; + string $endLbl = `text -l "before frame:"`; + string $endInput = `intField -en 0 -v( playbackOptions("-q", "-max")) -docTag "0" -width 40 -cc( "zooAssetsWindowFunctions updateFilter \"*\"" ) zooAssetsIntEndFilter`; + string $selOnlyCheck = `checkBox -l "selected only" -v 0 -cc( "zooAssetsWindowFunctions updateFilter \"*\"" ) zooAssetsCheckSelFilter`; + popupMenu -p $filterLbl -pmc( "textField -e -tx \"\" zooAssetsTextViewFilter; zooAssetsWindowFunctions updateFilter zooAssetsIntStartFilter" ); + popupMenu -p $startLbl -pmc( "zooAssetsWindowFunctions toggleFilterEnable zooAssetsIntStartFilter" ); + popupMenu -p $endLbl -pmc( "zooAssetsWindowFunctions toggleFilterEnable zooAssetsIntEndFilter" ); + setParent ..; + setParent ..; + + string $manButt = `button -l "manage selected objects" -c( "zooAssetsWindowFunctions manage \"*\"" )`; + string $image = `image -width 340 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + +formLayout -e + -af $expLbl "top" 8 + -af $expLbl "left" 3 + -an $expLbl "right" + -an $expLbl "bottom" + + -af zooAssetsTextGlobalPath "top" 5 + -ac zooAssetsTextGlobalPath "left" 5 $expLbl + -ac zooAssetsTextGlobalPath "right" 10 $prefixLbl + -an zooAssetsTextGlobalPath "bottom" + + -af $prefixLbl "top" 8 + -ap $prefixLbl "left" 5 65 + -an $prefixLbl "right" + -an $prefixLbl "bottom" + + -af $prefixTxt "top" 5 + -ac $prefixTxt "left" 5 $prefixLbl + -af $prefixTxt "right" 0 + -an $prefixTxt "bottom" + $topForm; + +formLayout -e + -af $frame "top" 0 + -af $frame "left" 0 + -af $frame "right" 0 + -an $frame "bottom" + + -ac $scroll "top" 2 $frame + -af $scroll "left" 0 + -af $scroll "right" 0 + -ac $scroll "bottom" 1 $infoText + + -an $infoText "top" + -af $infoText "left" 1 + -ac $infoText "right" 0 $namesCheck + -ac $infoText "bottom" 1 $filterFrame + + -an $namesCheck "top" + -an $namesCheck "left" + -af $namesCheck "right" 1 + -ac $namesCheck "bottom" 0 $filterFrame + + -an $filterFrame "top" + -af $filterFrame "left" 0 + -af $filterFrame "right" 0 + -ac $filterFrame "bottom" 2 $manButt + + -an $manButt "top" + -af $manButt "left" 0 + -af $manButt "right" 0 + -ac $manButt "bottom" 2 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $layoutForm; + +formLayout -e + -an $filterLbl "top" + -af $filterLbl "left" 10 + -an $filterLbl "right" + -af $filterLbl "bottom" 3 + + -an $filterTxt "top" + -ac $filterTxt "left" 0 $filterLbl + -an $filterTxt "right" + -af $filterTxt "bottom" 0 + + -an $startLbl "top" + -ac $startLbl "left" 10 $filterTxt + -an $startLbl "right" + -af $startLbl "bottom" 3 + + -an $startInput "top" + -ac $startInput "left" 0 $startLbl + -an $startInput "right" + -af $startInput "bottom" 0 + + -an $endLbl "top" + -ac $endLbl "left" 5 $startInput + -an $endLbl "right" + -af $endLbl "bottom" 3 + + -an $endInput "top" + -ac $endInput "left" 0 $endLbl + -an $endInput "right" + -af $endInput "bottom" 0 + + -an $selOnlyCheck "top" + -ac $selOnlyCheck "left" 10 $endInput + -an $selOnlyCheck "right" + -af $selOnlyCheck "bottom" 3 + $filterForm; + +showWindow $windowName; +zooAssetsWindowFunctions rebuild n; +zooAssetsWindowFunctions updateFilter n; +if( $showTips ) zooTipsWin zooAssets $latestTip; +} + + +win(); + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooAttrScroller.mel b/2009-x64/zooScripts/scripts/zooAttrScroller.mel new file mode 100644 index 0000000..27b86c9 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAttrScroller.mel @@ -0,0 +1,65 @@ +global proc zooAttrScroller() { + global int $zooIsClicked; + + $zooIsClicked = 0; + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + + popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p viewPanes -pmc ( "zooAttrScrollerBuildMM tempMM" ) tempMM; + } + + +global proc zooAttrScrollerBuildMM ( string $parent ) { + global int $zooIsClicked; + string $sel[] = `ls -sl`; + + if( !`size $sel` ) { menuItem -l "no objects selected"; return; } + string $attrs[] = `listAttr -k`; + + setParent -m $parent; + popupMenu -e -dai $parent; + + $attrs = `stringArrayRemoveDuplicates $attrs`; + $zooIsClicked = 1; + + for ( $a in $attrs ) menuItem -l $a -command ( "zooScrollAttr " + $a ); + } + + +global proc zooScrollAttr( string $attr ) { + if( !`draggerContext -q -ex zooAttrScrollerCtx` ) draggerContext -pressCommand( "zooAttrScrollerPressCmd "+ $attr ) -dragCommand( "zooAttrScrollerDragCmd "+ $attr ) -cursor "crossHair" zooAttrScrollerCtx; + setToolTo zooAttrScrollerCtx; + } + + +global proc zooAttrScrollerPressCmd( string $attr ) { + float $pressPosition[] = `draggerContext -q -anchorPoint zooAttrScrollerCtx`; + print ("Press: " + $pressPosition[0] +" "+ $pressPosition[1] +" "+ $pressPosition[2] +"\n"); + } + + +global proc zooAttrScrollerDragCmd( string $attr ) { + string $sel[] = `ls -sl`; + string $mod = `draggerContext -q -modifier zooAttrScrollerCtx`; + float $pressPosition[] = `draggerContext -q -anchorPoint zooAttrScrollerCtx`; + float $dragPosition[] = `draggerContext -q -dragPoint zooAttrScrollerCtx`; + int $button = `draggerContext -q -button zooAttrScrollerCtx`; + int $div = 10; + + if( $mod == "ctrl" ) $div = 100; + + for( $obj in $sel ) if( `objExists ( $obj +"."+ $attr )` ) setAttr ( $obj +"."+ $attr ) ( ($dragPosition[0]-$pressPosition[0])/$div ); + + string $message = ($dragPosition[0] +", "+ $dragPosition[1]); + draggerContext -edit -drawString $message zooAttrScrollerCtx; + } + + +global proc zooAttrScrollerKillUI() { + global int $zooIsClicked; + deleteUI tempMM; + setToolTo zooAttrScrollerCtx; + $zooIsClicked = 0; + } + + +//zoo.end \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAttrUtils.mel b/2009-x64/zooScripts/scripts/zooAttrUtils.mel new file mode 100644 index 0000000..fc62430 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAttrUtils.mel @@ -0,0 +1,82 @@ +zooArrays_str; +zooFlags; + + +global proc zooAttrUtils() { + return; + } + + +//------ +//hides and locks given attributes +//-attrs space separated list of attributes to work on +//-k [int] keyability state for the attributes +//-l [int] lock state for the attributes +//-v [int] visibility state for the attributes - NOTE this is only maya 6.5 and above +// +//NOTE: automatically handles compound attributes (ie t for translate, r for rotate etc) +// +//example: to make unkeyable (hide) the visibility, translateX and rotateZ attributes +//zooAttrState "-attrs v tx rz -k 0" nurbsSphere1; +//------ +global proc zooAttrState( string $optionStr, string $obj ) { + string $temp[] = {}; + string $channels[] = {}; + string $about = `about -v`; + int $betterThan7 = 0; + int $keyState = -1; + int $lockState = -1; + int $visState = -1; + + if( !`objExists $obj` ) return; + if( `match "^[789]" $about` != "" ) $betterThan7 = 1; + $temp = `zooGetFlagArguments $optionStr attrs`; if( `size $temp` ) $channels = $temp; + $temp = `zooGetFlagArguments $optionStr k`; if( `size $temp` ) $keyState = $temp[0]; + $temp = `zooGetFlagArguments $optionStr l`; if( `size $temp` ) $lockState = $temp[0]; + $temp = `zooGetFlagArguments $optionStr v`; if( `size $temp` ) $visState = $temp[0]; + + if( `reference -inr $obj` ) return; //if the object is referenced, you can't change its lock state, so skip this object + for( $channel in $channels ) if( `objExists ( $obj + "." + $channel )` ) { + string $childAttrs[] = `attributeQuery -n $obj -lc $channel`; + if( `size $childAttrs` ) for( $child in $childAttrs ) { + if( $keyState != -1 ) setAttr -k $keyState ( $obj + "." + $child ); + if( $lockState != -1 ) setAttr -l $lockState ( $obj + "." + $child ); + if( $visState != -1 ) if( $betterThan7 ) setAttr -cb $visState ( $obj + "." + $child ); + } + else { + if( $keyState != -1 ) setAttr -k $keyState ( $obj + "." + $channel ); + if( $lockState != -1 ) setAttr -l $lockState ( $obj + "." + $channel ); + if( $visState != -1 ) if( $betterThan7 ) setAttr -cb $visState ( $obj + "." + $channel ); + } + } + } + + +//makes two transforms thte same - pivot points, transform values, position etc... +global proc zooSameTransform( string $src, string $tgt ) { + float $rp[] = `getAttr ( $src +".rp" )`; + float $sp[] = `getAttr ( $src +".sp" )`; + + if( `objExists ( $src +".jo" )`) { + if( `objExists ( $tgt +".jo" )`) { + float $jo[] = `getAttr ( $src +".jo" )`; + if( `getAttr -se ( $tgt +".jo" )`) setAttr ( $tgt +".jo" ) $jo[0] $jo[1] $jo[2]; + } + } + if( `getAttr -se ( $tgt +".ro" )`) setAttr ( $tgt +".ro" ) `getAttr ( $src +".ro" )`; + + //the reason we have to test for a joint is - believe it or not, joints have + //rotation and scale pivot attributes. don't believe me - try setting them. + //anyway maya lets you set the rp attributes, but it doesn't support them, and + //you get VERY buggy results + if( `nodeType $tgt` != "joint" ) { + if( `getAttr -se ( $tgt +".rp" )`) setAttr ( $tgt +".rp" ) $rp[0] $rp[1] $rp[2]; + if( `getAttr -se ( $tgt +".sp" )`) setAttr ( $tgt +".sp" ) $sp[0] $sp[1] $sp[2]; + } + + zooAlign ( "-src "+ $src +" -tgt "+ $tgt ); + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooAutoSave.mel b/2009-x64/zooScripts/scripts/zooAutoSave.mel new file mode 100644 index 0000000..06dc006 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooAutoSave.mel @@ -0,0 +1,285 @@ +// +// autoSave +// +// author: Hamish McKenzie +// Created: 02 March 2004 +// +// Description: +// saves your scene incrementally after a certain number of select +// commands have been parsed... +// +// Usage: +// zooAutoSaveConfig; +// this opens the config window to control zooAutoSave - remember +// to install the shelf button from the File menu +// +// zooAutoSave; +// this loads the script +// +// Hamish McKenzie ©2007... + + +zooShelveIt; +zooUtils; + + +global proc zooAutoSave() { //number is the number of object selections that happen before an autosave happens + //source all dependencies + string $deps[] = `zooAutoSaveDependencies -scripts`; + for( $script in $deps ) if( `exists $script` ) eval( "source "+ $script ); + + int $number = `zooGetDefaultThreshold`; + if( !`optionVar -exists zooAutoSaveThreshold` ) zooAutoSaveConfig; + zooAutoSaveFunctions toggle $number; + } + + +global proc zooAutoSaveFunctions( string $function, int $number ) { + global int $zooAutoSaveJobNumber; + global int $zooAutoSaveLastSave; + string $sel[] = `ls -sl`; + string $fileType = `optionVar -q defaultFileSaveType`; + string $extension = "mb"; + string $autoBakFile = `internalVar -uad` +"autobak."; + + if( $zooAutoSaveLastSave == 0 ) $zooAutoSaveLastSave = `zooTimeAsMinutes ""`; + if( $fileType != "mayaBinary" ) $extension = "ma"; + $autoBakFile += $extension; + if( $number == -1 ) $number = `zooGetDefaultThreshold`; + + switch ( $function ) { + case "load": + if ( !`zooAutoSaveState` ) { + $zooAutoSaveJobNumber = `scriptJob -compressUndo 1 -event SelectionChanged ( "zooAutoSaveFunctions autoSave "+ $number )`; + print( "zooAutoSave! has been loaded!\n" ); + } + else warning( "zooAutoSave! is already loaded" ); + + zooUpdateAutoSaveUIState; + break; + + case "unload": + if ( `zooAutoSaveState` ) { + scriptJob -kill $zooAutoSaveJobNumber; + $zooAutoSaveJobNumber = 0; + print( "zooAutoSave! has been unloaded\n" ); + } + else { warning( "zooAutoSave! wasn't loaded" ); } + + zooUpdateAutoSaveUIState; + break; + + case "toggle": + if ( `zooAutoSaveState` ) zooAutoSaveFunctions unload $number; + else zooAutoSaveFunctions load $number; + break; + + case "autoSave": + float $curTime = `zooTimeAsMinutes ""`; + if( $curTime - $zooAutoSaveLastSave > $number ) { + string $currentContext = `currentCtx`; //get the current context so we can revert to it after the save + string $currentFile = `file -q -sn`; + string $renameOnLoad = `scriptNode -n zooAutoSaveRenameOnLoad`; + string $renameCommand = "file -rename \""+ $currentFile +"\";\ndelete "+ $renameOnLoad +";"; + string $savedFile = ""; + + setAttr -type "string" ( $renameOnLoad +".before" ) $renameCommand; + setAttr ( $renameOnLoad +".scriptType" ) 2; + file -rename $autoBakFile; + print "---attempting to save autoBak - please wait...\n"; + $savedFile = `file -force -save`; + file -rename $currentFile; + + if( $savedFile != $autoBakFile ) warning( "could not save autoBak file in "+ $autoBakFile ); + else print( "---autoBack file saved! "+ $autoBakFile +"---\n" ); + + delete $renameOnLoad; + $zooAutoSaveLastSave = `zooTimeAsMinutes ""`; + catchQuiet( `setToolTo $currentContext` ); + select $sel; + } + break; + } + } + + +global proc float zooTimeAsMinutes( string $timeStr ) { + if( $timeStr == "" ) $timeStr = `about -ct`; + string $toks[] = `zooTokenize $timeStr ":"`; + float $mins = 0; + + $mins = (60*((int)$toks[0])) + ((int)$toks[1]) + ((int)$toks[2])/60.0; + return $mins; + } + + +global proc zooUpdateAutoSaveUIState() { + string $shelfButtons[] = `zooGetShelfButtonAll zooAutoSave`; + int $state = `zooAutoSaveState`; + + for( $button in $shelfButtons ) { + shelfButton -e -image1 ( "zooAutoSave_"+ $state +".xpm" ) $button; + if( `shelfButton -q -numberOfPopupMenus $button` == 0 ) zooInstallAutoSavePopup $button; + } + } + + +global proc zooInstallAutoSavePopups() { + string $shelfButtons[] = `zooGetShelfButtonAll zooAutoSave`; + for( $button in $shelfButtons ) zooInstallAutoSavePopup $button; + } + + +global proc zooInstallAutoSavePopup( string $button ) { + if( `shelfButton -q -numberOfPopupMenus $button` ) return; + popupMenu -p $button -pmc( "zooAutoSaveBuildPopup "+ $button +"_popup" ) ( $button +"_popup" ); + } + + +global proc zooAutoSaveBuildPopup( string $parent ) { + global int $zooAutoSaveLastSave; + int $threshold = `zooAutoSaveGetIncrementNumber`; + + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "configure" -c ( "zooAutoSaveConfig" ); + menuItem -d 1; + menuItem -l "force auto-save" -c( "$zooAutoSaveLastSave = "+ $threshold +"+1; zooAutoSaveFunctions autoSave 0;" ); + menuItem -l( "reset counter: "+ $zooAutoSaveLastSave +" / "+ $threshold ) -c( "$zooAutoSaveLastSave = `about -ct`;" ); + menuItem -d 1; + menuItem -l "Help..." -c ( "zooHelp zooAutoSave 1" ); + menuItem -l "About" -c ( "zooHelp zooAutoSave 2" ); + } + + +//returns the current state of the script - ie whether the scriptJob is loaded or not +global proc int zooAutoSaveState () { + global int $zooAutoSaveJobNumber; + int $state = 0; + + if ( `scriptJob -exists $zooAutoSaveJobNumber` && $zooAutoSaveJobNumber != 0 ) $state = 1; + return $state; + } + + +//installs a shelf button to the current shelf +global proc zooAutoSaveInstallShelfButton () { + string $button = `zooInstallShelfButton zooAutoSave`; + string $label = "zooAutoSave - is an autosave script that will save your scene to a temp file every so often"; + string $image = "zooAutoSave_"+ `zooAutoSaveState` +".xpm"; + + shelfButton -e -l $label -image1 $image -c( "zooAutoSave;" ) $button; + } + + +global proc zooAutoSaveConfig () { + global int $zooAutoSaveLastSave; + string $windowName = "zooAutoSaveConfig"; + string $windowTitle = "zooAutoSave v"+ `zooAutoSaveInfo version`; + string $shelfButtons[] = `zooGetShelfButtonAll zooAutoSave`; + + if( !`size $shelfButtons` ) if( !`optionVar -q zooAutoSaveShelfQuery` ){ + string $q = `confirmDialog -title "Confirm" -message "Do you want to\ninstall a shelf button?" -b "Yes" -b "No" -defaultButton "Yes" -cancelButton "No" -dismissString "No"`; + if( $q != "No" ) zooAutoSaveInstallShelfButton; + } + if ( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 $windowName; + menuBarLayout; + menu -label "Shelf"; + menuItem -l "Install Shelf Button" -c ( "zooAutoSaveInstallShelfButton" ); + menuItem -l "Remove Shelf Button" -c ( "deleteUI `zooShelveItGetShelfButton zooAutoSave`" ); + menu -label "Help"; + menuItem -l "Help..." -c ( "zooHelp zooAutoSave 1" ); + menuItem -divider 1; + menuItem -l "About" -c ( "zooHelp zooAutoSave 2" ); + + columnLayout -adjustableColumn true -rowSpacing 3; + rowLayout -numberOfColumns 2 + -columnWidth2 110 90 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + text -l "save after (mins):"; + intField -minValue -2 -maxValue 1000 -v `zooAutoSaveGetIncrementNumber` -cc( "optionVar -iv zooAutoSaveThreshold #1" ) zooAutoSaveIntThreshold; + setParent ..; + + checkBox -l "stop bugging me" -v( `optionVar -q zooAutoSaveShelfQuery` ) -cc( "if( #1 ) optionVar -iv zooAutoSaveShelfQuery 1; else optionVar -rm zooAutoSaveShelfQuery" ); + rowLayout -numberOfColumns 2 + -columnWidth2 100 100 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + button -l "change" -c ( "zooAutoSaveFunctions unload n; zooAutoSaveFunctions load `intField -q -v zooAutoSaveIntThreshold`;deleteUI "+ $windowName ); + button -l "cancel" -c ( "deleteUI "+ $windowName ); + setParent ..; + + string $image = `image -width 190 -height 8 -backgroundColor ((float)1) ((float)0) ((float)0) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + + showWindow $windowName; + } + + +global proc int zooAutoSaveGetIncrementNumber () { + global int $zooAutoSaveJobNumber; + string $jobs[] = `scriptJob -lj`; + int $increment = 5; + int $jobNum = $zooAutoSaveJobNumber; + + for( $job in $jobs ) { + string $buffer[] = {}; + tokenize $job ":" $buffer; + if( `size $buffer` ) if( $buffer[0] == $jobNum ) { + string $flags[] = {}; + string $commandWords[] = {}; + + tokenize $buffer[1] "\"" $flags; + tokenize $flags[7] " " $commandWords; + $increment = $commandWords[2]; + } + else $increment = `zooGetDefaultThreshold`; + } + + if( $increment < 1 ) $increment = 1; + return $increment; + } + + +global proc int zooGetDefaultThreshold() { + int $number = 5; + if( `optionVar -ex zooAutoSaveThreshold` ) $number = `optionVar -q zooAutoSaveThreshold`; + if( $number < 1 ) $number = 1; + return $number; + } + + +global proc string zooAutoSaveInfo ( string $function ) { + string $creationDate = "02 March 2004"; + string $currentVersion = "2.06.07"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +global proc string[] zooAutoSaveDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooShelveIt"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $iconDependencies[( `size $iconDependencies` )] = "zooAutoSave_0.xpm"; + $iconDependencies[( `size $iconDependencies` )] = "zooAutoSave_1.xpm"; + $helpDependencies[( `size $helpDependencies` )] = "zooAutoSave_help"; + $helpDependencies[( `size $helpDependencies` )] = "zooAutoSave_history"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooBGBlaster.mel b/2009-x64/zooScripts/scripts/zooBGBlaster.mel new file mode 100644 index 0000000..7720448 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBGBlaster.mel @@ -0,0 +1,241 @@ +zooBGBlasterUtils; + + +global proc zooBGBlaster() { + string $windowName = "zooBGBlasterUI"; + string $windowTitle = "BG Blaster v1.07.01 ::macaroniKazoo::"; + int $reload = `optionVar -ex zooBGBlasterReload`? `optionVar -q zooBGBlasterReload`: 1; + int $loadfix = `optionVar -ex zooBGBlasterLoadFix`? `optionVar -q zooBGBlasterLoadFix`: 1; + + if( `window -ex $windowName` ) deleteUI $windowName; + window -t $windowTitle -rtf 1 -maximizeButton 0 -sizeable 1 $windowName; + menuBarLayout; + menu -l "Blast"; + menuItem -l "Add Selected to Blast Set" -ann "adds the selected objects to the quick selection set that is used for determining which objects to include in the blast" -c( "{string $sel[] = `ls -sl`; if( !`objExists bgBlaster_set` ) {string $set = `createNode objectSet`; sets -e -t gCharacterSet $set; rename $set bgBlaster_set; } if( `size $sel` ) sets -add bgBlaster_set $sel;}" ); + menuItem -d 1; + menuItem -cb $reload -l "Always Try to Re-load Sequence" -c( "if( #1 ) optionVar -rm zooBGBlasterReload; else optionVar -iv zooBGBlasterReload 0;" ); + menuItem -cb $loadfix -l "Use -loadfix Hack When Importing" -c( "if( #1 ) optionVar -rm zooBGBlasterLoadFix; else optionVar -iv zooBGBlasterLoadFix 0;" ); + + string $tabs = `tabLayout`; + string $importForm = `formLayout`; + string $lLbl = `text -l "local blasts"`; + string $gLbl = `text -l "global blasts"`; + string $tslL = `textScrollList zooBGBTSLBlastsL`; + string $tslG = `textScrollList zooBGBTSLBlastsG`; + string $createNew = `checkBox -l "create new board" -cc "zooBGBlasterWindowFunctions -updateChecks;" zooBGBCheckNew`; + string $useSel = `checkBox -l "use selected" -cc "zooBGBlasterWindowFunctions -updateChecks;" zooBGBCheckSelected`; + setParent ..; + string $createForm = `formLayout`; + string $qualLbl = `text -l "jpeg quality"`; + string $qual = `intField -v 80 zooBGBIntQual`; + string $resLbl = `text -l "blast resolution"`; + string $res = `intField -v 600 zooBGBIntRes`; + string $remLbl = `text -l( zooWrapString("NOTE: once you've created a board, you can redo it by right clicking on it, and choosing \"re-blast sequence\"",42))`; + string $optsLbl = `text -l "additional options:" zooBGBCheckCreateOpts`; + string $opts = `textField -tx "-reload 0 " zooBGBTextOpts`; + string $createBut = `button -l "create blast" -c( "zooBGBlasterWindowFunctions -createBlast;" )`; + setParent ..; + setParent ..; + + popupMenu -p $tslL -pmc "zooBGBlasterImportPup zooBGBPupL \"local\";" zooBGBPupL; + popupMenu -p $tslG -pmc "zooBGBlasterImportPup zooBGBPupG \"global\";" zooBGBPupG; + popupMenu -p $opts; + menuItem -l "-layer [layer name]" -c( "textField -e -tx( `textField -q -tx zooBGBTextOpts` +\" -layer bgBlaster_layer \" ) zooBGBTextOpts;" ); + menuItem -l "-qss [set name]" -c( "textField -e -tx( `textField -q -tx zooBGBTextOpts` +\" -qss bgBlaster_set \" ) zooBGBTextOpts;" ); + menuItem -l "-objs [obj1 obj2]" -c( "textField -e -tx( `textField -q -tx zooBGBTextOpts` +\" -objs \" ) zooBGBTextOpts;" ); + menuItem -l "-board [board name]" -c( "textField -e -tx( `textField -q -tx zooBGBTextOpts` +\" -board \" ) zooBGBTextOpts;" ); + menuItem -l "-reload off" -c( "textField -e -tx( `textField -q -tx zooBGBTextOpts` +\" -reload 0 \" ) zooBGBTextOpts;" ); + menuItem -l "-reuse off" -c( "textField -e -tx( `textField -q -tx zooBGBTextOpts` +\" -reuse 0 \" ) zooBGBTextOpts;" ); + setParent -m ..; + tabLayout -e + -tabLabel $importForm "import blast" + -tabLabel $createForm "create blast" + $tabs; + + formLayout -e + -af $lLbl "top" 3 + -af $lLbl "left" 10 + + -af $gLbl "top" 3 + -ap $gLbl "left" 10 50 + + -ac $tslL "top" 3 $lLbl + -af $tslL "left" 0 + -ap $tslL "right" 1 50 + -ac $tslL "bottom" 4 $createNew + + -ac $tslG "top" 3 $gLbl + -ap $tslG "left" 1 50 + -af $tslG "right" 0 + -ac $tslG "bottom" 4 $createNew + + -af $createNew "left" 2 + -af $createNew "bottom" 2 + + -ap $useSel "left" 2 50 + -af $useSel "bottom" 2 + $importForm; + + formLayout -e + -af $qualLbl "top" 3 + -af $qualLbl "left" 0 + + -af $qual "left" 100 + -af $qual "right" 0 + + -ac $resLbl "top" 3 $qual + -af $resLbl "left" 0 + + -ac $res "top" 0 $qual + -af $res "left" 100 + -af $res "right" 0 + + -ac $remLbl "top" 10 $res + -af $remLbl "left" 10 + + -af $optsLbl "left" 0 + -ac $optsLbl "bottom" 3 $createBut + + -ac $opts "left" 2 $optsLbl + -af $opts "right" 0 + -ac $opts "bottom" 0 $createBut + + -af $createBut "left" 0 + -af $createBut "right" 0 + -af $createBut "bottom" 0 + $createForm; + + showWindow $windowName; + window -e -wh 300 250 $windowName; + zooBGBlasterWindowFunctions -updateBlasts; + } + + +global proc zooBGBlasterWindowFunctions( string $function ) { + string $locale = "local"; + string $localeTsl = "zooBGBTSLBlastsL"; + int $reload = `optionVar -ex zooBGBlasterReload`? `optionVar -q zooBGBlasterReload`: 1; + + switch( $function ) { + case "-updateChecks": + int $new = `checkBox -q -v zooBGBCheckNew`; + if( $new ) checkBox -e -en 0 -v 0 zooBGBCheckSelected; + else checkBox -e -en 1 zooBGBCheckSelected; + + int $sel = `checkBox -q -v zooBGBCheckSelected`; + if( $sel ) checkBox -e -v 0 zooBGBCheckNew; + break; + + case "-updateBlasts": + zooBGBlasterWindowFunctions -updateBlastsL; + zooBGBlasterWindowFunctions -updateBlastsG; + break; + + case "-updateBlastsG": + $locale = "global"; + $localeTsl = "zooBGBTSLBlastsG"; + case "-updateBlastsL": + string $blasts[] = `zooListBlasts $locale`; + textScrollList -e -ra $localeTsl; + for( $b in $blasts ) textScrollList -e -a $b $localeTsl; + break; + + case "-createBlast": + string $ans = `promptDialog -m "blast name:" -tx zooBlast -b "OK" -b "Cancel" -db "OK"`; + if( $ans != "OK" ) return; + + string $name = `promptDialog -q -tx`; + string $userOpts = `textField -q -tx zooBGBTextOpts`; + int $qual = `intField -q -v zooBGBIntQual`; + int $res = `intField -q -v zooBGBIntRes`; + + zooBuildBlast ( "-name "+ $name +" -res "+ $res +" -qual "+ $qual +" -reload "+ $reload +" "+ $userOpts ); + zooBGBlasterWindowFunctions -updateBlastsL; + break; + } + } + + +global proc zooBGBlasterImportPup( string $parent, string $locale ) { + setParent -m $parent; + menu -e -dai $parent; + + string $relocateLbl = "--> global"; + string $str = "L"; + string $other = "G"; + string $tsl = "zooBGBTSLBlasts"; + int $reload = `optionVar -ex zooBGBlasterReload`? `optionVar -q zooBGBlasterReload`: 1; + int $loadfix = `optionVar -ex zooBGBlasterLoadFix`? `optionVar -q zooBGBlasterLoadFix`: 1; + + if( $locale == "global" ) { + $relocateLbl = "<-- local"; + $str = "G"; + $other = "L"; + } + + $tsl += $str; + string $name = zooGetElement_str(0,`textScrollList -q -si $tsl`); + string $sel[] = `ls -type transform -sl`; + string $optStr = "-reload "+ $reload; + int $makeNew = `checkBox -q -v zooBGBCheckNew`; + int $useSel = `checkBox -q -v zooBGBCheckSelected`; + int $en = `size $name`; + int $enImport = $en; + + if( $useSel && `size $sel` ) $optStr += " -board "+ $sel[0]; + if( $useSel && !`size $sel` ) $enImport = 0; + if( $makeNew ) $optStr += " -reuse 0"; + menuItem -en $en -l( "copy to "+ $relocateLbl ) -c( "zooRelocateBlast \""+ $locale +"\" "+ $name +" 1; zooBGBlasterWindowFunctions -updateBlasts"+ $other +";" ); + menuItem -en $en -l( "move to "+ $relocateLbl ) -c( "zooRelocateBlast \""+ $locale +"\" "+ $name +" 0; zooBGBlasterWindowFunctions -updateBlasts;" ); + menuItem -d 1; + menuItem -en $en -l "rename blast" -c( "{string $ans = `promptDialog -m \"new name:\" -tx \""+ $name +"\"-b \"OK\" -b \"Cancel\" -db \"OK\"`; string $newName = `promptDialog -q -tx`; if( $ans == \"OK\" ) {zooRenameBlast \""+ $locale +"\" "+ $name +" $newName; zooBGBlasterWindowFunctions -updateBlasts"+ $str +";}}" ); + menuItem -d 1; + menuItem -en $enImport -l "import blast" -c( "zooImportBlast \"-locale "+ $locale +" -name "+ $name + $optStr +" -loadfix "+ $loadfix +"\";" ); + menuItem -d 1; + menuItem -en $en -l "delete blast" -c( "zooDeleteBlast \""+ $locale +"\" "+ $name +"; zooBGBlasterWindowFunctions -updateBlasts"+ $str +";" ); + } + + +global proc string zooRelocateBlast( string $locale, string $name, int $copy ) { + string $other = "global"; + + if( $locale == "global" ) $other = "local"; + string $srcLoc = `zooGetPresetDirectory $locale zooBGBlaster` + $name +"/"; + string $tgtLoc = `zooGetPresetDirectory $other zooBGBlaster` + $name +"/"; + + zooCopyDirTo $srcLoc $tgtLoc; + if( !$copy ) if( `about -os` == "nt" ) zooDeleteBlast $locale $name; + + return $tgtLoc; + } + + +global proc string zooRenameBlast( string $locale, string $name, string $newName ) { + string $srcLoc = `zooGetPresetDirectory $locale zooBGBlaster` + $name +"/"; + string $tgtLoc = `zooGetPresetDirectory $locale zooBGBlaster` + $newName +"/"; + + sysFile -rename $tgtLoc $srcLoc; + + return $tgtLoc; + } + + +global proc zooDeleteBlast( string $locale, string $name ) { + string $loc = `zooGetPresetDirectory $locale zooBGBlaster` + $name +"/"; + if( `about -os` == "nt" ) { + system( "del /f /q /s \""+ `toNativePath $loc` +"\"" ); + system( "rd /s /q \""+ `toNativePath $loc` +"\"" ); + } + } + + +global proc string[] zooListBlasts( string $locale ) { + string $blastLocation = `zooGetPresetDirectory $locale zooBGBlaster`; + string $blasts[] = `zooGetSubDirs $blastLocation 0`; + + return $blasts; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooBGBlasterDependencies.mel b/2009-x64/zooScripts/scripts/zooBGBlasterDependencies.mel new file mode 100644 index 0000000..8060bf5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBGBlasterDependencies.mel @@ -0,0 +1,28 @@ +global proc string[] zooBGBlasterDependencies( string $mode ) { + string $melDependencies[] = {}; + string $includeFiles[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooAttrUtils"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooGreaseMonkeyUtils"; + $melDependencies[( `size $melDependencies` )] = "zooPresetManager"; + $melDependencies[( `size $melDependencies` )] = "zooRegister"; + $melDependencies[( `size $melDependencies` )] = "zooShaders"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-deps" ) return $melDependencies; + if( $mode == "-docs" ) return $helpDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-scripts" ) { + $return = $melDependencies; + $return = `zooAddArray_str $return $includeFiles`; + $return = `stringArrayRemoveDuplicates $return`; + } + + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooBGBlasterUtils.mel b/2009-x64/zooScripts/scripts/zooBGBlasterUtils.mel new file mode 100644 index 0000000..ba145cb --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBGBlasterUtils.mel @@ -0,0 +1,290 @@ +zooArrays_str; +zooAttrUtils; +zooFlags; +zooGreaseMonkeyUtils; +zooPresetManager; +zooRegister; +zooShaders; +zooUtils; + + +global proc zooBGBlasterUtils() { + return; + } + + +//------ +//actually does the blast, imports it and applies it to a geometry based image plane +// -name [str] the name of the blast +// -layer [str] you can use a layer for the blast - however its only a single layer at this stage +// -qss [str] if you use a qss for the object list, it is exclusive +// -objs [str] use this to specify a space separated list of objects to blast +// -qual [int] 0-100 jpeg quality for the blast images. defaults to 80 +// -res [int] the resolution for the blast - NOTE blasts are square, so only one number is required +// -start [int] start frame for the blast +// -end [int] end frame for the blast +//------ +global proc zooBuildBlast( string $optionStr ) { + string $panel = `getPanel -wf`; + if( `getPanel -to $panel` != "modelPanel" ) error "can't blast that viewport - its not a model viewport!"; + + //parse cmd flags + string $blastLocation = `zooGetPresetDirectory "local" zooBGBlaster`; + string $temp[] = {}; + string $name = "zooBlast"; + string $layer = "bgBlaster_layer"; + string $set = "bgBlaster_set"; + string $blastObjs[] = {}; + int $qual = 80; + int $res = 600; + int $start = `playbackOptions -q -min`; + int $end = `playbackOptions -q -max`; + + $temp = `zooGetFlagArguments $optionStr name`; if( `size $temp` ) $name = $temp[0]; + $temp = `zooGetFlagArguments $optionStr layer`; if( `objExists $temp[0]` ) $layer = $temp[0]; + $temp = `zooGetFlagArguments $optionStr qss`; if( `objExists $temp[0]` ) $set = $temp[0]; + $temp = `zooGetFlagArguments $optionStr objs`; if( `size $temp` ) $blastObjs = $temp; + $temp = `zooGetFlagArguments $optionStr qual`; if( `size $temp` ) $qual = $temp[0]; + $temp = `zooGetFlagArguments $optionStr res`; if( `size $temp` ) $res = $temp[0]; + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $start = $temp[0]; + $temp = `zooGetFlagArguments $optionStr end`; if( `size $temp` ) $end = $temp[0]; + + if( !`filetest -d ( $blastLocation + $name +"/" )`) sysFile -makeDir ( $blastLocation + $name +"/" ); + if( `objExists $layer` ) $blastObjs = `listConnections -s 0 ( $layer +".drawInfo" )`; + else if( `objExists $set` ) $blastObjs = `sets -q $set`; + if( !`size $blastObjs` ) { + warning "no objects found to blast - using ALL objects. if you want to blast specific objects, select them and add them to the bgBlaster_set quick selection set"; + $blastObjs = `ls -sl`; + if( !`size $blastObjs` ) $blastObjs = `ls -as`; + } + + //find any existing bg blast boards, and hide them + string $master = `zooQueryMonkeySee`; + string $existingBG = ""; + string $nodes[] = {}; + int $idxs[] = {}; + + zooListRegistered $master bgBlaster $idxs $nodes; + $existingBG = $nodes[0]; + int $initVis[] = {}; + for( $n=0; $n<`size $nodes`; $n++ ) { + $initVis[$n] = 1; + if( `objExists ( $nodes[$n] +".v" )` ) { + $initVis[$n] = `getAttr ( $nodes[$n] +".v" )`; + setAttr ( $nodes[$n] +".v" ) 0; + } + } + + //add the eazel to the isolate objects + string $eazel = `zooGetEazel 0`; + if( `objExists $eazel` ) $blastObjs[`size $blastObjs`] = $eazel; + + //setup the viewport for blasting + isolateSelect -state 0 $panel; + isolateSelect -state 1 $panel; + for( $o in $blastObjs ) if( `objExists $o` ) select -add $o; + isolateSelect -addSelected $panel; + isolateSelect -u $panel; + select -cl; + + //turn off unwanted viewport settings - the grid, hud settings etc... + string $editor = `modelPanel -q -me $panel`; + string $flags[] = {"-gr","-nc","-ns","-lt","-ca","-j","-ikh","-df","-lc","-dim","-ha","-pv"}; + int $num = `size $flags`; + int $states[] = {}; + + setFrameRateVisibility 0; + for( $n=0; $n<$num; $n++ ) $states[$n] = eval("modelEditor -q "+ $flags[$n] +" "+ $editor +";" ); + for( $n=0; $n<$num; $n++ ) eval("modelEditor -e "+ $flags[$n] +" 0 "+ $editor +";" ); + + //do the playblast and revert the viewport settings + int $fmts[] = {7,8,19}; + string $exts[] = {"iff","jpg","tga"}; + int $use = 1; + + putenv AW_JPEG_Q_FACTOR ((string)$qual); + setAttr "defaultRenderGlobals.imageFormat" $fmts[$use]; // 7 is iff 8 is jpg 19 is tga + playblast -v 0 -st $start -et $end -p 100 -f( $blastLocation + $name +"/bgBlast" ) -cc 1 -fmt image -wh $res $res; + isolateSelect -state 0 $panel; + + //restore original view settings and import the blast + for( $n=0; $n<`size $nodes`; $n++ ) if( `objExists ( $nodes[$n] +".v" )` ) setAttr ( $nodes[$n] +".v" ) $initVis[$n]; + for( $n=0; $n<$num; $n++ ) eval("modelEditor -e "+ $flags[$n] +" "+ $states[$n] +" "+ $editor +";" ); + zooImportBlast $optionStr; + + print( "zooBuildBlast \""+ $optionStr +"\";\n" ); + } + + +//------ +//this proc does the actual import. use it to import an existing blast into your scene +// -name [str] the name of the blast +// -start [int] start frame for the blast +// -end [int] end frame for the blast +// -reload [int] automatically reloads the image sequence after import. defaults to true +// -reuse [int] reuses the first existing blast board found in the scene. defaults to true. if you want to force creation of a new blast board, set this to false +//------ +global proc zooImportBlast( string $optionStr ) { + //parse cmd flags + string $temp[] = {}; + string $locale = "local"; + string $name = "zooBlast"; + string $blastBoard = ""; + string $ext = "jpg"; + int $start = `playbackOptions -q -min`; + int $end = `playbackOptions -q -max`; + int $unitFactor = 1; + int $reload = 1; + int $reuse = 1; + int $loadfix = 1; + + if( `currentUnit -q -l` == "m" ) $unitFactor = 100; + $temp = `zooGetFlagArguments $optionStr locale`; if( `size $temp` ) $locale = $temp[0]; + $temp = `zooGetFlagArguments $optionStr name`; if( `size $temp` ) $name = $temp[0]; + $temp = `zooGetFlagArguments $optionStr board`; if( `objExists $temp[0]` ) $blastBoard = $temp[0]; + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $start = $temp[0]; + $temp = `zooGetFlagArguments $optionStr end`; if( `size $temp` ) $end = $temp[0]; + $temp = `zooGetFlagArguments $optionStr reload`; if( `size $temp` ) $reload = $temp[0]; + $temp = `zooGetFlagArguments $optionStr reuse`; if( `size $temp` ) $reuse = $temp[0]; + $temp = `zooGetFlagArguments $optionStr loadfix`; if( `size $temp` ) $loadfix = $temp[0]; + + string $blastLocation = `zooGetPresetDirectory $locale zooBGBlaster`; + if( !`filetest -d ( $blastLocation + $name +"/" )`) error( "can't find blast location! "+ $blastLocation + $name +"/" ); + + //find any existing bg blast boards, and delete them + string $eazel = `zooGetEazel 1`; + string $master = `zooQueryMonkeySee`; + string $cameraShape = zooGetElement_str(0,`listRelatives -s $master`); + string $existingBG = ""; + string $nodes[] = {}; + int $idxs[] = {}; + + zooListRegistered $master bgBlaster $idxs $nodes; + $existingBG = $nodes[0]; + if( `objExists $blastBoard` ) $existingBG = $blastBoard; + + //now build the bgBlaster image plane and attach it to the master camera in the scene + if( !$reuse ) $existingBG = ""; + if( !`objExists $existingBG` ) { + float $defaultDepth = `getAttr ( $cameraShape +".farClipPlane" )`; + $existingBG = zooGetElement_str(0,`polyPlane -w(2.0/$unitFactor) -h(2.0/$unitFactor) -sx 5 -sy 5 -ax 0 0 1 -tx 1 -ch 0`); + parent -r $existingBG $eazel; + setAttr ( $existingBG +".rpz" ) 2; + setAttr ( $existingBG +".spz" ) 2; + setAttr ( $existingBG +".s" ) 100 100 100; + addAttr -ln depth -at double -min 1 -dv 1 $existingBG; + setAttr -k 1 ( $existingBG +".depth" ); + connectAttr -f ( $cameraShape +".farClipPlane" ) ( $existingBG +".depth" ); + zooRegisterObj $master bgBlaster $existingBG 1 1; + } + + zooAttrState "-attrs r s -l 0" $existingBG; + string $existing[] = `listConnections -d 0 ( $existingBG +".sx" ) ( $existingBG +".sy" ) ( $existingBG +".sz" )`; + if( !`size $existing` ) expression -s( $existingBG +".sx = 0.5*"+ $existingBG +".depth/(1.1*"+ $eazel +".sz);\n"+ $existingBG +".sy = "+ $existingBG +".sx;\n"+ $existingBG +".sz = "+ $existingBG +".sx;" ) -o $existingBG -ae 0 -uc all; + zooAttrState "-attrs r s -k 0 -l 1" $existingBG; + + zooRemoveAllMenus $existingBG; + zooObjMenuAddCmdAll $existingBG "re-load sequence" ( "zooReloadTextureSequence \"-name "+ $name +" -board #\";" ); + zooObjMenuAddCmdAll $existingBG "re-blast sequence" ( "string $ans = `promptDialog -m \"name:\" -tx "+ $name +" -b OK -b Cancel -db OK`;\nstring $name = `promptDialog -q -tx`;\nif( $ans == \"OK\" ) zooBuildBlast ( \"-name \"+ $name +\" -board #\" );" ); + zooObjMenuAddCmdAll $existingBG "open bgBlaster UI" ( "zooBGBlaster;" ); + + //assign the material with the image based movie to the image plane + string $existingFiles[] = `zooGetFiles ( $blastLocation + $name ) ( "*."+ $ext )`; + string $bgShader = `zooGetBlastShader $name 1`; + string $cons[] = `listConnections -type "file" -d 0 ( $bgShader +".outColor" )`; + string $blastNode = $cons[0]; + + zooSetObjShader $existingBG $bgShader; + if( !`objExists $blastNode` ) { + $blastNode = `createNode file`; + connectAttr -f ( $blastNode +".outColor" ) ( $bgShader +".outColor" ); + } + setAttr -type "string" ( $blastNode +".fileTextureName" ) ( $blastLocation + $name +"/"+ $existingFiles[0] ); + setAttr ( $blastNode +".useHardwareTextureCycling" ) 1; + setAttr ( $blastNode +".startCycleExtension" ) $start; + setAttr ( $blastNode +".endCycleExtension" ) $end; + setAttr ( $blastNode +".useFrameExtension" ) 1; + if( $loadfix ) { + select $blastNode; + if(`isAttributeEditorVisible`) setChannelBoxVisible(1); + else openAEWindow; + } + + if( $reload ) zooReloadTextureSequence ( "-start "+ $start +" -end "+ $end ); + print( "zooImportBlast \""+ $optionStr +"\";\n" ); + } + + +//------ +//forces reload of a texture sequence. without any args, it will actually force reload of +//ALL texture sequences in your scene +// -node [str] if you only want to reload a specific filenode, then specify it here +// -start [int] start frame for the blast +// -end [int] end frame for the blast +//------ +global proc zooReloadTextureSequence( string $optionStr ) { + string $temp[] = {}; + string $node = ""; + float $rangeData[] = `zooGetSelectedRange`; + int $start = `playbackOptions -q -min`; + int $end = `playbackOptions -q -max`; + + if( $rangeData[2] ) { + $start = $rangeData[0]; + $end = $rangeData[1]; + } + $temp = `zooGetFlagArguments $optionStr node`; if( `objExists $temp[0]` ) $node = $temp[0]; + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $start = $temp[0]; + $temp = `zooGetFlagArguments $optionStr end`; if( `size $temp` ) $end = $temp[0]; + + string $ftns[] = {}; + string $textures[] = {}; + int $num = 1; + + if( !`objExists $node` ) { + $ftns = `ls -r 1 "*.ftn"`; + $num = `size $ftns`; + for( $n=0; $n<$num; $n++ ) $textures[`size $textures`] = `getAttr $ftns[$n]`; + $textures = `stringArrayRemoveDuplicates $textures`; + } + else { + $ftns[0] = ( $node +".ftn" ); + $textures[0] = `getAttr ( $node +".ftn" )`; + } + + for( $n=$start; $n<=$end; $n++ ) { + currentTime -e $n; + for( $i=0; $i<$num; $i++ ) setAttr -type "string" $ftns[$i] $textures[$i]; + } + + print( "zooReloadTextureSequence \""+ $optionStr +"\";\n" ); + } + + +//------ +//builds a shader for the blast. the name of the blast gets written into the +//shader so that shaders are easily re-useable, and multiple are allowed in any +//scene +//------ +global proc string zooGetBlastShader( string $name, int $forceCreate ) { + string $master = `zooQueryMonkeySee`; + string $blasts[] = {}; + string $shaders[] = {}; + int $idxs[] = {}; + + zooListRegistered $master bgBlaster $idxs $blasts; + for( $b in $blasts ) $shaders[`size $shaders`] = `zooGetObjShader $b`; + for( $s in $shaders ) if( `objExists ( $s +".zooBlastName" )`) if( `getAttr ( $s +".zooBlastName" )` == $name ) return $s; + if( $forceCreate ) { + string $shader = `zooCreateShader "0 0 0 -1"`; + addAttr -ln "zooBlastName" -dt "string" $shader; + setAttr -type "string" ( $shader +".zooBlastName" ) $name; + return $shader; + } + + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooBlendToSdk.mel b/2009-x64/zooScripts/scripts/zooBlendToSdk.mel new file mode 100644 index 0000000..54a107a --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBlendToSdk.mel @@ -0,0 +1,48 @@ +global proc zooBlendToSdk() { + string $selObjs[] = `ls -sl`; + string $blendObj = "pSphere1"; + string $control = "locator1"; + + for( $obj in $selObjs ) { + string $blendShapeNodes[] = `ls -type blendShape (listHistory($obj))`; + string $objShp = zooGetElement_str(0,`listRelatives -s $obj`); + int $objVerts = `getAttr -s ( $objShp +".vrts" )`; + + for( $blend in $blendShapeNodes ) { + string $targets[] = `blendShape -q -t $blend`; + string $tgtAttrs[] = `listAttr -m ( $blend +".weight" )`; + + delete $blend; + for( $n=0; $n<`size $tgtAttrs`; $n++ ) { + string $driverPath = $control +"."+ $targets[$n]; + addAttr -k 1 -ln $targets[$n] -at double -min 0 -max 1 $control; + + //zooSetShapeSdk $obj $driverPath $targets[$n] $objVerts; + zooSetShapeSdk $obj $driverPath $targets[$n] $objVerts; + } + } + } + } + + +global proc zooSetShapeSdk( string $obj, string $driverPath, float $driverValue string $tgt, int $objVerts ) { + for( $n=0; $n<$objVerts; $n++ ) { + float $objPntPos[] = `xform -q -ws -t ( $obj +".vtx["+ $n +"]" )`; + float $tgtPntPos[] = `xform -q -ws -t ( $tgt +".vtx["+ $n +"]" )`; + float $vertVal[] = `getAttr ( $obj +".vtx["+ $n +"]" )`; + + move -a -ws $tgtPntPos[0] $tgtPntPos[1] $tgtPntPos[2] ( $obj +".vtx["+ $n +"]" ); + setDrivenKeyframe -cd $driverPath -dv $driverValue ( $obj +".pnts["+ $n +"].pntx" ); + setDrivenKeyframe -cd $driverPath -dv $driverValue ( $obj +".pnts["+ $n +"].pnty" ); + setDrivenKeyframe -cd $driverPath -dv $driverValue ( $obj +".pnts["+ $n +"].pntz" ); + + move -a -ws $objPntPos[0] $objPntPos[1] $objPntPos[2] ( $obj +".vtx["+ $n +"]" ); + setDrivenKeyframe -cd $driverPath -dv 0 ( $obj +".pnts["+ $n +"].pntx" ); + setDrivenKeyframe -cd $driverPath -dv 0 ( $obj +".pnts["+ $n +"].pnty" ); + setDrivenKeyframe -cd $driverPath -dv 0 ( $obj +".pnts["+ $n +"].pntz" ); + } + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooBodgeK.mel b/2009-x64/zooScripts/scripts/zooBodgeK.mel new file mode 100644 index 0000000..7c8db32 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBodgeK.mel @@ -0,0 +1,546 @@ +// +// bodgy interactive IK +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 11 August 2002 +// +// Description: +// this script was designed to replicate 3ds max's +// "interactive" IK mode, for posing FK arms etc... +// +// Usage: +// Select the root of the skeleton you want to trace the motion +// of, play with whatever options you want to, and hit the go +// button. +// +// Hamish McKenzie ©2007... + + +zooArrays_str; +zooArrays_int; +zooArrays_float; +zooAttrUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooUtils; +zooVectors; + + +global proc zooBodgeK() { + global int $zooBKDontKey; + string $windowName = "zooBodgeKWindow"; + string $windowTitle = "zooBodgeK v"+ `zooBodgeKInfo version` +" ::macaroniKazoo::"; + string $selObjs[] = `ls -sl`; + if( `window -ex $windowName` ) { deleteUI $windowName; } + + //enable the global variable for the ik snapping. if this variable is on, the proc which matches the original + //chain to the temporary chain, won't set keys + $zooBKDontKey = 0; + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -widthHeight 213 90 $windowName; + //scriptJob -p $windowName -e "SelectionChanged" "zooBodgeKWindowFunctions -update"; + menuBarLayout zooXferAnimMenuMain; + menu -l "Manage"; + menuItem -l "Bake Selected Range" -c( "zooBodgeKWindowFunctions -bake" ); + menuItem -l "Reload Handles" -ann "forces a reload of the script jobs associated with each bodgeK handle" -c( "zooCreateJobsForAll" ); + menu -l "Help"; + menuItem -l "Help..." -c ( "zooHelp zooBodgeK 1" ); + setParent ..; + + string $form = `formLayout`; + string $key = `checkBox -l "auto key chain" -v 1 -cc( "optionVar -iv zooBKAutoKey `checkBox -q -v zooBodgeKCheckKey`" ) zooBodgeKCheckKey`; + string $createB = `button -l "createIK" -c ( "zooBodgeKWindowFunctions -create;" ) zooBodgeKButtonCreate`; + string $snapIKB = `button -l "snap IK" -c ( "zooBKIKtoFKBatch {}" ) zooBodgeKButtonSnapHandle`; + string $snapJointB = `button -l "snap Joints" -c ( "zooBKFKtoIKBatch {} -1" ) zooBodgeKButtonSnapJoints`; + string $list = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 240 + -columnWidth 2 30 zooBodgeKRowBKList`; + text -height 18 zooBodgeKTextSelectedBK; + palettePort -ed 0 -height 18 -dim 1 1 -rgb 0 1 0 0 zooBodgeKPaletteStatus; + setParent ..; + + string $image = `image -width 205 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + formLayout -e + -af $createB "top" 0 + -af $createB "left" 0 + -ac $createB "right" 5 $key + -an $createB "bottom" + + -af $key "top" 3 + -an $key "left" + -af $key "right" 0 + -an $key "bottom" + + -ac $snapIKB "top" 0 $createB + -af $snapIKB "left" 0 + -ap $snapIKB "right" 0 50 + -an $snapIKB "bottom" + + -ac $snapJointB "top" 0 $createB + -ap $snapJointB "left" 0 50 + -af $snapJointB "right" 0 + -an $snapJointB "bottom" + + -ac $list "top" 0 $snapIKB + -af $list "left" 0 + -af $list "right" 0 + -ac $list "bottom" 0 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $form; + + showWindow $windowName; + zooBodgeKWindowFunctions -updateList; + zooBodgeKWindowFunctions -update; + zooBumpWindow $windowName; + } + + +global proc zooBodgeKWindowFunctions( string $function ) { + string $selObjs[] = `ls -sl`; + string $windowName = "zooBodgeKWindow"; + + switch ( $function ) { + case "-update": + //update current IK field + string $currentIK[] = `zooBodgeKGetCurrentIK`; + string $handles[] = `zooBodgeKListBodgeK`; + + //turn off all pallette ports, and then turn on the active ones + for( $handle in $handles ) palettePort -e -rgb 0 1 0 0 -redraw ( "zooBodgeKPaletteStatus_"+ $handle ); + for( $handle in $currentIK ) { + if( `zooBodgeKIsBodgeKActive $handle` ) palettePort -e -rgb 0 0 1 0 -redraw ( "zooBodgeKPaletteStatus_"+ $handle ); + else palettePort -e -rgb 0 1 0 0 -redraw ( "zooBodgeKPaletteStatus_"+ $handle ); + } + break; + + case "-updateList": + if( !`window -ex $windowName` ) break; + + string $handles[] = `zooBodgeKListBodgeK`; + string $parent = "zooBodgeKRowBKList"; + string $children[] = `rowColumnLayout -q -ca $parent`; + + setParent $parent; + if( `size $children` ) deleteUI $children; + + for( $handle in $handles ) { + string $text = `text -l $handle -height 18 ( "zooBodgeKTextSelectedBK_"+ $handle )`; + palettePort -ed 0 -height 18 -dim 1 1 -rgb 0 1 0 0 ( "zooBodgeKPaletteStatus_"+ $handle ); + + popupMenu -p $text; + menuItem -l "snap IK"; + menuItem -l "snap Joints"; + } + break; + + case "-load": + string $startObj = `zooBKGetStartFromEnd $selObjs[0]`; + int $chainLength = `optionVar -ex zooBodgeKChainLength`? `optionVar -q zooBodgeKChainLength`: 2; + + textField -e -tx $startObj zooBodgeKTextIKStartJoint; + textField -e -tx $selObjs[0] zooBodgeKTextIKEndJoint; + zooBodgeKWindowFunctions -update; + break; + + case "-create": + zooCreateBodgeK `ls -sl`; + zooBodgeKWindowFunctions -updateList; + break; + + case "-bake": + string $sel[] = `ls -sl`; + if( `size $sel` != 2 ) { + confirmDialog -m "select the ik handle, and then the target"; + return; + } + zooBakeBKToTarget; + break; + } + } + + +global proc zooCreateJobsForAll() { + string $bodgeKs[] = `zooBodgeKListBodgeK`; + for( $handle in $bodgeKs ) zooCreateBKJobs $handle; + } + + +global proc zooCreateBKJobs( string $handle ) { + string $infoNode = `zooBKGetInfo $handle`; + string $poleVector = `zooBKGetPole $handle`; + + int $updScriptJob = `getAttr ( $infoNode +".zooBKJob01" )`; + int $scriptJob02 = `getAttr ( $infoNode +".zooBKJob02" )`; + int $scriptJob03 = `getAttr ( $infoNode +".zooBKJob03" )`; + int $delScriptJob = `getAttr ( $infoNode +".zooBKDeleteJob" )`; + if( $updScriptJob ) if( `scriptJob -ex $updScriptJob` ) scriptJob -force -kill $updScriptJob; + if( $scriptJob02 ) if( `scriptJob -ex $scriptJob02` ) scriptJob -force -kill $scriptJob02; + if( $scriptJob03 ) if( `scriptJob -ex $scriptJob03` ) scriptJob -force -kill $scriptJob03; + if( $delScriptJob ) if( `scriptJob -ex $delScriptJob` ) scriptJob -force -kill $delScriptJob; + + $updScriptJob = `scriptJob -kws -cu 1 -attributeChange ( $handle +".t" ) ( "zooBKFKtoIK "+ $handle +" -1" )`; + $scriptJob02 = `scriptJob -kws -cu 1 -attributeChange ( $handle +".r" ) ( "zooBKFKtoIK "+ $handle +" -1" )`; + $scriptJob03 = `scriptJob -kws -cu 1 -attributeChange ( $poleVector +".t" ) ( "zooBKFKtoIK "+ $handle +" -1" )`; + $delScriptJob = `scriptJob -kws -runOnce 1 -connectionChange ( $infoNode +".visibility" ) ( "zooDeleteBodgeK "+ $infoNode )`; + setAttr ( $infoNode +".zooBKJob01" ) $updScriptJob; + setAttr ( $infoNode +".zooBKJob02" ) $scriptJob02; + setAttr ( $infoNode +".zooBKJob03" ) $scriptJob03; + setAttr ( $infoNode +".zooBKDeleteJob" ) $delScriptJob; + } + + +global proc zooDeleteBodgeK( string $infoNode ) { + string $pole = `connectionInfo -sfd ( $infoNode +".zooBKpole" )`; + lockNode -l 0 ( `match "^[^.]+" $pole` ); + + int $updScriptJob = `getAttr ( $infoNode +".zooBKJob01" )`; + int $scriptJob02 = `getAttr ( $infoNode +".zooBKJob02" )`; + int $scriptJob03 = `getAttr ( $infoNode +".zooBKJob03" )`; + int $delScriptJob = `getAttr ( $infoNode +".zooBKDeleteJob" )`; + if( `scriptJob -ex $updScriptJob` ) scriptJob -force -kill $updScriptJob; + if( `scriptJob -ex $scriptJob02` ) scriptJob -force -kill $scriptJob02; + if( `scriptJob -ex $scriptJob03` ) scriptJob -force -kill $scriptJob03; + delete $infoNode; + print( "Deleted the "+ $infoNode +" bodgeK network, and tidied up successfully\n" ); + } + + +global proc zooCreateBodgeK( string $pivots[] ) { + for( $p in $pivots ) if( !`objExists $p` ) return; + + int $numPivs = `size $pivots`; + string $poleVector = zooGetElement_str(0,`spaceLocator`); select -cl; + string $infoNode = `group -em -n "bodgeK_infoNode"`; + string $handleName = $pivots[( $numPivs-1 )] +"_BodgeKHandle"; + string $bkChain[] = {}; + int $triggeredExists = `exists zooTriggeredUtils`; + + for( $n=0; $n<`size $pivots`; $n++ ) { + select -cl; + string $joint = ""; + //if the current original node is a joint, just duplicate it, to save us matching joint orient, etc... + if( `nodeType $pivots[$n]` == "joint" ) { + string $dupeChain[] = `duplicate -rc $pivots[$n]`; + $joint = $dupeChain[0]; + if( size( `listRelatives -path $joint` )) delete `listRelatives -path $joint`; + if( size( `listRelatives -p $joint` )) parent -w $joint; + zooAttrState "-attrs t r -k 1 -l 0" $joint; + } + //otherwise, we'll make our own joint + else { + $joint = `joint -p 0 0 0`; + delete `parentConstraint $pivots[$n] $joint`; + + makeIdentity -apply 1 -t 1 -r 1 -s 1 $joint; + + if( `getAttr -l ( $pivots[$n] +".rx" )`) setAttr -l 1 ( $joint +".rx" ); + if( `getAttr -l ( $pivots[$n] +".ry" )`) setAttr -l 1 ( $joint +".ry" ); + if( `getAttr -l ( $pivots[$n] +".rz" )`) setAttr -l 1 ( $joint +".rz" ); + } + + $bkChain[( `size $bkChain` )] = $joint; + if( $n ) parent $joint $bkChain[( $n-1 )]; + } + + pointConstraint $pivots[0] $bkChain[0]; + string $ikReturn[] = `ikHandle -sol ikRPsolver -dh -n $handleName -sj $bkChain[0] -ee $bkChain[( size($bkChain)-1 )]`; + $handleName = $ikReturn[0]; + $effectorName = `rename $ikReturn[1] ( $handleName +"Effector" )`; + + //match the rotation of the bodgeK handle to that of the end object. The end object's rotation is + //taken from the rotation of the bodgeK handle + { + float $rotation[] = `xform -q -ro -ws $pivots[( size($pivots)-1 )]`; + rotate -a -ws $rotation[0] $rotation[1] $rotation[2] $handleName; + } + + //position the pole vector, and parent it to the bodgeK handle + { + float $pos[] = `zooFindPolePosition ( "-start "+ $pivots[0] +" -mid "+ $pivots[( $numPivs/2 )] +" -end "+ $pivots[( $numPivs-1 )] )`; + move -rpr $pos[0] $pos[1] $pos[2] $poleVector; + parent $poleVector $infoNode; + parent $bkChain[0] $infoNode; + poleVectorConstraint $poleVector $handleName; + } + + //connect the visibility of the ik handle to the visibility of the duplicate bones, and turn the bones to references + //now referemce the duplicated bones, as they are visual reference only + connectAttr -f ( $handleName +".visibility" ) ( $infoNode +".visibility" ); + for( $obj in $bkChain ) { + connectAttr -f ( $handleName +".visibility" ) ( $obj +".visibility" ); + setAttr ( $obj +".overrideEnabled" ) 1; + setAttr ( $obj +".overrideDisplayType" ) 2; + } + + setAttr ( $poleVector +".displayHandle" ) 1; + setAttr ( $handleName +".displayHandle" ) 1; + + //add custom attributes to the ik handle so that the script can determine which handles belongs to it + addAttr -ln "zooBKinfo" -at message $handleName; + addAttr -ln "zooBKpole" -at message $infoNode; + + //now connect the objects to the custom attribs on the ik handle, so the script can find them reliably, and easily + connectAttr -f ( $infoNode +".message" ) ( $handleName +".zooBKinfo" ); + connectAttr -f ( $poleVector +".message" ) ( $infoNode +".zooBKpole" ); + for( $p in $pivots ) zooAddConnect $infoNode $p; + + //if the zooTriggered script exists, set it up + int $handleNum = `zooAddConnect $poleVector $handleName`; + if( $triggeredExists ) zooTrigSetCmd $handleName "zooBKIKtoFK #;"; + if( $triggeredExists ) zooTrigSetCmd $poleVector ( "zooBKIKtoFK %"+ $handleNum +";" ); + + //now setup useful right click menu stuff + int $cmd1 = `zooObjMenuAddCmd $handleName`; + int $cmd2 = `zooObjMenuAddCmd $handleName`; + int $cmd3 = `zooObjMenuAddCmd $handleName`; + int $cmd4 = `zooObjMenuAddCmd $handleName`; + int $cmd5 = `zooObjMenuAddCmd $handleName`; + zooSetObjMenuCmdName $handleName "snap to FK" $cmd1; + zooSetObjMenuCmdName $handleName "snap FK to IK" $cmd2; + zooSetObjMenuCmdName $handleName "key all FK controls" $cmd3; + zooSetObjMenuCmdName $handleName "select pole vector" $cmd4; + zooSetObjMenuCmdName $handleName "select all FK controls" $cmd5; + zooSetObjMenuCmdStr $handleName "zooBKIKtoFK #;" $cmd1; + zooSetObjMenuCmdStr $handleName "zooBKFKtoIK # 0;" $cmd2; + zooSetObjMenuCmdStr $handleName "setKeyframe -at t -at r `zooBKGetFK #`;" $cmd3; + zooSetObjMenuCmdStr $handleName "select `zooBKGetPole #`;" $cmd4; + zooSetObjMenuCmdStr $handleName "select `zooBKGetFK #`;" $cmd5; + + //finally, create a script job that deletes the bones if the ik handle is deleted, and then snap the ik handle to the end bone + addAttr -ln zooBKJob01 -at long $infoNode; //this stores the scriptJob number for the update scriptJob + addAttr -ln zooBKJob02 -at long $infoNode; //stores pole vector update scriptJob + addAttr -ln zooBKJob03 -at long $infoNode; //stores pole vector update scriptJob + addAttr -ln zooBKDeleteJob -at long $infoNode; //this stores the scriptJob number for the delete scriptJob + zooCreateBKJobs $handleName; + + //now setup some locks on some of the nodes - so the user only removes the ik by deleting the handle + lockNode -l 1 $poleVector; + + //turn off keyability of attributes + setAttr -k 0 ( $handleName +".tx" ); + setAttr -k 0 ( $handleName +".ty" ); + setAttr -k 0 ( $handleName +".tz" ); + setAttr -k 0 ( $handleName +".rx" ); + setAttr -k 0 ( $handleName +".ry" ); + setAttr -k 0 ( $handleName +".rz" ); + setAttr -k 0 ( $poleVector +".tx" ); + setAttr -k 0 ( $poleVector +".ty" ); + setAttr -k 0 ( $poleVector +".tz" ); + + //zooBKIKtoFK $handleName; + zooBodgeKCreateReloadScript; + select $handleName; + } + + +//handles all snapping of bodgeK clients +global proc zooBKFKtoIKBatch( string $handles[], int $forceKey ) { + if( !`size $handles` ) $handles = `zooBodgeKGetCurrentIK`; + int $autoKeyState = `autoKeyframe -q -state`; + + autoKeyframe -state 0; + for( $handle in $handles ) { + if( !`objExists $handle` ) continue; + zooBKFKtoIK $handle $forceKey; + } + + autoKeyframe -state $autoKeyState; + } + + +//this proc matches the rotation of the original heirarchy, to the temporary joint chain +global proc zooBKFKtoIK( string $currentIK, int $forceKey ) { + global int $zooBKDontKey; + string $orgObjs[] = `zooBKGetFK $currentIK`; + string $dupeObjs[] = `zooBKGetDupeFK $currentIK`; + float $time = `currentTime -q`; + int $autoKey = $forceKey; + if( $forceKey == -1 ) $autoKey = `optionVar -ex zooBKAutoKey`? `optionVar -q zooBKAutoKey`: 1; + + //save current state of auto-key, and make sure auto key is off, as this proc needs exclusive control over keying + int $autoKeyState = `autoKeyframe -q -state`; + autoKeyframe -state 0; + + //store whether the object has a key on it before we do anything - so we can restore the keyed state of this object later + int $isKeyed[] = {}; + for( $n=0; $n<`size $orgObjs`; $n++ ) $isKeyed[$n] = `keyframe -t $time -q -kc ( $orgObjs[$n] +".r" )`; + + //now match the rotations of the original joints to those of the duplicate joints + for( $n=0; $n<`size $orgObjs`-1; $n++ ) { + float $rotation[] = `xform -q -ro -ws $dupeObjs[$n]`; + rotate -a -ws $rotation[0] $rotation[1] $rotation[2] $orgObjs[$n]; + } + + //now match the last object in the chain (the end effector type object) to the orientation of the bodgeK handle + float $rotation[] = `xform -q -ro -ws $currentIK`; + rotate -a -ws $rotation[0] $rotation[1] $rotation[2] $orgObjs[( size($orgObjs)-1 )]; + if( $autoKey && !$zooBKDontKey ) setKeyframe -at r $orgObjs; + + //finally, delete keys that were created on objects that didn't have keys to start with + //if( $autoKey ) for( $n=0; $n<`size $orgObjs`; $n++ ) if( !$isKeyed[$n] ) cutKey -t $time -cl ( $orgObjs[$n] +".r" ); + + autoKeyframe -state $autoKeyState; + $zooBKDontKey--; + if( $zooBKDontKey<0 ) $zooBKDontKey = 0; + } + + +global proc zooBKIKtoFKBatch( string $handles[] ) { + if( !`size $handles` ) $handles = `zooBodgeKGetCurrentIK`; + int $autoKeyState = `autoKeyframe -q -state`; + + autoKeyframe -state 0; + for( $handle in $handles ) { + if( !`objExists $handle` ) continue; + zooBKIKtoFK $handle; + } + + autoKeyframe -state $autoKeyState; + } + + +global proc zooBKIKtoFK( string $handle ) { + if( !`objExists $handle` ) return; + + global int $zooBKDontKey; + string $orgObjs[] = `zooBKGetFK $handle`; + string $poleVectorObj = `zooBKGetPole $handle`; + int $numObjs = `size $orgObjs`; + float $endJointPos[] = `xform -q -ws -rp $orgObjs[( $numObjs-1 )]`; + float $endJointRot[] = `xform -q -ws -ro $orgObjs[( $numObjs-1 )]`; + float $pvPos[] = `zooFindPolePosition ( "-start "+ $orgObjs[0] +" -mid "+ $orgObjs[( $numObjs/2 )] +" -end "+ $orgObjs[( $numObjs-1 )] )`; + float $time = `currentTime -q`; + int $isKeyed[] = {}; + + //enable snap, so the matching proc doesn't key the original joints + //we set the counter to 3 because thats how many times the zooBKFKtoIK gets called + //after we run this script - once for the translate attribute change, one for the + //rotate attribute change and another for the pole vector translate change + $zooBKDontKey = 3; + + //store current keyed state of all original objects + for( $n=0; $n<`size $orgObjs`; $n++ ) $isKeyed[$n] = `keyframe -t $time -q -kc ( $orgObjs[$n] +".r" )`; + + //transform the bodgeK controls + xform -ws -t $endJointPos[0] $endJointPos[1] $endJointPos[2] $handle; + rotate -a -ws $endJointRot[0] $endJointRot[1] $endJointRot[2] $handle; + move -rpr $pvPos[0] $pvPos[1] $pvPos[2] $poleVectorObj; + + //for( $n=0; $n<`size $orgObjs`; $n++ ) if( !$isKeyed[$n] ) cutKey -t $time -cl ( $orgObjs[$n] +".r" ); + } + + +//this script deals with creating the script node that rebuilds all bodgeK handles stored with a scenes +global proc zooBodgeKCreateReloadScript() { + //first delete all old reload nodes, just to make sure there aren't multiple + string $scriptNodes[] = `ls -type script`; + for( $node in $scriptNodes ) if( `objExists ( $node +".bodgeK" )`) catch( `delete $node` ); + + //now create a reload script node + string $reloadScript = `scriptNode -st 1 -bs "evalDeferred( \"source zooBodgeK; zooCreateJobsForAll;\" )" -n "zooBodgeKReloadScript"`; + addAttr -h 0 -ln bodgeK -at long $reloadScript; + } + + +//determines whether a selected ik handle is an active bodgeK handle or not +global proc int zooBodgeKIsBodgeKActive( string $ikHandle ) { + if( $ikHandle == "" ) return 0; + string $infoNode = `connectionInfo -sfd ( $ikHandle +".zooBKinfo" )`; + $infoNode = `match "^[^.]+" $infoNode`; + int $jobNum = `getAttr ( $infoNode +".zooBKJob01" )`; + if( $jobNum != 0 && `scriptJob -ex $jobNum` ) return 1; + else return 0; + } + + +global proc string[] zooBKGetDupeFK( string $ikHandle ) { + string $temp[] = `listConnections -s 0 ( $ikHandle +".v" )`; + string $objs[] = {}; + for( $n = 0; $n < `size $temp`; $n++ ) if( `nodeType $temp[$n]` == "joint" ) $objs[( `size $objs` )] = $temp[$n];//`match "^[^.]+" $temp[$n]`; + return `zooSortToHeirarchy $objs`; + } + + +global proc string[] zooBKGetFK( string $ikHandle ) { + string $infoNode = `zooBKGetInfo $ikHandle`; + return `zooGetConnects $infoNode`; + } + + +global proc string zooBKGetPole( string $ikHandle ) { + string $infoNode = `zooBKGetInfo $ikHandle`; + string $poleVector = `connectionInfo -sfd ( $infoNode +".zooBKpole" )`; + $poleVector = `match "^[^.]+" $poleVector`; + return $poleVector; + } + + +global proc string zooBKGetInfo( string $ikHandle ) { + string $infoNode = `connectionInfo -sfd ( $ikHandle +".zooBKinfo" )`; + $infoNode = `match "^[^.]+" $infoNode`; + return $infoNode; + } + + +global proc zooBakeBKToTarget() { + string $sel[] = `ls -sl`; + string $cmd = ""; + + $cmd += "zooAlign \"-src "+ $sel[1] +" -tgt "+ $sel[0] +"\";\n"; + $cmd += "zooBKFKtoIK "+ $sel[0] +" 1;"; + zooKeyCommands "-bake 1 -frames : :" $cmd; + } + + +//this proc "scans" the select object to see if its part of a bodgeK network, and returns the first found bodgeK chain +//ie if the selected object is the part of the original heirarchy, then it will return the name of the bodgeK +//handle that controls it +global proc string[] zooBodgeKGetCurrentIK () { + string $selObjs[] = `ls -sl`; + string $handles[] = `zooBodgeKListBodgeK`; + string $return[] = {}; + + for( $obj in $selObjs ) { + string $selectionType = `nodeType $obj`; + + //if there is a currently selected ikHandle, and it has a bodgeK attribute, return it as the current bodgeK handle + if( $selectionType == "ikHandle" ) for( $handle in $handles ) if( $handle == $obj ) $return[( `size $return` )] = $handle; + if( $selectionType == "transform" || $selectionType == "joint" ) for( $handle in $handles ) { + string $affected[] = `zooBKGetFK $handle`; + for( $piece in $affected ) if( $piece == $obj ) $return[( `size $return` )] = $handle; + } + } + + return $return; + } + + +//returns a list of all bodgeK handles in the scene +global proc string[] zooBodgeKListBodgeK() { + string $handles[] = `ls -type ikHandle`; + string $bodgeKs[] = {}; + + for( $handle in $handles ) if( `objExists ( $handle +".zooBKinfo" )`) $bodgeKs[( `size $bodgeKs` )] = $handle; + return $bodgeKs; + } + + +global proc string zooBodgeKInfo ( string $function ) { + string $creationDate = "11 August 2002"; + string $currentVersion = "1.6.12"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooBodgeKDependencies.mel b/2009-x64/zooScripts/scripts/zooBodgeKDependencies.mel new file mode 100644 index 0000000..b80d35c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBodgeKDependencies.mel @@ -0,0 +1,28 @@ +global proc string[] zooBodgeKDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAlign"; + $melDependencies[( `size $melDependencies` )] = "zooAttrUtils"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_int"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooKeyCommands"; + $melDependencies[( `size $melDependencies` )] = "zooObjMenu"; + $melDependencies[( `size $melDependencies` )] = "zooSortToHeirarchy"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooVectors"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $helpDependencies[( `size $helpDependencies` )] = "zooBodgeK_help"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooBodgeK.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooBodgeK_help.zooHelp b/2009-x64/zooScripts/scripts/zooBodgeK_help.zooHelp new file mode 100644 index 0000000..4a4174a --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBodgeK_help.zooHelp @@ -0,0 +1,44 @@ +Overview +-------- +This script allows you to pose any fk chain using ik. What it does, is create a temporary skeleton with an ik handle controlling it. When the temporary skeleton is moved with the ik handle, the fk heirarchy is snapped to the temporary skeleton. It is all done using script jobs, so no connections are made to the original fk heirarchy. This way, you can pose practically ANY fk heirarchy (the heirarchy doesn't even have to be made of joints, nor does it have to be a simple heirarchy - split heirarchies are allowed) using ik. + + +Usage +-------- +The UI allows you to create a simple 3 joint chain - this is the most common scenario, and is used to pose fk arms and legs. But you can use this script to control fk chains of any length. For now, I will take you through the use of the script with simple 3 pivot fk chains. + +So I will assume you're working with an fk arm rig for the sake of this example. Of course, the procedure works the same with a leg. So to start with, select the bicep. In the UI, press the button that says "<-start". This will load the selected bicep control object into the UI. + +Do the same for the elbow control and the wrist control. Once you're done, hit the "createIK" button and you're done. The script creates a duplicate joint chain, an ik handle, and a locator which acts as a pole vector. So now try moving the ik handle. Once you finish moving it, the fk chain should snap into place. Similarly with the pole vector. By selecting it and moving it around, when you finish moving, the fk chain will snap into place. + + +Long FK Chains +-------- +So for longer chains, you must use the script in a different way. This way is actually easier than using the UI. Simply select the fk objects in heirarchical order. So just say you want to do it for a tentacle. You'd start with the base of the tentacle, and work your way toward the tip. Once you've selected all the controls you want to manipulate, go to Manage->Create IK From Selected. Voila. + +Now when you create the ik control, make sure the fk chain is bent, otherwise maya won't know which way to bend the fk chain, and it will most likely bend it the wrong way. + +Also, another thing to note. If you want certain areas of your fk chain to bend more than others, you can bend them more before you create the ik chain. So if you have 5 objects, 3 of them slightly bent and 2 of them strongly bent, the 2 strongly bent ones will actually do most of the bending in the ik chain. This can be a really easy way to control where the most bending takes place in longer chains. + + +Deleting bodgeK +-------- +To delete a bodgeK chain, simply delete the ikHandle. All the scriptJobs, and temporary objects created will automatically be deleted along with it. + +NOTE: if you save a scene with bodgeK in it, when the scene is loaded back up again, the bodgeK handles will no longer work. ScriptJobs control the bodgeK, and are not saved with your scene. So its a good idea to delete bodgeK handles before saving. + + +WARNING: note that the scriptJob that bodgeK uses, runs everytime the ikHandle changes. So if you keyframe the bodgeK ikHandle, when you scrub the timeline, the scriptJob will get fired off everyframe, and you'll have keys all over your original objects. The simplest way to avoid this problem is to not set keys on the bodgeK handle. Remember, you can use the snapIK button to snap the bodgeK handle to the original objects. + + +Using zooTriggered +-------- +You can make the bodgeK handle a trigger, so that when you select it, it automatically snaps to the original joint chain. This saves you keeping the zooBodgeK window open all the time. + + +Using zooObjMenu +-------- +If you work with zooObjMenu, there are a couple of commands automatically setup on the ikHandle to help you work more effectively with zooBodgeK. You can snap the ik handle to the fk chain, or vice versa. This allows you to use both fk and the ik at once to pose your chain for maximum flexibility. + +Hamish McKenzie ©2005... +macaroniKazoo Productions ©2005... diff --git a/2009-x64/zooScripts/scripts/zooBoltOnIK.mel b/2009-x64/zooScripts/scripts/zooBoltOnIK.mel new file mode 100644 index 0000000..ca722c1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBoltOnIK.mel @@ -0,0 +1,162 @@ +zooArrays_str; +zooAttrUtils; +zooVectors; +zooXferAnimUtils; +zooCSTUtils; + + +global proc string zooBoltOnIK( string $pivots[], int $stretchy ) { + for( $p in $pivots ) if( !`objExists $p` ) return ""; + + int $numPivs = `size $pivots`; + string $poleVector = zooGetElement_str(0,`spaceLocator`); select -cl; + string $infoNode = `group -em -n "boltOnIK_parts"`; + string $lastPivot = `zooGetElement_str -1 $pivots`; + string $handleName = "boltOnIK_"+ $lastPivot; + string $dupeChain[] = {}; + int $blendPref = `optionVar -q animBlendingOpt`; + + $poleVector = `rename $poleVector ( "boltOnIK_poleVector#" )`; + optionVar -iv animBlendingOpt 1; //temporarily turn the blend pref on + for( $n=0; $n<$numPivs; $n++ ) { + select -cl; + string $joint = `joint -p 0 0 0`; + float $orient[] = `getAttr ( $pivots[$n] +".r" )`; + + if( `getAttr -l ( $pivots[$n] +".rx" )`) setAttr -l 1 ( $joint +".rx" ); + if( `getAttr -l ( $pivots[$n] +".ry" )`) setAttr -l 1 ( $joint +".ry" ); + if( `getAttr -l ( $pivots[$n] +".rz" )`) setAttr -l 1 ( $joint +".rz" ); + + $dupeChain[$n] = $joint; + if( $n ) parent $joint $dupeChain[( $n-1 )]; + + //if we have a preferred angle attribute, copy it too. otherwise, assume the current rotation is the preferred angle + if( `objExists ( $pivots[$n] +".pa" )`) { + float $pa[] = `getAttr ( $pivots[$n] +".pa" )`; + setAttr ( $joint +".pa" ) $pa[0] $pa[1] $pa[2]; + } + + zooSameTransform $pivots[$n] $joint; + + //copy viewport representation - so they look identical + zooReplaceShape $pivots[$n] $joint; + } + //if( $numPivs==3 ) zooOrientTripletJoint $dupeChain; + zooOrientChainProperly $dupeChain {}; + + + //now position the pole vector before we alter the original chain + float $polePos[] = `zooFindPolePosition ( "-start "+ $pivots[0] +" -mid "+ $pivots[( $numPivs/2 )] +" -end "+ $lastPivot )`; + move -rpr $polePos[0] $polePos[1] $polePos[2] $poleVector; + parent $poleVector $infoNode; + parent $dupeChain[0] $infoNode; + + + //now constrain the original to the duplicate + pointConstraint $pivots[0] $dupeChain[0]; + orientConstraint -mo $dupeChain[0] $pivots[0]; + for( $n=1; $n<`size $pivots`; $n++ ) { + string $cmd = "parentConstraint -mo "; + if( !`getAttr -se ( $pivots[$n] +".tx" )`) $cmd += "-st x "; + if( !`getAttr -se ( $pivots[$n] +".ty" )`) $cmd += "-st y "; + if( !`getAttr -se ( $pivots[$n] +".tz" )`) $cmd += "-st z "; + $cmd += $dupeChain[$n] +" "+ $pivots[$n]; + eval $cmd; + } + + + //build the ik handle + string $ikReturn[] = `ikHandle -sol ikRPsolver -dh -n $handleName -sj $dupeChain[0] -ee $dupeChain[( size($dupeChain)-1 )]`; + $handleName = $ikReturn[0]; + $effectorName = `rename $ikReturn[1] ( $handleName +"Effector" )`; + poleVectorConstraint $poleVector $handleName; + + + //connect the visibility of the ik handle to the visibility of the duplicate bones + connectAttr -f ( $handleName +".v" ) ( $infoNode +".v" ); + for( $obj in $dupeChain ) connectAttr -f ( $handleName +".v" ) ( $obj +".v" ); + + + //we turn the handles on for the pole vector and the ik handle so they're easier to select + setAttr ( $poleVector +".displayHandle" ) 1; + setAttr ( $handleName +".displayHandle" ) 1; + + + //now add connects so we can build some right menu interface items to make working with the bolt on ik system easier + int $dupeConnects[] = {}; + int $poleNum = `zooAddConnect $handleName $poleVector`; + for( $p in $dupeChain ) $dupeConnects[( `size $dupeConnects` )] = `zooAddConnect $handleName $p`; + for( $p in $pivots ) zooAddConnect $infoNode $p; + + + //connect the original pivots to the dupe pivots, and use a trigger select command on them - to make working in fk easy + for( $n=0; $n<`size $pivots`; $n++ ) { + int $connectNum = `zooAddConnect $pivots[$n] $dupeChain[$n]`; + zooTrigSetCmd $pivots[$n] ( "select -add %"+ $connectNum +";" ); + } + + + //now setup useful right click menu stuff + zooObjMenuAddCmdAll $handleName "select all FK controls" ( "select %"+ `zooArrayToStr_int $dupeConnects " %"` +";" ); + zooObjMenuAddCmdAll $handleName "select pole vector" ( "select %"+ $poleNum +";" ); + zooObjMenuAddCmdAll $handleName "place pole vector sensibly" ( "float $pos[] = `zooFindPolePosition \"-start %"+ $dupeConnects[0] +" -mid %"+ $dupeConnects[( $numPivs/2 )] +" -end %"+ $dupeConnects[( `size $dupeConnects`-1 )] +"\"`;\nmove -ws -a -rpr $pos[0] $pos[1] $pos[2] %1;" ); + zooObjMenuAddCmdAll $handleName "switch to FK" ( "zooAlign \"\";\nzooAlignFK \"-ikHandle #\";" ); + zooObjMenuAddCmdAll $handleName "switch to IK" ( "zooAlign \"\";\nzooAlignIK \"-ikHandle # -pole %"+ $poleNum +"\";" ); + + + //build pickwalking + zooPickwalk load; + zooSetPickwalkObj $handleName $poleVector "-dir up -reciprocal 1"; + zooSetPickwalkObj $handleName $poleVector "-dir down -reciprocal 1"; + + + //turn off keyability of attributes + zooAttrState "-attrs s offset roll pv -k 0 -l 1" $handleName; + zooAttrState "-attrs v -k 0" $handleName; + for( $n=0; $n<`size $dupeChain`; $n++ ) zooAttrState "-attrs t s v -k 0 -l 1" $dupeChain[$n]; + group -n boltOnIKHandleSpace $handleName; + + + //are we making it stretchy? + string $nodes[] = {}; + if( $stretchy ) if( `exists zooCSTMakeStretchy` ) { + $nodes = `zooCSTMakeStretchy $handleName $handleName ""`; + parent `zooGetElement_str -2 $nodes` $infoNode; + } + select $handleName; + optionVar -iv animBlendingOpt $blendPref; //restore the blend pref + + return $handleName; + } + + +global proc string[] zooBoltOnIKDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAlign"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_int"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooBoltOnIKWin"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooObjMenu"; + $melDependencies[( `size $melDependencies` )] = "zooSortToHeirarchy"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooVectors"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooBoltOnIK.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooBoltOnIKWin.mel b/2009-x64/zooScripts/scripts/zooBoltOnIKWin.mel new file mode 100644 index 0000000..06a5c2a --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBoltOnIKWin.mel @@ -0,0 +1,40 @@ +global proc zooBoltOnIKWin() { + string $windowName = "zooBoltOnIKWin"; + string $windowTitle = "zooBoltOnIK"; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 0 -width 200 -height 30 $windowName; + string $form = `formLayout`; + string $text = `text -l "select your FK controls, then hit the button!"`; + string $check = `checkBox -l "stretchy?" zooBoltOnCheck`; + string $button = `button -l "Bolt on IK" -c( "zooBoltOnIK `ls -sl` `checkBox -q -v zooBoltOnCheck`;" )`; + string $image = `image -width 100 -height 8 -backgroundColor ((float)1) ((float)0) ((float)0) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + + formLayout -e + -af $text "top" 3 + -af $text "left" 5 + -an $text "right" + -an $text "bottom" + + -ac $check "top" 3 $text + -af $check "left" 2 + -af $check "right" 2 + -an $check "bottom" + + -ac $button "top" 3 $check + -af $button "left" 2 + -af $button "right" 2 + -ac $button "bottom" 2 $image + + -an $image "top" + -af $image "left" 2 + -af $image "right" 2 + -af $image "bottom" 2 + $form; + + showWindow $windowName; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooBounds.mel b/2009-x64/zooScripts/scripts/zooBounds.mel new file mode 100644 index 0000000..f58c0db --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBounds.mel @@ -0,0 +1,153 @@ +zooArrays_str; + + +global proc zooBounds() { + return; + } + + +global proc float[] zooGetSize( string $obj ) { + string $shapes[] = `listRelatives -pa -s $obj`; + if( !`size $shapes` ) $shapes = {$obj}; + float $bounds[] = `zooGetBounds $shapes`; + float $size[] = `zooGetSizeFromBounds $bounds`; + + return $size; + } + + +global proc float[] zooGetSizeFromBounds( float $bounds[] ) { + float $size[] = { ( abs($bounds[3]-$bounds[0])), ( abs($bounds[4]-$bounds[1])), ( abs($bounds[5]-$bounds[2])) }; + return $size; + } + + +//takes a list of objects, and returns an array containing: +//minBBX, minBBY, minBBZ, maxBBX, maxBBY, maxBBZ for the whole collection of objects +global proc float[] zooGetBounds( string $objs[] ) { + float $minX = `getAttr ( $objs[0] +".bbnx" )`; + float $minY = `getAttr ( $objs[0] +".bbny" )`; + float $minZ = `getAttr ( $objs[0] +".bbnz" )`; + float $maxX = `getAttr ( $objs[0] +".bbxx" )`; + float $maxY = `getAttr ( $objs[0] +".bbxy" )`; + float $maxZ = `getAttr ( $objs[0] +".bbxz" )`; + + for( $n=1; $n<`size $objs`; $n++ ) { + float $minXn = `getAttr ( $objs[$n] +".bbnx" )`; + float $minYn = `getAttr ( $objs[$n] +".bbny" )`; + float $minZn = `getAttr ( $objs[$n] +".bbnz" )`; + float $maxXn = `getAttr ( $objs[$n] +".bbxx" )`; + float $maxYn = `getAttr ( $objs[$n] +".bbxy" )`; + float $maxZn = `getAttr ( $objs[$n] +".bbxz" )`; + + if( $minXn < $minX ) $minX = $minXn; + if( $minYn < $minY ) $minY = $minYn; + if( $minZn < $minZ ) $minZ = $minZn; + + if( $maxXn > $maxX ) $maxX = $maxXn; + if( $maxYn > $maxY ) $maxY = $maxYn; + if( $maxZn > $maxZ ) $maxZ = $maxZn; + } + + return { $minX,$minY,$minZ, $maxX,$maxY,$maxZ }; + } + +//similar to bounds, but uses object pivots instead of object bounds, so doesn't +//take child nodes into account - like geometry, or child transforms etc... +global proc float[] zooGetPivotBounds( string $pivs[] ) { + float $pos0[] = `xform -q -ws -rp $pivs[0]`; + float $minX = $pos0[0]; + float $minY = $pos0[1]; + float $minZ = $pos0[2]; + float $maxX = $pos0[0]; + float $maxY = $pos0[1]; + float $maxZ = $pos0[2]; + + for( $n=1; $n<`size $pivs`; $n++ ) { + float $pos[] = `xform -q -ws -rp $pivs[$n]`;print $pos; + if( $pos[0] < $minX ) $minX = $pos[0]; + else if( $pos[0] > $maxX ) $maxX = $pos[0]; + + if( $pos[1] < $minY ) $minY = $pos[1]; + else if( $pos[1] > $maxY ) $maxY = $pos[1]; + + if( $pos[2] < $minZ ) $minZ = $pos[2]; + else if( $pos[2] > $maxZ ) $maxZ = $pos[2]; + } + + return { $minX,$minY,$minZ, $maxX,$maxY,$maxZ }; + } + + +global proc float[] zooCentreFromBounds( float $bounds[] ) { + float $midX = ($bounds[0]+$bounds[3]) /2; + float $midY = ($bounds[1]+$bounds[4]) /2; + float $midZ = ($bounds[2]+$bounds[5]) /2; + float $minRad = 0; + float $maxRad = 0; + float $rads[] = {}; + float $radius; + + $rads = `sort { ($bounds[3]-$midX), ($bounds[4]-$midY), ($bounds[5]-$midZ) }`; + $minRad = $rads[2]; + $maxRad = sqrt(($bounds[3]-$midX)*($bounds[3]-$midX) + ($bounds[4]-$midY)*($bounds[4]-$midY) + ($bounds[5]-$midZ)*($bounds[5]-$midZ)); + + $radius = ( $minRad + $maxRad )/2; + //$radius = $minRad; + return { $midX, $midY, $midZ, $radius }; + } + + +//returns the name of the bound object +global proc string zooDrawBoundBox( float $bounds[] ) { + string $box = zooGetElement_str(0,`polyCube`); + for( $n=0; $n<6; $n++ ) move -a 0 0 0 ( $box +".vtx["+ $n +"]" ); + + //x translations + move -r $bounds[0] 0 0 ( $box +".vtx[1]" ); + move -r $bounds[0] 0 0 ( $box +".vtx[3]" ); + move -r $bounds[0] 0 0 ( $box +".vtx[5]" ); + move -r $bounds[0] 0 0 ( $box +".vtx[7]" ); + + move -r $bounds[3] 0 0 ( $box +".vtx[1]" ); + move -r $bounds[3] 0 0 ( $box +".vtx[3]" ); + move -r $bounds[3] 0 0 ( $box +".vtx[5]" ); + move -r $bounds[3] 0 0 ( $box +".vtx[7]" ); + + //y translations + move -r 0 $bounds[1] 0 ( $box +".vtx[0]" ); + move -r 0 $bounds[1] 0 ( $box +".vtx[1]" ); + move -r 0 $bounds[1] 0 ( $box +".vtx[6]" ); + move -r 0 $bounds[1] 0 ( $box +".vtx[7]" ); + + move -r 0 $bounds[4] 0 ( $box +".vtx[2]" ); + move -r 0 $bounds[4] 0 ( $box +".vtx[3]" ); + move -r 0 $bounds[4] 0 ( $box +".vtx[4]" ); + move -r 0 $bounds[4] 0 ( $box +".vtx[5]" ); + + //z translations + move -r 0 0 $bounds[2] ( $box +".vtx[4]" ); + move -r 0 0 $bounds[2] ( $box +".vtx[5]" ); + move -r 0 0 $bounds[2] ( $box +".vtx[6]" ); + move -r 0 0 $bounds[2] ( $box +".vtx[7]" ); + + move -r 0 0 $bounds[5] ( $box +".vtx[0]" ); + move -r 0 0 $bounds[5] ( $box +".vtx[1]" ); + move -r 0 0 $bounds[5] ( $box +".vtx[2]" ); + move -r 0 0 $bounds[5] ( $box +".vtx[3]" ); + + return $box; + } + + +//returns the name of the bound object +global proc string zooDrawBoundSphere( float $bounds[] ) { + string $sphere = zooGetElement_str(0,`sphere -r 1 -ch 0`); + move -a $bounds[0] $bounds[1] $bounds[2]; + scale $bounds[3] $bounds[3] $bounds[3]; + return $sphere; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooBrandTools.mel b/2009-x64/zooScripts/scripts/zooBrandTools.mel new file mode 100644 index 0000000..9a9fbba --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBrandTools.mel @@ -0,0 +1,161 @@ +/* +this script is a collection of procs that handle object branding +------------ + +branding an object tags it with attribute based information, which can be used to +reliably identify objects in a scene. brands are string attributes that have +both a name, and information. + +example: zooBrandObject "characterName" "fisty" nurbsSphere1; +will give the object a brand called characterName. This brand will be set to: fisty + +its sister script - zooRegister - does connection based branding - called registering +registering is much faster, and its speed is not dependent on scene size. It is +much more useful for more real-time scripts. zooBrandTools is great for rigging +because speed isn't an issue for rigging tools +*/ + + +global proc zooBrandTools() { + return; + } + + +global proc zooBrandObject( string $brandName, string $brandInfo, string $obj ) { + if( !`objExists $obj` ) return; + if( !`objExists ( $obj +".zooBrand" )`) addAttr -ln "zooBrand" -at bool $obj; + if( !`objExists ( $obj +".zooBrand_"+ $brandName )`) addAttr -ln ( "zooBrand_"+ $brandName ) -dt "string" $obj; + if( `substring $brandInfo 1 1` == "-" ) $brandInfo = " "+ $brandInfo; //for some reason maya won't let you have a hyphen as the first character in a string attribute, so this is a simple check to make sure problems don't arise + setAttr -type "string" ( $obj +".zooBrand_"+ $brandName ) $brandInfo; + } + + +//lists all branded objects in a scene +global proc string[] zooListBranded() { + string $all[] = `ls`; + string $branded[] = {}; + + for( $n=0; $n<`size $all`; $n++ ) if( `objExists ( $all[$n] +".zooBrand" )`) $branded[( `size $branded` )] = $all[$n]; + return $branded; + } + + +//lists all branded objects in a scene +global proc string[] zooListAllWithBrand( string $brandName ) { + string $branded[] = `zooListBranded`; + string $brandedWith[] = {}; + + for( $obj in $branded ) if( `objExists ( $obj +".zooBrand_"+ $brandName )`) $brandedWith[( `size $brandedWith` )] = $obj; + return $brandedWith; + } + + +//returns whether an object is branded with certain information +global proc int zooIsBrandedWith( string $node, string $brandName, string $brandInfo ) { + int $isBrandedWith = 0; + if( `objExists ( $node +".zooBrand_"+ $brandName )`) if( `getAttr ( $node +".zooBrand_"+ $brandName )` == $brandInfo ) $isBrandedWith = 1; + return $isBrandedWith; + } + + +//returns a list of all objects branded with a single brandName and brand information +global proc string[] zooGetBrandedWith( string $brandName, string $brandInfo ) { + string $branded[] = `zooListBranded`; + string $brandedWith[] = {}; + + for( $obj in $branded ) if( `zooIsBrandedWith $obj $brandName $brandInfo` ) $brandedWith[( `size $brandedWith` )] = $obj; + return $brandedWith; + } + + +//returns information from a brand - this is essentially just a wrapper for the getAttr command, but the advantage of using +//this command is that if the zooBrand prefix changes in some way, this proc will still return correct information +global proc string zooQueryBrand( string $node, string $brandName ) { + string $brandInfo = ""; + if( `objExists ( $node +".zooBrand_"+ $brandName )`) $brandInfo = `getAttr ( $node +".zooBrand_"+ $brandName )`; + return $brandInfo; + } + + +//lists all brands on an object +global proc string[] zooListObjBrands( string $obj ) { + string $userAttrs[] = `listAttr -ud $obj`; + string $brandPrefix = "zooBrand_"; + string $brands[] = {}; + int $prefixSize = `size $brandPrefix`; + + for( $attr in $userAttrs ) if( `size $attr` > $prefixSize ) { + if( `match ( "^"+ $brandPrefix ) $attr` == $brandPrefix ) $brands[( `size $brands` )] = `substring $attr ($prefixSize+1) (size($attr))`; + } + + return $brands; + } + + +/* +returns a list of objects branded with multiple brandNames + +example: zooGetBrandedWithList { "charName","foot" } { "mister","left" } +this will only list objects with the brandName: "charName" set to "mister" +as well as the brandName: "foot" set to "left" + +this is great when used in conjunction with the zooGetElement_str proc +example: string $parent = zooGetElement_str( 0,`zooGetBrandedWithList { "charName","foot" } { "mister","left" }` ); +*/ +global proc string[] zooGetBrandedWithList( string $brandNames[], string $brandInfos[] ) { + int $numNames = `size $brandNames`; + int $numInfos = `size $brandInfos`; + if( $numNames != $numInfos ) error "number of brand names doesn't match number of brand infos"; + + string $branded[] = `zooListBranded`; + string $brandedWith[] = {}; + int $contender = 0; + + for( $obj in $branded ) { + for( $n=0; $n<`size $brandNames`; $n++ ) { + if( `zooIsBrandedWith $obj $brandNames[$n] $brandInfos[$n]` ) $contender++; + } + + if( $contender == $numNames ) $brandedWith[( `size $brandedWith` )] = $obj; + $contender = 0; + } + + return $brandedWith; + } + + +//like zooReplaceBrandInfo but works on all brands for all objects in the scene +global proc string[] zooReplaceAnyInfo( string $orgInfo, string $newInfo ) { + string $all[] = `zooListBranded`; + string $renamed[] = {}; + + for( $o in $all ) { + string $brands[] = `zooListObjBrands $o`; + for( $brand in $brands ) $renamed = zooAddArray_str($renamed,`zooReplaceBrandInfo $brand $orgInfo $newInfo`); + } + + return $renamed; + } + + +/* +given a brand name, a search string and a replace string, this proc will look +for any object with the given brand, and if the brand info matches the search +string, it will replace that info with the replace string - useful for renaming +characters after they've been built +*/ +global proc string[] zooReplaceBrandInfo( string $brand, string $orgInfo, string $newInfo ) { + string $all[] = `zooListAllWithBrand $brand`; + string $renamed[] = {}; + + for( $o in $all ) if( `zooQueryBrand $o $brand` == $orgInfo ) { + zooBrandObject $brand $newInfo $o; + $renamed[( `size $renamed` )] = $o; + } + + return $renamed; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooBreakTime.mel b/2009-x64/zooScripts/scripts/zooBreakTime.mel new file mode 100644 index 0000000..a9d58c9 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBreakTime.mel @@ -0,0 +1,75 @@ +/* +zooBreakTime + +Created by Hamish McKenzie zootoolbox@googlegroups.com +Created : 09 October 2003 + +Description: +Makes maya look like its doing something real important, while you pop out for a drink, +bite to eat, or whatever it is you do. Kudos to Matt Wood for the idea-it just needed +to be expanded on a little. :) + +Hamish McKenzie ©2007... +*/ + + +global proc zooBreakTime() { + string $taskStrings[] = { "sorting...", "re-meshing", "cycle check", "initialising connections", "discovering dependencies", "updating node database", "re-evaluating DAG", "evaluating outputs", "calculating attributes", "caching results", "traversing graph", "recursing heirarchy", "scene analysis" }; + string $lsTypes[] = { "mesh", "brush", "file", "lambert", "camera", "pointLight" }; + float $progress = 0; + float $increment = 0.1; + int $currentPhase = 1; + int $numTasks = `size $taskStrings`; + int $numlsTypes = `size $lsTypes`; + int $phaseLength = 25; + + waitCursor -state 1; + $increment = 100/(float)$phaseLength; + progressWindow -title "Working..." -progress 0 -status "" -isInterruptable 1; + while( true ) { + int $j = 0; + + if( `progressWindow -q -isCancelled` ) break; + for( $j = 0; $j < $phaseLength; $j++ ) { + string $taskName = ""; + float $type = `rand $numlsTypes`; + float $task = `rand $numTasks`; + float $time = `rand 800`; + int $n; + int $i; + + if( `progressWindow -q -isCancelled` ) break; + $taskName = $taskStrings[(int)$task]; + + //update progress window + $progress += $increment; + progressWindow -e -progress ((int)$progress) -status ( "Phase " + $currentPhase + ": " + $taskName ); + + //now since the pause command can't pause for fractions of a second, we must make maya do something to take up time... + for( $i = 0; $i < $time*10; $i++ ) { string $nothing[] = `ls -type ($lsTypes[(int)$type])`; } + } + + $currentPhase++; + $progress = 0; + } + + progressWindow -endProgress; + waitCursor -state 0; + } + + +global proc string[] zooBreakTimeDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooBuildControl.mel b/2009-x64/zooScripts/scripts/zooBuildControl.mel new file mode 100644 index 0000000..f14dc50 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooBuildControl.mel @@ -0,0 +1,239 @@ +zooArrays_str; +zooFlags; +zooVectors; +zooShaders; +zooUtils; + + +//this proc creates complex control shapes for use in auto-rigging scripts +//it takes the following flags: +// +// -type [str] tells the script what visual type of control to create. the options depend on what shape files are installed +// -typecurve [str] this explicitly sets the curve type - it defaults to whatever the "type" flag has been set to if not specified. it allows you to override the curve representation with something different +// -typesurface [str] like the typecurve flag, but for the surface representation +// -axis [str] what axis the control points in - defaults to pointing in the "y" direction +// -path [str] by default the script tries to find the shape files by itself. if the shape files are in a strange place, you can explicitly set where they are using this flag +// -place [obj] place the control at the pivot of this object +// -placepivot [obj] snap the control's pivot to the pivot of the given object - if this is set to %p the place object is used, if %a is specified, the align object is used +// -pivot [str] by default the pivot is in the centre - you can use -pivot base or top to put the pivot elsewhere (really its the geometry thats moving, not the pivot - as the pivot is locked to whatever object its placed at +// -align [obj] rotate the control to this object +// -offset [str] takes the form: "x y z" where each is a float, specifying units along axis. default: 0 0 0 +// -scale [float] scale factor to apply to the control (purely a visual thing - scale is frozen). default: 1 +// -joint [int] if true, the control shapes are parented to a joint instead of a normal transform node +// -orient [int] is the control to be oriented to the align object? this is done by parenting the control to a group node, and aligning the group +// -curve [int] set to false if you don't want curve shape nodes +// -surface [int] set to false if you don't want nurbs surface shape nodes +// +//offset string also recognizes the keywords: up, fwd, side prefixed by the number of scale +//multiples in that direction (ie -4up for down). This is useful for when the user is unaware +//of the scene "up axis" +global proc string zooBuildControl( string $name, string $optionStr ) { + string $temp[] = {}; + string $type = "cube"; + string $typecurve = ""; + string $typesurface = ""; + string $axis = "y"; + string $path = `zooGetScriptLocation zooBuildControl`; //assume the shape files are in the same directory as this script + string $place = ""; + string $align = ""; + string $colour = ""; + string $placepivot = ""; + string $pivot = ""; + string $offset = ""; + float $scale = 1; + int $joint = 0; + int $orient = 0; + int $freeze = 1; + int $curve = 1; + int $surface = 1; + + select -cl; + $temp = `zooGetFlagArguments $optionStr type`; if( `size $temp` ) $type = $temp[0]; + $temp = `zooGetFlagArguments $optionStr typecurve`; if( `size $temp` ) $typecurve = $temp[0]; + $temp = `zooGetFlagArguments $optionStr typesurface`; if( `size $temp` ) $typesurface = $temp[0]; + $temp = `zooGetFlagArguments $optionStr axis`; if( `size $temp` ) $axis = $temp[0]; + $temp = `zooGetFlagArguments $optionStr scale`; if( `size $temp` ) $scale = $temp[0]; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr curve`; if( `size $temp` ) $curve = $temp[0]; + $temp = `zooGetFlagArguments $optionStr surface`; if( `size $temp` ) $surface = $temp[0]; + $temp = `zooGetFlagArguments $optionStr joint`; if( `size $temp` ) $joint = $temp[0]; + $temp = `zooGetFlagArguments $optionStr orient`; if( `size $temp` ) $orient = $temp[0]; + $temp = `zooGetFlagArguments $optionStr freeze`; if( `size $temp` ) $freeze = $temp[0]; + $temp = `zooGetFlagArguments $optionStr place`; if( `size $temp` ) $place = $temp[0]; + $temp = `zooGetFlagArguments $optionStr align`; if( `size $temp` ) $align = $temp[0]; + $temp = `zooGetFlagArguments $optionStr placepivot`; if( `size $temp` ) $placepivot = $temp[0]; + $temp = `zooGetFlagArguments $optionStr pivot`; if( `size $temp` ) $pivot = $temp[0]; + $temp = `zooGetFlagArguments $optionStr offset`; if( `size $temp` ) $offset = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr path`; if( `size $temp` ) { + string $tempPath = `zooArrayToStr_str $temp " "`; + if( `filetest -d $tempPath` ) $path = $tempPath; + } + + if( $typecurve == "" ) $typecurve = $type; + if( $typesurface == "" ) $typesurface = $type; + if( $align == "%p" ) $align = $place; + if( $placepivot == "%p" ) $placepivot = $place; + if( $placepivot == "%a" ) $placepivot = $align; + + //make sure there are shape files in the path directory + string $shapes[] = `zooGetFiles $path "control.*.shape"`; + + //if no shapes are found in the directory given, search through all the script paths for one of the shapes + if( !`size $shapes` ) $path = `zooGetFileLocation (zooListEnv("")) "control.cube" shape`; + $shapes = `zooGetFiles $path "control.*.shape"`; + + //if no shapes are found still, bail - we need to find the shape files to continue + if( !`size $shapes` ) if( $typecurve != "null" ) error "can't find shapes - please explicitly specify a path to the shape files"; + + //start with the curve control - find its shape build file, and build it + string $file = $path +"control."+ $typecurve +".shape"; + if( !`filetest -r $file` ) $file = $path +"control.cube.shape"; + string $contents[] = `zooReadFile $file ""`; + string $createCmd = `zooArrayToStr_str $contents ""`; + + if( $typecurve == "null" ) select `group -em`; + else eval $createCmd; + + string $sel[] = `ls -sl`; + string $obj = $sel[0]; + + //now to deal with the surface - if its different from the curve, then build it + if( $typesurface != $typecurve && $typesurface != "null" ) { + //if the typesurface is different from the typecurve, then first delete all existing surface shapes under the control + string $shapesTemp[] = `listRelatives -f -s $obj`; + for( $s in $shapesTemp ) if( `nodeType $s` == "nurbsSurface" ) delete $s; + + //now build the temporary control + $file = $path +"control."+ $typesurface +".shape"; + if( !`filetest -r $file` ) $file = $path +"control.cube.shape"; + clear $contents; + + $contents = `zooReadFile $file ""`; + $createCmd = `zooArrayToStr_str $contents ""`; + + //and parent its surface shape nodes to the actual control, and then delete it + eval $createCmd; + string $tempSel[] = `ls -sl`; + $shapesTemp = `listRelatives -f -s $tempSel[0]`; + for( $s in $shapesTemp ) if( `nodeType $s` == "nurbsSurface" ) parent -add -s $s $obj; + delete $tempSel[0]; + select $sel; + } + + //if the joint flag is true, parent the object shapes under a joint instead of a transform node + clear $shapes; + $shapes = `listRelatives -f -s $obj`; + if( $joint ) { + select -cl; + string $j = `joint`; + for( $s in $shapes ) parent -add -s $s $j; + delete $obj; + $obj = $j; + } + + //move the pivot - if needed + setAttr ( $obj +".s" ) $scale $scale $scale; + makeIdentity -a 1 -s 1 $obj; + string $shapeStrs[] = `zooGetShapeStrs $obj`; + if( $pivot == "top" ) for( $s in $shapeStrs ) move -r 0 (-1*$scale/2) 0 $s; + else if( $pivot == "base" ) for( $s in $shapeStrs ) move -r 0 ($scale/2) 0 $s; + + //rename the object, and rotate it accordingly + if( $name != "" ) { + if( `objExists $name` ) $obj = `rename $obj ( $name +"#" )`; + else $obj = `rename $obj $name`; + } + if( $axis == "x" ) rotate -os 0 0 -90 $obj; + if( $axis == "z" ) rotate -os 90 0 0 $obj; + if( $axis == "_x" ) rotate -os 0 0 90 $obj; + if( $axis == "_y" ) rotate -os 0 0 180 $obj; + if( $axis == "_z" ) rotate -os -90 0 0 $obj; + makeIdentity -a 1 -r 1 $obj; + + //if the user wants the control oriented, create the orientation group and parent the control + string $grp = $obj; + if( $orient ) { + $grp = `group -em -n( $obj +"_space#" )`; + $obj = zooGetElement_str(0,`parent $obj $grp`); + zooAlign ( "-src "+ $align +" -tgt "+ $grp ); + } + + //determine offsets + string $upAxisStr = `upAxis -q -axis`; + float $offsetAmts[] = {}; + int $upAxis = ($upAxisStr=="y")? 1: 2; + int $fwdAxis = ($upAxisStr=="y")? 2: 1; + int $fwdMult = ($upAxisStr=="y")? 1: -1; + + if( `objExists $place` ) delete `pointConstraint $place $grp`; + if( `objExists $align` ) delete `orientConstraint $align $grp`; + if( `size $offset` ) { + if( `match "[0-9 .-]+" $offset` == $offset ) { + clear $temp; + tokenize $offset " " $temp; + if( `size $temp` > 0 ) $offsetAmts[0] = $temp[0]; + if( `size $temp` > 1 ) $offsetAmts[1] = $temp[1]; + if( `size $temp` > 2 ) $offsetAmts[2] = $temp[2]; + } + + else if( `match "[-0-9 .(up)(fwd)(side)]+" $offset` == $offset ) { + clear $temp; + tokenize $offset " " $temp; + for( $move in $temp ) { + string $multStr = `match "[-0-9 .]+" $move`; + float $mult = $multStr; + if( `match "(up)+" $move` == "up" ) $offsetAmts[$upAxis] += $mult*$scale; + if( `match "(fwd)+" $move` == "fwd" ) $offsetAmts[$fwdAxis] += $fwdMult*$mult*$scale; + if( `match "(side)+" $move` == "side" ) $offsetAmts[0] += $mult*$scale; + } + } + } + + move -r $offsetAmts[0] $offsetAmts[1] $offsetAmts[2] $grp; + if( $freeze ) makeIdentity -a 1 -r 1 $obj; + makeIdentity -a 1 -t 1 $obj; //always freeze translations + + string $shapes[] = `listRelatives -f -s $obj`; + if( !$curve ) for( $s in $shapes ) if( `nodeType $s` == "nurbsCurve" ) delete $s; + if( !$surface ) for( $s in $shapes ) if( `nodeType $s` == "nurbsSurface" ) delete $s; + if( $colour != "" ) zooSetObjShader $obj `zooGetShader $colour 1`; + + //finally snap the pivot to alignpivot object if it exists + if( `objExists $placepivot` ) zooAlign ( "-pivot 1 -src "+ $placepivot +" -tgt "+ $obj ); + print( "zooBuildControl \""+ $name +"\" \""+ $optionStr +"\";\n" ); + + return $obj; + } + + +global proc string[] zooGetShapeStrs( string $obj ) { + string $geo[] = {}; + string $shapes[] = `listRelatives -pa -s $obj`; + + for( $s in $shapes ) { + string $nType = `nodeType $s`; + if( $nType == "nurbsSurface" || $nType == "nurbsCurve" ) $nType = "cv"; + else if( $nType == "mesh" ) $nType = "vtx"; + $geo[( `size $geo` )] = $s +"."+ $nType +"[*]"; + } + + return $geo; + } + + +global proc string[] zooListControlShapes() { + string $path = `zooGetScriptLocation zooBuildControl`; //assume the shape files are in the same directory as this script + string $shapes[] = `zooGetFiles $path "control.*.shape"`; + + //if no shapes are found in the directory given, search through all the script paths for one of the shapes + if( !`size $shapes` ) $path = `zooGetFileLocation (zooListEnv("")) "control.cube" shape`; + $shapes = `zooGetFiles $path "control.*.shape"`; + + for( $n=0; $n<`size $shapes`; $n++ ) $shapes[$n] = zooGetElement_str(1,`zooTokenize $shapes[$n] "."`); + + return $shapes; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooCam.mel b/2009-x64/zooScripts/scripts/zooCam.mel new file mode 100644 index 0000000..9a9de0c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooCam.mel @@ -0,0 +1,175 @@ +// +// camera control menu +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 19 December 2002 +// +// Description: +// simply creates a camera marking menu. a single press of the button +// the script is assigned to will perform a look through selected on +// a selected object, while holding it down (and clicking) brings up a +// marking menu, allowing you to look through any previously created +// camera. This script also cooperates with the zooSetMenu v2.5 script +// with updating its UI etc... +// +// Usage: +// assign this function to a key press: +// zooCam; +// +// assign this function to the release; +// zooCamKillUI; +// +// NOTE: if the hotkey you want to assign this script to contains +// either ctrl, alt or shift, then modify the "popupMenu" line below +// to reflect which key is used (ie if you're using alt-w then +// change it to -alt 1). +// +// Hamish McKenzie ©2007... + + +zooShotsUtils; + + +global proc zooCam() { + global int $zooIsClicked; + string $panel = `getPanel -up`; + + $zooIsClicked = 0; + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !`control -ex $panel` ) $panel = "viewPanes"; + popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p $panel -pmc zooCamUI tempMM; + } + + +global proc zooCamUI() { + global int $zooIsClicked; + string $cameras[] = `zooListCameras`; + + $zooIsClicked = 1; + menu -e -dai tempMM; + setParent -m tempMM; + + //make sure there are actual shots listed in the shots node + int $shotsExist = size(`zooListShots`); + string $panel = `getPanel -up`; + string $curCam = `zooGetPanelCam $panel`; + string $defaultC[] = { "persp", "top", "front", "side" }; + string $defaultPos[] = { "N", "W", "S", "E" }; + int $useForEazel = `optionVar -ex zooCamSetEazel`? `optionVar -q zooCamSetEazel`: 0; + + $cameras = `zooSubtractArray_str $cameras $defaultC`; + if( `optionVar -ex zooSetMenuCameraUserList` ) optionVar -rm zooSetMenuCameraUserList; + + if( $shotsExist ) { + menuItem -l ( "master shot: "+ `zooGetMasterShot` ) -c( "lookThroughModelPanel `zooGetMasterShot` "+ $panel ) -rp NW; + menuItem -l ( "current shot: "+ `zooGetCurrentShot` ) -c( "lookThroughModelPanel (zooGetShotCamera(`zooGetCurrentShot`)) "+ $panel ) -rp NE; + } + + for( $n=0; $n<`size $defaultC`; $n++ ) { + int $isCurrent = $defaultC[$n] == $curCam ? 1:0; + menuItem -cb $isCurrent -l $defaultC[$n] -c( "lookThroughModelPanel "+ $defaultC[$n] +" "+ $panel +"; zooDoExtraLookthru "+ $defaultC[$n] +" "+ $panel +";" ) -rp $defaultPos[$n]; + } + + for( $cam in $cameras ) { + int $isCurrent = $cam == $curCam ? 1:0; + menuItem -cb $isCurrent -l $cam -c( "lookThroughModelPanel "+ $cam +" "+ $panel +"; zooDoExtraLookthru "+ $cam +" "+ $panel +";" ); + } + + if( `size $cameras` ) menuItem -d 1; + menuItem -l "create new camera" -c( "{string $cam[] = `camera`; lookThroughModelPanel $cam[0] "+ $panel +"; zooDoExtraLookthru $cam[0] "+ $panel +";}" ); + menuItem -l "dupe current camera" -c( "{string $dupeCam[] = `duplicate -rc (zooGetPanelCam(\""+ $panel +"\"))`; lookThroughModelPanel $dupeCam[0] "+ $panel +"; zooDoExtraLookthru $dupeCam[0] "+ $panel +";}" ); + menuItem -d 1; + menuItem -l "hide eazel" -c( "{zooGreaseMonkeyUtils; string $eazel = `zooGetEazel 0`; setAttr ( $eazel +\".v\" ) 0;}" ); + menuItem -l "show eazel" -c( "{zooGreaseMonkeyUtils; string $eazel = `zooGetEazel 0`; setAttr ( $eazel +\".v\" ) 1;}" ); + menuItem -d 1; + menuItem -l "build widescreen mask..." -sm 1; + menuItem -l "1.333 4/3" -c( "zooAddCameraMask "+ $curCam +" 1.333" ); + menuItem -l "1.556 14/9" -c( "zooAddCameraMask "+ $curCam +" (14.0/9)" ); + menuItem -l "1.778 16/9" -c( "zooAddCameraMask "+ $curCam +" (16.0/9)" ); + menuItem -l "1.85 academy" -c( "zooAddCameraMask "+ $curCam +" 1.85" ); + menuItem -l "2.35 anamorphic" -c( "zooAddCameraMask "+ $curCam +" 2.35" ); + menuItem -d 1; + menuItem -l "other" -c( "{string $a=`promptDialog -m \"enter aspect ratio\" -b Create -b Cancel`; if( $a != \"Cancel\" ) zooAddCameraMask "+ $curCam +" `promptDialog -q -text`;}"); + setParent -m ..; + menuItem -d 1; + menuItem -l "use this camera for eazel" -c( "zooGreaseMonkeyUtils; zooMonkeySee "+ $curCam +";" ); + menuItem -cb $useForEazel -l "always use lookthru for eazel" -c( "if( #1 ) optionVar -iv zooCamSetEazel 1; else optionVar -rm zooCamSetEazel;" ); + } + + +//this proc can be used to make the script do "other stuff" when a camera is looked through +//for example, the selecto stuff, the line of action stuff, etc... can all be simply added +//to this simple little proc +global proc zooDoExtraLookthru( string $camera, string $panel ) { + zooSetLookat $camera; + int $useForEazel = `optionVar -ex zooCamSetEazel`? `optionVar -q zooCamSetEazel`: 0; + if( $useForEazel ) { + zooGreaseMonkeyUtils; + if( objExists(`zooGetEazel 0`)) zooMonkeySee $camera; + } + } + + +//returns the name of the camera the current model panel is looking through. this always returns a transform node, unlike the lookThru -q command +global proc string[] zooListCameras() { + string $cameraShapes[] = `ls -type camera`; + string $cameraTransforms[] = {}; + + for( $cam in $cameraShapes ) { + string $parent[] = `listRelatives -pa -p $cam`; + $cameraTransforms[( `size $cameraTransforms` )] = $parent[0]; + } + + return $cameraTransforms; + } + + +//returns a list of all camera transform nodes. unlike the listCameras command, this always returns transform nodes. +global proc string zooGetPanelCam( string $panel ) { + if( `getPanel -to $panel` != "modelPanel" ) return ""; + + string $camera = `modelPanel -q -cam $panel`; + if( `nodeType $camera` == "camera" ) { + string $parent[] = `listRelatives -p $camera`; + return $parent[0]; + } + else return $camera; + } + + +//this proc should be used as the press release command +global proc zooCamKillUI() { + global int $zooIsClicked; + + if( `popupMenu -ex tempMM` ) { + deleteUI tempMM; + if( $zooIsClicked ) $zooIsClicked = 0; + else { + lookThroughSelected 0 `getPanel -underPointer`; + $zooIsClicked = 0; + } + } + } + + +global proc string[] zooCamDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAddCameraMask"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooShaders"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooChangeRoo.mel b/2009-x64/zooScripts/scripts/zooChangeRoo.mel new file mode 100644 index 0000000..754461b --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooChangeRoo.mel @@ -0,0 +1,101 @@ +// +// zooChangeRoo +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 09 January 2002 +// +// Description: +// will change the rotation order of all selected objects +// without mangling their orientation. The script even +// works on objects that have been animated as well. +// +// Usage: +// this script takes one parameter - the new rotation order +// example: zooChangeRoo zxy; +// will change all selected objects rotation order to zxy +// +// +// Hamish McKenzie ©2007... + + +zooArrays_float; +zooArrays_str; +zooUtils; + + +global proc zooChangeRoo( string $newRoo ) { + string $selObjs[] = `ls -sl`; + string $staticObjs[] = {}; + string $animatedObjs[] = {}; + string $rotateOrders[] = { "xyz","yzx","zxy","xzy","yxz ","zyx" }; + float $keyTimeList[] = {}; + float $initialTime = `currentTime -q`; + + //source all dependencies + string $deps[] = `zooChangeRooDependencies -scripts`; + for( $script in $deps ) if( `exists $script` ) eval( "source " + $script ); + + for( $obj in $selObjs ) if( size(`keyframe -q -tc $obj`)) $animatedObjs[( `size $animatedObjs` )] = $obj; + else $staticObjs[( `size $staticObjs` )] = $obj; + + $keyTimeList = `keyframe -q -tc $animatedObjs`; + $keyTimeList = `sort $keyTimeList`; + $keyTimeList = `zooRemoveDupeItems_float $keyTimeList`; + for( $n = 0; $n <= `size $keyTimeList`; $n++ ) { + int $t = $keyTimeList[$n]; + currentTime $t; + for( $i = 0; $i < `size $animatedObjs`; $i++ ) { + string $obj = $animatedObjs[$i]; + int $oldRooAttr = `getAttr ( $obj + ".rotateOrder" )`; + string $oldRoo = $rotateOrders[$oldRooAttr]; + + //make sure both the target object exist AND the object's source has a key on this frame + if( `keyframe -t $t -q -kc $obj` ) { + setKeyframe -at r $obj; + xform -p 1 -roo $newRoo $obj; + setKeyframe -at r $obj; + xform -p 0 -roo $oldRoo $obj; + } + } + } + + xform -p 1 -roo $newRoo $staticObjs; + xform -p 0 -roo $newRoo $animatedObjs; + for( $obj in $animatedObjs ) filterCurve ($obj +".rx") ($obj +".ry") ($obj +".rz"); + + currentTime $initialTime; + } + + + +global proc string zooChangeRooInfo ( string $function ) { + string $creationDate = "10 January 2004"; + string $lastRevision = "12 January 2004"; + string $revisionHistory = "v1.02 12-01-04\nFIX: now works on both animated and static objects\n\nv1.00 10-01-04\nNEW: initial version"; + string $info = ""; + float $currentVersion = 1.02; + + if ( $function == "created" ) $info = $creationDate; + if ( $function == "modified" ) $info = $lastRevision; + if ( $function == "history" ) $info = $revisionHistory; + if ( $function == "version" ) $info = $currentVersion; + return $info; + } + + +global proc string[] zooChangeRooDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + return {}; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooChangeSpace.mel b/2009-x64/zooScripts/scripts/zooChangeSpace.mel new file mode 100644 index 0000000..ba4bc91 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooChangeSpace.mel @@ -0,0 +1,117 @@ +// zooChangeSpace +// +// this script will store an object's (or multiple objects) world space transforms, +// execute a mel or set an attribute, and then restore those world space transforms +// for the object/s. This is useful for changing attributes which affect the +// position/rotation of an object such as "parent" attributes for dynamic parenting +// or "align" attributes which determine where an object inherits its rotation from. +// +// more detail on how to use zooChangeSpace can be found at the end of this script +// +// Hamish McKenzie ©2007... + + +//load dependencies +zooArrays_str; +zooFlags; +zooTriggeredUtils; +zooUtils; + + +//script documentation is at the end of this file +global proc zooChangeSpace( string $optionStr, string $obj ) { + string $optionTemp[] = {}; + string $sel[] = `ls -sl -tr`; + float $pos[] = {}; + float $rot[] = {}; + + if( !`objExists $obj` ) $obj = $sel[0]; + if( !`objExists $obj` ) return; + $pos = `xform -q -ws -rp $obj`; + $rot = `xform -q -ws -ro $obj`; + + + //------ + //is there a list of objects to store pre command transforms for + //------ + $optionTemp = `zooGetFlagArguments $optionStr objs`; + string $objs[] = $optionTemp; + float $objsPos[] = {}; + float $objsRot[] = {}; + for( $n=0; $n<`size $objs`; $n++ ) $objs[$n] = `zooPopulateCmdStrRaw $obj $objs[$n]`; //an object name in the object list may be a triggered symbol + for( $a in $objs ) if( `objExists $a` ) { + float $aPos[] = `xform -q -ws -rp $a`; + float $aRot[] = `xform -q -ws -ro $a`; + for( $b in $aPos ) $objsPos[( `size $objsPos` )] = $b; + for( $b in $aRot ) $objsRot[( `size $objsRot` )] = $b; + } + + + //------ + //if any attributes are specified, set them to their specified value + //------ + $optionTemp = `zooGetFlagArguments $optionStr attr`; + if( `size $optionTemp` ) { + string $attr = $optionTemp[0]; + float $val = $optionTemp[1]; + + if( `objExists ( $obj+"."+$attr )`) setAttr ( $obj+"."+$attr ) $val; + for( $a in $objs ) if( `objExists ( $a+"."+$attr )`) setAttr ( $a+"."+$attr ) $val; + } + + + //------ + //if there is a cmd flag, execute that command + //------ + $optionTemp = `zooGetFlagArguments $optionStr cmd`; + string $cmd = `zooArrayToStr_str $optionTemp " "`; + + $cmd = `zooPopulateCmdStrRaw $obj $cmd`; + if( $cmd != "" ) eval( "{"+ $cmd +"}" ); + + + //------ + //now, set the position and rotation values back to what they were + //------ + move -a -ws -rpr $pos[0] $pos[1] $pos[2] $obj; + rotate -a -ws $rot[0] $rot[1] $rot[2] $obj; + + + //------ + //and for the optional object list as well + //------ + for( $n=0; $n<`size $objs`; $n++ ) { + move -a -ws -rpr $objsPos[( $n*3 )] $objsPos[( $n*3+1 )] $objsPos[( $n*3+2 )] $objs[$n]; + rotate -a -ws $objsRot[( $n*3 )] $objsRot[( $n*3+1 )] $objsRot[( $n*3+2 )] $objs[$n]; + } + } + + +/* +stores the current world space position/rotation of an object, before executing a command, then restores that position/rotation +------ + +this can be used to change the "space" of an object. for example, on zooCST rigs, the parent attribute determines what +space the object exists in. + +Flags: +-attr [string] [any] the attr string will set the listed attribute to the second value +-cmd [string] commands listed after the cmd flag will be executed +-objs [string] any objects after this flag (space separated) are also affected by this script + +example: +zooChangeSpace "-attr parent 1" object; +this will change the parent attribute to 1 - without changing the "pose" of the control + +example: +zooChangeSpace "-cmd setAttr .parent 1" object; +this does exactly the same as the previous example, but using the -cmd flag + +example: +zooChangeSpace "-attr parent 1 -objs nurbsSphere1 nurbsSphere2" object; +this does exactly the same as the previous example, but using the -cmd flag +*/ + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooCurveLight.mel b/2009-x64/zooScripts/scripts/zooCurveLight.mel new file mode 100644 index 0000000..24a45d7 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooCurveLight.mel @@ -0,0 +1,216 @@ +// +// Curve Light +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 17 November 2002 +// +// Description: +// creates a string of area lights along the length of a curve. +// it is useful for creating "ring lights" as used in traditional +// photography. its also great for lighting tunnels, and other +// oddly shaped sets. area lights are used because they have +// better shaped specular highlights than other light types. I +// may improve the script to support multiple light types at a +// later stage. At the moment, you can control the density of +// the lights (ie the number that are created). Attributes are +// created on a trasform node to allow for control over the +// usual light parameters, as well as controls for fine tuning +// the positioning and orientation of the lights on the curve. +// +// Usage: +// just type the command: +// zooCurveLight; +// +// Hamish McKenzie ©2007... + + + +global proc zooCurveLight () { + string $windowName = "zooCurveLightWindow"; + string $windowTitle = "Curve Light Creation Options"; + + if ( `window -exists $windowName` ) { deleteUI $windowName; } + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 0 $windowName; + columnLayout -adjustableColumn 1; + floatSliderGrp -label "Intensity" -field 1 + -minValue 0 -maxValue 5 + -value 1 zooCurveLightSliderIntensity; + + colorSliderGrp -label "Colour" -rgb 1 1 1 zooCurveLightSliderColour; + separator -w 400; + + floatSliderGrp -label "Density" -field 1 + -minValue 0.001 -maxValue 2 -fieldMinValue 0.001 -fieldMaxValue 10 + -value 1 zooCurveLightSliderDensity; + + checkBox -label "Double Sided" -v 0 -align "right" zooCurveLightCheckDouble; + + button -label "create" -c ( "zooCurveLightWindowFunctions create n" ); + + showWindow $windowName; + } + + +global proc zooCurveLightWindowFunctions ( string $function, string $variable01 ) { + string $selObjs[] = `ls -sl`; + float $intensity = `floatSliderGrp -q -v zooCurveLightSliderIntensity`; + float $colour[] = `colorSliderGrp -q -rgb zooCurveLightSliderColour`; + float $density = `floatSliderGrp -q -v zooCurveLightSliderDensity`; + int $doubleSided = `checkBox -q -v zooCurveLightCheckDouble`; + string $curveLightGroup = `zooCurveLightCreateSetup $selObjs[0] $density $doubleSided`; + + setAttr ( $curveLightGroup + ".colourX" ) $colour[0]; + setAttr ( $curveLightGroup + ".colourY" ) $colour[1]; + setAttr ( $curveLightGroup + ".colourZ" ) $colour[2]; + setAttr ( $curveLightGroup + ".intensity" ) $intensity; + select $curveLightGroup; + } + + +//returns the name of the curve light group +global proc string zooCurveLightCreateSetup ( string $curveTransformName, float $density, int $doubleSided ) { + string $temp[] = `listRelatives -s`; + string $curveShapeName = $temp[0]; + string $curveInfoNode = `createNode curveInfo`; + string $curveLightGroup = `createNode "transform" -n ( $curveShapeName + "_curveLight" )`; + string $upVectorTransform = `createNode "transform" -n ( $curveShapeName + "_upVector" ) -p $curveTransformName`; + string $upVectorShape = `createNode "locator" -n ( $curveShapeName + "_areaLight01Shape" ) -p $upVectorTransform`; + string $multNode = `createNode multiplyDivide`; + float $curveLength; + float $curveMinU; + float $curveMaxU; + float $uSpacing; + int $numLights; + + //first, add orientation and scale controls + addAttr -ln rotation -at double -min -180 -max 180 -dv 0 $curveLightGroup; + addAttr -ln width -at double -min 0 -dv 1 $curveLightGroup; + addAttr -ln objectUp -at bool $curveLightGroup; + addAttr -ln bank -at bool $curveLightGroup; + addAttr -ln bankScale -at double -dv 1 $curveLightGroup; + + setAttr -keyable 1 ( $curveLightGroup + ".rotation" ); + setAttr -keyable 1 ( $curveLightGroup + ".width" ); + setAttr -keyable 1 ( $curveLightGroup + ".objectUp" ); + setAttr -keyable 1 ( $curveLightGroup + ".bank" ); + setAttr -keyable 1 ( $curveLightGroup + ".bankScale" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".tx" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".ty" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".tz" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".rx" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".ry" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".rz" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".sx" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".sy" ); + setAttr -keyable 0 -lock 1 ( $curveLightGroup + ".sz" ); + + + //now add the light controls + addAttr -ln intensity -at double -min 0 -dv 1 $curveLightGroup; + addAttr -ln colour -at double3 $curveLightGroup; + addAttr -ln colourX -at double -p colour $curveLightGroup; + addAttr -ln colourY -at double -p colour $curveLightGroup; + addAttr -ln colourZ -at double -p colour $curveLightGroup; + addAttr -ln emitSpecular -at bool -dv 1 $curveLightGroup; + addAttr -ln emitDiffuse -at bool -dv 1 $curveLightGroup; + addAttr -ln decayRate -at enum -en "none:linear:quadratic:" $curveLightGroup; + addAttr -ln shadows -at bool $curveLightGroup; + addAttr -ln shadowColour -at double3 $curveLightGroup; + addAttr -ln shadowColourX -at double -p shadowColour $curveLightGroup; + addAttr -ln shadowColourY -at double -p shadowColour $curveLightGroup; + addAttr -ln shadowColourZ -at double -p shadowColour $curveLightGroup; + addAttr -ln shadowRays -at long -min 1 -max 30 -dv 1 $curveLightGroup; + addAttr -ln rayDepthLimit -at long -min 1 -max 30 -dv 1 $curveLightGroup; + + setAttr -e -keyable 1 ( $curveLightGroup + ".intensity" ); + setAttr -type double3 ( $curveLightGroup + ".colour" ) ; + setAttr -e -keyable 1 ( $curveLightGroup + ".colour" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".colourX" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".colourY" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".colourZ" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".emitSpecular" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".emitDiffuse" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".decayRate" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".shadows" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".shadowColour" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".shadowColourX" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".shadowColourY" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".shadowColourZ" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".shadowRays" ); + setAttr -e -keyable 1 ( $curveLightGroup + ".rayDepthLimit" ); + + + //create a position constraint for the light group so that it is always easily selectable + string $pointConstraint = `createNode pointConstraint -p $curveLightGroup -n ( $curveShapeName + "_selectionHandleConstraint" )`; + connectAttr -f ( $curveTransformName + ".parentMatrix" ) ( $pointConstraint + ".target[0].targetParentMatrix" ); + connectAttr -f ( $curveTransformName + ".rotatePivot" ) ( $pointConstraint + ".target[0].targetRotatePivot" ); + connectAttr -f ( $curveTransformName + ".rotatePivotTranslate" ) ( $pointConstraint + ".target[0].targetRotateTranslate" ); + connectAttr -f ( $curveTransformName + ".translate" ) ( $pointConstraint + ".target[0].targetTranslate" ); + connectAttr -f ( $pointConstraint + ".constraintTranslate" ) ( $curveLightGroup + ".selectHandle" ); + setAttr ( $curveLightGroup + ".displayHandle" ) 1; + + $curveMinU = `getAttr ( $curveShapeName + ".minValue" )`; + $curveMaxU = `getAttr ( $curveShapeName + ".maxValue" )`; + connectAttr -f ( $curveShapeName + ".worldSpace" ) ( $curveInfoNode + ".inputCurve" ); + $curveLength = `getAttr ( $curveInfoNode + ".arcLength" )`; + connectAttr -f ( $curveInfoNode + ".arcLength" ) ( $multNode + ".input1X" ); + setAttr ( $multNode + ".input2X" ) ( $curveLength * $density ); + setAttr ( $multNode + ".operation" ) 2; + //this gives us the spacing along the curve. the factor of 2 is because area lights are 2 units wide. area lights are scaled down by the density factor + $uSpacing = 2 / ( $curveLength * $density ); + $numLights = ( 1 / $uSpacing ) - (( 1 / $uSpacing ) % 1); + + int $isDoubleSided = ( $doubleSided ) ? 2:1; + int $rotation = 0; + int $n = 0; + + for( $x = 0; $x < $isDoubleSided; $x++ ) { + for( $n = 0; $n <= $numLights; $n++ ) { + string $lightTransform = `createNode "transform" -n ( $curveShapeName + "_areaLight01" ) -p $curveLightGroup`; + string $lightShape = `shadingNode -asLight areaLight -n ( $lightTransform + "Shape" ) -p $lightTransform`; + string $motionPath = `pathAnimation -c $curveShapeName -fractionMode 1 -follow 1 -worldUpObject $upVectorTransform -n ( $curveShapeName + "_motionPath01" ) $lightTransform`; + string $animCurves[] = `listConnections -d 0 -t animCurve $motionPath`; + expression -n ( $lightTransform + "_expression" ) -s ( $lightShape + ".intensity = " + $curveLightGroup + ".intensity / (" + $lightTransform + ".sx * " + $lightTransform + ".sy * " + ($numLights * $isDoubleSided) + ");\n" + $motionPath + ".frontTwist = " + $curveLightGroup + ".rotation + " + $rotation + ";\n" ); + + delete $animCurves; + setAttr ( $motionPath + ".uValue" ) ( $uSpacing * $n ); + setAttr ( $motionPath + ".worldUpType" ) 1; + setAttr ( $lightTransform + ".overrideEnabled" ) 1; //turn on display overrides + setAttr ( $lightTransform + ".overrideDisplayType" ) 2; //set to reference mode, so its not selectable + connectAttr -f ( $multNode + ".outputX" ) ( $lightTransform + ".scaleY" ); //when the curve length changes, this connection causes the lights to scale to match the length change + connectAttr -f ( $curveLightGroup + ".width" ) ( $lightTransform + ".scaleX" ); + connectAttr -f ( $curveLightGroup + ".objectUp" ) ( $motionPath + ".worldUpType" ); + connectAttr -f ( $curveLightGroup + ".bank" ) ( $motionPath + ".bank" ); + connectAttr -f ( $curveLightGroup + ".bankScale" ) ( $motionPath + ".bankScale" ); + + connectAttr -f ( $curveLightGroup + ".colour" ) ( $lightShape + ".color" ); + connectAttr -f ( $curveLightGroup + ".emitSpecular" ) ( $lightShape + ".emitSpecular" ); + connectAttr -f ( $curveLightGroup + ".emitDiffuse" ) ( $lightShape + ".emitDiffuse" ); + connectAttr -f ( $curveLightGroup + ".decayRate" ) ( $lightShape + ".decayRate " ); + connectAttr -f ( $curveLightGroup + ".shadowColour" ) ( $lightShape + ".shadowColor" ); + connectAttr -f ( $curveLightGroup + ".shadows" ) ( $lightShape + ".useRayTraceShadows" ); + connectAttr -f ( $curveLightGroup + ".shadowRays" ) ( $lightShape + ".shadowRays" ); + connectAttr -f ( $curveLightGroup + ".rayDepthLimit" ) ( $lightShape + ".rayDepthLimit" ); + } + $rotation = 180; + } + return $curveLightGroup; + } + + +global proc string[] zooCurveLightDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooDates.mel b/2009-x64/zooScripts/scripts/zooDates.mel new file mode 100644 index 0000000..0636f87 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooDates.mel @@ -0,0 +1,158 @@ +zooArrays_str; + + +global proc zooDates() { + return; + } + + +//given a date string, this proc simply reverses the date tokens +global proc string zooReverseDate( string $dateStr ) { + string $toks[] = `zooTokenize $dateStr "/"`; + $toks = `zooReverseArray_str $toks`; + return `zooArrayToStr_str $toks "/"`; + } + + +//same as zooGetDay_int, but the arg is a string date, not an int array +global proc string zooGetDay_str( string $dateStr ) { + string $toks[] = `zooTokenize $dateStr "/"`; + string $day = `zooGetDay_int { (int)$toks[0],(int)$toks[1],(int)$toks[2] }`; + + return $day; + } + + +//this proc will take a date and figure out what day that date falls on in a week +global proc string zooGetDay_int( int $date[] ) { + string $days[] = { "sunday","monday","tuesday","wednesday","thursday","friday","saturday" }; //we start the array with sunday because 1995/01/01 was a sunday + int $dayCount = `zooDateToInt $date[0] $date[1] $date[2]`-1; + int $day = $dayCount%7; + + return $days[$day]; + } + + +//same as zooDaysAgo_int, but the arg is a string date, not an int array +global proc string zooDaysAgo_str( string $dateStr, int $days ) { + string $toks[] = `zooTokenize $dateStr "/"`; + int $newDate[] = `zooDaysAgo_int { (int)$toks[0],(int)$toks[1],(int)$toks[2] } $days`; + + return `zooArrayToStr_int $newDate "/"`; + } + + +//given a date, this proc will figure out the date x days ago +global proc int[] zooDaysAgo_int( int $date[], int $days ) { + int $count = `zooDateToInt $date[0] $date[1] $date[2]` - $days; + int $newDate[] = `zooIntToDate $count`; + + return $newDate; + } + + +//given an int, this proc will convert it back to a date - so we can convert a +//date to an int, add two dates together, and convert it back to a date again +global proc int[] zooIntToDate( int $count ) { + int $year = 1995; //1995 is the "start date" that zoodates works with + int $month = 0; + int $day = 0; + int $yearDays = 0; + + for( $year; 1; $year++ ) { + $yearDays = `zooYearToInt $year`; + if( $yearDays > $count ) break; + } + $year--; //since we went over the remaining count, we need to subtract one + $count -= `zooYearToInt $year`; + + int $monthDays = 0; + for( $month=0; $month<12; $month++ ) { + $monthDays = `zooMonthToInt $year $month`; + if( $monthDays > $count ) break; + } + $month--; + $count -= `zooMonthToInt $year $month`; + $day = $count; + + return { $year, ($month+1), $day }; //we add one to the month because above it is a zero based month + } + + +//converts an entire date to an integer - which is basically just a day count +//from an arbitrary start time (in this case 1995/01/01). this functionality is +//needed to do date arithmetic +global proc int zooDateToInt( int $year, int $month, int $day ) { + int $startYear = 1995; + if( $year<$startYear ) return 0; + $month--; //take 1 from the month, as months are 1-based while the array is 0-based + + //do years + int $count = `zooYearToInt $year`; + $count += `zooMonthToInt $year $month`; + $count += $day; + + return $count; + } + + +//given a year and a date, returns a day count up till the end of that month +global proc int zooMonthToInt( int $year, int $month ) { + int $count = 0; + int $monthLengths[] = {}; + + zooMonthDays $year {} {} $monthLengths; + for( $n=0; $n<$month; $n++ ) $count += $monthLengths[$n]; + + return $count; + } + + +//converts a year to an integer - which is basically just a day count from an +//arbitrary start time - needed to do date arithmetic +global proc int zooYearToInt( int $year ) { + int $startYear = 1995; + int $count = 0; + + if( $year<$startYear ) return 0; + + for( $n=$startYear; $n<$year; $n++ ) { + $count += 365; + if( `zooIsLeapYear $n` ) $count++; + } + + return $count; + } + + +//the year needs to be known to take into account leap years +global proc zooMonthDays( int $year, string $monthLongNames[], string $monthShortNames[], int $monthLengths[] ) { + clear $monthLongNames; + clear $monthShortNames; + clear $monthLengths; + int $leapYear = `zooIsLeapYear $year`; + int $feb = 28; + + if( $leapYear ) $feb = 29; + $monthLongNames = { "january","february","march","april","may","june","july","august","september","october","november","december" }; + $monthShortNames = { "jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec" }; + $monthLengths = { 31, $feb, 31, 30, 31, 30, 31, 31, 30, 31, 30 ,31 }; + } + + +global proc int zooIsLeapYear( int $year ) { + int $leapyear = 0; + if( !($year%4)) { + $leapyear = 1; + if( !($year%100)) { + if( !($year%400)) $leapyear = 1; //100 years are only leap years if divisible by 400 as well + else $leapyear = 0; + } + } + + return $leapyear; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooDeleteStaticChannels.mel b/2009-x64/zooScripts/scripts/zooDeleteStaticChannels.mel new file mode 100644 index 0000000..9299d91 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooDeleteStaticChannels.mel @@ -0,0 +1,68 @@ +global proc zooDeleteStaticChannelsSel() { + string $sel[] = `ls -sl`; + int $count = 0; + + for( $s in $sel ) $count += `zooDeleteStaticChannels $s`; + print( $count +" static sdk curves have been deleted\n" ); + } + + +global proc int zooDeleteStaticChannels( string $obj ) { + string $static[] = `zooFindStaticChannels $obj`; + int $num = `size $static`; + + for( $n=0; $n<$num; $n++ ) { + float $value = zooGetElement_float(0,`keyframe -in 0 -q -vc $static[$n]`); + string $connectedTo = zooGetElement_str(0,`listConnections -scn 1 -s 0 -p 1 ( $static[$n] +".output" )`); + string $blendDestination = ""; + + if( `nodeType $connectedTo` == "blendWeighted" ) $blendDestination = zooGetElement_str(0,`listConnections -scn 1 -s 0 -p 1 ((match("^[^.]+",$connectedTo))+".output" )`); + delete $static[$n]; + if( `objExists $connectedTo` ) setAttr $connectedTo $value; + //else if( `objExists $blendDestination` ) setAttr $blendDestination $value; + } + + return $num; + } + + +//returns a list of static channels - if no object is specified, a list of all +//static channels in the scene is returned, otherwise only channels for a given +//object are returned +global proc string[] zooFindStaticChannels( string $obj ) { + string $curves[] = {};//`ls -type animCurve`; + string $static[] = {}; + + if( `objExists $obj` ) $curves = `zooGetObjSDKCurves $obj`; + for( $curve in $curves ) { + float $value = zooGetElement_float(0,`keyframe -in 0 -q -vc $curve`); + int $numKeys = `keyframe -q -kc $curve`; + int $pass = 0; + + for( $n=1; $n<$numKeys; $n++ ) if( zooGetElement_float(0,`keyframe -in $n -q -vc $curve`) != $value ) { + $pass = 1; + break; + } + + if( $pass ) continue; + $static[( `size $static` )] = $curve; + } + + return $static; + } + + +global proc string[] zooGetObjSDKCurves( string $obj ) { + string $attrs[] = `listAttr -k -v -s -m $obj`; + string $sdkCurves[] = {}; + + for( $attr in $attrs ) { + string $curves[] = `zooGetSDKCurves $obj $attr`; + $sdkCurves = `zooAddArray_str $sdkCurves $curves`; + } + + return $sdkCurves; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooDynChain.mel b/2009-x64/zooScripts/scripts/zooDynChain.mel new file mode 100644 index 0000000..5f317cf --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooDynChain.mel @@ -0,0 +1,34 @@ +global proc zooDynChain( string $optionStr ) { + string $sel[] = `ls -sl`; + string $temp[] = {}; + string $start = $sel[0]; + string $end = $sel[1]; + int $reverse = 0; + + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $start = $temp[0]; + $temp = `zooGetFlagArguments $optionStr end`; if( `size $temp` ) $end = $temp[0]; + $temp = `zooGetFlagArguments $optionStr reverse`; if( `size $temp` ) $reverse = $temp[0]; + + string $a[] = `zooCSTBuildSplineIK "" $start $end "-stretch 0"`; + string $ikHandle = $a[0]; + string $curve = $a[1]; + + string $joints[] = { $start }; + float $chainLength = 0; + + $joints = zooAddArray_str($joints, `zooGetInBTweenJoints $start $end` ); + $joints = `zooAddArray_str $joints { $start }`; + + for( $n=1; $n<`size $joints`; $n++ ) $chainLength += `zooCSTDistBetween $joints[( $n-1 )] $joints[$n]`; + + string $particles = zooGetElement_str(0,`soft -c -d -g 1 $curve`); + int $numParticles = `getAttr ( $particles +".count" )`;print $numParticles; + + setAttr ( $particles +".goalSmoothness" ) 1; + for( $n=1; $n<$numParticles; $n++ ) particle -e -or $n -at goalPP -fv (1-(($n/(float)$numParticles)*0.95)) $particles; + select $sel; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooFitTimeline.mel b/2009-x64/zooScripts/scripts/zooFitTimeline.mel new file mode 100644 index 0000000..684a6b5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooFitTimeline.mel @@ -0,0 +1,37 @@ +global proc zooFitTimeline() { + string $currentEditor = `getPanel -up`; + if( $currentEditor == "graphEditor1" || $currentEditor == "dopeSheetPanel1" ) zooTimeSetsFrameTime; + else zooTimeSetsGoToSelectedTime; + } + + +global proc zooTimeSetsFrameTime() { + string $currentEditor = `getPanel -wf`; + if( $currentEditor == "dopeSheetPanel1" ) { + $currentEditor = "dopeSheetPanel1DopeSheetEd"; + animView -startTime ( `playbackOptions -q -minTime` - 1 ) -endTime ( `playbackOptions -q -maxTime` + 1 ) $currentEditor; + } + else if( $currentEditor == "graphEditor1" ) { + $currentEditor = "graphEditor1GraphEd"; + //determine min max key values in time range + string $objs[] = `selectionConnection -q -obj graphEditor1FromOutliner`; + float $start = `playbackOptions -q -minTime` - 1; + float $end = `playbackOptions -q -maxTime` + 1; + float $keys[] = sort(`keyframe -t( $start +":"+ $end ) -q -vc $objs`); + float $minVal = $keys[0]; + float $maxVal = $keys[(`size $keys`-1)]; + float $range = $maxVal - $minVal; + + $range *= 0.15; + $minVal -= $range; + $maxVal += $range; + animView -startTime $start -endTime $end -min $minVal -max $maxVal $currentEditor; + } + } + + +global proc zooTimeSetsGoToSelectedTime() { + float $selectedTimeRange[] = `zooGetSelectedRange`; + if( $selectedTimeRange[2] ) playbackOptions -min $selectedTimeRange[0] -max $selectedTimeRange[1]; + else playbackOptions -min `playbackOptions -q -ast` -max `playbackOptions -q -aet`; + } diff --git a/2009-x64/zooScripts/scripts/zooFlags.mel b/2009-x64/zooScripts/scripts/zooFlags.mel new file mode 100644 index 0000000..9a2a1d7 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooFlags.mel @@ -0,0 +1,172 @@ +//this is a dummy proc to load the script without having to source it +global proc zooFlags() { return; } + + +/* +this proc returns flag arguments of a particular flag +-------- + +example: +zooGetFlagArguments "-flag optA optB optC -length -3.6 -height -8.2 -twistAxis x" flag; +will return the array: +{ "optA", "optB", "optC" } + +if a flag argument has to contain hyphens, then use the ' character instead. +for example: +"-preCmd sphere -axis 0 1 0"; + +if you needed to do something like that, you would use: +"-preCmd sphere 'axis 0 1 0"; +*/ +global proc string[] zooGetFlagArguments( string $flagStr, string $flagInfoToReturn ) { + string $manipStr = $flagStr; + + //replace any negative number signs with ? so we can tokenize the option string into individual flags + while( `match "-[0-9.]+" $manipStr` != "" ) { + string $nextNegNum = `match "-[0-9.]+" $manipStr`; + string $encodedNum = `substitute "-" $nextNegNum "'"`; + + $manipStr = `substitute $nextNegNum $manipStr $encodedNum`; + } + + //now tokenize the encoded flag string + string $flagTokens[] = {}; + int $toks = `tokenize $manipStr "-" $flagTokens`; + for( $n=0; $n<$toks; $n++ ) { + string $buffer[] = {}; + int $num = `tokenize $flagTokens[$n] " " $buffer`; + if( $buffer[0] != $flagInfoToReturn ) continue; + + string $args[] = {}; + //using the while loop instead of substituteAllString because its about 15-20% faster + for( $i=1; $i<$num; $i++ ) { + while( `match "'" $buffer[$i]` != "" ) $buffer[$i] = `substitute "'" $buffer[$i] "-"`; + $args[( `size $args` )] = $buffer[$i]; + } + return $args; + } + + return {}; + } + + +/* +returns a list of all flags contained in the given string +-------- + +example: +zooListFlags "-flag optA optB optC -length -3.6 -height -8.2 -twistAxis x" flag; +will return the array: +{ "flag", "length", "height", "twistAxis" } +*/ +global proc string[] zooListFlags( string $flagStr ) { + string $manipStr = $flagStr; + string $flagTokens[] = {}; + string $flagNames[] = {}; + int $n=0; //overflow control + + //replace any negative number signs with ? so we can tokenize the option string into individual flags + while( `match "-[0-9.]+" $manipStr` != "" && $n<200 ) { + string $nextNegNum = `match "-[0-9.]+" $manipStr`; + string $encodedNum = `substitute "-" $nextNegNum "'"`; + + $manipStr = `substitute $nextNegNum $manipStr $encodedNum`; + $n++; + } + + //now tokenize the encoded flag string + tokenize $manipStr "-" $flagTokens; + for( $n=0; $n<`size $flagTokens`; $n++ ) { + string $buffer[] = {}; + tokenize $flagTokens[$n] " " $buffer; + $flagNames[( `size $flagNames` )] = $buffer[0]; + } + + return $flagNames; + } + + +//------ +//this proc is used to validate flag strings - it simply returns an array containing any invalid +//flags. flag info is passed in as: +//flagName,type +//the type dictates what is valid data, and what is not - see the zooValidateFlagInfo for more info +//------ +global proc string[] zooValidateFlagStr( string $optionStr, string $validFlagInfos[] ) { + string $validFlags[] = {}; + string $validTypes[] = {}; + string $flags[] = `zooListFlags $optionStr`; + string $errorFlags[] = {}; + int $valid = 1; + int $valids[] = {}; + int $num = `size $validFlagInfos`; + + for( $n=0; $n<$num; $n++ ) { + string $buffer[] = {}; + tokenize $validFlagInfos[$n] "," $buffer; + $validFlags[$n] = $buffer[0]; + $validTypes[$n] = $buffer[1]; + } + + for( $n=0; $n<`size $flags`; $n++ ) { + $valids[$n] = 0; + for( $m=0; $m<`size $validFlags`; $m++ ) { + string $flagValues[] = `zooGetFlagArguments $optionStr $validFlags[$m]`; + if( $flags[$n] == $validFlags[$m] && `zooValidateFlagInfo $validTypes[$m] $flagValues` ) $valids[$n] = 1; + } + } + + for( $n=0; $n<`size $valids`; $n++ ) if( !$valids[$n] ) $errorFlags[( `size $errorFlags` )] = $flags[$n]; + return $errorFlags; + } + + +//------ +//given a flag type, and the flag values array (as returned by the zooGetFlagArguments command) +//returns whether all the values are valid. flag types are: +// +// float - basically any type of number +// int - basically any integer +// bool - a boolean value. ie: on, off, 0, 1, true, false in lower case +// string - at this stage absolutely anything will be validated as a string type +// obj - an actual scene node - the flag values must be valid nodes in the scene +// axis - a single axis string. ie: x, y or z or their upper case equivalents +//------ +global proc int zooValidateFlagInfo( string $flagType, string $flagValue[] ) { + int $valid = 1; + int $num = `size $flagValue`; + int $valids[] = {}; + + switch( $flagType ) { + case "float": + for( $n=0; $n<$num; $n++ ) if( `match "[-0-9.]+" $flagValue[$n]` == $flagValue[$n] ) $valids[$n] = 1; + break; + + case "int": + for( $n=0; $n<$num; $n++ ) if( `match "[-0-9]+" $flagValue[$n]` == $flagValue[$n] ) $valids[$n] = 1; + break; + + case "bool": + for( $n=0; $n<$num; $n++ ) if( `match "(true){0,}(false){0,}(on){0,}(off){0,}[01]{0,}" (tolower($flagValue[$n]))` == $flagValue[$n] ) $valids[$n] = 1; + break; + + case "string": + for( $n=0; $n<$num; $n++ ) $valids[$n] = 1; + break; + + case "obj": + for( $n=0; $n<$num; $n++ ) if( `objExists $flagValue[$n]` ) $valids[$n] = 1; + break; + + case "axis": + for( $n=0; $n<$num; $n++ ) if( `match "[-_]*[xyzXYZ]{1}" $flagValue[$n]` == $flagValue[$n] ) $valids[$n] = 1; + break; + } + for( $n=0; $n<$num; $n++ ) if( !$valids[$n] ) $valid = 0; + + return $valid; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooGetLookat.mel b/2009-x64/zooScripts/scripts/zooGetLookat.mel new file mode 100644 index 0000000..fce39e8 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGetLookat.mel @@ -0,0 +1,26 @@ +zooRegister; + + +global proc string zooGetLookat( int $forceCreate ){ + string $reg = `zooGetRegister zoo 1`; + string $lookats[] = {}; + string $lookat = ""; + int $idxs[] = {}; + + zooListRegistered $reg lookat $idxs $lookats; + for( $l in $lookats ) if( `objExists $l` ) $lookat = $l; + if( !`objExists $lookat` ) { + if( $forceCreate ) { + string $grp = `group -em`; + $grp = `rename $grp "zooLookat#"`; + zooRegisterObj $reg lookat $grp 1 1; + parentConstraint persp $grp; + return $grp; + } + } + else return $lookat; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooGraphFilter.mel b/2009-x64/zooScripts/scripts/zooGraphFilter.mel new file mode 100644 index 0000000..3f73f74 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGraphFilter.mel @@ -0,0 +1,305 @@ +// +// Graph Filter +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 08 October 2002 +// +// Description: +// script is a UI for managing quick filtering curves in the graph +// editor. it will list all keyable attributes of all selected +// objects, as well as all xforms. you can also select channels +// from the graph editor itself, and propagate the selected curves +// to all selected objects. very useful for large numbers of +// objects at once. +// +// Usage: +// assign this function to a key press: +// zooGraphFilter; +// +// Hamish McKenzie ©2007... + + +zooUtils; +zooArrays_str; +zooGraphFilterUtils; + + +global proc zooGraphFilter() { + string $windowName = "zooGraphFilterWindow"; + string $windowTitle = "Graph Filter v" + `zooGraphFilterVersion` + " ::macaroniKazoo::"; + + if( `window -ex $windowName` ) deleteUI $windowName; + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 + -sizeable 1 -width 190 -height 270 $windowName; + + scriptJob -p $windowName -e "SelectionChanged" "zooGraphFilterManageUI selectionChange n"; + + menuBarLayout; + menu -label "Help"; + menuItem -l "Help..." -c ( "zooGraphFilterHelp help" ); + menuItem -divider 1; + menuItem -l "About" -c ( "zooGraphFilterHelp about" ); + + columnLayout -rowSpacing 2 -adjustableColumn 1; + button -height 20 -label "filter like channels" -c ( "zooGraphChannelTypes `zooGetHighlightedChannels`" ) zooGraphFilterButtonLike; + rowLayout -numberOfColumns 2 + -columnWidth2 90 110 + -columnAlign 2 "center" + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + columnLayout -rowSpacing 2 -adjustableColumn 1; + frameLayout -label "translate" -labelAlign "center" -collapsable 0 -collapse 0 -borderStyle "etchedIn"; + rowLayout -numberOfColumns 2 + -columnWidth2 40 40 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + columnLayout -rowSpacing 0 -adjustableColumn true; + button -label "all" -c ( "zooGraphFilterManageUI selectAllXform t" ) zooGraphFilterButtonTranslateAll; + button -label "none" -c ( "zooGraphFilterManageUI selectNoneXform t" ) zooGraphFilterButtonTranslateNone; + setParent..; + columnLayout -rowSpacing 0; + checkBox -label "X" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterChecktx; + checkBox -label "Y" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterCheckty; + checkBox -label "Z" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterChecktz; + setParent..; + setParent..; + setParent..; + + frameLayout -label "rotate" -labelAlign "center" -collapsable 0 -collapse 0 -borderStyle "etchedIn"; + rowLayout -numberOfColumns 2 + -columnWidth2 40 40 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + columnLayout -rowSpacing 0 -adjustableColumn true; + button -label "all" -c ( "zooGraphFilterManageUI selectAllXform r" ) zooGraphFilterButtonRotateAll; + button -label "none" -c ( "zooGraphFilterManageUI selectNoneXform r" ) zooGraphFilterButtonRotateNone; + setParent..; + columnLayout -rowSpacing 0; + checkBox -label "X" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterCheckrx; + checkBox -label "Y" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterCheckry; + checkBox -label "Z" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterCheckrz; + setParent..; + setParent..; + setParent..; + + frameLayout -label "scale" -labelAlign "center" -collapsable 0 -collapse 0 -borderStyle "etchedIn"; + rowLayout -numberOfColumns 2 + -columnWidth2 40 40 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + columnLayout -rowSpacing 0 -adjustableColumn true; + button -label "all" -c ( "zooGraphFilterManageUI selectAllXform s" ) zooGraphFilterButtonScaleAll; + button -label "none" -c ( "zooGraphFilterManageUI selectNoneXform s" ) zooGraphFilterButtonScaleNone; + setParent..; + columnLayout -rowSpacing 0; + checkBox -label "X" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterChecksx; + checkBox -label "Y" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterChecksy; + checkBox -label "Z" -cc ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterChecksz; + setParent..; + setParent..; + setParent..; + button -height 20 -label "select all" -c ( "{ zooGraphFilterManageUI selectAllXform t;zooGraphFilterManageUI selectAllXform r;zooGraphFilterManageUI selectAllXform s; }" ) zooGraphFilterButtonAllXform; + button -height 20 -label "clear xforms" -c ( "{ zooGraphFilterManageUI selectNoneXform t;zooGraphFilterManageUI selectNoneXform r;zooGraphFilterManageUI selectNoneXform s; }" ) zooGraphFilterButtonClearXform; + setParent..; + + columnLayout -rowSpacing 2 -columnAttach "both" 1; + textScrollList -h 199 -allowMultiSelection 1 -selectCommand ( "zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`" ) zooGraphFilterChannelList; + button -height 20 -label "select all" -c ( "zooGraphFilterManageUI selectAll n" ) zooGraphFilterButtonChannelAll; + button -height 20 -label "clear custom" -c ( "zooGraphFilterManageUI selectNone n" ) zooGraphFilterButtonChannelNone; + setParent..; + setParent..; + + string $image = `image -width 190 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent..; + + showWindow $windowName; + + //this can alter the selection connection object to automatically update the UI when channel selection changes. it appears buggy though + //selectionConnection -e -addScript ( "zooGraphFilterManageUI filterLike" ) graphEditor1FromOutliner; + + //now load defaults: + zooGraphFilterManageUI selectionChange n; + zooGraphFilterManageUI selectAllXform t; + zooGraphFilterManageUI selectAllXform r; + zooGraphFilterManageUI selectAllXform s; + zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`; + } + + +global proc zooGraphFilterManageUI( string $function, string $other ) { + string $windowName = "zooGraphFilterWindow"; + + if( `window -exists $windowName` ) { + switch ( $function ) { + case "selectionChange": + string $channels[] = `zooGetNonXformKeyable`; + + //clear the attr list, and re-build it + textScrollList -e -ra zooGraphFilterChannelList; + for( $channel in $channels ) textScrollList -e -a $channel zooGraphFilterChannelList; + break; + + case "filterLike": + string $highlightedChannels[] = `zooGetHighlightedChannels`; + string $xFormList[] = { "translateX", "translateY", "translateZ", "rotateX", "rotateY", "rotateZ", "scaleX", "scaleY", "scaleZ" }; + string $checkBoxList[] = { "tx", "ty", "tz", "rx", "ry", "rz", "sx", "sy", "sz" }; + string $xForms[] = {}; + int $n = 0; + int $i = 0; + int $j = 0; + + //clear all the filters from the UI + zooGraphFilterManageUI selectNoneXform t; + zooGraphFilterManageUI selectNoneXform r; + zooGraphFilterManageUI selectNoneXform s; + zooGraphFilterManageUI selectNone n; + + //get the xforms + for( $i = 0; $i < `size $highlightedChannels`; $i++ ) { + int $isXform = 0; + + for( $j = 0; $j < `size $xFormList`; $j++ ) { + if( $highlightedChannels[$i] == $xFormList[$j] ) { + checkBox -e -v 1 ( "zooGraphFilterCheck" + $checkBoxList[$j] ); + $isXform = 1; + $n++; + } + } + + if( !$isXform ) textScrollList -e -selectItem $highlightedChannels[$i] zooGraphFilterChannelList; + } + + zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`; + break; + + case "selectAllXform": + checkBox -e -v 1 ( "zooGraphFilterCheck" + $other + "x" ); + checkBox -e -v 1 ( "zooGraphFilterCheck" + $other + "y" ); + checkBox -e -v 1 ( "zooGraphFilterCheck" + $other + "z" ); + zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`; + break; + + case "selectNoneXform": + checkBox -e -v 0 ( "zooGraphFilterCheck" + $other + "x" ); + checkBox -e -v 0 ( "zooGraphFilterCheck" + $other + "y" ); + checkBox -e -v 0 ( "zooGraphFilterCheck" + $other + "z" ); + zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`; + break; + + case "selectAll": + string $listItems[] = `textScrollList -q -allItems zooGraphFilterChannelList`; + for( $entry in $listItems ) textScrollList -e -selectItem $entry zooGraphFilterChannelList; + zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`; + break; + + case "selectNone": + //textScrollList -e -deselectAll zooGraphFilterChannelList; this deselect all command is buggy, hence this workaround + int $numChannels = `textScrollList -q -numberOfItems zooGraphFilterChannelList`; + for( $n=0; $n<$numChannels; $n++ ) { + //add 1 to $n as the indicies are 1 based for textScroll lists + textScrollList -e -deselectIndexedItem ( $n+1 ) zooGraphFilterChannelList; + } + zooGraphChannelTypes `zooGraphFilterGetSelectedChannels`; + break; + } + } + } + + +global proc string[] zooGraphFilterGetSelectedChannels() { + string $returnList[] = {}; + string $checkBoxSuffixList[] = { "tx", "ty", "tz", "rx", "ry", "rz", "sx", "sy", "sz" }; + + //this string will contain the list of checkbox attributes that are checked + string $checkBoxAttr[] = {}; + string $listAttrs[] = `textScrollList -q -si zooGraphFilterChannelList`; + + for( $entry in $checkBoxSuffixList ) if( `checkBox -q -v ( "zooGraphFilterCheck" + $entry )` ) $checkBoxAttr[( `size $checkBoxAttr` )] = $entry; + + //now build the return list + for( $entry in $checkBoxAttr ) $returnList[( `size $returnList` )] = $entry; + for( $entry in $listAttrs ) $returnList[( `size $returnList` )] = $entry; + + return $returnList; + } + + +global proc zooGraphFilterHelp( string $function ) { + string $windowName = "zooGraphFilterAbout"; + string $windowTitle = "About Graph Filter v" + `zooGraphFilterVersion` + " ::macaroniKazoo::"; + string $aboutScript = "Overview:\nGraph Filter is a UI to quickly select specific channels in the graph editor. It is similar to the \"show selected types\" in the show menu of the graph editor, but is a slightly more powerful, and a little faster. Especially when integrated with the zzKeyMenu script, which is automatically done when both scripts are present.\n\nFilter Like Channels:\nThis function will select the currently selected channel(s) on all currently selected objects. Similar to the \"show selected type(s)\" function in the show menu. It saves you having to ctrl-select the same channel on every object in the graph editor. The script will also work on attributes selected in the channel box. Attributes selected in the channel box have precedence over those selected in the graph editor."; + string $aboutAuthor = "Version: " + `zooGraphFilterVersion` + "\nCreation Date: 14 October 2001\nLast Modified: 29 April 2002\n\nGraph Filter was written by Macaroni Kazoo Productions www.macaronikazoo.com\n\nWe hope you find it to be such a useful tool, that you tell all your friends about it."; + int $selTab = ( $function == "about" )?2:1; + + if( `window -exists $windowName` ) { deleteUI $windowName; } + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -widthHeight 330 300 $windowName; + + string $form = `formLayout`; + string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5`; + string $image = `image -p $form -width 300 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "right" 0 + -attachControl $tabs "bottom" 2 $image + + -attachNone $image "top" + -attachForm $image "left" 0 + -attachForm $image "right" 0 + -attachForm $image "bottom" 0 + $form; + + string $child1 = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $aboutScript; + setParent ..; + + string $child2 = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $aboutAuthor; + setParent ..; + + tabLayout -e -selectTabIndex $selTab -tabLabel $child1 "Graph Filter Help" -tabLabel $child2 "About Graph Filter" $tabs; + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + showWindow $windowName; + } + + +global proc float zooGraphFilterVersion() { + float $currentVersion = 1.15; + return $currentVersion; + } + + +//------ +//these dependencies allow the zooZipScript to package this script easily for distribution +//------ +global proc string[] zooGraphFilterDependencies( string $mode ) { + string $melDependencies[] = {}; + string $includeFiles[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooGraphFilterUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooGraphFilter.xpm"; + + if( $mode == "-deps" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + if( $mode == "-scripts" ) { + $return = $melDependencies; + $return = `zooAddArray_str $return $includeFiles`; + $return = `stringArrayRemoveDuplicates $return`; + } + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooGraphFilterUtils.mel b/2009-x64/zooScripts/scripts/zooGraphFilterUtils.mel new file mode 100644 index 0000000..f388145 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGraphFilterUtils.mel @@ -0,0 +1,89 @@ +zooUtils; +zooArrays_str; + + +global proc zooGraphFilterUtils() { + return; + } + + +global proc zooGraphChannelTypes( string $channels[] ) { + string $selObjs[] = `ls -sl`; + if( !`size $channels` ) $channels = `zooGetHighlightedChannels`; + + selectionConnection -e -clear graphEditor1FromOutliner; + for( $obj in $selObjs ) for( $channel in $channels ) { + string $channelPath = $obj +"."+ $channel; + if( `objExists $channelPath` ) selectionConnection -e -select $channelPath graphEditor1FromOutliner; + } + } + + +global proc zooToggleSelectedAll() { + string $sel[] = `selectionConnection -q -obj graphEditor1FromOutliner`; + if( !`size $sel` ) { + zooGraphAllChannels; + return; + } + + if( `zooAreChannelsHighlighted` ) zooGraphAllChannels; + else zooGraphSelectedCurves; + } + + +global proc zooGraphAllChannels() { + string $selObjs[] = `ls -sl`; + selectionConnection -e -clear graphEditor1FromOutliner; + for( $obj in $selObjs ) selectionConnection -e -select $obj graphEditor1FromOutliner; + } + + +global proc zooGraphSelectedCurves() { + string $curves[] = `keyframe -q -name -sl` ; + if( !`size $curves` ) return; + selectionConnection -e -clear graphEditor1FromOutliner; + for( $n=0; $n<`size $curves`; $n++ ) { + string $channel[] = `listConnections -p 1 -s 0 ( $curves[$n] +".output" )`; + if( `objExists $channel[0]` ) selectionConnection -e -select $channel[0] graphEditor1FromOutliner; + } + //animCurveEditor -e -lookAt all graphEditor1GraphEd; + } + + +//returns whether the highlighted channels in the graph editor are attributes or not +global proc int zooAreChannelsHighlighted() { + string $sel[] = `selectionConnection -q -obj graphEditor1FromOutliner`; + for( $s in $sel ) if( `gmatch $s "*.*"` ) return 1; + return 0; + } + + +//returns a list of keyable, non transform attributes on the currently selected objects +global proc string[] zooGetNonXformKeyable() { + string $selObjs[] = `ls -sl`; + string $xformList[] = { "translateX", "translateY", "translateZ", "rotateX", "rotateY", "rotateZ", "scaleX", "scaleY", "scaleZ" }; + string $returnList[] = {}; + + if( !`size $selObjs` ) return {}; + $returnList = `listAttr -k`; + $returnList = `stringArrayRemoveDuplicates $returnList`; + $returnList = `zooSubtractArray_str $returnList $xformList`; + return $returnList; + } + + +global proc string[] zooGetHighlightedChannels() { + string $highlightedChannels[] = `selectionConnection -q -obj graphEditor1FromOutliner`; + string $fromChannelBox[] = `channelBox -q -selectedMainAttributes mainChannelBox`; + string $returnList[] = {}; + + for( $attrib in $highlightedChannels ) $returnList[( `size $returnList` )] = `match "[^.]+$" $attrib`; + $returnList = `stringArrayRemoveDuplicates $returnList`; + //if( !`size $fromChannelBox` ) $returnList = $fromChannelBox; + + return $returnList; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooGreaseMonkey.mel b/2009-x64/zooScripts/scripts/zooGreaseMonkey.mel new file mode 100644 index 0000000..60e4f0f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGreaseMonkey.mel @@ -0,0 +1,217 @@ +zooGreaseMonkeyUtils; +zooTips; + + +global proc zooGreaseMonkey() { + string $windowName = "zooGreaseMonkeyWindow"; + string $windowTitle = "zooGreaseMonkey!"; + string $board = `zooGetBoardBase 0`; + int $unload = `optionVar -ex zooGreaseMonkeyUnload`? `optionVar -q zooGreaseMonkeyUnload`: 1; + int $hideState = `objExists $board`? !`getAttr ( $board +".v" )`: 0; + + if( `zooTipState zooGreaseMonkey -1` ) zooTipsWin zooGreaseMonkey 0; + if ( `window -ex $windowName` ) deleteUI $windowName; + window -t $windowTitle -resizeToFitChildren 0 -maximizeButton 1 -sizeable 1 -width 300 -height 250 $windowName; + scriptJob -p $windowName -uid $windowName "zooGreaseMonkeyWindowFunctions -windowClose"; + menuBarLayout; + menu -l "Manage"; + menuItem -l "ghost pre boards" -cb( `zooGetDefaultMonkeySettings zooGreasePre` ) -c( "optionVar -iv zooGreasePre #1; zooRebuildAllGreaseKeys \"\";" ); + menuItem -l "ghost post boards" -cb( `zooGetDefaultMonkeySettings zooGreasePost` ) -c( "optionVar -iv zooGreasePost #1; zooRebuildAllGreaseKeys \"\";" ); + menuItem -d 1; + menuItem -l "Remove All" -c ( "{ string $boards[] = {}; zooListUsedKeys $boards; for( $b in $boards ) delete $b; }" ); + menu -l "Prefs"; + menuItem -l "unload on window close" -cb $unload -c( "optionVar -iv zooGreaseMonkeyUnload #1" ); + menu -l "Help"; + menuItem -l "Donate Now" -c( "showHelp -a \"http://www.macaronikazoo.com/donate.html\";" ); + menuItem -l "Help..." -c ( "zooHelp zooGreaseMonkey 1" ); + + string $form = `formLayout`; + string $load = `button -l "" -c( "zooGreaseMonkeyWindowFunctions -toggleLoad" ) zooGreaseStateButton`; + string $loadState = `textField -ed 0 -tx "" zooGreaseStateInfo`; + string $hide = `checkBox -l "hide" -v $hideState -cc( "zooGreaseMonkeyWindowFunctions -toggleHide" ) zooGreaseStateHide`; + string $camBut = `button -l "use selected cam ->" -c( "zooGreaseMonkeyWindowFunctions -setCamera" )`; + string $cam = `nameField -o( zooQueryMonkeySee()) zooGreaseMonkeyUICamera`; + string $listScroll = `scrollLayout -cr 1 -hst 0`; + string $list = `columnLayout -adj 1 zooGreaseMonkeyKeyList`; + setParent ..; + setParent ..; + string $add = `button -l "new board" -c( "zooAddGreaseBoard `zooCreateBoard \"\"`; if( !`zooMonkeyState` ) zooLoadMonkey; zooGreaseMonkeyWindowFunctions -updateLoad;" )`; + string $image = `image -w 270 -h 8 -bgc ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent ..; + + popupMenu -p $camBut -b 3 -pmc( "zooGreaseListCams zooGreaseCamListA" ) zooGreaseCamListA; + popupMenu -p $cam -b 3 -pmc( "zooGreaseListCams zooGreaseCamListB" ) zooGreaseCamListB; + formLayout -e + -af $load "top" 0 + -af $load "left" 0 + + -af $loadState "top" 0 + -ac $loadState "left" 0 $load + -ac $loadState "right" 5 $hide + + -af $hide "top" 3 + -af $hide "right" 0 + + -ac $camBut "top" 0 $load + -af $camBut "left" 0 + + -ac $cam "top" 0 $loadState + -ac $cam "left" 0 $camBut + -af $cam "right" 0 + + -ac $listScroll "top" 0 $cam + -af $listScroll "left" 0 + -af $listScroll "right" 0 + -ac $listScroll "bottom" 0 $add + + -af $add "left" 0 + -af $add "right" 0 + -ac $add "bottom" 0 $image + + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $form; + + zooGreaseMonkeyWindowFunctions -rebuildKeys; + evalDeferred "zooGreaseMonkeyWindowFunctions -windowOpen"; + zooGreaseMonkeyWindowFunctions -updateLoad; + showWindow $windowName; + } + + +global proc zooGreaseListCams( string $parent ) { + menu -e -dai $parent; + setParent -m $parent; + + string $cameraShapes[] = `ls -type camera`; + string $cameraTransforms[] = {}; + string $current = `zooQueryMonkeySee`; + + for( $cam in $cameraShapes ) { + string $parent[] = `listRelatives -p $cam`; + $cameraTransforms[( `size $cameraTransforms` )] = $parent[0]; + } + + for( $cam in $cameraTransforms ) menuItem -l $cam -cb( $cam==$current ) -c( "nameField -e -o "+ $cam +" zooGreaseMonkeyUICamera; zooMonkeySee "+ $cam +";" ); + if( `size $cam` ) menuItem -d 1; + menuItem -l "detach from camera" -cb( !`objExists $current` ) -c( "zooMonkeySee \"\";" ); + } + + +global proc zooGreaseMonkeyWindowFunctions( string $function ) { + switch( $function ) { + case "-updateLoad": + if( `zooMonkeyState` ) { + textField -e -tx "<- press button to unload" zooGreaseStateInfo; + button -e -l "LOADED" zooGreaseStateButton; + } + else { + textField -e -tx "<- press button to load" zooGreaseStateInfo; + button -e -l "unloaded" zooGreaseStateButton; + } + break; + + case "-toggleLoad": + if( `zooMonkeyState` ) zooUnloadMonkey; + else zooLoadMonkey; + zooGreaseMonkeyWindowFunctions -updateLoad; + break; + + case "-toggleHide": + int $state = !`checkBox -q -v zooGreaseStateHide`; + string $base = `zooGetBoardBase 0`; + + setAttr ( $base +".v" ) $state; + break; + + case "-rebuildKeys": + string $boards[] = {}; + string $oldUIs[] = `columnLayout -q -ca zooGreaseMonkeyKeyList`; + int $keys[] = {}; + int $times[] = {}; + + zooGetUsedKeyData $keys $boards $times; + $keys = `zooOrderArrayUsing_int $keys $times`; //reorder the list of keys based on the times - so the list is always in chronological order + for( $ui in $oldUIs ) if( `control -ex $ui` ) deleteUI $ui; + for( $key in $keys ) zooAddGreaseBoard $key; + break; + + case "-setCamera": + string $sel[] = `ls -sl -type transform`; + string $camera = ""; + + for( $obj in $sel ) { + string $shape = zooGetElement_str(0,`listRelatives -s $obj`); + if( `nodeType $shape` == "camera" ) $camera = $obj; + } + + if( !`objExists $camera` ) return; + nameField -e -o $camera zooGreaseMonkeyUICamera; + zooMonkeySee $camera; + break; + + case "-windowOpen": + int $keys[] = {}; + zooGetUsedKeyData $keys {} {}; + if( `size $keys` ) if( !`zooMonkeyState` ) zooLoadMonkey; + break; + + case "-windowClose": + int $unload = `optionVar -ex zooGreaseMonkeyUnload`? `optionVar -q zooGreaseMonkeyUnload`: 1; + if( $unload ) zooUnloadMonkey; + break; + } + } + + +global proc zooAddGreaseBoard( int $key ) { + if( $key == -1 ) return; + + string $board = `zooGetBoardFromKey $key`; + int $time = `zooGetKeyTime $key`; + + setParent zooGreaseMonkeyKeyList; + string $form = `formLayout`; + string $timeUI = `intField -v $time -cc( "zooSetKeyTime "+ $key +" #1; zooRebuildAllGreaseKeys \"\";" )`; + string $nameUI = `nameField -o $board`; + string $removeUI = `button -l "delete" -c( "deleteUI "+ $form +"; delete `zooGetBoardFromKey "+ $key +"`; zooRebuildAllGreaseKeys \"\"; window -e -w(`window -q -w zooGreaseMonkeyWindow`-1 ) zooGreaseMonkeyWindow; window -e -w(`window -q -w zooGreaseMonkeyWindow`+1 ) zooGreaseMonkeyWindow;" )`; + + string $menu = `popupMenu -p $nameUI -b 3`; + popupMenu -e -pmc( "zooGreaseMenu "+ $key +" "+ $menu ) $menu; + formLayout -e + -an $timeUI "top" + -af $timeUI "left" 0 + -an $timeUI "right" + -an $timeUI "bottom" + + -an $nameUI "top" + -ac $nameUI "left" 0 $timeUI + -ac $nameUI "right" 0 $removeUI + -an $nameUI "bottom" + + -an $removeUI "top" + -an $removeUI "left" + -af $removeUI "right" 0 + -an $removeUI "bottom" + $form; + int $w = `window -q -w zooGreaseMonkeyWindow`; + window -e -w( $w+1 ) zooGreaseMonkeyWindow; + window -e -w $w zooGreaseMonkeyWindow; + } + + +global proc zooGreaseMenu( int $key, string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + menuItem -l "select board" -c( "select `zooGetBoardFromKey "+ $key +"`;" ); + menuItem -l "duplicate board" -c( "zooAddGreaseBoard `zooDuplicateKey "+ $key +"`;" ); + menuItem -d 1; + menuItem -en 0 -l "copy curves from"; + menuItem -en 0 -l "copy curves to"; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooGreaseMonkeyDependencies.mel b/2009-x64/zooScripts/scripts/zooGreaseMonkeyDependencies.mel new file mode 100644 index 0000000..0e36a12 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGreaseMonkeyDependencies.mel @@ -0,0 +1,22 @@ +global proc string[] zooGreaseMonkeyDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_int"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooGetLookat"; + $melDependencies[( `size $melDependencies` )] = "zooSetLookat"; + $melDependencies[( `size $melDependencies` )] = "zooGreaseMonkeyUtils"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTips"; + $helpDependencies[( `size $helpDependencies` )] = "zooGreaseMonkey_help"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-docs" ) return $helpDependencies; + if( $mode == "-icons" ) return $iconDependencies; + return {}; + } diff --git a/2009-x64/zooScripts/scripts/zooGreaseMonkeyTips.txt b/2009-x64/zooScripts/scripts/zooGreaseMonkeyTips.txt new file mode 100644 index 0000000..7fb8822 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGreaseMonkeyTips.txt @@ -0,0 +1,6 @@ +To start out - first create a board by pressing the "new board" button. Boards are the things you draw on. Now make sure its parented to the current camera by right clicking the "use selected cam" button +You can change the camera that your boards are parented to at any time by right clicking on the "use selected cam" button +The load/unload button in the top left corner of the window controls whether the script is turned on or not. When the script is off, you can't draw. When turned on, the current board is automatically enabled for drawing +When you close the window, by default the script is automatically turned off. If you want to close the window but still have the script loaded, make sure "Prefs->unload on window close" is turned off. +By default, pre ghosting is turned on. You can have either pre or post ghosting, or both or none on your boards. To control this go to the Manage menu +You can name your boards if you want. Simply type what you want to call your board next to the time in the board list. Naming boards can be really useful for long sequences \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooGreaseMonkeyUtils.mel b/2009-x64/zooScripts/scripts/zooGreaseMonkeyUtils.mel new file mode 100644 index 0000000..1feef57 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGreaseMonkeyUtils.mel @@ -0,0 +1,548 @@ +zooArrays_str; +zooArrays_int; +zooFlags; +zooRegister; +zooUtils; + + +global proc zooGreaseMonkeyUtils() { + return; + } + + +//------ +//this proc simply makes the current board live for drawing +//------ +global proc zooBuildMonkeyBoards( float $time ) { + makeLive -n; + string $board = `zooGetBoardFromKey (zooFindCurrentKey($time))`; + if( `objExists $board` ) makeLive $board; + PencilCurveTool; + } + + +//------ +//returns the key the is visible on the given time +//------ +global proc int zooFindCurrentKey( float $time ) { + string $boards[] = {}; + int $keys[] = `zooListUsedKeys $boards`; + int $num = `size $keys`; + int $times[] = {}; + int $proximities[] = {}; + + for( $n=0; $n<$num; $n++ ) $times[$n] = `zooGetKeyTime $keys[$n]`; + for( $n=0; $n<$num; $n++ ) $proximities[( `size $proximities` )] = $times[$n] - $time; + + int $temp[] = `zooCropArray_int $proximities -1000000 0`; + int $biggestNegative = `zooGetHighestValueIdx_int $temp`; + int $closest = `zooGetIdxOfElement_int $proximities $temp[$biggestNegative]`; + + return $closest; + } + + +global proc int zooDuplicateKey( int $key ) { + string $monkey = `zooGetGreaseMonkey 0`; + string $board = `zooGetBoardFromKey $key`; + + if( !`objExists $board` ) return -1; + int $idx = `zooGetNextKeyIdx`; + + if( !`objExists ( $monkey +".zooBoard"+ $idx )` ) addAttr -ln ( "zooBoard"+ $idx ) -at message $monkey; + string $new[] = `duplicate $board`; + connectAttr -f ( $new[0] +".message" ) ( $monkey +".zooBoard"+ $idx ); + zooRebuildAllGreaseKeys ""; + return $idx; + } + + +//------ +//creates a new drawing board (which curves are drawn on) +//------ +global proc int zooCreateBoard( string $optionStr ) { + string $temp[] = {}; + string $name = ""; + int $time = `currentTime -q`; + int $activate = 1; + + $temp = `zooGetFlagArguments $optionStr time`; if( `size $temp` ) $time = $temp[0]; + $temp = `zooGetFlagArguments $optionStr name`; if( `size $temp` ) $name = $temp[0]; + $temp = `zooGetFlagArguments $optionStr activate`; if( `size $temp` ) $activate = $temp[0]; + + string $monkey = `zooGetGreaseMonkey 1`; + string $eazel = `zooGetEazel 1`; + string $eazelBase = `zooGetBoardBase 1`; + string $board = zooGetElement_str(0,`nurbsPlane -p 0 0 -1 -ax 0 0 1 -w 2 -lr 0.8 -d 3 -u 1 -v 1 -ch 0`); + int $idx = `zooGetNextKeyIdx`; + + if( $name == "" ) $name = "zooMonkeyBoard_"+ $idx; + $board = `rename $board $name`; + parent -r $board $eazelBase; + if( !`objExists ( $monkey +".zooBoard"+ $idx )` ) addAttr -ln ( "zooBoard"+ $idx ) -at message $monkey; + connectAttr -f ( $board +".message" ) ( $monkey +".zooBoard"+ $idx ); + if( $activate ) { makeLive -n; makeLive $board; } + + setAttr ( $board +".doubleSided" ) 0; + setAttr ( $board +".visibleInRefractions" ) 0; + setAttr ( $board +".visibleInReflections" ) 0; + setAttr ( $board +".smoothShading" ) 0; + setAttr ( $board +".primaryVisibility" ) 0; + setAttr ( $board +".motionBlur" ) 0; + setAttr ( $board +".receiveShadows" ) 0; + setAttr ( $board +".castsShadows" ) 0; + setAttr ( $board +".overrideEnabled" ) 1; + setAttr ( $board +".overrideShading" ) 0; + zooSetKeyTime $idx $time; + zooRebuildAllGreaseKeys ""; + return $idx; + } + + +//------ +//rebuilds all keys on the visibility attr and template attr - this needs to happen +//whenever the time of a board changes +//------ +global proc zooRebuildAllGreaseKeys( string $optionStr ) { + string $temp[] = {}; + int $pre = `zooGetDefaultMonkeySettings zooGreasePre`; + int $post = `zooGetDefaultMonkeySettings zooGreasePost`; + + $temp = `zooGetFlagArguments $optionStr pre`; if( `size $temp` ) $pre = $temp[0]; + $temp = `zooGetFlagArguments $optionStr post`; if( `size $temp` ) $post = $temp[0]; + + string $boards[] = {}; + int $times[] = {}; + int $num; + + zooGetTimeOrderedKeyData {} $boards $times; + if( !`size $boards` ) return; + $num = `size $boards`-1; + + //build the template keys + cutKey -cl -t ":" ( $boards[0] +".ovdt" ); + for( $n=0; $n<=$num; $n++ ) { + cutKey -cl -t ":" ( $boards[$n] +".ovdt " ); + setKeyframe -t( $times[$n]-1 ) -v 1 ( $boards[$n] +".ovdt" ); + setKeyframe -t $times[$n] -v 0 ( $boards[$n] +".ovdt" ); + if( `objExists $boards[( $n+1 )]` ) setKeyframe -t $times[( $n+1 )] -v 2 ( $boards[$n] +".ovdt" ); + } + + + //this is a bit brute force - it tests all possibilities for pre/post + //not quite sure how to make this more elegant + if( !$pre && !$post ) { + for( $n=0; $n<=$num; $n++ ) { + cutKey -cl -t ":" ( $boards[$n] +".v" ); + setKeyframe -t( $times[$n]-1 ) -v 0 ( $boards[$n] +".v" ); + setKeyframe -t $times[$n] -v 1 ( $boards[$n] +".v" ); + if( `objExists $boards[( $n+1 )]` ) setKeyframe -t $times[( $n+1 )] -v 0 ( $boards[$n] +".v" ); + } + } + else if( $pre && !$post ) { + for( $n=0; $n<=$num; $n++ ) { + cutKey -cl -t ":" ( $boards[$n] +".v" ); + setKeyframe -t( $times[$n]-1 ) -v 0 ( $boards[$n] +".v" ); + setKeyframe -t $times[$n] -v 1 ( $boards[$n] +".v" ); + if( `objExists $boards[( $n+2 )]` ) setKeyframe -t $times[( $n+2 )] -v 0 ( $boards[$n] +".v" ); + } + } + else if( !$pre && $post ) { + cutKey -cl -t ":" ( $boards[0] +".v" ); + setKeyframe -t $times[0] -v 1 ( $boards[0] +".v" ); + if( `objExists $boards[1]` ) setKeyframe -t $times[1] -v 0 ( $boards[0] +".v" ); + for( $n=1; $n<=$num; $n++ ) { + cutKey -cl -t ":" ( $boards[$n] +".v" ); + setKeyframe -t( $times[( $n-1 )]-1 ) -v 0 ( $boards[$n] +".v" ); + setKeyframe -t $times[( $n-1 )] -v 1 ( $boards[$n] +".v" ); + if( `objExists $boards[( $n+1 )]` ) setKeyframe -t $times[( $n+1 )] -v 0 ( $boards[$n] +".v" ); + } + } + else if( $pre && $post ) { + cutKey -cl -t ":" ( $boards[0] +".v" ); + setKeyframe -t $times[0] -v 1 ( $boards[0] +".v" ); + if( `objExists $boards[2]` ) setKeyframe -t $times[2] -v 0 ( $boards[0] +".v" ); + for( $n=1; $n<=$num; $n++ ) { + cutKey -cl -t ":" ( $boards[$n] +".v" ); + setKeyframe -t( $times[( $n-1 )]-1 ) -v 0 ( $boards[$n] +".v" ); + setKeyframe -t $times[( $n-1 )] -v 1 ( $boards[$n] +".v" ); + if( `objExists $boards[( $n+2 )]` ) setKeyframe -t $times[( $n+2 )] -v 0 ( $boards[$n] +".v" ); + } + } + } + + +//------ +//returns the time a board is set to +//------ +global proc int zooGetKeyTime( int $key ) { + if( $key < 0 ) return -1; + string $board = `zooGetBoardFromKey $key`; + int $time = `getAttr ( $board +".zooBoardTime" )`; + return $time; + } + + +global proc zooSetKeyTime( int $key, int $time ) { + string $board = `zooGetBoardFromKey $key`; + if( !`objExists ( $board +".zooBoardTime" )`) addAttr -ln "zooBoardTime" -at long $board; + + //build keys for the board + setAttr ( $board +".zooBoardTime" ) $time; + cutKey -cl -t ":" ( $board +".v" ); + setKeyframe -t( $time-1 ) -v 0 ( $board +".v" ); + setKeyframe -t $time -v 1 ( $board +".v" ); + } + + +//given a time this proc returns the temporally previous and next key +//returns { prev, next } +global proc int[] zooGetSurroundingKeys( int $time, int $keys[], int $times[] ) { + clear $keys; + clear $times; + zooGetUsedKeyData $keys {} $times; + int $prevKey = `zooFindCurrentKey $time`; + int $prevKeyTime = `zooGetKeyTime $prevKey`; + $keys = `zooOrderArrayUsing_int $keys $times`; + + int $idx = `zooGetIdxOfElement_int $keys $prevKey`; + int $nextKey = -1; + + if( $idx != -1 ) if( $idx ) if( $prevKeyTime == $time ) $prevKey = $keys[( $idx-1 )]; + if( `size $keys`>$idx+1 ) $nextKey = $keys[( $idx+1 )]; + return { $prevKey, $nextKey }; + } + + +//returns key, board and time data in a temporal order +global proc zooGetTimeOrderedKeyData( int $keys[], string $boards[], int $times[] ) { + string $boards[] = {}; + int $keys[] = {}; + int $times[] = {}; + + zooGetUsedKeyData $keys $boards $times; + $keys = `zooOrderArrayUsing_int $keys $times`; + $boards = `zooOrderArrayUsing_str $boards $times`; + $times = `sort $times`; + } + + +//------ +//takes an array variable - which gets filled with the board names - if this info +//is not needed, simply pass an empty array: zooListUsedKeys {}; +//------ +global proc zooGetUsedKeyData( int $keys[], string $boards[], int $times[] ) { + string $monkey = `zooGetGreaseMonkey 0`; + int $allKeys[] = `zooListKeys`; + + clear $boards; clear $keys; clear $times; + for( $key in $allKeys ) { + string $cons[] = `listConnections -d 0 ( $monkey +".zooBoard"+ $key )`; + if( `size $cons` ) { + $keys[( `size $keys` )] = $key; + $boards[( `size $boards` )] = $cons[0]; + $times[( `size $times` )] = `zooGetKeyTime $key`; + } + } + } + + +//------ +//this proc gets the next available key value - it tries to fill holes in the key +//list. So if you have 4 keys: 1, 2, 4, 5, then this proc will return 3 as the +//next available key +//------ +global proc int zooGetNextKeyIdx() { + int $keys[] = `zooListUsedKeys {}`; + int $num = `size $keys`; + + if( !$num ) return 0; + for( $n=1; $n<$num; $n++ ) if( $keys[( $n-1 )]+1 != $keys[$n] ) return( $keys[( $n-1 )]+1 ); + return( $keys[( $num-1 )]+1 ); + } + + +//------ +//takes an array variable - which gets filled with the board names - if this info +//is not needed, simply pass an empty array: zooListUsedKeys {}; +//------ +global proc int[] zooListUsedKeys( string $boards[] ) { + string $monkey = `zooGetGreaseMonkey 0`; + int $keys[] = `zooListKeys`; + int $usedKeys[] = {}; + + clear $boards; + for( $key in $keys ) { + string $cons[] = `listConnections -d 0 ( $monkey +".zooBoard"+ $key )`; + if( `size $cons` ) { + $usedKeys[( `size $usedKeys` )] = $key; + $boards[( `size $boards` )] = $cons[0]; + } + } + + return $usedKeys; + } + + +//------ +//each board is assigned an index - so they're easy to find and access later This +//proc lists all the keys currently in use +//------ +global proc int[] zooListKeys() { + string $monkey = `zooGetGreaseMonkey 0`; + string $eazel = `zooGetEazel 0`; + + if( !`objExists $monkey` ) return {}; + if( !`objExists $eazel` ) return {}; + string $attrs[] = `listAttr -ud $monkey`; + string $keyAttrs[] = {}; + int $keys[] = {}; + + for( $attr in $attrs ) if( `match "^zooBoard[0-9]+$" $attr` != "" ) $keyAttrs[( `size $keyAttrs` )] = $attr; + for( $n=0; $n<`size $keyAttrs`; $n++ ) $keys[$n] = `match "[0-9]+$" $keyAttrs[$n]`; + + return `sort $keys`; + } + + +global proc string zooGetBoardFromKey( int $key ) { + if( $key == -1 ) return ""; + string $monkey = `zooGetGreaseMonkey 1`; + string $cons[] = `listConnections -d 0 ( $monkey +".zooBoard"+ $key )`; + return $cons[0]; + } + + +//------ +//provides an easy way of placing objects in a camera view based on screen +//space instead of coordinates. this command takes the following flags: +// +// -obj [str] the object to place +// -resX [int] the x-resolution of the camera view - this is optional, and will default to whatever is set in the render globals if not specified +// -resY [int] same as the -resX flag but for the y-resolution +// -aspect [float] if you don't care what the image resolution is, simply specify the aspect ratio. this is useful for when you want to work to a screen space smaller than your render area +// -x [float] the x position to place the object at +// -y [float] the y position to place the object at +// -padding [float] the padding from the edge of the screen border +// +//the object is placed in the camera view that has the eazel attached to it +//------ +global proc zooPlaceInCameraSpace( string $optionStr ) { + string $temp[] = {}; + string $rGlobals = zooGetElement_str(0,`ls -type renderGlobals`); + string $resNode = zooGetElement_str(0,`listConnections -d 0 ( $rGlobals +".resolution" )`); + string $obj = ""; + string $camera = `zooQueryMonkeySee`; + float $xPercent = 0; + float $yPercent = 0; + float $padding = 0; + int $coordmode = 1; + int $resX = `getAttr ( $resNode+".width")`; + int $resY = `getAttr ( $resNode+".height")`; + + $temp = `zooGetFlagArguments $optionStr obj`; if( `size $temp` ) $obj = $temp[0]; + $temp = `zooGetFlagArguments $optionStr camera`; if( `size $temp` ) $camera = $temp[0]; + $temp = `zooGetFlagArguments $optionStr x`; if( `size $temp` ) $xPercent = $temp[0]; + $temp = `zooGetFlagArguments $optionStr y`; if( `size $temp` ) $yPercent = $temp[0]; + $temp = `zooGetFlagArguments $optionStr resX`; if( `size $temp` ) $resX = $temp[0]; + $temp = `zooGetFlagArguments $optionStr resY`; if( `size $temp` ) $resY = $temp[0]; + float $pixAspect = $resX/(float)$resY; + $temp = `zooGetFlagArguments $optionStr aspect`; if( `size $temp` ) $pixAspect = $temp[0]; + $temp = `zooGetFlagArguments $optionStr coordmode`; if( `size $temp` ) $coordmode = $temp[0]; + $temp = `zooGetFlagArguments $optionStr padding`; if( `size $temp` ) $padding = $temp[0]; + + if( !`objExists $obj` ) return; + if( !`objExists $camera` ) return; + string $eazel = `zooGetEazel 1`; + string $tempObj = `group -em`; + string $camShape = $camera; + int $unitScale = 1; + + if( `currentUnit -q -l` == "m" ) $unitScale = 100; + if( `nodeType $camShape` != "camera" ) $camShape = zooGetElement_str(0,`listRelatives -s $camera`); + if( `nodeType $camShape` != "camera" ) return; + parent -r $tempObj $eazel; + setAttr ( $tempObj +".tz" ) -2; + $xPercent += $padding*(($xPercent-0.5)/-0.5); + $yPercent += $padding*(($yPercent-0.5)/-0.5); + if( $coordmode == 1 ) { + $xPercent = ($xPercent*2)-1; + $yPercent = ($yPercent*2)-1; + } + $xPercent -= ( 0.5/$unitScale ); + $yPercent -= ( 0.5/$unitScale ); + $yPercent /= $pixAspect; + $yPercent *= -1; + setAttr ( $tempObj +".tx" ) ( $xPercent/$unitScale ); + setAttr ( $tempObj +".ty" ) ( $yPercent/$unitScale ); + float $pos[] = `xform -q -ws -rp $tempObj`; + delete $tempObj; + move -ws -a -rpr $pos[0] $pos[1] $pos[2] $obj; + } + + +//------ +//returns the name of the camera the eazel is constrained to +//------ +global proc string zooQueryMonkeySee() { + string $eazel = `zooGetEazel 0`; + if( !`objExists $eazel` ) return ""; + string $temp = `group -em`; + string $constraint[] = `parentConstraint $temp $eazel`; + + parentConstraint -rm $temp $eazel; + delete $temp; + + string $targets[] = {}; + if( `objExists $constraint[0]` ) $targets = `parentConstraint -q -tl $constraint[0]`; + return $targets[0]; + } + + +//------ +//sets up the eazel for the boards, attaches +//------ +global proc zooMonkeySee( string $camera ) { + string $eazel = `zooGetEazel 1`; + string $temp = `group -em`; + + //this ensures there are no parent constraints on the eazel already + delete `parentConstraint $temp $eazel` $temp; + + //delete any expressions on the scale attribute + string $conx[] = `listConnections -d 0 ( $eazel +".sx" )`; + for( $c in $conx ) if( `objExists $c` ) delete $c; + + //now check to see if the camera exists - now that we're sure we've cleaned up any old camera constraint/expressions + if( !`objExists $camera` ) return; + parentConstraint $camera $eazel; + string $units = `currentUnit -q -l`; + float $unitFactor = 1; + + //the below "magic numbers" are - 2.54 to convert inches to cm (aperture is in inches) and the 10 converts the local length from mm to cm + if( $units == "m" ) $unitFactor = 100; + string $cameraShape = zooGetElement_str(0,`listRelatives -s $camera`); + expression -s( "float $scaleFac = "+ $cameraShape +".cameraScale * "+ $cameraShape +".horizontalFilmAperture / "+ $cameraShape +".focalLength * "+ $cameraShape +".nearClipPlane * 2.54 * 10 * "+ $unitFactor +";\n"+ $eazel +".scaleX = $scaleFac;\n"+ $eazel +".scaleY = $scaleFac;\n"+ $eazel +".scaleZ = 1.001*"+ $cameraShape +".nearClipPlane;" ) -o $eazel -ae 0 -uc all; + } + + +//------ +//the board base is what the boards "rest on". The boards are parented to the boardBase, which is +//in turn parented to the eazel. We do this so we can use the eazel for other things, but still have +//a parent to control all the boards with +//------ +global proc string zooGetBoardBase( int $force ) { + string $monkey = `zooGetGreaseMonkey $force`; + string $eazel = `zooGetEazel $force`; + + if( !`objExists $eazel` ) return ""; + string $children[] = `listRelatives -pa -type transform $eazel`; + for( $child in $children ) { + string $bases[] = {}; + zooListRegistered $monkey boardBase {} $bases; + if( `size $bases` ) return `zooGetElement_str 0 $bases`; + } + string $eazelBase = `group -em`; + parent -r $eazelBase $eazel; + $eazelBase = `rename $eazelBase "zooBoardBase#"`; + zooRegisterObj $monkey boardBase $eazelBase 1 1; + setAttr ( $eazelBase +".overrideEnabled" ) 1; + setAttr ( $eazelBase +".overrideShading" ) 0; + return $eazelBase; + } + + +//------ +//the eazel is the thing that gets constrained to the camera, and is scaled so that all its children +//are always the same size when looking through that camera. So that means the scale and placement +//of the eazel is dependent on the clipping planes and the focal length of the camera +//------ +global proc string zooGetEazel( int $force ) { + string $monkey = `zooGetGreaseMonkey $force`; + if( !`objExists $monkey` ) return ""; + string $cons[] = `listConnections -d 0 -type transform ( $monkey +".zooEazel" )`; + if( `objExists $cons[0]` ) return $cons[0]; + string $eazel = `group -em`; + $eazel = `rename $eazel "zooEazel"`; + //addAttr -at message -ln zooEazelCamera $eazel; + connectAttr -f ( $eazel +".message" ) ( $monkey +".zooEazel" ); + zooMonkeySee persp; + return $eazel; + } + + +//------ +//gets the name of the grease monkey node lurking on the scene - if no grease monkey +//exists, then this proc returns an empty string. If the force variable is true, then +//if no grease monkey exists, a new one is created +//------ +global proc string zooGetGreaseMonkey( int $force ) { + string $times[] = `ls -type time`; + for( $t in $times ) if( `objExists ( $t +".zooGreaseMonkey" )`) return $t; + if( $force ) return `zooTrainGreaseMonkey`; + return ""; + } + + +//------ +//the grease monkey keeps track of all the boards and which camera they belong to +//------ +global proc string zooTrainGreaseMonkey() { + string $node = `createNode time`; + $node = `rename $node "zooGreaseMonkey"`; + addAttr -at message -ln zooGreaseMonkey $node; + addAttr -at message -ln zooEazel $node; + return $node; + } + + +global proc int zooGetDefaultMonkeySettings( string $setting ) { + int $exists = `optionVar -ex $setting`; + if( $exists ) return `optionVar -q $setting`; + switch( $setting ) { + case "zooGreasePre": return 1; + case "zooGreasePost": return 0; + } + } + + +//------ +//returns whether the scriptJob is loaded or not +//------ +global proc int zooMonkeyState() { + global int $zooGreaseMonkey; + if( $zooGreaseMonkey && `scriptJob -ex $zooGreaseMonkey` ) return 1; + return 0; + } + + +//------ +//unloads the triggered scriptJob +//------ +global proc zooUnloadMonkey() { + global int $zooGreaseMonkey; + if( !$zooGreaseMonkey ) return; + if( `scriptJob -ex $zooGreaseMonkey` ) { + scriptJob -k $zooGreaseMonkey; + $zooGreaseMonkey = 0; + makeLive -n; + setToolTo selectSuperContext; + } + } + + +//------ +//loads the script job that deals with running the current selection through the trigger filter +//command: zooTriggerSelection +//------ +global proc zooLoadMonkey() { + global int $zooGreaseMonkey; + if( !$zooGreaseMonkey ) { + $zooGreaseMonkey = `scriptJob -cu 1 -e "timeChanged" ( "zooBuildMonkeyBoards `currentTime -q`;" )`; + zooBuildMonkeyBoards `currentTime -q`; + } + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooGreaseMonkey_help.zooHelp b/2009-x64/zooScripts/scripts/zooGreaseMonkey_help.zooHelp new file mode 100644 index 0000000..fce4788 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooGreaseMonkey_help.zooHelp @@ -0,0 +1,13 @@ +zooGreaseMonkey is a bit of a copy of the js_greasePencil tool by the famous mr Schleifer. It is a copy not for copy's sake, but because I was never able to get his greasePencil tool to work out for me at work (worked fine at home). Plus there were little improvements I always wanted to make - but I can never find the patience to trawl through someone else's code. + +Hence zooGreaseMonkey was born. And what a cute little monkey he is. + +So anyway - how to use it. First, open up the UI by running zooGreaseMonkey. This will open up the UI. Then start adding boards. Boards are the frames that you draw on. You will see a new board get added to the UI. From here you can change the timing of the board, and even give it a name if you want. It sometimes helps a lot when you name your boards sensibly. + +Now this will create a board out in space. So now we want to attach it to a camera. Simply select the camera you want to use and press the button labelled "use selected cam". This should load the camera up into the UI and all the boards you've created will snap to the camera you specified. You can change the camera around whenever you feel like it. + +You can also right click on either the "use selected camera" button or the area beside it to change the camera. + +Finally, to put the tool into drawing mode, click the button that says press to load. When the script is loaded it will automatically make the current board active when you scrub the timeline. When you're done drawing and want to go back to editing the scene, simply hit the button again to unload. + +Loading the script only makes it set the current board to be drawable. diff --git a/2009-x64/zooScripts/scripts/zooHUDCtrl.mel b/2009-x64/zooScripts/scripts/zooHUDCtrl.mel new file mode 100644 index 0000000..876893e --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHUDCtrl.mel @@ -0,0 +1,410 @@ +global int $zooHUDLargeFont = 0; +zooArrays_str; +zooDates; +zooUtils; + + +global proc zooHUDCtrl() { + global int $zooHUDLargeFont; + string $windowName = "zooHUDCtrlWindow"; + string $windowTitle = "zooHUDCtrl v"+ `zooHUDCtrlInfo version` +" ::macaroniKazoo::"; + string $grey = "0.831 0.816 0.784"; + string $ports[] = `zooHUDGetPorts`; + + if ( `window -exists $windowName` ) deleteUI $windowName; + window -t $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 296 -height 100 $windowName; + scriptJob -p $windowName -e "SceneOpened" "zooHUDState 1;"; + menuBarLayout; + menu -l "Functions"; + menuItem -l "Display All" -c( "zooHUDState 1;" ); + menuItem -l "Remove All" -c( "zooHUDState 0;" ); + menuItem -d 1; + menuItem -l "Select Node" -c( "zooGetHUDNode 0;" ); + menuItem -d 1; + menuItem -l "Large Fonts" -cb $zooHUDLargeFont -c "$zooHUDLargeFont = #1; zooHUDState 1;"; + menuItem -l "Build Widescreen Mask..." -sm 1; + menuItem -l "1.333 4/3" -c "zooAddCameraMask `zooGetMasterShot` 1.333;"; + menuItem -l "1.556 14/9" -c "zooAddCameraMask `zooGetMasterShot` (14.0/9);"; + menuItem -l "1.778 16/9" -c "zooAddCameraMask `zooGetMasterShot` (16.0/9);"; + menuItem -l "1.85 academy" -c "zooAddCameraMask `zooGetMasterShot` 1.85;"; + menuItem -l "2.35 anamorphic" -c "zooAddCameraMask `zooGetMasterShot` 2.35;"; + menuItem -d 1; + menuItem -l "Other" -c( "{string $a=`promptDialog -m \"enter aspect ratio\" -b Create -b Cancel`; if( $a != \"Cancel\" ) zooAddCameraMask `zooGetMasterShot` `promptDialog -q -text`;}"); + setParent -m ..; + menu -l "Help"; + menuItem -l "Help..." -c ( "zooHelp zooHUDCtrl 1;" ); + menuItem -d 1; + menuItem -l "About" -c ( "zooHelp zooHUDCtrl 2;" ); + + string $form = `formLayout`; + string $buttons = `rowColumnLayout -numberOfColumns 2 + -columnWidth 1 35 + -columnWidth 2 35 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1`; + for( $port in $ports ) button -height 35 -l "" -bgc 0.831 0.816 0.784 -c( "textScrollList -e -docTag \""+ $port +"\" zooHUDCtrlScrollHUDType; zooHUDCtrlWindowFunctions update" ) ( "zooHUDCtrlButton"+ $port ); + setParent ..; + + textScrollList -numberOfRows 5 -docTag $ports[0] -allowMultiSelection 0 -sc( "zooHUDCtrlWindowFunctions changeType" ) zooHUDCtrlScrollHUDType; + textField -text "" -cc( "zooHUDCtrlWindowFunctions changeData" ) zooHUDCtrlTextCustom; + + string $image = `image -width 270 -height 8 -bgc ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + setParent ..; + + formLayout -e + -af $buttons "top" 0 + -an $buttons "left" + -an $buttons "right" + -an $buttons "bottom" + + -af zooHUDCtrlScrollHUDType "top" 0 + -ac zooHUDCtrlScrollHUDType "left" 0 $buttons + -af zooHUDCtrlScrollHUDType "right" 0 + -ac zooHUDCtrlScrollHUDType "bottom" 0 zooHUDCtrlTextCustom + + -an zooHUDCtrlTextCustom "top" + -af zooHUDCtrlTextCustom "left" 0 + -af zooHUDCtrlTextCustom "right" 0 + -ac zooHUDCtrlTextCustom "bottom" 0 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $form; + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + + //some of the HUD options are only enabled if certain conditions are met - establish those conditions here + int $enableCurrentShot = 0; + + //now populate the HUD display list + string $types[] = { + "frameInfo", + "currentLens", + "customText", + "sceneName", + "attribute", + "datetime", + "melCmd", + "userInfo" + }; + if( $enableCurrentShot ) $types[( `size $types` )] = "currentShot"; + for( $type in $types ) textScrollList -e -a $type zooHUDCtrlScrollHUDType; + textScrollList -e -a "none" zooHUDCtrlScrollHUDType; + + showWindow $windowName; + zooHUDCtrlWindowFunctions update; + } + + +global proc string[] zooHUDGetPorts() { + return { "01", "41", "51", "91" }; + } + + +global proc zooHUDCtrlWindowFunctions( string $function ){ + string $nodeName = `zooGetHUDNode 1`; + string $location = `textScrollList -q -docTag zooHUDCtrlScrollHUDType`; + int $section = `substring $location 1 1`; + int $block = `substring $location 2 2`; + + switch( $function ){ + case "update": + string $type = `zooGetBlockType $nodeName $section $block`; + string $dataStr = `zooGetBlockData $nodeName $section $block`; + string $infoPorts[] = `zooHUDGetPorts`; + float $off[] = {0.831, 0.816, 0.784}; + float $on[] = {0.0, 1.0, 0.0}; + float $used[] = {0.4, 0.5, 0.7}; + + //change the colour state for all ports. grey is nothing, yellow is unselected with command, green is selected. + for( $port in $infoPorts ) { + int $sec = `substring $port 1 1`; + int $blk = `substring $port 2 2`; + string $type = `zooGetBlockType $nodeName $sec $blk`; + + if( $type != "" ) button -e -height 35 -l "o" -bgc $used[0] $used[1] $used[2] ( "zooHUDCtrlButton"+ $port ); + else button -e -height 35 -l "" -bgc $off[0] $off[1] $off[2] ( "zooHUDCtrlButton"+ $port ); + } + + //now turn the selected port button green + string $lbl = "<->"; + if( $type != "" ) $lbl = ""; + button -e -height 35 -l $lbl -bgc $on[0] $on[1] $on[2] ( "zooHUDCtrlButton"+ $section + $block ); + + for( $port in $infoPorts ) { + button -e -vis 0 ( "zooHUDCtrlButton"+ $port ); + button -e -vis 1 ( "zooHUDCtrlButton"+ $port ); + } + + if( $type == "" ) $type = "none"; + textScrollList -e -si $type zooHUDCtrlScrollHUDType; + textScrollList -e -docTag ( $section +""+ $block ) zooHUDCtrlScrollHUDType; + + textField -e -tx $dataStr zooHUDCtrlTextCustom; + break; + + case "changeType": + string $selectedItem[] = `textScrollList -q -si zooHUDCtrlScrollHUDType`; + string $type = $selectedItem[0]; + + if( $type == "none" ) $type = ""; + zooSetBlockType $nodeName $section $block $type; + zooHUDCtrlWindowFunctions update; + zooHUDCtrlViews $nodeName $section $block; //update the relevant section + break; + + case "changeData": + string $dataStr = `textField -q -tx zooHUDCtrlTextCustom`; + + zooSetBlockData $nodeName $section $block $dataStr; + zooHUDCtrlViews $nodeName $section $block; + break; + } + } + + +//used to set and query the current state of the HUD display +//usage: +//int $state = `zooHUDState -1`; // <-queries the current state +global proc int zooHUDState( int $state ) { + string $HUDs[] = `zooHUDGetPorts`; + switch( $state ) { + case 1: + string $nodeName = `zooGetHUDNode 1`; + for( $HUD in $HUDs ) { + int $b = `substring $HUD 1 1`; + int $s = `substring $HUD 2 2`; + zooHUDCtrlViews $nodeName $b $s; + } + return 1; + + case 0: + for( $HUD in $HUDs ) if( `headsUpDisplay -ex ("zooHUDCtrl"+ $HUD)`) headsUpDisplay -rem ("zooHUDCtrl"+ $HUD); + return 0; + + default: + for( $HUD in $HUDs ) if( `headsUpDisplay -ex ("zooHUDCtrl"+ $HUD)` ) return 1; + return 0; + } + + return 0; + } + + +global proc zooHUDCtrlViews( string $nodeName, int $section, int $block ){ + global int $zooHUDLargeFont; + string $fontSize = "small"; + if( $zooHUDLargeFont ) $fontSize = "large"; + string $cmd = "headsUpDisplay -dfs "+ $fontSize +" -lfs "+ $fontSize +" -section "+ $section +" -block "+ $block +" "; + string $type = `zooGetBlockType $nodeName $section $block`; + string $dataStr = `zooGetBlockData $nodeName $section $block`; + + headsUpDisplay -rp $section $block; + switch( $type ){ + default: + return; + + case "frameInfo": + $cmd = $cmd +"-label \"\" -c \"zooWriteHUDString frameInfo n\" -atr zooHUDCtrl"+ $section + $block; + break; + + case "currentLens": + string $buffer[] = {}; + tokenize $dataStr "." $buffer; + $cmd = $cmd +"-label \"\" -c \"zooWriteHUDString currentLens n\" -atr zooHUDCtrl"+ $section + $block; + break; + + case "currentShot": + string $buffer[] = {}; + tokenize $dataStr "." $buffer; + $cmd = $cmd +"-label \"\" -c \"zooWriteHUDString currentShot n\" -atr zooHUDCtrl"+ $section + $block; + break; + + case "customText": + $cmd = $cmd +"-label \"\" -c \"zooGetBlockData "+ $nodeName +" "+ $section +" "+ $block +"\" zooHUDCtrl"+ $section + $block; + break; + + case "sceneName": + string $file = `file -q -sn`; + if( !`filetest r $file` ) $cmd = $cmd +"-label \"*scene not saved*\" -c \"\" zooHUDCtrl"+ $section + $block; + else $cmd = $cmd +"-label \"\" -c \"file -q -sn\" zooHUDCtrl"+ $section + $block; + break; + + case "attribute": + $cmd = $cmd +"-l \"\" -dp 3 -c \"zooWriteHUDString attribute \\\""+ $dataStr +"\\\"\" -atr zooHUDCtrl"+ $section + $block; + break; + + case "datetime": + $cmd = $cmd +"-l \"\" -dp 3 -c \"zooWriteHUDString datetime \\\""+ $dataStr +"\\\"\" -atr zooHUDCtrl"+ $section + $block; + break; + + case "melCmd": + $cmd = $cmd +"-l \"\" -dp 3 -c \"zooWriteHUDString melCmd \\\""+ $dataStr +"\\\"\" -atr zooHUDCtrl"+ $section + $block; + break; + + case "userInfo": + $cmd = $cmd +"-l \"\" -dp 3 -c \"zooWriteHUDString userInfo \\\"\\\"\" -atr zooHUDCtrl"+ $section + $block; + break; + } + + eval $cmd; + } + + +global proc string zooWriteHUDString( string $type, string $data ) { + switch( $type ){ + case "null": + return ""; + break; + + case "frameInfo": + int $frameRate = `zooGetTimebaseAsInt`; + int $start = `playbackOptions -q -min`; + int $curTime = `currentTime -q`; + string $curFrame = `zooPadBefore_str $curTime 4 0`; + string $relFrame = `zooPadBefore_str ($curTime-$start) 4 0`; + + return( "frame: "+ $relFrame +" ("+ $curFrame +") timebase: "+ $frameRate ); + break; + + case "currentLens": + string $currentView = `modelPanel -q -cam (getPanel("-wf"))`; + string $buffer[] = {}; + + tokenize $data "." $buffer; + return( "lens: "+ ((int)`getAttr ( $currentView +".focalLength" )`) +"mm shutter: "+ `getAttr ( $currentView +".shutterAngle" )` ); + break; + + case "currentShot": + int $shot = zooMapShotsToSlots(`zooGetCurrentShot`)+1; + return( "shot: "+ $shot +" cam: "+ `zooGetShotCamera (zooGetCurrentShot())` ); + break; + + case "attribute": + if( !`objExists $data` ) return "*no attr defined*"; + string $val = `getAttr $data`; + string $buf[] = {}; + + tokenize $val "." $buf; + if( `size $buf`>1 ) $buf[1] = `zooPadAfter_str $buf[1] 3 0`; + else $buf[1] = "000"; + $val = $buf[0] +"."+ $buf[1]; + return( $data +": "+ $val ); + break; + + case "datetime": + string $day = zooGetDay_str(`about -cd`); + string $dtStr = `about -ct` +" on "+ $day +" "+ `about -cd`; + return $dtStr; + break; + + case "melCmd": + string $result = `eval $data`; + return $result; + break; + + case "userInfo": + string $result = `getenv USER` +" "+ `about -cd`; + return $result; + break; + } + + return ""; + } + + +global proc int zooGetTimebaseAsInt() { + string $temp = `currentUnit -q -f -t`; + switch( $temp ) { + case "game": return 15; + case "film": return 24; + case "pal": return 25; + case "ntsc": return 30; + case "show": return 48; + case "palf": return 50; + case "ntscf": return 60; + } + + return -1; + } + + +global proc string zooGetBlockType( string $node, int $section, int $block ) { + if( !`objExists ( $node +".zooHUDType"+ $section + $block )`) return ""; + return `getAttr ( $node +".zooHUDType"+ $section + $block )`; + } + + +global proc zooSetBlockType( string $node, int $section, int $block, string $type ) { + if( !`objExists ( $node +".zooHUDType"+ $section + $block )`) addAttr -ln( "zooHUDType"+ $section + $block ) -dt "string" $node; + setAttr -type "string" ( $node +".zooHUDType"+ $section + $block ) $type; + if( $type == "" ) deleteAttr ( $node +".zooHUDType"+ $section + $block ); + } + + +global proc string zooGetBlockData( string $node, int $section, int $block ) { + if( !`objExists ( $node +".zooHUDData"+ $section + $block )`) return ""; + return `getAttr ( $node +".zooHUDData"+ $section + $block )`; + } + + +global proc zooSetBlockData( string $node, int $section, int $block, string $data ) { + if( !`objExists ( $node +".zooHUDData"+ $section + $block )`) addAttr -ln( "zooHUDData"+ $section + $block ) -dt "string" $node; + setAttr -type "string" ( $node +".zooHUDData"+ $section + $block ) $data; + if( $data == "" ) deleteAttr ( $node +".zooHUDData"+ $section + $block ); + } + + +global proc string zooHUDCtrlExists() { + string $timeNodes[] = `ls -type time`; + int $doesHUDCtrlExist = 0; + for( $node in $timeNodes ) if( `objExists ( $node +".zooHUDCtrl" )` ) return $node; + + return ""; + } + + +global proc string zooGetHUDNode( int $force ) { + string $node = `zooHUDCtrlExists`; + if( `objExists $node` ) return $node; + if( !$force ) return ""; + + $node = `createNode time`; + $node = `rename $node "zooHUDCtrl"`; + addAttr -ln zooHUDCtrl -at bool $node; + + return $node; + } + + +//return versioning information +global proc string zooHUDCtrlInfo ( string $function ) { + string $creationDate = "03 August 2003"; + string $lastRevision = "25 November 2003"; + string $version = "6.6.21"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "modified" ) return $lastRevision; + if ( $function == "version" ) return $version; + return ""; + } + + +//these dependencies allow the zooZipScript to package this script easily for distribution +global proc string[] zooHUDCtrlDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAddCameraMask"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooHeavy.mel b/2009-x64/zooScripts/scripts/zooHeavy.mel new file mode 100644 index 0000000..9a9eba6 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHeavy.mel @@ -0,0 +1,121 @@ +zooHeavyUtils; +zooTips; +zooUtils; +zooSurgeonUtils; + + +global proc zooHeavy() { + string $windowName = "zooHeavyUI"; + string $windowTitle = "zooHeavy v1.06.11 ::macaroniKazoo::"; + int $showTips = `zooTipState zooHeavy -1`; + + if( `window -ex $windowName` ) return; + window -title $windowTitle -rtf 1 -maximizeButton 0 -sizeable 1 -wh 300 165 $windowName; + menuBarLayout; + menu -label "Utils"; + menuItem -l "Weights to Other" -ann "select the source joint, and then the target joint. this will transfer all the weight from the source to the target joint" -c( "{string $sel[] = `ls -type transform -sl`; string $last = `zooGetElement_str -1 $sel`; if( `size $sel`>1 ) for( $n=0; $n<`size $sel`-1; $n++ ) zooWeightsToOther $sel[$n] (\"-other \"+ $last);}" ); + menuItem -d 1; + menuItem -l "Weights to Parent" -ann "transfer weights from all selected joints to their respective parents" -c( "{string $sel[] = `ls -type transform -sl`; for( $s in $sel ) zooWeightsToOther $s \"\";}" ); + menuItem -l "Weights to Parent on ALL" -ann "this will transfer weight from all joints named zooWeight_holder_* to their respective parent joints" -c( "zooAllWeightsToParents;" ); + menuItem -d 1; + menuItem -l "Select Joints in Stored Weights" -c( "{string $sel[] = `ls -sl -tr`; string $toSel[] = {}; for( $a in $sel ) { string $existing[] = {}; zooGetJointsFromStored $a {} $existing {} {}; $toSel = `zooAddArray_str $toSel $existing`; } if( size(`ls -hl`)) zooGetJointsFromStoredVerts `ls -sl` {} $toSel {} {}; select $toSel; }" ); + menuItem -l "Select Joints Used by Skin" -c( "{string $sel[] = `ls -o -sl`; select -cl; for( $s in $sel ) select -add `skinCluster -q -inf (findRelatedSkinCluster($s))`;}" ); + menuItem -l "Select Verts Affected by Joints" -ann "selects the verticies affected by the selected joints" -c( "zooSurgeonUtils; { string $verts[] = {}; for( $s in `ls -type transform -sl` ) { string $temp[] = {}; zooGetJointVerts $s 0.0000000000001 {} {} $temp {} {}; $verts = `zooAddArray_str $verts $temp`;} select $verts; }" ); + menu -label "Help"; + menuItem -l "Help..." -c ( "zooHelp zooHeavy 1;" ); + menuItem -l "Show Tips Window" -c ( "zooTipsWin zooHeavy -1;" ); + menuItem -d 1; + menuItem -l "Setup Heavy Marking Menu" -c ( "zooHotkeyer heavyMM \"zooHeavyMenu;\" \"zooHeavyKillUI;\" \"-enableMods 0 -ann the zooHeavy marking menu to make interacting with the heavy weighting tools more streamlined -default h\";" ); + + string $form = `formLayout`; + string $tslJ = `textScrollList -ams 1 zooHeavyTSLJoints`; + string $tslV = `textScrollList -ams 1 zooHeavyTSLVerts`; + string $go = `button -l "lerp" -c( "zooHeavyFunctions -lerp;" )`; + + textScrollList -e -dcc( "{select -cl; for( $a in `textScrollList -q -si "+ $tslJ +"` ) if( `objExists $a` ) select -add $a;}" ) $tslJ; + textScrollList -e -dcc( "{select -cl; for( $a in `textScrollList -q -si "+ $tslV +"` ) if( `objExists $a` ) select -add $a;}" ) $tslV; + + popupMenu -p $tslJ -pmc( "zooHeavyPopupJointTSL zooHeavyPopupTSLJPup" ) zooHeavyPopupTSLJPup; + popupMenu -p $tslV -pmc( "zooHeavyPopupVertTSL zooHeavyPopupTSLVPup" ) zooHeavyPopupTSLVPup; + + formLayout -e + -af $tslJ "top" 0 + -af $tslJ "left" 0 + -ap $tslJ "right" 1 50 + -ac $tslJ "bottom" 2 $go + + -af $tslV "top" 0 + -ap $tslV "left" 1 50 + -af $tslV "right" 0 + -ac $tslV "bottom" 2 $go + + -af $go "left" 0 + -af $go "right" 0 + -af $go "bottom" 0 + $form; + + showWindow $windowName; + window -e -wh 300 165 $windowName; + if( $showTips ) zooTipsWin zooHeavy 0; + } + + +global proc zooHeavyFunctions( string $function ) { + string $tslJName = "zooHeavyTSLJoints"; + string $tslVName = "zooHeavyTSLVerts"; + + switch( $function ) { + case "-lerp": + string $joints[] = `textScrollList -q -ai $tslJName`; + string $verts[] = `textScrollList -q -ai $tslVName`; + + if( !`size $joints` ) $joints = `ls -type joint -sl`; + if( !`size $verts` ) $verts = `ls -fl -sl`; + zooLerpWeights $joints $verts; + break; + } + } + + +global proc zooHeavyPopupJointTSL( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + string $tslName = "zooHeavyTSLJoints"; + string $selJ[] = `ls -sl -type transform`; + int $en = `size $selJ`; + + menuItem -en $en -l "add joints to list" -c( "{for( $a in `ls -type transform -sl`) textScrollList -e -a $a "+ $tslName +";}" ); + menuItem -en $en -l "replace joints with selected" -c( "{textScrollList -e -ra "+ $tslName +"; for( $a in `ls -type transform -sl`) textScrollList -e -a $a "+ $tslName +";}" ); + menuItem -l "remove highlighted" -c( "{for( $a in `textScrollList -q -si "+ $tslName +"`) textScrollList -e -ri $a "+ $tslName +";}" ); + menuItem -d 1; + menuItem -l "select highlighted" -c( "{select -cl; for( $a in `textScrollList -q -si "+ $tslName +"` ) if( `objExists $a` ) select -add $a;}" ); + menuItem -l "select all" -c( "{select -cl; for( $a in `textScrollList -q -ai "+ $tslName +"` ) if( `objExists $a` ) select -add $a;}" ); + menuItem -l "highlight none" -c( "textScrollList -e -da "+ $tslName +";" ); + menuItem -d 1; + menuItem -l "clear all" -c( "textScrollList -e -ra "+ $tslName +";" ); + } + + +global proc zooHeavyPopupVertTSL( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + string $tslName = "zooHeavyTSLVerts"; + string $verts[] = zooFilterComponent(`ls -sl`,"vtx"); + int $en = `size $verts`; + + menuItem -en $en -l "add verts to list" -c( "{for( $a in zooFilterComponent(`ls -fl -sl`,\"vtx\")) textScrollList -e -a $a "+ $tslName +";}" ); + menuItem -en $en -l "replace verts with selected" -c( "{textScrollList -e -ra "+ $tslName +"; for( $a in zooFilterComponent(`ls -fl -sl`,\"vtx\")) textScrollList -e -a $a "+ $tslName +";}" ); + menuItem -l "remove highlighted" -c( "{for( $a in `textScrollList -q -si "+ $tslName +"`) textScrollList -e -ri $a "+ $tslName +";}" ); + menuItem -d 1; + menuItem -l "select highlighted" -c( "{select -cl; for( $a in `textScrollList -q -si "+ $tslName +"` ) if( `objExists $a` ) select -add $a;}" ); + menuItem -l "select all" -c( "{select -cl; for( $a in `textScrollList -q -ai "+ $tslName +"` ) if( `objExists $a` ) select -add $a;}" ); + menuItem -l "highlight none" -c( "textScrollList -e -da "+ $tslName +";" ); + menuItem -d 1; + menuItem -l "clear all" -c( "textScrollList -e -ra "+ $tslName +";" ); + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooHeavyDependencies.mel b/2009-x64/zooScripts/scripts/zooHeavyDependencies.mel new file mode 100644 index 0000000..e043be4 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHeavyDependencies.mel @@ -0,0 +1,21 @@ +global proc string[] zooHeavyDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooHeavyUtils"; + $melDependencies[( `size $melDependencies` )] = "zooHeavyMenu"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTips"; + $melDependencies[( `size $melDependencies` )] = "zooVectors"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooHeavy.xpm"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-docs" ) return $helpDependencies; + return {}; + } diff --git a/2009-x64/zooScripts/scripts/zooHeavyMenu.mel b/2009-x64/zooScripts/scripts/zooHeavyMenu.mel new file mode 100644 index 0000000..db9e33c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHeavyMenu.mel @@ -0,0 +1,73 @@ +zooHeavyUtils; +zooUtils; + + +global proc zooHeavyMenu() { + string $panel = `getPanel -up`; + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !`control -ex $panel` ) $panel = "viewPanes"; + popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p $panel -pmc "zooHeavyBuildUI" tempMM; + } + + +global proc zooHeavyBuildUI() { + setParent -m tempMM; + menu -e -dai tempMM; + + string $sel[] = `ls -sl -type transform`; + string $verts[] = zooFilterComponent(`ls -sl`,"vtx"); + string $tslJName = "zooHeavyTSLJoints"; + string $tslVName = "zooHeavyTSLVerts"; + int $enableUIItems = `control -ex $tslJName`; + + menuItem -en( `size $sel` ) -l "add joints" -c( "zooHeavy;{for( $a in `ls -type transform -sl`) textScrollList -e -a $a "+ $tslJName +";}" ) -rp NW; + menuItem -en( `size $sel` ) -l "replace joints" -c( "zooHeavy;{textScrollList -e -ra "+ $tslJName +"; for( $a in `ls -type transform -sl`) textScrollList -e -a $a "+ $tslJName +";}" ) -rp W; + menuItem -en( $enableUIItems && size(`textScrollList -q -ai $tslJName`)) -l "clear joints" -c( "zooHeavy;textScrollList -e -ra "+ $tslJName +";" ) -rp SW; + + menuItem -en( `size $verts` ) -l "add verts" -c( "zooHeavy;{for( $a in `ls -fl -sl`) textScrollList -e -a $a "+ $tslVName +";}" ) -rp NE; + menuItem -en( `size $verts` ) -l "replace verts" -c( "zooHeavy;{textScrollList -e -ra "+ $tslVName +"; for( $a in `ls -fl -sl`) textScrollList -e -a $a "+ $tslVName +";}" ) -rp E; + menuItem -en( $enableUIItems && size(`textScrollList -q -ai $tslVName`)) -l "clear verts" -c( "zooHeavy;textScrollList -e -ra "+ $tslVName +";" ) -rp SE; + + menuItem -en( `size $sel` ) -l "weights to parent" -ann "transfers weights on all selected joints to their respective parents" -c( "{string $sel[] = `ls -type transform -sl`; for( $s in $sel ) zooWeightsToOther $s \"\";}" ) -rp N; + menuItem -l "lerp weights" -c( "zooHeavy; zooHeavyFunctions -lerp;" ) -rp S; + + menuItem -l "create temp joint" -c( "zooCreateTempJoint;" ); + menuItem -d 1; + menuItem -l "weights to other" -ann "select the source joint, and then the target joint. this will transfer all the weight from the source to the target joint" -c( "{string $sel[] = `ls -type transform -sl`; string $last = `zooGetElement_str -1 $sel`; if( `size $sel`>1 ) for( $n=0; $n<`size $sel`-1; $n++ ) zooWeightsToOther $sel[$n] (\"-other \"+ $last);}" ); + menuItem -d 1; + menuItem -en( $enableUIItems && size(`textScrollList -q -ai $tslJName`)) -l "select joints" -c( "{select -cl; for( $a in `textScrollList -q -ai "+ $tslJName +"` ) if( `objExists $a` ) select -add $a;}" ); + menuItem -en( $enableUIItems && size(`textScrollList -q -ai $tslVName`)) -l "select verts" -c( "{select -cl; for( $a in `textScrollList -q -ai "+ $tslVName +"` ) if( `objExists $a` ) select -add $a;}" ); + menuItem -l "select verts affected by joints" -ann "selects the verticies affected by the selected joints - or the joints loaded in the heavy UI" -c( "zooSurgeonUtils; { string $verts[] = {}; string $js[] = `ls -type transform -sl`; if( "+ ( $enableUIItems && size(`textScrollList -q -ai $tslJName`)) +") $js = `textScrollList -q -ai "+ $tslJName +"`; for( $s in $js ) { string $temp[] = {}; zooGetJointVerts $s 0.0000000000001 {} {} $temp {} {}; $verts = `zooAddArray_str $verts $temp`;} select $verts; }" ); + menuItem -d 1; + menuItem -l "store weights" -ann "store weights on the selected meshes/verticies using zooWeightSave" -c( "{zooHeavyUtils; string $selObjs[] = `ls -sl -tr`; for( $a in $selObjs ) zooWeightStore $a; if( size(`ls -hl`)) zooWeightStoreVerts `ls -sl`;}" ); + menuItem -ob 1 -c( "zooWeightSave;" ); + menuItem -l "restore weights" -ann "restores weights on the selected meshes/verticies using zooWeightSave" -c( "{zooHeavyUtils; string $selObjs[] = `ls -sl -tr`; for( $a in $selObjs ) zooWeightRestore $a; if( size(`ls -hl`)) zooWeightRestoreVerts `ls -sl`;}" ); + menuItem -ob 1 -c( "zooWeightSave;" ); + } + + +global proc zooHeavyKillUI() { + deleteUI tempMM; + } + + +global proc string zooCreateTempJoint(){ + string $sel[] = `ls -sl -o`; + makeLive -n; + for( $n=0; $n<`size $sel`; $n++ ) makeLive $sel[$n]; + + select -cl; + string $j = `joint`; + float $pos[] = `autoPlace -useMouse`; + + $j = `rename $j "zoo_temp_weighting_joint#"`; + for( $n=0; $n<3; $n++ ) $pos[$n] /= 100.0; + move -a -ws -rpr $pos[0] $pos[1] $pos[2] $j; + makeLive -n; + + return $j; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooHeavyTips.txt b/2009-x64/zooScripts/scripts/zooHeavyTips.txt new file mode 100644 index 0000000..ac9f683 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHeavyTips.txt @@ -0,0 +1,5 @@ +zooHeavy is a super fast tool for linearly interpolating weights between multiple joints - its highly recommended that you setup the zooHeavy marking menu to use this tool, but its not required||to setup the marking menu, go to the "Help" menu +to start with, simply select the joints you want to interpolate between, and right click in the left hand side of the window (or use the marking menu to load joints).||then select the verts you want to weight and press the "lerp" button. and thats it +the UI lets you load up either joints, verts, or both. If both are loaded, then the selection is ignored. If only joints are loaded, it assumes verts are selected and lerps weights for them.||Similarly if only verts are loaded, it assumes only joints are selected and lerps the loaded verts between the selected joints +zooHeavy also contains another super useful feature - weight transferring. by selecting a source joint, and then a target joint and going to "Utils->Weights To Other", the script transfers ALL weighting from the source joint to the target joint +you can use the "Weights To Parent" function to transfer a joint's weighting to its parent joint without selecting the parent. This can be useful by placing "temp" joints on your mesh, weighting to the temp joint, parenting the joint to another, and then transferring weights to parent. diff --git a/2009-x64/zooScripts/scripts/zooHeavyUtils.mel b/2009-x64/zooScripts/scripts/zooHeavyUtils.mel new file mode 100644 index 0000000..0436727 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHeavyUtils.mel @@ -0,0 +1,127 @@ +zooArrays_float; +zooArrays_str; +zooFlags; +zooUtils; +zooVectors; +zooSurgeonUtils; + + +global proc zooHeavyUtils() { + return; + } + + +global proc zooLerpWeights( string $joints[], string $verts[] ) { + string $obj = `match "^[^.]+" $verts[0]`; + string $cluster = `findRelatedSkinCluster $obj`; + float $jPosX[] = {}; + float $jPosY[] = {}; + float $jPosZ[] = {}; + int $numJ = `size $joints`; + int $numV = `size $verts`; + + if( !`objExists $obj` ) { warning "can't dermine the object to work on!"; return; } + if( !`objExists $cluster` ) { warning "can't find a skin cluster to work on!"; return; } + + //make sure both joints are actually in the skin cluster - if not, add them + string $inf[] = `skinCluster -q -inf $cluster`; + for( $n=0; $n<`size $joints`; $n++ ) { + int $idx = `zooGetIdxOfElement_str $inf $joints[$n]`; + if( $idx == -1 ) skinCluster -e -ai $joints[$n] -wt 0 $cluster; + } + + for( $j=0; $j<$numJ; $j++ ) { + float $pos[] = `xform -q -ws -rp $joints[$j]`; + $jPosX[$j] = $pos[0]; + $jPosY[$j] = $pos[1]; + $jPosZ[$j] = $pos[2]; + } + for( $v=0; $v<$numV; $v++ ) { + float $pos[] = `pointPosition $verts[$v]`; + float $jDists[] = {}; + float $jWeights[] = {}; + float $totalDist = 0; + + for( $j=0; $j<$numJ; $j++ ) $jDists[$j] = `zooVectorMag { ($pos[0]-$jPosX[$j]),($pos[1]-$jPosY[$j]),($pos[2]-$jPosZ[$j]) }`; + for( $j=0; $j<$numJ; $j++ ) $totalDist += $jDists[$j]; + for( $j=0; $j<$numJ; $j++ ) { + if( $jDists[$j]<0.00000001 ) $jDists[$j] = 0.00000001; + $jWeights[$j] = $totalDist/$jDists[$j]; + } + $jWeights = `zooNormaliseArraySum $jWeights 1`; + + for( $j=0; $j<$numJ; $j++ ) print( ($jDists[$j]/$totalDist) +"\n"); + string $weightStr = "skinPercent "; + for( $j=0; $j<$numJ; $j++ ) $weightStr += "-tv "+ $joints[$j] +" "+ $jWeights[$j] +" "; + $weightStr += $cluster +" "+ $verts[$v] +";"; + eval $weightStr; + } + } + + +global proc zooAllWeightsToParents() { + string $transferJoints[] = ls( "-type","joint",`ls -r 1 "zooWeight_holder_*"`); + print $transferJoints; + for( $j in $transferJoints ) zooWeightsToOther $j "-delete 1"; + } + + +//transfers all weighting data from a given joint to its parent +global proc zooWeightsToOther( string $joint, string $optionStr ) { + string $temp[] = {}; + string $other = zooGetElement_str(0,`listRelatives -pa -p $joint`); //defaults to parent + int $deleteAfter = 0; + + $temp = `zooGetFlagArguments $optionStr delete`; if( `size $temp` ) $deleteAfter = $temp[0]; + $temp = `zooGetFlagArguments $optionStr other`; if( `size $temp` ) $other = $temp[0]; + if( !`objExists $other` ) { warning( $other +" doesn't exist - bailing" ); return; } + + string $meshes[] = {}; + string $skins[] = {}; + string $verts[] = {}; + float $weights[] = {}; + float $tol = 0.00000001; + int $vertIdxs[] = {}; + + zooGetJointVerts $joint $tol $meshes $skins $verts $vertIdxs $weights; + + //make sure the other is actually in the skin cluster for all the meshes + //attached to the given joint + for( $n=0; $n<`size $meshes`; $n++ ) { + string $inf[] = `skinCluster -q -inf $skins[$n]`; + int $idx = `zooGetIdxOfElement_str $inf $other`; + + if( $idx == -1 ) skinCluster -e -ibp -ai $other $skins[$n]; + if( $idx == -1 ) print "wasn't in skin cluster\n"; + } + + //now go through all the verts, grab their weights and add them to the other + for( $n=0; $n<`size $verts`; $n++ ) { + string $joints[] = `skinPercent -ib $tol -q -t $skins[$n] $verts[$n]`; + float $values[] = `skinPercent -ib $tol -q -v $skins[$n] $verts[$n]`; + int $otherIdx = `zooGetIdxOfElement_str $joints $other`; + int $jointIdx = `zooGetIdxOfElement_str $joints $joint`; + + if( $otherIdx == -1 ) { + $otherIdx = `size $joints`; + $joints[$otherIdx] = $other; + $values[$otherIdx] = 0; + } + if( $jointIdx == -1 ) { warning( "joint not in skinCluster "+ $skins[$n] ); continue; } + $values[$otherIdx] += $values[$jointIdx]; + $values[$jointIdx] = 0; + string $newWeightCmd = "skinPercent "; + for( $i=0; $i<`size $joints`; $i++ ) $newWeightCmd += "-tv "+ $joints[$i] +" "+ $values[$i] +" "; + $newWeightCmd += $skins[$n] +" "+ $verts[$n] +";"; + print( $newWeightCmd +"\n" ); + eval $newWeightCmd; + } + + string $uniqueSkins[] = `stringArrayRemoveDuplicates $skins`; + for( $n=0; $n<`size $uniqueSkins`; $n++ ) skinCluster -e -ri $joint $uniqueSkins[$n]; + if( $deleteAfter ) delete $joint; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooHelp.mel b/2009-x64/zooScripts/scripts/zooHelp.mel new file mode 100644 index 0000000..66c1c8d --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHelp.mel @@ -0,0 +1,55 @@ +zooUtils; + + +global proc zooHelp( string $script, int $selTab ) { + string $windowName = $script +"Help"; + string $windowTitle = "About "+ $script; + string $helpPath = `zooGetScriptLocation $script`; + string $helpFiles[] = `getFileList -folder $helpPath -filespec ( $script + "*.zooHelp" )`; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -maximizeButton 0 -sizeable 1 -widthHeight 600 350 $windowName; + + string $form = `formLayout`; + string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5`; + string $image = `image -p $form -width 600 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + formLayout -edit + -af $tabs "top" 0 + -af $tabs "left" 0 + -af $tabs "right" 0 + -ac $tabs "bottom" 2 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $form; + + for( $file in $helpFiles ) { + string $helpContents[] = `zooReadFile ( $helpPath + $file ) ""`; + string $tabName = `basename $file ".zooHelp"`; + string $helpStr = ""; + + for( $entry in $helpContents ) $helpStr += $entry; + zooAddHelpTab $tabs $tabName $helpStr; + } + + tabLayout -e -selectTabIndex $selTab $tabs; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + showWindow $windowName; + } + + +global proc zooAddHelpTab( string $parent, string $tabName, string $helpStr ) { + setParent $parent; + + paneLayout -configuration "single"; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -text $helpStr; + setParent ..; + + tabLayout -e -tabLabelIndex ( `tabLayout -q -numberOfChildren $parent` ) $tabName $parent; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooHotkeyer.mel b/2009-x64/zooScripts/scripts/zooHotkeyer.mel new file mode 100644 index 0000000..4b119eb --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooHotkeyer.mel @@ -0,0 +1,129 @@ +//this script creates a UI to install arbitrary hotkeys easily from a single line +//script. It will setup both simple hotkeys and press/release hotkeys for marking +//menu based scripts +// +//the $optionStr variable takes the following flags: +// -ann [str] the annotation to go along with the hotkey - tihs comes up as the description in the hotkey editor +// -enableMods [int] a boolean to determine whether the ctrl/alt modifiers should be enabled +// -default [str] the default hotkey - this value is displayed when the UI is first opened +// -locked [int] if you don't want the user to be able to modify the default hotkey, set locked to true +// -ctrl [int] is the ctrl mod set by default? +// -alt [int] is the alt mod set by default? + + +zooArrays_str; +zooFlags; + + +global proc zooHotkeyer( string $name, string $pressCmd, string $releaseCmd, string $optionStr ) { + string $temp[] = {}; + string $default = ""; + string $ann = "default"; + int $enableMods = 1; + int $locked = 0; + int $alt = 0; + int $ctrl = 0; + + $temp = `zooGetFlagArguments $optionStr "ann"`; if( `size $temp` ) $ann = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr "default"`; if( `size $temp` ) $default = $temp[0]; + $temp = `zooGetFlagArguments $optionStr "enableMods"`; if( `size $temp` ) $enableMods = $temp[0]; + $temp = `zooGetFlagArguments $optionStr "alt"`; if( `size $temp` ) $alt = $temp[0]; + $temp = `zooGetFlagArguments $optionStr "ctrl"`; if( `size $temp` ) $ctrl = $temp[0]; + $temp = `zooGetFlagArguments $optionStr "locked"`; if( `size $temp` ) $locked = $temp[0]; + + string $windowName = "zooHotkeyerWindow"; + string $windowTitle = "hotkey for "+ $name; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -sizeable 1 $windowName; + string $form = `formLayout -docTag $name isoHotkeysUIForm`; + string $lbl = `text -l "hotkey:" -docTag $ann`; + string $key = `textField -en( !$locked ) -tx $default`; + string $ctrlUI = `checkBox -en $enableMods -l "ctrl" -v $ctrl -docTag $pressCmd`; + string $altUI = `checkBox -en $enableMods -l "alt" -v $alt -docTag $releaseCmd`; + string $go = `button -l "setup hotkeys" -c( "zooHotkeyerGO; deleteUI "+ $windowName )`; + setParent ..; + + formLayout -e + -af $lbl "top" 3 + -af $lbl "left" 0 + -an $lbl "right" + -an $lbl "bottom" + + -af $key "top" 0 + -ac $key "left" 5 $lbl + -af $key "right" 0 + -an $key "bottom" + + -ac $ctrlUI "top" 3 $key + -af $ctrlUI "left" 0 + -ap $ctrlUI "right" 0 50 + -an $ctrlUI "bottom" + + -ac $altUI "top" 3 $key + -ap $altUI "left" 0 50 + -af $altUI "right" 0 + -an $altUI "bottom" + + -ac $go "top" 0 $altUI + -af $go "left" 0 + -af $go "right" 0 + -an $go "bottom" + $form; + + window -e -width 135 -height 90 $windowName; + showWindow $windowName; + } + + +//take the data from the UI, build the data for the hotkey and register it +global proc zooHotkeyerGO() { + string $UIs[] = `formLayout -q -ca isoHotkeysUIForm`; + string $name = `formLayout -q -docTag isoHotkeysUIForm`; + string $ann = `text -q -docTag $UIs[0]`; + string $hotkey = `textField -q -tx $UIs[1]`; + string $pressCmd = `checkBox -q -docTag $UIs[2]`; + string $releaseCmd = `checkBox -q -docTag $UIs[3]`; + int $enableRelease = 1; + int $ctrl = `checkBox -q -v $UIs[2]`; + int $alt = `checkBox -q -v $UIs[3]`; + + if( $hotkey == "" ) error "no hotkey was specified - please choose a key"; + if( $releaseCmd == "" ) $enableRelease = 0; + + //create runTimeCommand commands + string $rtName = $name +"_zooHotkeyPrs"; + string $rtRelName = $name +"_zooHotkeyRel"; + if( `runTimeCommand -q -ex $rtName` ) runTimeCommand -e -del $rtName; + if( `runTimeCommand -q -ex $rtRelName` ) runTimeCommand -e -del $rtRelName; + runTimeCommand -ann $ann -cat User -c $pressCmd $rtName; + if( $enableRelease ) runTimeCommand -ann( "release cmd for "+ $name ) -cat User -c $releaseCmd $rtRelName; + + print "-------------hotkey setup commands-------------\n"; + print( "runTimeCommand -ann \""+ $ann +"\" -cat User -c \""+ $pressCmd +"\" "+ $rtName +";\n" ); + print( "runTimeCommand -ann \"release cmd for "+ $name +"\" -cat User -c \""+ $releaseCmd +"\" "+ $rtRelName +";\n" ); + + //now create the nameCommands + string $ncName = $name +"Prs"; + string $ncRelName = $name +"Rel"; + nameCommand -ann $ann -c $rtName $ncName; + if( $enableRelease ) nameCommand -ann( "release cmd for "+ $name ) -c $rtRelName $ncRelName; + + print( "nameCommand -ann \""+ $ann +"\" -c \""+ $rtName +"\" "+ $ncName +";\n" ); + print( "nameCommand -ann \"release cmd for "+ $name +"\" -c \""+ $rtRelName +"\" "+ $ncRelName +";\n" ); + + //lastly bind the name commands to a hotkey + string $eval = "hotkey -keyShortcut \""+ $hotkey +"\""; + + if( $ctrl ) $eval += " -ctl"; + if( $alt ) $eval += " -alt"; + $eval = $eval +" -name \""+ $ncName +"\""; + if( $enableRelease ) $eval += " -releaseName \""+ $ncRelName +"\""; + $eval += ";"; + print( $eval +"\n-------------end hotkey setup commands-------------\n" ); + eval $eval; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooInterestCalc.mel b/2009-x64/zooScripts/scripts/zooInterestCalc.mel new file mode 100644 index 0000000..5c325f4 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooInterestCalc.mel @@ -0,0 +1,399 @@ +/* This file downloaded from Highend3d.com +'' +'' Highend3d.com File Information: +'' +'' Script Name: zooInterestCalc v1.0 +'' Author: Hamish McKenzie +'' Last Updated: September 4, 2003 +'' Update/Change this file at: +'' http://www.highend3d.com/maya/mel/?section=project#2526 +'' +'' Please do not alter any information above this line +'' it is generated dynamically by Highend3d.com and will +'' be changed automatically on any updates. +*/ + +// +// interest calculator +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 11 January 2003 +// +// Hamish McKenzie ©2007... +// macaroniKazoo Productions ©2007... + + +global proc zooInterestCalc () { + string $windowName = "zooInterestCalcWindow"; + string $windowTitle = "zooInterestCalc v" + `zooInterestCalcInfo version` + " ::macaroniKazoo::"; + int $principle = ( `optionVar -exists zooInterestCalcPrinciple` )?`optionVar -q zooInterestCalcPrinciple`:243850; + + if ( `window -exists $windowName` ) deleteUI $windowName; + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 0 -widthHeight 269 150 $windowName; + menuBarLayout; + menu -label "Utils"; + menuItem -l "Expense Graph From File" -c ( "calcWindowFunctions -drawExpenses" ) zooInterestCalcDrawFile; + menuItem -l "plot loan payments" -c( "select `zooPlotLoanGraph`" ); + menu -label "Outputs"; + menuItem -l "Debt Account Balance" -checkBox 0 -c ( "optionVar -iv zooInterestCalcOutA `menuItem -q -checkBox zooInterestCalcOutA`" ) zooInterestCalcOutA; + menuItem -l "Offset Account Balance" -checkBox 0 -c ( "optionVar -iv zooInterestCalcOutB `menuItem -q -checkBox zooInterestCalcOutB`" ) zooInterestCalcOutB; + menuItem -l "Interest Accrued Balance" -checkBox 0 -c ( "optionVar -iv zooInterestCalcOutC `menuItem -q -checkBox zooInterestCalcOutC`" ) zooInterestCalcOutC; + menuItem -l "Monthly Interest Payments" -checkBox 0 -c ( "optionVar -iv zooInterestCalcOutD `menuItem -q -checkBox zooInterestCalcOutD`" ) zooInterestCalcOutD; + menu -label "Help"; + menuItem -l "Help..." -c ( "zooInterestCalcHelp help" ); + menuItem -divider 1; + menuItem -l "About" -c ( "zooInterestCalcHelp about" ); + + columnLayout -rowSpacing 2; + columnLayout; + rowColumnLayout -numberOfColumns 2 + -columnWidth 1 100 + -columnWidth 2 170 + zzScriptLoaderButtonRow_00; + text -l "loan name:"; + textField -text "loan" -cc( "optionVar -sv zooInterestCalcName `textField -q -text calcTextName`" ) calcTextName; + setParent..; + + rowColumnLayout -numberOfColumns 2 + -columnWidth 1 100 + -columnWidth 2 170 + zzScriptLoaderButtonRow_01; + text -l "loan amount:"; + intField -v $principle -cc( "optionVar -iv zooInterestCalcPrinciple `intField -q -v calcIntPrinciple`" ) calcIntPrinciple; + setParent..; + + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 100 + -columnWidth 2 135 + -columnWidth 3 35 + zzScriptLoaderButtonRow_02; + text -l "wages :"; + textField -text 1500 calcTextPayment; + button -l "new" -c ( "{string $animCurve = `createNode animCurveTL -n paymentCurve`; setKeyframe -insert -breakdown 0 -time 1 $animCurve; setKeyframe -insert -breakdown 0 -time 52 $animCurve; textField -e -text $animCurve calcTextPayment;}" ); + setParent..; + + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 100 + -columnWidth 2 135 + -columnWidth 3 35 + zzScriptLoaderButtonRow_03; + text -l "expenses :"; + textField -text 0 calcTextExpenses; + button -l "new" -c ( "{string $animCurve = `createNode animCurveTL -n expenseCurve`; setKeyframe -insert -breakdown 0 -time 1 $animCurve; setKeyframe -insert -breakdown 0 -time 52 $animCurve; textField -e -text $animCurve calcTextExpenses;}" ); + setParent..; + + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 100 + -columnWidth 2 135 + -columnWidth 3 35 + zzScriptLoaderButtonRow_04; + text -l "interest rate :"; + textField -text 7.5 calcTextInterest; + button -l "new" -c ( "{string $animCurve = `createNode animCurveTL -n interestRate`; setKeyframe -insert -breakdown 0 -time 1 $animCurve; setKeyframe -insert -breakdown 0 -time 52 $animCurve; textField -e -text $animCurve calcTextInterest;}" ); + setParent..; + + rowColumnLayout -numberOfColumns 2 + -columnWidth 1 100 + -columnWidth 2 170 + zzScriptLoaderButtonRow_05; + text -l "loan fees (monthly):"; + floatField -v 8 calcIntFees; + setParent..; + + rowColumnLayout -numberOfColumns 3 + -columnWidth 1 1 + -columnWidth 2 268 + -columnWidth 3 1 + zzScriptLoaderButtonRow_07; + text -l ""; + button -label "calculate" -c ( "calcWindowFunctions -calculate" ); + text -l ""; + setParent..; + setParent..; + + image -width 269 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" ); + setParent..; + setParent..; + + popupMenu -p calcTextInterest; + menuItem -l "use selected curve" -c ( "{string $selCurves[] = `ls -sl -type animCurveTL`; textField -e -text $selCurves[0] calcTextInterest;}" ); + menuItem -divider 1; + menuItem -l "select curve" -c ( "select `textField -q -text calcTextInterest`" ); + setParent..; + + popupMenu -p calcTextExpenses; + menuItem -l "use selected curve" -c ( "{string $selCurves[] = `ls -sl -type animCurveTL`; textField -e -text $selCurves[0] calcTextExpenses;}" ); + menuItem -divider 1; + menuItem -l "select curve" -c ( "select `textField -q -text calcTextExpenses`" ); + setParent..; + + popupMenu -p calcTextPayment; + menuItem -l "use selected curve" -c ( "{string $selCurves[] = `ls -sl -type animCurveTL`; textField -e -text $selCurves[0] calcTextPayment;}" ); + menuItem -divider 1; + menuItem -l "select curve" -c ( "select `textField -q -text calcTextPayment`" ); + setParent..; + + showWindow $windowName; + calcWindowFunctions -update; + } + + +global proc calcWindowFunctions ( string $function ) { + switch ( $function ) { + case "-u": + case "-update": + if( !`optionVar -exists zooInterestCalcOutA` ) optionVar -iv zooInterestCalcOutA 1; + if( !`optionVar -exists zooInterestCalcOutB` ) optionVar -iv zooInterestCalcOutB 1; + if( !`optionVar -exists zooInterestCalcOutC` ) optionVar -iv zooInterestCalcOutC 1; + if( !`optionVar -exists zooInterestCalcOutD` ) optionVar -iv zooInterestCalcOutD 1; + menuItem -e -checkBox `optionVar -q zooInterestCalcOutA` zooInterestCalcOutA; + menuItem -e -checkBox `optionVar -q zooInterestCalcOutB` zooInterestCalcOutB; + menuItem -e -checkBox `optionVar -q zooInterestCalcOutC` zooInterestCalcOutC; + menuItem -e -checkBox `optionVar -q zooInterestCalcOutD` zooInterestCalcOutD; + if( `optionVar -exists zooInterestCalcName` ) textField -e -text `optionVar -q zooInterestCalcName` calcTextName; + + //if the zooReadTransactions script doesn't exist, disable the menu item + if( !(`exists zooReadTransactions`)) menuItem -e -enable 0 zooInterestCalcDrawFile; + break; + + + case "-de": + case "-drawExpenses": + string $previousDir = `optionVar -q zooReadTransactionsFile`; + string $file; + + zooReadTransactions "c:/projects/theHouse/transactions/categories.txt" "c:/projects/theHouse/transactions/transactions_savings.txt" "c:/projects/theHouse/transactions/transactions_credit.txt" "-verbose 1"; + /*$savingsFile = `fileDialog -directoryMask ( $previousDir + "/*.txt" )`; + $creditsFile = `fileDialog -directoryMask ( $previousDir + "/*.txt" )`; + if( $file != "" ) { + string $editorInfo[] = `zooInterestCalcAssemblePathInfo $file`; + optionVar -sv zooReadTransactionsFile $editorInfo[0]; + zooReadTransactions "c:/projects/theHouse/transactions/categories.txt" $savingsFile $creditsFile 0 1 {}; + }*/ + break; + + + case "-c": + case "-calculate": + string $loanName = `textField -q -text calcTextName`; + int $priciple = `intField -q -v calcIntPrinciple`; + string $payment = `textField -q -text calcTextPayment`; + string $expense = `textField -q -text calcTextExpenses`; + string $interest = `textField -q -text calcTextInterest`; + float $fees = `floatField -q -v calcIntFees`; + //string $paymentPeriod = `radioCollection -q -sl calcRadioPaymentPeriod`; + int $timeFactor = 1; //assume fortnightly + + //if ( $paymentPeriod == "calcRadioWeekly" ) { $timeFactor = 1; } + //if ( $paymentPeriod == "calcRadioMonthly" ) { $timeFactor = 4; } + string $graphs[] = `calculateInterest $loanName $priciple $payment $expense $interest $fees $timeFactor`; + select -r $graphs; + if( !`optionVar -q zooInterestCalcOutA` ) delete $graphs[0]; + if( !`optionVar -q zooInterestCalcOutB` ) delete $graphs[1]; + if( !`optionVar -q zooInterestCalcOutC` ) delete $graphs[2]; + if( !`optionVar -q zooInterestCalcOutD` ) delete $graphs[3]; + break; + } + } + + +global proc string[] calculateInterest ( string $loanName, float $principle, string $paymentInput, string $expenseInput, string $interestInput, float $fees, int $timeFactor ) { + string $return[] = {}; + string $debtVis = `createNode animCurveTL`; + string $offsetVis = `createNode animCurveTL`; + string $interestAccruedVis = `createNode animCurveTL`; + string $interestPaidVis = `createNode animCurveTL`; + float $debt = $principle; + float $offsetAcct = 0; + float $periodInterest = 0; + float $totalInterest = 0; + float $interestRate = 5; + int $numTerms = 0; + + while ( $debt > $offsetAcct ) { + if( $numTerms > 2600 ) break; //break if it goes over 50 years. if its not payed off by now, theres no hope... + float $interestRate = `calcGetValue $interestInput $numTerms`; + float $payment = `calcGetValue $paymentInput $numTerms`; + float $expenses = `calcGetValue $expenseInput $numTerms`; + float $periodInterest = 0; + + $fees = $fees / 4; //fees are always monthly, so get the weekly value + $offsetAcct = $offsetAcct + $payment - $expenses; + + //this loop give us interest, per day, over the week + for ( $n = 0; $n < 7; $n++ ) $periodInterest += (( $debt-$offsetAcct ) * ( $interestRate/36526 )); //365.26 days (average num days/yr including leap years) multiplied by 100% + + $debt += $periodInterest + $fees; //add the fees and interest over the previous week to the debt + $totalInterest += $periodInterest + $fees; + + //draw the graphs + setKeyframe -t ( $numTerms * $timeFactor ) -v ( $debt - $offsetAcct ) -itt linear -ott linear $debtVis; + setKeyframe -t ( $numTerms * $timeFactor ) -v $offsetAcct -itt linear -ott linear $offsetVis; + setKeyframe -t ( $numTerms * $timeFactor ) -v $totalInterest -itt linear -ott linear $interestAccruedVis; + setKeyframe -t ( $numTerms * $timeFactor ) -v $periodInterest -itt linear -ott linear $interestPaidVis; + + //increment the week counter + $numTerms++; + } + + int $roundedInterest = $totalInterest; + select $debtVis; + + $debtVis = `rename $debtVis ( $loanName + "_principle" )`; + $offsetVis = `rename $offsetVis ( $loanName + "_offsetBalance" )`; + $interestAccruedVis = `rename $interestAccruedVis ( $loanName + "_interestAccrued" )`; + + string $interestPaidMonthlyVis = `montherizeGraph $interestPaidVis`; + $interestPaidMonthlyVis = `rename $interestPaidMonthlyVis ( $loanName + "_interestPayments" )`; + delete $interestPaidVis; + + //generate the information string to store in the notes attribute + string $payOffInfo; + $payOffInfo = "With a starting priciple of: $" + $principle; + $payOffInfo = $payOffInfo + "\nIt will take " + ((float)($numTerms*$timeFactor)/(float)52) + " years"; + $payOffInfo = $payOffInfo + "\n$" + $roundedInterest + " will be payed in interest"; + $payOffInfo = $payOffInfo + "\n\nINPUTS:\nPayments Input: " + $paymentInput; + $payOffInfo = $payOffInfo + "\nExpense Input: " + $expenseInput; + $payOffInfo = $payOffInfo + "\nInterest Input: " + $interestInput; + $payOffInfo = $payOffInfo + "\n\ngenerated on: " + (system("date/t")); + + addAttr -ln notes -dt "string" $debtVis; + addAttr -ln notes -dt "string" $offsetVis; + addAttr -ln notes -dt "string" $interestAccruedVis; + addAttr -ln notes -dt "string" $interestPaidMonthlyVis; + setAttr -type "string" ( $debtVis + ".notes" ) $payOffInfo; + setAttr -type "string" ( $offsetVis + ".notes" ) $payOffInfo; + setAttr -type "string" ( $interestAccruedVis + ".notes" ) $payOffInfo; + setAttr -type "string" ( $interestPaidMonthlyVis + ".notes" ) $payOffInfo; + + $return[0] = $debtVis; + $return[1] = $offsetVis; + $return[2] = $interestAccruedVis; + $return[3] = $interestPaidMonthlyVis; + + return $return; + } + + +global proc float calcGetValue ( string $input, int $time ) { + float $value; + if ( `objExists $input` ) { + float $temp[] = `keyframe -t $time -q -ev $input`; + $value = $temp[0]; + } + else $value = $input; + + return $value; + } + + +global proc string montherizeGraph( string $graphNode ) { + string $outputGraph = `createNode animCurveTL`; + float $temp[] = {}; + int $numKeys = `keyframe -q -kc $graphNode`; + int $numFrames;// = `keyframe -in ( $numKeys-1 ) -q $graphNode`; + int $n = 0; + + $temp = `keyframe -in ( $numKeys-1 ) -q $graphNode`; + $numFrames = $temp[0]; + + for( $n = 0; $n < $numFrames; $n++ ) { + float $monthTotal = 0; + for( $i = 0; $i < 4; $i++ ) { + float $frameValue[] = `keyframe -t $n -q -eval $graphNode`; + $monthTotal += $frameValue[0]; + $n++; + } + setKeyframe -t $n -v $monthTotal -itt linear -ott linear $outputGraph; + } + + return $outputGraph; + } + + +global proc string[] zooInterestCalcAssemblePathInfo ( string $path ) { + string $previousDir = ""; + string $buffer[] = {}; + string $return[] = {}; + int $numToks; + int $n = 0; + + $numToks = `tokenize $path "/" $buffer`; + for ( $n = 0; $n < ($numToks - 1); $n++ ) { + $previousDir = $previousDir + $buffer[$n] + "/"; + } + + $return[0] = $previousDir; + $return[1] = $buffer[($numToks - 1)]; + + return $return; + } + + +global proc zooInterestCalcHelp ( string $function ) { + string $windowName = "zooInterestCalcAbout"; + string $windowTitle = "About zooInterestCalc v" + `zooInterestCalcInfo version` + " ::macaroniKazoo::"; + string $aboutScript = "Overview:\nzooInterestCalc is a script to help visualise loan/interest calculations. Basically it takes a payment input, an expenses input, and an interest input, and outputs a number of curves visualising the effects of such forces. Originally it was written so I could figure out for myself how long it would take me to pay off my house. :)\n\nThe method it uses to calculate the loan assumes the existance of an offset account. Payment amounts are put into the offset account, which reduces the interest calculations. For simple interest calculations, just use a negative expense value.\n\nLoan Name:\nThe loan name is simple a way to organise visualisations. The output graphs are prefixed with the name of the loan. So if you were doing multiple comparisons of loans, you could give each a different name, and the output graphs, would then be easy to find.\n\nInputs:\nThe payment, expenses and interest fields can accept either a static number, or a graph as an input. The graphs are normal TL animCurve nodes, but the easiest way to create new ones, is to hit the new button beside the relevant field. Now all input graphs are week based, which means that each time unit, is one week. This is because all calculations in this script are week based (except for interest which is calculated daily, but added weekly). The default curve is 52 units long, which is about 1 year. If you create your own input curves, or want to change the around, either type the name of the curve into the field, or right clicking on a field lets you automatically add a selected curve."; + string $aboutAuthor = "Version: " + `zooInterestCalcInfo version` + "\nCreation Date: " + `zooInterestCalcInfo created` + "\nLast Modified: " + `zooInterestCalcInfo modified` + "\n\nzooInterestCalc was written by Macaroni Kazoo Productions www.macaronikazoo.com\n\n" + `zooInterestCalcInfo history`; + int $selTab = ( $function == "about" )?2:1; + + if ( `window -exists $windowName` ) { deleteUI $windowName; } + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 0 -widthHeight 330 350 $windowName; + + string $form = `formLayout`; + string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5`; + string $image = `image -p $form -width 300 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "right" 0 + -attachControl $tabs "bottom" 2 $image + + -attachNone $image "top" + -attachForm $image "left" 0 + -attachForm $image "right" 0 + -attachForm $image "bottom" 0 + $form; + + string $child1 = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $aboutScript; + setParent ..; + + string $child2 = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $aboutAuthor; + setParent ..; + + tabLayout -e -selectTabIndex $selTab -tabLabel $child1 "zooInterestCalc Help" -tabLabel $child2 "About zooInterestCalc" $tabs; + + showWindow $windowName; + } + + +//simply returns versioning, and date information about this script +global proc string zooInterestCalcInfo ( string $function ) { + string $creationDate = "11 January 2003"; + string $lastRevision = "18 October 2003"; + string $revisionHistory = "v1.26 18-10-03\nFIX: slight change to the information provided in the notes attrib.\n\nv1.25 08-09-03\nFIX: Minor changes to calculation procedure. Fees are no added to the total interest value.\n\nv1.2 03-09-03\nNWE: Added help menu, output options, as well as a link to the expense graph plotter script.\n\nv1.1 02-09-03\nNEW: Added more output graphs, such as interest accrued, interest payments and offset account size.\n\nv1.0 11-01-03\nInitial version"; + string $info = ""; + float $currentVersion = 1.26; + + if ( $function == "created" ) $info = $creationDate; + if ( $function == "modified" ) $info = $lastRevision; + if ( $function == "history" ) $info = $revisionHistory; + if ( $function == "version" ) $info = $currentVersion; + return $info; + } + + +global proc string[] zooInterestCalcDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooReadTransactions"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + } \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooKeyCommands.mel b/2009-x64/zooScripts/scripts/zooKeyCommands.mel new file mode 100644 index 0000000..cbf8b63 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeyCommands.mel @@ -0,0 +1,237 @@ +// +// zooKeyCommands +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 10 May 2003 +// +// Description: +// Runs a given command on the selected objects for every keyframe on the current +// selection. useful for changing rotation orders, or any other attributes that +// require a script to set the attribute properly - space switching is a good +// candidate +// +// Hamish McKenzie ©2007... +// macaroniKazoo Productions ©2007... + + +zooFlags; +zooUtils; +zooArrays_float; + + +global proc zooKeyCommands( string $optionStr, string $cmd ) { + string $optionTemp[] = {}; + string $objs[] = `ls -sl`; + float $initialTime = `currentTime -q`; + float $keys[] = {}; + int $bake = 0; + + progressWindow -title "Commanding the Keys!" -progress 0 -status "initialising" -isInterruptable 1; + $optionTemp = `zooGetFlagArguments $optionStr objs`; + if( `size $optionTemp` ) $objs = $optionTemp; + clear $optionTemp; + + + //------ + //get the keyframe list + //------ + $keys = `keyframe -q -tc $objs`; + $keys = `sort $keys`; + $keys = `zooRemoveDupeItems_float $keys`; + + + //------ + //get the frame range to do the changeSpace over + //this flag uses the following rules - by default the current frame is used, but ranges can be specified: + //10-20 will do a change space on all keys inclusively between frames 10 and 20 + //the left side is the start and the right side the end. the following symbols can also be used with this flag: + //. is the current frame + //* is either the first frame or the last frame - depending on whether its specified in the start or end side of the expression + //examples: + // -frames . 10 does all keys from the current frame to frame 10 + // -frames * 50 does all keys from the first key to frame 50 + // -frames * * does all keys + //------ + $optionTemp = `zooGetFlagArguments $optionStr bake`; if( `size $optionTemp` ) $bake = $optionTemp[0]; + $optionTemp = `zooGetFlagArguments $optionStr frames`; + string $startStr = "!"; if( `size $optionTemp` ) $startStr = $optionTemp[0]; + string $endStr = "!"; if( `size $optionTemp` ) $endStr = $optionTemp[1]; + float $selRange[] = `zooGetSelectedRange`; + float $start = `playbackOptions -q -min`; + float $end = `playbackOptions -q -max`; + int $n = 0; + + if( $startStr == "." ) $start = `currentTime -q`; + else if( $startStr == "*" ) $start = $keys[0]; + else if( $startStr == "!" ) $start = `playbackOptions -q -min`; + else if( $startStr == ":" ) $start = $selRange[0]; + else if( $startStr == "$" ) $start = `playbackOptions -q -ast`; + else if( $startStr == "<" ) $start = `findKeyframe -w previous`; + else if( $startStr == ">" ) $start = `findKeyframe -w next`; + else if( `match "[-0-9]+" $startStr` != "" ) $start = $startStr; + + if( $endStr == "." ) $end = `currentTime -q`; + else if( $endStr == "*" ) $end = $keys[( `size $keys`-1 )]; + else if( $endStr == "!" ) $end = `playbackOptions -q -max`; + else if( $endStr == ":" ) $end = $selRange[1]; + else if( $endStr == "$" ) $end = `playbackOptions -q -aet`; + else if( $endStr == "<" ) $end = `findKeyframe -w previous`; + else if( $endStr == ">" ) $end = `findKeyframe -w next`; + else if( `match "[-0-9]+" $endStr` != "" ) $end = $endStr; + + //make sure the start is before the end + if( $start > $end ) { + float $temp = $start; + $start = $end; + $end = $temp; + } + + //now crop the list of keys to the range of the start/end + $keys = `zooCropArray_float $keys $start $end`; + + //now if we're in bake mode, clear the key array and build a new array containing each frame between start and end + if( $bake ) { + clear $keys; + for( $n=$start; $n<$end; $n+=$bake ) $keys[( `size $keys` )] = $n; + print $keys; + } + + + //------ + //initialise the progress window variables + //------ + float $progress = 0; + float $increment = `size $keys`? 100/(float)(`size $keys`): 1; + + + //------ + //run the command + //------ + zooAllViews 0; + if( $cmd != "" ) for( $t in $keys ) { + currentTime $t; + string $tmpACmd = $cmd; + //the @ symbol is used to refer to the current frame number - so sub the value into the command + while( `match "@+" $tmpACmd` != "" ) $tmpACmd = `substitute "@+" $tmpACmd ((string)$t)`; + + //the ^ symbol is used to refer to the current key index + while( `match "^+" $tmpACmd` != "" ) $tmpACmd = `substitute "^+" $tmpACmd ((string)$n)`; + for( $obj in $objs ) if( size(`keyframe -t $t -q $obj`) || $bake ) { + string $tmpBCmd = $tmpACmd; + //the # symbol is used to refer to the trigger itself - so sub the name of the trigger into the command + while( `match "#+" $tmpBCmd` != "" ) $tmpBCmd = `substitute "#+" $tmpBCmd $obj`; + catch(eval($tmpBCmd)); + } + $n++; + + //update progress window + $progress += $increment; + if( `progressWindow -q -ic` ) break; + progressWindow -e -progress((int)$progress) -status( "working on key at time: "+ $t ); + } + + progressWindow -ep; + currentTime $initialTime; + zooAllViews 1; + } + + + + +//------ +//adds the zooKeyCommands shelf button +//------ +global proc zooKeyCommandsInstallShelf() { + string $button = `zooInstallShelfButton zooKeyCommands`; + string $image = `internalVar -userBitmapsDir` +"zooKeyCommands.xpm"; + string $cmd = "zooKeyCommandsWin;"; + + shelfButton -e -image1 $image -label "zooKeyCommands shelf button" -ann "load the zooKeyCommands UI - right click for additional options" -command $cmd $button; + zooKeyCommandsInstallShelfPopup; + } + + +//------ +//adds the right click popup menu to the zooShots shelf button +//------ +global proc zooKeyCommandsInstallShelfPopup() { + string $buttons[] = `zooGetShelfButtonAll zooKeyCommands`; + for( $button in $buttons ) if( `control -exists $button` ) if ( !`shelfButton -q -numberOfPopupMenus $button` ) popupMenu -p $button -aob 1 -pmc( "zooKeyCommandsPopupMenu "+ $button +"Popup" ) ( $button +"Popup" ); + } + + +global proc zooKeyCommandsPopupMenu( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "setKeyframe (all attributes)" -c( "zooKeyCommands \"-frames ! !\" \"setKeyframe #;\"" ); + menuItem -ob 1 -c( "zooKeyCommands \"-frames . !\" \"setKeyframe #;\"" ); + menuItem -l "setKeyframe (transforms only)" -c( "zooKeyCommands \"-frames ! !\" \"setKeyframe -at t -at r -at s #;\"" ); + menuItem -ob 1 -c( "zooKeyCommands \"-frames . !\" \"setKeyframe -at t -at r -at s #;\"" ); + menuItem -l "setParent 0" -c( "zooKeyCommands \"-frames ! !\" \"zooChangeSpace \\\"-attr parent 0\\\" #\"" ); + menuItem -ob 1 -c( "zooKeyCommands \"-frames . !\" \"zooChangeSpace \\\"-attr parent 0\\\" #\"" ); + menuItem -l "setParent 1" -c( "zooKeyCommands \"-frames ! !\" \"zooChangeSpace \\\"-attr parent 1\\\" #\"" ); + menuItem -ob 1 -c( "zooKeyCommands \"-frames . !\" \"zooChangeSpace \\\"-attr parent 1\\\" #\"" ); + menuItem -l "setParent 2" -c( "zooKeyCommands \"-frames ! !\" \"zooChangeSpace \\\"-attr parent 2\\\" #\"" ); + menuItem -ob 1 -c( "zooKeyCommands \"-frames . !\" \"zooChangeSpace \\\"-attr parent 2\\\" #\"" ); + } + + +//------ +//these dependencies allow the zooZipScript to package this script easily for distribution +//------ +global proc string[] zooKeyCommandsDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooKeyCommandsWin"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $helpDependencies[( `size $helpDependencies` )] = "zooKeyCommands_help"; + $iconDependencies[( `size $iconDependencies` )] = "zooKeyCommands.xpm"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +/* +this script runs a command string on each key of an object, or a set of keys can be specifed using the -frames flag + +-bake [int] if this arg is non-zero, then the frames arg gets overridden, and the script simply runs the command +on every nth frame. so -bake 5 will run the key command on every fifth frame, while -bake 1 simply does every frame + +-obj [string] you can specify a list of objects after this flag to act on. by default, the script assumes the selection +-frames [string] this flag allows you to specify a start and end frames to find keys on. the "." symbol refers to the current +frame. the * symbol refers to either the first key if specified in the start, or the last key if specified in the end + +ie: if the current frame was 10 +-frames . 50 +this flag would mean all keys between the frames 10 and 50. + +-frames * 18 +would mean all keys from the start, up to and including frame 18 + +frames flag symbols: +. current frame +* either first or last key found - depending on whether its used in the start frame or end frame field +! current frame range start or end - depending on whether its used in the start frame or end frame field +$ current scene start or end - depending on whether its used in the start frame or end frame field +< previous key - from the current time +> next key - from the current time + +If no keys lie between the frame specified, then the script does nothing. Also, in the cmd string, the # symbol as a +replacement for the current object. the script loops over each object specified, and if there is a key on the current frame +it runs the command for each object. So the # symbol gets replaced by the object currently being looped over. +*/ + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooKeyCommandsWin.mel b/2009-x64/zooScripts/scripts/zooKeyCommandsWin.mel new file mode 100644 index 0000000..52c4b3e --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeyCommandsWin.mel @@ -0,0 +1,132 @@ +// +// zooKeyCommands +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 10 May 2003 +// +// Description: +// Runs a given command on the selected objects for every keyframe on the current +// selection. useful for changing rotation orders, or any other attributes that +// require a script to set the attribute properly - space switching is a good +// candidate/ +// +// Usage: +// after sourcing the script, run this command: +// zooKeyCommandsWin; +// +// Hamish McKenzie ©2007... + + +{ +string $windowName = "zooKeyCommandsWindow"; +string $windowTitle = "zooKeyCommands -:macaroniKazoo:-"; + +if( `window -exists $windowName` ) deleteUI $windowName; +window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 100 -height 100 $windowName; + menuBarLayout zooXferAnimMenuMain; + menu -label "Help"; + menuItem -l "Help..." -c( "zooHelp zooKeyCommands 1" ); + menuItem -d 1; + menuItem -l "Install Shelf Button" -c zooKeyCommandsInstallShelf; + + string $formA = `formLayout`; + string $staLbl = `text -l "start frame:"`; + string $staNum = `textField -tx "!" zooKeyCommandsTextStart`; + string $endLbl = `text -l "end frame:"`; + string $endNum = `textField -tx "!" zooKeyCommandsTextEnd`; + string $cmdLbl = `text -l "command to run:"`; + string $bake = `checkBox -l "bake every frame" -v 0 zooKeyCommandsCheckBake`; + string $cmdStr = `scrollField -tx "" zooKeyCommandsTextCmd`; + //print("{\nstring $a=`textField -q -tx zooKeyCommandsTextStart`;\nstring $b=`textField -q -tx zooKeyCommandsTextEnd`;\nstring $c=`scrollField -q -tx zooKeyCommandsTextCmd`;\nzooKeyCommands ( \"-frames \"+ $a +\" \"+ $b ) $c;\n}"); + button -l "execute command" -c("{\nstring $a=`textField -q -tx zooKeyCommandsTextStart`;\nstring $b=`textField -q -tx zooKeyCommandsTextEnd`;\nstring $c=`scrollField -q -tx zooKeyCommandsTextCmd`;\nint $d=`checkBox -q -v zooKeyCommandsCheckBake`;\nzooKeyCommands ( \"-frames \"+ $a +\" \"+ $b +\" -bake \"+ $d ) $c;\n}") zooKeyCommandsWinButtExecute; //zooKeyCommandsWinExecute + string $image = `image -width 100 -height 8 -backgroundColor ((float)1) ((float)0) ((float)0) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + +formLayout -e + -af $staLbl "top" 3 + -af $staLbl "left" 0 + -an $staLbl "right" + -an $staLbl "bottom" + + -af $staNum "top" 0 + -ac $staNum "left" 5 $staLbl + -ap $staNum "right" 3 50 + -an $staNum "bottom" + + -af $endLbl "top" 3 + -ap $endLbl "left" 2 50 + -an $endLbl "right" + -an $endLbl "bottom" + + -af $endNum "top" 0 + -ac $endNum "left" 5 $endLbl + -af $endNum "right" 0 + -an $endNum "bottom" + + -ac $cmdLbl "top" 0 $endNum + -af $cmdLbl "left" 0 + -ac $cmdLbl "right" 0 $bake + -an $cmdLbl "bottom" + + -ac $bake "top" 0 $endNum + -an $bake "left" + -af $bake "right" 0 + -an $bake "bottom" + + -ac $cmdStr "top" 0 $cmdLbl + -af $cmdStr "left" 0 + -af $cmdStr "right" 0 + -ac $cmdStr "bottom" 0 zooKeyCommandsWinButtExecute + + -an zooKeyCommandsWinButtExecute "top" + -af zooKeyCommandsWinButtExecute "left" 0 + -af zooKeyCommandsWinButtExecute "right" 0 + -ac zooKeyCommandsWinButtExecute "bottom" 2 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $formA; + +popupMenu -p $staNum; + menuItem -l ". - current frame" -c( "textField -e -tx \".\" "+ $staNum ); + menuItem -l "* - first key" -c( "textField -e -tx \"*\" "+ $staNum ); + menuItem -l "! - current range start" -c( "textField -e -tx \"!\" "+ $staNum ); + menuItem -l ": - selected range start" -c( "textField -e -tx \":\" "+ $staNum ); + menuItem -l "$ - current scene start" -c( "textField -e -tx \"$\" "+ $staNum ); + menuItem -l "< - previous key" -c( "textField -e -tx \"<\" "+ $staNum ); + menuItem -l "> - next key" -c( "textField -e -tx \">\" "+ $staNum ); + +popupMenu -p $endNum; + menuItem -l ". - current frame" -c( "textField -e -tx \".\" "+ $endNum ); + menuItem -l "* - last key" -c( "textField -e -tx \"*\" "+ $endNum ); + menuItem -l "! - current range end" -c( "textField -e -tx \"!\" "+ $endNum ); + menuItem -l ": - selected range end" -c( "textField -e -tx \":\" "+ $endNum ); + menuItem -l "$ - current scene end" -c( "textField -e -tx \"$\" "+ $endNum ); + menuItem -l "< - previous key" -c( "textField -e -tx \"<\" "+ $endNum ); + menuItem -l "> - next key" -c( "textField -e -tx \">\" "+ $endNum ); + +popupMenu -p $cmdStr; + menuItem -l "setKeyframe (all attributes)" -c( "scrollField -e -tx \"setKeyframe\" "+ $cmdStr ); + menuItem -l "setKeyframe (transforms only)" -c( "scrollField -e -tx \"setKeyframe -at t -at r -at s\" "+ $cmdStr ); + menuItem -l "zooChangeSpace" -c( "scrollField -e -tx \"zooChangeSpace \\\"-attr parent 0\\\" #\" "+ $cmdStr ); + menuItem -l "change rotate order" -c( "scrollField -e -tx \"xform -p 1 -roo zxy #;\\nsetKeyframe;\\nsetAttr #.rotateOrder 0;\\n//NOTE: you still need to manually change the\\n//rotation order attribute after this script\\n//finishes\\n//\\n//This script just makes sure all previously\\n//set keys are oriented correctly for the\\n//new rotation order\" "+ $cmdStr ); + +showWindow $windowName; +} + + +global proc zooKeyCommandsWinExecute() { + string $start = `textField -q -tx zooKeyCommandsTextStart`; + string $end = `textField -q -tx zooKeyCommandsTextEnd`; + string $cmd = `scrollField -q -tx zooKeyCommandsTextCmd`; + int $bake = `checkBox -q -v zooKeyCommandsCheckBake`; + + print( "executing command: "+ $cmd +"\n" ); + zooKeyCommands ( "-frames "+ $start +" "+ $end +" -bake "+ $bake ) $cmd; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooKeyCommands_help.zooHelp b/2009-x64/zooScripts/scripts/zooKeyCommands_help.zooHelp new file mode 100644 index 0000000..1e6b9c1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeyCommands_help.zooHelp @@ -0,0 +1,45 @@ +zooKeyCommands is a simple script to run a command on all selected objects for each key the object has. Nothing more, nothing less. Give the script a frame number to start on, a frame number to end on, and a command to run, and hit go. + +However, zooKeyCommands does do basic command parsing to make commands a bit easier to write. Commands can contain various symbols that get replaced with runtime information when the command is executed. + +Currently the command symbols supported are: + +@ refers to the current frame number +^ refers to the key index +# refers to the current object + +NOTE: the ^ symbol, the key list depends on the -frames flag specified. For example if you had a bunch of objects that had a key on every frame, and you used the following frames flag: -frames 10 15 Then the list of keys would be: + +{ 10, 11, 12, 13, 14, 15 } + +Which means the first key operated on would be 10, the second, 11, etc. Naturally the key indicies start at zero. + +The symbols supported for the frames flag are: + +. current frame +* either first or last key found +! current frame range start or end +$ current scene start or end +< previous key - from the current time +> next key - from the current time + +NOTE: that some symbols work differently when used for the start and end. For example, if you current frame range was from 10 to 20, then using this frames flag: -frames ! ! this would be the equivalent of using: -frames 10 20 + +Similarly, using this frames flag: -frames * $ would start on the frame where the first key on the selected objects is found, and would end on the scene end frame. + +----Example---- +just say you have an already animated object, with rotation order xyz. You want to change its rotation order to zxy without disturbing keys already set. You could use the following command: + +xform -p 1 -roo zxy #; +setKeyframe; +setAttr #.rotateOrder 0; + +Now all you have to do is set the rotation order back to zxy manually on all selected objects, and you're done. There are many other situations in which you might want to run a command for each key frame. For those using zooCST you can easily change the parent attribute for an entire animation easily. First run the command: + +setKeyframe; + +over your objects. This ensures they all have keys on their parent attribute (otherwise changingone key may affect keys down-stream). Then run the command: + +zooChangeSpace "-attr parent 1" #; + +change the number 1 to whichever parent you want to change to. \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooKeyUtils.mel b/2009-x64/zooScripts/scripts/zooKeyUtils.mel new file mode 100644 index 0000000..51166e6 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeyUtils.mel @@ -0,0 +1,119 @@ +zooArrays_str; +zooFlags; + + +//general purpose script for dealing with keys - the direct mel commands are pretty... shit +global proc zooKeyUtils() { + return; + } + + +global proc swapChannels( string $srcAttrPath, string $tgtAttrPath, string $optionStr ) { + string $srcChannel[] = `copyChannel $srcAttrPath $optionStr`; + string $tgtChannel[] = `copyChannel $tgtAttrPath $optionStr`; + + pasteChannel $srcChannel $tgtAttrPath $optionStr; + pasteChannel $tgtChannel $srcAttrPath $optionStr; + } + + +global proc pasteChannel( string $channelStr[], string $attrPath, string $optionStr ) { + string $temp[] = {}; + float $offset = 0; + int $clear = 1; + int $invert = 0; + + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $offset = $temp[0]; + $temp = `zooGetFlagArguments $optionStr offset`; if( `size $temp` ) $offset = $temp[0]; + $temp = `zooGetFlagArguments $optionStr clear`; if( `size $temp` ) $clear = $temp[0]; + $temp = `zooGetFlagArguments $optionStr invert`; if( `size $temp` ) $invert = $temp[0]; + + int $weightedChannel = $channelStr[0]; + int $kc = `size $channelStr`; + + if( $clear ) { + float $start = `match "^[^,]+" $channelStr[0]`; + float $end = `match "^[^,]+" (zooGetElement_str(-1,$channelStr))`; + + $start += $offset; + $end += $offset; + cutKey -t( $start +":"+ $end ) -cl $attrPath; + } + + keyTangent -e -wt $weightedChannel $attrPath; + for( $n=1; $n<$kc; $n++ ) { //start at 1 because the first entry is the weighted channel flag + string $keyData[] = {}; + tokenize $channelStr[$n] "," $keyData; + + float $time = $keyData[0]; + float $value = $keyData[1]; + string $itType = $keyData[2]; + string $otType = $keyData[3]; + float $itAngle = $keyData[4]; + float $otAngle = $keyData[5]; + float $itWeight = $keyData[6]; + float $otWeight = $keyData[7]; + int $tLock = $keyData[8]; + int $wLock = $keyData[9]; + + $time += $offset; + if( $invert ) { + $value *= -1; + $itAngle *= -1; + $otAngle *= -1; + } + setKeyframe -t $time -v $value -itt $itType -ott $otType $attrPath; + keyTangent -e -t $time -l $tLock -ia $itAngle -oa $otAngle -iw $itWeight -ow $otWeight $attrPath; + } + } + + +//returns an array of structured strings - each string contains all data nessecary +//to re-create all keys for the curve associated with an attribute path +global proc string[] copyChannel( string $attrPath, string $optionStr ) { + if( !`objExists $attrPath` ) return {}; + + string $temp[] = {}; + float $start = `playbackOptions -q -min`; + float $end = `playbackOptions -q -max`; + + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $start = $temp[0]; + $temp = `zooGetFlagArguments $optionStr end`; if( `size $temp` ) $end = $temp[0]; + + string $globalItt = zooGetElement_str(0,`keyTangent -q -global -itt`); + string $globalOtt = zooGetElement_str(0,`keyTangent -q -global -ott`); + string $tStr = $start +":"+ $end; + string $weightedChannel = zooGetElement_int(0,`keyTangent -q -wt $attrPath`); + string $channelData[] = {$weightedChannel}; + int $kc = `keyframe -t $tStr -q -kc $attrPath`; + float $times[] = `keyframe -t $tStr -q $attrPath`; + float $values[] = `keyframe -t $tStr -q -vc $attrPath`; + string $itTypes[] = `keyTangent -t $tStr -q -itt $attrPath`; + string $otTypes[] = `keyTangent -t $tStr -q -ott $attrPath`; + float $itAngles[] = `keyTangent -t $tStr -q -ia $attrPath`; + float $otAngles[] = `keyTangent -t $tStr -q -oa $attrPath`; + float $itWeights[] = `keyTangent -t $tStr -q -iw $attrPath`; + float $otWeights[] = `keyTangent -t $tStr -q -ow $attrPath`; + int $tLocks[] = `keyTangent -t $tStr -q -l $attrPath`; + int $wLocks[] = `keyTangent -t $tStr -q -wl $attrPath`; + + //now build the structured string. the string looks like this: + //keyTime,keyValue,itt,ott,ia,oa,iw,ow,tangentLock,weightLock + for( $n=0; $n<$kc; $n++ ) { + if( $itTypes[$n] == "fixed" ) $itTypes[$n] = $globalItt; + if( $otTypes[$n] == "fixed" ) $otTypes[$n] = $globalOtt; + string $s = $times[$n] +","; + $s += $values[$n] +","; + $s += $itTypes[$n] +","; + $s += $otTypes[$n] +","; + $s += $itAngles[$n] +","; + $s += $otAngles[$n] +","; + $s += $itWeights[$n] +","; + $s += $otWeights[$n] +","; + $s += $tLocks[$n] +","; + $s += $wLocks[$n]; + $channelData[`size $channelData`] = $s; + } + + return $channelData; + } diff --git a/2009-x64/zooScripts/scripts/zooKeymaster.mel b/2009-x64/zooScripts/scripts/zooKeymaster.mel new file mode 100644 index 0000000..f7ef420 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeymaster.mel @@ -0,0 +1,142 @@ +zooArrays_float; +zooFlags; +zooUtils; +zooTangentWksUtils; + + +//-dir [str] the direction to move the keys - up, down, left or right +//-factor [float] the percentage to move the key values +//-abs [int] puts the tool into absolute mode - so if value is negative, treats it like positive +//-pivot [str] options are mid, min, max, zero. controls where the keys scale around when doing a vertical nudge +//-curvePivot [int] if curve pivot is on, then all scaling pivots are calculted per curve instead of having a single pivot for all relevant keys. NOTE: when no keys are selected all keys for all selected objects are scaled +global proc zooKeymaster( string $optionStr ) { + string $objs[] = `ls -sl`; + string $temp[]; + string $dir = "down"; + string $pivot = "zero"; + float $factor = `zooKeymasterDefaultSettings zooKeyFactor`; + int $pivDefault = `zooKeymasterDefaultSettings zooKeyPivot`; + int $abs = `optionVar -q zooKeyAbs`; + int $curvePivot = `optionVar -q zooKeyCurvePivot`; + + print( "zooKeymaster \""+ $optionStr +"\";\n" ); + if( $pivDefault == 2 ) $pivot = "min"; + if( $pivDefault == 3 ) $pivot = "mid"; + if( $pivDefault == 4 ) $pivot = "max"; + $temp = `zooGetFlagArguments $optionStr dir`; if( `size $temp` ) $dir = $temp[0]; + $temp = `zooGetFlagArguments $optionStr factor`; if( `size $temp` ) $factor = $temp[0]; + $temp = `zooGetFlagArguments $optionStr abs`; if( `size $temp` ) $abs = $temp[0]; + $temp = `zooGetFlagArguments $optionStr pivot`; if( `size $temp` ) $pivot = $temp[0]; + $temp = `zooGetFlagArguments $optionStr curvePivot`; if( `size $temp` ) $curvePivot = $temp[0]; + if( $dir == "left" || $dir == "right" ) { zooKeymasterNudge $optionStr; return; } + if( $dir == "up" ) $factor*=-1; + if( $curvePivot ) { zooScaleCurves $optionStr; return; } + + float $pivotVal = 0; + int $selectionMode = size(`keyframe -q -sl`); + string $curves[] = {}; + float $keyValues[] = {}; + int $keyIdxs[] = {}; + int $num = `zooGetKeySet $curves {} $keyValues $keyIdxs`; + + if( $pivot == "mid" ) $pivotVal = `zooAverageArray_float $keyValues`; + if( $pivot == "min" ) { + int $idx = `zooGetLowestValueIdx_float $keyValues`; + $pivotVal = $keyValues[$idx]; + } + if( $pivot == "max" ) { + int $idx = `zooGetHighestValueIdx_float $keyValues`; + $pivotVal = $keyValues[$idx]; + } + + for( $n=0; $n<$num; $n++ ) { + float $val = $keyValues[$n]; + float $increment = ($val-$pivotVal)*$factor; + + if( $abs ) $increment = abs($val-$pivotVal)*$factor; + keyframe -in $keyIdxs[$n] -vc( $val-$increment ) $curves[$n]; + } + } + + +//this proc will do a scale curve around the given pivot, but the pivots are calculated +//per curve, instead of globally for all keys acted upon +global proc zooScaleCurves( string $optionStr ) { + string $temp[]; + string $dir = "down"; + string $pivot = "zero"; + float $factor = `zooKeymasterDefaultSettings zooKeyFactor`; + int $pivDefault = `zooKeymasterDefaultSettings zooKeyPivot`; + + if( $pivDefault == 2 ) $pivot = "min"; + if( $pivDefault == 3 ) $pivot = "mid"; + if( $pivDefault == 4 ) $pivot = "max"; + $temp = `zooGetFlagArguments $optionStr dir`; if( `size $temp` ) $dir = $temp[0]; + $temp = `zooGetFlagArguments $optionStr factor`; if( `size $temp` ) $factor = $temp[0]; + $temp = `zooGetFlagArguments $optionStr pivot`; if( `size $temp` ) $pivot = $temp[0]; + if( $dir == "up" ) $factor*=-1; + + string $curves[] = `keyframe -q -n -sl`; + int $sel = `keyframe -q -sl -kc`; + + if( !$sel ) $curves = `keyframe -q -n`; + for( $n=0; $n<`size $curves`; $n++ ) { + float $keys[] = `keyframe -q -sl $curves[$n]`; + float $keyVals[] = `keyframe -q -vc -sl $curves[$n]`; + float $pivotVal = 0; + + if( !$sel ) { + $keys = `keyframe -q $curves[$n]`; + $keyVals = `keyframe -q -vc $curves[$n]`; + } + if( $pivot == "mid" ) $pivotVal = `zooAverageArray_float $keyVals`; + if( $pivot == "min" ) { + int $idx = `zooGetLowestValueIdx_float $keyVals`; + $pivotVal = $keyVals[$idx]; + } + if( $pivot == "max" ) { + int $idx = `zooGetHighestValueIdx_float $keyVals`; + $pivotVal = $keyVals[$idx]; + } + + for( $i=0; $i<`size $keys`; $i++ ) keyframe -t $keys[$i] -e -vc( $keyVals[$i]-(($keyVals[$i]-$pivotVal)*$factor)) $curves[$n]; + } + } + + +global proc zooKeymasterNudge( string $optionStr ) { + string $objs[] = `ls -sl`; + string $temp[]; + string $dir = "right"; + string $userFactor = "*"; + string $userNudge = "*"; + int $nudge = 1; + + $temp = `zooGetFlagArguments $optionStr dir`; if( `size $temp` ) $dir = $temp[0]; + $temp = `zooGetFlagArguments $optionStr nudge`; if( `size $temp` ) $userNudge = $temp[0]; + $temp = `zooGetFlagArguments $optionStr factor`; if( `size $temp` ) $userFactor = $temp[0]; + if( $userFactor != "*" ) $nudge = $userFactor; + if( $userNudge != "*" ) $nudge = $userNudge; + if( $dir == "left" ) $nudge*=-1; + + string $curves[] = {}; + int $keyIdxs[] = {}; + int $num = `zooGetKeySet $curves {} {} $keyIdxs`; + + for( $n=0; $n<$num; $n++ ) keyframe -in $keyIdxs[$n] -e -r -tc $nudge $curves[$n]; + } + + +global proc float zooKeymasterDefaultSettings( string $setting ) { + int $exists = `optionVar -ex $setting`; + if( $exists ) return((float)`optionVar -q $setting`); + switch( $setting ) { + case "zooKeyFactor": return 0.02; + case "zooKeyNudge": return 1.; + case "zooKeyPivot": return 1.; + } + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooKeymasterDependencies.mel b/2009-x64/zooScripts/scripts/zooKeymasterDependencies.mel new file mode 100644 index 0000000..acedd8f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeymasterDependencies.mel @@ -0,0 +1,25 @@ +global proc string[] zooKeymasterDependencies( string $mode ) { + string $melDependencies[] = {}; + string $includeFiles[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTangentWksUtils"; + $helpDependencies[( `size $helpDependencies` )] = "zooKeymaster_help"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooKeymaster.xpm"; + + if( $mode == "-deps" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + if( $mode == "-scripts" ) { + $return = $melDependencies; + $return = `zooAddArray_str $return $includeFiles`; + $return = `stringArrayRemoveDuplicates $return`; + } + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooKeymasterMenu.mel b/2009-x64/zooScripts/scripts/zooKeymasterMenu.mel new file mode 100644 index 0000000..ff567c0 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeymasterMenu.mel @@ -0,0 +1,62 @@ +global proc zooKeymasterMenu() { + global int $zooIsClicked; + string $panel = `getPanel -up`; + + $zooIsClicked = 0; + if( `popupMenu -exists tempMM` ) deleteUI tempMM; + if( !`control -ex $panel` ) $panel = "viewPanes"; + popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p $panel -pmc "zooKeymasterMenuUI tempMM" tempMM; + } + + +global proc zooKeymasterMenuUI( string $parent ) { + global int $zooIsClicked; + float $factor = `zooKeymasterDefaultSettings zooKeyFactor`; + int $pivotIdx = `zooKeymasterDefaultSettings zooKeyPivot`; + int $abs = `optionVar -q zooKeyAbs`; + int $curvePiv = `optionVar -q zooKeyCurvePivot`; + + $zooIsClicked = 1; + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "nudge fwd 1" -c( "zooKeymaster \"-dir right -nudge 1\";" ) -rp E; + menuItem -l "nudge back 1" -c( "zooKeymaster \"-dir left -nudge 1\";" ) -rp W; + menuItem -l "nudge fwd 2" -c( "zooKeymaster \"-dir right -nudge 2\";" ) -rp NE; + menuItem -l "nudge back 2" -c( "zooKeymaster \"-dir left -nudge 2\";" ) -rp NW; + + menuItem -l "key end to current time" -c( "zooKeysToCurrentTime 0" ) -rp SE; + menuItem -l "key start to current time" -c( "zooKeysToCurrentTime 1" ) -rp SW; + + menuItem -l "scale value up" -c( "zooKeymaster \"-dir up\";" ) -rp N; + menuItem -l "scale value down" -c( "zooKeymaster \"-dir down\";" ) -rp S; + + menuItem -l "use zero pivot" -cb( $pivotIdx == 1 ) -c( "optionVar -iv zooKeyPivot 1" ); + menuItem -l "use minimum pivot" -cb( $pivotIdx == 2 ) -c( "optionVar -iv zooKeyPivot 2" ); + menuItem -l "use mid pivot" -cb( $pivotIdx == 3 ) -c( "optionVar -iv zooKeyPivot 3" ); + menuItem -l "use maxumum pivot" -cb( $pivotIdx == 4 ) -c( "optionVar -iv zooKeyPivot 4" ); + menuItem -d 1; + menuItem -l "scale value" -sm 1; + menuItem -l "scale by 2%" -cb( $factor == 0.02 ) -c( "optionVar -fv zooKeyFactor 0.02" ); + menuItem -l "scale by 5%" -cb( $factor == 0.05 ) -c( "optionVar -fv zooKeyFactor 0.05" );; + menuItem -l "scale by 10%" -cb( $factor == 0.1 ) -c( "optionVar -fv zooKeyFactor 0.1" );; + menuItem -l "scale by 25%" -cb( $factor == 0.25 ) -c( "optionVar -fv zooKeyFactor 0.25" );; + menuItem -l "scale by 50%" -cb( $factor == 0.5 ) -c( "optionVar -fv zooKeyFactor 0.5" );; + setParent -m ..; + menuItem -l "curve pivots" -cb $curvePiv -c( "optionVar -iv zooKeyCurvePivot #1" ); + menuItem -d 1; + menuItem -l "absolute" -cb $abs -c( "optionVar -iv zooKeyAbs #1" ); + } + + +global proc zooKeymasterMenuKillUI() { + global int $zooIsClicked; + + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !$zooIsClicked ) zooKeymaster "-dir right"; + + $zooIsClicked = 0; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooKeymasterWin.mel b/2009-x64/zooScripts/scripts/zooKeymasterWin.mel new file mode 100644 index 0000000..d561e17 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeymasterWin.mel @@ -0,0 +1,136 @@ +zooArrays_float; +zooFlags; +zooUtils; +zooTangentWksUtils; + + +global proc zooKeymasterWin() { + string $windowName = "zooKeymasterUI"; + string $windowTitle = "Keymaster"; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 300 -height 165 $windowName; + menuBarLayout zooXferAnimMenuMain; + menu -label "Help"; + menuItem -l "Report Problem" -c( "zooPollster \"-topic [issue] zooKeymaster: "+ `getenv USER` +" -question do you need help -answers yes,no -recipients hamish.mckenzie -custom 1 -customNote what is going wrong? -cmd file 'q 'sn -button submit issue\";" ); + menuItem -l "Give Feedback" -c( "zooPollster \"-topic [feedback] zooKeymaster: "+ `getenv USER` +" -question enter feedback below -answers ! -recipients hamish.mckenzie -custom 1\";" ); + menuItem -l "Help..." -c ( "zooHelp zooKeymaster 1;" ); + menuItem -d 1; + menuItem -l "Setup Marking Menu Hotkey" -c( "zooHotkeyer keymasterMenu \"zooKeymasterMenu;\" \"zooKeymasterMenuKillUI;\" \"-ann creates the zooKeymaster marking menu -default z -enableMods 0\"" ); + menuItem -d 1; + menuItem -l "About" -c ( "zooHelp zooKeymaster 2;" ); + + string $form = `formLayout`; + string $rads = `radioButtonGrp -l "pivot" -nrb 4 -cw5 40 48 45 45 45 -cl5 left left left left left -labelArray4 "zero" "min" "mid" "max" zooKeymasterUIRadioPiv`; + string $butForm = `formLayout`; + string $lfB = `button -l "nudge back" -c( "zooKeymasterUINudge left" )`; + string $upB = `button -l "push up" -c( "zooKeymasterUINudge up" )`; + string $dnB = `button -l "push down" -c( "zooKeymasterUINudge down" )`; + string $rtB = `button -l "nudge fwd" -c( "zooKeymasterUINudge right;" )`; + setParent ..; + string $facLbl = `text -l "factor"`; + string $fac = `floatField -v( zooKeymasterDefaultSettings("zooKeyFactor")) -cc( "optionVar -fv zooKeyFactor #1" ) zooKMUIFloatFactor`; + string $nudgLbl = `text -l "nudge frames"`; + string $nudg = `intField -v( zooKeymasterDefaultSettings("zooKeyNudge")) -cc( "optionVar -iv zooKeyNudge #1" ) zooKMUIIntNudge`; + string $absCheck = `checkBox -l "absolute" -v(optionVar("-q", "zooKeyAbs")) -cc( "optionVar -iv zooKeyAbs #1" ) zooKMUIIntAbs`; + string $curvePiv = `checkBox -l "curve pivot" -v(optionVar("-q", "zooKeyCurvePivot")) -cc( "optionVar -iv zooKeyCurvePivot #1" ) zooKMUIIntCurve`; + + radioButtonGrp -e -sl( `zooKeymasterDefaultSettings zooKeyPivot` ) -onc( "optionVar -iv zooKeyPivot `radioButtonGrp -q -sl "+ $rads +"`;" ) $rads; + popupMenu -p $fac -b 3; + menuItem -l "set to 2%" -c( "floatField -e -v 0.02 "+ $fac +"; optionVar -fv zooKeyFactor 0.02;" ); + menuItem -l "set to 5%" -c( "floatField -e -v 0.05 "+ $fac +"; optionVar -fv zooKeyFactor 0.05;" ); + menuItem -l "set to 10%" -c( "floatField -e -v 0.1 "+ $fac +"; optionVar -fv zooKeyFactor 0.1;" ); + menuItem -l "set to 25%" -c( "floatField -e -v 0.25 "+ $fac +"; optionVar -fv zooKeyFactor 0.25;" ); + menuItem -l "set to 50%" -c( "floatField -e -v 0.5 "+ $fac +"; optionVar -fv zooKeyFactor 0.5;" ); + popupMenu -p $nudg -b 3; + menuItem -l "set to 1 frame" -c( "intField -e -v 1 "+ $nudg +"; optionVar -fv zooKeyNudge 1;" ); + menuItem -l "set to 2 frames" -c( "intField -e -v 2 "+ $nudg +"; optionVar -fv zooKeyNudge 2;" ); + menuItem -l "set to 3 frames" -c( "intField -e -v 3 "+ $nudg +"; optionVar -fv zooKeyNudge 3;" ); + menuItem -l "set to 4 frames" -c( "intField -e -v 4 "+ $nudg +"; optionVar -fv zooKeyNudge 4;" ); + menuItem -l "set to 5 frames" -c( "intField -e -v 5 "+ $nudg +"; optionVar -fv zooKeyNudge 5;" ); + menuItem -l "set to 8 frames" -c( "intField -e -v 8 "+ $nudg +"; optionVar -fv zooKeyNudge 8;" ); + menuItem -l "set to 10 frames" -c( "intField -e -v 10 "+ $nudg +"; optionVar -fv zooKeyNudge 10;" ); + formLayout -e + -ap $lfB "top" 0 25 + -af $lfB "left" 0 + -ap $lfB "right" 0 33 + -ap $lfB "bottom" 0 75 + + -af $upB "top" 0 + -ap $upB "left" 0 33 + -ap $upB "right" 0 67 + -ap $upB "bottom" 0 50 + + -ap $dnB "top" 0 50 + -ap $dnB "left" 0 33 + -ap $dnB "right" 0 67 + -af $dnB "bottom" 0 + + -ap $rtB "top" 0 25 + -ap $rtB "left" 0 67 + -af $rtB "right" 0 + -ap $rtB "bottom" 0 75 + $butForm; + + formLayout -e + -af $rads "top" 0 + -af $rads "left" 0 + -an $rads "right" + -an $rads "bottom" + + -ac $butForm "top" 0 $rads + -af $butForm "left" 0 + -ap $butForm "right" 0 75 + -af $butForm "bottom" 0 + + -af $facLbl "top" 3 + -ac $facLbl "left" 0 $butForm + -af $facLbl "right" 0 + -an $facLbl "bottom" + + -ac $fac "top" 3 $facLbl + -ac $fac "left" 0 $butForm + -af $fac "right" 0 + -an $fac "bottom" + + -ac $nudgLbl "top" 3 $fac + -ac $nudgLbl "left" 0 $butForm + -af $nudgLbl "right" 0 + -an $nudgLbl "bottom" + + -ac $nudg "top" 3 $nudgLbl + -ac $nudg "left" 0 $butForm + -af $nudg "right" 0 + -an $nudg "bottom" + + -ac $absCheck "top" 3 $nudg + -ac $absCheck "left" 0 $butForm + -an $absCheck "right" + -an $absCheck "bottom" + + -ac $curvePiv "top" 3 $absCheck + -ac $curvePiv "left" 0 $butForm + -an $curvePiv "right" + -an $curvePiv "bottom" + $form; + + showWindow $windowName; + } + + +global proc zooKeymasterUINudge( string $dir ) { + string $pivot = "zero"; + float $factor = `floatField -q -v zooKMUIFloatFactor`; + int $pivIdx = `radioButtonGrp -q -sl zooKeymasterUIRadioPiv`; + int $nudge = `intField -q -v zooKMUIIntNudge`; + int $abs = `checkBox -q -v zooKMUIIntAbs`; + int $curvePivot = `checkBox -q -v zooKMUIIntCurve`; + + if( $pivIdx == 2 ) $pivot = "min"; + if( $pivIdx == 3 ) $pivot = "mid"; + if( $pivIdx == 4 ) $pivot = "max"; + zooKeymaster ( "-dir "+ $dir +" -nudge "+ $nudge +" -factor "+ $factor +" -pivot "+ $pivot +" -abs "+ $abs +" -curvePivot "+ $curvePivot ); + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooKeymaster_help.zooHelp b/2009-x64/zooScripts/scripts/zooKeymaster_help.zooHelp new file mode 100644 index 0000000..72069dc --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooKeymaster_help.zooHelp @@ -0,0 +1,18 @@ +----Usage---- +Keymaster lets you bump key values around really easily. The +script works on either selected keys, or if you don't have any selected keys, any keys on the current frame. If there are no keys on the current frame, then the script works on the keys on the previous most frame. + +Hitting the "push up" button will bump the key value up by a percentage value. By default the value is 2% (or 0.02). Hitting the "push down" button will decrease the value by the given percentage. So this script allows a super easy way to quickly bump the values of your keyframes around. + + +----Assigning Hotkeys---- +You can assign this script to a hotkey if you want. So you might want to have a hotkey to bump values by 1% and another hotkey to bump values by 5%. Or whatever way you like to work. + +The command to put into the hotkey is: +zooKeymaster "-dir up -factor 0.01"; + +this would bump keys up by 1%. If you wanted a key to bump down by 10% you would use this: + +zooKeymaster "-dir down -factor 0.1"; + +If you ever want to know what command to put as a hotkey, just set the values you want in the UI, press the direction to shift the keyframe and check out te script editor. It all gets echoed into the script editor so all you need to do is copy/paste it directly into your hotkey command. diff --git a/2009-x64/zooScripts/scripts/zooLineOfAction.mel b/2009-x64/zooScripts/scripts/zooLineOfAction.mel new file mode 100644 index 0000000..979f4e7 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooLineOfAction.mel @@ -0,0 +1,100 @@ +zooArrays_str; +zooAttrUtils; +zooBounds; +zooFlags; +zooObjMenuUtils; +zooRegister; +zooShaders; + + +global proc zooLineOfAction() { + return; + } + + +global proc string zooLineOfAction_multi( string $objs[], string $optionStr ) { + int $num = `size $objs`; + if( $num < 2 ) return ""; + + string $temp[] = {}; + string $colour = "red"; + float $sizeX[] = zooGetSizeFromBounds(`zooGetPivotBounds $objs`); + float $size = zooGetElement_float(-1,`sort $sizeX`); + float $thickness = 0; + + for( $n=0; $n<$num-1; $n++ ) $thickness += zooVectorMag(`zooBetweenVector $objs[$n] $objs[( $n+1 )]`); + $temp = `zooGetFlagArguments $optionStr thickness`; if( `size $temp` ) $thickness = $temp[0]; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = `zooArrayToStr_str $temp " "`; + + string $style = "multi"; //single + string $pivots[] = {}; + string $deforms[] = {}; + string $curveCmd = "curve -d 1 "; + string $topLevel = `group -em`; + string $lookat = `zooGetLookat 1`; + float $unitComp = (`currentUnit -q -l`=="m")?10:1; + + $topLevel = `rename $topLevel "zooLine_of_action#"`; + for( $n=0; $n<$num; $n++ ) { + select -d; + string $jnt = `joint`; + string $grp = `group -em`; + + $deforms[$n] = $jnt; + $pivots[$n] = $grp; + delete `parentConstraint $objs[$n] $jnt`; + delete `parentConstraint $objs[$n] $grp`; + parent $jnt $grp; + setAttr ( $grp +".v" ) 0; + pointConstraint $objs[$n] $grp; + aimConstraint -aim 0 0 1 $lookat $grp; + + float $pos[] = `xform -q -ws -rp $jnt`; + $curveCmd += "-p "+ $pos[0] +" "+ $pos[1] +" "+ $pos[2] +" "; + } + + for( $n=0; $n<$num; $n++ ) $curveCmd += "-k "+ $n +" "; + string $baseCurve = `eval $curveCmd`; + string $curve = zooGetElement_str(0,`fitBspline -ch 1 -tol 0.0001 $baseCurve`); + string $curveShape = zooGetElement_str(0,`listRelatives -s -pa $curve`); + string $skinCluster = zooGetElement_str(0,`skinCluster $baseCurve $deforms`); + + for( $n=0; $n<$num; $n++ ) skinPercent -tv $deforms[$n] 1 $skinCluster ( $baseCurve +".cv["+ $n +"]" ); + setAttr ( $baseCurve +".v" ) 0; + setAttr ( $curve +".v" ) 0; + + string $extShape = zooGetElement_str(0,`circle -c 0 0 0 -nr 0 1 0 -sw 360 -r( $thickness/50 ) -d 3 -ut 0 -tol 0 -s 4 -ch 0`); + delete `parentConstraint $pivots[0] $extShape`; + makeIdentity -a 1 -t 1 -r 1 -s 1 $extShape; + setAttr ( $extShape +".v" ) 0; + string $ext = zooGetElement_str(0,`extrude -ch 1 -rn 0 -po 0 -et 2 -ucp 1 -fpt 1 -upn 1 -rsp 1 $extShape $curve`); + + addAttr -at "float" -ln "thickness" -k 1 -min 0 -max 10 $ext; + addAttr -at "float" -ln "offset" -k 1 -min 0 -dv $size $ext; + setAttr -k 1 ( $ext +".thickness" ) 1; + setAttr -k 1 ( $ext +".offset" ) $size; + connectAttr -f ( $ext +".thickness" ) ( $extShape +".scaleX" ); + connectAttr -f ( $ext +".thickness" ) ( $extShape +".scaleY" ); + connectAttr -f ( $ext +".thickness" ) ( $extShape +".scaleZ" ); + for( $d in $deforms ) connectAttr -f ( $ext +".offset" ) ( $d +".tz" ); + zooAttrState "-attrs t r s v -k 0" $ext; + zooAttrState "-attrs t r s -l 1" $ext; + zooSetObjShader $ext `zooGetShader $colour 1`; + parent $pivots $topLevel; + parent $baseCurve $curve $extShape $ext $topLevel; + + //register the loa + string $reg = `zooGetRegister zoo 1`; + zooRegisterObj $reg linesOfAction $topLevel 1 1; + + //now finally add right click commands for cleanup + zooObjMenuAddCmdAll $ext "delete line of action" "delete `listRelatives -f -p #`;"; + zooObjMenuAddCmdAll $ext "delete all lines of action" "zooLineOfAction;\nstring $reg = `zooGetRegister zoo 1`;\nstring $loas[] = {};\nzooListRegistered $reg linesOfAction {} $loas;\nfor( $l in $loas ) if( `objExists $l` ) delete $l;"; + zooObjMenuAddCmdAll $ext "use current camera" "string $panel = `getPanel -wf`;\nstring $cam = `modelPanel -q -cam $panel`;\nzooSetLookat $cam;"; + select -d; + return $topLevel; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooLockFile.mel b/2009-x64/zooScripts/scripts/zooLockFile.mel new file mode 100644 index 0000000..ebed490 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooLockFile.mel @@ -0,0 +1,150 @@ +//this script creates a .lock file for a user, and everytime they open a file, it creates an entry +//in this file indicating that its open by them. When a user loads a file, maya automatically +//checks through all these .lock files to see if the file in question is already opened by another +//user. If so it warns them that the file is already open by someone else. + + +//set up the global variables used by this script +//this path must be a commonly available network path - the script checks lock files to see if someone else +//has a file open already +global string $zooLockFileDir = "//network/shared/file_locks/"; + + +//deals with creating the file lock - the "*" keyword locks the currently opened file +global proc zooLockFile( string $file ){ + int $maxFilesInList = 3; //this will be the maximum numer of files listed in the lock file - set it to -1 to have no limit + if( $file == "*" ) $file = `file -q -loc`; + $file = `tolower $file`; + + global string $zooLockFileDir; + string $user = `getenv USER`; + string $userLock = ( $zooLockFileDir + $user +".lock" ); + string $existingLock = `zooCheckIfLocked $file`; + + if( !`filetest -r $file` ) { warning "the specified file doesn't exist - aborting..."; return; } + if( $existingLock == "" ) { + string $fileContents[] = {}; + string $newFileContents = $file +"\n"; + if( `filetest -w $userLock` ) $fileContents = `zooReadFile $userLock "-strip 1"`; + int $fileID = `fopen $userLock "w"`; + + if( $maxFilesInList < 1 ) $maxFilesInList = `size $fileContents` + 1; + for( $n=0; $n<$maxFilesInList-1; $n++ ) $newFileContents += $fileContents[$n] +"\n"; + + //now write the currently opened file, and the previous two files that were already in the list + //i've assumed that no one really works on more than $maxFilesInList files at a time, so anymore than three files + //in this list is probably due to older files not being removed properly + fprint $fileID $newFileContents; + fclose $fileID; + } + else confirmDialog -m( "this file is probably already open by: "+ $existingLock +"\n\nplease talk to them before making any changes" ) -t( $existingLock +" has this file open" ); + zooCreateUnlockNode; + } + + +//deals with unlocking a file - ie removing it from the list of locked files in the user's .lock file +global proc zooUnlockFile( string $file ){ + if( $file == "*" ) $file = `file -q -loc`; + $file = `tolower $file`; + + global string $zooLockFileDir; + string $user = `getenv USER`; + string $userLock = ( $zooLockFileDir + $user +".lock" ); + string $existingLock = `zooCheckIfLocked $file`; + string $fileContents[] = `zooReadFile $userLock "-strip 1"`; + string $newFile = ""; + + if( $existingLock == "" ) return; + for( $lock in $fileContents ) { + if( $lock != $file ) $newFile += $lock +"\n"; + } + + if( $newFile == "\n" ) sysFile -delete $userLock; + else { + int $fileID = `fopen $userLock "w"`; + fprint $fileID $newFile; + fclose $fileID; + } + } + + +//returns whether a file is locked by another user or not - the "*" keyword checks the current open file +global proc string zooCheckIfLocked( string $file ) { + global string $zooLockFileDir; + string $userLocks[] = `getFileList -folder $zooLockFileDir -fs "*.lock"`; + string $lockedBy = ""; + + for( $user in $userLocks ) { + string $fileContents[] = `zooReadFile ( $zooLockFileDir + $user ) "-strip 1"`; + for( $lock in $fileContents ) { + if( $lock == $file ) $lockedBy = `match "^[^.]+" $user`; + } + } + + return $lockedBy; + } + + +//loads the script job that deals with warning about locked files +global proc zooLockFileLoadJob() { + global int $zooLockFileJob; + + scriptJob -e quitApplication ( "zooUnlockFile \"*\"" ); + if( !$zooLockFileJob ) $zooLockFileJob = `scriptJob -e SceneOpened ( "zooLockFile \"*\"" )`; + else warning "already loaded"; + } + + +//loads the script job that deals with warning about locked files +global proc zooLockFileUnloadJob() { + global int $zooLockFileJob; + if( `scriptJob -ex $zooLockFileJob` ) { + scriptJob -k $zooLockFileJob; + $zooLockFileJob = 0; + } + + else warning "zooLockFile isn't loaded"; + } + + +//this proc builds a scriptNode that unlocks the file when it is closed - this node is locked so that it can't be accidentally deleted +global proc int zooCreateUnlockNode() { + string $nodes[] = `ls -type script`; + string $closeScripts[] = {}; + string $closeScript = ""; + + for( $node in $nodes ) if( `objExists ( $node +".zoolock" )` ) $closeScripts[( `size $closeScripts` )] = $node; + $closeScript = $closeScripts[0]; + for( $n=1; $n<`size $closeScripts`; $n++ ) { + lockNode -l 0 $closeScripts[$n]; + delete $closeScripts[$n]; + } + if( $closeScript == "" ) { + $closeScript = `scriptNode -scriptType 2 -as( "zooUnlockFile \"*\"" ) -n unlockScript`; + addAttr -ln zoolock -at bool $closeScript; + lockNode $closeScript; + } + + return 1; + } + + +//------ +//returns a list of all dependencies - ie other scripts this one relies on +//------ +global proc string[] zooLockFileDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooMatchNames.mel b/2009-x64/zooScripts/scripts/zooMatchNames.mel new file mode 100644 index 0000000..664e66a --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooMatchNames.mel @@ -0,0 +1,280 @@ +zooArrays_float; +zooArrays_str; +zooFlags; +zooStrUtils; + + +//given a list of names, and a list of targets, returns an array of targets that most closely match the source list +//the optionStr uses the following flags: +// +// -strip [int] automatically strips namespaces, or paths from names if true. default: 1 +// -parity [int] makes sure only like parity matches occur - ie arm_L is only ever matched to something with a _L parity. For a list of possible parities, see the hasParity proc at the end of this script. default: 0 +// -opposite [int] matches opposite parities if the parity flag is turned on. default: 0 +// -unique [int] will only ever match a single source object to a single target. If this is set to 1, no two source objects will ever be matched to the same target. default: 0 +// -threshold [float] only returns a match if the match threshold is over a certain value. 1 is a complete match, 0.7 matches 70% of tokens, while 0.4 is a rough match. Its roughly a percentage likeness. default is 0 - this doesn't mean the matching is less accurate, it simply means the matching algorithm will let very weak matches occur, which means fewer empty matches +// -sort [int] will sort both the source list and the target list alphabetically before running the match algorithm. Sorting before matching can produce slightly different results depending on the name lists. default: 0 +// -ignoreWordsSrc [int] ignores the first word in the source name. default: 0 +// -ignoreWordsTgt [int] ignores the first word in the target name. default: 0 +global proc string[] zooMatchNames( string $sources[], string $targets[], string $optionStr ) { + //stores the original array so we can restore it at the end of the proc - remember, arrays are passed by reference + string $tgtTemp[] = $targets; + string $srcTemp[] = $sources; + + string $matchedList[] = {}; + string $temp[] = {}; + float $threshold = 0; + int $strip = 1; + int $parity = 0; + int $opposite = 0; + int $unique = 0; + int $sort = 0; + + $temp = `zooGetFlagArguments $optionStr strip`; if( `size $temp` ) $strip = $temp[0]; + $temp = `zooGetFlagArguments $optionStr parity`; if( `size $temp` ) $parity = $temp[0]; + $temp = `zooGetFlagArguments $optionStr opposite`; if( `size $temp` ) $opposite = $temp[0]; + $temp = `zooGetFlagArguments $optionStr unique`; if( `size $temp` ) $unique = $temp[0]; + $temp = `zooGetFlagArguments $optionStr threshold`; if( `size $temp` ) $threshold = $temp[0]; + $temp = `zooGetFlagArguments $optionStr sort`; if( `size $temp` ) $sort = $temp[0]; + + string $tgtPrefixes[] = {}; //store prefixes for adding back to matches later + if( $strip ) { + for( $n=0; $n<`size $sources`; $n++ ) $sources[$n] = `match "[^:|]+$" $sources[$n]`; + for( $n=0; $n<`size $targets`; $n++ ) { + string $name = `match "[^:|]+$" $targets[$n]`; + string $prefix = `substring $targets[$n] 1 (size($targets[$n])-size($name))`; + + if( $name == $targets[$n] ) continue; + $tgtPrefixes[$n] = $prefix; + $targets[$n] = $name; + } + } + + if( $sort ) { + $sources = `sort $sources`; + $targets = `sort $targets`; + } + + for( $src in $sources ) { + float $tgtLikenesses[] = {}; //this array holds the number of tokens that match between each target + int $srcParity = `zooMatchHasParity $src`; + int $count = 0; + + //first, initialise the token count array + int $numTgts = `size $targets`; + for( $a=0; $a<$numTgts; $a++ ) $tgtLikenesses[$a] = 0; + + //now start going through each target + for( $tgt in $targets ) { + int $tgtParity = `zooMatchHasParity $tgt`; + + //if the user wants opposite parities matched, then swap the parity of the target to simplify additional code + if( $opposite ) if( $tgtParity ) $tgtParity = $tgtParity == 1? 2: 1; + + //if the parities on each name don't match, continue looping. parities must match for the match to succeed + if( $parity ) if( $srcParity != $tgtParity ) { + $count++; + continue; + } + + //now record the likeness and increment our counter + $tgtLikenesses[$count++] = `zooNameLikeness $src $tgt 0`; + } + + //figure out which target has the highest number of token name matches + int $highIdx = `zooGetHighestValueIdx_float $tgtLikenesses`; + + if( $tgtLikenesses[$highIdx] && $tgtLikenesses[$highIdx]>=$threshold ) { + //add back the prefifxes if we stripped them in the first place + if( $strip ) $matchedList[`size $matchedList`] = $tgtPrefixes[$highIdx] + $targets[$highIdx]; + else $matchedList[`size $matchedList`] = $targets[$highIdx]; + + //if the matches are to be unique - remove the matched target from the targets list + if( $unique ) { + $targets = `zooRemoveArrayIdx_str $targets $highIdx`; + $tgtPrefixes = `zooRemoveArrayIdx_str $tgtPrefixes $highIdx`; + } + } + else $matchedList[`size $matchedList`] = ""; + } + + //restore original arrays + $sources = $srcTemp; + $targets = $tgtTemp; + + return $matchedList; + } + + +//returns a float which represents a "likeness factor" between two words. the +//higher likeness factor, the more similar two words are +global proc float zooNameLikeness( string $src, string $tgt, int $stripPrefix ) { + //if the user wants the prefix stripped - strip it first, then do matching + if( $stripPrefix ) { + $src = `match "[^:|]+$" $src`; + $tgt = `match "[^:|]+$" $tgt`; + } + + //if the names match exactly, return the highest likeness + if( $src == $tgt ) return 1.0; + + string $srcTokens[] = `zooStrToWords $src`; + string $tgtTokens[] = `zooStrToWords $tgt`; + float $exactWeight = 1.025; //words match exactly + float $totalWeight = 0.0; + int $numSrcTokens = `size $srcTokens`; + int $numTgtTokens = `size $tgtTokens`; + + for( $srcTok in $srcTokens ) { + float $bestMatch = 0.0; + int $bestMatchIdx = -1; + int $srcTokSize = `size $srcTok`; + + for( $n=0; $n<$numTgtTokens; $n++ ) { + //calculate the token weight - we always take the length of the longest token for the weight + $tgtTok = $tgtTokens[$n]; + int $tgtTokSize = `size $tgtTok`; + + //first, check to see if the names are the same + if( $srcTok == $tgtTok ) { + $bestMatch = $tgtTokSize*$exactWeight; + $bestMatchIdx = $n; + //print( "exact match: "+ $srcTok +" "+ $tgtTok +" "+ $bestMatch +" "+ $bestMatchIdx +"\n" ); + break; + } + + //are the names the same bar case differences? + else if( `tolower $srcTok` == `tolower $tgtTok` ) { + $bestMatch = $tgtTokSize; + $bestMatchIdx = $n; + //print( "caseless match: "+ $srcTok +" "+ $tgtTok +" "+ $bestMatch +" "+ $n +"\n" ); + } + + //so now test to see if any of the tokens are "sub-words" of each other - ie if you have something_otherThing another_other + //the second token, "otherThing" and "other", the second is a subset of the first, so this is a rough match + else { + string $lowSrcTok = `tolower $srcTok`; + string $lowTgtTok = `tolower $tgtTok`; + int $smallestWord = $srcTokSize<$tgtTokSize? $srcTokSize: $tgtTokSize; + int $subWordWeight = 0; + + //the weight is calculated as a percentage of matched letters + if( $srcTokSize>$tgtTokSize ) $subWordWeight = $tgtTokSize*(((float)$tgtTokSize)/((float)$srcTokSize)); + else $subWordWeight = $srcTokSize*(((float)$srcTokSize)/((float)$tgtTokSize)); + if( $srcTokSize > 1 && $tgtTokSize > 1 ) { //make sure the src and tgt tokens are non-trivial (ie at least 2 letters) + if( `match $lowSrcTok $lowTgtTok` == $lowSrcTok ) { + $bestMatch = $subWordWeight; + $bestMatchIdx = $n; + //print( "partial src match: "+ $srcTok +" "+ $tgtTok +" "+ $bestMatch +" "+ $bestMatchIdx +"\n" ); + } + else if( `match $lowTgtTok $lowSrcTok` == $lowTgtTok ) { + $bestMatch = $subWordWeight; + $bestMatchIdx = $n; + //print( "partial tgt match: "+ $srcTok +" "+ $tgtTok +" "+ $bestMatch +" "+ $bestMatchIdx +"\n" ); + } + } + } + } + + //remove the best match from the list - so it doesn't get matched to any other tokens + if( $bestMatchIdx != -1 ) { + //print( "**BEST MATCH "+ $srcTok +": "+ $tgtTokens[$bestMatchIdx] +" "+ $bestMatch +"\n" ); + $tgtTokens = `zooRemoveArrayIdx_str $tgtTokens $bestMatchIdx`; + $numTgtTokens--; + } + + $totalWeight += $bestMatch; + } + + //get the total number of letters in the "words" of the longest name - we use this for a likeness baseline + int $lenCleanSrc = size($src); + int $lenCleanTgt = size($tgt); + int $lenClean = $lenCleanSrc>$lenCleanTgt? $lenCleanSrc: $lenCleanTgt; + + return ($totalWeight/($lenClean*$exactWeight)); + } + + +//returns a parity number for a given name. parity is 0 for none, 1 for left, and 2 for right +global proc int zooMatchHasParity( string $name ) { + string $parityTestsL[] = { "l","left", "lft", "lf" }; + string $parityTestsR[] = { "r","right", "rgt", "rt" }; + string $toks[] = `zooStrToWords $name`; + + //comment this line out if you don't want camel case testing - if if there are + //no separators in the name, the script splits by camel case and adds + //separators to the toks which usually increases parity matching accuracy, + //but it doesn't work with ALL naming conventions + $name = `zooArrayToStr_str $toks "_"`; + $name = `tolower $name`; + for( $test in $parityTestsL ) { + if( `match ( "_"+ $test +"[0-9]*$" ) $name` != "" ) return 1; + if( `match ( "_"+ $test +"[0-9]*_" ) $name` != "" ) return 1; + } + for( $test in $parityTestsR ) { + if( `match ( "_"+ $test +"[0-9]*$" ) $name` != "" ) return 2; + if( `match ( "_"+ $test +"[0-9]*_" ) $name` != "" ) return 2; + } + + return 0; + } + + +//returns the name of the opposing controller +global proc string zooGetOpposite( string $name ) { + int $parity = `zooMatchHasParity $name`; + string $parityStrsL[] = { "l","left", "lft", "lf" }; + string $parityStrsR[] = { "r","right", "rgt", "rt" }; + string $pStrs[] = $parityStrsL; + string $oppStrs[] = $parityStrsR; + + if( $parity == 0 ) return ""; + if( $parity == 2 ) { + $pStrs = $parityStrsR; + $oppStrs = $parityStrsL; + } + + string $nameToks[] = `zooStrToWords $name`; + string $opp = ""; + string $parityMatch = ""; + string $oppositeParity = ""; + int $numToks = `size $nameToks`; + int $numPStrs = `size $pStrs`; + int $parityIdx = -1; + + for( $n=0; $n<$numToks; $n++ ) { + for( $i=0; $i<$numPStrs; $i++ ) { + //if the cases match - solution is easy, simply return the matches + if( $nameToks[$n] == $pStrs[$i] ) { + $parityIdx = $i; + $parityMatch = $pStrs[$parityIdx]; + $oppositeParity = $oppStrs[$parityIdx]; + break; + } + //if the cases differ, then its a bit more complicated - we need to go through each letter in the parity string + //check its case, and make the same letter in the opposite parity string the same case + else if( tolower($nameToks[$n]) == $pStrs[$i] ) { + $parityIdx = $i; + $parityMatch = $nameToks[$n]; + $oppositeParity = `zooMatchCase $parityMatch $oppStrs[$parityIdx]`; + break; + } + } + if( $parityIdx != -1 ) break; + } + + if( $parityIdx != -1 ) $opp = `substitute $parityMatch $name $oppositeParity`; + return $opp; + } + + +/* +example: +zooMatchNames { "arm_L", "char_leg_left" }{ "an_objectName", "leg_left", "char_leg", "head_ctrl_obj", "arm_R", "char_arm_L" } "-parity 1 -threshold 0.8" +returns the array: { "char_arm_L", "" } + +while doing: +zooMatchNames { "arm_L", "char_leg_left" }{ "an_objectName", "leg_l", "char_leg", "head_ctrl_obj", "arm_R", "char_arm_Left" } "-parity 0 -threshold 0" +returns the array: { "char_arm_Left", "char_leg" } +*/ + +//zoo.end \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooMirror.mel b/2009-x64/zooScripts/scripts/zooMirror.mel new file mode 100644 index 0000000..f8ffc9b --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooMirror.mel @@ -0,0 +1,66 @@ +// zooMirror +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 07 August 2004 +// +// Hamish McKenzie ©2007... + + +zooAlign "-load 1"; +zooAnimStoreUtils; +zooArrays_str; +zooBrandTools; +zooStrUtils; +zooCSTPrimitives; + + +global proc zooMirror() { + string $windowName = "zooMirrorWindow"; + string $windowTitle = "mirror tools"; + int $width = 300; + int $height = 50; + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -rtf 0 -maximizeButton 0 -sizeable 1 $windowName; + menuBarLayout; + menu -l "File"; + + string $form = `formLayout`; + string $scroll = `scrollLayout -cr 1 -hst 0 -vst 1`; + columnLayout -adjustableColumn 1 explorerAssetList; + setParent ..; + setParent ..; + + formLayout -e + -af $filterLbl "top" 3 + -af $filterLbl "left" 5 + -an $filterLbl "right" + $form; + + showWindow $windowName; + window -e -wh $width $height $windowName; + } + + + +global proc string[] zooMirrorDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAlign"; + $melDependencies[( `size $melDependencies` )] = "zooAnimStoreUtils"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooBrandTools"; + $melDependencies[( `size $melDependencies` )] = "zooCSTPrimitives"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooStrUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + return {}; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooMirrorSelection.mel b/2009-x64/zooScripts/scripts/zooMirrorSelection.mel new file mode 100644 index 0000000..588dcd2 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooMirrorSelection.mel @@ -0,0 +1,20 @@ +zooUtils; +zooArrays_str; +zooMatchNames {} {} ""; + + +global proc zooMirrorSelection( int $add ) { + string $sel[] = `ls -sl`; + string $opposite[] = {}; + + for( $s in $sel ) { + string $oppositeName = `zooGetOpposite $s`; + if( `objExists $oppositeName` ) $opposite[( `size $opposite` )] = $oppositeName; + else $opposite[( `size $opposite` )] = $s; + } + if( $add ) $opposite = `zooAddArray_str $sel $opposite`; + select $opposite; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooMirrorUtils.mel b/2009-x64/zooScripts/scripts/zooMirrorUtils.mel new file mode 100644 index 0000000..ff8b63f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooMirrorUtils.mel @@ -0,0 +1,352 @@ +// zooMirror +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 07 August 2004 +// +//this script contains a bunch of useful general purpose and zooCST specific +//mirroring utilities. +// +// Hamish McKenzie ©2007... + + +zooAlign "-load 1"; +zooAnimStoreUtils; +zooArrays_str; +zooBrandTools; +zooCSTPrimitives; + + +global proc zooMirrorUtils() { + return; + } + + +global proc string zooGetCharNameFromObjs( string $objs[] ) { + string $sets[] = `listConnections -type objectSet`; + string $char = ""; + for( $set in $sets ) $char = `zooQueryBrand $sets[0] name`; + + return $char; + } + + +//------ +//given a character prefix, this proc will deal with the specifics of mirroring +//each primitive that makes up the character - see zooMirrorPrimitive comments for +//available flags to use +//------ +global proc zooMirrorChar( string $char, string $optionStr ) { + string $temp[] = {}; + string $around = ""; + + $temp = `zooGetFlagArguments $optionStr around`; if( `size $temp` ) if( `objExists $temp[0]` ) $around = $temp[0]; + + string $primTypeOrder[] = {""}; + string $root = zooGetElement_str(0,`zooGetBrandedWithList {"name","root"} {$char,$char}`); + string $allPrims[] = `zooCSTListPrimitives`; + string $prims[] = {}; + + //we only want left handed primitives - opposite controls are automatically found + for( $prim in $allPrims ) if( `zooIsBrandedWith $prim char $char` ) { + string $id = `zooQueryBrand $prim id`; + if( `match "^_L" $id` != "" || `match "^[lL]" $id` != "" || `match "^[0-9]" $id` != "" ) $prims[( `size $prims` )] = $prim; + } + + for( $prim in $prims ) zooMirrorPrimitive $prim $optionStr; + if( `objExists $root` ) zooMirrorSrcToTgt $root $around $root; + } + + +//------ +//given a primitive node, this proc will figure out what type of primitive it is, +//and deal with the specifics of mirroring each control appropriately. currently +//it only supports a single flag: +// +// -around [obj] the object to mirror the primitive around - defaults to nothing, which mirrors the primitive around the origin +//------ +global proc zooMirrorPrimitive( string $prim, string $optionStr ) { + string $temp[] = {}; + string $around = ""; + + $temp = `zooGetFlagArguments $optionStr around`; if( `size $temp` ) if( `objExists $temp[0]` ) $around = $temp[0]; + + string $type = `zooQueryBrand $prim primitive`; + string $controls[] = `zooCSTListRegistered control $prim`; + + switch( $type ) { + case "head": + for( $c in $controls ) zooAxisSwapMirror $c; + break; + + case "basicSpine": + string $char = `zooQueryBrand $prim char`; + //string $root = zooGetElement_str(0,`zooGetBrandedWithList {"name","root"} {$char,$char}`); + + $controls = `zooReverseArray_str $controls`; + for( $c in $controls ) if( !`zooIsBrandedWith $c root $char` ) zooAxisSwapMirror $c;//zooMirrorSrcToTgt $c $root $c; + break; + + case "eyes": + case "moveableEyes": + zooSwapTransforms $controls[3] ( "-rot 0 -around "+ $controls[0] +" -tgt "+ $controls[4] ); + //zooMirrorSrcToTgt $controls[0] "" $controls[0]; + //zooSwapTransforms $controls[1] ( "-pos 0 -tgt "+ $controls[2] ); + break; + + case "arm": + //the ik controls are a touch tricky - the rotations are simple swapping + //(because they inherit orientation frmo the skeleton which is mirrored) + //but the position needs to be globally determined, so we do it in 2 steps + zooSwapTransforms $controls[0] "-pos 0 -simple 1"; + zooSwapTransforms $controls[0] ( "-rot 0 -flipTgt 1 -around "+ $around ); + + //now do the clavicle and FK controls - usually we just need simple rotation swapping for these + for( $n=2; $n<`size $controls`; $n++ ) zooSwapTransforms $controls[$n] "-pos 0 -simple 1"; + break; + + case "leg": + zooSwapTransforms $controls[0] ( "-around "+ $around ); + for( $n=2; $n<`size $controls`; $n++ ) zooSwapTransforms $controls[$n] "-pos 0 -simple 1"; + break; + } + } + + +//------ +//this is really a mirror and swap procedure. it is the basis for pose mirroring +//which really needs to mirror gross positions, determine opposing controls and +//swap the mirrored positions of opposable controls. it is quite complicated +//mirroring a pose, so there are quite a few flags to control how this procedure works +// +// -tgt [obj] this is the object to swap with - defaults to the object's opposite provided it exists. so if the object is the leftIK control, it defaults to the rightIK control +// -around [obj] the object to mirror about - defaults to the origin +// -pos [int] mirror position? defaults to true +// -rot [int] mirror rotation? defaults to true +// -other [int] mirror other attributes? defaults to true +// -simple [int] does simple attribute swapping - no mirroring is performed +// -flipSrc [int] flips the source "up axis" when doing the mirror - sometimes opposing controls have different axis orientations +// -flipTgt [int] flips the target "up axis" when doing the mirror +//------ +global proc string[] zooSwapTransforms( string $obj, string $optionStr ) { + //parse the optionString + string $temp[] = {}; + string $around = ""; + string $tgt = ""; + int $mirrorPos = 1; + int $mirrorRot = 1; + int $mirrorOther = 1; + int $simple = 0; + int $flipSrc = 0; + int $flipTgt = 0; + + $temp = `zooGetFlagArguments $optionStr tgt`; if( `size $temp` ) $tgt = $temp[0]; + $temp = `zooGetFlagArguments $optionStr around`; if( `size $temp` ) $around = $temp[0]; + $temp = `zooGetFlagArguments $optionStr pos`; if( `size $temp` ) $mirrorPos = $temp[0]; + $temp = `zooGetFlagArguments $optionStr rot`; if( `size $temp` ) $mirrorRot = $temp[0]; + $temp = `zooGetFlagArguments $optionStr other`; if( `size $temp` ) $mirrorOther = $temp[0]; + $temp = `zooGetFlagArguments $optionStr simple`; if( `size $temp` ) $simple = $temp[0]; + $temp = `zooGetFlagArguments $optionStr flipSrc`; if( `size $temp` ) $flipSrc = $temp[0]; + $temp = `zooGetFlagArguments $optionStr flipTgt`; if( `size $temp` ) $flipTgt = $temp[0]; + + if( !`objExists $obj` ) return {}; + if( !`objExists $tgt` ) $tgt = `zooMirrorGetOpposite $obj`; + if( !`objExists $tgt` ) return {}; + if( $simple ) { + string $axes[] = { "tx","ty","tz","rx","ry","rz","sx","sy","sz" }; + float $objXforms[] = {}; + float $tgtXforms[] = {}; + + //get the xforms + for( $n=0; $n<9; $n++ ) $objXforms[$n] = `getAttr ( $obj +"."+ $axes[$n] )`; + for( $n=0; $n<9; $n++ ) $tgtXforms[$n] = `getAttr ( $tgt +"."+ $axes[$n] )`; + + //apply the xforms + if( $mirrorPos ) { + for( $n=0; $n<3; $n++ ) if( `getAttr -se ( $obj +"."+ $axes[$n] )`) setAttr ( $obj +"."+ $axes[$n] ) $tgtXforms[$n]; + for( $n=0; $n<3; $n++ ) if( `getAttr -se ( $tgt +"."+ $axes[$n] )`) setAttr ( $tgt +"."+ $axes[$n] ) $objXforms[$n]; + } + if( $mirrorRot ) { + for( $n=3; $n<6; $n++ ) if( `getAttr -se ( $obj +"."+ $axes[$n] )`) setAttr ( $obj +"."+ $axes[$n] ) $tgtXforms[$n]; + for( $n=3; $n<6; $n++ ) if( `getAttr -se ( $tgt +"."+ $axes[$n] )`) setAttr ( $tgt +"."+ $axes[$n] ) $objXforms[$n]; + } + for( $n=6; $n<9; $n++ ) if( `getAttr -se ( $obj +"."+ $axes[$n] )`) setAttr ( $obj +"."+ $axes[$n] ) $tgtXforms[$n]; + for( $n=6; $n<9; $n++ ) if( `getAttr -se ( $tgt +"."+ $axes[$n] )`) setAttr ( $tgt +"."+ $axes[$n] ) $objXforms[$n]; + } + else { + float $objXform[] = `zooGetMirroredXform $obj ( "-up "+ ($flipSrc?-1:1) +" -around "+ $around )`; + float $tgtXform[] = `zooGetMirroredXform $tgt ( "-up "+ ($flipTgt?-1:1) +" -around "+ $around )`; + + if( $mirrorPos ) { + move -ws -a -rpr $objXform[0] $objXform[1] $objXform[2] $tgt; + move -ws -a -rpr $tgtXform[0] $tgtXform[1] $tgtXform[2] $obj; + } + + if( $mirrorRot ) { + rotate -ws $objXform[3] $objXform[4] $objXform[5] $tgt; + rotate -ws $tgtXform[3] $tgtXform[4] $tgtXform[5] $obj; + } + } + + if( $mirrorOther ) { + //now mirror values of custom attribs + string $srcNonXformAttribNames[] = `listAttr -k -ud $obj`; + string $tgtNonXformAttribNames[] = `listAttr -k -ud $tgt`; + float $srcNonXformAttribValues[] = {}; + float $tgtNonXformAttribValues[] = {}; + + //save all values for both source and target + for( $attrib in $srcNonXformAttribNames ) $srcNonXformAttribValues[( `size $srcNonXformAttribValues` )] = `getAttr ( $obj + "." + $attrib )`; + for( $attrib in $tgtNonXformAttribNames ) $tgtNonXformAttribValues[( `size $tgtNonXformAttribValues` )] = `getAttr ( $tgt + "." + $attrib )`; + + //now apply values from source to target and vice versa + if( $mirrorOther ) for( $n = 0; $n < `size $srcNonXformAttribNames`; $n++ ) if( `objExists ( $tgt + "." + $srcNonXformAttribNames[$n] )` ) setAttr -clamp ( $tgt + "." + $srcNonXformAttribNames[$n] ) $srcNonXformAttribValues[$n]; + if( $mirrorOther ) for( $n = 0; $n < `size $tgtNonXformAttribNames`; $n++ ) if( `objExists ( $obj + "." + $tgtNonXformAttribNames[$n] )` ) setAttr -clamp ( $obj + "." + $tgtNonXformAttribNames[$n] ) $tgtNonXformAttribValues[$n]; + } + + return { $obj, $tgt }; + } + + +//------ +//this is a dumb mirroring proc which simply reverses y and z rotation axes +//------ +global proc zooAxisSwapMirror( string $obj ) { + if( !`objExists $obj` ) return; + if( !`objExists ( $obj +".ry" )` ) return; + int $roo = `getAttr ( $obj +".rotateOrder" )`; + + float $y = `getAttr ( $obj +".ry" )`; + float $z = `getAttr ( $obj +".rz" )`; + if( `getAttr -se ( $obj +".ry" )`) setAttr ( $obj +".ry" ) ($y*-1); + if( `getAttr -se ( $obj +".rz" )`) setAttr ( $obj +".rz" ) ($z*-1); + /*switch( $roo ) { + case 0: + case 3: + float $y = `getAttr ( $obj +".ry" )`; + float $z = `getAttr ( $obj +".rz" )`; + setAttr ( $obj +".ry" ) ($y*-1); + setAttr ( $obj +".rz" ) ($z*-1); + break; + }*/ + } + +//------ +//return the name of the opposing control, if one exists. otherwise return an empty array +//------ +global proc string zooMirrorGetOpposite( string $obj ) { + string $brands[] = `zooListObjBrands $obj`; + string $charName = `zooQueryBrand $obj name`; + string $opposite = ""; + + zooMatchNames {} {} ""; //load match names + for( $attr in $brands ) { + string $brandString = `zooQueryBrand $obj $attr`; + if( $brandString == "_L" || $brandString == "_R" ) { + //now we know we're dealing with an opposable control + string $oppositeString = ( $brandString == "_R" )? "_L": "_R"; + string $oppositeControls[] = `zooGetBrandedWith $attr $oppositeString`; + for( $control in $oppositeControls ) if( `zooIsBrandedWith $control name $charName` ) $opposite = $control; + } + } + + if( `objExists $opposite` ) return $opposite; + string $stringOpposite = `zooGetOpposite $obj`; + if( `objExists $stringOpposite` ) return $stringOpposite; + return ""; + } + + +//------ +// +//------ +global proc zooMirrorSrcToTgt( string $src, string $ref, string $tgt ) { + float $xform[] = `zooGetMirroredXform $src ( "-around "+ $ref )`; + move -ws -a -rpr $xform[0] $xform[1] $xform[2] $tgt; + rotate -ws $xform[3] $xform[4] $xform[5] $tgt; + } + + +//------ +//given an object, this proc returns the mirrored worldspace transforms for that +//object. it is controlled by the following flags +// +// -around [obj] the object to mirror around - defaults to nothing which does a mirror about the origin +// -aim [int] the parity aim vector - defaults to -1, which given objects with identical axes, performs a perfect mirror. if the target object has differing axes (ie its parent is transformed) you may need to try 1 for this +// -up [int] similar to the -aim flag, this is the parity of the up vector when mirroring. defaults to 1 +// +//NOTE: the return array is of the form: float[]: tx, ty, tz, rx, ry, rz +//------ +global proc float[] zooGetMirroredXform( string $obj, string $optionStr ) { + string $temp[] = {}; + string $mirrorRef = ""; + int $aim = -1; + int $up = 1; + + $temp = `zooGetFlagArguments $optionStr around`; if( `size $temp` ) $mirrorRef = $temp[0]; + $temp = `zooGetFlagArguments $optionStr aim`; if( `size $temp` ) $aim = $temp[0]; + $temp = `zooGetFlagArguments $optionStr up`; if( `size $temp` ) $up = $temp[0]; + + string $parent = zooGetElement_str(0,`listRelatives -f -p $obj`); + string $mirGrp = `group -em`; + string $objMir = `group -em`; + string $xLoc = `group -em`; + string $yLoc = `group -em`; + + if( `objExists $parent` ) parent $mirGrp $parent; + parent $xLoc $objMir; + parent $yLoc $objMir; + parent $objMir $mirGrp; + zooAlignFast $mirrorRef $mirGrp 0 0; + zooAlignFast $obj $objMir 0 0; + setAttr ( $xLoc +".tx" ) $aim; + setAttr ( $yLoc +".ty" ) $up; + setAttr ( $mirGrp +".sx" ) -1; + for( $a in {$mirGrp,$objMir,$xLoc,$yLoc}) setAttr( $a +".displayHandle" ) 1; + + string $objMirRot = `group -em`; + zooAlignFast $objMir $objMirRot 0 0; + aimConstraint -aim 1 0 0 -u 0 1 0 -wut object -wuo $yLoc $xLoc $objMirRot; + + //zooAlignFast $objMirRot $obj 0 0; + float $tForm[] = `xform -q -a -ws -rp $objMirRot`; + float $rForm[] = `xform -q -a -ws -ro $objMirRot`; + float $xform[] = `zooAddArray_float $tForm $rForm`; + + delete $objMirRot; + delete $objMir; + + return $xform; + } + + +//------ +//returns the result of multiplying to matricies together +//------ +global proc matrix zooMirrorMultiplyMatrices( matrix $mat1, matrix $mat2 ){ + matrix $result[4][4]; + $result[0][0] = $mat1[0][0]*$mat2[0][0] + $mat1[0][1]*$mat2[1][0] + $mat1[0][2]*$mat2[2][0] + $mat1[0][3]*$mat2[3][0]; + $result[1][0] = $mat1[1][0]*$mat2[0][0] + $mat1[1][1]*$mat2[1][0] + $mat1[1][2]*$mat2[2][0] + $mat1[1][3]*$mat2[3][0]; + $result[2][0] = $mat1[2][0]*$mat2[0][0] + $mat1[2][1]*$mat2[1][0] + $mat1[2][2]*$mat2[2][0] + $mat1[2][3]*$mat2[3][0]; + $result[3][0] = $mat1[3][0]*$mat2[0][0] + $mat1[3][1]*$mat2[1][0] + $mat1[3][2]*$mat2[2][0] + $mat1[3][3]*$mat2[3][0]; + + $result[0][1] = $mat1[0][0]*$mat2[0][1] + $mat1[0][1]*$mat2[1][1] + $mat1[0][2]*$mat2[2][1] + $mat1[0][3]*$mat2[3][1]; + $result[1][1] = $mat1[1][0]*$mat2[0][1] + $mat1[1][1]*$mat2[1][1] + $mat1[1][2]*$mat2[2][1] + $mat1[1][3]*$mat2[3][1]; + $result[2][1] = $mat1[2][0]*$mat2[0][1] + $mat1[2][1]*$mat2[1][1] + $mat1[2][2]*$mat2[2][1] + $mat1[2][3]*$mat2[3][1]; + $result[3][1] = $mat1[3][0]*$mat2[0][1] + $mat1[3][1]*$mat2[1][1] + $mat1[3][2]*$mat2[2][1] + $mat1[3][3]*$mat2[3][1]; + + $result[0][2] = $mat1[0][0]*$mat2[0][2] + $mat1[0][1]*$mat2[1][2] + $mat1[0][2]*$mat2[2][2] + $mat1[0][3]*$mat2[3][2]; + $result[1][2] = $mat1[1][0]*$mat2[0][2] + $mat1[1][1]*$mat2[1][2] + $mat1[1][2]*$mat2[2][2] + $mat1[1][3]*$mat2[3][2]; + $result[2][2] = $mat1[2][0]*$mat2[0][2] + $mat1[2][1]*$mat2[1][2] + $mat1[2][2]*$mat2[2][2] + $mat1[2][3]*$mat2[3][2]; + $result[3][2] = $mat1[3][0]*$mat2[0][2] + $mat1[3][1]*$mat2[1][2] + $mat1[3][2]*$mat2[2][2] + $mat1[3][3]*$mat2[3][2]; + + $result[0][3] = $mat1[0][0]*$mat2[0][3] + $mat1[0][1]*$mat2[1][3] + $mat1[0][2]*$mat2[2][3] + $mat1[0][3]*$mat2[3][3]; + $result[1][3] = $mat1[1][0]*$mat2[0][3] + $mat1[1][1]*$mat2[1][3] + $mat1[1][2]*$mat2[2][3] + $mat1[1][3]*$mat2[3][3]; + $result[2][3] = $mat1[2][0]*$mat2[0][3] + $mat1[2][1]*$mat2[1][3] + $mat1[2][2]*$mat2[2][3] + $mat1[2][3]*$mat2[3][3]; + $result[3][3] = $mat1[3][0]*$mat2[0][3] + $mat1[3][1]*$mat2[1][3] + $mat1[3][2]*$mat2[2][3] + $mat1[3][3]*$mat2[3][3]; + + return $result; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooNameSpacey.mel b/2009-x64/zooScripts/scripts/zooNameSpacey.mel new file mode 100644 index 0000000..bde7c51 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooNameSpacey.mel @@ -0,0 +1,149 @@ +// +// zooNameSpacey +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 07 October 2003 +// +// Description: +// helps management of name spaces within a scene +// +// Hamish McKenzie ©2007... + + +zooNameSpaceyUtils; + + +global proc zooNameSpacey() { + string $windowName = "zooNameSpaceyWindow"; + string $windowTitle = "zooNameSpacey v" + `zooNameSpaceyInfo version` + " -:macaroniKazoo:-"; + + if ( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -widthHeight 320 190 $windowName; + scriptJob -p $windowName -e "SceneOpened" "zooNameSpaceyWindowFunctions -update"; + menuBarLayout; + menu -label "Help"; + menuItem -l "Help..." -c ( "zooHelp zooNameSpacey 1" ); + + formLayout zooNameSpaceyForm; + columnLayout -columnWidth 115 -columnAttach both 0 zooNameSpaceyColumnButtons; + button -l "select members" -height 20 -c ( "zooNameSpaceyWindowFunctions -select" ); + button -l "remove namespace" -height 20 -c ( "zooNameSpaceyWindowFunctions -remove" ); + button -l "delete namespace" -height 20 -c ( "zooNameSpaceyWindowFunctions -delete" ); + + text -l ""; + text -l "current namespace:"; + textField -ed 0 zooNameSpaceyTextCurrent; + setParent..; + + string $rnmLbl = `text -l "rename:" zooNameSpaceyTextRenameLabel`; + string $spaces = `textScrollList -numberOfRows 8 -allowMultiSelection 0 -sc ( "zooNameSpaceyWindowFunctions -updateSpace" ) -dcc ( "zooNameSpaceyWindowFunctions -makeCurrent" ) zooNameSpaceyScrollSpaces`; + + string $rnmTxt = `textField -cc ( "zooNameSpaceyWindowFunctions -rename" ) zooNameSpaceyTextName`; + + string $image = `image -width 328 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" ) zooNameSpaceyImageSig`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent..; + + formLayout -edit + -af zooNameSpaceyColumnButtons "top" 2 + -af zooNameSpaceyColumnButtons "left" 2 + -an zooNameSpaceyColumnButtons "right" + -ac zooNameSpaceyColumnButtons "bottom" 2 zooNameSpaceyTextName + + -af $spaces "top" 2 + -ac $spaces "left" 2 zooNameSpaceyColumnButtons + -af $spaces "right" 2 + -ac $spaces "bottom" 2 $rnmTxt + + -an $rnmLbl "top" + -af $rnmLbl "left" 2 + -an $rnmLbl "right" + -ac $rnmLbl "bottom" 5 $image + + -an $rnmTxt "top" + -ac $rnmTxt "left" 2 zooNameSpaceyTextRenameLabel + -af $rnmTxt "right" 2 + -ac $rnmTxt "bottom" 2 $image + + -an $image "top" + -af $image "left" 2 + -af $image "right" 2 + -af $image "bottom" 2 + zooNameSpaceyForm; + + showWindow $windowName; + zooNameSpaceyWindowFunctions -update; + } + + +global proc zooNameSpaceyWindowFunctions( string $function ) { + string $selectedNameSpace[] = `textScrollList -q -si zooNameSpaceyScrollSpaces`; + switch( $function ) { + case "-u": + case "-update": + string $nameSpaces[] = `namespaceInfo -lon`; + textScrollList -e -removeAll zooNameSpaceyScrollSpaces; + textScrollList -e -append "Root" zooNameSpaceyScrollSpaces; + textScrollList -e -append ".." zooNameSpaceyScrollSpaces; + for( $space in $nameSpaces ) if( $space != "UI" ) textScrollList -e -append $space zooNameSpaceyScrollSpaces; + + zooNameSpaceyWindowFunctions -updateSpace; + break; + + case "-us": + case "-updateSpace": + textField -e -tx ( `namespaceInfo -cur`==":"?"Root":`namespaceInfo -cur` ) zooNameSpaceyTextCurrent; + break; + + case "-r": + case "-rename": + if( $selectedNameSpace[0] != "Root" && $selectedNameSpace[0] != ".." ) { + string $newName = `textField -q -tx zooNameSpaceyTextName`; + zooNameSpaceyRename $selectedNameSpace[0] $newName; + zooNameSpaceyWindowFunctions -update; + } + break; + + case "-s": + case "-select": + if( $selectedNameSpace[0] != "Root" && $selectedNameSpace[0] != ".." ) select `ls ( ":" + $selectedNameSpace[0] + ":*" )`; + break; + + case "-mc": + case "-makeCurrent": + string $prefix = `namespaceInfo -cur`; + if( $selectedNameSpace[0] == "Root" ) namespace -set ":"; + else if( $selectedNameSpace[0] == ".." ) namespace -set ( ":" + `namespaceInfo -parent` ); + else namespace -set ( ":" + $selectedNameSpace[0] ); + zooNameSpaceyWindowFunctions -update; + break; + + case "-rem": + case "-remove": + zooNameSpaceyRemove $selectedNameSpace[0]; + zooNameSpaceyWindowFunctions -update; + break; + + case "-d": + case "-delete": + if( `confirmDialog -title "Confirm" -message "This will delete ALL objects in the namespace" -button "Do it!" -button "No" -defaultButton "No" -cancelButton "No" -dismissString "No"` != "No" ) zooNameSpaceyDelete $selectedNameSpace[0]; + zooNameSpaceyWindowFunctions -update; + break; + } + } + + +global proc string zooNameSpaceyInfo ( string $function ) { + string $creationDate = "07 October 2003"; + string $lastRevision = "05 September 2005"; + string $currentVersion = "1.1.0"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "modified" ) return $lastRevision; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooNameSpaceyDependencies.mel b/2009-x64/zooScripts/scripts/zooNameSpaceyDependencies.mel new file mode 100644 index 0000000..d944578 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooNameSpaceyDependencies.mel @@ -0,0 +1,18 @@ +global proc string[] zooNameSpaceyDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooNameSpaceyUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $helpDependencies[( `size $helpDependencies` )] = "zooNameSpacey_help"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooNameSpacey.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooNameSpaceyUtils.mel b/2009-x64/zooScripts/scripts/zooNameSpaceyUtils.mel new file mode 100644 index 0000000..a0026a5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooNameSpaceyUtils.mel @@ -0,0 +1,132 @@ +// Hamish McKenzie ©2007... + + +zooArrays_str; + + +global proc zooNameSpaceyUtils() { + return; + } + + +//this proc has to recurse through all sub spaces, rename all subspaces, as well as their contents, then remove the original space +global proc zooNameSpaceyRename( string $space, string $newName ) { + if( $space == $newName ) return; + if( $space != "Root" && $space != ".." ) { + string $subSpaces[] = `zooGetRecursedNamespaces $space`; + string $buffer[] = {}; + string $contents[] = `ls ( $space + ":*" )`; + + namespace -set ":"; + namespace -p ":" -add $newName; + + for( $sub in $subSpaces ) { + string $cmd = "namespace -p " + $newName; //setup the command to create the duplicate subspace in the new namespace + string $newSubSpace = $newName; //create a variable to hold the name of the new subspace + int $n = 0; + + $numToks = `tokenize $sub ":" $buffer`; + for( $n = 1; $n < `size $buffer`-1; $n++ ) $cmd = $cmd + ":" + $buffer[$n]; + for( $n = 1; $n < `size $buffer`; $n++ ) $newSubSpace = $newSubSpace + ":" + $buffer[$n]; + $cmd = $cmd + " -add " + $buffer[( `size $buffer`-1 )]; + if( $sub != $space ) eval $cmd; + + select -r -ne `ls -l ( ":" + $sub + ":*" )`; + while( size( `ls -sl` )) { + string $obj[] = `ls -l -sl`; + select -d -ne $obj[0]; + + clear $buffer; + int $numToks = `tokenize $obj[0] ":" $buffer`; + rename $obj[0] ( $newSubSpace + ":" + $buffer[( `size $buffer`-1 )] ); + } + } + + namespace -set ":"; + zooNameSpaceyDelete $space; + } + } + + +//this is where most of the work is actually done +global proc zooNameSpaceyRemove( string $space ) { + string $buffer[] = {}; + string $parentSpace = `zooNameSpaceyNavigate -up $space`; + string $prefixSpace = $parentSpace == ""? "": $parentSpace+":"; + string $subSpaces[] = `zooGetRecursedNamespaces $space`; + + namespace -set ( ":" + $parentSpace ); + $subSpaces = `zooReverseArray_str $subSpaces`; + for( $sub in $subSpaces ) { + select -r -ne `ls -l ( ":" + $sub + ":*" )`; + while( size( `ls -sl` )) { + string $obj[] = `ls -l -sl`; + select -d -ne $obj[0]; + + clear $buffer; + int $numToks = `tokenize $obj[0] ":" $buffer`; + lockNode -l 0 $obj[0]; + rename $obj[0] ( $prefixSpace + $buffer[( $numToks-1 )] ); + } + + catch( `namespace -removeNamespace ( ":" + $sub )` ); + } + + namespace -set ( ":" + $parentSpace ); + } + + +global proc zooNameSpaceyDelete( string $space ) { + string $subSpaces[] = zooReverseArray_str( `zooGetRecursedNamespaces $space` ); + for( $sub in $subSpaces ) { + select -r -ne `ls -l ( ":" + $sub + ":*" )`; + string $sel[] = `ls -sl`; + for( $obj in $sel ) lockNode -l 0 $obj; + if( size(`ls ( ":" + $sub + ":*" )`)) delete ( ":" + $sub + ":*" ); + namespace -removeNamespace ( ":" + $sub ); + } + + namespace -set ":"; + } + + +global proc string zooNameSpaceyNavigate( string $direction, string $space ) { + string $buffer[] = {}; + string $recursedSpace = ""; + int $tokens = `tokenize $space ":" $buffer`; + int $n = 0; + + if( `size $buffer` > 1 ) for( $n = 0; $n < `size $buffer`-1; $n++ ) $recursedSpace = $recursedSpace + $buffer[$n] + ":"; + else $recursedSpace = ""; + if( $recursedSpace == "" ) $recursedSpace = ""; + else $recursedSpace = `substring $recursedSpace 1 (size($recursedSpace)-1)`; + return $recursedSpace; + } + + +//this proc transverses the namespace heirarchy, and returns an ordered list of namespaces. Top most namespaces are listed first +global proc string[] zooGetRecursedNamespaces( string $space ) { + string $pathsFound[] = {}; + string $temp[] = {}; + int $n = 0; + + $pathsFound[0] = $space; + for( $n = 0; $n < `size $pathsFound`; $n++ ) { + $path = $pathsFound[$n]; + namespace -set ( ":" + $path ); + clear $temp; + $temp = `namespaceInfo -lon`; + if( `size $temp` ) $pathsFound = `zooAddArray_str $pathsFound $temp`; + if( $n>1000 ) break; + } + + //make sure the : exists on the end of all namespaces + for( $n=0; $n<`size $pathsFound`; $n++ ) if( `match ":$" $pathsFound[$n]` == "" ) $pathsFound[$n] = $pathsFound[$n] + ":"; + + namespace -set ":"; //revert to the root namespace + return $pathsFound; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooNameSpacey_help.zooHelp b/2009-x64/zooScripts/scripts/zooNameSpacey_help.zooHelp new file mode 100644 index 0000000..2c08d45 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooNameSpacey_help.zooHelp @@ -0,0 +1,13 @@ +Overview +zooNameSpacey helps manage namespaces in a somewhat more friendly way than maya offers. + +All it does at the moment is offer navigation, renaming, and deletion tools. + +Navigating +Double clicking a namespace will allow you to \"look\" into that namespace (kinda like a directory) to see if it has any sub-namespaces. This also changes the default namespace in maya. ie any new objects created get stuck into this default namespace. + +Renaming +To rename a namespace, simply select it, and type in a new name at the bottom, and hit enter. The script handles renaming all sub spaces accordingly. + +Remove and Delete +Remove will remove the namespace, and dump all its contents (including anything in sub spaces) into its parent's namespace. Delete will actually delete all contents of a namespace (including sub spaces) as well as removing the namespace itself."; \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooObjMenu.mel b/2009-x64/zooScripts/scripts/zooObjMenu.mel new file mode 100644 index 0000000..adb9105 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooObjMenu.mel @@ -0,0 +1,207 @@ +//------------ +// zooObjMenu +// +// adds and manages adding commands to the right click menu of an object +// for more info on how to use this script, please read the help file, +// or open the edit cmd window, and access this help file through the +// help window +// +// ©2007 macaroniKazoo.com +//------------ + + +zooObjMenuUtils; + + +//------ +//build the menuItems in the dagProcMenu +//------ +global proc zooObjMenu( string $parent, string $obj ) { + string $cmdNames[] = {}; + int $cmdSlots[] = `zooObjMenuListCmds $obj`; + + //source all dependencies + global int $zooObjMenuLoaded; + if( !$zooObjMenuLoaded ) { + for( $script in `zooObjMenuDependencies -scripts` ) if( catch(eval( "source "+ $script ))) warning( "You don't have "+ $script +" installed" ); + $zooObjMenuLoaded = 1; + } + + setParent -m $parent; + int $numCmds = `size $cmdSlots`; + for( $n=0; $n<$numCmds; $n++ ) { + string $defaultCmdName = ""; + string $defaultCmdStr = ( "zooObjMenuEditCmd "+ $obj +" "+ $cmdSlots[$n] ); + string $cmdName = `zooGetObjMenuCmdName $obj $cmdSlots[$n]`; + string $cmdStr = "eval(zooPopulateCmdStr(\""+ $obj +"\",(`zooGetObjMenuCmdStr "+ $obj +" "+ $cmdSlots[$n] +"`)))"; + + if( $cmdName == "" ) $cmdName = $defaultCmdName; + if( $cmdStr == "" ) $cmdStr = $defaultCmdStr; + //$cmdStr = `zooPopulateCmdStr $obj $cmdStr`; + menuItem -l $cmdName -c $cmdStr; + } + + if( $numCmds ) { + menuItem -d 1; + menuItem -l "edit cmd..." -c( "zooObjMenuEditCmd "+ $obj + " -1" ); + } + menuItem -l "new cmd..." -c( "zooObjMenuNewCmd "+ $obj ); + menuItem -d 1; + menuItem -d 1; + } + + +//------ +//builds the command editing window +//------ +global proc zooObjMenuEditCmd( string $obj, int $cmdNum ){ + //check to see if the proposed attribute exists, or whether the user just wants to edit the first attribute, by using the "*" symbol in the $cmdAttr variable + int $cmdList[] = `zooObjMenuListCmds $obj`; + if( $cmdNum<0 ) $cmdNum = $cmdList[0]; + + string $windowName = "zooObjMenuNewCmdWindow"; + string $cmdName = `zooGetObjMenuCmdName $obj $cmdNum`; + string $cmdStr = `zooGetObjMenuCmdStr $obj $cmdNum`; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title "Edit Command Window" -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 400 $windowName; + menuBarLayout; + menu -label "Help"; + menuItem -label "Help" -c( "zooHelp zooObjMenu 1" ); + + string $form = `formLayout`; + string $name = `text -l "command name:"`; + textField -tx $cmdName -cc( "zooObjMenuSaveCmd "+ $obj +" "+ $cmdNum ) zooOMTextCmdName; + + string $currentCmd = `text -l "current command:"`; + intField -width 80 -min 0 -step 1 -v $cmdNum -cc( "{zooObjMenuSaveCmd "+ $obj +" "+ $cmdNum + "; zooObjMenuEditCmd "+ $obj +" #1;}" ) zooOMIntCurrentCmd; + + string $cmd = `text -l "command sting:"`; + scrollField -ed 1 -tx $cmdStr -ec( "zooObjMenuSaveCmd "+ $obj +" "+ $cmdNum ) zooOMCmdText; + + // Note that it's important to call zooObjMenuSaveCmd before changing the editable state of zooOMCmdText + // for an explanation of why, see the definition of zooObjMenuSaveCmd + string $previewCheck = `checkBox -l "preview command string" -cc( "{zooObjMenuSaveCmd "+ $obj +" "+ $cmdNum + "; scrollField -e -ed(!(#1)) zooOMCmdText; string $c = `zooGetObjMenuCmdStr "+ $obj +" "+ $cmdNum +"`; if( #1 ) $c = `zooPopulateCmdStr "+ $obj +" $c`; scrollField -e -tx $c zooOMCmdText;}" ) zooOMCheckPreview`; + string $closeButt = `button -height 20 -label "close" -c( "zooObjMenuSaveCmd "+ $obj +" "+ $cmdNum +"; deleteUI "+ $windowName )`; + string $deleteButt = `button -height 20 -label "delete" -c( "zooRemoveMenu "+ $obj +" "+ $cmdNum +"; deleteUI "+ $windowName )`; + + formLayout -edit + -af $name "top" 0 + -af $name "left" 0 + -af $name "right" 0 + -an $name "bottom" + + -ac zooOMTextCmdName "top" 0 $name + -af zooOMTextCmdName "left" 0 + -ac zooOMTextCmdName "right" 5 $currentCmd + -an zooOMTextCmdName "bottom" + + -ac $currentCmd "top" 2 $name + -an $currentCmd "left" + -ac $currentCmd "right" 2 zooOMIntCurrentCmd + -an $currentCmd "bottom" + + -ac zooOMIntCurrentCmd "top" 0 $name + -an zooOMIntCurrentCmd "left" + -af zooOMIntCurrentCmd "right" 2 + -an zooOMIntCurrentCmd "bottom" + + -ac $cmd "top" 0 zooOMTextCmdName + -af $cmd "left" 0 + -af $cmd "right" 0 + -an $cmd "bottom" + + -ac zooOMCmdText "top" 0 $cmd + -af zooOMCmdText "left" 0 + -af zooOMCmdText "right" 0 + -ac zooOMCmdText "bottom" 0 $previewCheck + + -an $previewCheck "top" + -af $previewCheck "left" 0 + -af $previewCheck "right" 0 + -ac $previewCheck "bottom" 0 $closeButt + + -an $closeButt "top" + -af $closeButt "left" 0 + -ap $closeButt "right" 0 50 + -af $closeButt "bottom" 0 + + -an $deleteButt "top" + -ac $deleteButt "left" 0 $closeButt + -af $deleteButt "right" 0 + -af $deleteButt "bottom" 0 + $form; + + popupMenu -p zooOMIntCurrentCmd; + for( $a in $cmdList ) menuItem -l ( `zooGetObjMenuCmdName $obj $a` ) -c( "{zooObjMenuSaveCmd "+ $obj +" "+ $cmdNum + "; zooObjMenuEditCmd "+ $obj +" "+ $a + ";}"); + + showWindow $windowName; + } + + +//------ +//returns the attribute name of the command string created +//------ +global proc zooObjMenuSaveCmd( string $obj, string $cmdNum ) { + // Check if the command field is enabled before saving what's in the text box - this way, + // the populated text if the "preview" box is checked + // Note that we don't check the state of the ACTUAL checkbox, because we wish to call this function from within the + // checkbox callback - at which point the state of the checkbox has been changed, but the actual text hasn't yet. If + // we call zooObjMenuSaveCmd before changing the enabled state of zooOMCmdText, we avoid this problem... + string $cmdAttr = "zooCmd"+ $cmdNum; + string $cmdName = `textField -q -tx zooOMTextCmdName`; + string $cmdStr = ""; + + if(`scrollField -q -ed zooOMCmdText`) $cmdStr = `scrollField -q -tx zooOMCmdText`; + else $cmdStr = zooGetObjMenuCmdStr($obj, $cmdNum); + + setAttr -type "string" ( $obj +"."+ $cmdAttr ) ( $cmdName +"^"+ $cmdStr ); + } + + +//------ +//create a new command, and open the command editing window +//------ +global proc zooObjMenuNewCmd( string $obj ){ + int $cmdNum = `zooObjMenuAddCmd $obj`; + zooObjMenuEditCmd $obj $cmdNum; + //zooTriggeredWindowFunctions -loadSelected; <-should look into making the command load up in the zooTriggered UI + } + + +//------ +//returns info about versioning of the script +//------ +global proc string zooObjMenuInfo( string $function ) { + string $creationDate = "15 May 2004"; + string $currentVersion = "1.07.04"; + + if( $function == "created" ) $info = $creationDate; + if( $function == "version" ) $info = $currentVersion; + return $info; + } + + +//------ +//returns a list of all dependencies - ie other scripts this one relies on +//------ +global proc string[] zooObjMenuDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooObjMenuUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $helpDependencies[( `size $helpDependencies` )] = "zooObjMenu_help"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooObjMenuUtils.mel b/2009-x64/zooScripts/scripts/zooObjMenuUtils.mel new file mode 100644 index 0000000..fcd7559 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooObjMenuUtils.mel @@ -0,0 +1,119 @@ +zooTriggeredUtils; +zooUtils; + + +global proc zooObjMenuUtils() { + return; + } + + +global proc int zooObjMenuAddCmdAll( string $obj, string $cmdName, string $cmdStr ) { + int $idx = `zooObjMenuAddCmd $obj`; + zooSetObjMenuCmdName $obj $cmdName $idx; + zooSetObjMenuCmdStr $obj $cmdStr $idx; + return $idx; + } + + +//set a slot's command name +global proc zooSetObjMenuCmdName( string $obj, string $cmdName, int $cmdNum ) { + string $cmdAttr = "zooCmd"+ $cmdNum; + if( !`objExists $obj` ) return; + if( !`objExists ( $obj +"."+ $cmdAttr )` ) return; + string $existingCmd = `zooGetObjMenuCmdStr $obj $cmdNum`; + setAttr -type "string" ( $obj +"."+ $cmdAttr ) ( $cmdName +"^"+ $existingCmd ); + } + + +//set a slot's command string +global proc zooSetObjMenuCmdStr( string $obj, string $cmdStr, int $cmdNum ) { + string $cmdName = `zooGetObjMenuCmdName $obj $cmdNum`; + string $cmdAttr = "zooCmd"+ $cmdNum; + if( $cmdName == "" ) $cmdName = "untitled"; + setAttr -type "string" ( $obj +"."+ $cmdAttr ) ( $cmdName +"^"+ $cmdStr ); + } + + +//gets an object's command slot's command name +global proc string zooGetObjMenuCmdName( string $obj, string $cmdNum ) { + string $cmdInfo[] = `zooGetObjMenuCmdInfo $obj $cmdNum`; + return $cmdInfo[0]; + } + + +//gets the value of an object's command slot's command string +global proc string zooGetObjMenuCmdStr( string $obj, string $cmdNum ) { + string $cmdInfo[] = `zooGetObjMenuCmdInfo $obj $cmdNum`; + return $cmdInfo[1]; + } + + +global proc string[] zooGetObjMenuCmdInfo( string $obj, string $cmdNum ) { + string $cmdAttr = "zooCmd"+ $cmdNum; + if( !`objExists ( $obj +"."+ $cmdAttr )` ) return {}; + string $cmdInfo = `getAttr ( $obj +"."+ $cmdAttr )`; + string $buffer[] = {}; + tokenize $cmdInfo "^" $buffer; + return $buffer; + } + + +//------ +//returns a list of the cmd slots used by an object +//------ +global proc int[] zooObjMenuListCmds( string $obj ) { + if( !`objExists $obj` ) return {}; + string $attrs[] = `listAttr -ud $obj`; + int $cmdAttrs[] = {}; + + for( $attr in $attrs ) if( `match "^zooCmd[0-9]+$" $attr` != "" ) $cmdAttrs[( `size $cmdAttrs` )] = `match "[0-9]+$" $attr`; + $cmdAttrs = `sort $cmdAttrs`; + + return $cmdAttrs; + } + + +//------ +//creates a new cmd attribute on the object, and return its index +//------ +global proc int zooObjMenuAddCmd( string $obj ) { + if( !`objExists $obj` ) return -1; + int $cmdAttrs[] = `zooObjMenuListCmds $obj`; + int $numCmds = `size $cmdAttrs`; + int $nextNum = ( $numCmds )? $cmdAttrs[( $numCmds-1 )]+1: 0; + for( $n=1; $n<`size $cmdAttrs`; $n++ ) if( $cmdAttrs[$n]-1 != $cmdAttrs[( $n-1 )] ) $nextNum = $cmdAttrs[$n]-1; + + addAttr -ln ( "zooCmd"+ $nextNum ) -dt "string" $obj; + return $nextNum; + } + + +global proc string[] zooGetObjsWithMenus() { + string $allObjects[] = `ls -type transform`; + string $objMenus[] = {}; + + for( $obj in $allObjects ) { + string $attrs[] = `listAttr -ud $obj`; + for( $attr in $attrs ) if( `match "^zooCmd[0-9]+$" $attr` != "" ) { + $objMenus[( `size $objMenus` )] = $obj; + break; + } + } + + return $objMenus; + } + + +global proc zooRemoveMenu( string $obj, int $slot ) { + if( `objExists ( $obj + ".zooCmd"+ $slot )` ) deleteAttr ( $obj + ".zooCmd"+ $slot ); + } + + +global proc zooRemoveAllMenus( string $obj ) { + int $slots[] = `zooObjMenuListCmds $obj`; + for( $slot in $slots ) zooRemoveMenu $obj $slot; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooObjMenu_help.zooHelp b/2009-x64/zooScripts/scripts/zooObjMenu_help.zooHelp new file mode 100644 index 0000000..ef286c1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooObjMenu_help.zooHelp @@ -0,0 +1,39 @@ +zooObjMenu +------------ +This script allows you to add custom commands to an object's RMB menu. It requires minor modification of the alias script, dagProcMenu.mel to do, but it is a single line modification, and this script handles the rest. See the installation section below, for more information. + + + +*Using Object Specific Commands +------ +Commands are stored in string attributes on the object. A command attribute is called zooCmdx, where x is a number. Ie zooCmd4 would be the fourth command on the object. An object can have any number of commands. The attribute itself contains both the command name (as is seen in the RMB menu), and the actual command string. The script will manage writing the information to and from the attribute, but if you wish to do it yourself, then you need to know the format of the info. + +command name^command string + +the "^" symbol is used as a separator, because it is not a symbol mel recognises. so anything before the ^ symbol is used as the command name on the RMB menu, and the rest is executed as a command. The script doesn't bother syntax checking, so making sure your code is correct is entirely up to you. + + + +*Self Referential Code +------ +If you need to reference the object the command is attached to, you can use the # symbol. For example, if you have the command: + +print #; + +then when you select that command in the menu, the name of the object would be printed. This means you don't have to hardcode the object name into your commands. However, referring to other objects in the scene must be hardcoded for now. In future, a zooTriggered style command engine may be added. + + + +*Installation +------ +This script only adds menuItems to a given menu. It will add the items to any menu, but most usefully, they can be added to the standard maya RMB popupMenu. To do this requires minor changes to the dagProcMenu.mel script that comes with maya. The zip this script came in contains a modified version of this script for maya v5.01, but for other versions of maya, you should alter the file relevant to your version yourself. + +Basically, you just need to add the line: + +zooObjMenu $parent $object; + +to line 1023 of the script. This is just above the line: + +optionalDagMenuProc( $parent, $object ); + +already in the script. Just remember, you only have to do this if you're not using maya version 5.01, otherwise, just use the dagProcMenu.mel script that comes with this script. Just copy the file into your normal scripts directory, and maya will use the modified version instead of the alias version. If you wish to revert to the original, just delete the version in your script directory. \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooPack.mel b/2009-x64/zooScripts/scripts/zooPack.mel new file mode 100644 index 0000000..1eabd2b --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPack.mel @@ -0,0 +1,102 @@ +zooZipScript ""; + + +global proc zooPack(){ + zooToolBoxPack; + } + + +//builds the zooToolBox distro package +global proc zooToolBoxPack() { + eval "source zooToolBox;"; + string $basePath = `internalVar -userAppDir`; + string $dest = $basePath +"scriptPackages/zooToolBox/"; + string $scripts[] = `zooListTools all`; + + $scripts[( `size $scripts` )] = "zooToolBox"; + for( $script in $scripts ) zooZipScriptTo $script ( "-path "+ $dest +" -scriptPath scripts/ -iconPath prefs/icons/" ); + if( `filetest -r ( $dest +"zooToolBox.rar" )`) sysFile -delete ( $dest +"zooToolBox.rar" ); + chdir `toNativePath $dest`; + string $rarCmd = "rar a -r -m5 zooToolBox.rar *.*"; + print "executing rar command:\n"; + print $rarCmd; + string $res = `system $rarCmd`; + //print $res; + } + + +global proc zooAnimPack(){ + string $scripts[] = {}; + string $basePath = `internalVar -userAppDir`; + string $dest = $basePath +"/scriptPackages/zooAnimPack/"; + $scripts[( `size $scripts` )] = "zooKeyCommands"; + $scripts[( `size $scripts` )] = "zooBodgeK"; + $scripts[( `size $scripts` )] = "zooTimeSets"; + $scripts[( `size $scripts` )] = "zooShots"; + $scripts[( `size $scripts` )] = "zooCam"; + $scripts[( `size $scripts` )] = "zooPanelCycler"; + $scripts[( `size $scripts` )] = "zooToggleUI"; + $scripts[( `size $scripts` )] = "zooTangentWks"; + $scripts[( `size $scripts` )] = "zooXferAnim"; + $scripts[( `size $scripts` )] = "zooSetMenu"; + $scripts[( `size $scripts` )] = "zooToggle"; + + //copy any other scripts required + sysFile -cp ( $dest +"scripts/zooKeyCommands.mel" ) ( `zooGetScriptLocation zooFlags` +"zooKeyCommands.mel" ); + + for( $script in $scripts ) zooZipScriptTo $script ( "-path "+ $dest +" -scriptPath scripts/ -iconPath prefs/icons/" ); + } + + +global proc zooRiggingPack(){ + string $scripts[] = {}; + string $basePath = `internalVar -userAppDir`; + string $dest = $basePath +"/scriptPackages/zooRiggingPack/"; + $scripts[( `size $scripts` )] = "zooCST"; + $scripts[( `size $scripts` )] = "zooBodgeK"; + $scripts[( `size $scripts` )] = "zooPosesToSliders"; + $scripts[( `size $scripts` )] = "zooReorderAttribs"; + $scripts[( `size $scripts` )] = "zooTriggered"; + $scripts[( `size $scripts` )] = "zooStickToCurve"; + $scripts[( `size $scripts` )] = "zooBodgeK"; + $scripts[( `size $scripts` )] = "zooWeightSave"; + $scripts[( `size $scripts` )] = "zooSurgeon"; + + for( $script in $scripts ) zooZipScriptTo $script ( "-path "+ $dest +" -scriptPath scripts/ -iconPath prefs/icons/" ); + } + + +global proc zooRenderPack(){ + string $scripts[] = {}; + string $basePath = `internalVar -userAppDir`; + string $dest = $basePath +"/scriptPackages/zooRenderPack/"; + $scripts[( `size $scripts` )] = "zooCurveLight"; + $scripts[( `size $scripts` )] = "zzRenderMaker"; + + for( $script in $scripts ) zooZipScriptTo $script ( "-path "+ $dest +" -scriptPath scripts/ -iconPath prefs/icons/" ); + } + + +global proc zooTDPack(){ + string $scripts[] = {}; + string $basePath = `internalVar -userAppDir`; + string $dest = $basePath +"/scriptPackages/zooTDPack/"; + $scripts[( `size $scripts` )] = "zooScriptLoader"; + $scripts[( `size $scripts` )] = "zooKeyCommands"; + $scripts[( `size $scripts` )] = "zooBodgeK"; + $scripts[( `size $scripts` )] = "zooRemind"; + $scripts[( `size $scripts` )] = "zooBreakTime"; + $scripts[( `size $scripts` )] = "zooAutoSave"; + $scripts[( `size $scripts` )] = "zooLockFile"; + $scripts[( `size $scripts` )] = "zooNameSpacey"; + + //copy any other scripts required + sysFile -cp ( $dest +"scripts/zooFlags.mel" ) ( `zooGetScriptLocation zooFlags` +"zooFlags.mel" ); + sysFile -cp ( $dest +"scripts/zooMatchNames.mel" ) ( `zooGetScriptLocation zooMatchNames` +"zooMatchNames.mel" ); + sysFile -cp ( $dest +"scripts/zooChangeRoo.mel" ) ( `zooGetScriptLocation zooFlags` +"zooChangeRoo.mel" ); + + for( $script in $scripts ) zooZipScriptTo $script ( "-path "+ $dest +" -scriptPath scripts/ -iconPath prefs/icons/" ); + } + + +//zoo.end \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooPanelCycler.mel b/2009-x64/zooScripts/scripts/zooPanelCycler.mel new file mode 100644 index 0000000..cbfdb26 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPanelCycler.mel @@ -0,0 +1,108 @@ +// +// graph-dope toggle +// +// Created by Hamish McKenzie www.emissionpossible.com +// Created : 15 October 2001 +// +// Description: +// really quick way to toggle between any number of panels +// +// Usage: +// zooPanelCycler { "graph", "dope", "render" }; +// to get a list of alias' to use in the list, type: +// zooListAlias; +// +// Example: +// zooPanelCycler { "graph", "dope", "render" }; will toggle the graph and dope sheets. +// +// Hamish McKenzie ©2007... + + +zooArrays_str; + + +global proc zooPanelCycler( string $panels[] ) { + string $panelNames[] = {}; + string $currentPanel = `getPanel -up`; + string $next = ""; + string $nextAlias = $currentPanel; + string $alias[] = {}; + string $names[] = {}; + int $cycleSize = `size $panels`; + + if( !`size $panels` ) { zooListAlias; return; } + zooGetAllAlias $alias $names; + + //this holds an array with the actual panel names of the user specified alias' + for( $p in $panels ) { + int $idx = `zooGetIdxOfElement_str $alias $p`; + $panelNames[( `size $panelNames` )] = $names[$idx]; + } + + //now figure out where in the user specified list the current panel exists + int $pos = `zooGetIdxOfElement_str $panelNames $currentPanel`; + + //if the result is -1, then the current panel isn't in the list - so default to the first panel in the list + if( $pos == -1 ) { + scriptedPanel -e -rp $currentPanel `zooPanelCyclerGetAlias $panels[0]`; + return; + } + + //if the pos is less than the size of the user list, then go to the next in the list - otherwise go back to the start + if( $pos < $cycleSize-1 ) $next = $panels[( $pos+1 )]; + else $next = $panels[0]; + + $nextAlias = `zooPanelCyclerGetAlias $next`; + scriptedPanel -e -rp $currentPanel $nextAlias; + } + + +//this is a convenience proc - to list to the user the names of the available panels to cycle between +global proc string[] zooListAlias() { + string $alias[] = {}; + zooGetAllAlias $alias {}; + print $alias; + return $alias; + } + + +global proc string zooPanelCyclerGetAlias( string $alias ) { + string $names[] = {}; + string $aliai[] = {}; + + zooGetAllAlias $aliai $names; + int $pos = `zooGetIdxOfElement_str $aliai $alias`; + if( $pos != -1 ) return $names[$pos]; + return ""; + } + + +global proc zooGetAllAlias( string $alias[], string $names[] ) { + clear $alias; + clear $names; + $alias[( `size $alias` )] = "graph"; + $alias[( `size $alias` )] = "dope"; + $alias[( `size $alias` )] = "trax"; + $alias[( `size $alias` )] = "hypershade"; + $alias[( `size $alias` )] = "hypergraph"; + $alias[( `size $alias` )] = "map"; + $alias[( `size $alias` )] = "outliner"; + $alias[( `size $alias` )] = "render"; + $alias[( `size $alias` )] = "component"; + $alias[( `size $alias` )] = "blendshape"; + + $names[( `size $names` )] = "graphEditor1"; + $names[( `size $names` )] = "dopeSheetPanel1"; + $names[( `size $names` )] = "clipEditorPanel1"; + $names[( `size $names` )] = "hyperShadePanel1"; + $names[( `size $names` )] = "hyperGraphPanel1"; + $names[( `size $names` )] = "polyTexturePlacementPanel1"; + $names[( `size $names` )] = "outlinerPanel1"; + $names[( `size $names` )] = "renderView"; + $names[( `size $names` )] = "componentEditorPanel1"; + $names[( `size $names` )] = "blendShapePanel1"; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooParentToChild.mel b/2009-x64/zooScripts/scripts/zooParentToChild.mel new file mode 100644 index 0000000..095dbab --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooParentToChild.mel @@ -0,0 +1,35 @@ +zooArrays_str; +zooAlign ""; + + +global proc zooParentToChild( string $obj ) { + if( !`objExists $obj` ) return; + string $parent = zooGetElement_str(0,`listRelatives -f -p $obj`); + if( !`objExists $parent` ) return; + + string $axes[] = { "x","y","z" }; + float $objScale[] = `getAttr ( $obj +".s" )`; + float $parentScale[] = `getAttr ( $parent +".s" )`; + + $parentScale[0] *= $objScale[0]; + $parentScale[1] *= $objScale[1]; + $parentScale[2] *= $objScale[2]; + + string $sel[] = `ls -sl`; + string $temp = `group -em`; + + //delete `parentConstraint $obj $temp`; + zooAlignSimple $obj $temp; + setAttr ( $parent +".s" ) 1 1 1; //the order the scale is applied in is very important - maya doesn't parent constrain stuff too well when scaling is involved - so don't fuck with ordering + zooAlignSimple $temp $parent; + zooAlignSimple $temp $obj; + + for( $n=0; $n<3; $n++ ) if( `getAttr -se ( $parent +".s"+ $axes[$n] )` ) setAttr ( $parent +".s"+ $axes[$n] ) $parentScale[$n]; + for( $n=0; $n<3; $n++ ) if( `getAttr -se ( $obj +".s"+ $axes[$n] )` ) setAttr ( $obj +".s"+ $axes[$n] ) 1; + //setAttr ( $obj +".s" ) 1 1 1; + delete $temp; + select $sel; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooPickwalk.mel b/2009-x64/zooScripts/scripts/zooPickwalk.mel new file mode 100644 index 0000000..14dd3d8 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPickwalk.mel @@ -0,0 +1,167 @@ +zooArrays_str; +zooFlags; +zooUtils; + + +//does a basic Pickwalk in the direction given - using the currently selected +//objects. This proc returns whether the selected objects have Pickwalking. So +//it can be used in conjunction with maya Pickwalking +//example +//if( !`zooPickwalk up` ) Pickwalk -up; +// +//so if the objects selected have no Pickwalking data, maya will simply perform a +//default Pickwalk +global proc int zooPickwalk( string $dir ) { + if( $dir == "load" ) return 0; + string $sel[] = `ls -sl`; + for( $obj in $sel ) { + string $tgt = `zooGetPickwalkObj $obj $dir`; + if( !`objExists $tgt` ) return 0; + select -add $tgt; + select -d $obj; + } + return 1; + } + + +//like the zooPickwalk proc, only this proc does an additive Pickwalk. So anything +//currently selected remains selected and any objects in the Pickwalk direction will +//be added to the selection instead of replaced. +//example +//if( !`zooPickwalkAdd up` ) Pickwalk -up; +global proc int zooPickwalkAdd( string $dir ) { + string $sel[] = `ls -sl`; + string $add[] = {}; + + for( $obj in $sel ) { + string $walkObj = `zooGetPickwalkObj $obj $dir`; + if( `objExists $walkObj` ) $add[( `size $add` )] = $walkObj; + } + if( `size $add` ) select -add $add; + return 1; + } + + +global proc zooSimpleAuthorPickwalk( string $objs[] ) { + for( $n=1; $n<`size $objs`; $n++ ) zooSetPickwalkObj $objs[$n] $objs[( $n-1 )] "-dir up -reciprocal 1"; + } + + +//returns the name of the object in a given Pickwalk direction +global proc string zooGetPickwalkObj( string $obj, string $dir ) { + string $attrName = ( $obj +".zooWalk"+ $dir ); + string $obj = ""; + + if( `objExists $attrName` ) $obj = zooGetElement_str(0,`listConnections -d 0 $attrName`); + if( `objExists $obj` ) return $obj; + return ""; + } + + +//removes Pickwalking in a specific direction on a given object +global proc zooRemPickwalking( string $obj, string $optionStr ) { + string $temp[] = {}; + string $dirs[] = { "up", "left", "right", "down" }; + string $dir = ""; + int $reciprocal = 1; + + $temp = `zooGetFlagArguments $optionStr dir`; if( `size $temp` ) $dir = `tolower $temp[0]`; + $temp = `zooGetFlagArguments $optionStr reciprocal`; if( `size $temp` ) $reciprocal = $temp[0]; + if( $dir == "" ) return; + else if( $dir == "all" ) { + for( $d in $dirs ) zooRemPickwalking $obj ( "-dir "+ $d +" -reciprocal "+ $reciprocal ); + return; + } + + string $attrPrefix = "zooWalk"; + string $attrName = $attrPrefix + $dir; + string $tgt = `zooGetPickwalkObj $obj $dir`; + + if( `objExists ( $obj +"."+ $attrName )` ) deleteAttr ( $obj +"."+ $attrName ); + if( $reciprocal ) { + string $opposite = ""; + if( $dir == "up" ) $opposite = "down"; + else if( $dir == "left" ) $opposite = "right"; + else if( $dir == "right" ) $opposite = "left"; + else if( $dir == "down" ) $opposite = "up"; + + $attrName = $attrPrefix + $opposite; + if( `objExists ( $tgt +"."+ $attrName )` ) deleteAttr ( $tgt +"."+ $attrName ); + } + } + + +//returns success +//if reciprocal is set to true, then the target object automatically gets the source +//object added as a Pickwalk target in the opposite direction. +// +//for example - if you have objectA and objectB, you set objectB as the up Pickwalk +//for objectA, then objectA automatically gets added as the down Pickwalk object +//for objectB +global proc int zooSetPickwalkObj( string $src, string $tgt, string $optionStr ) { + string $temp[] = {}; + string $dirs[] = { "up", "left", "right", "down" }; + string $dir = ""; + int $reciprocal = 1; + + $temp = `zooGetFlagArguments $optionStr dir`; if( `size $temp` ) $dir = `tolower $temp[0]`; + $temp = `zooGetFlagArguments $optionStr reciprocal`; if( `size $temp` ) $reciprocal = $temp[0]; + + //is it a valid direction? are the objects given valid? + if( !`stringArrayCount $dir $dirs` ) return 0; + if( $src == $tgt ) return 0; + if( !`objExists $src` ) return 0; + if( !`objExists $tgt` ) return 0; + + //now build the attributes and connect them + string $attrPrefix = "zooWalk"; + string $attrName = $attrPrefix + $dir; + string $objPath = $src +"."+ $attrName; + + if( !`objExists $objPath` ) addAttr -ln $attrName -at message $src; + if( !`isConnected ( $tgt +".message" ) $objPath` ) connectAttr -f ( $tgt +".message" ) $objPath; + if( $reciprocal ) { + string $opposite = ""; + if( $dir == "up" ) $opp = "down"; + else if( $dir == "left" ) $opp = "right"; + else if( $dir == "right" ) $opp = "left"; + else if( $dir == "down" ) $opp = "up"; + + $attrName = $attrPrefix + $opp; + $objPath = $tgt +"."+ $attrName; + + if( !`objExists $objPath` ) addAttr -ln $attrName -at message $tgt; + connectAttr -f ( $src +".message" ) $objPath; + if( `objExists $objPath` ) print( "connectingRecip "+ $objPath +"\n" ); + } + + return 1; + } + + +//blows away all Pickwalking on all objects in the scene +global proc zooBlowAwayAllPickwalking() { + string $walks[] = `zooListAllPickwalking`; + for( $w in $walks ) zooRemPickwalking $w "-dir all"; + } + + +//lists all objects in the scene which have Pickwalking applied to them +global proc string[] zooListAllPickwalking() { + string $up[] = `ls -r 1 "*.zooWalkup"`; + string $left[] = `ls -r 1 "*.zooWalkleft"`; + string $right[] = `ls -r 1 "*.zooWalkright"`; + string $down[] = `ls -r 1 "*.zooWalkdown"`; + string $all[] = {}; + + $all = `zooAddArray_str $up $left`; + $all = `zooAddArray_str $all $right`; + $all = `zooAddArray_str $all $down`; + for( $n=0; $n<`size $all`; $n++ ) $all[$n] = `match "^[^.]+" $all[$n]`; + + return $all; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooPickwalkAuthor.mel b/2009-x64/zooScripts/scripts/zooPickwalkAuthor.mel new file mode 100644 index 0000000..3f3235b --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPickwalkAuthor.mel @@ -0,0 +1,455 @@ +zooPresetManager; +zooPickwalk "load"; +zooTips; + + +//builds the Pickwalk authoring window +global proc zooPickwalkAuthor() { + string $windowName = "zooPickwalkAuthorWindow"; + string $windowTitle = "Pickwalk Author"; + + if( `zooTipState zooPickwalk -1` ) zooTipsWin zooPickwalk 0; + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -width 200 -sizeable 1 $windowName; + scriptJob -p $windowName -cu 1 -e "SelectionChanged" "zooPickwalkAuthorFunctions -updateEnable"; + menuBarLayout; + menu -l "Presets"; + menuItem -l "Import Local Preset" -sm 1 -pmc( "zooPickwalkPresets; zooBuildPickwalkPresetsMenu \"local\" authorPWMenuLocal" ) authorPWMenuLocal; setParent -m ..; + menuItem -l "Import Global Preset" -sm 1 -pmc( "zooPickwalkPresets; zooBuildPickwalkPresetsMenu \"global\" authorPWMenuGlobal" ) authorPWMenuGlobal; setParent -m ..; + menuItem -d 1; + menuItem -l "Export Pickwalk Preset" -c( "zooPickwalkPresets; zooPickwalkAuthorFunctions -export;" ); + menu -l "Authoring"; + menuItem -l "simple author" -c( "zooSimpleAuthorPickwalk `ls -sl`" ) -ann "pick the objects you want to add Pickwalking on, and in the order you picked them, this will add up/down Pickwalking between them all"; + menuItem -d 1; + menuItem -l "remove walking from selected" -c( "zooPickwalkAuthorFunctions -removeSelected;" ); + menuItem -l "remove all walking" -c( "zooPickwalkAuthorFunctions -removeAll;" ); + menu -l "Help"; + menuItem -l "Report Problem" -c( "zooPollster \"-topic [issue] authorPickwalk: "+ `getenv USER` +" -question do you need help -answers yes,no -recipients hmckenzie -custom 1 -customNote what is going wrong?\";" ); + menuItem -l "Give Feedback" -c( "zooPollster \"-topic [feedback] authorPickwalk: "+ `getenv USER` +" -question enter feedback below -answers ! -recipients hmckenzie -custom 1\";" ); + menuItem -l "Help..." -c( "zooHelp zooPickwalk 1;" ); + menuItem -l "Show Tips" -cb( `zooTipState zooPickwalk -1` ) -c( "{int $state = !`zooTipState zooPickwalk -1`; zooTipState zooPickwalk $state; if( $state ) zooTipsWin zooPickwalk 0;}" ); + menuItem -d 1; + menuItem -l "About" -c( "zooHelp zooPickwalk 2;" ); + menuItem -d 1; + menuItem -l "Setup Hotkeys..." -c( "zooPickwalkHotkeys;" ); + menuItem -l "Pro Hotkeys" -cb( `zooPWTurnOnProHotkeys -1` ) -c( "zooPWTurnOnProHotkeys (!`zooPWTurnOnProHotkeys -1`);" ); + + string $masterForm = `formLayout`; + string $loadedLbl = `text -l "loaded object:"`; + string $loadedObj = `textField -ed 0 zooPWUITextObj`; + string $form = `formLayout`; + string $up = `button -l "up" -c( "zooPickwalkAuthorFunctions -setUp" ) zooPWUIButtonUp`; + string $left = `button -l "left" -c( "zooPickwalkAuthorFunctions -setLeft" ) zooPWUIButtonLeft`; + string $load = `button -l "load" -c( "zooPickwalkAuthorFunctions -load" ) zooPWUIButtonLoad`; + string $right = `button -l "right" -c( "zooPickwalkAuthorFunctions -setRight" ) zooPWUIButtonRight`; + string $down = `button -l "down" -c( "zooPickwalkAuthorFunctions -setDown" ) zooPWUIButtonDown`; + setParent ..; + string $recip = `checkBox -l "make reciprocal" -v 1 zooPWUICheckRecip`; + + popupMenu -p $load -pmc( "zooPWUILoadPopup" ) zooPWUILoadPopup; + popupMenu -p $up -pmc( "zooPWUIDirectionPopup up" ) zooPWUIDirPopup_up; + popupMenu -p $left -pmc( "zooPWUIDirectionPopup left" ) zooPWUIDirPopup_left; + popupMenu -p $right -pmc( "zooPWUIDirectionPopup right" ) zooPWUIDirPopup_right; + popupMenu -p $down -pmc( "zooPWUIDirectionPopup down" ) zooPWUIDirPopup_down; + + formLayout -e + -af $loadedLbl "top" 7 + -af $loadedLbl "left" 5 + -an $loadedLbl "right" + -an $loadedLbl "bottom" + + -af $loadedObj "top" 5 + -ac $loadedObj "left" 5 $loadedLbl + -af $loadedObj "right" 5 + -an $loadedObj "bottom" + + -ac $form "top" 0 $loadedObj + -af $form "left" 0 + -af $form "right" 0 + -ac $form "bottom" 0 $recip + + -an $recip "top" + -af $recip "left" 0 + -an $recip "right" + -af $recip "bottom" 0 + $masterForm; + + formLayout -e + -af $up "top" 5 + -ap $up "left" 0 33 + -ap $up "right" 0 67 + -ap $up "bottom" 0 33 + + -ap $left "top" 0 33 + -af $left "left" 5 + -ap $left "right" 0 33 + -ap $left "bottom" 0 67 + + -ap $load "top" 0 33 + -ap $load "left" 0 33 + -ap $load "right" 0 67 + -ap $load "bottom" 0 67 + + -ap $right "top" 0 33 + -ap $right "left" 0 67 + -af $right "right" 5 + -ap $right "bottom" 0 67 + + -ap $down "top" 0 67 + -ap $down "left" 0 33 + -ap $down "right" 0 67 + -af $down "bottom" 5 + $form; + + showWindow $windowName; + } + + +global proc zooBuildPickwalkPresetsMenu( string $locale, string $parent ) { + menu -e -dai $parent; + setParent -m $parent; + + string $presets[] = `zooListPresets $locale zooPickwalk "preset"`; + for( $preset in $presets ) menuItem -l $preset -c( "zooImportPickwalk \""+ $locale +"\" "+ $preset +";" ); + if( `size $presets` ) menuItem -d 1; + menuItem -l( "manage "+ $locale +" presets" ) -c( "zooPresetManagerWin \""+ $locale +"\" zooPickwalk \"preset\";" ); + } + + +//builds the popup menu for the load button in the authoring UI +global proc zooPWUILoadPopup() { + menu -e -dai zooPWUILoadPopup; + setParent -m zooPWUILoadPopup; + + string $loadedObj = `textField -q -tx zooPWUITextObj`; + string $upObj = `zooGetPickwalkObj $loadedObj up`; + string $leftObj = `zooGetPickwalkObj $loadedObj left`; + string $rightObj = `zooGetPickwalkObj $loadedObj right`; + string $downObj = `zooGetPickwalkObj $loadedObj down`; + int $anyPickwalking = 0; + + if( `objExists $upObj` || `objExists $leftObj` || `objExists $rightObj` || `objExists $downObj` ) $anyPickwalking = 1; + menuItem -en( `objExists $loadedObj` ) -l "select loaded" -c( "select "+ $loadedObj ); + if( `objExists $upObj` ) menuItem -l "remove UP Pickwalk" -c( "zooRemPickwalking "+ $loadedObj +" \"-dir up\"; zooPickwalkAuthorFunctions -updateDirections;" ); + if( `objExists $leftObj` ) menuItem -l "remove LEFT Pickwalk" -c( "zooRemPickwalking "+ $loadedObj +" \"-dir left\"; zooPickwalkAuthorFunctions -updateDirections;" ); + if( `objExists $rightObj` ) menuItem -l "remove RIGHT Pickwalk" -c( "zooRemPickwalking "+ $loadedObj +" \"-dir right\"; zooPickwalkAuthorFunctions -updateDirections;" ); + if( `objExists $downObj` ) menuItem -l "remove DOWN Pickwalk" -c( "zooRemPickwalking "+ $loadedObj +" \"-dir down\"; zooPickwalkAuthorFunctions -updateDirections;" ); + if( $anyPickwalking ) menuItem -d 1; + if( $anyPickwalking ) menuItem -l "remove ALL Pickwalks" -c( "zooRemPickwalking "+ $loadedObj +" \"-dir all\"; zooPickwalkAuthorFunctions -updateDirections;" ); + } + + +//builds the popup menu for the directional buttons in the authoring UI +global proc zooPWUIDirectionPopup( string $dir ) { + string $parent = "zooPWUIDirPopup_"+ $dir; + string $loadedObj = `textField -q -tx zooPWUITextObj`; + string $obj = `zooGetPickwalkObj $loadedObj $dir`; + int $enable = `objExists $obj`; + + menu -e -dai $parent; + setParent -m $parent; + + menuItem -en $enable -l( "author "+ $dir +" object" ) -c( "select "+ $obj +"; zooPickwalkAuthorFunctions -load; zooPickwalkAuthorFunctions -updateDirections;" ); + menuItem -d 1; + menuItem -en $enable -l( "select "+ $dir +" object" ) -c( "select "+ $obj ); + menuItem -en $enable -l( "remove "+ $dir +" object" ) -c( "zooRemPickwalking "+ $loadedObj +" \"-dir "+ $dir +"\"; zooPickwalkAuthorFunctions -updateDirections;" ); + } + + +global proc zooPickwalkAuthorFunctions( string $function ) { + string $objUI = "zooPWUITextObj"; + string $recipUI = "zooPWUICheckRecip"; + string $buttonPrefix = "zooPWUIButton"; + string $loadedObj = ""; + int $recip = 0; + + //the UI isn't always open - so check first + if( `control -ex $objUI` ) $loadedObj = `textField -q -tx $objUI`; + if( `control -ex $recipUI` ) $recip = `checkBox -q -v $recipUI`; + switch( $function ) { + case "-updateEnable": + string $sel[] = `ls -sl`; + if( $sel[0] == $loadedObj ) { + button -e -en 1 ( $buttonPrefix +"Up" ); + button -e -en 1 ( $buttonPrefix +"Left" ); + button -e -en 1 ( $buttonPrefix +"Right" ); + button -e -en 1 ( $buttonPrefix +"Down" ); + } + else { + button -e -en 1 ( $buttonPrefix +"Up" ); + button -e -en 1 ( $buttonPrefix +"Left" ); + button -e -en 1 ( $buttonPrefix +"Right" ); + button -e -en 1 ( $buttonPrefix +"Down" ); + } + break; + + case "-updateDirections": + string $upDir = `zooGetPickwalkObj $loadedObj up`; + string $leftDir = `zooGetPickwalkObj $loadedObj left`; + string $rightDir = `zooGetPickwalkObj $loadedObj right`; + string $downDir = `zooGetPickwalkObj $loadedObj down`; + + if( `objExists $upDir` ) button -e -l "UP" ( $buttonPrefix +"Up" ); + else button -e -l "up" ( $buttonPrefix +"Up" ); + + if( `objExists $leftDir` ) button -e -l "LEFT" ( $buttonPrefix +"Left" ); + else button -e -l "left" ( $buttonPrefix +"Left" ); + + if( `objExists $rightDir` ) button -e -l "RIGHT" ( $buttonPrefix +"Right" ); + else button -e -l "right" ( $buttonPrefix +"Right" ); + + if( `objExists $downDir` ) button -e -l "DOWN" ( $buttonPrefix +"Down" ); + else button -e -l "down" ( $buttonPrefix +"Down" ); + break; + + case "-removeSelected": + for( $a in `ls -sl` ) zooRemPickwalking $a ( "-dir all -reciprocal "+ $recip ); + break; + + case "-removeAll": + string $confirm = `confirmDialog -t "are you sure?" -m "This will remove ALL Pickwalking\nfrom ALL objects in your scene\n\nAre you sure you want to do that?" -b "You're damn right I do!" -b "Oh, ok no then"`; + if( $confirm == "Oh, ok no then" ) return; + zooBlowAwayAllPickwalking; + break; + + case "-transfer": + global string $triggerCharacter; + if( !`objExists $triggerCharacter` ) { warning "no trigger character set"; return; } + + string $confirm = `confirmDialog -t "Trigger Walk Transfer" -m( "This will transfer all Pickwalking from "+ $triggerCharacter +"'s triggers to the MOVERS" ) -b "Make it so" -b "Cancel"`; + if( $confirm == "Cancel" ) return; + zooApplyPickwalkingFromTriggers $triggerCharacter; + break; + + case "-load": + string $sel[] = `ls -sl`; + if( `objExists $sel[0]` ) { + textField -e -tx $sel[0] $objUI; + button -e -l "LOAD" ( $buttonPrefix +"Load" ); + } + else { + textField -e -tx "" $objUI; + button -e -l "load" ( $buttonPrefix +"Load" ); + } + zooPickwalkAuthorFunctions -updateDirections; + zooPickwalkAuthorFunctions -updateEnable; + break; + + case "-setUp": + string $sel[] = `ls -sl`; + if( `objExists $sel[0]` ) zooSetPickwalkObj $loadedObj $sel[0] ( "-dir up -reciprocal "+ $recip ); + zooPickwalkAuthorFunctions -updateDirections; + break; + + case "-setLeft": + string $sel[] = `ls -sl`; + if( `objExists $sel[0]` ) zooSetPickwalkObj $loadedObj $sel[0] ( "-dir left -reciprocal "+ $recip ); + zooPickwalkAuthorFunctions -updateDirections; + break; + + case "-setRight": + string $sel[] = `ls -sl`; + if( `objExists $sel[0]` ) zooSetPickwalkObj $loadedObj $sel[0] ( "-dir right -reciprocal "+ $recip ); + zooPickwalkAuthorFunctions -updateDirections; + break; + + case "-setDown": + string $sel[] = `ls -sl`; + if( `objExists $sel[0]` ) zooSetPickwalkObj $loadedObj $sel[0] ( "-dir down -reciprocal "+ $recip ); + zooPickwalkAuthorFunctions -updateDirections; + break; + + case "-export": + string $sel[] = `ls -sl`; + if( !`size $sel` ) { confirmDialog -m "you must select part of the character whose Pickwalking you want to export"; return; } + string $getName = `promptDialog -t "Pickwalk preset name" -m "Give the Preset a name" -b "OK" -b "Cancel" -db "OK"`; + + if( $getName != "OK" ) return; + string $name = `promptDialog -q -tx`; + zooExportPickwalk "local" $name; + break; + + case "-hotkeySetup": + string $dirs[] = { "Up", "Left", "Right", "Down" }; + string $labels[] = { "UP", "LF", "RT", "DN" }; + string $normCmds[] = {}; + string $addCmds[] = {}; + + for( $n=0; $n<4; $n++ ) { + string $normUIs[] = `formLayout -q -ca ( "zooPWUIHotkeyForm"+ $dirs[$n] )`; + string $addUIs[] = `formLayout -q -ca ( "zooPWUIHotkeyFormADD"+ $dirs[$n] )`; + string $normHotkey = `textField -q -tx $normUIs[1]`; + string $addHotkey = `textField -q -tx $addUIs[0]`; + int $normCtrl = `checkBox -q -v $normUIs[2]`; + int $addCtrl = `checkBox -q -v $addUIs[2]`; + int $normAlt = `checkBox -q -v $normUIs[3]`; + int $addAlt = `checkBox -q -v $addUIs[3]`; + + //create runtime commands - these are essentially the entries seen in the hotkey editor + if( !`runTimeCommand -q -ex ( "zooPickwalk"+ $labels[$n] )` ) runTimeCommand -cat User -c( "zooPickwalk "+ `tolower $dirs[$n]` +";" ) ( "zooPickwalk"+ $labels[$n] ); + if( !`runTimeCommand -q -ex ( "zooPickwalkAdd"+ $labels[$n] )` ) runTimeCommand -cat User -c( "zooPickwalkAdd "+ `tolower $dirs[$n]` +";" ) ( "zooPickwalkAdd"+ $labels[$n] ); + + //now create the nameCommands - no idea why hotkeys are this complicated... + nameCommand -ann( "hotkey for doing Pickwalks "+ $dirs[$n] ) -c( "zooPickwalk"+ $labels[$n] ) ( "zooPickwalk"+ $labels[$n] +"NameCommand" ); + nameCommand -ann( "hotkey for doing additive Pickwalks "+ $dirs[$n] ) -c( "zooPickwalkAdd"+ $labels[$n] ) ( "zooPickwalkAdd"+ $labels[$n] +"NameCommand" ); + + //now setup the actual hotkeys... CRIKEY! + string $normEval = "hotkey -keyShortcut "+ $normHotkey; + string $addEval = "hotkey -keyShortcut "+ $addHotkey; + + if( $normCtrl ) $normEval += " -ctl"; + if( $addCtrl ) $addEval += " -ctl"; + if( $normAlt ) $normEval += " -alt"; + if( $addAlt ) $addEval += " -alt"; + $normEval = $normEval +" -name "+ "zooPickwalk"+ $labels[$n] +"NameCommand;"; + $addEval = $addEval +" -name "+ "zooPickwalkAdd"+ $labels[$n] +"NameCommand;"; + $normCmds[( `size $normCmds` )] = $normEval; + $addCmds[( `size $addCmds` )] = $addEval; + } + + for( $cmd in $normCmds ) eval $cmd; + for( $cmd in $addCmds ) eval $cmd; + break; + } + } + + +//used to turn on or off the "pro" Pickwalking hotkeys. When the pro hotkeys are +//turned on, if the object selected has no Pickwalking data, then a normal maya +//Pickwalk is performed. This proc can also be used to query whether the current +//hotkeys are setup to be "pro" hotkeys or not +// +//To query the current state, use: zooPWTurnOnProHotkeys -1; +//otherwise: zooPWTurnOnProHotkeys 1; to turn pro keys on +//zooPWTurnOnProHotkeys 0; to turn pro hotkeys off +global proc int zooPWTurnOnProHotkeys( int $state ) { + string $dirs[] = { "Up", "Left", "Right", "Down" }; + string $labels[] = { "UP", "LF", "RT", "DN" }; + string $upCmd = ""; + string $lfCmd = ""; + string $rtCmd = ""; + string $dnCmd = ""; + string $curState = 0; + string $onCmd = "if( !`zooPickwalk up` ) pickWalk -d Up;"; + + if( `runTimeCommand -q -ex zooPickwalkUP` ) $upCmd = `runTimeCommand -q -c zooPickwalkUP`; + if( `runTimeCommand -q -ex zooPickwalkUP` ) $lfCmd = `runTimeCommand -q -c zooPickwalkLF`; + if( `runTimeCommand -q -ex zooPickwalkUP` ) $rtCmd = `runTimeCommand -q -c zooPickwalkRT`; + if( `runTimeCommand -q -ex zooPickwalkUP` ) $dnCmd = `runTimeCommand -q -c zooPickwalkDN`; + if( $upCmd == "" || $lfCmd == "" || $rtCmd == "" || $dnCmd == "" ) return -1; + + if( $upCmd == $onCmd ) $curState = 1; + if( $state == -1 ) return $curState; + + if( $state ) for( $n=0; $n<4; $n++ ) runTimeCommand -e -c( "if( !`zooPickwalk "+ `tolower $dirs[$n]` +"` ) pickWalk -d "+ $dirs[$n] +";" ) ( "zooPickwalk"+ $labels[$n] ); + else for( $n=0; $n<4; $n++ ) runTimeCommand -e -c( "zooPickwalk "+ `tolower $dirs[$n]` +";" ) ( "zooPickwalk"+ $labels[$n] ); + + return $curState; + } + + +global proc zooPickwalkHotkeys() { + string $windowName = "zooPickwalkHotkeysWindow"; + string $windowTitle = "Pickwalk Hotkey Setup"; + string $dirs[] = { "Up", "Left", "Right", "Down" }; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -width 300 -height 200 -sizeable 1 $windowName; + string $form = `formLayout`; + string $colA = `columnLayout -adj 1`; + + //build the normal hotkey UIs + text -l "normal Pickwalking"; + for( $n=0; $n<4; $n++ ) { + string $a = `formLayout ( "zooPWUIHotkeyForm"+ $dirs[$n] )`; + string $lbl = `text -width 70 -align right -l(tolower($dirs[$n]) +"->")`; + string $key = `textField -tx $dirs[$n]`; + string $ctrl = `checkBox -l "ctrl" -v 0`; + string $alt = `checkBox -l "alt" -v 0`; + setParent ..; + + formLayout -e + -af $lbl "top" 3 + -af $lbl "left" 0 + -an $lbl "right" + -an $lbl "bottom" + + -af $key "top" 0 + -ac $key "left" 0 $lbl + -af $key "right" 0 + -an $key "bottom" + + -ac $ctrl "top" 0 $key + -af $ctrl "left" 5 + -an $ctrl "right" + -an $ctrl "bottom" + + -ac $alt "top" 0 $key + -ac $alt "left" 5 $ctrl + -an $alt "right" + -an $alt "bottom" + $a; + } + + setParent ..; + string $colB = `columnLayout -adj 1`; + text -l "additive Pickwalking"; + //build the normal hotkey UIs + for( $n=0; $n<4; $n++ ) { + string $a = `formLayout ( "zooPWUIHotkeyFormADD"+ $dirs[$n] )`; + string $key = `textField -tx $dirs[$n]`; + string $lbl = `text -width 70 -align "left" -l( "<-add "+ tolower($dirs[$n]))`; + string $ctrl = `checkBox -l "ctrl" -v 1`; + string $alt = `checkBox -l "alt" -v 0`; + setParent ..; + + formLayout -e + -af $key "top" 0 + -af $key "left" 0 + -ac $key "right" 0 $lbl + -an $key "bottom" + + -af $lbl "top" 3 + -an $lbl "left" + -af $lbl "right" 0 + -an $lbl "bottom" + + -ac $ctrl "top" 0 $key + -an $ctrl "left" + -ac $ctrl "right" 5 $alt + -an $ctrl "bottom" + + -ac $alt "top" 0 $key + -an $alt "left" + -af $alt "right" 5 + -an $alt "bottom" + $a; + } + + setParent ..; + string $go = `button -l "setup hotkeys" -c( "zooPickwalkAuthorFunctions -hotkeySetup; deleteUI "+ $windowName )`; + setParent ..; + + formLayout -e + -af $colA "top" 3 + -af $colA "left" 0 + -ap $colA "right" 0 50 + -ac $colA "bottom" 0 $go + + -af $colB "top" 3 + -ap $colB "left" 0 50 + -af $colB "right" 0 + -ac $colB "bottom" 0 $go + + -an $go "top" + -af $go "left" 0 + -af $go "right" 0 + -af $go "bottom" 0 + $form; + + showWindow $windowName; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooPickwalkDependencies.mel b/2009-x64/zooScripts/scripts/zooPickwalkDependencies.mel new file mode 100644 index 0000000..58e8c60 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPickwalkDependencies.mel @@ -0,0 +1,22 @@ +global proc string[] zooPickwalkDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooPickwalkAuthor"; + $melDependencies[( `size $melDependencies` )] = "zooPickwalkPresets"; + $melDependencies[( `size $melDependencies` )] = "zooPresetManager"; + $melDependencies[( `size $melDependencies` )] = "zooTips"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $helpDependencies[( `size $helpDependencies` )] = "zooPickwalk_help"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooPickwalk.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooPickwalkPresets.mel b/2009-x64/zooScripts/scripts/zooPickwalkPresets.mel new file mode 100644 index 0000000..5a17bb2 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPickwalkPresets.mel @@ -0,0 +1,78 @@ +zooArrays_str; +zooPresetManager; +zooStrUtils; + + +global proc zooPickwalkPresets() { + return; + } + + +global proc zooImportPickwalk( string $locale, string $name ) { + string $sel[] = `ls -sl`; + string $namespace = `zooGetNamespace $sel[0]`; + string $dir = `zooGetPresetDirectory $locale zooPickwalk`; + string $preset = $dir + $name; + string $contents[] = {}; + + if( !`size $sel` ) return; + if( !`filetest -r $preset`) return; + $contents = `zooReadFile $preset "-strip 1"`; + for( $line in $contents ) { + string $temp[] = {}; + tokenize $line "," $temp; + + string $src = $namespace + $temp[0]; + if( !`objExists $src` ) continue; + + string $up = $namespace + $temp[1]; + string $left = $namespace + $temp[2]; + string $right = $namespace + $temp[3]; + string $down = $namespace + $temp[4]; + //print( $src +" connecting to up: "+ $up +" left: "+ $left +" right: "+ $right +" down: "+ $down +"\n" ); + if( `objExists $up` ) zooSetPickwalkObj $src $up "-dir up -reciprocal 0"; + if( `objExists $left` ) zooSetPickwalkObj $src $left "-dir left -reciprocal 0"; + if( `objExists $right` ) zooSetPickwalkObj $src $right"-dir right -reciprocal 0"; + if( `objExists $down` ) zooSetPickwalkObj $src $down "-dir down -reciprocal 0"; + } + } + + +global proc zooExportPickwalk( string $locale, string $name ) { + string $sel[] = `ls -sl`; + string $dir = `zooGetPresetDirectory $locale zooPickwalk`; + + if( !`size $sel` ) return; + zooPrepPresetDirectory zooPickwalk; + + string $fileContents = ""; + string $walks[] = `zooListAllPickwalking`; + for( $obj in $walks ) { + string $up = `zooGetPickwalkObj $obj up`; + string $left = `zooGetPickwalkObj $obj left`; + string $right = `zooGetPickwalkObj $obj right`; + string $down = `zooGetPickwalkObj $obj down`; + + //if there is no object in that dir, we must have something in the list, so put a dummy string + if( !`objExists $up` ) $up = "!"; + if( !`objExists $left` ) $left = "!"; + if( !`objExists $right` ) $right = "!"; + if( !`objExists $down` ) $down = "!"; + + //strip namespaces from exported object names + $obj = `match "[^:]+$" $obj`; + $up = `match "[^:]+$" $up`; + $left = `match "[^:]+$" $left`; + $right = `match "[^:]+$" $right`; + $down = `match "[^:]+$" $down`; + + $fileContents += $obj +","+ $up +","+ $left +","+ $right +","+ $down +"\n"; + } + + int $fileID = `fopen ( $dir + $name +".preset" ) "w"`; + fwrite $fileID $fileContents; + fclose $fileID; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooPickwalkTips.txt b/2009-x64/zooScripts/scripts/zooPickwalkTips.txt new file mode 100644 index 0000000..8aadded --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPickwalkTips.txt @@ -0,0 +1,2 @@ +The easiest way to setup pickwalking in a scene is to use the "simple author" feature. Simply select the controls in the order you want the pickwalking to happen (from top down), then go to Authoring->simple author. +The "make reciprocal" checkbox in the main interface lets you do single direction pickwalking. By default if you make CUBE the up pickwalk object of SPHERE, SPHERE becomes the down pickwalk object of CUBE. To turn this behaviour off, simply turn off "make reciprocal" when you author the pickwalk diff --git a/2009-x64/zooScripts/scripts/zooPickwalk_help.zooHelp b/2009-x64/zooScripts/scripts/zooPickwalk_help.zooHelp new file mode 100644 index 0000000..f4321dc --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPickwalk_help.zooHelp @@ -0,0 +1,44 @@ +Overview +-------- +Pickwalking allows you to navigate a character's rig heirarchy by using simple up, down, left, right commands which can be bound to hotkeys. Of course, no two rigs are ever created equally, so a solid pickwalking system needs to take into account broken heirarchies, highly nested heirarchies etc... + +dnaPickWalk creates connections between objects to define the direction of a pickwalk. So just because object B is lower than object A in the heirarchy, doesn't mean object B has to be the down pickwalk item for object A. Hell, it doesn't even need to be in the same heirarchy. + +Simple Authoring Mode +-------- +As it says, this way of authoring is dead easy. Basically you just select the objects you want to add pickwalking to, and go to Authoring->simple author. This will create up/down pickwalking on the objects you selected in the order you selected them. + +So to add pickwalking to a spine for example, you would select the bottom most control (like the base of the spine) and select the controls in order in the direction of the chest. Then do the simple author and you're done. It would setup an up down pickwalk between each selected object. + + +More Complex Authoring +-------- +Well its not really complex. Its still pretty easy, its just not quite as easy. So why use it? Well it allows more powerful pickwalking. It lets you author pickwalk branching - so for example you can branch from the chest over to one of the arms for example, you'd need to use this method of pickwalk authoring. + +So to add pickwalking to an object using this method first select the object you want to add pickwalking to, and in the window press the "load" button. This will load the object into the UI. You should see the text of the button change to capital letters - which reflects the fact that an object is loaded into that button. It will also tell you which object is loaded at the top of the window. + +When you load an object the UI reflects which directions have pickwalking applied to them. Each button represents a direction up, down, left or right. So to add a pickwalk in a direction, simply select the object in the viewport, and press the corresponding button. When you do this, you should see the letters of the button turn to capitals to reflect that the direction is taken up. + +Now the power of this method comes from the itty bitty checkbox at the bottom of the window that says "reciprocal". The reciprocal checkbox makes any pickwalk you set up happen in both directions. It makes the walk a "reciprocal" walk. So if you have two objects, A and B. You load A up into the author pickwalk window, and make object B the up walk object. If you have reciprocal turned on, then object A becomes the down walk object for B. + +So just because object B is the up object of A doesn't mean object A has to be the down walk object for B. + +This means that you can do heirarchy branching. Just say you've setup up/down pickwalking on your spine. Now perhaps when you get to the chest, pressing the left walk hotkey will take you to the left arm fk controls. But when you're on the arm, you want to press up and down to navigate the arm heirarchy. So when you get to the shoulder, the up walk takes you to the chest. + +So the chest has left to go to the left shoulder, but the shoulder has the up walk to go to the chest. This is the power of non-reciprocal pickwalking. + + +Iterface Niceties +-------- +All the buttons in the UI have right click menus on them to help you navigate around. If you're "slow" authoring some pickwalks, one nice addition is the "author up object" menu item. Just say you've added an up pickwalk object to something and you're done adding targets to that object. You can right click on any direction button, choose the "author left object" (or up, right, down) and the script will automatically load the object in that pickwalk direction into the UI. Its pretty simple, but a slightly easier way to get around when authoring pickwalking. + + +DNA Pipeline Usage +-------- +So the way this script is supposed to work is like this. Pickwalking is authored on to a character's triggers. So pickwalking data is stored with the trigger data. This is done for a few reasons. First: it means people don't have to learn/remember to import yet another thing (ISO sets and triggers are already too many things in my opinion) and Second: if the rig mover names change, then we can just change that in one centralised place - on the triggers - and it gets reflected automatically in the pickwalking. + +I guess Third: because I'm lazy and didn't want to implement another import/export system. Coz they're hard. + +So anyway, if you want to author your own pickwalks, the ideal way to do it is by doing it on the triggers for the character. So to do this you first need to turn the triggers script off. This is done by unchecking the "Status" checkbox in the triggers window. This will allow you to actually pick the triggers. + +So then just add pickwalking to the triggers as if you would anytihng else. Then you can export the triggers if you want - the pickwalking data automatically gets saved out as well. Then once you're done authoring pickwalking on the triggers, go to Authoring->transfer trigger walking to MOVERS. This will take the pickwalking data from the triggers and copy it on to the actual character rig. And thats it. Simple really. diff --git a/2009-x64/zooScripts/scripts/zooPollster.mel b/2009-x64/zooScripts/scripts/zooPollster.mel new file mode 100644 index 0000000..6f690f2 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPollster.mel @@ -0,0 +1,168 @@ +zooArrays_str; +zooFlags; +zooStrUtils; +zooUtils; + + +//this script will create a window to ask the user a question which may be answered by +//either optional choice, custom text feedback or both. The script will then mail the +//results to an aribitrary list of people. Its a simple tool, but enables highly +//accessible, context sensitive feedback from within tools which makes it more likely +//for people to be involved in the reporting of bugs, and the communication of good +//or bad features. +// +//It also allows easy polling of large groups - say for example if you wanted to know +//whether many people used a certain feature - conduct a poll. If its easy, people will +//be more likely to respond/ +// +//The tool takes the following flags when creating a poll: +// -topic [str] the topic - basically just a simple, one or two word subject for the poll +// -info [str] this is where you can put lots of detail on what the poll is about - it is stored as a popup label on the poll description +// -question [str] this is the question that is displayed - below the topic and above the answers +// -answers [str] this is a comma-separated list of answers. Each answer gets represented as a radio button +// -showAnswers [int] do you want the answer list displayed? +// -recipients [str] comma separated list of recipients - usernames only +// -button [str] the label shown on the submit button +// -customNote [str] the custom note is displayed above the custom entry textField - by default it just displays "other:" +// -custom [int] do you want the user to be able to enter custom feedback? +// -cmd [str] you can specify a mel command here - the results of which get included in the email sent to the recipient list +global proc zooPollster( string $optionStr ) { + string $temp[] = {}; + string $topic = "a Poll"; + string $pollInfo = ""; + string $question = "do you like Polls?"; + string $answerStr = "yes,no"; + string $recipientStr = "#"; + string $buttonLbl = "submit answer"; + string $customNote = "other:"; + string $cmd = ""; + int $showAnswers = 1; + int $allowCustom = 0; + + $temp = `zooGetFlagArguments $optionStr topic`; if( `size $temp` ) $topic = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr info`; if( `size $temp` ) $pollInfo = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr question`; if( `size $temp` ) $question = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr answers`; if( `size $temp` ) $answerStr = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr showAnswers`; if( `size $temp` ) $showAnswers = $temp[0]; + $temp = `zooGetFlagArguments $optionStr recipients`; if( `size $temp` ) $recipientStr = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr button`; if( `size $temp` ) $buttonLbl = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr customNote`; if( `size $temp` ) $customNote = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr custom`; if( `size $temp` ) $allowCustom = $temp[0]; + $temp = `zooGetFlagArguments $optionStr cmd`; if( `size $temp` ) $cmd = `zooArrayToStr_str $temp " "`; + + //parse the info + string $answers[] = {}; + string $recipients[] = {}; + + tokenize $answerStr "," $answers; + tokenize $recipientStr ", " $recipients; + if( $answers[0] == "!" ) $answers = {}; + for( $n=0; $n<`size $recipients`; $n++ ) if( $recipients[$n] == "#" ) $recipients[$n] = `getenv USER`; + $pollInfo = `zooReplaceInString $pollInfo "[-']+" "`"`; + $question = `zooReplaceInString $question "[-']+" "`"`; + + //now build the window + string $windowName = "zooPollsterWin"; + string $windowTitle = "Pollster"; + int $customTop = 0; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -width 280 -height 350 -sizeable 1 $windowName; + menuBarLayout; + menu -label "Poll Info"; + menuItem -l "Who gets the feedback?"; + menuItem -d 1; + for( $r in $recipients ) menuItem -l $r; + + string $masterForm = `formLayout`; + string $topicLbl = `text -l $topic -ann $pollInfo zooPollUITopic`; + string $line = `separator`; + string $infoLbl = `text -l( zooWrapString($question,50)) -ann $pollInfo -align left zooPollUIQuestion`; + string $answerCol = `columnLayout -adj 1`; setParent ..; + string $customLbl = `text -l $customNote -align left -vis $allowCustom`; + string $customResponse = `scrollField -vis $allowCustom -ww 1 zooPollUICustom`; + string $submit = `button -l $buttonLbl -docTag $cmd -c( "zooSubmitPoll {\""+ (zooArrayToStr_str($recipients,"\",\"")) +"\"};" ) zooPollUISubmit`; + + string $rads = `radioCollection zooPollAnswers`; + setParent $answerCol; + if( $showAnswers ) for( $a in $answers ) radioButton -l $a -align left; + + formLayout -e + -af $topicLbl "top" 3 + -af $topicLbl "left" 15 + -af $topicLbl "right" 0 + -an $topicLbl "bottom" + + -ac $line "top" 3 $topicLbl + -af $line "left" 2 + -af $line "right" 2 + -an $line "bottom" + + -ac $infoLbl "top" 3 $line + -af $infoLbl "left" 3 + -af $infoLbl "right" 0 + -an $infoLbl "bottom" + + -ac $answerCol "top" 6 $infoLbl + -af $answerCol "left" 0 + -af $answerCol "right" 0 + -an $answerCol "bottom" + + -ac $customLbl "top" 6 $answerCol + -af $customLbl "left" 0 + -af $customLbl "right" 0 + -an $customLbl "bottom" + + -ac $customResponse "top" 0 $customLbl + -af $customResponse "left" 0 + -af $customResponse "right" 0 + -ac $customResponse "bottom" 0 $submit + + -an $submit "top" + -af $submit "left" 0 + -af $submit "right" 0 + -af $submit "bottom" 0 + $masterForm; + + showWindow $windowName; + } + + +//this proc gethers relevant data from the UI, constructs the email and sends it +//to the recipient list +global proc zooSubmitPoll( string $recipients[] ) { + string $answer = `radioCollection -q -sl zooPollAnswers`; + string $recipientStr = `zooArrayToStr_str $recipients " "`; + string $subject = `text -q -l zooPollUITopic`; + string $question = `text -q -l zooPollUIQuestion`; + string $customAnswer = `scrollField -q -tx zooPollUICustom`; + string $body = `getenv USER` +"`s answer to the poll was:\n"; + string $preppedA = ""; + string $preppedQ = $question; + string $cmd = `button -q -docTag zooPollUISubmit`; + string $customData = ""; + + $customAnswer = `zooReplaceInString $customAnswer "-" "="`; + if( $cmd != "" ) $customData = `eval $cmd`; + if( `control -ex $answer` ) $answer = `radioButton -q -l $answer`; + else $answer = ""; + $answer = `zooReplaceInString $answer "'" "`"`; + $customAnswer = `zooReplaceInString $customAnswer "'" "`"`; + $preppedA = $answer; + + if( $answer == "" ) $preppedA = $customAnswer; + if( `size $preppedA` > 20 ) $preppedA = `substring $preppedA 1 20`; + + $preppedA = `zooReplaceInString $preppedA "\n" " "`; + $preppedQ = `zooReplaceInString $question "\n" " "`; + if( strip($answer) != "" ) $body += "selected answer was:\n**************\n"+ $answer +"\n\n\n"; + if( strip($customAnswer) != "" ) $body += "custom answer was:\n**************\n"+ $customAnswer +"\n\n\n"; + if( $customData != "" ) $body += "additional data:\n**************\n"+ $customData +"\n\n\n"; + $body += "The question asked was:\n**************\n"+ $preppedQ; + + zooSendMail ( "-to "+ $recipientStr +" -subject [animation poll] "+ $subject +": "+ $preppedA ) $body; + deleteUI zooPollsterWin; + } + + +//zoo.end diff --git a/2009-x64/zooScripts/scripts/zooPollsterMenu.mel b/2009-x64/zooScripts/scripts/zooPollsterMenu.mel new file mode 100644 index 0000000..22ac57b --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPollsterMenu.mel @@ -0,0 +1,53 @@ +zooArrays_str; +zooPresetManager; +zooUtils; + + +global proc zooPollsterMenu() { + global string $gMainWindow; + string $user = `getenv USER`; + string $menuName = "zooPollsterMenu"; + string $pollPath = `zooGetPresetDirectory "global" zooPollster`; + string $alertFile[] = `getFileList -fld( $pollPath +"/" ) -fs "*.alert"`; + int $lastAlert = `optionVar -q zooPollsterAlert`; + int $date = 0; + + if( `size $alertFile` ) $date = `match "^[^.]+" $alertFile[0]`; + if( $date > $lastAlert ) confirmDialog -t "New Poll!!!" -m "there is a new poll - check it out!\n\nPS this annoying message goes away when you click on the studio polls menu\nit should only come back when someone makes a new poll" -b "oooooKAY!"; + if( !`menu -ex $menuName` ) menu -l "Studio Polls" -p $gMainWindow -pmc( "zooPollsterPopulateMenu "+ $menuName +" "+ $date ) $menuName; + } + + +global proc zooPollsterPopulateMenu( string $parent, int $dateToSet ) { + global string $gMainWindow; + string $pollPath = `zooGetPresetDirectory "global" zooPollster`; + string $globalPolls[] = `zooListPresets "global" zooPollster "poll"`; + string $user = `getenv USER`; + string $deptPolls[] = `zooGetFiles ( $pollPath +"/" ) "*.poll"`; + + setParent -m $parent; + menu -e -dai $parent; + optionVar -iv zooPollsterAlert $dateToSet; //now that the user has seen the menu, save the poll date ID so they don't get bugged again + savePrefs -g; + + if( `size $globalPolls` ) menuItem -en 0 -l "studio polls"; + for( $poll in $globalPolls ) { + string $lines[] = `zooReadFile ( $pollPath + $poll ) "-strip 1"`; + menuItem -l( `match "^[^.]+" $poll` ) -c( $lines[0] ); + } + if( `size $globalPolls` ) menuItem -d 1; + if( `size $deptPolls` ) menuItem -en 0 -l( "polls" ); + for( $poll in $deptPolls ) { + string $lines[] = `zooReadFile ( $pollPath +"animation/"+ $poll ) "-strip 1"`; + menuItem -l( `match "^[^.]+" $poll` ) -c( $lines[0] ); + } + + if( !`size $globalPolls` && !`size $deptPolls` ) menuItem -l "no polls today"; + menuItem -d 1; + string $feedbackCmd = zooGetElement_str(0,`zooReadFile ( $pollPath + "toolfeedback" ) "-strip 1"`); + menuItem -l "tool feedback" -c $feedbackCmd; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooPosesToSliders.mel b/2009-x64/zooScripts/scripts/zooPosesToSliders.mel new file mode 100644 index 0000000..8cc5801 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPosesToSliders.mel @@ -0,0 +1,235 @@ +zooStrUtils; + + +//------ +//builds SDK sliders for all objMenu poses stored on a trigger object +//takes the following flags +// -trigger [obj] the trigger that contains the poses - defaults to the first selected object if not specified +// -control [obj] the object to build the sliders on to - defaults to the trigger +// -linear [int] if linear is true (defaults to false) the sdk key tangents are set to linear +// -optimize [int] defaults to true which auto-optimises out static channels on the sdk curves generated. if you are having odd problems, try turning this off - otherwise leave it on for very significant performance improvements +// -preserve [int] defaults to false - when true will preserve any existing sdk curves on the target objects, otherwise they get blown away first +//the base pose is assumed to be stored in the first objMenu command +//------ +global proc zooPosesToSliders( string $optionStr ) { + string $trigger = zooGetElement_str(0,`ls -sl`); + string $control = $trigger; + string $temp[] = {}; + int $linear = 0; + int $optimize = 1; + int $preserve = 0; + + $temp = `zooGetFlagArguments $optionStr trigger`; if( `objExists $temp[0]` ) { $trigger = $temp[0]; $control = $trigger; } + $temp = `zooGetFlagArguments $optionStr control`; if( `objExists $temp[0]` ) $control = $temp[0]; + $temp = `zooGetFlagArguments $optionStr linear`; if( `size $temp` ) $linear = $temp[0]; + $temp = `zooGetFlagArguments $optionStr optimize`; if( `size $temp` ) $optimize = $temp[0]; + $temp = `zooGetFlagArguments $optionStr preserve`; if( `size $temp` ) $preserve = $temp[0]; + if( !`objExists $trigger` ) return; + if( !`objExists $control` ) return; + + string $allTgts[] = {}; + string $baseCmdStr = `zooGetObjMenuCmdStr $trigger 0`; + string $baseEval = `zooPopulateCmdStr $trigger $baseCmdStr`; + int $maxSlider = 10; + int $defaultValue = 0; + int $cmds[] = `zooObjMenuListCmds $trigger`; + + //remove the first cmd - as we assume thats the base pose, and execute the base cmd + $cmds = `zooIndexCrop_int $cmds "1:"`; + eval $baseEval; + + //first get a list of all target objects, so we know what objects to build + //SDK curves for + for( $cmd in $cmds ) { + string $cmdStr = `zooGetObjMenuCmdStr $trigger $cmd`; + string $tgts[] = `zooQueryPoseConnects $trigger $cmdStr`; + $allTgts = `zooAddArray_str $allTgts $tgts`; + } + + $allTgts = `stringArrayRemoveDuplicates $allTgts`; + //the user may want to preserve existing sdk data on the target objects... + if( !$preserve ) for( $tgt in $allTgts ) zooDeleteSliders $tgt; + + + //first delete any existing sliders + for( $cmd in $cmds ) { + string $sliderName = `zooGetObjMenuCmdName $trigger $cmd`; + $sliderName = `match "^[^_]+" $sliderName`; + if( `objExists ( $control +"."+ $sliderName )`) deleteAttr ( $control +"."+ $sliderName ); + } + + //now build the sliders + for( $cmd in $cmds ) { + string $sliderName = `zooGetObjMenuCmdName $trigger $cmd`; + string $nameExtra = `match "[^_]+$" $sliderName`; + + $sliderName = `match "^[^_]+" $sliderName`; + $sliderName = `zooReplaceChars $sliderName "" ""`; //validate the attribute name + + //create the attribute if it doesn't already exist + if( !`objExists ( $control +"."+ $sliderName )`) { + addAttr -ln $sliderName -at double -min 0 -max 0 -dv 0 $control; + setAttr -k 1 ( $control +"."+ $sliderName ); + } + + float $breakdownVal = $maxSlider; + if( `match "^[-0-9.]+$" $nameExtra` != "" ) $breakdownVal = ((float)`match "^[-0-9.]+$" $nameExtra`); + + //now that the attribute is created, see what its limits are, and whether the current limit values should push those limits further + float $curMin = `addAttr -q -min ( $control +"."+ $sliderName )`; + float $curMax = `addAttr -q -max ( $control +"."+ $sliderName )`; + + if( $breakdownVal < $curMin ) addAttr -e -min $breakdownVal ( $control +"."+ $sliderName ); + else if( $breakdownVal > $curMax ) addAttr -e -max $breakdownVal ( $control +"."+ $sliderName ); + } + + //now build the SDKs, we know the attributes exist, so we don't need to worry about them + eval $baseEval; + string $sliders[] = {}; + int $sliderKeyCounts[] = {}; + for( $cmd in $cmds ) { + string $cmdStr = `zooGetObjMenuCmdStr $trigger $cmd`; + string $toEval = `zooPopulateCmdStr $trigger $cmdStr`; + string $sliderName = `zooGetObjMenuCmdName $trigger $cmd`; + string $nameExtra = `match "[^_]+$" $sliderName`; + + $sliderName = `match "^[^_]+" $sliderName`; + + //parse the user pose flags if nessecary + float $breakdownVal = $maxSlider; + int $linear = 0; + + if( `match "^[-0-9.]+$" $nameExtra` != "" ) $breakdownVal = ((float)`match "^[-0-9.]+$" $nameExtra`); + + //return to default pose + setAttr ( $control +"."+ $sliderName ) $defaultValue; + eval $baseEval; + for( $tgt in $allTgts ) setDrivenKeyframe -cd( $control +"."+ $sliderName ) $tgt; + + //go into the pose and set its SDK key + setAttr ( $control +"."+ $sliderName ) $breakdownVal; + eval $toEval; + for( $tgt in $allTgts ) setDrivenKeyframe -cd( $control +"."+ $sliderName ) $tgt; + + setAttr ( $control +"."+ $sliderName ) $defaultValue; + int $sliderNameIdx = `zooGetIdxOfElement_str $sliders $sliderName`; + if( $sliderNameIdx == -1 ) { + $sliders[( `size $sliders` )] = $sliderName; + $sliderKeyCounts[( `size $sliderKeyCounts` )] = 1; + } + else $sliderKeyCounts[$sliderNameIdx] += 1; + } + + for( $tgt in $allTgts ) { + zooSetCurveInfinityToLinear $tgt; //set curve post/pre infinities to linear + if( $optimize ) zooDeleteStaticChannels $tgt; //delete any static channels that were generated during the sdk frenzy + if( $linear ) zooSetTangentsTo $tgt linear; + } + } + + +//------ +//changes the infinity states of all SDK curves to linear for a given object +//------ +global proc zooSetCurveInfinityToLinear( string $obj ) { + string $attrs[] = `listAttr -k -v -s -m $obj`; + for( $attr in $attrs ) { + string $animCurves[] = `zooGetSDKCurves $obj $attr`; + for( $c in $animCurves ) { + if( size(`keyframe -q -sl`)) selectKey -clear; + keyTangent -f ":" -itt spline -ott spline $c; + selectKey -in 0 $c; + setInfinity -pri linear -poi linear; + } + } + } + + +//------ +//changes the tangents to spline +//------ +global proc zooSetTangentsTo( string $obj, string $type ) { + string $attrs[] = `listAttr -k -v -s -m $obj`; + for( $attr in $attrs ) { + string $animCurves[] = `zooGetSDKCurves $obj $attr`; + for( $c in $animCurves ) { + if( size(`keyframe -q -sl`)) selectKey -clear; + keyTangent -f ":" -itt $type -ott $type $c; + } + } + } + + +//------ +//returns the name of the animCurve for an attribute driven by an SDK +//------ +global proc string zooGetSDKCurve( string $obj, string $objAttr, string $driver, string $driverAttr ) { + string $attrs[] = `listAttr -keyable -visible -scalar -multi $obj`; + for( $attr in $attrs ) { + string $animCurves[] = `zooGetSDKCurves $obj $objAttr`; + for( $c in $animCurves ) if( `isConnected ( $driver +"."+ $driverAttr ) ( $c +".input" )` ) return $c; + } + return ""; + } + + +//------ +//deletes all SDK information for a given object +//------ +global proc zooDeleteSliders( string $obj ) { + string $attrs[] = `listAttr -keyable -visible -scalar -multi $obj`; + for( $attr in $attrs ) { + string $animCurves[] = `zooGetSDKCurves $obj $attr`; + string $blends[] = `listConnections -d 0 -type blendWeighted -scn 1 ( $obj +"."+ $attr )`; + if( `size $animCurves` ) for( $a in $animCurves ) if( `objExists $a` ) delete $a; + if( `size $blends` ) for( $b in $blends ) if( `objExists $b` ) delete $b; + } + } + + +//------ +//returns all the SDK animCurves for an attribute on an object +//------ +global proc string[] zooGetSDKCurves( string $obj, string $attr ) { + if( !`objExists ( $obj +"."+ $attr )` ) return {}; + string $cons[] = `listConnections -d 0 -scn 1 ( $obj +"."+ $attr )`; + string $blends[] = {}; + string $sdks[] = {}; + + for( $c in $cons ) { + string $type = `nodeType $c`; + if( `match "^animCurve" $type` == "animCurve" ) { + //so we know its controlled by an animcurve, but is the animcurve driven by something? + if( size(`listConnections -d 0 -scn 1 ( $c +".input" )`)) $sdks[( `size $sdks` )] = $c; + continue; + } + else if( $type == "blendWeighted" ) { + $blends[( `size $blends` )] = $c; + continue; + } + } + for( $b in $blends ) $sdks = zooAddArray_str($sdks,`listConnections -d 0 -scn 1 -type animCurve $b`); + return $sdks; + } + + +//------ +//returns all the connects used in a objMenu command string +//------ +global proc string[] zooQueryPoseConnects( string $trigger, string $cmdStr ) { + string $usedConnects[] = {}; + + while( `match "#+" $cmdStr` != "" ) { + $cmdStr = `substitute "#+" $cmdStr $trigger`; + $usedConnects[( `size $usedConnects` )] = $trigger; + } + + $usedConnects = stringArrayCatenate($usedConnects, zooGetConnectsUsedInCmd($trigger, $cmdStr)); + + $usedConnects = `stringArrayRemoveDuplicates $usedConnects`; + return $usedConnects; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooPresetManager.mel b/2009-x64/zooScripts/scripts/zooPresetManager.mel new file mode 100644 index 0000000..c8fb9b4 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooPresetManager.mel @@ -0,0 +1,292 @@ +p4; +zooArrays_str; + + +global proc zooPresetManager() { + return; + } + + +//------ +//if you're wanting to use this script in your studio, simply point the global +//dir to the networked location where you want to store preset data. some zoo +//tools that use the preset manager are: zooAnimStore, zooTriggered, zooPickwalk +//etc... so setting these paths mean that all these tools will work seamlessly +//with local and global shared data +//------ +global proc string zooGetPresetDirectory( string $locale, string $script ) { + string $localDir = `internalVar -uad` +"presets/."+ $script +"/"; + string $vProj = `substitute "game" (getenv("VPROJECT")) "content"`; + string $globalDir = $vProj +"/presets/."+ $script +"/"; + + if( $locale == "local" ) { + if( !`filetest -d $localDir` ) sysFile -makeDir $localDir; + return $localDir; + } + if( !`filetest -d $globalDir` ) sysFile -makeDir $globalDir; + return $globalDir; + } + + +//------ +//this window lets you manage any single file preset. it can be called from +//tools that use the presetManager as a basis for storing presets for managing +//those presets +//------ +global proc zooPresetManagerWin( string $locale, string $script, string $ext ) { + string $windowName = "zooPresetManagerWindow"; + string $windowTitle = $script +" "+ $locale +" presets"; + string $other = "local"; + string $otherLbl = "<-- "+ $other; + + if( $ext == "" ) $ext = "preset"; + if( $locale != "local" ) $locale = "global"; + if( $locale == "local" ) { $other = "global"; $otherLbl = "--> global"; } + if ( `window -exists $windowName` ) deleteUI $windowName; + window -t $windowTitle -mb 1 -resizeToFitChildren 0 -maximizeButton 0 -sizeable 1 $windowName; + menu -l "Perforce"; + menuItem -l "Enable Perforce Integration" -cb( `optionVar -ex zooPresetManagerP4`? `optionVar -q zooPresetManagerP4`: 1) -c( "if( #1 ) optionVar -rm zooPresetManagerP4; else optionVar -iv zooPresetManagerP4 0;" ); + string $form = `formLayout`; + string $presetLbl = `text -l( $locale +" presets" )`; + string $presetList = `textScrollList -ams 1 zooPresetsUIScrollPresets`; + string $but1 = `button -l( "move to "+ $other ) -c( "zooPresetManagerFunctions -move \""+ $locale +"\" \""+ $script +"\" \""+ $ext +"\";" )`; + string $but2 = `button -l( "copy to "+ $other ) -c( "zooPresetManagerFunctions -copy \""+ $locale +"\" \""+ $script +"\" \""+ $ext +"\";" )`; + string $but3 = `button -l "rename" -c( "zooPresetManagerFunctions -rename \""+ $locale +"\" \""+ $script +"\" \""+ $ext +"\";" )`; + string $but4 = `button -l "delete" -c( "zooPresetManagerFunctions -delete \""+ $locale +"\" \""+ $script +"\" \""+ $ext +"\";" )`; + + string $dir = `zooGetPresetDirectory $locale $script`; + popupMenu -b 3 -p $presetLbl; + menuItem -l( "change to "+ $otherLbl +" presets" ) -c( "zooPresetManagerWin \""+ $other +"\" \""+ $script +"\" \""+ $ext +"\";" ); + popupMenu -b 3 -p $presetList -pmc( "zooBuildPresetPup zooPresetManagerWinPup \""+ $locale +"\" \""+ $dir +"\";" ) zooPresetManagerWinPup; + formLayout -e + -af $presetLbl "top" 3 + -af $presetLbl "left" 0 + -an $presetLbl "right" + -an $presetLbl "bottom" + + -ac $presetList "top" 3 $presetLbl + -af $presetList "left" 0 + -af $presetList "right" 0 + -ac $presetList "bottom" 0 $but1 + + -an $but1 "top" + -af $but1 "left" 0 + -ap $but1 "right" 0 50 + -ac $but1 "bottom" 0 $but3 + + -an $but2 "top" + -ap $but2 "left" 0 50 + -af $but2 "right" 0 + -ac $but2 "bottom" 0 $but4 + + -an $but3 "top" + -af $but3 "left" 0 + -ap $but3 "right" 0 50 + -af $but3 "bottom" 0 + + -an $but4 "top" + -ap $but4 "left" 0 50 + -af $but4 "right" 0 + -af $but4 "bottom" 0 + $form; + + zooPresetManagerFunctions -updateList $locale $script $ext; + showWindow $windowName; + } + + +global proc zooBuildPresetPup( string $parent, string $locale, string $dir ) { + setParent -m $parent; + menu -e -dai $parent; + + string $selP = zooGetElement_str(0,`textScrollList -q -si zooPresetsUIScrollPresets`); + string $filepath = $dir + $selP; + int $p4Int = `optionVar -ex zooPresetManagerP4`? `optionVar -q zooPresetManagerP4`: 1; + int $en = 1; + + if( $selP == "" ) $en = 0; + menuItem -l "explore to file" -c( "zooExploreTo \""+ $filepath +"\";" ); + menuItem -d 1; + string $temp = "\\\""+ $filepath +"\\\""; + if( `about -nt` ) { + menuItem -l "open in notepad" -c( "system \"notepad "+ $temp+ "\";" ); + menuItem -l "open in wordpad" -c( "system \"write "+ $temp+ "\";" ); + } + else { + menuItem -l "open in jedit" -c( "system \"jedit "+ $temp +"\";" ); + menuItem -l "open in nedit" -c( "system \"nedit "+ $temp +"\";" ); + } + if( $locale == "global" && $p4Int ) { + menuItem -d 1; + string $dataNames[] = {}; + string $data[] = `p4_fstat $filepath $dataNames $data 0`; + + if( `size $dataNames` < 3 ) menuItem -l "Add to Perforce" -c( "p4_add {\""+ $filepath +"\"};" ); + else { + int $headIdx = `zooGetIdxOfElement_str $dataNames "headRev"`; + int $haveIdx = `zooGetIdxOfElement_str $dataNames "haveRev"`; + int $actIdx = `zooGetIdxOfElement_str $dataNames "action"`; + + if( $headIdx != -1 ) if( $haveIdx != -1 ) { + int $head = $data[$headIdx]; + int $have = $data[$haveIdx]; + menuItem -en( $have!=$head ) -l( "Sync to Head ("+ $have +"/"+ $head +")" ) -c( "p4_sync {\""+ $filepath +"\"} 0;" ); + } + + int $isEditOrAdd = 0; + if( $actIdx != -1 ) $isEditOrAdd = $data[$actIdx] == "add" || $data[$actIdx] == "edit"; + menuItem -cb $isEditOrAdd -l "Open for Edit" -c( "p4_edit {\""+ $filepath +"\"};" ); + menuItem -en $isEditOrAdd -l "Submit" -c( "p4submitUI {\""+ $filepath +"\"};" ); + menuItem -en $isEditOrAdd -l "Revert" -c( "p4_revert {\""+ $filepath +"\"};" ); + } + } + } + + +global proc zooPresetManagerFunctions( string $function, string $locale, string $script, string $ext ) { + string $sel[] = `textScrollList -q -si zooPresetsUIScrollPresets`; + string $dir = `zooGetPresetDirectory $locale $script`; + + if( $ext == "" ) $ext = "preset"; + switch( $function ) { + case "-updateList": + string $presets[] = `zooListPresets $locale $script $ext`; + textScrollList -e -ra zooPresetsUIScrollPresets; + for( $p in $presets ) textScrollList -e -a $p zooPresetsUIScrollPresets; + break; + + case "-copy": + string $otherDir = `zooGetPresetDirectory "local" $script`; + if( $locale == "local" ) $otherDir = `zooGetPresetDirectory "global" $script`; + for( $p in $sel ) { + if( `filetest -f ( $otherDir + $p )` ) { + string $answer = `confirmDialog -t "Preset Already Exists?" -message( "The "+ $p +" preset you're trying to copy\nalready exists in the "+ $locale +" presets area.\nDo you want to replace it?" ) -button "Yes" -button "No" -defaultButton "Yes" -cancelButton "No" -dismissString "No"`; + if( $answer != "Yes" ) continue; + } + sysFile -copy ( $otherDir + $p ) ( $dir + $p ); + } + break; + + case "-delete": + string $answer = `confirmDialog -t "Delete Preset?" -message "Really delete all selected presets?" -button "Yes" -button "No" -defaultButton "Yes" -cancelButton "No" -dismissString "No"`; + if( $answer != "Yes" ) return; + case "-deleteClean": //this is a deliberate fallthrough - to avoid the confirmation should we require + for( $p in $sel ) sysFile -delete ( $dir + $p ); + zooPresetManagerFunctions -updateList $locale $script $ext; + break; + + case "-rename": + string $preset = `match "^[^.]+" $sel[0]`; + string $answer = `promptDialog -t "Rename Preset" -text $preset -message "New Name:" -button "Rename" -button "Cancel" -defaultButton "Rename" -cancelButton "Cancel" -dismissString "Cancel"`; + if( $answer != "Rename" ) return; + + string $newName = `promptDialog -query -text`; + if( `match ( "."+ $ext +"$" ) $newName` == "" ) $newName = $newName +"."+ $ext; + sysFile -rename ( $dir + $newName ) ( $dir + $sel[0] ); + zooPresetManagerFunctions -updateList $locale $script $ext; + break; + + case "-move": + zooPresetManagerFunctions -copy $locale $script $ext; + zooPresetManagerFunctions -deleteClean $locale $script $ext; + break; + } + } + + +//------ +//this is a convenience function really - there is no reason you can't just replicate +//these few lines of code to read in presets yourself - just saves a small bit of +//typing really... +//------ +global proc string[] zooReadPreset( string $locale, string $script, string $ext, string $name ) { + string $dir = `zooGetPresetDirectory $locale $script`; + string $presetPath = $dir + $name +"."+ $ext; + string $contents[] = `zooReadFile $presetPath "-strip 1"`; + + return $contents; + } + + +//------ +//this is another convenience proc - just makes saving presets that much easier. by +//using this proc, you can fairly easily write preset saving directly into menuItem +//command strings +//------ +global proc zooSavePreset( string $locale, string $script, string $ext, string $name, string $contents ) { + zooPrepPresetDirectory $script; + if( $ext == "" ) $ext = "preset"; + string $dir = `zooGetPresetDirectory $locale $script`; + string $presetPath = $dir + $name +"."+ $ext; + + if( `filetest -f $presetPath` ) if( !`filetest -w $presetPath` ) return; + int $fileID = `fopen $presetPath "w"`; + fprint $fileID $contents; + fclose $fileID; + } + + +//------ +//lists all presets in the local AND global locales. by default if two presets of +//the same name exist, the global one takes precedence. if the $localTakesPrecedence +//is set to true, then local presets take precedence +// +//NOTE: the localeList is an array that gets filled with the locales of the presets +//returned +//------ +global proc string[] zooListAllPresets( string $script, string $ext, string $localeList[], int $localTakesPrecedence ) { + string $presetsL[] = `zooListPresets "local" $script $ext`; + string $presetsG[] = `zooListPresets "global" $script $ext`; + string $primary[] = $presetsG; + string $secondary[] = $presetsL; + string $primaryLocale = "global"; + string $secondaryLocale = "local"; + + if( $localTakesPrecedence ) { + $primary = $presetsL; + $secondary = $presetsG; + $primaryLocale = "local"; + $secondaryLocale = "global"; + } + + for( $n=0; $n<`size $primary`; $n++ ) $localeList[$n] = $primaryLocale; + for( $n=0; $n<`size $secondary`; $n++ ) { + int $isInPrimary = `zooGetIdxOfElement_str $primary $secondary[$n]`; + if( $isInPrimary < 0 ) { + $primary[( `size $primary` )] = $secondary[$n]; + $localeList[( `size $localeList` )] = $secondaryLocale; + } + } + + return $primary; + } + + +//------ +//simply lists all presets for a given tool in a given locale +//------ +global proc string[] zooListPresets( string $locale, string $script, string $ext ) { + zooPrepPresetDirectory $script; + + if( $ext == "" ) $ext = "preset"; + string $dir = `zooGetPresetDirectory $locale $script`; + string $files[] = `getFileList -folder $dir -filespec ( "*."+ $ext )`; + return $files; + } + + +//------ +//makes sure the directories for a given tool actually exist - if not, it +//attempts to create them +//------ +global proc zooPrepPresetDirectory( string $script ) { + string $localDir = `zooGetPresetDirectory "local" $script`; + string $globalDir = `zooGetPresetDirectory "global" $script`; + + if( !`filetest -d $globalDir` ) sysFile -makeDir $globalDir; + if( !`filetest -d $localDir` ) sysFile -makeDir $localDir; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooReblender.mel b/2009-x64/zooScripts/scripts/zooReblender.mel new file mode 100644 index 0000000..11b9698 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooReblender.mel @@ -0,0 +1,76 @@ +//------------ +// zooReblender +// +// rebuilds all blendshapes after changes have been made to the base mesh. +// basically this script just goes through and turns each blend target on, +// duplicates the deformed base mesh, positions the duplicate in the same +// spot as the target and deletes the original target. +// +// by doing this, any topological mesh changes done to the base (if a +// blendshape is present) will get done to all the target shapes. this +// allows for any sort of modification to be done to the base shape and +// easily be reflected in all targets without re-modelling +// +// Usage: +// simply select all base meshes (with a blendshape applied to them) and +// run this command: zooReblender +// +// additionally you can manually specify meshes by using the: +// zooReblender_recreator { "mesh1", "mesh2", "mesh3"... }; +// command. +// +// ©2007 macaroniKazoo.com +//------------ + + +global proc zooReblender () { + zooReblender_recreator `ls -sl`; + } + + +global proc zooReblender_recreator ( string $objs[] ) { + string $orgSel[] = `ls -sl`; + for ( $obj in $objs ) { + string $history[] = (ls("-type","blendShape",`listHistory $obj`)); + string $blendNodes[] = `stringArrayRemoveDuplicates $history`; + + for ( $blend in $blendNodes ) { + string $blendTgts[] = `blendShape -q -t $blend`; + string $dupeTgts[] = {}; + int $numBlends = `blendShape -q -wc $blend`; + + for ( $n=0; $n<$numBlends; $n++ ) blendShape -e -w $n 0. $blend; + for ( $n=0; $n<$numBlends; $n++ ) { + float $position[] = { 0.,0.,0. }; + if( `objExists $blendTgts[$n]` ) $position = `xform -q -ws -rp $blendTgts[$n]`; + blendShape -e -w $n 1. $blend; //set the weight on the target to full + + //duplicate the object with the blendshape on it + string $dupe[] = `duplicate $obj`; + $dupeTgts[$n] = $dupe[0]; + blendShape -e -w $n 0. $blend; //set the weight on the target to off + move -a -ws -rpr $position[0] $position[1] $position[2] $dupeTgts[$n]; + } + + //now that we've duplicated the blendShapes from the original, delete the originals + //and rename the duplicates + delete $blend; + for ( $n=0; $n<$numBlends; $n++ ) if( `objExists $blendTgts[$n]` ) { + delete $blendTgts[$n]; + rename $dupeTgts[$n] $blendTgts[$n]; + } + + //now recreate the blendShape node on the original object with the duplicated targets + delete -ch $obj; + select $blendTgts; + select -add $obj; + CreateBlendShape; + } + } + + select $orgSel; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooRegister.mel b/2009-x64/zooScripts/scripts/zooRegister.mel new file mode 100644 index 0000000..006b761 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooRegister.mel @@ -0,0 +1,201 @@ +//registers are nodes that keep an ordered list of other nodes. It is similar to +//a set, but the list is ordered. This script provides ways to quickly and easily +//build registers of objects, add/remove objects to/from the register, and make +//queries about the register itself and the nodes it keeps track of. A single +//register can keep track of multiple different registries. Every time you add +//ad object to a register, you must give it a registry name. Each register can +//have as many registries as are needed + + +zooArrays_str; + + +global proc zooRegister() { + return; + } + + +global proc zooDeleteRegistry( string $register, string $registryName ) { + string $items[] = {}; + zooListRegistered $register $registryName {} $items; + for( $i in $items ) zooUnregisterObj $register $registryName $i 1 1; + } + + +//------ +//removes an object from a given register.. If the removeAttr variable is true then +//the proc will delete the attribute from the register. If the deleteIfEmpty var +//is true, then if there are no more items in the registry, then the register will +//be deleted +//------ +global proc zooUnregisterObj( string $register, string $registryName, string $node, int $removeAttr, int $deleteIfEmpty ) { + int $idx = `zooGetObjIdx $register $registryName $node`; + if( $removeAttr ) deleteAttr ( $register +".zooReg"+ $registryName + $idx ); + //if( $deleteIfEmpty ) if( `size()`) delete $register; + } + + +//------ +//returns the register index of the node given +//------ +global proc int zooGetObjIdx( string $register, string $registryName, string $node ) { + string $nodes[] = {}; + int $indicies[] = {}; + + zooListRegistered $register $registryName $indicies $nodes; + int $idx = `zooGetIdxOfElement_str $nodes $node`; + if( $idx == -1 ) return -1; + return $indicies[$idx]; + } + + +//------ +//adds an object to a register under a given registry name. The reuse variable +//indicates whether you want already created, but unconnected, register indicies +//to be reused or not +//------ +global proc int zooRegisterObj( string $register, string $registryName, string $node, int $reuse, int $unique ) { + int $nextIdx = `zooNextRegisterIdx $register $registryName $reuse`; + int $nodeIdx = `zooGetObjIdx $register $registryName $node`; + + $registryName = `tolower $registryName`; + $registryName = "zooReg"+ $registryName; + + if( $unique && $nodeIdx != -1 ) return $nodeIdx; + if( !`objExists ( $register +"."+ $registryName + $nextIdx )`) addAttr -ln ( $registryName + $nextIdx ) -at message $register; + connectAttr -f ( $node +".message" ) ( $register +"."+ $registryName + $nextIdx ); + + return $nextIdx; + } + + +//------ +//returns the next available registry index, based on whether the user has specified +//the re-use of indicies or not +//------ +global proc int zooNextRegisterIdx( string $register, string $registryName, int $reuse ) { + int $indicies[] = {}; + + zooListRegistered $register $registryName $indicies {}; + if( $reuse ) { + int $used[] = `zooListUsedRegistered $register $registryName`; + int $available[] = `zooSubtractArray_int $indicies $used`; + + if( `size $available` ) return $available[0]; + } + if( `size $indicies` ) return $indicies[( `size $indicies`-1 )]+1; + return 0; + } + + +//------ +//returns a list of indicies that have been created +//------ +global proc int[] zooListUsedRegistered( string $register, string $registryName ) { + string $nodes[] = {}; + int $indicies[] = {}; + int $usedIdx[] = {}; + + zooListRegistered $register $registryName $indicies $nodes; + $registryName = `tolower $registryName`; + $registryName = "zooReg"+ $registryName; + + int $num = `size $indicies`; + for( $n=0; $n<$num; $n++ ) if( `objExists $nodes[$n]` ) $usedIdx[( `size $usedIdx` )] = $indicies[$n]; + + return $usedIdx; + } + + +//------ +//puts a list of all indicies and all node names (if any) into the arrays given +//------ +global proc zooListRegistered( string $register, string $registryName, int $indicies[], string $nodes[] ) { + if( !`objExists $register` ) return; + + string $attrs[] = `listAttr -ud $register`; + clear $indicies; + clear $nodes; + + $registryName = `tolower $registryName`; + $registryName = "zooReg"+ $registryName; + for( $a in $attrs ) if( `match ( $registryName +"[0-9]+$" ) $a` != "" ) $indicies[( `size $indicies` )] = `match "[0-9]+$" $a`; + int $num = `size $indicies`; + + for( $n=0; $n<$num; $n++ ) { + string $node = `connectionInfo -sfd ( $register +"."+ $registryName + $indicies[$n] )`; + if( !`objExists $node` ) { + $nodes[$n] = ""; + continue; + } + $node = `match "^[^.]+" $node`; + $nodes[$n] = $node; + } + + $nodes = `zooOrderArrayUsing_str $nodes $indicies`; + $indicies = `sort $indicies`; + } + + +//------ +//returns a list of all registries on a given register +//------ +global proc string[] zooListRegistries( string $register ) { + if( !`objExists $register` ) return {}; + + string $attrs[] = `listAttr -ud $register`; + string $registries[] = {}; + + for( $a in $attrs ) if( `match "^zooReg[a-z][a-z0-9]+$" $a` != "" ) $registries[( `size $registries` )] = `match "^[^0-9]+" $a`; + $registries = `stringArrayRemoveDuplicates $registries`; + for( $n=0; $n<`size $registries`; $n++ ) $registries[$n] = `substitute "^zooReg" $registries[$n] ""`; + + return $registries; + } + + +//------ +//returns a list of all register nodes +//------ +global proc string[] zooListRegisters() { + string $times[] = `ls -type time`; + string $registers[] = {}; + + for( $t in $times ) { + string $attrs[] = `listAttr -ud -s $t`; + for( $a in $attrs ) if( `match "^zooRegister_" $a` != "" ){ + $registers[( `size $registers` )] = $t; + break; + } + } + + $registers = `stringArrayRemoveDuplicates $registers`; + return $registers; + } + + +//------ +//returns the name of a register. Registers are given an id, which is simply +//a name for the register. This name is added to the register as an identifier. +//------ +global proc string zooGetRegister( string $id, int $forceCreate ) { + string $times[] = `ls -type time`; + for( $t in $times ) if( `objExists ( $t +".zooRegister_"+ $id )`) return $t; + if( $forceCreate ) return `zooCreateRegister $id`; + return ""; + } + + +//------ +//creates a register +//------ +global proc string zooCreateRegister( string $id ) { + string $register = `createNode time`; + $register = `rename $register ( "zooRegister_"+ $id )`; + addAttr -ln( "zooRegister_"+ $id ) -at bool $register; + return $register; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooRegisterWin.mel b/2009-x64/zooScripts/scripts/zooRegisterWin.mel new file mode 100644 index 0000000..960859f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooRegisterWin.mel @@ -0,0 +1,142 @@ +zooRegister; + + +global proc zooRegisterWin() { + string $windowName = "zooRegistryWindow"; + string $windowTitle = "zooRegister editor ::macaroniKazoo::"; + + if( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -mb 1 -resizeToFitChildren 0 -maximizeButton 0 -sizeable 1 -wh 300 400 $windowName; + menu -label "Help"; + menuItem -l "Help..." -c ( "zooHelp zooXferAnim 1" ); + menuItem -l "Scripting xferAnim" -c ( "zooHelp zooXferAnim 3" ); + menuItem -divider 1; + menuItem -l "About" -c ( "zooHelp zooXferAnim 2" ); + + string $form = `formLayout zooRegForm`; + string $regLbl = `text -l "register:"`; + string $register = `textField -ed 0 zooRegRegister`; + string $registriesLbl = `text -l "registries"`; + string $registries = `textScrollList -sc( "zooRegisterWindowFunction -updateMembers;" ) zooRegRegistries`; + string $membersLbl = `text -l "registry members"`; + string $members = `textScrollList -ams 1 zooRegMembers`; + + string $image = `image -w 300 -height 8 -backgroundColor ((float)1) ((float)0) ((float)0) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent ..; + + popupMenu -p $register -pmc( "zooRegistryPopups register registerPopup" ) registerPopup; + popupMenu -p $registries -pmc( "zooRegistryPopups registries registriesPopup" ) registriesPopup; + popupMenu -p $members -pmc( "zooRegistryPopups members membersPopup" ) membersPopup; + formLayout -e + -af $regLbl "top" 3 + -af $regLbl "left" 5 + -an $regLbl "right" + -an $regLbl "bottom" + + -af $register "top" 0 + -ac $register "left" 5 $regLbl + -af $register "right" 0 + -an $register "bottom" + + -ac $registriesLbl "top" 3 $register + -af $registriesLbl "left" 0 + -an $registriesLbl "right" + -an $registriesLbl "bottom" + + -ac $registries "top" 3 $registriesLbl + -af $registries "left" 0 + -ap $registries "right" 0 50 + -ac $registries "bottom" 2 $image + + -ac $membersLbl "top" 3 $register + -ap $membersLbl "left" 0 50 + -an $membersLbl "right" + -an $membersLbl "bottom" + + -ac $members "top" 3 $membersLbl + -ap $members "left" 0 50 + -af $members "right" 0 + -ac $members "bottom" 2 $image + + -an $image "top" + -af $image "left" 2 + -af $image "right" 2 + -af $image "bottom" 2 + $form; + + showWindow $windowName; + } + + +global proc zooRegisterWindowFunction( string $function ) { + string $register = `control -q -docTag zooRegForm`; + switch( $function ) { + case "-updateRegistries": + string $registries[] = `zooListRegistries $register`; + textScrollList -e -ra zooRegRegistries; + for( $r in $registries ) textScrollList -e -a $r zooRegRegistries; + break; + + case "-updateMembers": + string $registry = zooGetElement_str(0,`textScrollList -q -si zooRegRegistries`); + string $members[] = {}; + zooListRegistered $register $registry {} $members; + textScrollList -e -ra zooRegMembers; + for( $m in $members ) textScrollList -e -a $m zooRegMembers; + break; + } + } + + +global proc zooRegistryPopups( string $type, string $parent ) { + menu -e -dai $parent; + setParent -m $parent; + string $register = `control -q -docTag zooRegForm`; + string $registry = zooGetElement_str(0,`textScrollList -q -si zooRegRegistries`); + switch( $type ) { + case "register": + string $registers[] = `zooListRegisters`; + for( $r in $registers ) menuItem -l $r -c( "zooSetRegisterFocus "+ $r +";" ); + if( `size $registers` ) menuItem -d 1; + menuItem -l "new register" -c( "{string $a = `promptDialog -m \"name:\" -b \"create\" -b \"cancel\" -db \"create\"`; if( $a == \"create\" ) { string $new = zooGetRegister(`promptDialog -q -tx`, 1); zooSetRegisterFocus $new; }}" ); + menuItem -d 1; + menuItem -en( `objExists $register` ) -l "delete current register" -c( "delete "+ $register +"; zooSetRegisterFocus \"\";" ); + break; + case "registries": + menuItem -l "new registry" -c( "{string $a = `promptDialog -m \"name:\" -b \"create\" -b \"cancel\" -db \"create\"`; if( $a == \"create\" ) addAttr -at message -ln( \"zooReg\"+ `promptDialog -q -tx` +\"0\" ) "+ $register +"; zooRegisterWindowFunction -updateRegistries; }" ); + menuItem -d 1; + menuItem -l "delete registry" -c( "zooDeleteRegistry "+ $register +" "+ $registry +"; zooRegisterWindowFunction -updateRegistries; zooRegisterWindowFunction -updateMembers;" ); + break; + case "members": + string $sel[] = `ls -sl`; + menuItem -en( `size $sel` ) -l "add members" -c( "{for( $s in `ls -sl` ) zooRegisterObj "+ $register +" "+ $registry +" $s 1 1;zooRegisterWindowFunction -updateMembers;}" ); + menuItem -l "select members" -c( "select `textScrollList -q -si zooRegMembers`;" ); + menuItem -d 1; + menuItem -l "remove members" -c( "{for( $s in `textScrollList -q -si zooRegMembers` ) zooUnregisterObj "+ $register +" "+ $registry +" $s 1 0;zooRegisterWindowFunction -updateMembers;}" ); + break; + } + } + + +global proc zooSetRegisterFocus( string $register ) { + control -e -docTag $register zooRegForm; + textField -e -tx $register zooRegRegister; + textScrollList -e -da zooRegRegistries; + textScrollList -e -da zooRegMembers; + zooRegisterWindowFunction -updateRegistries; + } + + +global proc zooAddRegisterToUI( string $register ) { + setParent zooRegistryList; + frameLayout -l $register -labelVisible 1 -collapsable 0 -borderStyle "etchedIn" $register; + scrollLayout; + setParent ..; + setParent ..; + textField -w 110 -numberOfRows 22 -ams 0 -sc( "zooXferAnimWindowFunctions srcChange n" ) -deleteKeyCommand( "zooXferAnimWindowFunctions deleteLink n" ) -dcc( "zooXferAnimWindowFunctions select n;" ) zooXferAnimScrollSrcs; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooRemind.mel b/2009-x64/zooScripts/scripts/zooRemind.mel new file mode 100644 index 0000000..64a05ae --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooRemind.mel @@ -0,0 +1,220 @@ +// zooRemind +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 19 October 2003 +// +// Description: +// zooRemind is a simple script that pops up a window with a custom message. Its +// an easy way of setting reminders that open up with a scene, by putting a load +// string into the sceneConfig node. +// +// Usage: +// zooRemindSetReminderUI will open the set reminder UI +// otherwise, zooRemind can be called to just popup a window with any custom +// message you might need. this can be useful for calling from other scripts +// +// Hamish McKenzie ©2007... + + +//when called, it will simply popup a window with a custom message in it. +global proc zooRemind( string $messageTitle, string $message ) { + string $windowName = "zooRemindWindow"; + string $windowTitle = "Reminder zooRemind v" + `zooRemindInfo version`; + string $about = "This is a reminder window. It has appeared because someone has set a reminder for you. The login name of person who set this reminder is recorded in the tab name of the reminder.\n--------\n\nzooRemind\nVersion: " + `zooRemindInfo version` + "\nCreated on: " + `zooRemindInfo created` + "\nModified on: " + `zooRemindInfo modified` + "\n\nzooRemind was written by Macaroni Kazoo Productions www.macaronikazoo.com\n\n" + `zooRemindInfo history`; + + //if ( `window -exists $windowName` ) deleteUI $windowName; + if ( `window -exists $windowName` ) zooRemindAddRemindTab $messageTitle $message; + else { + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -widthHeight 300 400 $windowName; + + string $form = `formLayout`; + string $tabs = `tabLayout -innerMarginWidth 5 -innerMarginHeight 5 zooRemindTabMessages`; + string $image = `image -p $form -width 300 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image ( internalVar("-userBitmapsDir") + "/zoo_sig.tga" )`; + formLayout -edit + -attachForm $tabs "top" 0 + -attachForm $tabs "left" 0 + -attachForm $tabs "right" 0 + -attachControl $tabs "bottom" 2 $image + + -attachNone $image "top" + -attachForm $image "left" 0 + -attachForm $image "right" 0 + -attachForm $image "bottom" 0 + $form; + + string $child1 = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $message zooRemindScrollReminderDisplay; + setParent ..; + + string $child2 = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $about; + setParent ..; + + tabLayout -e -tabLabel $child1 $messageTitle -tabLabel $child2 "About zooRemind" $tabs; + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + showWindow $windowName; + } + } + + +//simply returns the contents of a file. this can be useful for loading reminders from a file... eg: zooRemind reminder `zooRemindReadFile "c:/reminder.txt"`; +global proc string zooRemindReadFile( string $reminderFile ) { + string $printString = "--- Reminder ---\n"; + string $word = ""; + int $fileId = `fopen $reminderFile "r"`; + + $word = `fgetline $fileId`; + $printString = $printString + $word; + + while( `size $word` > 0 ){ + $word = `fgetline $fileId`; + $printString = $printString + $word; + } + + fclose $fileId; + + return $printString; + } + + +//this creates the UI for the set reminder. +global proc zooRemindSetReminderUI() { + string $windowName = "zooRemindSetReminderUIWindow"; + string $windowTitle = "Set Reminder zooRemind v" + `zooRemindInfo version`; + string $previousReminder = `zooRemindGetPrevious`; + + if ( `window -exists $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -widthHeight 300 400 $windowName; + + string $form = `formLayout`; + string $messageField = `scrollField -ed 1 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $previousReminder`; + string $buttonRow = `rowLayout -numberOfColumns 2 -columnWidth2 180 120 -columnAttach 1 "both" 1 -columnAttach 2 "both" 1`; + string $image = `image -p $form -width 300 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image ( internalVar("-userBitmapsDir") + "/zoo_sig.tga" )`; + formLayout -edit + -attachForm $messageField "top" 0 + -attachForm $messageField "left" 0 + -attachForm $messageField "right" 0 + -attachControl $messageField "bottom" 2 $buttonRow + + -attachNone $buttonRow "top" + -attachForm $buttonRow "left" 0 + -attachForm $buttonRow "right" 0 + -attachControl $buttonRow "bottom" 2 $image + + -attachNone $image "top" + -attachForm $image "left" 0 + -attachForm $image "right" 0 + -attachForm $image "bottom" 0 + $form; + + button -p $buttonRow -l "set reminder" -c( "zooRemindSetReminder `scrollField -q -text " + $messageField + "`; deleteUI " + $windowName ); + button -p $buttonRow -l "remove reminders" -c( "zooRemindRemoveReminder; deleteUI " + $windowName ); + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + showWindow $windowName; + } + + +global proc zooRemindAddRemindTab( string $messageTitle, string $message ) { + string $parent = "zooRemindTabMessages"; + + setParent $parent; + $message = $message + "\n\n--------\nMore than one reminder has been set. Flip through the tabs to see them all"; + + string $messageUI = `paneLayout -configuration "single"`; + scrollField -ed 0 -wordWrap 1 -font plainLabelFont -w 300 -h 200 -numberOfLines 15 -text $message; + setParent ..; + + tabLayout -e -moveTab ( `tabLayout -q -numberOfChildren $parent` ) 1 $parent; + tabLayout -e -tabLabelIndex 1 $messageTitle $parent; + } + + +//this is a REAL dodgy proc, but i'm not sure of any other way to solve this problem... +global proc string zooRemindGetPrevious() { + string $message = ""; + if( `objExists zooRemind.before` ) { + eval( `getAttr zooRemind.before` ); + $message = `scrollField -q -text zooRemindScrollReminderDisplay`; + deleteUI zooRemindWindow; + } + return $message; + } + + +//this proc deals with creating the reminder script node +global proc zooRemindSetReminder( string $message ) { + $message = `zooRemindPrepMessageString $message`; + zooRemindRemoveReminder; + string $user = `getenv USER`; + string $demoText = "This is what your reminder will look like when it appears\\n--------\\n\\n"; + string $cmd = ( "zooRemind \"From " + $user + "\" \"" + $message + "\";" ); + string $demoCmd = ( "zooRemind \"From " + $user + "\" \"" + $demoText + $message + "\";" ); + string $scriptNodeName = `scriptNode -beforeScript $cmd -n zooRemind`; + setAttr ( $scriptNodeName + ".scriptType" ) 1; + addAttr -ln zooRemind -at bool $scriptNodeName; + eval( $demoCmd ); + } + + +global proc zooRemindRemoveReminder() { + string $scriptNodes[] = `ls -type script`; + for( $node in $scriptNodes ) if( `objExists ( $node + ".zooRemind" )` ) catchQuiet( `delete $node` ); + } + + +//goes through a string, and turns carriage returns into escaped carriage returns +global proc string zooRemindPrepMessageString( string $message ) { + string $messageString = $message; + string $temp = $message; + int $stillChanging = 1; + + //replace newline characters with escaped newline characters... + $messageString = `zooReplaceInString $messageString "\n" "\\n"`; + + //replace carriage returns with nothing, as all carriage returns are newlines instead + $messageString = `zooReplaceInString $messageString "\r" ""`; + + //changes quote marks into single quote marks so we don't get unterminated string errors + $messageString = `zooReplaceInString $messageString "\"" "'"`; + + return $messageString; + } + + +//simply returns versioning, and date information about this script +global proc string zooRemindInfo ( string $function ) { + string $creationDate = "19 October 2003"; + string $lastRevision = "30 October 2003"; + string $revisionHistory = "v1.12 03-02-04\nMEL: now relies on zooUtils\n\nv1.11 30-10-03\nNEW: read from file procedure, for loading reminders from file.\n\nv1.03 22-10-03\nFIX: if there are multiple reminders in a scene, they now all appear in the same window, on different tabs.\n\nv1.02 20-10-03\nminor UI improvements. windows close when finished with, and example reminder window says its an example.\n\nv1.01 19-10-03\ninitial version. has interface for creating and removing reminders. Base command can be used simply to pop up an information window."; + string $info = ""; + float $currentVersion = 1.12; + + if ( $function == "created" ) $info = $creationDate; + if ( $function == "modified" ) $info = $lastRevision; + if ( $function == "history" ) $info = $revisionHistory; + if ( $function == "version" ) $info = $currentVersion; + return $info; + } + + +//these dependencies allow the zooZipScript to package this script easily for distribution +global proc string[] zooRemindDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooRemind.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooRenamer.mel b/2009-x64/zooScripts/scripts/zooRenamer.mel new file mode 100644 index 0000000..60f2105 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooRenamer.mel @@ -0,0 +1,303 @@ +// +// zooRenamer +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 4 August 2002 +// +// Description: +// makes renaming heirarchies a little less painful... +// the copy/paste heirarchy function, copies the names of +// one heirarchy to another. +// +// Usage: +// assign this function to a key press: +// zooRenamer +// +// Hamish McKenzie ©2007... + + +zooRenamerUtils; +zooUtils; + + +global proc zooRenamer () { + string $selObjs[] = `ls -sl`; + string $windowName = "zooRenamerWindow"; + string $windowTitle = "zooRenamer v" + `zooRenamerInfo version` + " ::macaroniKazoo::"; + + if ( `window -exists $windowName` ) deleteUI $windowName; + window -t $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 $windowName; + scriptJob -p $windowName -e "SelectionChanged" "zooRenamerUIControls update"; + menuBarLayout; + menu -l "Duplicate Names"; + menuItem -l "List Duplicate Names" -ann "prints a list of nodes that have the same leaf name" -c( "print `zooListDuplicateNames`;" ); + menuItem -l "Resolve Duplicate Names" -ann "automatically resolves duplicate names by appending a number to the clashing node's name" -c( "zooResolveDuplicateNames;" ); + menuItem -d 1; + menuItem -l "Name Shapes Properly" -ann "renames all shape nodes in the scene properly" -c( "zooNameShapesProperly;" ); + menu -l "Shelf"; + menuItem -l "Install Shelf Button" -c( "zooRenamerInstallShelfButton;" ); + menu -l "Help"; + menuItem -l "Help..." -c( "zooHelp zooRenamer 1;" ); + + columnLayout -adjustableColumn true -rowSpacing 5 zooRenamerLeftColumn; + radioCollection zooRenamerRadio; + $form = `formLayout`; + radioButton -label "Heirarchy" -align "left" zooRenamerRadioHeirarchy; + radioButton -label "Selected" -align "left" -sl zooRenamerRadioSelected; + + string $text02 = `text -align "left" -label "Prefix:"`; + textField -ed 1 -text "" -ec( "zooRenamerUIControls prefix;" ) -cc( "zooRenamerUIControls update;" ) zooRenamerPrefix; + button -label "Rename" -c( "zooRenamerUIControls prefix;" ) zooRenamerButtonPrefix; + + string $text03 = `text -align "left" -label "Suffix:"`; + textField -ed 1 -text "" -ec( "zooRenamerUIControls suffix;" ) -cc( "zooRenamerUIControls update;" ) zooRenamerSuffix; + button -label "Rename" -c( "zooRenamerUIControls suffix;" ) zooRenamerButtonSuffix; + + string $txSch = `text -align "left" -label "Search:"`; + string $txRpl = `text -align "left" -label "Replace:"`; + + textField -ed 1 -text "" -cc( "zooRenamerUIControls update;" ) zooRenamerSearch; + string $text04 = `text -align "left" -l "->"`; + textField -ed 1 -text "" -ec( "zooRenamerUIControls replace;" ) -cc( "zooRenamerUIControls update;" ) zooRenamerReplace; + button -label "Rename" -c( "zooRenamerUIControls replace;" ) zooRenamerButtonSearch; + + string $text05 = `text -align "left" -label "Numerate:"`; + textField -tx "#_%" -ec( "zooRenamerUIControls replace;" ) -cc( "zooRenamerUIControls update;" ) zooRenamerNumTemplate; + intField -v 0 -w 25 zooRenamerNumStart; + intField -v 3 -w 25 zooRenamerNumPad; + string $text05a = `text -l "start/pad:"`; + button -label "Rename" -c( "zooRenamerUIControls numerate;" ) zooRenamerButtonNumerate; + + string $text06 = `text -align "left" -label "Copy Paste Heirarchy Names"`; + button -label "Copy/Paste" -c( "zooCopyPasteHeirarchyNames \"\" \"\" \"\";" ) zooRenamerButtonCopyPaste; + + button -label "to UPPER case" -c( "zooRenamerUIControls toupper;" ) zooRenamerButtonToupper; + button -label "to lower case" -c( "zooRenamerUIControls tolower;" ) zooRenamerButtonTolower; + + string $image = `image -width 225 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + setParent..; + setParent..; + + formLayout -e + -af zooRenamerRadioHeirarchy "top" 0 + -af zooRenamerRadioHeirarchy "left" 2 + + -af zooRenamerRadioSelected "top" 0 + -ap zooRenamerRadioSelected "left" -20 50 + + -ac $text02 "top" 5 zooRenamerRadioSelected + -af $text02 "left" 2 + + -ac zooRenamerPrefix "top" 2 zooRenamerRadioSelected + -ac zooRenamerPrefix "left" 2 $text02 + -ac zooRenamerPrefix "right" 2 zooRenamerButtonPrefix + + -ac zooRenamerButtonPrefix "top" 2 zooRenamerRadioSelected + -af zooRenamerButtonPrefix "right" 2 + + -ac $text03 "top" 5 zooRenamerPrefix + -af $text03 "left" 2 + + -ac zooRenamerSuffix "top" 2 zooRenamerPrefix + -ac zooRenamerSuffix "left" 2 $text03 + -ac zooRenamerSuffix "right" 2 zooRenamerButtonSuffix + + -ac zooRenamerButtonSuffix "top" 2 zooRenamerPrefix + -af zooRenamerButtonSuffix "right" 2 + + -ac $txSch "top" 2 zooRenamerSuffix + -af $txSch "left" 2 + + -ac $txRpl "top" 2 zooRenamerSuffix + -ap $txRpl "left" 15 38 + -af $txRpl "right" 2 + + -ac zooRenamerSearch "top" 1 $txSch + -af zooRenamerSearch "left" 2 + -ap zooRenamerSearch "right" 0 38 + + -ac $text04 "top" 5 $txSch + -ac $text04 "left" 2 zooRenamerSearch + + -ac zooRenamerReplace "top" 1 $txSch + -ac zooRenamerReplace "left" 1 $text04 + -ac zooRenamerReplace "right" 2 zooRenamerButtonSearch + + -ac zooRenamerButtonSearch "top" 1 $txSch + -af zooRenamerButtonSearch "right" 2 + + -ac $text05 "top" 5 zooRenamerSearch + -af $text05 "left" 2 + + -ac zooRenamerNumTemplate "top" 2 zooRenamerSearch + -ac zooRenamerNumTemplate "left" 2 $text05 + -ac zooRenamerNumTemplate "right" 2 $text05a + + -ac $text05a "top" 5 zooRenamerSearch + -ac $text05a "right" 2 zooRenamerNumStart + + -ac zooRenamerNumStart "top" 2 zooRenamerSearch + -ac zooRenamerNumStart "right" 0 zooRenamerNumPad + + -ac zooRenamerNumPad "top" 2 zooRenamerSearch + -ac zooRenamerNumPad "right" 2 zooRenamerButtonNumerate + + -ac zooRenamerButtonNumerate "top" 2 zooRenamerSearch + -af zooRenamerButtonNumerate "right" 2 + + -ac $text06 "top" 5 zooRenamerButtonNumerate + -af $text06 "left" 2 + + -ac zooRenamerButtonCopyPaste "top" 3 zooRenamerButtonNumerate + -ac zooRenamerButtonCopyPaste "left" 2 $text06 + -af zooRenamerButtonCopyPaste "right" 2 + + -ac zooRenamerButtonToupper "top" 2 zooRenamerButtonCopyPaste + -af zooRenamerButtonToupper "left" 2 + -ap zooRenamerButtonToupper "right" 1 50 + -ac zooRenamerButtonToupper "bottom" 2 $image + + -ac zooRenamerButtonTolower "top" 2 zooRenamerButtonCopyPaste + -ac zooRenamerButtonTolower "left" 1 zooRenamerButtonToupper + -af zooRenamerButtonTolower "right" 2 + -ac zooRenamerButtonTolower "bottom" 2 $image + + -af $image "left" 2 + -af $image "right" 2 + -af $image "bottom" 2 + $form; + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + showWindow $windowName; + if ( `size $selObjs` > 0 ) zooRenamerUIControls update; + zooRenamerInstallShelfPopup; + } + + +global proc zooRenamerUIControls ( string $function ) { + switch ( $function ) { + case "update": + string $selObjs[] = `ls -sl`; + if ( `size $selObjs` != 2 ) button -e -en 0 zooRenamerButtonCopyPaste; + else button -e -en 1 zooRenamerButtonCopyPaste; + break; + + //i use the selection method, because this way, maya always gives proper path names to teh objects - even if its parent's name changes, and hence, alters the object path name + case "prefix": + select -r -ne `zooRenamerGetClients`; + + string $prefix = `textField -q -tx zooRenamerPrefix`; + zooRenamerApplyFuctions prefix $prefix n; + break; + + case "suffix": + select -r -ne `zooRenamerGetClients`; + + string $suffix = `textField -q -tx zooRenamerSuffix`; + zooRenamerApplyFuctions suffix $suffix n; + break; + + case "replace": + select -r -ne `zooRenamerGetClients`; + + string $search = `textField -q -tx zooRenamerSearch`; + string $replace = `textField -q -tx zooRenamerReplace`; + + zooRenamerApplyFuctions replace $search $replace; + break; + + case "toupper": + select -r -ne `zooRenamerGetClients`; + zooRenamerApplyFuctions toupper n n; + break; + + case "tolower": + select -r -ne `zooRenamerGetClients`; + zooRenamerApplyFuctions tolower n n; + break; + + case "numerate": + string $template = `textField -q -tx zooRenamerNumTemplate`; + int $start = `intField -q -v zooRenamerNumStart`; + int $pad = `intField -q -v zooRenamerNumPad`; + + select -r -ne `zooRenamerGetClients`; + zooNumerateObjs `ls -sl` $template $start $pad; + break; + } + } + + +global proc string[] zooRenamerGetClients () { + string $return[] = {}; + string $mode = `radioCollection -q -sl zooRenamerRadio`; + + if ( $mode == "zooRenamerRadioHeirarchy" ) { + string $selObjs[] = `ls -ap -sl`; + $return = `listRelatives -ad -pa -type transform -type joint $selObjs`; + + for( $obj in $selObjs ) $return[( `size $return` )] = $obj; + } + else $return = `ls -l -sl`; + + return $return; + } + + +//installs a shelf buttons for zooTriggered on the current shelf +global proc zooRenamerInstallShelfButton() { + zooShelveIt; + string $button = `zooInstallShelfButton zooRenamer`; + string $image = "zooRenamer.xpm"; + string $cmd = "zooRenamer;"; + + shelfButton -e -image1 $image -label "zooRenamer - mass renaming tool" -ann "mass renaming tool - right click for additional options" -c $cmd $button; + zooRenamerInstallShelfPopup; + } + + +global proc zooRenamerInstallShelfPopup() { + zooShelveIt; + string $buttons[] = `zooGetShelfButtonAll zooRenamer`; + for( $button in $buttons ) if( `control -ex $button` ) if ( !`shelfButton -q -numberOfPopupMenus $button` ) { + popupMenu -p $button; + menuItem -l "list duplicate node names" -c( "print `zooListDuplicateNames`;" ); + menuItem -l "resolve duplicate node names" -c( "print `zooResolveDuplicateNames`;" ); + menuItem -d 1; + menuItem -l "name shape nodes properly" -c( "print `zooNameShapesProperly`;" ); + } + } + + +global proc string zooRenamerInfo ( string $function ) { + string $creationDate = "04 August 2002"; + string $currentVersion = "2.06.11"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +//these dependencies allow the zooZipScript to package this script easily for distribution +global proc string[] zooRenamerDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooRenamerUtils"; + $melDependencies[( `size $melDependencies` )] = "zooStrUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $helpDependencies[( `size $helpDependencies` )] = "zooRenamer_help"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooRenamer.xpm"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-docs" ) return $helpDependencies; + return {}; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooRenamerUtils.mel b/2009-x64/zooScripts/scripts/zooRenamerUtils.mel new file mode 100644 index 0000000..975edd8 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooRenamerUtils.mel @@ -0,0 +1,222 @@ +// +// zooRenamer +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 4 August 2002 +// +// Description: +// makes renaming heirarchies a little less painful... +// the copy/paste heirarchy function, copies the names of +// one heirarchy to another. +// +// Usage: +// assign this function to a key press: +// zooRenamer +// +// Hamish McKenzie ©2007... + + +zooArrays_int; +zooArrays_str; +zooFlags; +zooStrUtils; + + +global proc zooRenamerUtils () { + return; + } + + +//applies the given functions to all selected objects +global proc zooRenamerApplyFuctions( string $function, string $variable01, string $variable02 ) { + string $newObjs[] = {}; + while( size( `ls -sl` )) { + string $objs[] = `ls -l -sl`; + select -d -ne $objs[0]; + $newObjs[( `size $newObjs` )] = `zooRenamerFunctions $function $variable01 $variable02 $objs[0]`; + } + + select $newObjs; + } + + +global proc string zooRenamerFunctions ( string $function, string $variable01, string $variable02, string $obj ) { + if( !`objExists $obj` ) return ""; + if( `referenceQuery -inr $obj` ) return ""; + string $objName = `match "[^|]+$" $obj`; + switch ( $function ) { + case "prefix": + string $prefix = $variable01; + return `rename $obj ( $prefix + $objName )`; + break; + + case "suffix": + string $suffix = $variable01; + return `rename $obj ( $objName + $suffix )`; + break; + + case "replace": + string $search = $variable01; + string $replace = $variable02; + string $newName; + + $newName = `substitute $search $objName $replace`; + return `rename $obj $newName`; + break; + + case "copyPaste": + zooCopyPasteHeirarchyNames "" "" ""; + return ""; + break; + + case "toupper": + string $upperCaseName = `toupper $objName`; + return `rename $obj $upperCaseName`; + break; + + case "tolower": + string $lowerCaseName = `tolower $objName`; + return `rename $obj $lowerCaseName`; + break; + } + } + + +global proc string[] zooCopyPasteHeirarchyNames( string $srcRoot, string $tgtRoot, string $optionStr ) { + string $temp[] = {}; + int $unique = 0; + + $temp = `zooGetFlagArguments $optionStr unique`; if( `size $temp` ) $unique = $temp[0]; + + string $selObjs[] = `ls -sl`; + if( !`objExists $srcRoot` ) $srcRoot = $selObjs[0]; + if( !`objExists $tgtRoot` ) $tgtRoot = $selObjs[1]; + if( !`objExists $srcRoot` ) return {}; + if( !`objExists $tgtRoot` ) return {}; + + //duplicate the source chain so we can capture unique names + string $dupeCmd = "duplicate -rr "+ ( $unique? "-rc ": "" ) +" "+ $srcRoot +";"; + string $dupeObj = zooGetElement_str(0,eval($dupeCmd)); + string $srcHeirarchy[] = `listRelatives -pa -ad -type transform -type joint $dupeObj`; + string $tgtHeirarchy[] = `listRelatives -pa -ad -type transform -type joint $tgtRoot`; + + //add the root objects to the arrays + $srcHeirarchy[( `size $srcHeirarchy` )] = $dupeObj; + $tgtHeirarchy[( `size $tgtHeirarchy` )] = $tgtRoot; + int $srcSize = `size $srcHeirarchy`; + int $tgtSize = `size $tgtHeirarchy`; + + //reverse the heirarchy so its top to bottom (so the top of shorter heirarchies matches that of longer ones) + $srcHeirarchy = `zooReverseArray_str $srcHeirarchy`; + $tgtHeirarchy = `zooReverseArray_str $tgtHeirarchy`; + delete $dupeObj; //delete the dupe heirarchy now that we've captured the names + + //now create a variable to make sure the smaller size of the two array's are used + int $iterateSize = ( $tgtSize < $srcSize ) ? $tgtSize:$srcSize; + //for ( $n=0; $n<$iterateSize; $n++ ) print( $tgtHeirarchy[$n] + " " + $srcHeirarchy[$n] + "\n" ) + for ( $n=0; $n<$iterateSize; $n++ ) { + string $baseName = `match "[^:|]+$" $srcHeirarchy[$n]`; + $tgtHeirarchy[$n] = `rename $tgtHeirarchy[$n] $baseName`; + } + + //restore selection + select $srcRoot $tgtHeirarchy[0]; + + return $tgtHeirarchy; + } + + +//renames a list of objects based on a numeric incrementor - ie puts an increasing +//number somewhere in the node name. the renaming of the nodes is based on a +//renaming template. the template uses two symbols to allow increased flexibility +// +//the symbols it uses are: +// # gets replaced by the current node name +// % gets replaced by the number +//example - renaming a list: obj1 obj2 obj3: +//using this template: newName_%_# results in this +//newName_000_obj1 newName_001_obj2 newName_002_obj3 +// +//the start arg tells the proc where to start the numbering from +//the pad arg tells how many digits the number string should be - gets padded with +//zeros +global proc string[] zooNumerateObjs( string $objs[], string $template, int $start, int $pad ) { + string $newNames[] = {}; + int $i = $start; + + for( $n=0; $n<`size $objs`; $n++, $i++ ) { + if( `referenceQuery -inr $objs[$n]` ) continue; //can't rename if node is referenced + string $num = $i; + if( $pad ) $num = `zooPadBefore_int $i $pad "0"`; + string $newName = `zooReplaceInString $template "%" $num`; + string $basename = `match "[^|]+$" $objs[$n]`; + + $newName = `zooReplaceInString $newName "#" $basename`; + $newNames[$n] = `rename $objs[$n] $newName`; + } + + return $newNames; + } + + +//returns a list of duplicate node name paths +global proc string[] zooListDuplicateNames() { + string $all[] = `ls`; + string $allLong[] = `ls -l`; + string $dupes[] = {}; + + for( $n=0; $n<`size $all`; $n++ ) if( `match "|" $all[$n]` != "" ) $dupes[( `size $dupes` )] = $allLong[$n]; + + return $dupes; + } + + +//will resolve all duplicate names in a scene +global proc string[] zooResolveDuplicateNames() { + string $dupes[] = `zooListDuplicateNames`; + string $resolved[] = {}; + + //need these in reverse heirarchical order - rename from bottom to top + $dupes = `zooSortToHeirarchy $dupes`; + $dupes = `zooReverseArray_str $dupes`; + for( $n=0; $n<`size $dupes`; $n++ ) { + if( !`objExists $dupes[$n]` ) continue; + if( `referenceQuery -inr $dupes[$n]` ) continue; //can't rename if node is referenced + int $whyIsThisAnArray[] = `lockNode -q -l $dupes[$n]`; + if( $whyIsThisAnArray[0] ) continue; //can't rename if node is locked + string $basename = `match "[^|]+$" $dupes[$n]`; + $resolved[$n] = `rename $dupes[$n] ( $basename +"#" )`; + } + + return $resolved; + } + + +//makes sure all shapes in the scene are named appropriately - ie are called: +//xformnameShape +global proc string[] zooNameShapesProperly() { + string $xforms[] = `ls -l -type transform`; + string $renamed[] = {}; + + for( $n=0; $n<`size $xforms`; $n++ ) { + string $shapes[] = `listRelatives -pa -s $xforms[$n]`; + string $basename = `match "[^|]+$" $xforms[$n]`; + + for( $i=0; $i<`size $shapes`; $i++ ) { + if( `referenceQuery -inr $shapes[$i]` ) continue; //can't rename if node is referenced + if( `nodeType $shapes[$i]` == "camera" ) if( `camera -q -sc $shapes[$i]` ) continue; //can't rename startup camera nodes + int $whyIsThisAnArray[] = `lockNode -q -l $shapes[$i]`; + if( $whyIsThisAnArray[0] ) continue; //can't rename if node is locked + + string $shapeBasename = `match "[^|]+$" $shapes[$i]`; + if( $shapeBasename == ( $basename +"Shape" )) continue; //if its already named appropriately, keep loopin + $renamed[( `size $renamed` )] = `rename $shapes[$i] ( $basename +"Shape" )`; + } + } + + return $renamed; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooRenamer_help.zooHelp b/2009-x64/zooScripts/scripts/zooRenamer_help.zooHelp new file mode 100644 index 0000000..0528d00 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooRenamer_help.zooHelp @@ -0,0 +1,28 @@ +Overview: +zooRenamer is a renaming script, made primarily to help with maintaining naming conventions for character rigs. It makes it easy to add left and right suffixes to skeletons, and character name prefixes, as well as heirarchy name matching for things like fingers. You can quickly copy names from one finger to another, and then search and replace to change the prefix. + +Search and Replace: +You can only use regular expressions with the search and replace function as part of the search string. For those who have never used regular expressions, have a look in the mel command documentation, for the match command. or type this into the script editor: help -doc match + +Numerate: +The numerate function lets you add a number to a bunch of objects. Its a bit confusing at first because of the way the tool works, but its quite powerful once you get the hang of it. To use it you need to give the script a renaming "template". The template tells the script how you want to rename the selected objects. It defaults to: +#_% + +The # symbol gets replaced by the object's current name, then it appends an "_" character, and then finally the % character adds the number. The template can be just about anything you want. For example, if you had 10 objects selected and you wanted them all to be called: obj001, obj002, etc... + +You would use the template: +obj% + +If you didn't want to change the name, and just wanted to append a number, you could use: +#% + +If you wanted to prefix the selected objects with obj_, you could use: +obj_#_% + +Or if you wanted to add a suffix, you could use this: +#_%_group + +So hopefully those few examples give you an idea of how to use the numerate function of the script. Its pretty handy. The only other two things you need to know is the "start" option - which tells the script what number to start at, and the second is the padding. This tells the script how many zeros to put before the number to make it a certain length. If the padding is 0, then no zeros are added. + +Copy/Paste: +This function allows you to copy a heirarchie's naming convention from one heirarchy to another. Select the source heirarchy, and then the target. The script will attempt to match the naming convetion. It only renames to unique names, so chances are you'll get lots of 1's and 2's in the new names, but if you don't want that, you can use the search/replace function. Beware, this function doesn't work too well with braching heirarchies. diff --git a/2009-x64/zooScripts/scripts/zooReorderAttribs.mel b/2009-x64/zooScripts/scripts/zooReorderAttribs.mel new file mode 100644 index 0000000..6cd24dc --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooReorderAttribs.mel @@ -0,0 +1,182 @@ +// +// reorder attributes +// +// Created by Hamish McKenzie www.emissionpossible.com +// Created : 24 April 2003 +// +// Description: +// one of the most annoying things when setting up a character, is to +// find that a control object for the right side of a character, has +// had its attributes created in a different order to its +// corresponding control on the right side. this script enables one +// to reorder attributes easily, while maintaining all connections to +// and from the attribute. it also allows one to easily rename and +// delete attributes, without disrupting the current order. +// +// Usage: +// simply run the command: +// zooReorderAttribs; +// +// Hamish McKenzie ©2007... + + +global proc zooReorderAttribs () { + string $windowName = "zooReorderAttribsWindow"; + string $windowTitle = "Reorder Attributes v" + `zooReorderAttribsInfo version` + " ::macaroniKazoo::"; + int $ifAttribCreatorExists = `exists zzAttribCreator`; + + if ( `window -exists $windowName` ) deleteUI $windowName; + + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 + -sizeable 1 -width 210 $windowName; + + scriptJob -p $windowName -e "SelectionChanged" "zooReorderAttribsWindowFunctions update"; + + menuBarLayout; + menu -label "Help"; + menuItem -l "Help..." -c ( "zooReorderAttribsHelp help" ); + menuItem -divider 1; + menuItem -l "About" -c ( "zooReorderAttribsHelp about" ); + + columnLayout -adjustableColumn 1 -rowSpacing 5; + rowLayout -numberOfColumns 2 + -columnWidth2 130 90 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + textScrollList -numberOfRows 20 -allowMultiSelection 1 zooReorderAttribsScrollAttribs; + columnLayout -adjustableColumn 1 -rowSpacing 5; + button -l "attribs up" -height 18 -c ( "zooReorderAttribsWindowFunctions attribUp" ) zooReorderAttribsButtonUp; + button -l "attribs down" -height 18 -c ( "zooReorderAttribsWindowFunctions attribDown" ) zooReorderAttribsButtonDown; + checkBox -l "keyable only" -v 1 -cc ( "zooReorderAttribsWindowFunctions update" ) zooReorderAttribsCheckKeyable; + checkBox -l "lock selection" -v 0 -offCommand ( "zooReorderAttribsWindowFunctions update" ) zooReorderAttribsCheckLock; + text -l ""; + + button -l "attrib creator" -height 18 -enable $ifAttribCreatorExists -c ( "zzAttribCreator" ); + text -l ""; + + button -l "delete attribs" -height 18 -c ( "zooReorderAttribsWindowFunctions deleteAttr" ); + textField -ed 0 -text "" zzAttribCreatorTextObj; + setParent ..; + setParent ..; + button -l "reorder" -height 18 -c ( "zooReorderAttribsWindowFunctions reorder" ) zooReorderAttribsButtonReorder; + string $image = `image -width 210 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" ) zooTimeSetsImageSig`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent ..; + + showWindow $windowName; + zooReorderAttribsWindowFunctions update; + } + + +global proc zooReorderAttribsWindowFunctions ( string $function ) { + switch ( $function ) { + //this is the generic window update function + case "update": + string $selObjs[] = `ls -sl`; + + if ( !`checkBox -q -v zooReorderAttribsCheckLock` ) { //first check to see that the user wants the window to be updated + textScrollList -e -removeAll zooReorderAttribsScrollAttribs; + textScrollList -e -docTag $selObjs[0] zooReorderAttribsScrollAttribs; + textField -e -text $selObjs[0] zzAttribCreatorTextObj; + + if ( `size $selObjs` > 0 ) { + string $customAttribs[] = `listAttr -u -userDefined $selObjs[0]`; + if ( `checkBox -q -v zooReorderAttribsCheckKeyable` ) { + clear $customAttribs; + $customAttribs = `listAttr -k -u -userDefined $selObjs[0]`; + } + + for ( $attrib in $customAttribs ) { + textScrollList -e -append $attrib zooReorderAttribsScrollAttribs; + } + } + } + break; + + + //this is the routine called when the "attrib up" button is pressed + case "attribUp": + string $selAttribName[] = `textScrollList -q -selectItem zooReorderAttribsScrollAttribs`; + int $selAttribNum[] = `textScrollList -q -selectIndexedItem zooReorderAttribsScrollAttribs`; + int $n = 0; + + for ( $n = 0; $n < `size $selAttribNum`; $n++ ) { + int $prevPos = ( $selAttribNum[$n] == 1 )?$selAttribNum[$n]:($selAttribNum[$n] - 1); + + textScrollList -e -removeIndexedItem $selAttribNum[$n] zooReorderAttribsScrollAttribs; + textScrollList -e -appendPosition $prevPos $selAttribName[$n] zooReorderAttribsScrollAttribs; + textScrollList -e -selectItem $selAttribName[$n] zooReorderAttribsScrollAttribs; + } + break; + + + //this is the routine called when the "attrib down" button is pressed + case "attribDown": + string $selAttribName[] = `textScrollList -q -selectItem zooReorderAttribsScrollAttribs`; + int $numAttribs = `textScrollList -q -numberOfItems zooReorderAttribsScrollAttribs`; + int $selAttribNum[] = `textScrollList -q -selectIndexedItem zooReorderAttribsScrollAttribs`; + int $n = 0; + + for ( $n = (`size $selAttribNum` - 1); $n >= 0; $n-- ) { + int $nextPos = ( $selAttribNum[$n] == $numAttribs )?$selAttribNum[$n]:($selAttribNum[$n] + 1); + + textScrollList -e -removeIndexedItem $selAttribNum[$n] zooReorderAttribsScrollAttribs; + textScrollList -e -appendPosition $nextPos $selAttribName[$n] zooReorderAttribsScrollAttribs; + textScrollList -e -selectItem $selAttribName[$n] zooReorderAttribsScrollAttribs; + } + break; + + + case "reorder": + string $obj = `textScrollList -q -docTag zooReorderAttribsScrollAttribs`; + string $newAttribOrder[] = `textScrollList -q -allItems zooReorderAttribsScrollAttribs`; + int $numAttribs = `textScrollList -q -numberOfItems zooReorderAttribsScrollAttribs`; + + zooReorderAttribsReorder $obj $newAttribOrder; + break; + + + case "deleteAttr": + string $obj = `textScrollList -q -docTag zooReorderAttribsScrollAttribs`; + string $selAttribName[] = `textScrollList -q -selectItem zooReorderAttribsScrollAttribs`; + + for ( $attr in $selAttribName ) { + //deleteAttr ( $obj + "." + $attr ); + deleteAttr -at $attr $obj; + textScrollList -e -removeItem $attr zooReorderAttribsScrollAttribs; + } + break; + } + } + + +global proc zooReorderAttribsReorder ( string $obj, string $newAttribOrder[] ) { + zooReorderAttrs $obj $newAttribOrder; + } + + +global proc string zooReorderAttribsInfo ( string $function ) { + string $creationDate = "24 April 2003"; + string $currentVersion = "1.03"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +global proc string[] zooReorderAttribsDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooReorderAttrs.mel b/2009-x64/zooScripts/scripts/zooReorderAttrs.mel new file mode 100644 index 0000000..e66b1f1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooReorderAttrs.mel @@ -0,0 +1,22 @@ +global proc zooReorderAttrs( string $obj, string $newAttribOrder[] ) { + string $selObjs[] = `ls -sl`; + for ( $attrib in $newAttribOrder ) { + //if the attribute is locked, we'll need to unlock it to rename it + int $isAttrLocked = `getAttr -l ( $obj + "." + $attrib )`; + if( $isAttrLocked ) setAttr -l 0 ( $obj + "." + $attrib ); + + //rename the attribute to a temporary name. You can't rename it to its own name, so we need to rename it to a proxy name, and then back again + string $tempAttrib = `renameAttr ( $obj + "." + $attrib ) "temp"`; + renameAttr ( $obj + "." + $tempAttrib ) $attrib; + + //if the attribute WAS locked, lock it again, in order to maximise transparency + if( $isAttrLocked ) setAttr -l 1 ( $obj + "." + $attrib ); + } + + select -r $selObjs; + select $selObjs; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooResetAttrs.mel b/2009-x64/zooScripts/scripts/zooResetAttrs.mel new file mode 100644 index 0000000..90d4282 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooResetAttrs.mel @@ -0,0 +1,29 @@ +//simply resets all keyable attributes on a given object to its default value +//great for running on a large selection such as all character controls... +global proc zooResetAttrs( string $obj ) { + string $attrs[] = `listAttr -k -s -m $obj`; + + //if the transform is a joint, see if its part of a bindpose, and if so, restore to + //the bindpose, not zero, as this is generally the preferred behaviour + string $poses[] = `listConnections -s 0 -type dagPose $obj`; + string $bindPoses[] = {}; + + $poses = `stringArrayRemoveDuplicates $poses`; + for( $pose in $poses ) if( `getAttr ( $pose +".bindPose" )`) $bindPoses[`size $bindPoses`] = $pose; + + if( `size $bindPoses` ) dagPose -r -bp $obj; + else for( $attr in $attrs ) { + float $default[] = {0.0}; + + if( !catch(`attributeQuery -n $obj -listDefault $attr`)) $default = `attributeQuery -n $obj -listDefault $attr`; + if( !`getAttr -se ( $obj +"."+ $attr )` ) continue; + + //need to catch because maya will let the default value lie outside an attribute's + //valid range (ie maya will let you creat an attrib with a default of 0, min 5, max 10) + catchQuiet( `setAttr ( $obj +"."+ $attr ) $default[0]` ); + } + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooResource.mel b/2009-x64/zooScripts/scripts/zooResource.mel new file mode 100644 index 0000000..7159ff5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooResource.mel @@ -0,0 +1,33 @@ +zooUtils; + + +//resources all currently sourced scripts +global proc zooResource() { + string $sourced[] = `zooListSourced`; + for( $s in $sourced ) eval( "source "+ $s +";" ); + } + + +//returns a list of all scripts that have been sourced in the current maya session +global proc string[] zooListSourced() { + string $paths[] = `zooListEnv ""`; + string $sourced[] = {}; + + for( $p in $paths ) { + string $scripts[] = `zooGetFiles $p "*.mel"`; + for( $s in $scripts ) { + $s = `match "^[^.]+" $s`; + string $what = `whatIs $s`; + + $what = `tolower $what`; + $what = `match "^[^ ]+" $what`; + if( $what == "mel" ) $sourced[( `size $sourced` )] = $s; + } + } + + return $sourced; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSelecto.mel b/2009-x64/zooScripts/scripts/zooSelecto.mel new file mode 100644 index 0000000..5f5b499 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSelecto.mel @@ -0,0 +1,224 @@ +zooSelectoUtils; +zooTips; +zooUtils; + + +global proc zooSelecto() { + string $windowName = "zooSelectoAuthorWindow"; + string $windowTitle = "Selecto Author"; + string $sel[] = `ls -sl`; + int $showTips = `zooTipState zooSelecto -1`; + + if ( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -maximizeButton 0 -sizeable 1 -widthHeight 300 250 $windowName; + menuBarLayout; + menu -l "Presets" -pmc( "zooBuildSelectPresetMenu zooSelectoPresetMenu;" ) zooSelectoPresetMenu; + menu -l "Help"; + menuItem -l "Setup Hotkey" -c( "zooHotkeyer selectoMenu \"zooSelectoMenu;\" \"zooSelectoMenuKillUI;\" \"-ann creates the zooSelecto marking menu -default n -enableMods 0\"" ); + menuItem -cb $showTips -l "Show Tips" -c( "zooTipState zooSelecto #1; if( #1 ) zooTipsWin zooSelecto -1;" ); + + string $tabs = `tabLayout zooSelectoAuthorTabMaster`; + string $manageForm = `formLayout`; + string $charList = `textScrollList -ams 1 zooSelectoAuthorUITSLChars`; + string $toggleVis = `button -l "hide/show selectos" -c( "zooSelectoAuthorFunctions -toggleVis" )`; + string $transLbl = `text -l "transparency"`; + string $trans = `floatField -width 100 -min 0 -max 1 zooSelectoAuthorUIFloatTrans`; + string $setTrans = `button -l "set trans" -c( "zooSelectoAuthorFunctions -transparency" )`; + string $select = `button -l "select" -c( "zooSelectoAuthorFunctions -select;" )`; + string $delete = `button -l "delete" -c( "zooSelectoAuthorFunctions -delete;" )`; + string $allToggle = `button -l "hide/show ALL selectos" -c( "zooToggleSelectoVis" )`; + setParent ..; + + string $createForm = `formLayout`; + string $typeLbl = `text -l "shape:"`; + string $type = `textField -ed 0 -tx "circle" zooSelectoAuthorUITextShape`; + string $optsLbl = `text -l "additional options:"`; + string $opts = `textField zooSelectoAuthorUITextOptions`; + string $create = `button -l "build selectos" -c( "zooSelectoAuthorFunctions -build" )`; + + popupMenu -p $type -b 3; + menuItem -l "circle" -c( "textField -e -tx circle "+ $type ); + menuItem -l "triangle" -c( "textField -e -tx triangle "+ $type ); + menuItem -l "square" -c( "textField -e -tx square "+ $type ); + menuItem -l "pentagon" -c( "textField -e -tx pentagon "+ $type ); + menuItem -l "hexagon" -c( "textField -e -tx hexagon "+ $type ); + menuItem -l "pill" -c( "textField -e -tx pill "+ $type ); + menuItem -l "donut" -c( "textField -e -tx donut "+ $type ); + + popupMenu -p $opts -b 3; + menuItem -l "-colour" -sm 1; + menuItem -l "light red" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightred\" ) "+ $opts ); + menuItem -l "red" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour red\" ) "+ $opts ); + menuItem -l "dark red" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkred\" ) "+ $opts ); + menuItem -l "light orange" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightorange\" ) "+ $opts ); + menuItem -l "orange" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour orange\" ) "+ $opts ); + menuItem -l "dark orange" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkorange\" ) "+ $opts ); + menuItem -l "light yellow" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightyellow\" ) "+ $opts ); + menuItem -l "yellow" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour yellow\" ) "+ $opts ); + menuItem -l "dark yellow" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkyellow\" ) "+ $opts ); + menuItem -l "light green" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightgreen\" ) "+ $opts ); + menuItem -l "green" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour green\" ) "+ $opts ); + menuItem -l "dark green" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkgreen\" ) "+ $opts ); + menuItem -l "light blue" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightblue\" ) "+ $opts ); + menuItem -l "blue" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour blue\" ) "+ $opts ); + menuItem -l "dark blue" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkblue\" ) "+ $opts ); + menuItem -l "light purple" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightpurple\" ) "+ $opts ); + menuItem -l "purple" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour purple\" ) "+ $opts ); + menuItem -l "dark purple" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkpurple\" ) "+ $opts ); + menuItem -l "light grey" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour lightgrey\" ) "+ $opts ); + menuItem -l "grey" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour grey\" ) "+ $opts ); + menuItem -l "dark grey" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour darkgrey\" ) "+ $opts ); + menuItem -l "brown" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour brown\" ) "+ $opts ); + menuItem -l "black" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour black\" ) "+ $opts ); + menuItem -l "white" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -colour white\" ) "+ $opts ); + setParent -m ..; + menuItem -l "-size" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -size 1.0\" ) "+ $opts ); + menuItem -l "-camera" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -camera persp \" ) "+ $opts ); + menuItem -l "-posObj" -c( "{string $sel[] = `ls -sl`; textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -posObj \"+ $sel[0] ) "+ $opts +";}" ); + menuItem -l "-offset" -c( "textField -e -tx ( `textField -q -tx "+ $opts +"` +\" -offset 0.5\" ) "+ $opts ); + menuItem -d 1; + menuItem -l "clear all" -c( "textField -e -tx \"\" "+ $opts ); + + tabLayout -e -tabLabel $manageForm "manage" -tabLabel $createForm "create" $tabs; + formLayout -edit + -af $charList "top" 0 + -af $charList "left" 0 + -ac $charList "right" 3 $trans + -ac $charList "bottom" 0 $toggleVis + + -an $toggleVis "top" + -af $toggleVis "left" 0 + -ac $toggleVis "right" 3 $trans + -ac $toggleVis "bottom" 0 $allToggle + + -af $transLbl "top" 0 + -an $transLbl "left" + -af $transLbl "right" 0 + -an $transLbl "bottom" + + -ac $trans "top" 0 $transLbl + -an $trans "left" + -af $trans "right" 0 + -an $trans "bottom" + + -ac $setTrans "top" 0 $trans + -ac $setTrans "left" 0 $charList + -af $setTrans "right" 0 + -an $setTrans "bottom" + + -ac $select "top" 8 $setTrans + -ac $select "left" 0 $charList + -af $select "right" 0 + -an $select "bottom" + + -ac $delete "top" 0 $select + -ac $delete "left" 0 $charList + -af $delete "right" 0 + -an $delete "bottom" + + -an $allToggle "top" + -af $allToggle "left" 0 + -af $allToggle "right" 0 + -af $allToggle "bottom" 0 + $manageForm; + + formLayout -edit + -af $typeLbl "top" 2 + -af $typeLbl "left" 0 + -an $typeLbl "right" + -an $typeLbl "bottom" + + -af $type "top" 0 + -ac $type "left" 3 $typeLbl + -af $type "right" 0 + -an $type "bottom" + + -ac $optsLbl "top" 2 $type + -af $optsLbl "left" 0 + -an $optsLbl "right" + -an $optsLbl "bottom" + + -ac $opts "top" 0 $type + -ac $opts "left" 3 $optsLbl + -af $opts "right" 0 + -an $opts "bottom" + + -ac $create "top" 0 $opts + -af $create "left" 0 + -af $create "right" 0 + -an $create "bottom" + $createForm; + + if( $showTips ) zooTipsWin zooSelecto -1; + zooSelectoAuthorFunctions -updateChars; + showWindow $windowName; + } + + +global proc zooSelectoAuthorFunctions( string $function ) { + string $sel[] = `textScrollList -q -si zooSelectoAuthorUITSLChars`; + switch( $function ) { + case "-updateChars": + string $chars[] = `zooListCharactersWithSelectos`; + + textScrollList -e -ra zooSelectoAuthorUITSLChars; + for( $char in $chars ) textScrollList -e -a $char zooSelectoAuthorUITSLChars; + break; + + case "-select": + select -cl; + for( $s in $sel ) select -add `zooListCharacterSelectos $s`; + break; + + case "-delete": + for( $s in $sel ) delete `zooListCharacterSelectos $s`; + break; + + case "-transparency": + float $trans = `floatField -q -v zooSelectoAuthorUIFloatTrans`; + zooSetSelectoTransparency $trans; + break; + + case "-toggleVis": + int $vis = `zooSetCharacterSelectoVis $sel[0] -1`; + for( $s in $sel ) zooSetCharacterSelectoVis $s (!$vis); + break; + + case "-build": + string $optionStr = `textField -q -tx zooSelectoAuthorUITextOptions`; + string $shape = `textField -q -tx zooSelectoAuthorUITextShape`; + string $selObjs[] = `ls -sl`; + + for( $a in $selObjs ) zooCreateSelecto $a ( "-shape "+ $shape +" "+ $optionStr ); + zooSelectoAuthorFunctions -updateChars; + break; + } + } + + +global proc zooBuildSelectPresetMenu( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + string $sel[] = `ls -sl`; + string $selUI[] = `textScrollList -q -si zooSelectoAuthorUITSLChars`; + string $presetsL[] = `zooListPresets "local" zooSelecto preset`; + string $presetsG[] = `zooListPresets "global" zooSelecto preset`; + string $ns = `zooGetNamespace $sel[0]`; + string $char = `match "^[^:]+" $sel[0]`; + int $en = 1; + int $enUI = 1; + + if( !`size $sel` ) $en = 0; + if( !`size $selUI` ) $enUI = 0; + for( $p in $presetsL ) menuItem -en $en -l( `match "^[^.]+" $p` ) -c( "zooSelectoPresets; zooImportSelectos \""+ $ns +"\" \"local\" "+ $p +";" ); + if( `size $presetsL` ) menuItem -d 1; + for( $p in $presetsG ) menuItem -en $en -l( `match "^[^.]+" $p` ) -c( "zooSelectoPresets; zooImportSelectos \""+ $ns +"\" \"global\" "+ $p +";" ); + if( `size $presetsG` ) menuItem -d 1; + menuItem -en $enUI -l "save selected preset" -c( "zooExportSelectos \""+ $selUI[0] +"\" \""+ $char +"\" 1;" ); + menuItem -l "manage presets" -c( "zooPresetManagerWin \"local\" zooSelecto preset;" ); + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSelectoDependencies.mel b/2009-x64/zooScripts/scripts/zooSelectoDependencies.mel new file mode 100644 index 0000000..6daa6cd --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSelectoDependencies.mel @@ -0,0 +1,27 @@ +global proc string[] zooHeavyDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $helpDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooSelectoUtils"; + $melDependencies[( `size $melDependencies` )] = "zooSelectoMenu"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooBounds"; + $melDependencies[( `size $melDependencies` )] = "zooBrandTools"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooLineOfAction"; + $melDependencies[( `size $melDependencies` )] = "zooObjMenuUtils"; + $melDependencies[( `size $melDependencies` )] = "zooRegister"; + $melDependencies[( `size $melDependencies` )] = "zooShaders"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTips"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooHeavy.xpm"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + if( $mode == "-docs" ) return $helpDependencies; + return {}; + } diff --git a/2009-x64/zooScripts/scripts/zooSelectoMenu.mel b/2009-x64/zooScripts/scripts/zooSelectoMenu.mel new file mode 100644 index 0000000..715d282 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSelectoMenu.mel @@ -0,0 +1,79 @@ +zooSelectoUtils; + + +global proc zooSelectoMenu() { + global int $zooIsClicked; + string $panel = `getPanel -up`; + + $zooIsClicked = 0; + + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !`control -ex $panel` ) $panel = "viewPanes"; + popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p $panel -pmc zooSelectoMenuUI tempMM; + } + + +global proc zooSelectoMenuUI() { + global int $zooIsClicked; + + $zooIsClicked = 1; + setParent -m tempMM; + menu -e -dai tempMM; + + menuItem -l "toggle triggers vis" -c( "zooToggleSelectoVis;" ) -rp "W"; + menuItem -l "use current camera" -c( "zooSetLookat `getCurrentCam`;" ) -rp "E"; + menuItem -l "transparency" -sm 1; + menuItem -l "0%" -c( "zooSetSelectoTransparency 0;" ); + menuItem -l "25%" -c( "zooSetSelectoTransparency 0.25" ); + menuItem -l "50%" -c( "zooSetSelectoTransparency 0.5;" ); + menuItem -l "70%" -c( "zooSetSelectoTransparency 0.7;" ); + menuItem -l "80%" -c( "zooSetSelectoTransparency 0.8;" ); + menuItem -l "90%" -c( "zooSetSelectoTransparency 0.9;" ); + menuItem -l "95%" -c( "zooSetSelectoTransparency 0.95;" ); + setParent -m ..; + menuItem -d 1; + menuItem -l "open selecto UI" -c zooSelecto; + menuItem -l "select global scaler" -c( "select `zooGetSelectoManager 1`;" ); + menuItem -d 1; + menuItem -l "character selectos" -sm 1 -pmc "zooSelectoMenuCharVisList zooSelectoMenuCharList;" zooSelectoMenuCharList; + } + + +global proc zooSelectoMenuCharVisList( string $parent ) { + string $chars[] = `zooListCharactersWithSelectos`; + for( $c in $chars ) { + //this is commented out because querying the state of each character is incredibly expensive, so there is quite a pause before the menu is displayed + //the disadvantage of course is that we don't have checkboxes displaying the current visibility state + //int $vis = `zooSetCharacterSelectoVis $c -1`; + //menuItem -l $c -cb $vis -c( "zooSetCharacterSelectoVis \""+ $c +"\" "+ (!$vis)); + menuItem -l $c -c( "zooSetCharacterSelectoVis \""+ $c +"\" (!`zooSetCharacterSelectoVis \""+ $c +"\" -1`)" ); + } + } + + +global proc string getCurrentCam() { + string $panel = `getPanel -wf`; + string $camera = ""; + + if( `getPanel -to $panel` == "modelPanel" ) $camera = `modelPanel -q -cam $panel`; + if( `objExists $camera` ) if( `nodeType $camera` == "camera" ) { + string $parent[] = `listRelatives -p $camera`; + $camera = $parent[0]; + } + + return $camera; + } + + +global proc zooSelectoMenuKillUI() { + global int $zooIsClicked; + + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !$zooIsClicked ) zooToggleSelectoVis; + + $zooIsClicked = 0; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSelectoPresets.mel b/2009-x64/zooScripts/scripts/zooSelectoPresets.mel new file mode 100644 index 0000000..d0f97bf --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSelectoPresets.mel @@ -0,0 +1,69 @@ +zooPresetManager; +zooSelectoUtils; +zooTriggeredUtils; +zooUtils; + + +global proc zooSelectoPresets() { + return; + } + + +global proc zooExportSelectos( string $char, string $name, int $prompt ) { + string $q = ""; + $char = `match "^[^:]+" $char`; + if( $prompt ) $q = `promptDialog -t( "export preset for "+ $char ) -m "name of preset" -tx $char -b "OK" -b "Cancel" -db "OK"`; + if( $q != "OK" ) return; + + string $name = `promptDialog -q -tx`; + string $fileContents = ""; + string $selectos[] = `zooListCharacterSelectos $char`; + + for( $selecto in $selectos ) { + string $targets[] = `zooGetConnects $selecto`; + string $scale = `getAttr ( $selecto +".zooSelectoScale" )`; + string $offset = `getAttr ( $selecto +".zooSelectoOffset" )`; + string $manualOptions = `getAttr ( $selecto +".zooBrand_selecto" )`; + + //strip namespaces + for( $n=0; $n<`size $targets`; $n++ ) $targets[$n] = `match "[^:]+$" $targets[$n]`; + if( $manualOptions == "" ) $manualOptions = "_"; + $fileContents += `zooArrayToStr_str $targets " "` +";"; + $fileContents += $scale +";"; + $fileContents += $offset +";"; + $fileContents += $manualOptions +";\n"; + } + + zooSavePreset "local" zooSelecto preset $name $fileContents; + } + + +global proc zooImportSelectos( string $namespace, string $locale, string $preset ) { + string $name = `match "^[^.]+" $preset`; + $preset = `substitute "\.preset$" $preset ""`; + string $fileContents[] = `zooReadPreset $locale zooSelecto preset $preset`; + + for( $line in $fileContents ) { + string $data[] = {}; + string $targets[] = {}; + string $optionStr = ""; + float $offset; + float $scale; + + tokenize $line ";" $data; + tokenize $data[0] $targets; + + $scale = $data[1]; + $offset = $data[2]; + $optionStr = $data[3]; + + if( !`objExists ( $namespace + $targets[0] )`) continue; + string $selecto = `zooCreateSelecto ( $namespace + $targets[0] ) $optionStr`; + setAttr ( $selecto +".zooSelectoScale" ) $scale; + setAttr ( $selecto +".zooSelectoOffset" ) $offset; + } + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSelectoTips.txt b/2009-x64/zooScripts/scripts/zooSelectoTips.txt new file mode 100644 index 0000000..ad7bb45 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSelectoTips.txt @@ -0,0 +1,6 @@ +Selecto lets you create selection triggers - called "Selectos" in your viewport. They float above the actual character so they're easy to pick, and they can be made transparent so they don't obscure the view of your character +Selectos are easy to make - simply select the objects you want to create selectos for, go to the "create" tab of the Selecto Author tool, and press the "build selectos" button +When you create selectos, by default the tool makes a circle the same colour as the wireframe of the object its selecting. If you want them a different shape, simply right click on the "shape" area in the create tab, and choose which shape you'd prefer.||To change the colour, right click on additional options, and choose a colour from the colour sub-menu +You can setup a marking menu to give you really fast access to many of the selecto functions. By default it functions as a hotkey to toggle the selectos on and off. But hold it down, and the marking menu gives you access to changing cameras, hiding/unhiding character selectos, changing transparency etc... +To setup the marking menu, in the Author Selecto window, go to Help->Setup Hotkey +Selecto uses a script called zooTriggered. If you have a zooTriggered shelf button installed, it looks like a green or grey "glass-like" button. When this button is green the script is turned on, when it is grey, the script is off.||When you want to change the size of a selecto, zooTriggered must be turned off. This allows you to select the actual selecto. Going into the create tab automatically turns zooTriggered off diff --git a/2009-x64/zooScripts/scripts/zooSelectoUtils.mel b/2009-x64/zooScripts/scripts/zooSelectoUtils.mel new file mode 100644 index 0000000..1045d74 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSelectoUtils.mel @@ -0,0 +1,463 @@ +zooArrays_str; +zooArrays_float; +zooBounds; +zooBrandTools; +zooFlags; +zooLineOfAction; +zooObjMenuUtils; +zooRegister; +zooShaders; +zooUtils; +zooTriggeredUtils; + + +global proc zooSelectoUtils() { + return; + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// CREATION/LISTING +//the offset is in "size units". So of the size is 0.25, then the offset is multiples +//of 0.25 +//this command takes the following flags: +// -shape what shape selecto takes: circle, triangle, square, pentagon, hexagon, donut, pill +// -camera the camera that the selecto is aimed at - NOTE this can be changed at a later date using the zooSelectoCam function - defaults to the persp camera +// -colour this is the colour of the selecto. for a list of available colours, see the colour procs at the end of this script - defaults to the given object's wireframe colour, or yellow if it has no colour +// -posObj this is the object that the selecto is positioned at - defaults to the given object +// -size this is the actual size of the selecto - it is a rough diameter - defaults to the given object's bounding box +// -offset how far to offset the selecto from the position object - defaults to one unit of the given object's bounding box + global proc string zooCreateSelecto( string $obj, string $optionStr ) { + string $temp[] = {}; + string $shape = "circle"; + string $colour = `zooGetOverrideColour $obj`; + string $posObj = $obj; + string $char = `zooGetNamespace $obj`; + float $objSize[] = `zooGetSize $obj`; + int $idx = `zooGetHighestValueIdx_float $objSize`; + float $size = $objSize[$idx]; + float $offset = 1; + + $temp = `zooGetFlagArguments $optionStr shape`; if( `size $temp` ) $shape = $temp[0]; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = $temp[0]; + $temp = `zooGetFlagArguments $optionStr posObj`; if( `size $temp` ) if( `objExists $temp[0]` ) $posObj = $temp[0]; + $temp = `zooGetFlagArguments $optionStr size`; if( `size $temp` ) $size = $temp[0]; + $temp = `zooGetFlagArguments $optionStr offset`; if( `size $temp` ) $offset = $temp[0]; + $temp = `zooGetFlagArguments $optionStr char`; if( `size $temp` ) $char = $temp[0]; + + + //sphere, torus, plane + string $selecto = "";//zooGetElement_str(0,`sphere -radius ( $size/2.5 )`); + switch( $shape ) { + default: + $selecto = zooGetElement_str(0,`sphere -radius ( $size/2.5 )`); + break; + case "triangle": + float $p1[] = { 0., 1., 0. }; + float $p2[] = { -0.866025404, -0.5, 0. }; + float $p3[] = { 0.866025404, -0.5, 0. }; + + for( $n=0; $n<3; $n++ ) $p1[$n] = ( $size/2.5 )*$p1[$n]; + for( $n=0; $n<3; $n++ ) $p2[$n] = ( $size/2.5 )*$p2[$n]; + for( $n=0; $n<3; $n++ ) $p3[$n] = ( $size/2.5 )*$p3[$n]; + $selecto = zooGetElement_str(0,`polyCreateFacet -ch 0 -tx 1 -s 1 -p $p1[0] $p1[1] $p1[2] -p $p2[0] $p2[1] $p2[2] -p $p3[0] $p3[1] $p3[2]`); + break; + case "square": + $selecto = zooGetElement_str(0,`polyPlane -w( 1.414*$size/2.5 ) -h( 1.414*$size/2.5 ) -sx 1 -sy 1 -ax 0 0 1 -tx 1 -ch 0`); + break; + case "pentagon": + float $p1[] = { 0., 1., 0. }; + float $p2[] = { -0.951056516, 0.309016994, 0. }; + float $p3[] = { -0.587785252, -0.809016994, 0. }; + float $p4[] = { 0.587785252, -0.809016994, 0. }; + float $p5[] = { 0.951056516, 0.309016994, 0. }; + + for( $n=0; $n<3; $n++ ) $p1[$n] = ( $size/2.5 )*$p1[$n]; + for( $n=0; $n<3; $n++ ) $p2[$n] = ( $size/2.5 )*$p2[$n]; + for( $n=0; $n<3; $n++ ) $p3[$n] = ( $size/2.5 )*$p3[$n]; + for( $n=0; $n<3; $n++ ) $p4[$n] = ( $size/2.5 )*$p4[$n]; + for( $n=0; $n<3; $n++ ) $p5[$n] = ( $size/2.5 )*$p5[$n]; + $selecto = zooGetElement_str(0,`polyCreateFacet -ch 0 -tx 1 -s 1 -p $p1[0] $p1[1] $p1[2] -p $p2[0] $p2[1] $p2[2] -p $p3[0] $p3[1] $p3[2] -p $p4[0] $p4[1] $p4[2] -p $p5[0] $p5[1] $p5[2]`); + break; + case "hexagon": + float $p1[] = { 0.5, 0.866025404, 0. }; + float $p2[] = { -0.5, 0.866025404, 0. }; + float $p3[] = { -1., 0., 0. }; + float $p4[] = { -0.5, -0.866025404, 0. }; + float $p5[] = { 0.5, -0.866025404, 0. }; + float $p6[] = { 1., 0, 0. }; + + for( $n=0; $n<3; $n++ ) $p1[$n] = ( $size/2.5 )*$p1[$n]; + for( $n=0; $n<3; $n++ ) $p2[$n] = ( $size/2.5 )*$p2[$n]; + for( $n=0; $n<3; $n++ ) $p3[$n] = ( $size/2.5 )*$p3[$n]; + for( $n=0; $n<3; $n++ ) $p4[$n] = ( $size/2.5 )*$p4[$n]; + for( $n=0; $n<3; $n++ ) $p5[$n] = ( $size/2.5 )*$p5[$n]; + for( $n=0; $n<3; $n++ ) $p6[$n] = ( $size/2.5 )*$p6[$n]; + $selecto = zooGetElement_str(0,`polyCreateFacet -ch 0 -tx 1 -s 1 -p $p1[0] $p1[1] $p1[2] -p $p2[0] $p2[1] $p2[2] -p $p3[0] $p3[1] $p3[2] -p $p4[0] $p4[1] $p4[2] -p $p5[0] $p5[1] $p5[2] -p $p6[0] $p6[1] $p6[2]`); + break; + case "pill": + $selecto = zooGetElement_str(0,`torus -p 0 0 0 -ax 0 1 0 -r( $size/4 ) -hr 0.7 -d 3 -ut 0 -ch 0`); + setAttr ( $selecto +".sz" ) 0.1; + break; + case "donut": + $selecto = zooGetElement_str(0,`torus -p 0 0 0 -ax 0 0 1 -r( $size/4 ) -hr 0.4 -d 3 -ut 0 -ch 0`); + break; + } + $selecto = `rename $selecto ( $obj +"_selecto" )`; + + //move the pivot backwards, set the colour + move -r 0 0 ( $size*$offset*-1 ) ( $selecto +".rotatePivot" ); + move -r 0 0 0 ( $selecto +".scalePivot" ); //make sure the scale pivot is at origin - it needs to stay in the centre of the sphere for scaling + zooSetSelectoShader $selecto ( $colour +" 0.6" ) 1; + + //constrain the selecto object to the target and make it look at the camera and + //make the selecto object non keyable + pointConstraint $posObj $selecto; + zooCreateSelectoLookat $selecto; + + //turn it into a trigger and add menu items + zooMakeTrigger $selecto "select -d #;\nselect -add @;" { $obj }; + zooObjMenuAddCmdAll $selecto "transparency 0%" "zooSetShaderTransparency # 0;"; + zooObjMenuAddCmdAll $selecto "transparency 50%" "zooSetShaderTransparency # 0.5;"; + zooObjMenuAddCmdAll $selecto "transparency 90%" "zooSetShaderTransparency # 0.9;"; + + //setup selecto scaling + zooSetupSelectoScaling $selecto; + + //finally brand the object as a selecto object so we can find it at a later date + //the selecto is branded with the optionStr used to create it - so if we need to + //re-create it for any reason, we can do so using the same settings + zooBrandObject selecto $optionStr $selecto; + + return $selecto; + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// LOOKAT/SCALE MANAGEMENT +//sets the node the lookat is constrained to + global proc zooCreateSelectoLookat( string $obj ) { + string $lookat = `zooGetLookat 1`; + string $axes[] = { "x", "y", "z" }; + for( $axis in $axes ) if( `objExists ( $obj +".r"+ $axis )`) setAttr -l 0 ( $obj +".r"+ $axis ); + + //delete any old constraint - this is a neat trick to delete an existing constraint + delete `aimConstraint -mo $lookat $obj`; + + //rebuild the constraint and re lock all attribs + aimConstraint -aim 0 0 1 -wut objectRotation -wuo $lookat $lookat $obj; + + for( $axis in $axes ) setAttr -k 0 -l 1 ( $obj +".t"+ $axis ); + for( $axis in $axes ) setAttr -k 0 -l 1 ( $obj +".r"+ $axis ); + for( $axis in $axes ) setAttr -k 0 ( $obj +".s"+ $axis ); + setAttr -k 0 ( $obj +".v" ); + + //finally register the object as a selectoLookat + zooRegisterObj ( `zooGetSelectoManager 1` ) selectos $obj 1 1; + } + + + global proc string[] zooListSelectoLookats() { + string $selectoLookats[] = {}; + zooListRegistered ( `zooGetSelectoManager 1` ) selectos {} $selectoLookats; + return $selectoLookats; + } + + + global proc zooSetupSelectoScaling( string $obj ) { + string $global = `zooGetSelectoManager 1`; + string $cons[] = `listConnections -d 0 -type multiplyDivide ( $obj +".scale" )`; + string $mult; + + //build the multiply divide to combine local and global scale together + if( `objExists $cons[0]` ) $mult = $cons[0]; + else $mult = `shadingNode -asUtility multiplyDivide`; + + //setup the local scale attribute + if( !`objExists ( $obj +".zooSelectoScale" )` ) { + addAttr -at double -ln zooSelectoScale -min 0 -max 10 $obj; + setAttr -k 1 ( $obj +".zooSelectoScale" ) 1; + } + + //setup the local offset attribute + if( !`objExists ( $obj +".zooSelectoOffset" )` ) { + addAttr -at double -ln zooSelectoOffset $obj; + setAttr -k 1 ( $obj +".zooSelectoOffset" ) `getAttr ( $obj +".rotatePivotZ" )`; + } + + connectAttr -f ( $obj +".zooSelectoScale" ) ( $mult +".input1X" ); + connectAttr -f ( $global +".zooGlobalSelectoScale" ) ( $mult +".input2X" ); + connectAttr -f ( $obj +".zooSelectoOffset" ) ( $mult +".input1Y" ); + connectAttr -f ( $global +".zooGlobalSelectoOffset" ) ( $mult +".input2Y" ); + connectAttr -f ( $mult +".outputX" ) ( $obj +".scaleX" ); + connectAttr -f ( $mult +".outputX" ) ( $obj +".scaleY" ); + connectAttr -f ( $mult +".outputX" ) ( $obj +".scaleZ" ); + connectAttr -f ( $mult +".outputY" ) ( $obj +".rotatePivotZ" ); + } + + + global proc string zooGetSelectoManager( int $force ) { + string $manager = `zooGetRegister zoo $force`; + if( !`objExists $manager` ) return ""; + if( !`objExists ( $manager +".zooSelectoLookat" )`) addAttr -at message -ln zooSelectoLookat $manager; + if( !`objExists ( $manager +".zooGlobalSelectoScale" )`) { + addAttr -at double -ln zooGlobalSelectoScale -min 0 $manager; + setAttr -k 1 ( $manager +".zooGlobalSelectoScale" ) 1; + } + if( !`objExists ( $manager +".zooGlobalSelectoOffset" )`) { + addAttr -at double -ln zooGlobalSelectoOffset -min 0 $manager; + setAttr -k 1 ( $manager +".zooGlobalSelectoOffset" ) 1; + } + if( !`objExists ( $manager +".zooActiveSelectos" )`) addAttr -at message -ln zooActiveSelectos $manager; + + return $manager; + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// HIGHLIGHT/VISIBILITY CODE + global proc zooHighlightSelecto() { + string $sel[] = `ls -sl`; + zooUnhighlightAllSelectos; + for( $obj in $sel ) zooHighlightConnectedSelectos $obj; + } + + + global proc zooHighlightConnectedSelectos( string $obj ) { + string $triggers[] = `zooListConnectedTriggers $obj`; + for( $trig in $triggers ) zooSetSelectoColour $trig active 0; + } + + + global proc zooUnhighlightAllSelectos() { + string $activeTriggers[] = `zooGetActiveSelectos`; + for( $trig in $activeTriggers ) { + zooMarkSelectoInactive $trig; + zooSetSelectoColour $trig `getAttr ( $trig +".zooColour" )` 0; + } + } + + + global proc zooToggleSelectoVis() { + int $state = `zooSetSelectoVis -1`; + zooSetSelectoVis (!$state); + } + + + //sets/queries the visibility state of the selectos + global proc int zooSetSelectoVis( int $state ) { + string $selectoLookats[] = `zooListSelectoLookats`; + + if( $state == -1 ) { for( $l in $selectoLookats ) if( `objExists ( $l +".v" )`) return `getAttr ( $l +".v" )`; } + else for( $n=0; $n<`size $selectoLookats`; $n++ ) { + if( !`objExists ( $selectoLookats[$n] +".v" )`) continue; + if( `getAttr -l ( $selectoLookats[$n] +".v" )` ) setAttr -l 0 ( $selectoLookats[$n] +".v" ); + setAttr ( $selectoLookats[$n] +".v" ) $state; + } + print( "zooSetSelectoVis "+ $state +";\n" ); + return $state; + } + + + global proc int zooSetCharacterSelectoVis( string $char, int $state ) { + //first get a list of all selectos to change the camera for + string $selectos[] = `zooListCharacterSelectos $char`; + + if( $state == -1 ) return `getAttr ( $selectos[0] +".v" )`; + else for( $n=0; $n<`size $selectos`; $n++ ) { + if( `getAttr -l ( $selectos[$n] +".v" )` ) setAttr -l 0 ( $selectos[$n] +".v" ); + setAttr ( $selectos[$n] +".v" ) $state; + } + print( "zooSetCharacterSelectoVis "+ $char +" "+ $state +"\n" ); + return $state; + } + + + global proc zooSetSelectoTransparency( float $transparency ) { + string $selectos[] = `zooListSelectoLookats`; + //string $selectoShaders[] = `zooGetSelectoShaders`; + //for( $shader in $selectoShaders ) setAttr ( $shader +".outTransparency" ) $transparency $transparency $transparency; + for( $s in $selectos ) { + string $shader = `zooGetSelectoShader $s`; + setAttr ( $shader +".outTransparency" ) $transparency $transparency $transparency; + string $existing = `getAttr ( $s +".zooColour" )`; + $existing = `match "^[^ ]+" $existing`; + setAttr -type "string" ( $s +".zooColour" ) ( $existing +" "+ $transparency ); + } + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// SHADER MANAGEMENT + global proc zooSetSelectoColour( string $obj, string $colour, int $storeChange ) { + string $shader = `zooGetSelectoShader $obj`; + + if( !`objExists $shader` ) return; + zooSetShaderColour $shader ( $colour +" 500" ); + if( !`objExists ( $obj +".zooColour" )` ) addAttr -ln zooColour -dt "string" $obj; + if( $storeChange ) setAttr -type "string" ( $obj +".zooColour" ) $colour; + + //if we're setting the colour to active, then add the active flag so we can easily + //find the active objects later + if( $colour == "active" ) zooMarkSelectoActive $obj; + } + + + global proc zooSetShaderTransparency( string $obj, float $transparency ) { + string $shader = `zooGetSelectoShader $obj`; + setAttr ( $shader +".outTransparency" ) $transparency $transparency $transparency; + } + + + //returns the shader currently assigned to the given object + global proc string zooGetSelectoShader( string $obj ) { + string $shapes[] = `listRelatives -pa -s $obj`; + if( !`size $shapes` ) return ""; + + string $reg = `zooGetRegister zoo 1`; + string $shaders[] = {}; + string $objShader = `zooGetObjShader $obj`; + + zooListRegistered $reg selectoShaders {} $shaders; + int $idx = `zooGetIdxOfElement_str $shaders $objShader`; + if( $idx < 0 ) return ""; + + return $shaders[$idx]; + } + + + //assigns a selecto shader to the given object + global proc zooSetSelectoShader( string $obj, string $colour, int $storeChange ) { + string $shader = `zooGetSelectoShader $obj`; + + if( !`objExists $shader` ) { + $shader = `zooCreateSelectoShader $colour`; + zooSetObjShader $obj $shader; + } + + zooSetShaderColour $shader ( $colour +" 500" ); + if( !`objExists ( $obj +".zooColour" )` ) addAttr -ln zooColour -dt "string" $obj; + if( $storeChange ) setAttr -type "string" ( $obj +".zooColour" ) $colour; + } + + + + //returns the shader name + global proc string zooCreateSelectoShader( string $colour ) { + string $shader = `shadingNode -asShader surfaceShader`; + string $SG = `sets -renderable 1 -noSurfaceShader 1 -empty`; + string $reg = `zooGetRegister zoo 1`; + + connectAttr -f ( $shader +".outColor" ) ( $SG +".surfaceShader" ); + zooSetShaderColour $shader ( $colour +" 500" ); + zooRegisterObj $reg selectoShaders $shader 1 1; + $shader = `rename $shader ( "selectoShader_"+ $colour )`; + $SG = `rename $SG ( $shader +"SG" )`; + shadingConnection -e -cs 0 ( $SG +".surfaceShader" ); //makes non-renderable + + return $shader; + } + + + global proc string[] zooGetSelectoShaders() { + string $shaders[] = {}; + string $reg = `zooGetRegister zoo 1`; + + zooListRegistered $reg selectoShaders {} $shaders; + + return $shaders; + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// ACTIVE SELECTO IDENTIFICATION + global proc string[] zooGetActiveSelectos() { + string $active = `zooGetSelectoManager 0`; + if( !`objExists $active` ) return {}; + string $cons[] = `listConnections -s 0 ( $active +".zooActiveSelectos" )`; + return $cons; + } + + + global proc zooMarkSelectoInactive( string $obj ) { + if( `objExists ( $obj +".zooActive" )` ) deleteAttr ( $obj +".zooActive" ); + } + + + global proc zooMarkSelectoActive( string $obj ) { + string $active = `zooGetSelectoManager 1`; + if( !`objExists ( $obj +".zooActive" )` ) addAttr -ln zooActive -at message $obj; + catchQuiet( `connectAttr -f ( $active +".zooActiveSelectos" ) ( $obj +".zooActive" )`); + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// COLOUR MANAGEMENT + + + global proc string zooGetOverrideColour( string $obj ) { + string $shapes[] = `listRelatives -pa -s $obj`; + int $idx = `getAttr ( $obj +".overrideColor" )`; + + if( $idx ) return `zooOverrideToColour $idx`; + for( $shape in $shapes ) { + $idx = `getAttr ( $shape +".overrideColor" )`; + if( $idx ) return `zooOverrideToColour $idx`; + } + + return "blue"; + } + + + global proc string zooOverrideToColour( int $idx ) { + switch( $idx ) { + case 1: return "black"; + case 3: return "grey"; + case 4: return "darkred"; + case 5: return "darkblue"; + case 6: return "blue"; + case 7: return "darkgreen"; + case 8: return "red"; + case 9: return "purple"; + case 10: return "darkred"; + case 13: return "red"; + case 14: return "green"; + case 15: return "blue"; + case 16: return "white"; + case 17: return "yellow"; + case 18: return "lightblue"; + case 19: return "lightgreen"; + case 20: return "lightred"; + case 21: return "brown"; + } + + return "blue"; + } + + +// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +// HIGH LEVEL QUERYING + global proc string[] zooListCharactersWithSelectos() { + string $all[] = `zooListSelectoLookats`; + string $namespaces[] = {}; + + for( $n=0; $n<`size $all`; $n++ ) { + string $name = `match "[^:]+$" $all[$n]`; + $namespaces[( `size $namespaces` )] = `substitute ( $name +"$" ) $all[$n] ""`; + } + $namespaces = `stringArrayRemoveDuplicates $namespaces`; + return $namespaces; + } + + + global proc string[] zooListCharacterSelectos( string $char ) { + string $all[] = `zooListSelectoLookats`; + string $charSelectos[] = {}; + + for( $s in $all ) if( `match ( "^"+ $char ) $s` != "" ) $charSelectos[( `size $charSelectos` )] = $s; + return $charSelectos; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSendMail.mel b/2009-x64/zooScripts/scripts/zooSendMail.mel new file mode 100644 index 0000000..61d1179 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSendMail.mel @@ -0,0 +1,67 @@ +zooFlags; +zooArrays_str; + + +//a simple utility to provide a front-end to a command-line mail command. +//NOTE: if you want to use this script in your studio, you will need modify the +//line below prefixed with ***. you'll need to tell it what email command line +//program to use, and add the various flags accordingly. by default it uses +//a command called "blat" which is an open source email commandline program +// +//It takes the following flags: +// +//-to [str] this is a comma or space separated list of recipients. If this flag is not specified the script sends the email to the user. NOTE use the # symbol to specify the current user if required +//-cc [str] comma or space separated list of people to cc the email to. NOTE if the to flag contains more than one person, all additional people are automatically cc'd +//-subject [str] the email subject - same limitations as the body flag +// +//NOTE: you can use the # symbol in the recipient list to send an email to the +//current user (ie self) whoever that may be +// +//NOTE: if the -to flag isn't specified, the script sends to the email to the +//current user - ie it defaults to # +// +//example: +// zooSendMail "-subject testing -body this is a message to you"; +// this will send an email to yourself - the to flag defaults to the current user +global proc zooSendMail( string $optionStr, string $body ) { + string $temp[] = {}; + string $pathToEmail = "//network/apps/blat/blat.exe"; + string $domain = "yourdomain.com"; + string $subject = "[zooSendMail] default subject from maya"; + string $to[] = { "#" }; + string $cc[] = {}; + string $tempDir = `internalVar -utd`; + string $mailFile = $tempDir +"zooSendMailBody.txt"; + string $user = `getenv USER`; + + if( $body == "" ) $body = "no body was included when invoking zooSendMail"; + $temp = `zooGetFlagArguments $optionStr subject`; if( `size $temp` ) $subject = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr to`; if( `size $temp` ) $to = $temp; + $temp = `zooGetFlagArguments $optionStr cc`; if( `size $temp` ) $cc = $temp; + $body += "\n\n\n\n[ sent via zooSendMail ]\nmacaroniKazoo ©2007"; + + for( $n=0; $n<`size $to`; $n++ ) if( $to[$n] == "#" ) $to[$n] = $user; + for( $n=0; $n<`size $cc`; $n++ ) if( $cc[$n] == "#" ) $cc[$n] = $user; + for( $n=0; $n<`size $to`; $n++ ) if( `match "@" $to[$n]` == "" ) $to[$n] = $to[$n] +"@"+ $domain; //if the user has just entered a name, then add the @mail, otherwise assume its a valid emali address + for( $n=0; $n<`size $cc`; $n++ ) if( `match "@" $cc[$n]` == "" ) $cc[$n] = $cc[$n] +"@"+ $domain; + + if( !`filetest -d $tempDir` ) sysFile -makeDir $tempDir; + int $fileId = `fopen $mailFile "w"`; + fprint $fileId $body; + fclose $fileId; + + string $toStr = `zooArrayToStr_str $to ","`; + string $ccStr = `zooArrayToStr_str $cc ","`; + + //*** this is the mail command you'll need to edit to use this script internally + string $sendCmd = "start \""+ (toNativePath($pathToEmail)) +"\" \""+ (toNativePath($mailFile)) +"\" -server INTERNAL_MAIL_SERVER -subject \""+ $subject +"\" -f "+ $user +"@"+ $domain; + + if( $toStr != "" ) $sendCmd = $sendCmd +" -to "+ $toStr; + if( $ccStr != "" ) $sendCmd = $sendCmd +" -cc "+ $ccStr; + print( $sendCmd +"\n" ); + system $sendCmd; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooSetLookat.mel b/2009-x64/zooScripts/scripts/zooSetLookat.mel new file mode 100644 index 0000000..3d50ba5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSetLookat.mel @@ -0,0 +1,14 @@ +global proc zooSetLookat( string $camera ) { + string $sel[] = `ls -sl`; + string $lookat = `zooGetLookat 0`; + + if( !`objExists $lookat` ) return; + if( !`objExists $camera` ) return; + delete `parentConstraint $camera $lookat`; //this is an easy way to make sure there are no other targets on the point constraint + parentConstraint $camera $lookat; + select $sel; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSetMenu.mel b/2009-x64/zooScripts/scripts/zooSetMenu.mel new file mode 100644 index 0000000..209b52c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSetMenu.mel @@ -0,0 +1,450 @@ +// +// quick selection set enhanced menu +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 1 October 2001 +// +// Description: +// creates a marking menu listing all quick selection sets +// in a scene. there is an option box which brings up a +// window for some basic set operations, such as adding +// selected objects to the set, renaming the set, etc... +// allows you to toggle selection mode (ie add or replace +// the current selection) +// +// Usage: +// assign this function to a key press: +// zooSetMenu; +// +// assign this function to the release; +// zooSetMenuKillUI; +// +// NOTE: if the hotkey you want to assign this script to contains +// either ctrl, alt or shift, then modify the "popupMenu" line below +// to reflect which key is used (ie if you're using alt-w then +// change it to -alt 1). +// +// Hamish McKenzie ©2007... + + +zooUtils; + + +global proc zooSetMenu () { + global int $zooIsClicked; + string $panel = `getPanel -up`; + + $zooIsClicked = 0; + + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !`control -ex $panel` ) $panel = "viewPanes"; + popupMenu -ctl 0 -alt 0 -sh 0 -mm 0 -b 1 -aob 1 -p $panel -pmc( "zooSetMenuUI tempMM" ) tempMM; + } + + +global proc zooSetMenuUI( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + global string $zooSetMenuPreviousSet; + global int $zooIsClicked; + $zooIsClicked = 1; + if( `optionVar -ex zooSetMenuMarkingMode` ) optionVar -rm zooSetMenuMarkingMode; + + string $charSets[] = `zoolsqss`; + int $zooSetMenuOption = 0; + + if( `optionVar -ex zooSetMenuOption` ) $zooSetMenuOption = `optionVar -q zooSetMenuOption`; + + string $clear = "select -d;"; + if( $zooSetMenuOption ) $clear = ""; + menuItem -l "Select All Sets" -c( "{"+$clear+"for( $set in `zoolsqss` ) select -add `sets -q $set`; }" ) -rp "E"; + + menuItem -l "select set parent" -c( "zooSetSelector `zooGetSetToSelect \"select parent set\"`;" ) -rp "N"; + menuItem -l "add to selection" -c( "optionVar -iv zooSetMenuOption "+ (!$zooSetMenuOption) +"; zooSetMenuWindowFunctions MMUpdate none none;" ) -checkBox $zooSetMenuOption -rp "NW"; + menuItem -l ( "select--> "+ $zooSetMenuPreviousSet ) -c( "zooSetSelector "+ $zooSetMenuPreviousSet ) -rp "W"; + menuItem -l "create new set" -c( "defineCharacter" ) -rp "S"; + + for( $set in $charSets ) { + int $isBold = $set == $zooSetMenuPreviousSet ? 1:0; + menuItem -l $set -c( "zooSetSelector "+ $set +"; zooSetPreviousSet "+ $set +";" ) -checkBox $isBold; + } + + if( `menu -q -ni $parent` == 0 ) menuItem -l "No Quick Select Sets Defined"; + + menuItem -d 1; + menuItem -l "Control Window" -c "zooSetMenuWindow"; + menuItem -d 1; + menuItem -l "Help..." -c "zooHelp zooSetMenu 1"; + } + + +global proc zooSetPreviousSet( string $qss ) { + global string $zooSetMenuPreviousSet; + $zooSetMenuPreviousSet = $qss; + } + + +global proc zooSetMenuWindow() { + global string $zooSetMenuPreviousSet; + string $windowName = "zooSetMenuWindow"; + string $windowTitle = "Control Centre v"+ `zooSetMenuToolsInfo version` +" ::macaroniKazoo::"; + string $sets[] = `zoolsqss`; + string $buttonLabel = "s->"; + int $zooSetMenuOption = 0; + + if( `optionVar -ex zooSetMenuOption` ) $zooSetMenuOption = `optionVar -q zooSetMenuOption`; + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 265 -height 350 $windowName; + scriptJob -p $windowName -e "SceneOpened" "zooSetMenuWindowFunctions updateWindow n n;"; + menuBarLayout; + menu -label "File"; + menuItem -l "Remove optionVars" -c ( "zooSetMenuRemoveOptionVars" ); + menu -label "Help"; + menuItem -l "Help..." -c ( "zooHelp zooSetMenu 1" ); + + string $master = `formLayout`; + int $collapseStateMisc = 0; + if( `optionVar -ex zooSetMenuFrameMisc` ) $collapseStateMisc = `optionVar -q zooSetMenuFrameMisc`; + string $opts = `frameLayout -l "Marking Menu Setup" -labelAlign "center" -collapsable 1 -collapse $collapseStateMisc -borderStyle "etchedOut" -expandCommand ( "optionVar -iv zooSetMenuFrameMisc 0" ) -collapseCommand ( "optionVar -iv zooSetMenuFrameMisc 1" ) zooSetMenuFrameMisc`; + columnLayout -rowSpacing 5; + rowLayout -numberOfColumns 2 + -columnWidth2 129 80 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + checkBox -label "Add To Selection" -v $zooSetMenuOption -cc ( "zooSetMenuWindowFunctions update none none" ) zooSetMenuCheckReplace; + button -height 20 -label "Update" -align center -c ( "zooSetMenuWindowFunctions updateWindow none none" ); + setParent ..; + + rowLayout -numberOfColumns 2 + -columnWidth2 129 130 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + text -l "default behaviour:"; + optionMenu -label "" -width 200 -changeCommand ( "optionVar -sv zooSetMenuPressMode `optionMenu -q -value zooSetMenuPressCommand`" ) zooSetMenuPressCommand; + setParent ..; + setParent ..; + setParent ..; + + string $functionNames[] = { "open control window","select previous set","select previous/current set","select parent set","nothing" }; + string $currentDefault = ( `optionVar -ex zooSetMenuPressMode` )?`optionVar -q zooSetMenuPressMode`:"select previous/current set"; + int $selection = 1; + int $n = 1; + + for( $function in $functionNames ) { + menuItem -label $function -p zooSetMenuPressCommand; + if( $function == $currentDefault ) $selection = $n; + $n++; + } + + optionMenu -e -select $selection zooSetMenuPressCommand; + + string $labelForm = `formLayout`; + string $allsel = `button -height 20 -label "sel" -c ( "{string $sets[] = `zoolsqss`; for( $set in $sets ) select -add `sets -q $set`; }" )`; + string $alllbl = `text -label "<-for all sets->" -align center`; + string $alladd = `button -height 20 -label "+" -align center -c ( "{string $sets[] = `zoolsqss`; for( $set in $sets ) sets -add $set `ls -sl`; }" )`; + string $allrem = `button -height 20 -label "-" -align center -c ( "{string $sets[] = `zoolsqss`; for( $set in $sets ) sets -rm $set `ls -sl`; }" )`; + string $alldel = `button -height 20 -label "del" -align center -c ( "{string $sets[] = `zoolsqss`; delete $sets; deleteUI "+ $windowName +"; }" )`; + setParent ..; + + string $list = `scrollLayout -cr 1`; + string $qssMaster = `formLayout`; + string $setList = `columnLayout -adj 1`; + for( $set in $sets ) { + string $isPrevious = ( $zooSetMenuPreviousSet == $set ) ? "boldLabelFont":"smallPlainLabelFont"; + int $hideState = 0; + int $isPostCommand = 0; + string $hideLabel = ( $hideState ) ? ">":"h"; + string $unhideLabel = ( $hideState ) ? "u":"<"; + string $postLabel = ( $isPostCommand ) ? "pc>":"-o-"; + + if( `objExists ( $set +".zooSetMenuHidden" )` ) $hideState = `getAttr ( $set +".zooSetMenuHidden" )`; + else addAttr -ln zooSetMenuHidden -k 0 -h 1 -at bool $set; + + if( `objExists ( $set +".postCommandString" )` ) $isPostCommand = 1; + + string $rowName = `formLayout`; + string $sel = `button -height 20 -label $buttonLabel -c ( "{zooSetSelector `zooSetNameFromRowName "+ $rowName +"`; zooSetPreviousSet `zooSetNameFromRowName "+ $rowName +"`;}" )`; + string $name = `nameField -height 20 -o $set`; + string $add = `button -height 20 -label "+" -align center -c ( "sets -add `zooSetNameFromRowName "+ $rowName +"` `ls -sl`" )`; + string $rem = `button -height 20 -label "-" -align center -c ( "sets -rm `zooSetNameFromRowName "+ $rowName +"` `ls -sl`" )`; + string $del = `button -height 20 -label "del" -align center -c ( "{delete `zooSetNameFromRowName "+ $rowName +"`; zooSetMenuWindowFunctions delete "+ $rowName +" none;}" )`; + string $pc = `button -height 20 -label $postLabel -align center -c ( "zooSetMenuPostFunctions window `zooSetNameFromRowName "+ $rowName +"`;" )`; + setParent ..; + + formLayout -e + -af $sel "left" 0 + + -ac $name "left" 0 $sel + -ac $name "right" 0 $add + + -ac $add "right" 0 $rem + + -ac $rem "right" 0 $del + + -ac $del "right" 0 $pc + + -af $pc "right" 0 + $rowName; + } + + setParent ..; + setParent ..; + setParent ..; + + string $newset = `button -height 20 -label "New Set" -align center -c ( "{defineCharacter; zooSetMenuWindowFunctions updateWindow none none; }" )`; + string $image = `image -width 265 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + + + formLayout -e + -af $opts "top" 0 + -af $opts "left" 0 + -af $opts "right" 0 + + -ac $labelForm "top" 0 $opts + -af $labelForm "left" 0 + -af $labelForm "right" 0 + + -ac $list "top" 0 $labelForm + -af $list "left" 0 + -af $list "right" 0 + -ac $list "bottom" 2 $newset + + -af $newset "left" 0 + -af $newset "right" 0 + -ac $newset "bottom" 2 $image + + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $master; + + formLayout -e + -af $allsel "left" 0 + + -ac $alllbl "left" 0 $allsel + -ac $alllbl "right" 0 $alladd + + -ac $alladd "right" 0 $allrem + + -ac $allrem "right" 0 $alldel + + -af $alldel "right" 42 + $labelForm; + + formLayout -e + -af $setList "top" 0 + -af $setList "left" 0 + -af $setList "right" 0 + -af $setList "bottom" 0 + $qssMaster; + + showWindow $windowName; + zooSetMenuWindowFunctions update none none; + } + + +global proc string zooSetNameFromRowName( string $rowName ) { + if( !`control -ex $rowName` ) return ""; + string $formChildren[] = `formLayout -q -ca $rowName`; + return `nameField -q -o $formChildren[1]`; + } + + +global proc zooSetMenuPostFunctions ( string $function, string $set ) { + string $windowName = "zooSetMenuPostCommandWindow"; + string $windowTitle = "Post Command"; + string $attrName = "postCommandString"; + string $setCommand; + + switch ( $function ) { + case "window": + if( `objExists ( $set +"."+ $attrName )` ) $setCommand = `getAttr ( $set +"."+ $attrName )`; + else { + addAttr -ln $attrName -dt "string" $set; + setAttr -type "string" ( $set +"."+ $attrName ) ""; + } + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 + -sizeable 1 -width 400 $windowName; + + columnLayout -adjustableColumn true -rowSpacing 7; + rowLayout -numberOfColumns 4 + -columnWidth4 110 350 35 40 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1 + -columnAttach 3 "both" 1 + -columnAttach 4 "both" 0; + text -label "Post Command String:"; + textField -ed 1 -text $setCommand -cc ( "zooSetMenuPostFunctions update "+ $set ) ( $set +"PostCommandText" ); + button -height 20 -label "close" -c ( "deleteUI "+ $windowName ); + button -height 20 -label "delete" -c ( "deleteAttr "+ $set +"."+ $attrName +"; deleteUI "+ $windowName +"; zooSetMenuWindowFunctions update none none;" ); + setParent ..; + setParent ..; + + showWindow $windowName; + zooSetMenuWindowFunctions update none none; + break; + + case "update": + string $commandString = `textField -q -text ( $set +"PostCommandText" )`; + setAttr -type "string" ( $set +"."+ $attrName ) $commandString; + break; + } + } + + +global proc zooSetMenuWindowFunctions( string $function, string $rowName, string $newSetName ) { + global string $zooSetMenuPreviousSet; + string $set = `zooSetNameFromRowName $rowName`; + string $sets[] = `zoolsqss`; + string $windowName = "zooSetMenuWindow"; + string $flag = "-r"; + int $zooSetMenuOption = 0; + + if( `optionVar -ex zooSetMenuOption` ) $zooSetMenuOption = `optionVar -q zooSetMenuOption`; + if( $zooSetMenuOption ) $flag = "-add"; + switch ( $function ) { + case "MMUpdate": + //subfunction called by the marking menu, to update window checkbox states + if( `window -ex $windowName` ) checkBox -e -v `optionVar -q zooSetMenuOption` zooSetMenuCheckReplace; + + zooSetMenuWindowFunctions update none none; + break; + + case "update": + if( !`window -ex $windowName`) return; + int $replaceCheckBoxVal = `checkBox -q -v zooSetMenuCheckReplace`; + + optionVar -intValue zooSetMenuOption $replaceCheckBoxVal; + break; + + case "delete": + deleteUI $rowName; + delete $set; + break; + + case "newPrevious": + zooSetPreviousSet $set; + if( `window -ex $windowName` ) zooSetMenuWindowFunctions update none none; + break; + + case "updateWindow": + //subfunction is a hacky way of redrawing the entire UI + deleteUI $windowName; + zooSetMenuWindow; + break; + } + } + + +global proc string zooGetObjSet( string $obj ) { + if( !`objExists $obj` ) return ""; + string $objSets[] = `listConnections -s 0 -type objectSet $obj`; + for( $s in $objSets ) if( `zooIsValidSelectionSet $s` ) return $s; + + return ""; + } + + +global proc zooSetMenuRemoveOptionVars () { + for( $var in `optionVar -l` ) if( `match "^zooSetMenu" $var` != "" ) optionVar -remove $var; + print( "all optionVars used by zooSetMenu have been removed from your system.\n" ); + } + + +global proc string zooGetSetToSelect( string $mode ) { + global string $zooSetMenuPreviousSet; + if( $mode == "" ) $mode = `optionVar -q zooSetMenuPressMode`; + switch( $mode ) { + case "select previous set": + return $zooSetMenuPreviousSet; + break; + default: + string $selObjs[] = `ls -sl`; + if( !`size $selObjs` ) { + if( `objExists $zooSetMenuPreviousSet` ) return $zooSetMenuPreviousSet; + return ""; + } + + string $currentSets[] = `listConnections -s 0 -type objectSet`; + for( $s in $currentSets ) if( `zooIsValidSelectionSet $s` ) return $s; + return ""; + case "select parent set": + string $currentSets[] = `listConnections -s 0 -type objectSet`; + string $set = ""; + + for( $s in $currentSets ) if( `zooIsValidSelectionSet $s` ) $set = $s; + if( !`objExists $set` ) if( `objExists $zooSetMenuPreviousSet` ) $set = $zooSetMenuPreviousSet; + if( !`objExists $set` ) return ""; + + string $parSet = `zooGetObjSet $set`; + if( `objExists $parSet` ) return $parSet; + return $set; + } + } + + +//this proc allows us to do custom tests on the set before declaring it a valid +//set to select +global proc int zooIsValidSelectionSet( string $set ) { + string $setAnn = `sets -q -t $set`; + if( $setAnn == "gCharacterSet" ) return 1; + return 0; + } + + +//this simple function is basically used by the "select" button +global proc zooSetSelector( string $setName ) { + global string $zooSetMenuPreviousSet; + string $function; + string $flag; + string $attrName = "postCommandString"; + + if( `optionVar -ex zooSetMenuOption` ) $zooSetMenuOption = `optionVar -q zooSetMenuOption`; + $flag = ( $zooSetMenuOption ) ? "-add" : "-r"; + + if( `objExists $setName` ) { + //now select the set objects + eval( "select "+ $flag +" "+ $setName ); + $zooSetMenuPreviousSet = $setName; + + //now call post command + if( `objExists ( $setName +"."+ $attrName )` ) { + string $command = `getAttr ( $setName +"."+ $attrName )`; + eval( $command ); + } + } + } + + +global proc zooSetMenuKillUI () { + global int $zooIsClicked; + + if( `popupMenu -ex tempMM` ) { + deleteUI tempMM; + if( $zooIsClicked ) $zooIsClicked = 0; + else { + string $setToSelect = `zooGetSetToSelect ""`; + if( `objExists $setToSelect` ) zooSetSelector $setToSelect; + else zooSetMenuWindow; + } + } + } + + +global proc string zooSetMenuToolsInfo ( string $function ) { + string $creationDate = "1 October 2001"; + string $currentVersion = "3.06.09"; + + if( $function == "created" ) return $creationDate; + if( $function == "version" ) return $currentVersion; + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooSetMenu_help.zooHelp b/2009-x64/zooScripts/scripts/zooSetMenu_help.zooHelp new file mode 100644 index 0000000..1f51b98 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSetMenu_help.zooHelp @@ -0,0 +1,9 @@ +Overview: +zooSetMenu is a marking menu based script to help deal with quick selection sets. Quick selection sets are a great way to quickly select a bunch of character controls, and quickly key them when animating, among many other things. zooSetMenu has two parts to it, the marking menu, and its control window. The marking menu gives really fast access to selecting any quick selection set in the scene, adding to current selections, creating sets, or keying all objects in a set. + +The config window then supplements this with the ability to easily rename sets, add/remove items to/from sets, delete sets, hide all set members, or create post selection commands. + +Marking Menu Setup: +Add to selection, will keep whatever is currently selected when it loads the quick select set. The update button will reload the UI for when quick select sets are created outside of this script. + +The "default behaviour" controls what happens when the hotkey assigned to zooSetMenu is pressed without displaying the menu. Ie if you had zooSetMenu assigned to the "y" button, when you just press and release the "y" key, the default behaviour would be called. Most of the options are self explanatory, except for the select "previous/current" option. This basically finds the first quick select set that the selected object belongs to, and selects it. If nothing is selected, it selects the previous set. This behaviour makes it easy to select a character's controls in scenes with multiple characters. diff --git a/2009-x64/zooScripts/scripts/zooSetkey.mel b/2009-x64/zooScripts/scripts/zooSetkey.mel new file mode 100644 index 0000000..eb84b48 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSetkey.mel @@ -0,0 +1,188 @@ +// +// Tangent Works +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 29 May 2005 +// +// Description: +// designed as a replacement for the set key hotkey. this is a marking menu that +// lets you push keys forward or backwards. for example, if you're on a key, and +// you want to quickly "push" the pose to the next keyframe, then the push foward +// menu will do exactly that. by default, the hotkey assigned to the marking menu +// will simply set a keyframe. +// +// Usage: +// assign this function to a key press: +// zooSetkey; +// +// assign this function to the release; +// zooSetkeyKillUI; +// +// NOTE: if the hotkey you want to assign this script to contains +// either ctrl, alt or shift, then modify the "popupMenu" line below +// to reflect which key is used (ie if you're using alt-w then +// change it to -alt 1). +// +// Hamish McKenzie ©2007... + + +zooFlags; //source zooFlags +zooTangentWksUtils; + + +global proc zooSetkey() { + global int $zooIsClicked; + string $panel = `getPanel -up`; + + $zooIsClicked = 0; + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( `control -ex $panel` ) popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p $panel -pmc ( "zooSetkeyCreateUI tempMM 0;" ) tempMM; + else performSetKeyframeArgList 1 {"0", "animationList"}; + } + + +global proc zooSetkeyCreateUI( string $parent, int $keyCommands ) { + global int $zooIsClicked; + string $selObjs[] = `ls -sl`; + float $factor = `optionVar -ex zooCopycatFactor`? `optionVar -q zooCopycatFactor`: 0.1; + int $smooth = `optionVar -ex zooSetkeySmooth`? `optionVar -q zooSetkeySmooth`: 0; + float $curSpeed = `zooPlaySpeed -1 $smooth`; + int $sel = `size $selObjs`; + + if( $keyCommands ) { + zooKeyCommands "" ""; + zooKeyCommandsPopupMenu $parent; + menuItem -d 1; + } + else menu -e -dai $parent; + setParent -m $parent; + + $zooIsClicked = 1; + menuItem -en $sel -l "push key forward" -c( "zooSetkeyPush fwd;" ) -rp E; + menuItem -en $sel -l "push key backward" -c( "zooSetkeyPush bak;" ) -rp W; + + menuItem -en $sel -l "pull from forward key" -c( "zooCopycat right 1.0;" ) -rp NE; + menuItem -en $sel -l "pull from previous key" -c( "zooCopycat left 1.0;" ) -rp NW; + + menuItem -en $sel -l "copycat value toward next" -c( "zooCopycat right "+ $factor +";" ) -rp SE; + menuItem -en $sel -l "copycat value toward prev" -c( "zooCopycat left "+ $factor +";" ) -rp SW; + + menuItem -en $sel -l "euler filter" -c( "{string $cmd=\"filterCurve \"; for($a in `ls -sl`) if(`objExists ($a+\".r\")`) $cmd=$cmd+$a+\".rx \"+$a+\".ry \"+$a+\".rz \"; eval $cmd;}" ) -rp "S"; + + menuItem -en $sel -l "copycat (breakdown) factor" -sm 1; + menuItem -l "nudge by 2%" -cb( $factor == 0.02 ) -c( "optionVar -fv zooCopycatFactor 0.02;" ); + menuItem -l "nudge by 5%" -cb( $factor == 0.05 ) -c( "optionVar -fv zooCopycatFactor 0.05;" ); + menuItem -l "nudge by 10%" -cb( $factor == 0.1 ) -c( "optionVar -fv zooCopycatFactor 0.1;" ); + menuItem -l "nudge by 25%" -cb( $factor == 0.25 ) -c( "optionVar -fv zooCopycatFactor 0.25;" ); + menuItem -l "nudge by 50%" -cb( $factor == 0.5 ) -c( "optionVar -fv zooCopycatFactor 0.5;" ); + setParent -m ..; + menuItem -d 1; + + menuItem -en $sel -l "select all static keys" -c( "zooSelectStaticKeys static 1;" ); + menuItem -en $sel -l "select outer static keys" -c( "zooSelectStaticKeys outer 1;" ); + menuItem -en $sel -l "select inner static keys" -c( "zooSelectStaticKeys inner 1;" ); + menuItem -en $sel -l "select non static keys" -c( "zooSelectStaticKeys static 1; selectKey -tgl -k `ls -sl`;" ); + menuItem -d 1; + + menuItem -l "play on..." -sm 1; + menuItem -l "ones" -cb( $curSpeed==1 ) -c( "zooPlaySpeed 1 "+ $smooth +";" ); + menuItem -l "twos" -cb( $curSpeed==0.5 ) -c( "zooPlaySpeed 0.5 "+ $smooth +";" ); + menuItem -l "threes" -cb( $curSpeed==0.33 ) -c( "zooPlaySpeed 0.33 "+ $smooth +";" ); + menuItem -l "fours" -cb( $curSpeed==0.25 ) -c( "zooPlaySpeed 0.25 "+ $smooth +";" ); + menuItem -d 1; + menuItem -l "smooth (no frame holds)" -cb $smooth -c(($smooth? "optionVar -rm zooSetkeySmooth;": "optionVar -iv zooSetkeySmooth 1;") +"zooPlaySpeed "+ $curSpeed +" "+ (!$smooth)); + setParent -m ..; + menuItem -l "open keyCommands" -c "source zooKeyCommandsWin;"; + } + + +//------ +//sets or queries the playspeed for a scene - this can be used to set playback to +//be ones, twos, threes etc... the smooth arg determines whether frames are held +//for longer, or subframes are played. ie if smooth is true, then subframes are +//displayed. if false, each frame is held for longer. sometimes its useful to +//play back at half speed, instead of holding each frame for twice as long +//------ +global proc float zooPlaySpeed( float $rate, int $smooth ) { + float $playSpeed = `playbackOptions -q -ps`; //the playspeed is basically the frame hold + float $playBy = `playbackOptions -q -by`; //the playby is the frame increment + + if( $smooth == -1 ) $smooth = `optionVar -ex zooSetkeySmooth`? `optionVar -q zooSetkeySmooth`: 0; + if( $rate<0 ) { + if( $smooth ) return $playBy; + else return $playSpeed; + } + + if( $smooth ) { + playbackOptions -ps ($rate==1? 1: 0); + playbackOptions -by $rate; + } + else { + playbackOptions -ps $rate; + playbackOptions -by 1; + } + + return $rate; + } + + +//the arg specifies whether to move the select keys beginning to the current time +//or the end of the keys to the current time +global proc zooKeysToCurrentTime( int $startToNow ) { + float $keys[] = sort(`keyframe -q -sl`); + int $deselect = 0; + + if( !`size $keys` ) { + float $key = `findKeyframe -ts -w next`; + if( $startToNow ) $key = `findKeyframe -ts -w previous`; + selectKey -t $key; + $keys = sort(`keyframe -q -sl`); + $deselect = 1; + } + int $cur = `currentTime -q`; + int $low = $keys[0]; + int $hi = `zooGetElement_float -1 $keys`; + int $dif = $cur-$low; + + if( !$startToNow ) $dif = $cur-$hi; + $keys = `zooRemoveAdjacentDupeItems_float $keys`; + keyframe -r -tc $dif -o over; + if( $deselect ) selectKey -cl; + } + + +global proc float zooSetkeyDefaults( string $setting ) { + int $exists = `optionVar -ex $setting`; + if( $exists ) return((float)`optionVar -q $setting`); + switch( $setting ) { + case "zooCopycatFactor": return 0.05; + } + } + + +global proc zooSetkeyKillUI () { + global int $zooIsClicked; + if( `popupMenu -ex tempMM` ) { + deleteUI tempMM; + if ( !$zooIsClicked ) performSetKeyframeArgList 1 {"0", "animationList"}; + } + + $zooIsClicked = 0; + } + + +global proc string[] zooSetkeyDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooKeyCommands"; + + if( $mode == "-scripts" ) return $melDependencies; + if( $mode == "-icons" ) return $iconDependencies; + return {}; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooShaders.mel b/2009-x64/zooScripts/scripts/zooShaders.mel new file mode 100644 index 0000000..c7c8353 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooShaders.mel @@ -0,0 +1,167 @@ +//proc for dealing with creating and applying a "smallest possible" set of shaders +//using reasonably high-level, but still flexible tools. this proc will let you +//for example, apply a "red" shader to an object - if an existing shader that is +//also red exists, that will be used, otherwise a new one will be created + + +zooArrays_str; +zooRegister; +zooUtils; + + +global proc zooShaders() { + return; + } + + +global proc zooSetShaderColour( string $shader, string $colour ) { + float $col[] = `zooColourToFloat $colour`; + setAttr ( $shader +".outColor" ) $col[0] $col[1] $col[2]; + if( $col[3] < 100 ) setAttr ( $shader +".outTransparency" ) $col[3] $col[3] $col[3]; + } + + +global proc zooSetObjShader( string $obj, string $shader ) { + if( !`objExists $obj` ) return; + if( !`objExists $shader` ) return; + + string $SG[] = `listConnections -s 0 -type shadingEngine ( $shader +".outColor" )`; + string $shapes[] = `listRelatives -pa -s $obj`; + + for( $shape in $shapes ) if( `nodeType $shape` != "nurbsCurve" ) sets -e -forceElement $SG[0] $shape; + } + + +//returns the shader currently assigned to the given object +global proc string zooGetObjShader( string $obj ) { + if( !`objExists $obj` ) return ""; + string $shapes[] = `listRelatives -pa -s $obj`; + if( !`size $shapes` ) return ""; + + string $cons[] = `listConnections -s 0 -type shadingEngine $shapes`; + for( $c in $cons ) { + string $shaders[] = `listConnections -d 0 ( $c +".surfaceShader" )`;//-type surfaceShader + if( `size $shaders` ) return $shaders[0]; + } + + return ""; + } + + +//given a colour, this proc will either return an existing shader with that colour +//or it will create a new shader (if forceCreate is true) if an existing one isn't +//found +//NOTE - this proc will look for a shader that has a similar colour to the one +//specified - so the colour may not always be totally accurate if a shader exists +//with a similar colour - the colour/alpha threshold is 0.05 +global proc string zooGetShader( string $colour, int $forceCreate ) { + string $shaders[] = `zooGetShaders`; + float $rgba[] = `zooColourToFloat $colour`; + + for( $shader in $shaders ) { + float $col[] = `getAttr ( $shader +".outColor" )`; + float $trans[] = `getAttr ( $shader +".outTransparency" )`; + if( abs($col[0]-$rgba[0]) < 0.05 ) if( abs($col[1]-$rgba[1]) < 0.05 ) if( abs($col[2]-$rgba[2]) < 0.05 ) + if( abs($trans[0]-$rgba[3]) < 0.05 ) if( abs($trans[1]-$rgba[3]) < 0.05 ) if( abs($trans[2]-$rgba[3]) < 0.05 ) + return $shader; + } + if( $forceCreate ) return `zooCreateShader $colour`; + return ""; + } + + +//creates a shader of a given colour - always creates a new shader +global proc string zooCreateShader( string $colour ) { + string $name = `match "^[^ ]+" $colour`; + string $shader = `shadingNode -asShader surfaceShader`; + string $SG = `sets -renderable 1 -noSurfaceShader 1 -empty`; + string $reg = `zooGetRegister zoo 1`; + + connectAttr -f ( $shader +".outColor" ) ( $SG +".surfaceShader" ); + float $colourRGBA[] = `zooColourToFloat $colour`; + setAttr ( $shader +".outColor" ) $colourRGBA[0] $colourRGBA[1] $colourRGBA[2]; + setAttr ( $shader +".outTransparency" ) $colourRGBA[3] $colourRGBA[3] $colourRGBA[3]; + zooRegisterObj $reg shaders $shader 1 1; + $shader = `rename $shader ( "zooShader_"+ $name )`; + $SG = `rename $SG ( $shader +"SG" )`; + shadingConnection -e -cs 0 ( $SG +".surfaceShader" ); //makes non-renderable + + return $shader; + } + + +//colour can be a combination: +//name alpha -> darkred 0.5 +//name +//r g b a -> 1 0 0 0.2 +//if r, g, b or a are missing, they're assumed to be 0 +//a 4 float, RGBA array is returned +global proc float[] zooColourToFloat( string $colour ) { + string $data[] = {}; + float $alpha = 0.0; + + tokenize $colour " " $data; + string $name = $data[0]; + if( `size $data` > 1 ) $alpha = $data[1]; + switch( $name ) { + case "highlight": + case "active": return { 0.26, 1, 0.64 }; + case "black": return {0.,0.,0.,$alpha}; + case "white": return {1.,1.,1.,$alpha}; + case "grey": return {.5,.5,.5,$alpha}; + case "lightgrey": return {.7,.7,.7,$alpha}; + case "darkgrey": return {.25,.25,.25,$alpha}; + case "red": return {1.,0.,0.,$alpha}; + case "pink": + case "lightred": return {1.,.5,1.,$alpha}; + case "peach": return {1.,.5,.5,$alpha}; + case "crimson": + case "darkred": return {.6,0.,0.,$alpha}; + case "orange": return {1.,.5,0.,$alpha}; + case "lightorange": return {1.,.7,.1,$alpha}; + case "darkorange": return {.7,.25,0.,$alpha}; + case "yellow": return {1.,1.,0.,$alpha}; + case "lightyellow": return {1.,1.,.5,$alpha}; + case "darkyellow": return {.8,.8,0.,$alpha}; + case "green": return {0.,1.,0.,$alpha}; + case "lightgreen": return {.4,1.,.2,$alpha}; + case "darkgreen": return {0.,.5,0.,$alpha}; + case "blue": return {0.,0.,1.,$alpha}; + case "lightblue": return {.4,.55,1.,$alpha}; + case "darkblue": return {0.,0.,.4,$alpha}; + case "purple": return {.7,0.,1.,$alpha}; + case "lavender": + case "lightpurple": return {.8,.5,1,$alpha}; + case "plum": + case "darkpurple": return {.375,0.,.5,$alpha}; + case "brown": return {.57,.49,.39,$alpha}; + case "lightbrown": return {.76,.64,.5,$alpha}; + case "darkbrown": return {.37,.28,.17,$alpha}; + } + + if( `match "^[-0-9. ]+$" $colour` == $colour ) { + string $toks[] = `zooTokenize $colour " "`; + for( $n=0; $n<4; $n++ ) if( $toks[$n] == "" ) $toks[$n] = "0"; + return { ((float)$toks[0]), ((float)$toks[1]), ((float)$toks[2]), ((float)$toks[3]) }; + } + + return {0.,0.,0.,0.}; + } + + +//lists all existing registered shaders in the scene +global proc string[] zooGetShaders() { + string $shaders[] = {}; + string $existingShaders[] = {}; + string $reg = `zooGetRegister zoo 1`; + int $idxs[] = {}; + + zooListRegistered $reg shaders $idxs $shaders; + for( $s in $shaders ) if( `objExists $s` ) $existingShaders[( `size $existingShaders` )] = $s; + + return $existingShaders; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooShelveIt.mel b/2009-x64/zooScripts/scripts/zooShelveIt.mel new file mode 100644 index 0000000..3d9df4f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooShelveIt.mel @@ -0,0 +1,64 @@ +//this script is a helper script, used for shelf button creation. its a good idea +//for scripts to have the ability to install a shelf button. This script will +//install a shelf button for a script, but tag it with certain information so that +//the button can be reliably manipulated later by MEL. this is useful for creating +//buttons with press "rollovers" (ie state changing) as well as for attaching RMB +//popup menus. + + +global proc zooShelveIt() { + return; + } + + +//creates a shelf button, and tags it, and returns the button UI name so the shelf button can be further configured +global proc string zooInstallShelfButton( string $buttonTag ) { + global string $gShelfTopLevel; + string $shelfButtonName = `zooGetShelfButton $buttonTag`; + string $currentShelf = `shelfTabLayout -q -selectTab $gShelfTopLevel`; + string $buttonName = `shelfButton -p $currentShelf -docTag $buttonTag`; + + return $buttonName; + } + + +//returns the name of the zooShelveIt shelf button for the current shelf +global proc string zooGetShelfButton( string $buttonTag ) { + global string $gShelfTopLevel; + string $buttonName = ""; + string $shelfButtons[] = eval( "shelfLayout -q -ca `shelfTabLayout -q -selectTab $gShelfTopLevel`" ); + + for ( $button in $shelfButtons ) if( `control -exists $button` ) if( `control -q -docTag $button` == $buttonTag ) $buttonName = $button; + return $buttonName; + } + + +//returns the name of the zooShelveIt shelf button for a specified shelf +global proc string zooGetShelfButtonFor( string $shelf, string $buttonTag ) { + global string $gShelfTopLevel; + string $buttonName = ""; + string $shelfButtons[] = `shelfLayout -q -ca $shelf`; + + for ( $button in $shelfButtons ) if( `control -exists $button` ) if( `control -q -docTag $button` == $buttonTag ) $buttonName = $button; + return $buttonName; + } + + +//returns the name of the zooShelveIt shelf button for all shelves +global proc string[] zooGetShelfButtonAll( string $buttonTag ) { + global string $gShelfTopLevel; + string $buttonNames[] = {}; + string $shelves[] = `lsUI -cl -type shelfLayout`;//`shelfTabLayout -q -ca $gShelfTopLevel`; + + for( $shelf in $shelves ) { + if( !`shelfLayout -ex $shelf` ) continue; + string $shelfButtons[] = `shelfLayout -q -ca $shelf`; + for ( $button in $shelfButtons ) if( `control -exists $button` ) if( `control -q -docTag $button` == $buttonTag ) $buttonNames[( `size $buttonNames` )] = $button; + } + + return $buttonNames; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooShots.mel b/2009-x64/zooScripts/scripts/zooShots.mel new file mode 100644 index 0000000..c5c12f5 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooShots.mel @@ -0,0 +1,875 @@ +// +// zooShots +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 08 February 2002 +// +// Description: +// This script lets you create multiple cameras in your scene, and cut them together +// into one, master camera. The master camera gets constrained to each of the individual +// cameras, so it updates whenever they do. It also deals with connecting most of the +// camera render attributes as well, such as the focal length and shutter angle +// +// Usage: +// simply run the command: +// zooShots; +// +// this script (zooShots) only contains the code to drive the UI. The code to drive the +// actual creation of shots, addition/removel of shots etc, is contained in the +// zooShotsUtils script. If you want to use zooShots functionality externally, refer to +// zooShotsUtils +// +// Hamish McKenzie ©2007... + + +zooArrays_str; +zooArrays_int; +zooFlags; +zooShelveIt; +zooShotsUtils; +zooUtils; + + +global proc zooShots() { + global int $zooPrevShot = -1; + string $windowName = "zooShotsWindow"; + string $windowTitle = "Shots v"+ `zooShotsInfo version`; + int $dockUI = `optionVar -ex zooShotsDocking`? `optionVar -q zooShotsDocking`: 0; + int $highlight = `optionVar -ex zooShotsHighlight`? `optionVar -q zooShotsHighlight`: 1; + + if( `window -ex $windowName` ) deleteUI $windowName; + if( `menuBarLayout -ex zooShotsMenuMain` ) { + deleteUI zooShotsMenuMain; + eval( "showChannelsLayers \"Channel Box / Layer Editor\" 0" ); + } + + if( $dockUI ) setParent ChannelsLayersPaneLayout; + else window -title $windowTitle -resizeToFitChildren 0 -maximizeButton 1 -sizeable 1 -width 340 -height 400 $windowName; + + menuBarLayout zooShotsMenuMain; + scriptJob -p zooShotsMenuMain -e timeChanged zooShotsHighlightActiveShot; + menu -l "Shots"; + menuItem -l "Update Master Camera" -c( "zooShotsConstrainMaster;" ); + menuItem -l "Reorder Shots" -c( "zooReorderShots; zooShotsWindowFunctions updateAll n; zooShotsConstrainMaster;" ); + menuItem -l "Get Times From Master" -c( "zooSetRangesFromMaster; zooShotsWindowFunctions updateTime \"*\"" ); + menuItem -d 1; + menuItem -l "List Shots Nodes..." -sm 1 -pmc "zooListShotsMenu zooShotsMenuList" zooShotsMenuList; setParent -m ..; + menuItem -l "Merge With..." -sm 1 -pmc "zooMergeShotsMenu zooShotsMenuMerge" zooShotsMenuMerge; setParent -m ..; + menuItem -d 1; + menuItem -l "Delete Shots Node" -c( "{ string $node = `zooGetShotsNode 0`; if( `objExists $node` ) delete $node; zooMakeShotNodeCurrent `zooGetShotsNode 0`; zooShots; }" ); + if( $dockUI ) { menuItem -divider 1; menuItem -l "Close" -c( "deleteUI zooShotsMenuMain; showChannelsLayers \"Channel Box / Layer Editor\" 0;" ); } + menu -l "HUD"; + menuItem -l "Build Widescreen Mask..." -sm 1; + menuItem -l "1.333 4/3" -c "zooAddCameraMask `zooGetMasterShot` 1.333"; + menuItem -l "1.556 14/9" -c "zooAddCameraMask `zooGetMasterShot` (14.0/9)"; + menuItem -l "1.778 16/9" -c "zooAddCameraMask `zooGetMasterShot` (16.0/9)"; + menuItem -l "1.85 academy" -c "zooAddCameraMask `zooGetMasterShot` 1.85"; + menuItem -l "2.35 anamorphic" -c "zooAddCameraMask `zooGetMasterShot` 2.35"; + menuItem -d 1; + menuItem -l "Other" -c( "{string $a=`promptDialog -m \"enter aspect ratio\" -b Create -b Cancel`; if( $a != \"Cancel\" ) zooAddCameraMask `zooGetMasterShot` `promptDialog -q -text`;}"); + setParent -m ..; + if( `exists zooHUDCtrl` ) menuItem -l "Open zooHUDCtrl" -c( "zooHUDCtrl" ); + menu -l "Config"; + menuItem -l "Dock to Channel Box" -checkBox $dockUI -c( "optionVar -iv zooShotsDocking `menuItem -q -checkBox zooShotsCheckDocking`" ) zooShotsCheckDocking; + menuItem -l "Auto Load With Scene" -cb( `zooShotsAutoLoader "-q 1"` ) -c( "{ int $state = `menuItem -q -cb zooShotsCheckAutoLoader`; zooShotsAutoLoader ( \"-install \"+ $state +\"\" ); }" ) zooShotsCheckAutoLoader; + menuItem -d 1; + menuItem -l "Enable Highlighting" -cb $highlight -c( "optionVar -iv zooShotsHighlight `menuItem -q -checkBox zooShotsCheckHighlight`" ) zooShotsCheckHighlight; + menuItem -l "Highlight Current Shot" -c( "zooShotsForceHighlight" ); + menuItem -d 1; + menuItem -l "Constrain Focal Length" -cb( `optionVar -ex zooShots_focal`? `optionVar -q zooShots_focal`: 1 ) -c( "optionVar -iv zooShots_focal (`menuItem -q -cb zooShots_focal`); zooShotsConstrainMaster;" ) zooShots_focal; + menuItem -l "Constrain Focal Distance" -cb( `optionVar -ex zooShots_fdist`? `optionVar -q zooShots_fdist`: 1 ) -c( "optionVar -iv zooShots_fdist (`menuItem -q -cb zooShots_fdist`); zooShotsConstrainMaster;" ) zooShots_fdist; + menuItem -l "Constrain fStop" -cb( `optionVar -ex zooShots_fstop`? `optionVar -q zooShots_fstop`: 1 ) -c( "optionVar -iv zooShots_fstop (`menuItem -q -cb zooShots_fstop`); zooShotsConstrainMaster;" ) zooShots_fstop; + menuItem -l "Constrain Shutter" -cb( `optionVar -ex zooShots_shutr`? `optionVar -q zooShots_shutr`: 1 ) -c( "optionVar -iv zooShots_shutr (`menuItem -q -cb zooShots_shutr`); zooShotsConstrainMaster;" ) zooShots_shutr; + menuItem -l "Constrain Near Clip" -cb( `optionVar -ex zooShots_clipn`? `optionVar -q zooShots_clipn`: 1 ) -c( "optionVar -iv zooShots_clipn (`menuItem -q -cb zooShots_clipn`); zooShotsConstrainMaster;" ) zooShots_clipn; + menuItem -l "Constrain Far Clip" -cb( `optionVar -ex zooShots_clipf`? `optionVar -q zooShots_clipf`: 1 ) -c( "optionVar -iv zooShots_clipf (`menuItem -q -cb zooShots_clipf`); zooShotsConstrainMaster;" ) zooShots_clipf; + menu -l "Shelf"; + menuItem -l "Install Shelf Button" -c ( "zooShotsSetup" ); + menuItem -divider 1; + menuItem -l "Remove Shelf Button" -c ( "deleteUI `zooGetShelfButtonAll zooShots`" ); + menu -l "Help"; + menuItem -l "Donate Now" -c( "showHelp -a \"http://www.macaronikazoo.com/donate.html\";" ); + menuItem -l "Help..." -c( "zooHelp zooShots 1;" ); + + string $masterForm = `formLayout`; + scrollLayout -p $masterForm -childResizable 1 -hst 0 -vst 1 zooShotsScrollBar; + columnLayout -adjustableColumn 1 -rowSpacing 5 zooShotsColumnMain; + scriptJob -p zooShotsColumnMain -e "SceneOpened" "zooShotsWindowFunctions update n"; + formLayout zooShotsFormNew; + string $masterCamText = `text -height 20 -l "master cam:"`; + nameField -height 20 zooShotsTextMasterCamera; + string $updateButt = `iconTextCheckBox -height 20 -width 85 -l "auto update" -style textOnly -onc( "zooShotsWindowFunctions autoUpdate 1" ) -ofc( "zooShotsWindowFunctions autoUpdate 0" ) zooShotsButtonAutoUpdate`; + + text -l "new shot:" zooShotsNameTextNew; + nameField -height 20 zooShotsNameFieldCameraName; + intField -width 40 -v( (int)`zooGetGlobalShotInfo start` ) -height 20 -ann "start time for the new shot - tell zooShots which frame you want the new shot to start on" zooShotsIntFieldNewStart; + button -height 20 -width 37 -l "make" -c( "zooShotsWindowFunctions createShot n" ) -ann "create the new shot using the camera specified" zooShotsButtonMake; + setParent ..; + + formLayout -edit + -af $masterCamText "top" 0 + -af $masterCamText "left" 4 + -an $masterCamText "right" + -an $masterCamText "bottom" + + -af zooShotsTextMasterCamera "top" 0 + -ac zooShotsTextMasterCamera "left" 2 $masterCamText + -ac zooShotsTextMasterCamera "right" 0 $updateButt + -an zooShotsTextMasterCamera "bottom" + + -af $updateButt "top" 0 + -an $updateButt "left" + -af $updateButt "right" 0 + -an $updateButt "bottom" + + -ac zooShotsNameTextNew "top" 4 zooShotsTextMasterCamera + -af zooShotsNameTextNew "left" 4 + -an zooShotsNameTextNew "right" + -an zooShotsNameTextNew "bottom" + + -ac zooShotsNameFieldCameraName "top" 3 zooShotsTextMasterCamera + -ac zooShotsNameFieldCameraName "left" 2 zooShotsNameTextNew + -ac zooShotsNameFieldCameraName "right" 0 zooShotsIntFieldNewStart + -an zooShotsNameFieldCameraName "bottom" + + -ac zooShotsIntFieldNewStart "top" 3 zooShotsTextMasterCamera + -an zooShotsIntFieldNewStart "left" + -ac zooShotsIntFieldNewStart "right" 0 zooShotsButtonMake + -an zooShotsIntFieldNewStart "bottom" + + -ac zooShotsButtonMake "top" 3 zooShotsTextMasterCamera + -an zooShotsButtonMake "left" + -af zooShotsButtonMake "right" 0 + -an zooShotsButtonMake "bottom" + zooShotsFormNew; + + columnLayout -adjustableColumn 1 zooShotsRowList; + setParent ..; + + setParent $masterForm; + string $shotsName = `nameField -height 20 zooShotNodeNamefield`; + string $endLbl = `text -height 20 -l "end frame"`; + string $endTime = `intField -width 60 -v( (int)(zooGetGlobalShotInfo("end")) ) -height 20 -cc( "zooSetGlobalShotInfo end #1; zooShotsWindowFunctions updateTime \"$\";" ) -ann "global end frame for the scene - the last camera in the shot list ends on the global end frame" zooShotsIntGlobalEnd`; + string $globalLbl = `text -height 20 -l "global note"`; + string $globalNote = `button -height 18 -width 18 -l "" -c( "zooShotNotesWindow -1" ) zooShotsButtGlobalNote`; + string $image = `image -width 200 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + + formLayout -e + -af zooShotsScrollBar "top" 0 + -af zooShotsScrollBar "left" 0 + -af zooShotsScrollBar "right" 0 + -ac zooShotsScrollBar "bottom" 0 $endTime + + -an $shotsName "top" + -af $shotsName "left" 0 + -ac $shotsName "right" 7 $endLbl + -ac $shotsName "bottom" 0 $image + + -an $endLbl "top" + -an $endLbl "left" + -ac $endLbl "right" 2 $endTime + -ac $endLbl "bottom" 0 $image + + -an $endTime "top" + -an $endTime "left" + -ac $endTime "right" 5 $globalLbl + -ac $endTime "bottom" 0 $image + + -an $globalLbl "top" + -an $globalLbl "left" + -ac $globalLbl "right" 2 $globalNote + -ac $globalLbl "bottom" 0 $image + + -an $globalNote "top" + -an $globalNote "left" + -af $globalNote "right" 1 + -ac $globalNote "bottom" 1 $image + + -an $image "top" + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $masterForm; + + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + popupMenu -b 3 -p $masterCamText -pmc( "zooMasterShotMenu zooShotsMasterMMLabel" ) zooShotsMasterMMLabel; + popupMenu -b 3 -p zooShotsTextMasterCamera -pmc( "zooMasterShotMenu zooShotsMasterMMName" ) zooShotsMasterMMName; + popupMenu -b 3 -p zooShotsNameFieldCameraName -pmc( "zooNewShotMenu zooShotsNewShotMM" ) zooShotsNewShotMM; + popupMenu -b 3 -p $shotsName -pmc( "zooListShotsMenu zooShotsNamePopup" ) zooShotsNamePopup; + + if( $dockUI ) { + int $sizes[] = `paneLayout -q -paneSize ChannelsLayersPaneLayout`; + int $new1 = $sizes[1]; + int $new2 = $sizes[( `size $sizes`-1 )]/2; + int $new3 = $sizes[( `size $sizes`-1 )] - $new2; + paneLayout -e -cn "horizontal3" -setPane zooShotsMenuMain 3 -paneSize 1 100 $new1 -paneSize 2 100 $new2 -paneSize 3 100 $new3 ChannelsLayersPaneLayout; + } + else showWindow $windowName; + + zooShotsWindowFunctions updateAll n; + zooShotsInstallShelfPopup; + } + + +//------ +//most UI functions happen with this proc +//------ +global proc zooShotsWindowFunctions( string $function, string $variable01 ) { + string $windowName = "zooShotsWindow"; + string $UIParent = "zooShotsRowList"; + + switch ( $function ) { + case "updateAll": + zooShotsWindowFunctions update n; + zooShotsWindowFunctions updateDisabled "*"; + zooShotsWindowFunctions updateNotes -1; + zooShotsWindowFunctions updateAuto n; + + string $currentNode = `zooGetShotsNode 0`; + if( `objExists $currentNode` ) nameField -e -o $currentNode zooShotNodeNamefield; + break; + + case "update": + if( size(`columnLayout -q -ca zooShotsRowList`)) deleteUI `columnLayout -q -ca zooShotsRowList`; + zooShotsWindowFunctions load n; + + if( `nameField -q -o zooShotsTextMasterCamera` != "" ) button -e -enable 1 zooShotsButtonMake; + else button -e -enable 0 zooShotsButtonMake; + break; + + case "updateTime": + int $shots[] = `zooListShots`; + int $shotStartIndex = 0; + int $shotEndIndex = `size $shots`; + int $startUIIndex = 3; + int $endUIIndex = 5; + int $n=0; + + if( $variable01 == "$" ) $variable01 = $shots[( `size $shots`-1 )]; + if( $variable01 != "*" ) { + $shotStartIndex = `zooMapShotsToSlots $variable01`; + $shotEndIndex = $shotStartIndex + 1; + } + + for( $n=$shotStartIndex; $n<=$shotEndIndex; $n++ ) { + string $start = `zooGetShotInfo start $shots[$n]`; + if( !`control -ex ( "zooShot_"+ $shots[$n] )`) continue; + string $startUI = zooGetElement_str($startUIIndex,`formLayout -q -ca ( "zooShot_"+ $shots[$n] )`); + intField -e -v ((int)$start) $startUI; + + if( $n-1<0 ) continue; + if( !`control -ex ( "zooShot_"+ $shots[( $n-1 )] )`) continue; //if the formLayout doesn't exist, then continue + string $endUI = zooGetElement_str($endUIIndex,`formLayout -q -ca ( "zooShot_"+ $shots[( $n-1 )] )`); + int $end = `zooGetShotEndFrame $shots[( $n-1 )]`; + intField -e -v $end $endUI; + } + break; + + case "updateInstance": + int $shot = $variable01; + string $camera = `zooGetShotCamera $shot`; + string $shotUIs[] = `formLayout -q -ca ( "zooShot_"+ $shot )`; + int $camShots[] = `zooGetShotsFromCamera $camera`; + + nameField -e -o $camera ( "zooShotsNameFieldName_"+ $shot ); + if( `size $camShots`>1 ) { + text -e -vis 0 -bgc 0.58 0.62 0.67 $shotUIs[0]; + text -e -vis 1 $shotUIs[0]; + } + else { + text -e -vis 0 -bgc 0.83 0.82 0.78 $shotUIs[0]; + text -e -vis 1 $shotUIs[0]; + } + break; + + case "updateDisabled": + int $shots[] = {}; + int $startIndex = 3; + int $endIndex = 5; + + if( $variable01 == "*" ) $shots = `zooListShots`; + else $shots[0] = $variable01; + + for( $shot in $shots ) { + string $UIElts[] = `formLayout -q -ca ( "zooShot_"+ $shot )`; + int $disable = `zooGetShotInfo disable $shot`; + intField -e -en (!$disable) $UIElts[$startIndex]; + intField -e -en (!$disable) $UIElts[$endIndex]; + intField -e -ed 0 $UIElts[$endIndex]; + } + break; + + case "updateLocked": + int $shots[] = {}; + if( $variable01 == "*" ) $shots = `zooListShots`; + else $shots = { ((int)$variable01) }; + for( $shot in $shots ) { + int $camShots[] = `zooGetShotsFromCamera (zooGetShotCamera($shot))`; + int $locked = `zooIsShotLocked $shot`; + for( $a in $camShots ) { + string $UIElts[] = `formLayout -q -ca ( "zooShot_"+ $a )`; + if( $locked ) { + button -e -vis 0 -bgc 0.58 0.62 0.67 $UIElts[7]; + button -e -docTag 0 -vis 1 $UIElts[7]; + } + else { + button -e -vis 0 -bgc 0.83 0.82 0.78 $UIElts[7]; + button -e -docTag 1 -vis 1 $UIElts[7]; + } + } + } + break; + + case "updateNotes": + int $shot = $variable01; + if( `control -ex ( "zooShot_"+ $shot )` ) { + string $UIElts[] = `formLayout -q -ca ( "zooShot_"+ $shot )`; + string $shotNotes = `zooGetShotInfo notes $shot`; + + if( `size $shotNotes` ) { + button -e -vis 0 -bgc 0.95 0.95 0.95 $UIElts[8]; + button -e -vis 1 $UIElts[8]; + } + else { + button -e -vis 0 -bgc 0.83 0.82 0.78 $UIElts[8]; + button -e -vis 1 $UIElts[8]; + } + } + + string $globalNote = `zooGetGlobalShotInfo notes`; + if( `size $globalNote` ) { + button -e -vis 0 -bgc 0.95 0.95 0.95 zooShotsButtGlobalNote; + button -e -vis 1 zooShotsButtGlobalNote; + } + else { + button -e -vis 0 -bgc 0.83 0.82 0.78 zooShotsButtGlobalNote; + button -e -vis 1 zooShotsButtGlobalNote; + } + break; + + case "updateAuto": + int $autoUpdate = 1; + if( `optionVar -ex zooShotsAutoUpdate` ) $autoUpdate = `optionVar -q zooShotsAutoUpdate`; + if( $autoUpdate ) { + iconTextCheckBox -e -vis 0 -v 1 -bgc 0.81 0.9 0.76 zooShotsButtonAutoUpdate; + iconTextCheckBox -e -vis 1 zooShotsButtonAutoUpdate; + } + else { + iconTextCheckBox -e -vis 0 -v 0 -bgc 0.83 0.82 0.78 zooShotsButtonAutoUpdate; + iconTextCheckBox -e -vis 1 zooShotsButtonAutoUpdate; + } + break; + + case "autoUpdate": + int $autoUpdate = 1; + if( `optionVar -ex zooShotsAutoUpdate` ) $autoUpdate = `optionVar -q zooShotsAutoUpdate`; + optionVar -iv zooShotsAutoUpdate (!$autoUpdate); + zooShotsWindowFunctions updateAuto n; + break; + + //loads the shots from the default shotNode into the UI + case "load": + string $masterCam = `zooGetMasterShot`; + int $shots[] = `zooListShots`; + + nameField -e -o $masterCam zooShotsTextMasterCamera; + for( $a in $shots ) zooAddShotToUI $a; + break; + + case "createShot": + string $camera = `nameField -q -o zooShotsNameFieldCameraName`; + if( $camera != "" ) { + int $shot = `zooAddShot $camera`; + int $start = `intField -q -v zooShotsIntFieldNewStart`; + + zooSetShotInfo $shot ( "-set start "+ $start ); + + //because you can't remove an object from a namefield + deleteUI zooShotsNameFieldCameraName; + nameField -p zooShotsFormNew -height 20 zooShotsNameFieldCameraName; + popupMenu -b 3 -p zooShotsNameFieldCameraName -pmc( "zooNewShotMenu zooShotsNewShotMM" ) zooShotsNewShotMM; + formLayout -e + -ac zooShotsNameFieldCameraName "top" 3 zooShotsTextMasterCamera + -ac zooShotsNameFieldCameraName "left" 0 zooShotsNameTextNew + -ac zooShotsNameFieldCameraName "right" 0 zooShotsIntFieldNewStart + -an zooShotsNameFieldCameraName "bottom" zooShotsFormNew; + + zooAddShotToUI $shot; + } + break; + + case "loadCamera": + string $selObjs[] = `ls -sl -transforms`; + int $isCamera = 0; + + if( `size $selObjs` ) { + if( size( `listRelatives -type camera $selObjs[0]` )) $isCamera = 1; + + if( $isCamera ) { + if( $variable01 == "n" ) { + nameField -e -o $selObjs[0] zooShotsNameFieldCameraName; + intField -e -v( `currentTime -q` ) zooShotsIntFieldNewStart; + } + if( $variable01 == "master" ) { + nameField -e -object $selObjs[0] zooShotsTextMasterCamera; + button -e -enable 1 zooShotsButtonMake; + zooSetMasterShot $selObjs[0]; + } + } + } + break; + + case "replaceCamera": + int $shot = $variable01; + string $selObjs[] = `ls -sl -transforms`; + string $shotUIs[] = `formLayout -q -ca ( "zooShot_"+ $shot )`; + + nameField -e -o $selObjs[0] ( "zooShotsNameFieldName_"+ $shot ); + zooSetShotCamera $selObjs[0] $shot; + int $camShots[] = `zooGetShotsFromCamera $selObjs[0]`; + + for( $s in $camShots ) { + text -e -vis 0 -bgc 0.58 0.62 0.67 $shotUIs[0]; + text -e -vis 1 $shotUIs[0]; + } + + zooShotsConstrainMaster; + break; + + case "toggleLocked": + int $shot = $variable01; + int $locked = `zooIsShotLocked $shot`; + + if( $locked ) { + zooLockShotCamera $shot 0; + zooShotsWindowFunctions updateLocked $shot; + } + else { + zooLockShotCamera $shot 1; + zooShotsWindowFunctions updateLocked $shot; + } + break; + + case "remove": + int $shot = $variable01; + string $result = `confirmDialog -title ( "Delete Shot "+ $shot ) -message( "Do you really want to delete shot "+ $shot +"?\n\nRemember if you can disable it which\njust \"turns if off\"..." ) -button "Yes" -button "No" -defaultButton "No" -cancelButton "No" -dismissString "No"`; + + if( $result == "Yes" ) { + deleteUI ( "zooShot_"+ $shot ); + zooDeleteShot $shot; + zooShotsConstrainMaster; + } + zooShotsWindowFunctions updateTime "*"; + break; + } + } + + +//------ +//deals with adding a new shot to the UI - builds all the neccesary UI elements, parents them, and adds popupMenu functionality +//------ +global proc zooAddShotToUI( int $shot ){ + string $windowName = "zooShotsWindow"; + string $UIParent = "zooShotsRowList"; + string $axes[] = {"x","y","z"}; + string $camera = `zooGetShotCamera $shot`; + int $camShots[] = `zooGetShotsFromCamera $camera`; + int $isLocked = 0; + + //a camera is considered locked if any of its t or r transforms is locked + for( $axis in $axes ) if( `getAttr -l ( $camera +".t"+ $axis )` ) $isLocked = 1; + + setParent $UIParent; + string $form = `formLayout ( "zooShot_"+ $shot )`; + string $shotNum = `text -width 13 -l $shot`; + string $shotCam = `nameField -height 20 -ann "RMB here for more options" -o $camera ( "zooShotsNameFieldName_"+ $shot )`; + string $startGoto = `button -height 20 -width 12 -l "<" -ann "change the start time to the beginning of this shot" -c( "zooShotsGoto start "+ $shot )`; + string $startTime = `intField -height 20 -width 40 -ann "the start time for this shot" -cc( "zooSetShotInfo "+ $shot +" \"-set start #1\"; zooShotsWindowFunctions updateTime "+ $shot )`; + string $goToButton = `button -height 20 -width 19 -l "<>" -ann "change both the start and end time to that of this shot" -c( "zooShotsGoto both "+ $shot +"; zooShotsHighlightShot "+ $shot )`; + string $endTime = `intField -ed 0 -height 20 -width 40 -ann "the end time for this shot"`; + string $endGoto = `button -height 20 -width 12 -l ">" -ann "change the end time to the end of this shot" -c( "zooShotsGoto end "+ $shot )`; + string $lock = `button -height 20 -width 18 -l "" -ann "lock camera transforms" -c( "zooShotsWindowFunctions toggleLocked "+ $shot ) -docTag 0`; + string $notes = `button -height 20 -width 18 -l "" -ann "read the notes associated with this shot" -c( "zooShotNotesWindow "+ $shot )`; + setParent..; + + //if the shot camera is used in multiple shots, then turn the shot number UI grey to indicate the shot camera is used elsewhere + if( `size $camShots`>1 ) { + text -e -vis 0 -bgc 0.58 0.62 0.67 $shotNum; + text -e -vis 1 $shotNum; + } + + //if the shot camera is locked, then turn the lock button grey + if( $isLocked ) { + button -e -vis 0 -bgc 0.58 0.62 0.67 $lock; + button -e -vis 1 -docTag 1 $lock; + } + + formLayout -e + -af $shotNum "top" 0 + -af $shotNum "left" 2 + -an $shotNum "right" + -an $shotNum "bottom" + + -af $shotCam "top" 0 + -ac $shotCam "left" 1 $shotNum + -ac $shotCam "right" 0 $startGoto + -an $shotCam "bottom" + + -af $startGoto "top" 0 + -an $startGoto "left" + -ac $startGoto "right" 0 $startTime + -an $startGoto "bottom" + + -af $startTime "top" 0 + -an $startTime "left" + -ac $startTime "right" 0 $goToButton + -an $startTime "bottom" + + -af $goToButton "top" 0 + -an $goToButton "left" + -ac $goToButton "right" 0 $endTime + -an $goToButton "bottom" + + -af $endTime "top" 0 + -an $endTime "left" + -ac $endTime "right" 0 $endGoto + -an $endTime "bottom" + + -af $endGoto "top" 0 + -an $endGoto "left" + -ac $endGoto "right" 0 $lock + -an $endGoto "bottom" + + -af $lock "top" 0 + -an $lock "left" + -ac $lock "right" 0 $notes + -an $lock "bottom" + + -af $notes "top" 0 + -an $notes "left" + -af $notes "right" 0 + -an $notes "bottom" + $form; + + popupMenu -p $shotCam -aob 1 -pmc( "zooShotMenu "+ $shot ) ( "zooShotsMMCam"+ $shot ); + popupMenu -p $goToButton -pmc( "zooShotsColourMenu zooShotsMMCol"+ $shot +" "+ $shot ) ( "zooShotsMMCol"+ $shot ); + popupMenu -p $lock -pmc( "zooShotLockMenu "+ $shot ) ( "zooShotsMMLock"+ $shot ); + + zooChangeShotColour $shot ""; + zooShotsWindowFunctions updateNotes $shot; + zooShotsWindowFunctions updateTime $shot; + } + + +global proc zooShotMenu( int $shot ) { + string $sel[] = `ls -tr -sl`; + string $parent = "zooShotsMMCam"+ $shot; + string $camera = `zooGetShotInfo camera $shot`; + int $camShots[] = `zooGetShotsFromCamera $camera`; + int $start = `zooGetShotInfo start $shot`; + int $end = `zooGetShotEndFrame $shot`; + int $length = $end-$start+1; + int $disable = `zooGetShotInfo disable $shot`; + + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "Select Camera" -c( "select "+ $camera ); + menuItem -l "Replace Camera" -en( `size $sel` ) -c( "zooShotsWindowFunctions replaceCamera "+ $shot ); + menuItem -l "Disable Shot" -cb $disable -c( "zooSetShotInfo "+ $shot +" \"-set disable "+ (!$disable) +"\"; zooShotsWindowFunctions updateTime "+ $shot +"; zooShotsWindowFunctions updateDisabled \"*\";" ); + menuItem -d 1; + menuItem -l "Delete Shot" -c( "zooShotsWindowFunctions remove "+ $shot ); + menuItem -d 1; + menuItem -l ( $length +" frames long" ) -c( "print \"this shot is "+ $length +" frames long\\n\"" ); + menuItem -l ( "shot number "+ $shot ) -c( "print \"this is shot number "+ $shot +"\"" ); + if( `size $camShots` > 1 ) { + menuItem -d 1; + for( $s in $camShots ) { + menuItem -l ( "cam used in shot "+ $s ) -c( "zooShotsHighlightShot "+ $s ); + menuItem -ob 1 -c( "zooShotsGoto both "+ $s ); + } + menuItem -d 1; + menuItem -l "un-instance camera" -c( "zooUninstanceShot "+ $shot +"; zooShotsWindowFunctions updateInstance "+ $shot +";" ); + } + } + + +global proc zooShotsColourMenu( string $parent, int $shot ) { + string $colour = `zooGetShotInfo colour $shot`; + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "red" -cb( $colour=="red" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour red\"; zooChangeShotColour "+ $shot +" red" ); + menuItem -l "orange" -cb( $colour=="orange" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour orange\"; zooChangeShotColour "+ $shot +" orange" ); + menuItem -l "yellow" -cb( $colour=="yellow" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour yellow\"; zooChangeShotColour "+ $shot +" yellow" ); + menuItem -l "green" -cb( $colour=="green" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour green\"; zooChangeShotColour "+ $shot +" green" ); + menuItem -l "blue" -cb( $colour=="blue" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour blue\"; zooChangeShotColour "+ $shot +" blue" ); + menuItem -l "purple" -cb( $colour=="purple" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour purple\"; zooChangeShotColour "+ $shot +" purple" ); + menuItem -l "dark grey" -cb( $colour=="dark grey" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour grey\"; zooChangeShotColour "+ $shot +" grey" ); + menuItem -divider 1; + menuItem -l "none" -cb( $colour=="" ) -c( "zooSetShotInfo "+ $shot +" \"-set colour none\"; zooChangeShotColour "+ $shot +" none" ); + } + + +global proc zooShotLockMenu( int $shot ) { + string $parent = "zooShotsMMLock"+ $shot; + + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "Lock Above" -c( "zooBatchLocker "+ $shot +" before 1; zooShotsWindowFunctions updateLocked \"*\"" ); + menuItem -l "Lock Below" -c( "zooBatchLocker "+ $shot +" after 1; zooShotsWindowFunctions updateLocked \"*\"" ); + menuItem -l "Lock All" -c( "zooBatchLocker "+ $shot +" all 1; zooShotsWindowFunctions updateLocked \"*\"" ); + menuItem -d 1; + menuItem -l "Unlock Above" -c( "zooBatchLocker "+ $shot +" before 0; zooShotsWindowFunctions updateLocked \"*\"" ); + menuItem -l "Unlock Below" -c( "zooBatchLocker "+ $shot +" after 0; zooShotsWindowFunctions updateLocked \"*\"" ); + menuItem -l "Unlock All" -c( "zooBatchLocker "+ $shot +" all 0; zooShotsWindowFunctions updateLocked \"*\"" ); + } + + +global proc zooMasterShotMenu( string $parent ) { + string $master = `zooGetMasterShot`; + setParent -m $parent; + menu -e -dai $parent; + + if( `objExists $master` ) menuItem -l "Select Camera" -c( "select `zooGetMasterShot`" ); + menuItem -l "Load Master Camera" -c( "zooShotsWindowFunctions loadCamera master" ); + menuItem -d 1; + menuItem -l "Create New Camera" -c( "camera -n \"master_camera\" -centerOfInterest 5 -focalLength 35 -lensSqueezeRatio 1 -cameraScale 1 -horizontalFilmAperture 1.41732 -horizontalFilmOffset 0 -verticalFilmAperture 0.94488 -verticalFilmOffset 0 -filmFit Horizontal -overscan 1 -motionBlur 0 -shutterAngle 180 -nearClipPlane 0.01 -farClipPlane 1000 -orthographic 0 -orthographicWidth 30; zooShotsWindowFunctions loadCamera master" ); + } + + +global proc zooNewShotMenu( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + menuItem -l "Load Target Camera" -c( "zooShotsWindowFunctions loadCamera n" ); + menuItem -d 1; + menuItem -l "Create New Camera" -c( "camera -n \"shot\" -centerOfInterest 5 -focalLength 35 -lensSqueezeRatio 1 -cameraScale 1 -horizontalFilmAperture 1.41732 -horizontalFilmOffset 0 -verticalFilmAperture 0.94488 -verticalFilmOffset 0 -filmFit Horizontal -overscan 1 -motionBlur 0 -shutterAngle 180 -nearClipPlane 0.01 -farClipPlane 1000 -orthographic 0 -orthographicWidth 30; zooShotsWindowFunctions loadCamera n" ); + } + + +global proc zooListShotsMenu( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + string $nodes[] = `zooListAllShotNodes`; + string $currentNode = `zooGetShotsNode 0`; + + for( $n in $nodes ) menuItem -l $n -cb( $n == $currentNode ) -c( "zooMakeShotNodeCurrent "+ $n +"; zooShotsConstrainMaster; zooShots;" ); + if( !`size $nodes` ) { + menuItem -l "-no nodes created yet-" -en 0; + menuItem -d 1; + menuItem -l "Create zooShots Node" -c( "zooGetShotsNode 1" ); + } + else { + menuItem -d 1; + menuItem -l "Create New Node" -c( "zooCreateNewShotsNode; zooShots;" ); + } + } + + +global proc zooMergeShotsMenu( string $parent ) { + setParent -m $parent; + menu -e -dai $parent; + + string $nodes[] = `zooListAllShotNodes`; + string $currentNode = `zooGetShotsNode 0`; + + //$nodes = `zooSubtraceArray $nodes {$currentNode}`; + for( $n in $nodes ) menuItem -l $n -en( $n != $currentNode ) -c( "zooMergeShotsNodes "+ $currentNode +" "+ $n +"; zooShotsConstrainMaster; zooShots;" ); + if( !`size $nodes` ) { + menuItem -l "-no nodes created yet-" -en 0; + menuItem -d 1; + menuItem -l "Create zooShots Node" -c( "zooGetShotsNode 1" ); + } + else { + menuItem -d 1; + menuItem -l "Create New Node" -c( "zooCreateNewShotsNode; zooShots;" ); + } + } + + +//------ +//highlights (changes the colour) the current shot in the UI. it is usually called by a scriptJob triggered by time change +//------ +global proc zooShotsHighlightActiveShot() { + int $highlightPref = 1; + if( `optionVar -ex zooShotsHighlight` ) $highlightPref = `optionVar -q zooShotsHighlight`; + if( $highlightPref ) zooShotsForceHighlight; + } + + +//------ +//forces the current slot to highlight +//------ +global proc zooShotsForceHighlight() { + global int $zooPrevShot; + int $currentShot = `zooGetCurrentShot`; + + if( $zooPrevShot != -1 ) zooChangeShotColour $zooPrevShot ""; + if( $currentShot != -1 ) zooChangeShotColour $currentShot active; + $zooPrevShot = $currentShot; + } + + +//------ +//manual highlight function +//------ +global proc zooShotsHighlightShot( int $shot ) { + global int $zooPrevShot; + if( $zooPrevShot != -1 ) zooChangeShotColour $zooPrevShot ""; + if( $shot != -1 ) zooChangeShotColour $shot active; + $zooPrevShot = $shot; + } + + +//------ +//this proc builds the notes editing/viewing window +//------ +global proc zooShotNotesWindow( int $shot ) { + string $windowName = "zooShotNotesWindow"; + string $windowTitle = "notes for shot "+ $shot; + string $noteText = `zooGetShotInfo notes $shot`; + + if( $shot >= 0 ) $noteText = `zooGetShotInfo notes $shot`; + else { + $noteText = `zooGetGlobalShotInfo notes`; + $windowTitle = "global notes"; + } + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 0 -maximizeButton 0 -sizeable 1 -width 200 -height 150 $windowName; + string $form = `formLayout`; + string $text = `scrollField -tx $noteText -ww 1`; + string $save = `button -l "save note" -c( "{ string $note = `scrollField -q -tx "+ $text +"`; zooSetShotInfo "+ $shot +" ( \"-set notes \"+ $note ); deleteUI "+ $windowName +"; zooShotsWindowFunctions updateNotes "+ $shot +";}" )`; + string $rem = `button -l "delete note" -c( "zooSetShotInfo "+ $shot +" \"-set notes\"; deleteUI "+ $windowName +"; zooShotsWindowFunctions updateNotes "+ $shot )`; + string $canc = `button -l "cancel" -c( "deleteUI "+ $windowName )`; + + formLayout -e + -af $text "top" 0 + -af $text "left" 0 + -af $text "right" 0 + -ac $text "bottom" 0 $save + + -an $save "top" + -af $save "left" 0 + -ap $save "right" 0 33 + -af $save "bottom" 0 + + -an $rem "top" + -ap $rem "left" 0 33 + -ap $rem "right" 0 67 + -af $rem "bottom" 0 + + -an $canc "top" + -ap $canc "left" 0 67 + -af $canc "right" 0 + -af $canc "bottom" 0 + $form; + + if( $shot < 0 ) { + button -e -c( "{ string $note = `scrollField -q -tx "+ $text +"`; zooSetGlobalShotInfo notes $note; deleteUI "+ $windowName +"; zooShotsWindowFunctions updateNotes "+ $shot +";}" ) $save; + button -e -c( "zooSetGlobalShotInfo notes \"\"; deleteUI "+ $windowName +"; zooShotsWindowFunctions updateNotes "+ $shot ) $rem; + } + + showWindow $windowName; + } + + +//------ +//changes the colour of a shot in the UI - this colour change can be saved, or not. If not saved, it will lost whenever the UI is updated +//------ +global proc zooChangeShotColour( string $shot, string $colour ) { + if( !`formLayout -ex ( "zooShot_"+ $shot )`) return; + string $UIElts[] = `formLayout -q -ca ( "zooShot_"+ $shot )`; + int $buttsToChange[] = { 2, 4, 6 }; + float $colR = 0.831; + float $colG = 0.816; + float $colB = 0.784; + + if( $colour == "" ) $colour = `zooGetShotInfo colour $shot`; + //otherwise, set the colour attributes + if( $colour == "active" ) { $colR = 0.0; $colG = 1.0; $colB = 0.0; } + if( $colour == "red" ) { $colR = 0.784; $colG = 0.176; $colB = 0.176; } + if( $colour == "orange" ) { $colR = 1.0; $colG = 0.549; $colB = 0.157; } + if( $colour == "yellow" ) { $colR = 0.922; $colG = 0.922; $colB = 0.447; } + if( $colour == "green" ) { $colR = 0.518; $colG = 0.825; $colB = 0.227; } + if( $colour == "blue" ) { $colR = 0.376; $colG = 0.392; $colB = 0.573; } + if( $colour == "purple" ) { $colR = 0.537; $colG = 0.294; $colB = 0.612; } + if( $colour == "grey" ) { $colR = 0.55; $colG = 0.55; $colB = 0.55; } + + for( $num in $buttsToChange ) { + control -e -bgc $colR $colG $colB -vis 0 $UIElts[$num]; + control -e -vis 1 $UIElts[$num]; + } + } + + +global proc zooBuildShotPopupMenu( string $parent ) { + int $shots[] = `zooListShots`; + //int $curShot = `zooGetCurrentShot`; //until the getCurrentShot command is made faster, enabling this makes the rmb menu painfully slow to display + + setParent -m $parent; + menu -e -dai $parent; + int $dockState = `optionVar -ex zooShotsDocking`? `optionVar -q zooShotsDocking`: 0; + + for( $shot in $shots ) { + string $note = `zooGetShotInfo notes $shot`; + string $label = `zooGetShotCamera $shot`; + if( `size $note` ) { + string $temp[] = {}; + tokenize $note " " $temp; + $label += ": "+ zooArrayToStr_str(`zooIndexCrop_str $temp ":5"`, " "); + } + string $m = `menuItem -l $label -c( "zooShotsGoto both "+ $shot )`; + } + + menuItem -d 1; + menuItem -l "dock to CB" -cb $dockState -c( "optionVar -iv zooShotsDocking "+ (!$dockState)); + menuItem -d 1; + string $subMenu = `menuItem -l "shot nodes" -sm 1`; + setParent -m ..; + menuItem -d 1; + menuItem -l "Help..." -c ( "zooHelp zooShots 1" ); + menuItem -l "About" -c ( "zooHelp zooShots 2" ); + zooListShotsMenu $subMenu; + } + + +//------ +//adds the right click popup menu to the zooShots shelf button +//------ +global proc zooShotsInstallShelfPopup() { + string $buttons[] = `zooGetShelfButtonAll zooShots`; + for( $button in $buttons ) if( `control -ex $button` ) if ( !`shelfButton -q -numberOfPopupMenus $button` ) popupMenu -p $button -pmc( "zooBuildShotPopupMenu "+ $button +"Popup" ) ( $button +"Popup" ); + } + + +//------ +//installs a shelf buttons for zooTriggered on the current shelf +//------ +global proc zooShotsSetup() { + string $button = `zooInstallShelfButton zooShots`; + string $image = `internalVar -userBitmapsDir` +"zooShots.xpm"; + string $cmd = "zooShots"; + + shelfButton -e -image1 $image -l "zooShots shelf button" -ann "load the zooShots UI - right click for additional options" -command $cmd $button; + zooShotsInstallShelfPopup; + } + + +//------ +//standard zoo info proc +//------ +global proc string zooShotsInfo ( string $function ) { + string $creationDate = "08 February 2002"; + string $currentVersion = "3.06.05"; + + if ( $function == "created" ) return $creationDate; + if ( $function == "version" ) return $currentVersion; + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooShotsDependencies.mel b/2009-x64/zooScripts/scripts/zooShotsDependencies.mel new file mode 100644 index 0000000..49b0045 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooShotsDependencies.mel @@ -0,0 +1,27 @@ +global proc string[] zooShotsDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooAddCameraMask"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_int"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooHelp"; + $melDependencies[( `size $melDependencies` )] = "zooHUDCtrl"; + $melDependencies[( `size $melDependencies` )] = "zooShelveIt"; + $melDependencies[( `size $melDependencies` )] = "zooShotsUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + + $helpDependencies[( `size $helpDependencies` )] = "zooShotsHelp"; + $helpDependencies[( `size $helpDependencies` )] = "zooShotsHistory"; + + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooShots.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooShotsHelp.zooHelp b/2009-x64/zooScripts/scripts/zooShotsHelp.zooHelp new file mode 100644 index 0000000..cda1571 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooShotsHelp.zooHelp @@ -0,0 +1,98 @@ +Overview +------ +zooShots is a camera management tool. It allows you to have multiple free cameras in your scene, and have them drive a single, master camera, that is automatically setup to cut between shots etc. Like most zoo tools, its fully scriptable, and can be controlled from other scripts, or easily added into other UIs. + + +Starting Out +------ +The first thing that you need to do is tell zooShots what camera you want to use as the master camera. To do so, simply select the camera you want as the master, and right click on the word "master camera" in the zooShots window, and select the "load master camera" menu item. This will load the camera you had selected into the UI. Next tell shots what your last frame is - enter this value is down in the bottom right corner of the UI. + +Now we just have to start adding shots. To create a new shot, select the camera you want to use, and right click on nameField next to the word "new" in the zooShots window. Now type in the frame you want that shot to start on, and hit the "make" button. + +Each shot starts on the frame specified, and ends the frame before the next shot. The final shot ends on the last frame specified in the bottom right hand corner of the shots window. + +After pressing the make button, you should see the camera get added to the shot list. Each shot in your scene is represented by a row telling you which camera a shot is using, which frame that shot starts on, and which frame the shot ends on. It also has a few buttons that allow you to quickly and easily change the timeline to the range of a shot. You can add as many shots as you need, and use any camera as many times in the shot list as you want. You can also quickly change the start time for any shot at any time. + + +Auto Updating +------ +when the auto update button is shaded green, auto updating is turned on. When on, everytime you make a change to a shot, the constraints on the master camera are automatically rebuilt to reflect the latest changes. For scenes with many shots (20 or more) this can cause a minor delay which can be frustrating. Turning auto update off allows you to manually update when the master camera is rebuilt by using the menu item Shots->Update Master Camera + + +Disabling Shots +------ +zooShots also lets you disable a shot in your shot list. Disabling a shot means the master camera "skips" over it. Basically the shot stays in your list, but it gets ignored. This is useful for when you want to see how a sequence plays without a particular shot. + + +Locking Shot Cameras +------ +Sometimes while you're animating it can be easy to forget that you're viewing your scene through one of the shot cameras, and you'll accidentally move it to get a better view of your character without thinking. If you don't pick up on this straight away, it can cause headaches later on down the track when you realise one of your carefully placed shots has been shifted. + +zooShots allows you to quickly and easily lock a shot from within the UI. The first button to the right of the end time button is the lock toggle button. Pressing this button toggles a shot camera between locked and unlocked. When a shot camera is locked, this button turns dark grey - the same colour as a locked channel in the channelBox. You can also right click any of these buttons to lock/unlock multiple shots at once. + + +Leaving Notes +------ +You can also leave notes to yourself or other people using your scene. This is useful for layout artists to leave notes to the animators, or its also useful for animators to leave notes to themselves on changes to make, alternatives to try, or even questions or alternatives to suggest to the director. Regardless of what you use it for, zooShots lets you save shot dependant notes with your scene. + +When a shot has a note attached to it, the notes button turns almost white, to enable you to quickly and easily see which shots have notes attached to them. + + +Changing Cameras +------ +You can change which camera a shot uses by selecting the new camera, and right clicking on the camera name in the window, and selecting "Replace Camera". This should load the new camera up into the UI, and rebuild the constraints and expressions to control the master camera. + + +Rebuild From Master - Changing Shot Timings +------ +For scenes with many shots, it can be tediuous having to make sweeping changes to the timing of your shots. For example, if you had 30 shots in a scene, and you needed to extend the first shot by 30 frames, it can be tedious doing it manually in the UI. + +So zooShots enables you to make changes directly to the master camera. The master camera is controlled by a both a constraint, and an expression. Both of these things are driven by curves feeding into the constraint weight attributes to control the camera cutting. So manipulating the timing of the shots is simply a matter of shifting the keys on those curves around. The easiest way to do that is to select the master camera, and shift keys around in the dopesheet. + +zooShots has a feature that will read the timing of those curves from the master camera to get shot timings. To do this, simply go to Shots->Get Times From Master. This tells zooShots to go through and read the new start frames from the master, and put that new information back into shots. + +NOTE: this function won't work properly if your shots aren't in order. To order your shots, simply use the Shots->Reorder Shots function discussed below. + + +Reorder Shots +------ +This function will reorder your shot list based on the start times of each shot. This is useful if you have say 20 shots, and need to add another shot just after shot 2. So basically you can just add a new shot, tell zooShots when it starts, and hit reorder, and zooShots will re-arrange your shots based on start time. Now your shot should be right where you wanted it in the shot list. + +NOTE: if the shots start times aren't ordered, zooShots will behave erratically due to the way it determines the end time for a shot, so its important to make sure your shots are ordered based on time. + + +Multiple Shots Nodes +------ +As of version 2.6 zooShots lets you have multiple different shots nodes in your scene. Having multiple shots nodes in your scene means you can effectively have multiple different "edits" in your scene at once. Each different shots node is a completely separate configuration of shots. Each node can have a different master camera, and a completely different configuration of shots, notes, etc... Having multiple shots nodes allows you to import shots setups from other files without having to remove or rename shots nodes. + +To swap between different shots nodes, simply select the node you want to edit in the Shots->List Nodes menu. Should you want to create a new shots node, use Shots->List Nodes->Create New Node. + +To delete a shots node, simply select the node you want to delete from the list, and go to Shots->Delete Shots Node. This will delete the current node, and automatically switch to the next most appropriate node, if one exists. + + +Merging Shots Nodes +------ +If you have multiple shots nodes in your scene, and you want to merge them together, you can use the zooMergeShotsNodes command. Currently this isn't supported in the UI (I'm too lazy) but its a very simple command to use. Simply type the name of the two shots nodes you want to merge together: + +zooMergeShotsNodes shotsNode shotsNode1; + +zooShots will then put all of the shots from shotsNode1 on to shotsNode. + + +Colouring the UI +------ +zooShots also enables you to change the colour of a shot as it appears in the UI. For scenes with lots of shots it can be useful to colour them to help you quickly distinguish between them. For example you might group similar shots using the same colour, or have say a red shot 200 frames. For animators working in a scene with a few shots its sometimes useful to colour completed shots a certain way. Perhaps use blue to indicate blocking waiting for approval, and green to indicate final animation complete and approved etc... + + +Configuration +------ +zooShots can appear in both a floating window, or you can dock it to the channel box. If you have a scene with multiple shots that you're often switching between, docking the zooShots window to the channelBox can be really useful. It provides quick, out of the way access to all the cameras in your scene. + +You can also tell zooShots to load itself up with that scene automatically everytime you open it. This is good when used in conjunction with docking. The zooShots window gets loaded up into the channelBox as soon as the scene is opened. + +The constraints options in the Config menu allow you to turn off the constraints on certain channels of the master camera. These options exist, because the constraints are handled using expressions, which can be slow to evaluate for large scenes. So if you don't need the near and far clipping planes constrained to the shot cameras, then its a good idea to turn them off. You can easily turn any of these on or off at anytime anyway, so don't feel constrained (no pun intended) by your choice. + + +Limitations +------ +Speed - due to the way zooShots is written - for maximum flexibility - it can be slow doing certain operations in scenes with long shot lists. \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooShotsUtils.mel b/2009-x64/zooScripts/scripts/zooShotsUtils.mel new file mode 100644 index 0000000..395af54 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooShotsUtils.mel @@ -0,0 +1,766 @@ +global proc zooShotsUtils() { + return; + } + + +//------ +//adds shots from node2 to node1 +//------ +global proc zooMergeShotsNodes( string $node1, string $node2 ) { + if( !`objExists $node1` ) return; + if( !`objExists $node2` ) return; + + string $currentNode = `zooGetShotsNode 0`; + string $node2Cameras[] = {}; + string $node2InfoStrs[] = {}; + int $node1Shots[] = {}; + int $node2Shots[] = {}; + + zooMakeShotNodeCurrent $node2; + $node2Shots = `zooListShots`; + for( $n=0; $n<`size $node2Shots`; $n++ ) { + $node2Cameras[$n] = `zooGetShotInfo camera $node2Shots[$n]`; + $node2InfoStrs[$n] = `getAttr ( $node2 +".shotInfo"+ $node2Shots[$n] )`; + } + + zooMakeShotNodeCurrent $node1; + + for( $n=0; $n<`size $node2Shots`; $n++ ) { + int $dupeShotNum = `zooAddShot $node2Cameras[$n]`; + setAttr -type "string" ( $node1 +".shotInfo"+ $dupeShotNum ) $node2InfoStrs[$n]; + } + + zooReorderShots; + zooMakeShotNodeCurrent $currentNode; + } + + +//------ +//deals with locking multiple cameras at once - this is ultimately a UI function, +//but is defined in this proc because its not tied to the UI +//------ +global proc zooBatchLocker( int $shot, string $direction, int $lockState ) { + int $shots[] = `zooListShots`; + switch( $direction ) { + case "before": + for( $n=0; $n<`size $shots`; $n++ ) { if( $shots[$n] <= $shot ) zooLockShotCamera $shots[$n] $lockState; } + break; + + case "after": + for( $n=0; $n<`size $shots`; $n++ ) if( $shots[$n] >= $shot ) zooLockShotCamera $shots[$n] $lockState; + break; + + case "all": + for( $n=0; $n<`size $shots`; $n++ ) zooLockShotCamera $shots[$n] $lockState; + break; + } + } + + +//------ +//un-instances a shot camera. If a camera is used in multiple shots, that camera +//has been "instanced" in shots. So un-instancing a camera makes the camera for +//the current shot unique +//------ +global proc zooUninstanceShot( int $shot ) { + string $camera = `zooGetShotCamera $shot`; + int $camShots[] = `zooGetShotsFromCamera $camera`; + + if( `size $camShots` == 1 ) return; //if the camera is only used once, then do nothing + string $newCam[] = `duplicate -rc $camera`; + zooSetShotInfo $shot ( "-set camera "+ $newCam[0] ); + } + + +//------ +//locks the transforms for the camera on a given shot +//------ +global proc zooLockShotCamera( int $shot, int $lockState ) { + string $camera = `zooGetShotCamera $shot`; + string $axes[] = {"x","y","z"}; + + for( $axis in $axes ) catchQuiet( `setAttr -l $lockState ( $camera +".t"+ $axis )` ); + for( $axis in $axes ) catchQuiet( `setAttr -l $lockState ( $camera +".r"+ $axis )` ); + } + + +global proc int zooIsShotLocked( int $shot ) { + string $camera = `zooGetShotCamera $shot`; + string $axes[] = {"x","y","z"}; + + for( $axis in $axes ) if( `getAttr -l ( $camera +".t"+ $axis )`) return 1; + for( $axis in $axes ) if( `getAttr -l ( $camera +".r"+ $axis )`) return 1; + return 0; + } + + +//------ +//handles changing the timeline to the range of a given shot +//------ +global proc zooShotsGoto( string $function, int $shot ) { + int $start = `zooGetShotInfo start $shot`; + int $end = `zooGetShotInfo end $shot`; + + if( $function == "start" || $function == "both" ) { + if( `currentTime -q` < $start ) currentTime $start; + playbackOptions -e -min $start; + } + + if( $function == "end" || $function == "both" ) { + if( `currentTime -q` > $end ) currentTime $end; + playbackOptions -e -max $end; + } + } + + +global proc string zooGetObjsConstraintWeight( string $obj, string $constraint ) { + string $weightStr; + string $objTgts[] = {}; + + if( size(`connectionInfo -dfs ( $obj +".parentMatrix[0]" )`)) $objTgts = `connectionInfo -dfs ( $obj +".parentMatrix[0]" )`; //this attr is always involved in a constraint + else return ""; + + for( $tgt in $objTgts ) if( $constraint == `match "^[^.]+" $tgt` ) { + string $targetNumberStr = `match "\\[[0-9]+\\]" $tgt`; + int $tgtNum = `match "[0-9]+" $targetNumberStr`; + $weightStr = `connectionInfo -sfd ( $constraint +".target["+ $tgtNum +"].targetWeight" )`; + $weightStr = `match "[^.]+$" $weightStr`; + break; + } + + return $weightStr; + } + + +//------ +//updates the ranges on the shotsNode, from the constraint keys on the master camera - ie if the user has shifted the keys on the master +//camera constraint, this proc gets the new ranges from these shifted keys +//------ +global proc zooSetRangesFromMaster() { + string $masterCam = `zooGetMasterShot`; + string $constraint[] = `listRelatives -type constraint $masterCam`; + string $weightAttrs[] = `listAttr -ud $constraint[0]`; + int $shots[] = `zooListEnabledShots`; + int $starts[] = {}; + int $ends[] = {}; + + for( $n=0; $n<`size $weightAttrs`; $n++ ) { + float $keyTimes[] = `keyframe -t ":" -q ( $constraint[0] +"."+ $weightAttrs[$n] )`; + for( $x=1; $x<`size $keyTimes`; $x+=3 ) $starts[( `size $starts` )] = $keyTimes[$x]; + } + + $starts = `sort $starts`; + for( $n=0; $n<`size $shots`; $n++ ) zooSetShotInfo $shots[$n] ( "-set start "+ $starts[$n] ); + } + + +//------ +//this proc will build and animate the constraints for the master camera, so it switches properly +//------ +global proc string zooShotsConstrainMaster() { + string $master = `zooGetMasterShot`; + if( !`objExists $master` ) return ""; + + int $shots[] = `zooListEnabledShots`; + string $cameras[] = {}; + string $constraint[] = {}; + string $masterCamShape = zooGetElement_str(0,`listRelatives -s -type camera $master`); + string $fLengthExpression = $masterCamShape +".focalLength="; + string $fDistanceExpression = $masterCamShape +".focusDistance="; + string $fStopExpression = $masterCamShape +".fStop="; + string $shutterExpression = $masterCamShape +".shutterAngle="; + string $clipNExpression = $masterCamShape +".nearClipPlane="; + string $clipFExpression = $masterCamShape +".farClipPlane="; + int $starts[] = {}; + int $ends[] = {}; + + for( $a in $shots ) { + $cameras[( `size $cameras` )] = `zooGetShotInfo camera $a`; + $starts[( `size $starts` )] = `zooGetShotInfo start $a`; + $ends[( `size $ends` )] = `zooGetShotEndFrame $a`; + } + + string $axes[] = { "x", "y", "z" }; + int $lockedT[] = {}; + int $lockedR[] = {}; + for( $axis in $axes ) { $lockedT[( `size $lockedT` )] = `getAttr -l ( $master +".t"+ $axis )`; catchQuiet( `setAttr -l 0 ( $master +".t"+ $axis )`); } + for( $axis in $axes ) { $lockedR[( `size $lockedR` )] = `getAttr -l ( $master +".r"+ $axis )`; catchQuiet( `setAttr -l 0 ( $master +".r"+ $axis )`); } + + //remove any constraints and expressions currently controlling the master camera + string $oldConstraints[] = `listRelatives -type parentConstraint $master`; + string $oldExpressoins[] = ls("-type", "expression", (listHistory($masterCamShape))); + if( `size $oldConstraints` ) delete $oldConstraints; + if( `size $oldExpressoins` ) delete $oldExpressoins; + + //now build a parent constraint that links to all shot cameras, as well as the expression string that controls the focal length of the master + $constraint = `parentConstraint $cameras[0] $master`; + for( $n=0; $n<`size $cameras`; $n++ ) { + string $cam = $cameras[$n]; + string $attr = `zooGetObjsConstraintWeight $cam $constraint[0]`; + int $camAlreadyConstrained = 0; + + if( $attr != "" ) $camAlreadyConstrained = 1; + if( !$camAlreadyConstrained ) { //if the $attr is empty, that means the camera isn't already participating in the constraint + $constraint = `parentConstraint $cam $master`; + $attr = `zooGetObjsConstraintWeight $cam $constraint[0]`; + } + + //set the keys on the weight curves + setKeyframe -itt linear -ott step -t ( $starts[$n]-1 ) -v 0 ( $constraint[0] +"."+ $attr ); + setKeyframe -itt linear -ott step -t $starts[$n] -v 1 ( $constraint[0] +"."+ $attr ); + setKeyframe -itt linear -ott step -t ( $ends[$n]+1 ) -v 0 ( $constraint[0] +"."+ $attr ); + } + + //now lets write the expressions to make the camera shape attributes follow the appropriate target camera + string $noDupeCams[] = `stringArrayRemoveDuplicates $cameras`; + for( $cam in $noDupeCams ) { + string $camShape[] = `listRelatives -type camera $cam`; + string $attr = `zooGetObjsConstraintWeight $cam $constraint[0]`; + + $fLengthExpression = $fLengthExpression +"("+ $camShape[0] +".focalLength*"+ $constraint[0] +"."+ $attr +")+"; + $fDistanceExpression = $fDistanceExpression +"("+ $camShape[0] +".focusDistance*"+ $constraint[0] +"."+ $attr +")+"; + $fStopExpression = $fStopExpression +"("+ $camShape[0] +".fStop*"+ $constraint[0] +"."+ $attr +")+"; + $shutterExpression = $shutterExpression +"("+ $camShape[0] +".shutterAngle*"+ $constraint[0] +"."+ $attr +")+"; + $clipNExpression = $clipNExpression +"("+ $camShape[0] +".nearClipPlane*"+ $constraint[0] +"."+ $attr +")+"; + $clipFExpression = $clipFExpression +"("+ $camShape[0] +".farClipPlane*"+ $constraint[0] +"."+ $attr +")+"; + } + + //remove the final + sign, and build the expression + $fLengthExpression = `substitute "[+]$" $fLengthExpression ";\r\n"`; + $fDistanceExpression = `substitute "[+]$" $fDistanceExpression ";\r\n"`; + $fStopExpression = `substitute "[+]$" $fStopExpression ";\r\n"`; + $shutterExpression = `substitute "[+]$" $shutterExpression ";\r\n"`; + $clipNExpression = `substitute "[+]$" $clipNExpression ";\r\n"`; + $clipFExpression = `substitute "[+]$" $clipFExpression ";\r\n"`; + + //figure out which expressions we actually want on the master camera + string $expressionStr = ""; + if( `optionVar -ex zooShots_focal`? `optionVar -q zooShots_focal`: 1 ) $expressionStr += $fLengthExpression; + if( `optionVar -ex zooShots_fdist`? `optionVar -q zooShots_fdist`: 1 ) $expressionStr += $fDistanceExpression; + if( `optionVar -ex zooShots_fstop`? `optionVar -q zooShots_fstop`: 1 ) $expressionStr += $fStopExpression; + if( `optionVar -ex zooShots_shutr`? `optionVar -q zooShots_shutr`: 1 ) $expressionStr += $shutterExpression; + if( `optionVar -ex zooShots_clipn`? `optionVar -q zooShots_clipn`: 1 ) $expressionStr += $clipNExpression; + if( `optionVar -ex zooShots_clipf`? `optionVar -q zooShots_clipf`: 1 ) $expressionStr += $clipFExpression; + if( $expressionStr != "" ) expression -s $expressionStr; + + for( $n=0; $n < 3; $n++ ) setAttr -l $lockedT[$n] ( $master +".t"+ $axes[$n] ); + for( $n=0; $n < 3; $n++ ) setAttr -l $lockedR[$n] ( $master +".r"+ $axes[$n] ); + + return $constraint[0]; + } + + +global proc zooReorderShots() { + int $orderedShots[] = {}; + int $shots[] = `zooListShots`; + int $numShots = `size $shots`; + int $starts[] = {}; + int $orderedStarts[] = {}; + int $orderedIndicies[] = {}; + int $highest; + int $highestIndex; + + //build the list of all start values + for( $n=0; $n<`size $shots`; $n++ ) $starts[$n] = `zooGetShotInfo start $shots[$n]`; + $orderedShots = `zooOrderArrayUsing_int $shots $starts`; + + string $node = `zooGetShotsNode 0`; + string $cameras[] = {}; + string $infoStrs[] = {}; + for( $n=0; $n<$numShots; $n++ ) { + $cameras[$n] = `zooGetShotCamera $orderedShots[$n]`; + $infoStrs[$n] = `getAttr ( $node +".shotInfo"+ $orderedShots[$n] )`; + zooDeleteShot $orderedShots[$n]; + } + + for( $n=0; $n<$numShots; $n++ ) { + int $shot = `zooAddShot $cameras[$n]`; + setAttr -type "string" ( $node +".shotInfo"+ $shot ) $infoStrs[$n]; + } + } + + +//------ +//returns info about the current shot +//------ +global proc int zooGetCurrentShot() { + float $currentTime = `currentTime -q`; + int $shots[] = `zooListShots`; + int $currentShot = -1; + + for( $a in $shots ) { + int $start = `zooGetShotInfo start $a`; + if( $currentTime >= $start ) { + int $end = `zooGetShotInfo end $a`; + if( $currentTime <= $end ) return $a; + } + } + + return $currentShot; + } + + +//------ +//returns a list of shots that the camera is used for +//------ +global proc int[] zooGetShotsFromCamera( string $camera ) { + string $node = `zooGetShotsNode 0`; + if( !`objExists $node` ) return {}; + string $connections[] = `listConnections -s 0 -p 1 -type time ( $camera +".message" )`; + int $shotList[] = {}; + + for( $c in $connections ) if( `match ( $node +".shotCamera[0-9]+$" ) $c` != "" ) { + int $shot = `match "[0-9]+$" $c`; + $shotList[( `size $shotList` )] = $shot; + } + + $shotList = `sort $shotList`; + return $shotList; + } + + +//------ +//gets the name of the camera used for a certain shot +//------ +global proc string zooGetShotCamera( int $shot ) { + string $node = `zooGetShotsNode 0`; + string $camera = ""; + if( !`objExists ( $node +".shotCamera"+ $shot )`) return ""; + $camera = zooGetElement_str(0,`listConnections -s 1 ( $node +".shotCamera"+ $shot )`); + return $camera; + } + + +//------ +//sets which camera is used for a given shot +//------ +global proc zooSetShotCamera( string $camera, int $shot ) { + if( !`objExists $camera` ) return; + string $node = `zooGetShotsNode 1`; + if( !`objExists ( $node +".shotCamera"+ $shot )`) addAttr -ln ( "shotCamera"+ $shot ) -at bool $node; + connectAttr -f ( $camera +".message" ) ( $node +".shotCamera"+ $shot ); + } + + +//------ +//sets which camera is used for the master camera +//------ +global proc zooSetMasterShot( string $camera ) { + if( !`objExists $camera` ) return; + string $node = `zooGetShotsNode 1`; + if( !`objExists ( $node +".masterCamera" )`) addAttr -ln masterCamera -at bool $node; + connectAttr -f ( $camera +".message" ) ( $node +".masterCamera" ); + } + + +//------ +//gets the name of the master camera +//------ +global proc string zooGetMasterShot() { + string $node = `zooGetShotsNode 0`; + string $camera = ""; + if( !`objExists ( $node +".masterCamera" )`) return ""; + $camera = zooGetElement_str(0,`listConnections -s 1 ( $node +".masterCamera" )`); + return $camera; + } + + +//------ +//figures out what the end frame of a given shot - because end frames aren't explicitly stored, the +//end frame count must be calculated from the next shot, or the end global flag +//------ +global proc int zooGetShotEndFrame( int $shot ) { + int $nextShot = `zooGetNextEnabledShot $shot`; + + if( $nextShot != -1 ) $end = (int)`zooGetShotInfo start $nextShot` - 1; + else $end = `zooGetGlobalShotInfo end`; + + return $end; + } + + +//------ +//figures out which slot comes after the one given +//------ +global proc int zooGetNextEnabledShot( int $shot ) { + int $shots[] = `zooListShots`; + int $numShots = `size $shots`; + for( $n=0; $n<$numShots; $n++ ) if( $shots[$n] > $shot ) if( `zooGetShotInfo disable $shots[$n]` == "0" ) return $shots[$n]; + return -1; + } + +global proc int zooGetNextEnabledShotSlow( int $shot ) { //this is the slow version of this proc... kept for the sake of god knows what + int $shots[] = `zooListEnabledShots`; + int $numShots = `size $shots`; + for( $n=0; $n<$numShots-1; $n++ ) if( $shots[$n] == $shot ) return $shots[++$n]; + return -1; + } + + +//------ +//figures out which slot comes after the one given +//------ +global proc int zooGetNextShot( int $shot ) { + int $shots[] = `zooListShots`; + int $numShots = `size $shots`; + int $next = -1; + for( $n=0; $n<$numShots-1; $n++ ) if( $shots[$n] == $shot ) { + $next = $shots[++$n]; + break; + } + return $next; + } + + +//------ +//given a shot number, this function figures out a slot number, which is basically how many shots +//come before this one - shot numbers and slot numbers are USUALLY the same, but not always +//ie shot number 4 is not always the fourth shot - this proc does the conversion +//------ +global proc int zooMapShotsToSlots( int $shot ) { + int $shots[] = `zooListShots`; + int $slot; + for( $n=0; $n<`size $shots`; $n++ ) if( $shots[$n] == $shot ) { $slot = $n; break; } + return $slot; + } + + +//------ +//used to change the information stored in a slot +//------ +global proc zooSetShotInfo( int $shot, string $cmdStr ) { + string $temp[] = {}; + string $function = ""; + string $newInfo = ""; + int $rebuild = 0; + + $temp = `zooGetFlagArguments $cmdStr set`; if( `size $temp` ) { $function = $temp[0]; $newInfo = zooArrayToStr_str(`zooIndexCrop_str $temp "1:"`," "); } + $temp = `zooGetFlagArguments $cmdStr rebuild`; if( `size $temp` ) $rebuild = $temp[0]; + if( $function == "" ) return; + + string $node = `zooGetShotsNode 1`; + string $start = `zooGetActualShotInfo start $shot`; + string $disable = `zooGetActualShotInfo disable $shot`; + string $colour = `zooGetActualShotInfo colour $shot`; + string $notes = `zooGetActualShotInfo notes $shot`; + string $info; + + switch( $function ) { + case "start": + $start = $newInfo; + $reConstrain = 1; + break; + + case "camera": + zooSetShotCamera $newInfo $shot; + zooShotsConstrainMaster; + return; + break; + + case "disable": + $disable = $newInfo; + $reConstrain = 1; + break; + + case "colour": + $colour = $newInfo; + if( $newInfo == "none" ) $colour = ""; + break; + + case "notes": + $notes = `substituteAllString $newInfo "-" ":"`; + break; + } + + $info = "."; + if( $start != "" ) $info += " -start "+ $start; + if( $disable != "" && $disable != "0" ) $info += " -disable "+ $disable; + if( $colour != "" ) $info += " -colour "+ $colour; + if( $notes != "" ) $info += " -notes "+ $notes; + + setAttr -type "string" ( $node+".shotInfo"+$shot ) $info; + + int $autoUpdate = 1; + if( `optionVar -ex zooShotsAutoUpdate` ) $autoUpdate = `optionVar -q zooShotsAutoUpdate`; + if( !$autoUpdate ) $reConstrain = 0; + if( $reConstrain ) zooShotsConstrainMaster; + } + + +//------ +//returns flag information stored with a slot - if the flag isn't specified in +//the slot info attribute then this proc returns the default value for that flag +//------ +global proc string zooGetShotInfo( string $infoToGet, int $shot ) { + string $info = ""; + string $default = `zooGetDefaultShotInfo $infoToGet`; + + $info = `zooGetActualShotInfo $infoToGet $shot`; + + if( $info != "" ) return $info; + if( $info == "!" ) return ""; + else return $default; + } + + +//------ +//this proc returns the actual data stored with a flag contained in a slot - if +//the flag isn't specified for the slot then this proc returns an empty string, +//not the default value for the flag +//------ +global proc string zooGetActualShotInfo( string $infoToGet, int $shot ) { + string $node = `zooGetShotsNode 0`; + if( !`objExists ( $node +".shotInfo"+ $shot )` ) return "!"; + + string $info = `getAttr ( $node +".shotInfo"+ $shot )`; + string $flagInfo[] = `zooGetFlagArguments $info $infoToGet`; + string $info = `zooArrayToStr_str $flagInfo " "`; + + if( $infoToGet == "camera" ) $info = `zooGetShotCamera $shot`; + if( $infoToGet == "end" ) $info = `zooGetShotEndFrame $shot`; + + return $info; + } + + +//------ +//returns the default value for a flag +//------ +global proc string zooGetDefaultShotInfo( string $flag ) { + string $default = ""; + if( $flag == "camera" ) $default = ""; + if( $flag == "start" ) $default = `playbackOptions -q -ast`; + if( $flag == "end" ) $default = `zooGetGlobalShotInfo end`; + if( $flag == "disable" ) $default = 0; + if( $flag == "colour" ) $default = ""; + if( $flag == "notes" ) $default = ""; + + return $default; + } + + +//------ +//used to change the information stored in a slot +//------ +global proc zooSetGlobalShotInfo( string $function, string $newInfo ) { + string $node = `zooGetShotsNode 1`; + int $end = `zooGetGlobalShotInfo end`; + string $notes = `zooGetGlobalShotInfo notes`; + string $info; + + switch( $function ) { + case "master": + zooSetMasterShot $newInfo; + break; + + case "end": + $end = $newInfo; + break; + + case "notes": + $notes = `substituteAllString $newInfo "-" "_"`; + break; + } + + $info = "."; + if( $end != "" ) $info += " -end "+ $end; + if( $notes != "" ) $info += " -notes "+ $notes; + + setAttr -type "string" ( $node+".globalInfo" ) $info; + } + + +//------ +//returns flag information stored with a slot - if the flag isn't specified in +//the slot info attribute then this proc returns the default value for that flag +//------ +global proc string zooGetGlobalShotInfo( string $infoToGet ) { + string $node = `zooGetShotsNode 0`; + string $info = ""; + string $default = `zooGetDefaultGlobalShotInfo $infoToGet`; + if( !`objExists $node` ) return $default; + + if( $infoToGet == "master" ) { $info = `zooGetMasterShot`; return $info; } + if( $infoToGet == "start" ) { + int $shots[] = `zooListShots`; + if( `size $shots` ) $info = `zooGetShotInfo start $shots[0]`; + else $info = `playbackOptions -q -min`; + return $info; + } + + string $infoStr = `getAttr ( $node +".globalInfo" )`; + string $flagInfo[] = `zooGetFlagArguments $infoStr $infoToGet`; + + $info = `zooArrayToStr_str $flagInfo " "`; + + if( $info != "" ) return $info; + else return $default; + } + + +//------ +//returns the default value for a flag +//------ +global proc string zooGetDefaultGlobalShotInfo( string $flag ) { + string $default = ""; + if( $flag == "master" ) $default = ""; + if( $flag == "end" ) $default = `playbackOptions -q -aet`; + if( $flag == "notes" ) $default = ""; + + return $default; + } + + +//------ +//deletes a given shot, and handles all necessary clean up +//------ +global proc zooDeleteShot( string $shot ) { + string $node = `zooGetShotsNode 0`; + if( !`objExists $node` ) return; + deleteAttr ( $node +".shotCamera"+ $shot ); + deleteAttr ( $node +".shotInfo"+ $shot ); + } + + +//------ +//deals with everything needed to create a new shot - if the camera doesn't exist, -1 is returned +//------ +global proc int zooAddShot( string $camera ) { + string $node = `zooGetShotsNode 1`; + int $shot = `zooGetNextShotNumber`; + + if( !`objExists $camera` ) return -1; + addAttr -ln ( "shotCamera"+ $shot ) -at bool $node; + addAttr -ln ( "shotInfo"+ $shot ) -dt "string" $node; + connectAttr -f ( $camera +".message" ) ( $node +".shotCamera"+ $shot ); + return $shot; + } + + +//------ +//returns the next available shot number +//------ +global proc int zooGetNextShotNumber() { + int $shots[] = `zooListShots`; + int $next = 0; + + if( `size $shots` ) $next = $shots[( `size $shots`-1 )]+1; + + return $next; + } + + +//------ +//returns an ordered list of enabled shots ie ie have their -disable flag set to zero +//------ +global proc int[] zooListEnabledShots() { + int $shots[] = `zooListShots`; + int $enabledShots[] = {}; + + for( $a in $shots ) if( !((int)`zooGetShotInfo disable $a`)) $enabledShots[( `size $enabledShots` )] = $a; + return $enabledShots; + } + + +//------ +//returns an ordered list of all shots in the scene +//------ +global proc int[] zooListShots() { + string $node = `zooGetShotsNode 0`; + if( !`objExists $node` ) return {}; + string $attrs[] = `listAttr -u -ud $node`; + string $attrName = "shotCamera"; + int $shots[] = {}; + + for( $attr in $attrs ) if( `match ( $attrName +"[0-9]+" ) $attr` != "" ) $shots[( `size $shots` )] = (int)`match "[0-9]+" $attr`; + $shots = `sort $shots`; + return $shots; + } + + +//------ +//creates a scriptNode that auto loads the shots UI on scene load - great for auto-loading the docked shots UI +//------ +global proc int zooShotsAutoLoader( string $optionStr ) { + string $scripts[] = `ls -type script`; + string $temp[] = {}; + int $query = 0; + int $install = 1; + + $temp = `zooGetFlagArguments $optionStr q`; if( `size $temp` ) $query = $temp[0]; + $temp = `zooGetFlagArguments $optionStr install`; if( `size $temp` ) $install = $temp[0]; + + if( $query ) { for( $a in $scripts ) if( `objExists ( $a +".zooShots" )` ) return 1; } + else if( $install ) { + for( $a in $scripts ) if( `objExists ( $a +".zooShots" )` ) delete $a; //remove all auto load scripts + string $shotsLoader = `scriptNode -bs "zooShots" -st 1`; + addAttr -ln zooShots -at bool $shotsLoader; + return 1; + } + else { for( $a in $scripts ) if( `objExists ( $a +".zooShots" )` ) delete $a; } + + return 0; + } + + +//------ +//makes the given node the current one. the current node has its zooShots attribute flagged true +//------ +global proc string zooMakeShotNodeCurrent( string $node ) { + string $nodes[] = `zooListAllShotNodes`; + if( !`objExists $node` ) return ""; + for( $a in $nodes ) { + if( $a == $node ) setAttr ( $a +".zooShots" ) 1; + else setAttr ( $a +".zooShots" ) 0; + } + + return $node; + } + + +//------ +//returns the current shots management node. If the $force variable is true, a node is created if one +//doesn't already exist - the old behaviour, this proc always created a node if one didn't already exist +//------ +global proc string zooGetShotsNode( int $force ) { + string $selObjs[] = `ls -sl`; + string $nodes[] = `zooListAllShotNodes`; + string $node = $nodes[0]; + + for( $n in $nodes ) if( `getAttr ( $n +".zooShots" )` ) $node = $n; + if( !`objExists $node` && $force ) $node = `zooCreateNewShotsNode`; + + select $selObjs; + return $node; + } + + +global proc string zooCreateNewShotsNode() { + string $node = `createNode time`; + $node = `rename $node "shotsNode"`; + addAttr -ln zooShots -at bool $node; + addAttr -ln globalInfo -dt "string" $node; + addAttr -ln version -dt "string" $node; + setAttr -type "string" ( $node +".version" ) `zooShotsInfo version`; + setAttr -l 1 ( $node +".version" ); + setAttr ( $node +".zooShots" ) 1; + + return $node; + } + + +//------ +//returns the name of all shots nodes found in the scene +//------ +global proc string[] zooListAllShotNodes() { + string $timeNodes[] = `ls -type time`; + string $nodes[] = {}; + + for( $a in $timeNodes ) if( `objExists ( $a +".zooShots" )` ) if( !`reference -inr $a` ) $nodes[( `size $nodes` )] = $a; + + return $nodes; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSketchy.mel b/2009-x64/zooScripts/scripts/zooSketchy.mel new file mode 100644 index 0000000..94ddf08 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSketchy.mel @@ -0,0 +1,97 @@ +zooSketchyUtils; + + +global proc zooSketchy() { + string $windowName = "zooSketchyWindow"; + string $windowTitle = "zooSketchy v1.07.01 ::macaroniKazoo::"; + string $board = `zooGetBoardBase 0`; + int $unload = `optionVar -ex zooSketchyUnload`? `optionVar -q zooSketchyUnload`: 1; + int $hideState = `objExists $board`? !`getAttr ( $board +".v" )`: 0; + + if( `zooTipState zooSketchy -1` ) zooTipsWin zooSketchy 0; + if ( `window -ex $windowName` ) deleteUI $windowName; + window -t $windowTitle -rtf 0 -sizeable 1 -width 300 -height 250 $windowName; + scriptJob -p $windowName -uid $windowName "zooSketchyWindowFunctions -windowClose"; + menuBarLayout; + menu -l "Prefs"; + menuItem -l "unload on window close" -cb $unload -c( "optionVar -iv zooSketchyUnload #1" ); + menu -l "Help"; + menuItem -l "Donate Now" -c( "showHelp -a \"http://www.macaronikazoo.com/donate.html\";" ); + menuItem -l "Help..." -c ( "zooHelp zooSketchy 1" ); + + string $form = `formLayout`; + string $load = `button -l "" -c( "zooSketchyWindowFunctions -toggleLoad" ) zooGreaseStateButton`; + string $loadState = `textField -ed 0 -tx "" zooGreaseStateInfo`; + string $hide = `checkBox -l "hide" -v $hideState -cc( "zooSketchyWindowFunctions -toggleHide" ) zooGreaseStateHide`; + string $camBut = `button -l "use selected cam ->" -c( "zooSketchyWindowFunctions -setCamera" )`; + string $cam = `nameField -o( zooQueryMonkeySee()) zooSketchyUICamera`; + string $listScroll = `textScrollList -ams 1 zooSketchyObjList`; + string $add = `button -l "add objects" -c( "" )`; + string $rem = `button -l "remove objects" -c( "" )`; + string $clr = `button -l "clear objects" -c( "" )`; + + string $aply = `button -l "apply curve" -c( "" )`; + string $clrC = `button -l "clear curve" -c( "" )`; + string $image = `image -w 270 -h 8 -bgc ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent ..; + + popupMenu -p $camBut -b 3 -pmc( "zooGreaseListCams zooGreaseCamListA" ) zooGreaseCamListA; + popupMenu -p $cam -b 3 -pmc( "zooGreaseListCams zooGreaseCamListB" ) zooGreaseCamListB; + formLayout -e + -af $load "top" 0 + -af $load "left" 0 + + -af $loadState "top" 0 + -ac $loadState "left" 0 $load + -ac $loadState "right" 5 $hide + + -af $hide "top" 3 + -af $hide "right" 0 + + -ac $camBut "top" 0 $load + -af $camBut "left" 0 + + -ac $cam "top" 0 $loadState + -ac $cam "left" 0 $camBut + -af $cam "right" 0 + + -ac $listScroll "top" 0 $cam + -af $listScroll "left" 0 + -af $listScroll "right" 0 + -ac $listScroll "bottom" 0 $add + + -af $add "left" 0 + -af $add "right" 0 + -ac $add "bottom" 0 $image + + -af $image "left" 0 + -af $image "right" 0 + -af $image "bottom" 0 + $form; + + evalDeferred "zooSketchyWindowFunctions -windowOpen"; + zooSketchyWindowFunctions -updateObjs; + showWindow $windowName; + } + + +global proc zooSketchyWindowFunctions( string $function ) { + switch( $function ) { + case "-updateObjs": + break; + + case "-windowOpen": + if( !`zooSketchyState` ) zooLoadSketchy; + break; + + case "-windowClose": + int $unload = `optionVar -ex zooSketchyUnload`? `optionVar -q zooSketchyUnload`: 1; + if( $unload ) zooUnloadSketchy; + break; + } + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSketchyDependencies.mel b/2009-x64/zooScripts/scripts/zooSketchyDependencies.mel new file mode 100644 index 0000000..c1f22ab --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSketchyDependencies.mel @@ -0,0 +1,20 @@ +global proc string[] zooSketchyDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $melDependencies[( `size $melDependencies` )] = "zooGetLookat"; + $melDependencies[( `size $melDependencies` )] = "zooSetLookat"; + $melDependencies[( `size $melDependencies` )] = "zooRegister"; + $melDependencies[( `size $melDependencies` )] = "zooTriggeredUtils"; + $melDependencies[( `size $melDependencies` )] = "zooVectors"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooSketchyUtils.mel b/2009-x64/zooScripts/scripts/zooSketchyUtils.mel new file mode 100644 index 0000000..ff8a54c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSketchyUtils.mel @@ -0,0 +1,149 @@ +zooArrays_str; +zooFlags; +zooRegister; +zooTriggeredUtils; +zooVectors; + + +global proc zooSketchyUtils() { + return; + } + + +global proc string[] zooGetSketchyObjs() { + string $objs[] = {}; + string $board = `zooBuildSkethcyBoard "" 1`; + int $slots[] = `zooGetUsedTriggerSlots $board`; + + for( $slot in $slots ) $objs[`size $objs`] = `zooGetConnectObject $board $slot`; + + return $objs; + } + + +global proc zooSetSketchyObjs( string $objs[] ) { + string $board = `zooBuildSkethcyBoard "" 1`; + int $slots[] = `zooGetAllTriggerSlots $board`; + for( $slot in $slots ) zooRemoveTriggerSlots $board $slot; + for( $obj in $objs ) if( `objExists $obj` ) zooAddConnect $board $obj; + } + + +global proc zooDistributeAlongSketch( string $objs[] ) { + string $curve = `zooGetSketchyCurve`; + string $lookat = `zooGetLookat 1`; + string $grp = `group -em`; + string $grps[] = {}; + string $pathInfo = `pathAnimation -fractionMode 1 -follow 1 $curve $grp`; + int $num = `size $objs`; + float $max = `currentUnit -q -linear`=="m"? 0.01: 1.0; + float $inc = $max/($num-1); + float $count = 0; + + zooSetSketchBase ""; + delete `listConnections ( $pathInfo +".uValue" )`; + for( $n=0; $n<$num; $n++ ) { + setAttr ( $pathInfo +".uValue" ) $count; + zooAlign ( "-src "+ $grp +" -tgt "+ $objs[$n] ); + $grps[$n] = `group -em`; + zooAlignSimple $grp $grps[$n]; + if( $n ) parent $grps[$n] $grps[$n-1]; + $count += $inc; + } + + float $moveTo[] = `zooBetweenVector $objs[0] $grps[0]`; + move -r (-1*$moveTo[0]) (-1*$moveTo[1]) (-1*$moveTo[2]) $grps[0]; + //delete $grp; + //now deal with aims + for( $n=0; $n<$num-1; $n++ ) { + float $aim[] = `zooAxisInDirection $objs[$n] (zooBetweenVector($grps[$n],$grps[$n+1]))`; + float $up[] = `zooAxisInDirection $objs[$n] (zooBetweenVector($grps[$n],$lookat))`; + + eval("aimConstraint -aim "+ $aim[0] +" "+ $aim[1] +" "+ $aim[2] +" -u "+ $up[0] +" "+ $up[1] +" "+ $up[2] +" -wut object -wuo "+ $lookat +" "+ $grps[$n+1] +" "+ $grps[$n]); + } + + delete `listRelatives -pa -p $curve`; + zooSetSketchBase $objs[0]; + } + + +global proc string zooGetSketchyCurve() { + string $sketchy[] = {}; + string $reg = `zooGetRegister zoo 1`; + + zooListRegistered $reg sketchy {} $sketchy; + if( !`objExists $sketchy[0]` ) return ""; + + string $board = $sketchy[0]; + string $boardShape[] = `listRelatives -pa -s $board`; + string $curveTransform[] = `listRelatives -pa $boardShape`; + string $curveShape[] = `listRelatives -pa $curveTransform`; + + return $curveShape[0]; + } + + +global proc string zooBuildSkethcyBoard( string $base, int $force ) { + string $sketchy[] = {}; + string $lookat = `zooGetLookat 1`; + string $reg = `zooGetRegister zoo 1`; + + zooListRegistered $reg sketchy {} $sketchy; + if( !`objExists $sketchy[0]` && !$force ) return ""; + if( `objExists $sketchy[0]` ) return $sketchy[0]; + + string $grp = `group -em`; + string $len = `group -em`; + string $board = zooGetElement_str(0,`nurbsPlane -p 0 0 0 -ax 0 0 1 -w 2 -lr 0.8 -d 3 -u 1 -v 1 -ch 0`); + + parent $board $len $grp; + $grp = `rename $grp "sketchy_group#"`; + $len = `rename $len "sketchy_distance_to_camera#"`; + $board = `rename $board "sketchy_board#"`; + + aimConstraint -aim 0 0 1 -u 0 1 0 -wut objectRotation -wuo $lookat $lookat $grp; + pointConstraint -sk x -sk y $lookat $len; + connectAttr -f ( $len +".tz" ) ( $board +".sx" ); + connectAttr -f ( $len +".tz" ) ( $board +".sy" ); + setAttr ( $board +".doubleSided" ) 0; + setAttr ( $board +".visibleInRefractions" ) 0; + setAttr ( $board +".visibleInReflections" ) 0; + setAttr ( $board +".smoothShading" ) 0; + setAttr ( $board +".primaryVisibility" ) 0; + setAttr ( $board +".motionBlur" ) 0; + setAttr ( $board +".receiveShadows" ) 0; + setAttr ( $board +".castsShadows" ) 0; + setAttr ( $board +".overrideEnabled" ) 1; + setAttr ( $board +".overrideShading" ) 0; + + //we register the board because the group doesn't directly hold any interesting + //data, and it easily queried using a listRelatives on the board + zooRegisterObj $reg sketchy $board 1 1; + zooSetSketchBase $base; + + makeLive $board; + PencilCurveTool; + + return $board; + } + + +global proc zooSetSketchBase( string $base ) { + string $sketchy[] = {}; + string $reg = `zooGetRegister zoo 1`; + string $grp = ""; + + zooListRegistered $reg sketchy {} $sketchy; + if( !`objExists $sketchy[0]` ) return; + $grp = zooGetElement_str(0,`listRelatives -pa -p $sketchy[0]`); + if( !`objExists $base` ) { + delete `pointConstraint -mo persp $grp`; + return; + } + delete `pointConstraint -mo persp $grp`; + pointConstraint $base $grp; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooSortToHeirarchy.mel b/2009-x64/zooScripts/scripts/zooSortToHeirarchy.mel new file mode 100644 index 0000000..ec3a8f1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSortToHeirarchy.mel @@ -0,0 +1,85 @@ +// +// Sort To Heirarchy +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 17 August 2003 +// +// Description: +// given a list of objects, will return an array ordered by heirarchy, from +// highest to lowest. +// +// Hamish McKenzie ©2007... + + +zooArrays_int; +zooArrays_str; + + +//returns a list of objects sorted by heirarchy, highest to lowest +global proc string[] zooSortToHeirarchy( string $objectList[] ) { + int $numParents[] = {}; + for( $n=0; $n<`size $objectList`; $n++ ) { + string $parents[] = `zooGetAllParents $objectList[$n]`; + $numParents[$n] = `size $parents`; + } + + string $sortedObjs[] = {}; + int $sortedParents[] = `sort $numParents`; + $sortedParents = `zooRemoveDupeItems_int $sortedParents`; + for( $n=0; $n<`size $sortedParents`; $n++ ) for( $i=0; $i<`size $objectList`; $i++ ) { + if( $sortedParents[$n] == $numParents[$i] ) $sortedObjs[( `size $sortedObjs` )] = $objectList[$i]; + } + + return $sortedObjs; + } + + +//lists root level objects. ie objects that have no parents in the objectList +global proc string[] zooSortToListRoots( string $objectList[] ) { + string $roots[] = {}; + for( $obj in $objectList ) { + string $objParents[] = `zooGetAllParents $obj`; + int $isRootLevel = 1; + for( $parent in $objParents ){ + for( $isInList in $objectList ){ + if( `match "[^|]+$" $parent` == `match "[^|]+$" $isInList` ) $isRootLevel = 0; + } + } + if( $isRootLevel ) $roots[( `size $roots` )] = $obj; + } + return $roots; + } + + +//returns a list of the heirarchy above an object - ie all an object's parents +global proc string[] zooGetAllParents( string $obj ) { + string $parents[] = {}; + string $last = $obj; + int $n = 0; + + if( !`objExists $obj` ) return {}; + while( true ) { + if( $n >100 ) break; //just in case + $last = zooGetElement_str(0,`listRelatives -p -pa $last`); + if( $last == "" ) break; + $parents[$n] = $last; + $n++; + } + + return $parents; + } + + +//------ +//returns an int array containing how many parents each object in the given object array has +//this is useful for determining which objects in a character rig are at the same level +//------ +global proc int[] zooGetHeirarchyLevels( string $objs[] ) { + int $numParents[] = {}; + for( $n=0; $n<`size $objs`; $n++ ) $numParents[$n] = size(`zooGetAllParents $objs[$n]`); + return $numParents; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooSpaceSwitching.mel b/2009-x64/zooScripts/scripts/zooSpaceSwitching.mel new file mode 100644 index 0000000..d29b2e9 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSpaceSwitching.mel @@ -0,0 +1,284 @@ +zooArrays_str; +zooAttrUtils; +zooFlags; +zooObjMenuUtils; +zooTriggeredUtils; +zooStrUtils; +zooUtils; + + +global proc zooSpaceSwitching() { + return; + } + + +global proc string[] zooBuildSpaceSwitch( string $src, string $space, string $tgts[], string $names[], string $optionStr ) { + string $conditions[] = {}; + string $flags[] = `zooListFlags $optionStr`; + + for( $n=0; $n<`size $tgts`; $n++ ) $conditions[$n] = `zooAddSpaceSwitch $src $space $tgts[$n] $names[$n] $optionStr`; + return $conditions; + } + + +global proc string zooAddSpaceSwitch( string $src, string $space, string $tgt, string $name, string $optionStr ) { + string $temp[] = {}; + string $mo = "-mo"; + string $skipTranslates[] = {}; + string $skipRotates[] = {}; + string $parentAttrNode = $src; + + $temp = `zooGetFlagArguments $optionStr mo`; if( $temp[0] != "" ) if( $temp[0] == "0" ) $mo = ""; + $temp = `zooGetFlagArguments $optionStr st`; if( `size $temp` ) $skipTranslates = $temp; + $temp = `zooGetFlagArguments $optionStr sr`; if( `size $temp` ) $skipRotates = $temp; + $temp = `zooGetFlagArguments $optionStr parentAttrNode`; if( $temp[0] != "" ) if( `objExists $temp[0]` ) $parentAttrNode = $temp[0]; + + //verify that all space objects exist - if not this proc will automatically exclude them from the space switch + string $clnSrcName = `match "[^|:]+$" $src`; + + if( !`objExists $src` ) return ""; + if( !`objExists $tgt` ) return ""; + if( !`objExists $space` ) return ""; + if( $name == "" ) $name = $tgt; + zooAttrState "-attrs t r -k 1 -l 0" $space; + + //get the names for the parents from the parent enum attribute + if( `objExists ( $parentAttrNode +".parent" )`) { + string $attrStr = ""; + string $names[] = {}; + + zooGetSpaceTargetsNames $src {} $names; + $attrStr = `zooArrayToStr_str $names ":"`; + $attrStr += ":"+ $name +":"; + addAttr -e -enumName $attrStr ( $parentAttrNode +".parent" ); + } + else addAttr -k 1 -ln parent -at "enum" -en $name $parentAttrNode; + + //now build the constraint + string $constraint = ""; + string $cmdOptionStr = $mo; + + for( $axis in $skipTranslates ) $cmdOptionStr += " -st "+ $axis; + for( $axis in $skipRotates ) $cmdOptionStr += " -sr "+ $axis; + print ( "parentConstraint "+ $cmdOptionStr +" "+ $tgt +" "+ $space +";\n" ); + $constraint = zooGetElement_str(0,eval( "parentConstraint "+ $cmdOptionStr +" "+ $tgt +" "+ $space )); + + string $constraintAttrs[] = `listAttr -ud $constraint`; + int $lastTarget = `size $constraintAttrs`-1; + string $constraintAttr = $constraint +"."+ $constraintAttrs[$lastTarget]; + string $condition = `shadingNode -asUtility condition -n( "switch_"+ $clnSrcName +"_to_space_"+ $lastTarget )`; + + setAttr ( $condition +".secondTerm" ) $lastTarget; + setAttr ( $condition +".colorIfTrue" ) 1 1 1; + setAttr ( $condition +".colorIfFalse" ) 0 0 0; + connectAttr ( $parentAttrNode +".parent" ) ( $condition +".firstTerm" ); + connectAttr ( $condition +".outColorR" ) $constraintAttr; + + //find out what symbol to use to find the parent attribute + string $parentAttrOnStr = "#"; + if( $parentAttrNode != $src ) $parentAttrOnStr = "%"+ `zooAddConnect $src $parentAttrNode `; + + //------ + //add the zooObjMenu commands to the object for easy space switching + //------ + int $cmdNum = `zooObjMenuAddCmd $src`; + string $cmdName = "parent to "+ $name; + string $cmdStr = "zooFlags;\nzooUtils;\nzooChangeSpace \"-attr parent "+ $lastTarget +"\" "+ $parentAttrOnStr +";"; + zooSetObjMenuCmdName $src $cmdName $cmdNum; + zooSetObjMenuCmdStr $src $cmdStr $cmdNum; + + zooAttrState "-attrs t r -l 1" $space; + return $condition; + } + + +//------ +//removes a target (or space) from a "space switching" object +//------ +global proc zooRemoveSpace( string $src, string $tgt ) { + string $tgts[] = {}; + string $names[] = {}; + string $name = ""; + int $delete = 0; + + zooGetSpaceTargetsNames $src $tgts $names; + for( $n=0; $n<`size $tgts`; $n++ ) if( $tgts[$n] == $tgt ) $name = $names[$n]; + if( $name == "" ) return; + if( `size $tgts` == 1 ) $delete = 1; + + string $constraint = `zooFindConstraint $src`; + string $parentAttrOn = `zooFindSpaceAttrNode $src`; + string $space = `zooFindSpace $src`; + int $cmds[] = `zooObjMenuListCmds $src`; + + if( $delete ) { + delete $constraint; + deleteAttr ( $src +".parent" ); + } + else parentConstraint -rm $tgt $constraint; + for( $n=0; $n<`size $cmds`; $n++ ) { + string $cmdName = `zooGetObjMenuCmdName $src $cmds[$n]`; + if( $cmdName == ( "parent to "+ $name )) zooRemoveMenu $src $cmds[$n]; + } + + //rebuild the parent attribute + int $idx = `zooGetIdxOfElement_str $tgts $tgt`; + clear $names; + zooGetSpaceTargetsNames $src {} $names; + if( `size $names` ) addAttr -e -enumName `zooArrayToStr_str $names ":"` ( $parentAttrOn +".parent" ); + + //now we need to update the indicies in the right click command + for( $n=$idx; $n<`size $cmds`; $n++ ) { + string $cmdName = `zooGetObjMenuCmdName $src $cmds[$n]`; + if( `match "parent to " $cmdName` != "parent to " ) continue; + + string $cmdStr = `zooGetObjMenuCmdStr $src $cmds[$n]`; + string $cmdLines[] = {}; + string $lineToks[] = {}; + + tokenize $cmdStr ";\n" $cmdLines; + tokenize $cmdLines[2] " " $lineToks; + int $parentIdx = `match "^[0-9]+" $lineToks[3]`; + $parentIdx--; + $lineToks[3] = `substitute "^[0-9]+" $lineToks[3] ((string)$parentIdx)`; + $cmdLines[2] = `zooArrayToStr $lineToks " "`; + string $newCmd = `zooArrayToStr $cmdLines ";\n"` +";"; + zooSetObjMenuCmdStr $src $newCmd $cmds[$n]; + } + + if( !`size $names` ) zooAttrState "-attrs t r -k 1 -l 0" $space; + } + + +global proc zooRenameSpace( string $obj, string $oldName, string $newName ) { + string $names[] = {}; + string $parentAttrOn = `zooFindSpaceAttrNode $obj`; + int $cmds[] = `zooObjMenuListCmds $obj`; + + for( $cmd in $cmds ) { + string $cmdName = `zooGetObjMenuCmdName $obj $cmd`; + if( $cmdName == ( "parent to "+ $oldName )) { + zooSetObjMenuCmdName $obj ( "parent to "+ $newName ) $cmd; + break; + } + } + + zooGetSpaceTargetsNames $obj {} $names; + addAttr -e -enumName `zooArrayToStr $names ":"` ( $parentAttrOn +".parent" ); + } + + +//------ +//will return the user specified name given to a particular target object +//------ +global proc string zooGetSpaceName( string $src, string $tgt ) { + string $tgts[] = {}; + string $names[] = {}; + + zooGetSpaceTargetsNames $src $tgts $names; + for( $n=0; $n<`size $tgts`; $n++ ) if( $tgts[$n] == $tgt ) return $names[$n]; + + return ""; + } + + +//------ +//this procedure will return arrays containing a list of all targets, and a corresponding +//array holding their user specified names - for the right click menus. the list of targets +//and names get stored in the arrays $tgt and $names +//------ +global proc zooGetSpaceTargetsNames( string $src, string $tgts[], string $names[] ) { + string $constraint = `zooFindConstraint $src`; + string $space = `zooFindSpace $src`; + if( !`objExists $constraint` ) return; + if( !`objExists $space` ) return; + + clear $tgts; + clear $names; + string $targetsOnConstraint[] = `parentConstraint -q -tl $constraint`; + int $cmds[] = `zooObjMenuListCmds $src`; + int $tgtsNum = 0; + + for( $n=0; $n<`size $cmds`; $n++ ) { + string $cmdName = `zooGetObjMenuCmdName $src $cmds[$n]`; + string $cmdStr = `zooGetObjMenuCmdStr $src $cmds[$n]`; + string $cmdLines[] = {}; + string $temp[] = {}; + int $index = 0; //this is the index the parent attribute needs to be set to in order to activate the current target + + if( `match "^parent to " $cmdName` != "parent to " ) continue; + tokenize $cmdStr "\n" $cmdLines; + tokenize $cmdLines[2] " " $temp; + $names[$tgtsNum] = `substring $cmdName 11 (size($cmdName))`; //match "[^=]+$" $cmdLines[3]`; + $index = `match "^[0-9]+" $temp[3]`;//`match "[0-9]+" $cmdLines[2]`; + + $tgts[$tgtsNum] = $targetsOnConstraint[$index]; + $tgtsNum++; + } + } + + +//------ +//will return the node being used as the "space node" for any given space switching object +//------ +global proc string zooFindSpace( string $obj ) { + string $constraint = `zooFindConstraint $obj`; + if( !`objExists $constraint` ) return ""; + + string $space[] = `listConnections -type transform -s 0 ( $constraint +".ctx" )`; + if( !`objExists $space[0]` ) { + string $future[] = ls("-type","transform",`listHistory -f 1 ( $constraint +".ctx" )`); + clear $space; + $space[0] = $future[( `size $future`-1 )]; + } + + if( `objExists $space[0]` ) return $space[0]; + + return ""; + } + + +//------ +//will return the name of the constraint node thats controlling the "space node" for any given +//space switching object +//------ +global proc string zooFindConstraint( string $obj ) { + string $parentAttrOn = `zooFindSpaceAttrNode $obj`; + if( !`objExists $parentAttrOn` ) return ""; + + string $conditions[] = `listConnections -type condition -s 0 ( $parentAttrOn +".parent" )`; + string $constraint[] = `listConnections -type parentConstraint -s 0 ( $conditions[0] +".outColorR" )`; + + for( $n=0; $n<`size $conditions`; $n++ ) { + clear $constraint; + string $constraint[] = `listConnections -type parentConstraint -s 0 ( $conditions[$n] +".outColorR" )`; + if( `objExists $constraint[0]` ) return $constraint[0]; + } + + return ""; + } + + +global proc string zooFindSpaceAttrNode( string $obj ) { + string $parentAttrOn = ""; + int $cmds[] = `zooObjMenuListCmds $obj`; + + for( $n=0; $n<`size $cmds`; $n++ ) { + string $cmdName = `zooGetObjMenuCmdName $obj $cmds[$n]`; + string $cmdStr = zooPopulateCmdStr($obj,`zooGetObjMenuCmdStr $obj $cmds[$n]`); + string $cmdLines[] = {}; + + if( `match "^parent to " $cmdName` != "parent to " ) continue; + tokenize $cmdStr "\n" $cmdLines; + $parentAttrOn = `match "[^ ]+$" $cmdLines[3]`; + $parentAttrOn = `match "^[^;]+" $parentAttrOn`; + $parentAttrOn = `zooReplaceChars $parentAttrOn "\"" ""`; + if( `objExists $parentAttrOn` ) return $parentAttrOn; + } + + return ""; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooStickToCurve.mel b/2009-x64/zooScripts/scripts/zooStickToCurve.mel new file mode 100644 index 0000000..083314f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooStickToCurve.mel @@ -0,0 +1,53 @@ +global proc zooStickToCurve () { + string $selObjs[] = `ls -sl`; + zooStickToCurveAttach $selObjs[0] $selObjs[1]; + } + + +global proc string zooStickToCurveAttach ( string $obj, string $curve ) { + if ( `exists closestPointOnCurve` ) { + string $selObjs[] = `ls -sl`; + + select -r $curve; + string $closestNodeName = closestPointOnCurve(); + string $motionPath; + float $uValue; + float $curveSpans = `getAttr ( $curve + ".spans" )`; + int $n = 0; + + //connect the target object, and store its u parameter + connectAttr -f ( $obj + ".t" ) ( $closestNodeName + ".inPosition" ); + $uValue = `getAttr ( $closestNodeName + ".paramU" )`; + + //now we're done with the closest point on curve node, so delete it + delete $closestNodeName; + + //fraction mode must be false, otherwise it probably won't work... + $motionPath = `pathAnimation -c $curve -fractionMode 0 -follow 1 $obj`; + delete `listConnections -d 0 -t animCurve $motionPath`; + setAttr -clamp ( $motionPath + ".uValue" ) $uValue; + + //restore user selection + select $selObjs; + return $motionPath; + } + + else warning( "You don't have the closestPointOnCurve plugin installed/loaded" ); + } + + +global proc string[] zooStickToCurveDependencies( string $mode ) { + string $melDependencies[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end +//macaroniKazoo ©2007 \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooStrMatrix.mel b/2009-x64/zooScripts/scripts/zooStrMatrix.mel new file mode 100644 index 0000000..b324bc1 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooStrMatrix.mel @@ -0,0 +1,97 @@ +global proc zooStrMatrix() { + return; + } + + +global proc string[] zooNewMatrix( int $rows, int $cols ) { + string $mat[] = {}; + string $sep = ":|:"; + string $line = ""; + + for( $n=0; $n<$cols; $n++ ) $line += $sep; + for( $n=0; $n<$rows; $n++ ) $mat[$n] = $line; + + return $mat; + } + + +global proc string[] zooGetMatrixRow( string $mat[], int $row ) { + int $num = `size $mat`; + if( $row < 0 ) $row = $num + $row; + + string $rowStr = $mat[$row]; + string $rowData[] = `zooTokenize $rowStr ":|:"`; + + return $rowData; + } + + +global proc string[] zooGetMatrixCol( string $mat[], int $col ) { + string $colData[] = {}; + int $sizeData[] = `zooGetMatrixSize $mat`; + int $num = $sizeData[0]; + int $wid = $sizeData[1]; + + for( $n=0; $n<$num; $n++ ) { + string $rowData[] = `zooTokenize $mat[$n] ":|:"`; + int $len = `size $rowData`; + + if( $col < 0 ) $col = $len + $col; + $colData[( `size $colData` )] = $rowData[$col]; + } + + return $colData; + } + + +global proc string zooGetMatrixEntry( string $mat[], int $row, int $col ) { + int $num = `size $mat`; + if( $row < 0 ) $row = $num + $row; + + string $rowData[] = `zooGetMatrixRow $mat $row`; + $num = `size $rowData`; + if( $col < 0 ) $col = $num + $col; + + return $rowData[$col]; + } + + +global proc zooSetMatrixRow( string $mat[], string $rowStr, string $rowData[] ) { + int $num = `size $mat`; + int $row = $num; + + if( `match "^[-0-9]+" $rowStr` == $rowStr ) $row = $rowStr; + if( $row < 0 ) $row = $num + $row; + $mat[$row] = `zooArrayToStr_str $rowData ":|:"`; + } + + +global proc zooSetMatrixCol( string $mat[], string $colStr, string $colData[] ) { + int $sizeData[] = `zooGetMatrixSize $mat`; + int $num = $sizeData[1]; + int $col = $num; + + if( `match "^[-0-9]+" $colStr` == $colStr ) $col = $colStr; + if( $col < 0 ) $col = $num + $col; + for( $n=0; $n<$sizeData[0]; $n++ ) { + string $rowData[] = `zooGetMatrixRow $mat $n`; + $rowData[$col] = $colData[$n]; + $mat[$n] = `zooArrayToStr_str $rowData ":|:"`; + } + } + + +global proc zooSetMatrixEntry( string $mat[], int $row, int $col, string $value ) { + } + + +global proc int[] zooGetMatrixSize( string $mat[] ) { + int $rows = `size $mat`; + int $cols = size( `zooTokenize $mat[0] ":|:"` ); + + return { $rows, $cols, ($rows*$cols) }; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooStrUtils.mel b/2009-x64/zooScripts/scripts/zooStrUtils.mel new file mode 100644 index 0000000..686bfb3 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooStrUtils.mel @@ -0,0 +1,141 @@ +global proc zooStrUtils() { + return; + } + + +global proc string zooMatchCase( string $srcStr, string $tgtStr ) { + $tgtStr = `tolower $tgtStr`; + string $srcArray[] = `zooStrToArray $srcStr`; + string $tgtArray[] = `zooStrToArray $tgtStr`; + int $num = `size $srcArray`; + + if( `size $tgtArray` < $num ) $num = `size $tgtArray`; + for( $n=0; $n<$num; $n++ ) { + int $isUpper = `toupper $srcArray[$n]` == $srcArray[$n]? 1: 0; + if( $isUpper ) $tgtArray[$n] = `toupper $tgtArray[$n]`; + } + + $tgtStr = `zooArrayToStr_str $tgtArray ""`; + + return $tgtStr; + } + + +//removes each character listed in the charsToRemove variable +global proc string zooRemoveChars( string $str, string $charsToRemove ) { + string $validate = `zooReplaceChars $str $charsToRemove ""`; + return $validate; + } + + +//removes each character listed in the charsToRemove variable +global proc string zooReplaceChars( string $str, string $charsToRemove, string $replace ) { + string $validate = $str; + if( $charsToRemove == "" ) $charsToRemove = "`~!@#$%^&*()-+=[]\\{}|;':\"/?><., "; + int $num = `size $charsToRemove`; + for( $n=1; $n<=$num; $n++ ) $validate = `substituteAllString $validate (substring($charsToRemove,$n,$n)) $replace`; + return $validate; + } + + +/*given a string, and a character to remove from that string, this proc returns the string with the characters removed +------------ + +example: zooReplaceInString "10/02/04" "/" ""; +returns the string "100204" +example: zooReplaceInString "10Feb04" "[A-Za-z]+" "!"; +returns the string "10!04" +*/ +global proc string zooReplaceInString( string $string, string $searchStr, string $replaceStr ){ + string $messageString = $string; + string $temp = $messageString; + int $stillChanging = 1; + + while( $stillChanging ) { + $temp = `substitute $searchStr $messageString $replaceStr`; + if( $messageString == $temp ) $stillChanging = 0; + $messageString = $temp; + } + + return $messageString; + } + + +//newlines aren't super easy to replace with a simple search and replace proc +global proc string zooReplaceNewlines( string $str, string $toReplace ) { + string $buffer[] = {}; + string $newStr = ""; + + tokenize $str "\r\n" $buffer; + for( $l in $buffer ) $newStr += $l + $toReplace; + return $newStr; + } + + +global proc string zooGetNamespace( string $name ) { + string $temp[] = {}; + string $namespace = ""; + + tokenize $name ":" $temp; + for( $n=0; $n<`size $temp`-1; $n++ ) $namespace = $namespace + $temp[$n] +":"; + + return $namespace; + } + + +//------ +//wraps (ie adds a carriage return) a string at the given number of letters +//------ +global proc string zooWrapString( string $str, int $length ) { + string $lines[] = `zooTokenize $str "\n"`; + string $allWords[] = {}; + string $wrapped = ""; + int $longestWord = 5; + + tokenize $str " \n" $allWords; + for( $w in $allWords ) if( `size $w`>$length ) $length = `size $w`; //make sure the length is no shorter than the longest word + for( $i=0; $i<`size $lines`; $i++ ) { + string $words[] = `zooTokenize $lines[$i] " "`; + string $wrapped = $words[0]; + int $currentLength = `size $words[0]`; + + for( $n=1; $n<`size $words`; $n++ ) { + if( $currentLength + `size $words[$n]` <= $length ) { + $wrapped += " "+ $words[$n]; + $currentLength += `size $words[$n]` + 1; //add one for the added space + } + else { + $wrapped += "\n"+ $words[$n]; + $currentLength = `size $words[$n]`; + } + } + $lines[$i] = $wrapped; + } + + $wrapped = `zooArrayToStr_str $lines "\n"`; + return $wrapped; + } + + +//takes a full path name for an object, and returns an array containing the path, and then the object name +global proc string[] zooUtilsObjFromPath( string $objPath ) { + return `zooSplitPath $objPath "|"`; + } + + +global proc string[] zooSplitPath( string $path, string $separator ) { + if( $separator == "" ) $separator = "/"; + string $basePath = ""; + string $name = ""; + string $buffer[] = {}; + int $numToks = `tokenize $path $separator $buffer`; + + for( $n=0; $n<$numToks-1; $n++ ) $basePath = $basePath + $buffer[$n] + $separator; + $name = $buffer[( $numToks-1 )]; + + return { $basePath, $name }; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooStriderUtils.mel b/2009-x64/zooScripts/scripts/zooStriderUtils.mel new file mode 100644 index 0000000..b776fde --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooStriderUtils.mel @@ -0,0 +1,60 @@ +zooArrays_str; +zooFlags; +zooTangentWksUtils; +zooUtils; + + +global proc zooStriderUtils() { + return; + } + + +//strides are a little more complicated than static key discovery because strides +//in cyclic animation often fall at the end of a loop, or actually happen across +//cycle boundaries. so this must be accounted for +global proc zooGetStrides( string $obj, string $optionStr, float $strideStarts[], float $strideEnds[] ) { + string $temp[] = {}; + float $tolerance = 0.01; + int $start = `playbackOptions -q -min`; + int $end = `playbackOptions -q -max`; + + $temp = `zooGetFlagArguments $optionStr tol`; if( `size $temp` ) $tolerance = $temp[0]; + $temp = `zooGetFlagArguments $optionStr start`; if( `size $temp` ) $start = $temp[0]; + $temp = `zooGetFlagArguments $optionStr end`; if( `size $temp` ) $end = $temp[0]; + + clear $strideStarts; + clear $strideEnds; + float $st_tim[] = {}; + float $st_val[] = {}; + int $st_idx[] = {}; + + zooGetOuterStaticKeys $obj ty $start $end $tolerance $st_tim $st_val $st_idx; + + //figure out which of the outer static keys have the lowest values - these are our strides + int $allKeyIdxs[] = `keyframe -t( $start +":"+ $end ) -q -iv ( $obj +".ty" )`; + float $orderedVal[] = `sort $st_val`; + float $low = $orderedVal[0]; + + for( $n=0; $n<`size $st_val`; $n++ ) { + float $curVal = $st_val[$n]; + if( `zooEqTol $curVal $low $tolerance` ) { + //so this key is a stride - now figure out if the key is at the start or end of a stride + //if the key falls at the end of the range given, wrap back to the start + int $isStart = $st_tim[$n] == $start; + int $isEnd = $st_tim[$n] == $end; + int $nextKeyIdx = $isEnd? $allKeyIdxs[0]+1: $st_idx[$n]+1; + int $prevKeyIdx = $isStart? $allKeyIdxs[`size $allKeyIdxs`-1]-1: $st_idx[$n]-1; + float $nextKeyVal = zooGetElement_float(0,`keyframe -in $nextKeyIdx -q -vc ( $obj +".ty" )`); + float $prevKeyVal = zooGetElement_float(0,`keyframe -in $prevKeyIdx -q -vc ( $obj +".ty" )`); + + print( "working on key idx: "+ $curVal +","+ $st_idx[$n] +" prev val: "+ $prevKeyVal +","+ $prevKeyIdx +" next val: "+ $nextKeyVal +","+ $nextKeyIdx +"\n" ); + if( !`zooEqTol $prevKeyVal $curVal $tolerance` ) $strideStarts[`size $strideStarts`] = $st_tim[$n]; + else $strideEnds[`size $strideEnds`] = $st_tim[$n]; + } + } + + print "-----------STARTS-----------\n"; + print $strideStarts; + print "-----------ENDS-----------\n"; + print $strideEnds; + } diff --git a/2009-x64/zooScripts/scripts/zooSurgeon.mel b/2009-x64/zooScripts/scripts/zooSurgeon.mel new file mode 100644 index 0000000..2bb9f6c --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSurgeon.mel @@ -0,0 +1,89 @@ +// +// zooSurgeon +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 17 April 2005 +// +// Description: +// cuts up a skinned mesh into objects, and parents those objects to the affecting joint. It basically +// generates a low res proxy for a character automatically. It cuts up geometry based on the face's +// weighting to a joint. It goes through each face in your mesh, adds up the weight of all verts in +// that face to a joint, and assigns the face to the joint with the highest weighting. By going through +// each face, it builds up proxy objects to parent directly to the joints deforming the original mesh, +// thus generating a low-res +// +// Usage: +// to cut up your skinned meshes, select them: zooSurgeon; +// to delete a cut up mesh: zooSurgeonDelete; +// +// Hamish McKenzie ©2007... + + +zooArrays_str; +zooArrays_int; +zooArrays_float; +zooFlags; +zooSurgeonUtils; +zooUtils; + + +//------ +//this proc builds the window +//------ +global proc zooSurgeon() { + string $windowName = "zooSurgeonWindow"; + string $windowTitle = "zooSurgeon v"+ `zooSurgeonInfo version`; + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 0 -width 200 -height 30 $windowName; + string $form = `formLayout`; + string $button1 = `button -l "create proxies" -c( "zooSurgeonSplitMesh ( \"-buildType \"+ `radioCollection -q -sl zooSurgeonRadios` );" )`; + string $button2 = `button -l "select proxies" -c( "select `zooSurgeonListProxies`" )`; + string $radioColl = `radioCollection zooSurgeonRadios`; + string $radBut1 = `radioButton -sl -l "parent to joints" parent`; + string $radBut2 = `radioButton -l "constrain to joints" constrain`; + string $image = `image -width 100 -height 8 -backgroundColor ((float)1) ((float)0) ((float)0) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + + formLayout -e + -af $button1 "top" 2 + -af $button1 "left" 2 + -ap $button1 "right" 1 50 + -ac $button1 "bottom" 2 $radBut1 + + -af $button2 "top" 2 + -ap $button2 "left" 1 50 + -af $button2 "right" 2 + -ac $button2 "bottom" 2 $radBut1 + + -an $radBut1 "top" + -af $radBut1 "left" 2 + -ap $radBut1 "right" 1 50 + -ac $radBut1 "bottom" 2 $image + + -an $radBut2 "top" + -ap $radBut2 "left" 1 50 + -af $radBut2 "right" 2 + -ac $radBut2 "bottom" 2 $image + + -an $image "top" + -af $image "left" 2 + -af $image "right" 2 + -af $image "bottom" 2 + $form; + + showWindow $windowName; + } + + +global proc string zooSurgeonInfo( string $function ) { + string $lastRevision = "22 June 2005"; + string $currentVersion = "1.06.12"; + + if( $function == "modified" ) return $lastRevision; + if( $function == "version" ) return $currentVersion; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooSurgeonDependencies.mel b/2009-x64/zooScripts/scripts/zooSurgeonDependencies.mel new file mode 100644 index 0000000..7b9571f --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSurgeonDependencies.mel @@ -0,0 +1,28 @@ +global proc string[] zooSurgeonDependencies( string $mode ) { + string $melDependencies[] = {}; + string $includeFiles[] = {}; + string $helpDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_str"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_int"; + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooSurgeonUtils"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $melDependencies[( `size $melDependencies` )] = "zooFlags"; + $includeFiles[( `size $includeFiles` )] = "zooBrandTools"; + $includeFiles[( `size $includeFiles` )] = "zooCSTPrimitives"; + $iconDependencies[( `size $iconDependencies` )] = "zoo_sig.tga"; + $iconDependencies[( `size $iconDependencies` )] = "zooSurgeon.xpm"; + + if( $mode == "-deps" ) $return = $melDependencies; + if( $mode == "-docs" ) $return = $helpDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + if( $mode == "-scripts" ) { + $return = $melDependencies; + $return = `zooAddArray_str $return $includeFiles`; + $return = `stringArrayRemoveDuplicates $return`; + } + return $return; + } diff --git a/2009-x64/zooScripts/scripts/zooSurgeonUtils.mel b/2009-x64/zooScripts/scripts/zooSurgeonUtils.mel new file mode 100644 index 0000000..6cee230 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooSurgeonUtils.mel @@ -0,0 +1,326 @@ +// +// zooSurgeon +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 17 April 2005 +// +// Description: +// cuts up a skinned mesh into objects, and parents those objects to the affecting joint. It basically +// generates a low res proxy for a character automatically. It cuts up geometry based on the face's +// weighting to a joint. It goes through each face in your mesh, adds up the weight of all verts in +// that face to a joint, and assigns the face to the joint with the highest weighting. By going through +// each face, it builds up proxy objects to parent directly to the joints deforming the original mesh, +// thus generating a low-res +// +// Usage: +// to cut up your skinned meshes, select them: zooSurgeon; +// to delete a cut up mesh: zooSurgeonDelete; +// +// Hamish McKenzie ©2007... + + +zooArrays_str; +zooAttrUtils; +zooFlags; +zooShaders; +zooUtils; + + +global proc zooSurgeonUtils() { + return; + } + + +global proc string[] zooSurgeonSplitMesh( string $optionStr ) { + //parse optionStr flags + string $objs[] = `ls -sl`; + string $prefix = ""; + string $buildType = "parent"; + string $temp[] = {}; + string $colour = ""; + float $expand = 0; + int $asPrim = 0; + + $temp = `zooGetFlagArguments $optionStr objs`; if( `size $temp` ) $objs = $temp; + $temp = `zooGetFlagArguments $optionStr prefix`; if( `size $temp` ) $prefix = $temp[0]; + $temp = `zooGetFlagArguments $optionStr asPrim`; if( `size $temp` ) $asPrim = $temp[0]; + $temp = `zooGetFlagArguments $optionStr buildType`; if( `size $temp` ) $buildType = $temp[0]; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr expand`; if( `size $temp` ) $expand = $temp[0]; + + if( $asPrim ) if( !`exists zooCSTPrimitives` ) { + warning "You don't have zooCSTPrimitives installed - reverting to non primitive mode"; + $asPrim = 0; + } + + string $proxies[] = {}; + float $progress = 0; + float $increment = 1; + + progressWindow -title "Operation in Progress" -isInterruptable 1; + for( $obj in $objs ) { + if( !`objExists $obj` ) continue; + + //we don't want to disturb the original object when cutting up the mesh, so duplicate the original, and work on it + string $dupeOrg = zooGetElement_str(0,`duplicate -rc $obj`); + string $dupeShapes[] = `listRelatives -s $dupeOrg`; + delete -icn ( $dupeOrg +".drawOverride" ); //remove the transform from any layers + for( $s in $dupeShapes ) delete -icn ( $s +".drawOverride" ); //remove the shape from any layers + for( $s in $dupeShapes ) if( `getAttr ( $s +".io" )`) delete $s; //delete intermediate shapes + + string $proxyGrp = `group -em`; + string $shapes[] = `listRelatives -f -s $obj`; + string $shape = $shapes[0]; + + $proxyGrp = `rename $proxyGrp ( $obj +"_mesh_grp" )`; + for( $s in $shapes ) if( !`getAttr ( $s +".io" )`) $shape = $s; + if( !`objExists $shape` ) error "no shape node found under the transform node given"; + setAttr ( $proxyGrp +".ove" ) 1; + setAttr ( $proxyGrp +".ovdt" ) 2; + + string $skin = zooGetElement_str(0,`ls -type skinCluster (listHistory($shape))`); if( !`objExists $skin` ) error "no skin cluster found in the shape node's history"; + string $js[] = `skinCluster -q -inf $skin`; + string $localProxies[] = {}; + string $faceAssigns[] = {}; //stores the joint-face assignments + //NOTE: verts are stored in a comma separated list in this array. each array element corresponds + //the same element in the $js list + float $t = `timerX`; + int $numVerts = `getAttr -s ( $shape +".vrts" )`; + int $numFaces = `getAttr -s ( $shape +".face" )`; + int $numJs = `size $js`; + + progressWindow -e -t "Operation in Progress - Pass 1/2" -progress 0 -status( "Determining Cut Zones for "+ $obj ); + $progress = 0; + $increment = 100/((float)$numFaces); + for( $n=0; $n<$numFaces; $n++ ) { + //update progress window + $progress += $increment; + if( `progressWindow -q -ic` ) break; + progressWindow -e -progress ((int)$progress); + + string $faceVerts[] = `polyListComponentConversion -ff -tv ( $obj +".f["+ $n +"]" )`; + float $wts[] = {};clear $wts; //if this array is not cleared manually, it somehow retains information + + //flatten the vert list + $faceVerts = `ls -fl $faceVerts`; + + //iterate over all joints, and find the total weight value for the face, for each joint + for( $i=0; $i<$numJs; $i++ ) for( $v in $faceVerts ) { + $wts[$i] += `skinPercent -t $js[$i] -q $skin $v`; + } + + //find the joint index with the highest weight value, and add the face index to the joint-face assignment list + int $highest = `zooGetHighestValueIdx_float $wts`; + $faceAssigns[$highest] = $faceAssigns[$highest] +","+ $n; + } + + //now cut up the mesh + progressWindow -e -t "Operation in Progress - Pass 2/2" -progress 0 -status( "Building Proxies for "+ $obj ); + $progress = 0; + $increment = 100/((float)$numJs); + for( $i=0; $i<$numJs; $i++ ) { + //update progress window + $progress += $increment; + if( `progressWindow -q -ic` ) break; + progressWindow -e -progress ((int)$progress); + + if( $faceAssigns[$i] == "" ) continue; + string $dupeMesh = zooGetElement_str(0,`duplicate -rc $dupeOrg`); //we work with the dupeOrg because we know it has no superfluous shape nodes + string $faces[] = {}; + + tokenize $faceAssigns[$i] "," $faces; + if( $expand>0 ) polyMoveVertex -ch 0 -ltz $expand ( $dupeMesh +".vtx[*]" ); + if( $colour != "" ) zooSetObjShader $dupeMesh `zooGetShader $colour 1`; + select -r ( $dupeMesh +".f[*] " ); + for( $f in $faces ) select -d ( $dupeMesh +".f["+ $f +"]" ); + delete; + + //unlock all tranform attributes so the object doesn't jump when we parent it to the joint, and rename it + zooAttrState "-attrs t r s -k 1 -l 0" $dupeMesh; + string $newName = ( $js[$i] +"_meshVis" ); + string $rename_test[] = `ls $newName`; //this tests to see if there is more than one object with this name - if so, use the # symbol in the rename command to ensure name uniqeness + + if( `size $rename_test` ) $dupeMesh = `rename $dupeMesh ( $js[$i] +"_meshVis#" )`; + else $dupeMesh = `rename $dupeMesh ( $js[$i] +"_meshVis" )`; + $localProxies[(`size $localProxies`)] = $dupeMesh; + $proxies[(`size $proxies`)] = $dupeMesh; + + //finally, parent the mesh segment to the appropriate joint + if( $buildType == "parent" ) parent $dupeMesh $js[$i]; + else if( $buildType == "constrain" ) { + parent $dupeMesh $proxyGrp; + parentConstraint -mo $js[$i] $dupeMesh; + } + } + + if( $buildType != "constrain" ) delete $proxyGrp; + if( !$asPrim ) for( $proxy in $localProxies ) addAttr -ln zooSurgeon -at bool $proxy; + delete $dupeOrg; + print( "Time taken for "+ $obj +": "+ `timerX -st $t` +"\n" ); + } + + if( $asPrim ) { + //load the dependencies - these aren't loaded as global dependencies because they're onlny used in this part of the script + zooBrandTools; + zooCSTPrimitives; + string $primitive = `zooCSTCreatePrimRecord proxy $prefix $prefix`; + zooBrandObject options $optionStr $primitive; + for( $obj in $objs ) zooCSTRegisterInput $obj $primitive; + zooCSTPrimOutputs $proxies $primitive; + } + + progressWindow -ep; + return $proxies; + } + + +//this script determines what geometry a given joint or list of joints affects, and extracts that geometry +//to a separate object. its useful for creating character shaped controls for your rig. the script can be +//controlled via the following flags: +// +//-joints [obj] this is a list of joints - the verts that the joints affect get converted to faces, and extracted as the resulting mesh +//-expand [float] defaults to zero - setting to non-zero applies a surface offset, resulting in a mesh that is offset by some amount from the original skinned mesh +//-colour [str] the colour to apply to the resulting mesh - this is a zooShaders colour string, eg: red 0.5 +//-tol [float] any vert over this tolerance gets converted to a face when calculating the faces to extract - defaults to 0.4 +global proc string[] zooExtractJointMesh( string $optionStr ) { + string $temp[] = {}; + string $joints[] = `ls -type joint -sl`; + string $colour = ""; + string $objs[] = {}; + float $expand = 0; + float $tol = 0.4; + + $temp = `zooGetFlagArguments $optionStr joints`; if( `size $temp` ) for( $t in $temp ) if( `objExists $t` ) $joints[( `size $joints` )] = $t; + $temp = `zooGetFlagArguments $optionStr colour`; if( `size $temp` ) $colour = `zooArrayToStr_str $temp " "`; + $temp = `zooGetFlagArguments $optionStr expand`; if( `size $temp` ) $expand = $temp[0]; + $temp = `zooGetFlagArguments $optionStr tol`; if( `size $temp` ) $tol = $temp[0]; + + select -cl; + string $allMeshes[] = {}; + for( $joint in $joints ) { + string $meshes[] = {}; + string $vertsStr[] = {}; + int $verts[] = {}; + + zooGetJointVerts $joint $tol $meshes {} $vertsStr $verts {}; + select -add $vertsStr; + $allMeshes = `zooAddArray_str $allMeshes $meshes`; + } + + string $allVerts[] = `ls -sl -fl`; + string $obj = `group -em -n ( $joints[0] +"_cutup" )`; + string $tempObj = `group -em -n ( $joints[0] +"_temp" )`; + string $uniqueMeshes[] = {}; + string $meshes[] = {}; + int $verts[] = {}; + + zooGetIdxFromComponent $allVerts $meshes $verts; + $uniqueMeshes = `stringArrayRemoveDuplicates $meshes`; + int $numVerts = `size $verts`; + for( $mesh in $uniqueMeshes ) { + string $dupeMesh = zooGetElement_str(0,`duplicate -rc $mesh`); + string $dupeMeshVerts[] = {}; + string $faces[] = {}; + + for( $n=0; $n<$numVerts; $n++ ) if( $meshes[$n] == $mesh ) $dupeMeshVerts[( `size $dupeMeshVerts` )] = ( $dupeMesh +".vtx["+ $verts[$n] +"]" ); + $faces = `polyListComponentConversion -fv -tf $dupeMeshVerts`; + + if( $expand>0 ) polyMoveVertex -ch 0 -ltz $expand ( $dupeMesh +".vtx[*]" ); + select -r ( $dupeMesh +".f[*] " ); + for( $f in $faces ) select -d $f; + zooAttrState "-attrs t r s -k 1 -l 0" $dupeMesh; + delete; + + for( $s in `listRelatives -f -s $dupeMesh` ) parent -add -s $s $tempObj; + delete $dupeMesh; + } + + zooAlign ( "-pivot 1 -src "+ $joints[0] +" -tgt "+ $tempObj ); + zooAlign ( "-src "+ $joints[0] +" -tgt "+ $obj ); + parent $tempObj $obj; + makeIdentity -a 1 -t 1 -r 1 -s 1 $tempObj; + for( $s in `listRelatives -f -s $tempObj` ) parent -add -s $s $obj; + delete $tempObj; + if( $colour != "" ) zooSetObjShader $obj `zooGetShader $colour 1`; + $objs[( `size $objs` )] = $obj; + + return $objs; + } + + +global proc int[] zooGetIdxFromComponent( string $componentList[], string $meshes[], int $idxs[] ) { + clear $meshes; + clear $idxs; + + int $numComponents = `size $componentList`; + for( $n=0; $n<$numComponents; $n++ ) { + string $temp = `match "[^\[]+$" $componentList[$n]`; + $idxs[$n] = `match "^[0-9]+" $temp`; + $meshes[$n] = `match "^[^.]+" $componentList[$n]`; + } + + return $idxs; + } + + +global proc int[] zooGetJointVerts( string $joint, float $tol, string $meshes[], string $skinClusters[], string $verts[], int $vertIdxs[], float $weights[] ) { + clear $meshes; + clear $skinClusters; + clear $verts; + clear $vertIdxs; + clear $weights; + + string $skins[] = `listConnections -s 0 -type skinCluster $joint`; + string $newObjs[] = {}; + int $i = 0; + + $skins = `stringArrayRemoveDuplicates $skins`; + for( $skin in $skins ) { + string $skinMeshes[] = ls("-type","mesh",`listHistory -f 1 $skin`); + string $mesh = $skinMeshes[0]; + int $numVerts = size(`ls -fl ( $mesh +".vtx[*]" )`); + + for( $n=0; $n<$numVerts; $n++ ) { + float $weight = `skinPercent -t $joint -q $skin ( $mesh +".vtx["+ $n +"]" )`; + if( $weight<$tol ) continue; + $meshes[$i] = $mesh; + $skinClusters[$i] = $skin; + $verts[$i] = $mesh +".vtx["+ $n +"]"; + $vertIdxs[$i] = $n; + $weights[$i] = $weight; + $i++; + } + } + + return $vertIdxs; + } + + +global proc zooSurgeonDelete() { + string $proxies[] = `zooSurgeonListProxies`; + if( `size $proxies` ) delete $proxies; + } + + +global proc string[] zooSurgeonListProxies() { + string $objs[] = `ls -type transform`; + string $proxies[] = {}; + + for( $o in $objs ) if( `objExists ( $o +".zooSurgeon" )` ) $proxies[( `size $proxies` )] = $o; + return $proxies; + } + + +global proc string[] zooCSTRebuildPrimProxy( string $primitive ) { + string $prefix = `zooQueryBrand $primitive char`; + string $optionStr = `zooQueryBrand $primitive options`; + string $inputs[] = `zooCSTListRegistered input $primitive`; + string $inputStr = `zooArrayToStr $inputs " "`; + + zooCSTDeletePrimitive $primitive; + return `zooSurgeonSplitMesh ( "-objs "+ $inputStr +" -prefix "+ $prefix + " -asPrim 1" )`; + } + + +//zoo.end +//macaroniKazoo ©2007 diff --git a/2009-x64/zooScripts/scripts/zooTangentWks.mel b/2009-x64/zooScripts/scripts/zooTangentWks.mel new file mode 100644 index 0000000..920c7bb --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooTangentWks.mel @@ -0,0 +1,248 @@ +// +// Tangent Works +// +// Created by Hamish McKenzie zootoolbox@googlegroups.com +// Created : 14 October 2001 +// +// Description: +// creates a marking menu containing a bunch of keyframe +// relevant operations. The keys that are affected, is context +// sensitive. If there are keys on the current frame, it +// changes them. If there aren't keys on the current frame, +// it changes the closest previous keyframes, and if keys are +// selected, it changes those. +// +// Usage: +// assign this function to a key press: +// zooTangentWks; +// +// assign this function to the release; +// zooTangentWksKillUI; +// +// NOTE: if the hotkey you want to assign this script to contains +// either ctrl, alt or shift, then modify the "popupMenu" line below +// to reflect which key is used (ie if you're using alt-w then +// change it to -alt 1). +// +// HELP: for more help on how to install the script, run: +// source zooTangentWks; +// zooTangentWksHelp help; +// +// Hamish McKenzie ©2007... +// Macaroni Kazoo Productions ©2007... + + +zooGraphFilterUtils; +zooTangentWksUtils; +zooUtils; + + +global proc zooTangentWks () { + global int $zooIsClicked; + string $panel = `getPanel -up`; + + $zooIsClicked = 0; + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + if( !`control -ex $panel` ) $panel = "viewPanes"; + popupMenu -ctl 0 -alt 0 -sh 0 -mm 1 -b 1 -aob 1 -p $panel -pmc( "zooTangentWksCreateUI" ) tempMM; + } + + +global proc zooTangentWksCreateUI () { + global int $zooIsClicked; + string $currentTangents[] = `keyTangent -q -global -itt -ott`; + float $factor = `optionVar -ex zooSensibleFactor`? `optionVar -q zooSensibleFactor`: 0.5; + int $sel = size( `ls -sl` ); + + setParent -m tempMM; + menu -e -dai tempMM; + + $zooIsClicked = 1; + if( $sel ) { + menuItem -l "spline tangents" -c( "zooTangentType spline" ) -rp NE; + menuItem -l "tighten tangents" -c( "zooTangentManip tighten \"*\"" ) -rp E; + menuItem -l "make sensible tangents" -c( "zooMakeSensibleTangents \"*\"" ) -rp SE; + menuItem -ob 1 -c( "zooMakeSensibleTangents \"1\"" ); + + menuItem -l "linear tangents" -c( "zooTangentType linear" ) -rp NW; + menuItem -l "sharpen tangents" -c( "zooTangentManip sharpen \"*\"" ) -rp W; + menuItem -l "unsharpen tangents" -c( "zooTangentManip unsharpen \"*\"" ) -rp SW; + + menuItem -l "filter like channels" -c( "zooGraphChannelTypes `zooGetHighlightedChannels`" ) -rp N; + menuItem -l "toggle selected curve" -c( "zooToggleSelectedAll" ) -rp S; + } + else menuItem -l "no selected items"; + + menuItem -en $sel -l "stepped tangents" -c( "zooTangentType step;" ); + menuItem -en $sel -l "flat tangents" -c( "zooTangentType flat;" ); + menuItem -d 1; + menuItem -en $sel -l "select all static keys" -c( "zooSelectStaticKeys static 1;" ); + menuItem -en $sel -l "select outer static keys" -c( "zooSelectStaticKeys outer 1;" ); + menuItem -en $sel -l "select inner static keys" -c( "zooSelectStaticKeys inner 1;" ); + menuItem -en $sel -l "select non static keys" -c( "zooSelectStaticKeys static 1; selectKey -tgl -k `ls -sl`;" ); + menuItem -d 1; + menuItem -l "sensible factor" -sm 1; + menuItem -l "more sensible by 5%" -cb( $factor == 0.05 ) -c( "optionVar -fv zooSensibleFactor 0.05" ); + menuItem -l "more sensible by 10%" -cb( $factor == 0.1 ) -c( "optionVar -fv zooSensibleFactor 0.1" ); + menuItem -l "more sensible by 25%" -cb( $factor == 0.25 ) -c( "optionVar -fv zooSensibleFactor 0.25" ); + menuItem -l "more sensible by 35%" -cb( $factor == 0.35 ) -c( "optionVar -fv zooSensibleFactor 0.35" ); + menuItem -l "more sensible by 50%" -cb( $factor == 0.5 ) -c( "optionVar -fv zooSensibleFactor 0.5" ); + menuItem -l "more sensible by 75%" -cb( $factor == 0.75 ) -c( "optionVar -fv zooSensibleFactor 0.75" ); + setParent -m ..; + menuItem -l "default tangents" -sm 1; + menuItem -l "spline" -cb(( $currentTangents[0] == "spline" && $currentTangents[1] == "spline" )?1:0 ) -c( "keyTangent -global -itt spline -ott spline" ); + menuItem -l "linear" -cb(( $currentTangents[0] == "linear" && $currentTangents[1] == "linear" )?1:0 ) -c( "keyTangent -global -itt linear -ott linear" ); + menuItem -l "stepped" -cb(( $currentTangents[0] == "linear" && $currentTangents[1] == "step" )?1:0 ) -c( "keyTangent -global -itt linear -ott step" ); + menuItem -l "clamped" -cb(( $currentTangents[0] == "clamped" && $currentTangents[1] == "clamped" )?1:0 ) -c( "keyTangent -global -itt clamped -ott clamped" ); + menuItem -l "flat" -cb(( $currentTangents[0] == "flat" && $currentTangents[1] == "flat" )?1:0 ) -c( "keyTangent -global -itt flat -ott flat" ); + setParent -m ..; + + menuItem -d 1; + if( $sel ) menuItem -l "graph filters" -c( "zooGraphFilter" ); + menuItem -l "configure" -c( "zooTangentWksConfig" ); + } + + +global proc zooTangentWksConfig() { + string $windowName = "zooTangentWksConfigWindow"; + string $windowTitle = "Tangent Works"; + string $currentDefault = ( `optionVar -ex zooTangentWksDefaultOption` )?`optionVar -q zooTangentWksDefaultOption`:"flat"; + string $functionNames[] = { "spline", "linear", "flat", "step", "clamped", "tighten", "sharpen","sensible"}; + int $defaultOn = ( `optionVar -ex zooTangentWksCheckDefault` )?`optionVar -q zooTangentWksCheckDefault`:1; + int $selection = 1; + int $n = 1; + + if( `window -ex $windowName` ) deleteUI $windowName; + window -title $windowTitle -resizeToFitChildren 1 -maximizeButton 0 -sizeable 1 -width 177 $windowName; + + menuBarLayout; + menu -label "Help"; + menuItem -l "Help..." -c ( "zooTangentWksHelp help" ); + menuItem -divider 1; + menuItem -l "About" -c ( "zooTangentWksHelp about" ); + + columnLayout -adjustableColumn true -rowSpacing 2 zooTangentWksLeftColumn; + text -align "left" -label "Change default behaviour to:"; + rowLayout -numberOfColumns 2 + -columnWidth2 90 80 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + optionMenu -label "" -changeCommand ( "" ) zooTangentWksDefaultOption; + checkBox -align "left" -label "Default On" -v $defaultOn zooTangentWksCheckDefault; + setParent..; + + for( $function in $functionNames ) { + menuItem -label $function -p zooTangentWksDefaultOption; + if( $function == $currentDefault ) { $selection = $n; } + $n++; + } + + float $tightWeight = ( `optionVar -ex zooTangentWksTightenWeight` )?`optionVar -q zooTangentWksTightenWeight`:0.5; + float $sharpWeight = ( `optionVar -ex zooTangentWksSharpenWeight` )?`optionVar -q zooTangentWksSharpenWeight`:0.15; + + rowLayout -numberOfColumns 3 + -columnWidth3 35 35 100 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1 + -columnAttach 3 "both" 1; + text -label "weight"; + textField -ed 1 -text $tightWeight -cc ( "{ float $value = `textField -q -text zooTangentWksTextfieldTighten`; floatSlider -e -value $value zooTangentWksSliderTighten; }" ) zooTangentWksTextfieldTighten; + floatSlider -min 0.001 -max 1 -value $tightWeight -step 1 -cc ( "textField -e -text `floatSlider -q -v zooTangentWksSliderTighten` zooTangentWksTextfieldTighten" ) zooTangentWksSliderTighten; + setParent..; + + rowLayout -numberOfColumns 3 + -columnWidth3 35 35 100 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1 + -columnAttach 3 "both" 1; + text -label "weight"; + textField -ed 1 -text $sharpWeight -cc ( "{ float $value = `textField -q -text zooTangentWksTextfieldSharpen`; floatSlider -e -value $value zooTangentWksSliderSharpen; }" ) zooTangentWksTextfieldSharpen; + floatSlider -min 0.001 -max 1 -value $sharpWeight -step 1 -cc ( "textField -e -text `floatSlider -q -v zooTangentWksSliderSharpen` zooTangentWksTextfieldSharpen" ) zooTangentWksSliderSharpen; + setParent..; + + rowLayout -numberOfColumns 2 + -columnWidth2 85 85 + -columnAttach 1 "both" 1 + -columnAttach 2 "both" 1; + button -label "Save Config" -c ( "zooTangentWksConfigDoIt defaultChange" ); + button -label "Cancel" -c ( "zooTangentWksConfigDoIt cancel" ); + setParent..; + + string $image = `image -width 177 -height 8 -backgroundColor ((float)96/255) ((float)100/255) ((float)146/255) -image(zooGetFileLocation(zooListEnv("XBMLANGPATH"),"zoo_sig","tga") +"zoo_sig.tga" )`; + popupMenu -p $image -b 1 -pmc ( "showHelp -a \"http://www.macaronikazoo.com/\"" ); + setParent..; + + showWindow $windowName; + optionMenu -edit -select $selection zooTangentWksDefaultOption; + } + + +global proc zooTangentWksConfigDoIt ( string $function ) { + string $windowName = "zooTangentWksConfigWindow"; + + switch ( $function ) { + case "defaultChange": + optionVar -sv zooTangentWksCheckDefault ( `checkBox -q -v zooTangentWksCheckDefault` ); + optionVar -sv zooTangentWksDefaultOption ( `optionMenu -q -value zooTangentWksDefaultOption` ); + optionVar -fv zooTangentWksTightenWeight ( `floatSlider -q -v zooTangentWksSliderTighten` ); + optionVar -fv zooTangentWksSharpenWeight ( `floatSlider -q -v zooTangentWksSliderSharpen` ); + deleteUI $windowName; + break; + + case "cancel": + deleteUI $windowName; + break; + } + } + + +global proc zooTangentWksKillUI () { + global int $zooIsClicked; + int $defaultOn = ( `optionVar -ex zooTangentWksCheckDefault` )?`optionVar -q zooTangentWksCheckDefault`:1; + + if( !$zooIsClicked && $defaultOn ) { + string $currentDefault = ( `optionVar -ex zooTangentWksDefaultOption` )?`optionVar -q zooTangentWksDefaultOption`:"flat"; + if( $currentDefault == "tighten" ) zooTangentManip tighten "*"; + else if( $currentDefault == "sharpen" ) zooTangentManip sharpen "*"; + else if( $currentDefault == "sensible" ) zooMakeSensibleTangents "*"; + else zooTangentType $currentDefault; + } + + if( `popupMenu -ex tempMM` ) deleteUI tempMM; + $zooIsClicked = 0; + } + + +global proc string zooTangentWksInfo ( string $function ) { + string $creationDate = "14 October 2001"; + string $currentVersion = "3.06.08"; + + if( $function == "created" ) return $creationDate; + if( $function == "version" ) return $currentVersion; + return ""; + } + + +global proc string[] zooTangentWksDependencies( string $mode ) { + string $melDependencies[] = {}; + string $iconDependencies[] = {}; + string $return[] = {}; + + $melDependencies[( `size $melDependencies` )] = "zooArrays_float"; + $melDependencies[( `size $melDependencies` )] = "zooGraphFilter"; + $melDependencies[( `size $melDependencies` )] = "zooGraphFilterUtils"; + $melDependencies[( `size $melDependencies` )] = "zooTangentWksUtils"; + $melDependencies[( `size $melDependencies` )] = "zooSetkey"; + $melDependencies[( `size $melDependencies` )] = "zooKeymaster"; + $melDependencies[( `size $melDependencies` )] = "zooKeymasterMenu"; + $melDependencies[( `size $melDependencies` )] = "zooKeymasterWin"; + $melDependencies[( `size $melDependencies` )] = "zooUtils"; + $iconDependencies[( `size $iconDependencies` )] = "zooTangentWks_flattenStatic.xpm"; + + if( $mode == "-scripts" ) $return = $melDependencies; + if( $mode == "-icons" ) $return = $iconDependencies; + return $return; + } + + +//zoo.end \ No newline at end of file diff --git a/2009-x64/zooScripts/scripts/zooTangentWksUtils.mel b/2009-x64/zooScripts/scripts/zooTangentWksUtils.mel new file mode 100644 index 0000000..77a8562 --- /dev/null +++ b/2009-x64/zooScripts/scripts/zooTangentWksUtils.mel @@ -0,0 +1,523 @@ +zooUtils; +zooArrays_float; +zooGraphFilterUtils; +zooVectors; + + +global proc zooTangentWksUtils() { + return; + } + + +//breakdown command - increments keys toward next/previous key +global proc zooCopycat( string $dir, string $incrementStr ) { + float $increment; + if( $incrementStr == "*" ) $increment = `optionVar -ex zooCopycatFactor`? `optionVar -q zooCopycatFactor`: 0.1; + else $increment = $incrementStr; + + string $which = "next"; + string $curves[] = {}; + float $keyTimes[] = {}; + float $keyValues[] = {}; + int $keyIdxs[] = {}; + float $t = `timerX`; + int $num = `zooGetKeySet $curves $keyTimes $keyValues $keyIdxs`; + + if( $dir == "left" ) $which = "previous"; + for( $n=0; $n<$num; $n++ ) { + int $tgtIdx = $keyIdxs[$n]+1; + int $numKeys = `keyframe -q -kc $curves[$n]`; + + if( $dir == "left" ) $tgtIdx = $keyIdxs[$n]-1; + if( $tgtIdx<0 ) $tgtIdx = $numKeys-1; //if the target keyindex is negative, then wrap around + else if( $tgtIdx>=$numKeys ) $tgtIdx = 0; + + float $tgtVal = zooGetElement_float(0,`keyframe -in $tgtIdx -q -vc $curves[$n]`); + float $curVal = $keyValues[$n]; + + $curVal += ($tgtVal-$curVal)*$increment; + keyframe -in $keyIdxs[$n] -e -vc $curVal $curves[$n]; + } + print( "zooCopycat \""+ $dir +"\" \""+ $increment +"\";\n" ); + print( "time taken: "+ `timerX -st $t` +"\n" ); + } + + +//pushes the current value on to the next/previous keyframe +global proc zooSetkeyPush( string $dir ) { + string $curves[] = `keyframe -q -name -sl`; + string $which = $dir == "bak"? "previous": "next"; + float $nextKey = `findKeyframe -which $which`; + float $time = `currentTime -q`; + int $sel = size(`keyframe -q -sl`); + + if( $sel ) for( $curve in $curves ) { + float $value = zooGetElement_float(0,`keyframe -t $time -q -ev $curve`); + setKeyframe -t $nextKey $curve; + setKeyframe -t $nextKey -v $value $curve; + } + else { + setKeyframe -t $nextKey; + currentTime $time; //this is simply to update maya + } + } + + +//if the weight is set to "*" then the weight will use the user specified weight - or the default weight +//if no user specified weight has been set +global proc zooTangentManip( string $function, string $weight ) { + float $tightWeight = ( `optionVar -ex zooTangentWksTightenWeight` )?`optionVar -q zooTangentWksTightenWeight`:0.5; + float $sharpWeight = ( `optionVar -ex zooTangentWksSharpenWeight` )?`optionVar -q zooTangentWksSharpenWeight`:0.15; + + if( $weight != "*" ) { + $tightWeight = $weight; + $sharpWeight = $weight; + } + + string $curves[] = {}; + int $keyIdxs[] = {}; + int $num = `zooGetKeySet $curves {} {} $keyIdxs`; + + for( $n=0; $n<$num; $n++ ) { + keyTangent -e -wt 1 $curves[$n]; //this makes sure the anim curves have weighted tangents enabled + + float $tangentIX[2] = `keyTangent -in $keyIdxs[$n] -q -ix $curves[$n]`; + float $tangentOX[2] = `keyTangent -in $keyIdxs[$n] -q -ox $curves[$n]`; + float $tangentIY[2] = `keyTangent -in $keyIdxs[$n] -q -iy $curves[$n]`; + float $tangentOY[2] = `keyTangent -in $keyIdxs[$n] -q -oy $curves[$n]`; + + if( $function == "tighten" ) keyTangent -e -a -in $keyIdxs[$n] -ix $tangentIX[0] -iy( $tangentIY[0]-($tangentIY[0]*$tightWeight)) -ox $tangentOX[0] -oy( $tangentOY[0]-($tangentOY[0]*$tightWeight)) $curves[$n]; + else if( $function == "untighten" ) keyTangent -e -a -in $keyIdxs[$n] -ix $tangentIX[0] -iy( $tangentIY[0]+($tangentIY[0]*$tightWeight)) -ox $tangentOX[0] -oy( $tangentOY[0]+($tangentOY[0]*$tightWeight)) $curves[$n]; + else if( $function == "sharpen" ) keyTangent -e -a -in $keyIdxs[$n] -ix( $tangentIX[0]-($tangentIX[0]*$sharpWeight)) -iy( $tangentIY[0]-($tangentIY[0]*$sharpWeight)) -ox( $tangentOX[0]-($tangentOX[0]*$sharpWeight)) -oy( $tangentOY[0]-($tangentOY[0]*$sharpWeight)) $curves[$n]; + else if( $function == "unsharpen" ) keyTangent -e -a -in $keyIdxs[$n] -ix( $tangentIX[0]+($tangentIX[0]*$sharpWeight)) -iy( $tangentIY[0]+($tangentIY[0]*$sharpWeight)) -ox( $tangentOX[0]+($tangentOX[0]*$sharpWeight)) -oy( $tangentOY[0]+($tangentOY[0]*$sharpWeight)) $curves[$n]; + } + print( "zooTangentManip \""+ $function +"\" \""+ $weight +"\";\n" ); + } + + +global proc zooTangentType( string $tangentType ) { + string $curves[] = {}; + int $keyIdxs[] = {}; + int $num = `zooGetKeySet $curves {} {} $keyIdxs`; + + for( $n=0; $n<$num; $n++ ) keyTangent -in $keyIdxs[$n] -itt $tangentType -ott $tangentType $curves[$n]; + print( "zooTangentType \""+ $tangentType +"\";\n" ); + } + + +//perform a flatten tangent on static keys - if keys are selected, it will only flatten selected static keys, otherwise it works on all keys of selected objects +global proc zooFlatenStaticKeys() { + string $objs[] = `ls -l -sl`; + int $areAnyKeysSelected = size(`keyframe -q -sl`); + + for( $obj in $objs ) { + string $channels[] = `listAttr -k -u $obj`; + for( $channel in $channels ) { + float $flatKeys[] = `zooGetStaticKeys $obj $channel "" "" "" {} {} {}`; + float $selectedKeyTimes[] = `keyframe -q -sl ( $obj +"."+ $channel )`; + float $keysToFlatten[] = $flatKeys; + + if( $areAnyKeysSelected ) { + clear $keysToFlatten; + for( $key in $flatKeys ) for( $selKey in $selectedKeyTimes ) if( $key == $selKey ) $keysToFlatten[( `size $keysToFlatten` )] = $key; + } + + for( $key in $keysToFlatten ) keyTangent -t $key -itt flat -ott flat ( $obj +"."+ $channel ); + } + } + } + + +global proc zooSelectStaticKeys( string $type, int $useEditor ) { + string $attrs[] = {}; + + if( `zooAreChannelsHighlighted` ) $attrs = `selectionConnection -q -obj graphEditor1FromOutliner`; + else { + string $objs[] = `ls -sl`; + for( $o in $objs ) { + string $oAttrs[] = `listAttr -keyable -visible -scalar -multi $o`; + for( $a in $oAttrs ) $attrs[`size $attrs`] = $o +"."+ $a; + } + } + selectKey -cl; + for( $attr in $attrs ) { + string $obj = `match "^[^.]+" $attr`; + int $idxs[] = {}; + + $attr = `match "[^.]+$" $attr`; + if( $type == "inner" ) zooGetInnerStaticKeys $obj $attr "!" "!" "" {} {} $idxs; + else if( $type == "outer" ) zooGetOuterStaticKeys $obj $attr "!" "!" "" {} {} $idxs; + else zooGetStaticKeys $obj $attr "!" "!" "" {} {} $idxs; + + string $selCmd = "selectKey -add -k -in "; + $selCmd = $selCmd + `zooArrayToStr_int $idxs " -in "`; + $selCmd += " "+ ( $obj +"."+ $attr ); + if( `size $idxs` ) eval $selCmd; + } + } + + +global proc float[] zooGetInnerStaticKeys( string $obj, string $attr, string $start, string $end, string $tolStr, float $innerTimes[], float $innerValues[], int $innerIdxs[] ) { + clear $innerTimes; + clear $innerValues; + clear $innerIdxs; + + string $attrPath = $obj +"."+ $attr; + float $keys[] = {}; + float $values[] = {}; + float $tol = 0.000001; + int $idxs[] = {}; + + if( $tolStr != "" ) $tol = $tolStr; + zooGetStaticKeys $obj $attr $start $end $tolStr $keys $values $idxs; + int $num = `size $keys`; + int $i = 0; + + for( $n=1; $n<$num-1; $n++ ) { + float $nextVal = zooGetElement_float(0,`keyframe -in( $idxs[$n]+1 ) -q -vc $attrPath`); + float $prevVal = zooGetElement_float(0,`keyframe -in( $idxs[$n]-1 ) -q -vc $attrPath`); + if( `zooEqTol $values[$n] $prevVal $tol` && `zooEqTol $values[$n] $nextVal $tol` ) { + $innerTimes[$i] = $keys[$n]; + $innerValues[$i] = $values[$n]; + $innerIdxs[$i] = $idxs[$n]; + $i++; + } + } + + return $innerTimes; + } + + +//------ +//static keys (see below) come in two basic flavours - inner and outer static keys. outer +//static keys are those at the "edge" of a group of static keys. so if you have 5 keys, the +//middle three of the same value, the outer static keys are the second key and the fourth +//key. the inner static key is the third key, and the first and last keys are irrelevant +//------ +global proc float[] zooGetOuterStaticKeys( string $obj, string $attr, string $start, string $end, string $tolStr, float $outerTimes[], float $outerValues[], int $outerIdxs[] ) { + clear $outerTimes; + clear $outerValues; + clear $outerIdxs; + + string $attrPath = $obj +"."+ $attr; + float $keys[] = {}; + float $values[] = {}; + float $tol = 0.000001; + int $idxs[] = {}; + + if( $tolStr != "" ) $tol = $tolStr; + zooGetStaticKeys $obj $attr $start $end $tolStr $keys $values $idxs; + int $num = `size $keys`-1; + int $i = 0; + + //the first and last static keys are ALWAYS outer static keys + if( $num<=0 ) return $outerTimes; + $outerTimes[0] = $keys[0]; + $outerValues[0] = $values[0]; + $outerIdxs[0] = $idxs[0]; + $i++; + + //now go through all the static keys and see if either of the adjacent keyframes + //has a different value - if it does, its an outer static key + for( $n=1; $n<$num; $n++ ) { + float $nextVal = zooGetElement_float(0,`keyframe -in( $idxs[$n]+1 ) -q -vc $attrPath`); + float $prevVal = zooGetElement_float(0,`keyframe -in( $idxs[$n]-1 ) -q -vc $attrPath`); + if( !`zooEqTol $values[$n] $prevVal $tol` || !`zooEqTol $values[$n] $nextVal $tol` ) { + $outerTimes[$i] = $keys[$n]; + $outerValues[$i] = $values[$n]; + $outerIdxs[$i] = $idxs[$n]; + $i++; + } + } + + //remember, the last static key is ALWAYS counted as an outer static key + $outerTimes[$i] = $keys[$num]; + $outerValues[$i] = $values[$num]; + $outerIdxs[$i] = $idxs[$num]; + + return $outerTimes; + } + + +//------ +//this rather ugly looking proc is terribly useful for finding static keys - that is keys who have +//at least one adjacent key with the same value (within a very small tolerance). static keys indicate +//a hold of some description. this proc populates the last three array args with key useful details, +//and takes four args +//------ +global proc float[] zooGetStaticKeys( string $obj, string $attr, string $start, string $end, string $tolStr, float $flatKeys[], float $keyValues[], int $keyIdxs[] ) { + clear $flatKeys; + clear $keyValues; + clear $keyIdxs; + + if( $start == "!" ) $start = `playbackOptions -q -min`; + if( $end == "!" ) $end = `playbackOptions -q -max`; + + string $attrPath = $obj +"."+ $attr; + string $timeStr = $start +":"+ $end; + float $allKeys[] = `keyframe -t $timeStr -q $attrPath`; + float $allValues[] = `keyframe -t $timeStr -q -vc $attrPath`; + int $allIdxs[] = `keyframe -t $timeStr -q -iv $attrPath`; + float $tol = 0.000001; + int $num = `size $allKeys`; + int $i = 0; + + if( $tolStr != "" ) $tol = $tolStr; + if( `zooEqTol $allValues[0] $allValues[1] $tol` ) { + $flatKeys[$i] = $allKeys[0]; + $keyValues[$i] = $allValues[0]; + $keyIdxs[$i] = $allIdxs[0]; + $i++; + } + for( $n=1; $n<$num-1; $n++ ) { + if( `zooEqTol $allValues[$n] $allValues[$n-1] $tol` || `zooEqTol $allValues[$n] $allValues[$n+1] $tol` ) { + $flatKeys[$i] = $allKeys[$n]; + $keyValues[$i] = $allValues[$n]; + $keyIdxs[$i] = $allIdxs[$n]; + $i++; + } + } + if( `zooEqTol $allValues[$num-2] $allValues[$num-1] $tol` ) { + $flatKeys[$i] = $allKeys[$num-1]; + $keyValues[$i] = $allValues[$num-1]; + $keyIdxs[$i] = $allIdxs[$num-1]; + } + + return $flatKeys; + } + + +//------ +//this proc is designed to make key tangents more appropriate for character animation. it weights +//tangents to somewhere between the surrounding two keys, but weights them more heavily toward +//distant keys in order to minimise overshoot, while still maintaining some "life". it takes a +//"weight" string as an argument - this weight string can be either a unit float, or an * character +//the * character tells the proc to get the weight value from the user prefs (defaults to 0.5 if +//the relevant pref hasn't been set). the weight determines how much to blend toward the "sensible" +//tangent, and how much of the current tangent to retain. so a 1 weight value sets the tangent +//to use 100% of the computer "sensible" tangent +//------ +global proc zooMakeSensibleTangents( string $weightStr ) { + float $weight; + if( $weightStr == "*" ) $weight = `optionVar -ex zooSensibleFactor`? `optionVar -q zooSensibleFactor`: 0.5; + else $weight = $weightStr; + + string $curves[] = {}; + float $keyValues[] = {}; + float $keyTimes[] = {}; + int $keyIdxs[] = {}; + int $num = `zooGetKeySet $curves $keyTimes $keyValues $keyIdxs`; + + for( $n=0; $n<$num; $n++ ) { + float $curX = $keyTimes[$n]; + float $curY = $keyValues[$n]; + float $nextX = $curX+1; + float $nextY = $curY; + float $prevX = $curX-1; + float $prevY = $curY; + float $temp[] = {}; + + //see if there is a next/previous keyframe + $temp = `keyframe -in( $keyIdxs[$n]+1 ) -q $curves[$n]`; + if( `size $temp` ) { //if this is non-zero, then there is a next key + $nextX = $temp[0]; + $temp = `keyframe -in( $keyIdxs[$n]+1 ) -q -vc $curves[$n]`; + $nextY = $temp[0]; + } + else { $nextX = $prevX; $nextY = $prevY; } + if( $keyIdxs[$n]-1 >= 0 ) { + $temp = `keyframe -in( $keyIdxs[$n]-1 ) -q $curves[$n]`; + if( `size $temp` ) { //if this is non-zero, then there is a previous key + $prevX = $temp[0]; + $temp = `keyframe -in( $keyIdxs[$n]-1 ) -q -vc $curves[$n]`; + $prevY = $temp[0]; + } + } + else { $prevX = $nextX; $prevY = $nextY; } + + //if not, figure out which one to aim at - previous or next + float $timeToPrev = abs($curX-$prevX); + float $timeToNext = abs($curX-$nextX); + float $valToPrev = abs($curY-$prevY); + float $valToNext = abs($curY-$nextY); + + //get the val to prev as a percentage of the value distance between adjacent keys + if( $valToPrev < 0.001 ) $valToPrev = 0.001; + if( $valToNext < 0.001 ) $valToNext = 0.001; + float $totalVal = $valToPrev + $valToNext; + $valToPrev = $valToPrev/$totalVal; + $valToNext = $valToNext/$totalVal; + + //divide the value by the temporal distance to that value - this gives us a weighted value + //the key with the higher weight gets more heavily aimed toward + if( $valToPrev<$valToNext ) $timeToPrev /= $valToPrev; + else $timeToNext /= $valToNext; + + float $prevTimeFac = $timeToPrev/($timeToPrev+$timeToNext); + float $nextTimeFac = $timeToNext/($timeToPrev+$timeToNext); + float $prevA = atand(($prevY-$curY)/($prevX-$curX))*$prevTimeFac; + float $nextA = atand(($nextY-$curY)/($nextX-$curX))*$nextTimeFac; + + //a note about the tangent weight calculation - tangent weights are a bit funny in maya - if there is + //a large numerical difference between two keys (like say 100) then tangent weights get very sensitive + //and as such tend to blow out a bit - so weights other than 1 will blow out tangents and the user will + //have to iterate toward a more sensible value - not sure how to solve this. for now it mainly affects + //rotation channels, as they often have large numerical differences between keys. anyway, currently + //the tangent calculation weights between the temporal difference between neighbour keys, and the + //vector distance between keys + float $newA = $prevA + $nextA; + float $newInW = (`zooVectorMag {($prevX-$curX),($prevY-$curY),0}`*1.0 + 15.0*abs($prevX-$curX))/16.0/3.0; + float $newOutW = (`zooVectorMag {($nextX-$curX),($nextY-$curY),0}`*1.0 + 15.0*abs($nextX-$curX))/16.0/3.0; + float $curAngle = zooGetElement_float(0,`keyTangent -in $keyIdxs[$n] -q -oa $curves[$n]`); + float $curInW = zooGetElement_float(0,`keyTangent -in $keyIdxs[$n] -q -iw $curves[$n]`); + float $curOutW = zooGetElement_float(0,`keyTangent -in $keyIdxs[$n] -q -ow $curves[$n]`); + float $weightedA = ($newA*$weight)+($curAngle*(1-$weight)); + + //adjust the weight for tangent lengths + float $strongerW = 1-((1-$weight)/3); + float $weightedIW = ($newInW*$strongerW)+($curInW*(1-$strongerW)); + float $weightedOW = ($newOutW*$strongerW)+($curOutW*(1-$strongerW)); + + keyTangent -e -in $keyIdxs[$n] -itt flat -ott flat $curves[$n]; + keyTangent -e -a -in $keyIdxs[$n] -iw $weightedIW -ow $weightedOW -ia $weightedA -oa $weightedA $curves[$n]; + } + } + + +//for testing the key finding proc +proc testGK() { + string $curves[] = {}; + float $keyTimes[] = {}; + float $keyValues[] = {}; + int $keyIdxs[] = {}; + int $num = `zooGetKeySet $curves $keyTimes $keyValues $keyIdxs`; + + print $num; print "\n"; + for( $n=0; $n<$num; $n++ ) print( $curves[$n] +" "+ $keyTimes[$n] +" "+ $keyValues[$n] +" "+ $keyIdxs[$n] +"\n" ); + } + + +//------ +//returns a string array containing all the keys to work on +//the keys are in the following format: +//$times[] = {"curveName,timeFloat,value,index"} +//if keys are selected - then selected key data is returned +//then it checks to see if a range is selected - if so, key data in that range is returned +//then checks to see if any keys are on the current time - if so key data for them is returned +//finally if none of the above conditions are satisfied, it looks to see what the closest key is, previous or next, and data for such keys are returned +//------ +global proc int zooGetKeySet( string $animCurves[], float $keyTimes[], float $keyValues[], int $keyIdxs[] ) { + float $range[] = `zooGetSelectedRange`; + float $current = `currentTime -q`; + int $keysSelected = `keyframe -q -sl -kc`; + int $i = 0; + + clear $animCurves; + clear $keyTimes; + clear $keyValues; + clear $keyIdxs; + if( !`isAKeyEditorVisible` ) { + $keysSelected = 0; + selectKey -cl; + } + + //if no keys are selected, then we can get the time of the next/previous key + //and find the names of all the keys on that time + if( $keysSelected ) { + string $curves[] = `keyframe -q -name -sl`; + for( $curve in $curves ) { + int $keys[] = `keyframe -q -iv -sl $curve`; + int $numKeys = `size $keys`; + + for( $n=0; $n<$numKeys; $n++ ) { + float $value = zooGetElement_float(0,`keyframe -in $keys[$n] -q -vc $curve`); + float $time = zooGetElement_float(0,`keyframe -in $keys[$n] -q $curve`); + + $animCurves[$i] = $curve; + $keyTimes[$i] = $time; + $keyValues[$i] = $value; + $keyIdxs[$i] = $keys[$n]; + $i++; + } + } + } + //ok so is there a timeline range selected? + else if( $range[2] ) { + string $curves[] = `keyframe -q -name`; + for( $curve in $curves ) { + int $keys[] = `keyframe -t( $range[0] +":"+ $range[1] ) -q -iv $curve`; + int $numKeys = `size $keys`; + + for( $n=0; $n<$numKeys; $n++ ) { + float $time = zooGetElement_float(0,`keyframe -in $keys[$n] -q $curve`); + float $value = zooGetElement_float(0,`keyframe -in $keys[$n] -q -vc $curve`); + + $animCurves[$i] = $curve; + $keyTimes[$i] = $time; + $keyValues[$i] = $value; + $keyIdxs[$i] = $keys[$n]; + $i++; + } + } + } + //ok so are there keys on the current frame? + else if( `keyframe -t $current -q -kc` ) { + string $curves[] = `keyframe -q -name`; + for( $curve in $curves ) { + if( !`keyframe -t $current -q -kc $curve` ) continue; //if the curve has no keys on this frame, continue looping + float $value = zooGetElement_float(0,`keyframe -t $current -q -vc $curve`); + int $idx = zooGetElement_int(0,`keyframe -t $current -q -iv $curve`); + + $animCurves[$i] = $curve; + $keyTimes[$i] = $current; + $keyValues[$i] = $value; + $keyIdxs[$i] = $idx; + $i++; + } + } + //if nothing else gets a hit, then we need to find the closest keyframe + else { + string $curves[] = `keyframe -q -name`; + float $next = `findKeyframe -w next`; + float $prev = `findKeyframe -w previous`; + float $close = (abs($current-$next)